Data processing method and apparatus, and storage medium

By determining the data volume difference between nodes and sending synchronization commands, the problem of synchronizing related service sub-streams in mobile networks is solved, improving the coordination of multi-dimensional services and user experience.

CN115811781BActive Publication Date: 2025-12-16CHINA UNITED NETWORK COMM GRP CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211421817.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-14
Publication Date
2025-12-16
Estimated Expiration
2042-11-14

AI Technical Summary

Technical Problem

In existing technologies, mobile networks cannot effectively determine whether multi-dimensional concurrent related service sub-streams are synchronized, resulting in poor service quality for services such as video calls.

Method used

By determining the parameters to be adjusted between the first and second nodes, reflecting the difference in data volume, it is possible to determine whether the business is out of sync, and if necessary, send synchronization instruction information to adjust the data packet transmission to ensure business synchronization.

Benefits of technology

It enables the synchronous measurement and adjustment of related business processes, improves the synchronous coordination capability of multi-dimensional business sub-flows, and enhances the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115811781B_ABST
    Figure CN115811781B_ABST
Patent Text Reader

Abstract

The application provides a data processing method and device and a storage medium, relates to the technical field of communication, and is used for solving the problem that whether two associated services are synchronized cannot be determined in the prior art. The method comprises the following steps: a first node determines a to-be-adjusted parameter between a first service and a second service; the to-be-adjusted parameter is used for reflecting a difference value between a data amount of the first service currently cached by the first node and a data amount of the second service; and in the case that the to-be-adjusted parameter is not zero, the first node determines that the first service and the second service are not synchronized.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of communication, and particularly relates to a data processing method and device and storage medium. BACKGROUND

[0002] With the development of network bandwidth, it is predicted in the industry that a new holographic communication mode will also appear and gradually mature. The so-called holographic communication not only includes visual and auditory experience compared with the current mainstream audio and video calls, but also introduces multi-sensory experience including olfactory, gustatory and tactile experience. For example, in the future, food advertisements will not only allow viewers to see the color and shape of the food, but also directly stimulate the nerves of people through a taste simulator, so that the viewers can taste the food at the same time. In short, the new holographic communication mode will have more dimensional concurrent transmission of business subflows, and these concurrent business subflows need to be accurately synchronized and coordinated, that is, the business packets of each business subflow at the same time need to be transmitted at the same time, so as to ensure the best experience of users.

[0003] However, there is a lack of awareness between the current mobile network and the application, and the support for the above-mentioned multi-dimensional concurrent associated business subflows is not considered. Taking a video call service as an example, the audio stream and the video stream of the video call service create a bearer respectively in the mobile network layer, and different quality of service (QoS) class identifiers (QCI) are allocated. That is, the mobile network regards the audio stream business packet and the video stream business packet of the same audio and video call as two unrelated business packets, and transmits them through two unrelated bearers. However, the two unrelated bearers are difficult to synchronize when transmitting the business packets, which makes the quality of the video call service obtained by integrating different business packets poor, and further affects the user experience. Therefore, how to determine whether two associated business subflows are synchronized is a problem to be solved. SUMMARY

[0004] The present application provides a data processing method and device and storage medium to solve the problem that two associated businesses cannot be synchronized in the related art.

[0005] To achieve the above object, the present application adopts the following technical solutions:

[0006] In a first aspect, a data processing method is provided. The method is applied to a multi-flow service system, and the multi-flow service system includes a first node and a second node. The first node and the second node perform transmission of a multi-flow service. The multi-flow service includes at least a first service and a second service. The first service is associated with the second service. The method includes: determining, by the first node, an adjustment parameter between the first service and the second service. The adjustment parameter reflects a difference between a data amount of the first service and a data amount of the second service currently buffered by the first node. In a case where the adjustment parameter is not zero, the first node determines that the first service and the second service are not synchronized.

[0007] Optionally, after the first node determines that the first service and the second service are not synchronized, the method further includes: obtaining, by the first node, a current count value of a preset timer. In a case where the current count value is greater than or equal to a preset count value, the first node sends synchronization instruction information to the second node. The synchronization instruction information includes an identifier of the first service and the adjustment parameter, or an identifier of the second service and the adjustment parameter. The synchronization instruction information is used to instruct the second node to send a data packet of the first service according to the adjustment parameter, or to send a data packet of the second service according to the adjustment parameter.

[0008] Optionally, the adjustment parameter includes an identifier of an adjustment service and an adjustment service amount. The adjustment service is the first service or the second service. The first node determines the adjustment parameter between the first service and the second service includes: obtaining, by the first node, an adjustment frequency of the first service and an adjustment frequency of the second service within a preset time period. In a case where the adjustment frequency of the first service is greater than or equal to a preset frequency, the first node determines a difference between the data amount of the first service and the data amount of the second service currently buffered, and takes the difference and the identifier of the first service as the adjustment parameter. In a case where the adjustment frequency of the second service is greater than or equal to the preset frequency, the first node determines a difference between the data amount of the first service and the data amount of the second service currently buffered, and takes the difference and the identifier of the second service as the adjustment parameter.

[0009] Optionally, the first node obtains the adjustment frequency of the first service and the adjustment frequency of the second service within the preset time period includes: determining, by the first node, the data amount of the first service and the data amount of the second service buffered at multiple time points within the preset time period. For any one of the multiple time points, if the data amount of the first service is greater than a sum of the data amount of the second service and a first preset service amount, the adjustment frequency of the second service is increased by one. If the data amount of the second service is greater than a sum of the data amount of the first service and a second preset service amount, the adjustment frequency of the first service is increased by one.

[0010] Secondly, a data processing apparatus is provided for use in a multi-stream service system. The multi-stream service system includes a first node and a second node, and the first node and the second node transmit multi-stream services. The multi-stream services include at least a first service and a second service, and the first service and the second service are associated. The data processing apparatus includes a determining unit. The determining unit is used to determine an adjustment parameter between the first service and the second service. The adjustment parameter is used to reflect the difference between the amount of data of the first service currently cached by the first node and the amount of data of the second service. The determining unit is also used to determine that the first service and the second service are out of sync when the adjustment parameter is not zero.

[0011] Optionally, the data processing device further includes an acquisition unit and a transmission unit. After the first node determines that the first service and the second service are out of sync, the acquisition unit is used to acquire the current count value of a preset timer; the transmission unit is used to send synchronization instruction information to the second node when the current count value is greater than or equal to a preset value; the synchronization instruction information includes the identifier of the first service and the parameter to be adjusted, or the identifier of the second service and the parameter to be adjusted; the synchronization instruction information is used to instruct the second node to send data packets of the first service according to the adjustment parameters, or to send data packets of the second service according to the adjustment parameters.

[0012] Optionally, the parameters to be adjusted include the identifier of the service to be adjusted and the amount of service to be adjusted; the service to be adjusted is either the first service or the second service; the determining unit is specifically used for: the first node obtaining the number of times the first service and the number of times the second service will be adjusted within a preset time period; if the number of times the first service will be adjusted is greater than or equal to the preset number, the first node determines the difference between the data volume of the first service and the data volume of the second service currently cached, and uses the difference and the identifier of the first service as the parameters to be adjusted; if the number of times the second service will be adjusted is greater than or equal to the preset number, the first node determines the difference between the data volume of the first service and the data volume of the second service currently cached, and uses the difference and the identifier of the second service as the parameters to be adjusted.

[0013] Optionally, the determining unit is specifically used for: the first node determining the amount of data of the first service and the amount of data of the second service cached at multiple times within a preset time period; for any one of the multiple times, if the amount of data of the first service is greater than the sum of the amount of data of the second service and the first preset service amount, then the number of times the second service needs to be adjusted is incremented by one; if the amount of data of the second service is greater than the sum of the amount of data of the first service and the second preset service amount, then the number of times the first service needs to be adjusted is incremented by one.

[0014] Thirdly, an electronic device is provided, comprising: a processor and a memory for storing processor-executable instructions; wherein the processor is configured to execute instructions to implement the data processing method of the first aspect described above.

[0015] Fourthly, a computer-readable storage medium is provided, on which instructions are stored, such that when the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is able to perform the data processing method of the first aspect described above.

[0016] The technical solution provided in this application provides at least the following beneficial effects: The data processing device determines the adjustment parameters between the first service and the second service. Since the adjustment parameters reflect the difference between the data volume of the first service and the data volume of the second service currently cached by the first node, the first node determines that the first service and the second service are out of sync when the adjustment parameters are not zero. This application uses the difference in the current cached data volume of two related services as a basis (i.e., if there is a difference in the current cached data volume of two related services, the two services are considered to be out of sync), and then measures the synchronization status of the two related services to solve the problem in related technologies that it is impossible to determine whether two related services are synchronized. Attached Figure Description

[0017] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0018] Figure 1 This application provides a schematic diagram of multi-data stream transmission in an XR service scenario.

[0019] Figure 2 A schematic diagram of the structure of a multi-stream service system provided in an embodiment of this application;

[0020] Figure 3 A flowchart illustrating a data processing method provided in this application embodiment. Figure 1 ;

[0021] Figure 4 A flowchart illustrating a data processing method provided in this application embodiment. Figure 2 ;

[0022] Figure 5 A schematic diagram illustrating a data volume representation provided in an embodiment of this application;

[0023] Figure 6 A flowchart illustrating a data processing method provided in this application embodiment. Figure 3 ;

[0024] Figure 7This is a schematic diagram illustrating a manifestation of MACCE provided in an embodiment of this application;

[0025] Figure 8 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application;

[0026] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0027] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0028] It should be noted that in the embodiments of this application, the words "exemplary" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the words "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0029] It should also be noted that in the embodiments of this application, "of", "corresponding", and "corresponding" can sometimes be used interchangeably. It should be pointed out that when their differences are not emphasized, their meanings are consistent.

[0030] To facilitate a clear description of the technical solutions of the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish the same or similar items with essentially the same function and effect. Those skilled in the art can understand that the terms "first" and "second" are not intended to limit the quantity or execution order.

[0031] Before providing a detailed explanation of the embodiments of this application, some related technologies involved in the embodiments of this application will be introduced first.

[0032] Extended reality (XR) refers to an interactive environment that combines real and virtual elements, created through computer technology and wearable devices. XR is based on augmented reality (AR), virtual reality (VR), and mixed reality (MR).

[0033] Understandably, to avoid conceptual confusion, XR is actually a general term that includes AR, VR, and MR. The purpose of XR services is to utilize high-speed networks, along with technologies such as 360-degree imaging, to achieve interactive and immersive experiences.

[0034] XR is one of the more important media applications of 5G (5th generation mobile communication technology) currently being considered by the industry. In the XR use cases discussed in the 3GPP SA4 standards group of the 3rd Generation Partnership Project (3GPP), video streams, audio streams, and UE gesture / control flows all need to be sent or received by the UE. It is important to note that the periodicity of these flows may differ; for example, video streams may generate at 60, 90, or 120 frames per second, while audio streams have a packet generation time of 20 milliseconds. Their sensitivities to packet loss and latency may also differ; in other words, they have different Quality of Service (QoS) requirements. Therefore, it is inappropriate to centralize all their traffic in a single data stream, as this would force the gNB to process them identically. Therefore, it is crucial to process multiple data streams with different QoS requirements separately.

[0035] Related technologies break down XR services into multiple data streams and define different QoS requirements for each stream to ensure performance. However, these technologies do not consider how to ensure synchronization between these multiple data streams. Figure 1 The diagram illustrates a multi-data stream transmission scenario in an XR service context. Multiple data streams are transmitted between the terminal device and the base station device. These streams include data stream 1 (corresponding to service 1), data stream 2 (corresponding to service 2), data stream 3 (corresponding to service 3), and data stream 4 (corresponding to service 4). Since the QoS requirements of services 1, 2, 3, and 4 are different, discrepancies between the data streams can easily occur. For example, if data stream 1 is transmitted faster, data streams 2, 3, and 4 may not have arrived by the time data stream 1 reaches the base station device.

[0036] Therefore, determining whether two related business sub-flows are synchronized is an urgent problem to be solved.

[0037] The data processing method provided in this application addresses the problem in related technologies where it is impossible to determine whether two related services are synchronized. The data processing method provided in this application can be applied to multi-stream service systems. Figure 2 A schematic diagram of the structure of this multi-stream service system is shown. For example... Figure 2 As shown, the multi-stream service system 10 includes a first node 11 and a second node 12. The first node 11 and the second node 12 are connected. The first node 11 and the second node 12 can be connected via a wired or wireless connection; this embodiment does not limit the connection in this way.

