(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210479174.5
(22)申请日 2022.05.05
(71)申请人 西北工业大 学
地址 710072 陕西省西安市友谊西路127号
(72)发明人 尤涛 程博 胡焜 白璐 杜承烈
陈进朝 卢岩涛
(74)专利代理 机构 广州三环 专利商标代理有限
公司 44202
专利代理师 党娟娟 郭永丽
(51)Int.Cl.
G06F 16/23(2019.01)
G06F 16/22(2019.01)
(54)发明名称
一种动态发布订阅方法及装置
(57)摘要
本发明公开了一种动态发布订阅方法及装
置, 涉及计算机技术领域, 用以解决现有的事件
匹配算法因匹配桶结构过于庞大而导致匹配效
率低的问题。 包括: 当监听到待接收订阅时, 获取
待接收订阅包括的第一条件, 将第一条件与订阅
条件列表中存储的多个第M个订阅对应的第二条
件进行匹配; 若第一条件与任意一个所述第二条
件至少存在一个不同内容, 将第一条件对应的待
接收订阅存储至订阅条件列表中; 订阅条件列表
当前对应的偏序状态为已存状态, 按照已存状态
对应的偏序关系和存储至订阅条件列表中每个
第N个订阅包括的第一条件的内容, 对每个第N个
订阅进行分类, 根据分类结果更新包括偏序R树
和索引结构的偏序关系。
权利要求书3页 说明书12页 附图4页
CN 114911808 A
2022.08.16
CN 114911808 A
1.一种动态发布订阅的方法, 其特 征在于, 包括:
当监听到待接收订阅时, 获取所述待接收订阅包括的第一条件, 将所述第一条件与订
阅条件列表中存 储的多个第M个订阅对应的第二条件进行匹配; M为大于 0的正整数;
若所述第一条件与任意一个所述第 二条件至少存在一个不同内容, 将所述第 一条件对
应的所述待接收订阅存储至订阅条件列 表中, 并按照所述订阅条件列表的顺序将多个所述
待接收订阅命名为第N个订阅, N 为大于M的正整数;
订阅条件列表当前对应的偏序状态为已存状态, 按照已存状态对应的偏序关系和存储
至订阅条件列表中每个第N个订阅包括的第一条件的内容, 对每个第N个订阅进行分类, 根
据分类结果更新包括偏序R树和索引结构的偏序关系。
2.如权利要求1所述发布订阅的方法, 其特征在于, 所述第一条件至少包括字符串条
件、 数值范围条件和整数 条件中的任意 一个;
所述若所述第一条件与任意 一个所述第二条件至少存在一个不同内容, 具体包括:
所述第一条件 包括的字符串条件与所述第二条件 包括的字符串条件不 一致; 和/或
所述第一条件包括的数值范围条件与所述第二条件包括的数值范围条件不一致; 和/
或
所述第一条件 包括的整数 条件与所述第二条件 包括的整数 条件不一致。
3.如权利要求1所述发布订阅的方法, 其特征在于, 所述将所述第 一条件与订 阅条件列
表中存储的多个第M个订阅对应的第二条件进行匹配之前, 还 包括:
若所述订 阅条件列表为空, 根据多个所述待接收订 阅对应的时间戳顺序将多个所述待
接收订阅依次存储至订阅条件列 表中, 并将存储至所述订阅条件列 表中的多个所述待接收
订阅命名为第N个订阅;
所述订阅条件列表当前对应的偏序状态为空状态, 根据多个待接收订 阅包括的第 一条
件的内容和偏序关系, 对多个所述待接收订阅进 行分类: 将包括字 符串条件的第N个订阅对
应的索引信息添加到索引结构中; 和/或将包括数值范围条件且满足{Ω|A∩B= Ω,Ω≠A,
Ω≠B}的第N个订阅对应的树信息添加到偏序R树的根目录中; 和/或将包括整数条件且满
足{Ω|A∩B=Ω,Ω≠A,Ω≠B}的第M个订阅对应的树信息添加到偏序R树的根目录中;
将分类结果写入偏序状态, 存储至所述订 阅条件列表中的多个所述待接收订 阅命名为
第M个订阅, 所述 订阅条件列表当前对应的偏序状态更新 为已存状态。
4.如权利要求1所述发布订阅的方法, 其特征在于, 所述按照已存状态对应的偏序关系
和存储至订阅条件列表中每个第N个订阅包括的第一条件的内容, 对每个第N个订阅进行分
类, 具体包括:
将第N个订阅包括的第一条件的内容与已存状态对应的偏序关系进行对比:
若第N个订阅包括的第一条件, 其数值范围条件与偏序R树已经存在的多个第M个订阅
存在重叠, 将第N个订阅对应的索引信息添加到索引结构 中; 或若第N个订阅包括的第一条
件中, 其数值范围条件与偏序R树已经存在的多个第M个订阅未存在重叠, 将第N个订阅对应
的树信息添加到偏序R树的根目录中; 或若第N个订阅包括的第一条件中, 其数值范围条件
被偏序R树已经存在的任意一个第M个订阅完全覆盖, 将第N个订阅对应的树信息添加到完
全覆盖第N个订阅的第M个订阅的目录下;
将包括整数 条件的第N个订阅对应的索引信息添加到索引结构中;权 利 要 求 书 1/3 页
2
CN 114911808 A
2将包括字符串条件的第N个订阅对应的索引信息添加到索引结构中。
5.如权利要求1所述发布订阅的方法, 其特征在于, 所述根据分类结果更新包括偏序R
树和索引结构的偏序关系之后, 还 包括:
当收到请求事件时, 在包括偏序R树和索引结构的偏序关系中查找所述事件, 若所述事
件包括的请求条件完全 满足, 则发布所述事 件。
6.一种动态发布订阅的装置, 其特 征在于, 包括:
匹配单元, 用于当监 听到待接收订阅时, 获取所述待接收订阅包括的第 一条件, 将所述
第一条件与订阅条件列表中存储的多个第M个订阅对应的第二条件进行匹配; M为大于0的
正整数;
存储单元, 用于若所述第一条件与任意一个所述第二条件至少存在一个不同内容, 将
所述第一条件对应的所述待接收订阅存储至订阅条件列 表中, 并按照所述订阅条件列表的
顺序将多个所述待接收订阅命名为第N个订阅, N 为大于M的正整数;
更新单元, 用于订阅条件列表当前对应的偏序状态为已存状态, 按照已存状态对应的
偏序关系和存储至订阅条件列 表中每个第N个订阅包括的第一条件的内容, 对每个第N个订
阅进行分类, 根据分类结果更新包括偏序R树和索引结构的偏序关系。
7.如权利要求6所述发布订阅的装置, 其特征在于, 所述第一条件至少包括字符串条
件、 数值范围条件和整数 条件中的任意 一个;
所述存储单元, 具体用于:
所述第一条件 包括的字符串条件与所述第二条件 包括的字符串条件不 一致; 和/或
所述第一条件包括的数值范围条件与所述第二条件包括的数值范围条件不一致; 和/
或
所述第一条件 包括的整数 条件与所述第二条件 包括的整数 条件不一致。
8.如权利要求6所述发布订阅的装置, 其特 征在于, 所述匹配单 元还用于:
若所述订 阅条件列表为空, 根据多个所述待接收订 阅对应的时间戳顺序将多个所述待
接收订阅依次存储至订阅条件列 表中, 并将存储至所述订阅条件列 表中的多个所述待接收
订阅命名为第N个订阅;
所述订阅条件列表当前对应的偏序状态为空状态, 根据多个待接收订 阅包括的第 一条
件的内容和偏序关系, 对多个所述待接收订阅进 行分类: 将包括字 符串条件的第N个订阅对
应的索引信息添加到索引结构中; 和/或将包括数值范围条件且满足{Ω|A∩B= Ω,Ω≠A,
Ω≠B}的第N个订阅对应的树信息添加到偏序R树的根目录中; 和/或将包括整数条件且满
足{Ω|A∩B=Ω,Ω≠A,Ω≠B}的第M个订阅对应的树信息添加到偏序R树的根目录中;
将分类结果写入偏序状态, 存储至所述订 阅条件列表中的多个所述待接收订 阅命名为
第M个订阅, 所述 订阅条件列表当前对应的偏序状态更新 为已存状态。
9.如权利要求6所述发布订阅的装置, 其特 征在于, 所述更新单 元具体用于:
将第N个订阅包括的第一条件的内容与已存状态对应的偏序关系进行对比:
若第N个订阅包括的第一条件, 其数值范围条件与偏序R树已经存在的多个第M个订阅
存在重叠, 将第N个订阅对应的索引信息添加到索引结构 中; 或若第N个订阅包括的第一条
件中, 其数值范围条件与偏序R树已经存在的多个第M个订阅未存在重叠, 将第N个订阅对应
的树信息添加到偏序R树的根目录中; 或若第N个订阅包括的第一条件中, 其数值范围条件权 利 要 求 书 2/3 页
3
CN 114911808 A
3
专利 一种动态发布订阅方法及装置
安全报告 >
其他 >
文档预览
中文文档
20 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共20页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 思考人生 于 2024-02-24 08:49:50上传分享