CN111930772A - 数据的导出方法、装置、系统及计算机可读存储介质 - Google Patents
数据的导出方法、装置、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111930772A CN111930772A CN202010755157.0A CN202010755157A CN111930772A CN 111930772 A CN111930772 A CN 111930772A CN 202010755157 A CN202010755157 A CN 202010755157A CN 111930772 A CN111930772 A CN 111930772A
- Authority
- CN
- China
- Prior art keywords
- data
- determining
- analysis
- sql
- assembly
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000002776 aggregation Effects 0.000 claims description 30
- 238000004220 aggregation Methods 0.000 claims description 30
- 238000009795 derivation Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 2
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 1
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012882 sequential analysis Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2445—Data retrieval commands; View definitions
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据的导出方法、装置、系统及计算机可读存储介质,该方法的步骤包括:接收到客户终端发送的获取数据的请求指令后,基于请求指令确定对应的结构化查询语言SQL数据;基于SQL数据确定对应的待获取数据,并基于待获取数据确定对应的解析数据;确定解析数据的数据个数,基于数据个数将解析数据进行分批组装确定对应的组装数据,并基于缓冲输出流导出组装数据。本发明通过基于请求指令中的SQL数据确定对应的待获取数据,将待获取数据进行解析确定对应的解析数据,基于解析数据的数据个数将解析数据进行分批组装确定对应的组装数据,最后分批将组装数据导出,降低了组装数据对系统堆内存占用空间,从而提升了系统稳定性。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种数据的导出方法、装置、系统及计算机可读存储介质。
背景技术
目前数据导出方法主要是服务器接收到用户发送的获取数据的请求后,使用同步方式处理请求,然后根据请求在数据库中获取对应的数据,并将获取到的数据对象全部保存到堆内存中,用户需要将数据从数据库中读取时,服务器将需要一次性读取全部的数据,然后将全部数据进行再次组装,最后导出对应的数据,再次组装相当于内存中会存在两份相同的数据,而且一次性组装全部的数据导致了系统堆内存占用过高,增加内存溢出的风险。由此可知,目前数据导出方法的系统稳定性差。
发明内容
本发明的主要目的在于提供一种数据的导出方法、装置、系统及计算机可读存储介质,旨在解决目前数据导出方法的系统稳定性差的技术问题。
为实现上述目的,本发明提供一种数据的导出方法,所述数据的导出方法包括以下步骤:
接收到客户终端发送的获取数据的请求指令后,基于所述请求指令确定对应的结构化查询语言SQL数据;
基于所述SQL数据确定对应的待获取数据,并基于所述待获取数据确定对应的解析数据;
确定所述解析数据对应的数据个数,基于所述数据个数将所述解析数据进行分批组装,确定对应的组装数据,并基于缓冲输出流导出所述组装数据。
可选地,所述确定所述解析数据对应的数据个数,基于所述数据个数将所述解析数据进行分批组装,确定对应的组装数据,并基于缓冲输出流导出所述组装数据的步骤包括:
间隔预设时长获取所述解析数据,确定所述解析数据对应的第一数据个数,并检测所述第一数据个数是否大于预设数量;
若检测到所述第一数据个数大于所述预设数量,则基于所述预设数量对应的解析数据进行数据集合,确定对应的组装数据,并检测所述数据集合后的第二数据个数是否小于或者等于所述预设数量,其中,所述第二数据个数为所述第一数据个数和所述预设数量的数据差值;
若检测所述第二数据个数小于或者等于所述预设数量,则基于所述第二数据个数对应的解析数据进行数据集合,确定对应的组装数据。
可选地,所述确定所述解析数据对应的第一数据个数,并检测所述第一数据个数是否大于预设数量的步骤之后,还包括:
若检测到所述第一数据个数小于或者等于所述预设数量,则基于各个所述解析数据进行数据集合,确定所述解析数据对应的组装数据。
可选地,所述基于所述预设数量对应的解析数据进行数据集合,确定对应的组装数据的步骤包括:
获取客户终端对应的客户端数据格式,基于所述客户端数据格式将所述预设数量对应的解析数据进行数据集合,确定所述客户端数据格式对应的组装数据。
可选地,所述基于所述SQL数据确定对应的待获取数据,并基于所述待获取数据确定对应的解析数据的步骤包括:
基于Java数据库JDBC协议连接对应的数据库,并基于所述SQL数据在所述数据库中确定所述SQL数据对应的待获取数据;
依次解析各个所述待获取数据,确定各个所述待获取数据对应的各个解析数据。
可选地,所述接收到客户终端发送的获取数据的请求指令后,基于所述请求指令确定对应的结构化查询语言SQL数据的步骤包括:
接收到所述客户终端发送的获取数据的请求指令后,基于线程池处理所述请求指令,并确定所述请求指令对应的报表数据;
基于所述报表数据的报表字段确定所述请求指令对应的SQL数据。
可选地,所述确定所述解析数据对应的数据个数,基于所述数据个数将所述解析数据进行分批组装,确定对应的组装数据,并基于缓冲输出流导出所述组装数据的步骤之后,还包括:
发送提示信息至所述客户终端,以供用户根据所述提示信息在所述客户终端中下载所述报表文件。
此外,为实现上述目的,本发明还提供一种数据的导出装置,所述数据的导出装置包括:
确定模块,用于接收到客户终端发送的获取数据的请求指令后,基于所述请求指令确定对应的结构化查询语言SQL数据;基于所述SQL数据确定对应的待获取数据,并基于所述待获取数据确定对应的解析数据;确定所述解析数据对应的数据个数;
组装模块,用于基于所述数据个数将所述解析数据进行分批组装,确定对应的组装数据;
导出模块,用于基于缓冲输出流导出所述组装数据。
此外,为实现上述目的,本发明还提供一种数据的导出系统,所述数据的导出系统包括存储器、处理器和存储在所述存储器上并在所述处理器上运行的数据的导出程序,所述数据的导出程序被所述处理器完成时实现如上所述的数据的导出方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据的导出程序,所述数据的导出程序被处理器完成时实现如上所述的数据的导出方法的步骤。
本发明实现通过接收到客户终端发送的获取数据的请求指令后,基于请求指令确定对应的结构化查询语言SQL数据;基于SQL数据确定对应的待获取数据,并基于待获取数据确定对应的解析数据;获取解析数据的数据个数,基于数据个数将解析数据进行分批组装确定对应的组装数据,并基于缓冲输出流导出组装数据。由此可知,本发明在导出数据的过程中,基于请求指令中的SQL数据确定对应的待获取数据,然后将待获取数据进行解析确定对应的解析数据,接着基于解析数据的数据个数将解析数据进行分批组装确定对应的组装数据,最后分批将组装数据导出,从而大大降低了组装数据对系统堆内存占用空间,从而提升了系统稳定性。
附图说明
图1是本发明数据的导出方法第一实施例的流程示意图;
图2是本发明数据的导出装置较佳的结构示意图;
图3是本发明实施例方案涉及的硬件运行环境的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种数据的导出方法,参照图1,图1为本发明数据的导出方法第一实施例的流程示意图。
本发明实施例提供了数据的导出方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些数据下,可以以不同于此处的顺序完成所示出或描述的步骤。
数据的导出方法包括:
步骤S10,接收到客户终端发送的获取数据的请求指令后,基于所述请求指令确定对应的结构化查询语言SQL数据。
服务器接收到客户终端发送的获取数据的请求指令前,用户需要在客户终端的浏览器窗口触发获取报表数据的请求指令,并通过浏览器将请求指令发送至服务器。服务器接收到客户终端发送的获取数据的请求指令后,获取请求指令中对应的报表数据,并根据报表数据中的数据信息确定请求指令对应的SQL(Structured Query Language,结构化查询语言)数据。其中,SQL数据中包含有一个或者多个SQL语句。
进一步地,所述步骤S10包括:
步骤a,接收到所述客户终端发送的获取数据的请求指令后,基于线程池处理所述请求指令,并确定所述请求指令对应的报表数据;
步骤b,基于所述报表数据的报表字段确定所述请求指令对应的SQL数据。
具体地,服务器接收到客户终端发送的获取数据的请求指令后,通过线程池对请求指令进行异步处理,实时将服务器响应反馈至客户终端,然后确定请求指令对应的报表数据,分析该报表数据中的报表字段,根据报表数据中的报表字段确定请求指令对应的SQL数据。
在本实施例中,比如,服务器查询商品的总条数对应的SQL语句为SELECT COUNT(*)FROM product,服务器查询价格大于200元商品的总条数对应的SQL语句为SELECTCOUNT(*)FROM product WHERE price>200yuan,服务器查询分类为'c001'的所有商品价格的总和对应的SQL语句为SELECT SUM(price)FROM product WHERE category_id='c001',服务器查询分类为'c002'所有商品的平均价格对应的SQL语句为SELECT AVG(price)FROMproduct WHERE category_id='c002',服务器查询商品的最大价格和最小价格对应的SQL语句为SELECT MAX(price),MIN(price)FROM product,服务器统计各个分类商品的个数对应的SQL语句SELECT category_id,COUNT(*)FROM product GROUP BY category_id,服务器统计各个分类商品的个数,且只显示个数大于1的信息对应的SQL语句SELECT category_id,COUNT()FROM product GROUP BY category_id HAVING COUNT()>1等等。
步骤S20,基于所述SQL数据确定对应的待获取数据,并基于所述待获取数据确定对应的解析数据。
服务器获取到请求指令对应的SQL数据后,根据该SQL数据在RDBMS(RelationalDatabase Management System,关系数据库管理系统)对应的数据源中查询并确定对应的待获取数据,然后将待获取数据进行对象解析,得到待获取数据对应的解析数据。需要说明的是,服务器在RDBMS中确定的待获取数据为对象类型数据,因此需要对待获取数据进行对象解析。
进一步地,所述步骤S20包括:
步骤c,基于Java数据库JDBC协议连接对应的数据库,并基于所述SQL数据在所述数据库中确定所述SQL数据对应的待获取数据;
步骤d,依次解析各个所述待获取数据,确定各个所述待获取数据对应的各个解析数据。
具体地,服务器通过JDBC(Java Database Connectivity,Java数据库连接)协议连接关系数据库管理系统中的数据库,然后将SQL数据发送至该数据库中,数据库根据该SQL数据查询并获取与SQL数据对应的待获取数据,并通过游标数据形式将对应的待获取数据返回至应用服务器,服务器通过org.apache.ibatis.session.ResultHandler接口接收待获取数据,并将各个待获取数据进行实时依次解析,得到各个待获取数据对应的各个解析数据。其中,org.apache.ibatis.session.ResultHandler接口是ResultHandler方法中的接口之一。
在本实施例中,比如,服务器接收到数据库返回的待获取数据有Data Object1,Data Object2至Data Object100,服务器首先对待获取数据Data Object1进行解析,在Data Object1解析完成得到Data1后,再对应Data Object2至Data Object100进行依次解析,Data Object1没有解析完成之前,服务器不会解析Data Object2至Data Object100。
步骤S30,确定所述解析数据对应的数据个数,基于所述数据个数将所述解析数据进行分批组装,确定对应的组装数据,并基于缓冲输出流导出所述组装数据。
服务器获取依次解析后的解析数据,然后确定解析数据对应的数据个数,并确定一个组装数据中能够组装解析数据的组装个数,根据组装个数和数据个数将解析数据进行依次分批组装,确定解析数据对应的组装数据,服务器得到组装数据后,然后通过java.io.BufferedWriter缓冲输出流将各个组装数据导入到请求指令对应的报表文件中。其中,java.io.BufferedWriter缓冲输出流为java.io.BufferedWriter缓冲输出工具类中的一种输出方式。
进一步地,所述步骤S30包括:
步骤e,间隔预设时长获取所述解析数据,确定所述解析数据对应的第一数据个数,并检测所述第一数据个数是否大于预设数量;
步骤f,若检测到所述第一数据个数大于所述预设数量,则基于所述预设数量对应的解析数据进行数据集合,确定对应的组装数据,并检测所述数据集合后的第二数据个数是否小于或者等于所述预设数量,其中,所述第二数据个数为所述第一数据个数和所述预设数量的数据差值;
步骤g,若检测所述第二数据个数小于或者等于所述预设数量,则基于所述第二数据个数对应的解析数据进行数据集合,确定对应的组装数据。
具体地,服务器间隔预设时长获取一次解析数据,然后确定解析数据对应的第一数据个数,并将检测第一数据个数是否大于预设数量,若检测到第一数据个数大于预设数量,服务器则获取预设数量的解析数据,并将预设数量的解析数据进行数据集合,得到预设数量的解析数据对应的组装数据。服务器组装完成一个组装数据后,将第一数据个数的数值减去预设数量的数值,得到数据差值,即第二数据个数,并检测组装后剩余解析数据对应的第二数据个数,并检测第二数据个数是否小于或者等于预设数量,若检测到第二数据个数小于或者等于预设数量,服务器则将第二数据个数对应的解析数据进行数据集合,确定第二数据个数对应的解析数据的组装数据。若检测到第二数据个数大于预设数量,服务器则继续获取预设数量的解析数据,并将预设数量的解析数据进行数据集合,得到预设数量的解析数据对应的组装数据,直到第二数据个数小于或者等于预设数量。其中,预设时长根据需求设定,本实施例不作限制。预设时长的时间单位为ms(毫秒)。预设数量根据实际情况设定,本实施例不作限制。
进一步地,所述步骤g包括:
步骤h,获取客户终端对应的客户端数据格式,基于所述客户端数据格式将所述预设数量对应的解析数据进行数据集合,确定所述客户端数据格式对应的组装数据。
具体地,服务器获取客户终端对应的客户端数据格式,然后将预设数量对应的解析数据按照客户端数据格式进行数据集合,将预设数量对应的解析数据组装为客户端数据格式对应的组装数据。其中,客户端数据格式是客户终端对应的数据形态,每一个客户终端对应的客户端数据格式是不一样的,由客户终端的系统参数决定。
进一步地,所述数据的导出方法还包括:
步骤i,若检测到所述第一数据个数小于或者等于所述预设数量,则基于各个所述解析数据进行数据集合,确定所述解析数据对应的组装数据。
具体地,服务器若检测到第一数据个数小于或者等于预设数量,则获取第一数据个数对应的解析数据,并将第一数据个数对应的所有解析数据进行数据集合,得到第一数据个数对应的解析数据的组装数据。
在本实施例中,比如,预设时长为0.1毫秒,预设数量为10,服务器在0.1毫秒内获取到的解析数据有Data 1,Data 2至Data 97,解析数据对应的第一数据个数97大于预设数量10,服务器则先将Data 1至Data 10的解析数据进行数据集合,组装为一个组装数据,剩余解析数据的数据个数为87大于预设数量10,再将Data 11至Data 20的解析数据进行数据集合,组装为一个组装数据,依次进行组装,服务器再经过8次组装后,剩余解析数据为7小于预设数量10,服务器则将剩余7个解析数据Data 91至Data 97进行数据集合,组装为对应的组装数据。服务器在0.1毫秒内获取到的解析数据有Data 1,Data2至Data 9,解析数据对应的第一数据个数9小于预设数量10,则将Data 1至Data 9的解析数据进行数据集合,组装为对应的组装数据。
本实施例通过接收到客户终端发送的获取数据的请求指令后,基于请求指令确定对应的结构化查询语言SQL数据;基于SQL数据确定对应的待获取数据,并基于待获取数据确定对应的解析数据;获取解析数据的数据个数,基于数据个数将解析数据进行分批组装确定对应的组装数据,并基于缓冲输出流导出组装数据。由此可知,本发明在导出数据的过程中,基于请求指令中的SQL数据确定对应的待获取数据,然后将待获取数据进行解析确定对应的解析数据,接着基于解析数据的数据个数将解析数据进行分批组装确定对应的组装数据,最后分批将组装数据导出,从而大大降低了组装数据对系统堆内存占用空间,从而提升了系统稳定性。再者,本实施例通过线程池异步处理请求指令,即时反馈服务器响应给客户终端,从而提升了用户体验。
进一步地,提出本发明数据的导出方法第二实施例。
所述数据的导出方法第二实施例与所述数据的导出方法第一施例的区别在于,所述数据的导出方法还包括:
步骤j,发送提示信息至所述客户终端,以供用户根据所述提示信息在所述客户终端中下载所述报表文件。
具体地,服务器按照客户端数据格式导出各个组装数据之后,向客户终端发送导出完成的提示信息,客户终端接收到提示信息后,根据提示信息通知用户,用户接收到提示信息后,即时进入浏览器报表文件下载中心进行报表文件下载。
本实施通过发送提示信息至客户终端,以供用户根据提示信息在客户终端中下载报表文件。由此可知,服务器按照客户端数据格式导出各个组装数据之后,向客户终端发送导出完成的提示信息,客户终端接收到提示信息后,根据提示信息通知用户,用户接收到提示信息后,即时进入浏览器报表文件下载中心进行报表文件下载,从而提高了用户获取报表文件的效率,以及提高了用户体验。
此外,本发明还提供一种数据的导出装置,参照图2,所述数据的导出装置包括:
确定模块10,用于接收到客户终端发送的获取数据的请求指令后,基于所述请求指令确定对应的结构化查询语言SQL数据;基于所述SQL数据确定对应的待获取数据,并基于所述待获取数据确定对应的解析数据;确定所述解析数据对应的数据个数;
组装模块20,用于基于所述数据个数将所述解析数据进行分批组装,确定对应的组装数据;
导出模块30,用于基于缓冲输出流导出所述组装数据。
进一步地,所述确定模块10包括:
第一获取单元,用于间隔预设时长获取所述解析数据。
进一步地,所述确定模块10还用于确定所述解析数据对应的第一数据个数。
进一步地,所述组装模块20包括:
检测单元,用于检测所述第一数据个数是否大于预设数量;
第一集合单元,用于若检测到所述第一数据个数大于所述预设数量,则基于所述预设数量对应的解析数据进行数据集合,确定对应的组装数据;
所述检测单元还用于检测所述数据集合后的第二数据个数是否小于或者等于所述预设数量,其中,所述第二数据个数为所述第一数据个数和所述预设数量的数据差值;
所述第一集合单元还用于若检测所述第二数据个数小于或者等于所述预设数量,则基于所述第二数据个数对应的解析数据进行数据集合,确定对应的组装数据;若检测到所述第一数据个数小于或者等于所述预设数量,则基于各个所述解析数据进行数据集合,确定所述解析数据对应的组装数据。
进一步地,所述组装模块20还包括:
第二获取单元,用于获取客户终端对应的客户端数据格式;
第二集合单元,用于基于所述客户端数据格式将所述预设数量对应的解析数据进行数据集合,确定所述客户端数据格式对应的组装数据。
进一步地,所述确定模块10包括:
连接单元,用于基于Java数据库JDBC协议连接对应的数据库;
确定单元,用于基于所述SQL数据在所述数据库中确定所述SQL数据对应的待获取数据;
解析单元,用于依次解析各个所述待获取数据,确定各个所述待获取数据对应的各个解析数据;
处理单元,用于接收到所述客户终端发送的获取数据的请求指令后,基于线程池处理所述请求指令。
进一步地,所述确定模块10还用于确定所述请求指令对应的报表数据;基于所述报表数据的报表字段确定所述请求指令对应的SQL数据。
进一步地,所述数据的导出装置还包括:
发送模块,用于发送提示信息至所述客户终端,以供用户根据所述提示信息在所述客户终端中下载所述报表文件。
本发明基于数据的导出装置具体实施方式与上述基于数据的导出方法各实施例基本相同,在此不再赘述。
此外,本发明还提供一种数据的导出系统。如图3所示,图3是本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图3即可为数据的导出系统的硬件运行环境的结构示意图。
如图3所示,该数据的导出系统可以包括:处理器1001,例如CPU(CentralProcessing Unit,中央处理器),存储器1005,用户接口1003,网络接口1004,通信总线1002。通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(board),可选用户接口1003还可以包括标准的有线接口(如USB(Universal Serial Bus,通用串行总线)接口)、无线接口(如蓝牙接口)。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI((Wireless-Fidelity))接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,数据的导出系统还可以包括RF(Radio Frequency,射频)电路,传感器、WiFi模块等等。
本领域技术人员可以理解,图3中示出的数据的导出系统结构并不构成对数据的导出系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,作为一种计算机存储介质的存储器1005中可以包括操作设备、网络通信模块、用户接口模块以及数据的导出程序。其中,操作设备是管理和控制数据的导出系统硬件和软件资源的程序,支持数据的导出程序以及其它软件或程序的运行。
在图所示的数据的导出系统中,用户接口1003主要用于客户终端,以用户通过客户终端中的浏览器窗口向服务器发送的获取数据的请求指令;网络接口1004主要用于服务器,以接收客户终端发送的获取数据的请求指令;处理器1001可以用于调用存储器1005中存储的数据的导出程序,并完成如上所述的数据的导出系统的控制方法的步骤。
本发明数据的导出系统具体实施方式与上述数据的导出方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据的导出程序,所述数据的导出程序被处理器完成时实现如上所述的数据的导出方法的步骤。
本发明计算机可读存储介质具体实施方式与上述数据的导出方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的数据下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多数据下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件货物的形式体现出来,该计算机软件货物存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台数据的导出系统完成本发明各个实施例所述的方法。
Claims (10)
1.一种数据的导出方法,其特征在于,所述数据的导出方法包括以下步骤:
接收到客户终端发送的获取数据的请求指令后,基于所述请求指令确定对应的结构化查询语言SQL数据;
基于所述SQL数据确定对应的待获取数据,并基于所述待获取数据确定对应的解析数据;
确定所述解析数据对应的数据个数,基于所述数据个数将所述解析数据进行分批组装,确定对应的组装数据,并基于缓冲输出流导出所述组装数据。
2.如权利要求1所述的数据的导出方法,其特征在于,所述确定所述解析数据对应的数据个数,基于所述数据个数将所述解析数据进行分批组装,确定对应的组装数据,并基于缓冲输出流导出所述组装数据的步骤包括:
间隔预设时长获取所述解析数据,确定所述解析数据对应的第一数据个数,并检测所述第一数据个数是否大于预设数量;
若检测到所述第一数据个数大于所述预设数量,则基于所述预设数量对应的解析数据进行数据集合,确定对应的组装数据,并检测所述数据集合后的第二数据个数是否小于或者等于所述预设数量,其中,所述第二数据个数为所述第一数据个数和所述预设数量的数据差值;
若检测所述第二数据个数小于或者等于所述预设数量,则基于所述第二数据个数对应的解析数据进行数据集合,确定对应的组装数据。
3.如权利要求2所述的数据的导出方法,其特征在于,所述确定所述解析数据对应的第一数据个数,并检测所述第一数据个数是否大于预设数量的步骤之后,还包括:
若检测到所述第一数据个数小于或者等于所述预设数量,则基于各个所述解析数据进行数据集合,确定所述解析数据对应的组装数据。
4.如权利要求2所述的数据的导出方法,其特征在于,所述基于所述预设数量对应的解析数据进行数据集合,确定对应的组装数据的步骤包括:
获取客户终端对应的客户端数据格式,基于所述客户端数据格式将所述预设数量对应的解析数据进行数据集合,确定所述客户端数据格式对应的组装数据。
5.如权利要求1所述的数据的导出方法,其特征在于,所述基于所述SQL数据确定对应的待获取数据,并基于所述待获取数据确定对应的解析数据的步骤包括:
基于Java数据库JDBC协议连接对应的数据库,并基于所述SQL数据在所述数据库中确定所述SQL数据对应的待获取数据;
依次解析各个所述待获取数据,确定各个所述待获取数据对应的各个解析数据。
6.如权利要求1所述的数据的导出方法,其特征在于,所述接收到客户终端发送的获取数据的请求指令后,基于所述请求指令确定对应的结构化查询语言SQL数据的步骤包括:
接收到所述客户终端发送的获取数据的请求指令后,基于线程池处理所述请求指令,并确定所述请求指令对应的报表数据;
基于所述报表数据的报表字段确定所述请求指令对应的SQL数据。
7.如权利要求1至6任一项所述的数据的导出方法,其特征在于,所述确定所述解析数据对应的数据个数,基于所述数据个数将所述解析数据进行分批组装,确定对应的组装数据,并基于缓冲输出流导出所述组装数据的步骤之后,还包括:
发送提示信息至所述客户终端,以供用户根据所述提示信息在所述客户终端中下载所述报表文件。
8.一种数据的导出装置,其特征在于,所述数据的导出装置包括:
确定模块,用于接收到客户终端发送的获取数据的请求指令后,基于所述请求指令确定对应的结构化查询语言SQL数据;基于所述SQL数据确定对应的待获取数据,并基于所述待获取数据确定对应的解析数据;确定所述解析数据对应的数据个数;
组装模块,用于基于所述数据个数将所述解析数据进行分批组装,确定对应的组装数据;
导出模块,用于基于缓冲输出流导出所述组装数据。
9.一种数据的导出系统,其特征在于,所述数据的导出系统包括存储器、处理器和存储在所述存储器上并在所述处理器上运行的数据的导出程序,所述数据的导出程序被所述处理器完成时实现如权利要求1至8中任一项所述的数据的导出方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据的导出程序,所述数据的导出程序被处理器完成时实现如权利要求1至8中任一项所述的数据的导出方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010755157.0A CN111930772A (zh) | 2020-07-30 | 2020-07-30 | 数据的导出方法、装置、系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010755157.0A CN111930772A (zh) | 2020-07-30 | 2020-07-30 | 数据的导出方法、装置、系统及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111930772A true CN111930772A (zh) | 2020-11-13 |
Family
ID=73315617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010755157.0A Withdrawn CN111930772A (zh) | 2020-07-30 | 2020-07-30 | 数据的导出方法、装置、系统及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930772A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667171A (zh) * | 2009-09-15 | 2010-03-10 | 金蝶软件(中国)有限公司 | 生成报表的方法及报表生成装置 |
CN103034658A (zh) * | 2011-09-29 | 2013-04-10 | 福建睿能电子有限公司 | 一种数据查询和报表导出的方法及系统 |
US20190034464A1 (en) * | 2017-07-31 | 2019-01-31 | Vmware, Inc. | Methods and systems that collect data from computing facilities and export a specified portion of the collected data for remote processing and analysis |
CN109325053A (zh) * | 2018-06-29 | 2019-02-12 | 平安科技(深圳)有限公司 | 报表系统的数据处理方法、装置及计算机可读存储介质 |
CN110019437A (zh) * | 2017-07-18 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 一种导出数据的方法和系统 |
CN110991154A (zh) * | 2019-12-20 | 2020-04-10 | 深圳前海环融联易信息科技服务有限公司 | 报表生成方法、系统、计算机设备及计算机可读存储介质 |
CN111125174A (zh) * | 2019-12-06 | 2020-05-08 | 东软集团股份有限公司 | 数据导出方法、装置、存储介质、电子设备 |
-
2020
- 2020-07-30 CN CN202010755157.0A patent/CN111930772A/zh not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667171A (zh) * | 2009-09-15 | 2010-03-10 | 金蝶软件(中国)有限公司 | 生成报表的方法及报表生成装置 |
CN103034658A (zh) * | 2011-09-29 | 2013-04-10 | 福建睿能电子有限公司 | 一种数据查询和报表导出的方法及系统 |
CN110019437A (zh) * | 2017-07-18 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 一种导出数据的方法和系统 |
US20190034464A1 (en) * | 2017-07-31 | 2019-01-31 | Vmware, Inc. | Methods and systems that collect data from computing facilities and export a specified portion of the collected data for remote processing and analysis |
CN109325053A (zh) * | 2018-06-29 | 2019-02-12 | 平安科技(深圳)有限公司 | 报表系统的数据处理方法、装置及计算机可读存储介质 |
CN111125174A (zh) * | 2019-12-06 | 2020-05-08 | 东软集团股份有限公司 | 数据导出方法、装置、存储介质、电子设备 |
CN110991154A (zh) * | 2019-12-20 | 2020-04-10 | 深圳前海环融联易信息科技服务有限公司 | 报表生成方法、系统、计算机设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109726103B (zh) | 测试报告的生成方法、装置、设备及存储介质 | |
US20190102351A1 (en) | Generating configuration information for obtaining web resources | |
CN109426600B (zh) | 数据采集处理方法、装置、设备及可读存储介质 | |
CN111176590B (zh) | 基于适配的打印方法、设备、装置及计算机可读存储介质 | |
CN107615270A (zh) | 一种人机交互方法及其装置 | |
CN111427784B (zh) | 一种数据获取方法、装置、设备及存储介质 | |
CN113076729A (zh) | 用于报表导入的方法及系统、可读存储介质及电子设备 | |
KR102580364B1 (ko) | 스마트 네트워크 퍼징의 자동화를 위한 퍼징 전처리 장치 및 방법 | |
CN112770108B (zh) | 性能的测试方法、装置、系统及计算机可读存储介质 | |
CN111538542B (zh) | 一种系统配置方法及相关装置 | |
CN111930772A (zh) | 数据的导出方法、装置、系统及计算机可读存储介质 | |
CN110019077A (zh) | 日志查询方法、装置、设备及计算机可读存储介质 | |
CN111242445B (zh) | 基于配置生产线测试产品的方法、设备及可读存储介质 | |
CN116662204A (zh) | 一种无码测试案例生成方法、装置、系统及存储介质 | |
CN111352947B (zh) | 数据的更新方法、装置、设备及存储介质 | |
CN109684156B (zh) | 基于混合模式应用的监控方法、装置、终端及存储介质 | |
CN116401074A (zh) | 一种基于服务的数据交互方法及系统 | |
CN112667632B (zh) | 一种元数据处理方法及装置 | |
CN105812430B (zh) | 移动终端智能查询的方法、移动终端及服务器 | |
CN106294433B (zh) | 设备信息处理方法及装置 | |
CN113886235A (zh) | 测试计划确定方法、装置、介质及电子设备 | |
CN111061636B (zh) | 软件自动测试方法、装置、计算机设备及存储介质 | |
CN111159554A (zh) | 基于大数据的菜谱生成方法、系统、终端设备及存储介质 | |
CN111506605B (zh) | 数据的分析方法、装置、设备及计算机可读存储介质 | |
CN111125264B (zh) | 基于扩展olap模型的超大集合分析方法及装置 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201113 |