CN110619015A - 支持大表的数据库系统的数据自动提取方法及系统 - Google Patents
支持大表的数据库系统的数据自动提取方法及系统 Download PDFInfo
- Publication number
- CN110619015A CN110619015A CN201910889932.9A CN201910889932A CN110619015A CN 110619015 A CN110619015 A CN 110619015A CN 201910889932 A CN201910889932 A CN 201910889932A CN 110619015 A CN110619015 A CN 110619015A
- Authority
- CN
- China
- Prior art keywords
- database system
- calling
- large table
- module
- instruction
- 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.)
- Pending
Links
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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
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)
- Stored Programmes (AREA)
Abstract
本发明提出了一种支持大表的数据库系统的数据自动提取方法及系统,其中,该方法包括:接收调用指令;根据所述调用指令,调用打印模块;执行SQL脚本,提取银行交易数据库系统中的大表;通过所述打印模块,将所述大表写成可读格式的文件并打印至指定目录。本发明提出的支持大表的数据库系统的数据自动提取方法及系统可以实现简单、高效的数据自动提取,且支持大表长时间导出,避免会话超时断开,提取过程中所用的SQL脚本可以根据业务报表的需求定制,并可以随时修改,能够满足多种业务数据的提取需求,无需漫长的开发周期。
Description
技术领域
本发明涉及数据库技术领域,尤指一种支持大表的数据库系统的数据自动提取方法及系统。
背景技术
目前,在涉及银行交易的数据库系统中,往往数据量比较大,而且业务多变,需要根据业务需求及时的进行数据提取。
通常,现有的提取方式是通过在数据库系统中开发相关报表查询导出页面,由业务人员登录web页面进行导出;或者通过维护人员在数据库PL/SQL Developer客户端运行SQL语句,运行得到结果后复制导出。
但是,第一种处理方式通过开发web页面提供业务查询导出的功能流程比较长,而且实现部署起来工作量较大,往往提出一个需求到真正实现投产需要三个月或更长时间,由于业务需求多变,等到开发出来,已不能满足业务需要的功能;另外,对数据量比较大的表,业务人员希望导出Excel分发给各个分行进行核对,通过web页面很难导出,导出中间有可能发生超时会话断开。第二种处理方式需要维护人员手工操作,运行时间长时同样容易会话超时,不支持大表导出。
综上来看,亟需一种支持大表且能够简单、高效进行数据库系统的数据自动提取方案。
发明内容
为解决上述问题,本发明提出了一种支持大表的数据库系统的数据自动提取方法及系统,采用开放平台技术,利用shell编程调用数据库接口,在后台运行,避免会话超时断开,支持大表长时间导出;利用数据库的spool语言,以写日志方式,将SQL结果写成CSV格式,这种数据自动提取方式执行简单、高效,方便业务人员操作查看。
在本发明一实施例中,提出了一种支持大表的数据库系统的数据自动提取方法,该方法包括:
接收调用指令;
根据所述调用指令,调用打印模块;
执行SQL脚本,提取银行交易数据库系统中的大表;
通过所述打印模块,将所述大表写成可读格式的文件并打印至指定目录。
在本发明一实施例中,还提出了一种支持大表的数据库系统的数据自动提取系统,该系统包括:
指令接收模块,用于接收调用指令;
命令执行模块,用于根据所述调用指令,调用打印模块;
提取模块,用于执行SQL脚本,提取银行交易数据库系统中的大表;
打印模块,用于将所述大表写成可读格式的文件并打印至指定目录。
在本发明一实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现支持大表的数据库系统的数据自动提取方法。
在本发明一实施例中,还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有执行支持大表的数据库系统的数据自动提取方法的计算机程序。
本发明提出的支持大表的数据库系统的数据自动提取方法及系统可以实现简单、高效的数据自动提取,且支持大表长时间导出,避免会话超时断开,提取过程中所用的SQL脚本可以根据业务报表的需求定制,并可以随时修改,能够满足多种业务数据的提取需求,无需漫长的开发周期。
附图说明
图1是本发明一实施例的支持大表的数据库系统的数据自动提取方法流程图。
图2是本发明一具体实施例的数据自动提取方法流程图。
图3是本发明一实施例的支持大表的数据库系统的数据自动提取系统结构示意图。
图4是本发明一具体实施例的程序列表示意图。
图5是本发明一具体实施例的脚本程序示意图。
图6是本发明一具体实施例的生成的CSV文件列表示意图。
图7是本发明一具体实施例的CSV文件的内容示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种支持大表的数据库系统的数据自动提取方法及系统。通常,业务人员习惯使用Excel查看数据,本发明将处理结果写成CSV格式文件。既可以用Excel打开,也可以用文本编辑器,使业务人员可以方便查看或个性化处理。
在本文中,需要理解的是,所涉及的术语中:
Oracle:Oracle系统,即是以Oracle关系数据库为数据存储和管理作为构架基础,构建出的数据库管理系统。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
图1是本发明一实施例的支持大表的数据库系统的数据自动提取方法流程图。如图1所示,该方法包括:
步骤S1,接收调用指令。
步骤S2,根据所述调用指令,调用打印模块;
步骤S3,执行SQL脚本,提取银行交易数据库系统中的大表。
步骤S4,通过所述打印模块,将所述大表写成可读格式的文件并打印至指定目录。
在一实施例中,结合图2所示,为一具体实施例的数据自动提取方法流程图。如图1及图2所示,在步骤S1执行时,可以通过设定定时执行任务指令,决定什么时间执行调用指令。其中,定时执行任务指令可以是crontab指令,crontab指令是一种用于设置周期性被执行的指令,该指令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。
如前所述,在步骤S1中增加的定时功能是为了方便维护人员,不用调用并等待。特别是对大表或运行时间较长的程序,可以在夜里定时,维护人员第二天可以直接看到结果。定时功能的设置不是必须的,维护人员可以根据需要设置,也可以不设置,直接调用主shell程序。
当到达指定时间时或者由工作人员手动调用时,如步骤S2所述,即可调用银行交易数据库系统的主入口函数,主入口函数进一步调用打印模块。通常,MAIN入口函数,又称主入口函数,是程序执行的起点,MAIN是相对来说的。程序执行总是从MAIN函数开始,如果有有其他函数,则完成对其他函数的调用后再返回到主函数,最后由MAIN函数结束整个程序,其他函数是不能调用MAIN函数的。在执行程序时,由系统调用MAIN函数。MAIN函数是在程序启动中完成对具有静态存储期的非局部对象的初始化之后被调用的,它是程序在有宿主(hosted)环境(亦即有操作系统)中所指定的入口点。
这里的打印模块可以是spool通用模块。spool通用模块中所执行的spool指令是Oracle的SQL PLUS里面的一个命令,可以将执行结果打印到指定目录的文件。具体来讲,spool指令是将在一期间内所有的操作结果写入到指定的文件中,可以理解为spool指令将创建一个新文件,在接下来对所有的操作及操作接口都输入到该文件中。
进一步的,如步骤S3所述,可以利用shell脚本调用SQL脚本,将SQL脚本依次执行,提取银行交易数据库系统中的大表。shell脚本是一种程序设计语言,它可以互动式的解释和执行用户输入的命令,其中定义了变量、参数及控制结构。
其中,所述SQL脚本可以由业务人员根据业务报表的需求定制,例如报表格式或报表类型等,SQL脚本可以放在一个参数表中,这样,用户随时可以根据业务需求方便、及时的变更SQL参数。
最后结合步骤S4所述,利用选取语句(select语句),根据指定的条件在所述大表中选取数据,生成记录集合;通过所述spool通用模块,将所述记录集合写成可读格式的文件,打印至指定目录。
其中,可读格式的文件可以是CSV(Comma-Separated Values,逗号分隔值,也可称为字符分隔值,因为分隔字符也可以不是逗号)格式,文件中的字段间由逗号隔开,如果某一字段为纯数字,在所述某一字段插入特殊分隔符。
例如,字段为纯数字:'1234567891234567899123455,要以文本形式存在,在该数字字符串前加英文标点撇点,这样保存的CSV格式文件,能够保留原有格式。如若设置单元格格式为文本格式,建议输长串数字时,仍然加上撇点。
经过前述步骤,可以快速、方便的从银行交易数据库系统中提取大表的数据,该方案可以在shell后台运行,不会因超时而断掉,而且能根据业务需求及时变更SQL脚本,不需经历漫长的开发周期。
需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
基于同一发明构思,本发明还提出了一种支持大表的数据库系统的数据自动提取系统,如图3所示,该系统包括:
指令接收模块100,用于接收调用指令;
命令执行模块200,用于根据所述调用指令,调用打印模块;
提取模块300,用于执行SQL脚本,提取银行交易数据库系统中的大表;
打印模块400,用于将所述大表写成可读格式的文件并打印至指定目录。
应当注意,尽管在上文详细描述中提及了支持大表的数据库系统的数据自动提取系统的若干模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
本发明提出的数据自动提取方法及系统支持大表,即不受需要导出的表大小的限制,要导出多少条数据都是可以的,由于在后台执行,不会会话断开或进程中断;并且,还可以根据业务需要分维度生成多个文件,按照维度自动依次执行,不用手工依次执行,也无需等待很长时间完成后再导出下一个。
为了对上述支持大表的数据库系统的数据自动提取方法及系统进行更为清楚的解释,下面结合一个具体的实施例来进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。
实施例一:
以某一数据库系统为例,如图4所示,该数据库系统的程序列表中,包含了多个程序,如shell脚本(后缀为.sh)和SQL脚本(后缀为.sql)。
如图5所示,由于大表数据为纯数字内容,在EXCEL打开时,容易转换为科学计数法显示,故加入特殊符号(实线框501所标记),将内容转换为文本格式显示。
利用图1所示的支持大表的数据库系统的数据自动提取方法,如图6所示,可以将大表写成多个可读格式的CSV文件。
参考图7所示,为图6中“85非居民个人存款表_明细.csv”的示例性内容,此图仅示例性的展示了12个账户的明细内容,从图中可以看出经过数据自动提取后,提取的具体数据内容。需要说明的是,具体数据明细并不仅限于次,每个机构的明细表可以根据实际情况进行调整,本申请并不对此进行严格限定。这样,经过前述步骤的数据自动提取,可以快速、方便的从银行交易数据库系统中提取大表的数据,该方案可以在shell后台运行,不会因超时而断掉,而且能根据业务需求及时变更SQL脚本,不需经历漫长的开发周期。
基于同一发明构思,本发明还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现支持大表的数据库系统的数据自动提取方法。
基于同一发明构思,本发明还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有执行支持大表的数据库系统的数据自动提取方法的计算机程序。
本发明提出的支持大表的数据库系统的数据自动提取方法及系统可以实现简单、高效的数据自动提取,且支持大表长时间导出,避免会话超时断开,提取过程中所用的SQL脚本可以根据业务报表的需求定制,并可以随时修改,能够满足多种业务数据的提取需求,无需漫长的开发周期。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (10)
1.一种支持大表的数据库系统的数据自动提取方法,其特征在于,该方法包括:
接收调用指令;
根据所述调用指令,调用打印模块;
执行SQL脚本,提取银行交易数据库系统中的大表;
通过所述打印模块,将所述大表写成可读格式的文件并打印至指定目录。
2.根据权利要求1所述的支持大表的数据库系统的数据自动提取方法,其特征在于,接收调用指令,还包括:
设置定时执行任务指令;
根据所述定时执行任务指令,在到达指定时间时,接收并执行所述调用指令。
3.根据权利要求1所述的支持大表的数据库系统的数据自动提取方法,其特征在于,所述打印模块为spool通用模块。
4.根据权利要求3所述的支持大表的数据库系统的数据自动提取方法,其特征在于,根据所述调用指令,调用打印模块,还包括:
根据所述调用指令,调用银行交易数据库系统中的主入口函数,利用所述主入口函数进一步调用所述spool通用模块。
5.根据权利要求1所述的支持大表的数据库系统的数据自动提取方法,其特征在于,执行SQL脚本,提取银行交易数据库系统中的大表,还包括:
利用shell脚本调用SQL脚本,依次执行所述SQL脚本,提取银行交易数据库系统中的大表;其中,所述SQL脚本根据业务报表的格式或类型定制。
6.根据权利要求3所述的支持大表的数据库系统的数据自动提取方法,其特征在于,通过所述打印模块,将所述大表写成可读格式的文件并打印至指定目录,还包括:
利用选取语句,根据指定的条件在所述大表中选取数据,生成记录集合;
通过所述spool通用模块,将所述记录集合写成可读格式的文件,打印至指定目录。
7.根据权利要求6所述的支持大表的数据库系统的数据自动提取方法,其特征在于,所述可读格式的文件为CSV格式,其中,文件中的字段间由逗号隔开,如果某一字段为纯数字,在所述某一字段插入特殊分隔符。
8.一种支持大表的数据库系统的数据自动提取系统,其特征在于,该系统包括:
指令接收模块,用于接收调用指令;
命令执行模块,用于根据所述调用指令,调用打印模块;
提取模块,用于执行SQL脚本,提取银行交易数据库系统中的大表;
打印模块,用于将所述大表写成可读格式的文件并打印至指定目录。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至7任一所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910889932.9A CN110619015A (zh) | 2019-09-20 | 2019-09-20 | 支持大表的数据库系统的数据自动提取方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910889932.9A CN110619015A (zh) | 2019-09-20 | 2019-09-20 | 支持大表的数据库系统的数据自动提取方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110619015A true CN110619015A (zh) | 2019-12-27 |
Family
ID=68923681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910889932.9A Pending CN110619015A (zh) | 2019-09-20 | 2019-09-20 | 支持大表的数据库系统的数据自动提取方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110619015A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050102310A1 (en) * | 2003-11-06 | 2005-05-12 | Marr Gary W. | Systems, methods and computer program products for automating retrieval of data from a DB2 database |
CN102867069A (zh) * | 2012-09-28 | 2013-01-09 | 浙江图讯科技有限公司 | 一种基于sql的数据库脚本执行方法及系统 |
CN105446948A (zh) * | 2015-11-13 | 2016-03-30 | 武汉鸿图节能技术有限公司 | 一种报表自动生成方法及系统 |
US9734222B1 (en) * | 2004-04-06 | 2017-08-15 | Jpmorgan Chase Bank, N.A. | Methods and systems for using script files to obtain, format and transport data |
CN107958028A (zh) * | 2017-11-16 | 2018-04-24 | 平安科技(深圳)有限公司 | 数据采集的方法、装置、存储介质及终端 |
-
2019
- 2019-09-20 CN CN201910889932.9A patent/CN110619015A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050102310A1 (en) * | 2003-11-06 | 2005-05-12 | Marr Gary W. | Systems, methods and computer program products for automating retrieval of data from a DB2 database |
US9734222B1 (en) * | 2004-04-06 | 2017-08-15 | Jpmorgan Chase Bank, N.A. | Methods and systems for using script files to obtain, format and transport data |
CN102867069A (zh) * | 2012-09-28 | 2013-01-09 | 浙江图讯科技有限公司 | 一种基于sql的数据库脚本执行方法及系统 |
CN105446948A (zh) * | 2015-11-13 | 2016-03-30 | 武汉鸿图节能技术有限公司 | 一种报表自动生成方法及系统 |
CN107958028A (zh) * | 2017-11-16 | 2018-04-24 | 平安科技(深圳)有限公司 | 数据采集的方法、装置、存储介质及终端 |
Non-Patent Citations (1)
Title |
---|
赵悦: "《一种支持大表的数据库系统的数据自动提取方法》", 31 August 2019, 重庆大学出版社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9842099B2 (en) | Asynchronous dashboard query prompting | |
US8745581B2 (en) | Method and system for selectively copying portions of a document contents in a computing system (smart copy and paste | |
US10255152B2 (en) | Generating test data | |
US20120158795A1 (en) | Entity triggers for materialized view maintenance | |
US20140149838A1 (en) | Dashboard Formula Execution | |
CN112015413A (zh) | 一种免编程数据可视化Web展示系统及其实现方法 | |
CN101640587B (zh) | 数据同步方法及装置 | |
CN103136231A (zh) | 一种异构数据库间的数据同步方法及系统 | |
US9703767B2 (en) | Spreadsheet cell dependency management | |
US20080263142A1 (en) | Meta Data Driven User Interface System and Method | |
JP2022545303A (ja) | 概念データモデルからのソフトウェアアーチファクトの生成 | |
CN104199647A (zh) | 一种基于ibm主机的可视化系统及实现方法 | |
CN111324609A (zh) | 知识图谱构建方法、装置、电子设备及存储介质 | |
CN113821565B (zh) | 一种多数据源同步数据的方法 | |
CN109445794B (zh) | 一种页面构造方法及装置 | |
CN108268615B (zh) | 一种数据处理方法、装置以及系统 | |
CN111241800A (zh) | MySQL数据库表结构文档的生成方法、存储介质及智能终端 | |
US20030233343A1 (en) | System and method for generating custom business reports for a WEB application | |
CN106873989A (zh) | 应用程序构造方法和装置 | |
CN113568621A (zh) | 一种页面埋点的数据处理方法和装置 | |
CN110619015A (zh) | 支持大表的数据库系统的数据自动提取方法及系统 | |
CN103809915A (zh) | 一种磁盘文件的读写方法和装置 | |
CN201886520U (zh) | 一种支持多语言的数据转换设备 | |
US7734665B2 (en) | System and method for providing database utilities for mainframe operated databases | |
CN113626016A (zh) | 一种基于Vue+Element UI+Koa2的前后端分离的可重用组件 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191227 |
|
RJ01 | Rejection of invention patent application after publication |