CN111858727A - 一种基于模板配置的多数据源数据导出***及方法 - Google Patents
一种基于模板配置的多数据源数据导出***及方法 Download PDFInfo
- Publication number
- CN111858727A CN111858727A CN202010586342.1A CN202010586342A CN111858727A CN 111858727 A CN111858727 A CN 111858727A CN 202010586342 A CN202010586342 A CN 202010586342A CN 111858727 A CN111858727 A CN 111858727A
- Authority
- CN
- China
- Prior art keywords
- data
- data source
- export
- expression
- template
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 23
- 238000012545 processing Methods 0.000 claims abstract description 91
- 238000012795 verification Methods 0.000 claims abstract description 17
- 238000007726 management method Methods 0.000 claims description 19
- 238000009795 derivation Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 16
- 238000013500 data storage Methods 0.000 claims description 7
- 238000010195 expression analysis Methods 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于模板配置的多数据源数据导出***,包括:导出表达式校验模块、数据源加载处理模块和数据导出处理模块;所述导出表达式校验模块用于获取导出任务表达式,并对所述导出任务表达式进行解析校验处理,得到校验正确的JSON表达式;所述数据源加载处理模块用于对所述JSON表达式进行解析,导出所述JSON表达式中的数据源配置,并对各数据源数据进行加载合并,得到总数据变量;所述数据导出处理模块用于对所述总数据变量进行导出,生成导出的Excel文件;本发明通过解析校验实现配置自动化,以及通过数据源类型配置提高模板导出处理速度,进而提高多数据源数据导出方案的实用性。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于模板配置的多数据源数据导出***及方法。
背景技术
在日常使用各类管理***时,经常会碰到数据导出excel的需求,现有针对数据导出都是需要开发部门花费比较长时间来定制开发。现有导出excel技术处理一般有以下两种:
1)采用定制导出的方式,即写程序查询出要导出来的数据,逐行将数据写入到导出文件中。如使用JAVA导出excel时,一般是使用jxl或者poi等第三方操作excel的JAR包来生成,基本的导出处理过程都是需要开发人员根据需求去写程序读取数据后导出生成excel文件。但是这种方法的导出开发工作量大,需要根据每次导出需求编写不同的程序读取数据后执行导出,无法做到配置自动化。
2)采用模板导出的方式,即先定义好导出的文件模板,然后通过程序查询出要导出的数据,根据导出模板中的变量占位符,渲染生成导出文件。但是这种方法的导出处理速度慢,由于导出的处理逻辑跟正常的业务逻辑是在同一个运行进程里,当导出大批量数据时,会互相影响,导致处理速度慢甚至是内存溢出等问题。
发明内容
本发明提供了一种基于模板配置的多数据源数据导出***及方法,通过对导出任务表达式进行解析校验后,导出数据源类型配置并对各数据源数据进行加载合并,得到导出的Excel文件,以解决现有技术中的定制导出方案无法做到配置自动化,以及模板导出方案处理速度慢的技术问题,从而通过解析校验实现配置自动化,以及通过数据源类型配置提高模板导出处理速度,进而提高多数据源数据导出方案的实用性。
为了解决上述技术问题,本发明实施例提供了一种基于模板配置的多数据源数据导出***,包括:导出表达式校验模块、数据源加载处理模块和数据导出处理模块;
所述导出表达式校验模块用于获取导出任务表达式,并对所述导出任务表达式进行解析校验处理,得到校验正确的JSON表达式;
所述数据源加载处理模块用于对所述JSON表达式进行解析,导出所述JSON表达式中的数据源配置,并对各数据源数据进行加载合并,得到总数据变量;
所述数据导出处理模块用于对所述总数据变量进行导出,生成导出的Excel文件。
作为优选方案,所述导出表达式校验模块包括:
表达式解析单元,用于获取导出任务表达式,对所述导出任务表达式进行解析后储存到数据结构中;
ID校验单元,用于对所述数据结构中的ID数据进行校验;
模板校验单元,用于对所述数据结构中的导出模板ID数据进行校验;
数据校验单元,用于对所述数据结构中的shhets数据进行校验。
作为优选方案,所述数据源加载处理模块包括:
数据源类型判断单元,用于在接收到导出任务处理指令后,读取与所述导出任务相关联的JSON表达式,通过对JSON表达式进行解析后得到所有的数据源信息,并对所述数据源信息的数据源类型进行判断,并发处理获取各个数据源返回的数据;
SQL数据源单元,用于当所述数据源类型为SQL数据源时,判断该SQL数据源的SQL格式是否正确合法,若不合法则跳过处理;若合法则连接到SQL关联的数据库连接池并执行SQL,获取到执行结果数据并存储为第一变量,直到所有SQL数据源执行完毕;
接口数据源单元,用于当所述数据源类型为接口数据源时,校验所述接口数据源的接口地址格式是否符合http协议规范,以及校验所述接口数据源的请求参数格式是否正确;若校验不通过则跳过处理;若校验通过则加载接口关联的请求实现SDK包,通过SDK包请求接口,获取返回的数据并存储加载到第二变量,直到所有接口数据源执行完毕;
固定值数据源单元,用于当所述数据源类型为固定值数据源时,校验所述固定值数据源的固定值参数格式是否正确,若不正确则跳过处理;若正确则将数据存储加载到第三变量,直到所有固定值数据源执行完毕;
数据变量合并单元,用于对所述第一变量、第二变量和第三变量进行合并处理,得到总数据变量。
作为优选方案,所述数据导出处理模块包括:
切片处理单元,用于对所述总数据变量进行切片处理,得到多个切片数据;
导出文件单元,用于对各切片数据进行处理,生成各切片数据所对应的Excel导出文件;
文件合并单元,用于将各切片所对应的Excel导出文件进行合并生成最终的Excel文件,并将所述Excel文件储存到OSS中,获取下载URL地址信息;
状态更新单元,用于生成导出任务状态更新指令,保存生成的文件下载URL地址信息。
作为优选方案,所述基于模板配置的多数据源数据导出***还包括:导出任务发送与更新模块;所述导出任务发送与更新模块用于生成并发送导出任务处理指令,以及接收所述导出任务状态更新指令并响应所述导出任务状态更新指令,对导出任务进行更新。
作为优选方案,所述基于模板配置的多数据源数据导出***还包括:导出模板管理模块;所述导出模板管理模块用于对导出模板文件的管理。
作为优选方案,所述基于模板配置的多数据源数据导出***还包括:导出任务管理模块;所述导出任务管理模块用于对所有的导出任务进行管理。
本发明实施例还提供了一种基于模板配置的多数据源数据导出方法,包括:
获取导出任务表达式,并对所述导出任务表达式进行解析校验处理,得到校验正确的JSON表达式;
对所述JSON表达式进行解析,导出所述JSON表达式中的数据源配置,并对各数据源数据进行加载合并,得到总数据变量;
对所述总数据变量进行导出,生成导出的Excel文件。
作为优选方案,所述获取导出任务表达式,并对所述导出任务表达式进行解析校验处理的具体步骤,包括:
获取导出任务表达式,对所述导出任务表达式进行解析后储存到数据结构中。
对所述数据结构中的ID数据进行校验;
对所述数据结构中的导出模板ID数据进行校验;
对所述数据结构中的shhets数据进行校验。
作为优选方案,所述对所述JSON表达式进行解析,导出所述JSON表达式中的数据源配置,并对各数据源数据进行加载合并的具体步骤,包括:
在接收到导出任务处理指令后,读取与所述导出任务相关联的JSON表达式,通过对JSON表达式进行解析后得到所有的数据源信息,并对所述数据源信息的数据源类型进行判断,并发处理获取各个数据源返回的数据;
当所述数据源类型为SQL数据源时,判断该SQL数据源的SQL格式是否正确合法,若不合法则跳过处理;若合法则连接到SQL关联的数据库连接池并执行SQL,获取到执行结果数据并存储为第一变量,直到所有SQL数据源执行完毕;
当所述数据源类型为接口数据源时,校验所述接口数据源的接口地址格式是否符合http协议规范,以及校验所述接口数据源的请求参数格式是否正确;若校验不通过则跳过处理;若校验通过则加载接口关联的请求实现SDK包,通过SDK包请求接口,获取返回的数据并存储加载到第二变量,直到所有接口数据源执行完毕;
当所述数据源类型为固定值数据源时,校验所述固定值数据源的固定值参数格式是否正确,若不正确则跳过处理;若正确则将数据存储加载到第三变量,直到所有固定值数据源执行完毕;
对所述第一变量、第二变量和第三变量进行合并处理,得到总数据变量。
作为优选方案,所述对所述总数据变量进行导出,生成导出的Excel文件的具体步骤,包括:
对所述总数据变量进行切片处理,得到多个切片数据;
对各切片数据进行处理,生成各切片数据所对应的Excel导出文件;
将各切片所对应的Excel导出文件进行合并生成最终的Excel文件,并将所述Excel文件储存到OSS中,获取下载URL地址信息;
生成导出任务状态更新指令,保存生成的文件下载URL地址信息。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行如上述任一项所述的基于模板配置的多数据源数据导出方法。
本发明实施例还提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现如上述任一项所述的基于模板配置的多数据源数据导出方法。
相比于现有技术,本发明实施例具有如下有益效果:
本发明通过对导出任务表达式进行解析校验后,导出数据源类型配置并对各数据源数据进行加载合并,得到导出的Excel文件,以解决现有技术中的定制导出方案无法做到配置自动化,以及模板导出方案处理速度慢的技术问题,从而通过解析校验实现配置自动化,以及通过数据源类型配置提高模板导出处理速度,进而提高多数据源数据导出方案的实用性。
附图说明
图1:为本发明基于模板配置的多数据源数据导出***的结构示意图;
图2:为本发明实施例中的导出模板管理模块处理流程示意图;
图3:为本发明实施例中的导出任务管理模块处理流程示意图;
图4:为本发明实施例中的数据源加载处理模块处理流程示意图;
图5:为本发明实施例中的数据导出处理模块处理流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1至图5,本发明优选实施例提供了一种基于模板配置的多数据源数据导出***,包括:导出表达式校验模块、数据源加载处理模块和数据导出处理模块;
所述导出表达式校验模块用于获取导出任务表达式,并对所述导出任务表达式进行解析校验处理,得到校验正确的JSON表达式。具体地,所述导出表达式校验模块包括:
表达式解析单元,用于获取导出任务表达式,对所述导出任务表达式进行解析后储存到数据结构中;
ID校验单元,用于对所述数据结构中的ID数据进行校验;所述ID数据包括用户ID、部门ID数据;用于校验用户ID、部门ID是否正确;
模板校验单元,用于对所述数据结构中的导出模板ID数据进行校验;检查模板ID是否存在和有效;
数据校验单元,用于对所述数据结构中的shhets数据进行校验;校验变量参数是否正常,取值类型是否为api、sql、fixdata为这3个值范围里面。
所述数据源加载处理模块用于对所述JSON表达式进行解析,导出所述JSON表达式中的数据源配置,并对各数据源数据进行加载合并,得到总数据变量。具体地,所述数据源加载处理模块包括:
数据源类型判断单元,用于在接收到导出任务处理指令后,读取与所述导出任务相关联的JSON表达式,通过对JSON表达式进行解析后得到所有的数据源信息,并对所述数据源信息的数据源类型进行判断,并发处理获取各个数据源返回的数据;
SQL数据源单元,用于当所述数据源类型为SQL数据源时,判断该SQL数据源的SQL格式是否正确合法,若不合法则跳过处理;若合法则连接到SQL关联的数据库连接池并执行SQL,获取到执行结果数据并存储为第一变量,直到所有SQL数据源执行完毕;
接口数据源单元,用于当所述数据源类型为接口数据源时,校验所述接口数据源的接口地址格式是否符合http协议规范,以及校验所述接口数据源的请求参数格式是否正确;若校验不通过则跳过处理;若校验通过则加载接口关联的请求实现SDK包,通过SDK包请求接口,获取返回的数据并存储加载到第二变量,直到所有接口数据源执行完毕;
固定值数据源单元,用于当所述数据源类型为固定值数据源时,校验所述固定值数据源的固定值参数格式是否正确,若不正确则跳过处理;若正确则将数据存储加载到第三变量,直到所有固定值数据源执行完毕;
数据变量合并单元,用于对所述第一变量、第二变量和第三变量进行合并处理,得到总数据变量。
所述数据导出处理模块用于对所述总数据变量进行导出,生成导出的Excel文件。具体地,所述数据导出处理模块包括:
切片处理单元,用于对所述总数据变量进行切片处理,将数据集D进行平均切分,得到多个切片数据。
导出文件单元,用于对各切片数据进行处理,生成各切片数据所对应的Excel导出文件;调用切片处理器,并行处理各切片数据,包括读取excel读出模板数据和根据模板数据生成excel导出文件。
文件合并单元,用于将各切片所对应的Excel导出文件进行合并生成最终的Excel文件,并将所述Excel文件储存到OSS中,获取下载URL地址信息。
状态更新单元,用于生成导出任务状态更新指令,保存生成的文件下载URL地址信息。
在另一实施例中,所述基于模板配置的多数据源数据导出***还包括:导出任务发送与更新模块;所述导出任务发送与更新模块用于生成并发送导出任务处理指令,以及接收所述导出任务状态更新指令并响应所述导出任务状态更新指令,对导出任务进行更新。
在另一实施例中,所述基于模板配置的多数据源数据导出***还包括:导出模板管理模块;所述导出模板管理模块用于对导出模板文件的管理。包括上传模块、校验模板、存储模块、查看模板等子功能;上传模块用于查看导出模板列表,用户查看历史自己上传的导出模板;校验模板用于选择上传模板excel文件,服务将对导出模板中的表达式进行校验,校验不通过则不允许创建导出模板,校验通过则进入到下一步处理;存储模块用于将校验通过的模板excel文件存储到OSS上,保存模板信息;查看模板用于刷新导出模板列表,用户即可看到分配的模板ID等信息,后续开发人员导出时,需要传此模板ID信息。
在另一实施例中,所述基于模板配置的多数据源数据导出***还包括:导出任务管理模块;所述导出任务管理模块用于对所有的导出任务进行管理。具体包括:用户查看导出任务列表,返回该用户历史已导出的所有导出任务信息;***判断导出任务的状态,如状态为处理成功状态,则会返回对应生产的导出excel文件的OSS路径信息,用户点击可进行下载处理,如处理状态为失败时,用户可点击进行重新导出处理。
在另一实施例中,所述基于模板配置的多数据源数据导出***还包括:展现层(用户界面),用于向开发人员、管理用户、导出用户提供使用的界面。主要面向3类使用户使用:1.开发人员,可通过界面查询自己历史上传的excel导出模板和上传新定义好的导出模板。2.导出人员,可通过导出任务管理界面查看历史自己导出的文件和下载导出文件。3.管理人员,可通过界面查看所有的定义的excel能否出模板和所有的导出任务。
在另一实施例中,所述基于模板配置的多数据源数据导出***还包括:导出SDK模块,用于导出SDK,主要封装了拼接导出表达式的复杂逻辑,降低开发接入门槛。
本发明提供了一套包括导出模板管理、导出任务管理、导出数据源处理、数据合并导出处理、导出表达式校验、导出任务发送与更新、导了SDK等模块的完整技术方案。定义了一种导出excel的json导出数据表达式,通过解析表达式可以得出导出文件的模板、数据源的来源、导出数据的存储key值等信息。降低开发导出文件的技术门槛、提高提出文件效率,满足各类excel文件导出需求场景。
相应地,基于上述的一种基于模板配置的多数据源数据导出***,本发明实施例还提供了一种基于模板配置的多数据源数据导出方法,包括:
S1,获取导出任务表达式,并对所述导出任务表达式进行解析校验处理,得到校验正确的JSON表达式;在本实施例中,所述步骤S1包括:
S11,获取导出任务表达式,对所述导出任务表达式进行解析后储存到数据结构中。
S12,对所述数据结构中的ID数据进行校验;
S13,对所述数据结构中的导出模板ID数据进行校验;
S14,对所述数据结构中的shhets数据进行校验。
S2,对所述JSON表达式进行解析,导出所述JSON表达式中的数据源配置,并对各数据源数据进行加载合并,得到总数据变量;在本实施例中,所述步骤S2包括:
S21,在接收到导出任务处理指令后,读取与所述导出任务相关联的JSON表达式,通过对JSON表达式进行解析后得到所有的数据源信息,并对所述数据源信息的数据源类型进行判断,并发处理获取各个数据源返回的数据;
S22,当所述数据源类型为SQL数据源时,判断该SQL数据源的SQL格式是否正确合法,若不合法则跳过处理;若合法则连接到SQL关联的数据库连接池并执行SQL,获取到执行结果数据并存储为第一变量,直到所有SQL数据源执行完毕;
S23,当所述数据源类型为接口数据源时,校验所述接口数据源的接口地址格式是否符合http协议规范,以及校验所述接口数据源的请求参数格式是否正确;若校验不通过则跳过处理;若校验通过则加载接口关联的请求实现SDK包,通过SDK包请求接口,获取返回的数据并存储加载到第二变量,直到所有接口数据源执行完毕;
S24,当所述数据源类型为固定值数据源时,校验所述固定值数据源的固定值参数格式是否正确,若不正确则跳过处理;若正确则将数据存储加载到第三变量,直到所有固定值数据源执行完毕;
S25,对所述第一变量、第二变量和第三变量进行合并处理,得到总数据变量。
S3,对所述总数据变量进行导出,生成导出的Excel文件。在本实施例中,所述步骤S3包括:
S31,对所述总数据变量进行切片处理,得到多个切片数据;
S32,对各切片数据进行处理,生成各切片数据所对应的Excel导出文件;
S33,将各切片所对应的Excel导出文件进行合并生成最终的Excel文件,并将所述Excel文件储存到OSS中,获取下载URL地址信息;
S34,生成导出任务状态更新指令,保存生成的文件下载URL地址信息。
本发明的优点在于:
1)接入方便,只须引入导入SDK包后编写少量代码后即可进行excel文件的导出,无须占用业务***本身的服务器资源,不影响业务***正常运行。
2)支持快速导出大批量的excel数据,通过并行的处理各数据源数据加载,在数据源数据加载后,又通过将数据切片后分布处理生成excel文件来提高数据导出的速度和数据量。
3)可个性化配置扩展数据加载源,***内置了3个通用的数据加载源,如:SQL数据加载源、API(接口)数据加载源、固定数据加载源。未来还可扩展消息队列(MQ)加载源等。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行上述任一实施例所述的基于模板配置的多数据源数据导出方法。
本发明实施例还提供了一种终端设备,所述终端设备包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现上述任一实施例所述的基于模板配置的多数据源数据导出方法。
优选地,所述计算机程序可以被分割成一个或多个模块/单元(如计算机程序、计算机程序),所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端设备中的执行过程。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以是微处理器,或者所述处理器也可以是任何常规的处理器,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接所述终端设备的各个部分。
所述存储器主要包括程序存储区和数据存储区,其中,程序存储区可存储操作***、至少一个功能所需的应用程序等,数据存储区可存储相关数据等。此外,所述存储器可以是高速随机存取存储器,还可以是非易失性存储器,例如插接式硬盘,智能存储卡(SmartMedia Card,SMC)、安全数字(Secure Digital,SD)卡和闪存卡(Flash Card)等,或所述存储器也可以是其他易失性固态存储器件。
需要说明的是,上述终端设备可包括,但不仅限于,处理器、存储器,本领域技术人员可以理解,上述终端设备仅仅是示例,并不构成对终端设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于模板配置的多数据源数据导出***,其特征在于,包括:导出表达式校验模块、数据源加载处理模块和数据导出处理模块;
所述导出表达式校验模块用于获取导出任务表达式,并对所述导出任务表达式进行解析校验处理,得到校验正确的JSON表达式;
所述数据源加载处理模块用于对所述JSON表达式进行解析,导出所述JSON表达式中的数据源配置,并对各数据源数据进行加载合并,得到总数据变量;
所述数据导出处理模块用于对所述总数据变量进行导出,生成导出的Excel文件。
2.如权利要求1所述的基于模板配置的多数据源数据导出***,其特征在于,所述导出表达式校验模块包括:
表达式解析单元,用于获取导出任务表达式,对所述导出任务表达式进行解析后储存到数据结构中;
ID校验单元,用于对所述数据结构中的ID数据进行校验;
模板校验单元,用于对所述数据结构中的导出模板ID数据进行校验;
数据校验单元,用于对所述数据结构中的shhets数据进行校验。
3.如权利要求2所述的基于模板配置的多数据源数据导出***,其特征在于,所述数据源加载处理模块包括:
数据源类型判断单元,用于在接收到导出任务处理指令后,读取与所述导出任务相关联的JSON表达式,通过对JSON表达式进行解析后得到所有的数据源信息,并对所述数据源信息的数据源类型进行判断,并发处理获取各个数据源返回的数据;
SQL数据源单元,用于当所述数据源类型为SQL数据源时,判断该SQL数据源的SQL格式是否正确合法,若不合法则跳过处理;若合法则连接到SQL关联的数据库连接池并执行SQL,获取到执行结果数据并存储为第一变量,直到所有SQL数据源执行完毕;
接口数据源单元,用于当所述数据源类型为接口数据源时,校验所述接口数据源的接口地址格式是否符合http协议规范,以及校验所述接口数据源的请求参数格式是否正确;若校验不通过则跳过处理;若校验通过则加载接口关联的请求实现SDK包,通过SDK包请求接口,获取返回的数据并存储加载到第二变量,直到所有接口数据源执行完毕;
固定值数据源单元,用于当所述数据源类型为固定值数据源时,校验所述固定值数据源的固定值参数格式是否正确,若不正确则跳过处理;若正确则将数据存储加载到第三变量,直到所有固定值数据源执行完毕;
数据变量合并单元,用于对所述第一变量、第二变量和第三变量进行合并处理,得到总数据变量。
4.如权利要求3所述的基于模板配置的多数据源数据导出***,其特征在于,所述数据导出处理模块包括:
切片处理单元,用于对所述总数据变量进行切片处理,得到多个切片数据;
导出文件单元,用于对各切片数据进行处理,生成各切片数据所对应的Excel导出文件;
文件合并单元,用于将各切片所对应的Excel导出文件进行合并生成最终的Excel文件,并将所述Excel文件储存到OSS中,获取下载URL地址信息;
状态更新单元,用于生成导出任务状态更新指令,保存生成的文件下载URL地址信息。
5.如权利要求4所述的基于模板配置的多数据源数据导出***,其特征在于,还包括:导出任务发送与更新模块;所述导出任务发送与更新模块用于生成并发送导出任务处理指令,以及接收所述导出任务状态更新指令并响应所述导出任务状态更新指令,对导出任务进行更新。
6.如权利要求4所述的基于模板配置的多数据源数据导出***,其特征在于,还包括:导出模板管理模块;所述导出模板管理模块用于对导出模板文件的管理。
7.如权利要求4所述的基于模板配置的多数据源数据导出***,其特征在于,还包括:导出任务管理模块;所述导出任务管理模块用于对所有的导出任务进行管理。
8.一种基于模板配置的多数据源数据导出方法,其特征在于,包括:
获取导出任务表达式,并对所述导出任务表达式进行解析校验处理,得到校验正确的JSON表达式;
对所述JSON表达式进行解析,导出所述JSON表达式中的数据源配置,并对各数据源数据进行加载合并,得到总数据变量;
对所述总数据变量进行导出,生成导出的Excel文件。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行如权利要求8所述的基于模板配置的多数据源数据导出方法。
10.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现如权利要求8所述的基于模板配置的多数据源数据导出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010586342.1A CN111858727B (zh) | 2020-06-24 | 2020-06-24 | 一种基于模板配置的多数据源数据导出***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010586342.1A CN111858727B (zh) | 2020-06-24 | 2020-06-24 | 一种基于模板配置的多数据源数据导出***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858727A true CN111858727A (zh) | 2020-10-30 |
CN111858727B CN111858727B (zh) | 2024-02-02 |
Family
ID=72988081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010586342.1A Active CN111858727B (zh) | 2020-06-24 | 2020-06-24 | 一种基于模板配置的多数据源数据导出***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858727B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527270A (zh) * | 2020-12-18 | 2021-03-19 | 政采云有限公司 | 一种api结果输出方法、装置、设备及介质 |
CN113157784A (zh) * | 2020-12-30 | 2021-07-23 | 浪潮云信息技术股份公司 | 一种数据库数据导出工具的插件化实现方法 |
CN113283227A (zh) * | 2021-05-31 | 2021-08-20 | 山东浪潮通软信息科技有限公司 | 文件导出方法、装置及计算机可读介质 |
CN113407124A (zh) * | 2021-07-16 | 2021-09-17 | 首约科技(北京)有限公司 | 一种跨数据源的数据存储装置 |
CN113468380A (zh) * | 2021-06-30 | 2021-10-01 | 杭州玳数科技有限公司 | 数据导出方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017050141A1 (zh) * | 2015-09-24 | 2017-03-30 | 网宿科技股份有限公司 | 基于分布式存储的文件分发***及方法 |
CN106919684A (zh) * | 2017-03-02 | 2017-07-04 | 百度在线网络技术(北京)有限公司 | 数据导出方法、装置、设备及存储介质 |
CN110147402A (zh) * | 2019-05-22 | 2019-08-20 | 北大方正集团有限公司 | Excel文件导入方法及设备、导出方法及设备 |
-
2020
- 2020-06-24 CN CN202010586342.1A patent/CN111858727B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017050141A1 (zh) * | 2015-09-24 | 2017-03-30 | 网宿科技股份有限公司 | 基于分布式存储的文件分发***及方法 |
CN106919684A (zh) * | 2017-03-02 | 2017-07-04 | 百度在线网络技术(北京)有限公司 | 数据导出方法、装置、设备及存储介质 |
CN110147402A (zh) * | 2019-05-22 | 2019-08-20 | 北大方正集团有限公司 | Excel文件导入方法及设备、导出方法及设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527270A (zh) * | 2020-12-18 | 2021-03-19 | 政采云有限公司 | 一种api结果输出方法、装置、设备及介质 |
CN113157784A (zh) * | 2020-12-30 | 2021-07-23 | 浪潮云信息技术股份公司 | 一种数据库数据导出工具的插件化实现方法 |
CN113157784B (zh) * | 2020-12-30 | 2023-02-21 | 浪潮云信息技术股份公司 | 一种数据库数据导出工具的插件化实现方法 |
CN113283227A (zh) * | 2021-05-31 | 2021-08-20 | 山东浪潮通软信息科技有限公司 | 文件导出方法、装置及计算机可读介质 |
CN113468380A (zh) * | 2021-06-30 | 2021-10-01 | 杭州玳数科技有限公司 | 数据导出方法 |
CN113407124A (zh) * | 2021-07-16 | 2021-09-17 | 首约科技(北京)有限公司 | 一种跨数据源的数据存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111858727B (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108415832B (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN111858727A (zh) | 一种基于模板配置的多数据源数据导出***及方法 | |
CN111427596B (zh) | 一种软件升级的方法、装置及终端设备 | |
US10891569B1 (en) | Dynamic task discovery for workflow tasks | |
CN112346818A (zh) | 一种容器应用部署方法、装置、电子设备和存储介质 | |
CN111400246B (zh) | 异步导入文件方法、装置、计算机设备和存储介质 | |
US10803413B1 (en) | Workflow service with translator | |
CN111988429A (zh) | 算法调度方法以及*** | |
CN111651140B (zh) | 基于工作流的服务方法及装置 | |
CN112527459A (zh) | 一种基于Kubernetes集群的日志分析方法及装置 | |
CN111241803A (zh) | 生成文本文件的方法、装置、计算机设备及可读存储介质 | |
CN112965721B (zh) | 基于Android的项目编译方法、装置、计算机设备及存储介质 | |
CN113297153A (zh) | 数据导出方法、装置、设备及存储介质 | |
CN116029526A (zh) | 一种实验资源的调度方法、装置、设备及存储介质 | |
US11843679B2 (en) | Automated dependency management based on page components | |
CN115185841A (zh) | ***重构测试方法、装置、设备及存储介质 | |
CN114860202A (zh) | 项目运行方法、装置、服务器及存储介质 | |
CN114816361A (zh) | 拼搭工程生成方法、装置、设备、介质和程序产品 | |
CN114581241A (zh) | 智能合约的处理方法和装置、处理器及电子设备 | |
CN112667441A (zh) | 基于容错功能的业务模块调度方法、***及存储介质 | |
CN113448960A (zh) | 一种导入表格文件的方法和装置 | |
CN112486501B (zh) | 一种Spark应用部署管理方法及相关设备 | |
CN117492717A (zh) | 线上业务的实现方法及装置、存储介质和电子设备 | |
CN113900742A (zh) | 应用实例的管理方法、装置、电子设备及存储介质 | |
CN115718588A (zh) | 发布网络服务的方法、装置、存储介质及处理器 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |