翁錦樂,潘威華,王梓東,何韋穎,李梓敬
(廣州理工學院 計算機科學與工程學院,廣東 廣州 510540)
隨著互聯網的快速發展和政策的支持,社會上涌現了許多志愿服務平臺,如i志愿、志愿匯等。這些平臺為人們參與社會志愿服務提供了眾多的志愿服務信息渠道,方便了人們參與社會志愿服務。同時,這些志愿服務屬于勞動活動組成的一部分,也是勞動活動的另一種體現方式。
勞動素質實踐活動是新時代對高校的新要求,是全面發展高校育人體系的重要組成部分,是大中小學需要開展的勞動實踐活動。因此各大高校開展了勞動素質實踐活動,培養學生的勞動素養[1-4],加強學生的勞動服務意識。當下,勞動素質實踐活動面向的對象是學生,而社會志愿服務用戶對象是全體社會人員。這兩者之間存在著包含的關系,如何將社會志愿服務平臺的志愿服務和高校的勞動素質實踐活動管理結合起來,是當下亟待解決的問題。與此同時,許多高校仍采用傳統的線下管理方式,這種管理方式存在著管理效率低、人工時間成本投入高、勞動素質實踐活動核實困難、活動管理難、勞動學時認定難等問題。
此文提供了一種以多維度數據采集與融合的方式來設計勞動管理系統,通過提供高效的勞動素質實踐活動管理方式,結合信息化技術,將勞動素質管理從線下轉為線上,建立在線勞動實踐活動管理平臺,實現勞動學時統計、核實、管理等功能,提高勞動素質實踐活動的效率和質量,將社會志愿服務和高校勞動素質實踐活動結合起來,為學生提供更多的志愿服務機會,培養學生的社會責任感和公民意識。
系統使用基于MVC 的三層架構模式進行分層,將整個系統應用分別劃分為:視圖層、業務層和數據層,如圖1所示。

圖1 系統結構圖
視圖層作為系統中的一個重要組成部分,負責將服務端傳輸的數據格式化并展示給用戶。它實現了UI 邏輯與業務邏輯的分離,從而實現了前后端分離。視圖層包括數據展示、用戶交互、數據驗證、界面設計等功能。該層分為小程序和PC 端,通過小程序終端和PC終端提供需要的交互界面為用戶提供視圖。這種分離出視圖層的方式,使得系統頁面UI渲染與業務邏輯相互解耦,用戶只關注視圖層的數據和操作,研發雙端只需要遵循協議即可完成交互過程,大大降低了系統的維護成本,提高了開發效率。
業務層是應用程序的核心業務邏輯處理層,它負責接收視圖層發送來的請求,并進行相應的數據處理、邏輯計算等操作,最終返回結果給視圖層。系統通過業務層將復雜的業務邏輯如報名活動、退選活動、申請活動、審核活動、發布活動、認定學時、導入學生數據和信息等,進行統一處理和組織,使得應用程序結構更加清晰、易于管理和維護。
在系統應用過程中,業務層通常需要同時操作多個數據表,表與表之間可能存在復雜的關系。當視圖層需要處理這些復雜的數據時,需要將數據送往業務邏輯層完成數據轉換的處理,以便保證請求能夠正確地被處理,從而保證業務邏輯的正確性和數據的一致性。
數據層是負責管理應用程序中所有數據的層級,主要包含了數據存儲、數據訪問和數據處理等相關的功能[5],將業務層和數據源之間進行解耦,實現數據的高效和可靠訪問。
系統中的數據層采用Mysql 和Redis 存儲和管理結構性和非結構性數據,如用戶信息、學時信息、角色信息、行為日志、菜單列表、活動信息、學生與活動關聯信息等。當系統需要調用數據時,該層會先將數據傳遞到業務層進行邏輯處理,再展示到視圖層。當系統接收到用戶的數據存儲請求時,數據會先經過業務層進行邏輯處理,再根據數據類型調用數據層的不同數據存儲接口,將信息保存到數據庫中。
2.1.1 PC終端

表1 PC終端技術作用表
2.1.2 微信小程序終端

表2 微信小程序終端技術作用表
2.1.3 服務終端

表3 服務端技術作用表
系統共設置了5種角色,分別為學生、教師、書記、學生處職工、系統管理員,如表4所示。

表4 角色解釋對照表
系統的業務邏輯分為活動審批認證流程、學生活動報名考勤流程兩部分。整體系統業務邏輯流程如圖2所示。

圖2 系統業務邏輯流程圖
2.3.1 活動審批認證
活動審批認證流程中,教師在PC終端創建活動,通過Axios 發起活動申請審批網絡請求,服務端接收到請求并校驗后即可通過Mybatis 在Mysql 數據庫生成相對應的活動信息。同樣,學生處職工通過請求Restful接口查詢教師發起的活動申請,服務端接收到請求以后,查詢數據庫數據,最后使用Fastjson處理數據并返回給前端,前端渲染完數據以后即可進行審批,對照活動信息,根據活動實際內容進行通過或者駁回操作網絡請求,確保活動的合理性和規范性。
當申請的活動獲得學生處職工審核通過時,教師可在系統中對活動細節進行補充并發布該活動。整個活動提交和審批過程中,都會使用Spring Security對用戶權限進行校驗。
當學生完成活動報名后,教師需要對報名人員進行篩選和確認名單,以便更好地安排后續的考勤和學時認定任務。教師在活動開展前須發布考勤任務,在活動結束后,教師需要根據實際情況對活動參與人進行認定學時。
2.3.2 活動報名
學生可以在教師發布活動后,系統通過RabbitMQ向學生群體發送異步通知消息。同時,學生用戶可以在微信小程序終端中查詢活動信息和報名活動,為了構建一個高可用高并發的服務,對活動報名接口的數據進行Redis 緩存,再使用Spring-Boot 的ReentrantLock 對每個活動設置線程鎖,最后使用ConcurrentHashMap進行緩存活動的鎖,實現高并發報名。
學生根據自己的實際情況選擇報名參加活動,小程序端通過接口wx.request 發送Resuful 網絡請求,Spring-Boot 服務端接收到數據以后就會進行處理,最后等待發布活動的教師篩選。當學生報名活動被成功錄用,即可等待活動的開展。在活動開展過程中,學生需要參與考勤以確保學時認定的準確性和完整性。
在系統中,系統功能模塊劃分為父子模塊。劃分出的模塊主要圍繞活動、用戶和學時三大主要功能展開。在這些父模塊之下,還有針對特定業務和功能的眾多子模塊,通過這些子模塊之間的調用和協同,形成了完整的父模塊功能,如圖3所示。

