Data offloading processing system, method and apparatus

By establishing data channels between barcode readers with uneven hardware performance, data splitting and processing are achieved, solving the problem of insufficient barcode reader processing capacity, improving resource utilization and reducing hardware costs.

CN115545371BActive Publication Date: 2025-12-12HANGZHOU HIKROBOT TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110739530.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-06-30
Publication Date
2025-12-12
Estimated Expiration
2041-06-30

AI Technical Summary

Technical Problem

In existing technologies, the hardware performance of barcode readers in logistics transfer centers or industrial production sites is uneven, resulting in insufficient processing capacity and an inability to effectively distribute the workload, leading to low data processing efficiency.

Method used

By establishing a data channel between readers with weaker hardware performance and readers with stronger hardware performance, data splitting and processing can be achieved. Readers with stronger hardware performance can share the workload, thus compensating for the insufficient processing power of readers with weaker hardware performance.

Benefits of technology

This improved the utilization rate of hardware resources in high-performance barcode readers, reduced the number of high-performance barcode readers required, lowered the overall hardware cost of the detection system, and prevented data loss, thus ensuring the detection capability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115545371B_ABST
    Figure CN115545371B_ABST
Patent Text Reader

Abstract

The embodiment of the application discloses a data shunting processing system, method and device, and belongs to the technical field of data processing. In the embodiment of the application, a first code reader with weak hardware performance can shunt image data to be processed of the first code reader to a second code reader with strong hardware performance for processing. In this way, a data channel between the first code reader with weak hardware performance and the second code reader with strong hardware performance is opened. In this case, when the processing capacity of the first code reader with weak hardware performance is insufficient, the second code reader with strong hardware performance can be used for task sharing. Especially when the first code reader with weak hardware performance has a processing fault, as long as the communication function of the first code reader is normal, the data can be shunted to the second code reader with strong hardware performance for processing, so that the data is not discarded.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of image recognition, and particularly relates to a data shunting processing system, method and device. BACKGROUND

[0002] Currently, a detection system including multiple code readers can be deployed on a conveying belt of a logistics transfer center or a production line in an industrial production site to collect and process data such as images and videos. The main control chip performance, other hardware performance and business functions of each code reader are often consistent, and the code readers are independent of each other. For example, multiple identical code readers are deployed in a logistics center, and each code reader can collect express face sheet images, and then process the express face sheet images collected by itself to obtain express numbers. Then, each code reader can feed the express face sheet images and express numbers obtained by itself to a background device. SUMMARY

[0003] The present application provides a data shunting processing system, method and device, which opens up the data channel between code readers with different hardware performance in the system, so that when the processing capacity of a code reader with weak hardware performance is insufficient, a code reader with strong hardware performance can be used to share the task. The technical solution is as follows:

[0004] In one aspect, a data shunting processing system is provided, which includes a first code reader and a second code reader, and the hardware performance of the first code reader is lower than that of the second code reader.

[0005] The first code reader is configured to send first image data to be processed to the second code reader.

[0006] The second code reader is configured to receive the first image data, and process the first image data and second image data collected by the second code reader.

[0007] The second code reader is further configured to send final decoding data of the second image data collected by itself to a background device, and send intermediate processing results of the first image data to the first code reader, or send final decoding data of the first image data and final decoding data of the second image data collected by itself to the background device.

[0008] The first code reader is further configured to, when receiving the intermediate processing results of the first image data, process the intermediate processing results of the first image data to obtain final decoding data of the first image data, and send the final decoding data of the first image data to the background device.

[0009] Optionally, the first code reader is further configured to send a data processing request to the second code reader, the data processing request being used to request the second code reader to process the data shunted by the first code reader; the second code reader is configured to send, upon receiving the data processing request, queue information of a current to-be-processed data queue to the second code reader; and the second code reader is configured to send the first image data according to the queue information of the current to-be-processed data queue.

[0010] Optionally, the queue information of the current to-be-processed data queue comprises a frame number of image data in the current to-be-processed data queue.

[0011] The first code reader is configured to select, when the frame number of image data in the current to-be-processed data queue is greater than a first threshold, N frames of first image data from the multiple frames of to-be-processed image data of the first code reader, and send the N frames of first image data to the second code reader, the N being a positive integer greater than 0, wherein, when the N is greater than 1, the N frames of first image data are odd-numbered frames of image data or even-numbered frames of image data in the multiple frames of to-be-processed image data, or the N frames of first image data are consecutive image data in the multiple frames of to-be-processed image data.

[0012] Optionally, when the first code reader selects N frames of first image data from the multiple frames of to-be-processed image data of the first code reader and sends the N frames of first image data to the second code reader, the first image data sent to the second code reader further carries a first processing identifier, the first processing identifier being used to instruct the second code reader to perform a first specified type of processing on the corresponding first image data.

[0013] Optionally, the first code reader is further configured to, when the frame number of image data in the current to-be-processed data queue is not greater than the first threshold, send the multiple frames of to-be-processed image data of the first code reader to the second code reader as multiple frames of first image data.

[0014] Optionally, when the first code reader sends the multiple frames of to-be-processed image data of the first code reader to the second code reader as multiple frames of first image data, the first image data sent to the second code reader further carries a second processing identifier, the second processing identifier being used to instruct the second code reader to perform a second specified type of processing on the corresponding first image data, the second specified type of processing requiring more processing resources than the first specified type of processing.

[0015] Optionally, the second code reader is configured to process second image data collected by the second code reader; and when the processing of the second image data is completed and the second code reader has not collected new second image data, the second code reader is further configured to process the first image data.

[0016] Optionally, the first code reader and the second code reader communicate through a fifth generation mobile communication (5G) network.

[0017] Optionally, the first image data is an original face sheet image collected by the first code reader, or the first image data is image data obtained by the first code reader after preprocessing an original face sheet image collected by itself, or the first image data includes image data obtained by the first code reader after preprocessing an original face sheet image collected by itself and preliminary decoding data, and the preliminary decoding data includes a type of a barcode contained in the original face sheet image and a corresponding confidence level.

[0018] Optionally, the first code reader and the second code reader are deployed on the same conveyor belt in the same logistics code reading scene, or the first code reader and the second code reader are deployed on different conveyor belts in the same logistics code reading scene, or the first code reader and the second code reader are deployed on different conveyor belts in different logistics code reading scenes, wherein the conveyor belt is used to convey express packages.

[0019] In another aspect, a data shunting processing method is provided, applied to a local code reader in a data shunting processing system, the data shunting processing system further including a remote code reader;

[0020] When the hardware performance of the local code reader is lower than that of the remote code reader, the method includes:

[0021] The local code reader sends first image data to be processed to the remote code reader;

[0022] When receiving the intermediate processing result of the first image data sent by the remote code reader, the local code reader processes the intermediate processing result of the first image data to obtain final decoding data of the first image data, and sends the final decoding data of the first image data to a background device;

[0023] When receiving the final decoding data of the first image data sent by the remote code reader, the local code reader sends the final decoding data of the first image data to the background device.

[0024] When the hardware performance of the local code reader is higher than that of the remote code reader, the method includes:

[0025] The local code reader receives first image data to be processed sent by the remote code reader;

[0026] The local code reader processes the first image data and second image data collected by itself;

[0027] The local code reader sends the final decoding data of the second image data collected by itself to the background device and sends the intermediate processing result of the first image data to the remote code reader; or, the local code reader sends the final decoding data of the first image data and the final decoding data of the second image data collected by itself to the background device.

[0028] In another aspect, a data shunting processing device is provided, which is applied to a second code reader, and the device comprises:

[0029] A receiving module is configured to receive first image data to be processed shunted by a first code reader, and the hardware performance of the first code reader is lower than that of the second code reader.

[0030] A processing module is configured to process the first image data and second image data collected by itself.

[0031] A sending module is configured to send the final decoding data of the second image data collected by itself to a background device and send the intermediate processing result of the first image data to the first code reader; or, the sending module is configured to send the final decoding data of the first image data and the final decoding data of the second image data collected by itself to the background device.

[0032] Optionally, the sending module is further configured to send third image data to be processed shunted to a third code reader, and the hardware performance of the third code reader is higher than that of the second code reader.

[0033] The processing module is further configured to, when the receiving module receives the intermediate processing result of the third image data sent by the third code reader, process the intermediate processing result of the third image data to obtain the final decoding data of the third image data.

[0034] The sending module is further configured to send the final decoding data of the third image data to the background device.

[0035] In another aspect, a code reader is provided, which comprises a processor, a communication interface, a memory and a communication bus, the processor, the communication interface and the memory complete communication with each other through the communication bus, the memory is configured to store a computer program, and the processor is configured to execute the program stored in the memory to realize the functions of the code reader in the data shunting processing system.

[0036] In another aspect, a computer readable storage medium is provided, and the storage medium stores a computer program, and the computer program is executed by a processor to realize the functions of the code reader in the data shunting processing system.

[0037] In another aspect, a computer program product containing instructions which, when run on a computer, cause the computer to perform the steps of the data shunting processing method described above is provided.

[0038] The technical solutions provided in the application can bring at least the following beneficial effects:

[0039] In the embodiments of the application, the first code reader with weak hardware performance can shunt the image data to be processed thereof to the second code reader with strong hardware performance for processing. In this way, the data channel between the code reader with weak hardware performance and the code reader with strong hardware performance is opened. In this case, when the processing capacity of the code reader with weak hardware performance is insufficient, the code reader with strong hardware performance can be used to share the processing load. In particular, when the code reader with weak hardware performance fails, as long as the communication function of the code reader is normal, the data can be shunted to the code reader with strong hardware performance for processing, thereby avoiding data loss. Moreover, the hardware resource utilization of the second code reader with strong hardware performance is improved to compensate for the insufficient processing capacity of the first code reader with weak hardware performance, thereby reducing the number of code readers with strong hardware performance to be deployed. BRIEF DESCRIPTION OF DRAWINGS

[0040] In order to more clearly illustrate the technical solutions in the embodiments of the application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the application, and other drawings can be obtained by those skilled in the art without creative effort on the basis of these drawings.

[0041] Figure 1 is an architecture diagram of a data shunting processing system provided by an embodiment of the application;

[0042] Figure 2 is a flowchart of a data shunting processing method provided by an embodiment of the application;

[0043] Figure 3 is a schematic diagram of a second code reader processing first image data and image data collected by itself provided by an embodiment of the application;

[0044] Figure 4 is a flowchart of another data shunting processing method provided by an embodiment of the application;

[0045] Figure 5 is a structural schematic diagram of a data shunting processing apparatus provided by an embodiment of the application;

[0046] Figure 6 is a structural schematic diagram of a terminal provided by an embodiment of the application. DETAILED DESCRIPTION

[0047] In order to make the purposes, technical solutions and advantages of the embodiments of the present application clearer, the embodiments of the present application will be further described in detail below with reference to the drawings.

[0048] Before the data shunting processing method provided by the embodiments of the present application is explained in detail, the application scenarios of the embodiments of the present application will be introduced.

[0049] The data shunting processing method provided by the embodiments of the present application can be applied to a scenario where multiple code readers are deployed. For example, in a logistics transfer center where multiple code readers are deployed, the hardware performance of some of the code readers is strong, and the hardware performance of some of the code readers is weak. The code readers with weak hardware performance can perform image data acquisition, and after pre-processing the acquired image data, the pre-processed image data is shunted to the code readers with strong hardware performance for further processing, or the code readers with weak hardware performance can also directly shunt the acquired image data to the code readers with strong hardware performance for processing. The code readers with strong hardware performance can also perform image data acquisition and process the image data acquired by themselves, and at the same time, the code readers with strong hardware performance can also process the image data shunted by the code readers with weak hardware performance. In this way, the hardware resource utilization of the code readers with strong hardware performance is improved to compensate for the insufficient processing capacity of the code readers with weak hardware performance, thereby reducing the number of code readers with strong hardware performance deployed, and reducing the hardware cost of the entire detection system while ensuring the detection capability of the entire detection system.

[0050] Next, the system architecture related to the embodiments of the present application will be introduced.

[0051] Figure 1 is a system architecture diagram of a data shunting processing system provided by the embodiments of the present application. As shown in Figure 1 the system includes a first code reader 101 and a second code reader 102. The hardware performance of the first code reader 101 is lower than that of the second code reader 102. For example, the data processing performance of the main control chip of the first code reader 101 is lower than that of the main control chip of the second code reader 102. For example, the data processing rate of the first code reader 101 is lower than that of the second code reader 102. In addition, the first code reader 101 and the second code reader 102 can communicate through a wired or wireless network.

[0052] It should be noted that in the embodiments of the present application, the first code reader 101 and the second code reader 102 can be deployed on the same conveying belt in the same logistics code reading scene. For example, the first code reader 101 and the second code reader 102 are deployed along the conveying direction of the conveying belt, or the first code reader 101 and the second code reader 102 are deployed along the width direction of the conveying belt. Wherein, the conveying belt is used to convey the express package.

[0053] Alternatively, the first code reader 101 and the second code reader 102 are deployed on different conveying belts in the same logistics code reading scene. For example, the first code reader 101 and the second code reader 102 are deployed on two different conveying belts in the same logistics transfer site.

[0054] Alternatively, the first code reader 101 and the second code reader 102 are deployed on different conveying belts in different logistics code reading scenes. For example, the first code reader 101 is deployed on the conveying belt in logistics transfer site 1, and the second code reader 102 is deployed on the conveying belt in logistics transfer site 2.

[0055] Alternatively, the first code reader 101 and the second code reader 102 can of course also be deployed on other intelligent manufacturing production lines, and the embodiments of the present application do not limit this.

[0056] Wherein, referring to Figure 1 , the first code reader 101 can distribute the first image data to be processed to the second code reader 102, and the second code reader 102 processes the first image data. Wherein, the first image data to be processed distributed by the first code reader 101 to the second code reader 102 can be the original image data collected by itself, such as the original label image collected on the express package. Alternatively, the first image data can be image data obtained after the first code reader 101 pre-processes the original image data collected by itself. For example, it can be image data obtained after the original label image is pre-processed, such as noise reduction. Alternatively, the first image data can include image data obtained after pre-processing the original image data and preliminary decoding data. For example, the first image data includes image data obtained after pre-processing the original label image and preliminary decoding data obtained after preliminary decoding the image data obtained after pre-processing, such as the preliminary decoding data containing the type and confidence of the barcode contained in the corresponding original label image.

[0057] It should be noted that the image data distributed to the second code reader 102 can be all or part of the original image data to be processed collected by the first code reader 101 itself, or data obtained after pre-processing all or part of the original image data to be processed collected by itself, and the embodiments of the present application do not limit this.

[0058] The second code reader 102 processes the image data collected by itself to obtain final decoding data of the corresponding image data, and meanwhile, the second code reader 102 also processes the image data shunted by the first code reader 101. The second code reader 102 can process the shunted data of the first code reader 101 in a waiting gap of processing the image data collected by itself, and the detailed implementation process is described in the method embodiments below.

[0059] In addition, in the embodiments of the present application, the first code reader 101 can send a data processing request to the second code reader 102 to request the second code reader 102 to process the shunted image data. In this case, after receiving the data processing request, the second code reader 102 can feed back queue information of a current data queue to be processed to the first code reader 101 to indicate the current busy degree. Accordingly, the first code reader 101 can determine how to shunt data to the second code reader 102 according to the queue information.

