一种异常节点修复方法、装置及相关设备与流程

文档序号:14409678阅读:158来源:国知局
一种异常节点修复方法、装置及相关设备与流程

本申请涉及通信领域,特别涉及一种异常节点修复方法、装置及相关设备。



背景技术:

rtp(实时传输协议,real-timetransportprotocol)是一个网络传输协议,它是由ietf的多媒体传输工作小组1996年在rfc1889中公布的,后在rfc3550中进行更新。

rtp协议详细说明了在互联网上传递音频和视频的标准数据包格式。它一开始被设计为一个多播协议,但后来被用在很多单播应用中。rtp协议常用于流媒体系统(配合rtsp协议),视频会议和一键通(pushtotalk)系统(配合h.323或sip)等实时通信领域中,使它成为ip电话产业的技术基础。rtp协议和rtp控制协议rtcp一起使用,而且它是建立在用户数据报协议上的。rtp广泛应用于流媒体相关的通讯和娱乐,包括电话、视频会议、电视和基于网络的一键通业务(类似对讲机的通话)。

在rtp实时通信领域中,通常具备发送者设备、接收者设备和服务节点;服务节点接收发送者设备的媒体数据,向接收者设备发送媒体数据,即服务节点对外提供流媒体的转发分发功能。对外服务时,服务节点组成rtp实时通信集群,当rtp实时通信集群中某服务节点异常时,需要不影响现有服务,服务可以继续提供。

为了实现当rtp实时通信集群中某服务节点异常时,不影响现有服务,服务可以继续提供,目前主要使用主备节点备份实现服务节点的异常修复:即服务启动时,优先启动的服务节点为主机,后续启动的服务节点即为备机。服务节点相互间通过心跳确定节点状态,当主机异常时,异常主机上正在进行的服务被中止,此时异常主机切换到备机,备机为主机,备机需要等客户端重新发起服务请求后,重新建立服务并继续提供服务。这种方式造成异常主机即异常节点的被中止的服务的恢复速度慢,通信效率低。



技术实现要素:

为解决上述技术问题,本申请实施例提供一种异常节点修复方法、装置及相关设备,以达到提高通信效率的目的,技术方案如下:

一种异常节点修复方法,包括:

rtp实时通信集群中的各个服务节点各自获取除自身之外的其他服务节点的rtp通信信息;

所述rtp实时通信集群中的各个服务节点判断除自身之外的其他服务节点中是否存在异常节点;

若所述rtp实时通信集群中的各个服务节点中的第一服务节点判断出除自身之外的其他服务节点中存在异常节点,则所述第一服务节点从冗余地址组中选取一个冗余地址,并将选取出的冗余地址模拟成所述异常节点的服务地址,所述冗余地址组包括至少一个冗余地址;

所述第一服务节点从获取到的除自身之外的其他服务节点的rtp通信信息中查找出所述异常节点的rtp通信信息;

所述第一服务节点利用所述异常节点的rtp通信信息,在将选取出的冗余地址模拟成的所述异常节点的服务地址上重建所述异常节点在发生异常前正在执行的服务,并执行重建的服务。

优选的,rtp实时通信集群中的各个服务节点各自获取除自身之外的其他服务节点的rtp通信信息,包括:

rtp实时通信集群中的各个服务节点各自向除自身之外的其他服务节点发送rtp通信信息订阅请求;

所述rtp实时通信集群中的各个服务节点接收除自身之外的其他服务节点响应所述rtp通信信息订阅请求发送的rtp通信信息。

优选的,所述第一服务节点利用所述异常节点的rtp通信信息,在将选取出的冗余地址模拟成的所述异常节点的服务地址上重建所述异常节点在发生异常前正在执行的服务,并执行重建的服务之后,还包括:

在所述重建的服务结束后,所述第一服务节点释放将选取出的冗余地址模拟成的所述异常节点的服务地址;

所述第一服务节点将释放的服务地址存入所述冗余地址组。

优选的,将释放的服务地址存入所述冗余地址组之后,还包括:

恢复正常的所述异常节点在全新的服务地址上提供服务;

或,恢复正常的所述异常节点从所述冗余地址组中选取一个冗余地址,并在选取出的冗余地址上提供服务。

一种异常节点修复装置,应用于rtp实时通信集群中的各个服务节点,所述装置包括:

获取模块,用于获取除所述获取模块自身所属服务节点之外的其他服务节点的rtp通信信息;

判断模块,用于判断除所述判断模块自身所属服务节点之外的其他服务节点中是否存在异常节点,若所述判断模块自身所属服务节点为第一服务节点且判断出除所述判断模块自身所属服务节点之外的其他服务节点中存在异常节点,则执行模拟模块;

