一种基于分布式画面的数据订阅注册和注销系统及方法与流程

文档序号:31706750发布日期:2022-10-01 11:47阅读:38来源:国知局
一种基于分布式画面的数据订阅注册和注销系统及方法与流程

1.本发明涉及数据云存储技术领域,尤其涉及一种基于分布式画面的数据订阅注册和注销系统及方法。


背景技术:

2.基于现有可视化系统改进而来,现有可视化系统的主要缺陷是现有技术只支持大屏客户端,不支持多端,并且数据集没有过滤装置,使得可视化的效率和性能低下。


技术实现要素:

3.本发明的目的在于提供一种基于分布式画面的数据订阅注册和注销系统及方法,从而解决现有技术中存在的前述问题。
4.为了实现上述目的,本发明采用的技术方案如下:
5.一种基于分布式画面的数据订阅注册和注销系统及方法,包括若干个数据可视化客户端和/或三维可视化客户端、任务调度集群、分布式消息队列和数据集成服务端,
6.所述数据可视化客户端和所述三维可视化客户端可发起画面订阅注册或注销信息后传给所述任务调度集群;
7.所述任务调度集群包括若干个调度器和执行器,定时向分布式消息队列发送信息,告知其状态;获取作业信息,并将其获取的作业信息发送给所述数据集成服务端;
8.所述数据集成服务端接收任务调度集群传输的作业信息,并将作业信息进行初始化处理和条件过滤后通过所述分布式消息队列传输给所述数据可视化服务端和/三维可视化客户端;
9.所述数据可视化客户端用于接收分布式消息队列传输来的作业信息,并设计和显示作业信息的画面订阅注册和注销功能;
10.所述三维可视化客户端用于接收分布式消息队列传输来的作业信息并显示画面注册订阅内容。
11.优选的,所述系统还包括内存缓存和数据库,所述内存缓存是一款key-value的开源存储系统,大多用作缓存使用,可布署集群模式;所述数据库用于存储若干个可视化客户端的逻辑关系。
12.优选的,所述数据可视化客户端包括dvp微前端、dvp微服务层和存储层,所述dvp微前端通过逻辑层将画面设计器和显示器与所述dvp微服务层中的api接口进行对应连接,所述api接口层通过数据画面的对象处理过程后将数据进行存储至所述存储层中。
13.优选的,所述数据集成服务端包括数据查询映射模块、数据推送模块和数据初始化模块,数据查询映射模块分别与所述数据初始化模块和所述数据推送模块相连,所述数据查询映射模块包括条件过滤器,查询获取到的数据信息内容,采用所述条件过滤器将多余的数据信息条件进行过滤,然后传给所述数据推送模块以及所述数据初始化模块,所述数据初始化模块对查询到的数据进行初始化过程后存入缓存,所述数据推送模块可以将来
自所述数据查询映射模块和缓存中的数据推送至分布式消息队列。
14.本发明的另一个目的在于提供了一种基于分布式画面的数据订阅注册和注销的方法,包括以下步骤:
15.s1,基于若干个数据可视化客户端和/或三维可视化客户端上的订阅器转发中心将订阅器的作业信息通过订阅器数据推送中心发送到分布式消息队列中;
16.s2,所述分布式消息队列将接收到的作业信息分别自主分配给任务调度集群中的可调度执行器;
17.s3,所述可调度执行器接收到已分配的作业信息后,立即通过分布式消息队列告知其他调度执行器自身状态,同时要将该作业信息发送给所述数据集成服务端,并将画面数据推送给对应的画面。
18.优选的,所述作业信息包括注册信息和注销信息,注册信息和注销信息中包括数据画面信息、控件信息、模型信息,数据集合信息以及订阅频率信息;
19.步骤s1还包括条件过滤:根据作业信息中的数据画面信息、控件信息、模型信息,数据集合信息以及订阅频率信息,对作业信息进行去重过滤。
20.优选的,步骤s1和s2之间还包括:所有调度器、执行器,在加入任务调度集群时,需要第一时间发送其注册消息到指定队列,告知其他节点自己的存在;具体为:调度器注册成功后,会由主调度器分派调度任务,同步作业;执行器注册成功后,主调度器同步全量作业,所有调度器添加可调度的执行器信息。
21.优选的,由于调度器集群中,存在一主多从,主节点的选举方式为抢占式,需定期重置redis的leader锁标识,leader锁标识在10秒内过期,其值为调度器节点的唯一hash标识符,调度器谁先抢占该资源锁,谁就是主调度器。
22.优选的,当作业存在增删改查时,调度器会发送消息到指定消息队列,所有节点消费并同步增量作业,实现作业的一致性。
23.优选的,所述调度器决定消息发送给哪个消息队列,触发决定发消息的时机;所述所有节点指的是相互配合完成整个调度执行过程的执行器节点和调度器。
24.优选的,所述数据推送器对数据可视化客户端提供的查询条件进行编号,把重复的查询条件进行同一编号,同时根据画面实例id进行区分;然后根据查询条件查询到结果后,将所述查询结果推送到对应的画面实例id对应的数据可视化客户端画面上。
25.本发明的有益效果是:
26.本发明公开了一种基于分布式画面的数据订阅注册和注销系统及方法,针对多客户端的画面订阅,采用分布式注册和注销订阅方案,提升了可视化客户端画面的订阅性能和效率,以应对多客户端的高并发场景,然后针对相同的查询条件进行过滤,避免了数据重复推送,提升了作业信息的推送效率。
附图说明
27.图1是实施例1中提供的系统架构图;
28.图2是实施例1中提供的dvp组成架构图;
29.图3是数据订阅与发布架构设计示意图;
30.图4是条件过滤器原理示意图;
31.图5是实施例2提供的数据订阅装置进行画面订阅注册和注销方法原理图。
具体实施方式
32.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
33.术语解释:
34.画面:需要数据的控件;
35.查询条件:画面上可以设置的一系列数据过滤参数;
36.转发中心:接收数据推送器的数据然后转发到需要的画面上;
37.推送器:根据查询器提供的查询条件去数据中心查询数据,并且把结果推送给转发中心;
38.查询器:主要缓存查询条件和调度计划,然后通过调度器触发推送器工作;
39.调度器(scheduler):负责控制作业分派及定时执行的系统;
40.执行器(executor):负责执行作业的系统,包括多个作业处理器,对应于推送器;
41.增删改查(crud):作业任务的添加删除查询修改四大基本功能;
42.io:输入/输出(input/output)
43.jvm:java virtual machine(java虚拟机)
44.dvp:数据可视化客户端
45.dip:数据集成服务端
46.3d:三维可视化客户端
47.bi:业务计算分析服务
48.实施例1
49.本实施例提供了一种基于分布式画面的数据订阅注册和注销系统,如图1所示,包括若干个数据可视化客户端和/或三维可视化客户端、任务调度集群、分布式消息队列和数据集成服务端,
50.所述任务调度集群包括若干个调度器和执行器,定时向分布式消息队列发送信息,告知其状态;获取作业信息,并将其获取的作业信息发送给所述数据集成服务端;
51.本实施例中的分布式消息队列;用于实现包括心跳、作业全量加载、作业全量同步、作业分派和作业调度在内的数据交互;
52.任务调度集群的调度器和执行器可作为节点,定时向分布式消息队列发送信息,告知其状态;获取作业信息,并将其获取的作业信息发送给所述数据集成服务端具体包括:节点定时向指定的分布式消息队列发送心跳,告知其他节点自己的存活状态;所述节点在加入任务调度集群时,第一时间发送注册消息到指定的分布式消息队列,告知其他节点自己的存在;调度器注册成功后,由主调度器分派调度任务,同步作业;执行器注册成功后,主调度器同步全量作业,所有调度器添加可调度的执行器的信息。
53.本实施例中的所述数据集成服务端包括数据查询映射模块、数据推送模块和数据初始化模块,数据查询映射模块分别与所述数据初始化模块和所述数据推送模块相连,所述数据查询映射模块包括条件过滤器,查询获取到的数据信息内容,采用所述条件过滤器
将多余的数据信息条件进行过滤,然后传给所述数据推送模块以及所述数据初始化模块,所述数据初始化模块对查询到的数据进行初始化过程后存入缓存,所述数据推送模块可以将来自所述数据查询映射模块和缓存中的数据推送至分布式消息队列。
54.所述数据集成服务端接收任务调度集群传输的作业信息,并将作业信息进行初始化处理和条件过滤后通过所述分布式消息队列传输给所述数据可视化服务端和/三维可视化客户端;此外,dip在接收mq传递来的数据订阅端的消息缓存进缓存redis,同时任务调度添加调度任务,根据任务时间触发执行bi查询接口获取数据,把数据推送mq;需要说明的是,注销动作和注册动作相反清理订阅缓存和调度任务。
55.所述数据可视化客户端包括画面设计器和播放器,用于接收分布式消息队列传输来的作业信息,并设计和显示作业信息的画面订阅注册和注销功能;所述画面设计器主要设计和配置画面,包括画面选择哪些控件,控件绑定哪些模型等。画面播放器包括注册订阅/注销订阅,接收分布式消息队列数据并且转发数据到数据画面上。
56.所述三维可视化客户端包括画面播放器,用于接收分布式消息队列传输来的作业信息并显示画面注册订阅内容,画面播放器包括注册订阅/注销订阅,接收mq数据并且转发数据到数据画面上。
57.所述系统还包括内存缓存和数据库,所述内存缓存是一款key-value的开源存储系统,大多用作缓存使用,可布署集群模式;所述数据库用于存储若干个可视化客户端的逻辑关系。
58.本实施例中的所述数据可视化客户端包括dvp微前端、dvp微服务层和存储层,所述dvp微前端通过逻辑层将画面设计器和显示器与所述dvp微服务层中的api接口进行对应连接,所述api接口层通过数据画面的对象处理过程后将数据进行存储至所述存储层中。
59.如图2所示,dvp前端包括内容、模型列表、画面打开、保存、资源上传下载以及资源获取连接等调用dvp接口层保存,更新数据的过程图。
60.dvp接口层包括模型列表接口、上传下载接口、外链接口、画面内容和临时保存接口。
61.实施例2
62.本实施例提供了一种基于分布式画面的数据订阅注册和注销的方法,如图5所示,包括以下步骤:
63.s1,基于若干个数据可视化客户端和/或三维可视化客户端上的订阅器转发中心将订阅器的作业信息通过订阅器数据推送中心发送到分布式消息队列中;
64.作业信息包括注册信息和注销信息,注册信息和注销信息中包括数据画面信息、控件信息、模型信息,数据集合信息以及订阅频率信息;
65.步骤s1还包括条件过滤:根据作业信息中的数据画面信息、控件信息、模型信息,数据集合信息以及订阅频率信息,对作业信息进行去重过滤,然后传入分布式消息队列。
66.s2,所述分布式消息队列将接收到的作业信息分别自主分配给任务调度集群中的可调度执行器;
67.所有调度器、执行器,在加入任务调度集群时,需要第一时间发送其注册消息到指定队列,告知其他节点自己的存在;具体为:调度器注册成功后,会由主调度器分派调度任务,同步作业;执行器注册成功后,主调度器同步全量作业,所有调度器添加可调度的执行
器信息。
68.s3,所述可调度执行器接收到已分配的作业信息后,立即通过分布式消息队列告知其他调度执行器自身状态,同时要将该作业信息发送给所述数据集成服务端,并将画面数据推送给对应的画面。
69.本实施例中的作业信息还可能包括增删改查,当作业存在增删改查时,调度器会发送消息到指定消息队列,当节点收到消息后,会判断该消息的操作类型,操作类型中会明显标识出新增、查询、修改、删除;针对不同类型触发不同的动作,所有节点消费并同步增量作业,实现作业的一致性。
70.所述数据推送器对数据可视化客户端提供的查询条件进行编号,把重复的查询条件进行同一编号,同时根据画面实例id进行区分;dvp多个实例订阅注销数据,并且后端dip接收订阅注册/注销并且推送/停止数据推送过程,如图3所示;然后根据查询条件查询到结果后,将所述查询结果推送到对应的画面实例id对应的数据可视化客户端画面上,针对查询映射进行详细说明,查询映射过程有条件过滤器,过滤掉多余的条件,dip推送只推送需要的数据。
71.过滤器的工作原理如图4所示,每个客户端对应一个订阅端,每个订阅端对应一个查询条件,查询条件包括数据画面信息,控件信息,模型信息,数据集合信息,订阅频率信息;条件过滤主要根据查询条件中的模型信息,数据结合信息,订阅频率进行去重过滤;不同的客户端很可能包括相同的模型信息,数据集信息,订阅频率。模型信息中包括模型唯一标识,模型对应数据字段。数据集信息主要是控件上根据模型的多个数据字段进行过滤的条件集合。
72.通过采用本发明公开的上述技术方案,得到了如下有益的效果:
73.本发明公开了一种基于分布式画面的数据订阅注册和注销系统及方法,画面订阅采用分布式注册和注销订阅方案,提升了画面的订阅性能和效率,以应对高并发场景,然后针对相同的查询条件进行过滤,避免了数据重复推送,提升了作业信息的推送效率。
74.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1