一种心跳检测处理方法及装置与流程

文档序号:19872060发布日期:2020-02-08 05:58阅读:178来源:国知局
一种心跳检测处理方法及装置与流程

本发明涉及通信领域,尤其涉及一种心跳检测处理方法及装置。



背景技术:

当前的控制面和用户面(cu,controlplane和userplane)分离方案中,控制面(cp,controlplane)和用户面(up,userplane)通过cups(controlplaneanduserplaneseparation)协议进行消息通讯,两者需要先建立偶联,才能承载用户会话,1个cp可以和多个up建立偶联,1个up也可以同多个cp建立偶联,即关系为多对多。当cp和up建立偶联以后,两者均需要主动发起心跳检测请求去维护偶联状态。对于接收方来说,在收到心跳检测请求以后,如果发现和发送方的偶联是有效的,那么需要给发送方回复心跳响应消息;如果偶联状态无效,则不应该回复响应。但是当前cups协议的心跳消息中,请求和响应消息仅仅只有一个时间戳(timestamp)字段表示发送方的重启时间。这样,如果发送方的发送地址或者端口发生变化时,那么接收方就无法知道到底是谁发送的心跳检测请求。典型的场景比如:cp的地址由于配置或者重新分配ip而发生变化;cp发往up的报文经过了网络地址转换(nat,networkaddresstranslation)设备,所有的报文的地址都被替换成了nat设备的地址。在这些情况下,由于up不知道cp的身份,也就无法根据偶联的有效性来决定是否给对端回复心跳响应,最终无法保证偶联状态的一致性。上述例子说的是cp向up发送心跳检测的情景,其实在up向cp发送心跳检测时情况也是一样的。



技术实现要素:

为解决上述技术问题,本发明实施例期望提供了一种心跳检测处理方法及装置,在cp和up分离场景下,能在本端地址或者端口发生变动的情况下,和对端进行心跳检测。

第一方面,本发明实施例提供了一种心跳检测处理方法,应用于发送方,所述方法包括:

向接收方发送心跳检测请求,以使接收方基于所述心跳检测请求判断是否返回心跳响应消息;

其中,所述心跳检测请求携带有表明发送方身份的信息。

本发明实施例中,可选地,所述方法还包括:

接收所述接收方返回的心跳响应消息;其中,所述心跳响应消息中携带有表明接收方身份的信息。

本发明实施例中,可选地,所述方法还包括:

通过增加预设字段表明消息发送方身份。

本发明实施例中,可选地,接收所述接收方返回的心跳响应消息时,所述方法还包括:

基于所述心跳响应消息确定与所述发送方建立或保持偶联状态的接收方。

第二方面,本发明实施例提供了一种心跳检测处理方法,应用于接收方,所述方法包括:

接收发送方发送的心跳检测请求,其中,所述心跳检测请求携带有表明发送方身份的信息;

基于所述心跳检测请求判断是否返回心跳响应消息;其中,所述心跳响应消息中携带有表明接收方身份的信息。

本发明实施例中,可选地,所述基于所述心跳检测请求判断是否返回心跳响应消息,包括:

基于所述心跳检测请求所携带的表明发送方身份的信息确定发送方标识;

验证所述发送方标识对应的偶联状态;

若验证结果为所述发送方标识对应的偶联状态正常,则判定返回心跳响应消息;否则判定不返回心跳响应消息。

本发明实施例中,可选地,所述方法还包括:

通过增加预设字段表明消息发送方身份。

第三方面,本发明实施例提供了一种心跳检测处理装置,应用于发送方,所述装置包括:

第一发送单元,用于向接收方发送心跳检测请求,以使接收方基于所述心跳检测请求判断是否返回心跳响应消息;其中,所述心跳检测请求携带有表明发送方身份的信息;

第一处理单元,用于在所述心跳检测请求添加表明发送方身份的信息。

本发明实施例中,可选地,所述装置还包括:

第一接收单元,用于接收所述接收方返回的心跳响应消息;其中,所述心跳响应消息中携带有表明接收方身份的信息。

本发明实施例中,可选地,所述第一处理单元,还用于通过增加预设字段表明消息发送方身份。

本发明实施例中,可选地,所述第一处理单元,还用于:

在所述第一接收单元接收所述接收方返回的心跳响应消息时,基于所述心跳响应消息确定与所述发送方建立或保持偶联状态的接收方。

第四方面,本发明实施例提供了一种心跳检测处理装置,应用于接收方,所述装置包括:

第二接收单元,用于接收发送方发送的心跳检测请求,其中,所述心跳检测请求携带有表明发送方身份的信息;

第二处理单元,用于基于所述心跳检测请求判断是否返回心跳响应消息;其中,所述心跳响应消息中携带有表明接收方身份的信息;

第二发送单元,用于向发送方发送所述心跳响应消息。

本发明实施例中,可选地,所述第二处理单元,还用于:

基于所述心跳检测请求所携带的表明发送方身份的信息确定发送方标识;

验证所述发送方标识对应的偶联状态;

若验证结果为所述发送方标识对应的偶联状态正常,则判定返回心跳响应消息;否则判定不返回心跳响应消息。

本发明实施例中,可选地,所述第二处理单元,还用于:

通过增加预设表明消息发送方身份。

第五方面,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行本发明实施例所述的应用于发送方的心跳检测处理方法。

第六方面,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行本发明实施例所述的应用于接收方的心跳检测处理方法。

本发明实施例的技术方案中,发送方向接收方发送心跳检测请求,以使接收方基于所述心跳检测请求判断是否返回心跳响应消息;其中,所述心跳检测请求携带有表明发送方身份的信息。由于心跳检测请求携带有表明发送方身份的信息,因此接收方不再依赖于根据发送方的地址和端口来判断与发送方间的偶联状态,在cp和up分离场景下,能在本端地址或者端口发生变动的情况下,和对端进行心跳检测,从而有助于成功通过心跳检测和对端保持偶联。

附图说明

图1为本发明实施例的一种心跳检测处理方法的流程示意图;

图2为本发明实施例的另一种心跳检测处理方法的流程示意图;

图3为本发明实施例提供的心跳检测过程示意图;

图4为本发明实施例的cp发起的心跳检测交互示意图;

图5为本发明实施例的up发起的心跳检测交互示意图;

图6为本发明实施例的一种心跳检测处理装置的组成结构示意图;

图7为本发明实施例的另一种心跳检测处理装置的组成结构示意图。

具体实施方式

为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明实施例。

图1为本发明实施例的一种心跳检测处理方法的流程示意图,应用于心跳检测请求发送方,如图1所示,所述方法包括:

步骤101:向接收方发送心跳检测请求,以使接收方基于所述心跳检测请求判断是否返回心跳响应消息。

其中,所述心跳检测请求携带有表明发送方身份的信息。

在一些可选的实施方式中,通过增加预设字段表明消息发送方身份。

比如,所述预设字段可以是节点标识(nodeid)字段。

需要说明的是,上述消息发送方身份中的消息包括但不限于心跳检测请求和心跳响应消息。

进一步地,所述方法还包括:

步骤102:接收所述接收方返回的心跳响应消息;其中,所述心跳响应消息中携带有表明接收方身份的信息。

在一些可选的实施方式中,接收所述接收方返回的心跳响应消息时,所述方法还包括:

基于所述心跳响应消息确定与所述发送方建立或保持偶联状态的接收方。

在一些具体的实施方式中,接收所述接收方返回的心跳响应消息时,所述方法还包括:

基于所述心跳响应消息所携带的表明接收方身份的信息,确定与所述发送方建立或保持偶联状态的接收方。

举例来说,发送方1向n个接收方发送了心跳检测请求,若接收到了m个心跳响应消息,其中,m小于或等于n,则通过分析m个心跳响应消息所携带的预设字段所携带的信息,来确定具体哪些接收方返回了心跳响应消息,从而确定目前与哪些接收方保持有偶联状态。

需要说明的是,上述心跳检测请求发送方既可以是cp,也可以是up。

本发明实施例的技术方案中,发送方向接收方发送心跳检测请求,以使接收方基于所述心跳检测请求判断是否返回心跳响应消息;其中,所述心跳检测请求携带有表明发送方身份的信息。由于心跳检测请求携带有表明发送方身份的信息,因此接收方不再依赖于根据发送方的地址和端口来判断与发送方间的偶联状态,在cp和up分离场景下,能在本端地址或者端口发生变动的情况下,和对端进行心跳检测,从而有助于成功通过心跳检测和对端保持偶联。

图2为本发明实施例的另一种心跳检测处理方法的流程示意图,应用于心跳检测请求接收方,如图2所示,所述方法包括:

步骤201:接收发送方发送的心跳检测请求,其中,所述心跳检测请求携带有表明发送方身份的信息。

步骤202:基于所述心跳检测请求判断是否返回心跳响应消息;其中,所述心跳响应消息中携带有表明接收方身份的信息。

在一些可选的实施方式中,通过增加预设字段表明消息发送方身份。

比如,所述预设字段可以是节点标识(nodeid)字段。

需要说明的是,上述消息发送方身份中的消息包括但不限于心跳检测请求和心跳响应消息。

在一些可选的实施方式中,所述基于所述心跳检测请求判断是否返回心跳响应消息,包括:

基于所述心跳检测请求所携带的表明发送方身份的信息确定发送方标识;

验证所述发送方标识对应的偶联状态;

若验证结果为偶联状态正常,则判定返回心跳响应消息;否则判定不返回心跳响应消息。

进一步地,所述方法还包括:

步骤203:当判定需返回心跳响应消息时,向所述发送方返回所述心跳响应消息。

举例来说,接收方1接收到了n个发送方发送的心跳检测请求,通过分析n个心跳检测请求所携带的预设字段所携带的信息,来确定发送方的身份,进而验证与这些发送方的偶联状态,从而确定目前与哪些发送方保持有偶联状态,并向保持有偶联状态的发送方发送心跳响应消息,以告知这些发送方与该接收方1目前保持有偶联状态。

需要说明的是,上述心跳检测请求接收方既可以是cp,也可以是up。

本发明实施例的技术方案中,接收方接收发送方发送的心跳检测请求,其中,所述心跳检测请求携带有表明发送方身份的信息;基于所述心跳检测请求判断是否返回心跳响应消息;其中,所述心跳响应消息中携带有表明接收方身份的信息。由于心跳检测请求携带有表明发送方身份的信息,因此接收方不再依赖于根据发送方的地址和端口来判断与发送方间的偶联状态,在cp和up分离场景下,能在本端地址或者端口发生变动的情况下,和对端进行心跳检测,从而有助于成功通过心跳检测和对端保持偶联。

图3示出了心跳检测过程示意图,如图3所示,发送方与接收方应该是相互对应的,即:若心跳检测请求的源地址为ip1,源端口为port1,那么,与该心跳检测请求对应的心跳响应的目的地址应ip1,目的端口为port1;若心跳检测请求的源地址为ip2,源端口为port2,那么,与该心跳检测请求对应的心跳响应的目的地址应ip2,目的端口为port2。本发明在心跳检测的请求和响应消息中,增加用于表明发送方身份的nodeid字段,nodeid可以是ip地址,也可以是一个字符串,甚至可以理解为一段二进制码流,只要能保证全局唯一性就可以了。这样,当接收方收到心跳检测请求以后,虽然通过报文的源ip地址和端口无法区分到底是哪一个节点发送的请求,但是通过消息中携带的nodeid字段,就知道消息到底是谁发送了请求,接收方再验证这个nodeid对应的偶联状态,如果偶联正常就给对面回复心跳响应,消息中同样携带自己的nodeid,如果偶联不存在就不回心跳响应。当心跳检测请求发送方,收到response,就知道偶联状态是正常的;如果收不到心跳响应,就可以断定偶联失效了,可以重新发起偶联建立,使得系统快速恢复。

图4为本发明实施例的cp发起的心跳检测交互示意图,如图4所示,cp和up之间偶联建立以后,交互流程包括:

步骤401:cp发起心跳检测请求,所述心跳检测请求中携带cpnodeid,用于表明消息发送方身份;

其中,所述心跳检测请求中还携带有源地址信息以及源端口信息。

例如,消息的源地址为cpip1,源端口为cpport1那么,所述心跳检测请求携带有:cpnodeid,源地址:cpip1,源端口:cpport1。

步骤402:up在收到请求消息后,根据cpnodeid验证偶联状态;

在up确定偶联状态有效情况下,执行步骤403;

步骤403:up返回心跳响应消息,所述心跳响应消息中携带upnodeid,用于表明消息发送方身份;

例如,所述心跳响应消息携带有:upnodeid,目的地址:cpip1,目的端口:cpport1。

当cp本端的地址或者端口变化以后(如cp业务地址被配置修改或者报文经过nat设备后地址和端口被修改),执行步骤404;

步骤404:cp发起心跳检测请求,所述心跳检测请求中携带cpnodeid,用于表明消息发送方身份;

也就是说,在本端地址或者端口发生变动的情况下,心跳检测请求消息中会携带不变的cpnodeid。

例如,消息的源地址由cpip1变为cpip2,源端口为由cpport1变为cpport2,那么,所述心跳检测请求携带有:cpnodeid,源地址:cpip2,源端口:cpport2。

步骤405:up在收到请求消息后,根据cpnodeid验证偶联状态;

在up确定偶联状态有效情况下,执行步骤406;

步骤406:up返回心跳响应消息,所述心跳响应消息中携带upnodeid,用于表明消息发送方身份。

例如,所述心跳响应消息携带有:upnodeid,目的地址:cpip2,目的端口:cpport2。

上述方案中,cp和up之间偶联建立以后,cp发起心跳检测请求,消息中携带cpnodeid表明发送方身份,up在收到请求消息后,根据cpnodeid验证偶联状态,并在心跳响应中携带up自己的nodeid;当cp本端的地址或者端口变化以后,心跳检测请求消息中会携带不变的cpnodeid,up在收到心跳请求以后,根据消息中的cpnodeid验证偶联,并回复心跳响应。

图5为本发明实施例的up发起的心跳检测交互示意图,如图5所示,cp和up之间偶联建立以后,交互流程包括:

步骤501:up发起心跳检测请求,所述心跳检测请求中携带upnodeid,用于表明消息发送方身份;

其中,所述心跳检测请求中还携带有源地址信息以及源端口信息。

例如,消息的源地址为upip1,源端口为upport1那么,所述心跳检测请求携带有:upnodeid,源地址:upip1,源端口:upport1。

步骤502:cp在收到请求消息后,根据upnodeid验证偶联状态;

在cp确定偶联状态有效情况下,执行步骤503;

步骤503:cp返回心跳响应消息,所述心跳响应消息中携带cpnodeid,用于表明消息发送方身份;

例如,所述心跳响应消息携带有:cpnodeid,目的地址:upip1,目的端口:upport1。

当up本端的地址或者端口变化以后(如up业务地址被配置修改或者报文经过nat设备后地址和端口被修改),执行步骤504;

步骤504:up发起心跳检测请求,所述心跳检测请求中携带upnodeid,用于表明消息发送方身份;

也就是说,在本端地址或者端口发生变动的情况下,心跳检测请求消息中会携带不变的upnodeid。

例如,消息的源地址由upip1变为upip2,源端口为由upport1变为upport2,那么,所述心跳检测请求携带有:upnodeid,源地址:upip2,源端口:upport2。

步骤505:cp在收到请求消息后,根据upnodeid验证偶联状态;

在cp确定偶联状态有效情况下,执行步骤506;

步骤506:cp返回心跳响应消息,所述心跳响应消息中携带cpnodeid,用于表明消息发送方身份。

例如,所述心跳响应消息携带有:cpnodeid,目的地址:upip2,目的端口:upport2。

上述方案中,cp和up之间偶联建立以后,up发起心跳检测请求,消息中携带upnodeid表明发送方身份,cp在收到请求消息后,根据upnodeid验证偶联状态,并在心跳响应中携带cp自己的nodeid;当up本端的地址或者端口变化以后,心跳检测请求消息中携带不变的upnodeid,cp在收到心跳请求以后,根据消息中的upnodeid验证偶联,并回复心跳响应。

图6为本发明实施例的一种心跳检测处理装置的组成结构示意图,应用于心跳检测请求发送方;如图6所示,所述装置包括:

第一发送单元61,用于向接收方发送心跳检测请求,以使接收方基于所述心跳检测请求判断是否返回心跳响应消息;其中,所述心跳检测请求携带有表明发送方身份的信息;

第一处理单元62,用于在所述心跳检测请求添加表明发送方身份的信息。

其中,所述心跳检测请求中还携带有源地址信息以及源端口信息。

比如,所述预设字段可以是节点标识(nodeid)字段。

需要说明的是,上述消息发送方身份中的消息包括但不限于心跳检测请求和心跳响应消息。

本发明实施例中,可选地,所述装置还包括:

第一接收单元63,用于接收所述接收方返回的心跳响应消息;其中,所述心跳响应消息中携带有表明接收方身份的信息。

本发明实施例中,可选地,第一处理单元62,还用于通过增加预设字段表明消息发送方身份。

本发明实施例中,可选地,所述第一处理单元62,还用于:

在所述第一接收单元63接收所述接收方返回的心跳响应消息时,基于所述心跳响应消息确定与所述发送方建立或保持偶联状态的接收方。

在实际应用中,所述第一发送单元61、所述第一处理单元62、所述第一接收单元63,均可由位于所述心跳检测处理装置中的中央处理器(cpu,centralprocessingunit)、微处理器(mpu,microprocessorunit)、数字信号处理器(dsp,digitalsignalprocessor)、或现场可编程门阵列(fpga,field-programmablegatearray)等实现。

本实施例所述心跳检测处理装置,在cp和up分离场景下,能在本端地址或者端口发生变动的情况下,和对端进行心跳检测,从而有助于成功通过心跳检测和对端保持偶联。

图7为本发明实施例的另一种心跳检测处理装置的组成结构示意图,应用于心跳检测请求接收方;如图7所示,所述装置包括:

第二接收单元71,用于接收发送方发送的心跳检测请求,其中,所述心跳检测请求携带有表明发送方身份的信息;

第二处理单元72,用于基于所述心跳检测请求判断是否返回心跳响应消息;其中,所述心跳响应消息中携带有表明接收方身份的信息;

第二发送单元73,用于向发送方发送所述心跳响应消息。

其中,所述心跳检测请求中还携带有源地址信息以及源端口信息。

本发明实施例中,可选地,所述第二处理单元72,还用于:

基于所述心跳检测请求所携带的表明发送方身份的信息确定发送方标识;

验证所述发送方标识对应的偶联状态;

若验证结果为所述发送方标识对应的偶联状态正常,则判定返回心跳响应消息;否则判定不返回心跳响应消息。

本发明实施例中,可选地,所述第二处理单元72,还用于:

通过增加预设表明消息发送方身份。

比如,所述预设字段可以是节点标识(nodeid)字段。

需要说明的是,上述消息发送方身份中的消息包括但不限于心跳检测请求和心跳响应消息。

在实际应用中,所述第二接收单元71、所述第二处理单元72、所述第二发送单元73,均可由位于所述心跳检测处理装置中的中央处理器(cpu,centralprocessingunit)、微处理器(mpu,microprocessorunit)、数字信号处理器(dsp,digitalsignalprocessor)、或现场可编程门阵列(fpga,field-programmablegatearray)等实现。

本实施例所述心跳检测处理装置,在cp和up分离场景下,能在本端地址或者端口发生变动的情况下,和对端进行心跳检测,从而有助于成功通过心跳检测和对端保持偶联。

本实施例还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行之后,能够实现前述任意一项或多项应用于发送方的心跳检测处理方法。

所述计算机存储介质可为各种类型的存储介质,在本实施例中可优选为非瞬间存储介质。

本领域技术人员应当理解,本实施例的存储介质中各程序的功能,可参照实施例所述的应用于发送方的心跳检测处理方法的相关描述而理解。

本实施例还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行之后,能够实现前述任意一项或多项应用于接收方的心跳检测处理方法。

所述计算机存储介质可为各种类型的存储介质,在本实施例中可优选为非瞬间存储介质。

本领域技术人员应当理解,本实施例的存储介质中各程序的功能,可参照实施例所述的应用于接收方的心跳检测处理方法的相关描述而理解。

本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。

在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

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

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