CN112491666A - 一种针对电网广域相位测量系统的弹性可靠路由器 - Google Patents

一种针对电网广域相位测量系统的弹性可靠路由器 Download PDF

Info

Publication number
CN112491666A
CN112491666A CN202110144836.9A CN202110144836A CN112491666A CN 112491666 A CN112491666 A CN 112491666A CN 202110144836 A CN202110144836 A CN 202110144836A CN 112491666 A CN112491666 A CN 112491666A
Authority
CN
China
Prior art keywords
data packet
data
router
packet
processing module
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.)
Granted
Application number
CN202110144836.9A
Other languages
English (en)
Other versions
CN112491666B (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 CN202110144836.9A priority Critical patent/CN112491666B/zh
Priority to PCT/CN2021/075891 priority patent/WO2022165822A1/zh
Publication of CN112491666A publication Critical patent/CN112491666A/zh
Application granted granted Critical
Publication of CN112491666B publication Critical patent/CN112491666B/zh
Priority to US17/566,741 priority patent/US11437846B2/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R25/00Arrangements for measuring phase angle between a voltage and a current or between voltages or currents
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种针对电网广域相位测量系统的弹性可靠路由器,该弹性可靠路由器括Data数据包处理模块、RetransReq数据包处理模块、RetransReport数据包处理模块、基本数据包处理模块、多路径转发状态表模块、内容存储队列模块和物理端口。本发明的弹性可靠路由器实现主动的丢失数据包检测,以及单一或批量重传机制,使得丢失数据包可直接从其途径的上游路由器进行网内直接恢复,改进了丢失数据包恢复时间成功率和高效性,保障电网广域相位测量通信系统的安全稳定运行。

Description

一种针对电网广域相位测量系统的弹性可靠路由器
技术领域
本发明属于针对电网广域相位测量系统可靠通信的技术领域,具体地涉及一种针对电网广域相位测量系统的弹性可靠路由器。
背景技术
在现代电网中在变电站、配电网等大量部署了相位测量单元(PhasorMeasurement Unit,PMU)实现对电网线路和变压器的监测,PMU采集数据通常通过IEEEC37.118.2或IEC 61850-9-2规约传输到相位数据集中器(Phasor Data Concentrator,PDC),采集频率可达到每秒钟10-60次,端到端的数据传输时延要求达到35-50ms之间。PDC所采样的数据对于电网监控与数据采集系统(SCADA)的状态估计正确性至关重要。
然而,由于链路故障、网络拥塞等造成数据包丢失问题难以避免,对于数据包的快速重传恢复是确保数据包按期交付的关键。现有技术采用的是TCP(Transmission ControlProtocol)重传控制,然而其重传成功率受到了回执数据包(Acknowledgement,ACK)和重传数据包丢失的影响;其对于丢失数据包推测时间以及TCP发送端和接收端的传输时间均会严重增加端到端的数据传输时延,影响SCADA的状态估计和保护动作,进而破坏电网的安全稳定运行。因此,解决丢失数据包重传的成功率和高效性是确保PMU和PDC之间正常测量与控制的关键问题。
发明内容
针对现有技术中存在的问题,本发明提供了一种针对电网广域相位测量系统的弹性可靠路由器,提升了上述丢失数据包重传的成功率和效率,充分考虑电网广域相位测量系统的应用特点。
为实现上述目的,本发明采用如下技术方案:一种针对电网广域相位测量系统的弹性可靠路由器,包括Data数据包处理模块、RetransReq数据包处理模块、RetransReport数据包处理模块、基本数据包处理模块、多路径转发状态表模块、内容存储队列模块和物理端口;
所述基本数据包处理模块在接收到RetransReq数据包时,将RetransReq数据包传递给RetransReq数据包处理模块,所述RetransReq数据包处理模块先会调用内容存储队列模块获取与RetransReq数据包相匹配的Data数据包,如果匹配,则会调用多路径转发状态表模块获取匹配的下一跳的物理端口,将匹配的Data数据包发送到下一跳的物理端口;
所述基本数据包处理模块在收到Data数据包后,调用Data数据包处理模块,如发现Data数据包发生丢失,则先发送RetransReport数据包,后发送RetransReq数据包;并调用多路径转发状态表模块,查询下一跳的物理端口,并将所述Data数据包从该物理端口发送出去;
所述基本数据包处理模块收到RetransReport数据包时,将RetransReport数据包传递给RetransReport数据包处理模块,调用多路径转发状态表模块,查询下一跳的物理端口,并将所述RetransReport数据包发送到下一跳的物理端口中。
进一步地,所述Data数据包处理模块的工作过程为:
(1)如果Data数据包的数据类型为原始数据,则跳转执行步骤(3);否则如果所述Data数据包的Data ID记录在已经转发的数据包Data ID集合中时,结束Data数据包处理模块的工作过程,否则将所述Data数据包的Data ID添加到已经转发的数据包Data ID集合中;
(2)如果所述Data数据包的数据类型为单一重传时,则从正在等待的数据包DataID集合和正在等待单一重传的数据包Data ID集合中清除掉所述Data数据包的Data ID;否则,从正在等待批量重传的数据包Data ID集合中清除掉所述Data数据包的Data ID;然后跳转至步骤(9);
(3)从所述Data数据包中提取Data ID,查询先进先出队列中是否存在该Data ID,如果存在则不进行如下步骤,否则将该Data ID添加到先进先出队列中;
(4)检查所述Data数据包的Data ID是否存在于当前路由器的上游路由器所报告丢失数据包的Data ID集合中,如果存在,则将所述Data数据包的Data ID移除,并跳转至步骤(8);否则,执行步骤(5);
(5)如果所述Data数据包的Data ID与路由器最后转发出去的Data ID差值超过2时,则计算出最近未被重传的Data ID集合,计算出需要发送批量重传请求的Data ID集合,并从等待下一个数据包达到的事件标识集合中删除最近未被重传的Data ID集合;
(6)如果最近未被重传的Data ID集合的大小大于0,则将最近未被重传的Data ID集合打包为RetransReport数据包,并发送到多路径转发状态表模块中主路径的下一跳路由器;然后,沿着当前路由器的冗余子路径以及多路径转发状态表模块转发项中主路径的上游路径发送RetransReq数据包,将所述RetransReport数据包的请求重传的Data ID集合设置为最近未被重传的Data ID集合;将其重传类型设置为批量;将其重传的请求标识设置为唯一值,之后,通过查询多路径转发状态表模块,根据所述RetransReport数据包的可靠弹性路由器子图标识和多路径转发状态表模块中主路径的ID,找到多路径转发状态表模块中主路径的下游路由器节点的物理端口,并发送携带该RetransReq数据包;
(7)如果所述Data数据包的Data ID大于路由器最后转发出去的Data ID,则将路由器最后转发出去的Data ID更新为Data数据包的Data ID;
(8)将所述Data数据包从等待下一个数据包达到的事件标识集合和等待单个数据包重传反馈的RetransReq事件标识集合中删除;
(9)查询多路径转发状态表模块转发项中主路径的下游路由器的物理端口,如果可查询到,将所述Data数据包从该物理端口转发出去;如果未查询到,则将所述Data数据包转发到相位数据集中器;
(10)如果所述Data数据包的Data ID等于路由器最后转发出去的Data ID,则等待下一个到达数据包的Data ID赋值为自最近被转发的Data数据包的Data ID加1开始不在上游路由器所报告丢失数据包的Data ID集合中的最小值,并计算等待下个数据包最大延迟
Figure 672268DEST_PATH_IMAGE001
;其中,
Figure 58250DEST_PATH_IMAGE002
为等待下一个到达数据包的Data ID、
Figure 431463DEST_PATH_IMAGE003
为最近被转发的Data数据包的Data ID、
Figure 623410DEST_PATH_IMAGE004
为相位测量单元发送的两个连续测量数据包之间最大间隔时间、
Figure 906623DEST_PATH_IMAGE005
为该路由器与其邻接的上游路由器之间的上行链路传输延迟最大值;
(11)该路由器开启一个定时计划任务事件,所述计划任务事件延迟执行,如果等待下一个数据包达到的事件标识集合被去除,则该任务终止执行。
进一步地,所述RetransReq数据包处理模块的工作过程为:
(1)从RetransReq数据包中提取出请求重传的数据标识集,对于每一个请求重传的Data ID,在内容存储队列模块中通过查找最为匹配的数据包,如果查询值为空,则该过程结束;
(2)从数据包中提取重传类型为批量或单一,将匹配到的数据包打包为一个新的Data数据包,其RSG ID、Path ID、数据类型以及Data ID分别赋值为对应的通信对、入口端口对应的冗余子路径、重传类型以及匹配到的数据包Data ID,并设置Transient标签,并将其发送回所述数据包的进入物理端口中。
进一步地,所述RetransReport数据包处理模块的工作过程为:
(a)从RetransReport数据包中提取Data ID的集合记作新发现丢失的数据包DataID集合,当新发现丢失的数据包Data ID大于0时,将所述新发现丢失的数据包Data ID合并到当前路由器的上游路由器的RetransReport数据包的Data ID集合中,等待下一个到达数据包的Data ID为-1;否则跳转执行步骤(d);
(b)对于每个存在于当前路由器的上游路由器的RetransReport数据包的Data ID集合中的数据包,如果所述数据包存在于等待下一个数据包达到的事件标识集合中,则将所述数据包从等待下一个数据包达到的事件标识集合和等待单个数据包重传反馈的RetransReq事件标识集合中移除,并且计算等待下一个到达数据包的Data ID更新为当前等待下一个到达数据包的Data ID与到达数据包Data ID的最大值;之后将到达数据包的Data ID从等待批量重传的数据包Data ID集合中移除掉;
(c)如果等待下一个到达数据包的Data ID不等于-1,则
Figure 994665DEST_PATH_IMAGE002
赋值为自
Figure 356638DEST_PATH_IMAGE006
开始不在
Figure 24380DEST_PATH_IMAGE007
中的最小值,并计算等待下个数据包最大延迟
Figure 489997DEST_PATH_IMAGE001
;之后,该路由器开启一个定时计划任务事件,该任务延迟
Figure 76836DEST_PATH_IMAGE008
执行,如果所述计划任务事件被去除,则该计划任务事件终止执行;
(d)查询多路径转发状态表模块转发项中主路径上下一跳路由器的物理端口,并将该RetransReport数据包从该物理端口转发出去。
进一步地,所述基本数据包处理模块的工作过程为:
(1)如果该路由器是冗余子路径上的节点并且非主路径上的节点,则根据该数据包的路径标识、转发方向,在多路径转发状态表模块中查询到对应的转发项,如果转发项非空,则将该数据包打上Transient标签,并从查询到转发项对应的物理端口发送出去;
(2)如果该数据包未标记Transient标签,则将该数据包存储到内容存储队列中;
(3)如果该数据包不是多路径转发状态表模块转发项中主路径上转发的数据包,则根据该数据包的路径标识、转发方向,在本地的转发表中查询到对应的转发项,如果转发项非空,则将该数据包打上Transient标签,并从查询到转发项对应的物理端口发送出去;
(4)如果该数据包的操作符是Data,则调用Data数据包处理模块;如果是RetransReq,则调用RetransReq数据包处理模块;如果是RetransReport,则调用RetransReport数据包处理模块。
进一步地,所述内容存储队列模块的工作过程为:
(1)初始条件下,在本地初始化一个先进先出队列,队列中的每个单元大小不小于数据包大小的最大值;
(2)当有数据包存储请求时,将所述数据包推入到所述先进先出队列的末尾,如所述先进先出队列已满,则在此之前将所述先进先出队列头部元素去除;
(3)当有数据包Data ID查询请求时,在所述先进先出队列中搜索与数据包DataID最为匹配的数据包Data ID,并将匹配到的数据包返回给请求者;如果未查到,则返回空值。
进一步地,所述多路径转发状态表模块由多条转发规则项和可靠弹性路由器子图标识对应的转发状态集合构成。
与现有技术相比,本发明具有如下有益效果:本发明所述弹性可靠路由器实现丢失数据包的快速检测和网络内的多路径丢失数据包快速重传,检测过程是在作为接收方的一端路由器上完成的,速度较快,且多冗余子路径可避免重传时遇到的链路故障等问题,提升数据包恢复的效率。相比而言,传统路由器不具备丢失数据包的重传能力,而传输控制协议(Transmission Control Protocol,TCP)的丢失数据包是在发送方实现的,丢失数据包的检测依赖于对于连续数据包回应丢失的猜测,猜测时间较长,且重传必须开始于发送端,重传路径和重传时间均较长;一旦网络链路发生故障,TCP重传也将失效,导致数据包无法恢复。本发明可改进电网广域相位测量系统通信可靠性,高效解决丢失数据包的快速重传恢复,提高重传成功率,满足控制业务通信的苛刻要求,确保电网安全运行。
附图说明
图1为本发明针对电网广域相位测量系统的弹性可靠路由器的示意图;
图2为可靠弹性路由器在网内重传过程示意图;
图3为弹性可靠路由器在广域相位测量系统中的通信过程图。
具体实施方式
本发明的数据包(
Figure 300007DEST_PATH_IMAGE009
)采用了统一的数据帧结构,包括如下成员:通信节点对标识、路径标识(Path ID)、临时标记(Transient Tag)、操作符、数据内容,该数据帧可处于现有分组交换网络中的链路层、网络层或传输层之上。
如图1为本发明针对电网广域相位测量系统的弹性可靠路由器的示意图,所述弹性可靠路由器包括Data数据包处理模块、RetransReq数据包处理模块、RetransReport数据包处理模块、基本数据包处理模块、多路径转发状态表模块、内容存储队列模块和物理端口;
当操作符是RetransReq时,该数据帧用于承载重传请求的相关信息,相应的数据内容包括:请求重传的数据标识集合(记作
Figure 302598DEST_PATH_IMAGE010
)、重传类型(单一/批量),批量重传标识。当基本数据包处理模块在接收到RetransReq数据包时,将RetransReq数据包传递给RetransReq数据包处理模块,所述RetransReq数据包处理模块先会调用内容存储队列模块获取与RetransReq数据包相匹配的Data数据包,如果匹配,则会调用多路径转发状态表模块获取匹配的下一跳的物理端口,将匹配的Data数据包发送到下一跳的物理端口。
当操作符为Data时,该数据帧用于承载原始/重传的PMU测量数据,相应的数据内容包括:
Figure 419458DEST_PATH_IMAGE011
、数据类型、批量重传标识、载荷。其中,载荷部分用于承载PMU的测量数据;数据类型包括原始数据、单一重传、批量重传三种。当基本数据包处理模块在收到Data数据包后,调用Data数据包处理模块,如发现Data数据包发生丢失,则先发送RetransReport数据包,后发送RetransReq数据包;并调用多路径转发状态表模块,查询下一跳的物理端口,并将所述Data数据包从该物理端口发送出去。
当操作符是RetransReport时,该数据包用于承载上游路由器节点的重传请求情况,相应的数据内容包括:请求重传的数据标识集(
Figure 318144DEST_PATH_IMAGE012
)、源路由器标识。当基本数据包处理模块收到RetransReport数据包时,将RetransReport数据包传递给RetransReport数据包处理模块,调用多路径转发状态表模块,查询下一跳的物理端口,并将所述RetransReport数据包发送到下一跳的物理端口中。
所述可靠弹性路由器(Resilient Routes,RR)包括两部分:① 主路径(Primary Path,PP),经过b个路由器,记作
Figure 855043DEST_PATH_IMAGE013
,其中,
Figure 395745DEST_PATH_IMAGE014
为第
Figure 632692DEST_PATH_IMAGE015
个路由器;② 对于P中的某个路由器,存在
Figure 436700DEST_PATH_IMAGE016
个上游节点可以与之互联,记作
Figure 759096DEST_PATH_IMAGE017
,路由器
Figure 634649DEST_PATH_IMAGE018
和路由器
Figure 601468DEST_PATH_IMAGE014
之间的路径称为冗余子路径(Redundant Sub-Path,RSP)。
所述多路径转发状态表模块(Forwarding State Table,FST)由多条转发规则项和可靠弹性路由器子图标识对应的转发状态集合构成;其中每条转发项由如下成员构成:① RR子图标识(RR Subgraph ID,RSG ID),代表一个PMU和一个PDC通信对;② 路径标识(Path ID),该标识具备唯一性,代表上述的PP或RSP;③ 转发方向,取值为上游或下游,下游代表从PMU到PDC的方向,上游与之相反;④ 路由器输出网络端口的标识。所述每项RSGID对应的转发状态集合包括如下成员:①路由器最后转发出去的Data ID;②一个先进先出的队列,其数值集合是由已转发的Data ID构成;③ Data ID的集合,代表当前路由器PP的上游路由器所报告丢失数据包的Data ID集合;④等待下一个数据包达到的事件标识集合;⑤等待单个数据包重传反馈的RetransReq事件标识集合;⑥等待批量数据包重传反馈的RetransReq事件标识集合。图2给出了本发明所述的多个弹性可靠路由器之间在网内重传过程示意图,PMU和PDC之间建立了一条主路径,即
Figure 638694DEST_PATH_IMAGE019
。其中在
Figure 684272DEST_PATH_IMAGE014
Figure 35619DEST_PATH_IMAGE020
条RSP到达其上游路由器即
Figure 184841DEST_PATH_IMAGE017
,当
Figure 720864DEST_PATH_IMAGE014
检测到来自其前一跳的路由器即
Figure 424378DEST_PATH_IMAGE021
数据包丢失时,将发送重传请求(RetransReq)数据包到其上游路由器,任一上游路由器沿着RSP路径向
Figure 313837DEST_PATH_IMAGE014
发送重传的测量数据Data数据包,
Figure 379882DEST_PATH_IMAGE014
会在收到重传数据包之后,将最早达到的数据包转发到其下游的下一跳路由器即
Figure 962173DEST_PATH_IMAGE022
,上述过程具体说明如下:
所述Data数据包处理模块的工作过程为:
(1)如果Data数据包的数据类型为原始数据,则跳转执行步骤(3);否则如果所述Data数据包的Data ID记录在已经转发的数据包Data ID集合中时,结束Data数据包处理模块的工作过程,否则将所述Data数据包的Data ID添加到已经转发的数据包Data ID集合中;
(2)如果所述Data数据包的数据类型为单一重传时,则从正在等待的数据包DataID集合和正在等待单一重传的数据包Data ID集合中清除掉所述Data数据包的Data ID;否则,从正在等待批量重传的数据包Data ID集合中清除掉所述Data数据包的Data ID;然后跳转至步骤(9);
(3)从所述Data数据包中提取Data ID,查询先进先出队列中是否存在该Data ID,如果存在则不进行如下步骤,否则将该Data ID添加到先进先出队列中;
(4)检查所述Data数据包的Data ID是否存在于当前路由器的上游路由器所报告丢失数据包的Data ID集合中,如果存在,则将所述Data数据包的Data ID移除,并跳转至步骤(8);否则,执行步骤(5);该步骤避免重复发送相同的重传请求数据包。
(5)如果所述Data数据包的Data ID与路由器最后转发出去的Data ID差值超过2时,则计算出最近未被重传的Data ID集合,计算出需要发送批量重传请求的Data ID集合,并从等待下一个数据包达到的事件标识集合中删除最近未被重传的Data ID集合;
(6)如图2所示,如果最近未被重传的Data ID集合的大小大于0,则将最近未被重传的Data ID集合打包为RetransReport数据包,并发送到多路径转发状态表模块中主路径的下一跳路由器;然后,沿着当前路由器的
Figure 2852DEST_PATH_IMAGE023
条冗余子路径以及多路径转发状态表模块转发项中主路径的上游路径发送RetransReq数据包,将所述RetransReport数据包的请求重传的Data ID集合设置为最近未被重传的Data ID集合;将其重传类型设置为批量;将其重传的请求标识设置为唯一值,设置方法可以是自增值、递减值、随机值等。之后,通过查询多路径转发状态表模块,根据所述RetransReport数据包的RSG ID、PP ID,找到多路径转发状态表模块中主路径的下游路由器节点的物理端口,并发送携带该RetransReq数据包;
(7)如果所述Data数据包的Data ID大于路由器最后转发出去的Data ID,则将路由器最后转发出去的Data ID更新为Data数据包的Data ID;
(8)将所述Data数据包从等待下一个数据包达到的事件标识集合和等待单个数据包重传反馈的RetransReq事件标识集合中删除;
(9)查询多路径转发状态表模块转发项中主路径的下游路由器的物理端口,如果可查询到,将所述Data数据包从该物理端口转发出去;如果未查询到,则将所述Data数据包转发到相位数据集中器;
(10)如果所述Data数据包的Data ID等于路由器最后转发出去的Data ID,则等待下一个到达数据包的Data ID赋值为自最近被转发的Data数据包的Data ID加1开始不在上游路由器所报告丢失数据包的Data ID集合中的最小值,并计算等待下个数据包最大延迟
Figure 696001DEST_PATH_IMAGE024
;其中,
Figure 350973DEST_PATH_IMAGE002
为等待下一个到达数据包的Data ID、
Figure 104166DEST_PATH_IMAGE003
为最近被转发的Data数据包的Data ID、
Figure 110168DEST_PATH_IMAGE004
为相位测量单元发送的两个连续测量数据包之间最大间隔时间、
Figure 607008DEST_PATH_IMAGE025
为该路由器与其邻接的上游路由器之间的上行链路传输延迟最大值;
(11)该路由器开启一个定时计划任务事件,所述计划任务事件延迟执行,如果等待下一个数据包达到的事件标识集合被去除,则该任务终止执行。所述任务执行时有两个步骤:首先,通过在FST转发表中查找PP下游的下一跳端口出口,发送携带等待下一个到达数据包的Data ID信息的RetransReport消息转发给下一跳出口;然后,会沿着其
Figure 382066DEST_PATH_IMAGE016
条RSP以及PP的上游路径发送RetransReq数据包的重传请求,其数据包中的重传类型为单一,请求重传的数据标识集合为等待下一个到达数据包的Data ID,批量重传标识为空值。
所述RetransReq数据包处理模块的工作过程为:
(1)从RetransReq数据包中提取出请求重传的数据标识集,对于每一个请求重传的Data ID,在内容存储队列模块中通过查找最为匹配的数据包,如果查询值为空,则结束RetransReq数据包处理模块的工作过程;
(2)从数据包中提取重传类型为批量或单一,将匹配到的数据包打包为一个新的Data数据包,其RSG ID、Path ID、数据类型以及Data ID分别赋值为对应的通信对、入口端口对应的冗余子路径、重传类型以及匹配到的数据包Data ID,并设置Transient标签,并将其发送回所述数据包的进入物理端口中。
所述RetransReport数据包处理模块的工作过程为:
(a)从RetransReport数据包中提取Data ID的集合记作新发现丢失的数据包DataID集合,当新发现丢失的数据包Data ID大于0时,将所述新发现丢失的数据包Data ID合并到当前路由器的上游路由器的RetransReport数据包的Data ID集合中,等待下一个到达数据包的Data ID为-1;否则跳转执行步骤(d)。
(b)对于每个存在于当前路由器的上游路由器的RetransReport数据包的Data ID集合中的数据包,如果所述数据包存在于等待下一个数据包达到的事件标识集合中,则将所述数据包从等待下一个数据包达到的事件标识集合和等待单个数据包重传反馈的RetransReq事件标识集合中移除,并且计算等待下一个到达数据包的Data ID更新为当前等待下一个到达数据包的Data ID与到达数据包Data ID的最大值;之后将到达数据包的Data ID从等待批量重传的数据包Data ID集合中移除掉;
(c)如果等待下一个到达数据包的Data ID不等于-1,则
Figure 40581DEST_PATH_IMAGE002
赋值为自
Figure 769764DEST_PATH_IMAGE006
开始不在
Figure 804717DEST_PATH_IMAGE007
中的最小值,并计算等待下个数据包最大延迟
Figure 965439DEST_PATH_IMAGE001
;之后,该路由器开启一个定时计划任务事件,该任务延迟执行,如果所述计划任务事件被去除,则该计划任务事件终止执行。所述计划任务事件执行时有两个步骤:首先,通过在FST转发表中查找PP下游的下一跳端口出口,发送携带等待下一个到达数据包的Data ID信息的RetransReport消息转发给下一跳出口;然后,会沿着其
Figure 794855DEST_PATH_IMAGE023
条RSP以及PP的上游路径发送RetransReq数据包的重传请求,其数据包中的重传类型为单一,请求重传的数据标识集合为等待下一个到达数据包的Data ID,批量重传标识为空值。
(d)查询多路径转发状态表模块转发项中主路径上下一跳路由器的物理端口,并将该RetransReport数据包从该物理端口转发出去。
所述基本数据包处理模块的工作过程为:
(1)如果该路由器是冗余子路径上的节点并且非主路径上的节点,则根据该数据包的路径标识、转发方向,在多路径转发状态表模块中查询到对应的转发项,如果转发项非空,则将该数据包打上Transient标签,并从查询到转发项对应的物理端口发送出去;最后结束该基本数据包处理模块的工作过程。
(2)如果该数据包未标记Transient标签,则将该数据包存储到内容存储队列中;
(3)如果该数据包不是多路径转发状态表模块转发项中主路径上转发的数据包,则根据该数据包的路径标识、转发方向,在本地的转发表中查询到对应的转发项,如果转发项非空,则将该数据包打上Transient标签,并从查询到转发项对应的物理端口发送出去;
(4)如果该数据包的操作符是Data,则调用Data数据包处理模块;如果是RetransReq,则调用RetransReq数据包处理模块;如果是RetransReport,则调用RetransReport数据包处理模块。
所述内容存储队列模块的工作过程为:
(1)初始条件下,在本地初始化一个先进先出队列,队列中的每个单元大小不小于数据包大小的最大值;所述先进先出队列可基于SRAM、DRAM、SSD或磁盘等任意方式来实现;
(2)当有数据包存储请求时,将所述数据包推入到所述先进先出队列的末尾,如所述先进先出队列已满,则在此之前将所述先进先出队列头部元素去除,确保队列大小确定;
(3)当有数据包Data ID查询请求时,在所述先进先出队列中搜索与数据包DataID最为匹配的数据包Data ID,并将匹配到的数据包返回给请求者;如果未查到,则返回空值。
实施例
图3给出了该弹性可靠路由器在现有的PMU和PDC设备通信网中的部署及通信过程示意图,PMU与其PDC的端到端通信通过本发明所涉及到的11台弹性可靠路由器来实现。该PMU和PDC构成的通信对之间的RR建立如下:一是PP路径为
Figure 775450DEST_PATH_IMAGE026
,二是对于其中的一个路由器
Figure 348513DEST_PATH_IMAGE027
Figure 832584DEST_PATH_IMAGE027
与其PP上上游的3个路由器分别建立了3条RSP路径分别为:①
Figure 364060DEST_PATH_IMAGE028
;②
Figure 64906DEST_PATH_IMAGE029
;③
Figure 707240DEST_PATH_IMAGE030
。其中,
Figure 45818DEST_PATH_IMAGE027
Figure 482615DEST_PATH_IMAGE031
之间的链路为
Figure 172222DEST_PATH_IMAGE032
,
Figure 352668DEST_PATH_IMAGE033
Figure 811331DEST_PATH_IMAGE034
共用,
Figure 419030DEST_PATH_IMAGE035
Figure 97398DEST_PATH_IMAGE036
以及
Figure 612693DEST_PATH_IMAGE036
Figure 66808DEST_PATH_IMAGE037
之间的2条链路为
Figure 173305DEST_PATH_IMAGE032
Figure 509608DEST_PATH_IMAGE033
共用。
Figure 156490DEST_PATH_IMAGE027
上由多路径转发状态表模块生成的FST的转发项如表1所示,
Figure 465112DEST_PATH_IMAGE038
上FST转发项如表2所示,
Figure 539247DEST_PATH_IMAGE031
上的FST转发项如表3所示,其余路由器类似于上面三个例子进行生成,这里不再赘述。同时,在初始条件下,FST的各项转发状态均设置为空。
表1:
Figure 300530DEST_PATH_IMAGE027
上FST的转发项
Figure 249638DEST_PATH_IMAGE039
表2:
Figure 147186DEST_PATH_IMAGE040
上FST的转发项
Figure 392223DEST_PATH_IMAGE041
表3:
Figure 906381DEST_PATH_IMAGE042
上FST的转发项
Figure 895066DEST_PATH_IMAGE043
基于上面的RR,阐述本发明中的6个模块协作方式。假定PMU到PDC的数据流可形式化定义为:
Figure 912700DEST_PATH_IMAGE044
,其中
Figure 594217DEST_PATH_IMAGE045
表示由PMU发送的第
Figure 330092DEST_PATH_IMAGE046
个数据包,PMU在发送
Figure 794571DEST_PATH_IMAGE045
前,在初始条件下,
Figure 292811DEST_PATH_IMAGE045
的RSG ID、Path ID和数据类型被分别标记为对应的通信对、PP和原始,并且其Data ID为自增值,初始为某个正整数值,每次发送后会递增1。这样,当在t时刻,以
Figure 20596DEST_PATH_IMAGE047
Figure 368400DEST_PATH_IMAGE048
之间的链路发生数据包
Figure 574254DEST_PATH_IMAGE045
丢失,同时,在
Figure 691114DEST_PATH_IMAGE049
时刻,其中
Figure 589800DEST_PATH_IMAGE050
为常量,
Figure 159322DEST_PATH_IMAGE040
,
Figure 168866DEST_PATH_IMAGE051
,
Figure 904348DEST_PATH_IMAGE052
Figure 708356DEST_PATH_IMAGE053
均收到了
Figure 234015DEST_PATH_IMAGE045
,并进行转发和处理,则自
Figure 906305DEST_PATH_IMAGE054
到t时刻,弹性可靠路由器的处理过程如下:
(1)对于
Figure 669861DEST_PATH_IMAGE027
的上游路由器
Figure 644771DEST_PATH_IMAGE038
,
Figure 454464DEST_PATH_IMAGE055
,
Figure 635171DEST_PATH_IMAGE052
Figure 456497DEST_PATH_IMAGE053
,由于
Figure 992520DEST_PATH_IMAGE027
是PP上的节点,执行过程
Figure 899297DEST_PATH_IMAGE056
中判断重传类型是否为单一重传,如果是,则从正在等待的数据包Data ID集合和正在等待单一重传的数据包Data ID集合中清除掉所述Data数据包的Data ID;否则,从正在等待批量重传的数据包Data ID集合中清除掉所述Data数据包的Data ID。然后,将
Figure 913389DEST_PATH_IMAGE045
存储在本地内容存储队列
Figure 854800DEST_PATH_IMAGE057
中。之后,从
Figure 968250DEST_PATH_IMAGE045
提取 Data ID,查询先进先出队列中是否存在该Data ID,如果存在则意味着已经转发数据包,则不进行后续步骤,否则将该Data ID添加到先进先出队列中。依据
Figure 486956DEST_PATH_IMAGE045
的RSG ID、Path ID,上述4个路由器分别查询对应的出口地址,如
Figure 180105DEST_PATH_IMAGE040
在表1中查找出口地址位于第一条,即达到
Figure 599192DEST_PATH_IMAGE051
的出口地址。最后,检查
Figure 680280DEST_PATH_IMAGE045
的Data ID是否存在于当前路由器的上游路由器所报告丢失数据包的Data ID集合中,分两种情况:一种情况是存在于该集合中,则将所述Data数据包的Data ID移除,将
Figure 561649DEST_PATH_IMAGE045
的Data ID从等待下一个数据包达到的事件标识集合和等待单个数据包重传反馈的RetransReq事件标识集合中删除。另一种情况是不存在,此时如果所述Data数据包的Data ID与路由器最后转发出去的Data ID差值超过2时,则计算出最近未被重传的Data ID集合,计算出需要发送批量重传请求的Data ID集合,并从等待下一个数据包达到的事件标识集合中删除最近未被重传的Data ID集合。上述两种情况是为了避免重复发送相同的重传请求(RetransReq)数据包。
(2)
Figure 589648DEST_PATH_IMAGE038
,
Figure 364706DEST_PATH_IMAGE055
,
Figure 288799DEST_PATH_IMAGE052
Figure 782097DEST_PATH_IMAGE053
在收到
Figure 817050DEST_PATH_IMAGE045
时,因其数据类型为原始数据,则从
Figure 948079DEST_PATH_IMAGE045
中提取Data ID,查询先进先出队列中是否存在该Data ID,如果存在则结束,否则将该Data ID添加到先进先出队列中。首先判断数据包的Data ID是否记录在已经转发的数据包Data ID集合中,如果是重复发送的数据包,则直接丢弃,并不进行如下步骤的处理;否则,视为一个新的Data数据包,此时意味着已转发数据包Data ID的集合(
Figure 43074DEST_PATH_IMAGE058
)中只包括了
Figure 23668DEST_PATH_IMAGE045
的Data ID。由于
Figure 596732DEST_PATH_IMAGE059
不在前路由器PP的上游路由器所报告丢失数据包的Data ID集合中,则将
Figure 549644DEST_PATH_IMAGE045
从等待下一个数据包达到的事件标识集合和等待单个数据包重传反馈的RetransReq事件标识集合中删除,将
Figure 612278DEST_PATH_IMAGE059
从等待下一个数据包达到的事件标识集合和等待单个数据包重传反馈的RetransReq事件标识集合中移除,确保等待重传
Figure 814590DEST_PATH_IMAGE045
的事件全部终止运行;在FST中查询到与
Figure 456923DEST_PATH_IMAGE045
的RSG ID、Path ID和下游标记相匹配的转发项,并将
Figure 28457DEST_PATH_IMAGE045
转发出去,上述4个路由器分别转发到
Figure 589888DEST_PATH_IMAGE051
Figure 154862DEST_PATH_IMAGE052
Figure 928783DEST_PATH_IMAGE053
Figure 793971DEST_PATH_IMAGE048
(即PP上的下一跳路由器)。此时,由于
Figure 526303DEST_PATH_IMAGE047
Figure 578573DEST_PATH_IMAGE048
之间链路断开,则
Figure 923229DEST_PATH_IMAGE060
未收到数据包。
(3)在
Figure 377344DEST_PATH_IMAGE048
上,分为如下两种情况。第一种情况是下一个数据包等待超时,如果等待
Figure 483840DEST_PATH_IMAGE045
的等待下一个数据包达到的事件标识集合超时,在处理
Figure 616881DEST_PATH_IMAGE061
数据包时生成,则执行如下步骤:首先,将期待重传的下一个Data ID(即
Figure 263763DEST_PATH_IMAGE062
)通过RetransReport数据包发送到PP上的下一跳节点(即
Figure 572385DEST_PATH_IMAGE063
),之后
Figure 145055DEST_PATH_IMAGE064
将该数据包发至其PP下一跳。然后将RetransReq数据包从
Figure 765392DEST_PATH_IMAGE032
Figure 419228DEST_PATH_IMAGE065
Figure 582356DEST_PATH_IMAGE066
以及
Figure 296234DEST_PATH_IMAGE048
Figure 436490DEST_PATH_IMAGE047
共4条路径上发送,则
Figure 300541DEST_PATH_IMAGE042
Figure 708389DEST_PATH_IMAGE067
将收到RetransReq数据包,将该数据包由基本数据包处理模块指派到RetransReq数据包处理模块进行处理,由于这些路由器均位于RSP之上,则直接在FST中通过其RSG ID、Path ID和转发方向信息查询到对应的出口,即在对应RSP上的下一跳路由器。这样,RetransReq数据包经过上述3条RSP以及PP上游路径中每个路由器转发到对应的PP上路由器,即
Figure 593168DEST_PATH_IMAGE040
Figure 329043DEST_PATH_IMAGE055
Figure 527943DEST_PATH_IMAGE052
Figure 790297DEST_PATH_IMAGE047
第二种情况是发现数据包丢失,如果
Figure 518082DEST_PATH_IMAGE048
收到了
Figure 98842DEST_PATH_IMAGE068
,其中
Figure 898171DEST_PATH_IMAGE069
,意味着
Figure 890398DEST_PATH_IMAGE070
发生了丢失,此时“Data数据包处理模块”执行如下步骤:如果
Figure 648138DEST_PATH_IMAGE068
的DataID与路由器最后转发出去的Data ID差值超过2时,则计算出最近未被重传的Data ID集合,计算出需要发送批量重传请求的Data ID集合,并从等待下一个数据包达到的事件标识集合中删除最近未被重传的Data ID集合,
Figure 155343DEST_PATH_IMAGE071
,因而计算出
Figure 492784DEST_PATH_IMAGE072
;然后,将
Figure 339517DEST_PATH_IMAGE073
打包为RetransReport数据包,并发送到PP的下一跳,即
Figure 35203DEST_PATH_IMAGE063
Figure 967387DEST_PATH_IMAGE063
在受到后将转发给它在PP上的下一跳,由于
Figure 905256DEST_PATH_IMAGE064
在其FST转发规则中无下一跳,则终止;然后,将
Figure 137654DEST_PATH_IMAGE073
通过RetransReq数据包从
Figure 237197DEST_PATH_IMAGE032
Figure 656677DEST_PATH_IMAGE033
Figure 398237DEST_PATH_IMAGE034
和PP上游路径上发送出去,如果
Figure 219562DEST_PATH_IMAGE074
则设置重传类型为单一;否则设置重传类型为批量,同时将重传请求标记设置为一个唯一值,如自增值来实现。后续与第一种情况类似。
(4)在
Figure 11979DEST_PATH_IMAGE038
Figure 918755DEST_PATH_IMAGE051
Figure 198427DEST_PATH_IMAGE075
收到RetransReq数据包时,则“基本数据包处理模块”不进行存储,然后分配给“RetransReq数据包处理模块”处理。具体首先通过该模块调用“内容存储队列模块”,由于
Figure 874259DEST_PATH_IMAGE076
,则可查询到
Figure 581184DEST_PATH_IMAGE045
作为查询结果
Figure 303152DEST_PATH_IMAGE077
,再根据“RetransReq数据包处理模块”,将该
Figure 793039DEST_PATH_IMAGE077
打包为Data数据包,并根据RetransReq数据包重传类型对Data数据包中的数据类型进行标注,同时将数据包的Path ID分别设置
Figure 588957DEST_PATH_IMAGE078
Figure 968248DEST_PATH_IMAGE065
Figure 640495DEST_PATH_IMAGE066
和PP,从进入端口发出,即
Figure 261969DEST_PATH_IMAGE079
Figure 912393DEST_PATH_IMAGE080
Figure 961120DEST_PATH_IMAGE081
Figure 156216DEST_PATH_IMAGE053
(5)RSP上的路由器
Figure 456748DEST_PATH_IMAGE031
Figure 289574DEST_PATH_IMAGE081
在收到上面步骤(4)的RetransReport数据包或重传Data数据包时,执行基本数据包处理模块,由于这些路由器均在RSP之上且不再PP上,则根据该数据包的路径标识、转发方向,在多路径转发状态表模块中查询到对应的转发项,将数据包转发至各自FST所对应的RSP上下一条路由器,最终达到
Figure 978045DEST_PATH_IMAGE060
(6)在
Figure 161901DEST_PATH_IMAGE063
收到RetransReport数据包时,根据“RetransReport数据包处理模块”,首先将数据包中的
Figure 892222DEST_PATH_IMAGE073
添加至
Figure 517239DEST_PATH_IMAGE007
,此时
Figure 907769DEST_PATH_IMAGE082
;然后,将清除相关重传等待事件,避免
Figure 313342DEST_PATH_IMAGE063
再次发送具有相同Data ID的RetransReq数据包;最后,根据该模块步骤3,将计算
Figure 690097DEST_PATH_IMAGE083
,这里假定
Figure 294254DEST_PATH_IMAGE084
为25ms,考虑到当PMU采样频率达到50Hz时,对应PIAT平均值为20ms,并考虑存在最大5ms的偏离,并假定
Figure 731051DEST_PATH_IMAGE063
的上行链路传输最大总延迟为2ms,上述数字可人为进行设定,同时计算
Figure 92762DEST_PATH_IMAGE002
Figure 99639DEST_PATH_IMAGE085
;再次,增加一项最大等待时延为
Figure 495985DEST_PATH_IMAGE086
的重传事件计划任务,等待的Data ID为
Figure 228318DEST_PATH_IMAGE002
,避免数据包被重传;最后,由于其下一跳路由器为空,该RetransReport不再转发。
(7)在
Figure 982385DEST_PATH_IMAGE048
收到第5个步骤中来自
Figure 966522DEST_PATH_IMAGE079
Figure 545271DEST_PATH_IMAGE087
Figure 58292DEST_PATH_IMAGE081
的重传Data数据包
Figure 722491DEST_PATH_IMAGE088
时,其中
Figure 244739DEST_PATH_IMAGE089
,“Data数据包处理模块”将对该数据包进行恢复,过程如下:首先,假定来自
Figure 677995DEST_PATH_IMAGE081
Figure 627496DEST_PATH_IMAGE090
最先达到
Figure 280457DEST_PATH_IMAGE048
(沿着
Figure 340816DEST_PATH_IMAGE034
),则
Figure 894158DEST_PATH_IMAGE090
添加到
Figure 14560DEST_PATH_IMAGE058
中,后续来自的
Figure 387773DEST_PATH_IMAGE032
Figure 251824DEST_PATH_IMAGE033
和PP上游路径的
Figure 659671DEST_PATH_IMAGE090
将被抛弃;然后,依据
Figure 950975DEST_PATH_IMAGE088
重传类型为单一或批量,分别决定在单一重传事件(
Figure 333457DEST_PATH_IMAGE091
Figure 1198DEST_PATH_IMAGE092
)或者批量重传事件(
Figure 997973DEST_PATH_IMAGE093
)中清除
Figure 460178DEST_PATH_IMAGE090
,避免重复发送RetransReq;再次,将
Figure 807983DEST_PATH_IMAGE094
转发到PP下一跳(
Figure 544995DEST_PATH_IMAGE063
),转发丢失的数据包;最后,重新计算
Figure 661856DEST_PATH_IMAGE002
及其
Figure 29383DEST_PATH_IMAGE095
,并开启等待下一个数据包重传的计划任务。
(8)
Figure 365949DEST_PATH_IMAGE063
即可收到步骤7发送的重传Data数据包
Figure 375493DEST_PATH_IMAGE088
,从而完成数据包恢复。
上述步骤使得在
Figure 346860DEST_PATH_IMAGE048
上丢失数据包
Figure 682027DEST_PATH_IMAGE045
可以直接从网内的
Figure 473265DEST_PATH_IMAGE038
Figure 286500DEST_PATH_IMAGE051
Figure 112374DEST_PATH_IMAGE075
上进行恢复,使得即使
Figure 352862DEST_PATH_IMAGE047
Figure 395511DEST_PATH_IMAGE048
之间的链路发生故障,可确保数据包能被恢复,充分利用转发路径上的中间路由器节点,提升了丢失数据包在网络中存储的冗余性,并通过建立多个RSP提升了路径传输的可靠性,其丢失数据包的主动判断和网内重传缩短了重传时间,最终改进了恢复的高效性和成功率。

Claims (7)

1.一种针对电网广域相位测量系统的弹性可靠路由器,其特征在于,包括Data数据包处理模块、RetransReq数据包处理模块、RetransReport数据包处理模块、基本数据包处理模块、多路径转发状态表模块、内容存储队列模块和物理端口;
所述基本数据包处理模块在接收到RetransReq数据包时,将RetransReq数据包传递给RetransReq数据包处理模块,所述RetransReq数据包处理模块先会调用内容存储队列模块获取与RetransReq数据包相匹配的Data数据包,如果匹配,则会调用多路径转发状态表模块获取匹配的下一跳的物理端口,将匹配的Data数据包发送到下一跳的物理端口;
所述基本数据包处理模块在收到Data数据包后,调用Data数据包处理模块,如发现Data数据包发生丢失,则先发送RetransReport数据包,后发送RetransReq数据包;并调用多路径转发状态表模块,查询下一跳的物理端口,并将所述Data数据包从该物理端口发送出去;
所述基本数据包处理模块收到RetransReport数据包时,将RetransReport数据包传递给RetransReport数据包处理模块,调用多路径转发状态表模块,查询下一跳的物理端口,并将所述RetransReport数据包发送到下一跳的物理端口中。
2.根据权利要求1所述针对电网广域相位测量系统的弹性可靠路由器,其特征在于,所述Data数据包处理模块的工作过程为:
(1)如果Data数据包的数据类型为原始数据,则跳转执行步骤(3);否则如果所述Data数据包的Data ID记录在已经转发的数据包Data ID集合中时,结束Data数据包处理模块的工作过程,否则将所述Data数据包的Data ID添加到已经转发的数据包Data ID集合中;
(2)如果所述Data数据包的数据类型为单一重传时,则从正在等待的数据包Data ID集合和正在等待单一重传的数据包Data ID集合中清除掉所述Data数据包的Data ID;否则,从正在等待批量重传的数据包Data ID集合中清除掉所述Data数据包的Data ID;然后跳转至步骤(9);
(3)从所述Data数据包中提取Data ID,查询先进先出队列中是否存在该Data ID,如果存在则不进行如下步骤,否则将该Data ID添加到先进先出队列中;
(4)检查所述Data数据包的Data ID是否存在于当前路由器的上游路由器所报告丢失数据包的Data ID集合中,如果存在,则将所述Data数据包的Data ID移除,并跳转至步骤(8);否则,执行步骤(5);
(5)如果所述Data数据包的Data ID与路由器最后转发出去的Data ID差值超过2时,则计算出最近未被重传的Data ID集合,计算出需要发送批量重传请求的Data ID集合,并从等待下一个数据包达到的事件标识集合中删除最近未被重传的Data ID集合;
(6)如果最近未被重传的Data ID集合的大小大于0,则将最近未被重传的Data ID集合打包为RetransReport数据包,并发送到多路径转发状态表模块中主路径的下一跳路由器;然后,沿着当前路由器的冗余子路径以及多路径转发状态表模块转发项中主路径的上游路径发送RetransReq数据包,将所述RetransReport数据包的请求重传的Data ID集合设置为最近未被重传的Data ID集合;将其重传类型设置为批量;将其重传的请求标识设置为唯一值,之后,通过查询多路径转发状态表模块,根据所述RetransReport数据包的可靠弹性路由器子图标识和多路径转发状态表模块中主路径的ID,找到多路径转发状态表模块中主路径的下游路由器节点的物理端口,并发送携带该RetransReq数据包;
(7)如果所述Data数据包的Data ID大于路由器最后转发出去的Data ID,则将路由器最后转发出去的Data ID更新为Data数据包的Data ID;
(8)将所述Data数据包从等待下一个数据包达到的事件标识集合和等待单个数据包重传反馈的RetransReq事件标识集合中删除;
(9)查询多路径转发状态表模块转发项中主路径的下游路由器的物理端口,如果可查询到,将所述Data数据包从该物理端口转发出去;如果未查询到,则将所述Data数据包转发到相位数据集中器;
(10)如果所述Data数据包的Data ID等于路由器最后转发出去的Data ID,则等待下一个到达数据包的Data ID赋值为自最近被转发的Data数据包的Data ID加1开始不在上游路由器所报告丢失数据包的Data ID集合中的最小值,并计算等待下个数据包最大延迟
Figure 895840DEST_PATH_IMAGE001
;其中,
Figure 281822DEST_PATH_IMAGE002
为等待下一个到达数据包的Data ID、
Figure 858297DEST_PATH_IMAGE003
为最近被转发的Data数据包的Data ID、
Figure 846981DEST_PATH_IMAGE004
为相位测量单元发送的两个连续测量数据包之间最大间隔时间、
Figure 130195DEST_PATH_IMAGE005
为该路由器与其邻接的上游路由器之间的上行链路传输延迟最大值;
(11)该路由器开启一个定时计划任务事件,所述计划任务事件延迟执行,如果等待下一个数据包达到的事件标识集合被去除,则该任务终止执行。
3.根据权利要求1所述针对电网广域相位测量系统的弹性可靠路由器,其特征在于,所述RetransReq数据包处理模块的工作过程为:
(1)从RetransReq数据包中提取出请求重传的数据标识集,对于每一个请求重传的Data ID,在内容存储队列模块中通过查找最为匹配的数据包,如果查询值为空,则该过程结束;
(2)从数据包中提取重传类型为批量或单一,将匹配到的数据包打包为一个新的Data数据包,其RSG ID、Path ID、数据类型以及Data ID分别赋值为对应的通信对、入口端口对应的冗余子路径、重传类型以及匹配到的数据包Data ID,并设置Transient标签,并将其发送回所述数据包的进入物理端口中。
4.根据权利要求1所述针对电网广域相位测量系统的弹性可靠路由器,其特征在于,所述RetransReport数据包处理模块的工作过程为:
(a)从RetransReport数据包中提取Data ID的集合记作新发现丢失的数据包Data ID集合,当新发现丢失的数据包Data ID大于0时,将所述新发现丢失的数据包Data ID合并到当前路由器的上游路由器的RetransReport数据包的Data ID集合中,等待下一个到达数据包的Data ID为-1;否则跳转执行步骤(d);
(b)对于每个存在于当前路由器的上游路由器的RetransReport数据包的Data ID集合中的数据包,如果所述数据包存在于等待下一个数据包达到的事件标识集合中,则将所述数据包从等待下一个数据包达到的事件标识集合和等待单个数据包重传反馈的RetransReq事件标识集合中移除,并且计算等待下一个到达数据包的Data ID更新为当前等待下一个到达数据包的Data ID与到达数据包Data ID的最大值;之后将到达数据包的Data ID从等待批量重传的数据包Data ID集合中移除掉;
(c)如果等待下一个到达数据包的Data ID不等于-1,则
Figure 546133DEST_PATH_IMAGE002
赋值为自
Figure 282008DEST_PATH_IMAGE006
开始不在
Figure 572918DEST_PATH_IMAGE007
中的最小值,并计算等待下个数据包最大延迟
Figure 710639DEST_PATH_IMAGE001
;之后,该路由器开启一个定时计划任务事件,该任务延迟执行,如果所述计划任务事件被去除,则该计划任务事件终止执行;
(d)查询多路径转发状态表模块转发项中主路径上下一跳路由器的物理端口,并将该RetransReport数据包从该物理端口转发出去。
5.根据权利要求1所述针对电网广域相位测量系统的弹性可靠路由器,其特征在于,所述基本数据包处理模块的工作过程为:
(1)如果该路由器是冗余子路径上的节点并且非主路径上的节点,则根据该数据包的路径标识、转发方向,在多路径转发状态表模块中查询到对应的转发项,如果转发项非空,则将该数据包打上Transient标签,并从查询到转发项对应的物理端口发送出去;
(2)如果该数据包未标记Transient标签,则将该数据包存储到内容存储队列中;
(3)如果该数据包不是多路径转发状态表模块转发项中主路径上转发的数据包,则根据该数据包的路径标识、转发方向,在本地的转发表中查询到对应的转发项,如果转发项非空,则将该数据包打上Transient标签,并从查询到转发项对应的物理端口发送出去;
(4)如果该数据包的操作符是Data,则调用Data数据包处理模块;如果是RetransReq,则调用RetransReq数据包处理模块;如果是RetransReport,则调用RetransReport数据包处理模块。
6.根据权利要求1所述针对电网广域相位测量系统的弹性可靠路由器,其特征在于,所述内容存储队列模块的工作过程为:
(1)初始条件下,在本地初始化一个先进先出队列,队列中的每个单元大小不小于数据包大小的最大值;
(2)当有数据包存储请求时,将所述数据包推入到所述先进先出队列的末尾,如所述先进先出队列已满,则在此之前将所述先进先出队列头部元素去除;
(3)当有数据包Data ID查询请求时,在所述先进先出队列中搜索与数据包Data ID最为匹配的数据包Data ID,并将匹配到的数据包返回给请求者;如果未查到,则返回空值。
7.根据权利要求1所述针对电网广域相位测量系统的弹性可靠路由器,其特征在于,所述多路径转发状态表模块由多条转发规则项和可靠弹性路由器子图标识对应的转发状态集合构成。
CN202110144836.9A 2021-02-03 2021-02-03 一种针对电网广域相位测量系统的弹性可靠路由器 Active CN112491666B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110144836.9A CN112491666B (zh) 2021-02-03 2021-02-03 一种针对电网广域相位测量系统的弹性可靠路由器
PCT/CN2021/075891 WO2022165822A1 (zh) 2021-02-03 2021-02-07 一种针对电网广域相位测量系统的弹性可靠路由器
US17/566,741 US11437846B2 (en) 2021-02-03 2021-12-31 Reliable resilient router for wide-area phasor measurement system of power grid

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110144836.9A CN112491666B (zh) 2021-02-03 2021-02-03 一种针对电网广域相位测量系统的弹性可靠路由器

Publications (2)

Publication Number Publication Date
CN112491666A true CN112491666A (zh) 2021-03-12
CN112491666B CN112491666B (zh) 2021-06-01

Family

ID=74912161

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110144836.9A Active CN112491666B (zh) 2021-02-03 2021-02-03 一种针对电网广域相位测量系统的弹性可靠路由器

Country Status (2)

Country Link
CN (1) CN112491666B (zh)
WO (1) WO2022165822A1 (zh)

Cited By (1)

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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040229612A1 (en) * 2003-05-15 2004-11-18 Vidya Narayanan Method for improving the reliability of low latency handoffs
CN1685675A (zh) * 2002-10-28 2005-10-19 思科技术公司 内部bgp下载器
CN103973482A (zh) * 2014-04-22 2014-08-06 南京航空航天大学 具有全局通信事务管理能力的容错片上网络系统及方法
CN106487673A (zh) * 2016-12-08 2017-03-08 北京时代民芯科技有限公司 一种基于三模冗余的检错重传容错路由单元
CN108574690A (zh) * 2018-02-12 2018-09-25 东南大学 一种缓解命名数据网络中内容毒害攻击的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615990A (zh) * 2008-06-24 2009-12-30 华为技术有限公司 一种数据重传的方法、系统和装置
US8780706B1 (en) * 2012-01-04 2014-07-15 Cisco Technology, Inc. Controlled distribution of Phasor measurement data using multicast routing
CN108650070A (zh) * 2018-05-11 2018-10-12 全球能源互联网研究院有限公司 一种信息中心网络相量测量单元通信的系统与方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1685675A (zh) * 2002-10-28 2005-10-19 思科技术公司 内部bgp下载器
US20040229612A1 (en) * 2003-05-15 2004-11-18 Vidya Narayanan Method for improving the reliability of low latency handoffs
CN103973482A (zh) * 2014-04-22 2014-08-06 南京航空航天大学 具有全局通信事务管理能力的容错片上网络系统及方法
CN106487673A (zh) * 2016-12-08 2017-03-08 北京时代民芯科技有限公司 一种基于三模冗余的检错重传容错路由单元
CN108574690A (zh) * 2018-02-12 2018-09-25 东南大学 一种缓解命名数据网络中内容毒害攻击的方法

Cited By (3)

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

Also Published As

Publication number Publication date
WO2022165822A1 (zh) 2022-08-11
CN112491666B (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
JP4587053B2 (ja) 通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラム
US8717871B2 (en) Packet retransmission control system, method and program
KR101696776B1 (ko) 향상된 확인응답 및 재송신 메커니즘
JP6264743B2 (ja) 重複パケット抑制
US6954797B1 (en) Data Communication method, terminal equipment, interconnecting installation, data communication system and recording medium
CN1969492A (zh) 动态转发邻接关系
CN104038322B (zh) 中间节点、通信网络及其数据传输控制方法
JP4924285B2 (ja) 通信装置、通信システム、転送効率向上方法及び転送効率向上プログラム
CN112422421B (zh) 一种异构网络的多路径数据包传输方法
CN112491666B (zh) 一种针对电网广域相位测量系统的弹性可靠路由器
US11437846B2 (en) Reliable resilient router for wide-area phasor measurement system of power grid
CN114363260A (zh) 一种针对数据中心网络的数据流调度方法
JP5046197B2 (ja) 通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラム
CN113612737A (zh) 一种基于分组与重传机制的长报文可靠传输方法
JP5761193B2 (ja) 通信装置、通信システム、パケット再送制御方法およびパケット再送制御プログラム
WO2013045509A1 (en) Method of failure detection in an operating system
JP5382556B2 (ja) 通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラム
Yedugundla et al. Probe or Wait: Handling tail losses using Multipath TCP
Fang et al. Design and implementation of embedded rudp
JP5170847B2 (ja) 通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラム
Cha et al. CORN: Cloud-optimized RDMA Networking
Saha et al. StorageFlow: SDN-enabled efficient data regeneration for distributed storage systems
Wang et al. An SSCOP-based link layer protocol for wireless LANs
CN118214705A (zh) 一种基于源路由的存储转发方法及装置
CN115460136A (zh) 一种基于PINet的身份标识网络的存储感知路由方法

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