王慧芳
(武昌工學(xué)院,湖北 武漢 430065)
2019年12月,一場(chǎng)突如其來(lái)的新冠疫情席卷全國(guó),致使全國(guó)進(jìn)入緊張的“抗疫”狀態(tài)。在黨的正確領(lǐng)導(dǎo)和指揮下,通過(guò)防疫人員和醫(yī)護(hù)人員的不懈努力以及全國(guó)人民的積極配合,我國(guó)疫情得到了有效控制,但全球疫情仍在持續(xù)爆發(fā),這也對(duì)我國(guó)人民的生命安全造成了嚴(yán)重威脅。因此,在當(dāng)前國(guó)內(nèi)疫情總體穩(wěn)定的前提下,為了能夠保證正常的生活、工作、學(xué)習(xí),我國(guó)進(jìn)入了疫情防控常態(tài)化管理階段。從教育部關(guān)于從嚴(yán)從實(shí)做好教育系統(tǒng)疫情防控工作的系列主題會(huì)議要求可以看出,校園疫情防控是常態(tài)化疫情防控的重中之重。
隨著復(fù)工、復(fù)產(chǎn)、復(fù)學(xué)工作的不斷推進(jìn),各學(xué)校也在積極采取各種措施促進(jìn)開(kāi)學(xué),返校學(xué)生的數(shù)量不斷增加,給學(xué)校的防疫工作也帶來(lái)了很大的壓力。為了實(shí)現(xiàn)有效的防控,本文設(shè)計(jì)一款基于微服務(wù)架構(gòu)的校園疫情防控系統(tǒng)。該系統(tǒng)可以高效安全地存儲(chǔ)數(shù)據(jù),提供日常打卡、場(chǎng)所打卡、校門出入管理等功能,使得校園疫情管理更加規(guī)范化、智能化,可以掌握學(xué)生的健康動(dòng)態(tài),如遇突發(fā)情況可以快速追溯學(xué)生的行動(dòng)軌跡,大大節(jié)省了校園疫情常態(tài)化管理中的人力成本。
微服務(wù)架構(gòu)是當(dāng)前主流的系統(tǒng)開(kāi)發(fā)技術(shù),適用于各種項(xiàng)目的開(kāi)發(fā)。微服務(wù)架構(gòu)是一種分布式架構(gòu)實(shí)現(xiàn)方案,系統(tǒng)按照業(yè)務(wù)功能模塊進(jìn)行劃分,每個(gè)功能模塊作為一個(gè)獨(dú)立的項(xiàng)目而設(shè)計(jì),稱為一個(gè)服務(wù)。微服務(wù)很好地體現(xiàn)了軟件開(kāi)發(fā)設(shè)計(jì)原則中的單一職責(zé)原則,每個(gè)服務(wù)完成特定的功能,有效避免代碼的重復(fù)開(kāi)發(fā),提高代碼利用率,降低系統(tǒng)模塊之間的耦合性。采用面向服務(wù)的開(kāi)發(fā)方法,各個(gè)服務(wù)之間通過(guò)接口調(diào)用實(shí)現(xiàn)關(guān)聯(lián)。
本系統(tǒng)采用Spring Cloud架構(gòu)實(shí)現(xiàn),Spring Cloud是一套完整的微服務(wù)架構(gòu)實(shí)現(xiàn)方案,它是基于Spring Boot開(kāi)發(fā)的,管理Spring Boot創(chuàng)建的各個(gè)微服務(wù)項(xiàng)目。
本系統(tǒng)根據(jù)業(yè)務(wù)功能分為系統(tǒng)管理模塊、班級(jí)管理模塊、部門管理模塊、場(chǎng)所管理模塊以及出入管理模塊。每個(gè)功能模塊為一個(gè)服務(wù),對(duì)應(yīng)自己獨(dú)立的數(shù)據(jù)庫(kù),各個(gè)模塊數(shù)據(jù)庫(kù)之間沒(méi)有關(guān)聯(lián),數(shù)據(jù)庫(kù)采用MySQL實(shí)現(xiàn)。系統(tǒng)微服務(wù)架構(gòu)圖如圖1所示。

