一种节点的故障监测方法和装置与流程

文档序号:16401705发布日期:2018-12-25 20:09阅读:221来源:国知局
一种节点的故障监测方法和装置与流程

本发明涉及分布式存储技术领域,特别是涉及一种节点的故障监测方法和装置。

背景技术

随着信息时代的到来,考虑到信息的安全性和可靠性,传统的集中存储系统(即,将所有的数据存储在一起的存储系统)将不能满足需求,这样,将数据分别存储在多台独立的存储服务器上的分布式存储系统就越来越广泛的被应用。分布式存储系统,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,可以提高存储系统的可靠性、可用性和存取效率,还易于扩展。

分布式存储系统中各个节点采用接收和发送心跳消息的方式进行彼此的故障监测,即,每个节点不断的向外发送心跳消息,其他的节点将接收到心跳消息判断节点是否发送故障,只要超过特定的时长没有接收到某个节点的心跳消息,则可以确定该节点故障。但是,一个节点一般只配置有一个事件循环处理中心,该事件循环处理中心不仅处理心跳消息,还处理各种业务消息(例如:数据库的恢复,数据的查询,节点选举等业务消息),只要某个业务消息处理时间过长,就可能会阻塞心跳消息的发送,从而造成对该节点状态的误判,即,错误的认为该节点已发生故障,进而影响该分布式存储系统正常工作。

因此,为了提高分布式存储系统的准确性和可靠性,目前亟待提供一种可以避免心跳消息误判的节点故障监测方法,从而提高该分布式存储系统的可靠性。



技术实现要素:

本申请所要解决的技术问题是,提供一种节点的故障监测方法和装置,以使得分布式存储系统中的每个节点在任何时候发生故障,均可以通过心跳消息被监测出来,避免由于业务消息的处理时间太长导致故障误判,从而能够提高分布式存储系统的可靠性和安全性。

第一方面,提供了一种节点的故障监测方法,包括:

第一节点的心跳监测模块接收第二节点发送的第一心跳消息和第二心跳消息;所述第一心跳消息和所述第二心跳消息是所述第二节点的相邻两次心跳所产生的;

所述心跳监测模块计算所述第一心跳消息和所述第二心跳消息之间的第一时间间隔;

若所述第一时间间隔大于预置的时间阈值,则所述心跳监测模块确定所述第二节点故障。

可选地,该方法还包括:

当所述第二节点被确定发生故障时,所述心跳监测模块发送业务中断指令,用于指示中断与所述第二节点的业务;并且,所述业务中断指令还用于触发漂移ip操作以及更新数据库操作。

可选地,当所述第二节点被确定发生故障后,该方法还包括:

第一节点的心跳监测模块接收第二节点发送的第三心跳消息和第四心跳消息;所述第三心跳消息和所述第四心跳消息是所述第二节点的相邻两次心跳所产生的;

所述心跳监测模块计算接收所述第三心跳消息和所述第四心跳消息之间的第二时间间隔;

若所述第二时间间隔不大于所述预置的时间阈值,则所述心跳监测模块确定所述第二节点恢复连接。

可选地,该方法还包括:

当所述第二节点被确定恢复连接时,所述心跳监测模块发送业务恢复指令,用于指示恢复与所述第二节点的业务;并且,所述业务恢复指令还用于触发漂移ip操作以及更新数据库操作。

可选地,若所述第二节点为主节点,则,所述业务中断指令/业务恢复指令还用于触发选举出新的主节点的操作。

可选地,该方法还包括:

当所述第一节点所在的分布式存储系统中新增/删除第三节点,则,

所述第一节点的心跳监测模块接收新增/删除监控指令;

所述心跳监测模块根据所述新增/删除监控指令,增加/删除对所述第三节点的心跳信息的故障监测。

第二方面,还提供了一种节点的故障监测装置,包括:

第一接收单元,用于第一节点的心跳监测模块接收第二节点发送的第一心跳消息和第二心跳消息;所述第一心跳消息和所述第二心跳消息是所述第二节点的相邻两次心跳所产生的;

第一计算单元,用于所述心跳监测模块计算所述第一心跳消息和所述第二心跳消息之间的第一时间间隔;

第一确定单元,用于若所述第一时间间隔大于预置的时间阈值,则所述心跳监测模块确定所述第二节点故障。

可选地,该装置还包括:

第一发送单元,用于当所述第二节点被确定发生故障时,所述心跳监测模块发送业务中断指令,用于指示中断与所述第二节点的业务;并且,所述业务中断指令还用于触发漂移ip操作以及更新数据库操作。

可选地,当所述第二节点被确定发生故障后,该装置还包括:

第二接收单元,用于第一节点的心跳监测模块接收第二节点发送的第三心跳消息和第四心跳消息;所述第三心跳消息和所述第四心跳消息是所述第二节点的相邻两次心跳所产生的;

第二计算单元,用于所述心跳监测模块计算接收所述第三心跳消息和所述第四心跳消息之间的第二时间间隔;

第二确定单元,用于若所述第二时间间隔不大于所述预置的时间阈值,则所述心跳监测模块确定所述第二节点恢复连接。

可选地,该装置还包括:

第二发送单元,用于当所述第二节点被确定恢复连接时,所述心跳监测模块发送业务恢复指令,用于指示恢复与所述第二节点的业务;并且,所述业务恢复指令还用于触发漂移ip操作以及更新数据库操作。

可选地,若所述第二节点为主节点,则,所述业务中断指令/业务恢复指令还用于触发选举出新的主节点的操作。

可选地,该装置还包括:

第三接收单元,用于当所述第一节点所在的分布式存储系统中新增/删除第三节点,则,所述第一节点的心跳监测模块接收新增/删除监控指令;

监测单元,用于所述心跳监测模块根据所述新增/删除监控指令,增加/删除对所述第三节点的心跳信息的故障监测。

在本申请实施例中,首先,可以通过第一节点的心跳监测模块接收第二节点发送的第一心跳消息和第二心跳消息,所述第一心跳消息和所述第二心跳消息是所述第二节点的相邻两次心跳所产生的;接着,该心跳监测模块计算所述第一心跳消息和所述第二心跳消息之间的第一时间间隔;若所述第一时间间隔大于预置的时间阈值,则所述心跳监测模块可以确定所述第二节点故障。这样,通过节点上独立的心跳监测模块去处理其他节点发送的心跳消息,从而去监测其他节点是否发送故障,克服了用心跳消息与业务消息采用同一处理单元,导致受到业务消息处理的干扰而产生节点故障监测误判的问题,提高了节点故障监测的准确性,从而提高分布式存储系统的可靠性和安全性。

附图说明

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

图1为本发明实施例中一应用场景所涉及的网络系统框架示意图;

图2为本申请实施例提供的一种节点的故障监测方法的流程示意图;

图3为本申请实施例提供的心跳监测模块的结构示意图;

图4为本申请实施例提供的另一种节点的故障监测方法的流程示意图;

图5为本申请实施例提供的再一种节点的故障监测方法的流程示意图;

图6为本申请实施例提供的一种节点的故障监测装置的结构示意图。

具体实施方式

分布式存储系统,将数据分别存储在多台独立的存储服务器上,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,可以提高存储系统的可靠性、可用性和存取效率,还易于扩展,受到用户的广泛青睐。分布式存储系统中各个节点的故障监测,采用接收和发送心跳消息的方式进行。但是,一个节点由于只配置有一个事件循环处理中心,用于处理心跳消息和各种业务消息,那么,只要某个业务消息处理时间出现时延,就可能会阻塞心跳消息的发送,从而造成对该节点状态的误判,即,错误的认为该节点已发生故障,进而影响该分布式存储系统正常工作。

基于此,为了提高分布式存储系统的准确性和可靠性,本发明实施例提供了一种可以避免心跳消息误判的节点故障监测方法:首先,可以通过第一节点的心跳监测模块接收第二节点发送的第一心跳消息和第二心跳消息,所述第一心跳消息和所述第二心跳消息是所述第二节点的相邻两次心跳所产生的;接着,该心跳监测模块计算所述第一心跳消息和所述第二心跳消息之间的第一时间间隔;若所述第一时间间隔大于预置的时间阈值,则所述心跳监测模块可以确定所述第二节点故障。这样,通过节点上独立的心跳监测模块去处理其他节点发送的心跳消息,从而去监测其他节点是否发送故障,克服了用心跳消息与业务消息采用同一处理单元,导致受到业务消息处理的干扰而产生节点故障监测误判的问题,提高了节点故障监测的准确性,从而提高分布式存储系统的可靠性和安全性。

