CN103995807A - 一种基于Web架构下海量数据查询和二次处理的方法 - Google Patents
一种基于Web架构下海量数据查询和二次处理的方法 Download PDFInfo
- Publication number
- CN103995807A CN103995807A CN201310051253.7A CN201310051253A CN103995807A CN 103995807 A CN103995807 A CN 103995807A CN 201310051253 A CN201310051253 A CN 201310051253A CN 103995807 A CN103995807 A CN 103995807A
- Authority
- CN
- China
- Prior art keywords
- data
- query
- server
- buffer storage
- secondary treating
- 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.)
- Granted
Links
Classifications
-
- 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/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于Web架构下海量数据查询和二次处理的方法,该方法在整个业务处理流程中引入数据缓存中间服务器,作为从数据库中查询出的数据到前台展示的数据的中间缓存,同时提供了对查询数据进行二次处理的业务逻辑处理平台和一套完整的数据缓存机制。本发明通过一次查询解决基于同份结果数据集内进行的翻页、最前、最后数据的展示问题,切实减小在海量数据查询场景下,对数据库的多次同条件查询的压力,实现基于海量数据查询结果的二次处理,提高查询效率,较好的解决数据量、操作流畅性和成本间的问题。
Description
技术领域
本发明涉及数据库数据查询检索领域,尤其涉及一种基于Web架构下海量数据查询和二次处理的方法。
背景技术
随着信息时代的不断发展,需要在基于WEB端浏览器上呈现的数据量出现越来越大的趋势,从几年前的10条100条到现在的1000 条,甚至上万条记录需要给用户进行统一展示。同时由于客户使用体验要求的提高,越来越多的使用体验要求使用者能够在浏览器端能够对数据进行2次加工,以展示自己希望看到的数据,如:过滤特定数据 、选择特定数据、按照一个或多个字段,对数据进行排序、按照选择的字段,对某些数据属性的字段进行求和、求平均、最大最小值等操作。目前典型的业务使用场景,如:查询用户的短信清单,月数据量可能达到每人上千条,数据库中的清单数据达到100亿条,并且用户可能需要按照对方号码进行筛选;查询用户的上网信令清单,月数据量可能达到每人上万条,数据库中的清单记录数达到1000亿以上,并且需要按照数据流量进行排序和汇总。
现有的数据查询和处理技术主要通过JSP、JS的方法实现海量数据的展示,在前台进行数据分页展示,如果前台有数据处理的要求,如排序、筛选等,则通过Web服务器再次到数据库中进行查询后再处理,然后再展示处理结果的方式,如图1所示。这种查询和处理的方法存在以下缺点:
1、页面需要等待后台查询完成,经常会因为查询性能慢而引起黑屏等问题,引起客户操作体验差;
2、所有的基于浏览器的后续的业务操作,均需要到原始数据源如数据库或文件中进行再次查询,如果源数据库非常大,则对源数据库的压力将随着前台动作的增加持续增大,对业务成本和用户体验提出严重挑战。
发明内容
针对上述缺点,本发明提供一种基于Web架构下海量数据查询和二次处理的方法。该技术实现方案解决:
1、在海量数据的查询场景下,切实减少对数据库的多次同条件查询的压力,通过一次查询解决基于同份结果数据集内进行的翻页、最前、最后数据的展示问题;
2、对基于海量数据的查询结果的二次处理,如支持多字段多方向排序,多字段联合条件过滤,多指标字段的数据聚合计算、求和、求记录平均、求最大、最小等操作。
为达到上述目的,本发明采用如下技术方案:
一种基于Web架构下海量数据查询和二次处理的方法,在其整个业务处理流程中引入数据缓存中间服务器,缓存从数据库中查询到前台展示的数据,同时提供了对查询数据进行二次处理的业务逻辑处理平台和一套完整的数据缓存机制。
本发明的一种基于Web架构下海量数据查询和二次处理的方法,其查询流程包括以下步骤:
(1)、浏览器收到业务查询条件,向Web服务器提交查询请求;
(2)、Web服务器检测是否已经存在相同的业务逻辑查询:如存在,直接向数据缓存中间服务器提交业务查询,后者返回首页记录数据经Web服务器封装送浏览器展示;如不存在,通过独立进程缓存查询服务向数据库服务器提交业务查询,并将返回的查询数据缓存至数据缓存中间服务器,后者记录当前业务逻辑查询相关的状态;
(3)、浏览器通过刷新数据缓存中间服务器已经缓存的记录条数来确认数据查询的进度,直到所有业务数据缓存到数据缓存中间服务器,整个业务逻辑查询流程结束。
本发明的一种基于Web架构下海量数据查询和二次处理的方法,其二次处理流程包括以下步骤:
(1)、浏览器收到对查询业务结果集进行二次处理的条件,如要求进行指定字段排序、某些特定过滤条件、根据某些指标进行最大最小平均等计算等,向Web服务器提交查询请求;
(2)、Web服务器直接将二次处理的业务请求发至数据缓存中间服务器进行处理;
(3)、数据缓存中间服务器将处理结果返回Web服务器,由后者封装送浏览器展示;
(4)、浏览器收到翻页查询条件,向Web服务器提交查询请求;
(5)、Web服务器直接将二次处理的业务请求发至数据缓存中间服务器进行处理;
(6)、数据缓存中间服务器将处理结果返回Web服务器,由后者封装送浏览器展示,二次处理流程结束。
本发明的一种基于Web架构下海量数据查询和二次处理的方法,其数据缓存中间服务器可以独立部署若干个,进行负载均衡,动态分配资源,也可以通过集群部署来保证可用性。
本发明的一种基于Web架构下海量数据查询和二次处理的方法,其数据缓存中间服务器可以通过开源的内存数据库,也可以通过自行开发的基于key-value的内存管理模块来实现。
本发明的一种基于Web架构下海量数据查询和二次处理的方法,其缓存查询服务进程可以接受查询条件变化或者浏览器页面关闭触发的任务停止。
本发明的一种基于Web架构下海量数据查询和二次处理的方法,其缓存查询服务进程可以通过PC或刀片服务器实现。
本发明的一种基于Web架构下海量数据查询和二次处理的方法,其查询结果数据的导出可以直接从数据缓存中间服务器上读取并导出。
与现有技术相比,本发明的有益效果是:
1、实现一次查询多次使用,极大的减小海量数据查询和业务处理对数据库和Web服务器端的业务压力;
2、前端浏览器通过AJAX查询,Web服务器端接受查询任务,通过独立进程查询,数据缓存至中间数据层,Web服务器从数据库读取首页数据后立即返回前台进行展现,前台无需等待所有数据返回再展现,提高查询效率;
3、缓存查询服务进程可根据前台查询的条件进行动态处理,如查询条件相同,可直接从缓存当中读取数据,减少重新查询的系统开销,另外缓存查询服务进程还可以接受前台查询的条件变化或者页面关闭触发任务停止功能,减少中间数据缓存对资源的占用;
4、可以灵活的部署缓存方式,通过独立部署多个中间缓存单元,进行负载均衡,动态分配资源,也可以通过部署集群的方式来保证连续使用的安全性;
5、用户的页面操作体验增加, 通过中间数据缓存,在浏览器端可以对数据进行二次过滤、统计、汇总, 无需从数据库再次查询,从而提高了整个操作的流畅度和反应速度;
6、通过部署于低成本的PC或刀片服务器上的缓存查询服务进程,较好的解决数据量、操作流畅性和成本间的问题。
附图说明
图1是现有技术的关键业务服务部署图。
图2是本发明的查询和处理业务流程图。
具体实施方式
下面通过具体实施例结合附图对本发明作进一步说明。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示,假设某信息命令监控系统中存在海量数据(单日清单数据50亿以上),单个系统用户需查询的月清单记录数为8000条左右,用户查询清单的业务流程包括以下步骤:
(1)、浏览器收到业务查询条件,向Web服务器提交查询请求;
(2)、Web服务器检测是否已经存在相同的业务逻辑查询:如存在,直接向数据缓存中间服务器提交业务查询,后者返回首页记录数据经Web服务器封装送浏览器展示;如不存在,通过独立进程缓存查询服务向数据库服务器提交业务查询,并将返回的查询数据缓存至数据缓存中间服务器,后者记录当前业务逻辑查询相关的状态;
(3)、浏览器通过刷新数据缓存中间服务器已经缓存的记录条数来确认数据查询的进度,直到所有业务数据缓存到数据缓存中间服务器,整个业务逻辑查询流程结束。
用户根据清单进行的二次查询流程包括以下步骤:
(1)、浏览器收到对查询业务结果集进行二次处理的条件,如要求进行指定字段排序、某些特定过滤条件、根据某些指标进行最大最小平均等计算等,向Web服务器提交查询请求;
(2)、Web服务器直接将二次处理的业务请求发至数据缓存中间服务器进行处理;
(3)、数据缓存中间服务器将处理结果返回Web服务器,由后者封装送浏览器展示;
(4)、浏览器收到翻页查询条件,向Web服务器提交查询请求;
(5)、Web服务器直接将二次处理的业务请求发至数据缓存中间服务器进行处理;
(6)、数据缓存中间服务器将处理结果返回Web服务器,由后者封装送浏览器展示,二次处理流程结束。
依照本发明较佳实施例所述的中间数据缓存,可以通过开源的内存数据库,也可以通过自己开发的基于key-value的内存管理模块来实现。
依照本发明较佳实施例,通过部署于单个PC服务器的6个基于H2内存数据库的中间缓存集群,满足PS域信令的查询和管理功能,响应速度极速提高,初次查询可以10秒以内实现,翻页在1秒以内响应。
Claims (8)
1.一种基于Web架构下海量数据查询和二次处理的方法,其特征在于,在整个业务处理流程中引入数据缓存中间服务器,缓存从数据库中查询到前台展示的数据,同时提供了对查询数据进行二次处理的业务逻辑处理平台和一套完整的数据缓存机制。
2.根据权利要求1所述的一种基于Web架构下海量数据查询和二次处理的方法,其特征在于,所述查询流程包括以下步骤:
(1)、浏览器收到业务查询条件,向Web服务器提交查询请求;
(2)、Web服务器检测是否已经存在相同的业务逻辑查询:如存在,直接向数据缓存中间服务器提交业务查询,后者返回首页记录数据经Web服务器封装送浏览器展示;如不存在,通过独立进程缓存查询服务向数据库服务器提交业务查询,并将返回的查询数据缓存至数据缓存中间服务器,后者记录当前业务逻辑查询相关的状态;
(3)、浏览器通过刷新数据缓存中间服务器已经缓存的记录条数来确认数据查询的进度,直到所有业务数据缓存到数据缓存中间服务器,整个业务逻辑查询流程结束。
3.根据权利要求1所述的一种基于Web架构下海量数据查询和二次处理的方法,其特征在于,所述二次处理流程包括以下步骤:
(1)、浏览器收到对查询业务结果集进行二次处理的条件,如要求进行指定字段排序、某些特定过滤条件、根据某些指标进行最大最小平均等计算等,向Web服务器提交查询请求;
(2)、Web服务器直接将二次处理的业务请求发至数据缓存中间服务器进行处理;
(3)、数据缓存中间服务器将处理结果返回Web服务器,由后者封装送浏览器展示;
(4)、浏览器收到翻页查询条件,向Web服务器提交查询请求;
(5)、Web服务器直接将二次处理的业务请求发至数据缓存中间服务器进行处理;
(6)、数据缓存中间服务器将处理结果返回Web服务器,由后者封装送浏览器展示,二次处理流程结束。
4.根据权利要求1所述的一种基于Web架构下海量数据查询和二次处理的方法,其特征在于,所述数据缓存中间服务器可以独立部署若干个,进行负载均衡,动态分配资源,也可以通过集群部署来保证可用性。
5.根据权利要求1所述的一种基于Web架构下海量数据查询和二次处理的方法,其特征在于,所述数据缓存中间服务器可以通过开源的内存数据库,也可以通过自行开发的基于key-value的内存管理模块来实现。
6.根据权利要求1所述的一种基于Web架构下海量数据查询和二次处理的方法,其特征在于,所缓存查询服务进程可以接受查询条件变化或者浏览器页面关闭触发任务停止功能。
7.根据权利要求1所述的一种基于Web架构下海量数据查询和二次处理的方法,其特征在于,所缓存查询服务可以通过PC或刀片服务器实现。
8.根据权利要求1所述的一种基于Web架构下海量数据查询和二次处理的方法,其特征在于,其查询结果数据的导出可以直接从数据缓存中间服务器上读取并导出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310051253.7A CN103995807B (zh) | 2013-02-16 | 2013-02-16 | 一种基于Web架构下海量数据查询和二次处理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310051253.7A CN103995807B (zh) | 2013-02-16 | 2013-02-16 | 一种基于Web架构下海量数据查询和二次处理的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103995807A true CN103995807A (zh) | 2014-08-20 |
CN103995807B CN103995807B (zh) | 2018-01-16 |
Family
ID=51309976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310051253.7A Active CN103995807B (zh) | 2013-02-16 | 2013-02-16 | 一种基于Web架构下海量数据查询和二次处理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103995807B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426433A (zh) * | 2015-11-02 | 2016-03-23 | 广州华多网络科技有限公司 | 排行榜数据响应方法、请求方法及排行榜数据展示系统 |
CN106202080A (zh) * | 2015-04-30 | 2016-12-07 | 中国移动通信集团公司 | 一种网页渲染方法、服务器及终端设备 |
CN107317855A (zh) * | 2017-06-21 | 2017-11-03 | 努比亚技术有限公司 | 一种数据缓存方法、数据请求方法及服务器 |
CN107368583A (zh) * | 2017-07-21 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种多集群信息查询的方法及系统 |
CN107798111A (zh) * | 2017-11-01 | 2018-03-13 | 四川长虹电器股份有限公司 | 一种分布式环境中大批量导出数据的方法 |
CN108153874A (zh) * | 2017-12-26 | 2018-06-12 | 福建星瑞格软件有限公司 | 一种大数据高耗时查询结果集的快速分页方法 |
CN108200196A (zh) * | 2018-01-31 | 2018-06-22 | 杭州优工品科技有限公司 | 基于分布式架构的数据储存、查询方法及系统 |
CN109033126A (zh) * | 2018-05-31 | 2018-12-18 | 广东电网有限责任公司 | 基于实时pi数据库的电网海量遥测数据查询应用方法 |
CN111488370A (zh) * | 2020-04-02 | 2020-08-04 | 杭州迪普科技股份有限公司 | 列表分页快速响应系统和方法 |
CN113064921A (zh) * | 2021-03-09 | 2021-07-02 | 上海金融期货信息技术有限公司 | 一种前后台大容量业务数据查询方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122285A (zh) * | 2010-01-11 | 2011-07-13 | 卓望数码技术(深圳)有限公司 | 一种数据缓存系统和数据查询方法 |
-
2013
- 2013-02-16 CN CN201310051253.7A patent/CN103995807B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122285A (zh) * | 2010-01-11 | 2011-07-13 | 卓望数码技术(深圳)有限公司 | 一种数据缓存系统和数据查询方法 |
Non-Patent Citations (3)
Title |
---|
祁国威: "Web应用中分布式数据库系统缓存技术研究", 《万方数据知识服务平台》 * |
董一华: "基于ASP.NET缓存与分页策略优化Web数据查询性能", 《计算机时代》 * |
赵科平: "对等网络中的复杂查询支持", 《万方数据知识服务平台》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202080A (zh) * | 2015-04-30 | 2016-12-07 | 中国移动通信集团公司 | 一种网页渲染方法、服务器及终端设备 |
CN105426433A (zh) * | 2015-11-02 | 2016-03-23 | 广州华多网络科技有限公司 | 排行榜数据响应方法、请求方法及排行榜数据展示系统 |
CN107317855A (zh) * | 2017-06-21 | 2017-11-03 | 努比亚技术有限公司 | 一种数据缓存方法、数据请求方法及服务器 |
CN107368583A (zh) * | 2017-07-21 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种多集群信息查询的方法及系统 |
CN107798111A (zh) * | 2017-11-01 | 2018-03-13 | 四川长虹电器股份有限公司 | 一种分布式环境中大批量导出数据的方法 |
CN108153874A (zh) * | 2017-12-26 | 2018-06-12 | 福建星瑞格软件有限公司 | 一种大数据高耗时查询结果集的快速分页方法 |
CN108200196A (zh) * | 2018-01-31 | 2018-06-22 | 杭州优工品科技有限公司 | 基于分布式架构的数据储存、查询方法及系统 |
CN108200196B (zh) * | 2018-01-31 | 2020-12-04 | 杭州优工品科技有限公司 | 基于分布式架构的数据储存、查询方法及系统 |
CN109033126A (zh) * | 2018-05-31 | 2018-12-18 | 广东电网有限责任公司 | 基于实时pi数据库的电网海量遥测数据查询应用方法 |
CN111488370A (zh) * | 2020-04-02 | 2020-08-04 | 杭州迪普科技股份有限公司 | 列表分页快速响应系统和方法 |
CN111488370B (zh) * | 2020-04-02 | 2023-09-12 | 杭州迪普科技股份有限公司 | 列表分页快速响应系统和方法 |
CN113064921A (zh) * | 2021-03-09 | 2021-07-02 | 上海金融期货信息技术有限公司 | 一种前后台大容量业务数据查询方法 |
CN113064921B (zh) * | 2021-03-09 | 2023-09-29 | 上海金融期货信息技术有限公司 | 一种前后台大容量业务数据查询方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103995807B (zh) | 2018-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103995807A (zh) | 一种基于Web架构下海量数据查询和二次处理的方法 | |
CN106933724B (zh) | 一种分布式信息追踪系统、信息处理方法及装置 | |
Padgavankar et al. | Big data storage and challenges | |
CN109189782A (zh) | 一种区块链商品交易查询中的索引方法 | |
CN106095796A (zh) | 分布式数据存储方法、装置及系统 | |
US10540386B2 (en) | Method for processing and displaying real-time social data on map | |
CN110175152A (zh) | 一种日志查询方法、中转服务器集群及日志查询系统 | |
DE202014010885U1 (de) | Beschleunigung basierend auf zwischengespeicherte Flüsse | |
CN106055546A (zh) | 基于Lucene的光盘库全文检索系统 | |
CN107609172B (zh) | 一种跨系统多维度数据检索处理方法及装置 | |
CN111026709A (zh) | 基于集群访问的数据处理方法及装置 | |
CN105447146A (zh) | 一种海量数据的收集与交换系统及方法 | |
CN106326317A (zh) | 数据处理方法及装置 | |
CN106250405A (zh) | 一种海量信息处理系统 | |
CN104484367A (zh) | 一种数据挖掘分析系统 | |
CN106250406A (zh) | 一种日志处理方法 | |
CN106227797A (zh) | 一种海量日志信息的处理方法 | |
KR101600275B1 (ko) | 실시간 빅 데이터 이벤트 처리 시스템 | |
CN109828968B (zh) | 一种数据去重处理方法、装置、设备、集群及存储介质 | |
CN113360313A (zh) | 一种基于海量系统日志的行为分析方法 | |
CN113377771A (zh) | 一种数据探索方法、系统、设备及存储介质 | |
CN106230618A (zh) | 一种系统日志集中处理系统 | |
Xiaobing et al. | An insight into traffic safety management system platform based on cloud computing | |
KR101865317B1 (ko) | 데이터 분산처리 시스템을 위한 빅 데이터의 전처리 장치 및 방법 | |
CN104951869A (zh) | 一种基于工作流的舆情监控方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 410205 Hunan Changsha high tech Development Zone Lugu road 658 Lugu Information Port 10001 10-12 tier Patentee after: Changsha Hao whale cloud Software Co., Ltd. Address before: 410205 Hunan Changsha high tech Development Zone Lugu road 658 Lugu Information Port 10001 10-12 tier Patentee before: Changsha Zhong Xingruanchuan softcom limited |
|
CP01 | Change in the name or title of a patent holder |