基于大数据的集群数据同步方法、装置、设备及存储介质与流程

文档序号:19943566发布日期:2020-02-14 23:32阅读:225来源:国知局
基于大数据的集群数据同步方法、装置、设备及存储介质与流程

本申请实施例涉及数据处理技术领域,特别是一种基于大数据的集群数据同步方法、装置、设备及存储介质。



背景技术:

随着信息时代的高速发展,整个社会正逐步进入“数字化”时代,这是一个信息爆炸的时代,全球数据持续以爆炸性速度增长,面对持续增长的海量数据对传统存储系统带来的新的挑战。在这个大背景下,消耗中央处理器最多的计算逐渐从提升软件本身性能方面转移到了信息处理方面,从而各大厂商不得不面临着极大地挑战—他们需要从tb(terabyte,太字节)级乃至pb(petabytes,拍字节)级的数据中挖掘出有用的信息,并对这些海量数据进行快捷高效的处理。而数据存储是数据管理工作的基石,所以如何进行大数据的存储并在不同的集群间对大数据的迁移是一个值得关注研究的问题。

现有技术中,针对大数据的同步方案大多为对于同一个系统架构下的集群之间进行的同步,缺乏对不同类型的集群之间的数据同步方案,且数据同步的方案中对集群数据安全的管控相对宽松,使用的计算引擎较慢,而且对海量数据集同步时的稳定性与性能均表现一般,对于同步的质量也没有有效的反馈。



技术实现要素:

本申请实施例所要解决的技术问题是,提供一种基于大数据的集群数据同步方法、装置、设备及存储介质,能够对不同系统架构下的集群之间的数据实现数据同步,并及时获取同步时反馈的数据状态。

为了解决上述技术问题,本申请实施例所述的一种基于大数据的集群数据同步方法,采用了如下所述的技术方案:

一种基于大数据的集群数据同步方法,包括:

接收数据导入指令,所述数据导入指令用于将第一集群中的待同步数据同步至第二集群;

响应于所述数据导入指令,获取所述第一集群中的待同步数据,对所述待同步数据执行数据转换,以将所述待同步数据转换为匹配所述第二集群中存储结构的待同步数据;

建立多条并行通信线程和任务监控表,基于所述多条并行通信线程将转换后的所述待同步数据同步至所述第二集群中,并基于所述任务监控表实时记录数据的同步状态。

本申请实施例所述的基于大数据的集群数据同步方法,可以对于不在同一系统架构下的集群之间的数据实现数据同步,通过数据转换、设并行线程程以及任务监控表的方式提升了同步的效率和稳定性,并能对任务状态、数据丢失、同步异常等数据进行实时跟踪,获取同步时反馈的数据状态。

进一步的,所述的基于大数据的集群数据同步方法,所述接收数据导入指令的步骤之后,所述方法还包括步骤:

判断所述数据导入指令是否为第一次从所述第一集群中将数据同步至所述第二集群;

若是,将所述第一集群中的全量数据作为所述待同步数据;

若否,则将所述第一集群中的增量数据作为所述待同步数据。

进一步的,所述的基于大数据的集群数据同步方法,所述判断所述数据导入指令是否为第一次从所述第一集群中将数据同步至所述第二集群的步骤还包括:

获取所述数据导入指令中的时间戳,根据所述时间戳判断所述数据导入指令是否为第一次从所述第一集群中将数据同步至所述第二集群;

当确认所述数据导入指令非第一次从所述第一集群中将数据同步至所述第二集群时,检测所述时间戳之前的所述第一集群中的数据是否有更新;

若有更新,将所述更新的数据与所述时间戳之后的新增数据共同记为所述增量数据。

进一步的,所述的基于大数据的集群数据同步方法,所述获取所述第一集群中的待同步数据的步骤之后,所述方法还包括步骤:

在所述第一集群中对所述待同步数据执行数据分区,以将所述待同步数据存储在通过数据分区划分出的所述多个分区中。

可以更方便所述待同步数据的存储和传输,提高数据传输效率。

进一步的,所述的基于大数据的集群数据同步方法,所述对所述待同步数据执行数据转换的步骤包括:获取所述第二集群中数据记录表的行键和列簇,基于所述行键和列簇的存储结构重建所述第一集群中的待同步数据。

将第一集群中的待同步数据按第二集群中的存储结构进行重新组织,以此将所述待同步数据转换为匹配所述第二集群中存储结构的数据,从而可以方便第一集群中的数据同步到第二集群中。

进一步的,所述的基于大数据的集群数据同步方法,所述对所述待同步数据执行数据转换,以将所述待同步数据转换为匹配所述第二集群中存储结构的待同步数据的步骤之后,所述方法还包括步骤:

在所述第二集群中配置若干个空的预分区,基于获取的所述行键为每个预分区分别设置起始键值和终止键值,使所述行健的值均位于所述若干个空的预分区的最小起始键值与最大终止键值之间。

能避免所述热点写问题,并使regionsplit的几率、次数大大降低。

进一步的,所述对所述待同步数据执行数据转换的步骤还包括:

获取用户id,通过md5消息摘要算法对所述待同步数据执行散列处理生成md5散列值,并截取所述md5散列值的后n位数值与用户id进行拼接以生成所述待同步数据的行键。

可以使存储在多个分区中的待同步数据均匀离散地分布,并方便通过用户id查找对于该用户id的数据。

为了解决上述技术问题,本申请实施例还提供一种基于大数据的集群数据同步装置,采用了如下所述的技术方案:

一种基于大数据的集群数据同步装置,包括:

指令接收模块,用于接收数据导入指令,所述数据导入指令用于将第一集群中的待同步数据同步至第二集群;

数据转换模块,用于响应于所述数据导入指令,获取所述第一集群中的待同步数据,对所述待同步数据执行数据转换,以将所述待同步数据转换为匹配所述第二集群中存储结构的数据;

同步执行模块,用于建立多条并行通信线程和任务监控表,基于所述多条并行通信线程将所述若干个分区的数据同步至所述第二集群中,并基于所述任务监控表实时记录数据的同步状态。

本申请实施例所述的基于大数据的集群数据同步装置,可以对于不在同一系统架构下的集群之间的数据实现数据同步,通过数据转换、设并行线程程以及任务监控表的方式提升了同步的效率和稳定性,并能对任务状态、数据丢失、同步异常等数据进行实时跟踪,获取同步时反馈的数据状态。

为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:

一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如上述任意一项技术方案所述的基于大数据的集群数据同步方法的步骤。

为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项技术方案所述的基于大数据的集群数据同步方法的步骤。

与现有技术相比,本申请实施例主要有以下有益效果:

本申请实施例公开了一种基于大数据的集群数据同步方法、装置、设备及存储介质,本申请实施例所述的基于大数据的集群数据同步方法,接收数据导入指令后,获取所述第一集群中的待同步数据,对所述待同步数据执行数据转换,以将所述待同步数据转换为匹配所述第二集群中存储结构的待同步数据;建立多条并行通信线程和任务监控表,基于所述多条并行通信线程将转换后的所述待同步数据同步至所述第二集群中,并基于所述任务监控表实时记录数据的同步状态。所述方法可以对于不在同一系统架构下的集群之间的数据实现数据同步,通过数据转换、设置并行线程以及任务监控表的方式提升了同步的效率和稳定性,并能对任务状态、数据丢失和同步异常等数据进行实时跟踪,获取同步时反馈的数据状态。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例可以应用于其中的示例性系统架构图;

图2为本申请实施例中所述基于大数据的集群数据同步方法的一个实施例的流程图;

图3为本申请实施例中所述基于大数据的集群数据同步装置的一个实施例的结构示意图;

图4为本申请实施例中计算机设备的一个实施例的结构示意图。

具体实施方式

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“包括”、“包含”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。在本申请的权利要求书、说明书以及说明书附图中的术语,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体/操作/对象与另一个实体/操作/对象区分开来,而不一定要求或者暗示这些实体/操作/对象之间存在任何这种实际的关系或者顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其他实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其他实施例相结合。

为了使本技术领域的人员更好地理解本申请的方案,下面将结合本申请实施例中的相关附图,对本申请实施例中的技术方案进行清楚、完整地描述。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。

需要说明的是,本申请实施例所提供的基于大数据的集群数据同步方法一般由服务器/终端设备执行,相应地,基于大数据的集群数据同步装置一般设置于服务器/终端设备中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

继续参考图2,示出了本申请实施例中所述基于大数据的集群数据同步方法的一个实施例的流程图。所述基于大数据的集群数据同步方法,包括以下步骤:

步骤201:接收数据导入指令,所述数据导入指令用于将第一集群中的待同步数据同步至第二集群。

本申请实施例中所提及的第一集群和第二集群为属于不同系统架构的两个集群,不同系统架构下的不同集群中数据的存储格式不一样。

在一种具体的实施方式中,所述第一集群为hadoop系统架构下的集群,所述第二集群为hbase系统架构下的集群。

hadoop为一个分布式系统基础架构,它实现了一个hdfs(hadoopdistributedfilesystem,分布式文件系统)。hadoop的框架最核心的设计就是hdfs和mapreduce;mapreduce是一种编程模型,用于大规模数据集(大于1tb)的并行运算。其中,hdfs为海量的数据提供了存储,而mapreduce则为海量的数据提供了计算。

hive则是基于hadoop的一个数据仓库工具,其中的数据文件是存储在hdfs上的。hive可以将结构化的数据文件映射为一张数据库表,并提供完整的sql(structuredquerylanguage,结构化查询语言)查询功能,将sql语句转换为mapreduce任务进行运行。sql数据库表一般是以行和列的形式对数据通过组织排列进行存储。

hbase是一个分布式的、面向列的开源数据库,hbase的核心是将数据抽象成表,表中有rowkey(行键)和columnfamily(列簇)。rowkey是记录的主键,通过key-value(键-值对)很容易找到。数据库中的主键指的是一个列或多列的组合,其值能唯一地标识表中的每一行。hbase表中的每个列,都归属于某个列簇,列名都以列簇作为前缀,例如列名为courses:history和courses:math的两个列都属于courses这个列簇。

在本申请实施例中,所述基于大数据的集群数据同步方法运行于其上的电子设备(例如图1所示的服务器/终端设备)可以通过有线连接方式或者无线连接方式接收用户发出的数据导入指令。需要指出的是,上述无线连接方式可以包括但不限于3g/4g连接、wifi连接、蓝牙连接、wimax连接、zigbee连接、uwb(ultrawideband)连接、以及其他现在已知或将来开发的无线连接方式。

步骤202:响应于所述数据导入指令,获取所述第一集群中的待同步数据,对所述待同步数据执行数据转换,以将所述待同步数据转换为匹配所述第二集群中存储结构的待同步数据。

由于不同数据库的架构不一样,会导致不同集群中数据的存储格式不一样,因此在将第一集群中的待同步数据同步至第二集群中时,首先需要对所述待同步数据的存储格式进行转换,以保持转换后的待同步数据的存储格式与第二集群中数据存储时的格式一致。

在本申请实施例的一种具体实施方式中,在所述步骤202之前,所述基于大数据的集群数据同步方法还包括:

步骤2021:判断所述数据导入指令是否为第一次从所述第一集群中将数据同步至所述第二集群。

步骤2022a:若是,将所述第一集群中的全量数据作为所述待同步数据。

步骤2022b:若否,则将所述第一集群中的增量数据作为所述待同步数据。

同步分为全量同步和增量同步,全量同步是指在两个数据库之间一次性同步全部数据,增量同步则只同步两个数据库之间不同部分的数据。

所述全量数据理解为一个数据库中的全部数据,本申请中指所述第一集群中的全部数据。所述增量数据理解为一个数据库在上次导出数据同步之后产生的新数据,本申请中指所述第一集群中的数据在上一次同步到第二集群中之后产生的新数据。

进一步的,所述步骤2021还包括:

步骤2021a:获取所述数据导入指令中的时间戳,根据所述时间戳判断所述数据导入指令是否为第一次从所述第一集群中将数据同步至所述第二集群。

步骤2021b:当确认所述数据导入指令非第一次从所述第一集群中将数据同步至所述第二集群时,检测所述时间戳之前的所述第一集群中的数据是否有更新。

步骤2021c:若有更新,将所述更新的数据与所述时间戳之后的新增数据共同记为所述增量数据。

时间戳可以视为用于记录数据时间节点的准确标识,其可以理解一个为用于区分数据值的版本的时间数据。本申请中,我们可以通过所述数据导入指令中的时间戳判断是否是第一次从所述第一集群中将数据同步至所述第二集群。

当确认所述数据导入指令非第一次从所述第一集群中将数据同步至所述第二集群时,表示我们需要采用增量同步的方式实现第一集群与第二集群之间的数据同步。

检测所述时间戳之前的所述第一集群中的数据是否有更新,即用于判断已同步的数据中是否有更新,具体地,可以通过比较所述时间戳之前的所述第一集群中的数据的当前修改时间与上次同步时的时间戳是否相同,若相同则表示无更新,若当前修改时间在上一次同步时的时间戳之后则表示有更新。若无更新,直接将所述时间戳之后的新增数据记为所述增量数据,若有更新,则将所述时间戳之前更新的数据与所述时间戳之后的新增数据共同记为所述增量数据。

在本申请的一些实施例中,步骤202中,所述获取所述第一集群中的待同步数据的步骤之后,所述基于大数据的集群数据同步方法还包括步骤:在所述第一集群中对所述待同步数据执行数据分区,以将所述待同步数据存储在通过数据分区划分出的所述多个分区中。

在所述第一集群中划分出多个分区后,可以更方便所述待同步数据的存储和传输,提高数据传输效率。

所述步骤202中,所述数据转换和所述数据分区的步骤之间的执行顺序任意,可以根据需求或实际处理效率进行调整。

在本申请实施例的一种具体实施方式中,所述步骤202中所述对所述待同步数据执行数据转换的步骤包括:获取所述第二集群中数据记录表的行键和列簇,基于所述行键和列簇的存储结构重建所述第一集群中的待同步数据。

基于从第二集群中获取的行键和列簇,将第一集群中的待同步数据对应的数据库表的行和列进行转化,通过将第一集群中的待同步数据按第二集群中的存储结构进行重新组织,以此将所述待同步数据转换为匹配所述第二集群中存储结构的数据,从而可以方便第一集群中的数据同步到第二集群中。将第一集群中待同步数据的列转化为列簇时,可以将每个列的列名赋予一个作为列簇的前缀,依次方法进行转化。

进一步的,所述步骤202之后,所述基于大数据的集群数据同步方法还包括步骤:在所述第二集群中配置若干个空的预分区,基于获取的所述行键为每个预分区分别设置起始键值和终止键值,使所述行健的值均位于所述若干个空的预分区的最小起始键值与最大终止键值之间。

hbase中默认建表时有一个region(预分区),这个region的rowkey(行键)是没有边界的,即没有startkey(起始键值)和endkey(终止键值),在数据写入时,所有数据都会写入这个默认的region,随着数据量的不断增加,这个region已经不能承受不断增长的数据量,会进行split(分割),分成2个region。在此过程中,会产生两个问题:一是大量的数据集中往一个region上写,会有热点写问题,造成单点压力大,降低写效率;二是regionsplit会消耗宝贵的集群i/o(imput/output,输入/输出)资源。

