一种数据异步导出方法技术

技术编号:16919045 阅读:57 留言:0更新日期:2017-12-31 14:43
本发明专利技术提供了一种数据异步导出方法,包括步骤1:在导出页面设置导出数据的筛选条件;步骤2、服务器根据步骤1提供的筛选条件查询并判断数据库里数据量大小,根据配置文件所设置的大数据阈值DOWNLOAD_SIZE决定是实时导出,还是邮件通知下载导出;步骤3:若数据库里数据为少量数据,则此少量数据采用实时导出方式;步骤4:若数据库里数据为大量数据,则将此大量数据生成导出文件,并存储在指定服务器中,发送下载链接至指定的邮件地址。本发明专利技术实现大量数据、少量数据下载分类处理,不卡系统,无需在电脑前漫长地等待导出结果。

【技术实现步骤摘要】
一种数据异步导出方法
本专利技术涉及网络数据查询和导出
,特别是一种数据异步导出方法。
技术介绍
传统下载分同步导出和异步导出,同步下载即根据查询条件及配置导出数据直接下载想要的数据结果;针对大数据的异步下载,通过其他服务器存储查询结果,分批查询生成导出文件,最后在面弹出下载结果。传统的同步导出支持的数据量小,数据上十万条级别轻者锁住数据库导其他人无法操作系统,并卡顿页面耗时较长,重者服务器直接宕机。传统的异步导出虽然支持了大数据的分步导出,但到查询量小的时候做这种分步处理是一种服务器的浪费,重要的是这种导出需较长时间在电脑前等待导出结果造成时间浪费;如果多人需要查看结果要么多人查询卡服务,要么一人下载完大量数据通过网络分发给多人,大数据受网络影响发送耗时肯定很长,网络差时甚至无法发送出去,严重影响用户体验。异步:网页上的异步即不需要等待服务器响应当前请求结果,就可以进行页面其他操作;与同步相对应,节省用户时间,提高用户使用体验。异步任务队列:异步任务过多时可生成一个队列依次执行任务调度。
技术实现思路
本专利技术所要解决的技术问题是提供一种数据异步导出方法,实现大量数据、少量数据下载分类处理,少量数据直接下载轻松愉悦,大量数据邮件通知下载结果,不卡系统,无需在电脑前漫长地等待导出结果。为解决上述技术问题,本专利技术采用的技术方案是:一种数据异步导出方法,包括以下步骤:步骤1:在导出页面设置导出数据的筛选条件;步骤2、服务器根据步骤1提供的筛选条件查询并判断数据库里数据量大小,根据配置文件所设置的大数据阈值DOWNLOAD_SIZE决定是实时导出,还是邮件通知下载导出;步骤3:若数据库里数据为少量数据,则此少量数据采用实时导出方式;步骤4:若数据库里数据为大量数据,则将此大量数据生成导出文件,并存储在指定服务器中,发送下载链接至指定的邮件地址,即:调用异步任务将大量数据写入下载文件内,每次写入条数根据步骤2配置文件所设置的单次写入条数而定,至到写入所有查询数据为止;待数据全部写入下载文件后,生成导出文件下载地址,并通过邮件发送至指定邮箱。进一步的,所述步骤2中判断数据量大小的方法具体为:1)查询整个表数据条数:all_count;2)查询数据表所占磁盘大小:table_size;3)计算单条数据大小:item_size=table_size/all_count;4)查询本次导出数据条数:count;5)计算此次导出数据大小:count_size=count*item_size;6)判断是否邮件通知下载导出结果,即count_size与大数据阈值DOWNLOAD_SIZE进行对比,小于大数据阈值直接导出,大于大数据阈值进入大量数据导出。进一步的,还包括步骤5:设置大量数据下载时的下载验证信息,所述验证信息包括用户名、密码,用户需输入验证信息才能下载导出文件。进一步的,还包括步骤6:设置消息提示,即通过开放接口的通讯工具发送导出结果通知和下载链接。与现有技术相比,本专利技术的有益效果是:1)根据数据大小判断导出方式,比单一方式灵活,节省不必要的流程消耗;2)异步队列导出不影响系统正常使用,提高用户体验;3)邮件通知使用户不必在电脑前耗时苦等导出结果,并可以发送至多人省掉用户传阅苦恼;4)下载时提供身份验证,提高敏感数据安全性。附图说明图1是本专利技术一种数据异步导出方法流程示意图。具体实施方式下面结合附图和具体实施方式对本专利技术作进一步详细的说明。本专利技术采用异步导出查询数据,根据导出数据量大小判断获取方式;少量数据可实时下载查看,大量数据生成导出文件存储在指定服务器里,发送下载链接至导出人邮件地址或手动指定的多个邮箱地址,收到邮件地址的用户可根据身份验证下载数据;此导出不影响系统正常使用,不卡数据库,支持一份数据多人下载阅读,异地下载阅读,节省传阅耗时及下载耗时。以需要审核的订单数据为例,假定订单数据字段内容为:订单号、订单生成时间、订单类型、审核类型、订单价格、订单审核人、审核时间、订单审核结果和订单内容等,包括以下步骤:1、导出页面设置导出数据的筛选条件,如需要订单生成时间在本月内,审核结果为合格,订单类型为A类,筛选条件设置好后点击导出按钮。2、服务器收到前台请求后根据步骤1提供的条件查询数据库里数据量大小,根据配置文件所设置的大数据阈值决定是实时导出,还是邮件通知下载导出。2-1、步骤2的配置文件为导出相关配置,包括:*大数据阈值:根据服务器性能设置,默认DOWNLOAD_SIZE=10M;*导出字段标题定义:如订单号列标题设置为,xxx公司订单号;*导出特殊字段格式化如日期显示为:年/月/日或月-日-年;*单次写入下载文件数据条数:根据服务器性能设置;*导出文件格式:csv、excel、pdf等。2-2、数据量大小判断:1)查询整个表数据条数:all_count;2)查询数据表所占磁盘大小:table_size;3)计算单条数据大小:item_size=table_size/all_count(表大小除以表条数得到单条数据大小);4)查询本次导出数据条数:count;5)计算此次导出数据大小:count_size=count*item_size(本次导出条数乘以单条大小);6)判断是否邮件通知下载导出结果:count_size与DOWNLOAD_SIZE(大数据阈值)对比,小于大数据阈值直接导出,大于大数据阈值进入大数据导出。2-3、少量数据实时导出,即点完导出就获得浏览器下载文件,邮件通知下载结果的点击导出后会马上提示数据量过大,会通过邮件发送下载链接,请关注邮件提醒,并弹出邮件输入界面,可不输入或者输入多人。3、判断为少量数据的至此已完成导出;判断为大量数据的进入步骤4。4、调用异步任务将大量数据写入下载文件内,每次写入条数根据步骤2配置文件的所设置的单次写入条数,至到写入所以查询数据为止,调用步骤5;异步任务会放入异步队列,执行导出任务过多会排队执行以免影响服务器性能及用户操作体验。5、待数据全部写入文件后,立即将生成导出文件下载地址,并通过邮件发送至指定邮箱;导出文件类型通过步骤2配置文件获取,邮件由前台指定,如未指定获取导出用户邮件地址。6、收到邮件的用户点击下载链接,输入用户名密码等验证信息下载导出文件。本文档来自技高网...
一种数据异步导出方法

【技术保护点】
一种数据异步导出方法,其特征在于,包括以下步骤:步骤1:在导出页面设置导出数据的筛选条件;步骤2、服务器根据步骤1提供的筛选条件查询并判断数据库里数据量大小,根据配置文件所设置的大数据阈值DOWNLOAD_SIZE决定是实时导出,还是邮件通知下载导出;步骤3:若数据库里数据为少量数据,则此少量数据采用实时导出方式;步骤4:若数据库里数据为大量数据,则将此大量数据生成导出文件,并存储在指定服务器中,发送下载链接至指定的邮件地址,即:调用异步任务将大量数据写入下载文件内,每次写入条数根据步骤2配置文件所设置的单次写入条数而定,至到写入所有查询数据为止;待数据全部写入下载文件后,生成导出文件下载地址,并通过邮件发送至指定邮箱。

【技术特征摘要】
1.一种数据异步导出方法,其特征在于,包括以下步骤:步骤1:在导出页面设置导出数据的筛选条件;步骤2、服务器根据步骤1提供的筛选条件查询并判断数据库里数据量大小,根据配置文件所设置的大数据阈值DOWNLOAD_SIZE决定是实时导出,还是邮件通知下载导出;步骤3:若数据库里数据为少量数据,则此少量数据采用实时导出方式;步骤4:若数据库里数据为大量数据,则将此大量数据生成导出文件,并存储在指定服务器中,发送下载链接至指定的邮件地址,即:调用异步任务将大量数据写入下载文件内,每次写入条数根据步骤2配置文件所设置的单次写入条数而定,至到写入所有查询数据为止;待数据全部写入下载文件后,生成导出文件下载地址,并通过邮件发送至指定邮箱。2.如权利要求1所述的一种数据异步导出方法,其特征在于,所述步骤2中判断数据量大小的方法具体为:1)查询整个表数...

【专利技术属性】
技术研发人员:袁祖伟
申请(专利权)人:成都知道创宇信息技术有限公司
类型:发明
国别省市:四川,51

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

1