武大愚 王志華
摘 要: 在互聯網快速發展的局勢下,借助不同領域專家知識可以快速解決工作中遇到的問題。本文在查閱大量資料的基礎上,根據專家咨詢系統要求,構建了咨詢系統三層架構及系統結構,定義了數據表和數據操作流程,完成了結構設計和功能模塊劃分,建立了各數據庫實體聯系圖和邏輯結構。采用PHP腳本語言、MySQL數據庫、JSP、HTML和CSS技術,實現了專家咨詢系統基本功能。
關鍵詞:專家咨詢系統;數據庫;動態推送
中圖分類號:TP311 文獻標識號:A 文章編號:2095-2163(2015)02-
Development?of?the?Expert?Consulting?System?based?on? Active?Push
WU Dayu1, WANG Zhihua2
(1 School of Software, Tongji University, Shanghai 200092, China;2 China North General Power Group Co.,Ltd,Datong Shanxi 037036, China)
Abstract: The Internet is developing rapidly. Under this background, people will be able to solve questions in their works quickly with the helping of the expert knowledge within different areas. Based on lots of information and the requirements of the expert consulting system, it builts the three layers of the system and system structure, defines the data table and the process of the operation, completes the design of the structure and the partition of the functional models and bulits the entity relationship diagram and logic structure. Using PHP script language, MySQL Database, JSP, HTML and CSS technology realizes the basic function of the expert consulting system.
Keywords: Expert Consulting System; Database; Dynamic Push
0 引 言
信息科學技術的進步推動了社會經濟的全面發展,網絡技術的普及與應用,加速了各行各業的信息化,同時也引發了傳統技術思想、觀念的變革。特別近幾年來,隨著計算機與網絡技術的飛速發展,基于Web的專家系統[1-4]在機械、計算機、自動控制等領域的研究與應用中顯示出新的活力。本文借鑒國內外咨詢系統的設計理念,基于開源WEB框架[5-6],設計了具有專家主動推送功能的、面向自控工業技術專業領域的專家咨詢系統。
1 咨詢系統架構
專家咨詢系統采用三層分布式體系結構,包括用戶界面層(UI)、業務邏輯層和數據訪問層,如圖1所示。
圖1專家咨詢系統結構
Fig.1 Structure of the expert consulting system
由圖1可知,專家咨詢系統結構中各層級的實現功能可描述如下:
用戶查詢層能實現客戶通過瀏覽器顯示用戶界面,具有表示邏輯,提供了一個可視化的接口,主要作用包括:讀取用戶的輸入;確保業務邏輯層能夠提供所需的業務處理能力,使用戶與應用程序緊密結合起來。領域專家或知識工程師通過該界面輸入知識,更新、完善知識庫,一般用戶通過其輸入欲求解的問題、已知事實以及向系統提問。在服務器接收到用戶請求和所輸入的相關數據后,調用業務邏輯層進行推理分析并把結果傳回客戶端顯示,即再通過其輸出運行結果、回答用戶的問題或向用戶索取進一步的事實。對于不同類別的用戶(如咨詢人員和專家)提供了不同的用戶界面,由位于同一服務器上的不同HTML文件來實現。出于安全性的考慮還進一步設計了基本的身份校驗功能。
業務邏輯層是系統的功能核心部分,具體作用是在接收用戶界面層的請求后調用數據訪問層提供的服務,從知識數據庫讀取相關數據,對用戶輸入的數據進行分析推理;于推理完成后再將結論傳回用戶界面層。該層是聯系用戶和數據服務的“橋梁”。
數據訪問層主要是為業務邏輯層提供服務,即根據邏輯層的請求直接對知識數據庫進行數據提取和修改等底層操作。
2 系統開發工具
2.1 WEB開發語言
系統采用PHP[6-8]作為WEB程序開發工具。PHP(即HyPertext)是一種功能強大、簡便易用的跨平臺的服務器端的嵌入式腳本語言,具有豐富的數據庫操作函數,可以進行當前幾乎所有的數據庫操作,并且能夠訪問目前接近全部的較為流行的數據庫系統。因此,PHP可以與多個外接庫集成,為用戶提供更多的實用功能。具體地,PHP是一種源代碼開放程序,擁有很好的跨平臺兼容性,用戶可以在Windows系統以及許多版本的Unix和Linux系統上運行,PHP使用APache作為WEB服務器,而且可以將其作為APache服務器的內置模塊運行。另外,PHP還具有基本的面向對象組件功能,可以極大地方便用戶有效組織和封裝自己編寫的代碼。
2.2 數據庫開發工具
專家咨詢系統數據庫[9]采用SQLServer,這是一個可擴展的、高性能的、為分布式客戶機/服務器所設計的數據庫管理系統,實現了與Windows系統的良好結合,提供了基于事務的企業級信息管理系統方案。其系統管理先進,支持Windows圖形化管理工具,支持本地和遠程的系統管理和配置,提供強大的事務處理功能,采用各種方法保證數據的完整性,同時支持對稱多處理器結構、存儲過程,并具有自主的結構化查詢語言。
3 咨詢系統設計
3.1 咨詢系統組成
咨詢系統由前臺交互模塊和后臺管理模塊組成,如圖2所示。
圖2咨詢系統組成模塊
Fig.2 Models of the consulting system
咨詢系統的用戶有四類,一是專家,通過該系統為企業提供解決方案;二是企業,通過該系統,在咨詢管理人員的幫助下獲得專家的解答;三是咨詢管理人員,在其幫助下迅速完成高端企業和專家建立互動;最后是網站管理人員,通過后臺對系統進行管理。
咨詢系統功能模塊如圖3所示。前臺錄入負責企業信息收集和分析,包括企業錄入、備份等;專家信息收集模塊,負責專家信息收集和分析,包括專家信息收集,專家信息分析等;智能回答推送模塊,負責對簡單問題的智能回答和對困難問題的智能推送,包括根據知識庫的智能回答,基于企業和專家信息分析的智能推送;企業、專家交流模塊,負責用戶間的交流問題,包括線上SNS即時交流和線下短信郵件交流;后臺系統管理模塊,負責整體網站的管理,包括公共管理和數據管理;以及全部模塊的前臺交互。
圖3系統功能結構
Fig.3 System functional structure
3.2 咨詢系統功能設計
根據咨詢系統需求,提出了咨詢系統組成,按照前臺管理和后臺處理要求,構建了系統功能結構,定義了系統內信息流,設計了前臺交互模塊、專家信息收集模塊、企業信息收集模塊、專家企業交流模塊和后臺管理模塊的功能。
前臺交互模塊如圖4所示,包括用戶注冊、用戶登錄和界面設計。專家信息收集模塊如圖5所示,包括簡歷錄入、簡歷修改、榮譽信息和成功案例信息。
圖4 前臺功能模塊 圖5 專家信息收集模塊
Fig.4 Front-desk functional model Fig.5 Collection model
for experts information
企業信息收集系統模塊如圖6所示,包括企業用戶注冊、登錄、企業用戶信息和系統內互動。后臺管理功能模塊如圖7所示,包括添加用戶、查詢用戶、修改用戶、刪除用戶、修改權限、信息備份與刪除等。
圖6 企業信息收集模塊 圖7 后臺管理功能模塊
Fig.6 Collection model Fig.7 Functional model
for enterprises information of background management
3.3 咨詢系統數據庫設計
企業信息收集模塊數據庫含有5個表,分別為:企業用戶信息表(Enterprise_Profile)、管理員信息表(Admin_Profile)、咨詢管理人員信息表(Consultingmanager_Profile)、企業用戶注冊信息表(Enterprise_Register)、站內信表(Message)。企業信息收集模塊中各實體都包含有不同的屬性,并且實體之間相互關聯,對應的ER圖如8所示。
圖8 企業信息收集數據庫ER圖
Fig.8 ER Diagram of the enterprise information collection database
企業專家交流數據庫的邏輯結構及數據表設計如圖9所示。
圖9 企業專家交流數據邏輯結構
Fig.9 Logical structure of expert communication data in enterprise
后臺管理模塊數據庫的邏輯結構及數據表定義如圖10所示。
圖10 后臺管理數據邏輯結構
Fig.10 Logical structure of background management data
4 結束語
本文建立了咨詢系統的業務模型,定義了系統的前臺交互模塊、專家信息收集模塊、企業專家交互模塊以及后臺處理模塊的功能,建立了專家咨詢系統的用戶查詢、業務邏輯和數據保存的三層架構;完成了咨詢系統各模塊詳細功能設計,建立了前臺交互模塊、專家信息收集模塊、企業專家交互模塊以及后臺處理模塊數據庫的ER圖及其邏輯結構,定義了各數據庫中數據表的詳細信息;實現了咨詢系統的基本功能。本文開發的咨詢系統實現了專家、企業和用戶之間的信息和知識共享,具有主動推送功能。
參考文獻:
[1] 謝坤武,程業勤.基于數據庫技術專家系統的設計與實現[J].湖北民族學院學報(自然科學版),2005,23(2):193-196.
[2] 鄭麗敏.人工智能與專家系統原理及其應用 [M].北京:中國農業大學出版社,2006.
[3] THOMSONJ, WILLOUGHBYL. A web-based expert system for advising on herbicide use in Great Britain[J]. Computers and Electronics in Agriculture,2004,42(1):43-49.
[4] Warren, Michael B, Wagner, Francis G, Ladd, Douglas S, Taylor, Fred W, et al. Expert system development and use in particleboard manufacturing[J]. Forest Products Journal, Madison: Jan 1993. Vol. 43,Iss. 1:47-51.
[5] 鄭建華,陳爾曉.基于MVC模式的多層WEB系統架構設計[J].電腦與電信,2012,(7):43-45.
[6] 滕文.基于MVC模式的PHP程序開發[J].科技視界,2012,(28):55-57.
[7] Jarmoowicz J. Presentation of improvements for PHP programmers, based on symfony framework. Creation of example portal and description of used technology[C]//Modern Problems of Radio Engineering, Telecommunications and Computer Science - Proceedings of the International Conference,Lviv-Slavsko:IEEE,2008.
[8] 仲進平. PHP+MySQL網絡開發技術[M].北京:人民郵電出版社,2000.
[9] 劉宏偉,姚壽廣.數據庫技術在專家系統知識表示中的應用[J].江蘇科技大學學報(自然科學版),2007,21(3):50-53.
1 作者簡介:武大愚(1989-),男,山西大同,碩士研究生,助理經濟師,主要研究方向:軟件工程、企業信息化管理。
王志華(1982-),女,山西大同,本科,工程師,主要研究方向: