(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202210190667.7
(22)申请日 2022.03.01
(65)同一申请的已公布的文献号
申请公布号 CN 114281830 A
(43)申请公布日 2022.04.05
(73)专利权人 杭州涂鸦信息技 术有限公司
地址 310013 浙江省杭州市西湖区浙商财
富中心3幢701室
(72)发明人 韩华伟 张智 蒋楚琰
(51)Int.Cl.
G06F 16/22(2019.01)
G06F 16/23(2019.01)
G06F 16/245(2019.01)
(56)对比文件
CN 102945249 A,2013.02.27CN 113535987 A,2021.10.2 2
CN 110502899 A,2019.1 1.26
CN 113221120 A,2021.08.0 6
CN 113704252 A,2021.1 1.26
CN 111782892 A,2020.10.16
US 5263127 A,19 93.11.16
US 201726249 2 A1,2017.09.14
田瑞琴等.物联网 网关中轻量 化规则引擎的
设计与实现. 《计算机 应用》 .2015,第3 5卷(第4
期),
审查员 单娟
(54)发明名称
多属性条件的规则映射表构建方法、 规则匹
配方法和装置
(57)摘要
本申请提供了一种多属性条件的规则映射
表构建方法、 规则匹配方法、 装置和计算机设备,
通过将所述属性值集合映射为一个质数序列, 并
建立所述属性值集合与所述质数序列的属性 ‑质
数映射表; 根据所述属性 ‑质数映射表, 将所述属
性值集合 以及所述属性值集合对应的条件表达
式集合映射为一个有序加权前缀树; 根据所述有
序加权前缀树构建规则映射表, 所述规则映射表
包括所述有序加权前缀树中不同路径的质数乘
积和对应的规则, 解决了在条件表达式数目N很
大并且设备请求量很大的情况下, 无法满足系统
性能指标的问题。
权利要求书3页 说明书11页 附图3页
CN 114281830 B
2022.08.30
CN 114281830 B
1.一种多属性条件的规则匹配方法, 其特征在于, 应用于物联网平台的规则引擎系统,
所述方法包括:
获取属性值集合, 所述属性值集合包括多个属性值, 每一所述属性值集合对应一个条
件表达式集 合, 所述属性 值包括设备的能力属性 值;
将所述属性值集合映射为一个质数序列, 并建立所述属性值集合与 所述质数序列的属
性‑质数映射表;
根据所述属性 ‑质数映射表, 将所述属性值集合以及所述属性值集合对应的条件表达
式集合映射为一个有序加权前缀树; 所述有序加权前缀树的每一个节点对应一个属性值a、
属性值a对应的质数p、 条件表达式对应的规则id R;
根据所述有序加权前缀树构建规则映射表, 所述规则映射表包括所述有序加权前缀树
中不同路径的质数乘积和对应的规则;
其中, 所述根据 所述属性 ‑质数映射表, 将所述属性值集合对应的条件表达 式集合映射
为一个有序加权前缀 树; 包括:
初始化有序加权前缀树, 将所述有序加权前缀树中的每个节点初始化为一个3元组T
(a,p,R), 其中a表 示属性值, 所述属性值为所述属性值集合S里面的一个元素; p表 示所述属
性值对应的质数, 是质数序列P中的一个元素; R是取值大于等于0的整数集合, R等于0表示
该节点是虚拟节点, 不存在对应的条件表达式, R不等于0表示该节点存在对应的条件表达
式; 所述前缀 树的根节点初始化 为虚拟节点;
根据所述属性 ‑质数映射表, 将所述条件表达式集合中的每一条件表达式B中包含的属
性值和对应的规则添加到所述有序加权前缀 树中的节点T(a,p,R);
所述根据所述属性 ‑质数映射表, 将所述条件表达 式集合中的每一条件表达 式B中包含
的属性值和对应的规则添加到所述有序加权前缀 树中的节点T(a,p,R); 包括:
将所述条件表达式B中包含的属性值作 为T(a,p,R)中a的值, 所述条件表达式中包含的
多个属性 值设置在所述有序加权前缀 树中的同一子树中;
查找所述属性 ‑质数映射表, 获取 所述属性 值a对应的p值;
若所述属性值a是条件表达式B集合中的最后一个元素, 则R取值为条件表达 式B集合对
应的规则, 否则R取值 为0;
若所述属性 值a在所述有序加权前缀 树中已经存在, 则更新该节点的R值;
接收设备消息, 并根据所述设备消息得到设备的属性列表;
获取所述属性列表中多属性 值类型的属性 值集合;
确定所述规则映射表中存在的规则映射表种类, 所述规则映射表种类根据所述质数乘
积对应在有序加权前缀 树的层数划分;
根据所述 规则映射表种类, 计算对应数量的属性 值构成的组合;
根据所述属性 ‑质数映射表, 得到每个所述组合包含的属性值分别对应的质数p, 并计
算多个质数p的乘积K;
根据规则映射表得到所述乘积K对应的规则, 并将所述规则发送至设备, 以使所述设备
执行所述规则对应的动作。
2.根据权利要求1所述的方法, 其特 征在于, 所述更新该节点的R值包括:
将当前R值 集合和有序加权前缀 树中节点的R值 集合依次做或运 算得到计算结果;权 利 要 求 书 1/3 页
2
CN 114281830 B
2若计算结果不等于0且不等于当前R值集合, 则将所述当前R值集合添加到所述有序加
权前缀树中节点的R值 集合。
3.根据权利要求1所述的方法, 其特征在于, 所述根据所述有序加权前缀树计算得到规
则映射表; 包括:
遍历所述有序加权前缀 树, 确定所述有序加权前缀 树中R值不为0的目标节点;
计算从根节点到所述目标节点的所有p值的乘积K;
根据所述乘积K和所述目标节点对应的规则, 生成所述规则映射表M[i], 其中i表示所
述有序加权前缀树的根节点到所述 目标节点的路径长度; 所述R值表示所述条件表达式对
应的规则id, 所述p值表示所述属性 值对应的质数。
4.一种多属性条件的规则匹配的装置, 其特征在于, 包括: 构建模块、 计算模块和查找
模块; 其中:
构建模块, 用于获取属性值集合, 所述属性值集合包括多个属性值, 每一所述属性值集
合对应一个条件表达式集 合, 所述属性 值包括设备的能力属性 值;
将所述属性值集合映射为一个质数序列, 并建立所述属性值集合与 所述质数序列的属
性‑质数映射表;
根据所述属性 ‑质数映射表, 将所述属性值集合以及所述属性值集合对应的条件表达
式集合映射为一个有序加权前缀树; 所述有序加权前缀树的每一个节点对应一个属性值a、
属性值a对应的质数p、 条件表达式对应的规则id R;
根据所述有序加权前缀树构建规则映射表, 所述规则映射表包括所述有序加权前缀树
中不同路径的质数乘积和对应的规则; 所述规则映射表用于指示物联网平台的规则引擎系
统查找属 性值集合对应的规则, 并将所述规则发送至设备, 以使所述设备执行所述规则对
应的动作;
其中, 所述根据 所述属性 ‑质数映射表, 将所述属性值集合对应的条件表达 式集合映射
为一个有序加权前缀 树; 包括:
初始化有序加权前缀树, 将所述有序加权前缀树中的每个节点初始化为一个3元组T
(a,p,R), 其中a表 示属性值, 所述属性值为所述属性值集合S里面的一个元素; p表 示所述属
性值对应的质数, 是质数序列P中的一个元素; R是取值大于等于0的整数集合, R等于0表示
该节点是虚拟节点, 不存在对应的条件表达式, R不等于0表示该节点存在对应的条件表达
式; 所述前缀 树的根节点初始化 为虚拟节点;
根据所述属性 ‑质数映射表, 将所述条件表达式集合中的每一条件表达式B中包含的属
性值和对应的规则添加到所述有序加权前缀 树中的节点T(a,p,R);
所述根据所述属性 ‑质数映射表, 将所述条件表达 式集合中的每一条件表达 式B中包含
的属性值和对应的规则添加到所述有序加权前缀 树中的节点T(a,p,R); 包括:
将所述条件表达式B中包含的属性值作 为T(a,p,R)中a的值, 所述条件表达式中包含的
多个属性 值设置在所述有序加权前缀 树中的同一子树中;
查找所述属性 ‑质数映射表, 获取 所述属性 值a对应的p值;
若所述属性值a是条件表达式B集合中的最后一个元素, 则R取值为条件表达 式B集合对
应的规则, 否则R取值 为0;
若所述属性 值a在所述有序加权前缀 树中已经存在, 则更新该节点的R值;权 利 要 求 书 2/3 页
3
CN 114281830 B
3
专利 多属性条件的规则映射表构建方法、规则匹配方法和装置
文档预览
中文文档
18 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共18页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 11:19:19上传分享