基于移动终端的长连接分级通信方法和系统与流程

文档序号:16097603发布日期:2018-11-27 23:46阅读:192来源:国知局

本申请涉及通信领域,特别是涉及一种基于移动终端的长连接分级通信方法和系统。



背景技术:

在现有的服务中,很多都是基于短连接的服务,短连接服务需要用户终端根据业务需要主动发起连接,业务完成后断开连接,如果用户终端发起频率过高则容易对服务器造成较大负担,但如果发起频率较低则不能保证反馈结果被用户终端实时地接收。因此,在移动智能时代,需要在服务器和智能设备之间保持长连接通信。现有技术的方法一般是让所有终端均与一个服务器建立长连接来持通信。该服务器承担连接、业务处理负载的功能,然而在智能设备数量增加时,无法承受业务和连接通信压力,可能导致数据丢失、无法实时通信等严重后果。



技术实现要素:

本申请的目的在于克服上述问题或者至少部分地解决或缓减解决上述问题。

根据本申请的一个方面,提供了一种长连接分级通信方法,包括:

第一长连接步骤:第一节点与至少一个用户终端建立第一长连接,将与所述至少一个用户终端的身份信息发送给中心节点;

关系建立步骤:中心节点根据所述第一节点发送的信息,建立所述第一节点与所述至少一个用户终端之间的关系;

数据推送步骤:中心节点在接收到业务服务器推送的数据时,根据所述第一节点与所述用户终端之间的关系将所述数据发送给所述第一节点,以便所述第一节点将所述数据发送给所述用户终端。

该方法能够对中心节点服务器的功能进行划分,将部分功能分配给二级节点,从而降低中心节点的数据处理压力,并且节点与用户终端之间关系数据在中心节点和二级节点都有存储,进一步降低了设备故障带来的风险。

可选地,所述第一长连接步骤包括:

第一长连接请求接收步骤:第一节点接收至少一个用户终端与该第一节点建立所述第一长连接的请求,其中,所述请求中包括该用户终端的身份信息;

会话建立步骤:所述第一节点基于所述请求建立会话以及所述会话与所述至少一个用户终端的绑定关系;

绑定关系传送步骤:每隔预定间隔,所述第一节点将与该第一节点绑定的用户终端的身份信息传送所述中心节点。

可选地,所述关系建立步骤包括:

中心节点根据所述第一节点发送的信息,建立或者更新所述第一节点、所述会话与所述用户终端的身份信息之间的关系表。

可选地,所述数据推送步骤包括:

查找步骤:中心节点在接收到业务服务器推送的数据时,根据所述关系表查找所述第一节点和所述会话;

数据发送步骤:中心节点将所述数据发送给所述第一节点,以便所述第一节点基于所述绑定关系将所述数据发送给所述用户终端。

可选地,在所述数据推送步骤之后,该方法还包括:

第二长连接步骤:在所述第一节点与至少一个用户终端建立的第一长连接断开的情况下,第二节点与至少一个用户终端建立第二长连接,将与该用户终端的身份信息发送给所述中心节点。

根据本申请的另一个方面,还提供了一种长连接分级通信系统,包括:第一节点和中心节点,所述第一节点和所述中心节点通过网络连接,其中,

第一节点用于与至少一个用户终端建立第一长连接并将与所述至少一个用户终端的身份信息发送给所述中心节点;和

所述中心节点用于根据所述第一节点发送的信息,建立所述第一节点与所述至少一个用户终端之间的关系,并且在接收到业务服务器推送的数据时,根据所述第一节点与所述用户终端之间的关系将所述数据发送给所述第一节点,以便所述第一节点将所述数据发送给所述用户终端。

该系统能够对中心节点服务器的功能进行划分,将部分功能分配给二级节点,从而降低中心节点的数据处理压力,并且节点与用户终端之间关系数据在中心节点和二级节点都有存储,进一步降低了设备故障带来的风险。

可选地,所述第一节点进一步用于:接收至少一个用户终端与该第一节点建立所述第一长连接的请求,其中,所述请求中包括所述至少一个用户终端的身份信息;基于所述请求,建立会话以及所述会话与所述至少一个用户终端的绑定关系;每隔预定间隔,将与该第一节点绑定的用户终端的身份信息传送所述中心节点。

可选地,所述中心节点进一步用于:根据所述第一节点发送的信息,建立或者更新所述第一节点、所述会话与所述用户终端的身份信息之间的关系表。

可选地,所述中心节点进一步用于:在接收到业务服务器推送的数据时,根据所述关系表查找所述第一节点和所述会话;将所述数据发送给所述第一节点,以便所述第一节点基于所述绑定关系将所述数据发送给所述用户终端

可选地,该系统还包括第二节点,所述第二节点与所述中心节点通过网络连接,所述第二节点用于:在所述第一节点与至少一个用户终端建立的第一长连接断开的情况下,与至少一个用户终端建立第二长连接,将与该用户终端的身份信息发送给所述中心节点。

