《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于WAMP的远程医疗咨询系统的设计与实现
基于WAMP的远程医疗咨询系统的设计与实现
来源:微型机与应用2013年第19期
郭泉成,刘 钰,刘 红,雷长海
(第二军医大学,上海 200433)
摘要: 探讨远程医疗咨询系统的功能、结构、设计及关键实现技术。系统基于WAMP架构开发应用,综合运用页面静态化技术与缓存技术,大大减轻服务器端数据读取压力,提高了系统的响应速度,对各类医疗咨询系统构建有普遍推广价值。
Abstract:
Key words :

摘  要: 探讨远程医疗咨询系统的功能、结构、设计及关键实现技术。系统基于WAMP架构开发应用,综合运用页面静态化技术与缓存技术,大大减轻服务器端数据读取压力,提高了系统的响应速度,对各类医疗咨询系统构建有普遍推广价值。
关键词: 远程医疗;咨询系统;WAMP

 随着现代医疗技术信息化应用的发展进步,部队广大官兵渴求通过网络享受到医院专家教授们优质的医疗建议与服务,为此开发了基于WAMP的远程医疗咨询系统,平台依托政工网开发建设,以信息化手段为广大官兵宣传健康知识、在线答疑解惑。实践表明,该系统拓展了医院的服务功能,有效提高了医院服务质量,官兵不需要远行便可问诊一线城市知名专家,既避免经济浪费又享受到了高效优质的医疗服务。系统的推广为合理使用信息化资源服务部队官兵,履行姓军为战使命任务发挥了示范作用。
1 WAMP技术
 WAMP是在Windows服务器上使用Apache、MySQL和PHP(AMP)的集成安装环境,可以快速安装配置Web服务器,搭建动态网站或服务器开源软件[1-3]。AMP拥有良好的兼容度,配置环境友好,搭建测试环境方便,集成使用可组建起强大的Web应用程序平台。PHP混合了C、Java、Perl以及自创的语法,既可将程序嵌入HTML文档中执行,还可执行编译后代码和优化代码运行,可以用C、C++进行程序扩展,支持几乎所有流行的数据库以及操作系统。MySQL数据库的核心线程是完全多线程化,支持多种平台、多处理器运行;通过高度优化的类库实现SQL函数库,支持聚合函数,可以在同一查询中使用不同的数据库表。基于WAMP的设计实现能够为远程医疗咨询系统提供快速、高效、稳定的技术支持。
2 系统架构设计
 系统架构设计是远程医疗咨询系统设计的一项重要工作,根据系统的具体情况:医院科室多、专家教授数量大、即时咨询与在线留言交互频繁、管理端与用户端对实时查询访问速度要求高等功能需求,医疗咨询系统采用表示层、逻辑层及数据层3层结构以B/S模式分层设计。表示层负责内容展示,在线交互,用户在线注册、信息管理、在线咨询、提问评论、问题反馈等,同时按规则建立安全逻辑,确保信息传输的唯一性、隐私性;逻辑层是表示层与数据层的桥梁,通过获取表示层发起的请示,操作数据层进行数据传递,将数据层返回的数据信息传递至表示层;数据层定义、协调数据的安全性、完整性、负责对逻辑层数据访问进行响应,该层由数据库服务器实现,如MySQL等。
3 PHP+MySQL在医疗咨询系统中的应用
3.1系统模块设计

 远程医疗咨询系统包括人员信息管理子系统、内容管理子系统、留言咨询管理子系统、信息安全子系统。如图1所示,其中人员信息管理子系统包括管理在线用户注册、个人信息的修改、站内好友的互动,在线值班员登录及信息处理、基本信息维护,专家教授的图文信息、医疗专长、值班时间安排,系统管理员对站内人员分组管理、人员登录情况管理、过程监督管理等功能;留言咨询管理子系统包括管理用户在线实时咨询管理、站内留言咨询的发布,值班员可对咨询问题指派答疑科室,科室专家进行在线答复,提问者在线评分,按分数、热度等标准进行消息推荐等功能;内容管理子系统包括对系统栏目进行定制、栏目内容发布的管理,对来访者文章评论的管理、根据健康知识的访问热度及当前社会医疗的关注点等指标进行内容推荐等功能;信息安全管理子系统实现对用户分组的封闭性管理,人员及问答信息录入、维护审核机制,个人隐私控制系统,通过内置防水墙分析系统数据,实时过滤垃圾信息,对灌水等恶意行为自动运行回收站机制,避免由于违规信息而导致网站停运,减轻运营管理压力。

3.2信息管理系统
 静态页面是指在服务器端仅含HTML以及JS,CSS等客户端运行脚本的页面,它是由客户端提出访问页面请求,WEB服务器确认并载入后将该页面以包的形式传递回浏览器。因静态页面无需解析和连接数据库便直接发送数据,可大大减轻服务器压力、提高服务器负载能力,大幅提升页面打开速度和网站整体打开速度。信息管理子系统关注的是新闻、公告、健康知识类的信息,此类信息一经上传后往往修改频率不高,为满足高并发浏览与SEO优化的需求,利用PHP模板替换方法对该类信息实现页面静态化,就是使网站指定信息页面以静态HTML的形式展现在访客面前,系统后台核心操作中建立整栏目与单模块更新、部分更新与单条更新相结合的方法实现静态化生成控制。页面静态化功能图如图2所示。关键代码如下:

<?php
header(Content-type:text/html;charset=utf-8);
function file_get_con($filename){//模板读取函数
$fp=fopen($filename,r);
$content=fread($fp,filesize($filename));
fclose($fp);
return $content;
}
$ filename = template.html;//模板样式
$cont=file_get_con($filename);//读取模板文件内容
$title=title;$text=text;
$cont=str_replace(<{title}>,$title,$cont);
$cont=str_replace(<{text}>,$text,$cont);
//将模板变量text,title替换为文章内容,文章标题
WriteHtml(20030601001.html,$cont);
//写入生成后的静态文件内容到news.html文件
Function WriteHtml($file,$cont){
$fp=fopen($filename,w);
fwrite($fp,$cont);
fclose($fp);}
?>
3.3 留言咨询子系统
 留言咨询子系统是远程医疗咨询系统的核心功能,包括在线留言和即时咨询两大功能,即时咨询主要采用即时通信工具引用技术使注册用户与在线值班员、值班医生进行在线即时交流,优点是实时、高效,缺点在于同一时刻只能进行单一交流,咨询问题不能进行数据留存,工作成果无法存储数据实现资源共享。在线留言系统的引入解决了以上不足,注册用户可以向站内指定医院的某科室某专家提出问题,由值班员协调相关的专家教授对问题进行答复,因使用该功能将接受大量操作过程对数据系统的查询、读写请求,为使网站运行能够满足高并发性需求,引入了PHP中的Memcached缓存技术。
 Memcache是高性能分布式内存缓存服务器,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度。它使用“Key=>Value”方式组织数据,可允许不同主机上多个用户同时访问该缓存系统,一般用于大型网站使用。Memcached使用内存缓存数据,当PHP等客户端与Memcached服务建立连接之后,其存取对象实际上是放置在内存中的,并非保存在cache文件中,因此可以减少数据库连接、查询操作,减轻了数据库负载,提高了脚本的运行速度,实现更加高效的系统效果。其核心代码如下:
<?php
require_once(′memcached-client.php′);
//包含memcached类文件
$options=array(
′servers′=>array(′192.168.104.68′),
′debug′=>true,
′compress_threshold′=>5120,
′persistant′=>false);
//服务地址、数据压缩、连接等选项设置
$memcached=new memcached($options);
$sqlstr=′select*from table_ask′;
$key=md5($sql);
//若无缓存数据,把缓存数据写入memcached
if(!($datas=$memcached->get($key)))
{
$conn=mysql_connect(′localhost′,′jkws′,′jkws123′);
mysql_select_db(′hxsd′);
$result=ms_query($sqlstr);
$datas[]=ms_object($result)
//将结果集数据保存以供下次使用。
$memcached->add($key,$datas);
}
else{//使用缓存数据$datas}
?>

 


 本文针对医疗咨询系统运行过程中交互频繁和读取服务器信息数据量大的特点,设计并实现了基于WAMP的远程医疗咨询系统。静态化方法与缓存技术的应用对减轻服务器压力、提高咨询服务质量提供了强有力的技术支持,大大节约了硬件资源投入,缩短了开发时间与成本,使系统具有较强的可维护性与可扩展性,对各类医疗咨询系统的建立与维护具有较好的借鉴价值。
参考文献
[1] DAVID LANE[美].PHP & MYSQL WEB数据库应用开发指南[M].南京:东南大学出版社,2006.
[2] 邵煜.PHP和MYSQL WEB开发[M].北京:机械工业出版社,2005.
[3] NARAMORE[美].PHP5、APACHE、MYSQL网络开发[M].北京:电子工业出版社,2005.
[4] 郭泉成,雷长海.基于.NET的医学实验室监控平台设计[J].数字通信,2011(05):77-80.

此内容为AET网站原创,未经授权禁止转载。