CN103092993B - 数据导出方法及装置 - Google Patents

数据导出方法及装置 Download PDF

Info

Publication number
CN103092993B
CN103092993B CN201310052542.9A CN201310052542A CN103092993B CN 103092993 B CN103092993 B CN 103092993B CN 201310052542 A CN201310052542 A CN 201310052542A CN 103092993 B CN103092993 B CN 103092993B
Authority
CN
China
Prior art keywords
data
derive
information
needing
object model
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
Application number
CN201310052542.9A
Other languages
English (en)
Other versions
CN103092993A (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.)
Beijing 58 Information Technology Co Ltd
Original Assignee
Beijing 58 Information Technology 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 Beijing 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Priority to CN201310052542.9A priority Critical patent/CN103092993B/zh
Publication of CN103092993A publication Critical patent/CN103092993A/zh
Application granted granted Critical
Publication of CN103092993B publication Critical patent/CN103092993B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据导出方法及装置。该方法包括:对配置文件中的配置信息进行设置,其中,配置信息包括:需要导出数据的数据库信息、数据库的表结构信息、数据导出格式信息、以及数据转换信息;在系统启动时,读取配置文件,将配置文件中的配置信息解析成对象模型存储在内存中,并根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句;根据数据库可执行语句从数据库中读取需要导出的数据,并根据对象模型中的数据转换信息,通过相应的转换器对需要导出的数据进行转换;根据对象模型中的数据导出格式信息,调用相应的文件生成器生成相应格式的导出数据。

Description

数据导出方法及装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种数据导出方法及装置。
背景技术
在现有技术中,提供了一种可扩展性高的数据导出导入的方法和装置。具体技术方案如下:预先设置一个脚本文件,判断脚本文件是否配置正确,并判断脚本中的表结构是否存在,当脚本文件正确并且指定的表存在,读取表结构信息,从数据库所指定的表中导出数据,将导出的数据和指定的相关表信息部分或全部写入数据文件中,可实现不同类型的数据库之间的数据转换。
在现有技术中,脚本文件的解析需要专门的脚本解析程序,灵活性较差,不支持多表关联的数据导出方式,不支持多种格式的数据导出,也不适合业务场景比较复杂的领域。
发明内容
本发明提供一种数据导出方法及装置,以解决现有技术中的上述问题。
本发明提供一种数据导出方法,包括:对配置文件中的配置信息进行设置,其中,配置信息包括:需要导出数据的数据库信息、数据库的表结构信息、数据导出格式信息、以及数据转换信息;在系统启动时,读取配置文件,将配置文件中的配置信息解析成对象模型存储在内存中,并根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句;根据数据库可执行语句从数据库中读取需要导出的数据,并根据对象模型中的数据转换信息,通过相应的转换器对需要导出的数据进行转换;根据对象模型中的数据导出格式信息,调用相应的文件生成器生成相应格式的导出数据。
优选地,在系统启动时,读取配置文件,将配置文件中的配置信息解析成对象模型存储在内存中具体包括:在系统启动时,读取配置文件,并判断配置文件中的配置信息是否正确,如果配置信息正确,则将配置信息解析成对象模型存储在内存中,否则,返回错误信息并结束操作。
优选地,根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句之前,上述方法还包括:启动导出监控定时器,通过导出监控定时器获取数据导出进度,并向用户实时显示数据导出进度。
优选地,根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句具体包括:对用户选择的需要导出的数据和过滤条件进行验证,如果验证通过,则根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句,如果验证不通过,则返回错误信息并结束操作。
优选地,根据数据库可执行语句从数据库中读取需要导出的数据之前,上述方法还包括:计算需要导出的数据的总数据量,将总数据量存储到内存中,并反馈给导出监控定时器;根据数据库可执行语句从数据库中读取需要导出的数据时,方法还包括:计算已经导出的数据量,将已经导出的数据量更新到内存中,并反馈给导出监控定时器。
优选地,根据对象模型中的数据转换信息,通过相应的转换器对需要导出的数据进行转换具体包括:根据对象模型中的数据转换信息,当确定需要导出的数据不需要进行转换时,调用默认转换器;当确定需要将数据库中的ID字段转换成对应的名称时,调用ID转换器,通过ID转换器对需要导出的数据进行转换;当确定需要第三方服务来协助转换时调用服务转换器,通过服务转换器调用第三方服务接口对需要导出的数据进行转换。
优选地,根据对象模型中的数据导出格式信息,调用相应的文件生成器生成相应格式的导出数据之后,上述方法还包括:向用户提供导出数据的下载链接。
本发明还提供了一种数据导出装置,包括:设置模块,用于对配置文件中的配置信息进行设置,其中,配置信息包括:需要导出数据的数据库信息、数据库的表结构信息、数据导出格式信息、以及数据转换信息;配置文件解析模块,用于在系统启动时,读取配置文件,将配置文件中的配置信息解析成对象模型存储在内存中;数据库可执行语句拼装模块,用于根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句;数据导出模块,用于根据数据库可执行语句从数据库中读取需要导出的数据,并根据对象模型中的数据转换信息,通过相应的转换器对需要导出的数据进行转换;根据对象模型中的数据导出格式信息,调用相应的文件生成器生成相应格式的导出数据。
优选地,配置文件解析模块具体用于:在系统启动时,读取配置文件,并判断配置文件中的配置信息是否正确,如果配置信息正确,则将配置信息解析成对象模型存储在内存中,否则,返回错误信息并结束操作;数据库可执行语句拼装模块具体用于:对用户选择的需要导出的数据和过滤条件进行验证,如果验证通过,则根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句,如果验证不通过,则返回错误信息并结束操作;数据导出模块具体用于:根据对象模型中的数据转换信息,当确定需要导出的数据不需要进行转换时,调用默认转换器;当确定需要将数据库中的ID字段转换成对应的名称时,调用ID转换器,通过ID转换器对需要导出的数据进行转换;当确定需要第三方服务来协助转换时调用服务转换器,通过服务转换器调用第三方服务接口对需要导出的数据进行转换。
优选地,上述装置还包括:进度模块,用于启动导出监控定时器,通过导出监控定时器获取数据导出进度,并向用户实时显示数据导出进度;计算模块,用于计算需要导出的数据的总数据量、以及已经导出的数据量,将总数据量以及已经导出的数据量存储到内存中,并反馈给导出监控定时器;下载模块,用于向用户提供导出数据的下载链接。
本发明有益效果如下:
借助于本发明实施例的技术方案,为需要进行数据导出的用户提供了一个很好的工具,在本发明实施例中数据导出时不仅仅是简单的直接将数据导出,还提供了需要转换数据的配置,很大程度上提高了灵活性;此外,在数据导出过程中,通过实时的监控缓存,让用户能够清楚的知道自己数据导出的过程,大大提升了用户体验;并且,在本发明实施例中,导出的文件类型可配置化,大大提高了本工具的灵活性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例的数据导出方法的流程图;
图2是本发明实施例的数据导出装置的系统框架示意图;
图3是本发明实施例的数据导出装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决现有技术中的上述问题,本发明提供了一种数据导出方法及装置,本发明实施例中的高可配置数据导出方案中包括如下几大功能块:
1、配置文件:配置文件描述了需要导出的表结构信息(可支持多字段的计算方法配置),配置导出的数据文档格式,支持txt格式与excel格式。
2、配置文件解析:系统启动时加载,解析对应的配置文件,形成对象存储在内存中,用于控制整个数据导出流程。
3、Sql拼装:根据配置文件中配置的表结构相关信息,自动生成sql语句再调用sql执行模块。
4、数据导出:执行sql语句,监控数据导出的整个流程,并在前端给出导出的详细进度,导出成功后提供下载链接。
5、前端页面:灵活的列选择方式,用户可以根据列表中列出的所有列选择自己需要导出的列,导出过程中会提供详细导出进度,导出完成后提供下载链接。
以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
方法实施例
根据本发明的实施例,提供了一种数据导出方法,图1是本发明实施例的数据导出方法的流程图,如图1所示,根据本发明实施例的数据导出方法包括如下处理:
步骤101,对配置文件中的配置信息进行设置,其中,配置信息包括:需要导出数据的数据库信息、数据库的表结构信息、数据导出格式信息、以及数据转换信息;
步骤102,在系统启动时,读取配置文件,将配置文件中的配置信息解析成对象模型存储在内存中,并根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句;
步骤102具体包括如下处理:在系统启动时,读取配置文件,并判断配置文件中的配置信息是否正确,如果配置信息正确,则将配置信息解析成对象模型存储在内存中,否则,返回错误信息并结束操作。
步骤102中,在根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句之前,还可以进行如下处理:启动导出监控定时器,通过导出监控定时器获取数据导出进度,并向用户实时显示数据导出进度。
步骤102具体包括如下处理:对用户选择的需要导出的数据和过滤条件进行验证,如果验证通过,则根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句,如果验证不通过,则返回错误信息并结束操作。
步骤103,根据数据库可执行语句从数据库中读取需要导出的数据,并根据对象模型中的数据转换信息,通过相应的转换器对需要导出的数据进行转换;
在步骤103中,根据数据库可执行语句从数据库中读取需要导出的数据之前,还可以进行如下处理:计算需要导出的数据的总数据量,将总数据量存储到内存中,并反馈给导出监控定时器;在根据数据库可执行语句从数据库中读取需要导出的数据时,还需要计算已经导出的数据量,将已经导出的数据量更新到内存中,并反馈给导出监控定时器。
在步骤103中,根据对象模型中的数据转换信息,通过相应的转换器对需要导出的数据进行转换具体包括:根据对象模型中的数据转换信息,当确定需要导出的数据不需要进行转换时,调用默认转换器;当确定需要将数据库中的ID字段转换成对应的名称时,调用ID转换器,通过ID转换器对需要导出的数据进行转换;当确定需要第三方服务来协助转换时调用服务转换器,通过服务转换器调用第三方服务接口对需要导出的数据进行转换。
步骤104,根据对象模型中的数据导出格式信息,调用相应的文件生成器生成相应格式的导出数据。
在执行了步骤104之后,需要向用户提供导出数据的下载链接。
以下对本发明实施例的上述技术方案进行详细说明。
图2是本发明实施例的数据导出装置的系统框架示意图,图2示出了本发明实施例的数据导出装置中各个模块的关系,本发明实施例的数据导出装置是一个B/S框架的工具,主要的处理逻辑在WebServer端,WebServer端操作数据库提取数据处理后再导出数据,Browser端提供UI界面,供用户选择过滤条件以及需要导出数据的列,并监控数据导出的进度。
如图2所示,本发明实施例的数据导出装置中的各个模块详细说明如下:
导出选择列:选择需要导出的数据列,以及数据的过滤条件。
实时监控器:实时监控数据的导入过程,实时给出已经导出的数据条数与总条数。
文件下载:对于已经导出的数据提供下载链接;
系统初始化:系统启动时首先被调用,用于加载系统配置文件行成对象,存储在内存中。
SQL封装器:将用户选择的过滤条件及需要导出的列封装成SQL;
导出状态缓存:导出过程中实时更新缓存,提供给前端监控页面调用。
数据导出转换器:对于数据库中需要转换的列,配置文件中配置的转换器需要做相应的转换。
数据导出成文件:经过转换器处理过的数据就可以写入文件了,根据配置文件中配置的文件类型生成相应类型的文件。
Database:需要导出的数据存储的位置。
其它数据源:数据导出时可能需要依赖其它服务来做数据转换。
根据本发明实施例的数据导出方法具体包括如下处理:
步骤1,将用户需要导出的数据库信息,表结构信息,导出的数据格式(TXT格式或者EXCEL格式),在配置文件中进行配置,如果需要表中多列数据合并(或者计算)例如,将数据库中存储ID的列转换成ID对应的名称字段,再导出列的情况需要在配置文件中配置对应的处理方法。
步骤2,启动系统,系统启动过程中,配置文件解析模块会读取配置文件,并判断对应的表结构信息是否正确,配置的数据导出文件类型是否正确,如果验证信息不通过,系统会报错并退出,如果通过,解析模块将配置文件中的配置信息解析成对象模型存储在内存中。
步骤3,用户通过前端页面选择需要导出的列(有些列可能不是数据表中的列,这时需要配置文件中有相应的列转换器配置),和其它过滤条件,直接提交进入SQL封装模块,此时前端页面会启动导出监控定时器,定期发送请求去后端请求导出的进度,并实时显示出导出的进度,例如:100/1000,表示已经导出100条记录,总共有1000条记录需要导出。
步骤4,当用户提交表单后首先进入数据验证模块,例如:用户是否选择了列,如果用户没有选择相关列的情况下是不允许进行导出操作的。
步骤5,当用户提交的数据经过验证以后,会进入SQL组装模块,系统根据用户提交的表单数据,从内存中(步骤2中已经将相应的配置信息加载到内存中)获取对应的数据库字段封装成可以在数据库中执行的SQL语句,如果用户选择的列涉及到多个表时,需要根据关联条件组装成较为复杂的关联SQL,SQL封装完成后即进入数据导出模块。
步骤6,当进入到数据导出模块时,系统首先去计算需要导出的总数据量,并将计算结果存储到内存中,然后开始从数据库中读取需要导出的数据,将读取出来的数据字段去配置文件(启动时已经加载到内存中)中查找对应的转换器(convert),找到转换器后执行对应的转换方法。
步骤7,当进入转换器后需要,根据转换器的类型可分为:默认转换器,ID转换器,服务转换器。
默认转换器:当数据库中的字段不需要转换时执行该转换器。
ID转换器:该转换器将数据库中的ID字段转换成对应的名称。
服务转换器:当需要第三方服务来协助转换时需要用到该转换器,例如调用SCF服务接口来转换。
步骤8,每处理完一条数据库中的记录就更新一下内存中的已导出数据量,前端实时请求内存中的数据时就能导出导出过程中的进度,为了保证数据的准确性对于多线程的访问做了同步处理。
步骤9,经过转换的数据就可以持久化到文件了,根据配置文件中配置的文件类型,调用对应的文件生成器生成文件,前端用户可以下载对应的文件。
通过上述整个数据导出流程可以看出,使用发明实施例的数据导出方法时,结构清晰,流程简单,扩展性好,用户体验优越,数据导出时只需要简单的配置即可实现不同逻辑的数据导出功能,可以根据自己的配置导出不同格式(EXCEL/TXT)的数据文件,即使用户的表结构增加了字段也可以只通过增加配置文件的方式做到很好的扩展性。
装置实施例
根据本发明的实施例,提供了一种数据导出装置,图3是本发明实施例的数据导出装置的结构示意图,如图3所示,根据本发明实施例的数据导出装置包括:设置模块30、配置文件解析模块32、数据库可执行语句拼装模块34、以及数据导出模块36,以下对本发明实施例的各个模块进行详细的说明。
设置模块30,用于对配置文件中的配置信息进行设置,其中,配置信息包括:需要导出数据的数据库信息、数据库的表结构信息、数据导出格式信息、以及数据转换信息;
配置文件解析模块32,用于在系统启动时,读取配置文件,将配置文件中的配置信息解析成对象模型存储在内存中;
配置文件解析模块32具体用于:在系统启动时,读取配置文件,并判断配置文件中的配置信息是否正确,如果配置信息正确,则将配置信息解析成对象模型存储在内存中,否则,返回错误信息并结束操作;
数据库可执行语句拼装模块34,用于根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句;
数据库可执行语句拼装模块34具体用于:对用户选择的需要导出的数据和过滤条件进行验证,如果验证通过,则根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句,如果验证不通过,则返回错误信息并结束操作;
数据导出模块36,用于根据数据库可执行语句从数据库中读取需要导出的数据,并根据对象模型中的数据转换信息,通过相应的转换器对需要导出的数据进行转换;根据对象模型中的数据导出格式信息,调用相应的文件生成器生成相应格式的导出数据。
数据导出模块36具体用于:根据对象模型中的数据转换信息,当确定需要导出的数据不需要进行转换时,调用默认转换器;当确定需要将数据库中的ID字段转换成对应的名称时,调用ID转换器,通过ID转换器对需要导出的数据进行转换;当确定需要第三方服务来协助转换时调用服务转换器,通过服务转换器调用第三方服务接口对需要导出的数据进行转换。
优选地,根据本发明实施例数据导出装置还包括:
进度模块,用于启动导出监控定时器,通过导出监控定时器获取数据导出进度,并向用户实时显示数据导出进度;
计算模块,用于计算需要导出的数据的总数据量、以及已经导出的数据量,将总数据量以及已经导出的数据量存储到内存中,并反馈给导出监控定时器;
下载模块,用于向用户提供导出数据的下载链接。
以下结合附图,对本发明实施例的上述技术方案进行详细说明。
图3是本发明实施例的数据导出装置的系统框架示意图,图3示出了本发明实施例的数据导出装置中各个模块的关系,本发明实施例的数据导出装置是一个B/S框架的工具,主要的处理逻辑在WebServer端,WebServer端操作数据库提取数据处理后再导出数据,Browser端提供UI界面,供用户选择过滤条件以及需要导出数据的列,并监控数据导出的进度。
以下对本发明实施例的上述技术方案进行详细说明。
图2是本发明实施例的数据导出装置的系统框架示意图,图2示出了本发明实施例的数据导出装置中各个模块的关系,本发明实施例的数据导出装置是一个B/S框架的工具,主要的处理逻辑在WebServer端,WebServer端操作数据库提取数据处理后再导出数据,Browser端提供UI界面,供用户选择过滤条件以及需要导出数据的列,并监控数据导出的进度。
如图2所示,本发明实施例的数据导出装置中的各个模块详细说明如下:
导出选择列:选择需要导出的数据列,以及数据的过滤条件。
实时监控器:实时监控数据的导入过程,实时给出已经导出的数据条数与总条数。
文件下载:对于已经导出的数据提供下载链接;
系统初始化:系统启动时首先被调用,用于加载系统配置文件行成对象,存储在内存中。
SQL封装器:将用户选择的过滤条件及需要导出的列封装成SQL;
导出状态缓存:导出过程中实时更新缓存,提供给前端监控页面调用。
数据导出转换器:对于数据库中需要转换的列,配置文件中配置的转换器需要做相应的转换。
数据导出成文件:经过转换器处理过的数据就可以写入文件了,根据配置文件中配置的文件类型生成相应类型的文件。
Database:需要导出的数据存储的位置。
其它数据源:数据导出时可能需要依赖其它服务来做数据转换。
根据本发明实施例的数据导出方法具体包括如下处理:
步骤1,将用户需要导出的数据库信息,表结构信息,导出的数据格式(TXT格式或者EXCEL格式),在配置文件中进行配置,如果需要表中多列数据合并(或者计算)例如,将数据库中存储ID的列转换成ID对应的名称字段,再导出列的情况需要在配置文件中配置对应的处理方法。
步骤2,启动系统,系统启动过程中,配置文件解析模块会读取配置文件,并判断对应的表结构信息是否正确,配置的数据导出文件类型是否正确,如果验证信息不通过,系统会报错并退出,如果通过,解析模块将配置文件中的配置信息解析成对象模型存储在内存中。
步骤3,用户通过前端页面选择需要导出的列(有些列可能不是数据表中的列,这时需要配置文件中有相应的列转换器配置),和其它过滤条件,直接提交进入SQL封装模块,此时前端页面会启动导出监控定时器,定期发送请求去后端请求导出的进度,并实时显示出导出的进度,例如:100/1000,表示已经导出100条记录,总共有1000条记录需要导出。
步骤4,当用户提交表单后首先进入数据验证模块,例如:用户是否选择了列,如果用户没有选择相关列的情况下是不允许进行导出操作的。
步骤5,当用户提交的数据经过验证以后,会进入SQL组装模块,系统根据用户提交的表单数据,从内存中(步骤2中已经将相应的配置信息加载到内存中)获取对应的数据库字段封装成可以在数据库中执行的SQL语句,如果用户选择的列涉及到多个表时,需要根据关联条件组装成较为复杂的关联SQL,SQL封装完成后即进入数据导出模块。
步骤6,当进入到数据导出模块时,系统首先去计算需要导出的总数据量,并将计算结果存储到内存中,然后开始从数据库中读取需要导出的数据,将读取出来的数据字段去配置文件(启动时已经加载到内存中)中查找对应的转换器(convert),找到转换器后执行对应的转换方法。
步骤7,当进入转换器后需要,根据转换器的类型可分为:默认转换器,ID转换器,服务转换器。
默认转换器:当数据库中的字段不需要转换时执行该转换器。
ID转换器:该转换器将数据库中的ID字段转换成对应的名称。
服务转换器:当需要第三方服务来协助转换时需要用到该转换器,例如调用SCF服务接口来转换。
步骤8,每处理完一条数据库中的记录就更新一下内存中的已导出数据量,前端实时请求内存中的数据时就能导出导出过程中的进度,为了保证数据的准确性对于多线程的访问做了同步处理。
步骤9,经过转换的数据就可以持久化到文件了,根据配置文件中配置的文件类型,调用对应的文件生成器生成文件,前端用户可以下载对应的文件。
通过上述整个数据导出流程可以看出,使用发明实施例的数据导出方法时,结构清晰,流程简单,扩展性好,用户体验优越,数据导出时只需要简单的配置即可实现不同逻辑的数据导出功能,可以根据自己的配置导出不同格式(EXCEL/TXT)的数据文件,即使用户的表结构增加了字段也可以只通过增加配置文件的方式做到很好的扩展性。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据导出装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (9)

