Data channel creation method and device, equipment, storage medium and program product
By parsing and formatting data channel tags, the protocol compatibility issue during IMS data channel creation was resolved, achieving efficient data channel creation and stable protocol adaptation, and reducing development costs.
Patent Information
- Application Number
- CN202511137890.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-14
- Publication Date
- 2025-11-11
AI Technical Summary
Traditional IMS data channel creation methods suffer from compatibility issues across different versions of the IMS protocol, making it difficult to ensure the efficiency and consistency of the data channel creation process.
By parsing the data channel configuration parameters sent by the target application, the data channel tag is obtained, and the format is converted according to different standard protocols to generate a data channel creation request that conforms to the target protocol. The intermediate layer automatically completes parameter parsing and format conversion to ensure compatibility between different protocols.
It achieves compatibility between different standard protocols, avoids data channel creation failures or functional abnormalities, improves the efficiency of data channel creation, and reduces the development cost of cross-protocol adaptation.
Smart Images

Figure CN120935274A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of wireless communication and terminal technology, and in particular to a data channel creation method, apparatus, device, storage medium, and program product. Background Technology
[0002] With the development of 5G networks and IP Multimedia Subsystem (IMS) technologies, the creation and management of data channels on mobile terminals has become increasingly important. In the system architecture of mobile terminals, applications are developed based on the GSMA TS.66 standard (released), but the underlying layer calls the DC (Data Channel) function through the IDL (Interface Definition Language) interface of the GSMA TS.71 standard (under development). Traditional IMS data channel creation methods have certain compatibility issues, and the SDK (Software Development Kit), as an intermediate layer, bears the heavy responsibility of parameter conversion and compatibility handling. Therefore, when different versions of the IMS protocol use different parameter passing methods, the traditional IMS data channel creation method struggles to ensure efficiency and consistency in the data channel creation process. Summary of the Invention
[0003] Therefore, it is necessary to provide a data channel creation method, apparatus, computer equipment, computer-readable storage medium, and computer program product to address the aforementioned technical problems. This would solve the compatibility issues of data transmission and processing between different version protocols during the IMS data channel creation process, ensuring the efficiency and uniformity of the data channel creation process.
[0004] Firstly, this application provides a method for creating a data channel, including:
[0005] Upon receiving a first data channel creation request conforming to a first standard protocol sent by the target application, the data channel configuration parameters are obtained according to the first data channel creation request;
[0006] Parse the data channel configuration parameters to obtain at least one data channel label;
[0007] Based on the data channel parameter type corresponding to the second standard protocol, perform format conversion on at least one data channel label;
[0008] A second data channel creation request conforming to the second standard protocol is generated based on the data channel label after format conversion, and the data channel is created based on the second data channel creation request.
[0009] In one embodiment, parsing data channel configuration parameters to obtain at least one data channel tag includes:
[0010] Identify all data channel child nodes under the root node of the data channel configuration parameters;
[0011] Extract the tag content from each data channel child node to obtain at least one data channel tag.
[0012] In one embodiment, the format conversion of at least one data channel label is performed according to the data channel parameter type corresponding to the second standard protocol, including:
[0013] When there are multiple data channel labels, they are stored into a preset array in sequence according to the parsing order of the multiple data channel labels; when there is only one data channel parameter, the data channel parameter is stored into a preset array.
[0014] The resulting array is used as the data channel label after format conversion.
[0015] In one embodiment, generating a second data channel creation request conforming to the second standard protocol based on the format-converted data channel label includes:
[0016] Use the format-converted data channel label as the data channel parameter of the data channel creation function corresponding to the second standard protocol;
[0017] Call the data channel creation function to generate a second data channel creation request that conforms to the second standard protocol.
[0018] In one embodiment, data channel creation is performed based on a second data channel creation request, including:
[0019] The second data channel creation request is forwarded to the Modem module via the data channel service, instructing the Modem module to create a data channel based on the formatted data channel label in the second data channel creation request.
[0020] In one embodiment, the data channel creation method further includes:
[0021] Get the data channel creation result forwarded by the data channel service;
[0022] If the data channel creation result indicates that the channel has been successfully created, the corresponding target data channel is determined based on at least one channel identifier in the data channel creation result, and data is transmitted through the target data channel.
[0023] Secondly, this application also provides a data channel creation apparatus, comprising:
[0024] The acquisition module is used to acquire data channel configuration parameters according to the first data channel creation request when it receives a first data channel creation request that conforms to the first standard protocol sent by the target application;
[0025] The parsing module is used to parse the data channel configuration parameters to obtain at least one data channel label;
[0026] The conversion module is used to convert the format of at least one data channel label according to the data channel parameter type corresponding to the second standard protocol.
[0027] The module is used to generate a second data channel creation request that conforms to the second standard protocol based on the data channel label after format conversion, and to create a data channel based on the second data channel creation request.
[0028] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0029] Upon receiving a first data channel creation request conforming to a first standard protocol sent by the target application, the data channel configuration parameters are obtained according to the first data channel creation request;
[0030] Parse the data channel configuration parameters to obtain at least one data channel label;
[0031] Based on the data channel parameter type corresponding to the second standard protocol, perform format conversion on at least one data channel label;
[0032] A second data channel creation request conforming to the second standard protocol is generated based on the data channel label after format conversion, and the data channel is created based on the second data channel creation request.
[0033] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, performs the following steps:
[0034] Upon receiving a first data channel creation request conforming to a first standard protocol sent by the target application, the data channel configuration parameters are obtained according to the first data channel creation request;
[0035] Parse the data channel configuration parameters to obtain at least one data channel label;
[0036] Based on the data channel parameter type corresponding to the second standard protocol, perform format conversion on at least one data channel label;
[0037] A second data channel creation request conforming to the second standard protocol is generated based on the data channel label after format conversion, and the data channel is created based on the second data channel creation request.
[0038] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, performs the following steps:
[0039] Upon receiving a first data channel creation request conforming to a first standard protocol sent by the target application, the data channel configuration parameters are obtained according to the first data channel creation request;
[0040] Parse the data channel configuration parameters to obtain at least one data channel label;
[0041] Based on the data channel parameter type corresponding to the second standard protocol, perform format conversion on at least one data channel label;
[0042] A second data channel creation request conforming to the second standard protocol is generated based on the data channel label after format conversion, and the data channel is created based on the second data channel creation request.
[0043] The aforementioned data channel creation method, apparatus, computer device, computer-readable storage medium, and computer program product, wherein the first data channel creation request is created based on a first standard protocol, upon receiving the first data channel creation request sent by the target application, performs format conversion on at least one data channel tag in the data channel configuration parameters to match the data channel parameter type corresponding to the second standard protocol, and uses the format-converted data channel tag to generate a second data channel creation request conforming to the second standard protocol, thereby creating the data channel. This achieves compatibility between different standard protocols, avoids data channel creation failures or functional abnormalities caused by protocol differences, and can create at least one data channel simultaneously, improving the efficiency of data channel creation. In addition, the intermediate layer automatically completes parameter parsing and format conversion, and the application does not need to pay attention to the details of the underlying protocol. When the underlying protocol changes, the application can adapt to the new protocol without large-scale modifications, reducing the development cost of cross-protocol adaptation. Attached Figure Description
[0044] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0045] Figure 1This is an application environment diagram of a data channel creation method in one embodiment;
[0046] Figure 2 This is a flowchart illustrating a data channel creation method in one embodiment;
[0047] Figure 3 This is a schematic diagram of the overall process of a data channel creation method in one embodiment;
[0048] Figure 4 This is a structural block diagram of a data channel creation apparatus in one embodiment;
[0049] Figure 5 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0050] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0051] It should be noted that the terms "first," "second," etc., used in this application can be used to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish the first element from the second element. The terms "comprising" and "having," and any variations thereof, used in this application, are intended to cover non-exclusive inclusion. The term "multiple" used in this application refers to two or more. The term "and / or" used in this application refers to one of the embodiments, or any combination of multiple embodiments.
[0052] The data channel creation method provided in this application embodiment can be applied to, for example, Figure 1In the application environment shown, terminal 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be integrated onto server 104 or placed on a cloud or other network server. Upon receiving a first data channel creation request conforming to a first standard protocol from a target application, terminal 102 obtains data channel configuration parameters according to the first data channel creation request; parses the data channel configuration parameters to obtain at least one data channel tag; performs format conversion on the at least one data channel tag according to the data channel parameter type corresponding to the second standard protocol; generates a second data channel creation request conforming to the second standard protocol based on the format-converted data channel tag, and creates a data channel based on the second data channel creation request. Terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, drones, low-altitude aircraft, IoT devices, and portable wearable devices. IoT devices can be smart speakers, smart TVs, smart air conditioners, smart vehicle devices, projection devices, etc. Portable wearable devices can be smartwatches, smart bracelets, head-mounted devices, etc. Headset devices can be virtual reality (VR) devices, augmented reality (AR) devices, smart glasses, etc. Server 104 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services.
[0053] In one exemplary embodiment, such as Figure 2 As shown, a method for creating a data channel is provided, which can be applied to... Figure 1 Taking terminal 102 as an example, the explanation includes the following steps 202 to 206. Wherein:
[0054] Step 202: Upon receiving a first data channel creation request conforming to the first standard protocol sent by the target application, obtain the data channel configuration parameters according to the first data channel creation request.
[0055] In 5G new voice service scenarios, the terminal system architecture typically includes, from bottom to top, a Modem module (responsible for underlying communication processing), a DCService (data channel service, encapsulating the modem's DC capabilities), an SDK (DC application runtime environment, providing DC capabilities for applications), and an application layer. The following explanation uses the data channel creation method applied to the SDK as an example.
[0056] The target application can be any application in the new 5G voice service scenario, such as a screen sharing application. The first standard protocol refers to the published GSMA TS.66 standard protocol, which is the communication protocol followed between the application layer and the SDK, and is used to standardize the format, parameter types, etc. of the first data channel creation request between the two.
[0057] The first data channel creation request is generated by the target application calling the channel creation function CreateDataChannel under the first standard protocol. The data channel parameter of CreateDataChannel is of type DCLabel (string type), and one data channel can be created at a time. For example, DCLabel is "Screen_Share_control".
[0058] In some embodiments, after the screen sharing application starts, in response to the triggering operation of starting the sharing control, the screen sharing application calls the channel creation function TS.66 CreateDataChannel to generate a first data channel creation request conforming to the first standard protocol, thereby triggering the data channel creation process.
[0059] Data channel configuration parameters refer to the parameters used to define data channel attributes in the first data channel creation request, including at least one data channel label, data type, and bandwidth requirements. The data channel configuration parameters have parameter types that conform to the requirements of the first standard protocol; for example, the data channel configuration parameter appInfoXml is a string type with XML format. In some embodiments, the target application generates appInfoXml containing data channel configuration parameters based on the first standard protocol to replace the traditional single DCLabel parameter. In this way, the target application initiates a data channel creation request by calling the TS.66 standard's CreateDataChannel function and passing appInfoXml as a parameter.
[0060] The SDK receives the first data channel creation request sent by the target application and obtains the data channel configuration parameter appInfoXml.
[0061] Step 204: Parse the data channel configuration parameters to obtain at least one data channel label.
[0062] Since the data channel configuration parameter appInfoXml contains at least one data channel label (DCLabel parameter) and other data channel configuration parameters, it is necessary to parse the key information in the data channel configuration parameters according to the format type of the data channel configuration parameters to obtain at least one data channel label and other data channel configuration parameters.
[0063] The number of data channel labels in the data channel configuration parameters can be one or more, so that the system can support both single channel creation and batch creation of multiple channels.
[0064] Step 206: Convert the format of at least one data channel label according to the data channel parameter type corresponding to the second standard protocol.
[0065] The second standard protocol refers to the GSMA TS.71 standard protocol under development, which is a communication protocol followed between the SDK and the Modem module. It is used to standardize the format, parameter types, etc. of the second data channel creation request between the two.
[0066] The data channel parameter type for the second standard protocol differs from that for the first standard protocol. The second standard protocol uses the `dcLabels` parameter, a string array, and supports the simultaneous creation of multiple data channels.
[0067] The SDK will convert at least one data channel tag obtained from the parsing from the data channel parameter type required by the first standard protocol to the data channel parameter type required by the second standard protocol. The purpose is to eliminate the differences in parameter format between different protocols and ensure that the underlying service can correctly identify and process the request.
[0068] Step 208: Generate a second data channel creation request that conforms to the second standard protocol based on the data channel label after format conversion, and create a data channel based on the second data channel creation request.
[0069] The converted data channel label is data conforming to the data channel parameter type corresponding to the second standard protocol, and consists of at least one data channel label.
[0070] The SDK calls the `createImsDataChannel` function under the second standard protocol, using the formatted data channel tag as the data channel parameter of `createImsDataChannel`, to generate a second data channel creation request conforming to the second standard protocol. The SDK sends the second data channel creation request to the underlying modules, such as the DCService and Modem modules, which parse the second data channel creation request and create the corresponding number of data channels according to the formatted data channel tag.
[0071] In the aforementioned data channel creation method, the first data channel creation request is based on a first standard protocol. Upon receiving the first data channel creation request sent by the target application, at least one data channel tag in the data channel configuration parameters is format-converted to match the data channel parameter type corresponding to the second standard protocol. The format-converted data channel tag is then used to generate a second data channel creation request conforming to the second standard protocol, thereby creating the data channel. This achieves compatibility between different standard protocols, avoiding data channel creation failures or functional abnormalities caused by protocol differences. Furthermore, at least one data channel can be created simultaneously, improving the efficiency of data channel creation. In addition, the intermediate layer automatically completes parameter parsing and format conversion, so the application does not need to pay attention to the details of the underlying protocol. When the underlying protocol changes, the application can adapt to the new protocol without large-scale modifications, reducing the development cost of cross-protocol adaptation.
[0072] In one exemplary embodiment, parsing data channel configuration parameters to obtain at least one data channel label includes: identifying all data channel child nodes under the root node of the data channel configuration parameters; and extracting the label content from each data channel child node to obtain at least one data channel label.
[0073] The data channel configuration parameters are string arrays, and the specific format can be set according to requirements. For example, the data channel configuration parameters are in XML format and are parsed using an XML parsing tool.
[0074] The data channel configuration parameters include a root node and at least one data channel child node. Each data channel child node includes multiple tags, such as channel tags and data type tags.
[0075] The SDK identifies all data channel child nodes under the root node according to the data format of the data channel configuration parameters, extracts the content of the data channel label in each data channel child node, and obtains at least one data channel label.
[0076] For example, the data channel configuration parameter appInfoXml can be:
[0077] <appinfoxml><Root Node>
[0078] <DataChannel dcId="dcID1" <Child Node 1>
[0079] <dclabel> Screen Share Control< / dclabel>
[0080] <qos-hint> xxx< / qos-hint>
[0081]
[0082] <DataChannel dcId="dcID2" <Child Node 2>
[0083] <dclabel> Screen_Share_data< / dclabel>
[0084] <qos-hint> xxx< / qos-hint>
[0085]
[0086] The SDK identifies two data channel labels, Screen_Share_control and Screen_Share_data, based on the content in dcLabel.
[0087] In this embodiment, by identifying all data channel child nodes under the root node of the data channel configuration parameters, at least one data channel label can be extracted at once, meeting the requirement of creating multiple channels simultaneously and improving the efficiency of creating data channels; extracting data channel labels according to the data format of the data channel configuration parameters ensures the accuracy of label extraction; the number of data channels can be flexibly configured and extended according to requirements, and can adapt to the data channel configuration requirements of different business scenarios.
[0088] In an exemplary embodiment, format conversion is performed on at least one data channel label according to the data channel parameter type corresponding to the second standard protocol, including: in the case of multiple data channel labels, storing the multiple data channel labels into a preset array in sequence according to the parsing order of the multiple data channel labels; in the case of one data channel parameter, storing the data channel parameter into the preset array; using the obtained array as the data channel label after format conversion.
[0089] Among them, there may be multiple or one data channel label identified from the data channel configuration parameters. Taking the data channel parameter type corresponding to the second standard protocol as a string array type as an example, in the case of multiple, according to the parsing order of the multiple data channel labels, the multiple data channel labels are stored into the preset array in sequence. In this way, the array includes multiple data channel labels and meets the parameter type requirements of the second standard protocol. Using the obtained array as the data channel label after format conversion.
[0090] If there is only one data channel parameter, the data channel parameter is directly stored in a preset array to ensure that the resulting array is a string array, which meets the parameter type requirements of the second standard protocol.
[0091] In this embodiment, there may be multiple data channel labels or only one label. All of them are converted into array format to adapt to the parameter type requirements of the second standard protocol. This solves the parameter differences caused by different standard protocols and achieves parameter compatibility between different standard protocols.
[0092] In an exemplary embodiment, generating a second data channel creation request conforming to the second standard protocol based on the format-converted data channel label includes: using the format-converted data channel label as a data channel parameter of the data channel creation function corresponding to the second standard protocol; and calling the data channel creation function to generate a second data channel creation request conforming to the second standard protocol.
[0093] The data channel creation function corresponding to the second standard protocol can be createImsDataChannel, which supports the dcLabels parameter of string array type. The formatted data channel label is used as the dcLabels parameter of createImsDataChannel. By calling createImsDataChannel, a second data channel creation request conforming to the second standard protocol is generated.
[0094] In some embodiments, parsing the data channel configuration parameters also yields data channel configuration information corresponding to at least one channel label, such as qos-hint (quality of service information used to indicate the quality of service requirements of the data channel, such as bandwidth and latency, to assist the underlying layer in resource allocation). In other embodiments, the SDK obtains system parameters, such as slotId and telecomCallId, by calling system interfaces. The SDK can package the formatted data channel labels, the configuration information of each data channel, and the system parameters and pass them to the data channel parameters (i.e., the dcLabels array) for auxiliary configuration of the data channels.
[0095] The SDK calls the data channel creation function to generate a second data channel creation request that conforms to the second standard protocol. The second data channel creation request is used to initiate a data channel creation operation to the underlying module.
[0096] In this embodiment, by using the format-converted data channel label as the data channel parameter of the data channel creation function corresponding to the second standard protocol, the interface specification of the second standard protocol is strictly followed to ensure the compatibility between the upper layer request and the lower layer interface and avoid request failure caused by protocol differences.
[0097] In an exemplary embodiment, creating a data channel based on a second data channel creation request includes: forwarding the second data channel creation request to a Modem module via a data channel service to instruct the Modem module to create a data channel according to the format-converted data channel label in the second data channel creation request.
[0098] The Data Channel Service (DCService) is an intermediate service layer in the mobile terminal system architecture, located between the SDK and the Modem module. Its main function is to encapsulate the underlying data channel capabilities of the Modem, provide standardized interfaces to upper layers (such as the SDK), and forward data channel-related requests. It acts as a bridge connecting upper-layer applications and underlying hardware. The SDK sends the second data channel creation request to the Data Channel Service, which forwards it to the Modem module according to a preset communication mechanism (such as the AIDL interface).
[0099] The modem module is responsible for the underlying communication hardware / software modules, undertaking core functions such as wireless signal modulation and demodulation, network protocol processing, and physical link establishment. It is the actual creator of the data channel. Based on the second data channel in the request, the modem module creates a data channel label in the format conversion of the request, completes resource allocation (such as bandwidth and time slots), link activation, protocol negotiation, and other operations, and finally establishes a data channel that can be used for real-time data transmission.
[0100] In this embodiment, the data channel service acts as an intermediate layer, shielding the underlying details of the Modem module. The upper layer does not need to concern itself with the underlying implementation. Through the forwarding of the data channel service, the differences between the upper-layer application protocol and the lower-layer protocol are resolved, ensuring that the request can be correctly identified and executed.
[0101] In an exemplary embodiment, the data channel creation method further includes: obtaining the data channel creation result forwarded by the data channel service; if the channel creation is successful as indicated by the data channel creation result, determining the corresponding target data channel based on at least one channel identifier in the data channel creation result, and transmitting data through the target data channel.
[0102] The data channel creation result is the status information returned by the Modem module after completing the data channel creation. It includes whether the creation was successful, the channel identifier, and the reason for the error (if it failed), which is used to inform the upper layer of the execution result of the request.
[0103] After a data channel is successfully created, the Modem module assigns a unique channel identifier, such as a channel ID, to each data channel for subsequent identification and operation of that specific data channel.
[0104] Each target data channel can be used to transmit data of one service type. For example, screen sharing start notifications are transmitted through target data channel 1, and pen mark click information is transmitted through target data channel 2.
[0105] In this embodiment, by obtaining the data channel creation result, the successful creation of the data channel is ensured. The target data channel is determined based on the channel identifier, and the target data channel is used to transmit the response data, thereby avoiding data mixing and improving transmission efficiency.
[0106] To illustrate the data channel creation method and its effects in this solution in detail, the following is a detailed implementation example:
[0107] In 5G new voice service scenarios, the terminal system architecture typically includes, from bottom to top, a Modem module (responsible for low-level communication processing), a DCService (data channel service, encapsulating the modem's DC capabilities), an SDK (DC application runtime environment, providing DC capabilities for applications), and an application layer. This will be illustrated using the data channel creation method applied to the SDK as an example. Figure 3 The diagram shown is a schematic representation of the overall process of a data channel creation method in one embodiment.
[0108] The application layer calls the data channel creation function `CreateDataChannel` corresponding to the first standard protocol to generate a first data channel creation request. Upon receiving the first data channel creation request, the SDK retrieves the data channel configuration parameter `appInfoXml`, parses it to obtain at least one data channel label `dcLabel`, and performs format conversion on the at least one data channel label according to the data channel parameter type corresponding to the second standard protocol, obtaining the converted data channel label, i.e., the string type `dcLabels`. Based on the converted data channel label, the SDK calls the data channel creation function `createImsDataChannel` corresponding to the second standard protocol, using `dcLabels` as the data channel parameter to generate a second data channel creation request, which is then sent to the Modem module to create the data channel.
[0109] In one embodiment, the SDK identifies all data channel child nodes under the root node of the data channel configuration parameters; extracts the tag content in each data channel child node to obtain at least one data channel tag.
[0110] In one embodiment, when there are multiple data channel tags, the SDK stores the multiple data channel tags into a preset array according to the parsing order of the multiple data channel tags; when there is only one data channel parameter, the data channel parameter is stored into a preset array; and the resulting array is used as the format-converted data channel tag.
[0111] In one embodiment, the SDK uses the format-converted data channel label as the data channel parameter of the data channel creation function corresponding to the second standard protocol; it then calls the data channel creation function to generate a second data channel creation request that conforms to the second standard protocol.
[0112] In one embodiment, the SDK forwards the second data channel creation request to the Modem module through the data channel service, instructing the Modem module to create a data channel based on the format-converted data channel label in the second data channel creation request.
[0113] In one embodiment, the SDK obtains the data channel creation result forwarded by the data channel service; if the channel creation result indicates that the channel creation was successful, the SDK determines the corresponding target data channel based on at least one channel identifier in the data channel creation result, and performs data transmission through the target data channel.
[0114] Taking a screen-sharing application as an example, the first standard protocol refers to the published GSMA TS.66 standard protocol, and the second standard protocol refers to the GSMA TS.71 standard protocol under development.
[0115] (1) After the screen sharing application starts, in response to the start sharing control trigger operation, the data channel creation process is triggered.
[0116] (2) Screen sharing applications use the traditional single DCLabel parameter in appInfoXml for data channel configuration. For example, if a screen sharing application needs to transmit control commands and video data simultaneously, its appInfoXml may contain two DataChannel nodes, corresponding to the dcLabels (such as "Screen_Share_control" and "Screen_Share_data") and qos-hint configurations for the "control channel" and "data channel," respectively. Subsequently, the screen sharing application calls the CreateDataChannel method of the TS.66 standard, passing appInfoXml as a parameter to initiate the first data channel creation request.
[0117] (3) After receiving the CreateDataChannel request and appInfoXml parameters from the screen sharing application, the SDK performs the following operations: Parse parameters: Extract key information from appInfoXml using an XML parsing tool, including configurations such as dcLabel for each data channel; Format conversion: Encapsulate the extracted dcLabel (single or multiple) into a string array dcLabels (even if there is only one dcLabel, it is converted into an array of length 1); Obtain system parameters: Automatically obtain the slotId (associated SIM card identifier) and telecomCallId (associated call session identifier) corresponding to the current service through the system interface.
[0118] (4) The SDK uses the format-converted dcLabels array, the original appInfoXml, the automatically obtained slotId and telecomCallId as parameters to call the TS.71 standard createImsDataChannel method to pass the request to DCservice (data channel service).
[0119] (5) DCservice processes the request and forwards it to the Modem module.
[0120] (6) After the Modem module DCservice forwards the request, it creates the corresponding number of data channels based on dcLabels and returns the creation results (including the channel ID and creation status "success / failure") to the SDK through DCservice.
[0121] (7) The SDK organizes the channel ID and status returned by the Modem module into a TS.66 standard format response and feeds it back to the screen sharing application.
[0122] (8) After obtaining the channel ID, the screen sharing application transmits data through the corresponding channel in the specific business scenario. Taking screen sharing as an example: start screen sharing and notify the other end to transmit through streamID 1001, and the user clicks the pen mark to transmit to the other end through streamID 1003. The specific channel used to transmit which data depends on the design of the mini program.
[0123] The aforementioned data channel creation method involves a first data channel creation request based on a first standard protocol. Upon receiving the first data channel creation request from the target application, at least one data channel tag in the data channel configuration parameters undergoes format conversion to match the data channel parameter type corresponding to the second standard protocol. The converted data channel tag is then used to generate a second data channel creation request conforming to the second standard protocol, thereby enabling data channel creation. This achieves compatibility between different standard protocols, avoiding data channel creation failures or functional abnormalities caused by protocol differences. Furthermore, it allows for the simultaneous creation of at least one data channel, improving creation efficiency. Additionally, the intermediate layer automatically handles parameter parsing and format conversion, eliminating the need for the application to concern itself with underlying protocol details. When the underlying protocol changes, the application can adapt to the new protocol without large-scale modifications, reducing the development cost of cross-protocol adaptation. Moreover, the application does not need to concern itself with underlying standard differences; the SDK automatically handles parameter conversion and system parameter acquisition. The application layer only needs to pass the data channel configuration parameter `appInfoXml` according to the first standard protocol, achieving seamless compatibility between interfaces of different protocols and ensuring the efficiency and stability of IMS data channel creation. While ensuring compatibility with different interface standards, it supports the creation of single and multiple data channels, enabling applications to dynamically adjust channel parameters according to different scenarios and meet the needs of more business scenarios.
[0124] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps. It is understood that the steps in different embodiments can be freely combined as needed, and all non-contradictory solutions formed by such combinations are within the scope of protection of this application.
[0125] Based on the same inventive concept, this application also provides a data channel creation apparatus for implementing the data channel creation method described above. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, the specific limitations in one or more data channel creation apparatus embodiments provided below can be found in the limitations of the data channel creation method described above, and will not be repeated here.
[0126] In one exemplary embodiment, such as Figure 4 As shown, a data channel creation device 400 is provided, including: an acquisition module 420, a parsing module 440, a conversion module 460, and a creation module 480, wherein:
[0127] The acquisition module 420 is used to acquire data channel configuration parameters according to the first data channel creation request when it receives a first data channel creation request that conforms to the first standard protocol sent by the target application;
[0128] Parsing module 440 is used to parse data channel configuration parameters to obtain at least one data channel tag;
[0129] The conversion module 460 is used to perform format conversion on at least one data channel tag according to the data channel parameter type corresponding to the second standard protocol;
[0130] The module 480 is used to generate a second data channel creation request that conforms to the second standard protocol based on the data channel label after format conversion, and to create a data channel based on the second data channel creation request.
[0131] The aforementioned data channel creation device, where the first data channel creation request is based on a first standard protocol, upon receiving the first data channel creation request sent by the target application, performs format conversion on at least one data channel tag in the data channel configuration parameters to match the data channel parameter type corresponding to the second standard protocol. It then uses the format-converted data channel tag to generate a second data channel creation request conforming to the second standard protocol, thereby creating the data channel. This achieves compatibility between different standard protocols, avoiding data channel creation failures or functional abnormalities caused by protocol differences. Furthermore, it can create at least one data channel simultaneously, improving data channel creation efficiency. In addition, the intermediate layer automatically completes parameter parsing and format conversion, eliminating the need for the application to concern itself with the underlying protocol details. When the underlying protocol changes, the application can adapt to the new protocol without large-scale modifications, reducing the development cost of cross-protocol adaptation.
[0132] In one embodiment, the data channel configuration parameters are parsed to obtain at least one data channel label. The parsing module 440 is further configured to: identify all data channel child nodes under the root node of the data channel configuration parameters; and extract the label content in each data channel child node to obtain at least one data channel label.
[0133] In one embodiment, the conversion module 460 performs format conversion on at least one data channel tag according to the data channel parameter type corresponding to the second standard protocol. The conversion module 460 is further configured to: when there are multiple data channel tags, store the multiple data channel tags into a preset array in sequence according to the parsing order of the multiple data channel tags; when there is only one data channel parameter, store the data channel parameter into a preset array; and use the resulting array as the format-converted data channel tag.
[0134] In one embodiment, a second data channel creation request conforming to the second standard protocol is generated based on the format-converted data channel label. The creation module 480 is further configured to: use the format-converted data channel label as a data channel parameter of the data channel creation function corresponding to the second standard protocol; and call the data channel creation function to generate a second data channel creation request conforming to the second standard protocol.
[0135] In one embodiment, the data channel is created based on the second data channel creation request. The creation module 480 is further configured to: forward the second data channel creation request to the Modem module through the data channel service, so as to instruct the Modem module to create a data channel according to the data channel label after format conversion in the second data channel creation request.
[0136] In one embodiment, the creation module 480 is further configured to: obtain the data channel creation result forwarded by the data channel service; if the channel creation is successful as indicated by the data channel creation result, determine the corresponding target data channel based on at least one channel identifier in the data channel creation result, and transmit data through the target data channel.
[0137] Each module in the aforementioned data channel creation device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0138] In one exemplary embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 5 As shown, the computer device includes a processor, memory, input / output interfaces, a communication interface, a display unit, and an input device. The processor, memory, and input / output interfaces are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interfaces. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output interfaces are used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, Near Field Communication (NFC), or other technologies. When executed by the processor, the computer program implements a data channel creation method. The display unit is used to form a visually visible image and can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.
[0139] Those skilled in the art will understand that Figure 5 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0140] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.
[0141] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.
[0142] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0143] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0144] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0145] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0146] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.< / appinfoxml>
Claims
1. A method for creating a data channel, characterized in that, The method includes: Upon receiving a first data channel creation request conforming to a first standard protocol sent by the target application, the data channel configuration parameters are obtained according to the first data channel creation request; Parse the data channel configuration parameters to obtain at least one data channel label; Based on the data channel parameter type corresponding to the second standard protocol, perform format conversion on at least one data channel label; A second data channel creation request conforming to the second standard protocol is generated based on the data channel label after format conversion, and the data channel is created based on the second data channel creation request.
2. The method according to claim 1, characterized in that, The process of parsing the data channel configuration parameters to obtain at least one data channel tag includes: Identify all data channel child nodes under the root node of the data channel configuration parameters; Extract the tag content from each data channel child node to obtain at least one data channel tag.
3. The method according to claim 1, characterized in that, The step of format conversion for at least one data channel label according to the data channel parameter type corresponding to the second standard protocol includes: When there are multiple data channel tags, the multiple data channel tags are stored into a preset array in sequence according to the parsing order of the multiple data channel tags; when there is only one data channel parameter, the data channel parameter is stored into a preset array. The resulting array is used as the data channel label after format conversion.
4. The method according to claim 1, characterized in that, The step of generating a second data channel creation request conforming to the second standard protocol based on the format-converted data channel label includes: Use the format-converted data channel label as the data channel parameter of the data channel creation function corresponding to the second standard protocol; The data channel creation function is invoked to generate a second data channel creation request conforming to the second standard protocol.
5. The method according to claim 1, characterized in that, The process of creating a data channel based on the second data channel creation request includes: The second data channel creation request is forwarded to the Modem module via the data channel service, instructing the Modem module to create a data channel based on the format-converted data channel label in the second data channel creation request.
6. The method according to claim 5, characterized in that, The method further includes: Obtain the data channel creation result forwarded by the data channel service; If the channel creation result indicates that the channel has been successfully created, the corresponding target data channel is determined based on at least one channel identifier in the data channel creation result, and data is transmitted through the target data channel.
7. A data channel creation device, characterized in that, The device includes: The acquisition module is used to acquire data channel configuration parameters according to the first data channel creation request when it receives a first data channel creation request that conforms to the first standard protocol sent by the target application; The parsing module is used to parse the data channel configuration parameters to obtain at least one data channel tag; The conversion module is used to convert the format of at least one data channel label according to the data channel parameter type corresponding to the second standard protocol. The creation module is used to generate a second data channel creation request that conforms to the second standard protocol based on the data channel label after format conversion, and to create a data channel based on the second data channel creation request.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.