当前位置: 首页 > 专利查询>樊馨专利>正文

一种基于大数据的数据同步方法技术

技术编号:27296996 阅读:22 留言:0更新日期:2021-02-06 12:07
本申请公开了一种基于大数据的数据同步方法,包括:云服务器获取源端和目的端的数据库配置信息,源端和目的端均包含多个实例;若数据类型为同构数据,则云服务器基于哈希映射,通过SQL同步命令完成从源端实例向目的端实例进行同步的操作;若数据类型为异构数据,云服务器通过虚拟化策略将异构数据虚拟化,生成源端不同实例的虚拟同构数据,并在源端不同实例中建立不同的虚拟表,将源端不同实例中虚拟同构数据对应添加进不同的虚拟表中;基于SQL同步命令,将源端不同实例的虚拟表按照哈希映射的关联关系同步至对应的目的端不同实例中,以使目的端提取虚拟表中的虚拟同构数据,并分时将虚拟同构数据逆变换为异构数据。并分时将虚拟同构数据逆变换为异构数据。并分时将虚拟同构数据逆变换为异构数据。

【技术实现步骤摘要】
一种基于大数据的数据同步方法


[0001]本申请涉及数据处理
,尤其涉及基于大数据的数据同步方法。

技术介绍

[0002]大数据,是一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。
[0003]对于PB级别的数据而言,其数据同步是一个难点,现有技术中,数据同步是通过SQL接口定时调度任务去完成,通过SQL接口定时将源端的数据通过主节点MASTER依次分配给目的端节点,对MASTER节点的数据要求较高,容易造成性能瓶颈,并且,只能针对同构数据进行定时调度,不能解决异构数据的快速同步问题。

技术实现思路

