数据交换格式

关键词:

数据交换格式(精选十篇)

数据交换格式 篇1

心电图(Electrocardiogram,ECG)是临床上最重要的诊断方法之一,在心脏疾病早期的无创检验和社区健康体检方面获得了广泛应用。

随着医学数字化系统的出现和发展,如医院信息系统(HIS)、影像归档和通信系统(PACS)等,近年来,心电网络系统建设飞速发展,人们对心电数据的存储、传输、共享和统计分析处理也提出了更高的要求。然而,由于长期以来没有统一的工业标准,各ECG生产厂家在ECG数据的采集、存储、分析采用不同的数据格式和软件平台,不利于ECG的数据交换、医疗会诊和档案保存。本文旨在对目前正在研究的ECG数据格式交换标准作一些探讨,希望能够抛砖引玉,引起业界对ECG标准格式数据交换的重视。

1 ECG格式与数据交换

1.1 专用ECG数据格式

其中一类专用ECG数据格式是用于研究分析和诊断测试用的心电数据格式。如美国麻省理工学院研究心律失常的数据库MIT-BIH,美国心脏学会的AHA数据库和欧共体的CSE数据库。这些数据库中的心电数据都有明确定义的数据格式。有的需要收费购买,MIT-BIH数据库则可免费下载公开使用。ECG测量和诊断相关标准则要求ECG机满足其中一些数据库的测试要求。这类心电数据格式一般只用于特定的标准心电数据库。

另一类专用ECG数据格式则是各厂家ECG和心电分析系统自定义的数据格式。这类数据一般不对外公开,仅在厂家设备内部使用,显然不利于心电信息交换和共享使用。如果需要实现心电信息交换,则需提供专门的数据定义接口或读取数据插件。

1.2 通用ECG数据格式

1.2.1 静态文件

最简单原始的ECG数据交换是采用静态文件。即将ECG机的诊断报告按照纸质打印报告的格式重定向输出到标准格式的静态文件。比如图像文件(包括无压缩的位图BMP文件或压缩的JPG、PNG等图像文件、增强元文件EMF等)或PDF(Portable Document File)文件。静态文件提供了ECG诊断报告文件共享和专家会诊的基本手段。但是,由于静态图像没有ECG数据的原始信息,不便于诊断编辑,占用存贮空间大,只作浏览、打印之用。此外,静态图像文件可以转换为DICOM格式影像文件,纳入PACS系统统一管理。

1.2.2 ECG数据格式输出标准[1,2]

从1989年起,为了利于ECG资料在不同厂商的心电设备间可相互进行数据交换,欧洲标准化委员会(European Committee for Standardization,CEN)为了统一ECG输出,制订了ECG数据格式输出标准(Standard Communications Protocol for Computer-Assisted Electrocardiography,SCP-ECG)标准格式[1]。然而,由于SCP的标准规范的不够严谨,造成了厂商开发出各自专属的档案格式和版本,所开发出来的SCP-ECG并不兼容,也因此并没有改善太多的ECG在信息交换上的问题。

SCP-ECG标准包含了数据结构部分和通信部分。数据结构部分定义了数据组织和存放的格式。SCP-ECG文件以二进制格式存储。通信部分包含两方面:查询通信和低层传输协议。其中,查询通信部分定义了在应用层上可用于传输的消息类型。低层传输协议部分定义了用于本地连接和远程连接的设备要求,以及用于确保通信中数据和链路完整性的方法。

SCP-ECG定义的通信部分,以使得数字心电图机和ECG管理系统或其他计算机系统之间通过网络实现通信。SCP-ECG使用RS-232接口进行通信连接。

因为SCP-ECG本身档案格式设计上是二进制文件(binary file),所以即使SCP-ECG档案已公开,当研究人员或是医生需要数据作分析研究时,仍需要经过转换处理才能使用,这并不符合信息处理上的快速与便利性,这就是SCP-ECG档案格式仍然存在的先天性缺点,这同样也导致了日后在心电图的数字化与交流上产生了许多的不方便,使得之前所规范的标准无法达到当初所预期的效果。

1.2.3 MFER[3,4]。

MFER是日本IS&C提出的一种医学波形格式编码规则,用于描述常见医学波形信息。不同于SCP-ECG等标准应用多个复杂结构对各部分信息进行记录的设计理念,MFER标准采用同一种基本结构实现对所有信息的记录。目前,支持MFER格式的心电图机尚为数不多。

1.2.4 ECG数字影像和通信标准[5,6]

DICOM(Digital Imaging and Communications in Medicine)即数字影像和通信标准。在医学影像信息学的发展和PACS的研究过程中,由于医疗设备生产厂商的不同,造成与各种设备有关的医学图像存储格式、传输方式千差万别,使得医学影像及其相关信息在不同系统、不同应用之间的交换受到严重阻碍。为此,美国放射学会(ACR)和全美电子厂商联合会(NEMA)认识到急需建立一种标准,以规范医学影像及其相关信息的交换,DICOM标准就是在这样的背景下产生的。该标准是在参考了其他相关国际标准(CNET251、JIRA、IEEE、HL7、ANSI等)的基础上,联合推出的医学数字图像存储与通信标准,目前已发布到DICOM标准3.0,成为医学影像信息学领域的国际通用标准。

DICOM标准中涵盖了医学数字图像的采集、归档、通信、显示及查询等几乎所有信息交换的协议;以开放互联的架构和面向对象的方法定义了一套包含各种类型的医学诊断图像及其相关的分析、报告等信息的对象集;定义了用于信息传递、交换的服务类与命令集以及消息的标准响应;详述了唯一标识各类信息对象的技术;提供了应用干网络环境(OSI或TCP/IP)的服务支持;结构化地定义了制造厂商的兼容性声明(Conformance Statement)。

DICOM标准的推出与实现,大大简化了医学影像信息交换的实现,推动了远程放射学系统、PACS的研究与发展,并且由于DICOM的开放性与互联性,使得与其他医学应用系统(HIS、RIS等)的集成成为可能。

早期的DICOM协议并不提供对ECG的支持,是一组医疗影像数据数字交换、查看和档案保存的标准,广泛用于医院内影像采集系统(如X光机、超声、CT、MRI和核医学等)、影像档案系统、影像工作站之间的数据交换,见图1。现在,广泛使用的DICOM标准也包括了诊断用ECG波形的标准规则,见图2。但长期以来,市场上的ECG机产品都不支持DICOM波形标准。直到2006年,才有ECG厂商宣称其设备采用了DICOM标准,ECG接口可以直接接入DICOM影像服务器。由于大多数医院都有DICOM影像服务器,因此,任何储存的DICOM-ECG都可从医院DICOM服务器共享和检索,遵从DICOM标准的心电设备就可以纳入PACS系统的统一管理并与HIS系统相联。DICOM标准不仅指定了波形数据和检查报告的格式,而且规定了设备间的通信连接。

1.2.5 ECG可扩展标准语言[7,8,9,10,11,12,13,14]

全球信息网联盟(World Wide Web Consortium,WWWC)为了能在网络上更方便地交换信息及易于开发应用程序,于1996年提出可扩展标记语言(Extensible Markup Language,XML),并于1998年定义XML1.0版规格。

XML是Internet环境中跨平台的,是一种简单的数据存储语言,采用文本信息存储数据,比二进制数据要占用更多的空间,但XML极其简单,易于掌握和使用,使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言。XML与数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。

健康信息交换第七层协议协会(Health Level Seven,HL7)标准已成为一个在医疗信息系统及医疗信息交换的国际性标准。近年来由于XML的发展,HL7的文法、语意及其定义标签也开始藉由XML的架构来描述,以增加HL7标准的定义能力、资料交换性与流通性。有关心脏电生理信号部分,制订于HL7 Version 3 Standard第九章Health and Clinical Management Domains。

FDA制定ECG的XML资料储存格式,目的是为了能让ECG的信息交换有一个标准。符合FDA XML格式输出的ECG采用可伸缩矢量图形(Scalable Vector Graphics,SVG)显示波形。SVG是针对Web上大量矢量图提供的图像内容管理机制,包括图像内容查询、定制和使用图像等功能。SVG内嵌在XML档案中,只要安装了免费的SVG-VIEWER(如Adobe的SVG Viewer),就可直接用IE浏览器以图文混合形式呈现XML-ECG档案内容。由于SVG采用向量方式绘图,使用者可不失真地放大局部图形,做进一步的检查与研究。

2 分析讨论

静态文件仅提供了ECG报告共享一个最低要求的基本方式。

由于SCP-ECG标准制定较早,尽管该标准包含了ECG数据格式标准和通信规范,但它所提供的二进制格式文件在研究和分析时仍需要解析,由于协议规范的不严谨导致兼容性较差,所提供通信协议也仅保证在设备间共享数据,接入到HIS系统中也需要额外的研究开发工作。MFER格式也仅在日韩等国家应用。

由于PACS系统对DICOM标准的支持和DICOM对ECG波形文件的支持,符合DICOM标准的ECG波形文件可以无缝接入PACS系统进而与医院HIS系统相联。HL7研究组于2004年发布的应用于心电信息交流领域的数据标准HL7-aECG(注解ECG),也有望成为心电信息交流领域的统一标准。但它仅是提供了一种符合FDA XML和HL7的ECG数据格式,本身并不包含网络协议,借助浏览器和SVG插件支持可以实现ECG网络共享。根据不同的要求,笔者认为,这两种格式标准的ECG应是将来发展的主要方向。

摘要:心电图是诊断心脏疾病最常用的手段之一。一般来说,心电图的检查结果输出有两种:纸质报告和计算机存储的数字化文件。纸质报告不能满足信息交换管理和进一步分析的需要。而数字化的心电图输出需要满足一定的标准才能实现信息共享。本文就目前存在的ECG数据格式相关问题和标准及其应用进行了总结探讨。

高速数据交换业务租用协议 篇2

第二条 本业务系指本公司提供讯框传送等高速数据交换网络,供客户作数据通信、视讯会议及多媒体等信息应用之业务。

第三条 申请租用、异动或终止租用本业务,应检具申请书、固定通信(permanent virtual connections,pvc)需求表及身分证明文件提出申请。

前项异动,变更通信对象或约定信息速率者,需另附pvc需求表;变更设备者需另附cpe接口性能调查表。

