基于模式类的航运EDI共享系统的设计与实现

倪莹莹++王晓峰++毕坤






DOI:10.13340/j.jsmu.2016.04.011
文章编号:1672-9498(2016)04005906
摘要:针对目前航运电子数据交换(Electronic Data Interchange,EDI)报文标准不统一导致的航运EDI数据共享比较难的问题,提出一种模式类方法.利用Visual Studio软件设计一个基于模式类的航运EDI数据共享系统,并对该数据共享系统进行验证.验证结果表明:模式类方法能集成不同标准报文中的相似部分;用户可根据自己的需求生成需要的EDI报文格式;数据冗余减少,报文的可阅读性增强,系统性能提高.模式类方法为数据共享提供了一种新的解决方案.
关键词:
航运; 电子数据交换(EDI); 模式类; 数据共享
中图分类号: F552; TP391
文献标志码: A
Design and implementation of shipping EDI sharing system based on model classes
NI Yingying, WANG Xiaofeng, BI Kun
(Information Engineering College, Shanghai Maritime University, Shanghai 201306, China)
Abstract:
In view of the fact that the shipping Electronic Data Interchange (EDI) data sharing is difficult because of different standards of shipping EDI messages, the model class method is put forward. A shipping EDI data sharing system based on model classes is designed by Visual Studio, and then the system is validated. The results show that the similar parts of different standard messages can be integrated by the model class method, the formats of EDI messages can be generated according to users requirements, the data redundancy is reduced, messages can be read easily, and the system performance is improved. The model class method provides a new solution to data sharing.
Key words:
shipping; Electronic Data Interchange (EDI); model class; data sharing
收稿日期: 20160407
修回日期: 20160612
基金项目: 上海市科学技术委员会重点项目(14511107402)
作者简介:
倪莹莹(1991—),女,江苏东台人,硕士研究生,研究方向为航运数据共享,(Email)yingyingni501@163.com;
王晓峰(1958—),男,辽宁灯塔人,教授,博导,博士,研究方向为人工智能、数据挖掘与知识发现、航运信息化等,(Email)xfwang@shmtu.edu.cn
0引言
随着移动互联网、物联网以及云计算技术的发展,音频、视频、文字、图片等结构化、非结构化的数据在日常生活中变得触手可及,这说明人类已经步入大数据[13]时期.大数据时代的到来,扰动了市场敏感的神经,数据即价值的诱惑使得医疗、餐饮等各大行业也纷纷涌入大数据市场.近几年计算机和信息技术规模明显扩大,数据以其类型复杂多样、数量庞大、流动速度快以及价值密度低等特点成为当今的热点.
航运业是与互联网、大数据的联系发展最为缓慢的传统产业.航运通常实现的是货物的空间转移,货物在发生空间转移时必然伴有货物的信息传递,因此航运与信息有着天然的联系.从现代航运的发展看,信息化已成为航运发展不可或缺的重要技术支撑.大数据时代下航运业数据共享对国家之间、港口与航运物流公司之间的联系至关重要.航运公司在进行贸易往来时往往通过大量的业务信息数据保持其与客户和供应商等之间的联系,对这些数据作出迅速、高效、灵活的处理,实现便捷、高效的信息流通成为各企业发展的首要任务.
电子数据交换(Electronic Data Interchange,EDI)作为一种新的技术,在航运中拥有无可取代的地位.EDI的产生加速了世界经济贸易的流通速度,实现了国家或企业之间通过互联网进行可靠的贸易数据交换,成为现代贸易标准化的数据传输方式.航运EDI更是外贸、海关、商检、港口、航运企业、货代、船代等部门或企业的专业EDI.然而,由于各部门或企业各自为政,EDI信息孤岛效应日渐突出;航运EDI标准[4]不统一,导致系统中出现大量的冗余数据和垃圾数据,信息利用率低,无法实现信息共享.
国内外数据交换的方法有多种,如:利用数据库自身工具实现数据交换[5]、利用中间件完成数据交换和利用XML/EDI实现数据交换[6].这些方法中虽然也有针对语法语义的交换方法,但不完全适用于航运EDI报文数据交换.本文提出一种将现有不同报文标准中的相似信息集成到模式类中的新方案,通过模式类的方法实现航运EDI不同标准的报文数据共享,设计并实现一个航运EDI报文数据的共享系统.
1相关概念
1.1数据共享
为充分挖掘航运大数据的潜在价值,提高航运产业效能,需要实现海量、多源、异构航运数据的集成和融合,解决数据互通、转换和共享问题.首先需要兼容现有各种EDI报文格式,使有不同数据标准的港航企业无障碍地交换EDI报文数据,实现航运EDI数据共享.
数据共享能够通过减少纯粹的重复修改操作使异构数据在不同的系统之间流通,实现不同系统中的数据在不同企业之间共享,极大地提高企业信息传递的效率,降低企业之间的业务信息处理差错,简化异构数据的传递方式,同时节约处理成本.总之,数据共享的实现有利于解决信息孤岛问题,实现企业间信息的高效便捷流通,提高企业之间的贸易合作效率,提高各行各业的信息化水平.
1.2模式类
模式类本身没有具体的定义,有文献指出它是同一类事物在某方面属性的集合,用来描述知识与知识之间集合的关系框架[78],这种关系可以是明确的也可以是不明确的.这种模糊的知识框架可以应用到传统模糊推理能够应用到的地方,甚至更广的范围.
数据共享过程中面临的最大问题是数据异构问题.实现异构数据集成的关键技术是模式映射.与模式映射类似,本文提出的模式类的目的是实现模式匹配与映射生成,但与模式映射不同的是,模式类融入了新的活力.航运EDI按照报文内容分为船舶类、装箱单类等,这些类之间相互联系又相互独立,将模式类应用到航运EDI恰到好处.从面向对象语言的角度分析,本文所涉及的模式类的本质是类,它可以实例化,可以继承,可以组合,提高了代码的复用性和系统的运行效率;从数学角度分析,模式类是相互关联的一些知识的集合,是对不同报文重复信息的提取,是重复信息的集合.不同标准航运EDI报文相互区别又相互关联,将模式类方法应用到航运EDI报文领域是一个技术上的创新.
2共享系统的设计
2.1需求分析
2.1.1需求目标
航运数据共享有利于实现企业间的信息交换,促进航运事业的发展,但是航运EDI报文标准不统一导致各航运公司之间信息交流困难,对于使用不同标准的公司而言就如同隔了一座山.在大数据背景的推动下,信息交换与共享成为航运乃至整个互联网涉及到的领域的一个必然趋势.针对目前航运EDI报文标准不统一导致的航运EDI数据共享比较困难的问题,需要设计出一个起桥梁作用的、兼容多种报文格式的信息共享平台,从根本上走出这个困境.为此,本文设计了一个基于模式类的共享系统,系统具体工作流图见图1.用户A和B分别使用EDIFACT报文标准和99报文标准,登录共享系统后,A公司只需要输入一些与业务相关的具体的数据,系统就会根据用户需要自动生成符合B公司报文标准的报文,进而使B公司可以在共享平台上无障碍地浏览A公司的业务信息.这在一定程度上解决了信息孤岛问题,为EDI标准化创造了过渡条件,为数据共享开辟了道路.
2.1.2基于模式类的共享设计思路
近10年来有关EDI数据共享平台的研究主要有基于XML/EDI共享平台的研究[9]和基于SOA架构的数据共享平台的研究[1011].上述两种方法从宏观上实现共享,并没有关注到由不同报文标准引起的异构,具有一定的局限性.数据共享核心思想是数据集成[12],即将相关联的数据集成到一起.利用模式类实现数据共享正是数据集成思想的一种体现,具体的数据共享设计思路见图2.由图2可知,经过模式类组合并实例化,再经过映射文件,可以实现报文之间的数据通信,从而实现数据共享.
2.2设计目标
本文旨在通过互联网设计并实现一个基于模式类的数据共享系统.该系统能够兼容不同报文标准,实现不同格式报文之间的数据通信.基于系统的需求分析,该系统主要分为应用层、功能层和数据层,其中:应用层是基于用户的;功能层是该系统的主要框架;数据层是与数据库相连接的.具体数据共享系统架构见图3.
2.3系统功能模块设计
系统的功能模块主要分为用户管理模块、权限设置模块、模式类管理模块和日志管理模块.用户管理模块和权限设置模块是针对用户的,系统管理员可以通过该系统对用户进行增加、修改、查询、删除等,并且为他们开通一些权限.在模式类管理模块,用户根据个人需要配置各个模式类的订单信息,如集装箱信息、船模式类信息等;在配置完成后,数据会按类分别保存到模式类中,当用户自己选择报文标准时,这些数据就会按照所选格式组合成对应的报文,通过映射文件对所生成的模式类进行校验,最终保存到目标目录.系统的功能模块见图4.
2.4模式类设计
2.4.1模式类创建
模式类是实现数据共享的核心,创建模式类前必须先分析EDI报文的结构.不同标准的EDI报文从内容上看都包括了EDI标准的三要素:数据元、数据段和报文标准格式.数据段是数据元的集合,是报文的主要组成部分,它的功能是定义段的功能.就像不同计算机语言一样,实现同一目的可以采用不同的编程语言,报文亦是如此.就开始标识和结束标识而言, EDIFACT报文定义的是UNH和UNT,ANSI X12定义的是GS和GE,99报文定义的则是00和99.表1是交通运输部制定的国家标准对开始标识的定义,表2是某航运公司用EDIFACT报文标准对开始标识的定义.
表1和2中,M代表报文的必填字段,C代表报文的可选字段.报文中包含的信息大致相同,模式类是对这些重复信息的提取和汇总.对比不同航运EDI报文标准,有众多重复的元素,例如描述船舶、装箱单、港口、货物的信息,多次的重复不仅导致工作量大,而且很耗费时间和资源.结合面向对象的思想,将这些船舶、装箱单、港口、货物等信息进行汇总创建模式类,如船舶模式类主要描述与船舶相关的基本信息(表3),集装箱模式类主要描述集装箱信息(表4),不同报文标准共用这些模式类.
2.4.2映射文件
映射文件[1315]描述不同标准的报文之间的关系,不同报文标准是通过不同方式达到相同目的的.映射文件的功能就像字典,它建立了不同标准报文之间的对应关系.EDIFACT和99报文订舱报文都有船舶和集装箱信息的定义,表5是统计出来的描述船舶信息的两种标准报文的映射关系,表6是描述集装箱信息的两种标准报文的映射关系.
由表5可知,99报文中的字段VESSEL对应EDIFACT报文中SG7TDTC2228212中的信息.当模
式类信息配置好后,选择99报文格式生成对应的报文,然后对其进行校验.若选择EDIFACT格式,则会通过对应的映射找到EDIFACT中对应的字段,对生成的EDIFACT报文进行校验,从而实现报文标准化.
3共享系统的实现
本节对数据共享系统进行验证和演示.若系统A用户为客户,系统B用户为航运公司,客户根据自己的需求在系统中填写相应的订单信息,生成符合航运公司的报文格式的报文提交.航运公司收到报文后根据用户需求配置订单,避免了报文标准不统一造成的数据不能转换和共享的情况.
3.1模式类数据配置
图5系统界面中的系统管理是以增加、修改、查询、删除为基础的针对用户的管理模块,主界面是对模式类需要的船舶数据、集装箱数据等进行配置的界面,配置后的数据将通过上述映射关系,找到对应的报文标准,然后根据需要在指定文件夹内生成目标报文.如果系统将文件存在云平台上,航运公司就可以直接下载配置订单.在数据配置过程中,如果用户数据填写错误,点击编辑按钮就可以对此前填写
的信息进行修改.由于系统兼容了多种标准,同一信息也可以生成多种标准的报文.
3.2映射校验
在EDIFACT报文标准中,对UNH元数据的定义见表2.由表可知UNH元数据所包含的7个字段都是必选的,这7个字段之间用“^”连接.根据报文的组成,利用如下的XML文件对其进行校验,其中校验文件中的“ID”对应的是报文的说明头,若Req字段为M则必须对其校验,若Req字段为C,则默认其是可选的,是否出现都不影响结果.“DataType”代表报文字段的属性类型,有“AN”“N0”“DT”“TM”等可选值,它们分别代表字符类型、数字类型、日期类型和时间类型,该字段可以检验报文段值的类型是否符合规范;“MinSize”和“MaxSize”分别代表需要校验的报文段的最小长度和最大长度;“Description”这个属性在校验的过程中并没有特别的作用,仅仅作为注释使用.具体的代码实现如下.