[0060] Optionally, in a possible implementation, considering that there can be multiple first code readers 101 weaker than the second code reader 102, the multiple first code readers 101 can all shunt data to the second code reader 102, and there is no communication connection between the multiple first code readers 101. In this case, if the second code reader 102 simultaneously receives multiple data processing requests, the second code reader 102 can allocate a corresponding data shunting share to each first code reader 101 sending a data processing request according to the queue information of the current data queue to be processed by the second code reader 102, and then feed back the allocated data shunting share to each first code reader 101 to indicate that the corresponding first code reader 101 shunts data according to the data shunting share. The data shunting share can be the number of frames of image data allowed to be shunted by the corresponding first code reader 101. In addition, the data shunting share corresponding to each first code reader 101 can be the same or different, which is not limited in the embodiments of the present application, and the detailed implementation is described in the method embodiments below.

[0061] Optionally, referring to Figure 1 , the second code reader 102 can process the data shunted by the first code reader 101 to obtain an intermediate processing result, and then feed back the intermediate processing result to the first code reader 101. The first code reader 101 reprocesses the intermediate processing result to obtain final decoding data, and then feeds back the final decoding data to the background device 103.

[0062] Optionally, the second code reader 102 can also directly process the data shunted by the first code reader 101 to obtain final decoding data, and then feed back the final decoding data to the background device 103.

[0063] Wherein, the background device 103 refers to a background terminal or a background server. And, the platform software and the background database can be installed on the background device. Wherein, the platform software can perform fusion and other processing on the received final decoding data, and the background database can store the received final decoding data and the results obtained by the platform software processing.

[0064] Optionally, the first code reader 101 and the second code reader 102 can communicate through a 5G (5th-Generation) network. In addition, the number of the first code reader 101 and the second code reader 102 can be one or more. Figure 1 In the embodiment, the number of the second code reader 102 is one, and the number of the first code reader 101 is four.

[0065] Optionally, in a possible implementation, the data shunting processing system can further include a third code reader with stronger hardware performance than the second code reader 102. In this case, the second code reader 102 can also shunt the image data to be processed to the third code reader for processing. At this time, the second code reader 102 can refer to the related operations of the first code reader 101 to shunt the image data to the third code reader. Similarly, the third code reader can refer to the related operations of the second code reader 102 to process the image data shunted by the second code reader 102. The present application embodiment will not be repeated here.

[0066] Next, the data shunting processing method provided by the present application will be explained in detail.

[0067] Figure 2 is a flowchart of a data shunting processing method provided by the present application. The method is applied to Figure 1 the data shunting processing system shown in FIG. 1. In the present application embodiment, the data shunting processing system is applied to a logistics code reading scene as an example. Referring to FIG. 1, Figure 2 the method includes the following steps:

[0068] Step 201: The first code reader sends the first image data to be processed to the second code reader.

[0069] In the present application embodiment, the first code reader and the second code reader can be deployed on the same conveyor belt in the same logistics code reading scene. Wherein, the conveyor belt is used to convey express packages.

[0070] For example, the first code reader 101 and the second code reader 102 are deployed along the conveying direction of the conveyor belt, or the first code reader 101 and the second code reader 102 are deployed side by side along the width direction of the conveyor belt.

[0071] Alternatively, the first code reader 101 and the second code reader 102 are deployed on different conveying belts in the same logistics code reading scene. For example, the first code reader 101 and the second code reader 102 are deployed on two different conveying belts in the same logistics transfer site.

[0072] Alternatively, the first code reader 101 and the second code reader 102 are deployed on different conveying belts in different logistics code reading scenes. For example, the first code reader 101 is deployed on a conveying belt in logistics transfer site 1, and the second code reader 102 is deployed on a conveying belt in logistics transfer site 2.

[0073] In addition, the hardware performance of the first code reader is weaker than the hardware performance of the second code reader. The hardware performance of the first code reader being weaker than the hardware performance of the second code reader can mean that the data processing performance of the master control chip of the first code reader is weaker than the data processing performance of the master control chip of the second code reader. For example, the data processing speed of the master control chip of the first code reader is slower than the data processing speed of the master control chip of the second code reader. In addition, other hardware performance of the first code reader can also be weaker than the corresponding hardware performance of the second code reader, for example, the memory capacity of the first code reader is smaller than the memory capacity of the second code reader, and the like, which are not limited in the embodiments of the present application.

[0074] Exemplarily, the first code reader and the second code reader can both collect image data when a trigger signal is detected to obtain an original face sheet image.

[0075] For example, in the logistics code reading scene, each code reader is connected with a corresponding photoelectric sensor. When the code reader receives the photoelectric signal sent by the photoelectric sensor corresponding to the code reader, the code reader can collect the image of the face sheet on the upper surface of the express package to obtain an original face sheet image.

[0076] After the first code reader collects the original face sheet image, the first code reader can pre-process the collected original face sheet image, and send the image data or preliminary decoding data obtained after the pre-processing as first image data to the second code reader.

[0077] The first code reader can pre-process all the original face sheet images to be processed collected by the first code reader, and send the pre-processed data corresponding to each original face sheet image as a frame of first image data to the second code reader, or pre-process part of the original face sheet images to be processed collected by the first code reader, and send the pre-processed data corresponding to each original face sheet image as a frame of first image data to the second code reader.

[0078] Alternatively, the first code reader can directly send the captured raw waybill image to be processed as the first image data to the second code reader. Similarly, the first code reader can send each frame of the raw waybill image in the part of the raw waybill image to be processed as a frame of the first image data to the second code reader, or can send each frame of the raw waybill image in the whole raw waybill image to be processed as a frame of the first image data to the second code reader.

[0079] For example, if there are 20 frames of raw waybill images to be processed in the first code reader, 10 frames of the raw waybill images can be preprocessed, and then the preprocessed data corresponding to each frame of the raw waybill image is sent as a frame of the first image data to the second code reader. Alternatively, all the 20 frames of the raw waybill images can be preprocessed, and then the preprocessed data corresponding to each frame of the 20 frames of the raw waybill images is sent as a frame of the first image data to the second code reader. In this case, the preprocessing of the raw waybill image can refer to the repair processing such as black level and bad point correction, and the noise reduction processing, and in this case, the preprocessed data refers to the preprocessed image data. Alternatively, the preprocessing of the raw waybill image can also include the preliminary identification of the image, and in this case, the preprocessed data will also include the data obtained by the preliminary identification. For example, the first code reader can perform repair and noise reduction processing on the captured raw waybill image. Then, the processed waybill image is preliminarily identified to obtain the type of the barcode contained in the raw waybill image and the corresponding confidence. Finally, the processed waybill image and the type of the barcode and the confidence obtained by the preliminary identification are sent as a frame of the first image data to the second code reader.

[0080] It should be noted that in the embodiments of the present application, the first code reader and the second code reader can communicate through a 5G network, which can reduce the data transmission time consumption between the first code reader and the second code reader. Accordingly, since the data transmission time consumption between the first code reader and the second code reader is small, the first code reader can also more conveniently offload more data to the second code reader for processing in the case that the hardware resources of the second code reader are sufficient.

[0081] Alternatively, the first code reader and the second code reader can also communicate through a bus channel to improve the data offloading efficiency, which is not limited in the embodiments of the present application.

[0082] In a possible implementation, before sending the first image data to the second code reader, the first code reader can further send a data processing request to the second code reader. The data processing request is used to request the second code reader to process the data shunted by the first code reader. Accordingly, after receiving the data processing request sent by the first code reader, the second code reader feeds back queue information of a current data queue to be processed to the first code reader. After receiving the queue information of the current data queue to be processed, the first code reader sends the first image data to the second code reader according to the queue information.

