CN111858727B - 一种基于模板配置的多数据源数据导出系统及方法 - Google Patents
一种基于模板配置的多数据源数据导出系统及方法 Download PDFInfo
- Publication number
- CN111858727B CN111858727B CN202010586342.1A CN202010586342A CN111858727B CN 111858727 B CN111858727 B CN 111858727B CN 202010586342 A CN202010586342 A CN 202010586342A CN 111858727 B CN111858727 B CN 111858727B
- Authority
- CN
- China
- Prior art keywords
- data
- data source
- export
- expression
- variable
- 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
Links
- 238000000034 method Methods 0.000 title claims description 24
- 238000012545 processing Methods 0.000 claims abstract description 94
- 238000012795 verification Methods 0.000 claims abstract description 39
- 238000007726 management method Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 16
- 238000013500 data storage Methods 0.000 claims description 7
- 238000009795 derivation Methods 0.000 claims description 6
- 238000013524 data verification Methods 0.000 claims description 3
- 238000010195 expression analysis Methods 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 4
- 238000011161 development Methods 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
- 238000004519 manufacturing 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
- 238000006467 substitution reaction Methods 0.000 description 1
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 (9)
1.一种基于模板配置的多数据源数据导出系统,其特征在于,包括:导出表达式校验模块、数据源加载处理模块和数据导出处理模块;
所述导出表达式校验模块用于获取导出任务表达式,并对所述导出任务表达式进行解析校验处理,得到校验正确的JSON表达式;
所述数据源加载处理模块包括:数据源类型判断单元、SQL数据源单元、接口数据源单元、固定值数据源单元以及数据变量合并单元;所述数据源类型判断单元,用于在接收到导出任务处理指令后,读取与所述导出任务相关联的JSON表达式,通过对JSON表达式进行解析后得到所有的数据源信息,并对所述数据源信息的数据源类型进行判断,并发处理获取各个数据源返回的数据;所述SQL数据源单元,用于当所述数据源类型为SQL数据源时,判断该SQL数据源的SQL格式是否正确合法,若不合法则跳过处理,若合法则连接到SQL关联的数据库连接池并执行SQL,获取到执行结果数据并存储为第一变量,直到所有SQL数据源执行完毕;所述接口数据源单元,用于当所述数据源类型为接口数据源时,校验所述接口数据源的接口地址格式是否符合http协议规范,以及校验所述接口数据源的请求参数格式是否正确,若校验不通过则跳过处理,若校验通过则加载接口关联的请求实现SDK包,通过SDK包请求接口,获取返回的数据并存储加载到第二变量,直到所有接口数据源执行完毕;所述固定值数据源单元,用于当所述数据源类型为固定值数据源时,校验所述固定值数据源的固定值参数格式是否正确,若不正确则跳过处理,若正确则将数据存储加载到第三变量,直到所有固定值数据源执行完毕;所述数据变量合并单元,用于对所述第一变量、第二变量和第三变量进行合并处理,得到总数据变量;
所述数据导出处理模块用于对所述总数据变量进行导出,生成导出的Excel文件。
2.如权利要求1所述的基于模板配置的多数据源数据导出系统,其特征在于,所述导出表达式校验模块包括:
表达式解析单元,用于获取导出任务表达式,对所述导出任务表达式进行解析后储存到数据结构中;
ID校验单元,用于对所述数据结构中的ID数据进行校验;
模板校验单元,用于对所述数据结构中的导出模板ID数据进行校验;
数据校验单元,用于对所述数据结构中的shhets数据进行校验。
3.如权利要求2所述的基于模板配置的多数据源数据导出系统,其特征在于,所述数据导出处理模块包括:
切片处理单元,用于对所述总数据变量进行切片处理,得到多个切片数据;
导出文件单元,用于对各切片数据进行处理,生成各切片数据所对应的Excel导出文件;
文件合并单元,用于将各切片所对应的Excel导出文件进行合并生成最终的Excel文件,并将所述Excel文件储存到OSS中,获取下载URL地址信息;
状态更新单元,用于生成导出任务状态更新指令,保存生成的文件下载URL地址信息。
4.如权利要求3所述的基于模板配置的多数据源数据导出系统,其特征在于,还包括:导出任务发送与更新模块;所述导出任务发送与更新模块用于生成并发送导出任务处理指令,以及接收所述导出任务状态更新指令并响应所述导出任务状态更新指令,对导出任务进行更新。
5.如权利要求3所述的基于模板配置的多数据源数据导出系统,其特征在于,还包括:导出模板管理模块;所述导出模板管理模块用于对导出模板文件的管理。
6.如权利要求3所述的基于模板配置的多数据源数据导出系统,其特征在于,还包括:导出任务管理模块;所述导出任务管理模块用于对所有的导出任务进行管理。
7.一种基于模板配置的多数据源数据导出方法,其特征在于,包括:
获取导出任务表达式,并对所述导出任务表达式进行解析校验处理,得到校验正确的JSON表达式;
在接收到导出任务处理指令后,读取与所述导出任务相关联的JSON表达式,通过对JSON表达式进行解析后得到所有的数据源信息,并对所述数据源信息的数据源类型进行判断,并发处理获取各个数据源返回的数据;当所述数据源类型为SQL数据源时,判断该SQL数据源的SQL格式是否正确合法,若不合法则跳过处理,若合法则连接到SQL关联的数据库连接池并执行SQL,获取到执行结果数据并存储为第一变量,直到所有SQL数据源执行完毕;当所述数据源类型为接口数据源时,校验所述接口数据源的接口地址格式是否符合http协议规范,以及校验所述接口数据源的请求参数格式是否正确,若校验不通过则跳过处理,若校验通过则加载接口关联的请求实现SDK包,通过SDK包请求接口,获取返回的数据并存储加载到第二变量,直到所有接口数据源执行完毕;当所述数据源类型为固定值数据源时,校验所述固定值数据源的固定值参数格式是否正确,若不正确则跳过处理,若正确则将数据存储加载到第三变量,直到所有固定值数据源执行完毕;对所述第一变量、第二变量和第三变量进行合并处理,得到总数据变量;
对所述总数据变量进行导出,生成导出的Excel文件。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行如权利要求7所述的基于模板配置的多数据源数据导出方法。
9.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现如权利要求7所述的基于模板配置的多数据源数据导出方法。
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 CN111858727A (zh) | 2020-10-30 |
CN111858727B true 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) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527270A (zh) * | 2020-12-18 | 2021-03-19 | 政采云有限公司 | 一种api结果输出方法、装置、设备及介质 |
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 | 首约科技(北京)有限公司 | 一种跨数据源的数据存储装置 |
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文件导入方法及设备、导出方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111858727A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111858727B (zh) | 一种基于模板配置的多数据源数据导出系统及方法 | |
CN108491475B (zh) | 数据快速批量导入方法、电子装置及计算机可读存储介质 | |
CN108415832B (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN111400246B (zh) | 异步导入文件方法、装置、计算机设备和存储介质 | |
US10783128B2 (en) | Rule based data processing | |
US11163552B2 (en) | Federated framework for container management | |
CN111913738A (zh) | 访问请求的处理方法、装置、计算设备和介质 | |
CN113495797A (zh) | 一种消息队列及消费者动态创建方法及系统 | |
US20230409295A1 (en) | Building base applications with user interface micro frontends | |
CN113381866A (zh) | 基于网关的服务调用方法、装置、设备及存储介质 | |
CN113722114A (zh) | 一种数据服务的处理方法、装置、计算设备及存储介质 | |
CN110602163B (zh) | 文件上传方法及装置 | |
CN111159226A (zh) | 指标查询方法及系统 | |
CN110866382A (zh) | 一种文档生成方法、装置、终端设备及介质 | |
CN114048415A (zh) | 表单生成方法及装置、电子设备和计算机可读存储介质 | |
CN113204386A (zh) | 基于Nginx+Lua的数据处理方法及设备 | |
CN113297267A (zh) | 数据缓存和任务处理方法、装置、设备以及存储介质 | |
CN116107623A (zh) | 一种软件开发方法、装置及电子设备 | |
US11843679B2 (en) | Automated dependency management based on page components | |
CN111652580B (zh) | 一种对节点的数据处理方法及装置 | |
CN114780361A (zh) | 日志生成方法、装置、计算机系统及可读存储介质 | |
CN114168607A (zh) | 全局序列号生成方法、装置、设备、介质和产品 | |
CN112667441A (zh) | 基于容错功能的业务模块调度方法、系统及存储介质 | |
CN112068895A (zh) | 代码配置方法、装置、视频播放设备及存储介质 | |
CN112486501B (zh) | 一种Spark应用部署管理方法及相关设备 |
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 |