电力远动网络中频率可变的节点通信状态监视方法

文档序号:7889649阅读:246来源:国知局
专利名称:电力远动网络中频率可变的节点通信状态监视方法
技术领域
本发明涉及一种电力通信状态监视方法,尤其涉及一种电力远动网络中频率可变的节点通信状态监视方法。
背景技术
以太网在电力远动网络中应用广泛,变电站远动机作为电力远动网络中的关键节点,负责向电力调度传递重要信息,所以确保其连通性异常重要。目前现场使用两个独立网络和两台远动机互相备用以便在网络故障或设备故障时通信不会中断。网络协议中规定了一种报文格式ICMP,该报文用于测试网络中某个IP地址的通信状态,该报文可通过编程发出或使用命令PING发出。目前发现电力远动网络故障和设备故障的方法是定时使用PING 命令进行测试,然而使用这种方法存在着问题1、一次测试只代表测试时刻的通信状态,不能体现一段时间内节点的通信状态变化趋势和通信参数;2、网络中存在能够干扰测试结果的突发状态,现有技术不能判别这类干扰,导致误判为节点状态多次反复变化;3、电力远动网络节点数量众多,例如山东省区域电网就拥有数百座变电站,电力远动网络本身带宽较小(64Kbps至2Mbps),且存在在短时间内上送大量事故信号的可能, 不能长时间大量占用其带宽,现有技术只能依靠加大固有检测频率提高测试精度,不能动态改变测试频率,不适合长时间监视远动网络。

