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