一种基于任务切分的微服务水利数据共享交换方法与流程

文档序号:35102716发布日期:2023-08-10 10:23阅读:89来源:国知局
一种基于任务切分的微服务水利数据共享交换方法与流程

本发明涉及大数据与云计算领域,具体地说它是一种基于任务切分的微服务水利数据共享交换方法。


背景技术:

1、水利数据是指水利行业产生的数据,主要包括水利业务和水利政务数据。通过对水利数据的有效管理和挖掘,可以大力推进和实现水利业务的精细化管理,提高水利工作的决策效率和科学化程度。近年来,水利行业以“水利信息化带动水利现代化”速度明显加快,但由于建设时期及所属项目类别、管理单位地域的差异,各系统数据库技术不一、各系统间数据兼容和集成度低,由此形成了一个个信息孤岛,既影响了现有系统的有效运行,也影响了各地域间相互配合做出科学的水利工作决策的效率;

2、水利业务数据通过部署在现场或生产环境的传感器、闸站监控等设备获得,由于这些设备时刻以秒、分钟为单位记录数据,因此水利数据具有海量巨大、时效性强等特点;

3、现有方法多是基于批次号进行全量或批量离线复制以及单纯线上同步方法(如jdbc同步、接口同步方式),但由于不同地区、不同机构间路途遥远且可能应用多种不同的数据库管理系统,如mysql、oracle、达梦,采用离线复制的方法可能会出现工作人员旅途劳顿、线程存储介质兼容性低等问题,导致无法适用跨地区、跨机构实时共享水利数据。若单纯使用在线同步则未考虑水利数据量大、时效性强的特点,由于未作并发处理,则难以符合巨量数据同步要求,导致同步速度慢、数据同步效率十分低下,容易造成更新不及时和数据不一致的问题,影响数据应用结果(如,若是巡视检查重要设备的数据同步延迟就可能对后续抢修产生影响;若是某地区雨水情数据就可能造成雨水情数据发布不及时导致实时水量调度策略出现误差等情况)。目前尚未有一套高效实施的涉及跨地区,跨机构(水利厅、省水文局、工程沿线水库管理单位等)的共享水利数据交换方法;

4、因此,开发一种能实现跨地区、跨机构共享水利数据且同步效率高的交换方法很有必要。


技术实现思路

1、本发明的目的是为了提供一种基于任务切分的微服务水利数据共享交换方法,通过数据集成实现信息互联互通,为数据分析应用提供完整数据,能实现跨地区,跨机构实时共享水利数据,基于同步任务切片及微服务技术,并发处理同步任务、提高数据同步效率;用以解决因数据更新周期慢造成的更新不及时和数据不一致的问题,打破信息壁垒,解决信息孤岛、数据共享问题。

2、为了实现上述目的,本发明的技术方案为:一种基于任务切分的微服务水利数据共享交换方法,其特征在于:包括如下步骤,

3、步骤s1,配置动态配置发布方及接收方的数据源及数据源链接;

4、步骤s2,基于数据交换模块建立数据同步任务;本过程中接受数据的是接收方,提供数据的是发布方;

5、数据交换模块针对步骤s1中所涉及的库表构建主动触发的数据同步任务;

6、步骤s3,数据交换模块进行任务分片、监听、及任务委派;

7、数据交换模块包括任务分片单元、任务监听单元、任务执行单元;

8、任务分片单元根据不同的源端切分策略,将步骤s2中涉及的较大数据同步任务进行分片形成较小的数据同步任务,并由任务监听单元监听后委派给不同的任务执行单元进行数据同步工作;

9、步骤s4,开放接口;

10、将数据同步过程封装为支持动态配置的api接口,以供数据接收方进行调用,将数据同步过程封装成接口,以http json api服务的形式进行请求;

11、步骤s5,执行同步;

12、接收方启动定时任务,定时请求步骤s4中涉及接口拉取发布方数据或接收方主动请求接口拉取发布方数据;

13、定时任务启动后(其中,任务是指接收方定时请求和拉取发布方数据库数据),使用阅读器reader从发布方源数据库读取数据后执行步骤s3经任务分片、监听、委派,最后使用写入器writer将数据库写入接收方目标数据库。

14、在上述技术方案中,在步骤s1中,配置动态配置发布方及接收方的数据源及数据源链接,具体方法包括:

15、当一个新的数据发布方或接受方接入系统时,将其数据库链接方式及数据库配置项注册并写入到数据交换平台中;

16、配置项包括数据库类型、数据库端口、数据库用户和访问密码;

17、当完成此配置后,该新加入的数据发布方或接收方的数据源为可用状态。

18、在上述技术方案中,在步骤s2中,数据同步任务包括:

19、数据传输任务:数据交换模块即时从数据发布方源数据库请求读取数据、处理并请求写入数据接受方数据库的一系列操作算作一次数据同步任务;

20、定时库表同步任务:按照每天、每小时、每分钟设定时间间隔,定时进行数据传输任务。

21、在上述技术方案中,数据同步任务采用framework+plugin架构构建;

22、将数据源读取和写入抽象成为阅读器/写入器(reader/writer)插件,纳入到整个同步框架中;

23、阅读器reader支持mysql、oracle、sqlserver、达梦以及通用dbms,支持通用化配置api接口作为数据源,对于非上述数据库管理系统的其他数据库管理系统,支持通过自定义编写阅读器reader处理类程序进行插件化接入;

24、写入器writer支持mysql、oracle、sqlserver、达梦以及通用dbms。

25、在上述技术方案中,在步骤s3中,任务分片单元进行任务分片,具体方法为:

26、s311:使用阅读器reader从发布方源数据库读取数据后数据交换平台实例的任务分片单元启动一个工作生成器进程来完成作业同步任务的分片;

27、s312:根据不同的源端切分策略,将工作job切分成多个小的子任务task,以加快处理速度;

28、具体而言,切分子任务遵循以下规律:

29、;其中:表示切分任务所含的数据量规模,表示单次接口请求同步的数据量大小,表示阅读器reader的不同数据源端口,, d database表示直接从发布方数据库同步数据, d api表示通过步骤s4中开放的接口请求数据;

30、s313:完成任务切片后使用任务分派模块将切分好的任务输入任务监听单元。

31、在上述技术方案中,在步骤s3中,任务监听单元进行任务监听,具体方法为:

32、任务监听单元接收任务分片单元处理好的分片任务,并将拆分成的子任务压入到任务队列重新组合,组装成任务组;当一个任务的工作组建立完毕后,即进行任务委派。

33、在上述技术方案中,在步骤s3中,任务执行单元进行任务委派,具体方法为:

34、任务组通过redis实现对任务的分组,根据先到先服务策略,将同一时间到达的子任务分为一组。

35、在上述技术方案中,在redis中自主设置任务优先级策略,优先级别高的任务会优先分配运行资源,具体方法为:

36、根据实际需要将任务区分为多个优先级,以优先级由高至低的顺序,依次将任务逐个下发至当前任务负载情况较轻的任务执行单元中、进行数据同步工作。

37、需要说明书的是:步骤s1具体为建立用户使用界面,用户指定动态写入发布方及接收方的数据源及数据源链接;需要说明的是,此步骤并不是具体的配置,而是指具有用户操作界面可以指一句用户意愿基于用户界面配置数据库参数的以及原链接的过程;本步骤支持动态配置非特定渠道,可动态添加调整删除,甚至修改的具有用户配置界面的过程;

38、步骤s2具体为建立守护进程,指定守护进程应当调度的定时同步任务(即监听是否有需要进行同步);需要说明的是同步任务是定时任务,类似于守护进程,不可以理解为同步数据的过程;本步骤中定时同步任务包括定时库表同步任务(按照每天、每小时、每分钟设定时间间隔,定时进行数据传输任务;需要说明的是定时库表同步任务,并不是具体的任务同步过程,而是指按照特定时间触发具体同步工程的计时器)、启动守护线程(启动守护线程,作为定时同步任务的容器,按照定时任务,触发数据传输任务)、数据传输任务(数据交换模块即时从数据发布方源数据库请求读取数据、处理并请求写入数据接受方数据库的一系列操作算作一次数据同步任务,是具体的同步过程);

39、在步骤s3中,需要说明的是:任务的分片、监听、委派不可以理解为简单的进行多步骤并发计算或异步计算过程(即分配不同线程的并发技术),而是指在包含多台机器的集群上分布式过程;在步骤s313中,由于此步骤基于分布式过程而非简单本机异步操作或cpu并发过程,因此此步骤中需要考虑负载均衡和服务发现过程,包含子步骤:1)将处理好的子任务加入等待队列,防止一时间子任务数量过多导致服务器宕机;2)软负载均衡分配服务器,并记录分配服务器地址;在任务监听单元进行任务监听时,任务队列和前面的等待对量不可理解为重复工作。等待队列防止服务器宕机,任务队列除了防止宕机意外,还可暂存数据;需要说明的是:任务的分片、监听、委派不可以理解为简单的进行多步骤并发计算或异步计算过程(即分配不同线程的并发技术),而是指在包含多台机器的集群上分布式过程;在任务执行单元进行任务委派时,根据先到先服务策略,将同一时间到达的子任务分为一组后根据任务分片单元进行任务分片时计算出的服务器记录,实现http服务转发。

40、本发明具有如下优点:

41、通过数据集成实现信息互联互通,为数据分析应用提供完整数据,能实现跨地区、跨机构共享水利数据(本发明通过任务分片将大任务切分成多个可以并发执行的小任务,经过负载均衡算法可以在多台服务器上并发执行,因此能实现信息互联互通、实现跨地区、跨机构实时共享水利数据,且水利数据更新周期短、更新速度快;此外由于本发明算法支持多种数据库格式,因此可以解决数据不一致问题),本发明基于同步任务切片及微服务技术,并发处理同步任务、提高数据同步效率;用以解决因数据更新周期慢造成的更新不及时和数据不一致的问题,打破信息壁垒,解决信息孤岛、数据共享问题。

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