999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于倒排索引的多維網絡存儲模型

2016-02-24 10:41:12張志遠徐恒盼
計算機技術與發展 2016年4期
關鍵詞:模型

張志遠,徐恒盼

(中國民航大學 計算機科學與技術學院,天津 300300)

一種基于倒排索引的多維網絡存儲模型

張志遠,徐恒盼

(中國民航大學 計算機科學與技術學院,天津 300300)

具有多維屬性的實體相互連接構成的網絡(如社交網絡)稱為多維網絡,在多維網絡上支持聯機分析處理具有重要的應用價值。現有方法大都從文件或數據庫中逐條讀取記錄,當數據量很大時,需要多次讀取磁盤,導致查詢響應時間過長,效率較低。文中提出了一種新的基于倒排索引的多維網絡存儲模型II-GC(Inverted Index based Graph Cube),通過將圖的拓撲結構和頂點的多維屬性存儲在倒排索引列表中加快查詢速度,并給出了在多維網絡上進行聚集查詢(cuboid)和交叉查詢(crossboid)的算法。在DBLP數據集上的實驗表明,該模型較GraphCube的查詢效率更高,擴展性更好。

多維網絡;圖立方體;倒排索引;聯機分析處理

0 引 言

隨著Web2.0等互聯網新概念的飛速發展,大量新型社交網絡服務不斷涌現,社交網絡在人們的生活中扮演著越來越重要的角色。作為一個交叉領域,社交網絡研究已經得到國內外學者們的廣泛關注。目前對于社交網絡的研究多集中于其拓撲結構,如社區劃分[1-2]、輿情傳播[3]等。在實際應用中,除拓撲結構外,與頂點相關的多維屬性信息也非常重要,如統計合著網絡中的男女比例及連接關系等。文中主要研究由拓撲結構及與頂點關聯的多維屬性一起構成的多維網絡[4]。

對多維網絡進行OLAP[5]分析可展現不同尺度上的網絡結構特征,如聚集操作可分析合著網絡中不同領域人員之間的網絡結構,切片操作可分析某特定領域如數據挖掘學者之間的網絡關系。為突破傳統OLAP技術無法支持帶有圖結構的復雜網絡分析的限制,近年來研究人員開展了很多相關研究。2007年吳巍[6]提出了Link OLAP的概念,將面向實體的分析擴展為面向連接的分析,以復雜網絡可視化為基礎,突破了以往傳統OLAP系統中單調的二維表格表現方式。同年,Chen等[7]提出了Graph OLAP的概念,將OLAP技術引入到復雜網絡分析中,實現了在信息維和拓撲維兩種維度上的OLAP操作。2010年,Li等[8]提出了一種適合Graph OLAP的數據倉庫概念模型,即雙星模型,并提出了信息維聚集算法I-OLAPing和拓撲維聚集算法T-OLAPing。2011年,Li等[9]又在原有基礎上提出了基于信息網絡數據倉庫和信息網絡數據立方體的概念,提出了雙星座數據模型,實現了信息維和拓撲維的聚集算法以及上卷下鉆的OLAP操作。同年,Zhao等[10]詳細介紹了一個新的數據倉庫模型,即基于圖的數據立方體Graph Cube,同時提出了用于Graph OLAP的新的查詢方式crossboid(詳見定義4),并討論了Graph Cube的物化策略。2011年,Qu等[11]提出了一種信息網絡拓撲維的框架,并基于此框架提出了更高效的查詢方法以及數據立方體的物化策略,對拓撲維在線分析處理(T-OLAP)操作中特定類型度量的優化進行了有針對性的深入分析。

現有的GraphCube OLAP聚集算法研究大多是直接對文件或數據庫中的數據進行聚集查詢,逐條檢索記錄,判斷是否符合條件。當文件很大時,往往要多次讀寫磁盤,較為耗時。文中提出了一種新的多維網絡存儲模型II-GC(Inverted Index based Graph Cube),通過引入倒排索引技術,把直接對數據庫中數據進行的聚集查詢轉化成倒排索引集合間的交、并運算,不用逐個讀取記錄,參與運算的數據大幅減少,提高了檢索速度。

1 基本概念

定義1:多維網絡[4,12]。多維網絡是一個形式為G=(V,E,A)的圖,其中V是頂點集合,E?V×V是邊的集合,A={A1,A2,…,An}是與頂點相關聯的屬性集合。任取v∈V,存在一個多維元組A(v)=(A1(v),A2(v),…,Am(v)),其中Ai(v)是頂點v上的第i個屬性,1≤i≤m。

圖1是一個社交網絡中的多維網絡示例。圖中有10個頂點,記作v1,v2,…,v10,分別代表社交網絡中不同的個體;13條邊分別代表個體間的關系。每個頂點均關聯一個多維屬性元組,記錄該個體的基本信息,包括ID,Gender,Location及Profession。所有頂點的多維屬性元組集合構成多維屬性表,如表1所示。

圖1 一個社交網絡的多維網絡圖

表1 多維屬性表

(2)?u',v'∈V',其中u'代表[u],v'代表[v],令E(u',v')={(u,v)|u∈[u],v∈[v],(u,v)∈E},若E(u',v')非空,則?e'∈E代表E(u',v')。邊的權重ω(e')=Fe(E[u',v']),其中Fe()為作用在邊上的聚集函數,稱e'為聚集邊。

以圖1中的“社交網絡”為例,選取A的一種聚集A'=(Gender,*,*),以Count()作為頂點和邊上的聚集函數,則產生的聚集網絡含Male和Female兩個聚集頂點,其權重值分別為男女實例的個數,本例中均為5。邊的權重代表聚集頂點間的關系,如Female頂點集合{v2,v3,v4,v6,v9}中有三條邊連接,即v2v4,v3v4,v3v6,因此其權重為3。

定義3:圖立方體[10]。給定多維網絡(V,E,A),根據A的所有可能的聚集產生的聚集網絡集合構成圖立方體(GraphCube,GC),其每個聚集網絡又被稱為cuboid。

仍以圖1中的社交網絡為例,頂點代表在不同的聚集屬性下得到的聚集網絡,邊代表不同的聚集網絡間的父子關系,其中(Gender,Location,Profession)是所有其他聚集網絡的基礎,(*,Location,Profession),(Gender,*,Profession)及(Gender,Location,*)均可從(Gender,Location,Profession)直接求得。

圖2 crossboid查詢產生的聚集網絡

2 II-GC存儲模型

多維網絡可看作是具有多維屬性頂點的網絡圖,節點的屬性信息可存儲在其data域中,也可像表1一樣將所有頂點信息存儲在一個二維表格中。在進行聚集操作時,兩種方式均需要對圖進行遍歷,時間復雜度為O(n+e)。其中,n是頂點個數,e是邊的條數。隨著網絡規模的增加,這種線性復雜度甚至都是不能忍受的。為此文中提出基于倒排索引的多維網絡存儲模型,將所有信息存儲在頂點的倒排索引和邊的倒排索引中,如圖3所示。

圖3 基于倒排索引的多維網絡存儲模型

按照廣度優先的遍歷順序對點和邊進行編號,2.1節中討論了這種編號方式帶來的好處。邊的倒排索引按起點和終點分為兩組,對如圖1所示的無向圖,以數字較小的頂點為起點。例如邊起點倒排索引中的Male:1,2,11,12表明有四條邊的起點中Gender屬性為Male。起點倒排索引中的Male和終點倒排索引中的Male交集只含有11這一條邊,因此可以確定Male和Male之間的連接邊只有一條,正好回答了Male自身連接權重的問題。采用基于倒排索引的存儲模型至少有以下幾個優點:

(1)將圖遍歷轉換為集合的交并操作,加快了查詢速度;

(2)采用倒排索引壓縮算法可進一步減少存儲空間;

(3)相對于結構復雜的圖來說,基于倒排索引的查詢更容易并行化。

2.1 模型初始化

將多維網絡轉換為基于倒排索引的存儲模型,初始化算法如下:

輸入:一個多維網絡G=(V,E,A);

輸出:點倒排索引表N,邊倒排索引表E1,E2,邊編號索引表EI。

begin

//按廣度優先順序對圖節點編號

初始化隊列Q,并將v1加入Q;

nodeno←0;設置所有節點為未訪問;

whileQ非空{

從隊列中取出一個頂點u并標記為已訪問;

u.id=++nodeno;

foru的每個未訪問過的鄰居節點v{

ifv不在Q中則將其加入隊列Q;

}

}

//對圖廣度優先遍歷并設置倒排索引表

初始化隊列Q,并將v1加入Q;

edgeno←0;設置所有節點為未訪問;

whileQ非空{

從隊列中取出一個頂點u并標記u為已訪問;

for除id外的每一個屬性Ai{

N(Ai(u))←N(Ai(u))∪{u.id};

}

foru的每個未訪問過的鄰居節點v{

EI[++edgeno]←(u.id,v.id);

for除id外每一個屬性Ai{

E1(Ai(u))←E1(Ai(u))∪{edgeno};

E2(Ai(u))←E2(Ai(v))∪{edgeno};

}

ifv不在Q中則將其加入隊列Q;

}

}

end

按廣度優先順序對圖節點和邊進行編號,這樣可保證點和邊的倒排索引列表按升序排列,為后面的求交操作帶來便利。算法相當于對原圖進行了兩次廣度優先遍歷,其時間復雜度亦為O(2n+2e)。采用倒排索引格式存儲后,原多維網絡不必繼續保留。若采用的聚集函數為Count(),則邊編號索引表EI也可以去掉。由于倒排索引存儲的均為整數,和原來使用大量字符串相比存儲空間有所減少。需要注意的是,該存儲模型對類別較多的列屬性(如姓名)而言是低效的,因為這會造成大量的短倒排索引列表,不利于后面的查詢操作。

2.2 cuboid查詢

以聚集A'=(Gender,*,*)為例,Gender對應的屬性值有Male和Female,查看相應的點倒排索引表N得:N(Female)={2,3,4,6,9},N(Male)={1,5,7,8,10}。說明Female和Male分別有5人。然后再查他們之間的連接關系得:E1(Male)={1,2,11,12},E2(Male)={5,7,8,9,10,11,13}。兩者的交集為{11},說明以Male為起點和終點的邊只有1條。同理可得E1(Female)∩E2(Female)={3,4,6},說明以Female為起點和終點的邊共有3條。連接Male和Female之間的邊或者以Male為起點,或者以Female為起點,對應的集合為{E1(Male)∩E2(Female)}∪ {E1(Female)∩E2(Male)}={1,2,5,7,8,9,10,12,13},說明Male和Female之間有9條邊。Cuboid查詢算法如下:

輸入:倒排索引多維網絡IIG=(N,E1,E2,EI),聚集屬性A';

begin

V'←?;E'←?;

//計算所有可能的聚集頂點

Vt1←?;Vt2←?;

ifV'為空集{V'←Vt1;continue;}

