多种分布式缓存系统的自适配装置和方法

文档序号:9330654阅读:441来源:国知局
多种分布式缓存系统的自适配装置和方法
【专利说明】多种分布式缓存系统的自适配装置和方法
[0001]
技术领域
[0002]本发明涉及计算机技术领域,具体地,涉及一种多种分布式缓存系统的自适配装置和一种多种分布式缓存系统的自适配方法。
[0003]
【背景技术】
[0004]目前,随着网络服务规模的扩大,云计算服务的逐渐普及,为了应付海量的数据和高并发的用户请求所引起的传统数据库上产生的压力瓶颈问题,对于一个成熟的web应用系统,分布式缓存集群是提高系统性能以及保证数据一致性所必不可少的功能点,并在系统开发中占据越来越重要的地位。但是目前分布式缓存产品众多,并且缺少一个统一的对外提供服务的规范,不同的分布式缓存厂商对用户提供不同的接口和访问机制,开发业务系统时则必须由业务开发和设计人员规划好需要采用的分布式缓存系统并做一定量的底层适配工作,因此,一个业务系统如果想使用一个分布式缓存,则会与此分布式缓存的服务接口产生紧密耦合从而对该缓存产品产生一些不必要的依赖。
[0005]这样会带来两个方便地问题:一方面,一个业务系统在部署阶段如果想适配特定的分布式缓存,则必须重新对该缓存产品做代码级的定制。另一方面,如果在业务系统中需要同时访问多个分布式缓存集群,则需要业务系统自身在不同的缓存中切换。并且采用不同的访问机制。另外,这种架构也会影响后续产品的底层实现调整,如果因为某些特定的因素,产品需要替换底层的分布式缓存实现,那么就必须重新适配新产品的服务接口,这会造成很多不必要的额外工作,上述这些缺点都使得业务系统的业务层与技术支持层很难分离,不符合低耦合的产品设计理念,从而会造成把大量的工作浪费在系统对不同的底层技术的适配上,也使得业务系统不能把主要的精力放在处理业务逻辑上。
[0006]因此,需要一种新的分布式缓存系统自适配技术,可以在现有的分布式缓存系统自适配方式基础上,充分利用单对象类型完成多对象类型的分布式缓存系统自适配,建立多对象类型参与的面向复杂类型分布式缓存系统自适配的通用、统一缓存思路。
[0007]

【发明内容】

[0008]本发明正是基于上述问题,提出了一种新的分布式缓存系统自适配技术,可以在现有的分布式缓存系统自适配方式基础上,充分利用单对象类型完成多对象类型的分布式缓存系统自适配,建立多对象类型参与的面向复杂类型分布式缓存系统自适配的通用、统一缓存思路。
[0009]有鉴于此,本发明提出了一种多种分布式缓存系统的自适配装置,包括:统一对外服务接口,用于为用户提供分布式缓存服务的API接口 ;分布式缓存系统识别单元,用于基于提供的API接口,根据用户设定和预设的底层特征识别分布式缓存类型;分布式缓存访问代理单元,用于基于分布式缓存类型的识别结果,选取适用当前类型缓存的代理;数据与差异处理单元,用于基于选取的当前类型缓存的代理,处理用户访问数据和返回的响应数据,屏蔽掉不同底层之间在数据格式、服务接口以及网络协议方面的差异,并针对不同的缓存类型进行相应的开放式定制与扩展。在该技术方案中,可以提供统一的对外API和接口服务,使得业务系统可以无缝的在各种分布式缓存之间自由的调节转换而不需要系统自身去对某些分布式缓存做特定的处理。
[0010]在上述技术方案中,优选地,所述统一对外服务接口,具体包括:类型识别模块,用于识别底层分布式缓存系统的类型;接口适配模块,用于根据底层分布式缓存系统的类型的识别结果,适配不同的缓存接口。在该技术方案中,可以提供SPI接口,以便使得不同的分布式缓存厂商基于此做自身的底层实现。
[0011]在上述技术方案中,优选地,所述分布式缓存系统识别单元,具体包括:数据传递模块,用于基于适配的缓存接口,传递用户的待缓存数据;用户的待缓存数据,包括数据的结构化对象以及数据的主键;缓存类型识别模块,用于根据预设的系统配置,识别用户待缓存数据的缓存类型;该识别用户待缓存数据的缓存类型的操作,包括用户即时指定的缓存类型,优先按照用户即时指定的缓存类型选择相应的实现策略;数据格式转换模块,用于根据识别得到的缓存类型,确定分布式缓存的数据格式转换引擎,对用户输入的待缓存数据进行格式转换。在该技术方案中,可以根据实际的业务场景需要,在底层实现中自动匹配各种缓存产品,从而使上层的业务系统不需要调节自身的产品底层去对不同的缓存做匹配。
[0012]在上述技术方案中,优选地,所述分布式缓存访问代理单元,具体包括:缓存适配器选择模块,用于基于转换后的数据格式,按转换后的数据格式,将用户待缓存数据发送给分布式缓存代理;分布式缓存代理根据预先匹配的缓存类型,选择访问不同的缓存适配器;数据处理及响应模块,用于不同的缓存适配器分别对应不同类型的缓存客户端,由缓存适配器将用户待缓存数据交给缓存客户端并且处理客户端返回的响应。在该技术方案中,可以使得业务系统不直接与各种类型的分布式缓存交互,而只是与缓存适配系统提供的统一客户端交互,这样就避免了业务系统与具体的分布式缓存产品的紧密耦合。
[0013]在上述技术方案中,优选地,所述数据与差异处理单元,具体包括:结果集转换模块,用于对应返回的响应数据,缓存适配器调用缓存数据格式转换引擎,将返回的结果转换为业务程序能够识别的结果集;最终结果返回模块,用于将转换得到的结果集,返回给预设的业务系统。在该技术方案中,可以屏蔽掉各种分布式缓存在对外提供服务以及底层传输协议以及数据格式上的差异。
[0014]根据本发明的又一个方面,还提出了一种多种分布式缓存系统的自适配方法,包括:步骤202:为用户提供分布式缓存服务的API接口 ;步骤204:基于提供的API接口,根据用户设定和预设的底层特征识别分布式缓存类型;步骤206:基于分布式缓存类型的识别结果,选取适用当前类型缓存的代理;步骤208:基于选取的当前类型缓存的代理,处理用户访问数据和返回的响应数据,屏蔽掉不同底层之间在数据格式、服务接口以及网络协议方面的差异,并针对不同的缓存类型进行相应的开放式定制与扩展。在该技术方案中,可以提供统一的对外API和接口服务,使得业务系统可以无缝的在各种分布式缓存之间自由的调节转换而不需要系统自身去对某些分布式缓存做特定的处理。
[0015]在上述技术方案中,优选地,所述步骤202,具体包括:步骤302:识别底层分布式缓存系统的类型;步骤304:根据底层分布式缓存系统的类型的识别结果,适配不同的缓存接口。在该技术方案中,可以提供SPI接口,以便使得不同的分布式缓存厂商基于此做自身的底层实现。
[0016]在上述技术方案中,优选地,所述步骤204,具体包括:步骤402:基于适配的缓存接口,传递用户的待缓存数据;用户的待缓存数据,包括数据的结构化对象以及数据的主键;步骤404:根据预设的系统配置,识别用户待缓存数据的缓存类型;该识别用户待缓存数据的缓存类型的操作,包括用户即时指定的缓存类型,优先按照用户即时指定的缓存类型选择相应的实现策略;步骤406:根据识别得到的缓存类型,确定分布式缓存的数据格式转换引擎,对用户输入的待缓存数据进行格式转换。在该技术方案中,可以根据
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1