CN109120523B - 多节点路径选择方法、装置、云平台资源调度方法及装置 - Google Patents
多节点路径选择方法、装置、云平台资源调度方法及装置 Download PDFInfo
- Publication number
- CN109120523B CN109120523B CN201710485118.1A CN201710485118A CN109120523B CN 109120523 B CN109120523 B CN 109120523B CN 201710485118 A CN201710485118 A CN 201710485118A CN 109120523 B CN109120523 B CN 109120523B
- Authority
- CN
- China
- Prior art keywords
- node
- path
- search
- information
- pheromone
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种多节点路径选择方法、装置、以及一种云平台资源调度方法、装置。其中,所述多节点路径选择方法,包括:在源节点设置搜索主体;根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,并向所述跳转概率满足预设条件的所述节点进行跳转;确定所述搜索主体跳转到的所述节点为目标节点时,则将所述搜索主体返回所述源节点。所述技术方案利用路径上信息素的浓度上限以及搜索主体的最大生存周期,来限制最优路径与其他路径上的信息素之间的差距,可以在一定程度上避免搜索主体寻找到的路径形成局部最优的情形,搜索主体找到的路径比现有技术更全,寻路效率也更高。
Description
技术领域
本申请涉及云系统资源调度技术领域,具体涉及一种多节点路径选择方法以及一种云平台资源调度方法。本方案还涉及一种多节点路径选择装置以及一种云平台资源调度装置。
背景技术
目前,云计算已经在互联网中得到了充分的运用。云计算将计算和存储能力与单台计算机的原始软件分离,并将编程和应用的过程以及相应的数据存储在网络中,以供使用主体通过终端与云平台交流和获取所需求的云计算服务。云计算的特点是:提供安全稳定的数据存储中心,使用主体无需担心数据丢失、软件更新、病毒攻击以及其他安全相关的事项;对与使用主体交互的终端的硬件要求比较低;使用方便,使用主体在不同的物理位置可以使用同一云计算服务。
在向使用主体提供云计算服务的过程中,云平台需要对云平台资源的进行相应的调配。从云计算的特点可以看出,云平台资源调度的本质是用最短的分配时间将具体的云计算服务请求任务分配到具体可用的云平台资源上,以充分利用云平台资源,即云平台资源调度是一个分配资源路径的时间优化问题。云平台资源调度的核心问题就是如何在保持分配时间最优化的同时,将使用主体具体需求的云计算服务分配给处于云平台不同网络节点上的云平台资源。
现有技术采用蚁群算法(遗传算法)来解决云平台资源调度问题。蚁群方法是基于大自然中蚂蚁觅食现象而提出的一种启发式优化算法,蚂蚁的群体觅食协作是依靠一种在觅食路径上遗留下的称之为信息素的化学挥发物质来完成的。信息素在蚂蚁觅食过程中起着重要的作用,蚂蚁在觅食过程中正是依靠信息素进行相互沟通协作,依靠信息素形成正反馈信息,从而使多个路径上的蚂蚁都汇集到最短觅食路径上。因此,云平台系统资源的调度可以利用蚁群算法在云平台的多个资源节点上寻找最优的资源分配路径。
现有技术已经提出多种利用蚁群算法在云平台进行资源调度的方法。但是,在应用现有技术的过程中,往往会出现两个问题:一是由于现有技术计算蚂蚁选择跳转节点的路由概率时,不结合考虑节点之间的距离因素而只考虑信息素因素。按照这种路由概率计算方法,路由概率的计算结果离散度大,蚂蚁寻找到的路径往往不全,寻路效率也比较低;二是现有技术的方法中仅考虑如何寻找最优路径,而没有考虑系统资源消耗的问题。一方面,现有技术中的蚂蚁没有存活时间或跳数限制,往往会在多节点路径寻路过程中,进行过多不必要的跳转的计算,造成不必要的云系统资源浪费;另一方面,现有技术中在蚂蚁找到最优路径之后,调度云系统资源时数据会全部沿着最优路径传输,致使此路径上的云系统资源消耗过快,存在造成云系统不稳定的隐患。
发明内容
本申请提供一种多节点路径选择方法以及一种云平台资源调度方法,以解决现有技术中蚂蚁找到的路径不全,寻路效率比较低以及云系统资源浪费和消耗过快的问题。本申请另外提供一种多节点路径选择装置以及一种云平台资源调度装置。
本申请提供一种多节点路径选择方法,所述多节点路径选择方法,包括:
在源节点设置搜索主体;
根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,并向所述跳转概率满足预设条件的所述节点进行跳转;
确定所述搜索主体跳转到的所述节点为目标节点时,则将所述搜索主体返回所述源节点。
可选的,所述搜索主体携带属性信息,所述属性信息,至少包括:源节点信息、目标节点信息、节点路径列表以及路径长度。
可选的,在所述向所述跳转概率满足预设条件的所述节点进行跳转的步骤之后,包括:
更新所述搜索主体的属性信息;
判断跳转到的所述节点的信息素信息,是否小于预设的阈值;
若是,则更新所述节点的信息素信息。
可选的,在所述向所述跳转概率满足预设条件的所述节点进行跳转的步骤之后,包括:
确定所述搜索主体跳转到的所述节点不为目标节点时,则返回执行所述根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率的步骤。
可选的,在所述将所述搜索主体返回所述源节点的步骤之后,包括:
根据从所述目标节点返回所述源节点的所述搜索主体的属性信息,获取从所述源节点到所述目标节点的路径。
可选的,所述根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,包括:
根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息利用随机概率,计算各个所述节点的跳转概率。
可选的,所述计算各个所述节点的跳转概率,包括:
将各个所述节点利用随机概率计算出的路由值,转换为各个所述节点的路由概率。
可选的,所述向所述跳转概率满足预设条件的所述节点进行跳转,包括:
向路由概率最大的节点进行跳转。
可选的,所述搜索主体的属性信息,还包括:迭代批次;
相应的,所述在源节点设置搜索主体时,包括:
按照预设的时间间隔和预设的迭代批次的顺序,在所述源节点设置预设数量的所述搜索主体。
可选的,所述根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,包括:
若所述搜索主体位于源节点且所述搜索主体的迭代批次为1,则针对每个相邻的节点,均计算随机概率乘以所述相邻的节点的距离的倒数,作为每个所述相邻的节点的路由值和路由概率。
可选的,所述根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,包括:
若所述搜索主体不位于源节点或所述搜索主体的迭代批次不为1,则针对除源节点之外的每个相邻的节点,根据所述相邻的节点的信息素信息和当前节点距所述相邻的节点的距离信息,以及利用经验参数和随机概率,计算获得所述相邻的节点的路由值。
可选的,所述搜索主体的属性信息,还包括:信息素;
相应的,在执行所述向所述跳转概率满足预设条件的所述节点进行跳转的步骤之后,包括:
将跳转概率满足预设条件的所述节点的路由值,存入所述搜索主体携带的信息素。
可选的,所述更新所述节点的信息素信息,包括:
若所述搜索主体为到达所述节点的第一个搜索主体,则将所述搜索主体携带的信息素信息加成经验常数后,计入所述节点的信息素信息。
可选的,所述更新所述节点的信息素信息,包括:
若所述搜索主体不是到达所述节点的第一个搜索主体,则将所述搜索主体携带的信息素信息进行挥发处理之后,累加计入所述节点的信息素信息。
可选的,所述将所述搜索主体携带的信息素信息进行挥发处理之后,累加计入所述节点的信息素信息,包括:
将所述搜索主体携带的信息素信息进行挥发处理之后,与所述节点的信息素信息相累加,将累加的结果作为所述节点的信息素信息而更新。
可选的,所述将所述搜索主体携带的信息素信息进行挥发处理,包括:
根据所述搜索主体的迭代批次计算出挥发因子,使用计算出的挥发因子加成处理所述搜索主体携带的信息素信息。
可选的,所述将所述搜索主体携带的信息素信息进行挥发处理之后,与所述节点的信息素信息相累加,包括:
所述搜索主体的迭代批次越大,则进行挥发处理之后累加计入所述节点的信息素信息越少。
可选的,所述搜索主体的属性信息,还包括:生存周期;
所述生存周期根据云平台的物理层级进行设定;
相应的,在执行所述更新所述搜索主体的属性信息的步骤时,包括:
更新所述搜索主体的生存周期,路径长度,和节点路径列表。
可选的,在所述更新所述搜索主体的属性信息的步骤之后,包括:
判断所述搜索主体的生存周期是否达到设定的阈值;
若是,则将所述搜索主体按照所述搜索主体的属性信息返回所述源节点。
可选的,所述根据从所述目标节点返回所述源节点的所述搜索主体的属性信息,获取从所述源节点到所述目标节点的路径,包括:
从各迭代批次中,所述搜索主体的属性信息的节点路径列表内,获取从所述源节点到所述目标节点的路径。
可选的,所述获取从所述源节点到所述目标节点的路径,包括:
按照路径由短到长的顺序,从获取的所述路径中,依次获取最优路径、次优路径、第N优路径。
可选的,各个所述节点,包括:预设的初始信息素信息。
可选的,在所述根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率的步骤之前,包括:
向与所述搜索主体相邻的各个节点发送信息请求报文,接收各个所述节点返回的信息素信息并确定各个相邻节点的距离信息。
可选的,所述向所述跳转概率满足预设条件的所述节点进行跳转,包括:
若与所述搜索主体相邻的各个节点包括目标节点,则直接将所述搜索主体向目标节点跳转。
可选的,所述搜索主体的属性信息,还包括:状态码;所述状态码,包括:开路,更新,闲置,和确认;所述状态码的初始值设置为开路;
相应的,在执行所述更新所述搜索主体的属性信息的步骤时,包括:
设置所述搜索主体的状态码为更新;
在执行所述将所述搜索主体返回所述源节点的步骤时,包括:
设置所述搜索主体的状态码为确认;
在执行所述更新所述节点的信息素信息的步骤时,包括:
设置所述搜索主体的状态码为开路;
在执行所述将所述搜索主体返回所述源节点的步骤之后,包括:
设置所述搜索主体的状态码为闲置。
相应的,本申请实施例还提供了一种多节点路径选择装置,所述多节点路径选择装置,包括:
搜索主体设置单元,用于在源节点设置搜索主体;
跳转计算单元,用于根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,并向所述跳转概率满足预设条件的所述节点进行跳转;
返回单元,用于确定所述搜索主体跳转到的所述节点为目标节点时,则将所述搜索主体返回所述源节点。
可选的,所述搜索主体设置单元,设置的所述搜索主体携带属性信息,所述属性信息,至少包括:源节点信息、目标节点信息、节点路径列表以及路径长度。
可选的,所述多节点路径选择装置,还包括:
属性信息更新单元,用于在所述向所述跳转概率满足预设条件的所述节点进行跳转之后,更新所述搜索主体的属性信息;
信息素浓度判断单元,用于判断跳转到的所述节点的信息素信息,是否小于预设的阈值;
信息素更新单元,用于接收所述信息素浓度判断单元的判断结果,若是,则更新所述节点的信息素信息。
可选的,所述多节点路径选择装置,还包括:
跳转计算触发单元,用于在所述向所述跳转概率满足预设条件的所述节点进行跳转之后,确定所述搜索主体跳转到的所述节点不为目标节点时,则触发所述跳转计算单元。
可选的,所述多节点路径选择装置,还包括:
路径获取单元,用于在所述将所述搜索主体返回所述源节点之后,根据从所述目标节点返回所述源节点的所述搜索主体的属性信息,获取从所述源节点到所述目标节点的路径。
此外,本申请还提供一种电子设备,所述电子设备,包括:
处理器;
存储器,用于存储多节点路径选择程序,所述程序在被所述处理器读取执行时,执行如下操作:在源节点设置搜索主体;根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,并向所述跳转概率满足预设条件的所述节点进行跳转;确定所述搜索主体跳转到的所述节点为目标节点时,则将所述搜索主体返回所述源节点。
此外,本申请还提供一种云平台资源调度方法,所述云平台资源调度方法,包括:
将待调度的所述云平台资源作为对应的多节点路径中的节点,并使所述云平台资源之间的连接和距离关系与所述节点之间的连接和距离关系相对应;
将请求云平台资源的入口和被请求的云平台资源分别作为对应的多节点路径中的源节点和目标节点,应用权利要求1至25所述的任一项多节点路径选择方法,以选出多节点路径中的路径;
根据选出的多节点路径中的路径,确定对应的云平台资源分配路径;并按照确定的云平台资源分配路径,将对云平台资源的请求,分配给对应的云平台资源。
可选的,所述将请求云平台资源的入口和被请求的云平台资源分别作为对应的多节点路径中的源节点和目标节点,应用权利要求1至25所述的任一项多节点路径选择方法,以选出多节点路径中的路径;包括:
将请求云平台资源的入口和被请求的云平台资源分别作为对应的多节点路径中的源节点和目标节点,应用权利要求21所述的多节点路径选择方法,以选出多节点路径中的最优、次优和第N优路径。
可选的,所述根据选出的多节点路径中的路径,确定对应的云平台资源分配路径;并按照确定的云平台资源分配路径,将对云平台资源的请求,分配给对应的云平台资源;包括:
根据选出的多节点路径中的最优、次优和第N优路径,确定对应的云平台资源最优、次优分配路径;并按照确定的云平台资源最优、次优分配路径,将对云平台资源的请求,作为并行的分配路径,分配给对应的云平台资源;按照确定的云平台资源第N优分配路径,将对云平台资源的请求,作为备份的分配路径,分配给对应的云平台资源。
相应的,本申请实施例还提供了一种云平台资源调度装置,所述云平台资源调度装置,包括:
设置对应云平台资源的多节点路径单元,用于将待调度的所述云平台资源作为对应的多节点路径中的节点,并使所述云平台资源之间的连接和距离关系与所述节点之间的连接和距离关系相对应;
选出多节点路径的路径单元,用于将请求云平台资源的入口和被请求的云平台资源分别作为对应的多节点路径中的源节点和目标节点,应用权利要求26至30所述的任一项多节点路径选择方法,以选出多节点路径中的路径;
分配云平台资源单元,用于根据选出的多节点路径中的路径,确定对应的云平台资源分配路径;并按照确定的云平台资源分配路径,将对云平台资源的请求,分配给对应的云平台资源。
与现有技术相比,本申请具有以下优点:
本申请提供的一种多节点路径选择方法、装置及电子设备,通过在源节点设置搜索主体;根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,并向所述跳转概率满足预设条件的所述节点进行跳转;确定所述搜索主体跳转到的所述节点为目标节点时,则将所述搜索主体返回所述源节点。
本申请不同于现有技术仅考虑相邻节点的信息素因素,在计算搜索主体的相邻节点的路由概率时,综合考虑搜索主体的相邻节点的信息素和距相邻节点的距离因素,寻找出的节点在全局范围分布较为均匀,搜索主体找到的路径比现有技术更全,寻路效率也更高;同时,同时本方案采用比较合理的概率计算公式,简化了路由概率计算的复杂度,系统资源的耗费也更少。
本申请通过设置搜寻路径的搜索主体的生存周期,即设置蚂蚁的最大生存时间或最多节点跳转次数,不仅可以限制搜索主体进行过多和不必要的寻路,避免浪费系统资源;也可以利用搜索主体的最大生存周期,以及路径上信息素的浓度上限,来限制最优路径与其他路径上的信息素之间的差距,可以在一定程度上避免搜索主体寻找到的路径形成局部最优的情形。
本申请还可以通过设置搜索主体的状态码,结合状态码来控制搜索主体的寻路和更新行为并协助收集更详尽的路径分类信息。例如,状态码为开路的搜索主体在到达新节点时,会发出请求报文;状态码为更新的搜索主体,在到达新节点后会根据携带信息素对新节点的信息素进行更新;对状态码为确认的搜索主体,可以在返回源节点后获取其记录的最优路径;对状态码为闲置的搜索主体,可以获取其记录的不能到达目标节点的黑名单路径,以辅助其他的诸如排除路径错误等后续路径计算。
本申请在选出最优路径的同时,也可以选出次优和第三优路径,因而可以增加在云平台资源分配时选择路径的灵活性,也可以避免因最优资源分配路径堵塞造成的云平台系统的不稳定。在具体实施时,可以将次优路径同最优路径并行使用,也可以将第三优资源分配路径作为冗余备份路径,在最优和次优资源路径出现障碍后介入容错,提高云平台系统的稳定性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1示出了根据本申请的实施例提供的多节点路径选择方法的实施例流程图;
图2示出了根据本申请的实施例提供的多节点路径的节点构成示意图;
图3示出了根据本申请的实施例提供的一种搜索主体的状态码状态变化示意图;
图4示出了根据本申请的实施例提供的现有技术计算的蚂蚁相邻节点的路由概率散点图;
图5示出了根据本申请的实施例提供的本实施例计算的搜索主体相邻节点的路由概率散点图;
图6示出了根据本申请的实施例提供的多节点路径选择装置的示意图;
图7示出了根据本申请的实施例提供的电子设备的示意图;
图8示出了根据本申请的实施例提供的云平台资源调度方法的流程图;
图9示出了根据本申请的实施例提供的云平台资源调度装置的示意图。
具体实施方式
为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和具体实施方式对本申请进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是,本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此,本申请不受下面公开的具体实施的限制。
本申请的实施例提供了一种多节点路径选择方法以及一种云平台资源调度方法。本方案还涉及一种多节点路径选择装置以及一种云平台资源调度装置。在下面的实施例中逐一进行详细说明。
在详细描述本实施例的具体步骤之前,先对本技术方案涉及的蚁群算法作简要说明。
蚁群算法(ant colony optimization,ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。蚁群算法是一种模拟进化算法,初步的研究表明该算法具有许多优良的性质。针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结果表明,蚁群算法具有一种新的模拟进化优化方法的有效性和应用价值。
所述蚁群算法中的蚂蚁(包括前向蚂蚁以及后向蚂蚁)是指:云平台调度系统对平台资源的请求,每一个请求作为一个蚂蚁。
所述蚁群算法中的节点是指:云平台调度系统内的计算节点。其中,所述源节点是指:请求的发起节点;所述目标节点是指:所述源节点所寻找的计算节点。
所述蚁群算法中的信息素信息是指:跳转概率,即:蚂蚁选择向该节点进行跳转的概率。可以理解的,当所述信息素信息的浓度越高时,则蚂蚁选择向该节点进行跳转的概率就越大,同样的道理,当所述信息素信息的浓度越低时,则蚂蚁选择向该节点进行跳转的概率就越小。所述跳转概率可以通过一定的算法进行计算后得出。
本申请的实施例提供了一种多节点路径选择方法。所述多节点路径选择方法实施例如下:
请参考图1,其示出了根据本申请的实施例提供的多节点路径选择方法的流程图。
所述多节点路径选择方法,包括:
步骤S101,在源节点设置搜索主体。
在本实施例中,所述搜索主体是设置于多个两两相互直接连接的节点所组成的多节点路径中的。在这个多节点路径中,所述源节点即起始节点,目标节点即终点节点,任意一个节点与同这个节点直接连接其他节点的连接关系和距离是可知的。两个直接连接的不同节点距离源节点和目标节点的远近,最好是可以确定的,也可以是不能确定的;两个直接连接的节点之间可以属于同一节点平面,也可以分别属于不同的节点平面,即多节点路径可以是立体的路径。
需要说明的是,本申请是出于蚁群算法的启发而重新对其进行改进获得的,但本方案可以不依赖蚁群算法而独立实施。其中,所述搜索主体,可以是蚁群算法中的蚂蚁。
在本实施例中,所述搜索主体均携带有各自的属性信息,即:描述所述搜索主体本身的数据格式信息,所述属性信息,至少包括:源节点信息、目标节点信息、节点路径列表以及路径长度。
在本实施例中,为了简化说明,请参考图1,其示出了根据本申请的实施例提供的多节点路径的节点构成示意图。在图2中,源节点为S,目标节点为D,中间节点为A,B,C,E,F,M和N;这些节点之间的连接关系和距离已经在设置蚂蚁之前明确。
在本实施例中,所述搜索主体包括前向蚂蚁(Forward ExplicitAnt)和后向蚂蚁(Backward ExplicitAnt)两种类型。所述前向蚂蚁是用于寻找路径,而所述后向蚂蚁是用于带回源节点寻找到的路径信息。所述后向蚂蚁与前向蚂蚁之间是转变和继承的关系,即满足设定条件之后,即前向蚂蚁到达目标节点、超过生存周期或者无法找到目标节点时,前向蚂蚁转变为后向蚂蚁;转变后,原前向蚂蚁消灭,后向蚂蚁继承原前向蚂蚁的属性信息,并沿原前向蚂蚁跳转的原路径,返回源节点。
在本实施例中,所述搜索主体的属性信息,具体是指:
源节点信息:记录的发起节点;
目标节点信息:记录的终点节点;
节点路径列表:列表格式,搜索主体经过的每个节点,均按照先后顺序、采用先进先出的方式写入这个列表;
路径长度:记录搜索主体经过的节点之间的累加距离。
可以理解的,本申请是通过所述搜索主体在所述多节点路径中进行寻路的算法,所以在所述搜索主体进行寻路之前,多节点路径的源节点和目标节点是已知的,因此搜索主体的源节点和目标节点均在初始设置时具体明确地设定,之后无论搜索主体(此时为前向蚂蚁)如何跳转甚至转变成后向蚂蚁之后,也不会发生任何改变。所以在本步骤中设置的所述搜索主体中携带源节点信息以及目标节点信息。
节点路径列表,是记录的搜索主体所经过的每一个节点、按照经过节点的先后顺序排列的节点标识列表。在搜索主体跳转经过一个新节点时,均更新搜索主体的属性信息,将搜索主体当前所处的节点的标识,以先进先出的方式,压入这个搜索主体的节点路径列表之中。一个节点路径列表的第一项节点必然是源节点。例如,在本实施例中,例如:所述搜索主体的节点路径列表为:S,A,F和D,则表明所述搜索主体顺序跳转经过了节点S、A、F和D这个路径。
路径长度,是所述搜索主体在多节点路径中实际跳转经过的总距离。在本方案中,出于简化计算和说明的原因,距离长度是采用时间单元来计算的,一般以毫秒为单位。当然,在具体实施本方案时,可以采用其他的距离长度计算方式,例如采用所述搜索主体经过的实际距离来计算。路径长度是一个累加值,由所述搜索主体顺序经过的节点的每段距离相累加而成;在所述搜索主体跳转经过一个新节点、更新所述搜索主体的属性信息时,均将上一节点跳转至当前节点的距离,累加计入路径长度。例如,在本实施例中,所述搜索主体顺序经过节点S,A和F,则在节点F时,更新路径长度为3;继续跳转至节点D时,则将节点F和D之间的距离2,加入路径长度;在节点D的路径长度即为5。
需要说明的是,由于只通过一次寻路不一定能够获取到目标节点的路径,所以需要进行多次寻路,则为了区分每批次进行寻路的所述搜索主体,在设置所述搜索主体时,所述搜索主体的属性信息,还包括:迭代批次。
所述搜索主体的迭代批次,具体为在源节点设置所述搜索主体的特定批次;迭代批次越大,则表明所述搜索主体在设置于源节点时所处的批次越靠后。迭代批次一经初始设置,之后不再作任何更改。例如,在本实施例中,假设迭代批次设置为3,而迭代批次为1的所述搜索主体即为在第一批次设置在源节点上的,迭代批次为2的所述搜索主体即为在第二批次设置在源节点上的,迭代批次为3的所述搜索主体即为在迭代批次为2的所述搜索主体之后设置在源节点上的;所述搜索主体的迭代批次是固定不变值。
在具体实施时,一般是按照设定的时间间隔和设定的迭代批次的顺序,在源节点设置设定数量的所述搜索主体。具体设定的时间间隔、迭代批次和设定数量,也可以根据具体实施的情况灵活确定。
例如:可以设置在源节点每隔时间间隔15秒、具体分为迭代批次最大3次、一共放置30个所述搜索主体,即在特定时刻,在源节点设置迭代批次为1的10个所述搜索主体;15秒后,在源节点设置迭代批次为2的10个所述搜索主体;30秒后,在源节点设置迭代批次为3的10个所述搜索主体。
步骤S103,根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,并向所述跳转概率满足预设条件的所述节点进行跳转。
需要说明的是,在本步骤中的所述搜索主体为前向蚂蚁。
在本实施例中,所述根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,可以采用如下方式实现:根据所述搜索主体所处的节点直接连接的相邻节点的信息素信息,和所述搜索主体所处节点距相邻节点的距离信息,并利用随机概率,计算各个所述节点的跳转概率。
在具体实施时,所述计算各个所述节点的跳转概率,是将各个所述节点利用随机概率计算出的路由值,转换为各个所述节点的路由概率,并从计算出的相邻节点的路由概率之中,选出满足设定路由概率条件的相邻节点,将所述搜索主体向选出的相邻节点跳转。
在本实施例中,所述搜索主体的节点是指所述搜索主体所处的节点,也称为本节点;所述搜索主体的相邻节点,是指在多节点路径中与所述搜索主体所处的节点直接连接的节点,也称为所述搜索主体的相邻节点或本节点的相邻节点。所述搜索主体的节点与所述搜索主体的相邻节点直接连接的含义是:所述搜索主体的节点与相邻节点之间不存在其他任何节点,而且所述搜索主体的节点与相邻节点之间是可以双向相互连通的,即所述搜索主体或其他数据或信息可以从所述搜索主体的节点跳转或发送到相邻节点,反之亦然。
需要说明的是,信息素信息为所述搜索主体经过某个节点时,留下的经过这个节点的痕迹信息;多节点路径中的每个节点都具有信息素信息,在初始化时设置多节点路径的每一个节点的信息素信息为0;在特定时间内,如果经过某一个节点的搜索主体越多,则这个节点上的信息素信息的值就越大。相邻节点的信息素信息,即为相邻节点具有的信息素信息,在所述搜索主体跳转至这个相邻节点后会对这个相邻节点上的信息素进行累加;相邻节点的距离信息,即为所述搜索主体所处的当前节点到这个相邻节点的距离的信息。相邻节点的信息素信息和距离信息可以通过从当前节点发送信息请求报文、相邻节点收到报文后向原发送节点发送相应的反馈信息来实现。当然,本方案不排除其他获得所述搜索主体的相邻节点的信息素信息和距离信息的方法。具体而言,在执行步骤S103之前,需要优先获取相邻节点的信息素信息:
向与所述搜索主体相邻的各个节点发送信息请求报文,接收各个所述节点返回的信息素信息并确定各个相邻节点的距离信息。
需要说明的是,返回的信息素信息需要预先进行设置,使在多节点路径中的各个节点一旦接收到相邻节点发送的信息请求报文,就立即向发送报文的节点发送本节点上的信息素信息。
所述搜索主体所处的节点直接连接的各个相邻节点发送信息请求报文,接收各个相邻节点据此反馈返回的各个相邻节点的信息素信息并确定所述搜索主体所处的节点距各个相邻节点的距离信息。
首先寻找并确定所述搜索主体的相邻节点,即确定当前节点有几个直接连接的相邻节点、具体是哪几个相邻节点;之后向这些相邻节点中的每一个都发送一个信息请求报文;每个相邻节点在接收到信息报文请求时,作为预设的回应,会立即将本节点的信息素信息发送给发来信息请求报文的节点;由于在本实施例中,可以使用时间单位来估算距离,假定相邻节点不会延迟发送信息素信息,则可以根据在所述搜索主体的当前节点发送信息请求报文和接收到信息素信息的时间差,确定相邻节点的距离信息。
例如:所述搜索主体位于源节点S,则向相邻节点A,B,C和E发送信息请求报文,相邻节点A,B,C和E则在接到信息请求报文时立即向源节点发送节点A,B,C和E当前所保存的信息素信息;并根据在源节点S发送信息请求报文和接收到相邻节点A,B,C和E发送的信息素信息的时间差,确定相邻节点A,B,C和E的距离信息。
需要说明的是,由于只通过一次寻路不一定能够获取到目标节点的路径,所以需要进行多次寻路,则为了区分每批次进行寻路的所述搜索主体,在设置所述搜索主体时,所述搜索主体的属性信息,还包括:迭代批次。
而在本步骤中,所述根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率时,需要根据所述搜索主体的迭代批次,根据相应批次计算各个所述节点的跳转概率,具体包括如下步骤:
若所述搜索主体位于源节点且所述搜索主体的迭代批次为1,则针对每个相邻的节点,均计算随机概率乘以所述相邻的节点的距离的倒数,作为每个所述相邻的节点的路由值和路由概率。
需要说明的是,所述搜索主体的路由概率是判断所述搜索主体选择下一跳的相邻节点的依据。在根据所述搜索主体的相邻节点的信息素信息和距离信息并利用随机概率,计算相邻节点的路由概率时,如果所述搜索主体所处的当前节点为源节点,而且所述搜索主体的迭代批次为1,则对每一个相邻节点,均计算随机概率乘以相邻节点的距离的倒数,将计算的结果作为每一个相应的相邻节点的路由概率。应当注意,随机概率的值范围是(0,1);在计算随机概率乘以所述相邻节点的距离的倒数时,每一次计算均随机重新获取随机概率的值。
所述搜索主体的相邻节点的路由值是所述搜索主体本身携带的与计算路由概率相关的值,用作更新所述搜索主体跳转的下一跳相邻节点的信息素信息。在所述搜索主体所处的当前节点为源节点,而且所述搜索主体的迭代批次为1的情况下,相邻节点的路由值与路由概率相同,计算出路由概率也就等于计算出了路由值。
在本实施例中,根据所述搜索主体当前是否位于源节点且所述搜索主体的迭代批次为1,进行计算路由概率的方法是不同的。所述搜索主体当前位于源节点且所述搜索主体的迭代批次为1时,即此时所述搜索主体在第一批次设置在源节点,可以确定之前没有任何搜索主体曾经跳转到过任何节点,相邻节点的信息素信息均为0。在计算路由概率时可以只针对相邻节点的距离信息和随机概率进行计算。
如果用q表示随机概率,s表示源节点,i表示与s直接连接的相邻节点,T表示s节点到i节点的距离,则针对当前节点为s节点,相邻节点i节点的路由概率,可以通过如下公式计算:
例如:针对第一批设置在源节点S的一个搜索主体,则所述搜索主体的相邻节点A,B,C和E的距离分别为2,1,2,和3;计算路由概率时,先取一个随机概率,假设0.8,计算相邻节点A的路由概率为0.4,路由值Ja也为0.4;取另一个随机概率,假设0.2,计算相邻节点B的路由概率为0.2,路由值Jb也为0.2;取另一个随机概率,假设0.5,计算相邻节点C的路由概率为0.25,路由值Jc也为0.25;取另一个随机概率,假设0.6,计算相邻节点E的路由概率为0.2,路由值Je也为0.2。
在本实施例中,若所述搜索主体的迭代批次不为1时,根据相应批次计算各个所述节点的跳转概率,具体包括如下步骤:
若所述搜索主体不位于源节点或所述搜索主体的迭代批次不为1,则针对除源节点之外的每个相邻的节点,根据所述相邻的节点的信息素信息和当前节点距所述相邻的节点的距离信息,以及利用经验参数和随机概率,计算获得所述相邻的节点的路由值。
需要说明的是,在所述搜索主体不位于源节点或所述搜索主体的迭代批次不为1时,首先确定所述搜索主体所处的当前节点直接连接的相邻节点,再针对每一个相邻节点,根据相邻节点保存的信息素信息和当前节点距相邻节点的距离,以及利用马尔科夫过程的经验参数和数值范围为(0,1)的随机概率,计算获得每一相邻节点的路由值;并将上述计算获得的所有相邻节点的路由值,转换为数值范围为(0,1)的相邻节点的路由概率。
具体而言,可以通过下述公式计算相邻节点的路由值:
Jiu=[1+ti,u]α*[δi,u]β
本公式计算所述搜索主体位于节点i时,与节点i直接连接的非源节点的节点u的路由值Jiu。在公式中,α,β为常数,根据马尔可夫过程中的经验公式,α,β在计算时都等于0.9;ti,u代表当前时刻所述搜索主体的相邻节点u的信息素信息;当相邻节点u未曾有任何搜索主体经过时,ti,u为0;相邻节点的信息素信息的确定方法将在本实施例的后续步骤中详细讨论;δi,u=1/(q*T),T代表从节点i到节点u的距离信息,其中q为数值为(0,1)之间的随机概率。
在本实施例中,是将各个所述节点利用随机概率计算出的路由值,转换为各个所述节点的路由概率,则将各个相邻节点的路由值通过下述公式,转换为各个相邻节点的路由概率:
在本公式中,N为计算路由值的搜索主体的相邻节点的个数,m为从1至N的整数。
例如,在本实施例中,假设第一批次的搜索主体从源节点S跳转至节点A时,首先确定相邻节点为B、M和F,则获取相邻节点的信息素信息和距离信息,由于此时信息素信息均为0,相邻节点B的距离为1,M的距离为2,F的距离为1;利用上述公式计算搜索主体的相邻节点B、M和F的路由值结果如下(假设随机选取的q的值在计算Jab,Jaf和Jam时,分别取值为0.5,0.65和0.35):
这样,可以计算出搜索主体的相邻节点B、M和F的路由概率则分别为:
Pab=Jab/(Jab+Jam+Jaf)=0.3955
Paf=Jam/(Jab+Jam+Jaf)=0.3123
Pam=Jaf/(Jab+Jam+Jaf)=0.2921
在进行相邻节点的路由值之前,可以排除明显不适合搜索主体跳转的节点,以减少计算量和提高计算效率;出于特殊原因,当然也可以在计算之后再排除。可以排除源节点以及与源节点直接连接的节点。源节点和与源节点直接连接的节点比较容易确定,直接排除即可。例如:节点B明显与源节点S直接连接,因此可以直接排除节点B,不进行节点B的路由值和路由概率的计算,只针对节点M和F进行计算。
在进行相邻节点的路由值计算之前,也可以排除距源节点更近的节点以及排除距目标节点更远的节点。距源节点更近的节点指的是搜索主体相邻节点距源节点比搜索主体所处的节点距源节点更近;距目标节点更远的节点指的是搜索主体的相邻节点距目标节点比搜索主体所处的节点距目标节点更远。由于搜索主体每跳转一步应该更远离源节点而更靠近目标节点,跳转至下一个更靠近源节点或更远离目标节点的相邻节点是没有意义的,因此可以将这样的相邻节点排除,不必进行路由值的计算。在具体实施时,对搜索主体的相邻节点距源节点和距目标节点的远近,可以采用图论的有关理论进行判断,或者利用其他简便的方法。例如,Java中有现成的类(GraphReverse);可以认为如果搜索主体处于节点A,它的下一跳如果在矩阵的序列映射里,超过90°了,就是据S更近。
在计算出搜索主体的相邻节点的路由概率之后,根据设定的路由概率条件,选出满足设定路由概率条件的相邻节点,执行所述搜索主体向选出的相邻节点的跳转。一般情况下,设定的路由概率条件均为路由概率为最大,因此选出满足设定路由概率条件的相邻节点,就是选出计算出的路由概率为最大的相邻节点;将搜索主体向这个选出的相邻节点进行跳转。
例如:在搜索主体所处的当前节点为源节点而且搜索主体的迭代批次为1时,搜索主体在节点S,计算出的相邻节点的路由概率分别为相邻节点A的路由概率Psa均为0.4,相邻节点B的路由概率Psb为0.2,相邻节点C的路由概率Psc为0.25,和相邻节点E的路由概率Pse为0.2;其中路由概率最大的相邻节点为节点A,则选出相邻节点A作为下一跳的目标,将搜索主体从节点S向选出的相邻节点A进行跳转。
再例如:在搜索主体不位于源节点或所述搜索主体的迭代批次不为1时,搜索主体在节点A,在排除直接与源节点连接的相邻节点B之后,计算出的相邻节点F的路由概率Paf为0.3123,和相邻节点F的路由概率Pam为0.2921;其中路由概率最大的相邻节点为节点F,则选出相邻节点F作为下一跳的目标,将搜索主体从节点A向选出的相邻节点F进行跳转。
由于所述搜索主体携带的属性信息,需要记录节点路径列表以及路径长度,所以每当所述搜索主体到达新的节点后,都需要更新所述搜索主体的属性信息,以及当节点有搜索主体到达时,更新所述节点的信息素浓度,所以跳转概率满足预设条件的所述节点进行跳转的步骤之后,需要执行如下步骤:
更新所述搜索主体的属性信息;
判断跳转到的所述节点的信息素信息,是否小于预设的阈值;
若是,则更新所述节点的信息素信息。
需要说明的是,在搜索主体跳转到达新节点时,更新搜索主体的属性信息中的节点路径列表和路径长度。将新节点按顺序加入节点路径列表之中;将跳转至这个新节点所经过的距离,即搜索主体的上一节点到新节点的距离,累加进入路径长度。例如:搜索主体跳转前在节点A的节点路径列表按顺序为:节点S,和节点A;路径长度为2;则在跳转到达节点F之后,更新节点路径列表为:节点S,节点A,和节点F;路径长度为3(原路径长度2加上节点A到节点F的距离1)。
为了对所述搜索主体到达的节点的信息素浓度进行更新,在设置所述搜索主体时,所述搜索主体的属性信息,还包括:信息素;
相应的,在执行步骤S103向所述跳转概率满足预设条件的所述节点进行跳转的步骤之后,包括:
将跳转概率满足预设条件的所述节点的路由值,存入所述搜索主体携带的信息素。
在选出路由概率为最大的相邻节点并将搜索主体向选出的相邻节点跳转时,还可以同时对搜索主体的属性中的携带信息素进行相应的更新,将对应选出搜索主体的路由值,存入搜索主体的携带信息素。将路由值存入搜索主体的携带信息素采用覆盖存入的方式,即每一次更新搜索主体的携带信息素,都是存入正在跳转的相邻节点的路由值。搜索主体在到达新节点后,需要使用这个携带信息素来更新新节点上的信息素。
例如:本实施例在搜索主体所处的当前节点为源节点而且搜索主体的迭代批次为1的优选步骤中,搜索主体在节点S,选出的路由概率最大的相邻节点为节点A;节点A的路由值Ja和路由概率Psa相同,均为0.4;则可以将路由值0.4存入搜索主体的携带信息素之中。
再例如:本实施例在搜索主体不位于源节点或所述搜索主体的迭代批次不为1的优选步骤中,搜索主体在节点A,选出的路由概率最大的相邻节点为节点F;计算出的相邻节点F的路由值Jaf具体为1.4736(此时相邻节点F的路由值Jaf同路由概率Paf的0.3123不相同);则可以将路由值1.4736存入搜索主体的携带信息素之中。
在本实施例中,再对所述节点的信息素信息进行更新时,先要判断所述搜索主体到达的所述节点的当前信息素浓度是否达到预设的阈值,若所述节点的当前信息素浓度未达到预设的阈值,则对所述节点的信息素进行更新;若所述节点的当前信息素浓度达到预设的阈值,则保持所述节点的信息素不变。
需要说明的是,可以将各节点的信息素的范围设置在[min,max]max=16之间,即:所述预设的阈值为16。
在现有技术的方案中,蚂蚁在计算路由概率和选出下一跳的相邻节点时,并不综合考虑相邻节点的信息素信息和距相邻节点的距离信息,即计算相邻节点的路由概率的参数并不包括蚂蚁距相邻节点的距离信息。所以,实施现有技术的方案所获得的蚂蚁跳转节点的路由概率散点图是一个不相关图,如图4所示,不论设置多少批次的蚂蚁,各个批次之间是互相独立。现有技术计算路由概率的结果往往离散度比较大,通过这种路由概率计算方法选出的蚂蚁跳转节点,在多节点路径图中经常呈现为两头大中间小的哑铃形,蚂蚁寻找到的路径经常不全,寻路效率比较低;同时,现有技术计算路由概率的算法也很繁复,导致计算路由概率时系统资源的耗费比较高。
而本方案通过把搜索主体的相邻节点的信息素信息和距相邻节点的距离信息结合起来形成一个自相关系数,并取β次方来形成一个偏相关系数。如图5所示,在图论中,本方案计算获得的偏相关图显现出明显截尾现象,在两端的极值点也比现有技术的散点更少。通过本方案计算的路由概率所选出的搜索主体跳转节点,在多节点路径图中会呈现比较均匀的纺锤形,搜索主体寻找到的路径更为全面和均匀,搜索主体的寻路效率更高;同时本方案采用比较合理的概率计算公式,简化了路由概率计算的复杂度,系统资源的耗费也更少。
在具体实施时,在所述更新所述节点的信息素信息时,会根据到达所述节点的搜索主体的数量,更新所述节点的信息素信息,具体包括如下步骤:
若所述搜索主体为到达所述节点的第一个搜索主体,则将所述搜索主体携带的信息素信息加成经验常数后,计入所述节点的信息素信息;
若所述搜索主体不是到达所述节点的第一个搜索主体,则将所述搜索主体携带的信息素信息进行挥发处理之后,累加计入所述节点的信息素信息。
需要说明的是,当所述搜索主体是到达所述节点的第一个搜索主体,由于所述节点具有预设的初始信息素信息,可以将所述搜索主体携带的信息素乘以一个经验常数后,直接计入所述节点的信息素。
例如:预设的初始信息素信息可以设置为0,或者设置为较低的数值。
所述节点的信息素信息可以实际存储位置可能有多个,可以存储于所述节点或所述节点之外的其他存储位置。只要在需要从所述节点获取所述节点的信息素信息时可以正常读取、在更新所述节点的信息素时可以正常存储即可。
搜索主体携带的信息素,是在步骤S103中计算相邻节点的路由概率的同时计算获得的。经验常数一般选取0.5,当然也可以根据实际实施情况,选取其他的经验常数的数值,对来自不同路径的搜索主体分别给予不同的经验常数。当预设的初始信息素信息为0时,一个节点在有第一个搜索主体到达之后,所述节点的信息素信息就不再是0,而是所述搜索主体携带的信息素的值。
例如:搜索主体从源节点S跳转至新节点A时,所述搜索主体携带的信息素的值为0.4,则将0.4加成经验常数后获得的值0.2,计入节点A的信息素信息。
再例如:搜索主体从节点A跳转至新节点F时,所述搜索主体携带的信息素的值为1.4736,则将1.4736加成经验常数后获得的值0.7368,计入新节点F的信息素信息。
需要说明的是,当搜索主体不是到达所述节点的第一个搜索主体,即所述节点上已经存在不为0的信息素信息,则所述搜索主体携带的信息素信息进行挥发处理之后,并以所述节点的当前信息素为基础,将所述节点已经存在的信息素信息相累加,将累加的值作为所述节点的信息素信息而存储。
因此,每一个到达新节点的前向蚂蚁之前在上一节点,例如节点i,所获得的这个新节点,例如节点u,的信息素信息都是之前所有到达过这个新节点u的前向蚂蚁的携带信息素的叠加值,即∑Tu。
从第二个到达节点的搜索主体起算,不能再直接将所述搜索主体携带的信息素信息计入所述节点的信息素,而需要对其进行挥发处理,即根据所述搜索主体的迭代批次计算出挥发因子,使用计算出的挥发因子加成处理所述所述搜索主体携带的信息素信息。
在具体实施时,可以采用下述公式来定义一个挥发因子ε:
其中,k为前向蚂蚁的迭代批次,k=1,2,3…n,n为正整数。
从上面的公式可以看出,蚂蚁的迭代批次k的取值越大,挥发因子ε的值就越接近于0,蚂蚁的迭代批次k的取值越小,挥发因子ε的值就越大。
再使用下述挥发处理蚂蚁的携带信息素的公式,计算出可以累加计入新节点的信息素的值:
ΔTu=ε*Ju*(K+1)
其中Ju为前向蚂蚁的携带信息素(从上一节点跳转至新节点的路由值),k为前向蚂蚁的迭代批次,ε为挥发因子。
更新后的新节点的信息素为新节点的原信息素∑Tu与挥发后蚂蚁的携带信息素ΔTu相累加的值,即:∑Tu+ΔTu。
例如,在本实施例中,假设在设定的时间间隔之后,第二批次的10只前向蚂蚁中又有一只到达新节点F,这只蚂蚁为到达节点F的第二只蚂蚁;则这只蚂蚁的迭代批次k=2,计算其挥发因子ε=1-0.693147/1.098612=0.3691,假设这只蚂蚁携带的信息素是1.2525,则挥发后可以计入的信息素为:0.3691*1.2525*3=1.3869;而在节点F的原信息素为1.4736,则第二只前向蚂蚁对节点F进行信息素更新,更新后节点F的信息素即为:1.4736+1.3869=2.8605。
需要说明,当k越大,则挥发因子ε就约趋近于0;例如当k=1000时,即第1000迭代批次的蚂蚁到达一个新节点时,则ε=1-6.9077552789/6.9087547793=0.00003。这说明,蚂蚁的迭代批次越靠后,进行挥发处理之后累加计入所述新节点的信息素信息越少,蚂蚁对新节点的信息素的增强作用就越低。
步骤S105,确定所述搜索主体跳转到的所述节点为目标节点时,则将所述搜索主体返回所述源节点。
在本实施例中,当所述搜索主体转到达新节点并更新所述搜索主体的相关属性信息之后,需要确定到达的所述节点是否为目标节点,若到达的所述节点是目标节点,则将所述搜索主体按照节点路径列表中的路径返回源节点。由于到达的所述节点是目标节点,所述搜索主体已经成功找到目标节点,完成了从源节点到目标节点的路径构建。
可以理解的,所述搜索主体是以前向蚂蚁的状态达到所述目标节点的,在达到所述目标节点后,需要将所述搜索主体的状态转变为后向蚂蚁,由后向蚂蚁继承所述搜索主体的属性信息。
例如:若前搜索主体从节点F直接跳转到达节点D,在更新了所述搜索主体的属性信息之后,判断到达的新节点即为目标节点,则将所述搜索主体的状态转变为后向蚂蚁,转变后的所述搜索主体继承所述搜索主体的属性信息,即源节点,目标节点,节点路径列表,路径长度,迭代批次等,此时在转变后的所述搜索主体的各个属性中,源节点,目标节点,迭代批次均与初始设置前向蚂蚁时相同,节点路径列表按顺序为源节点S,节点A,节点F和目标节点D,路径长度为5。
可以理解的,所述搜索主体的目的是在多节点路径中寻找所述目标节点,但是在所述搜索主体进行跳转时,跳转到的节点可能不为目标节点,所以所述搜索主体在达到某一节点后,需要确定到达的所述节点是否为目标节点,若所述搜索主体跳转到的所述节点不为目标节点时,则返回并执行步骤S103根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率的步骤,再次计算相邻节点的路由概率,并选出满足路由概率条件的相邻节点,进行再一次的所述搜索主体的跳转。
在本实施例中,当搜索主体确定所述搜索主体跳转到的所述节点为目标节点时,并返回所述源节点时,是通过所述搜索主体内的属性信息记录的节点路径列表返回所述源节点的,当所述搜索主体返回所述源节点后,就可以通过节点路径列表获取从所述源节点到所述目标节点的路径。
可以理解的,所述节点路径列表反映了搜索主体在寻路的整个过程并记录了所述搜索主体经过的路径节点情况。
由于搜索主体在进行寻路时,到达目标节点的路径可能不唯一,所以需要对从所述源节点到所述目标节点的路径进行筛选,获取优选路径。
例如:以最小路径长度所对应的节点路径列表,作为从源节点到目标节点的最优路径。
获取从目标节点返回源节点的节点路径列表和路径长度,从中选出最小路径长度所对应节点路径列表,将这个节点路径列表中的节点路径,作为多节点路径从源节点到目标节点的最优路径。由于路径长度可以反映搜索主体从源节点到目标节点的移动效率,选择路径长度作为依据来选择最优路径成为一个较佳的标准。
例如:假设在分为3个批次每批次在源节点设置10个搜索主体(共30个)之中,一共有25个搜索主体返回源节点,其中23个搜索主体到达过目标节点,2个搜索主体未曾到达目标节点;则在23个到达过目标节点的搜索主体之中,比较其路径长度并选出其中路径长度为最小的搜索主体的节点路径列表,例如,路径长度为8对应一个节点路径列表,具体为节点S,节点B,节点M和节点D;路径长度为7对应两条节点路径列表,一条为节点S,节点B,节点A,节点M和节点D,另一条为节点S,节点A,节点M和节点D;路径长度为6对应一条节点路径列表,具体为节点S,节点C,节点E和节点D;路径长度为5对应的两条节点路径列表,一条为节点S,节点A,节点F和节点D,另一条节点路径列表为节点S,节点E和节点D。最小的路径长度为5,将其对应的两条节点路径列表,即节点S,节点A,节点F和节点D以及节点路径列表为节点S,节点E和节点D,作为从源节点到目标节点的最优路径。
在最小路径长度对应多个不同节点路径列表的情况下,也可以按照不同标准从中进一步选择更优的路径方案。在本实施例中,优选路径列表中节点数量最少。
若最小路径长度对应两个以上的节点路径列表,则从中选出节点数量最少的节点路径列表,作为从源节点到目标节点的最优路径。
如果最小路径长度对应节点路径列表有两个以上,即最优路径的选择有两个以上的节点路径列表,则选择其中节点数量最少的节点路径,作为源节点到目标节点的最优路径。选择节点数量最少,主要是考虑到节点数量少,搜索主体跳转的次数就少,相对跳转效率较高。
例如:最小的路径长度为5对应两条节点路径列表,即节点S,节点A,节点F和节点D以及节点路径列表为节点S,节点E和节点D,则选查看着两条节点路径列表中的节点数量,第一条节点路径列表的节点数量是4个,第二条节点路径列表的节点数量是3个,选择节点数量最少的第二条节点路径列表,即节点S,节点E和节点D,作为从源节点到目标节点的最优路径。
本申请不仅可以选出最优路径,而且同时也可以选出次优和第三优路径:
根据从目标节点返回源节点的节点路径列表和路径长度,选出从源节点到目标节点的次优和第三优路径。
按照选择最优路径的相同思路,可以根据从目标节点返回源节点的搜索主体的属性信息中的节点路径列表和路径长度,选出从源节点到目标节点的次优和第三优路径。选择次优和第三优路径的具体标准可以根据实际实施情况来灵活掌握,可以先按照路径长度,再按照路径中节点的数量来排序选择;也可以采用其他选择标准。
例如:由于最小路径长度为5的节点路径列表有两个,则按照路径中节点的数量最少选出最优路径节点S,节点E和节点D之后,选择另一条路径长度最小的节点S,节点A,节点F和节点D作为次优路径;再选择路径长度为6的节点S,节点C,节点E和节点D,作为第三优路径。
作为一种优选的实施方式,在本申请提供的多节点路径选择方法中,在执行步骤S103向所述跳转概率满足预设条件的所述节点进行跳转时,如果搜索主体所处当前节点的相邻节点包括目标节点,则无需向相邻节点发送任何信息请求报文,无需计算相邻节点的路由概率,也无需选出满足设定路由概率条件的相邻节点,可以直接将所述搜索主体向目标节点跳转。
由于搜索主体的终极目的是找到通向目标节点的路径,在发现相邻节点即为目标节点时,出于寻路效率和节省系统资源的考虑,当然不必进行任何其他路由计算的选择工作,应该直接将所述搜索主体向目标节点跳转。
例如:如果搜索主体跳转至节点F,在节点F搜寻相邻节点,发现与相邻节点为节点E,D和N,则不进行其他任何路由概率计算,直接将所述搜索主体向目标节点D跳转。
作为一种优选的实施方式,在本申请提供的多节点路径选择方法中,本申请中的搜索主体:前向蚂蚁和后向蚂蚁都具备若干特定的属性,即它们都具有相若干特定的数据格式。蚂蚁的属性信息反映了蚂蚁本身的特点和蚂蚁本身携带的不同类别的信息。下面请参考表1进行说明。
一种蚂蚁的数据格式示意表:
表1
在本实施例中,每一搜索主体均可以初始化为具有表1所示的下述数据格式。本实施例不排斥搜索主体实施采用其他具体内容的数据格式,只要这种格式可以提供本方案所需的必要属性信息即可。表1中的搜索主体的数据格式仅为参考和举例说明性质:
版本位:用于记录搜索主体的类型,例如,00代表前向蚂蚁,01代表后向蚂蚁,10和11预留;
状态码:用于记录搜索主体的状态码,例如,00代表开路,01代表更新,10代表闲置,11代表确认;
重量服务码:用于区分本次任务的优先级;
结果码:用来记录初始化搜索主体数据的情况,例如00代表数据格式化失败,01代表数据格式化成功,10代表数据格式化请求,11预留;
生存周期:类似于IP报文的TTL值(生存时间),防止搜索主体因系统错误打环,限制搜索时间和范围;
迭代批次:设置的最大迭代批次;
携带信息素:每一次搜索主体在跳转至新节点时,从跳转前的节点计算跳转至新节点的携带信息素;
源节点:记录的发起节点;
目标节点:记录的终点节点;
节点路径列表:列表格式,搜索主体经过的每个节点,均按照先后顺序、采用先进先出的方式写入这个列表;
路径长度:记录搜索主体经过的节点之间的累加距离。
在设置于源节点的搜索主体的属性信息中,源节点,是多节点路径中的起始节点;目标节点,是多节点路径中的终点节点。由于设置搜索主体之前,多节点路径总的起始节点和终点节点是已知的,因此搜索主体的源节点和目标节点均在初始设置时具体明确地设定,之后无论搜索主体如何跳转甚至转变成后向蚂蚁之后,也不会发生任何改变。
在本实施例中,搜索主体的属性,除了上述说明的源节点,目标节点,生存周期,路径长度,和节点路径列表之外,还包括迭代批次、状态码、生存周期和信息素。
搜索主体的状态码,包括:开路,更新,闲置,和确认;状态码的初始值设置为开路。状态码为开路表示搜索主体处于寻路状态,在到达新节点时应该变更状态码为更新以提示更新新节点的信息素,之后继续寻路向相邻节点发出信息请求报文;状态码为更新表示搜索主体处于更新状态,应该更新搜索主体所处的新节点的信息素信息,并在更新完毕后变更搜索主体的状态码为开路,以继续跳转搜寻目标节点;状态码为确认表示搜索主体到达目标节点,已经将搜索主体转化后向蚂蚁,由转变后的搜索主体携带原搜索主体的属性信息返回源节点;状态码为闲置表示由于搜索主体不能找到到达目标节点的路径或者生存周期到达设定上限,已经将搜索主体转化为后向蚂蚁,由转化后的搜索主体携带原搜索主体的属性信息返回源节点。请参考图3其示出了搜索主体的状态码时间状态变化过程。
通过对所述搜索主体设置状态码,相应的,在执行所述搜索主体向各个相邻节点发送信息请求报文之前,可以结合所述搜索主体状态码和是否已经发送过信息请求报文,进行发送信息请求报文的优选步骤:
若所述搜索主体的状态码为开路且未曾发送过信息请求报文,则向各个相邻节点发送信息请求报文。
如果所述搜索主体的状态码为开路,而且在当前时刻之前未曾发送过信息请求报文,则向所有的相邻节点分别发送信息请求报文。
本优选步骤体现了所述搜索主体的状态码对搜索主体的控制,也避免重复发送信息请求报文的情形。例如:从搜索主体所处的源节点S向相邻节点A发送信息请求报文,则首先查看所述搜索主体的状态码是否为开路,以及源节点S是否向节点A发送过信息请求报文,若这两项均为是,则向相邻节点A发送信息请求报文。
通过对所述搜索主体设置状态码,相应的,在执行所述更新所述搜索主体的属性信息的步骤时,在搜索主体跳转到达新节点时,还可以将所述搜索主体的状态码从开路设置为更新。一旦所述搜索主体到达新节点,则立即将所述搜索主体的状态码从开路变更为更新;直至所述搜索主体在新节点更新完毕所述搜索主体的属性信息和新节点的信息素信息之后,再将所述搜索主体的状态码重新设置为开路;这样可以利用状态码的开路和更新的变换,反映所述搜索主体在寻路过程中的具体状态。
例如:可以通过搜索主体的状态码为更新而推知所述搜索主体尚未全部完成更新自身的属性信息和新节点的信息素信息。
在更新完毕新节点的信息素信息之后,还可以将搜索主体的状态码进行更改,设置所述搜索主体的状态码从更新变更为开路。变更状态码从更新为开路表明所述搜索主体已经完成了自己属性和新节点的信息素的更新,可以继续进行下一步的寻路。
转变后的搜索主体(后向蚂蚁)的状态码,仅包括:闲置和确认。转变后的搜索主体全部都是返回源节点的,或为正在途中,或为已经到达源节点,状态码为闲置的后向蚂蚁表示后向蚂蚁所继承的前向蚂蚁未曾成功到达目标路径;状态码为确认的后向蚂蚁表示后向蚂蚁所继承的前向蚂蚁成功到达过目标节点。
通过对所述搜索主体设置状态码,相应的,在执行所述确定所述搜索主体跳转到的所述节点为目标节点时,则将所述搜索主体返回所述源节点的步骤时,将转变后的搜索主体(后向蚂蚁)的状态码设置为确认,以标明转变后的搜索主体是到达过目标节点的。此时,已经无需再进行对目标节点进行信息素的更新了。
例如:若前搜索主体从节点F直接跳转到达节点D,在更新了所述搜索主体的属性信息之后,判断到达的新节点即为目标节点,则将所述搜索主体的状态转变为后向蚂蚁,转变后的所述搜索主体继承所述搜索主体的属性信息,即源节点,目标节点,节点路径列表,路径长度,迭代批次,状态码等,此时在转变后的所述搜索主体的各个属性中,源节点,目标节点,迭代批次均与初始设置前向蚂蚁时相同,节点路径列表按顺序为源节点S,节点A,节点F和目标节点D,路径长度为5,状态码为确认。
通过对所述搜索主体设置状态码,相应的,当搜索主体返回所述源节点时,返回的所述搜索主体,可以分为两类:到达过目标节点的搜索主体和未曾到达过目标节点的搜索主体。在区分上述两类搜索主体时,可以通过搜索主体的属性信息中的状态码进行区分,其中状态码为确认的搜索主体即为到达过目标节点的搜索主体,可以将其属性信息中的节点路径列表作为从所述源节点到所述目标节点的路径;状态码为闲置的搜索主体即为未曾到达过目标节点的搜索主体,可以将其属性信息中的节点路径列表,用来选出参考路径,分析多节点路径的连接情况,和找出路径的堵塞节点等。
本方案通过设置搜索主体的状态码,一方面可以结合状态码来更好地控制搜索主体的寻路和更新行为;例如,状态码为开路的搜索主体在到达节点时,则发出信息请求报文;状态码为更新的搜索主体,则应该对节点的信息素进行更新。另一方面,可以搜集更详尽的路径分类信息;例如,状态码为确认的转变后的搜索主体,可以在返回源节点后从其属性中获取最优路径;状态码为闲置的转变后的搜索主体,则为未能到达目标节点,可以从其属性中获取未曾到达目标节点的黑名单路径,以辅助在后续路径计算进行的黑名单路径排除。
作为一种优选的实施方式,在本申请提供的多节点路径选择方法中,为了防止搜索主体在进行寻路的过程中陷入了死循环路径,防止浪费资源,在设置所述搜索主体时,所述搜索主体的属性信息还包括:生存周期。
需要说明的是,所述搜索主体的生存周期,是借鉴IP报文的生存时间(TTL)而设置的。IP网络中的生存时间是IP协议包中的一个值,其通知IP网络,数据包在网络中的时间是否因过长而应被丢弃。在IP网络的数据包在一定时间内不能被传输到目的地时,可以采用的一种方法技术就是在超出数据包的生存时间后丢弃这个数据包。所述搜索主体的生存周期,一般以毫秒为单位;在初始设置时,设置所述搜索主体的生存周期为一个设定上限即最大值;在所述搜索主体跳转经过一个节点、更新前向蚂蚁的属性信息时,均按照最后一次跳转到达节点的时间,从生存周期中递减;直到生存周期递减为0时,则判定前向蚂蚁超出了设定上限。
搜索主体的生存周期也可以具体实施为搜索主体的最大累加跳转距离,或者也可以实施为搜索主体的最大跳转次数。具体采用何种生存周期的设置,可以根据具体的节点情况来灵活选择确定。例如:假设客户端提交一个计算请求到具体任务落到硬件上,共经过了4个层级,可以设置搜索主体的生存周期为最大跳转次数为2^4个跳数,即搜索主体的生存周期为最大16跳,且第16跳为搜索主体的终结。
具体到所述多节点路径选择方法中,在所述搜索主体跳转到达节点时,更新所述搜索主体的属性信息的步骤中,由于所述搜索主体的属性信息还具有了生存周期,则在执行所述更新所述搜索主体的属性信息的步骤时,包括:
更新所述搜索主体的生存周期。
例如:设置搜索主体的生存周期为10;在搜索主体从节点S跳转到节点A时,由于从节点S到节点A的距离为2,则到达节点A时,搜索主体的生存周期应该递减为8。
具体到所述多节点路径选择方法中,在所述搜索主体每次跳转到达节点时,更新所述搜索主体的属性信息的步骤之后,需要判断所述搜索主体的生存周期是否达到设定的阈值;
当所述搜索主体的生存周期达到设定的阈值时,则将所述搜索主体按照所述搜索主体的属性信息返回所述源节点。
可以理解的,如果在所述搜索主体更新所述搜索主体的属性信息之后、在返回执行步骤S103以计算相邻节点的路由概率和进行下一次所述搜索主体跳转之前,应该确定所述搜索主体的生存周期是否达到设定的阈值。如果所述搜索主体的生存周期达到设定的阈值,则不论所述搜索主体位于哪一节点,均应该将所述搜索主体沿原路径返回源节点;如果所述搜索主体的生存周期未达到设定的阈值,则可以进入下一步骤。
例如:初始设置搜索主体的生存周期为10;所述搜索主体到达节点A时,所述搜索主体的生存周期递减为8;在更新节点A的信息素之后,判断所述搜索主体的生存周期是否未达到设定的阈值,其结果为否,则可以进入下一步骤。
需要说明的是,所述搜索主体的生存周期的设定的阈值为0。
在确认搜索主体的生存周期尚未达到设定的阈值后,返回执行步骤S103之前,还可以确定搜索主体是否陷入循环路径:
例如:判断所述搜索主体是否已经到达过各个相邻节点;若是,则将所述搜索主体按照节点路径列表中的路径返回源节点;若否,则继续执行步骤S103。
可以理解的,如果搜索主体已经到达过周围所有的各个相邻节点,则说明搜索主体陷入了死循环路径,应该将搜索主体返回源节点。
在上述两种生存周期超时和路径重复的情况下,可以在将搜索主体返回所述源节点的同时,更新所述搜索主体的状态码,设置所述搜索主体的状态码为闲置。状态码为闲置表明所述搜索主体没有到达过目标节点。
本申请通过设置搜索主体的生存周期,可以避免在较差路径上搜索白白消耗资源,也可以防止搜索主体因系统错误出现无限循环,同时也限制了搜索主体的搜索时间和搜索范围。还可以利用搜索主体的最大生存周期来限制最优路径与其他路径上的信息素之间的差距,从而在一定程度上避免形成选出路径中出现局部最优的情形。
在上述的实施例中,提供了一种多节点路径选择方法,与上述多节点路径选择方法相对应的,本申请还提供了一种多节点路径选择装置。由于装置的实施例基本相似于方法的实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。所述多节点路径选择装置实施例如下:
请参考图6示出了根据本申请的实施例提供的多节点路径选择装置的示意图。
所述多节点路径选择装置,包括:搜索主体设置单元601、跳转计算单元603以及返回单元605;
所述搜索主体设置单元601,用于在源节点设置搜索主体;
所述跳转计算单元603,用于根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,并向所述跳转概率满足预设条件的所述节点进行跳转;
所述返回单元605,用于确定所述搜索主体跳转到的所述节点为目标节点时,则将所述搜索主体返回所述源节点。
可选的,所述搜索主体设置单元601,设置的所述搜索主体携带属性信息,所述属性信息,至少包括:源节点信息、目标节点信息、节点路径列表以及路径长度。
可选的,所述多节点路径选择装置,还包括:属性信息更新单元、信息素浓度判断单元以及信息素更新单元;
所述属性信息更新单元,用于在所述向所述跳转概率满足预设条件的所述节点进行跳转之后,更新所述搜索主体的属性信息;
所述信息素浓度判断单元,用于判断跳转到的所述节点的信息素信息,是否小于预设的阈值;
所述信息素更新单元,用于接收所述信息素浓度判断单元的判断结果,若是,则更新所述节点的信息素信息。
可选的,所述多节点路径选择装置,还包括:跳转计算触发单元;
所述跳转计算触发单元,用于在所述向所述跳转概率满足预设条件的所述节点进行跳转之后,确定所述搜索主体跳转到的所述节点不为目标节点时,则触发所述跳转计算单元。
可选的,所述多节点路径选择装置,还包括:路径获取单元;
所述路径获取单元,用于在所述将所述搜索主体返回所述源节点之后,根据从所述目标节点返回所述源节点的所述搜索主体的属性信息,获取从所述源节点到所述目标节点的路径。
可选的,所述跳转计算单元603,具体用于根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息利用随机概率,计算各个所述节点的跳转概率。
可选的,所述跳转计算单元603,具体用于将各个所述节点利用随机概率计算出的路由值,转换为各个所述节点的路由概率。
可选的,所述跳转计算单元603,具体用于向路由概率最大的节点进行跳转。
可选的,所述搜索主体设置单元601,用于在源节点设置搜索主体时,设置的所述搜索主体的属性信息,还包括:迭代批次;
相应的,所述搜索主体设置单元601,还用于按照预设的时间间隔和预设的迭代批次的顺序,在所述源节点设置预设数量的所述搜索主体。
可选的,所述跳转计算单元603,具体用于若所述搜索主体位于源节点且所述搜索主体的迭代批次为1,则针对每个相邻的节点,均计算随机概率乘以所述相邻的节点的距离的倒数,作为每个所述相邻的节点的路由值和路由概率。
可选的,所述跳转计算单元603,具体用于若所述搜索主体不位于源节点或所述搜索主体的迭代批次不为1,则针对除源节点之外的每个相邻的节点,根据所述相邻的节点的信息素信息和当前节点距所述相邻的节点的距离信息,以及利用经验参数和随机概率,计算获得所述相邻的节点的路由值。
可选的,所述搜索主体设置单元601,用于在源节点设置搜索主体时,设置的所述搜索主体的属性信息,还包括:信息素;
相应的,所述多节点路径选择装置,还包括:信息素存入单元;
所述信息素存入单元,用于在所述向所述跳转概率满足预设条件的所述节点进行跳转之后,将跳转概率满足预设条件的所述节点的路由值,存入所述搜索主体携带的信息素。
可选的,所述信息素更新单元,具体用于若所述搜索主体为到达所述节点的第一个搜索主体,则将所述搜索主体携带的信息素信息加成经验常数后,计入所述节点的信息素信息。
可选的,所述信息素更新单元,具体用于若所述搜索主体不是到达所述节点的第一个搜索主体,则将所述搜索主体携带的信息素信息进行挥发处理之后,累加计入所述节点的信息素信息。
可选的,所述信息素更新单元,具体用于将所述搜索主体携带的信息素信息进行挥发处理之后,与所述节点的信息素信息相累加,将累加的结果作为所述节点的信息素信息而更新。
可选的,所述信息素更新单元,具体用于根据所述搜索主体的迭代批次计算出挥发因子,使用计算出的挥发因子加成处理所述搜索主体携带的信息素信息
可选的,所述信息素更新单元,具体用于所述搜索主体的迭代批次越大,则进行挥发处理之后累加计入所述节点的信息素信息越少。
可选的,所述搜索主体设置单元601,用于在源节点设置搜索主体时,设置的所述搜索主体的属性信息,还包括:生存周期;
所述生存周期根据云平台的物理层级进行设定;
相应的,所述属性信息更新单元,具体用于更新所述搜索主体的生存周期,路径长度,和节点路径列表。
可选的,所述多节点路径选择装置,还包括:阈值判断单元以及源节点返回单元;
所述阈值判断单元,用于在所述更新所述搜索主体的属性信息之后,判断所述搜索主体的生存周期是否达到设定的阈值;
所述源节点返回单元,用于接收所述阈值判断单元的判断结果,若是,则将所述搜索主体按照所述搜索主体的属性信息返回所述源节点。
可选的,所述路径获取单元,具体用于从各迭代批次中,所述搜索主体的属性信息的节点路径列表内,获取从所述源节点到所述目标节点的路径。
可选的,所述路径获取单元,具体用于按照路径由短到长的顺序,从获取的所述路径中,依次获取最优路径、次优路径、第N优路径。
可选的,各个所述节点,包括:预设的初始信息素信息。
可选的,所述多节点路径选择装置,还包括:请求报文发送单元;
所述请求报文发送单元,用于在所述根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率之前,向与所述搜索主体相邻的各个节点发送信息请求报文,接收各个所述节点返回的信息素信息并确定各个相邻节点的距离信息。
可选的,所述跳转计算单元603,具体用于若与所述搜索主体相邻的各个节点包括目标节点,则直接将所述搜索主体向目标节点跳转。
可选的,所述搜索主体设置单元601,用于在源节点设置搜索主体时,设置的所述搜索主体的属性信息,还包括:状态码;所述状态码,包括:开路,更新,闲置,和确认;所述状态码的初始值设置为开路;
相应的,所述属性信息更新单元,具体用于设置所述搜索主体的状态码为更新;
所述返回单元605,具体用于设置所述搜索主体的状态码为确认;
所述信息素更新单元,具体用于设置所述搜索主体的状态码为开路;
所述返回单元605,还用于设置所述搜索主体的状态码为闲置。
在上述的实施例中,提供了一种多节点路径选择方法以及一种多节点路径选择装置,此外,本申请还提供了一种电子设备;所述电子设备实施例如下:
请参考图7,其示出了根据本申请的实施例提供的电子设备的示意图。
所述电子设备,包括:处理器701;存储器703;
所述存储器703,用于存储多节点路径选择程序,所述程序在被所述处理器读取执行时,执行如下操作:在源节点设置搜索主体;根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,并向所述跳转概率满足预设条件的所述节点进行跳转;确定所述搜索主体跳转到的所述节点为目标节点时,则将所述搜索主体返回所述源节点。
例如,所述电子设备为一台计算机,所述计算机在源节点设置搜索主体;并根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,并向所述跳转概率满足预设条件的所述节点进行跳转;再确定所述搜索主体跳转到的所述节点为目标节点时,则将所述搜索主体返回所述源节点。由于本电子设备使用上述多节点路径选择程序,相关之处请参见上述多节点路径选择方法的实施例说明,此处不再赘述。
在上述的实施例中,提供了一种多节点路径选择方法、一种多节点路径选择装置以及一种电子设备,此外,本申请还提供了一种云平台资源调度方法;所述云平台资源调度方法实施例如下:
请参考图8,其示出了根据本申请的实施例提供的云平台资源调度方法的流程图。
所述云平台资源调度方法,包括:
步骤S801,将待调度的所述云平台资源作为对应的多节点路径中的节点,并使所述云平台资源之间的连接和距离关系与所述节点之间的连接和距离关系相对应。
将待调度的各个云平台资源分别作为对应多节点路径中的各个节点,并使各个云平台资源之间的相互连接和距离关系与节点之间的连接和距离关系相对应。本步骤是实质上是建立一个多节点路径的无向图,并将各个云平台资源按照彼此之间的连接和距离关系,一一映射到这个多节点路径的无向图中,使各个多节点之间的连接可以反映云平台资源之间数据的传输关系。
例如,在本实施例中,假设云平台资源具体由位于不同的子网中的500个计算资源,500个存储资源和50个辅助资源(交互接口和管理控制等)组成,则本步骤具体为建立对应云平台资源的500个计算资源,500个存储资源和50个辅助资源的多节点路径的无向图,在这个多节点路径图中,共有1050个节点分别对应云平台的1050个资源,并且节点之间的连接和距离关系均对应云平台资源之间的连接和距离关系。
步骤S803,将请求云平台资源的入口和被请求的云平台资源分别作为对应的多节点路径中的源节点和目标节点,应用权利要求1至25所述的任一项多节点路径选择方法,以选出多节点路径中的路径。
将请求云平台资源的入口,通常为云平台资源中的与资源的使用主体交互的接口资源,和被请求的云平台资源,通常为云平台资源中为其他主体提供具体计算、存储和其他云服务的资源,分别作为对应的已经在步骤S801中建立的多节点路径中的源节点和目标节点,应用所述多节点路径选择方法,以选出多节点路径中的最优路径。
例如,在本实施例中,一个云平台资源的使用主体通过连入在一个云平台子网的辅助资源请求在云平台另一子网的特定计算资源,则设置这个云平台资源的入口的子网中的辅助资源作为源节点,被请求的另一子网中的计算资源作为目标节点,之后应用所述多节点路径选择方法,从而可以获得选出的多节点路径的具体最优路径。
在本实施例中,将请求云平台资源的入口,通常为云平台资源中的与资源的使用主体交互的接口资源,和被请求的云平台资源,通常为云平台资源中为其他主体提供具体计算、存储和其他云服务的资源,分别作为对应的已经在步骤S801中建立的多节点路径中的源节点和目标节点,应用第一实施例所述的多节点路径选择方法,以选出多节点路径中的次优和第三优路径。
步骤S805,根据选出的多节点路径中的路径,确定对应的云平台资源分配路径;并按照确定的云平台资源分配路径,将对云平台资源的请求,分配给对应的云平台资源。
根据步骤S803选出的多节点路径中的最优路径,获得对应的从云平台资源的入口到被请求的云平台资源的具体资源分配路径;并按照这个具体资源分配路径,将对云平台资源的请求,分配给对应的云平台资源。
例如,在本实施例中,根据步骤S803选出的多节点路径的具体最优路径,即从源节点经由各个中间的节点到达目标节点的具体路径,根据多节点路径和云平台资源之间的对应关系,确定对应的从引入请求的云平台子网的辅助资源、经由各个中间资源、直到被请求的在云平台另一子网的特定计算资源的具体分配路径;并按照这个确定的云平台资源的具体分配路径,为对云平台资源的具体请求,分配被请求的具体资源。
在确定云平台资源的请求的具体分配路径时,除了可以使用对应的多节点路径中最优路径,也可以使用对应的次优和第三优路径来分别作为并行和备份的资源分配路径。
在根据步骤S803选出的多节点路径中的次优和第三优路径,分别确定对应的从云平台资源的入口到被请求的云平台资源的具体次优和第三优资源分配路径;并按照这个次优具体资源分配路径,将对云平台资源的请求,分配给对应的云平台资源。按照这个具体资源分配路径,将对云平台资源的请求,分配给对应的云平台资源
例如,在本实施例中,根据步骤S803选出的多节点路径的具体次优和第三优路径,即从源节点经由各个中间的节点到达目标节点的具体次优和第三优路径,根据多节点路径和云平台资源之间的对应关系,确定对应的从引入请求的云平台子网的辅助资源、经由各个中间资源、直到被请求的在云平台另一子网的特定计算资源的具体次优和第三优资源分配路径;并按照确定的云平台资源的具体次优资源分配路径,作为并行于最优资源分配路径的辅助路径,同时为对云平台资源的具体请求分配被请求的具体资源;这样系统可以在最优路径堵塞或其他故障时,将对云平台资源的具体请求,通过次优资源分配路径来分配被请求的具体资源。还可以按照确定的云平台资源的具体第三优资源分配路径,作为备份于最优资源分配路径的冗余路径,为对云平台资源的具体请求分配被请求的具体资源;这样系统就可以在最优和次优资源分配路径出现故障时,使用第三优资源分配路径来分配对具体云平台资源的请求。
本申请可以通过在使用云平台资源的最优路径同时,也使用次优资源路径作为并行的分配路径以及使用第三优资源路径作为冗余备份的分配路径,从而可以增加资源分配时选择路径的灵活性,也可以避免因最优路径堵塞造成的云平台系统的不稳定。在具体实施时,可以将次优路径同最优路径并行使用,也可以将第三优路径作为冗余备份路径,在最优和次优路径出现障碍后介入容错,提供云平台系统的稳定性。
在上述的实施例中,提供了一种云平台资源调度方法,与上述云平台资源调度方法相对应的,本申请还提供了一种云平台资源调度装置。由于装置的实施例基本相似于方法的实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。所述云平台资源调度装置实施例如下:
请参考图9示出了根据本申请的实施例提供的云平台资源调度装置的示意图。
所述云平台资源调度装置,包括:设置对应云平台资源的多节点路径单元901、选出多节点路径的路径单元903以及分配云平台资源单元905;
所述设置对应云平台资源的多节点路径单元901,用于将待调度的所述云平台资源作为对应的多节点路径中的节点,并使所述云平台资源之间的连接和距离关系与所述节点之间的连接和距离关系相对应;
所述选出多节点路径的路径单元903,用于将请求云平台资源的入口和被请求的云平台资源分别作为对应的多节点路径中的源节点和目标节点,应用权利要求26至30所述的任一项多节点路径选择方法,以选出多节点路径中的路径;
所述分配云平台资源单元905,用于根据选出的多节点路径中的路径,确定对应的云平台资源分配路径;并按照确定的云平台资源分配路径,将对云平台资源的请求,分配给对应的云平台资源。
可选的,所述选出多节点路径的最优路径单元903,还包括:
选出多节点路径的次优和第三优路径单元,用于将请求云平台资源的入口和被请求的云平台资源分别作为对应的多节点路径中的源节点和目标节点,触发所述路径获取单元,以选出多节点路径中的次优和第三优路径。
可选的,所述分配云平台资源单元905,还用于:
根据选出的多节点路径中的次优和第三优路径,确定对应的云平台资源次优和第三优分配路径;并按照确定的云平台资源次优分配路径,将对云平台资源的请求,作为并行的分配路径,分配给对应的云平台资源;按照确定的云平台资源第三优分配路径,将对云平台资源的请求,作为备份的分配路径,分配给对应的云平台资源。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(f l ash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
Claims (33)
1.一种多节点路径选择方法,其特征在于,包括:
在源节点设置搜索主体,所述搜索主体包括:前向蚂蚁和后向蚂蚁;
根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,并向所述跳转概率满足预设条件的所述节点进行跳转;
确定所述搜索主体跳转到的所述节点为目标节点、超过生存周期或者无法找到目标节点时,则将所述搜索主体返回所述源节点;
根据从所述目标节点返回所述源节点的所述搜索主体的属性信息,获取从所述源节点到所述目标节点的路径,所述路径包括最优路径和至少一条备选的次优路径。
2.根据权利要求1所述的多节点路径选择方法,其特征在于,所述搜索主体携带属性信息,所述属性信息,至少包括:源节点信息、目标节点信息、节点路径列表以及路径长度。
3.根据权利要求2所述的多节点路径选择方法,其特征在于,在所述向所述跳转概率满足预设条件的所述节点进行跳转的步骤之后,包括:
更新所述搜索主体的属性信息;
判断跳转到的所述节点的信息素信息,是否小于预设的阈值;
若是,则更新所述节点的信息素信息。
4.根据权利要求3所述的多节点路径选择方法,其特征在于,在所述向所述跳转概率满足预设条件的所述节点进行跳转的步骤之后,包括:
确定所述搜索主体跳转到的所述节点不为目标节点时,则返回执行所述根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率的步骤。
5.根据权利要求4所述的多节点路径选择方法,其特征在于,所述根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,包括:
根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息利用随机概率,计算各个所述节点的跳转概率。
6.根据权利要求5所述的多节点路径选择方法,其特征在于,所述计算各个所述节点的跳转概率,包括:
将各个所述节点利用随机概率计算出的路由值,转换为各个所述节点的路由概率。
7.根据权利要求6所述的多节点路径选择方法,其特征在于,所述向所述跳转概率满足预设条件的所述节点进行跳转,包括:
向路由概率最大的节点进行跳转。
8.根据权利要求6所述的多节点路径选择方法,其特征在于,所述搜索主体的属性信息,还包括:迭代批次;
相应的,所述在源节点设置搜索主体时,包括:
按照预设的时间间隔和预设的迭代批次的顺序,在所述源节点设置预设数量的所述搜索主体。
9.根据权利要求8所述的多节点路径选择方法,其特征在于,所述根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,包括:
若所述搜索主体位于源节点且所述搜索主体的迭代批次为1,则针对每个相邻的节点,均计算随机概率乘以所述相邻的节点的距离的倒数,作为每个所述相邻的节点的路由值和路由概率。
10.根据权利要求8所述的多节点路径选择方法,其特征在于,所述根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,包括:
若所述搜索主体不位于源节点或所述搜索主体的迭代批次不为1,则针对除源节点之外的每个相邻的节点,根据所述相邻的节点的信息素信息和当前节点距所述相邻的节点的距离信息,以及利用经验参数和随机概率,计算获得所述相邻的节点的路由值。
11.根据权利要求10所述的多节点路径选择方法,其特征在于,所述搜索主体的属性信息,还包括:信息素;
相应的,在执行所述向所述跳转概率满足预设条件的所述节点进行跳转的步骤之后,包括:
将跳转概率满足预设条件的所述节点的路由值,存入所述搜索主体携带的信息素。
12.根据权利要求11所述的多节点路径选择方法,其特征在于,所述更新所述节点的信息素信息,包括:
若所述搜索主体为到达所述节点的第一个搜索主体,则将所述搜索主体携带的信息素信息加成经验常数后,计入所述节点的信息素信息。
13.根据权利要求11所述的多节点路径选择方法,其特征在于,所述更新所述节点的信息素信息,包括:
若所述搜索主体不是到达所述节点的第一个搜索主体,则将所述搜索主体携带的信息素信息进行挥发处理之后,累加计入所述节点的信息素信息。
14.根据权利要求13所述的多节点路径选择方法,其特征在于,所述将所述搜索主体携带的信息素信息进行挥发处理之后,累加计入所述节点的信息素信息,包括:
将所述搜索主体携带的信息素信息进行挥发处理之后,与所述节点的信息素信息相累加,将累加的结果作为所述节点的信息素信息而更新。
15.根据权利要求14所述的多节点路径选择方法,其特征在于,所述将所述搜索主体携带的信息素信息进行挥发处理,包括:
根据所述搜索主体的迭代批次计算出挥发因子,使用计算出的挥发因子加成处理所述搜索主体携带的信息素信息。
16.根据权利要求15所述的多节点路径选择方法,其特征在于,所述将所述搜索主体携带的信息素信息进行挥发处理之后,与所述节点的信息素信息相累加,包括:
所述搜索主体的迭代批次越大,则进行挥发处理之后累加计入所述节点的信息素信息越少。
17.根据权利要求1所述的多节点路径选择方法,其特征在于,所述搜索主体的属性信息,还包括:生存周期;
所述生存周期根据云平台的物理层级进行设定;
相应的,在执行更新所述搜索主体的属性信息的步骤时,包括:
更新所述搜索主体的生存周期,路径长度,和节点路径列表。
18.根据权利要求17所述的多节点路径选择方法,其特征在于,在所述更新所述搜索主体的属性信息的步骤之后,包括:
判断所述搜索主体的生存周期是否达到设定的阈值;
若是,则将所述搜索主体按照所述搜索主体的属性信息返回所述源节点。
19.根据权利要求8所述的多节点路径选择方法,其特征在于,所述根据从所述目标节点返回所述源节点的所述搜索主体的属性信息,获取从所述源节点到所述目标节点的路径,包括:
从各迭代批次中,所述搜索主体的属性信息的节点路径列表内,获取从所述源节点到所述目标节点的路径。
20.根据权利要求19所述的多节点路径选择方法,其特征在于,所述获取从所述源节点到所述目标节点的路径,包括:
按照路径由短到长的顺序,获取从所述源节点到所述目标节点的路径。
21.根据权利要求1-20任意一项所述的多节点路径选择方法,其特征在于,各个所述节点,包括:预设的初始信息素信息。
22.根据权利要求21所述的多节点路径选择方法,其特征在于,在所述根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率的步骤之前,包括:
向与所述搜索主体相邻的各个节点发送信息请求报文,接收各个所述节点返回的信息素信息并确定各个相邻节点的距离信息。
23.根据权利要求22所述的多节点路径选择方法,其特征在于,所述向所述跳转概率满足预设条件的所述节点进行跳转,包括:
若与所述搜索主体相邻的各个节点包括目标节点,则直接将所述搜索主体向目标节点跳转。
24.根据权利要求23所述的多节点路径选择方法,其特征在于,所述搜索主体的属性信息,还包括:状态码;所述状态码,包括:开路,更新,闲置,和确认;所述状态码的初始值设置为开路;
相应的,在执行所述更新所述搜索主体的属性信息的步骤时,包括:
设置所述搜索主体的状态码为更新;
在执行所述将所述搜索主体返回所述源节点的步骤时,包括:
设置所述搜索主体的状态码为确认;
在执行所述更新所述节点的信息素信息的步骤时,包括:
设置所述搜索主体的状态码为开路;
在执行所述将所述搜索主体返回所述源节点的步骤之后,包括:
设置所述搜索主体的状态码为闲置。
25.一种多节点路径选择装置,其特征在于,包括:
搜索主体设置单元,用于在源节点设置搜索主体,所述搜索主体包括:前向蚂蚁和后向蚂蚁;
跳转计算单元,用于根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,并向所述跳转概率满足预设条件的所述节点进行跳转;
返回单元,用于确定所述搜索主体跳转到的所述节点为目标节点、超过生存周期或者无法找到目标节点时,则将所述搜索主体返回所述源节点;
路径获取单元,用于根据从所述目标节点返回所述源节点的所述搜索主体的属性信息,获取从所述源节点到所述目标节点的路径,所述路径包括最优路径和至少一条备选的次优路径。
26.根据权利要求25所述多节点路径选择装置,其特征在于,所述搜索主体设置单元,设置的所述搜索主体携带属性信息,所述属性信息,至少包括:源节点信息、目标节点信息、节点路径列表以及路径长度。
27.根据权利要求26所述多节点路径选择装置,其特征在于,还包括:
属性信息更新单元,用于在所述向所述跳转概率满足预设条件的所述节点进行跳转之后,更新所述搜索主体的属性信息;
信息素浓度判断单元,用于判断跳转到的所述节点的信息素信息,是否小于预设的阈值;
信息素更新单元,用于接收所述信息素浓度判断单元的判断结果,若是,则更新所述节点的信息素信息。
28.根据权利要求27所述多节点路径选择装置,其特征在于,还包括:
跳转计算触发单元,用于在所述向所述跳转概率满足预设条件的所述节点进行跳转之后,确定所述搜索主体跳转到的所述节点不为目标节点时,则触发所述跳转计算单元。
29.一种电子设备,其特征在于,所述电子设备,包括:
处理器;
存储器,用于存储多节点路径选择程序,所述程序在被所述处理器读取执行时,执行如下操作:在源节点设置搜索主体,所述搜索主体包括:前向蚂蚁和后向蚂蚁;根据所述搜索主体与相邻的各个节点之间的距离信息,以及所述节点携带的信息素信息,计算各个所述节点的跳转概率,并向所述跳转概率满足预设条件的所述节点进行跳转;确定所述搜索主体跳转到的所述节点为目标节点、超过生存周期或者无法找到目标节点时,则将所述搜索主体返回所述源节点;根据从所述目标节点返回所述源节点的所述搜索主体的属性信息,获取从所述源节点到所述目标节点的路径,所述路径包括最优路径和至少一条备选的次优路径。
30.一种云平台资源调度方法,其特征在于,包括:
将待调度的所述云平台资源作为对应的多节点路径中的节点,并使所述云平台资源之间的连接和距离关系与所述节点之间的连接和距离关系相对应;
将请求云平台资源的入口和被请求的云平台资源分别作为对应的多节点路径中的源节点和目标节点,应用权利要求1至24所述的任一项多节点路径选择方法,以选出多节点路径中的路径;
根据选出的多节点路径中的路径,确定对应的云平台资源分配路径;并按照确定的云平台资源分配路径,将对云平台资源的请求,分配给对应的云平台资源。
31.根据权利要求30所述的云平台资源调度方法,其特征在于,所述将请求云平台资源的入口和被请求的云平台资源分别作为对应的多节点路径中的源节点和目标节点,应用权利要求1至24所述的任一项多节点路径选择方法,以选出多节点路径中的路径;包括:
将请求云平台资源的入口和被请求的云平台资源分别作为对应的多节点路径中的源节点和目标节点,应用权利要求1所述的多节点路径选择方法,以选出多节点路径中的最优、次优和第N优路径。
32.根据权利要求31所述的云平台资源调度方法,其特征在于,所述根据选出的多节点路径中的路径,确定对应的云平台资源分配路径;并按照确定的云平台资源分配路径,将对云平台资源的请求,分配给对应的云平台资源;包括:
根据选出的多节点路径中的最优、次优和第N优路径,确定对应的云平台资源最优、次优分配路径;并按照确定的云平台资源最优、次优分配路径,将对云平台资源的请求,作为并行的分配路径,分配给对应的云平台资源;按照确定的云平台资源第N优分配路径,将对云平台资源的请求,作为备份的分配路径,分配给对应的云平台资源。
33.一种云平台资源调度装置,其特征在于,包括:
设置对应云平台资源的多节点路径单元,用于将待调度的所述云平台资源作为对应的多节点路径中的节点,并使所述云平台资源之间的连接和距离关系与所述节点之间的连接和距离关系相对应;
选出多节点路径的路径单元,用于将请求云平台资源的入口和被请求的云平台资源分别作为对应的多节点路径中的源节点和目标节点,应用权利要求25至28所述的任一项多节点路径选择方法,以选出多节点路径中的路径;
分配云平台资源单元,用于根据选出的多节点路径中的路径,确定对应的云平台资源分配路径;并按照确定的云平台资源分配路径,将对云平台资源的请求,分配给对应的云平台资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710485118.1A CN109120523B (zh) | 2017-06-23 | 2017-06-23 | 多节点路径选择方法、装置、云平台资源调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710485118.1A CN109120523B (zh) | 2017-06-23 | 2017-06-23 | 多节点路径选择方法、装置、云平台资源调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109120523A CN109120523A (zh) | 2019-01-01 |
CN109120523B true CN109120523B (zh) | 2021-12-14 |
Family
ID=64733222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710485118.1A Active CN109120523B (zh) | 2017-06-23 | 2017-06-23 | 多节点路径选择方法、装置、云平台资源调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109120523B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112543425B (zh) * | 2019-09-20 | 2022-04-29 | 华为技术有限公司 | 通信方法及装置 |
CN113065773B (zh) * | 2021-04-06 | 2023-09-05 | 香港中文大学(深圳) | 共享客车路径规划方法以及相关装置 |
CN113159620B (zh) * | 2021-05-11 | 2023-08-18 | 中国矿业大学 | 基于带权无向图的矿井移动群智感知任务分发方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083616A (zh) * | 2007-07-05 | 2007-12-05 | 上海交通大学 | 基于蚁群算法的无线自组网络节能按需路由方法 |
CN101170503A (zh) * | 2007-11-23 | 2008-04-30 | 中兴通讯股份有限公司 | 一种组播路由蚁群算法的优化方法 |
CN101237408A (zh) * | 2008-02-27 | 2008-08-06 | 中山大学 | 基于距离完全蚁群算法的多播路由方法 |
CN101277264A (zh) * | 2008-05-13 | 2008-10-01 | 武汉理工大学 | 无线传感器网络中基于蚁群算法的定向扩散方法 |
EP2328308A1 (en) * | 2009-11-27 | 2011-06-01 | Alcatel Lucent | Method for building a path according to adaptation functions using an ant colony |
CN103052129A (zh) * | 2013-01-09 | 2013-04-17 | 北京邮电大学 | 一种无线多跳中继网络中节能路由及功率分配方法 |
CN104618982A (zh) * | 2015-01-08 | 2015-05-13 | 重庆邮电大学 | 基于改进遗传-蚁群算法的Adhoc网络寻找最优路径的方法 |
CN106413021A (zh) * | 2016-09-18 | 2017-02-15 | 扬州大学 | 基于蚁群算法的无线传感网络路由方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008084318A2 (en) * | 2007-01-08 | 2008-07-17 | Nokia Corporation | Removing gtp-u path management in ugan |
CN102902823A (zh) * | 2012-11-02 | 2013-01-30 | 上海电机学院 | 交通路径搜索系统及方法 |
CN103024053B (zh) * | 2012-12-18 | 2015-11-25 | 华为技术有限公司 | 云存储方法、资源调度系统、云存储节点及系统 |
CN103067524A (zh) * | 2013-01-18 | 2013-04-24 | 浪潮电子信息产业股份有限公司 | 一种基于云计算环境的蚁群优化计算资源分配方法 |
CN103678649A (zh) * | 2013-12-20 | 2014-03-26 | 上海电机学院 | 基于云自适应粒子群算法的交通路径搜索系统及方法 |
CN104168620B (zh) * | 2014-05-13 | 2018-03-09 | 北京邮电大学 | 无线多跳回传网络中的路由建立方法 |
CN105787596A (zh) * | 2016-02-29 | 2016-07-20 | 泰华智慧产业集团股份有限公司 | 一种基于改进蚁群算法的应急物流路径优化方法 |
CN106453224B (zh) * | 2016-07-18 | 2019-05-17 | 北京交通大学 | 基于蚁群分类挖掘过程的网络渗透攻击检测方法 |
-
2017
- 2017-06-23 CN CN201710485118.1A patent/CN109120523B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083616A (zh) * | 2007-07-05 | 2007-12-05 | 上海交通大学 | 基于蚁群算法的无线自组网络节能按需路由方法 |
CN101170503A (zh) * | 2007-11-23 | 2008-04-30 | 中兴通讯股份有限公司 | 一种组播路由蚁群算法的优化方法 |
CN101237408A (zh) * | 2008-02-27 | 2008-08-06 | 中山大学 | 基于距离完全蚁群算法的多播路由方法 |
CN101277264A (zh) * | 2008-05-13 | 2008-10-01 | 武汉理工大学 | 无线传感器网络中基于蚁群算法的定向扩散方法 |
EP2328308A1 (en) * | 2009-11-27 | 2011-06-01 | Alcatel Lucent | Method for building a path according to adaptation functions using an ant colony |
CN103052129A (zh) * | 2013-01-09 | 2013-04-17 | 北京邮电大学 | 一种无线多跳中继网络中节能路由及功率分配方法 |
CN104618982A (zh) * | 2015-01-08 | 2015-05-13 | 重庆邮电大学 | 基于改进遗传-蚁群算法的Adhoc网络寻找最优路径的方法 |
CN106413021A (zh) * | 2016-09-18 | 2017-02-15 | 扬州大学 | 基于蚁群算法的无线传感网络路由方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109120523A (zh) | 2019-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2374255B1 (en) | Method and system for data management in peer-to- peer network | |
CN109120523B (zh) | 多节点路径选择方法、装置、云平台资源调度方法及装置 | |
WO2015048773A2 (en) | System and method for joint dynamic forwarding and caching in content distribution networks | |
CN106201356B (zh) | 一种基于链路可用带宽状态的动态数据调度方法 | |
Shah | Energy efficient and robust allocation of interdependent tasks on mobile ad hoc computational grid | |
EP3318027A1 (en) | Quality of service management in a network | |
CN108684046A (zh) | 一种基于随机学习的接入网服务功能链部署方法 | |
WO2015106795A1 (en) | Methods and systems for selecting resources for data routing | |
EP4187814A1 (en) | Data processing method and device | |
Tran-Thanh et al. | Long-term information collection with energy harvesting wireless sensors: a multi-armed bandit based approach | |
Khodaparas et al. | A multi criteria cooperative caching scheme for internet of things | |
Swain et al. | Adaptive queue management and traffic class priority based fairness rate control in wireless sensor networks | |
CN115361333A (zh) | 一种基于QoS边缘自适应的网云融合信息传输方法 | |
Oida et al. | ARS: an efficient agent-based routing system for QoS guarantees | |
CN116828538A (zh) | 算力资源分配方法、装置、存储介质及电子设备 | |
Sood et al. | A comparative analysis on the scheduling algorithms for wireless sensor networks | |
Huang et al. | Cooperative data center selection for optimal service performance: An ILP formulation | |
CN106454937B (zh) | 一种移动终端缓存空间的分配控制方法 | |
CN112217737B (zh) | 一种基于业务优先级的机会网络资源动态分配方法 | |
CN103888982B (zh) | 一种内容中心无线网络中的管理与控制节点选择方法 | |
CN111629050A (zh) | 节点调度方法及装置、存储介质、电子装置 | |
Hansen et al. | Adaptive quality of service in ad hoc wireless networks | |
Hsu et al. | An integrated end-to-end QoS anycast routing on DiffServ networks | |
JP5770256B2 (ja) | 群知能を利用する大規模分散型システムにおける情報ルーティングのために枠組みを利用するシステムおよび方法 | |
CN116436978B (zh) | 面向云计算的内存分配方法、内存获取方法、装置和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230530 Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province Patentee after: Aliyun Computing Co.,Ltd. Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK Patentee before: ALIBABA GROUP HOLDING Ltd. |