实施例2
如图2所示,本发明实施例提供了一种网络设备间的同步方法,包括:
步骤201:第一网络设备根据配置文件包括一个或多个第一同步通道的配置信息和优先级信息,创建与第二网络设备之间的第一同步通道;
其中,技术人员可以事先配置配置文件包括一个或多个第一同步通道的配置信息和优先级信息,另外,同步通道的类型包括网口通道、串口通道和无线通道;
如果同步通道的类型为网口通道,则该同步通道的配置信息包括网口地址和通道接口库的路径;如果同步通道的类型为串口通道,则该同步通道的配置信息包括端口号和通道接口库的路径;如果同步通道的类型为无线通道,则该同步通道的配置信息包括无线网口地址和通道接口库的路径。
进一步地,同步通道的配置信息还可以包括通道名称等信息;其中,通道接口库中包括用于侦听、连接、发送、接收和/或关闭的接口函数,每种通道类型对应一个通道接口库,属于同一通道类型的同步通道的接口库为该通道类型对应的接口库,且属于同一通道类型的同步通道可以调用该该通道类型对应的接口库中包括的接口函数。
具体地,当第一网络设备开机启动后,第一网络设备根据配置文件中包括一个或多个第一同步通道的配置信息建立第一网络设备与第二网络设备之间的第一同步通道,然后根据配置文件中包括同步通道的优先级信息设置对应的第一同步通道,为建立的第一同步通道分配标识,获取建立的第一同步通道的状态信息。
其中,根据第一同步通道的配置信息建立第一网络设备与第二网络设备之间的第一同步通道的操作可以具体为:如果第一同步通道为网口通道,则根据第一同步通道的配置信息中包括的网口地址和通道接口库的路径分配网口和通道接口库等资源以实现创建第一同步通道;如果第一同步通道为串口通道,则根据第一同步通道的配置信息中包括的端口号和通道接口库的路径分配端口和通道接口库等资源以实现创建第一同步通道;如果第一同步通道为无线通道,则根据第一同步通道的配置信息包括的无线网口地址和接口库的路径分配无线网口和接口库等资源以实现创建第一同步通道。
其中,针对建立的任一个同步通道,第一网络设备获取该同步通道的状态信息,可以具体包括如下两种方式:
第一、第一网络设备通过发送一次心跳信息来获取该通道通道的状态信息;
具体为:第一网络设备通过该同步通道发送心跳信息给第二网络设备并开始计时,如果计时的时间在超过预设的时间阈值之前,通过该同步通道接收到第二网络设备发送该心跳信息对应的反馈信息,则确定出该同步通道的状态信息为正常状态,否则,确定出该同步通道的状态信息为故障状态。
第二、第一网络设备通过发送多次心跳信息来获取该同步通道的状态信息;
例如,第一网络设备可以通过发送三次心跳信息来获取该同步通道的状态信息,具体为:第一网络设备通过该同步通道发送心跳信息并开始计时,如果计时的时间在超过预设的时间阈值之前,通过该同步通道接收到第二网络设备发送该心跳信息对应的反馈信息,则确定出该同步通道的状态信息为正常状态,否则,在计时超过预设的时间阈值时第一网络设备再通过该同步通道发送心跳信息给第二网络设备并重新开始计时,如果计时的时间在超过预设的时间阈值之前,通过该同步通道接收到第二网络设备发送该心跳信息对应的反馈信息,则确定出该同步通道的状态信息为正常状态,否则,在计时超过预设的时间阈值时第一网络设备再通过该同步通道发送心跳信息给第二网络设备并重新开始计时,如果计时的时间在超过预设的时间阈值之前,通过该同步通道接收到第二网络设备发送该心跳信息对应的反馈信息,则确定出该同步通道的状态信息为正常状态,否则,确定出该同步通道的状态信息为故障状态。
其中,第一网络设备通过该同步通道发送心跳信息后,如果该同步通道正常,则第二网络设备能够成功接收到该心跳信息并通过该同步通道发送该心跳信息对应的反馈信息;如果该同步通道断开,则第二网络设备接收不到该心跳信息,如此在计时的时间超过预设的时间阈值之前第一网络设备接收不到第二网络设备发送该心跳信息对应的反馈信息;如果该同步通道发生了其他故障,则该心跳信息在该同步通道上传输时可能会发生错误使第二网络设备接收错误的心跳信息,如此第二网络设备通过该同步通道发送反馈信息不是该心跳信息对应的反馈信息。
步骤202:第一网络设备将创建的第一同步通道的标识、优先级信息和状态信息添加到第一网络设备的存储空间中;
进一步地,第一网络设备可以按同步通道的优先级信息的顺序将创建的第一同步通道的标识、优先级信息和状态信息添加在存储空间中。其中,存储空间可以为在第一网络设备中设置的一个数组、文件或从第一网络设备的内存中划分的内存空间。
其中,第一网络设备根据该配置文件中包括第一同步通道的配置信息和优先级信息创建同步通道后,第一网络设备可以向用户显示注册界面,当用户需要创建除第一同步通道以外的第二同步通道时,用户可以在该注册界面中填充需要创建的第二同步通道的配置信息和优先级信息,然后向第一网络设备提交注册请求消息,且第一网络设备接收该注册请求消息并按如下203-205的步骤在第一网络设备与第二网络设备之间创建第二同步通道,包括:
步骤203:当用户需要创建除第一同步通道以外的第二同步通道时,第一网络设备接收注册请求消息,且该注册请求消息携带第二同步通道的配置信息和优先级信息;
步骤204:第一网络设备根据第二同步通道的配置信息和优先级信息创建与第二网络设备之间的第二同步通道;
具体地,第一网络设备根据第二同步通道的配置信息建立第一网络设备与第二网络设备之间的第二同步通道,根据第二同步通道的优先级信息设置第二同步通道,为第二同步通道分配标识,以及获取第二同步通道的状态信息。
其中,第一网络设备获取第二同步通道的状态信息的详细操作可以参见步骤201的相应内容,在此不再详细说明。
步骤205:第一网络设备将第二同步通道的配置信息和优先级信息添加到该配置文件中,将第二同步通道的标识、优先级信息和状态信息添加到存储空间中;
进一步地,第一网络设备可以根据第二同步通道的优先级信息将第二同步通道的通道标识、优先级信息和状态信息添加到存储空间中,使存储空间按优先级信息从大到小的顺序存储每个同步通道的标识、优先级信息和状态信息。
其中,在本实施例中,执行完步骤202之后,当第一网络设备需要与第二网络设备进行同步时,第一网络设备可以通过如下206和207的步骤与第二网络设备进行同步处理,包括:
步骤206:当第一网络设备需要与第二网络设备同步时,第一网络设备根据第一同步通道和/或第二同步通道的优先级信息从存储空间中选择状态信息为正常状态的同步通道的标识;
其中,第一网络设备可以从存储空间中选择优先级信息最高且状态信息的正常状态的同步通道的标识;或者,从存储空间中除优先级信息最小的状态信息为正常状态的同步通道的标识中随机选择状态信息为正常状态的同步通道的标识。
步骤207:第一网络设备通过选择的同步通道的标识对应的同步通道与第二网络设备进行同步处理;
具体地,第一网络设备可以通过如下(1)-(3)的步骤与第二网络设备进行同步处理,包括:
(1):第一网络设备确定出选择的同步通道的标识对应的同步通道,并通过该同步通道发送备份开始信息给第二网络设备并开始计时;
其中,第一网络设备通过该同步通道发送备份开始信息给第二网络设备后,如果备份开始信息在该同步通道传输的过程中未发生错误,则第二网络设备能接收到正确的备份开始信息,并通过该同步通道发送备份开始信息对应的反馈信息;如果备份开始信息在该同步通道传输的过程中发了错误,则第二网络设备不能接收到正确的备份开始信息,并通过该同步通道发送反馈信息且该反馈信息不是备份开始信息对应的反馈信息;如果该同步通道突然断开,则第一网络设备在计时的时间超过预设的时间阈值之前无法接收到备份开始信息对应的反馈信息。
(2):如果第一网络设备在计时的时间超过预设的时间阈值之前接收到备份开始信息对应的反馈信息,则第一网络设备通过该同步通道发送需要备份的文件给第二网络设备,使第二网络设备根据需要备份的文件与第一网络设备进行同步处理;
其中,第二网络设备接收需要备份的文件并存储需要备份的文件,以实现与第一网络设备进行同步处理。
其中,第一网络设备如果在计时的时间超过预设的时间阈值之前没有接收到备份开始信息对应的反馈信息或者接收的反馈信息不是备份开始信息对应的反馈信息,则第一网络设备进行异常处理。
(3):如果第一网络设备发送完需要备份的文件,则第一网络设备通过该同步通道发送备份结束消息给第二网络设备。
其中,第一网络设备创建完与第二网络设备之间的第一同步通道,并将正常状态的第一同步通道的标识、优先级信息和状态信息添加到存储空间后,即执行完步骤202后,第一网络设备可以显示注销界面给用户,当用户需要注销某个同步通道时,用户可以在该注销界面中填写需要注销的同步通道的标识,并向第一网络设备提交注销请求消息,第一网络设备接收该注销请求消息后,按如下208-211的步骤注销用户需要注销的同步通道,包括:
步骤208:当用户需要注销同步通道时,第一网络设备接收用户提交的注销请求消息,且该注销请求消息携带用户需要注销的同步通道的标识;
步骤209:第一网络设备判断是否正在通过该同步通道的标识对应的同步通道与第二网络设备进行同步处理,如果是,则执行步骤210,如果否,则执行步骤211;
步骤210:第一网络设备从存储空间中包括除该同步通道的标识以外的其他正常状态的同步通道的标识中,根据优先级信息选择的同步通道的标识,并通过选择的同步通道的标识对应的同步通道与第二网络设备进行同步处理,结束操作;
具体地,第一网络设备从存储空间中获取除该同步通道的标识以外的其他正常状态的同步通道的标识,从获取的同步通道的标识中选择优先级信息最大的同步通道的标识,或者,从获取的同步通道的标识中去除优先级信息最小的同步通道的标识,并从剩下的同步通道的标识中随机选择状态信息为正常状态的同步通道的标识;通过选择的同步通道的标识对应的同步通道与第二网络设备进行同步处理。
步骤211:第一网络设备注销该同步通道的标识对应的同步通道,将该同步通道的标识对应的同步通道的配置信息和优先级信息从配置文件中删除,以及将该同步通道的标识对应的同步通道的标识、优先级信息和状态信息从存储空间中删除,结束操作。
其中,第一网络设备注销该同步通道的标识对应的同步通道的操作可以具体为:第一网络设备释放该同步通道的标识对应的同步通道占用的资源,如此实现注销该同步通道的标识对应的同步通道。
进一步地,参见图3,在本实施例中,当第一网络设备进行完步骤202之后,第一网络设备还可以对存储空间中存储的每个同步通道的标识对应的同步通道的状态信息进行实时监听,具体包括如下(A)-(F)的步骤:
(A):第一网络设备周期性地扫描存储空间中包括的同步通道的标识,获取扫描的标识对应的同步通道的当前状态;
其中,第一网络设备获取扫描的标识对应的同步通道的当前状态的操作过程可以参见步骤202的相应内容,在此不再详细说明。
(B):第一网络设备根据获取的当前状态和存储空间中存储扫描的标识对应的同步通道的状态信息对扫描的标识对应的同步通道进行判断,如果判断出扫描的标识对应的同步通道从故障状态变为正常状态,则执行(C),如果判断出扫描的标识对应的同步通道从正常状态变为故障状态则执行(D);
具体地,当获取的当前状态为故障状态,对存储空间中存储扫描的标标识对应的同步通道的状态信息进行判断,如果为正常状态,则判断出扫描的标识对应的同步通道从正常状态变为故障状态;当获取的当前状态为正常状态,对存储空间中存储扫描的标识对应的同步通道的状态信息进行判断,如果为故障状态,则判断出扫描的标识对应的同步通道从故障状态变为正常状态。
(C):第一网络设备将存储空间存储扫描的标识对应的同步通道的状态信息更新为获取的当前状态,然后继续扫描下一个同步通道的标识;
其中,如果在本实施例中第一网络设备选择优先级最大的正常状态的同步通道与第二网络设备进行同步处理,则第一网络设备还判断的扫描的标识对应的同步通道的优先级是否大于第一网络设备与第二网络设备进行同步处理所使用的同步通道,如果是,第一网络设备通过扫描的标识对应的同步通道与第二网络设备进行同步处理。
(D):第一网络设备判断扫描的标识对应的同步通道是否为第一网络设备与第二网络设备进行同步处理所使用的同步通道,如果是,则执行(E),如果否,则执行(F);
(E):第一网络设备从存储空间中包括正常状态的同步通道的标识中,根据优先级信息选择同步通道的标识,并通过选择的同步通道的标识对应的同步通道与第二网络设备进行同步处理;
(F):第一网络设备将存储空间存储扫描的标识对应的同步通道的状态信息更新为获取的当前状态,然后继续扫描下一个同步通道的标识。
在本发明实施例中,第一网络设备根据配置文件中的第一同步通道的配置信息和优先级信息创建与第二网络设备之间的第一同步通道,当用户需要注册创建除第一同步通道以外的第二同步通道时,获取第二同步通道的配置信息和优先级信息,根据第二同步通道的配置信息和优先级信息创建与第二网络设备之间的第二同步通道,将第二同步通道的标识、优先级信息和状态信息添加到存储空间中,当第一网络设备需要与第二网设备同步时,第一网络设备根据优先级信息从存储空间中选择状态为正常状态的同步通道的标识,并通过选择的同步通道的标识对应的同步通道与第二网络设备进行同步处理;如此用户可以根据需要配置用于网络设备间的同步处理的同步通道;另外,当用户需要注销同步通道时,第一网络设备可以注销该同步通道,并将该同步通道的配置信息和优先级信息从配置文件中删除,以及将该同步通道的标识、优先级信息和状态信息从存储空间中删除,如此用户可以根据需要进行动态的注销同步通道。
实施例3
如图4所示,本发明实施例提供了一种网络设备,包括:
第一创建模块301,用于根据配置文件中包括的一个或多个第一同步通道的配置信息和优先级信息创建与第二网络设备之间的第一同步通道,将创建的第一同步通道的标识、优先级信息和状态信息添加到第一网络设备的存储空间中;
第二创建模块302,用于当用户需要创建除第一同步通道以外的第二同步通道时,接收第二同步通道的配置信息和优先级信息,根据第二同步通道的配置信息和优先级信息创建与第二网络设备之间第二同步通道,将第二同步通道的标识、优先级信息和状态信息添加到存储空间中;
同步模块303,用于当第一网络设备需要与第二网设备同步时,根据第一同步通道和/第二同步通道的优先级信息从存储空间中选择状态信息为正常状态的同步通道的标识,通过选择的同步通道的标识对应的同步通道与第二网络设备进行同步处理。
其中,第二创建模块302包括:
第一接收单元,用于接收注册请求消息,该注册请求消息携带第二同步通道的配置信息和优先级信息;
第一创建单元,用于根据第二同步通道的配置信息创建与第二网络设备之间的第二同步通道,根据第二同步通道的优先级信息设置第二同步通道,分配第二同步通道的标识,获取第二同步通道的状态信息;
第一添加单元,用于将第二同步通道的标识、优先级信息和状态信息添加到存储空间中。
进一步地,第二创建模块302还包括:
第二添加单元,用于将第二同步通道的配置信息和优先级信息添加到配置文件中。
其中,同步模块303包括:
第一选择单元,用于从存储空间中选择状态信息为正常状态且优先级信息最高的同步通道的标识;或者,从存储空间中除优先级信息最低的状态信息为正常状态的同步通道的标识中随机选择状态信息为正常状态的同步通道的标识;
同步单元,用于通过选择的同步通道的标识对应的同步通道与第二网络设备进行同步处理。
进一步地,该网络设备还包括:
接收模块,用于接收注销请求消息,该注销请求消息携带用户需要注销的同步通道的标识;
第一注销模块,用于如果第一网络设备不是正在通过该同步通道的标识对应的同步通道与第二网络设备进行同步处理,则注销该同步通道的标识对应的同步通道,将该同步通道的标识对应的同步通道的配置信息和优先级信息从配置文件中删除,以及将该同步通道的标识对应的同步通道的标识、优先级信息和状态信息从存储空间中删除。
进一步地,该网络设备还包括:
第一选择模块,用于如果第一网络设备正在通过该同步通道的标识对应的同步通道与第二网络设备进行同步处理,则从存储空间中包括除该同步通道的标识以外的其他状态信息为正常状态的同步通道的标识中,根据优先级信息选择同步通道的标识,并通过选择的同步通道的标识对应的同步通道与第二网络设备行同步处理;
第二注销模块,用于注销该同步通道的标识对应的同步通道,将该同步通道的标识对应的同步通道的配置信息和优先级信息从该配置文件中删除,以及将该同步通道的标识对应的同步通道的标识、优先级信息和状态信息从存储空间中删除。
进一步地,该网络设备还包括:
扫描模块,用于周期性地扫描存储空间中包括的同步通道的标识,获取扫描的标识对应同步通道的当前状态;
判断模块,用于根据获取的当前状态和存储空间中存储扫描的标识对应的同步通道的状态对扫描的标识对应的同步通道进行判断;
第一更新模块,用于如果判断模块判断出扫描的标识对应的同步通道从故障状态变为正常状态,则将存储空间存储扫描的标识对应的同步通道的状态信息更新为获取的当前状态。
进一步地,如果判断模块判断出扫描的标识对应的同步通道从故障状态变为正常状态,则该网络设备还包括:
第二选择模块,用于如果第一网络设备与第二网络设备进行同步处理,则判断的扫描的标识对应的同步通道的优先级信息是否大于第一网络设备与第二网络设备进行同步处理所使用的同步通道的优先级信息,如果是,则通过扫描的标识对应的同步通道与第二网络设备进行同步处理。
进一步地,如果判断模块判断出扫描的标识对应的同步通道从正常状态变为故障状态,则该网络设备还包括:
第二更新模块,用于如果第一网络设备正在通过扫描的标识对应的同步通道与第二网络设备进行同步处理,则从存储空间中包括状态为正常状态的同步通道的标识中,根据优先级信息选择同步通道的标识,并通过选择的同步通道的标识对应的同步通道与第二网络设备进行同步处理,将存储空间存储扫描的标识对应的同步通道的状态信息更新为获取的当前状态;
第三更新模块,用于如果第一网络设备不是通过扫描的标识对应的同步通道与第二网络设备进行同步处理,则将存储空间存储扫描的标识对应的同步通道的状态信息更新为获取的当前状态。
在本发明实施例中,第一网络设备根据配置文件中的第一同步通道的配置信息创建与第二网络设备之间的第一同步通道,当用户需要创建除第一同步通道以外的第二同步通道时,获取第二同步通道的配置信息和优先级信息,根据第二同步通道的配置信息和优先级信息创建与第二网络设备之间的第二同步通道,将第二同步通道的标识、优先级信息和状态信息添加到存储空间中,当第一网络设备需要与第二网设备同步时,第一网络设备根据第一同步通道和/或第二同步通道的优先级信息从存储空间中选择状态信息为正常状态的同步通道的标识,并通过选择的同步通道的标识对应的同步通道与第二网络设备进行同步处理;如此用户可以根据需要配置用于网络设备间的同步处理的同步通道;另外,当用户需要注销同步通道时,第一网络设备可以注销该同步通道,并将该同步通道的配置信息和优先级从配置文件中删除,以及将该同步通道的标识、优先级信息和状态信息从存储空间中删除,如此用户可以根据需要进行动态的注销同步通道。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。