数据存储层:数据库采用Mysql数据库,文件等则存储在硬盘内。
系统的业务流程设计
系统的总体流程如下:
图 4-3 系统总体流程
如图所示:
1:App调用科大讯飞语音识别,将用户的语音流发送到科大讯飞。
2:科大讯飞解析出文字返回到App端。
3:App通过WebView控件加载Robot网站,并利用网站提供的JavaScript入口与网站交互,将科大讯飞识别出的文字发送给网站。
4:Robot网站将接收到的文字封装成Api。ai语义理解平台需要的格式,发送给Api。ai。
5:Api。ai网站将识别的结果返回给网站,网站解析出结果决定下一步是调用药品查询服务、百度服务或者是图灵的服务。
6:Robot网站将Api。ai返回的结果原封不动的发送给药品查询服务。
7:药品查询服务根据数据中的参数进行具体的查询,如:药品的价格查询、功效查询等。
6’:Robot网站将Api。ai返回数据中的必要的数据提取出并传输给百度服务。
7’:百度服务返回用户查询的结果。
6”:Robot网站将科大讯飞语音识别出的文字直接发送给图灵机器人服务。
7”:图灵机器人返回用户查询的数据
8:Robot网站接收到各服务返回的数据并进行组织后,使用Ajax呈现在界面,新的界面会在App中呈现。
数据库设计
数据库设计概述
数据库设计对系统的总体设计影响很大,优秀的数据库设计可以简化系统的业务流程,提高系统的运行效率,本章将对数据库的设计进行详细的阐述。
数据库的设计遵循5个范式,一般而言,数据库的设计达到第三范式的标准就可以称之为一个合格的设计,所谓的第三范式即为首先应该遵循第二范式,其次非主键列必须直接依赖于主键而不能存在传递依赖,但数据库设计是否合格的标准也要遵循其业务的需求,具体而论。
系统采用Mysql数据库,与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL有不足的地方,如规模小、功能有限等,但Mysql综合统一、高度非过程化、面向集合的操作方式、语法结构提供多种使用方式、语言简洁,易学易用,使它深受好评,对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
整个系统用到数据库的部分有用户信息、用户查询记录和药品的信息。可将这些信息设计成如下的表结构:
E-R图
1。用户信息(用户编号,用户姓名,用户密码,用户邮箱,用户头像)
图 4-4 用户信息E-R图
2。用户查询记录(记录编号,查询内容,查询时间,查询用户,查询来源)
图 4-5 查询记录E-R图
3。药品信息(药品编号,药品名称,药品价格,药品品牌,药品规格参数,药品类型,药品功效,药品副作用,药品服用说明)
图 4-6 药品信息E-R图
4。查询记录与用户的关系
图 4-7 查询记录与用户信息E-R图
注:带直下划线表示主键,带波浪下划线表示带有唯一约束。
逻辑结构设计
表robotuser的结构如表4-1:
表 4-1 robotuser数据库表的结构
字段名 数据类型 长度 主键 非空 描述
id INT