林莉莉
摘 要:網絡交流方式的多樣性是當今時代發展的顯著特點,論壇交流是當前網民普通交流和獲取信息的主要通道之一,面對互聯網中涌現出的針對各種行業的網絡論壇,如何對其進行合理有效監管,是當前對網絡論壇研究的熱點之一。因此,開發一個管理論壇發帖、回帖、針對關鍵字查詢、對論壇用戶進行分析的論壇信息管理系統非常必要。
關鍵詞:論壇 SSH框架 系統設計
中圖分類號:TP393 文獻標識碼:A 文章編號:1672-3791(2016)10(a)-0011-02
該文采用當下流行的J2EE技術,在MyEclipse的基礎上,結合SSH框架對論壇系統進行了詳細設計,主要包括系統功能設計、系統功能模塊結構設計、數據庫設計以及處理流程設計。
1 系統功能設計
論壇信息管理系統主要實現了論壇信息抓取、信息查詢、用戶行為分析以及系統管理4個模塊,每個大模塊又各自包含了其中的子功能模塊。首先,該文結合數據挖掘以及正則表達式設計了一個簡單的網頁爬蟲,對某論壇的網頁布局進行了分析,以完成對論壇的發帖、回帖以及用戶信息的檢索,并按照固定的格式將它們存儲于數據庫中,以便于后續對論壇信息的管理和分析。然后在信息查詢模塊中,可以分別對用戶發帖信息、回帖信息進行管理,根據時間、用戶名、發帖地址以及回帖信息進行查詢,并可以查詢得到的查詢記錄詳情和得到帖子的詳細內容以及url等信息。同時根據系統管理模塊中添加的關鍵字,在關注信息模塊中,得到所有包含關鍵字的帖子,用戶信息模塊則可以查詢所有用戶相關信息,也可以根據用戶名以及用戶的職業進行查詢。
在一個完善的系統中,安全的系統登錄和管理功能是必不可少的,因此在系統管理中添加了賬戶管理功能,對系統管理員用戶的用戶名、密碼進行增加、修改、查詢以及刪除操作,同時,為了防止數據庫中泄露管理員的密碼,該系統對管理員用戶的密碼進行了MD5加密,在數據庫中只能看到加密后的密文,只有系統管理員才能對所有用戶的用戶名和密碼進行管理。同時,該系統還對部分管理員進行了權限設置,通過用戶名為sa的系統管理員可以添加其他管理員用戶,而其他管理員用戶只能對自己進行管理。
2 系統架構設計
論壇信息管理系統開發周期較短,需求復雜多樣,對系統的穩定性、擴展性和可維護性要求較高。該系統充分借鑒J2EE分布式體系結構,結合Struts、Spring、Hibernate進行開發。這樣的設計可以使系統開發模式化,能夠生成結構嚴謹、規范有效的應用程序。各項業務按照功能模塊細化拆分,然后由系統整體的配置文件實現對所有業務流程的具體控制和調用,以此實現業務邏輯與用戶界面的分離,降低了系統的耦合度,同時也提高了系統的可移植性和可維護性。按照上述開發思路和技術要求,基于SSH架構的論壇信息系統分為3層,頁面表現層、業務邏輯層以及數據持久層。
在該系統中,Struts主要負責在Struts.xml中對信息查詢、用戶行為分析、系統管理等每個模塊對應的頁面與后臺之間提供交互,包括查詢結果、明細信息、頁面維護等,即展現層的頁面處理,如頁面上查詢條件的選擇,通過jsp頁面中的action到相應的Struts.xml中找到相應的java類,然后處理完后返回到對應的網頁。Struts主要控制了邏輯的處理。
在論壇信息管理系統中,Strtus容器負責處理用戶請求,提供業務邏輯控制功能,通過各種action的頁面處理,與展現層相連接;Spring容器提高了Javabean的松耦合性,通過控制反轉和依賴注入,提供了對論壇信息處理系統的輕量級的處理;Hibernate容器對JDBC進行了封裝,從而對頁面得到的各種論壇信息數據進行處理。
3 數據庫設計
數據庫是論壇信息管理系統的信息基地,它包含發帖信息、回帖信息、用戶信息、管理員信息、關鍵字信息以及與用戶信息中地點相關的全國省市表,同時包括用戶單位時間內發帖的視圖、用戶單位時間內回帖的視圖、用戶異常信息的視圖等。這些數據之間有各種直接或間接的對應關系,系統的每個功能模塊都需要操作一個或多個數據實體,如用戶信息對象,用戶發帖信息對象用戶回帖信息對象等,下面具體介紹一下該系統用到的幾個重要的數據實體。
3.1 發帖信息對象
發帖信息對象包括id、發帖時間、用戶名、國家、省份、城市、url、語言、主題、帖子內容、tid、帖子狀態、關鍵字等屬性。
3.2 回帖信息對象
回帖信息對象包括id、回帖時間、用戶名、國家、省份、城市、url、語言、帖子內容、tid、帖子狀態、關鍵字等屬性。
3.3 用戶信息對象
用戶信息對象包括用戶名、密碼、職業、創建時間、uid等屬性。
3.4 管理員信息
管理員對象包括id、是否有效、創建時間、修改時間、用戶名、密碼等屬性。
3.5 關鍵字信息
關鍵字對象比較簡單,只包含id,關鍵字兩個屬性。
3.6 地址映射信息
地址映射信息主要包括中國主要省、省內地級市以及部分國外城市對應的映射表,它包含國家、省份、城市屬性。
4 處理流程設計
論壇信息管理系統分為論壇信息抓取以及后臺的信息查詢、用戶行為分析和系統管理幾個模塊。
4.1 論壇信息抓取流程
從論壇主頁的頁面中獲取每個論壇版塊的網址,并將它們存入容器中,對容器中每個論壇版塊進行遍歷,然后在各版塊頁面獲得每個帖子的名稱、鏈接等信息。通過網址鏈接到每個帖子的網頁,在頁面上獲得帖子的信息,即每個發帖和回帖的標題信息、用戶名、時間以及帖子內容,并通過區分帖子樓數來區分發貼和回帖,同時獲得在頁面中需要獲得用戶信息,即用戶名、職業、注冊時間等。在這個過程中,還需要根據頁面的頁數來確定該版塊或者帖子頁面有幾頁,是否需要對鏈接的下一頁繼續處理。最后將獲得的發貼信息、回帖信息以及用戶信息根據固定的格式存入數據庫,以便于信息查詢模塊、用戶行為分析模塊以及系統管理模塊的處理。
4.2 信息查詢流程
對于發帖信息查詢模塊和回貼信息查詢模塊,系統管理員可以根據用戶名,發帖時間、用戶地址等查詢每個帖子的用戶名、發帖時間、發帖標題,以及回帖人的用戶名、回帖內容、回帖時間等信息,同時,當點擊某一條記錄后,可以看到該記錄的詳細信息,包括帖子url,帖子主題、注冊時間、詳細內容等。在某一條記錄的最后一列,還可以針對該記錄對應的用戶,將該發帖或者回帖加入特殊名單,則該用戶所有的發帖或者回帖都會變成紅色,方便系統管理員進行管理,當查詢完畢后,也可點擊退出,則該用戶發帖或者回帖恢復成正常顏色。
4.3 用戶行為分析流程
用戶行為分析包括活躍用戶模塊、異常用戶模塊以及輿論領袖模塊,主要根據用戶名查詢用戶的活躍度、異常度以及關注度,查詢結果根據相應參數進行排序,每條查詢結果點擊則可以獲取其詳細記錄。
4.4 系統管理流程
系統管理分為關鍵字管理與賬戶管理兩個模塊,管理員可以對關鍵字進行增加、刪除、修改以及查詢操作,帳戶管理模塊負責對系統管理員的增加、刪除、修改以及查詢操作,同時增加了對系統管理員的簡單權限處理,如果當前登錄用戶為sa,則可以對所有系統管理員用戶進行管理,如果是其他用戶,只可以對自己進行管理。
5 算法設計
對于一個規范的論壇系統,主頁包含著各種不同的版塊頁面,對一個版塊頁面又包含每條帖子的目錄,如精品帖、普通帖等,一般按照回復時間排序,對一個帖子又可以根據連接訪問其帖子頁面,帖子頁面包含各條回復(現在網絡中一般對于每條回復稱為幾樓,發帖人又被稱為樓主),因此對于這樣一個樹狀結構,人們常采用的檢索辦法是廣度優先搜索算法和深度優先搜索算法。鑒于該系統主要是對論壇中的發帖和回帖進行抓取,而搜索部分的實現則是在數據庫中進行簡單查詢,所有的帖子節點都必須被存儲,故兩種算法的空間復雜度相同,都為O(|V|+|E|),其中|V|是帖子節點的數目,而|E|是上圖中邊的數目。而從程序的結構性考慮,從主頁根據版塊地址往下進行深度優先遍歷更容易實現,故該系統采用的是深度優先遍歷算法,將論壇中的所有帖子進行存儲。
6 論壇信息數據的實時更新
對于論壇信息數據的實時更新,該系統采用的是每10 min進行重新抓取,在每次抓取數據時,會在數據庫中進行存儲當時的系統時間,下次抓取時則對當前系統時間與之前時間進行比較,對帖子頁面中最后一樓的時間進行分析,若大于之前時間,就進行存儲,若小于則返回版塊頁面繼續遍歷。
該文從系統的整體結構、模塊層次結構、系統架構、數據庫、處理流程以及算法等幾個方面給出了相應的設計。主要對論壇信息抓取、信息查詢、用戶行為分析、系統管理進行了分析和設計,實現了論壇對各種信息的全方位管理。
參考文獻
[1] 中國互聯網信息中心.第31次中國互聯網絡發展狀況統計報告[J].互聯網天地,2013(10):74-91.
[2] 李科.論網絡論壇的發展對中國公共政策的影響[J].現代商貿工業,2009,24(8):239-243.
[3] 肖晨陽.一種互聯網輿情監控軟件實現[J].電腦知識與技術,2012,8(12):8177-8179.
[4] 王雪.基于Struts+Spring+Hibernate 框架的企業培訓管理系統的設計與實現[D].吉林大學,2012.
[5] 錢雪忠,羅海馳,陳國俊,等.數據庫原理及技術課程設計[M]. 北京:清華大學出版社,2009:67.
[6] 薛華成.管理信息系統[M].5版.北京:清華大學出版社,2007:43.
[7] 張玉峰,王志芳.基于內容相似性的論壇用戶社會網絡挖掘[J].情報雜志,2010,29(8):125-130.