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

基于JUNG框架和MongoDB的網絡圖生成技術

2011-10-09 06:28:58王銳徐捷
中國科技信息 2011年2期
關鍵詞:可視化數據庫系統

王銳 徐捷

1.國防科技大學電子科學與工程學院,湖南 長沙 410073;2.國防科技大學信息工程研究所,湖南 長沙 410073

基于JUNG框架和MongoDB的網絡圖生成技術

王銳1徐捷2

1.國防科技大學電子科學與工程學院,湖南 長沙 410073;2.國防科技大學信息工程研究所,湖南 長沙 410073

由于在實際應用中海量、異構數據大量出現,以及基于Web架構的廣泛采用,傳統關系數據庫在數據管理及可視化方面已經難以勝任。JUNG是基于Java語言的開源框架,可以方便地實現網絡圖生成,并與聚類、最短路和最大流等算法相結合。MongoDB是開源數據庫,提供了Java開發包。本文綜合利用兩者的特點研究了一種網絡圖生成技術。通過測試,該技術運行快捷穩定,可以生成相關領域的網絡圖,可用于商業、金融、軍事等多個領域的信息處理與可視化。

JUNG framework;MongoDB database;networkgraph generation technology;visualization

1、引言

隨著計算機科學和信息科學的推動,圖論和網絡流理論已經形成了一門既有趣又有用、既成熟又活躍的學科分支。并且其形成網絡圖在工程領域獲得廣泛的應用,但隨著實際應用中海量、異構數據的大量出現,以及基于Web架構的廣泛應用,如何快捷地分布式管理數據并繪制網絡圖是現今研究人員所面臨的主要問題。針對網絡圖繪制近幾年來出現了很多有創意的開源框架。如JUNG、JFreeChart、JChar2D等等,都有其自身的特點。相對而言,JUNG框架在對圖形化支持和交互式數據訪問等方面更勝一籌[1]。而MongoDB是一個高性能,開源,無模式的基于分布式文檔存儲的數據庫,它不僅使用十分方便,而且數據被分組以BSON(鍵-值對)的形式存儲在數據集中,不需要任何Schema,可以將異構數據存儲在同一個數據庫中,同時其每個數據集合中包括不同類型數據,具有很高的查詢速度[2]。因而在存在海量異構數據且需要進行分析并可視化的大型組織中,這兩者結合用于信息處理具有明顯優勢,雖然目前很少有公開文獻對此方面進行專門研究,但相信基于JUNG框架和MongoDB數據庫的應用開發將會越來越多。

因此考慮到JUNG類庫框架的巨大圖形可視化功能,以及MongoDB數據庫數據處理的高效性,以及其對異構數據的充分支持,本文采用JUNG作為網絡圖生成技術的低層框架,并采用MongoDB數據庫作為數據持久層,從而實現網絡圖生成技術的研究設計,并給出了開發實例,可用于商業、金融、軍事等多個鄰域的信息處理與可視化。

2、JUNG框架和MongoDB數據庫

2.1、JUNG框架簡介[1-3]

Jung(the Java Universal Network/Graph Framework)是一個開源軟件包,它提供了一種公共和可擴展的框架來實現數據的建模、分析和可視化展示并能夠被繪制成圖形或網絡。其目的在于未開發關于圖或網絡結構的應用程序提供一個以用、通用的基礎架構。使用Jung功能調用,可以方便的構造圖或網絡的數據結構,應用經典算法(如聚類、最短路徑、最大流量等),編寫和測試用戶自己的算法,以及可視化的顯示數據的網絡圖。

2.2、MongoDB數據庫[3-4]

Mongo是使用C++開發的,MongoDB數據庫具有面向集合的存儲、動態查詢、完整的索引支持和查詢監視等諸多鮮明的特征。根據官方網站的描述:MongoDB適用于一下場景:

(1)網站數據:Mongo非常適合實時的插入,更新于查詢,并具備網站試試數據存儲所需的復制及高度伸縮性。

(2)緩存:由于性能很高,Mongo也適合作為信息基礎設施的緩存層。在系統重啟之后,由Mongo搭建的持久化緩存層可以避免下層的數據源過載。

(3)大尺寸,低價值的數據:使用傳統關系型數據庫存儲一些數據時可能會比較昂貴,在此之前,很多時候程序員往往會選擇傳統的文件進行存儲。

(4)高伸縮性的場景:Mongo非常適合由數十或數百臺服務器組成的數據庫。Mongo的路線圖中已經包含對MapReduce引擎的內置支持。

(5)用于對象及JSON數據的存儲:Mongo的BSON數據格式非常適合文檔化格式的存儲及查詢。

3、網絡圖生成技術研究

3.1、一般網絡圖設計需求分析

拋開領域知識,網絡圖都是由頂點和邊組成,頂點和邊之間的關系都可以通過一個唯一的鄰接矩陣來表示。本文要實現的技術的基本需求為:

1)可以實現領域擴展;

2)可以實現人機交互;

3)可以對給定的臨界矩陣進行繪制;

4)對繪制的網絡圖能夠實現縮放和拖動,以及修改;

5)對網絡圖進行計算,諸如最大流、最小費用等。

3.2、網絡圖技術組成

根據給出的需求分析,設計出一個通用的網絡圖生成技術系統,其組成框架及信息流的如圖1所示。

技術核心是JUNG框架提供的接口類庫。其中Layout、可視化以及Graph中的節點、邊的繪制都是有其提供。MongoDB在該技術系統中起到數據持久層的功用,同時也為用戶對網絡圖的修改和擴展提供依據。

圖1 網絡圖技術組成及信息流動

4、技術實現

4.1、JUNG編程實現

本文使用MyEclips7.0作為開發環境,采用JUNG2.0.1作為網絡圖開發低層庫。其中JUNG包可以在SourceForge下載。

JUNG包中包含所有需要的Jar文件,將其解壓到一個目錄中即可。在MyEclipse中在建立的工程所在的目錄下使用Configure Build Path 菜單命令激活“library”選項卡,然后使用“Add External JARS”按鈕將JUNG包中Jar文件全部設為系統類庫。這樣在工程中建立的網絡圖生成系統就可以訪問JUNG所提供的方法和數據了。

JUNG有4個基礎類是編程重點:Graph、Layout、Renderer和VisualizationViewer。要建立網絡關系圖編程,則需求建立一個Graph對象,然后建立Layout和Renderer對象,同Layout和Renderer對象創建VisualizationViewer對象。具體代碼片段如下:

SparseMultigraphg = new SparseMultigraph();

g.addVertex("1");

g.addVertex("2");

g.addVertex("3");

g.addEdge("Edge-A","1", "2");

g.addEdge("Edge-B", "2","3",EdgeType.DIRECTED);g.addEdge("Edge-C", "4", "5");System.out.println("The graph g = " + g.toString());

Layoutlayout =new CircleLayout(g);

BasicVisualizationServervv = new BasicVisualizationServer(layout);

this.getContentPane().add(vv);

this.pack(); this.setVisible(true);

……

上面給出了繪制網絡圖的最基本方法,其功能是繪制出頂點和邊,其效果如圖3所示。圖3是在上面代碼基礎上加入了鼠標監聽、用戶交換等功能。

4.2、MongoDB數據庫連接

網絡圖的生成需要大量數據的交互和存儲,為此,本文研究設計的網絡圖生成技術系統采用了MongoDB數據,下面給出的代碼是利用Java語言連接MongoDB的一種方式。

//Mongo對象

mongo = new Mongo();

//類似數據庫的選擇數據庫

db = mongo.getDB(dbName);

//類似選擇表

dbc = db.getCollection(collName);……

數據庫連接好后,在繪圖過程中需要對數據庫進行維護,即查詢、刪除和插入等操作。

4.3、結果展示

圖2給出的是一個可以進行編輯的網絡圖的繪制過程,首先可以通過鼠標向圖板上(平面繪圖窗口)繪制網絡節點,然后將相關聯的節點連接,可以定義邊的方向。系統可以自動給出邊的長度,對于這個長度可以根據實際問題進行更改,或者調整頂點的位置改變邊長。系統是根據頂點間的距離作出的估算。頂點的信息和邊的信息被自動存儲到MongoDB數據庫中。

圖2 手動繪制網絡圖效果

下面給出的演示程序時根據鄰接矩陣定義網絡圖的結構。鄰接矩陣如下:

圖3 繪制給定鄰接矩陣網絡圖

該圖按照給定的矩陣進行繪制,并計算出相應邊的距離,運算后得出的結論如下所示:

Vertices:2,4,9,8,6,1,3,7,5,0

Edges:3[9,6] 7[6,3] 2[4,0] 0[2,5]17[0,7] 1[4,4] 6[8,0] 10[3,9] 5[8,9]13[5,8] 15[0,6] 9[1,5] 11[3,0] 4[8,2]8[1,2] 12[7,1]

The shortest unweighted path from 0 to 9 is:

[6, 5]

………

從而可以明確,該技術系統目前雖然比較簡單,但具有了一般網絡圖生成系統的特性和可擴展性,結合的節點計算、權值估計等算法也運行良好。

5、結束語

本文根據JUNG開源框架提供豐富的接口和數據以及MongoDB數據庫靈活的操作方式和動態查詢模式,研究設計了網絡圖生成系統,不僅可以繪制用戶參與的網絡圖繪制也可以實現讀取鄰接矩陣進行自動繪制。這樣的網絡圖繪制技術系統可以應用到多種工程和軍事仿真領域,通過同領域知識相結合可以產生更加復雜和多變的網絡圖系統。

[1]http://sourceforge.net/projects/jung/files/

[2]JUNG 官方網站, http://jung.sourceforge.net/applet/index.html.

[3]網樹禾. 圖論[M]. 北京:科學出版社.2004

[4]張先迪, 李正良. 圖論及其應用[M].北京:高等教育出版設.2005

Network-Graph Gerneration System Based on JUNG Framework and MongoDB

Wang Rui1XU Jie2
1. School of Electronic Science and Engineering, NUDT, Changsha 410073, China;2. Institute of Information Engineering, NUDT, Changsha 410073, China)

As the emergence of massdata, and the prevalence of web-based architecture, traditional relational database performs incompetently in database management and visualization. JUNG is an open framework based on Java, it could enable network graph easily, and combine the algorithms like classification, the shortest path algorithm and maxflow algorithm. MongoDB is a open source database,and provides Java package. A network-graph generation technology is designed in the paper that using both JUNG and MongoDB. The tests demonstrate the technology operates quickly and stably and could generate the network graphs, which coulddeal with the data processing and visualization in fields as commerce, finance and military.

10.3969/j.issn.1001-8972.2011.02.043

王銳(1983-),男,山東郯城人,學員,從事基于文本數據庫的社會網絡分析法研究。

JUNG框架;MongoDB數據庫;網絡圖生成技術;可視化

猜你喜歡
可視化數據庫系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于CGAL和OpenGL的海底地形三維可視化
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
主站蜘蛛池模板: 日韩二区三区无| 中文无码毛片又爽又刺激| 国产一区成人| 国产在线观看人成激情视频| 国产精品污视频| 日韩在线播放中文字幕| 久青草国产高清在线视频| 婷婷亚洲视频| 中国丰满人妻无码束缚啪啪| 欧美亚洲国产精品第一页| 日韩高清中文字幕| 狠狠五月天中文字幕| 亚洲欧美不卡| 欧美激情综合| 色婷婷啪啪| 色综合天天操| 色偷偷一区二区三区| 97精品久久久大香线焦| 国产中文一区a级毛片视频| 免费一级大毛片a一观看不卡| 亚洲中文精品人人永久免费| 第一页亚洲| 69av在线| 永久免费无码日韩视频| 日韩精品一区二区深田咏美| 亚洲福利网址| 91久久青青草原精品国产| 亚洲精品无码人妻无码| 无码粉嫩虎白一线天在线观看| 青青国产成人免费精品视频| 天天干天天色综合网| 精品一區二區久久久久久久網站 | 国产精品午夜电影| www.99在线观看| 国产成人一区| 国产精品人莉莉成在线播放| 欧美人与性动交a欧美精品| 国产99视频精品免费视频7| 超清无码熟妇人妻AV在线绿巨人| 国产无吗一区二区三区在线欢| 日本亚洲成高清一区二区三区| 小13箩利洗澡无码视频免费网站| 91探花在线观看国产最新| 亚洲第七页| 99re66精品视频在线观看| 激情爆乳一区二区| 精品国产香蕉在线播出| 视频一本大道香蕉久在线播放| 国产微拍一区| 国产经典三级在线| 久久精品国产电影| 欧美综合中文字幕久久| 97久久人人超碰国产精品| 久久国产亚洲欧美日韩精品| 本亚洲精品网站| 国产乱人视频免费观看| 成人欧美日韩| 欧美日韩导航| 免费三A级毛片视频| 国产麻豆另类AV| 2021国产精品自拍| 亚洲成a人片77777在线播放| 亚洲福利视频一区二区| 996免费视频国产在线播放| 久久婷婷色综合老司机| 国产亚洲精品无码专| 精品色综合| 毛片久久久| 91精品国产情侣高潮露脸| 四虎永久在线精品国产免费| 欧美精品亚洲日韩a| 国产精品欧美日本韩免费一区二区三区不卡| 久久男人资源站| 亚卅精品无码久久毛片乌克兰| 成人第一页| 无码不卡的中文字幕视频| 中国国产一级毛片| 午夜精品久久久久久久无码软件| 青青国产视频| 成人免费午夜视频| 国产综合在线观看视频| 亚洲天堂视频网|