CN106547614A - 一种基于消息队列的海量数据延迟导出方法 - Google Patents
一种基于消息队列的海量数据延迟导出方法 Download PDFInfo
- Publication number
- CN106547614A CN106547614A CN201610978693.0A CN201610978693A CN106547614A CN 106547614 A CN106547614 A CN 106547614A CN 201610978693 A CN201610978693 A CN 201610978693A CN 106547614 A CN106547614 A CN 106547614A
- Authority
- CN
- China
- Prior art keywords
- task
- data
- service
- message
- derivation
- 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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于消息队列的海量数据延迟导出方法,涉及数据管理技术,基于消息队列的异步架构,用户提交数据导出请求后无需等待,可继续做其他业务操作,数据导出服务宕机也不会影响正常的***服务;采用分布式部署架构,导出服务主机可按需扩展,按需增加服务资源;任务执行采用多线程技术,***根据数据量大小智能开辟线程数量;导出服务及时更新任务完成进度,用户可以实时查看任务状态,提高用户体验。本发明提供了安全、可靠、高效的海量数据导出方式,可应用于任何需要数据导出服务的场景。
Description
技术领域
本发明涉及数据管理技术,具体的说是一种基于消息队列的海量数据延迟导出方法。
背景技术
随着大数据时代的到来,数据仓库技术的迅速发展,人们将越来越多的意识到数据对企业的重要性。而用户从***中导出明细数据,进行数据分析的需求也越来越多。海量数据导出一直以来都是一个难题。传统的数据导出方案很难满足以上需求,其缺点如下:1、提交导出请求后,需要等待页面响应,如数据量很大,需要等待很长时间,极端情况下可导致session超时而退出;2、长时间的数据交互增加了数据库的负载,影响数据库性能,导致正常业务时间延时;3、过多的导出请求可导致***宕机;4、用户无法掌握文件导出进度情况,如时间过长,通常会因为页面的假死现象而放弃。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种基于消息队列的海量数据延迟导出方法。
本发明所述一种基于消息队列的海量数据延迟导出方法,解决上述技术问题采用的技术方案如下:所述一种基于消息队列的海量数据延迟导出方法,基于消息队列,采用异步架构,用户提交数据导出请求后无需等待,可继续做其他业务操作;采用分布式部署架构,导出服务主机可按需扩展;任务执行采用多线程技术,根据数据量开辟线程数量;主要包括如下步骤:1)用户通过前端web界面发起数据导出请求;2)Web服务器将请求发送给消息服务器;3)消息服务器处理消息,生成导出任务;4)执行导出任务;5)生成数据文件;6)导出完成后发送通知;7)下载数据文件。
优选的,所述3)消息服务器处理消息,生成导出任务,主要是指,消息服务器接收到消息后,将请求信息写入任务表中,生成任务;服务主机数量实际应用时可按需扩展。
优选的,所述4)执行导出任务,主要步骤包括:
a)数据导出服务定期轮询任务表,认领任务,并执行导出任务;认领后的任务会在任务表中更新任务状态;
b)任务执行采用多线程技术,***根据数据量大小智能开辟线程数量;数据量越大,导出速度越明显;
c)导出服务会根据数据库服务器资源占用情况,智能调整任务处理并发度;
d)数据导出服务及时更新任务完成进度;
e)通过文件导出监控功能查看任务状态,等待中任务,执行中任务;
f)对于时效性比较高的任务,通过催办功能,提高任务优先办理;
g)导出过程中若发生异常,***会尝试重新执行,并记录次数,尝试多次失败后,***通知用户任务执行失败。
优选的,所述5)生成数据文件,导出数据文件暂时存放至ftp服务器。
本发明所述一种基于消息队列的海量数据延迟导出方法与现有技术相比具有的有益效果是:通过本发明,通过内网进行文件导出,可减少网络传输的时间,加快文件导出速率,缩短与数据库交互的时间,有效的减少了因数据导出请求,对正常业务的影响;有效的解决了数据导出慢,过量的数据导出请求导致***崩溃的难题;可按需增加服务资源,提高并发度,加快请求响应速度,实现了数据安全、可靠、高效的自动化导出;其可应用于任何需要数据导出服务的场景,尤其适用于具有频繁的海量数据导出需求的***。
附图说明
附图1为所述基于消息队列的海量数据延迟导出方法的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本发明所述一种基于消息队列的海量数据延迟导出方法进一步详细说明。
本发明提出了一种基于消息队列的海量数据延迟导出方法,基于消息队列的异步架构,用户提交数据导出请求后无需等待,可继续做其他业务操作,数据导出服务宕机也不会影响正常的***服务,服务恢复正常后即可处理之前的导出任务;采用分布式部署架构,导出服务主机可按需扩展,按需增加服务资源;任务执行采用多线程技术,对于单个导出任务,根据数据量大小智能开辟线程数量,有效的加快文件导出速度;导出服务及时更新任务完成进度,用户可以实时查看任务状态,提高用户体验。本发明提供了安全、可靠、高效的海量数据导出方式,可应用于任何需要数据导出服务的场景。
实施例:
本实施例所述一种基于消息队列的海量数据延迟导出方法,基于消息队列的异步架构,如附图1所示,其实现过程包括如下步骤:1)用户发起数据导出请求;2)Web服务器将请求发送给消息服务器;3)消息服务器处理消息,生成导出任务;4)执行导出任务;5)生成数据文件;6)导出完成后发送通知;7)下载数据文件。
所述1)用户发起数据导出请求是指,用户通过前端web界面发起数据导出请求,***可返回友好提示,如:“您的导出请求已接收,请求号为XX,您前面还有XX个任务等待处理!”。
所述2)Web服务器将请求发送给消息服务器是指,Web 服务器将请求信息发送给消息服务,请求消息应至少包含如下信息项:任务名称、前台功能名称、对应导出服务类、请求参数。
所述3)消息服务器处理消息,生成导出任务,主要是指,消息服务器接收到消息后,将请求信息写入任务表中,生成任务,服务主机数量实际应用时可按需扩展。
所述4)执行导出任务,主要步骤包括:
a)数据导出服务定期轮询任务表,认领任务,并执行导出任务;认领后的任务会在任务表中更新任务状态,避免其它的其他的导出服务重复执行;
b)任务执行采用多线程技术,***根据数据量大小智能开辟线程数量,加快导出速度;数据量越大,导出速度越明显;
c)导出服务会根据数据库服务器资源占用情况,智能调整任务处理并发度,保证既合理利用资源又能防止服务器宕机,并且能够做到不影响正常交易业务;
d)数据导出服务及时更新任务完成进度,包括已导出XX条,已完成百分比,方便用户通过文件导出监控功能查询正在执行任务的完成情况;
e)通过文件导出监控功能查看任务状态,等待中任务,可以查看排队情况,执行中任务,可以查看完成进度情况;
f)对于时效性比较高的任务,通过催办功能,可以提高任务优先级,每个用户的催办使用次数是有限的;
g)导出过程中如果发生异常,***会尝试重新执行,并记录次数,尝试多次失败后,***通知用户任务执行失败;避免因偶然因素导致的执行失败,对***可靠性造成的影响,提高用户体验。
所述5)生成数据文件,主要是指,导出数据文件暂时存放至ftp服务器,在同一内网之间进行网络传输,进一步提高导数性能,减少占用数据库资源的时间,有效的减少了对正常交易业务的影响。
所述6)导出完成后发送通知是指,任务执行完成后,通知用户下载;通知方式可以为:***消息、短信、微信等。
所述7)下载数据文件是指,用户从ftp服务器上下载数据文件,同时,***记录文件下载时间及次数。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (4)
1.一种基于消息队列的海量数据延迟导出方法,其特征在于,基于消息队列,采用异步架构,用户提交数据导出请求后无需等待,可继续做其他业务操作;采用分布式部署架构,导出服务主机可按需扩展;任务执行采用多线程技术,根据数据量开辟线程数量;主要包括如下步骤:1)用户通过前端web界面发起数据导出请求;2)Web服务器将请求发送给消息服务器;3)消息服务器处理消息,生成导出任务;4)执行导出任务;5)生成数据文件;6)导出完成后发送通知;7)下载数据文件。
2.根据权利要求1所述一种基于消息队列的海量数据延迟导出方法,其特征在于, 所述3)消息服务器处理消息,生成导出任务,主要是指,消息服务器接收到消息后,将请求信息写入任务表中,生成任务;服务主机数量实际应用时可按需扩展。
3.根据权利要求2所述一种基于消息队列的海量数据延迟导出方法,其特征在于, 所述4)执行导出任务,主要步骤包括:
数据导出服务定期轮询任务表,认领任务,并执行导出任务;认领后的任务会在任务表中更新任务状态;
任务执行采用多线程技术,***根据数据量大小智能开辟线程数量;数据量越大,导出速度越明显;
导出服务会根据数据库服务器资源占用情况,智能调整任务处理并发度;
数据导出服务及时更新任务完成进度;
通过文件导出监控功能查看任务状态,等待中任务,执行中任务;
对于时效性比较高的任务,通过催办功能,提高任务优先办理;
导出过程中若发生异常,***会尝试重新执行,并记录次数,尝试多次失败后,***通知用户任务执行失败。
4.根据权利要求3所述一种基于消息队列的海量数据延迟导出方法,其特征在于, 所述5)生成数据文件,导出数据文件暂时存放至ftp服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610978693.0A CN106547614A (zh) | 2016-11-01 | 2016-11-01 | 一种基于消息队列的海量数据延迟导出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610978693.0A CN106547614A (zh) | 2016-11-01 | 2016-11-01 | 一种基于消息队列的海量数据延迟导出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106547614A true CN106547614A (zh) | 2017-03-29 |
Family
ID=58394315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610978693.0A Pending CN106547614A (zh) | 2016-11-01 | 2016-11-01 | 一种基于消息队列的海量数据延迟导出方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106547614A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656968A (zh) * | 2017-08-31 | 2018-02-02 | 武汉斗鱼网络科技有限公司 | 大批量业务数据导出方法及*** |
CN109086293A (zh) * | 2018-06-11 | 2018-12-25 | 玖富金科控股集团有限责任公司 | Hive文件读写方法及装置 |
CN110263110A (zh) * | 2019-05-30 | 2019-09-20 | 武汉智云集思技术有限公司 | 基于抽稀算法的地理空间数据加载方法、设备及存储介质 |
WO2019218476A1 (zh) * | 2018-05-14 | 2019-11-21 | 平安科技(深圳)有限公司 | 一种数据的导出方法及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001059602A1 (en) * | 2000-02-11 | 2001-08-16 | Acta Technologies, Inc. | Nested relational data model |
US8296571B2 (en) * | 2007-05-18 | 2012-10-23 | Trimble Navigation Limited | Export control for a GNSS receiver |
CN102904746A (zh) * | 2012-09-13 | 2013-01-30 | 曙光信息产业(北京)有限公司 | 基于消息机制的集群任务自调度***与方法 |
CN103034658A (zh) * | 2011-09-29 | 2013-04-10 | 福建睿能电子有限公司 | 一种数据查询和报表导出的方法及*** |
CN103412961A (zh) * | 2013-09-04 | 2013-11-27 | 广东全通教育股份有限公司 | 一种实时导出海量数据报表的处理方法和*** |
CN104281489A (zh) * | 2013-07-12 | 2015-01-14 | 携程计算机技术(上海)有限公司 | Soa架构下的多线程请求方法及*** |
-
2016
- 2016-11-01 CN CN201610978693.0A patent/CN106547614A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001059602A1 (en) * | 2000-02-11 | 2001-08-16 | Acta Technologies, Inc. | Nested relational data model |
US8296571B2 (en) * | 2007-05-18 | 2012-10-23 | Trimble Navigation Limited | Export control for a GNSS receiver |
CN103034658A (zh) * | 2011-09-29 | 2013-04-10 | 福建睿能电子有限公司 | 一种数据查询和报表导出的方法及*** |
CN102904746A (zh) * | 2012-09-13 | 2013-01-30 | 曙光信息产业(北京)有限公司 | 基于消息机制的集群任务自调度***与方法 |
CN104281489A (zh) * | 2013-07-12 | 2015-01-14 | 携程计算机技术(上海)有限公司 | Soa架构下的多线程请求方法及*** |
CN103412961A (zh) * | 2013-09-04 | 2013-11-27 | 广东全通教育股份有限公司 | 一种实时导出海量数据报表的处理方法和*** |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656968A (zh) * | 2017-08-31 | 2018-02-02 | 武汉斗鱼网络科技有限公司 | 大批量业务数据导出方法及*** |
WO2019041707A1 (zh) * | 2017-08-31 | 2019-03-07 | 武汉斗鱼网络科技有限公司 | 大批量业务数据导出方法及*** |
CN107656968B (zh) * | 2017-08-31 | 2021-04-23 | 武汉斗鱼网络科技有限公司 | 大批量业务数据导出方法及*** |
WO2019218476A1 (zh) * | 2018-05-14 | 2019-11-21 | 平安科技(深圳)有限公司 | 一种数据的导出方法及设备 |
CN109086293A (zh) * | 2018-06-11 | 2018-12-25 | 玖富金科控股集团有限责任公司 | Hive文件读写方法及装置 |
CN109086293B (zh) * | 2018-06-11 | 2020-11-27 | 玖富金科控股集团有限责任公司 | Hive文件读写方法及装置 |
CN110263110A (zh) * | 2019-05-30 | 2019-09-20 | 武汉智云集思技术有限公司 | 基于抽稀算法的地理空间数据加载方法、设备及存储介质 |
CN110263110B (zh) * | 2019-05-30 | 2021-10-12 | 武汉智云集思技术有限公司 | 基于抽稀算法的地理空间数据加载方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106547614A (zh) | 一种基于消息队列的海量数据延迟导出方法 | |
Khazaei et al. | Analysis of a pool management scheme for cloud computing centers | |
CN101226525B (zh) | 控制web页面的下载和显示的方法、服务器、客户端及*** | |
WO2017128961A1 (zh) | 一种分布式***中的训练模型的方法及设备 | |
US9137183B2 (en) | System and method for automated chat testing | |
Lu et al. | Size-based scheduling policies with inaccurate scheduling information | |
CN111338773B (zh) | 一种分布式定时任务调度方法、调度***及服务器集群 | |
CN108337186A (zh) | 用于可扩缩业务整形的设备和方法 | |
CN107102894A (zh) | 任务调度方法、装置和*** | |
CN108388479A (zh) | 延迟消息推送方法、装置、计算机设备及存储介质 | |
CN109582738A (zh) | 一种处理高并发秒杀活动的方法 | |
CN106227780A (zh) | 一种海量网页的自动化截图取证方法和*** | |
CN108337185A (zh) | 具有时间索引数据结构的可缩放流量整形的设备和方法 | |
TW200817950A (en) | Storage management system for preserving consistency of remote copy data | |
GB2532834A (en) | A method and system for scalable job processing | |
CN106776395B (zh) | 一种共享集群的任务调度方法及装置 | |
Chen et al. | Understanding TCP incast and its implications for big data workloads | |
CN110020046B (zh) | 一种数据抓取方法及装置 | |
US9973306B2 (en) | Freshness-sensitive message delivery | |
CN109657007A (zh) | 基于异步提交的数据库数据同步并行执行方法及设备 | |
CN109254854A (zh) | 异步调用方法、计算机装置及存储介质 | |
CN104052677B (zh) | 单一数据源的软负载均衡方法和装置 | |
CN107065616A (zh) | 联动控制方法及装置、计算机可读存储介质 | |
CN103699533B (zh) | 获取web更新信息的方法和*** | |
CN116048825A (zh) | 容器集群构建方法及*** |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170329 |