数据导出方法及装置的制作方法

文档序号:6399404阅读:157来源:国知局
专利名称:数据导出方法及装置的制作方法
技术领域
本发明涉及计算机技术领域,特别是涉及一种数据导出方法及装置。
背景技术
在现有技术中,提供了一种可扩展性高的数据导出导入的方法和装置。具体技术方案如下:预先设置一个脚本文件,判断脚本文件是否配置正确,并判断脚本中的表结构是否存在,当脚本文件正确并且指定的表存在,读取表结构信息,从数据库所指定的表中导出数据,将导出的数据和指定的相关表信息部分或全部写入数据文件中,可实现不同类型的数据库之间的数据转换。在现有技术中,脚本文件的解析需要专门的脚本解析程序,灵活性较差,不支持多表关联的数据导出方式,不支持多种格式的数据导出,也不适合业务场景比较复杂的领域。

发明内容
本发明提供一种数据导出方法及装置,以解决现有技术中的上述问题。本发明提供一种数据导出方法,包括:对配置文件中的配置信息进行设置,其中,配置信息包括:需要导出数据的数据库信息、数据库的表结构信息、数据导出格式信息、以及数据转换信息;在系统启动时,读取配置文件,将配置文件中的配置信息解析成对象模型存储在内存中,并根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句;根据数据库可执行语句从数据库中读取需要导出的数据,并根据对象模型中的数据转换信息,通过相应的转换器对需要导出的数据进行转换;根据对象模型中的数据导出格式信息,调用相应的文件生成器生成相应格式的导出数据。优选地,在系统启动时,读取配置文件,将配置文件中的配置信息解析成对象模型存储在内存中具体包括:在系统启动时,读取配置文件,并判断配置文件中的配置信息是否正确,如果配置信息正确,则将配置信息解析成对象模型存储在内存中,否则,返回错误信息并结束操作。优选地,根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句之前,上述方法还包括:启动导出监控定时器,通过导出监控定时器获取数据导出进度,并向用户实时显示数据导出进度。优选地,根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句具体包括:对用户选择的需要导出的数据和过滤条件进行验证,如果验证通过,则根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句,如果验证不通过,则返回错误信息并结束操作。优选地,根据数据库可执行语句从数据库中读取需要导出的数据之前,上述方法还包括:计算需要导出的数据的总数据量,将总数据量存储到内存中,并反馈给导出监控定时器;根据数据库可执行语句从数据库中读取需要导出的数据时,方法还包括:计算已经导出的数据量,将已经导出的数据量更新到内存中,并反馈给导出监控定时器。
优选地,根据对象模型中的数据转换信息,通过相应的转换器对需要导出的数据进行转换具体包括:根据对象模型中的数据转换信息,当确定需要导出的数据不需要进行转换时,调用默认转换器;当确定需要将数据库中的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具体包括如下处理:在系统启动时,读取配置文件,并判断配置文件中的配置信息是否正确,如果配置信息正确,则将配置信息解析成对象模型存储在内存中,否贝U,返回错误信息并结束操作。步骤102中,在根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句之前,还可以进行如下处理:启动导出监控定时器,通过导出监控定时器获取数据导出进度,并向用户实时显示数据导出进度。步骤102具体包括如下处理:对用户选择的需要导出的数据和过滤条件进行验证,如果验证通过,则根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句,如果验证不通过,则返回错误信息并结束操作。步骤103,根据数据库可执行语句从数据库中读取需要导出的数据,并根据对象模型中的数据转换信息,通过相应的转换器对需要导出的数据进行转换;在步骤103中,根据数据库可执行语句从数据库中读取需要导出的数据之前,还可以进行如下处理:计算需要导出的数据的总数据量,将总数据量存储到内存中,并反馈给导出监控定时器;在根据数据库可执行语句从数据库中读取需要导出的数据时,还需要计算已经导出的数据量,将已经导出的数据量更新到内存中,并反馈给导出监控定时器。在步骤103中,根据对象模型中的数据转换信息,通过相应的转换器对需要导出的数据进行转换具体包括:根据对象模型中的数据转换信息,当确定需要导出的数据不需要进行转换时,调用默认转换器;当确定需要将数据库中的ID字段转换成对应的名称时,调用ID转换器,通过ID转换器对需要导出的数据进行转换;当确定需要第三方服务来协助转换时调用服务转换器,通过服务转换器调用第三方服务接口对需要导出的数据进行转换。步骤104,根据对象模型中的数据导出格式信息,调用相应的文件生成器生成相应格式的导出数据。在执行了步骤104之后,需要向用户提供导出数据的下载链接。以下对本发明实施例的上述技术方案进行详细说明。图2是本发明实施例的数据导出装置的系统框架示意图,图2示出了本发明实施例的数据导出装置中各个模块的关系,本发明实施例的数据导出装置是一个B/S框架的工具,主要的处理逻辑在Web Server端,Web Server端操作数据库提取数据处理后再导出数据,Browser端提供Π界面,供用户选择过滤条件以及需要导出数据的列,并监控数据导出的进度。如图2所示,本发明实施例的数据导出装置中的各个模块详细说明如下:导出选择列:选择需要导出的数据列,以及数据的过滤条件。实时监控器:实时监控数据的导入过程,实时给出已经导出的数据条数与总条数。文件下载:对于已经导出的数据提供下载链接;系统初始化:系统启动时首先被调用,用于加载系统配置文件行成对象,存储在内存中。SQL封装器:将用户选择的过滤条件及需要导出的列封装成SQL ;导出状态缓存:导出过程中实时更新缓存,提供给前端监控页面调用。数据导出转换器:对于数据库中需要转换的列,配置文件中配置的转换器需要做相应的转换。数据导出成文件:经过转换器处理过的数据就可以写入文件了,根据配置文件中配置的文件类型生成相应类型的文件。Database:需要导出的数据存储的位置。
其它数据源:数据导出时可能需要依赖其它服务来做数据转换。根据本发明实施例的数据导出方法具体包括如下处理:步骤I,将用户需要导出的数据库信息,表结构信息,导出的数据格式(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框架的工具,主要的处理逻辑在Web Server端,Web Server端操作数据库提取数据处理后再导出数据,Browser端提供Π界面,供用户选择过滤条件以及需要导出数据的列,并监控数据导出的进度。以下对本发明实施例的上述技术方案进行详细说明。
图2是本发明实施例的数据导出装置的系统框架示意图,图2示出了本发明实施例的数据导出装置中各个模块的关系,本发明实施例的数据导出装置是一个B/S框架的工具,主要的处理逻辑在Web Server端,Web Server端操作数据库提取数据处理后再导出数据,Browser端提供Π界面,供用户选择过滤条件以及需要导出数据的列,并监控数据导出的进度。如图2所示,本发明实施例的数据导出装置中的各个模块详细说明如下:导出选择列:选择需要导出的数据列,以及数据的过滤条件。实时监控器:实时监控数据的导入过程,实时给出已经导出的数据条数与总条数。文件下载:对于已经导出的数据提供下载链接;系统初始化:系统启动时首先被调用,用于加载系统配置文件行成对象,存储在内存中。SQL封装器:将用户选择的过滤条件及需要导出的列封装成SQL ;导出状态缓存:导出过程中实时更新缓存,提供给前端监控页面调用。数据导出转换器:对于数据库中需要转换的列,配置文件中配置的转换器需要做相应的转换。数据导出成文件:经过转换器处理过的数据就可以写入文件了,根据配置文件中配置的文件类型生成相应类型的文件。Database:需要导出的数据存储的位置。其它数据源:数据导出时可能需要依赖其它服务来做数据转换。根据本发明实施例的数据导出方法具体包括如下处理:步骤I,将用户需要导出的数据库信息,表结构信息,导出的数据格式(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)来实现根据本发明实施例的数据导出装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
权利要求
1.一种数据导出方法,其特征在于,包括: 对配置文件中的配置信息进行设置,其中,所述配置信息包括:需要导出数据的数据库信息、数据库的表结构信息、数据导出格式信息、以及数据转换信息; 在系统启动时,读取所述配置文件,将所述配置文件中的配置信息解析成对象模型存储在内存中,并根据用户选择的需要导出的数据和过滤条件、以及所述对象模型中的所述表结构信息生成数据库可执行语句; 根据所述数据库可执行语句从所述数据库中读取需要导出的数据,并根据所述对象模型中的所述数据转换信息,通过相应的转换器对所述需要导出的数据进行转换; 根据所述对象模型中的数据导出格式信息,调用相应的文件生成器生成相应格式的导出数据。
2.按权利要求1所述的方法,其特征在于,在系统启动时,读取所述配置文件,将所述配置文件中的配置信息解析成对象模型存储在内存中具体包括: 在系统启动时,读取所述配置文件,并判断所述配置文件中的所述配置信息是否正确,如果所述配置信息正确,则将所述配置信息解析成对象模型存储在内存中,否则,返回错误信息并结束操作。
3.按权利要求1所述的方法,其特征在于,根据用户选择的需要导出的数据和过滤条件、以及所述对象模型中的所述表结构信息生成数据库可执行语句之前,所述方法还包括: 启动导出监控定时器,通过所述导出监控定时器获取数据导出进度,并向用户实时显示所述数据导出进度。
4.按权利要求1所述的方法,其特征在于,根据用户选择的需要导出的数据和过滤条件、以及所述对象模型 中的所述表结构信息生成数据库可执行语句具体包括: 对所述用户选择的需要导出的数据和过滤条件进行验证,如果验证通过,则根据用户选择的需要导出的数据和过滤条件、以及所述对象模型中的所述表结构信息生成数据库可执行语句,如果验证不通过,则返回错误信息并结束操作。
5.按权利要求3所述的方法,其特征在于,根据所述数据库可执行语句从所述数据库中读取需要导出的数据之前,所述方法还包括:计算需要导出的数据的总数据量,将所述总数据量存储到内存中,并反馈给所述导出监控定时器; 根据所述数据库可执行语句从所述数据库中读取需要导出的数据时,所述方法还包括:计算已经导出的数据量,将已经导出的数据量更新到内存中,并反馈给所述导出监控定时器。
6.按权利要求1所述的方法,其特征在于,根据所述对象模型中的所述数据转换信息,通过相应的转换器对所述需要导出的数据进行转换具体包括: 根据所述对象模型中的所述数据转换信息,当确定需要导出的数据不需要进行转换时,调用默认转换器;当确定需要将数据库中的ID字段转换成对应的名称时,调用ID转换器,通过所述ID转换器对所述需要导出的数据进行转换;当确定需要第三方服务来协助转换时调用服务转换器,通过所述服务转换器调用第三方服务接口对所述需要导出的数据进行转换。
7.按权利要求1所述的方法,其特征在于,根据所述对象模型中的数据导出格式信息,调用相应的文件生成器生成相应格式的导出数据之后,所述方法还包括: 向用户提供所述导出数据的下载链接。
8.一种数据导出装置,其特征在于,包括: 设置模块,用于对配置文件中的配置信息进行设置,其中,所述配置信息包括:需要导出数据的数据库信息、数据库的表结构信息、数据导出格式信息、以及数据转换信息; 配置文件解析模块,用于在系统启动时,读取所述配置文件,将所述配置文件中的配置信息解析成对象模型存储在内存中; 数据库可执行语句拼装模块,用于根据用户选择的需要导出的数据和过滤条件、以及所述对象模型中的所述表结构信息生成数据库可执行语句; 数据导出模块,用于根据所述数据库可执行语句从所述数据库中读取需要导出的数据,并根据所述对象模型中的所述数据转换信息,通过相应的转换器对所述需要导出的数据进行转换;根据所述对象模型中的数据导出格式信息,调用相应的文件生成器生成相应格式的导出数据。
9.按权利要求7所述的装置,其特征在于, 所述配置文件解析模块具体用于:在系统启动时,读取所述配置文件,并判断所述配置文件中的所述配置信息是否正确,如果所述配置信息正确,则将所述配置信息解析成对象模型存储在内存中,否则,返回错误信息并结束操作; 所述数据库可执行语句拼装模块具体用于:对所述用户选择的需要导出的数据和过滤条件进行验证,如果验证通过,则根据用户选择的需要导出的数据和过滤条件、以及所述对象模型中的所述表结构信息生成数据库可执行语句,如果验证不通过,则返回错误信息并结束操作; 所述数据导出模块具体用于:根据所述对象模型中的所述数据转换信息,当确定需要导出的数据不需要进行转换时,调用默认转换器;当确定需要将数据库中的ID字段转换成对应的名称时,调用ID转换器,通过所述ID转换器对所述需要导出的数据进行转换;当确定需要第三方服务来协助转换时调用服务转换器,通过所述服务转换器调用第三方服务接口对所述需要导出的数据进行转换。
10.按权利要求7所述的装置,其特征在于,所述装置还包括: 进度模块,用于启动导出监控定时器,通过所述导出监控定时器获取数据导出进度,并向用户实时显示所述数据导出进度; 计算模块,用于计算需要导出的数据的总数据量、以及已经导出的数据量,将所述总数据量以及所述已经导出的数据量存储到内存中,并反馈给所述导出监控定时器; 下载模块,用于向用户提供所述导出数据的下载链接。
全文摘要
本发明公开了一种数据导出方法及装置。该方法包括对配置文件中的配置信息进行设置,其中,配置信息包括需要导出数据的数据库信息、数据库的表结构信息、数据导出格式信息、以及数据转换信息;在系统启动时,读取配置文件,将配置文件中的配置信息解析成对象模型存储在内存中,并根据用户选择的需要导出的数据和过滤条件、以及对象模型中的表结构信息生成数据库可执行语句;根据数据库可执行语句从数据库中读取需要导出的数据,并根据对象模型中的数据转换信息,通过相应的转换器对需要导出的数据进行转换;根据对象模型中的数据导出格式信息,调用相应的文件生成器生成相应格式的导出数据。
文档编号G06F17/30GK103092993SQ20131005254
公开日2013年5月8日 申请日期2013年2月18日 优先权日2013年2月18日
发明者禹艳, 罗宇翔 申请人:五八同城信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1