基于ZigBee的药品库存实时管理系统的设计与实现
扫描二维码
随时随地手机看文章
摘要:在传统的药品供应链中,供应链的不断加长使得各级管理部门很难获得药品销售的实际需求信息,因此使用信息化的医药库存管理系统尤为重要。在此研究了基于ZigBee技术的药品库存实时管理系统的设计与实现。首先介绍了药品的流通过程及药监码,然后采用ZigBee技术和B/S结构,设计并实现了包含数据收发和处理的完整系统。实验结果表明,该系统运行比较稳定,具有一定的实用性。
关键词:ZigBee;药品库存管理;B/S结构;药品电子监管码
在当今激烈的中国医药市场竞争中,高效率的分销渠道是医药企业的重要竞争优势之一。随着科学技术的发展,国家药品监督管理局提出了对药品的全新管理模式一药品电子监管码(简称药监码),它为每件产品赋予惟一的编码,好像商品的身份证一样。基于药监码的实行,可以将库存管理落实到对每一个药监码的管理,使得企业能够将生产,库存和销售有机结合起来,随时了解当前新鲜的市场数据,正确规划药品的物流走向。本文在研究国内外的医药库存管理系统后,采用新兴的短距离无线通信ZigBee技术,结合Java开发语言,运用VPN技术在公网的环境下搭建一个安全、有效、低成本的自动化药品仓库实时管理系统。
1 ZigBee技术
目前大多数药品严格遵循三级分销体系流程,即由药品生产厂家到多级经销商、由多级经销商到零售终端、再由零售终端到最终消费者这3个分销环节。如图1所示为一件产品的销售流程。显而易见,这是一个高重心的营销模式,从上游到下游呈漏斗型,即上游的分销客户总是比下游的分销客户规模要大,实力要强。各节点分销商需要根据下游分销商订单来确定未来的需求信息,但是这种预测大多凭直觉和经验,缺乏对历史业务数据和当前市场状况的深入分析,造成供应链整体库存增加、生产能力过剩,加重企业负担。因此如何优化供应链成为所有企业分销商的一大难题。
ZigBee技术是由ZigBee联盟开发的一种面向自动控制的短距离、低复杂度、低成本、低功耗、低速率双向无线通信网络技术,主要应用在短距离,低速率传输的电子设备之间。ZigBee技术弥补了无线通信市场低成本、低功耗和低速率的产品的空缺,使得在低电能和低吞吐量的应用环境中使用无线连接成为可能。其成功的关键在于大量丰富而便捷的应用。随着ZigBee技术的不断发展,更多的注意力和研发力量将转到应用的设计和实现、互联互通测试和市场推广等方面。
2 系统结构设计与实现
2.1 系统总体设计
本系统由硬件系统和软件系统组成。如图2所示为整个系统的网络拓扑结构。
下位机为一个由ZigBee搭建的简单无线数据收发网络,实现药监码数据的点对点双向接收和发送。上位机采用Java语言开发库存信息管理系统。本地PC机接收到药监码信息后,通过VPN加密隧道传送到远端的数据服务器上,保存到数据库中以供客户端查询统计。客户端采用B/S架构,有利于系统的升级与维护。
2.2 ZigBee数据传输模块
在本系统中,手持药监码采集设备群以自组织形式构成网络,并最终将数据传送到与PC链接的数据基站,然后通过互联网上传至远端的数据中心。结合药房的实际使用情况,手持终端设备可能会有多个,所以ZigBee通信系统采用星形网络结构。星形结构是一个辐射形状的网络结构,所有的数据都需要汇聚到中心节点(ZigBee协调器)而其他的节点之间不能进行数据通信,如图3所示。
在此网络结构中ZigBee协调器接收到终端节点的数据信息之后,首先对数据信息进行数据包解析,确认该信息为数据信息后对此信息负载进行提取,并将获得的数据信息通过串口显示到仓库PC的系统当中。
ZigBee终端节点在网络组建过程中担任两项工作:发起加入协调器所在的网络请求;接收协调器的广播信息并向协调器传送药监码数据。
(1)手持数据终端节点入网设计。终端节点上电初始化之后向整个ZigBee网络发送信标(Beacon)请求,当协调器接收到信标响应后,终端节点再对发送信标响应的节点发送连接请求,协调器得到链接请求响应正确,那么表示节点入网成功,负责,节点入网失败,并且给出失败提示。
(2)手持终端ZigBee节点数据发送设计。设计一个数据发送函数,此函数负责应用测(APL)与下层之间的参数和数据传递,数据传输格式为20位的药监码。当终端在发送数据时,数据包自顶向下进行帧格式化,各层负责为其数据包添加各层数据包头,最后到达PHY层将数据发送出去。
2.3 库存管理系统模块
2.3.1 开发语言及模式
上位机的库存管理系统采用java语言编程,使用struts1.2框架,在My Eclipse中开发调试,对系统的设计如下:本系统结构上采用3层B/S结构,前台用户显示层使用JSP和Servlet在浏览器上实现,中间使用Java Bean组件实现企业业务逻辑,后台使用action完成用户请求及相关操作跳转。为了方便数据的存储查询,使用SQL Server2008数据库,通过JDBC建立系统与数据库的连接。
2.3.2 系统功能结构
由系统的需求功能看,本系统主要分为4类用户和5大模块。4类用户为:总管理员,省级管理员,市级管理员,分销商管理员。5大模块为:库存信息管理模块,分销商信息管理模块,药品信息管理模块,用户信息管理模块以及数据传递模块。不同类型的用户拥有不同的管理权限和子功能,其中总管理员拥有系统的最高权限。其中数据传递模块为分销商管理员特有模块,用于从串口接受下位机传递的药监码数据,并进行相关判断和处理后存入数据库。串口通信应用javax.comm.SerialPort类实现,它用于描述一个RS 232串行通信端口的底层接口,定义了串口通信所需的最小功能集。用户可以直接对串口进行读、写及设置操作。串口通信应用程序采用事件监听模式,实现Serial Port Event Listener接口,当串口有数据到达时,可以在serialEvent中接收并处理所收到的数据。
系统中的库存查询界面采用级联下拉列表形式,通过Java Script实现动态链接。库存查询结果页面采用Ajax技术实现实时刷新功能。在Ajax中主要通过XMLHttpRequest对象处理发送异步请求和回应,创建前要先确定用户当前使用的浏览器类型,然后根据浏览器类型创建合适的XMLHttpRequest对象,调用指定方法,最终通过Java Script将内容设置到指定的显示区域。
2.3.3 数据库结构
根据本药品库存管理系统需求,图4所示为数据库信息表的关系结构。各个数据表之间通过不同列建立关联,实现多个数据表的联合查询。
(1)药品-库存-分销商。PC机串口接收药品信息后,系统在药品信息表中查询对应的产品信息,并检索库存信息表,修改相应库存状态,或添加新记录。
用户查询库存信息时,系统根据所选用户的编号检索库存信息表,按照药品产品编号分类,统计各包装级别的库存数量。
(2)用户一分销商。用户表中存储用户的类型及管理范围,登录时,系统根据用户类型进入不同的主界面,根据用户的管理范围显示不同的管理功能。其中分销商和管理员之间为一对一关系。
(3)分销商-市-省。分销商信息表,市信息表,省信息表通过编号相互关联,构成一个3级下拉列表菜单。
2.3.4 VPN部署
虚拟专用网(Virtual Private Network,VPN)是一种化公为私的技术,是将物理分布在不同地点的网络通过公共网络基础设施,用一定的技术手段,达到类似私有专网的数据安全传输。VPN具有专线连接的专用、安全、保密、高性能等特点,通过对数据包的头部信息和有效的封装加密来保证数据包安全性,通过散列功能的处理保证数据的完整性。部署模式是指设备以什么样的工作模式部署到客户网络中去,具体方式需要综合客户具体的网络环境和客户的功能需求而定。结合本系统的应用环境选择网关单线路部署模式,如图5所示。
网关模式时SSL设备工作层次基本与路由器或包过滤防火墙相当,具备基本的路由转发及NAT功能。
(1)网关模式配置:确定设备外网口(WAN1口)是固定IP或者是ADSL拨号方式,取得相应运营商给的IP地址信息或者是拨号的帐号密码;确定内网口(LAN口)的IP地址信息;
(2)上网配置:代理上网(NAT),确定内网是否多网段网络环境,如果是的话需要添加相应的回包路由回指给设备下接的核心交换机。
3 系统测试与结果分析
模拟药监码扫描设备从计算机的串口助手发送一个20位的药监码,服务器的数据库中会接收到相同的20位药监码,并更改库存状态。用户进入系统的登录界面后,输入用户名,密码登录,即进入主界面,选择相关分销商或药品进行库存查询。
从测试结果中,可以看出此套系统可以将ZigBee数据节点采集的20位药监码数据通过无线网络和VPN加密隧道流畅的传送到数据服务器上并进行相应的数据处理。库存管理系统界面美观,操作方便,具有很好的管理性。
4 结语
信息化的医药库存管理系统是所有医药企业的必经之路。本文结合低成本、低功耗的ZigBee技术开发实现了一个信息化药品的实时库存管理系统,实现药品的全面电子管理。实验表明该系统操作方便,准确率高,具有一定的应用价值。