一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

大数据平台主数据实时同步方法及系统与流程

2022-11-09 22:36:09 来源:中国专利 TAG:


1.本发明属于交通综合自动化技术领域,尤其涉及一种大数据平台主数据实时同步方法及系统。


背景技术:

2.目前轨道交通安全生产网内,随着运营数据量的增大和数据类型的增多,越来越多地采取大数据平台进行海量生产数据汇总和存储,并进行数据治理,最终形成数据资产地图。
3.目前大数据平台内,对于无时无刻不在产生的海量生产数据,比如设备和点的运行状态、传感器的状态变化等,可以通过流处理方法,在数据etl后,实时传递到大数据平台内并共享出去。但是对于相对稳定的主数据,比如说设备和点的属性等,目前都是通过定期同步的方法来处理。这种主数据的定期同步,一般采用大数据平台的数据同步组件,比如sqoop组件,定时把数据从源系统同步到大数据平台内存储主数据的关系数据库表中。
4.早期的大数据平台没有实时流处理业务,只用于历史数据的存储,业务也都是t 1类型。这种情况下,即便主数据变化有滞后,对业务也影响不大。但是随着轨道交通运营业务的增长,大数据平台内用于各种智慧运营的实时流任务也越来越多。我们在做实时流处理过程中发现,在某些场合,比如添加传感器、更换设备等导致了源系统主数据变化,需要及时更新到大数据平台。否则导致大数据平台内主数据和生产数据之间数据不匹配,造成某些指标(比如故障统计、故障预测)的计算错误;或者影响了数据质量,在生产数据入库时数据校验不通过,可能会导致数据的后续处理产生问题。


技术实现要素:

5.为了解决现有技术存在的问题,本发明提供一种大数据平台主数据实时同步方法及系统,能够快速将源系统数据同步到大数据平台。
6.本发明所要解决的技术问题是通过以下技术方案实现的:
7.第一方面,提供了一种大数据平台主数据实时同步系统,包括:实时接口模块、批量同步模块、任务管理模块以及数据服务模块;
8.所述批量同步模块用于在系统资源匮乏时同步时效性要求低的主数据;
9.所述实时接口模块用于在系统资源充足时同步所有主数据,在系统资源匮乏时同步时效性要求高的主数据;
10.所述任务管理模块用于切分和调度各个数据同步作业;
11.所述数据服务模块用于提供各个应用访问已同步的数据。
12.第二方面,进一步的,在系统资源匮乏时通过批量同步模块同步时效性要求低的主数据,通过实时接口模块同步时效性要求高的主数据;
13.在系统资源充足时通过实时接口模块同步所有主数据;
14.通过任务管理模块对数据同步作业进行切分和调度;
15.通过数据服务模块向各个应用提供已同步数据的访问。
16.结合第二方面,进一步的,批量同步模块同步主数据采用sqoop组件,定期把主数据从各个数据源同步到大数据平台中。
17.结合第二方面,进一步的,批量同步模块将主数据从数据源同步到大数据平台采用整表同步的方式。
18.结合第二方面,进一步的,实时接口模块通过调用接口函数和消息发送进行主数据同步。
19.结合第二方面,进一步的,系统资源剩余超过50%时为系统资源充足,低于50%时为系统资源匮乏。
20.结合第二方面,进一步的,对时效性要求高的主数据进行同步时,任务管理模块先把数据同步作业按照线路和系统进行切分。
21.结合第二方面,进一步的,任务管理模块在启动时把关系库的主数据表加载到内存数据库中,再把内存数据库的数据加载到各个数据同步作业中,建立map,将数据源中的点id和大数据平台内的点id进行映射。
22.本发明有益效果:本发明通过根据系统资源占用率选择不同的同步方式将数据从源系统同步到大数据,在保数据同步稳定性的同时也保证数据同步的实时性,并且在数据服务模块中通过实时组件redis向外部提供数据访问服务,保证了访问的高效实时性和准确性。
附图说明
23.图1为本发明中数据同步作业的流程图;
24.图2为本发明中同步系统的架构图。
具体实施方式
25.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
26.如图1-图2所示,本发明提供了一种大数据平台主数据实时同步系统,包括批量同步模块、实时接口模块、任务管理模块以及数据服务模块四个模块。
27.为了实现数据同步,需要建立主数据设备点表,该表建立在任务管理模块的数据中,住数据的设备点表dev_point_info表结构如下所示:
[0028][0029]
其中point_key和source_key分别对应大数据平台存储的数据点id和源系统也即数据生产者的设备点id,表征它们的映射关系。
[0030]
其中,批量同步模块用于在系统资源匮乏(同步系统剩余资源低于50%)时同步时效性要求低(此处低相较于实时同步的时效性要求高而言)的主数据;
[0031]
实时接口模块用于在系统资源充足(系统剩余资源高于50%)时同步所有主数据,在系统资源匮乏时同步时效性要求高的主数据;
[0032]
任务管理模块用于切分和调度各个数据同步作业;
[0033]
数据服务模块用于提供各个应用访问已同步的数据。
[0034]
基于上述的大数据平台主数据实时同步系统,本发明的数据同步过程主要如下:
[0035]
在系统资源匮乏时通过批量同步模块同步时效性要求低的主数据,通过实时接口模块同步时效性要求高的主数据。
[0036]
其中批量同步模块在进行数据同步时通过sqoop组件,定期(例如一周或者一天)把主数据从各个数据源同步到大数据平台的主数据表中,同步方式为整表同步。
[0037]
在系统资源充足时通过实时接口模块同步所有主数据。
[0038]
实时接口模块给数据源的系统提供restful api接口和kafka主题通道两种方式接收主数据的变化。当数据源的主数据发生变化时,数据源的系统通过调用restful api接口或者kafka消息推送方式通知更新的点id到大数据平台主数据实时同步系统。当(增加、修改、删除)时,可以任选一种方式(restful api或者kafka消息)通知同步系统,实时接口模块把源系统的设备点id映射到大数据平台内的数据点id,推送到kafka通道。
[0039]
通过任务管理模块对数据同步作业进行切分和调度;
[0040]
任务管理模块负责切分和调度各个数据同步作业,每个作业都是个流任务。
[0041]
任务管理模块把作业按照线路和系统切分,即对不同的线路和系统启动单独的作业。任务管理模块在启动时把关系库(rdb)的主数据表加载到内存数据库redis中,再把redis的数据加载到各个数据同步作业中,建立map,通过map将源系统的设备点id和大数据平台内的数据点id映射起来。数据同步作业接收实时接口模块的kafka信息,并根据时间戳校验,对作业内部相关数据点的map作出相应增删或更新修改,并实时同步到实时库redis中。数据同步作业的具体处理流程见附图1。任务管理模块每天凌晨把redis的数据同步到关系数据库的主数据表dev_point_info里。
[0042]
通过数据服务模块向各个应用提供已同步数据的访问。
[0043]
数据服务模块提供主数据访问接口给各个应用,把redis的实时断面数据通过restful接口分享出去。由于向外提供实时数据共享服务的来源是实时组件redis而不是关系型数据库,因此保证了数据服务的实时性。在大数据平台的数据共享服务接口提供服务时,获取到的已经是实时同步的数据。这样实现了从源系统到大数据平台的主数据实时同步。
[0044]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0045]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0046]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0047]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献