实时数据集成技术及其应用

  • 格式:pdf
  • 大小:185.70 KB
  • 文档页数:6

第39卷第2期2002年2月计算机研究与发展JO URN AL O F COM PU T ER RESEARCH AND DEV ELOPM EN TV o l.39,N o.2Feb.2002原稿收到日期:2001-02-01;修改稿收到日期:2001-08-22本文课题得到国家“九五”科技攻关项目基金(97-567-02-03)、国家自然科学重点基金(69833030)和中国科学院软件所青年创新基金(CX2K5003)资助实时数据集成技术及其应用金蓓弘 邵丹华 李 京 刘 昕(中国科学院软件研究所对象技术中心 北京 100080)(jbh @otcaix .iscas .ac .cn )摘 要 随着实时数据库在流程行业的应用和互联网的迅速发展,分布实时数据的采集和集成已成为一个迫切要解决的问题.介绍了实时数据集成的关键技术以及用该技术构造的实时数据集成平台ISRD IP,包括体系结构、全局模式、数据复制、桌面工具等.IS RD IP 平台已在石化行业使用.关键词 多数据库系统,实时数据,面向消息的中间件,软件集成中图法分类号 T P 311.132REAL -TIME DATA INTEG RATION TECHN IQUES AND ITS APPLICATIO NJIN Bei-Ho ng ,SHAO Dan-Hua,LI J ing ,a nd LIU Xin(Object Technology Cen ter ,Ins titute of Sof tware ,Chinese Academy of S ciences ,Beijing 100080)Abstract With the application of real -time da tabases in process industries and the rapid dev elo pm ent o f Internet,collection a nd integ ra tio n of distributed real-time da ta hav e becom e an urg ent issue.Key techniques for real-time data integ ra tion and cor respo nding real-tim e data integ ratio n pla tform ISRDIP are presented in this paper ,w hich include so ftw are architecture ,g lobal schema,da ta replicatio n and desktop too ls.ISRDIP has been applied to petrochemical industry.Key words m ulti-da tabase,real-time da ta,messag e-o riented middlew are,softwa re integ ratio n1 引 言随着企业信息化进程的推进,流程行业普遍采用PI,Info Plus,PHD 等实时数据库采集、存储和检索生产过程数据,企业的工程师、生产管理人员和其它有关人员利用实时数据库可对企业生产数据进行监控和分析.20世纪90年代中后期,计算机网络技术特别是互联网得到了迅猛发展,对实时数据库系统上的应用也提出了新的要求:用户要求利用网络获得位于不同地点的多个同构或异构的实时数据库中的实时数据,以便利用这些数据进行远程管理和决策分析.这类需求的核心是要建立一个实时数据集成平台.近些年对多数据库系统的研究主要集中在关系数据库和面向对象数据库[1,2],针对实时数据库的工作尚不多见.个别实时数据库产品只是或多或少地支持一些多数据库的功能,如Ho neyw ell 公司推出的Uniformance Database Sy stem,它支持对来自多个PHD 的实时数据的集成[3],又如OSI 公司的PI [4]提供PITo PI 接口,通过该接口,实时数据可从一个PI 系统传送到另一个PI 系统.国内还未见到在实时数据库环境中的多数据库系统,即实时数据集成平台.在国家“九五”重点科技攻关项目“石化应用软件典型示范工程及产品开发”的研制过程中,我们对实时数据的集成技术进行了研究,提出了基于MOM(面向消息的中间件)的分布式体系结构和相关的实现技术,并且实现了一个实时数据集成平台ISRDIP.该平台能屏蔽网络、操作系统和实时数据库系统的异构性,提供多个实时数据库集成的系统级服务,具有可扩展性,用户界面友好.该平台现已实际应用到了石化行业.本文主要描述ISRDIP平台中实时数据集成的关键技术.文章第1节给出了基于M OM的分布式体系结构的组成,第2节介绍了全局模式以及模式转换和模式集成的实现,第3节描述数据复制方法,说明了该方法如何满足实时数据的时间行为特性,第4节概述了桌面工具的功能,最后介绍了应用情况.2 基于MOM的分布式体系结构实时数据库是以“点”(也称“位号”)为核心来采集、存储企业的过程数据,我们根据点的不同性质,将点分成实时点和连续点两类.在需要获取该点的实时值时,称该点是实时点,在需要获取该点在一段时间范围的值时,称该点是连续点.连续点又分成历史点和永久点,有明确起始时间和终止时间的连续点称历史点,有明确起始时间、终止时间为当前时间的连续点称永久点.ISRDIP平台采用3层客户/服务器结构,整体结构如图1所示.服务器由两部分组成:数据源包装器和集成控制台.数据源包装器与各种实时数据库相连,负责采集、传送实时数据.集成控制台负责接收、存储、管理实时数据,它包含的服务器配置程序负责完成用户管理、参数配置、全局模式的建立和扩充.图1 系统组成 ISRDIP平台是个分布式系统,包装器和集成控制台之间的通信是影响系统整体性能的一个关键因素.RPC(远程过程调用)和M OM(面向消息的中间件)均可在异构的分布环境下提供通信框架.RPC采用的是面向连接的通信技术,主要提供的是同步通信功能.基于同步通信框架所构造的分布式系统是紧耦合型的,即当发送方需将信息发送到目的地时,若目的地的相应服务未启动,就会造成发送失败.而MOM采用无连接技术,可实现异步通信,当然它也可结合应用逻辑一起实现同步通信.除此之外,MOM可以运行在多种异构平台上,对应用程序的结构约束较少,利用M OM,程序之间不仅可以进行一对一通信,还可以进行一对多和多对一通信,或是上述多种方式的组合.实时数据集成平台,在网络通畅的情况下,要保证消息(命令和数据)通信的实时性,在网络线路不稳定或断连的情况下,消息发送方要保证不会因此而阻塞系统运行,已发送消息不会因此丢失.另外实173 2期金蓓弘等:实时数据集成技术及其应用时数据集成平台应支持可扩展性,即实时数据库可动态加入,因此要求支持一对多的通信连接.基于上述需求,我们采用了面向消息的中间件ISM Q [5].ISM Q 是我们自己开发的面向消息的中间件,它使用消息队列(包括内存队列、持久队列和事务队列)作为消息的缓冲存储,其中持久队列用外存保存,具有高度的可靠性.ISM Q 进行消息转发时支持断点续传,避免了在较差网络环境下消息传输的“抖动问题”,同时,传输由操作日志控制,保证同一消息不会多次重复发送.另外,ISM Q 的接口还屏蔽了分布环境中异构网络和操作系统的差异,便于ISM Q 应用程序的移植.ISRDIP 平台采用了图2所示的通信框架.我们采用持久远程队列(远程队列是真正的目的地队列在本地的代理)传送连续点数据,包装器只需与本地的ISM Q 服务器相连,然后将消息存放到远程队列中.ISM Q 负责将远程队列中的消息送到远程目的地的队列上.接收方即集成控制台与当地的ISM Q 服务器相连,从本地队列中取消息.这样,即使集成控制台端的ISM Q 服务器未启动,包装器也可以成功地向集成控制台发送数据,而且保证向集成控制台发送的数据不丢失,保证了连续点数据的可靠性;另一方面,我们把集成控制台端的内存队列映射成包装器端的远程队列,并以此来传输实时点数据,这种工作方式成为提供实时点数据实时性的基础.图2 集成平台通信框架示意图 ISRDIP 平台的客户端包括3个具有图形界面的工具:状态发布工具、Ex cel Add-in 、Web 发布工具.它们通过TCP /IP Socket 与服务器进行通信,将用户请求传送到服务器,服务器在处理完请求后再将结果传回客户端.为了满足不同层次用户的需要,除了上述3个工具外,客户端还提供C ++的编程接口供用户开发定制的应用.3 全局模式ISRDIP 平台是一个具有全局模式的多数据库系统.采用全局模式,一方面可减少系统的接口数目,降低应用开发的复杂度;另一方面,也便于保持分布数据的一致性,提高系统的可用性.我们用扩展实体关系模型作为全局数据模型描述全局模式,全局模式主要包括三大类实体:记录成员数据库信息的实体;记录点信息(属性和值)的实体;控制数据复制情况的实体.在集成异构数据库的过程中,最关键的步骤是模式转换和模式集成[6].在ISRDIP 平台中,它们分别由数据源包装器和集成控制台完成.我们为每一类实时数据源实现了一个数据源包装器,模式转换的工作由它负责完成.从集成控制台传送过来的命令是用成员模式表示的,经过包装器转换成成员实时数据库能识别的命令后,传递给成员数据库.成员数据库根据自己的编程接口和查询能力处理命令,然后将处理的结果数据返回,经过数据源包装器的转换,数据变成集成控制台所能识别的数据格式.为完成这两个转换过程,包装器需要知道局部模式的对象和成员模式的相应对象之间的映射关系.映射关系可以直接蕴涵在每个包装器程序的内部逻辑中,也可以作为单独的对象存储起来.我们采用的是第2种方法,在实现上运用了设计模式(desig n pa ttern )[7]中的桥接(bridg e )模式.174计算机研究与发展2002年为了提高数据的实时性,包装器以增量方式完成模式转换工作.包装器设置了定时器,以增量方式完成命令处理、数据检索和数据转换.数据检索和数据转换又各自细分成针对实时点数据和连续点数据两部分.包装器在一个定时器时间间隔内,首先处理命令,然后获取并发送实时点数据,在剩下的时间里,获取并发送连续点数据,一般情况下,连续点数据的获取和发送需经过多个时间周期分批完成.定时器周期由本地系统管理员根据实时点的数量和实时性要求设定,定时器周期也是整个平台所能支持的对本地实时点数据的最小刷新周期.集成控制台完成从成员模式到全局模式的集成.集成控制台的命令处理组件在接收到客户的命令请求后,根据全局模式中的映射信息,将其分解成一个或多个成员模式的命令并最终转发给各成员数据库执行.而集成控制台中的数据拟合组件则先将来自各成员模式的数据进行分类处理(如复制控制数据放入内存中的相关对象中,成员数据库的场地信息等在存入数据库后又在内存缓存保留了备份),然后数据拟合组件统一对外提供基于对象的访问接口.这样,经过数据拟合组件的整合,客户请求的返回数据好像是从一个单一的数据库系统中取得的.全局模式是集成各个成员模式得到的.成员模式集成到全局模式时,需解决成员模式之间存在的各种语义冲突,包括:(1)位号名字的冲突.为此,我们引入全局名字,全局名字由场地名和位号名组成.(2)结构冲突,主要是对同一语义的对象在不同实时数据库中用不同的数据类型表示.为此,我们建立了必要的映射关系.(3)数据丢失冲突,如不同的成员数据库采用不同的度量精度.为此,我们给出了数据的精度、度量单位的约定规则,避免数据因为隐含的约定不一致而造成数据精度的丢失.在集成控制台、包装器、实时数据库构成的分布实时环境中存在时钟不同步问题,除了由系统管理员定期进行时钟同步外,我们在系统实现中采用了下面这些解决方法:(1)以成员数据库的时钟为基准取实时点数据,保证了实时点数据采集的有效性;(2)以包装器的时间为控制基准去取新生成的历史点数据,避免了重复多次检索和传输同一历史点数据.全局模式支持系统的可扩展性.当在ISRDIP 平台中新增一个实时数据库时,管理员只需先为它安装ISM Q服务器和针对该类实时数据库的数据源包装器.然后在集成控制台上,使用全局模式的管理工具即服务器配置程序增加新数据源的配置.整个过程不用修改系统程序.4 数据复制数据复制是在分布数据环境下数据库为提高数据访问性能而采用的技术.关系数据库的数据复制技术主要有两大类:基于消息的复制技术和基于连接的复制技术.其中,基于消息的复制技术先捕获数据值的变化,然后将变化的数据存储在一个或多个历史队列中,最后通过电子邮件、FTP、消息队列或类似的技术进行数据传送,完成复制过程;基于连接的复制技术是在一次复制源-复制地的连接(也称会话)中,根据复制控制表来判定数据是否发生了变化,然后直接从数据库中读取最新的数据,再将它们发送到复制目的地.关系数据库环境和实时数据库环境是有所不同的,例如,在关系数据库中,数据变化的检测通常是基于日志或触发器的;而在实时数据库中,强调了时间的概念,每个实时数据都伴有一个时间戳,表示记录数据的时间,对实时数据的操作主要是追加操作,对实时数据的查询相对简单.对实时数据进行复制需要解决的问题包括:只复制必要的数据,复制全部实时数据显然是个低效的策略;能自动检测数据的变化并捕获这些变化的数据;提供健壮性,它包括:(1)能自动解决部分复制故障;(2)提供常规的复制管理方法.在基于消息的复制技术和基于连接的复制技术的基础上,根据实时数据的特点,我们设计了一个实时数据复制算法.算法的主要流程如下:(1)集成控制台收集客户要求(包括实时点和连续点的复制要求),填入复制信息表.(2)集成控制台将复制信息表分解后发布到各个包装器,并维护两者复制控制信息的一致,包括复制控制信息的增、删、改、保存.(3)包装器周期性检测要复制的数据是否发生变化,并将当前数据改变的情况记录在复制信息表中.这里数据的变化包括数据值的变化和点配置发生的变化.(4)包装器从实时数据库中将变化的数据取出,放入ISM Q队列,然后通过基于ISM Q的通信框架传送到集成控制台.(5)集成控制台根据到达的复制数据量动态启动数据接1752期金蓓弘等:实时数据集成技术及其应用收线程,接收线程首先对队列中的复制数据进行过滤,然后将复制的实时点数据送入内存缓存,连续点数据存入集成数据库.过滤机制用于检查队列中刚刚到达的实时点数据,如果它的时间戳早于缓存当前的实时点,那么它就被过滤掉,这样,客户端也就不可能取得或显示时序颠倒的实时点数据.(6)对客户请求的回答:如果客户端所请求的实时点数据未到达服务器端,服务器端回答“unknow n”,如果客户端所请求的连续点数据未到达服务器端,服务器端回答“unr eached”,如果是部分数据到达,那么服务器将已复制的连续点值回送客户端,并告之数据未复制完.服务器端控制一次回送给客户端的连续点值的数量,以避免堆栈溢出.实时点数据的复制除了有时序上的要求之外,还有实时性要求.我们的数据复制方法属于异步复制方法,异步复制方法可以使用定时器、代理或事件/事件组合来触发数据复制.我们的数据复制是根据定时器调度的,数据的复制有一定的时间延迟.考虑实时点数据从产生到复制到服务器端的时间延迟.这部分时间延迟由4部分时间组成:(1)包装器的定时器周期;(2)数据从实时库取出放入包装器端ISM Q队列,到ISM Q发送出该数据所花的时间;(3)网络传输时间;(4)数据接收线程将数据从集成控制台端的ISM Q内存队列取出,到放入内部数据缓存所花的时间.其中,第1,2,4部分为运行ISRDIP平台而带来的时间延迟.ISM Q的发送队列是一个优先持久队列,待发送的消息按优先级排队.由于实时点数据的队列优先级高于连续点数据所在的队列,所以每次有实时点数据进入发送队列后,ISM Q将它排到当前正在发送的消息后面.若当前正在发送的消息是连续点数据,那么会带来额外的时间延迟.存放连续点数据的消息,其大小由一次打包到一个消息中的点数决定.因为后者是一个系统可调控值,所以这种延迟是可控制的.我们经过大量的实地时间测量,认为上述时间延迟是应用可接受的.在一个典型应用环境中,系统要从一个成员数据库如PI中取300个实时点数据,定时器周期设为6000m s(这个周期足以发送完300个实时点值,还有时间用于发送连续点数据值),每100个实时点打包成一个消息,连续点数据也是100个点值打包成一个消息.那么,从实时点值的产生,到所有的实时点值到达系统集成控制台的内部缓存,扣除正常的网络传输时间,复制这300个实时点数据所需的额外时间延迟最大不超过12000ms[8,9].上述复制技术还用于连续点的复制,其中对永久点的复制实质上是实现了数据预取功能.所实现的数据预取可通过下例说明:用户要求经常查看在当前时刻前一天到当前时刻这一范围的某个点的趋势(用户操作步骤是定义并保存该时间段的趋势图).这时,服务器首先把上述要求分解成一个实时点的数据复制请求和一个永久点的数据复制请求,然后获取对应的连续点数据和实时点数据,客户端进行数据拟合后将趋势图显示给用户.由于服务器把这个点定义成要复制的永久点,所以该点数据一直以增量方式被复制到服务器.用户可能在几天以后再次打开该趋势图,这时,服务器就从本地获得已被预取的数据,对用户请求的响应速度可有效提高.在集成控制台上的服务器配置工具可增、删、改被复制的点的配置.这样,在必要的时候,可由管理员进行人工干预,保证实时数据的一致性和完整性,而复制过程中的通信故障可由ISM Q通过数据重传自动解决.集成控制台和包装器均提供有日志,以可读正文格式记录各种复制信息,用于数据审计和错误跟踪.5 桌面工具状态发布工具可设置和显示3种类型的图: PFD图(过程流程图)、趋势图和报警图.在状态发布工具中,用户可以把过程数据按照它内在的物理或逻辑关系编辑、组织成PFD图,PFD图除了可以显示来自不同实时数据库的实时数据,还可以放置其它静态图元,如按钮、标签等.用户通过PFD图可以对企业的过程数据进行实时监控.在状态发布工具中,用户可设置实时数据的客户端刷新周期,它与服务器端提供的数据采集刷新周期一起决定了最终呈现给用户的数据实时性.状态发布工具可以定义和显示趋势图,用户可查看来自一个/多个实时数据库的一个/多个点在任一时间段的数据,可回顾一个/多个点在过去任一时间点的数据值,可任意放大、缩小趋势图,借助于过程数据的趋势图,用户可以对实时数据进行分析和跟踪.状态发布工具还提供设置、筛选和查看运行状态报警的功能,现在的报警设置包括高限报警、低限报警、偏差报警和数值变化率报警.PFD图、趋势图和报警图在状态发布工具的工作空间中以树型结构组织,用户通过展开树型结构,可直接定位到所需的图结点上,各种图也能用按钮进行连接,在这种方式下,用户通过点击按钮以超连接(hyperlink)方式浏览各种数据.另外,状态发布工具还是一个OLE自动服务器,因此,趋势图可以输出到任一个OLE自176计算机研究与发展2002年动客户如Wo rd中,供用户形成有关的文档.Ex cel Add-in扩展了Excel的功能,使得用户可在Ex cel中通过扩展的菜单导入各种实时数据.现在可导入的数据包括点的实时值、点的计算值(一段时间的历史值/平均值/最高值/最低值)、点的属性等.有了这些数据,用户可利用Ex cel的功能方便地对实时数据进行各种数据分析或编写各种数据报告.Web发布工具和我们自己开发的W eb应用服务器框架WebFrame[10]中间件协同工作,使得用户可在普通浏览器界面上浏览趋势图.6 应用情况采用本文叙述的实时数据集成技术所构造的ISRDIP平台已在Window s98/N T环境下开发完毕.该平台引入了松耦合型的基于消息队列中间件的分布式体系结构;采用全局模式并通过模式转换和模式集成屏蔽了实时数据库的异构性;解决了实时数据的复制问题,保证分布实时数据的可达性、一致性.该平台现已应用到“石化应用软件典型示范工程及产品开发”项目中,用它实际构造了“工艺单元运行状态数据库系统”.该系统在中国石油化工股份公司炼化生产厂原有的实时数据库之上,通过广域网,将主要生产装置的重要工艺单元运行状态数据经过整理后,发往公司总部,并加载到公司总部的数据库中.经授权的用户可以专用方式或浏览器方式浏览工艺单元当前或历史的运行状态.目前该系统在中石化集团公司有关炼油厂完成了应用实施,已交由中石化集团公司总部运行.通过工艺单元运行状态数据库系统,中石化集团公司能实现对设备的远程诊断,能依靠准确、可靠的实时数据进一步做工艺改进、安全管理、质量管理、预测分析和决策支持,提高企业的应变和创新能力.我们将从以下两个方面完善ISRDIP平台:一方面将继续对ISRDIP平台进行性能优化,提高实时数据的可用性;另一方面,将逐步增加系统的数据挖掘功能.下一步的工作将围绕这两方面展开,以便更好地为实际应用服务.参考文献1Omran A Bu khres,Ahm ed K Elmagarmid.Ob ject-Oriented M ultidatabas e Sys tems.Englew ood Cliffs,N J:Prentice Hall, 19962M ary Tork Roth,Peter Schw arz.Don't scrap it,w rap it!Aw rapper arch itecture for legacy data sources.In:Proc of the 23rd VLDB Conf Ath ens.Greece,1997.266~2753Unifo rmance Database System.Phoenix:Honeyw ell Inc,1999 4PI Data Archiv e for N T and Unix Reference M anual.San Leand ro:O SI Software Inc,19995消息队列通信中间件ISM Q.中国科学院软件所对象技术中心,技术报告,2000(M es sage queuing middlew are ISM Q(in Chines e).Object Tech nology Cen ter,Ins titute of Softw are,Chines e Acad emy of Seiences,Tech Rep,2000)6Amit P Sheth,J ames A Larson.Federated database s ystems for managing dis tributed h eterogeneous,and au tonomous database.ACM Computing Su rveys,1990,22(3):183~236 7Erich Gamma et al.Design Patterns,Elem ents of Reusable Object-Oriented Softw are.Reading,M A:Addis on-W esley, 19958消息队列通信中间件ISM Q.中国科学院软件所对象技术中心,自测报告,2000(M es sage queuing middlew are ISM Q(in Chines e).Object Tech nology Cen ter,Ins titute of Softw are,Chines e Acad emy of Seiences,Testing Report,2000)9工艺单元运行状态数据库系统.中国科学院软件所对象技术中心,自测报告,2000(Running s tates database s ys tem for process units(in Chines e).Object Tech nology Cen ter,Ins titute of Softw are, Chines e Academ y of Seiences,Tes ting Report,2000)10W eb应用服务器框架Web Frame.中国科学院软件所对象技术中心,技术报告,2000(W eb application s erver framew ork W eb Frame(in Chines e).Object Tech nology Center,Ins titute of Software,Chin ese Academy of Seiences,Tech Rep,2000) 金蓓弘 女,1967年生,博士,副研究员,主要研究方向为分布式计算、数据库实现技术. 邵丹华 男,1971年生,硕士,助理研究员,主要研究方向为消息通信中间件、分布式对象技术. 李 京 男,1966年生,博士,研究员,博士生导师,主要研究方向为分布式计算、软件工程. 刘 昕 男,1976年生,硕士,主要研究方向为分布式计算.1772期金蓓弘等:实时数据集成技术及其应用。