[发明专利]一种时间触发以太网调度表生成及动态更新的方法在审
申请号: | 202110110981.5 | 申请日: | 2021-01-27 |
公开(公告)号: | CN112866398A | 公开(公告)日: | 2021-05-28 |
发明(设计)人: | 郭袁贾;岳静;李新乐;张杨;于然 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 王雪芬 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 时间 触发 以太网 调度 生成 动态 更新 方法 | ||
1.一种时间触发以太网调度表生成及动态更新的方法,其特征在于,先对该方法中使用的概念和符号说明如下:
将时间触发通讯任务表示为Tvivj={taskID,source,desti,period,length,VLvivj},其中taskID表示该通讯任务的全局唯一编号,source表示通讯任务的发送节点即vi,desti表示通讯任务的接收节点即vj,period表示该通讯任务的周期,length表示该通讯任务的数据帧长度,VLvivj表示该通讯任务的虚拟链路路径;
将二维物品表示为Ovivj={objectID,height,width,posX,posY,combID},其中objectID表示二维物品的全局唯一编号,height表示通讯任务抽象为二维物品的高度,width表示通讯任务抽象为二维物品的宽度,posX和posY表示二维物品放置在箱子中的位置左下角坐标,combID表示二维物品中包含的物品编号,在下面的二维物品整合阶段使用,若当前二维物品没有和其他二维物品整合,combID中只包含二维物品本身的编号;
将可用装箱点表示为Pi={pID,posX,posY},其中(posX,posY)为当前箱子中可以放置物品的位置坐标,pID表示可用装箱点的编号;
调度表生成的方法包括下列步骤:
(1)将链路资源抽象为“空箱子”,计算箱子的高度和宽度;
通过将时间轴按照基本周期进行折叠,将链路资源抽象为具有高度和宽度的“空箱子”;
基本周期Pgcd是所有通讯任务周期的最大公因数,Pgcd=GCD(Tvivj.period),GCD()是求最大公因数的函数;
矩阵周期Plcm是所有通讯任务周期的最小公倍数,Plcm=LCM(Tvivj.period),LCM()是求最小公倍数的函数;
链路带宽表示为Bwidth;
计算“空箱子”的高度和宽度如下:
Box.height=Plcm/Pgcd=LCM(Tvivj.period)/GCD(Tvivj.period)
Box.width=Bwidth*Pgcd/8
(2)计算通讯任务的虚拟链路路径
有的时间触发通讯任务没有指定通讯链路路径,此时需要借助考虑负载均衡的路由算法来计算通讯任务的虚拟链路路径,计算得到的链路路径保存于Tvivj的VLvivj中;
(3)将时间触发通讯任务抽象为二维物品,初始化待装箱物品队列
把时间触发通讯任务抽象为具有高度和宽度的二维物品,计算得到每个物品Ovivj的宽度Ovivj.width和高度Ovivj.height,将所有通讯任务抽象为二维物品之后将所有物品信息加入到待装箱物品队列;
Ovivj.height=Plcm/Tvivj.period=LCM(Tvivj.period)/Tvivj.period
Ovivj.width=Tvivj.length
(4)物品整合
虚拟链路VLvivj不重合的任务对应的二维物品可以进行整合,被整合的物品编号记录在Ovivj.combID中;
整合后的物品视为一个新的物品,仍然可以和其他物品进行整合,只不过此时要求被整合物品中的虚拟链路两两互相不重合;
(5)物品优先级排序
整合后的物品整理为一个新的物品队列,在该队列中对物品进行排序。按照物品高度由大到小进行排序,高度相同的物品按照宽度由大到小进行排序,高度宽度都相同的物品按照物品编号由小到大进行排序;
(6)初始化可用装箱点队列
当箱子为空时,只有一个可用装箱点,此时如果装入物品会消耗可用装箱点,同时会产生新的可用装箱点;
使用动态数组即可保存当前可用的所有装箱点,初始化时,数组中只有一个可以使用的装箱点P0(0,0);
(7)取出一个待装箱物品进行装箱,记录该物品装箱的位置信息
从整合物品队列中取出第一个物品进行装箱,从可用装箱点队列中取出第一个可用装箱点,该物品即可放置于该可用装箱点的位置,即Ovivj.posX=Pi.posX,Ovivj.posY=Pi.posY,已经装箱的物品保存于已装箱物品队列并从待装箱物品队列删除;
(8)更新可用装箱点队列
当放入一个物品之后,会消耗一个可用装箱点,同时根据装入物品的高度和宽度计算新产生的装箱点;
将新产生的装箱点加入队列后需要对队列进行排序,按照Pi.posX由小到大进行排序,Pi.posX相同的装箱点按照Pi.posY由小到大进行排序;
(9)判断待装箱物品队列是否为空,若为空则转到步骤(10),若队列中还有未装箱的物品则转到步骤(7);
(10)保存物品装箱结果到XML文件
遍历已装箱物品队列,将所有物品的信息及它们的装箱位置信息保存到XML文件中,之后需要添加新通讯任务时可以直接使用该文件;
(11)保存当前可用装箱点队列信息到XML文件
遍历可用装箱点数组,将所有可用装箱点信息保存于XML文件,之后有新通讯任务添加时可直接使用该文件;
(12)利用装箱结果计算调度表表项
利用链路的时延信息计算得到每个数据帧的发送时间点和接收时间点,由此得到每个节点的发送调度表和接收调度表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110110981.5/1.html,转载请声明来源钻瓜专利网。