所述模拟模块,用于从冗余地址组中选取一个冗余地址,并将选取出的冗余地址模拟成所述异常节点的服务地址,所述冗余地址组包括至少一个冗余地址;

查找模块,用于从获取到的除自身之外的其他服务节点的rtp通信信息中查找出所述异常节点的rtp通信信息;

重建模块,用于利用所述异常节点的rtp通信信息,在将选取出的冗余地址模拟成的所述异常节点的服务地址上重建所述异常节点在发生异常前正在执行的服务;

执行模块,用于执行重建的服务。

优选的,所述获取模块包括:

发送单元,用于除所述发送单元自身所属服务节点之外的其他服务节点发送rtp通信信息订阅请求;

接收单元,用于接收除所述发送单元自身所属服务节点之外的其他服务节点响应所述rtp通信信息订阅请求发送的rtp通信信息。

优选的,所述装置还包括:

释放模块,用于释放将选取出的冗余地址模拟成的所述异常节点的服务地址;

存储模块,用于将释放的服务地址存入所述冗余地址组。

优选的,所述装置还包括:应用于恢复正常的所述异常节点的第一提供模块或第二提供模块;

所述第一提供模块,用于在全新的服务地址上提供服务;

所述第二提供模块,用于从所述冗余地址组中选取一个冗余地址,并在选取出的冗余地址上提供服务。

一种rtp实时通信集群中的服务节点,包括:处理器、存储器和数据总线,所述处理器和所述存储器通过所述数据总线通信;

所述存储器,用于存放程序;

所述处理器,用于执行所述程序;

所述程序当由所述处理器执行时实现以下方法步骤:

获取除自身之外的其他服务节点的rtp通信信息;

判断除自身之外的其他服务节点中是否存在异常节点;

若判断出除自身之外的其他服务节点中存在异常节点,则从冗余地址组中选取一个冗余地址,并将选取出的冗余地址模拟成所述异常节点的服务地址,所述冗余地址组包括至少一个冗余地址;

从获取到的除自身之外的其他服务节点的rtp通信信息中查找出所述异常节点的rtp通信信息;

利用所述异常节点的rtp通信信息,在将选取出的冗余地址模拟成的所述异常节点的服务地址上重建所述异常节点在发生异常前正在执行的服务,并执行重建的服务。

一种rtp实时通信集群中异常节点的修复系统,包括多个如上述所述的rtp实时通信集群中的服务节点。

与现有技术相比,本申请的有益效果为:

在本申请中,rtp实时通信集群中的各个服务节点首先实现通信信息的共享即rtp实时通信集群中的各个服务节点各自获取除自身之外的其他服务节点的rtp通信信息,在实现通信信息共享的基础上,若第一服务节点判断出除自身之外的其他服务节点中存在异常节点,第一服务节点即从冗余地址组中选取一个冗余地址,并将选取出的冗余地址模拟成所述异常节点的服务地址,并从共享的通信信息中查找出异常节点的rtp通信信息,并利用将选取出的冗余地址模拟成的所述异常节点的服务地址和所述异常节点的rtp通信信息,重建所述异常节点在发生异常前正在执行的服务,并执行重建的服务,不需要等客户端重新发起服务请求后,再重建服务,缩减了重建服务的过程,提升了异常节点的被中止服务的恢复速度,进而提高了通信效率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请提供的异常节点修复方法的一种流程图;

图2是本申请提供的异常节点修复方法的一种子流程图;

图3是本申请提供的异常节点修复方法的另一种流程图;

图4是本申请提供的异常节点修复方法的再一种流程图;

图5是本申请提供的异常节点修复方法的再一种流程图;

图6是本申请提供的异常节点修复装置的一种逻辑结构示意图;

图7是本申请提供的获取模块的一种逻辑结构示意图;

图8是本申请提供的异常节点修复装置的另一种逻辑结构示意图。

具体实施方式

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

实施例一

请参见图1,其示出了本申请提供的异常节点修复方法的一种流程图,可以包括以下步骤:

步骤s11:rtp实时通信集群中的各个服务节点各自获取除自身之外的其他服务节点的rtp通信信息。

步骤s12:所述rtp实时通信集群中的各个服务节点判断除自身之外的其他服务节点中是否存在异常节点。

在本实施例中,rtp实时通信集群中的各个服务节点判断除自身之外的其他服务节点中是否存在异常节点具体可以为rtp实时通信集群中的各个服务节点通过心跳确定除自身之外的其他服务节点的状态,并根据确定的除自身之外的其他服务节点的状态来确定除自身之外的其他服务节点中是否存在异常节点。

若所述rtp实时通信集群中的各个服务节点中的第一服务节点判断出除自身之外的其他服务节点中存在异常节点,则执行步骤s13。

