用于分布式缓存系统的键值对数据操作方法和装置的制造方法

文档序号:9506133阅读:403来源:国知局
用于分布式缓存系统的键值对数据操作方法和装置的制造方法
【技术领域】
[0001]本申请涉及计算机技术领域,具体涉及分布式缓存技术领域,尤其涉及用于分布式缓存系统的键值对数据操作方法和装置。
【背景技术】
[0002]在分布式缓存(Cache)系统中,在客户端和缓存服务器之间通常设有一个代理服务器(Proxy)。对于同时对多个键值对数据进行操作的情况,现有技术的实现方法是:代理服务器将客户端发送的一个对多个键值对数据进行操作的请求拆分为多个单键值对操作请求;将上述多个单键值对操作请求发往缓存服务器;然后在获取到每个单键值对操作请求对应的操作结果后,将接收到的操作结果进行合并,并将合并后的操作结果发送到客户端。
[0003]然而,在客户端发送的操作请求为对大量键值对数据进行操作的请求的情况下,采用现有技术的方案,会导致代理服务器的计算负载过高,从而使分布式缓存系统对这类操作请求的处理速度较慢。

【发明内容】

[0004]本申请的目的在于提出一种用于分布式缓存系统的键值对数据操作方法和装置,来解决以上【背景技术】部分提到的技术问题。
[0005]第一方面,本申请提供了一种用于分布式缓存系统的键值对数据操作方法,所述方法包括:接收第一键值对数据操作请求,所述第一键值对数据操作请求为对至少两个第一键值对数据进行操作的请求;将所述第一键值对数据操作请求拆分为预定数量个第二键值对数据操作请求,其中,所述预定数量小于所述第一键值对数据的数量,所述第二键值对数据操作请求包括对至少一个第二键值对数据进行操作的请求,各个第二键值对数据为各个第一键值对数据中的一个;将各个第二键值对数据操作请求分别发送到所述分布式缓存系统所包括的至少一个缓存服务器中的一个;接收各个缓存服务器发送的操作结果,所述操作结果为所述缓存服务器根据所收到的第二键值对数据操作请求进行操作后得到的结果;将接收到的所述操作结果发送到所述第一键值对数据操作请求的发送端。
[0006]在一些实施例中,所述将所述第一键值对数据操作请求拆分为预定数量个第二键值对数据操作请求,包括:建立所述预定数量个队列;根据所述第一键值对数据的键Key的哈希结果,将与所述第一键值对数据操作请求对应的对各个第一键值对数据进行操作的各个请求分发到不同的所述队列,生成数量与所述队列数量相同的第二键值对数据操作请求,其中,所述哈希结果为根据所述Key通过预定的哈希算法得到的结果。
[0007]在一些实施例中,所述哈希算法为取模算法,其中,所述取模算法中的除数为所述预定数量。
[0008]在一些实施例中,所述将接收到的所述操作结果发送到所述第一键值对数据操作请求的发送端,包括:将接收到的各个操作结果合并为操作结果集合;将所述操作结果集合发送到所述发送端。
[0009]在一些实施例中,所述预定数量为所述分布式缓存系统中缓存服务器的数量。
[0010]在一些实施例中,所述建立预定数量个队列包括:根据所述分布式缓存系统中缓存服务器的数量,建立相应数量的队列,其中,各个队列与各个缓存服务器对应。
[0011 ] 在一些实施例中,所述将各个第二键值对数据操作请求分别发送到所述分布式缓存系统所包括的至少一个缓存服务器中的一个,包括:
[0012]将各个第二键值对数据操作请求分别发送到所在队列所对应的缓存服务器。
[0013]第二方面,本申请提供了一种用于分布式缓存系统的键值对数据操作装置,所述装置包括:操作请求接收单元,用于接收第一键值对数据操作请求,所述第一键值对数据操作请求为对至少两个第一键值对数据进行操作的请求;操作请求拆分单元,用于将所述第一键值对数据操作请求拆分为预定数量个第二键值对数据操作请求,其中,所述预定数量小于所述第一键值对数据的数量,所述第二键值对数据操作请求包括对至少一个第二键值对数据进行操作的请求,各个第二键值对数据为各个第一键值对数据中的一个;操作请求发送单元,用于将各个第二键值对数据操作请求分别发送到所述分布式缓存系统所包括的至少一个缓存服务器中的一个;操作结果接收单元,用于接收各个缓存服务器发送的操作结果,所述操作结果为所述缓存服务器根据所收到的第二键值对数据操作请求进行操作后得到的结果;操作结果发送单元,用于将接收到的所述操作结果发送到所述第一键值对数据操作请求的发送端。
[0014]在一些实施例中,所述操作请求拆分单元包括:队列建立子单元,用于建立所述预定数量个队列;队列分配子单元,用于根据所述第一键值对数据的键Key的哈希结果,将与所述第一键值对数据操作请求对应的对各个第一键值对数据进行操作的各个请求分发到不同的所述队列,生成数量与所述队列数量相同的第二键值对数据操作请求,其中,所述哈希结果为根据所述Key通过预定的哈希算法得到的结果。
[0015]在一些实施例中,所述哈希算法为取模算法,其中,所述取模算法中的除数为所述预定数量。
[0016]在一些实施例中,所述操作结果发送单元包括:操作结果合并子单元,用于将接收到的各个操作结果合并为操作结果集合;操作结果集合发送子单元,用于将所述操作结果集合发送到所述发送端。
[0017]在一些实施例中,所述预定数量为所述分布式缓存系统中缓存服务器的数量。
[0018]在一些实施例中,所述队列建立子单元进一步配置用于根据所述分布式缓存系统中缓存服务器的数量,建立相应数量的队列,其中,各个队列与各个缓存服务器对应。
[0019]在一些实施例中,所述操作请求发送单元进一步配置用于将各个第二键值对数据操作请求分别发送到所在队列所对应的缓存服务器。
[0020]本申请提供的用于分布式缓存系统的键值对数据操作方法和装置,通过将第一键值对数据操作请求拆分为小于第一键值对数据的数量的预定数量个第二键值对数据操作请求,减少了代理服务器需处理的操作数量,从而降低了代理服务器的计算负载,加快了分布式缓存系统对多个键值对数据进行操作的请求的处理速度。
【附图说明】
[0021]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0022]图1是本申请可以应用于其中的示例性系统架构图;
[0023]图2是根据本申请的用于分布式缓存系统的键值对数据操作方法的一个实施例的流程图;
[0024]图3是根据本申请的用于分布式缓存系统的键值对数据操作方法的一些数据处理的一个示例性示意图;
[0025]图4是根据本申请的本申请的用于分布式缓存系统的键值对数据操作方法的另一些数据处理的一个示例性示意图;
[0026]图5是根据本申请的用于分布式缓存系统的键值对数据操作装置的一个实施例的结构示意图;
[0027]图6是适于用来实现本申请实施例的终端设备、代理服务器或缓存服务器的计算机系统的结构示意图。
【具体实施方式】
[0028]下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
[0029]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1