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

一個基于Redis架構的分布式圖計算系統設計

2016-09-23 07:19:44劉慶典王昂李川
現代計算機 2016年4期
關鍵詞:可視化分配信息

劉慶典,王昂,2,李川

(1.四川大學計算機學院,成都 610065;2.阿里巴巴,杭州)

一個基于Redis架構的分布式圖計算系統設計

劉慶典1,王昂1,2,李川1

(1.四川大學計算機學院,成都610065;2.阿里巴巴,杭州)

圖數據模型;分布式系統架構;存儲系統

0 引言

圖的概念最早是在1736年瑞士數學家L.Euler為解決K?nigsberg Bridge Problem[1]的論文中提出,這也是當前圖論領域公認的第一篇論文[2]。二十世紀六十年代之后,由于計算機科學和其他科學的發展推動,圖論的發展更為迅速。圖和網絡的普適性,面對真實應用場景能夠有效地進行建模,且推演出解決方案,已使圖論研究如火如荼。面對社交網絡、通信網絡、生物信息網絡等需求,對于超大規模圖的高效管理、查詢的需求也與日俱增[3-6]。傳統的如交通路線規劃、疾病傳波路徑的預測、論文合作網絡合作者間的關系預測等,在新興社交網絡語義、生物信息網絡分析等方向都有非常廣泛的應用。面對大規模的圖數據,常規的處理方法是置之于分布式多機器節點上進行并行處理,則圖分割問題的解決是采取該方案的前提。早在1970年代,圖分割問題就已經成為圖論研究領域的熱門話題。經過40余年的發展,傳統圖分割算法已趨近于成熟。將整個圖進行分割,才能夠在分布式圖計算平臺進行分析。為了更好的在分布式圖系統上進行學術研究和實踐應用,本文設計了分布式圖計算系統。

1 定義

定義1(圖)設V為包含nV個元素的集合,E為包含nE個V集合中的元素對,則一個圖可以表示為一個二元組(V,E)。其中,V中的元素為圖的頂點集合,集合E?[V]2是由兩個頂點對組成,表征圖中的邊。頂點的數目也可記為|V|,邊的數目可以記為|E|。

定義2(超圖)設V為一個非空有限集合,設E為V的非空子集的集合。超圖G表示為二元組(V,E),其中V為頂點結合,E被稱為超邊或鏈接。

定義3(無向圖)設G=(V,E)。對于任意一條邊(v1,v2)∈E,若同樣存在一條邊(v2,v1)∈E,則稱此圖為無向圖。因而,對于無向圖中的一條邊也可表示為(v1,v2)=(v2,v1)=e∈E,其中v1,v2∈V。

2 圖訪問模型

一個圖由二元組G=(V,E)表示,其中V為圖中所有頂點集合,E為圖中邊集合。避免歧義,本文圖中的點統一稱為“頂點”,而分布式集群中的主機統一稱為“機器節點”或簡稱“節點”。

在對圖進行分割時,若對圖進行頂點分割,圖中所有邊會被分配到分布式系統中指定分區。若對圖進行邊分割,圖中所有頂點會被分配到分布式系統中指定分區。對于圖中頂點的操作包括兩種行為:讀操作和寫操作?!白x操作”是讀取頂點信息,而“寫操作”是更新頂點信息。一種常見圖訪問模式是 “獲取某頂點x所有鄰居狀態”。這是現實網絡,尤其是社交網絡中最經常用到的訪問模式。系統需要首先找到頂點x,并遍歷其所有鄰居頂點,獲取其鄰居最新的狀態信息。社交網絡中存在很多鄰居數目十分龐大的用戶,快速查找出這些用戶的所有鄰居,這種查詢對于系統的擴展性提出很高要求。由于圖分割致使其鄰居可能不在同一個機器節點。因此造成的跨分區訪問會加大網絡負載,增加查詢延時。

另外一種常見訪問模式是查詢頂點x所有符合某些條件的鄰居。例如,查詢頂點x所有出生在四川,并且已經結婚的鄰居。對于這類查詢,首先訪問x所有鄰居,并根據條件對鄰居進行過濾。這與上一種模式類似,但在實際應用中這種1跳(1-hop)查詢,可能會擴展到2跳(2-hops),甚至是更多,因而所造成的跨分區訪問次數更大。

此外,一些子圖匹配查詢也是較為常見的訪問模式,但也都是基于上述兩個模式的擴展。

3 系統架構

圖1 所展示的是系統上層架構圖,包含分配邏輯模塊(Allocate Logic Module)、路由邏輯模塊(Route Logic Module)、動態均衡模塊(Balance Logic Module)、存儲模塊(Storage Module)、可視化模塊(Visualization System)等部分。