1.一种数据导出方法,其特征在于,包括:
对配置文件中的配置信息进行设置,其中,所述配置信息包括:需要导出数据的数据库信息、数据库的表结构信息、数据导出格式信息、以及数据转换信息,其中,数据导出格式信息是指导出的数据格式,包括:TXT格式、EXCEL格式;
在系统启动时,读取所述配置文件,将所述配置文件中的配置信息解析成对象模型存储在内存中,并根据用户选择的需要导出的数据和过滤条件、以及所述对象模型中的所述表结构信息生成数据库可执行语句;
根据所述数据库可执行语句从所述数据库中读取需要导出的数据,并根据所述对象模型中的所述数据转换信息,通过相应的转换器对所述需要导出的数据进行转换;
根据所述对象模型中的数据导出格式信息,调用相应的文件生成器生成相应格式的导出数据,具体包括:
根据所述对象模型中的所述数据转换信息,当确定需要导出的数据不需要进行转换时,调用默认转换器;当确定需要将数据库中的ID字段转换成对应的名称时,调用ID转换器,通过所述ID转换器对所述需要导出的数据进行转换;当确定需要第三方服务来协助转换时调用服务转换器,通过所述服务转换器调用第三方服务接口对所述需要导出的数据进行转换。
2.如权利要求1所述的方法,其特征在于,在系统启动时,读取所述配置文件,将所述配置文件中的配置信息解析成对象模型存储在内存中具体包括:
在系统启动时,读取所述配置文件,并判断所述配置文件中的所述配置信息是否正确,如果所述配置信息正确,则将所述配置信息解析成对象模型存储在内存中,否则,返回错误信息并结束操作。
3.如权利要求1所述的方法,其特征在于,根据用户选择的需要导出的数据和过滤条件、以及所述对象模型中的所述表结构信息生成数据库可执行语句之前,所述方法还包括:
启动导出监控定时器,通过所述导出监控定时器获取数据导出进度,并向用户实时显示所述数据导出进度。
4.如权利要求1所述的方法,其特征在于,根据用户选择的需要导出的数据和过滤条件、以及所述对象模型中的所述表结构信息生成数据库可执行语句具体包括:
对所述用户选择的需要导出的数据和过滤条件进行验证,如果验证通过,则根据用户选择的需要导出的数据和过滤条件、以及所述对象模型中的所述表结构信息生成数据库可执行语句,如果验证不通过,则返回错误信息并结束操作。
5.如权利要求3所述的方法,其特征在于,根据所述数据库可执行语句从所述数据库中读取需要导出的数据之前,所述方法还包括:计算需要导出的数据的总数据量,将所述总数据量存储到内存中,并反馈给所述导出监控定时器;
根据所述数据库可执行语句从所述数据库中读取需要导出的数据时,所述方法还包括:计算已经导出的数据量,将已经导出的数据量更新到内存中,并反馈给所述导出监控定时器。
6.如权利要求1所述的方法,其特征在于,根据所述对象模型中的数据导出格式信息,调用相应的文件生成器生成相应格式的导出数据之后,所述方法还包括:
向用户提供所述导出数据的下载链接。
7.一种数据导出装置,其特征在于,包括:
设置模块,用于对配置文件中的配置信息进行设置,其中,所述配置信息包括:需要导出数据的数据库信息、数据库的表结构信息、数据导出格式信息、以及数据转换信息,其中,数据导出格式信息是指导出的数据格式,包括:TXT格式、EXCEL格式;
配置文件解析模块,用于在系统启动时,读取所述配置文件,将所述配置文件中的配置信息解析成对象模型存储在内存中;
数据库可执行语句拼装模块,用于根据用户选择的需要导出的数据和过滤条件、以及所述对象模型中的所述表结构信息生成数据库可执行语句;
数据导出模块,用于根据所述数据库可执行语句从所述数据库中读取需要导出的数据,并根据所述对象模型中的所述数据转换信息,通过相应的转换器对所述需要导出的数据进行转换;根据所述对象模型中的数据导出格式信息,调用相应的文件生成器生成相应格式的导出数据;
所述数据导出模块具体用于:根据所述对象模型中的所述数据转换信息,当确定需要导出的数据不需要进行转换时,调用默认转换器;当确定需要将数据库中的ID字段转换成对应的名称时,调用ID转换器,通过所述ID转换器对所述需要导出的数据进行转换;当确定需要第三方服务来协助转换时调用服务转换器,通过所述服务转换器调用第三方服务接口对所述需要导出的数据进行转换。
8.如权利要求7所述的装置,其特征在于,
所述配置文件解析模块具体用于:在系统启动时,读取所述配置文件,并判断所述配置文件中的所述配置信息是否正确,如果所述配置信息正确,则将所述配置信息解析成对象模型存储在内存中,否则,返回错误信息并结束操作;
所述数据库可执行语句拼装模块具体用于:对所述用户选择的需要导出的数据和过滤条件进行验证,如果验证通过,则根据用户选择的需要导出的数据和过滤条件、以及所述对象模型中的所述表结构信息生成数据库可执行语句,如果验证不通过,则返回错误信息并结束操作。
9.如权利要求7所述的装置,其特征在于,所述装置还包括:
进度模块,用于启动导出监控定时器,通过所述导出监控定时器获取数据导出进度,并向用户实时显示所述数据导出进度;
计算模块,用于计算需要导出的数据的总数据量、以及已经导出的数据量,将所述总数据量以及所述已经导出的数据量存储到内存中,并反馈给所述导出监控定时器;
下载模块,用于向用户提供所述导出数据的下载链接。
CN201310052542.9A 2013-02-18 2013-02-18 数据导出方法及装置 Active CN103092993B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310052542.9A CN103092993B (zh) 2013-02-18 2013-02-18 数据导出方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310052542.9A CN103092993B (zh) 2013-02-18 2013-02-18 数据导出方法及装置

Publications (2)

Publication Number Publication Date
CN103092993A CN103092993A (zh) 2013-05-08
CN103092993B true CN103092993B (zh) 2016-07-06

Family

ID=48205558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310052542.9A Active CN103092993B (zh) 2013-02-18 2013-02-18 数据导出方法及装置

Country Status (1)

Country Link
CN (1) CN103092993B (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103412765A (zh) * 2013-09-04 2013-11-27 广东全通教育股份有限公司 一种实现数据导出接口通用性的方法
CN103577580A (zh) * 2013-11-07 2014-02-12 北京锐安科技有限公司 数据库的数据导出方法和装置
CN104657123B (zh) * 2013-11-21 2018-09-11 航天信息股份有限公司 一种动态导出文件的方法
CN103793519B (zh) * 2014-02-14 2018-04-06 浪潮天元通信信息系统有限公司 一种支持海量数据导出的方法
CN103870586B (zh) * 2014-03-26 2017-05-24 北京京东尚科信息技术有限公司 从网站系统中导出数据的方法和装置
CN104461494B (zh) * 2014-10-29 2018-10-26 中国建设银行股份有限公司 一种生成数据处理工具的数据包的方法及装置
CN104881469B (zh) * 2015-05-27 2018-12-18 北京京东尚科信息技术有限公司 一种数据导出方法和装置
CN105868311A (zh) * 2016-03-25 2016-08-17 浪潮通信信息系统有限公司 一种数据解析的方法和装置
CN106020944B (zh) * 2016-05-04 2019-05-24 北京思特奇信息技术股份有限公司 一种基于后台数据库配置进行数据下载的方法和系统
CN105939378B (zh) * 2016-05-10 2020-05-12 杭州迪普科技股份有限公司 配置文件导出、导入的方法及装置
CN106383914B (zh) * 2016-10-21 2020-03-17 广东亿迅科技有限公司 基于云呼叫平台实现多数据源配置的方法及其系统
CN106557588A (zh) * 2016-11-30 2017-04-05 盐城工学院 一种文件导出方法及装置
CN108241720B (zh) * 2016-12-27 2021-07-20 北京京东尚科信息技术有限公司 数据处理方法、装置和计算机可读存储介质
CN110019437A (zh) * 2017-07-18 2019-07-16 北京京东尚科信息技术有限公司 一种导出数据的方法和系统
CN107798111B (zh) * 2017-11-01 2021-04-06 四川长虹电器股份有限公司 一种分布式环境中大批量导出数据的方法
CN107885885A (zh) * 2017-12-04 2018-04-06 山东浪潮通软信息科技有限公司 一种数据导入方法及装置
CN109062883B (zh) * 2018-07-18 2022-07-26 平安科技(深圳)有限公司 数据表动态导出方法、装置、计算机设备及存储介质
CN109933625A (zh) * 2019-01-15 2019-06-25 平安科技(深圳)有限公司 数据导出方法、装置、设备及计算机可读存储介质
CN110110306B (zh) * 2019-04-12 2023-02-14 深圳平安医疗健康科技服务有限公司 数据展示方法、装置、终端及计算机可读存储介质
CN110046191A (zh) * 2019-04-22 2019-07-23 成都四方伟业软件股份有限公司 一种数据导出配置方法及装置
CN110795387B (zh) * 2019-09-26 2020-11-03 广州市玄武无线科技股份有限公司 一种数据导入方法、数据导出方法、装置及数据处理系统
CN111125174A (zh) * 2019-12-06 2020-05-08 东软集团股份有限公司 数据导出方法、装置、存储介质、电子设备
CN111290745A (zh) * 2020-02-11 2020-06-16 车配齐(珠海横琴)科技有限公司 一种实现通用数据导出的装置及方法
CN111427849A (zh) * 2020-02-27 2020-07-17 深圳壹账通智能科技有限公司 数据处理方法、电子装置及存储介质
CN111460021B (zh) * 2020-04-03 2024-01-19 中国建设银行股份有限公司 数据导出方法及装置
CN111581246A (zh) * 2020-05-08 2020-08-25 北京字节跳动网络技术有限公司 用于生成数据方法、装置、电子设备和计算机可读介质
CN111783407A (zh) * 2020-07-17 2020-10-16 西思艾(北京)软件有限公司 一种电子表单创建系统
CN112487075B (zh) * 2020-12-29 2021-08-31 中科院计算技术研究所大数据研究院 一种集成关系型和非关系型数据库数据转换算子的方法
CN113407603B (zh) * 2021-05-13 2022-10-04 北京鼎轩科技有限责任公司 数据导出方法及系统
CN114168232A (zh) * 2021-12-20 2022-03-11 南京星云数字技术有限公司 一种算法模型结果转换配置方法、装置、设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001052117A2 (en) * 2000-01-10 2001-07-19 Science Applications International Corporation 'data integrator' system for collecting, fusing and displaying information including persistent connection and storage arrangement
CN101789021A (zh) * 2010-02-24 2010-07-28 浪潮通信信息系统有限公司 一种通用可配置的数据库数据迁移方法
CN101944128A (zh) * 2010-09-25 2011-01-12 中兴通讯股份有限公司 数据导出、导入的方法和装置
CN102456051A (zh) * 2010-10-27 2012-05-16 北京大学 数据库数据导入/导出的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001052117A2 (en) * 2000-01-10 2001-07-19 Science Applications International Corporation 'data integrator' system for collecting, fusing and displaying information including persistent connection and storage arrangement
CN101789021A (zh) * 2010-02-24 2010-07-28 浪潮通信信息系统有限公司 一种通用可配置的数据库数据迁移方法
CN101944128A (zh) * 2010-09-25 2011-01-12 中兴通讯股份有限公司 数据导出、导入的方法和装置
CN102456051A (zh) * 2010-10-27 2012-05-16 北京大学 数据库数据导入/导出的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于 Java 和 XML 跨平台数据迁移的设计与实现;黄萍等;《计算机工程》;20050930;第31卷(第17期);第75页 *

Also Published As

Publication number Publication date
CN103092993A (zh) 2013-05-08

Similar Documents

Publication Publication Date Title
CN103092993B (zh) 数据导出方法及装置
CN103246578B (zh) 应用软件进行崩溃处理的方法及进行崩溃处理的浏览器
CN104468777A (zh) 数据操作方法和装置
CN104270395A (zh) 一种输入数据校验的方法、装置及系统
CN105512190A (zh) 界面跳转方法及装置
CN110765001B (zh) 针对应用系统的模块化自动测试方法和装置
CN104657274B (zh) 软件界面测试方法及装置
CN109408375A (zh) 接口文档的生成方法和装置
CN103412754A (zh) 动态语言代码执行方法和装置
CN103559222A (zh) 浏览器中显示页面加载时间的方法和装置
CN109766261A (zh) 覆盖测试方法、装置、计算机设备和存储介质
CN105471968A (zh) 一种数据交换方法、系统以及数据平台服务器
CN102981848A (zh) 网页主体元素处理浏览器和方法
CN111104158A (zh) 一种软件打包的方法、装置、计算机设备及存储介质
CN113835692A (zh) 字典的数据处理方法、装置、电子设备及计算机存储介质
CN102982175A (zh) 一种浏览器进行搜索的方法以及浏览器
CN105630927A (zh) 链接生成方法和装置
CN103544271B (zh) 一种浏览器中加载图片处理窗口的方法和装置
CN107590064A (zh) 一种应用升级测试方法、装置和系统
CN103167016B (zh) 一种浏览器崩溃数据上传和处理的方法和装置
CN104376126A (zh) 在Linux驱动中绑定内核符号的方法及装置
CN106126517A (zh) 将pc端应用页面转换为移动端应用页面的方法及装置
CN115757172A (zh) 测试执行方法、装置、存储介质及计算机设备
CN104461557A (zh) Puppet配置数据的处理方法及装置
JP5119765B2 (ja) 仕様書作成支援装置および支援方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant