Processing method and apparatus for data channel, and communication device, storage medium and computer program product

By querying and managing cached data channel objects in the data channel processing method, the problem of repeatedly establishing data channels in 5G enhanced calls is solved, achieving efficient resource utilization and reduced latency.

WO2026036597A1PCT designated stage Publication Date: 2026-02-19CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/139221
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-16
Filing Date
2024-12-13
Publication Date
2026-02-19

AI Technical Summary

Technical Problem

During 5G enhanced calls, when the DC application is restarted without being dismantled, the chip repeatedly establishes multiple data channel objects, resulting in reduced communication resource utilization and increased end-to-end latency.

Method used

By querying the data channel object in the caching function, the duplicate creation of data channels is avoided. The data channel creation interface is used to negotiate with the chip to establish the channel, or a notification message is returned to restart the application, ensuring the consistency of the data channel state.

Benefits of technology

Save communication resources, reduce end-to-end latency, and improve the utilization rate of communication resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024139221_19022026_PF_FP_ABST
    Figure CN2024139221_19022026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to a processing method and apparatus for a data channel, and a communication device, a storage medium and a computer program product. The method comprises: when a target application meets a target restart condition, querying, by means of a cache function, a data channel object corresponding to the target application, in order to obtain a query result, wherein the target restart condition is that the target application has successfully established a data channel with a peer end, and the target application is restarted after being closed within the same call; and on the basis of the data channel corresponding to the query result, restarting the target application. The method can avoid repeated creation of a plurality of data channel objects for the same application, thereby saving communication resources and reducing end-to-end latency.
Need to check novelty before this filing date? Find Prior Art

Description

Method, apparatus, and device for processing data channel, storage medium, and computer program product

[0001] This application claims priority to the Chinese patent application No. 2024111301754, filed on August 16, 2024, and entitled "Method, apparatus, and device for processing data channel, storage medium, and computer program product", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0002] The present application relates to the technical field of wireless communication, and in particular to a method, apparatus, and device for processing data channel, a storage medium, and a computer program product. BACKGROUND

[0003] During a 5G (5th Generation Mobile Communication Technology) enhanced call, a DC (Data Channel) application successfully establishes a DC with a peer; in the case where the DC application is closed but the DC application does not call an interface for tearing down the DC, i.e., in the case where the DC application is closed but the DC application does not tear down the DC, if the DC application is restarted, a software module will request the chip to establish a DC again; in this way, the chip repeatedly establishes multiple DC objects for the same DC, which reduces the utilization rate of communication resources. SUMMARY

[0004] Embodiments of the present application provide a method, apparatus, and device for processing data channel, a storage medium, and a computer program product, which can avoid waste of chip resources and improve the utilization rate of communication resources.

[0005] A method for processing a data channel, applied to a software module, the method comprising:

[0006] When a target application meets a target restart condition, querying a data channel object corresponding to the target application through a cache function to obtain a query result; the target restart condition is that the target application successfully establishes a data channel with a peer, and the target application is restarted after being closed in the same call;

[0007] Based on the data channel corresponding to the query result, restarting the target application.

[0008] In one embodiment, the query result is that the data channel object of the target application is not queried; and the restarting the target application based on the data channel corresponding to the query result comprises:

[0009] An interface is created through a data channel to send a data channel establishment request to a chip to make the chip re-negotiate with a network to establish a data channel, and restart the target application based on the data channel.

[0010] In one embodiment, the query result is a data channel object of the target application; and the restarting the target application based on the data channel corresponding to the query result comprises:

[0011] A notification message is returned to the target application that the data channel has been successfully created, so that the target application determines that the data channel of the target application has been successfully created based on the notification message and restarts based on the data channel.

[0012] In one embodiment, the method further comprises:

[0013] After the target application establishes a data channel with a terminal, a data channel object corresponding to the target application is cached, and the data channel object includes a target capability.

[0014] When the target application is closed and a close data channel interface is called, a close event is sent to the chip to make the chip remove the data channel corresponding to the target application and return a data channel close notification message to the software module;

[0015] The data channel close notification message is received, and the data channel object corresponding to the target application is cleared based on the data channel close notification message;

[0016] When the target application is closed and the close data channel interface is not called, the close event is not transmitted to the chip, so that the chip is not aware.

[0017] In one embodiment, the method further comprises:

[0018] The calling request sent by the target application is received, and the calling request is used to create a data channel.

[0019] In one embodiment, the target capability includes one or more of sending data, closing DC, obtaining DC label, obtaining SCTP connection sub-flow identifier, and obtaining call ID, and the DC label is used to identify different data channels.

[0020] A data channel processing device applied to a software module, the device comprises:

[0021] The query module is configured to query a data channel object corresponding to the target application through a cache function when the target application meets a target restart condition, and obtain a query result, wherein the target restart condition is that the target application and a peer successfully establish a data channel, and the target application is restarted after being closed in a same call.

[0022] The starting module is configured to restart the target application based on a data channel corresponding to the query result.

[0023] In one of the embodiments, the query result is that the data channel object of the target application is not queried; and the starting module is specifically configured to:

[0024] send a data channel establishment request to a chip through a data channel creation interface, so that the chip and a network re-perform signaling negotiation to establish a data channel, and restart the target application based on the data channel.

[0025] In one of the embodiments, the query result is that the data channel object of the target application is queried; and the starting module is specifically configured to:

[0026] return a notification message that a data channel has been successfully created to the target application, so that the target application determines that the data channel of the target application has been successfully created based on the notification message, and restarts based on the data channel.

[0027] In one of the embodiments, the apparatus further includes:

[0028] The cache module is configured to cache a data channel object corresponding to the target application after the target application and a terminal establish a data channel, wherein the data channel object includes a target capability.

[0029] The sending module is configured to send a closing event to a chip when the target application is closed and a closing data channel interface is called, so that the chip removes a data channel corresponding to the target application, and returns a data channel closing notification message to the software module.

[0030] The first receiving module is configured to receive the data channel closing notification message, and clear the data channel object corresponding to the target application based on the data channel closing notification message.

[0031] The sending module is further configured to not transmit the closing event to the chip when the target application is closed and the closing data channel interface is not called, so that the chip is not aware.

[0032] In one of the embodiments, the apparatus further includes:

[0033] A second receiving module is configured to receive a calling request sent by the target application, the calling request being used to create a data channel.

[0034] In one of the embodiments, the target capability includes one or more of sending data, closing a DC, obtaining a DC tag, obtaining a substream identification of an SCTP connection, and obtaining a call ID, the DC tag being used to identify different data channels.

[0035] A communication device includes a memory and a processor, the memory storing a computer program, and the processor implementing the following steps when executing the computer program:

[0036] When a target application meets a target restart condition, a data channel object corresponding to the target application is queried through a cache function to obtain a query result, the target restart condition being that the target application and a peer successfully establish a data channel, and the target application is restarted after being closed in a same call;

[0037] The target application is restarted based on a data channel corresponding to the query result.

[0038] A computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement the following steps:

[0039] When a target application meets a target restart condition, a data channel object corresponding to the target application is queried through a cache function to obtain a query result, the target restart condition being that the target application and a peer successfully establish a data channel, and the target application is restarted after being closed in a same call;

[0040] The target application is restarted based on a data channel corresponding to the query result.

[0041] A computer program product includes a computer program, and the computer program is executed by a processor to implement a data channel processing method provided by an embodiment of the application, the method can be:

[0042] When a target application meets a target restart condition, a data channel object corresponding to the target application is queried through a cache function to obtain a query result, the target restart condition being that the target application and a peer successfully establish a data channel, and the target application is restarted after being closed in a same call;

[0043] The target application is restarted based on a data channel corresponding to the query result.

[0044] The method, apparatus, communication device, storage medium, and computer program product for processing a data channel, wherein the method comprises: when a target application meets a target restart condition, querying a data channel object corresponding to the target application through a cache function to obtain a query result; the target restart condition is that the target application and a peer successfully establish a data channel, and the target application is restarted after being closed in the same call; and based on the data channel corresponding to the query result, restarting the target application. By using the method, multiple data channel objects for the same application can be avoided from being repeatedly created, communication resources are saved, and end-to-end latency is reduced. BRIEF DESCRIPTION OF DRAWINGS

[0045] FIG. 1 is a diagram of an application environment of a method for processing a data channel according to an embodiment;

[0046] FIG. 2 is a flowchart of a method for processing a data channel according to an embodiment;

[0047] FIG. 3 is a flowchart of a step of clearing a data channel object according to an embodiment;

[0048] FIG. 4 is a flowchart of a step of receiving a call request according to an embodiment;

[0049] FIG. 5 is a flowchart of a method for processing a data channel according to another embodiment;

[0050] FIG. 6 is a block diagram of a processing apparatus for a data channel according to an embodiment;

[0051] FIG. 7 is a diagram of an internal structure of a communication device according to an embodiment. DETAILED DESCRIPTION

[0052] To make the objects, technical solutions, and advantages of the present application clearer, the present application is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely intended to explain the present application and are not intended to limit the present application.

[0053] FIG. 1 is a diagram of an application scenario of a method for processing a data channel according to an embodiment. As shown in FIG. 1, data transmission is performed between a terminal 100, a target application 200, and a chip 300 through a network, a software module is a function of the terminal 100, and can be implemented through a middleware (such as an SDK) or a native operating system, which can be an Android system, a Hongmeng system, an IOS system, and the like.

[0054] In some embodiments, the terminal 100 can be a wireless terminal, which can refer to a device that provides voice and / or other data connectivity to a user, or a hand-held device having a wireless connection function, or other processing device connected to a wireless modem. The wireless terminal can communicate with one or more core networks via a Radio Access Network (RAN), and can be a mobile terminal, such as a mobile telephone (or "cellular" telephone) and a computer with a mobile termination that can be, for example, portable, pocket, hand-held, computer-included, or car-mounted, and exchanges language and / or data with a radio access network. The wireless terminal can also be referred to as a system, a subscriber unit, a subscriber station, a mobile station, a mobile, a remote station, a remote terminal, an access terminal, a user terminal, a user agent, a user device, or user equipment, without limitation.

