CN104461929B - 基于拦截器的分布式数据缓存方法 - Google Patents
基于拦截器的分布式数据缓存方法 Download PDFInfo
- Publication number
- CN104461929B CN104461929B CN201310434200.3A CN201310434200A CN104461929B CN 104461929 B CN104461929 B CN 104461929B CN 201310434200 A CN201310434200 A CN 201310434200A CN 104461929 B CN104461929 B CN 104461929B
- Authority
- CN
- China
- Prior art keywords
- caching
- processing procedure
- blocker
- data
- master data
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提出了基于拦截器的分布式数据缓存方法。其中,所述方法包括:在进入主数据处理过程之前缓存客户端执行拦截操作,以获得主数据处理过程标识以及相关参数;所述缓存客户端根据所述主数据处理过程标识和相关参数并基于配置文件执行缓存操作。本发明所公开的基于拦截器的分布式数据缓存方法能够简化数据缓存处理过程、可动态调整缓存空间大小以及可实时更新集合数据。
Description
技术领域
本发明涉及数据缓存方法,更具体地,涉及基于拦截器的分布式数据缓存方法。
背景技术
目前,随着计算机和网络应用的日益广泛以及不同领域的业务种类的日益丰富,在数据处理过程中进行特定数据的缓存变得越来越重要。
在现有的技术方案中,通常将用于缓存数据的逻辑代码与业务处理逻辑代码混杂在一起,即每处需要缓存数据的地方均需要重复编写数据缓存处理逻辑代码。
由上可见,现有的技术方案存在如下问题:由于需要重复进行数据缓存处理逻辑的编码,故缓存逻辑代码的维护成本较高并且易于出错,此外,由于通常将缓存数据存放在应用所驻留的主机的内存中,故受应用所驻留的主机内存大小的限制而难于根据实际需要对用于缓存数据的内存空间进行扩展,此外,由于将集合数据(即多个数据的集合)作为一个整体进行缓存,故无法对单个缓存对象(即数据集合中的单个数据)进行实时性的更新。
因此,存在如下需求:提供能够简化数据缓存处理过程、可动态调整缓存空间大小以及可实时更新集合数据的基于拦截器的分布式数据缓存方法。
发明内容
为了解决上述现有技术方案所存在的问题,本发明提出了能够简化数据缓存处理过程、可动态调整缓存空间大小以及可实时更新集合数据的基于拦截器的分布式数据缓存方法。
本发明的目的是通过以下技术方案实现的:
一种基于拦截器的分布式数据缓存方法,所述基于拦截器的分布式数据缓存方法包括下列步骤:
(A1)在进入主数据处理过程之前缓存客户端执行拦截操作,以获得主数据处理过程标识以及相关参数;
(A2)所述缓存客户端根据所述主数据处理过程标识和相关参数并基于配置文件执行缓存操作。
在上面所公开的方案中,优选地,所述缓存操作包括:
(1)确定是否存在配置文件,并且如果存在配置文件则进入步骤(1),否则继续执行主数据处理过程;
(2)确定配置文件中的配置信息的类型,如果配置信息的类型是“写入”,则继续执行主数据处理过程,并将所述主数据处理过程的返回值传送到缓存服务器以新增或更新相应的缓存数据,如果配置信息的类型是“读取”,则进入步骤(3);
(3)确定在缓存服务器中是否存在相应的缓存数据,如果存在相应的缓存数据,则从所述缓存服务器中读取所述缓存数据并将读取出的缓存数据返回给所述主数据处理过程的调用者,以及不再执行主数据处理过程,如果不存在相应的缓存数据,则继续执行主数据处理过程并将所述主数据处理过程的返回值传送到缓存服务器以进行存储。
在上面所公开的方案中,优选地,所述缓存操作的步骤(3)进一步包括:在不存在相应的缓存数据的情况下,根据所述主数据处理过程的返回值以预定的规则生成与其相关联的键值,并基于所生成的键值将所述主数据处理过程的返回值存储到所述缓存服务器中。
在上面所公开的方案中,优选地,所述缓存操作的步骤(3)进一步包括:在所述主数据处理过程的返回值是集合对象的情况下,所述缓存服务器以如下方式存储所述集合对象:(1)将集合对象中的所有对象的键值作为索引存储;(2)拆分出每个对象并将每个对象分别存储。
在上面所公开的方案中,优选地,以如下方式查询已被缓存的集合对象:(1)从所述缓存服务器中读取出相应的集合对象的索引;(2)根据读取出的索引读取出与其相关联的所有对象,并将读取出的所有对象作为整体返回给调用者。
在上面所公开的方案中,优选地,以如下方式更新缓存的集合对象中的单个对象:(1)基于已更新的源数据生成键值;(2)将所生成的键值作为索引并更新与该索引相关联的缓存数据。
在上面所公开的方案中,优选地,以如下方式删除缓存的集合对象中的单个对象:(1)基于已删除的源数据生成键值;(2)将所生成的键值作为索引并删除与该索引相关联的缓存数据。
在上面所公开的方案中,优选地,以如下方式在缓存的集合对象中新增单个对象:(1)基于已新增的源数据生成键值;(2)基于所生成的键值将相应的新增的单个对象存储到所述缓存服务器中。
在上面所公开的方案中,优选地,一个缓存客户端能够与多个缓存服务器相连接,并且每个缓存服务器能够同时与多个缓存客户端相连接。
在上面所公开的方案中,优选地,各个缓存客户端的配置文件中的配置信息能够被同步更新。
在上面所公开的方案中,优选地,所述配置文件是注解形式的或XML文件形式的。
本发明所公开的基于拦截器的分布式数据缓存方法具有以下优点:(1)由于用于缓存数据的逻辑代码与业务处理逻辑代码分开处理,故能够简化数据缓存处理过程;(2)由于采用了分布式缓存技术(即缓存客户端和缓存服务器之间的多对多关系),故可动态地调整缓存空间大小;(3)由于集合对象中的各个对象被彼此独立地缓存,故可以实时更新集合对象中的单个对象。
附图说明
结合附图,本发明的技术特征以及优点将会被本领域技术人员更好地理解,其中:
图1是根据本发明的实施例的基于拦截器的分布式数据缓存方法的流程图;
图2是根据本发明的实施例的分布式数据缓存处理的示意性实例。
具体实施方式
图1是根据本发明的实施例的基于拦截器的分布式数据缓存方法的流程图。如图1所示,本发明所公开的基于拦截器的分布式数据缓存方法包括下列步骤:(A1)在进入主数据处理过程(例如特定的业务逻辑处理)之前缓存客户端执行拦截操作,以获得主数据处理过程标识(例如业务方法名)以及相关参数;(A2)所述缓存客户端根据所述主数据处理过程标识和相关参数并基于配置文件执行缓存操作。
优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,所述缓存操作包括:(1)确定是否存在配置文件,并且如果存在配置文件则进入步骤(1),否则继续执行主数据处理过程;(2)确定配置文件中的配置信息的类型,如果配置信息的类型是“写入”,则继续执行主数据处理过程,并将所述主数据处理过程的返回值传送到缓存服务器以新增或更新相应的缓存数据,如果配置信息的类型是“读取”,则进入步骤(3);(3)确定在缓存服务器中是否存在相应的缓存数据,如果存在相应的缓存数据,则从所述缓存服务器中读取所述缓存数据并将读取出的缓存数据返回给所述主数据处理过程的调用者,以及不再执行主数据处理过程,如果不存在相应的缓存数据,则继续执行主数据处理过程并将所述主数据处理过程的返回值传送到缓存服务器以进行存储。
优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,所述缓存操作的步骤(3)进一步包括:在不存在相应的缓存数据的情况下,根据所述主数据处理过程的返回值以预定的规则生成与其相关联的键值(key),并基于所生成的键值将所述主数据处理过程的返回值存储到所述缓存服务器中。
优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,所述缓存操作的步骤(3)进一步包括:在所述主数据处理过程的返回值是集合对象(例如多个数据的集合)的情况下,所述缓存服务器以如下方式存储所述集合对象:(1)将集合对象中的所有对象的键值作为索引存储;(2)拆分出每个对象并将每个对象分别存储(即每个对象被相互独立地存储)。
优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,以如下方式查询已被缓存的集合对象:(1)从所述缓存服务器中读取出相应的集合对象的索引(即键值);(2)根据读取出的索引读取出与其相关联的所有对象,并将读取出的所有对象作为整体返回给调用者。
优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,以如下方式更新缓存的集合对象中的单个对象:(1)基于已更新的源数据生成键值;(2)将所生成的键值作为索引并更新与该索引相关联的缓存数据。
优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,以如下方式删除缓存的集合对象中的单个对象:(1)基于已删除的源数据生成键值;(2)将所生成的键值作为索引并删除与该索引相关联的缓存数据(可选地,可以在上述删除操作完成后更新所述缓存服务器的索引)。
优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,以如下方式在缓存的集合对象中新增单个对象:(1)基于已新增的源数据生成键值;(2)基于所生成的键值将相应的新增的单个对象存储到所述缓存服务器中。
优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,一个缓存客户端能够与多个缓存服务器相连接,并且每个缓存服务器能够同时与多个缓存客户端相连接。
优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,各个缓存客户端的配置文件中的配置信息能够被同步更新。
优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,所述配置文件是注解(annotation)形式的或XML文件形式的。
图2是根据本发明的实施例的分布式数据缓存处理的示意性实例。如图2所示,所述缓存服务器以如下方式存储集合对象:(1)将集合对象中的所有对象的键值作为索引存储;(2)拆分出每个对象并将每个对象分别存储(即每个对象被相互独立地存储)。由此,在进行针对单个对象的相关操作(诸如存储、查询或更新等等)时,所述缓存服务器将首先通过该单个对象的索引进行定位操作并随后通过该索引提供的链接访问相关联的对象(例如数据)。
由上可见,本发明所公开的基于拦截器的分布式数据缓存方法具有下列优点:(1)由于用于缓存数据的逻辑代码与业务处理逻辑代码分开处理,故能够简化数据缓存处理过程;(2)由于采用了分布式缓存技术(即缓存客户端和缓存服务器之间的多对多关系),故可动态地调整缓存空间大小;(3)由于集合对象中的各个对象被彼此独立地缓存,故可以实时更新集合对象中的单个对象。
尽管本发明是通过上述的优选实施方式进行描述的,但是其实现形式并不局限于上述的实施方式。应该认识到:在不脱离本发明主旨和范围的情况下,本领域技术人员可以对本发明做出不同的变化和修改。
Claims (9)
1.一种基于拦截器的分布式数据缓存方法,所述基于拦截器的分布式数据缓存方法包括下列步骤:
(A1)在进入主数据处理过程之前缓存客户端执行拦截操作,以获得主数据处理过程标识以及相关参数;
(A2)所述缓存客户端根据所述主数据处理过程标识和相关参数并基于配置文件执行缓存操作;
其中,所述缓存操作包括:(1)确定是否存在配置文件,并且如果存在配置文件则进入步骤(2),否则继续执行主数据处理过程;(2)确定配置文件中的配置信息的类型,如果配置信息的类型是“写入”,则继续执行主数据处理过程,并将所述主数据处理过程的返回值传送到缓存服务器以新增或更新相应的缓存数据,如果配置信息的类型是“读取”,则进入步骤(3);(3)确定在缓存服务器中是否存在相应的缓存数据,如果存在相应的缓存数据,则从所述缓存服务器中读取所述缓存数据并将读取出的缓存数据返回给所述主数据处理过程的调用者,以及不再执行主数据处理过程,如果不存在相应的缓存数据,则继续执行主数据处理过程并将所述主数据处理过程的返回值传送到缓存服务器以进行存储,其中,所述缓存操作的步骤(3)进一步包括:在不存在相应的缓存数据的情况下,根据所述主数据处理过程的返回值以预定的规则生成与其相关联的键值,并基于所生成的键值将所述主数据处理过程的返回值存储到所述缓存服务器中。
2.根据权利要求1所述的基于拦截器的分布式数据缓存方法,其特征在于,所述缓存操作的步骤(3)进一步包括:在所述主数据处理过程的返回值是集合对象的情况下,所述缓存服务器以如下方式存储所述集合对象:(1)将集合对象中的所有对象的键值作为索引存储;(2)拆分出每个对象并将每个对象分别存储。
3.根据权利要求2所述的基于拦截器的分布式数据缓存方法,其特征在于,以如下方式查询已被缓存的集合对象:(1)从所述缓存服务器中读取出相应的集合对象的索引;(2)根据读取出的索引读取出与其相关联的所有对象,并将读取出的所有对象作为整体返回给调用者。
4.根据权利要求3所述的基于拦截器的分布式数据缓存方法,其特征在于,以如下方式更新缓存的集合对象中的单个对象:(1)基于已更新的源数据生成键值;(2)将所生成的键值作为索引并更新与该索引相关联的缓存数据。
5.根据权利要求4所述的基于拦截器的分布式数据缓存方法,其特征在于,以如下方式删除缓存的集合对象中的单个对象:(1)基于已删除的源数据生成键值;(2)将所生成的键值作为索引并删除与该索引相关联的缓存数据。
6.根据权利要求5所述的基于拦截器的分布式数据缓存方法,其特征在于,以如下方式在缓存的集合对象中新增单个对象:(1)基于已新增的源数据生成键值;(2)基于所生成的键值将相应的新增的单个对象存储到所述缓存服务器中。
7.根据权利要求6所述的基于拦截器的分布式数据缓存方法,其特征在于,一个缓存客户端能够与多个缓存服务器相连接,并且每个缓存服务器能够同时与多个缓存客户端相连接。
8.根据权利要求7所述的基于拦截器的分布式数据缓存方法,其特征在于,各个缓存客户端的配置文件中的配置信息能够被同步更新。
9.根据权利要求8所述的基于拦截器的分布式数据缓存方法,其特征在于,所述配置文件是注解形式的或XML文件形式的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310434200.3A CN104461929B (zh) | 2013-09-23 | 2013-09-23 | 基于拦截器的分布式数据缓存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310434200.3A CN104461929B (zh) | 2013-09-23 | 2013-09-23 | 基于拦截器的分布式数据缓存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104461929A CN104461929A (zh) | 2015-03-25 |
CN104461929B true CN104461929B (zh) | 2018-03-23 |
Family
ID=52908015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310434200.3A Active CN104461929B (zh) | 2013-09-23 | 2013-09-23 | 基于拦截器的分布式数据缓存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104461929B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105100289A (zh) * | 2015-09-24 | 2015-11-25 | 中邮科通信技术股份有限公司 | 一种基于注解描述的Web缓存方法 |
CN105426117B (zh) * | 2015-10-27 | 2018-11-16 | 浪潮(北京)电子信息产业有限公司 | 一种系统性能优化方法及装置 |
CN108628891A (zh) * | 2017-03-21 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 实现数据缓存层的方法、装置、电子设备和可读存储介质 |
CN107463378A (zh) * | 2017-07-28 | 2017-12-12 | 深圳市丰巢科技有限公司 | 一种基于注解的本地缓存实现方法、存储设备及电子设备 |
CN110489310B (zh) * | 2018-09-25 | 2020-04-14 | 北京数聚鑫云信息技术有限公司 | 一种记录用户操作的方法、装置、存储介质及计算机设备 |
CN110362505A (zh) * | 2019-07-10 | 2019-10-22 | 政采云有限公司 | 一种使用缓存拦截器进行读写缓存的方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0922384A (ja) * | 1995-01-23 | 1997-01-21 | Tandem Comput Inc | キャッシュ付きマルチプロセッサシステムのための分散型デーキャッシュ |
CN101286895A (zh) * | 2008-05-22 | 2008-10-15 | 上海交通大学 | 可动态配置的分布式网络数据监控系统及方法 |
CN201601694U (zh) * | 2009-07-10 | 2010-10-06 | 深圳市赛格导航科技股份有限公司 | 一种分布式缓存系统 |
CN102014158A (zh) * | 2010-11-29 | 2011-04-13 | 北京兴宇中科科技开发股份有限公司 | 一种云存储服务客户端高效细粒度数据缓存系统与方法 |
CN102333108A (zh) * | 2011-03-18 | 2012-01-25 | 北京神州数码思特奇信息技术股份有限公司 | 分布式缓存同步系统及方法 |
CN102739720A (zh) * | 2011-04-14 | 2012-10-17 | 中兴通讯股份有限公司 | 分布式缓存服务器系统及其应用方法、缓存客户端、缓存服务端 |
CN102880557A (zh) * | 2012-09-13 | 2013-01-16 | 浙江金大科技有限公司 | 一种异构数据源的多级分布式高速缓存 |
CN103167036A (zh) * | 2013-01-28 | 2013-06-19 | 浙江大学 | 基于分布式多级缓存系统的栅格数据存取方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6026452A (en) * | 1997-02-26 | 2000-02-15 | Pitts; William Michael | Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data |
-
2013
- 2013-09-23 CN CN201310434200.3A patent/CN104461929B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0922384A (ja) * | 1995-01-23 | 1997-01-21 | Tandem Comput Inc | キャッシュ付きマルチプロセッサシステムのための分散型デーキャッシュ |
CN101286895A (zh) * | 2008-05-22 | 2008-10-15 | 上海交通大学 | 可动态配置的分布式网络数据监控系统及方法 |
CN201601694U (zh) * | 2009-07-10 | 2010-10-06 | 深圳市赛格导航科技股份有限公司 | 一种分布式缓存系统 |
CN102014158A (zh) * | 2010-11-29 | 2011-04-13 | 北京兴宇中科科技开发股份有限公司 | 一种云存储服务客户端高效细粒度数据缓存系统与方法 |
CN102333108A (zh) * | 2011-03-18 | 2012-01-25 | 北京神州数码思特奇信息技术股份有限公司 | 分布式缓存同步系统及方法 |
CN102739720A (zh) * | 2011-04-14 | 2012-10-17 | 中兴通讯股份有限公司 | 分布式缓存服务器系统及其应用方法、缓存客户端、缓存服务端 |
CN102880557A (zh) * | 2012-09-13 | 2013-01-16 | 浙江金大科技有限公司 | 一种异构数据源的多级分布式高速缓存 |
CN103167036A (zh) * | 2013-01-28 | 2013-06-19 | 浙江大学 | 基于分布式多级缓存系统的栅格数据存取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104461929A (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104461929B (zh) | 基于拦截器的分布式数据缓存方法 | |
CN104133882B (zh) | 一种基于hdfs的小文件处理方法 | |
US8290994B2 (en) | Obtaining file system view in block-level data storage systems | |
CN103179185B (zh) | 一种分布式文件系统客户端缓存中文件创建方法及其系统 | |
CN104090889B (zh) | 数据处理方法及系统 | |
JP6118515B2 (ja) | 連想メモリ更新のためのシステム | |
CN103136243B (zh) | 基于云存储的文件系统去重方法及装置 | |
CN103714123B (zh) | 企业云存储分块对象重复数据删除和重组版本控制方法 | |
CN110032449A (zh) | 一种优化gpu服务器的性能的方法及装置 | |
CN104881466B (zh) | 数据分片的处理以及垃圾文件的删除方法和装置 | |
JP2012256324A (ja) | データ管理方法、および、複合型データ管理システム | |
CN103605698A (zh) | 一种用于分布异构数据资源整合的云数据库系统 | |
US20200364185A1 (en) | Method for data replication in a data analysis system | |
CN104423982B (zh) | 请求的处理方法和处理设备 | |
KR102119258B1 (ko) | 데이터베이스 관리 시스템에서의 변경 데이터 캡쳐 구현 기법 | |
CN103795811A (zh) | 一种基于元数据保存存储信息及统计管理数据的方法 | |
CN104252501A (zh) | 一种执行数据库操作命令的计算设备和方法 | |
CN106713391A (zh) | 一种session信息的共享方法和共享系统 | |
CN107368608A (zh) | 基于arc替换算法的hdfs小文件缓存管理方法 | |
CN106021593A (zh) | 一种第一数据库与第二数据库接管过程中的复制处理方法 | |
CN105138679A (zh) | 一种基于分布式缓存的数据处理系统及处理方法 | |
CN109767274B (zh) | 一种对海量发票数据进行关联存储的方法及系统 | |
CN105095425A (zh) | 一种数据库的跨库结转方法及装置 | |
KR20190063835A (ko) | 인-메모리 데이터베이스의 실시간 데이터 변경 처리 시스템 | |
CN109815240A (zh) | 用于管理索引的方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |