一种网络管理方法和系统与流程

文档序号:31456858发布日期:2022-09-07 14:51阅读:86来源:国知局
一种网络管理方法和系统与流程

1.本发明涉及计算机技术领域,特别是涉及一种网络管理方法和系统。


背景技术:

2.modbus协议是当前工业物联网领域广泛使用的工业协议,其报文格式简单,通信方式可靠,特别适合应用于通信数据量不大且通信数据对实时性要求不太高的领域。对于串行连接,modbus协议存在两个变种:modbus rtu是一种紧凑的,采用二进制表示数据的方式,modbus ascii是一种人类可读的,冗长的表示方式。而在tcp/ip网络上,modbus协议常用modbus tcp协议。modbus tcp使用tcp/ip和以太网在站点间传送modbus报文,modbus tcp结合了以太网物理网络和网络标准tcp/ip以及以modbus作为应用协议标准的数据表示方法。modbus tcp通信报文被封装于以太网tcp/ip数据包中。与传统的串口方式,modbus tcp插入一个标准的modbus报文到tcp报文中,不再带有数据校验和地址。
3.modbus协议是一个主从架构的协议,在一个modbus tcp网络中通常只有一个节点作为主站节点(master)发送命令,其他modbus tcp节点作为子站(slave)发送对主站命令的响应,且一个主站命令一次只能被一个子站设备响应,因此,在网络组网复杂,子站数量较多的情况下,每个子站数据的查询时间随着子站数量的增加而变长,从而导致单个子站设备接受主站命令时间间隔过长,不利于数据的实时性采集。并且由于modbus tcp网络中,主站设备的唯一性,如果modbus主站设备发生故障导致无法正常收发报文,则整个modbus tcp网络将陷入瘫痪,无法正常工作,必须由人为修复网络,通常是修复主站设备或者更换主站设备,从而恢复整个网络。而在modbus网络瘫痪的过程中,各子站设备所产生的运行数据则由于主站设备无法读取而丢失,不利于对整个系统工作状况的实时监测。
4.鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。


技术实现要素:

5.本发明要解决的技术问题是现有的主从架构中主站的唯一性导致随着子站数量的增加,单个子站接受主站命令时间间隔过长,不利于数据的实时性采集;且当主站发生故障离线时,网络将陷入瘫痪,无法正常工作。
6.本发明采用如下技术方案:
7.第一方面,本发明提供了一种网络管理方法,包括:
8.将网络划分为多个工作区,每个工作区对应一个主站以及连接至所述主站的多个子站;
9.监测每个工作区的主站是否发生离线故障,当相应工作区的主站发生离线故障时,将相应工作区的子站划分至其他工作区。
10.优选的,所述监测每个工作区的主站是否发生离线故障,具体包括:
11.在每个工作区的主站创建端口,主站与主站之间通过所述端口进行通信,通过监测与相应工作区的主站的通信是否中断,确定相应工作区的主站是否发生离线故障。
12.优选的,所述确定相应工作区的主站是否发生离线故障,具体包括:
13.在监测到与相应工作区的主站的通信中断后,每间隔预设周期,尝试重新与所述主站建立连接,若在第一预设时间内未能够与主站重新连接,或尝试重新建立连接的次数超出预设次数,则确定相应工作区的主站发生了离线故障。
14.优选的,所述当相应工作区的主站发生离线故障时,将相应工作区的子站划分至其他工作区,具体包括:
15.优选的,根据网络中各子站的通信流量,计算网络中的子站通信流量差异度;
16.若所述子站通信流量差异度小于等于预设阈值,则根据子站数量进行划分,使在将相应工作区的子站划分至其他工作区后,各工作区的子站数量均衡;
17.若所述子站通信流量差异度大于预设阈值,则根据子站的通信流量和各工作区的通信总流量进行划分,将通信流量大的子站划分至通信总流量小的工作区,使在将相应工作区的子站划分至其他工作区后,各工作区的通信总流量均衡。
18.优选的,所述则根据子站的通信流量和各工作区的通信总流量进行划分,具体包括:
19.计算各工作区的通信总流量,将通信流量最大的待分区子站划分给通信总流量最小的工作区,每划分一个子站,重新计算各工作区的通信总流量,再进行下一个待分区子站的划分;其中,所述待分区子站为位于相应主站离线故障的工作区,且未划分至其他工作区的子站。
20.优选的,在所述将相应工作区的子站划分至其他工作区后,所述方法还包括:
21.监测相应工作区的主站是否故障恢复,在所述工作区的主站故障恢复后,重新划分子站至所述工作区。
22.优选的,所述将网络划分为多个工作区,每个工作区对应一个主站以及与主站连接的多个子站,具体包括:
23.先按照子站数量进行工作区划分,使各工作区的子站数量均衡;
24.在网络运行经过第二预设时间后,统计网络中各子站的通信流量,并计算网络中的子站通信流量差异度,若所述子站通信流量差异度小于等于预设阈值,则延用当前划分的工作区;
25.优选的,若所述子站通信流量差异度大于预设阈值,则调整工作区的划分,使各工作区的通信总流量均衡。
26.优选的,在每个主站上配置网络中各子站的功能码和寄存器信息,使每个主站具有连接至每个子站的能力。
27.优选的,在每个主站存储网络中各子站所连接的主站信息,以便于在相应工作区的主站发生离线故障时,由其他主站连接相应工作区的子站。
28.第二方面,本发明还提供了一种网络管理系统,包括管理模块和监测模块,其中:
29.所述管理模块用于管理网络中的多个分区;
30.所述监测模块用于监测每个工作区的主站是否发生离线故障,当相应工作区的主站发生离线故障时,通知管理模块将相应工作区的子站划分至其他工作区。
31.第三方面,本发明还提供了一种网络管理装置,用于实现第一方面所述的网络管理方法,所述装置包括:
32.至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行第一方面所述的网络管理方法。
33.第四方面,本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于完成第一方面所述的网络管理方法。
34.本发明使在网络中子站数量较多的情况下,由多个主站分别负责进行通信,减少单个主站所负责的子站数量,从而缩短单个子站设备接受主站命令的时间间隔,提高数据采集的实时性。且通过划分多个工作区,使各工作区的故障隔离,使相应工作区的主站离线故障时,不影响其他工作区的正常通信。进一步地,本发明还通过监测故障以及将子站转移分区,维持网络的正常运行,增强了网络的健壮性。
附图说明
35.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1是本发明实施例提供的一种网络管理方法的流程示意图;
37.图2是本发明实施例提供的一种网络管理方法的流程示意图;
38.图3是本发明实施例提供的一种网络管理方法的流程示意图;
39.图4是本发明实施例提供的一种网络管理方法的流程示意图;
40.图5是本发明实施例提供的一种网络管理方法应用的场景示意图;
41.图6是本发明实施例提供的一种网络管理方法的流程示意图;
42.图7是本发明实施例提供的一种网络管理方法的流程示意图;
43.图8是本发明实施例提供的一种网络管理方法的流程示意图;
44.图9是本发明实施例提供的一种网络管理方法的流程示意图;
45.图10是本发明实施例提供的一种网络管理方法应用的场景示意图;
46.图11是本发明实施例提供的一种网络管理方法应用的场景示意图;
47.图12是本发明实施例提供的一种网络管理系统的架构示意图;
48.图13是本发明实施例提供的一种网络管理系统的架构示意图;
49.图14是本发明实施例提供的一种网络管理装置的架构示意图。
具体实施方式
50.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
51.此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
52.实施例1:
53.本发明实施例提供了一种网络管理方法,如图1所示,包括:
54.在步骤201中,将网络划分为多个工作区,每个工作区对应一个主站以及连接至所述主站的多个子站。
55.其中,所述工作区并非指代实际存在的网络区域,而是指代由一个主站及其子站所构成的逻辑区域,工作区与工作区之间资源隔离、故障隔离。
56.根据所使用的场景不同,主站可自行处理来自子站的数据,不进行数据转发,也可基于多种通道向上层发送数据,以将数据交由上层设备进行处理,如基于4g、wifi、ethernet或以太网等。如在tcp网络中,部署多个modbus tcp主站,多个主站基于tcp网络通信向上层设备发送数据,从而确保多个主站之间发送数据没有干扰。
57.在步骤202中,监测每个工作区的主站是否发生离线故障,当相应工作区的主站发生离线故障时,将相应工作区的子站划分至其他工作区。
58.所述监测每个工作区的主站是否发生离线故障可以是在网络中设置中央控制器,通过中央控制器监测各工作区的主站是否发生离线故障,也可以是由网络中的主站与主站之间相互监测。
59.将相应工作区的子站划分至其他工作区意味着由其他工作区的主站对所述子站进行连接,故在每个主站上配置网络中各子站的功能码和寄存器信息,使每个主站具有连接至每个子站的能力。且在每个主站存储网络中各子站所连接的主站信息,以便于在相应工作区的主站发生离线故障时,由其他主站连接相应工作区的子站。
60.本实施例通过在网络中设置多个主站,每个主站负责与其所在工作区的子站进行连接,使在网络中子站数量较多的情况下,由多个主站分别负责进行通信,减少单个主站所负责的子站数量,从而缩短单个子站设备接受主站命令的时间间隔,提高数据采集的实时性,在无需对modbus tcp协议进行重新设计的情况下,提高了数据传输效率。且本实施例通过划分多个工作区,使各工作区的故障隔离,使相应工作区的主站离线故障时,不影响其他工作区的正常通信。进一步地,本实施例还通过监测故障以及将子站转移分区,维持网络的正常运行,增强了网络的健壮性。
61.在上述实施例中,所述监测每个工作区的主站是否发生离线故障可通过设立中央控制器实现,但此实现方式同样存在风险,一是需额外分配资源,以供中央控制器工作,二是当中央控制器故障时,监测功能基本失效,针对此问题,结合上述实施例,还提供了以下优选的实施例,即所述监测每个工作区的主站是否发生离线故障,具体包括:
62.在每个工作区的主站创建端口,主站与主站之间通过所述端口进行通信,通过监测与相应工作区的主站的通信是否中断,确定相应工作区的主站是否发生离线故障。
63.其中,所述主站与主站之间通过所述端口进行通信可以是一个主站与多个主站之间通信,也可以是两个主站之间相互通信,由主站所组成的通信网络形式可以为多种,凡是能够实现通信中断监测的实现方案均应包含在本发明的保护范围内。作为一种优选的实现方式,多个主站之间采取集中式通信网络以外的连接方式,以避免作为中心管理机的主站故障而引起所有主站的故障监测失效。
64.本优选实施例通过主站与主站之间进行离线故障监测,使无需中央控制器的参与,减少故障监测所需占用的资源。
65.在实际情况中,通信往往存在一定的偶发中断,为避免偶发中断对离线故障监测
的影响,结合上述实施例,还提供了以下优选的实现方式,即所述确定相应工作区的主站是否发生离线故障,具体包括:
66.在监测到与相应工作区的主站的通信中断后,每间隔预设周期,尝试重新与所述主站建立连接,若在第一预设时间内未能够与主站重新连接,或尝试重新建立连接的次数超出预设次数,则确定相应工作区的主站发生了离线故障。
67.其中,所述预设周期、第一预设时间和预设次数是由本领域技术人员根据网络通信的实时性需求分析得出的,所述第一预设时间大于预设周期。
68.本优选的实现方式通过尝试与主站重新建立连接,以避免因偶发性通信中断而导致子站的分区变动,维持网络的稳定性。
69.为避免单个主站下的子站过多或单个主站下通信总流量过大,而影响所在工作区数据通信的实时性,结合上述实施例,还存在以下优选的实施例,即所述当相应工作区的主站发生离线故障时,将相应工作区的子站划分至其他工作区,如图2所示,具体包括:
70.在步骤301中,根据网络中各子站的通信流量,计算网络中的子站通信流量差异度。
71.在步骤302中,若所述子站通信流量差异度小于等于预设阈值,则根据子站数量进行划分,使在将相应工作区的子站划分至其他工作区后,各工作区的子站数量均衡。
72.在步骤303中,若所述子站通信流量差异度大于预设阈值,则根据子站的通信流量和各工作区的通信总流量进行划分,将通信流量大的子站划分至通信总流量小的工作区,使在将相应工作区的子站划分至其他工作区后,各工作区的通信总流量均衡。
73.其中,所述子站通信流量差异度用于衡量网络中子站之间的通信流量的差距,其计算方法可有多种,如可以是网络中通信流量最大的子站与通信流量最小的子站之间的通信流量差值,也可以是网络中所有子站的通信流量方差或其他计算方式,具体选用何种计算方式由本领域技术人员根据网络的实际应用场景分析设定。
74.其中,可预先在各主站中存储网络中所有子站的配置文件,在配置文件中存储子站的通信报文长度和报文传输速率等通信信息,主站和子站之间根据通信信息进行数据传输,使各子站的通信流量能够根据配置文件计算得出。由于主站存储网络中所有子站的配置文件,故主站能够计算得到所有子站的通信流量,从而把控全网络通信流量状况,每个主站各自计算网络中子站的通信流量差异度,确定子站的划分方式,最终确定划分给自身所在工作区的子站,并进行主动连接。
75.还存在一种实现方法为:各子站的通信流量由与子站所连接的主站进行统计收集,将每个工作区主站所收集的通信流量信息交由相应主站集中处理,如在所有工作区中,选择通信总流量最小的工作区的主站对网络中所有子站的通信流量信息进行集中计算,得到网络中的子站通信流量差异度,并计算得到各工作区所需连接的子站,告知各主站对相应子站进行主动连接。其中,子站通信流量的收集周期性进行,在监测到存在主站发生离线故障时进行子站通信流量差异度的计算和子站的划分,在计算时,对于主站发生离线故障的工作区,以上一周期所收集到的该工作区各子站的通信流量参与计算。其中,主站与主站之间的数据传输可直接复用主站离线故障检测用的通信进行。还存在一种实现方式为,在网络中额外设立中央控制器,通过中央控制器与各主站通信收集子站通信流量,并进行子站划分。
76.所述预设阈值是由本领域技术人员根据所述子站通信流量差异度的计算方法和网络通信的实时性需求分析得出的。
77.所述数量均衡、通信总流量均衡并非指绝对意义上的数量相同或通信总流量相同,而是数量的差异性或通信总流量的差异性在可接受范围内。
78.本优选实施例中,所述各工作区的子站数量均衡和各工作区的通信总流量均衡中的各工作区不包括主站故障的工作区。
79.本优选实施例通过比较各子站的通信流量之间的差值,决定划分子站的方式,使划分后各工作区的主站所负责的子站维持数量的均衡和流量的均衡,从而使在相应主站发生故障后,依旧能够确保网络通信的实时性。
80.在上述优选实施例中,所述则根据子站的通信流量和各工作区的通信总流量进行划分的一种具体的实现方式为:
81.计算各工作区的通信总流量,将通信流量最大的待分区子站划分给通信总流量最小的工作区,每划分一个子站,重新计算各工作区的通信总流量,再进行下一个待分区子站的划分;其中,所述待分区子站为位于相应主站离线故障的工作区,且未划分至其他工作区的子站。
82.在实际情况中,不仅仅存在主站发生离线故障,还可能存在主站故障恢复,针对此场景,结合本发明实施例,将进一步融合本实施例中的关联步骤进行相对完整逻辑展示,即在所述将相应工作区的子站划分至其他工作区后,如图3所示,所述方法还包括:
83.在步骤203中,监测相应工作区的主站是否故障恢复,在所述工作区的主站故障恢复后,重新划分子站至所述工作区。
84.其中,所述重新划分子站至所述工作区可以是将所述工作区中原有的子站重新划分至所述工作区,也可以是衡量整个网络中各工作区的子站数量和各工作区的通信总流量均衡状况,选取相应子站至所述工作区。
85.本实施例通过在主站故障恢复后重新划分子站至该工作区,使网络中主站发生故障并恢复后,仍能够支持网络的正常运作,以提高网络的健壮性。
86.在每一个工作区内维护一份子站清单,以便于将在所述工作区发生离线故障时划分至其他工作区的子站重新划分至所述工作区。
87.在上述优选的实施例中,当主站发生离线故障时,根据子站数量或子站流量进行划分,从而确保了网络的实时性,在实际实现过程中,在进行工作区初始划分时,也应进行数量或流量的均衡,结合上述实施例,存在以下优选的实施例,即所述将网络划分为多个工作区,每个工作区对应一个主站以及与主站连接的多个子站,如图4所示,具体包括:
88.在步骤401中,先按照子站数量进行工作区划分,使各工作区的子站数量均衡。
89.在步骤402中,在网络运行经过第二预设时间后,统计网络中各子站的通信流量,并计算网络中的子站通信流量差异度,若所述子站通信流量差异度小于等于预设阈值,则延用当前划分的工作区。
90.在步骤403中,若所述子站通信流量差异度大于预设阈值,则调整工作区的划分,使各工作区的通信总流量均衡。
91.其中,所述第二预设时间是由本领域技术人员根据网络所使用的具体场景下,网络通信流量稳定所需的时间决定的。
92.所述调整工作区的划分可以是根据子站的通信流量,整体进行工作区划分,也可以是通过各工作区之间的子站交换实现各工作区的通信总流量均衡。
93.本实施例通过先按照子站数量进行分区,待运行稳定后,再统计各子站的通信流量,选择延用分区或进行分区调整,使在初始划分分区时,保持各分区子站数量和子站流量的均衡。
94.在上述优选实施例的基础上,本实施例还提供了一种优选的实现方式,具体包括:
95.由本领域技术人员为每个主站设定相应所能够连接的子站数量或总流量,并由本领域技术人员根据网络所使用的具体场景下的需求分析制定预设监测周期,在每个预设监测周期,监测主站是否发生了离线故障或处于离线状态,若主站连续离线周期达预设离线周期阈值,或主站两次发生离线故障的周期间所间隔的周期数量小于等于预设最小间隔周期数,则减少主站所能够连接的子站数量或总流量,并在故障恢复时,根据主站所能够连接的子站数量或总流量,为其划分子站;若主站连续正常工作的周期超出预设正常工作最小周期数,则增加主站所能够连接的子站数量或总流量,直至恢复至初始设定的子站数量或总流量。
96.所述预设离线周期阈值、预设最小间隔周期数、预设正常工作最小周期数均由本领域技术人员根据网络所使用的具体场景分析得到。
97.本实施例通过统计主站的离线故障周期,从而判断主站的稳定性,根据主站的稳定性决定其连接的子站,增强网络的稳定性,避免因主站频繁离线或长期离线而导致主站子站连接频繁变动。
98.本实施例中的“第一”和“第二”没有特殊的限定的含义,之所以用其做描述仅仅是为了方便在一类对象中差异出不同的个体进行表述,不应当将其作为顺序或者其他方面带有特殊限定含义解释。
99.实施例2:
100.本发明基于实施例1所描述的方法基础上,结合具体的应用场景,并借由相关场景下的技术表述来阐述本发明特性场景下的实现过程。
101.如针对一个modbus tcp网络,在该网络中存在12个modbus tcp子站,基于实施例1所描述的网络管理方法,在该网络中建立3个modbus tcp主站,从而对应3个工作区,将子站划分至3个工作区中,计算网络中的所有子站的通信流量方差,若所述方差大于预设阈值,则通过各工作区子站的交换,实现各工作区的通信总流量均衡,经上述步骤初始划分结束后的工作区如图5所示。
102.将上述3个modbus tcp主站记为mi,其中,i分别为1、2、3。将12个modbus tcp子站记为sn,n分别为1、2、
……
、12。s1到s4划分至第1工作区,对应m1主站;s5到s8划分至第2工作区,对应m2主站;s9到s12划分至第3工作区,对应m3主站;以sn[mi]的形式表述各子站,即由于第1工作区子站连接主站m1,记第1工作区连接m1主站的子站为sn[m1],依次类推,第2工作区连接主站2的子站记为sn[m2],第3工作区连接主站3的子站记为sn[m3]。由于工作区数量和主站mi的数量相同,且编号也记为相同编号,因此sn[mi]可视为子站sn属于第i工作区,连接主站mi。在每一个主站中,存储网络中各子站所连接的主站信息。如在主站m1中,不仅存储自身连接的子站s1-子站s4的信息,还存储网络中其他工作区的子站信息,如存储s8[m2]。
[0103]
为每个主站mi创建一个tcp服务器端socket,由其他主站连接该服务端,检测主站mi的在线状态。具体的:以每一个主站作为tcp服务器端,其他主站作为tcp客户端,使用modbus tcp协议专用端口,即端口号为502的端口进行通信。如针对上述3个主站m1、m2、m3而言,分别以m1、m2、m3为客户端,m1所对应的两个服务端分别为m2、m3;m2所对应的两个服务端分别为m1、m3;m3所对应的两个服务端分别为m1、m2。即对于主站m1来说,相当于多了两个子站m2、m3,在m1所在工作区,分别记录主站标识m2、m3为m2[bool]、m3[bool]。若m1与m2之间的tcp连接正常,则记作m2[true],否则,若m1与m2之间的tcp连接断开,则记作m2[false]。将主站m1所对应的子站信息和与m1通信的服务端主站标识信息存储到m1所对应的子站列表中。
[0104]
在设备正常的情况下,相较于只有一个modbus tcp主站连接12个子站设备,由多个主站连接不同的子站设备时,每个子站设备可以更快的被主站询问,如在有3个主站的情况下,若主站轮询当个子站需花费时间为1秒,则在使用一个主站连接12个子站时,单个子站被主站轮询一次所需的时间为12秒,而使用3个主站分别连接时,每个设备的被询问时间由12秒轮询一次提高到4秒轮询一次,大大提高了运行效率。
[0105]
所述检测主站mi的在线状态,如图6所示,具体包括:
[0106]
在步骤501中,每间隔一段时间,由服务端定时向客户端发送心跳包,当客户端未接收到心跳包的时长达到预设时长时,认为与服务端的连接断开。
[0107]
在步骤502中,每间隔预设周期,客户端尝试重新与服务端建立连接,若建立连接的次数超出预设次数,则认为服务端发生了离线故障,将客户端主站中对应服务端主站标识置为false。
[0108]
如当m2主站发生故障时,所对应以m2作为服务端的tcp连接中断,在这两个tcp连接中,分别作为客户端的主站m1、m3在尝试重新连接的次数超出预设次数后,仍未能与m2成功连接,则将自身储存的主站标识m2[true]置为m2[false]。同时,子站信息中所有连接至m2的子站即为待分区子站。
[0109]
下面将以m2发生离线故障为例,对当网络中主站发生离线故障时,将相应工作区的子站划分至其他工作区做具体的阐述,如图7所示,具体包括:
[0110]
在步骤601中,以最近一次预设时间段内所统计得到的,相应子站在预设时间段内的平均通信流量作为子站的通信流量,计算网络中所有子站的通信流量方差。
[0111]
在步骤602中,若所述通信流量方差小于等于预设阈值,则根据子站数量进行划分。
[0112]
在步骤603中,若所述通信流量方差大于预设阈值,则根据子站的通信流量进行划分。
[0113]
其中,在上述步骤602中,所述根据子站数量进行划分,如图8所示,具体包括:
[0114]
在步骤701中,将sn[m2]的子站按照n序号,从小到大排序。如果sn[m1]和sn[m3]数量相同,将sn[m2]平均分配给sn[m1]和sn[m3]。
[0115]
在步骤702中,如果sn[m1]和sn[m3]数量不相同,先将序号n较小的sn[m2]分配给数量较少的sn[mi],如果在达到sn[m1]和sn[m3]数量相同以前sn[m2]数量归0,则工作区划分完毕。
[0116]
在步骤703中,如果在达到sn[m1]和sn[m3]数量相同以后sn[m2]还有未分配的子
站,则将剩下的sn[m2]平均分配,序号n较小的分配给sn[m1],序号n较大的分配给sn[m3]。剩下的子站sn[m2]数量为奇数的情况下,sn[m1]多分配一个。完成以上划分后,sn[m2]数量为0,将工作区2的子站全部划分到工作区3和工作区1中,如图10所示,划分结束后各工作区的子站数量均衡。
[0117]
在上述步骤603中,所述根据子站的通信流量进行划分,如图8所示,具体包括:
[0118]
在步骤801中,将sn[m2]的子站按照子站的通信流量,从大到小排序。
[0119]
在步骤802中,统计各工作区的通信总流量,将通信流量最大的一个sn[m2]分配至通信总流量最小的工作区内,且以划分后的各工作区的通信总流量进行下一个子站的分配。
[0120]
或还存在另一种实现方式为:按照流量大小,提前将每个子站的备用工作区规划好,将其保存在子站的主站列表ln{mi,
……
,mj}。如子站s5的子站列表可设置为l5{m2,m1,m3},则子站s5的优先划分到第2工作区,若主站m2故障,则优先划分到第1工作区,若主站m2和m1都故障,则划分到第3工作区。使用该方法,每个主站mi除了储存有每个子站的工作区标记sn[mi]以外,还需要储存每个子站的备用列表,因此可将sn[mi]扩展为sn{mi,
……
,mj},mi
……
mj按照优先级进行排序。如s5的主站列表为s5{m2,m1,m3},s6的主站列表为s6{m2,m1,m3},s7的主站列表为s7{m2,m3,m1},s8的主站列表为s8{m2,m1,m3}。根据此方式重新划分后的各工作区如图11所示。
[0121]
而在m2发生离线故障后,m1和m3每间隔预设一段时间,尝试重新与服务端建立连接,若m1和m3重新建立起与服务端m2的连接,且在连接成功后的预设时间段内能够持续稳定连接,则认为m2故障恢复,此时,重新划分子站至所述工作区。
[0122]
所述重新划分子站至所述工作区的一种实现方式为:将原属于m2工作区的子站重新划分至m2工作区。由于在进行初始划分和故障的工作区的子站重新划分时,均考虑了工作区子站数量和通信流量的均衡,故通过直接将原属于m2工作区的子站重新划分至m2工作区可在m2恢复时,迅速将各分区恢复至m2故障前的均衡状态。
[0123]
实施例3:
[0124]
如图12所示,是本发明实施例的网络管理系统的架构示意图。本实施例的网络管理系统包括管理模块和监测模块,其中:
[0125]
所述管理模块用于管理网络中的多个分区。
[0126]
所述监测模块用于监测每个工作区的主站是否发生离线故障,当相应工作区的主站发生离线故障时,通知管理模块将相应工作区的子站划分至其他工作区。
[0127]
本实施例还提供了一种modbus tcp网络场景下的具体实现,如图13所示,具体为:
[0128]
所述管理模块包括每个主站中的modbus tcp协议处理模块、子站列表维护模块和tcp连接维护模块,其中,所述modbus tcp协议处理模块负责modbus tcp协议的组帧和解帧,以维持正常的网络功能。子站列表维护模块负责维护子站列表信息和主站列表信息,以进行相应的子站划分。tcp连接维护模块通过读取子站列表维护模块的子站列表信息,连接modbus tcp子站设备。
[0129]
所述监测模块负责为每个主站创建tcp客户端连接其他主站的服务器端socket,检测其他主站的在线状态,同时为每个主站创建一个服务端socket,接受其他主站的连接。
[0130]
当所述监测模块监测到相应工作区的主站的通信中断后,每间隔预设周期,尝试
将其他主站重新与所述主站建立连接,若在第一预设时间内未能够与主站重新连接,或尝试重新建立连接的次数超出预设次数,则确定相应工作区的主站发生了离线故障,告知管理模块进行子站的划分。
[0131]
所述管理模块还通过各主站收集网络中各子站的通信流量,并在相应工作区的主站发生离线故障时,计算网络中的子站通信流量差异度,若所述子站通信流量差异度小于等于预设阈值,则根据子站数量进行划分,使在将相应工作区的子站划分至其他工作区后,各工作区的子站数量均衡。若所述子站通信流量差异度大于预设阈值,则根据子站的通信流量和各工作区的通信总流量进行划分,具体的:所述管理模块计算各工作区的通信总流量,将通信流量最大的待分区子站划分给通信总流量最小的工作区,每划分一个子站,以划分后的工作区,重新计算各工作区的通信总流量,再进行下一个待分区子站的划分;其中,所述待分区子站为位于相应主站离线故障的工作区,且未划分至其他工作区的子站。在所述管理模块计算得到各工作区子站后,向各工作区的主站发送子站信息,使各主站主动连接相应子站。
[0132]
在工作区发生离线故障前,所述管理模块为每一个工作区维护一份子站清单,当所述监测模块监测到存在主站故障恢复时,告知管理模块,所述管理模块将按照子站清单进行工作区划分。
[0133]
所述监测模块监测到存在主站故障恢复具体为:相应主站的通信恢复,且在第一预设时间内不再度发生通信中断。
[0134]
在网络初始化时,所述管理模块还先按照子站数量进行工作区划分,使各工作区的子站数量均衡。在网络运行经过第二预设时间后,所述管理模块统计网络中各子站的通信流量,并计算网络中的子站通信流量差异度,若所述子站通信流量差异度小于等于预设阈值,则延用当前划分的工作区。若所述子站通信流量差异度大于预设阈值,则调整工作区的划分,使各工作区的通信总流量均衡。
[0135]
所述管理模块还在每个主站上配置网络中各子站的功能码和寄存器信息,使每个主站具有连接至每个子站的能力。且在每个主站存储网络中各子站所连接的主站信息,以便于在相应工作区的主站发生离线故障时,由其他主站连接相应工作区的子站。
[0136]
本实施例中的“第一”和“第二”没有特殊的限定的含义,之所以用其做描述仅仅是为了方便在一类对象中差异出不同的个体进行表述,不应当将其作为顺序或者其他方面带有特殊限定含义解释。
[0137]
实施例4:
[0138]
如图14所示,是本发明实施例的网络管理装置的架构示意图。本实施例的网络管理装置包括一个或多个处理器21以及存储器22。其中,图14中以一个处理器21为例。
[0139]
处理器21和存储器22可以通过总线或者其他方式连接,图14中以通过总线连接为例。
[0140]
存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序和非易失性计算机可执行程序,如实施例1中的网络管理方法。处理器21通过运行存储在存储器22中的非易失性软件程序和指令,从而执行网络管理方法。
[0141]
存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22
可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0142]
所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述实施例1和实施例2中的网络管理方法,例如,执行以上描述的图1-图4、图5-图9所示的各个步骤。
[0143]
值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0144]
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,read only memory)、随机存取存储器(ram,random access memory)、磁盘或光盘等。
[0145]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1