圖3 系統核心功能模塊圖
2.4.1 活動認定機制
系統的活動涉及社會志愿服務活動和校內活動,需要建立不同的認定機制。對于學生參加校外的服務志愿活動,需要遵循校外社會志愿活動學時規則建立一套活動認定機制,根據學生所參與的服務內容、學時等要素進行認定,并將符合條件的服務認定為高校勞動素質實踐活動學時,最終納入勞動素質實踐活動管理中。同時,對于系統內部的活動服務學時,也需要建立一套活動認定機制。活動負責人需要對報名后未到場或中途離開的情況進行核實和確認,以便更好地保證學時的公正性和有效性。
主要技術設計流程:學生參與完活動以后,教師通過發送Axios 請求向獲取學生報名數據,前端獲取數據以后通過ElementUI 進行數據渲染,教師確定學時無誤后,發送確認請求。后端拿到請求數據,通過使用多線程的模式對每個線程進行數據校驗,校驗無誤后,通過MybatisPlus 的BatchUpdate 方法批量更新數據,若無此過程無產生異常,則活動認定流程結束。
2.4.2 數據采集與融合機制
為了解決其他志愿服務平臺沒有開放接口數據給第三方接入的問題,系統采用了統一映射關系建立學時采集表的方式,通過抓取其他平臺數據、其他平臺管理員導出數據、學生自我上報、教職工提供數據等不同維度的方式采集數據,由業務相關負責人采集完數據后,再由系統管理員同步融合到系統,實現將學生已完成的勞動實踐活動同步到系統中,避免重復的勞動。
主要技術設計流程:管理員拿到學時采集表以后,在前端通過使用el-upload 組件上傳表格文件,服務端接口使用MultipartFile 參數接收數據。對一些基本數據校驗無誤以后,使用Apache的POI工具對表格數據項進行提取,同時為了提高系統處理能力,該部分使用多線程。所有數據項都提取完畢后,即可入庫。如果在導入數據的過程中出現錯誤,系統將會生成UUID唯一標識碼,然后將錯誤信息使用Redis緩存起來,供管理員后續查詢具體失敗信息。
2.4.3 活動考勤機制
系統提供了一種活動考勤機制,用于保障學生參與活動并進行學時認證。該機制通過在活動中進行考勤,能夠提高學生的參與度和活動管理效率;保證學時數據的準確性和完整性;增強學生的勞動素質意識和實踐能力。教師發布任務時可以選擇多種考勤方式。系統以人臉識別為主要考勤方式。
人臉識別技術是一種高效的生物識別技術,已被廣泛應用于各個領域。在考勤中,人臉識別技術有以下優點:
1) 具有高精度和高可靠性。通過采集學生的面部信息,并進行比對和匹配,可以準確地識別學生身份并記錄其考勤情況。相比傳統的考勤方式,如簽到表或考勤卡,人臉識別技術不會受到時間、地點等因素的影響,更加準確和可靠。
2) 具有便捷性和安全性。通過使用攝像頭等設備進行身份驗證,可以提高考勤效率,實現自動化考勤管理,并避免了考勤過程中的接觸風險。
3) 具有靈活性和普適性。不同于其他生物識別技術需要特殊硬件設備,人臉識別技術只需要攝像頭即可實現,可以自動適應學生面部特征變化,不受外部因素的影響,具有較強的靈活性。
主要技術設計流程:人臉采集階段,學生在小程序端通過JWT 獲取到Token,然后上傳自己的人臉圖片,將圖片轉換為Base64 之后通過wx.request 請求將圖片數據以及Token 發送到服務端,服務端識別Token有效且合法后再通過百度人臉識別API識別圖片是否屬于符合要求,是的話就將其人臉數據特征與用戶ID進行綁定,并存儲到數據庫中。在考勤階段,學生同樣實時上傳自己的人臉圖片到服務端,服務端通過API識別出人臉特征信息,再將此人臉特征與該用戶先前存儲的特征進行對比,如果對比成功,則返回考勤成功,否則將無法正常進行考勤。
2.4.4 漸進式預警機制
系統制定了一種漸進式的學時預警機制。該機制在學生大一時錄入學時數據后開始計算,學生需在規定日期前完成所有規定的勞動學時實踐活動。若學生未能達到要求,則在大三、大四時系統會自動觸發學時預警機制,通過微信服務號推送給學生預警通知。這種預警機制通過逐步累積學時量和漸進式的提醒方式,可以使學生更加重視勞動素質培養并增強勞動實踐意識。
主要技術設計流程:服務端通過QuartzScheduler自動定時技術,每天自動掃描系統需要預警的學生,獲取到數據以后,通過Redis 設置一定的過期TTL,然后將待預警學生列表通過RabbitMQ 的指定Topic 和hashKey 發送異步消息到微信消息通知服務,當消息被消費以后,學生即可接收到來自系統的預警通知。
系統采用部署兩臺服務器的配置方案,分別為應用服務器和數據中心服務器,兩臺服務器各自承擔著不同的功能。通過使用Nginx 實現負載均衡,可以將請求分發到不同的服務器上,提高系統的響應速度和處理能力。
應用服務器采用了Docker 容器技術來部署Spring Boot項目,將應用程序打包成一個獨立的容器,便于部署和管理。同時,Docker支持動態擴展容器數量,可以根據系統負載情況自動增加或減少容器數量,以滿足不同的需求。
數據中心服務器采用了MySQL和Redis 2種數據庫作為數據存儲方案。MySQL 數據庫是一種海量數據存儲與管理技術,具有良好的穩定性和可靠性,可以滿足大規模數據存儲和處理的需求。而Redis作為一種高性能的key-value存儲系統和NOSQL類型數據庫,為系統提供緩存容器,同時支持大規模的消息隊列操作,解決高并發等問題。
學生在程序端“活動中心”中可以查看報名的活動,并可以根據負責人篩選可報名的活動、查看活動詳情、確認報名活動、分享活動給他人。
學生可以在“我的活動”中查看自己參與的活動,了解所參與活動的詳細信息和最新動態。也可以進入個人信息模塊中管理個人基本信息和基礎服務。
系統Web管理端主要提供給教師(書記),學生處職工、系統管理員操作系統使用。根據用戶的角色不同,系統會顯示不同的功能模塊。以滿足不同角色的權限功能需求。
對于教師(書記)用戶,系統將提供以下功能模塊:
1) 數據總覽:該角色的此模塊可以展示當前教師(書記)角色用戶所發布的活動和管理的學生數據,為教師(書記)監管班級和活動管理提供可視化數據;
他們正說著,扎洛回來了,他一進家門就高興地叫開了:阿爸——我抓到三只青蛙了。登子的臉呼地紅了,趕忙喝住扎洛:你沒看到張爺爺來了嗎?扎洛趕忙把破衣服里包的青蛙藏在身后,青蛙窸窸窣窣地跳著。扎洛只穿了件紅色的秋衣,兩邊的袖口都撕到了胳膊肘,右手大拇指上有個繭疤裂開了,血凍在傷口上,肥肥的褲腳上打了四五層補丁,膠鞋的鞋幫和鞋底幾乎一分為二,大半個腳掌露在外面。甲洛洛趕忙拉過孩子:快過來烤烤火。登子的臉一下暗了下來:小牛犢,快回去找你阿媽去。扎洛一溜煙跑了,甲洛洛看到孩子眼窩里有淚。
2) 活動管理:該角色的此模塊提供了教師(書記)角色用戶管理活動流程功能,用于在勞動學時活動過程中管理和跟蹤相關的操作。在該過程中有申請活動、發布活動、確認活動報名、學時認定、歷史活動記錄等操作和活動管理;
3) 學生管理:該角色的此模塊提供了教師(書記)角色用戶的帶班學生信息管理,用于管理和預警自己所帶班級的學生信息,預警未滿學時的學生,查看修滿學時學生的詳情。書記角色可以同步學生的其他平臺的勞動志愿時。
對于學生處職工用戶,系統將提供以下功能模塊:
1) 數據總覽:該角色的此模塊可以展示所有的教師(書記)角色用戶所發布的需學生處審批的活動和系統平臺的學生數據,為學生處職工用戶監督和管理教師(書記)、學生提供可視化數據;
2) 活動管理:該角色的此模塊提供了學生處職工角色用戶活動流程審核和管理功能,用于在勞動學時活動審核過程中審核和跟蹤老師(書記)的相關操作。在該過程中有審核活動、查看發布活動、查看確認活動報名、查看已完成活動、歷史活動記錄等操作和活動管理;
3) 學生管理:該角色的模塊提供了全校學生信息管理,全校未滿學時學生預警管理,全校修滿學時學生的詳情。
對于系統管理員用戶,系統將提供以下功能模塊:
1) 系統管理:該角色的此模塊提供了系統的基本參數設置,可以對系統所有用戶進行管理、調整組織架構、設置通知公告、系統操作日志審計等基本設置和管理;
2) 數據總覽:該角色的此模塊可以展示系統所有角色用戶和活動的數據大屏,為系統管理員監管平臺提供可視化數據;
3) 系統統計:該角色的此模塊可以查看系統平臺的所有在線用戶,并可對可疑用戶進行強制退出系統操作。
本文提出了一種以多維度數據采集與融合的方式設計勞動管理系統,該系統能夠將傳統的課堂學習和勞動素質實踐區分管理,專門服務于勞動素質實踐活動,監管勞動實踐活動的過程。該系統設計在解決傳統線下勞動實踐管理效率低、人工時間成本投入高、勞動素質實踐活動核實、認定困難等問題的同時,能夠有效實現以學生為主體,教師和學生處職工作為輔助性管理,將勞動實踐活動過程管理與互聯網信息化相融合,形成勞動素質實踐過程管理標準與預警機制,從而有助于提高學生的勞動意識。隨著互聯網的不斷發展和普及,未來,以多維度數據采集與融合的方式設計勞動管理系統將會更成熟和完善,相信未來以多維度數據采集與融合的方式來設計勞動管理系統能夠為勞動素質實踐的活動管理提供更加便捷和高效的幫助。