第四条 客户应保证其所提出之申请资料为真实完整,如有不实致发生任何纠纷时,客户应自行负责。

第五条 本业务所需数字调制解调器限由本公司供租与维护。

第六条 客户租用本业务所需屋内配线管道及装设传输设备之场所与电力等设施,由客户自备。

第七条 客户自备设备者,遇有障碍应自行检修。电路障碍经本公司派员查修时发现,系因客户自备设备障碍所致者,得收取检查费。如因而影响电信网络之传输品质或其它电路之使用,本公司得暂停其使用,所有因此导致之责任问题应由客户自行负责。

第八条 本公司因技术上之需要,必要时得更换本公司指配之客户号码,但应于_________个月前通知客户,客户不得异议或提出其它要求。

第九条 客户租用本公司之电信设备,应妥为保管使用,如有毁损或遗失,除因不可抗力所致者外,应照本公司所定价格赔偿。

前项定价,本公司应考虑该设备原购置价格及折旧等因素。

第十条 申请租用本业务应缴付电路、调制解调器接线费及系统设定费或客户端接取设备接线费或isdn备援接线费或wlan客户端ap设备接线费。

第十一条 客户于本公司未施工前,因故注销申请,已缴之接线费,本公司无息退还;但施工后注销申请者,其己缴费用概不退还。

第十二条 本公司为配合客户需要,加装其它有关数据传输等特殊设备时,得按成本向客户收费。为便于本公司测试需要,得免费加装测试开关等设备。

第十三条 客户租用本业务如需项目建设,本公司得请客户提出金融机构出具之保证书或按建设成本酌量预收建设保证金,并订定最短租用期间。客户已缴之建设保证金,于客户租用满最短租用期间后无息退还。项目建设,在同一装机地点租用不满最短租期申请移设或终止租用者,应一次补足市内电路部份未满期间之月租费。客户申请于本公司办公时间外施工者,应缴付非办公时间施工费。

第十四条 申请变更本业务应缴费用如下:

一、申请移设者,应缴付线路及调制解调器移设费。

二、申请变更本业务之传输速率者,依本公司国内数据电路业务之相关规定办理。

三、申请装设或变更wlan之客户端ap设备者,应缴各费依wlan业务收费标准计收。

四、申请设定或变更固定通信及约定信息速率及特别业务应缴付系统设定费,按每一通信埠每次计收。

五、申请设定或变更客户端接取设备应缴付接线费或系统设定费,按每部每次计收。

第十五条 租用本业务每月应缴月租费如下:

一、数据电路、调制解调器月租费:按本公司国内数据电路价目计收。

二、通信埠月租费:按租用通信端口速率计收。

三、约定信息速率月租费:以16kbps为单位,按其通信距离及通信量计收。

四、每一通信埠所设定之固定通信超过十六路时,每增一路加收_________元。

五、特别业务月租费:按其速率计收。

六、加租wlan客户端ap设备者,按wlan业务相关收费标准计费。

第十六条 客户租用本业务以本公司电路装妥可供使用之日为起租日,起租日之租费不计;申请终止租用时,以电路拆除之日为终止租用日,终止租用日之租费按一日计算;起租月及停租月之电路租费按实际租用日计算,每日租费为全月租费之_________。

如仅部份固定通信装妥,则装妥之数据电路、调制解调器及通信端口等月租费按上述标准计收,固定通信之约定信息速率月租费则按实际竣工日计收。

客户加租wlan业务者,除前项之规定外,wlan部份以该业务装妥之日为起租日,起租日之租费不计;申请终止租用时,以客户端ap设备拆除之日为终止租用日,终止租用日之租费按一日计算。

第十七条 本公司提供瞬间超额讯务(excessburst,简称be)功能,提供客户在网络系统负载低时,于单位时间内传送高于约定信息讯务(committedburst,简称bc)之讯务量,惟此高额可能因网络拥塞而漏失致无法传送至收信端,该部份无法传送完成之信息,客户须自行负责重送。请客户依实际信息传输需求,申请约定信息速率(cir),并依照每一固定通信连接(pvc)之be值上限为同一pvc之bc值规定办理。(注:约定信息速率《cir》为单位时间内可传送之bc,即cir=bc/t)

第十八条 介接本业务之电路其传输速率为128kbps以上时,可设定两个通信埠;其数据电路月租费仍按其租用传输速率计算,惟通信端口月租费及通信端口约定信息速率月租费按其实际租用端口数及约定信息速率分别计算。

第十九条 客户租用本业务应缴各项费用及收费标准详如价目表,费率如有调整时,按新费率计收。

第二十条 客户租用本业务,倘因本公司通信网路或系统设备发生故障而全部阻断不通,本公司未于_________小时内修复,其租费之扣减国内电路连续阻断满_________小时者,每_________小时扣减全月_________之租费,但不满_________小时部分,不予扣减。部分时间使用之电路连续阻断满规定之每日使用时间者亦同。传输速率一、五四

四、000比次之国内电路连续阻断满_________小时以上者每满_________小时扣减一日应付租费之_________,未满_________小时者,不予扣减。但最多以扣减当月份应缴租费为限。除本项前段规定扣减租费外,本公司不负损害赔偿责任。

前项阻断开始之时间,以本公司察觉或接到客户通知之时间为准。但有事实足以证明实际开始阻断之时间者,依实际开始阻断之时间为准。

第二十一条 客户终止租用本业务,应于预定终止租用日_________日前提出申请。

第二十二条 客户租用本业务由于天然灾害之不可抗力致阻断者,自连续阻断届满_________日之翌日起至修复日止不收租费。

第二十三条 客户租用本业务应缴之费用,应在本公司通知缴费之期限内缴清,逾期未缴清者,本公司得注销其申请或通知定期停止其使用,经再限期清缴,逾期仍未缴纳者,视为终止租用,本公司得径行拆除其机线设备并追缴各项欠费,并得暂停客户所租其它电信设备之通信。

第二十四条 本公司为业务需要,得使用本申请书所载内容资料。

第二十五条 本公司如因情势变更,得暂停或终止本业务之经营,客户不得异议或要求任何补偿。但本公司应于预定暂停或终止之日前_________个月公告并通知客户。

第二十六条 本契约条款未规定事项,客户同意遵守相关法令规定、本公司各项服务营业规章规定。

甲方(盖章):_________乙方(盖章):_________

代表签约人(签字):_________代表签约人(签字):_________

职称:_________职称:_________

地址:_________地址:_________

统一编号:_________统一编号/身分证字号:_________

分析数据通信交换技术 篇3

关键词:ATM;IP;数据分析;交换技术

中图分类号:TN915 文献标识码:A 文章编号:1674-7712 (2013) 02-0015-01

数据通信是以“数据”业务为主的一种通信系统,数据是预先约定好的具有含义的数字以及字母和符号等。计算机的发展,数据通信应运而生,实现了计算机与计算机之间的传递。电信技术的发展,使其数据交换的技术也随之出现。

交换即转接,是交换通信网中不可缺少的技术。交换是指按照某种方式对传输线路的资源进行分配,交换技术主要包含了报文的交换、分组的交换、线路的交换以及分组的交换等几个方面。

目前的宽带数据通信网出现了两种不同的技术,即IP与ATM,IP的网络核心节点为太位路电器;ATM的网络核心节点为ATM交换机,其目的为了实现信元的高速交换。

一、目前数据通信的几种交换方式

(一)电路交换:能为任意一个入网的用户提供一条临时使用的物理信道,这种方式被称为电路交换,是由通路的各节点内部早空间上完成的信道接续而形成。这条物理信道始终被用于信息的传输,因此不允许被用于其他的计算机。

(二)分组交换:分组交换,同时也被称作为包交换。它的主要作用是将用户发来的数据分割成相同长度的数据包,因此被称为打包或者分组。分组交换是指在每个数据包前面加一个分组头,作为将发往何处的地址标志,然后分组交换机会根据不同的地址标志对其转发到目的地。

(三)报文交换:报文交换,同时也被称为信息交换方式。报文交换是将用户之间不直接存在的信息进行接收以及发送的特殊物理信道。同时还将用户正在进行交换的报文进行存储,当输出电路出现空闲的情况时,再将报文发送到需要接收的交换机。

二、DDN

(一)DDN的工作方式:DDN作为高质量、高宽带的数字数据通信网,数字信道为信息传输的主要信道,因此不具有交换的功能。用户的数据信息应该根据之前约定好的协议,采用同步转移的模式对数字进行分复用的技术,所以必须在固定的时间内对通信宽带和速率传输进行事先设定。

(二)DDN提供的业务:DDN网作为全透明的网络,因此可以为分组交换网和互联网提供中继电路;不仅可以对一点对提供多量的业务;同时还可提供图像、G3传真以及语音和智能等多种业务来满足用户的要求。

三、FR

(一)FR的工作方式:FR的主要任务是将在原来的交换基础上进行分组交换做出相对简化数据传输新技术。它在OSI第二层主要采用简化的方式进行数据的传送和交换。因为FR仅完成OSI的物理层与核心层的功能,将控制流量以及纠错等任务留给终端来完成,因此不仅使节点机之间的协议简化,同时还提高了传送的效率。

(二)FR的特点:1.传输效率高。2.产生的费用低。3.兼容性好以及组网的功能性强。4.网络资源的使用率高。

(三)FR提供的业务:FR主要使用的面向连接交换技术,虽然能够提供需要交换的PVC和SVC,但目前只能采用交换虚电路的方式。

四、IP

(一)IP的工作方式:IP交换是一种高效的IPoverATM技术,同时也被称为三层交换技术。简单来讲,三层交换技术即“二层交换技术加上路由转发技术。”IP只对数据流中的第一个数据包进行路由地址的处理,由路由转发,继而按照已经计算好的路由在ATM网建立虚电路VC。这样的处理方式使数据包在今后不用经过路由器,可以直接沿着VC的方式进行传输,提高传输的效率。

(二)IP的交换的特点:1.因为彼此之间不存在连接建立时延,因此IP在进行交换的时候不需要事先建立通信线路,可以随时将信息发送出去。2.通信的双方可以不使用固定的通信线路,因此,提高了对通信线路的使用率。

(三)IP提供的业务:适合多种业务的环境,目前主要使用于宽带以及IP骨干的传输。

五、X.25

(一)X.25的工作方式:X.25的交换方式主要体现在传统储存转发方式的基础上,进而发展的一种新型交换方式。X.25的主要工作是将用户发送的数据进行分割,每个分割后的分组都有一个分组头,而分组头的主要目的是为了指明将要发往的地址,最后按照地址的排列顺序挨个进行交换网的发送。

(二)X.25的特点:因为X.25的交换动态主要为分配线路资源和传输的效率高,因此能为不同种类的终端提供互通的便捷。其具体内容如下:1.交织传输。2.统计时分可复用:采用动态的方式对线路资源进行分配。3.逻辑信道:在分组的交换方式中,每条逻辑信道在一次呼叫过程中都有相应的逻辑信道号。因此被用于用户的区分。4.虚电路:虚电路是根据报文的需要,以及占用多个时隙相应的缓冲空间而来的,因此,进行呼叫时不需要建立固定的物理通道。5.分组多路的通信:因为每个分组都有控制信息,所以分组型的终端可以做到与多个用户终端同时通信。

(三)X.25提供的业务:分组交换可以提供永久虚电路,同时还能开发以及提供增值的数据业务。

六、ATM

(一)ATM的工作方式:ATM的转移模式是立于电路交换和分组交换的基础上,主要目的是将数据分解成固定长度53B的信息,目前将这样的分组叫做信元。而ATM主要以信元为单位进行复接、交换等工作。复用的时候只要具备信元就可以进行信息的发送工作。

(二)ATM的特点:1.不仅可以建立虚电路来进行数据的传输,同时支持无连接的业务。2.因为采用的数据包属于固定长度的模式,因此有利于宽带的交换。3.采用异步术同时能够采用服用技术。4.ATM技术使其协议以及网络功能得到简化。

(三)ATM提供的业务:ATM常用于局域网互联、互联网以及虚拟局域网,还可用于电视领域。其主要优点在使用的过程中可以提高速度。

七、结束语

一种结构化数据交换格式及方法 篇4

随着计算机技术的发展, 计算机网络的应用无处不在, 应用软件的架构也已脱离桌面式单机时代, 发展到C/S (客户/服务架构) 、C/S/S (客户/中间件应用服务/数据库服务) 、B/S/S (浏览器客户/Web应用服务/数据库服务) 和分布式多层异构平台。这些结构都能实现多客户端、多并发和大型数据访问的软件管理信息系统, 大大提高了信息流通的速度和效率, 吸引了越来越多的企业、个人通过网络从事其相关活动, 基于网络的数据交换和业务协作越来越频繁。

数据交换的协议主要是基于TCP/IP、HTTP等底层协议, 数据的访问方法不同架构有不同的方式:

C/S主要使用数据库服务器专有协议和数据格式, 使用如SQL (结构化查询语言) 等方法, 利用客户端的开发工具 (如PowerBuilder, Delphi, Vb等) 实现数据的访问。

C/S/S架构客户端使用与中间件应用服务器的专有协议访问, 如Oracle Bea Tuxedo使用简单的字串到复杂的FML等多种交换方式实现客户端与中间件的数据交换。中间件与数据库的访问同C/S架构。

B/S/S是基于浏览器瘦客户端, 使用HTTP协议与WEB服务器交互, 在文本交互方式的基础上发展出如XM L、JSON等开放的交换格式。

当前流行的数据交换格式和方案主要有XML、JSON和Google的Protocol buffer等。

XM L:以文本格式描述数据的标记语言, 缺点是用XM L描述的数据比原始数据大很多, 而且数据访问解析比较慢, 格式复杂, 传输占用带宽。服务器端和客户端都需要花费大量代码来解析XML, 不论服务器端和客户端代码变的异常复杂和不容易维护, 客户端不同浏览器之间解析XML的方式不一致, 需要重复编写很多代码, 服务器端和客户端解析XML花费资源和时间都较多。

JSON: (JavaScript Object Notation) 是一种轻量级的数据交换格式, 它基于JavaScript Programming Language, 相对于XM L, 它更加易读。但JSON中的分隔符只限于单引号、小括号、中括号、大括号、冒号和逗号等可输入字符, 若数据内容中本身包含这些字符时, 要做转移处理, 会增加解析的复杂度, 且对于其它语言编码解码相对复杂。

Protocol buffer:是Google公司开源的结构化数据格式, 功能类似XML, 但结构复杂, 编码与解码API比较复杂, 编码过程需要专门的编译步骤, 压缩的二进制格式, 无法直接阅读。

2 一种结构化数据交换格式及方法

本文提供一种结构化数据交换格式及方法, 数据交换包的结构主要由数据项值对与数据记录集两种结构组成, 能很简明地描述数据, 并使用特殊的不可输入分隔符将数据项分开, 包含数据项值对与数据记录集的格式实现, 只增加了很少的冗余数据, 序列化编码、解码的方法简单, 体积小, 编码的效率较高, 能支持文本和二进制数据, 可直接阅读。与XML、JSON等格式相比, 有数据包小、数据交换速度快、应用方便等特点, 可以把它用在C/S/S架构、B/S/S架构或分布式应用之间的数据通信, 异构环境下的数据交换也适用。如图1

结构化数据交换格式由两大数据区组成, 一是数据项值对区, 另一个是数据记录集内容区, 数据项值对也可以理解为数据域, 由数据项的名称和数据项的内容组成, 这类数据项通常在软件开发中简称为“值对”, 值对的优点是在数据交换中每个数据项可以用唯一的名称标识出来, 在数据交换解析时可以用名称直接取得该数据项的内容, 可以提高解析速度, 本文描述的结构中数据项值对以最小的冗余来描述, 如图2所示:

数据项名称与数据项内容之间用不可输入的字符分隔, 该字符为ASCII码为1的键盘不可输入字符, 数据项的内容中不易包含这类字符。数据项值对区由若干个数据项组成, 本文描述提供的格式将不同的数据项之间由ASCII码为2的字符分隔。数据项值对区结束由ASCII码为6的字符表示。

数据项值对主要表达一维的数据, 数据交换中还需要表达二维结构的数据, 通常称为数据记录集, 本文描述提供的格式将记录集的描述进行了优化, 同一个数据包中可包含一个以上的记录集, 每个记录集有唯一的名称, 并将每个记录集的属性 (主要有记录集的名称、记录数和列名) 以数据项值对形式放入了数据项值对区中, 解析数据时可用名称取得记录集, 并通过属性项可以取得记录集记录数和记录集的各列名称, 大大提高记录集的解析速度。

数据记录集的名称属性设计为一个特殊的数据项值对, 该数据项值对的名称为数据记录集的名称, 该数据项值对的内容为一固定的记录集标识符:[$], 由美元符号和一对中括号组成。

数据记录集的记录数属性由编码时放入, 该项的名称为:“数据记录集的名称.rows”, 该项的值为记录数。

数据记录集的各列号由一数据项表示, 该项的名称为:“数据记录集的名称.cols”, 该项的内容是由各列名称和ASCII码为4的列分隔符组成, 参见图3:

数据记录集内容区如图4:

由若干个记录集内容组成, 每个记录集的内容格式由名称、行数据和结束符组成, 记录集内容开始处的名称由三部分组成, 一是标识起始符, 由ASCII码为3的字符和‘<’字符总共2个字符组成, 第二部分是记录集名称, 第三部分为标识结束符, 由字符‘>’和ASCII码为3的字符组成, 行数据由每行数据组成, 行与行之间由ASCII码为5的字符分隔, 行数据由数据集的各列加上ASCII码为4的列分隔符组成, 记录集内容结束符与数据项值对区结束符相对, 为ASCII码为6的字符, 数据记录集内容区中的多个记录集依次存放。

结构化数据交换格式 (全局示意图) 如图5:

3 结构化编码方法

本文描述的结构化交换格式在编码时相对简易, 与计算机语言无关, 当前主流的语言与平台都能实现, 本文以Java语言的方式描述编码的实施方式。

结构化数据交换格式编码主要由以下关键步骤

3.1 分配数据交换的空间, 开辟一个数据项值对区和一个数据记录集内容区, 如在Java中申明两个String Buffer变量buf1和buf2。

3.2 写入数据项值对, 先写入数据项的名称, 若该数据项的名称为‘name1’, 则buf1.append (‘name1’) , 依次写入数据项名称与内容的分隔符buf1.append (char (1) ) , 再将数据项的内容写入, 如buf1.append (‘name1_value’) , 最后写入与下一个数据项的分隔符buf1.append (char (2) ) , 一个完整的数据项编码过程结束。

3.3 若有多个数据项, 按步骤2的方法依次写入, 所有的数据项写完后, 最后写入数据项值对区的区结束符buf1.append (char (6) ) , 若本次编码中有记录集, 应将记录集的属性数据项写入到数据项区后才能写入区结束符。

3.4 若有记录集, 写入数据记录集时, 先将记录集名称按步骤2写入, 内容为”[$]”, buf2.append (“记录集1[$]”) 。

3.5 完成步骤4后, 将记录集的记录数按步骤2写入, 名称为:记录集名称.rows, 内容为记录数, 如Java的list取记录数为list名.size () , buf2.append (“记录集1.row s 1000”) 。

3.6 将记录集的各列列名称按步骤2写入, 名称为:记录集名称.cols, 内容是各列列名用ASCII码为4的字符分隔, 分隔字符个数为记录集的列数减一, 两端无分隔符, buf2.append (“记录集1.cols c1 c2 c3”) 。

3.7 写记录集的内容, 在数据记录集内容区buf2中,

首先写入记录集标识起始符, 为两个字符, 第一个是ASCII码为3的字符, 第二个为”<”, buf2.append (char (3) ) , buf2.append (“<”) 。

3.8 在数据记录集内容区buf2中写入记录集的名称, buf2.append (“记录集1”) 。

3.9 依次写入记录集标识结束符, 与起始符对应为两个字符, 第一个是“>”, 第二个是ASCII码为3的字符, buf2.append (“>”) , buf2.append (char (3) ) 。

3.10 写入数据记录集的行数据, 从记录集的第一行开始, 依次写入, 每一行的规则是:按列的顺序 (顺序与记录集的各列名属性顺序一致) , 写入各列的内容, 列之间用ASCII码为4的字符分隔, 最后一列后续不用些分隔, 一行结束后写入行结束符 (ASCII码为5的字符) , 完成记录集所有行的数据后, 写入记录集数据区结束符 (ASCII码为6的字符) 。

3.1 1 若有多个数据记录集, 按步骤4至步骤10方法写入。

3.1 2 结构化数据交换格式解析主要由以下关键步骤:

对本文描述提供的结构化数据交换格式解析时, 主要实现以下几大解析功能:

(1) 通过名称取得指定数据项的内容。

(2) 取得所有数据项名称的列表或数组。

(3) 通过名称取得指定数据记录集的游标句柄 (或指针) 。

(4) 实现记录集游标遍历 (单向或双向) 。

(5) 通过列名称取得当前记录集游标所在行指定列的内容。

(6) 通过列索引编号取得当前记录集游标所在行指定列的内容。

4 结束语

对本文描述一种结构化数据交换格式, 有一定的实用意义, 能很简明地描述数据, 并使用特殊的不可输入分隔符将数据项分开, 包含数据项值对与数据记录集的格式实现, 只增加了很少的冗余数据, 序列化编码、解码的方法简单, 体积小, 编码的效率较高。

参考文献

数据交换格式 篇5

下面是部分工具替换后的比对情况:

目前DataX在淘宝数据平台数据已经广泛地被用于数据同步作业,每天共计有4000+道DataX数据同步作业分布在全天各个时段运行。

DataX/DbSync/TT已经构成了淘宝数据平台数据提供的三大支柱:

其中DataX每天为淘宝贡献2.5T数据量,占淘宝数据平台总体数据同步的23%,占数据库数据同步的96%。

数据交换格式 篇6

关键词:电能质量数据交换格式,可扩展标记语言,电能监测

0 引言

在过去的几十年里, 越来越多的电能质量监测设备被应用于收集输电、配电以及用户端电能质量测量点的信息。监测设备应用的目的不同, 必然造成包含在这些设备中的数据结构不同。IEEE1159.3—2002标准规定的二进制PQDIF文件格式提供了一种简洁、灵活、可扩展的方法用于交换应用软件之间的测量信息[1]。PQDIF的优点在于可以优化存储空间和数据传输时间, 解析PQDIF文件需要具备字节级数据处理能力的低级工具软件, 而需要解析工具限制了PQDIF的有效应用。相反地, XML具备高级、具有独立平台的可编程环境的良好支持, 并且大多数监控系统通过网络服务器给用户传递电能质量数据, 因此将电能质量数据编码在XML中可灵活地实现高级平台间的信息交互。本文详细介绍了PQDIF与XML的主要特点, 在此基础上, 给出一种应用XML表示PQDIF文件的方法。

1 基于IEEE1159.3—2002标准的PQDIF综述

PQDIF通过分离其物理结构与逻辑结构的定义实现了灵活性。物理结构定义了基本和复杂的数据类型在一个文件中的架构, 逻辑结构定义了物理数据如何翻译成电能质量数据。

逻辑结构定义了记录、记录元素表示的电能质量数据及其组织形式。逻辑结构中最重要的概念包括标签与标识、通道、记录类型。

1.1 标签与标识

标签是PQDIF逻辑结构的基础, 每个PQDIF元素均含有一个定义其含义的标签。标识是一个标签值的范围, PQDIF说明书规定了一系列的标签以及相应的元素类型。

每个标签值通过一个全局标识符 (GUID) 加以表示, 标识值可以视情况选择GUID或者任意整形值。由于GUID可在未经过统筹的情况下产生, 因此PQDIF可能生成私下标签, 而所有的PQDIF应用要求忽视其无法识别的标签, 这些私下标签在编译PQDIF文件时对于其他应用是无效的, 这种机理保证了加入PQDIF标准的新建标签不会干扰现有的应用。基于标签和标识的GUID是PQDIF可扩展特性中的重要组成部分。

1.2 通道

一条通道表示由监控设备产生的一组数据流, 每条通道应该含有单独的数量 (例如电压有效值) 和相位 (例如相A-N) 信息。通道可为实际测量值, 也可获得测量值生成。

1.3 记录类型

(1) 数据源记录。数据源记录由一台监控设备通道的定义集合组成, 这些集合包含一个通道中可识别数量、相位和单元的元素, 该记录值在通道定义中不随时间改变。许多观测的记录分享一条数据源记录, 这样可避免在每一条观测记录中复制定义信息。

(2) 监控设置记录。与数据源记录类似, 监控设置记录包含由通道实例引用的许多观测记录的集合。不同于一个通道定义中的不变值, 通道设置集合包含监控设备工作状态下存储参数信息的元素, 例如一条通道的触发阈值在监控设置记录中被存储。监控设置记录避免了需要更改设置时手动设置监控设备。

(3) 观测记录。观测记录包含实际测量值, 每一条观测记录包含一或两个通道的实例集合。这些集合参考通道分别定义集合和通道设置集合相关的数据源和监控设置。每个通道集合通常包含一个时间相量值以及一个或多个通道的数值相量值。例如, 单独相量可用于表示平均值、最大值和最小值。

数据源、监控设置以及观测记录在PQDIF文件中按照一定的顺序关联在一起。数据源记录必须优先于监控设置以及观测记录, 因为前者是后者的参考;类似地, 监控设置记录必须优先于观测记录。

2 XML综述

可扩展标记语言是一种用于含有结构性信息文档的简单标记语言, 其最主要功能在于允许内容在大范围的硬件、软件以及操作系统中被修改。超文本标记语言 (HTML) 作为一种标记语言被广泛应用于互联网的浏览器中[2], 其和XML都是由标准通用标记语言 (SGML) 发展而来的, 后者被定义在ISO8879。XML最初被开发用作大规模电子出版的工具, 如今它已经在互联网数据交换中承担越来越重要的角色。

XML文件在形式上与HTML文件相似, 这种相似是由于两者均从SGML发展而来。然而, 它们之间不同之处在于:

(1) HTML大部分由定义外观、文本及图片位置、超链接的标签组成, 而XML中标签通常用于定义结构和数据内容。此外, XML中数据外观由展示文件的应用或者相关样式表文件指定。

(2) HTML含有一套由万维网联盟 (W3C) 定义的标准标签, 用户创建自定义标签是免费的, 但这些自定义标签被浏览器忽略。而XML是可扩展的, 换句话说, 其标签由满足特定目的的应用程序而定。

3 在XML中表示PQDIF文件

XML因其具备分层次、基于标签且易于扩展的特点, 是PQDIF结构的一种良好的匹配。采用XML表示PQDIF的重点在于定义XML表示的PQDIF物理结构, 而XML表示的逻辑结构与二进制的PQDIF文件结构相同。

XML元素形式如下:

<tag p1=''v1''p2=''v2''p3''v3''…>value</tag>

此处“tag”为元素标签名;“p1”、“p2”、“p3”等为元素的可选属性;“v1”、“v2”、“v3”等为各自的属性值;“value”为元素值。

PQDIF规范定义了标签与标识名。为保持一致性和可读性, 此处XML表示的PQDIF应用各自的标签与数值名, 通用的GUID以及应用于私下标签的整数编码也可在此处使用。

PQDIF集合元素映射为简单的无属性的XML元素, 集合的值是一系列包含在其中的元素。

标量元素含有单一类型值。对于许多应用来讲, 隐含的类型值编码是不够的。例如, 1是一个整数, 1.2是一个实数, 2015-10-30是一个日期。进一步讲, 对于许多元素它们的标签显示了数据类型。物理类型在决定优化数据解码方法中作用显著, 缩略类型名可用于增强可读性, 例如:

<tag Channel Defnldx type=''UNIT4''>1</tag Channel Defnldx>

矢量元素类似标量元素, 但增加了一个值以表示矢量中数值的个数, 单个数据值用逗号隔开。相比较XML项目列表方案, 这种格式可以显著减小XML文件的大小, 采用逗号分隔数据也被众多软件工具支持。

4 结语

随着电能质量监控设备应用广泛性的提高, 亟需开发一套支持电能质量数据传输、显示和分析的高等级、跨平台的软件工具。本文将XML应用于表示PQDIF, 在某种意义上满足了保护二进制表达方式逻辑结构的需求, 从而保证了其灵活性和可扩展性。

参考文献

[1]IEEE Std 1159.3—2002 IEEE Recommended Practice for the Transfer of Power Quality Data[S].

数据交换格式 篇7

随着人们对电能质量认识的提高,电能质量监测设备的研制技术正在迅速发展。对于市场中存在的种类众多的电能质量监测设备而言,由于不同厂家的电能质量数据格式互不兼容,相应的后台数据分析软件也是各成体系,导致电能质量监测系统数据存储混乱,难以实现异构数据共享[1]。

因此,美国电气与电子工程师协会标准委员会制定的IEEE P1159.3标准提出了一种电能质量数据交换格式(power quality data interchange format,PQDIF)[1,2,3,4]。它独立于设备的软、硬件,具备良好的异构移植性;解决了多数据源数据的兼容性问题;使用了良好的压缩算法,节约存储空间;实现了多角度观察电能质量物理属性的功能[5,6]。

目前,各省份正在迅速建设电能质量监测网,各电能质量监测设备厂家相继在嵌入式终端中实现了PQDIF文件的生成[7]。一个省级电能质量监测主站往往要解析来自数百个监测点的PQDIF文件[8],这些监测点安装的电能质量监测设备往往是不同厂家生产的。由于各厂家对标准本身的结构灵活性和定义多样性的认识有限,以及各省份PQDIF规范的制定存在客观差异,这样就出现了不同厂家装置的数据交换格式定义不一致等新问题。

文献[9]初步研究了PQDIF文件中电能质量各类数据标签定义的差异性,依据标准中定义的电能质量数据类型的层级结构,通过在大量无序标签中逐一匹配,完成对PQDIF文件逻辑层的一致性检测,该方法简单、易懂,但是效率低下;文献[10]利用高级类型、物理量、特征、相位、序列单位和序列类型等6种标签,在完全解析文件的前提下,确定电能质量测量指标类型,达到了最大限度解析PQDIF文件的目的,但是未对6种标签缺损情况下的PQDIF文件给出解析结果,也未考虑PQDIF文件物理层不一致的问题。一致性测试是实现数据互操作的基础,是电能质量监测设备入网以及PQDIF文件解析入库前的重要环节。如果能及时找出PQDIF文件中违反IEEE P1159.3标准的问题,那么PQDIF解析软件的运行效率将得到极大的提高,从而改善电能质量监测系统的可靠性和稳定性。

