港口物流信息发布平台建设方案.docx
《港口物流信息发布平台建设方案.docx》由会员分享,可在线阅读,更多相关《港口物流信息发布平台建设方案.docx(24页珍藏版)》请在冰豆网上搜索。
![港口物流信息发布平台建设方案.docx](https://file1.bdocx.com/fileroot1/2023-2/10/33b28aff-5342-4736-aae3-0c15317ccae5/33b28aff-5342-4736-aae3-0c15317ccae51.gif)
港口物流信息发布平台建设方案
Preparedon22November2020
港口物流信息发布平台建设方案
港口物流信息发布平台
建设方案
201×年××月××日
图19业务属性结构图
③根据业务流程、物流信息数据流向来划分系统用户结构
系统业务主要包括“信息发布”、“信息展示”、“信息自动匹配”、“信息统计”。
主要涉及用户类型有:
货主企业、运输企业、监管部门。
业务数据流向有以下几种:
货主企业对企业基本信息及企业产品信息等静态信息以及企业的物流需求信息进行采集(采集方式有多种,包括手工采集、设备采集、其他应用系统采集等),并通过信息发布功能,将物流需求信息发布到“物流信息发布平台”;运输企业对企业基本信息及企业服务标准等静态信息以及企业的物流服务业务信息及运输在途信息等动态信息进行采集(采集方式有多种,包括手工采集、设备采集、其他应用系统采集等),并通过信息发布功能,将物流服务信息发布到“物流信息发布平台”;监管机构通过信息发布平台进行行业政策地方法规及行业动态等动态信息的发布;平台将运输企业发布的物流动态信息与货主企业发布的物流需求信息进行自动匹配后,将运输企业的物流服务提供信息推送给货主企业;平台将运输企业发布的物流动态信息与货主企业发布的物流需求信息进行自动匹配后,将货主企业的物流需求信息推送给运输企业;平台将系统中的物流需求信息及物流服务提供信息进行统计分析,并将结果提供给行业监管部门。
系统业务数据流向如下图:
图20系统业务数据流向
根据业务数据流向,可将系统用户划分为以下几种类型:
信息采集发布员、物流信息数据查阅员、信息统计决策员。
同时,针对业务运行,需对系统业务进行类别、业务属性等基础业务数据维护的系统维护员。
2、多种数据传输通道
(1)重点难点分析
×××港信息发布平台与其它信息系统交互时要能够支持HTTP/Socket/MQ/FTP/JMS/Email/Fax等交互方式,要能够处理外围异构系统的各种数据报文格式,如EDIFact/X12/InhouseFlat/XML/分隔符等。
需要设计良好的数据交换架构,对新增数据格式的接入仅仅通过灵活配置即可支持,而不需要每次都进行新的设计和开发。
(2)解决方案
①采用ESB数据总线
图21ESB数据总线示意图
×××港物流信息发布平台通过ESB将各企事业单位系统之间进行通信,实现数据交互。
在SOA集成环境中,ESB传输层能够提供消息可靠传输,同时ESB和应用之间的桥接的消息也具备支持多种协议(如Web服务、FTP、JMS、RMI,MQ,JMS,Socket等)的能力。
使用统一ESB,可以让×××港域管理员使用一个管理控制台来管理域中所有各企事业单位节点,在这个控制台中可看到全部的拓扑结构。
这种方式的主要好处在于管理员可以查看域中所有实例活动(资源消耗、服务调用统计等)以及管理ESB的行为。
3、海量数据
(1)重难点分析
×××港港区多,规模大,物流业务繁忙,平台要支持每天数百万甚至上千万的数据交换需求,并提供满足客户要求的交换性能指标,如100TPS(每秒交易笔数)以上的交换吞吐量,同时对所有交换数据提供交易可追踪性等系统功能需求。
这些数据对于应用系统来讲,是超海量数据,如果系统设计时,不进行有效考虑,系统性能以及数据处理的及时性将面临较大问题。
针对平台将出现的海量业务数据情况,系统将会存在以下问题:
数据存储工具及存储方式,将决定数据能否有效被保存及被查询;系统中进行数据关联匹配时,性能将如何得到确保;如何从海量数据中进行高效率数据检索。
(2)解决方案
针对以上分析,我们对平台中少量数据的处理,将通过以下方式来进行有效解决,从而确保系统的可用性和系统性能。
①数据库、系统环境
选用合适数据库工具。
现在的数据库工具厂家比较多,对海量数据的处理对所使用的数据库工具要求比较高,一般使用Oracle或者DB2,而使用较广泛的SQLServer、MySQL等中小型数据库,在对海量数据的处理上就有些力不从心了。
另外在BI领域:
数据库,数据仓库,多维数据库,数据挖掘等相关工具也要进行选择,同时,好的ETL工具和好的OLAP工具都十分必要,例如Informatic,Eassbase等。
通常,对每天6000万条的日志数据进行处理,使用SQLServer2000需要花费6小时,而使用SQLServer2005则只需要花费3小时。
进行合理的系统虚拟内存配置。
如果系统资源有限,内存提示不足,则可以靠增加虚拟内存来解决。
笔者在实际项目中曾经遇到针对18亿条的数据进行处理,内存为1GB,1个P42.4G的CPU,对这么大的数据量进行聚合操作是有问题的,提示内存不足,那么采用了加大虚拟内存的方法来解决,在6块磁盘分区上分别建立了6个4096M的磁盘分区,用于虚拟内存,这样虚拟的内存则增加为4096*6+1024=25600M,解决了数据处理中的内存不足问题。
硬件保障。
目前的计算机很多都是32位的,那么编写的程序对内存的需要便受限制,而很多的海量数据处理是必须大量消耗内存的,这便要求更好性能的机子,其中对位数的限制也十分重要。
选择合理的操作系统。
海量数据处理过程中,除了对数据库,处理程序等要求比较高以外,对操作系统的要求也放到了重要的位置,一般是必须使用服务器的,而且对系统的安全性和稳定性等要求也比较高。
尤其对操作系统自身的缓存机制,临时空间的处理等问题都需要综合考虑。
②数据存储与处理方式
对数据进行分批处理。
系统中的数据通常可分为两种类型:
一种是即时性较强的数据(即维护频率较高,发生变化的可能性较大的数据),另一种为静态数据(通常是在系统中已经不再被频繁使用的,或者数据已经固定,不再会发生改变的数据)。
如:
系统中每天发布的货物运送信息,以及每天船运数据信息,在当天都是即时性较强的数据,而当这些数据作为历史数据时,数据本身不再会发生改变。
基于这些数据进行统计分析供决策的统计数据也不再会发生变化,这样,系统可将进行静态数据处理的工作放在系统相对空闲时进行处理。
海量数据处理难因为数据量大,那么解决海量数据处理难的问题其中一个技巧是减少数据量。
可以对海量数据分批处理,然后处理后的数据再进行合并操作,这样逐个击破,有利于小数据量的处理,不至于面对大数据量带来的问题,不过这种方法也要因时因势进行,如果不允许拆分数据,还需要另想办法。
不过一般的数据按天、按月、按年等存储的,都可以采用先分后合的方法,对数据进行分开处理。
使用数据仓库和多维数据库存储。
数据量加大是一定要考虑OLAP的,传统的报表可能5、6个小时出来结果,而基于Cube的查询可能只需要几分钟,因此处理海量数据的利器是OLAP多维分析,即建立数据仓库,建立多维数据集,基于多维数据集进行报表展现和数据挖掘等。
使用临时表和中间表。
数据量增加时,处理中要考虑提前汇总。
这样做的目的是化整为零,大表变小表,分块处理完成后,再利用一定的规则进行合并,处理过程中的临时表的使用和中间结果的保存都非常重要,如果对于超海量的数据,大表处理不了,只能拆分为多个小表。
如果处理过程中需要多步汇总操作,可按汇总步骤一步步来,不要一条语句完成,一口气吃掉一个胖子。
对数据进行分区操作。
对海量数据进行分区操作十分必要,例如针对按年份存取的数据,我们可以按年进行分区,不同的数据库有不同的分区方式,不过处理机制大体相同。
例如SQLServer的数据库分区是将不同的数据存于不同的文件组下,而不同的文件组存于不同的磁盘分区下,这样将数据分散开,减小磁盘I/O,减小了系统负荷,而且还可以将日志,索引等放于不同的分区下。
建立广泛索引。
对海量的数据处理,对大表建立索引是必行的,建立索引要考虑到具体情况,例如针对大表的分组、排序等字段,都要建立相应索引,一般还可以建立复合索引,对经常插入的表则建立索引时要小心,笔者在处理数据时,曾经在一个ETL流程中,当插入表时,首先删除索引,然后插入完毕,建立索引,并实施聚合操作,聚合完成后,再次插入前还是删除索引,所以索引要用到好的时机,索引的填充因子和聚集、非聚集索引都要考虑。
合理利用缓存机制。
当数据量增加时,一般的处理工具都要考虑到缓存问题。
缓存大小设置的好差也关系到数据处理的成败,例如,在处理2亿条数据聚合操作时,缓存设置为100000条/Buffer,这对于这个级别的数据量是可行的。
使用文本格式进行处理。
对一般的数据处理可以使用数据库,如果对复杂的数据处理,必须借助程序,那么在程序操作数据库和程序操作文本之间选择,是一定要选择程序操作文本的,原因为:
程序操作文本速度快;对文本进行处理不容易出错;文本的存储不受限制等。
例如一般的海量的网络日志都是文本格式或者csv格式(文本格式),对它进行处理牵扯到数据清洗,是要利用程序进行处理的,而不建议导入数据库再做清洗。
定制强大的清洗规则和出错处理机制。
海量数据中存在着不一致性,极有可能出现某处的瑕疵。
例如,同样的数据中的时间字段,有的可能为非标准的时间,出现的原因可能为应用程序的错误,系统的错误等,这是在进行数据处理时,必须制定强大的数据清洗规则和出错处理机制。
建立视图或者物化视图。
视图中的数据来源于基表,对海量数据的处理,可以将数据按一定的规则分散到各个基表中,查询或处理过程中可以基于视图进行,这样分散了磁盘I/O,正如10根绳子吊着一根柱子和一根吊着一根柱子的区别。
使用采样数据,进行数据挖掘。
基于海量数据的数据挖掘正在逐步兴起,面对着超海量的数据,一般的挖掘软件或算法往往采用数据抽样的方式进行处理,这样的误差不会很高,大大提高了处理效率和处理的成功率。
一般采样时要注意数据的完整性和,防止过大的偏差。
经试验,对1亿2千万行的表数据进行采样,抽取出400万行,经测试软件测试处理的误差为千分之五,对海量数据而言,属于可接受范围。
③程序优化
编写优良的程序代码。
处理数据离不开优秀的程序代码,尤其在进行复杂数据处理时,必须使用程序。
好的程序代码对数据的处理至关重要,这不仅仅是数据处理准确度的问题,更是数据处理效率的问题。
良好的程序代码应该包含好的算法,包含好的处理流程,包含好的效率,包含好的异常处理机制等。
优化查询SQL语句。
在对海量数据进行查询处理过程中,查询的SQL语句的性能对查询效率的影响是非常大的,编写高效优良的SQL脚本和存储过程是数据库工作人员的职责,也是检验数据库工作人员水平的一个标准,在对SQL语句的编写过程中,例如减少关联,少用或不用游标,设计好高效的数据库表结构等都十分必要。
笔者在工作中试着对1亿行的数据使用游标,运行3个小时没有出结果,这是一定要改用程序处理了。
4、异构数据交换
(1)重难点分析
×××港定位于利用平台化的建设思路,整合现有港口、物流单位资源,提供快速物流信息共享、信息交换与信息增值服务机制,整合物流信息服务,并将政府部门、港口企业、物流企业以致工商业等各环节运营与管理信息进行整合。
×××港将与××市海关、××市中远国际货运有限公司、××集团、×××港集装箱有限公司、××市国际集装箱转运有限公司、港口下属的物流等企事业单位需要进行信息交换。
这使得港口物流信息发布平台与企事业单位的信息系统进行对接时,因不同系统结构不同和信息格式不同,如采用传统方式进行信息交互将会为此付出巨大的代价。
应用资源、信息资源的分散,有些资源粒度非常细,需要考虑多种整合信息的方式。
(2)解决方案
①采用ESB企业服务总线对信息进行整合
图22技术框架
ESB全称为EnterpriseServiceBus,即企业服务总线。
ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。
ESB同时还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信和整合。
ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。
ESB提供易用的服务编制工具以及数据映射工具;采用集中式管理,分布式运行的设计思想;解决企业、政府的数据整合、应用整合、接口整合、界面整合的问题。
它将应用程序的不同功能单元――服务(service),通过服务间定义良好的接口和契约(contract)联系起来。
接口采用中立的方式定义,独立于具体实现服务的硬件平台、操作系统和编程语言,使得构建在这样的系统中的服务可以使用统一和标准的方式进行通信。
通过ESB的应用,×××港能够快速方便的把各企事业单位的数据整合到港口物流信息发布平台中。
能够做到将政府部门、港口企业、物流企业以致工商业等各环节运营与管理信息进行整合。
②多种整合方式,最大限度的利用分散资源
图23整合方式示意图
提供多种整合方式:
预置式的应用整合,如页面链接,页面嵌入,网页剪切。
预置式的信息整合,如信息订阅,统一信息展现。
定制式的应用整合:
如开发Portlet。
集成式的信息整合:
如集成式内容管理,集成搜索引擎。
通过多种整合方式能够细粒度的将各种企事业单位资源有效地整合到×××港信息发布平台中。
5、数据的定制和控制
(1)重难点分析
港口物流信息发布平台有不同的使用者,如货主、货代、船代、船务公司、港口、运输公司等。
使用的企事业单位较多,而且企事业单位内还分不同的角色用户,不同的最终用户看到的信息是不同的,因此信息安全尤为重要。
×××港物流信息发布平台将存在很多子系统如:
平台门户子系统,用户管理子系统,信息采集子系统,信息发布子系统,决策支撑子系统,平台管理子系统等,同时港口物流信息发布平台又存在多种类型的使用用户,因此portal的应用很重要。
(2)解决方案
①合理的架构设计是数据的定制关键所在
图24系统架构示意图
在应用处理层设计的过程中把业务进行归类,区分不同各企事业单位不同的需求,严格按照不同属性的用户来设计模块,确保不用的用户提取的信息不交叉、不错乱。
在系统管理层对用户组管理、权限管理、应用管理等模块需严格按逐级分配原则设置应用权限,×××港可分配权限给各企事业单位,确保企事业单位只能拥有属于自己的权限,而使用用户只能在自己单位的权限内,被分配所需的权限。
日志管理也为数据的控制提供了有效地核查保证,谁在何时查看或修改那一条信息,内容是什么等,在日志管理中都能够留下记录。
②Portal的应用是解决数据控制的一个重要方式,同时其个性化的应用能否方便用户的使用
图25portal在平台框架中的应用
统一身份认证(单点登录)—Portal的单点登录是基于应用集成系统的,统一身份认证系统实现系统的单点登录:
×××港用户只需要进行一次登录,就可以访问到所有的授权服务;所有的应用系统可以提供统一的用户管理。
Portal的用户权限管理能够控制到页面或Portlet。
个性化定制—Portal的个性化定制是基于应用整合系统或相对复杂的业务系统,×××港用户可以个性化的选择相关信息、栏目,无关的信息和栏目可以不选择。
资源整合和复用—Portal里面的Portlet可以直接把多个系统,整合到Portal平台里面来,而且一个Portlet可以在多个页面里面来进行引用添加。
(四)系统支撑
1、系统开发环境
(1)程序编写工具
Eclipse是在Java程序开发方面的一个强大工具,支持面向对象的开发,和开发过程中的版本控制,支持UML,它具有高效性,可移植性,开放性,支持中文大字符集,是目前使用最为广泛的开发工具之一。
我们将用它开发应用服务器上的所有的java类程序。
①测试工具
LoadRunner是一种预测系统行为和性能的负载测试工具。
通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。
通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
②版本控制工具
CVS(ConcurrentVersionSystem)版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。
实际上CVS可以维护任意文档的开发和使用,例如共享文件的编辑修改,而不仅仅局限于程序设计。
CVS维护的文件类型可以是文本类型也可以是二进制类型。
CVS用Copy-Modify-Merge(拷贝、修改、合并)变化表支持对文件的同时访问和修改。
它明确地将源文件的存储和用户的工作空间独立开来,并使其并行操作。
CVS基于客户端/服务器的行为使其可容纳多个用户,构成网络也很方便。
这一特性使得CVS成为位于不同地点的人同时处理数据文件(特别是程序的源代码)时的首选。
③项目管理工具
Project是一种高效的项目管理软件,能对项目进行有效管理和控制,及时发现项目在开发过程中的各种风险。
2、系统部署环境
公共物流信息系统中的数据容量大,图形图像处理多,因此系统对计算机CPU的运算速度、存储容量、图形处理等能力都有很高的要求要求有高速CPU处理能力等特点,结合中国的国情,在软硬件选型时,应考虑如下原则:
能最大限度地满足用户的需求;在技术上具有相当的先进性,不易过早被淘汰;软硬件之间的相互兼容;软件汉化水平高,符合中国人的操作习惯;性能可靠稳定,有较高的性能价格比;厂家技术支持力量强,更新维护有保障。
系统环境配置包括软件环境、硬件环境和网络环境。
软件环境包括操作系统平台、数据库平台、地理信息系统平台、系统开发平台及其他相关软件;硬件环境主要是建立和调试系统运行的服务器、客户端、外设等硬件环境;网络环境则起到连接服务器和客户端,保证系统正常运转的作用。
(1)软件环境
操作系统平台
①服务器
可以选用Linux作为操作系统。
②数据库服务器
建议选用Windows2003AdvancedServer或是Linux作为操作系统。
③Web服务器
目前主流WebServer平台主要有两种方案:
一种是采用微软的一系列产品,另一种是使用Unix/Linux系统以及一些第三方的网络产品。
由于微软的网络产品技术比较成熟,同时考虑到和系统WebGIS平台以及内网平台的结合,所以系统WebServer平台选择Windows2003AdvancedServer+。
④客户端
客户端操作系统可选用Windows2000/XP/2003。
⑤数据库平台
我们将采用Oracle11g作为整个应用系统的数据库平台。
Oracle11g是最为成功的数据库管理系统之一。
它采用客户机/服务器体系结构,实现真正开放和分布的数据管理,具有强大的功能、超常的速度和稳定性,特别适合管理大型数据库。
网络管理软件
网络操作系统管理需要安装相应的软件,这些软件可以安装在服务器上,也可以专门使用单独的管理终端。
可以选择安装的管理软件有:
VPN网络管理软件、备份软件、灾难恢复软件、UPS管理软件、网络监测软件、防病毒软件和杀毒软件等。
(2)硬件设备
公共物流信息系统将主要构建基于微机的硬件环境。
随着硬件性能的提高,微机服务器和图形工作站都已经能很好地满足系统建设与运行的要求。
下面介绍一些常用网络和服务器的基本配置要求。
①数据库服务器
数据库服务器主要用于存储非空间属性数据、数据字典以及系统配置。
由于数据量巨大,对数据的安全性要求高,所以建议采用高档的服务器,辅助完备的数据备份和安全措施。
②客户机
公共物流信息系统的用户终端大致可以分为两种:
第一种是需要运行空间数据分析等应用,需要具有较高的空间数据图形处理功能,采用具有较强显示配置的高档微机;
第二种是常用的办公业务应用,不必进行复杂的图形数据处理和运算,可以采用当前中高档微机。
(3)网络环境
表3网络设备配置列表
序号
设备名称
规格程式
单位
数量
备注
1
核心路由器
套
1
2
核心交换机
套
1
3
接入交换机
套
2
4
防火墙
套
1
5
入侵检测
套
1
6
网络审计系统
套
1
7
服务器
套
4
(4)数据安全
港口物流信息发布平台作为行业性数据发布交流的门户平台,数据的安全性将是系统建设时需要重点考虑的问题。
港口物流信息发布平台是一个完整的解决方案,包括硬件,网络,软件,信息交互规则等,同时也在多方位提供了安全保障。
这些安全包括:
①数据安全:
使用磁盘阵列,提供阶段数据备份,离线介质备份,系统操作日志等数据保护措施。
②网络安全:
采用防火墙,传输加密,代码/密码认证,USBKey身份认证,第三方CA认证和数字签名等多种方式保障安全
③容错和容灾:
具有双机热备方案,提供远期容灾计划。
在整体安全上,首先,交流网络需要有防火墙保护,防止非法访问,关闭不必要的服务端口。
特定服务端口定向到指定的IP地址。
不需要对外服务的机器不对外开发,如数据库服务器。
系统采用数据中心的方式,中心数据库位于一个高可用磁盘阵列上。
数据库服务器和信息发布平台服务器一起组成集群系统,通过SAN交换机与该磁盘阵列连接。
系统具有实时备份功能,能够保证数据不论在信息交流过程中,还是完成统计分析后,不会由于硬件缘故造成数据丢失或差错。
同时,系统也提供数据远程备份功能,可以在机房外的地方(相同或不同城市)设置实时异地灾难备份中心,用以保证平台系统和发布数据免遭灾难影响。
在系统的运行过程中,可能会由于各种不确定的原因,导致系统的崩溃甚至数据库的毁坏。
为了保证平台系统和交流数据的高可靠性,系统同时具备数据备份和恢复能力。
在数据容灾方面,平台在一般系统备份的同时执行系统自带的离线介质备份,以防止灾难导致的系统数据丢失。
离线介质可以选择移动硬盘等易携带和易保存的介质,也可以选择可刻录光盘。
双机热备的集群:
数据库主机和电子撮合平台主机组成双机集群,保障核心数据库不会出现单点故障。
多机运行的集群:
行情服务器由于访问的人群并不确定,因此,系统中配置了两台服务器执行,任何一台出现故障,可以临时由另一台替代。
交换机和防火墙采用双机模式,保障主干网和外联网的安全。
(5)身份认证
在用户身份认证功能中,系统缺省支持用户代码/密码认证方式和注册字绑定机器方式,用户可以在任何时候登陆系统更改他们的密码。
该方式可以提供足够的安全保障。
管理系统中,除管理员代码和密码外,还提供防密码探查机制。
同时,用户也可以选择更高级的身份认证方式,包括:
USBKey身份认证,适用于除互联网用户外的其他所有人员;第三方CA认证和数字签名,适用于互联网用户。
(6)加密传输
基于B/S模式的管理系统,系统可以使用https方式进行加密传输,管理系统也可以考虑在管理网络和平台网络之间建立VPN进行加密传输。
如果管理网络与平台网络是内部局域网,则可以简化,不使用加密。
(7)操作权限和审计
系统为信息发布员和管理员均规定了相应的权限。
信息发布员的权限包括:
自定义表单属性、查看物流船务信息,维护企业基本信息等。
管理员的权限管理可以针对每一个功能项,每一个功能项均规定了查看、修改和没有权限等三种权限。
系统对管理员的每一个修改操作均记录日志,内容应包括操作人,时间,功能项,更改内容,操作结果。
且任何应用不能对操作日志作更改。
(8)第三方CA认证系统
港口物流信息发布平台将提供完善的安全解决方案,为进一步增强安全性,为客户提供可选的安全方案:
开发专用安全接口,与第三方PKI(PublicKeyInfrastructure,公钥基础设施)进行无缝集成,提供技术先进的、易于实施的、完善的网上平台安全解决方案。
港口物流信息发布平台是为企业或个人提供一个开放的、方便的、诚信的信息交流环境。
然而,不可避免的涉及到许多保密信息,在给我们业务带来翻天覆地的变化同时,也不可避免的带来了安全上的巨大隐患;由于物流