基于分布式缓存系统的数据缓存方法、服务器和系统技术方案

技术编号:14759993 阅读:134 留言:0更新日期:2017-03-03 09:38
本申请提供了基于分布式缓存系统的数据缓存方法、服务器和系统,其中,数据缓存方法包括:代理服务器接收租户发送的、待缓存的数据的缓存请求;代理服务器依据集群管理器下发的数据拆分规则生成数据分布列表;所述数据分布列表包括:待缓存的数据的各分片大小和各分片在缓存节点中的存储位置;所述代理服务器依据所述数据分布列表将待缓存的数据缓存至缓存节点中。采用本申请实施例,可以实现多租户共用一个分布式缓存系统,实现多租户的统一管理。

【技术实现步骤摘要】

本申请涉及分布式缓存
,特别涉及基于分布式缓存系统的数据缓存方法,代理服务器,集群服务器和缓存系统。
技术介绍
在大型的业务系统,特别是大型互联网应用和大型企业的业务中,经常面临着海量、高并发用户的访问。一般情况下,数据主要存储在关系型数据库中,但是这样的方式在面临海量、高并发的业务访问时,由于关系型数据库自身的特点无法实现业务系统的快速扩展。同时,由于访问量过大可能导致业务系统无法承担过大的压力而运行缓慢甚至出现拒绝服务的问题。在现有技术中,大多数业务系统基本都通过的引入分布式缓存来提高访问效率。但是,现有技术存在如下问题:现有的缓存系统都缺少多租户方式,即每个租户都是独占一个缓存系统,而各缓存系统之间彼此独立,无法共享缓存资源,导致缓存利用率极低,同时,还存在一个缓存系统无法对各租户统一管理的问题。
技术实现思路
专利技术人在研究过程中发现,如果在分布式缓存系统中引入代理服务器和集群管理器,通过代理服务器来响应各租户发送的缓存请求,由集群管理器为各租户生成数据拆分规则,并将该数据拆分规则下发给代理服务器,由代理服务器统一分配待缓存的数据的存储位置,并统一向各缓存节点中缓存数据。这样就能通过代理服务器和集群管理器的部署,而实现多租户共用一个分布式缓存系统,可以共享该分布式缓存系统中的各缓存节点,提高缓存节点的缓存利用率。并且,通过集群管理器还能对各个租户实现统一管理,例如,为各租户配置缓存容量阈值等。基于此,本申请提供了一种代理服务器、集群管理器和分布式缓存系统,用以保证上述方法在实际中的实现及应用。本申请公开的一种数据缓存方法,该方法应用于分布式缓存系统中的代理服务器上,所述分布式缓存系统还包括:集群管理器和缓存节点,该方法包括:所述代理服务器接收租户发送的、待缓存的数据的缓存请求;所述代理服务器依据所述集群管理器下发的数据拆分规则生成数据分布列表;所述数据分布列表包括:待缓存的数据的各分片大小和各分片在缓存节点中的存储位置;所述代理服务器依据所述数据分布列表将待缓存的数据缓存至缓存节点中。其中,所述方法还包括:所述代理服务器将所述数据分布列表和缓存请求发送至集群管理器,以便所述集群管理器依据所述缓存请求中的租户标识、业务标识和业务键值生成数据标识,并将所述数据标识和数据分布列表对应存储;所述数据标识用于在所述分布式缓存系统中唯一标识待缓存的数据;所述代理服务器接收集群管理器返回的数据标识;所述代理服务器将所述数据标识发送给所述租户。其中,所述方法还包括:响应于接收到租户发送的数据标识,所述代理服务器将所述数据标识发送给集群管理器,以便所述集群管理器查询所述数据标识唯一标识的数据对应的数据分布列表;所述代理服务器依据所述集群管理器返回的数据分布列表,从缓存节点中获取数据;所述代理服务器将获取到的数据发送给所述租户。其中,所述代理服务器依据所述数据分布列表将待缓存的数据缓存至缓存节点中,包括:所述代理服务器获取所述租户发送所述待缓存的数据使用的请求协议;所述代理服务器将请求协议转换为缓存节点可以兼容的缓存协议;所述代理服务器参考所述缓存协议,将待缓存的数据的各个分片存储至各分片在缓存节点中的存储位置。其中,所述缓存节点包括主缓存节点和备份缓存节点,所述代理服务器依据所述集群管理器下发的数据拆分规则生成数据分布列表,包括:所述代理服务器判断所述待缓存的数据是否需要存储为主备数据;如果是,则将待缓存的数据复制为主数据和备份数据;按照所述数据拆分规则对主数据进行分片,并确定各主分片在主缓存节点中的存储位置;以及,按照所述数据拆分规则对备份数据进行分片,并确定各备份分片在备份缓存节点中的存储位置;如果否,则按照数据拆分规则将待缓存的数据作为主数据进行分片,并确定各主分片在主缓存节点中的存储位置。其中,所述代理服务器依据所述数据分布列表将待缓存的数据缓存至缓存节点中,包括:在待缓存的数据需要存储为主备数据的情况下,所述代理服务器将主数据的各主分片存储至各主分片在主缓存节点中的存储位置,以及,将备份数据的各备份分片存储至各备份分片在备份缓存节点中的存储位置;在待缓存的数据不需要存储为主备数据的情况下,所述代理服务器将待缓存的数据的各主分片,存储至各主分片在主缓存节点中的存储位置。本申请还公开了另一种数据缓存方法,该方法应用于分布式缓存系统中的集群管理器上,所述分布式缓存系统还包括:代理服务器和缓存节点,该方法包括:所述集群管理器生成数据拆分规则,所述数据拆分规则用于描述待缓存的数据的拆分方式;所述集群管理器将所述数据拆分规则发送至所述代理服务器,以便所述代理服务器接收到缓存请求时,依据所述数据拆分规则生成数据分布列表,并依据所述数据分布列表将待缓存的数据缓存至缓存节点中;所述数据分布列表包括:待缓存的数据的各分片大小和各分片在缓存节点中的存储位置。其中,该方法还包括:所述集群管理器接收所述代理服务器发送的数据分布列表和缓存请求;所述集群管理器依据所述缓存请求中的租户标识、业务标识和业务键值生成数据标识,所述数据标识用于在所述分布式缓存系统中唯一标识待缓存的数据;所述集群管理器将所述数据标识和所述数据分布列表对应存储,并将所述数据标识发送给所述代理服务器。其中,该方法还包括:响应于接收到所述代理服务器转发的数据标识,所述集群管理器判断所述数据标识是否存在;如果是,则查询所述数据标识唯一标识的数据的数据分布列表,并将数据分布列表发送给所述代理服务器,以便所述代理服务器从缓存节点中获取数据;如果否,则向所述代理服务器返回标识提示信息,所述标识提示信息用于提示所述数据标识不存在。其中,所述集群管理器保存有各租户的缓存容量阈值;所述缓存容量阈值用于表示各租户在分布式缓存中能缓存的数据的总大小;则所述方法还包括:所述集群管理器判断所述租户已经缓存的数据总和是否超过所述缓存容量阈值,如果是,则所述集群管理器向所述代理服务器发送容量提示信息,所述容量提示信息用于提示所述租户缓存的数据已经达到缓存容量阈值。其中,该方法还包括:所述集群管理器通过所述代理服务器收集各缓存节点的数据缓存情况,所述数据缓存情况包括:各缓存节点的缓存使用率或健康状态;所述集群管理器判断各缓存节点的缓存使用率是否与预设缓存阈值匹配,或者,各缓存节点的健康状态是否正常,或者,所述分布式缓存系统中是否添加有新缓存节点;如果缓存节点的缓存使用率与预设缓存阈值不匹配,则将数据按照预设比例转存至相匹配且健康状态正常的缓存节点中;如果缓存节点的健康状态不正常,则将数据转存至相匹配且健康状态正常的缓存节点中;如果添加有新缓存节点,则将缓存使用率与预设缓存阈值不匹配的缓存节点的数据按照预设比例转存至所述新缓存节点中,或者,将健康状态不正常的缓存节点中的数据转存至所述新缓存节点中。本申请公开了一种代理服务器,所述代理服务器位于分布式缓存系统中,所述分布式缓存系统还包括:集群管理器和缓存节点,该代理服务器包括:接收缓存请求单元,用于接收租户发送的、待缓存的数据的缓存请求;生成列表单元,用于依据所述集群管理器下发的数据拆分规则生成数据分布列表;所述数据分布列表包括:待缓存的数据的各分片大小和各分片在缓存节点中的存储位置;缓存单元,用于依据所述数据分布列表将待缓存的本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/62/201611170401.html" title="基于分布式缓存系统的数据缓存方法、服务器和系统原文来自X技术">基于分布式缓存系统的数据缓存方法、服务器和系统</a>

