基于多代理的网格服务模型的研究与应用
时间:08-15
来源:与非网
点击:
4 多代理技术在网格中的应用
4.1概述
公安局网格管理系统就是利用网格的 各种技术将各部门的资源结合在一起,实现 快速、有效、方便的查询和管理各类资源。 因此根据前面对网格及多代理机制的描述, 将多代理技术应用于网格服务模型,并设计 出公安局网格服务模型,该模型框架如图4 所示:
基于多代理的公安局网格模型应具有 如下功能:
1、提供用户安全认证服务。
2、服务质量保证。
3、代理之间能够协作可以共同完成任务。
4、代理服务管理管理代理。
基于多代理的公安局网格模型的工作 过程如下:
(1)网格用户通过用户身份认证进入网 格管理系统。
(2)网格用户通过网格应用程序提交网 格应用请求。
(3)代理服务管理接收到用户的请求后, 将任务分配各个代理处理。
(4)代理在进行任务处理时,同时可以 与代理服务管理进行交互,而且代理之间可 以协作共同完成某项任务。
(5)代理在完成代理服务管理分发的任 务后,将结果交还给代理服务管理,由它向 上层用户提交结果。 在基于多代理的公安局服务模型中,对 用户的请求进行了分类,每一类任务由一种 代理独立完成或多个代理协作完成,这恰恰 体现了代理的互操作性。
另外,假设用户对 所需的服务可能不止一次,当相同的服务再 次需要时,代理就会很快地找到所需的服 务,这满足了代理自治性的特点。除了以上 两点之外,模型还有如下优点:
1、平台无 关性。服务资源通过网格服务的虚拟化实现 平台无关,不同类型的服务资源被封装能够 提供不同服务,服务的描述与所提供服务的 具体设备和操作系统无关。
2、服务质量保 证。在所提出的模型中,我们利用堆优先权 算法[10],设计出多过程算法来保证服务质 量(伪代码,语言是C++):
Vector InQueue,ProcessQueue;
If(InQueue==NULL)
Wait(data);
Else
{
if(SearchMax(Priority,ProcessQueue))
{
Find(agent);
Send(data,Priority,agent);
EQueue(agent,ProcessQueue);
}
Translate(data);
Store(Sendagent,Receiveagent,
ProcessQueue);
说明如下:InQueue,ProcessQueue是接 收队列和处理队列,Priority 是代理的优先 权,data 是数据。工作原理说明如下:首先 监视模块查询接收队列,如果为空就等待数 据,否则从处理队列中选取优先权(采用堆 优先权算法)最大的代理,把数据,优先权 保存到处理队列中,然后传送数据,保存发 送代理和接收代理到处理队列。 模型在多代理技术的基础之上,提出了 在代理服务管理模块上提供了一个接口,通 过这个接口可以访问更高一级的公安局的 资源,从而更加有效的实现了资源共享。
系统同时体现网格的优点:1、分布性。 各个公安局分布在不同的地方,具有分布 性。2、异构性。组成系统的操作系统有Unix,也有Linux和Windows,操作系统是异构的; 数据库有Oracle 也有SQL 或其他,数据库 也是异构的。3、用户透明。对于用户来说, 只需要提交相应的服务请求,便会得到相应 的服务,不需要知道服务的提供者,系统对 用户是透明的。
5 结束语
本文先叙述了网格的相关术语,然后引 进了多代理的技术,将多代理技术应用于开 放网格模型中的Web服务层,设计出基于多 代理的网格服务模型,并描述了模型的工作 原理以及模型的优点。
创新观点:把代理技术运用于网格中,利用 堆优先权算法,设计出多过程算法保证服务 质量,并应用于一个实际的项目中
Top