主权项 |
一种基于图的遍历的同步数据流系统节点参数快速处理方法,其特征在于,包括如下步骤:步骤1:为实时系统构建同步数据流(SDF)图,SDF图中每个节点表示单个计算任务,节点间边的两端标注所连接节点在该边上的通信参数,所述的通信参数为通信频率或者通信周期;步骤2:初始化设置,设定SDF图中的所有节点的运行参数的值为0,所有的边为未扫描状态;步骤3:初始化堆栈Stack为空;步骤4:选定SDF中任一节点,标记为v,设定节点v的运行参数res(v)=1;步骤5:判断节点v是否还有未扫描的邻边,若有,取其中一个未扫描的邻边e,进入步骤6执行,否则,执行步骤13;步骤6:将未扫描的邻边e标记为已扫描;步骤7:将与邻边e相连的另一个节点标记为v’;步骤8:判断节点v’的运行参数res(v’)是否为0,若是,执行步骤9,否则,图中存在环,执行步骤12;步骤9:将节点v’压入堆栈Stack;步骤10:确定节点v在邻边e上的通信参数val(v,e)和节点v’在邻边e上的通信参数val(v’,e)的最大公约数gcd,然后更新节点v和节点v’在邻边e上的通信参数:val(v,e)=val(v,e)/gcd;val(v’,e)=val(v’,e)/gcd;步骤11:确定节点v在邻边e上的通信参数val(v,e)与节点v的运行参数res(v)的最小公倍数lcm,然后更新SDF图中已经取得运行参数值的每个节点vo的运行参数:res(vo)=res(vo)*lcm/res(v),最后确定节点v’的运行参数res(v’)=val(v’,e)*lcm/val(v,e);转步骤5执行;步骤12:判断节点v和节点v’所在环的运行参数是否满足一致性要求,若是,转步骤5执行,否则,结束本方法;判断节点v和节点v’所在环的运行参数是否满足一致性要求,具体是:设节点v’在环中通过边e<sub>s</sub>连接节点v<sub>s</sub>,通过边e<sub>d</sub>连接节点v<sub>d</sub>,根据节点v<sub>s</sub>的运行参数和节点v’、v<sub>s</sub>在边e<sub>s</sub>上的通信参数得到节点v’的运行参数res’(v’),根据节点v<sub>d</sub>的运行参数和节点v’、v<sub>d</sub>在边e<sub>d</sub>上的通信参数得到节点v’的运行参数res(v’),判断res’(v’)与res(v’)是否相等,若相等,则节点v和节点v’所在环的运行参数满足一致性要求,若不相等,则节点v和节点v’所在环的运行参数不满足一致性要求;步骤13:判断堆栈Stack中是否还有节点,若有,执行步骤14,否则结束本方法;步骤14:从堆栈Stack中弹出栈顶节点,并设该节点为v,然后转步骤5执行。 |