摘要 :基于对多 Agent系统和联邦信息系统的研究,提出了一种四层的虚拟企业信息管理体系结构,组成体系结构的四层分别是:通讯层、信息层、会话层和功能层。文中详细介绍了每层中的关键技术,并概括了虚拟企业信息系统开发方法。
关键词 :虚拟企业,多 Agent系统,联邦信息系统
引言
虚拟企业与传统企业相比,具有如下特点:首先,虚拟企业具有明显的的生命周期特点,强调创建、运作、调整和解体等各个阶段的动态性;其次.企业网络中的节点具有物理上的分布性,各节点具有异构性和自治性,节点之间存在不同程度的耦合;最后,虚拟企业强调跨企业边界的全局协同运作,节点之间通过各种交互机制实现协作与协调。虚拟企业的上述特点使虚拟企业的信息管理问题具有一定的复杂性。信息管理的目的是使数据和控制信息能够在虚拟企业网络中正确流动,这是实现虚拟企业生命周期各阶段功能的基础。信息管理应当实现分布式信息的共享与交换,在此过程中,必须考虑以下问题:支持不同格式信息的互相转换;保持节点间信息语义的一致性,支持多种信息通讯方式:充分考虑节点自治和信息私有,控制信息可见性和访问权限;确保数据安全性等。目前,国际上有许多组织都展开了对虚拟企业的研究,其中比较著名的有NIIIP、X-CITTIC、PRODNET等,但尚未形成一种能够较好满足虚拟企业信息管理各项功能的信息体系结构。本文基于对多Agent系统和联邦信息系统的研究,结合两者在通讯和信息方面的能力,提出了一种层次化的虚拟企业信息管理体系结构。
l 虚拟企业信息管理体系结构
虚拟企业信息管理系统的基本思想是通过各个成员企业之间的交互,使整个虚拟企业范围的信息得到正确有效利用。据此,我们提出了如下的虚拟企业信息管理体系结构,该体系结构自底向上分为四个层次:通讯层、信息层、会话层以及功能层(图1)。
最底层是通讯层(Communieatton Layer,COMM)。它使节点间能够进行基于消息的通讯,并能相互理解消息的含义。 COMM为节点通讯提供了完整的消息规范,并依据规范对发送/接收的消息进行处理。消息规范涉及通讯机制、通用的通讯语言和协议、通用的通讯内容格式和各节点所共享的本体论四个方面。 信息是(Information Layer, INFO)负责信息的组织,并控制信息的使用。 INFO对节点的私有和共享信息进行合理组织,在确保节点私有信息安全性的同时,对共享和交换的信息进行信息用户(组)的访问授权,防止其它节点对本节点信息的非法操作。INFO具有高效的分布式信息查询处理能力,能够识别本地查询和分布式查询,并进行相应处理;对复杂的分布式查询请求,能够将其分解为若干于查询,便于查询的执行。 会话层(Conversation Layer,CONV),它控制节点的交互行为。它根据信息管理系统的功能需求,分析实现各项功能所得进行的节点交互,定义各个节点的会话模型。 CONV提供全面的会话管理功能,能够动态地创建会话模型的实例,使会话激活、挂起、恢复、终止等,并能按照预定义的会话规则,进行会话的推理与决策,控制会话实例的运行,实现节点之间的正确交互和协同运作。 体系结构的最高层是功能层(Function Layer,FUNC),它定义虚拟企业信息管理系统的各项功能。明确信息管理所要达到的目标。总结地说,FUNC定义功能需求和目标,CONV负责执行交互来完成功能目标,INFO提供交互的内容和动因,COMM规定交互中的消息规范。各个层次之间是紧密相关的,低层是实现高层功能的基础,高层是低层进行构建的依据。一方面,FUNC所设定的各项信息管理功能必须通过CONV定义的节点会话方可实现,而节点会话中所传递的消息必须遵循统一的消息规范,才能使节点相互理解。INFO的查询请求是创建并激活会话的直接原因,并且会话中所交换的数据信息来自于各节点的 INFO。另一方面,FUNC的信息管理功能定义必须准确全面,这样INFO和CONV才能根据功能需求进行具体构建,确定信息组织结构和节点会话活动, COMM也才能开发最适合的通讯规范。
2 虚拟企业信息管理关键技术和方法
2.1通讯层COMM
虚拟企业可以看作是一个多 Agent系统(MAS:Multi-agent system),它的每个成员企业是MAS中的一个Agent。 Agent具有自治性、协同性和适应性,Agent之间共享信息、知识和任务,进行协同工作,以实现共同的目标。虚拟企业包括若干VE成员 Agent,除此之外,还可以包括其他各种Agent。例如,VE协调Agent,负责虚拟企业构建和重构,以及虚拟企业的运作监控和全局协调;网络服务 Agent,提供各种网络服务,如网络名录、电子商务、技术咨询等专门服务。 Agent之间的交互通过基于消息的通讯来完成。虚拟企业通讯层COMM使Agent能够根据自身需要,以多种方式、使用相同的消息格式和内容语法进行通讯,并保证了它们对通讯的内容有一致的理解。通讯机制方面,可以根据需要提供对以下方式中一种或几种的支持,供Agent在通讯时选择使用:(1)两个Agent之间可以用 TCP/IP等协议直接建立物理链路进行对话,这要求知道Agent地址信息。一种办法是用专门的AgentNameServer对所有前来注册的 Agent地址信息进行管理,也可以通过广播机制,各Agent自行向网络中其它Agent发布其地址信息。(2)当系统中有很多Agent时,可以将其划分为若干个域,建立联邦系统,以降低通讯开销。在联邦系统中,每个Agent域有一个中介Agent,负责本域的能力和需求发布,作为域内 Agent与外界进行通讯的代理。(3)当Agent需要向系统中的所有Agent发布信息时,它可以采取广播通讯方式,发往多个Agent的消息不必有多份拷贝,所以大大降低了对网络带宽的占用。(4)黑板系统是一个共享的数据仓库,Agent可以在其中发布和取得信息。黑板系统中的信息通常划分为多级,不同的 Agent具有不同的访问权限,可以访问相应层次的信息。通讯语言和协议方面,通讯语言的语义应当与特定Agent无关。 Agent具有与其内部数据结构无关的通用消息接口,通过显式的语言行为与其它Agent进行交互。语言行为理论是对Agent语言行为进行形式化的最通用方法,它用原语(performative)表达Agent的消息意图。目前,使用最为广泛的Agent通讯语言是KQML[1](Knowledge Query ManipulationLanguage),它是基于语言行为理论的消息格式和消息管理协议。 KQML的每则消息分为内容、消息和通讯三部分。它对内容部分所使用的语言没有特别限定。 Agent在消息部分规定消息意图、所使用的内容语言和本体论。通讯部分设置低层通讯参数,如消息收发者标识符、消息标识符等。通讯内容的格式方面,采用通用的通讯内容格式可以提高交互的效率,因为每个Agent只需要在自己的内部表示法与通用格式之间进行消息转换。通讯内容的语言可采用英语、Lisp、SQL、KIF等。本体论方面,本体论是对Agent交互中用到的概念和联系所作的客观描述[2],它保证了Agent对通讯内容有一致的理解,共享消息内容所代表的知识,实现语义一致的通讯。共享的本体论可以采用文档形式,也可以是一组机器可解释的规范。
2.2信息层 INFO
信息层INFO的主要功能是进行信息组织、访问控制和分布式查询处理。 INFO的信息组织采用 PEER系统[3],它是完全联邦式的面向对象信息管理系统,支持合作的自治异构节点间的信息共享和交换。网络中的节点通过SCHEMA建立节点间的信息依赖关系。每个节点都有如下四类 SCHEMA:LOC(Local schema)定义本节点存储的物理信息,是节点的私有SCHEMA;EXP(Export schema)是允许其它节点访问的本节点信息,它由 LOC派生而来,定义了对本地信息的一个特定视图,并维护着其访问者名录。 记录得到访问授权的节点及其访问权限;IMP(Im-port schema)是本节点可访问的其它节点数据库中的信息,它对应于其它节点的EXP;INT(Integratedschema)是本节点可访问的本地和远程信息的联合视图,即本节点可访问的所有信息,它隐藏了信息在物理上的分布性,各节点可以根据需要,决定如何合并和协调本地信息与其它节点信息。整个系统没有全局SCHEMA,一般情况下,信息也不必在多个节点中冗余存储。在VE网络中,不同的节点对信息有不同的可见级和访问权,对此要作出明确定义。可以在每个节点的LOC中定义专门的权限视图,规定其它节点对本节点信息的访问权限。为简化每个节点定义权限视图的任务,我们可以按信息用户的类型定义如下的多级视图,不同的用户(组)可以访问相应的视图。图2示例中有三类角色:VE协调者、VE监督者和VE成员。多级视图的建立过程为:首先,由于每个节点都可能同时参与多个 VE,所以先按照不同的VE对节点信息进行横向分区,形成与某个VE相关的所有信息的视图,再进行纵向的信息分区,按不同的用户(组)划分信息,并规定各视图的用户访问权限。多级视图代表该节点中的 EXP。视图层次可以根据需要进行扩展和修改。因此,在FUNC的信息管理需求发生变化时,INFO能够很方便池进行重构,以适应新的信息管理要求。
INFO的分布式查询处理通过联邦式查询处理器实现。它负责查询路由和复杂查询分解。在接到节点的查询请求后,首先分析此查询是否为本地查询,如果是,则直接在本地进行信息查询;如果不是,则识别出查询请求涉及到的各外部节点。然后将复杂外部查询分解为多个子查询,每个子查询仅涉及一个外部节点。接着,发送各子查询到会话层CONV,由它负责与相应的外部节点进行会话,完成子查询。当 CONV返回子查询结果后,查询处理器对结果进行合并,形成对原查询请求的应答。另外,当某节点接收到对本节点信息的查询请求时,首先要参照多级视图评估查询请求方的访问权限,然后确定是否进行该本地查询并返回查询结果。
2.3会话层CONV
Agent之间进行会话以实现交互。 Agent会话考虑了在活动执行过程中其它Agent的各种可能行动/反应,并相应地规定了各种活动路径[4]。会话可以用有限状态机模型表示,它从一个初始状态开始执行,结束于一个终止状态。在此过程中,Agent可以按照会话进行信息交换、状态转换或采取行动。会话规则规定了Agent在某个特定状态下选择下一步行动时的推理。 CONV提供了会话创建、激活、挂起、恢复和终止等支持机制,使Agent之间能够按照预定义的会话模型创建会话实例,进行会话。各节点会话模型的定义以虚拟企业信息管理的功能需求为依据,按面向对象方法,通过对已有模型的继承和派生,快速生成新的会话模型。
2.4功能层FUNC
虚拟企业信息体系结构的最高层,即 FUNC定义虚拟企业信息管理系统的功能。虚拟企业信息管理系统要支持节点间的充分交互,以实现虚拟企业的协同。但是,成员企业节点的自治性要求在共享和交换部分信息的同时,尽可能保持本节点的自治和信息私有。同时,必须考虑节点固有的分布性和异构性,以及成员节点各自的信息语义。虚拟企业信息管理的一般功能有:1)各节点的信息导入/导出,导入信息与本节点信息的集成,信息可见性和访问权限管理,不同信息建模标准间的互相转换,对数据交换标准,如EDI 和STEP的支持;2)信息在多个节点的冗余存储,出于安全性等方面的考虑,VE需要对某些信息作多点冗余存储,如合同信息在两个成员节点的冗余存储,应正确处理冗余信息的更新;3)监视/通知机制,监视某些重要信息,若信息发生某种预定义的变化,则立即将此变化通知到有关节点,或直接自动提交已经更新过的信息;4)为多个节点提供联合工作空间,多个成员企业要同时对同一信息进行处理,如进行合同谈判时,提供联合工作空间,确保每个有关的成员都能够自动看到信息的最新情况,以便确定对其进行何种处理。在进行虚拟企业信息管理功能定义时,必须进行全面细致的分析,因为它直接影响INFO和CONV的构建。
3 虚拟企业信息管理系统开发方法
在讨论虚拟企业信息管理体系结构之后,我们介绍虚拟企业信息系统开发方法,如图3所示,分为三个步骤:首先根据成员企业状况和虚拟企业的目标产品/ 服务,定义信息管理功能需求,在此过程中,要进行需求一致性检查,识别信息管理目标中存在的冲突,并对冲突进行消解,最终得到一致的信息管理功能需求。然后定义节点会话和信息结构。在会性,从而确保整个系统的协调一致运作,会话一致性的分析可以用Petri Nct[5]完成,如果会话模型中存在不一致,则重新定义会话。最后,定义通讯规范,其中的通讯语言可以选择已有的 Agent通讯语言,也可以根据实际系统的需要,开发 Agent通讯语言。
虚拟企业网络节点的结构如图4所示。已有企业要加入虚拟企业,成为企业网络中的节点,需要增加适应网络交互和协同工作的层次,负责节点与网络中其它节点通讯的所有问题。另外,开发用户与交互协同层次的接口,可以使用户根据实际情况的变化,管理和维护系统的正常运作。网络交互和协同工作层的各模块具体功能如下:
SCHEMA管理模块:组织合作信息,与原有系统的信息系统进行交互。分布式查询处理模块:分析查询请求,对远地查询进行分解和路由,将分解后的子查询发送到会话管理模块,会话管理模块进行节点交互,并将交互得到的子查询结果返回查询处理模块,在此对结果进行综合,形成对原查询请求的应答,然后返回给SCHEMA模块。会话模型模块:定义多种节点间会话的模型,对模型进行管理,如添加新的模型,修改已有模型,检查模型一致性等。会话管理模块:根据查询处理模块送来的查询请求,选择所需的会话模型创建其实例,激活并管理它的执行。将收到的杏询结果返回查问处理模块。通过会话节点间可实现交互和协同。 安全机制模块:通过密匙和数字签名等技术对发送或接收的信息进行加密/解密和消息认证。消息处理模块:定义和维护一组消息规范,对节点通讯方式、消息格式、语法和语义等方面进行规定。本模块负责消息的发送和接收。发送消息时,依据消息规范选择通讯方式,将消息由节点内部格式和语法转换为通用格式。接收到消息后,进行逆向处理,将通用格式的消息转换为节点内部可理解和处理的格式。图5简要说明消息处理模块的结构。
另外,用户接口用来定义和维护 SCHEMA及其访问权限;定义和维护节点会话模型;定义和维护消息规范,特别是本体论的开发和维护。用户接口也是用户了解系统运行状况的重要途径、它以多种方式,向用户提供所需的系统信息。
4 结论
虚拟企业与传统企业具有显著差别、这位它的信息管理问题具有很大的特殊性扣复杂性。本文从虚拟企业生命周期的信息管理需求出发,研究虚拟企业信息管理体系结构,提出了基于多 Agent系统和联邦信息系统的信息管理体系结构,并描述了虚拟企业信息系统开发方法。用此方法开发的虚拟企业信息管理系统不仅能实现分布式请求/应答类型的信息交换,而且具有一定的自主推理决策能力,能够完成复杂的信息交互活动,因此较好地满足了虚拟企业信息管理的各项功能,为虚拟企业女现全局协同运作提供了良好的信息基础环境。