因此我们可以控制在建表时,创建多个空的region,并确定每个region的startkey和endkey,如此只要我们的rowkey设计能均匀的命中各个region,便能避免所述热点写问题,并使regionsplit的几率、次数大大降低。

在进一步的一种具体实施方式中,所述步骤202中,所述对所述待同步数据执行数据转换的步骤还包括:获取用户id(identification,身份标识),通过md5消息摘要算法对所述待同步数据执行散列处理生成md5散列值,并截取md5散列值的后n位数值与用户id进行拼接以生成所述待同步数据的行键。

若只为待同步数据预先配置多个region而不进行散列处理的话,rowkey递增时,还是会造成数据集中到一个region上的问题。为了避免待同步数据存储到多个region中时在个别region中过于集中,出现热点问题,我们可以通过散列的手段将待同步数据进行处理使待同步数据出现随机分散的md5散列值,由于md5散列值过长,为了便于定位行键,我们可以再根据需要截取md5散列值的后n位数值并与用户id拼接在一起,最终生成对于所述待同步数据的行键,其中n的数值任意设置,小于所述md5散列值的位长度即可。

如此便可以使存储在多个分区中的待同步数据均匀离散地分布,并方便通过用户id查找对于该用户id的数据。

步骤203:建立多条并行通信线程和任务监控表,基于所述多条并行通信线程将转换后的所述待同步数据同步至所述第二集群中,并基于所述任务监控表实时记录数据的同步状态。

当需要对海量的数据集进行同步时,一条通信线程的处理速率过慢、效率太低,往往无法满足同步的需求。因此我们需要建立多条并行的通信线程,以供数据进行高速有效地同步。

而通过任务监控表实时记录数据的同步状态,便于我们对各分区的任务状态、数据丢失、同步异常等数据进行实时跟踪,以了解同步的效率、进度以及最终同步的效果。

在本申请一些实施例中,所述步骤203还包括:调用spark计算引擎,基于所述spark计算引擎在所述多条并行通信线程中将所述若干个分区的数据同步至所述第二集群中。

hadoop除了可以提供hdfs分布式数据存储的功能之外,还提供了mapreduce的数据处理功能。但使用hadoop自身的mapreduce来完成数据的处理时,其所需的代码量过大、处理速度太慢。

因此我们可以调用spark计算引擎,spark计算引擎为专为大规模数据处理而设计的快速通用的计算引擎,它拥有mapreduce所具有的优点,可以支持多线程的并行运算和处理,且其中间输出结果可以保存在内存中,不再需要读写hdfs,因此spark能更好地适用于数据挖掘与机器学习等需要迭代的mapreduce的算法。

在本申请实施例的一种具体实施方式中,所述步骤203中所述建立多条并行通信线程和任务监控表的步骤包括:配置所述任务监控表,在所述任务监控表中设置参数用于记录数据应导入数、数据有效导入数和数据导入失败数。

在任务监控表中,我们可以设置用于记录数据应导入数、数据有效导入数和数据导入失败数这三个参数,以方便用户及时了解和追踪数据同步的效果和进度。

本申请实施例所述的基于大数据的集群数据同步方法,可以对于不在同一系统架构下的集群之间的数据实现数据同步,通过数据转换、设并行线程程以及任务监控表的方式提升了同步的效率和稳定性,并能对任务状态、数据丢失、同步异常等数据进行实时跟踪,获取同步时反馈的数据状态。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

进一步参考图3,图3示出了为本申请实施例中所述基于大数据的集群数据同步装置的一个实施例的结构示意图。作为对上述图2所示方法的实现,本申请提供了一种基于大数据的集群数据同步装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图3所示,本实施例所述的基于大数据的集群数据同步装置包括:

指令接收模块301;用于接收数据导入指令,所述数据导入指令用于将第一集群中的待同步数据同步至第二集群。

