文中的对等网络资源查找模型是建立在现有的Aglets基础上的。
3.1基于移动Agent节点查询算法
采用的算法用来决定移动代理在P2P网络中搜索的具体动作;具体步骤如下:
(1)当某节点需要查找网络资源时,节点首先在自己的资源记录中进行本地查询,如果查询命中,则直接与资源提供者通信,建立连接;否则,创建并启动自己的移动Agent,代理将创建点的地址作为主地址,并通过创建节点的相关信息更新自身;同时,根据代理创建点前所能访问的最多的节点数作为其漫游时间参数T,确认任一节点代理能被复制的次数参数N,这两个参数用来控制网络搜索的深度和广度及最大的代理访问节点数;
(2)首先给予代理一些参与网络的节点地址,要求提供的节点占地址数应小于参数N
(3)移动代理能够自我复制足够多次。使得代理能被派遣到每个节点处。
(4)到达每个节点后,移动代理的漫游时间参数T开始计时,根据代理本身携带的创建点相关信息更新该节点,如果来着同一创建点的代理相继到达该节点,则后一个代理自动销毁,这样可以在保持信息更新的同时避免来着同一创建点的
的代理对节点的重复处理,减少网络负担。
(5)如果参数N到期,则移动代理自动返回创建节点,根据在漫游中得到的所有信息更新创建点信息;如果参数N还没有到期,则移动代理继续复制足够多次并将其派遣到当前节点已知的所有节点处,访问范围逐渐减少,直到发现资源。
(6)重复步骤(1)。
因为网络中的节点只有发出请求和接受请求两种状态,可以用参数i、j来表示网络用节点的行为。参数i用来表示节点的状态,如果i等于0;则节点保持沉默,等待接受其他节点发送过来的agent以查找相应的资源,如i不等于0,则表示此节点发出agent,请求在其他节点中查找相应的资源。参数j用来记录当前节点所知道的网络节点信息。
i
|
j
|
if(i=0)silent, else query
|
address
|
如果某节点需要查找相应的资源,首先在它自身所保存的节点信息中查找,如查找失败,就创建并启动一个移动代理,我们仍然用两个参数T、N来描述每个移动代理的行为。参数t用来记录某个移动代理已经访问的节点个数;参数N保存此移动代理被复制的次数。当某个移动代理被发送,访问到某个节点时,首先核查相似的移动代理是否已经访过此节点,然后检查参数T、N是否满足。移动Agent访问策略图1所示:

图1移动Agent访问策略
按照此查找机制,下面给出移动代理类的基本框架:
PublicclassMAimplementsjava.io.Serializbale
{
private:
MAStatusstatus;//thestatusofmobileagent
StringaddressId;//Idaddressofthesponsorofthemobileagent
intport;//theserverport
intt;//theroamingtimesexpressedbythenumbersofnodesthemobileagentvisited
pubilc:
MA();//defaultconstructor,MAmeansmobileagent;
…….
onArrival(MobilityEventmobilityevent);//arriveddestination,executing
onDispatching(MobilityEventmobilityevent);//afterexcuted,changingthedirection
OnReverting(MobilityEventmobilityevent)://returntheresult
……
};
3.2模型框架
借助Aglet软件开发工具ASDK来实现所提出的资源查找模型,它是以现有的Aglets类框架为基础的,模型的类结构如图1所示:
DiscoveryAglet:即为在网络中游弋的移动代理,它由ASDK提供的类继承而来,以上节点发现算法在DiscoveryAglet中实现,而且其中的方法要求是不可重载的。但DiscoveryAglet可被继承使之能执行某些特殊的关于所搜索的节点的类型的动作。ASDK通过串行化代理程序来实现其移动性,在一个Aglet被串行化之前,它必须把为了正确地被复活而需要知道的所有状态数据都放到实例变量里,它不能把这些信息的任何一部分遗留在堆栈中,因为执行堆栈不会在Aglet的新生命中被复制,因此,当DiscoverAglet主机会通知DiscoveryAglet:它将被串行化,以便其做好准备,即它必须把它复活后继续正确的执行所需要的信息都放在实例变量中。而因为实例本身是JAVA虚拟机包含的的标准数据类型及类构成,所以DiscoveryAglet没必要串行化相关数据类信息,这保证了DiscoverAglet足够小并节省了时间和带宽资源。 2/3 首页 上一页 1 2 3 下一页 尾页 |