根据下文结合附图对本申请的具体实施例的详细描述,本领域技术人员将会更加明了本申请的上述以及其他目的、优点和特征。

附图说明

后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:

图1是根据本申请的长连接分级通信方法的一个实施例的示意性流程图;

图2是根据本申请的长连接分级通信方法的另一个实施例的示意性流程图;

图3是根据本申请的长连接分级通信系统的一个实施例的示意性框图;

图4是根据本申请的长连接分级通信系统的另一个实施例的示意性框图;

图5是根据本申请的长连接分级通信系统的另一个实施例的示意性框图。

具体实施方式

根据下文结合附图对本申请的具体实施例的详细描述,本领域技术人员将会更加明了本申请的上述以及其他目的、优点和特征。

本申请的实施例提供了一种长连接分级通信方法。图1是根据本申请的长连接分级通信方法的一个实施例的示意性流程图。该方法可以包括以下步骤:

S100第一长连接步骤:第一节点与至少一个用户终端建立第一长连接,将与所述至少一个用户终端的身份信息发送给中心节点;

S200关系建立步骤:中心节点根据所述第一节点发送的信息,建立所述第一节点与所述至少一个用户终端之间的关系;

S300数据推送步骤:中心节点在接收到业务服务器推送的数据时,根据所述第一节点与所述用户终端之间的关系将所述数据发送给所述第一节点,以便所述第一节点将所述数据发送给所述用户终端。

该方法能够对中心节点服务器的功能进行划分,将部分功能分配给二级节点,从而降低中心节点的数据处理压力,并且节点与用户终端之间关系数据在中心节点和二级节点都有存储,进一步降低了设备故障带来的风险。

本申请提供的方法是一种基于长连接的分级通信管理机制,在该方法中,信息通过二级分层结构实现。一级节点为中心节点,一级节点的数量可以为一个。二级节点为中心节点的下一级节点。

一级节点和二级节点有各自的职责,二级节点负责与用户终端保持连接,处理用户终端与第二节点之间的心跳信号、判断用户是否在线等基本功能。其中,心跳信号指的是:每隔一段时间用户终端向互联的第二节点发送数据包,通过第二节点的回复情况判断互联的双方之间的通讯连接是否已经断开。中心节点主要负责与业务系统的对接,将用户终端和/或第二节点传递消息到业务系统,维护用户终端的综合状态。业务系统包括业务服务器。

可选地,中心节点和二级节点可以是计算机、工作站、服务器或其他设备中的一种或几种。

可选地,所述S100第一长连接步骤包括:

第一长连接请求接收步骤:第一节点接收至少一个用户终端与该第一节点建立所述第一长连接的请求,其中,所述请求中包括该用户终端的身份信息;

会话建立步骤:所述第一节点基于所述请求建立会话以及所述会话与所述至少一个用户终端的绑定关系;

绑定关系传送步骤:每隔预定间隔,所述第一节点将与该第一节点绑定的用户终端的身份信息传送所述中心节点。

在第一长连接请求接收步骤中,在第一节点和用户终端之间建立长连接,在第一节点与用户终端之间完成一次读写之后,二者之间的连接并不会主动关闭,后续的读写操作会继续使用这个连接,因此能够建立用户终端与业务服务器的通信桥梁,提供稳定可靠的消息透传服务,提高通信的效率。其中,用户终端的身份信息包括:用户终端网卡的媒体访问控制(Media Access Control,MAC)地址、移动设备国际识别码(International Mobile Equipment Identity,IMEI)、设备的唯一标识码(Unique Device Identifier,UDID)。

在会话建立步骤中,第一节点与用户终端之间在传输层上建立长连接,利用长连接将用户终端发送的用户登录请求或业务处理请求转发给第一节点,并且在会话层为用户终端建立会话,用户终端每次请求都会先判断会话层的该会话是否过期,如果过期则第一节点会重新创建新的会话;并且判断传输层是否为长连接,如果是长连接不用重新创建TCP连接,如果短连接则重新创建TCP长连接。第一节点响应时,判断传输层是否长连接,会话层的会话是否可用。

在绑定关系传送步骤中,所述第一节点每隔预定间隔将与该第一节点绑定的用户终端的身份信息传送所述中心节点,以便中心节点更新第一节点的绑定信息。

可选地,第一节点具有保活探测功能,以探测长连接的存活状况。如果用户终端在一个给定的连接时间内没有任何的动作,则第一节点就向用户终端发送探测报文段,以探测用户终端的状态和是否存在恶意连接。

可选地,所述S200关系建立步骤包括:

中心节点根据所述第一节点发送的信息,建立或者更新所述第一节点、所述会话与所述用户终端的身份信息之间的关系表。

在该步骤汇中,中心节点可以保存第一节点发送的消息,并且将这些消息作为关系表存储在数据库中,当二级节点数量为两个以上时,可以将与每个二级节点对应的表格进行存储和更新。

可选地,所述S300数据推送步骤包括:

查找步骤:中心节点在接收到业务服务器推送的数据时,根据所述关系表查找所述第一节点和所述会话;和

数据发送步骤:中心节点将所述数据发送给所述第一节点,以便所述第一节点基于所述绑定关系将所述数据发送给所述用户终端。例如,第一节点将业务数据发送到二级节点后,二级节点可以根据MAC地址,查询到对应的用户终端的会话,将业务消息发送到该用户终端。

图2是根据本申请的长连接分级通信方法的另一个实施例的示意性流程图。可选地,在所述S300数据推送步骤之后,该方法还包括:

S400第二长连接步骤:在所述第一节点与至少一个用户终端建立的第一长连接断开的情况下,第二节点与至少一个用户终端建立第二长连接,将与该用户终端的身份信息发送给所述中心节点。

采用该步骤,能够在智能设备数量增加时通过增加二级节点的数目对用户量进行水平扩展,而不用增加中心节点的数量,在二级节点异常的情况下,用户能够与其他二级节点建立连接,从而使得通信更加灵活,并且增加信息传输和处理的安全性和效率。

本申请的实施例还提供了一种长连接分级通信系统。图3是根据本申请的长连接分级通信系统的一个实施例的示意性框图。该系统可以包括:第一节点和中心节点,所述第一节点和所述中心节点通过网络连接,其中,

第一节点用于与至少一个用户终端建立第一长连接并将与所述至少一个用户终端的身份信息发送给所述中心节点;

所述中心节点用于根据所述第一节点发送的信息,建立所述第一节点与所述至少一个用户终端之间的关系,并且在接收到业务服务器推送的数据时,根据所述第一节点与所述用户终端之间的关系将所述数据发送给所述第一节点,以便所述第一节点将所述数据发送给所述用户终端。

该系统能够对中心节点服务器的功能进行划分,将部分功能分配给二级节点,从而降低中心节点的数据处理压力,并且节点与用户终端之间关系数据在中心节点和二级节点都有存储,进一步降低了设备故障带来的风险。

可选地,所述第一节点进一步用于:接收至少一个用户终端与该第一节点建立所述第一长连接的请求,其中,所述请求中包括所述至少一个用户终端的身份信息;基于所述请求,建立会话以及所述会话与所述至少一个用户终端的绑定关系;每隔预定间隔,将与该第一节点绑定的用户终端的身份信息传送所述中心节点。

可选地,所述中心节点进一步用于:根据所述第一节点发送的信息,建立或者更新所述第一节点、所述会话与所述用户终端的身份信息之间的关系表。

可选地,所述中心节点进一步用于:在接收到业务服务器推送的数据时,根据所述关系表查找所述第一节点和所述会话;将所述数据发送给所述第一节点,以便所述第一节点基于所述绑定关系将所述数据发送给所述用户终端。

图4是根据本申请的长连接分级通信系统的另一个实施例的示意性框图。可选地,该系统还包括第二节点,所述第二节点与所述中心节点通过网络连接,所述第二节点用于:在所述第一节点与至少一个用户终端建立的第一长连接断开的情况下,与至少一个用户终端建立第二长连接,将与该用户终端的身份信息发送给所述中心节点。

在该系统中,二级节点可以被设置到不同机房中,不存在连接量增加而占用内存的情况。或者,二级节点被设置到距离用户终端较近的机房中,以减少用户终端与二级节点之间通信的路由节点,提高通信效率及质量。如果一个节点异常或者出现故障,用户终端可以尝试其他二级节点进行连接,提高系统的可用性,二级节点可以对用户终端进行基本信息管理,如心跳、在线信息等,以减轻中心节点的服务压力。

参见图4,可选地,该系统还可以包括后台服务器,所述后台服务器分别与中心节点和用户终端连接。图5是根据本申请的长连接分级通信系统的另一个实施例的示意性框图。所述后台服务器包括异步消息服务模块和虚拟机HTTP接口。其中,异步消息服务模块与中心节点连接,用于通过中心节点接收用户终端的数据或者将数据发送给用户终端。虚拟机HTTP接口用于与用户终端连接,以便用户通过该接口访问系统页面。

参见图5,可选地,该系统还可以包括资源服务器,所述资源服务器分别与所述后台服务器的WEB服务模块和用户终端连接,用于为用户终端提供资源信息,并且与后台服务器之间通信。

所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。二维码显示装置和收银装置之间为有线连接或者无线连接,无线连接包括:WIFI、蓝牙、NFC等。

所述移动终端可以是任何一种可与用户通过键盘、鼠标、触摸屏、声控设备或手写设备等方式进行人机交互的电子产品,例如手机、智能手机、PDA、可穿戴设备、掌上电脑PPC或平板电脑等。

应该理解的是,本申请的各个实施例之间不是独立的,在一个实施例中公开的内容也可以适用于其他实施例。专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1