于睿 李鹍 陳明月
摘 要:近些年來,養老服務一直是社會重點關注的民生問題。通過調研多家養老機構的實際問題及需求,本文旨在解決服務指派難、反饋難、統計難等問題,打造出一款便捷、高效的養老管理系統。系統基于B/S(瀏覽器/服務器)模式,采用微信小程序、微信公眾號、React前端框架、Mysql數據庫、PHP后臺編程等技術,實現了服務派單、確認服務、服務反饋、信息推送等功能,實現了老人群體、服務人員、養老機構的在線管理,提高了養老機構工作效率,讓養老服務變得更加便捷。
關鍵詞:養老管理系統;訂單系統;便捷
一、 引言
目前,隨著國家政策對養老服務的支持,大量的養老機構涌現出來,傾力解決社會養老問題。而面對如此龐大的老人群體以及機構服務人員,養老機構并沒有完整的計算機系統實現人員指派、服務反饋、數據統計等工作,指派難、反饋難、統計難等問題一直阻礙著養老服務的發展進程。傳統的信息發布網站,也由于其無法實現消息實時通知等原因,不適用于養老機構為老人群體提供實時精準服務。微信作為廣泛使用的社交平臺,憑借微信公眾號的信息推送功能及微信小程序的跨平臺性、高體驗感,更適用于輔助養老服務管理工作。
二、 系統設計要求
本系統需要實現老人群體、服務人員、工作人員的統一管理,工作人員需根據老人群體的服務需求,向服務人員派送訂單。服務人員接單后前往老人家庭提供家政、按摩等服務,并完成簽到工作,當服務完成后需要由服務人員做出服務評價。系統的每一步操作,都需要在微信公眾號向特定人群推送模版消息。根據養老機構的實際需求,系統定期統計人員數據、服務數據、反饋數據。
三、 平臺運轉功能
基于以上需求,本文將平臺分為后臺管理系統、微信小程序、微信公眾號三部分。后臺管理系統由養老機構工作人員統一操作,主要用于人員管理、訂單管理等操作。微信小程序面向服務人員,可實現接單、服務簽到簽退、服務評價等操作,可查看接單歷史記錄及個人資料信息。微信公眾號主要用于圖文消息的群發及模版消息的指定推送,方便用戶接收消息。
系統以微信小程序作為服務人員的運營窗口,開發成本低、開發周期短。以REACT框架開發的網頁管理系統,組件化開發節省開發時間,使用阿里開源的Ant Design PRO作為樣板開發,組件效果美觀,動畫效果流暢,界面美觀大方。以MYSQL 5.7為基礎數據庫版本,采用數據庫鎖避免訂單池接單并發問題。以NGINX作為WEB服務器搭配多服務器負載均衡,妥善解決服務器壓力大問題。
四、 存在問題及解決情況
在系統設計中遇到并解決了以下問題:
1. 訂單池接單并發問題
接單以及訂單指派是系統中最為關鍵的步驟,所以要求不要產生多次接單、多次指派的現象,這里我們采用數據庫鎖來解決此類問題。鎖是計算機協調多個進程或純線程并發訪問某一資源的機制。MYSQL數據庫鎖大致可歸納為3種,分別為表級鎖、行級鎖、頁面鎖;由于用戶訂單池接單過程中可能出現高并發情況,所以本次系統采用行級鎖。MYSQL也為用戶提供了很方便的加鎖方式,只要在SQL語句后加LOCK IN SHARE MODE 或FOR UPDATE。其中LOCK IN SHARE MODE 為共享鎖,FOR UPDATE為排他鎖。值得注意在加鎖后并沒有釋放鎖的語句,所以鎖會持續到事務結束。
2. REACT技術棧使用問題
REACT是由FACEBOOK開發的一款的JS庫。其優勢在于速度快,不直接對DOM進行操作,引入虛擬DOM概念,安插在JS邏輯與實際DOM之間,性能好。虛擬DOM解決了跨瀏覽器兼容性問題。代碼模塊化、重用代碼更容易、可維護性高。使用WEBPACK來實現按需加載、按需打包,用戶體驗提升、服務器壓力下降。基于以上優勢,學習并熟練使用REACT進行前端開發快速美觀的中前臺應用。
3. 系統的運行上線
系統在開發完成后上線于完整的協會管理運營系統中,以訂單系統、派單系統、養老管理系統分功能體現,方便后續功能的復用。
系統通過統一的GIT倉庫進行版本控制,發布到完整協會管理運營系統中后,并未發生報錯、服務宕機等情況。系統達到設計要求并完整上線運營。
單一系統在上線運營后,截至發稿時間共產生150余份養老訂單,共有120余戶養老家庭受益。希望系統可以服務更多的養老家庭。
五、 結束語
本文結合項目需求,設計并實現養老管理系統的開發與實現。期間解決了訂單池接單并發問題,系統也實現了服務人員管理、養老家庭管理、養老訂單管理的基礎功能,配合完整的協會管理運營系統,達到上線運營要求。上線后通過完整的協會管理運營系統,實現服務于協會工作人員、養老家庭、外來接單單位等系統使用人員。系統目前惠及2700余人,解決了當地的小部分養老問題。在今后的開發中,系統會逐漸地完善,作為基礎功能惠及千家萬戶。
作者簡介:
于睿,遼寧省沈陽市,沈陽師范大學新聞與傳播學院;李鹍,陳明月,遼寧省沈陽市,沈陽師范大學科信軟件學院。