Signaling negotiation, data communication method, device, electronic device, and storage medium

The method addresses inefficiencies in data communication by enabling direct connection establishment between clients and redirect servers through signaling context generation and address-based negotiation, reducing latency and expanding protocol compatibility.

CN117041340BActive Publication Date: 2025-07-15DOUYIN VISION CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311034512.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-16
Publication Date
2025-07-15
Estimated Expiration
2043-08-16

AI Technical Summary

Technical Problem

In the network service scenario, when the prior art faces a large number of concurrent user access, HTTP redirection requires two signaling negotiation processes, resulting in a prolonged data acquisition time and a lack of standard specifications in non-HTTP protocol scenarios, which may lead to a long response time or failure.

Method used

By generating signaling context and storing, and generating a target signaling response message based on redirection address information and negotiation address information, the client performs connectivity detection to obtain target data, and establishes a connection between the redirection server and the client in a signaling request.

Benefits of technology

It reduces signaling interaction time, improves the response efficiency of redirection, adapts to multiple network protocols, expands the application scenarios of redirection, and solves the dependence problem on specific protocols.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117041340B_ABST
    Figure CN117041340B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure provide a signaling negotiation, data communication method, apparatus, electronic device, and storage medium. Among them, the signaling negotiation method includes: in response to a signaling request sent by a client, generating a signaling context corresponding to the signaling request and storing the signaling context; in the case of receiving redirect address information of a redirect server corresponding to the signaling request, generating a target signaling response message based on the redirect address information and the negotiation address information of the signaling negotiation server; and feeding back the target signaling response message to the client, so that the client performs connectivity detection based on the redirect address information and obtains target data corresponding to the signaling request based on the detection result. By adopting the technical solution, various network protocols can be adapted, and the signaling interaction time in the redirect scenario is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure relate to data communication technologies, and in particular, to a signaling negotiation, data communication method, apparatus, electronic device, and storage medium. Background Art

[0002] In a network service scenario, in the face of a large number of concurrent user accesses, since the processing capacity of a single server is limited, it is difficult to withstand a large number of concurrent requests. Generally, load balancing is used to distribute concurrent requests to multiple servers for processing. The redirection technology is one of the common solutions for implementing load balancing, and it is a technology in which a certain server redirects a data acquisition request of a client to another server.

[0003] In related technologies, generally, the redirection of data requests is implemented based on the redirection function of the HyperText Transfer Protocol (HTTP). That is, through the status code and response header of the HTTP response, the HTTP request is redirected from the current request network address to another network address.

[0004] However, using HTTP redirection requires two signaling negotiation processes, which increases the time for data acquisition. Moreover, in some network service scenarios, such as ultra-low latency live broadcasts, there are often no standard specifications for the signaling negotiation protocol. When using other protocols other than HTTP, since the redirection function of HTTP cannot be used, the response time for data requests may be long or even the response may fail. Summary of the Invention

[0005] The present disclosure provides a signaling negotiation, data communication method, apparatus, electronic device, and storage medium to implement the redirection of data acquisition requests.

[0006] In a first aspect, an embodiment of the present disclosure provides a signaling negotiation method, which is applied to a signaling negotiation server. The method includes:

[0007] Responding to a signaling request sent by a client, generating a signaling context corresponding to the signaling request, and storing the signaling context;

[0008] When receiving the redirection address information of a redirection server corresponding to the signaling request, generating a target signaling response message based on the redirection address information and the negotiation address information of the signaling negotiation server;

[0009] Feeding back the target signaling response message to the client, so that the client performs connectivity detection based on the redirection address information and obtains target data corresponding to the signaling request based on the detection result.

[0010] In a second aspect, an embodiment of the present disclosure further provides a data communication method, which is applied to a redirection server. The method includes:

[0011] Receiving a connectivity detection request sent by the client based on the redirection address information of the redirection server, where the connectivity detection request includes negotiation address information of a signaling negotiation server, and the signaling negotiation server stores a signaling context corresponding to a signaling request;

[0012] When the negotiation address information is inconsistent with the redirection address information, initiating a context acquisition request to the signaling negotiation server based on the negotiation address information to obtain the signaling context from the signaling negotiation server;

[0013] After obtaining the signaling context, generating a connectivity response message corresponding to the connectivity detection request, and sending the connectivity response message and target data corresponding to the signaling request to the client based on the signaling context.

[0014] In a third aspect, an embodiment of the present disclosure further provides a signaling negotiation device, which is configured in a signaling negotiation server. The device includes:

[0015] A signaling request receiving module, configured to generate a signaling context corresponding to the signaling request in response to a signaling request sent by the client, and store the signaling context;

[0016] A response message generating module, configured to generate a target signaling response message based on the redirection address information and the negotiation address information of the signaling negotiation server when receiving the redirection address information of the redirection server corresponding to the signaling request;

[0017] A response message sending module, configured to feedback the target signaling response message to the client, so that the client performs connectivity detection based on the redirection address information, and obtains target data corresponding to the signaling request based on the detection result.

[0018] In a fourth aspect, an embodiment of the present disclosure further provides a data communication device, which is applied to a redirection server. The device includes:

[0019] A detection request module, configured to receive a connectivity detection request sent by the client based on the redirection address information of the redirection server, where the connectivity detection request includes negotiation address information of a signaling negotiation server, and the signaling negotiation server stores a signaling context corresponding to a signaling request;

[0020] A context acquisition module, configured to, when the negotiated address information is inconsistent with the redirected address information, initiate a context acquisition request to the signaling negotiation server based on the negotiated address information, so as to acquire the signaling context from the signaling negotiation server;

[0021] A connectivity response module, configured to, after acquiring the signaling context, generate a connectivity response message corresponding to the connectivity detection request, and send the connectivity response message and target data corresponding to the signaling request to the client based on the signaling context.

[0022] In a fifth aspect, an embodiment of the present disclosure further provides an electronic device, which includes:

[0023] One or more processors;

[0024] A storage device, configured to store one or more programs,

[0025] When the one or more programs are executed by the one or more processors, the one or more processors implement the signaling negotiation method and / or data communication method as described in any one of the embodiments of the present disclosure.

[0026] In a sixth aspect, an embodiment of the present disclosure further provides a storage medium containing computer-executable instructions, which are used to execute the signaling negotiation method and / or data communication method as described in any one of the embodiments of the present disclosure when executed by a computer processor.

[0027] The technical solution of the embodiment of the present disclosure is as follows: First, by responding to a signaling request sent by a client, a signaling context corresponding to the signaling request is generated and stored, so as to determine feedback data corresponding to the signaling request through the signaling context; then, when receiving the redirected address information of the redirected server corresponding to the signaling request, a target signaling response message is generated based on the redirected address information and the negotiated address information of the signaling negotiation server, and the target signaling response message is fed back to the client, so that the client performs a connectivity detection based on the redirected address information and acquires target data corresponding to the signaling request based on the detection result. It can obtain the redirected address information and the negotiated address information simultaneously in one signaling request, so that a connection can be established between the redirected server and the client based on the redirected address information and the negotiated address information in the data stage, that is, it can establish a connection with the redirected server in one signaling request, solving the technical problems in the related art that rely on a specific protocol to implement the redirection function and the reduction of the request-response efficiency due to redirection, and being able to adapt to multiple network protocols, overcoming the dependence on a specific protocol for redirection, achieving the effects of expanding the application scenario of redirection and reducing the signaling interaction time in the redirection scenario. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] In combination with the accompanying drawings and with reference to the following specific embodiments, the above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic and the original elements and elements are not necessarily drawn to scale.

[0029] Figure 1 It is a schematic flowchart of a signaling negotiation method provided by an embodiment of the present disclosure;

[0030] Figure 2 It is a schematic flowchart of a signaling negotiation method provided by an embodiment of the present disclosure;

[0031] Figure 3 It is a schematic flowchart of a signaling negotiation method in a data communication scenario implemented based on WebRTC provided by an embodiment of the present disclosure;

[0032] Figure 4 It is a schematic flowchart of a data communication method provided by an embodiment of the present disclosure;

[0033] Figure 5 It is a schematic flowchart of another data communication method provided by an embodiment of the present disclosure;

[0034] Figure 6 It is a schematic structural diagram of a signaling negotiation device provided by an embodiment of the present disclosure;

[0035] Figure 7 It is a schematic structural diagram of a data communication device provided by an embodiment of the present disclosure;

[0036] Figure 8 It is a schematic structural diagram of an electronic device provided by an embodiment of the present disclosure. Specific Embodiments

[0037] The embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. On the contrary, these embodiments are provided to more thoroughly and completely understand the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not used to limit the protection scope of the present disclosure.

[0038] It should be understood that the various steps recorded in the method embodiments of the present disclosure can be executed in different orders and / or executed in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this regard.

[0039] As used herein, the term "including" and its variations are open-ended, that is, "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Relevant definitions of other terms will be given in the following description.

[0040] It should be noted that the concepts such as "first", "second", etc. mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0041] It should be noted that the modification of "one" and "multiple" mentioned in this disclosure is illustrative rather than restrictive. Those skilled in the art should understand that unless otherwise clearly specified in the context, it should be understood as "one or more".

[0042] The names of the messages or information exchanged between multiple devices in the embodiments of this disclosure are only for illustrative purposes and are not used to limit the scope of these messages or information.

[0043] It can be understood that before using the technical solutions disclosed in the embodiments of this disclosure, the types, usage scopes, usage scenarios, etc. of the personal information involved in this disclosure should be informed to users and the authorization of users should be obtained in an appropriate manner in accordance with relevant laws and regulations.

[0044] For example, when responding to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested by the user will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, an application program, a server, or a storage medium that performs the operations of the technical solutions of this disclosure according to the prompt message.

[0045] As an optional but non-limiting implementation manner, when responding to receiving an active request from a user, the manner of sending a prompt message to the user can be, for example, in the form of a pop-up window, and the prompt message can be presented in text in the pop-up window. In addition, the pop-up window can also carry selection controls for the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0046] It can be understood that the above process of notifying and obtaining user authorization is only illustrative and does not constitute a limitation on the implementation manners of this disclosure. Other manners that meet relevant laws and regulations can also be applied to the implementation manners of this disclosure.

[0047] It is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of the corresponding laws, regulations and related provisions.

[0048] Figure 1 FIG. is a schematic flowchart of a signaling negotiation method provided by an embodiment of the present disclosure. The embodiment of the present disclosure is applicable to the situation of redirecting a signaling request in the signaling phase, and is particularly applicable to a distributed system under a load balancing mechanism. This method can be executed by a signaling negotiation device, which can be implemented in the form of software and / or hardware. Optionally, it can be implemented by an electronic device. Optionally, it can be implemented by an electronic device. The electronic device can be a signaling negotiation server or an upper-layer management device of the signaling negotiation server, etc. The signaling negotiation server can be understood as a server that responds to a signaling request in the signaling negotiation phase of data communication.

[0049] As Figure 1 shown, the method of this embodiment may specifically include:

[0050] S110. In response to a signaling request sent by a client, generate a signaling context corresponding to the signaling request and store the signaling context.

[0051] The client can be understood as the initiating end of the signaling request. Specifically, the client can be an application program corresponding to the server, having a data communication function and providing local services for users. The signaling request can be a data communication request initiated based on a service in the client, such as a live stream pulling signaling request initiated based on a live client.

[0052] The signaling context can be understood as context information for obtaining target data corresponding to the signaling request. Exemplarily, the signaling context may include verification information and data information. The verification information is used for verification in the connectivity detection phase, and specifically may include the negotiation address information of the signaling negotiation server. The data information can be understood as information associated with the target data to be obtained. For example, the data information may include at least one of information such as data format, data version, and data acquisition path.

[0053] Specifically, the client can generate a signaling request based on the received communication trigger operation. Then, the signaling request is sent to the server. The server can allocate a server for the signaling request, that is, determine the signaling negotiation server, and then send the signaling request to the signaling negotiation server. After receiving the signaling request sent by the client, the signaling negotiation server generates a signaling context corresponding to the signaling request. Among them, generating a signaling context corresponding to the signaling request includes, but is not limited to, obtaining the data formats supported by the client and the server and determining the data format in the signaling context. Specifically, the data formats supported by both the client and the server can be used as the data format in the signaling context. After generating the signaling context, the signaling context is stored in the local storage space of the signaling negotiation server for use in the subsequent data stage to obtain the target data corresponding to the signaling request.

[0054] S120. In the case of receiving the redirection address information of the redirection server corresponding to the signaling request, generate a target signaling response message based on the redirection address information and the negotiation address information of the signaling negotiation server.

[0055] Among them, the redirection address information can be understood as the information used to indicate the Internet protocol address of the redirection server. The redirection address information can be the virtual Internet protocol address corresponding to the redirection server, or the public Internet protocol address of the redirection server. The negotiation address information of the signaling negotiation server is the public Internet protocol address of the signaling negotiation server, or the virtual Internet protocol address and the internal network Internet protocol address corresponding to the signaling negotiation server.

[0056] Optionally, generate a target signaling response message based on the original redirection address information and the original negotiation address information of the signaling negotiation server; or, process the redirection address information and the negotiation address information of the signaling negotiation server respectively, and generate a target signaling response message based on the processed redirection address information and negotiation address information.

[0057] In the embodiments of the present disclosure, after receiving a signaling request, it may first be determined whether redirection is required. If redirection is required, the redirection address information of the redirection server corresponding to the signaling request is determined. As an alternative implementation manner of the embodiments of the present disclosure, specifically, after the signaling negotiation server receives the signaling request, it asks the scheduling system of the server side whether redirection is required. The scheduling system determines whether redirection is required based on mechanisms such as load balancing. If it is determined that redirection is required, it will match the redirection server, obtain the redirection address information of the redirection server, and feedback the redirection information to the signaling negotiation server. After receiving the redirection address information of the redirection server fed back by the scheduling system, a target signaling response message is generated based on the redirection address information and the negotiation address information of the signaling negotiation server.

[0058] After receiving the signaling request, a target signaling response message corresponding to the signaling request needs to be generated to inform the server side of the signaling negotiation result. Different from the related art where only the negotiation address information corresponding to the signaling negotiation server is added to the target signaling response message, the target signaling response message in the embodiments of the present disclosure includes both the redirection address information and the negotiation address information of the signaling negotiation server. The redirection address information can be used to establish a connection with the redirection server in the subsequent data phase. The negotiation address information of the signaling negotiation server can provide data support for the redirection server to obtain the signaling context to ensure the smooth progress of data communication.

[0059] S130. Feed back the target signaling response message to the client so that the client performs a connectivity detection based on the redirection address information and obtains target data corresponding to the signaling request based on the detection result.

[0060] Optionally, the signaling negotiation server may directly feed back the target signaling response message to the client; or, the signaling negotiation server directly feeds back the target signaling response message to the client through a proxy server (such as a server deployed with a four-layer load balancing mechanism).

[0061] Specifically, after receiving the target signaling response message, the client can enter the data phase. A connectivity detection request is initiated based on the redirection address information in the target signaling response message. Further, in the case of receiving a detection response message corresponding to the connectivity detection request, it is determined that the communication channel between the client and the server is successfully established, and then data communication can be performed with the server to obtain target data corresponding to the signaling request from the server.

[0062] The technical solution of the embodiment of the present disclosure is as follows. First, in response to a signaling request sent by a client, a signaling context corresponding to the signaling request is generated and the signaling context is stored to determine feedback data corresponding to the signaling request through the signaling context. Then, when receiving the redirection address information of the redirection server corresponding to the signaling request, a target signaling response message is generated based on the redirection address information and the negotiation address information of the signaling negotiation server, and the target signaling response message is fed back to the client, so that the client performs connectivity detection based on the redirection address information and obtains target data corresponding to the signaling request based on the detection result. It is possible to obtain both the redirection address information and the negotiation address information in one signaling request, so that a connection can be established between the redirection server and the client based on the redirection address information and the negotiation address information in the data stage. That is, it is possible to establish a connection with the redirection server in one signaling request, solving the technical problems in the related art that rely on a specific protocol to implement the redirection function and the reduction of the request-response efficiency due to redirection, and being able to adapt to multiple network protocols, overcoming the dependence on a specific protocol for redirection, achieving the effects of expanding the application scenario of redirection and reducing the signaling interaction time in the redirection scenario.

