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

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

圖2 校園疫情防控系統的總體框架
校園疫情防控系統的各個模塊既相互獨立,又密切相關。在校園疫情防控中,我們既需要掌握學生的健康信息及動態,又需要掌握教職工及在校家屬的動態,因此,本系統既有學生管理模塊也有教職工管理模塊。不管是社會面還是校園中,出現疫情時最首要的任務是迅速找到密接人員進行隔離管理,因此,本系統有專門的場所管理模塊,用來記錄每天到過該場所的人員信息,便于快速找到相關人員。本系統后臺運行主界面如圖3所示。

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

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

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