作者简介:袁满(1965-),男,教授,博士.研究方向:数据工程理论与技术,信息标准化与信息集成.E-mail:yuanman@nepu.edu.cn
为弥补数据交换实际应用中交换标准的不足,本文首次提出了“自标准数据”、“数据港口”、“数据码头”和“数据泵”的观点。为提供更加灵活的数据提供方式,数据提供者可以“自标准化”所提供的数据,并将这些数据存放在数据港口;对于数据消费者,可以利用数据泵从数据港口获取并解析出所需要的数据。文中对自标准数据的定义、特性、产生的背景、基于自标准数据和数据港口的数据交换的技术架构以及应用的领域等进行了论述。原型系统实现及企业应用验证了自标准数据和数据港口技术的有效性和可行性。
To make up for the lack of standard in data exchange of practical application, the conceptions of “self-standard data”,“data harbor”, “data dock” and “data pump” are proposed. Using these concepts, the data supplier can organize their data in a more flexible way. Data supplier can standardize the data provided, and store the data in "data harbor". For data consumers, they can obtain these data by means of data pump and parse the needed data from the data supplied by the data supplier. The definition and characteristics of self-standard data, the generating background, data exchange technical architecture based on self-standard data and data harbor, and the application areas are discussed in details. The effectiveness and feasibility of the self-standard data and data harbor technique are demonstrated by the realization of prototype system and enterprise application.
文献[1]定义了数据共享的核心内涵:“ 数据共享包括所需数据的查询、检索以及与其他用户的数据交换” 。随着信息技术在各领域应用层次的不断加深, 为实现专业间的多学科协同, 领域应用对专业内部和多学科间的数据交换需求越来越高。文献[2]认为尽管数据交换已经不是一个新问题, 但是随着电子商务的发展, 对数据交换提出了更新、更复杂的需求。特别是近几年, 随着大数据概念的提出与应用, 也对数据交换提出了更高的要求, 因此, 数据交换领域又变成了一个活跃的研究领域。数据交换的概念充斥着信息处理的所有领域, 没有数据交换, 计算机系统就无法工作。然而实现数据有效交换的前提是数据交换的双方必须遵循共同的交换标准, 故数据交换标准特别重要。国际上各领域的标准化组织针对自己领域的数据交换需求制定了各种数据交换标准, 例如为了实现产品数据交换研发的产品数据交换标准STEP(Product data exchange standard), 该标准是国际标准化组织(ISO)制定的系列标准之一。其中的ISO 10303《产品数据的表达与交换》标准主要解决制造业中计算机环境下的设计和制造(CAD/CAM)的数据交换和企业数据共享的问题; 国际电子工业数据交换组织(EIDX)[3]于1979年研发了电子工业数据交换标准; 由美国国家标准局(ANSI)特许检定标准委员会(ASC)X12开发的企业交易电子数据交换(EDI)X12标准[4]; 1986联合国欧洲经济委员会(UN/ECE)批准了“ 联合国/EDIFACT” 标准, 该标准包括了管理、商务和运输中需要交换的数据标准[5]; OAGIS是由OAG(Open applications group)提出的基于XML技术的电子商务和应用集成标准[6]; RosettaNet制定了供应链上的数据交换标准[7]; xCBL是用于电子商务上的一套基于XML的数据交换标准[8]; 我国科学数据共享工程系列项目制定的系列标准[9]和电子政务数据交换标准[10]等。总之, 这些交换标准的目的就是方便不同领域的数据交换与共享。本文将这些由标准化组织制定的交换标准定义为公共数据交换标准。按照James Martin的“ 数据是稳定的, 处理是多变的” [11, 12, 13]的观点来看, 用户对数据的不同需求也就决定了所要交换数据的多变性和复杂性。对于所有需要交换的数据, 如果均定义成公共标准是不现实的, 而且也是不可能的。
如何来对这些所谓的“ 不值得标准化的数据” 实现有效的数据交换与共享呢?本文首次提出“ 自标准数据” (Self-standard data, SSD)的观点, 同时, 受航运物流业务的启示, 提出了数据港口的思想, 通过自标准数据与数据港口技术架构可以实现对自标准数据的有效交换与共享。通过对自标准数据和数据港口的研究, 给出了自标准数据的定义、产生的背景, 并且定义了利用自标准数据与数据港口实现数据共享管理及应用的技术架构, 认为自标准数据具有自治性、自描述性、自组织性以及进化性等, 它是公共数据交换标准的一个重要补充。它不仅可以解决一般的数据交换问题, 而且还可以解决当下大数据交换中的自标准问题, 它具有更广阔的应用领域。文中的原型系统对所定义的技术架构进行了初步的验证。
文献[1]给出了数据交换的理论模型, 见图1, 其中的S代表源头数据源模式的一个实例, T代表目标数据源模式的一个实例, M规定了源头模式到目标模式映射规则, 从理论上可将数据交换定义为一个三元组:{S, T, M}。
目标应用可以根据T实现对交换数据的解析、检索与查询等应用。
Internet的HTTP协议定义了数据交换双方必须遵守的HTTP报文数据结构或格式。HTTP对报文中的每个字段进行了详细的定义, 包括每个字段的语义等, 此外, 也对通信双方进行数据交换的方法进行了定义, 像POST和GET方法等, 同时, 还对数据交换中可能发生的各种情况的状态码进行了定义。HTTP协议具有普适性, 从HTTP交换可以看出数据交换中两个重要要素:一个是交换的数据结构, 另一个就是交换的方法。
从上面的讨论可以看出数据交换需要交换协议, 协议中包括两个重要的部分, 一个是所要交换数据的数据结构, 其中蕴含着对所要交换数据模式的定义与描述; 另一个就是交换的功能或方法。因此, 自标准数据的交换必须满足这两个条件。
定义1 自标准数据(Self-standard data, SSD):自带标准或格式的数据体, 数据提供者按照自己的标准或格式提供数据, 并将该数据所使用的标准或格式与所提供的数据一起打包, 数据消费者按照该标准或格式自行解析并使用数据。
从SSD定义可以看出:依据数据交换模型三元组定义, SSD并没有严格要求数据提供者必须要定义映射规则, 这样就简化并放宽了数据提供者提供数据的条件。至于如何将源头模式提供的数据按照映射规则转换成目标数据, 这就是数据消费者要解决的问题了。
定义2 自标准数据模式(Self-standard data schema):是指数据的概念、组成、结构、相互关系的总称[14], 主要用于描述SSD的数据结构。
在对SSD进行自标准化过程中, 将数据模式的概念融入到SSD中以解决SSD模式定义问题, SSD由SSD模式和数据两部分组成, 将这两部分形成的自标准数据称为SSD数据体或SSD报文或SSD交换文件。
SSD特性归纳如下:
(1)自治性:由数据提供者对要交换的数据模式以及模式中的元数据进行自行定义, 体现出SSD的自治性。
(2)自描述性:在自标准数据定义中, 对所要交换的数据采用元数据对其交换模式进行自行定义与描述, 以便数据消费者能够按照数据提供者定义的结构及语义进行解析, 体现出了SSD的自描述性。
(3)数据提供者根据SSD模式自行组织数据, 体现出SSD的自组织性。
(4)随着SSD应用覆盖面的拓展、认可度提升, 有些SSD可能会进化为公共标准, 体现出自标准数据的进化性。此外, 当SSD定义后, 随着应用需求的变化, SSD也可能不断地进行变化、完善与改进, 也体现出它的进化性。例如地球科学工业, SEG-Y格式是SEG(Society of exploration geophysicists)提出的标准磁带数据格式之一, 它是石油勘探行业地震数据最为普遍的格式标准之一。但之前SEGY数据格式仅仅是国外一家地震公司自定义的一种格式文件, 体现了其进化性。
定义3 自标准数据的元数据:在对SSD定义(或“ 自标准化” )过程中, 用于描述SSD模式的数据称为SSD的元数据。企业中如果有数据元素字典标准, 那么这些SSD的元数据可以参照这些标准, 如果没有, 那么在自标准化SSD模式中的元数据时, 建议参照数据元国际标准[1, 15, 16, 17, 18]来定义。
定义4 自标准数据组织:是指按照自标准数据模式定义的规定, 对数据进行排列。
值得注意的是:关系型数据模型有一个重要的特性, 即在关系模型中列的先后顺序对整个元组没有任何影响, 但是在SSD中必须要按照SSD模式的定义来组织对应的数据, 否则数据消费者可能会解析出错误的数据。
定义5 自标准数据解析:是指数据消费者从SSD中解析并提取出数据的过程。如果采用XML对SSD的模式和数据进行了定义, 那么可以通过XML解析器实现对SSD的解析。
通过上面的定义可以清楚地看出:自标准数据定义或“ 自标准化” 的过程包括对描述自标准数据模式的元数据的“ 自标准化” 和对自标准数据模式的“ 自标准化” 两个主要过程。
1998年, 大庆油田开展了“ 勘探、开发、钻井数据一体化共享” 项目的研发, 该项目的目标是建立一个油田内部数据共享的平台。在项目研发过程中发现“ 数据消费者急, 并且积极性高; 而数据提供者不急, 积极性不高” 。鉴于此, 项目负责人王权高级工程师当时提出一个想法, 称之为“ 数据码头” 的思想。即数据提供者把所提供的数据放在指定位置, 由使用者自己到指定位置去获取这些数据, 而使用者将再产生的数据也存放在数据码头。通过这种方式既可以调动数据消费者的主动性, 又减轻了数据提供者的工作量。由于要求数据提供者必须按统一标准把数据放到“ 码头” 上, 这样就给数据提供者带来很大的负担和工作量。到了2013年, 十几年过去了, 大庆油田制定信息规划过程中, 关于信息共享、特别是多学科共享数据时这些问题依然存在并困扰着我们。在针对这些问题进行讨论时, 王权高级工程师对“ 数据码头” 思路进行进一步的扩展。后来经过大家的多次交流、讨论, 最后一致认为用“ 自标准数据” 概念来描述这种思想比较合适, 自此就有了自标准数据的雏形, 后经多位专家学者建议, 简化传统数据标准, 简政放权, 大力推广“ 自标准数据” , 并认为“ 自标准数据” 将成为大数据时代信息共享的支撑性技术。
为配合自标准数据, 进一步丰富了原来数据码头等概念, 并进一步提出了数据泵的概念。自标准数据、数据港口、泊位、数据码头和数据泵关系见图2。
定义6 数据港口(Data harbor):用航行业务中港口概念类比数据港口, 数据港口是用于建立独立于各现有应用系统之外的数据服务机制, 它是一个逻辑概念。
定义7 数据码头(Data dock):存放数据的场所, 不同类别的自标准数据对应存储在对应的数据码头, 有利于数据消费者方便地查询并获取到数据。
定义8 泊位(Dock berth):数据提供者和数据消费者为了向数据港口集装或解封数据而临时用于排队停靠的地点, 图中两个虚线间的区域就是泊位, 在这里对进港的SSD打包数据进行解封、分类后, 推送给指定的码头; 对于出港的SSD文件, 也在这里进行集装打包, 之后推送给数据消费者。
定义9 数据泵(Data pump):是专门抽取数据的部件, 它既可以是集中的, 又可以是分散的, 它可以被看作是传统数据适配器的改进。包括数据抽取泵和数据推送泵两种类型, 其功能就是存取数据。
定义10 港口航道(Harbor channel):港口航道可提供数据港口与数据港口间链路接口, 实现港口与港口之间数据互联、共享。
自标准数据管理的技术架构见图3。数据港口主要包括六大核心组件, 各个组件的功能论述如下。
港务管理主要完成对数据提供者所提供的数据进行主题分类, 可以按专业分类, 也可以按数据所属的部门等进行分类。这样有利于各种类型的SSD在码头的分类存储、管理与检索, 为此提供SSD主题分类管理功能。
通常情况下, 数据提供者不了解数据消费者需要消费哪些类型的SSD数据, 为使数据提供者了解这些情况, 数据消费者可以随时利用SSD需求公告板功能来将自己所需要的SSD数据在这里公布, 甚至还可以在这里对所需要的SSD数据类型等信息进行详细描述。
为方便数据提供者定义所提供的SSD, 在这里提供了供数据提供者对SSD模式进行定义、维护、模板下载、SSD生成以及打包的功能, 此外, 对于某个SSD提供者而言, 他有权对存储在数据码头的SSD进行浏览、更新与维护, 从而方便数据提供者对自标准数据的管理。
为方便数据消费者快速定位所需要的SSD数据, 提供了资源目录定位与资源搜索功能。
对于一个企业, 如果涉及的业务领域数量很多, 可能涉及不同的专业领域或不同的部门, 则要创建多个数据港口。数据提供者与消费者可能会将SSD数据存放在不同的数据港口, 但是对于消费者来讲, 他可能不知道所感兴趣的数据存放在哪里, 这时就需要建立这些数据港口间的信任机制, 只要用户在一个港口认证通过, 那么与该港口建立信任机制的港口都可以被用户所用, 即对于用户是透明的。
在这里主要实现对SSD数据的分类管理, 包括从泊位处接收SSD数据, 将数据消费者所需要的SSD数据推送到泊位; SSD查询与检索; 对SSD的索引管理; 对于长时间没有使用的SSD数据可以实现老化清理功能, 以减少存储在数据码头的数据。
泊位主要是对数据提供者与数据消费者实现进出港调度, 在这里排队等待; 对于进港的SSD集装包进行解封, 根据解封出来的SSD类别通过数据泵推送到相应类别的数据码头进行存放; 泊位还能够根据数据消费者的需求将来自不同数据码头的SSD在这里进行集装打包封装后出港, 并通过数据泵传送到数据消费者手中; 泊位还可以将数据消费者订阅的数据推送给数据订阅者。
数据航道主要实现对不同的数据港口间通信信任机制的创建、管理与维护功能, 从而保障并简化不同用户对信任港口的透明访问。
数据泵主要功能是实现对已经打包集装数据进出港的传送功能。
总之, 自标准数据加之数据港口技术构成的技术架构可以实现对自标准数据的有效管理, 数据的提供者和消费者通过这一技术架构可以实现数据的有效交换与共享, 避免了网状数据交换接口的不足。值得注意的是:技术架构中的数据港口中可能会包含多个数据码头、多个泊位, 并通过航道互联策略实现多数据港口数据的共享。
从理论上来讲, 与数据本身密切相关的标准主要包括数据元素字典标准(包括结构化数据、半结构化数据以及非结构化数据)和数据模型标准两大核心标准, 其中数据元素字典标准包含了数据标准值标准, 即标准代码部分; 而数据模型标准是基于数据元素字典来构建的逻辑数据模型标准。自标准数据一般应用于这样的场合:发生在机构内部或机构之间的数据交换, 一方面没有公共数据交换标准可以使用, 另一方面, 数据提供者不希望像普通数据交换那样很麻烦地提供{S, T, M}中的3个要素, 所以数据提供者只希望提供一个S就够了, 剩下的T与M由数据消费者来自行处理, 这是自标准数据交换与传统的普通数据交换的本质区别。
自标准数据不属于数据标准, 当然自标准数据的进化性是另外一回事; 自标准数据在交换中与普通的数据交换相比, 它要求更灵活、更宽松, 为数据提供者放宽条件; 如果存在公共数据交换标准的情况下, 这个公共数据交换标准无论是国际、国家、行业或是企业的数据交换标准, 那么在应用中必须优先使用这些公共交换标准; 在没有公共数据交换标准可应用的情况下, 采用自标准数据来补充数据交换标准; 自标准数据不能替代标准数据; 自标准数据的交换是公共数据交换标准的重要补充。
尽管自标准数据给数据提供者在自标准时提供了一定的灵活性, 但是在自标准数据过程中, 并不是说数据提供者可以随意, 或没有原则地对数据进行自标准化。如果机构有自己的数据元目录标准, 那么在自标准数据模式定义过程中, 必须采用这些数据元素作为模式中的元数据。如果在对自标准数据模式中的元数据自标准化过程中, 其中有一部分元数据符合国际或国家、行业或企业标准, 那么在自标准过程中, 对于这部分元数据也一定要遵循这些标准。
随着自标准的数据应用范围的拓展和被人们不断地认可, 自标准数据也可能会逐渐成为企业标准, 甚至成为行业标准或国际数据标准, 这体现出自标准数据的进化性。
数据标准一直是困扰机构的一个重要问题, 主要问题是难以统一。客观上, 过度标准化的标准不好执行, 太宽松不好整合。更重要的是产生数据的人不积极遵守标准, 以自己方便为主。一般来讲, 特别是在机构中, 产生数据的都是主营业务, 这些部门是主角, 信息化处于弱势的服务地位, 要求主营这些业务人员主动遵守标准, 是件十分困难事情。自标准数据给这一问题的解决提供了很好的方案。自标准数据给数据提供者以更大的灵活性, 把数据提供者从繁杂的约束中解脱出来, 数据消费者可以根据数据提供者的自标准数据进行解析, 并自行处理, 为数据消费者能及时获取这些自标准数据创造了良好的环境。按照文中所定义的自标准数据技术架构可以实现机构内、机构间灵活的数据交换与共享。
此外, 大数据的迅速发展, 传统的数据库、数据仓库、数据银行的技术都面临一个信息共享的问题, 但都具有数据提供者不主动、使用者主动的特点, 可以应用自标准数据提高海量信息共享的主动性和有效性。
为验证所提出的技术架构, 以大庆油田开发动态与测井实际数据为背景, 实现了一个具备SSD模式定义、数据集装打包、由数据泵将集装打包的数据通过泊位实现对集装打包数据的解封并送到指定的数据码头、消费用户可以通过港口的港务管理工具实现对所关心的SSD浏览与下载的简化原型系统。验证采用的源头数据来源于大庆油田勘探开发A1/A2数据库, 这些数据存储在Oracle 11g、后台服务器为Window Server 2003, 开发平台为Microsoft Visual Studio 2010。在原型系统中定义了两个码头:存储开发动态数据的码头Dev_dyn_data-Dock和存储测井数据的码头Log_data_dock, 两个数据码头上数据采用目录式存储。实现了两个泊位Berth_in负责SSD进港管理; Berth_out负责SSD出港管理, 实现的原型系统的部分功能见图4。
通过原型系统的实现验证了所提出的技术架构是可行的、可用的, 在后续的工作中, 将进行全面功能的详细设计与实现, 采用SOA等技术对技术架构进行分布式实现。
此外, 2013年底, “ 大庆油田生产经营管理辅助决策系统(DQMDS)” 立项并开始研发。目标就是通过系统开发和集成, 打破各自已有的应用系统界限, 突破信息孤岛问题, 建立统一生产经营管理办公平台, 为大庆油田各级管理层和决策层提供管理依据和决策参考。
DQMDS系统功能涉及生产管理、经营管理和决策支持的各个领域, 几乎涵盖了各级机关和管理人员的所有业务, 通过工作门户、流程中心、数据中心和交流中心为用户(微机、平板电脑、手机终端)提供服务, 目标用户总量预计将达到5万余人, 系统十分庞杂。DQMDS系统的底层数据大多来自自建系统, 共涉及中国石油天燃气集团公司统建系统59个、大庆油田自建系统85个。各个系统建设于不同时期, 地理位置各自不同, 采用的技术五花八门, 数据库类型纷繁多样。项目组系统研发人员通过学习, 将“ 自标准数据” 思想和“ 数据港口” 架构作为指导理论, 很好地解决了整个巨系统的数据交换与集成问题。现已完成系统前期设计, 目前正在全力研发当中。
提出了一种由企业或应用甚至是个人来自定义一些所谓的交换“ 标准” 的数据, 即自标准数据。经过理论研究与原型系统验证了技术的可行性, 结果表明:基于自标准数据和数据港口技术架构能够实现机构内部以及机构间数据的有效交换共享, 通过公共交换标准再结合自标准数据可以构建企业级的数据交换中心, 从而来满足不同层面用户与应用的数据交换需求。因此, 可以说自标准数据是公共数据交换标准的重要补充, 自标准数据的提出必定会极大地拓宽应用间数据交换的灵活性与有效性。自标准数据还有许多的问题有待于进一步地完善并应用, 例如, 深入分析自标准数据文件存在的模式; 是否可以归类出几种或若干种自标准数据模式。以后在应用过程中再进行类似的自标准数据定义时, 如果能符合这些模式中的某种, 就可以参照它来进行定义; 为加速这些自标准数据在网络中的传输以及安全等, 可以采用压缩和加密等技术手段。
The authors have declared that no competing interests exist.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|
[18] |
|