法律状态公告日
法律状态信息
法律状态
2017-02-08
未缴年费专利权终止 IPC(主分类):G06F9/50 授权公告日:20130227 终止日期:20151218 申请日:20091218
专利权的终止
2013-02-27
授权
授权
2010-07-21
实质审查的生效 IPC(主分类):G06F9/50 申请日:20091218
实质审查的生效
2010-06-02
公开
公开
技术领域
本发明涉及了一种网构软件系统中任务执行中资源访问的方法,具体是在网构软件系统的任务执行中采用资源缓存技术来改善系统中软件Agent(实体/主体)对资源的访问性能。
背景技术
网构软件是面向开放、动态、多变的Internet(因特网)运行环境下的一种软件形态,此类系统以软件构件技术为支撑,通过自主、开放的服务实体的互连、协作和联盟来构筑。软件系统不仅是信息的提供者,而且是各种服务(功能)的提供者,它能够感知外部网络环境的动态变化,并随着这种变化按照功能指标、性能指标和可信性指标等进行静态的调整和动态的演化,从而使系统能够以足够满意度来满足用户的多样性目标。网构软件系统通常包括大量的软件实体,软件实体与软件实体之间可按动态合作方式在开放的网络环境下加以互连、互通、协作和联盟。为了有效地管理复杂动态的网构软件系统,我们采取了基于软件Agent(主体)的方法来对网构软件系统进行建模和设计。在Internet的动态开放的环境中,网构软件系统中软件Agent通过一定的网络结构进行组织,Agent之间的互连、互通、协作和联盟通过这种网络结构进行,这就是所谓的结构化网络。在这种网络结构化网构软件系统中,每个Agent只能与网络结构中与其有直接相邻关系的邻居Agent进行交互。软件Agent不仅提供网络信息,还能够提供各种网络服务(功能),使得系统以更高的满意度满足用户的需求。当把用户的每个需求当作一个任务处理时,系统满足用户需求的过程就是软件Agents执行任务的过程。任务的执行需要资源,在网络结构化的网构软件系统中,只有当执行任务的Agents的资源满足任务所需资源的要求时才能执行任务。无法独立完成任务的单个Agent为了执行任务需要向其他Agents调用剩下的资源,资源调用的主要目的是为了完成任务;并且在资源调用过程中,调用的Agents之间会通信协商资源调用的情况,因此在资源调用过程中会产生通信耗费,该耗费与Agents之间的距离有关,距离越大,通信费用则越高;为了降低资源的调用成本,Agent会调用其近距离的所需资源。
然而在相关研究中的资源调度大多采用直接访问原始资源的方式,文献检索发现Sarit Kraus发表于《Artificial Intelligence,VOL.94,NO.1,pp.79-97,July 1997》的论文“Negotiation and Cooperation in Multi-Agent Environment”中:任务分配会根据Agent自身拥有资源的情况,自身拥有资源多的Agent获得任务的机会要大;被分配任务的Agent自身资源不能满足任务执行的要求,就会向其他Agents调用所需资源。在该文中,Agent调用的资源都是原始资源,都是采用直接访问原始资源的方式调度资源。文献检索还发现Yichuan Jiang发表于《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTEDSYSTEMS,VOL.20,NO.5,May 2009》的论文“Contextual Resource Negotiation-Based TaskAllocation and Load Balancing in Complex Software Systems”中提出:每个Agent都处于一定的情境结构关系中,Agent经常需要跟其结构中的其他Agents进行协商合作,一个Agent是否被分配的任务与其结构中的其他Agents所拥有的资源状况有关;当一个被分配任务的Agent自身资源不能满足任务需求是,该Agent能够从自己的结构关系中调用所需资源,然而这种方式中Agent调用的资源还是原始资源,即采用直接访问原始资源的方式。因此,当相同的Agent执行相同的任务时都需要调用该是原始资源,增加了Agents间的通信费用。
发明内容
技术问题:本发明的目的是针对上述现有技术的不足,提出一种网络结构化软件系统中任务执行的资源缓存方法。资源缓存是被用来改善网络结构化网构软件系统中任务执行时资源访问性能的技术,即:网络结构化的网构软件系统中一些资源能够拷贝一份完全一样的资源传递到其它的位置,这些资源就是资源副本,这些副本储存在网络中的某些位置以便于将来对这些资源的调用。通过该资源缓存的方法,当Agent执行一次任务,当自身资源能满足任务执行的要求时Agent就会调用所需资源;如果Agent调用的是原始资源,那么该原始资源会生成资源副本,并该副本向Agent移动一定距离;如Agent调用的是资源副本,那么该副本直接向Agent移动一定距离。为了防止系统中存在大量的资源副本,每隔一个时间段,资源副本就会向其原来位置移动回退一定距离;如果一个资源副本很长时间没有被调用,那么它就会逐步再回退到自己以前的位置,该副本随之消失。该方法避免了直接访问资源造成的堵塞,节省资源的调用时间,相应地提高了系统的性能和效率。
本发明为实现上述目的,采用如下技术方案:
本发明结构化网构软件系统中任务执行的资源缓存方法,其特征在于:每当一个Agent执行一次任务,Agent会调用所需资源,并缓存该调用资源;缓存方法如下:若Agent调用的是原始资源,则原始资源生成一个资源副本,其该副本向前移动一步并缓存;若Agent调用的是资源副本,则该资源副本直接向前移动一步并缓存;每隔一个时间段t(t>5分钟),资源副本向后退一步直至回退到原始位置。
所述的结构化网构软件系统中任务执行的资源缓存方法,其特征是:网构软件系统中Agent调用原始资源的同时,原始资源经过的位置会拷贝一份与原始资源完全一样的资源,拷贝资源的位置是资源的缓存位置,该过程即被认为是原始资源生成副本并迁移到缓存位置的过程。
所述的结构化网构软件系统中任务执行的资源缓存方法,其特征是:每当一个Agent执行一次任务,调用资源的缓存方法是:若Agent调用的是原始资源,则原始资源生成一个资源副本,该资源副本向前移动一步进行缓存;若调用的是资源副本,则该资源副本直接向前移动一步进行缓存;资源缓存移动方向是以调用Agent为参照物,靠近Agent的移动方向即是向前移动;而远离Agent的移动则是回退。
所述的结构化网构软件系统中任务执行的资源缓存方法,其特征是:网络结构化网构软件系统中资源迁移到靠近调用Agent的邻居位置,即:系统中的两个位置Li和Lj之间的最短路径为{Li,Li+1,Li+2,...,Li+n,...,Lj-1,Lj},Lj位置的Agent调用Li位置Agent的资源(或资源副本),资源副本沿着该路径由Li迁移到Li+1,则是资源向前移动一步,其中i、j皆为自然数,且i≠j。
本发明与现有技术相比具有以下效果和优点
(1)高效性 在结构化网构软件系统中,执行任务的Agent需要调用所需的资源;
若Agent调用的是原始资源,那么该资源产生一个资源副本,该副本会向调用Agent移动一步;如果Agent调用的是资源副本,那么该副本直接向调用Agent移动;Agent调用与其距离最近的所需资源执行任务,从而避免了每次执行任务时Agent都需要直接访问资源造成的时间浪费,提高了系统的性能和效率。
(2)动态性 结构化网构软件系统任务执行的资源缓存方法中,Agent每执行一次任务,资源就会有一个缓存位置;且在系统中不仅存在原始资源还存在大量的资源副本,同一位置的资源副本可能会被多个Agent调用;随着系统任务的不断地执行,系统中资源副本的位置不断地变化,因此可以为更多的任务执行Agent调用资源提供方便。
附图说明
图1系统任务执行时间图。
图2系统任务执行中的资源缓存示意图。
图3该方法任务执行的主要流程图。
在图1中,t1,t2,t3,t4表示四个任务,r1,r2,r3,r4,r5,r6,r7,r8,r9表示资源的类型,其中黑色部分执行任务所需要的资源;时间轴上面的时间γ1、γ2、γ3、γ4分别为执行任务需要的时间,Г1、Г2、Г3为系统设定的资源回退时间。
图2中,圆则表示Agent,{a1,a2,...,a9}表示Agent集,黑色加深圆表示任务执行的Agent,灰色加深圆表示被调用资源的Agent;圆内部的图形表示Agent拥有的资源,不同Agent拥有的资源不同;Agent之间的连线表示Agent的结构关系,而箭头方向表示系统中缓存资源的运动方向。
图3中的Agent即表示软件主体。
具体实施方式
在结构化网构软件系统中,只有当任务执行Agent的资源满足任务所需资源时才能执行任务,无法独立完成任务的Agent需要调用其它所需资源,资源调用的主要目的是为了顺利的完成任务;调用Agent需要与调用资源Agent协商调用情况,这需要耗费一定的成本;为了降低Agent调用资源的成本,Agent通常会调用其最近的所需资源。而相关的资源调度方法基本是任务执行Agent直接访问原始资源,这样每次Agent执行任务访问的都是原始资源,增加了资源调用成本,因此我们提出资源缓存的方法。
资源缓存是被用来改善结构化网构软件系统中任务执行时资源访问性能的技术,即:将结构化网构软件系统中的一些资源生成副本,并将这些副本储存在网络中的某些位置以便于将来对这些资源的调用。通过该资源缓存的方法,Agent可以调用离其最近的所需资源执行任务,避免了Agent每次执行任务时都需要直接访问原始资源造成的时间浪费,提高了系统的性能和效率。资源缓存的位置受到任务执行的Agent的影响。
在一个网构软件系统完成初始化后,每个Agent拥有许多资源,每个资源的原始位置就是他们的属主所在位置,这个原始位置就被称为资源的初始位置OL,资源的原始位置OL是固定的;当系统开始运行后,一些资源会在网络中的某些位置储存副本,这些副本的存储位置称为资源缓存位置CL,资源缓存位置即是资源副本位置,该位置根据调用Agent的不同而一步步变化的。
网构软件系统的运行过程中,资源缓存位置不断地变化,副本从一个位置迁移到另一个位置。若系统中两个位置Li和Lj之间的最短路径为{Li,Li+1,Li+2,...,Li+n,...,Lj-1,Lj},Lj位置的Agent调用Li位置的资源ri或资源副本ri’,则资源ri会产生一个资源副本,并该副本沿着最短路径由位置Li迁移到Li+1,或资源副本ri’直接沿着最短路径由位置Li迁移到Li+1;资源由Li迁移到Li+1则表示资源向前移动一步,位置Li+1被称为资源缓存位置。网构软件系统中的资源副本就是这样一步一步地向前移动,任务执行Agent不断地调用资源副本最终使得该资源缓存位置不断地靠近Agent位置。
网构软件系统中任务执行的资源缓存方法的具体方案如下:每次,当一个Agent执行一次任务,Agent调用所需要资源,调用的资源按照以下方式进行缓存:在调用的资源中,如果调用的是原始资源,那么该原始资源会产生一个资源副本,该副本向调用Agent移动一步;如果调用的是资源副本,那么该副本直接向调用Agent移动一步。为了防止系统中存在过量的资源副本对网络造成拥塞,我们还提出资源缓存的消逝机制:设置一个时间段t,网络中的资源副本每隔时间t就会向其原始位置回退一步;如果一个资源副本很长时间没有被调用,那么它就会逐步地回退到自己的原始位置,该副本随之消失。随着时间的推移,网构软件系统中剩余的缓存资源只有那些经常被调用的资源副本,而其它资源副本则一步一步地退回到自己的原始位置。因此,在网构软件系统中,若设定Agent之间的距离是l,资源缓存位置和原始位置之间的距离是d,系统的回退时间为t,那么在dt时间段内一直没有被调用的资源副本最终退到其初始位置,且该资源副本随之消失。
下面结合附图对本发明的实施例做详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
图3该方法任务执行的主要流程图。结构化网构软件系统中任务执行的资源缓存方法,该方法具体实现方式如下:网构软件系统初始化后,每个软件Agent ai拥有一种资源ri,如图2(a)所示;系统中一共有四个任务:t1,t2,t3,t4,执行这些任务的首选软件Agent分别为Agent a1,a2,a5和a8,以及执行时所需要调用的资源分别为t1:{lr1,lr2,lr3},t2:{lr2,lr3},t3:{lr1,lr3,lr5,lr7},t4:{lr4,lr6,lr7,lr8},其中资源前面的数字表示需要该种资源的数量,而下标数字则表示所需要资源的类型;Agent执行这些任务的时间分别为γ1、γ2、γ3、γ4,Г1、Г2、Г3为系统中资源的回退时间,其中时间γ1<γ2<Г1<γ3<Г2<γ4<Г3,如图1所示。当系统运行后,开始执行任务。该方法的具体实施过程为:
(1)在时刻t=0,系统初始化完成,每个Agent拥有相应的资源,即位置为Li的Agentai拥有资源ri,则资源的原始位置位于Agent ai所在的位置Li。如图2(a)所示,黑色的圆表示任务执行的Agent。
(2)系统开始运行后,在t=γ1时刻,位置L1的Agent a1开始执行任务t1,t1需要资源分别是位于L1,L3,L3位置的资源r1,r2,r3。a1调用资源执行任务,同时资源r2、r3产生副本,资源副本将沿着到L1的最短路径向前移动一格。若规定两个相邻位置的距离为1,r2资源副本移动到L1,r3资源副本移动到L2位置,如图2(b)所示,执行Agent为a1,资源迁移方向r2:L2→L1,r3:L3→L3。
(3)在时刻t=γ2,系统开始执行任务t2,t2执行Agent a2需要资源为{r2,r3},分别位于L2和L3位置,因此a2只需调用r3资源;上一时刻γ1,r3资源副本移到L2位置,所以a2可以直接执行任务,节省了调用任务的时间,该过程如图2(c)所示。
(4)Г1时刻为系统回退时间,这个时刻系统中的所有资源副本都将回退一格,位置L2的资源副本r3回退到L3位置,同时r3资源副本消失;L1位置资源副本r2回退到原始位置L2,r2资源副本随之消失,如图2(d)所示。
(5)系统继续运行,在t=γ3时刻,Agenta5准备执行任务t3,需要资源{r1,r3,r5,r7},分别位于L1,L3,L5,L7;Agenta5需要调用资源{r1,r3,r7}执行任务,同时资源{r1,r3,r7}将产生一个资源副本,并分别沿着到L5的最短距离路径向L5移动一步;这样如图2(e)所示,r1资源副本移到L4,r3资源副本移到L6,r7资源副本移到L8。
(6)t=Г2时刻为系统回退时间,这个时刻系统中的所有资源副本都又将回退一格,r1资源副本由位置L4回退到L1位置,资源副本r3由位置L6回退到L3位置,资源副本r7由位置L8回退到L7位置,因退到原始位置,所有的资源副本消失,如图2(f)所示。
(7)在t=γ4时刻,Agenta8准备执行任务t3;t3需要资源{r4,r6,r7,r8},分别位于L4,L6,L7,L8;Agenta8需要调用资源{r4,r6,r7}执行任务,同时这些资源会产生一个资源副本,并沿着到L8的最短距离路径移动;如图2(g)所示:r4资源副本移到L7,r6资源副本移到L9,r7资源副本移到L8。这样,在回退时间之前,当Agenta8再次执行相同任务时,则可以直接使用资源r7、r8和调用L7、L9位置的所需资源r4、r6资源副本,并且r4、r6资源副本迁移到L8位置,当Agenta8再次执行t3时直接使用资源{r4,r6,r7,r8},节省了大量的调用资源时间。
(8)t=Γ3时刻为系统回退时间,系统中的所有资源副本将回退一步,如图2(h)所示,资源副本r4由位置L7回退到L4位置,资源副本r6由位置L9回退到L6位置,资源副本r7由位置L8回退到L7位置,并且所有资源副本消失。
机译: 包括方法的设备,多任务处理方法,执行用于共享用于将资源分配给任务的电路的方法的计算机处理器,用于执行指令的多个处理器的资源,多任务处理器,计算机指令,包括计算机处理器的网络设备和方法用于执行方法的步骤包括执行给定组的几种方法的任务的步骤,包括处理网络数据的步骤,软件执行多个任务
机译: 执行任务的处理器和方法,多任务计算机处理器,将每种资源分配给任务的电路,共享资源的方法,用于指令执行的处理器,多任务处理器,用于执行计算机指令的方法以及多任务方法
机译: 通过计算任务的最小执行时间并针对资源调度子任务以在最短时间内执行任务来自动控制并行处理器计算机系统的资源分配的方法