基于flask的IP管理微信小程序设计与应用

2020-04-24 14:50张勤
电脑知识与技术 2020年5期
关键词:微信小程序

摘要:随着当前医院规模的扩大和智能化,设备终端数量越来越多,网络的一体化在于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-),女,江苏丹阳人,电子信息助理工程师,本科生。

猜你喜欢
微信小程序
微信小程序在高校英语教学中的应用
当图书馆遇上微信小程序