CN102999537A - 一种数据迁移***和方法 - Google Patents
一种数据迁移***和方法 Download PDFInfo
- Publication number
- CN102999537A CN102999537A CN2011102787840A CN201110278784A CN102999537A CN 102999537 A CN102999537 A CN 102999537A CN 2011102787840 A CN2011102787840 A CN 2011102787840A CN 201110278784 A CN201110278784 A CN 201110278784A CN 102999537 A CN102999537 A CN 102999537A
- Authority
- CN
- China
- Prior art keywords
- data
- plug
- unit
- reading
- information
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据迁移***和方法,其中的***具体包括:配置读取模块,用于读取数据迁移任务的配置文件,所述配置文件中包括有数据读取信息和数据写入信息;读取模块,用于依据所述配置文件中的数据读取信息,进行数据的读取,并在将读取的数据转换为中间格式后,写入数据交换缓冲模块;数据交换缓冲模块,用于临时存储写入的中间格式的数据;及写入模块,用于从所述数据交换缓冲模块中读取所述中间格式的数据,并在依据所述配置文件中的数据写入信息将所述中间格式的数据转换为目标格式后,写入目标地址。本申请能够提高数据迁移的性能,降低数据迁移所花费的运维成本和开发成本。
Description
技术领域
本申请涉及计算机***数据处理技术领域,特别是涉及一种数据迁移***和方法。
背景技术
目前,随着网络技术的发展和信息量的增加,网络上形成了数量巨大的分布的异构信息源。各企事业内部由于地理位置的不同或新需求的增加也形成了一个分布式的、异构的且数量巨大的数据集合。异构的数据源出现的一个很重要的原因是由于多种商业数据库的同时存在。
异构数据源形式多样,从结构上来区分,其不仅可以包括数据库(如关系数据库)中结构化数据,而且还可以包括文件***中非结构化的数据,如一般的文本文件、电子邮件、演示文稿和各种文档等。这些数据源往往分布在地理位置上,数据格式和代码不同一,这些都直接推动了对异构数据源的数据共享和透明访问的需求的产生。因此,如何将数据在这些异构数据源之间进行迁移,从而维持一个一致、完整的全局模式,具有重要的意义。
在现有技术中,常用的数据迁移方法主要采用导出/导入方式。假设欲将数据从Oracle数据库迁移至HDFS(分布式文件***,Hadoop DistributedFile System)***,则现有技术首先采用Oracle的数据导出命令或工具将源数据导出为文件,然后利用工具将文件格式、编码进行转化后拷贝到HDFS***中。现有技术具有如下缺点:
1、数据的导出和转码过程都需要磁盘转储,由于磁盘转储需要大量的磁盘I/O(输入/输出,input/output),而磁盘是慢速设备,这就导致数据迁移的流程比较长,数据迁移的性能低下;另外,在长的数据迁移流程中,用户不仅需要自己衔接上下游过程,对每个过程进行监控,而且还要监控磁盘空间,这大大提高了运维成本;
2、虽然,目前成熟的数据导入导出工具比较多,但是一般都只能支持一个或者几个特定类型的数据库;一旦拥有很多异构数据源,如Mysql、Oracle、Rac、Hive等数据库/文件***,并且需要经常在这些异构数据源之间导入导出数据,那么需要开发/维护/学习使用一批这样的工具,并且随着数据源类型的增加,需要的导入导出工具数目会呈线性增长趋势,而导入导出工具的开发会花费大量的开发成本。
发明内容
本申请所要解决的技术问题是,提供一种数据迁移***和方法,以提高数据迁移的性能,降低数据迁移所花费的运维成本和开发成本。
为了解决上述问题,本申请公开了一种数据迁移***,包括:
配置读取模块,用于读取数据迁移任务的配置文件,所述配置文件中包括有数据读取信息和数据写入信息;
读取模块,用于依据所述配置文件中的数据读取信息,进行数据的读取,并在将读取的数据转换为中间格式后,写入数据交换缓冲模块;
数据交换缓冲模块,用于临时存储写入的中间格式的数据;及
写入模块,用于从所述数据交换缓冲模块中读取所述中间格式的数据,并在依据所述配置文件中的数据写入信息将所述中间格式的数据转换为目标格式后,写入目标地址。
另一方面,本申请还公开了一种数据迁移方法,包括:
读取数据迁移任务的配置文件,所述配置文件中包括有数据读取信息和数据写入信息;
依据所述配置文件中的数据读取信息,进行数据的读取;
将读取的数据转换为中间格式,并写入数据交换缓冲模块,其中,所述数据交换缓冲模块用于临时存储写入的中间格式的数据;
从所述数据交换缓冲模块中读取所述中间格式的数据;
依据所述配置文件中的数据写入信息将所述中间格式的数据转换为目标格式,并写入目标地址。
优选的,所述方法还包括:
依据所述配置文件中的数据读取信息,装载相应的读取插件和数据交换缓冲插件,并向所述读取插件提供相应的运行环境,由所述读取插件依据所述配置文件中的数据读取信息,进行数据的读取,并在将读取的数据转换为中间格式后写入数据交换缓冲插件,由所述数据交换缓冲插件临时存储读取插件写入的中间格式的数据;
依据所述配置文件中的数据写入信息,装载相应的写入插件,并向所述写入插件提供相应的运行环境,由所述写入插件从所述数据交换缓冲插件中读取所述中间格式的数据,并在依据所述配置文件中的数据写入信息将所述中间格式的数据转换为目标格式后,写入目标地址。
优选的,所述方法还包括:
在进行数据的读取前,将一个数据迁移任务分解成多个读取子任务;
所述依据所述配置文件中的数据读取信息,进行数据的读取的步骤为,在多线程池的读取运行环境下,进行所述多个读取子任务的读取
优选的,所述方法还包括:
在所述写入模块将目标格式的数据写入目标地址前,将一个数据迁移任务分解成多个写入子任务;
所述写入目标地址的步骤为,在所述多线程池的写入运行环境下,将与所述多个写入子任务相应的目标格式的数据写入目标地址。
优选的,所述数据交换缓冲模块为基于双缓冲队列的内存缓冲区。
优选的,所述方法还包括:
在所述读取模块和/或数据交换缓冲模块和/或写入模块的运行过程中,监控相应的运行参数,所述运行参数包括读取和/或临时存储和/或写入数据的行数和/或字节数。
优选的,所述数据读取信息包括如下信息中的一种或多种:源数据库的IP地址、端口号、库名、登录用户名、登录密码、数据库表名、过滤条件;
所述数据写入信息包括如下信息中的一种或多种:数据写入路径、数据目标格式。
优选的,所述配置文件为可扩展标记语言文件,所述可扩展标记语言文件的命名规则为源表名_目的表名_源数据库类型_目的数据库类型.xml。
优选的,所述方法还包括:
存放插件的插件描述文件;
依据所述插件描述文件中存储的装载插件所需信息,对相应的插件进行注册,并存储相应的插件注册信息;
所述装载相应的读取插件和数据交换缓冲插件的步骤,包括:
将所述配置文件中的数据读取信息,与所述插件注册模块中存储的插件注册信息进行匹配,如果匹配成功,则装载与所述插件注册信息相应的插件,所述装载过程包括:依据所述插件描述文件生成相应的插件实例,并根据所述插件实例进行插件的初始化;
所述装载相应的写入插件的步骤,包括:
将所述配置文件中的数据写入信息,与所述插件注册模块中存储的插件注册信息进行匹配,如果匹配成功,则装载与所述插件注册信息相应的插件,所述装载过程包括:依据所述插件描述文件生成相应的插件实例,并根据所述插件实例进行插件的初始化。
与现有技术相比,本申请具有以下优点:
首先,本申请依据配置文件进行数据迁移,并且,在数据迁移过程中,利用数据交换缓冲模块临时存储从源地址读取的数据,由于数据交换缓冲模块中的数据立即被取走并写入至目标地址,故整个数据迁移过程无需磁盘中转。因此,相对于现有技术,能够缩短数据迁移的流程,提高数据迁移的性能;另外,在数据迁移流程中,用户无需监控磁盘空间,故也可以减少运维成本。
其次,无论数据的源格式如何,本申请都会将读取的数据转换为预先规定的、写入模块能够识别的中间格式,并进行临时存储,从而能够实现对数据的通用缓冲管理,以便写入模块能够依据数据写入信息将该中间格式的数据转换为目标格式,并写入目标地址;所述中间格式使得读取模块和写入模块的功能独立,这样,读取模块和写入模块的开发能够单独进行,既能够快速支持新的异构数据源,又能够降低开发难度和开发成本。
再者,本申请还可以采用线程池进行所述多个读取子任务的读取,和/或,多个写入子任务的写入,而任意两个读取/写入子任务之间互不影响,因此能够实现并行读取和/或并行写入,从而能够大大缩短数据迁移流程,同时进一步提高数据迁移性能。
进一步,相对于现有技术,在长的数据迁移流程中,用户不仅需要自己衔接上下游过程,对每个过程进行监控,而且还要监控磁盘空间;本申请会在短的数据迁移流程中自动为用户呈现数据迁移的运行参数,例如,当前读取了多少字节数,临时存储了多少字节数,写入了多少字节数,所述呈现使得用户对数据迁移流程一目了然。
最后,本申请可以采用框架+插件的结构开发数据迁移***,作为***的框架,插件式数据迁移平台相当于一个数据中转平台,而插件则为访问不同类型的数据源(数据库/文件***)提供实现,支持以插件的形式开发每个数据源的访问功能;这样,用户可以很方便的往插件式数据迁移平台增加新的插件,使插件式数据迁移平台快速支持新的数据库或者文件***,增强***的灵活性和扩展性;同时,相对于现有技术,为了访问一个新的数据源,需要大量的人力开发和测试,才能开发一套导入导出工具,而本申请的插件只需较小的工作量和开发成本,因此能够大大降低开发成本。
附图说明
图1是本申请一种数据迁移***实施例1的结构图;
图2是本申请一种企业中数据迁移的示意图;
图3是本申请一种数据迁移***实施例2的结构图;
图4是本申请一种数据迁移方法实施例1的流程图;
图5是本申请一种数据迁移方法实施例2的流程图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例的核心构思之一在于,依据配置文件进行数据迁移,并且,在数据迁移过程中,利用数据交换缓冲模块临时存储从源地址读取的数据,由于数据交换缓冲模块中的数据立即被取走并写入至目标地址,故整个数据迁移过程无需磁盘中转。因此,相对于现有技术,能够缩短数据迁移的流程,提高数据迁移的性能;另外,在数据迁移流程中,用户无需监控磁盘空间,故也可以减少运维成本。
参照图1,其示出了本申请一种数据迁移***实施例1的结构图,具体可以包括:
配置读取模块101,用于读取数据迁移任务的配置文件,所述配置文件中可以包括有数据读取信息和数据写入信息;
读取模块102,用于依据所述配置文件中的数据读取信息,进行数据的读取,并在将读取的数据转换为中间格式后,写入数据交换缓冲模块;
数据交换缓冲模块103,用于临时存储写入的中间格式的数据;及
写入模块104,用于从所述数据交换缓冲模块中读取所述中间格式的数据,并依据所述配置文件中的数据写入信息,将所述中间格式的数据转换为目标格式后,写入目标地址。
本申请可以适用于任意数据库之间、任意文件***之间或者任意数据库和文件***之间的数据迁移。
在实际中,本申请可以应用在企业仓库领域、电子商务数据仓库、企业信息集成等领域。参照图2,其示出了本申请一种企业中数据迁移的示意图,由于企业数据仓库用于支撑企业的运营和决策,因而需要企业中各个部门的数据,而各个部门的业务***由于建设时间不同,决策者不同,往往采用了不同的***和数据库,如财务***采用DB2数据库,人力资源***采用Oracle数据库,销售***采用MS SQL server数据库,CRM(客户关系管理***,Customer Relationship Management)采用HTTP(超文本传输,HyperTextTransfer Protocol)接口的数据库,物流***采用MySQL数据库,等等。因此,这时可以采用本申请将数据从企业业务***导入到企业数据仓库中。另外,企业数据仓库的数据经过ETL(数据提取、转换和加载,Extraction-Transformation-Loading)过程后,形成了分析型的结果数据,还需要将这些结果数据导出到企业业务***、采用Oracel数据库的MSTR(MicroStrategy)报表***或采用MySQL的自建报表***,或者可视化引擎中形成图表等图形表现形式,供企业经营决策者使用。
每一次数据迁移都可以当作一个数据迁移任务,这样,本申请的数据迁移任务具体可以包括在异构数据库之间或者异构文件***之间或者异构数据库和文件***之间进行数据迁移的任务。本申请对具体的数据迁移任务不加以限制。
关于配置文件
本申请实施例采用配置文件来描述每个数据迁移任务的信息。在实际应用中可由一专门的配置模块,依据用户配置生成数据迁移任务的配置文件。在本申请实施例中,优选的是,所述配置文件可以为XML(可扩展标记语言文件,Extensible Markup Language)格式,所述可扩展标记语言文件的命名规则可以为:源表名_目的表名_源数据库类型_目的数据库类型.xml。
下面以MySQL->HDFS的数据迁移(“->”表示迁移方向)为例,说明配置文件中应该描述数据迁移任务的信息。
首先,由于要从mysql数据库读取数据,故需要了解源数据库的ip地址、端口、用户名、密码等数据读取信息,并将这些信息存放在每个数据迁移任务的XML文件中;
其次,由于要将数据写入至HDFS***,故还需要了解数据写入路径、数据目标格式等数据写入信息,并将这些信息存放在每个数据迁移任务的XML文件中。
因此,在本申请的一种优选实施例中,所述数据读取信息具体可以包括如下信息中的一种或多种:源数据库的IP地址、端口号、库名、登录用户名、登录密码、数据库表名、过滤条件;所述过滤条件可以是在where条件中过滤所需的记录,或者指定拖表所需要的列等等,本申请对具体的过滤条件不加以限制。
所述数据写入信息具体可以包括如下信息中的一种或多种:数据写入路径、数据目标格式。
为了方便用户生成数据迁移任务的配置文件,可通过命令行配置向导生成基本的配置文件。必要时,如果还需深入定制,可以在生成的XML文件基础上进行再次修改。
在本申请的一种优选实施例中,针对mysql分库分表较多的情况,可以使用变量达到同一模版支持多个数据迁移任务的目的。具体可以通过如下示例来说明:
假设需要同步uic中bmw_users这表,而该表的数据量比较大,因此分散在16个库、1024张表中:
uic_main_0000bmw_users_[0000-0063]
uic_main_0001bmw_users_[0064-0127]
uic_main_0002bmw_users_[0128-0191]
uic_main_0003bmw_users_[0192-0255]
uic_main_0004bmw_users_[0256-0319]
uic_main_0005bmw_users_[0320-0383]
uic_main_0006bmw_users_[0384-0447]
uic_main_0007bmw_users_[0448-0511]
uic_main_0008bmw_users_[0512-0575]
uic_main_0009bmw_users_[0576-0639]
uic_main_0010bmw_users_[0640-0703]
uic_main_0011bmw_users_[0704-0767]
uic_main_0012bmw_users_[0768-0831]
uic_main_0013bmw_users_[0832-0895]
uic_main_0014bmw_users_[0896-0959]
uic_main_0015bmw_users_[0960-1023]
对于这类表,本优选实施例通常将变化的参数,比如库名和/或表名等作为变量保存在一个通用的配置文件中,然后在运行时,通过定义不同的参数值从而达到一个xml文件多表使用的目的。
对应上例,在生成配置文件的过程中,可以将Dtable_name作为表名的变量,将Ddbname作为库名的变量,然后,在运行时为该变量赋值,一种赋值示例如下:
/home/taobao/datax/bin/datax.py-p″-Dtable_name=bmw_users_[0512-0575]-Ddbname=uic_main_0008″job.xml
上述示例定位了uic_main_0008bmw_users_[0512-0575]这个数据库和数据表作为数据的源地址。
关于中间格式
无论数据的源格式如何,本申请都会将读取的数据转换为预先规定的、写入模块能够识别的中间格式,并写入数据交换缓冲模块,从而能够实现对数据的通用缓冲管理,以便写入模块能够依据数据写入信息将该中间格式的数据转换为目标格式,并写入目标地址。所述中间格式使得读取模块和写入模块的功能相对独立,使得读取模块和写入模块的开发能够单独进行,这既能够快速支持新的异构数据源,又能够降低开发难度和开发成本。
在具体实现中,可以预先规定数组格式,或者Java中Map类格式的中间格式。其中,Map类以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象。
Map类的接口具体可以包括:
Map---实现Map
Map.Entry--Map的内部类,描述Map中的按键/数值对。
SortedMap---扩展Map,使按键保持升序排列
当然除了数组格式、Java中Map类格式外,所述中间格式还可以其其它格式,本申请对具体的中间格式不加以限制。
关于数据交换缓冲模块103
在本申请的一种优选实施例中,所述数据交换缓冲模块103可以为基于双缓冲队列的内存缓冲区。
统队列是读取线程和写入线程从同一个队列中存取数据,必然需要互斥访问,在互相同步等待中浪费了宝贵的时间,使队列吞吐量受影响。而双缓冲队使用两个队列,将读写分离,一个队列专门用来读,另一个专门用来写,当读队列空或写队列满时,将两个队列互换。这里为了保证队列的读写顺序,当读队列为空且写队列不为空的时候才允许两个队列互换。
在本申请的又一种优选实施例中,所述***还可以包括:
读取分解模块,用于在所述读取模块进行数据的读取前,将一个数据迁移任务分解成多个读取子任务;
所述读取模块,具体用于在多线程池的读取运行环境下,进行所述多个读取子任务的读取。
例如,用户将某张Oracle数据表导入到HDFS文件***,则所述读取分解模块可以将这张表按行切分为N个区间,假设N=100,则可以将所述100个读取子任务放入队列。
又如,如果用户将HDFS文件***的数据导入至某张Oracle数据表,则所述读取分解模块可以对HDFS文件***的文件进行分解,本申请对具体的分解过程不加以限制。
进一步,在多线程池的读取运行环境下,进行所述多个读取子任务的读取,主要具有如下优点:
1.线程的重复利用,一个线程完成一个读取子任务求后,会被重新丢回到该线程池,继续等待处理下一个读取子任务;
2.线程的创建,假如当前的读取子任务多于当前了处理线程,新的读取子任务得不到处理后,线程池会主动创建新的线程处理新的读取子任务;
3.线程的销毁,假如当前的读取子任务比较少,大部分线程处于空闲状态中得不到读取子任务,线程池会主动关闭一些长时间没处理读取子任务的线程,减少资源占用。
在具体实现中,所述多线程池中的线程数目可由用户在配置文字中设置,也可具有默认值,例如,上例中可以设置线程数目为40。
由于采用线程池进行所述多个读取子任务的读取,任意两个读取子任务之间互不影响,因此能够实现读取子任务的并行读取,从而能够大大缩短数据迁移流程,同时进一步提高数据迁移性能。
同理,在本申请的再一种优选实施例中,所述***还可以包括:
写入分解模块,用于在所述写入模块将目标格式的数据写入目标地址前,将一个数据迁移任务分解成多个写入子任务;
所述写入模块,具体用于在所述多线程池的写入运行环境下,将与所述多个写入子任务相应的目标格式的数据写入目标地址。
对于采用线程池进行所述多个写入子任务的写入,由于写入过程与上述读取过程类似,故在此不作赘述,相互参照即可。
由于采用线程池进行所述多个写入子任务的写入,任意两个读取子任务之间互不影响,因此能够实现写入子任务的并行写入,从而能够大大缩短数据迁移流程,同时进一步提高数据迁移性能。
在本申请的再一种优选实施例中,所述***还可以包括:
监控计数模块,用于在所述读取模块和/或数据交换缓冲模块和/或写入模块的运行过程中,监控相应的运行参数,所述运行参数具体可以包括读取和/或临时存储和/或写入数据的行数和/或字节数。
相对于现有技术,在长的数据迁移流程中,用户不仅需要自己衔接上下游过程,对每个过程进行监控,而且还要监控磁盘空间;本申请会在短的数据迁移流程中自动为用户呈现数据迁移的运行参数,例如,当前读取了多少字节数,临时存储了多少字节数,写入了多少字节数,所述呈现使得用户对数据迁移流程一目了然。
参照图3,其示出了本申请一种数据迁移***实施例2的结构图,具体可以包括:
插件式数据迁移平台301,可以进一步包括:
插件装载模块311,用于读取数据迁移任务的配置文件,并依据所述配置文件中的数据读取信息和数据写入信息,装载相应的读取插件、写入插件和数据交换缓冲插件;及
执行引擎模块312,用于为插件提供运行环境;
插件302,可以进一步包括:
读取插件321,用于依据所述配置文件中的数据读取信息,进行数据的读取,并在将读取的数据转换为中间格式后,写入数据交换缓冲插件322;
数据交换缓冲插件322,用于临时存储读取插件写入的中间格式的数据;及
写入插件323,用于从所述数据交换缓冲插件322中读取所述中间格式的数据,并在依据所述配置文件中的数据写入信息,将所述中间格式的数据转换为目标格式后,写入目标地址。
本实施例2与实施例1的区别在于,采用框架+插件的结构开发数据迁移***,作为***的框架,插件式数据迁移平台301相当于一个数据中转平台,而插件302则为访问不同类型的数据源(数据库/文件***)提供实现。
本实施例以插件的形式开发每个数据源的访问功能,具有如下优点:
1、用户可以很方便地往插件式数据迁移平台301增加新的插件,使插件式数据迁移平台301支持新的数据库或者文件***;为了访问一个新的数据源,现有技术需要大量的人力开发和测试,才能开发一套导入导出工具,而本申请的插件只需较小的工作量和开发成本;
2、插件式数据迁移平台301通过封装插件的控制逻辑,将能够执行数据迁移任务的插件组合在一起,能够在受管理插件中建立其协作关系,进而通过插件实现***功能。
关于插件管理
插件管理是插件式数据迁移平台301的核心功能,其主要用于根据插件的描述信息对插件进行统一的管理。管理的主要内容可以包括插件的装载、插件运行环境提供等。
在具体实现中,用户可以根据插件式数据迁移平台301定义的接口,自行开发插件。例如,插件可以实现为一个JAR(Java归档文件,Java Archive)包,用户将此JAR包放入插件式数据迁移平台301定义的plugins(插件)目录下,同时plugins.xml文件中进行注册,就可以使用此插件了。
为了说明插件的装载功能,在本申请的一种优选实施例中,所述插件式数据迁移平台301还可以包括:
插件存放模块,用于存放插件的插件描述文件;
插件注册模块,用于依据所述插件描述文件中存储的装载插件所需信息,对相应的插件进行注册,并存储相应的插件注册信息;
此时,所述插件装载模块311,可以具体用于将所述配置文件中的数据读取信息、数据写入信息,与所述插件注册模块中存储的插件注册信息进行匹配,如果匹配成功,则装载与所述插件注册信息相应的插件。所述装载过程具体可以包括:依据所述插件描述文件生成相应的插件实例,并根据所述插件实例进行插件的初始化。
例如,所述插件描述文件中可以包括基本信息字段plugin、依赖插件信息字段required、功能定义信息字段define和功能实现信息字段implement等,其中,所述基本信息字段plugin存储的信息可以包括插件标识符。
在具体实现中,所述插件标识符可以用数据源类型和相应的功能来表示,例如,插件标识符A_0,A代表Oracle数据库,0代表读取数据,又如,插件标识符F_1,F代表IDFS文件***,0代表写入数据,等等。
在实际中,所述插件的初始化可以进一步包括:读入所述插件描述文件中的数据信息,将相应插件和插件式数据迁移平台301中其它部分连接在一起等等。本申请对具体的插件初始化和插件装载方案不加以限制。
为了说明执行引擎模块312的功能,在本申请的一种优选实施例中,所述插件的功能还可以包括:
读取分解插件,用于在所述读取插件321进行数据的读取前,将一个数据迁移任务分解成多个读取子任务;
此时,所述执行引擎模块312,可以进一步包括:
并发读取环境提供子模块,用于为所述读取插件321提供多线程池的读取运行环境,由所述读取插件321在所述多线程池的读取运行环境下,进行所述多个读取子任务的读取。
同理,在本申请的另一种优选实施例中,所述插件301还可以包括:
写入分解插件,用于在所述写入插件322将目标格式的数据写入目标地址前,将一个数据迁移任务分解成多个写入子任务;
此时,所述执行引擎模块312,可以进一步包括:
并发写入环境提供子模块,用于为所述写入插件322提供多线程池的写入运行环境,由所述写入插件322在所述多线程池的写入运行环境下,将与所述多个写入子任务相应的目标格式的数据并发写入目标地址。
在本申请的再一种优选实施例中,所述插件式数据迁移平台301还可以具有监控计数功能,相应地,其还可以包括:
监控计数模块,用于在所述读取插件321和/或数据交换缓冲插件322和/或写入插件323的运行过程中,监控相应的运行参数,所述运行参数具体可以包括读取和/或临时存储和/或写入数据的行数和/或字节数。
需要说明的是,在具体实现中,还可以将读取插件321中将读取的数据转换为中间格式的功能集成在专门的第一插件中,也可以将写入插件323中依据所述配置文件中的数据写入信息,将所述中间格式的数据转换为目标格式的功能集成在专门的第二插件中;总之,本领域技术人员可以依据不同的功能分配开发不同的插件,本申请对插件的功能分配和开发不加以限制。
另外,还可以在所述插件式数据迁移平台301中设置异常日志模块,用于平台的异常处理和日志记录。其中,所述异常处理可以包括异常对象的定义,也可以包括当异常出现时,根据实际情况封装异常对象产生;所述日志记录可以保存每个数据迁移任务的执行记录,例如,可以保存在平台主目录下的log文件夹下,日志文件可以数据迁移任务的xml配置文件名+″.″+时间戳+″.log″为方式命名。
对于***实施例2而言,由于其与***实施例1基本相似,所以描述的比较简单,相关之处参见***实施例1的部分说明即可。
参照图4,其示出了本申请一种数据迁移方法实施例1的流程图,具体可以包括:
步骤401、读取数据迁移任务的配置文件,所述配置文件中可以包括有数据读取信息和数据写入信息;
步骤402、依据所述配置文件中的数据读取信息,进行数据的读取;
步骤403、将读取的数据转换为中间格式,并写入数据交换缓冲模块,其中,所述数据交换缓冲模块可用于临时存储写入的中间格式的数据;
步骤404、从所述数据交换缓冲模块中读取所述中间格式的数据;
步骤405、依据所述配置文件中的数据写入信息将所述中间格式的数据转换为目标格式,并写入目标地址。
在本申请实施例中,优选的是,所述数据读取信息可以包括如下信息中的一种或多种:源数据库的IP地址、端口号、库名、登录用户名、登录密码、数据库表名、过滤条件;
所述数据写入信息可以包括如下信息中的一种或多种:数据写入路径、数据目标格式。
在本申请实施例中,优选的是,所述配置文件可以为可扩展标记语言文件,所述可扩展标记语言文件的命名规则可以为源表名_目的表名_源数据库类型_目的数据库类型.xml。
在本申请的一种优选实施例中,所述方法还可以包括:
在进行数据的读取前,将一个数据迁移任务分解成多个读取子任务;
此时,所述依据所述配置文件中的数据读取信息,进行数据的读取的步骤可以为,在多线程池的读取运行环境下,进行所述多个读取子任务的读取
在本申请的另一种优选实施例中,所述方法还可以包括:
在所述写入模块将目标格式的数据写入目标地址前,将一个数据迁移任务分解成多个写入子任务;
相应地,所述写入目标地址的步骤为,在所述多线程池的写入运行环境下,将与所述多个写入子任务相应的目标格式的数据写入目标地址。
在本申请实施例中,优选的是,所述中间格式可以包括数组格式,或者Java中Map类格式。
在本申请实施例中,优选的是,所述数据交换缓冲模块为基于双缓冲队列的内存缓冲区。
在本申请的再一种优选实施例中,所述方法还可以包括:
在所述读取模块和/或数据交换缓冲模块和/或写入模块的运行过程中,监控相应的运行参数,所述运行参数可以包括读取和/或临时存储和/或写入数据的行数和/或字节数。
参照图5,其示出了本申请一种数据迁移方法实施例2的流程图,具体可以包括:
步骤501、依据所述配置文件中的数据读取信息,装载相应的读取插件和数据交换缓冲插件,并向所述读取插件提供相应的运行环境,由所述读取插件依据所述配置文件中的数据读取信息,进行数据的读取,并在将读取的数据转换为中间格式后写入数据交换缓冲插件,由所述数据交换缓冲插件临时存储读取插件写入的中间格式的数据;
步骤502、依据所述配置文件中的数据写入信息,装载相应的写入插件,并向所述写入插件提供相应的运行环境,由所述写入插件从所述数据交换缓冲插件中读取所述中间格式的数据,并在依据所述配置文件中的数据写入信息将所述中间格式的数据转换为目标格式后,写入目标地址。
本实施例与实施例1的区别在于,以插件作为访问不同类型的数据源(数据库/文件***)提供实现,也即以插件的形式开发每个数据源的访问功能;因此,本实施例通过封装插件的控制逻辑,将能够执行数据迁移任务的插件组合在一起,能够在受管理插件中建立其协作关系,进而通过插件实现***功能。
在本申请的一种优选实施例中,所述方法还可以包括:
存放插件的插件描述文件;
依据所述插件描述文件中存储的装载插件所需信息,对相应的插件进行注册,并存储相应的插件注册信息;
此时,所述装载相应的读取插件和数据交换缓冲插件的步骤,可以进一步包括:
将所述配置文件中的数据读取信息,与所述插件注册模块中存储的插件注册信息进行匹配,如果匹配成功,则装载与所述插件注册信息相应的插件,所述装载过程可以包括:依据所述插件描述文件生成相应的插件实例,并根据所述插件实例进行插件的初始化;
所述装载相应的写入插件的步骤,可以进一步包括:
将所述配置文件中的数据写入信息,与所述插件注册模块中存储的插件注册信息进行匹配,如果匹配成功,则装载与所述插件注册信息相应的插件,所述装载过程可以包括:依据所述插件描述文件生成相应的插件实例,并根据所述插件实例进行插件的初始化。
为了说明如何向所述读取插件提供相应的运行环境,在本申请的一种优选实施例中,所述插件还可以包括:
读取分解插件,用于在所述读取插件进行数据的读取前,将一个数据迁移任务分解成多个读取子任务;
此时,所述向所述读取插件提供相应的运行环境的步骤,可以包括:
为所述读取插件提供多线程池的读取运行环境,由所述读取插件在所述多线程池的读取运行环境下,进行所述多个读取子任务的读取。
同理,在本申请的另一种优选实施例中,所述插件还可以包括:
写入分解插件,用于在所述写入插件将目标格式的数据写入目标地址前,将一个数据迁移任务分解成多个写入子任务;
此时,所述向所述写入插件提供相应的运行环境的步骤,可以进一步包括:
为所述写入插件提供多线程池的写入运行环境,由所述写入插在所述多线程池的写入运行环境下,将与所述多个写入子任务相应的目标格式的数据并发写入目标地址。
对于方法实施例2而言,由于其与方法实施例1基本相似,所以描述的比较简单,相关之处参见方法实施例1的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本申请所提供的一种数据迁移***和方法,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种数据迁移***,其特征在于,包括:
配置读取模块,用于读取数据迁移任务的配置文件,所述配置文件中包括有数据读取信息和数据写入信息;
读取模块,用于依据所述配置文件中的数据读取信息,进行数据的读取,并在将读取的数据转换为中间格式后,写入数据交换缓冲模块;
数据交换缓冲模块,用于临时存储写入的中间格式的数据;及
写入模块,用于从所述数据交换缓冲模块中读取所述中间格式的数据,并在依据所述配置文件中的数据写入信息将所述中间格式的数据转换为目标格式后,写入目标地址。
2.一种数据迁移方法,其特征在于,包括:
读取数据迁移任务的配置文件,所述配置文件中包括有数据读取信息和数据写入信息;
依据所述配置文件中的数据读取信息,进行数据的读取;
将读取的数据转换为中间格式,并写入数据交换缓冲模块,其中,所述数据交换缓冲模块用于临时存储写入的中间格式的数据;
从所述数据交换缓冲模块中读取所述中间格式的数据;
依据所述配置文件中的数据写入信息将所述中间格式的数据转换为目标格式,并写入目标地址。
3.如权利要求2所述的方法,其特征在于,还包括:
依据所述配置文件中的数据读取信息,装载相应的读取插件和数据交换缓冲插件,并向所述读取插件提供相应的运行环境,由所述读取插件依据所述配置文件中的数据读取信息,进行数据的读取,并在将读取的数据转换为中间格式后写入数据交换缓冲插件,由所述数据交换缓冲插件临时存储读取插件写入的中间格式的数据;
依据所述配置文件中的数据写入信息,装载相应的写入插件,并向所述写入插件提供相应的运行环境,由所述写入插件从所述数据交换缓冲插件中读取所述中间格式的数据,并在依据所述配置文件中的数据写入信息将所述中间格式的数据转换为目标格式后,写入目标地址。
4.如权利要求2所述的方法,其特征在于,还包括:
在进行数据的读取前,将一个数据迁移任务分解成多个读取子任务;
所述依据所述配置文件中的数据读取信息,进行数据的读取的步骤为,在多线程池的读取运行环境下,进行所述多个读取子任务的读取。
5.如权利要求2所述的方法,其特征在于,还包括:
在所述写入模块将目标格式的数据写入目标地址前,将一个数据迁移任务分解成多个写入子任务;
所述写入目标地址的步骤为,在所述多线程池的写入运行环境下,将与所述多个写入子任务相应的目标格式的数据写入目标地址。
6.如权利要求2所述的方法,其特征在于,所述数据交换缓冲模块为基于双缓冲队列的内存缓冲区。
7.如权利要求2所述的方法,其特征在于,还包括:
在所述读取模块和/或数据交换缓冲模块和/或写入模块的运行过程中,监控相应的运行参数,所述运行参数包括读取和/或临时存储和/或写入数据的行数和/或字节数。
8.如权利要求2或3所述的方法,其特征在于,所述数据读取信息包括如下信息中的一种或多种:源数据库的IP地址、端口号、库名、登录用户名、登录密码、数据库表名、过滤条件;
所述数据写入信息包括如下信息中的一种或多种:数据写入路径、数据目标格式。
9.如权利要求2或3所述的方法,其特征在于,所述配置文件为可扩展标记语言文件,所述可扩展标记语言文件的命名规则为源表名目的表名源数据库类型目的数据库类型.xml。
10.如权利要求3所述的方法,其特征在于,还包括:
存放插件的插件描述文件;
依据所述插件描述文件中存储的装载插件所需信息,对相应的插件进行注册,并存储相应的插件注册信息;
所述装载相应的读取插件和数据交换缓冲插件的步骤,包括:
将所述配置文件中的数据读取信息,与所述插件注册模块中存储的插件注册信息进行匹配,如果匹配成功,则装载与所述插件注册信息相应的插件,所述装载过程包括:依据所述插件描述文件生成相应的插件实例,并根据所述插件实例进行插件的初始化;
所述装载相应的写入插件的步骤,包括:
将所述配置文件中的数据写入信息,与所述插件注册模块中存储的插件注册信息进行匹配,如果匹配成功,则装载与所述插件注册信息相应的插件,所述装载过程包括:依据所述插件描述文件生成相应的插件实例,并根据所述插件实例进行插件的初始化。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110278784.0A CN102999537B (zh) | 2011-09-19 | 2011-09-19 | 一种数据迁移***和方法 |
HK13105933.4A HK1178291A1 (zh) | 2011-09-19 | 2013-05-21 | 種數據遷移系統和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110278784.0A CN102999537B (zh) | 2011-09-19 | 2011-09-19 | 一种数据迁移***和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102999537A true CN102999537A (zh) | 2013-03-27 |
CN102999537B CN102999537B (zh) | 2017-01-18 |
Family
ID=47928110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110278784.0A Active CN102999537B (zh) | 2011-09-19 | 2011-09-19 | 一种数据迁移***和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102999537B (zh) |
HK (1) | HK1178291A1 (zh) |
Cited By (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309945A (zh) * | 2013-05-15 | 2013-09-18 | 上海证券交易所 | 一种将数据导入数据库的装置 |
CN103473362A (zh) * | 2013-09-26 | 2013-12-25 | 杭州意能软件有限公司 | 数据迁移的方法、***和接收端口模块 |
CN103718533A (zh) * | 2013-06-29 | 2014-04-09 | 华为技术有限公司 | 一种分区平衡子任务下发方法、装置与*** |
CN103944964A (zh) * | 2014-03-27 | 2014-07-23 | 上海云数信息科技有限公司 | 一种分布式***及根据该***进行逐步扩容的方法 |
CN104360905A (zh) * | 2014-10-29 | 2015-02-18 | 中国建设银行股份有限公司 | 一种应用于it***的自适应控制方法和装置 |
CN104462562A (zh) * | 2014-12-29 | 2015-03-25 | 浪潮软件集团有限公司 | 一种基于数据仓库自动化的数据迁移***及方法 |
CN104462269A (zh) * | 2014-11-24 | 2015-03-25 | 中国联合网络通信集团有限公司 | 一种异构数据库数据交换方法及*** |
CN104539431A (zh) * | 2014-12-31 | 2015-04-22 | 上海格尔软件股份有限公司 | 一种在线用户***切换用户平滑迁移的方法 |
CN104536994A (zh) * | 2014-12-11 | 2015-04-22 | 北京京东尚科信息技术有限公司 | 通用的数据迁移方法和装置 |
CN104598453A (zh) * | 2013-10-31 | 2015-05-06 | ***股份有限公司 | 基于数据缓冲的数据迁移方法 |
CN104699723A (zh) * | 2013-12-10 | 2015-06-10 | 北京神州泰岳软件股份有限公司 | 数据交换适配器、异构***之间数据同步***和方法 |
CN105279280A (zh) * | 2015-11-16 | 2016-01-27 | 天津南大通用数据技术股份有限公司 | 快速迁移Oracle数据到MPP数据库的方法及工具 |
CN105320673A (zh) * | 2014-06-30 | 2016-02-10 | 苏宁云商集团股份有限公司 | 多数据源之间的数据传输方法及其装置 |
CN105335412A (zh) * | 2014-07-31 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 用于数据转换、数据迁移的方法和装置 |
CN105335477A (zh) * | 2015-10-10 | 2016-02-17 | 北京京东尚科信息技术有限公司 | 一种数据库的操作方法及装置 |
CN105373599A (zh) * | 2015-10-28 | 2016-03-02 | 北京汇商融通信息技术有限公司 | 基于多种数据存储平台的数据迁移*** |
CN105653630A (zh) * | 2015-12-25 | 2016-06-08 | 北京奇虎科技有限公司 | 分布式数据库的数据迁移方法与装置 |
CN105718507A (zh) * | 2016-01-06 | 2016-06-29 | 杭州数梦工场科技有限公司 | 一种数据迁移方法和装置 |
CN105843955A (zh) * | 2016-04-13 | 2016-08-10 | 曙光信息产业(北京)有限公司 | 一种数据迁移*** |
CN105871815A (zh) * | 2016-03-22 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 一种数据传输方法及装置 |
CN105930389A (zh) * | 2016-04-14 | 2016-09-07 | 北京京东尚科信息技术有限公司 | 数据结转的方法和*** |
CN106055670A (zh) * | 2016-06-06 | 2016-10-26 | 中国工商银行股份有限公司 | 一种***间数据迁移方法及装置 |
CN106156165A (zh) * | 2015-04-16 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 异构数据源之间的数据同步方法和装置 |
CN106209933A (zh) * | 2015-04-30 | 2016-12-07 | ***通信集团四川有限公司 | 源主机、迁移架构及数据迁移方法 |
CN106446111A (zh) * | 2016-09-14 | 2017-02-22 | 广东欧珀移动通信有限公司 | 一种数据迁移的方法及终端 |
CN106469152A (zh) * | 2015-08-14 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 一种基于etl的文件处理方法及*** |
CN106487841A (zh) * | 2015-08-27 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 一种数据迁移方法及设备 |
WO2017053892A1 (en) | 2015-09-25 | 2017-03-30 | Alibaba Group Holding Limited | Method and apparatus for transferring data between databases |
CN106649788A (zh) * | 2016-12-28 | 2017-05-10 | 深圳启润德管理咨询有限公司 | 一种数据库数据传输方法与装置 |
CN106776833A (zh) * | 2016-11-28 | 2017-05-31 | 中通服公众信息产业股份有限公司 | 客户端到客户端的信息***数据交换方法及*** |
CN106874389A (zh) * | 2017-01-11 | 2017-06-20 | 腾讯科技(深圳)有限公司 | 数据的迁移方法和装置 |
CN106933859A (zh) * | 2015-12-30 | 2017-07-07 | ***通信集团公司 | 一种医疗数据的迁移方法和装置 |
CN107111649A (zh) * | 2015-03-02 | 2017-08-29 | 微软技术许可有限责任公司 | 将用户和***数据从源位置上传到目的地位置 |
CN107122361A (zh) * | 2016-02-24 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 数据迁移***和方法 |
CN107341063A (zh) * | 2017-07-13 | 2017-11-10 | 郑州云海信息技术有限公司 | 一种数据传输方法及*** |
CN107506451A (zh) * | 2017-08-28 | 2017-12-22 | 泰康保险集团股份有限公司 | 用于数据交互的异常信息监控方法及装置 |
CN107784026A (zh) * | 2016-08-31 | 2018-03-09 | 杭州海康威视数字技术股份有限公司 | 一种etl数据处理方法及装置 |
CN107977462A (zh) * | 2017-12-21 | 2018-05-01 | 泰康保险集团股份有限公司 | 数据迁移方法及装置 |
CN107992498A (zh) * | 2016-10-27 | 2018-05-04 | 腾讯科技(深圳)有限公司 | 一种将数据导入数据仓库的方法及*** |
CN108121757A (zh) * | 2017-11-10 | 2018-06-05 | 广州优视网络科技有限公司 | 一种数据同步方法、装置、***、计算设备及存储介质 |
WO2018099101A1 (zh) * | 2016-12-02 | 2018-06-07 | 深圳市前海安测信息技术有限公司 | 基于移动终端的电子病历数据迁移***及方法 |
CN108228755A (zh) * | 2017-12-21 | 2018-06-29 | 江苏瑞中数据股份有限公司 | 基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法 |
CN108279972A (zh) * | 2018-01-26 | 2018-07-13 | 郑州云海信息技术有限公司 | 一种lua虚拟机任务执行方法及相关装置 |
CN109165260A (zh) * | 2018-09-25 | 2019-01-08 | 安徽信息工程学院 | 基于oracle数据库链的数据转储方法 |
CN109189756A (zh) * | 2018-06-29 | 2019-01-11 | 平安科技(深圳)有限公司 | 电子装置、数据迁移的方法及存储介质 |
CN105205117B (zh) * | 2015-09-09 | 2019-03-05 | 郑州悉知信息科技股份有限公司 | 一种数据表迁移方法和装置 |
CN109495581A (zh) * | 2018-12-13 | 2019-03-19 | 爱普(福建)科技有限公司 | 一种多异构控制站的通信方法和装置 |
CN109582722A (zh) * | 2018-11-30 | 2019-04-05 | 珠海市新德汇信息技术有限公司 | 公安资源数据服务*** |
CN109657167A (zh) * | 2018-11-29 | 2019-04-19 | 彩讯科技股份有限公司 | 数据采集方法、装置、服务器及存储介质 |
CN109802884A (zh) * | 2018-12-29 | 2019-05-24 | 论客科技(广州)有限公司 | 一种校园邮件的迁移方法及装置 |
CN110109891A (zh) * | 2018-01-18 | 2019-08-09 | 伊姆西Ip控股有限责任公司 | 用于数据迁移的方法、设备和计算机程序产品 |
CN110661851A (zh) * | 2017-03-02 | 2020-01-07 | 杭州数梦工场科技有限公司 | 数据交换方法和装置 |
CN110825453A (zh) * | 2019-10-25 | 2020-02-21 | 中盈优创资讯科技有限公司 | 基于大数据平台的数据处理方法及装置 |
CN110879801A (zh) * | 2019-11-21 | 2020-03-13 | 中国银行股份有限公司 | 一种数据读取方法及装置 |
CN110895490A (zh) * | 2019-11-29 | 2020-03-20 | 深圳乐信软件技术有限公司 | 一种数据批量处理***、方法、设备和存储介质 |
CN111078384A (zh) * | 2019-12-26 | 2020-04-28 | 深圳前海环融联易信息科技服务有限公司 | 核心数据迁移的方法、装置、计算机设备及存储介质 |
CN111414409A (zh) * | 2020-03-17 | 2020-07-14 | 网易(杭州)网络有限公司 | 游戏引擎之间数据交换方法及装置、存储介质及电子设备 |
CN111522792A (zh) * | 2020-04-20 | 2020-08-11 | 中国银行股份有限公司 | 文件迁移方法及装置 |
CN111737235A (zh) * | 2020-08-12 | 2020-10-02 | 国网浙江省电力有限公司营销服务中心 | 用于电力行业的异构数据迁移方法 |
CN112035459A (zh) * | 2020-09-01 | 2020-12-04 | 中国银行股份有限公司 | 数据格式转换方法及装置 |
CN112699098A (zh) * | 2020-12-31 | 2021-04-23 | 中国农业银行股份有限公司 | 一种索引数据迁移方法、装置及设备 |
CN112800026A (zh) * | 2021-01-18 | 2021-05-14 | ***股份有限公司 | 一种数据转移节点、方法、***及计算机可读存储介质 |
CN112822494A (zh) * | 2020-12-30 | 2021-05-18 | 稿定(厦门)科技有限公司 | 双缓冲编码***及其控制方法 |
CN113254522A (zh) * | 2021-06-18 | 2021-08-13 | 深圳追一科技有限公司 | 一种数据库访问方法、装置、设备及可读存储介质 |
CN113312147A (zh) * | 2021-06-11 | 2021-08-27 | 中国科学技术大学 | 一种对象存储跨集群海量数据迁移方法及*** |
CN113434598A (zh) * | 2021-06-28 | 2021-09-24 | 青岛海尔科技有限公司 | 实现数据双写的方法、装置与电子装置 |
CN113609226A (zh) * | 2021-08-09 | 2021-11-05 | 平安国际智慧城市科技股份有限公司 | 一种数据导出方法、装置、计算机设备及存储介质 |
CN113626407A (zh) * | 2021-07-30 | 2021-11-09 | 浪潮云信息技术股份公司 | 一种语法转换迁移方法 |
CN113656474A (zh) * | 2021-08-05 | 2021-11-16 | 京东科技控股股份有限公司 | 业务数据的接入方法、装置、电子设备及存储介质 |
CN115525631A (zh) * | 2022-10-31 | 2022-12-27 | 华润数字科技有限公司 | 数据库数据迁移方法、装置、设备、存储介质 |
CN117407362A (zh) * | 2023-12-15 | 2024-01-16 | 中电云计算技术有限公司 | 一种异构文件***间文件迁移的方法与装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108664496B (zh) * | 2017-03-29 | 2022-03-25 | 腾讯科技(深圳)有限公司 | 数据迁移方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904885A (zh) * | 2005-07-29 | 2007-01-31 | 北京航空航天大学 | 数据库适配器 |
US20090240704A1 (en) * | 2002-03-18 | 2009-09-24 | International Business Machines Corporation | Method, System, and Program Product for Migrating Data from One Data Base Management System to Another Data Base Management System |
CN102004745A (zh) * | 2009-09-02 | 2011-04-06 | ***股份有限公司 | 数据转移***及方法 |
CN102004743A (zh) * | 2009-09-02 | 2011-04-06 | ***股份有限公司 | 一种用于异构数据库之间数据复制的***及方法 |
CN101551808B (zh) * | 2009-05-13 | 2011-04-13 | 山东中创软件商用中间件股份有限公司 | 支持多进程的嵌入式的树型数据库技术 |
CN102142027A (zh) * | 2011-02-23 | 2011-08-03 | 南京智尚丰软件有限公司 | 数据整合的适配方法 |
-
2011
- 2011-09-19 CN CN201110278784.0A patent/CN102999537B/zh active Active
-
2013
- 2013-05-21 HK HK13105933.4A patent/HK1178291A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090240704A1 (en) * | 2002-03-18 | 2009-09-24 | International Business Machines Corporation | Method, System, and Program Product for Migrating Data from One Data Base Management System to Another Data Base Management System |
CN1904885A (zh) * | 2005-07-29 | 2007-01-31 | 北京航空航天大学 | 数据库适配器 |
CN101551808B (zh) * | 2009-05-13 | 2011-04-13 | 山东中创软件商用中间件股份有限公司 | 支持多进程的嵌入式的树型数据库技术 |
CN102004745A (zh) * | 2009-09-02 | 2011-04-06 | ***股份有限公司 | 数据转移***及方法 |
CN102004743A (zh) * | 2009-09-02 | 2011-04-06 | ***股份有限公司 | 一种用于异构数据库之间数据复制的***及方法 |
CN102142027A (zh) * | 2011-02-23 | 2011-08-03 | 南京智尚丰软件有限公司 | 数据整合的适配方法 |
Non-Patent Citations (3)
Title |
---|
张孟旺: "基于VTD-XML技术的异构数据库数据交换***的研究与设计", 《中国优秀硕士学位论文全文数据库信息科技辑2011年》, no. 03, 15 March 2011 (2011-03-15) * |
杜邵敏: "基于XML的异构数据库数据转换工具的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 6, 15 June 2010 (2010-06-15) * |
陈静,等: "ASP.NET在异构数据源转换中的应用", 《重庆大学学报(自然科学版)》, vol. 29, no. 2, 28 February 2006 (2006-02-28) * |
Cited By (106)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309945A (zh) * | 2013-05-15 | 2013-09-18 | 上海证券交易所 | 一种将数据导入数据库的装置 |
CN103718533A (zh) * | 2013-06-29 | 2014-04-09 | 华为技术有限公司 | 一种分区平衡子任务下发方法、装置与*** |
WO2014205847A1 (zh) * | 2013-06-29 | 2014-12-31 | 华为技术有限公司 | 一种分区平衡子任务下发方法、装置与*** |
US9405590B2 (en) | 2013-06-29 | 2016-08-02 | Huawei Technologies Co., Ltd. | Method, apparatus, and system for issuing partition balancing subtask |
US9286113B2 (en) | 2013-06-29 | 2016-03-15 | Huawei Technologies Co., Ltd. | Method, apparatus, and system for issuing partition balancing subtask |
CN103718533B (zh) * | 2013-06-29 | 2015-06-10 | 华为技术有限公司 | 一种分区平衡子任务下发方法、装置与*** |
CN103473362A (zh) * | 2013-09-26 | 2013-12-25 | 杭州意能软件有限公司 | 数据迁移的方法、***和接收端口模块 |
CN103473362B (zh) * | 2013-09-26 | 2016-06-29 | 浙江省电力锅炉压力容器检验所有限公司 | 数据迁移的方法、***和接收端口模块 |
CN104598453A (zh) * | 2013-10-31 | 2015-05-06 | ***股份有限公司 | 基于数据缓冲的数据迁移方法 |
CN104598453B (zh) * | 2013-10-31 | 2018-02-27 | ***股份有限公司 | 基于数据缓冲的数据迁移方法 |
CN104699723A (zh) * | 2013-12-10 | 2015-06-10 | 北京神州泰岳软件股份有限公司 | 数据交换适配器、异构***之间数据同步***和方法 |
CN104699723B (zh) * | 2013-12-10 | 2018-10-19 | 北京神州泰岳软件股份有限公司 | 数据交换适配器、异构***之间数据同步***和方法 |
CN103944964A (zh) * | 2014-03-27 | 2014-07-23 | 上海云数信息科技有限公司 | 一种分布式***及根据该***进行逐步扩容的方法 |
CN105320673A (zh) * | 2014-06-30 | 2016-02-10 | 苏宁云商集团股份有限公司 | 多数据源之间的数据传输方法及其装置 |
CN105335412A (zh) * | 2014-07-31 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 用于数据转换、数据迁移的方法和装置 |
CN105335412B (zh) * | 2014-07-31 | 2019-06-11 | 阿里巴巴集团控股有限公司 | 用于数据转换、数据迁移的方法和装置 |
CN104360905A (zh) * | 2014-10-29 | 2015-02-18 | 中国建设银行股份有限公司 | 一种应用于it***的自适应控制方法和装置 |
CN104462269A (zh) * | 2014-11-24 | 2015-03-25 | 中国联合网络通信集团有限公司 | 一种异构数据库数据交换方法及*** |
CN104536994A (zh) * | 2014-12-11 | 2015-04-22 | 北京京东尚科信息技术有限公司 | 通用的数据迁移方法和装置 |
CN104462562A (zh) * | 2014-12-29 | 2015-03-25 | 浪潮软件集团有限公司 | 一种基于数据仓库自动化的数据迁移***及方法 |
CN104462562B (zh) * | 2014-12-29 | 2018-05-18 | 浪潮软件集团有限公司 | 一种基于数据仓库自动化的数据迁移***及方法 |
CN104539431B (zh) * | 2014-12-31 | 2018-08-17 | 上海格尔软件股份有限公司 | 一种在线用户***切换用户平滑迁移的方法 |
CN104539431A (zh) * | 2014-12-31 | 2015-04-22 | 上海格尔软件股份有限公司 | 一种在线用户***切换用户平滑迁移的方法 |
CN107111649A (zh) * | 2015-03-02 | 2017-08-29 | 微软技术许可有限责任公司 | 将用户和***数据从源位置上传到目的地位置 |
US11418592B2 (en) | 2015-03-02 | 2022-08-16 | Microsoft Technology Licensing, Llc | Uploading user and system data from a source location to a destination location |
US10789271B2 (en) | 2015-04-16 | 2020-09-29 | Alibaba Group Holding Limited | System, method, and apparatus for synchronization among heterogeneous data sources |
CN106156165A (zh) * | 2015-04-16 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 异构数据源之间的数据同步方法和装置 |
CN106209933A (zh) * | 2015-04-30 | 2016-12-07 | ***通信集团四川有限公司 | 源主机、迁移架构及数据迁移方法 |
CN106469152A (zh) * | 2015-08-14 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 一种基于etl的文件处理方法及*** |
CN106487841A (zh) * | 2015-08-27 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 一种数据迁移方法及设备 |
CN105205117B (zh) * | 2015-09-09 | 2019-03-05 | 郑州悉知信息科技股份有限公司 | 一种数据表迁移方法和装置 |
WO2017053892A1 (en) | 2015-09-25 | 2017-03-30 | Alibaba Group Holding Limited | Method and apparatus for transferring data between databases |
CN106557486A (zh) * | 2015-09-25 | 2017-04-05 | 阿里巴巴集团控股有限公司 | 一种数据的存储方法和装置 |
EP3353672A4 (en) * | 2015-09-25 | 2018-08-01 | Alibaba Group Holding Limited | Method and apparatus for transferring data between databases |
CN105335477B (zh) * | 2015-10-10 | 2019-09-20 | 北京京东尚科信息技术有限公司 | 一种数据库的操作方法及装置 |
CN105335477A (zh) * | 2015-10-10 | 2016-02-17 | 北京京东尚科信息技术有限公司 | 一种数据库的操作方法及装置 |
CN105373599A (zh) * | 2015-10-28 | 2016-03-02 | 北京汇商融通信息技术有限公司 | 基于多种数据存储平台的数据迁移*** |
CN105279280A (zh) * | 2015-11-16 | 2016-01-27 | 天津南大通用数据技术股份有限公司 | 快速迁移Oracle数据到MPP数据库的方法及工具 |
CN105653630A (zh) * | 2015-12-25 | 2016-06-08 | 北京奇虎科技有限公司 | 分布式数据库的数据迁移方法与装置 |
CN106933859B (zh) * | 2015-12-30 | 2020-10-20 | ***通信集团公司 | 一种医疗数据的迁移方法和装置 |
CN106933859A (zh) * | 2015-12-30 | 2017-07-07 | ***通信集团公司 | 一种医疗数据的迁移方法和装置 |
CN105718507A (zh) * | 2016-01-06 | 2016-06-29 | 杭州数梦工场科技有限公司 | 一种数据迁移方法和装置 |
CN107122361A (zh) * | 2016-02-24 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 数据迁移***和方法 |
CN107122361B (zh) * | 2016-02-24 | 2021-07-06 | 阿里巴巴集团控股有限公司 | 数据迁移***和方法 |
CN105871815A (zh) * | 2016-03-22 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 一种数据传输方法及装置 |
CN105843955A (zh) * | 2016-04-13 | 2016-08-10 | 曙光信息产业(北京)有限公司 | 一种数据迁移*** |
CN105930389A (zh) * | 2016-04-14 | 2016-09-07 | 北京京东尚科信息技术有限公司 | 数据结转的方法和*** |
CN106055670A (zh) * | 2016-06-06 | 2016-10-26 | 中国工商银行股份有限公司 | 一种***间数据迁移方法及装置 |
CN107784026A (zh) * | 2016-08-31 | 2018-03-09 | 杭州海康威视数字技术股份有限公司 | 一种etl数据处理方法及装置 |
CN107784026B (zh) * | 2016-08-31 | 2021-08-20 | 杭州海康威视数字技术股份有限公司 | 一种etl数据处理方法及装置 |
CN106446111A (zh) * | 2016-09-14 | 2017-02-22 | 广东欧珀移动通信有限公司 | 一种数据迁移的方法及终端 |
CN106446111B (zh) * | 2016-09-14 | 2020-01-14 | Oppo广东移动通信有限公司 | 一种数据迁移的方法及终端 |
CN107992498A (zh) * | 2016-10-27 | 2018-05-04 | 腾讯科技(深圳)有限公司 | 一种将数据导入数据仓库的方法及*** |
CN107992498B (zh) * | 2016-10-27 | 2021-10-22 | 腾讯科技(深圳)有限公司 | 一种将数据导入数据仓库的方法及*** |
CN106776833A (zh) * | 2016-11-28 | 2017-05-31 | 中通服公众信息产业股份有限公司 | 客户端到客户端的信息***数据交换方法及*** |
WO2018099101A1 (zh) * | 2016-12-02 | 2018-06-07 | 深圳市前海安测信息技术有限公司 | 基于移动终端的电子病历数据迁移***及方法 |
CN106649788B (zh) * | 2016-12-28 | 2020-12-08 | 深圳启润德科技有限公司 | 一种数据库数据传输方法与装置 |
CN106649788A (zh) * | 2016-12-28 | 2017-05-10 | 深圳启润德管理咨询有限公司 | 一种数据库数据传输方法与装置 |
WO2018130066A1 (zh) * | 2017-01-11 | 2018-07-19 | 腾讯科技(深圳)有限公司 | 数据的迁移方法、计算机设备和存储介质 |
US11068449B2 (en) | 2017-01-11 | 2021-07-20 | Tencent Technology (Shenzhen) Company Limited | Data migration method, apparatus, and storage medium |
CN106874389A (zh) * | 2017-01-11 | 2017-06-20 | 腾讯科技(深圳)有限公司 | 数据的迁移方法和装置 |
CN110661851A (zh) * | 2017-03-02 | 2020-01-07 | 杭州数梦工场科技有限公司 | 数据交换方法和装置 |
CN107341063A (zh) * | 2017-07-13 | 2017-11-10 | 郑州云海信息技术有限公司 | 一种数据传输方法及*** |
CN107506451A (zh) * | 2017-08-28 | 2017-12-22 | 泰康保险集团股份有限公司 | 用于数据交互的异常信息监控方法及装置 |
CN107506451B (zh) * | 2017-08-28 | 2020-11-03 | 泰康保险集团股份有限公司 | 用于数据交互的异常信息监控方法及装置 |
CN108121757A (zh) * | 2017-11-10 | 2018-06-05 | 广州优视网络科技有限公司 | 一种数据同步方法、装置、***、计算设备及存储介质 |
CN107977462A (zh) * | 2017-12-21 | 2018-05-01 | 泰康保险集团股份有限公司 | 数据迁移方法及装置 |
CN108228755A (zh) * | 2017-12-21 | 2018-06-29 | 江苏瑞中数据股份有限公司 | 基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法 |
CN110109891A (zh) * | 2018-01-18 | 2019-08-09 | 伊姆西Ip控股有限责任公司 | 用于数据迁移的方法、设备和计算机程序产品 |
CN110109891B (zh) * | 2018-01-18 | 2023-04-21 | 伊姆西Ip控股有限责任公司 | 用于数据迁移的方法、设备和存储介质 |
CN108279972A (zh) * | 2018-01-26 | 2018-07-13 | 郑州云海信息技术有限公司 | 一种lua虚拟机任务执行方法及相关装置 |
CN109189756A (zh) * | 2018-06-29 | 2019-01-11 | 平安科技(深圳)有限公司 | 电子装置、数据迁移的方法及存储介质 |
CN109165260A (zh) * | 2018-09-25 | 2019-01-08 | 安徽信息工程学院 | 基于oracle数据库链的数据转储方法 |
CN109657167A (zh) * | 2018-11-29 | 2019-04-19 | 彩讯科技股份有限公司 | 数据采集方法、装置、服务器及存储介质 |
CN109657167B (zh) * | 2018-11-29 | 2023-11-21 | 彩讯科技股份有限公司 | 数据采集方法、装置、服务器及存储介质 |
CN109582722A (zh) * | 2018-11-30 | 2019-04-05 | 珠海市新德汇信息技术有限公司 | 公安资源数据服务*** |
CN109495581A (zh) * | 2018-12-13 | 2019-03-19 | 爱普(福建)科技有限公司 | 一种多异构控制站的通信方法和装置 |
CN109802884A (zh) * | 2018-12-29 | 2019-05-24 | 论客科技(广州)有限公司 | 一种校园邮件的迁移方法及装置 |
CN109802884B (zh) * | 2018-12-29 | 2021-09-07 | 论客科技(广州)有限公司 | 一种校园邮件的迁移方法及装置 |
CN110825453B (zh) * | 2019-10-25 | 2023-12-05 | 中盈优创资讯科技有限公司 | 基于大数据平台的数据处理方法及装置 |
CN110825453A (zh) * | 2019-10-25 | 2020-02-21 | 中盈优创资讯科技有限公司 | 基于大数据平台的数据处理方法及装置 |
CN110879801A (zh) * | 2019-11-21 | 2020-03-13 | 中国银行股份有限公司 | 一种数据读取方法及装置 |
CN110895490A (zh) * | 2019-11-29 | 2020-03-20 | 深圳乐信软件技术有限公司 | 一种数据批量处理***、方法、设备和存储介质 |
CN111078384A (zh) * | 2019-12-26 | 2020-04-28 | 深圳前海环融联易信息科技服务有限公司 | 核心数据迁移的方法、装置、计算机设备及存储介质 |
CN111414409A (zh) * | 2020-03-17 | 2020-07-14 | 网易(杭州)网络有限公司 | 游戏引擎之间数据交换方法及装置、存储介质及电子设备 |
CN111414409B (zh) * | 2020-03-17 | 2024-03-15 | 网易(杭州)网络有限公司 | 游戏引擎之间数据交换方法及装置、存储介质及电子设备 |
CN111522792A (zh) * | 2020-04-20 | 2020-08-11 | 中国银行股份有限公司 | 文件迁移方法及装置 |
CN111737235A (zh) * | 2020-08-12 | 2020-10-02 | 国网浙江省电力有限公司营销服务中心 | 用于电力行业的异构数据迁移方法 |
CN112035459A (zh) * | 2020-09-01 | 2020-12-04 | 中国银行股份有限公司 | 数据格式转换方法及装置 |
CN112822494A (zh) * | 2020-12-30 | 2021-05-18 | 稿定(厦门)科技有限公司 | 双缓冲编码***及其控制方法 |
CN112699098A (zh) * | 2020-12-31 | 2021-04-23 | 中国农业银行股份有限公司 | 一种索引数据迁移方法、装置及设备 |
CN112800026A (zh) * | 2021-01-18 | 2021-05-14 | ***股份有限公司 | 一种数据转移节点、方法、***及计算机可读存储介质 |
CN112800026B (zh) * | 2021-01-18 | 2024-02-06 | ***股份有限公司 | 一种数据转移节点、方法、***及计算机可读存储介质 |
CN113312147B (zh) * | 2021-06-11 | 2022-12-30 | 中国科学技术大学 | 一种对象存储跨集群海量数据迁移方法及*** |
CN113312147A (zh) * | 2021-06-11 | 2021-08-27 | 中国科学技术大学 | 一种对象存储跨集群海量数据迁移方法及*** |
CN113254522A (zh) * | 2021-06-18 | 2021-08-13 | 深圳追一科技有限公司 | 一种数据库访问方法、装置、设备及可读存储介质 |
CN113434598B (zh) * | 2021-06-28 | 2024-03-22 | 青岛海尔科技有限公司 | 实现数据双写的方法、装置与电子装置 |
CN113434598A (zh) * | 2021-06-28 | 2021-09-24 | 青岛海尔科技有限公司 | 实现数据双写的方法、装置与电子装置 |
CN113626407A (zh) * | 2021-07-30 | 2021-11-09 | 浪潮云信息技术股份公司 | 一种语法转换迁移方法 |
CN113656474A (zh) * | 2021-08-05 | 2021-11-16 | 京东科技控股股份有限公司 | 业务数据的接入方法、装置、电子设备及存储介质 |
CN113609226A (zh) * | 2021-08-09 | 2021-11-05 | 平安国际智慧城市科技股份有限公司 | 一种数据导出方法、装置、计算机设备及存储介质 |
CN113609226B (zh) * | 2021-08-09 | 2024-05-14 | 深圳平安智慧医健科技有限公司 | 一种数据导出方法、装置、计算机设备及存储介质 |
CN115525631B (zh) * | 2022-10-31 | 2023-09-05 | 华润数字科技有限公司 | 数据库数据迁移方法、装置、设备、存储介质 |
CN115525631A (zh) * | 2022-10-31 | 2022-12-27 | 华润数字科技有限公司 | 数据库数据迁移方法、装置、设备、存储介质 |
CN117407362A (zh) * | 2023-12-15 | 2024-01-16 | 中电云计算技术有限公司 | 一种异构文件***间文件迁移的方法与装置 |
CN117407362B (zh) * | 2023-12-15 | 2024-04-16 | 中电云计算技术有限公司 | 一种异构文件***间文件迁移的方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102999537B (zh) | 2017-01-18 |
HK1178291A1 (zh) | 2013-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102999537A (zh) | 一种数据迁移***和方法 | |
US11663257B2 (en) | Design-time information based on run-time artifacts in transient cloud-based distributed computing clusters | |
Abadi et al. | The Beckman report on database research | |
Cui et al. | Big data: the driver for innovation in databases | |
US9747127B1 (en) | Worldwide distributed job and tasks computational model | |
CN103246749B (zh) | 面向分布式计算的矩阵数据库***及其查询方法 | |
US20140358844A1 (en) | Workflow controller compatibility | |
Costa et al. | BASIS: A big data architecture for smart cities | |
US20110087708A1 (en) | Business object based operational reporting and analysis | |
CN109033113B (zh) | 数据仓库和数据集市的管理方法及装置 | |
CN102377824A (zh) | 一种基于云计算的空间信息服务*** | |
Sivaraman et al. | High performance and fault tolerant distributed file system for big data storage and processing using hadoop | |
CN110297869B (zh) | 一种ai数据仓库平台及操作方法 | |
Qureshi et al. | Towards efficient big data and data analytics: a review | |
CA2997071A1 (en) | Metadata-driven data management platform | |
CN103390018A (zh) | 一种基于SDD的Web服务数据建模与搜索方法 | |
CN116775605A (zh) | 一种基于人工智能的产业数据管理和共享平台 | |
Kafando et al. | Spatial data lake for smart cities: From design to implementation | |
US9483476B2 (en) | System decommissioning through reverse archiving of data | |
Dhanda | Big data storage and analysis | |
Aivalis | Big data technologies | |
Chen et al. | On construction of a power data lake platform using spark | |
Taori et al. | Big Data Management | |
Sharma et al. | Database Management Systems—An Efficient, Effective, and Augmented Approach for Organizations | |
Pant et al. | A Data Flow Pipeline and Logical View for Enterprise Big Data Architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1178291 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1178291 Country of ref document: HK |