已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕士毕业论文物流数据实时采集与分析处理 y 5 7 1 45 3 摘要 物流数据采集与分析处理现己成为制约物流发展的主要原因,本文根据目前 物流行业的现状,有针对性地提出了一整套的解决方案。前端数据采集部分,通 过分析条形码识别的原理,工作方式和现有的扫描方法,提出采用条形码识别技 术实现物流数据光电采集以及通过串口通信实现信号的实时传递,避免了由人工 操作而带来的诸多不便,有效提高了数据采集的效率和准确率;后端数据处理部 分,通过分析目前信息处理系统的模式及各自的优势和劣势,提出采用当前主流 的b s 架构搭建后台,并针对数据库通信接口,前后台通信方面和系统安全性方 面提出自己的设想,并给予实现。 关键字:条形码实时串口通信b s 架构数据库 硕士毕业论文物流数据实时采集与分析处理 a b s t r a c t t h ec d l e c f i o na n d p r o c e s s i n go fd a t ao fm e r c h a n t s l o g i s t i c sf l o wh a sb e e nt h e p r i m a r yr e a s o n b a s eo nt h ec u r r e n tf o u n d a t i o n ,t h i sp a p e rp u tf o r w a r das e r i e s o f s o l u t i o n t h ef o r w a r ds e c t i o no fs y s t e mi st h ep a r to fc o l l e c t i n g b ya n a l y z i n gt h e t h e o r yo fi d e n t i f y i n gb a rc o d e ,w o r k i n ga n ds c a n n i n go fb a rc o d e ,t h i sp a p e rp u t f o r w a r dt a k i n gt e c h n o l o g yo fi d e n t i f y i n gb a rc o d et o i m p l e m e n tp h o t o e l e c t r i c i t y c o l l e c t i o no fd a t ao fm e r c h a n t s l o g i s t i c s ,a n d t a k i n g s e r i a lc o m m u n i c a t i o nt o i m p l e m e n tr e a l - t i m et r a n s f e r so f d a t a w ec a l la v o i dt h em i s t a k eo fm a n u a lo p e r a t i o n a n da d v a n c et h ee f f i c i e n c y t h eb a c k w a r do f s y s t e m i st h ep a r to fd a t a p r o c e s s i n g b y a n a l y z i n gt h ea d v a n t a g ea n dd i s a d v a n t a g eo ft h ep a t t e r no fd a t ap r o c e s s i n gs y s t e m , t h i s p a p e rp u td e v e l o p i n gt h es y s t e mb a s eo nb s f r a m e ,i nt h ep l a c eo fd a t a b a s e i n t e r f a c e ,c o m m u n i c a t i o na n d s y s t e ms e c u r i t y ,t h i sp a p e rb r i n g sd e s i g n a n d r e a l i z a t i o n k e y w o r d s :b a r c o d er e a l t i m es e r i a lc o m m u n i c a t i o n b sf r a m e d a t a b a s e 硕士毕业论文物流数据实时采集与分析处理 1 绪论 1 ,1 物流现状 随着中国的产业流通结构和应用科技领域一些新动向的显现,物流市场整体 也折射出了一些新的热点。作为物流运营管理重要手段的信息系统,已从过去的 学习与尝试阶段,逐步提升到了一个面向客户面向市场、随需而变和应用为先的 新阶段。 在没有应用物流信息系统之前,企业物流部门之间的信息交流主要通过报 表、会议、电话、交谈等方式实现,在这种方式下,信息的拥有者虽然了解这些 信息,但受到沟通方式的局限,信息的需求者获取的只能是片面的、被动的、不 准确的、不及时的信息,这就意味着信息链的下游无法全面、准确、及时地对上 游信息进行处理,也就意味着企业中的部门不能协调一致的开展工作。换句话说, 部门间信息沟通的不畅会导致整个企业协同工作效率的下降,而这个问题很难通 过手工方式加以解决。如果应用了物流系统,情况将有很大的改观。首先,信 息的传递不存在不及时的问题。信息一旦在某个部门生成,就可以被所有需要的 部门查阅,毋须等待时间。其次,信息通过物流系统传递不会失真,避免了人为 引起信息传播误差的可能。再者,信息的获取方式从被动式变为主动式,信息链 下游部门不再依赖于上游部门提供报表等媒体,只要有权限,就可以获取需要的 任何数据。总之,物流系统的应用改变了部门问信息沟通的方式,保证了信息沟 通的效率和质量。 1 2 系统的现实意义和必要性 物流是供应链的重要组成部分,而供应链是以信息技术为基础的。目前我国 多数企业物流的住处管理基础薄弱和体系结构不合理,将成为实现供应链管理的 主要障碍。物流是电子商务的重要基础,物流现代化是实现电子商务的关键之一。 工业发达国有的经验证明,电子商务的实现需要有现代化的物流配送系统的支 持。在各种物流中,企业物流的影响面和效益都是最大的。国家电子信息产业部 已经明确提出,解决电子商务的物流问题,重点是解决企业物流的改造。 传统的运输、仓储、装卸已经不能满足客户的需要。市场需要的是能够提供 一体化物流的解决方案,现代物流应运而生。而之所以称其为现代化物流,除了 它超越传统的经营理念外,最主要的就是将计算机及网络技术应用充分融入其 硕士毕业论文物流数据实时采集与分析处理 中。计算机技术在实际应用领域中起到的主要作用是辅助,在这样的一个高效化 平台上业务流程能更高效的运作。而企业与计算机技术之间的关系应该是像肌体 与神经,将计算机技术如同神经化网络一般遍历企业业务的每一个环节。 由于物流过程中信息的流动跨企业进行,物流系统必须实现跨地区的信息实 时传输、远程数据方向、数据分布处理和集中处理的结合、多个异地局域网连接 等功能。i n t e m e t 和w e b 技术的出现为物流平台提供了基于i n t e m e t 的 b r o w s e r s e r v e r ( 浏览器朋艮务器) 系统结构架构,有效在实现了上述功能。 1 3 论文的工作 本文将主要研究物流数据的实时采集与处理,搭建烟草行业的物流信息平 台。本系统主要包含两大模块,物流数据光电采集自动录入模块和物流数据分析 处理模块。在物流数据光电采集自动录入模块中主要阐述采用条形码信息光电采 集技术录入原始数据,包括商品信息和客户信息,实现信息的实时高效录入;在 物流数据分析处理模块中主要阐述对录入信息的处理,以实现各种不同的需求功 能,将就整体框架,数据库通信接口、前后台数据通信和系统安全进行设计和实 现。 2 硕士毕业论文物流数据实时采集与分析处理 2 系统框架的设计 本系统主要设计完成两大模块,物流数据光电采集自动录入模块和物流数据 自动分析处理模块。数据光电采集自动录入模块主要完成对原始数据的采集录 入,包括商品条形码和客户销售凭证条形码,将条码信息实时地传送至本地动态 实时数据库,再通过数据分析处理模块中的客户端将数据批量上传至服务器端的 后台数据库,这样可以完全取代繁琐的手工输入,极大地提高工作效率,有效地 减少出错概率。分析处理模块可以对采集进来的数据进行处理,实现各种功能包 括库存管理、销售管理、配送管理、报表管理,并且将结果实时地反映到后台数 据库中。 下面是整个系统的软件结构示意图。 图2 1 系统软件结构示意图 按照现有的信息处理系统主要分为b s 和c s 架构。c s 架构主要由客户应 用程序( c l i e n t ) 、服务器管理程序( s e r v e r ) 和中间件( m i d d l e w a r e ) 三个部件组 成。客户应用程序是系统中用户与数据进行交互的部件。服务器程序负责有效地 管理系统资源。中间件负责连接客户应用程序与服务器管理程序,协同完成一个 作业,以满足用户查询管理数据的要求。c s 架构的优点主要包括:交互性强、 提供更安全的存取架构、降低网络通信量。由于c s 在逻辑结构上比b s 少一层, 对于相同的任务,c s 完成的速度总比b s 快,这就使得c s 架构更利于处理大 量数据”。 b s 架构是一种以w e b 技术为基础的新型的m i s 系统平台架构。把传统c s 架构中的服务器部分分解为一个数据服务器与一个或多个应用服务器( w e b 服务 器) ,从而构成一个三层结构的客户服务器体系。第一层客户机是用户与整个系 统的接口。客户的应用程序精简到一个通用的浏览器软件。第二层w e b 服务器将 硕士毕业论文物流数据实时采集与分析处理 启动相应的进程来响应客户的请求,并动态生成一串h t m l 代码,其中嵌入处理 的结果,返回给客户机的浏览器。第三层数据库服务器的任务类似于c s 架构, 负责协调不同的w e b 服务器发出的s q l 请求,管理数据库。b s 架构的优点是简 化了客户端、用户的操作更简单、适用予网上信息发布口】。 考虑到烟草行业的特殊性,以及b s 架构具有可伸缩性好、可管理性强、安 全性高、软件重用性好以及节省开发时间等诸多优点,本系统决定采用b s 架构 的方式。b s 架构的客户端服务器端模型是一种先进的协同应用程序开发模型, 这种方案将客户服务器系统中各种各样的部件划分为三”层”服务,它们共同组 成一个应用程序,这三层服务包括: 客户端服务程序: 业务服务和其它”中间层”服务程序: 数据服务( 数据库) 。 b s 架构框图如图2 2 所示: 图2 2 b s 架构框图 这些层并不一定与网络上的具体物理位置相对应,它们只是概念上的层,借 助这些概念可以开发出强大的应用程序。中间层中包括提供业务服务和其它中间 服务的部件,是联系客户端数据服务的桥梁,它们响应客户端发来的请求,执行某 种任务,并对相应的数据进行处理。客户端不需要直接与数据库打交道。在实际 应用过程中,中间层部件通常可分为两个以上的层次。因此,该应用模型也被称为 多层次结构。当企业信息系统从客户端服务器端模式向多层分布式应用模式转 变时,需要应用服务器( a p p l i c a t i o ns e r v e r ) 的支持,以便将不同的应用技术集 成在一起,使多层分布式应用的开发、分发、管理变得更加容易 1 4 。 4 硕士毕业论文物流数据实时采集与分析处理 3 系统功能模块的详细设计 3 1 物流数据光电采集自动录入模块的设计 自动识别技术是信息数据自动识读、自动输入计算机的重要方法和手段,它 是以计算机技术和通信技术的发展为基础的综合性科学技术。自动识别技术近几 十年在全球范围内得到了迅猛发展,初步形成了一个包括条码技术、磁条( 卡) 技 术、光学字符识别、系统集成化、射频技术、声音识别及视觉识别等集计算机、 光、机电、通信技术为一体的高新技术学科。 条码技术是最基本的物流管理手段,极大地提高了基础数据的采集和传递的 速度,提高了物流效率,为物流管理的科学化和现代化做出了巨大贡献。 以条码为基础的光电采集自动录入技术在当今自动识别技术中占有重要的 地位。自动识别技术的形成过程是与条码的发明、使用和发展分不开的。条码技 术是在计算机技术与信息技术基础上发展起来的- i 1 集编码、印刷、识别、数据 采集和处理于一身的新兴技术。条码技术的核心内容是利用光电扫描设备识读条 码符号,从而实现机器的自动识别,并快速准确地将信息录入到计算机进行数据 处理,以达到自动化管理之目的【8 】。 条码技术与其它输入技术( 如键盘输入、o c r 输入、磁卡输入、射频输入) 相比,具有识别速度快、误码率低、设备便宜、应用成本低廉和技术成熟等优点, 目前已被广泛应用于商业、工业、图书、医疗等领域。 3 1 1 条码数据采集技术的原理 条形码是由宽度不同、反射率不同的条和空,按照一定的编码规则( 码制) 编制成的,用以表达一组数字或字母符号信息的图形标识符。即条形码是一组粗 细不同,按照一定的规则安排间距的平行线条图形。常见的条形码是由反射率相 差很大的黑条( 简称条) 和白条( f g 称空) 组成的。这种编码可以供机器识读, 不同的码制,条码符号的组成规则不同。条码种类很多,常见的大概有二十多种 码制,其中包括: c o d e 3 9 码( 标准3 9 码) 、c o d a b a r 码( 库德巴码) 、c o d e 2 5 码( 标准2 5 码) 、i t f 2 5 码( 交叉2 5 码) 、m a t r i x 2 5 码( 矩阵2 5 码) 、u p c a 码、u p c e 码、e a n 一1 3 码( e a n 一1 3 国际商品条码) 、e a n 一8 码( e a n 一8 国际商品条码) 、中 国邮政码( 矩阵2 5 码的一种变体) 、c o d e b 码、m s i 码、c o d e l l 码、c o d e 9 3 硕士毕业论文物流数据实时采集与分析处理 码、i s b n 码、i s s n 码、c o d e l 2 8 码( c o d e l 2 8 码,包括e a n l 2 8 码) 、c o d e 3 9 e m s ( 踟s 专用的3 9 码) 等一维条码和p d f 4 1 7 等二维条码”。 一般的条形码识别系统,它由条形码扫描器、放大整形电路、译码接口电路 和计算机系统等部分组成( 如图3 1 所示) 。 厂、 糊 摄 i邢电路 ii 电 图3 1 条形码识别系统原理图 扫描是利用光束扫读条码符号,将光信号转换为电信号,这部分功能由扫描 器完成。 译码是将扫描器获得的电信号按一定的规则翻译成相应的数据代码,然后输 入计算机( 或存储器) 这个过程由译码器完成。 由于不同颜色的物体,其反射的可见光的波长不同,白色物体能反射各种波 长的可见光,黑色物体则吸收各种波长的可见光,所以当条形码扫描器光源发出 的光经光阑及凸透镜1 后,照射到黑白相间的条形码上时,反射光经凸透镜2 聚 焦后,照射到光电转换器上,于是光电转换器接收到与白条和黑条相应的强弱不 同的反射光信号,并转换成相应的电信号输出到放大整形电路。白条、黑条的宽 度不同,相应的电信号持续时间长短也不同。但是,由光电转换器输出的与条形 码的条和空相应的电信号一般仅i o m v 左右,不能直接使用,因而先要将光电 转换器输出的电信号送放大器放大。放大后的电信号仍然是一个模拟电信号,为 了避免由条形码中的疵点和污点导致错误信号,在放大电路后需加一整形电路, 把模拟信号转换成数字电信号,以便计算机系统能准确判读。整形电路的脉冲数 字信号经译码器译成数字、字符信息。它通过识别起始、终止字符来判别出条形 码符号的码制及扫描方向;通过测量脉冲数字电信号0 、l 的数目来判别出条和 空的数目。通过测量0 、l 信号持续的时间来判别条和空的宽度。这样便得到了 被辩读的条形码符号的条和空的数目及相应的宽度和所用码制,根据码制所对应 的编码规则,便可将条形符号换成相应的数字、字符信息,通过接口电路送给计 算机系统进行数据处理与管理,便完成了条形码辨读的全过程。 6 硕士毕业论文 物流数据实时采集与分析处理 3 1 2 条码数据采集技术常用扫描方法 识读条码的设备有手持型、卡槽型、平台型、固定型等多种。条码识读设备 一般都内置了解码程序,输出的是条码所表示的信息。条码识读设备与计算机的 接口一般有采用键盘接口和r s 2 3 2 两种,其它的还有t t l 接口和w a n d 仿真接口、 u s b 接口等。 商业条形码扫描器常用的主要有:c c d 扫描器,激光手持式扫描器和全角度 激光扫描器三种。 1 ) c c d 扫描器是利用光电藕合( c c d ) 原理,对条形码印刷图案进行成像, 然后再译码。它的优势是:无转轴,马达,使用寿命长;价格便宜。 选择c c d 扫描器时,最重要的是两个参数: 景深:由于c c d 的成像原理类似于照相机,如果要加大景深,则相应的要加 大透镜,从而使c c d 体积过大,不便操作。优秀的c c d 应无须紧贴条形码即可识 读,而且体积适中,操作舒适。 分辨率:如果要提高c c d 分辨率,必须增加成像处光敏元件的单位元素。低 价c c d 般是5 口像素( p i x e l ) ,识读e a n ,u p c 等商业码已经足够,对于别的 码制识读就会困难一些。中档c c d 以1 0 2 4 p i x e l 为多,有些甚至达到2 0 4 8 p i x e l , 能分辨最窄单位元素为0 1 m m 的条形码。 2 ) 激光手持式扫描器是利用激光二极管作为光源的单线式扫描器,它主要 有转镜式和颤镜式两种。 转镜式的代表品牌是s p 4 0 0 ,它是采用高速马达带动一个棱镜组旋转,使二 极管发出的单点激光变成一线。 颤镜式的制作成本低于转镜式,但这种原理的激光枪不易提高扫描速度,一 般为3 3 次秒。个别型号,如p o t i c o n 可以达到1 0 0 次秒,其代表品牌为 s y m b o l ,p s c 和p o t i c o n 。 商业企业在选择激光扫描器时,最重要的是注意扫描速度和分辨率,而景深 并不是关键因素。因为当景深加大时,分辨率会大大降低。优秀的手持激光扫描 器应当是高扫描速度,固定景深范围内很高的分辨率。 3 ) 全角度扫描器是通过光学系统使激光二极管发出的激光折射或多条扫描 线的条形码扫描器,主要目的是减轻收款人员录入条形码数据时对准条形码的劳 动选择时应着重注意其扫描线花斑分布: 在一个方向上有多条平行线;在某点上有多条扫描线通过;在一定的空间 范围内各点的解读机率趋于一致”】。 硕士毕业论文物流数据实时采集与分析处理 3 1 3 数据录入模块的设计方法 根据编码信息的分类和在实际应用中的采集信息量的大小,本数据采集模块 主要采用二维条码方案,将商品的编号,商品的档案信息( 包括:出厂日期、外 包装颜色、规格、生产厂家等信息) ,次性全部按p d f 4 1 7 码标准制作成一个 二维条码标签,在分拣入库部门配备二维条码f 弼读器阅读,在这里采用多方位移 动光束激光条码扫描器,进行相应信息的录入。 由于分拣入库需要实时地将大量的商品进行录入,准备将条码扫描器采集到 的信号送至计算机的串口c o m 2 口上( c o m l 口被鼠标占用) 。所以要实现条 码信息的实时采集就是实现串口信息的实时采集。 w i n d o w s 平台下串口通讯的实现可以有以下三种方法: 1 ) 定时采集方式。设置一个定时器,每隔一段时间产生一个w m - - t i m e r 消 息,该消息的相应函数读取串口缓冲器中的数据。这种方法实现简单,但有 以下几个缺点:一是受w i n d o w s 计时器数据分辨率的限制,最高采样频率为 1 8 2 h z 。另外w m - - t i m e r 消息在w i d o w s 消息队列中优先权低,可能得 不到及时晌应。最重要的一点是w i n d o w s 会将消息队列中没有来很及处理的 几个w m - - t i m e r 消息合并成一个,这意味着前几次定时器消息没有得到 响应,因而可能导致数据丢失。 2 ) 在w i n d o w s 平台下,利用其支持多线程的特点,开辟一个线程专门读取串口 数据。每当串口有数据到来时,此线程被激活,读取串口缓冲器中的数据: 无数据时,该线程被挂起。尽管可以设置线程的优先级,这种采集方式仍称 不上实时通讯。 3 ) 保护模式下的中断方式。w i n d o w s 支持一种特殊的d o s 服务,称为d o s 保 护模式接口d p m i ( d o s p r o t e c t e dm o d ei n t e r f a c e ) ,由一些i n t 2 f h 和i n t3 1 h 组成。可以用软中断i n t3 1 h 挂住保护模式中断向量,以中断方式处理外部 实时事件。这种方式对数据量不太大但需要准确及时响应的条码信息采集很 适用,因此,采用这种方式。 具体实现在第4 章第1 节进行阐述。 3 2 物流数据自动分析处理模块的设计 3 2 1 数据分析处理模块的体系结构 数据分析处理模块基于b s 架构,客户端前台使用j s p 技术,通过i e 浏览 8 硕士毕业论文物流数据实时采集与分析处理 器进行发送请求和接收响应;中间层使用i b m 公司的w e b s p h e r e ,对各种事务进 行控制管理和分配端口,并提供编译j s p ,a p p e t ,s e r v l e t 的编译引擎;后台 使用大型数据库0 r a c l e 。具体的关于w e b 应用程序的配置情况下面进行详细阐 述。 伍用服务器 厂、 i 胤r i s 刊e tk r e m l * a : y 、 。- l h t t p 响譬氏 鞘m圆 :- 、f 翟髦器、 , 关 服_ 。 系 j i i 俯莆求旷i 、虢j4 效 = 。舔;i铲蛳j 措 爨 库 译避 ”。篓 懒濂隳融黛瘸藩戳鬟沁 图3 2 数据分析处理模块框图 3 2 2w e b 应用程序概念 最初w e b 应用程序主要是作为文档储存手段来增加文档导航的方式,后来 随着w e b 服务器中c g i ( c o m m o ng a t e w a yi n t e r f a c e ,通用网关接口1 的出现,一 切发生巨大的变化。c g i 脚本不再是简单地搜索所存储地文档,而是根据需要实 时地生成w e b 页的等价物。脚本通常能够访问数据库、系统服务以及绝大多数 应用程序资源。【3 0 】 随着w e b 应用程序的客户端不断地发展,出现j a v a 小程序( a p p l e n 、a c t i v e 控件、动态h t m l 、j a v a s c r i p t 以及a c t i v es e r v e rp a g e s 、c o l df u s i o n 、 j a v a s e r v e r p a g e s 等,考虑到平台无关性、可靠性和功能性,本系统主要采用j a v a 及其相关技术。 简单地讲,一个w e b 应用程序,就是一个由s e r v l e t 、h t m l 页面、 j a v a s e r v e r p a g e s ( j s p ) 、j s p 标记库、类以及其他任何可以捆绑起来并且在来自多 个厂商的多个w e b 容器上运行的w 曲资源构成的集合。一个w e b 应用程序可以 定义许多关于其行为和配置的事务,包括怎么管理安全性,怎么管理数据库连接 以及如何把请求映射到特定的s e r v l e t 。在本系统中,设计了种可维护和可重用 的w e b 应用:模型视图控$ 懦0 v l o d e lv i e wc o n 扛d u e r ,m v c ) 。其中模型是表示 9 硕士毕业论文物流数据实时采集与分析处理 正在发送或接收数据的j a v a b e a n ,控制器是操作或发送数据的s e r v l e t ,视图是表 示交易执行结果的j s p 。在服务器端实现m v c 的步骤如下: 1 ) w e b 客户机向w 曲服务器发出请求; 2 ) w e b 服务器把这一请求转送给控制器s e r v l e t ; 3 ) s e r v l e t 对j a v a b e a n 模型进行必要的操作; 4 ) 控制器s e r v l e t 把处理结果转发给j s p 视图: 5 1j s p 视图对模型进行格式化以备显示,并把h t m l 结果回送给w e b 服务器; 6 ) w e b 服务器再把信息回送给客户机。 图3 3 模型视图控制器的工作方式 w e b 应用程序的目录结构有严格的定义,主要包含下面两部分: 1 ) w e b 应用程序有一个上下文环境路径,在这里有它的全部组建的位置。在 w e b 应用程序的根目录里有一个特定的子目录w e bi n f 其中包含所有不能 被客户访问的专用w e b 应用程序组件,包括s e r v l e t 类文件、部署描述符、 外部库以及其他任何由此应用程序使用的专用文件。 2 ) 所有位于w e bi n f 之外的文件,这些文件都被看作是公共的,它们可以从 客户端被访问,允许客户直接下载并且在浏览器中以普通方式显示。公共资 源主要包括静态的h t m l 页面、j s p 页预和图像。 使用这样的结构可以提供多方面直接的优点。首先是一个w e b 容器中可以 共存多个w e b 应用程序,w e b 容器方便理解组件属于哪个w e b 应用程序。第二 个优点是w 曲容器能很方便地找到并装入w e b 应用程序所需的类。 在w e b 容器中,每个w e b 应用程序与一个上下文环境关联,并且每个w e b 应用程序中包含的所有资源都相对于其上下文环境存在。一个s e r v l e t 上下文环 境植根于w e b 容器的一个已知路径中。存在于一个w e b 容器中每一个上下文环 境都有一个专门的s e r v l e t c o n t e x t 对象与自己关联。可以通过访问s e r v l e t c o n t e x t 所有允许该w e b 应用程序了解的关于其容器的情况,并且允许s e r v l e t 访问容器 中可供它们使用的资源。s e r v l e t c o n t e x t 的主要应用是在一个应用程序中与所有 的s e r v l e t 共享属性,以及装入相关资源以便于在应用程序中使用。 1 0 硕士毕业论文物流数据实时采集与分析处理 3 2 3w e b 应用程序部署描述符 部署描述符作为w e b 应用程序的配置文件,是w e b 应用程序中最重要的一 个部分。部署描述符在开发者、组装者和部署者之间传递相关元素和配置信息。 各种形式的信息都在部署描述符中定义,从关于w e b 应用程序自身的信息到关 于其构成部分的信息,以及这些部分如何组装起来形成完整的w e b 应用程序的 信息。下面列出了本系统的部分部署描述符。 系统管理模块 m a i n s e r v l e t c o m i c p u b w e b c o n t r 0 1 m a i n s e r v l e t 库存模块 a p p 2 s e r v l e t c o m 1 c p u b w e b c o n t r 0 1 a p p 2 s e r v l e t 销售模块 i a t e r f a c e s e r v l e t c o m 1 c c o c o s e r v i c e s e r v l e t i n t e r f a c e s e r v l e t ( s e r v l e t c l a s s 报表模块 n l p d o w n l o a d s e r v l e t c o m s u n ,j a v a w s s e r v l e t j n l p d o w n l o a d s e r v l e t m a i n s e r v l e t s e r v l e t z h n t * 硕士毕业论文物流数据实时采集与分析处理 a p p 2 s e r v l e t s e r v l e t c o m m * i n t e r f a c e s e r v l e t s e r v e t z h n t i n t e r f a c e s e r v l e t * j n l p d o w n l o a d s e r v l e t * j n l p 开始部分使用 标注为此文件声明d t d ( 文档类型定义, d o c u m e n t t y p ed e f i n i t i o n ) 的位置。而后跟随 元素的其实标志,在该标 志中有关于w e b 应用程序的全部部署信息。 接下来是 齐l l 元素,分别包含应用程序中的s e r v l e t 以及s e r v l e t 到指定u r l 的映射的信息。在 元素中包含了多个子元素, 给出关于s e r v l e t 声明的信息,其中包括在这个w e b 应用程序中注册该s e r v l c t 的 难一名字,以及部署相关s e r v l e t 功能的完整类名。 为了让w e b 容器将请求发送至特定的s e r v l e t 上,必须把定义好的s e r v l e t 映 射到特定的u r l 样式上。在上面的部署中, 中定义的唯一的s e r v l e t 名 字( 在这里作为 引用) 将映射到一个u r l 样式,并被引用为 。 在找到适当的s e r v l e t 之后,根据客户端的请求寻找与之匹配的类服务 ( c m d ) ,之间的匹配关系,也必须进行部署。 c o m 1 c w h s e w h s e r e p o r t e a s e d a y r p t c o m m a n d q b 的1 1 r l 描述了显示页面的u d 地址:s c r e e n 描述了与显示页面 之间的关联名;u s e c o m m a n d 描述是否使用类服务;f u c f i o n 描述功能号,用来控 1 2 硕士毕业论文物流数据实时采集与分析处理 制权限。 i n it w h s e d a y s c r e e n ( 1 i n kk e y = “h t m l f o o t e r ”v a l u e = ”f o o t e r j s p 4d i r e c t = ”f a l s e ” w h s e d a y r e p o r t s c r e e n ( s c r e e n n a m e t e m p l a t e r e p o r t j s p 描述了与类服务的关联名; 描述了一些相关信息,如标 题信息,页面头文件信息,以及调用的响应的j s p 的u r l 。 论文将就数据库通信接口的实现和前后台数据通信的实现在第4 章第2 节和 第3 节进行阐述。 1 3 硕士毕业论文物流数据实时采集与分析处理 4 系统的具体实现 4 1 条码数据光电实时采集与本地进程问通信的实现 4 1 1 数据实时采集的实现 数据采集模块主窗口第一次被创建时,w i n d o w s 向它传递w m - - c r e a t e 消息,在该消息响应函数中调用i n t 3 1 h 的0 2 0 4 h 功能将老的中断向量保存起 来,用i n t3 1 h 0 2 0 5 h 号功能将中断向量指向新的中断服务例程;数据采集模块 退出时,w i n d o w s 将向它传递w m d e s t r o y 消息,在该消息响应函数中调用 i n t 3 1 h 的0 2 0 5 h 功能恢复老的中断服务例程。以上步骤在v c 6 0 集成开发环境 中,采用嵌入汇编方式加以实现。主要包括以下几个函数: 初始化串口2 ( v o i dp a s c a li n i t c o r n 2 0 ) 保存c o m 2 的当前状态,然后把c o m 2 的波特率设置为9 6 0 0 ,每个字符8 b i t , 1 个停止位。允许0 x o c 号中断。 中断初始化( b o o lp a s c a l i n i t c o m m 0 ) 调用d m p i ,保存旧的0 c h 号保护模式中断向量,设置新的保护模式中断 服务例程。 中断服务例程( v o i di n t e r r u p tf a rn e wi n i t 0 ) 处理信息的接收。判断信息类型。如是异常信息就向主窗口发送一自定义 w m _ i n t e r r u p t l 消息;如是一般信息,则发送w mi n t e r r u p t 2 消息。 中断恢复w o n 3p a s c a lr e s t o r e _ c o m m o ) 恢复c o m 2 状态,恢复o c h 保护模式向量。 每当串口有条码信息到来,0 c h 中断将发生保证消息得到及时处理,因 而实现了条码信息的实时采集。 4 1 2 本地进程间通信的实现 数据采集模块采用中断方式实时采集串口c o m 2 的条码信息的同时,还需 将所采集的数据传递给本地动态实时数据库。这两者之间的信息交换采用 w i n d o w s 系统的动态数据交换( d d e ) 来实现。 动态数据交换( d d e ) 是一种进程之间的通信形式,而d d e 会话则是实现进 程通信的手段,它总是在一个客户程序和一个服务器程序之间进行的。启动会话 1 4 硕士毕业论文物流数据实时采集与分析处理 并要求接收数据的应用程序是客户程序。响应客户程序的要求并提供数据的程序 是服务器程序。使用动态数据交换管理库( d d e m l ) ,d d e m l 提供了一系列a p i , 将传统的d d e 消息及附属的各种特征封装在一个函数调用接口中,应用程序通 过调用d d e m l 中的函数实现d d e 会话,从而交换数据或互相提供服务。在 d d e m l 中,进程之间传递的是事务( 事务是对数据和服务的请求,表现为一组 预定义的常量1 ,整个通讯过程都是围绕着事务进行的;首先,客户程序向服务 器程序发出建立联接的事务,服务器响应之后,联接便建立起来;之后,客户向 服务器发出请求数据的事务,服务器便向客户提供所需的数据,这一过程可以在 建立联接之后多次进行;最后,当客户不再需要数据时,便向服务器发出终止联 接的事务,从而结束一次d d e m l 会话过程。 d d e 会话有三种方式,冷链、温链和热链。由于采集的数据要及时得到实 时动态数据库的处理,我们就采用了热链方式来传送数据。即只要一有数据到来, 采集服务器就立即把此数据传送到数据库。实现数据传输的步骤如下 步骤1 创建用于处理各类d d e m l 事务的回调函数。在d d e m l 中,进程 之间传递的是事务,根据实际的需要,回调函数应处理的事务如下: x t y pc o n n e c t 及x t y pc o n n e c tc o n f i r m 证实客户是否已连 接到了采集服务器。 x t y pa d s t a r t 回复客户热链开始的申请。 x t y p - - a d v r e q 当采集服务器一接收到信息时信息,就向客户传递此 信息,实现动态数据交换。 x t y p a d v s t o p 回复客户热链结束的申请。 x ,r ) _ d i s c a n n e c t 回复客户和服务器之间链接结束的申请。 步骤2 初始化d d e m l ,通知d d e m l 该程序将开始使用d d e 机制。 步骤3 登记服务名、主题名和项目名。 步骤4 结束d d e m l 使用。当客户已不再需要服务器的数据时,服务器被 撤销。 4 2 数据分析处理模块中数据库通信接口的实现 为了实现与数据库通信,j a v a 提供了一套复杂的框架j d b c ,这是一个 比较通用的做法。本模块中,采用两种与数据库通信的方式,一种就是通过j d b c , 主要用于实现简单的查询功能;另一种是通过中间件连接,由于中间件在事务控 制,数据库安全方面的优势,用于实现比较复杂的关于数据库数据的增加、删除、 修改、删除的写操作。 硕士毕业论文物流数据实时采集与分析处理 4 2 1j d b c 连接 4 2 。1 1j d b c 简介 j a v a 数据库连接( j d b c ,j a v ad a t a b a s ec o n n e c t i v i t y ) a p i 几乎是独立于数 据库的,但同时又可以在必要时访问数据库的某些特性。 j d b ca p i 实际上包括两个部分。其中核心j d b c a p i ( j a v a s q l 4 ) 带有标准 的j a v ad v e l o p m e n tk i t ;而j 2 e e 中包括j d b co p t i o n a lp a c k a g e ( j a v a x s q l + ) , 其中一些时j 2 e e 开发中很常用的特性( 特别是在e j b 方面) 【2 ”。 大多数数据库提供不同的a p i 用于应用程序与数据库之间的通信。在 w i n d o w s 平台和一些u n i x 平台中,开放数据库连接( o d b c a p i ,o p e n d a t a b a s e c o n n e c t i v i t y ) 提供的标准数据库a p i 适合于许多类型的数据库。而j d b c 解决 了与0 d b c 相同的问题,即也提供了标准数据库a p i 。和o d b c 相似,j d b c 包本身并不能连接任何数据库。它只是a p i 框架,需要其他软件包提供实施方 法。 j d b c 驱动程序分为四类:t y p e l 、t y p e 2 、t y p e 3 、t y p e 4 ,j d b c 驱动程序 的选择会影响应用程序的设计,特别是在开发j a v a 小程序( a p p l e t ) 时更是如此。 四种类型的首要区别在于t y p e l 、t y p e 2 这两种j d b c 驱动程序设计自然库( 即 它们不是纯j a v a 的) ,这样很难找到硬件平台上的驱动程序。所以a p p l e t 中通常 不能使用这种驱动程序。 第一类j d b c 驱动程序使用带有一个公用接口的自然库,即自然库不是特指 数据库的。最常见的第一类j d b c 驱动程序是j d k 所带的j d b c o d b c 桥。使 用这个桥不需要了解每种数据库,只要知道如何使用o d b c a p i 就可以了。第一 类驱动程序虽然使用自然库,但仍然很慢,因为数据要经过许多层。o d b c 需要 数据库特定驱动程序,因此要经过数据库特定驱动程序、o d b c 驱动程序和j d b c ;| ;霉孥唠; 1 i | 薯j 襄黪鬻 i 鼍骥t 囱,鬻媾、 鼗器巍案建期 黪簿 i 誓麟誊 图4 1 第一类j d b c 驱动程序用自然库与独立于数据库的a p i 通信 1 6 硕士毕业论文物流数据实时采集与分析处理 驱动程序之后才能得到数据。 图4 1 显示了典型的第一类驱动程序的配置。 第二类j d b c 驱动程序通过自然库访问数据库特定驱动程序。由于它也使用 自然库,因此通常第二类驱动程序相当快,尽管j a v a 与自然库的a p i 之间的链 接会拖延一些时间。和第一类驱动程序相似,使用自然库通常会因为找不到硬件 平台的驱动程序而限制跨平台操作。 图4 2 显示了典型的第二类驱动程序的配置。 j o b c 屡 蜮 魏掰艨特缒霸 然霹、 ( 蛹黟。 图4 ,2 第二类j d b c 驱动程序使用数据库特定自然库 第三类j d b c 驱动程序是纯j a v a 的,用数据库独立协议进行与数据库网关 的通信。第三类驱动程序和数据库网关通常在开发a p p l e t 时使用,数据库网关 能帮助解决a p p l e t 的一些安全限制问题。 图4 3 显示了典型的第三类驱动程序的配置。 图4 ,3 第三类j d b c 驱动程序与数据库网关通信 第四类j d b c 驱动程序也是纯j a v a 的,它直接与数据库通信。在即时( j i t , j u s t - i n - t i m e ) 编译器出现之前,第二类驱动程序因为较快的速度而最普及,在 j i t 出现之后,由于j i t 使驱动程序的速度可以和自然驱动程序相媲美,丽且数 据不经过j n ! 层( 即驱动程序不需要将数据转换为j a v a 对象) ,因此第四类驱动 程序取代了第二代。此外,第四类驱动程序适用于任何j a v a 开发平台。但这类 j d b c 驱动程序是数据库特定的,因此每种数据库平台都需要不同的驱动程序。 选择不同种类的驱动程序并不改变代码的编写方法,大量应用程序可以在运行时 再指定j d b c 驱动程序的类型,因为a p i 本身不受驱动程序类型的影响。 图4 4 显示了典型的第四类j d b c 驱动程序的配置。 1 7 熏 硕士毕业论文物流数据实时采集与分析处理 图4 4 第四类j d b c 驱动程序直接与数据库通信 4 2 1 。2j d b c 的核心组件 图4 。5 显示了j d b ca p i 的主要类及其相互关系。 图4 5j d b ca p i 的主要组件 在主要的j d b c 组件中,只有驱动程序管理器时具体的j a v a 类,其余组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年呼图壁县网格员招聘笔试备考试题及答案解析
- 2025届泰兴市四下数学期末监测模拟试题(含答案)
- 双代号时标网络计划教学设计中职专业课-建筑施工组织与管理-建筑类-土木建筑大类
- 2025年CCAA环境管理体系基础冲刺押题实战卷
- 2025届河南省西峡县三下数学期末学业水平测试模拟试题含答案解析
- 行政专业知识笔试试题及答案展示
- 2026年精算师秋招面试题及答案
- 排球:交叉步垫球 教学设计-2025-2026学年高一上学期体育与健康人教版必修第一册
- 七年级体育与健康 软式排球2教案
- 化学人教版(新课标)第二节离子反应第一课时教案
- 2026秋季新学期班干部聘任仪式
- 2026年秋季开学小学防震减灾开学第一课
- 2026年继电保护专业岗位考核题库(附答案)
- 山东黄金焦家金矿安全生产管理制度汇编
- 第7课《培养德智体美劳全面发展的社会主义建设者和接班人》课件
- 出租车企业安全隐患排查工作手册
- 中国少儿思维能力培养市场营销模式及发展方向预测研究报告
- 2027届广州中考英语听说考试专项训练
- 2026年江苏省盐城市重点中学小升初英语考试题库试题附答案
- 新版2026年高考化学(黑吉辽蒙卷)试卷评析
- 消毒供应室追溯系统
评论
0/150
提交评论