圖1 系統(tǒng)微服務(wù)架構(gòu)圖
根據(jù)以上架構(gòu)圖分析,應(yīng)用Spring Cloud框架將此系統(tǒng)劃分為8個(gè)微服務(wù),其中包含5個(gè)業(yè)務(wù)功能服務(wù),分別為系統(tǒng)管理服務(wù)、班級(jí)管理服務(wù)、部門管理服務(wù)、場(chǎng)所管理服務(wù)及出入管理服務(wù);2個(gè)基礎(chǔ)服務(wù),分別為Eureka Server注冊(cè)中心和gateway網(wǎng)關(guān)服務(wù);另外還包含一個(gè)公共工程,為各個(gè)業(yè)務(wù)模塊提供所需的工具類。
系統(tǒng)中的各個(gè)模塊主要由服務(wù)實(shí)例Eureka Client實(shí)現(xiàn),包含服務(wù)提供者及服務(wù)消費(fèi)者。如班級(jí)管理模塊中包含了class-provider與class-consumer兩個(gè)工程。class-provider定義班級(jí)信息增刪改查的接口(即Dao層定義),并提供控制層接口Controller。class-consumer中處理對(duì)班級(jí)信息操作的各種請(qǐng)求。服務(wù)消費(fèi)者class-consumer通過(guò)Feign遠(yuǎn)程調(diào)用class-provider的接口,如在調(diào)用過(guò)程中出現(xiàn)問(wèn)題,則會(huì)通過(guò)Hystrix進(jìn)行熔斷處理。
在全球疫情沒(méi)有得到很好控制的情況下,國(guó)內(nèi)疫情的態(tài)勢(shì)也是變化難測(cè),這也對(duì)當(dāng)前的疫情常態(tài)化防控提出了新的要求,校園疫情防控要根據(jù)國(guó)家疫情防控要求不斷地做出相應(yīng)的調(diào)整,這就要求我們的校園疫情防控系統(tǒng)具備較好的擴(kuò)展性和延展性,可以根據(jù)疫情防控需求及時(shí)做出調(diào)整,為此本系統(tǒng)采用基于微服務(wù)架構(gòu)的方法進(jìn)行設(shè)計(jì),在疫情常態(tài)化防控下可以更好地滿足校園疫情防控的需求。
本系統(tǒng)主要實(shí)現(xiàn)了以下功能模塊:系統(tǒng)管理模塊、班級(jí)管理模塊、部門管理模塊、場(chǎng)所管理模塊、出入管理模塊?;谖⒎?wù)架構(gòu)的校園疫情防控系統(tǒng)的總體框架如圖2所示。

圖2 校園疫情防控系統(tǒng)的總體框架
校園疫情防控系統(tǒng)的各個(gè)模塊既相互獨(dú)立,又密切相關(guān)。在校園疫情防控中,我們既需要掌握學(xué)生的健康信息及動(dòng)態(tài),又需要掌握教職工及在校家屬的動(dòng)態(tài),因此,本系統(tǒng)既有學(xué)生管理模塊也有教職工管理模塊。不管是社會(huì)面還是校園中,出現(xiàn)疫情時(shí)最首要的任務(wù)是迅速找到密接人員進(jìn)行隔離管理,因此,本系統(tǒng)有專門的場(chǎng)所管理模塊,用來(lái)記錄每天到過(guò)該場(chǎng)所的人員信息,便于快速找到相關(guān)人員。本系統(tǒng)后臺(tái)運(yùn)行主界面如圖3所示。

