《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于WAMP的遠(yuǎn)程醫(yī)療咨詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于WAMP的遠(yuǎn)程醫(yī)療咨詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
來源:微型機(jī)與應(yīng)用2013年第19期
郭泉成,劉 鈺,劉 紅,雷長(zhǎng)海
(第二軍醫(yī)大學(xué),上海 200433)
摘要: 探討遠(yuǎn)程醫(yī)療咨詢系統(tǒng)的功能、結(jié)構(gòu)、設(shè)計(jì)及關(guān)鍵實(shí)現(xiàn)技術(shù)。系統(tǒng)基于WAMP架構(gòu)開發(fā)應(yīng)用,綜合運(yùn)用頁(yè)面靜態(tài)化技術(shù)與緩存技術(shù),大大減輕服務(wù)器端數(shù)據(jù)讀取壓力,提高了系統(tǒng)的響應(yīng)速度,對(duì)各類醫(yī)療咨詢系統(tǒng)構(gòu)建有普遍推廣價(jià)值。
Abstract:
Key words :

摘  要: 探討遠(yuǎn)程醫(yī)療咨詢系統(tǒng)的功能、結(jié)構(gòu)、設(shè)計(jì)及關(guān)鍵實(shí)現(xiàn)技術(shù)。系統(tǒng)基于WAMP架構(gòu)開發(fā)應(yīng)用,綜合運(yùn)用頁(yè)面靜態(tài)化技術(shù)與緩存技術(shù),大大減輕服務(wù)器端數(shù)據(jù)讀取壓力,提高了系統(tǒng)的響應(yīng)速度,對(duì)各類醫(yī)療咨詢系統(tǒng)構(gòu)建有普遍推廣價(jià)值。
關(guān)鍵詞: 遠(yuǎn)程醫(yī)療;咨詢系統(tǒng);WAMP

 隨著現(xiàn)代醫(yī)療技術(shù)信息化應(yīng)用的發(fā)展進(jìn)步,部隊(duì)廣大官兵渴求通過網(wǎng)絡(luò)享受到醫(yī)院專家教授們優(yōu)質(zhì)的醫(yī)療建議與服務(wù),為此開發(fā)了基于WAMP的遠(yuǎn)程醫(yī)療咨詢系統(tǒng),平臺(tái)依托政工網(wǎng)開發(fā)建設(shè),以信息化手段為廣大官兵宣傳健康知識(shí)、在線答疑解惑。實(shí)踐表明,該系統(tǒng)拓展了醫(yī)院的服務(wù)功能,有效提高了醫(yī)院服務(wù)質(zhì)量,官兵不需要遠(yuǎn)行便可問診一線城市知名專家,既避免經(jīng)濟(jì)浪費(fèi)又享受到了高效優(yōu)質(zhì)的醫(yī)療服務(wù)。系統(tǒng)的推廣為合理使用信息化資源服務(wù)部隊(duì)官兵,履行姓軍為戰(zhàn)使命任務(wù)發(fā)揮了示范作用。
1 WAMP技術(shù)
 WAMP是在Windows服務(wù)器上使用Apache、MySQL和PHP(AMP)的集成安裝環(huán)境,可以快速安裝配置Web服務(wù)器,搭建動(dòng)態(tài)網(wǎng)站或服務(wù)器開源軟件[1-3]。AMP擁有良好的兼容度,配置環(huán)境友好,搭建測(cè)試環(huán)境方便,集成使用可組建起強(qiáng)大的Web應(yīng)用程序平臺(tái)。PHP混合了C、Java、Perl以及自創(chuàng)的語法,既可將程序嵌入HTML文檔中執(zhí)行,還可執(zhí)行編譯后代碼和優(yōu)化代碼運(yùn)行,可以用C、C++進(jìn)行程序擴(kuò)展,支持幾乎所有流行的數(shù)據(jù)庫(kù)以及操作系統(tǒng)。MySQL數(shù)據(jù)庫(kù)的核心線程是完全多線程化,支持多種平臺(tái)、多處理器運(yùn)行;通過高度優(yōu)化的類庫(kù)實(shí)現(xiàn)SQL函數(shù)庫(kù),支持聚合函數(shù),可以在同一查詢中使用不同的數(shù)據(jù)庫(kù)表?;赪AMP的設(shè)計(jì)實(shí)現(xiàn)能夠?yàn)檫h(yuǎn)程醫(yī)療咨詢系統(tǒng)提供快速、高效、穩(wěn)定的技術(shù)支持。
2 系統(tǒng)架構(gòu)設(shè)計(jì)
 系統(tǒng)架構(gòu)設(shè)計(jì)是遠(yuǎn)程醫(yī)療咨詢系統(tǒng)設(shè)計(jì)的一項(xiàng)重要工作,根據(jù)系統(tǒng)的具體情況:醫(yī)院科室多、專家教授數(shù)量大、即時(shí)咨詢與在線留言交互頻繁、管理端與用戶端對(duì)實(shí)時(shí)查詢?cè)L問速度要求高等功能需求,醫(yī)療咨詢系統(tǒng)采用表示層、邏輯層及數(shù)據(jù)層3層結(jié)構(gòu)以B/S模式分層設(shè)計(jì)。表示層負(fù)責(zé)內(nèi)容展示,在線交互,用戶在線注冊(cè)、信息管理、在線咨詢、提問評(píng)論、問題反饋等,同時(shí)按規(guī)則建立安全邏輯,確保信息傳輸?shù)奈ㄒ恍浴㈦[私性;邏輯層是表示層與數(shù)據(jù)層的橋梁,通過獲取表示層發(fā)起的請(qǐng)示,操作數(shù)據(jù)層進(jìn)行數(shù)據(jù)傳遞,將數(shù)據(jù)層返回的數(shù)據(jù)信息傳遞至表示層;數(shù)據(jù)層定義、協(xié)調(diào)數(shù)據(jù)的安全性、完整性、負(fù)責(zé)對(duì)邏輯層數(shù)據(jù)訪問進(jìn)行響應(yīng),該層由數(shù)據(jù)庫(kù)服務(wù)器實(shí)現(xiàn),如MySQL等。
3 PHP+MySQL在醫(yī)療咨詢系統(tǒng)中的應(yīng)用
3.1系統(tǒng)模塊設(shè)計(jì)

 遠(yuǎn)程醫(yī)療咨詢系統(tǒng)包括人員信息管理子系統(tǒng)、內(nèi)容管理子系統(tǒng)、留言咨詢管理子系統(tǒng)、信息安全子系統(tǒng)。如圖1所示,其中人員信息管理子系統(tǒng)包括管理在線用戶注冊(cè)、個(gè)人信息的修改、站內(nèi)好友的互動(dòng),在線值班員登錄及信息處理、基本信息維護(hù),專家教授的圖文信息、醫(yī)療專長(zhǎng)、值班時(shí)間安排,系統(tǒng)管理員對(duì)站內(nèi)人員分組管理、人員登錄情況管理、過程監(jiān)督管理等功能;留言咨詢管理子系統(tǒng)包括管理用戶在線實(shí)時(shí)咨詢管理、站內(nèi)留言咨詢的發(fā)布,值班員可對(duì)咨詢問題指派答疑科室,科室專家進(jìn)行在線答復(fù),提問者在線評(píng)分,按分?jǐn)?shù)、熱度等標(biāo)準(zhǔn)進(jìn)行消息推薦等功能;內(nèi)容管理子系統(tǒng)包括對(duì)系統(tǒng)欄目進(jìn)行定制、欄目?jī)?nèi)容發(fā)布的管理,對(duì)來訪者文章評(píng)論的管理、根據(jù)健康知識(shí)的訪問熱度及當(dāng)前社會(huì)醫(yī)療的關(guān)注點(diǎn)等指標(biāo)進(jìn)行內(nèi)容推薦等功能;信息安全管理子系統(tǒng)實(shí)現(xiàn)對(duì)用戶分組的封閉性管理,人員及問答信息錄入、維護(hù)審核機(jī)制,個(gè)人隱私控制系統(tǒng),通過內(nèi)置防水墻分析系統(tǒng)數(shù)據(jù),實(shí)時(shí)過濾垃圾信息,對(duì)灌水等惡意行為自動(dòng)運(yùn)行回收站機(jī)制,避免由于違規(guī)信息而導(dǎo)致網(wǎng)站停運(yùn),減輕運(yùn)營(yíng)管理壓力。

3.2信息管理系統(tǒng)
 靜態(tài)頁(yè)面是指在服務(wù)器端僅含HTML以及JS,CSS等客戶端運(yùn)行腳本的頁(yè)面,它是由客戶端提出訪問頁(yè)面請(qǐng)求,WEB服務(wù)器確認(rèn)并載入后將該頁(yè)面以包的形式傳遞回瀏覽器。因靜態(tài)頁(yè)面無需解析和連接數(shù)據(jù)庫(kù)便直接發(fā)送數(shù)據(jù),可大大減輕服務(wù)器壓力、提高服務(wù)器負(fù)載能力,大幅提升頁(yè)面打開速度和網(wǎng)站整體打開速度。信息管理子系統(tǒng)關(guān)注的是新聞、公告、健康知識(shí)類的信息,此類信息一經(jīng)上傳后往往修改頻率不高,為滿足高并發(fā)瀏覽與SEO優(yōu)化的需求,利用PHP模板替換方法對(duì)該類信息實(shí)現(xiàn)頁(yè)面靜態(tài)化,就是使網(wǎng)站指定信息頁(yè)面以靜態(tài)HTML的形式展現(xiàn)在訪客面前,系統(tǒng)后臺(tái)核心操作中建立整欄目與單模塊更新、部分更新與單條更新相結(jié)合的方法實(shí)現(xiàn)靜態(tài)化生成控制。頁(yè)面靜態(tài)化功能圖如圖2所示。關(guān)鍵代碼如下:

<?php
header(Content-type:text/html;charset=utf-8);
function file_get_con($filename){//模板讀取函數(shù)
$fp=fopen($filename,r);
$content=fread($fp,filesize($filename));
fclose($fp);
return $content;
}
$ filename = template.html;//模板樣式
$cont=file_get_con($filename);//讀取模板文件內(nèi)容
$title=title;$text=text;
$cont=str_replace(<{title}>,$title,$cont);
$cont=str_replace(<{text}>,$text,$cont);
//將模板變量text,title替換為文章內(nèi)容,文章標(biāo)題
WriteHtml(20030601001.html,$cont);
//寫入生成后的靜態(tài)文件內(nèi)容到news.html文件
Function WriteHtml($file,$cont){
$fp=fopen($filename,w);
fwrite($fp,$cont);
fclose($fp);}
?>
3.3 留言咨詢子系統(tǒng)
 留言咨詢子系統(tǒng)是遠(yuǎn)程醫(yī)療咨詢系統(tǒng)的核心功能,包括在線留言和即時(shí)咨詢兩大功能,即時(shí)咨詢主要采用即時(shí)通信工具引用技術(shù)使注冊(cè)用戶與在線值班員、值班醫(yī)生進(jìn)行在線即時(shí)交流,優(yōu)點(diǎn)是實(shí)時(shí)、高效,缺點(diǎn)在于同一時(shí)刻只能進(jìn)行單一交流,咨詢問題不能進(jìn)行數(shù)據(jù)留存,工作成果無法存儲(chǔ)數(shù)據(jù)實(shí)現(xiàn)資源共享。在線留言系統(tǒng)的引入解決了以上不足,注冊(cè)用戶可以向站內(nèi)指定醫(yī)院的某科室某專家提出問題,由值班員協(xié)調(diào)相關(guān)的專家教授對(duì)問題進(jìn)行答復(fù),因使用該功能將接受大量操作過程對(duì)數(shù)據(jù)系統(tǒng)的查詢、讀寫請(qǐng)求,為使網(wǎng)站運(yùn)行能夠滿足高并發(fā)性需求,引入了PHP中的Memcached緩存技術(shù)。
 Memcache是高性能分布式內(nèi)存緩存服務(wù)器,通過緩存數(shù)據(jù)庫(kù)查詢結(jié)果,減少數(shù)據(jù)庫(kù)訪問次數(shù),以提高動(dòng)態(tài)Web應(yīng)用的速度。它使用“Key=>Value”方式組織數(shù)據(jù),可允許不同主機(jī)上多個(gè)用戶同時(shí)訪問該緩存系統(tǒng),一般用于大型網(wǎng)站使用。Memcached使用內(nèi)存緩存數(shù)據(jù),當(dāng)PHP等客戶端與Memcached服務(wù)建立連接之后,其存取對(duì)象實(shí)際上是放置在內(nèi)存中的,并非保存在cache文件中,因此可以減少數(shù)據(jù)庫(kù)連接、查詢操作,減輕了數(shù)據(jù)庫(kù)負(fù)載,提高了腳本的運(yùn)行速度,實(shí)現(xiàn)更加高效的系統(tǒng)效果。其核心代碼如下:
