[发明专利]基于有序小枝模式的航空物流XML报文并行过滤方法有效
申请号: | 201910249408.5 | 申请日: | 2019-03-29 |
公开(公告)号: | CN109977270B | 公开(公告)日: | 2023-07-18 |
发明(设计)人: | 李国;庄波;李永华 | 申请(专利权)人: | 中国民航大学 |
主分类号: | G06F16/835 | 分类号: | G06F16/835;G06F9/50 |
代理公司: | 天津市鼎和专利商标代理有限公司 12101 | 代理人: | 蒙建军 |
地址: | 300300 天*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 有序 小枝 模式 航空 物流 xml 报文 并行 过滤 方法 | ||
1.一种基于有序小枝模式的航空物流XML报文并行过滤方法,其特征在于,包括:
步骤一: 使用XPath路径表达式来选取 XML 文档中的节点或者节点集;带谓词的XPath路径表达式被表示成树的形式,将讨论都集中在XPath路径表达式的子集上,定位步骤集合为:{/a,//a,/*,//*,[]},谓词用于讨论等值谓词;
步骤二:XML文档与小枝模式查询进行标签序列化得到标签序列,为了将小枝模式查询中节点之间的信息包含在标签序列中,FiST算法对标签序列进行属性扩充;扩充后的序列为查询序列,包含小枝模式中的所有信息;
步骤三:并行过滤方法的体系结构中,系统在处理XML数据流之前,XPath订阅表达式首先被传递到系统中,然后将XPath路径表达式通过XPath解析器解析成Prüfer 序列,任务组调度算法将根据Prüfer 序列计算每个查询序列的任务耗时,并根据任务耗时将所有任务平均分配到各个线程上,使每个线程的任务达到负载平衡,并且为每个线程分配一个CPU核心;FiST算法在各CPU核心上执行查询处理,将匹配结果直接分发给订阅者;
步骤四:任务组调度算法中FiST算法通过判断LPS(Q)是否为LPS(T)的子序列,来验证查询树Q与XML文档树TR的匹配;如果标签序列(LPS(Q))越长,匹配的时间将会越久;假设LPS(Q)={Q1 Q2…Qn},则T(LPS(Q))=n;其中T表示任务耗时,单位为一个时间单元,LPS(Q)代表一个任务;当LPS(Q1)={Na Co 成都 Ci Co Com Co St Co}的T(LPS(Q1))=11时,LPS(Q1)的任务耗时为11个时间单元;将每个小枝模式序列化为查询序列并根据序列的长度计算任务耗时;对于m个独立任务,按任务耗时均匀的分配到m个CPU上;用下列公式表示:
;
通过求s的值来比较任务分组的均匀程度,s越小,分组越均匀;其中为第i组的总耗时,为平均耗时,的计算公式如下;
;
将任务按耗时降序排列放入数组A中,数组A=[T1,T2,T3……Tm……Tk-1,Tk……,Tn-1,Tn],其中T1≧T2≧T3 ……Tm……≧Tk-1≧Tk……Tn-1≧Tn;第一方向定义为从数组下标0开始,从左至右;第二方向定义为从数组下标n开始,从右至左;第三方向定义为从数组下标k开始,从左至右;
第一步:按第一方向依次从数组A取任务放入第一个线程,直到满足以下不等式关系:
如果等于,则直接将任务T放入第一个线程中;
第二步:计算和;比较Tk与Value的大小,如果Tk等于Value,则直接将Tk放入第一个线程中,否则按第二方向表示的范围,在Tm与Tn 之间用二分查询出最接近Value的数将其放入第一个线程中;
第三步:按第三方向依次从数组A取任务,放入第二个线程,重复第一步操作,直到所有任务都放入线程中为止,其中left初始值为1,right初始值为n。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国民航大学,未经中国民航大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910249408.5/1.html,转载请声明来源钻瓜专利网。