步骤s13:所述第一服务节点从冗余地址组中选取一个冗余地址,并将选取出的冗余地址模拟成所述异常节点的服务地址,所述冗余地址组包括至少一个冗余地址。

在本实施例中,冗余地址组为一组对外地址,即多个服务节点可同时对外提供服务。

在本实施例中,将选取出的冗余地址模拟成所述异常节点的服务地址具体为:所述第一服务节点可以具有多个服务地址(如ip地址),在添加新的服务地址(即选取出的冗余地址)后,广播arp包告诉路由器等设备添加的新的服务地址在本服务节点上。

步骤s14:所述第一服务节点从获取到的除自身之外的其他服务节点的rtp通信信息中查找出所述异常节点的rtp通信信息。

步骤s15:所述第一服务节点利用所述异常节点的rtp通信信息,在将选取出的冗余地址模拟成的所述异常节点的服务地址上重建所述异常节点在发生异常前正在执行的服务,并执行重建的服务。

在本实施例中,所述异常节点在发生异常前正在执行的服务具体指所述异常节点在发生异常前通过网络传输提供的服务,如发送数据服务、接收数据服务、存储服务和数据库服务等。

在本申请中,rtp实时通信集群中的各个服务节点首先实现通信信息的共享即rtp实时通信集群中的各个服务节点各自获取除自身之外的其他服务节点的rtp通信信息,在实现通信信息共享的基础上,若第一服务节点判断出除自身之外的其他服务节点中存在异常节点,第一服务节点即从冗余地址组中选取一个冗余地址,并将选取出的冗余地址模拟成所述异常节点的服务地址,并从共享的通信信息中查找出异常节点的rtp通信信息,并利用将选取出的冗余地址模拟成的所述异常节点的服务地址和所述异常节点的rtp通信信息,重建所述异常节点在发生异常前正在执行的服务,并执行重建的服务,不需要等客户端重新发起服务请求后,再重建服务,缩减了重建服务的过程,提升了异常节点的被中止服务的恢复速度,进而提高了通信效率。

在本实施例中,上述rtp实时通信集群中的各个服务节点各自获取除自身之外的其他服务节点的rtp通信信息的具体过程可以参见图2,可以包括以下步骤:

步骤s21:rtp实时通信集群中的各个服务节点各自向除自身之外的其他服务节点发送rtp通信信息订阅请求。

步骤s22:所述rtp实时通信集群中的各个服务节点接收除自身之外的其他服务节点响应所述rtp通信信息订阅请求发送的rtp通信信息。

在本实施例中,在图1示出的异常节点修复方法的基础上扩展出另外一种异常节点修复方法,请参见图3,在图1示出的所述第一服务节点利用所述异常节点的rtp通信信息,在将选取出的冗余地址模拟成的所述异常节点的服务地址上重建所述异常节点在发生异常前正在执行的服务,并执行重建的服务之后,还可以包括以下步骤:

步骤s16:在所述重建的服务结束后,所述第一服务节点释放将选取出的冗余地址模拟成的所述异常节点的服务地址。

步骤s17:所述第一服务节点将释放的服务地址存入所述冗余地址组。

所述第一服务节点将释放的服务地址存入所述冗余地址组,使释放的服务地址成为新的冗余地址,以待其他服务节点新加入使用或者异常时使用。

在本实施例中,在图3示出的异常节点修复方法的基础上扩展出另外一种异常节点修复方法,请参见图4或图5。

如图4所示,在图3示出的将释放的服务地址存入所述冗余地址组之后,还可以包括以下步骤:

步骤s18:恢复正常的所述异常节点在全新的服务地址上提供服务。

如图5所示,在图3示出的将释放的服务地址存入所述冗余地址组之后,还可以包括以下步骤:

步骤s19:恢复正常的所述异常节点从所述冗余地址组中选取一个冗余地址,并在选取出的冗余地址上提供服务。

现举例对上述异常节点修复方法的具体过程进行说明。例如,1.设备a、b、c、d、e,服务节点u、v,通过rtp实时通信集群x进行rtp实时通信(呼叫或者会议)

2.节点u、v各自具有自己的服务地址,具有冗余地址且冗余地址可以相互模拟成对方服务地址,节点间共享通信参数信息,设备a、b、c、d、e与节点相互可见,假设a、b、c在节点u上做rtp实时通信,d、e做节点v上做rtp实时通信

如,冗余地址即地址是集中管理的,然后地址多于节点的个数,有冗余,服务地址即正在服务的对外地址,如有127.0.0.1、127.0.0.2、127.0.0.3地址,服务节点u启动后申请127.0.0.1这个地址,此时服务地址即127.0.0.1,服务节点v启动后申请了127.0.0.2作服务地址,v异常后,u感知到,此时将127.0.0.2这个地址加到自己节点中,节点u有127.0.0.1、127.0.0.2两个服务地址,v启动后申请了127.0.0.3作服务地址,当u节点上接续的服务异议结束后,释放127.0.0.2地址。模拟地址:这个是计算机的功能,一个机器可以具有多个ip,添加ip后广播arp包告诉路由器此时这个ip在这台机器上。

3.当v异常失效,u感知v的异常后把冗余地址模拟成v的服务地址,通过共享的通信参数,为d、e建立通道。

4.u向v的路由、交换设备广播,此时u可以与d、e传输媒体数据。

5.rtp/udp通信,客户端不需要动作。

6.rtp/tcp通信,客户端需要一直定期重试,直到通信恢复。

7.rtp/http通信,客户端不需要动作。

8.v失效的地址目前在u上提供服务,此时u上对该地址不建立新的通信服务,新的通信服务建立其他地址之上。

9.当所有与该地址关联的通信服务结束后,u释放该地址,该地址成为新的冗余地址待其他集群节点新加入使用或者异常时使用。

10.v恢复后,使用新的或冗余的地址,在其上提供服务。

11.rtp实时通信集群间,整个切换过程中,异常节点地址上的服务一直有效提供。

实施例二

与上述方法实施例相对应,本实施例提供了一种异常节点修复装置,应用于rtp实时通信集群中的各个服务节点,请参见图6,异常节点修复装置包括:获取模块11、判断模块12、模拟模块13、查找模块14、重建模块15和执行模块16。

获取模块,用于获取除所述获取模块自身所属服务节点之外的其他服务节点的rtp通信信息。

在本实施例中,获取模块11具体可以包括:发送单元111和接收单元112,如图7所示。

发送单元111,用于除所述发送单元自身所属服务节点之外的其他服务节点发送rtp通信信息订阅请求;

接收单元112,用于接收除所述发送单元自身所属服务节点之外的其他服务节点响应所述rtp通信信息订阅请求发送的rtp通信信息。

判断模块12,用于判断除所述判断模块自身所属服务节点之外的其他服务节点中是否存在异常节点,若所述判断模块自身所属服务节点为第一服务节点且判断出除所述判断模块自身所属服务节点之外的其他服务节点中存在异常节点,则执行模拟模块13。

所述模拟模块13,用于从冗余地址组中选取一个冗余地址,并将选取出的冗余地址模拟成所述异常节点的服务地址,所述冗余地址组包括至少一个冗余地址。

查找模块14,用于从获取到的除自身之外的其他服务节点的rtp通信信息中查找出所述异常节点的rtp通信信息。

重建模块15,用于利用所述异常节点的rtp通信信息,在将选取出的冗余地址模拟成的所述异常节点的服务地址上重建所述异常节点在发生异常前正在执行的服务.

执行模块16,用于执行重建的服务。

在本实施例中,图6示出的异常节点修复装置还可以包括:释放模块17和存储模块18,如图8所示。

释放模块17,用于释放将选取出的冗余地址模拟成的所述异常节点的服务地址。

存储模块18,用于将释放的服务地址存入所述冗余地址组。

在本实施例中,图8示出的异常节点修复装置还可以包括:应用于恢复正常的所述异常节点的第一提供模块或第二提供模块。

所述第一提供模块,用于在全新的服务地址上提供服务;

所述第二提供模块,用于从所述冗余地址组中选取一个冗余地址,并在选取出的冗余地址上提供服务。

实施例三

在本实施例中,提供了一种rtp实时通信集群中的服务节点,包括:处理器、存储器和数据总线,所述处理器和所述存储器通过所述数据总线通信;

所述存储器,用于存放程序;

所述处理器,用于执行所述程序;

所述程序当由所述处理器执行时实现以下方法步骤:

获取除自身之外的其他服务节点的rtp通信信息;

判断除自身之外的其他服务节点中是否存在异常节点;

若判断出除自身之外的其他服务节点中存在异常节点,则从冗余地址组中选取一个冗余地址,并将选取出的冗余地址模拟成所述异常节点的服务地址,所述冗余地址组包括至少一个冗余地址;

从获取到的除自身之外的其他服务节点的rtp通信信息中查找出所述异常节点的rtp通信信息;

利用所述异常节点的rtp通信信息,在将选取出的冗余地址模拟成的所述异常节点的服务地址上重建所述异常节点在发生异常前正在执行的服务,并执行重建的服务。

实施例四

在本实施例中,提供了一种rtp实时通信集群中异常节点的修复系统,包括多个如实施例三示出的rtp实时通信集群中的服务节点。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本申请所提供的一种异常节点修复方法、装置及相关设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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