forV'的每一個元素v'{

forVt1的每一個元素vt1{

Vt2←Vt2∪{v',vt1};

}}

V'←Vt2;Vt1←?;Vt2←?;

}

//計算頂點的權重

if(T==?){將v'從V'中刪除;continue;}

}

//計算邊的權重

forV'的每一個頂點對(u',v'){

if(u'≠v'){

e←e∪e';

}

if(e≠?) {

{E'←E'∪{(u',v')};

}

}

end

設cuboid聚集網絡有m個頂點,每個頂點有k個分量(如Male,Professor),則算法最多需要2m2k+mk次求交集操作,而實際上會小得多,因為求交集時集合大小隨著次數的增加將明顯變小,當結果為空時即可停止。

2.3 crossboid查詢

以(Gender,*,*)和(*,Location,*)為例,對兩個聚集屬性依次應用2.2中算法的前兩步得6個聚集節點:Male(5),Female(5),CA(3),WA(3),NY(2),IL(2)。其中括號內的值為點的權重。然后應用邊倒排索引查詢連接邊,例如Male和CA之間的連接為:(E1(Male)∩E2(CA))∪(E1(CA)∩E2(Male))=([1,2,11,12]∩[2,12])∪([1,2,4,5,6,7,8,13]∩[5,7,8,9,10,11,13])=[2,5,7,8,12,13]。因此Male和CA之間的連接權重為6。crossboid查詢算法如下:

//求S和T的連接邊及權重

e←e∪e';

if(e≠?) {

E'←E'∪{(u',v')};

}

}

}

2.4 雙二分查找

倒排索引源于實際應用中需要根據屬性的值來查找記錄。這種索引表中的每一項都包括一個屬性值和具有該屬性值的各記錄的地址。由于不是由記錄來確定屬性值,而是由屬性值來確定記錄的位置,因而稱為倒排索引。利用倒排索引查詢的時間復雜度主要取決于集合求交的過程,注意到所有的倒排索引列表都是升序排列的,可以采用雙二分查找算法[13]提高查找速度。對于兩個有序集合D和Q,假設D比Q的元素多。該算法首先在D中對Q的中間值Qmid進行二分查找,若找到則將Qmid添加至結果集R中。無論是否找到,都可以將D和Q劃分為兩個部分:D1,D2以及Q1,Q2。其中D1和Q1中的所有元素都小于Qmid,D2和Q2中的所有元素都大于Qmid。如此,問題轉換為求D1和Q1的交集及D2和Q2的交集。實際過程中可先比較兩個集合的最大最小值判斷其交叉重疊部分,從而減少比較集合的大小。Ricardo指出,當兩個集合的元素個數相差較大時,該算法的復雜度為O(mlg(n))。其中m和n分別為短集合和長集合的元素個數[14]。由于需要進行多次求交運算,結果集合肯定會越來越短,因此適合采用雙二分查找。

3 實驗結果與分析

3.1 實驗數據集

從1969年到2014年的DBLP數據集中選取四個領域的會議文章共289 135篇,按作者統計文章發表情況建立了合著關系網絡,含34 259個作者作為頂點,193 902個作者之間的合作關系為邊。頂點屬性信息為Author、Area、Year、Productive。共包含4個Area,每個Area選取5個代表性會議:數據庫(SIGMOD,VLDB,ICDE,PODS,EDBT)、數據挖掘(KDD,ICDM,SDM,PKDD,PAKDD)、信息檢索(SIGIR,WWW,CIKM,ECIR,WSDM)和人工智能(IJCAI,AAAI,ICML,CVPR,ECML)。若作者在多個領域發表文章,選擇文章數量最多的領域為其Area。Productive根據作者發表的文章篇數分為四個類別:excellent(35篇以上)、good(15到34篇)、fair(3到14篇)以及poor(小于3篇)。

3.2 cuboid查詢實驗

本小節對比II-GC和GraphCube[10]的cuboid查詢在不同規模多維網絡上的響應時間。網絡邊數從1萬到6萬變化時的cuboid查詢響應時間對比如圖4所示。

圖4 不同規模網絡上的cuboid查詢對比

可以看出,II-GC比GraphCube上的cuboid查詢響應時間短,且隨著復雜網絡邊數的增加,II-GC的查詢響應時間變化不大,而GraphCube的查詢時間則迅速增加。

聚集維度從1到3變化時,兩者的cuboid查詢響應時間對比如圖5所示。

圖5 不同維數上的cuboid查詢對比

可以看出,II-GC的cuboid查詢響應時間更短,且隨著維數的增加,II-GC的查詢響應時間呈線性增長,而GraphCube則迅速增加。

實驗結果驗證了基于II-GC處理cuboid查詢的高效性。

3.3 crossboid查詢實驗

本小節對比II-GC和GraphCube的crossboid查詢響應時間。在不同規模網絡上的實驗結果如圖6所示。

圖6 不同規模網絡上的crossboid查詢對比

可以看出,在II-GC的crossboid查詢性能較優,且隨著網絡規模增大,GraphCube上的crossboid查詢響應時間呈直線上升,而II-GC的變化則較為平緩。實驗結果驗證了基于II-GC處理crossboid查詢的高效性。

4 結束語

基于倒排索引的多維網絡存儲模型將逐條對比的查詢操作轉換為有序集合的交并操作,在減小存儲空間的同時優化了查詢性能。在DBLP數據集上的實驗結果表明,該模型擴展性較好,查詢效率較高。當屬性值的分類個數較多時,會出現大量短倒排索引,影響查詢效率。

[1] 程學旗,沈華偉.復雜網絡的社區結構[J].復雜系統與復雜性科學,2011,8(1):57-70.

[2] 張 娜.復雜網絡社區結構劃分算法研究[D].大連:大連理工大學,2009.

[3] 陳 旭.基于社會網絡的WEB輿情系統的研究與實現[D].西安:西安電子科技大學,2010.

[4] 張蘭華.復雜網絡建模的仿真與應用研究[D].大連:大連理工大學,2013.

[5] Han Jiawei, Sun Yizhou. Mining heterogeneous information networks[C]//Proc of the 16th ACM SIGKDD international conference on knowledge discovery and data mining.[s.l.]:ACM,2013.

[6] 吳 巍.復雜網絡可視化與Link OLAP[D].北京:北京郵電大學,2007.

[7] Chen Chen, Yan Xifeng, Zhu Feida,et al. Graph OLAP:a multi-dimensional framework for graph data analysis[J].Knowledge and Information Systems,2009,21(1):41-63.

[8] Li Chuan,Zhao Lei,Tang Jie,et al.Modeling,design and implementation of graph olaping[J].Journal of Software,2011,22(2):258-268.

[9] Li Chuan,Yu P S,Zhao Lei,et al.InfoNetOLAPer:integrating InfoNetWarehouse and InfoNetCube with InfoNetOLAP[J].Proceedings of the VLDB Endowment,2011,4(12):1422-1425.

[10] Zhao Peixiang,Li Xiaolei,Xin Dong,et al.Graph cube:on warehousing and OLAP multidimensional networks[C]//Proc of ACM SIGMOD international conference on management of data.[s.1.]:ACM Press,2011:853-864.

[11] Qu Qiang,Zhu Feida,Yan Xifeng,et al.Efficient topological OLAP on information networks[C]//Proc of the 16th international conference on database systems for advanced applications.Berlin:Springer-Verlag,2011:389-403.

