2.2 逻辑架构
平台采用了“软件即服务”的设计理念,即应用软件统一部署在服务器,以服务的形式向用户提供。物流园区通过注册成为平台的租户,使用平台的客户端软件登陆服务器进行业务操作。为了给多个物流园区企业提供服务,平台的逻辑架构分为应用服务层和基础服务层,在数据存储上采用了数据库共享模式。
应用服务层集中了车辆管理的核心业务,主要实现用户管理、登陆、车辆管理、数据查询。基础服务层对应用服务层提供业务支撑,主要包括Web Service 调用和服务接口、数据库访问、LDAP认证和事务管理等。
多租户平台在数据存储上一般有三种方式:1)租户使用独立数据库;2)共享数据库表独立;3)共享数据库和表[4]。本平台采用了第三种方式,即所有租户使用相同的数据库和表设计。不同租户的表数据通过平台分配的企业ID进行区分。
2.3 模块设计
物流园区车辆管理平台旨在建立一个数据统一、维护统一、用户统一、安全可靠、易于扩展的信息平台。基于C/S结构和Web Service技术、充分利用开源社区优秀、成熟的软件可以很好的实现这一目标。
与B/S结构相比,C/S结构可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。客户端程序只负责数据采集和与用户进行交互,不存储业务数据,所有的业务数据存储在服务器端,数据安全可靠,用户无需部署服务器,省去繁琐的维护工作。Web Service技术具有开放性、平台独立性、松耦合性和可复用性等优点[3],因而在企业级应用中得到非常广泛的使用。
经过多年的发展开源社区已经形成了从操作系统到应用软件、从工具链到函数库的庞大的生态系统。借助高水平的开源软件不但可以构建稳定、高性能的系统,还可以显著地减少企业的开支。因此本平台大量使用了开源软件,比如使用GTK开发图形界面,以PostgreSQL作为后台数据库,通过openLDAP进行高效、灵活的身份认证,基于gSOAP和Axis2快速构建Web Service应用框架。
如图2所示,在功能设计上平台包含用户登录、RFID数据接口、系统管理和车辆信息管理四大模块。
(1)用户登录
当用户输入用户名和密码后,系统会通过调用服务器的Web Service接口进行用户认证。如果通过认证,服务器会为用户生成一个令牌。用户在后续的操作中需要在报文中加入令牌信息,服务器端在处理请求时,会首先检查令牌的有效性,只有通过有效性检查的请求才会被分发到相应的业务模块进行处理。
(2)RFID数据接口
由于每个物流公司都会有自己的RFID设备,这些设备来自不同的厂商,因此传输的数据格式和协议会有所不同。为了支持多种设备,需要一种机制来屏蔽这类设备的异构性,不会因为设备的不同而在使用上有所限制。解决的方法是:定义一个数据接口,平台客户端程序启动一个后台服务进程用来接收数据;物流园区部署包含RFID中间件的数据转换器。RFID中间件实现了对具体型号读卡器的操作和平台的RFID数据接口,并且统一使用网络的方式与客户机进行数据通讯。当RFID读卡器采集到车辆数据时,将数据提交到数据转化器,按照数据接口的格式要求对数据进行封装,通过网络发送给客户端程序的后台服务器进程进行处理。
(3)系统管理
系统管理包括用户管理、本地读卡器管理和参数设置三个子模块。用户管理子模块可进行用户增加、删除、信息变更和权限设置等操作。在权限分配上使用的是用户/角色模型,亦即某个角色被赋予了若干权限,用户被赋予一个或若干角色。当用户属于某个角色,就意味着该用户拥有相关的所有权限。
本地读卡器管理子模块用于管理读卡器的配置列表。配置列表的一个表项用来标识一个通道,包含了读卡器IP地址、端口号、天线号、进出方向等配置信息。用户可以通过该子模块添加、删除和修改配置表项。 |
核心期刊网(www.hexinqk.com)秉承“诚以为基,信以为本”的宗旨,为广大学者老师提供投稿辅导、写作指导、核心期刊推荐等服务。 核心期刊网专业期刊发表机构,为学术研究工作者解决北大核心、CSSCI核心、统计源核心、EI核心等投稿辅导咨询与写作指导的问题。 投稿辅导咨询电话:18915033935 投稿辅导客服QQ: 1002080872、 1003158336 投稿辅导投稿邮箱:1003158336@qq.com |