一種數據統計方法、裝置、伺服器及存儲介質與流程
2023-08-12 14:43:01 2

本發明涉及網際網路技術領域,特別是涉及一種數據統計方法、裝置、伺服器及存儲介質。
背景技術:
目前,隨著網際網路技術的發展,用戶所觀看的網頁上多會涉及到廣告。其中,當網頁上的廣告被點擊實現頁面跳轉,或廣告所在的網頁的被刷新,均認為廣告被訪問。而廣告數據統計主要是指廣告訪問量的統計,具體的,廣告訪問量包括廣告點擊量和廣告展示量,點擊網頁上的廣告實現頁面跳轉的次數即為廣告點擊量,廣告所在的網頁的刷新次數即為廣告展示量。
現有技術中,廣告訪問量的統計方法為:針對任一廣告,當該廣告被訪問時,伺服器確定該廣告對應的當前訪問量,然後查找資料庫中該廣告對應的第一訪問量,即本次訪問之前該廣告對應的歷史訪問量,之後將查找到的第一訪問量和當前訪問量進行累加求和,並將求和獲得的數值作為該廣告對應的第二訪問量,該第二訪問量即為該廣告對應的總訪問量。其中,資料庫用於存儲有廣告與歷史訪問量的對應關係。
每當廣告被訪問時,都需要對資料庫進行訪問並對訪問量進行統計,資料庫的訪問次數較多,伺服器壓力較大。
技術實現要素:
本發明實施例的目的在於提供一種數據統計方法、裝置、伺服器及存儲介質,以減少資料庫的訪問次數,降低伺服器壓力。具體技術方案如下:
一種數據統計方法,應用於伺服器,所述方法包括:
當目標廣告被訪問時,將所述目標廣告對應的當前訪問量存儲到預設緩存中;
當符合預定統計條件時,統計所述預設緩存中所存儲的所述目標廣告對應的當前訪問量,將統計結果確定為所述目標廣告對應的當前總訪問量;
從資料庫中讀取所述目標廣告對應的歷史訪問量;
將所述歷史訪問量和所述當前總訪問量求和,將求和結果確定為所述目標廣告對應的總訪問量。
可選地,所述方法還包括:
將所述資料庫中所述目標廣告對應的歷史訪問量替換為所述目標廣告對應的總訪問量。
可選地,所述預設緩存為:memcached高速緩存系統。
可選地,所述當符合預定統計條件時,統計所述預設緩存中所存儲的所述目標廣告對應的當前訪問量,將統計結果確定為所述目標廣告對應的當前總訪問量,包括:
當符合預定統計條件時,對所述預設緩存中所存儲的所述目標廣告對應的當前訪問量進行求和,將求和結果確定為所述目標廣告對應的當前總訪問量。
可選地,所述方法還包括:
接收客戶端發送的針對所述目標廣告的查看指令;
查找所述資料庫中所述目標廣告對應的歷史訪問量,並發送給客戶端,以使所述客戶端將所述目標廣告的歷史訪問量進行展示。
可選地,所述預定統計條件為:預定時間點,或者,獲得統計指令。
可選地,所述統計所述預設緩存中所存儲的所述目標廣告對應的當前訪問量之後,所述方法還包括:
將所述預設緩存中所存儲的所述目標廣告對應的當前訪問量標記為已統計;
或者,
將所述預設緩存中的所存儲的所述目標廣告對應的當前訪問量刪除。
本發明實施例還提供了一種數據統計裝置,應用於伺服器,所述裝置包括:
存儲模塊,用於當目標廣告被訪問時,將所述目標廣告對應的當前訪問量存儲到預設緩存中;
統計模塊,用於當符合預定統計條件時,統計所述預設緩存中所存儲的所述目標廣告對應的當前訪問量,將統計結果確定為所述目標廣告對應的當前總訪問量;
讀取模塊,用於從資料庫中讀取所述目標廣告對應的歷史訪問量;
求和模塊,用於將所述歷史訪問量和所述當前總訪問量求和,將求和結果確定為所述目標廣告對應的總訪問量。
本發明實施例還提供了一種伺服器,包括處理器、通信接口、存儲器和通信總線,其中,處理器,通信接口,存儲器通過總線完成相互間的通信;
存儲器,用於存放電腦程式;
處理器,用於執行存儲器上所存放的程序時,實現本發明實施例所提供的數據統計方法。
本發明實施例還提供了一種存儲介質,所述存儲介質內存儲有電腦程式,所述電腦程式被處理器執行時實現本發明實施例所提供的數據統計方法。
與現有技術相比,應用本發明實施例所提供的方案,當廣告被訪問時,將廣告對應的當前訪問量存儲到預設緩存中,並當符合預定統計條件時基於該廣告的當前訪問量和該廣告的歷史訪問量確定總訪問量。無需每當廣告被訪問就對資料庫進行訪問以及對訪問量進行統計,可以減少資料庫的訪問次數,降低伺服器壓力。
當然,實施本發明的任一產品或方法必不一定需要同時達到以上所述的所有優點。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例所提供的一種數據統計方法的流程圖;
圖2為本發明實施例所提供的一種數據統計裝置的結構示意圖;
圖3為本發明實施例所提供的一種伺服器的結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
需要說明的是,為便於描述,本發明實施例中將被訪問的廣告命名為目標廣告。也就是說,本發明實施例所提及的目標廣告中的「目標」僅僅用於從命名上與其他廣告區分,並不具有任何限定意義。
另外,本發明實施例所提供的一種數據統計方法應用於伺服器,具體的,實現本發明實施例所提供的一種數據統計方法的功能軟體可以為專門的廣告訪問量統計軟體,也可以為現有軟體中的插件,這都是合理的。
圖1為本發明實施例所提供的一種數據統計方法的流程圖,如圖1所示,該方法包括以下步驟:
s110,當目標廣告被訪問時,將所述目標廣告對應的當前訪問量存儲到預設緩存中。
當網頁上的廣告被點擊實現頁面跳轉,或廣告所在的網頁的被刷新,均認為廣告被訪問。為便於對訪問廣告和非訪問廣告進行區別,本實施例中,將被訪問的廣告定義為目標廣告。當目標廣告被訪問時,伺服器將目標廣告對應的當前訪問量存儲到預設緩存中。
可以理解,當目標廣告被訪問時,伺服器會確定目標廣告對應的當前訪問量,並將確定的目標廣告對應的當前訪問量存儲到預設緩存中。
需要說明的是,伺服器可以與一臺客戶端通信,也可以與多臺客戶端通信。
當伺服器與一臺客戶端通信時,目標廣告只能被該唯一客戶端訪問,則當目標廣告被訪問時,伺服器確定目標廣告對應的當前訪問量為1,並將目標廣告的當前訪問量1存儲到預設緩存中。
當伺服器與多臺客戶端通信時,目標廣告可能同時被多臺客戶端訪問,則當目標廣告被訪問時,伺服器根據訪問目標廣告的客戶端的數量確定目標廣告對應的當前訪問量,並將目標廣告的當前訪問量存儲到預設緩存中。例如,假設目標廣告同時被3臺客戶端訪問,則此時伺服器可以確定目標廣告對應的當前訪問量為3,並將目標廣告的當前訪問量3存儲到預設緩存中。
具體地,本實施例中的預設緩存可以為:memcached高速緩存系統。memcached高速緩存系統可以看作是高性能的分布式內存緩存伺服器。通過將目標廣告的當前訪問量存儲到預設緩存中,可以減少資料庫訪問次數,進而可以提高動態web應用的速度、提高可擴展性。
s120,當符合預定統計條件時,統計所述預設緩存中所存儲的所述目標廣告對應的當前訪問量,將統計結果確定為所述目標廣告對應的當前總訪問量。
具體地,本實施例中的預定統計條件可以為:預定時間點,或者,獲得統計指令,當然並不局限於此。
可以理解,當達到預定時間點,或者獲得統計指令時,伺服器統計預設緩存中所存儲的目標廣告對應的當前訪問量,將統計結果確定為目標廣告對應的當前總訪問量。
更為具體地,預定時間點可以為周期設定的時間點。例如,可以每隔三分鐘對預設緩存中所存儲的目標廣告對應的當前訪問量進行統計;或者,每隔十分鐘對預設緩存中所存儲的目標廣告對應的當前訪問量進行統計。
預定時間點也可以為非周期設定的時間點,例如,以三分鐘和五分鐘間隔對預設緩存中所存儲的目標廣告對應的當前訪問量進行統計。具體地,在距離上次統計之後隔三分鐘對預設緩存中所存儲的目標廣告對應的當前訪問量進行統計,然後再隔五分鐘對預設緩存中所存儲的目標廣告對應的當前訪問量進行統計,然後再隔三分鐘對預設緩存中所存儲的目標廣告對應的當前訪問量進行統計,以此循環。
可選地,當符合預定統計條件時,統計預設緩存中所存儲的目標廣告對應的當前訪問量,將統計結果確定為目標廣告對應的當前總訪問量的過程,可以具體為:
當符合預定統計條件時,對預設緩存中所存儲的目標廣告對應的當前訪問量進行求和,將求和結果確定為目標廣告對應的當前總訪問量。
例如,假設當符合預定統計條件時,預設緩存中所存儲的目標廣告對應的當前訪問量有2、1、4、5,則伺服器會對目標廣告對應的所有的當前訪問量進行求和,即計算2+1+4+5=12,並將求和結果12確定為目標廣告對應的當前總訪問量。
可選地,在執行統計預設緩存中所存儲的目標廣告對應的當前訪問量的步驟之後,該方法還可以包括:
將預設緩存中所存儲的目標廣告對應的當前訪問量標記為已統計。
可以理解的是,預設緩存中目標廣告對應的當前訪問量可以具有預定生命時長,而伺服器可以刪除達到所對應預定生命時長的當前訪問量,從而保證預設緩存存儲的當前訪問量的時效性。
具體地,當前訪問量是預定生命時長可能大於預定統計條件的時長,即,對預設緩存中所存儲的目標廣告對應的當前訪問量後,當再一次符合預定統計條件時,上一次統計後的目標廣告對應當前訪問量還未達到所對應的預定生命時長。此時,伺服器無法區分哪些是上一次已經統計過的當前訪問量,哪些是這次要統計的當前訪問量。
為了解決這一問題,伺服器在執行統計預設緩存中所存儲的目標廣告對應的當前訪問量的步驟之後,將預設緩存中所存儲的目標廣告對應的當前訪問量標記為已統計。當再一次符合預定統計條件時,伺服器對未被標記的當前訪問量進行統計。也就是說,基於統計後標記的思想,統計所述預設緩存中所存儲的所述目標廣告對應的當前訪問量的具體統計方式為:統計未被標記的當前訪問量。
或者,可選地,在執行統計預設緩存中所存儲的目標廣告對應的當前訪問量的步驟之後,該方法還可以包括:
將預設緩存中的所存儲的目標廣告對應的當前訪問量刪除。即,當符合預定統計條件時,統計預設緩存中所存儲的目標廣告對應的當前訪問量,將統計結果確定為目標廣告對應的當前總訪問量,並將預設緩存中的所存儲的目標廣告對應的當前訪問量刪除。當再一次符合預定統計條件時,伺服器依舊直接統計預設緩存中所存儲的目標廣告對應的當前訪問量,並執行後續步驟。
通過在對預設緩存中所存儲的目標廣告對應的當前訪問量進行統計後,將預設緩存中的所存儲的目標廣告對應的當前訪問量刪除,便於在下一次需要對預設緩存中所存儲的目標廣告對應的當前訪問量進行統計時,直接對預設緩存中所存儲的目標廣告對應的當前訪問量進行統計,而無需識別哪些是已統計過的,哪些是未統計的,可以提高統計效率。
s130,從資料庫中讀取所述目標廣告對應的歷史訪問量。
確定出目標廣告對應的當前總訪問量後,伺服器從資料庫中讀取目標廣告對應的歷史訪問量。
具體地,資料庫中存儲有廣告與歷史訪問量之間的對應關係,例如,假設廣告1對應的歷史訪問量為12,廣告2對應的歷史訪問量為10,廣告3對應的歷史訪問量為20,則在資料庫中存儲的形式可以如表1所示:
s140,將所述歷史訪問量和所述當前總訪問量求和,將求和結果確定為所述目標廣告對應的總訪問量。
例如,假設資料庫中存儲的目標廣告對應的歷史訪問量為20,s120中確定的目標廣告對應的當前總訪問量為3,則伺服器將23=20+3確定為目標廣告對應的總訪問量。
應用本實施例,當廣告被訪問時,將廣告對應的當前訪問量存儲到預設緩存中,並當符合預定統計條件時基於該廣告的當前訪問量和該廣告的歷史訪問量確定總訪問量。無需每當廣告被訪問就對資料庫進行訪問以及對訪問量進行統計,可以減少資料庫的訪問次數,降低伺服器壓力。
進一步地,作為本實施例的一種可選方案,在確定出目標廣告對應的總訪問量後,該方法還可以包括:
將資料庫中目標廣告對應的歷史訪問量替換為目標廣告對應的總訪問量。
例如,假設步驟s140確定的目標廣告對應的總訪問量為23,資料庫中存儲的目標廣告對應的歷史訪問量為20,則伺服器會將資料庫中目標廣告對應的歷史訪問量20替換為23。可以理解,當目標廣告再次被訪問時,伺服器從資料庫中讀取的目標廣告對應的歷史訪問量將為23。
進一步地,作為本實施例的再一種可選方案,該方法還可以包括:
接收客戶端發送的針對目標廣告的查看指令;
查找所述資料庫中目標廣告對應的歷史訪問量,並發送給客戶端,以使所述客戶端將目標廣告的歷史訪問量進行展示。
具體地,當用戶想要查看目標廣告對應的歷史訪問量時,可以通過點擊客戶端按鈕或者在客戶端輸入指令的方式,向伺服器發送針對目標廣告的查看指令。伺服器接收到該查看指令後,查找資料庫中目標廣告對應的歷史訪問量,並將查找到是歷史訪問量發送給客戶端,以使客戶端將目標廣告的歷史訪問量展示給用戶。
相應於上述方法實施例,本發明實施例還提供了一種數據統計裝置,該裝置應用於伺服器,如圖2所示,該裝置包括:
存儲模塊210,用於當目標廣告被訪問時,將目標廣告對應的當前訪問量存儲到預設緩存中。
統計模塊220,用於當符合預定統計條件時,統計預設緩存中所存儲的目標廣告對應的當前訪問量,將統計結果確定為目標廣告對應的當前總訪問量。
讀取模塊230,用於從資料庫中讀取目標廣告對應的歷史訪問量。
求和模塊240,用於將歷史訪問量和當前總訪問量求和,將求和結果確定為目標廣告對應的總訪問量。
應用本實施例,當廣告被訪問時,將廣告對應的當前訪問量存儲到預設緩存中,並當符合預定統計條件時基於該廣告的當前訪問量和該廣告的歷史訪問量確定總訪問量。無需每當廣告被訪問就對資料庫進行訪問以及對訪問量進行統計,可以減少資料庫的訪問次數,降低伺服器壓力。
具體地,該裝置方法還包括:
替換模塊(圖2中未示出),用於將資料庫中目標廣告對應的歷史訪問量替換為目標廣告對應的總訪問量。
可選地,本實施例中的預設緩存可以為:memcached高速緩存系統。
具體地,統計模塊220具體用於:
當符合預定統計條件時,對預設緩存中所存儲的目標廣告對應的當前訪問量進行求和,將求和結果確定為目標廣告對應的當前總訪問量。
具體地,該裝置方法還包括:
接收模塊(圖2中未示出),用於接收客戶端發送的針對目標廣告的查看指令。
查找模塊(圖2中未示出),用於查找資料庫中目標廣告對應的歷史訪問量,並發送給客戶端,以使客戶端將目標廣告的歷史訪問量進行展示。
優選地,本實施例中的預定統計條件為:預定時間點,或者,獲得統計指令。
具體地,統計模塊220具體用於:
統計預設緩存中所存儲的目標廣告對應的當前訪問量之後,將預設緩存中所存儲的目標廣告對應的當前訪問量標記為已統計。
或者,統計模塊220具體用於:統計預設緩存中所存儲的目標廣告對應的當前訪問量之後,將預設緩存中的所存儲的目標廣告對應的當前訪問量刪除。
相應於上述方法實施例,本發明實施例還提供了一種伺服器,如圖3所示,包括處理器301、通信接口302、存儲器303和通信總線304,其中,處理器301,通信接口302,存儲器303通過通信總線304完成相互間的通信;
存儲器303,用於存放電腦程式;
處理器301,用於執行存儲器303上所存放的程序時,實現一種數據統計方法的步驟,具體的,一種數據統計方法包括如下步驟:
當目標廣告被訪問時,將目標廣告對應的當前訪問量存儲到預設緩存中;
當符合預定統計條件時,統計預設緩存中所存儲的目標廣告對應的當前訪問量,將統計結果確定為目標廣告對應的當前總訪問量;
從資料庫中讀取目標廣告對應的歷史訪問量;
將歷史訪問量和當前總訪問量求和,將求和結果確定為目標廣告對應的總訪問量。
上述伺服器提到的通信總線可以是外設部件互連標準(peripheralpomponentinterconnect,簡稱pci)總線或擴展工業標準結構(extendedindustrystandardarchitecture,簡稱eisa)總線等。該通信總線可以分為地址總線、數據總線、控制總線等。為便於表示,圖中僅用一條粗線表示,但並不表示僅有一根總線或一種類型的總線。
通信接口用於上述伺服器與其他設備之間的通信。
存儲器可以包括隨機存取存儲器(randomaccessmemory,簡稱ram),也可以包括非易失性存儲器(non-volatilememory),例如至少一個磁碟存儲器。可選的,存儲器還可以是至少一個位於遠離前述處理器的存儲裝置。
上述的處理器可以是通用處理器,包括中央處理器(centralprocessingunit,簡稱cpu)、網絡處理器(networkprocessor,簡稱np)等;還可以是數位訊號處理器(digitalsignalprocessing,簡稱dsp)、專用集成電路(applicationspecificintegratedcircuit,簡稱asic)、現場可編程門陣列(field-programmablegatearray,簡稱fpga)或者其他可編程邏輯器件、分立門或者電晶體邏輯器件、分立硬體組件。
可選地,所述數據統計方法還包括:
將資料庫中所述目標廣告對應的歷史訪問量替換為目標廣告對應的總訪問量。
可選地,預設緩存為:memcached高速緩存系統。
可選地,當符合預定統計條件時,統計預設緩存中所存儲的目標廣告對應的當前訪問量,將統計結果確定為目標廣告對應的當前總訪問量,包括:
當符合預定統計條件時,對預設緩存中所存儲的目標廣告對應的當前訪問量進行求和,將求和結果確定為目標廣告對應的當前總訪問量。
可選地,所述數據統計方法還包括:
接收客戶端發送的針對目標廣告的查看指令;
查找所述資料庫中目標廣告對應的歷史訪問量,並發送給客戶端,以使客戶端將目標廣告的歷史訪問量進行展示。
可選地,預定統計條件為:預定時間點,或者,獲得統計指令。
可選地,統計所述預設緩存中所存儲的所述目標廣告對應的當前訪問量之後,所述方法還包括:
將預設緩存中所存儲的目標廣告對應的當前訪問量標記為已統計;
或者,
將預設緩存中的所存儲的目標廣告對應的當前訪問量刪除。
應用本實施例,當廣告被訪問時,將廣告對應的當前訪問量存儲到預設緩存中,並當符合預定統計條件時基於該廣告的當前訪問量和該廣告的歷史訪問量確定總訪問量。無需每當廣告被訪問就對資料庫進行訪問以及對訪問量進行統計,可以減少資料庫的訪問次數,降低伺服器壓力。
本發明實施例還提供了一種存儲介質,存儲介質內存儲有電腦程式,電腦程式被處理器執行時實現一種數據統計方法的步驟,具體的,一種數據統計方法包括如下步驟:
當目標廣告被訪問時,將目標廣告對應的當前訪問量存儲到預設緩存中;
當符合預定統計條件時,統計預設緩存中所存儲的目標廣告對應的當前訪問量,將統計結果確定為目標廣告對應的當前總訪問量;
從資料庫中讀取目標廣告對應的歷史訪問量;
將歷史訪問量和當前總訪問量求和,將求和結果確定為目標廣告對應的總訪問量。
可選地,所述數據統計方法還包括:
將資料庫中所述目標廣告對應的歷史訪問量替換為目標廣告對應的總訪問量。
可選地,預設緩存為:memcached高速緩存系統。
可選地,當符合預定統計條件時,統計預設緩存中所存儲的目標廣告對應的當前訪問量,將統計結果確定為目標廣告對應的當前總訪問量,包括:
當符合預定統計條件時,對預設緩存中所存儲的目標廣告對應的當前訪問量進行求和,將求和結果確定為目標廣告對應的當前總訪問量。
可選地,所述數據統計方法還包括:
接收客戶端發送的針對目標廣告的查看指令;
查找所述資料庫中目標廣告對應的歷史訪問量,並發送給客戶端,以使客戶端將目標廣告的歷史訪問量進行展示。
可選地,預定統計條件為:預定時間點,或者,獲得統計指令。
可選地,統計所述預設緩存中所存儲的所述目標廣告對應的當前訪問量之後,所述方法還包括:
將預設緩存中所存儲的目標廣告對應的當前訪問量標記為已統計;
或者,
將預設緩存中的所存儲的目標廣告對應的當前訪問量刪除。
應用本實施例,當廣告被訪問時,將廣告對應的當前訪問量存儲到預設緩存中,並當符合預定統計條件時基於該廣告的當前訪問量和該廣告的歷史訪問量確定總訪問量。無需每當廣告被訪問就對資料庫進行訪問以及對訪問量進行統計,可以減少資料庫的訪問次數,降低伺服器壓力。
需要強調的是,對於伺服器以及存儲介質實施例而言,由於其所涉及的方法內容基本相似於前述的方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
本說明書中的各個實施例均採用相關的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於裝置實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
以上所述僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。凡在本發明的精神和原則之內所作的任何修改、等同替換、改進等,均包含在本發明的保護範圍內。