CN110012107A - 一种数据通信方法、设备、装置、系统及存储介质 - Google Patents

一种数据通信方法、设备、装置、系统及存储介质 Download PDF

Info

Publication number
CN110012107A
CN110012107A CN201910299504.0A CN201910299504A CN110012107A CN 110012107 A CN110012107 A CN 110012107A CN 201910299504 A CN201910299504 A CN 201910299504A CN 110012107 A CN110012107 A CN 110012107A
Authority
CN
China
Prior art keywords
client
signal server
sent
identity
candidate information
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.)
Granted
Application number
CN201910299504.0A
Other languages
English (en)
Other versions
CN110012107B (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.)
Shenzhen Onething Technology Co Ltd
Original Assignee
Shenzhen Onething Technology 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 Shenzhen Onething Technology Co Ltd filed Critical Shenzhen Onething Technology Co Ltd
Priority to CN201910299504.0A priority Critical patent/CN110012107B/zh
Publication of CN110012107A publication Critical patent/CN110012107A/zh
Application granted granted Critical
Publication of CN110012107B publication Critical patent/CN110012107B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/14Session management
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种数据通信方法,在本方法中,将目前的每个连接均与信令服务器分别建立连接的方式,变为客户端的多个连接共享一个与信令服务器的连接的方式,从而不需要客户端的每个连接分别与信令服务器进行数据交互,降低了信令服务器和客户端的处理压力以及连接维护成本。本发明还公开了一种数据通信设备、装置、系统及存储介质,同样能实现上述技术效果。

Description

