异构数据报文(共3篇)
异构数据报文 篇1
摘要:由于历史发展及行业特点要求,各系统、行业普遍存在多种报文标准,它们采用了不同的编码格式和传输机制,相互之间兼容性差,因此很难实现异构系统或不同行业间信息的交互,从而无法满足信息融合的需求。针对这一问题,在分析多种报文格式的基础上,研究出一种基于XML的报文统一表示方法,并设计出一种异构数据报文统一表示服务中间件模型,为解决异构系统间的报文交换问题提供了研究基础。
关键词:异构数据报文,XML,表示服务,中间件
0 引言
随着信息技术的发展,为满足信息融合和数据链业务发展要求,迫切需要提供一种简捷、高效、可靠的异构数据报文传输与交换机制,实现信息的高效无障碍传输任务。现存系统中已经存在多种异构数据报文标准,它们采用了不同的编码格式和传输机制,使得相互间交换传输非常困难,无法满足信息传输要求。本文在分析各种异构数据报文编码标准的基础上,研究并提出一种基于XML的异构数据报文统一表示方法,通过异构数据报文表示服务中间件的设计,提出了解决系统间异构数据报文交换的思路。
1 异构数据报文及其交换技术研究现状
1.1 异构数据报文的概念
常见的报文类型有实时报文、长报文和短报文。实时报文对传输的实时性要求非常高,而对传输的可靠性要求相对较低。长报文对传输的可靠性要求非常高,而对传输的实效性要求相对较低。短报文的特点是简短,可以是格式化的,也可以是非格式化的自由报文,特别适用于低速无线信道(当然也适用于高速信道),是无线数据交换的主要报文类型。
本文所研究的异构数据报文,主要是指短报文。
1.2 异构数据报文的分类
异构数据报文按照其格式可分为固定格式报文和可变格式报文。
(1)固定格式报文由一个或多个固定长度的报文字组成。报文字分为初始字、延长字和继续字,其中初始字是必须出现的,而延长字和继续字根据需要出现。每个报文字除了在头部使用一定长度的比特位用以标识报文信息和字信息外,其余比特位由指定的数据元素组成。每个报文所使用的数据元素,以及数据元素的取值、存储方法、相互关系在相关标准中进行定义。
(2)可变格式报文与固定格式报文不同,有着自身特有的语法,在每一个可变报文中,标识符字段都是强制出现的,但标识符的值却是可变的。因此可变格式报文在实际传输过程中其可变性体现在以下方面[1]:
①报文参数可变。不同功能域和不同类型报文的标识符个数和位置都不一样,不同的报文描述定义了不同的报文格式。
②参数内容可变。标识符取不同的值便决定了后继字段或组是否出现。同时也决定了各字段或组在报文中的位置。
③报文长度可变。由于上述两方面的影响,可变报文可以只传输携带有用信息的字段,因此,针对不同的报文,同一条可变报文格式描述的消息在传输中可以有不同的长度。
1.3 异构数据报文交换技术现状
由于目前存在的异构数据报文格式很多,编码规则也不统一,因此不同格式间异构数据报文相互传输的问题变得十分复杂。解决这个问题,目前主要依靠编/解码手段。具体来讲,有两种方法[2]。
第一种方式是在发送终端输出原始报文之前增加报文标识,指出报文的具体类型,输出到接收终端后,依据标识进行分配,然后调用各自对应的解析模块来完成报文解析,具体处理过程如图1所示。
这种方式的优点是,仅仅增加了报文输出的标识,在处理过程中报文内容没有发生变化,因而不存在信息丢失问题。其缺点是各类处理程序较为专用,不利于系统的扩展。
第二种方式是在报文处理器与发送终端之间增加表示层,隔离原始报文的内容,其处理过程如图2所示。
报文处理器接收到不同类型的报文格式,经报文处理器处理后,转换为统一的交换报文格式,提交终端处理;接收报文的过程是发送报文的逆过程。这种方式的优点是对外提交一致的报文,便于信息处理,其缺点是可能丢失部分信息。
2 基于XML的异构数据报文统一表示服务
2.1 统一的异构数据报文表示方法
在不更改各种类型异构数据报文的报文格式和编码标准的前提下,实现不同类型的异构数据报文能够相互传输的理想方法是在原始报文经过处理后生成一种标准交换报文进行传输,以保证系统处理报文的一致性。为此需要制定一种异构数据报文的统一表示方法,作为各类异构数据报文之间进行数据传输的依据。
统一的报文表示方法,既要求能够满足不同行业、不同历史阶段遗留下来的不同标准的需要,又要求能够很好地兼顾现有类型的异构数据报文格式标准,并且要能够适应异构数据报文未来发展的需要。解决好这个问题是实现不同类型异构数据报文相互传输的关键。
本文按照一定的编码规则对报文格式进行分类,分析、总结出统一的异构数据报文表示要素及其语法描述,设计一种基于XML的统一战术数据报文表示方法,表示过程如图3所示。
这种统一的异构数据报文表示方法采用XML语言按照分析总结出的报文统一表示要素及其语法描述各种类型的异构数据报文,对于每条异构数据报文都生成其XML脚本。报文脚本描述了异构数据报文的属性信息(编号、编码规则等)和报文结构(数据字段的内容和结构信息等)。
每个脚本有且只有一个根元素,且元素的名称为Message。根元素有两个子元素,分别为元素Head和Body。Head元素的子元素描述的是和整条报文相关的一些信息,包括报文类别、报文编号、报文名称、报文风格、报文所属分类的路径、编码方式这六项内容。Body元素的子元素描述的是异构数据报文的结构信息和数据字段的信息。其中每一个子元素描述报文中的一个数据字段信息或标识信息,用元素的属性来描述数据字段中的相关内容。报文中的组数据也用一个子元素来描述,用元素属性来描述组的相关属性(组出现、组重复等),组中的各个数据字段放在组元素的子元素中描述,组元素内可嵌套组元素。
一个脚本的结构应该是如下的形式:
2.2 报文表示服务中间件设计
从XML技术和中间件技术的特点及应用情况来看,XML与中间件是解决异构数据交换问题的常用技术[3]。由此,本文提出一种基于XML的异构数据报文表示服务中间件模型的设计方案。
2.2.1 功能描述
表示服务中间件,是通过响应客户端应用的请求,为客户组织相关数据,生成传输报文,或将客户提交的异构数据报文的数据进行解释,并按照统一的异构数据报文表示方法进行表示。具体功能包括:
(1)解释并表示异构数据报文数据。响应客户端应用的请求,对提交的各种类型异构数据报文进行解释,变成人为能看懂的数据,并按照报文的统一表示规则进行报文数据描述。
(2)异构数据报文数据打包。响应客户端应用的申请,按照相应的规则,对提交的异构数据报文进行数据编码,生成实际传输的报文内容,并提交给客户。
(3)提取相应的报文信息。响应客户端应用请求,提取用户需要的模板,并将模板中的数据进行转换,包括提取数据字典中的数据,删除模板中与格式无关的描述。
2.2.2 系统设计
异构数据报文表示服务中间件包括数据管理、核心业务服务器和通用数据库访问服务器三个部件,结构如图4所示。
(1)数据管理。
提供从相应的报文模板数据库中添加或删除报文模板信息、从数据元素字典中添加、更改或删除字典信息等的数据管理功能。
(2)核心业务服务器。
提供数据转换等业务,主要包括业务接口、业务分析、负载控制、业务容器和资源调度策略等五大模块。
①业务接口接收客户端请求以及向客户端发送处理结果。传统的客户与服务之间的交换都是以二进制数据结构进行交换的,只需要定义申请相应功能的类、方法和数据结构即可[4]。从表示服务的功能定位上来讲,表示服务完成的是一种数据转换的服务,目的是解决不同系统间互相识别异构数据报文数据的问题,那么这些系统所处的平台可能各不相同,系统的软件实现方式也不相同,因此服务与客户之间的信息交换协议的设计目标应该具有与平台与环境的无关性和独立性。基于文本的格式化数据可以解决上述问题。利用XML技术,设计基于XML的交换协议,描述客户系统的服务申请和服务对客户系统的应答。由于服务提供给客户的是XML的模式而不是类、方法,这样能很好地解决传统的中间件中基于类、方法的接口所造成的系统紧耦合问题。
②业务分析主要实现对业务请求数据的解析,分析该请求应该提交给业务容器中哪个业务处理模块来处理。
③负载控制主要是为了使服务器使用合理的策略来处理客户请求,而不会使服务器出现对客户请求无法处理或使客户等待时间过长等情况。
④业务容器装载各个业务处理的模块。采用业务容器可以将系统的功能性方面的服务与非功能性方面的服务分离[5]。每个业务处理模块实现一个粗粒度的服务功能,由于各种异构数据报文编码方式不同,在每个业务模块中包含了对于每种报文具体实现该功能的细粒度服务组件。业务容器可以根据需要添加新的业务处理模块,实现“业务平台+定制业务”服务器的功能。
⑤资源调度策略主要用于提高报文模板资源的查询效率,按照合理的策略,对查询过的模板资源进行管理。
(3)通用数据库访问服务器。
主要完成对异构数据库的访问。由于不同类型的数据报文依赖的数据元素字典可能存在于不同类型的数据库中,因此表示服务需要能够从不同类型的数据库中查找相关的数据元素信息。将数据库访问的处理过程独立成为一个单独的部件,可以和表示服务部署在同一台机器中,也可以部署在不同的机器上。表示服务中间件和数据库访问中间件之间以基于XML的数据进行交换。
3 结束语
异构数据报文由于编码格式和传输机制的不同,各种类型的异构数据报文间的相互传输非常困难。本文提出一种基于XML的异构数据报文统一表示方法,并提出了异构数据报文表示服务中间件的设计方案,以解决系统间的异构数据报文交换问题。当然,在实际过程中还有很多问题值得研究,例如业务容器中业务处理模块的打包与部署技术、如何统一不同格式报文的数据元素字典,等等。
参考文献
[1]曾锟.数据链消息分发服务研究与实现[D].通信指挥学院,2007.
[2]杨海华.数据链与指挥控制系统数据交换编码技术研究[D].解放军理工大学,2007.
[3]钟其兵,陈波.中间件技术及其应用研究[J].微机发展,2005(6):72-74.
[4]金颖,贾兆庆,唐新怀.一个基于XML的消息中间件系统模型设计[J].计算机应用与软件,2004(8):6-7.
[5]范国闯,钟华,黄涛.Web应用服务器研究综述[J].软件学报,2003(10):1728-1739.
[6]李军怀,周明全,耿国华,等.XML在异构数据集成中的应用研究[J].计算机应用,2006,22(9):10-12.
[7]王小霞.消息中间件在数据交换中的应用研究及其面临的挑战[J].电子技术应用,2005(1):1-4.
异构数据报文 篇2
下面是部分工具替换后的比对情况:
目前DataX在淘宝数据平台数据已经广泛地被用于数据同步作业,每天共计有4000+道DataX数据同步作业分布在全天各个时段运行。
DataX/DbSync/TT已经构成了淘宝数据平台数据提供的三大支柱:
其中DataX每天为淘宝贡献2.5T数据量,占淘宝数据平台总体数据同步的23%,占数据库数据同步的96%。
继电保护报文模拟数据系统研究 篇3
1 继电保护报文模拟数据系统概述
继电保护报文模拟数据系统通过单个装置模拟在电网正常运行或事故状态下,大量保护与监控系统之间的信息交互,发送批量可设定的变化遥信、事件信息、梯度遥测至监控系统,从而达到变电站综合自动化系统整体性能测试及重现事故发生现场的目的。继电保护报文模拟数据系统由四部分构成:模拟报文发送装置(以下称“模拟装置”)、后台、远程硬件配置工作、被测系统。系统运行结构如图1所示。
后台通过以太网或网络口直连的方式连接至模拟装置,控制模拟装置的运行状态以及模拟数据的发送节奏;被测试系统可以采用串口或以太网络方式连接至模拟装置,模拟装置可同时模拟多个变电站综合自动化主站或子站设备(以下称“模拟设备”)向被测系统发送模拟数据报文;远程硬件配置软件可配置模拟装置硬件的相关属性。
2 继电保护报文模拟装置
2.1 模拟装置硬件
(1)CPU采用IXP4225芯片,64 MB容量的SDRAM,采用嵌入式WinCE操作系统。
(2)4个网口,1个串口物理接口。
(3)模拟装置可同时模拟多个变电站综合自动化系统主站和子站设备,通过协议基类可方便扩展网口、串口类协议。
(4)模拟装置可以一批次接收后台1 000个信号(包括遥信变位、SOE、梯度遥测)的触发。
(5)提供远程配置软件,用户可方便地远程配置硬件以及程序调试。
2.2 模拟装置软件
继电保护报文模拟数据系统装置内软件结构如图2所示,其中包含的模块如下。
(1)配置数据载入:后台下发配置数据,模拟装置解析数据后,按“通信接口→模拟设备→协议”模式创建通信架构。
(2)主通信流程:通信架构创建后,生成以通信接口为核心的通信流程。
(3)与上位机通信部分:模拟装置与后台制定了统一的通信协议,通过此协议,后台可发送模拟数据命令至模拟装置,同时模拟装置需将模拟数据信息反馈给后台。
(4)模拟数据:模拟装置接收到后台的模拟数据命令后,将模拟数据分解,并将数据分发给对应的模拟设备,模拟设备经过各自协议进行解析后,发送报文至各个通信接口。
3 后台系统
后台系统的主要功能有:
(1)数据配置、数值显示:提供友好的人机配置界面,数据可复制、粘贴,并能进行导入、导出操作;用户可以刷新实时数据。
(2)模拟数据部分:提供统一的模拟数据配置界面,用户可方便地配置遥信变位、SOE、梯度遥测、遥控等数据,并将这些数据下发到模拟装置。
(3)模拟装置通信控制:通过TCP链路方式与模拟装置进行通信,控制模拟装置运行状态以及模拟数据的触发。
(4)告警输出:采用UDP服务端方式实现告警进程,告警信息以UDP客户端方式向告警UDP端发送数据,利于多进程的告警信息输出。
(5)历史数据查询:提供历史数据查询以及导出功能。
软件的功能模块关系如图3所示,“模拟数据窗体”组织模拟数据向“下位机通信接口”发送相关命令,通信接口接收到数据命令后通过协议向下位机发送指令。
数据配置通过链表的操作进行配置。内存数据将被存放在链表中,程序中一切配置数据的引用都从链表中获取,当读、写链表时,链表将自动进行互斥处理。
4 技术要点
4.1 数据存储采用双向链表
后台配置数据存储使用了双向链表技术,程序模块调用数据时,直接利用链表指针进行对数据的访问,从而降低了系统对内存的开销,提高了数据调用的相应速度。链表类为CTreeList,该类负责对整个链表进行读写操作。
由于程序不同模块都有可能操作节点,因此需做好互斥处理,如通信接口的访问需采用Wait CommMutex()和ReleaseCommMutex()进行互斥的控制,如图4所示。
4.2 同类型数据统一界面配置
后台软件按“通信接口→设备→通信协议”的层次统一部署配置界面,每种类型的数据统一在同一类型的数据界面(MDI的View窗体)中,从而有利于用户配置时的比较和修改,用户可以方便地复制同一类型的数据,使配置数据时快捷方便。
数据界面配置安排在CSimulateDevView类中实现,此类中负责用户配置数据的人机界面对话,CSimulateDevDoc负责对数据链表读/写操作。主界面中,“配置库”包括通信接口表、设备表、协议表,“实时表”包括具体设备的遥信表、遥测表、遥控表。当双击某个节点即可打开该节点对应的配置窗体。
4.3 FTP方式下载配置文件
基础数据配置完成后,先进行编译,编译形成的文件在可执行文件同层次目录的“downdata”目录下,该目录下的文件需要传输到下位机,以供下位机在启动通信主流程时读取配置,软件因此设计了FTP下载文件功能,用户点击菜单的“下载”按钮,即可完成文件下载。程序中CFtpClient为FTP的封装类,该类中包含FTP的链接、断开、设置目录、删除目录、下载目录共5个函数。
4.4 主通信架构
目前国内大多数厂家的通信管理单元设计都采用“协议→通信接口→设备”的架构模式,每个通信接口对应一个协议,此类设计存在的一个问题就是当一个通信接口下存在不同协议的设备时(总线式通信模式时经常出现),通信管理单元将不能实现此功能,只能重新开辟一个新的通信接口给不同类型协议的设备。模拟数据系统的装置内程序按“通信接口(Comm)→设备(Term)→协议(Protocol)”的层次搭建通信架构,真实反映现场通信层次,如某通信接口下挂了M个设备,则在后台配置中配置该通信接口后,只需将这些设备属性中填写从属于该通信接口下即可;同一通信接口下的各个设备可采用不同的通信协议,通信协议与通信接口具有无关性。通信配置架构见图5。
4.5 下位机模拟数据实现
首先上位机发出启动指令,下位机接收到命令后,解析模拟数据,派发模拟数据至目标模拟设备,再由模拟设备解析模拟数据,通过设备协议生成相应的报文传输给主站,如图6所示。
4.6 硬件装置远程调试和配置
为更好地服务于开发人员以及应用人员对硬件装置的配置,在开发硬件的同时开发了远程调试工具。用户可通过PC连接到装置,配置软件可实现远程配置硬件接口参数、下载系统BIOS和Firm Ware、设置装置为程序调试模式。
5 继电保护报文模拟数据系统运行
继电保护报文模拟数据系统软件通过测试表明,模拟装置能及时响应模拟数据的发生,在设定时间内能规模化、顺序性向主站发送模拟信号,能有效检测主站有无信号丢失,同时模拟数据系统能够准确地模拟出变电站事故时顺序发生信号,系统能够保存模拟信号的配置和模拟信号输出结果,用户再次使用时只需要将模拟数据配置导入即可再次模拟信号的发生,同时也可以按时间检索模拟数据历史。
6 结束语
继电保护报文模拟数据系统的研发成功为检测变电站综合自动化系统性能提供了很好的检测平台,同时为后期分析变电站事故时提供了很好的分析工具。
若在保护报文模拟数据系统硬件中增加开关量硬节点和光敏传感器,则可检测综合自动化系统开关量变化至后台的反应时间;增加辅助无线模块,在无线模块中设计多组开入、开出量,使之能直接接入二次设备,这样则能不通过实际的开关操作检测二次设备的开入、开出情况,从而能检测综合自动化系统备投、顺控等逻辑操作。
摘要:继电保护报文模拟数据系统是继电保护功能测试的基础,也是变电站综合自动化仿真测试系统的组成部分。它同基于PLC模块的变电站自动化仿真测试系统一起完成对常规变电站自动化系统的系统级测试工作。对继电保护报文模拟数据系统构成进行概要说明,在此基础上进一步说明该报文模拟装置的软硬件构成和后台系统,指出实现报文模拟数据系统的技术要点。继电保护报文模拟数据系统的研发成功为检测变电站综合自动化系统性能提供了很好的检测平台,同时为后期分析变电站事故提供了很好的分析工具。
关键词:变电站自动化系统测试,保护报文模拟数据系统,模拟装置
参考文献
[1]李书臣,田慧欣.基于实时仿真技术变电站自动化系统的实现方案[J].青年科学,2010(6):269-270.
[2]黄曙,梁晓兵,高新华,等.变电站自动化系统实时仿真装置的设计与实现[J].继电器,2007,35(4):49-52.
[3]莫峻,谭建成.变电站过程总线采样值传输仿真系统[J].电力自动化设备,2010,30(5):101-103.
[4]谌争鸣,陈辉,陈卫,等.全数字化继电保护测试系统设计[J].电力自动化设备,2009,29(5):109-112.
[5]邓洁清,袁宇波.基于PLC模块的变电站自动化测试仿真系统的实现及应用[J].电力系统保护与控制,2009,37(24):157-160.