[0038] The first node 11 can be either a terminal device or a base station device. The second node 12 can also be either a terminal device or a base station device. The first node 11 and the second node 12 perform multi-stream service transmission (including the first node 11 sending data to the second node 12, or the first node 11 receiving data sent by the second node 12). The multi-stream service includes at least two related services, such as a first service and a second service.

[0039] Terminal devices can be either wireless or wired. Wireless terminal devices can be devices that provide voice and / or data connectivity to users, handheld devices with wireless connectivity, or other processing devices connected to a wireless modem. Terminal devices communicate with access network devices using some air interface technology (e.g., NR or LTE). Terminal devices can also communicate with each other using some air interface technology (e.g., NR or LTE). Wireless terminal devices can communicate with one or more core network devices via access network devices, such as with AMF, SMF, etc. Terminal devices can be mobile terminal devices, such as mobile phones (or "cellular" phones), smartphones, satellite wireless devices, wireless terminal devices in industrial control, wireless terminal devices in autonomous driving, wireless terminal devices in remote surgery, wireless terminal devices in smart grids, wireless terminal devices in transportation safety, wireless terminal devices in smart cities, wireless terminal devices in smart homes, wireless modem cards, and computers with mobile terminal devices (e.g., laptop, portable, pocket, handheld, computer-embedded, or vehicle-mounted mobile devices) that exchange voice and / or data with access network equipment. For example, wireless terminal devices can be personal communication service (PCS) phones, mobile phones, tablets, computers with wireless transceiver capabilities, AR terminal devices, VR terminal devices, MR terminal devices, XR terminal devices, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), machine-type communication terminal devices, etc. In vehicle-to-everything (V2X) communication, the communication equipment mounted on the vehicle is a type of terminal equipment, as can the roadside unit (RSU). Communication equipment mounted on an unmanned aerial vehicle (UAV) can also be considered a type of terminal equipment. Terminal equipment can also be referred to as user equipment (UE), terminal, mobile terminal (MT), subscriber unit, subscriber station, mobile station, mobile station, remote station, access point, access terminal, user terminal, user agent, etc.

[0040] Base station equipment can be any device that provides wireless communication capabilities to terminal devices. Examples of base station equipment include, but are not limited to: next-generation base stations (gnodeB, gNB) in 5G, evolved node B (eNB), radio network controller (RNC), node B (NB), base station controller (BSC), base transceiver station (BTS), home base station (e.g., home-evolved nodeB, or home nodeB, HNB), base band unit (BBU), transmitting and receiving point (TRP), transmitting point (TP), mobile switching center, etc.

[0041] Both the first node 11 and the second node 12 can serve as data processing devices to determine whether two related services are synchronized. For ease of understanding, they will be referred to as data processing devices below.

[0042] The following is combined Figure 2 The multi-stream service system shown illustrates the data processing method provided in the embodiments of this application.

[0043] Figure 3 This is a flowchart illustrating a data processing method according to some exemplary embodiments. In some embodiments, the above-described data processing method can be applied to, for example... Figure 2 The first and second nodes shown can also be applied to other similar devices.

[0044] like Figure 3 As shown, the data processing method provided in this application embodiment includes the following S201-S202.

[0045] S201. The first node determines the parameters to be adjusted between the first service and the second service.

[0046] Among them, the parameter to be adjusted is used to reflect the difference between the amount of data of the first service and the amount of data of the second service currently cached by the first node.

[0047] As one possible implementation, the first node determines the difference between the service rate requirement (denoted as Apply_r) of the associated service (such as the first service and the second service) and the synchronous data rate received from the associated service (denoted as R_r). When Apply_r + Delta_r <= R_r (Delta_r is the data buffer synchronization rate threshold), the first node considers the received synchronous data rate of the first and second services to be much faster than the service rate requirements of the first and second services. Therefore, even if the two data streams stored by the first node are actually out of sync, it will not affect the actual use of the application service, and no processing is performed. When Apply_r + Delta_r > R_r, if the two data streams stored by the first node are out of sync, it will directly affect the effect of the application service. Therefore, the first node needs to determine the adjustment parameters between the first service and the second service.

