欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)分布統(tǒng)計(jì)方法

文檔序號(hào):6616079閱讀:333來(lái)源:國(guó)知局

專(zhuān)利名稱(chēng)::數(shù)據(jù)分布統(tǒng)計(jì)方法
技術(shù)領(lǐng)域
:本發(fā)明涉及電數(shù)字?jǐn)?shù)據(jù)處理領(lǐng)域,特別涉及數(shù)據(jù)分布統(tǒng)計(jì)方法。技術(shù)背景隨著網(wǎng)絡(luò)技術(shù)和應(yīng)用的飛速發(fā)展,大量用戶通過(guò)網(wǎng)絡(luò)訪問(wèn)海量資源,統(tǒng)計(jì)資源的點(diǎn)擊率和訪問(wèn)量等參數(shù)需要進(jìn)行復(fù)雜運(yùn)算,占用資源。
發(fā)明內(nèi)容本發(fā)明目的在于提供一種數(shù)據(jù)分布統(tǒng)計(jì)方法,提高數(shù)據(jù)統(tǒng)計(jì)效率。本發(fā)明提供一種數(shù)據(jù)分布統(tǒng)計(jì)方法,包括將訪問(wèn)記錄分布定位的步驟;根據(jù)記錄建立索引的步驟;通過(guò)索引進(jìn)行統(tǒng)計(jì)的步驟。優(yōu)選地,上述記錄包括鍵和至少一屬性,鍵的取值為鍵值,屬性的取值為屬性值。優(yōu)選地,上述將訪問(wèn)記錄分布定位的步驟包括根據(jù)記錄的屬性值將記錄定位到區(qū)域中的步驟;根據(jù)記錄的鍵值將記錄定位到區(qū)域的簇中的步驟;將記錄定位到簇的節(jié)點(diǎn)中的步驟。優(yōu)選地,上述根據(jù)記錄建立索引的步驟包括按照至少一屬性分別建立子索引,將屬性值相同的記錄的4建值列入子索引中的步驟。優(yōu)選地,上述按照至少一屬性分別建立子索引,將屬性值相同的記錄的鍵值列入子索引中的步驟包括查找對(duì)應(yīng)屬性的子索引的步驟;將訪問(wèn)記錄的鍵值加入已存在的對(duì)應(yīng)屬性子索引中的步驟;建立與訪問(wèn)記錄屬性對(duì)應(yīng)的子索引,將訪問(wèn)記錄的鍵值加入子索引中的步驟。優(yōu)選地,上述才艮據(jù)記錄建立索引的步驟包括建立主索引,將子索引中記錄的4建值及其對(duì)應(yīng)計(jì)數(shù)記入主索引中的步驟。優(yōu)選地,上述建立主索引,將子索引中的鍵值及其對(duì)應(yīng)計(jì)數(shù)記入主索引中的步驟包括建立主索引;設(shè)主索引指針指向主索引頭部,設(shè)子索引指針指向子索引頭部;判斷當(dāng)前主索引指針和子索引指針?lè)謩e指向的鍵值是否相等,相等則主索引中鍵值的計(jì)數(shù)加l;判斷子索引指針指向的鍵值是否小于主索引指針指向的4定值,如果小于則將子索引指針后移一位指向下一記錄;如果大于則將主索引指針后移一位指向下一鍵值;判斷子索引指針是否指向子索引尾部,尚未指向尾部則指針后移一位指向下一鍵值,返回判斷當(dāng)前主索引指針和子索引指針?lè)謩e指向的鍵值是否相等,循環(huán)直到子索引指針指向子索引尾部。優(yōu)選地,上述通過(guò)索引進(jìn)行統(tǒng)計(jì)的步驟是指讀取主索引,取得4定值及其對(duì)應(yīng)計(jì)數(shù)作為統(tǒng)計(jì)結(jié)果。優(yōu)選地,上述數(shù)據(jù)分布統(tǒng)計(jì)方法在節(jié)點(diǎn)中統(tǒng)計(jì)訪問(wèn)記錄,在簇中整合屬于簇的所有節(jié)點(diǎn)的統(tǒng)計(jì)結(jié)果,在區(qū)域中匯總屬于區(qū)域的所有簇的統(tǒng)計(jì)結(jié)果。本發(fā)明提供的數(shù)據(jù)分布統(tǒng)計(jì)方法,以一個(gè)有100個(gè)節(jié)點(diǎn),數(shù)據(jù)量為1000億的群集為例,設(shè)其記錄的鍵值數(shù)量為io億,鍵值使用整數(shù)表示,每個(gè)鍵值占用4個(gè)字節(jié),平均分布在100個(gè)節(jié)點(diǎn)中,每個(gè)節(jié)點(diǎn)的所有子索引大致占用40M(40億*4/100)存儲(chǔ)空間。設(shè)每個(gè)節(jié)點(diǎn)有5個(gè)子索引,則每個(gè)子索引只存儲(chǔ)8M的數(shù)據(jù),而主索引就集合了80M(40億*8/100)數(shù)據(jù)。當(dāng)需要對(duì)所有記錄進(jìn)行統(tǒng)計(jì)時(shí),采用本發(fā)明可以在1秒內(nèi)的時(shí)間內(nèi)處理完畢,即不占用大量資源,也無(wú)需集中運(yùn)算,大大提高統(tǒng)計(jì)效率。圖l是本發(fā)明第一實(shí)施例的三層次結(jié)構(gòu)示意圖;圖2是本發(fā)明第二實(shí)施例子索引示意圖;圖3是本發(fā)明第二實(shí)施例主索引示意圖;圖4是本發(fā)明第二實(shí)施例建立子索引的流程示意圖;圖5是本發(fā)明第二實(shí)施例建立主索引的流程示意圖。本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。具體實(shí)施方式本發(fā)明提出第一實(shí)施例,本實(shí)施例提出將網(wǎng)絡(luò)上的服務(wù)器或計(jì)算機(jī)在邏輯上分為區(qū)域、簇和節(jié)點(diǎn)三層次結(jié)構(gòu)。如圖1所示,將網(wǎng)絡(luò)上進(jìn)行具體數(shù)據(jù)存儲(chǔ)和/或處理的單位稱(chēng)為節(jié)點(diǎn),服務(wù)器、計(jì)算機(jī)、手持設(shè)備甚至虛擬主機(jī)都可以作為一個(gè)節(jié)點(diǎn);多個(gè)節(jié)點(diǎn)組成一個(gè)蔟,多個(gè)簇組成一個(gè)區(qū)域,節(jié)點(diǎn)、蔟和區(qū)域都是虛擬概念而非局限于實(shí)體。區(qū)域、簇和節(jié)點(diǎn)的組織邏輯為每個(gè)簇可以有簇和節(jié)點(diǎn)兩種子節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都有一定的存儲(chǔ)和/或處理能力,數(shù)據(jù)量超出存儲(chǔ)和/或處理能力可能引起不穩(wěn)定或速度降低。每當(dāng)某個(gè)節(jié)點(diǎn)數(shù)據(jù)量達(dá)到其存儲(chǔ)和/或處理能力極限的時(shí)候,就將一個(gè)節(jié)點(diǎn)分裂為多個(gè)節(jié)點(diǎn),而原節(jié)點(diǎn)就轉(zhuǎn)化為一個(gè)新簇,新簇依然隸屬于原簇。本實(shí)施例根據(jù)用戶對(duì)各站點(diǎn)或網(wǎng)絡(luò)資源的每次訪問(wèn)都形成一條記錄,每條記錄都有一個(gè)唯一標(biāo)示該記錄的鍵。參照表l,每條記錄都有多個(gè)屬性,每個(gè)屬性都有若干取值,屬性的取值為屬性值;每條記錄都有一個(gè)鍵,鍵的取值稱(chēng)為鍵值。<table>tableseeoriginaldocumentpage6</column></row><table>表l當(dāng)用戶訪問(wèn)某站點(diǎn)或網(wǎng)絡(luò)資源,形成一條訪問(wèn)記錄時(shí),本實(shí)施例先將記錄分布定位,在需要進(jìn)行統(tǒng)計(jì)時(shí),根據(jù)記錄建立索引,通過(guò)索引進(jìn)行統(tǒng)計(jì)。其中對(duì)記錄的分布定位的步驟包括步驟SIO,根據(jù)記錄的4盍值進(jìn)行路由,將記錄定位到某個(gè)具體的區(qū)域;步驟S12,根據(jù)記錄的鍵值,將記錄定位到上述區(qū)域的某個(gè)具體的簇中;步驟S14,簇根據(jù)自己預(yù)設(shè)的策略將記錄定位到具體的節(jié)點(diǎn)。對(duì)于鍵值相同的多筆記錄,本實(shí)施例將其都定位在一組節(jié)點(diǎn)上,多筆記錄之間互不重疊,這是保證可以進(jìn)行并行分布計(jì)算的前提。本實(shí)施例定義主索引及子索引兩種索引,其中主索引記載至少一鍵值及該鍵值對(duì)應(yīng)的記錄數(shù);而子索引是按照屬性分別建立的,每個(gè)子索引僅記載相同屬性值的所有記錄的鍵值,主索引及子索引都按照鍵值的順序排序。在需要統(tǒng)計(jì)記錄數(shù)量時(shí),本實(shí)施例的建立索引的步驟包括步驟S20,按照至少一屬性分別建立子索引,將所有記錄都列入子索引中;步驟S22,建立主索引,將子索引中記錄的4建#_記入主索引中。根據(jù)索引進(jìn)行統(tǒng)計(jì)的步驟是對(duì)建立好的主索引,讀取其中的鍵值和相應(yīng)的計(jì)數(shù),形成統(tǒng)計(jì)結(jié)果?;谏弦粚?shí)施例,本發(fā)明提出第二實(shí)施例,實(shí)現(xiàn)數(shù)據(jù)的統(tǒng)計(jì)。參照?qǐng)D1示出的區(qū)域、簇和節(jié)點(diǎn)三層次結(jié)構(gòu),一個(gè)區(qū)域包括4個(gè)簇,每個(gè)簇包括兩個(gè)節(jié)點(diǎn)。以一個(gè)站點(diǎn)的訪問(wèn)記錄數(shù)據(jù)為例,每筆訪問(wèn)記錄都有用戶編號(hào)、性別、職業(yè)、年齡、愛(ài)好等多個(gè)屬性,每個(gè)屬性都分別取值,這些取值可以是在預(yù)設(shè)值中選取,也可以是由用戶提供;選取用戶編號(hào)作為鍵。參見(jiàn)表2,示出多筆記錄的示例<table>tableseeoriginaldocumentpage7</column></row><table>表2根據(jù)上述三層結(jié)構(gòu),本實(shí)施例提出分布定位方法包括步驟S30,按照一個(gè)或多個(gè)屬性將記錄入不同的區(qū)域中,例如按照職業(yè)來(lái)劃分,將職業(yè)為學(xué)生的記錄劃分到第一區(qū)域,將職業(yè)為職員的記錄劃分到第二區(qū)域,依此類(lèi)推;步驟S32,根據(jù)記錄中鍵值模4的結(jié)果對(duì)應(yīng)定位到某個(gè)具體的簇中;步驟S34,根據(jù)記錄中鍵值模2的結(jié)果,將記錄定位到某個(gè)具體的節(jié)點(diǎn)中;上述模運(yùn)算是根據(jù)簇和節(jié)點(diǎn)的數(shù)量而定,不同的簇可以擁有不同個(gè)數(shù)的節(jié)點(diǎn),每個(gè)簇記錄自己擁有的節(jié)點(diǎn)數(shù)量,當(dāng)節(jié)點(diǎn)數(shù)變化時(shí),修改該節(jié)點(diǎn)數(shù)量,以便根據(jù)節(jié)點(diǎn)數(shù)量單獨(dú)進(jìn)行求模運(yùn)算。上述分布定位也可采用其他算法。在需要統(tǒng)計(jì)記錄數(shù)量時(shí),結(jié)合表2所示的訪問(wèn)記錄示例,本實(shí)施例提出才艮據(jù)用戶性別這一屬性分別建立子索引,本實(shí)施例的統(tǒng)計(jì)方法包括步驟S40,讀取訪問(wèn)記錄;步驟S42,將訪問(wèn)記錄按照鍵值排序;步驟S44,將這些訪問(wèn)記錄的鍵值分別列入男性子索引和女性子索引中,形成如圖2所示的子索引;建立主索引,將子索引所有鍵值列入主索引,將鍵值對(duì)應(yīng)計(jì)數(shù)分別記載在該鍵值對(duì)應(yīng)的計(jì)數(shù)欄,形成如圖3所示的主索引;步驟S44,根據(jù)主索引,得出所有鍵值及其對(duì)應(yīng)的計(jì)數(shù),該數(shù)字即訪問(wèn)該站點(diǎn)的訪問(wèn)量,流程結(jié)束。上述步驟S42,將訪問(wèn)記錄排序是為了方便將新增的記錄并入子索引中,也就是新增記錄和原有子索引可以歸并排序。上述步驟S44,鍵值對(duì)應(yīng)計(jì)數(shù)是指該鍵值在子索引中出現(xiàn)的次數(shù)。上述步驟S44建立子索引的具體做法如圖4所示,包括步驟S440,查找是否已有與當(dāng)前訪問(wèn)記錄的屬性對(duì)應(yīng)的子索引存在;如果已存在則進(jìn)行步驟S441,否則進(jìn)行步驟S442;步驟S441,將當(dāng)前訪問(wèn)記錄的鍵值加入已存在的子索引中;步驟S442,建立與當(dāng)前訪問(wèn)記錄的屬性對(duì)應(yīng)的子索引,將當(dāng)前訪問(wèn)記錄的鍵值加入該子索引中;步驟S443,判斷是否完成對(duì)所有訪問(wèn)記錄的遍歷,如果未完成則繼續(xù)遍歷訪問(wèn)記錄,重復(fù)上述過(guò)程;如果已完成則建立子索引的流程結(jié)束。上述步驟S44將子索引所有鍵值列入主索引,將鍵值對(duì)應(yīng)計(jì)數(shù)分別記載在該鍵值對(duì)應(yīng)的計(jì)數(shù)欄的具體做法如圖5所示,包括步驟S444,打開(kāi)主索引文件;步驟S445,打開(kāi)子索引文件;步驟S446,設(shè)置主索引指針,使其指向主索引文件頭部;設(shè)置子索引指針,使其指向子索引文件的頭部;步驟S447,判斷當(dāng)前主索引指針和子索^1指針指向的兩筆4建值是否相等,如果相等則主索引該4定值的計(jì)數(shù)加1,轉(zhuǎn)步驟S449;如果兩筆記錄的4建值不相等則進(jìn)行步驟S448;步驟S448,判斷子索引指針指向的鍵值是否小于主索引指針指向的鍵值,如果小于則將子索引指針后移一位指向下一筆鍵值,轉(zhuǎn)到步驟S"7;如果大于則將主索引指針后移一位指向下一筆4建值,轉(zhuǎn)到步驟S447;步驟S449,判斷子索引指針是否指向子索引文件尾部,如果尚未指向尾部則指針后移一位指向下一筆鍵值,進(jìn)行步驟S447;否則說(shuō)明完成對(duì)當(dāng)前子索引的遍歷,流程結(jié)束。通過(guò)上述遍歷過(guò)程,可分別對(duì)各子索引完成遍歷和統(tǒng)計(jì),分別將各子索引中的記錄數(shù)統(tǒng)計(jì)到主索引中。本實(shí)施例可以先在每個(gè)節(jié)點(diǎn)內(nèi)部統(tǒng)計(jì)自身的訪問(wèn)記錄,然后在簇中整合屬于該簇的所有節(jié)點(diǎn)的統(tǒng)計(jì)結(jié)果,最后在區(qū)域中匯總所有簇的統(tǒng)計(jì)結(jié)果,以此實(shí)現(xiàn)統(tǒng)計(jì)的分布運(yùn)算,分擔(dān)運(yùn)算壓力,提高統(tǒng)計(jì)效率。在區(qū)域、簇和節(jié)點(diǎn)中都可以設(shè)置數(shù)據(jù)代理服務(wù)器,數(shù)據(jù)在節(jié)點(diǎn)上進(jìn)行計(jì)算,然后通過(guò)蔟層層上報(bào)到區(qū)域。例如某一個(gè)簇有兩個(gè)節(jié)點(diǎn),該簇收到2個(gè)節(jié)點(diǎn)分別上報(bào)的數(shù)據(jù)后,將鍵值相同的統(tǒng)計(jì)數(shù)據(jù)求和并上報(bào)到區(qū)域。當(dāng)需要查詢?cè)L問(wèn)記錄統(tǒng)計(jì)結(jié)果時(shí),直4妄連4妄到相應(yīng)的區(qū)i或進(jìn)4亍查詢。當(dāng)然,本實(shí)施例也可以用愛(ài)好、性別等多種屬性詳細(xì)統(tǒng)計(jì)多種用戶分別訪問(wèn)某資源的次數(shù),原理與統(tǒng)計(jì)訪問(wèn)量類(lèi)似,故不贅述。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專(zhuān)利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的
技術(shù)領(lǐng)域
,均同理包括在本發(fā)明的專(zhuān)利保護(hù)范圍內(nèi)。權(quán)利要求1.一種數(shù)據(jù)分布統(tǒng)計(jì)方法,包括將訪問(wèn)記錄分布定位的步驟;根據(jù)記錄建立索引的步驟;通過(guò)索引進(jìn)行統(tǒng)計(jì)的步驟。2.根據(jù)權(quán)利要求l所述的數(shù)據(jù)分布統(tǒng)計(jì)方法,其特征在于,所述記錄包括4建和至少一屬性,所述鍵的取值為鍵值,所述屬性的取值為屬性值。3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)分布統(tǒng)計(jì)方法,其特征在于,所述將訪問(wèn)記錄分布定位的步驟包括根據(jù)記錄的屬性值將記錄定位到區(qū)域中的步驟;根據(jù)記錄的鍵值將記錄定位到所述區(qū)域的簇中的步驟;將記錄定位到所述簇的節(jié)點(diǎn)中的步驟。4.根據(jù)權(quán)利要求2所述的數(shù)據(jù)分布統(tǒng)計(jì)方法,其特征在于,根據(jù)記錄建立索引的步驟包括按照至少一屬性分別建立子索引,將屬性值相同的記錄的鍵值列入所述子索引中的步驟。5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)分布統(tǒng)計(jì)方法,其特征在于,按照至少一屬性分別建立子索引,將屬性值相同的記錄的4建#_列入所述子索引中的步驟包括查找對(duì)應(yīng)屬性的子索引的步驟;將訪問(wèn)記錄的鍵值加入已存在的對(duì)應(yīng)屬性子索引中的步驟;建立與訪問(wèn)記錄屬性對(duì)應(yīng)的子索引,將訪問(wèn)記錄的4定值加入所迷子索引中的步驟。6.根據(jù)權(quán)利要求2所述的數(shù)據(jù)分布統(tǒng)計(jì)方法,其特征在于,根據(jù)記錄建立索引的步驟包括建立主索引,將子索引中記錄的鍵值及其對(duì)應(yīng)計(jì)數(shù)記入主索引中的步驟。7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)分布統(tǒng)計(jì)方法,其特征在于,所述建立主索引,將子索引中的鍵值及其對(duì)應(yīng)計(jì)數(shù)記入主索引中的步驟包括建立主索引;設(shè)主索引指針指向主索引頭部,設(shè)子索引指針指向子索引頭部;判斷當(dāng)前主索引指針和子索引指針?lè)謩e指向的4建值是否相等,相等則主索引中所述鍵值的計(jì)數(shù)加1;判斷子索引指針指向的鍵值是否小于主索引指針指向的鍵值,如果小于則將子索引指針后移一位指向下一記錄;如果大于則將主索引指針后移一位指向下一鍵值;判斷子索引指針是否指向子索引尾部,尚未指向尾部則指針后移一位指向下一鍵值,返回判斷當(dāng)前主索引指針和子索引指針?lè)謩e指向的鍵值是否相等,循環(huán)直到子索引指針指向子索引尾部。8.根據(jù)權(quán)利要求2所述的數(shù)據(jù)分布統(tǒng)計(jì)方法,其特征在于,通過(guò)索引進(jìn)行統(tǒng)計(jì)的步驟是指讀取主索引,取得4建值及其對(duì)應(yīng)計(jì)數(shù)作為統(tǒng)計(jì)結(jié)果。9.根據(jù)權(quán)利要求1至8任意一項(xiàng)所述的數(shù)據(jù)分布統(tǒng)計(jì)方法,其特征在于,在節(jié)點(diǎn)中統(tǒng)計(jì)訪問(wèn)記錄,在簇中整合屬于所述簇的所有節(jié)點(diǎn)的統(tǒng)計(jì)結(jié)果,在所述區(qū)域中匯總屬于所述區(qū)域的所有簇的統(tǒng)計(jì)結(jié)果。全文摘要本發(fā)明提供一種數(shù)據(jù)分布統(tǒng)計(jì)方法,包括將訪問(wèn)記錄分布定位的步驟;根據(jù)記錄建立索引的步驟;通過(guò)索引進(jìn)行統(tǒng)計(jì)的步驟。本發(fā)明提供的數(shù)據(jù)分布統(tǒng)計(jì)方法,以一個(gè)有100個(gè)節(jié)點(diǎn),數(shù)據(jù)量為1000億的群集為例,設(shè)其記錄的鍵值數(shù)量為10億,鍵值使用整數(shù)表示,每個(gè)鍵值占用4個(gè)字節(jié),平均分布在100個(gè)節(jié)點(diǎn)中,每個(gè)節(jié)點(diǎn)的所有子索引大致占用40M(40億*4/100)存儲(chǔ)空間。設(shè)每個(gè)節(jié)點(diǎn)有5個(gè)子索引,則每個(gè)子索引只存儲(chǔ)8M的數(shù)據(jù),而主索引就集合了80M(40億*8/100)數(shù)據(jù)。當(dāng)需要對(duì)所有記錄進(jìn)行統(tǒng)計(jì)時(shí),采用本發(fā)明可以在1秒內(nèi)的時(shí)間內(nèi)處理完畢,既不占用大量資源,也無(wú)需集中運(yùn)算,大大提高統(tǒng)計(jì)效率。文檔編號(hào)G06F17/30GK101231649SQ200710307139公開(kāi)日2008年7月30日申請(qǐng)日期2007年12月27日優(yōu)先權(quán)日2007年12月27日發(fā)明者雙吳申請(qǐng)人:騰訊科技(深圳)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
林甸县| 平江县| 青铜峡市| 庆城县| 东源县| 彭水| 黄大仙区| 广元市| 五常市| 九龙城区| 潮州市| 连江县| 望谟县| 旬阳县| 西吉县| 米脂县| 临洮县| 浦北县| 庆元县| 徐汇区| 略阳县| 金华市| 巴彦淖尔市| 田阳县| 丰城市| 灵寿县| 当阳市| 柯坪县| 纳雍县| 聂拉木县| 霞浦县| 平度市| 南平市| 延寿县| 右玉县| 成安县| 柳林县| 鄂州市| 屏山县| 闻喜县| 枣强县|