CN107526635A - 一种数据异步导出方法 - Google Patents
一种数据异步导出方法 Download PDFInfo
- Publication number
- CN107526635A CN107526635A CN201710791987.7A CN201710791987A CN107526635A CN 107526635 A CN107526635 A CN 107526635A CN 201710791987 A CN201710791987 A CN 201710791987A CN 107526635 A CN107526635 A CN 107526635A
- Authority
- CN
- China
- Prior art keywords
- data
- export
- size
- download
- asynchronous
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/42—Mailbox-related aspects, e.g. synchronisation of mailboxes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种数据异步导出方法,包括步骤1:在导出页面设置导出数据的筛选条件;步骤2、服务器根据步骤1提供的筛选条件查询并判断数据库里数据量大小,根据配置文件所设置的大数据阈值DOWNLOAD_SIZE决定是实时导出,还是邮件通知下载导出;步骤3:若数据库里数据为少量数据,则此少量数据采用实时导出方式;步骤4:若数据库里数据为大量数据,则将此大量数据生成导出文件,并存储在指定服务器中,发送下载链接至指定的邮件地址。本发明实现大量数据、少量数据下载分类处理,不卡系统,无需在电脑前漫长地等待导出结果。
Description
技术领域
本发明涉及网络数据查询和导出技术领域,特别是一种数据异步导出方法。
背景技术
传统下载分同步导出和异步导出,同步下载即根据查询条件及配置导出数据直接下载想要的数据结果;针对大数据的异步下载,通过其他服务器存储查询结果,分批查询生成导出文件,最后在面弹出下载结果。
传统的同步导出支持的数据量小,数据上十万条级别轻者锁住数据库导其他人无法操作系统,并卡顿页面耗时较长,重者服务器直接宕机。传统的异步导出虽然支持了大数据的分步导出,但到查询量小的时候做这种分步处理是一种服务器的浪费,重要的是这种导出需较长时间在电脑前等待导出结果造成时间浪费;如果多人需要查看结果要么多人查询卡服务,要么一人下载完大量数据通过网络分发给多人,大数据受网络影响发送耗时肯定很长,网络差时甚至无法发送出去,严重影响用户体验。
异步:网页上的异步即不需要等待服务器响应当前请求结果,就可以进行页面其他操作;与同步相对应,节省用户时间,提高用户使用体验。
异步任务队列:异步任务过多时可生成一个队列依次执行任务调度。
发明内容
本发明所要解决的技术问题是提供一种数据异步导出方法,实现大量数据、少量数据下载分类处理,少量数据直接下载轻松愉悦,大量数据邮件通知下载结果,不卡系统,无需在电脑前漫长地等待导出结果。
为解决上述技术问题,本发明采用的技术方案是:
一种数据异步导出方法,包括以下步骤:
步骤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、收到邮件的用户点击下载链接,输入用户名密码等验证信息下载导出文件。
Claims (4)
1.一种数据异步导出方法,其特征在于,包括以下步骤:
步骤1:在导出页面设置导出数据的筛选条件;
步骤2、服务器根据步骤1提供的筛选条件查询并判断数据库里数据量大小,根据配置文件所设置的大数据阈值DOWNLOAD_SIZE决定是实时导出,还是邮件通知下载导出;
步骤3:若数据库里数据为少量数据,则此少量数据采用实时导出方式;
步骤4:若数据库里数据为大量数据,则将此大量数据生成导出文件,并存储在指定服务器中,发送下载链接至指定的邮件地址,即:
调用异步任务将大量数据写入下载文件内,每次写入条数根据步骤2配置文件所设置的单次写入条数而定,至到写入所有查询数据为止;待数据全部写入下载文件后,生成导出文件下载地址,并通过邮件发送至指定邮箱。
2.如权利要求1所述的一种数据异步导出方法,其特征在于,所述步骤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进行对比,小于大数据阈值直接导出,大于大数据阈值进入大量数据导出。
3.如权利要求1所述的一种数据异步导出方法,其特征在于,还包括步骤5:设置大量数据下载时的下载验证信息,所述验证信息包括用户名、密码,用户需输入验证信息才能下载导出文件。
4.如权利要求1所述的一种数据异步导出方法,其特征在于,还包括步骤6:设置消息提示,即通过开放接口的通讯工具发送导出结果通知和下载链接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710791987.7A CN107526635A (zh) | 2017-09-05 | 2017-09-05 | 一种数据异步导出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710791987.7A CN107526635A (zh) | 2017-09-05 | 2017-09-05 | 一种数据异步导出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107526635A true CN107526635A (zh) | 2017-12-29 |
Family
ID=60683663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710791987.7A Pending CN107526635A (zh) | 2017-09-05 | 2017-09-05 | 一种数据异步导出方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107526635A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110046191A (zh) * | 2019-04-22 | 2019-07-23 | 成都四方伟业软件股份有限公司 | 一种数据导出配置方法及装置 |
CN110555068A (zh) * | 2018-05-14 | 2019-12-10 | 北京京东尚科信息技术有限公司 | 数据导出方法和装置 |
CN110929131A (zh) * | 2019-10-12 | 2020-03-27 | 中国平安财产保险股份有限公司 | 数据导出方法、装置、设备及存储介质 |
CN111104448A (zh) * | 2019-12-17 | 2020-05-05 | 深圳前海环融联易信息科技服务有限公司 | 大数据量Excel文件导出方法、装置、计算机设备及存储介质 |
CN111125174A (zh) * | 2019-12-06 | 2020-05-08 | 东软集团股份有限公司 | 数据导出方法、装置、存储介质、电子设备 |
CN113609168A (zh) * | 2021-07-14 | 2021-11-05 | 远景智能国际私人投资有限公司 | 数据导出方法、装置、终端以及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862543A (zh) * | 2006-06-21 | 2006-11-15 | 千乡万才科技(中国)有限公司 | 一种浏览器/服务器系统中的数据导入与导出方法 |
CN101996067A (zh) * | 2009-08-19 | 2011-03-30 | 阿里巴巴集团控股有限公司 | 一种数据导出的方法和装置 |
US7979793B2 (en) * | 2007-09-28 | 2011-07-12 | Microsoft Corporation | Graphical creation of a document conversion template |
US8347207B2 (en) * | 2007-07-16 | 2013-01-01 | International Business Machines Corporation | Automatically moving annotations associated with multidimensional data between live datacubes |
CN103034658A (zh) * | 2011-09-29 | 2013-04-10 | 福建睿能电子有限公司 | 一种数据查询和报表导出的方法及系统 |
US8463667B2 (en) * | 2008-01-11 | 2013-06-11 | Microsoft Corporation | Exporting and importing business templates |
CN103810238A (zh) * | 2013-11-20 | 2014-05-21 | 国家电网公司 | 一种基于异步处理的大数据量Excel文件导出方法 |
CN106095775A (zh) * | 2016-05-24 | 2016-11-09 | 中国银行股份有限公司 | 一种实现数据查询或导出的方法及系统 |
-
2017
- 2017-09-05 CN CN201710791987.7A patent/CN107526635A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862543A (zh) * | 2006-06-21 | 2006-11-15 | 千乡万才科技(中国)有限公司 | 一种浏览器/服务器系统中的数据导入与导出方法 |
US8347207B2 (en) * | 2007-07-16 | 2013-01-01 | International Business Machines Corporation | Automatically moving annotations associated with multidimensional data between live datacubes |
US7979793B2 (en) * | 2007-09-28 | 2011-07-12 | Microsoft Corporation | Graphical creation of a document conversion template |
US8463667B2 (en) * | 2008-01-11 | 2013-06-11 | Microsoft Corporation | Exporting and importing business templates |
CN101996067A (zh) * | 2009-08-19 | 2011-03-30 | 阿里巴巴集团控股有限公司 | 一种数据导出的方法和装置 |
CN103034658A (zh) * | 2011-09-29 | 2013-04-10 | 福建睿能电子有限公司 | 一种数据查询和报表导出的方法及系统 |
CN103810238A (zh) * | 2013-11-20 | 2014-05-21 | 国家电网公司 | 一种基于异步处理的大数据量Excel文件导出方法 |
CN106095775A (zh) * | 2016-05-24 | 2016-11-09 | 中国银行股份有限公司 | 一种实现数据查询或导出的方法及系统 |
Non-Patent Citations (3)
Title |
---|
LDS840827: ""求教:大数据量导出Excel"", 《CSDN论坛》 * |
月上明故: ""求大数据量导出的解决方案"", 《CSDN论坛》 * |
桦仔: ""分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占空间)"", 《博客园》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110555068A (zh) * | 2018-05-14 | 2019-12-10 | 北京京东尚科信息技术有限公司 | 数据导出方法和装置 |
CN110046191A (zh) * | 2019-04-22 | 2019-07-23 | 成都四方伟业软件股份有限公司 | 一种数据导出配置方法及装置 |
CN110929131A (zh) * | 2019-10-12 | 2020-03-27 | 中国平安财产保险股份有限公司 | 数据导出方法、装置、设备及存储介质 |
CN111125174A (zh) * | 2019-12-06 | 2020-05-08 | 东软集团股份有限公司 | 数据导出方法、装置、存储介质、电子设备 |
CN111104448A (zh) * | 2019-12-17 | 2020-05-05 | 深圳前海环融联易信息科技服务有限公司 | 大数据量Excel文件导出方法、装置、计算机设备及存储介质 |
CN113609168A (zh) * | 2021-07-14 | 2021-11-05 | 远景智能国际私人投资有限公司 | 数据导出方法、装置、终端以及可读存储介质 |
CN113609168B (zh) * | 2021-07-14 | 2024-01-05 | 远景智能国际私人投资有限公司 | 数据导出方法、装置、终端以及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107526635A (zh) | 一种数据异步导出方法 | |
CN104484031B (zh) | 终端设备耗电状态的优化方法和装置 | |
US20170054670A1 (en) | Method, system, and recording medium for notifying reception of message | |
CN111798296A (zh) | 自动对账方法、自动对账设备及计算机可读存储介质 | |
CN104050549A (zh) | 一种基于第三方物流业务订单管理的系统 | |
CN109670824A (zh) | 电子账本的生成方法、装置、设备及存储介质 | |
CN105049522A (zh) | 一种实现自助打印复印扫描传真的方法 | |
CN108605050B (zh) | 一种快速进入金融交易的方法、装置及电子设备 | |
CN101799901B (zh) | 一种快速注册帐户并充值和登录的方法 | |
CN102801647A (zh) | 即时通信中真实型礼物的实现方法、客户端及系统 | |
US20200219206A1 (en) | Ad hoc electronic messaging using financial transaction data | |
CN107590692A (zh) | 免费试用平台系统及其基于大数据环境下筛选客户的方法 | |
CN106209495A (zh) | 一种云监控系统的报表生成方法及装置 | |
CN103020473A (zh) | 一种电子名片及其制作方法 | |
US11704702B2 (en) | Generic message injection system | |
CN109600724A (zh) | 一种短信发送的方法和装置 | |
CN107798534A (zh) | 一种信息记录方法及装置、终端和可读存储介质 | |
WO2022247965A1 (zh) | 账单处理 | |
CA2796506A1 (en) | Personalized budgets for financial services | |
CN107257358A (zh) | 一种信息推送方法、终端及服务器 | |
CN110111162A (zh) | 消费折扣处理方法、装置、设备及计算机可读存储介质 | |
CN109685636A (zh) | 工资数额生成方法、装置、系统及计算机存储介质 | |
WO2018072405A1 (zh) | 一种推广计费方法、装置、设备和计算机存储介质 | |
US10360600B1 (en) | Big tree method and system for verifying user reviews | |
KR20210018109A (ko) | 모바일 명함을 활용한 기업 서비스 제공 방법 및 제공 서버 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171229 |
|
RJ01 | Rejection of invention patent application after publication |