譚瑤,趙君君,皮春春(.武漢科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,武漢430065;.武漢科技大學(xué)信息科學(xué)與工程學(xué)院,武漢430065)
基于云平臺(tái)的健康監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與創(chuàng)新
譚瑤1,趙君君1,皮春春2
(1.武漢科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,武漢430065;2.武漢科技大學(xué)信息科學(xué)與工程學(xué)院,武漢430065)
隨著移動(dòng)醫(yī)療熱潮的興起,醫(yī)療產(chǎn)品結(jié)合移動(dòng)智能終端的研發(fā)成了當(dāng)前的研究熱點(diǎn)。美國(guó)是開(kāi)展智能醫(yī)療監(jiān)控方面研究比較早的國(guó)家,最早的應(yīng)用系統(tǒng)應(yīng)用于對(duì)宇航員進(jìn)行無(wú)創(chuàng)生理數(shù)據(jù)監(jiān)測(cè)以及戰(zhàn)場(chǎng)傷病員急救等方面。目前越來(lái)越多的移動(dòng)電子醫(yī)療產(chǎn)品投入商業(yè)應(yīng)用,在監(jiān)護(hù)類(lèi)設(shè)備、運(yùn)動(dòng)類(lèi)裝備(如腕表、鞋類(lèi))以及消費(fèi)產(chǎn)品等領(lǐng)域,已經(jīng)有越來(lái)越多的相關(guān)產(chǎn)品進(jìn)入人們的視野,并擁有一定的用戶(hù)群體。人們可以通過(guò)可穿戴的移動(dòng)醫(yī)療設(shè)備對(duì)自己的基本健康狀況進(jìn)行檢測(cè)并實(shí)時(shí)顯示,同時(shí)這些身體健康狀況的數(shù)據(jù)還可以長(zhǎng)期存儲(chǔ),方便隨時(shí)查詢(xún)和健康狀況的跟蹤分析。
在大數(shù)據(jù)時(shí)代,用戶(hù)對(duì)數(shù)據(jù)處理的要求和精準(zhǔn)度更加多元化。從技術(shù)上看,要求開(kāi)發(fā)人員用更加敏捷的開(kāi)發(fā)流程、更加安全、便捷的數(shù)據(jù)存儲(chǔ)方式、更加高效的數(shù)據(jù)處理方式來(lái)實(shí)現(xiàn)。在開(kāi)發(fā)流程、開(kāi)發(fā)框架、數(shù)據(jù)存儲(chǔ)和處理方面的創(chuàng)新和優(yōu)化,對(duì)于軟件開(kāi)發(fā)來(lái)說(shuō)有著重要意義。
近年來(lái),智能醫(yī)療設(shè)備正在迅速發(fā)展,同時(shí)也涌現(xiàn)出了一些問(wèn)題。智能醫(yī)療數(shù)據(jù)監(jiān)測(cè)系統(tǒng)包括生理數(shù)據(jù)的采集、傳輸、存儲(chǔ)以及分析處理等方面。市場(chǎng)上大多數(shù)智能健康類(lèi)產(chǎn)品是一樣的,缺乏有效的數(shù)據(jù)存儲(chǔ)以及深入的數(shù)據(jù)分析等功能;健康數(shù)據(jù)采集設(shè)備方面的研究大多集中于大型穿戴式檢測(cè)設(shè)備,沒(méi)有將各種采集設(shè)備統(tǒng)一集成起來(lái),對(duì)于用戶(hù)來(lái)說(shuō)不夠便利;隨著互聯(lián)網(wǎng)和無(wú)線通信技術(shù)的發(fā)展,目前關(guān)于數(shù)據(jù)的傳輸技術(shù)更加成熟穩(wěn)定;目前的智能醫(yī)療監(jiān)控系統(tǒng),其數(shù)據(jù)存儲(chǔ)一般都存在本地?cái)?shù)據(jù)庫(kù)中,相對(duì)來(lái)說(shuō)不夠安全和穩(wěn)定。
1.1整體框架
本課題提出的基于云平臺(tái)的健康監(jiān)測(cè)系統(tǒng)的模型如圖1所示。
人體在數(shù)據(jù)采集端通過(guò)傳感器測(cè)得基本體征數(shù)據(jù),通過(guò)藍(lán)牙模塊傳送至移動(dòng)端存儲(chǔ),移動(dòng)端通過(guò)網(wǎng)絡(luò)將數(shù)據(jù)上傳至服務(wù)器。當(dāng)人們需要時(shí),在移動(dòng)終端下載App同步健康檢測(cè)數(shù)據(jù),即可在終端查看數(shù)據(jù)及分析健康情況。
圖1 基于云平臺(tái)的健康監(jiān)測(cè)系統(tǒng)模型
1.2具體功能實(shí)現(xiàn)及分析
(1)硬件端的實(shí)現(xiàn)
硬件端為數(shù)據(jù)采集設(shè)備,通過(guò)相應(yīng)的傳感器實(shí)現(xiàn)體溫、血壓、心率等指標(biāo)的測(cè)量。嵌入式云測(cè)量部分采用飛思卡爾解決方案,電源供電部分采用TI解決方案。其采用SPI總線和下一級(jí)通信,模擬傳感器(紅外溫度傳感器、壓力傳感器),同時(shí)留出接口,便于擴(kuò)展。同時(shí),該MCU負(fù)責(zé)和外界通信,處理前一級(jí)SPI總線傳過(guò)來(lái)的數(shù)據(jù)。
(2)后臺(tái)框架
后臺(tái)使用基于Python的Django REST Framework框架實(shí)現(xiàn),主要提供包括用戶(hù)個(gè)人信息管理、用戶(hù)數(shù)據(jù)管理、家庭關(guān)系管理、健康數(shù)據(jù)訪問(wèn)權(quán)限管理等一系列服務(wù)的API接口。
健康監(jiān)測(cè)系統(tǒng)的后臺(tái)邏輯較為清晰、簡(jiǎn)單,主要目的是處理以數(shù)據(jù)存取為主的與數(shù)據(jù)相關(guān)的全部業(yè)務(wù),提供API給Android端訪問(wèn)。Django REST Framework就是基于Django的REST框架,是一個(gè)集健壯性與彈性于一體的開(kāi)發(fā)框架。選擇Django作為后臺(tái)框架的主要原因是基于其本身的特性——簡(jiǎn)便、快速開(kāi)發(fā)數(shù)據(jù)庫(kù)驅(qū)動(dòng)的應(yīng)用,較為符合本系統(tǒng)的需求。
例如,本系統(tǒng)的用戶(hù)信息表結(jié)構(gòu)如表1所示。
表1 User數(shù)據(jù)庫(kù)表
在數(shù)據(jù)處理方面,Django有自己的一套ORM (對(duì)象關(guān)系映射),即在關(guān)系型數(shù)據(jù)庫(kù)和業(yè)務(wù)實(shí)體對(duì)象間做一個(gè)映射,它提供了比較完善的數(shù)據(jù)庫(kù)操作,明顯降低了學(xué)習(xí)曲線并提高了開(kāi)發(fā)效率。在Django框架中的models.py中定義數(shù)據(jù)庫(kù)代碼如下:
定義好數(shù)據(jù)庫(kù)后,調(diào)用數(shù)據(jù)庫(kù)同步命令即可創(chuàng)建相應(yīng)的表,接下來(lái)可以在views.py中用ORM封裝好的命令對(duì)數(shù)據(jù)庫(kù)進(jìn)行增刪改查等操作。
此外,Django還內(nèi)置了非常便捷的管理應(yīng)用工具——Admin。通過(guò)相應(yīng)的安裝、配置和運(yùn)行后,即可通過(guò)默認(rèn)位置 http://localhost:8000/admin/訪問(wèn)數(shù)據(jù)庫(kù)后臺(tái)管理頁(yè)面,能夠隨時(shí)查看數(shù)據(jù)庫(kù)表、并對(duì)其操作。在admin.py中激活使用代碼如下:
(3)云平臺(tái)
隨著云計(jì)算的提出和發(fā)展,越來(lái)越多的企業(yè)開(kāi)始提供云平臺(tái)服務(wù)。利用云平臺(tái),我們可以低成本、快捷地搭建和部署服務(wù),便捷地管理數(shù)據(jù)庫(kù),實(shí)時(shí)監(jiān)控主機(jī)狀態(tài)。
云平臺(tái)的主要功能是作為服務(wù)器,部署服務(wù)提供API給移動(dòng)端調(diào)用并且接收移動(dòng)端上傳的數(shù)據(jù),使用MySQL數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)。這里MySQL和后臺(tái)處理服務(wù)既可以在同一臺(tái)服務(wù)器,也可以部署在不同的服務(wù)器上,以實(shí)現(xiàn)分布式計(jì)算。
(4)移動(dòng)端的交互
這里我們以Android App為例作為移動(dòng)端實(shí)現(xiàn)和硬件端和云平臺(tái)的交互。
Android App首先通過(guò)藍(lán)牙的串行通訊從硬件端獲取數(shù)據(jù)信息,存儲(chǔ)到本地的數(shù)據(jù)庫(kù)中。
通過(guò)上傳功能,在有網(wǎng)絡(luò)的情況下,將本地?cái)?shù)據(jù)庫(kù)中沒(méi)有上傳的數(shù)據(jù)封裝成JSON格式的字符串,通過(guò)調(diào)用服務(wù)端的API用POST方法上傳到服務(wù)端。服務(wù)端收到POST請(qǐng)求后把JSON格式數(shù)據(jù)解析出來(lái),并寫(xiě)入到數(shù)據(jù)庫(kù)。客戶(hù)端采用增量方式同步,每次通過(guò)API把上次同步的時(shí)間戳傳到客戶(hù)端,同步時(shí)客戶(hù)端根據(jù)時(shí)間戳將之后的數(shù)據(jù)——即尚未同步的數(shù)據(jù)上傳至服務(wù)器。
同時(shí)Android App還要提供UI供用戶(hù)查看健康數(shù)據(jù)信息、健康狀態(tài)分析等其他功能。
2.1引入“家庭”概念,共享健康信息
目前移動(dòng)智能設(shè)備不僅是一種潮流,也是一種需要,我們不僅關(guān)心自己的健康數(shù)據(jù),也關(guān)心家人朋友的健康信息,尤其是老人孩子,如果能夠及時(shí)有效地知曉他們的健康信息,在必要的時(shí)候可以預(yù)防危險(xiǎn)情況的發(fā)生。而在現(xiàn)有的大多數(shù)產(chǎn)品中,只是針對(duì)使用產(chǎn)品的用戶(hù),供其查看自己的信息、分享至社交平臺(tái)等。因此,我們提出建立家庭關(guān)系,與其他用戶(hù)綁定,可以共享他人信息。
通過(guò)建立家庭關(guān)系表來(lái)定義哪些人屬于同一個(gè)“家庭”,通過(guò)建立用戶(hù)數(shù)據(jù)權(quán)限表來(lái)定義每個(gè)用戶(hù)將自己的那些數(shù)據(jù)項(xiàng)公開(kāi)給同屬一個(gè)家庭的用戶(hù),用戶(hù)可以管理個(gè)人關(guān)系和數(shù)據(jù),并在共享數(shù)據(jù)的同時(shí)保護(hù)個(gè)人隱私。
本系統(tǒng)涉及家庭關(guān)系的家庭信息表和數(shù)據(jù)訪問(wèn)權(quán)限信息表如表2、表3所示。
表2 Family數(shù)據(jù)庫(kù)表
2.2收集健康標(biāo)準(zhǔn),給出健康分析
目前的移動(dòng)智能產(chǎn)品大多只是機(jī)械地顯示測(cè)量數(shù)據(jù),而忽略了數(shù)據(jù)本身的意義。我們?yōu)榇颂峁┝梭w溫、血壓、體重等各項(xiàng)數(shù)據(jù)的參考標(biāo)準(zhǔn),測(cè)量得到真實(shí)數(shù)據(jù)后,提示用戶(hù)測(cè)量數(shù)據(jù)處在什么樣的位置,是否可能有健康隱患。例如正常人體腋下體溫值的范圍是[36.0℃,37.0℃]。當(dāng)用戶(hù)測(cè)量得到自己的體溫值是37.5℃時(shí),在Android端顯示真實(shí)數(shù)據(jù)的同時(shí),將給出一個(gè)人體正常體溫的參考指標(biāo),并提示用戶(hù)目前可能處于低熱狀態(tài),最好盡快做進(jìn)一步檢查。
2.3測(cè)量設(shè)備與移動(dòng)端帳號(hào)相互獨(dú)立
將用戶(hù)與硬件端綁定進(jìn)而傳輸數(shù)據(jù)是一種常見(jiàn)的硬件、軟件交互方式,但在這里用戶(hù)獨(dú)占了硬件設(shè)備,不便于設(shè)備分享。為了分離測(cè)量設(shè)備與移動(dòng)端用戶(hù),我們通過(guò)“熱測(cè)量”的方式來(lái)解決該問(wèn)題,測(cè)量時(shí)只需即時(shí)用藍(lán)牙連接測(cè)量設(shè)備,降低了使用成本,更加便捷地實(shí)現(xiàn)了多人共享同一設(shè)備。
2.4利用負(fù)載均衡緩解服務(wù)器壓力
在分布式計(jì)算的基礎(chǔ)上,隨著用戶(hù)量和數(shù)據(jù)量的增加,可能會(huì)帶來(lái)服務(wù)器壓力過(guò)大,處理請(qǐng)求緩慢、超時(shí)等情況。這里還可以使用云平臺(tái)提供的負(fù)載均衡服務(wù)來(lái)提高服務(wù)器的性能和工作負(fù)載能力。目前企業(yè)使用的所謂“負(fù)載均衡服務(wù)器”,實(shí)際上是應(yīng)用系統(tǒng)的一種控制服務(wù)器,所有用戶(hù)的請(qǐng)求由此服務(wù)器分發(fā),根據(jù)各個(gè)實(shí)際處理服務(wù)器狀態(tài)將請(qǐng)求具體分配到某個(gè)實(shí)際處理服務(wù)器中,同時(shí),對(duì)外公開(kāi)的域名與IP地址都是這臺(tái)服務(wù)器。
本文給出了基于云平臺(tái)的健康監(jiān)測(cè)系統(tǒng)的開(kāi)發(fā)設(shè)計(jì),整個(gè)系統(tǒng)綜合運(yùn)用了現(xiàn)在較為流行的技術(shù)手段,開(kāi)發(fā)方法,包括云平臺(tái)相關(guān)技術(shù)、Android開(kāi)發(fā)技術(shù)、Django后臺(tái)開(kāi)發(fā)、MySQL數(shù)據(jù)庫(kù)等,同時(shí)對(duì)現(xiàn)存的問(wèn)題進(jìn)行了分析和優(yōu)化??梢罁?jù)本文實(shí)現(xiàn)健康監(jiān)測(cè)系統(tǒng)的開(kāi)發(fā),具有一定的參考意義。
[1]丘恩(Chun W.J.)著.Python核心編程[M].宋吉廣譯.北京:人民郵電出版社,2008.7.
[2]Brian Hardy,Bill Phillips著.Android編程權(quán)威指南[M].王明發(fā)譯.北京:人民郵電出版社,2004.4.
[3]顧宏明.基于云平臺(tái)的移動(dòng)醫(yī)療健康服務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2012.
Cloud Platform;Mobile Medical;Android
Design and Innovation in Health Monitoring System Based on Cloud Platform
TAN Yao1,ZHAO Jun-jun1,PI Chun-chun2
(1.College of Computer Science and Technology,Wuhan University of Science and Technology,Wuhan 430065;2.College of Information Science and Engineering,Wuhan University of Science and Technology,Wuhan430065)
1007-1423(2016)18-0071-04
10.3969/j.issn.1007-1423.2016.18.017
譚瑤(1994-),女,湖北武漢人,在讀本科,研究方向?yàn)橛?jì)算機(jī)應(yīng)用
趙君君(1994-),男,重慶綦江人,在讀本科,研究方向?yàn)橛?jì)算機(jī)應(yīng)用
皮春春(1993-),男,湖南常德人,在讀本科,研究方向?yàn)镕PGA視頻處理
2016-04-12
2016-06-10
隨著醫(yī)療熱潮的興起,醫(yī)療產(chǎn)品結(jié)合移動(dòng)智能終端的研發(fā)成了當(dāng)前的研究熱點(diǎn)?;谠破脚_(tái)的健康監(jiān)測(cè)產(chǎn)品的應(yīng)用可以讓大眾受益匪淺。該系統(tǒng)通過(guò)硬件傳感設(shè)備測(cè)量人體健康數(shù)據(jù),并通過(guò)藍(lán)牙模塊傳輸至Android智能終端,通過(guò)Android端顯示用戶(hù)測(cè)量信息并將數(shù)據(jù)上傳至云平臺(tái)存儲(chǔ),用戶(hù)可以從云平臺(tái)同步健康信息,通過(guò)設(shè)置分享他人信息。整個(gè)系統(tǒng)綜合運(yùn)用了云平臺(tái)相關(guān)技術(shù)、Android開(kāi)發(fā)技術(shù)、Django后臺(tái)開(kāi)發(fā)和MySQL數(shù)據(jù)庫(kù)。
云平臺(tái);移動(dòng)醫(yī)療;Android
湖北省高等學(xué)校省級(jí)教學(xué)研究項(xiàng)目(No.2012215)
With the rise of intelligent medical,the research and development of medical products combined with intelligent mobile terminal has become the current research focus.The public can benefit a lot from the health monitoring products based on cloud platform.The application measures the data of health indicator through hardware sensors and sends the data to Android terminal through Bluetooth transmission module.Data will display by Android app and will be sent to cloud platform.Users can synchronize health information from the cloud platform and share information with others.The whole system applies the cloud platform related technology,Android development technology,Django background development and MySQL database.