统一模型(精选8篇)
统一模型 篇1
1. 统一威胁管理(UTM)
统一威胁管理,最早由Fortinet公司在2002年提出。2004年9月美国著名的互联网数据中心(Internet Data Center,简称IDC)提出将防病毒、入侵检测和防火墙安全设备命名为统一威胁管理(Unified Threat Management,简称UTM)。由IDC提出的UTM是指由硬件、软件和网络技术组成的具有专门用途的设备,它主要提供一项或多项安全功能,将多种安全特性集成于一个硬设备里,构成一个标准的统一管理平台。
从定义的前半部分来看,众多安全厂商提出的多功能安全网关、综合安全网关、一体化安全设备等产品都可被划归到UTM产品的范畴;而从后半部分来看,UTM的概念还体现出在信息产业经过多年发展之后,对安全体系的整体认识和深刻理解。
目前,UTM常定义为由硬件、软件和网络技术组成的具有专门用途的设备,它主要提供一项或多项安全功能,同时将多种安全特性集成于一个硬件设备里,形成标准的统一威胁管理平台。
2. 承前启后——面向下一代安全
在过去,信息安全意味着防火墙、VPN、防病毒网关、上网行为管理等无数让人眼花缭乱的安全设备。它们各自负责信息安全的某一个部分,如防火墙就像一堵墙,可以依据访问规则过滤特定流量,而VPN则用来实现两端之间的通信安全。
随着信息化的发展,人们日益认识到:安全是一个体系问题。只具有某一种功能的设备不能保障信息安全。为了解决这个问题,同时兼顾那些已经上马了很多独立安全设备的机构的需要,一种权益之计诞生了——产品联动。联动指的是不同的安全设备之间通过特定的接口实现功能互动。最常见的联动例子如:IDS与防火墙之间的联动,IDS检测到异常网络流量,并通知与之联动的防火墙,由防火墙生成动态策略阻断该异常流量。联动的缺点和困难是显而易见的:首先是不同厂商的产品之间联动很困难;其次是由于分立产品最初的设计理念限制了其扩展性,就算能够实现联动,这种功能也非常的弱小。所以,联动只是权益之计。
真正的进展来自于统一威胁管理的出现,这是一个水到渠成的发展必然。业界关于UTM与之前分立安全产品的比喻就是“瑞士军刀”[1],如图1所示。
UTM的快速发展,得益于如下几个重要原因:[2]
威胁的多样化,安全的复杂性;
企业对安全成本的控制;
安全管理人员对安全管理的方便性要求。
无疑,UTM是一个迷人的概念,是面下一代安全机制的必然选择,其发展受到业界广泛的关注,并且在将来一段可见的时期内,将会是众多安全厂商“激战”的焦点。
3. 统一威胁管理的现状
依据IDC2009年市场数据,UTM在整体IT安全硬件市场中占到了17.9%。
IDC的数据显示,经过四年的发展,UTM产品在最初的狂热和金融危机时期短暂的沉寂之后,进入了平稳发展的阶段。2007-2009年UTM市场规模如下图所示:
从UTM的行业发展来看,2009年很多国际厂商都不同程度上遭遇到了不小的阻力。国内厂商由于政府行业的庇护,情况要乐观很多。出于安全防御需求、部署实施和成本预算的综合考虑,政府和企业对于安全有着“简单化”的需求,这些“简单化”需求表现在选择部署、策略实施、安全防御、管理维护等方面[3]。而在运营商、金融、电力等行业,由于网络统一规划性比较强以及对性能的特殊要求,对UTM抱着观望态度,尚没有形成大规模的普遍需求。
4. 研究统一威胁管理模型的理由
作为权威的第三方测评机构,中国评测一直走在行业和潮流的前端,对焦点领域和产品一直有敏锐的视觉和密切地关注,所以对UTM一直在持续研究。
目前UTM市场上各厂商的技术的混乱性,建立一个容纳大多数厂商的产品实现,具备正确性、完备性、典型性的UTM技术模型就显得非常必要。模型得建立有效地加深我们对UTM的理解,同时对建立相关的标准和规范都具有重要指导意义。
建立统一威胁管理模型的理由多种。
目前国内外各家UTM厂商并未形成统一的看法,各家产品在功能、技术、机制上均存在差异。因此,一个容纳大部分主流厂商的技术思想和工作理念的模型是UTM标准的缩影。
UTM模型具有理论研究上的价值,从而能够在理论层面上统一各种不同的认识,从而为实践提供正确而长期的指导。
统一威胁管理模型天然具有的“弹性”,让其非常适合充当一个随着技术发展不断变化和成熟的工具。
5. 统一威胁管理模型
在我们的研究中,UTM模型如图4所示。其应该包含如下模块:访问控制模块、VPN模块、IPS模块、内容过滤模块、防病毒模块、反垃圾邮件模块、上网行为管理模块、日志与审计模块和流量管理模块[4]。
这些模块各自拥有自己的内容和相关技术,同时它们彼此之间并不是孤立存在的,而是存在内在的紧密联系,这正好体现了“统一”的观念。作为一个整体,其性能、管理与配置、稳定性和可用性受到关注。
限于篇幅,在此用一个表格的形式来描述UTM模型的结构和内容,需要指出的这些内容并不是全部,也不是恒定不变的。
6. 统一威胁管理的发展趋势
国家发改委2010年信息安全专项第三项“面向国家信息安全的安全标准体系及重要信息安全产品的关键标准”中明确指出:“重点支持信息安全相关标准的制订,以及验证环境的建设及应用,主要包括……安全监控与数据采集、数据灾备、统一威胁管理(UTM)、可信计算产品等安全设备类标准。”
从中我们可以看到:UTM的发展目前到了一个重要阶段。
从市场上,为了应对金融危机,中国政府将在未来两年内加大对基础设施的投入,同时优化产业架构仍是当前改革的重点之一,以信息产业为导向的高科技行业将会得到更好的发展。
稳定的市场刺激计划能够有效促进各行业对IT的投资,特别是政府、金融、电信、能源和交通等一些和政府相关的行业。在整体IT安全硬件行业持续增长的前提下,UTM也将得到更进一步的发展。
IDC预计,UTM市场在未来几年也将成为各个厂商重点发力的领域,在未来两年内,UTM市场会重新恢复到曾经的快速增长轨道。预计从2008年到2013年,UTM市场的复合增长率为27.7%。
从技术上,UTM未来的发展方向是如何在适当的硬件成本控制下提高性能[5];如何真正实现诸多安全功能之间的无缝融合,而不是简单的叠加以及如何统一标准。
参考文献
[1]费宗莲.UTM:抵御混合攻击的盾牌.计算机安全[J]中国,2009,第1期,96-97页.
[2]薛松,顾宁平.浅析UTM设备在信息系统中的应用.信息化研究[J].中国,2009,第4期,5-7页,19页.
[3]梁海军.基于UTM网络综合防御策略研究.网络安全技术与应用[J].中国,2010,第1期,21-23页.
[4]启明星辰.UTM(统一威胁管理)技术概论[M].北京:电子工业出版社,2009.
[5]Ying Zhang,Fachao Deng,Zhen Chen,Yibo Xue,Chuang Lin,“UTM-CM:A Practical Control Mechanism Solution for UTM System,”cmc,vol.1,pp.86-90,2010International Conference on Communications and Mobile Computing,2010.
统一模型 篇2
知识型企业组织和个体激励效益统一模型研究
知识型企业是知识经济时代企业的典型代表,激励已经成为企业人力资源管理的核心职能.从知识型企业的特点出发,研究和思考知识型企业的管理激励机制,分析激励的`投入产出要素,讨论组织和个体在激励过程中激励效益最大化的定量表示,并应用运筹学的规划技术建立组织和个体激励效益最大化的规划模型.
作 者:蔡娟 吴相林 CAI Juan WU Xiang-lin 作者单位:华中科技大学,系统工程研究所,湖北,武汉,430074刊 名:华中科技大学学报(城市科学版) ISTIC英文刊名:JOURNAL OF HUAZHONG UNIVERSITY OF SCIENCE AND TECHNOLOGY・URBAN SCIENCE EDITION年,卷(期):23(z1)分类号:N945.12 C931.1关键词:知识型企业 激励 投入产出 规划模型
基于故障统一模型的故障检测策略 篇3
根据软错误和电路老化的诱导机制不同, 现有单独对软错误或者老化预测结构进行改进不能满足要求。要将预测老化和检测软错误等其它目标故障整合在一个结构中进行违规检测, 建立新的理论基础。通过数字信号学分析可以得到如下结果:由跳变、毛刺或串扰等引起的延迟故障都可以统一描述为信号稳定违规, 因此可以提出统一的故障检测模型, 从而在检测能力、设计复杂度和成本方面达到要求。
1 研究现状
基于上述要求, 对于统一故障模型, SV期望研究的目标故障类型如下:
(1) 软错误。包括单事件翻转 (Single Event Upset, SEU) 和单事件瞬态 (Single Event Transient, SET) [3]。如果一些高能辐射粒子诱导存储单元发生翻转, 这种偶然的翻转被称为SEU。如果粒子导致某个组合逻辑的节点收集了足够多的电荷, 可以产生瞬态电流脉冲。该脉冲转化成电压脉冲并随着组合逻辑向下传播。这种类型的错误被称为SET。基于3种屏蔽效应[4], 软错误可能被捕获:逻辑屏蔽, 电屏蔽和锁存屏蔽。
(2) 老化延迟。老化效应, 例如负温度不稳定性导致的老化延迟可以用来对老化进行预测[5]。通常, 老化延迟是时间的一个累积效应。它的检测时间窗为TGB。
(3) 延迟故障。延迟故障是指传统的延迟故障, 一般由器件故障, 包括由缺陷、串扰、电压不稳等导致的时延故障。这类故障的检测通常都在时钟上升沿之后, 与老化检测类似, 都是后检测带 (Detection Slick) , 检测窗口为TDS (即后检测带间隔) 。对于一般的数字电路可以用这样的逻辑模型表示:组合逻辑的输入信号Si来自上一级触发器, 输出So被后一级的触发器捕获, 触发器间使用同步时钟, 周期为T。
对于软错误、老化延迟和延迟故障, 一般在保护带预测老化延迟, 在后检测带检测延迟故障, 如图1所示。用上述信号模型分别对软错误、老化延迟和延迟故障的故障行为进行了分析: (1) 延迟故障。延迟的So会在TDS期间发生SV, 但没有在TGB期间发生的跳变。延迟故障还会在时钟周期的后端导致So的TVV故障, TVV会在下一个时钟周期引起下一级逻辑发生IVV故障。因此, 对于延迟故障来说, SV、TVV和IVV是等效的。 (2) 老化延迟。延迟的So在TGB期间将会导致SV。但老化延迟不会导致TVV或IVV。 (3) SEU。发生SEU的触发器, 其输出端Si会发生的是SV, 之后Si将保持稳定。因此, SV可能会导致下一级触发器捕获到错误的数据, 继而导致发生TVV以及下一级触发器Si发生IVV, 即SEU将表现为SV、IVV或TVV。 (4) SET。对于宽度<TDS+TGB的SET故障, 其行为与普通的延迟故障相似。因此, 对于SET来说, SV、IVV和TVV也是等效的。
综合上述分析, 结论如下:对于上述引起电路时序发生错误、时序违规的各种故障行为都可以统一为SV, 即统一故障模型。
统一故障检测中最重要的单元是信号稳定性检测单元。图2显示了SVFD在电路中的位置及其主要结构。通过插入检测单元的一个关键路径末端, 触发器采用XOR保护检测, 通过将触发器输入端和输出端两路信号送入一个同或门NXORX。当CLKG低电平期间触发器受到SEU时, 其会在或非门B1输出高电平, 导致X节点放电。
检测电路由3部分组成:稳定性检测器 (Stability Checker, SC) 、输出压缩器 (Compactor) 和输出锁存器 (Output Latch) 。稳定性检测器的基本结构来自于在线老化预测, 与之类似, 稳定性检测器也是通过比较一对预充电的节点状态来判断被检测信号上是否发生SV。下面分析SVFD的工作原理。
如图3所示, 稳定性检测器是通过对动态节点S1和S2状态的监测来控制节点S4的状态, 判断电路是否发生故障。然后把信号输出给输出压缩器用于判断故障类型。当经过预充电阶段后, S1与S2均处于高电平, 电路进入检测状态。当组合逻辑输出的信号Co正常时, M3和M4的栅极状态总是互斥的, 即为“0”、“1”或“1”、“0”, S1与S2其中必有一个发生放电。这种情况下, 节点S4会稳定在高电平, 稳定性检测器的输出A1为0, SV没有发生。与之相反, 当Co在在保护区间发生SV, 这时原本保持在高电平状态的节点发生放电, 即S1和S2均处于低电平状态, 从而打开节点S4的下拉网络, 稳定性检测器的输出A1由0变成1。输出压缩器捕获到A1信号, 从而释放节点X的电荷。与节点X相连的两个锁存器分别在不同时钟CLK和CLK锁存X的值, 根据两个锁存器输出a, b的值来判断具体故障类型。
文献[2]在面积开销、功耗、以及故障检测能力等方面都进行了分析, 发现SVFD对于有时序违规引起的电路故障有着较好的检测结构。然后, 它也存在着明显的缺点: (1) 需要额外的控制信号。与其他检测结构相比, 需要额外的控制信号才能保证SVFD的正常工作, 而引入一路控制信号必然增加它的面积开销。 (2) 不适用于高速电路。在SVFD结构中, 大量的保护器被用来保护动态节点高状态的稳定性, 这会导致节点充放电时间的增加, 使其不适用高速电路。
2 高速信号违规检测结构
考虑上述原因, 针对SVFD的稳定性检测器是影响电路在高速电路中运用的主要障碍。根据这个分析, 论文提出了一种高速信号违规检测结构 (Highspeed Signal Violation Detector, HSVD) , 如图4所示。
新的稳定性检测器 (Stability Checker, SC) 在保留原先结构的基础上, 最大的改动是引进了被用于软错误防护时序单元中使用的Muller C单元 (简称C单元) [6]。图5给出了C单元以及对应的真值表。这样就减少了SC中动态节点和补偿动态节点“弱”逻辑所需的保持器的数量, 大幅减少了检测单元的硬件开销。不仅如此, C单元所具有的保持功能加强了SC输出的N1信号的保持时间, 还提高了输出压缩器中X节点的电荷释放时间, 从而避免在高速电路中因X节点放电不足而可能造成的电路检测失效。这种改进大幅提高了HSVD对高速电路的适应能力。
3 仿真与对比
为验证HSVD的功能, 对单个检测单元进行了晶体管级的Hspice故障模拟仿真。图6是使用32 nm PTM工艺模型[7], 对HSVD中几个关键节点状态在5个周期中变化的仿真波形图。其中系统主时钟信号为CLK, CLKS为控制预测时钟, So是组合逻辑输出信号, CLKG为保持时间的控制信号, NXOR是XOR保护的输出信号;在第4个波形图中, 显示了SC内部节点S1和S2随着上述信号变化而出现的状态变化图形;第5个波形显示的是SC输出信号N1以及XOR保护的输出信号, 从图中可以看出, N1信号具有较好的保持性, N1和B1是输出压缩器的输入信号;最后一个图显示了最终的检测结果, 从中可以看出结果对故障的识别。
与其它方案的比较:将HSVD与其他几种方案进行比较。表1列出了与老化预测策略 (Aging Resistant Stability Checker, ARSC) [8]以及SVFD在晶体管数目、时钟信号数量以及检测完备性上的比较结果。面积开销可以利用晶体管数目来估算。可以看出新结构对比传统ARSC具备明显的性能优势, 而增加的开销微小。与原先的SVFD相比, HSVD的硬件开销更少。
4 结束语
相对于目标故障检测, 多故障统一检测具有明显的应用价值。通过对SV的分析, 提出一种适合高速电路的多故障统一检测策略HSVD, 给出了其电路实现。在HSVD的稳定性检测器中, C单元的使用使HSVD更适用于高速芯片。Hspice仿真验证其功能有效, 与已有的机制方案相比也具有面积和功耗的优势。
摘要:随着集成电路制造工艺持续向纳米尺度的推进, 数字电路受老化、工艺误差、软错误等故障所造成的时序偏差越发突出, 严重威胁了电路的“时序安全”。文中通过分析故障影响信号稳定性侵犯模型, 提出了一种新的故障检测模型。该模型扩展了现有的故障检测能力, 通过使用C单元作为稳定性检测器输出单元, 提高了其对高速的适应性。仿真结果显示, 与已有结果相比其具有明显的速度优势和较小的硬件开销。
关键词:时序偏差,在线故障检测,信号稳定性,老化感知
参考文献
[1]YAN Guihai, HAN Yinhe, LI Xiaowei.A unified online faultdetection scheme via checking of stability violation[C].Soul:DATE, 2009:395-400.
[2]NICOLAIDIS M.Design for soft error mitigation[J].IEEETransaction on Device Mater.Reliab, 2005 (5) :405-418.
[3]SHIVAKUMAR P, KISTLER M, KECKLER S W, et al.Mod-eling the effect of technology trends on the soft error rate ofcombinationallogic[C].in Proc.International ConferenceDepend System Network (DSN) , 2002:389-398.
[4]VAZQUEZ J C, CHAMPAC V, ZIESEMER A M, et al.Built-in aging monitoring for safety-critical applications[C].Washington D C:Proc.IEEE Int.On-Line Test Symp. (IO-LTS) .IEEE Computer Society Press, 2009:9-14.
[5]NICOLAIDIS M.Time redundancy based soft-error toler-ance to rescue nanometer technologies[C].San Diego:Pro-ceedings of the 17th VLSI Test Symposium, 1999:86-94.
[6]YU Cao, WEI Zhao.Predictive Technology Model (PTM) [C].Nano-Networks and Workshops, 2006.NanoNet'06.1st International Conference on, 2006:1-5.
统一模型 篇4
电网故障诊断是在电网故障过程中对装置和设备出现的状态信息进行分析和推理,在此基础上查找故障的原因和性质,判断故障发生的元件以及预测故障恶化的发展趋势,得出诊断结论。保证故障诊断算法有效的前提条件是诊断算法获取的原始信息都必须是完备甚至是冗余的。但从现有的通信技术条件看,获取完备信息以及信息整合还十分困难,这种情况阻碍了故障诊断系统的实用化进程。
1 故障诊断信息存在的问题
故障诊断需要的源信息包括电网静态信息和动态信息。静态信息包括电网的一次拓扑信息、一次元件参数以及保护配置信息。动态信息包括断路器和开关的变位信息、各保护装置上传的保护动作信息和故障录波器上传的录波文件信息。这些信息来源不同,开关信息来自数据采集与监控(SCADA)系统,保护动作信息可以由SCADA系统或故障信息系统获取,录波信息由各变电站的录波器产生,通过故障信息系统上传到调度端。但是,目前在二次设备层面由于缺乏统一的功能和接口标准,通信标准的采用缺乏一致性,各厂家对于相同协议实现上的差异,造成不同厂家保护和录波器等的信息模型无法统一。而SCADA和故障信息系统也面临同样问题,由于异构系统之间缺乏统一的数据模型,在调度中心来自不同系统之间的信息语法和语义定义没有统一的标准,造成信息整合成本过高,甚至无法整合。在这种情况下,故障诊断系统即使获得了完备的源信息,也无法使用。
2 基于统一模型的故障诊断系统结构
IEC 61850标准和IEC 61970标准为故障诊断系统获取完备数据提供了很好的思路。采用这2种标准相互协调建立故障诊断所需的统一信息模型,可以从根本上解决故障诊断系统的信息完备和模型统一问题[1]。
基于统一信息模型的故障诊断系统结构如图1所示。
在该系统中,故障诊断所需的一次元件参数和拓扑关系参考IEC 61970 CIM建模;保护配置信息采用IEC 61850的分层模型建模,模型以SCL文件的形式进行描述[2,3]。由于SCL文件以变电站或智能装置为单位进行描述,故障诊断系统必须获取全网每个变电站节点的变电站配置文件(SCD)和相关二次智能装置的IED配置文件(ICD),通过这些文件描述的元件和二次装置连接关系建立全网的一次静态拓扑连接和一次设备与二次装置的关联关系。
电网发生故障时,IED会产生开关动作信息、保护动作信息和录波信息等动态信息,这些信息通过IEC 61850的抽象通信服务接口(ACSI)服务方式映射到具体的通信协议传输到控制中心。如果无法获取完备信息,需要用户对信息进行补充或修改,以弥补信息的不足。当上述信息提供给故障诊断系统后,就可以获取一个故障断面的所有静态和动态信息,各种诊断算法可以基于此进行故障的识别和分析。
当故障诊断获得所需的信息后,其需要解决的第2个问题就是信息标准化问题。在故障诊断系统获得的故障断面信息中,各种信息所基于的模型不同,其中二次装置信息(包括保护动作信息、录波信息和保护配置信息)基于IEC 61850标准建模[4];而一次电网拓扑信息和一次元件参数则以IEC 61970 CIM为基础建模。由于2个标准的适用范围和制定体系不同,使得2个标准间存在一定的差异,建模方法也有所不同。IEC 61970的数据交换基于资源描述构架(RDF),而IEC 61850的SCL基于可扩展置标语言(XML)进行数据交换,2个标准不具有公共的元模型,若要使一次系统和二次装置具有统一模型,必须对2个标准的模型进行协调,建立统一建模语言(UML)形式的统一信息模型,模型基于CIM建模并进行扩展,以满足故障诊断的需要[5]。统一信息模型形成后,故障诊断系统通过IEC 61970的CIS调用基于统一信息模型的数据。
3 统一信息模型的建立
3.1 模型的协调
IEC 61850和CIM既有共同点又有区别,两者有共同的变电站模型,都是以电压等级、间隔来划分的,对于二次装置建模,IEC 61850比CIM详细,而对于网络拓扑建模,CIM比较完整。针对上述特点,在统一信息模型中用IEC 61850的分层模型对二次装置信息进行建模;用CIM对一次系统元件和拓扑进行建模。表现形式则参考CIM使用UML形式。
目前,新版本的IEC 61850也定义了相应的基于UML的模型,并与IEC 61970的CIM进行了一定程度的协调。故障诊断使用的统一信息模型则在其基础上进行了细化,模型结构如图2所示。其中二次装置采用IEC 61850的逻辑设备、逻辑节点、数据和属性分层描述,一次系统信息直接引用IEC 61970的CIM。
图2中带阴影的部分为UML形式的IEC 61850信息模型,用来描述二次装置的信息。其他为IEC 61970的CIM,用来描述母线、线路、变压器等系统一次元件的属性、状态和连接关系。2种模型由名字空间类(tNaming)派生。逻辑节点容器(tNodeContainer)是2种模型的协调接口,由逻辑节点容器可以派生出CIM的电力系统资源,从电力系统资源衍生出一次系统模型,包括变电站、电压等级、间隔和各种元件模型。逻辑节点容器包含若干逻辑节点(tLNode),逻辑节点描述二次装置的某一具体功能,如距离保护、零序保护等。逻辑节点中包含数据类(tData),数据类描述功能中的具体数据,如保护动作、保护定值等。数据由数据属性(tDataAttribute)描述,数据属性描述数据的时标、质量和触发条件等信息。多个逻辑节点的组合构成逻辑装置(tLDevice),用于描述二次装置的完整功能和信息。
3.2 保护语义扩展
IEC 61850采用层次化模型结构,因此其语义结构也是层次化的,例如,“相间距离Ⅰ段动作”在IEC 61850模型下表现为IED/LD/LN/DO/DA的模型结构(其中,LD为逻辑设备,LN为逻辑节点,DO为数据对象,DA为数据属性),分别由PDIS逻辑节点表示“距离”,由“Op”数据类表示“动作”。这种层次化结构将IEC 61850对信息的语义约定转化为对词汇的语义约定,大大缩减语义词汇的定义,这是IEC 61850语义体系的明显优势。
但是,IEC 61850所约定的逻辑节点类与国内使用习惯存在较大的差距,例如缺少“故障后运行保护”、“死区保护”等,同时,逻辑节点也无法完整地表达如“相间距离”、“接地距离”这种深层次语义的差别。而故障诊断系统需要精确理解保护动作信息的语义。这需要对逻辑节点的语义进行细化[6]。
IEC 61850中逻辑节点表达的语义表现为前缀(Prefix)+逻辑节点类(LNCLASS)+逻辑节点的实例名。其中Prefix在IEC 61850中没有约定语义,可以对Prefix进行语义约定,使“+LNCLASS”形式的逻辑节点能表达保护信息的深层次语义。逻辑节点实例前缀Prefix可以由多组约定的标识代码构成,以补充逻辑节点的语义,如采用PDIS2来表示“相间距离Ⅱ段”的语义。保护信息包括保护配置、动作等信息,对于这类信息,按IEC 61850层次化模型的语义结构采用LN/DO/DA的层次标识方法。例如:零序电流保护Ⅰ段A相动作,表示为:PTOC-1·Op·phsA。其中:表示零序,为前缀约定;PTOC表示电流保护,是IEC 61850中的标准逻辑节点;Op和phsA为IEC 61850中定义的标准数据类,Op表示动作,phsA表示A相。
3.3 SCL文件扩展
SCL文件是信息模型的描述载体,统一信息模型按上述原则定义后,承载其模型描述的SCL文件也必须进行相应的扩展。
由于模型基于CIM,并且扩展了保护语义,因此在IEC 61850定义的原有SCL文件中增加2个XML模型文件。第1个文件用于描述图2所示的统一信息模型,后缀名定义为“.CIM”,文件名由厂站或控制中心的标识构成,形式为“[厂站或控制中心的标识].CIM”;第2个文件用于保护语义扩展的描述,后缀名定义为“.M2S”,文件名由该IED的型号名称和版本号构成,形式为“_.M2S”,其结构如图3所示。其中系统配置描述框中的4个文件是IEC 61850的标准文件类型,通过引用2个扩展文件来描述模型的协调和扩展。
2个扩展文件均具备SCL所定义的tHeader类型的头描述信息,并且均通过系统全局标识与系统配置信息描述的资源对象相互关联。
3.4 元素和属性扩展
由于扩展了“.CIM”和“.M2S”文件,也必须对SCL进行元素的扩展。在SCL的Schema中增加一个用于引用其他文件的元素类型tFileRef,并基于该元素类型在SCL元素下增加CIMFileRef和M2SFileRef这2个元素。
此外,由于IEC 61850目前应用于变电站内通信,因此SCL描述的信息主要集中于一个变电站内部,而故障诊断所需的信息是基于整个系统的,为了使故障诊断系统能够实现全系统范围的信息检索和识别,必须对其所需信息资源进行全局性唯一标识,相应的IEC 61850通信模型也必须进行扩展。
由于IEC 61850规定LD的实例名称(inst)仅要求在IED内唯一,为了便于在系统全局范围内标识LD,在站层以上对LD的标识采用结合系统标识的方法。LD的全局标识由2部分构成:.。其中:是IED实例的系统编号,其目的是保证IED在全网的唯一性;保证某一功能在IED内的唯一性。
对应在CIM和SCL文件的Schema描述中,为所有资源对象(如Substation,ConductEquipment,IED,PowerTransformer等)增加一个描述系统标识的基本属性uri,称为统一资源标识符,用于全系统的资源检索。
4 结语
目前,基于统一信息模型的山东电网500 kV电压等级诊断数据平台已经建立。该平台通过获取每个变电站节点的SCL配置文件,在调度端形成全网的拓扑连接和每个变电站的二次装置的配置信息,并根据上述信息形成保护和一次元件的关联关系,供诊断算法使用。系统发生故障时,保护和开关动作信息以IEC 61850模型形式通过广域网实时上传到数据平台,供诊断算法进行在线诊断。此外,数据平台能够根据在线诊断结果获取故障元件的录波信息,供事故后的离线诊断使用。该模型突破了制约故障诊断算法发展的信息瓶颈,为高效、实用的故障诊断算法的提出提供了坚实的信息支撑。
采用统一信息模型可以利用IEC 61850标准和IEC 61970标准各自的通信和建模方法,取长补短,从根本上解决异构系统之间信息标准化和共享的问题。目前,IEC 61850标准和IEC 61970标准正逐步应用在各自的系统之中并逐渐完善和发展,2个标准也在不断相互协调,未来将会成为电力系统通信的基本标准,故障诊断信息的完备度也会不断提高。同时,系统可以随着2个标准的完善更新其信息模型,真正做到系统的开放和互通,使故障诊断系统真正达到实用化。
摘要:将故障诊断所需信息进行分类,采用扩展变电站配置语言(SCL)文件对一次元件静态信息和保护配置信息进行描述。使用基于IEC61850标准的通信方式传输保护和开关动作信息。将获取的故障诊断相关信息进行统一建模,建模方法参考IEC61970的公共信息模型(CIM)和IEC61850的分层模型,并结合故障诊断的应用特点进行了适当扩展。该方法解决了故障诊断难以获得完备信息和标准化信息的问题,使故障诊断系统真正达到实用化。
关键词:故障诊断,IEC61850,IEC61970,公共信息模型
参考文献
[1]黄德斌,唐毅,张结.基于IEC61850和IEC61970的继电保护及故障信息系统通信与接口体系//第29届中国电网调度运行会议论文集,2005年10月26-27日,上海:358-364.
[2]李蓓,沐连顺,苏剑,等.基于关系模型映射的IEC61850SCL配置器建模.电网技术,2006,30(10):94-98.LI Bei,MU Lianshun,SUJian,et al.Modeling of IEC61850SCL configurator based on relational model mapping.Power System Technology,2006,30(10):94-98.
[3]卞鹏,潘贞存,高湛军,等.使用XML实现变电站中IED的自动识别和远程配置.电力系统自动化,2004,28(10):69-72.BI AN Peng,PAN Zhencun,GAO Zhanjun,et al.I mplementation of automatic recognition and remote configuration of IEDs in substations with XML.Automation ofElectric Power Systems,2004,28(10):69-72.
[4]章坚民,朱炳铨,赵舫,等.基于IEC61850的变电站子站系统建模与实现.电力系统自动化,2004,28(21):43-48.ZHANG Jianmin,ZHU Bingquan,ZHAO Fang,et al.Modeling and i mplementation of the subsystemin substations based on IEC61850.Automation of Electric Power Systems,2004,28(21):43-48.
[5]高翔.数字化变电站应用技术.北京:中国电力出版社,2008.
企业级统一数据模型研究与设计 篇5
经过SG-186、SG-ERP等信息化工程的建设, 国网浙江省电力公司业务信息化日趋完善, 形成了ERP、PMS、营销、协同办公等业务大集中的信息化管理系统, 企业整体信息化水平获得极大的提高。然而随着企业信息化建设的深入, 原有的信息化建设模式已逐渐显现出一些不足之处。
由于缺乏企业级数据和应用功能的全局整体规划和统筹, 传统“烟囱式”的信息化建设未能完全遵循数据模型标准, 仅按照业务需求设计、创建较为独立的数据存储模型, 导致同一业务主题数据标准不一致、数据重复存储, 数据共享度低。
如何通过企业级统一数据模型有效存储、融合、共享海量的数据资源, 是数据中心建设、运行顺畅的关键要素之一, 也是消除系统间信息壁垒, 共享数据资源, 促进公司管理水平提升的必备基础。
二、模型设计原则
充分理解大型企业统一数据模型的需求和背景, 为保证模型的稳定性和对业务支持的灵活性, 在模型设计时主要遵循以下原则:
继承性原则:模型设计以国家电网公司SG-CIM 2014年基准版为参考, 对IEC继承、扩展和重新组织的方式而成, 并依据浙江公司实际业务需求对模型作个性化扩展或调整;
完整性原则:模型设计遵循企业信息化建设成果, 能跨应用、跨业务完整的表述公司全业务范围数据视图, 并能全面支撑公司大数据分析与辅助决策;
一致性原则:模型设计来源于对业务的分析, 需要指导数据持久化的实现, 应保持业务需求、数据模型和物理实现的一致, 减少数据的二义性;
前瞻性原则:为适应公司业务现状及发展需要, 模型适当超前, 保证模型设计的前瞻性, 能够适用公司业务的发展变化;
适用性原则:为保证模型的适用性, 将模型与规则分离, 突出模型的业务描述, 提出规则点, 对规则本身不做详尽限制。
三、模型体系结构
概念模型
概念模型是种高层次、高度抽象的数据模型, 基于对企业业务的分析, 抽象出主要业务领域及相互关系。为了使模型更易于设计、理解与查看, 概念模型使用主题域来表达业务范围及其关系, 直接面向公司各业务领域, 与职能部门的业务分工无关。各主题域可按照业务具体进一步划分, 形成二级主题域, 每个二级主题域下包含多个业务对象类。在概念模型层面, 对业务对象进行高度抽象, 列出主要业务类清单。
逻辑模型
逻辑模型是对概念模型的进一步分解和细化, 需要明确概念模型中业务对象类及属性, 需要准确清晰描述业务对象及属性的业务含义, 需要通过继承、聚合、关联等方式反映业务对象类之间的关系, 并描述这些关系的业务含义。
物理模型
物理模型是在逻辑模型的基础上, 结合具体数据库系统特性, 考虑信息系统对数据存储的基本要求, 把逻辑模型转化为物理模型, 在系统层面落地形成可实际使用的数据模型。
四、模型设计方法
基于企业级统一数据模型的设计原则和体系结构, 通过制定统一模型设计技术规范, 明确数据建模工具, 统一数据建模模板, 摸索出一套行之有效的基于大数据平台的企业级统一数据模型设计方法, 包括概念模型、逻辑模型的以及物理模型的设计。
4.1概念模型设计方法
概念模型设计主要包括一级主题域、二级主题域、类的设计, 从业务角度清晰阐述一级主题域、二级主题域、类的业务含义, 从业务角度准确反映一级主题域间、二级主题域间的内在联系。
一级主题域的设计:按照电网企业的业务组织形式, 对国际标准IEC61968/IEC61970公共信息模型 (CIM) 的基本类进行重新组织, 以类似“元素周期表”的形式进行表示, 划分为13个一级主题域, 包括:客户、产品、市场、设备、电网、安全、财务、资产、人员、物资、项目、综合和金融。并根据一级主题域之间的业务关系形成一级主题域关系视图。
二级主题域的设计:按照公司具体业务对一级主题域进一步划分, 形成二级主题域 (元素) 。如在项目主题域下设置项目组成、项目成本、项目进度、项目质量等二级主题域, 在物资主题域下设置物料、供应商、采购、库存、配送等二级主题域, 最终形成SG-CIM基本元素的一个集合。并根据二级主题域之间的业务关系形成二级主题域关系视图。
类的设计:对业务应用对象进行归纳、抽象, 然后针对业务本质进行准确、全面的分析, 最后在此基础上进行正确、合理的抽象。类的设计应尽量简单明了, 避免引入过多的元素, 对象能作属性对待时, 应尽量作为属性处理, 而不抽象成实体。结合业务需求, 对“元素周期表”中各二级主题域 (元素) 所包含的基本类进行直接引用、继承及弱相关扩展, 如在供应商二级主题域下设置供应商主数据、供应商违约、供应商不良行为、供应商绩效评价等类, 最终形成符合电网企业业务需求的类清单。
4.2逻辑模型设计方法
逻辑模型设计主要包括对类卡片、类属性及类关系的设计, 从业务角度清晰定义类的业务含义、属性及类间关系。
类卡片的设计:每个业务类设计一张类卡片, 卡片内容包括类名称、类代码、类注释, 其中类注释使用专业术语准确描述类的业务定义、业务用途、数据范围。类设计时, 表达同一业务管理对象的类, 应进行抽象合并;统计、分析、汇总及报表业务对象, 不在数模设计中体现;配置、对象状态、数据加工过程及程序实现, 所涉及的实体不在逻辑模型中设计体现。
类属性的设计:类属性表包括属性名、属性代码、属性的业务含义、数据类型、数据来源系统和责任部门。其中“数据类型”主要描述为:字符型、数值型、日期型;“数据来源系统”用来描述属性数据是由那个信息系统生成的;“责任部门”用来描述属性数据具体负责的部门。
类关系的设计:描述完整的业务含义, 描述与其它业务类的引用关系。体现与其它业务类的数据消费关系, 即B使用A的数据开展业务, 则B类关系视图中需要体现A的主要业务类。
4.3物理模型设计方法
物理模型设计是逻辑模型在系统应用层的具体实现, 以系统程序设计的视角, 结合底层数据技术架构, 基于关系型数据库, 对逻辑模型实用化。物理模型在逻辑上被划分为4层, 包括ODS (缓冲区) 、ODS (统一视图区) 、EDW (数据仓库层) 及DM (数据集市层) , 逻辑架构如下图所示。
ODS (缓冲区) , 用于全量、持久存储来自各业务系统的原始业务明细数据, 该层的数据结构与业务系统的基本一致, 同时考虑数据增量与数据版本;
ODS (统一视图区) , 用于存储经过编码统一、数据同源、数据规范化后的企业级业务明细数据;
EDW (数据仓库层) , 用于存储支撑企业级分析应用的业务明细数据与轻量汇总数据, 该层业务明细数据是由ODS (统一视图区) 的数据通过业务整合形成, 轻量汇总数据是根据业务逐步提炼形成;
DM (数据集市层) , 用于存储面向具体应用的加工及汇总数据, 该层数据是根据具体业务逻辑进行复杂数据加工形成。
物理模型设计主要包括对ODS (缓冲区) 、ODS (统一视图区) 、EDW (数据仓库层) 及DM (数据集市层) 的数据库表设计。
所有数据库表设计时都要能够反应数据变更的历史记录, 包括变更时间、变更前后的内容等信息;同时, 也要能支撑以增量方式抽取数据。
ODS (缓冲区) 的数据库表设计:基于源系统表, 开展此层物理模型设计, 该层的数据结构与业务系统的基本一致, 同时考虑数据增量与数据版本, 全量、持久存储来自各业务系统的原始业务明细数据。
ODS (统一视图区) 的数据库表设计:基于逻辑模型OOM及源系统表, 梳理设计实体的物理表结构;设计物理表结构要考虑数据同源、编码规范;要体现数据变更记录, 即在表中增加源系统数据更新时间、源系统数据是否删除、模型数据更新时间字段;要体现逻辑模型中的关系, 如果该关系在类中没有体现, 则考虑在物理模型中将该关系建表;设计逻辑模型与物理模型的对应关系表和编码映射表;存储经过编码统一、数据同源、数据规范化后的企业级业务明细数据。
EDW (数据仓库层) 的数据库表设计:基于逻辑模型OOM及统一视图层物理模型, 根据业务对象进行表的合并, 通过纵向合并、横向合并、业务合并, 设计实体的物理表结构。纵向合并, 同一个根节点引出的类可以进行合并, 一般基类不考虑建表, 子类建表, 且将基类的属性放至子类中;横向合并, 当同一个父类下多个子类的属性重合度较高时, 将多个子类进行合并建表;业务合并, 从业务应用出发根据业务应用需求将多个表进行合并。存储支撑企业级分析应用的业务明细数据与轻量汇总数据, 该层业务明细数据是由ODS (统一视图区) 的数据通过业务整合形成;轻量汇总数据是根据业务逐步提炼形成。
DM (数据集市层) 的数据库表设计:基于业务应用需求及数据仓库层物理模型, 根据具体业务逻辑进行复杂数据加工, 设计面向具体应用的数据库表, 存储面向具体应用的加工及汇总数据。
五、结束语
企业级统一数据模型对于整合数据资源、深化数据治理、提升数据价值具有非常重要的意义, 是体现公司信息化建设集约化和标准化的典型实例。国网浙江省电力公司根据自身业务特点并结合国网SG-CIM设计成果, 设计一套涵盖公司各业务条线、唯一反应业务实体、含义清晰、体现业务流程、编码唯一的企业级统一数据模型, 打破各专业横向共享壁垒和障碍, 实现跨业务数据有效贯通、共享融合, 有力支撑了公司大数据分析体系的建设, 为公司的信息化建设积累了宝贵的经验。
摘要:本文从国网浙江省电力公司信息化建设现状出发, 分析了公司数据资源现状, 提出通过统一数据模型整合数据资源, 实现跨业务数据有效贯通和共享融合, 并对电力企业统一数据模型的设计思路、体系结构和设计方法进行了详细阐述。
统一模型 篇6
随着电力企业信息化的不断发展,公共信息模型(CIM)在主网调度[1-3]、配电网管理[4-5]、继电保护[6]、微电网[7]等领域得到了广泛的应用。国内外学者对采用CIM模型解决不同系统间的数据交换和信息共享进行了深入研究[8-10],但大多集中于生产控制系统间的互操作问题,而较少涉及管理信息系统与生产控制系统间的数据互通问题。国家电网公司按照实际业务需求在CIM的基础上进行了扩展和重新组织,制定了SG-CIM标准来指导信息化系统建设[11]。
本文结合南方电网信息系统建设实践,应用统一电网信息模型,以从根本上解决管理信息与实时信息的有效互通问题,并对模型的设计及其高级业务应用进行了深入探讨。
1 信息系统建设的需求
由于电力生产过程与对象的不同,电网企业信息化具有鲜明的行业特征,其中最关键的一环是构建主营业务的信息化普适模型以及建立相应的信息化标准体系。按照Nolan提出的信息系统建设模型[12],企业信息化大都经过6个过程,即初始阶段、推广阶段、控制阶段、集成阶段、数据管理阶段和成熟阶段。南方电网经过近10年的信息化发展,目前基本上处于应用集成和数据管理阶段。
2012年,南方电网启动了一体化信息系统的建设,要求保证其中核心数据和重要数据的正确性、一致性和完整性,提升数据管理水平,充分发挥企业数据资源价值。而一体化信息系统建设的基础是统一各业务系统的信息标准,包括电网信息模型、信息分类编码和命名规范等,解决各业务系统分散建模造成的主网模型、配电网模型、客户模型难以统一的问题,实现电网模型的分布维护和集中应用。为实现信息集成和数据共享的最终目标,迫切需要建立贯穿发、输、变、配、用各环节的统一电网信息模型,从根本上支持业务协同。换句话说,统一电网信息模型是电网企业信息化成熟应用的基础和标志。
2 统一电网信息模型设计
2.1 建设思路
由于电网各业务领域自动化、信息化的历史发展原因,主网模型、配电网模型、客户模型分别在能量管理系统(EMS)、生产管理系统、地理信息系统(GIS)和营销管理系统中进行维护,发展到目前整体企业级应用才需要进一步融合、统一。从企业信息化全局的角度,人、财、物等管理信息是必须涵盖的内容,而本文提出的统一电网信息模型主要是解决主网、配电网和调度、生产、营销模型统一的问题,实现标准一致、语义一致,从而从根本上解决通过映射、关联、转换所建立的电网模型的不可靠性问题,为跨系统的业务应用和企业决策分析奠定基础。
南方电网统一电网信息模型的建设思路是紧密结合业务场景需求,充分吸收调度自动化系统、生产管理系统、营销管理系统和营配集成系统应用的成果,在CIM的基础上进行设计;目标是统一各业务系统的建模标准、命名和编码规范,构建唯一、准确、可信的“站线变户”关系。信息模型包括五大要素:客户信息、设备信息、拓扑信息、量测信息和地理信息,如图1所示。
2.2 模型构成
统一电网信息模型分为逻辑模型和物理模型两个部分。其中,逻辑模型属于领域模型,采用面向对象方式描述,在CIM15版本[13]基础上剪裁和补充而成,具体做法如下。
1)删除资料性(Informative)包及其下的子包能量计划(EnergyScheduling)、财务(Financial)、市场交易(MarketOperations)、预定(Reservation)。原因是这些包成熟度不高,与实际业务不符。
2)为关键的非电气设备创建电力系统资源(PowerSystemResource)子类,如杆塔、电缆沟、工井等。
3)根据《南方电网公司设备类别规范》创建设备类别类(AssetClassification)。
4)根据《南方电网公司技术参数规范》创建技术参数类型类(TechnicalParamType)、技术参数类(TechnicalParam)。
5)根据《南方电网公司设备台账规范》创建台账层次节点类(PSRLayer)。
裁剪补充后的逻辑模型重新组织为电网资源、资产设备、用电客户、拓扑连接、量测资源和公共支持等6个包。其中,电网资源包以电力系统资源对象(PowerSystemResource)为核心描述了电网中的逻辑设备;资产设备包以资产对象(Asset)为核心描述了资产及其与逻辑设备的关系;用电客户包描述了电网供电与客户用电之间的关系;拓扑连接包描述了电网中导电设备之间的连接关系;公共支持包提供了组织、位置等供其他包使用的类以及全局数据类型定义。逻辑模型如图2所示。
物理模型采用关系模式来设计数据库,用于实现模型数据的存储和备份。具体做法如下:根据逻辑模型定义的实体类、属性及关系进行一一映射转化,用数据库关系模式直接反映出面向对象的模式。实体类映射为表,属性映射为字段,一对一或一对多关系映射为字段,多对多关系映射为表。物理模型如图3所示。
3 统一电网信息模型的应用
EMS、配电自动化系统(DMS)、计量自动化系统(AMS)等实时控制系统和生产管理、营销管理等信息系统依据统一电网信息模型进行建设,并建立网、省两级统一电网信息模型库,纳入主数据进行管理,实现模型的集中应用和分布式维护。同时,各业务系统按照统一电网信息模型要求产生的运行数据由海量准实时数据平台进行管理。这样就实现了电网实时运行信息从实时控制系统到管理信息系统的传递,同时实现了设备台账、客户信息等业务数据从管理信息系统到实时控制系统的传递,如图4所示。
统一电网信息模型库可以大大提高电网模型的数据质量,方便业务系统间共享电网模型数据,可更加便捷地实现综合停电、状态检修、应急指挥、电网规划、综合调度等高级应用功能。下文分别以综合停电、状态检修和综合调度为例说明统一电网信息模型的应用效果。
3.1 综合停电
综合停电管理对主网及配电网停电计划进行综合优化编排,事故时及时进行停电范围分析、重要客户快速复电、事故处理进程反馈。实现这些功能需要准确、全面的电网运行状态和站线变户关系等信息。目前,来自于EMS、生产管理系统、DMS、营销管理系统、GIS的电网模型和运行数据难以快速、可靠地进行交互,实现主网及配电网停电计划的优化编排和停电影响及损失的准确分析。
统一电网信息模型库实现了主网、配电网、用户相关的静态信息和实时信息的无缝集成,使得系统之间可以共享设备台账、拓扑关系、空间信息、实时数据等信息。如图5所示,编制停电计划时能够综合考虑主网及配电网拓扑关系,合理安排多项停电作业工作,减少设备的停运次数或停运时间,降低检修对电网运行及供电的影响;事故时可快捷地实现停电范围分析、重要客户快速复电、事故处理进程反馈等高级应用。
3.2 状态检修
状态检修是在设备状态评价和风险评估的基础上,根据设备状态和分析诊断结果,安排检修项目和时间,并主动实施的检修。状态检修的基础是设备健康档案,包括设计、监造、安装、调试、投运等一系列过程的数据。
目前的状态检修系统大都是简单地根据设备的产品寿命周期规律、巡视与消缺记录、在线监测状况等信息进行设备状态评估,结果难免具有片面性。如图6所示,按照统一电网信息模型标准对设备基础参数、实验数据、入网数据、运行维护数据、监测数据、运行数据进行规范统一,形成设备的健康档案,能够更加全面地对设备进行状态评价,进而实现风险评估、检修策略等高级应用功能。
3.3 综合调度
综合调度是电网调度与用户调度的综合,在保障电网安全经济运行的同时密切关注客户(特别是重要用户)的用电质量。而传统的调度管理和客户供电长期以来一直处于“双盲”状态,即电网调度看不到运行方式变化对客户用电的影响,客户服务也看不到电网运行的状态,阻碍了电力企业进一步提高供电可靠性和服务质量。
统一电网信息模型为综合调度解决“双盲”问题提供了有效支撑,如图7所示。调度自动化系统能够获取到营销管理系统中的客户信息及其与电网设备之间的关系,可实现重要用户电源追溯,实现用户负荷的实时监测;在错峰管理中可重点监测每日错峰的用户负荷;在计划性停电、转供电、运行方式调整时可实现调度操作对用户的影响分析,对影响范围内涉及的重要用户、保电用户进行预警。用电客户也能够通过营销管理系统查询到以报表、曲线等形式统计的负荷用电信息。
4 结语
目前,南方电网已经建立了从发电厂到低压用户,涵盖客户信息、设备信息、拓扑信息、量测信息和地理信息的统一电网信息模型库。该模型库大大提高了电网模型的数据质量,能够更加便捷地实现系统间的信息集成和数据共享,为综合停电、状态检修、综合调度等跨业务系统的高级应用功能提供了支撑,为提升电网运行安全水平和客户满意水平奠定了基础。
摘要:为实现管理信息系统与生产控制系统间的信息集成和数据共享,在分析南方电网信息化建设现状的基础上,提出了统一电网信息模型。详细介绍了统一电网信息模型的逻辑和物理构成,以解决主网模型、配电网模型、客户模型难以统一的问题。结合南方电网信息系统建设实践,通过综合停电、状态检修、综合调度等高级业务应用的案例说明了统一电网信息模型的应用效果。
数据库统一接口模型设计与实现 篇7
在地震勘探中,采集软件需要进行参数论证、观测系统设计及野外施工、质量监控等环节,在单机的软件版本中MySQL等中小型开销和规模的数据库,既可以满足生产使用条件,也可以达到高性能。但在正演模拟等大计算量,模型等数据及相应的索引信息有时需要存放在一个大型的数据库服务器(ORACLE)中;并且在地震资料采集、处理、解释一体化软件中,根据数据及相应计算结果的高效访问、安全级别等要求,需要使用不同级别的数据库管理软件来统一管理数据。这些都会带来同一个数据模型可能会访问不同的数据库的情况。
本文根据地震勘探软件一体化[1]的要求,以数据为驱动,以模型为中心,统一数据模型访问接口和平台无关性为目标,设计了一套对任意数据库访问的统一接口模型。
2 设计思想
各种数据库为了满足应用程序的调用,都提供了一组跨平台的、语言绑定的数据库API(应用程序编程接口),MySQL与C绑定的有MySQL Connector/C[2],ORACLE与C++绑定的有OCI[3],这些API此处简称为数据库驱动。一个基于数据库统一接口模型的应用程序,在数据库访问时,只要指定数据库驱动便可以使用数据库统一接口模型进行数据库操作。这些操作包括:①打开/关闭数据库;②SQL语句的直接执行;③事务的控制/回滚等。基于此模型的应用程序对数据库的操作不直接与DBMS(数据库管理系统)打交道,所有的数据库操作由统一接口模型完成。即不论是MySQL、ORACLE还是其他的数据库数据,都可用统一接口进行访问。
数据库统一接口模型位于数据库应用程序和具体的数据库驱动的中间层,他既为上层的数据库应用程序提供服务,又为下层的具体数据库驱动提供服务。数据库统一接口模型为处理下层不同数据库的差异,提供了一个不同数据库驱动的抽象接口;为上层应用也提供了一个抽象的、易使用的应用层接口及应用层需要的数据库查询结果集、数据库控制、数据库状态监控、数据库索引等信息的统一管理和操作的平台。因此数据库统一接口模型即包含了3方面内容:①面向数据库驱动的抽象接口层;②面向应用程序的统一接口;③数据库各种操作及结果集的管理平台。对于数据库驱动抽象接口层,本文实现了ORACLE的OCI数据库驱动和MySQL的MySQL Connector/C数据库驱动。
2 数据库统一接口模型设计
2.1 总体框架设计
数据库统一接口模型框架主要围绕以下两个要点进行设计。
(1)对各种数据库驱动的封装。这一层的设计目标是:数据库各种操作的抽象定义,达到隔离各种数据库驱动;设计原则是:不损失数据库访问的性能;
(2)提供应用层调用的统一接口。这一层首先需要提供数据库的连接管理功能,它可以管理多个数据库连接。其次,在应用程序连接数据库成功后,需要提供数据库统一的操作接口。如:数据库连接,数据库查询,SQL位置/参数绑定,数据结果集操作,数据库异常管理等接口。最后,在应用程序数据操作的过程,需要提供数据库操作的管理,及结果集的管理。如:数据库SQL语句执行管理,操作结果集管理,数据库操作异常管理,数据库字段管理,数据库索引管理等。
根据以上两个主要的设计要点,数据库统一接口模型框架可设计为数据库驱动抽象层和应用程序统一的调用接口层两部分。前者实现底层各种数据库驱动的隔离,为统一接口层提供统一的数据库驱动接口;后者实现数据库各种连接、操作及结果集的管理,既为应用层提供统一的接口和高效的操作管理,也使得应用层可以简易的设计出视图模型——通过绑定查询结果集到视图。
2.2 数据库驱动抽象层的设计
数据库驱动抽象层,封装了各种数据库操作的数据类型、语句类型、驱动接口等。由数据库的常用操作分析可得到两大类统一的数据库抽象接口:
(1)和数据库驱动支持的特性有关的:数据库打开/关闭、各种表获取、把字段值格式转换成指定数据库能识别的数据类型、主键索引、记录获取、开始事务、提交事务、回滚事务、获取数据库操作异常码、获取数据库表、字段值精度设置、获取数据库句柄、数据库支持特性(如事务)查询等接口。
(2)和数据库的操作结果有关的:SQL查询/操作、直接SQL语句、ODBC或ORACLE风格的SQL语句绑定相关的操作、结果集操作等接口。
有以上分析可设计出如图2的数据库驱动抽象层类图。类图把数据库驱动层分成两大部分,图2左边部分实现的是和数据库驱动支持特性相关的类图,右边部分为SQL操作及结果集有关的类图。其中MYSQLDriver是对抽象类SqlDriver的MySQL驱动的实现,在MYSQLDriver中封装了MYSQL*等MySQL驱动的句柄,它们是建立数库连接时会产生的实例,它记录了连接网络参数、服务器地址等信息。其次MYSQLResult是对抽象类SqlResult的MySQL驱动的实现,在MYSQLResult中封装了MYRES*和MYSQL_ROW*等MySQL驱动句柄[4],它们分别记录了一个查询的结果和一个行数据的安全类型表示。通过这两个抽象类,就可以封装数据库驱动,也达到隔离各个数据库的不同实现方式,ORACLE的数据库驱动[5]实现类似于此处的MySQL。当然,还有数据库数据类型的抽象,通过boost库提供的any类[6]作为可变数据类型,在设置和获取数据时,通过具体的数据类型判断,分配数据类型的数据空间给any类实例就可以实现。
2.3 应用程序统一接口设计
应用程序统一接口的设计目标是,通过指定数据库驱动及服务器地址或机器名、数据库名、用户名、用户密码和其他的可选项,然后打开数据库,如果打开成功,就可以使用sql执行函数执行,并返回结果集。如果需要位置或参数绑定的,则可以位置或参数绑定,然后在每次执行sql之前,指定绑定处的具体值,就可执行sql并返回结果集。而且这些结果集的操作可以通过统一的接口获取。这就封装了使用原始数据库驱动需要的频繁初始化及各种操作句柄的管理工作。以下是统一接口中的主要接口定义:
(1)指定数据库驱动的接口:AddDatabaseDriver(const string &dbDriver),其中dbDriver是数据库驱动的类型,是SqlDatabase(数据库连接管理类)中的一个接口,在此类实例初始化时,会根据指定的数据库驱动类型实例化相应的数据库驱动。
(2)指定数据库连接信息接口:SetHostName(const string &name),SetDatabase-Name(const string &name),SetUserName(const string &name),SetPassword(const string &pd);上面四个接口分别设置连接服务器地址、数据库名、用户名、用户密码,一般有这些信息就可以成功登录到数据库服务器。
(3)位置/参数绑定的sql查询接口:Prepare(const string &sql),AddBindValue(const any & val, ParamType paramType),Exec();Prepare接口使用位置/参数绑定接口,AddBindValue接口为相应的绑定处指定具体值,Exec()就是执行此次设置的sql,如需要绑定其它值,只需重新绑定有意义的具体值,然后再执行Exec()即可实现。如想直接执行sql,只要使用重载的Exec(const string &sql)接口即可。
(4)结果集操作接口:判断Next()的调用为true,就可以使用Value(int index)函数返回当前记录在index处的字段值。
2.4 连接、操作及结果集的管理
数据库驱动和应用程序统一接口必须通过连接及操作和结果集的管理平台联系在一起。根据架构设计,主要有以下两类管理元素:数据库连接管理;数据库操作及结果集管理[7]。数据库连接管理主要有:数据库的连接的建立、删除;驱动的类型的添加、记录;事务开始、结束和回滚的控制[8]。操作及结果集管理主要有:直接sql的执行;位置/参数绑定及此种sql的执行;结果集中的记录个数、记录内容及记录内容访问等的管理。图3说明了数据库驱动和应用程序统一接口通过SqlDatabase和SqlQuery两个管理类连接起来的时序图。图3中完成了一次从数据库驱动的指定到位置绑定参数并执行sql,最后对返回的sql结果集进行字段值访问的过程。前4步实例化指定的数据库驱动SqlMYSQLDriver;第5步是设置连接数据的信息,图中只画了设置服务器名;第6步到第9步打开指定驱动和服务器信息的数据库;第10到第13步创建了sql操作管理类SqlQuery的实例,并创建1到4所指定的数据驱动的SqlMYSQLResult实例部分;第14到第18步参数绑定、设置绑定处具体值并执行;第18到24步,使用Next()判断结果集是否存在,如果存在就可以使用Value()获取字段值。
3 结束语
以上设计的数据库统一接口模型,通过测试,可以很好的运行在Window和Linux平台上。它有以下几个优点:①为应用层的模型/UI设计人员带来了方便;②实现了应用程序操作系统平台无关性,移植到不同的平台上,只要重新编译链接一次应用程序即可;③较好的数据库操作和结果集的管理平台,为模型绑定视图类的实现,提供了便利。本文只实现了基于OCI和MySQL Connector/C++两种数据库驱动的接口,其他数据库驱动的实现可以参照数据库驱动的统一接口设计,来提供更多的数据库驱动的支持。
参考文献
[1]赵贤正等,高精度三维地震采集处理解释一体化勘探技术与管理[J].中国石油勘探2010,(2):
[2]MySQL 5.5 Reference Manual,http://dev.mysql.com/doc/.
[3]B10778-01,Oracle?C++Call Interface Programmer's Guide 10g Release 1(10.1),http://otn.oracle.com/tech/oci/occi/index.html.
[4]W.Jason Gilmore,Beginning PHP and MySql(3th Edtion)[M].2009.6
[5]朱宏玮,徐晓梅,张飞飞.Oracle C++调用接口[J].中国科技信息,2005,(14):15-16
[6]Kevlin Henney,Boost 1.48.0 Library Documentation.http://www.boost.org/doc/libs/1_48_0.
[7]Abraham Silberschatz,Henry F.Korth S.Sudarshan,Database System Conncepts(6th Edition),2009.11.
统一模型 篇8
当今互联网的应用已十分广泛, 用户可以进行网上银行、网上书店、电子商务等各种业务。这些操作中都需要许多安全操作比如用户身份验证、信息加密等等, 但不同的操作需要不同类型的数据比如PKI需要的密钥对, 加解密需要的私钥等等。每种数据都要由相应的管理系统来管理。比如XKMS就定义了发布和注册XML-SIG规范所使用的公钥, 通过XKMS消息将客户端对密钥和证书的操作部分或全部地委托给基于Web的信任服务, 从而向客户端屏蔽了底层PKI实现的复杂性。但对于其他安全数据来说并没有标准数据管理协议或相应的方法, 这样每个公司都使用自己的数据管理系统, 造成了公司之间的安全服务和安全系统之间的集成困难。
本文在扩展XKMS的模式和服务的基础上设计了一个统一接口的安全数据管理模型, 适用于多种安全信息比如Web服务需要的私钥、生物统计学信息和安全令牌等。除了为密钥提供的注册、重新发行、撤销、恢复、定位和证实服务外, 还为其他安全信息提供同样的服务。
1背景
现在有很多的安全数据管理系统, 比如提供公共密钥对服务的XKMS, 服务于生物统计学信息的管理系统等等。其中XKMS是2001年由微软、Verisign 和WebMethods 3家公司发布的XML密钥管理规范。而对于其他的安全数据管理系统来说, 虽然在网络层或底层上有关于安全数据是如何交换、分发和授权的标准协议比如IKE (Internet Key Exchange) 和ISAKMP (Internet Messsage Access Protocol) , 但它们在应用层上还没有共同的或标准的方式。
W3C和OASIS制定了关于秘密数据、Web服务安全令牌、生物统计学信息的XML标准, 并且定义了如何将这些数据用XML表示出来。比如在WS-Security中定义的SAML令牌、Kerberos令牌和用户名令牌等等。利用XML格式能很好地描述和处理这些数据, 但是没有提到对它们的管理问题。
2XKMS密钥管理
XKMS将传统PKI的两层应用模式转化为三层, 在PKI用户与PKI提供者之间加入信任服务中间层。它利用XML语法描述密钥和证书信息, 通过XKMS消息将客户端对密钥和证书的操作部分或全部地委托给基于Web的信任服务, 从而向客户端屏蔽了底层PKI实现的复杂性。
XKMS定义了分发和注册公钥的协议, 适合与XML签名和XML加密标准的联合使用。主要有两部分组成:XML密钥信息服务规范 (X-KISS) 和XML密钥注册服务规范 (X-KRSS) 。其中X-KISS又包括定位服务和证实服务, X-KRSS包括密钥的注册、重新发行、撤销和恢复。
XKMS结构上由客户端和信任服务两部分组成, 其中客户端向应用程序提供接口, 生成并发送XKMS请求, 同时接收并解析XKMS应答, 向应用程序提供请求结果;信任服务是基于WSDL的Web服务, 它根据XKMS请求的内容, 利用本地数据或者通过与PKI提供者进行交互, 获得相应的密钥/证书, 并将结果以XKMS应答的形式返回给客户端;客户端与信任服务之间的消息按照SOAP协议进行传输, 而信任服务与PKI之间的交互则按照PKI提供者规定的协议标准进行, 如图1所示。
3统一安全数据管理模型
统一安全数据管理模型 (U-KMS) 为其他类型的安全数据 (除了公共密钥对) 扩展了XKMS, 具体就是要扩展X-KISS和X-KRSS的功能。如图2中所示, U-KMS包括U-KRSS和U-KISS两部分。U-KRSS包括安全数据的注册、重新发行、撤销、恢复和数据共享。U-KISS为接受者提供了定位服务、证实服务和共享数据的定位服务。
为了将U-KMS系统和传统的安全数据管理系统结合起来, 就需要调整U-KMS的传统接口并要利用U-KMS客户端。当U-KMS系统接收到和U-KISS和U-KRSS相关的客户端发送的请求, 先分析请求安全数据的类型, 如果是要请求公共密钥对, U-KMS就作为XKMS服务端。客户端首先利用Web服务注册信息, 然后得到调用Web服务时需要用来验证身份的帐号/密码。客户端得到SAML的验证后建立安全模型来配置它的安全环境并且产生一条安全的SOAP消息。接着产生用于数字签名的密钥对并且向一个CA中心注册公共密钥。客户端产生一条包括授权和方法的SOAP消息, 并且对它进行XML数字签名和加密, 然后发送给服务器端。这条信息的格式如下:
Encsession (Envelope (Header (SecurityParameters, Sigclient (Body) ) +Body (Method, Parameters) ) ) ) 。这里的Sigx (y) 代表将利用x的私钥函数 (也就是产生签名的函数) 的结果返回给y。在服务器端的安全处理器接收到信息, 解密, 接着引用在SOAP头中的参数来进行解释。为了验证SOAP消息的有效性和客户端的真实性, 服务器端首先利用XKMS来检查客户端的公钥的有效性。如果是有效的, 服务器端从CA中心接受此公钥并且验证签名。完成验证后服务器端就会调用Web服务, 产生一条包括结果、签名和其他安全参数的SOAP消息。然后它利用会话密钥加密SOAP消息, 并返回给客户端。最后, 客户端检查SOAP消息和服务器端的有效性, 然后接受结果。
如果不是请求公共密钥对, U-KMS会根据传统安全数据管理系统的接口解释这个请求。当它接收到通过验证的共享安全数据的请求, 它会复制原始的安全数据并将数据的所有权授给请求者, 复制的数据同样由以前的数据管理系统来管理。
3.1U-KMS的XML模式
为了支持U-KMS中的除了公共密钥对的其它数据类型, 需要对XKMS中的模式重定义。特别是包括安全数据的<KeyBindingAbstractType>元素的修改如图3所示。
XKMS模式中的<KeyBindingAbstractType>元素包含了新元素, 比如为W3C的XML加密提供的<xenc:EncryptedKey>元素, 为W3C的P3P的私有信息提供的<P3P:Policies>, 为OASIS的WS-Security的Web服务安全令牌提供的<wsse:Security>元素。
图4显示了新元素, <ShareRequest>和<ShareResult>元素将会分别加入到XKMS模式中的<xkms:CompoundRequest>和<xkms:CompoundResult>。接受者向U-KMS提供发送者的共享数据的定位信息从而提出请求共享数据的请求。XKMS的基本通信方式是通过WS-Security完成在客户端和U-KMS之间的相互验证。
3.2U-KMS的系统结构
U-KMS系统的主要功能包括生成安全数据、证实安全数据及对于共享数据的访问控制。它的组件有:JAVA加密库, XML安全API, SOAP安全API, XML签名API和XML加密API。XML安全API是通过JAVA加密库、XML分析器和XSLT处理器来表示的。SOAP安全API为XML Web 服务提供安全保护。XML安全API和SOAP安全API支持数据交换和加密。该模型支持XML签名和加密功能, 如图5所示。
4结束语
由于对多种安全数据的应用需求, 但并没有标准数据管理协议或相应的方法, 造成了公司之间的安全服务和安全系统之间的集成困难。基于该问题本文提出了一种为各种安全数据提供的统一管理模型。该模型是基于XML的接口和XML数据的, 所以对于Web服务环境是非常有利的。通过这种方法对于减少安全数据的使用和管理的复杂性以及方便安全系统之间的集成和管理具有一定的作用。
摘要:为了适用于多种安全信息比如Web服务需要的私钥、生物统计学信息和安全令牌等, 在扩展XKMS的模式和服务的基础上设计了统一接口的安全数据管理模型。除了为密钥提供的注册、重新发行、撤销、恢复、定位和证实服务外, 还为其他安全信息提供服务。在和传统XKMS系统的比较下介绍了新模型的处理过程和结构。
关键词:密钥管理,XKMS,PKI,XML加密,XML签名
参考文献
[1]W3C.XML Key Management (XKMS 2.0) Requirements.http://xml-stds.xemantics.com/src/XMLKeyManafementRequirements-20030505.chm
[2]W3C.XML Signature Syntax and Processing.http://xmlstds.xeman-tics.com/src/XMLEncryptionSyntaxandProcessing-20021210.chm
[3]W3C.XML Encryption Syntax and Processing.http://xmlstds.xeman-tics.com/src/XMLSignatureSyntaxandProcessing-20020212.chm
[4]OASIS.Security Assertion Markup Language.http://www.oasis-open.org/specs/index.php#samlv1.0
[5]OASIS.XML Common Biometric Format.http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xcbf
[6]OASIS.Web Services Security (WS-Security) Version I.http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-securi-ty-1.0.pdf
[7]W3C.The Platform far Privacy Preferences Specification.http://www.w3.org/P3P
[8]张剑青, 刘旭东, 怀进鹏.基于XML的密钥管理的研究与实现.计算机研究与发展, 2003, 40 (1) :75-76.
[9]Juhan Kim, Kiyoung Moon.Design of Unified Key Management Modelusing XKMS.ICACT, 2005, 1:77-80.