計數(shù)數(shù)據(jù)寫入方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別是指一種計數(shù)數(shù)據(jù)寫入方法和裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)應(yīng)用的日益廣泛,面對網(wǎng)絡(luò)上的海量數(shù)據(jù),用戶有時會需要利用訪問量來進(jìn)行選擇,例如對于微博、博客、新聞的等媒體網(wǎng)頁會展示出訪問數(shù)、評論數(shù)、轉(zhuǎn)發(fā)數(shù)等數(shù)據(jù),有些下載網(wǎng)頁也會提供下載量、點擊量等統(tǒng)計數(shù)據(jù)。
[0003]為提供進(jìn)行以上數(shù)據(jù),一般需要網(wǎng)絡(luò)提供方對點擊量進(jìn)行計數(shù),并將計數(shù)結(jié)果返回給客戶端?,F(xiàn)有技術(shù)中的計數(shù)方法,一般是對請求進(jìn)行計數(shù),每接收到一個訪問請求,將網(wǎng)絡(luò)數(shù)據(jù)庫已存儲的計數(shù)數(shù)據(jù)累加一次。對于某些訪問量較大的網(wǎng)頁,對每個訪問請求逐一計數(shù)給網(wǎng)絡(luò)數(shù)據(jù)庫的帶來了較大的寫入壓力,有可能導(dǎo)致一些寫入性能不足的服務(wù)器出現(xiàn)變慢甚至崩潰的情況。
【發(fā)明內(nèi)容】
[0004]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的計數(shù)數(shù)據(jù)寫入方法和裝置。
[0005]本發(fā)明的一個進(jìn)一步目的是減小服務(wù)庫的寫入壓力。
[0006]根據(jù)本發(fā)明的一個方面,提供了一種計數(shù)數(shù)據(jù)寫入方法。該計數(shù)數(shù)據(jù)寫入方法包括:獲取來自于用戶客戶端的訪問請求;在緩存中對訪問請求進(jìn)行計數(shù);根據(jù)緩存的計數(shù)數(shù)據(jù)確定數(shù)據(jù)寫入步長;以及在緩存中的計數(shù)數(shù)據(jù)在上次寫入后的新增值達(dá)到數(shù)據(jù)寫入步長時,將計數(shù)數(shù)據(jù)寫入網(wǎng)絡(luò)數(shù)據(jù)庫。
[0007]可選地,在緩存中對訪問請求進(jìn)行計數(shù)的步驟包括:確定訪問請求中包含的統(tǒng)一資源定位符;以及在緩存中為統(tǒng)一資源定位符建立的計數(shù)器中對訪問請求進(jìn)行計數(shù)。
[0008]可選地,獲取來自于用戶客戶端的訪問請求的步驟之前包括:檢測計數(shù)器中計數(shù)數(shù)據(jù)是否出現(xiàn)異常;以及若出現(xiàn)異常,則從網(wǎng)絡(luò)數(shù)據(jù)庫中讀取已存儲的計數(shù)數(shù)據(jù)并寫入計數(shù)器。
[0009]可選地,檢測計數(shù)器中計數(shù)數(shù)據(jù)是否出現(xiàn)異常包括:檢測計數(shù)器中計數(shù)數(shù)據(jù)是否被清零或者小于網(wǎng)絡(luò)數(shù)據(jù)庫中已存儲的計數(shù)數(shù)據(jù);以及若是,確定計數(shù)數(shù)據(jù)出現(xiàn)異常。
[0010]可選地,根據(jù)緩存的計數(shù)數(shù)據(jù)確定數(shù)據(jù)寫入步長的步驟包括:確定計數(shù)數(shù)據(jù)所屬的數(shù)據(jù)區(qū)間,數(shù)據(jù)區(qū)間按照訪問請求的類型預(yù)先配置;以及查詢數(shù)據(jù)區(qū)間對應(yīng)的數(shù)據(jù)寫入步長,其中每個數(shù)據(jù)區(qū)間預(yù)先配置有對應(yīng)的數(shù)據(jù)寫入步長,并且數(shù)據(jù)寫入步長設(shè)置為隨數(shù)據(jù)區(qū)間中的數(shù)值增大而增大。
[0011]可選地,上述計數(shù)數(shù)據(jù)寫入方法還包括:向用戶客戶端返回緩存的計數(shù)數(shù)據(jù),以供向用戶展示。
[0012]根據(jù)本發(fā)明的另一個方面,還提供了一種計數(shù)數(shù)據(jù)寫入裝置。該計數(shù)數(shù)據(jù)寫入裝置包括:請求獲取模塊,配置成獲取來自于用戶客戶端的訪問請求;計數(shù)模塊,配置成在緩存中對訪問請求進(jìn)行計數(shù);步長確定模塊,配置成根據(jù)緩存的計數(shù)數(shù)據(jù)確定數(shù)據(jù)寫入步長;數(shù)據(jù)寫入模塊,配置成在緩存中的計數(shù)數(shù)據(jù)在上次寫入后的新增值達(dá)到數(shù)據(jù)寫入步長時,將計數(shù)數(shù)據(jù)寫入網(wǎng)絡(luò)數(shù)據(jù)庫。
[0013]可選地,計數(shù)模塊還配置成:確定訪問請求中包含的統(tǒng)一資源定位符;以及在緩存中為統(tǒng)一資源定位符建立的計數(shù)器中對訪問請求進(jìn)行計數(shù)。
[0014]可選地,上述計數(shù)數(shù)據(jù)寫入裝置還包括:數(shù)據(jù)檢測模塊,配置成檢測計數(shù)器中計數(shù)數(shù)據(jù)是否出現(xiàn)異常;以及若出現(xiàn)異常,則從網(wǎng)絡(luò)數(shù)據(jù)庫中讀取已存儲的計數(shù)數(shù)據(jù)并寫入計數(shù)器。
[0015]可選地,數(shù)據(jù)檢測模塊還配置成:檢測計數(shù)器中計數(shù)數(shù)據(jù)是否被清零或者小于網(wǎng)絡(luò)數(shù)據(jù)庫中已存儲的計數(shù)數(shù)據(jù);以及若是,確定計數(shù)數(shù)據(jù)出現(xiàn)異常。
[0016]可選地,步長確定模塊還配置成:確定計數(shù)數(shù)據(jù)所屬的數(shù)據(jù)區(qū)間,數(shù)據(jù)區(qū)間按照訪問請求的類型預(yù)先配置;以及查詢數(shù)據(jù)區(qū)間對應(yīng)的數(shù)據(jù)寫入步長,其中每個數(shù)據(jù)區(qū)間預(yù)先配置有對應(yīng)的數(shù)據(jù)寫入步長,并且數(shù)據(jù)寫入步長設(shè)置為隨數(shù)據(jù)區(qū)間中的數(shù)值增大而增大。
[0017]可選地,上述計數(shù)數(shù)據(jù)寫入裝置還包括:數(shù)據(jù)響應(yīng)模塊,配置成向用戶客戶端返回緩存的計數(shù)數(shù)據(jù),以供向用戶展示。
[0018]本發(fā)明的計數(shù)數(shù)據(jù)寫入方法和計數(shù)數(shù)據(jù)寫入裝置,在緩存中對訪問請求進(jìn)行計數(shù),并在計數(shù)增量滿足數(shù)據(jù)寫入步長后,才將計數(shù)數(shù)據(jù)寫入數(shù)據(jù)庫中,而不必每次對數(shù)據(jù)庫進(jìn)行寫入,減小了數(shù)據(jù)庫的數(shù)據(jù)寫入次數(shù),減輕了數(shù)據(jù)庫的壓力。并且數(shù)據(jù)寫入步長可以根據(jù)計數(shù)數(shù)據(jù)的大小確定,一方面可以使得計數(shù)數(shù)據(jù)能夠符合計數(shù)數(shù)據(jù)的使用要求,另一方面,可以更加有效地減小數(shù)據(jù)庫寫入次數(shù)。
[0019]進(jìn)一步地,本發(fā)明的計數(shù)數(shù)據(jù)寫入方法和計數(shù)數(shù)據(jù)寫入裝置,可以利用數(shù)據(jù)庫中已存儲的數(shù)據(jù)對緩存數(shù)據(jù)進(jìn)行校驗,在緩存的計數(shù)數(shù)據(jù)出現(xiàn)異常時,及時進(jìn)行數(shù)據(jù)同步,避免了數(shù)據(jù)丟失。
[0020]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
[0021]根據(jù)下文結(jié)合附圖對本發(fā)明具體實施例的詳細(xì)描述,本領(lǐng)域技術(shù)人員將會更加明了本發(fā)明的上述以及其他目的、優(yōu)點和特征。
【附圖說明】
[0022]通過閱讀下文優(yōu)選實施方式的詳細(xì)描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0023]圖1是根據(jù)本發(fā)明一個實施例的計數(shù)數(shù)據(jù)寫入裝置的應(yīng)用系統(tǒng)架構(gòu)示意圖;
[0024]圖2是根據(jù)本發(fā)明一個實施例的計數(shù)數(shù)據(jù)寫入裝置的結(jié)構(gòu)示意圖;
[0025]圖3是根據(jù)本發(fā)明另一實施例的計數(shù)數(shù)據(jù)寫入裝置的結(jié)構(gòu)示意圖;以及
[0026]圖4是根據(jù)本發(fā)明一個實施例的計數(shù)數(shù)據(jù)寫入方法的示意圖。
【具體實施方式】
[0027]下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0028]圖1是根據(jù)本發(fā)明一個實施例的計數(shù)數(shù)據(jù)寫入裝置100的應(yīng)用系統(tǒng)架構(gòu)示意圖。該應(yīng)用系統(tǒng)可以包括:通過網(wǎng)絡(luò)30相互連接的用戶客戶端20和網(wǎng)絡(luò)服務(wù)器10,其中用戶客戶端20可例如是安裝于工作站、個人計算機、智能手機、平板電腦等具有數(shù)據(jù)處理與網(wǎng)絡(luò)連接功能的電子設(shè)備。網(wǎng)絡(luò)服務(wù)器10可以布置有網(wǎng)絡(luò)數(shù)據(jù)庫,響應(yīng)用戶客戶端20的各種訪問請求,并提供訪問點擊的計數(shù)功能。本實施例的計數(shù)數(shù)據(jù)的寫入裝置100可以。以上網(wǎng)絡(luò)30可例如是包括互聯(lián)網(wǎng)在內(nèi)的各種網(wǎng)絡(luò)。
[0029]圖2是根據(jù)本發(fā)明一個實施例的計數(shù)數(shù)據(jù)寫入裝置100的結(jié)構(gòu)示意圖。本實施例的計數(shù)數(shù)據(jù)的寫入裝置100 —般性地可以包括:請求獲取模塊110、計數(shù)模塊120、步長確定模塊130、以及數(shù)據(jù)寫入模塊140。
[0030]在以上部件中,請求獲取模塊110可以配置成獲取來自于用戶客戶端20的訪問請求。該訪問請求可以包括:轉(zhuǎn)發(fā)請求、資源訪問請求、頁面開啟請求等。例如對于微博這類網(wǎng)絡(luò)服務(wù)器,訪問請求還可以包括點贊、瀏覽等的網(wǎng)絡(luò)頁面訪問請求。
[0031]計數(shù)模塊120配置成在緩存中對訪問請求進(jìn)行計數(shù)。該緩存可以是網(wǎng)絡(luò)服務(wù)器10預(yù)先為計數(shù)數(shù)據(jù)分配的存儲空間。具體地,計數(shù)模塊120可以首先確定訪問請求中包含的統(tǒng)一資源定位符(Uniform Resource Locator,簡稱URL);并在緩存中為統(tǒng)一資源定位符建立的計數(shù)器中對訪問請求進(jìn)行計數(shù)。
[0032]步長確定模塊130可以配置成根據(jù)緩存的計數(shù)數(shù)據(jù)確定數(shù)據(jù)寫入步長;對于較小的數(shù)據(jù),較小的數(shù)據(jù)變化就可能引起用戶的敏感程度,而對于較大的數(shù)據(jù),其數(shù)據(jù)變化敏感度就明顯下降。例