CN114218156A - 数据导出方法、装置、计算机设备和存储介质 - Google Patents
数据导出方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114218156A CN114218156A CN202111485295.2A CN202111485295A CN114218156A CN 114218156 A CN114218156 A CN 114218156A CN 202111485295 A CN202111485295 A CN 202111485295A CN 114218156 A CN114218156 A CN 114218156A
- Authority
- CN
- China
- Prior art keywords
- data
- export
- file
- service
- exported
- 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.)
- Pending
Links
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/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of file 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/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file 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/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据导出方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:通过导出接口接收业务前端的数据导出请求;数据导出请求携带有导出数据标识;调用业务系统的数据查询接口,获取数据标识对应的目标数据;对目标数据进行处理得到数据导出文件;将数据导出文件上传至文件服务器;接收文件服务器返回的数据导出文件的对应下载地址,将数据导出文件的下载地址更新至导出记录中。使用本方法导出业务系统数据,可以实现数据导出功能和业务系统解耦,在需要导出大量数据时,不过多占用业务系统内存资源,使得在导出业务数据时,业务系统的业务功能能够正常使用,提升用户的前端体验。
Description
技术领域
本申请涉及计算机数据处理技术领域,特别是涉及一种数据导出方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着社会的不断发展,业务系统在日常使用中会产生大量的业务数据,而随着业务服务的多元化,大多应用都会由多个业务系统共同组成。例如,外卖应用的业务系统可以包含订单系统、会员系统、配送系统、计费系统等等。每个业务系统在处理各自的业务时,都会对应产生各自的业务数据,业务人员需要下载业务系统的业务数据,以便对业务数据分析处理。
传统的业务数据导出方法,业务人员在需要对业务应用中某个或多个业务系统的业务数据进行导出时,会在业务前端创建一条或多条导出任务,然后业务系统获取任务并执行,在业务系统的数据库中查询对应的业务数据,最后将对应的业务数据导出。
然而,使用传统数据导出方法,数据导出过程会和业务系统相互耦合,当导出数据量过多时,会占用大量业务系统的CPU、内存等资源,影响业务功能的正常使用,降低用户的前端体验。
发明内容
基于此,有必要针对上述技术问题,提供一种数据导出方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种数据导出方法,所述方法包括:
通过导出接口接收业务前端的数据导出请求;所述数据导出请求携带有导出数据标识;
调用业务系统的数据查询接口,获取所述数据标识对应的目标数据;
对所述目标数据进行处理得到数据导出文件;
将所述数据导出文件上传至文件服务器;
接收所述文件服务器返回的所述数据导出文件的对应下载地址,将所述数据导出文件的下载地址更新至导出记录中。
在其中一个实施例中,所述目标数据为数据流格式所述对所述目标数据进行处理得到数据导出文件,包括:
根据所述数据导出请求确定所述目标数据是否需要通过模板导出;
若确定所述目标数据不需要通过模板导出,则对所述目标数据的数据流进行读取处理,并写入目标文件,得到第一数据导出文件。
在其中一个实施例中,若确定所述目标数据需要通过模板导出,根据所述目标数据获取对应的预先存储的导出模板,将所述目标数据的数据流按照所述对应的导出模板生成第二数据导出文件。
在其中一个实施例中,所述方法还包括:
将所述数据导出文件压缩成对应的数据导出文件压缩包,上传至所述文件服务器的数据导出文件为数据导出文件压缩包。
在其中一个实施例中,所述调用业务系统的数据查询接口,获取所述数据标识对应的目标数据,包括:
对所述数据导出请求进行参数校验,确定需要导出的业务数据是否满足数据导出条件;
若所述需要导出的业务数据满足所述数据导出条件,则调用所述业务系统的数据查询接口,获取所述数据标识对应的目标数据;
若所述需要导出的业务数据不满足所述数据导出条件,则停止数据导出,并生成对应的提示信息,根据所述提示信息更新导出记录;所述提示信息为提示数据导出失败的提示信息。
在其中一个实施例中,所述数据导出条件包括以下条件中的至少一种:
需要导出的业务数据未处于正在下载状态;
所述需要导出的业务数据在预设时间内的下载次数未超过预设下载次数阈值。
第二方面,本申请还提供了一种数据导出装置,所述装置包括:
导出请求接收模块,用于通过导出接口接收业务前端的数据导出请求;所述数据导出请求携带有导出数据标识;
目标数据获取模块,用于调用业务系统的数据查询接口,获取所述数据标识对应的目标数据;
目标数据处理模块,用于对所述目标数据进行处理得到数据导出文件;
数据导出模块,用于将所述数据导出文件上传至文件服务器;接收所述文件服务器返回的所述数据导出文件的对应下载地址;将所述数据导出文件的下载地址更新至导出记录中。
第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。
上述数据导出方法、装置、计算机设备、存储介质和计算机程序产品,在通过导出接口接收业务前端的数据导出请求后,调用业务系统的数据查询接口,将数据导出请求传输至对应的业务系统,业务系统根据数据导出请求查询业务系统数据库中的业务数据,得到需要导出的目标数据并将目标数据返回;导出系统对接收的目标数据进行处理得到数据导出文件,将数据导出文件上传至文件服务器后,获得数据导出文件对应的下载地址,将下载地址更新在数据导出记录中,用户可以通过业务前端查询数据导出记录中的下载地址,对目标数据进行导出。在整个数据导出过程中,业务系统只需要根据数据导出请求查询业务系统数据库中的业务数据,得到需要导出的目标数据并将目标数据返回即可。使用本方法导出业务系统数据,可以实现数据导出功能和业务系统解耦,在需要导出大量数据时,也不会占用过多的业务系统内存资源,使得在导出业务数据的过程中,业务系统的业务功能能够正常使用,提升用户的前端体验。
附图说明
图1为一个实施例中数据导出方法的应用环境图;
图2为一个实施例中数据导出方法的流程示意图;
图3为一个实施例中对目标数据进行处理得到数据导出文件步骤的流程示意图;
图4为另一个实施例中数据导出方法的流程示意图;
图5为一个实施例中导出系统的内部结构图;
图6为一个实施例中数据导出装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据导出方法,可以应用于如图1所示的应用环境中。其中,业务前端102与导出系统104通过导出接口连接,导出系统104与业务系统106通过数据查询接口连接,导出系统104与文件服务器108通过网络连接。导出系统104通过导出接口接收业务前端102发起的数据导出请求,调用数据查询接口,根据数据导出请求中的导出数据标识,将数据导出请求发送至业务系统106,业务系统106根据数据导出请求查询数据标识对应的目标数据,将目标数据返回至导出系统104;导出系统104对目标数据进行处理得到数据导出文件,将数据导出文件上传至文件服务器108中,文件服务器108根据数据导出文件返回对应的下载地址至导出系统104,导出系统104将数据导出文件的下载地址发送至业务前端102,用户可以通过业务前端102下载所需业务数据。
其中,数据存储系统可以存储导出系统104接收到的请求信息以及导出数据的导出信息,数据存储系统相对于导出系统104,可以是外部存储器,放在云上或其他网络服务器上,也可以是集成在导出系统104中的内部存储系统。其中,业务系统的个数可以为一个,也可以为多个,本申请对此不作限定。
在一个实施例中,如图2所示,提供了一种数据导出方法,以该方法应用于图1中的导出系统104为例进行说明,包括以下步骤:
步骤202,通过导出接口接收业务前端的数据导出请求;数据导出请求携带有导出数据标识。
其中,业务前端是指业务网站或应用的前台部分,可以是运行在电脑终端、移动终端上的展示给用户浏览的界面。
导出接口是导出系统上针对业务前端开放的一个触发请求的标准接口,导出接口固定了业务前端发送的数据导出请求的请求参数字段。
其中,数据导出请求可以根据用户在业务前端输入的数据导出的相关参数生成,也可以根据由其他设备向本业务前端发送的数据导出任务的相关参数生成。示例性的,数据导出的相关参数可以是数据导出对应的业务服务名称、业务时间范围、业务数据导出规则等。
其中,导出数据标识用于标记导出数据所属的业务服务。具体地,导出系统可以根据导出数据标识,确定导出数据对应的业务系统。可以理解的,本申请对业务系统的个数不做限定,每个业务系统都对应有唯一的导出数据标识。
具体地,业务前端将接收到的数据导出任务的相关参数根据导出接口固定的请求参数字段,生成数据导出请求,数据请求中携带有导出数据标识。可以理解的,数据导出任务可以是一个,也可以是多个,本申请对此不做限定。当数据导出任务为多个时,由于使用的标准导出接口统一固定了请求参数的字段,业务前端生成的多个数据导出请求中包含的信息类型是一致的,只是信息的具体内容不一样。如每个数据导出请求中都一定含有导出数据标识,但由于数据导出任务不同,其需要导出的数据对应的业务服务就不相同,因此每个数据导出请求中的导出数据标识就会存在差异。
在其中一个实施例中,导出接口为API接口。
在其中一个实施例中,数据导出请求包括了导出数据标识、导出的文件名称以及查询业务方数据的请求参数的json字符串。
步骤204,调用业务系统的数据查询接口,获取数据标识对应的目标数据。
其中,数据查询接口为导出系统为业务系统提供的一个标注接口。导出系统通过统一的数据查询接口与各个业务系统连接。
具体地,导出系统在接收到前端发送的数据导出请求后,根据数据导出请求中的导出数据标识,确定需要导出的数据所属的业务系统,通过数据查询接口将导出数据请求发送至导出数据标识对应的业务系统,该业务系统根据导出数据请求查询业务系统内的业务数据,得到对应需要导出的目标数据,将目标数据通过业务查询接口返回至导出系统。
步骤206,对目标数据进行处理得到数据导出文件。
其中,在业务前端接收到数据导出任务,需要导出某个业务系统的数据时,业务前端会与业务后端确定相应的导出规则,如数据导出是否需要模板导出、数据导出的格式等等。业务前端在根据数据导出任务生成数据导出请求时,会在对应的参数字段中包含导出数据需要遵循的导出规则。
具体地,导出系统在接收到业务系统返回的目标数据后,根据数据导出请求中包含的导出规则,对目标数据进行相应的处理,得到数据导出文件。
步骤208,将数据导出文件上传至文件服务器。
具体地,导出系统将处理后的数据导出文件上传至文件服务器。
其中,文件服务器是内部的一个文件系统,可以对数据导出文件进行存储的存储器并提供下载地址。可以理解的,文件服务器可以设置于导出系统内部,或,设置在外部单独的服务器上,也可以使用云存储服务器。
在其中一个实施例中,文件服务器为OSS。
步骤210,接收文件服务器返回的数据导出文件的对应下载地址,将数据导出文件的下载地址更新至导出记录中。
具体地,文件服务器在接收到数据导出文件后,根据接收到的数据导出文件生成对应的文件下载地址,并将文件下载地址返回给导出系统。其中,文件下载地址为用于下载数据导出文件的目标定位地址。导出系统根据文件服务器返回的文件下载地址更新导出记录,具体地,导出系统将文件下载地址添加到导出记录中,并将目标数据的导出状态更新为导出完成。用户可以通过业务前端查询目标数据的导出记录,在查询到目标数据的导出记录为导出完成时,通过导出记录中的文件下载地址,对数据导出文件进行下载。
在其中一个实施例中,数据查询接口为RPC接口。
在其中一个实施例中,数据导出文件的对应下载地址为统一资源定为系统(Uniform Resource Locator,URL)。
上述数据导出方法中,在通过导出接口接收业务前端的数据导出请求后,调用业务系统的数据查询接口,将数据导出请求传输至对应的业务系统,业务系统根据数据导出请求查询业务系统数据库中的业务数据,得到需要导出的目标数据并将目标数据返回;导出系统对接收的目标数据进行处理得到数据导出文件,将数据导出文件上传至文件服务器后,获得数据导出文件对应的下载地址,将下载地址更新在数据导出记录中,用户可以通过业务前端查询数据导出记录中的下载地址,对目标数据进行导出。在整个数据导出过程中,业务系统只需要根据数据导出请求查询业务系统数据库中的业务数据,得到需要导出的目标数据并将目标数据返回即可。使用本方法导出业务系统数据,可以实现数据导出功能和业务系统解耦,在需要导出大量数据时,也不会占用过多的业务系统内存资源,使得在导出业务数据的过程中,业务系统的业务功能能够正常使用,提升用户的前端体验。
在一个实施例中,目标数据为数据流格式,如图3所示,对目标数据进行处理得到数据导出文件包括:
步骤302,根据数据导出请求确定目标数据是否需要通过模板导出。
具体地,导出系统接收到业务系统返回的目标数据的数据流后,根据数据导出请求确定目标数据是否需要使用模板导出。其中,目标数据是否需要使用目标导出是业务前端与业务系统进行协商后决定的。
步骤304,若确定目标数据不需要通过模板导出,则对目标数据的数据流进行读取处理,并写入目标文件,得到第一数据导出文件。
具体地,导出系统确定目标数据不需要通过模板导出后,对目标数据进行读取解析操作,将解析后的数据写入到相关的非模板导出文件中,得到第一数据导出文件。可以理解的,导出系统中的非模板导出文件格式是确定的,在确定目标数据不需要通过模板导出后,导出系统提供一种默认的导出文件格式,作为非模板导出文件。通过将解析后的数据写入到统一格式的导出文件中,可以保证多个业务系统导出的业务数据导出文件格式统一,更加方便用户后续对多个业务系统的业务数据进行统计或分析。
在其中的一个实施例中,非模板导出的默认导出文件格式为Excel格式。
步骤306,若确定目标数据需要通过模板导出,根据目标数据获取对应的预先存储的导出模板,将目标数据的数据流按照对应的导出模板生成第二数据导出文件。
其中,导出模板是由工作人员预先从运营平台上传至数据存储库中的,导出模板的种类根据业务服务类型和对应的服务数据类型确定。具体地,业务前端在接收到数据导出任务时,会与业务系统进行协商,确定目标数据是否需要模板导出,以及使用何种模板导出。业务前端在生成数据请求时,会将是否需要模板导出写入对应的参数字段中,如果目标数据需要使用模板导出,业务系统在返回对应的目标数据时,会携带有对应的模板名称,导出系统根据目标数据携带的模板名称从数据存储库中获取对应的导出模板。
具体地,导出系统根据数据导出请求确定目标数据需要通过模板导出后,根据接收到的目标数据所携带的模板名称,从数据存储库中获取预先存储的导出模板,将目标数据的数据流进行读写解析后导入到对应的导出模板中,生成第二数据导出文件。在本实施例中数据导出方法,用户可以自定义导出模板,使得导出系统支持大数据量以及复杂格式的数据导出。
在上述实施例的导出方法中,导出系统支持模板导出与非模板导出两种导出方式,在使用非模板导出时,通过统一的模板,得到格式统一的导出数据,方便了后续对业务数据的分析和使用;当用户需要导出大量数据或目前的统一模板无法满足用户需求时,导出系统支持用户自定义模板,根据用户自定义的模板导出目标数据,支持大数据量及复杂格式的数据导出。使用上述实施例中的方法,能够达到根据用户的实际需求对应的执行导出操作的效果。
在其中一个实施例中,数据导出方法还包括:将数据导出文件压缩成对应的数据导出文件压缩包,上传至文件服务器的数据导出文件为数据导出文件压缩包。
具体地,对数据导出文件进行压缩操作,将数据导出文件压缩成对应的数据导出文件压缩包,将数据导出文件压缩包上传至文件服务器。通过将数据导出文件进行压缩操作,可以减少文件存储占用的内存资源。
在其中一个实施例中,调用业务系统的数据查询接口,获取数据标识对应的目标数据,包括以下步骤:
对数据导出请求进行参数校验,确定需要导出的业务数据是否满足数据导出条件。若需要导出的业务数据满足数据导出条件,则调用业务系统的数据查询接口,获取数据标识对应的目标数据;若需要导出的业务数据不满足数据导出条件,则停止数据导出,并生成对应的提示信息,根据提示信息更新导出记录;提示信息为提示数据导出失败的提示信息。
在其中一个实施例中,数据导出条件为需要导出的业务数据未处于正在下载状态。
具体地,导出数据接收业务前端发送的数据导出请求,解析数据导出请求后得到请求参数对应的字符串,对请求参数对应的字符串进行加密,得到加密后的字符串,将加密后的字符串与数据存储库中存储的加密后的字符串进行比对。具体地,若存在有同样的加密后的字符串,并且该加密后的字符串的导出状态是正在下载中,则说明该业务数据正在下载中,即需要导出的业务数据不满足数据导出条件,导出系统停止数据导出,并生成提示数据导出失败的提示信息,提示信息内容为:业务数据正在下载中。根据提示信息更新导出记录。若不存在有同样的加密后的字符串,或,同样的加密后的字符串的导出状态为导出完成,则说明该业务数据未处于下载状态,则调用业务系统的数据查询接口,获取需要导出的业务数据,同时将加密后的字符串存储在数据存储库中,更新加密后的字符串的导出状态。在本实施例中,通过使用数据导出条件,可以在数据正在下载时对用户进行提醒,防止同一数据在同一时间被同一用户多次下载的情况发生。
在其中的一个实施例中,请求参数对应的字符串为json字符串。
在其中的一个实施例中,字符串加密方式为md5加密。具体地,使用md5对json字符串进行加密,可以在进行字符串查询时,使得查询速度更快。
在其中一个实施例中,数据导出条件为需要导出的业务数据在预设时间内的下载次数未超过预设下载次数阈值。
具体地,导出系统接收业务前端发送的数据导出请求,根据数据导出请求的解析数据导出请求后得到请求参数对应的字符串,根据字符串中携带的当前数据下载用户和下载时间的信息,判断在预设时间内,需要导出的业务数据的下载次数是否超过预设下载次数阈值。若在预设时间内,需要导出的业务数据的下载次数超过预设下载次数阈值,则说明需要导出的业务数据不满足数据导出条件,导出系统停止数据导出,并生成提示数据导出失败的提示信息,提示信息内容为:业务数据下载次数较多。根据提示信息更新导出记录。若在预设时间内,需要导出的业务数据的下载次数未超过预设下载次数阈值,则说明需要导出的业务数据满足数据导出条件,导出系统调用业务系统的数据查询接口,获取需要导出的业务数据。其中,预设时间与预设下载次数阈值根据实际情况而定。在本实施例中,根据预设时间与预设下载次数阈值,控制数据导出,可以防止服务器被恶意攻击而导致的数据导出异常情况发生。
在其中一个实施例中,预设时间为1小时,预设下载次数阈值为30次。
在其中一个实施例中,如图4所示,提供了一种数据导出方法,包括以下步骤:
本实施中涉及有业务前端、导出系统、业务终端以及文件服务器。其中,业务前端上运行有导出页面,可以向用户展示具体地业务模块以及可以下载的数据列表、信息等。导出系统负责处理数据导出的具体逻辑,文件服务器负责接收导出系统上传的数据导出文件,并返回文件下载地址。
业务前端向用户展示具体的业务模块的数据列表,用户通过业务前端导出按钮触发数据导出任务。业务前端接收到数据导出任务后,通过HTTP向导出系统发送请求,请求导出系统提供API导出接口。其中,API导出接口固定了数据导出请求的请求参数字段。具体地,业务前端根据接收到的数据导出任务参数与API接口固定的请求参数字段生成对应的数据导出请求。其中,数据导出请求包括有导出数据标识、分布式远程调用框架(dubbo)引用的服务名称、导出的文件名称以及查询业务方数据的请求参数的json字符串。具体地,业务前端将生成的数据导出请求通过API接口传输给导出系统。
导出系统接收业务前端通过API接口传输的数据导出请求,对数据导出请求进行校验,将解析数据导出请求得到的查询业务方数据的请求参数的json字符串,进行md5加密,得到加密json字符串,将加密json字符串与数据存储库中的存储的加密json字符串进行比对。若存在同样的加密json字符串,且同样的加密json字符串的导出状态为正在下载中,则说明该数据导出任务中需要导出的目标数据处于正在下载状态,此时导出系统停止数据导出,并生成提示数据导出失败的提示信息,提示信息内容为:业务数据正在下载中。根据提示信息更新导出记录,用户可以在业务前端查询导出记录。
若不存在有同样的加密json字符串,或,同样的加密json字符串的导出状态为导出完成,则说明该业务数据未处于下载状态。导出系统继续对数据导出请求校验,根据数据导出请求中的json字符串携带的当前数据下载用户和下载时间的信息,判断在预设时间内,需要导出的业务数据的下载次数是否超过预设下载次数阈值。若在预设时间内,需要导出的业务数据的下载次数超过预设下载次数阈值,则说明需要导出的业务数据不满足数据导出条件,导出系统停止数据导出,并生成提示数据导出失败的提示信息,提示信息内容为:业务数据下载次数较多。根据提示信息更新导出记录。若在预设时间内,需要导出的业务数据的下载次数未超过预设下载次数阈值,则说明需要导出的业务数据满足数据导出条件。
当导出系统根据数据导出请求确定需要导出的数据满足数据导出条件时,新增数据导出记录,对应需要导出的数据的导出记录状态为“生成中”,业务前端可以通过分页查询看到需要导出的数据的导出记录。同时生成提示信息响应给业务前端页面,提示信息内容为“数据正在导出中,稍后请到导出列表查看导出数据”。
同时,导出系统将业务前端传输的数据导出请求通过rabbitMQ发送消息队列,实现异步操作,识别数据导出请求中的导出数据标识,判断需要导出的数据所属的业务服务器,通过调用统一的PRC接口,将数据导出请求中的查询参数json字符串透明传输至导出数据标识对应的业务系统。
业务系统实现导出系统提供的分页查询数据方法,根据接收到的查询参数查询业务数据,将查询得到的业务数据作为目标数据返回给导出系统。其中,业务系统返回的目标数据为数据流。若目标数据需要模板导出,业务系统返回的目标数据中携带有目标数据所需的导出模板名称。
导出系统接收到目标数据后,根据数据导出请求判断目标数据是否需要模板导出,若目标数据不需要模板导出,导出系统将接收到的目标数据放入链表容器(list)合集中,当一个list中导入的目标数据达到导出系统设定的数据数量阈值,则生成excel文件,此过程不断循环,直至目标数据完全导出为止。对生成的多个excel文件所在的文件夹,进行zip文件压缩,生成数据导出文件压缩包,将数据导出文件压缩包上传至文件服务器中。
文件服务器接收到数据导出文件压缩包后,生成对应的zip文件下载地址,返回文件下载地址至导出系统,导出系统根据文件下载地址更新导出记录,将文件下载地址存入导出记录中,并修改目标数据的导出记录状态为“导出完成”。
用户通过后台分页查询导出记录信息,点击下载,请求到文件下载地址下载文件,完成目标数据下载。
若目标数据需要模板导出,导出系统根据目标数据中携带的导出模板名称,到数据存储库中获取对应的导出模板,将目标数据的数据流写入对应的导出模板中,得到数据导出文件。
在其中一个实施例中,如图5所示。导出系统内部包括有导出系统API层、导出系统remote层以及导出系统service层。
其中,导出系统API层即为业务前端与导出系统提供API接口连接,具体地,业务前端根据导出系统API层固定的参数字段生成数据导出请求,并将数据导出请求通过导出系统API层以及导出系统remote层传输至导出系统service层。其中,每个请求都带有唯一的导出数据标识、导出的文件名称(export FileName字段)以及查询业务方数据的请求参数的json字符串(parameter Json字段)。其中,导出数据标识为存储在mysq1数据存储库中的字段。
导出系统service层中包含有record导出记录模块,用于记录导出数据,将导出数据记录存储在下载中心数据存储单位中;rabbitMQ消息处理模块,用于异步查询并处理数据。其中,rabbitMQ消息处理模块下设置有exchange业务处理模块,用于查询业务数据;数据导出模块,用于导出目标数据;OSS文件上传处理模块,用于上传数据导出文件至文件服务器。
具体地,导出系统service层接收到业务前端传输的数据导出请求后,将数据导出请求通过rabbitMQ发送消息队列,实现异步操作,导出系统内部消费队列,根据数据导出请求中的导出数据标识创建dubbo消费者代理对象,将数据导出请求发送至导出数据标识对应的业务系统。
业务系统实现导出系统提供的分页查询数据方法,通过数据导出请求中的查询参数在业务系统数据存储单位中进行数据查询,返回需要导出的目标数据。并且需要在dubbo.xml配置中,引入导出系统提供的RPC接口的dubbo引用,定义dubbo引用的唯一导出数据标识,便于导出系统通过导出数据标识,找到具体的实现类,即对应的业务系统。其中,若目标数据需要模板导出,则返回的目标数据中携带有对应的模板名称、模板导出的扩展信息;若目标数据不需要模板导出,目标数据携带有非模板导出的表头信息。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据导出方法的数据导出装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据导出装置实施例中的具体限定可以参见上文中对于数据导出方法的限定,在此不再赘述。
在一个实施例中,如图6所示,提供了一种数据导出装置600,包括:导出请求接收模块601、目标数据获取模块602、目标数据处理模块603和数据导出模块604,其中:
导出请求接收模块601,用于通过导出接口接收业务前端的数据导出请求;数据导出请求携带有导出数据标识。
目标数据获取模块602,用于调用业务系统的数据查询接口,获取数据标识对应的目标数据。
目标数据处理模块603,用于对目标数据进行处理得到数据导出文件。
数据导出模块604,用于将数据导出文件上传至文件服务器;接收文件服务器返回的数据导出文件的对应下载地址;将数据导出文件的下载地址更新至导出记录中。
上述数据导出装置,在接收到业务前端传输的业务数据请求参数后,将业务数据请求参数中的查询参数传输至业务系统,业务系统根据查询参数查询业务系统数据库中的业务数据,得到需要导出的目标数据并将目标数据返回;将接收到的业务系统返回的目标数据进行处理得到数据导出文件,将数据导出文件上传至文件服务器后,获得数据导出文件对应的下载地址,将下载地址更新在数据导出记录中,用户可以通过业务前端查询数据导出记录中的下载地址,对目标数据进行导出。在整个数据导出过程中,业务系统只需要根据查询参数查询业务系统数据库中的业务数据,得到需要导出的目标数据并将目标数据返回即可。使用本方法导出业务系统数据,可以实现数据导出功能和业务系统解耦,在需要导出大量数据时,也不会占用过多的业务系统内存资源,使得在导出业务数据的过程中,业务系统的业务功能能够正常使用,提升用户的前端体验。
在其中一个实施例中,目标数据为数据流格式,目标数据处理模块还用于根据数据导出请求确定目标数据是否需要通过模板导出;若确定目标数据不需要通过模板导出,则对目标数据的数据流进行读取处理,并写入目标文件,得到第一数据导出文件。
在其中一个实施例中,目标数据处理模块还用于若确定目标数据需要通过模板导出,根据目标数据获取对应的预先存储的导出模板,将目标数据的数据流按照对应的导出模板生成第二数据导出文件。
在其中一个实施例中,数据导出模块还用于将数据导出文件压缩成对应的数据导出文件压缩包,上传至文件服务器的数据导出文件为数据导出文件压缩包。
在其中一个实施例中,数据导出装置还包括导出请求校验模块,用于对数据导出请求进行参数校验,确定需要导出的业务数据是否满足数据导出条件;若需要导出的业务数据满足数据导出条件,则调用业务系统的数据查询接口,获取数据标识对应的目标数据;若需要导出的业务数据不满足数据导出条件,则停止数据导出,并生成对应的提示信息,根据提示信息更新导出记录;提示信息为提示数据导出失败的提示信息。其中,数据导出条件包括以下条件中的至少一种:需要导出的业务数据未处于正在下载状态;需要导出的业务数据在预设时间内的下载次数未超过预设下载次数阈值。
上述数据导出装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据导出方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
通过导出接口接收业务前端的数据导出请求;数据导出请求携带有导出数据标识;
调用业务系统的数据查询接口,获取数据标识对应的目标数据;
对目标数据进行处理得到数据导出文件;
将数据导出文件上传至文件服务器;
接收文件服务器返回的数据导出文件的对应下载地址,将数据导出文件的下载地址更新至导出记录中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据数据导出请求确定目标数据是否需要通过模板导出;
若确定目标数据不需要通过模板导出,则对目标数据的数据流进行读取处理,并写入目标文件,得到第一数据导出文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若确定目标数据需要通过模板导出,根据目标数据获取对应的预先存储的导出模板,将目标数据的数据流按照对应的导出模板生成第二数据导出文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将数据导出文件压缩成对应的数据导出文件压缩包,上传至文件服务器的数据导出文件为数据导出文件压缩包。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对数据导出请求进行参数校验,确定需要导出的业务数据是否满足数据导出条件;
若需要导出的业务数据满足数据导出条件,则调用业务系统的数据查询接口,获取数据标识对应的目标数据;
若需要导出的业务数据不满足数据导出条件,则停止数据导出,并生成对应的提示信息,根据提示信息更新导出记录;提示信息为提示数据导出失败的提示信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
数据导出条件包括以下条件中的至少一种:
需要导出的业务数据未处于正在下载状态;
需要导出的业务数据在预设时间内的下载次数未超过预设下载次数阈值。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
通过导出接口接收业务前端的数据导出请求;数据导出请求携带有导出数据标识;
调用业务系统的数据查询接口,获取数据标识对应的目标数据;
对目标数据进行处理得到数据导出文件;
将数据导出文件上传至文件服务器;
接收文件服务器返回的数据导出文件的对应下载地址,将数据导出文件的下载地址更新至导出记录中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据数据导出请求确定目标数据是否需要通过模板导出;
若确定目标数据不需要通过模板导出,则对目标数据的数据流进行读取处理,并写入目标文件,得到第一数据导出文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若确定目标数据需要通过模板导出,根据目标数据获取对应的预先存储的导出模板,将目标数据的数据流按照对应的导出模板生成第二数据导出文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将数据导出文件压缩成对应的数据导出文件压缩包,上传至文件服务器的数据导出文件为数据导出文件压缩包。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对数据导出请求进行参数校验,确定需要导出的业务数据是否满足数据导出条件;
若需要导出的业务数据满足数据导出条件,则调用业务系统的数据查询接口,获取数据标识对应的目标数据;
若需要导出的业务数据不满足数据导出条件,则停止数据导出,并生成对应的提示信息,根据提示信息更新导出记录;提示信息为提示数据导出失败的提示信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
数据导出条件包括以下条件中的至少一种:
需要导出的业务数据未处于正在下载状态;
需要导出的业务数据在预设时间内的下载次数未超过预设下载次数阈值。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
通过导出接口接收业务前端的数据导出请求;数据导出请求携带有导出数据标识;
调用业务系统的数据查询接口,获取数据标识对应的目标数据;
对目标数据进行处理得到数据导出文件;
将数据导出文件上传至文件服务器;
接收文件服务器返回的数据导出文件的对应下载地址,将数据导出文件的下载地址更新至导出记录中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据数据导出请求确定目标数据是否需要通过模板导出;
若确定目标数据不需要通过模板导出,则对目标数据的数据流进行读取处理,并写入目标文件,得到第一数据导出文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若确定目标数据需要通过模板导出,根据目标数据获取对应的预先存储的导出模板,将目标数据的数据流按照对应的导出模板生成第二数据导出文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将数据导出文件压缩成对应的数据导出文件压缩包,上传至文件服务器的数据导出文件为数据导出文件压缩包。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对数据导出请求进行参数校验,确定需要导出的业务数据是否满足数据导出条件;
若需要导出的业务数据满足数据导出条件,则调用业务系统的数据查询接口,获取数据标识对应的目标数据;
若需要导出的业务数据不满足数据导出条件,则停止数据导出,并生成对应的提示信息,根据提示信息更新导出记录;提示信息为提示数据导出失败的提示信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
数据导出条件包括以下条件中的至少一种:
需要导出的业务数据未处于正在下载状态;
需要导出的业务数据在预设时间内的下载次数未超过预设下载次数阈值。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据导出方法,其特征在于,所述方法包括:
通过导出接口接收业务前端的数据导出请求;所述数据导出请求携带有导出数据标识;
调用业务系统的数据查询接口,获取所述数据标识对应的目标数据;
对所述目标数据进行处理得到数据导出文件;
将所述数据导出文件上传至文件服务器;
接收所述文件服务器返回的所述数据导出文件的对应下载地址,将所述数据导出文件的下载地址更新至导出记录中。
2.根据权利要求1所述的方法,其特征在于,所述目标数据为数据流格式所述对所述目标数据进行处理得到数据导出文件,包括:
根据所述数据导出请求确定所述目标数据是否需要通过模板导出;
若确定所述目标数据不需要通过模板导出,则对所述目标数据的数据流进行读取处理,并写入目标文件,得到第一数据导出文件。
3.根据权利要求2所述的方法,其特征在于,若确定所述目标数据需要通过模板导出,则根据所述目标数据获取对应的预先存储的导出模板,将所述目标数据的数据流按照所述对应的导出模板生成第二数据导出文件。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述数据导出文件压缩成对应的数据导出文件压缩包,上传至所述文件服务器的数据导出文件为数据导出文件压缩包。
5.根据权利要求1所述的方法,其特征在于,所述调用业务系统的数据查询接口,获取所述数据标识对应的目标数据,包括:
对所述数据导出请求进行参数校验,确定需要导出的业务数据是否满足数据导出条件;
若所述需要导出的业务数据满足所述数据导出条件,则调用所述业务系统的数据查询接口,获取所述数据标识对应的目标数据;
若所述需要导出的业务数据不满足所述数据导出条件,则停止数据导出,并生成对应的提示信息,根据所述提示信息更新导出记录;所述提示信息为提示数据导出失败的提示信息。
6.根据权利要求4所述的方法,其特征在于,所述数据导出条件包括以下条件中的至少一种:
需要导出的业务数据未处于正在下载状态;
所述需要导出的业务数据在预设时间内的下载次数未超过预设下载次数阈值。
7.一种数据导出装置,其特征在于,所述装置包括:
导出请求接收模块,用于通过导出接口接收业务前端的数据导出请求;所述数据导出请求携带有导出数据标识;
目标数据获取模块,用于调用业务系统的数据查询接口,获取所述数据标识对应的目标数据;
目标数据处理模块,用于对所述目标数据进行处理得到数据导出文件;
数据导出模块,用于将所述数据导出文件上传至文件服务器;接收所述文件服务器返回的所述数据导出文件的对应下载地址;将所述数据导出文件的下载地址更新至导出记录中。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111485295.2A CN114218156A (zh) | 2021-12-07 | 2021-12-07 | 数据导出方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111485295.2A CN114218156A (zh) | 2021-12-07 | 2021-12-07 | 数据导出方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114218156A true CN114218156A (zh) | 2022-03-22 |
Family
ID=80700032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111485295.2A Pending CN114218156A (zh) | 2021-12-07 | 2021-12-07 | 数据导出方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114218156A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115269495A (zh) * | 2022-06-18 | 2022-11-01 | 知学云(北京)科技股份有限公司 | 一种基于aPaaS平台的业务方案元数据处理方法及系统 |
CN115495496A (zh) * | 2022-08-17 | 2022-12-20 | 昆仑数智科技有限责任公司 | 数据导出方法、装置、电子设备、存储介质及程序产品 |
-
2021
- 2021-12-07 CN CN202111485295.2A patent/CN114218156A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115269495A (zh) * | 2022-06-18 | 2022-11-01 | 知学云(北京)科技股份有限公司 | 一种基于aPaaS平台的业务方案元数据处理方法及系统 |
CN115269495B (zh) * | 2022-06-18 | 2023-08-08 | 知学云(北京)科技股份有限公司 | 一种基于aPaaS平台的业务方案元数据处理方法及系统 |
CN115495496A (zh) * | 2022-08-17 | 2022-12-20 | 昆仑数智科技有限责任公司 | 数据导出方法、装置、电子设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2732388B1 (en) | Method for associating third party content with online document signing | |
US9910895B2 (en) | Push subscriptions | |
CN111310427A (zh) | 业务数据配置处理方法、装置、计算机设备和存储介质 | |
CN111400061A (zh) | 一种数据处理方法和系统 | |
EP2854048A1 (en) | Method of operating a mobile telecommunications device | |
EP2174434A1 (en) | Unwired enterprise platform | |
CN112148674A (zh) | 日志数据处理方法、装置、计算机设备和存储介质 | |
CN114218156A (zh) | 数据导出方法、装置、计算机设备和存储介质 | |
US11882154B2 (en) | Template representation of security resources | |
CN112241298A (zh) | 页面显示方法及装置、存储介质、电子装置 | |
CN113901362A (zh) | 网页展示方法、装置、设备、存储介质和程序产品 | |
CN114780497B (zh) | 批量文件处理方法、装置、计算机设备、介质和程序产品 | |
CN115118612A (zh) | 资源配额管理方法、装置、计算机设备和存储介质 | |
US11451839B1 (en) | System and method for client side compression in a content management environment | |
CN112035471B (zh) | 一种事务处理方法及计算机设备 | |
US20160239531A1 (en) | Integrated framework for data management and provisioning | |
CN115604041B (zh) | 安全代理方法、系统、装置、计算机设备和存储介质 | |
CN117493142A (zh) | 埋点处理方法、装置、计算机设备和存储介质 | |
US10528541B2 (en) | Offline access of data in mobile devices | |
CN117193829A (zh) | 一种离线包管理平台,一种应用内的资源管理方法及装置 | |
CN115987557A (zh) | 一种集群间调用方法、装置、计算机设备和存储介质 | |
CN115186020A (zh) | 一种数据接入存储处理方法、系统及存储介质 | |
CN116708245A (zh) | 一种接口控制方法、装置、计算机设备 | |
CN117270880A (zh) | 插件服务私有化部署方法、装置、计算机设备和存储介质 | |
CN115866003A (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 |