CN105183854A - 一种数据库卸载数据的调度方法 - Google Patents

一种数据库卸载数据的调度方法 Download PDF

Info

Publication number
CN105183854A
CN105183854A CN201510568104.7A CN201510568104A CN105183854A CN 105183854 A CN105183854 A CN 105183854A CN 201510568104 A CN201510568104 A CN 201510568104A CN 105183854 A CN105183854 A CN 105183854A
Authority
CN
China
Prior art keywords
database
file
data
information
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
CN201510568104.7A
Other languages
English (en)
Other versions
CN105183854B (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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201510568104.7A priority Critical patent/CN105183854B/zh
Publication of CN105183854A publication Critical patent/CN105183854A/zh
Application granted granted Critical
Publication of CN105183854B publication Critical patent/CN105183854B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据库卸载数据的调度方法,包括:获取要卸载的数据库的配置信息,并部署用于数据库卸载数据的并行多进程;根据要卸载的数据库的配置信息,建立先入先出队列FIFO管道文件,并将预设数量的换行符写入FIFO管道文件中,其中一个换行符对应一个进程;每个进程读取一数据行后向FIFO管道文件写入一个换行符,当FIFO管道文件中没有换行符时,数据库的数据卸载完成。通过本发明,能够提高数据卸载的速度,实现数据库数据的快速迁移。

Description

一种数据库卸载数据的调度方法
技术领域
本发明涉及数据库技术领域,尤指一种数据库卸载数据的调度方法。
背景技术
数据迁移是指一种数据环境中的数据根据需要进行转换,导入另外一种相同或相异的数据环境中。异构数据库迁移则是需要将数据库管理系统中数据结构、数据组成与定义相异的数据之间尽量进行等价无损的数据转移。
在现有的Linux、Unix操作系统平台进行大数据量异构数据库迁移的过程中,因为单进程进行数据卸载,无法充分利用I/O资源,使I/O成为数据卸载的瓶颈,往往无法在规定的时间窗口内完成数据卸载,不仅导致数据迁移时间延长,还增加了数据迁移的成本,使得数据卸载往往会成为整个数据迁移的瓶颈所在。如果要实现并行卸载数据,则需要人工启动多个进程,操作不方便。
发明内容
为了解决上述技术问题,本发明提供了一种数据库卸载数据的调度方法,能够提高数据卸载的速度,实现数据库数据的快速迁移。
为了达到本发明目的,本发明提供了一种数据库卸载数据的调度方法,包括:获取要卸载的数据库的配置信息,并部署用于数据库卸载数据的并行多进程;根据要卸载的数据库的配置信息,建立先入先出队列FIFO管道文件,并将预设数量的换行符写入FIFO管道文件中,其中一个换行符对应一个进程;每个进程读取一数据行后向FIFO管道文件写入一个换行符,当FIFO管道文件中没有换行符时,数据库的数据卸载完成。
进一步地,所述部署用于数据库卸载数据的并行多进程,具体为:根据预先定义的并行进程数,通过shell生成用于数据库卸载数据的并行多进程。
进一步地,所述配置信息包括数据库信息和目录信息;根据要卸载的数据库的配置信息,建立先入先出队列FIFO管道文件,具体为:根据要卸载的数据库的数据库信息和目录信息,生成<数据库sid>.tables文件,并定义文件描述符指向<数据库sid>.tables文件,其中<数据库sid>.tables文件包括数据库目录信息下的所有表信息。
进一步地,所述进程的数量和FIFO管道文件中换行符的数量相同。
进一步地,所述每个进程读取一数据行后向FIFO管道文件写入一个换行符,当FIFO管道文件中没有换行符时,数据库的数据卸载完成,具体为:多进程并行读取<数据库sid>.tables文件中的数据,每个进程读取一数据行后向<数据库sid>.tables文件写入一个换行符;调用卸载Ociuldr卸载工具进行数据卸载,当<数据库sid>.tables文件中没有数据可读时,数据库的数据卸载完成。
进一步地,所述Ociuldr卸载工具的指令包含:batchman.sh,指调度主程序的主入口;batchUI.sh,指调度界面UI;config.cfg,指配置文件,包括数据库信息,路径信息,以及并发卸载进程数;data,指卸载的数据将放在此文件夹,命名方式schema_tablename;odsdb.tables,指所有需要卸数的表的信息都会保存在这个文件中,多进程算法会根据指定的进程数读取该文件,直到该文件无内容可读;programSchedule.sh,指数据卸载主程序,多进程实现并控制进程数的核心算法,通过修改其中的exeProgram函数,或配置为其它卸数工具;public.sh,指调度程序中的自定义函数;tablesFile.sh,指通过用户在调度界面输入的schema信息,生成odsdb.tables;logs,指日志目录,记录每个表的卸数日志,包括卸数开始时间,结束时间,卸载数据的行数。
与现有技术相比,本发明通过多进程自动卸载数据库的数据,提高数据卸载的速度,实现数据库数据的快速迁移。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明的一种实施例中数据库卸载数据的调度方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明针对现有技术中大数据量数据库卸载数据缓慢的问题,提高数据卸载的速度,实现数据库数据的快速迁移,从而降低数据迁移成本。本发明为了充分利用服务器I/O资源,通过实现shell多进程及进程控制并结合数据卸载工具,例如Ociuldr,DB2IDMT等,提高I/O利用率,实现数据库数据的快速卸载。
图1是本发明的一种实施例中数据库卸载数据的调度方法的流程示意图。如图1所示,包括:
步骤101,获取要卸载的数据库的配置信息,并部署用于数据库卸载数据的并行多进程。
在本步骤中,卸数调度程序首先会读入配置文件中定义的数据库信息、目录信息以及用户定义的并行卸数进程数。
根据用户定义的并行进程数,通过shell生成用于数据库卸载数据的并行多进程。具体如何部署多进程为本领域技术人员所知,故在此不赘述。
步骤102,根据要卸载的数据库的配置信息,建立先入先出队列(FIFO,FirstInputFirstOutput)管道文件,并将预设数量的换行符写入该FIFO管道文件中,其中一个换行符对应一个进程。
在本步骤中,卸数调度程序根据数据库的配置信息生成<数据库sid>.tables文件,该<数据库sid>.tables文件即为FIFO管道文件,包含指定数据库schema下的所有表。
定义文件描述符指向该FIFO管道文件。预先将设定数量的换行符写入到该FIFO管道文件中,一个换行符代表一个进程,例如如果写入了5个换行符,那么有5个进程读取该FIFO管道文件中的文件数据行。
步骤103,每个进程读取一数据行后向该FIFO管道文件写入一个换行符,当FIFO管道文件中没有换行符时,数据库的数据卸载完成。
在本步骤中,读取<数据库sid>.tables文件中的表信息,并调用卸载Ociuldr工具完成该表的数据卸载。当<数据库sid>.tables文件中没有数据可读的时候,卸数调度程序执行完毕。
进程控制原理是通过定义的管道文件实现的,每个进程读取一行数据后都会向管道文件写入一个换行符,从而保证进程数是指定的。当进程执行完毕且FIFO管道文件中没有数据行可读时,将不会往FIFO管道文件中写入换行符。当FIFO管道文件中无换行符可读时,卸数调度程序执行完毕。
本发明的数据卸载调度程序,可以利用并行多进程调用卸载工具,以Ociuldr卸载工具为例,进行数据卸载,实现数据卸载的自动化,提高卸数效率。
数据卸载调度程序主要包含如下文件:
-rwxrwxrwx1dpfinst1db2iadm1840Apr2109:51batchman.sh
-rwxrwxrwx1dpfinst1db2iadm1993Apr2109:58batchUI.sh
-rwxrwxrwx1dpfinst1db2iadm1381Apr2015:16config.cfg
drwxrwxrwx2dpfinst1db2iadm14096May513:30data
drwxrwxrwx2dpfinst1db2iadm112288May513:31logs
-rwxrwxrwx1dpfinst1db2iadm182921Apr1811:01ociuldr
-rwxrwxrwx1dpfinst1db2iadm13232Apr1812:19odsdb.tables
-rwxrwxrwx1dpfinst1db2iadm12610Apr2109:25programSchedule.sh
-rwxrwxrwx1dpfinst1db2iadm11700Apr2015:17public.sh
-rwxrwxrwx1dpfinst1db2iadm14341Apr2015:23tablesFile.sh
其中,
batchman.sh调度主程序的主入口;
batchUI.sh调度界面UI;
config.cfg配置文件,包括数据库信息,路径信息,以及并发卸载进程数等;
data卸载的数据将放在此文件夹,命名方式schema_tablename;
ociuldrOciuldr数据卸载工具;
odsdb.tables所有需要卸数的表的信息都会保存在这个文件中,多进程算法会根据指定的进程数读取该文件,直到该文件无内容可读。格式如下:schema,tablename;
programSchedule.sh数据卸载主程序,多进程实现并控制进程数的核心算法,通过修改其中的exeProgram函数,也可以配置为其它卸数工具;
public.sh调度程序中的自定义函数,比如创建目录、删除目录、写文件、写日志等函数;
tablesFile.sh通过用户在调度界面输入的schema信息,生成odsdb.tables;
logs日志目录,记录每个表的卸数日志,包括卸数开始时间,结束时间,卸载数据的行数等。
本发明的一种实施例中数据库卸载数据的调度方法的具体算法如下:
下面举例对本发明的数据库卸载数据的调度方法做具体说明。
将Batchman1.0目录下的所有文件及文件夹放到制定目录下。
[dpfinst1@node1migr]$shbatchman.sh
Olculdr
Oiculdrexportdatacontrolplatform:
1.exportdata
0.quit
选择1.Exportdata。
输入要导出的schema的名称,全部大写,用空格作为分隔符。
pleaseinputthes+hemawhichyouwanttoexport(example:ODSFDMADM):
DOSFDMADMDATA_SRV
TheSchemaswhichyouwanttoexportis“ODSFDMADMDATA_SRV”:0Yes,1No
确定选择0Yes。
默认10个进程并行进行数据卸载,卸载的数据在./data文件夹下,调度程序的日志在./logs目录下,命名方式为$orasid.log,数据卸载的每个表的日志也在./logs目录下,命名方式为schema.tablename.log。
至此,数据卸载完毕。
本发明能够自动化高并发实现数据的快速卸载,优点至少包括:
1、参数可配。用户可以通过config.cfg文件配置数据库信息、目录路径以及进程数。
2、全自动化卸数。用户只需要在界面输入需要卸数的schema信息,本调度便会自动卸数,全程不需要用户的干预,用户可以利用剩余时间从事其它工作。
3、完善的日志。本调度有完善的日志记录,方便用户查看,核对数据卸载的记录数是否正确。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (6)

1.一种数据库卸载数据的调度方法,其特征在于,包括:
获取要卸载的数据库的配置信息,并部署用于数据库卸载数据的并行多进程;
根据要卸载的数据库的配置信息,建立先入先出队列FIFO管道文件,并将预设数量的换行符写入FIFO管道文件中,其中一个换行符对应一个进程;
每个进程读取一数据行后向FIFO管道文件写入一个换行符,当FIFO管道文件中没有换行符时,数据库的数据卸载完成。
2.根据权利要求1所述的数据库卸载数据的调度方法,其特征在于,所述部署用于数据库卸载数据的并行多进程,具体为:
根据预先定义的并行进程数,通过shell生成用于数据库卸载数据的并行多进程。
3.根据权利要求1所述的数据库卸载数据的调度方法,其特征在于,所述配置信息包括数据库信息和目录信息;
根据要卸载的数据库的配置信息,建立先入先出队列FIFO管道文件,具体为:
根据数据库信息和目录信息,生成<数据库sid>.tables文件,并定义文件描述符指向<数据库sid>.tables文件,其中<数据库sid>.tables文件包括数据库目录信息下的所有表信息。
4.根据权利要求3所述的数据库卸载数据的调度方法,其特征在于,所述进程的数量和FIFO管道文件中换行符的数量相同。
5.根据权利要求4所述的数据库卸载数据的调度方法,其特征在于,所述每个进程读取一数据行后向FIFO管道文件写入一个换行符,当FIFO管道文件中没有换行符时,数据库的数据卸载完成,具体为:
多进程并行读取<数据库sid>.tables文件中的数据,每个进程读取一数据行后向<数据库sid>.tables文件写入一个换行符;调用卸载Ociuldr卸载工具进行数据卸载,当<数据库sid>.tables文件中没有数据可读时,数据库的数据卸载完成。
6.根据权利要求5所述的数据库卸载数据的调度方法,其特征在于,所述Ociuldr卸载工具的指令包含:
batchman.sh,指调度主程序的主入口;
batchUI.sh,指调度界面UI;
config.cfg,指配置文件,包括数据库信息,路径信息,以及并发卸载进程数;
data,指卸载的数据将放在此文件夹,命名方式schema_tablename;
odsdb.tables,指所有需要卸数的表的信息都会保存在这个文件中,多进程算法会根据指定的进程数读取该文件,直到该文件无内容可读;
programSchedule.sh,指数据卸载主程序,多进程实现并控制进程数的核心算法,通过修改其中的exeProgram函数,或配置为其它卸数工具;
public.sh,指调度程序中的自定义函数;
tablesFile.sh,指通过用户在调度界面输入的schema信息,生成odsdb.tables;
logs,指日志目录,记录每个表的卸数日志,包括卸数开始时间,结束时间,卸载数据的行数。
CN201510568104.7A 2015-09-08 2015-09-08 一种数据库卸载数据的调度方法 Active CN105183854B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510568104.7A CN105183854B (zh) 2015-09-08 2015-09-08 一种数据库卸载数据的调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510568104.7A CN105183854B (zh) 2015-09-08 2015-09-08 一种数据库卸载数据的调度方法

Publications (2)

Publication Number Publication Date
CN105183854A true CN105183854A (zh) 2015-12-23
CN105183854B CN105183854B (zh) 2018-07-13

Family

ID=54905935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510568104.7A Active CN105183854B (zh) 2015-09-08 2015-09-08 一种数据库卸载数据的调度方法

Country Status (1)

Country Link
CN (1) CN105183854B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740073A (zh) * 2016-01-21 2016-07-06 浪潮(北京)电子信息产业有限公司 一种动态控制操作系统进程数量的方法及装置
CN106934037A (zh) * 2017-03-15 2017-07-07 郑州云海信息技术有限公司 一种高并发实现数据库快速加载数据的方法
CN108763403A (zh) * 2018-05-22 2018-11-06 中国建设银行股份有限公司 一种数据卸载方法和装置
CN111078666A (zh) * 2019-12-11 2020-04-28 中国建设银行股份有限公司 基于跨中心多数据库的自动化卸数供数的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7299237B1 (en) * 2004-08-19 2007-11-20 Sun Microsystems, Inc. Dynamically pipelined data migration
CN101097527A (zh) * 2006-06-27 2008-01-02 中国银联股份有限公司 一种应用进程的流程调度方法及系统
CN101198096A (zh) * 2007-12-29 2008-06-11 中国移动通信集团湖北有限公司 用于移动网络的多进程同步调度方法及其系统
CN102375891A (zh) * 2011-11-15 2012-03-14 山东浪潮金融信息系统有限公司 一种增量数据卸载和装载的实施工具

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7299237B1 (en) * 2004-08-19 2007-11-20 Sun Microsystems, Inc. Dynamically pipelined data migration
CN101097527A (zh) * 2006-06-27 2008-01-02 中国银联股份有限公司 一种应用进程的流程调度方法及系统
CN101198096A (zh) * 2007-12-29 2008-06-11 中国移动通信集团湖北有限公司 用于移动网络的多进程同步调度方法及其系统
CN102375891A (zh) * 2011-11-15 2012-03-14 山东浪潮金融信息系统有限公司 一种增量数据卸载和装载的实施工具

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740073A (zh) * 2016-01-21 2016-07-06 浪潮(北京)电子信息产业有限公司 一种动态控制操作系统进程数量的方法及装置
CN106934037A (zh) * 2017-03-15 2017-07-07 郑州云海信息技术有限公司 一种高并发实现数据库快速加载数据的方法
CN108763403A (zh) * 2018-05-22 2018-11-06 中国建设银行股份有限公司 一种数据卸载方法和装置
CN111078666A (zh) * 2019-12-11 2020-04-28 中国建设银行股份有限公司 基于跨中心多数据库的自动化卸数供数的方法
CN111078666B (zh) * 2019-12-11 2023-06-27 中国建设银行股份有限公司 基于跨中心多数据库的自动化卸数供数的方法

Also Published As

Publication number Publication date
CN105183854B (zh) 2018-07-13

Similar Documents

Publication Publication Date Title
US20230138736A1 (en) Cluster file system-based data backup method and apparatus, and readable storage medium
US11340803B2 (en) Method for configuring resources, electronic device and computer program product
CN107577420B (zh) 文件处理方法和装置、服务器
CN111767143A (zh) 交易数据处理方法、装置、设备及系统
CN105701190A (zh) 一种数据同步的方法和装置
CN105183854A (zh) 一种数据库卸载数据的调度方法
US20150261766A1 (en) Method and apparatus for determining a range of files to be migrated
US20180284999A1 (en) Data Migration with Application-Native Export and Import Capabilities
US9836516B2 (en) Parallel scanners for log based replication
CN102073697A (zh) 一种数据处理方法及装置
CN111177113B (zh) 数据迁移方法、装置、计算机设备和存储介质
CN111324606B (zh) 数据分片的方法及装置
CN110908707B (zh) 一种资源打包方法、装置、服务器及存储介质
CN109240607B (zh) 一种文件读取方法和装置
WO2021012932A1 (zh) 事务回滚方法及装置、数据库、系统、计算机存储介质
CN110825694A (zh) 数据处理方法、装置、设备和存储介质
CN101826109A (zh) 一种大容量文件分割方法、装置及系统
WO2024082787A1 (zh) 一种创建表空间的方法、装置、存储介质及电子设备
CN107423321B (zh) 适用大批量小文件云存储的方法及其装置
CN108418746A (zh) 一种邮件同步方法、装置与计算机可读存储介质
CN112860412B (zh) 业务数据处理方法、装置、电子设备及存储介质
CN103327112A (zh) 基于云存储的桌面同步方法以及实现桌面同步的装置
CN107506292A (zh) 一种多级非均匀目录下随机读时延的自动化测试方法
CN107291909B (zh) 数据处理方法及系统
CN106126487A (zh) 一种日志文件拆分方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant