本申請(qǐng)涉及互聯(lián)網(wǎng)
技術(shù)領(lǐng)域:
,尤其涉及一種排名更新方法、裝置和計(jì)算機(jī)設(shè)備。
背景技術(shù):
:現(xiàn)有相關(guān)技術(shù)中,游戲中對(duì)戰(zhàn)力進(jìn)行排名的需求極其常見(jiàn),比如在游戲的打擂臺(tái)活動(dòng)中,需要對(duì)玩家戰(zhàn)力進(jìn)行排名,但是即便大多時(shí)候只有少數(shù)玩家的排名發(fā)生變化,對(duì)玩家排名的實(shí)時(shí)更新總是需要對(duì)所有玩家的戰(zhàn)力進(jìn)行排序,所以時(shí)間成本很高。目前,對(duì)玩家戰(zhàn)力進(jìn)行排名的常用方式有兩個(gè):區(qū)間樹(shù)和索引。區(qū)間樹(shù)將所有玩家的戰(zhàn)力分為一個(gè)個(gè)區(qū)間,利用二叉樹(shù)組織起來(lái),這樣查詢和更新的時(shí)間復(fù)雜度均為o(logn);索引記錄每個(gè)戰(zhàn)力當(dāng)前的排名,查詢時(shí)間復(fù)雜度為o(1),更新時(shí)間復(fù)雜度為o(n)。但是,通過(guò)區(qū)間樹(shù)和索引對(duì)玩家戰(zhàn)力進(jìn)行排名的方式均存在更新時(shí)間復(fù)雜度較高的問(wèn)題,更新的時(shí)間成本較高。技術(shù)實(shí)現(xiàn)要素:為克服相關(guān)技術(shù)中存在的問(wèn)題,本申請(qǐng)?zhí)峁┮环N排名更新方法、裝置和計(jì)算機(jī)設(shè)備。為達(dá)到上述目的,本申請(qǐng)的實(shí)施例采用如下技術(shù)方案:第一方面,本申請(qǐng)實(shí)施例提供一種排名更新方法,包括:接收用戶對(duì)應(yīng)用程序的操作信息,根據(jù)所述操作信息向所述用戶展示所述應(yīng)用程序的界面;將所述用戶的標(biāo)識(shí)和所述用戶前次使用所述應(yīng)用程序的第一結(jié)果數(shù)據(jù)保存到緩沖區(qū)中的第一緩沖區(qū);將所述第一結(jié)果數(shù)據(jù)與所述第一緩沖區(qū)保存的第一索引中的結(jié)果數(shù)據(jù)進(jìn)行比對(duì),獲得所述第一結(jié)果數(shù)據(jù)在所述第一索引中的排名;在所述用戶本次使用所述應(yīng)用程序完畢之后,將所述用戶本次使用所述應(yīng)用程序的第二結(jié)果數(shù)據(jù)保存到所述第一緩沖區(qū);如果所述第一緩沖區(qū)中的用戶的數(shù)量小于預(yù)定閾值,則將所述第二結(jié)果數(shù)據(jù)與所述第一緩沖區(qū)保存的第二索引中的結(jié)果數(shù)據(jù)進(jìn)行比對(duì),獲得所述第二結(jié)果數(shù)據(jù)在所述第二索引中的排名;根據(jù)所述第二結(jié)果數(shù)據(jù)、所述第一索引和所述第二索引,獲得所述用戶在使用所述應(yīng)用程序的所有用戶中的排名。第二方面,本申請(qǐng)實(shí)施例提供一種排名更新裝置,包括:接收模塊,用于接收用戶對(duì)應(yīng)用程序的操作信息;展示模塊,用于根據(jù)所述接收模塊接收的操作信息向所述用戶展示所述應(yīng)用程序的界面;保存模塊,用于將所述用戶的標(biāo)識(shí)和所述用戶前次使用所述應(yīng)用程序的第一結(jié)果數(shù)據(jù)保存到緩沖區(qū)中的第一緩沖區(qū);排名獲得模塊,用于將所述第一結(jié)果數(shù)據(jù)與所述第一緩沖區(qū)保存的第一索引中的結(jié)果數(shù)據(jù)進(jìn)行比對(duì),獲得所述第一結(jié)果數(shù)據(jù)在所述第一索引中的排名;所述保存模塊,還用于在所述用戶本次使用所述應(yīng)用程序完畢之后,將所述用戶本次使用所述應(yīng)用程序的第二結(jié)果數(shù)據(jù)保存到所述第一緩沖區(qū);所述排名獲得模塊,還用于當(dāng)所述第一緩沖區(qū)中的用戶的數(shù)量小于預(yù)定閾值時(shí),將所述第二結(jié)果數(shù)據(jù)與所述第一緩沖區(qū)保存的第二索引中的結(jié)果數(shù)據(jù)進(jìn)行比對(duì),獲得所述第二結(jié)果數(shù)據(jù)在所述第二索引中的排名;以及根據(jù)所述第二結(jié)果數(shù)據(jù)、所述第一索引和所述第二索引,獲得所述用戶在使用所述應(yīng)用程序的所有用戶中的排名。第三方面,本申請(qǐng)實(shí)施例提供一種計(jì)算機(jī)設(shè)備,包括:一個(gè)或多個(gè)處理器;存儲(chǔ)器,用于存儲(chǔ)一個(gè)或多個(gè)程序;當(dāng)所述一個(gè)或多個(gè)程序被所述一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得所述一個(gè)或多個(gè)處理器實(shí)現(xiàn)如上所述的方法。第四方面,本申請(qǐng)實(shí)施例提供一種非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)所述存儲(chǔ)介質(zhì)中的計(jì)算機(jī)可執(zhí)行指令在由計(jì)算機(jī)處理器執(zhí)行時(shí),用于執(zhí)行如上所述的方法。本申請(qǐng)實(shí)施例提供的技術(shù)方案可以包括以下有益效果:在根據(jù)用戶對(duì)應(yīng)用程序的操作信息,向上述用戶展示上述應(yīng)用程序的界面之后,將上述用戶的標(biāo)識(shí)和上述用戶前次使用上述應(yīng)用程序的第一結(jié)果數(shù)據(jù)保存到緩沖區(qū)中的第一緩沖區(qū),然后將上述第一結(jié)果數(shù)據(jù)與上述第一緩沖區(qū)保存的第一索引中的結(jié)果數(shù)據(jù)進(jìn)行比對(duì),獲得第一結(jié)果數(shù)據(jù)在第一索引中的排名;在用戶本次使用上述應(yīng)用程序完畢之后,將用戶本次使用上述應(yīng)用程序的第二結(jié)果數(shù)據(jù)保存到上述第一緩沖區(qū),如果第一緩沖區(qū)中的用戶的數(shù)量小于預(yù)定閾值,則將第二結(jié)果數(shù)據(jù)與第一緩沖區(qū)保存的第二索引中的結(jié)果數(shù)據(jù)進(jìn)行比對(duì),獲得第二結(jié)果數(shù)據(jù)在上述第二索引中的排名,根據(jù)第二結(jié)果數(shù)據(jù)、第一索引和第二索引,獲得上述用戶在使用上述應(yīng)用程序的所有用戶中的排名,從而可以實(shí)現(xiàn)利用時(shí)間局部性,在第一緩沖區(qū)中對(duì)最近一段時(shí)間內(nèi)使用上述應(yīng)用程序的用戶進(jìn)行排名,實(shí)現(xiàn)了用戶排名的快速更新,大大降低了實(shí)時(shí)更新排名的時(shí)間成本。應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本申請(qǐng)。附圖說(shuō)明此處的附圖被并入說(shuō)明書(shū)中并構(gòu)成本說(shuō)明書(shū)的一部分,示出了符合本申請(qǐng)的實(shí)施例,并與說(shuō)明書(shū)一起用于解釋本申請(qǐng)的原理。圖1為本申請(qǐng)排名更新方法一個(gè)實(shí)施例的流程圖;圖2為本申請(qǐng)排名更新方法另一個(gè)實(shí)施例的流程圖;圖3為本申請(qǐng)排名更新方法再一個(gè)實(shí)施例的流程圖;圖4為本申請(qǐng)排名更新方法再一個(gè)實(shí)施例的流程圖;圖5為本申請(qǐng)排名更新方法再一個(gè)實(shí)施例的流程圖;圖6為本申請(qǐng)排名更新裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖7為本申請(qǐng)排名更新裝置另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖8為本申請(qǐng)計(jì)算機(jī)設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。通過(guò)上述附圖,已示出本申請(qǐng)明確的實(shí)施例,后文中將有更詳細(xì)的描述。這些附圖和文字描述并不是為了通過(guò)任何方式限制本申請(qǐng)構(gòu)思的范圍,而是通過(guò)參考特定實(shí)施例為本領(lǐng)域技術(shù)人員說(shuō)明本申請(qǐng)的概念。具體實(shí)施方式這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請(qǐng)相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書(shū)中所詳述的、本申請(qǐng)的一些方面相一致的裝置和方法的例子。時(shí)間局部性是指單個(gè)用戶排名多次變化具有時(shí)間鄰近性,即排名剛發(fā)生變化的用戶相比其他用戶,在未來(lái)一段時(shí)間內(nèi),其排名再次發(fā)生變化的概率更大。本申請(qǐng)利用時(shí)間局部性區(qū)別對(duì)待用戶,以實(shí)現(xiàn)用戶排名的快速排序更新。具體是,將緩沖區(qū)分為兩層,第一緩沖區(qū)維護(hù)最近排名發(fā)生更新的用戶;第二緩沖區(qū)存儲(chǔ)所有用戶,第一緩沖區(qū)和第二緩沖區(qū)均利用索引排序。一般情況下,本申請(qǐng)只需調(diào)用第一緩沖區(qū)排序來(lái)實(shí)現(xiàn)用戶排名的快速更新,因?yàn)榈谝痪彌_區(qū)中的用戶數(shù)量很少,因此可以大大降低實(shí)時(shí)更新排名的時(shí)間成本。在具體實(shí)現(xiàn)時(shí),第一緩沖區(qū)可以是上述緩沖區(qū)中的上層緩沖區(qū),第二緩沖區(qū)可以是上述緩沖區(qū)中的底層緩沖區(qū),當(dāng)然本實(shí)施例并不局限于此,也可以采用其他方式將緩沖區(qū)劃分為兩個(gè)緩沖區(qū),本實(shí)施例對(duì)此不作限定。圖1為本申請(qǐng)排名更新方法一個(gè)實(shí)施例的流程圖,本實(shí)施例中的排名更新方法可以由服務(wù)器實(shí)現(xiàn),如圖1所示,上述排名更新方法可以包括:步驟101,接收用戶對(duì)應(yīng)用程序的操作信息,根據(jù)上述操作信息向上述用戶展示上述應(yīng)用程序的界面。其中,上述操作信息可以為上述用戶對(duì)應(yīng)用程序的圖標(biāo)的觸發(fā)信息,例如:對(duì)上述應(yīng)用程序的圖標(biāo)進(jìn)行單次點(diǎn)擊、雙擊或長(zhǎng)按等操作,本實(shí)施例對(duì)上述操作信息的具體形式不作限定。本實(shí)施例中,接收到上述操作信息之后,可以根據(jù)上述操作信息向上述用戶展示上述應(yīng)用程序的界面。步驟102,將上述用戶的標(biāo)識(shí)和上述用戶前次使用上述應(yīng)用程序的第一結(jié)果數(shù)據(jù)保存到緩沖區(qū)中的第一緩沖區(qū)。其中,上述用戶的標(biāo)識(shí)為可以唯一表示上述用戶的信息,例如上述用戶的用戶名和/或上述用戶使用的終端設(shè)備的設(shè)備號(hào)等,本實(shí)施例對(duì)上述用戶的標(biāo)識(shí)不作限定。本實(shí)施例中,在根據(jù)上述操作信息向上述用戶展示上述應(yīng)用程序的界面之后,服務(wù)器可以獲得上述用戶的標(biāo)識(shí),以及上述用戶前次使用上述應(yīng)用程序的第一結(jié)果數(shù)據(jù),并將上述用戶的標(biāo)識(shí)和上述用戶前次使用上述應(yīng)用程序的第一結(jié)果數(shù)據(jù)保存到緩沖區(qū)中的第一緩沖區(qū)。以上述應(yīng)用程序?yàn)橛螒驗(yàn)槔?,上述?yīng)用程序的界面可以為游戲的打擂臺(tái)的界面,上述用戶使用應(yīng)用程序即為用戶玩游戲的打擂臺(tái)這個(gè)活動(dòng),玩這個(gè)活動(dòng),會(huì)使用戶的戰(zhàn)力發(fā)生變化,上述用戶前次使用上述應(yīng)用程序的第一結(jié)果數(shù)據(jù)即為上述用戶前次打擂臺(tái)的戰(zhàn)力。在此假設(shè)戰(zhàn)力范圍只能在91到100的范圍內(nèi)變動(dòng),初始狀態(tài)下,使用上述應(yīng)用程序的所有用戶的結(jié)果數(shù)據(jù),即參加過(guò)打擂臺(tái)活動(dòng)的所有用戶的戰(zhàn)力和排名如表1所示。表1用戶abcdef戰(zhàn)力1009594939291排名123456本例中,用戶c和e準(zhǔn)備參加打擂臺(tái)活動(dòng),打開(kāi)了打擂臺(tái)活動(dòng)的界面,因此游戲服務(wù)器將用戶c和e的標(biāo)識(shí),以及用戶c和e前次打擂臺(tái)的戰(zhàn)力保存到第一緩沖區(qū),其中,用戶c和e前次打擂臺(tái)的戰(zhàn)力分別為94和92。步驟103,將上述第一結(jié)果數(shù)據(jù)與上述第一緩沖區(qū)保存的第一索引中的結(jié)果數(shù)據(jù)進(jìn)行比對(duì),獲得上述第一結(jié)果數(shù)據(jù)在上述第一索引中的排名。其中,第一索引記錄上述第一緩沖區(qū)中的用戶在本次使用上述應(yīng)用程序之前的結(jié)果數(shù)據(jù)和對(duì)應(yīng)的在第一索引中的排名。仍以游戲的打擂臺(tái)活動(dòng)為例,將用戶c和e前次打擂臺(tái)的戰(zhàn)力94和92,與第一索引中的戰(zhàn)力進(jìn)行比對(duì),可以獲得用戶c和e前次打擂臺(tái)的戰(zhàn)力94和92在第一索引中的排名,如表2所示。表2戰(zhàn)力100999897969594939291排名1111111223從表2中可以看出,由于只有用戶c和用戶e打開(kāi)了打擂臺(tái)活動(dòng)的界面,因此第一緩沖區(qū)中只有用戶c和用戶e,用戶c前次打擂臺(tái)的戰(zhàn)力為94,用戶e前次打擂臺(tái)的戰(zhàn)力為92,因此94排名為1,92的排名為2。而第一索引中,對(duì)于沒(méi)有對(duì)應(yīng)用戶的結(jié)果數(shù)據(jù)(為了描述方便,這里將沒(méi)有對(duì)應(yīng)用戶的結(jié)果數(shù)據(jù)稱為第三結(jié)果數(shù)據(jù))的排名,與比上述第三結(jié)果數(shù)據(jù)低且有對(duì)應(yīng)用戶的最接近的結(jié)果數(shù)據(jù)的排名相同,例如表2中,戰(zhàn)力100沒(méi)有對(duì)應(yīng)的用戶,比戰(zhàn)力100低且有對(duì)應(yīng)用戶的最接近的戰(zhàn)力為94,94的排名為1,因此戰(zhàn)力100的排名也為1,同理對(duì)于戰(zhàn)力99~95,排名也為1。步驟104,在上述用戶本次使用上述應(yīng)用程序完畢之后,將上述用戶本次使用上述應(yīng)用程序的第二結(jié)果數(shù)據(jù)保存到上述第一緩沖區(qū)。仍以游戲的打擂臺(tái)活動(dòng)為例,用戶本次使用上述應(yīng)用程序完畢,即為用戶本次打擂臺(tái)結(jié)束。在用戶本次打擂臺(tái)結(jié)束之后,游戲服務(wù)器將用戶本次打擂臺(tái)的戰(zhàn)力保存到上述第一緩沖區(qū)。本例中,用戶c和e打擂臺(tái)結(jié)束之后,用戶c和e的戰(zhàn)力分別為96和97,游戲服務(wù)器將用戶c和e的戰(zhàn)力96和97保存到第一緩沖區(qū)。步驟105,如果上述第一緩沖區(qū)中的用戶的數(shù)量小于預(yù)定閾值,則將上述第二結(jié)果數(shù)據(jù)與上述第一緩沖區(qū)保存的第二索引中的結(jié)果數(shù)據(jù)進(jìn)行比對(duì),獲得上述第二結(jié)果數(shù)據(jù)在上述第二索引中的排名。其中,上述第二索引記錄第一緩沖區(qū)中的用戶在本次使用上述應(yīng)用程序之后的結(jié)果數(shù)據(jù)和對(duì)應(yīng)的在第二索引中的排名。上述預(yù)定閾值可以在具體實(shí)現(xiàn)時(shí),根據(jù)系統(tǒng)性能和/或?qū)崿F(xiàn)需求等自行設(shè)定,本實(shí)施例對(duì)上述預(yù)定閾值的大小不作限定,舉例來(lái)說(shuō),上述預(yù)定閾值可以為3。仍以游戲的打擂臺(tái)活動(dòng)為例,將用戶c和e本次打擂臺(tái)的戰(zhàn)力96和97,與第二索引中的戰(zhàn)力進(jìn)行比對(duì),可以獲得用戶c和e本次打擂臺(tái)的戰(zhàn)力96和97在第二索引中的排名,如表3所示。表3戰(zhàn)力100999897969594939291排名1111233333從表3中可以看出,用戶c本次打擂臺(tái)的戰(zhàn)力96在第二索引中排名為2,用戶e本次打擂臺(tái)的戰(zhàn)力97在第二索引中排名為1。同樣,第二索引中,對(duì)于沒(méi)有對(duì)應(yīng)用戶的第三結(jié)果數(shù)據(jù)的排名,與比上述第三結(jié)果數(shù)據(jù)低且有對(duì)應(yīng)用戶的最接近的結(jié)果數(shù)據(jù)的排名相同,例如表3中,戰(zhàn)力100沒(méi)有對(duì)應(yīng)的用戶,比戰(zhàn)力100低且有對(duì)應(yīng)用戶的最接近的戰(zhàn)力為97,97的排名為1,因此戰(zhàn)力100的排名也為1,同理對(duì)于戰(zhàn)力99~98,排名也為1。步驟106,根據(jù)上述第二結(jié)果數(shù)據(jù)、上述第一索引和上述第二索引,獲得上述用戶在使用上述應(yīng)用程序的所有用戶中的排名。本實(shí)施例中,根據(jù)用戶本次使用上述應(yīng)用程序的第二結(jié)果數(shù)據(jù),第一索引和第二索引,即可獲得上述用戶在使用上述應(yīng)用程序的所有用戶中的排名,上述排名更新方法利用時(shí)間局部性,僅在第一緩沖區(qū)中對(duì)最近一段時(shí)間內(nèi)使用上述應(yīng)用程序的用戶進(jìn)行排名,從而實(shí)現(xiàn)了用戶排名的快速更新,大大降低了實(shí)時(shí)更新排名的時(shí)間成本。圖2為本申請(qǐng)排名更新方法另一個(gè)實(shí)施例的流程圖,如圖2所示,本申請(qǐng)圖1所示實(shí)施例中,步驟106可以包括:步驟201,通過(guò)第三索引查詢獲得上述第二結(jié)果數(shù)據(jù)在使用上述應(yīng)用程序的所有用戶的結(jié)果數(shù)據(jù)中的排名。這里的使用上述應(yīng)用程序的所有用戶的結(jié)果數(shù)據(jù)為在上述用戶本次使用上述應(yīng)用程序之前,使用上述應(yīng)用程序的所有用戶的結(jié)果數(shù)據(jù)。其中,上述第三索引記錄使用上述應(yīng)用程序的所有用戶的結(jié)果數(shù)據(jù)和對(duì)應(yīng)的在第三索引中的排名。仍以游戲的打擂臺(tái)活動(dòng)為例,根據(jù)表1中保存的參加過(guò)打擂臺(tái)活動(dòng)的用戶的戰(zhàn)力和排名生成的第三索引,可以如表4所示。表4戰(zhàn)力100999897969594939291排名1222223456同樣在第三索引中,對(duì)于沒(méi)有對(duì)應(yīng)用戶的第三結(jié)果數(shù)據(jù)的排名,與比上述第三結(jié)果數(shù)據(jù)低且有對(duì)應(yīng)用戶的最接近的結(jié)果數(shù)據(jù)的排名相同。例如表4中,戰(zhàn)力99沒(méi)有對(duì)應(yīng)的用戶,比戰(zhàn)力99低且有對(duì)應(yīng)用戶的最接近的戰(zhàn)力為95,95的排名為2,因此戰(zhàn)力99的排名也為2,同理對(duì)于戰(zhàn)力98~96,排名也為2。對(duì)于用戶c來(lái)說(shuō),上述第二結(jié)果數(shù)據(jù)即為用戶c本次打擂臺(tái)的戰(zhàn)力96,通過(guò)查詢表4所示的第三索引,可以獲得戰(zhàn)力96,在用戶c打擂臺(tái)之前參加過(guò)打擂臺(tái)活動(dòng)的所有用戶的戰(zhàn)力中,排名為2。對(duì)于用戶e來(lái)說(shuō),上述第二結(jié)果數(shù)據(jù)即為用戶e本次打擂臺(tái)的戰(zhàn)力97,通過(guò)查詢表4所示的第三索引,可以獲得戰(zhàn)力97,在用戶e打擂臺(tái)之前參加過(guò)打擂臺(tái)活動(dòng)的所有用戶的戰(zhàn)力中,排名為2。步驟202,通過(guò)第一索引查詢獲得上述第一緩沖區(qū)中保存的,使用上述應(yīng)用程序并且在使用上述應(yīng)用程序之前的結(jié)果數(shù)據(jù)比上述第二結(jié)果數(shù)據(jù)高的用戶的數(shù)量。仍以游戲的打擂臺(tái)活動(dòng)為例,通過(guò)查詢表2所示的第一索引,可以獲得用戶c本次打擂臺(tái)的戰(zhàn)力96的排名為1,這說(shuō)明上述第一緩沖區(qū)中保存的,打擂臺(tái)并且在打擂臺(tái)之前的戰(zhàn)力比用戶c打擂臺(tái)之后的戰(zhàn)力高的用戶的數(shù)量為0;同理,通過(guò)查詢表2所示的第一索引,可以獲得用戶e本次打擂臺(tái)的戰(zhàn)力97的排名為1,這說(shuō)明上述第一緩沖區(qū)中保存的,打擂臺(tái)并且在打擂臺(tái)之前的戰(zhàn)力比用戶e打擂臺(tái)之后的戰(zhàn)力高的用戶的數(shù)量為0。步驟203,通過(guò)第二索引查詢獲得上述第一緩沖區(qū)中保存的,使用上述應(yīng)用程序并且在使用上述應(yīng)用程序之后的結(jié)果數(shù)據(jù)比上述第二結(jié)果數(shù)據(jù)高的用戶的數(shù)量。仍以游戲的打擂臺(tái)活動(dòng)為例,通過(guò)查詢表3所示的第二索引,可以獲得用戶c本次打擂臺(tái)的戰(zhàn)力96的排名為2,這說(shuō)明上述第一緩沖區(qū)中保存的,打擂臺(tái)并且在打擂臺(tái)之后的戰(zhàn)力比用戶c打擂臺(tái)之后的戰(zhàn)力高的用戶的數(shù)量為1;同理,通過(guò)查詢表3所示的第二索引,可以獲得用戶e本次打擂臺(tái)的戰(zhàn)力97的排名為1,這說(shuō)明上述第一緩沖區(qū)中保存的,打擂臺(tái)并且在打擂臺(tái)之后的戰(zhàn)力比用戶e打擂臺(tái)之后的戰(zhàn)力高的用戶的數(shù)量為0。步驟204,將通過(guò)第三索引查詢獲得的排名減去通過(guò)第一索引查詢獲得的用戶的數(shù)量,所得的差值再加上通過(guò)第二索引查詢獲得的用戶的數(shù)量,所得的和值為上述用戶在使用上述應(yīng)用程序的所有用戶中的排名。仍以游戲的打擂臺(tái)活動(dòng)為例,對(duì)于用戶c來(lái)說(shuō),用戶c在本次打擂臺(tái)之后在參加打擂臺(tái)的所有用戶中的排名為:2-0+1=3;而對(duì)于用戶e來(lái)說(shuō),用戶e在本次打擂臺(tái)之后在參加打擂臺(tái)的所有用戶中的排名為:2-0+0=2。上述實(shí)施例中,根據(jù)用戶本次使用應(yīng)用程序的第二結(jié)果數(shù)據(jù)、第一緩沖區(qū)中保存的第一索引和第二索引,即可獲得上述用戶在本次使用應(yīng)用程序之后在使用上述應(yīng)用程序的所有用戶中的排名,實(shí)現(xiàn)了利用時(shí)間局部性對(duì)用戶排名進(jìn)行快速更新,由于第一緩沖區(qū)中保存的用戶數(shù)量很少,因此即使頻繁更新排名,時(shí)間成本也很低,大大降低了實(shí)時(shí)更新排名的時(shí)間成本。圖3為本申請(qǐng)排名更新方法再一個(gè)實(shí)施例的流程圖,本實(shí)施例中的排名更新方法可以由服務(wù)器實(shí)現(xiàn),如圖3所示,上述排名更新方法可以包括:步驟301~步驟303,同步驟101~步驟103。步驟304,根據(jù)上述第一結(jié)果數(shù)據(jù)、第一索引和第二索引,獲得上述用戶本次使用上述應(yīng)用程序之前在使用上述應(yīng)用程序的所有用戶中的排名。也就是說(shuō),在用戶打開(kāi)上述應(yīng)用程序的界面之后,本次使用上述應(yīng)用程序之前,服務(wù)器可以根據(jù)用戶前次使用上述應(yīng)用程序的第一結(jié)果數(shù)據(jù),第一緩沖區(qū)中保存的第一索引和第二索引,獲得上述用戶本次使用上述應(yīng)用程序之前在使用上述應(yīng)用程序的所有用戶中的排名。圖4為本申請(qǐng)排名更新方法再一個(gè)實(shí)施例的流程圖,如圖4所示,本申請(qǐng)圖3所示實(shí)施例中,步驟304可以包括:步驟401,通過(guò)第三索引查詢獲得上述第一結(jié)果數(shù)據(jù)在使用上述應(yīng)用程序的所有用戶的結(jié)果數(shù)據(jù)中的排名。仍以游戲的打擂臺(tái)活動(dòng)為例,這里假設(shè)用戶d在打擂臺(tái)之前想查詢一下自身當(dāng)前的排名,參見(jiàn)表1,用戶d前次打擂臺(tái)的戰(zhàn)力為93,通過(guò)查詢表4所示的第三索引,可以獲得戰(zhàn)力93在所有用戶的戰(zhàn)力中的排名為4。步驟402,通過(guò)第一索引查詢獲得上述第一緩沖區(qū)中保存的,使用上述應(yīng)用程序并且在使用上述應(yīng)用程序之前的結(jié)果數(shù)據(jù)比第一結(jié)果數(shù)據(jù)高的用戶的數(shù)量。仍以游戲的打擂臺(tái)活動(dòng)為例,通過(guò)查詢表2所示的第一索引,可以獲得用戶d前次打擂臺(tái)的戰(zhàn)力93的排名為2,這說(shuō)明上述第一緩沖區(qū)中保存的,打擂臺(tái)并且在打擂臺(tái)之前的戰(zhàn)力比用戶d打擂臺(tái)之前的戰(zhàn)力高的用戶的數(shù)量為1。步驟403,通過(guò)第二索引查詢獲得所述第一緩沖區(qū)中保存的,使用上述應(yīng)用程序并且在使用上述應(yīng)用程序之后的結(jié)果數(shù)據(jù)比上述第一結(jié)果數(shù)據(jù)高的用戶的數(shù)量。仍以游戲的打擂臺(tái)活動(dòng)為例,通過(guò)查詢表3所示的第二索引,可以獲得用戶d前次打擂臺(tái)的戰(zhàn)力93的排名為3,這說(shuō)明上述第一緩沖區(qū)中保存的,打擂臺(tái)并且在打擂臺(tái)之后的戰(zhàn)力比用戶d打擂臺(tái)之前的戰(zhàn)力高的用戶的數(shù)量為2。步驟404,將通過(guò)第三索引查詢獲得的排名減去通過(guò)第一索引查詢獲得的用戶的數(shù)量,所得的差值再加上通過(guò)第二索引查詢獲得的用戶的數(shù)量,所得的和值為上述用戶本次使用上述應(yīng)用程序之前在使用上述應(yīng)用程序的所有用戶中的排名。具體地,對(duì)于用戶d來(lái)說(shuō),用戶d在本次打擂臺(tái)之前在參加打擂臺(tái)的所有用戶中的排名為:4-1+2=5。上述實(shí)施例,同樣是在第一緩沖區(qū)中,根據(jù)用戶前次使用應(yīng)用程序的第一結(jié)果數(shù)據(jù),第一緩沖區(qū)中保存的第一索引和第二索引,即可獲得上述用戶在本次使用應(yīng)用程序之前在使用上述應(yīng)用程序的所有用戶中的排名,實(shí)現(xiàn)了利用時(shí)間局部性對(duì)用戶排名進(jìn)行快速更新,由于第一緩沖區(qū)中保存的用戶數(shù)量很少,因此即使頻繁更新排名,時(shí)間成本也很低,大大降低了實(shí)時(shí)更新排名的時(shí)間成本。圖5為本申請(qǐng)排名更新方法再一個(gè)實(shí)施例的流程圖,本實(shí)施例中的排名更新方法可以由服務(wù)器實(shí)現(xiàn),如圖5所示,上述排名更新方法可以包括:步驟501~步驟504,同步驟101~步驟104。步驟505,如果上述第一緩沖區(qū)中的用戶的數(shù)量達(dá)到預(yù)定閾值,則將第二結(jié)果數(shù)據(jù)與第三索引記錄的結(jié)果數(shù)據(jù)進(jìn)行比對(duì),獲得上述第二結(jié)果數(shù)據(jù)在上述第三索引中的排名,作為上述用戶在使用上述應(yīng)用程序的所有用戶中的排名。本實(shí)施例中,如果上述第一緩沖區(qū)中的用戶的數(shù)量達(dá)到預(yù)定閾值,那么在上述用戶使用上述應(yīng)用程序完畢之后,就不能在第一緩沖區(qū)中對(duì)用戶進(jìn)行排名了,需要調(diào)用第二緩沖區(qū)進(jìn)行排名,即將上述用戶本次使用應(yīng)用程序的第二結(jié)果數(shù)據(jù)在使用上述應(yīng)用程序的所有用戶的結(jié)果數(shù)據(jù)中進(jìn)行排名,獲得上述第二結(jié)果數(shù)據(jù)在第三索引中的排名,以實(shí)現(xiàn)對(duì)第三索引的更新。步驟506,清空上述第一索引、上述第二索引和第一緩沖區(qū)。具體地,一旦第一緩沖區(qū)中的用戶的數(shù)量達(dá)到預(yù)定閾值,調(diào)用第二緩沖區(qū)進(jìn)行排名,將上述第二結(jié)果數(shù)據(jù)在使用上述應(yīng)用程序的所有用戶的結(jié)果數(shù)據(jù)中進(jìn)行排名,獲得上述第二結(jié)果數(shù)據(jù)在第三索引中的排名,以實(shí)現(xiàn)對(duì)第三索引的更新之后,然后需要清空第一索引和第二索引,以及第一緩沖區(qū)。本申請(qǐng)實(shí)施例提供的排名更新方法,利用用戶排名變動(dòng)的時(shí)間局部性原理,考慮到大多時(shí)候只有使用應(yīng)用程序的少數(shù)用戶的排名頻繁變動(dòng),因此本申請(qǐng)?jiān)诘谝痪彌_區(qū)維護(hù)最近排名發(fā)生更新的用戶,并將緩沖區(qū)分為兩層,第一緩沖區(qū)只對(duì)使用應(yīng)用程序的用戶進(jìn)行排名;第二緩沖區(qū)對(duì)使用上述應(yīng)用程序的所有用戶進(jìn)行排名,兩層都使用索引進(jìn)行排序,記錄每個(gè)結(jié)果數(shù)據(jù)的排名。因?yàn)楦嗲闆r下是最近剛更新排名的用戶導(dǎo)致使用應(yīng)用程序的用戶的排名發(fā)生變動(dòng),所以,大多時(shí)候只需調(diào)用第一緩沖區(qū)進(jìn)行排序即可實(shí)現(xiàn)用戶排名的快速更新,只有當(dāng)?shù)谝痪彌_區(qū)中的用戶的數(shù)量達(dá)到預(yù)定閾值時(shí),才會(huì)啟動(dòng)底層排名。以游戲的打擂臺(tái)活動(dòng)為例,因?yàn)橥瑫r(shí)在線的用戶占全服務(wù)器注冊(cè)用戶的比例很小,而同時(shí)在線的用戶中參加打擂臺(tái)活動(dòng)的比例又很小,所以第一緩沖區(qū)中保存的用戶數(shù)量m很小,此時(shí)第一緩沖區(qū)可采用索引記錄每個(gè)戰(zhàn)力的排名,查詢時(shí)間成本為o(1),更新時(shí)間成本為o(m);而當(dāng)m達(dá)到預(yù)定閾值,此時(shí)需要將第一緩沖區(qū)中保存的用戶和第二緩沖區(qū)保存的所有未參加打擂臺(tái)活動(dòng)的用戶進(jìn)行排名更新,更新時(shí)間成本為o(n),并清空第一緩沖區(qū)中的用戶,其中n為第一緩沖區(qū)中保存的用戶和第二緩沖區(qū)保存的所有未參加打擂臺(tái)活動(dòng)的用戶的總數(shù),本申請(qǐng)能保證第一緩沖區(qū)中的用戶數(shù)量始終很少,從而查詢排名和更新排名的時(shí)間成本很低,另外由于第二緩沖區(qū)對(duì)所有用戶排名的頻率低,采用索引排序也足以應(yīng)對(duì)壓力。下述為本申請(qǐng)裝置實(shí)施例,可以用于執(zhí)行本申請(qǐng)方法實(shí)施例。對(duì)于本申請(qǐng)裝置實(shí)施例中未披露的細(xì)節(jié),請(qǐng)參照本申請(qǐng)方法實(shí)施例。圖6為本申請(qǐng)排名更新裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,本實(shí)施例中的排名更新裝置可以作為服務(wù)器,或者服務(wù)器的一部分實(shí)現(xiàn)本申請(qǐng)圖1~圖5所示實(shí)施例提供的排名更新方法,上述排名更新裝置可以包括:接收模塊61、展示模塊62、保存模塊63和排名獲得模塊64;其中,接收模塊61,用于接收用戶對(duì)應(yīng)用程序的操作信息;其中,上述操作信息可以為上述用戶對(duì)應(yīng)用程序的圖標(biāo)的觸發(fā)信息,例如:對(duì)上述應(yīng)用程序的圖標(biāo)進(jìn)行單次點(diǎn)擊、雙擊或長(zhǎng)按等操作,本實(shí)施例對(duì)上述操作信息的具體形式不作限定。展示模塊62,用于根據(jù)接收模塊61接收的操作信息向上述用戶展示上述應(yīng)用程序的界面;本實(shí)施例中,接收模塊61接收到上述操作信息之后,展示模塊62可以根據(jù)上述操作信息向上述用戶展示上述應(yīng)用程序的界面。保存模塊63,用于將上述用戶的標(biāo)識(shí)和上述用戶前次使用上述應(yīng)用程序的第一結(jié)果數(shù)據(jù)保存到緩沖區(qū)中的第一緩沖區(qū);其中,上述用戶的標(biāo)識(shí)為可以唯一表示上述用戶的信息,例如上述用戶的用戶名和/或上述用戶使用的終端設(shè)備的設(shè)備號(hào)等,本實(shí)施例對(duì)上述用戶的標(biāo)識(shí)不作限定。本實(shí)施例中,在根據(jù)上述操作信息向上述用戶展示上述應(yīng)用程序的界面之后,服務(wù)器可以獲得上述用戶的標(biāo)識(shí),以及上述用戶前次使用上述應(yīng)用程序的第一結(jié)果數(shù)據(jù),然后保存模塊63將上述用戶的標(biāo)識(shí)和上述用戶前次使用上述應(yīng)用程序的第一結(jié)果數(shù)據(jù)保存到緩沖區(qū)中的第一緩沖區(qū)。以上述應(yīng)用程序?yàn)橛螒驗(yàn)槔鲜鰬?yīng)用程序的界面可以為游戲的打擂臺(tái)的界面,上述用戶使用應(yīng)用程序即為用戶玩游戲的打擂臺(tái)這個(gè)活動(dòng),玩這個(gè)活動(dòng),會(huì)使用戶的戰(zhàn)力發(fā)生變化,上述用戶前次使用上述應(yīng)用程序的第一結(jié)果數(shù)據(jù)即為上述用戶前次打擂臺(tái)的戰(zhàn)力。在此假設(shè)戰(zhàn)力范圍只能在91到100的范圍內(nèi)變動(dòng),初始狀態(tài)下,使用上述應(yīng)用程序的所有用戶的結(jié)果數(shù)據(jù),即參加過(guò)打擂臺(tái)活動(dòng)的所有用戶的戰(zhàn)力和排名如表1所示。本例中,用戶c和e準(zhǔn)備參加打擂臺(tái)活動(dòng),打開(kāi)了打擂臺(tái)活動(dòng)的界面,因此保存模塊63將用戶c和e的標(biāo)識(shí),以及用戶c和e前次打擂臺(tái)的戰(zhàn)力保存到第一緩沖區(qū),其中,用戶c和e前次打擂臺(tái)的戰(zhàn)力分別為94和92。排名獲得模塊64,用于將上述第一結(jié)果數(shù)據(jù)與上述第一緩沖區(qū)保存的第一索引中的結(jié)果數(shù)據(jù)進(jìn)行比對(duì),獲得上述第一結(jié)果數(shù)據(jù)在上述第一索引中的排名;其中,第一索引記錄上述第一緩沖區(qū)中的用戶在本次使用上述應(yīng)用程序之前的結(jié)果數(shù)據(jù)和對(duì)應(yīng)的在第一索引中的排名。仍以游戲的打擂臺(tái)活動(dòng)為例,排名獲得模塊64將用戶c和e前次打擂臺(tái)的戰(zhàn)力94和92,與第一索引中的戰(zhàn)力進(jìn)行比對(duì),可以獲得用戶c和e前次打擂臺(tái)的戰(zhàn)力94和92在第一索引中的排名,如表2所示。從表2中可以看出,由于只有用戶c和用戶e打開(kāi)了打擂臺(tái)活動(dòng)的界面,因此第一緩沖區(qū)中只有用戶c和用戶e,用戶c前次打擂臺(tái)的戰(zhàn)力為94,用戶e前次打擂臺(tái)的戰(zhàn)力為92,因此94排名為1,92的排名為2。而第一索引中,對(duì)于沒(méi)有對(duì)應(yīng)用戶的結(jié)果數(shù)據(jù)(為了描述方便,這里將沒(méi)有對(duì)應(yīng)用戶的結(jié)果數(shù)據(jù)稱為第三結(jié)果數(shù)據(jù))的排名,與比上述第三結(jié)果數(shù)據(jù)低且有對(duì)應(yīng)用戶的最接近的結(jié)果數(shù)據(jù)的排名相同,例如表2中,戰(zhàn)力100沒(méi)有對(duì)應(yīng)的用戶,比戰(zhàn)力100低且有對(duì)應(yīng)用戶的最接近的戰(zhàn)力為94,94的排名為1,因此戰(zhàn)力100的排名也為1,同理對(duì)于戰(zhàn)力99~95,排名也為1。保存模塊63,還用于在上述用戶本次使用所述應(yīng)用程序完畢之后,將上述用戶本次使用上述應(yīng)用程序的第二結(jié)果數(shù)據(jù)保存到第一緩沖區(qū);仍以游戲的打擂臺(tái)活動(dòng)為例,用戶本次使用上述應(yīng)用程序完畢,即為用戶本次打擂臺(tái)結(jié)束。在用戶本次打擂臺(tái)結(jié)束之后,保存模塊63將用戶本次打擂臺(tái)的戰(zhàn)力保存到上述第一緩沖區(qū)。本例中,用戶c和e打擂臺(tái)結(jié)束之后,用戶c和e的戰(zhàn)力分別為96和97,保存模塊63將用戶c和e的戰(zhàn)力96和97保存到第一緩沖區(qū)。排名獲得模塊64,還用于當(dāng)上述第一緩沖區(qū)中的用戶的數(shù)量小于預(yù)定閾值時(shí),將上述第二結(jié)果數(shù)據(jù)與上述第一緩沖區(qū)保存的第二索引中的結(jié)果數(shù)據(jù)進(jìn)行比對(duì),獲得第二結(jié)果數(shù)據(jù)在上述第二索引中的排名;以及根據(jù)第二結(jié)果數(shù)據(jù)、第一索引和第二索引,獲得上述用戶在使用上述應(yīng)用程序的所有用戶中的排名。其中,上述第二索引記錄第一緩沖區(qū)中的用戶在本次使用上述應(yīng)用程序之后的結(jié)果數(shù)據(jù)和對(duì)應(yīng)的在第二索引中的排名。上述預(yù)定閾值可以在具體實(shí)現(xiàn)時(shí),根據(jù)系統(tǒng)性能和/或?qū)崿F(xiàn)需求等自行設(shè)定,本實(shí)施例對(duì)上述預(yù)定閾值的大小不作限定,舉例來(lái)說(shuō),上述預(yù)定閾值可以為3。仍以游戲的打擂臺(tái)活動(dòng)為例,排名獲得模塊64將用戶c和e本次打擂臺(tái)的戰(zhàn)力96和97,與第二索引中的戰(zhàn)力進(jìn)行比對(duì),可以獲得用戶c和e本次打擂臺(tái)的戰(zhàn)力96和97在第二索引中的排名,如表3所示。從表3中可以看出,用戶c本次打擂臺(tái)的戰(zhàn)力96在第二索引中排名為2,用戶e本次打擂臺(tái)的戰(zhàn)力97在第二索引中排名為1。同樣,第二索引中,對(duì)于沒(méi)有對(duì)應(yīng)用戶的第三結(jié)果數(shù)據(jù)的排名,與比上述第三結(jié)果數(shù)據(jù)低且有對(duì)應(yīng)用戶的最接近的結(jié)果數(shù)據(jù)的排名相同,例如表3中,戰(zhàn)力100沒(méi)有對(duì)應(yīng)的用戶,比戰(zhàn)力100低且有對(duì)應(yīng)用戶的最接近的戰(zhàn)力為97,97的排名為1,因此戰(zhàn)力100的排名也為1,同理對(duì)于戰(zhàn)力99~98,排名也為1。本實(shí)施例中,排名獲得模塊64根據(jù)用戶本次使用上述應(yīng)用程序的第二結(jié)果數(shù)據(jù),第一索引和第二索引,即可獲得上述用戶在使用上述應(yīng)用程序的所有用戶中的排名,上述排名更新裝置利用時(shí)間局部性,僅在第一緩沖區(qū)中對(duì)最近一段時(shí)間內(nèi)使用上述應(yīng)用程序的用戶進(jìn)行排名,從而實(shí)現(xiàn)了用戶排名的快速更新,大大降低了實(shí)時(shí)更新排名的時(shí)間成本。圖7為本申請(qǐng)排名更新裝置另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,與圖6所示的排名更新裝置相比,不同之處在于,圖7所示的排名更新裝置中,排名獲得模塊64可以包括:排名查詢子模塊641、數(shù)量查詢子模塊642和排名計(jì)算子模塊643;其中,排名查詢子模塊641,用于通過(guò)第三索引查詢獲得第二結(jié)果數(shù)據(jù)在使用上述應(yīng)用程序的所有用戶的結(jié)果數(shù)據(jù)中的排名;這里的使用上述應(yīng)用程序的所有用戶的結(jié)果數(shù)據(jù)為在用戶本次使用上述應(yīng)用程序之前,使用上述應(yīng)用程序的所有用戶的結(jié)果數(shù)據(jù);其中,上述第三索引記錄使用上述應(yīng)用程序的所有用戶的結(jié)果數(shù)據(jù)和對(duì)應(yīng)的在第三索引中的排名。仍以游戲的打擂臺(tái)活動(dòng)為例,根據(jù)表1中保存的參加過(guò)打擂臺(tái)活動(dòng)的用戶的戰(zhàn)力和排名生成的第三索引,可以如表4所示。同樣在第三索引中,對(duì)于沒(méi)有對(duì)應(yīng)用戶的第三結(jié)果數(shù)據(jù)的排名,與比上述第三結(jié)果數(shù)據(jù)低且有對(duì)應(yīng)用戶的最接近的結(jié)果數(shù)據(jù)的排名相同。例如表4中,戰(zhàn)力99沒(méi)有對(duì)應(yīng)的用戶,比戰(zhàn)力99低且有對(duì)應(yīng)用戶的最接近的戰(zhàn)力為95,95的排名為2,因此戰(zhàn)力99的排名也為2,同理對(duì)于戰(zhàn)力98~96,排名也為2。對(duì)于用戶c來(lái)說(shuō),上述第二結(jié)果數(shù)據(jù)即為用戶c本次打擂臺(tái)的戰(zhàn)力96,排名查詢子模塊641通過(guò)查詢表4所示的第三索引,可以獲得戰(zhàn)力96,在用戶c打擂臺(tái)之前參加過(guò)打擂臺(tái)活動(dòng)的所有用戶的戰(zhàn)力中,排名為2。對(duì)于用戶e來(lái)說(shuō),上述第二結(jié)果數(shù)據(jù)即為用戶e本次打擂臺(tái)的戰(zhàn)力97,排名查詢子模塊641通過(guò)查詢表4所示的第三索引,可以獲得戰(zhàn)力97,在用戶e打擂臺(tái)之前參加過(guò)打擂臺(tái)活動(dòng)的所有用戶的戰(zhàn)力中,排名為2。數(shù)量查詢子模塊642,用于通過(guò)第一索引查詢獲得第一緩沖區(qū)中保存的,使用上述應(yīng)用程序并且在使用上述應(yīng)用程序之前的結(jié)果數(shù)據(jù)比第二結(jié)果數(shù)據(jù)高的用戶的數(shù)量;以及通過(guò)第二索引查詢獲得上述第一緩沖區(qū)中保存的,使用上述應(yīng)用程序并且在使用上述應(yīng)用程序之后的結(jié)果數(shù)據(jù)比上述第二結(jié)果數(shù)據(jù)高的用戶的數(shù)量;仍以游戲的打擂臺(tái)活動(dòng)為例,數(shù)量查詢子模塊642通過(guò)查詢表2所示的第一索引,可以獲得用戶c本次打擂臺(tái)的戰(zhàn)力96的排名為1,這說(shuō)明上述第一緩沖區(qū)中保存的,打擂臺(tái)并且在打擂臺(tái)之前的戰(zhàn)力比用戶c打擂臺(tái)之后的戰(zhàn)力高的用戶的數(shù)量為0;同理,數(shù)量查詢子模塊642通過(guò)查詢表2所示的第一索引,可以獲得用戶e本次打擂臺(tái)的戰(zhàn)力97的排名為1,這說(shuō)明上述第一緩沖區(qū)中保存的,打擂臺(tái)并且在打擂臺(tái)之前的戰(zhàn)力比用戶e打擂臺(tái)之后的戰(zhàn)力高的用戶的數(shù)量為0。進(jìn)一步地,數(shù)量查詢子模塊642通過(guò)查詢表3所示的第二索引,可以獲得用戶c本次打擂臺(tái)的戰(zhàn)力96的排名為2,這說(shuō)明上述第一緩沖區(qū)中保存的,打擂臺(tái)并且在打擂臺(tái)之后的戰(zhàn)力比用戶c打擂臺(tái)之后的戰(zhàn)力高的用戶的數(shù)量為1;同理,數(shù)量查詢子模塊642通過(guò)查詢表3所示的第二索引,可以獲得用戶e本次打擂臺(tái)的戰(zhàn)力97的排名為1,這說(shuō)明上述第一緩沖區(qū)中保存的,打擂臺(tái)并且在打擂臺(tái)之后的戰(zhàn)力比用戶e打擂臺(tái)之后的戰(zhàn)力高的用戶的數(shù)量為0。排名計(jì)算子模塊643,用于將排名查詢子模塊641通過(guò)第三索引查詢獲得的排名減去數(shù)量查詢子模塊642通過(guò)第一索引查詢獲得的用戶的數(shù)量,所得的差值再加上數(shù)量查詢子模塊642通過(guò)第二索引查詢獲得的用戶的數(shù)量,所得的和值為上述用戶在使用上述應(yīng)用程序的所有用戶中的排名。仍以游戲的打擂臺(tái)活動(dòng)為例,對(duì)于用戶c來(lái)說(shuō),排名計(jì)算子模塊643計(jì)算獲得的用戶c在本次打擂臺(tái)之后在參加打擂臺(tái)的所有用戶中的排名為:2-0+1=3;而對(duì)于用戶e來(lái)說(shuō),排名計(jì)算子模塊643計(jì)算獲得的用戶e在本次打擂臺(tái)之后在參加打擂臺(tái)的所有用戶中的排名為:2-0+0=2。本實(shí)施例中,排名獲得模塊64,還用于在獲得上述第一結(jié)果數(shù)據(jù)在第一索引中的排名之后,根據(jù)第一結(jié)果數(shù)據(jù)、第一索引和第二索引,獲得上述用戶本次使用上述應(yīng)用程序之前在使用上述應(yīng)用程序的所有用戶中的排名。也就是說(shuō),在用戶打開(kāi)上述應(yīng)用程序的界面之后,本次使用上述應(yīng)用程序之前,排名獲得模塊64可以根據(jù)用戶前次使用上述應(yīng)用程序的第一結(jié)果數(shù)據(jù),第一緩沖區(qū)中保存的第一索引和第二索引,獲得上述用戶本次使用上述應(yīng)用程序之前在使用上述應(yīng)用程序的所有用戶中的排名。這時(shí),排名獲得模塊64同樣可以包括:排名查詢子模塊641、數(shù)量查詢子模塊642和排名計(jì)算子模塊643;其中,排名查詢子模塊641,用于通過(guò)第三索引查詢獲得上述第一結(jié)果數(shù)據(jù)在使用上述應(yīng)用程序的所有用戶的結(jié)果數(shù)據(jù)中的排名;仍以游戲的打擂臺(tái)活動(dòng)為例,這里假設(shè)用戶d在打擂臺(tái)之前想查詢一下自身當(dāng)前的排名,參見(jiàn)表1,用戶d前次打擂臺(tái)的戰(zhàn)力為93,排名查詢子模塊641通過(guò)查詢表4所示的第三索引,可以獲得戰(zhàn)力93在所有用戶的戰(zhàn)力中的排名為4。數(shù)量查詢子模塊642,用于通過(guò)第一索引查詢獲得上述第一緩沖區(qū)中保存的,使用上述應(yīng)用程序并且在使用上述應(yīng)用程序之前的結(jié)果數(shù)據(jù)比第一結(jié)果數(shù)據(jù)高的用戶的數(shù)量;以及通過(guò)第二索引查詢獲得上述第一緩沖區(qū)中保存的,使用上述應(yīng)用程序并且在使用上述應(yīng)用程序之后的結(jié)果數(shù)據(jù)比第一結(jié)果數(shù)據(jù)高的用戶的數(shù)量;仍以游戲的打擂臺(tái)活動(dòng)為例,數(shù)量查詢子模塊642通過(guò)查詢表2所示的第一索引,可以獲得用戶d前次打擂臺(tái)的戰(zhàn)力93的排名為2,這說(shuō)明上述第一緩沖區(qū)中保存的,打擂臺(tái)并且在打擂臺(tái)之前的戰(zhàn)力比用戶d打擂臺(tái)之前的戰(zhàn)力高的用戶的數(shù)量為1。進(jìn)一步地,數(shù)量查詢子模塊642通過(guò)查詢表3所示的第二索引,可以獲得用戶d前次打擂臺(tái)的戰(zhàn)力93的排名為3,這說(shuō)明上述第一緩沖區(qū)中保存的,打擂臺(tái)并且在打擂臺(tái)之后的戰(zhàn)力比用戶d打擂臺(tái)之前的戰(zhàn)力高的用戶的數(shù)量為2。排名計(jì)算子模塊643,用于將排名查詢子模塊641通過(guò)第三索引查詢獲得的排名減去通過(guò)第一索引查詢獲得的用戶的數(shù)量,所得的差值再加上數(shù)量查詢子模塊642通過(guò)第二索引查詢獲得的用戶的數(shù)量,所得的和值為上述用戶本次使用上述應(yīng)用程序之前在使用上述應(yīng)用程序的所有用戶中的排名。具體地,對(duì)于用戶d來(lái)說(shuō),排名計(jì)算子模塊643計(jì)算獲得的用戶d在本次打擂臺(tái)之前在參加打擂臺(tái)的所有用戶中的排名為:4-1+2=5。本實(shí)施例中,同樣是在第一緩沖區(qū)中,排名獲得模塊64根據(jù)用戶前次使用應(yīng)用程序的第一結(jié)果數(shù)據(jù),第一緩沖區(qū)中保存的第一索引和第二索引,即可獲得上述用戶在本次使用應(yīng)用程序之前在使用上述應(yīng)用程序的所有用戶中的排名,實(shí)現(xiàn)了利用時(shí)間局部性對(duì)用戶排名進(jìn)行快速更新,由于第一緩沖區(qū)中保存的用戶數(shù)量很少,因此即使頻繁更新排名,時(shí)間成本也很低,大大降低了實(shí)時(shí)更新排名的時(shí)間成本。進(jìn)一步地,上述排名更新裝置還可以包括:清空模塊65;排名獲得模塊64,還用于在保存模塊63將用戶本次使用上述應(yīng)用程序的第二結(jié)果數(shù)據(jù)保存到第一緩沖區(qū)之后,當(dāng)?shù)谝痪彌_區(qū)中的用戶的數(shù)量達(dá)到預(yù)定閾值時(shí),將上述第二結(jié)果數(shù)據(jù)與第三索引記錄的結(jié)果數(shù)據(jù)進(jìn)行比對(duì),獲得上述第二結(jié)果數(shù)據(jù)在第三索引中的排名,作為上述用戶在使用上述應(yīng)用程序的所有用戶中的排名;其中,第三索引記錄使用上述應(yīng)用程序的所有用戶的結(jié)果數(shù)據(jù)和對(duì)應(yīng)的在第三索引中的排名;本實(shí)施例中,如果上述第一緩沖區(qū)中的用戶的數(shù)量達(dá)到預(yù)定閾值,那么在上述用戶使用上述應(yīng)用程序完畢之后,排名獲得模塊64就不能在第一緩沖區(qū)中對(duì)用戶進(jìn)行排名了,需要調(diào)用第二緩沖區(qū)進(jìn)行排名,即將上述用戶本次使用應(yīng)用程序的第二結(jié)果數(shù)據(jù)在使用上述應(yīng)用程序的所有用戶的結(jié)果數(shù)據(jù)中進(jìn)行排名,獲得上述第二結(jié)果數(shù)據(jù)在第三索引中的排名,以實(shí)現(xiàn)對(duì)第三索引的更新。清空模塊65,用于清空第一索引、第二索引和第一緩沖區(qū)。具體地,一旦第一緩沖區(qū)中的用戶的數(shù)量達(dá)到預(yù)定閾值,排名獲得模塊64調(diào)用第二緩沖區(qū)進(jìn)行排名,將上述第二結(jié)果數(shù)據(jù)在使用上述應(yīng)用程序的所有用戶的結(jié)果數(shù)據(jù)中進(jìn)行排名,獲得上述第二結(jié)果數(shù)據(jù)在第三索引中的排名,以實(shí)現(xiàn)對(duì)第三索引的更新之后,清空模塊65需要清空第一索引和第二索引,以及第一緩沖區(qū)。本申請(qǐng)實(shí)施例提供的排名更新裝置,利用用戶排名變動(dòng)的時(shí)間局部性原理,考慮到大多時(shí)候只有使用應(yīng)用程序的少數(shù)用戶的排名頻繁變動(dòng),因此本申請(qǐng)?jiān)诘谝痪彌_區(qū)維護(hù)最近排名發(fā)生更新的用戶,并將緩沖區(qū)分為兩層,第一緩沖區(qū)只對(duì)使用應(yīng)用程序的用戶進(jìn)行排名;第二緩沖區(qū)對(duì)使用上述應(yīng)用程序的所有用戶進(jìn)行排名,兩層都使用索引進(jìn)行排序,記錄每個(gè)結(jié)果數(shù)據(jù)的排名。因?yàn)楦嗲闆r下是最近剛更新排名的用戶導(dǎo)致使用應(yīng)用程序的用戶的排名發(fā)生變動(dòng),所以,大多時(shí)候只需調(diào)用第一緩沖區(qū)進(jìn)行排序即可實(shí)現(xiàn)用戶排名的快速更新,只有當(dāng)?shù)谝痪彌_區(qū)中的用戶的數(shù)量達(dá)到預(yù)定閾值時(shí),才會(huì)啟動(dòng)底層排名。以游戲的打擂臺(tái)活動(dòng)為例,因?yàn)橥瑫r(shí)在線的用戶占全服務(wù)器注冊(cè)用戶的比例很小,而同時(shí)在線的用戶中參加打擂臺(tái)活動(dòng)的比例又很小,所以第一緩沖區(qū)中保存的用戶數(shù)量m很小,此時(shí)第一緩沖區(qū)可采用索引記錄每個(gè)戰(zhàn)力的排名,查詢時(shí)間成本為o(1),更新時(shí)間成本為o(m);而當(dāng)m達(dá)到預(yù)定閾值,此時(shí)需要將第一緩沖區(qū)中保存的用戶和底層保存的所有未參加打擂臺(tái)活動(dòng)的用戶進(jìn)行排名更新,更新時(shí)間成本為o(n),并清空第一緩沖區(qū)中的用戶,其中n為第一緩沖區(qū)中保存的用戶和第二緩沖區(qū)保存的所有未參加打擂臺(tái)活動(dòng)的用戶的總數(shù),本申請(qǐng)能保證第一緩沖區(qū)中的用戶數(shù)量始終很少,從而查詢排名和更新排名的時(shí)間成本很低,另外由于第二緩沖區(qū)對(duì)所有用戶排名的頻率低,采用索引排序也足以應(yīng)對(duì)壓力。圖8為本申請(qǐng)計(jì)算機(jī)設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,本實(shí)施例中的計(jì)算機(jī)設(shè)備可以作為服務(wù)器或者服務(wù)器的一部分,實(shí)現(xiàn)本申請(qǐng)圖1~圖5所示實(shí)施例提供的排名更新方法。上述排名更新裝置可以包括:一個(gè)或多個(gè)處理器;存儲(chǔ)器,用于存儲(chǔ)一個(gè)或多個(gè)程序;當(dāng)一個(gè)或多個(gè)程序被一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得所述一個(gè)或多個(gè)處理器實(shí)現(xiàn)本申請(qǐng)?zhí)峁┑呐琶路椒?。圖8示出了適于用來(lái)實(shí)現(xiàn)本申請(qǐng)實(shí)施方式的示例性計(jì)算機(jī)設(shè)備的框圖。圖8顯示的計(jì)算機(jī)設(shè)備12僅僅是一個(gè)示例,不應(yīng)對(duì)本申請(qǐng)實(shí)施例的功能和使用范圍帶來(lái)任何限制。如圖8所示,計(jì)算機(jī)設(shè)備12以通用計(jì)算設(shè)備的形式表現(xiàn)。計(jì)算機(jī)設(shè)備12的組件可以包括但不限于:一個(gè)或者多個(gè)處理器或者處理單元16,系統(tǒng)存儲(chǔ)器28,連接不同系統(tǒng)組件(包括系統(tǒng)存儲(chǔ)器28和處理單元16)的總線18??偩€18表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲(chǔ)器總線或者存儲(chǔ)器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉例來(lái)說(shuō),這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(industrystandardarchitecture;以下簡(jiǎn)稱:isa)總線,微通道體系結(jié)構(gòu)(microchannelarchitecture;以下簡(jiǎn)稱:mac)總線,增強(qiáng)型isa總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(videoelectronicsstandardsassociation;以下簡(jiǎn)稱:vesa)局域總線以及外圍組件互連(peripheralcomponentinterconnection;以下簡(jiǎn)稱:pci)總線。計(jì)算機(jī)設(shè)備12典型地包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是任何能夠被計(jì)算機(jī)設(shè)備12訪問(wèn)的可用介質(zhì),包括易失性和非易失性介質(zhì),可移動(dòng)的和不可移動(dòng)的介質(zhì)。系統(tǒng)存儲(chǔ)器28可以包括易失性存儲(chǔ)器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存取存儲(chǔ)器(randomaccessmemory;以下簡(jiǎn)稱:ram)30和/或高速緩存存儲(chǔ)器32。計(jì)算機(jī)設(shè)備12可以進(jìn)一步包括其它可移動(dòng)/不可移動(dòng)的、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)。僅作為舉例,存儲(chǔ)系統(tǒng)34可以用于讀寫(xiě)不可移動(dòng)的、非易失性磁介質(zhì)(圖8未顯示,通常稱為“硬盤(pán)驅(qū)動(dòng)器”)。盡管圖8中未示出,可以提供用于對(duì)可移動(dòng)非易失性磁盤(pán)(例如“軟盤(pán)”)讀寫(xiě)的磁盤(pán)驅(qū)動(dòng)器,以及對(duì)可移動(dòng)非易失性光盤(pán)(例如:光盤(pán)只讀存儲(chǔ)器(compactdiscreadonlymemory;以下簡(jiǎn)稱:cd-rom)、數(shù)字多功能只讀光盤(pán)(digitalvideodiscreadonlymemory;以下簡(jiǎn)稱:dvd-rom)或者其它光介質(zhì))讀寫(xiě)的光盤(pán)驅(qū)動(dòng)器。在這些情況下,每個(gè)驅(qū)動(dòng)器可以通過(guò)一個(gè)或者多個(gè)數(shù)據(jù)介質(zhì)接口與總線18相連。存儲(chǔ)器28可以包括至少一個(gè)程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個(gè))程序模塊,這些程序模塊被配置以執(zhí)行本申請(qǐng)各實(shí)施例的功能。具有一組(至少一個(gè))程序模塊42的程序/實(shí)用工具40,可以存儲(chǔ)在例如存儲(chǔ)器28中,這樣的程序模塊42包括——但不限于——操作系統(tǒng)、一個(gè)或者多個(gè)應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個(gè)或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)。程序模塊42通常執(zhí)行本申請(qǐng)所描述的實(shí)施例中的功能和/或方法。計(jì)算機(jī)設(shè)備12也可以與一個(gè)或多個(gè)外部設(shè)備14(例如鍵盤(pán)、指向設(shè)備、顯示器24等)通信,還可與一個(gè)或者多個(gè)使得用戶能與該計(jì)算機(jī)設(shè)備12交互的設(shè)備通信,和/或與使得該計(jì)算機(jī)設(shè)備12能與一個(gè)或多個(gè)其它計(jì)算設(shè)備進(jìn)行通信的任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。這種通信可以通過(guò)輸入/輸出(i/o)接口22進(jìn)行。并且,計(jì)算機(jī)設(shè)備12還可以通過(guò)網(wǎng)絡(luò)適配器20與一個(gè)或者多個(gè)網(wǎng)絡(luò)(例如局域網(wǎng)(localareanetwork;以下簡(jiǎn)稱:lan),廣域網(wǎng)(wideareanetwork;以下簡(jiǎn)稱:wan)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖8所示,網(wǎng)絡(luò)適配器20通過(guò)總線18與計(jì)算機(jī)設(shè)備12的其它模塊通信。應(yīng)當(dāng)明白,盡管圖8中未示出,可以結(jié)合計(jì)算機(jī)設(shè)備12使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動(dòng)器、冗余處理單元、外部磁盤(pán)驅(qū)動(dòng)陣列、raid系統(tǒng)、磁帶驅(qū)動(dòng)器以及數(shù)據(jù)備份存儲(chǔ)系統(tǒng)等。處理單元16通過(guò)運(yùn)行存儲(chǔ)在系統(tǒng)存儲(chǔ)器28中的程序,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,例如實(shí)現(xiàn)本申請(qǐng)圖1~圖5所示實(shí)施例提供的排名更新方法。本實(shí)施例還提供一種非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)上述存儲(chǔ)介質(zhì)中的計(jì)算機(jī)可執(zhí)行指令在由計(jì)算機(jī)處理器執(zhí)行時(shí),用于執(zhí)行本申請(qǐng)圖1~圖5所示實(shí)施例提供的排名更新方法。上述非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀的介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤(pán)、硬盤(pán)、隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(readonlymemory;以下簡(jiǎn)稱:rom)、可擦式可編程只讀存儲(chǔ)器(erasableprogrammablereadonlymemory;以下簡(jiǎn)稱:eprom)或閃存、光纖、便攜式緊湊磁盤(pán)只讀存儲(chǔ)器(cd-rom)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號(hào)可以采用多種形式,包括——但不限于——電磁信號(hào)、光信號(hào)或上述的任意合適的組合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括——但不限于——無(wú)線、電線、光纜、rf等等,或者上述的任意合適的組合。可以以一種或多種程序設(shè)計(jì)語(yǔ)言或其組合來(lái)編寫(xiě)用于執(zhí)行本申請(qǐng)操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語(yǔ)言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言—諸如java、smalltalk、c++,還包括常規(guī)的過(guò)程式程序設(shè)計(jì)語(yǔ)言—諸如“c”語(yǔ)言或類似的程序設(shè)計(jì)語(yǔ)言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類的網(wǎng)絡(luò)——包括局域網(wǎng)(localareanetwork;以下簡(jiǎn)稱:lan)或廣域網(wǎng)(wideareanetwork;以下簡(jiǎn)稱:wan)連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。需要說(shuō)明的是,在本申請(qǐng)的描述中,術(shù)語(yǔ)“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性。此外,在本申請(qǐng)的描述中,除非另有說(shuō)明,“多個(gè)”的含義是兩個(gè)或兩個(gè)以上。流程圖中或在此以其他方式描述的任何過(guò)程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過(guò)程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本申請(qǐng)的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來(lái)執(zhí)行功能,這應(yīng)被本申請(qǐng)的實(shí)施例所屬
技術(shù)領(lǐng)域:
的技術(shù)人員所理解。應(yīng)當(dāng)理解,本申請(qǐng)的各部分可以用硬件、軟件、固件或它們的組合來(lái)實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來(lái)實(shí)現(xiàn)。例如,如果用硬件來(lái)實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來(lái)實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門(mén)電路的離散邏輯電路,具有合適的組合邏輯門(mén)電路的專用集成電路,可編程門(mén)陣列(programmablegatearray;以下簡(jiǎn)稱:pga),現(xiàn)場(chǎng)可編程門(mén)陣列(fieldprogrammablegatearray;以下簡(jiǎn)稱:fpga)等。本
技術(shù)領(lǐng)域:
的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。此外,本申請(qǐng)各個(gè)實(shí)施例中的各功能模塊可以集成在一個(gè)處理模塊中,也可以是各個(gè)模塊單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上模塊集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。在本說(shuō)明書(shū)的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本申請(qǐng)的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書(shū)中,對(duì)上述術(shù)語(yǔ)的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。盡管上面已經(jīng)示出和描述了本申請(qǐng)的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本申請(qǐng)的限制,本領(lǐng)域的普通技術(shù)人員在本申請(qǐng)的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。當(dāng)前第1頁(yè)12