[12] 邵連龍,尹 沐.基于DBLP的多維異質網絡Graph Cube設計與實現[J].計算機應用研究,2014,31(3):720-724.

[13] Baeza-Yates R.Experimental analysis of a fast intersection algorithm for sorted sequences[C]//Proceedings of the 12th international conference on string processing and information retrieval.[s.l.]:[s.n.],2005:13-24.

[14] Baeza-Yates R.A fast set intersection algorithm for sorted sequences[C]//Proceedings of the 15th annual symposium on combinatorial pattern matching.[s.l.]:[s.n.],2004:400-408.

A Multi-dimensional Network Storage Model Based on Inverted Index

ZHANG Zhi-yuan,XU Heng-pan

(School of Computer Science & Technology,Civil Aviation University of China, Tianjin 300300,China)

A network such as social network linked by entities with multiple attributes is called multi-dimensional network.OLAP query on multi-dimensional network has an important application value.Most existing methods read records one by one from a file or a database.When a lot of data involved,these methods need more I/O time,thus leading to large query response time and low query efficiency.A new multi-dimensional network storage model based on inverted index is presented,called II-GC (Inverted Index based Graph Cube).It speeds up the process by constructing inverted index both on topological graph and multiple attributes.Algorithms about cuboid and crossboid are also introduced.Experimental results on DBLP show that this model is more efficient and scalable than GraphCube.

multi-dimensional network;graph cube;inverted index;OLAP

2015-07-15

2015-10-21

時間:2016-03-22

國家自然科學基金資助項目(61201414,61301245,U1233113)

張志遠(1978-),男,副教授,碩士研究生導師,研究方向為數據挖掘;徐恒盼(1987-),女,碩士研究生,研究方向為數據倉庫技術。

http://www.cnki.net/kcms/detail/61.1450.TP.20160322.1521.070.html

TP391.9

A

1673-629X(2016)04-0025-06

10.3969/j.issn.1673-629X.2016.04.006

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 欧美一区二区精品久久久| 无码AV动漫| 国产综合精品日本亚洲777| 久久99精品久久久久纯品| 国产精品主播| 97久久免费视频| 精品黑人一区二区三区| 亚洲三级成人| 国产一级精品毛片基地| 国产精品女熟高潮视频| 全部免费毛片免费播放| 亚洲精品国产乱码不卡| 97久久精品人人做人人爽| 一区二区三区毛片无码| 中文字幕2区| 欧美成人综合视频| 国产麻豆精品在线观看| 国产亚洲欧美在线视频| 999在线免费视频| 亚洲人在线| 91精品最新国内在线播放| 91精品福利自产拍在线观看| 婷婷亚洲最大| 9999在线视频| 亚洲αv毛片| 精品91视频| 国产欧美日韩综合在线第一| 精品一区二区三区自慰喷水| 欧美性精品不卡在线观看| 黄色不卡视频| 欧美伦理一区| 国产成人精品日本亚洲| 久久久久88色偷偷| 亚洲人成在线免费观看| 久久久久国产一级毛片高清板| 国产精品视频导航| 国产精品人人做人人爽人人添| 亚洲另类第一页| av一区二区三区在线观看| 中文字幕在线观| 国产精品3p视频| 亚洲婷婷在线视频| 亚洲福利片无码最新在线播放| 亚洲无码视频喷水| 伊人色综合久久天天| 欧美天堂久久| 永久免费精品视频| 国产成年女人特黄特色大片免费| 无码日韩人妻精品久久蜜桃| 亚洲天堂网在线播放| 人人妻人人澡人人爽欧美一区| 天堂岛国av无码免费无禁网站| 中文天堂在线视频| 香蕉eeww99国产在线观看| 欧美成人免费一区在线播放| 亚洲色图狠狠干| 久久久久国产精品免费免费不卡| 国产精品永久久久久| a级毛片毛片免费观看久潮| 国产免费a级片| www.亚洲色图.com| 欧美日韩v| 欧美在线三级| 中文字幕有乳无码| 亚洲欧美h| 亚洲美女一级毛片| 久一在线视频| 国产欧美在线视频免费| Aⅴ无码专区在线观看| 成AV人片一区二区三区久久| 国产91麻豆视频| 国产人成在线视频| 亚洲天堂区| 欧美翘臀一区二区三区| 亚洲第一成人在线| 3344在线观看无码| 亚洲第一黄色网址| 亚洲国产成人精品青青草原| 国产精品美乳| 超清人妻系列无码专区| 亚洲一级无毛片无码在线免费视频 | 午夜限制老子影院888|