[0063] Figure 2 The flow diagram of another signaling negotiation method provided by the embodiment of the present disclosure. On the basis of the above embodiment, the technical solution of this embodiment further refines the generation process of the signaling response message. Optionally, generating a target signaling response message based on the redirection address information and the negotiation address information of the signaling negotiation server includes: creating an initial signaling response message corresponding to the signaling request; respectively determining first address filling information corresponding to the redirection address information and second address filling information corresponding to the negotiation address information of the signaling negotiation server; generating target address filling information based on the first address filling information and the second address filling information, and filling the target address filling information into the initial signaling response message to obtain the target signaling response message. The specific implementation can refer to the description of this embodiment. Among them, the same or similar technical features as those in the foregoing embodiment will not be described in detail here.

[0064] As Figure 2 shown, the method of this embodiment may specifically include:

[0065] S210. In response to a signaling request sent by a client, generate a signaling context corresponding to the signaling request and store the signaling context.

[0066] S220. When receiving the redirection address information of the redirection server corresponding to the signaling request, create an initial signaling response message corresponding to the signaling request.

[0067] Among them, the initial signaling response message can be understood as a model of the pre-constructed signaling response message. The initial signaling response message includes a candidate address and verification information. Generally, the parameter values corresponding to the candidate address and verification information in the initial signaling response message are the initial parameters set by the template or are empty, to be filled in after being determined by the server.

[0068] It can be understood that the specific format and content of the initial signaling response message are related to the technology adopted for signaling negotiation, and the specific format and content thereof are not limited herein.

[0069] S230. Determine the first address filling information corresponding to the redirection address information and the second address filling information corresponding to the negotiation address information of the signaling negotiation server respectively.

[0070] Among them, the first address filling information can be understood as the information used to indicate the redirection address information to be written into the initial signaling response message.

[0071] As an optional implementation manner of the embodiments of the present disclosure, the redirection address information can be used as the first address filling information corresponding to the redirection address information. This technical solution is applicable to the situation where the network environment is relatively secure. The advantage of directly using the redirection address information as the first address filling information is that there is no need to perform secondary processing on the redirection address information, which is beneficial to quickly generating the target signaling response message based on the initial signaling response message.

[0072] Considering that in the process of information transmission, there may be risks of being maliciously attacked or maliciously applied after information leakage. As another optional implementation manner of the embodiments of the present disclosure, the redirection address information can be encrypted to obtain the first address filling information. By adopting this technical solution, the redirection address information can be converted into encrypted information, which can reduce the risk of directly applying the redirection address information after it is intercepted, and improve the information security of the redirection address information.

[0073] In the embodiments of the present disclosure, there can be various ways to encrypt the redirection address information. Optionally, the redirection address information is encrypted based on a preset encryption algorithm. Among them, the preset encryption algorithm can be one or more of a symmetric encryption algorithm, an asymmetric encryption algorithm, and a hash encryption algorithm. Which specific encryption algorithm is adopted to encrypt the redirection address information can be set according to actual needs, and the specific algorithm adopted is not limited herein.

[0074] To avoid the risk of decrypting the encrypted information of the redirect address information through a decryption algorithm to obtain the redirect address information, the redirect address information may not be added as the first address filling information in the initial response message. For example, other information that has a mapping relationship with the redirect address information may be used as the first address filling information. As another alternative implementation manner of the embodiments of the present disclosure, the first address identification information corresponding to the redirect address information is determined, and the first address identification information is used as the first address filling information. By adopting this technical solution, the first address identification information can be used to replace the redirect address information, avoiding the risk of intercepting the target response message to parse out the redirect address information, fully ensuring the information security of the redirect address information, and thus ensuring the information security of the redirect server.

[0075] Optionally, determining the first address identification information corresponding to the redirect address information includes: obtaining the pre-set first address identification information corresponding to the redirect address information; or converting the redirect address information into the first address identification information based on a pre-set identification conversion interface.

[0076] Optionally, address identification information is pre-set for the server address information of each server, and a corresponding relationship is established between the server address information and the address identification information. Further, based on this corresponding relationship, the address identification information corresponding to the redirect address information is queried as the first address identification information. It should be noted that the address identification information may be partial information of the redirect address information or other information different from the redirect address information. Exemplarily, the address identification information may be the server identification corresponding to the server, such as the server number, etc.

[0077] Among them, the identification conversion interface can be understood as a function that converts the input redirect address information into other information according to a pre-set conversion rule. In the embodiments of the present disclosure, the redirect address information can be input into the identification conversion interface, and after being processed by the identification conversion interface, the converted information is output, and the converted information is used as the first address identification information. It can be understood that the conversion rule can be set according to actual needs and is not specifically limited herein.

[0078] Further, the identification conversion interface can also be used to reversely convert the first address identification information into the redirect address information to facilitate reverse parsing of the redirect address information. Or, the first address identification information can be reversely converted into the redirect address information through a pre-set address conversion interface. Optionally, when the address conversion interface is in a valid state, the information added to the first address identification information is filled into the initial response message as the first address filling information. When the address conversion interface is in an invalid state, the encrypted information obtained by encrypting the information added to the redirect address information is filled into the initial response message. The advantage of such a setting is that it can ensure the smooth acquisition of the redirect address information.

[0079] In some application scenarios, the above methods can be combined to determine the first address filling information corresponding to the redirected address information. For example, it is possible to detect whether the identification conversion interface is valid. If it is valid, the identification conversion interface is used to obtain the first address filling information; if it is invalid, the first address filling information is obtained through encryption processing, or the redirected address information is used as the first address filling information. Specifically, when the identification conversion interface is in a valid state, the redirected address information is converted into the first address identification information based on the identification conversion interface, and the first address identification information is used as the first address filling information; when the identification conversion interface is in an invalid state, the redirected address information is encrypted to obtain the first address filling information. By adopting this technical solution, double protection is provided for the information security of the redirected address information, which not only ensures the smooth progress of the signaling negotiation process but also improves the information security of the redirected address information.

[0080] Similarly, determining the second address filling information corresponding to the negotiation address information of the signaling negotiation server may include: encrypting the negotiation address information to obtain the second address filling information; and / or determining the second address identification information corresponding to the negotiation address information and using the second address identification information as the second address filling information.

[0081] Furthermore, determining the second address identification information corresponding to the negotiation address information includes: obtaining the pre-set second address identification information corresponding to the negotiation address information; or converting the negotiation address information into the second address identification information based on a pre-set identification conversion interface.

[0082] On this basis, determining the second address filling information corresponding to the negotiation address information may include: when the identification conversion interface is in a valid state, converting the negotiation address information into the second address identification information based on the identification conversion interface and using the second address identification information as the second address filling information; when the identification conversion interface is in an invalid state, encrypting the negotiation address information to obtain the second address filling information.

[0083] Similarly, the identification conversion interface can also be used to reversely convert the second address identification information into the negotiation address information to facilitate the reverse parsing of the negotiation address information. Or, the first address identification information can be reversely converted into the negotiation address information through a pre-set address conversion interface. Optionally, when the address conversion interface is in a valid state, the added second address identification information is filled into the initial response message as the second address filling information. When the address conversion interface is in an invalid state, the encrypted information obtained by encrypting the added negotiation address information is filled into the initial response message. The advantage of this setting is that it can ensure the smooth acquisition of the negotiation address information.

[0084] It should be noted that the identification conversion interface for converting negotiation address information into second address identification information and the identification conversion interface for converting redirection address information into first address identification information can be the same interface or different interfaces. Similarly, the address conversion interface for converting second address identification information into negotiation address information and the address conversion interface for converting first address identification information into redirection address information can be the same interface or different interfaces.

[0085] S240. Generate target address filling information based on the first address filling information and the second address filling information, and fill the target address filling information into the initial signaling response message to obtain a target signaling response message.

[0086] Among them, the target address filling information is information for indicating redirection address information and negotiation address information to be written into the initial signaling response message.

[0087] Exemplarily, the target address filling information includes candidate address information and target verification information. Specifically, generating target address filling information based on the first address filling information and the second address filling information includes: using the first address filling information as the candidate address information; splicing the second address filling information and the verification association information in a preset order to obtain the target verification information, where the verification association information includes a verification random number, and the verification random number is used to identify the validity of the network communication protocol.

[0088] Optionally, the verification association information may further include connection identification information and / or signaling request protocol type. The connection identification information can be used to distinguish a single signaling request. For example, in the case of receiving a live stream pulling signaling request, the connection identification information is used to distinguish a single live stream pulling. The signaling request protocol type determines whether to use a security protocol when judging the signaling request context. In the embodiments of the present disclosure, the splicing method of the verification information can be set according to actual needs and is not specifically limited herein.

[0089] Taking the data communication scenario implemented based on WebRTC (Web Real-Time Communication) as an example, for instance, the millisecond-level low-latency live broadcast technology implemented based on WebRTC, RTM (Real-time Media, ultra-low-latency live broadcast). WebRTC communication is usually divided into two stages: the signaling stage and the data stage. In the signaling stage, the client and the server exchange signaling information, which is usually described by SDP (Session Description Protocol), including session description and candidate addresses (ICE Candidate), etc. Among them, the candidate address is a combination of the IP address and port number allocated by the server for media transmission. In the data stage, the client first performs ICE (Interactive Connectivity Establishment) connection establishment, detects the candidate address of the server received in the signaling stage to ensure connection to an accessible network, and thus establishes a data transmission channel.

[0090] The signaling negotiation server providing the signaling service saves the context of the signaling negotiation, fills the external network IP / VIP of the redirect server into the candidate address a=candidate line of the initial signaling response message SDP answer returned to the client, and fills the second address identification information of this server or the encrypted external network IP / VIP (Virtual IP Address) and the internal network IP into the verification information a=ice-ufrag line, so as to obtain the target signaling response message.

[0091] Among them, ice-ufrag saves the negotiation address information of the signaling negotiation service, which can be understood as the verification information in the target response message. In the embodiments of the present disclosure, the content of ice-ufrag can be customized. Exemplarily, the first byte of ice-ufrag can be identified by the special character @, and the second byte can be used to identify the version of ufrag. According to the specific content of generating the token in the TLV (Type-Lengh-Value) manner, the token is used as the ice-ufrag of the SDP answer. Optionally, Type occupies 4 bits, Lengh occupies 8 bits, and the 4 bits in the middle of Type and Length are reserved for future further expansion, and a total of 2 bytes are occupied.

[0092] S250: Feed back the target signaling response message to the client, so that the client performs connectivity detection based on the redirect address information and obtains the target data corresponding to the signaling request based on the detection result.

[0093] In the technical solution of the embodiment of the present disclosure, a target signaling response message is generated through the redirected address information and the negotiated address information of the signaling negotiation server, so that the client can not only obtain the information of the redirection server but also obtain the information of the signaling negotiation server. Since the signaling negotiation server stores the signaling context, it provides a basis for the redirection server to obtain the signaling context from the signaling negotiation server. Furthermore, it provides data support for establishing a successful connection between the redirection server and the client in the subsequent connectivity detection of the redirection server during the data stage.

[0094] Figure 3 It is a schematic flowchart of a signaling negotiation method in a data communication scenario implemented based on WebRTC provided by an embodiment of the present disclosure. As Figure 3 shown, the execution process of the signaling negotiation method includes:

[0095] 1. After the signaling negotiation server of the server receives the signaling request (SDP offer) from the client, it performs signaling negotiation and creates an initial signaling response message (SDP answer).

[0096] 2. The scheduling system of the server decides whether to redirect according to the need. If it redirects, the VIP / public network IP of the redirection server is used as the information to be filled in the a=candidate line of the SDP answer to be filled, otherwise, the VIP / public network IP of the signaling negotiation server (local machine) is used as the information to be filled in the a=candidate line of the SDP answer to be filled.

[0097] 3. The server detects whether the address conversion interface for obtaining the public network IP / VIP and the internal network IP of the server according to the second address identification information is valid. If it is valid, the second address identification information of the local machine is filled in the a=ice-ufrag line of the SDP answer, otherwise, the negotiated address information of the local machine, that is, the VIP / public network IP and the internal network IP, is filled in the a=ice-ufrag line of the SDP answer.

[0098] 4. The signaling negotiation server of the server saves the signaling context and sends the filled target signaling response message SDP answer to the client.

[0099] 5. After receiving the SDP answer, the client fills the content of the a=ice-ufrag line into the USERNAME attribute of the connectivity detection request STUN Binding Request), and sends it to the server address specified in the a=candidate line of the target signaling response message for connectivity detection to establish a media channel.

[0100] By adopting this technical solution, redirection can be carried out simply and quickly, and the redirection information can be fed back to the client and applied to subsequent data phases. It does not depend on the HTTP protocol and does not require a secondary request. A media channel can be established in a single signaling request, improving the response efficiency of redirection.

[0101] Figure 4 FIG. 4 is a schematic flow chart of another data communication method provided by an embodiment of the present disclosure. The embodiments of the present disclosure are applicable to the interaction scenario in the data phase after redirecting a signaling request, and are particularly applicable to a distributed system under a load balancing mechanism. This method can be executed by a data communication device, which can be implemented in the form of software and / or hardware. Optionally, it is implemented by an electronic device, which can be a server or an upper management device of the server, etc.

[0102] As Figure 4 shown, the method of this embodiment may specifically include:

[0103] S410. Receive a connectivity detection request sent by the client based on the redirection address information of the redirection server, where the connectivity detection request includes the negotiation address information of the signaling negotiation server, and the signaling negotiation server stores a signaling context corresponding to the signaling request.

[0104] As described above, after receiving the target signaling response message, the client can enter the data phase. Obtain the negotiation address information of the signaling negotiation server in the target signaling response message, generate a connectivity detection request based on this negotiation address information, and initiate a connectivity detection request to the redirection address information in the target signaling response message to send the connectivity detection request to the redirection server.

[0105] S420. In the case where the negotiation address information is inconsistent with the redirection address information, initiate a context acquisition request to the signaling negotiation server based on the negotiation address information to obtain the signaling context from the signaling negotiation server.

[0106] Optionally, the redirection address information includes a first virtual service address corresponding to the redirection server, and the negotiation address information includes a second virtual service address and a first actual service address of the negotiation server. It should be noted that both the first virtual service address and the second virtual service address can correspond to multiple servers, and thus can also correspond to the actual service addresses of multiple servers.

[0107] At this time, when initiating a context acquisition request to the signaling negotiation server based on the negotiation address information, it can first determine whether the first virtual service address is the same as the second virtual service address, and whether the actual physical address of the redirection server is the same as the first actual service address of the negotiation server. If they are the same, that is, the local machine, the signaling context can be directly obtained from the current redirection server.

[0108] Optionally, when the first virtual service address is the same as the second virtual service address, initiate a context acquisition request to the negotiation server based on the first actual service address; receive the signaling context corresponding to the context acquisition request feedback by the negotiation server.

[0109] Optionally, when the first virtual service address is different from the second virtual service address, initiate a context acquisition request to the second virtual service address; receive the signaling context corresponding to the context acquisition request feedback by the response server corresponding to the second virtual service address, where the response server is the server that receives the context acquisition request.

[0110] In practical applications, the response server that receives the context acquisition request may be the signaling negotiation server or may not be the signaling negotiation server. Therefore, the second actual service address of the response server may be the same as or different from the first actual service address. Specifically, when the second actual service address of the response server is the same as the first actual service address, the response server is the signaling negotiation server storing the signaling context, and the signaling context can be directly obtained from the response server. When the second actual service address of the response server is different from the first actual service address, the signaling context is obtained by the response server from the signaling negotiation server based on the first actual service address.