针对上述情况,本文提出了一种基于Tire树的一致性检测方案。Tire树检索的时间复杂度只与树的深度有关而与树中有多少结点无关,本方案的时间复杂度为常数O(1),远低于文献[9]所提方案的时间复杂度O(n),可快速检测PQDIF文件物理层、逻辑层的一致性。性能对比测试结果,验证了本文方案的快速性。

1 PQDIF文件结构

PQDIF文件是一种平面二进制文件,与其他格式的电能质量数据文件相比,需要的磁盘空间和解析时间较少,对解析软件的数据处理能力要求较低。如图1所示,PQDIF文件分为物理层和逻辑层,其中物理层结构定义了多种数据类型的构造形式,逻辑层结构定义了各种电能质量数据用物理层数据的诠释方式[10]。

从物理结构来看,PQDIF文件是由记录链接组成,这些记录都有相同的基本结构。每个记录由记录头和记录体2个部分组成,记录头中包括记录类型、记录大小以及相邻记录的链接,记录体由集合、标量和向量3类基本元素组成。其中,集合是由标量、向量及子集合组成的分层结构;标量是特定物理类型的值;向量是可变大小的任意数列[4,6,11]。

从逻辑结构来看,逻辑层利用物理层已经定义的基本结构,使用特定标识符标记的标签,分级分层诠释所要记录的事件[11]。

2 PQDIF文件的不一致性

2.1 物理层不一致性

部分厂家的电能质量监测设备在通信传输的过程中存在意外停机、前置机通信异常或装置内转生成PQDIF文件的应用程序错误等问题,极有可能造成物理层某个记录的缺失,导致PQDIF文件中部分信息的丢失。

1)在PQDIF文件内部,前一个记录往往会利用偏移地址(linkNextRecord)指向下一个记录。但是某些厂家的PQDIF文件中前一个记录索引不到下一个记录,造成容器记录(RecContainer)、数据源记录(RecDataSource )、 监测设置记录(RecMonitorSettings ) 和观测值记录(RecObservation)这4类记录的缺失。

2)每一个记录体的最后有一片数据区,文件中每一个节点的值会指向其中的某一数据段,数据段之间不能交叉、重叠。但是某厂家生成的PQDIF文件中数据源记录定义了91个通道序列,其中某一个通道中相邻的节点值出现“借位”,即前一节点的值被赋给了后一节点。

2.2 逻辑层不一致性

1)部分厂家的PQDIF文件仍然使用废弃的标签值。以相位标签为例,标签名称(Tag name)为tagPhaseID,在稳态电压正序分量最小值通道序列定义中,正确的相位标签值(Value)应该为13(ID_PHASE_TOTAL),而某厂家相位标签的值为10(ID_PHASE_PQEQ),该标签值已经被弃用。下面以可扩展标记语言(XML)的形式[12]给出该厂家PQDIF文件中对稳态电压正序分量最小值通道序列的定义。

2)国内某些厂家仍使用在规范之外未定义的标签,如压缩方式标签(tagCompressionStyleID),一共可取0,1,2三个值,分别表示没有用到压缩方式、每一个记录头都用32bit冗余循环校验码、整个文件只有一个32bit冗余循环校验码,但有些厂家把这个标签的值记为3,超出了标准要求范围。

3)某些厂家把标签的物理属性由时间戳类型改为整型,导致标签显示值乱码。逻辑结构中,每一个Tag(标签)都包含4 种必备属性,即Tag name(标签名称)、Element type(元素类型)、Physical type(物理类型)和Value(值),每一个属性都会影响到PQDIF解析软件的取值方式、位置。

4)无法通过高级类型标签、物理量标签、特性标签、相位标签、序列单位标签以及序列类型标签正确识别通道所要表示的测量数据类型。例如频率的定义中,应该使用相位标签值ID_PHASE_TOTAL,而某厂家使用ID_PHASE_AN,导致该通道定义无效,数据遗失。

3 PQDIF文件一致性检测方法

调用Electrotek Concepts公司开发的PQDIF组件对象模型,以Visual Studio2010为编程开发环境,利用PQDCOM4LIB组件中的PQDCOM4Class类,对PQDIF文件进行一致性检测。如图2所示,PQDIF文件一致性检测包含物理层的记录完整性检测、集合完整性检测,以及逻辑层的标签必备属性检测、语义属性检测。

3.1 物理层一致性检测

3.1.1 记录完整性检测阶段

此阶段作用是检测PQDIF文件物理层中记录的完整性。在物理层,每一个记录的记录头里面都有一个校验和(checksum),即32bit循环冗余校验码,用来保证物理层记录的正确性和完整性。对于物理层缺损的PQDIF文件,缺损的记录可能是容器RecContainer,RecDataSource,RecMonitorSettings和RecObservation这4 类记录中的任意几种。记录完整性检测阶段的具体步骤如下。

步骤1:获取PQDIF文件物理层中每个记录的32bit循环冗余校验码。每个记录的记录头中都有一个linkNextRecord,用于指向本记录之后下一个记录的位置。对于第n个记录而言,其记录头的偏移地址为第n-1个记录的linkNextRecord,记录体的偏移地址为记录头偏移地址加上记录头大小(sizeHeader)以及记录体大小(sizeRecord)。

步骤2: 利用PQDCOM4LIB组件中PQDCOM4Class类中的RecordGetInfo函数获得第n-1个sizeHeader,sizeRecord,checksum,以及记录头地址(posThisRecord)。

步骤3:将第n个记录体地址内的所有数据转换为基于.NET操作文件二进制类型的输入流,再将此输入流以通用转换格式(UTF-8)字符串的形式写入磁盘文件。利用第三方的CRC-32校验程序获取磁盘文件的32bit整数循环冗余校验码。

步骤4:把PQDIF文件记录头的校验和与步骤3得到的校验和进行比对,如果结果相等则代表本记录完整;反之,则代表本记录缺损。

3.1.2 集合完整性检测阶段

此阶段作用是检测PQDIF文件物理层记录中集合的完整性。如图3所示,集合位于记录内部,是记录体的开始部分,指向记录末端的数据区。取某记录的记录体地址,即记录体的首地址。在首地址内,存储了4个字节的数据,代表本记录中集合的个数。对比该集合个数与文件中本记录实际的集合个数,如果结果相等则代表集合完整;反之则不完整。

3.2 逻辑层一致性检测

3.2.1 标签必备属性检测阶段

此阶段作用是检测标签的必备属性是否错误。IEEE P1159.3规定了137种标签,每一种标签都有4个属性,如表1所示。

使用System.Collection.Generic命名空间中的字典(Dictionary)类存储标签的必备属性。Dictionary里面每一个元素都是一个键值对,键是唯一的,但是值并不唯一,键和值都可以是任何类型,通过一个键读取一个值的时间复杂度接近O(1),键值对之间的偏序可以不定义。 将IEEE1159.3规定的137种标签的必备属性分别放入字典类中,形成内容和结构固定的属性字典。

属性字典的构成如下:

Dictionary〈string,struct〉dictionary

其中string代表标签名称经内码表映射的编码,也是字典里面的一个键,对应的struct是标签的4个属性,可利用dictionary.ContainsKey(“标签名称”)在属性字典中查询。

3.2.2 标签语义检测阶段

此阶段作用是检测厂家定义电能质量测量数据所用的标签组合是否正确。PQDIF文件是一种多叉树,其中的电能质量指标的定义顺序是随机的,通道序号也是随机的,想要检测其中是否包含所需的电能质量指标,以及电能质量指标定义是否符合规范,就要将PQDIF文件中的每一个节点遍历一次。由于节点众多及节点之间复杂的关联性,当检查的节点个数为N时,逐一匹配次数就达到了N2次。

Tire树(字典树)是一种用于快速检索的多叉树结构,用于确定字符串的快速检索[13]。考虑到PQDIF文件也是一种树形文件,若能将其转换为Tire树可大大简化PQDIF文件的复杂程度。

当检查的节点个数为N时,假设最深节点的度为5,利用Tire树的遍历次数最多为5 N次,远远小于N2次。建立和查询在Tire树中可以并行执行,哈希表不能实现这个功能[14]。

如图4所示,树中的每条边对应一个字母,绿色代表该结点状态是一个可结束状态,图中的Tire树所要表达、存储的字符串为wh,cf,wadf,wbdf,waac,wfeb,wfcc。把要查找的关键词看做一个字符序列,根据构成关键词字符的先后顺序在构造完成的树结构中检索。

如图5所示,实现标签语义检测的步骤如下。

步骤1:建立内码表。建立内码表的原则是保留IEEE 1159.3—2002 标准中关于逻辑结构的定义,体现出每一个标签之间的逻辑关系。

以容器记录中的标签为例,容器标签(tagContainer) 的编码为a, 版本标签(tagVersionInfo)的编码为ab,文件名标签(tagFileName)的编码为ac,依次建立容器记录的编码表,最后的tag编码为aD,共30 个标签,用到的英文字母为a~z,A,B,C,D。

步骤2:按照高级类型标签、物理量标签、特征标签、相位标签、单位标签、类型标签的顺序,形成通道序列语义字典,利用内码表映射出唯一的6位字母编码添加到Tire树中。对于数据源记录,由于无法确定通道所定义的测量类型,也就不能将PQDIF文件中的数据源记录“挂”到Tire树中。而只能把标准中数据源记录必选标签的组合形式全部映射到Tire树。

步骤3:正确的标签组合添加完成后,读出待检文件的通道序列并放入内存的二维数组中。数组大小为6n(n为文件的通道定义个数),根据内码表、语义字典的键,把该数组的每一行转化为一个字符串,形成一维数组,大小为n。依次遍历数组的字符串,利用Tire树特点,查询标准Tire树中是否含有此字符串。如果查询成功,将本条树支删除;反之,保留此树支。

4 测试结果

在某省电能质量监测系统平台中,利用本文方案对各厂家PQDIF文件进行一致性检测。

4.1 物理层测试结果

表2所示为首先进行物理层记录完整性测试结果。可知,厂家2的装置从地区级电能质量监测子站到省级电能质量监测主站,数据传输、通信能力良好;厂家1在上传文件过程中出现容器记录缺损问题。

表3所示为物理层的集合完整性测试结果,主要测试厂家文件内部数据安排是否正确,以及装置本身或后台软件生成PQDIF文件的能力。

由表3可知,厂家1、厂家2生成的PQDIF文件4个记录中记录体首地址中4个字节的值与实际的集合个数相等,表明厂家1、厂家2集合完整性良好,内部数据安排正确。

为进一步明确厂家1容器记录缺损的原因,下面针对厂家1 容器记录中末端相邻的文件名标签(tagFileName)、创建时间标签(tagCreation)和语言标签(tagLanguage),补充一个集合完整性验证实验。厂家1容器记录中tagFileName的取值为“测试线-140527”,在集合中的相对地址为228,tagCreation的取值为“04-23”,在集合中的相对地址为248,tagLanguage的取值为“English”,在集合中的相对地址为264。 分别将其值改为 “测试线”“2014-05-27”“Chese”,如表4所示。厂家2也利用此方法测试,不再赘述。

由表4 可知,由于tagFileName,tagCreation,tagLanguage这3个标签的值处于容器记录最后部分的一大片数据区内,把原有值变为修改值,解析出来tagFileName和tagCreation的测试值与修改值保持不变,表明厂家1的PQDIF文件容器记录中集合区与数据区的偏移链接地址使用正确。 标签tagLanguage的测试值出现了错误是由于厂家1的容器记录的缺损导致最后一个数据区缺损,以及tagCreation的测试值额外占用了5个字节的区域。

由以上分析可知,厂家1、厂家2的PQDIF文件内部数据安排正确,装置本身或后台软件生成PQDIF文件的能力良好,不会出现标签之间“错位”和“借位”等情况;厂家1的PQDIF文件向电能质量监测主站传输时,由于通信方式不稳定,导致出现了物理层缺损。

4.2 逻辑层测试结果

对于逻辑层的一致性检测,由于厂家之间没有可比性,所以只以厂家1为例进行逻辑层的一致性检测。首先,进行标签必备属性的测试,检测每一个标签的必备属性值是否用错、必选标签是否漏选、是否使用废弃标签以及是否使用不存在的标签。标签必备属性测试结果如表5 所示。可知,检测出了4种不同类型的错误,其中,第1种类型的错误是使用了未定义的标签值。由于PQDIF标准的开放性,允许厂家使用未定义标签或标签值。针对该种类型的错误只需要厂家给出标签想要表达的意思,添加进属性字典即可。而其他类型的错误很可能引起PQDIF文件解析错误,影响数据的准确性,必须给予改正。

然后进行标签语义值测试,主要检测定义电能质量指标的标签组合是否缺损、是否可识别。标签组合缺损是指组合中标签数量少于6个,标签组合无法识别是指组合无法正确表示某一测量数据类型。语义属性测试结果如表6所示。

由表6可知,该厂家3个通道序列定义出现标签组合缺失,其中HR of voltage VAN通道缺失的是高级序列标签;2个通道序列出现标签组合无法识别的问题。

把以上2 个方面的测试结果和Electrotek Concepts公司开发的PQDIF解析软件PQDIFUtility的测试结果进行比较,进一步验证了本文方案的正确性。

4.3 性能对比测试结果

在酷睿I3-4130、双核、3.2GHz、32位操作系统的PC机上,以Visual Studio2010作为应用程序的开发环境,对各厂家一个月生成的30个PQDIF文件进行测试。每个文件均记录时间间隔为1min的24h数据,平均大小为3 MB。性能对比测试结果如表7所示,其中方案1和2分别为文献[10]和文献[9]所述方案。

由表7可知:(1)对于同一厂家的PQDIF文件,本文方案的检测时间明显低于方案1和2的检测时间;(2)随着PQDIF文件中节点数量的增加,本文方案的检测时间变化很小,而方案1和2的检测时间大幅增加。综上,与方案1和2相比,本文方案检测时间较短,且检测时间与PQDIF文件中节点个数基本无关。测试结果说明了本文方案时间复杂度为常数O(1),验证了本文方案的快速性。

5 结语

数据交换格式 篇8

一、影视后期制作概述

影视后期制作利用人的视觉来传达影视的设计理念, 在进行影视后期制作时, 需要后期人员同时掌握影视的编辑设备以及影视编辑技巧, 利用各种三维软件, 为影视作品中添加一定的文字、特效, 同时制作声音, 能够使整个影视作品更加丰满化、具有艺术性。

随着科学技术的发展, 影视媒体已经成为当前社会中最大众化、影响力最深的媒体形式之一, 各种类型的影视作品渗入到人们的日常生活中, 潜移默化地影响着人们的思维方式和生活方式[1]。随着社会的发展, 计算机成为了现代影视后期制作的主要设备, 为后期制作提供了便利条件。常用的后期制作软件主要有AE、Shake、3D max、MAYA等, 常用的交换文件格式主要有EDL文件、AAF文件、OMF文件以及Quick Time文件等, 下文中会对这些常用格式文件作出具体的介绍。

二、电视后期制作常用交换文件格式及应用

(一) EDL文件

EDL文件是Edit Decision List的缩写, 又叫做编辑决策表, 是后期制作中最基本的编辑数据交换的文件格式。EDL文件在建立时, 一般是锁定在离线编辑系统当中, 也可以通过人工进行输入。在后期制作中的非线性编辑系统没有出现之前, 制作人员通常采用人工输入编辑点, 在线性编辑系统中完成EDL表。

EDL主要是用来描述编辑指令中的清单, 具体包含了素材的磁带号、时间码、镜头的过渡信息等内容, EDL文件是大多数编辑系统都支持的文件格式。在实际的应用中, 输入或导出EDL文件要根据具体的情况进行处理, 尽量在文本编辑器中修改EDL, 从而简化EDL文件。

当今的后期制作中, EDL应用得十分广泛, 比如在音频制作输出编辑完成节目之后的EDL文件可以给录音师提供素材的来源数据。在不同的非线性编辑设备中交换编辑数据时, EDL文件是最稳定的选择[2]。

(二) AAF文件

AAF文件是Advanced Authoring Format的缩写, 意思为高级制作格式, 也被称为超级EDL, 和之前的EDL文件相比, AAF文件有着更加丰富的内容。随着后期制作设备的不断发展, 传统的EDL文件已经无法满足当前电视制作的需要, 其原因在于非线性编辑中的多层视音频轨道、特技效果等编辑数据都无法在EDL文件中体现出来。AAF文件是能够在多种视音频轨道上进行描述的文件类型, 是专门为数字非线性后期制作而设计的。

(三) OMF文件

OMF文件是Open Media Frame的缩写, 指的是一种在数据发送者和数据接收者之间建立不同的数据格式转换的通用标准开放媒体框架格式, 同时也是一种包含了多轨道音频媒体信息的文件格式, 其能够说明最终时间线上被编辑的媒体。

OMF文件是由文件头、编辑创作信息包、素材媒体数据包和控制包共同组成, 各个环节相互促进, 共同进行编辑制作。

OMF在实际中应用的非常广泛, 其可以应用在不同的编辑平台中来进行编辑架构和音频媒体数据的交换。同时, 所生成的OMF文件包含着音频编辑信息和音频媒体文件的解释说明, 因此在实际的编辑应用中非常便利。

(四) Quick Time文件

Quick Time文件是苹果公司研发的, 能够在MAC和Windows系统中进行视音频制作播放以及网络传输的文件。对于后期制作人员来说, Quick Time是一款功能十分强大的多媒体技术内置媒体播放器, 可以从中看到各种文件格式的影视作品[3]。Quick Time文件是一种框架结构文件, 其包含了能够储存不同类型媒体的轨道, 每一个轨道都是一个独立的媒体结构, 编辑人员可以在此基础上进行制作、压缩、分发等制作技巧。

结论

在当今的影视节目制作中, 后期制作对节目的观赏性和艺术性发挥了巨大的作用, 并为影视节目的制作提供了技术上的保障, 在实际的操作中, 熟悉并掌握常用的交换文件格式, 能够进一步提高后期制作的流畅性, 从而提高后期制作的水准, 因此, 在进行后期制作之前, 一定要深入了解这些常用文件。

摘要:本文将详细介绍几个电视后期制作的常用交换文件格式及具体应用, 让人们能够真正对其了解。

关键词:电视后期制作,交换格式,特征应用

注释

1[1]张平.电视后期制作常用交换文件格式及应用 (上) [J].影视制作, 2012, 7 (23) :72-75

2[2]王峻, 戴静.非线性编辑系统在电视后期制作中的运用[J].现代电视技术, 2012, 2 (12) :57-58

变电站继电保护通用定值交换格式 篇9

在中国,继电保护整定计算一般由运行方式管理部门使用不同的自动整定计算软件完成。目前,电网中存在较多型号的保护装置和与之对应的定值系统,每个定值系统都有独立的定值数据结构和定值语义。整定计算人员主要根据经验和字面理解建立自动整定计算结果与整定定值的对应关系。对于自动整定计算的研究多数集中于运行方式组合、短路计算和阶梯式配合等[1,2,3,4],或者从生产管理角度讨论定值传递的工作流程[5,6,7],而缺乏自动定值语义匹配的相关内容。测试人员在变电站内进行继电保护测试工作时,也是根据调试经验或现场翻阅技术说明书等方式有选择性地进行保护测试,其测试结果不包含被测设备的内部逻辑信息,因此只能是主观性的结论,测试的数据缺乏完整性。

智能电网研究的推进,对自动整定计算及自动化测试系统提出更高的要求[8,9,10,11],变电站中继电保护设备应具备完整的自描述信息,包括保护定值和保护逻辑的自描述。因此,有必要设计一种能够被自动整定计算应用与测试应用识别的通用定值交换格式,解决定值语义识别和保护逻辑描述等关键问题。本文使用可扩展置标语言(XML)对变电站中定值交互问题进行了研究。

1 XML Schema在电力系统中的应用

XML及XML Schema在各种需要数据交换的环境中得到了广泛的应用。IEC 61850-6标准使用XML Schema定义了一种规范的变电站配置语言(SCL),可实现变电站内不同设备间灵活的数据交换。SCL是一种特殊的XML,定义了特定语义的标记,描述变电站内智能设备及其通信服务。