[0055] In the prior art, during 5G enhanced call, when the DC application has successfully established DC with the opposite end, after the DC application is closed but the DC application does not call the interface of tearing down DC, if the user starts the application again, the software module will re-call the interface of creating DC to request the chip to establish DC, which will cause the chip to create multiple DC objects for the same DC application, and the SCTP link needs to be re-established through signaling negotiation. The chip repeatedly creates DC objects for the same DC application, which will cause waste of network and chip resources, and repeatedly creating DC will also increase the end-to-end second-level delay.

[0056] Based on the above-mentioned prior art, the embodiment of the present application provides a data channel processing method, which queries whether there is a cached data channel in the cache function to avoid repeatedly establishing multiple data channel objects for the same target application, thereby saving communication resources.

[0057] It should be noted that the beneficial effects or technical problems solved by the embodiments of the present application are not limited to this, but also other implicit or related problems, which can be referred to the description of the following embodiments.

[0058] Before introducing the specific embodiments of the present application, the professional terms involved in the present application are explained:

[0059] DC (Data Channel): is the data channel defined by 3GPP IMS audio and video communication architecture, by establishing one or more data channels parallel to audio and video transmission in IMS session, any type of data can be transmitted, so as to realize real-time interaction in audio and video call, the data channel can include BDC and ADC; BDC (Bootstrap Data Channel) is established between the terminal and the IMS network, which is used for the terminal to obtain the data channel application list from the IMS network and download the required data channel application. ADC (Application Data Channel) is established between the terminal and the IMS network or the terminal, which is used for transmitting application data of the data channel application.

[0060] SCTP (Stream Control Transmission Protocol): SCTP protocol is a computer network communication protocol used in the transport layer of Internet Protocol Suite. It is a connection-oriented network protocol used to transmit multiple data streams between endpoints. When transmitting data in IMS Data Channel, the SCTP protocol carries the protocol data transmission of the application layer.

[0061] The technical solutions of the present application and how the technical solutions of the present application solve the above technical problems will be described in detail below with specific examples. The following specific examples can be combined with each other, and the same or similar concepts or processes may not be described again in some examples. The embodiments of the present application will be described below with reference to the drawings.

[0062] In one embodiment, as shown in FIG. 2, a data channel processing method is provided, and the method is applied to the software module in FIG. 1 as an example, including the following steps:

[0063] Step 202, when the target application meets the target restart condition, the data channel object corresponding to the target application is queried through the cache function, and the query result is obtained.

[0064] In some embodiments, the target restart condition is that the target application successfully establishes a data channel with a peer, and the target application is restarted after being closed in the same call; the cache function can be a function of the terminal device, and can be implemented through a middleware or a native operating system. The middleware can be an SDK, and the native operating system can be an Android operating system, a Harmony operating system, an iOS operating system, or the like. The target restart condition can be that the target application has successfully established at least one data channel with a terminal, the software module caches data channel objects corresponding to the target application, and the target application is restarted after being closed during the same call. The target application can be a specific application, for example, an application that has successfully established a data channel and has been closed and restarted. That is, the target restart condition can be that the target application successfully establishes a data channel with a peer, and the target application is restarted after being closed in a call. The data channel can be a data channel established between terminals or a data channel established between a terminal and a network. The DC application can run on a terminal device, and the software module can be a middleware or an operating system of the terminal. The middleware can be an SDK, and the operating system of the terminal can be an Android operating system, a Harmony operating system, an iOS operating system, or the like.

[0065] In some embodiments, when the software module determines that the target application meets the target restart condition, the software module can query whether the data channel object corresponding to the target application has been cached through the cache function, and obtain a query result. The query result can be that the cached data channel object corresponding to the target application is queried, or the query result can also be that the data channel object corresponding to the target application is not queried. In an example, the data channel object corresponding to the target application can be a data channel object of the target application cached by the software module after the target application successfully establishes a data channel with a terminal.

[0066] In some embodiments, after the target application successfully establishes at least one data channel DC with a peer, the software module can cache all DC objects of the target application. The software module can also cache all DC objects of each application. The target application can be closed in response to a user-triggered application closing instruction, and when the target application is restarted, the software module can query whether the DC object of the target application has been cached through the cache function, and obtain a query result.

[0067] In step 204, the target application is restarted based on the data channel corresponding to the query result.

[0068] In some embodiments, the query result can be that the DC object of the target application has been cached, the corresponding data channel can be a data channel that has been established previously, or the query result can be that the DC object of the target application has not been cached, and the corresponding data channel can be a newly created data channel.

[0069] In some embodiments, the software module can obtain a query result of the data channel corresponding to the target application through the cache function, and restart the target application based on the data channel corresponding to the query result. In one example, the query result can not query the data channel corresponding to the target application, and the software module can re-call the data channel creation interface to recreate the data channel corresponding to the target application. In another example, the query result can be that the data channel corresponding to the target application is queried, which indicates that the data channel previously established by the target application has not been cleared, i.e., the data channel previously established by the target application still exists, and the target application can be restarted based on the existing data channel.

[0070] In the above method for processing the data channel, when the target application satisfies the target restart condition, the cache function is used to query the data channel object corresponding to the target application to obtain a query result. The target restart condition is that the target application successfully establishes a data channel with a peer, and the target application is restarted after being closed in the same call. The target application is restarted based on the data channel corresponding to the query result. By using the method, multiple data channel objects can be avoided for the same application, communication resources can be saved, and end-to-end latency can be reduced.

[0071] In one embodiment, the query result is that the data channel object of the target application is not queried, specifically, the query result indicates that the data channel object corresponding to the target application has not been cached, i.e., the data channel corresponding to the target application has been cleared, which can also be understood as a cache miss. Accordingly, restarting the target application based on the data channel corresponding to the query result can include:

[0072] Sending a data channel establishment request to the chip through the data channel creation interface, so that the chip and the network re-negotiate to establish a data channel, and restarting the target application based on the data channel.

[0073] In some embodiments, the data channel creation interface can be an interface for creating a DC, and the data channel establishment request is used to request the chip to establish a data channel for the target application.

[0074] In some embodiments, when the software module does not query the data channel object of the target application, the software module can re-call the data channel creation interface to send a data channel establishment request to the chip through the data channel creation interface, the data channel establishment request being used to make the chip re-establish a data channel for the target application; after receiving the data channel establishment request, the chip can re-negotiate with the network based on the data channel establishment request to establish a data channel for the target application. After successfully establishing the data channel of the target application, the target application can be restarted.

[0075] In one example, before the data channel object corresponding to the target application is queried, the processing method of the data channel can further include: after the target application successfully establishes at least one data channel DC with the opposite end, the software module can cache all DC objects of the target application; the software module can also cache all DC objects of each application; the target application can be closed in response to an application closing instruction triggered by the user, the application closing instruction being an instruction triggered by the user to close the target application, and whether the data channel is closed can be determined based on the business logic; when it is determined based on the business logic that the data channel of the target application needs to be closed, the software module can call an interface for closing the DC to send a closing event to the chip, and after receiving the closing event, the chip can remove the data channel associated with the target application based on the received closing event, that is, remove the data channel of the target application, and generate a data channel closing notification message (i.e., a data channel removal notification message), and the chip can return the data channel closing notification message to the software module, and the software module can clear the data channel object corresponding to the target application that has been cached locally after receiving the data channel closing notification message. Based on this, when the software module subsequently determines that the target application meets the target restart condition, the query result can be that the data channel object corresponding to the target application is not queried.

[0076] In one example, the data channel closing notification message returned by the chip can carry identification information of the target application, and the software module can clear the data channel object corresponding to the identification information of the target application based on the identification information of the target application in the data channel closing notification message.

[0077] In some embodiments, when it is determined based on the business logic that the data channel of the target application does not need to be closed, that is, the interface for closing the DC is not called, the software module does not send a data channel closing notification message to the chip, and the chip is not aware.

[0078] In the embodiment, the data channel of the target application can be timely removed, and the data channel corresponding to the target application can be timely cleared, so as to avoid that the chip bears too many data channels for the same application, and also avoid that the software module locally stores too many data channel objects corresponding to the target application, thereby improving the utilization of the communication resources of the chip and the utilization of the resources of the terminal.

[0079] In one embodiment, the query result is a data channel object of the target application. Specifically, the query result indicates that the data channel previously established by the target application is not cleared, that is, the data channel previously established by the target application still exists, and at this time, the target application can be restarted based on the existing data channel. Correspondingly, based on the data channel corresponding to the query result, restarting the target application can include:

[0080] returning a notification message that the data channel has been successfully created to the target application, so that the target application determines that the data channel of the target application has been successfully created based on the notification message, and restarts based on the data channel.

[0081] In some embodiments, the notification message is used to instruct the target application that the software module locally has cached the data channel object corresponding to the target application, that is, the data channel of the target application is not cleared. The notification message can be a notification message that the data channel has been successfully created, and can make the target application receiving the notification message determine that the data channel corresponding to the target application has been successfully created.

[0082] In some embodiments, the software module can generate a notification message and send the notification message to the target application after determining that the data channel corresponding to the target application is cached, that is, the data channel of the target application is not cleared. After receiving the notification message, the target application can determine that the data channel of the target application exists, and the target application can be directly restarted.

[0083] In the embodiment, whether the data channel of the target application exists can be queried by querying whether the data channel object is cached before creating the data channel corresponding to the target application, so as to avoid that the chip repeatedly creates data channels for the same application, avoid waste of chip resources, and also avoid that the end-to-end time delay increases due to repeated creation of data channels.

[0084] In one embodiment, as shown in FIG. 3, the data channel processing method further includes:

[0085] Step 302: after the target application establishes a data channel with the terminal, caching a data channel object corresponding to the target application.

[0086] In some embodiments, the data channel object comprises a target capability; the target capability comprises one or more of sending data, closing the DC, obtaining a DC label, obtaining a stream id of the SCTP connection, and obtaining a call ID, the DC label being used to identify different data channels.

[0087] In some embodiments, after the target application successfully establishes at least one data channel with the peer terminal, the software module can cache all DC objects of the target application; in some embodiments, the software module can also cache all DC objects of each application. The target capability comprises one or more of sending data, closing the DC, obtaining a DC label, the label being an attribute of the DC data channel and being used to mark different DC data channels, obtaining a stream id, the stream id being a substream id of the SCTP connection, and obtaining a call ID.

[0088] Step 304, when the target application is closed and the interface for closing the data channel is called, a closing event is sent to the chip to make the chip remove the data channel corresponding to the target application and return a data channel closing notification message to the software module; the data channel closing notification message is received and the data channel object corresponding to the target application is cleared based on the data channel closing notification message.

[0089] In some embodiments, the target application can be closed in response to a user-triggered application closing instruction, which can be a user-triggered instruction for closing the target application, and whether the data channel is closed can be determined based on the business logic; when it is determined based on the business logic that the data channel of the target application needs to be closed, the software module can call the interface for closing the DC, send a closing event to the chip, and the chip can remove the data channel associated with the target application based on the received closing event, i.e., remove the data channel of the target application, and generate a data channel closing notification message (i.e., a data channel removal notification message), and the chip can return the data channel closing notification message to the software module.

[0090] After receiving the data channel closing notification message, the software module can clear the data channel object corresponding to the target application that has been cached locally. Based on this, when the software module subsequently determines that the target application meets the target restart condition, the query result can be that the data channel object corresponding to the target application is not found.

[0091] Step 306, when the target application is closed and the interface for closing the data channel is not called, no closing event is transmitted to the chip to make the chip have no awareness.

[0092] In some embodiments, if the interface for closing the DC is not invoked, the terminal has no special operation, the chip has no perception, and the upper application is closed; if the interface for closing the DC is not invoked, the software module does not deliver the closing event to the chip, the chip has no perception, and subsequent operations are processed by the software module.

[0093] In the embodiment, the data channel of the target application can be timely removed, and the data channel corresponding to the target application can be timely cleared, so that the chip is prevented from bearing too many data channels for the same application, and the software module is prevented from locally storing too many data channel objects corresponding to the target application, thereby improving the utilization rate of the communication resources of the chip and the utilization rate of the resources of the terminal.

[0094] In one embodiment, as shown in FIG. 4, the method for processing the data channel further includes:

[0095] In step 402, a calling request sent by a target application is received, and the calling request is used to create a data channel.

[0096] In some embodiments, in a case where the target application has successfully established a data channel with a peer, the software module buffers all data channel objects of each application; after a user triggers a function for closing the target application provided by the software module, the target application can be closed; when the user starts the target application again, the target application calls an interface for creating a data channel through the software module to request the chip to reestablish a data channel; that is, the target application can send a calling request to the software module, the calling request is used to call the interface for creating the data channel, and the chip is requested to re-create a DC through the interface for creating the data channel. Based on this, the software module can determine that the target application satisfies a target restart condition after receiving the calling request sent by the target application, and the software module can query whether the data channel object of the target application has been buffered through a buffering function. The calling request is a request initiated by the DC application for creating a data channel.

[0097] In the embodiment, the timeliness of querying the buffered object can be improved.

[0098] In one embodiment, FIG. 5 provides a flowchart of a method for processing a data channel. As shown in FIG. 5, the method includes the following steps:

[0099] In step 1, after an application (a target application) successfully establishes at least one DC with a peer, the software module buffers all DC objects of all applications, and each DC object has a target capability.

[0100] In step 2, a user triggers a function for closing a specific application provided by the software module, and whether to invoke the interface for closing the DC can be determined by business logic. Specifically, the user closes the specific application, and whether the application triggers the interface for closing the DC is determined by business logic.

[0101] Step 3.a, the interface for closing the DC is called by the software module, then the chip synchronously closes the event, triggers the chip to remove the DC associated with the specific application; specifically, if the interface for closing the DC is called, the software module needs to pass the closing event to the chip, then the chip removes the DC associated with the specific application and needs to notify the software module, and the software module clears the DC object of the specific application after receiving the notification that the DC is closed from the chip.

[0102] Step 3.b, if the interface for closing the DC is not called, the terminal has no special operation, the chip has no perception, and the upper application is closed; specifically, if the interface for closing the DC is not called, the software module does not pass the closing event to the chip, then the chip has no perception, and the subsequent operation is processed by the software module.

[0103] Step 4, when the user starts the same specific application again, the application reuses the interface for creating the DC to request the chip to reestablish the DC; specifically, when the same specific application (target application) is restarted, the software module queries whether the DC object of the specific application has been cached in the cache function.

[0104] Step 5.a, the terminal and the network perform signaling renegotiation, and reestablish the DC for the specific application.

[0105] Step 5.b, the software module returns the cached DC object to the specific application, and does not need to notify the chip.

[0106] Step 6, the same specific application is successfully restarted and normally used.

