Started to write relative desigen document for my NMS system.First of all,
I should make a summary of topological discovery.
Network management has already become the key of network system. The automatic
topological discovery of network is the precondition of network management, analysis of
performance and localization of fault. With the enlargement of the network size, the
topological structure Of the network layer can't reflect the connecting relation between the
network devices accurately. So, according to the protocol SNMP, ICMP and relevant MIB
information, this text proposes a new and effective automatic topology discovery algorithm
for Ethernet. The algorithm is based on theorem for determining the connection between two
Ethernet devices. Compared with other approaches to Ethernet topology discovery, this
algorithm doesn't require all network devices to support SNMP and it is more efficient and
practical. The experimental result demonstrates that the algorithm can construct the
physical topology of IP network fast and exactly.
先把文檔的綱要寫下來,然后按這個思路寫。
沒有文檔等于沒有積累,所以我們必須重視文檔。
綱要
一、 引言
1. 目的;
2. 縮略詞及術語。
二、 總體設計
1. 思路以及發現方式說明;
2. 算法說明,附流程圖和時序圖。
三、 設備和鏈路的發現方法
1. 一個IP的判別流程
2. 基于路由的發現;
3. 基于子網的發現;
4. 基于通用算法的鏈路發現,即由間接連接推導出直接連接;
5. 基于STP的鏈路發現;
6. 基于CDP的鏈路發現。
7. 關于IP定位問題
四、 總結(后續工作)
待深入研究的問題。
通過學習,對什么是BI以及OLAP,在概念上有了明確的認識。
商業智能(BI)是通常被理解為將企業中現有的數據轉化為知識,幫助企業做出明智決策的軟件解決方案。它包含以下技術:
數據集市(Data Mart)和數據倉庫(Data Warehouse, DW);
用戶查詢和報表(Query & Reports);
聯機分析處理(On-Line Analytical Processing, OLAP),也稱為多維分析;
數據挖掘(Data Mining);
關鍵績效指標(KPI);
分析型應用(Analytic Application)。
前段時間下載了openi,部署安裝后跑不起來,今天有空專門下載了
mondrian。
本來想用mysql作為數據源,可FoodMartCreateData.sql導入mysql會出錯,不知這個
SQL適合哪種數據庫。只好用odbc連接那個access文件,總算安裝成功了,呵呵。
不知為何用mondrian這個名字,也許跟tomcat和catalina一樣吧。
Mondrian, 蒙得里安·皮特1872-1944荷蘭畫家,作品以交錯的三原色為基色的垂直
線條和平面為特點,他的著作包括 新造型主義(1920年),對抽象藝術的發展曾經產
生很深影響。(金山詞霸)
Mondrian是一個用Java寫成的OLAP(在線分析性處理)引擎。它用MDX語言實現查詢
,從關系數據庫(RDBMS)中讀取數據。然后經過Java API用多維的方式對結果進行展示。
Mondrian面向ROLAP包含4層:表示層、計算層、聚集層、存儲層。
● 表示層:指最終呈現在用戶顯示器上的以及與用戶之間的交互,有許多方法來展現多維數據,
包括數據透視表、餅、柱、線狀圖。
● 計算層:分析、驗證、執行MDX查詢。
● 聚集層:一個聚集指內存中一組計算值(cell),這些值通過維列來限制。計算層發送單元請求,
如果請求不在緩存中,或者不能通過旋轉聚集導出的話,那么聚集層向存儲層發送請求。聚合層
是一個數據緩沖層,從數據庫來的單元數據,聚合后提供給計算層。聚合層的主要作用是提高系
統的性能。
● 存儲層:提供聚集單元數據和維表的成員。包括三種需要存儲的數據,分別是事實數據、聚集和維。
OLAP客戶端
JPivot是JSP風格的標簽庫,用來支持OLAP表,使用戶可以執行典型的OLAP操作,如切片、切塊、
上鉆、下鉆等。JPivot使用Mondrian服務器,分析結果可以導出為Excel或PDF文件格式。


