数据导出方法、装置、设备及存储介质制造方法及图纸

技术编号:15763262 阅读:56 留言:0更新日期:2017-07-06 00:35
本发明专利技术公开了数据导出方法、装置、设备及存储介质,其中方法包括:导出平台获取来自业务系统的任务请求;根据任务请求构造任务,并执行任务,生成结果文件;对结果文件进行保存,以便业务系统获取所保存的结果文件。应用本发明专利技术所述方案,能够提升业务系统的性能等。

Data export method, device, equipment and storage medium

The invention discloses a data deriving method, device, equipment and storage medium, wherein the method comprises the following steps: export platform access from the business system task request; according to the task of building a task request, and task execution, results generated documents; save the results file, so that business systems to access the saved results file. By using the scheme of the invention, the performance of the service system can be enhanced.

【技术实现步骤摘要】
数据导出方法、装置、设备及存储介质
本专利技术涉及计算机应用技术,特别涉及数据导出方法、装置、设备及存储介质。
技术介绍
随着业务的发展,销售人员及运营人员对查询数据导出的需求越来越多。现有技术中,导出服务与业务系统耦合,从而影响了业务系统的性能,尤其是当结果集过大时,会严重影响业务系统的性能。
技术实现思路
有鉴于此,本专利技术提供了数据导出方法、装置、设备及存储介质,能够提升业务系统的性能。具体技术方案如下:一种数据导出方法,包括:导出平台获取来自业务系统的任务请求;所述导出平台根据所述任务请求构造任务,并执行所述任务,生成结果文件;所述导出平台对所述结果文件进行保存,以便所述业务系统获取所保存的所述结果文件。一种数据导出装置,包括:接口模块、任务构造模块、执行模块以及存储模块;所述接口模块,用于获取来自业务系统的任务请求,并提交给所述任务构造模块;所述任务构造模块,用于根据所述任务请求构造任务,并提交给所述执行模块;所述执行模块,用于执行所述任务,生成结果文件,并将所述结果文件保存到所述存储模块中,以便所述业务系统获取所保存的所述结果文件。一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如以上所述的方法。一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。基于上述介绍可以看出,采用本专利技术所述方案,拆分业务系统与导出服务,即业务系统与导出服务解耦,从而尽可能地避免了数据导出对业务系统的性能造成影响,即相比于现有技术提升了业务系统的性能。【附图说明】图1为本专利技术所述数据导出方法实施例的流程图。图2为本专利技术所述数据导出方法的交互流程示意图。图3为本专利技术所述数据导出装置实施例的组成结构示意图。图4示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的框图。【具体实施方式】为了使本专利技术的技术方案更加清楚、明白,以下参照附图并举实施例,对本专利技术所述方案作进一步地详细说明。图1为本专利技术所述数据导出方法实施例的流程图,如图1所示,包括以下具体实现方式:在101中,导出平台获取来自业务系统的任务请求。在此之前,导出平台可接受业务系统在导出平台上的注册及所进行的信息配置。导出平台可对外提供接口,比如,超文本传输协议(HTTP,HyperTextTransferProtocol)接口或远程过程调用协议(RPC,RemoteProcedureCallProtocol)接口等,业务系统等接入系统可通过接口与导出平台进行信息的交互。相应地,业务系统可在导出平台上进行注册,生成系统token即APP_KEY,并进行信息配置,如配置通讯协议及数据源,配置导出模板(即配置结果格式化模板),配置元数据托管等。其中,结果格式化模板配置示例如下:之后,业务系统可根据用户的要求向导出平台发出任务请求,即向导出平台发起任务。导出平台在获取到业务系统的任务请求之后,可向业务系统返回任务响应信息,其中可携带有任务标识等,以便后续业务系统根据任务标识向导出平台查询任务的执行状态,即了解任务的进展情况,当确定任务执行完成时,获取所保存的结果文件。在102中,导出平台根据任务请求构造任务,并执行任务,生成结果文件。导出平台可根据获取到的任务请求以及业务系统的配置信息构造任务,并执行所构造的任务,从而生成所需的结果文件。执行任务的过程可包括:抓取维度切片数据;根据维度切片数据生成可执行结构化查询语言(SQL,StructuredQueryLanguage),读取结果数据;根据结果数据生成中间结果文件;将中间结果文件拆分为一系列小文件,作为所需的结果文件。其中,在生成中间结果文件时,可进一步确定结果数据中是否包括来自于异构数据源的结果数据,如果是,则可对来自于异构数据源的结果数据进行整合,生成中间结果文件。另外,在将中间结果文件拆分为一系列小文件之后,还可根据业务系统所配置的结果格式化模板,分别将各小文件转换为业务系统所要求的格式,进而将进行格式转换后的各小文件作为结果文件。以下分别对上述构造任务及执行任务的方式进行详细说明。一)构造任务导出平台可根据获取到的任务请求以及业务系统的配置信息构造任务,即根据任务请求,匹配业务系统配置信息,创建执行任务所需的各功能对象,并构造任务执行上下文,任务执行上下文持有创建好的各功能对象,之后可将任务执行上下文提交到任务执行线程池执行。较佳地,所创建的各功能对象可包括:按维度切分的切片触发器Trigger、结果数据抽取器Extractor、结果生成器ResultBuilder、异构数据整合器Merger、文件拆分器Spliter、格式转换器Transformer等。由任务构造工厂,构造任务执行上下文ExecuteContext。任务执行上下文ExecuteContext持有创建好的各功能对象。之后将任务执行上下文ExecuteContext提交到任务执行线程池执行。如何创建上述各功能对象及任务执行上下文ExecuteContext为现有技术。二)执行任务任务执行上下文ExecuteContext持有切片触发器Trigger、结果数据抽取器Extractor、结果生成器ResultBuilder、异构数据整合器Merger、文件拆分器Spliter、格式转换器Transformer等功能对象,抽取出任务执行方法execute,执行逻辑如下。a、切片触发器Trigger可抓取维度切片数据,切片数据包含多个维度切片信息,将切片数据放入切片数据sliceBlockingQueue,各个切片的大小可通过切片策略指定,具体取值可根据实际需要而定。根据配置的通讯协议的不同,可采用不同的抓取方式,如:1)SQL协议,可根据任务请求中携带的抽取SQL,读取切片信息,如selectslice_idfromtable;2)Dubbo协议,可调用Duboo接口,获取数据。如按时间维度和账号维度切分,生成维度切分数据是二维的如下数据:{dimension_date:[20161212],dimension_id:[1001,1002]},{dimension_date:[20161213],dimension_id:[1001,1002]},{dimension_date:[20161212],dimension_id:[1003,1004]},{dimension_date:[20161213],dimension_id:[1003,1004]}。b、结果数据抽取器Extractor可开启多个线程,消费sliceBolckingQueue中的内容,解析维度切片数据,将抽取方法内维度切片占位符替换为具体切片数据值,从而形成可执行方法,抽取数据,得到结果数据。任务请求中可携带有结果SQL(伪SQL),该SQL在切片位置填充占位符,可根据抓取到的维度切片数据进行占位符替换,生成可执行SQL,读取结果数据,放入resultBlockingQueue,即将结果集放入resultBlockingQueue。c、结果生成器ResultBuilder消费resultBlockingQueue中的内容,生成中间结果文件。如对re本文档来自技高网...
数据导出方法、装置、设备及存储介质

