掌桥专利:专业的专利平台
掌桥专利
首页

一种通信管理方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 12:21:13


一种通信管理方法、装置、电子设备及存储介质

技术领域

本申请涉及通信技术领域,尤其涉及一种通信管理方法、装置、电子设备及存储介质。

背景技术

系统的下级平台与上级平台级联时,下级平台需要先在上级平台进行注册,注册成功后向上级平台发送心跳消息来保持连接,并通过计算发送心跳消息的次数和时间来判断是否需要重新注册。然而,这种模式下容易出现注册信息和心跳信息不同步的情况,如注册信息已过期或清理,应该立刻重新注册,但心跳信息仍然在正常收发,则还是会在发送心跳消息的次数和时间满足条件时才会重新注册,使得注册逻辑出现异常,且由于注册逻辑和心跳逻辑相对独立,也无法通过心跳逻辑来恢复注册逻辑,整个系统的容错率较低。

因此,现有的平台级联系统存在容错率较低的技术问题,需要改进。

发明内容

本申请实施例提供一种通信管理方法、装置、电子设备及存储介质,用以提高平台级联系统的容错率。

为解决上述技术问题,本申请实施例提供以下技术方案:

本申请提供一种通信管理方法,包括:

向注册平台发送注册请求;

接收所述注册平台返回的注册响应,根据所述注册响应生成注册状态标识;

在所述注册状态标识为初始注册成功时,向所述注册平台发送心跳消息;

接收所述注册平台返回的心跳响应,根据所述心跳响应生成心跳状态标识;

在每个刷新注册周期内,向所述注册平台发送刷新注册请求,并根据接收到的刷新注册响应更新所述注册状态标识;

在当前刷新注册周期内,若更新后的注册状态标识为刷新注册成功,则继续向所述注册平台发送心跳消息,并根据所述注册平台返回的心跳响应更新所述心跳状态标识,若更新后的注册状态标识为刷新注册失败,或者更新后的心跳状态标识为心跳超时或心跳失败,则停止向所述注册平台发送心跳信息,并向所述注册平台发送新的注册请求。

同时,本申请实施例还提供了一种通信管理装置,包括:

第一发送模块,用于向注册平台发送注册请求;

第一接收模块,用于接收所述注册平台返回的注册响应,根据所述注册响应生成注册状态标识;

第二发送模块,用于在所述注册状态标识为初始注册成功时,向所述注册平台发送心跳消息;

第二接收模块,用于接收所述注册平台返回的心跳响应,根据所述心跳响应生成心跳状态标识;

第三发送模块,用于在每个刷新注册周期内,向所述注册平台发送刷新注册请求,并根据接收到的刷新注册响应更新所述注册状态标识;

第四发送模块,用于在当前刷新注册周期内,若更新后的注册状态标识为刷新注册成功,则继续向所述注册平台发送心跳消息,并根据所述注册平台返回的心跳响应更新所述心跳状态标识,若更新后的注册状态标识为刷新注册失败,或者更新后的心跳状态标识为心跳超时或心跳失败,则停止向所述注册平台发送心跳信息,并向所述注册平台发送新的注册请求。

本申请还提供一种电子设备,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行上述任一项所述的通信管理方法中的操作。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现上述任一项所述的通信管理方法。

有益效果:本申请提供一种通信管理方法、装置、电子设备及存储介质,该方法在初始注册时为注册和心跳分别生成对应的注册状态标识和心跳状态标识,且在每个刷新注册周期内对注册状态标识和心跳状态标识进行更新,并将两者状态进行互锁,使得在刷新注册成功时才会继续发送心跳消息,在心跳超时或心跳失败时会停止发送心跳消息并发送新的注册请求,因此实现了注册逻辑和心跳逻辑的相互依存,只有在注册逻辑正常时才会调用心跳逻辑,而在心跳逻辑出现异常时会通过心跳逻辑进行注册状态的恢复,两者共同作用提高了系统的容错性和自愈性。

附图说明

下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。

图1是本申请实施例提供的通信管理系统的场景示意图。

图2为本申请实施例提供的通信管理方法的流程示意图。

图3为本申请实施例中通信管理方法中各模块的第一种连接示意图。

图4为本申请实施例中通信管理方法中各模块的第二种连接示意图。

图5为本申请实施例中注册流程的示意图。

图6为本申请实施例提供的通信管理装置的结构示意图。

图7为本申请实施例提供的电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例提供一种通信管理方法、装置、电子设备及存储介质。其中,该通信管理装置可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。

请参阅图1,图1为本申请实施例所提供的通信管理系统的场景示意图,该系统可以包括终端以及服务器,终端之间、服务器之间、以及终端与服务器之间通过各种网关组成的互联网等方式连接通信,其中,该应用场景中包括上级平台服务器11和至少一个下级平台服务器12;其中:

上级平台服务器11为上级平台提供服务,下级平台服务器12为下级平台提供服务,上级平台服务器11和下级平台服务器12包括本地服务器和/或远程服务器等,两者之间进行通信,以实现上级平台与下级平台的级联,每个上级平台可以对应多个下级平台,每个下级平台均需要在上级平台注册。

上级平台服务器11和下级平台服务器12位于无线网络或有线网络中,以实现两者之间的数据交互,其中:

下级平台服务器12先向注册平台,也即上级平台的上级平台服务器11发送注册请求,并接收上级平台服务器11返回的注册响应,根据注册响应生成注册状态标识,然后在注册状态标识为注册成功时,向上级平台服务器11发送心跳消息,并接收上级平台服务器11返回的心跳响应,根据心跳响应生成心跳状态标识,接着在每个刷新注册周期内,向上级平台服务器11发送刷新注册请求,并根据接收到的刷新注册响应更新注册状态标识,在当前刷新注册周期内,若更新后的注册状态标识为刷新注册成功,则继续向上级平台服务器11发送心跳消息,并根据上级平台服务器11返回的心跳响应更新心跳状态标识,若更新后的注册状态标识为刷新注册失败,或者更新后的心跳状态标识为心跳超时或心跳失败,则停止向上级平台服务器11发送心跳信息,并向上级平台服务器11发送新的注册请求。

需要说明的是,图1所示的系统场景示意图仅仅是一个示例,本申请实施例描述的服务器以及场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。

请参阅图2,图2是本申请实施例提供的通信管理方法的流程示意图,该方法包括:

S201:向注册平台发送注册请求。

本申请的通信管理方法适用于上级平台与下级平台之间的级联,以基于GB/T28181协议实现的视频监控类平台为例,视频监控类平台可以包括省级公安视频监控平台、市级公安视频监控平台、县级公安视频监控平台等,对于省级公安视频监控平台和市级公安监控平台,省级公安视频监控平台是上级平台,市级公安视频监控平台是下级平台,而对于市级公安视频监控平台和县级公安视频监控平台,市级公安视频监控平台是上级平台,县级公安视频监控平台是下级平台。上级平台与下级平台级联需要下级平台在上级平台进行注册,由下级平台向上级平台发送注册请求。在本申请中,注册平台指上级平台。

S202:接收注册平台返回的注册响应,根据注册响应生成注册状态标识。

上级平台在接收到注册请求后,根据注册请求中的相关信息判断下级平台的身份是否合法,以作出对应的注册响应返回给下级平台,下级平台根据注册响应生成注册状态标识,注册状态标识可以是初始注册发起、注册鉴权、注册校时、初始注册成功四个状态。

如图3所示,注册时下级平台的SIP服务器先向上级平台的SIP代理发送Register请求,SIP代理向SIP服务器发送响应401Unauthorized,并在响应的消息头WWW_Authenticate字段中给出适合SIP服务器的认证体制和参数,然后SIP服务器重新向SIP代理发送Register请求, 在请求的Authorization字段给出包含认证信息的信任书,SIP代理对新的Register请求进行验证,如果检查出SIP服务器身份合法,向SIP服务器发送成功响应200 OK,如果身份不合法则发送拒绝服务应答4XX。

S203:在注册状态标识为初始注册成功时,向注册平台发送心跳消息。

当注册状态标识为初始注册成功时,表示下级平台取得了上级平台的授权,在下级平台与上级平台建立连接并进行通信后,为了保持两者的连接,不主动断开连接,而是由下级平台向上级平台发送心跳消息,并根据上级平台的回复情况来判断两者之间的连接状态。

