基于时间敏感的虚拟电厂通信业务流量调度方法及装置与流程

文档序号:28859411发布日期:2022-02-11 23:35阅读:187来源:国知局
基于时间敏感的虚拟电厂通信业务流量调度方法及装置与流程

1.本技术属于电厂通信技术领域,尤其涉及一种基于时间敏感的虚拟电厂通信业务流量调度方法及装置。


背景技术:

2.信息通信技术是虚拟电厂系统中关键技术之一,通过信息通信技术,使虚拟电厂作为一个特殊电厂参与电力市场和电网运行的电源协调管理系统,聚合分布式能源(distributed energy resource,简称为der),进而参与电力市场和辅助市场运行,为配电网和输电网提供管理和辅助服务。
3.由于虚拟电厂需要能够接收各个分布式灵活资源当前的状态信息,且需要向控制目标发送控制信号,因此需要应用基于互联网的通信技术向系统提供高可靠性和高确定性的无线服务,保证对时间的高度敏感。即,需要保证调度任务在一定的时延内可以完成传输、处理和响应等操作,从而实现调度控制中周期性数据和非周期性数据在同一网络中的传输需求。tsn技术的引入,解决了分布式资源异构接入的时延问题,为时间触发流量提供了确定性的保障措施,保证了调度过程中有界时延的确定性。
4.然而,现有的调度速度和开销的优化,没有考虑网络更新过程中的确定性传输。在网络更新的过程中,旧的流帧可能会被转发到错误的目的地,因为这两个时间表的混合使用和新的流帧可能会碰撞旧的流帧,如果它们的出发时间在特定的设备上是相同的,那么无法保证网络传输的一致性。
5.针对如何在流量调度基本的更新机制下,在保证网络更新时不丢失帧的同时不引入额外的更新开销,目前尚未提出有效的解决方案。


技术实现要素:

6.本技术目的在于提供一种基于时间敏感的虚拟电厂通信业务流量调度方法及装置,可以为网络生成可行的调度计划表,以确保网络更新过程中保证不丢失帧,同时不引入额外的更新时间。
7.一方面,提供了一种基于时间敏感的虚拟电厂通信业务流量调度方法,所述方法包括:
8.初始化目标网络的网络拓扑结构和所述目标网络的流源宿节点信息;
9.根据初始化后的网络拓扑结构和流源宿节点信息,生成第一调度时刻表;
10.按照流的周期大小升序为第一调度时刻表进行排序,得到第二调度时刻表;
11.对第二调度时刻表进行调整,直至任意两个流之间不存在冲突;
12.根据调整后的第二调度时刻表,确定每一个流在其数据链路上每个设备的发送时间和在接收节点上的接收时间。
13.在一个实施方式中,在生成第一调度时刻表之后,还包括:
14.向所述目标网络中的设备发送第一调度时刻表,以按照所述第一调度时刻表进行
部署;
15.在得到调整后的第二调度时刻表之后,还包括:
16.向所述目标网络中的设备发送调整后的第二调度时刻表,以按照所述调整后的第二调度时刻表进行部署;
17.其中,所述第一调度时刻表和调整后的第二调度时刻表同时存放在内存空间,通过版本号对第一调度时刻表和调整后的第二调度时刻表进行区分。
18.在一个实施方式中,对第二调度时刻表进行调整,直至任意两个流之间不存在冲突,包括:
19.按照如下约束规则进行对第二调度时刻表进行调整:每个流的源的发送时间小于其周期、每个流的所有帧都必须在规定的端到端延迟要求内及时到达其目的地、帧在路径的接收方处的发送时间必须大于在该路径的发送方处的发送时间、任意两个流在公共路径上的发送时间没有任何重叠。
20.在一个实施方式中,每一个流在其数据链路上每个设备的发送时间和在接收节点上的接收时间表示为:
[0021][0022]
其中,表示单个流fi在路径[vk,v
l
]上的发送时间,[vk,v
l
]表示有序的数据流,由vk到v
l
,fi.vl表示发送方至接收方路径上的单个数据流链路构成的虚拟链路结合,集合为虚拟链路,f表示所有数据流构成的集合,表示流在节点v的接收时间,fi.dst表示流的接收节点。
[0023]
在一个实施方式中,对第二调度时刻表进行调整,直至任意两个流之间不存在冲突,包括:
[0024]
声明第一变量等于0,表示当前已完成流调度的数量,第一变量的最大值为新流数量;
[0025]
将第一变量赋值给第二变量,通过第二变量标识当前数据流集合的范围;
[0026]
确定当前数据流集合是否满足预定冲突约束条件,如果不满足,则回溯至上一个新流,并构建满足预定冲突约束条件的调度方案,直至完成所有新流的冲突判断。
[0027]
另一方面,提供了一种基于时间敏感的虚拟电厂通信业务流量调度装置,包括:
[0028]
初始化模块,用于初始化目标网络的网络拓扑结构和所述目标网络的流源宿节点信息;
[0029]
生成模块,用于根据初始化后的网络拓扑结构和流源宿节点信息,生成第一调度时刻表;
[0030]
排序模块,用于按照流的周期大小升序为第一调度时刻表进行排序,得到第二调度时刻表;
[0031]
调整模块,用于对第二调度时刻表进行调整,直至任意两个流之间不存在冲突;
[0032]
确定模块,用于根据调整后的第二调度时刻表,确定每一个流在其数据链路上每个设备的发送时间和在接收节点上的接收时间。
[0033]
在一个实施方式中,上述装置还包括:
[0034]
第一部署模块,用于在生成第一调度时刻表之后,向所述目标网络中的设备发送
第一调度时刻表,以按照所述第一调度时刻表进行部署;
[0035]
第二部署模块,用于在得到调整后的第二调度时刻表之后,向所述目标网络中的设备发送调整后的第二调度时刻表,以按照所述调整后的第二调度时刻表进行部署;
[0036]
其中,所述第一调度时刻表和调整后的第二调度时刻表同时存放在内存空间,通过版本号对第一调度时刻表和调整后的第二调度时刻表进行区分。
[0037]
在一个实施方式中,所述调整模块具体用于按照如下约束规则进行对第二调度时刻表进行调整:每个流的源的发送时间小于其周期、每个流的所有帧都必须在规定的端到端延迟要求内及时到达其目的地、帧在路径的接收方处的发送时间必须大于在该路径的发送方处的发送时间、任意两个流在公共路径上的发送时间没有任何重叠。
[0038]
又一方面,提供了一种电子设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述方法的步骤。
[0039]
又一方面,提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述方法的步骤。
[0040]
本技术提供的了一种基于时间敏感的虚拟电厂通信业务流量调度方法,通过初始化后的网络拓扑结构和流源宿节点信息,生成第一调度时刻表;通过按照流的周期大小升序为调度时刻表进行排序,得到第二调度时刻表,对第二调度时刻表进行调整,直至任意两个流之间不存在冲突,根据调整后的第二调度时刻表,确定每一个流在其数据链路上每个设备的发送时间和在接收节点上的接收时间。即,在进行流量调度的过程中,生成了两个调度时刻表,先通过第一时刻表进行调度,再通过第二时刻表进行调度,使得可以最快时间响应流量调度需求,以确保网络更新过程中保证不丢失帧,同时不引入额外的更新时间。进一步的,第二调度时刻表是以无冲突为约束检测的,因此,可以保证调度表的正确性和流间无冲突,较合理地对冲突流进行调整,同时也保证了网络能动态配置。
附图说明
[0041]
为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0042]
图1是本技术提供的基于时间敏感的虚拟电厂通信业务流量调度方法一种实施例的方法流程图;
[0043]
图2是本技术提供的基于时间敏感的虚拟电厂通信业务流量调度装置一种实施例的模块结构示意图。
具体实施方式
[0044]
为了使本技术领域的人员更好地理解本技术中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
[0045]
图1是本技术提供的基于时间敏感的虚拟电厂通信业务流量调度方法一种实施例的方法流程图。虽然本技术提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本技术实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
[0046]
具体的,如图1所示,上述的基于时间敏感的虚拟电厂通信业务流量调度方法可以包括如下步骤:
[0047]
步骤101:初始化目标网络的网络拓扑结构和所述目标网络的流源宿节点信息;
[0048]
步骤102:根据初始化后的网络拓扑结构和流源宿节点信息,生成第一调度时刻表;
[0049]
步骤103:按照流的周期大小升序为调度时刻表进行排序,得到第二调度时刻表;
[0050]
步骤104:对第二调度时刻表进行调整,直至任意两个流之间不存在冲突;
[0051]
步骤105:根据调整后的第二调度时刻表,确定每一个流在其数据链路上每个设备的发送时间和在接收节点上的接收时间。
[0052]
在上例中,通过初始化后的网络拓扑结构和流源宿节点信息,生成第一调度时刻表;通过按照流的周期大小升序为调度时刻表进行排序,得到第二调度时刻表,对第二调度时刻表进行调整,直至任意两个流之间不存在冲突,根据调整后的第二调度时刻表,确定每一个流在其数据链路上每个设备的发送时间和在接收节点上的接收时间。即,在进行流量调度的过程中,生成了两个调度时刻表,先通过第一时刻表进行调度,再通过第二时刻表进行调度,使得可以最快时间响应流量调度需求,以确保网络更新过程中保证不丢失帧,同时不引入额外的更新时间。进一步的,第二调度时刻表是以无冲突为约束检测的,因此,可以保证调度表的正确性和流间无冲突,较合理地对冲突流进行调整,同时也保证了网络能动态配置。
[0053]
在本例中采用了两阶段更新方式的流量调度算法,第一阶段向所有设备部署新调度,第二阶段开始发送带新版本号标记的数据流。进一步的,将新旧流表同时存放在内存空间,保证了网络能动态配置,从而使得工业控制网络在不增加更新开销的情况下实现传输一致性,且确保了所有数据在一个流量计划下完成,以及网络流量的灵活控制。具体的,可以在生成第一调度时刻表之后,向所述目标网络中的设备发送第一调度时刻表,以按照所述第一调度时刻表进行部署;然后,在得到调整后的第二调度时刻表之后,向所述目标网络中的设备发送调整后的第二调度时刻表,再按照所述调整后的第二调度时刻表进行部署;其中,所述第一调度时刻表和调整后的第二调度时刻表同时存放在内存空间,通过版本号对第一调度时刻表和调整后的第二调度时刻表进行区分。
[0054]
在实际进行调度时刻表调整的时候,可以按照如下约束规则进行对第二调度时刻表进行调整:每个流的源的发送时间小于其周期、每个流的所有帧都必须在规定的端到端延迟要求内及时到达其目的地、帧在路径的接收方处的发送时间必须大于在该路径的发送方处的发送时间、任意两个流在公共路径上的发送时间没有任何重叠。
[0055]
具体的是,可以是进行如下四个约束检测:
[0056]
1)流周期约束:
[0057]
对于每个流,源的发送时间应当小于其周期。注意,如果流在源上的帧生成时间与其离开的时间不同,则一帧的生成时间为发送时间。
[0058][0059]
2)端到端延迟约束:
[0060]
对每个流而言,其所有帧都必须在规定的端到端延迟要求内及时到达其目的地。
[0061][0062]
3)发送顺序约束:
[0063]
一个帧在路径[vk,v
l
]上能够进行传输的前提是该帧已经到达vk,因此,帧在v
l
处的发送时间必须大于在vk的发送时间。
[0064][0065]
4)无发送时间重叠约束:
[0066]
为了避免任何拥塞发生,任意两个流在公共路径上的发送时间不应该有任何重叠。如果有发送时间重叠,则发生流冲突,造成帧的丢失。因此该约束对于基本约束来说最关键。
[0067][0068][0069][0070][0071][0072][0073]
x
i,j*
∈{0,1}
[0074][0075]
其中m满足c满足满足当且仅当
[0076]
上述的每一个流在其数据链路上每个设备的发送时间和在接收节点上的接收时间可以表示为:
[0077]
[0078]
其中,表示单个流fi在路径[vk,v
l
]上的发送时间,[vk,v
l
]表示有序的数据流,由vk到v
l
,fi.vl表示发送方至接收方路径上的单个数据流链路构成的虚拟链路结合,集合为虚拟链路,f表示所有数据流构成的集合,表示流在节点v的接收时间,fi.dst表示流的接收节点。
[0079]
在进行约束判断的时候,可以采用回溯的策略进行,例如,可以声明第一变量等于0,表示当前已完成流调度的数量,第一变量的最大值为新流数量;将第一变量赋值给第二变量,通过第二变量标识当前数据流集合的范围;确定当前数据流集合是否满足预定冲突约束条件,如果不满足,则回溯至上一个新流,并构建满足预定冲突约束条件的调度方案,直至完成所有新流的冲突判断。
[0080]
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本技术,并不构成对本技术的不当限定。
[0081]
考虑到网络更新和流量调度算法在tsn工作组设定的ieee 802.1qbv标准下通过计算特定时间下交换机中数据流的传输时间,保证了虚拟电厂的聚合资源调度业务过程中的时间敏感流在tsn中的确定传输,从而为网络提供了实时传输功能和网络灵活性,确保了数字化优势的发挥。
[0082]
首先,考虑到需要保证设计算法的高可调度性,高可调度性指的是算法无法找到任何可接受的调度计划的情况基本不会发生或较少发生,而时间触发系统中的流量调度问题与系统设计中许多其他问题一样,可以被表述为约束系统的解,不同类型问题的约束具有不同的特点,因此,可以针对不同类型问题开发有不同的专门求解器,以提高算法的可调度性。目前已经提出过不同的调度方法,例如:基于可满足模理论(smt),基于混合整数线性规划(milp)和混合临界调度等。此外,调度路由方案,即,在确定每个数据流的路径的同时考虑调度时间,从而有效减少对调度时间的计算,这也可以提高可调度性,例如:ksp路由算法。
[0083]
其次,需要保证虚拟电厂网络设置频繁变化下的动态配置。调度算法的时间计算往往需要动态配置,且网络设置会频繁变化。动态应用程序的出现,例如,实时物联网(rt-iot)和列车通信网络,工业网络提出了新的挑战,也就是说,调度网络必须能够适应频繁的变化,例如:网络拓扑发生变化(例如链接失败)、设备插入和删除以及时间触发流的添加和删除。
[0084]
最后,是网络更新机制。网络更新机制直接影响着流量调度算法的执行过程和结果,主要分为以下三类:1)两阶段更新:整个更新过程分为两个阶段。在不可观察阶段,控制器在不启用设备的情况下向其部署新的调度,然后在一键式阶段,控制器初始化入口设备以发送带有新版本号的数据流,缺点是会引入额外的流表空间,也会造成数据流冲突。2)有序更新:在每一轮,控制器等待直到所有交换机完成更新,然后才调用下一轮。这个方法不需要额外的流表空间,但同样会造成错误转发等传输不一致情况。3)定时更新:将时间触发机制融合前两种更新方式,但这种方式无法处理死锁情况。
[0085]
在本例中,提出了一种基于时间敏感的虚拟电厂通信调度方法。首先,为了避免可调度性的损失,即避免算法无法找到任何可接受的调度计划情况发生,在本例中采用贪心算法和回溯策略的思想,确保在最坏的情况下能保持与最简单的一一列举判断约束的方法
一致的可调度性能。其次,为了避免在实际工业应用中对数百万变量约束调度需要数小时的时间花费,以及对内存的大量占用,在本例中采用两阶段更新方式的流量调度算法,第一阶段向所有设备部署新调度,第二阶段开始发送带新版本号标记的数据流。进一步的,将新旧流表同时存放在内存空间,保证了网络能动态配置,从而使得工业控制网络在不增加更新开销的情况下实现传输一致性,且确保了所有数据在一个流量计划下完成,以及网络流量的灵活控制。
[0086]
例如,虚拟电厂通信网络的物理拓扑形式化地被建模为一个无向图g(v,e),其中,v是所有交换机和主机的集合,e是所有被连接设备间全双工数据链路的集合。两个顶点之间的物理链接定义了其两个定向数据流链接,可以表示为e={(v1,v2)|v1,v2∈v}。数据流链接的集合用l表示,即其中(v1,v2)表示无序对,[v1,v2]表示有序对。数据流路径是由一系列的数据流链接所构成的,在网络中,数据流路径即一条有向路径,从给出的发送方节点开始至一个接收方节点结束。从发送方v0至接收方vn的数据流路径可以形式化地表示为p=[[v0,v1],

,[v
n-1
,vn]]。
[0087]
网络中传输的所有数据流构成了集合f,单个流fi∈f从一个源节点发送至一个目的节点,也称发送方至接收方路径上的单个数据流链路构成的集合为虚拟链路,用fi.vl表示。一时间触发流fi可以被表示为:fi={fi.prd,fi.len,fi.ddl,fi.src,fi.dst,fi.vl},其中,fi.prd表示流的周期,fi.len表示流经过的节点数,fi.ddl表示流的端到端延迟,fi.src表示流的源节点,fi.dst表示流的接收节点,fi.vl表示流的链路集合。fi.vl作为调度算法的输入,不考虑调度时的节点路由选择问题。此外,用来表示流在路径[vk,v
l
]上的发送时间,并将其简化为因为对于不同的v
l
,流的离开时间是相同的。如果v∈fi.dst,则表示流在节点v的接收时间。
[0088]
算法结果如下的调度s表示:
[0089]
即计算每一个流在其数据链路上每个设备的发送时间和在接收节点上的接收时间。
[0090]
流fi在第n个周期,设备vk上的帧发送时间为此外,帧到达目的地需要经历一系列的延迟,包括处理延迟d
proc
,排队延迟d
que
,发送延迟d
send
以及传输延迟d
prop
,其中d
proc
,d
send
,d
prop
是常量,已知先验。对于d
que
,如果通过调度,任意两个时间触发流之间没有重叠发送情况,则排队延迟也是确定的。本方法的目的即消除重叠发送,消除排队延迟,实现零丢帧,由于前三个延迟为常量,因此,在本例中使用表示在链路[vk,v
l
]三者延迟之和。
[0091]
最后,流fi在节点v
l
的确切接收时间为:
[0092]
对于时间触发流的流量调度问题而言,最关键的是找到满足约束的可行解决方案,仅需要找到一组设备时间可以保证传输一致性和时间敏感特性即可,这要求在网络更新时尽快为网络拓扑找到一组可行的解,而不需要找到端到端延迟最小的最优解。因此为了提高算法性能,可以将目标函数设为0,即不需要进行优化操作。
[0093]
为了求解满足需求的调度方案,可以对生成的调度计划表进行约束条件检查,在
约束条件不合格时进行修改,再继续进行判断是否满足约束:
[0094]
1)流周期约束:
[0095]
对于每个流,源的发送时间应当小于其周期。注意,如果流在源上的帧生成时间与其离开的时间不同,则一帧的生成时间为发送时间。
[0096][0097]
2)端到端延迟约束:
[0098]
对每个流而言,其所有帧都必须在规定的端到端延迟要求内及时到达其目的地。
[0099][0100]
3)发送顺序约束:
[0101]
一个帧在路径[vk,v
l
]上能够进行传输的前提是该帧已经到达vk,因此,帧在v
l
处的发送时间必须大于在v
l
的发送时间。
[0102][0103]
4)无发送时间重叠约束:
[0104]
为了避免任何拥塞发生,任意两个流在公共路径上的发送时间不应该有任何重叠。如果有发送时间重叠,则发生流冲突,造成帧的丢失。因此该约束对于基本约束来说最关键。
[0105][0106][0107][0108][0109][0110][0111]
x
i,j*
∈{0,1}
[0112][0113]
其中m满足c满足满足当且仅当
[0114]
在本例中,提供了一种基于时间敏感的电力无线专网回传网流量调度方法(即,基于贪心和回溯策略的流量调度算法),可以包括按照如下算法实现:
[0115]
输入:g
*
(v
*
,e
*
)、f、f
*
[0116]
输出:
[0117][0118][0119]
计时结束,监测运行时间。
[0120]
即,该流量调度算法可以包括如下步骤:
[0121]
s1:开始计时,计算算法运行时间,以便在规定时间内得到流量调度表(对应上述算法的第1行)。
[0122]
s2:初始化网络拓扑和流源宿节点信息,随机生成调度时刻表(对应上述算法的第2行)。
[0123]
s3:按流的周期大小升序给新流集合进行排序(对应上述算法的第3行)。
[0124]
s4:将新流的调度时刻表进行调整,使得任意两个新流之间没有冲突,即符合约束条件的规定(对应上述算法的第4-9行)。
[0125]
s5:如果初始化问题是否可解标志solved为false(对应上述算法的第10行),则进入主循环,声明i=0表示目前已完成流调度的数量,最大值为新流数量(对应上述算法的第11行)。声明j=i,标识当前工作流集合fs的范围(对应上述算法的第12-13行)。判断fs是否满足约束(对应上述算法的第14-24行)。若当前fs不可解,则开始回溯上一个新流,并构建同时满足的调度方案(对应上述算法的第25-26行)。输出解(对应上述算法的第27-30行)。输出运行时间(对应上述算法的第31行)。
[0126]
在上例中,为基于时间敏感的虚拟电厂业务设计了适合的网络更新和流量调度算法,为网络生成可行的调度计划表,确保网络更新过程中保证不丢失帧,同时不引入额外的更新时间。针对算法设计思想,巧妙的运用了贪心算法和回溯的策略,较大程度上降低了内存和运行时间的花费,且提出了完善的约束检测算法流程,保证了调度表的正确性和流间无冲突,从而可以较合理地对冲突流进行调整,同时也保证了网络能动态配置。
[0127]
基于同一发明构思,本技术实施例中还提供了一种基于时间敏感的虚拟电厂通信业务流量调度装置,如下面的实施例所述。由于基于时间敏感的虚拟电厂通信业务流量调度装置解决问题的原理与基于时间敏感的虚拟电厂通信业务流量调度方法相似,因此基于时间敏感的虚拟电厂通信业务流量调度装置的实施可以参见基于时间敏感的虚拟电厂通信业务流量调度方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图2是本技术实施例的基于时间敏感的虚拟电厂通信业务流量调度装置的一种结构框图,如图2所示,可以包括:初始化模块201、生成模块202、排序模块203、调整模块204和确定模块205,下面对该结构进行说明。
[0128]
初始化模块201,用于初始化目标网络的网络拓扑结构和所述目标网络的流源宿节点信息;
[0129]
生成模块202,用于根据初始化后的网络拓扑结构和流源宿节点信息,生成第一调度时刻表;
[0130]
排序模块203,按照流的周期大小升序为第一调度时刻表进行排序,得到第二调度时刻表;
[0131]
调整模块204,用于对第二调度时刻表进行调整,直至任意两个流之间不存在冲突;
[0132]
确定模块205,用于根据调整后的第二调度时刻表,确定每一个流在其数据链路上每个设备的发送时间和在接收节点上的接收时间。
[0133]
在一个实施方式中,上述装置还包括:第一部署模块,用于在生成第一调度时刻表
之后,向所述目标网络中的设备发送第一调度时刻表,以按照所述第一调度时刻表进行部署;第二部署模块,用于在得到调整后的第二调度时刻表之后,向所述目标网络中的设备发送调整后的第二调度时刻表,以按照所述调整后的第二调度时刻表进行部署;其中,所述第一调度时刻表和调整后的第二调度时刻表同时存放在内存空间,通过版本号对第一调度时刻表和调整后的第二调度时刻表进行区分。
[0134]
在一个实施方式中,上述调整模块204具体可以用于按照如下约束规则进行对第二调度时刻表进行调整:每个流的源的发送时间小于其周期、每个流的所有帧都必须在规定的端到端延迟要求内及时到达其目的地、帧在路径的接收方处的发送时间必须大于在该路径的发送方处的发送时间、任意两个流在公共路径上的发送时间没有任何重叠。
[0135]
在一个实施方式中,每一个流在其数据链路上每个设备的发送时间和在接收节点上的接收时间表示为:
[0136][0137]
其中,表示单个流fi在路径[vk,v
l
]上的发送时间,[vk,v
l
]表示有序的数据流,由vk到v
l
,fi.vl表示发送方至接收方路径上的单个数据流链路构成的虚拟链路结合,集合为虚拟链路,f表示所有数据流构成的集合,表示流在节点v的接收时间,fi.dst表示流的接收节点。
[0138]
在一个实施方式中,对第二调度时刻表进行调整,直至任意两个流之间不存在冲突,可以包括:声明第一变量等于0,表示当前已完成流调度的数量,第一变量的最大值为新流数量;将第一变量赋值给第二变量,通过第二变量标识当前数据流集合的范围;确定当前数据流集合是否满足预定冲突约束条件,如果不满足,则回溯至上一个新流,并构建满足预定冲突约束条件的调度方案,直至完成所有新流的冲突判断。
[0139]
本技术的实施例还提供能够实现上述实施例中的基于时间敏感的虚拟电厂通信业务流量调度方法中全部步骤的一种电子设备的具体实施方式,所述电子设备具体包括如下内容:处理器(processor)、存储器(memory)、通信接口(communications interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的基于时间敏感的虚拟电厂通信业务流量调度方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
[0140]
步骤1:初始化目标网络的网络拓扑结构和所述目标网络的流源宿节点信息;
[0141]
步骤2:根据初始化后的网络拓扑结构和流源宿节点信息,生成第一调度时刻表;
[0142]
步骤3:按照流的周期大小升序为调度时刻表进行排序,得到第二调度时刻表;
[0143]
步骤4:对第二调度时刻表进行调整,直至任意两个流之间不存在冲突;
[0144]
步骤5:根据调整后的第二调度时刻表,确定每一个流在其数据链路上每个设备的发送时间和在接收节点上的接收时间。
[0145]
从上述描述可知,本技术实施例通过初始化后的网络拓扑结构和流源宿节点信息,生成第一调度时刻表;通过按照流的周期大小升序为调度时刻表进行排序,得到第二调度时刻表,对第二调度时刻表进行调整,直至任意两个流之间不存在冲突,根据调整后的第二调度时刻表,确定每一个流在其数据链路上每个设备的发送时间和在接收节点上的接收
时间。即,在进行流量调度的过程中,生成了两个调度时刻表,先通过第一时刻表进行调度,再通过第二时刻表进行调度,使得可以最快时间响应流量调度需求,以确保网络更新过程中保证不丢失帧,同时不引入额外的更新时间。进一步的,第二调度时刻表是以无冲突为约束检测的,因此,可以保证调度表的正确性和流间无冲突,较合理地对冲突流进行调整,同时也保证了网络能动态配置。
[0146]
本技术的实施例还提供能够实现上述实施例中的基于时间敏感的虚拟电厂通信业务流量调度方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的基于时间敏感的虚拟电厂通信业务流量调度方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
[0147]
步骤1:初始化目标网络的网络拓扑结构和所述目标网络的流源宿节点信息;
[0148]
步骤2:根据初始化后的网络拓扑结构和流源宿节点信息,生成第一调度时刻表;
[0149]
步骤3:按照流的周期大小升序为调度时刻表进行排序,得到第二调度时刻表;
[0150]
步骤4:对第二调度时刻表进行调整,直至任意两个流之间不存在冲突;
[0151]
步骤5:根据调整后的第二调度时刻表,确定每一个流在其数据链路上每个设备的发送时间和在接收节点上的接收时间。
[0152]
从上述描述可知,本技术实施例通过初始化后的网络拓扑结构和流源宿节点信息,生成第一调度时刻表;通过按照流的周期大小升序为调度时刻表进行排序,得到第二调度时刻表,对第二调度时刻表进行调整,直至任意两个流之间不存在冲突,根据调整后的第二调度时刻表,确定每一个流在其数据链路上每个设备的发送时间和在接收节点上的接收时间。即,在进行流量调度的过程中,生成了两个调度时刻表,先通过第一时刻表进行调度,再通过第二时刻表进行调度,使得可以最快时间响应流量调度需求,以确保网络更新过程中保证不丢失帧,同时不引入额外的更新时间。进一步的,第二调度时刻表是以无冲突为约束检测的,因此,可以保证调度表的正确性和流间无冲突,较合理地对冲突流进行调整,同时也保证了网络能动态配置。
[0153]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0154]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0155]
虽然本技术提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
[0156]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0157]
虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
[0158]
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0159]
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0160]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0161]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0162]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0163]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0164]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0165]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0166]
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0167]
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0168]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0169]
以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1