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