同样,在系统调度端,IEC 61970标准定义了公共信息模型(CIM) XML,从更宏观的角度使用XML描述系统的拓扑结构及数据对象之间的关联关系。

SCL及CIM XML是电力系统中使用XML的典型范例。目前,IEEE已经制定了基于XML的变电站内通用事件交互格式(COMFEDE)标准IEEE C37.239。相信不远的将来,XML将成为电力系统中最重要的数据交互方法。

本文基于上述情况,针对SCL仅侧重于智能电子设备(IED)的数据模型和通信结构描述的不足,将深入研究XML Schema及其应用,为变电站运行整定及测试人员设计了一套继电保护定值及保护逻辑的描述规范。

2 基于XML的智能变电站通用定值标记语言

在使用XML解决变电站中定值交互问题的过程中,设计了由保护设备制造商提供的与设备一一对应的定值自描述XML文件,包含定值语义描述和保护逻辑图形。

2.1 通用定值标记语言的数据模型

定值及其分组树形结构见图1。图1中使用的XML文件抽象为2层内容:①规范的架构文件,是具有特定语义的新型标记语言,是数据模型的抽象;②按照架构文件实现对具体定值对象的描述。

将变电站中用于定值交互的架构文件定义为通用定值标记语言。在架构文件中要求尽可能地抽象出一个继电保护设备定值的全部外在信息。若把一个继电保护设备的定值作为对象,架构文件根据面向对象设计的方法,抽象地将它划分为更小的对象实体,这些对象实体间存在父类与子类的级联关系。架构文件中包含每个对象实体属性信息,以及在对象实体下某些特定子对象实体之间的约束关系。

图1中,使用树形结构描述继电保护设备定值的数据模型。其中,Settings是继电保护设备定值对象,它被分解为SettingGroup,SchemeDiagram,Header,SettingEnums及SettingConstraints等5个部分。Header中描述保护设备的一些基本属性及定值修订信息;SettingGroup是与设备显示及通信功能匹配的定值树,该树形结构采用了灵活的分组方式,使得定值分组与保护内部逻辑模块具有一一对应关系,有利于对保护功能及定值语义的理解;SchemeDiagram是使用图形描述的保护逻辑,一般使用功能块图(FBD)方式描绘独立的保护逻辑,在每个保护逻辑中可以标记引用SettingGroup中的具体的定值实体,由此建立图形化的保护逻辑与定值实体的关系;SettingEnums及SettingConstraints是保护定值的特定模版,分别描述枚举型定值的数据成员及SettingGroup中定值实体间的配合关系,如两段电流定值或时间延时定值的大小关系。下面是通用定值标记语言架构文件的部分内容:

2.2 与设备匹配的SettingGroup

定值树形结构是架构文件的最重要内容,其最基本的元素——定值实体SingleSetting是由属性和子元素Val构成,其中,属性包括名称、别名、文字描述、类型、上下限及关联的电流互感器二次额定值等。这些属性可明确地定义定值实体的外在特性,也是定值语义的基本内容。多个定值实体组成的子定值组就可描述一个基本的保护功能。

图1中,定值组SettingGroup可以包含多个子定值组SubGroup和多个定值实体;子定值组同样可以包含更低一级的子定值组SubGroup及定值实体。自动整定软件通过读取定值树状结构绑定定值实体对象,从而清晰地将整定计算结果映射到定值实体对象,实现自动整定计算。实际上,对于一种保护装置,如果不修改定值定义,那么映射工作只需一次。在格式输出方面,使用可扩展样式表转换语言(extensible stylesheet language transformations,XSLT)技术,很容易将基于架构的XML输出到生产管理系统的浏览器页面显示或输出为统一标准格式的纸质定值清单,这些格式可以由最终用户确定,它保证了制造商提供的不同类型保护装置在定值输出上具有一致性。

2.3 保护逻辑语义描述SchemeDiagram

定值语义描述中最重要的环节是使用原理框图表达定值在保护逻辑中的作用。图形化定值逻辑树形结构如图2所示。本文使用的通用定值标记语言借鉴了PLCopen TC6所提出的IEC 61131-3 XML格式[12]。

图2中,PLCopen TC6提供了5种IEC 61131-3定义的逻辑编程方法:指令清单(IL),结构化文本(ST),FBD,梯形图(LD),顺序功能图(SFC)),其中FBD及LD是图形化的可编程逻辑描述方法。

继电保护逻辑一般使用FBD描述,FBD由若干个独立的块构成,每个块定义了输入/输出及输入/输出属性(如取反、边沿捕获、是否存储等),并建立不同块之间的连接关系,同时还包含块的图形化信息描述(如位置、尺寸等)。在FBD基础上,通用定值标记语言将输入参数关联到定值实体(InVariables元素增加refSetting属性),在架构文件中定义了定值实体的属性别名作为唯一索引(key元素),InVariables则定义了相应的关联定义,即架构文件中的key ref。

自动整定计算软件解析上述逻辑图作为保护定值语义的图形描述。自动测试系统根据保护逻辑图制定测试方案并配置端口匹配文件,最终实现保护装置的自动测试。

2.4 定值交互过程分析

在变电站中,定值数据和保护逻辑按上述方法建立XML文件后,第3方的自动整定软件根据语义描述建立计算结果与定值的语义匹配关系,实现自动整定,通过生产信息系统向调度系统发布整定值,调度系统抽取定值顺序数据下发给最终的保护装置。同时,自动测试系统能方便读取该文件,按照测试的输入/输出关系建立端口匹配,实现原理图可视的自动测试功能,并输出参照逻辑图的测试文件。使用XML交换继电保护定值方法的流程如图3所示。其中,定值配置文件不仅能够提供定值数据,同时还包含定值相关的逻辑关系,能十分便利地为调度人员以及继电保护人员提供全面的定值信息。

3 应用实例

以复合电压闭锁过流保护为例,它的定值结构如图4所示。

对应的XML见附录A。复合电压元件原理如图5所示。

图5对复合电压逻辑作了清晰的描述,使用refSetting属性将保护逻辑图与定值组中定值实体进行了关联。图5中乘法器部分表明保护装置使用的负序电压定值以及计算负序电压的3倍关系及低电压定值时采用的是线电压等,利用这些图形信息可以很明确地得出相关定值参与计算的实际方法,它是整定和测试人员最为关心的内容。

4 结语

本文讨论了在变电站中使用XML作为通用定值交换格式的方法,并设计了一种通用定值标记语言,给出了架构定义和简单的应用实例。通用定值标记语言的开发给自动整定和自动测试提供了数据共享和设备间互操作的新模式,也为今后定值的管理和维护提供了有利支撑。在后续的工作中将考虑扩展通用定值标记语言,例如:由制造商提供测试方案描述等,并将通用定值标记语言作为保护标准与相关国际标准融合。

