一种周期性消息的调度方法与装置、计算机可读存储介质制造方法及图纸

技术编号:22054604 阅读:50 留言:0更新日期:2019-09-07 15:02
本申请公开了一种周期性消息的调度方法与装置、计算机可读存储介质,所述方法包括:使用最大公约数对多个周期变量的调度周期值组成的数组Φ进行约简,得到数组Φr;当Φr中存在多个相同的不等于1的元素时,对元素合并处理,得到数组Φrc,Φrc中元素没有公约数且没有重复的不等于1的元素;计算Φrc中等于1的元素数W1,以及不等于1的元素中包括的最多两两互质的元素数W2,计算调度表的秩W=W1+W2;构造初始调度表,并调整初始调度表中各周期变量分布,使得各行的周期变量数小于或等于调度表的秩,根据调整后的初始调度表调度周期变量。本申请通过计算调度表的秩,使构建的调度表具有最佳的行均匀度,所造成的变量周期通信迟延最小。

A Scheduling Method and Device for Periodic Messages and Computer Readable Storage Media

【技术实现步骤摘要】
一种周期性消息的调度方法与装置、计算机可读存储介质
本专利技术涉及但不限于工业自动化
,具体涉及一种周期性消息的调度方法与装置、计算机可读存储介质。
技术介绍
WorldFIP(WorldFactoryInstrumentationProtocol)现场总线是一种实时性、调度式的现场总线技术,在工业过程控制中有着广泛的应用。调度表是WorldFIP现场总线实现实时通信的重要技术。调度表存储在总线仲裁器(BusArbitrator,BA)中,总线仲裁器按照调度表中的信息实现对周期数据、非周期数据通信的调度,是WorldFIP现场总线网络实现实时性、确定性通信的基础。如图1所示,WorldFIP总线调度表是在一个宏周期中由若干个微周期构成的,在一个微周期的前面部分为周期数据通信部分,排布着多个受调度的周期变量;在微周期的后面部分则为非周期通信部分。在形式上,调度表体现为由多个行组成,每行对应一个微周期。为满足各个受调度变量通信的实时性,调度表中所包含的各个受调度变量的刷新周期是不同的,从而调度表每行中所包含的受调度变量的个数是不同的,因此造成调度表各行长度的不均匀性。这种调度表的行不均匀性是造成变量周期通信的周期时间抖动(CommunicationJitter,CJ)的主要原因,是影响通信实时性的一个重要因素。如图2所示,变量E在微周期1和微周期2之间产生周期通信迟延△,也即CJ值形成的原因。可见,调度表行排布的不均匀性会造成一个或多个变量周期通信的迟延。当这种不均匀性较大时,可能造成的周期通信迟延值也较大,严重时会造成以WorldFIP现场总线作为通信网络的控制系统的控制逻辑错误。目前有多种构建WorldFIP总线调度表的方法,诸如最大公约数/最小公倍数(HighestCommonFactor/LowestCommonMultiple,HCF/LCM)法、单调速率(RateMonotonic,RM)法、最小截止期优先(EarliestDeadlineFirst,EDF)法、延迟释放(DeferredRelease,DR)法等,但这些方法都具有一个共同的问题,就是其所构建出来的调度表的行均匀度都不是最佳的,甚至有些方法构造出的调度表的行均匀度很差,因此严重影响总线数据通信的实时性和正确性。
技术实现思路
本专利技术实施例提供了一种周期性消息的调度方法与装置、计算机可读存储介质,能够使构建出来的调度表具有最佳的行均匀度。为了达到本专利技术目的,本专利技术实施例的技术方案是这样实现的:本专利技术实施例提供了一种周期性消息的调度方法,包括:将多个周期变量的调度周期值组成数组Φ,使用所述多个调度周期值的最大公约数对数组Φ中的各调度周期值进行约简,得到数组Φr;当数组Φr中存在多个相同的不等于1的元素时,对所述元素进行合并处理,得到合并处理后的数组Φrc,所述数组Φrc中所有元素没有公约数且没有重复的不等于1的元素;计算数组Φrc中等于1的元素的个数W1,以及不等于1的元素中包括的最多的两两互质的元素个数W2,根据W1和W2计算调度表的秩W,其中:W=W1+W2;构造初始调度表,并调整初始调度表中各周期变量的分布,使得各行的周期变量数小于或等于调度表的秩,根据调整后的初始调度表调度所述周期变量。在一种示例性实施例中,所述当数组Φr中存在多个相同的不等于1的元素时,对所述元素进行合并处理包括:当所述数组Φr中包括n个等于n的元素时,n为大于1的自然数,将n个等于n的元素合并处理为1个1;当所述数组Φr中包括重复的偶数元素Y时,将每两个重复的偶数元素Y合并处理为一个元素Y为大于1的偶数;当所述数组Φr中包括重复的不等于1的奇数元素X时,检测所述数组Φr中是否包含与所述奇数元素X不互质的元素M,如果所述数组Φr中包括与所述奇数元素X不互质的元素M,将所述奇数元素X与所述元素M进行合并处理;循环上述合并处理的步骤,直至所述数组Φr中不存在多个相同的不等于1的元素。在一种示例性实施例中,所述将所述奇数元素X与所述元素M进行合并处理,包括:计算所述奇数元素X与所述元素M的最小公倍数Z,将每个奇数元素X兑换成个元素Z,将每个元素M兑换成个元素Z;检测兑换后的元素Z的总个数是否大于或等于Z,如果大于或等于Z,将Z个元素Z合并为1个1;如果小于Z,将所述重复的奇数元素X合并至所述元素M中。在一种示例性实施例中,所述构造初始调度表,包括:计算所述多个调度周期值的最小公倍数;将所有的所述周期变量按照预设的排列顺序插入所述初始调度表的第一行,所述初始调度表的微周期为所述最大公约数,所述初始调度表的行数为所述最小公倍数除以所述最大公约数;按照所述多个周期变量的调度周期值,在所述初始调度表的第二行至最末一行插入所述多个周期变量。在一种示例性实施例中,所述调整初始调度表中各周期变量的分布,使得各行的周期变量数小于或等于调度表的秩,包括:对所述初始调度表的所有行,执行:如果该行的所述周期变量的数目大于所述调度表的秩W,且Φrc中前W个数据是互质的,则将第W+1列至最末一列的所述周期变量,依次移动至所述初始调度表中包含最少数目的所述周期变量的行中,并在每次移动一个所述周期变量时,根据该周期变量的微周期值移动其它行的该周期变量。在一种示例性实施例中,所述预设的排列顺序,为所述周期变量的微周期值由小到大或由大到小的顺序。本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如以上任一所述的周期性消息的调度方法的步骤。本专利技术实施例还提供了一种周期性消息的调度装置,包括处理器及存储器,所述处理器用于执行所述存储器中存储的程序,以实现如以上任一所述的周期性消息的调度方法的步骤。本专利技术实施例还提供了一种周期性消息的调度装置,包括秩计算模块、调度表构造模块和调度模块,其中:秩计算模块,用于将多个周期变量的调度周期值组成数组Φ,使用所述多个调度周期值的最大公约数对数组Φ中的各调度周期值进行约简,得到数组Φr;当数组Φr中存在多个相同的不等于1的元素时,对所述元素进行合并处理,得到合并处理后的数组Φrc,所述数组Φrc中所有元素没有公约数且没有重复的不等于1的元素;计算数组Φrc中等于1的元素的个数W1,以及不等于1的元素中包括的最多的两两互质的元素个数W2,根据W1和W2计算调度表的秩W,其中:W=W1+W2;调度表构造模块,用于构造初始调度表,并调整初始调度表中各周期变量的分布,使得各行的周期变量数小于或等于调度表的秩;调度模块,用于根据调整后的初始调度表调度所述周期变量。在一种示例性实施例中,所述当数组Φr中存在多个相同的不等于1的元素时,所述秩计算模块的对所述元素进行合并处理,包括:当所述数组Φr中包括n个等于n的元素时,n为大于1的自然数,将n个等于n的元素合并处理为1个1;当所述数组Φr中包括重复的偶数元素Y时,将每两个重复的偶数元素Y合并处理为一个元素Y为大于1的偶数;当所述数组Φr中包括重复的不等于1的奇数元素X时,检测所述数组Φr中是否包含与所述奇数元素X不互质的元素M,如果所述数组Φr中包括与所述奇数元素X不互质的元素M,将所述奇数元素X与所述元素M进行合并处本文档来自技高网
...

【技术保护点】
1.一种周期性消息的调度方法,其特征在于,包括:将多个周期变量的调度周期值组成数组Φ,使用所述多个调度周期值的最大公约数对数组Φ中的各调度周期值进行约简,得到数组Φr;当数组Φr中存在多个相同的不等于1的元素时,对所述元素进行合并处理,得到合并处理后的数组Φrc,所述数组Φrc中所有元素没有公约数且没有重复的不等于1的元素;计算数组Φrc中等于1的元素的个数W1,以及不等于1的元素中包括的最多的两两互质的元素个数W2,根据W1和W2计算调度表的秩W,其中:W=W1+W2;构造初始调度表,并调整初始调度表中各周期变量的分布,使得各行的周期变量数小于或等于调度表的秩,根据调整后的初始调度表调度所述周期变量。

【技术特征摘要】
1.一种周期性消息的调度方法,其特征在于,包括:将多个周期变量的调度周期值组成数组Φ,使用所述多个调度周期值的最大公约数对数组Φ中的各调度周期值进行约简,得到数组Φr;当数组Φr中存在多个相同的不等于1的元素时,对所述元素进行合并处理,得到合并处理后的数组Φrc,所述数组Φrc中所有元素没有公约数且没有重复的不等于1的元素;计算数组Φrc中等于1的元素的个数W1,以及不等于1的元素中包括的最多的两两互质的元素个数W2,根据W1和W2计算调度表的秩W,其中:W=W1+W2;构造初始调度表,并调整初始调度表中各周期变量的分布,使得各行的周期变量数小于或等于调度表的秩,根据调整后的初始调度表调度所述周期变量。2.根据权利要求1所述的方法,其特征在于,所述当数组Φr中存在多个相同的不等于1的元素时,对所述元素进行合并处理包括:当所述数组Φr中包括n个等于n的元素时,n为大于1的自然数,将n个等于n的元素合并处理为1个1;当所述数组Φr中包括重复的偶数元素Y时,将每两个重复的偶数元素Y合并处理为一个元素Y为大于1的偶数;当所述数组Φr中包括重复的不等于1的奇数元素X时,检测所述数组Φr中是否包含与所述奇数元素X不互质的元素M,如果所述数组Φr中包括与所述奇数元素X不互质的元素M,将所述奇数元素X与所述元素M进行合并处理;循环上述合并处理的步骤,直至所述数组Φr中不存在多个相同的不等于1的元素。3.根据权利要求1所述的方法,其特征在于,所述将所述奇数元素X与所述元素M进行合并处理,包括:计算所述奇数元素X与所述元素M的最小公倍数Z,将每个奇数元素X兑换成个元素Z,将每个元素M兑换成个元素Z;检测兑换后的元素Z的总个数是否大于或等于Z,如果大于或等于Z,将Z个元素Z合并为1个1;如果小于Z,将所述重复的奇数元素X合并至所述元素M中。4.根据权利要求1所述的方法,其特征在于,所述构造初始调度表,包括:计算所述多个调度周期值的最小公倍数;将所有的所述周期变量按照预设的排列顺序插入所述初始调度表的第一行,所述初始调度表的微周期为所述最大公约数,所述初始调度表的行数为所述最小公倍数除以所述最大公约数;按照所述多个周期变量的调度周期值,在所述初始调度表的第二行至最末一行插入所述多个周期变量。5.根据权利要求4所述的方法,其特征在于,所述调整初始调度表中各周期变量的分布,使得各行的周期变量数小于或等于调度表的秩,包括:对所述初始调度表的所有行,执行:...

【专利技术属性】
技术研发人员:李文梁庚吕大军麻贵峰王朝辉彭琪
申请(专利权)人:北京国电智深控制技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1