摘 要:隨著互聯網的推廣和應用,網絡媒介已成為反映社會輿情的主要載體之一。本文主要研究基于CORBA技術設計網絡輿情監測系統中的構件,要求構件模型不僅滿足分布式應用系統的需求,而且要高度簡約、抽象。首先構建網絡輿情監測系統的主要的功能和模塊,其次利用UML類圖對構件模型進行分析和設計,最后利用UML建模語言提取類圖,用VisiBroker開發實現構件,并且對構件協調問題提出了解決方案。
關鍵詞:CORBA;構件;網絡輿情監測系統
中圖分類號:TP393.09 文獻標識碼:A 文章編號:1674-7712 (2014) 10-0000-01
一、CORBA構件技術
CORBA(Common Object Request Broker Architecture)是由OMG(Object Management Group)提出的一種開放的、分布式對象計算結構,它是構件技術模型化的標準。目前,在構件技術實現模型標準化方面還有Microsoft公司的COM/DCOM(Distributed Component Object Model)、OMG組織的CORBA、SUN公司的Enterprise Java Bean.與后兩者相比較,CORBA構件技術提供了具有優良的可集成性、發散和擴展性,具備良好的對象間相互交換數據和發現服務的機制,其系統框架非常適合實現簡單地組裝和擴充構件拼合出規模較大的分布式應用系統。
二、基于構件的網絡輿情監測系統總體設計
網絡輿情監測系統的主要功能是整合互聯網信息及信息智能處理,通過對互聯網海量信息自動抓取、自動分類聚類、主題檢測、專題聚焦,實現用戶的網絡輿情監測和新聞專題追蹤等信息需求,形成簡報、報告、圖表等分析結果,為客戶全面掌握群眾思想動態,做出正確輿論引導,提供分析依據。
本文設計的輿情監測系統主要包括四個模塊:(1)輿情信息采集,全面精準采集各大搜索引擎、新聞門戶、BBS、博客、留言版和多種即時通訊軟件系統的輿情信息,是系統數據的來源;(2)輿情信息處理,運用事件跟蹤檢測技術,分析管理輿情信息,同時具有輿情立案、辦案和結案三方面的處理功能。(3)主管決策,主要功能是滿足決策者對網絡輿情的審批、查詢、統計需求,輔助決策者審批網絡輿情;(4)維護管理,包括系統換膚、數據庫、用戶管理等功能的各種維護。
三、網絡輿情監測系統中構件的類型
在系統開發過程中的首要工作就是對構件模型進行分析和設計,我們把獲得的構件分為五大類:
第一類為身份驗證控件。它對應系統的權限管理,功能單一,提供統一的用戶接口完成登錄用戶身份的核對、權限的賦予、賬號的管理及用戶狀態的監測。
第二類為系統界面構件。它具有絕對獨立性,僅提供一些用戶接口的構造、圖形界面的展示、提示信息的處理等功能,被動的與協調/控制構件或領域構件進行完成信息交互。
第三類為協調/控制構件。它的內部設計有完整的業務處理功能,對外提供了大量的用戶接口參數。具體實現了輿情監測及處理系統中的收案、案件處理、結案、決策評定、信息統計、業務分流等功能,并監測系統運行的狀態,對系統的異常情況及時進行警示和處理。
第四類為領域構件。它是按照功能范圍進行劃分的構件,其復用和可擴展程度是整個系統中最高的。
第五類為數據操縱構件。所有與數據庫或其它數據源有關的存取操作均有此控件來完成。它利用參數傳遞的方式接受領域控件的指令并反饋響應信息。
四、網絡輿情監測系統中的構件實現
(一)UML建模語言
UML(Unified Modeling Language)是一種以面向對象技術為基礎的、圖形化的、可轉化成程序代碼描述的建模軟件,是一種概念清晰、表達到位、功能全面且跨平臺適用的標準語言,它涵蓋了軟件發展過程中的新思想和新技術。
(二)UML類圖的提取
為得到具有實用功能的構件,首先必須分析利用UML提取系統中的各種類,最終得到類圖。系統設計初始階段,利用用例圖來描述解決用戶需求問題。然后利用常態圖和行為圖來描述用例圖內部的邏輯流程,在順序圖構造的過程中同時完成類的提取操作,對系統中的概念和各種對象及其之間關系的解釋工作需要UML類圖來完成,交互圖解決了系統運行過程中類或對象協調工作的問題。各種模型圖之間的輸入關系如圖1所示:
(三)構件實現
構件開發工具是基于Delphi平臺下的的VisiBroker程序組。利用VisiBroker的IDL2PAS編譯器可以編譯產生客戶端的存根(Stub)以及服務器端的結構框架(Skeleton)程序代碼,進而書寫對應的業務邏輯規則及控制編碼。
構件的組裝策略如下:(1)基于相關性組裝。將功能上相耦合的一些構件組裝在一個或一組服務器系統中;(2)服務器組裝構件過程中利用ViSiBroker的SmartAgent(智能代理)的負載均衡和容錯能力來平衡構件工作時的資源消耗問題;(3)減少網絡信息傳輸的次數和規模,與網絡處理有關的構件數量不宜過多,功能不宜太過豐富,避免出現網絡延遲和構件運行鎖死的情況。
五、網絡輿情監測系統中構件協調的實現
(一)對線性關系的協調實現
線性關系的產生主要是構件之間動作執行彼此制約,需要一方執行完畢釋放資源后另一方再執行。本文的解決方案:
登錄標志:GCPL;外觀構件標識為:GCPA;登錄動作行為:m;
線性制約關系:GCPL[m>GCPA,工作時GCPA只有在GCPL執行并且成功后,才啟動執行;
對動作執行的時間進行規定,設定時間的上限臨界值Gtmaxwait,要求在規定時間內執行完畢并提交處理結果,如圖2所示:
動作m執行完畢并成功,激發GCPA,動作m執行失敗,系統跳轉異常處理動作。
(二)對爭搶關系的協調實現
隨著系統規模的擴大,單位時間內對資源的使用成指數及增加,但資源本身并無變化,各構件搶奪系統資源,導致惡性競爭出現,最終系統宕機。本文考慮了三種解決方法:
方法一,建立數據倉庫。將所有構件均存放入數據倉庫結構中,并在系統啟動后保證正常運行所需的各種資源的分配,當用戶發出連接或使用申請時,從庫中選取閑置對象或資源,如果無空閑,使用負載均衡調度算法,提供相對閑置的對象進行操作。
方法二,采用基于時間片輪轉或其它方法應用多線程技術。提高服務器本身的處理能力,提高服務器CPU和存儲設備的性能。
方法三,增加數據處理服務器數量。條件允許的情況下擴大服務器的規模,每增加一臺服務器就能使數據處理能力提高兩倍。
(三)對越界關系的協調實現
服務器本身就是一種具有邊界的框架結構,具有容量和包容度。如果構件不斷進行實例化,有可能出現數量和大小超出服務器容量的現象,如果構件的個數、體積超過框架的上限邊界值,越界關系產生。越界關系的協調問題本文的解決方法:建立容量控制計數器,首先確定好容量的單位(個或次),根據系統框架所能容納構件的情況給出臨界上限值。計數器的初始值為容量上限值,每創建一個構件,計數器減1,當計數器值為0時,系統容量耗盡。反之,每釋放一個控件對象,計數器加1,保持同步。
六、結束語
構件技術是通過組裝一系列可復用的軟件構件來構造軟件系統的軟件技術,它不是完整的應用程序,其價值就是實現軟件復用。CORBA構件技術已經實現模型標準化,與其它構件技術如COM/DCOM、JavaBeans相比,它與平臺、語言無關,是一種中間件,非常適合用于解決分布式計算、分布式管理的問題。相信不久的將來,應用程序的開發過程將變成是挑選、適配、組裝構件的過程,勢必使我們軟件產業發展史上新的里程碑。利用軟構件實現軟件復用,將大大節省軟件的開發成本,使整個軟件行業實現工業化。
參考文獻:
[1]楊曉梅,于長云,張冬梅.Java RMI與CORBA在分布式系統開發中的研究[J].天津理工大學學報,2005(08):12-13.
[2]王朝輝,柴躍廷,魯博.CORBA技術在敏捷供應鏈管理系統中的應用[J].計算機工程與應用,2002(03):112-115.
[3]汪蕓.CORBA技術及其應用[M].南京:東南大學出版社,1999.
[4]王來華,劉毅.中國2004年輿情研究綜述[J].新華文摘,2005(18):133-134.
[5]孫少波,王忠民.基于構件的領域分析方法與建模研究[J].電子技術應用,2006.
[作者簡介]降華(1982-),女,碩士研究生,河南化工職業學院信息工程系藝術教研室主任,研究方向:計算機動畫;王雷(1983-),男,碩士研究生,河南化工職業學院應用化學系系黨總支書記,研究方向:計算機應用。