[0107] The data channel processing method provided in the embodiment can solve the problem of waste or even saturation of chip and network resources caused by the user restarting the same application during a call.

[0108] In one embodiment, the target application can be an application deployed on the terminal or an application deployed on an application server, which can be determined based on an actual application scenario; each target application can establish multiple data channels with a peer, and each data channel is configured with a data channel object corresponding to the data channel, and the data channel and the data channel object correspond to each other. The interface for closing the DC in the above embodiment can be an interface between the target application and the software module. The target application closing instruction triggered by the user (the closing option of the specific application closed by the user) can be provided by the target application or by the software module. The operation of restarting the target application can be triggered by the user or by the application server; the software module can be implemented through an operating system such as Android, Hongmeng, IOS, or can be implemented by middleware (SDK).

[0109] The data channel processing method provided in the embodiment can realize the DC cache function in a software module, realize chip non-perception on the premise of guaranteeing user experience, thereby saving end-to-end resources and reducing end-to-end delay. In the data channel processing method provided in the embodiment, after the application and the peer successfully establish at least one DC, the software module caches all DC objects of all applications, and each DC object contains a series of necessary attributes. When the same specific application is restarted, the software module queries whether the DC object of the specific application has been cached in the cache function. Caching all DC objects of all applications can ensure that the query result of querying the data channel object corresponding to the target application through the cache function in the subsequent embodiment is accurate.

[0110] In the data channel processing method provided in the embodiment, whether the application triggers the interface for calling the DC to be closed is determined by the business logic. The application can determine whether to call the interface for closing the DC according to actual needs. Only when the target application calls the interface, the underlying chip will remove the DC. If the target application does not call the interface, only the software module will perform corresponding processing, without the need to reestablish the SCTP link, thereby avoiding end-to-end delay.

[0111] In the data channel processing method provided in the embodiment, the software module returns the cached DC object to the specific application. Returning the cached DC object by the software module can shield the perception of the chip, without the need for re-signaling negotiation between the end and the network.

[0112] It should be understood that, although each step in the flowcharts of FIGS. 1-5 is shown in sequence according to the direction of the arrow, these steps are not necessarily executed in sequence according to the direction of the arrow. Unless otherwise explicitly stated herein, the execution of these steps is not strictly limited in sequence, and these steps can be executed in other sequences. Moreover, at least part of the steps in FIGS. 1-5 can include multiple steps or multiple stages, which are not necessarily executed at the same time, but can be executed at different times. The execution sequence of these steps or stages is not necessarily sequential, but can be executed in rotation or alternation with at least part of other steps or steps or stages in other steps.

[0113] In one embodiment, as shown in FIG. 6, a data channel processing apparatus 600 is provided, applied to a software module, comprising:

[0114] The query module 601 is configured to query the data channel object corresponding to the target application through the cache function when the target application meets the target restart condition, to obtain a query result. The target restart condition is that the target application and the peer successfully establish a data channel, and the target application is restarted after being closed in the same call.

[0115] The starting module 602 is configured to restart the target application based on the data channel corresponding to the query result.

[0116] In one of the embodiments, the query result is that the data channel object of the target application is not queried; and the starting module is specifically configured to:

[0117] The data channel creation interface is used to send a data channel establishment request to a chip, so that the chip and the network re-perform signaling negotiation to establish a data channel, and restart the target application based on the data channel.

[0118] In one of the embodiments, the query result is that the data channel object of the target application is queried; and the starting module is specifically configured to:

[0119] The notification message that the data channel has been successfully created is returned to the target application, so that the target application determines that the data channel of the target application has been successfully created based on the notification message, and restarts based on the data channel.

[0120] In one of the embodiments, the apparatus further includes:

[0121] The caching module is configured to cache the data channel object corresponding to the target application after the target application and the terminal establish a data channel, and the data channel object includes a target capability.

[0122] The sending module is configured to send a closing event to a chip when the target application is closed and the interface for closing the data channel is called, so that the chip removes the data channel corresponding to the target application, and returns a data channel closing notification message to the software module.

[0123] The first receiving module is configured to receive the data channel closing notification message, and clear the data channel object corresponding to the target application based on the data channel closing notification message.

[0124] The sending module is further configured to, when the target application is closed and the interface for closing the data channel is not called, not transmit the closing event to the chip, so that the chip is not aware.

[0125] In one of the embodiments, the apparatus further includes:

[0126] The second receiving module is configured to receive a calling request sent by the target application, and the calling request is used to create a data channel.

[0127] In one of the embodiments, the target capability comprises one or more of sending data, closing a DC, obtaining a DC tag, obtaining a substream identification of an SCTP connection, and obtaining a call ID, the DC tag being used to identify different data channels.

[0128] The specific limitation of the processing apparatus for the data channel can refer to the limitation of the processing method for the data channel as described above, which will not be repeated here. Each module in the processing apparatus for the data channel can be realized by software, hardware, and a combination thereof, in whole or in part. Each module described above can be embedded in or independent of the processor in the computer device in hardware form, or can be stored in the memory in the computer device in software form, so as to be called and executed by the processor to perform the operation corresponding to each module.

