[发明专利]一种基于配置表的服务引擎调度方法在审
申请号: | 202111667056.9 | 申请日: | 2021-12-31 |
公开(公告)号: | CN114489832A | 公开(公告)日: | 2022-05-13 |
发明(设计)人: | 王东;廖怡斐;陈勇;雷艺群;麻梦茹;雷攀 | 申请(专利权)人: | 中国航空工业集团公司西安飞机设计研究所 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F8/71;G06F8/76 |
代理公司: | 北京航信高科知识产权代理事务所(普通合伙) 11526 | 代理人: | 刘传准 |
地址: | 710089 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 配置 服务 引擎 调度 方法 | ||
1.一种基于配置表的服务引擎调度方法,其特征在于,包括:
步骤一、获取配置表生成规则,所述配置表生成规则内容包括表头信息、硬线路径表、总线路径表、输入信号表、信号处理周期表、信号处理表、信号输出表以及数据包描述表;
步骤二、基于所述配置表生成规则进行服务引擎资源的初始化;
步骤三、基于所述配置表生成规则进行数据收发,将输入数据按照所述配置表生成规则进行解析并存储,将输出数据按照所述配置表生成规则进行组包输出;
步骤四、基于所述配置表生成规则进行函数调度。
2.根据权利要求1所述的基于配置表的服务引擎调度方法,其特征在于,步骤二中,所述基于所述配置表生成规则进行服务引擎资源的初始化包括:
S201、进行硬件资源的初始化;
S202、读取配置表生成规则并对其内容进行校验;
S203、根据配置表生成规则分配配置表内存空间;
S204、分配函数调度表内存空间,其大小与需要调度的函数个数一致;
S205、创建数据收发任务以及函数调度任务;
S206、创建缓冲区信号量;
S207、启动周期任务运行。
3.根据权利要求2所述的基于配置表的服务引擎调度方法,其特征在于,S203中,所述配置表内存空间包括函数处理上下文缓冲区(4)、信号数据缓冲区(5)、总线数据包缓冲区(6)以及公用数据包接收发送缓冲区(7),其中,
所述函数处理上下文缓冲区(4)用于存储函数运行过程中用到的全局变量值,其索引序号与周期处理函数ID对应;
所述信号数据缓冲区(5)分为输入数据、输出数据、中间变量三部分,输入数据索引序号与输入信号表对应,输出数据索引序号与信号输出表对应,输入数据索引序号、输出数据索引序号均由硬线路径表、总线路径表信息查询得到,中间变量与周期处理函数的处理结果对应;
所述总线数据包缓冲区(6)分为接收以及发送两部分,用于存储需要接收的所有数据包原始未解析数据以及打包好的需要发送的所有数据包内容,所述总线数据包缓冲区(6)大小及索引序号与配置表信息一致;
所述公用数据包接收发送缓冲区(7)用于存储单次接收或发送的数据包内容,其长度为所有数据包的最大值。
4.根据权利要求2所述的基于配置表的服务引擎调度方法,其特征在于,步骤三中,所述基于所述配置表生成规则进行数据收发,将输入数据按照所述配置表生成规则进行解析并存储,将输出数据按照所述配置表生成规则进行组包输出包括:
S301、调用轮询操作入口函数,用于周期执行的用户自定义操作;
S302、更新输入信号值;
S303、更新输出信号值。
5.根据权利要求4所述的基于配置表的服务引擎调度方法,其特征在于,S302中,所述更新输入信号值包括:
调用接口驱动函数循环接收输入数据包;
将成功接收到的输入数据包内容存储到所述公用数据包接收发送缓冲区(7)中;
按照索引序号将所述公用数据包接收发送缓冲区(7)中的数据存储到所述总线数据包缓冲区(6)中。
6.根据权利要求5所述的基于配置表的服务引擎调度方法,其特征在于,S303中,所述更新输出信号值包括:
按照索引序号将所述总线数据包缓冲区(6)中打包好的数据存储到所述公用数据包接收发送缓冲区(7)中;
判断当前数据包发送标志是否有效,当发送标志为有效时,调用接口驱动函数发送输出数据包,循环执行直到当前周期所有数据包发送完毕。
7.根据权利要求1所述的基于配置表的服务引擎调度方法,其特征在于,步骤四中,所述基于所述配置表生成规则进行函数调度包括:
S401、建立当前周期的处理函数调度表;
S402、更新所述信号数据缓冲区(5)中的输入数据值;
S403、执行处理函数调度表中的分配函数调度表内存空间;
S404、更新所述信号数据缓冲区(5)中的输出数据值。
8.根据权利要求7所述的基于配置表的服务引擎调度方法,其特征在于,S401中,所述建立当前周期的处理函数调度表包括:
将所有周期的分配函数调度表内存空间运行的最小周期定义为一个时间槽,函数库中分配函数调度表内存空间调度策略为:函数调度任务启动运行之后,循环判断配置表中记载的每个分配函数调度表内存空间的调用周期以及起始时间槽来建立处理函数调度表;
如果处理过程的周期是0,直接把该处理过程对应的函数ID放入处理函数调度表中;
如果处理过程的周期是非0,使用系统启动之后经过时间槽的个数和处理过程的周期相除取余,如果结果等于处理过程的起始时间槽,则该处理过程对应的函数ID放入处理函数调度表中,即第N个时间槽内,需调度配置表文件中规定的起始时间槽序号为N%处理周期的周期处理函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司西安飞机设计研究所,未经中国航空工业集团公司西安飞机设计研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111667056.9/1.html,转载请声明来源钻瓜专利网。