附录见本刊网络版(http://aeps.sgepri.sgcc.com.cn/aeps/ch/index.aspx)。

参考文献

[1]黄德斌,唐毅,程慈源,等.基于平台概念的继电保护计算及管理系统[J].电网技术,2002,26(7):53-55. HUANG Debin,TANG Yi,CHENG Ciyuan,et al.A software platform based protective relaying calculation and management system[J].Power System Technology,2002,26(7):53-55.

[2]陈青,刘炳旭,黄德斌,等.继电保护整定计算软件的通用性和实用性的研究[J].电力自动化设备,2002,22(10):60-64. CHEN Qing,LIU Bingxu,HUANG Debin,et al.Study on universality and practicality of application software for protection setting calculation[J].Electric Power Automation Equipment,2002,22(10):60-64.

[3]易亚文,涂亮,王星华,等.基于模式的自定义继电保护装置整定计算软件[J].电力系统自动化,2005,29(16):79-83. YI Yawen,TU Liang,WANG Xinghua,et al.Self defined relay device coordination software based on pattern[J]. Automation of Electric Power Systems,2005,29(16):79-83.

[4]谢俊,石东源,张德泉,等.继电保护柔性定值单管理系统开发[J].电力自动化设备,2007,27(1):74-77. XIE Jun,SHI Dongyuan,ZHANG Dequan,et al.Development of flexible-setting-list management system of relay protection [J].Electric Power Automation Equipment,2007,27(1 ): 74-77.

[5]谢熹,吕飞鹏,雷云川,等.基于工作流的继电保护定值管理系统[J].电网技术,2006,30(16):64-69. XIE Xi,L(U|¨) Feipeng,LEI Yunchuan,et al.Setting management system of protective relaying based on workflow [J].Power System Technology,2006,30(16):64-69.

[6]杨增力,石东源,杨雄平,等.继电保护整定计算软件的通用性研究[J].电力系统自动化,2007,31(14):89-93. YANG Zengli,SHI Dongyuan,YANG Xiongping,et al.A study on the universality of the protection setting calculation software[J].Automation of Electric Power Systems,2007, 31(14):89-93.

[7]顾慧杰,谢俊,柳焕章,等.基于调度数据网的定值单管理系统[J].电力系统自动化,2009,33(9):52-56. GU Huijie,XIE Jun,LIU Huanzhang,et al.A protection setting management system based on power dispatch data network[J].Automation of Electric Power Systems,2009, 33(9):52-56.

[8]王慧芳,何奔腾.电网继电保护定值校正软件研究[J].电力系统及其自动化学报,2006,18(2):86-91. WANG Huifang,HE Benteng.Study on software of relay settings examination and rectification[J].Proceedings of the CSU-EPSA,2006,18(2):86-91.

[9]袁清峰,路辉,沈士团.基于XML的自动测试系统资源描述方法[J].北京航空航天大学学报,2010,36(1):114-117. YUAN Qingfeng,LU Hui,SHEN Shituan.Auto test system resource description method based on XML[J].Journal of Beijing University of Aeronautics and Astronautics,2010, 36(1):114-117.

[10]汪洋,徐建芬,王海平.基于XML的自动测试信息交换标准研究综述[J].电子测量与仪器学报,2008,22(5):1-10. WANG Yang,XU Jianfen,WANG Haiping.Research survey on XML-based information exchange standard for automatic test[J].Journal of Electronic Measurement and Instrument, 2008,22(5):1-10.

[11]IEEE Std 1671.3 2007 IEEE trial-use standard for automatic test markup language(ATML) for exchanging automatic test information via extensible markup language (XML):exchanging unit under test(UUT) description information[S].2007.

基于元数据的数据交换系统研究 篇10

随着信息技术的发展,业务领域的变化频率越来越高,业务流程再造的速度越来越快,数据模型不断升级,导致数据迁移需求不断增加,跨部门业务融合也导致数据交换的需求持续增加。因此,建设一个数据交换平台迫在眉睫。该平台不仅可以提供点到点的系统间数据交换,还能实现点到面的跨部门、跨业务的数据集成,对整体数据资产提供有力支撑。

目前,主流的数据库产品大多提供了数据迁移工具,但这些工具一般只适用于数据的导入、导出,并且只能支持一个或几个特定类型的数据库[1]。现在的问题是用户使用的数据库产品种类众多,比如格式化的数据库有Oracle、SQL Server、DB2、MySQL、Access、Sqlite、达梦、金仓等;半结构化的数据格式有xls、csv、json、xml等;NoSQL类型的数据库有MongoDB、Redis、HBase等。无论是数据迁移还是数据集成,均需要在它们之间交换共享数据。如果工具只支持一对一的数据转换,就可能需要开发、维护、学习使用一批这样的工具[2]。因此一个通用的数据交换系统是实现数据迁移和数据集成重要的基础工具。

1 数据交换过程

一个典型的数据交换过程包括以下几个步骤:数据抽取、数据转换、数据加载[3],为了顺利实现数据交换,还需要对以上几个过程加以控制,这就是人们常说的ETL(Extract Transform Load),这里加上了控制(Control),简称为ETLC,如图1所示。

数据抽取,就是从数据源中获取数据。进行数据抽取是进行数据交换的首要步骤,它是指从异构的数据源中获取需要的数据。这里的异构数据源既包括传统的结构化数据库(支持SQL标准)、半结构化数据文件(如XML文件、JSON文件、XLS文件等),还包括不断涌现的NoSQL数据库(如:MongoDB、Memcached、HBase等)。建立一个通用的数据访问接口是获取不同数据源数据的关键。

数据转换,就是根据目标数据源的要求转换数据,实现异构数据源之间的数据转换是进行数据交换的重点。完成从异构数据库中提取数据之后,为了满足目标数据库对数据的要求,需要对其进行相应的转换。建立一系列数据转换规则是满足不同数据转换要求的关键。

数据加载,就是将数据加载到目标数据源。进行数据加载是达成数据交换目标的最后一环,它需要按照事先制定的加载策略,将经过转换的、符合要求的数据有针对性地加载到目标数据库中。

过程控制,就是启动、记录数据抽取过程。对数据交换过程进行控制是数据交换的有效保障。针对不同的数据交换需求,应能够自动地启动交换任务,收集、记录交换过程中的日志和异常信息,为掌握交换事务,及时发现和处理各种异常提供支撑。

2 数据交换元数据

通过对数据交换过程的分析可以看出,进行数据交换的基础是对数据源及其映射关系进行描述,数据交换过程需要对数据抽取、数据转换、数据加载、过程控制进行描述。元数据是对数据资源的规范化描述,对于数据交换过程中涉及到的数据源以及交换行为,可以抽象为以下几类元数据。

2.1 数据源描述元数据

数据交换实质就是数据从一个数据源通过抽取、转换、加载到另一个数据源,因此,数据交换的基础就是要对数据源进行详尽描述。

数据源按其类型不同,可概括为结构化数据库、半结构化数据文件、NoSQL数据库。无论何种类型的数据源,在进行数据交换时,首先都要知道如何访问,这就需要描述数据源所属的数据库类型、数据库版本、数据库名称、数据库的URL、访问数据库的用户名与密码等信息。

数据库逻辑上是由数据表组成,在进行数据交换时,要知道需要交换的数据在哪张表里,因此需要描述数据表信息,包括表的名称、表的语义描述、表所属的数据库等。

数据表是由一系列字段构成的,在进行数据交换时,最小的粒度是数据从源端的某张表的一个字段至目标端一张表的某个字段,因此对表字段的描述至关重要。字段的描述信息包括:字段的名称、字段的语义描述、字段所属的数据表、字段类型、字段的约束信息等。

通过以上分析,对数据源的描述可以归纳为三元组,记为D(Db,Dt,Df),其中Db为数据库描述信息,Dt为数据表的描述,Df为数据字段的描述,其逻辑关系如图2所示。

2.2 数据映射元数据

数据交换是不同数据源之间的数据转换,最终反映的是数据字段之间的映射关系。对于异构数据的交换,这种映射关系不仅包括不同数据要素之间的对应关系,还包括字段之间的转换规则。因此对于数据映射的描述,可以用四元组表示,记为R(Rd,Rt,Rf,Rc),其中Rd为源端数据源与目标端数据源的对应关系,Rt为源端数据表与目标端数据表的对应关系,Rf为源端数据字段与目标端数据字段的对应关系,Rc为源端数据字段与目标端数据字段的转换规则,其逻辑关系如图3所示。

2.3 交换操作元数据

实现异构数据交换的核心功能是进行ETL[4],即抽取、转换和加载,为了提高整个ETL过程的可控性、灵活性、通用性,需要对每个操作过程加以控制,因此交换操作元数据由数据抽取元数据、数据转换元数据、数据加载元数据和操作控制元数据组成。

2.3.1 数据抽取元数据

数据抽取就是按照事先制定的抽取策略将需要的数据从源端数据源抽取出来,对于数据抽取元数据的描述可用三元组表示,记为E(Ed,Es,Ep)。其中Ed为源端数据源,包括数据源连接信息和结构信息,Es为数据抽取范围,包括需要抽取的表及字段信息的集合和每张表内需要抽取的内容范围,Ep为抽取策略,分为手动抽取、定时抽取、准实时抽取等。

2.3.2 数据转换元数据

数据转换就是根据目标数据结构与源数据结构的映射关系,按照转换规则,将从源端数据库抽取出来的数据转换为与目标数据库相适应的数据,描述数据转换元数据可用四元组表示,记为T(Ts,Td,Te,Tr)。其中Ts为源端数据库,包括数据结构信息,Td为目标数据库,包括目标数据库结构信息,Te为需要转换的数据,是数据抽取结果的实例,Tr为源端数据结构与目标端数据结构的映射关系,是数据映射的实例。

2.3.3 数据加载元数据

数据加载就是将特定的、经过转换的数据加载到目标数据库中,描述数据加载元数据可用三元组表示,记为L(Ld,Lt,Lp)。其中Ld为目标数据库,包括数据库连接信息和结构信息,Lt为需要加载的数据,是数据转换结果的实例,Lp为数据加载策略,分为先清空后加载、增量加载、直接追加转载等。

2.3.4 操作控制元数据

数据交换需求,可以抽象为一个交换任务,一个交换任务是由若干个数据交换操作过程来实现的,为了使数据交换的各部分有机协调工作,需要操作元数据控制整个数据交换过程,描述操作元数据可用五元组表示,记为C(Ct,Cd,Cs,Cr,Cl)。Ct为与一次交换任务相关的信息,Cd为当前交换操作的目标数据库,Cs为当前交换操作的源数据库,Cr为当前交换操作关联的数据映射集合,Cl为当前交换操作过程产生的日志信息结合。

3 设计实现

3.1 系统逻辑

基于以上数据交换元数据,一个通用的数据交换系统框架由5层结构组成,分别是数据源层、数据访问层、元数据层、交换功能层和应用层,如图4所示。

数据源层:需要进行数据交换的所有数据源,能够支持数据源动态地加入或退出。

数据访问层:功能模块访问数据源的统一接口,它为上层的功能应用屏蔽了异构数据源访问差异,其核心是为不同类型的数据源建立相应的适配器。

元数据层:存储数据交换功能的元数据,它是数据交换功能的驱动源。

交换功能层:由实现数据抽取转换的各功能模块组成,包括数据抽取功能、数据转换功能、数据、数据加载功能和过程控制功能等。

应用层:提供数据源注册管理、数据映射编辑、数据交换策略管理、交换任务管理、交换任务执行、交换日志管理等用户交互操作界面。

3.2 系统应用流程

数据交换系统应用流程包括:

(1)注册数据源。按照数据源描述元数据的要求,将需要进行数据交换的数据源加入到交换系统中,详细描述数据源相关信息,包括连接信息和数据结构信息。

(2)编辑数据映射。根据数据交换需求,针对参与交换的源数据库和目标数据库的结构差异,建立字段级数据映射关系,选择相应的数据转换函数。

(3)数据交换任务管理。创建数据交换任务,设置交换策略。选择源数据库和目标数据库,确定任务启动方式(手动或自动)、启动时间、间隔周期等参数;根据数据抽取、数据转换和数据加载元数据要求,描述数据抽取范围、数据抽取策略、数据加载策略等。

(4)数据交换任务执行。根据交换任务启动策略,启动一个交换任务。系统完成数据抽取、数据转换、数据加载等动作,并记录任务执行过程中的相关日志信息。

(5)数据交换日志管理。查看相关任务执行过程中的日志信息。

4 结语

本文通过分析数据交换过程,提炼出数据交换的元数据模型,基于这些元数据模型构建了通用的数据交换系统。实践表明,基于元数据驱动的数据交换系统,屏蔽了异构数据源的差异,适应了数据映射规则的多样可扩展特性,满足了交换策略的灵活可定制要求。通过该系统,可以集中管理异构数据源,进行异构数据之间的转换,具有良好的适应性、灵活性、通用性和可扩展性,为进行大规模的数据迁移和数据集成提供了基础支撑。

参考文献

[1]张朝晖,徐立臻,董逸生.一种基于SOA的企业集成平台[J].计算机工程,2011,37(5):115-119.

[2]邓新莉,张四平,刘珊,等.基于中间件平台的异构数据交换与集成[J].四川兵工学报,2011,32(3):26-28.

[3]邹卫国,郭建胜,王毅.基于XML的异构数据交换研究[J].中国管理信息化,2009,12(24):184-189.

[4]王盼卿,刘增良,陶源.基于元数据的ETL工具集成研究[J].2009,25(12):58-61.

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:青年糖尿病 下一篇:数据交换流程