一种异构表间数据交换方法及装置制造方法及图纸

技术编号:14420949 阅读:84 留言:0更新日期:2017-01-12 23:17
本发明专利技术提供了一种异构表间数据交换方法及装置,其中,所述方法包括:获取目标节点的表格信息;根据所述表格信息在缓存建立表格对象;将存储的数据填充到所述表格对象中;发送填充后的表格对象至目标节点。可以实现集群数据库不同节点上异构表格间的数据透明交换,极大的增强集群数据库节点间数据重新分布功能的适用范围。使用简单,无需人工干预,即时高效。

【技术实现步骤摘要】

本专利技术属于分布式数据库
,尤其是涉及一种异构表间数据交换方法及装置
技术介绍
数据在集群数据库各个节点间重新分布,是集群数据库常用的一种功能,通常一份数据会在不同节点上有完全相同的副本,或者在不同节点上有不同的分片数据。这些副本或者分片的数据库表格在结构、数据类型方面完全一致。随着集群数据库使用规模的不断扩大,应用场景的不断扩展,数据重分布已经不局限于同构表格之间,异构表格之间数据交换需求也越来越多。异构表格,表现在表格列的数量不一致,或者列的数据类型不一致等,异构表格之间显然无法直接进行数据交换。现有技术通常是使用单独开发的工具,对异构表格进行适配,达到交换数据的目的,这种技术的缺点是需要人工干预,配置复杂,使用繁琐,不能满足新一代集群数据库即时高效便捷的数据交换要求。
技术实现思路
本专利技术实施例提供了一种异构表间数据交换方法及装置,以解决集群数据库不同节点上异构表间无法交换数据的问题。第一方面,本专利技术实施例提供了一种异构表间数据交换方法,包括:获取目标节点的表格信息;根据所述表格信息在缓存建立表格对象;将存储的数据填充到所述表格对象中;发送填充后的表格对象至目标节点。进一步的,所述将存储的数据填充到所述表格对象中,包括:如果存储的数据与所述表格对象数据类型不一致时,将存储的数据进行类型装换。进一步的,所述将存储的数据填充到所述表格对象中,包括:如果不存在所述表格对象中的列数据,则向所述列中补入默认值。更进一步的,所述的方法采用SQL语法实现。第二方面,本专利技术实施例还提供了一种异构表间数据交换装置,包括:获取单元,用于获取目标节点的表格信息;建立单元,用于根据所述表格信息在缓存建立表格对象;填充单元,用于将存储的数据填充到所述表格对象中;发送单元,用于发送填充后的表格对象至目标节点。进一步的,所述填充单元用于:如果存储的数据与所述表格对象数据类型不一致时,将存储的数据进行类型装换。更进一步的,所述填充单元用于:如果不存在所述表格对象中的列数据,则向所述列中补入默认值。本专利技术实施例通过获取目标节点的表格信息;根据所述表格信息在缓存建立表格对象;将存储的数据填充到所述表格对象中;发送填充后的表格对象至目标节点。实现集群数据库不同节点上异构表格间的数据透明交换,极大的增强集群数据库节点间数据重新分布功能的适用范围。使用简单,无需人工干预,即时高效。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例一提供的异构表间数据交换方法的流程示意图;图2是本专利技术实施例二提供的异构表间数据交换方法的流程示意图;图3是本专利技术实施例三提供的异构表间数据交换方法的流程示意图;图4是本专利技术实施例四提供的异构表间数据交换装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一图1为本专利技术实施例一提供的异构表间数据交换方法的流程图,本实施例可适用于异构表间数据交换的情况,该方法可以由异构表间数据交换来执行,该装置可由软件/硬件方式实现,并可集成于分布式数据库系统的节点中。参见图1,所述异构表间数据交换方法,包括:S110,获取目标节点的表格信息。源端节点首先获取目标端表格信息,这些信息包括表格结构、字符集、数据类型、默认值等属性。S120,根据所述表格信息在缓存建立表格对象。在源端节点根据获取的表格信息,在源端节点的缓存内建立表格对象,该表格对象具有相同的表格信息。示例性的,建立的表格对象具有同样的行和列,并且每个表格具有与目标节点表格相同的数据类型。S130,将存储的数据填充到所述表格对象中。源端节点将存储的数据填充到前述表格对象中。以生产对应的表格。S140,发送填充后的表格对象至目标节点。将表格对象发送至目标节点,目标节点在接收到表格对象后,由于表格对象和目标节点中的表格的表格信息完全一致,可以视作两个相同的表内的数据交换,目标节点可以完成相应的数据交换。本实施例通过获取目标节点的表格信息;根据所述表格信息在缓存建立表格对象;将存储的数据填充到所述表格对象中;发送填充后的表格对象至目标节点。实现集群数据库不同节点上异构表格间的数据透明交换,极大的增强集群数据库节点间数据重新分布功能的适用范围。使用简单,无需人工干预,即时高效。在本实施例的一个优选实施方式中,上述方法可以通过SQL语法实现。SQL可以分为两个部分:数据操作语言(DML)和数据定义语言(DDL)。SQL(结构化查询语言)是用于执行查询的语法。但是SQL语言也包含用于更新、插入和删除记录的语法。查询和更新指令构成了SQL的DML部分。SQL的数据定义语言(DDL)部分可以创建或删除表格。也可以定义索引(键),规定表之间的链接,以及施加表间的约束。通过SQL语法可以实现上述不同节点之间的数据交换。实施例二图2是本专利技术实施例二提供的异构表间数据交换方法的流程示意图,本专利技术实施例以上述实施例为基础,进一步的,将所述将存储的数据填充到所述表格对象中,具体优化为:如果存储的数据与所述表格对象数据类型不一致时,将存储的数据进行类型装换。参见图2,所述异构表间数据交换方法,包括:S210,获取目标节点的表格信息。S220,根据所述表格信息在缓存建立表格对象。S230,将所述将存储的数据填充到所述表格对象中,如果存储的数据与所述表格对象数据类型不一致时,将存储的数据进行类型装换。示例性的,如果存储的数据类型为整数类型int,而表格对象数据类型为字符型char,则将整数类型转换为字符型。S240,发送填充后的表格对象至目标节点。本实施例通过将所述将存储的数据填充到所述表格对象中,具体优化为:如果存储的数据与所述表格对象数据类型不一致时,将存储的数据进行类型装换。可以将不同类型的数据经过转换使之一致,可以实现不同类型的数据的交换。实施例三图3是本专利技术实施例三提供的异构表间数据交换方法的流程示意图,本专利技术实施例以上述实施例为基础,进一步的,将所述将存储的数据填充到所述表格对象中,具体优化为:如果不存在所述表格对象中的列数据,则向所述列中补入默认值。参见图3,所述异构表间数据交换方法,包括:S310,获取目标节点的表格信息。S320,根据所述表格信息在缓存建立表格对象。S330,将所述将存储的数据填充到所述表格对象中,如果不存在所述表格对象中的列数据,则向所述列中补入默认值。如果表格对象中的某一列在源端节点对应的表中不存在,则向表格对象中的该列填入默认值,示例性的,默认值可以为0,以使得表格对象中不存在空白列。S340,发送填充后的表格对象至目标节点。本实施例通过将所述将存储的数据填充到所述表格对象中,具体优化为:如果不存在所述表格对象中的列数据,则向所述列中补入默认值。可以使得表格对象中不存在空白列。实施例四图4本文档来自技高网...
一种异构表间数据交换方法及装置

【技术保护点】
一种异构表间数据交换方法,其特征在于,包括:获取目标节点的表格信息;根据所述表格信息在缓存建立表格对象;将存储的数据填充到所述表格对象中;发送填充后的表格对象至目标节点。

【技术特征摘要】
1.一种异构表间数据交换方法,其特征在于,包括:获取目标节点的表格信息;根据所述表格信息在缓存建立表格对象;将存储的数据填充到所述表格对象中;发送填充后的表格对象至目标节点。2.根据权利要求1所述的方法,其特征在于,所述将存储的数据填充到所述表格对象中,包括:如果存储的数据与所述表格对象数据类型不一致时,将存储的数据进行类型装换。3.根据权利要求1所述的方法,其特征在于,所述将存储的数据填充到所述表格对象中,包括:如果不存在所述表格对象中的列数据,则向所述列中补入默认值。4.根据权利要求1所述的方法,其特征在...

【专利技术属性】
技术研发人员:武新崔维力宋贤广贺岩
申请(专利权)人:天津南大通用数据技术股份有限公司
类型:发明
国别省市:天津;12

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

1