[发明专利]一种分布式系统的表匹配处理方法及装置有效
申请号: | 201910308704.8 | 申请日: | 2019-04-17 |
公开(公告)号: | CN110096555B | 公开(公告)日: | 2021-09-03 |
发明(设计)人: | 覃永靖;程诗尧;王彬 | 申请(专利权)人: | 奇安信科技集团股份有限公司 |
主分类号: | G06F16/28 | 分类号: | G06F16/28;G06F16/27 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王庆龙;周永君 |
地址: | 100088 北京市西城区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 系统 匹配 处理 方法 装置 | ||
1.一种分布式系统的表匹配处理方法,其特征在于,包括:
若判断获知分布式系统中预设的表匹配表达式为核心逻辑路径,则将所述表匹配表达式置于栈内当前的第一栈顶元素的孩子节点;
依次对所述表匹配表达式的各孩子表达式进行表达式匹配,并根据匹配结果设置键检测上下文;
若所述表匹配表达式匹配结束后,所述键检测上下文存在键值代码,则生成键行匹配器对所述分布式系统的表进行匹配;
所述核心逻辑路径包括逻辑表达式和比较表达式两类,除此两类之外的表达式均不是核心逻辑路径;所述逻辑表达式为用逻辑运算符将关系表达式或逻辑量连接起来的有意义的表达式,所述比较表达式为检查常量值、属性值或方法结果是否等于、不等于、大于或小于另一个值的表达式;
所述键检测上下文为共享参数,表示键检测的结果;
所述键行匹配器为采用基于键的表匹配模式算法进行表匹配的匹配器;
所述键值代码为表征表达式采用键行匹配器进行表匹配的代码。
2.根据权利要求1所述的方法,其特征在于,所述依次对所述表匹配表达式的各孩子表达式进行表达式匹配,具体包括:
若所述表匹配表达式的第一孩子表达式为逻辑表达式,且行匹配器键选择器的当前状态为需要检测状态,则检测所述第一孩子表达式的左孩子节点和右孩子节点是否为核心逻辑路径,如果所述第一孩子表达式的左孩子节点和右孩子节点中一个或全部为核心逻辑路径,则将所述第一孩子表达式置于栈内当前的第二栈顶元素的孩子节点,并对所述第一孩子表达式的各孩子表达式进行表达式匹配;
所述行匹配器键选择器用于标识行匹配和键选择的具体情况。
3.根据权利要求1所述的方法,其特征在于,所述依次对所述表匹配表达式的各孩子表达式进行表达式匹配,并根据匹配结果设置键检测上下文,具体包括:
若所述表匹配表达式的第二孩子表达式为比较表达式,且所述第二孩子表达式的左孩子节点和右孩子节点的节点类型不同,则对所述第二孩子表达式进行键比较表达式检测;所述节点类型包括行值函数节点或键值节点;
若进行所述键比较表达式检测时获知键值节点存在键值代码,则生成键比较表达式,根据所述键比较表达式为所述键检测上下文设置键值代码,并将行匹配器键选择器的状态设置为不需要检测状态;
所述键比较表达式为基于键的比较表达式。
4.根据权利要求1所述的方法,其特征在于,所述若判断获知分布式系统中预设的表匹配表达式为核心逻辑路径,则将所述表匹配表达式置于栈内当前的第一栈顶元素的孩子节点,具体包括:
若判断获知分布式系统中预设的表匹配表达式为核心逻辑路径,则将所述表匹配表达式置于栈内当前的第一栈顶元素的孩子节点,并将行匹配器键选择器的当前状态为需要检测状态。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述表匹配表达式匹配结束后,所述键检测上下文不存在键值代码,则生成普通行匹配器对所述分布式系统的表进行匹配。
6.一种分布式系统的表匹配处理装置,其特征在于,包括:
表达式判断模块,用于若判断获知分布式系统中预设的表匹配表达式为核心逻辑路径,则将所述表匹配表达式置于栈内当前的第一栈顶元素的孩子节点;
表达式匹配模块,用于依次对所述表匹配表达式的各孩子表达式进行表达式匹配,并根据匹配结果设置键检测上下文;
表匹配生成模块,用于若所述表匹配表达式匹配结束后,所述键检测上下文存在键值代码,则生成键行匹配器对所述分布式系统的表进行匹配;
所述核心逻辑路径包括逻辑表达式和比较表达式两类,除此两类之外的表达式均不是核心逻辑路径;所述逻辑表达式为用逻辑运算符将关系表达式或逻辑量连接起来的有意义的表达式,所述比较表达式为检查常量值、属性值或方法结果是否等于、不等于、大于或小于另一个值的表达式;
所述键检测上下文为共享参数,表示键检测的结果;
所述键行匹配器为采用基于键的表匹配模式算法进行表匹配的匹配器;
所述键值代码为表征表达式采用键行匹配器进行表匹配的代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奇安信科技集团股份有限公司,未经奇安信科技集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910308704.8/1.html,转载请声明来源钻瓜专利网。