CN106649788B - 一种数据库数据传输方法与装置 - Google Patents
一种数据库数据传输方法与装置 Download PDFInfo
- Publication number
- CN106649788B CN106649788B CN201611235732.4A CN201611235732A CN106649788B CN 106649788 B CN106649788 B CN 106649788B CN 201611235732 A CN201611235732 A CN 201611235732A CN 106649788 B CN106649788 B CN 106649788B
- Authority
- CN
- China
- Prior art keywords
- data
- plug
- data format
- reading
- writing
- 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/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)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种数据库数据传输方法与装置,用以解决现有技术中不同的数据库之间进行数据传输时,存在的不便利的问题。该方法包括:通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据;通过数据隧道将所述中间数据格式的数据发送给写入插件;通过所述写入插件将所述中间数据格式的数据转换成目标数据格式的数据并写入目标数据库。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据库数据传输方法与装置。
背景技术
随着数据库技术的发展,出现了不同类型的数据库,例如层次式数据库、网络式数据库和关系式数据库等。其中,一般情况下,不同类型的数据库中的数据存储结构不同,另外,不同类型的数据库中的数据的类型也不同。另外,即便数据库的类型相同,不同开发商开发出来的、类型相同的数据库中的数据存储结构并非相同,其中的数据类型也并非相同。那么,不同的数据库之间进行数据传输时,便存在着不便利的弊端。
发明内容
本申请实施例提供一种数据库数据传输方法与装置,用以解决现有技术中不同的数据库之间进行数据传输时,存在的不便利的问题。
本申请实施例采用下述技术方案:
一种数据库数据传输方法,其特征在于,所述方法包括:
通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据;
通过数据隧道将所述中间数据格式的数据发送给写入插件;
通过所述写入插件将所述中间数据格式的数据转换成目标数据格式的数据并写入目标数据库。
一种数据库数据传输装置,所述装置法包括:
第一转换模块,用于通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据;
发送模块,用于通过数据隧道将所述中间数据格式的数据发送给写入插件;
第二转换模块,用于通过所述写入插件将所述中间数据格式的数据转换成目标数据格式的数据并写入目标数据库。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据,然后通过数据隧道将所述中间数据格式的数据发送给写入插件,最终通过所述写入插件将所述中间数据格式的数据转换成目标数据格式的数据并写入目标数据库,能够实现不同数据库间的数据传输,便可解决现有技术中不同的数据库之间进行数据传输时,存在的不便利的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种数据库数据传输方法的具体流程示意图;
图2为本申请实施例提供的另一种数据库数据传输方法的具体流程示意图;
图3为本申请实施例提供的一种具体的数据库数据传输方法的具体流程示意图;
图4为本申请实施例提供的一种具体的数据库数据传输方法结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
实施例1
为了解决现有技术中不同的数据库之间进行数据传输时,存在的不便利的问题,本申请实施例1提供一种数据库数据传输方法。
该方法的执行主体,可以但不限于为手机、平板电脑或个人电脑(PersonalComputer,PC)等用户终端,或者该些用户终端上运行的应用(application,APP),或者,还可以是服务器等设备。为了便于描述,后文以APP为例进行说明。
该方法的具体流程示意图如图1所示,包括下述步骤:
步骤101,通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据。
在执行步骤101之前,APP可以获取所述源数据库的类型,然后根据所述源数据库的类型,确定出与所述源数据库的类型对应的读取插件,其中,所述读取插件中包括所述源数据库的字段类型与中间数据格式的对应关系;或者根据所述源数据库的类型,确定所述读取插件中所述源数据库的字段类型与中间数据格式的对应关系。
具体的,可以通过所述读取插件读取所述源数据库中的待传输数据,根据所述源数据库的字段类型与中间数据格式的对应关系,将所述待传输数据中第一表格的第一字段的数据转换成所述第一字段对应的中间数据格式的数据,其中,所述第一表格是所述待传输数据中任意一个待传输的表格,所述第一字段是所述第一表格中任意一个待传输字段。
步骤102,通过数据隧道将所述中间数据格式的数据发送给写入插件。
执行步骤102之前,可以事先获取所述目标数据库的类型,根据所述目标数据库的类型,确定出与所述目标数据库的类型对应的写入插件,其中,所述写入插件中包括所述目标数据库的字段类型与中间数据格式的对应关系;或者
根据所述目标数据库的类型,确定所述写入插件中所述目标数据库的字段类型与中间数据格式的对应关系。
在一种实施场景中,当通过所述读取插件读取并转换的待传输数据的数量不小于第一预设阈值时,通过数据隧道将所述中间数据格式的数据发送给写入插件。
步骤103,通过所述写入插件将所述中间数据格式的数据转换成目标数据格式的数据并写入目标数据库。
具体的,可以根据所述目标数据库的字段类型与中间数据格式的对应关系,通过所述写入插件将所述写入插件接收到的所述第一字段对应的中间数据格式的数据转换成所述第一字段对应的目标数据格式的数据,并写入所述第一表格在所述目标数据库对应的表格中所述第一字段对应的字段。
在一种实施场景中,当所述写入插件转换的中间数据格式的数据的数量不小于第二预设阈值时,通过所述写入插件将所述中间数据格式的数据转换成目标数据格式的数据并写入所述目标数据库。
需要特别说明的是,在执行通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据的操作时,除了使用步骤101中提及的方法通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据外,可以采用下述具体方法通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据:
通过所述读取插件读取所述源数据库中的待传输数据,将所述待传输数据按照表格划分为多个传输任务读取并转换为对应的中间数据格式的数据,或者将所述待传输数据中一个表格的待传输数据划分为多个传输任务读取并转换为对应的中间数据格式的数据。
若在将所述多个传输任务中的第一传输任务读取并转换为对应的中间数据格式的数据时读取失败,则在所述第一传输任务中对所述第一传输任务所需要读取的待传输数据进行重新读取并转换为对应的中间数据格式的数据。
在执行完上述操作后,针对每一个传输任务,可以将每个所述传输任务读取并转换的中间数据格式的数据通过所述传输任务对应的数据隧道发送给所述写入插件。若在将第一传输任务读取并转换的中间数据格式的数据通过所述第一传输任务对应的数据隧道发送给所述写入插件时发送失败,则在所述第一传输任务中重新将所述第一传输任务读取并转换的中间数据格式的数据通过所述传输任务对应的数据隧道发送给所述写入插件。
然后通过所述写入插件将所述写入插件接收到的所述中间数据格式的数据按照所述传输任务分别转换成目标数据格式的数据并写入所述目标数据库。若在通过所述写入插件将所述写入插件接收到的将第一传输任务读取并转换的中间数据格式的数据转换成目标数据格式的数据并写入所述目标数据库时写入失败,则在所述第一传输任务中通过所述写入插件将所述转换成的目标数据格式的数据重新写入所述目标数据库。
在本申请实施例中,APP通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据,然后通过数据隧道将所述中间数据格式的数据发送给写入插件,最终通过所述写入插件将所述中间数据格式的数据转换成目标数据格式的数据并写入目标数据库,可以实现不同数据库间的数据传输,便可解决现有技术中不同的数据库之间进行数据传输时,存在的不便利的问题。
实施例2
为了解决现有技术中不同的数据库之间进行数据传输时,存在的不便利的问题,本申请实施例2提供另一种数据库数据传输方法。
该方法的执行主体,可以但不限于为手机、平板电脑或个人电脑(PersonalComputer,PC)等用户终端,或者该些用户终端上运行的应用(application,APP),或者,还可以是服务器等设备。为了便于描述,后文以APP为例进行说明。
该方法的具体流程示意图如图2所示,包括下述步骤:
步骤201,通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据。
其中,上述读取插件并非硬件装置,而是软件。在实际应用中,可以将读取插件部署在源数据库中,也可以部署在其他数据库中,或者部署在任意硬件装置中,只要该读取插件可以实现本申请实施例2提供的数据库数据传输方法即可。另外,上述读取插件可以与APP部署在相同位置,也可部署在不同位置,本申请实施例对此不进行任何限定。
APP可以事先获取源数据库的互联网协议(Internet Protocol,IP)地址,该源数据库的登录参数,比如登录账号以及登录密码等参数,以及该源数据库中的待传输数据对应的表格的标识信息,比如该表格的表名等,以使得APP可以通过读取插件,根据获取到的IP地址以及登录参数,登录到源数据库中,进而根据待传输数据对应的表格的标识信息读取到该源数据库中的待传输数据。其中,待传输数据可以包括至少一个表格。
需要说明的是,由于数据库分为多种类型,比如网状数据库类型、关系数据库类型、树状数据库类型、面向对象数据库类型等类型,另外,由不同开发商开发出的相同类型的数据库也并非相同,比如同为关系型数据库,但是Oracle数据库、DB2数据库以及MySQL数据库的存储结构或字段类型并非是相同的,因此,可以针对不同类型的数据库开发出不同类型的读取插件,或开发出一个适用于不同类型的数据库的读取插件。若针对不同类型的数据库开发出不同类型的读取插件,那么每一种类型的读取插件中可以包括该类型的读取插件对应的数据库的字段类型与中间数据格式的对应关系;若开发出一个适用于不同类型的数据库的读取插件,那么该读取插件中可以包括不同类型的数据库的字段类型与中间数据格式的对应关系。那么APP可以事先获取所述源数据库的类型,然后根据所述源数据库的类型,确定出与所述源数据库的类型对应的读取插件,其中,所述读取插件中包括所述源数据库的字段类型与中间数据格式的对应关系,或者根据所述源数据库的类型,确定所述读取插件中所述源数据库的字段类型与中间数据格式的对应关系。
具体的,APP可以通过读取插件读取源数据库中的待传输数据,然后根据所述源数据库的字段类型与中间数据格式的对应关系,以及源数据库的各字段类型对应的数据与中间数据格式对应的数据的映射关系,将所述待传输数据中第一表格的第一字段的数据转换成所述第一字段对应的中间数据格式的数据,其中,所述第一表格是所述待传输数据中任意一个待传输的表格,所述第一字段是所述第一表格中任意一个待传输字段。所述中间数据格式可以为任意类型的数据库中的任意数据类型,也可以为非数据库中的数据类型,比如编程语言中的字符串类型或者由数字、文字或字母构成的字符串类型等。上述源数据库的字段类型对应的数据与中间数据格式对应的数据的映射关系可以存在与读取插件中,也可存在于任意位置,只要APP可以获取到上述映射关系,并可根据该映射关系实现本申请实施例提供的数据库数据传输方法即可。
步骤202,通过数据隧道将所述中间数据格式的数据发送给写入插件。
其中,上述写入插件为软件,上述写入插件可以部署在任意位置,只要该写入插件可以实现本申请提供的数据库数据传输方法即可。上述写入插件可以与APP部署在同一位置,或部署在不同位置,本申请对此不进行任何限定。
上述数据隧道可以为任意一种传输协议,只要可以将中间数据格式的数据发送给写入插件即可。
需要说明的是,由于不同的数据库的类型不同,以及不同数据库的存储结构或字段类型不同,可以针对不同类型的数据库开发出不同类型的写入插件,或开发出一个适用于不同类型的数据库的写入插件。若针对不同类型的数据库开发出不同类型的写入插件,那么每一种类型的写入插件中可以包括该类型的写入插件对应的数据库的字段类型与中间数据格式的对应关系;若开发出一个适用于不同类型的数据库的写入插件,那么该写入插件中可以包括不同类型的数据库的字段类型与中间数据格式的对应关系。那么APP可以事先获取目标数据库的类型,然后根据目标数据库的类型,确定出与目标数据库的类型对应的写入插件,其中,所述写入插件中包括目标数据库的字段类型与中间数据格式的对应关系,或者根据目标数据库的类型,确定所述写入插件中目标数据库的字段类型与中间数据格式的对应关系。
具体的,APP可以通过数据隧道将第一字段对应的中间数据格式的数据发送给步骤202确定出的写入插件。
为了节省资源,避免APP多次反复执行步骤202,APP可以当通过读取插件读取并转换的待传输数据的数量不小于第一预设阈值时,通过数据隧道将中间数据格式的数据发送给写入插件。其中,APP可以将中间数据格式的数据存储在任意位置,待中间数据格式的数据的数量不小于第一预设阈值时,执行步骤202。
步骤203,通过所述写入插件将所述中间数据格式的数据转换成目标数据格式的数据并写入目标数据库。
APP在执行步骤203之前,可以获取到目标数据库的IP地址,登录参数,比如登录账号和登录密码等,以及目标数据库中的存储待传输数据的目标表格的标识信息,那么APP便可通过写入插件,登录上述目标数据库,进而APP可以根据目标数据库的字段类型与中间数据格式的对应关系,以及目标数据库的字段类型对应的数据与中间数据格式对应的数据的映射关系,通过写入插件将所述第一字段对应的中间数据格式的数据转换成第一字段对应的目标数据格式的数据,并写入所述第一表格在所述目标数据库对应的表格中所述第一字段对应的字段,即将上述第一字段对应的目标数据格式的数据写入到目标数据库中的与第一表格对应的目标表格中。其中,上述目标数据库的字段类型对应的数据与中间数据格式对应的数据的映射关系,可以存在与写入插件中,也可以存在于任意位置,只要APP可以获取到该映射关系并根据该映射关系实现本申请实施例提供的数据库数据传输的方法即可。有时,APP可不获取目标表格的标识信息,而是直接在目标数据库中创建新的表格,用于存储目标格式的数据。
其中,为了节省资源,避免APP多次反复执行步骤203,APP可以当所述写入插件转换的中间数据格式的数据的数量不小于第二预设阈值时,通过所述写入插件将所述中间数据格式的数据转换成目标数据格式的数据。其中,APP可以将目标数据格式的数据存储在任意位置,待目标数据格式的数据的数量不小于第二预设阈值时,执行步骤203。
需要特别说明的是,为了提高数据库间的数据的传输速度,可以采用下述方式进行数据库间的数据传输:通过所述读取插件读取所述源数据库中的待传输数据,将所述待传输数据按照表格划分为多个传输任务读取并转换为对应的中间数据格式的数据,或者将所述待传输数据中一个表格的待传输数据划分为多个传输任务读取并转换为对应的中间数据格式的数据。可以将每个所述传输任务读取并转换的中间数据格式的数据通过所述传输任务对应的数据隧道发送给所述写入插件。通过所述写入插件将所述写入插件接收到的所述中间数据格式的数据按照所述传输任务分别转换成目标数据格式的数据并写入所述目标数据库。在针对每一个传输任务进行数据传输时,可采用步骤201~203中提及的数据转换方法以及传输方法进行数据转换和传输。
另外,为了更加高效的进行数据库间的数据传输,若在将所述多个传输任务中的第一传输任务读取并转换为对应的中间数据格式的数据时读取失败,则在所述第一传输任务中对所述第一传输任务所需要读取的待传输数据进行重新读取并转换为对应的中间数据格式的数据。若在将第一传输任务读取并转换的中间数据格式的数据通过所述第一传输任务对应的数据隧道发送给所述写入插件时发送失败,则在所述第一传输任务中重新将所述第一传输任务读取并转换的中间数据格式的数据通过所述传输任务对应的数据隧道发送给所述写入插件。若在通过所述写入插件将所述写入插件接收到的将第一传输任务读取并转换的中间数据格式的数据转换成目标数据格式的数据并写入所述目标数据库时写入失败,则在所述第一传输任务中通过所述写入插件将所述转换成的目标数据格式的数据重新写入所述目标数据库。这样便可避免因为一个传输任务中的一个环节出现错误,而导致要重新针对该传输任务执行所有的操作。
为了使读者更容易理解本申请实施例2提供的数据库数据传输方法,本申请实施例提供一个在某一具体场景中的数据库数据传输方法。该某一具体场景中的异构数据库数据传输方法的流程图如图3所示,该方法包括下述步骤:
步骤301,APP确定与源数据库的类型对应的至少两个读取插件。
步骤302,APP通过确定出的至少两个读取插件中的一个读取插件读取源数据库中的待传输数据表。
其中,源数据库可以为关系型数据库中的Oracle数据库。待传输数据表中的数据的类型可以为CHAR。
步骤303,APP将所述待传输数据中每一个表格的待传输数据分别划分为多个传输任务读取并转换为对应的中间数据格式的数据。
其中,中间数据格式可以为编程语言JAVA的字符串格式。
步骤304,APP确定出与目标数据库的类型对应的至少两个写入插件。
其中,目标数据库的类型可以为关系型数据库,比如PostgreSQL数据库。
步骤305,APP同时通过至少两个数据隧道将至少两个中间数据格式的数据发送给至少两个写入插件。
步骤306,APP同时通过所述至少两个写入插件将所述至少两个中间数据格式的数据转换成至少两个目标数据格式的数据并写入目标数据库。
其中,目标数据格式可以为VARCHAR2。
当APP通过至少两个写入插件将所述至少两个中间数据格式的数据转换成至少两个目标数据格式的数据后,可以不立即将该些目标数据格式的数据写入目标数据库,而是当上述目标数据格式的数据的数量不小于第三预设阈值时,在将该些目标数据格式的数据写入目标数据库。
上述读取插件、数据隧道、写入插件以及待传输任务数据的数量均相同。
当APP执行步骤305~306中的任一步骤出现异常时,则重新执行出现异常的步骤。
在本申请实施例中,通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据,然后通过数据隧道将所述中间数据格式的数据发送给写入插件,最终通过所述写入插件将所述中间数据格式的数据转换成目标数据格式的数据并写入目标数据库,能够实现不同数据库间的数据传输,便可解决现有技术中不同的数据库之间进行数据传输时,存在的不便利的问题。
实施例3
为了解决现有技术中不同的数据库之间进行数据传输时,存在的不便利的问题,本申请实施例3提供一种数据库数据传输装置。
该装置的具体结构示意图如图4所示,该装置包括下述模块:
第一转换模块41,用于通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据。
发送模块42,用于通过数据隧道将所述中间数据格式的数据发送给写入插件。
第二转换模块43,用于通过所述写入插件将所述写入插件接收到的所述中间数据格式的数据转换成目标数据格式的数据并写入目标数据库。
在一种实施场景中,所述装置还包括:
获取模块,用于在通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据之前,获取所述源数据库的类型;则所述装置还包括:
确定模块,用于根据所述源数据库的类型,确定出与所述源数据库的类型对应的读取插件,其中,所述读取插件中包括所述源数据库的字段类型与中间数据格式的对应关系;或者
根据所述源数据库的类型,确定所述读取插件中所述源数据库的字段类型与中间数据格式的对应关系。
在一种实施场景中,第一转换模块41,用于:
通过所述读取插件读取所述源数据库中的待传输数据;
根据所述源数据库的字段类型与中间数据格式的对应关系,将所述待传输数据中第一表格的第一字段的数据转换成所述第一字段对应的中间数据格式的数据,其中,所述第一表格是所述待传输数据中任意一个待传输的表格,所述第一字段是所述第一表格中任意一个待传输字段。
在一种实施场景中,获取模块,还用于在通过数据隧道将所述中间数据格式的数据发送给写入插件之前,获取所述目标数据库的类型;则
确定模块,还用于根据所述目标数据库的类型,确定出与所述目标数据库的类型对应的写入插件,其中,所述写入插件中包括所述目标数据库的字段类型与中间数据格式的对应关系;或者
根据所述目标数据库的类型,确定所述写入插件中所述目标数据库的字段类型与中间数据格式的对应关系。
在一种实施场景中,第二转换模块43,用于:
根据所述目标数据库的字段类型与中间数据格式的对应关系,通过所述写入插件将所述写入插件接收到的所述第一字段对应的中间数据格式的数据转换成所述第一字段对应的目标数据格式的数据,并写入所述第一表格在所述目标数据库对应的表格中所述第一字段对应的字段。
在一种实施场景中,发送模块42,用于:
当通过所述读取插件读取并转换的待传输数据的数量不小于第一预设阈值时,通过所述数据隧道将所述中间数据格式的数据发送给所述写入插件。
在一种实施场景中,第二转换模块43,用于:
当所述写入插件转换的中间数据格式的数据的数量不小于第二预设阈值时,通过所述写入插件将所述中间数据格式的数据转换成目标数据格式的数据并写入所述目标数据库。
在一种实施场景中,第一转换模块41,用于:
通过所述读取插件读取所述源数据库中的待传输数据;
将所述待传输数据按照表格划分为多个传输任务读取并转换为对应的中间数据格式的数据;或者
将所述待传输数据中一个表格的待传输数据划分为多个传输任务读取并转换为对应的中间数据格式的数据。
在一种实施场景中,发送模块42,用于:
将每个所述传输任务读取并转换的中间数据格式的数据通过所述传输任务对应的数据隧道发送给所述写入插件。
在一种实施场景中,第二转换模块43,用于:
通过所述写入插件将所述写入插件接收到的所述中间数据格式的数据按照所述传输任务分别转换成目标数据格式的数据并写入所述目标数据库。
在一种实施场景中,所述装置还包括:
重新执行模块,用于在将所述多个传输任务中的第一传输任务读取并转换为对应的中间数据格式的数据时读取失败,则在所述第一传输任务中对所述第一传输任务所需要读取的待传输数据进行重新读取并转换为对应的中间数据格式的数据。
在一种实施场景中,重新执行模块,还用于:
在将第一传输任务读取并转换的中间数据格式的数据通过所述第一传输任务对应的数据隧道发送给所述写入插件时发送失败,则在所述第一传输任务中重新将所述第一传输任务读取并转换的中间数据格式的数据通过所述传输任务对应的数据隧道发送给所述写入插件。
在一种实施场景中,重新执行模块,还用于:
若在通过所述写入插件将所述写入插件接收到的将第一传输任务读取并转换的中间数据格式的数据转换成目标数据格式的数据并写入所述目标数据库时写入失败,则在所述第一传输任务中通过所述写入插件将所述转换成的目标数据格式的数据重新写入所述目标数据库。
在本申请实施例中,通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据,然后通过数据隧道将所述中间数据格式的数据发送给写入插件,最终通过所述写入插件将所述中间数据格式的数据转换成目标数据格式的数据并写入目标数据库,能够实现不同数据库间的数据传输,便可解决现有技术中不同的数据库之间进行数据传输时,存在的不便利的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (16)
1.一种数据库数据传输方法,其特征在于,所述方法包括:
通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据;
通过数据隧道将所述中间数据格式的数据发送给写入插件;
通过所述写入插件将所述写入插件接收到的所述中间数据格式的数据转换成目标数据格式的数据并写入目标数据库,
其中,通过数据隧道将所述中间数据格式的数据发送给写入插件,包括:当通过所述读取插件读取并转换的待传输数据的数量不小于第一预设阈值时,通过所述数据隧道将所述中间数据格式的数据发送给所述写入插件;
其中,通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据之前,所述方法还包括:获取所述源数据库的类型;则根据所述源数据库的类型,确定出与所述源数据库的类型对应的读取插件,其中,所述读取插件中包括所述源数据库的字段类型与中间数据格式的对应关系;或者根据所述源数据库的类型,确定所述读取插件中所述源数据库的字段类型与中间数据格式的对应关系;
其中,通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据,包括:通过所述读取插件读取所述源数据库中的待传输数据;根据所述源数据库的字段类型与中间数据格式的对应关系,将所述待传输数据中第一表格的第一字段的数据转换成所述第一字段对应的中间数据格式的数据,其中,所述第一表格是所述待传输数据中任意一个待传输的表格,所述第一字段是所述第一表格中任意一个待传输字段;
其中,通过数据隧道将所述中间数据格式的数据发送给写入插件之前,所述方法还包括:获取所述目标数据库的类型;则根据所述目标数据库的类型,确定出与所述目标数据库的类型对应的写入插件,其中,所述写入插件中包括所述目标数据库的字段类型与中间数据格式的对应关系;或者根据所述目标数据库的类型,确定所述写入插件中所述目标数据库的字段类型与中间数据格式的对应关系;
其中,通过所述写入插件将所述写入插件接收到的所述中间数据格式的数据转换成目标数据格式的数据并写入目标数据库,包括:根据所述目标数据库的字段类型与中间数据格式的对应关系,通过所述写入插件将所述写入插件接收到的所述第一字段对应的中间数据格式的数据转换成所述第一字段对应的目标数据格式的数据,并写入所述第一表格在所述目标数据库对应的表格中所述第一字段对应的字段。
2.如权利要求1所述的方法,其特征在于,通过所述写入插件将所述中间数据格式的数据转换成目标数据格式的数据并写入目标数据库,包括:
当所述写入插件转换的中间数据格式的数据的数量不小于第二预设阈值时,通过所述写入插件将所述中间数据格式的数据转换成目标数据格式的数据并写入所述目标数据库。
3.如权利要求1所述的方法,其特征在于,通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据,包括:
通过所述读取插件读取所述源数据库中的待传输数据;
将所述待传输数据按照表格划分为多个传输任务读取并转换为对应的中间数据格式的数据;或者
将所述待传输数据中一个表格的待传输数据划分为多个传输任务读取并转换为对应的中间数据格式的数据。
4.如权利要求3所述的方法,其特征在于,通过数据隧道将所述中间数据格式的数据发送给写入插件,包括:
将每个所述传输任务读取并转换的中间数据格式的数据通过所述传输任务对应的数据隧道发送给所述写入插件。
5.如权利要求3或4所述的方法,其特征在于,通过所述写入插件将所述写入插件接收到的所述中间数据格式的数据转换成目标数据格式的数据并写入目标数据库,包括:
通过所述写入插件将所述写入插件接收到的所述中间数据格式的数据按照所述传输任务分别转换成目标数据格式的数据并写入所述目标数据库。
6.如权利要求3所述的方法,其特征在于,所述方法还包括:
若在将所述多个传输任务中的第一传输任务读取并转换为对应的中间数据格式的数据时读取失败,则在所述第一传输任务中对所述第一传输任务所需要读取的待传输数据进行重新读取并转换为对应的中间数据格式的数据。
7.如权利要求4所述的方法,其特征在于,所述方法还包括:
若在将第一传输任务读取并转换的中间数据格式的数据通过所述第一传输任务对应的数据隧道发送给所述写入插件时发送失败,则在所述第一传输任务中重新将所述第一传输任务读取并转换的中间数据格式的数据通过所述传输任务对应的数据隧道发送给所述写入插件。
8.如权利要求5所述的方法,其特征在于,所述方法还包括:
若在通过所述写入插件将所述写入插件接收到的将第一传输任务读取并转换的中间数据格式的数据转换成目标数据格式的数据并写入所述目标数据库时写入失败,则在所述第一传输任务中通过所述写入插件将所述转换成的目标数据格式的数据重新写入所述目标数据库。
9.一种数据库数据传输装置,其特征在于,所述装置包括:
第一转换模块,用于通过读取插件读取源数据库中的待传输数据并转换成中间数据格式的数据;
发送模块,用于通过数据隧道将所述中间数据格式的数据发送给写入插件;
第二转换模块,用于通过所述写入插件将所述写入插件接收到的所述中间数据格式的数据转换成目标数据格式的数据并写入目标数据库,
其中,所述发送模块还用于:当通过所述读取插件读取并转换的待传输数据的数量不小于第一预设阈值时,通过所述数据隧道将所述中间数据格式的数据发送给所述写入插件;
其中,所述装置还包括:获取模块和确定模块;
所述获取模块,用于在通过所述读取插件读取所述源数据库中的待传输数据并转换成所述中间数据格式的数据之前,获取所述源数据库的类型;
所述确定模块,用于根据所述源数据库的类型,确定出与所述源数据库的类型对应的读取插件,其中,所述读取插件中包括所述源数据库的字段类型与所述中间数据格式的对应关系;或者根据所述源数据库的类型,确定所述读取插件中所述源数据库的字段类型与所述中间数据格式的对应关系;
其中,所述第一转换模块用于:通过所述读取插件读取所述源数据库中的待传输数据;根据所述源数据库的字段类型与所述中间数据格式的对应关系,将所述待传输数据中第一表格的第一字段的数据转换成所述第一字段对应的所述中间数据格式的数据,其中,所述第一表格是所述待传输数据中任意一个待传输的表格,所述第一字段是所述第一表格中任意一个待传输字段;
所述获取模块,还用于在通过所述数据隧道将所述中间数据格式的数据发送给所述写入插件之前,获取所述目标数据库的类型;
所述确定模块,还用于根据所述目标数据库的类型,确定出与所述目标数据库的类型对应的所述写入插件,其中,所述写入插件中包括所述目标数据库的字段类型与所述中间数据格式的对应关系;或者根据所述目标数据库的类型,确定所述写入插件中所述目标数据库的字段类型与所述中间数据格式的对应关系;
其中,所述第二转换模块用于:根据所述目标数据库的字段类型与所述中间数据格式的对应关系,通过所述写入插件将所述写入插件接收到的所述第一字段对应的中间数据格式的数据转换成所述第一字段对应的所述目标数据格式的数据,并写入所述第一表格在所述目标数据库对应的表格中所述第一字段对应的字段。
10.如权利要求9所述的装置,其特征在于,第二转换模块,用于:
当所述写入插件转换的中间数据格式的数据的数量不小于第二预设阈值时,通过所述写入插件将所述中间数据格式的数据转换成目标数据格式的数据并写入所述目标数据库。
11.如权利要求9所述的装置,其特征在于,第一转换模块,用于:
通过所述读取插件读取所述源数据库中的待传输数据;
将所述待传输数据按照表格划分为多个传输任务读取并转换为对应的中间数据格式的数据;或者
将所述待传输数据中一个表格的待传输数据划分为多个传输任务读取并转换为对应的中间数据格式的数据。
12.如权利要求11所述的装置,其特征在于,发送模块,用于:
将每个所述传输任务读取并转换的中间数据格式的数据通过所述传输任务对应的数据隧道发送给所述写入插件。
13.如权利要求11或12所述的装置,其特征在于,第二转换模块,用于:
通过所述写入插件将所述写入插件接收到的所述中间数据格式的数据按照所述传输任务分别转换成目标数据格式的数据并写入所述目标数据库。
14.如权利要求11所述的装置,其特征在于,所述装置还包括:
重新执行模块,用于在将所述多个传输任务中的第一传输任务读取并转换为对应的中间数据格式的数据时读取失败,则在所述第一传输任务中对所述第一传输任务所需要读取的待传输数据进行重新读取并转换为对应的中间数据格式的数据。
15.如权利要求12所述的装置,其特征在于,重新执行模块,还用于:
在将第一传输任务读取并转换的中间数据格式的数据通过所述第一传输任务对应的数据隧道发送给所述写入插件时发送失败,则在所述第一传输任务中重新将所述第一传输任务读取并转换的中间数据格式的数据通过所述传输任务对应的数据隧道发送给所述写入插件。
16.如权利要求13所述的装置,其特征在于,重新执行模块,还用于:
若在通过所述写入插件将所述写入插件接收到的将第一传输任务读取并转换的中间数据格式的数据转换成目标数据格式的数据并写入所述目标数据库时写入失败,则在所述第一传输任务中通过所述写入插件将所述转换成的目标数据格式的数据重新写入所述目标数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611235732.4A CN106649788B (zh) | 2016-12-28 | 2016-12-28 | 一种数据库数据传输方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611235732.4A CN106649788B (zh) | 2016-12-28 | 2016-12-28 | 一种数据库数据传输方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106649788A CN106649788A (zh) | 2017-05-10 |
CN106649788B true CN106649788B (zh) | 2020-12-08 |
Family
ID=58833091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611235732.4A Active CN106649788B (zh) | 2016-12-28 | 2016-12-28 | 一种数据库数据传输方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106649788B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408506B (zh) * | 2018-09-05 | 2020-12-11 | 天津字节跳动科技有限公司 | 表格数据处理方法和装置 |
CN109492038B (zh) * | 2018-11-02 | 2021-08-03 | 鲁班(北京)电子商务科技有限公司 | 一种基于微内核和异步队列的异构系统间数据发布系统 |
CN110334141B (zh) * | 2019-05-30 | 2023-11-21 | 平安科技(深圳)有限公司 | 数据转换的方法、装置、计算机设备和存储介质 |
CN110300188B (zh) * | 2019-07-25 | 2022-03-22 | 中国工商银行股份有限公司 | 数据传输系统、方法和设备 |
CN110555073A (zh) * | 2019-09-10 | 2019-12-10 | 政采云有限公司 | 一种数据处理方法、装置及电子设备和存储介质 |
CN110737710A (zh) * | 2019-10-14 | 2020-01-31 | 神州数码融信软件有限公司 | 分布式数据自动结构化入库方法及系统 |
CN111159264A (zh) * | 2019-11-28 | 2020-05-15 | 京东数字科技控股有限公司 | 一种数据处理方法及装置 |
CN111026735B (zh) * | 2019-12-10 | 2023-03-21 | 腾讯科技(深圳)有限公司 | 一种数据传输方法、装置、设备及介质 |
CN111241182A (zh) * | 2020-01-19 | 2020-06-05 | 北京奇艺世纪科技有限公司 | 数据处理方法和装置、存储介质和电子装置 |
CN111506642A (zh) * | 2020-06-12 | 2020-08-07 | 夸克云智科技(深圳)有限公司 | 一种基于基础数据类型的数据转换方法 |
CN113411271A (zh) * | 2021-06-16 | 2021-09-17 | 阿波罗智联(北京)科技有限公司 | 数据接入方法、装置、设备以及存储介质 |
CN114896204A (zh) * | 2022-04-19 | 2022-08-12 | 北京月新时代科技股份有限公司 | 一种跨软件数据传输方法及系统 |
CN115988076B (zh) * | 2022-12-02 | 2023-10-13 | 广州通则康威智能科技有限公司 | 一种设备数据的传输方法及系统 |
CN116628066B (zh) * | 2023-07-20 | 2024-01-09 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5710917A (en) * | 1995-06-07 | 1998-01-20 | International Business Machines Corporation | Method for deriving data mappings and data aliases |
CN102521318A (zh) * | 2011-12-02 | 2012-06-27 | 华侨大学 | 基于xml的通用数据交换装置 |
CN102999537A (zh) * | 2011-09-19 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种数据迁移系统和方法 |
CN103810275A (zh) * | 2014-02-13 | 2014-05-21 | 清华大学 | 用于非关系与关系型数据库间数据交互的方法和装置 |
CN105373599A (zh) * | 2015-10-28 | 2016-03-02 | 北京汇商融通信息技术有限公司 | 基于多种数据存储平台的数据迁移系统 |
-
2016
- 2016-12-28 CN CN201611235732.4A patent/CN106649788B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5710917A (en) * | 1995-06-07 | 1998-01-20 | International Business Machines Corporation | Method for deriving data mappings and data aliases |
CN102999537A (zh) * | 2011-09-19 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种数据迁移系统和方法 |
CN102521318A (zh) * | 2011-12-02 | 2012-06-27 | 华侨大学 | 基于xml的通用数据交换装置 |
CN103810275A (zh) * | 2014-02-13 | 2014-05-21 | 清华大学 | 用于非关系与关系型数据库间数据交互的方法和装置 |
CN105373599A (zh) * | 2015-10-28 | 2016-03-02 | 北京汇商融通信息技术有限公司 | 基于多种数据存储平台的数据迁移系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106649788A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106649788B (zh) | 一种数据库数据传输方法与装置 | |
CN106202235B (zh) | 一种数据处理方法及装置 | |
US20170091041A1 (en) | Method and apparatus for transferring data between databases | |
CN110362547B (zh) | 日志文件的编码、解析、存储方法和装置 | |
CN106951231B (zh) | 一种计算机软件开发方法及装置 | |
CN112487083B (zh) | 一种数据校验方法和设备 | |
CN110798490B (zh) | 基于数据中台接入第三方系统的方法、装置及数据中台 | |
WO2017097159A1 (zh) | 一种随机字符串生成方法及装置 | |
CN106547658B (zh) | 一种自动化测试方法及装置 | |
CN110955714A (zh) | 一种将非结构化文本转化为结构化文本的方法及装置 | |
CN115599764A (zh) | 一种表格数据的迁移方法、设备及介质 | |
CN108241676A (zh) | 实现数据同步的方法及设备 | |
CN113253999B (zh) | 插件化数据接入方法、数据源管理系统及接口接入方法 | |
CN111078213B (zh) | 一种代码生成方法及代码生成装置 | |
CN110889272A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN105447040B (zh) | 二进制文件管理、更新方法、装置以及系统 | |
CN105867886B (zh) | 一种写表格的方法及装置 | |
CN110825764A (zh) | 一种sql脚本的生成方法、系统、存储介质和处理器 | |
CN106874181B (zh) | 一种接口转换的验证方法和装置 | |
CN107301097B (zh) | 一种调用java对象、java对象的引用地址信息的存储方法及装置 | |
WO2017076244A1 (zh) | 一种动态修复应用程序的方法、装置及相关系统 | |
CN110019497B (zh) | 一种数据读取方法及装置 | |
CN110554867B (zh) | 一种应用程序的处理方法和装置 | |
CN113836169A (zh) | 一种基于Clickhouse的数据处理方法、设备及介质 | |
CN112699129A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 Guangdong city of Shenzhen province Qianhai Shenzhen Hong Kong cooperation zone before Bay Road No. 1 building 201 room A (located in Shenzhen Qianhai business secretary Co. Ltd.) Applicant after: Shenzhen qirunde Technology Co., Ltd Address before: 518000 Guangdong city of Shenzhen province Luohu District people's road building Yongtong 1214-1217 Applicant before: SHENZHEN QIRUNDE MANAGEMENT CONSULTING Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |