王順先,金 耀*,王 文
(1.常州大學 圖書館,江蘇 常州 213164;2.聊城職業技術學院,山東 聊城 252000)
目前,新冠病毒全球肆虐,而且新冠病毒還在變異,所以疫情防控仍然不能放松。高校圖書館是人員密集的地方,防控要求高、任務重,為了實現疫情常態化防控,高校圖書館要做到實時人流控制,入館體溫檢測,保證安全距離,準確掌握讀者和座位使用記錄[1-2]。在重視場地衛生和病毒消殺的同時,越來越多的高校圖書館將目光轉移到進館人員管理和座位管理上來,因此如何科學合理地設計圖書館門禁系統和座位預約系統,在疫情防控之時顯得尤為重要。進行門禁和座位預約系統無縫對接,實現圖書館疫情精準防控[3]。
隨著高校不斷擴招,高校圖書館閱覽座位越來越緊張,在考研和期末考試期間,座位緊張問題更為突出,占座搶座現象時常發生,經常出現“占而不用”的現象,而且學生還創新性地占座位,如將自己不用的書籍、水杯等長期放在自己喜歡的座位上,圖書館工作人員要花費大量的精力和時間去清理這些物品,而且還要保存這些學生的占座物品。所以提高座位利用率,提高圖書館座位服務的合理性和公平性,一直是圖書館管理者致力解決的問題。因此,座位預約系統在圖書館的應用越來越廣泛。對于學生而言,座位預約系統可以讓學生在網上或者手機端,查看剩余座位情況,選擇自己喜歡的座位,實現座位提前預約。對于圖書館管理者而言,可以避免學生占座搶座,分析座位使用情況,提高座位使用效率,優化座位布局,提升服務質量。
圖書館門禁系統是一種智能化安防信息管理系統,隨著信息技術和人工智能技術的發展,門禁安防系統技術也得到了極大的發展,現在門禁安防系統融入了越來越多的智能元素,如人臉識別、智能預警等,在新冠疫情暴發后,門禁系統還融合了疫情防控的功能,如實時體溫檢測、健康碼識別等。研發高校圖書館門禁系統,首先體現了開放、自助、智慧的圖書館管理理念,可以協助圖書館提高管理效率和提高服務質量[4],簡化了進出圖書館檢查的手續,強化了圖書館的安全保障,尤其是在新冠疫情防控期間增加了一種有效的防控手段;其次圖書館是一個人員密集的地方,對進出館人員進行有序的管理與科學的統計顯得尤為重要,因此配置圖書館門禁系統是有必要的。
高校國際化程度越來越高,進入圖書館的留學生也日益增多。目前新冠病毒全球肆虐,高校圖書館是疫情防控重點部門,要求高校圖書館做到新冠疫情常態化防控。圖書館門禁系統和座位預約系統是圖書館疫情防控的兩道戰壕,門禁系統可以在疫情防控時實現人流控制、體溫檢測、健康碼核查;座位預約系統可以實現讀者間隔相坐,座位使用記錄可查詢。二者結合起來可以實現讀者預約座位、門禁簽到、離館、讀者入館軌跡查詢等。將圖書館門禁系統和圖書館座位預約系統進行復合設計,不僅可以提高管理效率,提升圖書館的服務質量,改善讀者進館閱覽學習的體驗,還可以將疫情阻斷在圖書館之外,有效地助力高校新冠疫情防控。
系統設計主要涉及兩個系統的數據共享,實時通信。方案一獨立設計座位預約系統與門禁系統,再建立兩個系統的數據共享中心和通信協議,缺點是這種數據共享方式時效性差,會出現兩個系統數據不一致的問題;兩個系統使用通信協議進行通信,增加了系統的復雜度和系統開發成本。方案二將這兩個系統作為一個系統設計,采用模塊化、層次化設計思路,在系統內部設計對接模塊和數據共享層,可以有效地避免方案一的缺點[5]。
目前Java Web 開發主要使用模型-視圖-控制器(Model-View-Controller,MVC)軟件設計典范進行項目的開發,將業務、數據、顯示等前后端分離設計。使用較多的MVC框架有SSH(Struts2-Spring-Hibernate )和SSM(SpringMVC -Spring -MyBatis )框架。SSH框架,使用Struts2作為控制器,Spring作為業務對象管理器,Hibernate作為持久化層。SSM框架,使用SpringMVC作為控制器,Spring作為業務對象管理器,MyBatis 作為持久化層。這兩個框架共同點是都采用Spring作為業務對象管理器,通過注入進行對象管理,運用面向切片編程技術進行事務、權限、日志等管理。這兩個框架不同點主要是MVC實現的方式和持久化實現方式不同,SSH重配置,在SQL優化方面比較弱;SSM屬于輕量級配置,在開發中可以非常方便地使用注解,SQL優化更簡潔,開發難度比SSM高。所以綜合比較,系統框架選擇SSM框架進行項目的開發。
SSM框架是整合SpringMVC,Spring和Mybatis三者的復合型框架,采樣標準的MVC模式。使用Spring MVC負責請求的轉發和視圖管理,Spring實現業務對象管理,Mybatis作為數據對象的持久化引擎。SSM框架方便進行系統模塊化、層次化設計。Spring框架是目前使用廣泛的J2EE應用程序框架,是Rod Johnson開發的一個開源的框架,使用Bean factory對類的實例化進行管理,提供J2EE應用開發一站式解決方案,極大地提高了開發效率。SpringMVC與Spring無縫對接,分為業務層、數據層、控制層。接收客戶端發來的請求,進行處理,并返回顯示頁面,是一種請求驅動型Web框架。Mybatis是一個使用較多的持久層框架,可以定制特定數據庫操作,操作數據庫比較簡單,可以使用XML或者注解進行配置。采用模塊化、層次化方式對圖書館座位預約系統和門禁系統進行復合設計,系統架構如圖1所示。

