【技术实现步骤摘要】
数据存取方法、调度方法、设备及系统
本专利技术涉及通信网络
,尤其涉及一种数据存取方法、调度方法、设备及系统。
技术介绍
在Web2.0时代,互联网上的大部分应用都是将数据保存在关系型数据库中,客户端从数据库中读取数据。但是随着数据量的增加和数据访问量的增大,就会出现数据库负载加重、性能下降、响应缓慢、网站显示延迟等一系列问题,在这种背景下,基于内存的缓存服务器应运而生。通常,现有的支持多客户端的数据存取方案通过一致性哈希算法实现。一致性哈希算法通过将各缓存节点和数据主键的哈希值投射到一个环形空间上,来实现数据的分布式存储。在判断某个数据落在哪个缓存节点时,一致性哈希算法以该数据在环上的位置为起点,按照顺时针方向遍历环形域值空间,遇到的第一个缓存节点即为该数据所属的缓存节点。为了避免数据在缓存节点上分布不均匀,一致性哈希算法通过将一个实体缓存节点复制为几个虚拟缓存节点来稀释环形域值空间上的数据。虚拟缓存节点只负责对数据的划分,分布到虚拟缓存节点上的数据依然通过实体缓存节点来存储。但是,一致性哈希算法的虚拟缓存节点数据存取方案存在以下缺点:1、在引入了虚拟缓存节点后,存取一条数据所属的缓存节点至少需要三个步骤:a.计算该数据在环形域值空间上的位置;b.根据计算所得位置找到该数据所属的虚拟缓存节点;c.根据虚拟缓存节点找到对应的实体缓存节点。由此可以看出,虚拟缓存节点的引入,使得数据存取过程变得更为复杂,降低了数据存取性能。2、在多客户端环境下,不同客户端的单条数据大小可能不同,这就导致即使每个缓存节点上缓存的数据条数相同,但是总数据大小却不同,即,有的 ...
【技术保护点】
一种数据存取方法,应用于分布式缓存系统,其特征在于,包括:分布式缓存系统的客户端设备根据请求存取的数据主键,确定所述数据主键对应的哈希桶,并根据哈希桶与缓存节点的映射关系,确定所述哈希桶对应的缓存节点;其中,一个哈希桶唯一对应一个缓存节点;所述客户端设备向所述哈希桶对应的缓存节点发起数据存取请求,以请求所述缓存节点根据所述数据存取请求对进行存取处理。
【技术特征摘要】
1.一种数据调度方法,其特征在于,所述方法包括:分布式缓存系统的服务器获取各缓存节点的内存使用信息;所述服务器根据各缓存节点的内存使用信息,确定需要进行数据迁移的源缓存节点,并在确定出需要迁移的源缓存节点后,确定出所述源缓存节点上需要迁移的哈希桶,以及能够容纳该哈希桶中的数据的目标缓存节点;所述服务器向所述源缓存节点发送数据调度指令,以指示所述源缓存节点将需要迁移的哈希桶中的数据迁移到所述目标缓存节点;所述服务器向被迁移的哈希桶所属的客户端设备发送映射关系更新指令,以指示客户端根据本次数据迁移操作更新哈希桶与缓存节点的映射关系;其中,各缓存节点的数据读取方法包括:分布式缓存系统的客户端设备根据请求存取的数据主键,确定所述数据主键对应的哈希桶,并根据哈希桶与缓存节点的映射关系,确定所述哈希桶对应的缓存节点;其中,一个哈希桶唯一对应一个缓存节点;所述客户端设备向所述哈希桶对应的缓存节点发起数据存取请求,以请求所述缓存节点根据所述数据存取请求对进行存取处理。2.如权利要求1所述的方法,其特征在于,所述服务器根据各缓存节点的内存使用信息,确定需要进行数据迁移的源缓存节点,具体包括:所述服务器将各缓存节点的内存使用信息与预设阈值进行比较,若有缓存节点的内存空闲空间占有率低于所述预设阈值,则确定该缓存节点需要进行数据迁移。3.如权利要求1所述的方法,其特征在于,所述服务器获取各缓存节点的内存使用信息之后,还包括:根据各缓存节点的内存使用信息创建二叉树模型;其中,所述二叉树模型中,叶子节点为各缓存节点,每两个孩子节点共享一个双亲节点,叶子节点的权值为缓存节点的内存空闲空间占有率,双亲节点的权值等于其两个孩子节点中较大的权值;所述服务器确定能够容纳该哈希桶中的数据的目标缓存节点,具体包括:步骤a、将二叉树模型的根节点作为起始节点;步骤b、判断起始节点的孩子节点中是否存在内存空闲空间占有率大于需要迁移的哈希桶的数据容量,且二者之差大于预设阈值的节点,若存在,则执行步骤c,否则,结束本流程;步骤c、若起始节点的两个孩子节点的内存空闲空间占有率均大于需要迁移的哈希桶的数据容量,且二者之差大于所述预设阈值,则选择其中权值较大的节点;若起始节点的两个孩子节点中仅有一个孩子节点的内存空闲空间占有率大于需要迁移的哈希桶的数据容量,且二者之差大于所述预设阈值,则选择该孩子节点;步骤d、判断选择出的孩子节点是否为二叉树的叶子节点,若是,则将选择出的孩子节点确定为能够容纳该哈希桶中的数据的目标缓存节点;否则,执行步骤e;步骤e、将选择出的孩子节点作为起始节点,并执行步骤b。4.如权利要求1所述的方法,其特征在于,确定所述源缓存节点上需要迁移的哈希桶的过程,具体包括:随机选择所述源缓存节点中的至少一个哈希桶;或者按照内存空闲空间占有率从大到小的顺序,选择所述源缓存节点中的至少一个哈希桶;或者按照内存空闲空间占有率从小到大的顺序,选择所述源缓存节点中的至少一个哈希桶。5.一种服务器,应用于分布式缓存系统,其特征在于,所述服务器包括:获取模块,用于获取各缓存节点的内存使用信息;决策模块,用于根据所述获取模块获取的各缓存节点的内存使用信息,确定需要进行数据迁移的源缓存节点,并在确定出需要迁移的源缓存节点后,确定出所...
【专利技术属性】
技术研发人员:梁智超,钱岭,周大,孙少陵,
申请(专利权)人:中国移动通信集团公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。