基于GB/T28181协议实现的视频监控类平台在做上下级联时,下级平台需要通过发送心跳消息向上级平台进行保活。心跳消息指下级平台每隔一段时间向上级平台发送的固定信息,根据心跳消息进行保活的方法具体为:心跳发送方和心跳接收方需统一配置“心跳间隔”参数,按照“心跳间隔”定时发送心跳消息,默认心跳间隔为60s。心跳发送方和心跳接收方需统一配置“心跳超时次数”参数,心跳消息连续超时达到“心跳超时次数”则认为对方下线,默认心跳超时次数为3次。心跳接收方在心跳发送方上线状态下检测到心跳消息连续超时达到商定次数,则认为心跳发送方离线,心跳发送方在心跳接收方上线状态下检测到心跳消息响应消息连续超时达到商定次数,则认为心跳接收方离线。

S204:接收注册平台返回的心跳响应,根据心跳响应生成心跳状态标识。

上级平台在每次接受到心跳消息后,根据当前连接状态生成心跳响应并返回给下级平台,下级平台根据心跳响应生成心跳状态标识,心跳状态标识可以是心跳成功、心跳失败和心跳超时三个状态,其中心跳超时又可细分为心跳次数超时和心跳时间超时。

S205:在每个刷新注册周期内,向注册平台发送刷新注册请求,并根据接收到的刷新注册响应更新注册状态标识。

下级平台向上级平台注册后,每次注册均有其对应的注册有效期,在注册有效期到来之前需要进行一次或多次刷新注册,在每个刷新注册周期内,下级平台均向上级平台发送一次刷新注册请求,如果刷新注册是成功的,表示下级平台依然具有上级平台的授权,如果刷新注册是失败或超时的,则表示初始注册已过期、失效或清空,下级平台不具有上级平台的授权。在每次发送刷新注册请求后,根据接收到的刷新注册响应来更新注册状态标识,更新后的注册状态标识可以有刷新注册成功、刷新注册失败、刷新注册超时、刷新注册中、刷新注册重试中等多种状态。

S206:在当前刷新注册周期内,若更新后的注册状态标识为刷新注册成功,则继续向注册平台发送心跳消息,并根据注册平台返回的心跳响应更新心跳状态标识,若更新后的注册状态标识为刷新注册失败,或者更新后的心跳状态标识为心跳超时或心跳失败,则停止向注册平台发送心跳信息,并向注册平台发送新的注册请求。

每次发送刷新注册请求后,都会接收到的刷新注册响应对上一次注册状态标识进行更新,在当前刷新注册周期内,如果更新后的注册状态标识为刷新注册成功,则表示下级平台与上级平台的连接依然是合法的,此时仍然可以继续保持两者之间的通信连接,则继续向注册中心发送心跳消息,并根据注册平台返回的心跳响应更新心跳状态标识。

如果更新后的注册状态标识为刷新注册失败,则表示自此刻起下级平台在上级平台中已经不合法,需要马上断开两者的连接,以避免两者在不合法的情况下继续进行通信,造成功能异常。此时,停止向注册平台发送心跳信息,则根据上述心跳保活方法,上级平台会在检测到心跳消息连续超时达到商定次数时认为下级平台已离线,则两者之间的连接断开。同时,为尽快恢复下级平台在上级平台的权限,需要向上级平台发送新的注册请求,以重新在上级平台获得授权。然后,继续执行上述步骤S201至S206。

在更新后的注册状态标识为刷新注册成功时,会继续向注册中心发送心跳消息,并根据注册平台返回的心跳响应更新心跳状态标识,当更新后的心跳状态标识为心跳超时或心跳失败时,表示下级平台与上级平台之间已经离线,此时已经再发送心跳信息无意义,需要停止向注册平台发送心跳信息。同时,为尽快恢复下级平台与上级平台的连接,同样需要向上级平台发送新的注册请求,以重新在上级平台获得授权并在两者之间重新建立连接。然后,继续执行上述步骤S201至S206。

在当前的注册和心跳机制下,注册和心跳相对独立,当其中一者出现异常时,另一者仍然在继续执行自己的逻辑,容易使得系统的功能出现异常,且出错后难以恢复,容错率较低。而通过上述实施例可知,本申请的通信管理方法,在初始注册时为注册和心跳分别生成对应的注册状态标识和心跳状态标识,且在每个刷新注册周期内对注册状态标识和心跳状态标识进行更新,并将两者状态进行互锁,使得在刷新注册成功时才会继续发送心跳消息,在心跳超时或心跳失败时会停止发送心跳消息并发送新的注册请求,因此实现了注册逻辑和心跳逻辑的相互依存,只有在注册逻辑正常时才会调用心跳逻辑,而在心跳逻辑出现异常时会通过心跳逻辑进行注册状态的恢复,其中一者的状态发生变化,会直接影响到另一者后续的工作,并可以通过另一者对异常情况进行修复,两者共同作用提高了系统的容错性和自愈性。

如图4所示,本申请中上级平台21与下级平台之间通过消息处理器22进行通信,下级平台包括注册模块23、心跳模块24和状态锁25。注册模块23用于向上级平台发送初始注册请求、发送刷新注册请求、发送注销信息、对注册状态进行判定、对状态锁25中注册状态标识进行修改以及心跳模块24的通知逻辑。心跳模块24用于向上级平台发送和保持心跳消息、对心跳状态进行判定、对状态锁25中心跳状态标识进行修改以及注册模块23的通知逻辑。消息处理器22用于收发请求和响应等各类SIP消息,并处理使其符合GB/T28181协议。状态锁25用于注册模块23与心跳模块24之间的状态互锁,状态锁25将指示注册模块23如何调用心跳模块24的相关功能、以及心跳模块24如何反向调用注册模块23的相关功能。

如图5所示,注册模块23包括注册器231、注册初始化器232、注册状态判定器233和注册维持器234,心跳模块24包括定时消息生成器241、心跳初始化器242、心跳状态判定器243和心跳维持器244,状态锁25包括状态标识表251和线程调度器252。

在初始注册时,注册初始化器232读取下级平台的初始化配置参数,具体包括本平台的国标ID、用户名称、上级平台分配的账号密码、注册成功后的刷新时间、注册失败后的重试间隔时间、注册重试次数等,在初始化配置参数读取完成后,注册初始化器232启动和配置两个线程,一个为注册器231,一个为注册维持器234。

注册器231根据初始化配置参数生成注册请求,具体为通过组装初始化配置参数生成符合GB/T28181协议格式的注册消息体,然后将消息体封装成注册请求后发送给消息处理器22,由消息处理器22通过SIP协议发送给上级平台21。

消息处理器22主要用于收发消息,其不关心收发消息的内容,在它看来,所有传递过来的消息均为SIP消息体,不会进行类型的区分。

上级平台21生成注册响应后,通过消息处理器22返回给注册模块23,由注册器231接收,并调用注册状态判定器233对注册响应进行状态判定,注册状态判定器233根据GB/T28181协议将状态判定为初始注册发起、注册鉴权、注册校时和初始注册成功四类,并根据判定结果生成与对应状态匹配的注册状态标识,然后通过注册维持器234将注册状态标识同步至状态锁25的状态标识表251中。

监测状态锁25中的注册状态标识,在状态标识表251中的注册状态标识为初始注册成功时,心跳模块24被唤醒。心跳模块24主要用于和上级平台21进行心跳状态上报,以此来维持自身在上级平台21的在线状态和运行状态。心跳模块24并非在系统初始化时即启动,而是在注册模块23向状态锁25写入的注册状态标识为初始注册成功时才被唤醒,也就是说,注册是心跳的前置条件。

在心跳模块24初始唤醒时,心跳初始化器242初始化心跳模块24的各类参数,这些参数由注册模块23注册成功后进行输入,具体包括心跳间隔、心跳超时时间、心跳消息格式等,在初始化完成后,心跳初始化器242启动和配置两个线程,一个为定时消息生成器241,一个为心跳维持器244。

定时消息生成器241根据上述参数,采用固定时间间隔生成心跳消息,并通过心跳维持器244发送给消息处理器22,由消息处理器22通过SIP协议发送给上级平台21。

上级平台21生成心跳响应后,通过消息处理器22返回给心跳模块24,由定时消息生成器241接收,并调用心跳状态判定器243对心跳响应进行状态判定,心跳状态判定器243根据GB/T28181协议将状态判定为心跳成功、心跳失败或心跳超时,并根据判定结果生成与对应状态匹配的心跳状态标识,然后通过为心跳维持器244将心跳状态标识同步至状态锁25的状态标识表251中。同时,心跳维持器244根据心跳状态标识来决定是否继续发送心跳消息,或是终止发送心跳消息。一旦决定终止发送,心跳维持器在将心跳状态标识同步至状态锁25之后进入休眠状态。

初始注册流程中,注册状态标识为注册成功后,注册器231进行休眠,注册维持器234被唤醒,注册维持器234对当前校时时间和配置时间进行加权计算,在到达刷新注册时间后,将注册器231唤醒,使得注册器231生成并向上级平台21发送刷新注册请求,同时注册维持器234自身会进入休眠。在上级平台21返回刷新注册请求对应的刷新注册响应后,由注册器231接收刷新注册响应,并调用注册状态判定器233进行状态判定,根据判定结果生成与对应状态匹配的注册状态标识,当注册状态标识为刷新注册成功时,注册器231再次进行休眠,注册维持器234再次被唤醒,注册维持器234将新的注册状态标识同步更新至状态锁25的状态标识表251中。

在本申请中,注册维持器234在进行休眠后,再次启动的触发条件有两类,一类是正常工作模式下管理刷新注册流程,每次均在注册状态判定器233判定注册成功时启动,另一类为注册器231注册异常导致线程崩溃时启动。由于注册维持器234主要用于注册状态的判读以及唤醒或重新加载注册器231,其崩溃的可能性很低,主要注册逻辑均存在在注册器231中,因此注册维持器234是一个可靠性很高的守护线程。

状态锁25中的线程调度器252监测状态标识表251中的注册状态标识和心跳状态标识。根据注册模块23和心跳模块24各自的工作阶段,状态标识表251中的注册状态标识会被注册维持器234更新为初始注册成功、刷新注册成功、刷新注册失败、刷新注册重试中、刷新注册中等状态,状态标识表251中的心跳状态标识则会被心跳维持器244更新为心跳成功、心跳失败、心跳超时等状态,其中心跳超时具体包括次数超时和时间超时。

在每个刷新注册周期内,若监测到更新后的注册状态标识为刷新注册成功,则表示下级平台与上级平台21的连接依然是合法的,此时通过线程调度器252启动心跳维持器244,通过心跳维持器244控制定时消息生成器241继续向上级平台21发送心跳消息,然后定时消息生成器241继续接收上级平台21返回的心跳响应,并通过心跳状态判定器243对心跳响应进行状态判定,根据判定结果生成新的心跳响应标识,并通过心跳维持器244同步更新状态锁25中的心跳状态标识。

在更新后,线程调度器252继续监测更新后的心跳状态标识,在更新后的心跳状态标识为心跳成功时,表示下级平台与上级平台21之间连接良好,则继续发送心跳消息,并通过线程调度器252休眠注册维持器234。在更新后的心跳状态标识为心跳超时或心跳失败时,表示下级平台与上级平台21之间已经离线,此时已经不需要再发送心跳信息,且之前的注册信息已经失效,需要重新注册,则通过线程调度器252休眠心跳维持器244,以停止向上级平台21发送心跳信息,并通过线程调度器252启动注册维持器234,通过注册维持器234生成并向上级平台21发送新的注册请求。

在每个刷新注册周期内,若监测到更新后的注册状态标识为刷新注册失败,则表示自此刻起下级平台在上级平台21中已经不合法,但下级平台与上级平台21的连接并没有断开,如果下级平台依然继续发送心跳消息,而上级平台21也继续回复心跳响应,则仍然会等到发送心跳消息的次数和时间达到一定的条件时才会重新注册,而此段时间内下级平台与上级平台21之间的通信已经是不合法的,因此会造成很多功能出现异常。在本申请中,在监测到更新后的注册状态标识为刷新注册失败时,立刻通过线程调度器252休眠心跳维持器244,以停止向上级平台21发送心跳信息,则上级平台21也不会继续返回心跳响应,同时通过线程调度器252启动注册维持器234,通过注册维持器234生成并向上级平台21发送新的注册请求,以尽快恢复下级平台在上级平台21中的合法性。

在新的注册成功后,会通过上述过程对心跳模块24进行再次激活,并依此执行后续各步骤。

在上述过程中,线程调度器252模拟齿轮咬合的方式,根据注册和心跳的不同状态来互锁双方线程,使得两者可以根据相互的状态决定下一步操作,达到调配一致的效果,避免了上级平台异常导致的不合规心跳、注册的发送顺序,双方各自的逻辑不会相互影响且可以通过状态随意组合行为,提升了系统扩展性。同时,状态锁25也兼顾了双方线程的守护者角色,任何一方线程出现异常将被重新启动,做到多一层保险,增强了系统的容错性和自愈性。

此外,通过分离业务逻辑和维持逻辑,使得注册逻辑主要放在注册器231中,心跳逻辑主要放在定时消息生成器241中,而注册维持器234和心跳维持器244中的代码较为简单,则注册维持器234、心跳维持器244和状态锁25相互配合工作时,出错的概率也大大降低,进一步提高了系统的容错性和稳定性。由于监控平台多处于复杂网络条件下,有大量的设备接入,且网络条件较差,业务逻辑出错可能性较高,而分离出的注册维持器234和心跳维持器244均可以独立工作和监控各种业务逻辑的执行情况,大大提高了系统稳定性。

在上述实施例所述方法的基础上,本实施例将从通信管理装置的角度进一步进行描述,请参阅图6,图6具体描述了本申请实施例提供的通信管理装置,其可以包括:

第一发送模块110,用于向注册平台发送注册请求;

第一接收模块120,用于接收所述注册平台返回的注册响应,根据所述注册响应生成注册状态标识;

第二发送模块130,用于在所述注册状态标识为初始注册成功时,向所述注册平台发送心跳消息;

第二接收模块140,用于接收所述注册平台返回的心跳响应,根据所述心跳响应生成心跳状态标识;

第三发送模块150,用于在每个刷新注册周期内,向所述注册平台发送刷新注册请求,并根据接收到的刷新注册响应更新所述注册状态标识;

第四发送模块160,用于在当前刷新注册周期内,若更新后的注册状态标识为刷新注册成功,则继续向所述注册平台发送心跳消息,并根据所述注册平台返回的心跳响应更新所述心跳状态标识,若更新后的注册状态标识为刷新注册失败,或者更新后的心跳状态标识为心跳超时或心跳失败,则停止向所述注册平台发送心跳信息,并向所述注册平台发送新的注册请求。

在一种实施例中,第一接收模块120包括:

第一接收子模块,用于通过注册模块中的注册器接收所述注册平台返回的注册响应;

第一判定子模块,用于通过所述注册模块中的注册状态判定器对所述注册响应进行状态判定,根据判定结果生成注册状态标识,并将所述注册状态标识同步至状态锁。

在一种实施例中,第二发送模块130包括:

监测子模块,用于监测所述状态锁中的注册状态标识;

第一发送子模块,用于在所述注册状态标识为初始注册成功时,通过心跳模块中的定时消息生成器生成并向所述注册平台发送心跳消息。

在一种实施例中,第二接收模块140包括:

第二接收子模块,用于通过心跳模块中的定时消息生成器接收所述注册平台返回的心跳响应;

第二判定子模块,用于通过所述心跳模块中的心跳状态判定器对所述心跳响应进行状态判定,根据判定结果生成心跳状态标识,并将所述心跳状态标识同步至状态锁。

在一种实施例中,第三发送模块150包括:

第二发送子模块,用于在每个刷新注册周期内,通过注册模块中的注册维持器唤醒注册器,通过所述注册器向所述注册平台发送刷新注册请求;

第三判定子模块,用于通过所述注册器接收所述注册平台返回的刷新注册响应,通过所述注册状态判定器对所述刷新注册响应进行状态判定,基于判定结果,通过所述注册维持器同步更新所述状态锁中的注册状态标识。

在一种实施例中,第四发送模块160用于:若更新后的注册状态标识为刷新注册成功,则通过所述状态锁中的线程调度器启动所述心跳模块中的心跳维持器,通过所述心跳维持器控制所述定时消息生成器继续向所述注册平台发送心跳消息;通过所述定时消息生成器接收所述平台返回的心跳响应,通过所述心跳状态判定器对所述心跳响应进行状态判定,基于判定结果,通过所述心跳维持器同步更新所述状态锁中的心跳状态标识。