<element
DataType="AN" MinSize="1" MaxSize="14" Description="Message Reference Number" />

<element
DataType="AN" MinSize="1" MaxSize="6" Description="Message Type Identifier" />
<element
DataType="AN" MinSize="1" MaxSize="3" Description="Message Type Version Number" />
<element
DataType="AN" MinSize="1" MaxSize="3" Description="Message Type Release Number" />
<element
DataType="AN" MinSize="1" MaxSize="2" Description="Controlling Agency" />
<element
DataType="AN" MinSize="1" MaxSize="6" Description="Controlling Agency" />








3.3系统运行结果
以系统生成的99报文格式和EDIFACT报文格式为例,根据图5中填入的信息,生成的报文运行结果见图6.由结果可知,本系统兼容现有部分EDI
报文标准,可以使有不同数据标准的港航企业进行无障碍的EDI报文交换,实现航运EDI数据共享.对比99报文标准和EDIFACT报文标准,目标报文的结构均与标准相对应,一定程度上解决了报文标准不一致导致的航运EDI数据不能共享的问题,基本实现了本系统的目标,为航运EDI报文数据共享提供了技术支持.
4结论
本文围绕数据共享主题设计了一个基于模式类的航运EDI数据共享系统,为用户提供透明、便捷的数据访问方式.模式类采用面向对象的思想,独立于报文标准和具体业务,是抽象的类;模式类有利于数据集成,减少数据冗余,提高系统效率与报文的可读性.与之前数据共享平台的研究方法相比,模式类方法更适用于解决EDI报文共享问题,能解决由于EDI标准不统一导致的数据冗余和信息阅读性差的问题,促进了航运EDI数据的交换,实现了航运EDI数据的共享.在大数据背景下,本系统仍有一些问题和不足,模式类和映射文件也有待进一步充实和完善,以覆盖更多的EDI标准.
参考文献:
[1]刘智慧, 张泉灵. 大数据技术研究综述[J]. 浙江大学学报(工学版), 2014, 48(6): 957972. DOI: 10.3785/j.issn.1008973X.2014.06.001.
[2]覃雄派, 王会举, 杜小勇, 等. 大数据分析——RDBMS与MapReduce的竞争与共生[J]. 软件学报, 2012, 23(1): 3245. DOI: 10.3724/SP.J.1001.2.12.0409.
[3]DONG Xinhua, LI Ruixuan, HE Heng, et al. Secure sensitive data sharing on a big data platform[J]. Tsinghua Science and Technology, 2015, 20(1): 7280.
[4]温艳芳, 乐美龙, 黄海剑, 等. 航运提单标准电子报文研究及开发[J]. 中国航海, 2004(2): 3437.
[5]胡良亚, 肖卫东, 何晓晔. 基于XML与J2EE技术的数据交换中心的设计与实现[J]. 计算机应用研究, 2006(10): 203204.
[6]瞿裕忠. 一个基于XML的数据交换原型系统[J]. 计算机工程, 2000, 26(9): 7173.
[7]潘无名, 徐扬, 李天瑞. 模式类及其上的知识表示和推理[J]. 西南交通大学学报, 2001(4): 437439.
[8]李红海, 李炯生, 苏莉. 符号模式集FSP(3,n3)中蕴含幂零的模式类[J]. 数学物理学报, 2011, 31A(3): 628635.
[9]侯文斌, 高岭, 杨建峰, 等. 基于XML的Web数据资源共享[J]. 东南大学学报(自然科学版), 2012, 42(S2): 265270. DOI: 10.3969/j.issn.10010505.2012.S2.008.
[10]郭文越, 陈虹, 刘万军. 基于SOA的数据共享与交换平台[J]. 计算机工程, 2010, 36(19): 280282.
[11]王健萍. 基于Web Services的异构数据库共享技术研究[D]. 上海:上海交通大学, 2008.
[12]王明刚. EDI数据中心信息集成研究[D]. 大连: 大连海事大学, 2012.
[13]ANAM S, KIM Y S, KANG B H, et al. Evaluation of terminological schema matching and its implications for schema mapping[J]. Lecture Notes in Computer Science, 2014, 8862: 561572. DOI: 10.1007/9783319135601_45.
[14]ANAM S, KIM Y S, LIU Q. Incremental schema mapping[J]. Lecture Notes in Computer Science, 2014, 8863: 6983. DOI: 10.1007/9783319133324_7.
[15]CHERTES F, FEINERER I. A visual schema mapping tool[J]. Frontiers in Artificial Intelligence and Applications, 2014, 263: 12231224.
(编辑贾裙平)