A data transmission control method, device, equipment and readable storage medium
By obtaining the remaining network bandwidth and allocating the re-entry bandwidth, the upload failure caused by the monitoring system after the network recovery is solved, ensuring the smooth completion of data transmission and the stable operation of real-time services.
Patent Information
- Application Number
- CN202010940486.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-09
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2040-09-09
AI Technical Summary
After the network abnormal recovery, the monitoring system fails to upload data due to the concurrent upload of a large amount of real-time data and historical data, affecting the operation of real-time services.
By receiving the re-entry request from the data acquisition device, we obtain the remaining bandwidth of the network, determine the re-entry bandwidth, and allocate it to the data acquisition device to control data transmission and ensure that the re-entry is completed without affecting the normal operation of the monitoring system.
It effectively solves the problem of data transmission failure, ensures that the data acquisition equipment can successfully complete the re-entry after the network is restored, and avoids the impact on real-time services.
Smart Images

Figure CN114245067B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of monitoring technology, and in particular to a data transmission control method, device, equipment and a readable storage medium. Background Art
[0002] Image monitoring is gradually tending towards massive access. In the context of a large number of front-end devices (such as image acquisition devices, monitoring and viewing terminals), complex networks and systems, image data transmission fails when the network is abnormal. Before the network returns to normal, the real-time collected image data is cached in the local storage medium of the front-end device. When the network returns to normal, the historical data cached in the front-end device needs to be re-transmitted, which is called re-recording.
[0003] However, after the network is restored, the real-time collected image data also needs to be transmitted. At this time, the monitoring system may fail to upload data due to the concurrent upload of a large amount of real-time data and historical data, affecting the real-time business operation.
[0004] In summary, how to effectively solve the problems of data transmission and the like is a technical problem that technical personnel in this field urgently need to solve. Summary of the invention
[0005] The purpose of the present invention is to provide a data transmission control method, device, equipment and readable storage medium. When supplementary recording is required, the supplementary recording bandwidth is first determined based on the remaining bandwidth of the network, and then the supplementary recording bandwidth is allocated to the data acquisition device, thereby controlling each data acquisition device to complete the supplementary recording without affecting the normal operation of the monitoring system.
[0006] In order to solve the above technical problems, the present invention provides the following technical solutions:
[0007] A data transmission control method, comprising:
[0008] Receiving a supplementary recording request sent by each data acquisition device; storing the historical data to be uploaded in the local cache of each data acquisition device;
[0009] When the data receiving server receives the real-time data uploaded by each of the data acquisition devices, obtaining the remaining network bandwidth;
[0010] Determine the supplementary recording bandwidth by using the remaining bandwidth of the network;
[0011] The supplementary recording bandwidth is allocated to the data acquisition device.
[0012] Preferably, obtaining the remaining network bandwidth includes:
[0013] Obtaining the supportable bandwidth and the actually used bandwidth of the switches corresponding to the data receiving server and each of the data acquisition devices;
[0014] Determine the remaining outbound bandwidth of the switch by using the supported outbound bandwidth and the actually used outbound bandwidth of the switch corresponding to the data receiving server;
[0015] Determine the remaining inbound bandwidth of the switch by using the supported inbound bandwidth and the actually used inbound bandwidth of the switch corresponding to each of the data acquisition devices;
[0016] A smaller value between the remaining input bandwidth of the switch and the remaining output bandwidth of the switch is selected as the remaining network bandwidth.
[0017] Preferably, determining the remaining outbound bandwidth of the switch by using the supported outbound bandwidth and the actually used outbound bandwidth of the switch corresponding to the data receiving server includes:
[0018] Acquiring supportable performance of the data receiving server;
[0019] Determining whether the supportable performance is greater than a performance threshold;
[0020] If not, calculating the difference between the supported outbound bandwidth and the actually used outbound bandwidth, and using the difference as the remaining outbound bandwidth of the switch;
[0021] If yes, the remaining output bandwidth of the switch is determined by combining the supportable output bandwidth, the actually used output bandwidth and the actually used performance.
[0022] Preferably, after acquiring the remaining network bandwidth and before using the remaining network bandwidth to determine the network supplementary recording bandwidth, the method further includes:
[0023] Based on the remaining network bandwidth and the supplementary recording request, estimate the total duration of supplementary recording of the historical data uploaded by each data collection device;
[0024] Determine whether the total duration of the supplementary recording is greater than a duration threshold;
[0025] If yes, the designated data acquisition device is ordered to stop uploading the real-time data to the data receiving server, and returns to execute the step of obtaining the remaining network bandwidth.
[0026] Preferably, using the remaining network bandwidth to determine the supplementary recording bandwidth includes:
[0027] A specified proportion of the remaining network bandwidth is used as the supplementary recording bandwidth.
[0028] Preferably, allocating the supplementary recording bandwidth to the data acquisition device comprises:
[0029] According to the priority of the data collection device, each of the data collection devices is divided into a plurality of supplementary recording batches;
[0030] The supplementary recording bandwidth is allocated to the data acquisition device according to the supplementary recording batch.
[0031] Preferably, allocating the supplementary recording bandwidth to the data acquisition device according to the supplementary recording batch includes:
[0032] According to the sequence of the supplementary recording batches, the supplementary recording bandwidth is sequentially allocated to the corresponding data collection devices, and each data collection device is informed of the specific time of uploading the historical data.
[0033] A data transmission control device, comprising:
[0034] A supplementary recording request receiving module is used to receive supplementary recording requests sent by each data acquisition device; each data acquisition device stores historical data to be uploaded in its local cache;
[0035] A network remaining bandwidth calculation module, used to obtain the network remaining bandwidth when the data receiving server receives the real-time data uploaded by each of the data acquisition devices;
[0036] A supplementary recording bandwidth determination module, used to determine the supplementary recording bandwidth by using the remaining bandwidth of the network;
[0037] The supplementary recording bandwidth allocation module is used to allocate the supplementary recording bandwidth to the data acquisition device.
[0038] A data transmission control device, comprising:
[0039] Memory for storing computer programs;
[0040] A processor is used to implement the steps of the above-mentioned data transmission control method when executing the computer program.
[0041] A readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the above-mentioned data transmission control method are implemented.
[0042] The method provided by the embodiment of the present invention is applied to receive the supplementary recording request sent by each data acquisition device; the local cache of each data acquisition device stores the historical data to be uploaded; when the data receiving server receives the real-time data uploaded by each data acquisition device, the remaining network bandwidth is obtained; the supplementary recording bandwidth is determined by using the remaining network bandwidth; and the supplementary recording bandwidth is allocated to the data acquisition device.
[0043] In this method, when a supplementary recording request is received from each data acquisition device, it can be determined that the data acquisition device has a supplementary recording demand. At this time, the remaining network bandwidth can be obtained, and then the network supplementary recording bandwidth can be determined based on the remaining network bandwidth. The supplementary recording bandwidth is allocated to the data acquisition device that needs to perform supplementary recording. In this way, the data acquisition device can complete the supplementary recording based on the allocated supplementary recording bandwidth without affecting the upload of real-time data and ensuring the upload success rate.
[0044] Correspondingly, the embodiments of the present invention also provide a data transmission control device, an apparatus and a readable storage medium corresponding to the above-mentioned data transmission control method, which have the above-mentioned technical effects and will not be described in detail here. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0046] Figure 1 is an implementation flow chart of a data transmission control method in an embodiment of the present invention;
[0047] Figure 2 This is a schematic diagram of the structure of a data transmission control device in an embodiment of the present invention;
[0048] Figure 3 This is a structural schematic diagram of a data transmission control device in an embodiment of the present invention;
[0049] Figure 4 The figure is a schematic diagram of a specific structure of a data transmission control device in an embodiment of the present invention. DETAILED DESCRIPTION
[0050] In order to enable those skilled in the art to better understand the scheme of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific implementation methods. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.
[0051] For ease of understanding, the following explains the relevant terms involved in the embodiments of the present invention:
[0052] Data access: Data collection devices such as front-end vehicle checkpoints or face checkpoints collect data such as pictures, videos, recordings, etc., and upload them to the application system through the network.
[0053] Intelligent operation and maintenance server: mainly used for operation and maintenance management, it can maintain the network topology, network information, system resource information, etc. of all front-end IPCs (IPCamera, network cameras) and various management devices managed in the environment.
[0054] Data receiving server: used to assume the responsibility of data aggregation and access of the front-end IPC.
[0055] Central management server: VM for short, is the central management node of the platform. Front-end IPC and various management devices are registered with VM.
[0056] Please refer to Figure 1 , Figure 1 The flowchart of a data transmission control method in an embodiment of the present invention is as follows. The method can be applied to a central management server of a monitoring system. The method comprises the following steps:
[0057] S101, receiving a supplementary recording request sent by each data acquisition device.
[0058] The local cache of each data acquisition device stores historical data such as images, videos and audio recordings to be uploaded.
[0059] The data acquisition device is the front-end device of the monitoring system that can collect relevant data. Specifically, if the data is image data, the data acquisition device can be a camera, a video camera, an IPC, etc.; if the data is video, the data acquisition device can be a video camera or other device that can collect video; if the data is audio recording, the data acquisition device can be a audio recorder or other device that can record audio.
[0060] After the network anomaly is restored, if the local cache of the data acquisition device stores historical data to be uploaded, a request for a supplementary recording report, i.e., a supplementary recording request, can be sent to the central management server.
[0061] That is to say, the local cache of the data acquisition device that sends the supplementary recording request contains historical data that needs to be uploaded. The historical data may specifically be data collected in real time by the data acquisition device during the network abnormality period.
[0062] S102. When the data receiving server receives the real-time data uploaded by each data acquisition device, the remaining network bandwidth is obtained.
[0063] The real-time data of the data acquisition device or the historical data that needs to be supplemented must be transmitted to the data receiving server. Based on this, in order to avoid the supplementary recording affecting the normal reception of real-time data by the data receiving server, it is necessary to clarify that the data receiving server obtains the remaining network bandwidth when receiving real-time data.
[0064] Specifically, the process of obtaining the remaining network bandwidth includes:
[0065] Step 1: Obtain the supported bandwidth and the actually used bandwidth of the switches corresponding to the data receiving server and each data acquisition device;
[0066] Step 2: Determine the remaining outbound bandwidth of the switch by using the supported outbound bandwidth and the actually used outbound bandwidth of the switch corresponding to the data receiving server;
[0067] Step 3: Determine the remaining inbound bandwidth of the switch by using the supported inbound bandwidth and the actually used inbound bandwidth of the switch corresponding to each data acquisition device;
[0068] Step 4: Select the smaller value between the remaining input bandwidth of the switch and the remaining output bandwidth of the switch as the remaining network bandwidth.
[0069] For ease of description, the above four steps are combined for explanation below.
[0070] Among them, the supportable output bandwidth of the switch corresponding to the data receiving server is the maximum bandwidth used by the switch to send data to the data receiving server, and the actual used output bandwidth of the switch corresponding to the data receiving server is the bandwidth size used by the switch to send real-time data to the data receiving server in the current situation.
[0071] The method of obtaining the supported output bandwidth of the switch can be determined according to the performance parameters of each device in the system architecture. For example, the maximum data receiving bandwidth of the data receiving server can be directly used as the supported output bandwidth of the switch. Of course, the supported output bandwidth of the switch can also be obtained by collecting and analyzing the network traffic.
[0072] Specifically, by collecting network traffic, the supported output bandwidth of the switch is analyzed: mainly collecting network traffic, and collecting the bandwidth capabilities of all switches directly connected to the data receiving server to obtain the supported output bandwidth of the switch. Similarly, by collecting the bandwidth capabilities of all switches directly connected to the data acquisition device, the supported input bandwidth of the switch is obtained. The intelligent operation and maintenance server maintains the switch topology diagram and various information, so the number of switches and the number of network ports in working state of each switch can be obtained from the intelligent operation and maintenance server. Taking a switch as an example, assuming that the number of network ports used by IPC is a, the number of network ports used by the data receiving server is b, and all network ports are Gigabit network ports. In addition, it is known that the network port utilization rate of the security industry is c%, then the supportable bandwidth of the switch can be calculated as:
[0073] Supported input bandwidth: a*1000*c% (Mb / s);
[0074] Supported outbound bandwidth: b*1000*c% (Mb / s);
[0075] After obtaining the bandwidth supported by each switch, based on the network topology of the monitoring system, the bandwidth supported by the switch can be obtained by accumulation. For each switch, the smaller value of the supported input bandwidth or output bandwidth can be selected for accumulation, and finally the bandwidth supported by the switch can be obtained.
[0076] Based on the supported outbound bandwidth and the actual outbound bandwidth of the switch corresponding to the data receiving server, the remaining outbound bandwidth can be calculated. The remaining outbound bandwidth here refers to the bandwidth size of the switch between the data acquisition device and the data receiving server that can send data to the data receiving service.
[0077] The supportable input bandwidth and the actually used input bandwidth of the switch corresponding to each data acquisition device can be obtained through historical data. It should be noted that in the embodiment of the present invention, the supportable input bandwidth of the switch corresponding to each data acquisition device refers to the maximum input bandwidth that the switch can receive when receiving data from the data acquisition device; accordingly, the actually used input bandwidth of the switch corresponding to each data acquisition device refers to the input bandwidth occupied when the switch actually receives data from each data acquisition device. The remaining input bandwidth is obtained by subtracting the actually used input bandwidth from the supportable input bandwidth of the switch corresponding to each data acquisition device. That is, the remaining input bandwidth refers to the bandwidth size that can be used to receive data sent by each data acquisition device relative to the switch located between the data acquisition device and the data receiving server.
[0078] Because the switch's ability to access both the data acquisition device and the data receiving server must be met at the same time, the smaller value of the switch's remaining input bandwidth and the switch's remaining output bandwidth is selected as the remaining network bandwidth for the supplementary data allocation.
[0079] In a specific embodiment of the present application, the data receiving server not only considers bandwidth limitations, but also performance impacts. Even if the bandwidth meets the requirements, if the performance consumption is too large, the data receiving server will not be able to operate normally and stably, affecting the business. Therefore, it is necessary to comprehensively consider the bandwidth and system resource capabilities in order to determine a more reasonable supplementary recording bandwidth. The specific determination process of the remaining input bandwidth taking into account the performance impact may specifically include:
[0080] Step 2.1, obtaining the supportable performance of the data receiving server;
[0081] Step 2.2, determine whether the supportable performance is greater than the performance threshold;
[0082] Step 2.3: If not, calculate the difference between the supported outbound bandwidth and the actually used outbound bandwidth, and use the difference as the remaining outbound bandwidth of the switch;
[0083] Step 2.4: If yes, determine the remaining outbound bandwidth of the switch by combining the supportable outbound bandwidth, the actually used outbound bandwidth and the actually used performance.
[0084] For ease of description, the above four steps are combined for explanation below.
[0085] The intelligent operation and maintenance server can collect the system resource usage of the data receiving server (such as CPU, MEM, etc.). Therefore, the supportable performance of the data receiving server can be determined with the help of the intelligent operation and maintenance server. Specifically, considering that the bandwidth and performance of the image receiving server must be met, the remaining bandwidth is calculated in two cases. The actual bandwidth used by the data receiving server and the system resource (CPU, MEM, etc.) usage can be obtained, and the system resource usage size under the supportable bandwidth can be calculated in proportion. The calculation formula is: supportable performance = actual performance * supportable bandwidth / actual bandwidth.
[0086] Assuming that the performance is also no more than 90% (a preferred performance threshold, of course, the performance threshold can use other values, such as 80%) as a reference, the calculated supported performance does not exceed 90%, which is the first case below. If it exceeds 90%, it is the second case below.
[0087] The first type: When the bandwidth is supported, both bandwidth and performance can be met.
[0088] Remaining outbound bandwidth = supported outbound bandwidth - actual outbound bandwidth used;
[0089] The second type: Under supported bandwidth, the bandwidth is sufficient but the performance is not.
[0090] In this case, the bandwidth should be reduced according to the performance requirements. The calculation is as follows:
[0091] Remaining available outbound bandwidth = actual outbound bandwidth used * 90% / actual performance used - actual outbound bandwidth used.
[0092] The remaining available outbound bandwidth in different situations is calculated by the above formula, and the remaining available outbound bandwidth can be regarded as the remaining outbound bandwidth of the switch, so as to determine the remaining bandwidth of the network based on the comparison between the remaining outbound bandwidth of the switch and the remaining outbound bandwidth of the switch.
[0093] S103: Determine the supplementary recording bandwidth by using the remaining network bandwidth.
[0094] As can be seen from the above steps, the network remaining bandwidth is the bandwidth that the data receiving server can use to receive data. Therefore, the supplementary recording bandwidth can be determined based on the network remaining bandwidth. Generally speaking, the supplementary recording bandwidth should be less than or equal to the network remaining bandwidth. That is, all or part of the network remaining bandwidth can be directly determined as the supplementary recording bandwidth.
[0095] In actual applications, it is recommended to use part of the remaining network bandwidth as the supplementary recording bandwidth. That is, a specified proportion of the remaining network bandwidth can be used as the supplementary recording bandwidth. It is not recommended to use up all of the remaining available bandwidth selected to prevent the situation where the bandwidth characteristics of sudden images are very large (problems may occur if the bandwidth limit is exceeded). Therefore, the supplementary recording bandwidth can be a specified proportion of the remaining network bandwidth, such as: supplementary recording bandwidth = network remaining bandwidth * specified proportion. Among them, the specified proportion can be 90%, 85%, and other specific values set or adjusted according to actual conditions.
[0096] S104, allocating the supplementary recording bandwidth to the data acquisition device.
[0097] After the over-recording bandwidth is determined, the over-recording bandwidth can be allocated to the data acquisition device.
[0098] Specifically, when allocating the supplementary recording bandwidth to the data acquisition devices, the supplementary recording bandwidth may be allocated to all the data acquisition devices that need to perform supplementary recording in an even distribution manner; the supplementary recording bandwidth may also be allocated to the data acquisition devices in sequence according to priority; the supplementary recording bandwidth may also be allocated to the data acquisition devices in different shares according to priority or the proportion of historical data that needs to be uploaded.
[0099] The method provided by the embodiment of the present invention is applied to receive the supplementary recording request sent by each data acquisition device; the local cache of each data acquisition device stores the historical data to be uploaded; when the data receiving server receives the real-time data uploaded by each data acquisition device, the remaining network bandwidth is obtained; the supplementary recording bandwidth is determined by using the remaining network bandwidth; and the supplementary recording bandwidth is allocated to the data acquisition device.
[0100] In this method, when a supplementary recording request is received from each data acquisition device, it can be determined that the data acquisition device has a supplementary recording demand. At this time, the remaining network bandwidth can be obtained, and then the supplementary recording bandwidth can be determined based on the remaining network bandwidth. The supplementary recording bandwidth is allocated to the data acquisition device that needs to perform supplementary recording. In this way, the data acquisition device can complete the supplementary recording based on the allocated supplementary recording bandwidth without affecting the upload of real-time data and ensuring the upload success rate.
[0101] It should be noted that, based on the above embodiments, the embodiments of the present invention also provide corresponding improved solutions. In the preferred / improved embodiments, the same steps or corresponding steps as those in the above embodiments can be referenced to each other, and the corresponding beneficial effects can also be referenced to each other, which will not be described one by one in the preferred / improved embodiments of this article.
[0102] In a specific embodiment of the present application, considering that in actual applications, the amount of historical data in the data acquisition device may be relatively large and more important than some real-time data, therefore, when supplementing the recording, the upload bandwidth requirements of the real-time data of some data acquisition devices may be sacrificed, and the bandwidth occupied by the real-time data upload may also be used for supplementing the recording. Specifically, after obtaining the remaining network bandwidth, before using the remaining network bandwidth to determine the supplementing recording bandwidth, the following steps may be performed:
[0103] Step 1: Based on the remaining network bandwidth and the re-recording request, estimate the total re-recording time for each data collection device to upload historical data;
[0104] Step 2: Determine whether the total duration of the supplementary recording is greater than the duration threshold;
[0105] Step 3: If yes, the designated data acquisition device is ordered to stop uploading real-time data to the data receiving server, and return to the step of obtaining the remaining network bandwidth.
[0106] For ease of description, the above three steps are combined for explanation below.
[0107] The designated data acquisition device may be a data acquisition device corresponding to a predetermined sacrificial point. For example, a data acquisition device with a very low usage frequency and very low image traffic may be used as a designated data acquisition device. That is, if the re-recording takes a long time and the user wants to reduce the re-recording time, the real-time data of the sacrificial point may be stopped from being accessed first and cached locally, so as to increase the re-recording bandwidth. That is, when the remaining capacity is insufficient, the bandwidth occupied by the designated data acquisition device uploading real-time data is given to other data acquisition devices for re-recording.
[0108] In an embodiment of the present invention, the supplementary recording request may specifically carry supplementary recording information, such as IPC information (such as IPC identification, the maximum output bandwidth corresponding to the IPC), data volume and image size. Based on information such as the remaining network bandwidth and the amount of data requested to be uploaded in the supplementary recording request, the total time required for supplementary recording can be estimated. If the total time for supplementary recording is less than or equal to the time threshold, it is determined that there is no need to sacrifice the real-time data transmission of the specified data acquisition device; if the total time for supplementary recording is greater than the time threshold, it is determined that the real-time data transmission of the specified data acquisition device needs to be sacrificed, thereby speeding up the supplementary recording.
[0109] After determining that the real-time data transmission of the designated data acquisition device needs to be sacrificed, the designated data acquisition device can be ordered to stop uploading real-time data to the data receiving server, and the remaining network bandwidth under the current circumstances can be re-determined by returning to execute the step of obtaining the remaining network bandwidth.
[0110] In a specific embodiment of the present application, in order to speed up the process of determining the remaining network bandwidth, in a specific implementation method, the bandwidth occupied by uploading real-time data can also be estimated by statistics on the real-time data uploaded by the designated data acquisition device. Then, on the basis of the original remaining network bandwidth, the bandwidth occupied by uploading real-time data can be added. Specifically, the bandwidth occupied by the real-time data uploaded by the designated data acquisition device can be determined by counting historical data. The image stream has a volatility characteristic, which can be called the image bandwidth characteristic. Image data is accessed, and the images will be stored in the storage server, and the data will be stored in the big data server. Therefore, the image bandwidth characteristics can be collected through historical data information, the image frequency and number of images are obtained from the big data, and the image size is obtained from the cloud storage, so as to obtain the image bandwidth characteristics. The specific acquisition method is as follows:
[0111] Query the amount of data accessed by a certain IPC in a certain time range (for example, the current 2 hours) in the big data, recorded as x; query the size of the pictures accessed by the same IPC in the same time range in the storage device, recorded as y;
[0112] The calculation result of one IPC is:
[0113] x / (2*3600) ---How many data per second
[0114] y / (2*3600) --- How many images per second are bandwidth features
[0115] y / x --- How much image bandwidth each piece of data occupies
[0116] From the above, we know that each IPC occupies the image bandwidth characteristics per second. The sum can be used to obtain the total image bandwidth occupied by the IPC side per second when accessing data in real time, which is the actual bandwidth used by the IPC.
[0117] The bandwidth of each IPC can be calculated, so the total bandwidth occupied by the specified data acquisition device to upload real-time data can be known. This part of the bandwidth is the increment of the bandwidth that can be provided for supplementary recording.
[0118] In a specific embodiment of the present application, considering that the size of the supplementary recording bandwidth is limited, the importance and reference value of the historical data cached locally for data acquisition devices at different locations may be different. Therefore, when supplementing, important historical data may be given priority to meet actual application requirements. Specifically, allocating the supplementary recording bandwidth to the data acquisition device may specifically include:
[0119] Step 1: Divide each data collection device into multiple supplementary recording batches according to the priority of the data collection device.
[0120] Step 2: Allocate the supplementary recording bandwidth to the data acquisition device according to the supplementary recording batch.
[0121] The second step may be to allocate the supplementary recording bandwidth to the corresponding data acquisition devices in sequence according to the order of the supplementary recording batches, and inform each data acquisition device of the specific time to upload its locally cached historical data, as well as information such as the available upload bandwidth.
[0122] It should be noted that the priority of data acquisition equipment can be determined according to its specific location. The following example illustrates how to determine the priority of data acquisition equipment:
[0123] In this embodiment, the points corresponding to the data acquisition devices are divided into five categories based on application experience (of course, they can also be divided into other categories):
[0124] 1. Important points: Data collection equipment in government agencies, schools and other relevant areas can be directly marked in the system.
[0125] Generally, data collection equipment will have longitude and latitude information. Data collection equipment within a certain range corresponding to the key area on the map is considered to be a key equipment point and can be marked as 1.
[0126] 2. High-frequency usage points: points that are frequently used by users in business applications.
[0127] The high-usage data collection devices can be obtained through the user operation log of the central management server. At the same time, the data collection equipment points that are frequently used for analysis, control and other businesses can be obtained by querying big data, which can be marked as 2.
[0128] 3. Hot spots: The amount of data on passing vehicles and people is large and the traffic volume is high.
[0129] It can be obtained by querying big data, querying the access data volume of each data acquisition device in the same time period, and those exceeding the defined value are considered hot spots; or sorting by access volume, obtaining the first number of camera points as hot spots, which can be marked as 3.
[0130] 4. Sacrificable points: The frequency of use is very low and the image traffic is very low.
[0131] Select the data collection equipment point that meets the requirements of being the last in the hot spots, having the least operation logs and business usage, and being excluded from the key points, and mark it as 4.
[0132] 5. Ordinary points: Points other than the above features can be marked as 5.
[0133] A data collection device may hit multiple categories and have multiple tags. The priority determination example is as follows:
[0134] Mark 1 + Mark 2 + Mark 3 > Mark 1 + Mark 2 > Mark 1 + Mark 3 > Mark 2 + Mark 3 > Mark 1 > Mark 2 > Mark 3 > Mark 5 > Mark 4.
[0135] It should be noted that in actual applications, there are many other ways to determine the priority of a data acquisition device, which will not be described one by one here, such as directly setting the priority, or determining it based on the frequency with which the data collected by the data acquisition device is called.
[0136] The system starts patrolling from the highest priority point according to the priority, matches and calculates the overall topology in the previous step, determines the available supplementary recording bandwidth calculated by the remaining network bandwidth and the remaining performance of the data receiving server, and provides it to the IPC that reports the supplementary recording demand.
[0137] Consider limiting the speed of data acquisition devices at the same priority points in parallel. Provide supplementary recording bandwidth to data acquisition devices of the same priority, allowing them to perform supplementary recording at the same time and ensure that they are completed at the same time. Only after completion can bandwidth be guaranteed for supplementary recording of data acquisition devices of the next priority.
[0138] For example: There are 5 cameras (a specific data acquisition device) in the current environment, namely a1, b1, c1, d1, and e1. The amount of data to be recorded is a2, b2, c2, d2, and e2, and the size of the pictures to be recorded is a3, b3, c3, d3, and e3. After the network is restored, this information is sent to the management platform (recording report) by IPC. The camera priority has been calculated to be a1=b1=c1>d1>e1, and the bandwidth available for recording is d. First, the highest priority a1, b1, and c1 are recorded at the same time, and the bandwidth to be allocated is calculated to be a4, b4, and c4 respectively.
[0139] a4+b4+c4=d
[0140] a3 / a4=b3 / b4=c3 / c4
[0141] The above equation can be solved to get the bandwidth to be allocated to a1, b1, and c1 respectively. Since the re-recording bandwidth is given, the re-recording time can also be calculated.
[0142] At this time, the management platform can respond to a1, b1, and c1 that sent the corresponding supplementary recording report, and return the supplementary recording information to IPC. After receiving the information, IPC can perform supplementary recording as required based on the bandwidth provided to it, and can basically complete the supplementary recording within the calculated supplementary recording time.
[0143] The first priority re-recording is still in progress, and the bandwidth allocation for the second priority, that is, d1, can be calculated at the same time. After the calculation is completed, you can wait for the completion of the first priority re-recording before responding to d1; or through time-consuming calculation, directly respond to d1 and inform it to start re-recording the uploaded data within a specific time period. After a1, b1, and c1 complete re-recording, you can start re-recording d1, and after d1 completes re-recording, you can start re-recording e1 until all re-recording is completed.
[0144] Corresponding to the above method embodiment, the embodiment of the present invention further provides a data transmission control device. The data transmission control device described below and the data transmission control method described above can be referenced to each other.
[0145] See also Figure 2 As shown, the device includes the following modules:
[0146] The supplementary recording request receiving module 101 is used to receive the supplementary recording request sent by each data acquisition device; each data acquisition device stores the historical data to be uploaded in the local cache;
[0147] The network remaining bandwidth calculation module 102 is used to obtain the network remaining bandwidth when the data receiving server receives the real-time data uploaded by each data acquisition device;
[0148] A supplementary recording bandwidth determination module 103 is used to determine the supplementary recording bandwidth by using the remaining network bandwidth;
[0149] The supplementary recording bandwidth allocation module 104 is used to allocate the supplementary recording bandwidth to the data acquisition device.
[0150] The device provided by the embodiment of the present invention is used to receive the supplementary recording request sent by each data acquisition device; the local cache of each data acquisition device stores the historical data to be uploaded; when the data receiving server receives the real-time data uploaded by each data acquisition device, the network remaining bandwidth is obtained; the supplementary recording bandwidth is determined by using the network remaining bandwidth; and the supplementary recording bandwidth is allocated to the data acquisition device.
[0151] In this device, when a supplementary recording request is received from each data acquisition device, it can be determined that the data acquisition device has a supplementary recording demand. At this time, the remaining network bandwidth of the data receiving server can be obtained, and then the supplementary recording bandwidth can be determined based on the remaining network bandwidth. The supplementary recording bandwidth is allocated to the data acquisition device that needs to perform supplementary recording. In this way, the data acquisition device can complete the supplementary recording based on the allocated supplementary recording bandwidth without affecting the upload of real-time data and ensuring the upload success rate.
[0152] In a specific implementation of the present invention, the network remaining bandwidth calculation module 102 includes:
[0153] A bandwidth information acquisition unit, used to acquire the supportable bandwidth and the actual used bandwidth of the switches corresponding to the data receiving server and each data acquisition device;
[0154] The remaining outgoing bandwidth determining unit is used to determine the remaining outgoing bandwidth of the switch by using the supported outgoing bandwidth and the actually used outgoing bandwidth of the switch corresponding to the data receiving server;
[0155] The remaining input bandwidth determining unit is used to determine the remaining input bandwidth of the switch by using the supported input bandwidth and the actually used input bandwidth of the switch corresponding to each data acquisition device;
[0156] The network remaining bandwidth determination unit is used to select the smaller value between the remaining input bandwidth of the switch and the remaining output bandwidth of the switch as the network remaining bandwidth.
[0157] In a specific implementation of the present invention, the remaining input bandwidth determination unit is specifically used to obtain the supportable performance of the data receiving server; determine whether the supportable performance is greater than the performance threshold; if not, calculate the difference between the supportable output bandwidth and the actually used output bandwidth, and use the difference as the remaining output bandwidth of the switch; if yes, determine the remaining output bandwidth of the switch in combination with the supportable output bandwidth, the actually used output bandwidth and the actually used performance.
[0158] In a specific embodiment of the present invention, it also includes:
[0159] The network remaining bandwidth increment determination module is used to estimate the total time for supplementary recording of historical data uploaded by each data acquisition device in combination with the network remaining bandwidth and the supplementary recording request after obtaining the network remaining bandwidth and before using the network remaining bandwidth to determine the supplementary recording bandwidth; determine whether the total time for supplementary recording is greater than the time threshold; if so, order the designated data acquisition device to stop uploading real-time data to the data receiving server, and return to the step of obtaining the network remaining bandwidth of the data receiving server.
[0160] In a specific implementation of the present invention, the supplementary recording bandwidth determination module 103 is specifically configured to use a specified proportion of the remaining network bandwidth as the supplementary recording bandwidth.
[0161] In a specific implementation of the present invention, the supplementary recording bandwidth allocation module 104 is specifically used to divide each data acquisition device into multiple supplementary recording batches according to the priority of the data acquisition device; and allocate the supplementary recording bandwidth to the data acquisition device according to the supplementary recording batch.
[0162] In a specific implementation of the present invention, the supplementary recording bandwidth allocation module 104 is specifically used to allocate the supplementary recording bandwidth to corresponding data collection devices in sequence according to the sequence of supplementary recording batches, and inform each data collection device of the specific time to upload historical data.
[0163] Corresponding to the above method embodiment, the embodiment of the present invention further provides a data transmission control device. The data transmission control device described below and the data transmission control method described above can refer to each other.
[0164] See also Figure 3 As shown, the data transmission control device includes:
[0165] A memory 332, for storing computer programs;
[0166] The processor 322 is configured to implement the steps of the data transmission control method of the above method embodiment when executing a computer program.
[0167] For details, please refer to Figure 4 , is a specific structural diagram of a data transmission control device provided in this embodiment. The data transmission control device may have relatively large differences due to different configurations or performances, and may include one or more processors (central processing units, CPU) 322 (for example, one or more processors) and a memory 332, and the memory 332 stores one or more computer applications 342 or data 344. Among them, the memory 332 can be a temporary storage or a permanent storage. The program stored in the memory 332 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations in the data processing device. Furthermore, the central processing unit 322 can be configured to communicate with the memory 332 to execute a series of instruction operations in the memory 332 on the data transmission control device 301.
[0168] The data transmission control device 301 may further include one or more power supplies 326 , one or more wired or wireless network interfaces 350 , one or more input and output interfaces 358 , and / or one or more operating systems 341 .
[0169] The steps in the data transmission control method described above can be implemented by the structure of a data transmission control device. The data transmission control device can be specifically a central management server.
[0170] Corresponding to the above method embodiment, an embodiment of the present invention further provides a readable storage medium. The readable storage medium described below and the data transmission control method described above can be referred to each other.
[0171] A readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the data transmission control method of the above method embodiment.
[0172] The readable storage medium may specifically be a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, or other readable storage medium that can store program codes.
[0173] Those skilled in the art may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.
Claims
1. A data transmission control method, characterized in that: include: Receive supplementary recording requests sent by various data collection devices; The local cache of each of the data acquisition devices stores historical data to be uploaded; When the data receiving server receives the real-time data uploaded by each of the data acquisition devices, obtaining the remaining network bandwidth; Determine the supplementary recording bandwidth by using the remaining bandwidth of the network; Allocating the supplementary recording bandwidth to the data acquisition device; The obtaining of the remaining network bandwidth includes: Obtaining the supportable bandwidth and the actually used bandwidth of the switches corresponding to the data receiving server and each of the data acquisition devices; Determine the remaining outbound bandwidth of the switch by using the supported outbound bandwidth and the actually used outbound bandwidth of the switch corresponding to the data receiving server; Determine the remaining inbound bandwidth of the switch by using the supported inbound bandwidth and the actually used inbound bandwidth of the switch corresponding to each of the data acquisition devices; A smaller value between the remaining input bandwidth of the switch and the remaining output bandwidth of the switch is selected as the remaining network bandwidth.
2. The data transmission control method according to claim 1, characterized in that: Determining the remaining outbound bandwidth of the switch by using the supported outbound bandwidth and the actually used outbound bandwidth of the switch corresponding to the data receiving server includes: Acquiring supportable performance of the data receiving server; Determining whether the supportable performance is greater than a performance threshold; If not, calculating the difference between the supported outbound bandwidth and the actually used outbound bandwidth, and using the difference as the remaining outbound bandwidth of the switch; If yes, the remaining output bandwidth of the switch is determined by combining the supportable output bandwidth, the actually used output bandwidth and the actually used performance.
3. The data transmission control method according to claim 1, characterized in that: After acquiring the remaining network bandwidth and before using the remaining network bandwidth to determine the network supplementary recording bandwidth, the method further includes: Based on the remaining network bandwidth and the supplementary recording request, estimate the total duration of supplementary recording of the historical data uploaded by each data collection device; Determine whether the total duration of the supplementary recording is greater than a duration threshold; If yes, the designated data acquisition device is ordered to stop uploading the real-time data to the data receiving server, and returns to execute the step of obtaining the remaining network bandwidth.
4. The data transmission control method according to claim 1, characterized in that: Determining the supplementary recording bandwidth by using the remaining network bandwidth includes: A specified proportion of the remaining network bandwidth is used as the supplementary recording bandwidth.
5. The data transmission control method according to any one of claims 1 to 4, characterized in that: Allocating the supplementary recording bandwidth to the data acquisition device includes: According to the priority of the data collection device, each of the data collection devices is divided into a plurality of supplementary recording batches; The supplementary recording bandwidth is allocated to the data acquisition device according to the supplementary recording batch.
6. The data transmission control method according to claim 5, characterized in that: Allocating the supplementary recording bandwidth to the data acquisition device according to the supplementary recording batch includes: According to the sequence of the supplementary recording batches, the supplementary recording bandwidth is sequentially allocated to the corresponding data collection devices, and each data collection device is informed of the specific time of uploading the historical data.
7. A data transmission control device, characterized in that: include: A supplementary recording request receiving module is used to receive supplementary recording requests sent by various data acquisition devices; The local cache of each of the data acquisition devices stores historical data to be uploaded; A network remaining bandwidth calculation module, used to obtain the network remaining bandwidth when the data receiving server receives the real-time data uploaded by each of the data acquisition devices; A supplementary recording bandwidth determination module, used to determine the supplementary recording bandwidth by using the remaining bandwidth of the network; A supplementary recording bandwidth allocation module, used to allocate the supplementary recording bandwidth to the data acquisition device; Among them, the network remaining bandwidth calculation module is specifically used to obtain the supportable bandwidth and the actual used bandwidth of the switches corresponding to the data receiving server and each of the data acquisition devices; determine the remaining output bandwidth of the switch using the supportable output bandwidth and the actual used output bandwidth of the switch corresponding to the data receiving server; determine the remaining input bandwidth of the switch using the supportable input bandwidth and the actual used input bandwidth of the switch corresponding to each of the data acquisition devices; and select the smaller value between the remaining input bandwidth of the switch and the remaining output bandwidth of the switch as the network remaining bandwidth.
8. A data transmission control device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the data transmission control method according to any one of claims 1 to 6 when executing the computer program.
9. A readable storage medium, characterized in that: The readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the data transmission control method according to any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
KR1016605080000B1