*
1.中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心,北京 100190
2.中國(guó)科學(xué)院大學(xué),北京 100190
隨著人類(lèi)社會(huì)的不斷進(jìn)步,高性能計(jì)算機(jī)已步入了 E 級(jí)計(jì)算時(shí)代,高性能計(jì)算中心如雨后春筍般地在全世界各地出現(xiàn)。作為未來(lái)醫(yī)療模式和國(guó)民健康保障,精準(zhǔn)醫(yī)學(xué)與個(gè)性化藥物應(yīng)用在高性能計(jì)算應(yīng)用領(lǐng)域的重要性彰顯,用戶(hù)群體不斷擴(kuò)大。精準(zhǔn)醫(yī)學(xué)是針對(duì)病人的基因組和個(gè)體特點(diǎn)進(jìn)行防治,需要對(duì)海量的組學(xué)數(shù)據(jù)、臨床數(shù)據(jù)和環(huán)境數(shù)據(jù)進(jìn)行高度整合分析,構(gòu)成能夠揭示個(gè)體的疾病分子機(jī)制和遺傳易感性的知識(shí)網(wǎng)絡(luò),并由達(dá)到精準(zhǔn)治療的目的,因而精準(zhǔn)醫(yī)學(xué)研究必將對(duì)高性能計(jì)算及其運(yùn)行服務(wù)環(huán)境提出更高的需求。如何使生物醫(yī)藥從業(yè)者更好地利用日漸豐富的高性能計(jì)算資源并降低其使用門(mén)檻,已成為制約生物醫(yī)藥高性能計(jì)算應(yīng)用快速發(fā)展的瓶頸之一。生物醫(yī)藥應(yīng)用服務(wù)社區(qū)引入“互聯(lián)網(wǎng)+”并基于“模塊化高性能計(jì)算”、“智能超級(jí)計(jì)算”等新理念建立面向生物醫(yī)藥應(yīng)用的計(jì)算服務(wù)社區(qū)是解決上述難題的重要手段[1-3]。
基于國(guó)家高性能計(jì)算環(huán)境的生物醫(yī)藥應(yīng)用服務(wù)社區(qū),針對(duì)在生物信息和藥物研發(fā)中高性能計(jì)算資源使用門(mén)檻高、軟件分散、資源利用率低等問(wèn)題,建立了易用、資源有效分類(lèi)使用綜合性的生物醫(yī)藥應(yīng)用社區(qū)平臺(tái)[3,4]。
社區(qū)基于“十二五”863 重大項(xiàng)目“高性能計(jì)算應(yīng)用環(huán)境建設(shè)”下設(shè)的子任務(wù) “新藥創(chuàng)制社區(qū)”、依托國(guó)家高性能計(jì)算環(huán)境進(jìn)一步研發(fā)具有計(jì)算服務(wù)商店特征的“生物醫(yī)藥應(yīng)用服務(wù)社區(qū)”,涵蓋新藥研發(fā)、個(gè)性化醫(yī)療、生物信息和計(jì)算化學(xué)等應(yīng)用;依托社區(qū)開(kāi)展新藥研發(fā)與個(gè)性化醫(yī)療典型應(yīng)用示范,取得實(shí)效;擴(kuò)大國(guó)家高性能計(jì)算環(huán)境用戶(hù)群體,提升資源使用,向用戶(hù)提供基于Web的計(jì)算服務(wù)和解決方案,為計(jì)算服務(wù)業(yè)建立積累經(jīng)驗(yàn)[5,6]。
社區(qū)面向生物醫(yī)藥科研研究領(lǐng)域的計(jì)算用戶(hù)和實(shí)驗(yàn)用戶(hù)提供簡(jiǎn)單易用、資源豐富、安全穩(wěn)定的平臺(tái)和應(yīng)用培訓(xùn),并具有以下特點(diǎn)[7]:
簡(jiǎn)單易用:圖形化計(jì)算應(yīng)用服務(wù);針對(duì)不同應(yīng)用定制的前后處理功能模塊;“一站式”生物醫(yī)藥應(yīng)用服務(wù)集散地。
資源豐富:直通國(guó)家高性能計(jì)算環(huán)境;支持多樣化應(yīng)用服務(wù)模式;匯聚科學(xué)軟件信息,跟蹤學(xué)術(shù)新聞動(dòng)態(tài)。平臺(tái)資源包含生物信息、藥物靶標(biāo)鑒定和藥物設(shè)計(jì)三大類(lèi)的50 種應(yīng)用資源;國(guó)家高性能計(jì)算環(huán)境的計(jì)算資源;微生物組和蛋白質(zhì)組的組學(xué)數(shù)據(jù)資源。
安全穩(wěn)定:專(zhuān)業(yè)人員運(yùn)維支撐;數(shù)據(jù)備份,權(quán)限可控;完善的社區(qū)運(yùn)維管理機(jī)制。
隨著移動(dòng)互聯(lián)網(wǎng)的技術(shù)和產(chǎn)品的發(fā)展,移動(dòng)端的應(yīng)用服務(wù)相對(duì) PC 端的應(yīng)用更實(shí)時(shí)、更便攜的特點(diǎn),能為用戶(hù)提供更便捷的用戶(hù)體驗(yàn)。為了為社區(qū)用戶(hù)提供更好的應(yīng)用體驗(yàn),項(xiàng)目團(tuán)隊(duì)圍繞實(shí)用性、互動(dòng)性、便捷性操作的核心要素,充分考慮領(lǐng)域應(yīng)用特點(diǎn)、交互式體驗(yàn)、功能應(yīng)用的開(kāi)發(fā)和定制化服務(wù)等需求,設(shè)計(jì)并開(kāi)發(fā)了基于微信的社區(qū)應(yīng)用服務(wù)小程序,為生物醫(yī)藥社區(qū)用戶(hù)提供簡(jiǎn)潔而不簡(jiǎn)單的移動(dòng)端應(yīng)用服務(wù):簡(jiǎn)化操作、簡(jiǎn)潔內(nèi)容和移動(dòng)應(yīng)用。
3.1.1 社區(qū)應(yīng)用服務(wù)小程序移動(dòng)端框架設(shè)計(jì)
微信小程序的框架是基于MINA 框架,MINA 是Apache的一個(gè)開(kāi)源框架,擁有完善且豐富的功能,小程序的標(biāo)準(zhǔn)架構(gòu)如圖1所示,View和Service的不斷交互的過(guò)程中,View 層發(fā)出事件,Service 接收事件并進(jìn)行響應(yīng)處理,最后把處理后的數(shù)據(jù)打包發(fā)送給View 層[8-10]。
View 層由 WXML、WXSS和JSON 三部分組成,通常 WXML和WXSS 通過(guò)編譯變成 HTML和CSS。在該小程序開(kāi)發(fā)的過(guò)程中,應(yīng)用了 WXML的數(shù)據(jù)綁定、邏輯計(jì)算、模版引用與響應(yīng)事件等功能。
Service 層主要是由 App Service和Storge 兩部分構(gòu)成。App Service 是分離的各個(gè)頁(yè)面的JS和App的主 JS 文件最終會(huì)打包生成,其主要功能是接收來(lái)自View的響應(yīng)事件。Storge 主用來(lái)緩存信息,如用戶(hù)登錄信息、調(diào)用 API 接口向后端發(fā)送請(qǐng)求以及做必要緩存處理。Storge部分,集合了大部分的功能實(shí)現(xiàn)并用到了對(duì)稱(chēng)服務(wù)器的加密解密技術(shù)。
3.1.2 服務(wù)器端框架
服務(wù)器端采用騰訊云服務(wù)器作為中間服務(wù)器,如圖2,小程序服務(wù)端必須采用 HTTPS 通信協(xié)議來(lái)保證本地服務(wù)器的數(shù)據(jù)安全。服務(wù)端與騰訊云的中間服務(wù)器進(jìn)行數(shù)據(jù)交互,中間服務(wù)器對(duì)交互數(shù)據(jù)進(jìn)行打包整理最后發(fā)送給本地服務(wù)器。小程序通過(guò) wx.request方法將需要上傳的數(shù)據(jù)發(fā)送給符合 HTTPS 通信協(xié)議的中間服務(wù)器,中間服務(wù)器通過(guò) Nginx 反向代理將小程序接收到的數(shù)據(jù)按照目標(biāo)格式發(fā)送給本地服務(wù)器的接口[11]。
服務(wù)器端采用 SpringBoot 框架,SpringBoot 相較于SpringMVC的優(yōu)點(diǎn)是極大地簡(jiǎn)化了 Spring的配置流程,高效開(kāi)發(fā)。后端實(shí)現(xiàn)的接口有:綁定微信小程序賬戶(hù)、用戶(hù)權(quán)限控制、用戶(hù)作業(yè)管理、作業(yè)信息查詢(xún)和作業(yè)通知推送。當(dāng)有作業(yè)任務(wù)完成后,程序檢測(cè)到本地服務(wù)器上有計(jì)算任務(wù)完成并把作業(yè)相關(guān)信息推送至微信客戶(hù)端[12-16]。
生物醫(yī)藥社區(qū)的小程序業(yè)務(wù)流程圖如圖3,主要分為游客展示平臺(tái)和用戶(hù)管理平臺(tái)[17,18]。
3.2.1 主頁(yè)
如圖4所示,用戶(hù)每一次進(jìn)入小程序首先進(jìn)入的是生物醫(yī)藥社區(qū)小程序主頁(yè),主要展示生物醫(yī)藥社區(qū)基本信息,目前包括小程序的使用指南,新上線(xiàn)應(yīng)用服務(wù)等,詳細(xì)信息可以通過(guò)點(diǎn)擊查看。
3.2.2 登錄
小程序內(nèi)置的HTTPS 傳輸協(xié)議與服務(wù)器的加密策略保證了登錄的安全性,實(shí)現(xiàn)用戶(hù)端到服務(wù)器端的加密驗(yàn)證。登錄之后即開(kāi)放小程序的所有功能,包括查詢(xún)自己在生物醫(yī)藥社區(qū)的作業(yè)進(jìn)度,推送服務(wù)的開(kāi)啟以及已完成作業(yè)的內(nèi)容信息查詢(xún)。
3.2.3 應(yīng)用展示與查詢(xún)
分類(lèi)頁(yè)包含了所有生物醫(yī)藥社區(qū)已上線(xiàn)的應(yīng)用,可進(jìn)行分類(lèi)具體查詢(xún)。用戶(hù)可根據(jù)需要查詢(xún)生物醫(yī)藥社區(qū)是否包含此應(yīng)用并查詢(xún)?cè)搼?yīng)用的詳細(xì)使用說(shuō)明,方便用戶(hù)了解應(yīng)用的具體詳細(xì)信息。
3.2.4 作業(yè)查詢(xún)與推送
小程序提供了作業(yè)完成時(shí)的查詢(xún)和通知功能,用戶(hù)作業(yè)完成時(shí),將對(duì)已開(kāi)啟推送服務(wù)的用戶(hù)發(fā)起服務(wù)通知,在用戶(hù)的微信服務(wù)通知頁(yè)里,將顯示作業(yè)信息;用戶(hù)可以點(diǎn)擊進(jìn)入查看作業(yè)詳情。同時(shí)在小程序內(nèi)也可以隨時(shí)發(fā)送請(qǐng)求,查詢(xún)當(dāng)前所有已提交作業(yè)的進(jìn)度,包括已完成、進(jìn)行中、失效等多個(gè)狀態(tài)顯示,如圖5所示。
圖1 移動(dòng)端框架圖Fig.1 Frame diagram of mobile terminal
圖3 業(yè)務(wù)流程圖Fig.3 Business flow chart
圖4 平臺(tái)示意圖Fig.4 Platform diagram
圖5 作業(yè)同步示意圖Fig.5 Schematic diagram of job synchronization
生物醫(yī)藥應(yīng)用服務(wù)社區(qū)旨在為領(lǐng)域用戶(hù)提供風(fēng)格簡(jiǎn)潔、方便易用、功能明確的豐富資源的平臺(tái),助力領(lǐng)域科研工作者的科學(xué)研究。社區(qū)將進(jìn)一步推進(jìn)高性能計(jì)算在物信息和藥物研發(fā)領(lǐng)域的應(yīng)用服務(wù),以期為患者量身設(shè)計(jì)出最佳治療方案,以期達(dá)到療效最大化和副作用最小化;為醫(yī)院臨床研究提供可能的更精準(zhǔn)更個(gè)性化的醫(yī)療解決方案,產(chǎn)生良好的經(jīng)濟(jì)和社會(huì)效益。
數(shù)據(jù)與計(jì)算發(fā)展前沿2019年3期