圖1 基于SSM框架的門禁與座位預約復合系統設計架構
系統分為3個模塊:門禁模塊、對接模塊、座位預約模塊。門禁模塊要實現準入判別,如學生卡刷卡識別、人臉識別、體溫檢測、健康碼識別、數據記錄等功能[6]。對接模塊主要是數據的實時對接,學生基本信息,進出館數據的實時共享。座位預約模塊對圖書館座位資源實現按校區、場館、樓層、區域進行管理,實現學生網上或現場預約座位。從學生、座位等多個維度記錄預約使用情況,并提供座位使用情況記錄與分析[7]。
系統劃分為5個層次:實體對象層、網絡層、數據共享層、業務層、管理層。實體對象層:門禁閘機、體溫檢測攝像頭、健康碼識別器、校園卡刷卡器、實體預約機。學生進館時,刷校園卡驗證身份,展示健康碼,在攝像頭前測量體溫,只有校園卡、健康碼、體溫檢測三者全部檢查通過,閘機門才打開,并記錄入館信息 (學生姓名、學號、班級、入館閘機號、入館時間、健康碼情況、體溫等),三重驗證不通過者,閘機不打開,但記錄信息并發出報警。網絡層:給系統所有實體對象分配IP地址,便于進行集中網絡管理。數據共享層:要實現座位預約系統、門禁系統、信息中心數據系統三者數據的無縫對接。對接的數據主要是信息中心向座位預約和門禁系統共享校園卡信息,校園卡會有掛失、新辦卡等數據更新,為了實現數據在這3個系統中的一致性,直接在信息中心建立校園卡信息孿生表,由信息中心實時維護該表,座位預約系統和門禁系統可以通過網絡實時讀取該表,獲取校園卡信息[8]。門禁系統實時維護一個進出門表,有進出門事件發生,記錄在該表上,并發送消息給座位預約系統,實現座位預約系統和門禁系統的實時共享校園卡信息和進出門消息。業務層:門禁系統的業務層主要實現讀者入館的校園卡驗證、體溫檢測、健康碼檢測,檢測數據和進出門數據記錄,并和座位預約系統以事件觸發方式進行通信,實現進出門禁數據實時共享。座位預約系統的業務層實現學生的網上、微信公眾號、選座機上座位的查詢預約、簽到、離館、預約歷史查詢等功能,并接收門禁系統發來的進館、離館信息,進行預約座位的簽到、離開等操作。管理層:門禁系統實現進出門禁、體溫檢測、健康碼檢測等歷史數據的查詢,黑白名單維護。門禁閘機的IP、開關、進出方向等相關功能維護。座位預約系統實現座位資源維護、座位使用數據和人員預約使用數據的查詢、預約規則維護等。
本文利用SSM框架便于實現系統模塊化、層次化設計的優點,分模塊、分層次清晰明了地進行高校圖書館門禁系統和座位預約系統復合設計。分模塊,將系統分為門禁模塊、對接模塊、座位預約模塊;分層次,將系統劃分實體對象層次(硬件層)、網絡層、數據共享層、業務層、管理層。實現了門禁身份、體溫、健康碼檢查,和座位預約系統對接,實現通過門禁即可座位簽到等,方便了讀者,實現了歷史數據查詢,為疫情防控提供了歷史可查數據。整個門禁與座位預約復合系統為高校圖書館疫情防控提供了強有力的手段,確保高校圖書館在疫情防控期間安全穩定地提供服務。