【技术保护点】
一种数据导出方法,其特征在于,包括:导出平台获取来自业务系统的任务请求;所述导出平台根据所述任务请求构造任务,并执行所述任务,生成结果文件;所述导出平台对所述结果文件进行保存,以便所述业务系统获取所保存的所述结果文件。

【技术特征摘要】
1.一种数据导出方法,其特征在于,包括:导出平台获取来自业务系统的任务请求;所述导出平台根据所述任务请求构造任务,并执行所述任务,生成结果文件;所述导出平台对所述结果文件进行保存,以便所述业务系统获取所保存的所述结果文件。2.根据权利要求1所述的方法,其特征在于,所述导出平台获取来自业务系统的任务请求之前,进一步包括:所述导出平台接受所述业务系统在所述导出平台上的注册及所进行的信息配置;所述导出平台根据所述任务请求构造任务包括:所述导出平台根据所述任务请求以及所述业务系统的配置信息构造任务。3.根据权利要求1所述的方法,其特征在于,所述执行所述任务,生成结果文件包括:抓取维度切片数据;根据所述维度切片数据生成可执行结构化查询语言SQL,读取结果数据;根据所述结果数据生成中间结果文件;将所述中间结果文件拆分为一系列小文件,作为所述结果文件。4.根据权利要求3所述的方法,其特征在于,所述根据所述结果数据生成中间结果文件包括:确定所述结果数据中是否包括来自于异构数据源的结果数据;如果是,则对来自于异构数据源的结果数据进行整合,生成中间结果文件。5.根据权利要求3所述的方法,其特征在于,所述将所述中间结果文件拆分为一系列小文件之后,进一步包括:分别将各小文件转换为所述业务系统所要求的格式,将进行格式转换后的各小文件作为所述结果文件。6.根据权利要求1所述的方法,其特征在于,所述对所述结果文件进行保存包括:将所述结果文件保存到网络文件系统NFS中。7.根据权利要求1所述的方法,其特征在于,所述导出平台获取来自业务系统的任务请求之后,进一步包括:所述导出平台向所述业务系统返回任务响应信息,其中携带有任务标识,以便所述业务系统根据所述任务标识向所述导出平台查询所述任务的执行状态,当确定所述任务执行完成时,获取所述结果文件。8.一种数据导出装置,其特征在于,包括:接口模块、任务构造模块、执行模块以及存储模块;所述接口模块,用于获取来自业务系统的任务请求,并提交给所述任务构造模块;所述任务构造模块,用于根据所述...

【专利技术属性】
技术研发人员:李明明
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1