掌桥专利:专业的专利平台
掌桥专利
首页

基于数据中台的数据下载方法及数据中台、设备

文献发布时间:2023-06-19 19:30:30


基于数据中台的数据下载方法及数据中台、设备

技术领域

本申请涉及数据中台技术领域,特别是涉及一种基于数据中台的数据下载方法、数据中台、电子设备及计算机可读存储介质。

背景技术

在数据中台中,最终导出的文件往往需要对原始数据进行额外的处理,如对原始数据进行转义、脱敏等,如果将导出功能和业务系统解耦,对导出数据的处理逻辑需要在导出功能中额外实现一遍,产生冗余代码,增加系统的维护成本。

发明内容

为解决上述问题,本申请提供一种基于数据中台的数据下载方法、数据中台、电子设备及计算机可读存储介质,用以解决上述技术问题。

本申请采用的一个技术方案是:提供一种基于数据中台的数据下载方法,数据中台包括业务模块及下载管理模块,数据下载方法包括:下载管理模块基于业务模块接收的下载命令,创建下载任务;业务模块基于业务参数执行下载任务;下载管理模块对下载任务进行管理。

其中,数据中台还包括文件存储模块,业务模块基于业务参数执行下载任务,包括:业务模块从下载管理模块获取文件密码;业务模块基于业务参数生成下载文件;业务模块利用文件密码对下载文件进行压缩处理,以获得压缩文件;业务模块将压缩文件上传至文件存储模块。

其中,下载管理模块对下载任务进行管理,包括:下载管理模块获取业务模块执行下载任务的过程日志及进度信息;下载管理模块基于过程日志及进度信息,监测下载任务是否异常;若是,则下载管理模块取消或删除所述下载任务。

其中,数据中台还包括文件下载服务模块,数据下载方法还包括:下载管理模块获取发送下载命令的客户端的用户信息及获取下载文件的文件标识;下载管理模块对用户信息进行验证;若验证通过,则下载管理模块将文件密码发送给用户,并发送下载指令到文件下载服务模块,其中,下载指令中包括文件标识及用户标识;文件下载服务模块对下载指令进行鉴权;若鉴权通过,文件下载服务模块基于下载指令控制文件存储模块将压缩文件传输给客户端。

其中,文件下载服务模块基于下载指令控制文件存储模块将压缩文件传输给客户端,包括:文件下载服务模块将下载指令代理到文件存储模块;文件存储模块基于下载指令将压缩文件传输到客户端。

本申请采用的又一个技术方案是:提供一种数据中台,包括:业务模块,用于接收客户端的下载命令;下载管理模块,与业务模块连接,用于接业务模块转发的下载命令,并基于下载命令创建下载任务;下载管理模块还用于对下载任务进行管理;其中,业务模块还用于基于业务参数执行下载任务。

其中,数据中台还包括:文件存储模块,与业务模块连接,其中,下载管理模块还用于基于下载命令生成文件密码;业务模块还用于获取文件密码,基于业务参数生成下载文件,利用文件密码对下载文件进行压缩处理,以获得压缩文件;文件存储模块用于存储业务模块的上传的压缩文件。

其中,数据中台还包括:文件下载服务模块,与文件下载管理模块连接,其中,下载管理模块还用于获取发送下载命令的客户端的用户信息及获取下载文件的文件标识;下载管理模块还用于对用户信息进行验证,若验证通过,则下载管理模块将文件密码发送给用户,并发送下载指令到文件下载服务模块,其中,下载指令中包括文件标识及用户标识;文件下载服务模块用于对下载指令进行鉴权,若鉴权通过,文件下载服务模块基于下载指令控制文件存储模块将压缩文件传输给客户端。

其中,文件下载服务模块与文件存储模块连接,文件下载服务模块将下载指令代理到文件存储模块;文件存储模块用于基于下载指令将压缩文件传输到客户端。

其中,下载管理模块还用于获取业务模块执行下载任务的过程日志及进度信息,基于过程日志及进度信息,监测下载任务是否异常,若是,则下载管理模块取消或删除下载任务。

本申请采用的又一个技术方案是:提供一种电子设备,包括处理器和存储器,存储器中存储有程序数据,处理器用于执行程序数据以实现上述的数据下载方法。

本申请采用的又一个技术方案是:提供一种计算机可读存储介质,储存有程序指令,程序指令能够被处理器执行时实现上述的数据下载方法。

本申请的有益效果是:本申请提供了一种基于数据中台的数据下载方法,其中,数据中台包括业务模块及下载管理模块,数据下载方法包括:下载管理模块基于业务模块接收的下载命令,创建下载任务;业务模块基于业务参数执行下载任务;下载管理模块对下载任务进行管理。具体地,下载管理模块对数据中台的各个业务模块文件下载任务进行统一管理,同时,下载管理模块创建下载任务后,业务模块基于业务参数执行下载任务,使得在业务模块的业务功能与下载管理模块的管理功能解耦,使得业务模块可以根据业务需要自行执行下载任务,从而降低代码冗余的同时,还能提高文件下载处理的多样性。

附图说明

图1是本申请数据下载方法第一实施例的流程示意图;

图2是图1实施例中步骤S200一具体流程示意图;

图3是图1实施例中步骤S300一具体流程示意图;

图4是本申请数据下载方法第二实施例的流程示意图;

图5是图4实施例中步骤S1100一具体流程示意图;

图6是本申请数据中台一实施例的结构示意图;

图7是图6中的数据中台的工作流程示意图;

图8是本申请电子设备一实施例的结构示意图;

图9是本申请计算机可读存储介质一实施例的结构示意图。

具体实施方式

本申请公开了一种基于数据中台的数据下载方法,如图1所示,图1是本申请数据下载方法第一实施例的流程示意图。数据下载方法包括步骤S100至步骤S300。

步骤S100:下载管理模块基于业务模块接收的下载命令,创建下载任务。

数据中台包括业务模块以及下载管理模块。下载管理模块用于创建下载任务,并对下载任务进行统一管理,例如,查看文件下载任务的日志和进度、取消下载任务、删除已下载完成下载记录的文件以及删除下载完成的文件。

不同的业务模块用于为用户提供不同业务服务,不同的业务模块具有不同业务参数的下载服务,用户通过客户端在对应的业务模块上选取对应的下载服务。

具体地,用户在对应的业务模块点击文件下载,以使得具有对应业务参数的业务模块触发下载命令,业务模块接收下载命令,并将下载命令传递给下载管理模块。下载管理模块在接收到下载命令后,开始创建对应的下载任务,并生成控制信息,用于控制业务模块开始执行下载任务。

步骤S200:业务模块基于业务参数执行下载任务。

在下载管理模块创建下载任务后,将控制信息发给业务模块,业务模块收到控制信息后,开始基于对应的业务参数异步执行下载任务。

具体地,如图2所示,图2是图1实施例中步骤S200一具体流程示意图。业务模块基于业务参数异步执行下载任务的具体工作为,基于业务参数生成对应的下载文件。其中,业务模块基于业务参数执行下载任务具体包括步骤S210-步骤S240。

步骤S210:业务模块从下载管理模块获取文件密码。

下载管理模块在创建下载任务后,将控制信息及文件密码发送给业务模块。其中,文件密码用于对业务模块生成的下载文件进行压缩、加密处理,以提高下载文件的安全性能及减少传输数据量。

步骤S220:业务模块基于业务参数生成下载文件。

业务模块接收到下载管理模块的控制信息后,基于对应的业务参数生成对应的下载文件,即根据用户的需求生成对应的下载文件。

步骤S230:业务模块利用文件密码对下载文件进行压缩处理,以获得压缩文件。

业务模块生成下载文件后,将生成的下载文件采用从下载管理模块中获取的文件密码,进行加密、压缩处理,以生成加密的压缩文件,从而有效的保护下载文件的安全及减少传输数据量。其中,在其它实施例中,下载文件也可以通过其它方式进行加密、压缩处理,这里不再赘述。

步骤S240:业务模块将压缩文件上传至文件存储模块。

数据中台还包括文件存储模块,用于存储业务模块生成的下载文件。业务模块将经过压缩、加密处理的下载文件,即压缩文件上传至文件存储模块,以待用户进行下载至客户端。

其中,文件存储模块为基于文件传输协议(Fi le Transfer Protocol,FTP)的文件存储服务器,在其它实施例中,文件存储模块也可以为其它的文件存储服务器,这里不详细说明。

步骤S300:下载管理模块对下载任务进行管理。

下载管理模块在创建下载任务后,发送控制信息给业务模块,以使业务模块开始基于业务参数执行下载任务,同时,下载管理模块实时监测下载任务的下载进度等信息,并对下载任务进行管理,从而实现业务模块执行下载任务和下载管理模块管理下载任务的功能解耦,进而使得业务模块可以根据业务需要自行执行下载任务,从而降低代码冗余的同时,还能提高文件下载处理的多样性。

可选的,如图3所示,图3是图1实施例中步骤S300一具体流程示意图。其中,下载管理模块对下载任务进行管理可以用图3所示的方法步骤实现,其中,该方法步骤包括步骤S310-步骤S330。

步骤S310:下载管理模块获取业务模块执行下载任务的过程日志及进度信息。

业务模块在执行下载任务时,通过消息队列将其所执行的下载任务的过程日志及进度消息等数据传送给下载管理模块,以使得下载管理模块能实时的获取下载任务的下载状态,并对下载任务进行统一管理。

其中,由于业务模块的多元化,业务模块的业务参数会有很多种,所以为了便于解析下载任务的下载状态,在本申请中下载状态的格式统一为JSON,详细格式如下表所示:

例如,下载任务的下载状态为下载中时,业务模块上报的下载状态日志格式如下所示:

又例如,下载状态为下载完成时,业务模块上报的下载状态的状态日志格式如下所示:

步骤S320:下载管理模块基于过程日志及进度信息,监测下载任务是否异常。

步骤S330:若下载任务异常,则下载管理模块取消或删除所述下载任务。

统一对步骤S320及步骤S330进行阐述。下载管理模块基于过程日志及进度信息,实时监控下载任务的下载状态,从而实时监测下载任务是否处于异常、或者是否已经完成整个下载流程,如若异常或者完成下载,则下载管理模块便取消或者删除下载任务,从而防止下载任务持续占用存储空间,进而对下载任务进行生命周期管理。

其中,由于业务模块是异步线程执行文件下载,如果业务模块异常重启或者其他原因导致下载任务中止,但是状态未上报,此时业务模块需要调用下载管理模块查询下载任务是否处于执行中,进而提醒下载管理模块将下载任务状态置为异常结束。

区别于现有技术,本申请提供了一种基于数据中台的数据下载方法,其中,数据中台包括业务模块及下载管理模块,数据下载方法包括:下载管理模块基于业务模块接收的下载命令,创建下载任务;业务模块基于业务参数执行下载任务;下载管理模块对下载任务进行管理。具体地,下载管理模块对数据中台的各个业务模块文件下载任务进行统一管理,同时,下载管理模块创建下载任务后,业务模块基于业务参数执行下载任务,使得在业务模块的业务功能与下载管理模块的管理功能解耦,使得业务模块可以根据业务需要自行执行下载任务,从而降低代码冗余的同时,还能提高文件下载处理的多样性。

本申请还提出了一种基于数据中台的数据下载方法得第二实施例,如图4所示,图4是本申请数据下载方法第二实施例的流程示意图。其中,在本实施例中,数据中台还包括文件下载服务模块,数据下载方法包括步骤S400至步骤S1100。

步骤S400:下载管理模块基于业务模块接收的下载命令,创建下载任务。

具体实施方式,参见上述实施例,这里不再赘述。

步骤S500:业务模块基于业务参数执行下载任务。

具体实施方式,参见上述实施例,这里不再赘述。

步骤S600:下载管理模块对下载任务进行管理。

具体实施方式,参见上述实施例,这里不再赘述。

步骤S700:下载管理模块获取发送下载命令的客户端的用户信息及获取下载文件的文件标识。

步骤S800:下载管理模块对用户信息进行验证。

统一对步骤S700至步骤S800进行阐述。用户进一步点击下载,下载管理模块提示用户输入用户信息进行验证,在本实施例中,采用用户名及用户密码的形式对用户的用户信息进行二次验证。验证通过后,用户可以从下载管理模块中获取文件密码,通过文件密码可以对下载到客户端的压缩文件进行解压,从而获得下载文件。

步骤S900:若验证通过,则下载管理模块将文件密码发送给用户,并发送下载指令到文件下载服务模块,其中,下载指令中包括文件标识及用户标识。

步骤S1000:文件下载服务模块对下载指令进行鉴权;

步骤S1100:若鉴权通过,文件下载服务模块基于下载指令控制文件存储模块将压缩文件传输给客户端。

统一对步骤S900至步骤S1100进行阐述。通过步骤S800的验证后,下载管理模块可以通过用户的请求将文件密码下发到客户端。用户验证通过后,下载管理模块还要获取文件标识及用户标识,并发送下载指令到文件下载服务模块,其中,下载指令中包括文件标识即用户的标识。文件下载服务模块在接收到下载指令后还需要对下载指令进行鉴权,对用户访问资源的合法性进行校验,防止客户端直接调用文件下载服务模块对文件存储模块中的压缩文件进行下载。如果鉴权通过,文件下载服务模块在基于下载指令将文件存储模块中的压缩文件传输给客户端,进而完成下载。若鉴权不通过,则拒绝客户端访问文件下载服务模块。

具体地,在本实施例中,文件下载服务模块采用的是Nginx服务器反向代理服务器。用户在通过步骤S800验证通过后,用户调用下载管理模块下达下载指令时,Nginx服务器(反向代理服务器)中的request_auth模块,对下载指令进行拦截,根据客户端传入的用户标识和文件标识对用户访问资源的合法性进行校验,检验通过后即可以通过Nginx服务器控制文件存储模块下载压缩文件到客户端。若校验不通过则拒绝访问文件下载服务模块。

可选的,如图5所示,图5是图4实施例中步骤S1100一具体流程示意图。其中,步骤S1100可以通过图5所示的方法步骤实现。其中,该方法包括步骤S1110至步骤S1120。

步骤S1110:文件下载服务模块将下载指令代理到文件存储模块。

步骤S1120:文件存储模块基于下载指令将压缩文件传输到客户端。

统一对步骤S1110至步骤S1120进行阐述。鉴权通过后,文件下载服务模块接收到下载指令,并通过Nginx服务器将下载指令代理到文件存储模块,文件存储模块基于下载指令将压缩文件传输到客户端。进一步的,用户在接收到压缩文件后,通过在下载管理模块那里获取的文件密码,对压缩文件进行解压,最终便能获取得到对应业务参数的下载文件。

本申请还提出了一种数据中台,如图6所示,图6是本申请数据中台一实施例的结构示意图。其中,数据中台10包括:业务模块12及下载管理模块11。

其中,下载管理模块11设置有创建任务接口,业务模块12在接收到用户的下载请求时,通过创建任务接口与下载管理模块11连接,其中,下载管理模块11用于接收业务模块12的文件下载命令,并生成创建下载任务,并对下载任务进行管理。下载管理模块11还用于给业务模块12响应下载任务ID(下载任务名称)和文件密码等信息。

下载管理模块11还设置有下载过程信息上报接口,用于在下载管理模块11与业务模块12进行解耦时,引入消息队列接收业务模块12上报的下载任务状态及进度信息。具体的实施方式参见上述数据下载方法各个实施例,这里不再赘述。

下载管理模块11还设置有下载管理超时查询接口,其中,由于业务模块12是异步线程执行文件下载,如果服务异常重启或者其他原因导致下载任务中止但是状态未上报,此时业务模块12需要通过下载管理超时查询接口调用下载管理模块11查询下载任务是否处于执行中,进而将下载任务状态置为异常结束。

业务模块12用于通过上述数据下载方法接收客户端的下载命令,并基于业务参数执行下载任务。具体的实施方式参见上述数据下载方法各个实施例,这里不再赘述。

可选的,数据中台10还包括文件存储模块14。文件存储模块14与业务模块12连接。

其中,下载管理模块11还用于基于下载命令生成文件密码,业务模块12还用于获取文件密码,基于业务参数生成下载文件,利用文件密码对下载文件进行压缩处理,以获得压缩文件。进一步的,文件存储模块14用于存储业务模块12的上传的压缩文件。

可选的,数据中台10还包括文件下载服务模块13。在本申请的上述实施例中,文件下载服务模块采用的是Nginx服务器,在其它实施例中,也可以采用其它具有类似功能的服务器。文件下载服务模块13与下载管理模块11。

其中,下载管理模块11还用于获取发送下载命令的客户端的用户信息及获取下载文件的文件标识;下载管理模块11用于对用户信息进行验证,若验证通过,则下载管理模块11将文件密码发送给用户,并发送下载指令到文件下载服务模块13,其中,下载指令中包括文件标识及用户的标识。

其中,文件下载服务模块13与文件存储模块14连接,文件下载服务模块13用于对下载指令进行鉴权,若鉴权通过,文件下载服务模块13基于下载指令控制文件存储模块14将压缩文件传输给客户端。文件下载服务模块13将下载指令代理到文件存储模块14。文件存储模块14用于基于下载指令将所述压缩文件传输到所述客户端。

本申请的数据中台还用于实现上述数据下载方法。

具体地,如图7所示,图7是图6中的数据中台的工作流程示意图。

用户在对应的业务模块12点击文件下载或导出,生成下载命令。业务模块12接收下载命令并将下载命令传送到下载管理模块11,下载管理模块11创建下载任务,并生成文件密码。进一步的,下载管理模块11将文件密码及控制信息发送给业务模块12,业务模块12响应于文件密码,开始异步执行下载任务,具体实施方式及步骤参见本申请数据下载方法的第一实施例中步骤S200的具体流程,这里不在赘述。

进一步的,用户在下载管理模块11点击文件下载,并进行身份验证,其中,下载管理模块11对用户的用户信息进行验证,验证通过后用户可以从下载管理模块11获取文件密码。进一步的,验证通过后,下载管理模块11将包含有用户表示及文件标识的下载指令,发送给文件下载服务模块13。文件下载服务模块13在接收下载指令之前,还需要对下载指令进行鉴权,具体实施方式参照上述实施例。

鉴权通过后,文件下载服务模块13将下载指令代理到文件存储模块14,控制文件存储模块14将压缩文件下载至用户的客户端。用户在从下载管理模块11中获取文件密码后,通过文件密码自行对压缩文件进行解压即可获得下载文件。

综上,本申请的数据下载方法设置有下载管理模块,使得下载任务周期性管理的功能和业务模块的功能解耦,使得业务模块可以根据业务需要对要下载文件实现多样化的处理。同时,本申请使用了Nginx服务器的request_auth模块对下载文件资源进行非法访问拦截,防止服务器资源的非法访问时并不需要客户端预先发起前序请求,降低了非法访问拦截的复杂度。进一步的,对于已经从数据中台中下载的下载文件,使用了加密压缩的方式,并且需要用户验证通过后才能获取文件密码对压缩文件进行解压获取下载文件,从而大大增加了文件传输过程中的安全性。

本申请进一步提出一种电子设备,请参阅图8,图8是本申请电子设备一实施例的结构示意图,该电子设备20包括处理器21及与处理器21连接的存储器22,其中,存储器22中存储有程序指令,处理器21执行存储器22存储的程序指令,以执行实现上述各数据下载方法实施例中的步骤。

处理器21还可以称为CPU(Central Process ing Unit,中央处理单元)。处理器21可能是一种集成电路芯片,具有信号的处理能力。处理器21还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器22用于存储处理器21运行所需的程序指令。

处理器21还用于执行存储器22存储的程序指令以实现上述数据下载方法。

本申请进一步提出一种计算机可读存储介质。请参阅图9,图9是本申请计算机可读存储介质一实施例的结构示意图。

本申请实施例的计算机可读存储介质30内部存储有程序指令31,程序指令31被执行以实现上述数据下载方法。

其中,程序指令31可以形成程序文件以软件产品的形式存储在上述存储介质中,以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。

本实施例计算机可读存储介质30可以是但不局限于U盘、SD卡、PD光驱、移动硬盘、大容量软驱、闪存、多媒体记忆卡、服务器等。

在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述数据下载方法实施例中的步骤。

另外,上述功能如果以软件功能的形式实现并作为独立产品销售或使用时,可存储在一个移动终端可读取存储介质中,即,本申请还提供一种存储有程序指令的存储装置,所述程序指令能够被执行以实现上述实施例的方法,该存储装置可以为如U盘、光盘、服务器等。也就是说,本申请可以以软件产品的形式体现出来,其包括若干指令用以使得一台智能终端执行各个实施例所述方法的全部或部分步骤。

以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

若本申请技术方案涉及个人信息,应用本申请技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本申请技术方案涉及敏感个人信息,应用本申请技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理的个人信息种类等信息。

相关技术
  • 基于数据中台接入第三方系统的方法、装置及数据中台
  • 基于数据中台接入第三方系统的方法、装置及数据中台
技术分类

06120115931623