一种基于文件存储的大数据异步导出方法及系统技术方案

技术编号:38541995 阅读:13 留言:0更新日期:2023-08-19 17:09
本发明专利技术公开一种基于文件存储的大数据异步导出方法及系统,属于大数据领域,获取待导出数据的数据导出请求,根据数据导出请求创建导出任务,将导出任务保存至任务表中;从任务表中获取并执行导出任务,生成待导出数据的excel文件;将excel文件上传至云存储服务器保存,得到云存储服务器返回的统一资源定位符;获取excel文件下载请求,根据统一资源定位符链接下载excel文件。本发明专利技术通过将导出任务保存至任务表,避免了因用户一次性提交大量导出请求而导致的系统崩溃及响应缓慢问题;通过job定时任务能够分批次不重复、不遗漏地处理所有未执行的导出任务,避免一次执行过多且耗时较长的任务导致服务器压力过大影响到主流程。程。程。

【技术实现步骤摘要】
一种基于文件存储的大数据异步导出方法及系统


[0001]本专利技术属于大数据处理领域,具体涉及一种基于文件存储的大数据异步导出方法及系统。

技术介绍

[0002]随着网络技术和数字经济的发展,传统行业与互联网的结合使得用户每天都会在网络上产生非常多的数据,数据库中数据的导出在日常开发中也是经常遇到的现象。
[0003]现有的数据导出方法都是通过一次请求导出,即同步导出,同步导出对于小数据量的导出适用,对于大数据量的导出就会出现数据导出超时、连接中断的情况,最终导致数据导出失败。
[0004]对于快递行业,网点工作人员经常需要从数据库中导出该网点每日到件及发件情况,进行数据分析,从而更好的指导生产经营。现有传统的数据同步导出方法在点击“导出”按钮后浏览器处于一直等待状态,等待浏览器后端返回导出结果,对于小数据量的导出等待时间很短,不会出现问题,可以流畅导出。但是,当要导出的数据量到达一万条以上或者浏览器后端服务器有一些比较耗时的处理操作时,用户通过浏览器前端点击“导出”按钮,由于导出数据量较大,数据传输耗时较长,就会导致整个浏览器页面卡顿,出现白屏,用户也就无法再进行其他操作,影响了用户的体验。

技术实现思路

[0005]本专利技术提出了一种基于文件存储的大数据异步导出方法及系统,避免因用户一次性提交大量导出请求而导致的系统崩溃及响应缓慢问题;能够分批次不重复、不遗漏地处理所有未执行的导出任务,避免一次执行过多且耗时较长的任务导致服务器压力过大影响到主流程,提升用户体验;
[0006]一方面,为实现上述目的,本专利技术提供了一种基于文件存储的大数据异步导出方法,包括以下步骤:
[0007]获取待导出数据的数据导出请求,根据所述数据导出请求创建导出任务,并将所述导出任务保存至浏览器后端服务器的任务表中;
[0008]从所述任务表中获取所述导出任务并执行所述导出任务,生成所述待导出数据的excel文件;
[0009]将所述excel文件上传至云存储服务器保存,得到所述云存储服务器返回的该excel文件对应的统一资源定位符链接;
[0010]获取excel文件下载请求,根据所述统一资源定位符链接从所述云存储服务器下载所述excel文件,完成所述待导出数据的数据导出。
[0011]可选地,获取待导出数据的数据导出请求之后,还包括对所述数据导出请求进行校验,校验过程包括:
[0012]将所述数据导出请求携带的请求参数取出,根据所述请求参数查看数据库中是否
存在所述待导出数据,当所述待导出数据存在于所述数据库中时,校验通过;
[0013]当所述待导出数据不存在于所述数据库中时,校验不通过,则将所述数据导出请求的校验失败提醒返回至浏览器前端。
[0014]可选地,采用job定时任务从所述任务表中获取并执行所述导出任务,所述job定时任务利用TBschedule框架创建;所述job定时任务从所述任务表中获取并执行所述导出任务的过程包括:
[0015]每隔预设固定时间从所述任务表中检索其中是否存在未执行的导出任务;若存在未执行的导出任务,所述job定时任务获取该导出任务的数据导出请求的请求参数,根据所述请求参数去数据库中获取所述待导出数据;
[0016]采用easypoi工具将获取的所述待导出数据生成所述待导出数据的所述excel文件。
[0017]可选地,得到excel文件对应的统一资源定位符链接之后,还包括:
[0018]将所述excel文件对应的所述统一资源定位符链接保存至数据库中。
[0019]可选地,下载excel文件完成待导出数据的数据导出之后,还包括:
[0020]删除所述云存储服务器中的所述excel文件。
[0021]可选地,所述导出任务存储有:从数据库中查询该导出任务对应的excel文件中数据的筛选条件。
[0022]另一方面,为实现上述目的,本专利技术还提供了一种基于文件存储的大数据异步导出系统,其特征在于,包括:前端、后端服务器和存储服务器;
[0023]所述前端,用于接收待导出数据的数据导出请求,并将所述数据导出请求发送给所述后端服务器;以及接收excel文件下载请求,并将所述excel文件下载请求发送给所述后端服务器;
[0024]所述后端服务器用于执行权利要求1