[0004]本申请实施例提供一种基于大数据的数据同步方法,用于解决现有技术中数据同步易造成性能瓶颈以及无法快速同步异构数据的问题。
[0005]本专利技术实施例提供一种基于大数据的数据同步方法,包括:
[0006]云服务器获取源端和目的端的数据库配置信息,所述源端和目的端均包含多个实例;
[0007]所述云服务器对所述源端和所述目的端的所有实例中的数据类型进行判断:
[0008]若所述数据类型为同构数据,则所述云服务器建立所述源端中多个实例与所述目的端中多个实例的哈希映射,并基于所述哈希映射,通过SQL同步命令完成从所述源端实例向所述目的端实例进行同步的操作,其中,所述源端实例与所述目的端实例按照所述哈希映射的关系进行关联,所述SQL同步命令用于对所述源端实例中的数据及所述目的端实例中的数据直接进行点对点传输;
[0009]若所述数据类型为异构数据,则所述云服务器通过虚拟化策略将所述异构数据虚拟化,生成所述源端不同实例的虚拟同构数据,并在所述源端不同实例中建立不同的虚拟表,将所述源端不同实例中虚拟同构数据对应添加进所述不同的虚拟表中;所述云服务器建立所述源端中多个实例与所述目的端中多个实例的哈希映射;所述云服务器将基于所述SQL同步命令,将所述源端不同实例的虚拟表按照所述哈希映射的关联关系同步至对应的所述目的端不同实例中,以使所述目的端提取所述虚拟表中的虚拟同构数据,并分时将所述虚拟同构数据逆变换为异构数据。
[0010]可选地,所述云服务器通过虚拟化策略将所述异构数据虚拟化,生成所述源端不同实例的虚拟同构数据,包括:
[0011]所述云服务器获取所述异构数据的数据类型;
[0012]基于所述异构数据不同的数据类型,设置不同标识位,所述标识位与所述异构数据的数据类型一一对应;
[0013]构建统一格式的虚拟同构数据,将所述异构数据作为所述虚拟同构数据的净负荷数据,封装进所述虚拟同构数据中,并将所述标识位作为报头,写入所述虚拟同构数据的报文中,其中,所述虚拟同构数据包括报头、净负荷数据及结束符;
[0014]若所述异构数据大小大于所述虚拟同构数据大小,将所述异构数据进行拆分,以使所述异构数据拆分为多个子异构数据,将所述每一个子异构数据作为每一个所述虚拟同构数据的净负荷数据,写入所述虚拟同构数据中,其中,所述子异构数据数据量小于等于所述虚拟同构数据量,且所述子异构数据具备拆分标识。
[0015]可选地,所述云服务器通过虚拟化策略将所述异构数据虚拟化,生成所述源端不同实例的虚拟同构数据,包括:
[0016]通过存储虚拟化管理器SVM构建多个不同大小的虚拟卷,所述不同大小的虚拟卷为同构数据;
[0017]将所述异构数据依次封装至所述虚拟卷中,并建立索引指针,其中,所述索引指针用于将所述虚拟卷与所述异构数据进行关联,所述虚拟同构数据为所述虚拟卷与所述索引指针的集合。
[0018]可选地,所述目的端分时将所述虚拟同构数据逆变换为异构数据,包括:
[0019]所述目的端对自身不同实例的资源占用率进行监控,当所述资源占用率低于预设阈值时,将所述虚拟同构数据依次进行逆封装,提取其中的异构数据,并进行校验,
[0020]或,
[0021]若校验失败,则通过所述索引指针在所述源端对应的实例中定向获取原始的所述异构数据;
[0022]当所述资源占用率高于所述预设阈值时,暂停所述逆变换操作。
[0023]可选地,所述通过SQL同步命令完成从所述源端实例向所述目的端实例进行同步的操作,包括:
[0024]生成所述源端不同实例的快照,并利用锁函数将所述不同实例的快照设置为第一静态快照;
[0025]在T0时刻,通过SQL同步命令,将所述第一静态快照按照所述哈希映射的关联关系迁移至对应的所述目的端实例中,设置所述第一静态快照迁移完毕的时刻为T1时刻;
[0026]在T1时刻时,判断在T0时刻至T1时刻,所述源端不同实例的数据是否有更新,若所述源端不同实例的数据有更新,则利用锁函数将所述T0至T1时刻中更新的数据作为第二静态快照,将所述第二静态数据按照所述哈希映射的关联关系迁移至对应的所述目标端不同实例中,设置所述第二静态快照迁移完毕的时刻为T2时刻;
[0027]在T2时刻时,判断在T1至T2时刻,所述源端不同实例的数据是否有更新,若所述源端不同实例的数据有更新,则利用锁函数将所述T1至T2时刻中更新的数据作为第三静态快照,将所述第三静态数据按照所述哈希映射的关联关系迁移至对应的所述目标端不同实例中;若所述源端不同实例的数据无更新,则不进行上述迁移操作。
[0028]可选地,所述同步类型包括存量同步和全同步,则所述通过SQL同步命令完成从所述源端实例向所述目的端实例进行同步的操作,包括:
[0029]当所述同步类型为存量同步时,所述云服务器比较所述源端实例与所述目的端实例的差异,提取源端与目的端的差异数据,并将所述差异数据通过SQL同步命令完成从所述
源端实例向所述目的端实例进行同步的操作;
[0030]当所述同步类型为全同步时,所述云服务器在所述目的端不同实例中新建空白表格,并通过SQL同步命令,将所述源端实例的数据插入至所述目的端实例空白表格中。
[0031]本专利技术提供的基于大数据的数据同步方法,通过哈希映射的方式将源端实例与目的端实例直接进行匹配,并通过点对点P2P的方式进行数据同步,不用通过主节点进行分配,可极大提升同步性能,同时,针对异构数据,采用虚拟化为同构数据的方式,先同步,再逆变换为异构数据,节约了数据同步间的通信传输开销,提升了数据同步效率。
附图说明
[0032]为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
[0033]图1为一个实施例中基于大数据的数据同步的流程示意图;
[0034]图2为一个实施例中源端和目的端数据同步示意图;
[0035]图3为一个实施例中数据同步过程中分时同步的示意图。
具体实施方式
[0036]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于大数据的数据同步方法,其特征在于,包括:云服务器获取源端和目的端的数据库配置信息,所述源端和目的端均包含多个实例;所述云服务器对所述源端和所述目的端的所有实例中的数据类型进行判断:若所述数据类型为同构数据,则所述云服务器建立所述源端中多个实例与所述目的端中多个实例的哈希映射,并基于所述哈希映射,通过SQL同步命令完成从所述源端实例向所述目的端实例进行同步的操作,其中,所述源端实例与所述目的端实例按照所述哈希映射的关系进行关联,所述SQL同步命令用于对所述源端实例中的数据及所述目的端实例中的数据直接进行点对点传输;若所述数据类型为异构数据,则所述云服务器通过虚拟化策略将所述异构数据虚拟化,生成所述源端不同实例的虚拟同构数据,并在所述源端不同实例中建立不同的虚拟表,将所述源端不同实例中虚拟同构数据对应添加进所述不同的虚拟表中;所述云服务器建立所述源端中多个实例与所述目的端中多个实例的哈希映射;所述云服务器将基于所述SQL同步命令,将所述源端不同实例的虚拟表按照所述哈希映射的关联关系同步至对应的所述目的端不同实例中,以使所述目的端提取所述虚拟表中的虚拟同构数据,并分时将所述虚拟同构数据逆变换为异构数据。2.根据权利要求1所述的方法,其特征在于,所述云服务器通过虚拟化策略将所述异构数据虚拟化,生成所述源端不同实例的虚拟同构数据,包括:所述云服务器获取所述异构数据的数据类型;基于所述异构数据不同的数据类型,设置不同标识位,所述标识位与所述异构数据的数据类型一一对应;构建统一格式的虚拟同构数据,将所述异构数据作为所述虚拟同构数据的净负荷数据,封装进所述虚拟同构数据中,并将所述标识位作为报头,写入所述虚拟同构数据的报文中,其中,所述虚拟同构数据包括报头、净负荷数据及结束符;若所述异构数据大小大于所述虚拟同构数据大小,将所述异构数据进行拆分,以使所述异构数据拆分为多个子异构数据,将所述每一个子异构数据作为每一个所述虚拟同构数据的净负荷数据,写入所述虚拟同构数据中,其中,所述子异构数据数据量小于等于所述虚拟同构数据量,且所述子异构数据具备拆分标识。3.根据权利要求1所述的方法,其特征在于,所述云服务器通过虚拟化策略将所述异构数据虚拟化,生成所述源端不同实例的虚拟同构数据,包括:通过存储虚拟化管理器SVM构建多个不同大小的虚拟卷,所述不同大小的虚拟卷为同构数据;将所述异构数...

【专利技术属性】
技术研发人员:樊馨
申请(专利权)人:樊馨
类型:发明
国别省市:

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

1