本技術(shù)涉及計算機技術(shù),尤其涉及一種排行榜處理方法、裝置、電子設(shè)備、計算機可讀存儲介質(zhì)及計算機程序產(chǎn)品。
背景技術(shù):
1、排行榜是指用于反映某一同類事物的客觀實力的榜單,帶有相互之間的比較性質(zhì),排行榜在計算機領(lǐng)域得到了廣泛的應(yīng)用,如游戲中的分數(shù)排行榜、歌曲平臺中的歌曲熱度排行榜等。
2、在相關(guān)技術(shù)提供的方案中,以某一平臺的賬號排名場景舉例,是根據(jù)該平臺所有賬號的賬號數(shù)據(jù)進行排名以生成排行榜,即該排行榜是全局排行榜。然而,由于全局排行榜所涉及的賬號數(shù)量通常較多,對于用戶而言難以從中快速找到符合自身需求的有效信息,即獲取排行榜中信息的效率低。
技術(shù)實現(xiàn)思路
1、本技術(shù)實施例提供一種排行榜處理方法、裝置、電子設(shè)備、計算機可讀存儲介質(zhì)及計算機程序產(chǎn)品,能夠基于對象分區(qū)信息確定符合用戶需求的排行榜,有助于提升獲取排行榜中信息的效率。
2、本技術(shù)實施例的技術(shù)方案是這樣實現(xiàn)的:
3、本技術(shù)實施例提供一種排行榜處理方法,包括:
4、為多個服務(wù)進程分別分配共享內(nèi)存塊;其中,每個服務(wù)進程對應(yīng)有對象分區(qū)信息;
5、通過每個服務(wù)進程獲取符合該服務(wù)進程所對應(yīng)對象分區(qū)信息的多個對象的對象數(shù)據(jù),根據(jù)所述多個對象的對象數(shù)據(jù)生成排行榜,并將生成的排行榜寫入至為該服務(wù)進程分配的共享內(nèi)存塊;
6、接收包括目標對象分區(qū)信息的排行榜請求;
7、響應(yīng)于所述排行榜請求,通過所述目標對象分區(qū)信息對應(yīng)的目標服務(wù)進程,從為所述目標服務(wù)進程分配的共享內(nèi)存塊中讀取目標排行榜;
8、向所述排行榜請求的發(fā)起方發(fā)送所述目標排行榜。
9、本技術(shù)實施例提供一種排行榜處理裝置,包括:
10、分配模塊,用于為多個服務(wù)進程分別分配共享內(nèi)存塊;其中,每個服務(wù)進程對應(yīng)有對象分區(qū)信息;
11、寫入模塊,用于通過每個服務(wù)進程獲取符合該服務(wù)進程所對應(yīng)對象分區(qū)信息的多個對象的對象數(shù)據(jù),根據(jù)所述多個對象的對象數(shù)據(jù)生成排行榜,并將生成的排行榜寫入至為該服務(wù)進程分配的共享內(nèi)存塊;
12、接收模塊,用于接收包括目標對象分區(qū)信息的排行榜請求;
13、讀取模塊,用于響應(yīng)于所述排行榜請求,通過所述目標對象分區(qū)信息對應(yīng)的目標服務(wù)進程,從為所述目標服務(wù)進程分配的共享內(nèi)存塊中讀取目標排行榜;
14、發(fā)送模塊,用于向所述排行榜請求的發(fā)起方發(fā)送所述目標排行榜。
15、在上述方案中,每個服務(wù)進程對應(yīng)有跨機的備份服務(wù)進程;排行榜處理裝置還包括備份模塊,用于:
16、通過每個服務(wù)進程將生成的排行榜發(fā)送至對應(yīng)的備份服務(wù)進程,以使該備份服務(wù)進程根據(jù)接收到的排行榜在為該備份服務(wù)進程分配的共享內(nèi)存塊中進行備份處理;
17、當通過所述目標服務(wù)進程讀取目標排行榜失敗時,通過所述目標服務(wù)進程對應(yīng)的備份服務(wù)進程,從為該備份服務(wù)進程分配的共享內(nèi)存塊中讀取目標排行榜。
18、在上述方案中,排行榜處理裝置還包括合并模塊,用于:
19、通過第一服務(wù)進程從為所述第一服務(wù)進程分配的共享內(nèi)存塊中讀取第一排行榜,通過第二服務(wù)進程從為所述第二服務(wù)進程分配的共享內(nèi)存塊中讀取第二排行榜;其中,所述第一服務(wù)進程為所述多個服務(wù)進程中的任意一個服務(wù)進程,所述第二服務(wù)進程為所述第一服務(wù)進程的備份服務(wù)進程;
20、對所述第一排行榜及所述第二排行榜進行合并處理,得到合并排行榜;
21、當所述第一排行榜與所述合并排行榜不同時,通過所述第一服務(wù)進程將所述合并排行榜寫入至為所述第一服務(wù)進程分配的共享內(nèi)存塊,以替換為所述第一服務(wù)進程分配的共享內(nèi)存塊中的第一排行榜;
22、當所述第二排行榜與所述合并排行榜不同時,通過所述第二服務(wù)進程將所述合并排行榜寫入至為所述第二服務(wù)進程分配的共享內(nèi)存塊,以替換為所述第二服務(wù)進程分配的共享內(nèi)存塊中的第二排行榜。
23、在上述方案中,排行榜處理裝置還包括持久化模塊,用于:
24、通過每個服務(wù)進程將生成的排行榜寫入至非易失性存儲介質(zhì)中;
25、當通過所述目標服務(wù)進程讀取目標排行榜失敗時,從所述非易失性存儲介質(zhì)中讀取目標排行榜。
26、在上述方案中,每個服務(wù)進程對應(yīng)有排行榜容量;寫入模塊還用于:
27、對所述多個對象的對象數(shù)據(jù)進行排序處理,得到對象數(shù)據(jù)序列;
28、當所述對象數(shù)據(jù)序列的容量小于或等于排行榜容量時,將所述對象數(shù)據(jù)序列確定為排行榜;
29、當所述對象數(shù)據(jù)序列的容量大于排行榜容量時,對所述對象數(shù)據(jù)序列進行截取處理,得到小于或等于排行榜容量的排行榜。
30、在上述方案中,分配模塊還用于:
31、根據(jù)每個服務(wù)進程對應(yīng)的排行榜容量為每個服務(wù)進程創(chuàng)建共享內(nèi)存塊,并分配給對應(yīng)的服務(wù)進程;
32、響應(yīng)于針對第三服務(wù)進程對應(yīng)的排行榜容量的更新操作,根據(jù)更新后的排行榜容量為所述第三服務(wù)進程創(chuàng)建共享內(nèi)存塊并分配給所述第三服務(wù)進程,并釋放排行榜容量更新前分配給所述第三服務(wù)進程的共享內(nèi)存塊;
33、其中,所述第三服務(wù)進程為所述多個服務(wù)進程中的任意一個服務(wù)進程。
34、在上述方案中,每個服務(wù)進程還對應(yīng)有對象屬性類型;所述排行榜請求還包括目標對象屬性類型;寫入模塊還用于通過每個服務(wù)進程確定符合該服務(wù)進程所對應(yīng)對象分區(qū)信息的多個對象,并獲取所述多個對象中各對象在該服務(wù)進程所對應(yīng)對象屬性類型下的對象數(shù)據(jù);讀取模塊還用于通過與所述目標對象分區(qū)信息及所述目標對象屬性類型對應(yīng)的目標服務(wù)進程,從為所述目標服務(wù)進程分配的共享內(nèi)存塊中讀取目標排行榜。
35、在上述方案中,第四服務(wù)進程對應(yīng)有鏡像條件,所述第四服務(wù)進程為所述多個服務(wù)進程中的任意一個服務(wù)進程;排行榜處理裝置還包括鏡像模塊,用于:
36、當滿足所述第四服務(wù)進程對應(yīng)的鏡像條件時,通過所述第四服務(wù)進程從為所述第四服務(wù)進程分配的共享內(nèi)存塊中讀取排行榜并進行鏡像處理,將鏡像處理得到的排行榜副本寫入至為所述第四服務(wù)進程分配的共享內(nèi)存塊。
37、在上述方案中,排行榜處理裝置還包括獎勵模塊,用于:
38、通過所述第四服務(wù)進程從為所述第四服務(wù)進程分配的共享內(nèi)存塊中讀取排行榜副本;
39、在讀取的排行榜副本中確定符合排名條件的待獎勵對象;
40、對所述待獎勵對象進行獎勵處理。
41、在上述方案中,第五服務(wù)進程對應(yīng)有更新條件,所述第五服務(wù)進程為所述多個服務(wù)進程中的任意一個服務(wù)進程;排行榜處理裝置還包括更新模塊,用于:
42、當滿足所述第五服務(wù)進程對應(yīng)的更新條件時,通過所述第五服務(wù)進程從為所述第五服務(wù)進程分配的共享內(nèi)存塊中讀取排行榜,對讀取的排行榜中的對象數(shù)據(jù)進行更新處理,并
43、將更新后的排行榜寫入至為所述第五服務(wù)進程分配的共享內(nèi)存塊,以替換為所述第五服務(wù)進程分配的共享內(nèi)存塊中的更新前的排行榜。
44、本技術(shù)實施例提供一種電子設(shè)備,包括:
45、存儲器,用于存儲可執(zhí)行指令;
46、處理器,用于執(zhí)行所述存儲器中存儲的可執(zhí)行指令時,實現(xiàn)本技術(shù)實施例提供的排行榜處理方法。
47、本技術(shù)實施例提供一種計算機可讀存儲介質(zhì),存儲有可執(zhí)行指令,用于引起處理器執(zhí)行時,實現(xiàn)本技術(shù)實施例提供的排行榜處理方法。
48、本技術(shù)實施例提供了一種計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括可執(zhí)行指令,用于引起處理器執(zhí)行時,實現(xiàn)本技術(shù)實施例提供的排行榜處理方法。
49、本技術(shù)實施例具有以下有益效果:
50、本技術(shù)實施例通過多個服務(wù)進程來分別生成符合對應(yīng)對象分區(qū)信息的排行榜,如此,在接收到包括目標對象分區(qū)信息的排行榜請求時,便可確定出與目標對象分區(qū)信息對應(yīng)的目標排行榜以進行響應(yīng);同時,為多個服務(wù)進程分別分配共享內(nèi)存塊,通過共享內(nèi)存塊來實現(xiàn)對應(yīng)排行榜的寫入及讀取,能夠保證快速、準確地得到目標排行榜。綜上,本技術(shù)實施例能夠快速、準確地確定符合用戶需求的排行榜,便于用戶快速獲知有效信息,即能夠提升獲取排行榜中信息的效率。