CN105183854B - 一种数据库卸载数据的调度方法 - Google Patents
一种数据库卸载数据的调度方法 Download PDFInfo
- Publication number
- CN105183854B CN105183854B CN201510568104.7A CN201510568104A CN105183854B CN 105183854 B CN105183854 B CN 105183854B CN 201510568104 A CN201510568104 A CN 201510568104A CN 105183854 B CN105183854 B CN 105183854B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- file
- unloading
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000008569 process Effects 0.000 claims abstract description 49
- 230000005012 migration Effects 0.000 description 8
- 238000013508 migration Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/21—Design, administration or maintenance of databases
- G06F16/214—Database 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函数,也可以配置
为DB2IDMT卸载数据工具;public.sh,指调度程序中的自定义函数;tablesFile.sh,指通过
用户在调度界面输入的schema信息,生成odsdb.tables;logs,指日志目录,记录每个表的
卸载数据日志,包括卸载数据开始时间,结束时间,卸载数据的行数。
与现有技术相比,本发明通过多进程自动卸载数据库的数据,提高数据卸载的速度,实现数据库数据的快速迁移。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明的一种实施例中数据库卸载数据的调度方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明针对现有技术中大数据量数据库卸载数据缓慢的问题,提高数据卸载的速度,实现数据库数据的快速迁移,从而降低数据迁移成本。本发明为了充分利用服务器I/O资源,通过实现shell多进程及进程控制并结合数据卸载工具,例如Ociuldr,DB2IDMT等,提高I/O利用率,实现数据库数据的快速卸载。
图1是本发明的一种实施例中数据库卸载数据的调度方法的流程示意图。如图1所示,包括:
步骤101,获取要卸载的数据库的配置信息,并部署用于数据库卸载数据的并行多进程。
在本步骤中,卸载数据调度程序首先会读入配置文件中定义的数据库信息、目录信息以及用户定义的并行卸载数据进程数。
根据用户定义的并行进程数,通过shell生成用于数据库卸载数据的并行多进程。具体如何部署多进程为本领域技术人员所知,故在此不赘述。
步骤102,根据要卸载的数据库的配置信息,建立先入先出队列(FIFO,FirstInput First Output)管道文件,并将预设数量的换行符写入该FIFO管道文件中,其中一个换行符对应一个进程。
在本步骤中,卸载数据调度程序根据数据库的配置信息生成<数据库sid>.tables
文件,该<数据库sid>.tables文件即为FIFO管道文件,包含指定数据库schema下的所有表。
定义文件描述符指向该FIFO管道文件。预先将设定数量的换行符写入到该FIFO管道文件中,一个换行符代表一个进程,例如如果写入了5个换行符,那么有5个进程读取该FIFO管道文件中的文件数据行。
步骤103,每个进程读取一数据行后向该FIFO管道文件写入一个换行符,当FIFO管道文件中没有换行符时,数据库的数据卸载完成。
在本步骤中,读取<数据库sid>.tables文件中的表信息,并调用卸载Ociuldr工具
完成该表的数据卸载。当<数据库sid>.tables文件中没有数据可读的时候,卸载数据调度
程序执行完毕。
进程控制原理是通过定义的管道文件实现的,每个进程读取一行数据后都会向管道文件写入一个换行符,从而保证进程数是指定的。当进程执行完毕且FIFO管道文件中没有数据行可读时,将不会往FIFO管道文件中写入换行符。当FIFO管道文件中无换行符可读时,卸载数据调度程序执行完毕。
本发明的数据卸载调度程序,可以利用并行多进程调用卸载工具,以Ociuldr卸载工具为例,进行数据卸载,实现数据卸载的自动化,提高卸载数据效率。
数据卸载调度程序主要包含如下文件:
-rwxrwxrwx 1 dpfinst1 db2iadm1 840 Apr 21 09:51 batchman.sh
-rwxrwxrwx 1 dpfinst1 db2iadm1 993 Apr 21 09:58 batchUI.sh
-rwxrwxrwx 1 dpfinst1 db2iadm1 381 Apr 20 15:16 config.cfg
drwxrwxrwx 2 dpfinst1 db2iadm1 4096 May 5 13:30 data
drwxrwxrwx 2 dpfinst1 db2iadm1 12288 May 5 13:31 logs
-rwxrwxrwx 1 dpfinst1 db2iadm1 82921 Apr 18 11:01 ociuldr
-rwxrwxrwx 1 dpfinst1 db2iadm1 3232 Apr 18 12:19 odsdb.tables
-rwxrwxrwx 1 dpfinst1 db2iadm1 2610 Apr 21 09:25 programSchedule.sh
-rwxrwxrwx 1 dpfinst1 db2iadm1 1700 Apr 20 15:17 public.sh
-rwxrwxrwx 1 dpfinst1 db2iadm1 4341 Apr 20 15:23 tablesFile.sh
其中,
batchman.sh 调度主程序的主入口;
batchUI.sh 调度界面UI;
config.cfg配置文件,包括数据库信息,路径信息,以及并发卸载进程数等;
data 卸载的数据将放在此文件夹,命名方式schema_tablename;
ociuldr Ociuldr数据卸载工具;
odsdb.tables所有需要卸载数据的表的信息都会保存在这个文件中,多进程算法
会根据指定的进程数读取该文件,直到该文件无内容可读。格式如下:schema,tablename;
programSchedule.sh 数据卸载主程序,多进程实现并控制进程数的核心算法,通过修改其中的exeProgram函数,也可以配置为DB2 IDMT卸载数据工具;
public.sh 调度程序中的自定义函数,比如创建目录、删除目录、写文件、写日志等函数;
tablesFile.sh 通过用户在调度界面输入的schema信息,生成odsdb.tables;
logs 日志目录,记录每个表的卸载数据日志,包括卸载数据开始时间,结束时间,卸载数据的行数等。
本发明的一种实施例中数据库卸载数据的调度方法的具体算法如下:
下面举例对本发明的数据库卸载数据的调度方法做具体说明。
将Batchman1.0目录下的所有文件及文件夹放到指定目录下。
[dpfinst1@node1 migr]$sh batchman.sh
oiculdr export data control Dlatform:
1.Export data
0.quit
选择1.Export data。
Please input the schema which you want to export(example:ODS FDMADM):
ODS FDM ADM DATA_SRV
输入要导出的schema的名称,全部大写,用空格作为分隔符。
Please input the schema which you want to export(exampl e:ODS FDMADM):
ODS FDM ADM DATA_SRV
The schemas which you want to export is″ODS FDM ADM DATA_SRV″:0 Yes,1No
确定选择0 Yes。
默认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函数,也可以配置为DB2IDMT卸载数据工具;
public.sh,指调度程序中的自定义函数;
tablesFile.sh,指通过用户在调度界面输入的schema信息,生成odsdb.tables;
logs,指日志目录,记录每个表的卸载数据日志,包括卸载数据开始时间,结束时间,卸载数据的行数。
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 CN105183854A (zh) | 2015-12-23 |
CN105183854B true 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) |
Families Citing this family (4)
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 | 中国建设银行股份有限公司 | 一种数据卸载方法和装置 |
CN111078666B (zh) * | 2019-12-11 | 2023-06-27 | 中国建设银行股份有限公司 | 基于跨中心多数据库的自动化卸数供数的方法 |
Citations (4)
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 | 山东浪潮金融信息系统有限公司 | 一种增量数据卸载和装载的实施工具 |
-
2015
- 2015-09-08 CN CN201510568104.7A patent/CN105183854B/zh active Active
Patent Citations (4)
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 | 山东浪潮金融信息系统有限公司 | 一种增量数据卸载和装载的实施工具 |
Also Published As
Publication number | Publication date |
---|---|
CN105183854A (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11340803B2 (en) | Method for configuring resources, electronic device and computer program product | |
KR100509794B1 (ko) | 데이터베이스 관리시스템을 이용하는 작업들의 실시간 처리를 위한 스케줄링 방법 | |
CN105183854B (zh) | 一种数据库卸载数据的调度方法 | |
EP3355187A1 (en) | Loading method and device for terminal application (app) | |
US9529809B2 (en) | Managing log data using a circular fixed size file | |
US9836516B2 (en) | Parallel scanners for log based replication | |
US20150254105A1 (en) | Data processing system, data processing method, and program | |
US20180284999A1 (en) | Data Migration with Application-Native Export and Import Capabilities | |
CN114168302A (zh) | 任务调度方法、装置、设备及存储介质 | |
CN115525631A (zh) | 数据库数据迁移方法、装置、设备、存储介质 | |
EP3997568B1 (en) | Workflow-based scheduling and batching in multi-tenant distributed systems | |
US7237005B2 (en) | Job network setup method, job network execution method, job management system, management terminal and program | |
TW201709047A (zh) | 例行工作的分配方法及應用其之多核心電腦 | |
EP3200083B1 (en) | Resource scheduling method and related apparatus | |
US20140337595A1 (en) | Information processing apparatus, and information processing method | |
US10289329B2 (en) | Burst buffer dynamic logical volume sizing in high performance computing environment | |
US12019909B2 (en) | IO request pipeline processing device, method and system, and storage medium | |
CN111767126A (zh) | 分布式批量处理的系统和方法 | |
CN109995590A (zh) | 一种用户自定义设备数据处理服务托管方法 | |
CN111382141A (zh) | 主从架构配置方法、装置、设备以及计算机可读存储介质 | |
EP3657331B1 (en) | Module assignment management | |
CN113434469A (zh) | 一种基于线程池的异步导入文件方法 | |
CN115756811A (zh) | 一种数据传输方法、装置、设备及存储介质 | |
CN109271179B (zh) | 虚拟机应用程序管理方法、装置、设备及可读存储介质 | |
CN109032778A (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 |