一种数据空间内数字对象订阅发布方法、装置和系统与流程
- 国知局
- 2024-07-31 22:43:47
本技术实施例涉及数据空间,具体而言,涉及一种数据空间内数字对象订阅发布方法、装置和系统。
背景技术:
1、随着互联网及新一代信息技术与应用的蓬勃发展,数据成为基础性战略资源和关键性生产要素,通过对复杂场景异构信息系统之间进行功能调用或者交换共享数据,实现系统间数据、信息、知识的互联互通,将越来越重要。
2、基于数字对象架构,采用体系结构和标准化协议,高效率、低成本、规模化、可信任地连接各种数据节点、平台和系统,实现异构、异域、异主数据的互联互通互操作,形成大规模的数据空间,但是在数据空间中,数据服务具有主体多样、需求多变、数据变化高频的特点,因此对订阅发布系统有新的需求。
3、现有的发布订阅系统根据事件类型可以分为三类,分别是基于类型的发布订阅系统、基于主题的发布订阅系统和基于内容的发布订阅系统,基于类型的和主题的发布订阅系统虽然实现简单且事件匹配效率高,但由于其对事件的划分粒度较粗,订阅者只能对事件的类型或事件所属的主题进行订阅,表达能力较差;而基于内容的发布订阅系统中,系统将发布的数字对象元数据与订阅条件进行匹配,同时将数字对象元数据发送给匹配的订阅者,但是当订阅条件的规模较为庞大的时候,系统存在大量的要发布的数字对象元数据和订阅条件,新发布的数字对象元数据与订阅匹配时间变长,进而导致系统阻塞。
技术实现思路
1、本技术实施例提供一种数据空间内数字对象订阅发布方法、装置和系统,旨在提高订阅匹配的效率。
2、第一方面,本技术实施例提供一种数据空间内数字对象订阅发布方法,所述方法包括:
3、监听任一主体的新发布事件,所述新发布事件是所述主体新发布的数字对象元数据或更改后的数字对象元数据的映射结果,所述新发布事件中包括一个或多个事件属性;
4、当监听到有新发布事件发布时,根据所述新发布事件的事件属性与预先构建的订阅树的节点属性,确定所述新发布事件匹配的目标订阅,其中,所述订阅表征对应的主体对数字对象元数据的需求;所述订阅树中的各个节点均用于存储不同的订阅,且所述订阅树中所有节点的节点属性与不同层级的节点之间的路径均由多个订阅的订阅属性决定;
5、将所述新发布事件分发至所述目标订阅对应的一个或多个主体。
6、可选地,所述方法还包括:
7、获取标定数量的订阅,其中,每个订阅中包含一个或多个订阅属性;
8、根据所述标定数量的订阅各自对应的订阅属性,构建订阅树的结构;
9、根据任一订阅对应的订阅属性,将该订阅存储在构建好的订阅树中。
10、可选地,所述方法还包括:
11、响应于任一主体的订阅新增操作,确定待新增的订阅,其中,所述待新增的订阅中包括一个或多个订阅属性;
12、根据所述待新增的订阅的订阅属性,将所述待新增的订阅存储在预先构建的订阅树中。
13、可选地,根据所述标定数量的订阅各自对应的订阅属性,构建订阅树的结构,包括:
14、根据所述标定数量的订阅对应的所有订阅属性,确定所述订阅树对应的索引属性,其中,所述索引属性用于确定所述订阅树的高度;
15、根据所述索引属性的值域,为所述订阅树中每个节点划分单元格,其中,所述每个节点的单元格的数量确定了所述订阅树的分支;
16、根据所述索引属性,确定不同层级的节点各自对应的节点属性,以及根据所述每个节点对应的单元格,确定每个节点到下一级节点之间的路径,以构建订阅树的结构。
17、可选地,根据任一订阅对应的订阅属性,将该订阅存储在构建好的订阅树中,包括:
18、对于任一订阅,按照从根节点到子节点的顺序,判断当前节点的类型;
19、若所述当前节点为非叶子节点,且该订阅中包含所述当前节点对应的节点属性时,在该订阅中删除与所述节点属性一致的订阅属性,并根据该订阅属性的属性类型,确定所述当前节点至下一层级子节点的到达路径;
20、若所述当前节点为叶子节点,或在所述当前节点下该订阅中的订阅属性为空时,将该订阅的主体标识存储在当前节点的订阅列表中。
21、可选地,对于任一订阅,按照从根节点到子节点的顺序,判断当前节点的类型之后,所述方法还包括:
22、若当前节点为非叶子节点,且该订阅中未包含当前节点对应的节点属性时,选择最右侧路径作为当前节点至下一层级子节点的到达路径。
23、可选地,根据所述新发布事件的事件属性与预先构建的订阅树的节点属性,确定所述新发布事件匹配的目标订阅,包括:
24、按照从所述订阅树的根节点到子节点的顺序,判断当前节点的类型;
25、若所述当前节点为非叶子节点,且所述新发布事件的事件属性中包含所述当前节点对应的节点属性时,在所述新发布事件中删除与该节点属性一致的事件属性,并根据删除的事件属性的属性类型,确定所述当前节点至下一层级子节点的匹配路径;
26、若所述当前节点为叶子节点,或在所述当前节点下所述新发布事件的事件属性为空时,根据所述当前节点的订阅列表中的多个订阅的主体标识,调用所述多个订阅;
27、对于所述多个订阅中任一个订阅,若该订阅中存在至少一个订阅属性包含有所述新发布事件中的任一个事件属性时,将该订阅确定为所述目标订阅。
28、第二方面,本技术实施例提供一种数据空间内数字对象订阅发布装置,所述装置包括:
29、监听模块,用于监听任一主体的新发布事件,所述新发布事件是所述主体新发布的数字对象元数据或更改后的数字对象元数据的映射结果,所述新发布事件中包括一个或多个事件属性;
30、匹配模块,用于当监听到有新发布事件发布时,根据所述新发布事件的事件属性与预先构建的订阅树的节点属性,确定所述新发布事件匹配的目标订阅,其中,所述订阅表征对应的主体对数字对象元数据的需求;所述订阅树中的各个节点均用于存储不同的订阅,且所述订阅树中所有节点的节点属性与不同层级的节点之间的路径均由多个订阅的订阅属性决定;
31、发布模块,用于将所述新发布事件分发至所述目标订阅对应的一个或多个主体。
32、第三方面,本技术实施例提供一种数据空间内数字对象订阅发布系统,所述系统自下而上包括存储层、逻辑层、接入层和展示层,其中:
33、所述存储层,用于存储订阅树以及订阅的具体信息,其中,所述订阅树中的各个节点均用于存储不同的订阅,所述订阅表征对应的主体对数字对象元数据的需求,且所述订阅树中所有节点的节点属性与不同层级的节点之间的路径均由多个订阅的订阅属性决定;
34、所述逻辑层,用于执行新发布事件的发布过程、所述新发布事件与所述订阅的匹配过程,所述订阅树的构建过程以及新增、删除或修改订阅的处理过程,其中,所述新发布事件是所述主体新发布的数字对象元数据或更改后的数字对象元数据的映射结果;
35、所述接入层,用于对外提供用于任一主体发布所述新发布事件的事件发布接口,以及用于任一主体新增、删除或修改订阅的事件订阅接口;
36、所述展示层,用于通过可视化的界面获取任一主体针对新发布事件或订阅的操作,并通过所述可视化的界面向目标主体展示新发布事件对应的数字对象元数据的具体信息,其中,所述目标主体为与所述新发布事件匹配的订阅对应的一个或多个主体。
37、有益效果:
38、当一个主体产生新发布的数字对象元数据,或者对数字对象元数据进行更改后,对应产生包含一个或多个事件属性的新发布事件;当监听到有新发布事件发布时,根据新发布事件的事件属性与预先存储多个订阅的订阅树的节点属性,确定新发布事件匹配的目标订阅,最后将新发布事件分发至目标订阅对应的一个或多个主体。
39、订阅反映了主体对数字对象元数据的需求,本方法将多个主体的订阅存储在订阅树中,订阅树中的每个节点均可以用于存储不同的订阅,订阅树中所有节点的节点属性与不同层级的节点之间的路径均由多个订阅的订阅属性决定。
40、当有新发布事件时,根据新发布事件的事件属性和订阅树的节点属性,可以在订阅树中索引到目标订阅,在匹配过程中,通过属性选择树状结构的节点与不同层级节点之间的路径,可以只用在索引路径上的订阅进行匹配,不用与所有的订阅均进行匹配,进而减少大量不必要的匹配,从而提高匹配效率。
本文地址:https://www.jishuxx.com/zhuanli/20240730/194334.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表