<?php
require_once(′memcached-client.php′);
//包含memcached類文件
$options=array(
′servers′=>array(′192.168.104.68′),
′debug′=>true,
′compress_threshold′=>5120,
′persistant′=>false);
//服務(wù)地址、數(shù)據(jù)壓縮、連接等選項(xiàng)設(shè)置
$memcached=new memcached($options);
$sqlstr=′select*from table_ask′;
$key=md5($sql);
//若無緩存數(shù)據(jù),把緩存數(shù)據(jù)寫入memcached
if(!($datas=$memcached->get($key)))
{
$conn=mysql_connect(′localhost′,′jkws′,′jkws123′);
mysql_select_db(′hxsd′);
$result=ms_query($sqlstr);
$datas[]=ms_object($result)
//將結(jié)果集數(shù)據(jù)保存以供下次使用。
$memcached->add($key,$datas);
}
else{//使用緩存數(shù)據(jù)$datas}
?>

 


 本文針對(duì)醫(yī)療咨詢系統(tǒng)運(yùn)行過程中交互頻繁和讀取服務(wù)器信息數(shù)據(jù)量大的特點(diǎn),設(shè)計(jì)并實(shí)現(xiàn)了基于WAMP的遠(yuǎn)程醫(yī)療咨詢系統(tǒng)。靜態(tài)化方法與緩存技術(shù)的應(yīng)用對(duì)減輕服務(wù)器壓力、提高咨詢服務(wù)質(zhì)量提供了強(qiáng)有力的技術(shù)支持,大大節(jié)約了硬件資源投入,縮短了開發(fā)時(shí)間與成本,使系統(tǒng)具有較強(qiáng)的可維護(hù)性與可擴(kuò)展性,對(duì)各類醫(yī)療咨詢系統(tǒng)的建立與維護(hù)具有較好的借鑒價(jià)值。
參考文獻(xiàn)
[1] DAVID LANE[美].PHP & MYSQL WEB數(shù)據(jù)庫(kù)應(yīng)用開發(fā)指南[M].南京:東南大學(xué)出版社,2006.
[2] 邵煜.PHP和MYSQL WEB開發(fā)[M].北京:機(jī)械工業(yè)出版社,2005.
[3] NARAMORE[美].PHP5、APACHE、MYSQL網(wǎng)絡(luò)開發(fā)[M].北京:電子工業(yè)出版社,2005.
[4] 郭泉成,雷長(zhǎng)海.基于.NET的醫(yī)學(xué)實(shí)驗(yàn)室監(jiān)控平臺(tái)設(shè)計(jì)[J].數(shù)字通信,2011(05):77-80.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。