发明内容
本发明的目的就是为解决上述问题,提供一种电力远动网络中频率可变的节点通信状态监视方法,能够提高网络通信状态判断精度,并能减少系统测试资源消耗。为实现上述目的,本发明采用如下技术方案一种电力远动网络中频率可变的节点通信状态监视方法,设置监视参数;建立监视模型,建立数据队列,启动计时器;根据监视参数判断计时器是否应触发测试;建立不影响主程序的独立子线程用于测试;发送测试包,接收结果并在队列中存储测试结果;判断结果是否过多并丢弃多余的测试结果;根据最后一个结果判断连接状态并修改连接状态和监视参数;计算相关测试参数;判断队列中的结果是否足够,否则结束本次测试,是则修改当前网络状态和监视参数,并给出本次测试的结果报告。本发明的具体步骤为第一步设置监视参数;第二步建立监视模型;为每一个被监视的节点的每一个IP地址建立独立数据模型,数据模型中包含测试间隔t,连接状态X,网络状态y,一个长度为k的数据队列,一个测试包发送程序P,该程序发送一个ICMP测试包并接收返回数据包;其中,t的初始值为Tl,X的初始值为稳定状态,网络状态Y的初始值为良好,k的初始值为Kl ;设置并启动一个系统计时器,计时器当前的读数为T',单位为毫秒,计时器每隔Tx毫秒触发一次,每当计时器触发时进入第三步;第三步计时器触发判断计时器每隔Tx毫秒触发一次,若此时计时器读数T'满足下面3个条件的任何一条或多条1)计算求得m = (T' mod(N*Tl))/Tl时,若第m个地址数据模型的t = Tl ;2)计算求得m = (T' mod(N*T2))/T2时,若第m个地址数据模型的t = T2 ;3)计算求得m = (T ‘ mod (N*T3)) /T3时,若第m个地址数据模型的t = T3 ;则进入第四步,否则重新回到第三步等待计时器触发,Mod为取余数运算;第四步打开独立子线程;打开一个独立子线程,它的运行时间不影响主程序的运行和系统计时器的工作, 子线程进入第五步,父线程回到第三步继续等待计时器触发;第五步测试包发送接收过程;第六步测试结果存储过程;当第m个地址的程序P收到并返回测试结果后,将测试结果送入该节点的数据队列,进入第七步;第七步队列数据量判断1 ;若队列长度1 > k,进入第八步;若队列长度1 < k或1 = k,进入第九步;第八步丢弃数据如果数据队列当前长度1 > k,则反复丢弃队列中第一个数据,直到队列长度1 = k,进入第九步;第九步连接状态判断若当前连接状态为不稳定状态,进入第十一步;或者当前连接状态为稳定状态,数据队列中最后一个返回结果的测试状态是与当前网络状态y相同,进入第十一步;否则进入第十步;第十步设置连接状态为不稳定将队列长度k改为K2,清空当前的数据队列,将t设为T2,关闭子线程,等待计数器再次触发;第十一步计算状态参数第十二步队列数据量判断2若队列长度1 = k,进入第十三步;若队列长度1 < k,关闭子线程,等待计数器再次触发;第十三步计算测试成功率若成功率s = 100%或s = 0%,进入第十四步;若成功率0 % < s < 100 %,进入第十五步;第十四步设置连接状态为稳定将队列长度k改为K1,将t设为Tl,连接状态χ设为稳定状态,进入第十六步;
第十五步调整测试参数将t设为T3,k改为K2,连接状态χ设为不稳定状态,进入第十六步;第十六步网络状态判断若s = 100%,则当前网络状态y'=良好;若s = 0%,则当前网络状态y'=中断;若0%< s < 100%,则当前网络状态y'=异常;进入第十七步;第十七步判断测试结果若y'与y相同,则报告本次测试的结论为连接状态不变,本次测试结束,关闭子线程;否则应视为状态改变,进入第十八步;第十八步判断节点状态报告该地址连接状态由y'变为y,获取当前系统时间并记录在文件中,令y = 1’ ;若该地址所属节点的所有IP地址的状态均相同,为良好/中断/异常,则报告该节点的状态为良好/中断/异常;若至少有一个IP地址状态为良好/异常,则报告该节点的状态为通道良好/异常,设备故障;本次测试结束,关闭子线程。所述第一步中,监视参数的设置过程为设置稳定状态测试间隔Tl,不稳定状态测试间隔T2,异常测试间隔T3,单位均为毫秒,且Tl > T3 > T2 ;设置稳定状态数据队列长度K1,设置不稳定状态数据队列长度K2,且K2 > Kl ;设置测试包大小D,最长等待时间Q, Q < T3 ;设置每一个目标节点的名称以及目标节点的多个IP地址,并计算总的目标地址数 N,设置系统计时间隔Tx,单位为毫秒。所述第五步的具体过程为启动第m个地址的测试包发送程序P,该程序将打开一个独立线程,它的运行时间将不影响主程序的运行和系统计时器的工作;建立一个ICMP测试包向节点ip地址发送,并等待返回数据,返回数据包括测试状态即良好或中断以及测试用时,如果程序在最长等待时间Q内没有收到返回数据,则设置返回数据为测试失败,用时为Q ;进入第六步。所述第十一步的过程为统计数据队列中返回数据测试状态为成功的数据数C, 计算测试成功率s = c/l*100%,计算该地址的平均连接时间tavg = 1/1求和(tl. · · tl), 最长连接时间tmax = 1/1求最大(tl. . . tl),最短连接时间tmin = 1/1求最小(tl. . . tl), 丢失率lost = 100% -s,进入第十一步;其中,1为当前数据队列长度,tl. . . tl为1个测试结果的测试时间。所述第九步中,如果稳定状态的地址收到一个与当前状态不同的测试结果,将该地址标为不稳定状态,清空结果队列,每隔NXT2时间测试一次,连续测试K2次,在 NXT2XK2时间后可判定是否应恢复稳定状态或确认通信状态改变,并报告结果,滤除干扰;本过程何时进行,由计时器根据需要计算确定使用本发明监视网络通道状态时,对于处于稳定通信状态的网络地址,每隔NXTl时间测试一次并报告结果,测试样本空间为NXT1XK1 ;对于长时间处于异常、不稳定状态的地址,使用NXT3间隔进行测试和报告;程序最多同时开启1+Q/T1+Q/T2+Q/T3个线程同时工作,一个线程进行工作时,计时器仍可以根据判断启动其他线程同时工作。本发明的有益效果是1、使用抽样测试法,测试结果作为样本存储于数据队列中,使测试报告代表一段时间区间内的通信状态;2、差异化抽样策略,对于不同的通信状态动态改变测试频率和样本数量,以较低的测试频率测试处于稳定状态的地址,使相同的资源开销下,更准确的测试处于不稳定状态的网络节点;3、在通信状态发生突变时,立刻清空原有数据结果队列,提高测试频率,快速排除干扰或确认通信状态发生变化;4、某个地址长时间处于不稳定状态时,适当降低测试频率,减少资源开销;5、使用文件记录通道状态变化。


图1为本发明的流程图。
具体实施例方式下面结合附图与实施例对本发明做进一步说明。实施例1 正常通道的监视启动过程第一步,设置稳定状态测试间隔Tl = 1000毫秒,不稳定状态测试间隔T2 = 50毫秒,异常测试间隔T3 = 500毫秒;稳定状态数据队列长度Kl = 10,不稳定状态数据队列长度K2 = 20,测试包大小32字节,最长等待时间300毫秒;总目标数为100个,作为例子,设置第5个目标IP地址为192. 168. 1. 1 ;设置系统计时间隔为50ms ;第二步,为所有目标地址建立数据模型,设置目标192. 168. 1. 1的初始值为测试间隔t = Tl = 1000毫秒,建立一个空数据队列长度为k = K2 = 10,初始连接状态χ为稳定状态,初始网络状态y为良好,完成测试程序P的初始化;启动系统计时器,当前读数为0 毫秒,以后每隔Tx = 50毫秒触发一次;第三步,计时器每隔50毫秒触发一次,并判断条件,当计时器运行到T‘ = 5000毫秒时判断第一条件,m= (T' mod(N*Tl))/Tl = (5000mod (100*1000))/1000 = 5,且第5个目标地址的t于Tl相同,第5个目标地址可进行一次测试;判断第二条件,m= (T' mod (N*T2))/T2 = (5000mod (100*50))/50 = 0,但此时第0个目标地址的t = Tl与T2不同,不进行测试;判断第三条件,m= (T' mod (N*T3))/T3 = (5000mod (100*500))/500 = 10,第 10 个目标地址的t = Tl与T3不同,不进行测试;第四步至第十二步,将开启一个独立线程,在不影计时器和其他测试线程运行的情况下对目标地址192. 168. 1. 1进行测试,向目标地址发送测试包并接收返回结果,将结果存入结果队列中,由于结果为正常且当前目标网络状态为良好,不需要修改目标连接状态,在第十二步中,队列中结果数量小于10个,不足以进行判断,结束线程,等待下次触发。 之后的触发时间分别为计时器T' = 105000毫秒,T' = 205000毫秒……T' = 905000毫秒时。对目标地址192. 168. 1. 1进行10次测试后,在T' = 905000毫秒触发的测试中, 数据队列中结果达到10个,进入第十三步。第十三步,算得成功率s = 100% ;第十四步,将t设为Tl,k设为K1,与当前的设定相同;第十六步,判断得当前网络状态为良好;第十七步,报告状态没有改变并给出参数;以后每隔N*T1 = 100*1000 = 100000毫秒仍会触发,如果状态没有变化,则继续
以这个频率测试,并报告结果和参数,启动完成。实施例2 通道出现故障的判断过程已完成第一步,设置稳定状态测试间隔Tl = 1000毫秒,不稳定状态测试间隔T2 =50毫秒,异常测试间隔T3 = 500毫秒;稳定状态数据队列长度Kl = 10,不稳定状态数据队列长度K2 = 20,测试包大小32字节,最长等待时间300毫秒;总目标数为100个,作为例子,设置第5个目标IP地址为192. 168. 1. 1 ;设置系统计时间隔为50ms ;已完成第二步,为所有目标地址建立数据模型,设置目标192. 168. 1. 1的初始值为测试间隔t = Tl = 1000毫秒,建立一个空数据队列长度为k = K2 = 10,初始连接状态 χ为稳定状态,初始网络状态y为良好,完成测试程序P的初始化;启动系统计时器,当前读数为0毫秒,以后每隔Tx = 50毫秒触发一次;数据队列中已有10次测试结果,均为成功,当前测试间隔t = Tl = 1000毫秒,数据队列长度k = K2 = 10,连接状态χ为稳定状态,网络状态y为良好;第一次触发测试,假设系统计时器运行至30005000毫秒;进入第三步,判断结果为满足测试的第一条件,即m= (T' mod (N*T1))/Tl = (30005000mod(100*1000))/1000 = 5,且第5个目标地址的t于Tl相同,第5个目标地址可进行一次测试;第四步到第六步,将开启一个独立线程,在不影计时器和其他测试线程运行的情况下对目标地址192. 168. 1. 1进行测试,向目标地址发送测试包,在最长等待时间Q = 300 毫秒内没有收到返回结果,以失败存入结果队列中;第七步和第八步,由于结果为11个,丢弃第一个测试结果;第九步,当前状态为稳定状态,最后一个结果为失败而网络状态为良好,则进入第
I lK
卞少;第十步,将t设为T2,k设为K2,连接状态χ设为不稳定,清空数据队列,结束本次测试;第二次触发测试,在T' = 30010250毫秒时,计时器触发,第三步中,判断结果为满足测试的第二条件,即m = (30010250mod(100*50))/50 = 5,且第5个目标地址的t与 T2相同,第5个目标地址可进行一次测试;第四步至第十二步,第四步到第六步,将开启一个独立线程,向目标地址发送测试包,在最长等待时间Q = 300毫秒内没有收到返回结果,以失败存入结果队列中;结果不足k = K2 = 20个,不需要丢弃;当前状态已为不稳定状态,不需修改;第十二步中,队列中结果数量小于k = K2 = 20个,不足以进行判断,结束线程,等待下次触发;之后每隔N*T2 = 100*50 = 5000毫秒,计时器将触发一次,再进行19次测试后, 数据队列中结果达到20个,进入第十三步;第十三步,算得成功率s = 0% ;第十四步,将t改为Tl,k改为K1,连接状态χ设为稳定状态;第十六步,判断得当前网络状态为中断;第十七步,报告状态没有改变并给出参数;第十八步,报告该地址连接状态由良好变为中断,获取当前系统时间并记录在文件中,令y=中断;若该地址所属节点的所有IP地址的状态均相同,为良好/中断/异常,则报告该节点的状态为良好/中断/异常;该地址所属节点的其他IP地址,例如第0到第4个地址与第5个地址同属于一个节点,第0到第4个地址均为良好,则报告该节点的状态为通道良好,设备故障;以后每隔N*T1 = 100*1000 = 100000毫秒仍会触发,如果状态没有变化,则继续以这个频率测试,并报告结果和参数。
权利要求
1.一种电力远动网络中频率可变的节点通信状态监视方法,其特征是,进行数据设置, 启动计时器;根据监视参数判断计时器是否应触发测试;建立不影响主程序的独立子线程用于测试;发送测试包,接收结果并在队列中存储测试结果;判断结果是否过多并丢弃多余的测试结果;根据最后一个结果判断连接状态并修改连接状态和监视参数;计算相关测试参数;判断队列中的结果是否足够,否则结束本次测试,是则修改当前网络状态和监视参数,并给出本次测试的结果报告。
2.如权利要求1所述的电力远动网络中频率可变的节点通信状态监视方法,其特征是,它的具体步骤为第一步设置监视参数; 第二步建立监视模型;为每一个被监视的节点的每一个IP地址建立独立数据模型,数据模型中包含测试间隔t,连接状态X,网络状态y,一个长度为k的数据队列,一个测试包发送程序P,该程序发送一个ICMP测试包并接收返回数据包;其中,t的初始值为Tl,X的初始值为稳定状态,网络状态Y的初始值为良好,k的初始值为Kl ;设置并启动一个系统计时器,计时器当前的读数为T‘,单位为毫秒,计时器每隔Tx毫秒触发一次,每当计时器触发时进入第三步; 第三步计时器触发判断计时器每隔Tx毫秒触发一次,若此时计时器读数T'满足下面3个条件的任何一条或多条1)计算求得m=(T' mod (N*T1))/Tl时,若第m个地址数据模型的t = Tl;2)计算求得m= (T' mod(N*T2))/T2时,若第m个地址数据模型的t = T2 ;3)计算求得m= (T' mod(N*T3))/T3时,若第m个地址数据模型的t = T3 ;则进入第四步,否则重新回到第三步等待计时器触发,Mod为取余数运算;第四步打开独立子线程;打开一个独立子线程,它的运行时间不影响主程序的运行和系统计时器的工作,子线程进入第五步,父线程回到第三步继续等待计时器触发; 第五步测试包发送接收过程; 第六步测试结果存储过程;当第m个地址的程序P收到并返回测试结果后,将测试结果送入该节点的数据队列,进入第七步;第七步队列数据量判断1 ; 若队列长度l>k,进入第八步; 若队列长度1 < k或1 = k,进入第九步; 第八步丢弃数据如果数据队列当前长度1 > k,则反复丢弃队列中第一个数据,直到队列长度1 = k,进入第九步;第九步连接状态判断若当前连接状态为不稳定状态,进入第十一步;或者当前连接状态为稳定状态,数据队列中最后一个返回结果的测试状态是与当前网络状态y相同,进入第十一步;否则进入第十步;第十步设置连接状态为不稳定将队列长度k改为K2,清空当前的数据队列,将t设为T2,关闭子线程,等待计数器再次触发;第十一步计算状态参数第十二步队列数据量判断2若队列长度1 = k,进入第十三步;若队列长度1 < k,关闭子线程,等待计数器再次触发;第十三步计算测试成功率若成功率s = 100%或s = 0%,进入第十四步;若成功率0 % < s < 100 %,进入第十五步;第十四步设置连接状态为稳定将队列长度k改为K1,将t设为Tl,连接状态χ设为稳定状态,进入第十六步; 第十五步调整测试参数将t设为T3,k改为K2,连接状态χ设为不稳定状态,进入第十六步;第十六步网络状态判断若s = 100%,则当前网络状态y'=良好;若S = 0%,则当前网络状态y'=中断;若0%< s < 100%,则当前网络状态y'=异常;进入第十七步;第十七步判断测试结果若y'与y相同,则报告本次测试的结论为连接状态不变,本次测试结束,关闭子线程; 否则应视为状态改变,进入第十八步; 第十八步判断节点状态报告该地址连接状态由y'变为y,获取当前系统时间并记录在文件中,令y = y'; 若该地址所属节点的所有IP地址的状态均相同,为良好/中断/异常,则报告该节点的状态为良好/中断/异常;若至少有一个IP地址状态为良好/异常,则报告该节点的状态为通道良好/异常,设备故障;本次测试结束,关闭子线程。
3.如权利要求2所述的电力远动网络中频率可变的节点通信状态监视方法,其特征是,所述第一步中,监视参数的设置过程为设置稳定状态测试间隔Tl,不稳定状态测试间隔T2,异常测试间隔T3,单位均为毫秒,且Tl > T3 > T2 ;设置稳定状态数据队列长度K1, 设置不稳定状态数据队列长度K2,且K2> Kl ;设置测试包大小D,最长等待时间Q,Q <Τ3 ; 设置每一个目标节点的名称以及目标节点的多个IP地址,并计算总的目标地址数N,设置系统计时间隔Τχ,单位为毫秒。
4.如权利要求2所述的电力远动网络中频率可变的节点通信状态监视方法,其特征是,所述第五步的具体过程为启动第m个地址的测试包发送程序P,该程序将打开一个独立线程,它的运行时间将不影响主程序的运行和系统计时器的工作;建立一个ICMP测试包向节点ip地址发送,并等待返回数据,返回数据包括测试状态即良好或中断以及测试用时,如果程序在最长等待时间Q内没有收到返回数据,则设置返回数据为测试失败,用时为 Q ;进入第六步。
5.如权利要求2所述的电力远动网络中频率可变的节点通信状态监视方法,其特征是,所述第十一步的过程为统计数据队列中返回数据测试状态为成功的数据数c,计算测试成功率s = c/l*100%,计算该地址的平均连接时间tavg = 1/1求和(tl. . . tl),最长连接时间tmax = 1/1求最大(tl. · · tl),最短连接时间tmin = 1/1求最小(tl. · · tl),丢失率lost = 100% -s,进入第十一步;其中,1为当前数据队列长度,tl. . . tl为1个测试结果的测试时间。
6.如权利要求2所述的电力远动网络中频率可变的节点通信状态监视方法,其特征是,所述第九步中,如果稳定状态的地址收到一个与当前状态不同的测试结果,将该地址标为不稳定状态,清空结果队列,每隔NXT2时间测试一次,连续测试K2次,在NXT2XK2时间后可判定是否应恢复稳定状态或确认通信状态改变,并报告结果,滤除干扰。
7.如权利要求2所述的电力远动网络中频率可变的节点通信状态监视方法,其特征是,对于处于稳定通信状态的网络地址,每隔NXTl时间测试一次并报告结果,测试样本空间为NXT1XK1 ;对于长时间处于异常、不稳定状态的地址,使用NXT3间隔进行测试和报告;程序最多同时开启1+Q/T1+Q/T2+Q/T3个线程同时工作,一个线程进行工作时,计时器仍可以根据判断启动其他线程同时工作。
全文摘要
本发明公开了一种电力远动网络中频率可变的节点通信状态监视方法,能够提高网络通信状态判断精度,减少系统测试资源消耗。进行数据设置,启动计时器;根据监视参数判断计时器是否应触发测试;建立不影响主程序的独立子线程用于测试;发送测试包,接收结果并在队列中存储测试结果;判断结果是否过多并丢弃多余的测试结果;根据最后一个结果判断连接状态并修改连接状态和监视参数;计算相关测试参数;判断队列中的结果是否足够,否则结束本次测试,是则修改当前网络状态和监视参数,并给出本次测试的结果报告。
文档编号H04L12/26GK102571501SQ20121003674
公开日2012年7月11日 申请日期2012年2月18日 优先权日2012年2月18日
发明者冯燕, 刘希峰, 刘矞, 宋娜, 崔好, 张文娟, 张进, 徐征, 李菁竹, 李颖, 李颖慧, 潘向华, 王彦博, 王雪丽, 白英伟, 石璐, 闫超, 韩委, 韩振峰 申请人:山东电力集团公司超高压公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1