CN105260324A - 用于分布式缓存系统的键值对数据操作方法和装置 - Google Patents
用于分布式缓存系统的键值对数据操作方法和装置 Download PDFInfo
- Publication number
- CN105260324A CN105260324A CN201510661973.4A CN201510661973A CN105260324A CN 105260324 A CN105260324 A CN 105260324A CN 201510661973 A CN201510661973 A CN 201510661973A CN 105260324 A CN105260324 A CN 105260324A
- Authority
- CN
- China
- Prior art keywords
- key
- value pair
- pair data
- operation requests
- data operation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了用于分布式缓存系统的键值对数据操作方法和装置。所述键值对数据操作方法的一具体实施方式包括:接收第一键值对数据操作请求,第一键值对数据操作请求为对至少两个第一键值对数据进行操作的请求;将第一键值对数据操作请求拆分为预定数量个第二键值对数据操作请求,其中,预定数量小于第一键值对数据的数量,第二键值对数据操作请求包括对至少一个第二键值对数据进行操作的请求;将各个第二键值对数据操作请求分别发送到分布式缓存系统所包括的至少一个缓存服务器中的一个;接收各个缓存服务器发送的操作结果;将接收到的操作结果发送到第一键值对数据操作请求的发送端。该实施方式加快了对多个键值对数据进行操作的请求的处理速度。
Description
技术领域
本申请涉及计算机技术领域,具体涉及分布式缓存技术领域,尤其涉及用于分布式缓存系统的键值对数据操作方法和装置。
背景技术
在分布式缓存(Cache)系统中,在客户端和缓存服务器之间通常设有一个代理服务器(Proxy)。对于同时对多个键值对数据进行操作的情况,现有技术的实现方法是:代理服务器将客户端发送的一个对多个键值对数据进行操作的请求拆分为多个单键值对操作请求;将上述多个单键值对操作请求发往缓存服务器;然后在获取到每个单键值对操作请求对应的操作结果后,将接收到的操作结果进行合并,并将合并后的操作结果发送到客户端。
然而,在客户端发送的操作请求为对大量键值对数据进行操作的请求的情况下,采用现有技术的方案,会导致代理服务器的计算负载过高,从而使分布式缓存系统对这类操作请求的处理速度较慢。
发明内容
本申请的目的在于提出一种用于分布式缓存系统的键值对数据操作方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种用于分布式缓存系统的键值对数据操作方法,所述方法包括:接收第一键值对数据操作请求,所述第一键值对数据操作请求为对至少两个第一键值对数据进行操作的请求;将所述第一键值对数据操作请求拆分为预定数量个第二键值对数据操作请求,其中,所述预定数量小于所述第一键值对数据的数量,所述第二键值对数据操作请求包括对至少一个第二键值对数据进行操作的请求,各个第二键值对数据为各个第一键值对数据中的一个;将各个第二键值对数据操作请求分别发送到所述分布式缓存系统所包括的至少一个缓存服务器中的一个;接收各个缓存服务器发送的操作结果,所述操作结果为所述缓存服务器根据所收到的第二键值对数据操作请求进行操作后得到的结果;将接收到的所述操作结果发送到所述第一键值对数据操作请求的发送端。
在一些实施例中,所述将所述第一键值对数据操作请求拆分为预定数量个第二键值对数据操作请求,包括:建立所述预定数量个队列;根据所述第一键值对数据的键Key的哈希结果,将与所述第一键值对数据操作请求对应的对各个第一键值对数据进行操作的各个请求分发到不同的所述队列,生成数量与所述队列数量相同的第二键值对数据操作请求,其中,所述哈希结果为根据所述Key通过预定的哈希算法得到的结果。
在一些实施例中,所述哈希算法为取模算法,其中,所述取模算法中的除数为所述预定数量。
在一些实施例中,所述将接收到的所述操作结果发送到所述第一键值对数据操作请求的发送端,包括:将接收到的各个操作结果合并为操作结果集合;将所述操作结果集合发送到所述发送端。
在一些实施例中,所述预定数量为所述分布式缓存系统中缓存服务器的数量。
在一些实施例中,所述建立预定数量个队列包括:根据所述分布式缓存系统中缓存服务器的数量,建立相应数量的队列,其中,各个队列与各个缓存服务器一一对应。
在一些实施例中,所述将各个第二键值对数据操作请求分别发送到所述分布式缓存系统所包括的至少一个缓存服务器中的一个,包括:
将各个第二键值对数据操作请求分别发送到所在队列所对应的缓存服务器。
第二方面,本申请提供了一种用于分布式缓存系统的键值对数据操作装置,所述装置包括:操作请求接收单元,用于接收第一键值对数据操作请求,所述第一键值对数据操作请求为对至少两个第一键值对数据进行操作的请求;操作请求拆分单元,用于将所述第一键值对数据操作请求拆分为预定数量个第二键值对数据操作请求,其中,所述预定数量小于所述第一键值对数据的数量,所述第二键值对数据操作请求包括对至少一个第二键值对数据进行操作的请求,各个第二键值对数据为各个第一键值对数据中的一个;操作请求发送单元,用于将各个第二键值对数据操作请求分别发送到所述分布式缓存系统所包括的至少一个缓存服务器中的一个;操作结果接收单元,用于接收各个缓存服务器发送的操作结果,所述操作结果为所述缓存服务器根据所收到的第二键值对数据操作请求进行操作后得到的结果;操作结果发送单元,用于将接收到的所述操作结果发送到所述第一键值对数据操作请求的发送端。
在一些实施例中,所述操作请求拆分单元包括:队列建立子单元,用于建立所述预定数量个队列;队列分配子单元,用于根据所述第一键值对数据的键Key的哈希结果,将与所述第一键值对数据操作请求对应的对各个第一键值对数据进行操作的各个请求分发到不同的所述队列,生成数量与所述队列数量相同的第二键值对数据操作请求,其中,所述哈希结果为根据所述Key通过预定的哈希算法得到的结果。
在一些实施例中,所述哈希算法为取模算法,其中,所述取模算法中的除数为所述预定数量。
在一些实施例中,所述操作结果发送单元包括:操作结果合并子单元,用于将接收到的各个操作结果合并为操作结果集合;操作结果集合发送子单元,用于将所述操作结果集合发送到所述发送端。
在一些实施例中,所述预定数量为所述分布式缓存系统中缓存服务器的数量。
在一些实施例中,所述队列建立子单元进一步配置用于根据所述分布式缓存系统中缓存服务器的数量,建立相应数量的队列,其中,各个队列与各个缓存服务器一一对应。
在一些实施例中,所述操作请求发送单元进一步配置用于将各个第二键值对数据操作请求分别发送到所在队列所对应的缓存服务器。
本申请提供的用于分布式缓存系统的键值对数据操作方法和装置,通过将第一键值对数据操作请求拆分为小于第一键值对数据的数量的预定数量个第二键值对数据操作请求,减少了代理服务器需处理的操作数量,从而降低了代理服务器的计算负载,加快了分布式缓存系统对多个键值对数据进行操作的请求的处理速度。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的用于分布式缓存系统的键值对数据操作方法的一个实施例的流程图;
图3是根据本申请的用于分布式缓存系统的键值对数据操作方法的一些数据处理的一个示例性示意图;
图4是根据本申请的本申请的用于分布式缓存系统的键值对数据操作方法的另一些数据处理的一个示例性示意图;
图5是根据本申请的用于分布式缓存系统的键值对数据操作装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的终端设备、代理服务器或缓存服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于分布式缓存系统的键值对数据操作装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104,代理服务器105和缓存服务器106、107、108。网络104用以在终端设备101、102、103,代理服务器(Proxy)105和缓存服务器(CacheServer)106、107、108之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与代理服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种客户端应用,例如浏览器应用、搜索类应用、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是支持数据通信的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
代理服务器105可以是提供代理服务的服务器,例如将终端设备101、102、103发送的数据分发给缓存服务器106、107、108,并将缓存服务器发送的处理结果反馈给终端设备的服务器。缓存服务器106、107、108可以对接收到的数据进行存储、分析等处理,并将处理结果反馈给代理服务器。
需要说明的是,本申请实施例所提供的键值对数据操作方法通常由代理服务器105执行。相应地,键值对数据操作装置通常设置于代理服务器105中。
应该理解,图1中的终端设备、网络、代理服务器和缓存服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,图2示出了根据本申请的用于分布式缓存系统的键值对数据操作方法的一个实施例的流程200。
如图2所示,本实施例的用于分布式缓存系统的键值对数据操作方法包括以下步骤:
步骤201,接收第一键值对数据操作请求,上述第一键值对数据操作请求为对至少两个第一键值对数据进行操作的请求。
在本实施例中,第一键值对数据操作请求可以由终端设备发出,键值对数据操作方法运行于其上的电子设备(例如图1所示的代理服务器)可以通过有线连接方式或者无线连接方式从终端设备接收第一键值对数据操作请求。其中,上述操作请求可以是读、写数据等操作请求。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultrawideband)连接、以及其他现在已知或将来开发的无线连接方式。
步骤202,将上述第一键值对数据操作请求拆分为预定数量个第二键值对数据操作请求。
其中,上述预定数量小于上述第一键值对数据的数量,上述第二键值对数据操作请求包括对至少一个第二键值对数据进行操作的请求,各个第二键值对数据为各个第一键值对数据中的一个。
在本实施例中,代理服务器可以将与第一键值对与数据操作请求对应的对至少两个第一键值对数据进行操作的至少两个请求按照各种预定的规则(如平均分配)分为预定数量个操作请求集合,每个操作请求集合即为一个第二键值对数据操作请求。
在本实施例的一些可选的实现方式中,步骤202可以包括:建立上述预定数量个队列;根据上述第一键值对数据的键Key的哈希(hash)结果,将与上述第一键值对数据操作请求对应的对各个第一键值对数据进行操作的各个请求分发到不同的上述队列,生成数量与上述队列数量相同的第二键值对数据操作请求,其中,上述哈希结果为根据上述Key通过预定的哈希算法得到的结果。具体地,上述哈希算法可以为取模算法,其中,上述取模算法中的除数为上述预定数量。例如,第一键值对数据操作请求为对1000个第一键值对数据进行操作的请求Key分别为1、2、3、…、1000。如果上述预定数量为4,则建立编号分别0、1、2、3的4个队列;对每个第一键值对数据的Key以4为除数取模,得到的结果可以有:0、1、2、3,根据上述结果,将上述各个第一键值对数据进行操作的各个请求分发到对应的队列(例如,将对Key为25的第一键值对数据进行操作的请求分发到队列1)。于是,每个队列中的对第一键值对数据进行操作的请求组成了一个第二键值对数据操作请求。
步骤203,将各个第二键值对数据操作请求分别发送到上述分布式缓存系统所包括的至少一个缓存服务器中的一个。
在本实施例中,代理服务器可以根据每个第二键值对数据操作请求所在的队列的编号,通过网络将第二键值对数据操作请求发送到与其所在的队列编号对应的缓存服务器。
步骤204,接收各个缓存服务器发送的操作结果。其中,上述操作结果为上述缓存服务器根据所收到的第二键值对数据操作请求进行操作后得到的结果。
在本实施例中,如果上述操作请求是读请求,则各个缓存服务器可以根据该请求查询出其接收到的第二键值对数据的Key所对应的值Value,并将这些Value作为操作结果发送给代理服务器。代理服务器可以通过网络接收各个缓存服务器发送的操作结果。
步骤205,将接收到的上述操作结果发送到上述第一键值对数据操作请求的发送端。
在本实施例中,代理服务器可以通过有线连接方式或者无线连接方式将接收到的上述操作结果发送到上述第一键值对数据操作请求的发送端。在本实施例的一些可选的实现方式中,步骤205可以包括:将接收到的各个操作结果合并为操作结果集合;将上述操作结果集合发送到上述发送端。
在本实施例的一些可选的实现方式中,上述预定数量可以为上述分布式缓存系统中缓存服务器的数量。相应地,上述建立预定数量个队列可以包括:根据上述分布式缓存系统中缓存服务器的数量,建立相应数量的队列,其中,各个队列与各个缓存服务器一一对应。以及步骤203可以包括:将各个第二键值对数据操作请求分别发送到所在队列所对应的缓存服务器。通过该实现方式,使得第二键值对数据操作请求与缓存服务器的数量一一对应,就能够使各个缓存服务器的负载更加均衡。
下面参照图3,图3示出了本实施例的用于分布式缓存系统的键值对数据操作方法的一些数据处理的一个示例性示意图。图3所示的数据处理对应图2中步骤201、步骤202以及步骤203的处理,即代理服务器接收、拆分及发送键值对数据操作请求的处理。在图3的数据处理中,代理服务器首先接收一个第一键值对操作请求(Request),其包含对键值对数据1、键值对数据2、键值对数据3、键值对数据4、键值对数据5这5个键值对数据进行操作(例如读取)的请求;然后,代理服务器将该第一键值对操作请求拆分为3个第二键值对请求,其中,第二键值对操作请求1包括对键值对数据1、键值对数据3进行操作的请求,第二键值对操作请求2包括对键值对数据2、键值对数据5进行操作的请求,第二键值对操作请求3包括对键值对数据4进行操作的请求;最后,代理服务器将3个第二键值对操作请求分别发送到缓存服务器1、缓存服务器2和缓存服务器3。
继续参照图4,图4示出了本申请的本申请的用于分布式缓存系统的键值对数据操作方法的另一些数据处理的一个示例性示意图。图4所示的数据处理对应图2中步骤204和步骤205的处理,即代理服务器接收、合并操作结果的处理。在图4的数据处理中,代理服务器首先接收缓存服务器1、缓存服务器2和缓存服务器3分别发送的操作结果1、操作结果2和操作结果3;然后,代理服务器将操作结果1、操作结果2和操作结果中的分别与上述键值对数据1、键值对数据2、键值对数据3、键值对数据4、键值对数据5对应的结果值1、结果值2、结果值3、结果值4、结果值5合并为一个操作结果集合。
应该理解,图3和图4中的键值对数据、操作请求、操作结果等的数目仅仅是示意性的。根据实现需要,可以具有任意数目的键值对数据、操作请求、操作结果。
本实施例提供的用于分布式缓存系统的键值对数据操作方法,通过将第一键值对数据操作请求拆分为小于第一键值对数据的数量的预定数量个第二键值对数据操作请求,减少了代理服务器需处理的操作数量,从而降低了代理服务器的计算负载,加快了分布式缓存系统对多个键值对数据进行操作的请求的处理速度。
进一步参考图5,作为对上述图2所示方法的实现,本申请提供了一种用于分布式缓存系统的键值对数据操作装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种代理服务器中。
如图5所示,本实施的键值对数据操作装置500包括:操作请求接收单元501、操作请求拆分单元502、操作请求发送单元503、操作结果接收单元504以及操作结果发送单元505。其中,操作请求接收单元501,用于接收第一键值对数据操作请求,上述第一键值对数据操作请求为对至少两个第一键值对数据进行操作的请求;操作请求拆分单元502,用于将上述第一键值对数据操作请求拆分为预定数量个第二键值对数据操作请求,其中,上述预定数量小于上述第一键值对数据的数量,上述第二键值对数据操作请求包括对至少一个第二键值对数据进行操作的请求,其中,各个第二键值对数据为各个第一键值对数据中的一个;操作请求发送单元503,用于将各个第二键值对数据操作请求分别发送到上述分布式缓存系统所包括的至少一个缓存服务器中的一个;操作结果接收单元504,用于接收各个缓存服务器发送的操作结果,上述操作结果为上述缓存服务器根据所收到的第二键值对数据操作请求进行操作后得到的结果;操作结果发送单元505,用于将接收到的上述操作结果发送到上述第一键值对数据操作请求的发送端。
在本实施例中,操作请求接收单元501的具体处理可参考上述对图2对应实施例中步骤201的详细描述,在此不再赘述。
在本实施例中,操作请求拆分单元502可以包括:队列建立子单元5021,用于建立上述预定数量个队列;队列分配子单元5022,用于根据上述第一键值对数据的键Key的哈希结果,将与上述第一键值对数据操作请求对应的对各个第一键值对数据进行操作的各个请求分发到不同的上述队列,生成数量与上述队列数量相同的第二键值对数据操作请求,其中,上述哈希结果为根据上述Key通过预定的哈希算法得到的结果。具体地,上述哈希算法可以为取模算法,其中,上述取模算法中的除数为上述预定数量。
在本实施例中,操作请求发送单元503、操作结果接收单元504的具体处理可分别参考上述对图2对应实施例中步骤203、步骤204的详细描述,在此不再赘述。
在本实施例中,上述操作结果发送单元505可以包括:操作结果合并子单元5051,用于将接收到的各个操作结果合并为操作结果集合;操作结果集合发送子单元5052,用于将上述操作结果集合发送到上述发送端。
在本实施例的一些实现方式中,预定数量可以为上述分布式缓存系统中缓存服务器的数量。相应地,上述队列建立子单元5021可以进一步配置用于根据上述分布式缓存系统中缓存服务器的数量,建立相应数量的队列,其中,各个队列与各个缓存服务器一一对应。以及操作请求发送单元503可以进一步配置用于将各个第二键值对数据操作请求分别发送到所在队列所对应的缓存服务器。通过该实现方式,使得第二键值对数据操作请求与缓存服务器的数量一一对应,就能够使各个缓存服务器的负载更加均衡。
本领域技术人员可以理解,上述键值对数据操作装置500还包括一些其他公知结构,例如处理器、存储器等,为了不必要地模糊本公开的实施例,这些公知的结构在图5中未示出。
下面参考图6,其示出了适于用来实现本申请实施例的终端设备、代理服务器或缓存服务器的计算机系统600的结构示意图。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有系统600操作所需的各种程序和数据。CPU601、ROM602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,上述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括操作请求接收单元、操作请求拆分单元、操作请求发送单元、操作结果接收单元以及操作结果发送单。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,操作请求接收单元还可以被描述为“接收终端设备发送的操作请求的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中上述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当上述一个或者多个程序被一个设备执行时,使得上述设备:接收第一键值对数据操作请求,上述第一键值对数据操作请求为对至少两个第一键值对数据进行操作的请求;将上述第一键值对数据操作请求拆分为预定数量个第二键值对数据操作请求,其中,上述预定数量小于上述第一键值对数据的数量,上述第二键值对数据操作请求包括对至少一个第二键值对数据进行操作的请求,其中,各个第二键值对数据为各个第一键值对数据中的一个;将各个第二键值对数据操作请求分别发送到上述分布式缓存系统所包括的至少一个缓存服务器中的一个;接收各个缓存服务器发送的操作结果,上述操作结果为上述缓存服务器根据所收到的第二键值对数据操作请求进行操作后得到的结果;将接收到的上述操作结果发送到上述第一键值对数据操作请求的发送端。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (14)
1.一种用于分布式缓存系统的键值对数据操作方法,其特征在于,所述方法包括:
接收第一键值对数据操作请求,所述第一键值对数据操作请求为对至少两个第一键值对数据进行操作的请求;
将所述第一键值对数据操作请求拆分为预定数量个第二键值对数据操作请求,其中,所述预定数量小于所述第一键值对数据的数量,所述第二键值对数据操作请求包括对至少一个第二键值对数据进行操作的请求,各个第二键值对数据为各个第一键值对数据中的一个;
将各个第二键值对数据操作请求分别发送到所述分布式缓存系统所包括的至少一个缓存服务器中的一个;
接收各个缓存服务器发送的操作结果,所述操作结果为所述缓存服务器根据所收到的第二键值对数据操作请求进行操作后得到的结果;
将接收到的所述操作结果发送到所述第一键值对数据操作请求的发送端。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一键值对数据操作请求拆分为预定数量个第二键值对数据操作请求,包括:
建立所述预定数量个队列;
根据所述第一键值对数据的键Key的哈希结果,将与所述第一键值对数据操作请求对应的对各个第一键值对数据进行操作的各个请求分发到不同的所述队列,生成数量与所述队列数量相同的第二键值对数据操作请求,其中,所述哈希结果为根据所述Key通过预定的哈希算法得到的结果。
3.根据权利要求2所述的方法,其特征在于,所述哈希算法为取模算法,其中,所述取模算法中的除数为所述预定数量。
4.根据权利要求1所述的方法,其特征在于,所述将接收到的所述操作结果发送到所述第一键值对数据操作请求的发送端,包括:
将接收到的各个操作结果合并为操作结果集合;
将所述操作结果集合发送到所述发送端。
5.根据权利要求1-4任一所述的方法,其特征在于,所述预定数量为所述分布式缓存系统中缓存服务器的数量。
6.根据权利要求5所述的方法,其特征在于,所述建立预定数量个队列包括:
根据所述分布式缓存系统中缓存服务器的数量,建立相应数量的队列,其中,各个队列与各个缓存服务器一一对应。
7.根据权利要求6所述的方法,其特征在于,所述将各个第二键值对数据操作请求分别发送到所述分布式缓存系统所包括的至少一个缓存服务器中的一个,包括:
将各个第二键值对数据操作请求分别发送到所在队列所对应的缓存服务器。
8.一种用于分布式缓存系统的键值对数据操作装置,其特征在于,所述装置包括:
操作请求接收单元,用于接收第一键值对数据操作请求,所述第一键值对数据操作请求为对至少两个第一键值对数据进行操作的请求;
操作请求拆分单元,用于将所述第一键值对数据操作请求拆分为预定数量个第二键值对数据操作请求,其中,所述预定数量小于所述第一键值对数据的数量,所述第二键值对数据操作请求包括对至少一个第二键值对数据进行操作的请求,各个第二键值对数据为各个第一键值对数据中的一个;
操作请求发送单元,用于将各个第二键值对数据操作请求分别发送到所述分布式缓存系统所包括的至少一个缓存服务器中的一个;
操作结果接收单元,用于接收各个缓存服务器发送的操作结果,所述操作结果为所述缓存服务器根据所收到的第二键值对数据操作请求进行操作后得到的结果;
操作结果发送单元,用于将接收到的所述操作结果发送到所述第一键值对数据操作请求的发送端。
9.根据权利要求8所述的装置,其特征在于,所述操作请求拆分单元包括:
队列建立子单元,用于建立所述预定数量个队列;
队列分配子单元,用于根据所述第一键值对数据的键Key的哈希结果,将与所述第一键值对数据操作请求对应的对各个第一键值对数据进行操作的各个请求分发到不同的所述队列,生成数量与所述队列数量相同的第二键值对数据操作请求,其中,所述哈希结果为根据所述Key通过预定的哈希算法得到的结果。
10.根据权利要求9所述的装置,其特征在于,所述哈希算法为取模算法,其中,所述取模算法中的除数为所述预定数量。
11.根据权利要求8所述的装置,其特征在于,所述操作结果发送单元包括:
操作结果合并子单元,用于将接收到的各个操作结果合并为操作结果集合;
操作结果集合发送子单元,用于将所述操作结果集合发送到所述发送端。
12.根据权利要求8-11任一所述的装置,其特征在于,所述预定数量为所述分布式缓存系统中缓存服务器的数量。
13.根据权利要求12所述的装置,其特征在于,所述队列建立子单元进一步配置用于根据所述分布式缓存系统中缓存服务器的数量,建立相应数量的队列,其中,各个队列与各个缓存服务器一一对应。
14.根据权利要求13所述的装置,其特征在于,所述操作请求发送单元进一步配置用于将各个第二键值对数据操作请求分别发送到所在队列所对应的缓存服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510661973.4A CN105260324B (zh) | 2015-10-14 | 2015-10-14 | 用于分布式缓存系统的键值对数据操作方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510661973.4A CN105260324B (zh) | 2015-10-14 | 2015-10-14 | 用于分布式缓存系统的键值对数据操作方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105260324A true CN105260324A (zh) | 2016-01-20 |
CN105260324B CN105260324B (zh) | 2018-12-07 |
Family
ID=55100023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510661973.4A Active CN105260324B (zh) | 2015-10-14 | 2015-10-14 | 用于分布式缓存系统的键值对数据操作方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105260324B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113157717A (zh) * | 2021-05-26 | 2021-07-23 | 深圳平安智汇企业信息管理有限公司 | 长数据链路的缓存刷新方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141995A (zh) * | 2010-01-29 | 2011-08-03 | 国际商业机器公司 | 简化并行计算系统中的传输的系统与方法 |
CN102833228A (zh) * | 2012-07-27 | 2012-12-19 | 江苏亿通高科技股份有限公司 | 一种云计算环境下免疫网络的病毒检测系统及方法 |
CN103106253A (zh) * | 2013-01-16 | 2013-05-15 | 西安交通大学 | 一种MapReduce计算模型中基于遗传算法的数据平衡方法 |
CN103747073A (zh) * | 2013-12-30 | 2014-04-23 | 乐视网信息技术(北京)股份有限公司 | 一种分布式缓存的方法和系统 |
US20150156172A1 (en) * | 2012-06-15 | 2015-06-04 | Alcatel Lucent | Architecture of privacy protection system for recommendation services |
-
2015
- 2015-10-14 CN CN201510661973.4A patent/CN105260324B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141995A (zh) * | 2010-01-29 | 2011-08-03 | 国际商业机器公司 | 简化并行计算系统中的传输的系统与方法 |
US20150156172A1 (en) * | 2012-06-15 | 2015-06-04 | Alcatel Lucent | Architecture of privacy protection system for recommendation services |
CN102833228A (zh) * | 2012-07-27 | 2012-12-19 | 江苏亿通高科技股份有限公司 | 一种云计算环境下免疫网络的病毒检测系统及方法 |
CN103106253A (zh) * | 2013-01-16 | 2013-05-15 | 西安交通大学 | 一种MapReduce计算模型中基于遗传算法的数据平衡方法 |
CN103747073A (zh) * | 2013-12-30 | 2014-04-23 | 乐视网信息技术(北京)股份有限公司 | 一种分布式缓存的方法和系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113157717A (zh) * | 2021-05-26 | 2021-07-23 | 深圳平安智汇企业信息管理有限公司 | 长数据链路的缓存刷新方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105260324B (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108696895B (zh) | 资源获取方法、装置及系统 | |
CN105071976A (zh) | 数据传输方法和装置 | |
CN105260229A (zh) | 拉取虚拟机镜像文件的方法和装置 | |
CN105205174A (zh) | 用于分布式系统的文件处理方法和装置 | |
CN110825479A (zh) | 页面处理方法、装置、终端设备、服务器和存储介质 | |
CN105376111B (zh) | 资源分配方法和装置 | |
CN109388626B (zh) | 用于向业务分配编号的方法和装置 | |
CN105472045A (zh) | 数据库迁移的方法和装置 | |
CN111125107A (zh) | 数据处理方法、装置、电子设备和介质 | |
CN106817391A (zh) | 文件断点续传方法和装置 | |
CN105183670A (zh) | 用于分布式缓存系统的数据处理方法和装置 | |
CN105488125A (zh) | 页面访问方法和装置 | |
CN103475744A (zh) | 一种基于Web应用的资源下载方法、装置和系统 | |
CN108011949B (zh) | 用于获取数据的方法和装置 | |
CN112307065B (zh) | 一种数据处理方法、装置及服务器 | |
US20190179748A1 (en) | Method and device for storing data | |
CN110598093B (zh) | 一种业务规则管理方法及装置 | |
CN107918617B (zh) | 数据查询方法和装置 | |
CN105335313A (zh) | 一种基础数据的传输方法及装置 | |
CN111262907B (zh) | 服务实例访问方法、装置和电子设备 | |
CN107045452B (zh) | 虚拟机调度方法和装置 | |
CN109218339B (zh) | 请求处理方法和装置 | |
CN112688980B (zh) | 资源分发方法、装置、计算机设备 | |
CN105260324A (zh) | 用于分布式缓存系统的键值对数据操作方法和装置 | |
CN105991450B (zh) | Mac地址表更新方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |