許繼明 ,趙 赫 ,王衛(wèi)東 ,張中賢 ,李曉風(fēng) ,周 桐 ,丁增輝
1(中國科學(xué)院 合肥物質(zhì)科學(xué)研究院,合肥 230031)2(中國科學(xué)技術(shù)大學(xué),合肥 230026)
國民體質(zhì)監(jiān)測系統(tǒng)①
許繼明1,2,趙 赫1,王衛(wèi)東1,張中賢1,李曉風(fēng)1,2,周 桐2,丁增輝1,2
1(中國科學(xué)院 合肥物質(zhì)科學(xué)研究院,合肥 230031)2(中國科學(xué)技術(shù)大學(xué),合肥 230026)
隨著經(jīng)濟(jì)社會的發(fā)展,人們不僅追求更高的物質(zhì)生活,也更加關(guān)注體質(zhì)健康和監(jiān)測自身體質(zhì)信息.本文介紹了國民體質(zhì)監(jiān)測系統(tǒng),用于集中監(jiān)測用戶個(gè)人信息、健康數(shù)據(jù)和基礎(chǔ)運(yùn)動(dòng)數(shù)據(jù),為健康管理和慢性病干預(yù)提供了完整的一站式服務(wù)解決方案.本系統(tǒng)包含基于.NET MVC的數(shù)據(jù)統(tǒng)計(jì)分析子系統(tǒng)、基于Windows服務(wù)的數(shù)據(jù)同步服務(wù)與匯總服務(wù)以及基于Zabbix的系統(tǒng)監(jiān)控程序等功能模塊,能同時(shí)提供Web和移動(dòng)終端兩種訪問形式.其中數(shù)據(jù)統(tǒng)計(jì)分析子系統(tǒng)用于統(tǒng)計(jì)用戶數(shù)據(jù),并利用數(shù)據(jù)挖掘技術(shù)給出統(tǒng)計(jì)分析結(jié)果和科學(xué)健身指導(dǎo)方案.數(shù)據(jù)同步服務(wù)用于準(zhǔn)備數(shù)據(jù),保證系統(tǒng)的數(shù)據(jù)完整性和一致性.數(shù)據(jù)匯總服務(wù)把省數(shù)據(jù)中心的地面站數(shù)據(jù)庫數(shù)據(jù)匯總到中心數(shù)據(jù)庫,中心數(shù)據(jù)庫與數(shù)據(jù)統(tǒng)計(jì)分析子系統(tǒng)進(jìn)行數(shù)據(jù)交互.系統(tǒng)監(jiān)控程序監(jiān)控服務(wù)器聯(lián)網(wǎng)情況、IIS狀態(tài)、數(shù)據(jù)庫狀態(tài)以及系統(tǒng)運(yùn)行過程中可能發(fā)生的錯(cuò)誤,并通過短信或郵件給出告警信息.本文設(shè)計(jì)開發(fā)完成的國民體質(zhì)監(jiān)測系統(tǒng),提供了高效的國民體質(zhì)監(jiān)測和科學(xué)健身指導(dǎo)方案,有利于用戶改善自己的身體機(jī)能.
數(shù)據(jù)統(tǒng)計(jì)分析系統(tǒng); .NET MVC; Zabbix; 數(shù)據(jù)同步; 數(shù)據(jù)匯總; Windows服務(wù)
隨著經(jīng)濟(jì)的不斷發(fā)展,人類的生活節(jié)奏也越來越快,較強(qiáng)的工作壓力、營養(yǎng)過剩、缺乏體育運(yùn)動(dòng)、環(huán)境污染等各方面的不健康因素已經(jīng)不斷地威脅人類的體質(zhì)健康.體質(zhì)健康和科學(xué)健身越來越受到關(guān)注.2014年國務(wù)院院46號文《關(guān)于加快發(fā)展體育產(chǎn)業(yè)促進(jìn)體育消費(fèi)的若干意見》將全民健身提升為國家戰(zhàn)略,明確要求發(fā)揮體育鍛煉在疾病防治及健康促進(jìn)等方面的積極作用[1].中共中央、國務(wù)院于2016年10月25日印發(fā)并實(shí)施《“健康中國2030”規(guī)劃綱要》,旨在推進(jìn)健康中國建設(shè),提高人民健康水平[2].由此可見,實(shí)施全民健身計(jì)劃是國家的重要發(fā)展戰(zhàn)略.隨著全民健身計(jì)劃的推出,我們更要緊跟時(shí)代發(fā)展趨勢,利用移動(dòng)互聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)等現(xiàn)代信息技術(shù)手段,建設(shè)全民健身管理資源庫、服務(wù)資源庫和公共服務(wù)信息平臺,使全民健身服務(wù)更加便捷、高效、精準(zhǔn).
本文致力于建設(shè)具有統(tǒng)一的國民體質(zhì)監(jiān)測功能的平臺,該平臺提供的安徽省國民體質(zhì)監(jiān)測和科學(xué)健身指導(dǎo)數(shù)據(jù)中心將為安徽省的全民健身資源管理、全民健身服務(wù)供給、全民健身科學(xué)研究等提供信息化平臺,對推動(dòng)全省的全民健身活動(dòng)科學(xué)、高效、精準(zhǔn)開展具有重要意義.此外,我們將建設(shè)國民體質(zhì)監(jiān)測和科學(xué)健身指導(dǎo)客戶端,利用移動(dòng)互聯(lián)網(wǎng)技術(shù)給用戶提供實(shí)時(shí)的體質(zhì)監(jiān)測服務(wù).
本文提出的國民體質(zhì)監(jiān)測系統(tǒng)提供了分布式的云服務(wù)平臺,完成相應(yīng)的應(yīng)用軟件和數(shù)據(jù)管理系統(tǒng)建設(shè),實(shí)現(xiàn)國民體質(zhì)和健身數(shù)據(jù)的交換、保存、更新、共享、備份、分發(fā)和存證等功能,并擴(kuò)展容災(zāi)、備份、挖掘、分析等功能.云服務(wù)平臺獲取用戶的個(gè)人信息、健康數(shù)據(jù)、和基礎(chǔ)運(yùn)動(dòng)數(shù)據(jù),建立數(shù)據(jù)共享和更新維護(hù)機(jī)制,實(shí)現(xiàn)省、市、區(qū)縣多級管理平臺之間的數(shù)據(jù)交換與共享,以及基礎(chǔ)數(shù)據(jù)的標(biāo)準(zhǔn)化、一致化,保證相關(guān)數(shù)據(jù)的及時(shí)更新和安全管理,為體育、衛(wèi)生等監(jiān)管部門提供基礎(chǔ)數(shù)據(jù)支持.
數(shù)據(jù)統(tǒng)計(jì)分析系統(tǒng)是一個(gè)基于Web的應(yīng)用程序,基于 B/S(Browser/Server)架構(gòu),采用了.NET MVC 框架開發(fā),.NET MVC 框架是微軟的統(tǒng)一技術(shù)平臺,開發(fā)人員用不同的語言開發(fā)的程序被編譯成微軟中間語言后可以在任何微軟的平臺上運(yùn)行,提高了開發(fā)效率和代碼的復(fù)用性.MVC是一種在圖形化界面程序中很流行的架構(gòu)設(shè)計(jì)模式,MVC是Model(模型)、View(視圖)及 Controller(控制器)的縮寫.使用.NET MVC 框架進(jìn)行Web開發(fā)時(shí)能高效地實(shí)現(xiàn)前端展現(xiàn)和后臺邏輯的解耦,使得前端開發(fā)和后臺邏輯能很好地隔離,降低了程序開發(fā)和后期維護(hù)的成本[3,4].
數(shù)據(jù)統(tǒng)計(jì)分析系統(tǒng)的前端采用了備受歡迎的Bootstrap 框架.Bootstrap 基于 HTML、CSS、JAVASCRIPT實(shí)現(xiàn),提供了標(biāo)準(zhǔn)的HTML和CSS規(guī)范,兼容大部分 jQuery 插件,使用方便.Bootstrap 包含了豐富的Web組件,可以快捷靈活地搭建美觀、功能完備的網(wǎng)站,而且,Bootstrap 開源,開發(fā)者可以根據(jù)實(shí)際需要修改代碼.鑒于此,分析系統(tǒng)采用了Bootstrap作為前端的基本框架[5].
本系統(tǒng)監(jiān)控程序基于Zabbix實(shí)現(xiàn).Zabbix是一個(gè)基于Web界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案,可以通過Web界面設(shè)置和查看監(jiān)視結(jié)果.Zabbix可以監(jiān)視各種網(wǎng)絡(luò)參數(shù),從而保證服務(wù)器系統(tǒng)的安全運(yùn)行,并提供靈活的通知機(jī)制給系統(tǒng)管理人員,從而及時(shí)定位、解決出現(xiàn)的問題.Zabbix具有跨平臺的客戶端和服務(wù)器,支持主動(dòng)式監(jiān)控,可以解決沒有公網(wǎng)IP的問題,同時(shí)具有分級報(bào)警機(jī)制,可自定義報(bào)警媒介.
本系統(tǒng)采用的是阿里云RDS數(shù)據(jù)庫和ECS服務(wù)器.云數(shù)據(jù)庫RDS是一種穩(wěn)定可靠、可彈性伸縮的在線數(shù)據(jù)庫服務(wù),支持高性能存儲,部署主備架構(gòu)且提供了容災(zāi)、備份、恢復(fù)、監(jiān)控、遷移等方面的全套解決方案; 云服務(wù)器ECS是一種簡單高效、處理能力可彈性伸縮的計(jì)算服務(wù),可以快速構(gòu)建穩(wěn)定、安全的應(yīng)用.本系統(tǒng)采用RDS和ECS,并使用了負(fù)載均衡策略,用較低的成本獲得了高效穩(wěn)定的服務(wù).
本系統(tǒng)由數(shù)據(jù)統(tǒng)計(jì)分析系統(tǒng)、數(shù)據(jù)同步與匯總服務(wù)、系統(tǒng)監(jiān)控服務(wù)以及數(shù)據(jù)中心(省數(shù)據(jù)中心和地面站數(shù)據(jù)庫)構(gòu)成.系統(tǒng)架構(gòu)圖如圖1.
圖1 系統(tǒng)架構(gòu)圖
地面站數(shù)據(jù)中心包含采集用戶信息的體檢設(shè)備、運(yùn)動(dòng)設(shè)備以及健康監(jiān)測設(shè)備,采集注冊用戶的基礎(chǔ)數(shù)據(jù)并進(jìn)行集中管理,作為整個(gè)系統(tǒng)基礎(chǔ)數(shù)據(jù)源,為體育、衛(wèi)生等監(jiān)管部門提供數(shù)據(jù)支持.
數(shù)據(jù)同步服務(wù)通過互聯(lián)網(wǎng)連接省數(shù)據(jù)中心和地面站數(shù)據(jù)庫,可以定時(shí)地監(jiān)測兩邊的數(shù)據(jù)變化,并把變化了的數(shù)據(jù)實(shí)時(shí)地同步到對方的數(shù)據(jù)庫,從而保證整個(gè)系統(tǒng)數(shù)據(jù)的完整性和一致性[6].
數(shù)據(jù)統(tǒng)計(jì)分析系統(tǒng)基于.NET MVC實(shí)現(xiàn),旨在實(shí)現(xiàn)安徽省范圍內(nèi)國民體質(zhì)監(jiān)測數(shù)據(jù)的收集、存儲、統(tǒng)計(jì)分析、查詢等功能,直接與省數(shù)據(jù)中心進(jìn)行數(shù)據(jù)交互.省數(shù)據(jù)中心和地面站數(shù)據(jù)庫采用MySQL數(shù)據(jù)庫存儲用戶的個(gè)人基本信息和國民體質(zhì)11項(xiàng)數(shù)據(jù),以及用戶的基礎(chǔ)運(yùn)動(dòng)數(shù)據(jù),存儲的數(shù)據(jù)為數(shù)據(jù)統(tǒng)計(jì)分析系統(tǒng)提供原始數(shù)據(jù).在各個(gè)地面站采集到的數(shù)據(jù)通過局域網(wǎng)存儲到該地面站數(shù)據(jù)庫,存在公網(wǎng)時(shí),同步服務(wù)將新存儲的數(shù)據(jù)同步到省數(shù)據(jù)中心,同時(shí),匯總服務(wù)會定時(shí)匯總省數(shù)據(jù)中心的數(shù)據(jù).數(shù)據(jù)統(tǒng)計(jì)分析系統(tǒng)對匯總后的數(shù)據(jù)進(jìn)行集中管理,顯示和統(tǒng)計(jì)用戶的體檢信息和運(yùn)動(dòng)能力測試信息,并且錄入非檢測指標(biāo)數(shù)據(jù),以及膳食數(shù)據(jù),最終給出用戶體質(zhì)監(jiān)測結(jié)果和科學(xué)健身指導(dǎo)方案[7].
數(shù)據(jù)統(tǒng)計(jì)分析系統(tǒng)設(shè)有4個(gè)角色:管理員、省級管理平臺、市級管理平臺、區(qū)縣監(jiān)測中心.管理員角色用于機(jī)構(gòu)管理和用戶管理.機(jī)構(gòu)管理用于添加一個(gè)省級監(jiān)測機(jī)構(gòu)和多個(gè)市縣(區(qū))級監(jiān)測站點(diǎn); 用戶管理用于添加和查詢該系統(tǒng)的用戶信息,每增加一個(gè)監(jiān)測站點(diǎn)就需要添加該站點(diǎn)的用戶信息,以便對該站點(diǎn)的數(shù)據(jù)進(jìn)行監(jiān)測.省、市、區(qū)縣管理平臺屬于監(jiān)測用戶,用于管理本站點(diǎn)的用戶數(shù)據(jù),登錄后可查看首頁、機(jī)構(gòu)信息、居民信息、統(tǒng)計(jì)分析、科學(xué)健身、數(shù)據(jù)上報(bào)等模塊信息.
(1)數(shù)據(jù)統(tǒng)計(jì)分析系統(tǒng)首頁信息總攬
用戶登錄成功進(jìn)入首頁界面,首頁統(tǒng)計(jì)了用于顯示該用戶包含的站點(diǎn)個(gè)數(shù)、注冊的總用戶數(shù)、本年度注冊的用戶數(shù)、本年度上傳的用戶數(shù),以及該用戶的上傳記錄.首頁通過SVGDeveloper工具繪制了安徽省的地圖,并在頁面嵌入了svg標(biāo)簽,展示了安徽省每個(gè)市統(tǒng)計(jì)到的站點(diǎn)數(shù)和檢測人數(shù).數(shù)據(jù)統(tǒng)計(jì)分析系統(tǒng)首頁如圖2所示.
圖2 數(shù)據(jù)統(tǒng)計(jì)分析系統(tǒng)首頁
(2)數(shù)據(jù)管理
數(shù)據(jù)管理模塊提供了接收數(shù)據(jù)、數(shù)據(jù)導(dǎo)入、數(shù)據(jù)刪除和數(shù)據(jù)查詢的功能.系統(tǒng)在沒有用戶干預(yù)的情況下,按照約定的協(xié)議,接收遠(yuǎn)程國民體質(zhì)監(jiān)測中心傳來的數(shù)據(jù),并將數(shù)據(jù)寫入服務(wù)器中.對于無法與省級平臺直連的國民體質(zhì)監(jiān)測中心,系統(tǒng)提供公開的數(shù)據(jù)格式,用于導(dǎo)入數(shù)據(jù); 導(dǎo)入時(shí)進(jìn)行智能識別,拒絕明顯錯(cuò)誤的數(shù)據(jù)入庫,在導(dǎo)入之前,需要添加相應(yīng)的機(jī)構(gòu)和用戶.同時(shí),可以根據(jù)需要,在指定時(shí)間內(nèi),將某一國民體質(zhì)監(jiān)測中心的數(shù)據(jù)刪除.導(dǎo)入數(shù)據(jù)完成之后,通過查詢條件查詢所屬區(qū)域的整體用戶信息,以及個(gè)人的詳細(xì)信息和健康數(shù)據(jù).
(3)統(tǒng)計(jì)分析
統(tǒng)計(jì)分析模塊用于統(tǒng)計(jì)國民體質(zhì)監(jiān)測數(shù)據(jù)、健康體征監(jiān)測數(shù)據(jù),以及國民體質(zhì)監(jiān)測工作統(tǒng)計(jì)排序.其中,國民體質(zhì)監(jiān)測包含國民體質(zhì)指標(biāo)分析、國民體質(zhì)人群統(tǒng)計(jì)、國民體質(zhì)歷年人群統(tǒng)計(jì)和國民體質(zhì)歷年趨勢分析,健康體征監(jiān)測包含健康體征指標(biāo)分析、健康體征人群統(tǒng)計(jì)、健康體征歷年人群統(tǒng)計(jì)和健康體征歷年趨勢分析.統(tǒng)計(jì)分析是從總量分析、趨勢分析和分類統(tǒng)計(jì)三個(gè)維度進(jìn)行分析,統(tǒng)計(jì)分析顯示結(jié)果可以按照省、市、中心匯總,同時(shí)支持導(dǎo)出分析 Excel數(shù)據(jù).其中,總量人數(shù)統(tǒng)計(jì)用于分析指定時(shí)間段上報(bào)的樣本數(shù)量,系統(tǒng)提供以下查詢條件:市、區(qū)縣、站點(diǎn)、年齡組、性別、工作單位、測試項(xiàng)目、測試時(shí)間,用戶點(diǎn)擊查詢按鈕即可展示數(shù)據(jù)統(tǒng)計(jì)分析結(jié)果,結(jié)果包含使用Highcharts展示的柱狀圖,以及可供下載的表格.此外,趨勢分析分析過去5年內(nèi),上傳數(shù)據(jù)量變化的趨勢,作為工作考核的依據(jù),系統(tǒng)提供以下查詢條件:省、市、區(qū)縣、站點(diǎn)、綜合等級、年齡組、測試項(xiàng)目、測試指標(biāo),用戶點(diǎn)擊查詢按鈕即可展示數(shù)據(jù)統(tǒng)計(jì)分析結(jié)果,結(jié)果包含Highcharts展示的折線圖,以及可供下載的表格.分類人數(shù)統(tǒng)計(jì)對指定時(shí)間段內(nèi)上報(bào)的樣本,按照測試項(xiàng)目、性別、年齡段、城鄉(xiāng)等類別給出分項(xiàng)報(bào)告.
(4)科學(xué)健身
科學(xué)健身模塊用于顯示用戶的體質(zhì)檢測結(jié)果和運(yùn)動(dòng)健康信息,并據(jù)此給出該用戶的健身促進(jìn)指南,健身促進(jìn)指南通過給出科學(xué)的健身指導(dǎo)方案促使用戶改善自身身體機(jī)能.當(dāng)注冊用戶通過終端上傳了自己的運(yùn)動(dòng)數(shù)據(jù)之后,數(shù)據(jù)同步和匯總服務(wù)會把心率數(shù)據(jù)匯總到省數(shù)據(jù)中心,各級管理平臺用戶可以通過科學(xué)健身模塊獲取注冊用戶的心率統(tǒng)計(jì)結(jié)果.同時(shí),可以查詢注冊用戶的管理目標(biāo)和該管理目標(biāo)所承擔(dān)的運(yùn)動(dòng)風(fēng)險(xiǎn).如果查詢結(jié)果存在一定的運(yùn)動(dòng)風(fēng)險(xiǎn),系統(tǒng)可以對此開具對應(yīng)的處方,科學(xué)健身模塊記錄下該處方的執(zhí)行情況和執(zhí)行時(shí)間[8].
(5)系統(tǒng)監(jiān)控
系統(tǒng)監(jiān)控服務(wù)為本系統(tǒng)提供了輔助監(jiān)控功能.由于系統(tǒng)運(yùn)行過程中可能存在的安全隱患,本系統(tǒng)提供了基于Zabbix的監(jiān)控服務(wù).本系統(tǒng)部署在阿里云,采用了阿里云ECS服務(wù)器和ECS服務(wù)器上運(yùn)行的IIS服務(wù),以及RDS數(shù)據(jù)庫,雖然阿里云服務(wù)器自身可提供一定的監(jiān)視功能,但本系統(tǒng)提供的監(jiān)控服務(wù)可以讓管理人員能更好的管理服務(wù)器運(yùn)行狀況.系統(tǒng)監(jiān)控服務(wù)可以監(jiān)控省中心服務(wù)器的聯(lián)網(wǎng)狀況、IIS的基本狀態(tài)、省中心的數(shù)據(jù)庫狀態(tài)、各監(jiān)測站點(diǎn)的聯(lián)網(wǎng)情況,以及系統(tǒng)運(yùn)行過程中發(fā)生的錯(cuò)誤,并及時(shí)通過短信和郵件發(fā)出告警信息.
本系統(tǒng)對國民體質(zhì)和健康體征的指標(biāo)分析、人群統(tǒng)計(jì)和趨勢分析都做了統(tǒng)計(jì)分析,國民體質(zhì)數(shù)據(jù)包含身高標(biāo)準(zhǔn)體重、肺活量、臺階指數(shù)、握力等; 健康體征數(shù)據(jù)包含身體成分測試數(shù)據(jù)、心血管功能測試數(shù)據(jù)、超聲骨密度測試數(shù)據(jù)、運(yùn)動(dòng)功能測試數(shù)據(jù)等.對于以上大量測試數(shù)據(jù),管理用戶并不愿意看到這些數(shù)據(jù)的簡單羅列,而是能通過圖表的方式直觀的反映數(shù)據(jù)的對比、所占比重,以及變化趨勢.因此,本系統(tǒng)引入了Highcharts圖表庫.Highcharts是一款開源的JavaScript編寫的圖表庫,能夠很簡單便捷的在Web網(wǎng)站或Web應(yīng)用中添加交互性的圖表[9].使用Highcharts,首先下載Highcharts插件,然后把下載的highcharts.js文件添加到我們的網(wǎng)站,最后通過配置參數(shù)確認(rèn)圖表類型并設(shè)置屬性.
本系統(tǒng)通過柱狀圖表示國民體質(zhì)指標(biāo)分析和人數(shù)統(tǒng)計(jì)情況,國民體質(zhì)指標(biāo)分析結(jié)果如圖3所示,可以直觀地看到國民體質(zhì)11項(xiàng)的測試項(xiàng)目、得分及人數(shù)占比.通過餅圖表示健康體征指標(biāo)分析的每一項(xiàng)結(jié)果所占比重,圖4反映了健康體征指標(biāo)分析中身體成分測試的結(jié)果占比情況.折線圖可以清楚地看到歷年統(tǒng)計(jì)人數(shù)的變化情況,以及每一項(xiàng)測試結(jié)果的變化趨勢.
圖3 國民體質(zhì)指標(biāo)分析
圖4 健康體征統(tǒng)計(jì)圖
數(shù)據(jù)同步服務(wù)以系統(tǒng)服務(wù)的形式運(yùn)行在地面站系統(tǒng),用于同步各地面站數(shù)據(jù)庫數(shù)據(jù)和省數(shù)據(jù)中心的數(shù)據(jù),我們建立了各地面站本地?cái)?shù)據(jù)庫以支持地面站本地服務(wù)系統(tǒng),再建立與各地面站數(shù)據(jù)庫一一對應(yīng)的省中心數(shù)據(jù)庫以支持省級服務(wù)系統(tǒng),從而達(dá)到各數(shù)據(jù)庫間高度的格式一致和數(shù)據(jù)一致.數(shù)據(jù)同步服務(wù)基于Web實(shí)現(xiàn),并通過Windows服務(wù)定時(shí)執(zhí)行任務(wù).系統(tǒng)在需要同步的表中加入修改時(shí)間、同步時(shí)間、數(shù)據(jù)來源三個(gè)字段標(biāo)示該數(shù)據(jù)是否同步完成,并在整個(gè)系統(tǒng)內(nèi)(省中心數(shù)據(jù)庫和各地面站數(shù)據(jù)庫)每張表的每條記錄設(shè)置唯一ID,以保障數(shù)據(jù)同步正常進(jìn)行.同步服務(wù)啟動(dòng)后,首先檢查網(wǎng)絡(luò)狀況,網(wǎng)絡(luò)通暢時(shí),查找地面站數(shù)據(jù)庫修改時(shí)間大于同步時(shí)間的數(shù)據(jù),并將用戶數(shù)據(jù)、體檢數(shù)據(jù)、處方數(shù)據(jù)依次同步至省數(shù)據(jù)中心,同步成功后,修改同步時(shí)間為當(dāng)前時(shí)間.然后,查找省數(shù)據(jù)中心修改時(shí)間大于同步時(shí)間的數(shù)據(jù),一旦發(fā)現(xiàn),將這些數(shù)據(jù)同步至地面站數(shù)據(jù)庫,同步成功后,修改同步時(shí)間為當(dāng)前時(shí)間.當(dāng)網(wǎng)絡(luò)不通暢或同步失敗的情況下,間隔兩分鐘后,繼續(xù)檢查網(wǎng)絡(luò)狀況并執(zhí)行同步過程.同步程序流程圖如圖5所示.
圖5 數(shù)據(jù)同步流程圖
各個(gè)地面站數(shù)據(jù)庫的數(shù)據(jù)同步到省數(shù)據(jù)中心之后,再對其中的部分?jǐn)?shù)據(jù)進(jìn)行匯總.數(shù)據(jù)統(tǒng)計(jì)分析系統(tǒng)對匯總后的用戶數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析并展示給用戶.數(shù)據(jù)匯總是基于Windows服務(wù)實(shí)現(xiàn)的.我們先建立從省數(shù)據(jù)中心的各個(gè)地面站分庫到中心數(shù)據(jù)庫的連接,然后分別從分庫中獲取用戶基本信息數(shù)據(jù)和用戶體質(zhì)監(jiān)測的原始數(shù)據(jù),分別導(dǎo)入中心數(shù)據(jù)庫.數(shù)據(jù)匯總服務(wù)能夠定時(shí)執(zhí)行,保證數(shù)據(jù)統(tǒng)計(jì)分析系統(tǒng)能夠及時(shí)獲取新的數(shù)據(jù).
數(shù)據(jù)匯總程序的數(shù)據(jù)庫連接是可配置的,當(dāng)增加源數(shù)據(jù)庫的時(shí)候,只要在App.config配置文件中增加新的數(shù)據(jù)庫信息即可,提高了可擴(kuò)展性.
此外,為了防止數(shù)據(jù)匯總服務(wù)停止執(zhí)行,系統(tǒng)還提供了匯總監(jiān)控服務(wù)實(shí)時(shí)地監(jiān)測.匯總監(jiān)控程序同樣基于Windows服務(wù),一旦發(fā)現(xiàn)匯總服務(wù)停止,監(jiān)控服務(wù)就會啟動(dòng)數(shù)據(jù)匯總服務(wù).
檢測服務(wù)狀態(tài)的代碼:
//獲取所有服務(wù)
ServiceController[] services = ServiceController.GetServices();
//判斷服務(wù)狀態(tài)
service.Status==ServiceControllerStatus.Stopped||ser vice.Status==ServiceControllerStatus.StopPending
啟動(dòng)停止的服務(wù)代碼:
//獲取所有服務(wù)
ServiceController[] services = ServiceController.GetServices();
//啟動(dòng)服務(wù)
service.Start();
//直到服務(wù)啟動(dòng)
service.WaitForStatus(ServiceControllerStatus.Runn ing
我們在省中心和各地面站點(diǎn)服務(wù)器安裝Zabbix客戶端,用于檢測所有客戶端的聯(lián)網(wǎng)情況,以及IIS服務(wù)器的運(yùn)行情況,RDS服務(wù)器通過IP:Port的方式進(jìn)行監(jiān)測.為了保證 Zabbix 的正常運(yùn)行,首先,在省中心和各站點(diǎn)服務(wù)器上定時(shí)執(zhí)行服務(wù),檢查Zabbix客服端是否已啟動(dòng),若沒有,則啟動(dòng); 檢查 Zabbix 服務(wù)器地址是否修改,如果修改則修改客戶端配置文件,并重新啟動(dòng)客戶端; 然后,在 Zabbix 服務(wù)器上定時(shí)執(zhí)行腳本,檢查Zabbix服務(wù)是否已啟動(dòng),不可用時(shí)啟動(dòng)Zabbix服務(wù);省中心服務(wù)器(ECS)定時(shí)執(zhí)行服務(wù),監(jiān)測Zabbix服務(wù)器是否正常運(yùn)行,運(yùn)行異常時(shí),通過短信或郵件發(fā)出告警信息.
本文設(shè)計(jì)的國民體質(zhì)監(jiān)測系統(tǒng),基于分布式的架構(gòu)設(shè)計(jì),提供了靈活開放的數(shù)據(jù)上報(bào)管道,便于全省范圍的數(shù)據(jù)上報(bào)匯總,而且,本系統(tǒng)強(qiáng)化了上報(bào)統(tǒng)計(jì)功能,便于評估各市、中心的工作成效.此外,多樣化的國民體質(zhì)數(shù)據(jù)分析有利于評估國民體質(zhì)數(shù)據(jù)的現(xiàn)狀及發(fā)展趨勢,系統(tǒng)將統(tǒng)計(jì)結(jié)果以圖表的方式生動(dòng)、清楚、形象地展示給用戶.
下階段的工作我們將更多地?cái)U(kuò)展系統(tǒng)功能.數(shù)據(jù)統(tǒng)計(jì)分析系統(tǒng)需要增加階段性統(tǒng)計(jì)報(bào)告,以便管理用戶可以通過本系統(tǒng)得到階段性的用戶監(jiān)測報(bào)告.同時(shí),系統(tǒng)將引入更多的體檢設(shè)備、運(yùn)動(dòng)設(shè)備以及健康監(jiān)測設(shè)備,比如,我們將引入智能跑步機(jī)、血壓監(jiān)測儀以及可穿戴設(shè)備等,并進(jìn)行二次開發(fā),通過傳感器采集用戶的運(yùn)動(dòng)數(shù)據(jù),將采集的數(shù)據(jù)直接上傳到監(jiān)測中心數(shù)據(jù)庫,進(jìn)一步提高監(jiān)測效率[10].本系統(tǒng)采集并存儲了大量的數(shù)據(jù)信息,接下來,我們將通過先進(jìn)的人工智能、數(shù)據(jù)挖掘等技術(shù)有效地分析數(shù)據(jù)并提供更科學(xué)的處方.
1國務(wù)院.國務(wù)院關(guān)于加快發(fā)展體育產(chǎn)業(yè)促進(jìn)體育消費(fèi)的若干意見.http://www.gov.cn/zhengce/content/2014-10/20/content_9152.htm.[2014-10-20].
2中共中央國務(wù)院印發(fā)《“健康中國2030”規(guī)劃綱要》.中華人民共和國國務(wù)院公報(bào),2016,32:5–20.
3林樂逸.基于ASP.NET MVC和實(shí)體框架的軟件項(xiàng)目管理平臺[碩士學(xué)位論文].上海:上海交通大學(xué),2012.
4李園,陳世平.MVC設(shè)計(jì)模式在ASP.NET平臺中的應(yīng)用.計(jì)算機(jī)工程與設(shè)計(jì),2009,30(13):3180–3184.[doi:10.16208/j.issn1000-7024.2009.13.035]
5陳衛(wèi)丹,李曉風(fēng),趙赫,等.基于 ASP.NET 的學(xué)生健康管理系統(tǒng)的設(shè)計(jì).計(jì)算機(jī)技術(shù)與發(fā)展,2016,26(11):125–129.
6徐澄宇.基于網(wǎng)絡(luò)數(shù)據(jù)同步機(jī)制的分布內(nèi)容管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[碩士學(xué)位論文].長春:吉林大學(xué),2015.
7尚岑,王東雨,宇文姝麗.數(shù)據(jù)挖掘技術(shù)在健康數(shù)據(jù)分析中的應(yīng)用.醫(yī)學(xué)信息學(xué)雜志,2016,37(5):54–58.
8周桐,元沐南,趙赫,等.基于 iOS 的慢性病跟蹤客戶端.計(jì)算機(jī)系統(tǒng)應(yīng)用,2016,25(9):73–78.[doi:10.15888/j.cnki.csa.005319]
9張建軍,劉虎,倪芳英.基于 SSH 與 Highcharts 整合架構(gòu)的 Web 應(yīng)用研究.計(jì)算機(jī)技術(shù)與發(fā)展,2013,23(9):245–247,251.
10Hugon P.Phya pa Chos kyi seng ge on Argumentation by Consequence (thal’gyur)—the nature,function,and form of consequence statements.Journal of Indian Philosophy,2013,41(6):671–702.[doi:10.1007/s10781-013-9205-4]
National Physical Fitness Monitoring System
XU Ji-Ming1,2,ZHAO He1,WANG Wei-Dong1,ZHANG Zhong-Xian1,LI Xiao-Feng1,2,ZHOU Tong2,DING Zeng-Hui1,21(Hefei Institutes of Physical Sciences,Chinese Academy of Sciences,Hefei 230031,China)2(University of Science and Technology of China,Hefei 230026,China)
With the economic development in society,people do not only pursue higher material life,but they also pay more attention to their physical health and monitor their own health information.This paper introduces the National Physical Fitness Monitoring System,which is used to monitor the users’ personal information,health data and basic motion data,and provide a complete one-stop service solution for health management and chronic disease intervention.The system consists of data statistics and analysis subsystem based on .NET MVC,data synchronization service and data aggregation service based on Windows service and system monitoring program based on Zabbix and so on,and the system can also provide access forms:the Web and the mobile terminal access.The data statistics and analysis subsystem is used to count the user data,and it uses the data mining technology to give the statistical analysis result and the scientific fitness guidance scheme.The data synchronization service is used to prepare data to ensure data integrity and consistency of the system.The data aggregation service aggregates data from the ground station database of provincial data center to the central database,and the data can be exchanged between the central database and the data statistics and analysis subsystem.The system monitoring program monitors the server networking,IIS state,the state of the database as well as the possible errors in the running process of the system,and gives the warning information by message or e-mail.The National Physical Fitness Monitoring System,we designed and developed,provides an effective national physical fitness monitoring and scientific fitness guidance scheme to help users improve their physical condition.
data statistics and analysis system; .NET MVC; Zabbix; data synchronization; data aggregation; Windows service
許繼明,趙赫,王衛(wèi)東,張中賢,李曉風(fēng),周桐,丁增輝.國民體質(zhì)監(jiān)測系統(tǒng).計(jì)算機(jī)系統(tǒng)應(yīng)用,2017,26(10):61–66.http://www.c-sa.org.cn/1003-3254/5980.html
中國科學(xué)院科技服務(wù)網(wǎng)絡(luò)計(jì)劃項(xiàng)目(KFJ-SW-STS-161); 安徽省科技重大專項(xiàng)(16030901057)
2017-01-09; 采用時(shí)間:2017-02-13