6任一所述的基于文件存储的大数据异步导出方法;
[0025]所述云存储服务器,用于存储excel文件,并将所述excel文件对应的统一资源定位符链接下发至所述后端服务器。
[0026]本专利技术的有益效果为:
[0027]1.本专利技术采用异步导出方法,即发送两次请求导出excel文件,第一次请求为向浏览器后端服务器发送数据导出请求,创建导出任务保存并返回保存结果到浏览器前端,第二次请求为excel文件下载请求,下载导出的文件,在这种情况下,浏览器前端无需等待,在数据导出期间用户仍然可以在浏览器上进行其他操作,提升了用户体验,减少了用户的等待时间,且不会出现传输超时、网络连接中端的情况,避免了浏览器页面卡顿、白屏的情况;
[0028]2.本专利技术将导出任务保存至任务表,避免了因用户一次性提交大量导出请求而导致的系统崩溃及响应缓慢问题;
[0029]3.本专利技术通过job定时任务能够分批次不重复、不遗漏地快速处理所有未执行的导出任务,避免了因一次执行过多且耗时较长的任务导致服务器压力过大影响到主流程的情况。
附图说明
[0030]为了更清楚地说明本专利技术的技术方案,下面对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0031]图1为本专利技术实施例基于文件存储的大数据异步导出方法流程示意图。
具体实施方式
[0032]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0033]为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。
[0034]实施例一
[0035]图1为本专利技术实施例基于文件存储的大数据异步导出方法流程示意图,如图1所示,本专利技术公开了一种基于文件存储的大数据异步导出方法,本实施例以导出数据库中的扫描记录表为例,具体包括:
[0036]获取待导出数据(本实施例以扫描记录表为例)的数据导出请求,根据数据导出请求创建导出任务,并将导出任务保存至浏览器后端服务器的任务表中;
[0037]当用户在浏览器前端(浏览器页面)点击“导出”按钮时,即浏览器前端向后端服务器发起了扫描记录表的数据导本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于文件存储的大数据异步导出方法,其特征在于,包括以下步骤:获取待导出数据的数据导出请求,根据所述数据导出请求创建导出任务,并将所述导出任务保存至任务表中,并发送导出任务成功提醒;其中,所述导出任务中包括所述待导出数据的筛选条件;基于预设固定时间,从所述任务表中获取所述导出任务并执行所述导出任务,生成所述待导出数据的excel文件;将所述excel文件上传至云存储服务器保存,得到所述云存储服务器返回的该excel文件对应的统一资源定位符链接;响应于excel文件下载请求,根据所述统一资源定位符链接从所述云存储服务器下载所述excel文件,完成所述待导出数据的数据导出。2.根据权利要求1所述的大数据异步导出方法,其特征在于,获取待导出数据的数据导出请求之后,还包括对所述数据导出请求进行校验,校验过程包括:将所述数据导出请求携带的请求参数取出,根据所述请求参数查看数据库中是否存在所述待导出数据,当所述待导出数据存在于所述数据库中时,校验通过;当所述待导出数据不存在于所述数据库中时,校验不通过,则将所述数据导出请求的校验失败提醒返回至浏览器前端。3.根据权利要求1所述的大数据异步导出方法,其特征在于,采用job定时任务从所述任务表中获取并执行所述导出任务,所述job定时任务利用TBschedule框架创建;所述job定时任务从所述任务表中获取并执行所述导出任务的过程包括:每隔预设固定时间从所述任务表中...

【专利技术属性】
技术研发人员:杨磊
申请(专利权)人:上海中通吉网络技术有限公司
类型:发明
国别省市:

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

1