eDNA数据库及其数据处理技术深入研究
2007-01-31 18:53:42 来源:
A-
A+
电力18讯: 作者:李薇 林中达 来源:中国电厂设备
摘要:
本文重点介绍了美国Instep公司开发的eDNA(enterprise Distributed Network Architecture)实时数据库系统的结构特点、服务功能及数据处理技术。eDNA实时数据库系统以服务目录为核心,以安全服务为外围,围绕各个服务建立起安全的网络。各个服务独立但相互协作地为客户服务,彼此不相互依附。eDNA系统分为服务器、客户端和接口三个方面,分别提供采集和存储现场实时数据、浏览和处理生产信息及数据库的通信等功能。同时,本文详细介绍了eDNA实时数据库系统所采用的以哈夫曼编码为基础的无损数据压缩方法。最后,本文简要叙述了其在电厂监控信息系统中所起到的重要作用,为数据库开发人员理解该系统提供了第一手资料。
关键词:eDNA数据库; 数据处理; 监控信息系统
引言
随着电力体制改革的深入开展,厂网分开、竞价上网已成为发展的必然趋势。为实现发电企业全厂整体效益的提高,综合考虑管理信息系统和生产控制系统的集成,真正实现管控一体化成为关键。目前电厂中的分布式控制系统DCS(Distributed Control System)是为机组(车间)级自动化服务的,而数据分散在不同的计算机或控制系统上,不能统一地存储和使用。于是电厂监控信息系统SIS(Supervisory Information System)应运而生。它一方面建立了统一的数据平台,在DCS和MIS之间搭建起信息沟通的桥梁;另一方面为火电厂的经济安全运行提供了有力保障。
在SIS体系结构中,实时数据库是核心。作为大型实时数据库和历史数据库,eDNA (enterprise Distributed Network Architecture)数据库系统可在线存储每个工艺过程点的多年数据,并提供清晰、精确的操作情况画面,用户既可浏览电厂当前的生产情况,也可回顾过去的生产情况,可以说eDNA完全符合SIS系统数据库要求容量大、可靠性高和响应速度快的要求。
1 eDNA建构及组件构架
eDNA数据库是一种基于P2P(Peer to Peer),核心很小,可以灵活扩展的分布式实时数据库系统。
eDNA数据库系统在逻辑功能上分为服务器、客户端和接口。eDNA服务器服务包括目录服务、安全服务、BOSS服务、历史服务、应用服务、报警服务、PUSH服务、数据服务和通知服务等各组件,提供现场实时数据的采集和存储;eDNA客户端服务包括Alarm View、eDNA View、eLink、EzTrend和计算服务等组件,最大限度地浏览和处理生产信息;eDNA接口软件为和eDNA数据库的通信提供了有力支持。eDNA以目录服务为中心,以安全服务为外围,将eDNA各个组件服务包含在一个安全网络内,构成eDNA的安全网络。eDNA的管理员和一般用户都是经过eDNA安全服务的审核才能对eDNA数据库进行访问。
在物理上,所有的eDNA服务都是真正的分布式的,即其可以安装在一台或多台计算机上。eDNA各个组件服务可以分布在物理网络的任何一个地方,其各个组件服务之间互相通讯构成eDNA虚拟网络。因此,eDNA的服务端和客户端并不像其他数据库系统那样区分的十分明确,这样使得数据库的使用更加灵活。
图1 eDNA服务分布
目录服务、安全服务及其他服务的逻辑关系如图1所示。从该图中可以看出,在整个eDNA系统中,各个服务在概念上讲是平等的,但在实际中由于各个服务所起的作用、功能不同,所以所在的物理位置也不一样。目录服务在逻辑上是处于中心位置的,也就是说,它是eDNA系统内所有服务中最核心的服务。在启动eDNA其他服务之前,必须首先启动目录服务,然后由目录服务产生一系列目录列表,用来引导各种类型的eDNA服务的数据请求。目录服务一旦建立,它将自动创建本地数据库文件Svcdir.db,将添加到系统的各项服务的信息(如服务名,描述,类型,创建日期等等)保存下来。对服务目录配置完成之后,管理员可以进行查看、修改、添加及删除服务条目的工作。服务目录可以在不同的计算机上创建,其应用灵活方便。
如果一个用户想查询某个点一段时间的数据,用户将先发请求给服务目录,服务目录通过里面包含的信息找到包含这些数据的服务的地址,然后返回给用户,用户因此得以与所需的服务通讯,获得想要的信息。其通讯架构如图2所示。
图2 通讯架构
2 eDNA系统主要服务功能
2.1 eDNA服务端服务
eDNA系统除了包括目录服务,还包含了安全服务、BOSS服务、历史服务、配置管理服务、应用服务、报警服务、PUSH服务、数据服务、通知服务等九项实时服务。
a.目录服务:位于网络中,并通过网络向各种实时服务和管理服务发出响应的服务。每一个目录服务包括一系列的列表,用来引导各种类型的eDNA服务的数据请求。
b.安全服务:提供了一种控制和管理用户访问权限的手段的服务。该服务包含了按照不同访问权限排列的各个列表。它保证了eDNA的规范运行,杜绝了对eDNA的非法访问。
c.BOSS服务:实现远程网络管理和操作的网络管理工具,管理eDNA中所有的服务。它可以实现注册和反注册一个服务、创建和删除服务、开始和停止服务、浏览和控制服务、提供服务列表和事件等功能。
d.历史服务:提供长期的、在线的、实时的数据保存与恢复的服务。
e.配置管理服务:eDNA数据库中的每个站点的管理部门,任何一个站点的管理都必须经过配置管理服务。
f.应用服务:向eDNA应用程序提供二进制的对象或文件的文件服务器的服务。它可以管理各种各样的二进制对象,这包括图片、View工具、微软Word文档以及其他应用程序。
g.报警服务:管理一系列报警数据点,并且可以显示和操作数据的服务。
h.PUSH服务:可以使eDNA用户和应用程序将数据(各种设备产生的数据和手工制造的数据)添加到eDNA系统中,并可以通过标准的eDNA数据获取方法来得到当前的实时数据的服务。
i.数据服务:获取配置信息,并将数据发送至历史服务的服务。
j.通知服务:将系统目前的各种状态通过传呼机和电子邮件的方式通知给关键人物的服务。
2.2 eDNA客户端服务
eDNA客户端服务包含Alarm View、eDNA View、eLink、EzTrend、计算服务,为客户浏览和处理生产数据提供了方便快捷的方式。
a.Alarm View:系统用户可以通过该服务查看报警信息。
b.eDNA View:提供对标准办公产品如微软Word 和Excel以及报表工具例如水晶报表的快捷接口界面。
c.eLink:获取和使用eDNA系统的当前数据信息、历史信息和配置信息等等。
d.EzTrend:使用其通过eDNA分散网络结构和eDNA系统通讯或者在eDNA系统服务器上eDNA趋势以趋势和图表的形式显示eDNA历史数据。
e.计算服务:允许用户对来自eDNA其他实时服务点构成的组合式进行计算并提供了丰富的函数和高级方式来定义、添加和访问这些函数。
2.3 eDNA系统中各服务的关系
在eDNA系统中,服务目录作为系统的核心必须先启动,其它eDNA服务在eDNA系统中的地位是平等的,每个eDNA服务都可以不依赖其他eDNA服务而启动。但在实际情况中需要不同的eDNA服务一同参与,协同工作。例如在实际中,客户会要求从生产系统不停的把数据送到eDNA系统,并且将数据保存起来,以备后用,同时生产系统中各个测点的报警信息也需发布出来。
完成此功能必须要下面几个功能模块来完成:
a) 采集生产系统数据并将数据送到eDNA系统的接口程序。
b) 接收处理生产系统数据的eDNA PUSH服务。
c) 管理实时服务中测点标签信息的eDNA配置管理服务。
d) 管理并保存生产系统数据的eDNA历史服务。
e) 接收发布生产系统测点报警的eDNA报警服务。
f) 联系这些功能模块并让它们之间互通的eDNA服务目录。
g) 保证任务安全可靠运行,杜绝非法管理,破坏的eDNA安全服务。
由上面的分析可知:完成此项任务需要启动接口程序、PUSH服务、配置管理服务、历史服务、报警服务。这些eDNA的功能模块相互协作,共同完成一项工作。
由此可知:eDNA各服务之间在个体上是独立的,不依赖于其他的eDNA服务,而在整体上是相互关联的。
2.4 eDNA接口软件
接口软件为现场和eDNA数据库的通信提供了有力的工具。接口分为三大类:定制接口为集散控制系统(DCS)和可编程逻辑控制器(PLC)等控制系统提供的专用接口;标准接口为提供支持工业标准的数据通信接口,如OPC,Modbus等;DNA-API(DNA-Application Programming Interface)为第三方软件与eDNA数据库通信提供的应用程序接口。
3 eDNA数据处理技术
通常的数据压缩算法可分为2大类:无损压缩和有损压缩。无损压缩在数据压缩和还原过程中,信息没有任何的损耗或失真,压缩效率比较低,一般用于文本数据、程序和特殊应用场合的图像数据压缩。有损压缩采用一些高效的有限失真压缩算法,大幅度减少冗余信息,压缩效率高于无损压缩,通常用于语音、图像和视频数据的压缩。[2]
eDNA系统选择的数据压缩算法是以哈夫曼编码为基础的无损压缩。
哈夫曼算法首先是对数据集合中进行统计分析,并且通过将数据添加到哈夫曼树中来实现。其优势在于:出现概率大的字符使用较少的位来描述,出现概率小的字符用较多的位来描述,这样充分节约了空间,使资源得到最优利用。
下面简单地介绍一下哈夫曼(Huffman)算法的实现过程。
一般地,假设有n个权值{W1,W2,……Wn},可以构造有n个叶子(终端)结点的二叉树,每个叶子结点带有权值Wi,其中路径长度WPL最小的二叉树称为哈夫曼树或最优二叉树,相应的算法称为哈夫曼算法。[3]其中:wi为第i个叶子结点的权值,li为从根结点到第i个叶子结点的路径长度,n为二叉树的叶子个数。如果将哈夫曼算法应用到数据传输中来就要将需传送的字符转换成由二进制的字符组成的字符串。假设D={d1,d2,……,dn}为需要编码的字符集合。设wi为di在文本中出现的次数。现在要求对D进行二进制编码。解决此问题的方法就是以wi为权值构造哈夫曼树。在生成的哈夫曼树中,令所有的左分支取编码为0,令所有的右分支取编码为1;则对每个叶子结点,都有唯一的一条从根结点出发的路径,将路径上各左右分支的编码顺序排序就得到了每个叶子结点所对应的字符的二进制编码。
例如表1所示的包含有1000个字符的集合。这个集合仅仅包含三个不同的字符‘a’‘b’‘c’。
表1 字符集
建立起一个哈夫曼解码树,要找到最少的两个数量(count),并用这两个数量建立起一个节点,并将两个数值(value)分别作为它的两个分支。如图3。重复该过程直到树已经覆盖了整个数据集合。如图4。当编码的时候,使用每一位来分解树。用0表示树的左半边,用1表示树的右半边,结果如表2。
表2 哈夫曼编码结果
从表中可以看出,只需要一位‘1’就可表示字符‘a’。而‘b’和‘c’则需要两位来表示,相应的为‘00’和‘01’。如果使用8位的ASCII码来保存这1000个字符需要1000字节,而使用上述的方法来保存这1000个字符的话仅需要132个字节:
950×1+21×2+29×2=1050 bits=132 bytes
更进一步的压缩可以通过对重复的部分添加新的枝叶来实现。
解码过程和编码过程相反,下面简单介绍一下。
从树根开始,读入压缩数据流的第一位:如果是0,就沿树的下分支进行;如果是1,则沿上分支继续。读入下一位,并向树叶方向前进一节。当解码器到达一个树叶,它就找到了原始的、未压缩的符号码字(通常是其ASCII码),并将其送出。就这样,再从树根开始,对另外一位进行解码。[3]
4 结语
电厂SIS系统的应用是建立在分布式实时数据库平台之上,应用数据来自生产现场DCS,PLC和其他工程控制系统的PCS。eDNA实时数据库通过其服务端、客户端及各种数据采集接口的协作,以目录服务为核心,用高效和可靠的手段从现场收集大量的实时生产数据,并保存起来,同时通过通用接口从管理系统中获得管理数据以指导生产管理。
eDNA实时数据库作为整个SIS系统的核心,使得电力企业高层管理人士可以在最短的时间里获取企业生产状况的第一手资料,从而为企业的定价策略提供科学的决策依据。利用eDNA提供的历史数据,企业管理者能够审视企业发展过程中的不足之处,从而为企业的发展指明正确方向。
【参考文献】:
[1] 韩相军,郭春英,浅谈哈夫曼树及其应用[J].濮阳教育学院学报,2001.8,Vol.14,No.3:45-49.Han Xiangjun,Guo Chunying,A brief representation of the application of Huffman tree[J].Journal of Puyang College of Education,Aug.2001, Vol.14,No.3:45-49.
[2] 闫阳,张正炳,浅谈数据压缩技术[J].长江大学学报(自然版),2004.12,Vol.1,No.4:120-122.Yan Yang,Zhang Zhengbing,A brief representation of data compression principle[J].Journal of Yangtze University(Natural Science Edition),Dec.2004,Vol.1,No.4:120-122.
[3] David Salomon[美]著吴乐南 等译 数据压缩原理与应用(第二版)[M],北京,电子工业出版社,2003.David Salomon[U.S.A]writen,Wu Lenan,etc translated,The principle and application of data compression(Sec),Beijing, Publishing House Of Electronics Industry,2003.
作者简介
李薇(1982-),女,汉族,天津塘沽人,硕士研究生,主要研究方向为火电厂综合自动化与信息化。
林中达(1945-),男,汉族,福建莆田人,博士生导师,从事火电厂综合自动化与信息化等方面的科研和教学工作。
摘要:
本文重点介绍了美国Instep公司开发的eDNA(enterprise Distributed Network Architecture)实时数据库系统的结构特点、服务功能及数据处理技术。eDNA实时数据库系统以服务目录为核心,以安全服务为外围,围绕各个服务建立起安全的网络。各个服务独立但相互协作地为客户服务,彼此不相互依附。eDNA系统分为服务器、客户端和接口三个方面,分别提供采集和存储现场实时数据、浏览和处理生产信息及数据库的通信等功能。同时,本文详细介绍了eDNA实时数据库系统所采用的以哈夫曼编码为基础的无损数据压缩方法。最后,本文简要叙述了其在电厂监控信息系统中所起到的重要作用,为数据库开发人员理解该系统提供了第一手资料。
关键词:eDNA数据库; 数据处理; 监控信息系统
引言
随着电力体制改革的深入开展,厂网分开、竞价上网已成为发展的必然趋势。为实现发电企业全厂整体效益的提高,综合考虑管理信息系统和生产控制系统的集成,真正实现管控一体化成为关键。目前电厂中的分布式控制系统DCS(Distributed Control System)是为机组(车间)级自动化服务的,而数据分散在不同的计算机或控制系统上,不能统一地存储和使用。于是电厂监控信息系统SIS(Supervisory Information System)应运而生。它一方面建立了统一的数据平台,在DCS和MIS之间搭建起信息沟通的桥梁;另一方面为火电厂的经济安全运行提供了有力保障。
在SIS体系结构中,实时数据库是核心。作为大型实时数据库和历史数据库,eDNA (enterprise Distributed Network Architecture)数据库系统可在线存储每个工艺过程点的多年数据,并提供清晰、精确的操作情况画面,用户既可浏览电厂当前的生产情况,也可回顾过去的生产情况,可以说eDNA完全符合SIS系统数据库要求容量大、可靠性高和响应速度快的要求。
1 eDNA建构及组件构架
eDNA数据库是一种基于P2P(Peer to Peer),核心很小,可以灵活扩展的分布式实时数据库系统。
eDNA数据库系统在逻辑功能上分为服务器、客户端和接口。eDNA服务器服务包括目录服务、安全服务、BOSS服务、历史服务、应用服务、报警服务、PUSH服务、数据服务和通知服务等各组件,提供现场实时数据的采集和存储;eDNA客户端服务包括Alarm View、eDNA View、eLink、EzTrend和计算服务等组件,最大限度地浏览和处理生产信息;eDNA接口软件为和eDNA数据库的通信提供了有力支持。eDNA以目录服务为中心,以安全服务为外围,将eDNA各个组件服务包含在一个安全网络内,构成eDNA的安全网络。eDNA的管理员和一般用户都是经过eDNA安全服务的审核才能对eDNA数据库进行访问。
在物理上,所有的eDNA服务都是真正的分布式的,即其可以安装在一台或多台计算机上。eDNA各个组件服务可以分布在物理网络的任何一个地方,其各个组件服务之间互相通讯构成eDNA虚拟网络。因此,eDNA的服务端和客户端并不像其他数据库系统那样区分的十分明确,这样使得数据库的使用更加灵活。
图1 eDNA服务分布
目录服务、安全服务及其他服务的逻辑关系如图1所示。从该图中可以看出,在整个eDNA系统中,各个服务在概念上讲是平等的,但在实际中由于各个服务所起的作用、功能不同,所以所在的物理位置也不一样。目录服务在逻辑上是处于中心位置的,也就是说,它是eDNA系统内所有服务中最核心的服务。在启动eDNA其他服务之前,必须首先启动目录服务,然后由目录服务产生一系列目录列表,用来引导各种类型的eDNA服务的数据请求。目录服务一旦建立,它将自动创建本地数据库文件Svcdir.db,将添加到系统的各项服务的信息(如服务名,描述,类型,创建日期等等)保存下来。对服务目录配置完成之后,管理员可以进行查看、修改、添加及删除服务条目的工作。服务目录可以在不同的计算机上创建,其应用灵活方便。
如果一个用户想查询某个点一段时间的数据,用户将先发请求给服务目录,服务目录通过里面包含的信息找到包含这些数据的服务的地址,然后返回给用户,用户因此得以与所需的服务通讯,获得想要的信息。其通讯架构如图2所示。
图2 通讯架构
2 eDNA系统主要服务功能
2.1 eDNA服务端服务
eDNA系统除了包括目录服务,还包含了安全服务、BOSS服务、历史服务、配置管理服务、应用服务、报警服务、PUSH服务、数据服务、通知服务等九项实时服务。
a.目录服务:位于网络中,并通过网络向各种实时服务和管理服务发出响应的服务。每一个目录服务包括一系列的列表,用来引导各种类型的eDNA服务的数据请求。
b.安全服务:提供了一种控制和管理用户访问权限的手段的服务。该服务包含了按照不同访问权限排列的各个列表。它保证了eDNA的规范运行,杜绝了对eDNA的非法访问。
c.BOSS服务:实现远程网络管理和操作的网络管理工具,管理eDNA中所有的服务。它可以实现注册和反注册一个服务、创建和删除服务、开始和停止服务、浏览和控制服务、提供服务列表和事件等功能。
d.历史服务:提供长期的、在线的、实时的数据保存与恢复的服务。
e.配置管理服务:eDNA数据库中的每个站点的管理部门,任何一个站点的管理都必须经过配置管理服务。
f.应用服务:向eDNA应用程序提供二进制的对象或文件的文件服务器的服务。它可以管理各种各样的二进制对象,这包括图片、View工具、微软Word文档以及其他应用程序。
g.报警服务:管理一系列报警数据点,并且可以显示和操作数据的服务。
h.PUSH服务:可以使eDNA用户和应用程序将数据(各种设备产生的数据和手工制造的数据)添加到eDNA系统中,并可以通过标准的eDNA数据获取方法来得到当前的实时数据的服务。
i.数据服务:获取配置信息,并将数据发送至历史服务的服务。
j.通知服务:将系统目前的各种状态通过传呼机和电子邮件的方式通知给关键人物的服务。
2.2 eDNA客户端服务
eDNA客户端服务包含Alarm View、eDNA View、eLink、EzTrend、计算服务,为客户浏览和处理生产数据提供了方便快捷的方式。
a.Alarm View:系统用户可以通过该服务查看报警信息。
b.eDNA View:提供对标准办公产品如微软Word 和Excel以及报表工具例如水晶报表的快捷接口界面。
c.eLink:获取和使用eDNA系统的当前数据信息、历史信息和配置信息等等。
d.EzTrend:使用其通过eDNA分散网络结构和eDNA系统通讯或者在eDNA系统服务器上eDNA趋势以趋势和图表的形式显示eDNA历史数据。
e.计算服务:允许用户对来自eDNA其他实时服务点构成的组合式进行计算并提供了丰富的函数和高级方式来定义、添加和访问这些函数。
2.3 eDNA系统中各服务的关系
在eDNA系统中,服务目录作为系统的核心必须先启动,其它eDNA服务在eDNA系统中的地位是平等的,每个eDNA服务都可以不依赖其他eDNA服务而启动。但在实际情况中需要不同的eDNA服务一同参与,协同工作。例如在实际中,客户会要求从生产系统不停的把数据送到eDNA系统,并且将数据保存起来,以备后用,同时生产系统中各个测点的报警信息也需发布出来。
完成此功能必须要下面几个功能模块来完成:
a) 采集生产系统数据并将数据送到eDNA系统的接口程序。
b) 接收处理生产系统数据的eDNA PUSH服务。
c) 管理实时服务中测点标签信息的eDNA配置管理服务。
d) 管理并保存生产系统数据的eDNA历史服务。
e) 接收发布生产系统测点报警的eDNA报警服务。
f) 联系这些功能模块并让它们之间互通的eDNA服务目录。
g) 保证任务安全可靠运行,杜绝非法管理,破坏的eDNA安全服务。
由上面的分析可知:完成此项任务需要启动接口程序、PUSH服务、配置管理服务、历史服务、报警服务。这些eDNA的功能模块相互协作,共同完成一项工作。
由此可知:eDNA各服务之间在个体上是独立的,不依赖于其他的eDNA服务,而在整体上是相互关联的。
2.4 eDNA接口软件
接口软件为现场和eDNA数据库的通信提供了有力的工具。接口分为三大类:定制接口为集散控制系统(DCS)和可编程逻辑控制器(PLC)等控制系统提供的专用接口;标准接口为提供支持工业标准的数据通信接口,如OPC,Modbus等;DNA-API(DNA-Application Programming Interface)为第三方软件与eDNA数据库通信提供的应用程序接口。
3 eDNA数据处理技术
通常的数据压缩算法可分为2大类:无损压缩和有损压缩。无损压缩在数据压缩和还原过程中,信息没有任何的损耗或失真,压缩效率比较低,一般用于文本数据、程序和特殊应用场合的图像数据压缩。有损压缩采用一些高效的有限失真压缩算法,大幅度减少冗余信息,压缩效率高于无损压缩,通常用于语音、图像和视频数据的压缩。[2]
eDNA系统选择的数据压缩算法是以哈夫曼编码为基础的无损压缩。
哈夫曼算法首先是对数据集合中进行统计分析,并且通过将数据添加到哈夫曼树中来实现。其优势在于:出现概率大的字符使用较少的位来描述,出现概率小的字符用较多的位来描述,这样充分节约了空间,使资源得到最优利用。
下面简单地介绍一下哈夫曼(Huffman)算法的实现过程。
一般地,假设有n个权值{W1,W2,……Wn},可以构造有n个叶子(终端)结点的二叉树,每个叶子结点带有权值Wi,其中路径长度WPL最小的二叉树称为哈夫曼树或最优二叉树,相应的算法称为哈夫曼算法。[3]其中:wi为第i个叶子结点的权值,li为从根结点到第i个叶子结点的路径长度,n为二叉树的叶子个数。如果将哈夫曼算法应用到数据传输中来就要将需传送的字符转换成由二进制的字符组成的字符串。假设D={d1,d2,……,dn}为需要编码的字符集合。设wi为di在文本中出现的次数。现在要求对D进行二进制编码。解决此问题的方法就是以wi为权值构造哈夫曼树。在生成的哈夫曼树中,令所有的左分支取编码为0,令所有的右分支取编码为1;则对每个叶子结点,都有唯一的一条从根结点出发的路径,将路径上各左右分支的编码顺序排序就得到了每个叶子结点所对应的字符的二进制编码。
例如表1所示的包含有1000个字符的集合。这个集合仅仅包含三个不同的字符‘a’‘b’‘c’。
表1 字符集
建立起一个哈夫曼解码树,要找到最少的两个数量(count),并用这两个数量建立起一个节点,并将两个数值(value)分别作为它的两个分支。如图3。重复该过程直到树已经覆盖了整个数据集合。如图4。当编码的时候,使用每一位来分解树。用0表示树的左半边,用1表示树的右半边,结果如表2。
表2 哈夫曼编码结果
从表中可以看出,只需要一位‘1’就可表示字符‘a’。而‘b’和‘c’则需要两位来表示,相应的为‘00’和‘01’。如果使用8位的ASCII码来保存这1000个字符需要1000字节,而使用上述的方法来保存这1000个字符的话仅需要132个字节:
950×1+21×2+29×2=1050 bits=132 bytes
更进一步的压缩可以通过对重复的部分添加新的枝叶来实现。
解码过程和编码过程相反,下面简单介绍一下。
从树根开始,读入压缩数据流的第一位:如果是0,就沿树的下分支进行;如果是1,则沿上分支继续。读入下一位,并向树叶方向前进一节。当解码器到达一个树叶,它就找到了原始的、未压缩的符号码字(通常是其ASCII码),并将其送出。就这样,再从树根开始,对另外一位进行解码。[3]
4 结语
电厂SIS系统的应用是建立在分布式实时数据库平台之上,应用数据来自生产现场DCS,PLC和其他工程控制系统的PCS。eDNA实时数据库通过其服务端、客户端及各种数据采集接口的协作,以目录服务为核心,用高效和可靠的手段从现场收集大量的实时生产数据,并保存起来,同时通过通用接口从管理系统中获得管理数据以指导生产管理。
eDNA实时数据库作为整个SIS系统的核心,使得电力企业高层管理人士可以在最短的时间里获取企业生产状况的第一手资料,从而为企业的定价策略提供科学的决策依据。利用eDNA提供的历史数据,企业管理者能够审视企业发展过程中的不足之处,从而为企业的发展指明正确方向。
【参考文献】:
[1] 韩相军,郭春英,浅谈哈夫曼树及其应用[J].濮阳教育学院学报,2001.8,Vol.14,No.3:45-49.Han Xiangjun,Guo Chunying,A brief representation of the application of Huffman tree[J].Journal of Puyang College of Education,Aug.2001, Vol.14,No.3:45-49.
[2] 闫阳,张正炳,浅谈数据压缩技术[J].长江大学学报(自然版),2004.12,Vol.1,No.4:120-122.Yan Yang,Zhang Zhengbing,A brief representation of data compression principle[J].Journal of Yangtze University(Natural Science Edition),Dec.2004,Vol.1,No.4:120-122.
[3] David Salomon[美]著吴乐南 等译 数据压缩原理与应用(第二版)[M],北京,电子工业出版社,2003.David Salomon[U.S.A]writen,Wu Lenan,etc translated,The principle and application of data compression(Sec),Beijing, Publishing House Of Electronics Industry,2003.
作者简介
李薇(1982-),女,汉族,天津塘沽人,硕士研究生,主要研究方向为火电厂综合自动化与信息化。
林中达(1945-),男,汉族,福建莆田人,博士生导师,从事火电厂综合自动化与信息化等方面的科研和教学工作。
评论
最新评论(0)
相关新闻:
-
无相关信息

