一种数据导出方法和装置制造方法及图纸

技术编号:11994152 阅读:94 留言:0更新日期:2015-09-02 22:23
本发明专利技术公开了一种数据导出方法和装置。所述数据导出方法包括:接收用户的导出数据请求任务,并根据所述导出数据请求任务设置配置信息;根据所述配置信息,确定导出数据格式,并根据导出数据格式生成数据库可执行语句信息;根据所述数据库可执行语句信息,读取需要导出的数据,并将需要导出的数据转换为对应格式的导出数据;将所述导出数据写入文本文件,实现了自动完成不同格式的导出数据的导出工作,提高导出速度,节省运维成本。

【技术实现步骤摘要】

本专利技术实施例涉及数据导出
,尤其涉及一种数据导出方法和装置
技术介绍
在数据库日常运维中经常遇到导出数据到文本文件中,比较常用数据格式是CSV (Comma-Separated Values,逗号分隔值)格式,有时需要导出插入INSERT语句格式,虽然格式不同但处理的方式基本相同,目前基本采用spool日志文件方式导出结果,通常情况下是运维DBA (Database administrator,数据库管理员)根据用户的导出数据请求编写对应的导出数据脚本,然后运行导出数据脚本,生成日志文件在屏幕滚动显示,滚动显示所有导出数据之后,打包发送给用户。因此,对于不同的导出数据需求,每次都要重新编写导出数据脚本,灵活性较差,运维工作将变得十分繁杂,耗费大量的人力资源。并且当数据量较大时,通过spool日志文件屏幕滚动显示的方法导出数据耗时长,导出速度慢,时间成本上不可控。
技术实现思路
本专利技术提供一种数据导出方法和装置,以实现自动完成不同格式的导出数据的导出工作,提高导出速度,节省运维成本。第一方面,本专利技术实施例提供了一种数据导出方法,该方法包括:接收用户的导出数据请求任务,并根据所述导出数据请求任务设置配置信息;根据所述配置信息,确定导出数据格式,并根据导出数据格式生成数据库可执行语句信息;根据所述数据库可执行语句信息,读取需要导出的数据,并将需要导出的数据转换为对应格式的导出数据;将所述导出数据写入文本文件。进一步的,所述根据所述配置信息,确定导出数据格式,并根据导出数据格式生成数据库可执行语句信息,包括:根据所述配置信息,判断导出数据格式是否为插入语句格式,若是,则生成数据库可执行的插入语句信息;否则,生成数据库可执行的逗号分隔值语句信息。进一步的,在接收用户的导出数据请求任务,并根据所述导出数据请求任务设置配置信息之后,还包括:根据配置信息获取导出数据表占用物理空间,并根据所述导出数据表占用物理空间判断是否开启并行导出模式。进一步的,当根据所述导出数据表占用物理空间开启并行导出模式时,还包括:根据操作系统资源使用率,设置并行导出模式的并行度。进一步的,在将所述导出数据写入文本文件之前,还包括:判断所述导出数据的编码格式与所述配置信息是否一致,并在不一致时,将所述导出数据的编码格式转换为所述配置信息中的编码格式。第二方面,本专利技术实施例提供了一种数据导出装置,该装置包括:配置信息设置模块,用于接收用户的导出数据请求任务,并根据所述导出数据请求任务设置配置信息;解析模块,用于根据所述配置信息,确定导出数据格式,并根据导出数据格式生成数据库可执行语句信息;数据格式转换模块,用于根据所述数据库可执行语句信息,读取需要导出的数据,并将需要导出的数据转换为对应格式的导出数据;导出模块,用于将所述导出数据写入文本文件。进一步的,所述解析模块包括:导出数据格式判断单元,用于根据所述配置信息,判断导出数据格式是否为插入语句格式,若是,则生成数据库可执行的插入语句信息;否则,生成数据库可执行的逗号分隔值语句信息。进一步的,还包括:并行判断模块,用于根据配置信息获取导出数据表占用物理空间,并根据所述导出数据表占用物理空间判断是否开启并行导出模式。进一步的,还包括:并行度设置模块,根据操作系统资源使用率,设置并行导出模式的并行度。进一步的,还包括:编码格式转换模块,用于判断所述导出数据的编码格式与所述配置信息是否一致,并在不一致时,将所述导出数据的编码格式转换为所述配置信息中的编码格式。本专利技术通过接收用户的导出数据请求任务,并根据所述导出数据请求任务设置配置信息,根据所述配置信息,确定导出数据格式,并根据导出数据格式生成数据库可执行语句信息,根据所述数据库可执行语句信息,读取需要导出的数据,并将需要导出的数据转换为对应格式的导出数据,将所述导出数据写入文本文件,解决了现有技术中需要针对不用的数据导出任务分别编写程序导出数据的问题,并且本专利技术提供的数据导出方法与现有的通过spool日志文件屏幕滚动显示的方法导出相比,导出速度快。【附图说明】图1为本专利技术实施例一提供的一种数据导出方法的流程图;图2为本专利技术实施例二提供的一种数据导出方法的流程图;图3为本专利技术实施例三提供的一种数据导出方法的流程图;图4为本专利技术实施例四提供的一种数据导出装置的结构示意图。【具体实施方式】下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的一种数据导出方法的流程图,本实施例可适用于不同数据格式的导出任务,针对不同数据格式的导出任务,无需重新编写程序,只需加载相应的配置信息即可自动完成数据导出工作。本专利技术实施例可以由数据导出装置执行,该装置可以通过硬件和/或软件的方式实现,并一般可集成于数据库服务器端。如图1所示,该方法包括如下步骤:步骤110、接收用户的导出数据请求任务,并根据所述导出数据请求任务设置配置信息;在使用数据库的过程中,难免会有将数据表中的数据导出这样的需求,特别是一些企业需要经常性的提取一些业务数据作为分析决策的参考,而这些提取数据的需求又具有格式经常变化等特点。当用户需要导出数据时,通过客户端输入导出数据请求,并将所述导出数据请求发送至数据库服务器,数据库服务器识别所述导出数据请求,并根据上述导出数据请求任务设置配置信息,以根据不同的导出数据请求设置不同的导出参数。所述配置信息例如可以包括导出数据格式信息、需要导出数据表信息等。步骤120、根据所述配置信息,确定导出数据格式,并根据导出数据格式生成数据库可执行语句信息;加载上述配置信息并解析,确定导出数据格式,并生成数据库可执行的语句信息,以供数据库调用执行。步骤130、根据所述数据库可执行语句信息,读取需要导出的数据,并将需要导出的数据转换为对应格式的导出数据;根据所述数据库可执行语句信息,查询数据库,读取需要导出的数据,并将需要导出的数据转换为对应格式的导出数据。步骤140、将所述导出数据写入文本文件。本专利技术实施例直接将导出数据写入文本文件,代替传统的spool方式,由于传统的spool方式生成日志文件并在屏幕滚动显示,在操作系统上有2G大小的限制,如果日志文件大于2G,就有可能发生数据截断,影响导出数据的完整性,而本专利技术实施例直接将导出数据写入文本文件,因此不会有操作系统2G大小的限制。进一步的,本专利技术实施例所述的方法支持二进制存储单行数据,相比于spool方式的抓屏字符串显示,本本专利技术实施例所述的方法可用于宽表,单行不受字符串长度限制,防止导出数据因受字符串长度限制被截断丢失的技术问题。本专利技术实施例通过根据用户的导出数据请求任务设置配置信息,导出数据时,只需根据不同导出数据请求任务设置不同的配置信息即可完成相应的导出数据任务,解决了现有技术中针对每个导出数据任务分别编写程序的问题,节省了运维成本。实施例二图2为本专利技术实施例二提供的一种数据导出方法的流程图,本实施例为上述实施例基础上的优化,具体的,所述方法包括如下步骤:步骤210、接收用户的导出数据请求任务,并根据所述导本文档来自技高网...

【技术保护点】
一种数据导出方法,其特征在于,包括:接收用户的导出数据请求任务,并根据所述导出数据请求任务设置配置信息;根据所述配置信息,确定导出数据格式,并根据导出数据格式生成数据库可执行语句信息;根据所述数据库可执行语句信息,读取需要导出的数据,并将需要导出的数据转换为对应格式的导出数据;将所述导出数据写入文本文件。

【技术特征摘要】

【专利技术属性】
技术研发人员:李亮光
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

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

1