实现心跳机制的方法、应用服务器、网络数据库及系统
技术领域
本发明涉及通信技术领域,尤其涉及一种实现心跳机制的方法、应用服务器、网络数据库及系统。
背景技术
在某些业务领域如即时消息、长距离远程监控领域里,目前大多采用短数据包的方式进行数据传输,利用基于TCP(Transmission Control Protocol,传输控制协议)/IP协议的Internet或GPRS(General Packet Radio Service,通用分组无线服务技术)、CDMA(Code Division Multiple Access,码分多址)等进行数据传送,通信可靠性成为保障业务质量的关键。为了保持基于TCP/IP协议远程通信的快速性和稳定性,通常采用心跳包机制。所谓心跳包机制,就是收发心跳数据包(简称心跳包)机制,实际就是一个自定义协议的、特定的、循环发送的数据包,主要用于判断网络节点是否还在连接。该协议需要各节点都支持,一般用来判断对端(设备,进程或其他网元)是否正常运行,采用定时发送简单的通信包,如果在指定时间段内未收到对方响应,则判断与对方的连接已经中断。
在各种基于客户端-服务器模式的技术方案中,客户端在登录到服务器端后,需要在客户端与服务器端之间保持连接,以保证:1、服务器端和客户端相互能够知道对方当时的状态,确定对方是否能够接收和处理消息;2、服务器端能正确的定位到客户端的地址,向客户端发送消息。
已公开的专利文献中,申请号/专利号为200710140469的中国专利公开了《一种实现心跳机制的方法、服务器和系统》,其目的在于提供一种实现心跳机制的方法、服务器及系统,以解决上述不能对心跳请求消息进行有目的的客户端识别的技术问题。
此外,申请号/专利号为CN200880127966.4的中国专利公开了《一种在通信网络中实现心跳机制的方法和装置》,通过在通信网络的控制设备和执行设备之间引入代理设备,完成控制设备和执行设备之间有关工作状态监控的处理,从而极大地降低了控制设备处理状态监控相关信息的负担。具体地,代理设备先获得多个执行设备的工作状态信息,并通过一条或多条上行报告消息上报给控制设备;控制设备在接收到来自代理设备报告的上行报告消息后,基于上述上行报告消息,获取多个执行设备的工作状态信息。本发明尤其适用于软交换网络中基于心跳机制的设备状态监控。
现有技术的相关方案中,客户端登录后,建立了客户端账号与地址信息(如,IP地址和端口号)的对应关系。每一次心跳消息交互都需要网络终端设备每隔一定时间将自身的状态信息进行收集后,通过心跳数据包通过网络发送到网络地址转换服务器上;网络地址转换服务器将心跳数据包信息进行地址转换处理后,将心跳数据包转发到中央心跳服务器上;对于经过检查合格的心跳数据包,写入相关的记录信息;检查不合格的,丢弃当前的心跳数据包;中央任务管理器根据相关记录信息进行向客户端系统发送相应反馈信息心跳数据包的处理,网络地址转换服务器将数据包发送给相应的网络终端设备。
现有技术中用于实现客户端与服务器端之间心跳连接的方法中,有一种基于UDP(User Datagram Protocol,用户数据报协议)协议的网络心跳监控方法,该方法包括以下步骤:
(1)网络终端设备每隔一定时间将自身的状态信息进行收集并进行压缩打包处理,然后使用UDP协议将UDP心跳数据包通过网络发送到网络地址转换服务器上;
(2)网络地址转换服务器将网络终端设备发送的UDP心跳数据包信息进行地址转换处理,即,将网络终端设备的IP地址和端口转换为网络地址转换服务器的IP地址和端口,再将该UDP心跳数据包信息通过网络转发到中央心跳服务器上;
(3)中央心跳服务器在接收到相应的UDP心跳数据包信息之后,通过网络发给心跳管理器;
(4)心跳管理器对该UDP心跳数据包信息进行解压缩验证处理,然后对相应信息进行格式翻译处理,如果信息格式不正确,则心跳管理器丢弃当前UDP心跳数据包,并向客户端系统发送UDP心跳数据包信息重发所要求的反馈信息UDP数据包;如果信息格式正确,则将相关记录信息转发至中央数据库服务器中写入数据库;
(5)中央任务管理器根据中央数据库服务器中写入的相关记录信息,进行向客户端系统发送相应反馈信息UDP心跳数据包的处理;
(6)网络地址转换服务器通过网络接收到中央服务器系统的反馈信息UDP数据包,对其进行反向地址转换处理,即将网络地址转换服务器的IP地址和端口转换位网络终端设备的IP地址和端口;
(7)网络地址转换服务器将反馈信息UDP数据包发送给相应的网络终端设备;
(8)网络终端设备根据该反馈信息UDP数据包进行相应的后续处理。
所以,客户端每次HTTP登录后,服务器端根据所述客户端的相关记录信息中的账号与地址信息的对应关系,在所述客户端账号对应的IP地址和端口号上完成心跳数据包发送、接收,即心跳连接的交互。这些心跳消息是由服务器与客户端应用层发出,由IP网络承载层负责转发的短数据报文。
由于心跳消息的频次很高,用户基数大,因此会对IP网络承载层性能产生影响,特别是对无线蜂窝网等无线方式的承载层产生严重影响,具体表现在以下方面:
一方面,当应用层消息(如heartbeat)间隔大于去激活定时器(inactivitytimer)时,则会产生如下问题:
1)无线终端会频繁的在空闲(Idle)和激活(Active)状态转换;
2)增加控制面信令,加大无线接入网RAN和分组核心网的信令开销;
3)减少手机电池待机/工作时间,影响用户体验;
另一方面,当应用层消息(如heartbeat)间隔小于去激活定时器(inactivitytimer)时,则会产生如下问题:
1)无线终端会始终占据无线资源;
2)浪费无线资源,降低利用率;
3)减少手机电池待机/工作时间,影响用户体验。
另外,鉴于现在的网络环境日益恶化,各种各样的恶意攻击层出不穷,特别是基于客户端实现对于网络服务器攻击的行为,危害更大。因此,也有必要提供心跳交互安全性的技术方案。
此外,现有技术中还存在如下问题:应用服务器需要维护业务账号与IP地址、端口号之间的动态映射关系,需实现所属客户端登录过程中登记地址信息,如IP地址和端口号;实现对于所属客户端已登记地址信息改变的情况下的安全登录;还存在因改变地址信息导致的二次登录的问题;应用业务服务器需处理业务寻址功能,因而使得业务流程过于复杂。
发明内容
本发明解决的技术问题是提供一种实现心跳机制的方法、应用服务器、网络数据库及系统,能够有效减少网络与终端之间短数据包的发送频率,降低网络负荷。
为解决上述技术问题,本发明提供了一种实现心跳机制的方法,所述方法包括:
应用服务器与网络数据库建立安全机制;
所述应用服务器与所述网络数据库建立用户网络层身份识别之间的映射关系;
网络终端用户通过应用客户端登录所述应用服务器激活业务应用时,所述应用服务器与所述网络数据库之间建立心跳机制。
进一步地,所述方法还包括:
所述网络数据库维护所述终端用户的身份识别与位置识别的映射关系,并根据所述映射关系定位到所述终端用户所在的应用客户端。
进一步地,所述方法还包括:
所述网络数据库根据网络接入设备上报的、或者向网络中的其它网元查询到的信息,并维护所述终端用户的状态信息;
所述状态信息包括:上线状态、下线状态。
进一步地,所述方法还包括:
所述应用服务器与所述网络数据库之间建立状态预约机制,所述网络数据库将所述终端用户的状态变化通知所述应用服务器。
进一步地,所述方法还包括:
所述应用服务器与所述网络数据库之间建立查询机制,所述应用服务器根据业务需要向所述网络数据库查询终端用户状态信息和/或终端用户信息。
进一步地,所述方法还包括:
所述应用客户端停止业务应用时,所述应用服务器通知所述网络数据库停止心跳机制。
进一步地,所述应用服务器与所述网络数据库之间建立安全关联的方式包括但不限于:Internet协议安全(IPsec),双向鉴权授权,虚拟专用网络(VPN)接入。
本发明还提供了一种实现心跳机制的应用服务器,所述应用服务器包括:
应用客户端用户身份识别管理模块,用于:与网络数据库建立用户网络层身份识别之间的映射关系;
应用客户端登录状态维护模块,用于:维护应用客户端是否处于登录状态,在所述应用客户端登录并激活业务应用时,向所述网络数据库请求建立心跳机制;
心跳机制模块,用于:与所述网络数据库进行心跳交互,以确定应用客户端的状态信息;
安全机制模块,用于:与所述网络数据库进行安全交互,完成应用服务器与网络数据库之间的双向鉴权,建立应用服务器与所述网络数据库之间的安全关联;以及,与所述的应用客户端进行安全交互,完成对应用客户端的鉴权。
进一步地,所述应用服务器还包括用户状态查询模块,用于:与所述网络数据库之间建立状态预约机制,向所述网络数据库预约将所述终端用户的状态变化通知所述应用服务器。
进一步地,所述用户状态查询模块还用于:与所述网络数据库之间建立查询机制,根据业务需要向所述网络数据库查询终端用户状态信息和/或终端用户信息。
进一步地,所述应用客户端登录状态维护模块还用于:所述应用客户端停止业务应用时,通知所述网络数据库停止心跳机制。
本发明还提供了一种实现心跳机制的网络数据库,所述网络数据库包括:
心跳机制单元,用于:与应用服务器进行心跳交互,以使所述应用服务器能够确定应用客户端的状态信息;
安全机制单元,用于:与应用服务器进行安全交互,完成所述应用服务器与所述网络数据库之间的双向鉴权,建立所述应用服务器与所述网络数据库之间的安全关联。
进一步地,所述网络数据库还包括:
用户状态维护单元,用于:根据网络接入设备上报的、或者向网络中的其它网元查询到的信息,并维护所述终端用户的状态信息;所述状态信息包括:上线状态、下线状态;
用户状态查询单元,用于:所述应用服务器发起查询时,向所述应用服务器返回相应的终端用户状态信息和/或终端用户信息。
进一步地,所述用户状态查询单元,还用于:与所述网络数据库之间建立状态预约机制,将所述终端用户的状态变化通知所述应用服务器。
进一步地,所述网络数据库还包括:
业务寻址单元,用于:维护所述终端用户的身份识别与位置识别的映射关系,并根据所述映射关系定位到所述终端用户所在的应用客户端。
本发明还提供了一种实现心跳机制的系统,所述系统包括:应用服务器端、应用客户端和网络数据库,其中:
所述应用服务器端用于:应用客户端登录后,激活业务应用,并与网络用户数据库建立心跳机制,获取用户在线状态信息;并建立客户端账号与网络层用户识别之间的对应关系;
所述应用客户端用于:根据所述登录应答信息或心跳应答消息,发送心跳请求消息;
所述网络数据库用于,保存网络层用户识别信息,维护用户在线状态;并与应用服务器建立心跳机制,向所述应用服务器提供用户在线状态信息。
进一步地,所述应用服务器端进一步包括:
应用客户端用户身份识别管理模块,用于:与网络数据库建立用户网络层身份识别之间的映射关系;
应用客户端登录状态维护模块,用于:维护应用客户端是否处于登录状态,在所述应用客户端登录并激活业务应用时,向所述网络数据库请求建立心跳机制;
心跳机制模块,用于:与所述网络数据库进行心跳交互,以确定应用客户端的状态信息;
安全机制模块,用于:与所述网络数据库进行安全交互,完成应用服务器与网络数据库之间的双向鉴权,建立应用服务器与所述网络数据库之间的安全关联;以及,与所述的应用客户端进行安全交互,完成对应用客户端的鉴权。
进一步地,所述应用服务器端还包括用户状态查询模块,用于:与所述网络数据库之间建立状态预约机制,向所述网络数据库预约将所述终端用户的状态变化通知所述应用服务器;和/或,与所述网络数据库之间建立查询机制,根据业务需要向所述网络数据库查询终端用户状态信息和/或终端用户信息。
进一步地,所述应用客户端登录状态维护模块还用于:所述应用客户端停止业务应用时,通知所述网络数据库停止心跳机制。
进一步地,所述网络数据库包括:
心跳机制单元,用于:与应用服务器进行心跳交互,以使所述应用服务器能够确定应用客户端的状态信息;
安全机制单元,用于:与应用服务器进行安全交互,完成所述应用服务器与所述网络数据库之间的双向鉴权,建立所述应用服务器与所述网络数据库之间的安全关联。
进一步地,所述网络数据库还包括:
用户状态维护单元,用于:根据网络接入设备上报的、或者向网络中的其它网元查询到的信息,并维护所述终端用户的状态信息;所述状态信息包括:上线状态、下线状态;
用户状态查询单元,用于:所述应用服务器发起查询时,向所述应用服务器返回相应的终端用户状态信息和/或终端用户信息;并与所述网络数据库之间建立状态预约机制,将所述终端用户的状态变化通知所述应用服务器。
进一步地,所述网络数据库还包括:
业务寻址单元,用于:维护所述终端用户的身份识别与位置识别的映射关系,并根据所述映射关系定位到所述终端用户所在的应用客户端。
与现有技术相比较,本发明具有如下有益效果:
1.本发明中用于确认终端与应用服务器间的连接状态的心跳机制,是由应用服务器与网络用户数据库之间的心跳机制实现,因而有效减少了网络与用户间短数据包的发送频率,降低用户接入网络上的数据负荷。特别是对无线蜂窝网等无线方式,能够有效提高无线资源利用率,提高手机等无线终端的电池待机/工作时间,提升用户体验。
2.应用服务器维护业务账号与用户网络身份识别之间的静态映射关系,无需再维护业务账号与IP地址之间的动态映射关系。网络向应用业务提供唯一网络层用户身份识别,业务寻址功能由网络提供,有效简化了应用业务服务器的业务流程。
3.本发明利用应用服务器与网络数据库之间的心跳机制,代替应用服务器与终端之间的心跳机制,通过应用服务器与网络数据库之间的可信机制,可以实现心跳交互过程的有目的的安全保障,将大大提高系统的安全性,减少潜在的隐患,而且能够实现网络安全和效率的有机统一。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是基于网络的身份位置分离方案的网络架构示意图;
图2是依据本发明实施例的实现心跳机制的方法流程示意图;
图3是本发明基于主机的身份位置分离方案的主机协议栈的示意图;
图4是基于主机的身份位置分离方案的示意图。
具体实施方式
本实施方式提供了一种实现心跳机制的技术方案:网络数据库保存应用服务器需要的用户状态信息,由网络数据库代替终端,与应用服务器建立心跳机制,以报告终端与应用服务器间的连接状态。
具体地,本实施方式提供了一种实现心跳机制的方法,该方法至少包括如下步骤:
步骤1.应用服务器与网络数据库建立安全机制;
步骤2.应用服务器与网络数据库之间建立网络层用户身份识别的映射关系;
步骤3.应用客户端即网络终端用户激活业务应用时,应用服务器与网络数据库之间建立心跳机制。
进一步地,所述方法还包括如下步骤中的一个或多个:
步骤4.网络数据库向网络中的其它网元查询维护终端主机的状态信息。
步骤5.应用服务器与网络数据库建立状态预约机制。如,应用服务器向网络数据库预约:在用户状态变化时主动通知业务应用,其中包括用户上线、下线的状态通知过程。
步骤6.应用客户端即网络终端用户停止业务使用时,应用服务器通知网络数据库停止心跳机制。
步骤7.应用服务器与网络数据库之间建立查询机制。应用服务器可以根据业务流程在需要时查询用户状态及用户信息。
需要说明的是,以上各步骤之间并不存在时序上严格的先后顺序。
本实施方式还提供了一种实现心跳机制的服务器,该服务器主要包括:
应用客户端用户身份识别管理模块,用于:对应的应用服务器端不需要维护客户端账号对应的IP地址和端口号之间的动态绑定关系,建立客户端账号与网络层用户识别之间的静态对应关系;
应用客户端登录状态维护模块,用于:维护应用客户端是否处于登录的状态,并与网络数据库进行交互,通知应用客户端是否处于登录的状态;
心跳机制模块,用于:与网络数据库进行交互,以确定客户端当前状态,是否能够接收和处理消息;
安全机制模块,用于:与网络数据库进行安全交互,完成应用服务器与网络数据库之间的双向鉴权,建立应用服务器与网络数据库之间的安全关联;以及,与应用客户端进行安全交互,完成对应用客户端的鉴权。
用户状态查询模块,用于:应用服务器可以根据业务流程在需要时查询用户状态及用户信息。例如:网络数据库中保存了应用客户端的位置信息,在应用服务器业务需要时,可以向网络数据库发起查询。
此外,本实施方式还提供了一种实现心跳机制的网络数据库,该网络数据库主要包括:
心跳机制单元,用于:与应用服务器进行交互,使得应用服务器能够确定客户端当前状态,应用服务器能够确定是否能够接收和处理消息;
安全机制单元,用于:与应用服务器进行安全交互,完成应用服务器与网络数据库之间的双向鉴权,建立应用服务器与网络数据库之间的安全关联。
进一步地,上述的网络数据库还可以包括以下单元中的一个或多个:
用户状态查询单元,用于:应用服务器可以根据业务流程在需要时查询用户状态及用户信息,网络数据库向其提供查询接口。例如:网络数据库中保存了应用客户端的位置信息,在应用服务器业务需要时,可以向网络数据库发起查询;
用户状态维护单元,用于:网络数据库根据应用服务器的需要,向网络中的其它网元查询维护应用客户端即网络终端主机的状态信息。这些状态信息包括但不限于用户网络终端主机位置信息,网络终端主机欠费状态,在线状态等;
业务寻址单元,用于:网络数据库实时维护应用客户端即网络终端主机身份标识与位置标识之间的对应映射关系。能够通过网络终端主机的身份标识定位到网络终端主机即应用客户端的地址。
数据通信网基于IP地址进行路由时,互联网应用层用户账号如即时通信号码、邮件地址等,不具有标识应用层客户端所在位置的作用,不能够直接用于网络层的寻址和路由。互联网应用层业务客户端之间进行通信时,输入的通信对端识别为应用层用户账号。为实现互联网应用层业务客户端之间端到端的通信过程,需要有一个功能模块负责通过应用层用户账号查询网络层可路由的位置标识,网络层通过可路由的位置标识将数据报文路由到通信对端所在位置。应用服务器与网络数据库建立了应用层用户账号和网络层用户识别之间的静态映射关系,或者将网络层用户识别可直接作为应用层用户账号使用,应用层服务器可以通过网络层业务寻址功能,实现互联网应用层业务客户端之间端到端的通信过程。
此外,本实施方式还提供了一种实现心跳机制的系统,该系统包括:应用服务器端、客户端和网络数据库,
所述的应用服务器端主要用于:在客户端上线后,激活应用业务,对应的应用服务器端与网络用户数据库建立心跳机制,获取用户在线状态信息。对应的应用服务器端不再维护客户端账号对应的IP地址和端口号之间的动态绑定关系,建立客户端账号与网络层用户识别之间的静态对应关系。
所述的客户端主要用于:根据所述登录应答信息或心跳应答消息,发送心跳请求消息。
所述的网络数据库保存了该网络用户的身份识别信息,主要用于:与网络中的接入管理设备配合,保存网络层用户识别信息,维护用户在线状态;并与应用服务器接口,与应用服务器建立心跳机制,向应用层提供用户在线状态信息。
进一步地,所述应用服务器端具体包括以下功能模块:
应用客户端用户身份识别管理模块,用于:与网络数据库建立用户网络层身份识别之间的映射关系;
应用客户端登录状态维护模块,用于:维护应用客户端是否处于登录状态,在所述应用客户端登录并激活业务应用时,向所述网络数据库请求建立心跳机制;
心跳机制模块,用于:与所述网络数据库进行心跳交互,以确定应用客户端的状态信息;
安全机制模块,用于:与所述网络数据库进行安全交互,完成应用服务器与网络数据库之间的双向鉴权,建立应用服务器与所述网络数据库之间的安全关联;以及,与所述的应用客户端进行安全交互,完成对应用客户端的鉴权。
进一步地,所述应用服务器端还包括用户状态查询模块,用于:与所述网络数据库之间建立状态预约机制,向所述网络数据库预约将所述终端用户的状态变化通知所述应用服务器;和/或,与所述网络数据库之间建立查询机制,根据业务需要向所述网络数据库查询终端用户状态信息和/或终端用户信息。
进一步地,所述应用客户端登录状态维护模块还用于:所述应用客户端停止业务应用时,通知所述网络数据库停止心跳机制。
进一步地,所述网络数据库具体包括以下单元:
心跳机制单元,用于:与应用服务器进行心跳交互,以使所述应用服务器能够确定应用客户端的状态信息;
安全机制单元,用于:与应用服务器进行安全交互,完成所述应用服务器与所述网络数据库之间的双向鉴权,建立所述应用服务器与所述网络数据库之间的安全关联。
进一步地,所述网络数据库还包括:
用户状态维护单元,用于:根据网络接入设备上报的、或者向网络中的其它网元查询到的信息,并维护所述终端用户的状态信息;所述状态信息包括:上线状态、下线状态;
用户状态查询单元,用于:所述应用服务器发起查询时,向所述应用服务器返回相应的终端用户状态信息和/或终端用户信息;并与所述网络数据库之间建立状态预约机制,将所述终端用户的状态变化通知所述应用服务器。
进一步地,所述网络数据库还包括:
业务寻址单元,用于:维护所述终端用户的身份识别与位置识别的映射关系,并根据所述映射关系定位到所述终端用户所在的应用客户端。
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
现有因特网广泛使用的TCP/IP协议中IP地址具有双重功能,既作为网络层的通信终端主机网络接口在网络拓扑中的位置标识,又作为传输层主机网络接口的身份标识。TCP/IP协议设计之初并未考虑主机移动的情况。但是,当主机移动越来越普遍时,这种IP地址的语义过载缺陷日益明显。当主机的IP地址发生变化时,不仅路由要发生变化,通信终端主机的身份标识也发生变化。
现有技术中,基于网络路由器的实现方法、基于主机的实现方法是有关身份标识和位置分离的两种主流解决方案。实现身份标识和位置分离后,终端主机的网络层身份标识可以固定下来,不必因终端主机位置变化而变化,基础网络维护终端主机身份标识与位置标识之间的动态映射关系,并完成数据报文由身份标识查找位置标识的过程,完成数据报文的寻址转发过程。
实施例一
本实施例基于网络路由器的身份标识和位置分离解决方案,对本发明的具体实施进行描述:
如图1所示,基于网络的解决方案包括的网元从逻辑功能上可以抽象为:主机,网络数据库,映射封装执行节点/转发设备。网络中的主机有两种标识类型:主机身份标识和位置路由标识。其中主机身份标识指示用户身份,用于端到端通信时标识通信对端;位置标识指示终端用户当前所在的位置,用于数据报文转发时的路由。网络数据库通过映射表保存了终端主机的身份标识和位置标识的对应关系。
身份标识作为主机开户信息保持静态不变。位置标识是由当前接入的映射封装执行节点根据主机位置分配。映射封装执行节点与网络数据库配合,通过注册更新流程,将实时更新网络数据库中保存的主机身份标识和位置标识的映射关系。
主机1向主机2发起通信时,映射封装执行节点1根据通信对端身份标识,到网络数据库查询主机2的位置标识,并将查询结果保存在映射封装执行节点1的映射路由表中,采用映射路由表实时性的维护主机2的身份标识/位置标识映射信息,并根据映射路由表实现数据报文封装处理、路由和转发。映射封装执行节点2收到映射封装执行节点1发出的数据报文后,进行位置标识解封装处理,将解封装后的数据报文送达通信对端。
通信一端主机位置变化时,映射封装执行节点向网络数据库注册新的位置标识并通知通信对端,此后通信两端将以新的位置标识进行通信。
以上基于网络的身份位置分离方案,为主机提供了统一的唯一的身份标识。
本实施例中,基于以上的身份位置分离方案,网络数据库保存了终端主机的身份标识,并动态维护身份标识与位置标识之间的映射关系。
本实施例的实现心跳机制的方法,主要包括如下步骤:
步骤S101.应用服务器与网络数据库建立安全机制。
应用服务器与网络数据库建立安全关联,由于是网络侧设备间的安全关联,无论在处理效率,设备管理升级的便利性、专业程度,还是安全强度以及安全机制的灵活性,都有很大程度的提升。建立安全关联的方式包括但不限于:IPsec,双向鉴权授权,VPN接入。
步骤S102.应用服务器与网络数据库建立用户身份识别之间的映射关系。
通过应用服务器中的应用客户端用户身份识别管理单元,对应的应用服务器端不需要维护客户端账号对应的IP地址和端口号之间的动态绑定关系,建立客户端账号与网络层用户识别之间的静态对应关系。该客户端账号与网络层用户识别之间静态对应关系,可以在客户端账号开户时录入,也可以在用户初次登录时通过应用业务层信令交互获取。在业务流程必要时,应用服务器与网络数据库应有交互确认机制,以保证客户端账号与网络层用户识别对应的是同一用户。
步骤S103.应用客户端即网络终端用户开始使用业务,应用服务器与网络数据库之间建立心跳机制。
应用服务器收到客户端的登录请求,经过验证成功的,向所述客户端返回登录应答消息。应用服务器向网络数据库发起心跳请求,与网络数据库之间建立心跳机制。
网络数据库进行应用服务器识别,识别通过的,所述的网络数据库返回心跳应答消息,应用服务器与网络数据库之间建立了心跳机制。否则结束流程。
步骤S104.应用服务器向网络数据库预约,在用户状态变化时主动通知业务应用,其中包括用户上线、下线的状态通知过程。
网络数据库保存了应用客户端即网络终端用户的状态信息,这些信息包括用户是否在线等。应用服务器可以向网络数据库发起预约,网络数据库在用户状态变化时主动通知业务应用。
步骤S105.应用服务器与网络数据库之间建立查询机制。应用服务器可以根据业务流程在需要时查询用户状态及用户信息。
步骤S106.网络数据库向网络中的其它网元查询维护终端主机的状态信息的过程。
步骤S107.应用客户端即网络终端用户停止业务使用,应用服务器通知网络数据库停止心跳机制。
以上步骤中,步骤S101和步骤S102没有时序上严格的先后顺序。步骤S104,步骤S105,步骤S106之间也没有时序上严格的先后顺序。
根据以上描述可知,本实施例方法至少具有以下有益效果:
1.网络能够掌握终端是否在线,与网络的连接状态信息,通过网络数据库与网络其它网元间的信息交互,网络数据库能够维护保存这些连接状态信息。用于确认终端(应用客户端)与应用服务器间的连接状态的心跳机制,由应用服务器与网络用户数据库之间的心跳机制实现,终端(应用客户端)不再参与与应用服务器之间的心跳机制。有效减少了网络与用户间短数据包的发送频率,降低用户接入网络上的数据负荷。特别是对无线蜂窝网等无线方式,能够有效提高无线资源利用率,提高手机等无线终端的电池待机/工作时间,提升用户体验。
2.本发明的实施例提供的技术方案中,利用应用服务器与网络数据库之间的心跳机制,代替应用服务器与终端之间的心跳机制。利用终端与应用服务器之间的心跳机制发起的网络攻击将有效控制。终端与应用服务器之间的安全机制,转化为应用服务器与网络数据库之间的安全机制。对比终端,应用服务器与网络数据库是网络侧设备,由于是网络侧设备间的安全关联,无论在处理效率,设备管理升级的便利性、专业程度,还是安全强度以及安全机制的灵活性,都有很大程度的提升。通过应用服务器与网络数据库之间的可信机制,可以实现心跳交互过程的有目的的安全保障,将大大提高系统得安全性,减少潜在的隐患,而且能够实现网络安全和效率的有机统一。
实施例二
本实施例基于主机的身份标识和位置分离解决方案,对本发明的具体实施进行描述:
如图3所示,基于主机的身份标识和位置分离解决方案的基本思想是在主机的网络层和传输层之间引入了主机标识层。主机标识层将原来紧密耦合的传输层和网络层分开,IP地址不再扮演标识主机的角色,它只负责数据包的路由转发,即仅用作位置标识符,主机名称由主机标识符来表示。主机标识层在逻辑上位于网络层与传输层之间,由主机完成数据包中的主机标识符和IP地址转换。网络层对于传输层是屏蔽的,网络层的任何变化(例如,在通信过程中主机IP地址的变化)不会影响传输层链路,除非服务质量发生变化。传输层的连接建立在主机标识之上,IP地址只能被用于网络层路由,而不再用于标识主机身份。
如图4所示,基于主机的解决方案包括的网元从逻辑功能上抽象为:主机,网络数据库。通过主机与网络数据库间进行的“验证注册更新”等流程,网络数据库实时地保存了主机标识与终端IP地址之间的映射关系。发起方与响应方进行数据通信时,发起方主机根据响应方主机标识向网络数据库查询响应方主机的IP地址,获得响应方的主机标识/IP地址映射后,发起方与响应方建立安全关联并进行通信。通信一端主机位置变化时,向网络数据库注册新的IP地址并通知通信对端,此后通信两端将以新的IP地址进行通信。
以上基于主机的身份位置分离方案,为主机提供了统一的唯一的身份标识。
本实施例中,基于以上身份位置分离的解决方案,网络数据库保存了终端主机的身份标识,并动态维护身份标识与位置标识之间的映射关系。
本实施例的实现心跳机制的方法,主要包括如下步骤:
步骤S201.应用服务器与网络数据库建立安全机制。
应用服务器与网络数据库建立安全关联,由于是网络侧设备间的安全关联,无论在处理效率,设备管理升级的便利性、专业程度,还是安全强度以及安全机制的灵活性,都有很大程度的提升。建立安全关联的方式包括但不限于:Internet协议安全(IPsec),双向鉴权授权,虚拟专用网络(VPN)接入。
步骤S202.应用服务器与网络数据库建立用户身份识别之间的映射关系。
通过应用服务器中的应用客户端用户身份识别管理单元,对应的应用服务器端不需要维护客户端账号对应的IP地址和端口号之间的动态绑定关系,建立客户端账号与网络层用户识别之间的静态对应关系。该客户端账号与网络层用户识别之间静态对应关系,可以在客户端账号开户时录入,也可以在用户初次登录时通过应用业务层信令交互获取。在业务流程必要时,应用服务器与网络数据库应有交互确认机制,以保证客户端账号与网络层用户识别对应的是同一用户。
步骤S203.应用客户端即网络终端用户开始使用业务,应用服务器与网络数据库之间建立心跳机制。
应用服务器收到客户端的登录请求,经过验证成功的,向所述客户端返回登录应答消息。应用服务器向网络数据库发起心跳请求,与网络数据库之间建立心跳机制。
网络数据库进行应用服务器识别,识别通过的,所述的网络数据库返回心跳应答消息,应用服务器与网络数据库之间建立了心跳机制。否则结束流程。
步骤S204.应用服务器向网络数据库预约,在用户状态变化时主动通知业务应用,其中包括用户上线、下线的状态通知过程。
网络数据库保存了应用客户端即网络终端用户的状态信息,这些信息包括用户是否在线等。应用服务器可以向网络数据库发起预约,网络数据库在用户状态变化时主动通知业务应用。
步骤S205.应用服务器与网络数据库之间建立查询机制。应用服务器可以根据业务流程在需要时查询用户状态及用户信息。
步骤S206.网络数据库向网络中的其它网元查询维护终端主机的状态信息的过程。
步骤S207.应用客户端即网络终端用户停止业务使用,应用服务器通知网络数据库停止心跳机制。
以上步骤中,步骤S201,步骤S202没有时序上严格的先后顺序。步骤S204,步骤S205,步骤S206之间没有时序上严格的先后顺序。
根据以上描述可知,本实施例方法至少具有以下有益效果:
1.网络能够掌握终端是否在线,与网络的连接状态信息,通过网络数据库与网络其它网元间的信息交互,网络数据库能够维护保存这些连接状态信息。用于确认终端(应用客户端)与应用服务器间的连接状态的心跳机制,由应用服务器与网络用户数据库之间的心跳机制实现,终端(应用客户端)不再参与与应用服务器之间的心跳机制。有效减少了网络与用户间短数据包的发送频率,降低用户接入网络上的数据负荷。特别是对无线蜂窝网等无线方式,能够有效提高无线资源利用率,提高手机等无线终端的电池待机/工作时间,提升用户体验。
2.本实施例中,利用应用服务器与网络数据库之间的心跳机制,代替应用服务器与终端之间的心跳机制。利用终端与应用服务器之间的心跳机制发起的网络攻击将有效控制。终端与应用服务器之间的安全机制,转化为应用服务器与网络数据库之间的安全机制。对比终端,应用服务器与网络数据库是网络侧设备,由于是网络侧设备间的安全关联,无论在处理效率,设备管理升级的便利性、专业程度,还是安全强度以及安全机制的灵活性,都有很大程度的提升。通过应用服务器与网络数据库之间的可信机制,可以实现心跳交互过程的有目的的安全保障,将大大提高系统得安全性,减少潜在的隐患,而且能够实现网络安全和效率的有机统一。
实施例三
本实施例主要描述了利用网络数据库进行业务寻址的具体实现。
现有的应用客户端与应用服务器间心跳机制的另一功能,是在应用客户端登录后,登记该应用客户端账号的地址信息,如IP地址和端口号等,维护应用服务器上该应用客户端账号与IP地址端口号之间的实时对应关系。用于在业务发生时,通过应用客户端账号能够进行业务流寻址。
在基于身份位置分离的解决方案中,基础网络为每个用户分配唯一的主机身份标识,该主机身份标识在网络中始终保持不变,不随时间位置的变化而变化。基础网络中有两种标识类型:主机身份标识和位置路由标识。基础网络数据库保存了主机身份标识和位置标识间的映射关系,基础网络通过注册更新、切换等流程将实时维护这一映射关系。基础网络通过用户唯一不变得主机身份标识,总是能够在网络数据库中查到对应的位置标识,实现用户数据流、业务流的正确路由。
通过图2所示的步骤S101和步骤S102,应用服务器维护业务账号与用户网络身份识别之间的静态映射关系,基础网络向应用业务提供唯一网络层用户身份识别,业务寻址功能由基础网络提供。应用服务器不再维护业务账号与IP地址、端口号之间的动态映射关系。
采用本实施例方法,有效简化了应用业务服务器的如下业务流程:对于所属客户端登录过程中登记地址信息,如IP地址和端口号。安全实现心跳连接的基础上,实现对于所属客户端已登记地址信息改变的情况下的安全登录,同时也避免了因改变地址信息导致的二次登录的问题。
以上仅为本发明的优选实施案例而已,并不用于限制本发明,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。