基于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所示为数据库信息表的关系结构。各个数据表之间通过不同列建立关联,实现多个数据表的联合查询。
ZigBee 药品库存管理 B/S结构 药品电子监管码 相关文章:
- 基于Zigbee技术家用无线网络的构架(12-14)
- 基于精简协议栈的ZigBee网络节点研究(07-17)
- ZigBee无线传感器网络的研究与实验(02-08)
- 解析ZigBee堆栈架构(03-26)
- 组建SMAC协议构架的ZigBee星形网络(06-11)
- ZigBee基本技术问答(12-07)