一种基于MapReduce架构的数据同步用块任务执行系统技术方案

技术编号:30701703 阅读:17 留言:0更新日期:2021-11-06 09:38
本发明专利技术涉及数据同步技术领域,具体地说,涉及一种基于MapReduce架构的数据同步用块任务执行系统。包括基础架构单元、数据处理单元、数据同步单元和任务并行单元;基础架构单元用于搭建、管理支持系统运行的分布式运算程序的编程框架;数据处理单元用于完成数据的函数计算处理过程;数据同步单元用于完成数据同步;任务并行单元用于实现多个任务的并行处理过程。本发明专利技术设计可以对海量的大规模数据进行快速分析处理,提高数据处理的效率;可以自动进行数据的分布存储、数据通信、容错处理等的并行计算,减少软件开发人员的负担;可以识别和调用数据同步方法及任务并行方法,实现不同程序间的任务并行执行,并可以对不同程序任务之间的并行程度进行评估。间的并行程度进行评估。间的并行程度进行评估。

【技术实现步骤摘要】
一种基于MapReduce架构的数据同步用块任务执行系统


[0001]本专利技术涉及数据同步
,具体地说,涉及一种基于MapReduce架构的数据同步用块任务执行系统。

技术介绍

[0002]关于数据同步主要包括两个层面的同步,一是通过后台程序编码实现数据同步,二是直接作用于数据库,在数据库层面实现数据的同步。其中,数据库层面的数据库同步主要有三种方式:通过发布/订阅的方式实现同步,通过SQL JOB方式实现数据同步,通过Service Broker 消息队列的方式实现数据同步。在海量的数据分析处理过程中,一种、两种或两种以上的数据同步方法可以同时进行,每种方法对应一个或多个任务,这些任务在同时进行时,比较容易出现执行混乱、数据错乱的情况。而MapRedrce是一个分布式运算程序的编程框架,其核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。如果能够以MapRedrce架构为基础,则可以支持多任务顺畅的同步执行,从而可以更好地实现数据同步。然而,目前却没有较为完善的基于MapRedrce架构的数据同步用块任务执行系统。

技术实现思路

[0003]本专利技术的目的在于提供了一种基于MapReduce架构的数据同步用块任务执行系统,以解决上述
技术介绍
中提出的问题。
[0004]为实现上述技术问题的解决,本专利技术的目的之一在于,提供了一种基于MapReduce架构的数据同步用块任务执行系统,包括基础架构单元、数据处理单元、数据同步单元和任务并行单元;所述基础架构单元、所述数据处理单元、所述数据同步单元与所述任务并行单元依次通过网络通信连接;所述基础架构单元用于搭建、管理支持系统运行的分布式运算程序的编程框架并在此基础上进行任务调度管理操作;所述数据处理单元用于以MapReduce编程步骤为基础完成数据的函数计算处理过程;所述数据同步单元用于管理并选择最优适用的方法完成数据同步;所述任务并行单元用于管理、选择最优适用的方法实现多个任务的并行处理过程并对并行程度进行评估;所述基础架构单元包括硬件平台模块、逻辑框架模块、用户模型模块和任务调度模块;所述数据处理单元包括分片输入模块、函数计算模块、聚合分发模块和集合输出模块;所述数据同步单元包括发布订阅模块、SQL JOB模块、消息队列模块和方式选择模块;所述任务并行单元包括位级并行模块、指令级并行模块、线程级并行模块和并行评估模块;
该基于MapReduce架构的数据同步用块任务执行系统中,先搭建包括硬件平台、逻辑框架、用户模型等的基础网络架构,在此基础上构建由全局任务调度中心、若干数据中心、客户端组成的任务调度模型,实现系统的全局任务调度,再按照MapReduce的编程步骤,分别对数据密集型和计算密集型任务进行并行执行处理,实现对海量的数据进行分析的过程,然后按照数据分析结果,调用最优适用的数据同步方法进行数据同步,最后自动识别、调用对应方法进行多个程序任务的并行执行,并对并行度进行评估以作为调整任务执行方式的调整依据。
[0005]作为本技术方案的进一步改进,所述硬件平台模块、所述逻辑框架模块、所述用户模型模块与所述任务调度模块依次通过网络通信连接且并列运行;所述硬件平台模块用于采用市场上现成的普通PC或性能较高的刀架或机架式服务器,构成一个包含数千个节点的分布式并行计算集群,从而构建基于集群的高性能并行计算平台作为系统运行的硬件层;所述逻辑框架模块用于提供并管理一个能自动完成任务的并行化处理、自动划分计算数据和计算任务的并行计算机软件架构,可以在集群节点上自动分配和执行子任务以及收集计算结果,从而搭建了并行程序开发与运行框架作为系统的逻辑层;所述用户模型模块用于借助函数式Lisp语言中的设计思想提供一种简便的并行程序设计方法,用Map和Reduce两个函数编程实现基本的并行计算任务,构建并行程序设计模型与方法作为系统的用户层;所述任务调度模块用于构建并管理跨数据中心的任务调度结构。
[0006]其中,逻辑层框架可以将数据分布存储、数据通信、容错处理等并行计算中的很多复杂细节交由系统负责处理,大大减少了软件开发人员的负担。
[0007]其中,用户层可以提供完整的并行编程接口,以完成大规模的数据处理。
[0008]作为本技术方案的进一步改进,所述任务调度模块包括调度中心模块、数据中心模块和客户端模块;所述调度中心模块、所述数据中心模块与所述客户端模块依次通过广域网连接;所述调度中心模块用于构建一个全局任务调度中心以接收客户端提交的MapReduce任务请求,按照预设的选择算法从各数据中心中选择资源和性能满足要求的任务数据,并按照预设任务分派算法将任务分派至资源管理器进行任务执行操作;所述数据中心模块由一个资源管理器与多个节点管理器构成,资源管理器用于向全局任务调度中心注册并定时汇报本数据中心状态信息;所述客户端模块用于实时从全局任务调度中心获取MapReduce任务执行信息。
[0009]作为本技术方案的进一步改进,所述分片输入模块的信号输出端与所述函数计算模块的信号输入端连接,所述函数计算模块的信号输出端与所述聚合分发模块的信号输入端连接,所述聚合分发模块的信号输出端与所述集合输出模块的信号输入端连接;所述分片输入模块用于将待处理的数据进行分片,并将每个数据切片分别输入到map函数中;所述函数计算模块用于通过map函数计算处理输入的子数据,即将有用的数据映射到键值对上,并产生键值对作为中间结果输出;所述聚合分发模块用于通过框架将所有节点的中间结果键作聚合处理,并将键相同的数据分发给reduce函数处理,即将每个map输出的键合在一起,遇到相同的键则合并成一个键值对,将它们的值做成数组并排序以减少归约;所述集合输出模块用于通过reduce函数处理键和对应值得集合,处理合并后的键值对,将键的数组提取出来进行计算,进一步减少归约的数组,并将产生的新的键值对作为最终输出。
[0010]其中,MapReduce操作数据的最小单位是键值对。
[0011]作为本技术方案的进一步改进,所述分片输入模块采用切边法,其计算表达式如下:假设图的节点集合为V,将任意节点分发到某台机器后,以代表节点v被分发到的机器编号,以:代表边被切割后的代价函数;那么,可将优化目标定义为:代表边被切割后的代价函数;那么,可将优化目标定义为:即在每台机器被分发到的节点尽可能均匀的条件约束下,求切割边最少的方法;其中,代表所有的节点被p台机器均分所得数值,代表不平衡调节因子,通过调节λ的大小可以控制节点分配的均匀度,当其值为1时,要求完全均分,其值越大,允许的不均衡程度越高。
[0012]作为本技术方案的进一步改进,所述聚合分发模块采用K

均值聚类算法,该算法步骤如下:S1、选K个初始聚类中心,Z
1I
,Z
2I
,∧Z
KI
,其中,(1,2,...,k)为寻找聚类中心的迭代运算的次序号;S2、逐个将需分类模式样本{X}按最小本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于MapReduce架构的数据同步用块任务执行系统,其特征在于:包括基础架构单元(100)、数据处理单元(200)、数据同步单元(300)和任务并行单元(400);所述基础架构单元(100)、所述数据处理单元(200)、所述数据同步单元(300)与所述任务并行单元(400)依次通过网络通信连接;所述基础架构单元(100)用于搭建、管理支持系统运行的分布式运算程序的编程框架并在此基础上进行任务调度管理操作;所述数据处理单元(200)用于以MapReduce编程步骤为基础完成数据的函数计算处理过程;所述数据同步单元(300)用于管理并选择最优适用的方法完成数据同步;所述任务并行单元(400)用于管理、选择最优适用的方法实现多个任务的并行处理过程并对并行程度进行评估;所述基础架构单元(100)包括硬件平台模块(101)、逻辑框架模块(102)、用户模型模块(103)和任务调度模块(104);所述数据处理单元(200)包括分片输入模块(201)、函数计算模块(202)、聚合分发模块(203)和集合输出模块(204);所述数据同步单元(300)包括发布订阅模块(301)、SQL JOB模块(302)、消息队列模块(303)和方式选择模块(304);所述任务并行单元(400)包括位级并行模块(401)、指令级并行模块(402)、线程级并行模块(403)和并行评估模块(404);该基于MapReduce架构的数据同步用块任务执行系统中,先搭建包括硬件平台、逻辑框架、用户模型等的基础网络架构,在此基础上构建由全局任务调度中心、若干数据中心、客户端组成的任务调度模型,实现系统的全局任务调度,再按照MapReduce的编程步骤,分别对数据密集型和计算密集型任务进行并行执行处理,实现对海量的数据进行分析的过程,然后按照数据分析结果,调用最优适用的数据同步方法进行数据同步,最后自动识别、调用对应方法进行多个程序任务的并行执行,并对并行度进行评估以作为调整任务执行方式的调整依据。2.根据权利要求1所述的基于MapReduce架构的数据同步用块任务执行系统,其特征在于:所述硬件平台模块(101)、所述逻辑框架模块(102)、所述用户模型模块(103)与所述任务调度模块(104)依次通过网络通信连接且并列运行;所述硬件平台模块(101)用于采用市场上现成的普通PC或性能较高的刀架或机架式服务器,构成一个包含数千个节点的分布式并行计算集群,从而构建基于集群的高性能并行计算平台作为系统运行的硬件层;所述逻辑框架模块(102)用于提供并管理一个能自动完成任务的并行化处理、自动划分计算数据和计算任务的并行计算机软件架构,可以在集群节点上自动分配和执行子任务以及收集计算结果,从而搭建了并行程序开发与运行框架作为系统的逻辑层;所述用户模型模块(103)用于借助函数式Lisp语言中的设计思想提供一种简便的并行程序设计方法,用Map和Reduce两个函数编程实现基本的并行计算任务,构建并行程序设计模型与方法作为系统的用户层;所述任务调度模块(104)用于构建并管理跨数据中心的任务调度结构。3.根据权利要求2所述的基于MapReduce架构的数据同步用块任务执行系统,其特征在于:所述任务调度模块(104)包括调度中心模块(1041)、数据中心模块(1042)和客户端模块(1043);所述调度中心模块(1041)、所述数据中心模块(1042)与所述客户端模块(1043)依次通过广域网连接;所述调度中心模块(1041)用于构建一个全局任务调度中心以接收客户端提交的MapReduce任务请求,按照预设的选择算法从各数据中心中选择资源和性能满足
要求的任务数据,并按照预设任务分派算法将任务分派至资源管理器进行任务执行操作;所述数据中心模块(1042)由一个资源管理器与多个节点管理器构成,资源管理器用于向全局任务调度中心注册并定时汇报本数据中心状态信息;所述客户端模块(1043)用于实时从全局任务调度中心获取MapReduce任务执行信息。4.根据权利要求1所述的基于MapReduce架构的数据同步用块任务执行系统,其特征在于:所述分片输入模块(201)的信号输出端与所述函数计算模块(202)的信号输入端连接,所述函数计算模块(202)的信号输出端与所述聚合分发模块(203)的信号输入端连接,所述聚合分发模块(203)的信号输出端与所述集合输出模块(204)的信号输入端连接;所述分片输入模块(201)用于将待处理的数据进行分片,并将每个数据切片分别输入到map函数中;所述函数计算模块(202)用于通过map函数计算处理输入的子数据,即将有用的数据映射到键值对上,并产生键值对作为中间结果输出;所述聚合分发模块(203)用于通过框架将所有节点的中间结果键作聚合处理,并将键相同的数据分发给reduce函数处理,即将每个map输出的键合在一起,遇到相同的键则合并成一个键值对,将它们的值做成数组并排序以减少归约;所述集合输出模块(204)用于通过reduce函数处理键和对应值得集合,处理合并后的键值对,将键的数组提取出来进行计算,进一步减少归约的数组,并将产生的新的键值对作为最终输出。5.根据...

【专利技术属性】
技术研发人员:王伟王洋刘庆冀晓镭
申请(专利权)人:中建材信云智联科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1