CN104765736A - 数据库的导库方法及装置 - Google Patents

数据库的导库方法及装置 Download PDF

Info

Publication number
CN104765736A
CN104765736A CN201410003108.6A CN201410003108A CN104765736A CN 104765736 A CN104765736 A CN 104765736A CN 201410003108 A CN201410003108 A CN 201410003108A CN 104765736 A CN104765736 A CN 104765736A
Authority
CN
China
Prior art keywords
record
data
derived
reference sequences
tables
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
Application number
CN201410003108.6A
Other languages
English (en)
Other versions
CN104765736B (zh
Inventor
崔倩莹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New Founder Holdings Development Co ltd
Beijing Founder Electronics Co Ltd
Original Assignee
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University Founder Group Co Ltd
Priority to CN201410003108.6A priority Critical patent/CN104765736B/zh
Publication of CN104765736A publication Critical patent/CN104765736A/zh
Application granted granted Critical
Publication of CN104765736B publication Critical patent/CN104765736B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种数据库的导库方法及装置。本发明数据库的导库方法,用于将原系统数据表的数据导入至目标系统数据表中,还包括一个记录已导出数据的记录表;包括:获取记录表中最后一条记录的参考序列号;判断原系统数据表中是否存在待导出记录,对应的序列号比参考序列号大;若存在,则获取原系统数据表中按第一主键序列号升序排序后比参考序列号大的第一条待导出记录所对应的数据,将数据导入至目标系统数据表中;并在记录表中插入一条记录,对应的参考序列号设置为第一条待导出记录所对应的序列号;重复上述过程,直至原系统数据表的数据全部导入至目标系统数据表中。本发明提高了导库效率,避免了中断后导入重复数据。

Description

数据库的导库方法及装置
技术领域
本发明涉及数据库技术,尤其涉及一种数据库的导库方法及装置。
背景技术
在企业信息系统的使用过程中,随着企业业务的不断发展和应用领域的不断拓宽,当某个系统满足不了用户需求时会选择使用另一个更为完善的系统,为了继续使用原系统中的重要信息,就需要把原系统数据库中的数据导到另一个目标系统数据库中去。
现有的数据库导库方法主要有两种:方法一是先把原系统中的数据以一定的格式导出,大多是导出成一定格式的xml文件,然后通过解析导出的xml文件重新入库到目标系统中去。方法二是直接连接两个库的数据源,用线程循环扫描原系统的表,直接从表中取n条数据然后插入目标系统的表中。
方法一存在的问题是,操作起来比较繁琐,效率也比较低,导出的文件会占用大量的磁盘空间;方法二存在的问题是,程序中断后,如果重新启动导库服务无法继续接着原系统之前的数据继续导库,会从头开始扫描原系统中整个表的数据,导致目标系统中出现大量的重复数据,这样就得删掉目标系统中之前导过的数据重新开始导库,操作复杂且出错概率较大。
发明内容
本发明提供一种数据库的导库方法及装置,以克服现有技术中导库操作效率低的问题。
第一方面,本发明提供一种数据库的导库方法,用于将原系统数据表的数据导入至目标系统数据表中,还包括一个用于记录已导出数据的记录表;所述方法包括:
步骤a、获取所述记录表中最后一条记录所对应的参考序列号;
步骤b、判断所述原系统数据表中是否存在待导出记录,所述待导出记录对应的序列号比所述参考序列号大;
步骤c、若存在,则获取所述原系统数据表中按第一主键序列号升序排序后比所述参考序列号大的第一条待导出记录所对应的数据,将所述数据导入至所述目标系统数据表中;并在所述记录表中插入一条记录作为最后一条记录,所述最后一条记录对应的参考序列号设置为所述第一条待导出记录所对应的序列号;
返回执行步骤a,直至所述原系统数据表的数据全部导入至所述目标系统数据表中。
可选地,所述步骤a还包括:
若所述记录表无记录,则将所述参考序列号默认为0。
可选地,在步骤c中,若不存在所述待导出记录,则导库流程结束。
第二方面,本发明提供一种数据库的导库装置,用于将原系统数据表的数据导入至目标系统数据表中,还包括一个用于记录已导出数据的记录表;所述装置包括:
获取模块,用于获取所述记录表中最后一条记录所对应的参考序列号;
判断模块,用于判断所述原系统数据表中是否存在待导出记录,所述待导出记录对应的序列号比所述参考序列号大;
处理模块,用于若所述判断模块判断存在所述待导出记录,则获取所述原系统数据表中按第一主键序列号升序排序后比所述参考序列号大的第一条待导出记录所对应的数据,将所述数据导入至所述目标系统数据表中;并在所述记录表中插入一条记录作为最后一条记录,所述最后一条记录对应的参考序列号设置为所述第一条待导出记录所对应的序列号;
可选地,所述获取模块还用于:
若所述记录表无记录,则将所述参考序列号默认为0。
可选地,所述处理模块,还用于:若所述判断模块判断不存在所述待导出记录,则结束导库流程。
本发明数据库的导库方法及装置,通过获取所述记录表中最后一条记录所对应的参考序列号;判断所述原系统数据表中是否存在序列号比所述参考序列号大的待导出记录;若存在,则获取所述原系统数据表中按第一主键序列号升序排序后比所述参考序列号大的第一条待导出记录所对应的数据,将所述数据导入至所述目标系统数据表中;并在所述记录表中插入一条记录作为最后一条记录,所述最后一条记录对应的参考序列号设置为所述第一条待导出记录所对应的序列号;重复执行上述过程,直至所述原系统数据表的数据全部导入至所述目标系统数据表中,提高了导库效率,避免了导库中断后,从头开始将原系统数据表的数据导入目标系统数据表中,出现大量的重复数据的问题。
附图说明
图1为本发明数据库的导库方法实施例一的流程图一;
图2为本发明数据库的导库方法实施例一的信令流程图;
图3为本发明数据库的导库装置实施例一的结构示意图。
具体实施方式
图1为本发明数据库的导库方法实施例一的流程图一,图2为本发明数据库的导库方法实施例一的信令流程图。本实施例的方法用于将原系统数据表的数据导入至目标系统数据表中,如图2所示,还包括一个用于记录已导出数据的记录表。如图1所示,本实施例的方法可以包括:
步骤a、获取记录表中最后一条记录所对应的参考序列号;
步骤b、判断原系统数据表中是否存在待导出记录,待导出记录对应的序列号比参考序列号大;
步骤c、若存在,则获取原系统数据表中按第一主键序列号升序排序后比参考序列号大的第一条待导出记录所对应的数据,将数据导入至目标系统数据表中;并在记录表中插入一条记录作为最后一条记录,最后一条记录对应的参考序列号设置为第一条待导出记录所对应的序列号;
返回执行步骤a,直至原系统数据表的数据全部导入至目标系统数据表中。
具体地,本实施例的方法可以做成一个批处理文件bat启动的导库服务,需要同时连接两个原系统以及目标系统的数据源,需要以下三个表:原系统数据表,目标系统数据表,已导出数据的记录表。在bat的配置文件中配置好需要导出和导入的表名以及入库的实现类。
bat启动后由main方法开启一个线程,设这个线程执行的扫描接口实现类为scanner,如图2所示,本实施例的执行主体可以为数据库的导库装置,执行scanner获取记录表中最后一条记录所对应的参考序列号(步骤1),获取到参考序列号(步骤2)之后,判断原系统数据表中是否存在序列号比参考序列号大的待导出记录(步骤3),若不存在待导出记录(步骤4a),则结束导库;若存在待导出记录(步骤4b),则获取原系统数据表中按第一主键序列号升序排序后比参考序列号大的第一条待导出记录所对应的数据,将对应的数据导入目标系统数据表中(步骤5),并在记录表中插入一条记录作为最后一条记录,将最后一条记录对应的参考序列号设置为第一条待导出记录所对应的序列号,也即记录第一条待导出记录所对应的序列号(步骤6),还可以生成该条数据导入成功或失败的日志,若导入成功,则向数据库的导库装置返回数据导入成功(步骤7);执行上述步骤之后,如图1所示,返回执行步骤a,直至原系统数据表的数据全部导入至目标系统数据表中。
如果因为电脑突然断电或者用户想暂停导库服务,直接关闭bat停止导库服务即可,下次启动时导库服务还会接着上次导入的数据继续开始导库,成功避免了导库过程中数据漏掉或者重复插入数据的情况,提高了易用性,同时也避免了程序突然中断后继续从头开始导库。
可选地,所述步骤a还包括:
若所述记录表无记录,则将所述参考序列号默认为0。
如果步骤a中,记录表无记录,则将参考序列号默认为0,即将原系统数据表的数据从头开始导入目标系统数据表中。
可选地,在步骤c中,若不存在所述待导出记录,则导库流程结束。
如图2所示,如果不存在比参考序列号大的序列号对应的记录,则由返回一个结束状态给扫描线程,扫描线程获取状态后将终止执行,并可以输出导库结束的提示信息。
本实施例,通过获取记录表中最后一条记录所对应的参考序列号;判断原系统数据表中是否存在序列号比参考序列号大的待导出记录;若存在,则获取原系统数据表中按第一主键序列号升序排序后比参考序列号大的第一条待导出记录所对应的数据,将数据导入至目标系统数据表中;并在记录表中插入一条记录作为最后一条记录,最后一条记录对应的参考序列号设置为第一条待导出记录所对应的序列号;重复执行上述过程,直至原系统数据表的数据全部导入至目标系统数据表中,提高了导库效率,避免了导库中断后,从头开始将原系统数据表的数据导入目标系统数据表中,出现大量的重复数据的问题。
图3为本发明数据库的导库装置实施例一的结构示意图,如图3所示,本实施例的数据库的导库装置30,用于将原系统数据表的数据导入至目标系统数据表中,还包括一个用于记录已导出数据的记录表;可以包括:获取模块301、判断模块302和处理模块303,其中,获取模块301,用于获取所述记录表中最后一条记录所对应的参考序列号;判断模块302,用于判断所述原系统数据表中是否存在待导出记录,所述待导出记录对应的序列号比所述参考序列号大;处理模块303,用于若判断模块302判断存在所述待导出记录,则获取所述原系统数据表中按第一主键序列号升序排序后比所述参考序列号大的第一条待导出记录所对应的数据,将所述数据导入至所述目标系统数据表中;并在所述记录表中插入一条记录作为最后一条记录,所述最后一条记录对应的参考序列号设置为所述第一条待导出记录所对应的序列号。
可选地,获取模块301还用于:
若所述记录表无记录,则将所述参考序列号默认为0。
可选地,处理模块303,还用于:若所述判断模块302判断不存在所述待导出记录,则结束导库流程。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (6)

1.一种数据库的导库方法,用于将原系统数据表的数据导入至目标系统数据表中,还包括一个用于记录已导出数据的记录表;其特征在于,所述方法包括: 
步骤a、获取所述记录表中最后一条记录所对应的参考序列号; 
步骤b、判断所述原系统数据表中是否存在待导出记录,所述待导出记录对应的序列号比所述参考序列号大; 
步骤c、若存在,则获取所述原系统数据表中按第一主键序列号升序排序后比所述参考序列号大的第一条待导出记录所对应的数据,将所述数据导入至所述目标系统数据表中;并在所述记录表中插入一条记录作为最后一条记录,所述最后一条记录对应的参考序列号设置为所述第一条待导出记录所对应的序列号; 
返回执行步骤a,直至所述原系统数据表的数据全部导入至所述目标系统数据表中。 
2.根据权利要求1所述的方法,其特征在于,所述步骤a还包括: 
若所述记录表无记录,则将所述参考序列号默认为0。 
3.根据权利要求1或2所述的方法,其特征在于,在步骤c中,若不存在所述待导出记录,则导库流程结束。 
4.一种数据库的导库装置,用于将原系统数据表的数据导入至目标系统数据表中,还包括一个用于记录已导出数据的记录表;其特征在于,所述装置包括: 
获取模块,用于获取所述记录表中最后一条记录所对应的参考序列号; 
判断模块,用于判断所述原系统数据表中是否存在待导出记录,所述待导出记录对应的序列号比所述参考序列号大; 
处理模块,用于若所述判断模块判断存在所述待导出记录,则获取所述原系统数据表中按第一主键序列号升序排序后比所述参考序列号大的第一条待导出记录所对应的数据,将所述数据导入至所述目标系统数据表中;并在所述记录表中插入一条记录作为最后一条记录,所述最后一条记录对应的参考序列号设置为所述第一条待导出记录所对应的序列号。 
5.根据权利要求4所述的装置,其特征在于,所述获取模块还用于: 
若所述记录表无记录,则将所述参考序列号默认为0。 
6.根据权利要求4或5所述的装置,其特征在于,所述处理模块,还用于:若所述判断模块判断不存在所述待导出记录,则结束导库流程。 
CN201410003108.6A 2014-01-03 2014-01-03 数据库的导库方法及装置 Expired - Fee Related CN104765736B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410003108.6A CN104765736B (zh) 2014-01-03 2014-01-03 数据库的导库方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410003108.6A CN104765736B (zh) 2014-01-03 2014-01-03 数据库的导库方法及装置

Publications (2)

Publication Number Publication Date
CN104765736A true CN104765736A (zh) 2015-07-08
CN104765736B CN104765736B (zh) 2017-11-14

Family

ID=53647571

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410003108.6A Expired - Fee Related CN104765736B (zh) 2014-01-03 2014-01-03 数据库的导库方法及装置

Country Status (1)

Country Link
CN (1) CN104765736B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108132936A (zh) * 2016-11-30 2018-06-08 北京国双科技有限公司 数据导入方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195662B1 (en) * 1997-06-27 2001-02-27 Juxtacomm Technologies Inc. System for transforming and exchanging data between distributed heterogeneous computer systems
CN102393860A (zh) * 2011-12-06 2012-03-28 方正国际软件有限公司 数据库数据迁移系统
CN102629268A (zh) * 2012-03-09 2012-08-08 华为技术有限公司 数据同步方法、系统及数据访问装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195662B1 (en) * 1997-06-27 2001-02-27 Juxtacomm Technologies Inc. System for transforming and exchanging data between distributed heterogeneous computer systems
CN102393860A (zh) * 2011-12-06 2012-03-28 方正国际软件有限公司 数据库数据迁移系统
CN102629268A (zh) * 2012-03-09 2012-08-08 华为技术有限公司 数据同步方法、系统及数据访问装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108132936A (zh) * 2016-11-30 2018-06-08 北京国双科技有限公司 数据导入方法及装置

Also Published As

Publication number Publication date
CN104765736B (zh) 2017-11-14

Similar Documents

Publication Publication Date Title
CN109815291B (zh) 数据同步方法、装置、电子设备及存储介质
WO2021051627A1 (zh) 基于数据库的批量导入方法、装置、设备及存储介质
US8874830B2 (en) Method for controlling memory array of flash memory, and flash memory using the same
CN103593257B (zh) 一种数据备份方法及装置
CN104376082A (zh) 一种把数据源文件中的数据导入到数据库中的方法
CN103927338A (zh) 日志信息入库处理方法和装置
CN106155596A (zh) 数据写入方法及装置
CN106250319A (zh) 静态代码扫描结果处理方法和装置
CN104572781A (zh) 一种交易日志产生方法和装置
CN103176820A (zh) 一种软件的烧录方法
CN105095294A (zh) 一种分布式存储系统中管理异构副本的方法及装置
CN109491814A (zh) 专用集成电路中的集中式错误处置
CN112256656A (zh) 事务回滚方法及装置、数据库、系统、计算机存储介质
WO2023277819A3 (zh) 数据处理方法、系统、设备、计算机程序产品及存储功能
CN101217315B (zh) 一种告警屏蔽的配置方法和系统
US20050144596A1 (en) Method and apparatus for parallel action processing
WO2019109514A1 (zh) 一种数据表备份方法、装置、电子设备及介质
CN103593447A (zh) 用于数据库表的数据处理方法和装置
CN102257498B (zh) 配置文件的注释生成方法及配置文件生成设备
CN104765736A (zh) 数据库的导库方法及装置
CN113031944B (zh) 基于模板的业务开通装置及方法
CN104298570A (zh) 数据处理方法和装置
US10761940B2 (en) Method, device and program product for reducing data recovery time of storage system
CN105260423A (zh) 电子名片去重方法及装置
CN101276395B (zh) 基于全分裂的标签防碰撞装置及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220615

Address after: 3007, Hengqin international financial center building, No. 58, Huajin street, Hengqin new area, Zhuhai, Guangdong 519031

Patentee after: New founder holdings development Co.,Ltd.

Patentee after: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

Address before: 100871, Beijing, Haidian District, Cheng Fu Road, No. 298, Zhongguancun Fangzheng building, 9 floor

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171114