圖3 校園疫情防控系統(tǒng)主界面
下面將對(duì)各個(gè)模塊進(jìn)行詳細(xì)介紹,并展示部分模塊的運(yùn)行界面圖:
(1)系統(tǒng)管理模塊。系統(tǒng)管理模塊主要是由系統(tǒng)管理員和普通用戶組成的,普通用戶又分為學(xué)生和教職工。學(xué)生信息包含姓名、身份證號(hào)、學(xué)號(hào)、班級(jí)、學(xué)院、聯(lián)系方式等,教職工信息包含姓名、身份證號(hào)、職工號(hào)、職工部門、聯(lián)系方式等。系統(tǒng)管理員主要負(fù)責(zé)對(duì)系統(tǒng)中不同角色用戶的管理,以及系統(tǒng)的后期維護(hù)等。對(duì)于普通用戶的變動(dòng),都需要系統(tǒng)管理員及時(shí)完成人員信息的更新,這樣才能保證信息的正確性,比如已經(jīng)離職或者退學(xué)的用戶信息要及時(shí)刪除,避免非本校人員進(jìn)入校園,對(duì)校園疫情防控造成影響,對(duì)于新入職教職工或新生也要及時(shí)完成信息錄入,以方便接下來(lái)的管理。
(2)班級(jí)管理模塊。班級(jí)管理模塊主要是以班級(jí)為單位來(lái)管理學(xué)生的打卡信息,比如學(xué)生的班級(jí)信息、姓名、學(xué)號(hào)、每日健康打卡信息等。在校園疫情防控要求中第一項(xiàng)就是要隨時(shí)觀測(cè)學(xué)生的健康狀況,通過(guò)系統(tǒng)每日健康打卡可以及時(shí)掌握學(xué)生的健康信息,對(duì)疫情防控發(fā)揮著不可忽視的作用。通過(guò)班級(jí)管理模塊可以清晰地看到每個(gè)班級(jí)的學(xué)生人數(shù)、已完成打卡學(xué)生人數(shù),以及未完成打卡學(xué)生人數(shù),班級(jí)管理員也可以通過(guò)班級(jí)管理模塊及時(shí)催促學(xué)生完成每日健康打卡。每日健康打卡都是有時(shí)間限制的,這個(gè)時(shí)間可以由系統(tǒng)管理員設(shè)置,因此,學(xué)生必須在有效時(shí)間內(nèi)完成打卡,具體如圖4所示。

圖4 學(xué)生班級(jí)信息管理界面
(3)部門管理模塊。部門管理模塊主要是對(duì)教職工以及在校家屬的信息進(jìn)行管理。校園疫情防控不僅僅是針對(duì)學(xué)生,教職工及在校家屬也屬于重點(diǎn)防控對(duì)象,因此,我們?cè)谧龊脤W(xué)生管理的同時(shí),也要掌握教職工及在校家屬的健康信息。同樣,教職工及在校家屬也是需要根據(jù)學(xué)校防疫要求完成每日健康打卡的,每個(gè)部門都有自己的部門系統(tǒng)管理員,該管理員可以查看本部門所有人員的打卡信息,方便管理,如果有人沒(méi)有及時(shí)打卡可以對(duì)其進(jìn)行提醒督促。
(4)場(chǎng)所管理模塊。在疫情突然來(lái)襲的時(shí)候,最有效的控制方法就是精準(zhǔn)找到每一個(gè)密切接觸的人員,對(duì)這些人員進(jìn)行管理,這樣會(huì)使疫情的管控范圍縮小,有效控制疫情。在本系統(tǒng)中,場(chǎng)所管理模塊就是用來(lái)記錄每天進(jìn)入某場(chǎng)所(比如圖書館、實(shí)訓(xùn)室、教學(xué)樓的每一個(gè)教室等)人員的信息。當(dāng)有疫情時(shí),我們可以通過(guò)場(chǎng)所管理模塊快速找出到過(guò)該場(chǎng)所的所有人員,精準(zhǔn)地找到每一個(gè)密接人員,迅速做出反應(yīng),避免因相關(guān)人員記不住或記不清自己的行動(dòng)軌跡而造成漏洞,防止校園疫情的擴(kuò)散。
(5)出入管理模塊。校園是一個(gè)相對(duì)封閉的場(chǎng)所,不管是人員還是車輛出入都要經(jīng)過(guò)出入口,因此必須嚴(yán)格管理出入口。在校園疫情防控管理中,進(jìn)出校園都是要記錄的,出入管理模塊就是用來(lái)記錄出校及進(jìn)校人員的信息。出入管理模塊主要是用來(lái)記錄進(jìn)校人員從何地來(lái),出校人員去往何地,這樣做的目的是及時(shí)攔截來(lái)自中高風(fēng)險(xiǎn)區(qū)域的人員,不讓其進(jìn)入校園,從而避免將疫情帶到校園。校園是一個(gè)人員相對(duì)密集的地方,一旦出現(xiàn)疫情,就會(huì)是一個(gè)大的爆發(fā),所以,我們要掌握每一位進(jìn)校人員的行動(dòng)軌跡,便于后期隨時(shí)追蹤溯源,在其初次進(jìn)校時(shí)就必須做好登記,同時(shí),出入口也要嚴(yán)加管理,無(wú)關(guān)人員與車輛一律不讓進(jìn)入,避免將疫情帶入校園。學(xué)生入校登記管理界面如圖5所示。

圖5 學(xué)生入校登記管理界面
如果某用戶是首次進(jìn)入校園疫情防控系統(tǒng),則需要系統(tǒng)管理員先將他/她的信息錄入系統(tǒng),之后他/她才可以登錄。用戶使用本人身份證號(hào)登錄,用戶進(jìn)入系統(tǒng)后可以查看自己的個(gè)人基本信息,如果有誤需要上報(bào)系統(tǒng)管理員進(jìn)行修改。在使用班級(jí)管理系統(tǒng)時(shí),需要確認(rèn)自己的班級(jí)是否正確,每日健康打卡是需要進(jìn)行定位打卡的,如果出現(xiàn)定位識(shí)別不了,可以多次嘗試,如果反復(fù)嘗試多次都無(wú)法識(shí)別定位,則要上報(bào)系統(tǒng)管理員重新設(shè)置該人員的信息。除此之外,在每日健康打卡時(shí)還需要填寫自己的健康狀況。在使用場(chǎng)所管理系統(tǒng)時(shí),需要每位進(jìn)入該場(chǎng)所的人員主動(dòng)去打卡,這樣系統(tǒng)才會(huì)有記錄,因此需要所有人員配合完成。在用戶出入校門的時(shí)候,需要在進(jìn)出管理系統(tǒng)中填寫自己的離?;蚍敌I暾?qǐng),出入地點(diǎn)是必填項(xiàng),學(xué)校根據(jù)各地疫情防控要求進(jìn)行記錄,如若學(xué)生出入地點(diǎn)有疫情,可以通過(guò)出入管理系統(tǒng)迅速找到相關(guān)人員進(jìn)行管控。
本系統(tǒng)可以通過(guò)班級(jí)管理模塊和部門管理模塊及時(shí)掌握每一位學(xué)生、教職工及在校家屬的健康動(dòng)態(tài),通過(guò)場(chǎng)所管理模塊可以看到校園中每一個(gè)場(chǎng)所中一天之內(nèi)到訪的人員信息,通過(guò)出入管理模塊可以查看所有進(jìn)出校園人員的信息。結(jié)合運(yùn)用以上四個(gè)模塊,管理人員可以隨時(shí)查看學(xué)生、教職工及在校家屬的健康信息以及在校動(dòng)態(tài)軌跡,如果突發(fā)校園疫情,該系統(tǒng)可以有效促進(jìn)校園疫情防控工作的開(kāi)展,在一定程度上節(jié)約了人力和物力。在疫情常態(tài)化校園管理中,校門是第一道防線,本系統(tǒng)通過(guò)出入管理模塊對(duì)進(jìn)出校園的人員進(jìn)行嚴(yán)格管理,牢牢把好校園疫情防控的第一關(guān)。
校園疫情突發(fā)危機(jī)事件的有效解決有賴于校園日常疫情防控管理系統(tǒng)的信息記錄,從日常管理抓起,這樣可以縮短事件處理時(shí)間,提高效力。因此,校園疫情防控系統(tǒng)的應(yīng)用是非常有必要的,在大多數(shù)學(xué)校的疫情防控管理中都得到了充分的驗(yàn)證,其在校園疫情防控中起到了良好的作用。本校園疫情防控系統(tǒng)利用微服務(wù)架構(gòu)方面的技術(shù)進(jìn)行設(shè)計(jì),降低了模塊與模塊之間的耦合性,并采用MySQL數(shù)據(jù)庫(kù)對(duì)每一個(gè)模塊的數(shù)據(jù)進(jìn)行存儲(chǔ)。該系統(tǒng)可以快速掌握每一位學(xué)生、教職工以及在校家屬的每日健康狀況,在突發(fā)疫情時(shí),也可以迅速掌握每個(gè)人在校的行動(dòng)軌跡,便于根據(jù)疫情防控需求進(jìn)行精準(zhǔn)查詢。校園疫情常態(tài)化管理中,因?yàn)樾@人員相對(duì)密集,人員的精準(zhǔn)定位是我們必須要掌控的,這樣可以做到將疫情傳播控制在最小的范圍內(nèi)。