CN107196779A - 用于实现网络自愈的方法、节点和系统 - Google Patents
用于实现网络自愈的方法、节点和系统 Download PDFInfo
- Publication number
- CN107196779A CN107196779A CN201610146578.7A CN201610146578A CN107196779A CN 107196779 A CN107196779 A CN 107196779A CN 201610146578 A CN201610146578 A CN 201610146578A CN 107196779 A CN107196779 A CN 107196779A
- Authority
- CN
- China
- Prior art keywords
- backup
- person
- node
- state
- version number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
- H04L41/0856—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提出一种用于实现网络自愈的方法、节点和系统,涉及智能网络领域。其中,本发明的一种用于实现网络自愈的方法包括:在当前状态为非备份者状态时,判断是否能够接收到备份者声明;若未能在第一预定时间内接收到备份者声明,则向网络中各节点广播申请消息;在接收到的申请消息中,查询是否存在比自身备份版本号高的备份版本号;若未在第二预定时间内查询到比自身备份版本号高的备份版本号,则将当前状态变更为备份者状态。通过这样的方法,当非备份者状态的节点未能收到备份者声明时,判断备份者节点离线,申请成为备份者节点,从而能够维持网络中存在备份者节点,实现系统的自愈,提高网络的稳定性。
Description
技术领域
本发明涉及智能网络领域,特别是一种用于实现网络自愈的方法、节点和系统。
背景技术
智能家居中,灯光系统、温控系统、影音系统与各种传感器组成网络,按照用户的喜好彼此联动。例如,房门打开时,会激活摄像监控,灯光和室温会自动调节,背景音乐会自动打开等等。
为降低系统对控制中心的依赖,可以将场景联动逻辑和接入设备信息保存在备份者节点上。但是,智能家居网络是动态的,各个节点可能随时离线,其中也包括备份者节点。当备份者节点离线时,会导致无法查询到节点的联动信息,导致联动失败。
发明内容
本发明的一个目的在于提出一种当备份者节点离线时保证智能家居多节点联动网络自愈的方案。
根据本发明的一个方面,提出一种用于实现网络自愈的方法,包括:在当前状态为非备份者状态时,判断是否能够接收到备份者声明,其中备份者节点以预定周期发送备份者声明;若未能在第一预定时间内接收到备份者声明,则向网络中各节点广播申请消息,其中申请消息中包括自身节点标识和备份版本号;在接收到的申请消息中,查询是否存在比自身备份版本号高的备份版本号;若未在第二预定时间内查询到比自身备份版本号高的备份版本号,则将当前状态变更为备份者状态,以便成为备份者节点。
进一步地,若未在第二预定时间内查询到比自身备份版本号高的备份版本号,则将当前状态变更为备份者状态的步骤包括:若未在第二预定时间内查询到比自身备份版本号高的备份版本号,则将当前状态变更为候选状态;判断是否接收到备份者声明;若未能在第三预定时间内接收到备份者声明,则将当前状态变更为备份者状态。
进一步地,若在第三预定时间内收到备份者声明,则将当前状态变更为非备份者状态。
进一步地,若在第二预定时间内查询到比自身备份版本号高的备份版本号,则将当前状态变更为等待状态;在接收到备份者声明后,将当前状态变更为非备份者状态。
进一步地,还包括:在接收到备份者声明后,比较自身当前的备份版本号和备份者声明中的备份版本号;若备份者声明中的备份版本号高于自身当前的备份版本号,则向当前处于备份者状态的节点发送备份更新请求,以便更新自身的备份信息。
进一步地,若未能在第一预定时间内接收到备份者声明,则向网络中各节点广播申请消息的步骤包括:若未能在第一预定时间内接收到全部备份者节点发送的备份者声明,则向网络中各节点广播申请消息。
进一步地,若未在第二预定时间内查询到比自身备份版本号高的备份版本号,则将当前状态变更为备份者状态的步骤包括:若未在第二预定时间内查询到比自身备份版本号高的备份版本号,则将当前状态变更为候选状态;判断是否接收到新备份者节点发送的备份者声明,其中新备份者节点是在指定时间范围内从非备份者状态变更到备份者状态的节点;若未能在第三预定时间内接收到新备份者节点发送的备份者声明,则将当前状态变更为备份者状态。
进一步地,若在第三预定时间内收到新备份者节点发送的备份者声明,则将当前状态变更为非备份者状态。
进一步地,若在第二预定时间内查询到比自身备份版本号高的备份版本号,则将当前状态变更为等待状态;在接收到新备份者节点发送的备份者声明后,将当前状态变更为非备份者状态。
通过这样的方法,当非备份者状态的节点未能收到备份者声明时,判断备份者节点离线,申请成为备份者节点,从而能够维持网络中存在备份者节点,实现系统的自愈,提高网络的稳定性。
根据本发明的另一个方面,提出一种用于实现网络自愈的节点,包括:消息接收模块,用于在当前状态为非备份者状态时,接收备份者声明和申请消息;判断模块,用于判断在第一预定时间内是否接收到备份者声明;版本号查询模块,用于在接收到的申请消息中,查询是否存在比自身备份版本号高的备份版本号;查询消息发送模块,用于当判断模块判断在第一预定时间内没有接收到备份者声明时,向网络中各节点广播申请消息,其中申请消息中包括自身节点标识和备份版本号;状态变更模块,用于当版本号查询模块未在第二预定时间内查询到比自身备份版本号高的备份版本号时,将当前状态变更为备份者状态,以便成为备份者节点;备份者声明发送模块,用于在成为备份者节点后,以预定周期发送备份者声明。
进一步地,状态变更模块,还用于当版本号查询模块在第二预定时间内没有查询到比自身备份版本号高的备份版本号时,将当前状态变更为候选状态;若在第三预定时间内消息接收模块没有接收到备份者声明,则将当前状态变更为备份者状态;判断模块,还用于在状态变更模块将当前状态变更为候选状态后的第三预定时间内判断是否接收到备份者声明。
进一步地,状态变更模块,还用于当判断模块确定在状态变更模块将当前状态变更为候选状态后的第三预定时间内消息接收模块收到备份者声明时,则将当前状态变更为非备份者状态。
进一步地,状态变更模块,还用于当版本号查询模块在第二预定时间内查询到比自身备份版本号高的备份版本号时,将当前状态变更为等待状态;在消息接收模块接收到备份者声明后,将当前状态变更为非备份者状态。
进一步地,版本号查询模块,还用于在接收到备份者声明后比较自身当前的备份版本号和备份者声明中的备份版本号,查询是否备份者声明中的备份版本号比自身备份版本号高;备份更新模块,用于当版本号查询模块确定备份者声明中的备份版本号高于自身当前的备份版本号时,向当前处于备份者状态的节点发送备份更新请求,以便更新自身的备份信息。
进一步地,判断模块具体用于判断在第一预定时间内是否接收到全部备份者节点发送的备份者声明;状态变更模块,用于当判断模块确定消息接收模块在第一预定时间内没有接收到全部备份者节点发送的备份者声明时,向网络中各节点广播申请消息。
进一步地,状态变更模块,还用于当版本号查询模块在第二预定时间内没有查询到比自身备份版本号高的备份版本号时,将当前状态变更为候选状态;当判断模块确定在状态变更为候选状态后的第三预定时间内消息接收模块没有接收到新备份者节点发送的备份者声明时,将当前状态变更为备份者状态,其中新备份者节点是在指定时间范围内从非备份者状态变更到备份者状态的节点;判断模块,还用于在状态变更模块将当前状态变更为候选状态后的第三预定时间内判断是否接收到新备份者节点发送的备份者声明。
进一步地,状态变更模块,还用于当判断模块确定在状态变更模块将当前状态变更为候选状态后的第三预定时间内消息接收模块收到新备份者节点发送的备份者声明时,将当前状态变更为非备份者状态。
进一步地,状态变更模块,还用于当版本号查询模块在第二预定时间内查询到比自身备份版本号高的备份版本号时,将当前状态变更为等待状态;当消息接收模块接收到新备份者节点发送的备份者声明后,将当前状态变更为非备份者状态。
这样的节点在处于非备份者状态时,若未能收到备份者声明时,则判断备份者节点离线,申请成为备份者节点,从而能够维持网络中存在备份者节点,实现系统的自愈,提高网络的稳定性。
根据本发明的又一个方面,提出一种用于实现网络自愈的系统,包括上文中提到的任一种用于实现网络自愈的节点。
在这样的系统中,若处于非备份者状态的节点未能收到备份者声明,则判断备份者节点离线,申请成为备份者节点,从而能够维持网络中存在备份者节点,实现系统的自愈,提高网络的稳定性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明的用于实现网络自愈的方法的一个实施例的流程图。
图2为本发明的用于实现网络自愈的方法的另一个实施例的流程图。
图3为本发明的用于实现网络自愈的方法的又一个实施例的流程图。
图4为本发明的用于实现网络自愈的方法的再一个实施例的状态转移图。
图5为本发明的用于实现网络自愈的方法的其中一个实施例的流程图。
图6为本发明的用于实现网络自愈的节点的一个实施例的示意图。
图7为本发明的用于实现网络自愈的节点的另一个实施例的示意图。
图8为本发明的用于实现网络自愈的系统的一个实施例的示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
本发明的用于实现网络自愈的方法的一个实施例的流程图如图1所示。
在步骤101中,节点处于非备份者状态。处于备份状态的节点可以称为备份者节点。备份者节点可以以预定时间间隔广播备份者声明。处于非备份者状态的节点接收备份者声明。备份者声明中包括备份者节点的备份版本号信息。
在步骤102中,由于备份者节点以预定时间间隔广播备份者声明,非备份者状态的节点接收备份者声明。若非备份者状态的节点在收到备份者声明后的第一预定时间内再次收到备份者声明,则循环执行步骤102,持续监测第一预定时间内是否收到备份者声明;若非备份者状态的节点在收到备份者声明后的第一预定时间内未能再次收到备份者声明,则执行步骤103。
在步骤103中,非备份者节点向网络中各个节点广播申请消息,请求成为备份者。其中,申请消息中包括自身节点标识和备份版本号。
在步骤104中,非备份者节点判断在第二预定时间内是否收到来自其他非备份者节点的申请消息,且判断收到的申请消息中的备份版本号是否高于自身的备份版本号。若收到的申请消息中的备份版本号高于自身的备份版本号,则执行步骤101,保持非备份者状态;若未能收到申请消息,或收到的申请消息中备份版本号均不大于本节点的备份版本号,则执行步骤105。
在步骤105中,节点变更自身状态为备份者状态,成为备份者节点,并以预定时间间隔广播备份者声明。
通过这样的方法,当非备份者状态的节点未能收到备份者声明时,则判断备份者节点离线,申请成为备份者节点,从而能够维持网络中存在备份者节点,实现系统的自愈,提高网络的稳定性。
本发明的用于实现网络自愈的方法的另一个实施例的流程图如图2所示。
在步骤201中,备份者节点以预定时间间隔广播备份者声明。用于实现网络自愈的节点处于非备份者状态,持续监听备份者声明。
在步骤202中,若非备份者状态的节点在收到备份者声明后的第一预定时间内再次收到备份者声明,则循环执行步骤102,持续监测第一预定时间内是否收到备份者声明;若非备份者状态的节点在收到备份者声明后的第一预定时间内未能再次收到备份者声明,则执行步骤203。
在步骤203中,非备份者节点向网络中各个节点广播申请消息,请求成为备份者。
在步骤204中,非备份者节点判断在第二预定时间内是否收到来自其他非备份者节点的申请消息,且判断收到的申请消息中的备份版本号是否高于自身的备份版本号。若收到的申请消息中的备份版本号高于自身的备份版本号,则执行步骤201,保持非备份者状态;若未能收到申请消息,或收到的申请消息中备份版本号均不大于本节点的备份版本号,则执行步骤205。
在步骤205中,节点变更自身状态为候选状态,该节点成为备份者节点的候选节点。候选状态的节点需要等待第三预定时间。
在步骤206中,候选状态的节点在等待的第三预定时间内若未能收到备份者声明,则执行步骤207;若在第三预定时间内收到备份者声明,则执行步骤208。
在步骤207中,候选状态的节点变更自身状态为备份者状态,成为备份者节点,并以预定时间间隔广播备份者消息。
在步骤208中,候选状态的节点变更自身状态为非备份者状态。
通过这样的方法,当非备份者状态的节点判断自身备份版本号不低于其他非备份者状态的节点后,还需等待第三预定时间,以保证只有一个非备份者状态的节点成为备份者节点,从而防止系统混乱,提高系统的健壮性。
本发明的用于实现网络自愈的方法的又一个实施例的流程图如图3所示。
在步骤301中,备份者节点以预定时间间隔广播备份者声明,处于非备份者状态的节点持续监听备份者声明。
在步骤302中,若非备份者状态的节点在收到备份者声明后的第一预定时间内再次收到备份者声明,则循环执行步骤302,持续监测第一预定时间内是否收到备份者声明;若非备份者状态的节点在收到备份者声明后的第一预定时间内未能再次收到备份者声明,则执行步骤303。
在步骤303中,非备份者节点向网络中各个节点广播申请消息,请求成为备份者。
在步骤304中,非备份者节点判断在第二预定时间内是否收到来自其他非备份者节点的申请消息,且判断收到的申请消息中的备份版本号是否高于自身的备份版本号。若未能收到申请消息,或收到的申请消息中备份版本号均不大于本节点的备份版本号,则执行步骤305。若收到的申请消息中的备份版本号高于自身的备份版本号,则执行步骤306。
在步骤305中,节点变更自身状态为备份者状态,成为备份者节点,并以预定时间间隔广播备份者声明。在另一个实施例中,可以按照图2实施例中步骤305~308的方式执行,判断是否成为备份者节点。
在步骤306中,节点变更自身状态为等待状态。等待状态的节点在收到备份者声明之前,一直维持等待状态。
在步骤307中,若等待状态的节点未收到备份者声明,则循环执行步骤307,等待备份者声明;若等待状态的节点收到备份者声明,则执行步骤308。
在步骤308中,节点变更自身状态为非备份者状态。
通过这样的方法,自身备份版本号较低的节点能够等待出现新的备份者节点后再确认回到非备份者状态,逻辑更加完整。
在一个实施例中,本发明的节点状态变更的状态转移图如图4所示。节点初始处于非备份者状态。
在401中,非备份者状态的节点接收来自备份者节点的备份者声明。若在收到一次备份者声明后的第一预定时间内未能收到备份者声明,则判断备份者节点故障或离线,申请成为新的备份者。非备份者状态的节点广播申请消息,并等待第二预定时间。
在402中,若非备份者状态的节点在第二预定时间内未收到更高备份版本号的申请消息,则变更状态为候选状态。
在403中,若非备份者状态的节点在第二预定时间内收到更高备份版本号的申请消息,则变更状态为等待状态。
在404中,若候选状态的节点在第三预定时间内未能收到备份者声明,则变更状态为备份者状态,节点成为备份者节点。
在405中,若候选状态的节点在第三预定时间内收到备份者声明,则说明已有其他节点申请成功,成为备份者节点,因此,候选状态的节点变更状态为非备份者状态。
在步骤406中,若等待状态的节点收到备份者声明,则变更状态为非备份者状态。
通过这样的逻辑,在备份者节点离线或故障的情况下,非备份者状态的节点能够申请成为备份者节点,且保证效率最高的节点优先成为备份者节点,在提高系统健壮性,降低对备份者节点依赖的同时,提高系统的运行效率。
在一个实施例中,网络中可以有多个备份者节点。可以在所有备份者节点均离线或故障的情况下,由非备份者状态的节点中生成一个备份者节点。例如,网络中有3个备份者节点,当三个备份者节点均故障或离线时,非备份者状态的节点会在第一预定时间内无法收到备份者声明,从而发送申请消息,在非备份者节点中产生一个备份者节点,称为新备份者节点。这样的方式能够保证网络中至少包括一个备份者节点,从而维持系统的正常运行。
在另一个实施例中,可以当网络中备份者节点的数量减少时,在非备份者节点中产生一个备份者节点,以保证网络中备份者节点的数量。例如,网络中有3个备份者节点,3个非备份者状态的节点,当3个备份者节点中有一个节点离线或故障时,3个非备份者状态的节点中会有一个成为备份者节点,从而保持系统中的备份者节点数量为3个。这样的方式能够进一步提高系统的性能和稳定性,降低对单个备份者节点性能的要求。
本发明的用于实现网络自愈的方法的再一个实施例的流程图如图5所示。
在步骤501中,节点处于非备份者状态,网络中所有备份者节点均以预定时间间隔广播备份者声明。在一个实施例中,备份者声明中除了备份者节点存储的备份版本号信息,还包括备份者节点的节点标识。
在步骤502中,若非备份者状态的节点在收到来自任一备份者节点的备份者声明后的第一预定时间内能够再次收到来自该备份者节点的备份者声明,则说明所有备份者节点均在线,循环执行步骤502;若在收到备份者声明的第一预定时间内未能再次收到来自该备份者节点的备份者声明,则说明该节点离线,执行步骤503。在一个实施例中,非备份者节点可以通过节点标识识别备份者声明的源节点。
在步骤503中,非备份者节点向网络中各个节点广播申请消息,请求成为备份者。
在步骤504中,非备份者节点判断在第二预定时间内是否收到来自其他非备份者节点的申请消息,且判断收到的申请消息中的备份版本号是否高于自身的备份版本号。若未能收到申请消息,或收到的申请消息中备份版本号均不大于本节点的备份版本号,则执行步骤505。若收到的申请消息中的备份版本号高于自身的备份版本号,则执行步骤508。
在步骤505中,节点变更自身状态为候选状态,该节点成为备份者节点的候选节点。候选状态的节点需要等待第三预定时间。
在步骤506中,候选状态的节点在等待的第三预定时间内若未能收到来自新备份者节点的备份者声明,则执行步骤507,新备份者节点为在指定时间范围内从非备份者状态变更到备份者状态的节点,如在步骤502中确定存在备份者节点离线或故障后新申请成为备份者节点的节点;若在第三预定时间内收到来自新备份者节点的备份者声明,则执行步骤510。
在步骤507中,候选状态的节点变更自身状态为备份者状态,成为备份者节点,并以预定时间间隔广播备份者消息。
在步骤508中,节点变更自身状态为等待状态。等待状态的节点在收到来自新备份者节点的备份者声明之前,一直维持等待状态。
在步骤509中,若等待状态的节点未收到来自新备份者节点的备份者声明,则循环执行步骤509,等待备份者声明;若等待状态的节点收到备份者声明,则执行步骤510。
在步骤510中,节点变更自身状态为非备份者状态。
通过这样的方法,可以在网络中备份者节点的数量减少时,在非备份者节点中产生一个备份者节点,以保证网络中备份者节点的数量。这样的方式能够进一步提高系统的性能和稳定性,降低对单个备份者节点性能的要求。
在一个实施例中,备份者节点广播备份者声明,备份者声明中包括备份版本号信息。当备份者节点或非备份者状态的节点收到备份者声明后,获得备份版本号信息,比较备份者声明中的备份版本号和自身的备份版本号。若备份者声明中的备份版本号高于自身的备份版本号,则向该备份者声明的源备份者节点发送备份更新请求,以便更新自身的备份信息。在一个实施例中,备份者声明中还可以包括本节点表示、所有备份者表示和备份版本号。
通过这样的方法,能够以预定周期进行各节点的备份数据同步,从而尽量使备份者节点离线或故障时,新产生的备份者节点的备份版本为最新版本,提高用户体验。
本发明的用于实现网络自愈的节点的一个实施例的示意图如图6所示。其中,消息接收模块601能够在当前状态为非备份者状态时,接收备份者声明和申请消息。若判断模块602判断在第一预定时间内未接收到备份者声明,则激活查询消息发送模块603。查询消息发送模块603能够在判断模块602判断在第一预定时间内没有接收到备份者声明时,向网络中各节点广播申请消息,申请消息中包括自身节点标识和备份版本号。版本号查询模块604能够在消息接收模块601接收到的申请消息中查询是否存在比自身备份版本号高的备份版本号。状态变更模块605能够在版本号查询模块604未在第二预定时间内查询到比自身备份版本号高的备份版本号时,将当前状态变更为备份者状态,以便成为备份者节点。备份者声明发送模块606用于在节点成为备份者节点后,以预定周期发送备份者声明。
这样的节点在处于非备份者状态时,若未能收到备份者声明,则判断备份者节点离线,申请成为备份者节点,从而能够维持网络中存在备份者节点,实现系统的自愈,提高网络的稳定性。
在一个实施例中,状态变更模块605还用于当版本号查询模块604未在第二预定时间内查询到比自身备份版本号高的备份版本号时,将当前状态变更为候选状态。判断模块602在节点成为候选状态后的第三预定时间内判断消息接收模块601是否收到备份者声明。若判断模块602确定消息接收模块601收到备份者声明,则状态变更模块605将当前状态变更为非备份者状态;若判断模块602确定消息接收模块601未收到备份者声明,则状态变更模块605将当前状态变更为备份者状态,节点成为备份者节点。
这样的非备份者状态的节点判断自身备份版本号不低于其他非备份者状态的节点后,还需等待第三预定时间,以保证只有一个非备份者状态的节点成为备份者节点,从而防止系统混乱,提高系统的健壮性。
在一个实施例中,当版本号查询模块604在第二预定时间内查询到消息接收模块601接收的申请消息中存在比自身备份版本号高的备份版本号时,状态变更模块605将当前状态变更为等待状态。当消息接收模块601接收备份者声明时,状态变更模块605将等待状态的节点变更为非备份者状态。
这样的节点能够在自身备份版本号较低时能够等待出现新的备份者节点后再确认回到非备份者状态,逻辑更加完整,系统更加稳定。
在一个实施例中,网络中可以有多个备份者节点。可以在所有备份者节点均离线或故障的情况下,由非备份者节点中生成一个备份者节点。在另一个实施例中,可以在网络中备份者节点的数量减少时,在非备份者节点中产生一个备份者节点,以保证网络中备份者节点的数量。判断模块602具体用于在收到来自任一备份者节点的备份者声明后的第一预定时间内判断是否能够再次收到来自该备份者节点的备份者声明;状态变更模块604用于当判断模块602确定消息接收模块在第一预定时间内没有接收到全部备份者节点发送的备份者声明时,向网络中各节点广播申请消息;当版本号查询模块在第二预定时间内没有查询到比自身备份版本号高的备份版本号时,将当前状态变更为候选状态;当判断模块602确定在状态变更为候选状态后的第三预定时间内消息接收模块601没有接收到新备份者节点发送的备份者声明时,则将当前状态变更为备份者状态,其中新备份者节点是在指定时间范围内从非备份者状态变更到备份者状态的节点;当版本号查询模块在第二预定时间内查询到比自身备份版本号高的备份版本号时,将当前状态变更为等待状态;当消息接收模块接收到新备份者节点发送的备份者声明后,将当前状态变更为非备份者状态。
这样的节点能够在网络中备份者节点的数量减少时,在非备份者节点中产生一个备份者节点,以保证网络中备份者节点的数量,从而进一步提高系统的性能和稳定性,降低对单个备份者节点性能的要求。
本发明的用于实现网络自愈的节点的另一个实施例的示意图如图7所示。其中,消息接收模块701、判断模块702、查询消息发送模块703、状态变更模块705和备份者声明发送模块706的结构和功能与图6的实施例中相似。版本号查询模块704还用于在接收到备份者声明后比较自身当前的备份版本号和备份者声明中的备份版本号,查询是否备份者声明中的备份版本号比自身备份版本号高。节点还包括备份更新模块707,能够在版本号查询模块704确定备份者声明中的备份版本号高于自身当前的备份版本号时,向当前处于备份者状态的节点发送备份更新请求,以便更新自身的备份信息。
这样的节点能够以预定周期进行各节点的备份数据同步,从而尽量使备份者节点离线或故障时,新产生的备份者节点的备份版本为最新版本,提高用户体验。
本发明的用于实现网络自愈的系统的一个实施例的示意图如图8所示。该网络可以用于智能家居系统中,能够实现智能家居网络联动,例如,房门打开时,会激活摄像监控,灯光和室温会自动调节,背景音乐会自动打开等。
在一个实施例中,网络中包括控制节点801,多个功能性节点804,以及用于实现网络自愈的节点,其中,用于实现网络自愈的节点包括备份者节点802,以及非备份者状态的节点803。控制节点801能够在接收到来自节点804的激活信息后,向备份者节点发送联动请求,从备份者节点802获得联动逻辑信息,从而控制各个节点804实现联动。
备份者节点802以预定周期广播备份者声明,备份者声明中包括备份版本号信息。当备份者节点离线或故障时,非备份者状态的节点803不能在第一预定时间内收到备份者声明,则可以采用上文中提到的任一种用于实现网络自愈的方法申请成为新备份者节点,从而实现网络自愈。
在这样的系统中,若处于非备份者状态的节点未能收到备份者声明,则判断备份者节点离线,申请成为备份者节点,从而能够维持网络中存在备份者节点,实现系统的自愈,提高网络的稳定性。
在一个实施例中,本发明用于实现网络自愈的系统中用于实现网络自愈的节点可以是上文中提到的任一种,系统中可以有多个用于实现网络自愈的节点,可以有多个节点处于备份者状态,也可以有多个节点处于非备份者状态。
这样的系统更加灵活稳定,在提高系统性能的同时,提高了系统的健壮性。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
Claims (19)
1.一种用于实现网络自愈的方法,其特征在于,包括:
在当前状态为非备份者状态时,判断是否能够接收到备份者声明,其中备份者节点以预定周期发送备份者声明;
若未能在第一预定时间内接收到备份者声明,则向网络中各节点广播申请消息,其中申请消息中包括自身节点标识和备份版本号;
在接收到的申请消息中,查询是否存在比自身备份版本号高的备份版本号;
若未在第二预定时间内查询到比自身备份版本号高的备份版本号,则将当前状态变更为备份者状态,以便成为备份者节点。
2.根据权利要求1所述的方法,其特征在于,
若未在第二预定时间内查询到比自身备份版本号高的备份版本号,则将当前状态变更为备份者状态的步骤包括:
若未在第二预定时间内查询到比自身备份版本号高的备份版本号,则将当前状态变更为候选状态;
判断是否接收到备份者声明;
若未能在第三预定时间内接收到备份者声明,则将当前状态变更为备份者状态。
3.根据权利要求2所述的方法,其特征在于,
若在第三预定时间内收到备份者声明,则将当前状态变更为非备份者状态。
4.根据权利要求1所述的方法,其特征在于,
若在第二预定时间内查询到比自身备份版本号高的备份版本号,则将当前状态变更为等待状态;
在接收到备份者声明后,将当前状态变更为非备份者状态。
5.根据权利要求1~4任一所述的方法,其特征在于,还包括:
在接收到备份者声明后,比较自身当前的备份版本号和备份者声明中的备份版本号;
若备份者声明中的备份版本号高于自身当前的备份版本号,则向当前处于备份者状态的节点发送备份更新请求,以便更新自身的备份信息。
6.根据权利要求1所述的方法,其特征在于,
若未能在第一预定时间内接收到备份者声明,则向网络中各节点广播申请消息的步骤包括:
若未能在第一预定时间内接收到全部备份者节点发送的备份者声明,则向网络中各节点广播申请消息。
7.根据权利要求6所述的方法,其特征在于,
若未在第二预定时间内查询到比自身备份版本号高的备份版本号,则将当前状态变更为备份者状态的步骤包括:
若未在第二预定时间内查询到比自身备份版本号高的备份版本号,则将当前状态变更为候选状态;
判断是否接收到新备份者节点发送的备份者声明,其中新备份者节点是在指定时间范围内从非备份者状态变更到备份者状态的节点;
若未能在第三预定时间内接收到新备份者节点发送的备份者声明,则将当前状态变更为备份者状态。
8.根据权利要求7所述的方法,其特征在于,
若在第三预定时间内收到新备份者节点发送的备份者声明,则将当前状态变更为非备份者状态。
9.根据权利要求6所述的方法,其特征在于,
若在第二预定时间内查询到比自身备份版本号高的备份版本号,则将当前状态变更为等待状态;
在接收到新备份者节点发送的备份者声明后,将当前状态变更为非备份者状态。
10.一种用于实现网络自愈的节点,其特征在于,包括:
消息接收模块,用于在当前状态为非备份者状态时,接收备份者声明和申请消息;
判断模块,用于判断在第一预定时间内是否接收到备份者声明;
版本号查询模块,用于在接收到的申请消息中,查询是否存在比自身备份版本号高的备份版本号;
查询消息发送模块,用于当判断模块判断在第一预定时间内没有接收到备份者声明时,向网络中各节点广播申请消息,其中申请消息中包括自身节点标识和备份版本号;
状态变更模块,用于当版本号查询模块未在第二预定时间内查询到比自身备份版本号高的备份版本号时,将当前状态变更为备份者状态,以便成为备份者节点;
备份者声明发送模块,用于在成为备份者节点后,以预定周期发送备份者声明。
11.根据权利要求10所述的节点,其特征在于,
状态变更模块,还用于当版本号查询模块在第二预定时间内没有查询到比自身备份版本号高的备份版本号时,将当前状态变更为候选状态;若在第三预定时间内消息接收模块没有接收到备份者声明,则将当前状态变更为备份者状态;
判断模块,还用于在状态变更模块将当前状态变更为候选状态后的第三预定时间内判断是否接收到备份者声明。
12.根据权利要求11所述的节点,其特征在于,
状态变更模块,还用于当判断模块确定在状态变更模块将当前状态变更为候选状态后的第三预定时间内消息接收模块收到备份者声明时,则将当前状态变更为非备份者状态。
13.根据权利要求10所述的节点,其特征在于,
状态变更模块,还用于当版本号查询模块在第二预定时间内查询到比自身备份版本号高的备份版本号时,将当前状态变更为等待状态;在消息接收模块接收到备份者声明后,将当前状态变更为非备份者状态。
14.根据权利要求10~13任一所述的节点,其特征在于,
版本号查询模块,还用于在接收到备份者声明后比较自身当前的备份版本号和备份者声明中的备份版本号,查询是否备份者声明中的备份版本号比自身备份版本号高;
备份更新模块,用于当版本号查询模块确定备份者声明中的备份版本号高于自身当前的备份版本号时,向当前处于备份者状态的节点发送备份更新请求,以便更新自身的备份信息。
15.根据权利要求10所述的节点,其特征在于,
判断模块具体用于判断在第一预定时间内是否接收到全部备份者节点发送的备份者声明;
状态变更模块,用于当判断模块确定消息接收模块在第一预定时间内没有接收到全部备份者节点发送的备份者声明时,向网络中各节点广播申请消息。
16.根据权利要求15所述的节点,其特征在于,
状态变更模块,还用于当版本号查询模块在第二预定时间内没有查询到比自身备份版本号高的备份版本号时,将当前状态变更为候选状态;当判断模块确定在状态变更为候选状态后的第三预定时间内消息接收模块没有接收到新备份者节点发送的备份者声明时,将当前状态变更为备份者状态,其中新备份者节点是在指定时间范围内从非备份者状态变更到备份者状态的节点;
判断模块,还用于在状态变更模块将当前状态变更为候选状态后的第三预定时间内判断是否接收到新备份者节点发送的备份者声明。
17.根据权利要求16所述的节点,其特征在于,
状态变更模块,还用于当判断模块确定在状态变更模块将当前状态变更为候选状态后的第三预定时间内消息接收模块收到新备份者节点发送的备份者声明时,则将当前状态变更为非备份者状态。
18.根据权利要求17所述的节点,其特征在于,
状态变更模块,还用于当版本号查询模块在第二预定时间内查询到比自身备份版本号高的备份版本号时,将当前状态变更为等待状态;当消息接收模块接收到新备份者节点发送的备份者声明后,将当前状态变更为非备份者状态。
19.一种用于实现网络自愈的系统,其特征在于,包括权利要求10~18任一所述用于实现网络自愈的节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610146578.7A CN107196779B (zh) | 2016-03-15 | 2016-03-15 | 用于实现网络自愈的方法、节点和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610146578.7A CN107196779B (zh) | 2016-03-15 | 2016-03-15 | 用于实现网络自愈的方法、节点和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107196779A true CN107196779A (zh) | 2017-09-22 |
CN107196779B CN107196779B (zh) | 2020-11-03 |
Family
ID=59871173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610146578.7A Active CN107196779B (zh) | 2016-03-15 | 2016-03-15 | 用于实现网络自愈的方法、节点和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107196779B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109698761A (zh) * | 2017-10-24 | 2019-04-30 | 中国电信股份有限公司 | 智能家居控制方法和系统、控制中心及节点 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938417A (zh) * | 2010-09-01 | 2011-01-05 | 中兴通讯股份有限公司 | 板卡主备配置的实现方法和板卡 |
CN101983532A (zh) * | 2008-02-01 | 2011-03-02 | 高通股份有限公司 | 无线网络同步 |
CN102144382A (zh) * | 2008-08-18 | 2011-08-03 | 通用电气智能平台有限公司 | 用于冗余服务器自动故障转移的方法和系统 |
CN102412988A (zh) * | 2011-11-14 | 2012-04-11 | 浪潮(北京)电子信息产业有限公司 | 一种业务信息系统及其实现持续运营的方法 |
CN103001995A (zh) * | 2011-09-15 | 2013-03-27 | 伊姆西公司 | 在集群文件系统中改进高速缓存一致性的方法和装置 |
US20150215152A1 (en) * | 2014-01-24 | 2015-07-30 | Metaswitch Networks Ltd | Timer services |
-
2016
- 2016-03-15 CN CN201610146578.7A patent/CN107196779B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101983532A (zh) * | 2008-02-01 | 2011-03-02 | 高通股份有限公司 | 无线网络同步 |
CN102144382A (zh) * | 2008-08-18 | 2011-08-03 | 通用电气智能平台有限公司 | 用于冗余服务器自动故障转移的方法和系统 |
CN101938417A (zh) * | 2010-09-01 | 2011-01-05 | 中兴通讯股份有限公司 | 板卡主备配置的实现方法和板卡 |
CN103001995A (zh) * | 2011-09-15 | 2013-03-27 | 伊姆西公司 | 在集群文件系统中改进高速缓存一致性的方法和装置 |
CN102412988A (zh) * | 2011-11-14 | 2012-04-11 | 浪潮(北京)电子信息产业有限公司 | 一种业务信息系统及其实现持续运营的方法 |
US20150215152A1 (en) * | 2014-01-24 | 2015-07-30 | Metaswitch Networks Ltd | Timer services |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109698761A (zh) * | 2017-10-24 | 2019-04-30 | 中国电信股份有限公司 | 智能家居控制方法和系统、控制中心及节点 |
Also Published As
Publication number | Publication date |
---|---|
CN107196779B (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9450911B2 (en) | System and method for managing ethernet communication network for use in vehicle | |
US8060588B2 (en) | Home network apparatus and system for cooperative work service and method thereof | |
JP4024308B2 (ja) | 伝送システムの接続の監視のための方法及び該方法を実施するためのコンポーネント | |
US7624290B2 (en) | Power-save control for network master device | |
US20150201035A1 (en) | Conveying state changes using connectionless messaging and a store-and-forward cache | |
CN109376197B (zh) | 一种数据同步方法、服务器及计算机存储介质 | |
JP2016533050A (ja) | ノードを設定するための方法、及び設定されるノード | |
CN107196829B (zh) | 智能家居控制方法、节点及节点联动方法和系统 | |
CN109039840A (zh) | Zigbee组网方法及接入点网关 | |
JP2018526948A (ja) | 階層ベースrplネットワークのためのネットワークアドレスの割り当て及び再利用 | |
CN106341468B (zh) | 一种智能设备的远程唤醒方法、装置及系统 | |
US11909840B2 (en) | Resource subscription method, device, and storage medium | |
CN110113232A (zh) | 设备控制方法、装置、系统、电子设备及存储介质 | |
US7305002B1 (en) | Methods for controlling resources in a communication network | |
US20070050496A1 (en) | Ad-hoc network, a network device and a method of configuration management therefor | |
CN107196779A (zh) | 用于实现网络自愈的方法、节点和系统 | |
CN112492030B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN102577249B (zh) | 动态寻址主机的连接的实例组 | |
CN108347362A (zh) | 一种发现新设备的方法及桥接设备和系统中设备 | |
CN114189567B (zh) | 一种智能门禁系统管理方法、装置及电子设备 | |
CN111211991A (zh) | 一种资产处理方法、系统及终端设备 | |
JP2003511971A (ja) | 低電力無線ネットワーク | |
CN104954148A (zh) | 节点设备的控制方法、装置及路由器 | |
CN114009143B (zh) | 物联网设备的配置方法、装置及存储介质 | |
WO2021092724A1 (zh) | 设备管理的方法和ble设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |