Data processing method and device, equipment and medium
Through boundary information detection and frequency analysis processing, the code error problem caused by data conflicts of multiple devices is solved, and high concurrency data transmission is realized, avoiding transmission redundancy and delay.
Patent Information
- Application Number
- CN202310728922.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-16
- Publication Date
- 2024-12-17
AI Technical Summary
When multiple devices send data to the control center at the same time, interference and conflicts may be caused, resulting in code errors and packet collection failures. The prior art is solved by retransmission or adding error correction codes, but this will cause transmission redundancy and delay.
By obtaining the boundary information of the transmission signal, detecting whether the data packet is a conflicting data packet, and analyzing the target transmission signal according to the frequency component, restoring the conflicting data is performed, avoiding the dependence on error correction codes and reducing the probability of retransmission.
Effectively separate and resolve code errors caused by conflicts, improve data transmission concurrency, and reduce redundancy and delay.
Smart Images

Figure CN119155362A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer and communication technology, and in particular to a data processing method, a data processing device, an electronic device, and a computer-readable storage medium. Background Art
[0002] In various scenarios, it is usually necessary to deploy multiple devices and send interactive response data through a control center; however, when multiple devices send data to the control center at the same time, interference and conflict problems may occur, resulting in the control center being unable to correctly receive the data packet, resulting in bit errors and packet reception failures; current technical solutions perform bit error recovery by retransmission or adding error correction codes, but these solutions will cause large transmission redundancy and transmission delays. Summary of the invention
[0003] The embodiments of the present application provide a data processing method, a data processing device, an electronic device, a computer-readable storage medium and a computer program product, which can effectively separate and parse multiple data with errors due to conflicts, do not rely on error correction codes and greatly reduce the probability of retransmission, thereby improving data transmission concurrency.
[0004] Other features and advantages of the present application will become apparent from the following detailed description, or may be learned in part by the practice of the present application.
[0005] In a first aspect, an embodiment of the present application provides a data processing method, comprising: obtaining a transmission signal to be processed, wherein the transmission signal includes a data packet; extracting boundary information of the transmission signal, wherein the boundary information is used to characterize the start and end of the transmission signal; if the data packet is detected as a conflicting data packet according to the boundary information of the transmission signal, determining a target transmission signal corresponding to the conflicting data in the data packet from the transmission signal, and parsing the frequency of the target transmission signal according to the frequency component of the transmission signal to obtain the parsed frequency of the target transmission signal; and restoring the conflicting data based on the parsed frequency of the target transmission signal.
[0006] In the second aspect, an embodiment of the present application also provides a data processing device, which includes: an acquisition module for acquiring a transmission signal to be processed, wherein the transmission signal includes a data packet; an extraction module for extracting boundary information of the transmission signal, wherein the boundary information is used to characterize the start and end of the transmission signal; a parsing module for determining a target transmission signal corresponding to the conflicting data in the data packet from the transmission signal if the data packet is detected as a conflicting data packet according to the boundary information of the transmission signal, and parsing the frequency of the target transmission signal according to the frequency component of the transmission signal to obtain the parsed frequency of the target transmission signal; and a restoration module for restoring the conflicting data based on the parsed frequency of the target transmission signal.
[0007] In a third aspect, an embodiment of the present application provides an electronic device, comprising one or more processors; and a storage device for storing one or more computer programs, so that when the one or more computer programs are executed by the one or more processors, the electronic device implements the data processing method as described above.
[0008] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor of an electronic device, the electronic device executes the data processing method as described above.
[0009] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program, wherein the computer program is stored in a computer-readable storage medium, and a processor of an electronic device reads and executes the computer program from the computer-readable storage medium, so that the electronic device performs the data processing method as described above.
[0010] In the technical solution provided in the embodiments of the present application, a transmission signal to be processed is obtained, the transmission signal includes a data packet; boundary information of the transmission signal is extracted, and the boundary information is used to characterize the start and end of the transmission signal; whether the data packet is a conflicting data packet is detected by the boundary information of the transmission information to improve the accuracy of the data packet type judgment; if the data packet is a conflicting data packet, the target transmission signal corresponding to the conflicting data in the data packet is determined from the transmission signal, and the frequency of the target transmission signal is analyzed according to the frequency component of the transmission signal to obtain the analyzed frequency of the target transmission signal; the conflicting data is restored based on the analyzed frequency of the target transmission signal, and through the analysis of the target transmission signal, multiple data with errors caused by conflicts can be effectively separated and analyzed, which does not rely on error correction codes and greatly reduces the probability of retransmission, thereby improving data transmission concurrency.
[0011] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Figure 1 It is a schematic diagram of an implementation environment involved in this application;
[0013] Figure 2 It is a schematic diagram of an implementation environment involved in this application;
[0014] Figure 3 is a flow chart of a data processing method shown in an exemplary embodiment of the present application;
[0015] Figure 4 is a flow chart of another data processing method shown in an exemplary embodiment of the present application;
[0016] Figure 5 is a flow chart of another data processing method shown in an exemplary embodiment of the present application;
[0017] Figure 6 is a flow chart of another data processing method shown in an exemplary embodiment of the present application;
[0018] Figure 7 is a flow chart of another data processing method shown in an exemplary embodiment of the present application;
[0019] Figure 8 is a flow chart of another data processing method shown in an exemplary embodiment of the present application;
[0020] Fig. 9 is a flow chart of another data processing method shown in an exemplary embodiment of the present application;
[0021] Fig.10 is a flow chart of another data processing method shown in an exemplary embodiment of the present application;
[0022] Fig.11 is a flow chart of another data processing method shown in an exemplary embodiment of the present application;
[0023] Fig.12 is a flow chart of another data processing method shown in an exemplary embodiment of the present application;
[0024] Fig.13 is a flow chart of a data processing method shown in another exemplary embodiment of the present application;
[0025] Fig.14 is a flow chart of another data processing method shown in another exemplary embodiment of the present application;
[0026] Fig.15 is a flow chart of another data processing method shown in another exemplary embodiment of the present application;
[0027] Fig.16 is a structural block diagram of a data processing device shown in an exemplary embodiment of the present application;
[0028] Fig.17 A schematic diagram of the structure of a computer system suitable for implementing an electronic device of an embodiment of the present application is shown. DETAILED DESCRIPTION
[0029] Here, exemplary embodiments will be described in detail, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are only examples of devices and methods consistent with some aspects of the present application as detailed in the attached claims.
[0030] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0031] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps can be decomposed, and some operations / steps can be combined or partially combined, so the actual execution order may change according to actual conditions.
[0032] It should also be noted that the "multiple" mentioned in this application refers to two or more than two. "And / or" describes the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship.
[0033] The technical solution of the embodiment of the present application can be applied to the technical field involving cloud technology. Before introducing the technical solution of the embodiment of the present application, a brief introduction to cloud technology is given. Cloud technology refers to a hosting technology that unifies a series of resources such as hardware, software, and network in a wide area network or a local area network to realize data calculation, storage, processing, and sharing.
[0034] Cloud computing is the product of the development and integration of traditional computer and network technologies such as grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, and load balancing.
[0035] Based on cloud computing, the control center device in the embodiment of the present application may be a virtualized product, such as a virtual reality control center device.
[0036] In one example, the embodiment of the present application also relates to cloud gaming, which can also be called gaming on demand, which is an online gaming technology based on cloud computing technology. Cloud gaming technology enables thin clients with relatively limited graphics processing and data computing capabilities to run high-quality games. In a cloud gaming scenario, the game is not run on the player's game terminal, but on a cloud server, and the cloud server renders the game scene as a video and audio stream, which is transmitted to the player's game terminal through the network; the player's game terminal does not need to have powerful graphics computing and data processing capabilities, but only needs to have basic streaming media playback capabilities and the ability to obtain player input instructions and send them to the cloud server.
[0037] Based on cloud gaming, in the embodiment of the present application, the control center device may be a cloud server, and the sending end may be a player game terminal, so that multiple player game terminals may interact with the cloud server.
[0038] In one example, the embodiment of the present application also involves cloud technology. Cloud conferencing is an efficient, convenient, and low-cost conference format based on cloud computing technology. Users only need to use the Internet interface to perform simple and easy-to-use operations to quickly and efficiently share voice, data files, and videos with teams and customers around the world. The cloud conferencing service provider helps users operate complex technologies such as data transmission and processing during the meeting.
[0039] Based on cloud technology, in the embodiment of the present application, the control center device is a conference center server, and the sending end is each conference terminal, so that multiple conference terminals can send data to the conference center server.
[0040] The technical solution of the embodiment of the present application can also be applied to cloud technology at the same time. The technical solution of the embodiment of the present application is described in detail below:
[0041] See also Figure 1 , Figure 1 1 is a schematic diagram of an implementation environment involved in the present application. The implementation environment includes a control center device 10 and multiple transmitting terminals 20. The control center device 10 and the multiple transmitting terminals 20 communicate with each other via a wireless or wired network.
[0042] A plurality of sending ends send interactive response data to the control center device, wherein the data can be transmitted via a transmission signal.
[0043] The control center device 10 obtains a transmission signal to be processed, wherein the transmission signal includes a data packet; extracts boundary information of the transmission signal, wherein the boundary information is used to characterize the start and end of the transmission signal; if the data packet is detected as a conflicting data packet according to the boundary information of the transmission signal, a target transmission signal corresponding to the conflicting data in the data packet is determined from the transmission signal, and the frequency of the target transmission signal is analyzed according to the frequency component of the transmission signal to obtain the analyzed frequency of the target transmission signal; and the conflicting data is restored based on the analyzed frequency of the target transmission signal.
[0044] After the control center device performs restoration processing on the conflicting data, it can process the restored data accordingly and feed it back to the sending end.
[0045] The aforementioned sending end can be an electronic device such as a smart phone, tablet, laptop computer, computer, intelligent voice interaction device, smart home appliance, vehicle-mounted terminal, aircraft, etc.; the control center equipment can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network) and basic cloud computing services such as big data and intelligent platforms. No restrictions are imposed here.
[0046] Figure 2 It is a schematic diagram of another implementation environment involved in the present application. The implementation environment is applied to a virtual reality scenario. Multiple smart devices report data to a virtual reality center device concurrently. The implementation environment includes: multiple smart devices, a control center device and a virtual reality server. The control center device is a virtual reality center device. The smart device is a smart device running a Bluetooth protocol, such as a VR helmet device. The virtual reality center device is a smart box device and needs to have at least one wireless protocol, such as Bluetooth.
[0047] The smart device is used to send the state control data to the virtual reality center device through the Bluetooth signal, and the virtual reality center device obtains the transmission signal to be processed, that is, the Bluetooth signal, and the transmission signal contains a data packet; extracts the boundary information of the transmission signal, such as the start symbol sequence and the end symbol sequence of the transmission signal, and detects whether the data packet is a conflict data packet according to the boundary information of the transmission signal. If the data packet is a conflict data packet, the target transmission signal corresponding to the conflict data in the data packet is determined from the transmission signal, and the frequency of the target transmission signal is analyzed according to the frequency component of the transmission signal to obtain the analyzed frequency of the target transmission signal; and the conflict data is restored based on the analyzed frequency of the target transmission signal.
[0048] The virtual reality center device transmits the data packet containing the restored data to the virtual reality server, and the virtual reality server processes the data of the smart device and feeds it back to the virtual reality center device. The virtual reality center device then sends the feedback information to the corresponding smart device via a Bluetooth signal, and the smart device performs the corresponding operation.
[0049] It should be noted that in the specific implementation of the present application, if the data in the data package is related to an object, when the embodiment of the present application is applied to a specific product or technology, it is necessary to obtain the permission or consent of the object, and the collection, use and processing of the relevant data need to comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0050] The following is a detailed description of various implementation details of the technical solution of the embodiment of the present application:
[0051] like Figure 3 As shown, Figure 3 is a flowchart of a data processing method according to an embodiment of the present application, which can be applied to Figure 1 or Figure 2 In the implementation environment shown, the method may be executed by a control center device, and the data processing method may include steps S310 to S340, which are described in detail as follows:
[0052] S310: Acquire a transmission signal to be processed, where the transmission signal includes a data packet.
[0053] In an embodiment of the present application, data is transmitted by signals, and the control center device can receive transmission signals transmitted by other devices through a communication channel, and use the received transmission signals as transmission signals to be processed, wherein the transmission signals include data packets from other devices.
[0054] The control center device may receive transmission signals transmitted by one or more other devices in real time, or may continuously receive transmission signals transmitted by one or more other devices within a preset time period.
[0055] If the transmission signal to be processed corresponds to multiple other devices, the transmission signal includes multiple groups of transmission signals, each group of transmission signals corresponds to one other device, and the data packet in the transmission signal includes data from multiple other devices.
[0056] S320: extract boundary information of the transmission signal, where the boundary information is used to represent the start and end of the transmission signal.
[0057] In an embodiment of the present application, the transmission signal is a complete signal with a start and an end, and the boundary information of the transmission signal needs to be extracted. The boundary information is used to characterize the start and end of the transmission signal, and the data content of the corresponding data packet can be determined by the boundary information.
[0058] In one example, the transmission signal includes a start signal, an end signal and other signals, and the symbol sequences of the start signal and the end signal are different from those of the other signals. Therefore, the signal of the transmission information can be traversed, and the start signal and the end signal of the transmission signal can be extracted by matching the sequence to generate boundary information.
[0059] S330. If it is detected that the data packet is a conflicting data packet according to the boundary information of the transmission signal, the target transmission signal corresponding to the conflicting data in the data packet is determined from the transmission signal, and the frequency of the target transmission signal is analyzed according to the frequency component of the transmission signal to obtain the analyzed frequency of the target transmission signal.
[0060] In an embodiment of the present application, whether a conflict occurs in the content of a data packet through the boundary information of the transmission information can be determined, and then whether the data packet is a conflicting data packet can be detected; for example, whether a data packet is a conflicting data packet can be preliminarily detected based on the order of the starting point and the ending point in the boundary information in the transmission information; if the transmission information includes two starts and two ends, the starting point and the ending point of the data packet in which no conflict occurs should exist alternately, such as start, end, start and end; and if two starts exist continuously in the boundary information of the transmission information, then the content of the data packet must conflict, and the data packet is a conflicting data packet.
[0061] In an embodiment of the present application, if a data packet is detected as a conflicting data packet based on the boundary information of the transmission signal, it is necessary to first determine the conflicting data in the data packet and restore the conflicting data; in an embodiment of the present application, it is necessary to restore the conflicting data based on the transmission signal corresponding to the conflicting data, and it is necessary to determine the target transmission signal corresponding to the conflicting data from the transmission signal; wherein, the part where signal superposition occurs can be determined from the transmission signal, and the part where the signal superposition occurs can be used as the target transmission signal.
[0062] It can be understood that if the data packet is a conflicting data packet, the transmission signal must include the conflicting signal after the signal superposition occurs, and the frequency component of the transmission signal must also include the superimposed frequency, wherein the frequency component of the transmission signal refers to the distribution of the signal in the frequency domain, that is, the signal can be composed of the superposition of sinusoidal functions of different frequencies; and the signal can still be demodulated when a conflict occurs, so the frequency of the target transmission signal can be analyzed through the frequency component of the transmission signal to obtain the analyzed frequency of the target transmission signal; the analyzed frequency of the target transmission signal refers to the original signal frequency when the target transmission signal is sent.
[0063] S340: restore the conflicting data based on the resolution frequency of the target transmission signal.
[0064] In the embodiment of the present application, the original bit value of the conflicting data can be determined according to the parsing frequency of the target transmission signal, and the conflicting data can be restored by the original bit value to determine the original data. For example, in the BLE 5.0 specification, when the physical layer rate is 1Mbps, two frequencies of 240kHz and 360kHz are used to represent bit 0 and bit 1.
[0065] In an embodiment of the present application, a transmission signal to be processed is obtained, the transmission signal including a data packet; boundary information of the transmission signal is extracted, the boundary information is used to characterize the start and end of the transmission signal; whether the data packet is a conflicting data packet is detected through the boundary information of the transmission information, so as to improve the accuracy of the judgment of the data packet type; if the data packet is a conflicting data packet, a target transmission signal corresponding to the conflicting data in the data packet is determined from the transmission signal, and the frequency of the target transmission signal is analyzed according to the frequency component of the transmission signal to obtain the analyzed frequency of the target transmission signal; the conflicting data is restored based on the analyzed frequency of the target transmission signal, and through the analysis of the target transmission signal, multiple data with errors caused by conflicts can be effectively separated and analyzed, which does not rely on error correction codes and greatly reduces the probability of retransmission, thereby improving data transmission concurrency.
[0066] In one embodiment of the present application, another data processing method is provided, which can be applied to Figure 1 or Figure 2 In the implementation environment shown, the method can be executed by a control center device, such as Figure 4 As shown in Figure 3 Based on S310 to S340 shown in Figure 3 The step S320 shown in FIG. 1 is expanded into steps S410 to S430. Steps S410 to S430 are described in detail as follows:
[0067] S410: Store the transmission signal received through the preset protocol channel in a sliding window signal array.
[0068] In an embodiment of the present application, a control center device receives a transmission signal through a preset protocol channel, which corresponds to the protocol of the transmission signal. The control center device stores the received transmission information in a preset data structure, namely, a sliding window signal array. Each element in the signal array, namely, the transmission signal is a complex signal, consisting of two parts, a real number and an imaginary number, which represent the amplitude and phase of the signal.
[0069] S420: Detect whether the transmission signal in the sliding window signal array includes a start symbol sequence and an end symbol sequence according to the correlation of the signal.
[0070] After the transmission signal is stored in the sliding window signal array, the sliding window signal array includes all the transmission signals, and whether the transmission signal in the sliding window signal array includes the start symbol sequence and the end symbol sequence can be detected by the correlation of the signals. In one example, the correlation between the transmission signal in the sliding window signal array and the start symbol sequence and the end symbol sequence can be calculated to determine whether the transmission signal includes the start symbol sequence and the end symbol sequence.
[0071] Among them, the start symbol sequence and the end symbol sequence are two fixed symbol sequences, which are special sequences used to identify the start and end in the signal, and are also used to identify the start and end of a Bluetooth data packet. The symbol refers to the modulated signal unit, such as a Gaussian pulse in GFSK (Gauss frequency Shift Keying) modulation; it can be understood that the length of the sliding window in the sliding window signal array is greater than the symbol length of the start symbol sequence and the end symbol sequence to ensure that the sliding window signal array can contain the complete start symbol sequence and the end symbol sequence.
[0072] S430: If the transmission signal in the sliding window signal array includes a start symbol sequence and an end symbol sequence, generate boundary information of the transmission signal according to each start symbol sequence and each end symbol sequence included.
[0073] In an embodiment of the present application, the transmission signal in the sliding window signal array includes a start symbol sequence and an end symbol sequence, then it is necessary to collect all symbol sequences and end symbol sequences, and generate boundary information of the transmission signal according to each start symbol sequence and each end symbol sequence, that is, the boundary information is composed of the start symbol sequence and the end symbol sequence.
[0074] In an example, each start symbol sequence and end symbol sequence may be sorted according to the detection order of the start symbol sequence and the end symbol sequence to generate boundary information.
[0075] In one example, the start symbol sequences and the end symbol sequences may be sorted according to the detection order of the start symbol sequences and the end symbol sequences and the position of each start symbol sequence and the combined symbol sequence in the sliding window signal array to generate boundary information.
[0076] It should be noted that Figure 4 For more detailed description of steps S310, S330-S340, please refer to Figure 3 The steps S310, S330-S340 shown are not described in detail here.
[0077] In an embodiment of the present application, the transmission information is stored in a sliding window signal array, and the start symbol sequence and the end symbol sequence contained in the transmission signal are detected based on the correlation of the signal, which can ensure the accuracy of the detection, and then generate boundary information based on the start symbol sequence and the end symbol sequence to ensure the reliability of boundary information extraction.
[0078] The present application provides another data processing method, which can be applied to Figure 1 or Figure 2 In the implementation environment shown, the method can be executed by a control center device, such as Figure 5 As shown in Figure 4 Based on the above, S420 is expanded to S510-S520. Steps S510-S520 are described in detail as follows:
[0079] S510, determining a start correlation and an end correlation of the transmission signal in the sliding window signal array according to the transmission signal in the sliding window signal array and the complex conjugate of the start symbol sequence and the end symbol sequence.
[0080] In an embodiment of the present application, the starting sequence number sequence and the ending symbol sequence are also a transmission signal, and the transmission signal is a complex signal, consisting of two parts, real and imaginary, representing the amplitude and phase of the signal. The complex conjugate of the starting symbol sequence and the ending symbol sequence is to invert the imaginary part of the complex number.
[0081] In one example, the transmission signal in the sliding window signal array is multiplied by the complex conjugate of the start symbol sequence to obtain the start correlation of the transmission signal; the transmission signal in the sliding window signal array is multiplied by the complex conjugate of the end symbol sequence to obtain the end correlation of the transmission signal.
[0082] S520: If the start correlation and the end correlation are respectively greater than the preset correlation thresholds, it is detected that the transmission signal in the sliding window signal array includes a start symbol sequence and an end symbol sequence.
[0083] In the embodiment of the present application, a preset correlation threshold corresponding to the start correlation and a preset correlation threshold corresponding to the end correlation are respectively provided. If the start correlation and the end correlation of the transmission signal determined in S510 are respectively greater than the preset correlation thresholds, it indicates that the existence of a symbol sequence is detected, that is, the transmission signal in the sliding window signal array includes a start symbol sequence and an end symbol sequence.
[0084] In an example, if the starting correlation of a transmission signal is greater than a preset correlation threshold, the transmission signal may be used as the starting symbol sequence.
[0085] It should be noted that Figure 5 For detailed description of steps S310, S410, S430, S330-S340, please refer to Figure 4 The steps S310, S410, S430, S330-S340 shown are not repeated here.
[0086] In an embodiment of the present application, the start correlation and end correlation of the transmission signal in the sliding window signal array are determined by the transmission signal in the sliding window signal array and the complex conjugate of the start symbol sequence and the end symbol sequence, and then based on the start correlation and the end correlation and a preset correlation threshold, the detection accuracy of the start symbol sequence and the end symbol sequence is improved.
[0087] The present application also provides another data processing method, which can be applied to Figure 1 or Figure 2 In the implementation environment shown, the method can be executed by a control center device, such as Figure 6 As shown in Figure 4 Based on the above, S610 to S620 are added. Steps S610 to S620 are described in detail as follows:
[0088] S610: Store boundary information into a detection array, where each element of the detection array includes a signal type of a symbol sequence and a signal position of the symbol sequence in a sliding window signal array.
[0089] In an embodiment of the present application, a data storage structure is preset, namely, a detection array, and boundary information is stored in the detection array. Each element in the detection array is a two-tuple, which records the signal type of the symbol sequence, namely, the starting symbol sequence or the ending symbol sequence type; and also records the signal position of the symbol sequence in the sliding window signal array, namely, at what position of the sliding window signal array a starting symbol sequence or an ending symbol sequence is detected, such as (start, 5) indicates that a starting symbol sequence is detected at the 5th position in the sliding window.
[0090] In one example, the order of elements in the detection array is determined based on the signal position of the elements, that is, the earlier the signal position is, the earlier the element is ranked. For example, the detection array includes (A, 1), (A, 3), (A, 7), etc., where A is the signal type.
[0091] S620, traverse each element in the detection array in turn, and detect whether the data packet is a conflicting data packet according to the signal type and signal position contained in the element in the detection array.
[0092] In an embodiment of the present application, each element in the detection array is a starting symbol sequence or an ending symbol sequence. Starting from the first element, each element in the detection array is traversed in turn, and based on the signal type and signal position contained in the elements in the detection array, it is detected whether the data packet is a conflicting data packet.
[0093] In one example, whether a data packet is a conflicting data packet can be detected by detecting whether the signal types of the current element and the next element in the array are the same, the order of the signal types is reasonable, and the size of the signal positions is reasonable.
[0094] It should be noted that Figure 6 For other detailed descriptions of steps S310, S410-S430, S330-S340 shown in Figure 4 Steps S310, S410-S430, S330-S340 shown in the figure are not repeated here.
[0095] In an embodiment of the present application, each element in the detection array is traversed in turn, and based on the signal type and signal position contained in the elements in the detection array, it is detected whether the data packet is a conflicting data packet, thereby further improving the accuracy of data packet detection.
[0096] In one embodiment of the present application, another data processing method is also provided, which can be applied to Figure 1 or Figure 2 In the implementation environment shown, the method can be executed by a control center device, such as Figure 7 As shown in Figure 6 Based on the information shown in , S620 is expanded to S710-S720; steps S710-S720 are described in detail as follows:
[0097] S710. Traverse each element in the detection array in turn. If the signal types of the j-th element and the j+1-th element in the detection array are the start signal and the end signal respectively, and the signal position of the j+1-th element is greater than the signal position corresponding to the j-th element, then obtain the cyclic redundancy check code of the target data packet corresponding to the signal position corresponding to the start signal and the signal position corresponding to the end signal.
[0098] In the embodiment of the present application, the jth element in the detection array is the current element being traversed, and the j+1th element is the next element of the current element. If the signal types of the jth element and the j+1th element are the start signal and the end signal respectively, and the signal position of the j+1th element is greater than the signal position corresponding to the jth element, such as j(start, 1) and j+1(end, 7), it means that a complete data packet is detected, and the content contained in the data packet is the data content contained in the signal corresponding to the signal position corresponding to the start signal and the signal position corresponding to the end signal, such as the data content of the complete data packet corresponding to the signal between the first signal in the sliding window signal array and the seventh signal in the sliding window signal array, and the complete data packet is the target data packet, and the data packet in S310 includes the target data packet. In order to further determine whether the data content of the target data packet conflicts, it is necessary to obtain the CRC of the target data packet, and verify the integrity of the target data packet through the CRC check value.
[0099] In other embodiments of the present application, if the signal types of the j-th element and the j+1-th element are start signal and end signal respectively, and the signal position of the j+1-th element is smaller than the signal position corresponding to the j-th element, it can be directly determined that the data packet in S210 is a conflicting data packet.
[0100] S720: Detect whether the target data packet is a conflicting data packet according to the cyclic redundancy check code.
[0101] In an embodiment of the present application, the CRC (cyclic redundancy) check value of the target data packet can be compared with the expected check value. If the CRC check value is the same as the expected check value, it indicates that there is no conflict in the target data packet; if the CRC check value is different from the expected check value, it indicates that the target data packet is a conflicting data packet.
[0102] The expected check value is a check code calculated by the sender on the data according to a certain polynomial. The expected check value may be transmitted by the sender alone through a signal or may be sent directly, which is not limited here.
[0103] In an embodiment of the present application, if the target data packet is a conflicting data packet, the conflicting data in the data packet in S330 is the target data packet, and the signal corresponding to the signal positions corresponding to the jth element and the j+1th element is the target transmission signal.
[0104] It should be noted that Figure 7 For other detailed descriptions of steps S310, S410-S430, S610, S330-S340, see Figure 6 The steps S310, S410-S430, S610, S330-S340 shown are not repeated here.
[0105] In an embodiment of the present application, whether a data packet is a complete data packet is determined by the rationality of the signal type and signal position of the j-th element and the j+1-th element, and whether the corresponding data packet is a conflicting data packet is further detected based on CRC, thereby improving the reliability of data packet detection.
[0106] In one embodiment of the present application, another data processing method is also provided, which can be applied to Figure 1 or Figure 2 In the implementation environment shown, the method can be executed by a control center device, such as Figure 8 As shown in Figure 6 Based on the example shown in FIG. 1 , S620 is expanded to S810. Step S810 is described in detail as follows:
[0107] S810, traverse each element in the detection array in turn. If the signal types of the j-th element and the j+1-th element in the detection array are both start signals, and the signal position of the j+1-th element is greater than the signal position of the j-th element, determine that the data packet is a conflicting data packet.
[0108] In an embodiment of the present application, the signal types of the j-th element and the j+1-th element are both start signals, and the signal position of the j+1-th element is greater than the signal position of the j-th element, indicating that two overlapping data packets are detected, then the data packets must be data packets, among which the data packet in S810 is the data packet in S810.
[0109] It should be noted that Figure 8 For other detailed descriptions of steps S310, S410-S430, S610, S330-S340, see Figure 6 The steps S310, S410-S430, S610, S330-S340 shown are not repeated here.
[0110] In the embodiment of the present application, whether a data packet is a conflicting data packet is determined by the rationality of the signal type and signal position of the j-th element and the j+1-th element, thereby improving the reliability of the detection of the data packet.
[0111] In one embodiment of the present application, another data processing method is also provided, which can be applied to Figure 1 or Figure 2 In the implementation environment shown, the method can be executed by a control center device, such as Fig. 9 As shown in Figure 8 Based on the information shown in , S330 is expanded to S910 to S930. S910 to S930 are described in detail as follows:
[0112] S910: Obtain the number of samples in each signal cycle in the data packet.
[0113] In the embodiment of the present application, the number of samplings in a signal period refers to the number of sampling points performed within a signal period, and the number of samplings in a signal period can be calculated based on the signal sampling frequency and the signal frequency.
[0114] S920: Detect whether the data packet is an alignment conflict data packet according to the relationship between the difference between the signal positions corresponding to the two elements and the sampling quantity.
[0115] In an embodiment of the present application, an alignment conflict data packet contains different data on the same channel at the same time; based on the relationship between the difference between the signal position of the jth element and the signal position of the j+1th element and the sampling number, it is further detected whether the data packet is an alignment conflict data packet.
[0116] In one example, if the relationship between the difference between the signal position of the j-th element and the signal position of the j+1-th element and the sampling quantity is consistent with a preset relationship, it indicates that the data packet is alignment conflict data; if the difference between the two starting positions is an integer multiple of the signal period sampling quantity, it indicates that the two data packets overlap in time and the two data packets are alignment conflict data packets.
[0117] S930: If the data packet is an aligned conflict data packet, determine the target transmission signal corresponding to the conflicting data in the data packet from the transmission signal, and parse the frequency of the target transmission signal according to the frequency component of the transmission signal to obtain the parsed frequency of the target transmission signal.
[0118] In the embodiment of the present application, if the data packet is an aligned conflict data packet, the conflict data in the data packet can be restored, and the target transmission signal corresponding to the conflict data in the data packet can be determined from the transmission signal.
[0119] It should be noted that Fig. 9 For other detailed descriptions of steps S310, S410-S430, S610, S810, and S340, see Figure 8 Steps S310, S410 to S430, S610, S810, and S340 shown are not repeated here.
[0120] In an embodiment of the present application, whether a data packet is an alignment conflict data packet is detected by using the relationship between the difference in signal positions corresponding to two elements and the number of samples in each signal period in the data packet, thereby further ensuring the accuracy of data packet detection. In the case of an alignment conflict data packet, the target transmission signal corresponding to the conflicting data in the data packet is determined from the transmission signal, thereby improving the success rate of data packet parsing.
[0121] In one embodiment of the present application, another data processing method is also provided, which can be applied to Figure 1 or Figure 2 In the implementation environment shown, the method can be executed by a control center device, such as Fig.10 As shown in Fig. 9 Based on the above, step S1010 is added. Step S1010 is described in detail as follows:
[0122] S1010: If the data packet is a non-aligned conflicting data packet, an error processing is performed on the data packet, and the data packet after the error processing is transmitted to a designated server.
[0123] In an embodiment of the present application, if the difference between the two starting positions is not an integer multiple of the number of signal period sampling, it indicates that the two data packets are non-aligned conflicting data, that is, a misaligned conflict has occurred, that is, intersecting data are sent on the same channel. At this time, the control center device cannot completely parse it, and it is necessary to perform error processing on the data packet and transmit the data packet after error processing to the designated server, which determines whether to discard the data packet or instruct the sender to retransmit the data.
[0124] In other embodiments of the present application, if the data packet is a non-aligned conflicting data packet, the control center device may also instruct the sending end to retransmit the data.
[0125] It should be noted that Fig.10 For other detailed descriptions of steps S310, S410-S430, S610, S810, S910-S930, and S340, see Fig. 9 Steps S310, S410-S430, S610, S810, S910-S930, and S340 shown are not repeated here.
[0126] In an embodiment of the present application, when a data packet is a non-aligned conflicting data packet, an error processing is performed and the data packet is transmitted to a designated server, and the data packet is processed by the designated server to reduce processing resources for the non-aligned data packet.
[0127] The present application embodiment provides another data processing method, which can be applied to Figure 1 or Figure 2 In the implementation environment shown, the method can be executed by a control center device, such as Fig.11 As shown, the data processing method will Figure 8 Based on the above, S1110 to S1120 are added, i.e., the process of determining conflicting data in a data packet. Steps S1110 to S1120 are described in detail as follows:
[0128] S1110. If the signal type of the j+2th element in the detection array is an end signal, and the signal position of the j+2th element is greater than the signal position of the j+1th element, determine the data to be detected in the data packet according to the signal positions of the j+1th and j+2th elements.
[0129] As described above, the j-th element is (start, x), the j+1-th element is (start, y), the data packet is a conflicting data packet, and the data corresponding to the signal between x and y is conflicting data. In order to determine all conflicting data from the data packet, it is also necessary to determine it based on the signal type and signal position of the j+2-th element.
[0130] If the signal type of the j+2th element is an end signal, and the signal position of the j+2th element is greater than the signal position of the j+1th element, it means that the data corresponding to the signal position of the j+1th element to the signal position of the j+2th element is complete data, and the data corresponding to the signal position of the j+1th element to the signal position of the j+2th element is used as the data to be detected in the data packet. If the j+2th element is (end, z), the data corresponding to the signal between y and x is the data to be detected.
[0131] S1120: If the data to be detected is determined to be non-collision data according to the cyclic redundancy check code of the data to be detected, the data corresponding to the signal positions of the jth element and the j+1th element in the data packet are taken as collision data.
[0132] Obtain the CRC of the data to be detected. If the data to be detected is determined to be correctly received data, i.e., non-collision data, based on the CRC of the data to be detected, then it can be determined that the data corresponding to the signal between x and y is the collision data, and the signal between x and y is the target transmission signal.
[0133] If it is determined based on the CRC of the data to be detected that the data to be detected is not correctly received data, it can be determined that the data corresponding to the signal between x to y to z is conflicting data, and the signal between x to z is the target transmission signal. At this time, continue to determine the signal type and signal position of the j+3th element, and continue to determine the conflicting data in the data packet by analogy.
[0134] In other embodiments of the present application, if the signal type of the j+2th element is an end signal, it can be directly determined that the data corresponding to the signal between the signal position of the jth element and the signal position of the j+2th element is conflicting data. At this time, continue to determine the signal type and signal position of the j+3th element, and continue to determine the conflicting data in the data packet by analogy.
[0135] It should be noted that Fig.11For other detailed descriptions of steps S310, S410-S430, S610, S810, S340-S340, see Figure 8 The steps S310, S410~S430, S610, S810, S340~S340 shown are not repeated here.
[0136] In an embodiment of the present application, when two adjacent elements are of the starting type, in order to accurately determine the conflicting data in the data packet, the signal type of the j+2th element is continued, and the j+2th element is an end signal. By detecting whether the data between the j+1th element to the j+2th element is conflicting data, the conflicting data can be comprehensively and accurately determined from the data packet.
[0137] The present application embodiment provides another data processing method, which can be applied to Figure 1 or Figure 2 In the implementation environment shown, the method can be executed by a control center device, such as Fig.12 As shown in Figure 6 Based on the results shown in Figure 6 The shown S620 is expanded into steps S1210 to S1220.
[0138] Among them, steps S1210 to S1220 are described in detail as follows:
[0139] S1210, traverse each element in the detection array in turn. If the signal type of the j-th element in the detection array is an end signal, use the j+1-th element as the new j-th element, until the signal type of the new j-th element is a start signal.
[0140] In an embodiment of the present application, if the signal type of the jth element is an end signal, then j=j+1 can be executed, that is, the j+1th element is taken as the new jth element, and it is re-determined whether the new jth element is an end signal. If the new jth element is an end signal, the j+2 element is taken as the new jth element, until the signal type of the new jth element is a start signal.
[0141] In other embodiments of the present application, if the signal type of the j-th element in the detection array is an end signal, the j+1-th element is used as the new j-th element, and the signal type of the new j-th element is an end signal, that is, the two adjacent elements are both end signals, and the data packet can be directly determined as a conflicting data packet.
[0142] S1220: When the signal type of the new j-th element is a start signal, determine whether the data packet is a conflicting data packet according to the signal types and signal positions of the new j-th element and the new j+1-th element.
[0143] In the embodiment of the present application, when the signal type of the new j-th element is a start signal, whether the data packet is a conflicting data packet is determined according to the signal types and signal positions of the new j-th element and the new j+1-th element, that is, according to Figure 7 and Figure 8 The illustrated embodiment determines whether a data packet is a conflicting data packet.
[0144] It should be noted that Fig.12 For a detailed description of steps S310, S410 to S430, S610, and S340 to S340, see Figure 6 The steps S310, S410-S430, S610, S340-S340 shown in FIG. 1 are not described in detail here.
[0145] In the present application embodiment, Figure 6 and Figure 7 The element types in the detection array are detected, and the data packet is detected by detecting the signal types and signal positions of the new j+1 elements, thereby further ensuring the reliability of the data packet detection.
[0146] The present application embodiment provides another data processing method, which can be applied to Figure 1 or Figure 2 In the implementation environment shown, the method can be executed by a control center device, such as Fig.13 As shown in Figures 3 to 12 Based on the Figure 3 Take the example of expanding S330 in step S1310 to S1340. Steps S1310 to S1340 are described in detail as follows:
[0147] S1310: If it is detected that the data packet is a conflicting data packet according to the boundary information of the transmission signal, a target transmission signal corresponding to the conflicting data in the data packet is determined from the transmission signal.
[0148] S1320: If the frequency component of the transmission signal includes a frequency, the resolution frequency of the target transmission signal is the frequency corresponding to the frequency component.
[0149] In the embodiment of the present application, data can be represented as 0 or 1, and the corresponding frequencies are f_0 and f_1, respectively. Specifically, when the transmitting end wants to send 0, the frequency of the carrier signal is set to f_0; when the transmitting end wants to send 1, the frequency of the carrier signal is set to f_1. Therefore, when the data packet is a conflicting data packet, the conflicting data packet will have the result of the superposition of 3 frequencies, that is, when both data packets are bit 0, the frequency is f_0; when both data packets are bit 1, the frequency is f_1; when one of the two data packets is bit 0 and the other is bit 1, the frequency is the superposition of f_0 and f_1.
[0150] In the embodiment of the present application, if the frequency component of the transmission signal includes a frequency, such as f_0 or f_1, the resolution frequency of the target transmission signal is f_0 or f_1.
[0151] S1330. If the frequency component of the transmission signal includes two frequencies, divide the transmission signal into two signal segments, each signal segment including two components of different frequencies.
[0152] S1340, determine various bit combinations of each signal segment, and verify the data packets corresponding to each bit combination according to the cyclic redundancy check code to determine the resolution frequency of the target transmission signal.
[0153] If the frequency component of the transmission signal includes two frequencies, such as f_0 and f_1, in order to further analyze the frequency of the target transmission signal, the CRC check method can be used to enumerate and try different bit combinations to finally combine the correct result.
[0154] In one example, first, the superimposed transmission signal is split into two parts, corresponding to two data packets. For each data packet, assume that one frequency component is f_0 and the other frequency component is f_1. Enumerate all possible bit combinations, starting from bit 0, and try different combinations in turn, where the bit combination refers to identifying one frequency component as bit 0 and the other frequency component as bit 1.
[0155] For each bit combination, the CRC check algorithm is used to check the data packet to determine whether the check result matches. If the check result is consistent with the expectation, the correct combination is found, that is, the frequency and corresponding bit value of each data packet are determined.
[0156] Repeat the above steps until all possible bit combinations are tried or the correct result is found.
[0157] It should be noted that Fig.13 For other detailed descriptions of steps S310 to S320 and S340 shown in Figure 3 The steps S310 to S320 and S340 shown are not described in detail here.
[0158] In an embodiment of the present application, the frequency component of the transmission signal includes one frequency, and the frequency of the target transmission signal can be directly parsed. The frequency component of the transmission signal includes two frequencies. Using the CRC check method, different bit combinations are enumerated and tried to finally combine the correct result, thereby improving the reliability of the analysis of the target transmission signal and ensuring the success rate of the analysis.
[0159] For ease of understanding, the present application also provides a data processing system, which is applied to a virtual reality scene where smart devices are deployed, such as Fig.14 As shown, it includes multiple smart devices and a virtual reality center device, among which the smart devices are mainly virtual reality glasses / helmets, smart speakers and smart projectors running Bluetooth protocol; smart speakers are used to provide surround stereo virtual reality sound experience, and smart projectors are used for real-time scenes of multiplayer virtual reality games for audiences to enjoy. The virtual reality center device is a smart box device for the home, which needs to have at least one wireless protocol, such as Bluetooth, and can support secondary development and modification of physical layer signal analysis.
[0160] It should be noted that the virtual reality center device runs an embedded operating system and has multiple wireless transmission protocols. The Bluetooth protocol is a low-power wireless transmission protocol used to receive wireless signals from different smart devices, such as the status signal of the virtual reality device and the audio and video synchronization signal of the local area network multimedia display. Other devices include virtual reality devices, smart projectors, smart speakers, etc. They also run multiple wireless protocols at the same time. Among them, the Bluetooth protocol has low power consumption and is used specifically to send synchronization signals. When a large number of smart devices report data to the virtual reality center device at the same time, it is bound to cause signal conflicts and cause data errors. Traditional technical solutions perform error recovery by retransmitting or adding error correction codes, but these solutions will cause large transmission redundancy and transmission delays. In order to alleviate this problem, the embodiment of the present application proposes a data processing method that does not require additional transmission redundancy, that is, it can perform error signal recovery. The data processing method is executed by the virtual reality center device, such as Fig.15 As shown, the data processing method includes:
[0161] S1501. Receive information from different devices on the same protocol channel of the virtual reality center device.
[0162] In a LAN multiplayer VR game, each player is equipped with an all-in-one VR device and performs rendering based on the video basic model distributed by the VR center. A large amount of operation control flow information (including movement coordinates, head-mounted rotation direction, function options used, etc.) of each player's operation will be uploaded to the VR center concurrently. In addition to receiving real-time player battle data distributed by the VR center, smart projectors and smart speaker devices will also send a large amount of synchronization status control information (audio and video frame synchronization information, etc.) to the VR center in parallel. When the amount of data is large, information from different devices will be received simultaneously on the same protocol channel of the VR center.
[0163] S1502: Analyze whether the data packet corresponding to the received information is a conflicting data packet.
[0164] Since information is written to and received from different devices through the same protocol, there is a possibility of signal superposition and conflict. The virtual reality center will analyze whether the data packet is a conflicting data packet based on the signal superposition.
[0165] S1503: If the data packet is a conflicting data packet, perform error recovery.
[0166] S1504. Send the successfully recovered data to the upper layer protocol.
[0167] By analyzing the superposition of data signals in the aligned conflicting data packets, fine-grained signal parameters are parsed and the waveform of the signal is restored; the data corresponding to the restored signal is then transmitted to the upper layer protocol.
[0168] Among them, the specific operation process of the virtual reality center equipment is as follows:
[0169] 1) The virtual reality center device continuously detects the predetermined Bluetooth protocol communication channel and stores the received signal in the sliding window signal array S[W]. The length of the sliding window is W, that is, the number of stored signals is W. Each element in the signal array stores a complex signal, that is, each signal consists of a real number and an imaginary number, which represent the amplitude and phase of the signal.
[0170] 2) Given that the Bluetooth protocol being analyzed is the latest BLE 5.0 version, the physical modulation mode is 1MUncoded, and the channel transmission content is data, the starting symbol sequence BEGIN[L] and the ending symbol sequence END[L] of the Bluetooth signal are used to identify the beginning and end of a Bluetooth data packet, where L=8, indicating that each symbol sequence consists of 8 symbols, a symbol refers to a modulated signal unit, and the sliding window signal array W>L (for other Bluetooth protocol versions, physical modulation modes, and transmission contents, the parameters can be modified accordingly and applied to the following detection algorithm).
[0171] Based on the Bluetooth protocol, it is calculated according to the signal correlation whether the signal in the sliding window signal array S[W] has a start symbol sequence BEGIN[L] and an end symbol sequence END[L] to detect the start and end of the signal.
[0172]
[0173]
[0174] Among them, BEG * [i] and END *[i] represents the complex conjugate of the starting symbol sequence BEG[L] and the ending symbol sequence END[L], and S[i] represents the i-th signal in the sliding window signal array.
[0175] In the embodiment of the present application, when C[i] begin and C[i] end When the values of are greater than the corresponding threshold th, it indicates that the start and end of the Bluetooth signal are detected;
[0176] 3) According to the start symbol sequence BEGIN[L] and the end symbol sequence END[L] contained in the detected sliding window signal array S[W], a detection array F[M] consisting of start and end markers is obtained, wherein each element in the array F[M] is a tuple, which respectively records the detected signal type and the corresponding signal index, i.e. (start / end, index); it indicates that a start symbol sequence or an end symbol sequence is detected, and their position indexes in the sliding window; for example, (start, 5) indicates that a start symbol sequence is detected at the 5th position in the sliding window signal array.
[0177] 4) Given j = 0, enumerate each element in the detection array F[M] in turn. Traverse the detection array, that is, start from the 0th element and check each element in turn.
[0178] 5) If F[j] is (start, x) and F[j+1] is (end, y), where y>x, x and y represent the positions of j and j+1 in the sliding window signal array, then the CRC check value of the current data packet is detected to determine whether the data packet is correctly received. If it is correctly received, it is passed to the upper layer protocol and the process jumps to step 9); otherwise, a conflict occurs with the data packet and the process jumps to step 5a) to parse the conflicting data packet.
[0179] In an embodiment of the present application, the starting and ending positions of a data packet can be determined based on the elements in the detection array, and then the integrity of the data packet can be verified based on the CRC check value to determine whether the data packet is a conflicting data packet. Among them, if two adjacent elements in the detection array are the start and end marks, respectively, and the end position is greater than the start position, it means that a complete data packet has been detected; that is, the current data packet is the data packet between (start, x) and (end, y). If the CRC check value of the data packet is consistent with expectations, it means that there is no conflict in the data packet and it can be passed to the upper layer protocol for processing. If the CRC check value is inconsistent with expectations, it means that a conflict has occurred in the data packet.
[0180] It is worth noting that for the signal modulated by the Bluetooth protocol, there is the following signal expression:
[0181] A[i]=hαcos(2π(Δf)ti )
[0182] Where A[i] is the signal sampled by the receiving end, cos(2π(Δf)t i ) is the modulation expression of the Bluetooth signal. The signal amplitude α and the waveform direction h are fixed, so there is no need to solve them; the core needs to solve the value of Δf. Δf represents the modulation frequency of the signal. The range varies according to the modulation method. For the 1-bit Gaussian shift key modulation mode, the frequency values are f_0 and f_1 (in the 1-bit modulated Bluetooth protocol, they are 240kHz and 360kHz respectively). That is, for example, the frequency f_0 represents bit 0, and f_1 represents bit 1; that is, the data can be represented as 0 or 1, and the corresponding frequencies are f_0 and f_1 respectively. Specifically, when the transmitter wants to send 0, it will set the frequency of the carrier signal to f_0; when the transmitter wants to send 1, it will set the frequency of the carrier signal to f_1.
[0183] When both packets contain bit 0, the frequency is f_0. When both packets contain bit 1, the frequency is f_1. When one packet contains bit 0 and the other contains bit 1, the frequencies are f_0 and f_1). Therefore, the following three frequency superposition results will appear between the conflicting packets (kHz is temporarily omitted for convenience):
[0184]
[0185] Among them, for the data U and data D with conflicting alignment, for the scenario where their frequencies are different (i.e., Δf u =f_0,Δf d =f_1; or, Δf u =f_1,Δf d =f_0), the above frequency analysis results are difficult to distinguish directly. In the subsequent process, the CRC check method can be used to enumerate and try different bit combinations to finally combine the correct result.
[0186] 5a) If the current data packet is a conflicting data packet, assuming that the final resolved frequency component of the current data packet is a set f_b, the frequency of the j-th (since the current F[M] is the j-th element) conflicting part is resolved in the following manner:
[0187]
[0188]
[0189] Δf uis the signal modulation frequency of data U, which can be f1 or f0 or to be determined. If it is to be determined, it is necessary to use the CRC check method to enumerate and try different bit combinations to finally combine the correct result.
[0190] Similarly, Δf d is the signal modulation frequency of data D, which can be f1 or f0 or to be determined. If it is to be determined, it is necessary to use the CRC check method to enumerate and try different bit combinations to finally combine the correct result.
[0191] 6) If F[j] is (start, x) and F[j+1] is (start, y), where y>x, a conflict has occurred in the current data packet. Given that the number of samples in each signal cycle in a Bluetooth protocol data packet is C, if (yx)%C==0, jump to 6a) to resolve the conflicting data packet; otherwise, jump to 8).
[0192] In an embodiment of the present application, the starting position of the data packet is determined based on the elements in the detection array. If two adjacent elements in the detection array are both starting marks, and the latter position is greater than the former position, it means that two overlapping data packets are detected; the data packet received by the virtual reality center is used as the current data packet, that is, the received data packet contains overlapping data packets. If the difference between the two starting positions is an integer multiple of the number of signal period sampling, it means that the two data packets are aligned and conflicting, that is, different data are sent on the same channel at the same time. At this time, it is necessary to jump to step 6a to resolve the conflicting data packets. If the difference between the two starting positions is not an integer multiple of the number of signal period sampling, it means that the two data packets are misaligned and conflicting, that is, intersecting data are sent on the same channel, jump to step 8) to perform the next step.
[0193] 6a) For the data packet part that does not conflict (maybe U or D), its frequency and the data bit it represents can be directly parsed. If there is no conflict, there is only one frequency component in the signal, and the bit value can be directly determined based on the frequency component. For example, in the BLE 5.0 specification, when the physical layer rate is 1Mbps, two frequencies of 240kHz and 360kHz are used to represent bit 0 and bit 1.
[0194] 6b) For the conflicting data packets, the frequency of the j-th (since the current F[M] is the j-th element) conflicting part is parsed out in the following way:
[0195]
[0196]
[0197] 7) For other cases, execute j=j+1. If j>M, jump to step 9); otherwise, jump to step 4).
[0198] In the embodiment of the present application, other situations include F[j] is (end, x) and F[j+1] is (start, y), or F[j] is (end, x) and F[j+1] is (end, y).
[0199] 8) Perform error reporting on the data packet, and upload the data packet after error reporting to an upper layer protocol, which may be a virtual reality server.
[0200] 9) Upload the restored data packets U and D to the upper layer protocol.
[0201] The technical solution provided in the embodiment of the present application analyzes the signal conflict type of the device equipped with the Bluetooth protocol and parses the Bluetooth signal parameters in sequence, thereby separating and parsing multiple data packets with errors caused by conflicts. It does not rely on error correction codes, greatly improves the probability of successful data transmission of virtual reality products, reduces the power consumption loss caused by retransmitted data packets, greatly extends the service life of virtual reality products, and does not require software upgrades or hardware replacements for smart devices, only the control center needs to be updated; further, it can greatly improve the concurrent reporting of data by multiple smart devices in virtual reality scenarios, and can reduce the response delay of virtual reality products in scenarios where many virtual reality products are transmitting concurrently, thereby improving user experience; further, it makes full use of the characteristic that Bluetooth signals can still be demodulated when conflicts occur, and without modifying a large number of deployed virtual reality products, only the control center needs to be upgraded to enable the characteristics of the present invention, thereby improving the implementation efficiency of the solution.
[0202] The device embodiment of the present application is introduced, which can be used to execute the data processing method in the above embodiment of the present application. For details not disclosed in the device embodiment of the present application, please refer to the above embodiment of the data processing method of the present application.
[0203] The present application embodiment provides a data processing device, such as Fig.16 As shown, the device comprises:
[0204] An acquisition module 1610 is used to acquire a transmission signal to be processed, wherein the transmission signal includes a data packet;
[0205] An extraction module 1620, configured to extract boundary information of the transmission signal, wherein the boundary information is used to characterize the start and end of the transmission signal;
[0206] The parsing module 1630 is used to determine the target transmission signal corresponding to the conflicting data in the data packet from the transmission signal if the data packet is detected as a conflicting data packet according to the boundary information of the transmission signal, and parse the frequency of the target transmission signal according to the frequency component of the transmission signal to obtain the parsed frequency of the target transmission signal;
[0207] The restoration module 1640 is used to restore the conflicting data based on the resolution frequency of the target transmission signal.
[0208] In one embodiment of the present application, based on the aforementioned scheme, the extraction module 1620 is further used to store the transmission signal received through the preset protocol channel in a sliding window signal array; detect whether the transmission signal in the sliding window signal array includes a start symbol sequence and an end symbol sequence according to the correlation of the signal; if the transmission signal in the sliding window signal array includes the start symbol sequence and the end symbol sequence, then generate the boundary information of the transmission signal according to each of the start symbol sequences and each of the end symbol sequences contained.
[0209] In one embodiment of the present application, based on the aforementioned scheme, the extraction module 1620 is further used to determine the starting correlation and the ending correlation of the transmission signal in the sliding window signal array according to the transmission signal in the sliding window signal array and the complex conjugate of the starting symbol sequence and the ending symbol sequence; if the starting correlation and the ending correlation are respectively greater than the preset correlation thresholds, it is detected that the transmission signal in the sliding window signal array contains the starting symbol sequence and the ending symbol sequence.
[0210] In one embodiment of the present application, based on the aforementioned scheme, the device also includes a detection module, which is used to store the boundary information in a detection array, each element of the detection array contains the signal type of the symbol sequence and the signal position of the symbol sequence in the sliding window signal array; traverse each element in the detection array in turn, and detect whether the data packet is a conflicting data packet based on the signal type and signal position contained in the elements in the detection array.
[0211] In one embodiment of the present application, based on the aforementioned scheme, the detection module is further used to obtain the cyclic redundancy check code of the target data packet corresponding to the signal position corresponding to the start signal and the signal position corresponding to the end signal if the signal types of the j-th element and the j+1-th element in the detection array are respectively a start signal and an end signal, and the signal position of the j+1-th element is greater than the signal position corresponding to the j-th element; and detect whether the target data packet is a conflicting data packet according to the cyclic redundancy check code.
[0212] In one embodiment of the present application, based on the aforementioned scheme, the detection module is further used to determine that the data packet is a conflicting data packet if the signal types of the j-th element and the j+1-th element in the detection array are both start signals, and the signal position of the j+1-th element is greater than the signal position of the j-th element.
[0213] In one embodiment of the present application, based on the aforementioned scheme, the parsing module 1630 is further used to obtain the number of samples in each signal period in the data packet; detect whether the data packet is an alignment conflict data packet based on the relationship between the difference between the signal positions corresponding to two elements and the number of samples; if the data packet is an alignment conflict data packet, determine the target transmission signal corresponding to the conflict data in the data packet from the transmission signal.
[0214] In one embodiment of the present application, based on the aforementioned scheme, the device further includes an error reporting module for performing error reporting on the data packet if the data packet is a non-aligned conflicting data packet, and transmitting the data packet after error reporting processing to a designated server.
[0215] In one embodiment of the present application, based on the aforementioned scheme, the detection module is further used to determine the data to be detected in the data packet according to the signal positions of the j+1th and the j+2th if the signal type of the j+2th element in the detection array is an end signal, and the signal position of the j+2th element is greater than the signal position of the j+1th element; if the data to be detected is determined to be non-conflict data according to the cyclic redundancy check code of the data to be detected, the data corresponding to the signal positions of the j+2th element and the j+1th element in the data packet are used as the conflict data.
[0216] In one embodiment of the present application, based on the aforementioned scheme, the detection module is used to, if the signal type of the j-th element in the detection array is an end signal, use the j+1-th element as the new j-th element until the signal type of the new j-th element is a start signal; when the signal type of the new j-th element is a start signal, determine whether the data packet is a conflicting data packet based on the signal types and signal positions of the new j-th element and the new j+1-th element.
[0217] In one embodiment of the present application, based on the aforementioned scheme, the analysis module 1630 is further used to: if the frequency component of the transmission signal includes a frequency, then the analysis frequency of the target transmission signal is the frequency corresponding to the frequency component; if the frequency component of the transmission signal includes two frequencies, then the transmission signal is divided into two signal segments, each signal segment includes two components of different frequencies; determine various bit combinations of each signal segment, and check the data packet corresponding to each bit combination according to the cyclic redundancy check code to determine the analysis frequency of the target transmission signal.
[0218] It should be noted that the device provided in the above embodiment and the method provided in the above embodiment belong to the same concept, wherein the specific manner in which each module and unit performs the operation has been described in detail in the method embodiment and will not be repeated here.
[0219] The device provided in the above embodiment can be arranged in a control center device, through which a transmission signal to be processed is obtained, the transmission signal contains a data packet; the boundary information of the transmission signal is extracted, and the boundary information is used to characterize the start and end of the transmission signal; whether the data packet is a conflict data packet is detected by the boundary information of the transmission information to improve the accuracy of the data packet type judgment; if the data packet is a conflict data packet, the target transmission signal corresponding to the conflict data in the data packet is determined from the transmission signal, and the frequency of the target transmission signal is analyzed according to the frequency component of the transmission signal to obtain the analysis frequency of the target transmission signal; the conflict data is restored based on the analysis frequency of the target transmission signal, and through the analysis of the target transmission signal, multiple data with errors caused by conflicts can be effectively separated and analyzed, which does not rely on error correction codes and greatly reduces the probability of retransmission, thereby improving data transmission concurrency.
[0220] An embodiment of the present application also provides an electronic device, comprising one or more processors and a storage device, wherein the storage device is used to store one or more computer programs, and when the one or more computer programs are executed by one or more processors, the electronic device implements the data processing method as described above.
[0221] Fig.17 A schematic diagram of the structure of a computer system suitable for implementing an electronic device of an embodiment of the present application is shown.
[0222] It should be noted that Fig.17 The computer system 1700 of the electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0223] like Fig.17As shown, the computer system 1700 includes a processor (Central Processing Unit, CPU) 1701, which can perform various appropriate actions and processes according to the program stored in the read-only memory (Read-Only Memory, ROM) 1702 or the program loaded from the storage part 1708 to the random access memory (Random Access Memory, RAM) 1703, such as executing the method in the above embodiment. In RAM 1703, various programs and data required for system operation are also stored. CPU 1701, ROM 1702 and RAM 1703 are connected to each other through bus 1704. Input / output (Input / Output, I / O) interface 1705 is also connected to bus 1704.
[0224] In some embodiments, the following components are connected to the I / O interface 1705: an input section 1706 including a keyboard, a mouse, etc.; an output section 1707 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1708 including a hard disk, etc.; and a communication section 1709 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 1709 performs communication processing via a network such as the Internet. A drive 1710 is also connected to the I / O interface 1705 as needed. A removable medium 1711, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 1710 as needed, so that a computer program read therefrom is installed into the storage section 1708 as needed.
[0225] In particular, according to an embodiment of the present application, the process described above with reference to the flowchart can be implemented as a computer program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a computer program for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication section 1709, and / or installed from a removable medium 1711. When the computer program is executed by a processor (CPU) 1701, various functions defined in the system of the present application are executed.
[0226] It should be noted that the computer-readable medium shown in the embodiment of the present application can be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium can be, for example, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (Erasable Programmable Read Only Memory), a flash memory, an optical fiber, a portable compact disk read-only memory (Compact Disc Read-Only Memory, CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, wherein a computer-readable computer program is carried. This propagated data signal can take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. A computer program contained on a computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.
[0227] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the devices, methods and computer program products according to various embodiments of the present application. Among them, each box in the flowchart or block diagram can represent a module, a program segment, or a part of the code, and the above-mentioned module, program segment, or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and a computer program.
[0228] The units or modules involved in the embodiments described in this application may be implemented by software or hardware, and the units or modules described may also be set in a processor. The names of these units or modules do not, in some cases, constitute limitations on the units or modules themselves.
[0229] Another aspect of the present application also provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the method described above is implemented. The computer-readable storage medium may be included in the electronic device described in the above embodiment, or may exist independently without being assembled into the electronic device.
[0230] Another aspect of the present application also provides a computer program product, which includes a computer program stored in a computer-readable storage medium. A processor of an electronic device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, so that the electronic device executes the method described above in each of the above embodiments.
[0231] It should be noted that, although several modules or units of the equipment for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into being embodied by multiple modules or units.
[0232] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the embodiments disclosed herein. The present application is intended to cover any variations, uses or adaptations of the present application, which follow the general principles of the present application and include common knowledge or customary technical means in the art that are not disclosed in the present application.
[0233] The above content is only a preferred exemplary embodiment of the present application and is not intended to limit the implementation scheme of the present application. A person of ordinary skill in the art can easily make corresponding changes or modifications based on the main concept and spirit of the present application. Therefore, the scope of protection of the present application shall be based on the scope of protection required by the claims.
Claims
1. A data processing method, characterized in that: include: Acquire a transmission signal to be processed, wherein the transmission signal includes a data packet; Extracting boundary information of the transmission signal, where the boundary information is used to characterize the start and end of the transmission signal; If it is detected that the data packet is a conflicting data packet according to the boundary information of the transmission signal, a target transmission signal corresponding to the conflicting data in the data packet is determined from the transmission signal, and the frequency of the target transmission signal is analyzed according to the frequency component of the transmission signal to obtain the analyzed frequency of the target transmission signal; The conflicting data is restored based on the resolution frequency of the target transmission signal.
2. The method according to claim 1, wherein extracting the boundary information of the transmission signal comprises: storing the transmission signal received through the preset protocol channel in a sliding window signal array; Detecting whether the transmission signal in the sliding window signal array includes a start symbol sequence and an end symbol sequence according to the correlation of the signal; If the transmission signal in the sliding window signal array includes the start symbol sequence and the end symbol sequence, the boundary information of the transmission signal is generated according to each of the start symbol sequences and each of the end symbol sequences included.
3. The method according to claim 2, characterized in that The step of detecting whether the transmission signal in the sliding window signal array is a start symbol sequence and an end symbol sequence according to the correlation of the signal comprises: Determine the starting correlation and the ending correlation of the transmission signal in the sliding window signal array according to the transmission signal in the sliding window signal array and the complex conjugate of the starting symbol sequence and the ending symbol sequence; If the start correlation and the end correlation are respectively greater than preset correlation thresholds, it is detected that the transmission signal in the sliding window signal array includes the start symbol sequence and the end symbol sequence.
4. The method according to claim 2, characterized in that: The method further comprises: storing the boundary information into a detection array, wherein each element of the detection array includes a signal type of a symbol sequence and a signal position of the symbol sequence in the sliding window signal array; Each element in the detection array is traversed in turn, and according to the signal type and signal position contained in the element in the detection array, it is detected whether the data packet is a conflicting data packet.
5. The method according to claim 4, characterized in that Detecting whether the data packet is a conflicting data packet according to the signal type and signal position contained in the elements in the detection array includes: If the signal types of the j-th element and the j+1-th element in the detection array are a start signal and an end signal respectively, and the signal position of the j+1-th element is greater than the signal position corresponding to the j-th element, then obtain the cyclic redundancy check code of the target data packet corresponding to the signal position corresponding to the start signal and the signal position corresponding to the end signal; Whether the target data packet is a conflicting data packet is detected according to the cyclic redundancy check code.
6. The method according to claim 4, characterized in that Detecting whether the data packet is a conflicting data packet according to the signal type and signal position contained in the elements in the detection array includes: If the signal types of the jth element and the j+1th element in the detection array are both start signals, and the signal position of the j+1th element is greater than the signal position of the jth element, the data packet is determined to be a conflicting data packet.
7. The method according to claim 6, characterized in that The step of determining, from the transmission signal, a target transmission signal corresponding to the conflicting data in the data packet, comprises: Obtaining the number of samples of each signal cycle in the data packet; Detecting whether the data packet is an alignment conflict data packet according to the relationship between the difference of the signal positions corresponding to the two elements and the sampling quantity; If the data packet is an alignment conflict data packet, a target transmission signal corresponding to the conflicting data in the data packet is determined from the transmission signal.
8. The method according to claim 7, characterized in that The method further comprises: If the data packet is a non-aligned conflicting data packet, an error reporting process is performed on the data packet, and the data packet after the error reporting process is transmitted to a designated server.
9. The method according to claim 6, characterized in that The method further comprises: If the signal type of the j+2th element in the detection array is an end signal, and the signal position of the j+2th element is greater than the signal position of the j+1th element, then determining the data to be detected in the data packet according to the signal positions of the j+1th and the j+2th elements; If the data to be detected is determined to be non-collision data according to the cyclic redundancy check code of the data to be detected, the data corresponding to the signal positions of the jth element and the j+1th element in the data packet are used as the collision data.
10. The method according to claim 4, characterized in that Detecting whether the data packet is a conflicting data packet according to the signal type and signal position contained in the elements in the detection array includes: If the signal type of the j-th element in the detection array is an end signal, the j+1-th element is used as a new j-th element, until the signal type of the new j-th element is a start signal; When the signal type of the new j-th element is a start signal, it is determined whether the data packet is a conflicting data packet according to the signal types and signal positions of the new j-th element and the new j+1-th element.
11. The method according to any one of claims 1 to 10, characterized in that: The step of parsing the frequency of the target transmission signal according to the frequency component of the transmission signal to obtain the parsed frequency of the target transmission signal includes: If the frequency component of the transmission signal includes a frequency, the resolution frequency of the target transmission signal is the frequency corresponding to the frequency component; If the frequency component of the transmission signal includes two frequencies, dividing the transmission signal into two signal segments, each signal segment includes two components with different frequencies; Various bit combinations of each signal segment are determined, and data packets corresponding to each bit combination are checked according to a cyclic redundancy check code to determine the parsing frequency of the target transmission signal.
12. A data transmission device, characterized in that: include: An acquisition module, used for acquiring a transmission signal to be processed, wherein the transmission signal includes a data packet; An extraction module, used to extract boundary information of the transmission signal, wherein the boundary information is used to characterize the start and end of the transmission signal; A parsing module, configured to determine a target transmission signal corresponding to the conflicting data in the data packet from the transmission signal if the data packet is detected as a conflicting data packet according to the boundary information of the transmission signal, and parse the frequency of the target transmission signal according to the frequency component of the transmission signal to obtain a parsed frequency of the target transmission signal; A restoration module is used to restore the conflicting data based on the resolution frequency of the target transmission signal.
13. An electronic device, characterized in that: include: one or more processors; A storage device for storing one or more programs, which, when executed by the one or more processors, enables the electronic device to execute the method according to any one of claims 1 to 11.
14. A computer-readable storage medium, characterized in that: A computer program is stored thereon, and when the computer program is executed by a processor of an electronic device, the electronic device executes the method according to any one of claims 1 to 11.
