


摘要:隨著當前醫院規模的擴大和智能化,設備終端數量越來越多,網絡的一體化在于lP地址的分配。當前面臨的問題有終端設備不呈規模性批次進入,設備的損壞和報廢也不是可控因素。因此,設計一款lP管理系統,它作為一款可以及時查詢編輯的微信小程序,旨在方便維護人員及時更新IP的分配和回收,并快速查詢出lP地址對應的設備位置,最大化合理利用IP地址。
關鍵詞:微信小程序;flask框架;IP管理
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2020)05-0092-02
開放科學(資源服務)標識碼(OSID):
1 背景
在醫院的信息化管理中,設備擁有固定的IP地址對于在內外網中進行穩定的通訊有著重要意義。IP地址的使用與設備的增加淘汰之間有著時間上的差異,這種差異導致了IP資源利用率的低下,在不及時更新設備IP的情況下,會造成IP地址的沖突,進而影響到設備在日常工作中的使用。在前期調查中發現,對設備配置IP時,往往找一臺在同網段中已經配置了IP的電腦,通過運行——ping目標地址,當得到無數據返回時,視為目標地址可用,否則,目標地址已經被占用。這種方法在大部分設備開機工作時可行,但是,由于醫院的業務科室與后勤科室的工作時間不同,醫生排班時間不同導致的電腦開機時間不同,也會造成目標地址被占用的結果不同?;谏鲜鲈?,設計一款便捷的IP地址管理工具便顯得尤為重要。
2 系統設計
2.1 需求分析
IP管理系統的用戶是維護網絡地址的信息科人員,主要目的是方便及時地對IP信息進行更新,方式越簡單越好。因此,前端交互選擇了方便快捷的微信小程序,后端設計主要是小程序端對IP信息的獲取,功能比較單一,根據Restful API規則,采用flask框架設計相關的接口。具體需求如下:
1)能實時查詢可用的IP;
2)能實時將在設備上配置的IP錄入到系統中;
3)能實時將淘汰的IP地址回收,將狀態改為未占用狀態;
41能查詢IP地址對應的設備詳細信息。
2.2 系統總體框架
2.3 功能模塊設計
通過對日常使用的調查分析,系統主要分為以下應用場景:查詢未使用的IP、新增使用IP的詳細信息、查詢已使用IP的詳細信息、修改或者刪除已使用的IP。
1)查詢未使用的IP
由于醫院根據網段規劃設備的使用場景,因此系統根據網段查詢未使用的IP有哪些。默認新增一個網段時,系統自動初始化所有IP為未使用狀態,在輸入相應網段后,查詢結果為255個地址。不輸入網段直接查詢時,會彈出所有網段未使用的IP。
2)新增使用IP詳細信息
在查詢的未使用IP列表頁面,每一行IP設置一個新增按鈕,點擊新增,彈出詳情頁面,頁面顯示有IP地址、IP所在段、IP位置/使用人。
3)查詢已使用IP的詳細信息
在查詢頁面的“IP地址”一欄輸入IP,點擊查詢。
4)修改或者刪除已使用的IP
對已使用的IP做信息修改,需要先進行查詢,查詢結果的左側會有修改和刪除的圖標。點擊修改圖標,頁面跳轉至IP信息編輯頁面;點擊刪除,如果刪除成功,則彈出刪除成功提示。
2.4 數據庫設計
根據業務的使用規模,IP管理系統采用了MySQL數據庫。MySQL數據庫是主流的關系型數據庫之一,廣泛應用于web開發。數據庫引擎選用InnoDB,排序規則選用utf-8mb4_gener-al_ci。數據庫共一張表,用來存儲微信前端對IP地址的增刪改查操作。
2.5 服務端實現
IP管理小程序的后端選用python3.6.采用flask框架。flask是python的輕量級開源框架。本系統根據flask開發文檔,依據restful API開發規則,設計了一個藍圖和一個紅圖。紅圖綁定到藍圖上,藍圖注冊到app實例上。紅圖下設計四個路由地址,分別是:
1)#獲取默認的IP列表
@api.route(/get)
2)#獲取指定IP的詳細信息
@api.route(/detaijkip_detail>)
3)#新增IP詳細信息
@api.route(/addinfo, methods=[POST'])
4)#刪除指定IP的詳細信息并回收該IP資源
@api.route(/delinfokip_addr>)
小程序端和后端的數據傳輸全部采用Json數據格式。其中,后端引用JSONEncoder對所有字段進行序列化,路由函數中所有的返回值使用jsonfy進行格式化。
小程序端的增刪改查操作對應以上的四個路由地址。當小程序端發送了以上request請求時,flask端接收并觸發函數,函數操作數據庫模型。Flask和數據庫之間的交互引用了SQLAlche-my包,在配置文件中使用cymysql連接flask和mysql,端口選擇3306。Flask框架中引用了wtforms表單驗證器,來對小程序端輸入的IP信息進行校驗,在“IP地址”一欄輸入的如果不是IP格式的信息,則后端給小程序端發送“invalidate ip”的提示。
3 系統部署
微信小程序端的代碼上傳至微信開發者平臺,根據相關規則進行審核。本系統的后端代碼上傳至服務器,服務器系統為CentOS,使用Nginx+uWSGI進行部署來實現負載均衡和并發操作。由于小程序遵循https傳輸協議,在部署的時候需要申請https證書,申請到證書之后,在ngmx配置反向代理的文件中,將證書密鑰配置上去,重啟即可。
4 結束語
IP管理系統采用當前熱門而方便的微信小程序方式,實現了及時查詢、及時使用的功能,對IP資源利用率能夠作出明顯的提高。然而,該系統還有需要完善的地方,比如可以通過接入掃碼的接口,新增一個mac字段,實現設備的mac地址與IP地址的自動綁定,那么在設備入庫階段就可以自動分配IP地址,繼而能夠省去人工查詢IP再分配的步驟;又比如可以新增web頁面,方便管理人員在電腦上進行統計和匯總,從而讓系統變得更加完整。
參考文獻:
[1]任丹,侯英姿,王方雄,等.基于Flask和Vue的AIS數據分析系統設計與開發[J].軟件,2019,40(10):111-114,120.
[2]陳一欣,基于Flask技術的分布式Android產品驗證系統[D].成都:電子科技大學,2019.
[3]馬小軍.多方式學校食堂點餐與評價系統的設計與實現[C],,中國計算機用戶協會網絡應用分會.中國計算機用戶協會網絡應用分會2019年第二十三屆網絡新技術與應用年會論文集.中國計算機用戶協會網絡應用分會:北京聯合大學北京市信息服務工程重點實驗室,2019: 211-215.
【通聯編輯:謝媛媛】
收稿日期:2019 -12 -15
作者簡介:張勤(1992-),女,江蘇丹陽人,電子信息助理工程師,本科生。