[发明专利]一种分布式实时规则推理调度方法有效
申请号: | 202010581392.0 | 申请日: | 2020-06-23 |
公开(公告)号: | CN111814981B | 公开(公告)日: | 2021-03-30 |
发明(设计)人: | 彭程;乔颖;刘鸿儒;王宏安 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06N5/04 | 分类号: | G06N5/04 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 实时 规则 推理 调度 方法 | ||
1.一种分布式实时规则推理调度方法,其步骤包括:
1)建立产生式规则集所对应的规则图;
2)将所述规则图转化成数据操作图;
3)规则推理系统根据收到的事实对象将所述数据操作图切分为多个子图,并为每个子图生成一个推理作业;
4)根据推理作业的处理时间长短设置推理作业的优先级,并在规则推理系统中创建n个调度队列,得到一调度队列集合Q={q1,q2,…,qn};其中n为规则数,每条规则对应一个调度队列,qn为第n条规则对应的调度队列,分别为每个调度队列设置不同的权值属性,根据优先级与权值的对应关系将推理作业调入对应的调度队列中,其中优先级越高的推理作业放入权值越大的调度队列;其中对生成的推理作业进行优先级设置的方法为:41)将每一子图作为一推理作业Job执行图,设规则推理系统中执行器进行一次计算的时间为μ;对于第i个推理作业Job执行图,即推理作业Jobi执行图,从当前推理作业Jobi执行图的起始顶点开始宽度优先遍历:设置初始数据元组个数为0,若后继顶点由前驱顶点经过filter操作而来,则直接将初始数据元组个数累加前驱顶点中元组个数;若后继顶点由前驱顶点经过cartesian操作而来,则将数据元组个数加上其前驱顶点中元组的乘积,直到遍历到当前推理作业Jobi执行图的终止顶点结束,最后的元组数目总和表示执行完该推理作业Jobi执行图总共需要计算的次数Ci;42)统计该推理作业Jobi执行图中涉及的所有输入顶点的数据元组总和ei,则该推理作业Jobi执行图对应的推理作业的优先级为filter操作为数据集过滤操作,用于过滤数据集中不符合给定条件的约束的数据;cartesian操作用于对两个数据集进行笛卡尔积计算,形成新的数据集,并在此新的数据集中过滤不符合不同条件元素间属性约束的数据;
5)当不同调度队列中同时有就绪任务提交时,规则推理系统从有任务就绪的调度队列中选择权值最大的调度队列qi中的推理作业,创建并执行推理任务;
6)推理任务执行结束时将其对应的推理作业从所属调度队列中删除,并判断所属调度队列是否为空队列:若不是空队列则继续执行步骤5),直至所有调度队列都为空。
2.如权利要求1所述的方法,其特征在于,所述规则图为RETE网络;所述数据操作图为有向无环图,即DAG图;将规则图转化成相应的数据操作图的方法为:
21)创建一个根节点root;
22)依次处理RETE网络中的α节点,在数据操作图中加入一个新顶点表示当前α节点对应的α内存中的事实;
23)依次处理RETE网络中的β节点,在数据操作图中加入一个新顶点表示当前β节点对应的β内存中的部分匹配。
3.如权利要求2所述的方法,其特征在于,步骤22)中,对于RETE网络中的两个α节点x,y,若两节点x,y之间存在边x,y,则在数据操作图中添加边Vx,Vy;其中Vx表示节点x对应的α内存中所有事实形成的数据集Dx对应的顶点,Vy表示节点y对应的α内存中的所有事实形成的数据集Dy对应的顶点。
4.如权利要求3所述的方法,其特征在于,边Vx,Vy所对应的操作为filter操作,filter操作用于过滤数据集Dx中不符合节点y所对应约束的事实,从而得到数据集Dy。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010581392.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种便携抑菌垫
- 下一篇:牡丹精油提取用牡丹花储存装置