支持大表的数据库系统的数据自动提取方法及系统技术方案

技术编号:22944479 阅读:28 留言:0更新日期:2019-12-27 17:09
本发明专利技术提出了一种支持大表的数据库系统的数据自动提取方法及系统,其中,该方法包括:接收调用指令;根据所述调用指令,调用打印模块;执行SQL脚本,提取银行交易数据库系统中的大表;通过所述打印模块,将所述大表写成可读格式的文件并打印至指定目录。本发明专利技术提出的支持大表的数据库系统的数据自动提取方法及系统可以实现简单、高效的数据自动提取,且支持大表长时间导出,避免会话超时断开,提取过程中所用的SQL脚本可以根据业务报表的需求定制,并可以随时修改,能够满足多种业务数据的提取需求,无需漫长的开发周期。

Automatic data extraction method and system of database system supporting large table

【技术实现步骤摘要】
支持大表的数据库系统的数据自动提取方法及系统
本专利技术涉及数据库
,尤指一种支持大表的数据库系统的数据自动提取方法及系统。
技术介绍
目前,在涉及银行交易的数据库系统中,往往数据量比较大,而且业务多变,需要根据业务需求及时的进行数据提取。通常,现有的提取方式是通过在数据库系统中开发相关报表查询导出页面,由业务人员登录web页面进行导出;或者通过维护人员在数据库PL/SQLDeveloper客户端运行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的SQLPLUS里面的一个命令,可以将执行结果打印到指定目录的文件。具体来讲,spool指令是将在一期间内所有的操作结果写入到指定的文件中,可以理解为spool指令将创建一个新文件,在接下来对所有的操作及操作接口都输入到该文件中。进一步的,如步骤S3所述,可以利用shell脚本调用SQL脚本,将SQL脚本依次执行,提取银行交易数据库系统中的大表。shell本文档来自技高网...

【技术保护点】
1.一种支持大表的数据库系统的数据自动提取方法,其特征在于,该方法包括:/n接收调用指令;/n根据所述调用指令,调用打印模块;/n执行SQL脚本,提取银行交易数据库系统中的大表;/n通过所述打印模块,将所述大表写成可读格式的文件并打印至指定目录。/n

【技术特征摘要】
1.一种支持大表的数据库系统的数据自动提取方法,其特征在于,该方法包括:
接收调用指令;
根据所述调用指令,调用打印模块;
执行SQL脚本,提取银行交易数据库系统中的大表;
通过所述打印模块,将所述大表写成可读格式的文件并打印至指定目录。


2.根据权利要求1所述的支持大表的数据库系统的数据自动提取方法,其特征在于,接收调用指令,还包括:
设置定时执行任务指令;
根据所述定时执行任务指令,在到达指定时间时,接收并执行所述调用指令。


3.根据权利要求1所述的支持大表的数据库系统的数据自动提取方法,其特征在于,所述打印模块为spool通用模块。


4.根据权利要求3所述的支持大表的数据库系统的数据自动提取方法,其特征在于,根据所述调用指令,调用打印模块,还包括:
根据所述调用指令,调用银行交易数据库系统中的主入口函数,利用所述主入口函数进一步调用所述spool通用模块。


5.根据权利要求1所述的支持大表的数据库系统的数据自动提取方法,其特征在于,执行SQL脚本,提取银行交易数据库系统中的大表,还包括:
利用shell脚本调用SQL脚本,依次执行所述SQL脚本,提取银行交易数据库系统中的大表;其中,所述SQL脚本根据业务报表的格式或类型定制。
...

【专利技术属性】
技术研发人员:张宁宁吴永华蒋先虎曹静范怡
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1