网络故障处理方法与系统
技术领域
本发明涉及网络工程技术领域,特别是涉及网络故障处理方法与系统。
背景技术
在现有网络工程中,很多情况下组成设备可能出现通信失效的故障情况,如何解决这些故障已经成为一个重大性的难题。
以无线网络电表集抄为例,在现有的基于无线网络电表集抄方案中,表计信息被定时地通过无线网络传送到集中器,集中器通过统计每次采集的成功率,判断无线网络当前的通信状况。由于无线通信条件在外界物理环境变化后会有较明显的变化,导致原有的正常通信链路失效,网络通信出现故障,网络结构变得不可靠。为了维持稳定可靠的无线网络通信效果,在无线网络工作过程中,需要定期或不定期地进行网络维护,使得通信故障的设备能够得到恢复,重新加入到网络结构中。现有的网络故障自恢复方式通常根据全网数据采集结果统计采集成功率,得出未能采集成功设备占全网设备的比例,当此比例高于某一预设值时执行全网重新组网功能,重新构建网络结构,这种网络恢复方法中比例的选取十分重要,当比例预设值过高时,网络中存在故障的设备将长时间无法通过网络维护重新加入网络,导致部分设备数据长时间无法正常采集。
重组网时间开销大,效率低,并且在组网过程中无法正常执行数据采集,影响网络正常功能。当比例预设值过低时,在通信信号不稳定时会导致频繁重组网,时间开销大,对网络正常通信影响大。在应用中选取合适的预设值难度大,不同无线环境导致的每次通信的成功率差别较大。
发明内容
基于此,有必要针对一般网络通信失效重组过程效率低且可用性低的问题,提供一种效率高且可用性高的网络故障处理方法与系统。
一种网络故障处理方法,包括步骤:
当数据采集网络中存在待恢复数据采集设备时,查找待恢复数据采集设备的所有相邻数据采集设备;
从所有相邻数据采集设备中查找处于通信状态的相邻数据采集设备;
生成并发送搜索待恢复数据采集设备的控制指令至处于通信状态的相邻数据采集设备,由处于通信状态的相邻数据采集设备搜索待恢复数据采集设备;
当接收到处于通信状态的相邻数据采集设备搜索到待恢复数据采集设备的反馈消息时,发送连接控制指令至处于通信状态的相邻数据采集设备,由处于通信状态的相邻数据采集设备与待恢复数据采集设备建立通信连接。
一种网络故障处理系统,包括:
第一查找模块,用于当数据采集网络中存在待恢复数据采集设备时,查找待恢复数据采集设备的所有相邻数据采集设备;
第二查找模块,用于从所有相邻数据采集设备中查找处于通信状态的相邻数据采集设备;
搜索指令发送模块,用于生成并发送搜索待恢复数据采集设备的控制指令至处于通信状态的相邻数据采集设备,由处于通信状态的相邻数据采集设备搜索待恢复数据采集设备;
连接指令发送模块,用于当接收到处于通信状态的相邻数据采集设备搜索到待恢复数据采集设备的反馈消息时,发送连接控制指令至处于通信状态的相邻数据采集设备,由处于通信状态的相邻数据采集设备与待恢复数据采集设备建立通信连接。
本发明网络故障处理方法与系统,在数据采集设备未发生设备故障的情况下,能够通过相邻数据采集设备快速重新组网,不会长时间断网,该种网络故障处理方式不需要重新构建网络结构,已有的网络结构得以保留和继承,减少了大量的组网通信的通信量,减少了每次网络维护的时间,由于每个设备的邻居数量远小于全网设备数量,所以完全遍历一次所有邻居的时间比重构网的时间短很多,使得设备因网络通信故障掉网的时间大大缩短,大大提高了网络故障处理效率,确保了网络的可用性。
附图说明
图1为本发明网络故障处理方法第一个实施例的流程示意图;
图2为本发明网络故障处理方法第二个实施例的流程示意图;
图3为本发明网络故障处理方法其中一个应用实例的流程示意图;
图4为本发明网络故障处理系统第一个实施例的结构示意图;
图5为本发明网络故障处理系统第二个实施例的结构示意图。
具体实施方式
如图1所示,一种网络故障处理方法,包括步骤:
S200:当数据采集网络中存在待恢复数据采集设备时,查找待恢复数据采集设备的所有相邻数据采集设备。
整个数据采集网络包括多台(至少两台)数据采集设备,数据采集设备之间可以采用无线或有线方式进行通信。当数据采集设备采用无线方式进行组网通信时,数据采集设备为无线数据采集设备。在整个数据采集网络工作过程中,可能会出现某个数据采集设备出现通信异常(通信失败)需要恢复,需要进行恢复操作。当出现这种情况时,查找到该待恢复数据采集设备,并且查找该待恢复数据采集设备的所有相邻数据采集设备。在这里,相邻数据采集设备是指与待恢复数据采集设备相邻连接的设备,即待恢复数据采集设备与其对应的相邻数据采集设备之间连接且两者连线之间没有其它数据采集设备。
S400:从所有相邻数据采集设备中查找处于通信状态的相邻数据采集设备。
相邻数据采集设备可能有设备未处于通信状态,这类设备无法进行数据转发,因此需要将其排除。从所有相邻数据采集设备中查找处于通信状态的相邻数据采集设备,为后续操作做好准备。
S600:生成并发送搜索待恢复数据采集设备的控制指令至处于通信状态的相邻数据采集设备,由处于通信状态的相邻数据采集设备搜索待恢复数据采集设备。
待恢复数据采集设备与服务器之间存在通信异常,因此很多情况下服务器的指令无法准确送达待恢复数据采集设备,对此,服务器生成并发送搜索待恢复数据采集设备的控制指令至处于通信状态的相邻数据采集设备,由处于通信状态的相邻数据采集设备搜索待恢复数据采集设备。假定待恢复数据采集设备A的相邻数据采集设备为B、数据采集设备C以及数据采集设备D,则服务器发送搜索待恢复数据采集设备A的指令至数据采集设备B、数据采集设备C以及数据采集设备D。
S800:当接收到处于通信状态的相邻数据采集设备搜索到待恢复数据采集设备的反馈消息时,发送连接控制指令至处于通信状态的相邻数据采集设备,由处于通信状态的相邻数据采集设备与待恢复数据采集设备建立通信连接。
相邻数据采集设备B或相邻数据采集设备C又或相邻数据采集设备D搜索到待恢复数据采集设备A时,会发送搜索到目标(待恢复数据采集设备A)的反馈消息至服务器,服务器在接收到该反馈消息时,发送连接控制指令至发送反馈消息的相邻数据采集设备,由该相邻数据采集设备与待恢复数据采集设备A建立通信连接。
本发明网络故障处理方法,在数据采集设备未发生设备故障的情况下,能够通过相邻数据采集设备快速重新组网,不会长时间断网,该种网络故障处理方式不需要重新构建网络结构,已有的网络结构得以保留和继承,减少了大量的组网通信的通信量,减少了每次网络维护的时间,由于每个设备的邻居数量远小于全网设备数量,所以完全遍历一次所有邻居的时间比重构网的时间短很多,使得设备因网络通信故障掉网的时间大大缩短,大大提高了网络故障处理效率,确保了网络的可用性。
如图2所示,在其中一个实施例中,步骤S200之前还包括:
S120:记录通信失败的数据采集设备以及通信失败时间点。
S140:将连续通信失败次数大于预设阈值的数据采集设备判定为待恢复数据采集设备。
服务器记录出现通信失败的数据采集设备以及对应的通信失败时间。基于记录的通信失败时间,获得每个出现通信失败的数据采集设备出现连续通信失败次数,将连续通信失败次数大于预设阈值的数据采集设备判定为待恢复数据采集设备。需要指出的时,并不是当某个数据采集设备出现通信失败就判定其为待恢复数据采集设备,也不是某个数据采集设备在一端时间内出现多次通信失败就判定其为待恢复数据采集设备,而是需要续通信失败次数大于预设阈值的数据采集设备判定为待恢复数据采集设备。由于数据采集设备可能由于外部环境等因素影响导致单次或者短暂与服务器之间出现通信失败,因此采用上述待恢复数据采集设备判定方式能够有效避免误判定。
更进一步的,记录通信失败的数据采集设备以及通信失败时间点的步骤包括:
步骤一:根据第一预设时间间隔从至少两台数据采集设备获取数据。
步骤二:将在第一预设时间间隔未能获取到数据的数据采集设备记录为通信失败的数据采集设备,将未能获取到数据的时间点记录为通信失败的时间点。
在其中一个实例中,处于通信状态的相邻数据采集设备的数量为多个;
如图2所示,步骤S600包括从处于通信状态的所有相邻数据采集设备中随机选择一个相邻数据采集设备,向选择的相邻数据采集设备发出搜索指令,由选择的相邻数据采集设备搜索待恢复数据采集设备。
步骤S800包括:
S820:判断是否接收到选择的相邻数据采集设备搜索到待恢复数据采集设备的反馈消息。
S842:若未接收到,则从处于通信状态的所有相邻数据采集设备中重新选择一个相邻数据采集设备,并返回S820。
S844:若收到,则发送连接控制指令至选择的处于通信状态的相邻数据采集设备,由选择的处于通信状态的相邻数据采集设备与待恢复数据采集设备建立通信连接。
所有相邻数据采集设备构成一个集合,每台相邻数据采集设备分别为该集合中的元素。以集合为{B、C、D、F}为例,首先随机选个一个相邻数据采集设备(元素B),向相邻数据采集设备B发送搜索指令,由相邻数据采集设备B搜索待恢复数据采集设备A,之后服务器判断是否收到相邻数据采集设备B搜索到待恢复数据采集设备A的反馈消息,当未接收到时,从集合中重新选择一个元素(相邻数据采集设备C),并返回判断步骤,重新进行判断;当接收到时,发送连接控制指令至相邻数据采集设备B,由相邻数据采集设备B于待恢复数据采集设备A建立通信连接。
如图2所示,步骤S800之后还包括:
S900:根据第二预设时间间隔,通过与待恢复数据采集设备建立通信的相邻数据采集设备,获取待恢复数据采集设备采集到的数据。
在建立相邻数据采集设备与待恢复数据采集设备之间通信连接之后,由待恢复数据采集设备采集的数据可以通过建立通信连接的相邻数据采集设备上传至服务器,服务器也可以通过建立通信连接的相邻数据采集设备下发数据至待恢复数据采集设备,在实现通信过程中,建立通信连接的相邻数据采集设备可以理解一个桥梁纽带设备,其起到数据转发功能。
为了更进一步详细解释本发明网络故障处理方法的技术方案及其带来的效果,下面将结合图3进行说明。
1、在组网阶段,记录每个设备的邻居。
2、在采集阶段(应用阶段),记录每一次通信失败的设备信息。
3、当连续失败次数超过预设值,启动自恢复。
4、选择需要恢复的故障设备,找到其对应的邻居表
5、选择一个能够正常通信的邻居,让该设备搜索故障设备。
6、如果搜索成功,则发送入网命令,使故障设备通过该邻居加入网络,进行通信。
7、如果搜索失败,则换故障设备的下一个邻居进行尝试。直到使用完故障设备的所有邻居。
如图4所示,一种网络故障处理系统,包括:
第一查找模块200,用于当数据采集网络中存在待恢复数据采集设备时,查找待恢复数据采集设备的所有相邻数据采集设备。
第二查找模块400,用于从所有相邻数据采集设备中查找处于通信状态的相邻数据采集设备。
搜索指令发送模块600,用于生成并发送搜索待恢复数据采集设备的控制指令至处于通信状态的相邻数据采集设备,由处于通信状态的相邻数据采集设备搜索待恢复数据采集设备。
连接指令发送模块800,用于当接收到处于通信状态的相邻数据采集设备搜索到待恢复数据采集设备的反馈消息时,发送连接控制指令至处于通信状态的相邻数据采集设备,由处于通信状态的相邻数据采集设备与待恢复数据采集设备建立通信连接。
本发明网络故障处理系统,在数据采集设备未发生设备故障的情况下,能够通过相邻数据采集设备快速重新组网,不会长时间断网,该种网络故障处理方式不需要重新构建网络结构,已有的网络结构得以保留和继承,减少了大量的组网通信的通信量,减少了每次网络维护的时间,由于每个设备的邻居数量远小于全网设备数量,所以完全遍历一次所有邻居的时间比重构网的时间短很多,使得设备因网络通信故障掉网的时间大大缩短,大大提高了网络故障处理效率,确保了网络的可用性。
如图5所示,在其中一个实施例中,网络故障处理系统还包括:
通信失败记录模块120,用于记录通信失败的数据采集设备以及通信失败时间点。
判定模块140,用于将连续通信失败次数大于预设阈值的数据采集设备判定为待恢复数据采集设备。
在其中一个实施例中,通信失败记录120模块:
测试数据获取单元,用于根据第一预设时间间隔从至少两台数据采集设备获取数据。
记录单元,用于将在第一预设时间间隔未能获取到数据的数据采集设备记录为通信失败的数据采集设备,将未能获取到数据的时间点记录为通信失败的时间点。
在其中一个实施例中,处于通信状态的相邻数据采集设备的数量为多个;
如图5所示,搜索指令发送模块600从处于通信状态的所有相邻数据采集设备中随机选择一个相邻数据采集设备,向选择的相邻数据采集设备发出搜索指令,由选择的相邻数据采集设备搜索待恢复数据采集设备。
连接指令发送模块800包括:
判断单元820,用于判断是否接收到选择的相邻数据采集设备搜索到待恢复数据采集设备的反馈消息。
第一处理单元842,用于当未接收到时,从处于通信状态的所有相邻数据采集设备中重新选择一个相邻数据采集设备,控制判断单元重新执行判断是否接收到选择的相邻数据采集设备搜索到待恢复数据采集设备的反馈消息的操作。
第二处理单元844,用于当接收到时,发送连接控制指令至选择的处于通信状态的相邻数据采集设备,由选择的处于通信状态的相邻数据采集设备与待恢复数据采集设备建立通信连接。
如图5所示,在其中一个实施例中,网络故障处理系统还包括:
数据采集模块900,用于根据第二预设时间间隔,通过与待恢复数据采集设备建立通信的相邻数据采集设备,获取待恢复数据采集设备采集到的数据。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。