举例来说,本发明实施例的场景之一,可以是应用到如图1所示的场景中。该场景中的分布式存储系统可以为ctdb,其中,该ctdb为一个集群tdb数据库,可以被samba或者其他的应用使用来存储数据。如果一个应用是使用tdb来暂时存放数据,那么这个应用可以很轻松的使用ctdb扩展为集群模式。ctdb提供与tdb相同的函数接口,并且是构建在多台物理机器上的集群。对于该分布式存储系统,每个节点都可以运行该ctdb服务,可以对外提供虚拟ip,保障该分布式存储系统的有序的存储进程。

该分布式存储系统100可以包括节点110、节点120、……、节点1n0(其中,n大于等于2),其中,对于节点110,包括:服务器111、心跳监测模块112和ctdb主线程113;对于节点120,包括服务器121、心跳监测模块122和ctdb主线程123;同理,对于节点1n0,包括服务器1n1、心跳监测模块1n2和ctdb主线程1n3。

作为一个示例,该节点110的心跳监测模块112可以接收到其他的节点(包括节点120、节点1n0)发送的心跳消息,并对接收到的心跳消息进行处理,具体包括:判断接收到同一节点1n0发送的相邻的两次心跳消息之间的间隔时间是否在预置的时间阈值内,如果超出该时间阈值,则该节点110则可以确定该节点1n0发生了故障。

可以理解的是,上述场景仅是本发明实施例提供的一个场景示例,本发明实施例并不限于此场景。

下面结合附图,通过实施例来详细说明本发明实施例中节点的故障监测方法和装置的具体实现方式。

参见图2,示出了本申请实施例提供的一种节点的故障监测方法。该方法例如可以包括:

步骤201,第一节点的心跳监测模块接收第二节点发送的第一心跳消息和第二心跳消息;所述第一心跳消息和所述第二心跳消息是所述第二节点的相邻两次心跳所产生的。

可以理解的是,对于分布式存储系统而言,每个节点均可以通过其上的心跳监测模块发送心跳消息,并且,也可以通过心跳监测模块接收其他节点的心跳监测模块发送的心跳消息,这样,每个节点即可通过心跳消息的规律对其他节点的状态进行监测,确定出故障的节点,从而保障该分布式存储系统的可靠运行。在本实施例中以第一节点通过心跳监测模块监测第二节点的状态为例进行说明,实际上,第二节点也可以通过心跳监测模块监测第一节点的状态,其他的节点彼此利用本发明实施例进行故障监测的方法,可以参见本实施例的描述,不再赘述。

其中,该第一节点可以是分布式存储系统中的任意一个节点,包括心跳监测模块,用于接收其他节点发送的心跳消息。而心跳消息,是指节点在正常工作的状态下,定期向外发送的消息,用于体现该节点的状态。第二节点也可以是分布式存储系统中的区别于第一节点的节点,该第二节点可以通过其上的心跳监测模块不断的发出心跳消息。

参见图3,为本发明实施例所提供的心跳监测模块的结构示意图。该心跳监测模块300包括外部通讯模块301和内部通讯模块302。

其中,外部通讯模块301负责接收和发送其他节点的心跳消息;内部通讯模块302负责与其内部的主进程(例如ctdb主进程)进行通讯,告知该主进程当前的心跳监测结果。

具体实现时,第二节点可以在第一时刻向第一节点的心跳监测模块中的外部通讯模块发送第一心跳消息,并在第二时刻向该第一节点的心跳监测模块中的外部通讯模块继续发送第二心跳消息,其中,该第二节点在第一时刻和第二时刻之间再未发出任何一个心跳消息,即,所述第一心跳消息和所述第二心跳消息是所述第二节点的相邻两次心跳所产生的。那么,第一节点的心跳监测模块中的外部通讯模块即可先后接收到第一心跳消息和第二心跳消息。

此外,该第一节点的心跳监测模块还可以分别获取第一心跳消息和第二心跳消息对应的发送时刻或者接收时刻,具体而言,一种情况下,该第一节点的心跳监测模块可以通过解析接收到的第一心跳消息,获得携带于该第一心跳消息中的第一发送时刻,即,第二节点发送该第一心跳消息的时刻;同理,该第一节点的心跳监测模块也可以通过解析接收到的第二心跳消息,获得携带于该第二心跳消息中的第二发送时刻,即,第二节点发送该第二心跳消息的时刻。另一种情况下,该第一节点的心跳监测模块还可以通过记录接收第一心跳消息的时刻,将该时刻作为第一接收时刻;同理,该第一节点的心跳监测模块也可以通过记录接收第而心跳消息的时刻,将该时刻作为第二接收时刻。

可以理解的是,获取该第一心跳消息和第二心跳消息对应的发送时刻或者接收时刻,为后续步骤202计算第一时间间隔做好准备。

步骤202,心跳监测模块计算接收所述第一心跳消息和所述第二心跳消息之间的第一时间间隔。

具体实现时,可以由心跳监测模块的外部通讯模块或内部通讯模块,对获取到的第一心跳消息和第二心跳消息对应的发送时刻或者接收时刻,计算出发送或者接收第一心跳消息和第二心跳消息之间的时间间隔,记作第一时间间隔,可以表示一个心跳周期。

作为一种示例,当心跳监测模块获取该第一心跳消息的第一发送时刻ts1和第二心跳消息的第二发送时刻ts2,那么,可以用第二发送时刻ts2减去第一发送时刻ts1,得到该第一发送时刻到第二发送时刻所经历的时长ts,记作第一时间间隔。

作为另一个示例,当心跳监测模块获取该第一心跳消息的第一接收时刻tr1和第二心跳消息的第二接收时刻tr2,那么,可以用第二接收时刻tr2减去第一接收时刻tr1,得到该第一接收时刻到第二接收时刻所经历的时长tr,记作第一时间间隔。

步骤203,若所述第一时间间隔大于预置的时间阈值,则所述心跳监测模块确定所述第二节点故障。

可以理解的是,时间阈值,可以是预先设置的心跳周期的最大允许值,即,当第一心跳消息和第二心跳消息之间的第一时间间隔大于该时间阈值,则表示该第二节点的心跳消息发送异常,从而可以确定该第二节点故障;否则,当第一心跳消息和第二心跳消息之间的第一时间间隔步大于该时间阈值,则表示该第二节点的心跳消息发送正常,从而可以继续下一个心跳周期的故障监测。

具体实现时,由第一节点的心跳监测模块中的外部通讯模块或内部通讯模块判断时间阈值和计算所得的第一时间间隔的大小;当该心跳监测模块判定该第一时间间隔大于时间阈值,则,确定该第二节点故障;当该心跳监测模块判定该第一时间间隔小于等于时间阈值,则,确定该第二节点正常。

需要说明的是,上述描述仅是以第二节点发送故障之后,发送第二心跳消息会产生过长的时延的情况,那么,如果第二节点发送故障之后,不再产生第二心跳消息,也即第一节点的心跳监测模块不会接收到第二心跳消息时,那么,第一时间间隔将接近无穷大,也可以通过本实施例进行故障监测,确定出该第二节点故障。

作为一个可能的示例,当所述第二节点被确定发生故障时,所述心跳监测模块发送业务中断指令,用于指示中断与所述第二节点的业务;并且,所述业务中断指令还用于触发漂移ip操作以及更新数据库操作。

其中,业务中断指令具体可以是第一节点的心跳监测模块的内部通讯模块向内部的主进程发送的。该业务中断指令中不仅可以包括待中断业务的故障节点的标识,即,第二节点的标识,还可以包括漂移ip操作对应的操作命令以及更新数据库操作对应的操作命令。因此,接收到该业务中断指令后,即可知悉具体发生了故障、需要中断相关业务的目标节点,并且可以触发执行操作命令对应的漂移ip和更新数据库的操作。

