CN110096541B - 一种数据库间的数据交换方法及装置 - Google Patents
一种数据库间的数据交换方法及装置 Download PDFInfo
- Publication number
- CN110096541B CN110096541B CN201910350264.2A CN201910350264A CN110096541B CN 110096541 B CN110096541 B CN 110096541B CN 201910350264 A CN201910350264 A CN 201910350264A CN 110096541 B CN110096541 B CN 110096541B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- target
- source database
- supported
- 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.)
- Active
Links
Images
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
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据库间的数据交换方法及装置,应用于数据交换系统,该方法包括:接收数据交换指令,数据交换指令包括源数据库信息及目标数据库信息;根据源数据库信息及目标数据库信息,判断源数据库及目标数据库是否已接入数据交换系统;若是,则确定源数据库中存储的数据的数据类型,以及目标数据库所支持存储的数据类型;将源数据库中存储的,且目标数据库不支持的目标数据类型对应的目标数据转换为目标数据库所支持的数据类型的数据后,将转换后的数据存储至目标数据库。通过实施本发明,利用“匹配”的思想,解决了不同数据库之间数据传输转换的复杂性和难操作性以及低时效性的问题。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种数据库间的数据交换方法及装置。
背景技术
在电子信息爆炸式增长的时代,数据变得越来越重要,价值也越来越高。如何有效的利用数据并且进行数据之间的交流,这是十分关键的一步。如果数据之间不能进行流通,那么数据的价值就不能被体现,同时数据的意义也就不大。目前,大多数数据被存储在数据库中,但是使用的数据库是多种多样的,不同数据库之间不仅连接方式、支持的数据类型和数据的种类不同,而且数据的存储方式和获取连接的驱动也不相同。这样就会导致不同数据库之间进行数据传输的时候,可能会造成连接复杂、数据类型不匹配、数据不一致、数据精度丢失等问题。现有的处理手段中,可以使用传统的数据类型映射再转换的代码实现,但是实现的过程繁琐而且容易出错。
发明内容
有鉴于此,本发明实施例提供了一种数据库间的数据交换方法及装置,以解决现有的数据交换方法存在的过程繁琐而且容易出错的问题。
根据第一方面,本发明实施例提供了一种数据库间的数据交换方法,应用于数据交换系统,包括:接收数据交换指令,所述数据交换指令包括源数据库信息及目标数据库信息;根据所述源数据库信息及目标数据库信息,判断源数据库及目标数据库是否已接入数据交换系统;若是,则确定所述源数据库中存储的数据的数据类型,以及所述目标数据库所支持存储的数据类型;将所述源数据库中存储的,且所述目标数据库不支持的目标数据类型对应的目标数据转换为所述目标数据库所支持的数据类型的数据后,将转换后的数据存储至所述目标数据库。
结合第一方面,在第一方面第一实施方式中,在所述确定所述源数据库中存储的数据的数据类型,以及所述目标数据库所支持存储的数据类型的步骤之后,所述方法还包括:根据所述源数据库中待处理数据的数据类型和目标数据库支持存储的数据类型,确定所述目标数据库是否支持存储所述待处理数据的数据类型;若不支持,则执行将所述源数据库中存储的,且所述目标数据库不支持的目标数据类型对应的目标数据转换为所述目标数据库所支持的数据类型的数据的步骤。
结合第一方面第一实施方式,在第一方面第二实施方式中,若支持,则将所述待处理数据存储至所述目标数据库。
结合第一方面,在第一方面第三实施方式中,若所述源数据库和/或目标数据库未接入所述数据交换系统,发送提示信息,以提示将未接入所述数据交换系统的源数据库和/或目标数据库接入所述数据交换系统;接收用户输入的待接入数据库的数据库信息;根据所述待接入数据库的数据库信息将所述待接入数据库接入所述数据交换系统,并建立新接入数据库所支持存储的数据类型的列表。
结合第一方面或第一方面中任意一种实施方式,在第一方面第四实施方式中,所述将所述源数据库中存储的,且所述目标数据库不支持的目标数据类型对应的目标数据转换为所述目标数据库所支持的数据类型的数据,包括:根据预设的数据类型转换规则表中记录的子类型对应关系将所述源数据库中的数据转换为同一属性下另一子类型的数据;或,根据所述预设的数据类型转换规则表中记录的属性对应关系将所述源数据库中的数据转换为另一属性的数据。
结合第一方面第四实施方式,在第一方面第五实施方式中,所述根据预设的数据类型转换规则表中记录的子类型对应关系将所述源数据库中的数据转换为同一属性下另一子类型的数据,包括:在所述预设的数据类型转换规则表中查询是否存在与所述源数据库中的数据相对应的数据子类型及其对应关系;如果存在所述数据子类型及其对应关系,根据所述数据子类型及其对应关系将所述源数据库的数据转换为同一属性下另一子类型的数据;如果不存在所述数据子类型及其对应关系,根据通用子类型将所述源数据库的数据转换为所述通用子类型的数据。
结合第一方面第四实施方式,在第一方面第六实施方式中,所述根据预设的数据类型转换规则表中记录的属性对应关系将所述源数据库中的数据转换为另一属性的数据,包括:在所述预设的数据类型转换规则表中查询是否存在与所述源数据库中的数据相对应的数据属性及其对应关系;如果存在所述数据属性及其对应关系,根据所述数据属性及其对应关系将所述源数据库的数据转换为另一属性的数据;如果不存在所述数据属性及其对应关系,根据通用属性将所述源数据库的数据转换为所述通用属性的数据。
根据第二方面,本发明实施例提供了一种数据库间的数据交换装置,应用于数据交换系统,包括:用户指令获取模块,用于接收数据交换指令,所述数据交换指令包括源数据库信息及目标数据库信息;数据库接入判断模块,用于根据所述源数据库信息及目标数据库信息判断源数据库及目标数据库是否已接入数据交换系统;若是,则数据库类型确定模块用于确定所述源数据库中存储的数据的数据类型,以及所述目标数据库所支持存储的数据类型;数据转换存储模块,用于将所述源数据库中存储的,且所述目标数据库不支持的目标数据类型对应的目标数据转换为所述目标数据库所支持的数据类型的数据后,将转换后的数据存储至所述目标数据库。
根据第三方面,本发明实施例提供了一种数据交换服务器,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的数据库间的数据交换方法。
根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式中所述的数据库间的数据交换方法。
本发明实施例的有益效果在于,针对不同的数据库及其数据类型进行配置,进行不同的转换关系的匹配,且针对未定义的类型采取就近匹配的方式,解决了不同数据库之间数据传输转换的复杂性和难操作性以及低时效性的问题。不仅能够实现数据库类型的动态可扩展,同时也实现了不同数据类型的自动匹配和转换的功能,为打破不同数据库之间的数据转换困难、过程复杂的壁障奠定了基础,同时也简化了数据传输转换的流程,提高了数据不同数据库之间数据传输转换的效率。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了现有技术中基于xml文件实现数据转换的流程示意图;
图2示出了本发明实施例的数据交换系统和数据库构成的基础架构的结构示意图;
图3示出了本发明实施例的数据库间的数据交换方法的流程示意图;
图4示出了本发明实施例的对数据库类型进行编码的流程示意图;
图5示出了本发明实施例的对数据类型进行编码的流程示意图;
图6示出了本发明实施例的就近匹配数据转换过程的流程示意图;
图7示出了本发明实施例的数据库间的数据交换装置的结构示意图;
图8示出了本发明实施例的数据交换服务器的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在解决数据库之间数据交换的问题的技术中,目前比较成熟的是基于xml文件实现的方案。该方案的优点在于,xml现在被使用的很广泛,基于xml自己的技术标准,便于xml技术的使用及推广。同时,由于xml技术标准的成熟和极广泛的被接受和使用,这也使得xml技术的具有广泛的群众基础,容易被大众理解和使用。同时,xml是一种可扩展标记语言,这在一定程度上给用户带来了很大的灵活性,可以让用户根据自己的需求进行开发,具有很强的通用性。xml作为不同数据库数据交换的一种交换中介,其转换过程如图1所示:1.读取发送方数据库中的数据;2.根据数据类型映射成xml文件;3.根据xml文件个数生成接收方库表;4.读取该xml文件;5.把数据插入到接收方库中;6.数据转换完成。
上述基于xml的数据转换方案能够解决一些常用关系型数据库之间数据交换,但对于一些新出现的数据库可能就不能很好地支持,其主要存在以下缺点:
1.可扩展性差
xml是为了解决数据传输的问题,是对HTML的一种补充,xml是以纯文本的方式存储数据,这样就会导致一些非文本的数据无法存储,同时对新出现的一些数据格式类型也不能很好地支持。
2.转换繁琐,过程复杂
使用xml在不同数据库之间进行数据传输时,需要经过先读取原表中的数据类型,然后生成相应的标记对数据进行描述,之后再把数据读取出来存储到xml文件中,然后接收方需要根据xml文件的标记格式生成相应的库表,之后再把数据从xml文件中读取出来,存储到相应的数据库中。可见,整个转换过程较为繁琐。
3.容错性差,适应性差
由于不同数据库之间的数据类型是各不相同的,有些类型可能其他数据库中没有,这样就会因为转换的时候数据类型不对而导致数据传输失败。同时,由于不同数据库对不同类型数据的长度和精度要求不同,这样也可能会导致数据类型转换错误,而导致数据传输失败。
因此,为了克服现有技术存在的上述缺陷,本发明实施例提供一种数据库间的数据交换方法,在实际应用中,该方法可用于源数据库与目标数据库间的数据传输时的数据转换过程,在本发明实施例中,该方法的实施可以是通过构建由数据交换系统和数据库构成的一个整体的基础架构来实现,如图2所示,该基础架构中的核心模块为该数据交换系统,该数据交换系统用于接入不同类型的数据库(如oracle、mysql、newsql、nosql等),根据用户的指令在接入的数据库之间进行数据的交换控制。如图3所示,本发明实施例的数据库间的数据交换方法主要包括:
步骤S1:接收数据交换指令;实际应用中,用户输入需要转换的源数据库信息及目的数据库信息给数据交换系统,以启动数据库间的数据转换。
步骤S2:根据所述源数据库信息及目标数据库信息判断源数据库及目标数据库是否已接入数据交换系统。在收到用户输入的数据交换指令后,数据交换系统根据该指令提取其中的源数据库信息及目标数据库信息,从而判断这两种数据库是否已接入至该数据交换系统。
步骤S3:如果所述源数据库及目标数据库已接入数据交换系统,则确定所述源数据库中存储的数据的数据类型,以及所述目标数据库所支持存储的数据类型。例如,数据交换系统确定该源数据库是Mysql数据库,目标数据库是Nosql数据库,并由此确定源数据库的数据类型,以及目标数据库所支持的数据类型。
实际应用中,由于各数据库在接入数据交换系统时,会根据该数据库的类型等信息,在数据交换系统本地设置该数据库所支持存储的数据类型的列表,那么,在确定需要进行数据交换的源数据库和目标数据库后:
一种实施方式为,可以根据该源数据库和目标数据库分别对应的所支持存储的数据类型的列表,确定出源数据库所支持的哪些数据类型是目标数据库不支持的,这样,在接收到源数据库发送的待处理数据时,即可判断该待处理数据的数据类型是否是该目标数据库不支持的。
另一种实施方式,可以在接收到源数据库发送的待处理数据时,判断该待处理数据的数据类型,并确定该目标数据库所支持存储的数据类型的列表中是否包括该待处理数据的数据类型,从而判断目标数据库是否支持源数据库的数据类型。
可选地,在本发明的一些实施例中,在数据交换系统中对接入的不同的数据库类型可以是通过编码存储的,编码的目的在于后期可根据编号快速查找相应的数据库,同时也便于区分不同的数据库类型,以及后续的数据库匹配操作。具体实施时,可以根据情况选择用字母来编码,也可以选择用数字来编码,前提是要保证编码的唯一性。对数据库类型进行编码的对应关系如图4所示。
步骤S4:将所述源数据库中存储的,且所述目标数据库不支持的目标数据类型对应的目标数据转换为所述目标数据库所支持的数据类型的数据后,将转换后的数据存储至所述目标数据库。
具体地,在步骤S3确定了源数据库中存储的数据的数据类型,以及所述目标数据库所支持存储的数据类型之后,则根据所述源数据库中待处理数据的数据类型和目标数据库支持存储的数据类型,确定所述目标数据库是否支持存储所述待处理数据的数据类型。
若所述目标数据库不支持存储所述待处理数据的数据类型,则将所述源数据库中存储的,且所述目标数据库不支持的目标数据类型对应的目标数据转换为所述目标数据库所支持的数据类型的数据,并将转换后的数据存储至所述目标数据库。
若所述目标数据库支持存储所述待处理数据的数据类型,则直接将源数据库的数据发送至目标数据库进行存储。
例如,源数据库A的待处理数据为数值型的,而数值型数据所包含的数据子类型包括:整型、浮点型、定点型等,则确定目标数据库B是否支持数值型及其子类型。若目标数据库B支持数值型及其子类型,则判定目标数据库B支持源数据库A的数据类型。
可选地,在本发明的一些实施例中,对于数据库的数据类型及其包含的数据子类型也可通过编码进行存储,编码的目的在于根据编码来区分不同数据类型,也方便根据编码在进行不同数据库数据类型匹配时进行快速的查找匹配,同时也便于对不同的数据类型进行统一的管理和维护,提高效率。具体实施时,对数据库中的数据类型的编码,是指对不同的数据库中的数据类型分别进行编码,编码时需按照同一的数据类型的次序进行编码,比如按照字符串、数值、日期时间、大文本等类型次序进行编码,然后在同一类型下再按不同的数据特点进行编码。比如在浮点型这个大类型下,下面可能有double、float等不同的浮点类型,再对这些类型进行编码,通过编码来表征不同数据类型的方式,能够减少匹配的时间,提高效率。对数据类型进行编码的对应关系如图5所示。
通过上述步骤S1-S4,本发明实施例的数据库间的数据交换方法,针对不同的数据库及其数据类型进行配置,进行不同的数据库之间的数据交换,解决了不同数据库之间数据传输交换的复杂性和难操作性以及低时效性的问题。不仅能够实现数据库类型的动态可扩展,同时也实现了不同数据类型的自动匹配和转换的功能,为打破不同数据库之间的数据转换困难、过程复杂的壁障奠定了基础,同时也简化了数据传输交换的流程,提高了数据不同数据库之间数据传输交换的效率。
可选地,在本发明的一些实施例中,可以把该数据库间的数据交换方法对数据库的连接操作封装在一个容器里面。该容器是一个开放的容器,它可以让使用者自由的“拿”和“放”,这里的“拿”指的是从这个容器中得到数据库的连接,这里的“放”指的是用户可以按自己的需要,添加自己要使用的而容器里面还没有的数据库类型。用户可根据自己的需求把自己需要使用的数据库的信息接入到数据交换系统,然后数据交换系统根据用户提交的数据库信息进行相应的处理,数据库信息处理成功后,数据交换系统通知用户新添加的数据库信息已处理好,可以对新添加的数据库进行操作。
具体地,数据交换系统获取用户输入的待接入数据库的数据库信息;根据所述待接入数据库的数据库信息将该待接入数据库接入至数据交换系统,以备后续进行数据库间的数据交换。
通过上述处理过程,所具备的优点在于,第一,保证了容器不会过于“膨胀”,具有很好的自我适应性;第二,能够让使用者按自己的需求定制化容器,保证容器的简洁、方便、好用;第三,可以让容器在不同的环境下都能根据要求进行调节,具有很好的“自我调节”性能。以上三点可以让用户的操作更加自由化、人性化和多元化,方便用户的操作和使用。
可选地,在本发明的一些实施例中,上述步骤S2中,若判断源数据库及目标数据库中至少有一方未接入到数据交换系统,表明无法根据当前的源数据库及目标数据库进行数据交换,则发送提示信息,表明当前并没有该源数据库和/或目标数据库所对应的数据库类型接入到数据交换系统,提示用户将未接入数据交换系统的源数据库和/或目标数据库接入数据交换系统。
当用户接收到该提示信息后,同样可以构建新的数据库接入至数据交换系统。具体地,数据交换系统接收用户输入的待接入数据库的数据库信息;根据所述待接入数据库的数据库信息将该待接入数据库接入至数据交换系统,并建立新接入数据库所支持存储的数据类型的列表,或是将待接入数据库的信息加入到目标数据库中已记录的所支持存储的数据类型的列表中。
可选地,在本发明的一些实施例中,上述步骤S4中,将所述源数据库中存储的,且所述目标数据库不支持的目标数据类型对应的目标数据转换为所述目标数据库所支持的数据类型的数据,具体可以是根据预设的数据类型转换规则表中记录的子类型对应关系将源数据库中的数据转换为同一属性下另一子类型的数据;或者,是根据预设的数据类型转换规则表中记录的属性对应关系将源数据库中的数据转换为另一属性的数据。
其中,根据预设的数据类型转换规则表中记录的子类型对应关系将源数据库中的数据转换为同一属性下另一子类型的数据,包括:在预设的数据类型转换规则表中查询是否存在与源数据库中的数据相对应的数据子类型及其对应关系;如果存在数据子类型及其对应关系,根据数据子类型及其对应关系将源数据库的数据转换为同一属性下另一子类型的数据;如果不存在数据子类型及其对应关系,根据通用子类型将源数据库的数据转换为通用子类型的数据。
其中,根据预设的数据类型转换规则表中记录的属性对应关系将源数据库中的数据转换为另一属性的数据,包括:在预设的数据类型转换规则表中查询是否存在与源数据库中的数据相对应的数据属性及其对应关系;如果存在数据属性及其对应关系,根据数据属性及其对应关系将源数据库的数据转换为另一属性的数据;如果不存在数据属性及其对应关系,根据通用属性将源数据库的数据转换为通用属性的数据。
在上述实施例中,当出现在某些数据库中特有的类型而在其他数据库中不存在的情况下,需要根据通用属性将源数据库的数据转换为通用属性的数据,实际上是采取“就近匹配”的策略,这里的就近匹配原则是根据源数据库的数据类型,在确保数据一致性的前提下,将数据类型转换成和源数据库的数据类型最接近的类型。
以下结合示例说明该“就近匹配”策略:例如,要实现从mysql到oracle的数据类型的转换,mysql中有一种数值类型数据double,而在oracle中不存在double这样的类型,则需要根据“就近匹配”原则来实现数据类型的转换。
首先,从一个大范围上(例如数据的属性)进行匹配,比如double类型是数值型的(就数据的属性而言),那么数据交换系统就会优先去数值类型中做匹配,然后再根据是浮点型还是定点型还是整型再做匹配(子数据类型)。如果匹配成功,那么就会转换成匹配成功的数据类型,否则就会进行第二次匹配。如果都匹配不到,则会从其他类型(根据数据类型的属性,或是根据子数据类型)中去选择一种通用的类型来转换,比如字符串类型进行转换,直到匹配成功。数据交换系统的这种选择是在保证数据一致性和完整性的前提下进行的。这样不仅可以保证数据的属性不会发生改变,同时也能够保证数据的完整性和一致性,“就近匹配”的过程如图6所示。
通过上述的各个步骤,本发明实施例的数据库间的数据交换方法,不仅能够实现数据库类型的动态可扩展,同时也实现了不同数据类型的可扩展以及数据类型的自动匹配和转换的功能,为打破不同数据库之间的数据转换困难、过程复杂的壁障奠定了基础,同时也简化了数据传输转换的流程,提高了数据不同数据库之间数据传输转换的效率。
本发明实施例还提供一种数据库间的数据交换装置,可应用于上述实施例所述的数据交换系统,如图7所示,该数据库间的数据交换装置主要包括:用户指令获取模块1、数据库接入判断模块2、数据库类型确定模块3及数据转换存储模块4。
其中,用户指令获取模块1用于接收数据交换指令,所述数据交换指令包括源数据库信息及目标数据库信息;详细内容可参见上述方法实施例的步骤S1的相关描述。
数据库接入判断模块2用于根据所述源数据库信息及目标数据库信息判断源数据库及目标数据库是否已接入数据交换系统;详细内容可参见上述方法实施例的步骤S2的相关描述。
若源数据库及目标数据库已接入数据交换系统,上述的数据库类型确定模块3用于确定所述源数据库中存储的数据的数据类型,以及所述目标数据库所支持存储的数据类型;详细内容可参见上述方法实施例的步骤S3的相关描述。
数据转换存储模块4用于将所述源数据库中存储的,且所述目标数据库不支持的目标数据类型对应的目标数据转换为所述目标数据库所支持的数据类型的数据后,将转换后的数据存储至所述目标数据库;详细内容可参见上述方法实施例的步骤S4的相关描述。
本发明实施例的数据库间的数据交换装置,针对不同的数据库及其数据类型进行配置,进行不同的转换关系的匹配,解决了不同数据库之间数据传输转换的复杂性和难操作性以及低时效性的问题。不仅能够实现数据库类型的动态可扩展,同时也实现了不同数据类型的自动匹配和转换的功能,为打破不同数据库之间的数据转换困难、过程复杂的壁障奠定了基础,同时也简化了数据传输转换的流程,提高了数据不同数据库之间数据传输转换的效率。
本发明实施例还提供了一种数据交换服务器,如图8所示,该数据交换服务器可以包括处理器71和存储器72,其中处理器71和存储器72可以通过总线或者其他方式连接,图8中以通过总线连接为例。
处理器71可以为中央处理器(Central Processing Unit,CPU)。处理器71还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器72作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的数据库间的数据交换方法对应的程序指令/模块(例如,图7所示的用户指令获取模块1、数据库接入判断模块2、数据库类型确定模块3及数据转换存储模块4)。处理器71通过运行存储在存储器72中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的数据库间的数据交换方法。
存储器72可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器71所创建的数据等。此外,存储器72可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器72可选包括相对于处理器71远程设置的存储器,这些远程存储器可以通过网络连接至处理器71。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器72中,当被所述处理器71执行时,执行如图1-图6所示实施例中的数据库间的数据交换方法。
上述数据交换服务器具体细节可以对应参阅图1至图6所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (9)
1.一种数据库间的数据交换方法,其特征在于,应用于数据交换系统,所述数据交换方法对数据库的连接操作封装在一个容器,所述容器供使用者得到数据库的连接或添加要使用的而容器里面还没有的数据库类型,所述数据交换方法包括:
接收数据交换指令,所述数据交换指令包括源数据库信息及目标数据库信息;
根据所述源数据库信息及目标数据库信息,判断源数据库及目标数据库是否已接入数据交换系统;
若是,则确定所述源数据库中存储的数据的数据类型,以及所述目标数据库所支持存储的数据类型;
将所述源数据库中存储的,且所述目标数据库不支持的目标数据类型对应的目标数据转换为所述目标数据库所支持的数据类型的数据后,将转换后的数据存储至所述目标数据库;
其中,所述将所述源数据库中存储的,且所述目标数据库不支持的目标数据类型对应的目标数据转换为所述目标数据库所支持的数据类型的数据,包括:
根据预设的数据类型转换规则表中记录的子类型对应关系将所述源数据库中的数据转换为同一属性下另一子类型的数据;或,
根据预设的数据类型转换规则表中记录的属性对应关系将所述源数据库中的数据转换为另一属性的数据。
2.根据权利要求1所述的数据库间的数据交换方法,其特征在于,在所述确定所述源数据库中存储的数据的数据类型,以及所述目标数据库所支持存储的数据类型的步骤之后,所述方法还包括:
根据所述源数据库中待处理数据的数据类型和目标数据库支持存储的数据类型,确定所述目标数据库是否支持存储所述待处理数据的数据类型;
若不支持,则执行将所述源数据库中存储的,且所述目标数据库不支持的目标数据类型对应的目标数据转换为所述目标数据库所支持的数据类型的数据的步骤。
3.根据权利要求2所述的数据库间的数据交换方法,其特征在于,若支持,则将所述待处理数据存储至所述目标数据库。
4.根据权利要求1所述的数据库间的数据交换方法,其特征在于,若所述源数据库和/或目标数据库未接入所述数据交换系统,发送提示信息,以提示将未接入所述数据交换系统的源数据库和/或目标数据库接入所述数据交换系统;
接收用户输入的待接入数据库的数据库信息;
根据所述待接入数据库的数据库信息将所述待接入数据库接入所述数据交换系统,并建立新接入数据库所支持存储的数据类型的列表。
5.根据权利要求1所述的数据库间的数据交换方法,其特征在于,所述根据预设的数据类型转换规则表中记录的子类型对应关系将所述源数据库中的数据转换为同一属性下另一子类型的数据,包括:
在所述预设的数据类型转换规则表中查询是否存在与所述源数据库中的数据相对应的数据子类型及其对应关系;
如果存在所述数据子类型及其对应关系,根据所述数据子类型及其对应关系将所述源数据库的数据转换为同一属性下另一子类型的数据;
如果不存在所述数据子类型及其对应关系,根据通用子类型将所述源数据库的数据转换为所述通用子类型的数据。
6.根据权利要求1所述的数据库间的数据交换方法,其特征在于,所述根据所述预设的数据类型转换规则表中记录的属性对应关系将所述源数据库中的数据转换为另一属性的数据,包括:
在所述预设的数据类型转换规则表中查询是否存在与所述源数据库中的数据相对应的数据属性及其对应关系;
如果存在所述数据属性及其对应关系,根据所述数据属性及其对应关系将所述源数据库的数据转换为另一属性的数据;
如果不存在所述数据属性及其对应关系,根据通用属性将所述源数据库的数据转换为所述通用属性的数据。
7.一种数据库间的数据交换装置,其特征在于,应用于数据交换系统,所述数据交换装置对数据库的连接操作封装在一个容器,所述容器供使用者得到数据库的连接或添加要使用的而容器里面还没有的数据库类型,所述数据交换装置包括:
用户指令获取模块,用于接收数据交换指令,所述数据交换指令包括源数据库信息及目标数据库信息;
数据库接入判断模块,用于根据所述源数据库信息及目标数据库信息判断源数据库及目标数据库是否已接入数据交换系统;
若是,则数据库类型确定模块用于确定所述源数据库中存储的数据的数据类型,以及所述目标数据库所支持存储的数据类型;
数据转换存储模块,用于将所述源数据库中存储的,且所述目标数据库不支持的目标数据类型对应的目标数据转换为所述目标数据库所支持的数据类型的数据后,将转换后的数据存储至所述目标数据库;
其中,所述将所述源数据库中存储的,且所述目标数据库不支持的目标数据类型对应的目标数据转换为所述目标数据库所支持的数据类型的数据,包括:
根据预设的数据类型转换规则表中记录的子类型对应关系将所述源数据库中的数据转换为同一属性下另一子类型的数据;或,
根据预设的数据类型转换规则表中记录的属性对应关系将所述源数据库中的数据转换为另一属性的数据。
8.一种数据交换服务器,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如权利要求1-6中任一项所述的数据库间的数据交换方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如权利要求1-6中任一项所述的数据库间的数据交换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910350264.2A CN110096541B (zh) | 2019-04-28 | 2019-04-28 | 一种数据库间的数据交换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910350264.2A CN110096541B (zh) | 2019-04-28 | 2019-04-28 | 一种数据库间的数据交换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110096541A CN110096541A (zh) | 2019-08-06 |
CN110096541B true CN110096541B (zh) | 2021-06-15 |
Family
ID=67446171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910350264.2A Active CN110096541B (zh) | 2019-04-28 | 2019-04-28 | 一种数据库间的数据交换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110096541B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104097B (zh) * | 2019-12-13 | 2023-06-30 | 上海众源网络有限公司 | 一种数据写入、读取方法及装置 |
CN111324653B (zh) * | 2020-02-17 | 2021-03-16 | 苏州亿歌网络科技有限公司 | 一种离线数据的采集方法、装置、设备及存储介质 |
CN112632190A (zh) * | 2020-12-26 | 2021-04-09 | 中国农业银行股份有限公司 | 一种数据同步方法及装置 |
CN117331993B (zh) * | 2023-09-19 | 2024-06-21 | 南京麦杰软件有限公司 | 一种实时数据库用于交换数据的方法与设备 |
CN117743436A (zh) * | 2023-12-16 | 2024-03-22 | 中国人寿保险股份有限公司 | 数据交换方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8359336B2 (en) * | 2004-05-14 | 2013-01-22 | Oracle International Corporation | Interpreting remote objects at a local site |
CN104376062A (zh) * | 2014-11-11 | 2015-02-25 | 中国有色金属长沙勘察设计研究院有限公司 | 一种异构数据库平台数据的同步方法 |
CN104601554A (zh) * | 2014-12-29 | 2015-05-06 | 北京致远协创软件有限公司 | 一种数据交换方法及数据交换装置 |
CN108388615A (zh) * | 2018-02-09 | 2018-08-10 | 杭州数梦工场科技有限公司 | 一种数据交换方法、系统以及电子设备 |
-
2019
- 2019-04-28 CN CN201910350264.2A patent/CN110096541B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8359336B2 (en) * | 2004-05-14 | 2013-01-22 | Oracle International Corporation | Interpreting remote objects at a local site |
CN104376062A (zh) * | 2014-11-11 | 2015-02-25 | 中国有色金属长沙勘察设计研究院有限公司 | 一种异构数据库平台数据的同步方法 |
CN104601554A (zh) * | 2014-12-29 | 2015-05-06 | 北京致远协创软件有限公司 | 一种数据交换方法及数据交换装置 |
CN108388615A (zh) * | 2018-02-09 | 2018-08-10 | 杭州数梦工场科技有限公司 | 一种数据交换方法、系统以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110096541A (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096541B (zh) | 一种数据库间的数据交换方法及装置 | |
CN109460219B (zh) | 快速序列化接口控制文件的方法 | |
CN108446313B (zh) | 一种数据格式转换方法和装置 | |
CN110968601A (zh) | 一种数据查询处理方法及装置 | |
JP2020187733A (ja) | アプリケーション・プログラミング・インターフェースのドキュメンテーションの注釈付け | |
CN102163233A (zh) | 一种网页标记语言格式转换方法及系统 | |
US20090063949A1 (en) | Delta-saving in xml-based documents | |
CN103995854A (zh) | 一种设备跨版本升级方法和装置 | |
CN108334609B (zh) | Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质 | |
CN110515827A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
US20170032052A1 (en) | Graph data processing system that supports automatic data model conversion from resource description framework to property graph | |
CN110209395B (zh) | 一种将sql嵌入高级语言的方法、设备及介质 | |
CN108664546B (zh) | Xml数据结构转换方法和装置 | |
CN114090671A (zh) | 数据导入方法、装置、电子设备及存储介质 | |
JP2019512776A (ja) | 言語認識方法、装置、及びシステム | |
CN106570095A (zh) | 一种xml数据的操作方法及设备 | |
CN111857752B (zh) | 一种PostgreSQL数据库安装方法、装置及设备 | |
CN111611011B (zh) | 一种支持Blob数据类型的JSON语法扩展方法和解析方法及装置 | |
US10713014B2 (en) | Multi-platform interface framework | |
CN117193869A (zh) | 基于配置文件行对比的自动合并方法及系统 | |
CN106293862B (zh) | 一种可扩展标记语言xml数据的解析方法和装置 | |
US20110191405A1 (en) | Automatic Client-Server Code Generator | |
US11977477B2 (en) | System and method for identification of web elements used in automation test case | |
CN114003583A (zh) | 一种目标格式数据请求体的构建方法、装置、介质及设备 | |
CN118400443B (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 |