[0129] In one embodiment, a communication device is provided, as shown in FIG. 7. FIG. 7 is a structural schematic diagram of a terminal device corresponding to the software module provided by the embodiment of the present application. The terminal device 700 shown in FIG. 7 includes at least one processor 701, a memory 702, at least one network interface 704, and a user interface 703. Each component in the terminal device 700 is coupled together through a bus system 705. It can be understood that the bus system 705 is used to realize the connection and communication between the components. In addition to the data bus, the bus system 705 also includes a power bus, a control bus, and a status signal bus. However, for the purpose of clear illustration, all kinds of buses are marked as the bus system 705 in FIG. 7. In addition, the embodiment of the present application also includes a transceiver 706, which can be multiple elements, i.e., including a transmitter and a receiver, providing a unit for communicating with various other devices on a transmission medium.

[0130] The user interface 703 can include a display, a keyboard, or a pointing device (e.g., a mouse, a trackball, a touchpad, or a touchscreen).

[0131] It is appreciated that the memory 702 in the embodiments of the present application can be a volatile memory or a nonvolatile memory, or can include both volatile and nonvolatile memory. Among them, the nonvolatile memory can be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically EPROM (EEPROM), or a flash memory. The volatile memory can be a Random Access Memory (RAM) used as an external cache. By way of example, and not limitation, many forms of RAM can be used, such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). The memory 702 of the system and method described in the embodiments of the present application is intended to include, without being limited to, these and any other suitable types of memory.

[0132] In some embodiments, the memory 702 stores the following elements, executable modules or data structures, or a subset thereof, or an extended set thereof: an operating system 7021 and an application program 7022.

[0133] Among them, the operating system 7021 contains various system programs, such as framework layer, core library layer, driver layer, etc., for implementing various basic services and processing hardware-based tasks. The application program 7022 contains various application programs, such as Media Player, Browser, etc., for implementing various application services. The program for implementing the method of the embodiments of the present application can be contained in the application program 7022.

[0134] In the embodiment of the present application, the program or instruction stored in the memory 702 is invoked, specifically, the program or instruction stored in the application program 7022, wherein the processor is configured to query a data channel object corresponding to a target application when the target application satisfies a target restart condition, to obtain a query result; the target restart condition is that the target application and a peer successfully establish a data channel, and the target application is restarted after being closed in the same call; and the target application is restarted based on the data channel corresponding to the query result.

[0135] Part or all of the method disclosed in the above embodiment of the present application can also be applied to the processor 701, or implemented by the processor 701, or implemented by the processor 701 in cooperation with other elements (such as a transceiver). The processor 701 can be an integrated circuit chip with a signal processing capability. In the implementation process, each step of the above method can be completed by an integrated logic circuit or an instruction in the form of software in the processor 701. The processor 701 can be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. Each method, step and logic block diagram disclosed in the embodiment of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in conjunction with the embodiment of the present application can be directly embodied as a hardware code processor for execution, or a combination of hardware and software modules in the code processor for execution. The software module can be located in a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register or other mature storage medium in the art. The storage medium is located in the memory 702, and the processor 701 reads the information in the memory 702 and combines the hardware to complete the steps of the above method.

[0136] It can be understood that the embodiments described in the embodiments of the application can be implemented by hardware, software, firmware, middleware, microcode or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), general purpose processors, controllers, micro-controllers, microprocessors, other electronic units for performing the functions described in the present application, or a combination thereof.

[0137] For software implementation, the techniques described in the embodiments of the application can be implemented by modules (such as processes, functions, etc.) that perform the functions described in the embodiments of the application. The software code can be stored in the memory and executed by the processor 701. The memory can be implemented in the processor 701 or outside the processor 701.

[0138] In one embodiment, a computer readable storage medium is provided, and a computer program is stored on the computer readable storage medium, and the computer program is executed by a processor to implement the following steps:

[0139] When the target application meets the target restart condition, the data channel object corresponding to the target application is queried through a cache function to obtain a query result; the target restart condition is that the target application and the peer successfully establish a data channel, and in the same call, the target application is restarted after being closed;

[0140] Based on the data channel corresponding to the query result, the target application is restarted.

[0141] In one embodiment, the query result is that the data channel object of the target application is not queried; and the computer program is executed by the processor to further implement the following steps:

[0142] Through a data channel creation interface, a data channel establishment request is sent to a chip to make the chip and the network re-negotiate signaling to establish a data channel, and based on the data channel, the target application is restarted.

[0143] In one embodiment, the query result is that the data channel object of the target application is queried; and the computer program is executed by the processor to further implement the following steps:

[0144] sending a notification message to the target application that the data channel has been successfully created, so that the target application determines that the data channel of the target application has been successfully created based on the notification message and restarts based on the data channel.

[0145] In one embodiment, the computer program, when executed by the processor, further implements the following steps:

[0146] After the target application establishes the data channel with the terminal, a data channel object corresponding to the target application is cached, and the data channel object includes a target capability.

[0147] When the target application is closed and the interface for closing the data channel is called, a closing event is sent to the chip, so that the chip removes the data channel corresponding to the target application and returns a data channel closing notification message to the software module;

[0148] The data channel closing notification message is received, and the data channel object corresponding to the target application is cleared based on the data channel closing notification message.

[0149] When the target application is closed and the interface for closing the data channel is not called, the closing event is not transmitted to the chip, so that the chip is not aware.

[0150] In one embodiment, the computer program, when executed by the processor, further implements the following steps:

[0151] The calling request sent by the target application is received, and the calling request is used to create a data channel.

[0152] In one embodiment, the target capability includes one or more of sending data, closing DC, obtaining DC label, obtaining sub-flow identification of SCTP connection, and obtaining call ID, and the DC label is used to identify different data channels.

[0153] The embodiments of the present application also provide a computer program product containing instructions, which, when running on a computer, cause the computer to execute the steps of the above embodiments.

[0154] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer readable storage medium, and when executed, can include the processes of the above-mentioned embodiment methods. Any reference to memory, storage, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory or optical memory. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration but not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).

[0155] Any combination of the technical features of the above embodiments can be made. In order to make the description simple, all possible combinations of the technical features in the above embodiments are not described, but as long as the combination of the technical features does not exist, it should be considered as the scope of the present application.

[0156] The above embodiments only express several implementation manners of the present application, and the description is more specific and detailed, but it should not be understood as a limitation on the scope of the patent. It should be pointed out that for those skilled in the art, without departing from the concept of the present application, some modifications and improvements can be made, which are all within the protection scope of the present application. Therefore, the protection scope of the patent of the present application should be subject to the appended claims.

Claims

1. A data channel processing method applied to a software module, the method comprising: querying, by a cache function, a data channel object corresponding to a target application when the target application meets a target restart condition, to obtain a query result; the target restart condition is that the target application successfully establishes a data channel with a peer terminal, and the target application is restarted after being closed in a same call; restarting the target application based on a data channel corresponding to the query result.

2. The method of claim 1, wherein, the query result is that the data channel object of the target application is not queried; and the restarting the target application based on the data channel corresponding to the query result comprises: sending, by a data channel creation interface, a data channel establishment request to a chip, so that the chip and a network re-perform signaling negotiation to establish a data channel, and the target application is restarted based on the data channel.

3. The method of claim 1, wherein, the query result is that the data channel object of the target application is queried; and the restarting the target application based on the data channel corresponding to the query result comprises: returning, to the target application, a notification message that a data channel has been successfully created, so that the target application determines that the data channel of the target application has been successfully created based on the notification message, and is restarted based on the data channel.

4. The method of claim 1, further comprising: caching a data channel object corresponding to the target application after the target application establishes a data channel with a terminal, the data channel object comprising a target capability; when the target application is closed and a data channel closing interface is called, sending a closing event to a chip, so that the chip removes a data channel corresponding to the target application, and returns a data channel closing notification message to the software module; receiving the data channel closing notification message, and clearing the data channel object corresponding to the target application based on the data channel closing notification message; when the target application is closed and the data channel closing interface is not called, not transmitting the closing event to the chip, so that the chip is not aware.

5. The method of claim 1, further comprising: receiving a calling request sent by the target application, the calling request being used to create a data channel.

6. The method of claim 1, wherein, the target capability comprises one or more of sending data, closing a DC, obtaining a DC tag, obtaining a substream identifier of an SCTP connection, and obtaining a call ID, the DC tag being used to identify different data channels.

7. The method of claim 1, further comprising: caching all data channel objects corresponding to each application after the target application establishes a data channel with a terminal.

8. A data channel processing apparatus applied to a software module, the apparatus comprising: a querying module configured to query, by a cache function, a data channel object corresponding to a target application when the target application meets a target restart condition, to obtain a query result; the target restart condition is that the target application successfully establishes a data channel with a peer terminal, and the target application is restarted after being closed in a same call; and the apparatus is configured to restart the target application based on a data channel corresponding to the query result. A starting module is configured to restart the target application based on a data channel corresponding to the query result.

9. A communication device comprising a memory and a processor, said memory storing a computer program, wherein, The computer program is executed by the processor to implement the steps of the method of any one of claims 1 to 7.

10. A computer readable storage medium having stored thereon a computer program, wherein, The computer program is executed by the processor to implement the steps of the method of any one of claims 1 to 7.

11. A computer program product comprising a computer program, wherein, The computer program is executed by the processor to implement the steps of the method of any one of claims 1 to 7. The computer program is executed by the processor to implement the steps of the method of any one of claims 1 to 7.

Citation Information

Patent Citations

  • Outage network reconnection method and device, medium and computing equipment

    CN108430116A

  • Network reconnection method and device, terminal equipment and storage medium

    CN116939000A

  • Data channel processing method and device, communication equipment and readable storage medium

    CN118450044A

  • Data channel processing method and device, communication equipment, storage medium and computer program product

    CN119071944A

  • Communication method, apparatus and system

    WO2024051562A1