CN110413673A - 数据库数据统一采集与分发方法及系统 - Google Patents
数据库数据统一采集与分发方法及系统 Download PDFInfo
- Publication number
- CN110413673A CN110413673A CN201910609932.9A CN201910609932A CN110413673A CN 110413673 A CN110413673 A CN 110413673A CN 201910609932 A CN201910609932 A CN 201910609932A CN 110413673 A CN110413673 A CN 110413673A
- Authority
- CN
- China
- Prior art keywords
- data
- acquisition
- striping
- target
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Abstract
本申请提供一种数据库数据统一采集与分发方法及系统,其中的方法包括:基于多个条带化子任务,应用至少一个采集实例对至少一个目标数据源共享库中的数据进行周期性的统一采集;根据预获取的数据处理规则对各个所述采集实例采集的数据进行归一化处理;将经所述数据处理后的数据统一分发至对应的至少一个目标端中以使所述目标数据源共享库的数据需求方自对应的目标端中获取对应的数据。本申请能够有效实现针对数据源共享库的一点采集及多点分发,以及能够在不占用数据源共享库资源的同时,实现需求方对数据源共享库的数据的实时获取。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及一种数据库数据统一采集与分发方法及系统。
背景技术
随着电子商务、互联网金融和移动支付等的日渐普及与应用,各信息系统之间数据交互以及数据共享需求也在不断增加。以其中的支付系统进行举例:支付系统存在多个子系统共享相同业务数据的应用场景,目前各子系统在交易系统日终后分别采集交易镜像库,批量采集业务数据,且持续时长最长可达十个小时,因此使得业务数据统计与分析在时间上不能得到有效的保证,数据统计滞后,延迟较高。基于此,为了提高当前信息系统对业务数据的采集、统计和分析处理的效率,亟需应用数据共享技术调整现有信息系统在日终后集中批量采集业务数据的模式,以将其优化为日间小批量实时采集的模式。
目前的数据共享技术主要通过直连数据源共享库进行业务计算实现数据共享,即,需要共享数据的各系统直接访问数据源共享库,在数据源共享库上执行SQL计算任务,将数据计算结果回存到本地数据库;又或者,还可以为各系统单独采集数据源共享库实现数据共享,即,需要共享数据的各系统以批量或准实时的方式采集数据源共享库,将采集结果存入各自系统本地数据库中,后续业务统计基于各系统本地数据库进行计算。
然而,无论是上述的哪一种数据共享方式,均存在对数据源共享库产生资源占用或采集时间较长的问题。
发明内容
针对现有技术中的问题,本申请提供一种数据库数据统一采集与分发方法及系统,能够有效实现针对数据源共享库的一点采集及多点分发,以及能够在不占用数据源共享库资源的同时,实现需求方对数据源共享库的数据的实时获取。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种数据库数据统一采集与分发方法,包括:
基于多个条带化子任务,应用至少一个采集实例对至少一个目标数据源共享库中的数据进行周期性的统一采集;
根据预获取的数据处理规则对各个所述采集实例采集的数据进行归一化处理;
将经所述数据处理后的数据统一分发至对应的至少一个目标端中以使所述目标数据源共享库的数据需求方自对应的目标端中获取对应的数据。
进一步地,在所述应用至少一个采集实例对至少一个目标数据源共享库中的数据进行周期性的统一采集之前,还包括:
生成针对目标数据源共享库的条带化任务;
将所述条带化任务划分为多个条带化子任务。
进一步地,所述生成针对目标数据源共享库的条带化任务,包括:
获取预设的针对目标数据源共享库的条带化策略数据;
根据所述条带化策略数据生成对应的条带化任务;
将所述条带化任务存储至对应的条带化任务队列中。
进一步地,所述将所述条带化任务划分为多个条带化子任务,包括:
自所述条带化任务队列中获取所述条带化任务;
基于预获取的任务类型和任务派发策略数据,将所述条带化任务划分为多个条带化子任务;
将各个所述条带化子任务发送至对应的各个采集实例。
进一步地,在所述生成针对目标数据源共享库的条带化任务之前,还包括:
自对应的配置文件和/或管理数据库中获取规则数据,其中,所述规则数据包括:分发规则、所述数据处理规则数据、所述条带化策略数据和所述任务派发策略数据。
进一步地,所述基于多个条带化子任务,应用至少一个采集实例对至少一个目标数据源共享库中的数据进行周期性的统一采集,包括:
应用与各个所述条带化子任务分别对应的采集实例对同一个或多个所述目标数据源共享库中的数据进行周期性的统一采集。
进一步地,在所述根据预获取的数据处理规则对各个所述采集实例采集的数据进行归一化处理之后,还包括:
将经所述归一化处理后得到的数据均转化为符合目标数据格式的第一目标数据。
进一步地,在所述将经所述归一化处理后得到的数据均转化为符合目标数据格式的第一目标数据之后,还包括:
对所述第一目标数据进行数据过滤处理、数据映射处理和数据计算处理中的至少一项处理,得到第二目标数据;
将所述第二目标数据发送至对应的Kafka分布式消息组件中。
进一步地,所述将经所述数据处理后的数据统一分发至对应的至少一个目标端中以使所述目标数据源共享库的数据需求方自对应的目标端中获取对应的数据,包括:
基于预获取的分发规则数据,应用至少一个分发实例自所述Kafka分布式消息组件中获取所述第二目标数据;
对所述第二目标数据进行归一化处理,得到对应的第三目标数据;
应用至少一个所述分发实例将所述第三目标数据统一分发至对应的至少一个目标端中,以使至少一个所述目标数据源共享库的数据需求方分别自对应的所述目标端中获取对应的数据。
进一步地,在所述应用至少一个所述分发实例将所述第三目标数据统一分发至对应的至少一个目标端中之前,还包括:
对所述第三目标数据进行数据过滤处理、数据映射处理和数据计算处理中的至少一项处理。
进一步地,所述数据库数据统一采集与分发方法还包括:
对所述统一采集的过程和所述统一分发的过程进行数据校验,若经校验获知存在数据处理错误,则控制各个所述采集实例重新对至少一个目标数据源共享库中的数据进行周期性的统一采集。
进一步地,所述数据库数据统一采集与分发方法还包括:
若经校验获知同一所述数据处理错误已发生多次,则进行报警处理。
第二方面,本申请提供一种数据库数据统一采集与分发系统,包括:
采集服务模块,用于基于多个条带化子任务,应用至少一个采集实例对至少一个目标数据源共享库中的数据进行周期性的统一采集;
所述采集服务模块,还用于根据预获取的数据处理规则对各个所述采集实例采集的数据进行归一化处理;
分发服务模块,用于将经所述数据处理后的数据统一分发至对应的至少一个目标端中以使所述目标数据源共享库的数据需求方自对应的目标端中获取对应的数据。
进一步地,所述数据库数据统一采集与分发系统还包括:
条带化服务模块,用于生成针对目标数据源共享库的条带化任务;
指令派发服务模块,用于将所述条带化任务划分为多个条带化子任务。
进一步地,所述条带化服务模块包括:
条带化策略获取单元,用于获取预设的针对目标数据源共享库的条带化策略数据;
条带化任务生成单元,用于根据所述条带化策略数据生成对应的条带化任务;
条带化任务存储单元,用于将所述条带化任务存储至对应的条带化任务队列中。
进一步地,所述指令派发服务模块包括:
条带化任务获取单元,用于自所述条带化任务队列中获取所述条带化任务;
条带化子任务获取单元,用于基于预获取的任务类型和任务派发策略数据,将所述条带化任务划分为多个条带化子任务;
条带化子任务派发单元,用于将各个所述条带化子任务发送至对应的各个采集实例。
进一步地,所述数据库数据统一采集与分发系统还包括:
主控服务模块,用于自对应的配置文件和/或管理数据库中获取规则数据,其中,所述规则数据包括:分发规则、所述数据处理规则数据、所述条带化策略数据和所述任务派发策略数据。
进一步地,所述采集服务模块包括:
数据统一采集单元,用于应用与各个所述条带化子任务分别对应的采集实例对同一个或多个所述目标数据源共享库中的数据进行周期性的统一采集。
进一步地,所述采集服务模块还包括:
格式转换单元,用于将经所述归一化处理后得到的数据均转化为符合目标数据格式的第一目标数据。
进一步地,所述采集服务模块还包括:
采集数据处理单元,用于对所述第一目标数据进行数据过滤处理、数据映射处理和数据计算处理中的至少一项处理,得到第二目标数据;
采集数据发送单元,用于将所述第二目标数据发送至对应的Kafka分布式消息组件中。
进一步地,所述分发服务模块包括:
分发数据获取单元,用于基于预获取的分发规则数据,应用至少一个分发实例自所述Kafka分布式消息组件中获取所述第二目标数据;
分发数据归一化处理单元,用于对所述第二目标数据进行归一化处理,得到对应的第三目标数据;
分发数据发送单元,用于应用至少一个所述分发实例将所述第三目标数据统一分发至对应的至少一个目标端中,以使至少一个所述目标数据源共享库的数据需求方分别自对应的所述目标端中获取对应的数据。
进一步地,所述分发服务模块还包括:
分发数据处理单元,用于对所述第三目标数据进行数据过滤处理、数据映射处理和数据计算处理中的至少一项处理。
进一步地,所述数据库数据统一采集与分发系统还包括:
对账服务模块,用于对所述统一采集的过程和所述统一分发的过程进行数据校验,若经校验获知存在数据处理错误,则控制各个所述采集实例重新对至少一个目标数据源共享库中的数据进行周期性的统一采集。
进一步地,所述对账服务模块,还用于若经校验获知同一所述数据处理错误已发生多次,则进行报警处理。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的数据库数据统一采集与分发方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权所述的数据库数据统一采集与分发方法的步骤。
由上述技术方案可知,本申请提供一种数据库数据统一采集与分发方法及系统,其中的方法包括:基于多个条带化子任务,应用至少一个采集实例对至少一个目标数据源共享库中的数据进行周期性的统一采集;根据预获取的数据处理规则对各个所述采集实例采集的数据进行归一化处理;将经所述数据处理后的数据统一分发至对应的至少一个目标端中以使所述目标数据源共享库的数据需求方自对应的目标端中获取对应的数据,使得本申请能够有效解决数据库数据的共享的问题,通过建设统一数据采集与分发平台,构建业务数据采集、传输、分发的统一渠道,以高效的方式对数据源共享库的数据进行采集和分发,进而能够有效且高效地实现针对数据源共享库的一点采集及多点分发,能够在不占用数据源共享库的资源的同时,实现需求方对数据源共享库的数据的实时获取,进而能够有效避免多个系统对数据源共享库重复采集的情况,提高数据共享的效率。同时,本申请还支持业务系统数据库分布式部署结构,提供在线准实时小批量数据采集和非实时批量数据采集方式,根据数据消费者对不同种类数据的定阅要求,格式要求,将数据写入目标端中,在多种数据源及多平台下,使业务数据可以在生产者和消费者之间自由流动。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请的数据库数据统一采集与分发系统与其他设备之间的通信连接示意图。
图2为本申请实施例中的数据库数据统一采集与分发方法的流程示意图。
图3为本申请实施例中的包含有步骤010和步骤020的数据库数据统一采集与分发方法的流程示意图。
图4为本申请实施例中的数据库数据统一采集与分发方法中步骤010的具体流程示意图。
图5为本申请实施例中的数据库数据统一采集与分发方法中步骤020的具体流程示意图。
图6为本申请实施例中的包含有步骤000的数据库数据统一采集与分发方法的流程示意图。
图7为本申请实施例中的数据库数据统一采集与分发方法中步骤110至步骤130的流程示意图。
图8为本申请实施例中的数据库数据统一采集与分发方法中步骤300的第一种具体流程示意图。
图9为本申请实施例中的数据库数据统一采集与分发方法中步骤300的第二种具体流程示意图。
图10本申请实施例中的数据库数据统一采集与分发方法中步骤400、步骤501和步骤502的流程示意图。
图11为本申请实施例中的数据库数据统一采集与分发系统的结构示意图。
图12为本申请实施例中的包含有条带化服务模块01和指令派发服务模块02的数据库数据统一采集与分发系统的结构示意图。
图13为本申请实施例中的包含有主控服务模块00的数据库数据统一采集与分发系统的结构示意图。
图14为本申请实施例中的包含有对账服务模块40的数据库数据统一采集与分发系统的结构示意图。
图15为本申请应用实例中的数据库数据统一采集与分发系统的组成机构示意图。
图16为本申请应用实例中的数据库数据统一采集与分发系统的逻辑结构示意图。
图17为本申请应用实例中的数据库数据统一采集与分发系统的运行流程示意图。
图18为本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有的数据共享技术主要有如下两种方式:
1)直连数据源共享库进行业务计算
需要共享数据的各系统直接访问数据源共享库,在数据源共享库上执行SQL计算任务,将数据计算结果回存到本地数据库。由于此种方式直接在数据源共享库上进行统计计算,当数据源共享库增量数据较多时,导致过多占用数据源共享库计算资源,对运行在数据源共享库上的业务系统产生较大的影响,所以此种方式不适用于数据量较大的业务场景。
2)各系统单独采集数据源共享库
需要共享数据的各系统以批量或准实时的方式采集数据源共享库,将采集结果存入各自系统本地数据库中,后续业务统计基于各系统本地数据库进行计算。由于业务计算基于本地数据库进行,不会对数据源共享库产生资源占用,此种方式对比“直连共享库计算”方式有一定的改善,但是此种方式需要定时将数据源共享库的数据采集到各自系统中,如果源端增量数据较大,同样会对数据源共享库产生一定的资源占用。
此种方式包含准实时采集和批量采集两种采集模式,对于准实时采集模式,多个系统以一定间隔轮询迭代采集数据源共享库的增量数据,虽然能够保证数据复制的实时性,但是如果数据源共享库增量数据较大,采集客户端较多时,会占用数据源共享库较多的计算资源和磁盘IO资源,对数据源共享库性能产生一定影响;对于批量采集模式,在数据源共享库资源占用低谷时,采集端依次采集数据源共享库,获取当日所有增量数据(支付系统各信息系统在交易系统日终后依次进行数据采集),此种模式在数据量较大时,会造成采集时间较长的情况,无法满足数据资源实时性获取的要求。
针对现有的数据共享技术存在的问题,本申请提供一种数据库数据统一采集与分发方法、数据库数据统一采集与分发系统、电子设备和计算机可读存储介质,通过基于多个条带化子任务,应用至少一个采集实例对至少一个目标数据源共享库中的数据进行周期性的统一采集;根据预获取的数据处理规则对各个所述采集实例采集的数据进行归一化处理;将经所述数据处理后的数据统一分发至对应的至少一个目标端中以使所述目标数据源共享库的数据需求方自对应的目标端中获取对应的数据,能够有效解决数据库数据的共享的问题,通过建设统一数据采集与分发平台,构建业务数据采集、传输、分发的统一渠道,以高效的方式对数据源共享库的数据进行采集和分发,进而能够有效且高效地实现针对数据源共享库的一点采集及多点分发,能够在不占用数据源共享库的资源的同时,实现需求方对数据源共享库的数据的实时获取,进而能够有效避免多个系统对数据源共享库重复采集的情况,提高数据共享的效率。同时,本申请还支持业务系统数据库分布式部署结构,提供在线准实时小批量数据采集和非实时批量数据采集方式,根据数据消费者对不同种类数据的定阅要求,格式要求,将数据写入目标端中,在多种数据源及多平台下,使业务数据可以在生产者和消费者之间自由流动。
基于上述内容,参见图1,本申请还提供一种数据库数据统一采集与分发系统1,该用于对数据库数据进行统一采集与分发的数据库数据统一采集与分发系统1可以与至少一个客户端设备2和/或至少一个服务器3之间通信连接,所述服务器1还可以与至少一个对应的目标数据源共享库4通信连接。所述客户端设备2和至少一个服务器3均可以为所述目标数据源共享库4的数据需求方,为了能够避免这些数据需求方在获取目标数据源共享库4中的数据时,造成的目标数据源共享库4的资源被占用以及数据采集实时性差且效率低的问题,本申请中的数据库数据统一采集与分发系统1以高效的方式对目标数据源共享库4中的数据进行统一的采集和分发,并根据数据需求方对不同种类数据的定阅要求和/或格式要求,将目标数据源共享库4中的数据写入目标端中,以提高数据共享效率,并提供在线准实时小批量数据采集和非实时批量数据采集方式,根据数据消费者对不同种类数据的定阅要求,格式要求,将数据写入目标端中至少一个客户端设备2和/或至少一个服务器3可以自对应的目标端实时获取各自所需的数据。在本申请的一个或多个实施例中,所述目标端可以为目标数据库、文件和其他存储容器中的至少一个。
其中,所述数据库数据统一采集与分发系统1也可以为一种用于对数据库数据进行统一采集与分发的服务器或客户端设备。在实际应用中,进行数据库数据统一采集与分发的部分可以在如上述内容所述的服务器侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
可以理解的是,所述客户端设备可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
所述服务器与所述客户端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
具体通过下述各个实施例对本申请的方案进行详细说明。
为了能够有效实现针对数据源共享库的一点采集及多点分发,以及能够在不占用数据源共享库资源的同时,实现需求方对数据源共享库的数据的实时获取,本申请提供一种执行主体可以为数据库数据统一采集与分发系统的数据库数据统一采集与分发方法的实施例,参见图2,所述数据库数据统一采集与分发方法具体包含有如下内容:
步骤100:基于多个条带化子任务,应用至少一个采集实例对至少一个目标数据源共享库中的数据进行周期性的统一采集。
可以理解的是,所述条带化子任务是将条带化策略数据生成的对应的条带化任务进行拆分后得到的。
在步骤100中,所述数据库数据统一采集与分发系统可以根据接收到的采集指令中的任务信息,从数据表中读取源采集库采集表业务数据。
步骤200:根据预获取的数据处理规则对各个所述采集实例采集的数据进行归一化处理。
具体来说,归一化方法有两种形式,一种是把数变为(0,1)之间的小数,一种是把有量纲表达式变为无量纲表达式。主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,更加便捷快速,应该归到数字信号处理范畴之内。
在步骤200中,所述数据库数据统一采集与分发系统可以根据获取得到配置规则对采集数据进行数据处理,生成平台内部数据报文(即批次数据),然后写入到消息中间件集群中。
步骤300:将经所述数据处理后的数据统一分发至对应的至少一个目标端中以使所述目标数据源共享库的数据需求方自对应的目标端中获取对应的数据。
在步骤300中,所述数据库数据统一采集与分发系统可以读取预存储的采集的数据块,而后根据分发策略,将采集的数据块派发到指定目标端中,目前支持关系数据库和平文件两种端点。
为了能够有效实现针对数据源共享库的一点采集及多点分发,以及能够在不占用数据源共享库资源的同时,还能够进一步提高数据采集的可靠性和准确性,在本申请的数据库数据统一采集与分发方法的一个实施例,参见图3,在所述数据库数据统一采集与分发方法的步骤100之前还具体包含有如下内容:
步骤010:生成针对目标数据源共享库的条带化任务。
其中,可以应用条带化技术生成条带化任务,所述条带化技术是一种将集中式数据采集负载均衡到时间线上,以小批量准实时方式进行数据采集时分割数据的一种技术。条带化技术把连续的数据拆分成很多小段数据,并把这些数据的采集任务分散负载给多个进程去处理,在需要对这种数据进行顺序小批量采集的时候可以获得最大程度上的I/O并行能力,从而获得非常好的性能。
步骤020:将所述条带化任务划分为多个条带化子任务。
在步骤020中,所述数据库数据统一采集与分发系统将条带化后的采集任务负载均衡到多个采集实例上去执行,实现分布式调度,提高数据的采集效率。
在一种实施例中,参见图4,所述步骤010具体包含有如下内容:
步骤011:获取预设的针对目标数据源共享库的条带化策略数据。
步骤012:根据所述条带化策略数据生成对应的条带化任务。
步骤013:将所述条带化任务存储至对应的条带化任务队列中。
在本申请中,所述条带化策略包含增量值条带化和非增量值条带化两种方式,具体来说:
(一)增量值条带化,应用此种条带化策略,需要采集数据库表中需要包含一个增量字段(即第N+1条记录的增量字段值总比第N条记录增量字段值大),增量字段主要用于划定每次采集数据的数据范围,增量字段值以是数值型和时间型字段。
在本申请的一个或多个实施例中,所述增量值条带化的条带化技术实现原理为:
(1)从采集数据库表中获取增量字段最大的值,作为本批次的数据截止范围上限。
(2)获取增量值水位线(上次选取增量字段最大的值),将增量值水位线与本次增量字段最大值之间的数据作为一个批次,将数据选取信息范围存储至管理数据库任务表中。
(3)更新增量值水位线为最新的增量字段值,作为下批次条带化任务的截至范围上线。
所述增量值条带化的模式适用范围较广,但是每次条带化都需要从业务表中读取增量字段最大值,会耗费一定时间,因此需要在时间字段上建立索引进行优化,以提高数据条带化的效率。
(二)非增量值条带化,如果采集数据库表中无增量字段(即不适用于增量值条带化策略的情况),则需要对采集数据库表建立触发器,通过触发器对采集数据库表进行数据操作的跟踪,在触发器中记录变更数据的主键、变更时间、变更类型,再将变更数据记录表和采集数据库表进行联合条带化。
在本申请的一个或多个实施例中,所述增量值条带化的条带化技术实现原理为:
(1)在采集数据库中建立变更数据记录表,用于记录采集表的变化数据,包含采集表名、业务主键、变更时间、变更类型(增、删、改、查),其中变更时间为增量值字段。
(2)对采集数据库表建立触发器,触发器实现对采集表变更数据的记录,将结果记录到变更数据记录表中。
(3)获取变更数据记录表的增量值(变更时间字段)水位线(上次选取增量字段最大的值),将增量值水位线与本次增量字段最大值之间的数据作为一个批次,将数据选取信息范围存储至管理数据库条带化任务表中。
(4)更新增量值水位线为最新的增量字段值,作为下批次条带化任务的截至范围上线。
在本申请的数据库数据统一采集与分发方法一个实施例中,参见图5,所述步骤020具体包含有如下内容:
步骤021:自所述条带化任务队列中获取所述条带化任务。
步骤022:基于预获取的任务类型和任务派发策略数据,将所述条带化任务划分为多个条带化子任务。
步骤023:将各个所述条带化子任务发送至对应的各个采集实例。
为了能够有效实现针对数据源共享库的一点采集及多点分发,以及能够在不占用数据源共享库资源的同时,还能够进一步提高数据采集的可靠性和准确性,在本申请的数据库数据统一采集与分发方法的一个实施例中,参见图6,在所述数据库数据统一采集与分发方法的步骤100或者步骤010之前(图6中以在步骤010之前为例),还具体包含有如下内容:
步骤000:自对应的配置文件和/或管理数据库中获取规则数据,其中,所述规则数据包括:分发规则、所述数据处理规则数据、所述条带化策略数据和所述任务派发策略数据。
在步骤000中,所述数据库数据统一采集与分发系统可以装载本实例需要启动的服务、加载系统配置参数、接受管理端发送的控制命令、本实例服务模块间的交互等功能。主控服务是系统的必要模块,随系统启动而装载。
基于上述内容,在本申请的数据库数据统一采集与分发方法的一个实施例中,所述步骤100具体可以为:应用与各个所述条带化子任务分别对应的采集实例对同一个或多个所述目标数据源共享库中的数据进行周期性的统一采集。
为了能够有效实现针对数据源共享库的一点采集及多点分发的同时,还能够进一步提高数据处理的可靠性和全面性,在本申请的数据库数据统一采集与分发方法的一个实施例中,参见图7,在所述数据库数据统一采集与分发方法的步骤100与所述步骤200之间,还可以具体包含有如下内容:
步骤110:将经所述归一化处理后得到的数据均转化为符合目标数据格式的第一目标数据。
步骤120:对所述第一目标数据进行数据过滤处理、数据映射处理和数据计算处理中的至少一项处理,得到第二目标数据。
步骤130:将所述第二目标数据发送至对应的Kafka分布式消息组件中。
基于上述内容,在本申请的数据库数据统一采集与分发方法的一个实施例中,参见图8,所述步骤300具体包含有如下内容:
步骤301:基于预获取的分发规则数据,应用至少一个分发实例自所述Kafka分布式消息组件中获取所述第二目标数据。
步骤302:对所述第二目标数据进行归一化处理,得到对应的第三目标数据。
步骤303:应用至少一个所述分发实例将所述第三目标数据统一分发至对应的至少一个目标端中,以使至少一个所述目标数据源共享库的数据需求方分别自对应的所述目标端中获取对应的数据。
在本申请的数据库数据统一采集与分发方法的一个实施例中,参见图9,在步骤303之前,以及步骤302之后,还具体包含有如下内容:
步骤310:对所述第三目标数据进行数据过滤处理、数据映射处理和数据计算处理中的至少一项处理。
为了能够有效实现针对数据源共享库的一点采集及多点分发的同时,还能够进一步提高数据处理的可靠性和准确性,在本申请的数据库数据统一采集与分发方法的一个实施例中,参见图10,所述数据库数据统一采集与分发方法还具体包含有如下内容:
步骤400:对所述统一采集的过程和所述统一分发的过程进行数据校验。
步骤501:若经校验获知存在数据处理错误,则控制各个所述采集实例重新对至少一个目标数据源共享库中的数据进行周期性的统一采集。
步骤502:若经校验获知同一所述数据处理错误已发生多次,则进行报警处理。
从软件层面来说,为了能够有效实现针对数据源共享库的一点采集及多点分发,以及能够在不占用数据源共享库资源的同时,实现需求方对数据源共享库的数据的实时获取,本申请提供一种用于执行所述数据库数据统一采集与分发方法中全部或部分内容的数据库数据统一采集与分发系统的实施例,参见图11,所述数据库数据统一采集与分发系统具体包含有如下内容:
采集服务模块10,用于基于多个条带化子任务,应用至少一个采集实例对至少一个目标数据源共享库中的数据进行周期性的统一采集。
所述采集服务模块10,还用于根据预获取的数据处理规则对各个所述采集实例采集的数据进行归一化处理。
分发服务模块20,用于将经所述数据处理后的数据统一分发至对应的至少一个目标端中以使所述目标数据源共享库的数据需求方自对应的目标端中获取对应的数据。
其中,所述采集服务模块10具体包含有如下内容:
数据统一采集单元,用于应用与各个所述条带化子任务分别对应的采集实例对同一个或多个所述目标数据源共享库中的数据进行周期性的统一采集。
格式转换单元,用于将经所述归一化处理后得到的数据均转化为符合目标数据格式的第一目标数据。
采集数据处理单元,用于对所述第一目标数据进行数据过滤处理、数据映射处理和数据计算处理中的至少一项处理,得到第二目标数据。
采集数据发送单元,用于将所述第二目标数据发送至对应的Kafka分布式消息组件中。
其中,所述分发服务模块20具体包含有如下内容:
分发数据获取单元,用于基于预获取的分发规则数据,应用至少一个分发实例自所述Kafka分布式消息组件中获取所述第二目标数据。
分发数据归一化处理单元,用于对所述第二目标数据进行归一化处理,得到对应的第三目标数据。
分发数据发送单元,用于应用至少一个所述分发实例将所述第三目标数据统一分发至对应的至少一个目标端中,以使至少一个所述目标数据源共享库的数据需求方分别自对应的所述目标端中获取对应的数据。
分发数据处理单元,用于对所述第三目标数据进行数据过滤处理、数据映射处理和数据计算处理中的至少一项处理。
为了能够有效实现针对数据源共享库的一点采集及多点分发,以及能够在不占用数据源共享库资源的同时,还能够进一步提高数据采集的可靠性和准确性,在本申请的数据库数据统一采集与分发系统的一个实施例,参见图12,所述数据库数据统一采集与分发系统还具体包含有如下内容:
条带化服务模块01,用于生成针对目标数据源共享库的条带化任务;
指令派发服务模块02,用于将所述条带化任务划分为多个条带化子任务。
在一种实施例中,所述条带化服务模块01具体包含有如下内容:
条带化策略获取单元,用于获取预设的针对目标数据源共享库的条带化策略数据。
条带化任务生成单元,用于根据所述条带化策略数据生成对应的条带化任务。
条带化任务存储单元,用于将所述条带化任务存储至对应的条带化任务队列中。
在一种实施例中,所述指令派发服务模块02具体包含有如下内容:
条带化任务获取单元,用于自所述条带化任务队列中获取所述条带化任务。
条带化子任务获取单元,用于基于预获取的任务类型和任务派发策略数据,将所述条带化任务划分为多个条带化子任务。
条带化子任务派发单元,用于将各个所述条带化子任务发送至对应的各个采集实例。
为了能够有效实现针对数据源共享库的一点采集及多点分发,以及能够在不占用数据源共享库资源的同时,还能够进一步提高数据采集的可靠性和准确性,在本申请的数据库数据统一采集与分发系统的一个实施例中,参见图13,所述数据库数据统一采集与分发系统还具体包含有如下内容:
主控服务模块00,用于自对应的配置文件和/或管理数据库中获取规则数据,其中,所述规则数据包括:分发规则、所述数据处理规则数据、所述条带化策略数据和所述任务派发策略数据。
为了能够有效实现针对数据源共享库的一点采集及多点分发的同时,还能够进一步提高数据处理的可靠性和准确性,在本申请的数据库数据统一采集与分发系统的一个实施例中,参见图14,所述数据库数据统一采集与分发系统还具体包含有如下内容:
对账服务模块30,用于对所述统一采集的过程和所述统一分发的过程进行数据校验,若经校验获知存在数据处理错误,则控制各个所述采集实例重新对至少一个目标数据源共享库中的数据进行周期性的统一采集。
所述对账服务模块30,还用于若经校验获知同一所述数据处理错误已发生多次,则进行报警处理。
为了进一步说明本方案,本申请还提供一种应用上述数据库数据统一采集与分发系统实现上述数据库数据统一采集与分发方法的具体应用实例,以高效的方式对源端数据库数据进行采集和分发,提高数据共享效率,提供在线准实时小批量数据采集和非实时批量数据采集方式,根据数据消费者对不同种类数据的定阅要求,格式要求,将数据写入目标端点中。具体参见图15和图16,所述数据库数据统一采集与分发方法具体包含有如下内容:
(一)主控服务
主控服务作为系统的控制模块,负责装载本实例需要启动的服务、加载系统配置参数、接受管理端发送的控制命令、本实例服务模块间的交互等功能。主控服务是系统的必要模块,随系统启动而装载。
其中,所述数据库数据统一采集与分发系统中可以由主控服务、条带化服务、指令分发服务、采集服务、数据处理服务、分发服务和对账服务等模块组成。
(二)条带化服务
条带化技术是一种将集中式数据采集负载均衡到时间线上,以小批量准实时方式进行数据采集时分割数据的一种技术。条带化技术把连续的数据拆分成很多小段数据,并把这些数据的采集任务分散负载给多个进程去处理,在需要对这种数据进行顺序小批量采集的时候可以获得最大程度上的I/O并行能力,从而获得非常好的性能。
(三)指令分发服务
指令分发服务是将条带化后的采集任务负载均衡到多个采集实例上去执行,实现分布式调度,提高数据的采集效率。
具体执行流程为:
(1)获取管理数据库条带化任务表数据。
(2)根据条带化策略将条带化任务的数据获取范围再次拆分,拆分成N份(N为要负载调度的采集端个数)。
(3)依次将采集指令发送给采集端,通知采集端进行数据采集。
(4)按一定频率重复执行以上步骤。
(四)采集服务
采集服务根据采集指令中的任务信息,从数据表中读取源采集库采集表业务数据,根据配置规则对采集数据进行数据处理,生成平台内部数据报文(即批次数据),然后写入到消息中间件集群中。
具体执行流程为:
(1)接收指令分发服务发送来的采集任务。
(2)根据采集任务描述信息拼装采集SQL,对源端数据库采集表数据进行采集。
(3)根据采集表数据处理规则对采集的数据调用数据处理服务,进行数据处理(此步骤不是必须,根据需要配置)。
(4)将处理后的数据进行内部封装,并写入消息中间件Kafka中。
(五)数据处理服务
根据配置规则对采集数据进行过滤、转换、计算,提高数据采集分发过程的灵活性。
当采集表数据样式不能满足消费者的业务需求时,可以通过配置数据处理规则,对采集的数据进行一定的转换操作。此步骤不是必须,根据需要配置。
具体执行流程为:
(1)数据格式归一,将外部数据转换为数据处理服务内部的数据结构。
(2)解析该数据对应的数据处理规则根据数据处理规则进行数据的过滤、转换和计算。
(3)返回处理后的数据。
(六)分发服务
从消息中间件KAFKA中读取采集的数据块,根据分发策略,将采集的数据块派发到指定目标端点中,目前支持关系数据库和平文件两种端点。
分发策略主要包括如下几种模式:
(1)一对多:一份数据(一张表数据)可以分别复制到多个表中。
(2)一对一:一份数据(一张表数据)可以保存到一个表中。
(3)多对一:多份数据(多张表数据)可以保存到一个表中。
(七)对账服务
验证采集分发数据的处理情况,如果采集或分发过程出现错误,模块能够自动调用重新采集服务,对出错批次数据进行重新采集,可以通过定时和手工等方式触发对账服务。
应用上述数据库数据统一采集与分发系统实现上述数据库数据统一采集与分发方法的具体过程参见图17:
(一)启动主控服务
(1)从配置文件和数据库中装载基础数据与规则数据。
(2)获取本实例应该启动的服务模块,装载对应的服务模块。
(二)启动条带化服务(可省略)
(1)条带化服务获取条带化策略。
(2)根据策略启动多线程条带化任务控制器。
(3)向任务控制器中添加条带化任务处理器。
(4)生成条带化任务,放入条带化任务队列中。
(三)启动指令分发服务(可省略)
(1)从条带化任务队列管理器中获取条带化任务数据。
(2)根据任务类型和任务派发策略,将条带化任务进行切分。
(3)将切分后的细粒度任务派发给多个采集实例,通知采集端进行采集。
(四)启动对账服务(可省略)
(1)验证采集与分发对任务的处理情况。
(2)如果出现错误,则通知采集端重新采集。
(3)如果同一任务多次出现问题,则通知管理客户端进行人工干预。
(五)启动采集服务(可省略)
可以配置多个采集实例对同一个源端目标进行采集,提高采集效率。其中,可能存在多个采集实例。
(1)启动采集服务多线程任务控制器,从任务队列中获取任务列表,生成采集任务。
(2)调用数据处理服务,装载数据ETL处理规则,对采集的数据进行数据归一处理,将数据转化为内部标准的数据格式,隔离源端数据结构,对内统一数据格式,方便后续ETL处理(可省略)。
(3)根据过滤规则,对数据进行过滤(可省略)。
(4)根据映射规则,对数据进行映射(可省略)。
(5)根据数据计算规则,对数据属性进行相应的计算处理(可省略))。
(6)将ETL后的数据发送到对应的Kafka分布式消息组件中。
(六)启动分发服务(可省略)
可以配置多个分发实例共同监控同一个任务分发队列,实现一点分发多点采集的目的。其中,可能存在多个分发实例。
(1)启动数据分发多线程任务控制器,从分发队列中获取分发数据,生成分发任务。
(2)调用数据处理服务,装载数据ETL处理规则,对采集的数据进行数据归一处理,将数据转化为内部标准的数据格式,对内统一数据格式,隔离源端数据结构,方便后续ETL处理(可省略)。
(3)根据过滤规则,对数据进行过滤(可省略)。
(4)根据映射规则,对数据进行映射(可省略)。
(5)根据数据计算规则,对数据属性进行相应的计算处理(可省略)。
(6)将ETL后的数据分发到对应的目标中,可能是文件、数据库、队列管理器。
从上述描述可知,本申请应用实例提供的数据库数据统一采集与分发方法,能够为数据共享消费者提供统一、准确、实时的数据同步服务,实现对源端数据的一点采集多点分发的功能,保证系统在未来面临数据不断增长的情况时,可以正常、稳定、高效地处理业务数据。本申请提供灵活的方式进行横向和纵向扩展,以提高系统的数据处理能力,原则上系统处理能力不受限制。纵向扩展,进程内通过协调服务线程数、连接池数据、定时处理频度等参数提高每个实例的处理效率。横向扩展,可以通过增加服务器和进程实例数量,提高集群数据处理能力。
本申请的实施例还提供能够实现上述实施例中的数据库数据统一采集与分发方法中全部步骤的一种电子设备的具体实施方式,所述电子设备具体包括如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现数据库数据统一采集与分发系统以及用户终端等相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例数据库数据统一采集与分发方法的实施例及数据库数据统一采集与分发系统的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图18为本申请实施例的电子设备6001的系统构成的示意框图。如图18所示,该电子设备6001可以包括中央处理器1001和存储器1401;存储器1401耦合到中央处理器1001。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,数据库数据统一采集与分发功能可以被集成到中央处理器1001中。其中,中央处理器1001可以被配置为进行如下控制:
步骤100:基于多个条带化子任务,应用至少一个采集实例对至少一个目标数据源共享库中的数据进行周期性的统一采集。
步骤200:根据预获取的数据处理规则对各个所述采集实例采集的数据进行归一化处理。
步骤300:将经所述数据处理后的数据统一分发至对应的至少一个目标端中以使所述目标数据源共享库的数据需求方自对应的目标端中获取对应的数据。
从上述描述可知,本申请实施例提供的电子设备,能够有效解决数据库数据的共享的问题,通过建设统一数据采集与分发平台,构建业务数据采集、传输、分发的统一渠道,以高效的方式对数据源共享库的数据进行采集和分发,进而能够有效且高效地实现针对数据源共享库的一点采集及多点分发,能够在不占用数据源共享库的资源的同时,实现需求方对数据源共享库的数据的实时获取,进而能够有效避免多个系统对数据源共享库重复采集的情况,提高数据共享的效率。同时,本申请还支持业务系统数据库分布式部署结构,提供在线准实时小批量数据采集和非实时批量数据采集方式,根据数据消费者对不同种类数据的定阅要求,格式要求,将数据写入目标端中,在多种数据源及多平台下,使业务数据可以在生产者和消费者之间自由流动。
在另一个实施方式中,数据库数据统一采集与分发装置可以与中央处理器100分开配置,例如可以将数据库数据统一采集与分发装置配置为与中央处理器100连接的芯片,通过中央处理器的控制来实现数据库数据统一采集与分发功能。
如图18所示,该电子设备6001还可以包括:通信模块1101、输入单元1201、音频处理器1301、显示器1601、电源1701。值得注意的是,电子设备6001也并不是必须要包括图18中所示的所有部件;此外,电子设备6001还可以包括图18中没有示出的部件,可以参考现有技术。
如图18所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器1001接收输入并控制电子设备6001的各个部件的操作。
其中,存储器1401,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器1001可执行该存储器1401存储的该程序,以实现信息存储或处理等。
输入单元1201向中央处理器1001提供输入。该输入单元1201例如为按键或触摸输入装置。电源1701用于向电子设备6001提供电力。显示器1601用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器1401可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器1401还可以是某种其它类型的装置。存储器1401包括缓冲存储器1411(有时被称为缓冲器)。存储器1401可以包括应用/功能存储部1421,该应用/功能存储部1421用于存储应用程序和功能程序或用于通过中央处理器1001执行电子设备6001的操作的流程。
存储器140还可以包括数据存储部1431,该数据存储部1431用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器1401的驱动程序存储部1441可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块1101即为经由天线1111发送和接收信号的发送机/接收机1101。通信模块(发送机/接收机)1101耦合到中央处理器1001,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块1101,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)1101还经由音频处理器1301耦合到扬声器1311和麦克风1321,以经由扬声器1311提供音频输出,并接收来自麦克风1321的音频输入,从而实现通常的电信功能。音频处理器1301可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器1301还耦合到中央处理器1001,从而使得可以通过麦克风1321能够在本机上录音,且使得可以通过扬声器1311来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的数据库数据统一采集与分发方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的数据库数据统一采集与分发方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤100:基于多个条带化子任务,应用至少一个采集实例对至少一个目标数据源共享库中的数据进行周期性的统一采集。
步骤200:根据预获取的数据处理规则对各个所述采集实例采集的数据进行归一化处理。
步骤300:将经所述数据处理后的数据统一分发至对应的至少一个目标端中以使所述目标数据源共享库的数据需求方自对应的目标端中获取对应的数据。
从上述描述可知,本申请实施例提供的计算机可读存储介质,能够有效解决数据库数据的共享的问题,通过建设统一数据采集与分发平台,构建业务数据采集、传输、分发的统一渠道,以高效的方式对数据源共享库的数据进行采集和分发,进而能够有效且高效地实现针对数据源共享库的一点采集及多点分发,能够在不占用数据源共享库的资源的同时,实现需求方对数据源共享库的数据的实时获取,进而能够有效避免多个系统对数据源共享库重复采集的情况,提高数据共享的效率。同时,本申请还支持业务系统数据库分布式部署结构,提供在线准实时小批量数据采集和非实时批量数据采集方式,根据数据消费者对不同种类数据的定阅要求,格式要求,将数据写入目标端中,在多种数据源及多平台下,使业务数据可以在生产者和消费者之间自由流动。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (26)
1.一种数据库数据统一采集与分发方法,其特征在于,包括:
基于多个条带化子任务,应用至少一个采集实例对至少一个目标数据源共享库中的数据进行周期性的统一采集;
根据预获取的数据处理规则对各个所述采集实例采集的数据进行归一化处理;
将经所述数据处理后的数据统一分发至对应的至少一个目标端中以使所述目标数据源共享库的数据需求方自对应的目标端中获取对应的数据。
2.根据权利要求1所述的数据库数据统一采集与分发方法,其特征在于,在所述应用至少一个采集实例对至少一个目标数据源共享库中的数据进行周期性的统一采集之前,还包括:
生成针对目标数据源共享库的条带化任务;
将所述条带化任务划分为多个条带化子任务。
3.根据权利要求2所述的数据库数据统一采集与分发方法,其特征在于,所述生成针对目标数据源共享库的条带化任务,包括:
获取预设的针对目标数据源共享库的条带化策略数据;
根据所述条带化策略数据生成对应的条带化任务;
将所述条带化任务存储至对应的条带化任务队列中。
4.根据权利要求3所述的数据库数据统一采集与分发方法,其特征在于,所述将所述条带化任务划分为多个条带化子任务,包括:
自所述条带化任务队列中获取所述条带化任务;
基于预获取的任务类型和任务派发策略数据,将所述条带化任务划分为多个条带化子任务;
将各个所述条带化子任务发送至对应的各个采集实例。
5.根据权利要求4所述的数据库数据统一采集与分发方法,其特征在于,在所述生成针对目标数据源共享库的条带化任务之前,还包括:
自对应的配置文件和/或管理数据库中获取规则数据,其中,所述规则数据包括:分发规则、所述数据处理规则数据、所述条带化策略数据和所述任务派发策略数据。
6.根据权利要求1所述的数据库数据统一采集与分发方法,其特征在于,所述基于多个条带化子任务,应用至少一个采集实例对至少一个目标数据源共享库中的数据进行周期性的统一采集,包括:
应用与各个所述条带化子任务分别对应的采集实例对同一个或多个所述目标数据源共享库中的数据进行周期性的统一采集。
7.根据权利要求1所述的数据库数据统一采集与分发方法,其特征在于,在所述根据预获取的数据处理规则对各个所述采集实例采集的数据进行归一化处理之后,还包括:
将经所述归一化处理后得到的数据均转化为符合目标数据格式的第一目标数据。
8.根据权利要求7所述的数据库数据统一采集与分发方法,其特征在于,在所述将经所述归一化处理后得到的数据均转化为符合目标数据格式的第一目标数据之后,还包括:
对所述第一目标数据进行数据过滤处理、数据映射处理和数据计算处理中的至少一项处理,得到第二目标数据;
将所述第二目标数据发送至对应的Kafka分布式消息组件中。
9.根据权利要求8所述的数据库数据统一采集与分发方法,其特征在于,所述将经所述数据处理后的数据统一分发至对应的至少一个目标端中以使所述目标数据源共享库的数据需求方自对应的目标端中获取对应的数据,包括:
基于预获取的分发规则数据,应用至少一个分发实例自所述Kafka分布式消息组件中获取所述第二目标数据;
对所述第二目标数据进行归一化处理,得到对应的第三目标数据;
应用至少一个所述分发实例将所述第三目标数据统一分发至对应的至少一个目标端中,以使至少一个所述目标数据源共享库的数据需求方分别自对应的所述目标端中获取对应的数据。
10.根据权利要求9所述的数据库数据统一采集与分发方法,其特征在于,在所述应用至少一个所述分发实例将所述第三目标数据统一分发至对应的至少一个目标端中之前,还包括:
对所述第三目标数据进行数据过滤处理、数据映射处理和数据计算处理中的至少一项处理。
11.根据权利要求8所述的数据库数据统一采集与分发方法,其特征在于,还包括:
对所述统一采集的过程和所述统一分发的过程进行数据校验,若经校验获知存在数据处理错误,则控制各个所述采集实例重新对至少一个目标数据源共享库中的数据进行周期性的统一采集。
12.根据权利要求11所述的数据库数据统一采集与分发方法,其特征在于,还包括:
若经校验获知同一所述数据处理错误已发生多次,则进行报警处理。
13.一种数据库数据统一采集与分发系统,其特征在于,包括:
采集服务模块,用于基于多个条带化子任务,应用至少一个采集实例对至少一个目标数据源共享库中的数据进行周期性的统一采集;
所述采集服务模块,还用于根据预获取的数据处理规则对各个所述采集实例采集的数据进行归一化处理;
分发服务模块,用于将经所述数据处理后的数据统一分发至对应的至少一个目标端中以使所述目标数据源共享库的数据需求方自对应的目标端中获取对应的数据。
14.根据权利要求13所述的数据库数据统一采集与分发系统,其特征在于,还包括:
条带化服务模块,用于生成针对目标数据源共享库的条带化任务;
指令派发服务模块,用于将所述条带化任务划分为多个条带化子任务。
15.根据权利要求14所述的数据库数据统一采集与分发系统,其特征在于,所述条带化服务模块包括:
条带化策略获取单元,用于获取预设的针对目标数据源共享库的条带化策略数据;
条带化任务生成单元,用于根据所述条带化策略数据生成对应的条带化任务;
条带化任务存储单元,用于将所述条带化任务存储至对应的条带化任务队列中。
16.根据权利要求15所述的数据库数据统一采集与分发系统,其特征在于,所述指令派发服务模块包括:
条带化任务获取单元,用于自所述条带化任务队列中获取所述条带化任务;
条带化子任务获取单元,用于基于预获取的任务类型和任务派发策略数据,将所述条带化任务划分为多个条带化子任务;
条带化子任务派发单元,用于将各个所述条带化子任务发送至对应的各个采集实例。
17.根据权利要求16所述的数据库数据统一采集与分发系统,其特征在于,还包括:
主控服务模块,用于自对应的配置文件和/或管理数据库中获取规则数据,其中,所述规则数据包括:分发规则、所述数据处理规则数据、所述条带化策略数据和所述任务派发策略数据。
18.根据权利要求13所述的数据库数据统一采集与分发系统,其特征在于,所述采集服务模块包括:
数据统一采集单元,用于应用与各个所述条带化子任务分别对应的采集实例对同一个或多个所述目标数据源共享库中的数据进行周期性的统一采集。
19.根据权利要求13所述的数据库数据统一采集与分发系统,其特征在于,所述采集服务模块还包括:
格式转换单元,用于将经所述归一化处理后得到的数据均转化为符合目标数据格式的第一目标数据。
20.根据权利要求19所述的数据库数据统一采集与分发系统,其特征在于,所述采集服务模块还包括:
采集数据处理单元,用于对所述第一目标数据进行数据过滤处理、数据映射处理和数据计算处理中的至少一项处理,得到第二目标数据;
采集数据发送单元,用于将所述第二目标数据发送至对应的Kafka分布式消息组件中。
21.根据权利要求20所述的数据库数据统一采集与分发系统,其特征在于,所述分发服务模块包括:
分发数据获取单元,用于基于预获取的分发规则数据,应用至少一个分发实例自所述Kafka分布式消息组件中获取所述第二目标数据;
分发数据归一化处理单元,用于对所述第二目标数据进行归一化处理,得到对应的第三目标数据;
分发数据发送单元,用于应用至少一个所述分发实例将所述第三目标数据统一分发至对应的至少一个目标端中,以使至少一个所述目标数据源共享库的数据需求方分别自对应的所述目标端中获取对应的数据。
22.根据权利要求21所述的数据库数据统一采集与分发系统,其特征在于,所述分发服务模块还包括:
分发数据处理单元,用于对所述第三目标数据进行数据过滤处理、数据映射处理和数据计算处理中的至少一项处理。
23.根据权利要求20所述的数据库数据统一采集与分发系统,其特征在于,还包括:
对账服务模块,用于对所述统一采集的过程和所述统一分发的过程进行数据校验,若经校验获知存在数据处理错误,则控制各个所述采集实例重新对至少一个目标数据源共享库中的数据进行周期性的统一采集。
24.根据权利要求23所述的数据库数据统一采集与分发系统,其特征在于,所述对账服务模块,还用于若经校验获知同一所述数据处理错误已发生多次,则进行报警处理。
25.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至12任一项所述的数据库数据统一采集与分发方法的步骤。
26.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至12任一项所述的数据库数据统一采集与分发方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910609932.9A CN110413673B (zh) | 2019-07-08 | 2019-07-08 | 数据库数据统一采集与分发方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910609932.9A CN110413673B (zh) | 2019-07-08 | 2019-07-08 | 数据库数据统一采集与分发方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110413673A true CN110413673A (zh) | 2019-11-05 |
CN110413673B CN110413673B (zh) | 2022-02-11 |
Family
ID=68360565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910609932.9A Active CN110413673B (zh) | 2019-07-08 | 2019-07-08 | 数据库数据统一采集与分发方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110413673B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338795A (zh) * | 2020-02-18 | 2020-06-26 | 中国联合网络通信集团有限公司 | 数据处理方法及设备 |
CN111984716A (zh) * | 2020-08-20 | 2020-11-24 | 中国银行股份有限公司 | 交易数据采集方法及装置 |
CN112380030A (zh) * | 2020-11-09 | 2021-02-19 | 中国建设银行股份有限公司 | 主任务处理方法、装置、服务器和存储介质 |
CN112463634A (zh) * | 2020-12-11 | 2021-03-09 | 中国人民银行清算总中心 | 微服务架构下的软件测试方法及装置 |
CN112988875A (zh) * | 2021-04-08 | 2021-06-18 | 北京澎思科技有限公司 | 一种多维数据采集装置、系统及方法 |
CN112988740A (zh) * | 2020-11-27 | 2021-06-18 | 国网福建省电力有限公司 | 一种基于多个数据源的配电网数据收纳方法 |
CN113672455A (zh) * | 2021-08-03 | 2021-11-19 | 苏州关安健信息技术科技有限公司 | 工业物联网的数据采集分析方法 |
CN114880394A (zh) * | 2022-04-25 | 2022-08-09 | 浪潮卓数大数据产业发展有限公司 | 一种sql脚本的共享方法、设备及介质 |
CN114880394B (zh) * | 2022-04-25 | 2024-05-10 | 浪潮卓数大数据产业发展有限公司 | 一种sql脚本的共享方法、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447083A (zh) * | 2015-11-06 | 2016-03-30 | 深圳市中润四方信息技术有限公司 | 一种多源异构数据库数据聚散方法及系统 |
CN105933308A (zh) * | 2016-04-20 | 2016-09-07 | 北京章鱼智数科技有限公司 | 移动智能设备流式大数据实时处理方法 |
US20170329797A1 (en) * | 2016-05-13 | 2017-11-16 | Electronics And Telecommunications Research Institute | High-performance distributed storage apparatus and method |
CN107943958A (zh) * | 2017-11-24 | 2018-04-20 | 税友软件集团股份有限公司 | 一种个税主数据共享方法及系统 |
CN109522349A (zh) * | 2018-10-16 | 2019-03-26 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 跨类型数据计算及共享方法、系统、设备 |
-
2019
- 2019-07-08 CN CN201910609932.9A patent/CN110413673B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447083A (zh) * | 2015-11-06 | 2016-03-30 | 深圳市中润四方信息技术有限公司 | 一种多源异构数据库数据聚散方法及系统 |
CN105933308A (zh) * | 2016-04-20 | 2016-09-07 | 北京章鱼智数科技有限公司 | 移动智能设备流式大数据实时处理方法 |
US20170329797A1 (en) * | 2016-05-13 | 2017-11-16 | Electronics And Telecommunications Research Institute | High-performance distributed storage apparatus and method |
CN107943958A (zh) * | 2017-11-24 | 2018-04-20 | 税友软件集团股份有限公司 | 一种个税主数据共享方法及系统 |
CN109522349A (zh) * | 2018-10-16 | 2019-03-26 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 跨类型数据计算及共享方法、系统、设备 |
Non-Patent Citations (1)
Title |
---|
STRIPING: "什么是条带化", 《CSDN,HTTP:// BLOG.CSDN.NET/STRIPING/ARTICLE/DETAILS/17449649》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338795A (zh) * | 2020-02-18 | 2020-06-26 | 中国联合网络通信集团有限公司 | 数据处理方法及设备 |
CN111984716A (zh) * | 2020-08-20 | 2020-11-24 | 中国银行股份有限公司 | 交易数据采集方法及装置 |
CN111984716B (zh) * | 2020-08-20 | 2023-09-19 | 中国银行股份有限公司 | 交易数据采集方法及装置 |
CN112380030A (zh) * | 2020-11-09 | 2021-02-19 | 中国建设银行股份有限公司 | 主任务处理方法、装置、服务器和存储介质 |
CN112988740A (zh) * | 2020-11-27 | 2021-06-18 | 国网福建省电力有限公司 | 一种基于多个数据源的配电网数据收纳方法 |
CN112988740B (zh) * | 2020-11-27 | 2022-08-05 | 国网福建省电力有限公司 | 一种基于多个数据源的配电网数据收纳方法 |
CN112463634A (zh) * | 2020-12-11 | 2021-03-09 | 中国人民银行清算总中心 | 微服务架构下的软件测试方法及装置 |
CN112463634B (zh) * | 2020-12-11 | 2024-03-29 | 中国人民银行清算总中心 | 微服务架构下的软件测试方法及装置 |
CN112988875A (zh) * | 2021-04-08 | 2021-06-18 | 北京澎思科技有限公司 | 一种多维数据采集装置、系统及方法 |
CN113672455A (zh) * | 2021-08-03 | 2021-11-19 | 苏州关安健信息技术科技有限公司 | 工业物联网的数据采集分析方法 |
CN114880394A (zh) * | 2022-04-25 | 2022-08-09 | 浪潮卓数大数据产业发展有限公司 | 一种sql脚本的共享方法、设备及介质 |
CN114880394B (zh) * | 2022-04-25 | 2024-05-10 | 浪潮卓数大数据产业发展有限公司 | 一种sql脚本的共享方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110413673B (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413673A (zh) | 数据库数据统一采集与分发方法及系统 | |
CN109871279A (zh) | 共识任务协调方法及装置、区块链系统、存储介质 | |
US11876856B2 (en) | Method for computational-power sharing and related device | |
CN104580284B (zh) | 业务分配装置和业务分配方法 | |
CN104102949B (zh) | 一种分布式工作流装置及其处理工作流的方法 | |
CN102484740B (zh) | 用于管理视频数据的系统和方法 | |
CN110428325A (zh) | 交易跟踪方法及装置 | |
CN110231987A (zh) | 一种数据处理方法及相关装置 | |
CN110351375A (zh) | 一种数据处理方法、装置及计算机装置、可读存储介质 | |
CN111078745A (zh) | 基于区块链技术的数据上链方法和装置 | |
CN103246606B (zh) | Esb平台的性能测试方法和系统 | |
CN103279351A (zh) | 一种任务调度的方法及装置 | |
CN113505520A (zh) | 用于支持异构联邦学习的方法、装置和系统 | |
US20160014236A1 (en) | Network-independent programming model for online processing in distributed systems | |
CN109660421A (zh) | 弹性调度资源的方法、装置、服务器及存储介质 | |
CN107220271A (zh) | 一种分布式数字资源存储处理与管理的方法及系统 | |
CN104601493A (zh) | 一种带宽调整方法、系统及智能管道平台 | |
CN107506284A (zh) | 日志处理方法及装置 | |
CN102542368B (zh) | 一种缓存系统接入方法和装置 | |
US20180276048A1 (en) | Task Management System for a Modular Electronic Device | |
CN108920505A (zh) | 汇率查询组件装置、服务端及方法 | |
CN111522840B (zh) | 标签的配置方法、装置、设备及计算机可读存储介质 | |
CN109067840A (zh) | 人工智能在线服务的方法、系统和存储介质 | |
CN111190731A (zh) | 基于权重的集群任务调度系统 | |
CN207764834U (zh) | 电力投资模式分析系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |