一種降低用戶組匹配過程中負載峰值的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及服務(wù)器的處理技術(shù),尤其涉及一種降低用戶組匹配過程中負載峰值的 方法和裝置。
【背景技術(shù)】
[0002] 目前,互聯(lián)網(wǎng)已經(jīng)成為人們?nèi)粘I钪兄匾臏贤ㄇ?。借由各種應(yīng)用程序,人們 可以通過互聯(lián)網(wǎng)進行各種社交行為。例如,網(wǎng)絡(luò)游戲即是一種具有社交屬性的應(yīng)用程序。
[0003] 服務(wù)器可以通過用戶組匹配過程,將具有一定共性的用戶聚集到一起,從而使用 戶尋找社交對象變得更方便,快捷。
[0004] 現(xiàn)有的用戶組匹配過程中,服務(wù)器從等待隊列中獲取用戶集合,并判斷用戶集合 是否符合匹配目標(biāo),如果符合,則完成匹配,將用戶集合移出等待隊列,并調(diào)用匹配成功處 理函數(shù),如果不符合,則繼續(xù)獲取用戶集合。如果最終無法獲得滿足匹配目標(biāo)的用戶集合, 則匹配失敗。
[0005] 由上可知,服務(wù)器的主要性能消耗在獲得用戶集合和驗證用戶集合是否滿足匹配 目標(biāo)的循環(huán)上。如果長時間無法獲得滿足匹配目標(biāo)的用戶集合,則服務(wù)器需要反復(fù)進行用 戶集合獲取以及匹配目標(biāo)驗證工作。由于這一過程所消耗的時間與服務(wù)器用戶分布狀態(tài)相 關(guān),因而時間開銷浮動較大,容易造成很高的服務(wù)器負載峰值,進而降低服務(wù)器的性能,延 長用戶的等待時間。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的實施例提供一種降低用戶組匹配過程中負載峰值的方法和裝置,能夠降 低服務(wù)器負載峰值,提高服務(wù)器的性能,縮短用戶的等待時間。
[0007] 為達到上述目的,本發(fā)明的實施例采用如下技術(shù)方案:
[0008] -方面,本發(fā)明實施例提供了一種降低用戶組匹配過程中負載峰值的方法,所述 方法包括:
[0009] 獲取用戶組的匹配目標(biāo),其中,所述用戶組的匹配目標(biāo)用于表示該用戶組需要滿 足的條件集合;
[0010] 根據(jù)所述用戶組的匹配目標(biāo),在維護的用戶列表中獲取用戶集合;
[0011] 計算所述用戶集合與所述匹配目標(biāo)的匹配度;
[0012] 根據(jù)所述用戶集合與所述匹配目標(biāo)的匹配度,以及服務(wù)器的負載情況,動態(tài)判斷 所述用戶集合是否滿足所述用戶組的匹配目標(biāo);
[0013] 若所述用戶集合不滿足所述用戶組的匹配目標(biāo),則重新獲取新的用戶集合,若所 述用戶集合滿足所述用戶組的匹配目標(biāo),則確定所述用戶集合為匹配成功的用戶組。
[0014] 另一方面,本發(fā)明實施例還提供了一種降低用戶組匹配過程中負載峰值的裝置, 包括:
[0015] 匹配目標(biāo)獲取單元,用于獲取用戶組的匹配目標(biāo),其中,所述用戶組的匹配目標(biāo)用 于表示該用戶組需要滿足的條件集合;
[0016] 用戶集合獲取單元,用于根據(jù)所述用戶組的匹配目標(biāo),在維護的用戶列表中獲取 用戶集合;
[0017] 計算單元,用于計算所述用戶集合與所述匹配目標(biāo)的匹配度;
[0018] 判斷單元,用于根據(jù)所述用戶集合與所述匹配目標(biāo)的匹配度,以及服務(wù)器的負載 情況,動態(tài)判斷所述用戶集合是否滿足所述用戶組的匹配目標(biāo);
[0019] 所述用戶集合獲取單元還用于,若所述用戶集合不滿足所述用戶組的匹配目標(biāo), 則重新獲取新的用戶集合;
[0020] 確定單元,用于若所述用戶集合滿足所述用戶組的匹配目標(biāo),則確定所述用戶集 合為匹配成功的用戶組。
[0021] 本發(fā)明實施例提供一種降低用戶組匹配過程中負載峰值的方法和服務(wù)器,首先, 獲取用戶組的匹配目標(biāo),其中,所述用戶組的匹配目標(biāo)用于表示該用戶組需要滿足的條件 集合;再根據(jù)所述用戶組的匹配目標(biāo),在維護的用戶列表中獲取用戶集合;然后計算所述 用戶集合與所述匹配目標(biāo)的匹配度;最后根據(jù)所述用戶集合與所述匹配目標(biāo)的匹配度,以 及服務(wù)器的負載情況,動態(tài)判斷所述用戶集合是否滿足所述用戶組的匹配目標(biāo),若所述用 戶集合不滿足所述用戶組的匹配目標(biāo),則重新獲取新的用戶集合,若所述用戶集合滿足所 述用戶組的匹配目標(biāo),則確定所述用戶集合為匹配成功的用戶組。由此可見,相比現(xiàn)有技術(shù) 而言,采用上述方法,能夠根據(jù)當(dāng)前服務(wù)器負載情況動態(tài)判斷確定用戶集合是否滿足用戶 組的匹配目標(biāo),從而降低服務(wù)器負載峰值,提高服務(wù)器的性能,縮短用戶的等待時間。
【附圖說明】
[0022] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0023] 圖1為本發(fā)明實施例提供的一種應(yīng)用場景示意圖;
[0024] 圖2為本發(fā)明實施例提供的一種服務(wù)器的硬件結(jié)構(gòu)圖;
[0025] 圖3為本發(fā)明實施例提供的一種降低用戶組匹配過程中負載峰值的方法流程圖;
[0026] 圖4為本發(fā)明實施例提供的一種匹配目標(biāo)的分類示意圖;
[0027] 圖5為本發(fā)明實施例提供的另一種降低用戶組匹配過程中負載峰值的方法流程 圖;
[0028] 圖6為本發(fā)明實施例提供的一種降低用戶組匹配過程中負載峰值的裝置框圖;
[0029] 圖7為本發(fā)明實施例提供的另一種降低用戶組匹配過程中負載峰值的裝置框圖;
[0030] 圖8為本發(fā)明實施例提供的又一種降低用戶組匹配過程中負載峰值的裝置框圖。
【具體實施方式】
[0031] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于 本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。
[0032] 本實施例提供一種降低用戶組匹配過程中負載峰值的方法和裝置,可以應(yīng)用于服 務(wù)器,服務(wù)器是指為分布在不同地域的網(wǎng)絡(luò)游戲客戶端提供集中式數(shù)據(jù)轉(zhuǎn)發(fā)與邏輯處理服 務(wù)的設(shè)備。
[0033] 圖1為本發(fā)明實施例提供的一種應(yīng)用場景示意圖。如圖1所示,每個用戶11可以 通過網(wǎng)絡(luò)與服務(wù)器10進行通信??梢岳斫猓瑘D1中雖然以用戶為例進行說明。但實質(zhì)上用 戶11與服務(wù)器10進行通信需要依賴于某個客戶端。上述的客戶端是指安裝運行有智能操 作系統(tǒng)的電子裝置。其具體實例包括但并不限于電腦、筆記本電腦、平板電腦、智能手機、可 穿戴式移動電子終端如智能手表、眼鏡等等。
[0034] 圖2示出了上述服務(wù)器10的一種硬件結(jié)構(gòu)圖。如圖2所示,服務(wù)器10包括一個 或多個(圖中僅示出一個)處理器101、存儲器102,傳輸模塊103以及通信總線104。本領(lǐng) 域普通技術(shù)人員可以理解,圖2所示的結(jié)構(gòu)僅為示意,其并不對服務(wù)器10的結(jié)構(gòu)造成限定。 例如,服務(wù)器10還可包括比圖2中所示更多或者更少的組件,或者具有與圖2所示不同的 配置。
[0035] 通信總線104用于服務(wù)器10中各組成部件之間的通信。
[0036] 存儲器102可用于存儲軟件程序以及模塊,如本發(fā)明實施例中的降低用戶組匹配 過程中負載峰值的方法及裝置對應(yīng)的程序指令/模塊,處理器101通過運行存儲在存儲器 102內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實現(xiàn)上述的降低用戶 組匹配過程中負載峰值的方法及裝置。存儲器102可包括高速隨機存儲器,還可包括非易 失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些 實例中,存儲器102可進一步包括相對于處理器101遠程設(shè)置的存儲器,這些遠程存儲器可 以通過網(wǎng)絡(luò)連接至服務(wù)器10。上述網(wǎng)絡(luò)的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、 移動通信網(wǎng)及其組合。
[0037] 傳輸模塊103用于經(jīng)由一個網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡(luò)具體實例可 包括有線網(wǎng)絡(luò)及無線網(wǎng)絡(luò)。在一個實例中,傳輸模塊103包括一個網(wǎng)絡(luò)適配器(Network Interface Controller,NIC),其可通過網(wǎng)線與其他網(wǎng)絡(luò)設(shè)備與路由器相連從而可與互聯(lián)網(wǎng) 進行通訊。在一個實例中,傳輸模塊103為射頻(Radio Frequency, RF)模塊,其用于通過 無線方式與客戶端進行通訊。
[0038] 圖3為第一實施例提供的降低用戶組匹配過程中負載峰值的方法的流程圖。如圖 3所示,該方法包括:
[0039] 步驟301、獲取用戶組的匹配目標(biāo),其中,所述用戶組的匹配目標(biāo)用于表示該用戶 組需要滿足的條件集合。
[0040] 示例性的,服務(wù)器10可以在不同的條件發(fā)起匹配行為。例如,參見圖1,服務(wù)器10 可以根據(jù)用戶發(fā)送的匹配請求發(fā)起匹配行為;或者,服務(wù)器可以定時發(fā)起匹配行為;再或 者,服務(wù)器10可以根據(jù)事件觸發(fā)匹配行為。本實施例對此不進行具體限定。
[0041] 所以,一種實例中,步驟301可以包括以下步驟:
[0042] 接收客戶端發(fā)送的匹配請求,所述匹配請求與一個或多個用戶相對應(yīng),且包含所 述一個或多個用戶請求加入的用戶組標(biāo)識;
[0043] 根據(jù)所述用戶組標(biāo)識,查詢預(yù)設(shè)的用戶組標(biāo)識和匹配目標(biāo)的對應(yīng)關(guān)系,獲取與所 述用戶組的標(biāo)識對應(yīng)的匹配目標(biāo)。
[0044] 如圖1所示,不同的用戶分別向服務(wù)器10發(fā)起匹配請求。相應(yīng)地,服務(wù)器10通過 其傳輸模塊103接收來自用戶的匹配請求。匹配請求是與至少一個用戶相對應(yīng)的。在一個 實例中,每個匹配請求僅對應(yīng)于一個用戶。在另一個實例中,每個匹配請求對應(yīng)于兩個或者 更多的用戶。例如,某用戶可以首先邀請其好友并組隊,然后一并向服務(wù)器10發(fā)起匹配請 求。此時,匹配請求即可對應(yīng)于兩個或者更多的用戶。服務(wù)器10在接收到匹配請求后,從 中解析出對應(yīng)的用戶,將每個用戶添加至用戶列表內(nèi)。該用戶列表可以具有一定的邏輯順 序,例如可以按照匹配請求的提交時間排序。但可以理解,其邏輯上的先后順序與用戶列表 自身的存儲結(jié)構(gòu)及存儲順序可并不一致。
[0045] 該匹配請求中還包含與該匹配請求對應(yīng)的一個或多個用戶請求加入的用戶組標(biāo) 識。其中,客戶端可以在用戶使用的終端設(shè)備的設(shè)置輸入界面,客戶端檢測到用戶觸發(fā)的界 面上的用戶組標(biāo)識后,向服務(wù)器10發(fā)送該用戶組標(biāo)識的匹配請求。
[0046] 服務(wù)器10可以預(yù)先設(shè)置用戶組與匹配目標(biāo)的對應(yīng)關(guān)系,通過查詢該對應(yīng)關(guān)系,獲 取與該用戶組對應(yīng)的匹配目標(biāo)??梢岳斫獾?,一個用戶組可以對應(yīng)的多個匹配目標(biāo),每個匹 配目標(biāo)的匹配過程相同或類似,本實施例僅以用戶組包含一個匹配目標(biāo)為例進行說明。
[0047] 在另一種實例中,步驟301可以包括以下步驟:
[0048] 在一個預(yù)設(shè)的時間點到達時,查詢預(yù)設(shè)的時間點與用戶組標(biāo)識的對應(yīng)關(guān)系,獲取 與該時間點對應(yīng)