【技术保护点】
一种数据缓存方法,其特征在于,该方法应用于分布式缓存系统中的代理服务器上,所述分布式缓存系统还包括:集群管理器和缓存节点,该方法包括:所述代理服务器接收租户发送的、待缓存的数据的缓存请求;所述代理服务器依据所述集群管理器下发的数据拆分规则生成数据分布列表;所述数据分布列表包括:待缓存的数据的各分片大小和各分片在缓存节点中的存储位置;所述代理服务器依据所述数据分布列表将待缓存的数据缓存至缓存节点中。

【技术特征摘要】
1.一种数据缓存方法,其特征在于,该方法应用于分布式缓存系统中的代理服务器上,所述分布式缓存系统还包括:集群管理器和缓存节点,该方法包括:所述代理服务器接收租户发送的、待缓存的数据的缓存请求;所述代理服务器依据所述集群管理器下发的数据拆分规则生成数据分布列表;所述数据分布列表包括:待缓存的数据的各分片大小和各分片在缓存节点中的存储位置;所述代理服务器依据所述数据分布列表将待缓存的数据缓存至缓存节点中。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述代理服务器将所述数据分布列表和缓存请求发送至集群管理器,以便所述集群管理器依据所述缓存请求中的租户标识、业务标识和业务键值生成数据标识,并将所述数据标识和数据分布列表对应存储;所述数据标识用于在所述分布式缓存系统中唯一标识待缓存的数据;所述代理服务器接收集群管理器返回的数据标识;所述代理服务器将所述数据标识发送给所述租户。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:响应于接收到租户发送的数据标识,所述代理服务器将所述数据标识发送给集群管理器,以便所述集群管理器查询所述数据标识唯一标识的数据对应的数据分布列表;所述代理服务器依据所述集群管理器返回的数据分布列表,从缓存节点中获取数据;所述代理服务器将获取到的数据发送给所述租户。4.根据权利要求1所述的方法,其特征在于,所述代理服务器依据所述数据分布列表将待缓存的数据缓存至缓存节点中,包括:所述代理服务器获取所述租户发送所述待缓存的数据使用的请求协议;所述代理服务器将请求协议转换为缓存节点可以兼容的缓存协议;所述代理服务器参考所述缓存协议,将待缓存的数据的各个分片存储至各分片在缓存节点中的存储位置。5.根据权利要求1所述的方法,其特征在于,所述缓存节点包括主缓存节点和备份缓存节点,所述代理服务器依据所述集群管理器下发的数据拆分规则生成数据分布列表,包括:所述代理服务器判断所述待缓存的数据是否需要存储为主备数据;如果是,则将待缓存的数据复制为主数据和备份数据;按照所述数据拆分规则对主数据进行分片,并确定各主分片在主缓存节点中的存储位置;以及,按照所述数据拆分规则对备份数据进行分片,并确定各备份分片在备份缓存节点中的存储位置;如果否,则按照数据拆分规则将待缓存的数据作为主...

【专利技术属性】
技术研发人员:金铸何光宇孟健
申请(专利权)人:东软集团股份有限公司
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1