一种基于云平台的小型物流管理平台设计方法
技术领域
本发明属于物流信息管理技术领域,具体涉及一种基于云平台的小型物流管理平台设计方法。
背景技术
随着信息化的不断发展,物流企业对信息化已经有了新的认识,信息技术已经成为改善管理、提高企业核心竞争力的重要手段。目前,我国物流企业对物流信息管理平台越来越重视,一些企业还自己投入人力、物力和财力进行物流信息管理平台的研发。
每个物流企业都投入了大量资金和人力进行物流管理系统的开发和维护,虽然各个公司都有自己的个性化服务,但主要的运营功能模块大致相同。在这个提倡提升IT资源的利用率、降低IT成本、增加复用率的时代,这种设备、资源、能力的浪费,无疑不符合国家对绿色经济的要求。单个公司开发的物流信息管理平台,不能灵活应对社会发展的态势,每个公司都建立一个新的物流管理平台,建设周期长,而且扩展性差,没有统一的技术标准,会导致运营维护成本过高,给企业带来巨大的财务负担。
云计算技术和小型物流信息管理平台结合,不仅可以降低企业的运营成本,同时能够提高信息化水平,使得服务质量、企业成本、系统性能、资源浪费等问题得到有效的解决。还可以极大地减少企业对信息管理平台的花费。云平台采用虚拟化技术、动态扩展技术、负载均衡、资源动态调配技术以及可视化的监控界面,能够有效的将物流信息平台底层硬件资源整合成一个统一的平台,提高服务器利用效率,降低物流信息管理人员工作量,加快业务部署。云计算强调将异构的软、硬件资源进行虚拟整合,形成云平台,将公共应用和专业应用服务转移到此平台,利用互联网取用自由、按量付费 "的形式向用户提供强大的计算存储能力和丰富的信息服务,有效解决"系统开发的投资成本高、运行效率低"等问题,使得物流信息管理系统更高效。
发明内容
本发明的目的是提供一种基于云平台的小型物流管理平台设计方法,解决了现有技术中存在的系统开发的投资成本高、运行效率低的问题。
本发明所采用的技术方案是,一种基于云平台的小型物流管理平台设计方法,具体按照以下步骤实施:
步骤1、物流信息前台部署;
步骤2、物流信息后台管理;
步骤3、云平台部署;
步骤4、服务器集群部署;
步骤5、物流信息管理平台接入到云平台。
本发明的特点还在于,
步骤1包括以下内容:
物流信息前台分为登录、注册、修改密码以及对运输信息和订单信息进行全部查询和根据编号查询,其中:
登陆主页:用于用户登陆,设置用户输入的用户名和密码在数据库中存在且匹配;
注册界面:用于用户注册,设置注册内容的格式,规定是之前未注册的用户才能通过验证注册成功;
修改密码界面:用于用户修改密码,用户输入用户名和密码和后台数据库匹配就能通过验证,用户输入用户名和密码和后台数据库不匹配,就会失败;
运输信息查询页面:用于对运输信息的查询,用户选择查询全部信息或者输入运单号查询相关信息;
订单信息查询界面实现:订单信息查询页面用于对订单信息的查询,用户选择查询全部信息或输入订单编号就可以查询到相关信息。
步骤2包括以下内容:
数据库管理功能映射到后台:在Web应用框架Django项目中的APP中创建admin.py文件,编写该文件将原型Model中的表引入,并创建需要在后台展示的表的类,类中自定义需要管理的列,从而将数据库管理功能映射到后台;
权限管理:Web应用框架Django框架有集成的后台权限管理功能,将表的权限根据不同的部门的工作内容,分配给不同管理人员,管理人员用自己的管理账号登陆主界面只显示自己可管理的内容。
步骤3具体按照以下步骤实施:
步骤3.1、controller节点部署:
步骤3.1.a、安装mysql数据库;
步骤3.1.b、安装MongoDB包;
步骤3.1.c、安装消息队列;
步骤3.1.d、添加云平台OpenStack用户;
步骤3.1.e、安装Memcached缓存令牌;
步骤3.1.f、部署认证服务:创建一个数据库和管理员令牌,并生成一个随机值在初始的配置中作为管理员的令牌,安装并配置组件;
步骤3.1.g、部署镜像服务:创建一个数据库并授权,获得admin凭证获取只有管理员能执行的命令的访问权限,创建glance用户,添加admin角色到glance用户和service项目上,创建glance服务实体,创建镜像服务的API 端点,安装并配置组件;
步骤3.1.h、部署计算服务:创建nova_api和nova数据库并授权,获得 admin凭证,创建nova用户,给nova用户添加admin角色,创建nova服务实体,创建Compute服务API端点,安装并配置组件;
步骤3.1.i、部署网络服务:创建neutron数据库并授权,获得admin凭证,创建neutron用户,添加admin角色到neutron用户,创建neutron服务实体,创建网络服务API端点,配置网络选项;
步骤3.1.m、部署仪表盘服务;
步骤3.1.n、部署块存储服务:创建cinder数据库并授权用户,获得 admin凭证,创建一个cinder用户,添加admin角色到cinder用户上,创建 cinder和cinderv2服务实体,创建块设备存储服务的API入口点,安装并配置组件;
步骤3.2、computer节点部署:
步骤3.2.a.安装通用组件:
步骤3.2.b、配置网络选项:
网络选项1:公共网络
网络选项2:私有网络
步骤3.2.c、配置网络服务;
步骤3.2.d、配置存储节点。
步骤4为:在云平台OpenStack上创建三台云主机,一台数据库服务器,两台Web服务器,构成一个高可用Web集群,Haproxy调度器主要是通过用户访问的虚拟服务器IP,按照轮循的方式调度到两台真实web服务器上,从而达到负载均衡,两台真实Web服务器的优先级是相同的,当一台Web 出现故障,Haproxy调度器会将这台Web服务器从调度列表移除,避免出现用户访问错误问题,当该Web服务器恢复正常时,Haproxy服务器会将该 Web服务器重新加入调度列表,从而实现高可用,具体为:
步骤4.1、集群架构:两台Web服务器冗余部署,调度器对Web服务进行调度,用户只需访问统一的VIP地址192.168.118.8就能实现服务的访问,该VIP地址为虚拟IP;
步骤4.2、创建集群:在云平台OpenStack上上传一个Centos7镜像,镜像是根据实际需求用Kvm制作镜像,格式为Qcow2,在项目的云主机列表中创建三台云主机,分别为主调度器Web服务器1,命名为Web1、Web服务器2,命名为Web2、数据库Mysql。
步骤5具体按照以下步骤实施:
将物流信息管理平台接入到云平台上的Web服务器,运用Haproxy实现该集群高可用和负载均衡,并在两台Web服务器上配置一个虚拟IP地址,该地址为用户访问统一的VIP,调度器会根据调度列表对Web服务器进行轮循调度,实现负载均衡;配置监控,对两台Web服务器进行实时监控,物流信息管理平台选用8000端口,用TCP协议对8000端口进行监控,当TCP 检测不到某台Web服务器的8000端口,就会认为该服务器出现故障,调度器会将该服务器从调度列表自动剔除,当该服务器恢复正常,调度器会将该服务器重新加入调度列表,实现高可用。
本发明的有益效果是,基于云平台的小型物流管理平台设计方法,将物流企业浪费的计算机资源作为基础层,运用云计算技术将这些资源运用云计算技术将这些资源部署为OpenStack云平台,构成企业的私有云,利用云平台OpenStack创建高可用的Web服务器集群,将物流信息管理平台接入到该 Web集群中,物流信息管理平台接入到多个云服务器中,降低单一服务器宕机引起整个服务瘫痪的风险。
具体实施方式
下面结合具体实施方式对本发明进行详细说明。
本发明基于云平台的小型物流管理平台设计方法的开发环境为 centos7.3(linux)、Web应用框架Django1.3.7、mysql。系统的功能结构设计是非常重要的一个过程,是后续系统应用实现的直接依据。本发明利用Python Web应用框架Django框架MVC的设计理念对物流信息管理平台进行设计。MVC(Model-View-Controller的缩写)是一种在软件工程中广泛使用的设计模式。MVC应用程序由三部分组成:模型(Model)、视图(View) 和控制器(Controller),即把一个应用的输入、处理和输出流程按照Model、 View及Controller的方式进行分离,使得一个应用被分成三个层——模型层、视图层和控制层,模型、视图和控制器三者之间的关系和各自的主要功能。
本发明将物流企业浪费的计算机资源作为基础层,运用云计算技术将这些资源运用云计算技术将这些资源部署为OpenStack云平台,构成企业的私有云,利用云平台OpenStack创建高可用的Web服务器集群。将物流信息管理平台接入到该Web集群中,物流信息管理平台接入到多个云服务器中,降低单一服务器宕机引起整个服务瘫痪的风险。
本发明一种基于云平台的小型物流管理平台设计方法,具体按照以下步骤实施:
步骤1、物流信息前台部署;
步骤2、物流信息后台管理;
步骤3、云平台部署;
步骤4、服务器集群部署;
步骤5、物流信息管理平台接入到云平台。
其中,步骤1包括以下内容:
物流信息前台分为登录、注册、修改密码以及对运输信息和订单信息进行全部查询和根据编号查询,其中:
登陆主页:用于用户登陆,设置用户输入的用户名和密码在数据库中存在且匹配;
注册界面:用于用户注册,设置注册内容的格式,规定是之前未注册的用户才能通过验证注册成功;
修改密码界面:用于用户修改密码,用户输入用户名和密码和后台数据库匹配就能通过验证,用户输入用户名和密码和后台数据库不匹配,就会失败;
运输信息查询页面:用于对运输信息的查询,用户选择查询全部信息或者输入运单号查询相关信息;
订单信息查询界面实现:订单信息查询页面用于对订单信息的查询,用户选择查询全部信息或输入订单编号就可以查询到相关信息。
步骤2包括以下内容:
数据库管理功能映射到后台:在Web应用框架Django项目中的APP中创建admin.py文件,编写该文件将原型Model中的表引入,并创建需要在后台展示的表的类,类中自定义需要管理的列,从而将数据库管理功能映射到后台;
权限管理:Web应用框架Django框架有集成的后台权限管理功能,将表的权限根据不同的部门的工作内容,分配给不同管理人员,管理人员用自己的管理账号登陆主界面只显示自己可管理的内容。
步骤3具体按照以下步骤实施:
步骤3.1、controller节点部署:
步骤3.1.a、安装mysql数据库;
步骤3.1.b、安装MongoDB包;
步骤3.1.c、安装消息队列;
步骤3.1.d、添加云平台OpenStack用户;
步骤3.1.e、安装Memcached缓存令牌;
步骤3.1.f、部署认证服务:创建一个数据库和管理员令牌,并生成一个随机值在初始的配置中作为管理员的令牌,安装并配置组件;
步骤3.1.g、部署镜像服务:创建一个数据库并授权,获得admin凭证获取只有管理员能执行的命令的访问权限,创建glance用户,添加admin角色到glance用户和service项目上,创建glance服务实体,创建镜像服务的API 端点,安装并配置组件,其中,WebService主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以Web Service可以在任何支持这些标准的环境 (Windows,Linux)中使用;
步骤3.1.h、部署计算服务:创建nova_api(API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节,NOVA是LG的手机显示屏,是市场首款700尼特亮度的显示屏。在目前所有手机屏幕中,它最为明亮、清晰和方便阅读。当使用者通过NOVA显示屏浏览网页,查阅电子邮件,或是做任何文件处理时,仿佛置身于明亮的室内,阅读一本书籍。由于NOVA显示器具备更高的亮度水平和纯白色调,可精确显示)和nova数据库并授权,获得admin凭证,创建nova用户,给nova用户添加admin角色,创建nova服务实体,创建Compute服务API端点,安装并配置组件;
步骤3.1.i、部署网络服务:创建neutron数据库并授权,获得admin凭证,创建neutron用户,添加admin角色到neutron用户,创建neutron服务实体,创建网络服务API端点,配置网络选项;
步骤3.1.m、部署仪表盘服务;
步骤3.1.n、部署块存储服务:创建cinder数据库并授权用户(cinder 是块存储,用来给虚拟机挂扩展硬盘,就是将cinder创建出来的卷,挂到虚拟机里。cinder是OpenStack到F版,将之前在Nova中的部分持久性块存储功能(Nova-Volume)分离了出来,独立为新的组件Cinder),获得admin 凭证,创建一个cinder用户,添加admin角色到cinder用户上,创建cinder 和cinderv2服务实体,创建块设备存储服务的API入口点,安装并配置组件;
步骤3.2、computer节点部署(“节点”一般情况下是指网络上的所有装置,不过,实际上各种场合下所指的装置是不同的):
步骤3.2.a.安装通用组件:
步骤3.2.b、配置网络选项:
网络选项1:公共网络
网络选项2:私有网络
步骤3.2.c、配置网络服务;
步骤3.2.d、配置存储节点。
步骤4为:在云平台OpenStack上创建三台云主机,一台数据库服务器,两台Web服务器,构成一个高可用Web集群,Haproxy调度器主要是通过用户访问的虚拟服务器IP,按照轮循的方式调度到两台真实web服务器上,从而达到负载均衡,两台真实Web服务器的优先级是相同的,当一台Web 出现故障,Haproxy调度器会将这台Web服务器从调度列表移除,避免出现用户访问错误问题,当该Web服务器恢复正常时,Haproxy服务器会将该 Web服务器重新加入调度列表,从而实现高可用,其中,HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的 web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。具体为:
步骤4.1、集群架构:两台Web服务器冗余部署,调度器对Web服务进行调度,用户只需访问统一的VIP地址192.168.118.8就能实现服务的访问,该VIP地址为虚拟IP;
步骤4.2、创建集群:在云平台OpenStack云平台上上传一个Centos7镜像,镜像是根据实际需求用Kvm制作镜像,格式为Qcow2,在项目的云主机列表中创建三台云主机,分别为主调度器Web服务器1,命名为Web1、 Web服务器2,命名为Web2、数据库Mysql。
步骤5具体按照以下步骤实施:
将物流信息管理平台接入到云平台上的Web服务器,运用Haproxy实现该集群高可用和负载均衡,并在两台Web服务器上配置一个虚拟IP地址,该地址为用户访问统一的VIP,调度器会根据调度列表对Web服务器进行轮循调度,实现负载均衡;配置监控,对两台Web服务器进行实时监控,物流信息管理平台选用8000端口,用TCP协议对8000端口进行监控,当TCP 检测不到某台Web服务器的8000端口,就会认为该服务器出现故障,调度器会将该服务器从调度列表自动剔除,当该服务器恢复正常,调度器会将该服务器重新加入调度列表,实现高可用。
其中,物流信息后台管理可以对订单信息、人员信息、运输信息进行增、删、改、查。其中后台管理中有一个最高权限Root用户,可以是物流企业的高层管理人员。Root用户可以为不同管理人员赋予不同权限,可以实现各个模块的专项管理。
物理信息管理平台主要由订单信息模块、承运人信息管理模块、运输信息模块组成,其中:
订单信息系统主要是对客户订单信息的管理,包括订单编号、目的地、收货人、订单状态,输入订单编号可查询订单详细信息;
运输信息模块主要是对运输信息的管理,包括运输编号、目的地、始发地、承运人、运输状态,输入运输编号可以查询运输详细信息;
承运人信息管理模块主要是对承运人信息的管理,包括编号、姓名、用户名、密码、运输城市。承运人可以通过用户名和密码访问物流信息后台,对订单和运输信息查询,并且可以对自己承运的货物运输状态进行改变。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。 MongoDB最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
Memcached是一种基于Key-Value开源缓存服务器系统,主要用做数据库的数据高速缓冲,并不能完全称为数据库。memcached的API使用三十二位元的循环冗余校验(CRC-32)计算键值后,将资料分散在不同的机器上。当表格满了以后,接下来新增的资料会以LRU机制替换掉。由于memcached 通常只是当作缓存系统使用,所以使用memcached的应用程式在写回较慢的系统时(像是后端的数据库)需要额外的程序更新memcached内的资料。
对本发明基于云平台的小型物流管理平台设计方法的可行性验证如下:
1.验证云平台OpenStack搭建:
可通过controller的IP访问dashboard,访问到云平台OpenStack云平台的主面板,查看概况,当controller和computer节点都是处于激活且Up状态,表示云平台OpenStack的搭建正常且可用。
2.虚拟资源测试:
(1)镜像测试:
在主面板的镜像模块是用来创建云主机所需的镜像,根据不同云主机所需的配置可制作不同配置的镜像,本发明用KVM工具制作镜像,由于 Centos7.3制作Qcow2格式的镜像内存和根存储的最低要求分别是512M、2.5G。如果低于该配置就是出现创建的云主机不能正常启动。所以根据需要制作了两种配置的镜像,内存相同,根存储一个3GB,一个4GB,由于Mysql 云主机所需存储大一些,所以4GB的镜像是用来创建Mysql云主机,其余云主机均用3GB的镜像创建,将制作好的镜像上传到镜像列表。
(2)云硬盘测试:
在主面板的云硬盘模块是用来创建云主机可能用到的云硬盘的,当云主机内置的存储不够时,可以创建一个所需大小的云硬盘,和云主机建立连接关系,实现扩容的目的,本发明没有规定云硬盘的类型,所以默认是Lvm 类型。在主面板上选择云硬盘的创建云硬盘,设置云硬盘名称、大小就可以创建出一个云硬盘。
(3)云主机运行测试:
在主面板的云主机模块是用来创建云主机的,点击创建云主机设置云主机名称、选择所需镜像、选择网络、选择模板配置,就可以创建出一台云主机,本发明所需三台云主机,依次创建三台云主机,分别启动,查看运行状态,从列表中可以看出三台云主机均为运行状态且正常。
3.物流信息管理平台接入到云平台运行测试:
(1)用户界面测试:
对此页面测试,经测试每项功能都能实现且能正常运行。
(2)订单信息管理界面测试:
订单信息管理是用来对订单信息的增删改查操作,经过授权的订单部门的管理人员可以对订单信息进行操作,经测试每项功能都正常实现。
(3)配送人员信息管理界面测试:
配送人员信息管理是对配送人员信息增删改查操作,经过授权的配送部门的管理人员可以对配送人员信息进行操作,经测试每项功能都正常实现。
4.物流信息管理平台负载均衡和高可用测试:
(1)负载均衡测试
将两台web服务器上的界面html内容title稍作区分,分别为物流信息管理平台一、物流信息管理平台二,然后用统一的VIP地址192.168.118.8 访问物流信息管理平台,可以看到的现象是:第一次界面为物流信息管理平台一,第二次界面为物流信息管理平台二,第三次界面为物流信息管理平台一...,这样依次轮询。
(2)高可用测试
关掉web1,可以看到每次访问的界面都是物流信息管理平台二,当把 web1开机,可以看到web界面又开始轮询。