CN103793485A - 客户端基于缓存数据实现查询网络数据的方法 - Google Patents
客户端基于缓存数据实现查询网络数据的方法 Download PDFInfo
- Publication number
- CN103793485A CN103793485A CN201410023958.2A CN201410023958A CN103793485A CN 103793485 A CN103793485 A CN 103793485A CN 201410023958 A CN201410023958 A CN 201410023958A CN 103793485 A CN103793485 A CN 103793485A
- Authority
- CN
- China
- Prior art keywords
- data
- balanced device
- cache
- middleware
- client
- 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
Images
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/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
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)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种客户端基于缓存数据实现查询网络数据的方法,先配置一数据库、中间件、一均衡器及一缓存器,所述缓存器包括一数据缓存和一交换缓存;所述方法包括加载缓存数据步骤、上报数据更新步骤、更新缓存数据步骤及数据校验步骤等。本发明的有益效果在于:降低系统频繁访问远程数据的需要,保障本地内存数据与远程数据的一致性,使互联网数据检索,如同本机数据库检索一样快速,而不会受网络速度的不稳定性制约;无须额外部署多余的节点代理服务器,避免了不断增加服务器代理节点的成本投入。
Description
技术领域
本发明具体涉及一种客户端基于缓存数据实现查询网络数据的方法。
背景技术
随着计算机网络技术的成熟和应用普及,越来越多的用户和企业开始使用计算机管理一些事务。PC机的资源没有大型、中型甚至小型主机丰富,但将多台PC机联成网,必然会增加资源含量,各个用户都在网络上来共享所有资源。根据客户/服务器(Client/Server简记为C/S)体系结构的概念,至少用两台计算机来分别充当客户机和服务器角色。
进入了分布式样计算的时代后,C/S架构的系统面对B/S运用程序,面临着重大的挑战,虽然在瘦客户端、易维护等方面B/S更具优势,但是很多分布式运用,需要C/S的架构软件才能满足。其次,由于C/S在网络数据库交互中,只需要数据交互,不需要传输网页界面、布局、交互脚本等内容,在速度上往往比B/S系统更快速。但是,随着B/S系统缓存技术运用以后,这个明显的优势被不断的拉进。为了提升C/S的分布式运用效率,B/S与C/S混合(即WebService+Client)日益成为了一种主流架构之一。
在现有的C/S集中分布式管理系统中(如OA、CRM等),用户在客户端的每次查询操作,都需要客户端通过中间件(Webservice、RMI等)从数据库中读取数据,回传到客户端。客户针对一个或多个事务流程的查询,将进行多次的同样操作,如果在用户数高并发的情形下,这样的查询将会更加频繁,将会造成客户端数据显示的延迟加载。
其次,越来越多的分布式运用,并不仅仅是在局域网内运用,很多的运用都通过了广域网(Internet)进行集中式的管理。例如一些网络运用软件、集团跨区域管理系统等。Internet速率的不稳定性和其他网络因素很容易造成数据传输的延迟、丢包、粘包、断网等异常,造成客户端数据显示延迟加载或响应异常。现有技术中也出现了采用增加服务器代理节点的方式来解决上面的问题,但是所造成的结果是信息化建设成本的不断增高,维护难度加大。
发明内容
本发明所要解决的技术问题在于提供一种客户端基于缓存数据实现查询网络数据的方法,使互联网数据检索,如同本机数据库检索一样快速。
本发明是通过以下技术方案解决上述技术问题的:
本发明的有益效果在于:一种客户端基于缓存数据实现查询网络数据的方法,先配置一数据库、中间件、一均衡器以及一缓存器,所述缓存器包括一数据缓存和一交换缓存;所述方法包括加载缓存数据步骤,具体为:
步骤1:所述均衡器向中间件发出缓存数据请求,中间件从数据库获取数据并发送给均衡器;
步骤2:均衡器将所述数据写入客户端的虚拟缓存,同时识别其中的常用数据,并将常用数据写入所述数据缓存;
步骤3:客户端的运用程序向均衡器发出查询数据请求,均衡器判断所查询数据是否为常用数据,若是,则从所述数据缓存中读取并输出读取结果给所述运用程序;若否,则从所述虚拟缓存中查询并输出查询结果给所述运用程序。
进一步地,还包括上报数据更新步骤,具体为:
步骤4:所述运用程序向均衡器发送数据更新请求,均衡器再将所述请求发送到中间件;
步骤5:中间件对数据库中的相应数据进行更新操作,并把操作结果返回均衡器,同时把数据库中已更新数据的更新日志广播给其他客户端;
步骤6:均衡器判断被更新的数据是否为常用数据,若是,则分别修改所述数据缓存和虚拟缓存中的相应数据,并把操作结果返回给运用程序;若否,则直接更新所述虚拟缓存的相应数据,并把操作结果返回给运用程序。
进一步地,还包括更新缓存数据步骤,具体为:
步骤7:当中间件广播更新日志时,均衡器接收更新日志,并逐条写入所述交换缓存;
步骤8:均衡器逐一判断所述更新日志是否为常用数据,若是,则均衡器将交换缓存中的更新日志异步写入所述数据缓存,对数据缓存中的相应数据进行更新;若否,则均衡器将交换缓存中的更新日志异步写入所述虚拟缓存,对所述虚拟缓存中的相应数据进行更新。
进一步地,还包括缓存数据校验步骤,具体为:
步骤9:当客户端的运用程序再次启动时,均衡器向中间件发出验证数据请求,该请求中包含了上次更新日志的版本信息;
步骤10:中间件根据所述版本信息查询数据库,判断是否有新版本日志,若是,则将所有新版本日志发送给均衡器,并执行步骤11;若否,则结束流程;
步骤11:均衡器将新版本日志逐条放入交换缓存,然后异步将交换缓存中的新版本日志写入所述虚拟缓存,并将其中的常用数据从所述虚拟缓存读入数据缓存。
降低系统频繁访问远程数据的需要,保障本地内存数据与远程数据的一致性,使互联网数据检索,如同本机数据库检索一样快速,而不会受网络速度的不稳定性制约;无须额外部署多余的节点代理服务器,避免了不断增加服务器代理节点的成本投入。
附图说明
下面参照附图结合实施例对本发明作进一步的描述。
图1为本发明中客户端加载缓存数据的流程图。
图2为本发明中运用程序查询缓存数据的流程图。
图3为本发明中运用程序上报数据更新的流程图。
图4为本发明中客户端更新缓存数据的流程图。
图5为本发明中客户端缓存数据效验的流程图。
具体实施方式
一种客户端基于缓存数据实现查询网络数据的方法,先配置一数据库、中间件、一均衡器、一缓存器,所述缓存器包括一数据缓存和一交换缓存;所述均衡器和缓存器均位于客户端上,所述数据库位于服务器上。
所述数据缓存用于缓存常用数据。
所述交换缓存用于存储接收到的更新消息广播,并将广播逐一写入本地虚拟缓存。数据内容采用JSON格式存储,以Ley-Value方式缓存。
均衡器:
负责调配数据缓存、交换缓存、数据请求和输出等事件处理。均衡器能够在初始化的时候,通过向中间件获取数据,将常用数据存储所述数据缓存,同时加密写入客户端的虚拟缓存中。
均衡器负责对运用程序发出的数据查询请求,在数据缓存或本地虚拟缓存中检索,并输出给运用程序。
负责实时接收中间件广播出来的数据更新消息,并将消息加入交换缓存中。
在每次运用程序启动前,与中间件进行缓存数据的比对,对有更新变化的数据,请求中间件获取并将数据加入交换缓存;异步将交换缓存中的数据写入所述虚拟缓存。
所述客户端基于缓存数据实现查询网络数据的方法包括加载缓存数据步骤、上报数据更新步骤、更新缓存数据步骤及数据校验步骤等。
请参阅图1和图2,所述加载缓存数据步骤具体为:
步骤1:所述均衡器向中间件发出缓存数据请求,中间件从数据库获取数据并发送给均衡器;
步骤2:均衡器将所述数据写入客户端的虚拟缓存,同时识别其中的常用数据,并将常用数据写入所述数据缓存;所述常用数据是指在一预设周期内达到预设查询次数以上的数据。
步骤3:客户端的运用程序向均衡器发出查询数据请求,均衡器判断所查询数据是否为常用数据,若是,则从所述数据缓存中读取并输出读取结果给所述运用程序;若否,则从所述虚拟缓存中查询并输出查询结果给所述运用程序。即此时客户端查询数据只需从本机的所述数据缓存或虚拟缓存中查询即可,不需再通过网络查询远端的数据库。
运用程序仅在首次运行时进行数据的加载,完成加载后,数据的查询将不再依赖远程网络数据,完全实现本地数据高速查询。
请参阅图3,所述上报数据更新步骤具体为:
步骤4:所述运用程序向均衡器发送数据更新请求,均衡器再将所述请求发送到中间件;
步骤5:中间件对数据库中的相应数据进行更新操作,并把操作结果返回均衡器,同时把数据库中已更新数据的更新日志广播给其他客户端;
步骤6:均衡器判断被更新的数据是否为常用数据,若是,则分别修改所述数据缓存和虚拟缓存中的相应数据,并把操作结果返回给运用程序;若否,则直接更新所述虚拟缓存的相应数据,并把操作结果返回给运用程序。
请参阅图4,均衡器保持与服务器上的数据库之间的通讯调度,能够及时发现远程服务器中最新的文件更新广播,保障本地内存数据与远程数据的一致性。所述更新缓存数据步骤具体为:
步骤7:当中间件广播更新日志时,均衡器接收更新日志,并逐条写入所述交换缓存;
步骤8:均衡器逐一判断所述更新日志是否为常用数据,若是,则均衡器将交换缓存中的更新日志异步写入所述数据缓存,对数据缓存中的相应数据进行更新;若否,则均衡器清除交换缓存中的旧日志,同时将交换缓存中的更新日志异步写入所述虚拟缓存,对所述虚拟缓存中的相应数据进行更新。
所述缓存数据校验步骤具体为:
步骤9:当客户端的运用程序再次启动时,均衡器向中间件发出验证数据请求,该请求中包含了上次更新日志的版本信息;
步骤10:中间件根据所述版本信息查询数据库,判断是否有新版本日志,若是,则将所有新版本日志发送给均衡器,并执行步骤11;若否,则结束流程;
步骤11:均衡器将新版本日志逐条放入交换缓存,然后异步将交换缓存中的新版本日志写入所述虚拟缓存,并将其中的常用数据从所述虚拟缓存读入数据缓存。
Claims (4)
1.一种客户端基于缓存数据实现查询网络数据的方法,其特征在于:先配置一数据库、中间件、一均衡器以及一缓存器,所述缓存器包括一数据缓存和一交换缓存;所述方法包括加载缓存数据步骤,具体为:
步骤1:所述均衡器向中间件发出缓存数据请求,中间件从数据库获取数据并发送给均衡器;
步骤2:均衡器将所述数据写入客户端的虚拟缓存,同时识别其中的常用数据,并将常用数据写入所述数据缓存;
步骤3:客户端的运用程序向均衡器发出查询数据请求,均衡器判断所查询数据是否为常用数据,若是,则从所述数据缓存中读取并输出读取结果给所述运用程序;若否,则从所述虚拟缓存中查询并输出查询结果给所述运用程序。
2.如权利要求1所述的客户端基于缓存数据实现查询网络数据的方法,其特征在于:还包括上报数据更新步骤,具体为:
步骤4:所述运用程序向均衡器发送数据更新请求,均衡器再将所述请求发送到中间件;
步骤5:中间件对数据库中的相应数据进行更新操作,并把操作结果返回均衡器,同时把数据库中已更新数据的更新日志广播给其他客户端;
步骤6:均衡器判断被更新的数据是否为常用数据,若是,则分别修改所述数据缓存和虚拟缓存中的相应数据,并把操作结果返回给运用程序;若否,则直接更新所述虚拟缓存的相应数据,并把操作结果返回给运用程序。
3.如权利要求2所述的客户端基于缓存数据实现查询网络数据的方法,其特征在于:还包括更新缓存数据步骤,具体为:
步骤7:当中间件广播更新日志时,均衡器接收更新日志,并逐条写入所述交换缓存;
步骤8:均衡器逐一判断所述更新日志是否为常用数据,若是,则均衡器将交换缓存中的更新日志异步写入所述数据缓存,对数据缓存中的相应数据进行更新;若否,则均衡器将交换缓存中的更新日志异步写入所述虚拟缓存,对所述虚拟缓存中的相应数据进行更新。
4.如权利要求1所述的客户端基于缓存数据实现查询网络数据的方法,其特征在于:还包括缓存数据校验步骤,具体为:
步骤9:当客户端的运用程序再次启动时,均衡器向中间件发出验证数据请求,该请求中包含了上次更新日志的版本信息;
步骤10:中间件根据所述版本信息查询数据库,判断是否有新版本日志,若是,则将所有新版本日志发送给均衡器,并执行步骤11;若否,则结束流程;
步骤11:均衡器将新版本日志逐条放入交换缓存,然后异步将交换缓存中的新版本日志写入所述虚拟缓存,并将其中的常用数据从所述虚拟缓存读入数据缓存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410023958.2A CN103793485B (zh) | 2014-01-20 | 2014-01-20 | 客户端基于缓存数据实现查询网络数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410023958.2A CN103793485B (zh) | 2014-01-20 | 2014-01-20 | 客户端基于缓存数据实现查询网络数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103793485A true CN103793485A (zh) | 2014-05-14 |
CN103793485B CN103793485B (zh) | 2017-07-11 |
Family
ID=50669151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410023958.2A Expired - Fee Related CN103793485B (zh) | 2014-01-20 | 2014-01-20 | 客户端基于缓存数据实现查询网络数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103793485B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104702616A (zh) * | 2015-03-20 | 2015-06-10 | 浪潮集团有限公司 | 一种cs架构监测数据保存及传输实现方法 |
CN105447043A (zh) * | 2014-09-01 | 2016-03-30 | 光宝科技股份有限公司 | 数据库及其数据访问方法 |
CN106156180A (zh) * | 2015-04-20 | 2016-11-23 | 苏宁云商集团股份有限公司 | 异步计算和预处理数据的方法及系统 |
CN107423999A (zh) * | 2017-03-31 | 2017-12-01 | 优品财富管理股份有限公司 | 一种基于用户分组的定向下发广告方法及系统 |
CN108073592A (zh) * | 2016-11-10 | 2018-05-25 | 惠州市康冠科技有限公司 | 判断序列号是否重复的方法及电视机序列号的写入方法 |
CN108170798A (zh) * | 2017-12-28 | 2018-06-15 | 武汉楚鼎信息技术有限公司 | 一种数据缓存下发方法及系统装置 |
CN108664579A (zh) * | 2018-05-03 | 2018-10-16 | 杭州美登科技股份有限公司 | 海量数据实时筛选分析方法、系统及存储介质 |
CN109408224A (zh) * | 2018-09-17 | 2019-03-01 | 华为技术有限公司 | 数据同步方法、分布式系统与应用节点 |
CN109684358A (zh) * | 2017-10-18 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 数据查询的方法和装置 |
CN110297673A (zh) * | 2019-06-20 | 2019-10-01 | 福建天泉教育科技有限公司 | 内存数据优化加载的方法、存储介质 |
CN110362358A (zh) * | 2019-06-24 | 2019-10-22 | 京东数字科技控股有限公司 | 配置数据的管理方法和系统 |
CN112347114A (zh) * | 2020-10-29 | 2021-02-09 | 有半岛(北京)信息科技有限公司 | 一种数据查询系统以及数据查询方法、装置和服务器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100451211B1 (ko) * | 2002-10-31 | 2004-10-13 | 엘지전자 주식회사 | 이동 컴퓨팅 환경에서 트랜잭션 캐시 일관성 유지 시스템및 방법 |
CN100383792C (zh) * | 2006-04-04 | 2008-04-23 | 浙江大学 | 缓存数据库数据组织方法 |
CN101533410B (zh) * | 2009-04-13 | 2010-12-01 | 浙江大学 | 面向移动终端的widget内容缓存方法 |
CN103177005B (zh) * | 2011-12-21 | 2016-08-03 | 深圳市腾讯计算机系统有限公司 | 一种数据访问的处理方法和系统 |
-
2014
- 2014-01-20 CN CN201410023958.2A patent/CN103793485B/zh not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
程远: "智能客户端数据缓存和数据同步关键技术研究", 《产业与科技论坛》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447043B (zh) * | 2014-09-01 | 2018-09-11 | 光宝科技股份有限公司 | 数据库及其数据访问方法 |
CN105447043A (zh) * | 2014-09-01 | 2016-03-30 | 光宝科技股份有限公司 | 数据库及其数据访问方法 |
CN104702616A (zh) * | 2015-03-20 | 2015-06-10 | 浪潮集团有限公司 | 一种cs架构监测数据保存及传输实现方法 |
CN106156180A (zh) * | 2015-04-20 | 2016-11-23 | 苏宁云商集团股份有限公司 | 异步计算和预处理数据的方法及系统 |
CN108073592A (zh) * | 2016-11-10 | 2018-05-25 | 惠州市康冠科技有限公司 | 判断序列号是否重复的方法及电视机序列号的写入方法 |
CN107423999A (zh) * | 2017-03-31 | 2017-12-01 | 优品财富管理股份有限公司 | 一种基于用户分组的定向下发广告方法及系统 |
CN109684358A (zh) * | 2017-10-18 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 数据查询的方法和装置 |
CN109684358B (zh) * | 2017-10-18 | 2021-11-09 | 北京京东尚科信息技术有限公司 | 数据查询的方法和装置 |
CN108170798A (zh) * | 2017-12-28 | 2018-06-15 | 武汉楚鼎信息技术有限公司 | 一种数据缓存下发方法及系统装置 |
CN108664579A (zh) * | 2018-05-03 | 2018-10-16 | 杭州美登科技股份有限公司 | 海量数据实时筛选分析方法、系统及存储介质 |
CN109408224A (zh) * | 2018-09-17 | 2019-03-01 | 华为技术有限公司 | 数据同步方法、分布式系统与应用节点 |
CN110297673A (zh) * | 2019-06-20 | 2019-10-01 | 福建天泉教育科技有限公司 | 内存数据优化加载的方法、存储介质 |
CN110362358A (zh) * | 2019-06-24 | 2019-10-22 | 京东数字科技控股有限公司 | 配置数据的管理方法和系统 |
CN112347114A (zh) * | 2020-10-29 | 2021-02-09 | 有半岛(北京)信息科技有限公司 | 一种数据查询系统以及数据查询方法、装置和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN103793485B (zh) | 2017-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103793485A (zh) | 客户端基于缓存数据实现查询网络数据的方法 | |
CN107590001B (zh) | 负载均衡方法及装置、存储介质、电子设备 | |
CA2902955C (en) | Database system providing single-tenant and multi-tenant environments | |
CN103078759B (zh) | 计算节点的管理方法及装置、系统 | |
Essa et al. | Mobile agent based new framework for improving big data analysis | |
CN103209223A (zh) | 分布式应用会话信息共享方法、系统和应用服务器 | |
CN101808051B (zh) | 应用整合网关及其控制方法 | |
CN112199427A (zh) | 一种数据处理方法和系统 | |
CN106713391A (zh) | 一种session信息的共享方法和共享系统 | |
CN106293847B (zh) | 一种虚拟化平台服务支撑的方法 | |
Hsu et al. | Causal consistency algorithms for partially replicated and fully replicated systems | |
CN113760901A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN104468299A (zh) | 基于用户规则的企业服务总线系统 | |
CN107070709A (zh) | 一种基于底层numa感知的nfv实现方法 | |
CN112685499A (zh) | 一种工作业务流的流程数据同步方法、装置及设备 | |
CN103678488B (zh) | 分布式大批量动态任务引擎及采用其处理数据的方法 | |
WO2018188607A1 (zh) | 流处理方法及装置 | |
CN116800616B (zh) | 虚拟化网络设备的管理方法及相关装置 | |
US20150212834A1 (en) | Interoperation method of newtork device performed by computing device including cloud operating system in could environment | |
CN112905676A (zh) | 一种数据文件的导入方法及装置 | |
US20200293386A1 (en) | Messaging abstraction layer for integration with message oriented middleware platforms | |
CN109246035A (zh) | 一种数据传输管理的方法及装置 | |
Reaño et al. | Tuning remote GPU virtualization for InfiniBand networks | |
CN107566509A (zh) | 一种可承载大批量终端的信息发布系统 | |
CN108696550A (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 | ||
CP02 | Change in the address of a patent holder |
Address after: 350108 6, No. 1 Innovation Park, No. 3 east science and technology road, Minhou street, Minhou, Fuzhou. Patentee after: RETURNSTAR INTERACTIVE TECHNOLOGY GROUP Co.,Ltd. Address before: 350000 Building 8, Gulou garden, Citrus Industrial Park, 618 Jinshan Road, Jianxin Town, Cangshan District, Fuzhou, Fujian, China Patentee before: RETURNSTAR INTERACTIVE TECHNOLOGY GROUP Co.,Ltd. |
|
CP02 | Change in the address of a patent holder | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170711 Termination date: 20220120 |
|
CF01 | Termination of patent right due to non-payment of annual fee |