在一种实施例中,第四发送模块160用于:若更新后的注册状态标识为刷新注册失败,或者更新后的心跳状态标识为心跳超时或心跳失败,则通过所述状态锁中的线程调度器休眠所述心跳模块中的心跳维持器,以停止向所述注册平台发送心跳信息,并通过所述线程调度器启动所述注册模块中的注册维持器,通过所述注册维持器生成并向所述注册平台发送新的注册请求。

区别于现有技术,本申请提供的通信管理装置,在初始注册时为注册和心跳分别生成对应的注册状态标识和心跳状态标识,且在每个刷新注册周期内对注册状态标识和心跳状态标识进行更新,并将两者状态进行互锁,使得在刷新注册成功时才会继续发送心跳消息,在心跳超时或心跳失败时会停止发送心跳消息并发送新的注册请求,因此实现了注册逻辑和心跳逻辑的相互依存,只有在注册逻辑正常时才会调用心跳逻辑,而在心跳逻辑出现异常时会通过心跳逻辑进行注册状态的恢复,两者共同作用提高了系统的容错性和自愈性。

相应的,本申请实施例还提供一种电子设备,如图7所示,该电子设备可以包括射频(RF,Radio Frequency)电路701、包括有一个或一个以上计算机可读存储介质的存储器702、输入单元703、显示单元704、传感器705、音频电路706、无线保真(WiFi,WirelessFidelity)模块707、包括有一个或者一个以上处理核心的处理器708、以及电源709等部件。本领域技术人员可以理解,图7中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

RF电路701可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器708处理;另外,将涉及上行的数据发送给基站。存储器702可用于存储软件程序以及模块,处理器708通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。输入单元703可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

显示单元704可用于显示由用户输入的信息或提供给用户的信息以及服务器的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。

服务器还可包括至少一种传感器705,比如光传感器、运动传感器以及其他传感器。音频电路706包括扬声器,扬声器可提供用户与服务器之间的音频接口。

WiFi属于短距离无线传输技术,服务器通过WiFi模块707可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块707,但是可以理解的是,其并不属于服务器的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略。

处理器708是服务器的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行服务器的各种功能和处理数据,从而对手机进行整体监控。

服务器还包括给各个部件供电的电源709(比如电池),优选的,电源可以通过电源管理系统与处理器708逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,服务器还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,服务器中的处理器708会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器708来运行存储在存储器702中的应用程序,从而实现以下功能:

向注册平台发送注册请求;接收所述注册平台返回的注册响应,根据所述注册响应生成注册状态标识;在所述注册状态标识为初始注册成功时,向所述注册平台发送心跳消息;接收所述注册平台返回的心跳响应,根据所述心跳响应生成心跳状态标识;在每个刷新注册周期内,向所述注册平台发送刷新注册请求,并根据接收到的刷新注册响应更新所述注册状态标识;在当前刷新注册周期内,若更新后的注册状态标识为刷新注册成功,则继续向所述注册平台发送心跳消息,并根据所述注册平台返回的心跳响应更新所述心跳状态标识,若更新后的注册状态标识为刷新注册失败,或者更新后的心跳状态标识为心跳超时或心跳失败,则停止向所述注册平台发送心跳信息,并向所述注册平台发送新的注册请求。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文的详细描述,此处不再赘述。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以实现以下功能:

向注册平台发送注册请求;接收所述注册平台返回的注册响应,根据所述注册响应生成注册状态标识;在所述注册状态标识为初始注册成功时,向所述注册平台发送心跳消息;接收所述注册平台返回的心跳响应,根据所述心跳响应生成心跳状态标识;在每个刷新注册周期内,向所述注册平台发送刷新注册请求,并根据接收到的刷新注册响应更新所述注册状态标识;在当前刷新注册周期内,若更新后的注册状态标识为刷新注册成功,则继续向所述注册平台发送心跳消息,并根据所述注册平台返回的心跳响应更新所述心跳状态标识,若更新后的注册状态标识为刷新注册失败,或者更新后的心跳状态标识为心跳超时或心跳失败,则停止向所述注册平台发送心跳信息,并向所述注册平台发送新的注册请求。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种方法中的步骤,因此,可以实现本申请实施例所提供的任一种方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本申请实施例所提供的一种通信管理方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。

相关技术
  • 一种通信管理方法、装置、电子设备及存储介质
  • 通信客户分类管理方法、系统、电子设备及存储介质
技术分类

06120113266917