结构化网构软件系统中任务执行的资源缓存方法

文档序号:6586611阅读:166来源:国知局
专利名称:结构化网构软件系统中任务执行的资源缓存方法
技术领域
本发明涉及了一种网构软件系统中任务执行中资源访问的方法,具体是在网构软 件系统的任务执行中采用资源缓存技术来改善系统中软件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的邻居位置,即系统中的两个位置k和L」之 间的最短路径为{Li, Li+1, Li+2, , Li+n, , Lj—p Lj} , Lj位置的Agent调用位置Agent 的资源(或资源副本),资源副本沿着该路径由b迁移到Li+1,则是资源向前移动一步,其中 i、j皆为自然数,且i-j。 本发明与现有技术相比具有以下效果和优点 (1)高效性在结构化网构软件系统中,执行任务的Agent需要调用所需的资源;
若Agent调用的是原始资源,那么该资源产生一个资源副本,该副本会向调用 Agent移动一步;如果Agent调用的是资源副本,那么该副本直接向调用Agent移动;Agent 调用与其距离最近的所需资源执行任务,从而避免了每次执行任务时Agent都需要直接访 问资源造成的时间浪费,提高了系统的性能和效率。 (2)动态性结构化网构软件系统任务执行的资源缓存方法中,Agent每执行一 次任务,资源就会有一个缓存位置;且在系统中不仅存在原始资源还存在大量的资源副本, 同一位置的资源副本可能会被多个Agent调用;随着系统任务的不断地执行,系统中资源 副本的位置不断地变化,因此可以为更多的任务执行Agent调用资源提供方便。


