APP下载

基于主动推送的专家咨询系统开发

2015-04-29武大愚王志华

智能计算机与应用 2015年2期
关键词:数据库

武大愚 王志华

摘 要: 在互联网快速发展的局势下,借助不同领域专家知识可以快速解决工作中遇到的问题。本文在查阅大量资料的基础上,根据专家咨询系统要求,构建了咨询系统三层架构及系统结构,定义了数据表和数据操作流程,完成了结构设计和功能模块划分,建立了各数据库实体联系图和逻辑结构。采用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-),女,山西大同,本科,工程师,主要研究方向:

猜你喜欢

数据库
超星数据库录入证
本刊加入数据库的声明
数据库
数据库
数据库
两种新的非确定数据库上的Top-K查询
数据库
数据库
数据库
数据库