[0083] It should be noted that the queue information of the current data queue to be processed is used to indicate the current busy degree of the second code reader. The queue information of the current data queue to be processed can be the frame number of the image data in the current data queue to be processed. The more the frame number of the image data in the data queue, the more data waiting to be processed by the second code reader, that is, the busier the second code reader. In this case, after receiving the frame number of the image data in the current data queue to be processed fed back by the second code reader, the first code reader can determine which image data in the image data to be processed by itself to select as the first image data based on the frame number of the image data in the data queue.

[0084] Exemplarily, after receiving the frame number of the image data in the current data queue to be processed, the first code reader can first determine whether the frame number of the image data is greater than a first threshold. When the frame number of the image data in the current data queue to be processed is greater than the first threshold, N frames of first image data are selected from the multiple frames of image data to be processed by the first code reader, N is a positive integer greater than 0, and the first threshold is a critical value for determining the busy degree of the first code reader. N can be the maximum number of shunted data when the first code reader is busy. Alternatively, N can be determined according to the number of data in the current data queue to be processed. In this case, the more the frame number of the image data in the current data queue to be processed, the smaller N is. In addition, when N is greater than 1, the N frames of first image data are odd frames of image data or even frames of image data in the multiple frames of image data to be processed, or the N frames of first image data are continuous image data in the multiple frames of image data to be processed.

[0085] That is, the first code reader determines that the second code reader is currently busy after determining that the number of frames of image data in the data queue is greater than the first threshold. At this time, the first code reader can select odd frame image data or even frame image data from the multiple frames of image data currently to be processed as first image data sent to the second code reader for processing. Alternatively, the first code reader selects N consecutive frames of image data from the multiple frames of image data to be processed as N frames of first image data sent to the second code reader for processing. In this way, the problem that the second code reader cannot process the shunted data of the first code reader in time due to the second code reader being relatively busy and the first code reader shunting too much data can be avoided, the load of the second code reader is reduced, and the real-time performance of data processing is improved.

[0086] Alternatively, when the number of frames of image data in the current data queue to be processed is not greater than the first threshold, it indicates that the second code reader is currently idle. At this time, the first code reader can send all the multiple frames of image data currently to be processed to the second code reader as multiple frames of first image data for processing by the second code reader.

[0087] Alternatively, in a possible implementation, when the first code reader determines that the second code reader is currently busy, the first code reader can also shunt the data pre-processed by itself to the second code reader for processing as first image data. The amount of shunted data can be determined by the first code reader according to the busy degree of the second code reader, and the busy degree of the second code reader can be further divided by the number of frames of image data in the data queue. Further, when the first code reader determines that the second code reader is currently idle, the first code reader can directly shunt the collected original face image to the second code reader for processing without any processing.

[0088] In addition, in a possible implementation, the first code reader can also add a processing identifier in the first image data according to the busy or idle degree of the second code reader to indicate which stage or which type of processing of the first image data is performed by the second code reader.

[0089] For example, when the first code reader determines that the second code reader is busy according to the number of frames of image data in the queue information, the first code reader can add a first processing identifier in each frame of first image data shunted to the second code reader, and the first processing identifier is used to indicate that the second code reader performs a first specified type of processing on the corresponding first image data. When the first code reader determines that the second code reader is idle according to the number of frames of image data in the queue information, the first code reader can add a second processing identifier in each frame of first image data shunted to the second code reader, and the second processing identifier is used to indicate that the second code reader performs a second specified type of processing on the corresponding first image data. The processing resources required by the second specified type of processing are greater than the processing resources required by the first specified type of processing.

[0090] That is, if the first reader learns that the second reader is currently busy, the first reader can carry a first processing identifier in the first image data offloaded to the second reader, the first processing identifier being used to instruct the second reader to perform a first specified type of processing, where the first specified type of processing can refer to a processing with less steps on the first image data, or a processing with less stage(s) consuming less processing resource. If the first reader learns that the second reader is currently idle, the first reader can carry a second processing identifier in the first image data offloaded to the second reader, the second processing identifier being used to instruct the second reader to perform a second specified type of processing, where the second specified type of processing can refer to a processing with more steps on the first image data, or a processing with more stage(s) consuming more processing resource.

[0091] For example, assume that the first image data are all original face images. In this case, if the first reader learns that the second reader is currently busy, the first processing identifier can be carried in the first image data offloaded to the second reader, the first processing identifier being used to instruct the second reader to perform a denoising and repairing processing on the first image data. If the first reader learns that the second reader is currently idle, the second processing identifier can be carried in the first image data offloaded to the second reader, the second processing identifier being used to instruct the second reader to perform a denoising, repairing and decoding processing on the first image data.

[0092] The above is described by taking the frame number of the image data in the current data queue to be processed as an example of the queue information of the current data queue to be processed. Alternatively, the queue information of the current data queue to be processed can also be other information capable of reflecting the busy degree of the second reader. For example, the queue information of the current data queue to be processed can be a total queuing time estimated by the second reader according to the frame number of the image data in the data queue and the time length for processing each image data. In this case, the first reader can determine whether the total queuing time is greater than a pre-set time threshold, where the time threshold can be the maximum queuing time that the offloaded data processing can tolerate. If the total queuing time is greater than the pre-set time threshold, the first reader can determine that the second reader is busy, and then perform data offloading according to the case that the second reader is busy. If the total queuing time is not greater than the pre-set time threshold, it is determined that the second reader is idle, and then the first reader performs data offloading according to the case that the second reader is idle.

[0093] Optionally, in some possible implementation manners, there can be multiple first code readers with the same hardware performance in the data shunting processing system, and at this time, the multiple first code readers can all send data processing requests to the second code reader to request the second code reader to process the shunted data. In this case, the second code reader can receive the data processing requests sent by the multiple first code readers at the same time or in a very short time. At this time, the second code reader can allocate a shunted data share to each first code reader corresponding to the data processing request according to the queue information of the current data queue to be processed and the received multiple data processing requests. Then, the corresponding shunted data share is fed back to each first code reader corresponding to the data processing request. The shunted data share can be the number of frames of image data allowed to be shunted by the corresponding first code reader this time, or other parameters capable of measuring the data amount of the image data shunted by the first code reader. Moreover, the shunted data share corresponding to each first code reader can be the same or different.

[0094] For example, the second code reader can determine the total number of frames of shunted image data that can be processed by itself according to the queue information of the current data queue to be processed. Then, the second code reader can divide the total number of frames of shunted image data that can be processed by the number of first code readers corresponding to the received data processing requests, to obtain the shunted data share corresponding to each first code reader. Alternatively, the second code reader can allocate the corresponding shunted data share to each first code reader according to the weight of the first code reader corresponding to the received multiple data processing requests, wherein the higher the weight of the first code reader, the larger the shunted data share allocated to the first code reader. In addition, the weight of the first code reader can be pre-stored in the second code reader, and the weight of the first code reader can be set according to the position or other information of the first code reader, which is not limited in the embodiments of the present application.

[0095] After receiving the shunted data share fed back by the second code reader, the first code reader can shunt the corresponding number of first image data to the second code reader according to the shunted data share. For example, the shunted data share is the number of frames of image data allowed to be shunted, and then the first code reader can send the first image data of the corresponding number of frames to the second code reader.

[0096] Step 202: After receiving the first image data, the second code reader processes the first image data and the second image data collected by itself.

[0097] In the embodiments of the present application, the second code reader not only processes the first image data shunted by the first code reader, but also processes the second image data collected by itself.

[0098] The second code reader can process the first image data when the second image data collected by the second code reader is processed and no new second image data is collected.

[0099] The second code reader can process the split image data in the time interval of processing the image data collected by the second code reader.

[0100] For example, in the embodiment of the present application, the second code reader can process a frame of image data collected by the second code reader as a core subtask, and process a frame of split image data as an edge subtask. Thus, after the second code reader processes a core subtask, if the image data to be processed by the next core subtask is not collected, the second code reader can process an edge subtask at this time. After the edge subtask is processed, if the image data to be processed by the next core subtask is collected, the second code reader processes the next core subtask, otherwise, the second code reader can continue to process the next edge subtask.

[0101] For example, Figure 3 A schematic diagram of processing the first image data and the second image data collected by the second code reader is shown. As shown in Figure 3 As shown, the first core subtask of the second code reader is to process image frame A1. After image frame A1 is processed, the second code reader can process the first edge subtask, i.e., process image frame B1, because the image frame to be processed by the second core subtask is not collected. After image frame B1 is processed, image frame A2 to be processed by the second core subtask is collected, and the second code reader continues to process the second core subtask. In this way, the second code reader processes the image data split by the first code reader in the waiting interval of processing the image data collected by the second code reader, and the resource utilization of the second code reader is improved.

[0102] Optionally, when the master control chip of the second code reader includes a multi-core processor, each processing core of the second code reader can process the split data sent by the first code reader while processing the data collected by the second code reader. For example, processing core H1 of the second code reader is used to execute the core subtask of image preprocessing of the image data collected by the second code reader. After the core subtask of image preprocessing of a frame of image data collected by the second code reader is executed, the processing core can execute edge subtask 1 of the first code reader M1 in the time interval of waiting for the next frame of image data. Processing core H2 of the second code reader is used to execute the core subtask of decoding the preprocessed image of the image data collected by the second code reader. Thus, after the core subtask of decoding a frame of preprocessed image is executed, the processing core can execute the edge subtask of the first code reader M2 while waiting for the next frame of preprocessed image.

[0103] Step 203: The second code reader sends the intermediate processing result of the first image data to the first code reader.

[0104] In the embodiment of the present application, the second code reader processes the first image data shunted by the first code reader to obtain the intermediate processing result of the first image data. That is, the second code reader has partially processed the first image data, and has not completed the decoding of the first image data to obtain the final decoding data. In this case, the second code reader can feed back the intermediate processing result of the first image data to the first code reader.

[0105] Step 204: The second code reader sends the final decoding data of the second image data collected by itself to the background device.

[0106] In the embodiment of the present application, the second code reader processes the second image data collected by itself to obtain the final decoding data of the second image data collected by itself. In this case, while sending the intermediate processing result of the first image data to the first code reader, the second code reader can also send the final decoding result of the second image data collected by itself to the background device, so that the background device performs subsequent business logic and stores the final decoding data.

[0107] Step 205: The first code reader processes the intermediate processing result of the first image data to obtain the final decoding data of the first image data.

[0108] After receiving the intermediate processing result of the first image data, the first code reader can reprocess the intermediate processing result to obtain the final decoding data. The reprocessing of the intermediate processing result can mean that the intermediate processing result is continuously operated and processed, or that the intermediate processing result is fused with other data.

[0109] For example, when the first image data is the original face sheet image of a courier package, the intermediate processing result can include a preprocessed image obtained by preprocessing the original face sheet image and the type or confidence of the barcode contained in the original face sheet image obtained by preliminarily identifying the preprocessed image. At this time, the first code reader can continue to decode the preprocessed image according to the type and confidence of the barcode to obtain the barcode contained in the original face sheet image. Alternatively, when the intermediate processing result is the barcode obtained by identifying the original face sheet image, the first code reader can fuse the barcode with the original face sheet image to obtain the final decoding data.

[0110] Step 206: The first code reader sends the final decoding data of the first image data to the background device.

[0111] After obtaining the final decoded data of the first image data, the first code reader sends the final decoded data of the first image data to the background device, so that the background device performs subsequent business logic and storage, which is not limited in the embodiments of the present application.

[0112] In the embodiments of the present application, the first code reader with weak hardware performance can offload the image data to be processed to the second code reader with strong hardware performance for processing. In this way, the data channel between the code reader with weak hardware performance and the code reader with strong hardware performance is opened. In this case, when the processing capacity of the code reader with weak hardware performance is insufficient, the code reader with strong hardware performance can be used to share the load. Especially when the code reader with weak hardware performance fails in processing, as long as the communication function of the code reader is normal, the data can be offloaded to the code reader with strong performance for processing, avoiding data being discarded. Moreover, the embodiments of the present application compensate for the insufficient processing capacity of the first code reader with weak hardware performance by improving the hardware resource utilization rate of the second code reader with strong hardware performance, which can reduce the number of deployments of the code reader with strong hardware performance.

[0113] Secondly, in the embodiments of the present application, the second code reader can insert the edge subtask of processing offloaded data into the task gap of the core subtask of processing self-collected data for execution, which reduces the impact on the self-business and improves the hardware resource utilization rate.

[0114] Finally, the second code reader and the first code reader can communicate through the 5G network, thereby reducing the time consumption of data transmission between the two. On this basis, the first code reader can offload more data to the second code reader for processing by using the data transmission advantage of the 5G network, which can further simplify the logic complexity of the first code reader, weaken the hardware performance of the first code reader, and reduce the hardware cost.

[0115] Figure 4 is a flowchart of another data offloading processing method provided by the embodiments of the present application. The method can be applied to Figure 1 the data offloading processing system shown in Figure 4 , and the method comprises the following steps:

[0116] Step 401: The first code reader sends the first image data to be processed to the second code reader, and the first image data is data offloaded from the plurality of image data to be processed of the first code reader.

[0117] The first image data can be raw image data to be processed collected by the first code reader, or an intermediate processing result of the raw image data to be processed after being partially processed by the first code reader but before being finally decoded.

[0118] In addition, the implementation of the step can refer to the implementation of the step 201.

[0119] Step 402: After receiving the first image data, the second code reader processes the first image data and the second image data collected by itself.

[0120] The implementation of the step can refer to the implementation of the step 202, and the difference between the step 202 and the step is that the step 202 obtains the intermediate processing result after processing the first image data, that is, the second code reader has partially processed the first image data, and the final decoding of the first image data is not completed. In the step, the second code reader has completely processed the first image data, and the final decoding data of the first image data is obtained. The final decoding data includes the bar code recognized from the first image data.

[0121] Step 403: The second code reader sends the final decoding data of the first image data and the final decoding data of the second image data collected by itself to the background device.

[0122] Since the second code reader processes the first image data to obtain the final decoding data of the first image data, the second code reader can directly feed back the final decoding data of the first image data to the background device, so that the background device executes subsequent business logic according to the final decoding data of the first image data and stores the final decoding data.

[0123] In addition, the second code reader processes the second image data collected by itself to obtain the final decoding data of the second image data. In this case, the second code reader can also send the obtained final decoding data of the second image data to the background device, so that the background device executes subsequent business logic according to the final decoding data of the second image data and stores the final decoding data.

[0124] In the embodiment of the present application, the first code reader with weak hardware performance can distribute the image data to be processed to the second code reader with strong hardware performance for processing. In this way, the data channel between the first code reader with weak hardware performance and the second code reader with strong hardware performance is opened. In this case, when the processing capacity of the first code reader with weak hardware performance is insufficient, the second code reader with strong hardware performance can share the processing. Especially when the first code reader with weak hardware performance fails in processing, as long as the communication function of the first code reader is normal, the data can be distributed to the second code reader with strong hardware performance for processing, so that the data is not discarded. Moreover, the hardware resource utilization of the second code reader with strong hardware performance is improved to compensate for the insufficient processing capacity of the first code reader with weak hardware performance, so that the number of the second code readers with strong hardware performance deployed can be reduced.

[0125] Secondly, in the embodiment of the present application, when processing the collected data and the distributed data, the second code reader can insert the edge subtask of processing the distributed data into the task gap of the core subtask of processing the collected data, so that the influence on the original business is reduced and the hardware resource utilization is improved.

[0126] Finally, in the embodiment of the present application, the first image data is completely processed by the second code reader to obtain the final decoding data, and then the final decoding data is fed back to the background device. In this way, the logic complexity of the first code reader can be simplified, the hardware performance of the first code reader can be weakened, and the hardware cost can be reduced. At the same time, the processing complexity of the background device can also be reduced.

[0127] Optionally, in some possible implementation manners, after the second code reader processes the first image data and the second image data collected by the second code reader by the above step 402 to obtain the final decoding data of the first image data and the final decoding data of the second image data collected by the second code reader, the second code reader can upload the final decoding data of the second image data collected by the second code reader to the background device, and feed back the final decoding data of the first image data to the first code reader. After receiving the final decoding data of the first image data fed back by the second code reader, the first code reader can upload the final decoding data to the background device. In this way, the background device can know which code reader collects the first image data through the code reader uploading the final decoding data of the first image data.

[0128] Next, the data distribution processing apparatus provided by the embodiment of the present application is introduced.

[0129] Figure 5Figure 1 is a structural schematic diagram of a data shunting processing device 500 provided by an embodiment of the present application. The data shunting processing device 500 can be implemented by software, hardware or a combination of both to become part or all of a code reader, which can be the second code reader shown in Figure 1. Please refer to Figure 1, the device 500 comprises a receiving module 501 and a processing module 502. Figure 1 Figure 5 The device 500 comprises a receiving module 501 and a processing module 502.

[0130] The receiving module 501 is configured to receive first image data shunted by a first code reader, and the hardware performance of the second code reader is higher than that of the first code reader.

[0131] The processing module 502 is configured to process the first image data and second image data collected by itself.

[0132] The sending module 503 is configured to send final decoding data of the second image data collected by itself to a background device and send intermediate processing results of the first image data to the first code reader, or send final decoding data of the first image data and final decoding data of the second image data collected by itself to the background device.

[0133] In a possible implementation, the sending module 503 is further configured to send shunted third image data to a third code reader, and the hardware performance of the third code reader is higher than that of the second code reader.

[0134] The processing module 502 is further configured to process intermediate processing results of the third image data when the receiving module 501 receives the intermediate processing results of the third image data sent by the third code reader, to obtain final decoding data of the third image data.

[0135] The sending module 503 is further configured to send the final decoding data of the third image data to the background device.

[0136] In a possible implementation, the receiving module 501 is further configured to receive a data processing request sent by the first code reader, and the data processing request is used to request the second code reader to process data shunted by the first code reader.

[0137] The sending module 503 is configured to send queue information of a current data queue to be processed to the first code reader, so that the first code reader sends the first image data according to the current data queue to be processed.

[0138] In a possible implementation, the processing module 502 is configured to process the second image data collected by itself, and when the processing of the second image data is completed and the second code reader has not collected new second image data, the first image data is processed.

[0139] ​In a possible implementation, the second code reader and the first code reader communicate through a fifth generation mobile communication (5G) network.

[0140] In a possible implementation, the first image data is an original face sheet image collected by the first code reader, or the first image data is image data obtained by the first code reader after preprocessing an original face sheet image collected by the first code reader, or the first image data includes image data obtained by the first code reader after preprocessing an original face sheet image collected by the first code reader and preliminary decoding data, and the preliminary decoding data includes a type of a barcode included in the original face sheet image and a corresponding confidence level.

[0141] In a possible implementation, the first code reader and the second code reader are deployed on a same conveying belt in a same logistics code reading scene, or the first code reader and the second code reader are deployed on different conveying belts in a same logistics code reading scene, or the first code reader and the second code reader are deployed on different conveying belts in different logistics code reading scenes, where the conveying belt is used to convey express packages.

[0142] In a possible implementation, the sending module 503 is further configured to send, to a third code reader, a data processing request, where the data processing request is used to request the third code reader to process data offloaded by the second code reader; the receiving module 501 is configured to receive queue information of a current data queue to be processed sent by the third code reader; and the sending module 503 is configured to send third image data according to the queue information of the current data queue to be processed sent by the third code reader.

[0143] In a possible implementation, the queue information of the current data queue to be processed includes a frame number of image data in the current data queue to be processed.

[0144] The sending module 503 is configured to, when the frame number of the image data in the current data queue to be processed is greater than a first threshold, select N frames of third image data from the multiple frames of image data to be processed, and send the N frames of third image data to the third code reader, where N is a positive integer greater than 0, when N is greater than 1, the N frames of third image data are odd frame image data or even frame image data in the multiple frames of image data to be processed, or the N frames of first image data are continuous image data in the multiple frames of image data to be processed.

[0145] In a possible implementation, when the N frames of third image data are selected from the multiple frames of image data to be processed and sent to the third code reader, the third image data sent to the third code reader further carries a first processing identifier, and the first processing identifier is used to instruct the third code reader to perform a first specified type of processing on the corresponding third image data.

[0146] In a possible implementation, the sending module 503 is further configured to send the multiple frames of image data to be processed of the terminal as multiple frames of third image data to the third code reader when the number of frames of image data in the current data queue to be processed is not greater than a first threshold.

[0147] In a possible implementation, when the multiple frames of image data to be processed of the terminal are sent as multiple frames of third image data to the third code reader, the third image data sent to the third code reader further carries a second processing identifier, and the second processing identifier is used to instruct the third code reader to perform a second specified type of processing on the corresponding third image data, and the processing resource required by the second specified type of processing is greater than the processing resource required by the first specified type of processing.

[0148] In the embodiments of the present application, the first code reader with weak hardware performance can offload the image data to be processed of the terminal to the second code reader with strong hardware performance for processing. In this way, the data channel between the code reader with weak hardware performance and the code reader with strong hardware performance is opened. In this case, when the processing capability of the code reader with weak hardware performance is insufficient, the code reader with strong hardware performance can be used to share the processing load. In particular, when the code reader with weak hardware performance fails in processing, as long as the communication function of the code reader is normal, the data can be offloaded to the code reader with strong performance for processing, thereby ensuring the data processing efficiency of the entire system. Moreover, the present application improves the hardware resource utilization rate of the second code reader with strong hardware performance to compensate for the insufficient processing capability of the first code reader with weak hardware performance, thereby reducing the number of code readers with strong hardware performance to be deployed.

[0149] It should be noted that the data offloading processing apparatus provided in the above embodiments is only used as an example for illustrating the division of the above functional modules. In actual applications, the above functions can be completed by different functional modules according to needs, that is, the internal structure of the apparatus is divided into different functional modules to complete all or part of the above described functions. In addition, the data offloading processing apparatus and the data offloading processing method provided in the above embodiments belong to the same concept, and the specific implementation process is described in detail in the method embodiments, which will not be described here.

[0150] Figure 6 is a structural schematic diagram of a terminal provided in the embodiments of the present application. Each code reader in the above embodiments can be implemented by the terminal. Among them,

[0151] The terminal 600 can be: a smart camera, a smart robot, a smart phone, a tablet computer, a notebook computer, etc. The terminal 600 can also be referred to as a user code reader, a portable terminal, or other names.

[0152] Generally, the terminal 600 comprises a processor 601 and a memory 602.

[0153] The processor 601 can comprise one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 601 can be implemented in the form of at least one of a DSP (Digital Signal Processing), an FPGA (Field-Programmable Gate Array), a PLA (Programmable Logic Array). The processor 601 can also comprise a main processor and a coprocessor. The main processor is a processor for processing data in an awake state, also referred to as a CPU (Central Processing Unit). The coprocessor is a low-power processor for processing data in a standby state. In some embodiments, the processor 601 can be integrated with a GPU (Graphics Processing Unit) for rendering and drawing content required to be displayed by a display screen. In some embodiments, the processor 601 can further comprise an AI (Artificial Intelligence) processor for processing computing operations related to machine learning.

[0154] The memory 602 can comprise one or more computer-readable storage media, which can be non-transitory. The memory 602 can further comprise a high-speed random access memory, and a nonvolatile memory such as one or more disk storage devices, flash memory devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 602 is configured to store at least one instruction for being executed by the processor 601 to implement the data shunting processing method provided by the method embodiments in the present application.

[0155] In some embodiments, the terminal 600 can further optionally comprise a peripheral reader interface 603 and at least one peripheral reader. The processor 601, the memory 602 and the peripheral reader interface 603 can be connected through a bus or a signal line. Each peripheral reader can be connected to the peripheral reader interface 603 through a bus, a signal line or a circuit board. Specifically, the peripheral reader comprises at least one of a radio frequency circuit 604, a display screen 605, a camera assembly 606, an audio circuit 607, a positioning assembly 608 and a power supply 609.

[0156] The peripheral reader interface 603 can be used to connect at least one peripheral reader associated with I / O (Input / Output) to the processor 601 and the memory 602. In some embodiments, the processor 601, the memory 602 and the peripheral reader interface 603 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 601, the memory 602 and the peripheral reader interface 603 can be implemented on a separate chip or circuit board, and the present embodiments are not limited in this regard.

[0157] The radio frequency circuit 604 is configured to receive and send RF (Radio Frequency) signals, also known as electromagnetic signals. The radio frequency circuit 604 communicates with communication networks and other communication readers through electromagnetic signals. The radio frequency circuit 604 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals into electrical signals. Optionally, the radio frequency circuit 604 includes an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a subscriber identity module card, and the like. The radio frequency circuit 604 can communicate with other terminals through at least one wireless communication protocol. The wireless communication protocol includes but is not limited to: a metropolitan area network, various generations of mobile communication networks (2G, 3G, 4G and 5G), a wireless local area network and / or a WiFi (Wireless Fidelity) network. In some embodiments, the radio frequency circuit 604 can also include NFC (Near Field Communication) related circuitry, and the present application is not limited in this regard.

[0158] The display screen 605 is configured to display a UI (User Interface). The UI can include graphics, text, icons, video, and any combination thereof. When the display screen 605 is a touch display screen, the display screen 605 is further configured to capture touch signals on or above the surface of the display screen 605. The touch signals can be input to the processor 601 as control signals for processing. In this case, the display screen 605 can also be configured to provide virtual buttons and / or virtual keyboard, also known as soft buttons and / or soft keyboard. In some embodiments, the display screen 605 can be one, arranged on the front panel of the terminal 600; in other embodiments, the display screen 605 can be at least two, arranged on different surfaces of the terminal 600 or in a folding design; in other embodiments, the display screen 605 can be a flexible display screen, arranged on a curved surface or a folding surface of the terminal 600. Even, the display screen 605 can also be arranged in an irregular shape other than a rectangle, i.e., a special-shaped screen. The display screen 605 can be made of materials such as LCD (Liquid Crystal Display), OLED (Organic Light-Emitting Diode), etc.

[0159] The camera assembly 606 is configured to capture images or videos. Optionally, the camera assembly 606 includes a front camera and a rear camera. Typically, the front camera is arranged on the front panel of the terminal, and the rear camera is arranged on the back of the terminal. In some embodiments, the rear camera is at least two, which are any one of a main camera, a depth-of-field camera, a wide-angle camera, and a telephoto camera, to realize the background blur function by fusing the main camera and the depth-of-field camera, the panoramic shooting and VR (Virtual Reality) shooting function by fusing the main camera and the wide-angle camera, or other fusion shooting functions. In some embodiments, the camera assembly 606 can further include a flash. The flash can be a single-color-temperature flash or a dual-color-temperature flash. The dual-color-temperature flash refers to the combination of a warm light flash and a cold light flash, which can be used for light compensation under different color temperatures.

[0160] The audio circuit 607 can include a microphone and a speaker. The microphone is used to collect sound waves of a user and an environment, and convert the sound waves into an electrical signal input to the processor 601 for processing, or input to the radio frequency circuit 604 to realize voice communication. The microphone can be multiple for the purpose of stereo sound collection or noise reduction, and arranged at different parts of the terminal 600. The microphone can also be an array microphone or an omnidirectional collection microphone. The speaker is used to convert an electrical signal from the processor 601 or the radio frequency circuit 604 into sound waves. The speaker can be a conventional diaphragm speaker, or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can not only convert an electrical signal into a sound wave audible to humans, but also convert an electrical signal into a sound wave inaudible to humans for ranging purposes. In some embodiments, the audio circuit 607 can also include a headphone jack.

[0161] The positioning component 608 is used to position the current geographic location of the terminal 600 to realize navigation or LBS (Location Based Service). The positioning component 608 can be a positioning component based on the GPS (Global Positioning System) of the United States, the Beidou system of China, the Glonass system of Russia, or the Galileo system of the European Union.

[0162] The power supply 609 is used to supply power to various components in the terminal 600. The power supply 609 can be alternating current, direct current, disposable batteries, or rechargeable batteries. When the power supply 609 includes rechargeable batteries, the rechargeable batteries can support wired charging or wireless charging. The rechargeable batteries can also be used to support fast charging technology.

[0163] In some embodiments, the terminal 600 also includes one or more sensors 610. The one or more sensors 610 include, but are not limited to, an acceleration sensor 611, a gyroscope sensor 612, a pressure sensor 613, a fingerprint sensor 614, an optical sensor 615, and a proximity sensor 616.

[0164] The acceleration sensor 611 can detect the acceleration in three coordinate axes of the coordinate system established by the terminal 600. For example, the acceleration sensor 611 can be used to detect the components of gravitational acceleration in three coordinate axes. The acceleration sensor 611 can also be used for gaming or collection of user motion data.

[0165] The gyroscope sensor 612 can detect the body orientation and rotation angle of the terminal 600. The gyroscope sensor 612 can work with the acceleration sensor 611 to collect 3D motion of the terminal 600. According to the data collected by the gyroscope sensor 612, the processor 601 can realize the following functions: motion sensing, image stabilization when shooting, game control, and inertial navigation.

[0166] The pressure sensor 613 can be disposed on the side bezel of the terminal 600 and / or on the lower layer of the display screen 605. When the pressure sensor 613 is disposed on the side bezel of the terminal 600, it can detect the user's grip signal on the terminal 600, and the processor 601 can perform left / right hand recognition or quick operation based on the grip signal collected by the pressure sensor 613. When the pressure sensor 613 is disposed on the lower layer of the display screen 605, the processor 601 can control the operable controls on the UI interface based on the user's pressure operation on the display screen 605. The operable controls include at least one of button controls, scroll bar controls, icon controls, and menu controls.

[0167] The fingerprint sensor 614 is used to collect a user's fingerprint. The processor 601 identifies the user based on the fingerprint collected by the fingerprint sensor 614, or vice versa. When the user's identity is identified as trusted, the processor 601 authorizes the user to perform relevant sensitive operations, including unlocking the screen, viewing encrypted information, downloading software, making payments, and changing settings. The fingerprint sensor 614 can be located on the front, back, or side of the terminal 600. When the terminal 600 has physical buttons or a manufacturer's logo, the fingerprint sensor 614 can be integrated with the physical buttons or manufacturer's logo.

[0168] An optical sensor 615 is used to collect ambient light intensity. In one embodiment, the processor 601 can dynamically adjust the shooting parameters of the camera assembly 606 based on the ambient light intensity collected by the optical sensor 615.

[0169] The proximity sensor 616, also known as a distance sensor, is typically mounted on the front panel of the terminal 600. The proximity sensor 616 is used to detect the distance between the object and the front of the terminal 600.

[0170] Those skilled in the art will understand that Figure 6 The structure shown does not constitute a limitation on terminal 600, and may include more or fewer components than shown, or combine certain components, or use different component arrangements.

[0171] This application also provides a non-transitory computer-readable storage medium that, when the instructions in the storage medium are executed by the processor of a terminal, enables the terminal to perform the data offloading processing method provided in the above embodiment. For example, the computer-readable storage medium may be ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage reader, etc.

[0172] It is worth noting that the computer readable storage medium mentioned in the embodiments of the present application can be a non-volatile storage medium, in other words, can be a non-transitory storage medium.

[0173] The embodiments of the present application also provide a computer program product containing instructions, which, when running on a terminal, causes the terminal to execute the data shunting processing method provided by the above-mentioned embodiments.

[0174] The above description is not intended to limit the embodiments of the present application, and any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the embodiments of the present application shall be included in the protection scope of the embodiments of the present application.

Claims

1. A data offload processing system, characterized by, The data shunting processing system comprises a first code reader and a second code reader, the hardware performance of the first code reader is lower than that of the second code reader; The first code reader is configured to send first image data to be processed to the second code reader, the first image data being original image data to be processed collected by the first code reader; The second code reader is configured to receive the first image data and process the first image data and second image data collected by the second code reader; The second code reader is configured to send final decoding data of the first image data to the first code reader. The first code reader is further configured to, when receiving the final decoding data of the first image data sent by the second code reader, send the final decoding data of the first image data to the background device. Alternatively, The first code reader is configured to send first image data to be processed to the second code reader, the first image data being intermediate processing results of the first code reader on original image data collected by the first code reader and not yet completed final decoding. The second code reader is configured to receive the first image data and process the first image data and second image data collected by the second code reader. The second code reader is configured to send final decoding data of the first image data to the first code reader. The first code reader is further configured to, when receiving the final decoding data of the first image data sent by the second code reader, send the final decoding data of the first image data to the background device.

2. The data shunting processing system according to claim 1, wherein The first code reader is further configured to send a data processing request to the second code reader, the data processing request being configured to request the second code reader to process data shunted by the first code reader. The second code reader is configured to, when receiving the data processing request, send queue information of a current data queue to be processed to the first code reader. The first code reader is configured to send the first image data according to the queue information of the current data queue to be processed.

3. The data offload processing system of claim 2, wherein, The queue information of the current data queue to be processed comprises frame numbers of image data in the current data queue to be processed. The first code reader is configured to, when the frame numbers of the image data in the current data queue to be processed are greater than a first threshold, select N frames of first image data from the multiple frames of image data to be processed, and send the N frames of first image data to the second code reader, the N being a positive integer greater than 0, wherein, when the N is greater than 1, the N frames of first image data are odd frame image data or even frame image data in the multiple frames of image data to be processed, or the N frames of first image data are continuous image data in the multiple frames of image data to be processed.

4. The data offload processing system of claim 3, wherein, When the first code reader sends N frames of first image data from the multiple frames of image data to be processed of the first code reader to the second code reader, the first image data sent to the second code reader also carries a first processing identifier, and the first processing identifier is used to instruct the second code reader to perform a first specified type of processing on the corresponding first image data.

5. The data shunting processing system of claim 4, wherein, When the first code reader sends the multiple frames of image data to be processed of the first code reader to the second code reader as the multiple frames of first image data, the first image data sent to the second code reader also carries a second processing identifier, and the second processing identifier is used to instruct the second code reader to perform a second specified type of processing on the corresponding first image data, and the second specified type of processing requires more processing resources than the first specified type of processing.

6. The data offload processing system of claim 5, wherein, 7. The data shunting processing system of claim 1, wherein, The second code reader is configured to process the second image data collected by the second code reader. When the processing of the second image data is completed and the second code reader has not collected new second image data, the second code reader is further configured to process the first image data. The first code reader and the second code reader communicate with each other through a fifth generation mobile communication (5G) network.

8. The data offload processing system of any of claims 1-7, wherein, The first image data is a raw face sheet image collected by the first code reader, or the first image data is image data obtained by the first code reader after preprocessing a raw face sheet image collected by the first code reader, or the first image data includes image data obtained by the first code reader after preprocessing a raw face sheet image collected by the first code reader and preliminary decoding data, and the preliminary decoding data includes a type of a barcode included in the raw face sheet image and a corresponding confidence level.

9. The data offload processing system of any of claims 1-7, wherein, The first code reader and the second code reader are deployed on the same conveyor belt in the same logistics code reading scene, or the first code reader and the second code reader are deployed on different conveyor belts in the same logistics code reading scene, or the first code reader and the second code reader are deployed on different conveyor belts in different logistics code reading scenes, and the conveyor belt is used to convey express packages.

10. The data offload processing system of any of claims 1-7, wherein, The method is applied to a local code reader in a data shunting processing system, and the data shunting processing system further includes a remote code reader.

11. A data offload processing method, comprising: When the hardware performance of the local code reader is lower than the hardware performance of the remote code reader, the method comprises: ​ The local code reading device sends first image data to be processed to the opposite code reading device, the first image data being original image data to be processed collected by the local code reading device; when receiving intermediate processing results of the first image data sent by the opposite code reading device, the local code reading device processes the intermediate processing results of the first image data to obtain final decoding data of the first image data, and sends the final decoding data of the first image data to a background device; Alternatively, the local code reading device sends first image data to be processed to the opposite code reading device, the first image data being intermediate processing results of original image data collected by the local code reading device after partial processing and before final decoding; when receiving final decoding data of the first image data sent by the opposite code reading device, the local code reading device sends the final decoding data of the first image data to the background device; When the hardware performance of the local code reading device is higher than that of the opposite code reading device, the method comprises: The local code reading device receives first image data to be processed sent by the opposite code reading device, the first image data being original image data to be processed collected by the opposite code reading device; the local code reading device processes the first image data and second image data collected by itself; the local code reading device sends final decoding data of the second image data collected by itself to a background device and sends intermediate processing results of the first image data to the opposite code reading device; Alternatively, the local code reading device receives first image data to be processed sent by the opposite code reading device, the first image data being intermediate processing results of original image data collected by the opposite code reading device after partial processing and before final decoding; the local code reading device processes the first image data and second image data collected by itself; the local code reading device sends final decoding data of the first image data and final decoding data of the second image data collected by itself to the background device or sends final decoding data of the first image data to the opposite code reading device.

12. A data offload processing device, characterized by, The device is applied to a second code reading device, and the device comprises: A receiving module is configured to receive first image data to be processed shunted by a first code reading device, the hardware performance of the first code reading device being lower than that of the second code reading device, the first image data being original image data to be processed collected by the first code reading device; A processing module is configured to process the first image data and second image data collected by itself; A sending module is configured to send final decoding data of the second image data collected by itself to a background device and send intermediate processing results of the first image data to the first code reading device; Alternatively, The receiving module is configured to receive first image data to be processed shunted by the first code reading device, the first image data being intermediate processing results of original image data collected by the first code reading device after partial processing and before final decoding, or The processing module is configured to process the first image data and second image data collected by itself. The sending module is configured to send final decoding data of the first image data and final decoding data of the second image data collected by itself to the background device, or send the final decoding data of the first image data to the first code reader.

13. The apparatus of claim 12, wherein, The sending module is further configured to send the shunted third image data to be processed to a third code reader, the hardware performance of the third code reader being higher than that of the second code reader. The processing module is further configured to process the intermediate processing result of the third image data sent by the third code reader when the receiving module receives the intermediate processing result, to obtain final decoding data of the third image data. The sending module is further configured to send the final decoding data of the third image data to the background device.

Citation Information

Patent Citations

  • Coding task scheduling method and device, equipment and storage medium

    CN112346845A