需要说明的是,如果该第二节点为主节点,则,该业务中断指令中还可以包发选举出新的主节点的操作对应的操作命令,用于在第二节点发生故障时触发执行该操作命令对应的选举新的主节点的操作。

在步骤203之后,即,确定出第二节点故障之后,为了能够对故障后替换或者修复的第二节点实现灵活的恢复,提高资源利用率,那么,如图4所示,本发明实施例提供的节点的故障监测方法还可以包括:

步骤404,第一节点的心跳监测模块接收第二节点发送的第三心跳消息和第四心跳消息;所述第三心跳消息和所述第四心跳消息是所述第二节点的相邻两次心跳所产生的;

步骤405,所述心跳监测模块计算接收所述第三心跳消息和所述第四心跳消息之间的第二时间间隔;

步骤406,若所述第二时间间隔不大于所述预置的时间阈值,则所述心跳监测模块确定所述第二节点恢复连接。

可以理解的是,该第三心跳消息和第四心跳消息可以参见第一心跳消息和第二心跳消息的相关描述,第二时间间隔的计算方式也可以参见第一时间间隔的计算方式,这里不再赘述。

需要说明的是,在确定第二节点故障后,如果第一节点的心跳监测模块中的外部通讯模块又在某一时间段内接收到第二节点相邻两次心跳所产生的两个心跳消息,即,第三心跳消息和第四心跳消息,那么,该第一节点的心跳监测模块可以参见步骤202的方式计算步骤405中的第二时间间隔。

当第二时间间隔不大于预置的时间阈值时,说明该第二节点的心跳消息恢复了正常状态,那么,该第一节点的心跳监测模块可以确定该第二节点已经恢复了连接状态。否则,当第二时间间隔仍然大于预置的时间阈值时,说明该第二节点的心跳消息仍然存在故障。

作为一个可能的示例,当所述第二节点被确定恢复连接时,所述心跳监测模块发送业务恢复指令,用于指示恢复与所述第二节点的业务;并且,所述业务恢复指令还用于触发漂移ip操作以及更新数据库操作。

其中,业务恢复指令具体可以是第一节点的心跳监测模块的内部通讯模块向内部的主进程发送的。该业务恢复指令中不仅可以包括待恢复业务的故障节点的标识,即,第二节点的标识,还可以包括漂移ip操作对应的操作命令以及更新数据库操作对应的操作命令。因此,接收到该业务恢复指令后,即可知悉具体被中断业务、需要恢复相关业务的目标节点,并且可以触发执行操作命令对应的漂移ip和更新数据库的操作。

需要说明的是,如果第二节点故障前为主节点,则,该业务恢复指令中还可以包发选举出新的主节点的操作对应的操作命令,用于在第二节点恢复连接时触发执行该操作命令对应的选举新的主节点的操作。

此外,为了适应对结构多变的分布式存储系统的节点故障监测,还可以对新增或者删除的节点进行监测,并实时将新增或者删除的节点更新到数据库中,以便完成更加精确和可靠的故障监测。具体实现时,如图5所示,本发明实施例还可以包括:

步骤507,当所述第一节点所在的分布式存储系统中新增/删除第三节点,则,所述第一节点的心跳监测模块接收新增/删除监控指令;

步骤508,所述心跳监测模块根据所述新增/删除监控指令,增加/删除对所述第三节点的心跳信息的故障监测。

可以理解的是,当分布式存储系统中新增或者删除第三节点,那么,主线程可以触发启动/关闭对应节点的心跳监测模块;并向通知该分布式存储系统中的其他节点的心跳监测模块新增/删除监控指令,用于指示这些节点增加或者删除对第三节点的心跳监测。

作为一个示例,当分布式存储系统中新增了第三节点,此时,主线程可以触发启动该第三节点的心跳监测模块,并向第一节点的心跳监测模块发送新增监控指令,其中可以携带新增节点的标识(即,第三节点的标识),用于通知第一节点的心跳监测模块增加对该第三节点的心跳监测。此后,第三节点的心跳监测模块会周期性的发出心跳消息,而第一节点的心跳监测模块也可以通过接收该第三节点发出的心跳消息,实时监测该第三节点的状态是否发生故障。

作为另一个示例,当分布式存储系统中删除了第三节点,此时,主线程可以触发关闭该第三节点的心跳监测模块,并向第一节点的心跳监测模块发送删除监控指令,其中可以携带删除节点的标识(即,第三节点的标识),用于通知第一节点的心跳监测模块删除对该第三节点的心跳监测。此后,第三节点的心跳监测模块则不会发出心跳消息,而第一节点的心跳监测模块也就无需再实时监测该第三节点的状态是否发生故障。需要说明的是,当删除第三节点时,也可以不执行“触发关闭该第三节点的心跳监测模块”的操作,即使第三节点的心跳监测模块仍然会周期性的发出心跳消息,同样该第一节点也可以根据该删除监控指令,屏蔽该第三节点的心跳消息,进而不去监测该第三节点的状态。

可见,在本申请实施例中,首先,可以通过第一节点的心跳监测模块接收第二节点发送的第一心跳消息和第二心跳消息,所述第一心跳消息和所述第二心跳消息是所述第二节点的相邻两次心跳所产生的;接着,该心跳监测模块计算所述第一心跳消息和所述第二心跳消息之间的第一时间间隔;若所述第一时间间隔大于预置的时间阈值,则所述心跳监测模块可以确定所述第二节点故障。这样,通过节点上独立的心跳监测模块去处理其他节点发送的心跳消息,从而去监测其他节点是否发送故障,克服了用心跳消息与业务消息采用同一处理单元,导致受到业务消息处理的干扰而产生节点故障监测误判的问题,提高了节点故障监测的准确性,从而提高分布式存储系统的可靠性和安全性。

相应的,本申请实施例还提供了一种节点的故障监测装置,参见图6,该装置具体可以包括:

第一接收单元601,用于第一节点的心跳监测模块接收第二节点发送的第一心跳消息和第二心跳消息;所述第一心跳消息和所述第二心跳消息是所述第二节点的相邻两次心跳所产生的;

第一计算单元602,用于所述心跳监测模块计算所述第一心跳消息和所述第二心跳消息之间的第一时间间隔;

第一确定单元603,用于若所述第一时间间隔大于预置的时间阈值,则所述心跳监测模块确定所述第二节点故障。

可选地,该装置还包括:

第一发送单元,用于当所述第二节点被确定发生故障时,所述心跳监测模块发送业务中断指令,用于指示中断与所述第二节点的业务;并且,所述业务中断指令还用于触发漂移ip操作以及更新数据库操作。

可选地,当所述第二节点被确定发生故障后,该装置还包括:

第二接收单元,用于第一节点的心跳监测模块接收第二节点发送的第三心跳消息和第四心跳消息;所述第三心跳消息和所述第四心跳消息是所述第二节点的相邻两次心跳所产生的;

第二计算单元,用于所述心跳监测模块计算接收所述第三心跳消息和所述第四心跳消息之间的第二时间间隔;

第二确定单元,用于若所述第二时间间隔不大于所述预置的时间阈值,则所述心跳监测模块确定所述第二节点恢复连接。

可选地,该装置还包括:

第二发送单元,用于当所述第二节点被确定恢复连接时,所述心跳监测模块发送业务恢复指令,用于指示恢复与所述第二节点的业务;并且,所述业务恢复指令还用于触发漂移ip操作以及更新数据库操作。

可选地,若所述第二节点为主节点,则,所述业务中断指令/业务恢复指令还用于触发选举出新的主节点的操作。

可选地,该装置还包括:

第三接收单元,用于当所述第一节点所在的分布式存储系统中新增/删除第三节点,则,所述第一节点的心跳监测模块接收新增/删除监控指令;

监测单元,用于所述心跳监测模块根据所述新增/删除监控指令,增加/删除对所述第三节点的心跳信息的故障监测。

上述描述为一种节点的故障监测装置的相关描述,其中,具体实现方式以及达到的效果,可以参见图2所示的一种节点的故障监测方法实施例的描述,这里不再赘述。

本发明实施例中提到的“第一心跳消息”、“第一节点”等名称中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”等。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-onlymemory,rom)/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法和装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本发明的优选实施方式,并非用于限定本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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