发表于:2001-04-06 10:18:00
楼主
1、简介
自律分散系统(Autonomous Decentralized System,简称ADS)是近年来才逐渐发展起来的一个新的系统概念。它突破了原来传统集中式分布式的C/S模型,建立了全新的系统模型。在这一系统中所有的单元(子系统)都是独立平等的,它们之间不存在任何隶属关系。各个单元都能独立完成各自的任务而不受其他单元的干预。同时各个单元之间也能协调工作来实现整个系统的运行。这就是自律分散系统的两大特性:自律可控性和自律可协调性。实现这一系统模型的关键概念是数据域和广播的通讯方式。系统中的每个单元都主动地向数据域广播其内部处理信息同时根据各自的需求从数据域中接收信息。各个子系统都只同数据域打交道,它们相互之间没有直接的糯合关系。这就较好地保证了在线扩展、在线维护及容错。
现代工业的发展给监控系统提出了新的要求。由于生产规模的不断扩大发展,因而对相应的监控系统的设计不可能一次完成,而要随着生产发展变化不断进行修改、完善和扩充。但是现有的监控系统是不可能允许在其正常运行的过程中进行逐步组建,也不能允许在部分系统出现故障或处于维修阶段的同时仍然运作。因此一旦一个监控系统设计组建完毕后就很难改进,即使要修改,也要终止整个系统的运行,给生产厂家造成了人力物力以及资源的浪费,还影响了正常生产,造成经济损失。这必将越来越严重地制约生产发展。面对如此现状,用ADS系统概念来设计工业监控系统能较好地实现在线扩展、在线维护和容错,满足了新的生产要求。
2、自律分散系统的概念
定义自律分散系统的两个前提是:
(1) 系统中的故障是正常现象。
(2)系统是由子系统组成。
首先必须存在子系统。整体系统是不能事先定义的,只能定义为子系统的集成。其中某些子系统可能处于故障状态、正在进行改进或维修。因此,若一个系统满足以下两点要求则可称之为自律分散系统:
(1)自律可控性。即系统中有任何子系统出现故障,正在维修或刚刚加入,这都不能影响其他子系统的自我管理及功能的运行。
(2)自律可协调性。即系统中有任何子系统出现故障,正在维修或刚刚加入,其他子系统之间能够协调各自的任务并以协作方式运行以实现各自功能。
正是这两个特性保证了系统的在线扩展、在线维护和容错。因此要求每一个子系统都能有“智能”管理自己而又不干涉其他子系统的事务并且也不受其他子系统干涉,但它还能和其他子系统进行协调工作。
自律可控性和自律可协调性的实现反过来又要求每个子系统必须满足:
(1)平等性。每个子系统都能管理自己并不能被其他系统管理。子系统之间没有主从关系。
(2)局所性。每个子系统在只依靠本地信息的情况下就可以管理自己并与其他子系统进行协调。
(3)自足性。每个子系统管理自己和协调他人的功能是自足的。
以上三个特点表明了即使其他子系统都出现故障或者终止了与某子系统的通讯,该子系统仍能进行工作。
3、自律分散系统的模型
最基本的ADS系统是由原子节点(Atom)和数据域(Data Field)组成。原子节点可对应的物理实体为计算机、智能设备或其他硬件。数据域是ADS中信息传播的空间。从物理概念上讲,它相当于网络或存储器。
各个原子发出的信息在数据域中循环同时各个原子又从数据域中提取信息。原子之间没有直接连接关系,它们只对数据域中的信息内容感兴趣而不必知道此信息来自何处。因此,在数据域中流动的信息都包含一个内容码(Content Code)来标志其属性,各个原子也正是通过识别内容码来决定自己是否需要此信息的。
3.1数据域
在自律分散系统中所有的原子节点都是一个自律单元,它们之间的联系仅仅是通过数据域来实现的。所有的数据都以广播方式发送到数据域中并在其中循环。数据域延伸至原子内部的一部分称之为原子数据域(Atom Data Field),其中流动的是原子的系统或应用程序模块所需的数据。
所有信息都带有一内容码规定了其属性。由于系统的结构随着自身扩展、缩小或部分故障而发生变更,为了保证子系统的运行不受干扰,每一子系统都以广播方式发送带有CC的信息,由于其不具有目的地址,则接收者只能根据CC来选择信息而不知道其发送者。
这种基于内容码的通讯方式保证了每个子系统的自律信息发送和自律信息接收。即每个子系统不必知道信息来源和目的地之间的关系,因而它实现了每个子系统的局所性。
3.2原子节点飞
每个原子节点都是一个自律的子系统,它能够根据一个内置的内容码表来选取其所需的数据信息。已被选取的数据信息进一步在内部数据域(ADF)中流动。
原子中的所有系统、应用程序模块都使用同样的机制,即一旦模块所需的所有数据全部到齐,系统或应用程序软件就会自动开始执行,我们称之为数据驱动机制。没有一个模块能够控制其他模块、指示其他模块接收处理数据。各软件模块之间只有松散的藕合关系,不存在控制和被控制的关系,都能独立判断管理自己的行为,即各原子是平等的。
4、自律分散系统的技术
4.1在线扩展
系统在线扩展包括原子节点和系统两个层次上的扩展。
对于原子内部软件模块的扩充,它只需在系统内部的内容码表中注册上新的内容码而不需报告给其他原子。因此这种在线修改不会影响到其他原子的运行,并且也不会影响原子内部其他软件模块的执行。
对于系统级的扩展,也含有两种类型。同构的系统扩展只需简单将其数据域合并,所有数据信息都在合并后的数据域进行广播。而杂合系统的扩展则需要网关。对于杂合系统A和B的连接扩展,可以将其中任何一个系统和网关视为一整体看作是另一系统原子节点。如此,A可以根据登记在网关中B所需的内容码将相应的信息广播到B的数据域中去。反之B也可将A所需的信息传送给A的数据域。在网关中注册登记内容码不会影响到两个系统的正常运行。
4.2在线维护
自律分散系统在运行的同时可进行部分子系统或其内部软件模块的测试。运行的原子节点发出的信息分为两类:在线信息和测试信息。相对应地,运行的原子节点也分为在线和测试两种状态。并且规定:在线节点只接收在线信息,而测试节点两种信息都接收。因而处于测试状况的节点不会干扰在线节点的正常运行,同时它又可以接收在线信息进行单个测试或接收测试信息进行联合测试。
4.3容错
自律分散系统的系统结构及其数据驱动机制使软件模块可以自由地异步执行。实际中,我们根据每一软件的重要程度来决定其复制数量。因此可以在系统中的不同子系统中安置多个复制的软件模块,这些所有相同的软件模块都在独立运行并独立接收和发送信息。其中某些模块可能处于故障状态,因此其发送的信息可能是错误信息,而另外一些模块仍在正常运行,发送正确信息。使用这些信息的软件模块如何从所有这些信息中挑选正确的以供自己使用,需要通过两步来完成。一是选取所有复制模块的“同一数据”(时间上同步);另一步是从“同一数据”中选取正确的数据。解决的办法是使用“事件序号机制”和“投票机制”。通过以上的处理途径很好地解决了以往使用备用容错技术出现的问题,即本身切换装置出现故障,无法使用备用。ADS系统在处理容错问题时,不存在任何中间切换装置,即故障软件可和正常软件同时运行,运用谁的信息的决定权完全取决于接收者。从这一意义上讲,它实现了真正的容错。
5、监控系统的发展需求
目前,随着社会化大生产规模的不断扩大,一个企业往往要跨越不同的国家地区,在世界各地建立自己的分厂、分公司,如此之多的部门要协调一致地运作,完成生产过程的监控、生产任务的分配管理、信息的收集仲裁以及对外的信息发布,这必然要求监控系统相应地向大规模化发展。而传统的集中式或分布式监控系统都是基于客户机/服务器模式,随着系统规模的扩大、信息量的增多,必然会加大服务器的负担。严重情况下,会发生由于某时间段对服务器的访问骤增,而服务器响应不及,影响了整个生产过程。
另一方面,正是生产规模不断扩大的趋势表明在设计其相应的监控系统时,不可能一次性将各个部分、各个环节都考虑完整周全,而必须随着生产的发展扩大不断扩充规模、不断完善功能。现有的监控系统都是一次性建设完毕,如要进行扩充只能终止整个系统的运行,这必然会给生产者造成极大的经济损失。
鉴于以上的问题,必须使用新的技术。我们的设想是用ADS的系统概念来组建新型的监控网络。
在本文的前面已经看到由于自律分散系统的子系统有着自律可控性和自律可协调性因而保证了这个系统的在线扩展、在线维护和容错。因此根据ADS思路设计的监控系统体现了以下优点:
首先,它不再基于传统的C/S模型,而是由若干分系统构成。各个分系统之间是相互平等的,不存在依附关系,可以自主运作,但这并不表明它们不与外界交换信息。实际上,各个子系统不断向外界以广播方式发送信息,同时又根据各自需求接收来自外界的信息以为自己服务。这样一来,C/S模式中服务器大量的负担被有限地分散了,而且加快了子系统间信息的交换速度。这对于信息就是效益的生产领域不能不称得上是一个好的选择。
不仅如此,基于ADS的监控系统还很好地解决了自身的扩充问题。对于大型的企业来说,监控系统的组建可随着生产部门的建设一步步完成。有多少部门投入运行,与之相应的监控子系统就可先行自主并协调地运行。随着生产规模的逐渐扩大,可以在线地扩充监控子系统且不会干扰已经运作的部门环节。一旦新加入的监控子系统调试通过,它可以和原有的系统无缝地集成成更大系统,共同实