[0048] S202. If the parameter to be adjusted is not zero, the first node determines that the first service and the second service are out of sync.

[0049] As one possible implementation, after determining the adjustment parameters between the first service and the second service, the first node checks whether the adjustment parameters are zero. If the adjustment parameters are not zero, the first node determines that the first service and the second service are out of sync.

[0050] In some embodiments, when the parameter to be adjusted is zero, the first node determines that the first service and the second service are synchronized.

[0051] The technical solution provided in this application provides at least the following beneficial effects: The data processing device determines the adjustment parameters between the first service and the second service. Since the adjustment parameters reflect the difference between the data volume of the first service and the data volume of the second service currently cached by the first node, the first node determines that the first service and the second service are out of sync when the adjustment parameters are not zero. This application uses the difference in the current cached data volume of two related services as a basis (i.e., if there is a difference in the current cached data volume of two related services, the two services are considered to be out of sync), and then measures the synchronization status of the two related services to solve the problem in related technologies that it is impossible to determine whether two related services are synchronized.

[0052] In one design, the parameters to be adjusted include the identifier of the service to be adjusted and the volume of the service to be adjusted; the service to be adjusted is either a first service or a second service. To determine the parameters to be adjusted between the first service and the second service, such as... Figure 4 As shown, S201 specifically includes:

[0053] S2011, The first node obtains the number of times the first service needs to be adjusted and the number of times the second service needs to be adjusted within a preset time period.

[0054] As one possible implementation, the first node counts the amount of data from the first service and the second service cached at multiple moments within a preset time period. Furthermore, for any one of these moments, if the amount of data from the first service is greater than the sum of the amount of data from the second service and the first preset service amount, the adjustment count for the second service is incremented by one; conversely, if the amount of data from the second service is greater than the sum of the amount of data from the first service and the second preset service amount, the adjustment count for the first service is incremented by one. This yields the adjustment counts for the first service and the second service within the preset time period.

[0055] For example, the UE performs a statistical comparison of the unused data amounts Data_i and Data_j in the buffer for the first service (denoted as RB_i) and the second service (denoted as RB_j) every millisecond (ms). Figure 5 This shows how Data_i and Data_j are represented in the buffer.

[0056] When Data_i > Data_j + Delta1, then T_j++, T_i = 0. If T_j > T_th, then record Data_adjust = Data_i - Data_j; RB_adjust = j.

[0057] When Data_j > Data_i + Delta2, then T_i++, T_j = 0. If T_i > T_th, then record Data_adjust = Data_j - Data_i; RB_adjust = i.

[0058] Otherwise, T_j=0, T_i=0, Data_adjust=0, RB_adjust=NULL.

[0059] Where Delta1 represents the first preset service volume, Delta2 represents the second preset service volume, T_i represents the number of times the first service needs to be adjusted, T_j represents the number of times the second service needs to be adjusted, T_th represents the preset number of times, Data_adjust represents the difference between the data volume of the first service and the data volume of the second service in the current buffer, and RB_adjust represents the service identifier.

[0060] S2012. If the number of times the first service needs to be adjusted is greater than or equal to the preset number of times, the first node determines the difference between the amount of data of the first service currently cached and the amount of data of the second service, and uses the difference and the identifier of the first service as the parameter to be adjusted.

[0061] That is, when Data_i > Data_j + Delta1, then T_j++ and T_i = 0. If T_j > T_th, the first node records Data_adjust = Data_i - Data_j; RB_adjust = j. Furthermore, the first node sets Data_adjust and RB_adjust as parameters to be adjusted.

[0062] S2013. If the number of times the second service needs to be adjusted is greater than or equal to the preset number of times, the first node determines the difference between the amount of data of the first service and the amount of data of the second service currently cached, and uses the difference and the identifier of the second service as the parameter to be adjusted.

[0063] That is, when Data_j > Data_i + Delta2, then T_i++ and T_j = 0. If T_i > T_th, the first node records Data_adjust = Data_j - Data_i; RB_adjust = i. Furthermore, the first node sets Data_adjust and RB_adjust as parameters to be adjusted.