一种数据通信方法、设备、装置、系统及存储介质
技术领域
本发明涉及数据传输技术领域,尤其涉及一种数据通信方法、设备、装置、系统及存储介质。
背景技术
NAT(Network Address Translation,网络地址转换)穿越是将两个位于NAT设备之后的设备链接起来的一种手段,目前已有的方案是通过STUN(Session TraversalUtilities for NAT,NAT会话穿越应用程序)/TURN(Traversal Using Relay NAT,以Relay方式穿越NAT)/ICE(IteractiveConnectivityEstablishment,交互式连接建立)的方式实现客户端之间的通信,上述方案需要有一个第三方的设备作为辅助来完成,这个第三方设备就是信令服务器,该信令服务器是部署在公网上的一台或几台设备,主要作用是信令传输。
参见图1,为相关技术中客户端与信令服务器的多连接示意图;通过该图可以看出,客户端1中的不同连接PC(peerconnection),例如PC1、PC2、PC3……PCN均通过各自的连接与信令服务器相连;也就是说,目前的这种连接方式,需要客户端的每一个连接均需要建立一个与信令服务器之间的长连接,因此,如果一个客户端要跟n个客户端建立连接,那就需要在客户端上建立n个与信令服务器的长连接,这一方面增加了客户端的维护成本,另一方面也增加了信令服务器的压力。
因此,如何减小客户端的维护成本及服务器的压力,是本领域技术人员需要解决的问题。
发明内容
本发明的主要目的在于提供一种数据通信方法、设备、装置、系统及存储介质,旨在解决减小客户端的维护成本及服务器的压力的技术问题。
为实现上述目的,本发明提供的一种数据通信方法,应用于第一信令服务器,所述方法包括:
接收第一客户端发送的连接请求;其中,所述连接请求中携带所述第一客户端的身份标识,以及第二客户端的身份标识;
利用所述第二客户端的身份标识,将所述连接请求转发至所述第二客户端,并将所述第二客户端反馈的响应信息发送至所述第一客户端;所述响应信息中包括所述第二客户端的身份标识以及所述第一客户端的身份标识;
将所述第一客户端发送的第一候选者信息发送至所述第二客户端,将所述第二客户端发送的第二候选者信息发送至所述第一客户端,以使所述第一客户端和所述第二客户端根据所述第一候选者信息和第二候选者信息实现数据通信;其中,每个客户端与信令服务器之间通过一条连接进行数据传输。
可选地,所述连接请求中包括所述第一客户端的支持格式信息及加密方式信息,所述响应信息中包括所述第二客户端的支持格式信息及加密方式信息。
可选地,所述第一候选者信息为所述第一客户端的IP地址和Port信息;所述第二候选者信息为所述第二客户端的IP地址和Port信息。
可选地,利用所述第二客户端的身份标识,将所述连接请求转发至所述第二客户端,并将所述第二客户端反馈的响应信息发送至所述第一客户端,包括:
利用所述第二客户端的身份标识,从数据库中查找所述第二客户端所注册的第二信令服务器;其中,所述数据库中存储了所有信令服务器中已注册的客户端的身份标识;
判断所述第二客户端所注册的第二信令服务器是否为本信令服务器;
若是,则将所述连接请求转发至所述第二客户端,并将所述第二客户端反馈的响应信息发送至所述第一客户端;
若否,则将所述连接请求通过所述第二信令服务器发送至所述第二客户端;并将所述第二客户端通过所述第二信令服务器反馈的响应信息发送至所述第一客户端。
可选地,所述将所述第一客户端发送的第一候选者信息发送至所述第二客户端,将所述第二客户端发送的第二候选者信息发送至所述第一客户端,包括:
若所述第二客户端所注册的第二信令服务器为本信令服务器,则将所述第一客户端发送的第一候选者信息发送至所述第二客户端,将所述第二客户端发送的第二候选者信息发送至所述第一客户端;
若所述第二客户端所注册的第二信令服务器不为本信令服务器,则将所述第一客户端发送的第一候选者信息通过所述第二信令服务器发送至所述第二客户端,将所述第二客户端通过所述第二信令服务器发送的第二候选者信息发送至所述第一客户端。
可选地,所述接收第一客户端发送的连接请求之前,还包括:
接收第一客户端发送的注册请求;其中,所述注册请求中携带所述第一客户端的IP地址和Port信息;
根据所述注册请求对所述第一客户端执行注册操作,分配给所述第一客户端唯一的身份标识;
将与所述第一客户端对应的注册信息更新至所述数据库;其中,所述注册信息包括所述第一客户端的身份标识以及第一客户端所注册的信令服务器信息。
可选地,所述将与所述客户端对应的注册信息更新至所述数据库,包括:
判断所述数据库是否为位于独立服务器上的数据库;
若是,则将与所述客户端对应的注册信息更新至所述数据库;
若否,则将与所述客户端对应的注册信息更新至本地的所述数据库后,将与所述客户端对应的注册信息更新至其他信令服务器的数据库。
为实现上述目的,本发明进一步提供一种数据通信方法,应用于第一客户端,所述方法包括:
第一客户端向所注册的第一信令服务器发送连接请求,以使所述第一信令服务器根据第二客户端的身份标识,将所述连接请求转发至所述第二客户端;其中,所述连接请求中携带所述第一客户端的身份标识,以及第二客户端的身份标识;
接收所述第二客户端通过所述第一信令服务器反馈的响应信息;所述响应信息中包括所述第二客户端的身份标识以及所述第一客户端的身份标识;
向所注册的第一信令服务器发送第一候选者信息,并接收所述第二客户端通过所述第一信令服务器发送第二候选者信息,根据所述第一候选者信息和第二候选者信息实现与所述第二客户端的数据通信;其中,每个客户端与第一信令服务器之间通过一条连接进行数据传输。
为实现上述目的,本发明进一步提供一种数据通信设备,所述设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据通信程序,所述数据通信程序被所述处理器执行时实现上述的应用与信令服务器的方法。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据通信程序,所述数据通信程序可被一个或者多个处理器执行,以实现如上述应用与信令服务器的数据通信方法。
为实现上述目的,本发明进一步提供一种数据通信装置,包括:
连接请求接收单元,用于接收第一客户端发送的连接请求;所述连接请求中携带所述第一客户端的身份标识,以及第二客户端的身份标识;
连接请求转发单元,用于利用所述第二客户端的身份标识,将所述连接请求转发至所述第二客户端,并将所述第二客户端反馈的响应信息发送至所述第一客户端;所述响应信息中包括所述第二客户端的身份标识以及所述第一客户端的身份标识;
候选者信息发送单元,用于将所述第一客户端发送的第一候选者信息发送至所述第二客户端,将所述第二客户端发送的第二候选者信息发送至所述第一客户端,以使所述第一客户端和所述第二客户端根据所述第一候选者信息和第二候选者信息实现数据通信;其中,每个客户端与信令服务器之间通过一条连接进行数据传输。
为实现上述目的,本发明进一步提供一种数据通信设备,所述设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据通信程序,所述数据通信程序被所述处理器执行时实现如上述的应用与客户端的方法。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据通信程序,所述数据通信程序可被一个或者多个处理器执行,以实现如上述应用与客户端的数据通信方法。
为实现上述目的,本发明进一步提供一种数据通信装置,包括:
连接请求发送单元,用于向所注册的第一信令服务器发送连接请求,以使所述第一信令服务器利用第二客户端的身份标识,将所述连接请求转发至所述第二客户端;其中,所述连接请求中携带所述第一客户端的身份标识,以及第二客户端的身份标识;
响应信息接收单元,用于接收所述第二客户端通过所述第一信令服务器反馈的响应信息;所述响应信息中包括所述第二客户端的身份标识以及所述第一客户端的身份标识;
候选者信息转发单元,用于向所注册的第一信令服务器发送第一候选者信息,并接收所述第二客户端通过所述第一信令服务器发送第二候选者信息,根据所述第一候选者信息和第二候选者信息实现与所述第二客户端的数据通信;其中,每个客户端与第一信令服务器之间通过一条连接进行数据传输。
为实现上述目的,本发明进一步提供一种数据通信系统,包括:上述存储有应用于第一信令服务器的数据通信程序的数据通信设备,以及,上述存储有应用于第一客户端的数据通信程序的数据通信设备。
通过以上方案可知,本发明实施例提供的一种数据通信方法,应用于第一信令服务器,所述方法包括:接收第一客户端发送的连接请求;其中,所述连接请求中携带所述第一客户端的身份标识,以及第二客户端的身份标识;利用所述第二客户端的身份标识,将所述连接请求转发至所述第二客户端,并将所述第二客户端反馈的响应信息发送至所述第一客户端;所述响应信息中包括所述第二客户端的身份标识以及所述第一客户端的身份标识;将所述第一客户端发送的第一候选者信息发送至所述第二客户端,将所述第二客户端发送的第二候选者信息发送至所述第一客户端,以使所述第一客户端和所述第二客户端根据所述第一候选者信息和第二候选者信息实现数据通信;其中,每个客户端与信令服务器之间通过一条连接进行数据传输。
可以看出,本方案中的客户端与信令服务器之间的连接,是将目前的每个连接均与信令服务器分别建立连接的方式,变为客户端的多个连接共享一个与信令服务器的连接的方式,从而不需要客户端的每个连接分别与信令服务器进行数据交互,降低了信令服务器和客户端的处理压力以及连接维护成本。本发明还公开了一种数据通信设备、装置、系统及存储介质,同样能实现上述技术效果。
附图说明
图1为相关技术中客户端与信令服务器的多连接示意图;
图2为本发明一实施例的流程示意图;
图3为本发明一实施例揭露的客户端与信令服务器的连接示意图;
图4为本发明另一实施例的流程示意图;
图5为本发明另一实施例揭露的客户端与信令服务器的连接示意图;
图6为本发明一实施例揭露的客户端与信令服务器的数据交互示意图;
图7为本发明另一实施例的流程示意图;
图8为本发明一实施例揭露的一种数据通信装置结构示意图;
图9为本发明另一实施例揭露的一种数据通信装置结构示意图;
图10为本发明一实施例揭露的数据通信设备结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种数据通信方法。
参照图2,图2为本发明一实施例的流程示意图,在本实施例中,该方法包括:
S101、接收第一客户端发送的连接请求;其中,所述连接请求中携带所述第一客户端的身份标识,以及第二客户端的身份标识;
在本实施例中,对于先发送连接请求的客户端称之为第一客户端,接收连接请求的客户端为第二客户端;由于第一客户端和第二客户端双方并未建立连接,因此第一客户端client1只能将连接请求offer发到信令服务器,由信令服务器转发给第二客户端client2。并且,在第一客户端向第二客户端发送连接请求offer时,该第一客户端和第二客户端均已经在对应的信令服务器中注册,信令服务器注册后,便会拥有唯一的身份标识peerid;因此,第一客户端在发送连接请求时,为了确定该连接请求对应的发送端和接收端,需要修改offer的格式,将本地的peerid1作为源标识加入到offer中转发到对端,同样的,该连接请求还需要携带第二客户端的身份标识。
参见图3,为本发明一实施例揭露的客户端与信令服务器的连接示意图,通过该图可以看出,当客户端里有多个连接PC(peerconnection)时,不管哪个连接要向信令服务器发送消息都可以通过唯一的一个http连接发送消息,把多条连接汇聚成一个连接;也就是说,本方案中的信令服务器与客户端之间传输任何信息,均是通过信令服务器与客户端之间的唯一一个连接传输;例如:客户端在向信令服务器注册时,可向信令服务器发送携带所有IP地址和Port信息的注册请求,而不需要向客户端注册多次;并且,在后续数据传输过程中,如:连接请求的发送、响应信息的发送、候选者信息的发送,均可通过客户端与信令服务器之间的唯一一个连接传输。因此在客户端与信令服务器之间的数据传输过程中,均需要携带能表示客户端信息的身份标识。
可以看出,本方案提出的这种将客户端的多个连接共享一个与信令服务器之间的连接的方式,一方面会降低服务器和客户端的处理压力,另一方面使整个系统可以平行扩展,提高信令服务器的处理能力和规模。
S102、利用所述第二客户端的身份标识,将所述连接请求转发至所述第二客户端,并将所述第二客户端反馈的响应信息发送至所述第一客户端;所述响应信息中包括所述第二客户端的身份标识以及所述第一客户端的身份标识。
其中,所述连接请求中包括所述第一客户端的支持格式信息及加密方式信息,所述响应信息中包括所述第二客户端的支持格式信息及加密方式信息;可以理解的是,本方案中的连接请求offer以及响应信息answer,与相关技术不同的仅仅为携带了表示客户端身份的身份标识peerid,而其他需要携带的信息,如本地的IP,Port,以及代表客户端处理能力的:支持的音频格式和视频格式,加密方式等还需要携带,这与目前相关技术相同,在此并不具体赘述。
需要说明的是,信令服务器接收到第一客户端发送的连接请求后,会根据该连接请求中携带的第二客户端的身份标识,将连接请求转发至第二客户端;第二客户端接收到该连接请求offer后,会把本地的处理能力封装到响应信息answer中,转发给信令服务器,通过信令服务器中转给第一客户端client1。同样的,在本方案中需要修改answer的格式,将本地的peerid2作为客户端的身份标识加入到answer中发送到对端。
S103、将所述第一客户端发送的第一候选者信息发送至所述第二客户端,将所述第二客户端发送的第二候选者信息发送至所述第一客户端,以使所述第一客户端和所述第二客户端根据所述第一候选者信息和第二候选者信息实现数据通信;其中,每个客户端与信令服务器之间通过一条连接进行数据传输。
需要说明的是,所述第一候选者信息为所述第一客户端的IP地址和Port信息;所述第二候选者信息为所述第二客户端的IP地址和Port信息。
在本方案中,候选者信息candidate可以理解为客户端的与不同物理网卡相对应的IP+Port,也就是说,每个候选者均对应一个IP+Port,如果机器有多个物理网卡,那么就会有多个候选者;所以,该第一候选者信息和第二候选者信息中包括的候选者数量可以为多个。
第一客户端在接收到信令服务器发送的响应信息后,第一客户端和第二客户端均需要获得自己的本地的ip地址和port,封装成一个个候选者candidate,当然,为了表明发送端和接收端的信息,该候选者信息中不仅仅包括各个候选者,还包括两端的身份标识peerid信息,并通过信令服务器中转发送给对端;也就是说:第一客户端发送的第一候选者信息中包括第一客户端中不同的候选者candidate、本端的身份标识peerid1和对端的身份标识peerid2,并通过信令服务器转发至第二客户端;第二客户端发送的第二候选者信息中包括第二客户端中不同的候选者candidate、本端的身份标识peerid2和对端的身份标识peerid1,并通过信令服务器转发至第一客户端。
进一步,双方各自拿到对端的候选者信息中的所有ip和port后,便根据候选者信息实现数据通信;对于根据候选者信息实现两个客户端通信的过程,与相关技术的过程相同,在此便不具体赘述,例如:客户端接收到对端的候选者信息中的所有ip和port后,建立多个socket,互相发送ping消息给对端,如果对端收到ping消息,需要回复pong消息,这样双方会建立起一个socket链接,利用该socket,双方可以互相收发数据,至此,NAT穿越就完成了。
综上可以看出,本方案中的客户端与信令服务器之间的连接,是将目前的每个连接均与信令服务器分别建立连接的方式,变为客户端的多个连接共享一个与信令服务器的连接的方式,通过这种方式在进行数据通信时,信令服务器接收到的连接请求是客户端发送的,而不是客户端中的不同PC发送的,从而不需要客户端的每个连接PC分别与信令服务器进行数据交互,不仅能降低客户端与服务器之间建立连接的压力,轻松实现一对多的连接,还可以降低单台服务器维护连接的成本,提高服务器的处理多个客户端的能力达70%。
进一步,本发明提供另一种数据通信方法。
参照图4,图4为本发明另一实施例的流程示意图,在本实施例中,该方法包括:
S201、接收第一客户端发送的连接请求;其中,所述连接请求中携带所述第一客户端的身份标识,以及第二客户端的身份标识;
S202、利用所述第二客户端的身份标识,从数据库中查找所述第二客户端所注册的第二信令服务器;其中,所述数据库中存储了所有信令服务器中已注册的客户端的身份标识;
S203、判断所述第二客户端所注册的第二信令服务器是否为本信令服务器;若是,则执行S204-S205;若否,则执行S206-S207;
需要说明的是,当系统中的客户端数量增加到一定程度时,就需要多台信令服务器组成一个信令集群来处理信令中转服务。传统的方式是两个要建立连接的客户端必须注册到同一台服务器上才能建立连接,这个方法存在如下问题:1、增加调度的困难,需要把两个需要建立连接的客户端调度到同一台信令服务器上,不管这两个客户端所在的地域;2.如果两个客户端a和b已经建立连接,他们所在的服务器为A,如果客户端a要跟第三个客户端c建立连接,而这个新的客户端c所注册的信令服务器为B,那这两个客户端a和c之间是无法建立连接的,这样就大大限制了业务的应用场景。
参见图5,本发明另一实施例揭露的客户端与信令服务器的连接示意图,通过该图可以看出,在本实施例中存在数据库,该数据库中存储了所有的客户端信息,包括:客户端的身份标识,以及客户端所注册的信令服务器信息;例如图5所述,客户端1注册在信令服务器1上,客户端2注册在信令服务器2上,客户端3注册在信令服务器3上;在本方案中,要使注册到不同信令服务器上的客户端之间互相连接,信令服务器之间必须共享存储了客户端信息的数据库,通过这种方式,可以使每个信令服务器知道每个客户端所注册的信令服务器,并且,各个信令服务器之间可以通信,通过这种方式,可以打通不同信令服务器之间的连接通道,这样会大大扩展客户端之间的连接范围,扩大应用场景。
并且,信令服务器接收到客户端发送的连接请求后,去数据库中查询第二客户端的peerid所在的信令服务器,如果与第一客户端所注册的服务器不同,则需要由信令服务器之间进行数据传输,也即:将后续第一客户端与第二客户端之间的通信数据,通过第一客户端所注册的信令服务器与第二客户端所注册的信令服务器进行通信,实现数据的传输,从而使两个客户端之间的信令通道打通;因此对于客户端来说,无论对端是否跟自己注册在同一台信令服务器上,都可以由信令服务器之间打通彼此之间的连接通道;通过这种方式,使得所有客户端完全不需要关注自己所注册的信令服务器是否跟其他客户端在同一台信令服务器上,可以认为所有的客户端都在一台信令服务器上,从而使一对多连接得以实现,而对端有可能在多台信令服务器上。
需要说明的是,由于本方案的执行主体为信令服务器,该信令服务器为第一客户端所注册的信令服务器,因此,该信令服务器在判断第二客户端所注册的第二信令服务器是否为本信令服务器时,这里的本信令服务器即为第一客户端所注册的信令服务器。
S204、将所述连接请求转发至所述第二客户端,并将所述第二客户端反馈的响应信息发送至所述第一客户端;
S205、将所述第一客户端发送的第一候选者信息发送至所述第二客户端,将所述第二客户端发送的第二候选者信息发送至所述第一客户端,以使所述第一客户端和所述第二客户端根据所述第一候选者信息和第二候选者信息实现数据通信;其中,每个客户端与信令服务器之间通过一条连接进行数据传输;
可以理解的是,如果信令服务器判定第二客户端所注册的信令服务器为自身,也即本信令服务器,这时便可通过该信令服务器实现连接请求、响应信息、第一候选者信息和第二候选者信息的转发。
S206、将所述连接请求通过所述第二信令服务器发送至所述第二客户端;并将所述第二客户端通过所述第二信令服务器反馈的响应信息发送至所述第一客户端;
S207、将所述第一客户端发送的第一候选者信息通过所述第二信令服务器发送至所述第二客户端,将所述第二客户端通过所述第二信令服务器发送的第二候选者信息发送至所述第一客户端,以使所述第一客户端和所述第二客户端根据所述第一候选者信息和第二候选者信息实现数据通信;其中,每个客户端与信令服务器之间通过一条连接进行数据传输。
需要说明的是,如果信令服务器判定第二客户端所注册的信令服务器不为自身,也即仅仅通过信令服务器不同实现数据的转发,这时对于连接请求、响应信息、第一候选者信息和第二候选者信息,均需要通过信令服务器和第二客户端所注册的第二信令服务器进行转发。
例如:参见图5,客户端1的PC1要与客户端2的PC1进行通信,这时在,连接请求需要通过信令服务器1发送至信令服务器2,再通过信令服务器2将连接请求转发至客户端2的PC1,响应信息同样需要通过信令服务器2发送至信令服务器1,再通过信令服务器1发送至客户端1的PC1;同样的,对于第一候选者信息也需要通过信令服务器1发送至信令服务器2,再通过信令服务器2将第一候选者信息转发至客户端2的PC1,第二候选者信息也需要通过信令服务器2发送至信令服务器1,再通过信令服务器1将第二候选者信息转发至客户端1的PC1。
参见图6,为本发明一实施例揭露的客户端与信令服务器的数据交互示意图;通过图6可以看出,客户端均向信令服务器注册后,通过信令服务器转发连接请求offer、响应信息answer、发送至client2的第一候选者信息candidates和发送至client1的第二候选者信息candidates。
综上可以看出,由于本方案中的各个信令服务器之间共享了存储所有已注册客户端信息的数据库,且各个信令服务器之间能进行互联,因此,对于任意两个客户端,都可以通过信令服务器之间打通连接通道;通过这种方式,使得客户端在进行数据时,完全不需要关注自己所注册的信令服务器是否跟其他客户端在同一台信令服务器上,可以认为所有的客户端都在一台信令服务器上,从而使一对多连接得以实现,而对端有可能在多台信令服务器上;并且,通过这种方式,可以支持平行扩展后台的信令服务器,实现支持超大规模系统。
基于上述任意实施例,在本实施例中,所述接收第一客户端发送的连接请求之前,还包括:
接收第一客户端发送的注册请求;其中,所述注册请求中携带所述第一客户端的IP地址和Port信息;
根据所述注册请求对所述第一客户端执行注册操作,分配给所述第一客户端唯一的身份标识;
将与所述第一客户端对应的注册信息更新至所述数据库;其中,所述注册信息包括所述第一客户端的身份标识以及第一客户端所注册的信令服务器信息。
在本实施例中,客户端向信令服务器注册时,需要向信令服务器发送一个数据包,信令服务器接收到数据后,从数据包中解析出客户端的IP地址和port,并且给该客户端分配唯一的身份标识peeri,并返回给客户端,客户端之后发送的所有请求都是用该peeri作为自己的身份标识。
进一步,为了保证数据库中存储的客户端信息均为最新的,需要在客户端注册成功后,将该客户端的注册信息更新至数据库;该注册信息可以包括客户端的身份标识及所注册的信令服务器信息等。在将与客户端对应的注册信息更新至所述数据库时,具体包括:判断所述数据库是否为位于独立服务器上的数据库;若是,则将与所述客户端对应的注册信息更新至所述数据库;若否,则将与所述客户端对应的注册信息更新至本地的所述数据库后,将与所述客户端对应的注册信息更新至其他信令服务器的数据库。
也就是说,本实施例中的数据库可以是位于单独的服务器上,也可以是位于每个信令服务器上;对于前者来说,各个信令服务器在查询时,均需要从该单独的服务器上查询,查询所消耗的时间较长,但是这样的好处是,在更新数据库时,由于数据库位于独立的服务器上,这时只要更新该服务器中的数据库便可,更新速度快;对于后者来说,由于数据库设置在每个信令服务器上,因此,信令服务器在查询时,便可直接通过本地的数据库进行查询,查询速度快;但是,如果该数据库位于每个信令服务器上,在更新数据时,便需要更新每个信令服务器中的数据库,更新所消耗的时间较长;在本方案中,可根据实际的需求,来选择数据库的位置。
综上可以看出,通过本方案的这种客户端注册及更新方法,可以及时将新注册的客户端的身份标识及所注册的服务器信息同步至数据库,以便信令服务器在查询时,能及时找到已注册的客户端信息,提高超找效率。
基于上述任意实施例,在本实施例中,公开了一种数据通信方法;需要说明的是,本实施例所述的通信方法与上述实施例所述的通信方法相比,仅仅执行主体不同,上述实施例的执行主体为信令服务器,而本实施例的执行主体为第一客户端,其他相关内容均可参照上述任意实施例,在此并不赘述。
参照图7,图7为本发明另一实施例的流程示意图,在本实施例中,该方法包括:
S301、第一客户端向所注册的第一信令服务器发送连接请求,以使所述第一信令服务器利用第二客户端的身份标识,将所述连接请求转发至所述第二客户端;其中,所述连接请求中携带所述第一客户端的身份标识,以及第二客户端的身份标识;
S302、接收所述第二客户端通过所述第一信令服务器反馈的响应信息;所述响应信息中包括所述第二客户端的身份标识以及所述第一客户端的身份标识;
S303、向所注册的第一信令服务器发送第一候选者信息,并接收所述第二客户端通过所述第一信令服务器发送第二候选者信息,根据所述第一候选者信息和第二候选者信息实现与所述第二客户端的数据通信;其中,每个客户端与第一信令服务器之间通过一条连接进行数据传输。
其中,所述连接请求中包括所述第一客户端的支持格式信息及加密方式信息,所述响应信息中包括所述第二客户端的支持格式信息及加密方式信息。
其中,所述第一候选者信息为所述第一客户端的IP地址和Port信息;所述第二候选者信息为所述第二客户端的IP地址和Port信息。
其中,第一客户端向所注册的第一信令服务器发送连接请求,以使所述第一信令服务器利用第二客户端的身份标识,将所述连接请求转发至所述第二客户端,包括:
如果所述第二客户端所注册的第二信令服务器为所述第一信令服务器,则向所注册的第一信令服务器发送连接请求,以使所述第一信令服务器利用第二客户端的身份标识,将所述连接请求转发至所述第二客户端;
如果所述第二客户端所注册的第二信令服务器不为所述第一信令服务器,则向所注册的第一信令服务器发送连接请求,通过所述第一信令服务器利用第二客户端的身份标识,将所述连接请求通过所述第二信令服务器转发至所述第二客户端。
其中,所述向所注册的第一信令服务器发送第一候选者信息,并接收所述第二客户端通过所述第一信令服务器发送第二候选者信息,包括:
如果所述第二客户端所注册的第二信令服务器为所述第一信令服务器,则将第一候选者信息通过所述第一信令服务器发送至所述第二客户端,通过所述第一信令服务器接收所述第二客户端发送的第二候选者信息;
若所述第二客户端所注册的第二信令服务器不为第一信令服务器,则将第一候选者信息利用所述第一信令服务器发送至所述第二信令服务器,通过所述第二信令服务器发送至所述第二客户端;并接收所述第二信令服务器通过所述第一信令服务器发送的,所述第二客户端的第二候选者信息。
其中,所述第一客户端向所注册的第一信令服务器发送连接请求之前,还包括:
向第一信令服务器发送注册请求,以使所述第一信令服务器根据所述注册请求对所述客户端执行注册操作,并将与所述客户端对应的注册信息更新至所述数据库;其中,所述注册请求中携带所述客户端的IP地址和Port信息;所述注册信息包括所述客户端的身份标识以及客户端所注册的信令服务器信息;
接收所述第一信令服务器发送的所述第一客户端唯一的身份标识。
综上可以看出,本方案中的客户端与信令服务器之间的连接,是将目前的每个连接均与信令服务器分别建立连接的方式,变为客户端的多个连接共享一个与信令服务器的连接的方式,通过这种方式在进行数据通信时,信令服务器接收到的连接请求是客户端发送的,而不是客户端中的不同PC发送的,从而不需要客户端的每个连接PC分别与信令服务器进行数据交互,不仅能降低客户端与服务器之间建立连接的压力,轻松实现一对多的连接,还可以降低单台服务器维护连接的成本,提高服务器的处理多个客户端的能力达70%。
并且,由于本方案中的各个信令服务器之间共享了存储所有已注册客户端信息的数据库,且各个信令服务器之间能进行互联,因此,对于任意两个客户端,都可以通过信令服务器之间打通连接通道;通过这种方式,使得客户端在进行数据时,完全不需要关注自己所注册的信令服务器是否跟其他客户端在同一台信令服务器上,可以认为所有的客户端都在一台信令服务器上,从而使一对多连接得以实现,而对端有可能在多台信令服务器上;并且,通过这种方式,可以支持平行扩展后台的信令服务器,实现支持超大规模系统。
进一步的,本实施例还公开了一种数据通信装置;需要说明的是,本实施例所述的数据通信装置可以与上述实施例中应用于第一信令服务器的数据通信方法相互参照,在此并不具体赘述。
参见图8,为本发明一实施例揭露的一种数据通信装置结构示意图,该装置包括:
连接请求接收单元110,用于接收第一客户端发送的连接请求;所述连接请求中携带所述第一客户端的身份标识,以及第二客户端的身份标识;
连接请求转发单元120,用于利用所述第二客户端的身份标识,将所述连接请求转发至所述第二客户端,并将所述第二客户端反馈的响应信息发送至所述第一客户端;所述响应信息中包括所述第二客户端的身份标识以及所述第一客户端的身份标识;
候选者信息发送单元130,用于将所述第一客户端发送的第一候选者信息发送至所述第二客户端,将所述第二客户端发送的第二候选者信息发送至所述第一客户端,以使所述第一客户端和所述第二客户端根据所述第一候选者信息和第二候选者信息实现数据通信;其中,每个客户端与信令服务器之间通过一条连接进行数据传输。
其中,所述连接请求中包括所述第一客户端的支持格式信息及加密方式信息,所述响应信息中包括所述第二客户端的支持格式信息及加密方式信息。
其中,所述第一候选者信息为所述第一客户端的IP地址和Port信息;所述第二候选者信息为所述第二客户端的IP地址和Port信息。
其中,连接请求转发单元包括:
查找子单元,用于利用所述第二客户端的身份标识,从数据库中查找所述第二客户端所注册的第二信令服务器;其中,所述数据库中存储了所有信令服务器中已注册的客户端的身份标识;
第一判断子单元,用于判断所述第二客户端所注册的第二信令服务器是否为本信令服务器;
第一转发子单元,用于在所述第二客户端所注册的第二信令服务器为本信令服务器时,将所述连接请求转发至所述第二客户端,并将所述第二客户端反馈的响应信息发送至所述第一客户端;
第二转发子单元,用于在所述第二客户端所注册的第二信令服务器不为本信令服务器时,将所述连接请求通过所述第二信令服务器发送至所述第二客户端;并将所述第二客户端通过所述第二信令服务器反馈的响应信息发送至所述第一客户端。
其中,候选者信息发送单元包括:
第一候选者信息发送子单元,用于在所述第二客户端所注册的第二信令服务器为本信令服务器时,将所述第一客户端发送的第一候选者信息发送至所述第二客户端,将所述第二客户端发送的第二候选者信息发送至所述第一客户端;
第二候选者信息发送子单元,用于在所述第二客户端所注册的第二信令服务器不为本信令服务器时,将所述第一客户端发送的第一候选者信息通过所述第二信令服务器发送至所述第二客户端,将所述第二客户端通过所述第二信令服务器发送的第二候选者信息发送至所述第一客户端。
其中,本方案还包括:
注册请求接收单元,用于接收第一客户端发送的注册请求;其中,所述注册请求中携带所述第一客户端的IP地址和Port信息;
身份标识分配单元,用于根据所述注册请求对所述第一客户端执行注册操作,分配给所述第一客户端唯一的身份标识;
更新单元,用于将与所述第一客户端对应的注册信息更新至所述数据库;其中,所述注册信息包括所述第一客户端的身份标识以及第一客户端所注册的信令服务器信息。
其中,所述更新单元包括:
第二判断子单元,用于判断所述数据库是否为位于独立服务器上的数据库;
第一更新子单元,用于在所述数据库为位于独立服务器上的数据库时,将与所述客户端对应的注册信息更新至所述数据库;
第二更新子单元,用于在所述数据库不为位于独立服务器上的数据库时,将与所述客户端对应的注册信息更新至本地的所述数据库后,将与所述客户端对应的注册信息更新至其他信令服务器的数据库。
进一步的,本实施例还公开了一种数据通信装置;需要说明的是,本实施例所述的数据通信装置可以与上述实施例中应用于第一客户端的数据通信方法相互参照,在此并不具体赘述。
参见图9,为本发明一实施例揭露的一种数据通信装置结构示意图,该装置包括:
连接请求发送单元210,用于向所注册的第一信令服务器发送连接请求,以使所述第一信令服务器利用第二客户端的身份标识,将所述连接请求转发至所述第二客户端;其中,所述连接请求中携带所述第一客户端的身份标识,以及第二客户端的身份标识;
响应信息接收单元220,用于接收所述第二客户端通过所述第一信令服务器反馈的响应信息;所述响应信息中包括所述第二客户端的身份标识以及所述第一客户端的身份标识;
候选者信息转发单元230,用于向所注册的第一信令服务器发送第一候选者信息,并接收所述第二客户端通过所述第一信令服务器发送第二候选者信息,根据所述第一候选者信息和第二候选者信息实现与所述第二客户端的数据通信;其中,每个客户端与第一信令服务器之间通过一条连接进行数据传输。
其中,所述连接请求中包括所述第一客户端的支持格式信息及加密方式信息,所述响应信息中包括所述第二客户端的支持格式信息及加密方式信息。
其中,所述第一候选者信息为所述第一客户端的IP地址和Port信息;所述第二候选者信息为所述第二客户端的IP地址和Port信息。
其中,所述连接请求发送单元包括:
第一连接请求发送子单元,用于在所述第二客户端所注册的第二信令服务器为所述第一信令服务器时,向所注册的信令服务器发送连接请求,以使所述第一信令服务器利用第二客户端的身份标识,将所述连接请求转发至所述第二客户端;
第二连接请求发送子单元,用于在如果所述第二客户端所注册的第二信令服务器不为所述第一信令服务器时,向所注册的第一信令服务器发送连接请求,通过所述第一信令服务器利用第二客户端的身份标识,将所述连接请求通过所述第二信令服务器转发至所述第二客户端。
其中,所述候选者信息转发单元包括:
第一候选者信息转发子单元,用于在所述第二客户端所注册的第二信令服务器为所述第一信令服务器时,将第一候选者信息通过所述第一信令服务器发送至所述第二客户端,通过所述第一信令服务器接收所述第二客户端发送的第二候选者信息;
第二候选者信息转发子单元,用于在所述第二客户端所注册的第二信令服务器不为第一信令服务器时,将第一候选者信息利用所述第一信令服务器发送至所述第二信令服务器,通过所述第二信令服务器发送至所述第二客户端;并接收所述第二信令服务器通过所述第一信令服务器发送的,所述第二客户端的第二候选者信息。
其中,本方案还包括:
注册请求发送单元,用于向第一信令服务器发送注册请求,以使所述第一信令服务器根据所述注册请求对所述客户端执行注册操作,并将与所述客户端对应的注册信息更新至所述数据库;其中,所述注册请求中携带所述客户端的IP地址和Port信息;所述注册信息包括所述客户端的身份标识以及客户端所注册的信令服务器信息;
身份标识接收单元,用于接收所述第一信令服务器发送的所述第一客户端唯一的身份标识。
进一步的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据通信程序,所述数据通信程序可被一个或者多个处理器执行,以实现如上述实施例中应用于第一信令服务器的数据通信方法。
进一步的,本发明实施例还提供一种数据通信设备。
参照图10为本发明一实施例揭露的数据通信设备结构示意图,所述数据通信设备包括:存储器11和处理器12,所述存储器11上存储有可在所述处理器上运行的数据通信程序01,所述数据通信程序被所述处理器12执行时实现如上述实施例中应用于第一信令服务器的数据通信方法。
在本实施例中,所述数据通信设备1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备终端设备。
该数据通信设备1可以是组成CDN网络或者区块链网络的节点。
该数据通信设备1可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是数据通信设备1的内部存储单元,例如该数据通信设备1的硬盘。存储器11在另一些实施例中也可以是数据通信设备1的外部存储设备,例如数据通信设备1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括数据通信设备1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于数据通信设备1的应用软件及各类数据,例如数据通信程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行数据通信程序01等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,数据通信设备还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该数据通信设备1与其他电子设备之间建立通信连接。
可选地,该数据通信设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在数据通信设备1中处理的信息以及用于显示可视化的用户界面。
图10仅示出了具有组件11-14以及数据通信程序01的数据通信设备1,本领域技术人员可以理解的是,图10示出的结构并不构成对数据通信设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
进一步的,本发明实施例还提供一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述任意方法实施例中所述的基于信令服务器的数据通信方法。
进一步的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据通信程序,所述数据通信程序可被一个或者多个处理器执行,以实现如上述实施例中应用于第一客户端的数据通信方法。
进一步的,本发明实施例还提供一种数据通信设备,所述数据通信设备包括:存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据通信程序,所述数据通信程序被所述处理器执行时实现如上述实施例中应用于第一客户端的数据通信方法。
需要说明的是,由于本实施例所述的数据通信设备与上一实施例所述的数据通信设备的具体结构相同,仅所实现的程序不同,因此,在本实施例中,便不对该设备进行赘述,具体内容可参考上述实施例所述的数据通信设备。
进一步的,本发明实施例还提供一种数据通信系统,该系统包括上述实施例所述的存储有应用于第一信令服务器的数据通信程序的数据通信设备,以及,如上述实施例所述的存储有应用于第一客户端的数据通信程序的数据通信设备。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (15)

1.一种数据通信方法,其特征在于,应用于第一信令服务器,所述方法包括:
接收第一客户端发送的连接请求;其中,所述连接请求中携带所述第一客户端的身份标识,以及第二客户端的身份标识;
利用所述第二客户端的身份标识,将所述连接请求转发至所述第二客户端,并将所述第二客户端反馈的响应信息发送至所述第一客户端;所述响应信息中包括所述第二客户端的身份标识以及所述第一客户端的身份标识;
将所述第一客户端发送的第一候选者信息发送至所述第二客户端,将所述第二客户端发送的第二候选者信息发送至所述第一客户端,以使所述第一客户端和所述第二客户端根据所述第一候选者信息和第二候选者信息实现数据通信;其中,每个客户端与信令服务器之间通过一条连接进行数据传输。
2.根据权利要求1所述的数据通信方法,其特征在于,
所述连接请求中包括所述第一客户端的支持格式信息及加密方式信息,所述响应信息中包括所述第二客户端的支持格式信息及加密方式信息。
3.根据权利要求1所述的数据通信方法,其特征在于,所述第一候选者信息为所述第一客户端的IP地址和Port信息;所述第二候选者信息为所述第二客户端的IP地址和Port信息。
4.根据权利要求1所述的数据通信方法,其特征在于,利用所述第二客户端的身份标识,将所述连接请求转发至所述第二客户端,并将所述第二客户端反馈的响应信息发送至所述第一客户端,包括:
根据所述第二客户端的身份标识,从数据库中查找所述第二客户端所注册的第二信令服务器;其中,所述数据库中存储了所有信令服务器中已注册的客户端的身份标识;
判断所述第二客户端所注册的第二信令服务器是否为本信令服务器;
若是,则将所述连接请求转发至所述第二客户端,并将所述第二客户端反馈的响应信息发送至所述第一客户端;
若否,则将所述连接请求通过所述第二信令服务器发送至所述第二客户端;并将所述第二客户端通过所述第二信令服务器反馈的响应信息发送至所述第一客户端。
5.根据权利要求4所述的数据通信方法,其特征在于,所述将所述第一客户端发送的第一候选者信息发送至所述第二客户端,将所述第二客户端发送的第二候选者信息发送至所述第一客户端,包括:
若所述第二客户端所注册的第二信令服务器为本信令服务器,则将所述第一客户端发送的第一候选者信息发送至所述第二客户端,将所述第二客户端发送的第二候选者信息发送至所述第一客户端;
若所述第二客户端所注册的第二信令服务器不为本信令服务器,则将所述第一客户端发送的第一候选者信息通过所述第二信令服务器发送至所述第二客户端,将所述第二客户端通过所述第二信令服务器发送的第二候选者信息发送至所述第一客户端。
6.根据权利要求1至5任意一项所述的数据通信方法,其特征在于,所述接收第一客户端发送的连接请求之前,还包括:
接收第一客户端发送的注册请求;其中,所述注册请求中携带所述第一客户端的IP地址和Port信息;
根据所述注册请求对所述第一客户端执行注册操作,分配给所述第一客户端唯一的身份标识;
将与所述第一客户端对应的注册信息更新至所述数据库;其中,所述注册信息包括所述第一客户端的身份标识以及第一客户端所注册的信令服务器信息。
7.根据权利要求6所述的数据通信方法,其特征在于,所述将与所述第一客户端对应的注册信息更新至所述数据库,包括:
判断所述数据库是否为位于独立服务器上的数据库;
若是,则将与所述第一客户端对应的注册信息更新至所述数据库;
若否,则将与所述第一客户端对应的注册信息更新至本地的所述数据库后,将与所述第一客户端对应的注册信息更新至其他信令服务器的数据库。
8.一种数据通信方法,其特征在于,应用于第一客户端,所述方法包括:
第一客户端向所注册的第一信令服务器发送连接请求,以使所述第一信令服务器根据第二客户端的身份标识,将所述连接请求转发至所述第二客户端;其中,所述连接请求中携带所述第一客户端的身份标识,以及第二客户端的身份标识;
接收所述第二客户端通过所述第一信令服务器反馈的响应信息;所述响应信息中包括所述第二客户端的身份标识以及所述第一客户端的身份标识;
向所注册的第一信令服务器发送第一候选者信息,并接收所述第二客户端通过所述第一信令服务器发送第二候选者信息,根据所述第一候选者信息和第二候选者信息实现与所述第二客户端的数据通信;其中,每个客户端与第一信令服务器之间通过一条连接进行数据传输。
9.一种数据通信设备,其特征在于,所述设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据通信程序,所述数据通信程序被所述处理器执行时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据通信程序,所述数据通信程序可被一个或者多个处理器执行,以实现如权利要求1至7中任一项所述数据通信方法。
11.一种数据通信装置,其特征在于,包括:
连接请求接收单元,用于接收第一客户端发送的连接请求;所述连接请求中携带所述第一客户端的身份标识,以及第二客户端的身份标识;
连接请求转发单元,用于利用所述第二客户端的身份标识,将所述连接请求转发至所述第二客户端,并将所述第二客户端反馈的响应信息发送至所述第一客户端;所述响应信息中包括所述第二客户端的身份标识以及所述第一客户端的身份标识;
候选者信息发送单元,用于将所述第一客户端发送的第一候选者信息发送至所述第二客户端,将所述第二客户端发送的第二候选者信息发送至所述第一客户端,以使所述第一客户端和所述第二客户端根据所述第一候选者信息和第二候选者信息实现数据通信;其中,每个客户端与信令服务器之间通过一条连接进行数据传输。
12.一种数据通信设备,其特征在于,所述设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据通信程序,所述数据通信程序被所述处理器执行时实现如权利要求8任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据通信程序,所述数据通信程序可被一个或者多个处理器执行,以实现如权利要求8所述数据通信方法。
14.一种数据通信装置,其特征在于,包括:
连接请求发送单元,用于向所注册的第一信令服务器发送连接请求,以使所述第一信令服务器利用第二客户端的身份标识,将所述连接请求转发至所述第二客户端;其中,所述连接请求中携带所述第一客户端的身份标识,以及第二客户端的身份标识;
响应信息接收单元,用于接收所述第二客户端通过所述第一信令服务器反馈的响应信息;所述响应信息中包括所述第二客户端的身份标识以及所述第一客户端的身份标识;
候选者信息转发单元,用于向所注册的第一信令服务器发送第一候选者信息,并接收所述第二客户端通过所述第一信令服务器发送第二候选者信息,根据所述第一候选者信息和第二候选者信息实现与所述第二客户端的数据通信;其中,每个客户端与第一信令服务器之间通过一条连接进行数据传输。
15.一种数据通信系统,其特征在于,如权利要求9所述的数据通信设备,以及如权利要求12所述的数据通信设备。
CN201910299504.0A 2019-04-15 2019-04-15 一种数据通信方法、设备、装置、系统及存储介质 Active CN110012107B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910299504.0A CN110012107B (zh) 2019-04-15 2019-04-15 一种数据通信方法、设备、装置、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910299504.0A CN110012107B (zh) 2019-04-15 2019-04-15 一种数据通信方法、设备、装置、系统及存储介质

Publications (2)

Publication Number Publication Date
CN110012107A true CN110012107A (zh) 2019-07-12
CN110012107B CN110012107B (zh) 2022-07-26

Family

ID=67171791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910299504.0A Active CN110012107B (zh) 2019-04-15 2019-04-15 一种数据通信方法、设备、装置、系统及存储介质

Country Status (1)

Country Link
CN (1) CN110012107B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309744A (zh) * 2020-02-10 2020-06-19 北京星选科技有限公司 对象处理方法、装置、电子设备及计算机可读存储介质
CN113037816A (zh) * 2021-02-26 2021-06-25 深圳市欢太科技有限公司 通信方法、存储介质及相关设备
CN113472545A (zh) * 2021-08-31 2021-10-01 阿里云计算有限公司 设备入网方法、装置、设备、存储介质和通信系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102395119A (zh) * 2011-11-15 2012-03-28 华为技术有限公司 一种支持应用客户端永久在线的方法、系统及装置
WO2016024076A1 (en) * 2014-08-12 2016-02-18 Jewel Aviation And Technology Limited Data security system and method
CN106850502A (zh) * 2015-12-04 2017-06-13 阿里巴巴集团控股有限公司 基于长连接的业务请求转发方法、存储方法、装置及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102395119A (zh) * 2011-11-15 2012-03-28 华为技术有限公司 一种支持应用客户端永久在线的方法、系统及装置
WO2016024076A1 (en) * 2014-08-12 2016-02-18 Jewel Aviation And Technology Limited Data security system and method
CN106850502A (zh) * 2015-12-04 2017-06-13 阿里巴巴集团控股有限公司 基于长连接的业务请求转发方法、存储方法、装置及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309744A (zh) * 2020-02-10 2020-06-19 北京星选科技有限公司 对象处理方法、装置、电子设备及计算机可读存储介质
CN113037816A (zh) * 2021-02-26 2021-06-25 深圳市欢太科技有限公司 通信方法、存储介质及相关设备
CN113037816B (zh) * 2021-02-26 2023-07-14 深圳市欢太科技有限公司 通信方法、存储介质及相关设备
CN113472545A (zh) * 2021-08-31 2021-10-01 阿里云计算有限公司 设备入网方法、装置、设备、存储介质和通信系统

Also Published As

Publication number Publication date
CN110012107B (zh) 2022-07-26

Similar Documents

Publication Publication Date Title
CN105956000B (zh) 一种数据交互方法及客户端
CN110012107A (zh) 一种数据通信方法、设备、装置、系统及存储介质
CN110505275A (zh) 数据传输方法、系统、服务器及计算机可读存储介质
CN102638582B (zh) 数据通信方法及通信端
CN104486327B (zh) 页面与长连接服务器间的通信方法及客户端
CN104113879A (zh) 部署有云AC的WiFi通信系统和通信方法
CN102647355A (zh) Lacp协商处理方法、中继节点及系统
JP2006237815A (ja) 通信セッション切替方法およびシステム
CN100558109C (zh) 基于会话初始协议的负载均衡实现方法及系统
CN104253840A (zh) 用于支持多种类型安全载体之间通信的装置及其通信方法
US20210250416A1 (en) Systems and methods for determining a destination location for transmission of packetized data in a network system based on an application server attribute
CN104486589A (zh) 基于gvrp的视频监控系统中的访问方法及装置
TW200928777A (en) Data processing method and apparatus based on cluster
CN102594886B (zh) 浏览器与浏览器直通的方法、装置和通信系统
CN102724209A (zh) 一种基于sip的文件传输方法、终端和应用服务器
CN105323229A (zh) 一种基于cpe的数据传输方法、网元、平台及系统
CN108306986A (zh) 多类型媒体数据网络地址转换穿越方法、终端及系统
CN109889521A (zh) 存储器、通信通道复用实现方法、装置和设备
CN102780602A (zh) 一种数据传输方法及装置
CN104683403A (zh) 用于资源共享的方法、资源服务器和系统
CN102984696B (zh) 基于移动终端的ip通信方法、设备和系统
CN104683312A (zh) 媒体复用协商的方法和装置
CN102656942B (zh) 用于3gpp网络中的地址转换器穿越的方法
CN110430478B (zh) 组网通信方法、装置、终端设备及存储介质
CN104065656A (zh) 一种媒体流数据识别方法

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