基于拦截器的分布式数据缓存方法

文档序号:7771201阅读:184来源:国知局
基于拦截器的分布式数据缓存方法
【专利摘要】本发明提出了基于拦截器的分布式数据缓存方法。其中,所述方法包括:在进入主数据处理过程之前缓存客户端执行拦截操作,以获得主数据处理过程标识以及相关参数;所述缓存客户端根据所述主数据处理过程标识和相关参数并基于配置文件执行缓存操作。本发明所公开的基于拦截器的分布式数据缓存方法能够简化数据缓存处理过程、可动态调整缓存空间大小以及可实时更新集合数据。
【专利说明】基于拦截器的分布式数据缓存方法

【技术领域】
[0001]本发明涉及数据缓存方法,更具体地,涉及基于拦截器的分布式数据缓存方法。

【背景技术】
[0002]目前,随着计算机和网络应用的日益广泛以及不同领域的业务种类的日益丰富,在数据处理过程中进行特定数据的缓存变得越来越重要。
[0003]在现有的技术方案中,通常将用于缓存数据的逻辑代码与业务处理逻辑代码混杂在一起,即每处需要缓存数据的地方均需要重复编写数据缓存处理逻辑代码。
[0004]由上可见,现有的技术方案存在如下问题:由于需要重复进行数据缓存处理逻辑的编码,故缓存逻辑代码的维护成本较高并且易于出错,此外,由于通常将缓存数据存放在应用所驻留的主机的内存中,故受应用所驻留的主机内存大小的限制而难于根据实际需要对用于缓存数据的内存空间进行扩展,此外,由于将集合数据(即多个数据的集合)作为一个整体进行缓存,故无法对单个缓存对象(即数据集合中的单个数据)进行实时性的更新。
[0005]因此,存在如下需求:提供能够简化数据缓存处理过程、可动态调整缓存空间大小以及可实时更新集合数据的基于拦截器的分布式数据缓存方法。


【发明内容】

[0006]为了解决上述现有技术方案所存在的问题,本发明提出了能够简化数据缓存处理过程、可动态调整缓存空间大小以及可实时更新集合数据的基于拦截器的分布式数据缓存方法。
[0007]本发明的目的是通过以下技术方案实现的:
一种基于拦截器的分布式数据缓存方法,所述基于拦截器的分布式数据缓存方法包括下列步骤:
(Al)在进入主数据处理过程之前缓存客户端执行拦截操作,以获得主数据处理过程标识以及相关参数;
(A2)所述缓存客户端根据所述主数据处理过程标识和相关参数并基于配置文件执行缓存操作。
[0008]在上面所公开的方案中,优选地,所述缓存操作包括:
(1)确定是否存在配置文件,并且如果存在配置文件则进入步骤(1),否则继续执行主数据处理过程;
(2)确定配置文件中的配置信息的类型,如果配置信息的类型是“写入”,则继续执行主数据处理过程,并将所述主数据处理过程的返回值传送到缓存服务器以新增或更新相应的缓存数据,如果配置信息的类型是“读取”,则进入步骤(3);
(3)确定在缓存服务器中是否存在相应的缓存数据,如果存在相应的缓存数据,则从所述缓存服务器中读取所述缓存数据并将读取出的缓存数据返回给所述主数据处理过程的调用者,以及不再执行主数据处理过程,如果不存在相应的缓存数据,则继续执行主数据处理过程并将所述主数据处理过程的返回值传送到缓存服务器以进行存储。
[0009]在上面所公开的方案中,优选地,所述缓存操作的步骤(3)进一步包括:在不存在相应的缓存数据的情况下,根据所述主数据处理过程的返回值以预定的规则生成与其相关联的键值,并基于所生成的键值将所述主数据处理过程的返回值存储到所述缓存服务器中。
[0010]在上面所公开的方案中,优选地,所述缓存操作的步骤(3)进一步包括:在所述主数据处理过程的返回值是集合对象的情况下,所述缓存服务器以如下方式存储所述集合对象:(I)将集合对象中的所有对象的键值作为索引存储;(2)拆分出每个对象并将每个对象分别存储。
[0011]在上面所公开的方案中,优选地,以如下方式查询已被缓存的集合对象:(1)从所述缓存服务器中读取出相应的集合对象的索引;(2)根据读取出的索引读取出与其相关联的所有对象,并将读取出的所有对象作为整体返回给调用者。
[0012]在上面所公开的方案中,优选地,以如下方式更新缓存的集合对象中的单个对象:
(I)基于已更新的源数据生成键值;(2)将所生成的键值作为索引并更新与该索引相关联的缓存数据。
[0013]在上面所公开的方案中,优选地,以如下方式删除缓存的集合对象中的单个对象:
(I)基于已删除的源数据生成键值;(2)将所生成的键值作为索引并删除与该索引相关联的缓存数据。
[0014]在上面所公开的方案中,优选地,以如下方式在缓存的集合对象中新增单个对象:
(I)基于已新增的源数据生成键值;(2)基于所生成的键值将相应的新增的单个对象存储到所述缓存服务器中。
[0015]在上面所公开的方案中,优选地,一个缓存客户端能够与多个缓存服务器相连接,并且每个缓存服务器能够同时与多个缓存客户端相连接。
[0016]在上面所公开的方案中,优选地,各个缓存客户端的配置文件中的配置信息能够被同步更新。
[0017]在上面所公开的方案中,优选地,所述配置文件是注解形式的或XML文件形式的。
[0018]本发明所公开的基于拦截器的分布式数据缓存方法具有以下优点:(1)由于用于缓存数据的逻辑代码与业务处理逻辑代码分开处理,故能够简化数据缓存处理过程;(2)由于采用了分布式缓存技术(即缓存客户端和缓存服务器之间的多对多关系),故可动态地调整缓存空间大小;(3)由于集合对象中的各个对象被彼此独立地缓存,故可以实时更新集合对象中的单个对象。

【专利附图】

【附图说明】
[0019]结合附图,本发明的技术特征以及优点将会被本领域技术人员更好地理解,其中:
图1是根据本发明的实施例的基于拦截器的分布式数据缓存方法的流程图;
图2是根据本发明的实施例的分布式数据缓存处理的示意性实例。

【具体实施方式】
[0020]图1是根据本发明的实施例的基于拦截器的分布式数据缓存方法的流程图。如图1所示,本发明所公开的基于拦截器的分布式数据缓存方法包括下列步骤:(Al)在进入主数据处理过程(例如特定的业务逻辑处理)之前缓存客户端执行拦截操作,以获得主数据处理过程标识(例如业务方法名)以及相关参数;(A2)所述缓存客户端根据所述主数据处理过程标识和相关参数并基于配置文件执行缓存操作。
[0021]优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,所述缓存操作包括:(I)确定是否存在配置文件,并且如果存在配置文件则进入步骤(1),否则继续执行主数据处理过程;(2)确定配置文件中的配置信息的类型,如果配置信息的类型是“写入”,则继续执行主数据处理过程,并将所述主数据处理过程的返回值传送到缓存服务器以新增或更新相应的缓存数据,如果配置信息的类型是“读取”,则进入步骤(3); (3)确定在缓存服务器中是否存在相应的缓存数据,如果存在相应的缓存数据,则从所述缓存服务器中读取所述缓存数据并将读取出的缓存数据返回给所述主数据处理过程的调用者,以及不再执行主数据处理过程,如果不存在相应的缓存数据,则继续执行主数据处理过程并将所述主数据处理过程的返回值传送到缓存服务器以进行存储。
[0022]优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,所述缓存操作的步骤(3)进一步包括:在不存在相应的缓存数据的情况下,根据所述主数据处理过程的返回值以预定的规则生成与其相关联的键值(key),并基于所生成的键值将所述主数据处理过程的返回值存储到所述缓存服务器中。
[0023]优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,所述缓存操作的步骤(3)进一步包括:在所述主数据处理过程的返回值是集合对象(例如多个数据的集合)的情况下,所述缓存服务器以如下方式存储所述集合对象:(1)将集合对象中的所有对象的键值作为索引存储;(2)拆分出每个对象并将每个对象分别存储(即每个对象被相互独立地存储)。
[0024]优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,以如下方式查询已被缓存的集合对象:(I)从所述缓存服务器中读取出相应的集合对象的索引(即键值);
(2)根据读取出的索引读取出与其相关联的所有对象,并将读取出的所有对象作为整体返回给调用者。
[0025]优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,以如下方式更新缓存的集合对象中的单个对象:(I)基于已更新的源数据生成键值;(2)将所生成的键值作为索引并更新与该索引相关联的缓存数据。
[0026]优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,以如下方式删除缓存的集合对象中的单个对象:(1)基于已删除的源数据生成键值;(2)将所生成的键值作为索引并删除与该索引相关联的缓存数据(可选地,可以在上述删除操作完成后更新所述缓存服务器的索引)。
[0027]优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,以如下方式在缓存的集合对象中新增单个对象:(1)基于已新增的源数据生成键值;(2)基于所生成的键值将相应的新增的单个对象存储到所述缓存服务器中。
[0028]优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,一个缓存客户端能够与多个缓存服务器相连接,并且每个缓存服务器能够同时与多个缓存客户端相连接。
[0029]优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,各个缓存客户端的配置文件中的配置信息能够被同步更新。
[0030]优选地,在本发明所公开的基于拦截器的分布式数据缓存方法中,所述配置文件是注解(annotat1n)形式的或XML文件形式的。
[0031]图2是根据本发明的实施例的分布式数据缓存处理的示意性实例。如图2所示,所述缓存服务器以如下方式存储集合对象:(I)将集合对象中的所有对象的键值作为索引存储;(2)拆分出每个对象并将每个对象分别存储(即每个对象被相互独立地存储)。由此,在进行针对单个对象的相关操作(诸如存储、查询或更新等等)时,所述缓存服务器将首先通过该单个对象的索引进行定位操作并随后通过该索引提供的链接访问相关联的对象(例如数据)。
[0032]由上可见,本发明所公开的基于拦截器的分布式数据缓存方法具有下列优点:(O由于用于缓存数据的逻辑代码与业务处理逻辑代码分开处理,故能够简化数据缓存处理过程;(2)由于采用了分布式缓存技术(即缓存客户端和缓存服务器之间的多对多关系),故可动态地调整缓存空间大小;(3)由于集合对象中的各个对象被彼此独立地缓存,故可以实时更新集合对象中的单个对象。
[0033]尽管本发明是通过上述的优选实施方式进行描述的,但是其实现形式并不局限于上述的实施方式。应该认识到:在不脱离本发明主旨和范围的情况下,本领域技术人员可以对本发明做出不同的变化和修改。
【权利要求】
1.一种基于拦截器的分布式数据缓存方法,所述基于拦截器的分布式数据缓存方法包括下列步骤: (Al)在进入主数据处理过程之前缓存客户端执行拦截操作,以获得主数据处理过程标识以及相关参数; (A2)所述缓存客户端根据所述主数据处理过程标识和相关参数并基于配置文件执行缓存操作。
2.根据权利要求1所述的基于拦截器的分布式数据缓存方法,其特征在于,所述缓存操作包括: (1)确定是否存在配置文件,并且如果存在配置文件则进入步骤(1),否则继续执行主数据处理过程; (2)确定配置文件中的配置信息的类型,如果配置信息的类型是“写入”,则继续执行主数据处理过程,并将所述主数据处理过程的返回值传送到缓存服务器以新增或更新相应的缓存数据,如果配置信息的类型是“读取”,则进入步骤(3); (3)确定在缓存服务器中是否存在相应的缓存数据,如果存在相应的缓存数据,则从所述缓存服务器中读取所述缓存数据并将读取出的缓存数据返回给所述主数据处理过程的调用者,以及不再执行主数据处理过程,如果不存在相应的缓存数据,则继续执行主数据处理过程并将所述主数据处理过程的返回值传送到缓存服务器以进行存储。
3.根据权利要求2所述的基于拦截器的分布式数据缓存方法,其特征在于,所述缓存操作的步骤(3)进一步包括:在不存在相应的缓存数据的情况下,根据所述主数据处理过程的返回值以预定的规则生成与其相关联的键值,并基于所生成的键值将所述主数据处理过程的返回值存储到所述缓存服务器中。
4.根据权利要求3所述的基于拦截器的分布式数据缓存方法,其特征在于,所述缓存操作的步骤(3)进一步包括:在所述主数据处理过程的返回值是集合对象的情况下,所述缓存服务器以如下方式存储所述集合对象:(I)将集合对象中的所有对象的键值作为索引存储;(2)拆分出每个对象并将每个对象分别存储。
5.根据权利要求4所述的基于拦截器的分布式数据缓存方法,其特征在于,以如下方式查询已被缓存的集合对象:(1)从所述缓存服务器中读取出相应的集合对象的索引;(2)根据读取出的索引读取出与其相关联的所有对象,并将读取出的所有对象作为整体返回给调用者。
6.根据权利要求5所述的基于拦截器的分布式数据缓存方法,其特征在于,以如下方式更新缓存的集合对象中的单个对象:(I)基于已更新的源数据生成键值;(2)将所生成的键值作为索引并更新与该索引相关联的缓存数据。
7.根据权利要求6所述的基于拦截器的分布式数据缓存方法,其特征在于,以如下方式删除缓存的集合对象中的单个对象:(1)基于已删除的源数据生成键值;(2)将所生成的键值作为索引并删除与该索引相关联的缓存数据。
8.根据权利要求7所述的基于拦截器的分布式数据缓存方法,其特征在于,以如下方式在缓存的集合对象中新增单个对象:(I)基于已新增的源数据生成键值;(2 )基于所生成的键值将相应的新增的单个对象存储到所述缓存服务器中。
9.根据权利要求8所述的基于拦截器的分布式数据缓存方法,其特征在于,一个缓存客户端能够与多个缓存服务器相连接,并且每个缓存服务器能够同时与多个缓存客户端相连接。
10.根据权利要求9所述的基于拦截器的分布式数据缓存方法,其特征在于,各个缓存客户端的配置文件中的配置信息能够被同步更新。
11.根据权利要求10所述的基于拦截器的分布式数据缓存方法,其特征在于,所述配置文件是注解形式的或XML文件形式的。
【文档编号】H04L29/08GK104461929SQ201310434200
【公开日】2015年3月25日 申请日期:2013年9月23日 优先权日:2013年9月23日
【发明者】吴丰科, 林芃, 陈卓 申请人:中国银联股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1