数据转换模块302;用于响应于所述数据导入指令,获取所述第一集群中的待同步数据,对所述待同步数据执行数据转换,以将所述待同步数据转换为匹配所述第二集群中存储结构的待同步数据。

同步执行模块303;用于建立多条并行通信线程和任务监控表,基于所述多条并行通信线程将转换后的所述待同步数据同步至所述第二集群中,并基于所述任务监控表实时记录数据的同步状态。

在本申请实施例的一种具体实施方式中,所述基于大数据的集群数据同步装置还包括:同步状态判断模块。所述同步状态判断模块用于判断所述数据导入指令是否为第一次从所述第一集群中将数据同步至所述第二集群;若是,将所述第一集群中的全量数据作为所述待同步数据;若否,则将所述第一集群中的增量数据作为所述待同步数据。

进一步的,所述同步状态判断模块包括:状态判断子模块。所述状态判断子模块用于获取所述数据导入指令中的时间戳,根据所述时间戳判断所述数据导入指令是否为第一次从所述第一集群中将数据同步至所述第二集群;当确认所述数据导入指令非第一次从所述第一集群中将数据同步至所述第二集群时,检测所述时间戳之前的所述第一集群中的数据是否有更新;若有更新,将所述更新的数据与所述时间戳之后的新增数据共同记为所述增量数据。

在本申请一些实施例中,所述数据转换模块302还包括:分区划分子模块。在所述数据转换模块302获取所述第一集群中的待同步数据后,所述分区划分子模块用于在所述第一集群中对所述待同步数据执行数据分区,以将所述待同步数据存储在通过数据分区划分出的所述多个分区中。

在本申请实施例的一种具体实施方式中,所述数据转换模块302包括:数据重建子模块。所述数据重建子模块用于获取所述第二集群中数据记录表的行键和列簇,基于所述行键和列簇的存储结构重建所述第一集群中的待同步数据。

进一步的,所述基于大数据的集群数据同步装置还包括:分区配置模块。所述分区配置模块用于在所述第二集群中配置若干个空的预分区,并基于所述数据重建子模块获取的所述行键为每个预分区分别设置起始键值和终止键值,使所述行健的值均位于所述若干个空的预分区的最小起始键值与最大终止键值之间。

进一步的,所述数据重建子模块用于获取用户id,通过md5消息摘要算法对所述待同步数据执行散列处理生成md5散列值,并截取所述md5散列值的后n位数值与用户id进行拼接以生成所述待同步数据的行键。

本申请实施例所述的基于大数据的集群数据同步装置,可以对于不在同一系统架构下的集群之间的数据实现数据同步,通过数据转换、设并行线程程以及任务监控表的方式提升了同步的效率和稳定性,并能对任务状态、数据丢失、同步异常等数据进行实时跟踪,获取同步时反馈的数据状态。

为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。

所述计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有组件61-63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。

所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器61可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器61也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器61通常用于存储安装于所述计算机设备6的操作系统和各类应用软件,例如基于大数据的集群数据同步方法的程序代码等。此外,所述存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器62在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制所述计算机设备6的总体操作。本实施例中,所述处理器62用于运行所述存储器61中存储的程序代码或者处理数据,例如运行所述基于大数据的集群数据同步方法的程序代码。

所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述计算机设备6与其他电子设备之间建立通信连接。

本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有基于大数据的集群数据同步程序,所述基于大数据的集群数据同步程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的基于大数据的集群数据同步方法的步骤。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

在本申请所提供的上述实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

所述模块或组件可以是或者也可以不是物理上分开的,作为模块或组件显示的部件可以是或者也可以不是物理模块,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块或组件来实现本实施例方案的目的。

本申请不限于上述实施方式,以上所述是本申请的优选实施方式,该实施例仅用于说明本申请而不用于限制本申请的范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,其依然可以对前述各具体实施方式所记载的技术方案进行若干改进和修饰,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理应视为包括在本申请的保护范围之内。

显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,以及凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

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