[0111] Specifically, the context request can be sent to the signaling negotiation server based on the first actual service address via the response server, and then receive the signaling context feedback by the signaling negotiation server via the response server.

[0112] For example, after the redirection server (local machine) of the server receives a connectivity detection request (STUN Binding Request), it parses the USRNAME attribute in the STUN packet. If the USERNAME stores the negotiation address information of the signaling negotiation server (e.g., the second address identification information), at this time, it is determined whether the negotiation address information belongs to the local machine. If so, the signaling context is directly obtained from the local machine; if not, the cluster name, public network IP / VIP, and private network IP are obtained through the negotiation address information. If the USERNAME stores the public network IP / VIP and private network IP, the cluster name is parsed through the public network IP / VIP. Then, it is determined whether the obtained cluster name is the cluster where the local machine is located. If it is the cluster where the local machine is located and the private network IP is also the local machine, the signaling context is directly obtained from the local machine. Otherwise, a signaling context is requested from the private network IP. If it is not the cluster where the local machine is located, a signaling context is requested from the VIP / public network IP. The response server that receives the signaling context request rereads the above steps of determining whether the negotiation address information belongs to the local machine and subsequent steps. After obtaining the signaling context, the above process ends, and a data communication channel is normally established to provide data communication services.

[0113] If the number of requests for the context request exceeds a preset number threshold (e.g., 3 times), or the request duration of the context request exceeds a preset duration, it can be considered that an exception has occurred. The current signaling request can be terminated, a request failure prompt message can be generated, and it can be fed back to the client.

[0114] S430. After obtaining the signaling context, a connectivity response message corresponding to the connectivity detection request is generated, and the connectivity response message and the target data corresponding to the signaling request are sent to the client based on the signaling context.

[0115] After the redirection server obtains the signaling context, it can determine the target data requested by the client in the signaling request based on the signaling context. At this time, a connectivity response message corresponding to the connectivity detection request can be generated and sent to the client. When the client receives the detection response message corresponding to the connectivity detection request fed back by the redirection server, it is determined that a communication channel has been successfully established between the client and the server, and data communication with the server can be realized. At this time, the target data can be obtained from the server.

[0116] For the sake of easy understanding, continue to introduce with the data communication scenario implemented based on WebRTC as an example. When the client performs ICE connection establishment, it sends a STUN (Session Traversal Utilities for NAT) Binding Request packet to the redirected candidate address in the SDP received in the signaling phase (i.e., the external network IP / VIP indicated by the redirected address information) for connectivity detection, and the ice-ufrag field of the SDP will be filled into the USERNAME attribute of the STUN packet. After the redirected server that establishes the media channel with the client receives the STUN Binding Request packet, it parses the external network IP / VIP and internal network IP in the USERNAME attribute, locates the server providing the signaling service, and obtains the signaling context of this signaling request through an HTTP request to continue providing the data transmission service, thus realizing the redirection of data communication.

[0117] It should be noted that the signaling negotiation server and the redirected server are not functional limitations on the servers in the cluster, but are used to distinguish the response actions performed by the servers in different stages of data communication. In a signaling request, the server allocated in the signaling negotiation phase for storing the context to respond to the signaling request is called the signaling negotiation server, and the server that establishes a connection in the data phase after redirection is the redirected server. In actual applications, a cluster often receives various signaling requests. The signaling negotiation server and the redirected server are dynamically allocated when responding to signaling requests and may be any server in the cluster. In other words, the same server in the cluster may be the signaling negotiation server in a certain signaling request and the redirected server in another signaling request.

[0118] In the technical solution of the embodiment of the present disclosure, first, by receiving the connectivity detection request sent by the client based on the redirection address information of the redirection server, since the connectivity detection request includes the negotiation address information of the signaling negotiation server, and the signaling negotiation server stores the signaling context corresponding to the signaling request, the connectivity detection request can be sent to the redirection server and can inform the redirection server of the storage address of the signaling context. Then, in the case where the negotiation address information is inconsistent with the redirection address information, a context acquisition request is initiated to the signaling negotiation server based on the negotiation address information to obtain the signaling context from the signaling negotiation server, laying a foundation for the determination of subsequent target data. Finally, after obtaining the signaling context, a connectivity response message corresponding to the connectivity detection request is generated, and the connectivity response message and the target data corresponding to the signaling request are sent to the client based on the signaling context. It is possible to establish a communication channel with the redirection server in the data stage to achieve data communication, realize the redirection of data communication in one request, reduce the signaling interaction time in the redirection scenario, and improve the response efficiency of redirection.

[0119] Figure 5 It is a schematic flowchart of another data communication method provided by the embodiment of the present disclosure. Assume that the signaling negotiation server is server 13 in cluster 1, and the negotiation address information is VIP1 and the internal network IP of server 13. The redirection server is server 21 in cluster 2, and VIP2 is the redirection address information of the redirection server.

[0120] As Figure 5 shown, the client sends the connectivity detection request to server 21 based on VIP2. After receiving the connectivity detection request, server 21 parses out the negotiation address information corresponding to the signaling negotiation server, that is, VIP1 and the internal network IP of server 13. Then, after comparison, it is found that the parsed negotiation address information is VIP1 instead of VIP2, that is, the signaling negotiation server is not in cluster 2. At this time, the redirection server sends a context acquisition request to VIP1. At this time, VIP1 may send the context acquisition request to any server under VIP1. Assume that VIP1 may send the context acquisition request to server 11. At this time, the VIP1 and internal network IP corresponding to server 11 are compared with the negotiation address information, that is, VIP1 and the internal network IP of server 13, and it is found that the signaling negotiation server is not the local machine. At this time, server 11 sends a context acquisition request to slave server 13 according to the internal network IP of server 13. After receiving the signaling context sent by server 13, server 11 feeds it back to server 21 of VIP2.

[0121] After the server 21 obtains the signaling context, it sends a connectivity response message corresponding to the connectivity detection request to the client to establish a communication connection, and can feedback the target data corresponding to the signaling request to the client based on the signaling context.

[0122] The technical solution of the embodiment of the present disclosure realizes signaling sharing between nodes and realizes redirection of data communication without having to re-initiate a signaling request.

[0123] Figure 6 FIG. is a schematic structural diagram of a signaling negotiation device provided by an embodiment of the present disclosure. As Figure 6 shown, the device includes: a signaling request receiving module 610, a response message generating module 620, and a response message sending module 630.

[0124] Among them, the signaling request receiving module 610 is configured to generate a signaling context corresponding to the signaling request in response to the signaling request sent by the client and store the signaling context; the response message generating module 620 is configured to generate a target signaling response message based on the redirection address information of the redirection server corresponding to the signaling request and the negotiation address information of the signaling negotiation server when receiving the redirection address information of the redirection server corresponding to the signaling request; the response message sending module 630 is configured to feedback the target signaling response message to the client, so that the client performs a connectivity detection based on the redirection address information and obtains the target data corresponding to the signaling request based on the detection result.

[0125] The technical solution of the embodiment of the present disclosure first generates a signaling context corresponding to the signaling request in response to the signaling request sent by the client and stores the signaling context to determine the feedback data corresponding to the signaling request through the signaling context; then, when receiving the redirection address information of the redirection server corresponding to the signaling request, generates a target signaling response message based on the redirection address information and the negotiation address information of the signaling negotiation server, and feedbacks the target signaling response message to the client, so that the client performs a connectivity detection based on the redirection address information and obtains the target data corresponding to the signaling request based on the detection result. It can obtain the redirection address information and the negotiation address information simultaneously in one signaling request, so that a connection can be established between the redirection server and the client based on the redirection address information and the negotiation address information in the data stage, that is, it can establish a connection with the redirection server in one signaling request, solving the technical problems in the related art that rely on a specific protocol to implement the redirection function and the reduction of the request response efficiency due to redirection, being able to adapt to multiple network protocols, overcoming the dependence on a specific protocol for redirection, expanding the application scenarios of redirection, and reducing the signaling interaction time in the redirection scenario.

[0126] Optionally, the response message generation module 620 includes: an initial message creation unit, a filling information determination unit, and a target message generation unit.

[0127] Among them, the initial message creation unit is used to create an initial signaling response message corresponding to the signaling request; the filling information determination unit is used to determine a first address filling information corresponding to the redirection address information and a second address filling information corresponding to the negotiation address information of the signaling negotiation server respectively; the target message generation unit is used to generate target address filling information based on the first address filling information and the second address filling information, and fill the target address filling information into the initial signaling response message to obtain a target signaling response message.

[0128] Optionally, the filling information determination unit includes an address information encryption subunit and / or an address identifier acquisition subunit. Among them, the address information encryption subunit is used to perform encryption processing on the redirection address information to obtain the first address filling information. The address identifier acquisition subunit is used to determine the first address identifier information corresponding to the redirection address information, and use the first address identifier information as the first address filling information.

[0129] Optionally, the address identifier acquisition subunit may specifically be used for:

[0130] Obtaining the first address identifier information preset corresponding to the redirection address information; or,

[0131] Converting the redirection address information into the first address identifier information based on a preset identifier conversion interface.

[0132] Furthermore, the filling information determination unit may specifically be used for:

[0133] When the identifier conversion interface is in an effective state, converting the redirection address information into the first address identifier information based on the identifier conversion interface, and using the first address identifier information as the first address filling information;

[0134] When the identifier conversion interface is in an invalid state, performing encryption processing on the redirection address information to obtain the first address filling information.

[0135] Optionally, the target address filling information includes candidate address information and target verification information.

[0136] Furthermore, the target message generation unit is specifically used for:

[0137] Using the first address filling information as the candidate address information;

[0138] Concatenate the second address filling information and the verification association information in a preset order to obtain target verification information, where the verification association information includes a verification random number for identifying the validity of a network communication protocol.

[0139] The signaling negotiation device provided by the embodiments of the present disclosure can execute the signaling negotiation method provided by any embodiment of the present disclosure, and has corresponding functional modules and beneficial effects for executing the signaling negotiation method.

[0140] It should be noted that the various units and modules included in the above device are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the specific names of the functional units are only for easy mutual distinction and do not limit the protection scope of the embodiments of the present disclosure.

[0141] Figure 7 It is a schematic structural diagram of a data communication device provided by an embodiment of the present disclosure, as Figure 6 shown, the device includes: a detection request module 710, a context acquisition module 720, and a connection response module 730.

[0142] Among them, the detection request module 710 is configured to receive a connection detection request sent by a client based on redirection address information of a redirection server, where the connection detection request includes negotiation address information of a signaling negotiation server, and the signaling negotiation server stores a signaling context corresponding to a signaling request; the context acquisition module 720 is configured to, when the negotiation address information is inconsistent with the redirection address information, initiate a context acquisition request to the signaling negotiation server based on the negotiation address information to obtain a signaling context from the signaling negotiation server; the connection response module 730 is configured to, after obtaining the signaling context, generate a connection response message for the connection detection request, and send the connection response message and target data corresponding to the signaling request to the client based on the signaling context.

[0143] In the technical solution of the embodiments of the present disclosure, first, by receiving a connectivity detection request sent by a client based on the redirection address information of a redirection server, since the connectivity detection request includes the negotiation address information of a signaling negotiation server, and the signaling negotiation server stores a signaling context corresponding to a signaling request, the connectivity detection request can be sent to the redirection server and can inform the redirection server of the storage address of the signaling context; then, in the case where the negotiation address information is inconsistent with the redirection address information, a context acquisition request is initiated to the signaling negotiation server based on the negotiation address information to obtain the signaling context from the signaling negotiation server, laying a foundation for the determination of subsequent target data. Finally, after obtaining the signaling context, a connectivity response message corresponding to the connectivity detection request is generated, and the connectivity response message and the target data corresponding to the signaling request are sent to the client based on the signaling context. It is possible to establish a communication channel with the redirection server in the data stage, implement data communication, and achieve redirection of data communication in one request, improving the response efficiency of redirection.

[0144] Optionally, the redirection address information includes a first virtual service address, and the negotiation address information includes a second virtual service address and a first actual service address of the negotiation server; correspondingly, the context acquisition module 720 may specifically be used for:

[0145] In the case where the first virtual service address is the same as the second virtual service address, a context acquisition request is initiated to the negotiation server based on the first actual service address;

[0146] Receive the signaling context corresponding to the context acquisition request fed back by the negotiation server.

[0147] Optionally, the redirection address information includes a first virtual service address, and the negotiation address information includes a second virtual service address and a first actual service address of the negotiation server; correspondingly, the context acquisition module 720 may specifically be used for:

[0148] In the case where the first virtual service address is different from the second virtual service address, a context acquisition request is initiated to the second virtual service address;

[0149] Receive the signaling context corresponding to the context acquisition request fed back by a response server corresponding to the second virtual service address, where the response server is the server that receives the context acquisition request.

[0150] Optionally, in the case where the second actual service address of the response server is different from the first actual service address, the signaling context is obtained by the response server from the negotiation server based on the first actual service address.

[0151] The data communication device provided by the embodiments of the present disclosure can execute the data communication method provided by any embodiment of the present disclosure, and has the corresponding functional modules and beneficial effects for executing the signaling negotiation method.

[0152] It should be noted that the various units and modules included in the above device are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the specific names of the functional units are only for the convenience of mutual distinction and do not limit the protection scope of the embodiments of the present disclosure.

[0153] Figure 8 It is a schematic structural diagram of an electronic device provided by an embodiment of the present disclosure. The following refers to Figure 8 , which shows a schematic structural diagram of an electronic device 800 suitable for implementing the embodiments of the present disclosure (such as Figure 8 the terminal device or server in). The terminal device in the embodiments of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Tablet Computers), PMPs (Portable Multimedia Players), in-vehicle terminals (such as in-vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 8 The electronic device shown is only an example and should not bring any limitation to the functions and usage scope of the embodiments of the present disclosure.

[0154] As Figure 8 shown, the electronic device 800 may include a processing device (such as a central processing unit, a graphics processing unit, etc.) 801, which may execute various appropriate actions and processes according to the program stored in the read-only memory (ROM) 802 or the program loaded from the storage device 808 into the random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the electronic device 800 are also stored. The processing device 801, the ROM 802, and the RAM 803 are connected to each other through a bus 804. The editing / output (I / O) interface 805 is also connected to the bus 804.

[0155] Generally, the following devices may be connected to the I / O interface 805: an input device 806 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 807 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 808 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 809. The communication device 809 may allow the electronic device 800 to communicate with other devices wirelessly or wiredly to exchange data. Although Figure 8An electronic device 800 is shown with various devices, but it should be understood that it is not required to implement or have all the shown devices. Instead, more or fewer devices may be implemented or had.

[0156] In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, an embodiment of the present disclosure includes a computer program product that includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes program codes for performing the methods shown in the flowcharts. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device 809, or installed from a storage device 808, or installed from a ROM 802. When the computer program is executed by a processing device 801, the above-mentioned functions defined in the methods of the embodiments of the present disclosure are performed.

[0157] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only for illustrative purposes and are not used to limit the scope of these messages or information.

[0158] The electronic device provided in the embodiment of the present disclosure and the data communication method provided in the above embodiment belong to the same inventive concept. Technical details not described in detail in this embodiment can be seen in the above embodiment, and this embodiment has the same beneficial effects as the above embodiment.

[0159] The embodiment of the present disclosure provides a computer storage medium, on which a computer program is stored, and when the program is executed by a processor, the signaling negotiation method and / or data communication method provided in the above embodiment are implemented.

[0160] It should be noted that the above-mentioned computer-readable medium in the present disclosure can be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of the computer-readable storage medium can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium can be any tangible medium that contains or stores a program, which can be used by or in conjunction with an instruction execution system, apparatus, or device. In the present disclosure, a computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0161] In some embodiments, the client and the server can communicate using any currently known or future-developed network protocol such as HTTP (HyperText Transfer Protocol), and can be interconnected with digital data communication in any form or medium (e.g., a communication network). Examples of communication networks include local area networks (“LAN”), wide area networks (“WAN”), the Internet (e.g., the Internet), and end-to-end networks (e.g., ad hoc end-to-end networks), as well as any currently known or future-developed network.

[0162] The above-mentioned computer-readable medium can be included in the above-mentioned electronic device; or it can exist separately without being assembled into the electronic device.

[0163] The above computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to: in response to a signaling request sent by a client, generate a signaling context corresponding to the signaling request and store the signaling context; in the case of receiving redirect address information of a redirect server corresponding to the signaling request, generate a target signaling response message based on the redirect address information and the negotiation address information of the signaling negotiation server; and feed back the target signaling response message to the client, so that the client performs a connectivity detection based on the redirect address information and obtains target data corresponding to the signaling request based on the detection result.

[0164] Alternatively, the above computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to: receive a connectivity detection request sent by the client based on the redirect address information of a redirect server, where the connectivity detection request includes the negotiation address information of a signaling negotiation server, and the signaling negotiation server stores a signaling context corresponding to a signaling request; in the case where the negotiation address information is inconsistent with the redirect address information, initiate a context acquisition request to the signaling negotiation server based on the negotiation address information to obtain the signaling context from the signaling negotiation server; after obtaining the signaling context, generate a connectivity response message for the connectivity detection request and send the connectivity response message and the target data corresponding to the signaling request to the client based on the signaling context.

[0165] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages or combinations thereof. The programming languages include, but are not limited to, object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0166] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a portion of code that contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than that marked in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, may be implemented by a dedicated hardware-based system that performs the specified functions or operations, or may be implemented by a combination of dedicated hardware and computer instructions.

[0167] The units involved in the embodiments described in the present disclosure can be implemented in software or in hardware. Among them, the name of the unit does not constitute a limitation on the unit itself in some cases. For example, the first acquisition unit can also be described as "the unit for acquiring at least two Internet protocol addresses".

[0168] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that can be used include: Field Programmable Gate Arrays (FPGA), Application Specific Integrated Circuits (ASIC), Application Specific Standard Products (ASSP), System on a Chip (SOC), Complex Programmable Logic Devices (CPLD), and so on.

[0169] In the context of the present disclosure, a server-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A server-readable medium can be a server-readable signal medium or a server-readable storage medium. A server-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or apparatuses, or any suitable combination of the foregoing. More specific examples of server-readable storage media would include electrical connections based on one or more wires, portable computer disks, hard disks, Random Access Memory (RAM), Read Only Memory (ROM), Erasable Programmable Read Only Memory (EPROM or Flash Memory), optical fibers, portable compact disc read only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0170] According to one or more embodiments of the present disclosure, [Example 1] provides a signaling negotiation method, which includes:

[0171] In response to a signaling request sent by a client, generate a signaling context corresponding to the signaling request and store the signaling context;

[0172] In the case of receiving the redirection address information of a redirection server corresponding to the signaling request, generate a target signaling response message based on the redirection address information and the negotiation address information of the signaling negotiation server;

[0173] Feed back the target signaling response message to the client, so that the client performs a connectivity detection based on the redirection address information and obtains target data corresponding to the signaling request based on the detection result.

[0174] According to one or more embodiments of the present disclosure, [Example 2] provides the method of Example 1, further including:

[0175] Optionally, the generating a target signaling response message based on the redirection address information and the negotiation address information of the signaling negotiation server includes:

[0176] Create an initial signaling response message corresponding to the signaling request;

[0177] Respectively determine first address filling information corresponding to the redirection address information and second address filling information corresponding to the negotiation address information of the signaling negotiation server;

[0178] Generate target address filling information based on the first address filling information and the second address filling information, and fill the target address filling information into the initial signaling response message to obtain a target signaling response message.

[0179] According to one or more embodiments of the present disclosure, [Example 3] provides the method of Example 2, further including:

[0180] Optionally, the determining the first address filling information corresponding to the redirection address information includes:

[0181] Perform an encryption process on the redirection address information to obtain first address filling information; and / or,

[0182] Determine first address identification information corresponding to the redirection address information, and use the first address identification information as the first address filling information.

[0183] According to one or more embodiments of the present disclosure, [Example 4] provides the method of Example 3, further including:

[0184] Optionally, determining the first address identification information corresponding to the redirected address information includes:

[0185] Obtaining the pre-set first address identification information corresponding to the redirected address information; or,

[0186] Converting the redirected address information into the first address identification information based on a pre-set identification conversion interface.

[0187] According to one or more embodiments of the present disclosure, [Example Five] provides the method of Example Four, further including:

[0188] Optionally, determining the first address filling information corresponding to the redirected address information includes:

[0189] When the identification conversion interface is in a valid state, converting the redirected address information into the first address identification information based on the identification conversion interface, and using the first address identification information as the first address filling information;

[0190] When the identification conversion interface is in an invalid state, performing an encryption process on the redirected address information to obtain the first address filling information.

[0191] According to one or more embodiments of the present disclosure, [Example Six] provides the method of Example Two, further including:

[0192] Optionally, the target address filling information includes candidate address information and target verification information;

[0193] The generating the target address filling information based on the first address filling information and the second address filling information includes:

[0194] Using the first address filling information as the candidate address information;

[0195] Concatenating the second address filling information and the verification association information in a preset order to obtain the target verification information, where the verification association information includes a verification random number, and the verification random number is used to identify the validity of the network communication protocol.

[0196] According to one or more embodiments of the present disclosure, [Example Seven] provides a data communication method, and this method includes:

[0197] Optionally, receiving a connectivity detection request sent by the client based on the redirected address information of the redirection server, where the connectivity detection request includes the negotiation address information of the signaling negotiation server, and the signaling negotiation server stores a signaling context corresponding to the signaling request;

[0198] In the case where the negotiated address information is inconsistent with the redirected address information, initiate a context acquisition request to the signaling negotiation server based on the negotiated address information, so as to acquire the signaling context from the signaling negotiation server;

[0199] After acquiring the signaling context, generate a connectivity response message for the connectivity detection request, and send the connectivity response message and the target data corresponding to the signaling request to the client based on the signaling context.

[0200] According to one or more embodiments of the present disclosure, [Example VIII] provides the method of Example VII, further including:

[0201] Optionally, the redirected address information includes a first virtual service address, and the negotiated address information includes a second virtual service address and a first actual service address of the negotiation server;

[0202] The step of initiating a context acquisition request to the signaling negotiation server based on the negotiated address information to acquire the signaling context from the signaling negotiation server includes:

[0203] In the case where the first virtual service address is the same as the second virtual service address, initiate a context acquisition request to the negotiation server based on the first actual service address;

[0204] Receive the signaling context corresponding to the context acquisition request feedback by the negotiation server.

[0205] According to one or more embodiments of the present disclosure, [Example IX] provides the method of Example VII, further including:

[0206] Optionally, the redirected address information includes a first virtual service address, and the negotiated address information includes a second virtual service address and a first actual service address of the negotiation server;

[0207] The step of initiating a context acquisition request to the signaling negotiation server based on the negotiated address information to acquire the signaling context from the signaling negotiation server includes:

[0208] In the case where the first virtual service address is different from the second virtual service address, initiate a context acquisition request to the second virtual service address;

[0209] Receive the signaling context corresponding to the context acquisition request feedback by a response server corresponding to the second virtual service address, where the response server is the server that receives the context acquisition request.

[0210] According to one or more embodiments of the present disclosure, [Example Ten] provides the method of [Example Nine], further including:

[0211] Optionally, when the second actual service address of the response server is inconsistent with the first actual service address, the signaling context is obtained by the response server from the signaling negotiation server based on the first actual service address.

[0212] According to one or more embodiments of the present disclosure, [Example Eleven] provides a signaling negotiation device, which includes:

[0213] A signaling request receiving module, configured to generate a signaling context corresponding to the signaling request in response to a signaling request sent by a client, and store the signaling context;

[0214] A response message generating module, configured to generate a target signaling response message based on the redirection address information and the negotiation address information of the signaling negotiation server when receiving the redirection address information of the redirection server corresponding to the signaling request;

[0215] A response message sending module, configured to feedback the target signaling response message to the client, so that the client performs connectivity detection based on the redirection address information, and obtains target data corresponding to the signaling request based on the detection result.

[0216] According to one or more embodiments of the present disclosure, [Example Twelve] provides a data communication device, which includes:

[0217] A detection request module, configured to receive a connectivity detection request sent by the client based on the redirection address information of the redirection server, where the connectivity detection request includes the negotiation address information of the signaling negotiation server, and the signaling negotiation server stores a signaling context corresponding to the signaling request;

[0218] A context obtaining module, configured to initiate a context obtaining request to the signaling negotiation server based on the negotiation address information when the negotiation address information is inconsistent with the redirection address information, so as to obtain the signaling context from the signaling negotiation server;

[0219] A connectivity response module, configured to generate a connectivity response message for the connectivity detection request after obtaining the signaling context, and send the connectivity response message and the target data corresponding to the signaling request to the client based on the signaling context.

[0220] The above description is only a preferred embodiment of the present disclosure and an explanation of the applied technical principles. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by the specific combination of the above technical features, and should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosure concept. For example, the technical solutions formed by mutually replacing the above features with the technical features (but not limited to) having similar functions disclosed in the present disclosure.

[0221] In addition, although the operations are depicted in a particular order, this should not be construed as requiring that the operations be performed in the particular order shown or in sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of the present disclosure. Certain features described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, the various features described in the context of a single embodiment may also be implemented separately or in any suitable sub-combination in multiple embodiments.

[0222] Although the subject matter has been described in language specific to structural features and / or methodological logical acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms for implementing the claims.

Claims

1. A signaling negotiation method, characterized in that, Applied to a signaling negotiation server, including: In response to a signaling request sent by a client, generate a signaling context corresponding to the signaling request and store the signaling context; When receiving the redirection address information of the redirection server corresponding to the signaling request feedback by the scheduling system, generate a target signaling response message based on the redirection address information and the negotiation address information of the signaling negotiation server; the redirection address information is obtained and fed back to the signaling negotiation server by the scheduling system when it is determined that redirection is required after receiving the redirection inquiry information corresponding to the signaling request sent by the signaling negotiation server; Feed back the target signaling response message to the client, so that the client performs connectivity detection based on the redirection address information and obtains target data corresponding to the signaling request based on the detection result.

2. The signaling negotiation method according to claim 1, wherein The generating the target signaling response message based on the redirection address information and the negotiation address information of the signaling negotiation server includes: Create an initial signaling response message corresponding to the signaling request; Determine first address filling information corresponding to the redirection address information and second address filling information corresponding to the negotiation address information of the signaling negotiation server respectively; Generate target address filling information based on the first address filling information and the second address filling information, and fill the target address filling information into the initial signaling response message to obtain a target signaling response message.

3. The signaling negotiation method according to claim 2, wherein The determining the first address filling information corresponding to the redirection address information includes: Perform encryption processing on the redirection address information to obtain the first address filling information; and / or, Determine first address identification information corresponding to the redirection address information, and use the first address identification information as the first address filling information.

4. The signaling negotiation method according to claim 3, wherein The determining the first address identification information corresponding to the redirection address information includes: Convert the redirection address information into first address identification information based on a preset identification conversion interface.

5. The signaling negotiation method according to claim 4, wherein The determining the first address filling information corresponding to the redirection address information includes: When the identification conversion interface is in an effective state, convert the redirection address information into first address identification information based on the identification conversion interface, and use the first address identification information as the first address filling information; When the identification conversion interface is in an invalid state, perform encryption processing on the redirection address information to obtain the first address filling information.

6. The signaling negotiation method according to claim 3, wherein The determining the first address identification information corresponding to the redirection address information includes: Obtain the first address identification information preset corresponding to the redirection address information.

7. The signaling negotiation method according to claim 2, wherein The target address filling information includes candidate address information and target verification information; The generating the target address filling information based on the first address filling information and the second address filling information includes: Use the first address filling information as the candidate address information; Concatenate the second address filling information and the verification association information in a preset order to obtain target verification information, where the verification association information includes a verification random number, and the verification random number is used to identify the validity of the network communication protocol.

8. A data communication method, characterized in that, Applied to a redirect server, it includes: Receiving a connectivity detection request sent by a client based on the redirect address information of the redirect server, where the connectivity detection request includes the negotiation address information of a signaling negotiation server, and the signaling negotiation server stores a signaling context corresponding to a signaling request; In the case where the negotiation address information is inconsistent with the redirect address information, initiating a context acquisition request to the signaling negotiation server based on the negotiation address information to obtain the signaling context from the signaling negotiation server; After obtaining the signaling context, generating a connectivity response message corresponding to the connectivity detection request, and sending the connectivity response message and target data corresponding to the signaling request to the client based on the signaling context.

9. The data communication method according to claim 8, wherein The redirect address information includes a first virtual service address, and the negotiation address information includes a second virtual service address and a first actual service address of the negotiation server; The initiating a context acquisition request to the signaling negotiation server based on the negotiation address information to obtain the signaling context from the signaling negotiation server includes: In the case where the first virtual service address is the same as the second virtual service address, initiating a context acquisition request to the negotiation server based on the first actual service address; Receiving the signaling context corresponding to the context acquisition request feedback by the negotiation server.

10. The data communication method according to claim 8, wherein The redirect address information includes a first virtual service address, and the negotiation address information includes a second virtual service address and a first actual service address of the negotiation server; The initiating a context acquisition request to the signaling negotiation server based on the negotiation address information to obtain the signaling context from the signaling negotiation server includes: In the case where the first virtual service address is different from the second virtual service address, initiating a context acquisition request to the second virtual service address; Receiving the signaling context corresponding to the context acquisition request feedback by a response server corresponding to the second virtual service address, where the response server is the server that receives the context acquisition request.

11. The data communication method according to claim 10, wherein In the case where the second actual service address of the response server is different from the first actual service address, the signaling context is obtained by the response server from the signaling negotiation server based on the first actual service address.

12. A signaling negotiation device, characterized in that, Configured in a signaling negotiation server, it includes: A signaling request receiving module, configured to generate a signaling context corresponding to the signaling request in response to a signaling request sent by a client, and store the signaling context; A response message generation module, configured to generate a target signaling response message based on the redirect address information and the negotiation address information of the signaling negotiation server when receiving the redirect address information of the redirect server corresponding to the signaling request feedback by the scheduling system; the redirect address information is obtained and fed back to the signaling negotiation server by the scheduling system when it is determined that redirection is required after receiving the redirect inquiry information corresponding to the signaling request sent by the signaling negotiation server. A response message sending module, configured to feed back the target signaling response message to the client, so that the client performs connectivity detection based on the redirect address information and obtains target data corresponding to the signaling request based on the detection result.

13. A data communication device, characterized in that, Applied to a redirect server, including: A detection request module, configured to receive a connectivity detection request sent by the client based on the redirect address information of the redirect server, where the connectivity detection request includes the negotiation address information of the signaling negotiation server, and the signaling negotiation server stores a signaling context corresponding to the signaling request. A context acquisition module, configured to initiate a context acquisition request to the signaling negotiation server based on the negotiation address information when the negotiation address information is inconsistent with the redirect address information, so as to obtain the signaling context from the signaling negotiation server. A connectivity response module, configured to generate a connectivity response message corresponding to the connectivity detection request after obtaining the signaling context, and send the connectivity response message and the target data corresponding to the signaling request to the client based on the signaling context.

14. An electronic device, characterized in that, The electronic device includes: One or more processors; A storage device, configured to store one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the signaling negotiation method as described in any one of claims 1-7 and / or the data communication method as described in any one of claims 8-11.

15. A storage medium containing computer-executable instructions, characterized in that, The computer-executable instructions, when executed by a computer processor, are used to execute the signaling negotiation method as described in any one of claims 1-7 and / or the data communication method as described in any one of claims 8-11.

Citation Information

Patent Citations

  • Method and apparatus for functional architecture of voice-over-IP SIP network border element

    US20050083912A1

  • The method, equipment and system for message processing in the next generation network

    WO2009024036A1