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