图1系统任务执行时间图。 图2系统任务执行中的资源缓存示意图。 图3该方法任务执行的主要流程图。 在图1中,tn t2, t3, t4表示四个任务,巧,r2, r3, r4, r5, r6, r7, r8, r9表示资源的类 型,其中黑色部分执行任务所需要的资源;时间轴上面的时间L、 Y2、 Y3、 ^分别为执行 任务需要的时间,r\、 r2、 「3为系统设定的资源回退时间。 图2中,圆则表示Agent, {a" a2, . . . , a9}表示Agent集,黑色加深圆表示任务执
行的Agent ,灰色加深圆表示被调用资源的Agent ;圆内部的图形表示Agent拥有的资源,不
同Agent拥有的资源不同;Agent之间的连线表示Agent的结构关系,而箭头方向表示系统
中缓存资源的运动方向。 图3中的Agent即表示软件主体。
具体实施例方式
在结构化网构软件系统中,只有当任务执行Agent的资源满足任务所需资源时才 能执行任务,无法独立完成任务的Agent需要调用其它所需资源,资源调用的主要目的是 为了顺利的完成任务;调用Agent需要与调用资源Agent协商调用情况,这需要耗费一定的 成本;为了降低Agent调用资源的成本,Agent通常会调用其最近的所需资源。而相关的资 源调度方法基本是任务执行Agent直接访问原始资源,这样每次Agent执行任务访问的都 是原始资源,增加了资源调用成本,因此我们提出资源缓存的方法。 资源缓存是被用来改善结构化网构软件系统中任务执行时资源访问性能的技术,
即将结构化网构软件系统中的一些资源生成副本,并将这些副本储存在网络中的某些位
置以便于将来对这些资源的调用。通过该资源缓存的方法,Agent可以调用离其最近的所需
资源执行任务,避免了 Agent每次执行任务时都需要直接访问原始资源造成的时间浪费,
提高了系统的性能和效率。资源缓存的位置受到任务执行的Agent的影响。 在一个网构软件系统完成初始化后,每个Agent拥有许多资源,每个资源的原始
位置就是他们的属主所在位置,这个原始位置就被称为资源的初始位置OL,资源的原始
位置0L是固定的;当系统开始运行后,一些资源会在网络中的某些位置储存副本,这些副
本的存储位置称为资源缓存位置CL,资源缓存位置即是资源副本位置,该位置根据调用
Agent的不同而一步步变化的。
网构软件系统的运行过程中,资源缓存位置不断地变化,副本从一个位置迁移到 另一个位置。若系统中两个位置k和Lj之间的最短路径为{Li, Li+1, Li+2, . . . , Li+n,..., Lj—p Lj} , Lj位置的Agent调用位置的资源或资源副本,则资源ri会产生一个资源 副本,并该副本沿着最短路径由位置b迁移到Li+1,或资源副本iv直接沿着最短路径由位 置k迁移到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)所示;系统中一共有四个任务t" t2, t3, V执行这些任务的首选软件Agent 分别为Agent a" a2, a5和a8,以及执行时所需要调用的资源分别为^ : {lr" lr2, lr3} , t2 : {lr2, lr3} , t3 : {1巧,lr3, lr5, lr7} , t4 : {lr4, lr6, lr7, lr8},其中资源前面的数字表示需要该 种资源的数量,而下标数字则表示所需要资源的类型;Agent执行这些任务的时间分别为
L、 y2、 y3、 y4, r\、 r2、 「3为系统中资源的回退时间,其中时间Yl < y2 < r\ < Y3 < r2< Y4< 「3,如图1所示。当系统运行后,开始执行任务。该方法的具体实施过程
为 (1)在时刻t = 0,系统初始化完成,每个Agent拥有相应的资源,即位置为的 Agentei拥有资源ri,则资源的原始位置位于Agent &所在的位置1^。如图2(a)所示,黑 色的圆表示任务执行的Agent 。 (2)系统开始运行后,在t = y i时刻,位置1^的Agent &1开始执行任务^需 要资源分别是位于1^丄3丄3位置的资源巧,iviv ai调用资源执行任务,同时资源r2、r3产 生副本,资源副本将沿着到^的最短路径向前移动一格。若规定两个相邻位置的距离为1, r2资源副本移动到r3资源副本移动到L2位置,如图2 (b)所示,执行Agent为&1,资源迁 移方向r2丄2 — r3 :L3 — L3。 (3)在时刻t = y 2,系统开始执行任务t2, t2执行Agent a2需要资源为{r2, r3},分别位于L2和L3位置,因此a2只需调用r3资源;上一时刻Y " r3资源副本移到L2位置, 所以a2可以直接执行任务,节省了调用任务的时间,该过程如图2 (c)所示。
(4) r\时刻为系统回退时间,这个时刻系统中的所有资源副本都将回退一格,位 置L2的资源副本r3回退到L3位置,同时r3资源副本消失;1^位置资源副本r2回退到原始 位置l^,&资源副本随之消失,如图2(d)所示。 (5)系统继续运行,在t = y3时刻,Agentas准备执行任务t3,需要资源{i^i^iv r7},分别位于L15 L3, L5, L7 ;Agenta5需要调用资源{巧,r3, r7}执行任务,同时资源{巧,r3, r7}将产生一个资源副本,并分别沿着到L5的最短距离路径向Ls移动一步;这样如图2(e) 所示,巧资源副本移到L4, r3资源副本移到L6, r7资源副本移到L8。 (6)t = r2时刻为系统回退时间,这个时刻系统中的所有资源副本都又将回退一 格,巧资源副本由位置L4回退到位置,资源副本r3由位置L6回退到L3位置,资源副本r7 由位置L8回退到L7位置,因退到原始位置,所有的资源副本消失,如图2(f)所示。
(7)在t = Y 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。这样,在回退时间之前,当Agents再次执行相同任务时,则可 以直接使用资源r7、 r8和调用L7、 L9位置的所需资源r4、 r6资源副本,并且r4、 r6资源副本 迁移到L8位置,当Agents再次执行t3时直接使用资源{r4, r6, r7, r8},节省了大量的调用 资源时间。 (8)t = r3时刻为系统回退时间,系统中的所有资源副本将回退一步,如图2(h) 所示,资源副本r4由位置L7回退到L4位置,资源副本r6由位置L9回退到L6位置,资源副本 r7由位置L8回退到L7位置,并且所有资源副本消失。
权利要求
一种结构化网构软件系统中任务执行的资源缓存方法,其特征在于每当一个软件主体执行一次任务,主体会调用所需资源,并缓存该调用资源;缓存方法如下若软件主体调用的是原始资源,则原始资源产生一个资源副本,其该副本向前移动一步并缓存;若Agent调用的是资源副本,则该资源副本直接向前移动一步并缓存;每隔一个时间段t(t>10分钟),资源副本向后退一步直至回退到原始位置。
2. 根据权利要求1所述的结构化网构软件系统中任务执行的资源缓存方法,其特征 是网构软件系统中软件主体调用原始资源的过程中,原始资源经过的位置会拷贝一份与原始资源完全一样的资源,拷贝资源的位置是资源的缓存位置,该拷贝过程即被认为是原 始资源生成副本并迁移到缓存位置的过程。
3. 根据权利要求1所述的结构化网构软件系统中任务执行的资源缓存方法,其特征 是每当一个Agent执行一次任务,调用资源的缓存方法是若Agent调用的是原始资源, 则原始资源生成一个资源副本,该资源副本向前移动一步进行缓存;若调用的是资源副本, 则该资源副本直接向前移动一步进行缓存;资源缓存移动方向是以调用Agent为参照物, 靠近Agent的移动方向即是向前移动;而远离Agent的移动则是回退。
4. 根据权利要求1所述的结构化网构软件系统中任务执行的资源缓存方法,其特征 是网络结构化网构软件系统中资源迁移到靠近调用Agent的邻居位置,即系统中的两个 位置b和Lj之间的最短路径为{Li, Li+1, Li+2, . . . , Li+n, . . . . , Lj—p L」} , L」位置的Agent调 用b位置Agent的资源(或资源副本),资源副本沿着该路径由迁移到Li+1,则是资源向 前移动一步,其中i、 j皆为自然数,且i # j。
全文摘要
本发明公布了一种结构化网构软件系统中任务执行的资源缓存方法,本发明每当一个软件Agent执行一次任务,Agent调用所需的资源,并且采用以下方法对调用的资源进行缓存在调用的资源中,如果调用的是原始资源,那么就产生一个该资源的副本,该资源副本向调用的Agent移动一步;如果调用的是资源副本,那么就直接将该副本向这个Agent移动一步。因此,当以后该Agent执行任务需要调用该资源时,就会比调用原始资源更能节省时间,故而提高任务执行的效率。本发明方法避免了Agent每次执行任务时都需要直接访问资源造成的时间浪费,提高了系统的性能和效率。
文档编号G06F9/50GK101719083SQ200910263289
公开日2010年6月2日 申请日期2009年12月18日 优先权日2009年12月18日
发明者周伟, 徐媛, 蒋嶷川, 黄志川 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1