数据同步方法、装置、存储介质及处理器与流程

文档序号:36259297发布日期:2023-12-05 13:15阅读:40来源:国知局
数据同步方法与流程

本技术涉及计算机,具体涉及一种数据同步方法、一种数据同步装置、一种机器可读存储介质、一种计算机程序产品及一种处理器。


背景技术:

1、通常企业的自动化运维类系统需要对接各类跨领域(比如:主机类、平台类、应用类、网络类等),跨系统(比如:用户中心、配置管理数据库、大数据平台、日志平台、变更平台等)数据,同时,由于企业的各个分公司的自动化运维类系统的上下游系统建设不一致,使得设计出统一的同步方案比较困难,当需要进行数据同步时,需要针对不同分公司的不同上下游系统接口进行单独开发,效率很低。

2、kettle是一种将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的工具。kettle可以对多种数据源进行抽取(extraction)、加载(loading)、数据落湖(data lake injection)、对数据进行各种清洗(cleaning)、转换(transformation)、混合(blending)。现有的自动化运维类系统通常采用kettle进行数据同步,随着自动化运维类系统业务越来越复杂,对接的数据源种类繁多,且有很多准实时同步场景,但是kettle不支持数据实时流式同步,因此,现有的采用kettle的自动化运维类系统无法进行数据实时流式同步。


技术实现思路

1、本技术实施例的目的是提供一种数据同步方法、一种数据同步装置、一种机器可读存储介质、一种计算机程序产品及一种处理器。该数据同步方法实现了对异构数据源的实时流式同步,数据同步基于流处理配置文件中的规则就可以实现,从而支持热加载,基于热加载能力,新上线的同步流程不会影响现有的同步任务,业务影响率极低。

2、为了实现上述目的,本技术第一方面提供一种数据同步方法,所述数据同步方法包括:

3、响应于实时数据同步指令,获取流处理配置文件;

4、在外部数据源为数据库类型数据源的情况下,通过监听数据库的日志文件判断数据库是否有新操作,并在确定数据库有新操作的情况下,从所述外部数据源获取待同步数据;

5、在外部数据源为非标准化数据源的情况下,从所述外部数据源采集得到待同步数据;

6、基于所述流处理配置文件,将所述待同步数据转化为业务数据,并将所述业务数据发送至目标位置,以实现数据同步。

7、在本技术实施例中,所述在确定数据库有新操作的情况下,从所述外部数据源获取待同步数据,包括:

8、判断所述新操作是否为更新操作或插入操作;

9、确定所述新操作为更新操作或插入操作,获取所述新操作对应数据的主键id;

10、基于所述数据的主键id,从所述外部数据源查找出待同步数据。

11、在本技术实施例中,所述数据同步方法还包括:

12、响应于批处理数据同步指令,获取批处理配置文件;

13、在外部数据源为非标准化数据源的情况下,获取批处理编排流程;其中,所述批处理编排流程是对预先封装好的节点组件进行编排得到,所述节点组件用于实现数据同步过程中的各个阶段;

14、基于所述批处理配置文件,将所述外部数据源中的待同步数据按照所述批处理编排流程进行处理,得到批处理数据,并将所述批处理数据发送至目标位置,以实现数据同步。

15、在本技术实施例中,所述批处理配置文件中包括cron表达式,所述基于所述批处理配置文件,将所述外部数据源中的待同步数据按照所述批处理编排流程进行处理,得到批处理数据,包括:

16、基于所述cron表达式,定时将所述外部数据源中的待同步数据按照所述批处理编排流程进行处理,得到批处理数据。

17、在本技术实施例中,所述批处理配置文件中包括分片参数,所述基于所述批处理配置文件,将所述外部数据源中的待同步数据按照所述批处理编排流程进行处理,得到批处理数据,并将所述批处理数据发送至目标位置,以实现数据同步,包括:

18、基于所述分片参数,将所述外部数据源中的待同步数据划分为多个待同步业务数据;其中,各个待同步业务数据之间没有关联;

19、基于所述批处理配置文件,采用分布式处理方式将各个待同步业务数据分别按照所述批处理编排流程进行处理,得到批处理数据,并将所述批处理数据发送至目标位置,以实现数据同步。

20、在本技术实施例中,所述将所述业务数据发送至目标位置,以实现数据同步,包括:

21、根据外部数据源的数据类型,选择对应的输出引擎;

22、在预置的连接池中选择与目标位置对应的池化接口,并基于所述输出引擎和池化接口将所述业务数据发送至目标位置,以实现数据同步。

23、本技术第二方面提供一种数据同步装置,所述数据同步装置包括:

24、第一配置文件获取模块,用于响应于实时数据同步指令,获取流处理配置文件;

25、第一数据获取模块,用于在外部数据源为数据库类型数据源的情况下,通过监听数据库的日志文件判断数据库是否有新操作,并在确定数据库有新操作的情况下,从所述外部数据源获取待同步数据;

26、第二数据获取模块,用于在外部数据源为非标准化数据源的情况下,从所述外部数据源采集得到待同步数据;

27、第一同步输出模块,用于基于所述流处理配置文件,将所述待同步数据转化为业务数据,并将所述业务数据发送至目标位置,以实现数据同步。

28、在本技术实施例中,所述第一数据获取模块包括:

29、判断单元,用于判断所述新操作是否为更新操作或插入操作;

30、主键获取单元,用于确定所述新操作为更新操作或插入操作,获取所述新操作对应数据的主键id;

31、查找单元,用于基于所述数据的主键id,从所述外部数据源查找出待同步数据。

32、在本技术实施例中,所述数据同步装置还包括:

33、第二配置文件获取模块,用于响应于批处理数据同步指令,获取批处理配置文件;

34、编排流程获取模块,用于在外部数据源为非标准化数据源的情况下,获取批处理编排流程;其中,所述批处理编排流程是对预先封装好的节点组件进行编排得到,所述节点组件用于实现数据同步过程中的各个阶段;

35、第二同步输出模块,用于基于所述批处理配置文件,将所述外部数据源中的待同步数据按照所述批处理编排流程进行处理,得到批处理数据,并将所述批处理数据发送至目标位置,以实现数据同步。

36、本技术第三方面提供一种处理器,被配置成执行上述的数据同步方法。

37、本技术第四方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的数据同步方法。

38、本技术第五方面提供一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述的数据同步方法。

39、通过上述技术方案,通过响应实时数据同步指令,获取流处理配置文件;在外部数据源为数据库类型数据源的情况下,通过监听数据库的日志文件判断数据库是否有新操作,并在确定数据库有新操作的情况下,从所述外部数据源获取待同步数据;在外部数据源为非标准化数据源的情况下,从所述外部数据源采集得到待同步数据;基于所述流处理配置文件,将所述待同步数据转化为业务数据,并将所述业务数据发送至目标位置,以实现数据同步。从而实现对异构数据源的实时同步,数据同步基于流处理配置文件中的规则就可以实现,从而支持热加载,基于热加载能力,新上线的同步流程不会影响现有的同步任务,业务影响率极低。

40、本技术实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1