CN110071925B - 数据传输方法和相应的服务器、计算机可读存储介质 - Google Patents

数据传输方法和相应的服务器、计算机可读存储介质 Download PDF

Info

Publication number
CN110071925B
CN110071925B CN201910341922.1A CN201910341922A CN110071925B CN 110071925 B CN110071925 B CN 110071925B CN 201910341922 A CN201910341922 A CN 201910341922A CN 110071925 B CN110071925 B CN 110071925B
Authority
CN
China
Prior art keywords
server
session
application
identification
session message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910341922.1A
Other languages
English (en)
Other versions
CN110071925A (zh
Inventor
郑利雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910341922.1A priority Critical patent/CN110071925B/zh
Publication of CN110071925A publication Critical patent/CN110071925A/zh
Application granted granted Critical
Publication of CN110071925B publication Critical patent/CN110071925B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Abstract

本公开提供了一种数据传输方法和相应的服务器、计算机可读存储介质。由第一服务器执行的数据传输方法包括:确定会话数据包,其中会话数据包是根据应用的会话消息生成的,应用的会话消息至少包括应用的标识、在应用运行过程中产生的会话消息体和会话消息的目的客户端的标识;根据应用的标识确定第一服务器与第二服务器之间的且与应用对应的长连接;以及通过与应用对应的长连接,将会话数据包发送至相应的第二服务器,以便该第二服务器根据会话消息的目的客户端的标识将会话数据包发送给目的客户端。

Description

数据传输方法和相应的服务器、计算机可读存储介质
技术领域
本公开涉及数据传输领域,并且更具体地涉及一种数据传输方法和相应的服务器、计算机可读存储介质。
背景技术
在游戏应用中,部署了游戏的两类服务器,即游戏服务器和游戏助手服务器。游戏服务器可以运行游戏并且在游戏的运行过程中提供会话功能,游戏助手服务器可以运行游戏相关的会话应用,因此,游戏助手服务器和游戏服务器之间可以传输会话消息。
已经提出了游戏助手服务器和游戏服务器之间通过互娱数据接口平台(IeodData Interface Platform,IDIP)传输会话消息。例如,当游戏助手服务器要将会话消息传输给游戏服务器时,游戏助手服务器可以将会话消息传输给IDIP,然后IDIP将会话消息传输给游戏服务器。然而,IDIP只能提供单向访问接口,因此,IDIP不能实时地接收游戏服务器要传输给游戏助手服务器的会话消息。具体地,游戏助手服务器为了从游戏服务器获取会话消息,游戏助手服务器要向IDIP定时轮询,并且IDIP要向游戏服务器定时轮询。当IDIP轮询到会话消息时,IDIP将轮询到的会话消息传输给游戏助手服务器。
发明内容
为了克服现有技术中存在的缺陷,本公开提出了一种数据传输方法和相应的服务器、计算机可读存储介质。
根据本公开的一个方面,提供了一种由第一服务器执行的数据传输方法。该方法包括:从第二服务器接收会话数据包,其中所述会话数据包是根据应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识,所述会话数据包是所述第二服务器通过其与所述第一服务器之间的且与所述应用对应的长连接发送的;以及根据所述会话消息的目的客户端的标识,将所述会话数据包发送给目的客户端。
根据本公开的另一方面,提供了一种由第一服务器执行的另一数据传输方法。该方法包括:确定会话数据包,其中所述会话数据包是根据应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识;根据所述应用的标识确定第一服务器与第二服务器之间的且与所述应用对应的长连接;以及通过与所述应用对应的长连接,将所述会话数据包发送至相应的第二服务器,以便该第二服务器根据所述会话消息的目的客户端的标识将所述会话数据包发送给目的客户端。
根据本公开的一个示例,在上述方法中,所述确定会话数据包包括:从第一服务器的客户端接收会话数据包,其中所述会话数据包是所述第一服务器的客户端根据应用的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成的。
根据本公开的一个示例,在上述方法中,所述确定会话数据包包括:从第一服务器的客户端接收应用的会话消息;以及至少根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识以及会话消息的标识生成会话数据包。
根据本公开的一个示例,在上述方法中,所述至少根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识以及会话消息的标识生成会话数据包包括:根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包。
根据本公开的一个示例,上述方法还包括:与所述第二服务器建立长连接。
根据本公开的一个示例,在上述方法中,与所述第二服务器建立长连接包括:从所述第二服务器接收连接请求和所述第二服务器的身份标识信息;以及根据所接收的连接请求与所述第二服务器建立连接,并标记所述第二服务器的身份。
根据本公开的另一方面,提供了一种第一服务器。该第一服务器包括:接收单元,被配置为从第二服务器接收会话数据包,其中所述会话数据包是根据应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识,所述会话数据包是所述第二服务器通过其与所述第一服务器之间的且与所述应用对应的长连接发送的;以及发送单元,被配置为根据所述会话消息的目的客户端的标识,将所述会话数据包发送给目的客户端。
根据本公开的另一方面,提供了一种第一服务器。该第一服务器包括:第一确定单元,被配置为确定会话数据包,其中所述会话数据包是根据应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识;第二确定单元,被配置为根据所述应用的标识确定第一服务器与第二服务器之间的且与所述应用对应的长连接;以及发送单元,被配置为通过与所述应用对应的长连接,将所述会话数据包发送至相应的第二服务器,以便该第二服务器根据所述会话消息的目的客户端的标识将所述会话数据包发送给目的客户端。
根据本公开的一个示例,所述第一确定单元被配置为从第一服务器的客户端接收会话数据包,其中所述会话数据包是所述第一服务器的客户端根据应用的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成的。
根据本公开的一个示例,所述第一确定单元被配置为从第一服务器的客户端接收应用的会话消息;以及至少根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识以及会话消息的标识生成会话数据包。
根据本公开的一个示例,所述第一确定单元还被配置为根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包。
根据本公开的一个示例,第一服务器还包括:连接建立单元,被配置为与所述第二服务器建立长连接。
根据本公开的一个示例,所述连接建立单元被配置为从所述第二服务器接收连接请求和所述第二服务器的身份标识信息;以及根据所接收的连接请求与所述第二服务器建立连接,并标记所述第二服务器的身份。
根据本公开的另一方面,提供了一种由第二服务器执行的数据传输方法。该方法包括:确定会话数据包,其中所述会话数据包是根据应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识;根据所述应用的标识确定第二服务器与第一服务器之间的且与所述应用对应的长连接;以及通过与所述应用对应的长连接,将所述会话数据包发送至第一服务器,以便该第一服务器根据所述会话消息的目的客户端的标识将所述会话数据包发送给目的客户端。
根据本公开的一个示例,在上述方法中,所述确定会话数据包包括:从第二服务器的客户端接收会话数据包,其中所述会话数据包是所述第二服务器的客户端根据应用的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成的。
根据本公开的一个示例,在上述方法中,所述确定会话数据包包括:从第二服务器的客户端接收应用的会话消息;以及至少根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识以及会话消息的标识生成会话数据包。
根据本公开的一个示例,在上述方法中,所述至少根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识以及会话消息的标识生成会话数据包包括:根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包。
根据本公开的一个示例,上述方法还包括:与所述第一服务器建立长连接。
根据本公开的一个示例,在上述方法中,与所述第一服务器建立长连接包括:向所述第一服务器发送连接请求和所述第二服务器的身份标识信息,以便所述第一服务器根据所接收的连接请求与所述第二服务器建立连接,并标记所述第二服务器的身份。
根据本公开的另一方面,提供了一种由第二服务器执行的数据传输方法。该方法包括:从第一服务器接收会话数据包,其中所述会话数据包是根据应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识,所述会话数据包是所述第一服务器通过其与所述第二服务器之间的且与所述应用对应的长连接发送的;以及根据所述会话消息的目的客户端的标识,将所述会话数据包发送给目的客户端。
根据本公开的另一方面,提供了一种第二服务器。该第二服务器包括:第一确定单元,被配置为确定会话数据包,其中所述会话数据包是根据应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识;第二确定单元,被配置为根据所述应用的标识确定第二服务器与第一服务器之间的且与所述应用对应的长连接;以及发送单元,被配置为通过与所述应用对应的长连接,将所述会话数据包发送至第一服务器,以便该第一服务器根据所述会话消息的目的客户端的标识将所述会话数据包发送给目的客户端。
根据本公开的一个示例,所述第一确定单元被配置为从第二服务器的客户端接收会话数据包,其中所述会话数据包是所述第二服务器的客户端根据应用的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成的。
根据本公开的一个示例,所述第一确定单元被配置为从第二服务器的客户端接收应用的会话消息;以及至少根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识以及会话消息的标识生成会话数据包。
根据本公开的一个示例,所述第一确定单元还被配置为根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包。
根据本公开的一个示例,第二服务器还包括:连接建立单元,被配置为与所述第一服务器建立长连接。
根据本公开的一个示例,所述连接建立单元被配置为向所述第一服务器发送连接请求和所述第二服务器的身份标识信息,以便所述第一服务器根据所接收的连接请求与所述第二服务器建立连接,并标记所述第二服务器的身份。
根据本公开的另一方面,提供了一种第二服务器。该第二服务器包括:接收单元,被配置为从第一服务器接收会话数据包,其中所述会话数据包是根据应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识,所述会话数据包是所述第一服务器通过其与所述第二服务器之间的且与所述应用对应的长连接发送的;以及发送单元,被配置为根据所述会话消息的目的客户端的标识,将所述会话数据包发送给目的客户端。
根据本公开的另一方面,提供了一种第一服务器。该第一服务器包括:处理器;以及存储器,其中,所述存储器中存储有计算机可执行程序,当由所述处理器执行所述计算机可执行程序时,执行上面所描述的由第一服务器执行的方法。
根据本公开的另一方面,提供了一种第二服务器。该第二服务器包括:处理器;以及存储器,其中,所述存储器中存储有计算机可执行程序,当由所述处理器执行所述计算机可执行程序时,执行上面所描述的由第二服务器执行的方法。
根据本公开的另一方面,提供了一种计算机可读存储介质,其上存储由指令,所述指令在被处理器执行时,使得所述处理器执行上面所描述的由第一服务器执行的方法。
根据本公开的另一方面,提供了一种计算机可读存储介质,其上存储由指令,所述指令在被处理器执行时,使得所述处理器执行上面所描述的由第二服务器执行的方法。
通过本发明的数据传输方法和相应的服务器、计算机可读存储介质,第一服务器和第二服务器可以根据应用的标识来确定二者之间的且与应用对应的长连接,从而通过该长连接互传会话数据包,使得第一服务器和第二服务器之间直接进行数据传输,并且使得第一服务器和第二服务器之间能够实时地进行数据传输,以及第一服务器和第二服务器之间要传输的数据量不受限制。此外,由于第一服务器和第二服务器之间通过长连接互传会话数据包而无需借助IDIP轮询会话数据包,因此,免去了复杂的轮询过程,避免了第二服务器进行复杂的存储和读取操作。此外,第一服务器和第二服务器之间的长连接实现了第一服务器的客户端和第二服务器的客户端之间的关系链互通和数据互通,从而丰富了第一服务器的客户端上安装的辅助应用的各种辅助场景。此外,第一服务器和第二服务器之间互传的会话数据包包括特定类型的信息,使得第一服务器可以兼容来自多个第二服务器的会话数据包,从而使得第一服务器能够和多个第二服务器中的每个第二服务器互通会话。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是游戏助手服务器和游戏服务器之间传输会话消息的常规的系统架构的示意图。
图2是根据本公开实施例的第一服务器和第二服务器之间进行数据传输的系统架构的示意图。
图3是根据本公开实施例的由第一服务器执行的方法的流程图。
图4示出了根据本公开实施例的第一服务器和第二服务器之间的连接方式的示意图。
图5示出了根据本公开实施例的遵循TCP的示例数据包的示意图。
图6是根据本公开实施例的由第一服务器执行的另一方法的流程图。
图7是根据本公开实施例的由第二服务器执行的方法的流程图。
图8是根据本公开实施例的由第二服务器执行的另一方法的流程图。
图9是根据本公开实施例的第一服务器和第二服务器之间建立长连接以及通过长连接进行数据传输的示意图。
图10是根据本公开实施例的第一服务器的客户端和第二服务器的客户端互通聊天的示意图。
图11示出了根据本公开实施例的第一服务器的结构示意图。
图12示出了根据本公开实施例的第一服务器的另一结构示意图。
图13示出了根据本公开实施例的第二服务器的结构示意图。
图14示出了根据本公开实施例的第二服务器的另一结构示意图。
图15示出了根据本公开实施例的计算机设备的架构。
具体实施方式
为了使得本公开的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本公开的示例实施例。在附图中,相同的参考标号自始至终表示相同的元件。应当理解:这里描述的实施例仅仅是说明性的,而不应被解释为限制本公开的范围。
首先,参照图1来描述一个游戏的游戏助手服务器和游戏服务器之间传输会话消息的常规的系统架构。图1是游戏助手服务器和游戏服务器之间传输会话消息的常规的系统架构的示意图。如图1所示,该系统架构可以包括游戏助手服务器120、互娱数据接口平台(Ieod Data Interface Platform,IDIP)130以及游戏服务器140。游戏服务器140可以运行游戏并且在游戏的运行过程中提供会话功能,而游戏助手服务器120可以运行游戏相关的会话应用,因此,游戏助手服务器120和游戏服务器140之间可以传输会话消息。在图1的系统架构中,游戏助手服务器120和游戏服务器140之间可以通过IDIP130传输会话消息。具体地,游戏助手服务器120可以将第一会话消息发送给IDIP 130,然后IDIP 130可以将所接收的第一会话消息发送给游戏服务器140。此外,游戏服务器140可以向游戏助手服务器120发送应答上述第一会话消息的第二会话消息。然而,游戏服务器140不会主动地将该第二会话消息发送给IDIP 130,而是被动地将该第二会话消息发送给IDIP 130。例如,当游戏助手服务器120向IDIP 130定时轮询时,IDIP 130可以向游戏服务器140定时轮询。当IDIP 130轮询到第二会话消息时,游戏服务器140可以将该第二会话消息发送给IDIP 130,IDIP 130可以将所接收的第二会话消息发送给游戏助手服务器120。
此外,该系统架构还可以包括游戏助手服务器的客户端110(例如,安装了游戏助手的客户端,诸如智能手机、计算机、笔记本等),使得游戏助手服务器120要传输给游戏服务器140的会话消息可以来自游戏助手服务器的客户端110,以及使得游戏服务器140要传输给游戏助手服务器120的会话消息可以到达游戏助手服务器的客户端110。
此外,该系统架构还可以包括游戏服务器的客户端150(例如,安装了游戏的客户端,诸如智能手机、计算机、笔记本等),使得游戏助手服务器120要传输给游戏服务器140的会话消息可以到达游戏服务器的客户端150,以及使得游戏服务器140要传输给游戏助手服务器120的会话消息可以来自游戏服务器的客户端150。
因此,游戏助手服务器和游戏服务器根据图1所示的常规的系统架构传输会话消息时,IDIP可以充当游戏助手服务器和游戏服务器之间的中转服务器。在IDIP为游戏助手服务器和游戏服务器中转会话消息的过程中,IDIP只能提供单向访问接口,即IDIP可以实时地向游戏服务器发送会话消息,而不能实时地从游戏服务器接收会话消息。IDIP的单向访问接口具有较多的弊端。
例如,由于IDIP的单向访问接口不能实时地从游戏服务器接收游戏服务器要传输给游戏助手服务器的会话消息,因此,游戏助手服务器不能实时地接收该会话消息,使得游戏助手服务器的客户端不能实时地接收游戏服务器的客户端向其发送的会话消息。此外,游戏助手服务器和游戏服务器之间要传输的数据可能很多,而单个接口能够传输的数据量有限,使得通过IDIP进行的数据传输具有明显的瓶颈。此外,游戏助手服务器向IDIP轮询以及IDIP向游戏服务器轮询也带来了大量的流量请求。如果减少轮询的次数,会导致数据的非实时传输;而如果增加轮询的次数,会给游戏服务器带来并发压力。
此外,由于通过IDIP无法实现数据的实时传输,因此,游戏服务器需要存储要传输给游戏助手服务器的数据,以便IDIP向游戏服务器轮询时游戏服务器读取该数据并将该数据发送给IDIP。这造成了游戏服务器的存储空间的浪费,并且增加了轮询的分页逻辑的开发成本。
此外,某些游戏服务器可能不具备与IDIP的单向访问接口通信的接口。如果为每个游戏服务器实现与IDIP的单向访问接口通信的接口,实现成本会相当高。
另外,游戏助手服务器运行的会话应用可以适用于多个游戏。因此,游戏助手服务器可以处理基于多个游戏的会话消息。基于每个游戏的会话消息可以是在每个游戏的运行过程中产生的会话消息。然而,由于各个游戏的数据结构不同,因此,基于各个游戏的会话消息的格式不同。例如,一个游戏的会话消息可以包括发件人信息、收件人信息和消息体,而另一游戏的会话消息可以包括发件人信息、收件人信息、发送时间和消息体。因此,游戏助手服务器在处理各个游戏的会话消息时,需要针对各个游戏的会话消息进行个性化处理而不是通用处理,从而增加了处理的复杂度。
为了解决上述问题,本公开提出了一个应用的两类服务器执行的数据传输方法和相应的服务器、计算机可读存储介质。这里所描述的“应用”可以是游戏应用、视频应用、音频应用、社交通讯应用、新闻阅读应用或购物应用等中的任何一种。这里所描述的“两类服务器”可以是第一服务器和第二服务器,其中第一服务器用于运行至少两个应用的辅助应用,第二服务器用于运行所述至少两个应用中的一个应用。辅助应用可以用于实现所述至少两个应用的部分功能,例如,会话功能。在“应用”为游戏的示例中,辅助应用可以为上面所描述的游戏助手,第一服务器可以是上面所描述的游戏助手服务器,第二服务器可以是上面所描述的游戏服务器。
在本公开中,第一服务器和第二服务器不通过IDIP进行数据传输,而是第一服务器和第二服务器直接进行数据传输。通过本公开的技术方案,第一服务器能够实时地与第二服务器进行数据传输,而且第一服务器和第二服务器之间要传输的数据量不受限制,使得第一服务器和第二服务器之间的数据传输不存在明显的瓶颈。此外,由于免去了复杂的轮询过程,避免了第二服务器进行复杂的存储和读取操作。此外,在本公开中,设计了针对各个应用的会话消息的兼容格式,从而降低了会话消息的处理复杂度。
下面,将参照图2来描述根据本公开实施例的第一服务器和第二服务器之间进行数据传输的系统架构。图2是根据本公开实施例的第一服务器和第二服务器之间进行数据传输的系统架构的示意图。如图2所示,该系统架构可以包括第一服务器220以及第二服务器230。第一服务器220可以适用于多个应用,第二服务器230可以适用于多个应用中的一个应用。在“应用”为游戏的示例中,第一服务器220可以是上面所描述的游戏助手服务器,第二服务器230可以是上面所描述的游戏服务器。在图2的系统架构中,第一服务器220和第二服务器230可以直接进行数据传输(例如,会话数据包的传输)。通过该系统架构,减少了IDIP的中转,使得第一服务器和第二服务器之间能够建立长连接,以便第一服务器和第二服务器进行实时的数据传输。
此外,该系统架构还可以包括第一服务器的客户端210,使得第一服务器220要传输给第二服务器230的会话数据包(也可以称为指令)可以来自第一服务器的客户端210,以及使得第二服务器230要传输给第一服务器220的会话数据包可以到达第一服务器的客户端210。
此外,该系统架构还可以包括第二服务器的客户端240,使得第一服务器220要传输给第二服务器230的会话数据包可以到达第二服务器的客户端240,以及使得第二服务器230要传输给第一服务器220的会话数据包可以来自第二服务器的客户端240。
需要认识到,尽管在图2中示出了第一服务器的一个客户端、一个第一服务器、一个第二服务器以及第二服务器的一个客户端,但这只是示意性的。该系统架构可以包括第一服务器的多个客户端、和/或多个第一服务器、和/或多个第二服务器、和/或第二服务器的多个客户端。此外,第一服务器的客户端还可以充当第二服务器的客户端,以及第二服务器的客户端也可以充当第一服务器的客户端。
接下来,将参照图3来描述根据本公开实施例的由第一服务器执行的数据传输方法。具体地,将参照图3来描述根据本公开实施例的第一服务器从第二服务器接收会话数据包的数据传输方法。图3是根据本公开实施例的由第一服务器执行的方法300的流程图。如图3所示,在步骤S301中,第一服务器与第二服务器建立长连接。在“应用”为游戏的示例中,第一服务器可以是上面所描述的游戏助手服务器,第二服务器可以是上面所描述的游戏服务器。
根据本公开的一个示例,第一服务器与第二服务器之间的长连接可以指第一服务器和第二服务器初始建立连接后并保持,后续通过该连接传输所有的数据。具体地,第一服务器可以从第二服务器接收连接请求和第二服务器的身份标识信息,以及根据所接收的连接请求与第二服务器建立连接,并标记第二服务器的身份,从而建立第一服务器和第二服务器之间的长连接。在该示例中,第二服务器可以作为第一服务器的客户端而主动连接第一服务器。这种配置相对于第一服务器作为第二服务器的客户端而主动连接第二服务器的配置,具有优势。这是因为,对于多个应用,可以部署一个公共的第一服务器和与多个应用分别相对应的多个第二服务器。如果第一服务器作为第二服务器的服务器,那只需在第一服务器侧开发其作为多个第二服务器的公共服务器的功能。然而,如果第二服务器作为第一服务器的服务器,那么需要在每个第二服务器侧开发其作为第一服务器的服务器的功能,造成了重复开发。因此,采用本公开的这种配置能够避免重复开发的问题。
此外,根据本公开的一个示例,第一服务器还可以与上述第二服务器之外的其他第二服务器建立长连接。例如,第一服务器可以同时与多个第二服务器建立长连接。在该示例中,第一服务器可以同时与用于一个应用的多个第二服务器建立长连接。用于一个应用的多个第二服务器可以是位于多个地理位置的第二服务器。例如,用于一个应用的三个第二服务器可以是北京区域的第二服务器、上海区域的第二服务器和深圳区域的第二服务器。通过该示例,基于该应用的数据包可以通过多个第二服务器中的任何一个第二服务器,而被传输到第一服务器,从而避免了第二服务器和第一服务器之间的单点通信,提高了通信链路的可靠性。图4示出了根据本公开实施例的第一服务器和第二服务器之间的连接方式的示意图。如图4所示,第一服务器410可以与第二服务器420、第二服务器430、第二服务器440均建立连接,以及第一服务器450可以与第二服务器420、第二服务器430、第二服务器440均建立连接。
返回图3,在步骤S302中,第一服务器从第二服务器接收会话数据包。在本公开中,该会话数据包可以是第二服务器通过其与所述第一服务器之间的且与所述应用对应的长连接发送的。
在本公开中,会话数据包可以遵循传输控制协议(Transmission ControlProtocol,TCP)。TCP可以规定数据包的头部格式和数据包的包体部分的格式(也可以称为数据包的包体部分的协议)。因此,会话数据包可以包括头部和应用的会话消息,并且,会话数据包的头部可以遵循TCP的头部格式,应用的会话消息可以遵循TCP的数据包的包体部分的格式。此外,在本公开中,应用的会话消息遵循用于至少两个应用的兼容格式,该兼容格式规定了预定类型的字段以使第一服务器能够兼容来自至少两个第二服务器的会话消息从而与至少两个第二服务器互通会话消息。
头部格式可以指示数据包的头部中的各个字段、或各个字段的长度等中的一个或多个。例如,头部格式可以指示头部具有“版本号”字段、“命令字”字段、“数据包类型”字段、“数据包的包体编码方式”字段、“包体部分的格式”字段、“数据包标识”字段以及“数据包的包体长度X”字段。“版本号”字段可以表示协议的版本,“命令字”字段可以表示数据包的命令,“数据包类型”字段可以表示该数据包属于主动发起的数据包或者接收后的响应包,“数据包的包体编码方式”字段可以表示数据包的包体部分的编码方式,“包体部分的格式”字段可以表示包体部分的数据封装格式,“数据包标识”字段可以表示发送数据包的唯一标识以便接收方按照该标识直接返回响应数据包,以及“数据包的包体长度X”字段表示包体部分所包含的字节的数量。此外,头部格式还可以指示各个字段的长度。例如,头部格式可以指示各个字段所包含的字节的数量(或比特的数量)。例如,头部格式可以指示“版本号”字段所包含的字节的数量为第一数量。
此外,头部格式中的各个字段可以按照网络字节序二进制组装。在这种情形下,各个字段中的每个字段的每个比特的取值可以为0或1。因此,各个字段中的每个字段可以具有多种取值。例如,当“版本号”字段的长度为2个字节时,“版本号”字段可以有4种取值。
此外,每个字段的各个取值可以表示每个字段的特定属性。例如,“版本号”字段的取值为1时,“版本号”字段可以表示协议的版本为第一版本。例如,“数据包类型”字段的取值为1时,“数据包类型”字段可以表示第一类型数据包(例如,信息包);以及“数据包类型”字段的取值为2时,“数据包类型”字段可以表示第二类型数据包(例如,响应包)等。例如,“数据包的包体编码方式”字段的取值为1时,“数据包的包体编码方式”字段可以表示第一编码方式(例如,二进制流);“数据包的包体编码方式”字段的取值为2时,“数据包的包体编码方式”字段可以表示第二编码方式(例如,UTF8明文)。例如,“包体部分的格式”字段的取值为1时,“包体部分的格式”字段可以表示第一封装格式(例如json);“包体部分的格式”字段的取值为2时,“包体部分的格式”字段可以表示第二封装格式(例如jce);“包体部分的格式”字段的取值为3时,“包体部分的格式”字段可以表示第三封装格式(例如protobuf)。
上述数据包的包体部分的格式可以是用于至少两个应用的兼容格式。该兼容格式可以规定应用的会话消息所包括的预定类型的字段。例如,该兼容格式可以规定应用的会话消息至少包括该应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识。又例如,该兼容格式还可以规定应用的会话消息还包括目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式(例如,文本、图像、视频、音频等)、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识等。
在应用为游戏的示例中,上述预定类型的字段可以包括游戏标识的字段、在游戏运行过程中产生的会话消息体的字段、会话消息的目的客户端的标识的字段、目的服务器所处的地理区域的标识的字段、目的服务器的标识的字段、会话消息的源客户端的标识的字段、会话消息的格式的字段、会话消息的标识的字段、会话消息的发送时间的字段、以及会话消息的来源的标识的字段,其中游戏标识的字段表示游戏的标识、在游戏运行过程中产生的会话消息体的字段表示在游戏运行过程中产生的会话消息体、会话消息的目的客户端的标识的字段表示会话消息的目的客户端的标识、目的服务器所处的地理区域的标识的字段表示目的服务器所处的地理区域的标识、目的服务器的标识的字段表示目的服务器的标识、会话消息的源客户端的标识的字段表示会话消息的源客户端的标识、会话消息的格式的字段表示会话消息的格式、会话消息的标识的字段表示会话消息的标识、会话消息的发送时间的字段表示会话消息的发送时间、以及会话消息的来源的标识的字段表示会话消息的来源的标识。因此,游戏的会话消息可以包括游戏的标识、在所述游戏运行过程中产生的会话消息体、会话消息的目的客户端的标识、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识。
例如,游戏的会话消息可以包括游戏的标识(例如,游戏的ID)、会话消息体、接收方的游戏角色的标识信息(例如,接收方的游戏角色的ID)、游戏服务器所在地理位置的标识信息(例如,游戏服务器所在地理位置的ID)、游戏服务器的标识信息(例如,游戏服务器的ID)、发送方的游戏角色的标识信息(例如,发送方的游戏角色的ID)、数据包的格式(例如文本)、会话消息的标识信息(例如,会话消息的ID)、发送时间(例如,北京时间)、和会话消息的来源的类别等。
下面给出用于至少两个游戏的会话消息的兼容格式的示例代码。
Figure BDA0002040052100000141
Figure BDA0002040052100000151
需要认识到,在游戏的运行过程中产生的会话消息不限于上述信息。在游戏的运行过程中产生的会话消息还可以包括聊天表情等。
通过上述用于多个应用的兼容格式,第一服务器在处理各个应用的会话消息时,可以对各个应用的会话消息进行通用处理,从而降低了处理的复杂度,适配了各个应用。在“应用”为游戏的示例中,通过上述针对各个游戏的会话消息的兼容格式,使得游戏助手服务器在处理各个游戏的会话消息时,可以对各个游戏的会话消息进行通用处理,从而降低了处理的复杂度,兼容了不同游戏的数据结构特点,适配了不同的游戏,节省了开发成本。此外,通过该兼容格式,游戏助手服务器和游戏服务器能够形成一个稳定可靠的通信系统,以降低游戏服务器接入不稳定、不可靠的通信系统的风险。
图5示出了根据本公开实施例的遵循TCP的示例数据包的示意图。如图5所示,数据包包括头部和包体部分。头部包括18个字节,其中第1-2个字节组成“版本号”字段,第3-4个字节组成“命令字”字段,第5-6个字节组成“数据包类型”字段,第7-8个字节组成“数据包的包体编码方式”字段,第9-10个字节组成“包体部分的格式”字段,第11-14个字节组成“数据包标识”字段,以及第15-18个字节组成“数据包的包体长度X”字段。包体部分包括X个字节,用于承载实际要传输的数据。在“应用”为游戏的示例中,包体部分可以用于承载上面所描述的游戏的会话消息。
在步骤S302之后,第一服务器可以将会话数据包发送给第一服务器的客户端。具体地,在步骤S303中,第一服务器根据会话消息的目的客户端的标识,将所述会话数据包发送给目的客户端。在“应用”为游戏的示例中,在步骤S303中,游戏助手服务器根据会话消息的目的客户端的标识,将游戏的会话数据包发送给目的客户端。
根据本公开的一个示例,在步骤S303中,第一服务器可以首先解析会话数据包,以获知会话消息的目的客户端的标识,从而确定接收会话数据包的目的客户端。然后,第一服务器可以根据会话数据包进行相应的业务逻辑处理。然后,第一服务器可以将会话数据包推送给所确定的目的客户端。
上文已经结合图3描述了第一服务器从第二服务器接收会话数据包的数据传输方法,但本公开不限于此。第一服务器还可以向第二服务器发送另一会话数据包。下面将参照图6来描述根据本公开实施例的第一服务器向第二服务器发送会话数据包的数据传输方法。图6是根据本公开实施例的由第一服务器执行的另一方法600的流程图。如图6所示,在步骤S601中,第一服务器确定会话数据包,其中所述会话数据包是根据应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识。
根据本公开的一个示例,第一服务器向第二服务器发送的会话数据包可以由第一服务器的客户端生成。具体地,在步骤S601中,第一服务器可以从第一服务器的客户端接收会话数据包,其中所述会话数据包是所述第一服务器的客户端根据应用的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成的。
在该示例中,第一服务器的客户端可以根据第一服务器的客户端的用户输入的操作来生成应用的会话消息。此外,第一服务器的客户端可以向第一服务器发送请求,以请求在第一服务器中存储的目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识。然后,第一服务器的客户端可以根据应用的会话消息,以及从第一服务器请求的目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包。
例如,第一服务器的客户端可以根据应用的会话消息、以及从第一服务器请求的目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包的包体部分,并且根据上面所描述的TCP格式生成会话数据包的头部,然后将所生成的会话数据包的包体部分和会话数据包的头部封装成会话数据包。
根据本公开的另一示例,第一服务器向第二服务器发送的会话数据包可以由第一服务器生成。具体地,在步骤S601中,第一服务器可以从第一服务器的客户端接收应用的会话消息;以及至少根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识以及会话消息的标识生成会话数据包。例如,第一服务器可以根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包。
在该示例中,第一服务器的客户端可以根据第一服务器的客户端的用户输入的操作来生成应用的会话消息。然后,第一服务器的客户端可以将所生成的应用的会话消息发送给第一服务器。然后,第一服务器可以根据接收到的应用的会话消息,以及在第一服务器中存储的目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包。
例如,第一服务器可以根据接收到的应用的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包的包体部分,并且根据上面所描述的TCP格式生成会话数据包的头部,然后将所生成的会话数据包的包体部分和会话数据包的头部封装成会话数据包。
然后,在步骤S602中,第一服务器根据所述应用的标识确定第一服务器与第二服务器之间的且与所述应用对应的长连接。
根据上文的描述,用于一个应用的第二服务器可以是一个或多个。当用于一个应用的第二服务器是一个时,对于多个应用,第一服务器可以与用于多个应用中每个应用的第二服务器建立长连接。在该情形中,第一服务器可以根据应用的标识确定与该应用对应的第二服务器,从而确定第一服务器与第二服务器之间的且与所述应用对应的长连接。例如,第一服务器可以与用于第一应用的第二服务器、用于第二应用的第二服务器、以及用于第三应用的第二服务器分别建立长连接。然后,在步骤S602中,第一服务器可以根据应用的标识(例如,第一应用)确定与该应用对应的第二服务器(例如,用于第一应用的第二服务器),从而确定第一服务器与第二服务器之间的且与所述应用对应的长连接。
在“应用”为游戏的示例中,用于一个游戏的游戏服务器可以是一个或多个。当用于一个游戏的游戏服务器是一个时,对于多个游戏,游戏助手服务器可以与用于多个游戏中每个游戏的游戏服务器建立长连接。在该情形中,游戏助手服务器可以根据游戏的标识确定与该游戏对应的游戏服务器,从而确定游戏助手服务器与游戏服务器之间的且与所述游戏对应的长连接。例如,游戏助手服务器可以与用于第一游戏的游戏服务器、用于第二游戏的游戏服务器、以及用于第三游戏的游戏服务器分别建立长连接。然后,在步骤S602中,游戏助手服务器可以根据游戏的标识(例如,第一游戏)确定与该游戏对应的游戏服务器(例如,用于第一游戏的游戏服务器),从而确定游戏助手服务器与游戏服务器之间的且与所述游戏对应的长连接。
此外,当用于一个应用的第二服务器是多个时,对于多个应用,第一服务器可以与用于多个应用中每个应用的多个第二服务器建立长连接。在该情形中,第一服务器可以根据应用的标识确定与该应用对应的多个第二服务器,从而确定第一服务器与该多个第二服务器之间的且与所述应用对应的多个长连接。例如,第一服务器可以与用于第一应用的多个第二服务器、用于第二应用的多个第二服务器、以及用于第三应用的多个第二服务器分别建立长连接。然后,在步骤S602中,第一服务器可以根据应用的标识(例如,第一应用)确定与该应用对应的多个第二服务器(例如,用于第一应用的多个第二服务器),从而确定第一服务器与多个第二服务器之间的且与所述应用对应的多个长连接。
在“应用”为游戏的示例中,当用于一个游戏的游戏服务器是多个时,对于多个游戏,游戏助手服务器可以与用于多个游戏中每个游戏的多个游戏服务器建立长连接。在该情形中,游戏助手服务器可以根据游戏的标识确定与该游戏对应的多个游戏服务器,从而确定游戏助手服务器与该多个游戏服务器之间的且与所述游戏对应的多个长连接。例如,游戏助手服务器可以与用于第一游戏的多个游戏服务器、用于第二游戏的多个游戏服务器、以及用于第三游戏的多个游戏服务器分别建立长连接。然后,在步骤S602中,游戏助手服务器可以根据游戏的标识(例如,第一游戏)确定与该游戏对应的多个游戏服务器(例如,用于第一游戏的多个游戏服务器),从而确定第一服务器与多个第二服务器之间的且与所述游戏对应的多个长连接。
返回图6,在步骤S603中,第一服务器通过与所述应用对应的长连接,将所述会话数据包发送至相应的第二服务器,以便该第二服务器根据所述会话消息的目的客户端的标识将所述会话数据包发送给目的客户端。
当用于一个应用的第二服务器是一个时,对于多个应用,第一服务器在步骤S602中,确定了第一服务器与第二服务器之间的且与所述应用对应的长连接。相应地,在步骤S603中,第一服务器可以使用步骤S602中确定的第一服务器与第二服务器之间的且与所述应用对应的长连接,将会话数据包发送至相应的第二服务器。例如,在步骤S602中,第一服务器确定了第一服务器与第二服务器之间的且与第一应用对应的长连接,则在步骤S603中,第一服务器可以使用该长连接,将会话数据包发送至与第一应用对应的第二服务器。
在“应用”为游戏的示例中,当用于一个游戏的游戏服务器是一个时,对于多个游戏,游戏助手服务器在步骤S602中,确定了游戏助手服务器与游戏服务器之间的且与所述游戏对应的长连接。相应地,在步骤S603中,游戏助手服务器可以使用步骤S602中确定的游戏助手服务器与游戏服务器之间的且与所述游戏对应的长连接,将会话数据包发送至相应的游戏服务器。例如,在步骤S602中,游戏助手服务器确定了游戏助手服务器与游戏服务器之间的且与第一游戏对应的长连接,则在步骤S603中,游戏助手服务器可以使用该长连接,将会话数据包发送至与第一游戏对应的游戏服务器。
此外,当用于一个应用的第二服务器是多个时,对于多个应用,第一服务器在步骤S602中,确定了第一服务器与多个第二服务器之间的且与所述应用对应的多个长连接。相应地,在步骤S603中,第一服务器可以从在步骤S602中确定的第一服务器与多个第二服务器之间的且与所述应用对应的多个长连接中任意选择一个长连接,然后通过该选择的长连接将会话数据包发送至相应的第二服务器。例如,在步骤S602中,第一服务器确定了第一服务器与多个第二服务器之间的且与所述第一应用对应的多个长连接,则在步骤S603中,第一服务器可以从在步骤S602中确定的第一服务器与多个第二服务器之间的且与第一应用对应的多个长连接中任意选择一个长连接,然后通过该选择的长连接将会话数据包发送至相应的第二服务器。
在“应用”为游戏的示例中,当用于一个游戏的游戏服务器是多个时,对于多个游戏,游戏助手服务器在步骤S602中,确定了游戏助手服务器与多个游戏服务器之间的且与所述游戏对应的多个长连接。相应地,在步骤S603中,游戏助手服务器可以从在步骤S602中确定的游戏助手服务器与多个游戏服务器之间的且与所述游戏对应的多个长连接中任意选择一个长连接,然后通过该选择的长连接将会话数据包发送至相应的游戏服务器。例如,在步骤S602中,游戏助手服务器确定了游戏助手服务器与多个游戏服务器之间的且与所述第一游戏对应的多个长连接,则在步骤S603中,游戏助手服务器从在步骤S602中确定的游戏助手服务器与多个游戏服务器之间的且与第一游戏对应的多个长连接中任意选择一个长连接,然后通过该选择的长连接将会话数据包发送至相应的游戏服务器。
此外,第二服务器从第一服务器接收到会话数据包后,可以根据所述会话消息的目的客户端的标识将所述会话数据包发送给目的客户端。这个过程和第一服务器从第二服务器接收到会话数据包后根据所述会话消息的目的客户端的标识将所述会话数据包发送给目的客户端的过程是类似的,在此不再赘述。
通过本实施例的数据传输方法,第一服务器和第二服务器可以根据应用的标识来确定二者之间的且与应用对应的长连接,从而通过该长连接互传会话数据包,使得第一服务器和第二服务器之间直接进行数据传输,并且第一服务器和第二服务器之间能够实时地进行数据传输,以及第一服务器和第二服务器之间要传输的数据量不受限制。此外,由于第一服务器和第二服务器之间通过长连接互传会话数据包而无需通过IDIP轮询会话数据包,因此,免去了复杂的轮询过程,避免了第二服务器进行复杂的存储和读取操作。此外,第一服务器和第二服务器之间的长连接实现了第一服务器的客户端和第二服务器的客户端之间的关系链互通和数据互通,从而丰富了第一服务器的客户端上安装的辅助应用的各种辅助场景。此外,第一服务器和第二服务器之间互传的会话数据包包括特定类型的信息,使得第一服务器可以兼容来自多个第二服务器的会话数据包,从而使得第一服务器能够和多个第二服务器中的每个第二服务器互通会话。
接下来,将参照图7来描述根据本公开实施例的图3所示的与由第一服务器执行的数据传输方法相对应的由第二服务器执行的数据传输方法。图7是根据本公开实施例的由第二服务器执行的方法700的流程图。此外,由于根据本公开实施例的方法700的具体细节与在上文中参照图6描述的细节相同,因此在这里为了避免重复而省略对相同细节的重复描述。如图7所示,在步骤S701中,第二服务器与第一服务器建立长连接。在“应用”为游戏的示例中,第一服务器可以是上面所描述的游戏助手服务器,第二服务器可以是上面所描述的游戏服务器。
根据本公开的一个示例,第二服务器与第一服务器之间的长连接可以指第二服务器和第一服务器初始建立连接后并保持,后续通过该连接传输所有的数据。具体地,第二服务器可以向第一服务器发送连接请求和第二服务器的身份标识信息,以便所述第一服务器根据所接收的连接请求与所述第二服务器建立连接,并标记第二服务器的身份,从而建立第一服务器和第二服务器之间的长连接。在该示例中,第二服务器可以作为第一服务器的客户端而主动连接第一服务器。这种配置相对于第一服务器作为第二服务器的客户端而主动连接第二服务器的配置,具有优势。这是因为,对于多个应用,可以部署一个公共的第一服务器和与多个应用相对应的多个第二服务器。如果第一服务器作为第二服务器的服务器,那只需在第一服务器侧开发其作为多个第二服务器的公共服务器的功能。然而,如果第二服务器作为第一服务器的服务器,那么需要在每个第二服务器侧开发其作为第一服务器的服务器的功能,造成了重复开发。因此,采用本公开的这种配置能够避免重复开发的问题。
此外,根据本公开的一个示例,第二服务器还可以与上述第一服务器之外的其他第一服务器建立持续的连接。例如,第二服务器可以同时与多个第一服务器建立长连接。例如,第二服务器可以根据第一服务器列表(例如,通过域名服务或者L5配置获取的第一服务器列表),遍历第一服务器列表中的各个第一服务器,并且与第一服务器列表中的各个第一服务器分别建立长连接。通过该示例,第二服务器可以向多个第一服务器中的任何一个第一服务器传输数据包,从而避免了第二服务器和第一服务器之间的单点通信,提高了通信链路的可靠性。如图4所示,第二服务器420可以与第一服务器410、第一服务器450均建立连接,第二服务器430也可以与第一服务器410、第一服务器450均建立连接,第二服务器440也可以与第一服务器410、第一服务器450均建立连接。
返回图7,在步骤S702中,第二服务器确定会话数据包,其中所述会话数据包是根据应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识。
根据本公开的一个示例,第二服务器向第一服务器发送的会话数据包可以由第二服务器的客户端生成。具体地,在步骤S702中,第二服务器可以从第二服务器的客户端接收会话数据包,其中所述会话数据包是所述第二服务器的客户端根据应用的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成的。
在该示例中,第二服务器的客户端可以根据第二服务器的客户端的用户输入的操作来生成应用的会话消息。此外,第二服务器的客户端可以向第二服务器发送请求,以请求在第二服务器中存储的目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识。然后,第二服务器的客户端可以根据应用的会话消息,以及从第二服务器请求的目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包。
例如,第二服务器的客户端可以根据应用的会话消息、以及从第二服务器请求的目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包的包体部分,并且根据上面所描述的TCP格式生成会话数据包的头部,然后将所生成的会话数据包的包体部分和会话数据包的头部封装成会话数据包。
根据本公开的另一示例,第二服务器向第一服务器发送的会话数据包可以由第二服务器生成。具体地,在步骤S702中,第二服务器可以从第二服务器的客户端接收应用的会话消息;以及至少根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识以及会话消息的标识生成会话数据包。例如,第二服务器可以根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包。
在该示例中,第二服务器的客户端可以根据第二服务器的客户端的用户输入的操作来生成应用的会话消息。然后,第二服务器的客户端可以将所生成的应用的会话消息发送给第二服务器。然后,第二服务器可以根据接收到的应用的会话消息,以及在第二服务器中存储的目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包。
例如,第二服务器可以根据接收到的应用的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包的包体部分,并且根据上面所描述的TCP格式生成会话数据包的头部,然后将所生成的会话数据包的包体部分和会话数据包的头部封装成会话数据包。
然后,在步骤S703中,第二服务器根据所述应用的标识确定第一服务器与第二服务器之间的且与所述应用对应的长连接。
根据上文的描述,第二服务器可以与一个或多个第一服务器建立长连接。当第二服务器与一个第一服务器建立长连接时,在步骤S703中,第二服务器可以将其与唯一的第一服务器之间的长连接确定为第一服务器与第二服务器之间的且与所述应用对应的长连接。
在“应用”为游戏的示例中,当游戏服务器与一个游戏助手服务器建立长连接时,在步骤S703中,游戏服务器可以将其与唯一的游戏助手服务器之间的长连接确定为游戏助手服务器与游戏服务器之间的且与所述游戏对应的长连接。
此外,当第二服务器与多个第一服务器建立长连接时,在步骤S703中,第二服务器可以根据所述应用的标识确定第二服务器和多个第一服务器之间的且与所述应用对应的多个长连接。
在“应用”为游戏的示例中,当游戏服务器与多个游戏助手服务器建立长连接时,游戏服务器可以根据所述游戏的标识确定游戏服务器和多个游戏助手服务器之间的且与所述游戏对应的多个长连接。
然后,在步骤S704中,第二服务器通过与所述应用对应的长连接,将所述会话数据包发送至相应的第一服务器,以便该第一服务器根据所述会话消息的目的客户端的标识将所述会话数据包发送给目的客户端。
当第二服务器与一个第一服务器建立长连接时,第二服务器在步骤S703中将其与唯一的第一服务器之间的长连接确定为第一服务器与第二服务器之间的且与所述应用对应的长连接。相应地,在步骤S704中,第一服务器可以使用步骤S703中确定的第一服务器与第二服务器之间的且与所述应用对应的长连接,将会话数据包发送至相应的第一服务器。
在“应用”为游戏的示例中,当游戏服务器与一个游戏助手服务器建立长连接时,游戏服务器在步骤S703中将其与唯一的游戏助手服务器之间的长连接确定为游戏助手服务器与游戏服务器之间的且与所述游戏对应的长连接。相应地,在步骤S704中,游戏助手服务器可以使用步骤S703中确定的游戏助手服务器与游戏服务器之间的且与所述游戏对应的长连接,将会话数据包发送至相应的游戏助手服务器。
此外,当第二服务器与多个第一服务器建立长连接时,第二服务器在步骤S703中,确定了第二服务器和多个第一服务器之间的且与所述应用对应的多个长连接。相应地,在步骤S704中,第二服务器可以从在步骤S703中确定的第二服务器和多个第一服务器之间的且与所述应用对应的多个长连接中任意选择一个长连接,然后通过该选择的长连接将会话数据包发送至相应的第一服务器。
在“应用”为游戏的示例中,当游戏服务器与多个游戏助手服务器建立长连接时,游戏服务器在步骤S703中,确定了游戏服务器和多个游戏助手服务器之间的且与所述游戏对应的多个长连接。相应地,在步骤S704中,游戏服务器可以从在步骤S703中确定的游戏服务器和多个游戏助手服务器之间的且与所述游戏对应的多个长连接中任意选择一个长连接,然后通过该选择的长连接将会话数据包发送至相应的游戏助手服务器。
上文已经结合图7描述了第二服务器向第一服务器发送会话数据包的数据传输方法,但本公开不限于此。第二服务器还可以从第一服务器接收另一会话数据包。下面将参照图8来描述根据本公开实施例的第二服务器从第一服务器接收会话数据包的数据传输方法。图8是根据本公开实施例的由第二服务器执行的另一方法800的流程图。此外,由于根据本公开实施例的方法800的具体细节与在上文中参照图3描述的细节相同,因此在这里为了避免重复而省略对相同细节的重复描述。如图8所示,在步骤S801中,第二服务器从第一服务器接收会话数据包。在本公开中,该会话数据包可以是第一服务器通过其与所述第二服务器之间的且与所述应用对应的长连接发送的。
在本公开中,会话数据包可以遵循上面所描述的TCP。会话数据包可以包括头部和应用的会话消息,并且,应用的会话消息遵循用于至少两个应用的兼容格式,该兼容格式规定了预定类型的字段以使第一服务器能够兼容来自至少两个第二服务器的会话消息从而与至少两个第二服务器互通会话消息。
上述数据包的包体部分的格式可以是用于至少两个应用的兼容格式。该兼容格式可以规定应用的会话消息所包括的预定类型的字段。在应用为游戏的示例中,游戏的会话消息可以包括游戏的标识、在所述游戏运行过程中产生的会话消息体、会话消息的目的客户端的标识、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识。
通过上述用于多个应用的兼容格式,第一服务器在处理各个应用的会话消息时,可以对各个应用的会话消息进行通用处理,从而降低了处理的复杂度,适配了各个应用。在“应用”为游戏的示例中,通过上述针对各个游戏的会话消息的兼容格式,使得游戏助手服务器在处理各个游戏的会话消息时,可以对各个游戏的会话消息进行通用处理,从而降低了处理的复杂度,兼容了不同游戏的数据结构特点,适配了不同的游戏,节省了开发成本。此外,通过该兼容格式,游戏助手服务器和游戏服务器能够形成一个稳定可靠的通信系统,以降低游戏服务器接入不稳定、不可靠的通信系统的风险。
在步骤S801之后,第二服务器可以将会话数据包发送给第二服务器的客户端。具体地,在步骤S801中,第二服务器根据会话消息的目的客户端的标识,将所述会话数据包发送给目的客户端。在“应用”为游戏的示例中,在步骤S802中,游戏服务器根据会话消息的目的客户端的标识,将游戏的会话数据包发送给目的客户端。
根据本公开的一个示例,在步骤S802中,第二服务器可以首先解析会话数据包,以获知会话消息的目的客户端的标识,从而确定接收会话数据包的目的客户端。然后,第二服务器可以根据会话数据包进行相应的业务逻辑处理。然后,第二服务器可以将会话数据包推送给所确定的目的客户端。
通过本实施例的数据传输方法,第二服务器和第一服务器可以根据应用的标识来确定二者之间的且与应用对应的长连接,从而通过该长连接互传会话数据包,使得第二服务器和第一服务器之间直接进行数据传输,并且第二服务器和第一服务器之间能够实时地进行数据传输,以及第二服务器和第一服务器之间要传输的数据量不受限制。此外,由于第二服务器和第一服务器之间通过长连接互传会话数据包而无需通过IDIP轮询会话数据包,因此,免去了复杂的轮询过程,避免了第二服务器进行复杂的存储和读取操作。此外,第二服务器和第一服务器之间的长连接实现了第二服务器的客户端和第一服务器的客户端之间的关系链互通和数据互通,从而丰富了第一服务器的客户端上安装的辅助应用的各种辅助场景。此外,第二服务器和第一服务器之间互传的会话数据包包括特定类型的信息,使得第一服务器可以兼容来自多个第二服务器的会话数据包,从而使得第一服务器能够和多个第二服务器中的每个第二服务器互通会话。
下面结合图9给出第一服务器和第二服务器之间建立长连接以及通过长连接进行数据传输的一个示例。图9是根据本公开实施例的第一服务器和第二服务器之间建立长连接以及通过长连接进行数据传输的示意图。如图9所示,首先,第二服务器启动。在第二服务器启动之后,第二服务器可以与第一服务器建立长连接。具体地,第二服务器可以遍历所配置的一个或多个第一服务器,并与所配置的一个或多个第一服务器分别建立连接,以及向所配置的一个或多个第一服务器发送第二服务器的身份标记,以向第一服务器表示所建立的连接是某游戏的某个区域服务器。相应地,第一服务器标记连接者(即第二服务器)的身份。
然后,第二服务器可以向第一服务器发送会话数据包。具体地,第二服务器可以通过第二服务器与第一服务器之间的且与应用对应的长连接,向第一服务器发送会话数据包。例如,第二服务器可以从所建立的一个或多个连接中选择与应用对应的一个长连接,并通过所选择的长连接将会话数据包发送给第一服务器。
相应地,第一服务器可以从第二服务器接收会话数据包。具体地,第一服务器可以通过第一服务器与第二服务器之间的且与应用对应的长连接,从第二服务器接收会话数据包。此外,第一服务器在接收到会话数据包后,可以对会话数据包进行处理。例如,第一服务器可以根据会话消息的目的客户端的标识,将会话数据包推送给目的客户端。
此外,第一服务器可以向第二服务器发送会话数据包。具体地,第一服务器可以通过第一服务器与第二服务器之间的且与应用对应的长连接,向第二服务器发送会话数据包。具体地,第一服务器可以确定第一服务器与第二服务器之间的且与应用对应的长连接,并通过所确定的连接将会话数据包发送给第二服务器。
相应地,第二服务器可以从第一服务器接收会话数据包。具体地,第二服务器可以通过第二服务器与第一服务器之间的且与应用对应的长连接,从第一服务器接收会话数据包。此外,第二服务器在接收到会话数据包后,可以对会话数据包进行处理。例如,第二服务器可以根据会话消息的目的客户端的标识,将会话数据包推送给目的客户端。
下面结合图10给出第一服务器的客户端和第二服务器的客户端互通聊天的一个示例。图10是根据本公开实施例的第一服务器的客户端和第二服务器的客户端互通聊天的示意图。如图10所示,第一服务器的客户端是安装有王者荣耀游戏助手的客户端,第二服务器的客户端是安装有王者荣耀游戏的客户端。图10的左侧部分示出了王者荣耀游戏助手的聊天界面,右侧部分示出了王者荣耀游戏的聊天界面。如图10所示,第一服务器的客户端的用户“小明”使用王者荣耀游戏助手向第二服务器的客户端的用户“利雄”发送会话消息,以及从第二服务器的客户端的用户“利雄”接收会话消息。相对应的,第二服务器的客户端的用户“利雄”使用王者荣耀游戏内的聊天功能从第一服务器的客户端接收会话消息,以及向第一服务器的客户端的用户“小明”发送会话消息。
以下,参照图11来描述根据本公开实施例的与图3所示的方法对应的第一服务器。图11示出了根据本公开实施例的第一服务器1100的结构示意图。由于第一服务器1100的功能与在上文中参照图3描述的方法的细节相同,因此在这里为了简单起见,省略对相同内容的详细描述。如图11所示,第一服务器1100包括:接收单元1110,被配置为从第二服务器接收会话数据包,其中所述会话数据包是根据应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识,所述会话数据包是所述第二服务器通过其与所述第一服务器之间的且与所述应用对应的长连接发送的;以及发送单元1120,被配置为根据所述会话消息的目的客户端的标识,将所述会话数据包发送给目的客户端。除了这两个单元以外,第一服务器1100还可以包括其他部件,然而,由于这些部件与本公开实施例的内容无关,因此在这里省略其图示和描述。
根据本公开的一个示例,第一服务器1100还可以包括连接建立单元1130,其被配置为与第二服务器建立长连接。在“应用”为游戏的示例中,第一服务器可以是上面所描述的游戏助手服务器,第二服务器可以是上面所描述的游戏服务器。
根据本公开的一个示例,连接建立单元1130与第二服务器之间的长连接可以指第一服务器和第二服务器初始建立连接后并保持,后续通过该连接传输所有的数据。具体地,连接建立单元1130可以从第二服务器接收连接请求和第二服务器的身份标识信息,以及根据所接收的连接请求与第二服务器建立连接,并标记第二服务器的身份,从而建立第一服务器和第二服务器之间的长连接。在该示例中,第二服务器可以作为第一服务器的客户端而主动连接第一服务器。这种配置相对于第一服务器作为第二服务器的客户端而主动连接第二服务器的配置,具有优势。这是因为,对于多个应用,可以部署一个公共的第一服务器和与多个应用分别相对应的多个第二服务器。如果第一服务器作为第二服务器的服务器,那只需在第一服务器侧开发其作为多个第二服务器的公共服务器的功能。然而,如果第二服务器作为第一服务器的服务器,那么需要在每个第二服务器侧开发其作为第一服务器的服务器的功能,造成了重复开发。因此,采用本公开的这种配置能够避免重复开发的问题。
此外,根据本公开的一个示例,连接建立单元1130还可以与上述第二服务器之外的其他第二服务器建立长连接。例如,连接建立单元1130可以同时与多个第二服务器建立长连接。在该示例中,连接建立单元1130可以同时与用于一个应用的多个第二服务器建立长连接。用于一个应用的多个第二服务器可以是位于多个地理位置的第二服务器。例如,用于一个应用的三个第二服务器可以是北京区域的第二服务器、上海区域的第二服务器和深圳区域的第二服务器。通过该示例,基于该应用的数据包可以通过多个第二服务器中的任何一个第二服务器,而被传输到第一服务器,从而避免了第二服务器和第一服务器之间的单点通信,提高了通信链路的可靠性。
在本公开中,会话数据包可以遵循上面所描述的TCP。会话数据包可以包括头部和应用的会话消息,并且,应用的会话消息遵循用于至少两个应用的兼容格式,该兼容格式规定了预定类型的字段以使第一服务器能够兼容来自至少两个第二服务器的会话消息从而与至少两个第二服务器互通会话消息。
此外,在本公开中,发送单元1120可以将接收单元1110接收到的会话数据包发送给第一服务器的客户端。具体地,发送单元1120可以根据会话消息的目的客户端的标识,将所述会话数据包发送给目的客户端。在“应用”为游戏的示例中,游戏助手服务器的发送单元1120可以根据会话消息的目的客户端的标识,将游戏的会话数据包发送给目的客户端。
根据本公开的一个示例,发送单元1120可以首先解析会话数据包,以获知会话消息的目的客户端的标识,从而确定接收会话数据包的目的客户端。然后,发送单元1120可以根据会话数据包进行相应的业务逻辑处理。然后,发送单元1120可以将会话数据包推送给所确定的目的客户端。
通过本实施例的第一服务器,第一服务器和第二服务器可以直接进行数据传输,使得第一服务器能够实时地与第二服务器进行数据传输,并且第一服务器和第二服务器之间要传输的数据量不受限制。此外,由于免去了复杂的轮询过程,避免了第二服务器进行复杂的存储和读取操作。此外,通过本实施例的数据传输方法,实现了第一服务器的客户端和第二服务器的客户端之间的关系链互通和数据互通,从而丰富了第一服务器的客户端上安装的辅助应用的各种辅助场景。此外,第一服务器的客户端和第二服务器的客户端之间的数据互通能够成为第一服务器的客户端上安装的辅助应用的核心功能,深受用户的喜爱,从而提高了用户体验度。
以下,参照图12来描述根据本公开实施例的与图6所示的方法对应的第一服务器。图12示出了根据本公开实施例的第一服务器1200的结构示意图。由于第一服务器1200的功能与在上文中参照图6描述的方法的细节相同,因此在这里为了简单起见,省略对相同内容的详细描述。如图12所示,第一服务器1200包括:第一确定单元1210,被配置为确定会话数据包,其中所述会话数据包是根据应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识;第二确定单元1220,被配置为根据所述应用的标识确定第一服务器与第二服务器之间的且与所述应用对应的长连接;以及发送单元1230,被配置为通过与所述应用对应的长连接,将所述会话数据包发送至相应的第二服务器,以便该第二服务器根据所述会话消息的目的客户端的标识将所述会话数据包发送给目的客户端。除了这三个单元以外,第一服务器1200还可以包括其他部件,然而,由于这些部件与本公开实施例的内容无关,因此在这里省略其图示和描述。
根据本公开的一个示例,发送单元1230向第二服务器发送的会话数据包可以由第一服务器的客户端生成。具体地,第一确定单元1210可以从第一服务器的客户端接收会话数据包,其中所述会话数据包是所述第一服务器的客户端根据应用的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成的。
在该示例中,第一服务器的客户端可以根据第一服务器的客户端的用户输入的操作来生成应用的会话消息。此外,第一服务器的客户端可以向第一确定单元1210发送请求,以请求在第一服务器中存储的目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识。然后,第一服务器的客户端可以根据应用的会话消息,以及从第一服务器请求的目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包。
根据本公开的另一示例,发送单元1230向第二服务器发送的会话数据包可以由第一服务器生成。具体地,第一确定单元1210可以从第一服务器的客户端接收应用的会话消息;以及至少根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识以及会话消息的标识生成会话数据包。例如,第一确定单元1210可以根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包。
在该示例中,第一服务器的客户端可以根据第一服务器的客户端的用户输入的操作来生成应用的会话消息。然后,第一服务器的客户端可以将所生成的应用的会话消息发送给第一确定单元1210。然后,第一确定单元1210可以根据接收到的应用的会话消息,以及在第一服务器中存储的目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包。
根据上文的描述,用于一个应用的第二服务器可以是一个或多个。当用于一个应用的第二服务器是一个时,对于多个应用,第一服务器可以与用于多个应用中每个应用的第二服务器建立长连接。在该情形中,第二确定单元1220可以根据应用的标识确定与该应用对应的第二服务器,从而确定第一服务器与第二服务器之间的且与所述应用对应的长连接。例如,第一服务器可以与用于第一应用的第二服务器、用于第二应用的第二服务器、以及用于第三应用的第二服务器分别建立长连接。然后,第二确定单元1220可以根据应用的标识(例如,第一应用)确定与该应用对应的第二服务器(例如,用于第一应用的第二服务器),从而确定第一服务器与第二服务器之间的且与所述应用对应的长连接。
此外,当用于一个应用的第二服务器是多个时,对于多个应用,第一服务器可以与用于多个应用中每个应用的多个第二服务器建立长连接。在该情形中,第二确定单元1220可以根据应用的标识确定与该应用对应的多个第二服务器,从而确定第一服务器与该多个第二服务器之间的且与所述应用对应的多个长连接。例如,第一服务器可以与用于第一应用的多个第二服务器、用于第二应用的多个第二服务器、以及用于第三应用的多个第二服务器分别建立长连接。然后,第二确定单元1220可以根据应用的标识(例如,第一应用)确定与该应用对应的多个第二服务器(例如,用于第一应用的多个第二服务器),从而确定第一服务器与多个第二服务器之间的且与所述应用对应的多个长连接。
此外,当用于一个应用的第二服务器是一个时,对于多个应用,第二确定单元1220确定了第一服务器与第二服务器之间的且与所述应用对应的长连接。相应地,发送单元1230可以使用第二确定单元1220确定的第一服务器与第二服务器之间的且与所述应用对应的长连接,将会话数据包发送至相应的第二服务器。例如,第二确定单元1220确定了第一服务器与第二服务器之间的且与第一应用对应的长连接,则发送单元1230可以使用该长连接,将会话数据包发送至与第一应用对应的第二服务器。
此外,当用于一个应用的第二服务器是多个时,对于多个应用,第二确定单元1220确定了第一服务器与多个第二服务器之间的且与所述应用对应的多个长连接。相应地,发送单元1230可以从第二确定单元1220确定的第一服务器与多个第二服务器之间的且与所述应用对应的多个长连接中任意选择一个长连接,然后通过该选择的长连接将会话数据包发送至相应的第二服务器。例如,第二确定单元1220确定了第一服务器与多个第二服务器之间的且与所述第一应用对应的多个长连接,则发送单元1230可以从第二确定单元1220确定的第一服务器与多个第二服务器之间的且与第一应用对应的多个长连接中任意选择一个长连接,然后通过该选择的长连接将会话数据包发送至相应的第二服务器。
通过本实施例的第一服务器,第一服务器和第二服务器可以根据应用的标识来确定二者之间的且与应用对应的长连接,从而通过该长连接互传会话数据包,使得第一服务器和第二服务器之间直接进行数据传输,并且第一服务器和第二服务器之间能够实时地进行数据传输,以及第一服务器和第二服务器之间要传输的数据量不受限制。此外,由于第一服务器和第二服务器之间通过长连接互传会话数据包而无需通过IDIP轮询会话数据包,因此,免去了复杂的轮询过程,避免了第二服务器进行复杂的存储和读取操作。此外,第一服务器和第二服务器之间的长连接实现了第一服务器的客户端和第二服务器的客户端之间的关系链互通和数据互通,从而丰富了第一服务器的客户端上安装的辅助应用的各种辅助场景。此外,第一服务器和第二服务器之间互传的会话数据包包括特定类型的信息,使得第一服务器可以兼容来自多个第二服务器的会话数据包,从而使得第一服务器能够和多个第二服务器中的每个第二服务器互通会话。
以下,参照图13来描述根据本公开实施例的与图7所示的方法对应的第二服务器。图13示出了根据本公开实施例的第二服务器1300的结构示意图。由于第二服务器1300的功能与在上文中参照图7描述的方法的细节相同,因此在这里为了简单起见,省略对相同内容的详细描述。如图13所示,第二服务器1300包括:第一确定单元1310,被配置为确定会话数据包,其中所述会话数据包是根据应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识;第二确定单元1320,被配置为根据所述应用的标识确定第二服务器与第一服务器之间的且与所述应用对应的长连接;以及发送单元1330,被配置为通过与所述应用对应的长连接,将所述会话数据包发送至第一服务器,以便该第一服务器根据所述会话消息的目的客户端的标识将所述会话数据包发送给目的客户端。除了这三个单元以外,第二服务器1300还可以包括其他部件,然而,由于这些部件与本公开实施例的内容无关,因此在这里省略其图示和描述。
根据本公开的一个示例,第二服务器1300还可以包括连接建立单元1340,被配置为与第一服务器建立长连接。在“应用”为游戏的示例中,第一服务器可以是上面所描述的游戏助手服务器,第二服务器可以是上面所描述的游戏服务器。
根据本公开的一个示例,第二服务器与第一服务器之间的长连接可以指第二服务器和第一服务器初始建立连接后并保持,后续通过该连接传输所有的数据。具体地,连接建立单元1340可以向第一服务器发送连接请求和第二服务器的身份标识信息,以便所述第一服务器根据所接收的连接请求与所述第二服务器建立连接,并标记第二服务器的身份,从而建立第一服务器和第二服务器之间的长连接。在该示例中,第二服务器可以作为第一服务器的客户端而主动连接第一服务器。这种配置相对于第一服务器作为第二服务器的客户端而主动连接第二服务器的配置,具有优势。这是因为,对于多个应用,可以部署一个公共的第一服务器和与多个应用相对应的多个第二服务器。如果第一服务器作为第二服务器的服务器,那只需在第一服务器侧开发其作为多个第二服务器的公共服务器的功能。然而,如果第二服务器作为第一服务器的服务器,那么需要在每个第二服务器侧开发其作为第一服务器的服务器的功能,造成了重复开发。因此,采用本公开的这种配置能够避免重复开发的问题。
此外,根据本公开的一个示例,连接建立单元1340还可以与上述第一服务器之外的其他第一服务器建立持续的连接。例如,连接建立单元1340可以同时与多个第一服务器建立长连接。例如,连接建立单元1340可以根据第一服务器列表(例如,通过域名服务或者L5配置获取的第一服务器列表),遍历第一服务器列表中的各个第一服务器,并且与第一服务器列表中的各个第一服务器分别建立长连接。通过该示例,第二服务器可以向多个第一服务器中的任何一个第一服务器传输数据包,从而避免了第二服务器和第一服务器之间的单点通信,提高了通信链路的可靠性。
此外,根据本公开的一个示例,发送单元1330向第一服务器发送的会话数据包可以由第二服务器的客户端生成。具体地,第一确定单元1310可以从第二服务器的客户端接收会话数据包,其中所述会话数据包是所述第二服务器的客户端根据应用的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成的。
在该示例中,第二服务器的客户端可以根据第二服务器的客户端的用户输入的操作来生成应用的会话消息。此外,第二服务器的客户端可以向第一确定单元1310发送请求,以请求在第二服务器中存储的目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识。然后,第二服务器的客户端可以根据应用的会话消息,以及从第二服务器请求的目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包。
根据本公开的另一示例,发送单元1330向第一服务器发送的会话数据包可以由第二服务器生成。具体地,第一确定单元1310可以从第二服务器的客户端接收应用的会话消息;以及至少根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识以及会话消息的标识生成会话数据包。例如,第一确定单元1310可以根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包。
在该示例中,第二服务器的客户端可以根据第二服务器的客户端的用户输入的操作来生成应用的会话消息。然后,第二服务器的客户端可以将所生成的应用的会话消息发送给第一确定单元1310。然后,第一确定单元1310可以根据接收到的应用的会话消息,以及在第二服务器中存储的目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包。
此外,根据上文的描述,第二服务器可以与一个或多个第一服务器建立长连接。当第二服务器与一个第一服务器建立长连接时,第二确定单元1320可以将其与唯一的第一服务器之间的长连接确定为第一服务器与第二服务器之间的且与所述应用对应的长连接。
此外,当第二服务器与多个第一服务器建立长连接时,第二确定单元1320可以根据所述应用的标识确定第二服务器和多个第一服务器之间的且与所述应用对应的多个长连接。
此外,当第二服务器与一个第一服务器建立长连接时,第二确定单元1320将其与唯一的第一服务器之间的长连接确定为第一服务器与第二服务器之间的且与所述应用对应的长连接。相应地,发送单元1330可以使用第二确定单元1320确定的第一服务器与第二服务器之间的且与所述应用对应的长连接,将会话数据包发送至相应的第一服务器。
此外,当第二服务器与多个第一服务器建立长连接时,第二确定单元1320确定了第二服务器和多个第一服务器之间的且与所述应用对应的多个长连接。相应地,发送单元1330可以从第二确定单元1320确定的第二服务器和多个第一服务器之间的且与所述应用对应的多个长连接中任意选择一个长连接,然后通过该选择的长连接将会话数据包发送至相应的第一服务器。
通过本实施例的第二服务器,第一服务器和第二服务器可以直接进行数据传输,使得第一服务器能够实时地与第二服务器进行数据传输,并且第一服务器和第二服务器之间要传输的数据量不受限制。此外,由于免去了复杂的轮询过程,避免了第二服务器进行复杂的存储和读取操作。此外,通过本实施例的数据传输方法,实现了第一服务器的客户端和第二服务器的客户端之间的关系链互通和数据互通,从而丰富了第一服务器的客户端上安装的辅助应用的各种辅助场景。此外,第一服务器的客户端和第二服务器的客户端之间的数据互通能够成为第一服务器的客户端上安装的辅助应用的核心功能,深受用户的喜爱,从而提高了用户体验度。
以下,参照图14来描述根据本公开实施例的与图8所示的方法对应的第二服务器。图14示出了根据本公开实施例的第二服务器1400的结构示意图。由于第二服务器1400的功能与在上文中参照图8描述的方法的细节相同,因此在这里为了简单起见,省略对相同内容的详细描述。如图14所示,第二服务器1400包括:接收单元1410,被配置为从第一服务器接收会话数据包,其中所述会话数据包是根据应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识,所述会话数据包是所述第一服务器通过其与所述第二服务器之间的且与所述应用对应的长连接发送的;以及发送单元1420,被配置为根据所述会话消息的目的客户端的标识,将所述会话数据包发送给目的客户端。除了这两个单元以外,第二服务器1400还可以包括其他部件,然而,由于这些部件与本公开实施例的内容无关,因此在这里省略其图示和描述。
在本公开中,会话数据包可以遵循上面所描述的TCP。会话数据包可以包括头部和应用的会话消息,并且,应用的会话消息遵循用于至少两个应用的兼容格式,该兼容格式规定了预定类型的字段以使第一服务器能够兼容来自至少两个第二服务器的会话消息从而与至少两个第二服务器互通会话消息。
此外,发送单元1420可以将会话数据包发送给第二服务器的客户端。具体地,发送单元1420可以根据会话消息的目的客户端的标识,将所述会话数据包发送给目的客户端。根据本公开的一个示例,发送单元1420可以首先解析会话数据包,以获知会话消息的目的客户端的标识,从而确定接收会话数据包的目的客户端。然后,发送单元1420可以根据会话数据包进行相应的业务逻辑处理。然后,发送单元1420可以将会话数据包推送给所确定的目的客户端。
通过本实施例的第二服务器,第二服务器和第一服务器可以根据应用的标识来确定二者之间的且与应用对应的长连接,从而通过该长连接互传会话数据包,使得第二服务器和第一服务器之间直接进行数据传输,并且第二服务器和第一服务器之间能够实时地进行数据传输,以及第二服务器和第一服务器之间要传输的数据量不受限制。此外,由于第二服务器和第一服务器之间通过长连接互传会话数据包而无需通过IDIP轮询会话数据包,因此,免去了复杂的轮询过程,避免了第二服务器进行复杂的存储和读取操作。此外,第二服务器和第一服务器之间的长连接实现了第二服务器的客户端和第一服务器的客户端之间的关系链互通和数据互通,从而丰富了第一服务器的客户端上安装的辅助应用的各种辅助场景。此外,第二服务器和第一服务器之间互传的会话数据包包括特定类型的信息,使得第一服务器可以兼容来自多个第二服务器的会话数据包,从而使得第一服务器能够和多个第二服务器中的每个第二服务器互通会话。
此外,根据本公开实施例的服务器(例如,第一服务器、第二服务器)和/或客户端也可以借助于图15所示的计算设备的架构来实现。图15示出了该计算设备的架构。如图15所示,计算设备1500可以包括总线1510、一个或多个CPU 1520、只读存储器(ROM)1530、随机存取存储器(RAM)1540、连接到网络的通信端口1550、输入/输出组件1560、硬盘1570等。计算设备1500中的存储设备,例如ROM 1530或硬盘1570可以存储计算机处理和/或通信使用的各种数据或文件以及CPU所执行的程序指令。计算设备1500还可以包括用户界面1580。当然,图15所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图15示出的计算设备中的一个或多个组件。
本公开的实施例也可以被实现为计算机可读存储介质。根据本公开实施例的计算机可读存储介质上存储有计算机可读指令。当所述计算机可读指令由处理器运行时,可以执行参照以上附图描述的根据本公开实施例的方法。所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
本领域技术人员能够理解,本公开所披露的内容可以出现多种变型和改进。例如,以上所描述的各种设备或组件可以通过硬件实现,也可以通过软件、固件、或者三者中的一些或全部的组合实现。
此外,如本公开和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
此外,本公开中使用了流程图用来说明根据本公开的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
以上对本公开进行了详细说明,但对于本领域技术人员而言,显然,本公开并非限定于本说明书中说明的实施方式。本公开在不脱离由权利要求书的记载所确定的本公开的宗旨和范围的前提下,可以作为修改和变更方式来实施。因此,本说明书的记载是以示例说明为目的,对本公开而言并非具有任何限制性的意义。

Claims (15)

1.一种由第一服务器执行的数据传输方法,包括:
从第二服务器接收会话数据包,其中所述会话数据包是根据应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识,所述会话数据包是所述第二服务器通过其与所述第一服务器之间的且与所述应用对应的长连接发送的,其中所述第一服务器用于运行所述应用的辅助应用,所述辅助应用用于实现所述应用的会话功能,所述第二服务器用于运行所述应用;以及
根据所述会话消息的目的客户端的标识,将所述会话数据包发送给目的客户端。
2.一种由第一服务器执行的数据传输方法,包括:
确定会话数据包,其中所述会话数据包是根据应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识;
根据所述应用的标识确定第一服务器与第二服务器之间的且与所述应用对应的长连接,其中所述第一服务器用于运行所述应用的辅助应用,所述辅助应用用于实现所述应用的会话功能,所述第二服务器用于运行所述应用;以及
通过与所述应用对应的长连接,将所述会话数据包发送至相应的第二服务器,以便该第二服务器根据所述会话消息的目的客户端的标识将所述会话数据包发送给目的客户端。
3.如权利要求2所述的数据传输方法,其中所述确定会话数据包包括:
从第一服务器的客户端接收会话数据包,其中所述会话数据包是所述第一服务器的客户端根据应用的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成的。
4.如权利要求2所述的数据传输方法,其中所述确定会话数据包包括:
从第一服务器的客户端接收应用的会话消息;以及
至少根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识以及会话消息的标识生成会话数据包。
5.如权利要求4所述的数据传输方法,其中所述至少根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识以及会话消息的标识生成会话数据包包括:
根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包。
6.如权利要求2至5任一项所述的数据传输方法,还包括:
从所述第二服务器接收连接请求和所述第二服务器的身份标识信息;以及
根据所接收的连接请求与所述第二服务器建立连接,并标记所述第二服务器的身份。
7.一种第一服务器,其中所述第一服务器用于运行应用的辅助应用,所述辅助应用用于实现所述应用的会话功能,包括:
接收单元,被配置为从第二服务器接收会话数据包,其中所述会话数据包是根据所述应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识,所述会话数据包是所述第二服务器通过其与所述第一服务器之间的且与所述应用对应的长连接发送的,其中所述第二服务器用于运行所述应用;以及
发送单元,被配置为根据所述会话消息的目的客户端的标识,将所述会话数据包发送给目的客户端。
8.一种第一服务器,其中所述第一服务器用于运行应用的辅助应用,所述辅助应用用于实现所述应用的会话功能,包括:
第一确定单元,被配置为确定会话数据包,其中所述会话数据包是根据所述应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识;
第二确定单元,被配置为根据所述应用的标识确定第一服务器与第二服务器之间的且与所述应用对应的长连接,其中所述第二服务器用于运行所述应用;以及
发送单元,被配置为通过与所述应用对应的长连接,将所述会话数据包发送至相应的第二服务器,以便该第二服务器根据所述会话消息的目的客户端的标识将所述会话数据包发送给目的客户端。
9.如权利要求8所述的第一服务器,其中所述第一确定单元被配置为从第一服务器的客户端接收会话数据包,其中所述会话数据包是所述第一服务器的客户端根据应用的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成的。
10.如权利要求8所述的第一服务器,其中所述第一确定单元被配置为从第一服务器的客户端接收应用的会话消息;以及至少根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识以及会话消息的标识生成会话数据包。
11.如权利要求10所述的第一服务器,其中所述第一确定单元还被配置为根据所接收的会话消息、目的服务器所处的地理区域的标识、目的服务器的标识、会话消息的源客户端的标识、会话消息的格式、会话消息的标识、会话消息的发送时间、以及会话消息的来源的标识生成会话数据包。
12.如权利要求8至11任一项所述的第一服务器,还包括:
连接建立单元,被配置为从所述第二服务器接收连接请求和所述第二服务器的身份标识信息;以及根据所接收的连接请求与所述第二服务器建立连接,并标记所述第二服务器的身份。
13.一种由第二服务器执行的数据传输方法,其中所述第二服务器用于运行应用,包括:
确定会话数据包,其中所述会话数据包是根据所述应用的会话消息生成的,所述应用的会话消息至少包括所述应用的标识、在所述应用运行过程中产生的会话消息体和会话消息的目的客户端的标识;
根据所述应用的标识确定第二服务器与第一服务器之间的且与所述应用对应的长连接,其中所述第一服务器用于运行所述应用的辅助应用,所述辅助应用用于实现所述应用的会话功能;以及
通过与所述应用对应的长连接,将所述会话数据包发送至第一服务器,以便该第一服务器根据所述会话消息的目的客户端的标识将所述会话数据包发送给目的客户端。
14.一种第一服务器,包括:
处理器;以及
存储器,其中,所述存储器中存储有计算机可执行程序当由所述处理器执行所述计算机可执行程序时,执行权利要求2-6中任一项所述的方法。
15.一种计算机可读存储介质,其上存储由指令,所述指令在被处理器执行时,使得所述处理器执行如权利要求2-6中任一项所述的方法。
CN201910341922.1A 2019-04-25 2019-04-25 数据传输方法和相应的服务器、计算机可读存储介质 Active CN110071925B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910341922.1A CN110071925B (zh) 2019-04-25 2019-04-25 数据传输方法和相应的服务器、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910341922.1A CN110071925B (zh) 2019-04-25 2019-04-25 数据传输方法和相应的服务器、计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110071925A CN110071925A (zh) 2019-07-30
CN110071925B true CN110071925B (zh) 2021-01-15

Family

ID=67369054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910341922.1A Active CN110071925B (zh) 2019-04-25 2019-04-25 数据传输方法和相应的服务器、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110071925B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113285994A (zh) * 2021-05-17 2021-08-20 深圳市欧瑞博科技股份有限公司 消息发送方法、装置、服务器及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8943181B2 (en) * 2005-11-29 2015-01-27 Ebay Inc. Method and system for reducing connections to a database
SG2012077830A (en) * 2012-10-18 2014-05-29 Chikka Pte Ltd Instant messaging system
CN103491184A (zh) * 2013-09-29 2014-01-01 北京奇虎科技有限公司 数据传输方法、设备及系统
CN103647768A (zh) * 2013-12-06 2014-03-19 北京奇虎科技有限公司 游戏客户端及其实现方法
CN105338063A (zh) * 2015-09-30 2016-02-17 北京奇虎科技有限公司 多个服务器共享用户会话的方法及装置
CN107529229B (zh) * 2016-06-21 2021-08-31 中兴通讯股份有限公司 数据传输的方法,装置及系统
US10503303B2 (en) * 2016-10-13 2019-12-10 Equalearning Corp. System and method for uninterrupted learning using a touch screen display device
CN106713338A (zh) * 2017-01-03 2017-05-24 上海金融云服务集团安全技术有限公司 一种基于服务器硬件信息的长连接隧道建立方法
CN107566346B (zh) * 2017-08-10 2020-08-11 腾讯科技(深圳)有限公司 3d游戏数据的传输方法、装置以及存储介质、电子装置
CN109510878B (zh) * 2018-12-24 2021-12-24 杭州迪普科技股份有限公司 一种长连接会话保持方法和装置

Also Published As

Publication number Publication date
CN110071925A (zh) 2019-07-30

Similar Documents

Publication Publication Date Title
US8626212B2 (en) Group messaging at mobile terminal in autonomous network
EP3907973A1 (en) Method for establishing communication connection and proxy server
CN1812405B (zh) 在请求-响应传输协议上的可靠单向消息传送的方法
CN110808948B (zh) 远程过程调用方法、装置及系统
CN110741573A (zh) 在区块链网络中选择性使用网络编码传播交易的方法和系统
CN110875914B (zh) 一种基于共享会话链路传输消息的方法及装置
EP3235189B1 (en) Negotiation of message chunk size for message session relay protocol session
CN109196842B (zh) 一种会话保持方法、设备及存储介质
WO2022042235A1 (zh) 数据报文发送方法、处理方法、装置、设备及数据报文
CN104821909A (zh) 端对端的数据传输方法和系统
CN102882772A (zh) 一种即时通信数据传输方法、客户端、服务器及系统
CN104539510A (zh) 一种基于多协议的信息推送系统及方法
US8650313B2 (en) Endpoint discriminator in network transport protocol startup packets
CN102594886B (zh) 浏览器与浏览器直通的方法、装置和通信系统
CN110071925B (zh) 数据传输方法和相应的服务器、计算机可读存储介质
US8200278B2 (en) Adding SMS as a transport type for an enterprise service bus
CN112398754B (zh) 数据传输方法、装置、介质、电子设备及网络接入设备
CN107483628B (zh) 基于dpdk的单向代理方法及系统
EP2899945B1 (en) Method for an enhanced communication between a first network node and a second network node of a telecommunications network, and telecommunications network
CN105656994B (zh) 一种业务加速方法和装置
CN109039687A (zh) 请求的负载均衡方法、装置、系统、设备以及存储介质
US9148366B2 (en) Interactive header compression in peer-to-peer communications
CN109120578B (zh) 一种实现链路连接处理的方法及装置
CN110008032B (zh) 一种通信方式的实现方法及电子设备
US10966066B1 (en) Internet-enabled data for transparent application consumption over unstructured supplementary service data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant