本發(fā)明涉及稿件統(tǒng)計技術(shù)領(lǐng)域,具體而言,涉及一種稿件統(tǒng)計方法和一種稿件統(tǒng)計系統(tǒng)。
背景技術(shù):
目前,在CMS(Content Management System,內(nèi)容管理系統(tǒng))在關(guān)系型數(shù)據(jù)庫中保存了大量的稿件的信息,如稿件所屬欄目編號、稿件編號和稿件點擊量等信息,不同的欄目對應(yīng)有不同的稿件,且欄目又有樹形結(jié)構(gòu),在相關(guān)的技術(shù)方案中,通過對關(guān)系型數(shù)據(jù)庫中涉及到得表進(jìn)行連接查詢,并采取聚類函數(shù)按欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量。
但是相關(guān)技術(shù)中的確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量的方案有以下幾點缺點:
(1)關(guān)系型數(shù)據(jù)庫中的多個表的連接查詢不能充分利用服務(wù)器的CPU多核計算能力;
(2)由于關(guān)系型數(shù)據(jù)庫中存儲有大量的稿件,采用多個表連接查詢的統(tǒng)計方案運行速度比較慢,特別是在大數(shù)據(jù)規(guī)模的情況下,確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量需要耗費很長的時間,嚴(yán)重影響用戶的體驗。
因此,如何充分利用CPU多核計算能力,以及在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時,如何提高統(tǒng)計的效率,從而提升用戶體驗成為亟待解決的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明正是基于上述問題,提出了一種新的技術(shù)方案,通過調(diào)用至少一個線程對分布式存儲的稿件歸納信息進(jìn)行統(tǒng)計,從而在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時可以提高統(tǒng)計的效率,進(jìn)而提升了用戶體驗,同時,可以充分利用CPU多核計算能力。
有鑒于此,本發(fā)明的一方面提出了一種稿件統(tǒng)計方法,包括:對當(dāng)前稿件進(jìn)行歸納統(tǒng)計,以確定所述當(dāng)前稿件的稿件歸納信息;根據(jù)接收到的 用戶輸入的統(tǒng)計參數(shù)信息,分別獲取多個所述當(dāng)前稿件中的每個所述當(dāng)前稿件的所述稿件歸納信息,以形成歸納信息集合;根據(jù)所述統(tǒng)計參數(shù)信息,調(diào)度至少一個線程對所述歸納信息集合進(jìn)行統(tǒng)計,以確定所述歸納信息集合的稿件統(tǒng)計信息。
在該技術(shù)方案中,對當(dāng)前稿件進(jìn)行歸納統(tǒng)計得到稿件歸納信息,這樣,當(dāng)接收到用戶輸入的統(tǒng)計參數(shù)信息進(jìn)行統(tǒng)計時,就可以調(diào)用線程直接對稿件歸納信息進(jìn)行統(tǒng)計,而且可以使用多個線程同時對稿件歸納信息進(jìn)行統(tǒng)計,從而在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時可以提高統(tǒng)計的速度和效率,進(jìn)而提升了用戶體驗。
在上述技術(shù)方案中,優(yōu)選地,對所述當(dāng)前稿件進(jìn)行歸納統(tǒng)計,以確定所述當(dāng)前稿件的稿件歸納信息,具體包括:每隔預(yù)設(shè)時間獲取關(guān)系型數(shù)據(jù)庫中的所述當(dāng)前稿件,其中,所述當(dāng)前稿件為所述預(yù)設(shè)時間內(nèi)生成的稿件;對所述當(dāng)前稿件進(jìn)行歸納統(tǒng)計,以確定所述當(dāng)前稿件的所述稿件歸納信息,并將所述稿件歸納信息分布式存儲在多個稿件歸納文件中。
在該技術(shù)方案中,可以每隔預(yù)設(shè)時間對當(dāng)前稿件進(jìn)行及時歸納統(tǒng)計,例如,在每天晚上服務(wù)器空閑的時候歸納統(tǒng)計出當(dāng)天的當(dāng)前稿件的稿件歸納信息,從而可以充分利用服務(wù)器的資源,而且在服務(wù)器空閑的時候進(jìn)行歸納統(tǒng)計的速度比較快,另外,將歸納統(tǒng)計出的稿件歸納信息分布式存儲在多個稿件歸納文件中,這樣,當(dāng)根據(jù)用戶輸入的統(tǒng)計參數(shù)信息統(tǒng)計出稿件統(tǒng)計信息時,就可以使用至少一個線程對多個稿件歸納文件進(jìn)行分布式地統(tǒng)計,從而在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時可以提高統(tǒng)計的效率和速度,進(jìn)而提升了用戶體驗。
在上述技術(shù)方案中,優(yōu)選地,調(diào)度至少一個所述線程,具體包括:根據(jù)所述統(tǒng)計參數(shù)信息,確定總線程數(shù);根據(jù)系統(tǒng)硬件參數(shù)信息,在所述總線程數(shù)中確定目標(biāo)線程數(shù)。
在該技術(shù)方案中,根據(jù)統(tǒng)計參數(shù)信息和系統(tǒng)硬件參數(shù)信息確定調(diào)用的目標(biāo)線程數(shù),例如,系統(tǒng)硬件參數(shù)信息為服務(wù)器CPU核的數(shù)量,因此,根據(jù)服務(wù)器CPU核的數(shù)量確定目標(biāo)線程數(shù),即使用多核進(jìn)行統(tǒng)計,從而充分利用服務(wù)器多核資源,同時在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時還可以提高統(tǒng)計的效率和速度。
在上述技術(shù)方案中,優(yōu)選地,根據(jù)所述統(tǒng)計參數(shù)信息,調(diào)度至少一個所述線程對所述歸納信息集合進(jìn)行統(tǒng)計,具體包括:分別獲取多個所述當(dāng) 前稿件中的每個所述當(dāng)前稿件的所述多個稿件歸納文件,以形成稿件歸納文件集合;獲取所述稿件歸納文件集合中的所有所述稿件歸納信息,以形成所述歸納信息集合;調(diào)度至少一個所述線程對所述歸納信息集合進(jìn)行統(tǒng)計,以確定所述稿件統(tǒng)計信息。
在上述技術(shù)方案中,優(yōu)選地,所述稿件歸納信息包括:稿件所屬欄目編號、稿件編號和稿件點擊量;所述統(tǒng)計參數(shù)信息包括:統(tǒng)計欄目編號、統(tǒng)計開始時間和統(tǒng)計結(jié)束時間;所述稿件統(tǒng)計信息包括:在所述統(tǒng)計開始時間和所述統(tǒng)計結(jié)束時間之內(nèi)的與所述統(tǒng)計欄目編號對應(yīng)的統(tǒng)計稿件數(shù)量,和在所述統(tǒng)計開始時間和所述統(tǒng)計結(jié)束時間之內(nèi)的與所述統(tǒng)計欄目編號對應(yīng)的統(tǒng)計稿件點擊量。
在該技術(shù)方案中,通過調(diào)度至少一個線程對符合統(tǒng)計參數(shù)信息的稿件歸納信息進(jìn)行統(tǒng)計,從而在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時可以提高統(tǒng)計的效率和速度,進(jìn)而提升了用戶體驗,具體地,獲取在統(tǒng)計開始時間和統(tǒng)計結(jié)束時間之內(nèi)且與統(tǒng)計欄目編號對應(yīng)的多個當(dāng)前稿件的歸納信息集合,其中,歸納信息集合中包括多個當(dāng)前稿件的每個當(dāng)前稿件的稿件歸納信息,并調(diào)度至少一個線程對每個當(dāng)前稿件的稿件歸納信息進(jìn)行統(tǒng)計,從而得到多個當(dāng)前稿件的稿件統(tǒng)計信息。
本發(fā)明的另一方面提出了一種稿件統(tǒng)計系統(tǒng),包括:歸納統(tǒng)計單元,用于對當(dāng)前稿件進(jìn)行歸納統(tǒng)計,以確定所述當(dāng)前稿件的稿件歸納信息;第一獲取單元,用于根據(jù)接收到的用戶輸入的統(tǒng)計參數(shù)信息,分別獲取多個所述當(dāng)前稿件中的每個所述當(dāng)前稿件的所述稿件歸納信息,以形成歸納信息集合;確定單元,用于根據(jù)所述統(tǒng)計參數(shù)信息,調(diào)度至少一個線程對所述歸納信息集合進(jìn)行統(tǒng)計,以確定所述歸納信息集合的稿件統(tǒng)計信息。
在該技術(shù)方案中,對當(dāng)前稿件進(jìn)行歸納統(tǒng)計得到稿件歸納信息,這樣,當(dāng)接收到用戶輸入的統(tǒng)計參數(shù)信息進(jìn)行統(tǒng)計時,就可以調(diào)用線程直接對稿件歸納信息進(jìn)行統(tǒng)計,而且可以使用多個線程同時對稿件歸納信息進(jìn)行統(tǒng)計,從而在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時可以提高統(tǒng)計的速度和效率,進(jìn)而提升了用戶體驗。
在上述技術(shù)方案中,優(yōu)選地,所述歸納統(tǒng)計單元包括:第二獲取單元,用于每隔預(yù)設(shè)時間獲取關(guān)系型數(shù)據(jù)庫中的所述當(dāng)前稿件,其中,所述當(dāng)前稿件為所述預(yù)設(shè)時間內(nèi)生成的稿件;所述歸納統(tǒng)計單元具體用于:對所述當(dāng)前稿件進(jìn)行歸納統(tǒng)計,以確定所述當(dāng)前稿件的所述稿件歸納信息,并將 所述稿件歸納信息分布式存儲在多個稿件歸納文件中。
在該技術(shù)方案中,可以每隔預(yù)設(shè)時間對當(dāng)前稿件進(jìn)行及時歸納統(tǒng)計,例如,在每天晚上服務(wù)器空閑的時候歸納統(tǒng)計出當(dāng)天的當(dāng)前稿件的稿件歸納信息,從而可以充分利用服務(wù)器的資源,而且在服務(wù)器空閑的時候進(jìn)行歸納統(tǒng)計的速度比較快,另外,將歸納統(tǒng)計出的稿件歸納信息分布式存儲在多個稿件歸納文件中,這樣,當(dāng)根據(jù)用戶輸入的統(tǒng)計參數(shù)信息統(tǒng)計出稿件統(tǒng)計信息時,就可以使用至少一個線程對多個稿件歸納文件進(jìn)行分布式地統(tǒng)計,從而在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時可以提高統(tǒng)計的效率和速度,進(jìn)而提升了用戶體驗。
在上述技術(shù)方案中,優(yōu)選地,所述確定單元具體用于:根據(jù)所述統(tǒng)計參數(shù)信息,確定總線程數(shù),根據(jù)系統(tǒng)硬件參數(shù)信息,在所述總線程數(shù)中確定目標(biāo)線程數(shù)。
在該技術(shù)方案中,根據(jù)統(tǒng)計參數(shù)信息和系統(tǒng)硬件參數(shù)信息確定調(diào)用的目標(biāo)線程數(shù),例如,系統(tǒng)硬件參數(shù)信息為服務(wù)器CPU核的數(shù)量,因此,根據(jù)服務(wù)器CPU核的數(shù)量確定目標(biāo)線程數(shù),即使用多核進(jìn)行統(tǒng)計,從而充分利用服務(wù)器多核資源,同時在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時還可以提高統(tǒng)計的效率和速度。
在上述技術(shù)方案中,優(yōu)選地,所述確定單元包括:第三獲取單元,用于分別獲取多個所述當(dāng)前稿件中的每個所述當(dāng)前稿件的所述多個稿件歸納文件,以形成稿件歸納文件集合;第四獲取單元,用于獲取所述稿件歸納文件集合中的所有所述稿件歸納信息,以形成所述歸納信息集合;調(diào)度單元,調(diào)度至少一個所述線程對所述歸納信息集合進(jìn)行統(tǒng)計,以確定所述稿件統(tǒng)計信息。
在上述技術(shù)方案中,優(yōu)選地,所述稿件歸納信息包括:稿件所屬欄目編號、稿件編號和稿件點擊量;所述統(tǒng)計參數(shù)信息包括:統(tǒng)計欄目編號、統(tǒng)計開始時間和統(tǒng)計結(jié)束時間;所述稿件統(tǒng)計信息包括:在所述統(tǒng)計開始時間和所述統(tǒng)計結(jié)束時間之內(nèi)的與所述統(tǒng)計欄目編號對應(yīng)的統(tǒng)計稿件數(shù)量,和在所述統(tǒng)計開始時間和所述統(tǒng)計結(jié)束時間之內(nèi)的與所述統(tǒng)計欄目編號對應(yīng)的統(tǒng)計稿件點擊量。
在該技術(shù)方案中,通過調(diào)度至少一個線程對符合統(tǒng)計參數(shù)信息的稿件歸納信息進(jìn)行統(tǒng)計,從而在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時可以提高統(tǒng)計的效率和速度,進(jìn)而提升了用戶體 驗,具體地,獲取在統(tǒng)計開始時間和統(tǒng)計結(jié)束時間之內(nèi)且與統(tǒng)計欄目編號對應(yīng)的多個當(dāng)前稿件的歸納信息集合,其中,歸納信息集合中包括多個當(dāng)前稿件的每個當(dāng)前稿件的稿件歸納信息,并調(diào)度至少一個線程對每個當(dāng)前稿件的稿件歸納信息進(jìn)行統(tǒng)計,從而得到多個當(dāng)前稿件的稿件統(tǒng)計信息。通過本發(fā)明的技術(shù)方案,通過調(diào)用至少一個線程對分布式存儲的稿件歸納信息進(jìn)行統(tǒng)計,從而在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時可以提高統(tǒng)計的效率,進(jìn)而提升了用戶體驗,同時,可以充分利用CPU多核計算能力。
附圖說明
圖1示出了根據(jù)本發(fā)明的一個實施例的稿件統(tǒng)計方法的流程示意圖;
圖2示出了根據(jù)本發(fā)明的一個實施例的稿件統(tǒng)計系統(tǒng)的結(jié)構(gòu)示意圖;
圖3示出了根據(jù)本發(fā)明的一個實施例的存儲稿件歸納信息的格式的示意圖;
圖4示出了根據(jù)本發(fā)明的一個實施例的稿件統(tǒng)計系統(tǒng)的原理示意圖。
具體實施方式
為了可以更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結(jié)合附圖和具體實施方式對本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實施例的限制。
圖1示出了根據(jù)本發(fā)明的一個實施例的稿件統(tǒng)計方法的流程示意圖。
如圖1所示,根據(jù)本發(fā)明的一個實施例的稿件統(tǒng)計方法,包括:
步驟102,對當(dāng)前稿件進(jìn)行歸納統(tǒng)計,以確定所述當(dāng)前稿件的稿件歸納信息;
步驟104,根據(jù)接收到的用戶輸入的統(tǒng)計參數(shù)信息,分別獲取多個所述當(dāng)前稿件中的每個所述當(dāng)前稿件的所述稿件歸納信息,以形成歸納信息集合;
步驟106,根據(jù)所述統(tǒng)計參數(shù)信息,調(diào)度至少一個線程對所述歸納信息集合進(jìn)行統(tǒng)計,以確定所述歸納信息集合的稿件統(tǒng)計信息。
在該技術(shù)方案中,對當(dāng)前稿件進(jìn)行歸納統(tǒng)計得到稿件歸納信息,這樣,當(dāng)接收到用戶輸入的統(tǒng)計參數(shù)信息進(jìn)行統(tǒng)計時,就可以調(diào)用線程直接對稿件歸納信息進(jìn)行統(tǒng)計,而且可以使用多個線程同時對稿件歸納信息進(jìn)行統(tǒng)計,從而在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時可以提高統(tǒng)計的速度和效率,進(jìn)而提升了用戶體驗。
在上述技術(shù)方案中,優(yōu)選地,步驟102具體包括:每隔預(yù)設(shè)時間獲取關(guān)系型數(shù)據(jù)庫中的所述當(dāng)前稿件,其中,所述當(dāng)前稿件為所述預(yù)設(shè)時間內(nèi)生成的稿件;對所述當(dāng)前稿件進(jìn)行歸納統(tǒng)計,以確定所述當(dāng)前稿件的所述稿件歸納信息,并將所述稿件歸納信息分布式存儲在多個稿件歸納文件中。
在該技術(shù)方案中,可以每隔預(yù)設(shè)時間對當(dāng)前稿件進(jìn)行及時歸納統(tǒng)計,例如,在每天晚上服務(wù)器空閑的時候歸納統(tǒng)計出當(dāng)天的當(dāng)前稿件的稿件歸納信息,從而可以充分利用服務(wù)器的資源,而且在服務(wù)器空閑的時候進(jìn)行歸納統(tǒng)計的速度比較快,另外,將歸納統(tǒng)計出的稿件歸納信息分布式存儲在多個稿件歸納文件中,這樣,當(dāng)根據(jù)用戶輸入的統(tǒng)計參數(shù)信息統(tǒng)計出稿件統(tǒng)計信息時,就可以使用至少一個線程對多個稿件歸納文件進(jìn)行分布式地統(tǒng)計,從而在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時可以提高統(tǒng)計的效率和速度,進(jìn)而提升了用戶體驗。
在上述技術(shù)方案中,優(yōu)選地,調(diào)度至少一個所述線程,具體包括:根據(jù)所述統(tǒng)計參數(shù)信息,確定總線程數(shù);根據(jù)系統(tǒng)硬件參數(shù)信息,在所述總線程數(shù)中確定目標(biāo)線程數(shù)。
在該技術(shù)方案中,根據(jù)統(tǒng)計參數(shù)信息和系統(tǒng)硬件參數(shù)信息確定調(diào)用的目標(biāo)線程數(shù),例如,系統(tǒng)硬件參數(shù)信息為服務(wù)器CPU核的數(shù)量,因此,根據(jù)服務(wù)器CPU核的數(shù)量確定目標(biāo)線程數(shù),即使用多核進(jìn)行統(tǒng)計,從而充分利用服務(wù)器多核資源,同時在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時還可以提高統(tǒng)計的效率和速度。
在上述技術(shù)方案中,優(yōu)選地,步驟106具體包括:分別獲取多個所述當(dāng)前稿件中的每個所述當(dāng)前稿件的所述多個稿件歸納文件,以形成稿件歸納文件集合;獲取所述稿件歸納文件集合中的所有所述稿件歸納信息,以形成所述歸納信息集合;調(diào)度至少一個所述線程對所述歸納信息集合進(jìn)行統(tǒng)計,以確定所述稿件統(tǒng)計信息。
在上述技術(shù)方案中,優(yōu)選地,所述稿件歸納信息包括:稿件所屬欄目編號、稿件編號和稿件點擊量;所述統(tǒng)計參數(shù)信息包括:統(tǒng)計欄目編號、統(tǒng)計開始時間和統(tǒng)計結(jié)束時間;所述稿件統(tǒng)計信息包括:在所述統(tǒng)計開始時間和所述統(tǒng)計結(jié)束時間之內(nèi)的與所述統(tǒng)計欄目編號對應(yīng)的統(tǒng)計稿件數(shù)量,和在 所述統(tǒng)計開始時間和所述統(tǒng)計結(jié)束時間之內(nèi)的與所述統(tǒng)計欄目編號對應(yīng)的統(tǒng)計稿件點擊量。
在該技術(shù)方案中,通過調(diào)度至少一個線程對符合統(tǒng)計參數(shù)信息的稿件歸納信息進(jìn)行統(tǒng)計,從而在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時可以提高統(tǒng)計的效率和速度,進(jìn)而提升了用戶體驗,具體地,獲取在統(tǒng)計開始時間和統(tǒng)計結(jié)束時間之內(nèi)且與統(tǒng)計欄目編號對應(yīng)的多個當(dāng)前稿件的歸納信息集合,其中,歸納信息集合中包括多個當(dāng)前稿件的每個當(dāng)前稿件的稿件歸納信息,并調(diào)度至少一個線程對每個當(dāng)前稿件的稿件歸納信息進(jìn)行統(tǒng)計,從而得到多個當(dāng)前稿件的稿件統(tǒng)計信息。
圖2示出了根據(jù)本發(fā)明的一個實施例的稿件統(tǒng)計系統(tǒng)的結(jié)構(gòu)示意圖。
如圖2所示,根據(jù)本發(fā)明的一個實施例的稿件統(tǒng)計系統(tǒng)200,包括:歸納統(tǒng)計單元202,用于對當(dāng)前稿件進(jìn)行歸納統(tǒng)計,以確定所述當(dāng)前稿件的稿件歸納信息;第一獲取單元204,用于根據(jù)接收到的用戶輸入的統(tǒng)計參數(shù)信息,分別獲取多個所述當(dāng)前稿件中的每個所述當(dāng)前稿件的所述稿件歸納信息,以形成歸納信息集合;確定單元206,用于根據(jù)所述統(tǒng)計參數(shù)信息,調(diào)度至少一個線程對所述歸納信息集合進(jìn)行統(tǒng)計,以確定所述歸納信息集合的稿件統(tǒng)計信息。
在該技術(shù)方案中,對當(dāng)前稿件進(jìn)行歸納統(tǒng)計得到稿件歸納信息,這樣,當(dāng)接收到用戶輸入的統(tǒng)計參數(shù)信息進(jìn)行統(tǒng)計時,就可以調(diào)用線程直接對稿件歸納信息進(jìn)行統(tǒng)計,而且可以使用多個線程同時對稿件歸納信息進(jìn)行統(tǒng)計,從而在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時可以提高統(tǒng)計的速度和效率,進(jìn)而提升了用戶體驗。
在上述技術(shù)方案中,優(yōu)選地,所述歸納統(tǒng)計單元202包括:第二獲取單元2024,用于每隔預(yù)設(shè)時間獲取關(guān)系型數(shù)據(jù)庫中的所述當(dāng)前稿件,其中,所述當(dāng)前稿件為所述預(yù)設(shè)時間內(nèi)生成的稿件;所述歸納統(tǒng)計單元202具體用于:對所述當(dāng)前稿件進(jìn)行歸納統(tǒng)計,以確定所述當(dāng)前稿件的所述稿件歸納信息,并將所述稿件歸納信息分布式存儲在多個稿件歸納文件中。
在該技術(shù)方案中,可以每隔預(yù)設(shè)時間對當(dāng)前稿件進(jìn)行及時歸納統(tǒng)計,例如,在每天晚上服務(wù)器空閑的時候歸納統(tǒng)計出當(dāng)天的當(dāng)前稿件的稿件歸納信息,從而可以充分利用服務(wù)器的資源,而且在服務(wù)器空閑的時候進(jìn)行歸納統(tǒng)計的速度比較快,另外,將歸納統(tǒng)計出的稿件歸納信息分布式存儲在多個稿件歸納文件中,這樣,當(dāng)根據(jù)用戶輸入的統(tǒng)計參數(shù)信息統(tǒng)計出稿件統(tǒng)計信息時,就可以使用至少一個線程對多個稿件歸納文件進(jìn)行分布式地統(tǒng)計,從而在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計 稿件點擊量時可以提高統(tǒng)計的效率和速度,進(jìn)而提升了用戶體驗。
在上述技術(shù)方案中,優(yōu)選地,所述確定單元206具體用于:根據(jù)所述統(tǒng)計參數(shù)信息,確定總線程數(shù),根據(jù)系統(tǒng)硬件參數(shù)信息,在所述總線程數(shù)中確定目標(biāo)線程數(shù)。
在該技術(shù)方案中,根據(jù)統(tǒng)計參數(shù)信息和系統(tǒng)硬件參數(shù)信息確定調(diào)用的目標(biāo)線程數(shù),例如,系統(tǒng)硬件參數(shù)信息為服務(wù)器CPU核的數(shù)量,因此,根據(jù)服務(wù)器CPU核的數(shù)量確定目標(biāo)線程數(shù),即使用多核進(jìn)行統(tǒng)計,從而充分利用服務(wù)器多核資源,同時在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時還可以提高統(tǒng)計的效率和速度。
在上述技術(shù)方案中,優(yōu)選地,所述確定單元206包括:第三獲取單元2062,用于分別獲取多個所述當(dāng)前稿件中的每個所述當(dāng)前稿件的所述多個稿件歸納文件,以形成稿件歸納文件集合;第四獲取單元2064,用于獲取所述稿件歸納文件集合中的所有所述稿件歸納信息,以形成所述歸納信息集合;調(diào)度單元2066,調(diào)度至少一個所述線程對所述歸納信息集合進(jìn)行統(tǒng)計,以確定所述稿件統(tǒng)計信息。
在上述技術(shù)方案中,優(yōu)選地,所述稿件歸納信息包括:稿件所屬欄目編號、稿件編號和稿件點擊量;所述統(tǒng)計參數(shù)信息包括:統(tǒng)計欄目編號、統(tǒng)計開始時間和統(tǒng)計結(jié)束時間;所述稿件統(tǒng)計信息包括:在所述統(tǒng)計開始時間和所述統(tǒng)計結(jié)束時間之內(nèi)的與所述統(tǒng)計欄目編號對應(yīng)的統(tǒng)計稿件數(shù)量,和在所述統(tǒng)計開始時間和所述統(tǒng)計結(jié)束時間之內(nèi)的與所述統(tǒng)計欄目編號對應(yīng)的統(tǒng)計稿件點擊量。
在該技術(shù)方案中,通過調(diào)度至少一個線程對符合統(tǒng)計參數(shù)信息的稿件歸納信息進(jìn)行統(tǒng)計,從而在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時可以提高統(tǒng)計的效率和速度,進(jìn)而提升了用戶體驗,具體地,獲取在統(tǒng)計開始時間和統(tǒng)計結(jié)束時間之內(nèi)且與統(tǒng)計欄目編號對應(yīng)的多個當(dāng)前稿件的歸納信息集合,其中,歸納信息集合中包括多個當(dāng)前稿件的每個當(dāng)前稿件的稿件歸納信息,并調(diào)度至少一個線程對每個當(dāng)前稿件的稿件歸納信息進(jìn)行統(tǒng)計,從而得到多個當(dāng)前稿件的稿件統(tǒng)計信息。圖3示出了根據(jù)本發(fā)明的一個實施例的存儲稿件歸納信息的格式的示意圖,圖4示出了根據(jù)本發(fā)明的一個實施例的稿件統(tǒng)計系統(tǒng)的原理示意圖。
下面結(jié)合圖3和圖4詳細(xì)說明本發(fā)明的技術(shù)方案:
首先開啟定時任務(wù)在每天晚上服務(wù)器空閑的時候歸納統(tǒng)計出當(dāng)天的當(dāng)前稿件的稿件歸納信息,并將歸納統(tǒng)計的結(jié)果分布式存儲在多個稿件歸納文件中,文件內(nèi)存儲的格式如圖3所示,即稿件歸納信息包括:欄目ID (稿件所屬欄目編號)、稿件ID(稿件編號)和稿件點擊量。
接收到的用戶輸入的統(tǒng)計參數(shù)信息,其中,統(tǒng)計參數(shù)信息包括:統(tǒng)計欄目編號、統(tǒng)計開始時間和統(tǒng)計結(jié)束時間,并根據(jù)統(tǒng)計參數(shù)信息統(tǒng)計出的稿件統(tǒng)計信息具體如下:
(1)調(diào)度程序根據(jù)統(tǒng)計開始時間和統(tǒng)計結(jié)束時間計算出總線程數(shù),并根據(jù)CPU核的數(shù)量在總線程數(shù)中確定目標(biāo)線程數(shù),以及采用Java線程池技術(shù)開啟目標(biāo)線程數(shù)的線程。
(2)調(diào)度程序調(diào)用目標(biāo)線程數(shù)的線程讀取指定時間內(nèi)的多個稿件歸納文件,并篩選出指定欄目的稿件ID,并返回稿件的ID為Key,以及點擊量為Value的Map對象給調(diào)度程序,如圖4所示,其中,指定時間為從統(tǒng)計開始時間至統(tǒng)計結(jié)束時間中的時間段。
(3)調(diào)度程序接收到線程返回的結(jié)果后,將此次調(diào)度程序統(tǒng)計的結(jié)果和上次調(diào)度程序統(tǒng)計的結(jié)果進(jìn)行合并,當(dāng)上次調(diào)度程序統(tǒng)計的結(jié)果中有指定稿件時,更新指定稿件的點擊量,否則上次調(diào)度程序統(tǒng)計的結(jié)果中插入該指定稿件的統(tǒng)計結(jié)果。
(4)重復(fù)執(zhí)行(2)和(3)步驟,直到統(tǒng)計開始時間至統(tǒng)計結(jié)束時間內(nèi)的稿件歸納信息統(tǒng)計完畢。
在上述技術(shù)方案中,采用并行算法,可以充分利用服務(wù)器的多核資源,避免了關(guān)系型數(shù)據(jù)庫成為系統(tǒng)的瓶頸。
以上結(jié)合附圖詳細(xì)說明了本發(fā)明的技術(shù)方案,通過調(diào)用至少一個線程對分布式存儲的稿件歸納信息進(jìn)行統(tǒng)計,從而在大數(shù)據(jù)規(guī)模下按照稿件所屬欄目確定統(tǒng)計稿件數(shù)量和統(tǒng)計稿件點擊量時可以提高統(tǒng)計的效率,進(jìn)而提升了用戶體驗,同時,可以充分利用CPU多核計算能力。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。