CN112737953B - 针对电网广域相位测量系统可靠通信的弹性路由生成系统 - Google Patents

针对电网广域相位测量系统可靠通信的弹性路由生成系统 Download PDF

Info

Publication number
CN112737953B
CN112737953B CN202110344405.7A CN202110344405A CN112737953B CN 112737953 B CN112737953 B CN 112737953B CN 202110344405 A CN202110344405 A CN 202110344405A CN 112737953 B CN112737953 B CN 112737953B
Authority
CN
China
Prior art keywords
router
path
current
delay
prev
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.)
Active
Application number
CN202110344405.7A
Other languages
English (en)
Other versions
CN112737953A (zh
Inventor
周伯阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202110344405.7A priority Critical patent/CN112737953B/zh
Publication of CN112737953A publication Critical patent/CN112737953A/zh
Application granted granted Critical
Publication of CN112737953B publication Critical patent/CN112737953B/zh
Priority to PCT/CN2021/129961 priority patent/WO2022205925A1/zh
Priority to US17/741,379 priority patent/US20220329073A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J3/00Circuit arrangements for ac mains or ac distribution networks
    • H02J3/007Arrangements for selectively connecting the load or loads to one or several among a plurality of power lines or power sources
    • H02J3/0073Arrangements for selectively connecting the load or loads to one or several among a plurality of power lines or power sources for providing alternative feeding paths between load and source when the main path fails, e.g. transformers, busbars
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J3/00Circuit arrangements for ac mains or ac distribution networks
    • H02J3/24Arrangements for preventing or reducing oscillations of power in networks
    • H02J3/242Arrangements for preventing or reducing oscillations of power in networks using phasor measuring units [PMU]
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J13/00Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network
    • H02J13/00006Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network characterised by information or instructions transport means between the monitoring, controlling or managing units and monitored, controlled or operated power network element or electrical equipment
    • H02J13/00022Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network characterised by information or instructions transport means between the monitoring, controlling or managing units and monitored, controlled or operated power network element or electrical equipment using wireless data transmission
    • H02J13/00026Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network characterised by information or instructions transport means between the monitoring, controlling or managing units and monitored, controlled or operated power network element or electrical equipment using wireless data transmission involving a local wireless network, e.g. Wi-Fi, ZigBee or Bluetooth
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J3/00Circuit arrangements for ac mains or ac distribution networks
    • H02J3/003Load forecast, e.g. methods or systems for forecasting future load demand
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J3/00Circuit arrangements for ac mains or ac distribution networks
    • H02J3/12Circuit arrangements for ac mains or ac distribution networks for adjusting voltage in ac networks by changing a characteristic of the network load
    • H02J3/14Circuit arrangements for ac mains or ac distribution networks for adjusting voltage in ac networks by changing a characteristic of the network load by switching loads on to, or off from, network, e.g. progressively balanced loading
    • H02J3/144Demand-response operation of the power transmission or distribution network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种针对电网广域相位测量系统可靠通信的弹性路由生成系统。命名数据网络是目前改进输变电网和配电网中广域相位测量单元和广域相位测量集中器之间通信可靠性的新兴网络体系结构,当前路由器中的丢失数据包可直接从弹性路由的上游路由器中进行恢复,最优RR选择会最大化丢失数据包重传的成功率,从而最大化网络的可靠性。本发明充分利用电网的网状网和环网结构,给出弹性路由生成系统,每个通信对的弹性路由包括相应的主路径及多条冗余子路径,最大化丢失数据包重传的成功率以及网络可靠性;可广泛应用于基于NDN的电网广域相位测量通信系统中,为路由器生成弹性路由,保障电网安全稳定运行。

Description

针对电网广域相位测量系统可靠通信的弹性路由生成系统
技术领域
本发明属于电力系统通信技术领域,尤其涉及一种针对电网广域相位测量系统可靠通信的弹性路由生成系统。
背景技术
在现代电网中,广域相位测量单元(Phasor Measurement Unit,PMU)广泛部署于变电站和配电网中,PMU将采集到的线路和变压器相位等信息通过广域网传输到广域相位测量集中器(Phasor Measurement Concentrator,PDC)上。然而,广域网可能受到网络拥塞、链路故障等安全影响,存在着潜在的数据包丢失问题;而采用传输控制协议(Transmission Control Protocol,TCP)的方式解决该问题,发送端对于丢失数据包猜测以及端到端的数据包重传会导致数据包达到间隔时间急剧增加,同时链路故障会造成TCP连接中断。
目前,命名数据网络(Named Data Networking,NDN)作为一个新兴的网络体系结构,已被现有研究工作验证可改进上述广域相位测量系统的通信可靠性,当一个数据包在一个NDN路由器上进行转发时,该路由器会将该数据包缓存到其本地内容存储(ContentStorage,CS)中。当某个NDN路由器的上游链路发生故障时,因链路故障而丢失的数据包存储在上游路由器的内容缓存中,这种数据包的冗余性使得丢失数据包可直接从上游路由器中进行恢复,避免链路切换造成的数据包丢失问题。上述从PMU到PDC发送的测量数据路由路径成为主路径(Primary Path,PP)。实现数据包丢失快速重传的关键是在PP上构建从当前路由器及其上游路由器之间构建冗余子路径(Redundant Sub-Path,RSP)。上述的PP和RSP统称为弹性路由(Resilient Routes,RR),最优RR选择会最大化丢失数据包重传的成功率,从而最大化网络的可靠性。正常情况下,PMU向PDC发送数据的路由为主路径,当数据包丢失时,NDN路由器可沿着冗余子路径请求其上游路由器(缓存了该数据包)重新发送丢失的数据包,确保电网控制的安全运行。然而,针对电网广域相位测量通信网络的网状网和环网结构,目前关于RR的生成方法尚未相关的研究工作,没有充分利用网络自身冗余性。
发明内容
本发明的目的在于针对现有技术的不足,以发明专利202110144836.9为背景,提供一种针对电网广域相位测量系统可靠通信的弹性路由生成系统。
本发明的目的是通过以下技术方案来实现的:一种针对电网广域相位测量系统可靠通信的弹性路由生成系统,主要由RR向量生成模块、RR通信对生成模块和RSP路径生成模块构成;弹性路由生成系统的输入包括网络拓扑G、RR配置、当前路由器rj和目的路由器rk,输出为Υ={pprim,X};其中,pprim为从当前路由器到达目的路由器的主路径,X为pprim中路由器与以其为起点的冗余子路径的集合的映射;所述RR配置包括最大重传次数η、偏离系数α、单个路由器的最大冗余子路径数量β、端到端的最大容许延迟D;所述偏离系数α为每个路由器节点上数据包到达时的最大排队时间和最大处理时间之和;所述网络拓扑G=(R,L0),其中,R是NDN路由器的集合,L0是链路的集合;
所述RR向量生成模块根据输入的网络拓扑、RR配置和当前路由器,得到中间计算结果并和网络拓扑、最大重传次数、偏离系数一起发送给RR通信对生成模块获得冗余子路径的预选路径p,最后生成当前路由器对应的RR向量(prev1,X0);其中,prev1用于的网络中每个路由器的前一跳路由器;所述中间计算结果包括源路由器节点rv、目的路由器节点集合X’、被排除无效链路集合
Figure GDA0003089205170000021
尽可能被排除无效链路集合
Figure GDA0003089205170000022
当前链路最大延迟
Figure GDA0003089205170000023
当前主路径的总延迟τprim和最大允许重传延迟τretrans max
所述RSP路径生成模块根据RR向量生成模块提供的网络拓扑、最大重传次数、偏离系数和中间计算结果,生成源路由器节点达到目的路由器节点集合中所有节点的一个最大非交叠路径,作为预选路径p;
所述RR通信对生成模块根据输入的RR配置、当前路由器、目的路由器和RR向量生成模块生成的RR向量,输出Υ,生成弹性路由。
进一步地,所述RR向量生成模块具体为:
(a1)将网络中的路由器都添加到堆q1中;遍历堆q1中的路由器,每次取出当前堆q1中当前最小丢包率L最小的路由器ru
(a2)针对步骤(a1)提取的ru的输出链路luv,得到luv上与ru对端的路由器rv;遍历与ru对端的路由器rv,根据prev1搜索得到所有从rj到ru的路径序列,并将rv作为ru下一路径节点,得到当前主路径;其中,每个主路径的总延迟τprim不能超过端到端的最大容许延迟D,其中prev1记录每个路由器的前一跳路由器;
(a3)针对每个主路径,调用RSP路径生成模块得到以rv为起点的冗余子路径集合Prsp;其中,Prsp中的冗余子路径不超过β个且尽量不交叠;增加冗余子路径后应使rv的当前最小丢包率变小;
(a4)最终得到更新后的prev1和符合要求的路由器与以其为起点的冗余子路径集合的映射X0,构成RR向量。
进一步地,所述RSP路径生成模块具体为:
(b1)在网络中添加一个虚假路由器rvir,令rvir双向连接到X'中的每个点rv,s,连接延迟和丢包率均为0;将当前网络中的路由器都推入堆q2中;遍历堆q2中的路由器,每次从当前堆q2中取出ψ'值最小的路由器rw
(b2)遍历步骤(b1)提取的rw的输出链路lwx及对端节点rx;以可靠率对数值应尽可能大为条件,从中选取冗余子路径链路及节点;其中,冗余子路径不能经过主路径中的链路,选取的冗余子路径链路不能使节点的重传延迟超过最大允许重传延迟;选取的冗余子路径链路应使节点的可靠率对数值变大;当某链路被重复考虑作为冗余子路径链路时,通过令该链路的可靠率对数值最小,尽可能避免冗余子路径交叠;
(b3)prev2根据步骤(b2)选取冗余子路径链路及节点记录前一跳路由器,根据prev2搜索得到从rv到rvir的路由器序列,rv通过rvir可以到达X'中的任意节点;然后剔除rvir得到预选路径p;
(b4)最后将预选路径p及在η次重传情况下的冗余子路径丢包率∈data和重传超时时间θr(p)反馈给RR向量生成模块。
进一步地,所述RR通信对生成模块具体为:根据RR向量生成模块输出的prev1搜索得到从rj到rk的主路径,并从映射X0获取主路径路由器及以其为起点的冗余子路径集合的映射,得到系统的输出Y。
进一步地,所述RR向量生成模块具体为:
(1.1)初始化五个哈希函数:L[ri]为ri的当前最小丢包率,ψ[ri]为ri的RR丢包率,φ[ri]为考虑多条重传路径时主路径中ri的上游路由器到ri的丢包率最大估计值,Tprim[ri]为ri的主路径延迟,T[ri]表示ri的RR延迟;其中ri是R中第i个路由器,i=1~n;
(1.2)在初始条件下,L=[1.0]1×n,ψ=[1.0]1×n,φ=[0]1×n,Tprim=[0]1×n,T=[0]1×n;再令L[rj]=0,ψ[rj]=1,φ[rj]=0,Tprim[rj]=0,T[rj]=0;
(1.3)初始化哈希函数:Prsp(ri)为以ri为起点的冗余子路径的集合,X0为当前主路径上ri与以其为起点的冗余子路径的集合Prsp(ri)的映射;
(1.4)创建斐波那契堆q1实现路由器的排序,将ri∈R都添加到堆q1中,根据L[ri]的值从小到大排序;同时,创建向量prev1[ri]记录ri的前一跳路由器,初始化为prev1=[-1]1×n
(1.5)提取当前堆q1中的第一个路由器ru
(1.6)针对步骤(1.5)提取的ru的输出链路luv,得到luv上与ru对端的路由器rv
(1.7)如果步骤(1.6)得到的rv不在当前堆q1中,则跳转到步骤(1.6)计算下一输出链路对应的rv,直到遍历ru的所有输出链路luv,跳到步骤(1.17);
(1.8)计算当前主路径的链路最大延迟
Figure GDA0003089205170000031
Figure GDA0003089205170000032
其中,τ(ru,rv)表示从ru到rv的总延迟,总延迟为传输延迟、处理延迟和排队延迟之和;τtrans(ru,rv)表示从ru到rv的传输延迟;
(1.9)计算当前主路径的总延迟τprim
τprim=Tprim[ru]+τ(ru,rv)
计算在当前的主路径选择下,最大允许重传延迟τretrans max
τretrans max=D-T[ru]-τprim
(1.10)如果τprim≥D,则跳转至步骤(1.6)计算另一条输出链路对应的rv,直到遍历ru的所有输出链路luv,跳到步骤(1.17);
(1.11)以ru为目标路由器,根据prev1重复搜索上一跳路由器直到prev1[rj]=-1,得到从rj到ru的路由器序列X’;定义
Figure GDA0003089205170000041
为路由器序列X’中所有链路的集合;
(1.12)令istep=0用于计步,初始化集合
Figure GDA0003089205170000042
循环执行如下子步骤:
(1.12.1)如果istep≥β,则终止循环,执行步骤(1.13);
(1.12.2)调用RSP路径生成模块,将当前的G、rv、X’、
Figure GDA0003089205170000043
η、α、
Figure GDA0003089205170000044
τprim、τretrans max作为参数传递给RSP路径生成模块,获得RSP路径生成模块反馈的预选路径p;
(1.12.3)如果步骤(1.12.2)得到的p为空或者属于当前的冗余子路径集合Prsp,则终止循环,执行步骤(1.13);
(1.12.4)将步骤(1.12.2)得到的p添加到Prsp中;
(1.12.5)如果istep<β-1,则将步骤(1.12.2)得到的p中的所有链路添加到集合
Figure GDA0003089205170000046
中;
(1.12.6)令istep=istep+1,跳到步骤(1.12.1)进入下一循环;
(1.13)计算rv作为下一个路径节点时的当前最小丢包率L’:
Figure GDA0003089205170000045
L’=φ0·ψ[ru]+L[ru]
其中,∈(ru,rv)表示从ru到rv的丢包率,∈data(p)是预选路径p的丢包率;
(1.14)如果L’≥L[rv],则跳到步骤(1.5),直到遍历堆q1中的路由器,执行步骤(1.18);
(1.15)更新以下参数:
T[rv]=T[ru]+τ(ru,rv)+τ(ru,rv)·(1+α)+θr(p’)·(η-1)+τd(p’)
L[rv]=L’
φ[rv]=φ0
ψ[rv]=ψ[ru]·(1-φ[ru])
Tprim[rv]=τprim
prev1[rv]=ru
其中,p’表示集合Prsp中重传超时时间最小的预选路径,θr(p’)表示p’的重传超时时间,τd(p’)表示p’的下行总延迟;
(1.16)更新堆q1中路由器rv对应的键值L[rv],令X0[rv]=Prsp;然后跳转至步骤(1.6)计算另一条输出链路对应的rv,直到遍历ru的所有输出链路luv
(1.17)跳到步骤(1.5),直到遍历堆q1中的路由器,执行步骤(1.18);
(1.18)将计算结果(prev1,X0)存放在RR向量中。
进一步地,所述RSP路径生成模块具体为:
(2.1)在网络中添加一个虚假路由器rvir,令rvir双向连接到X'中的每个点rv,s,连接延迟和丢包率均为0,当前网络中路由器的数量n’=n+1;
(2.2)创建ψ'和φ'向量,ψ'表示在考虑尽可能排除
Figure GDA0003089205170000052
条件下当前冗余子路径的数据包传输成功率对数值,φ'表示当前真实情况下的冗余子路径的数据包传输成功率对数值;创建哈希表τup和τdown分别记录各路由器节点上游和下游路径的转发延迟;创建哈希表θretrans记录各路由器节点的重传超时时间;初始化如下:
ψ'=[-∞]1×n’
φ'=[-∞]1×n’
τup={}
τdown={}
θretrans=[0]1×n’
(2.3)初始化rv对应的τup、τdown、φ'、ψ',并创建向量prev2记录前一跳路由器:
φ'[rv]=0
ψ'[rv]=0
τup[rv]=0
τdown[rv]=0
prev2=[-1]1×n’
计算当前网络中的最小链路可靠率对数值∈expell
Figure GDA0003089205170000051
其中,L0包括步骤(2.1)新加入的链路l=(rv,s,rvir),lz是L0中第z个链路;∈(lz)表示路径lz的丢包率,C为大于1的常量;
(2.4)创建斐波那契堆q2实现路由器的排序,将当前网络的路由器集合R中的每个元素推入到堆q2中;根据ψ'[ri]的值从小到大排序;
(2.5)如果当前堆q2中路由器的个数|q2|≤0,则跳转至步骤(2.12);
(2.6)从当前堆q2中取出第一个路由器rw
(2.7)获得rw的出口链路lwx上的对端节点rx;如果
Figure GDA0003089205170000061
或者rx不属于当前堆q2,则跳到步骤(2.6)直接进入下一个循环;
(2.8)计算当前冗余子路径的上行延迟τup’和下行延迟τdown’:
τup’=τ(rw,rx)+τup[rw]
τdown’=τ(rx,rw)+τdown[rw]
计算当前的路由器节点重传超时时间θretrans’:
θretrans’=θretrans[rw]+(τqueue(lwx)+τprocess(lwx))×α+τtrans(lwx)
其中,τqueue(lwx)、τprocess(lwx)分别表示rw到rx的排队延迟和处理延迟;
计算当前的路由器节点的重传延迟τretrans’:
τretrans’=τl maxprimretrans’×(η-1)+τdown
如果τretrans’>τretrans max,则跳转至步骤(2.6),直到遍历堆q2中的路由器;
(2.9)计算真实情况下,从rw到rx的真实可靠率对数值ψ1
ψ1=log((1-∈(rw,rx))(1-∈(rx,rw)))
(2.10)计算尽可能排除
Figure GDA0003089205170000062
时,从rw到rx的转换可靠率对数值
Figure GDA0003089205170000063
Figure GDA0003089205170000064
其中,如果
Figure GDA0003089205170000065
Figure GDA0003089205170000066
否则
Figure GDA0003089205170000067
(2.11)如果
Figure GDA0003089205170000068
则:
prev2[rx]=rw
Figure GDA0003089205170000069
ψ'[rx]=ψ1+ψ'[rw]
然后,将堆q2中rx根据其对应的键值ψ'[rx]更新堆;并更新τup[rx]和τdown[rx]:
τup[rx]=τ(rw,rx)+τup[rw]
τdown[rx]=τ(rx,rw)+τdown[rw]
如果
Figure GDA00030892051700000610
则跳到步骤(2.6),直到遍历堆q2中的路由器,执行步骤(2.12);
(2.12)以rvir为目标路由器,根据prev2重复搜索上一跳路由器,直到prev2[rv]=-1,得到从rv到rvir的路由器序列(rv,…,rvir);然后剔除rvir得到预选路径p;
(2.13)计算rv到达rvir的在η次重传情况下的冗余子路径丢包率∈data和重传超时时间θr(p):
Figure GDA00030892051700000611
data(p)=∈one-way η
θr(p)=α·(τup[rvir]+τdown[rvir])
其中,∈one-way表示rv到达rvir的冗余子路径的单程丢包率;
(2.14)将rvir从G中剔除;
(2.15)将(p,∈data(p),θr(p))反馈给RR向量生成模块。
进一步地,所述RR通信对生成模块具体为:
(3.1)以rk为目标路由器,从RR向量生成模块输出的RR向量的prev1中,重复搜索上一跳路由器直到prev1[rj]=-1,得到从rj到rk路由器序列为主路径pprim
(3.2)创建哈希表X={},针对步骤(3.1)得到的pprim中的每一个路由器rp,从RR向量生成模块输出的RR向量的X0中获取rp对应的Prsp(rp),将每次获得的Prsp(rp)放入X中;
(3.3)输出Υ={pprim,X}。
本发明的有益效果是:本发明充分利用电网的网状网和环网结构,给出弹性路由(RR)生成系统,每个通信对的弹性路由包括相应的主路径及多条冗余子路径,当前路由器中的丢失数据包可直接从弹性路由的上游路由器中进行恢复,最优RR选择会最大化丢失数据包重传的成功率,从而最大化网络可靠性;本发明可广泛应用于基于NDN的电网广域相位测量通信系统中,为路由器生成弹性路由,保障电网安全稳定运行。
附图说明
图1为弹性路由生成系统的架构图;
图2为本发明实施例中电网的通信网络拓扑图。
具体实施方式
本发明一种针对电网广域相位测量系统可靠通信的弹性路由生成系统,针对电网广域相位测量的业务特点,充分利用电网的网状网和环网结构,给出弹性路由(RR)生成系统,可部署于NDN路由器中,该系统基于NDN所提供的网络拓扑,可计算出RR,使得路由器可依据PP传递数据,如数据包丢失,路由器可通过RSP向其PP上的上游路由器请求重传丢失的数据包,实现数据包的恢复,最大化丢失数据包重传的成功率以及网络可靠性。
假定网络形式化定义为:
G=(R,L0)
R={r1,r2,…,rn}
L0={l1,l2,…,lm}
其中,R是NDN路由器的集合,ri是R中第i个路由器,i=1~n;广域相位测量单元PMU连接源路由器,广域相位测量集中器PDC连接目的路由器;L0是链路lz的集合,lz∈L0,z=1~m,m是当前网络中的链路数量。
图1给出了弹性路由生成系统的架构,主要由RR向量生成模块、RR通信对生成模块和RSP路径生成模块构成;RR向量为一个存储结构,用于存放中间计算结果。弹性路由生成系统的输入包括网络拓扑G、RR配置、当前路由器和目的路由器,输出为RR。其中,RR配置包括最大重传次数η、偏离系数α、单个路由器的最大冗余子路径数量β、端到端的最大容许延迟D;偏离系数α为每个路由器节点上数据包到达时的最大排队时间和最大处理时间之和。弹性路由RR定义为Υ:
Υ={pprim,X}
X={ri→Prsp(ri)|ri∈pprim}
其中,pprim为从当前路由器到达目的路由器的主路径,表示为主路径上路由器构成的序列;Prsp(ri)为端点始于ri∈pprim的RSP集合;X为所有ri∈pprim到达对应Prsp(ri)的映射,相当于X[ri]=Prsp(ri),ri∈pprim
一、RR向量生成模块
该模块根据网络拓扑、RR配置和当前路由器,生成当前路由器rj对应的RR向量。首先,将网络中的路由器都添加到堆q1中;遍历堆q1中的路由器,每次取出当前堆q1中当前最小丢包率L最小的路由器ru;然后,针对提取的ru的输出链路luv,得到luv上与ru对端的路由器rv;遍历与ru对端的路由器rv,根据prev1搜索得到所有从rj到ru的路径序列,并将rv作为ru下一路径节点,得到当前主路径;其中,每个主路径的总延迟τprim不能超过端到端的最大容许延迟D,其中prev1记录每个路由器的前一跳路由器;再针对每个主路径,调用RSP路径生成模块得到以rv为起点的冗余子路径集合Prsp;其中,Prsp中的冗余子路径不超过β个且尽量不交叠;增加冗余子路径后应使rv的当前最小丢包率变小;最终得到更新后的prev1和符合要求的路由器与以其为起点的冗余子路径集合的映射X0,构成RR向量。具体步骤如下:
(1.1)初始化五个哈希函数L、ψ、φ、Tprim和T,这些哈希函数的键值为对应的路由器,所映射的结果为某一个浮点数值。对于任意ri∈R,L[ri]表示路由器ri的当前最小丢包率,ψ[ri]为路由器ri的RR丢包率,φ[ri]为在考虑多条重传路径情况下主路径中上游路由器到路由器ri的丢包率最大估计值,Tprim[ri]表示路由器ri的主路径延迟,T[ri]表示路由器ri的RR延迟;其中T[ri]涵盖中间每个路由器的重传时间叠加值。
(1.2)在初始条件下,L=[1.0]1×n,ψ=[1.0]1×n,φ=[0]1×n,Tprim=[0]1×n,T=[0]1×n。[]1×n表示长度为n元素为[]中数字的向量。再令L[rj]=0,ψ[rj]=1,φ[rj]=0,Tprim[rj]=0,T[rj]=0。
(1.3)初始化哈希函数Prsp,其键值为某个路由器ri,所映射的结果为由RSP构成的路径集合,其中每条RSP的起点为ri,终点为非ri的某个路由器。
创建哈希函数X0表示从当前主路径上路由器ri到达对应以ri为起点的冗余子路径的集合Prsp(ri)的映射。
(1.4)创建标准的Fibonacci斐波那契堆q1实现路由器的排序,将集合R中所有路由器都添加到堆q1中,排序规则是将路由器根据L[ri]的值从小到大进行排序;同时,创建向量prev1[ri]记录ri的前一跳路由器,初始化为prev1=[-1]1×n
(1.5)提取当前堆q1中的第一个路由器ru;当堆q1为空时,表示已经遍历了堆q1中所有路由器,跳转到步骤(1.18)。
(1.6)针对步骤(1.5)提取的ru的每一条输出链路luv,计算出输出链路luv上与ru对端的路由器rv。执行步骤(1.7)~(1.16)的迭代过程,直到遍历ru的所有链路luv,迭代结束,跳到步骤(1.17)。
(1.7)如果步骤(1.6)计算的rv不在堆q1中,则跳转到步骤(1.6)计算下一条链路对应的rv
(1.8)计算当前主路径的链路最大延迟
Figure GDA0003089205170000091
计算方法如下:
Figure GDA0003089205170000092
其中,τ(ru,rv)表示从ru到rv的总延迟,即传输延迟、处理延迟和排队延迟之和;τtrans(ru,rv)表示从ru到rv的传输延迟。
(1.9)计算当前主路径的总延迟τprim
τprim=Tprim[ru]+τ(ru,rv)
其中,Tprim[ru]表示路由器ru的主路径延迟。
计算在当前的主路径选择下,最大允许重传延迟τretrans max
τretrans max=D-T[ru]-τprim
其中,D为端到端的最大容许延迟。
(1.10)如果τprim≥D,则跳转至步骤(1.6)计算另一条链路对应的rv
(1.11)以ru为目标路由器,根据prev1重复搜索上一次搜索结果的上一跳路由器,得到从rj到ru的路由器序列X’,具体为:
创建序列X’,根据prev1得到ru的上一跳路由器prev1[ru],添加进序列X’=(prev1[ru])中;再从prev1找到prev1[ru]的上一跳路由器prev1[prev1[ru]],添加进当前序列并放在首位X’=(prev1[prev1[ru]],prev1[ru]);重复根据prev1查找上一跳路由器添加进当前序列X’并放在首位的操作,直到得到的上一跳路由器prev1[rj]为-1,停止循环操作且-1不放进序列X’;将目标路由器ru添加进当前序列X’并放在末位,X’=(rj,…,ru)。
定义
Figure GDA0003089205170000093
为序列X’对应的当前主路径中所有链路的集合。
(1.12)令变量Prsp=(),用于记录生成的RSP。令istep=0用于计步,
Figure GDA0003089205170000094
为尽可能被排除的链路集合,循环执行如下步骤:
(1.12.1)如果istep≥β,则终止循环,执行步骤(1.13)。
(1.12.2)调用RSP路径生成模块,将当前的G、rv、X’、
Figure GDA0003089205170000101
η、α、
Figure GDA0003089205170000102
τprim、τretrans max作为参数传递给RSP路径生成模块,获得对应的预选路径p。
(1.12.3)如果步骤(1.12.2)生成的p为空或者属于当前的RSP集合Prsp,则终止循环,执行步骤(1.13)。
(1.12.4)将步骤(1.12.2)生成的p添加到集合Prsp中。
(1.12.5)如果istep<β-1,则将步骤(1.12.2)生成的p中的所有链路添加到集合
Figure GDA0003089205170000104
中。
(1.12.6)令istep=istep+1,跳到步骤(1.12.1)进入下一循环。
(1.13)计算:
Figure GDA0003089205170000103
L’=φ0·ψ[ru]+L[ru]
其中,φ0是中间变量,∈(ru,rv)表示从ru到rv的单条链路丢包率;∈data(p)是η次重传条件下p的丢包率;L’表示选择rv作为下一个路径节点情况下的当前最小丢包率,ψ[ru]为路由器ru的RR丢包率,L(ru)为路由器ru的当前最小丢包率。
(1.14)如果L’≥L[rv],则跳到步骤(1.5)提取下一个路由器ru;否则继续执行步骤(1.15);其中,L[rv]为路由器rv的当前最小丢包率。
(1.15)更新以下参数:
T[rv]=T[ru]+τ(ru,rv)+τ(ru,rv)·(1+α)+θr(p’)·(η-1)+τd(p’)
L[rv]=L’
φ[rv]=φ0
ψ[rv]=ψ[ru]·(1-φ[ru])
Tprim[rv]=τprim
prev1[rv]=ru
其中,p’表示集合Prsp中重传超时时间最小的预选路径,θr(p’)表示p’的重传超时时间,τd(p’)表示p’的下行总延迟;ψ[rv]为路由器rv的RR丢包率;Tprim[rv]表示路由器rv的主路径延迟;prev1[rv]是rv的上一跳路由器。
(1.16)根据Fibonacci堆的标准键值更新操作,在堆q1中更新路由器rv对应的键值L[rv],令X0[rv]=Prsp,代表起点为rv所对应的RSP集合为Prsp。然后跳转至步骤(1.6)计算另一条链路对应的rv
(1.17)跳到步骤(1.5),直到遍历堆q1中的路由器,循环结束,执行步骤(1.18)。
(1.18)将计算结果(prev1,X0)赋值到系统的RR向量中。
二、RSP路径生成模块
该模块根据G、rv、X'、
Figure GDA0003089205170000111
η、α、
Figure GDA0003089205170000112
τprim、τretrans max,生成从路由器rv达到X’中所有节点的一个最大非交叠路径,其中
Figure GDA0003089205170000113
是一个由被排除无效链路构成的集合,
Figure GDA0003089205170000114
是从网络拓扑G尽可能被排除掉链路构成的集合。首先,在网络中添加一个虚假路由器rvir,令rvir双向连接到X'中的每个点rv,s,连接延迟和丢包率均为0;将当前网络中的路由器都推入堆q2中;遍历堆q2中的路由器,每次从当前堆q2中取出ψ'值最小的路由器rw;然后,遍历提取的rw的输出链路lwx及对端节点rx;以可靠率对数值应尽可能大为条件,从中选取冗余子路径链路及节点;其中,冗余子路径不能经过主路径中的链路,选取的冗余子路径链路不能使节点的重传延迟超过最大允许重传延迟;选取的冗余子路径链路应使节点的可靠率对数值变大;当某链路被重复考虑作为冗余子路径链路时,通过令该链路的可靠率对数值最小,尽可能避免冗余子路径交叠;令prev2根据选取冗余子路径链路及节点记录前一跳路由器,再根据prev2搜索得到从rv到rvir的路由器序列,rv通过rvir可以到达X'中的任意节点;然后剔除rvir得到预选路径p;最后将预选路径p及在η次重传情况下的冗余子路径丢包率∈data和重传超时时间θr(p)反馈给RR向量生成模块。生成步骤如下:
(2.1)在G中添加一个虚假路由器rvir,该虚假路由器双向连接到X'中的每个点rv,s,连接延迟和丢包率均为0,添加方式如下:
G=G∪{l=(rv,s,rvir)|rv,s∈X'}
n’=|R|+1
其中,rv,s代表路由器rvir的第s个RSP路径的对端路由器;n’表示当前网络中路由器的数量,||表示取模,|R|表示路由器个数。
(2.2)创建ψ'和φ'向量,并将其数值初始化为负无穷,ψ'表示在考虑尽可能排除
Figure GDA0003089205170000115
条件下当前RSP所对应的数据包传输成功率的对数值,其中被排除的链路错误率会增加到∈expell;φ'表示当前真实情况下的RSP所对应的数据包传输成功率的对数值;创建两个哈希表τup和τdown分别记录各路由器节点上游和下游路径的转发延迟;创建各路由器节点的重传超时时间哈希表θretrans,分别如下:
ψ'=[-∞]1×n’
φ'=[-∞]1×n’
τup={}
τdown={}
θretrans=[0]1×n’
(2.3)路由器rv对应τup、τdown、φ'、ψ'的数值初始化为0,创建prev2向量记录前一跳路由器。∈expell是出现在当前网络G中L0的最小链路可靠率对数值:
φ'[rv]=0
ψ'[rv]=0
τup[rv]=0
τdown[rv]=0
prev2=[-1]1×n’
Figure GDA0003089205170000121
其中,∈(lz)表示路径lz的丢包率,C为大于1的常量;此时,L0包括步骤(2.1)新加入的链路l。
(2.4)将q2初始化为一个标准的Fibonacci堆,堆的键值为ψ'中的数值。然后,将当前网络的路由器集合R中的每个元素推入到堆q2中;将堆q2中的路由器根据ψ'值从小到大进行排序。初始时ψ'[rv]=0是最小的。
(2.5)如果当前堆中路由器的个数|q2|≤0,则跳转至步骤(2.12)。
(2.6)从当前堆q2中取出第一个路由器rw。对于rw的每个出口链路lwx,循环执行步骤(2.7)到(2.11)。
(2.7)获得链路lwx上rw的对端节点rx。如果
Figure GDA0003089205170000122
或者rx不在堆q2中,则跳到步骤(2.6)直接进入下一个循环。
(2.8)首先计算当前RSP的上行延迟τup’和下行延迟τdown’,具体如下:
τup’=τ(rw,rx)+τup[rw]
τdown’=τ(rx,rw)+τdown[rw]
其中,τ(rw,rx)表示rw到rx的总延迟,即传输延迟、处理延迟和排队延迟之和。
然后计算当前的路由器节点重传超时时间θretrans’:
θretrans’=θretrans[rw]+(τqueue(lwx)+τprocess(lwx))×α+τtrans(lwx)
其中,τqueue(lwx)、τprocess(lwx)分别表示rw到rx的排队延迟和处理延迟。
最后计算当前的路由器节点的重传延迟τretrans’;如果τretrans’>τretrans max,则跳转至步骤(2.6),直到遍历堆q2中的路由器:
τretrans’=τl maxprimretrans’×(η-1)+τdown
(2.9)计算真实情况下,从rw到rx的真实可靠率对数值ψ1
ψ1=log((1-∈(rw,rx))(1-∈(rx,rw)))
(2.10)计算尽可能排除
Figure GDA0003089205170000123
时,从rw到rx的转换可靠率对数值
Figure GDA0003089205170000124
Figure GDA0003089205170000125
其中,如果
Figure GDA0003089205170000126
Figure GDA0003089205170000127
否则
Figure GDA0003089205170000128
(2.11)如果
Figure GDA0003089205170000129
则:
prev2[rx]=rw
Figure GDA0003089205170000131
ψ'[rx]=ψ1+ψ'[rw]
然后,将堆q2中rx根据其对应的键值ψ'[rx]更新堆。并更新τup[rx]和τdown[rx]:
τup[rx]=τ(rw,rx)+τup[rw]
τdown[rx]=τ(rx,rw)+τdown[rw]
其中,τ(rw,rx)表示从rw到rx的总延迟。下一次执行步骤(2.6)时提取的rw是这里的rx
如果
Figure GDA0003089205170000132
则跳到步骤(2.6),直到遍历堆q2中的路由器,执行步骤(2.12);
(2.12)从prev2中提取出从rv到达rvir节点的路径,得到由路由器序列构成的预选路径p,具体为:
创建序列p,以rvir为目标节点,根据prev2得到rvir的上一跳路由器prev2[rvir],添加进序列p=(prev2[rvir])中;再从prev2找到prev2[rvir]的上一跳路由器prev2[prev2[rvir]],添加进当前序列并放在首位p=(prev2[prev2[rvir]],prev2[rvir]);重复根据prev2查找上一跳路由器添加进当前序列p并放在首位的操作,直到得到的上一跳路由器为prev1[rv]为-1,停止循环操作,得到p=(rv,…,rvir)。
然后将rvir从p中清除掉。
(2.13)计算:
Figure GDA0003089205170000133
data(p)=∈one-way η
θr(p)=α·(τup[rvir]+τdown[rvir])
其中,∈one-way表示rv到达rvir的RSP的单程丢包率,∈data(p)表示rv到达rvir的在η次重传情况下的RSP丢包率,θr(p)表示rv到rvir的重传超时时间。
(2.14)将rvir从G中去除掉。
(2.15)将所计算出的prsp=(p,∈data(p),θr(p))返回给调用者RR向量生成模块。
三、RR通信对生成模块
该模块根据RR向量、RR配置、当前路由器、目的路由器生成弹性路由RR。首先根据RR向量生成模块输出的prev1搜索得到从rj到rk的主路径,并从映射X0获取主路径路由器及以其为起点的冗余子路径集合的映射,得到系统的输出Y。步骤如下:
(3.1)从RR向量的prev1中提取出源路由器rj到目的路由器rk之间的主路径pprim,提取方法为:
创建序列pprim,以rk为目标路由器,根据prev1得到rk的上一跳路由器prev1[rk],添加进序列pprim=(prev1[rk])中;再从prev1找到prev1[rk]的上一跳路由器prev1[prev1[rk]],添加进当前序列并放在首位pprim=(prev1[prev1[rk]],prev1[rk]);重复根据prev1查找上一跳路由器添加进当前序列pprim并放在首位的操作,直到得到的上一跳路由器prev1[rj]为-1,停止循环操作且-1不放进序列pprim;将目标路由器rk添加进当前序列pprim并放在末位,pprim=(rj,…,rk)。
(3.2)根据本模块的输入RR向量(prev1,X0),以及步骤(3.1)计算出的pprim,计算本模块的执行结果Y,即所求rj到达rk的RR路径,计算方法如下:
首先创建一个空的哈希表记作X={};针对pprim中的每一个路由器rp,从X0中获取rp对应的Prsp(rp),X=X∪{rp→Prsp(rp)|rp∈pprim};最后得到Υ=(pprim,X)。
(3.3)将Υ反馈给调用者。
本发明一种实施例的具体实施方案如下:
假设某电网的通信网络拓扑采用标准IEEE 14bus(母线)构建,图2给出了该网络的拓扑结构,假定某个PMU连接到r1上,PDC连接到r8上,该拓扑结构定义为G=(R,L0),n=14,m=19。在NDN路由器运行时,将路由器所提供的网络拓扑结构输入到弹性路由生成系统中,假定该拓扑中任意一条链路的延迟和丢包率分别为171μs和2%;RR配置参数如下:η=3、α=3、β=5,D=50ms;当前路由器为r1;目的路由器为r8,则RR的生成过程如下:
首先,“RR向量生成模块”根据上述的RR配置、当前路由器、目的路由器、G生成对应的RR向量,步骤如下:
一、RR向量生成模块
(1.1)初始化五个哈希函数L={}、ψ={}、φ={}、T={}和Tprim={};L=[1.0]1×n,ψ=[1.0]1×n,φ=[0]1×n,Tprim=[0]1×n,T=[0]1×n,然后令L(r1)=0,ψ(r1)=1,φ(r1)=0,Tprim(r1)=0,T(r1)=0。创建哈希函数X0={}。
(1.2)创建标准的Fibonacci堆记作q1,将R中所有路由器添加到q1中,q1按照每个路由器所对应的L数值对路由器进行排序,则q1=(r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14)。同时创建prev1=[-1]1×n
(1.3)从q1中提取对应∈中最小丢包率的路由器记作ru,ru=r1,由于ru不为空,则继续执行。
(1.4)对于ru的每一条链路luv,如(r1,r5),计算出其对端路由器r5,由于r5在q中,则计算出τl max=(τ(r1,r5)-τtrans(r1,r5))×α+τ(r1,r5)=(171-167)×3+171=179μs;计算出最大允许重传延迟τretrans max=D-T[r1]-τprim=49829μs,其中τprim=171μs。由于τprim≥D不成立,则继续执行。
(1.5)将prev1向量转换为r1到达r1的向量X’=(r1),因为prev1[r1]=-1。计算出
Figure GDA0003089205170000141
Figure GDA0003089205170000142
(1.6)令变量Prsp=(),istep=0,此时将G、rv、X’、
Figure GDA0003089205170000143
η、α、
Figure GDA0003089205170000144
τprim、τretrans max传递给RSP路径生成模块,获得预选路径p=(r2,r5,r1),由于p非空且不属于Prsp,则将prsp={(p=(r2,r5,r1),∈data(p)=0.0000621,τdown[rvir]=342us,θr(p)=716us)},由于istep=0<β-1=4,因此将p中的所有链路即{(r2,r5),(r5,r1)}添加到
Figure GDA0003089205170000151
Figure GDA0003089205170000152
之后istep=istep+1=1。继续重复该步骤,直到istep≥β时终止,这样得到Prsp={(r2,r5,r1),(r2,r4,r5,r1),(r2,r3,r4,r9,r14,r13,r6,r5,r1)}。
(1.7)计算
Figure GDA0003089205170000153
L’=φ0·ψ(r1)+L(r1)=(1.173292e-13)·1+0=1.173292e-13。
(1.8)因为L’<L(r2)=1.0,则计算
T(r2)=T(r1)+τ(r1,r2)+τ(r1,r2)·(1+α)+θr(p’)·(η-1)+τd(p’)=7617μs,L(r1)=1.173292e-13,φ(r2)=1.173292e-13,ψ(r2)=ψ(r1)·(1-φ(r1))=1,Tprim[r2]=171μs,prev1[r2]=r1
(1.9)在q1中更新r2对应的键值,将X0[r2]=Prsp
(1.10)对于r1的每一条链路,比照上述步骤(1.4)~(1.9)执行,计算出相关的运算结果,直到遍历ru的所有输出链路luv
(1.11)跳转至步骤(1.3)执行,计算出相关的运算结果,直到遍历堆q1中的路由器。
(1.12)最后计算出prev1=[-1,r1,r4,r5,r1,r5,r4,r7,r4,r11,r1,r6,r6,r6,r13],X0={r2→(r2,r5,r1),r3→(r3,r2,r1),r4→(r4,r2,r1),r5→(r5,r2,r1),r6→(r6,r11,r10,r9,r4,r5),r7→(r7,r9,r4),r9→(r9,r7,r4),r10→(r10,r9,r4,r5),r11→(r11,r10,r9,r4,r5),r12→(r12,r13,r6),r13→(r13,r12,r6),r14→(r14,r9,r4,r5)},并将(prev1,X0)赋值到本系统的RR向量中。
二、RSP路径生成模块
在上述RR向量生成模块的步骤(1.6)中,以该步骤的第一次执行为例,RSP路径生成模块的输入参数分别为:G、rv=r2、X’=(1)、
Figure GDA0003089205170000154
η=3、α=3、
Figure GDA0003089205170000155
τprim=171μs、τretrans max=49829μs,执行步骤如下:
(2.1)由于rv,s是X’中每一点,因而rvir连接到的是{r1}(如图2所示),相关的连接延迟和丢包率均为0,添加方式如下:G=G∪{l=(rv,s,rvir)|xs∈X'};同时计算n’=|R|+1=15。
(2.2)创建ψ’=[-∞]1×n’,φ’=[-∞]1×n’,τup={},τdown={}。
(2.3)因为rv=r2,所以φ’(r2)=0,ψ’(r2)=0,τup[r2]=0,τdown[r2]=0,prev2=[-1]1×n’,∈expell=-1.118815,其中C=3。
(2.4)q2初始化为一个标准的Fibonacci堆,堆的键值为ψ’中的数值。然后,将R中的每个元素推入到q2中,此时|q2|=15。
(2.5)由于此时|q2|=15>0,继续执行。
(2.6)从q2中拉出来一个元素记作rw。例如在第一次循环时,rw=r2,对于rw的每个出口链路lwx,循环执行步骤(2.7)到(2.11)直到|q|≤0为止。
(2.7)获得lwx上rw的对端节点rx,例如在第一次循环时,rx=r3,此时由于
Figure GDA0003089205170000161
并且r2包括在q2中,则继续执行。
(2.8)计算τup’、τdown’、θretrans’、τretrans’,例如在一次循环时,计算τup’=171μs,τdown’=171μs,θretrans’=358μs,τretrans’=1237μs。由于τretrans’≤τretrans max,则继续执行。
(2.9)计算ψ1,例如在第一次循环时,计算ψ1=log((1-∈(r2,r3))(1-∈(r2,r3)))=-0.0404054。
(2.10)计算
Figure GDA0003089205170000162
例如在第一次循环时,由于
Figure GDA0003089205170000163
Figure GDA0003089205170000164
计算
Figure GDA0003089205170000165
(2.11)计算prev2[rx]、φ’[rx]、ψ’[rx]、τup[rx]、τdown[rx]数值,因为
Figure GDA0003089205170000166
则prev2[r3]=r2,φ’[r3]=-0.0404054,ψ’[r3]=ψ1+ψ[r2]=-0.0404054,将q2中根据r3对应的键值更新堆。τup[r3]=τ(r2,r3)+τup[r2]=171μs,τdown[r3]=τ(r3,r2)+τdown[r2]=171μs。
(2.12)从prev2中提取出r2到达rvir节点的路径p=(r2,r5,r1)。
(2.13)计算∈one-way=0.077632,∈data(p)=0.0004679,θr(p)=α·(τup[rvir]+τdown[rvir])=716μs。
(2.14)将rvir从G中去除掉。
(2.15)计算出的结果prsp=(p=(r2,r5,r1),∈data(p)=0.0000621,τdown[rvir]=342μs,θr(p)=716μs)返回给调用者。
三、RR通信对生成模块
假定RR向量、RR配置与上述的RR向量生成模块输入相同,源路由器为rj=r1,目的路由器rk=r8,则RR生成步骤如下:
(3.1)从prev3中提取出r1到r8之间的路径,pprim=(r1,r5,r4,r7,r8)。
(3.2)计算得出r1到r8的RR路径Υ:
Υ=(pprim=(r1,r5,r4,r7,r8),X={{r5→{(r5,r2,r1),(r5,r4,r2,r1),(r5,r6,r11,r10,r9,r4,r3,r2,r1)},{r4→{(r4,r2,r1),(r4,r3,r2,r5),(r4,r9,r14,r13,r6,r5),(r4,r7,r9,r10,r11,r6,r5)}},{r7→{(r7,r9,r4),(r7,r9,r10,r11,r6,r5)}}})。
(3.3)此时Υ的最大数据交付延迟为τ[rk]=18937μs,满足最大延迟D=50ms的需求,将Υ反馈给调用者。

Claims (8)

1.一种针对电网广域相位测量系统可靠通信的弹性路由RR生成系统,其特征在于,包括弹性路由向量生成模块、RR通信对生成模块和RSP路径生成模块;弹性路由生成系统的输入包括网络拓扑、RR配置、当前路由器rj和目的路由器rk,输出为由rj到rk的弹性路由Υ,包括从rj到rk的主路径pprim和以主路径路由器为起点的冗余子路径集合与对应起点的映射X;所述RR配置包括最大重传次数η、偏离系数α、单个路由器的最大冗余子路径数量β、端到端的最大容许延迟D;所述偏离系数α为每个路由器节点上数据包到达时的最大排队时间和最大处理时间之和;所述网络拓扑G包括路由器集合R和链路集合L0
所述弹性路由向量生成模块根据输入的网络拓扑、RR配置和当前路由器,得到中间计算结果并和网络拓扑、最大重传次数、偏离系数一起发送给RR通信对生成模块获得冗余子路径的预选路径p,最后生成当前路由器对应的RR向量,包括记录前一跳路由器的序列prev1和符合要求的路由器与以其为起点的冗余子路径集合的映射X0;所述中间计算结果包括候选冗余子路径起点rv、路径序列X’、路径序列链路集合
Figure FDA0003089205160000011
历史生成的冗余子路径链路集合
Figure FDA0003089205160000012
当前主路径链路最大延迟
Figure FDA0003089205160000013
当前主路径总延迟τprim和当前主路径最大允许重传延迟τretrans max
所述RSP路径生成模块根据弹性路由向量生成模块提供的网络拓扑、最大重传次数、偏离系数和中间计算结果,生成源路由器节点达到目的路由器节点集合中所有节点的一个最大非交叠路径,作为预选路径p;
所述RR通信对生成模块根据输入的RR配置、当前路由器、目的路由器和弹性路由向量生成模块生成的RR向量,输出Υ,生成弹性路由,包括以下步骤:
(3.1)以rk为目标路由器,从弹性路由向量生成模块输出的RR向量的prev1中,重复搜索上一跳路由器直到prev1[rj]=-1,得到从rj到rk路由器序列为主路径pprim
(3.2)创建哈希表X={},针对步骤(3.1)得到的pprim中的每一个路由器rp,从弹性路由向量生成模块输出的RR向量的X0中获取rp对应的Prsp(rp),将每次获得的Prsp(rp)放入X中;
(3.3)输出Υ={pprim,X}。
2.如权利要求1所述针对电网广域相位测量系统可靠通信的弹性路由RR生成系统,其特征在于,所述弹性路由向量生成模块具体为:
(a1)将网络中的路由器都添加到堆q1中;遍历堆q1中的路由器,每次取出当前堆q1中当前最小丢包率L最小的路由器ru
(a2)针对步骤(a1)提取的ru的输出链路luv,得到luv上与ru对端的路由器rv;遍历与ru对端的路由器rv,根据prev1搜索得到所有从rj到ru的路径序列,并将rv作为ru下一路径节点,得到当前主路径;其中,每个主路径的总延迟τprim不能超过端到端的最大容许延迟D,其中prev1记录每个路由器的前一跳路由器;
(a3)针对每个主路径,调用RSP路径生成模块得到以rv为起点的冗余子路径集合Prsp;其中,Prsp中的冗余子路径不超过β个且尽量不交叠;增加冗余子路径后应使rv的当前最小丢包率变小;
(a4)最终得到更新后的prev1和符合要求的路由器与以其为起点的冗余子路径集合的映射X0,构成RR向量。
3.如权利要求2所述针对电网广域相位测量系统可靠通信的弹性路由RR生成系统,其特征在于,所述RSP路径生成模块具体为:
(b1)在网络中添加一个虚假路由器rvir,令rvir双向连接到X'中的每个点rv,s,连接延迟和丢包率均为0;将当前网络中的路由器都推入堆q2中;遍历堆q2中的路由器,每次从当前堆q2中取出ψ'值最小的路由器rw
(b2)遍历步骤(b1)提取的rw的输出链路lwx及对端节点rx;以可靠率对数值应尽可能大为条件,从中选取冗余子路径链路及节点;其中,冗余子路径不能经过主路径中的链路,选取的冗余子路径链路不能使节点的重传延迟超过最大允许重传延迟;选取的冗余子路径链路应使节点的可靠率对数值变大;当某链路被重复考虑作为冗余子路径链路时,通过令该链路的可靠率对数值最小,尽可能避免冗余子路径交叠;
(b3)prev2根据步骤(b2)选取冗余子路径链路及节点记录前一跳路由器,根据prev2搜索得到从rv到rvir的路由器序列,rv通过rvir可以到达X'中的任意节点;然后剔除rvir得到预选路径p;
(b4)最后将预选路径p及在η次重传情况下的冗余子路径丢包率∈data和重传超时时间θr(p)反馈给弹性路由向量生成模块。
4.如权利要求3所述针对电网广域相位测量系统可靠通信的弹性路由RR生成系统,其特征在于,所述RR通信对生成模块具体为:根据弹性路由向量生成模块输出的prev1搜索得到从rj到rk的主路径,并从映射X0获取主路径路由器及以其为起点的冗余子路径集合的映射,得到系统的输出Y。
5.如权利要求4所述针对电网广域相位测量系统可靠通信的弹性路由RR生成系统,其特征在于,所述弹性路由向量生成模块具体通过以下步骤实现:
(1.1)创建哈希函数:L[ri]为ri的当前最小丢包率,ψ[ri]为ri的RR丢包率,φ[ri]为考虑多条重传路径时主路径中ri的上游路由器到ri的丢包率最大估计值,Tprim[ri]为ri的主路径延迟,T[ri]表示ri的RR延迟;Prsp(ri)为以ri为起点的冗余子路径的集合,X0为当前主路径上ri与Prsp(ri)的映射;prev1[ri]记录ri的前一跳路由器;其中ri是R中第i个路由器,i=1~n,n为路由器数量;
(1.2)初始化:L=[1.0]1×n,ψ=[1.0]1×n,φ=[0]1×n,Tprim=[0]1×n,T=[0]1×n;prev1=[-1]1×n;其中,令L[rj]=0,ψ[rj]=1,φ[rj]=0,Tprim[rj]=0,T[rj]=0;
(1.3)将ri∈R都添加到堆q1中;
(1.4)取出当前堆q1中L最小的路由器ru
(1.5)针对步骤(1.4)提取的ru的输出链路luv,得到luv上与ru对端的路由器rv
(1.6)如果步骤(1.5)得到的rv不在当前堆q1中,则跳转到步骤(1.5)计算下一输出链路对应的rv,直到遍历ru的所有输出链路luv,跳到步骤(1.17);
(1.7)计算当前主路径的链路最大延迟
Figure FDA0003089205160000031
总延迟τprim、最大允许重传延迟τretrans max
(1.8)如果τprim≥D,则跳转至步骤(1.5)计算另一条luv对应的rv,直到遍历ru的所有输出链路,跳到步骤(1.17);
(1.9)以ru为目标路由器,根据prev1重复搜索上一跳路由器,得到从rj到ru的路径序列X’;定义
Figure FDA0003089205160000032
为X’中所有链路的集合;
(1.10)令istep=0用于计步,初始化集合
Figure FDA0003089205160000033
循环执行如下子步骤:
(1.10.1)如果istep≥β,则终止循环,执行步骤(1.11);
(1.10.2)调用RSP路径生成模块,将当前的G、rv、X’、
Figure FDA0003089205160000034
η、α、
Figure FDA0003089205160000035
τprim、τretrans max作为参数传递给RSP路径生成模块,获得RSP路径生成模块反馈的预选路径p;
(1.10.3)如果步骤(1.10.2)得到的p为空或者属于当前的冗余子路径集合Prsp,则终止循环,执行步骤(1.11);
(1.10.4)将步骤(1.10.2)得到的p添加到Prsp中;
(1.10.5)如果istep<β-1,则将步骤(1.10.2)得到的p中的所有链路添加到集合
Figure FDA0003089205160000036
中;
(1.10.6)令istep=istep+1,跳到步骤(1.10.1)进入下一循环;
(1.11)计算rv作为X’的下一个路径节点时的当前最小丢包率L’:
(1.12)如果L’<L[rv],则更新T[rv]、L[rv]、φ[rv]、ψ[rv]、Tprim[rv]、Tprim[rv],并记ru为rv的上一跳路由器;如果L’≥L[rv],则跳到步骤(1.4),直到遍历堆q1中的路由器,执行步骤(1.18);
(1.13)令X0[rv]=Prsp;然后跳转至步骤(1.5)计算另一条输出链路对应的rv,直到遍历ru的所有输出链路luv
(1.17)跳到步骤(1.4),直到遍历堆q1中的路由器,执行步骤(1.18);
(1.18)将计算结果(prev1,X0)存放在RR向量中。
6.如权利要求5所述针对电网广域相位测量系统可靠通信的弹性路由RR生成系统,其特征在于,所述RSP路径生成模块具体通过以下步骤实现:
(2.1)在网络中添加一个虚假路由器rvir,令rvir双向连接到X'中的每个点rv,s,连接延迟和丢包率均为0,当前网络中路由器的数量n’=n+1;
(2.2)创建哈希函数:ψ'表示在考虑尽可能排除
Figure FDA0003089205160000041
条件下当前冗余子路径的数据包传输成功率对数值,φ'表示当前真实情况下的冗余子路径的数据包传输成功率对数值;τup和τdown分别记录各路由器节点上游和下游路径的转发延迟;θretrans记录各路由器节点的重传超时时间;prev2记录前一跳路由器;
(2.3)初始化:ψ'=[-∞]1×n’,φ'=[-∞]1×n’,τup={},τdown={},θretrans=[0]1×n’,prev2=[-1]1×n’;其中,令φ'[rv]=0,ψ'[rv]=0,τup[rv]=0,τdown[rv]=0;
(2.4)将当前网络中的路由器都推入堆q2中;如果当前堆q2中路由器的个数|q2|≤0,则跳转至步骤(2.10);
(2.5)从当前堆q2中取出ψ'值最小的路由器rw
(2.6)获得rw的出口链路lwx上的对端节点rx;如果lwx
Figure FDA0003089205160000042
或者rx不属于当前堆q2,则跳到步骤(2.5)直接进入下一个循环;
(2.7)计算当前冗余子路径的上行延迟τup’、下行延迟τdown’、当前路由器节点重传超时时间θretrans’和重传延迟τretrans’;如果τretrans’>τretrans max,则跳转至步骤(2.5),直到遍历堆q2中的路由器;
(2.8)计算真实情况下从rw到rx的真实可靠率对数值ψ1,和尽可能排除
Figure FDA0003089205160000043
时从rw到rx的转换可靠率对数值
Figure FDA0003089205160000044
(2.9)如果
Figure FDA0003089205160000045
则更新φ'[rx]、ψ'[rx]、τup[rx]、τdown[rx],并记rw为rx的上一跳路由器;如果
Figure FDA0003089205160000046
则跳到步骤(2.5),直到遍历堆q2中的路由器,执行步骤(2.10);
(2.10)以rvir为目标路由器,根据prev2重复搜索上一跳路由器,得到从rv到rvir的路由器序列(rv,…,rvir);然后剔除rvir得到预选路径p;
(2.11)计算rv到达rvir的在η次重传情况下的冗余子路径丢包率∈data和重传超时时间θr(p);然后将rvir从G中剔除;最后将(p,∈data(p),θr(p))反馈给弹性路由向量生成模块。
7.如权利要求6所述针对电网广域相位测量系统可靠通信的弹性路由RR生成系统,其特征在于:
步骤(1.3)中,堆q1为斐波那契堆,用于根据L[ri]的值将路由器从小到大排序;且排序与L[ri]的值同步更新;
步骤(1.7)中:
当前主路径的链路最大延迟
Figure FDA0003089205160000051
Figure FDA0003089205160000052
当前主路径的总延迟τprim
τprim=Tprim[ru]+τ(ru,rv)
当前的主路径选择下,最大允许重传延迟τretrans max
τretrans max=D-T[ru]-τprim
其中,τ(ru,rv)表示从ru到rv的总延迟,总延迟为传输延迟、处理延迟和排队延迟之和;τtrans(ru,rv)表示从ru到rv的传输延迟;
步骤(1.9)中,prev1[rj]=-1;
步骤(1.11)中,rv作为X’的下一个路径节点时的当前最小丢包率L’:
Figure FDA0003089205160000053
L’=φ0·ψ[ru]+L[ru]
其中,∈(ru,rv)表示从ru到rv的丢包率,∈data(p)是预选路径p的丢包率;
步骤(1.12)更新参数如下:
T[rv]=T[ru]+τ(ru,rv)+τ(ru,rv)·(1+α)+θr(p’)·(η-1)+τd(p’)
L[rv]=L’
φ[rv]=φ0
ψ[rv]=ψ[ru]·(1-φ[ru])
Tprim[rv]=τprim
prev1[rv]=ru
其中,p’表示集合Prsp中重传超时时间最小的预选路径,θr(p’)表示p’的重传超时时间,τd(p’)表示p’的下行总延迟。
8.如权利要求7所述针对电网广域相位测量系统可靠通信的弹性路由RR生成系统,其特征在于:
步骤(2.4)中,堆q2为斐波那契堆,用于根据ψ'[ri]的值将路由器从小到大排序;且排序与ψ'[ri]的值同步更新;
步骤(2.8)中:
当前冗余子路径的上行延迟τup’和下行延迟τdown’:
τup’=τ(rw,rx)+τup[rw]
τdown’=τ(rx,rw)+τdown[rw]
当前的路由器节点重传超时时间θretrans’:
θretrans’=θretrans[rw]+(τqueue(lwx)+τprocess(lwx))×α+τtrans(lwx)
当前的路由器节点的重传延迟τretrans’:
τretrans’=τl maxprimretrans’×(η-1)+τdown
其中,τqueue(lwx)、τprocess(lwx)分别表示rw到rx的排队延迟和处理延迟;
步骤(2.9)中,真实可靠率对数值ψ1和转换可靠率对数值
Figure FDA0003089205160000061
ψ1=log((1-∈(rw,rx))(1-∈(rx,rw)))
Figure FDA0003089205160000062
其中,如果
Figure FDA0003089205160000063
Figure FDA0003089205160000064
否则
Figure FDA0003089205160000065
expell为当前网络中的最小链路可靠率对数值:
Figure FDA0003089205160000066
其中,L0包括步骤(2.1)新加入的链路l=(rv,s,rvir),lz是L0中第z个链路;∈(lz)表示路径lz的丢包率,C为大于1的常量;
步骤(2.11)更新参数如下:
prev2[rx]=rw
Figure FDA0003089205160000067
ψ'[rx]=ψ1+ψ'[rw]
τup[rx]=τ(rw,rx)+τup[rw]
τdown[rx]=τ(rx,rw)+τdown[rw]
步骤(2.12)中prev2[rv]=-1;
步骤(2.13)中,冗余子路径丢包率∈data和重传超时时间θr(p):
Figure FDA0003089205160000068
data(p)=∈one-way η
θr(p)=α·(τup[rvir]+τdown[rvir])
其中,∈one-way表示rv到达rvir的冗余子路径的单程丢包率。
CN202110344405.7A 2021-03-31 2021-03-31 针对电网广域相位测量系统可靠通信的弹性路由生成系统 Active CN112737953B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110344405.7A CN112737953B (zh) 2021-03-31 2021-03-31 针对电网广域相位测量系统可靠通信的弹性路由生成系统
PCT/CN2021/129961 WO2022205925A1 (zh) 2021-03-31 2021-11-11 针对电网广域相位测量系统可靠通信的弹性路由生成系统
US17/741,379 US20220329073A1 (en) 2021-03-31 2022-05-10 Resilient route generation system for reliable communication in power grid phasor measurement system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110344405.7A CN112737953B (zh) 2021-03-31 2021-03-31 针对电网广域相位测量系统可靠通信的弹性路由生成系统

Publications (2)

Publication Number Publication Date
CN112737953A CN112737953A (zh) 2021-04-30
CN112737953B true CN112737953B (zh) 2021-08-03

Family

ID=75596165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110344405.7A Active CN112737953B (zh) 2021-03-31 2021-03-31 针对电网广域相位测量系统可靠通信的弹性路由生成系统

Country Status (3)

Country Link
US (1) US20220329073A1 (zh)
CN (1) CN112737953B (zh)
WO (1) WO2022205925A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112737953B (zh) * 2021-03-31 2021-08-03 之江实验室 针对电网广域相位测量系统可靠通信的弹性路由生成系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067476A (zh) * 2012-12-25 2013-04-24 浙江大学 一种基于虚拟机的动态网络重构方法
CN103716254A (zh) * 2013-12-27 2014-04-09 中国科学院声学研究所 内容中心网络中自集结协同缓存方法
CN112491666A (zh) * 2021-02-03 2021-03-12 之江实验室 一种针对电网广域相位测量系统的弹性可靠路由器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105704021B (zh) * 2016-01-22 2019-04-12 中国人民解放军国防科学技术大学 一种基于弹性标签的重路由方法
CN108833271B (zh) * 2018-05-28 2021-02-09 全球能源互联网研究院有限公司 一种电网广域控制业务通信路径选择方法及服务器
US20200142735A1 (en) * 2019-09-28 2020-05-07 Intel Corporation Methods and apparatus to offload and onload workloads in an edge environment
CN112737953B (zh) * 2021-03-31 2021-08-03 之江实验室 针对电网广域相位测量系统可靠通信的弹性路由生成系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067476A (zh) * 2012-12-25 2013-04-24 浙江大学 一种基于虚拟机的动态网络重构方法
CN103716254A (zh) * 2013-12-27 2014-04-09 中国科学院声学研究所 内容中心网络中自集结协同缓存方法
CN112491666A (zh) * 2021-02-03 2021-03-12 之江实验室 一种针对电网广域相位测量系统的弹性可靠路由器

Also Published As

Publication number Publication date
CN112737953A (zh) 2021-04-30
WO2022205925A1 (zh) 2022-10-06
US20220329073A1 (en) 2022-10-13

Similar Documents

Publication Publication Date Title
Maxemchuk Dispersity routing in high-speed networks
CN103634842B (zh) 一种分布式卫星网络群间路由方法
Jiang et al. A space–time graph based multipath routing in disruption-tolerant earth-observing satellite networks
CN115460130A (zh) 一种时间敏感网络中的多路径联合调度方法
CN112737953B (zh) 针对电网广域相位测量系统可靠通信的弹性路由生成系统
CN107682434A (zh) 一种水下传感器网络架构及其实现方法
CN111245722A (zh) 一种基于遗传算法的sdn数据中心网络流转发方法
CN113992259B (zh) 一种时隙资源拓展图的构建方法
CN103248571A (zh) 一种最优第二路由的计算方法
CN109246013A (zh) 一种fc-ae-1553交换型网络中的路由方法
CN109861925A (zh) 数据传输方法、相关装置及网络
CN103078796A (zh) 一种路由计算方法和设备
CN101616074A (zh) 基于量子进化的组播路由优化方法
CN112261681A (zh) 低轨卫星dtn网络路由路径选取方法及系统
Lopez-Pajares et al. One-shot multiple disjoint path discovery protocol (1S-MDP)
CN109714261B (zh) 一种量子通信网络中基于保真度度量的多播路由方法
ParandehGheibi et al. Optimal reverse carpooling over wireless networks-a distributed optimization approach
WO2012103852A2 (zh) 波分网络规划方法及设备
Araujo et al. Multicast routing using genetic algorithm seen as a permutation problem
Lemeshko et al. Improvement of the calculation model the set of disjoint paths with maximum bandwidth
Moza et al. Finding K shortest paths in a network using genetic algorithm
CN103346965B (zh) 基于编码子图优化编码代价的光组播路由方法
CN105142198A (zh) 一种使用微分进化求解无线传感器网络最优路径的方法
CN114124722B (zh) 有向无环图生成方法、网络编码方法及网络传输方法
Liang et al. Coding based Distributed Data Shuffling for Low Communication Cost in Data Center Networks

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