續(xù)參照圖4,圖4示出了本申請的本申請的用于分布式緩存系統(tǒng)的鍵值對數(shù)據(jù)操作方法的另一些數(shù)據(jù)處理的一個示例性示意圖。圖4所示的數(shù)據(jù)處理對應(yīng)圖2中步驟204和步驟205的處理,即代理服務(wù)器接收、合并操作結(jié)果的處理。在圖4的數(shù)據(jù)處理中,代理服務(wù)器首先接收緩存服務(wù)器1、緩存服務(wù)器2和緩存服務(wù)器3分別發(fā)送的操作結(jié)果1、操作結(jié)果2和操作結(jié)果3 ;然后,代理服務(wù)器將操作結(jié)果1、操作結(jié)果2和操作結(jié)果中的分別與上述鍵值對數(shù)據(jù)1、鍵值對數(shù)據(jù)2、鍵值對數(shù)據(jù)3、鍵值對數(shù)據(jù)4、鍵值對數(shù)據(jù)5對應(yīng)的結(jié)果值
1、結(jié)果值2、結(jié)果值3、結(jié)果值4、結(jié)果值5合并為一個操作結(jié)果集合。
[0054]應(yīng)該理解,圖3和圖4中的鍵值對數(shù)據(jù)、操作請求、操作結(jié)果等的數(shù)目僅僅是示意性的。根據(jù)實現(xiàn)需要,可以具有任意數(shù)目的鍵值對數(shù)據(jù)、操作請求、操作結(jié)果。
[0055]本實施例提供的用于分布式緩存系統(tǒng)的鍵值對數(shù)據(jù)操作方法,通過將第一鍵值對數(shù)據(jù)操作請求拆分為小于第一鍵值對數(shù)據(jù)的數(shù)量的預(yù)定數(shù)量個第二鍵值對數(shù)據(jù)操作請求,減少了代理服務(wù)器需處理的操作數(shù)量,從而降低了代理服務(wù)器的計算負載,加快了分布式緩存系統(tǒng)對多個鍵值對數(shù)據(jù)進行操作的請求的處理速度。
[0056]進一步參考圖5,作為對上述圖2所示方法的實現(xiàn),本申請?zhí)峁┝艘环N用于分布式緩存系統(tǒng)的鍵值對數(shù)據(jù)操作裝置的一個實施例,該裝置實施例與圖2所示的方法實施例相對應(yīng),該裝置具體可以應(yīng)用于各種代理服務(wù)器中。
[0057]如圖5所示,本實施的鍵值對數(shù)據(jù)操作裝置500包括:操作請求接收單元501、操作請求拆分單元502、操作請求發(fā)送單元503、操作結(jié)果接收單元504以及操作結(jié)果發(fā)送單元505。其中,操作請求接收單元501,用于接收第一鍵值對數(shù)據(jù)操作請求,上述第一鍵值對數(shù)據(jù)操作請求為對至少兩個第一鍵值對數(shù)據(jù)進行操作的請求;操作請求拆分單元502,用于將上述第一鍵值對數(shù)據(jù)操作請求拆分為預(yù)定數(shù)量個第二鍵值對數(shù)據(jù)操作請求,其中,上述預(yù)定數(shù)量小于上述第一鍵值對數(shù)據(jù)的數(shù)量,上述第二鍵值對數(shù)據(jù)操作請求包括對至少一個第二鍵值對數(shù)據(jù)進行操作的請求,其中,各個第二鍵值對數(shù)據(jù)為各個第一鍵值對數(shù)據(jù)中的一個;操作請求發(fā)送單元503,用于將各個第二鍵值對數(shù)據(jù)操作請求分別發(fā)送到上述分布式緩存系統(tǒng)所包括的至少一個緩存服務(wù)器中的一個;操作結(jié)果接收單元504,用于接收各個緩存服務(wù)器發(fā)送的操作結(jié)果,上述操作結(jié)果為上述緩存服務(wù)器根據(jù)所收到的第二鍵值對數(shù)據(jù)操作請求進行操作后得到的結(jié)果;操作結(jié)果發(fā)送單元505,用于將接收到的上述操作結(jié)果發(fā)送到上述第一鍵值對數(shù)據(jù)操作請求的發(fā)送端。
[0058]在本實施例中,操作請求接收單元501的具體處理可參考上述對圖2對應(yīng)實施例中步驟201的詳細描述,在此不再贅述。
[0059]在本實施例中,操作請求拆分單元502可以包括:隊列建立子單元5021,用于建立上述預(yù)定數(shù)量個隊列;隊列分配子單元5022,用于根據(jù)上述第一鍵值對數(shù)據(jù)的鍵Key的哈希結(jié)果,將與上述第一鍵值對數(shù)據(jù)操作請求對應(yīng)的對各個第一鍵值對數(shù)據(jù)進行操作的各個請求分發(fā)到不同的上述隊列,生成數(shù)量與上述隊列數(shù)量相同的第二鍵值對數(shù)據(jù)操作請求,其中,上述哈希結(jié)果為根據(jù)上述Key通過預(yù)定的哈希算法得到的結(jié)果。具體地,上述哈希算法可以為取模算法,其中,上述取模算法中的除數(shù)為上述預(yù)定數(shù)量。
[0060]在本實施例中,操作請求發(fā)送單元503、操作結(jié)果接收單元504的具體處理可分別參考上述對圖2對應(yīng)實施例中步驟203、步驟204的詳細描述,在此不再贅述。
[0061]在本實施例中,上述操作結(jié)果發(fā)送單元505可以包括:操作結(jié)果合并子單元5051,用于將接收到的各個操作結(jié)果合并為操作結(jié)果集合;操作結(jié)果集合發(fā)送子單元5052,用于將上述操作結(jié)果集合發(fā)送到上述發(fā)送端。
[0062]在本實施例的一些實現(xiàn)方式中,預(yù)定數(shù)量可以為上述分布式緩存系統(tǒng)中緩存服務(wù)器的數(shù)量。相應(yīng)地,上述隊列建立子單元5021可以進一步配置用于根據(jù)上述分布式緩存系統(tǒng)中緩存服務(wù)器的數(shù)量,建立相應(yīng)數(shù)量的隊列,其中,各個隊列與各個緩存服務(wù)器一一對應(yīng)。以及操作請求發(fā)送單元503可以進一步配置用于將各個第二鍵值對數(shù)據(jù)操作請求分別發(fā)送到所在隊列所對應(yīng)的緩存服務(wù)器。通過該實現(xiàn)方式,使得第二鍵值對數(shù)據(jù)操作請求與緩存服務(wù)器的數(shù)量一一對應(yīng),就能夠使各個緩存服務(wù)器的負載更加均衡。
[0063]本領(lǐng)域技術(shù)人員可以理解,上述鍵值對數(shù)據(jù)操作裝置500還包括一些其他公知結(jié)構(gòu),例如處理器、存儲器等,為了不必要地模糊本公開的實施例,這些公知的結(jié)構(gòu)在圖5中未示出。
[0064]下面參考圖6,其示出了適于用來實現(xiàn)本申請實施例的終端設(shè)備、代理服務(wù)器或緩存服務(wù)器的計算機系統(tǒng)600的結(jié)構(gòu)示意圖。
[0065]如圖6所示,計算機系統(tǒng)600包括中央處理單元(CPU)601,其可以根據(jù)存儲在只讀存儲器(ROM) 602中的程序或者從存儲部分608加載到隨機訪問存儲器(RAM) 603中的程序而執(zhí)行各種適當?shù)膭幼骱吞幚?。在RAM 603中,還存儲有系統(tǒng)600操作所需的各種程序和數(shù)據(jù)。CPU 601,ROM 602以及RAM 603通過總線604彼此相連。輸入/輸出(I/O)接口605也連接至總線604。
[0066]以下部件連接至I/O接口 605:包括鍵盤、鼠標等的輸入部分606 ;包括諸如陰極射線管(CRT)、液晶顯示器(LCD)等以及揚聲器等的輸出部分607 ;包括硬盤等的存儲部分608 ;以及包括諸如LAN卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分609。通信部分609經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動器610也根據(jù)需要連接至I/O接口 605??刹鹦督橘|(zhì)611,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲器等等,根據(jù)需要安裝在驅(qū)動器610上,以便于從其上讀出的計算機程序根據(jù)需要被安裝入存儲部分608。
[0067]特別地,根據(jù)本公開的實施例,上文參考流程圖描述的過程可以被實現(xiàn)為計算機軟件程序。例如,本公開的實施例包括一種計算機程序產(chǎn)品,其包括有形地包含在機器可讀介質(zhì)上的計算機程序,上述計算機程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實施例中,該計算機程序可以通過通信部分609從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)611被安裝。
[0068]附圖中的流程圖和框圖,圖示了按照本申請各種實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,上述模塊、程序段、或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
[0069]描述于本申請實施例中所涉及到的單元可以通過軟件的方式實現(xiàn),也可以通過硬件的方式來實現(xiàn)。所描述的單元也可以設(shè)置在處理器中,例如,可以描述為:一種處理器包括操作請求接收單元、操作請求拆分單元、操作請求發(fā)送單元、操作結(jié)果接收單元以及操作結(jié)果發(fā)送單。其中,這些單元的名稱在某種情