完整開源BI解決方案
1.Pentaho
它是一個以流程為中心的、面向解決方案的框架,具有商務智能組件。BI 平臺是以流程為中心的,其中樞控制器是一個工作流引擎。工作流引擎使用流程定義來定義在 BI 平臺上執行的商務智能流程。流程可以很容易被定制,也可以添加新的流程。BI 平臺包含組件和報表,用以分析這些流程的性能。BI 平臺是面向解決方案的,平臺的操作是定義在流程定義和指定每個活動的 action 文檔里。這些流程和操作共同定義了一個商務智能問題的解決方案。這個 BI 解決方案可以很容易地集成到平臺外部的商業流程。一個解決方案的定義可以包含任意數量的流程和操作。
BI平臺包括一個 BI 框架、BI 組件、一個 BI 工作臺和桌面收件箱。BI 工作臺是一套設計和管理工具,集成到Eclipse環境。這些工具允許商業分析人員或開發人員創建報表、儀表盤、分析模型、商業規則和 BI 流程。Pentaho BI 平臺構建于服務器、引擎和組件的基礎之上,包括J2EE 服務器、安全與權限控制、portal、工作流、規則引擎、圖表、協作、內容管理、數據集成、多維分析和系統建模等功能。這些組件的大部分是基于標準的,可使用其他產品替換之。
2.ObjectWeb
該項目近日發布了SpagoBi 1.8版本。SpagoBi 是一款基于Mondrain+JProvit的BI方案,能夠通過OpenLaszlo產生實時報表,為商務智能項目提供了一個完整開源的解決方案,它涵蓋了一個BI系統所有方面的功能,包括:數據挖掘、查詢、分析、報告、Dashboard儀表板等等。SpagoBI使用核心系統與功能模塊集成的架構,這樣在確保平臺穩定性與協調性的基礎上又保證了系統具有很強的擴展能力。用戶無需使用SpagoBI的所有模塊,而是可以只利用其中的一些模塊。
SpagoBI使用了許多已有的開源軟件,如Spago和Spagosi等。因此,SpagoBI集成了 Spago的特征和技術特點,使用它們管理商務智能對象,如報表、OLAP分析、儀表盤、記分卡以及數據挖掘模型等。SpagoBI支持BI系統的監控管理,包括商務智能對象的控制、校驗、認證和分配流程。SpagoBI采用Portalet技術將所有的BI對象發布到終端用戶,因此BI對象就可以集成到為特定的企業需求而已經選擇好的Portal系統中去。
3.Bee
該項目是一套支持商務智能項目實施的工具套件,包括ETL工具和OLAP 服務器。Bee的ETL工具使用基于Perl的BEI,通過界面描述流程,以XML形式進行存儲。用戶必須對轉換過程進行編碼。Bee的ROLAP 服務器保證多通SQL 生成和強有力的高速緩存管理(使用MySQL數據庫管理系統)。ROLAP服務器通過SOAP應用接口提供豐富的客戶應用。Web Portal作為主要的用戶接口,通過Web瀏覽器進行報表設計、展示和管理控制,分析結果可以以Excel、PDF、PNG、PowerPoint、 text和XML等多種形式導出。
Bee項目的特點在于:
● 簡單快捷的數據訪問;
● 支持預先定義報表和實時查詢;
● 通過拖拽方式輕松實現報表定制;
● 完整報表的輕松控制;
● 以表和圖進行高質量的數據展示。
開源ETL工具
1.CloverETL是一個Java的ETL框架,用來轉換結構化的數據,支持多種字符集之間的轉換(如ASCII、UTF-8和ISO-8859-1等);支持JDBC,同時支持dBase和FoxPro數據文件;支持基于XML的轉換描述。
2.Octupus是一個基于Java的ETL工具,它也支持JDBC數據源和基于XML的轉換定義。Octupus提供通用的方法進行數據轉換,用戶可以通過實現轉換接口或者使用Jscript代碼來定義轉換流程。
開源OLAP客戶端
JPivot是JSP風格的標簽庫,用來支持OLAP表,使用戶可以執行典型的OLAP操作,如切片、切塊、上鉆、下鉆等。JPivot使用Mondrian服務器,分析結果可以導出為Excel或PDF文件格式。
開源OLAP服務器
1.Lemur主要面向HOLAP,雖然采用C++編寫,但是可以被其他語言的程序所調用。Lemur支持基本的操作,如切片、切塊和旋轉等基本操作。
2.Mondrian面向ROLAP包含4層:表示層、計算層、聚集層、存儲層。
● 表示層:指最終呈現在用戶顯示器上的以及與用戶之間的交互,有許多方法來展現多維數據,包括數據透視表、餅、柱、線狀圖。
● 計算層:分析、驗證、執行MDX查詢。
● 聚集層:一個聚集指內存中一組計算值(cell),這些值通過維列來限制。計算層發送單元請求,如果請求不在緩存中,或者不能通過旋轉聚集導出的話,那么聚集層向存儲層發送請求。聚合層是一個數據緩沖層,從數據庫來的單元數據,聚合后提供給計算層。聚合層的主要作用是提高系統的性能。
● 存儲層:提供聚集單元數據和維表的成員。包括三種需要存儲的數據,分別是事實數據、聚集和維。
(經網上資料整理后)
OLAP(在線分析處理)這個名詞是在1993年由E.F.Codd提出來的。OLAP專門用于支持復雜的分析操作,側重對決策人員和高層管理人員的決策支持,可以應分析人員要求快速、靈活地進行大數據量的復雜查詢處理,并且以一種直觀易懂的形式將查詢結果提供決策人員。
1993年,E.F.Codd 將這類技術定義為OLAP。鑒于Codd 關系數據庫之父的影響。OLAP 的提出引起了很大反響,OLAP作為一類產品同OLTP明顯區別開來。
Codd提出OLAP的12條準則來描述OLAP系統:
* 準則1 OLAP模型必須提供多維概念視圖
* 準則2 透明性準則
* 準則3 存取能力推測
* 準則4 穩定的報表能力
* 準則5 客戶/服務器體系結構
* 準則6 維的等同性準則
* 準則7 動態的稀疏矩陣處理準則
* 準則8 多用戶支持能力準則
* 準則9 非受限的跨維操作
* 準則10 直觀的數據操縱
* 準則11 靈活的報表生成
* 準則12 不受限的維與聚集層次
OLAP產品不少,本文將主要涉及Cognos(Powerplay)、Hyperion (Essbase)、微軟(Analysis Service)以及MicroStrategy幾大廠商的產品。
單純從成本角度考慮,微軟的產品算是最能節省成本的,Cognos和MicroStrategy則在同一水平線,都比微軟貴一些。而Hyperion (Essbase)產品比較獨立,也曾占有美國OLAP市場最大的份額,其產品價格又要更高一些。
從市場份額來看,就國外的市場報告分析,微軟、Cognos、Hyerion三家占據主流。在國內,目前還沒有權威的市場報告,如果僅從所接觸到的項目來看的話,用Cognos的很多,買Essbase的也不少。這些年都是一些大企業建設BI項目,有足夠的預算,多選用Cognos、Essbase;而Microstrategy,進入中國不算早,這幾年在政府、金融行業也頗有建樹。
若論開發應用,微軟的產品向來以友好的用戶界面著稱,上手迅速。在OLAP產品上,微軟依然發揚了這一優良傳統,并有進一步標準化的趨勢,開發了OLE DB for OLAP以及MDX(Multi-Dimensional Express多維表達式);參與XMLA(XML for Analysis)規范制定,也是想作為OLAP服務器和前端分析應用的數據傳輸標準。
而Cognos以桌面OLAP開始,一直以輕便、快捷的操作聞名。所謂桌面OLAP,是可以用客戶端將cube下載到本地進行訪問。雖然Poweplay早已演變成C/S結構的OLAP服務器,但其輕便的特點還是延續下來,而且提供可以簡潔部署且具有交互性的PowerPlay Web Explorer界面。從互聯網上,我們可以很快搜索出許多基于PowerPlay Web的分析應用。
Essbase作為老牌的OLAP服務器,是一個比較復雜的產品。所謂復雜,有兩層意思,一是提供了豐富的API,讓你可以充分定制開發;二是開發的難度較大,部署起來不容易。這也是國內很多用戶難以將這個產品用好的一大原因。
比較Essbase和Powerplay,會發現截然相反的兩個特點:Essbase的復雜和Powerplay的簡潔。對于這兩者,單獨說哪一種更好都不夠客觀,因為當你抱怨Essbase繁雜的接口時,也有人在抱怨Powerplay的定制功能怎么如此之少。這種情形其實跟這兩種產品的定位有關,Essbase比較專注于高性能的多維存儲服務,而Powerplay則更專注于快捷的多維訪問。換句話講,Essbase之于Powerplay正像專業相機之于傻瓜相機,在選哪一個更好的問題上,不同的人肯定有不一樣的答案。
當然,如果你想在找復雜和簡潔之間找一個中間者,我想微軟的 Analysis Service就是這樣的產品。不過要注意的是,這個產品和SQL Server綁定得比較緊,這是微軟的一貫策略。
根據多維數據存儲的位置,OLAP一般分為MOLAP(Multi-Dimensional OLAP)和ROLAP(Relational OLAP)兩種,此外,還有混合的HOLAP(Hybrid OLAP)。rolap 中的r是relational的意思,使用關系數據庫RDBMS,所以性能的更多是靠RDBMS的性能和技巧,ROLAP支持更多的用戶和數據量,ROLAP將多維數據庫的多維結構劃分為兩類表:一類是事實表,用來存儲數據和維關鍵字(外鍵);另一類是維表,每個維至少使用一個表來存放維的層次,所謂的'"星型模式"就是指維表和事實表通過主關鍵字和外關鍵字聯系在一起。對于層次復雜的維,為避免冗余數據占用過大的存儲空間,可以使用多個表來描述, 這種星型模式的擴展稱為“雪花模式”。
rolap和molap的比較:
rolap使用現有的RDBMS,相對容易建模和控制。相應速度比MOLAP慢,數據裝載的速度快,儲存空間小,沒有文件大小的限制,數據庫可以做很多優化.
molap性能好,反映速度快,但是建模的難度很大,而且無法支持維度的動態變化,文件大小有限制,沒有象關系型數據庫那樣有標準的訪問接口比如JDBC,ODBC之類的。
HOLAP 是混合OLAP。
DOLAP 是 Desktop的OLAP , 應用不是很廣,了解一下就夠了。
其中, Cognos的Powerplay、Hyperion 的Essbase和微軟的Analysis Service這些產品都是MOLAP產品。這類產品將數據從關系數據庫(甚至是文本文件、Excel文件)中抽取出來,存儲在自己的數據庫中。這種數據庫跟平常我們所見的Oracle、DB2這類關系數據庫不同之處在于,它是專有格式的,且沒有標準的訪問接口。因此,這些產品如何實現多維存儲也都不盡相同,大致的原理是以編程語言中多維數組的方式存放數據。度量值存放在數組的單元格中,而數組每個維就對應一個維度,其中,維元素就維的坐標。
可以想象,多維數據庫的單元格跟維度、維元素的多少有莫大關系,而隨著維度增加,數據庫也迅速膨脹。因此,對于MLOAP產品,多維存儲的存儲空間、性能自然是比較關鍵的。Essbase在這方面提供很多優化工作,但有時候也會顯得過于復雜。Powerplay也提供某些選項,諸如cube分區等,這是比較簡單的優化方法。
OLAP產品的核心功能是提供多維存儲,另外就是能夠將OLAP訪問操作轉換為對數據的請求并返回,這些OLAP訪問操作大多是用戶通過前端發出的,因此要考慮OLAP產品能夠和哪些前端工具對接。
Cognos Powerplay是個相對封閉的產品,它有自己的客戶端和Web Explorer,你也甭想著用其他前端來訪問它。Hyperion和微軟都采用開放式接口,提供豐富的訪問API,第三方可以用這些API訪問其數據庫。上文曾提到微軟開發的MDX和參與的XMLA(XML for Analysis)規范,事實上,一些第三方的前端工具正是基于這樣的標準和OLAP產品對接,比如可以用BO WebI連接Essbase。更有甚者,微軟的服務器還提供用MDX來查詢多維數據,就像用SQL來訪問關系數據庫一樣。
誠然,這看起來的確比較酷,但有一點也要明確:目前雖然有XMLA、MDX這樣的標準,但還不是非常成熟,且并非唯一標準。所以即使有第三方前端工具訪問這些OLAP服務器,但只能說是多了一些選擇,真正在前端功能上,并不能保證比封閉結構更豐富。
如果說OLAP產品市場幾乎都被MOLAP占領,那么,有一家公司肯定不同意,那就是MicroStrategy,它幾乎是目前唯一一家還占據一定市場份額的ROLAP產品。這是一件非常奇怪的事情,從第一個ROLAP產品Metaphor到Metacube、WhiteLight、MicroStrategy,這些獨立的ROLAP廠商似乎都是難以生存下去,只有MicroStrategy堅挺到現在。究竟是它的產品厲害,還是市場做得到位?目前還不得而知。
從原理上講,ROLAP將數據存放在關系數據庫中,當然要求關系模型要非常嚴格,比如要遵循星型模式或雪花模式,才能定義出維度、度量、事實表、聚集表等元數據。但這樣就增加了部署的難度,并且如果聚集表構建得不好,最后的訪問性能就難以保證。恐怕這也是ROLAP難以生存下去的原因吧。
目前,很多OLAP產品都會混合MOLAP和ROLAP,特別是那些本身就做關系數據庫的廠商,在現有數據庫上面增加一些ROLAP的特性并不困難。IBM在與Essbase終止OEM合同之后,推出一個名為CubeViews的產品,就可以說是一個ROLAP產品。
雖然國內市場上已經涌現出這么多產品,但實際上,OLAP并沒有被廣泛接受,即使在已經建設BI系統好幾年的電信行業也是如此。


User from GDPLN asked me to add a feature of receiving syslog.SourceView1.0 possesses of that,
but it is just very simple. I improved syslog module those days by imitating EventLogAnalyzer.