陳川
(中國計量科學(xué)研究院 北京市 100029)
隨著對外開放的飛速發(fā)展,各個國家之間進出口貿(mào)易不斷增加,牲畜類的全球流動也日益頻繁。外來物種的進入經(jīng)常攜帶著各種已知或未知的傳染疾病,如果未被及時發(fā)現(xiàn),其擴散速度以及擴散范圍將難以得到有效控制,短時間內(nèi)就會對人們的生活甚至社會的發(fā)展造成極大的影響。因此,準(zhǔn)確高效的疫情風(fēng)險評估與預(yù)警預(yù)報,對保護人民的生命財產(chǎn)安全、維護國家與社會的發(fā)展有著越來越重大意義,其重要性不言而喻。
為此,本研究從科學(xué)預(yù)防的角度出發(fā),建立了基于高并發(fā)數(shù)據(jù)庫的專家推薦系統(tǒng)。本系統(tǒng)采用半定量評估方法,根據(jù)明確的評估標(biāo)準(zhǔn)給出評分,從而保持評估過程的透明度和客觀性。組織專家?guī)斓膶<覙?gòu)建評估因素的層次結(jié)構(gòu),并根據(jù)層次分析法對各因素進行加權(quán),從而確定調(diào)查問卷的基本框架。通過上級機構(gòu)下達風(fēng)險評估任務(wù),再由秘書處上傳相關(guān)資料。同時組建專家組,邀請專家參加風(fēng)險評估,由專家對每個風(fēng)險因子進行風(fēng)險性評分并對把握程度進行自評。最后,系統(tǒng)生成評估結(jié)果匯總至秘書處,生成風(fēng)險評估報告。
如圖 1 所示,該系統(tǒng)主要由四部分組成:客戶端(專家打分平臺)、由秘書處和超級管理員組成的后臺管理系統(tǒng)、云平臺和數(shù)據(jù)庫。系統(tǒng)主要功能包括:上傳相關(guān)資料,并賦予專家組前端權(quán)限,對疫情因子打分,經(jīng)過云平臺的算法處理后,獲取因子權(quán)重同時將因子權(quán)重值存儲到數(shù)據(jù)庫中。在對疾病進行風(fēng)險評估時,在危害確認(rèn)后,具有相應(yīng)權(quán)限的秘書處根據(jù)疫情特征選擇相關(guān)研究領(lǐng)域,經(jīng)云平臺處理后篩選出合適的專家,組建專家組,并進行層次因子建模,對合適的專家組下達任務(wù)。同時,秘書處上傳疾病相關(guān)資料,發(fā)送到前端(客戶端)并發(fā)送給專家,專家填寫問卷,提交至數(shù)據(jù)庫更新存儲,后臺訪問數(shù)據(jù)庫獲得問卷情況,經(jīng)過云平臺數(shù)據(jù)處理,自動獲得分析報告。
該模塊的程序邏輯如圖 2 所示。管理員在專家 信息管理模塊進行添加、刪除、查看、編輯操作。在添加模塊中,可以添加新的專家,輸入專家用戶名與初始密碼,通過云平臺處理后保存至數(shù)據(jù)庫中;專家通過秘書處提供的用戶名與初始密碼首次登錄客戶端,以完成后續(xù)操作。在刪除模塊中,秘書處可以刪除專家賬號。在查看模塊中,可以查看專家的信息,包括基本信息、聯(lián)系方式、研究領(lǐng)域等。在編輯模塊中,可以編輯專家信息與專家權(quán)限。專家信息管理模塊存儲了專家在系統(tǒng)中的基本信息、研究領(lǐng)域、聯(lián)系方式以及前端各個模塊的操作權(quán)限,其中包括了疫情風(fēng)險評分模塊、因子權(quán)重確定等模塊的權(quán)限。
圖1:專家推薦系統(tǒng)組織架構(gòu)圖
圖2:專家信息管理模塊流程圖
根據(jù)相關(guān)疫情資料,層次結(jié)構(gòu)建模模塊重新組織為一個等級結(jié)構(gòu)。將決策的目標(biāo)、考慮的因素和決策對象按它們之間的相互關(guān)系分為最高層、中間層和最低層,并繪出層次結(jié)構(gòu)圖,以便于專家的打分。具體層次分析公式為:
其中:w 為分值權(quán)重,si表示專家打分分?jǐn)?shù),表示為專家分值和權(quán)重的累計和均值。
如圖3,風(fēng)險評估報告生成模塊將各個專家對于每次任務(wù)當(dāng)中對疾病因子的打分做匯總處理。按照系統(tǒng)報告需求,統(tǒng)計各個模塊所需要的相關(guān)信息。按照一定的算法進行相應(yīng)的自動化處理,并將處理結(jié)果可視化到平臺頁面。最后,可根據(jù)相關(guān)的層次分析算法生成風(fēng)險評估報告。
任務(wù)下達模塊具體的流程為在后臺確認(rèn)危害之后,根據(jù)疫情特征,選擇好相應(yīng)的因子模板,推薦出相對應(yīng)領(lǐng)域各個專家,組建相應(yīng)的專家組,在客戶端提示待辦信息。建議留言查看模塊用于查看專家的留言。風(fēng)險評估報告模塊將專家評分進行匯總,并將匯總表生成 Excel 文件,同時將評分統(tǒng)計結(jié)果填入原始的風(fēng)險評估報告模板中,生成PDF 形式的風(fēng)險評估報告,以便于后續(xù)查看。
數(shù)據(jù)庫數(shù)據(jù)表主要關(guān)系如圖 4 所示,所有的疫 情因子構(gòu)成一張表格,在所有因子表中提取因子分層,獲取因子分層表。因子分層表由三部分組成,分別是所有病種表、一層因子表、二層因子表。同時,在因子分層后計算出分層因子的權(quán)重,從而獲取分層因子權(quán)重存儲表,以便專家打分。專家打分后形成專家評分表和專家打分日志表。
另外,為了解決多用戶高并發(fā)給數(shù)據(jù)庫帶來的壓力,本系統(tǒng)采用了如下方法進行改進:
(1)頁面靜態(tài)化 - 用戶可以直接獲取頁面,不需要與后臺數(shù)據(jù)交互,節(jié)省二次加載時間。
(2)緩存機制 - 第一次獲取數(shù)據(jù)時,后臺直接從數(shù)據(jù)庫提取,然后將提取的數(shù)據(jù)保存至緩存中,從而保證了后續(xù)相同數(shù)據(jù)可直接從緩存中提取。由于內(nèi)存操作遠快于 IO 操作,因此大量地節(jié)省了數(shù)據(jù)搜索時間,同時通過機制維持緩存和數(shù)據(jù)庫的一致性。
(3)批量讀取 - 在多個用戶同時提交的高并發(fā) 情況下,把多個請求的查詢合并后同時進行,從而減少了數(shù)據(jù)庫的訪問次數(shù),優(yōu)化了查詢時間。
(4)延遲修改 - 在高并發(fā)情況下,把多次修改請求先保存至緩存中,然后定時將緩存中的數(shù)據(jù)保存到數(shù)據(jù)庫中,但其帶來的風(fēng)險是可能會由于斷電丟失緩存中的數(shù)據(jù)。
(5)索引應(yīng)用 - 索引可以看作是特殊的緩存, 使用索引可以快速定位到目標(biāo)數(shù)據(jù),大大降低了搜索時間的復(fù)雜度。
為了驗證系統(tǒng)的可靠性,本研究針對不同用戶群體,仿真模擬了真實疫情爆發(fā)情況下專家推薦系統(tǒng)的一整套操作流程。其中,在多個用戶實時操作該系統(tǒng)的過程中,系統(tǒng)能夠通過緩存機制,快速地處理多用戶高并發(fā)數(shù)據(jù)存儲,查詢和修改等操作。其次,專家推薦模塊能夠針對疫情實際需求快速推薦出與之對應(yīng)相關(guān)專家,實現(xiàn)專家與疫情的專業(yè)匹配。最后,系統(tǒng)能夠匯總專家評判結(jié)果,自動生成疫情分析報告。
本文設(shè)計的基于高并發(fā)數(shù)據(jù)庫的專家推薦系統(tǒng),在本質(zhì)上提高了疫情分析的準(zhǔn)確率,能夠在防止疫情加劇、預(yù)防疫情發(fā)生、根治疫情等方面都起到積極有效的作用。同時,項目本身也方便了工作人員在資料整理、人員調(diào)動、資源分配、任務(wù)下達等流程的操作,在實際應(yīng)用中也大大縮減了人力的工作量,使得工作自動化、可視化以及可操作化。
圖3:風(fēng)險評估報告生成模塊流程圖
圖4:數(shù)據(jù)結(jié)構(gòu)設(shè)計圖