本研究的分布式圖系統主要由1個Master主機和k個Slave主機組成,k的大小根據實際應用需求指定。每個Slave機器可被看作圖分割后的一個區塊。外部請求首先會被發送到Master節點,然后根據請求需要將信息分發到相應的Slave主機。本文僅考慮一個Master節點情形,可通過簡單改進設計成多個并行Master節點模式。

Master節點主要工作包括三部分:頂點分配、路由和全局信息存儲。頂點分配意指在有新頂點或邊請求分配時,分配邏輯模塊會根據設計好的分配算法對新頂點或邊進行分配,將其存儲于某個Slave機器節點。路由功能意指對于外部查詢訪問請求通過查詢全局信息表,找到訪問請求中頂點或邊所在的Slave節點,并將信息返回。此外,Master主機會存儲路由所需要的全局查詢表,保存著圖的分配信息。具體存儲系統的詳細細節將在第4節進行闡述。

圖1 系統架構

Slave節點保存被分割后相應圖分區中實際頂點信息。系統在運行過程中Slave主機會記錄每個頂點被讀和寫的頻率,并作為動態均衡的依據。動態均衡模塊在本文系統中起著至關重要的作用,它負責決定圖中的頂點是否擁有多個拷貝,從而最大限度地降低網絡負載和通信延時。通過一定時間的歷史訪問記錄,每個頂點會形成一定的讀寫模式。這些數據經過收集匯總,然后用以判定各頂點最適合被分配到哪個Slave節點,從而最大限度降低機器間通信。動態均衡的細節將在后文中詳細描述。此外,Slave節點還會對外提供一些圖訪問接口,通過對底層封裝為方便上層獲取圖的相關信息。

為能夠更直接表示圖分割結果,系統包含一套可視化系統模塊。在第5節將詳細講述可視化模塊具體信息。

4 存儲系統

本文使用基于內存的鍵值數據庫Redis來存儲圖基礎數據、分配信息和其他系統信息。數據會定期從內存備份到硬盤,以避免數據丟失。之所以選擇Redis作為基礎數據存儲因為以下原因:

(1)訪問速度快

由于Redis是一種基于內存的數據庫,因而訪問速度極快。在Intel Xeon CPU E5520@2.27GHz機器上,Redis每秒可完成 552028次 Set操作,每秒完成707463次Get操作[7],性能極高。

(2)支持豐富的數據類型

雖然Redis是一種鍵值數據庫,但其數據類型不只是整形和字符串型兩種。Redis支持軟件開發過程中大部分常見數據類型,如List、Set、Sorted Set、Hash等。

(3)操作具有原子性

所有的Redis操作都具有原子性,這使得在多線程或多用戶訪問數據庫時不會出現異常。

(4)豐富的工具

Redis的命令十分豐富,對于常見操作都進行了實現。例如鍵操作、字符串操作、Hash操作、集合交并集等。此外,還提供大量數據庫管理工具,如caching,messaging-queues,publish,subscribe等。

本文在實驗過程中,在確定存儲模型和結構之后對Redis進行封裝,編寫專門用于分布式圖的庫形成圖的訪問接口,如圖1 中Graph Interface模塊所示。這使得底層圖存儲的細節透明,用戶可直接通過調用接口函數訪問已存儲的圖數據。

5 可視化模塊

常見圖分割系統將結果通過數字指標來表征分割好壞,這讓用戶難以區分。頂點被分割到哪個分區也并不容易被查看。本模塊通過可視化技術顯示分割后的結果。如圖2 所示,這是圖分割后的可視化圖。通過可視化,本研究提供人眼一樣直覺的、交互的可視化環境。

本文借助d3.js引擎對分割結果可視化。d3.js是一個可視化相關的JavaScript庫,通過操作數據來進行可視化展示。圖2 是對表1中Jazz數據集進行分割后的結果,其中藍色的為主頂點,橙色的為影子頂點(主頂點和影子頂點的概念將在后文中詳細介紹)。可視化模塊通過不同顏色來表征不同的頂點特征,頂點名稱信息也可通過設置來確定顯示與否。圖2 是將Jazz數據分割到4個分區中,每張圖代表一個分區保存的結果。通過可視化之后,可對分割好壞一目了然。此外,可視化模塊通過每個頂點的度來決定頂點圓圈大小。度越大圓圈半徑也越大,否則越小。這使得頂點重要性也可通過可視化表現出來。可視化模塊會自動根據力學原理確定整個圖布局,用戶也可通過拖拽頂點來重新調整頂點位置。

圖2 可視化模塊顯示結果

表1 數據集

6 結語

本文提出了基于圖數據模型的分布式大圖系統架構、存儲系統及系統原型,介紹該系統的設計架構、關鍵實現技術、基本搭建方法,為相關研究和實踐構建一個基礎性的平臺。

[1]Solutio Problematis Ad Geometriam Situs Pertinentis,Commentarii Academiae Scientiarum Impe-Rialis Petropolitanae 8(1736):128-140.

[2]Euler L.,Solutio Problematis Ad Geometriam Situs Pertinentis,Comm.Acad.Sci.Imp.Petropal,8(1736),138-140 or Opera Ommia Ser.I.,7(1760):1-10.

[3]Girvan M.Newman M E J.Community Structure in Social and Biological Networks[J].Proc.Natl.Acad.Sci.USA.2002,99(12):7821.

[4]Newman M E J.Fast Algorithm for Detecting Community Structure in Networks[J].Phys.Rev.E.2004,69(6):66133.

[5]Clauset A,Newman M E J,Moore C.Finding Community Structure in Very Large Networks[J].Phys.Rev E.2004,70(6):66111.

[6]Newman M E J.The Structure of Scientific Collaboration Networks[J].Proc.Natl.Acad.Sci.USA.2001,98(2):404.

[7]How fast is Redis.http://redis.io/topics/benchmarks.2015-03-12.

Graph Data Model;Distributed System Architecture;Storage System

Design of a Distributed Graph Computing System Based on Redis

LIU Qing-dian1,WANG Ang1,2,LI Chuan1
(1.College of Computer Science,Sichuan University,Chengdu 610065;2.Alibaba,Hangzhou)

劉慶典(1989-),男,山東臨沂人,碩士,研究方向為數據挖掘、分布式計算

2015-12-31

2016-01-20

提出且設計基于大圖數據分割的分布式圖處理系統。該系統解決大圖數據的實時讀取、分割,實現大圖數據的分布式存儲,且實現圖的可視化模塊與算法。探討該系統的設計架構、關鍵實現技術、基本搭建方法。為以后的學術研究和實踐構建一個基礎的平臺。

李川(1977-),男,河南鄭州人,博士,副教授,研究方向為數據庫、數據挖掘

Presents and designs a distributed processing system based on large graph partitioning.The system solves the problem of large graph data reading and partitioning in real time,and realizes a distributed storage of large graph data,also solves the visualization module and algorithm of graph.Studies the design of the system architecture,key technology and platform structures in order to build a fundamental platform for future academic research and practice.

猜你喜歡
可視化分配信息
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
基于CGAL和OpenGL的海底地形三維可視化
應答器THR和TFFR分配及SIL等級探討
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
遺產的分配
一種分配十分不均的財富
績效考核分配的實踐與思考
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 国产成人高清在线精品| 成年A级毛片| 国产人成在线观看| 2021国产乱人伦在线播放| 国产精品美女自慰喷水| 四虎成人精品| 91精品啪在线观看国产| 天天色天天操综合网| 视频二区国产精品职场同事| 视频二区亚洲精品| 亚洲自偷自拍另类小说| 综1合AV在线播放| 欧美成在线视频| 国产精品无码久久久久久| 国产经典在线观看一区| 白浆视频在线观看| 色噜噜中文网| 成年午夜精品久久精品| 亚洲一区二区无码视频| 老熟妇喷水一区二区三区| 国产精品区视频中文字幕| 亚洲综合片| 久久久精品无码一区二区三区| 久久精品人人做人人爽| 四虎国产精品永久一区| 天天摸天天操免费播放小视频| 五月婷婷综合在线视频| 中文字幕色在线| 亚洲精品图区| 国产jizz| 亚洲成人精品久久| 国内精品视频区在线2021| 久久香蕉国产线看观看精品蕉| 久久福利片| 免费一级大毛片a一观看不卡| 99久久精品国产麻豆婷婷| 最新精品久久精品| 欧美特黄一级大黄录像| 久久鸭综合久久国产| 一级福利视频| 少妇被粗大的猛烈进出免费视频| 天天躁夜夜躁狠狠躁图片| 久久国语对白| 亚洲欧美自拍中文| 91精品网站| 丁香婷婷激情网| 欧美自慰一级看片免费| 久久这里只有精品66| 国产精品分类视频分类一区| 波多野结衣二区| 欧美日韩91| 99久久精品免费观看国产| 国产综合无码一区二区色蜜蜜| 国产激情在线视频| 中国一级特黄视频| 夜色爽爽影院18禁妓女影院| 成人在线亚洲| 丰满的少妇人妻无码区| 国产凹凸一区在线观看视频| 国产日产欧美精品| 在线视频精品一区| 中国精品自拍| 99久久国产综合精品2020| 国产精品七七在线播放| 特级精品毛片免费观看| 区国产精品搜索视频| 日本三级欧美三级| 中文无码日韩精品| 国内精品自在欧美一区| 精品综合久久久久久97| 成年网址网站在线观看| 欧美不卡视频在线观看| 91九色最新地址| 尤物成AV人片在线观看| 国产欧美日本在线观看| 91九色最新地址| 2022精品国偷自产免费观看| 国产人妖视频一区在线观看| 露脸一二三区国语对白| 一区二区在线视频免费观看| 波多野结衣在线一区二区| 国产一区二区精品福利|