[0064] In one design, to synchronize the first service with the second service, such as Figure 6 As shown, following S202 above, the data processing method provided in this application further includes:

[0065] S301, The first node obtains the current count value of the preset timer.

[0066] As one possible implementation, the operations and maintenance personnel can pre-set a timer in the first node and start counting. After the first node determines that the first service and the second service are out of sync, it obtains the current count value of the timer.

[0067] S302. When the current count value is greater than or equal to the pre-designed value, the first node sends a synchronization instruction to the second node.

[0068] The synchronization instruction information includes the identifier of the first service and the parameters to be adjusted, or the identifier of the second service and the parameters to be adjusted; the synchronization instruction information is used to instruct the second node to send the data packet of the first service according to the parameters to be adjusted, or to send the data packet of the second service according to the parameters to be adjusted.

[0069] As one possible implementation, the first node compares the acquired current count value with the pre-designed value to determine whether the current count value is greater than or equal to the pre-designed value. If the current count value is greater than or equal to the pre-designed value, the first node sends a synchronization command to the second node.

[0070] In some embodiments, the first node determines whether the current count value is greater than or equal to a pre-designed value, or whether the timer has started. If the current count value is greater than or equal to the pre-designed value, or the timer has not started, the first node sends a synchronization instruction to the second node.

[0071] For example, if timer T_w is not started, or T_w >= T_wth, it is assumed that the UE has not requested synchronization command information from the base station, or that the base station has not responded to the UE's previous synchronization command information in a timely manner. If T_w < T_wth, the UE will temporarily refrain from sending synchronization command information to the base station to avoid the problem of frequent requests.

[0072] In some embodiments, the first node may send synchronization instruction information to the second node in the form of a media access control element (MACCE).

[0073] The TS38.321 protocol specification defines various MAC CEs for uplink and downlink in 5G based on the Locality Set Identifier (LCID) type in the MAC header. For example... Figure 7 The diagram illustrates one assembly format for MACCE. LCID1 is the identifier of the service to be adjusted (e.g., the first service), using the 011xx format. ADJUSTSIZE is the amount of data to be adjusted, which can be set according to the parameters to be adjusted. For example, ADJUSTSIZE can be set to reuse the "Buffer size levels for BSR" from the 321 protocol based on the parameters to be adjusted. That is, LCID1 is RB_adjust, and ADJUSTSIZE is Data_adjust.

[0074] In some embodiments, after the first node sends synchronization instruction information to the second node, the first node sets T_j=0, T_i=0, Data_adjust=0, RB_adjust=NULL, and starts or restarts timer T_w, such as setting T_w=0.

[0075] The above embodiments mainly describe the solutions provided by the embodiments of this application from the perspective of an apparatus (device). It is understood that, in order to implement the above methods, the apparatus or device includes hardware structures and / or software modules corresponding to the execution of each method flow. These hardware structures and / or software modules corresponding to the execution of each method flow can constitute a material information determination apparatus. Those skilled in the art should readily recognize that, in conjunction with the algorithm steps of the various examples described in the embodiments of the invention herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in a hardware or computer software-driven hardware manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0076] This application embodiment can divide the device or equipment into functional modules according to the above method examples. For example, the device or equipment can be divided into functional modules corresponding to each function, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.

[0077] Figure 8 This is a schematic diagram of the structure of a data processing apparatus according to an exemplary embodiment. (Refer to...) Figure 8 As shown, the data processing apparatus 40 provided in this embodiment is applied to a multi-stream service system. The multi-stream service system includes a first node and a second node, and the first node and the second node transmit multi-stream services. The multi-stream services include at least a first service and a second service, and the first service and the second service are associated. The data processing apparatus 40 includes a determining unit 401.

[0078] The determining unit 401 is used to determine the adjustment parameter between the first service and the second service; the adjustment parameter is used to reflect the difference between the data volume of the first service and the data volume of the second service currently cached by the first node; the determining unit 401 is also used to determine that the first service and the second service are out of sync when the adjustment parameter is not zero.

[0079] Optionally, the data processing device 40 further includes an acquisition unit 402 and a sending unit 403. After the first node determines that the first service and the second service are out of sync, the acquisition unit 402 is used to acquire the current count value of a preset timer; the sending unit 403 is used to send synchronization instruction information to the second node when the current count value is greater than or equal to a preset value; the synchronization instruction information includes the identifier of the first service and the parameter to be adjusted, or the identifier of the second service and the parameter to be adjusted; the synchronization instruction information is used to instruct the second node to send data packets of the first service according to the adjustment parameters, or to send data packets of the second service according to the adjustment parameters.

[0080] Optionally, the parameters to be adjusted include the identifier of the service to be adjusted and the amount of service to be adjusted; the service to be adjusted is either the first service or the second service; the determining unit 401 is specifically used for: the first node obtaining the number of times the first service and the number of times the second service will be adjusted within a preset time period; if the number of times the first service will be adjusted is greater than or equal to the preset number, the first node determines the difference between the data volume of the first service and the data volume of the second service currently cached, and uses the difference and the identifier of the first service as the parameters to be adjusted; if the number of times the second service will be adjusted is greater than or equal to the preset number, the first node determines the difference between the data volume of the first service and the data volume of the second service currently cached, and uses the difference and the identifier of the second service as the parameters to be adjusted.

[0081] Optionally, the determining unit 401 is specifically used for: the first node determining the amount of data of the first service and the amount of data of the second service cached at multiple times within a preset time; for any one of the multiple times, if the amount of data of the first service is greater than the sum of the amount of data of the second service and the first preset service amount, then the number of times the second service needs to be adjusted is incremented by one; if the amount of data of the second service is greater than the sum of the amount of data of the first service and the second preset service amount, then the number of times the first service needs to be adjusted is incremented by one.

[0082] Figure 9 This is a schematic diagram of the structure of an electronic device provided in this application. For example... Figure 9 The electronic device 50 may include at least one processor 501 and a memory 502 for storing processor-executable instructions. The processor 501 is configured to execute the instructions in the memory 502 to implement the detection method described in the above embodiments.

[0083] In addition, the electronic device 50 may also include a communication bus 503 and at least one communication interface 504.

[0084] The processor 501 may be a processor (central processing unit, CPU), a microprocessor unit, an ASIC, or one or more integrated circuits for controlling the execution of the program of the present application.

[0085] The communication bus 503 may include a path for transmitting information between the aforementioned components.

[0086] Communication interface 504 uses any transceiver-like device for communicating with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area network (WLAN), etc.

[0087] Memory 502 may be read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions, random access memory (RAM) or other types of dynamic storage devices capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. Memory may exist independently and be connected to processor 501 via a bus. Memory may also be integrated with processor 501.

[0088] The memory 502 stores instructions for executing the scheme of this application, and the processor 501 controls the execution. The processor 501 executes the instructions stored in the memory 502 to realize the functions of the method of this application.

[0089] As an example, combined Figure 8 The functions implemented by the determining unit 401, the acquiring unit 402, and the sending unit 403 in the data processing device 40 are the same as those of the data processing device 40. Figure 9 The processor 501 in it has the same function.

[0090] In a specific implementation, as one example, the processor 501 may include one or more CPUs, for example... Figure 9 CPU0 and CPU1 in the CPU.

[0091] In a specific implementation, as one example, the electronic device 50 may include multiple processors, such as... Figure 9 Processors 501 and 507 are shown in the diagram. Each of these processors can be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. A processor here can refer to one or more devices, circuits, and / or processing cores used to process data (such as computer program instructions).

[0092] In a specific implementation, as one embodiment, the electronic device 50 may further include an output device 505 and an input device 506. The output device 505 communicates with the processor 501 and can display information in various ways. For example, the output device 505 may be a liquid crystal display (LCD), a light-emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc. The input device 506 communicates with the processor 501 and can accept input from user objects in various ways. For example, the input device 506 may be a mouse, keyboard, touchscreen device, or sensing device, etc.

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

[0094] In addition, this application also provides a computer-readable storage medium that, when the instructions in the computer-readable storage medium are executed by the processor of an electronic device, enables the electronic device to perform the data processing method provided in the above embodiments.

[0095] In addition, this application also provides a computer program product, including computer instructions, which, when executed on an electronic device, cause the electronic device to perform the data processing method provided in the above embodiments.

[0096] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention described herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not invented herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the claims.

Claims

1. A data processing method, characterized in that, The method is applied to a multi-stream service system, which includes a first node and a second node. The first node and the second node transmit multi-stream services, which include at least a first service and a second service, wherein the first service and the second service are associated. The first node determines the amount of data from the first service and the amount of data from the second service cached at multiple times within a preset time period; For any one of the plurality of times, if the data volume of the first service is greater than the sum of the data volume of the second service and the first preset service volume, then the number of times the second service needs to be adjusted is incremented by one; if the data volume of the second service is greater than the sum of the data volume of the first service and the second preset service volume, then the number of times the first service needs to be adjusted is incremented by one. If the number of times the first service needs to be adjusted is greater than or equal to the preset number, the first node determines the difference between the amount of data of the first service currently cached and the amount of data of the second service, and uses the difference and the identifier of the first service as the parameter to be adjusted. If the number of times the second service needs to be adjusted is greater than or equal to the preset number, the first node determines the difference between the amount of data of the first service currently cached and the amount of data of the second service, and uses the difference and the identifier of the second service as the parameter to be adjusted. If the parameter to be adjusted is not zero, the first node determines that the first service and the second service are out of sync.

2. The data processing method according to claim 1, characterized in that, After the first node determines that the first service and the second service are out of sync, the method further includes: The first node obtains the current count value of the preset timer; When the current count value is greater than or equal to the pre-designed value, the first node sends a synchronization instruction to the second node; the synchronization instruction includes the identifier of the first service and the parameter to be adjusted, or the identifier of the second service and the parameter to be adjusted; the synchronization instruction is used to instruct the second node to send the data packet of the first service according to the parameter to be adjusted, or to send the data packet of the second service according to the parameter to be adjusted.

3. A data processing apparatus, characterized in that, The system is applied to a multi-stream service system, which includes a first node and a second node. The first node and the second node transmit multi-stream services. The multi-stream services include at least a first service and a second service, and the first service is associated with the second service. The data processing device includes a determining unit. The determining unit is used to determine the amount of data of the first service and the amount of data of the second service cached at multiple times within a preset time period. The determining unit is further configured to, for any one of the plurality of times, if the data volume of the first service is greater than the sum of the data volume of the second service and the first preset service volume, increment the number of times the second service needs to be adjusted by one; if the data volume of the second service is greater than the sum of the data volume of the first service and the second preset service volume, increment the number of times the first service needs to be adjusted by one. The determining unit is further configured to determine the difference between the amount of data of the first service currently cached and the amount of data of the second service when the number of times the first service needs to be adjusted is greater than or equal to a preset number, and to use the difference and the identifier of the first service as the adjustment parameter; The determining unit is further configured to determine the difference between the amount of data of the first service currently cached and the amount of data of the second service when the number of times the second service needs to be adjusted is greater than or equal to a preset number, and to use the difference and the identifier of the second service as the parameter to be adjusted; The determining unit is further configured to determine that the first service and the second service are out of sync when the parameter to be adjusted is not zero.

4. The data processing apparatus according to claim 3, characterized in that, The data processing device further includes an acquisition unit and a transmission unit, which are used after the first node determines that the first service and the second service are out of sync. The acquisition unit is used to acquire the current count value of a preset timer; The sending unit is configured to send synchronization instruction information to the second node when the current count value is greater than or equal to a pre-designed value; the synchronization instruction information includes the identifier of the first service and the parameter to be adjusted, or the identifier of the second service and the parameter to be adjusted; the synchronization instruction information is used to instruct the second node to send data packets of the first service according to the adjustment parameters, or to send data packets of the second service according to the adjustment parameters.

5. An electronic device, characterized in that, include: A processor and a memory for storing instructions executable by the processor; wherein the processor is configured to execute instructions to implement the data processing method of any one of claims 1-2.

6. A computer-readable storage medium storing instructions thereon, characterized in that, When the instructions in the computer-readable storage medium are executed by the processor of the electronic device, the electronic device is able to perform the data processing method as described in any one of claims 1-2.

Citation Information

Patent Citations

  • Multi-stream associated transmission method, device and system

    CN114205839A

  • Intelligent synchronization of media streams

    US20220321933A1