CN108055161A - 一种组网优化方法及装置 - Google Patents
一种组网优化方法及装置 Download PDFInfo
- Publication number
- CN108055161A CN108055161A CN201711463172.2A CN201711463172A CN108055161A CN 108055161 A CN108055161 A CN 108055161A CN 201711463172 A CN201711463172 A CN 201711463172A CN 108055161 A CN108055161 A CN 108055161A
- Authority
- CN
- China
- Prior art keywords
- topological
- atomic
- topology
- networking
- test assignment
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/083—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种组网优化方法及装置,该方法包括:将测试任务的执行流程划分为多个拓扑原子操作;其中,一个拓扑原子操作对应一个拓扑,且包括基于该拓扑执行的多个脚本执行流程;按照所述多个拓扑原子操作对应的拓扑的排序结果,在所创建的虚拟组网中对所述多个拓扑原子操作进行并行模拟执行;对于任一测试任务,将从该测试任务对应的多个拓扑原子操作中首个拓扑原子操作开始执行到最后一个拓扑原子操作执行完成的持续时长,确定为该测试任务在所述虚拟组网下的任务执行总时长;根据测试任务在虚拟组网下的任务执行总时长进行组网优化。应用本发明可以提高组网优化的效率,并保证组网优化的效果。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种组网优化方法及装置。
背景技术
随着云技术的普及,大型的IT(Information Technology,信息技术)企业更倾向于搭建大型网络,并虚化成云资源供企业内部调用。
例如,将实验室组网云化,并开发配套的管理系统(本文中称为测试云管理平台),该系统整合了企业的实验室组网资源,做到了按需分配,作为企业的缺省平台。
由于接入测试云管理平台的组网规模都较大,导致测试组网优化的效率较低,且无法保证组网优化效果,甚至出现组网变更后自动化任务执行的时间更长的情况。
发明内容
本发明提供一种组网优化方法及装置,以解决现有测试组网优化效率低,且无法保证组网优化效果的问题。
根据本发明实施例的第一方面,提供一种组网优化方法,应用于测试云管理平台,所述方法包括:
将测试任务的执行流程划分为多个拓扑原子操作;其中,一个拓扑原子操作对应一个拓扑,且包括基于该拓扑执行的多个脚本执行流程;
按照所述多个拓扑原子操作对应的拓扑的排序结果,在所创建的虚拟组网中对所述多个拓扑原子操作进行并行模拟执行;
对于任一测试任务,将从该测试任务对应的多个拓扑原子操作中首个拓扑原子操作开始执行到最后一个拓扑原子操作执行完成的持续时长,确定为该测试任务在所述虚拟组网下的任务执行总时长;
根据测试任务在虚拟组网下的任务执行总时长进行组网优化。
根据本发明实施例的第二方面,提供一种组网优化装置,应用于测试云管理平台,所述装置包括:
划分单元,用于将测试任务的执行流程划分为多个拓扑原子操作;其中,一个拓扑原子操作对应一个拓扑,且包括基于该拓扑执行的多个脚本执行流程;
排序单元,用于对所述多个拓扑原子操作对应的拓扑进行排序;
执行单元,用于按照所述多个拓扑原子操作对应的拓扑的排序结果,在所创建的虚拟组网中对所述多个拓扑原子操作进行并行模拟执行;
确定单元,用于对于任一测试任务,将从该测试任务对应的多个拓扑原子操作中首个拓扑原子操作开始执行到最后一个拓扑原子操作执行完成的持续时长确定为该测试任务在所述虚拟组网下的任务执行总时长;
优化单元,用于根据测试任务在虚拟组网下的任务执行总时长进行组网优化。
应用本发明实施例,通过将测试任务的执行流程划分为多个拓扑原子操作,并按照该多个拓扑原子操作对应的拓扑的排序结果,在所创建的虚拟组网中对所述多个拓扑原子操作进行并行模拟执行;进而,对于任一测试任务,将从该测试任务对应的多个拓扑原子操作中首个拓扑原子操作开始执行到最后一个拓扑原子操作执行完成的持续时长,确定为该测试任务在所述虚拟组网下的任务执行总时长,并根据测试任务在虚拟组网下的任务执行总时长进行组网优化,提高了组网优化的效率,并保证了组网优化的效果。
附图说明
图1是本发明实施例提供的一种组网优化方法的流程示意图;
图2是本发明实施例提供的另一种组网优化方法的流程示意图;
图3A~3B是本发明实施例提供的模拟任务执行的时间片推移示意图;
图4是本发明实施例提供的一种组网优化装置的结构示意图;
图5是本发明实施例提供的另一种组网优化装置的结构示意图;
图6是本发明实施例提供的另一种组网优化装置的结构示意图;
图7是本发明实施例提供的一种组网优化装置的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,下面先对本发明实施例中涉及的部分技术术语进行简单说明。
1、拓扑原子操作:测试任务中基于同一拓扑执行的多个脚本的执行流程,其具体包括拓扑查找、设备占用、拓扑配置下发、脚本集执行、拓扑配置清除以及拓扑释放等步骤。
其中,在本发明实施例中,拓扑原子操作不能被非手工抢占事件中断,即在未出现手工抢占事件的情况下,拓扑原子操作执行过程中占用的资源需要在拓扑原子操作执行完成后恢复为可用状态,即在拓扑释放后恢复为可用状态。2、历史任务执行日志:测试任务在优化前的组网中真实执行时生成的日志,其记录了包括测试任务对应各拓扑原子操作对应的各拓扑的拓扑连接时间、拓扑配置下发时间、脚本执行时间、拓扑配置清除时间、拓扑断开连接时间以及脚本Rerun(重新执行)次数等。
为了使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图1,为本发明实施例提供的一种组网优化方法的流程示意图,其中,该组网优化方法可以应用于测试云管理平台(以下简称为云管理平台),如图1所示,该组网优化方法可以包括以下步骤:
需要说明的是,若未特殊说明,本发明实施例中提及的测试任务是指在优化前的组网中实际执行时耗时超过预设时间阈值(可以根据实际场景确定,如50小时、70小时等)的测试任务,本发明实施例后续不再复述。
步骤101、将测试任务的执行流程划分为多个拓扑原子操作。
本发明实施例中,当云管理平台接收到测试任务(该测试任务包括单个测试任务或多个并发测试任务)时,可以根据测试任务中各脚本执行需要的拓扑(包括执行脚本所需的设备以及设备之间的连接关系)将测试任务的执行流程划分为多个拓扑原子操作。
其中,一个拓扑原子操作对应一个拓扑,且包括基于该拓扑执行的多个脚本执行流程。
举例来说,假设测试任务1共需要执行100个脚本,其中,脚本1~30需要基于拓扑1执行,脚本31~60需要基于拓扑2执行,脚本61~100需要基于拓扑3执行,则云管理平台可以将测试任务1划分为3个拓扑原子操作(如拓扑原子操作1~3),其中,拓扑原子操作1对应拓扑1,且包括基于拓扑1执行的脚本1~30的执行流程;拓扑原子操作2对应拓扑2,且包括基于拓扑2执行的脚本31~60的执行流程;拓扑原子操作3对应拓扑3,且包括基于托3执行的脚本61~100的执行流程。
步骤102、按照多个拓扑原子操作对应的拓扑的排序结果,在所创建的虚拟组网中对该多个拓扑原子操作进行并发模拟执行。
本发明实施例中,云管理平台将测试任务划分为多个拓扑原子操作之后,可以对该多个拓扑原子操作对应的拓扑进行排序,以得到对应的拓扑队列。
例如,对于同一测试任务对应的多个拓扑原子操作,可以根据各拓扑原子操作对应的拓扑所需资源的稀缺程度对各拓扑进行排序,以得到对应的拓扑队列。
其中,云管理平台可以按照拓扑队列中各拓扑的排序结果按照从前到后的顺序依次对对应的拓扑原子操作进行模拟执行。
在本发明其中一个实施例中,当存在多个并发测试任务时,按照测试任务的提交时间先后对该测试任务对应的拓扑原子操作对应的拓扑进行排序。
其中,提交时间在先的测试任务对应的拓扑排在拓扑队列的前面,提交时间在后的测试任务对应的拓扑排在拓扑队列的后面。
举例来说,假设测试任务1和测试任务2为并发执行,且测试任务1先提交,测试任务2后提交,测试任务1对应拓扑1~3,测试任务2对应拓扑4~6,则拓扑队列中拓扑1~3排在拓扑4~6的前面,同一测试任务对应的拓扑(如拓扑1~3或拓扑4~6)之间的排序则可以按照现有拓扑排序策略(如根据对应的资源的稀缺程度进行排序)进行。
其中,某种资源的稀缺程度可以为该资源的数量占资源总数的比例,该比例越低,则表明资源的稀缺程度越高,其对应的拓扑在拓扑队列中的排序越靠前。
其中,资源的稀缺程度越高,则表明该资源的不可替代性越高,即该资源被占用之后,使用其它资源代替该资源进行拓扑映射的可能性越低,因此,为了尽可能提高任务的并发性,进行拓扑映射时,应该优先考虑对应的资源较为稀缺的拓扑,以提前抢占该稀缺资源,以避免出现可用资源较多,但是缺少个别稀缺资源导致拓扑无法进行映射的情况出现。
本发明实施例中,考虑到组网中设备或/和连接数较多时,通过实际变更组网的方式进行组网优化的方式实现较为复杂,耗时较多,且无法保证组网优化效果,因此,为了提高组网优化的效率,云管理平台可以根据用户(如管理员)的配置指令,创建对应的虚拟组网,并通过在所创建的虚拟组网中模拟任务执行流程来检测组网优化效果。
相应地,云管理平台对多个拓扑原子操作对应的拓扑进行排序之后,可以根据多个拓扑原子操作对应的拓扑的排序结果,在所创建的虚拟组网中对该多个拓扑原子操作进行并发模拟执行。
其中,云管理平台在虚拟组网中执行拓扑原子操作时,拓扑查找真实执行,脚本执行模拟执行,其余操作可以根据实际需求真实执行或模拟执行。
优选地,云管理平台在虚拟组网中执行拓扑原子操作时,除了拓扑查找操作为真实执行之外,其余操作均为模拟执行。
需要说明的是,在本发明实施例中,上述多个并发测试任务是指需要在同一虚拟组网中并发执行的多个测试任务。
请参见图2,在本发明其中一个实施例中,上述步骤102中,上述按照多个拓扑原子操作对应的拓扑的排序结果,在所创建的虚拟组网中对该多个拓扑原子操作进行并发模拟执行,可以包括以下步骤:
步骤1021、按照该多个拓扑原子操作对应的拓扑的排序结果,依次对多个拓扑原子操作进行拓扑映射。若拓扑映射成功,则转至步骤1022;否则,转至步骤1023。
在该实施例中,云管理平台对多个拓扑原子操作对应的拓扑进行排序之后,可以根据多个拓扑原子操作对应的拓扑的排序结果,依次对多个拓扑原子操作进行拓扑映射,即按照从前到后的顺序,依次判断拓扑队列中各拓扑是否存在足够资源进行部署。
举例来说,假设拓扑队列中包括拓扑1~3,则云管理平台可以先对拓扑1进行拓扑映射,即判断是否有足够的资源部署该拓扑原子操作对应的拓扑,若有足够的资源,则确定拓扑映射成功,否则确定拓扑映射失败。
若拓扑映射成功,则转至步骤1022;若拓扑映射失败,则转至步骤1023;云管理平台对拓扑1进行拓扑映射之后,还可以继续对拓扑2(拓扑3)进行映射,若拓扑映射成功,则转至步骤1022;若拓扑映射失败,则转至步骤1023。
步骤1022、在所创建的虚拟组网中执行该拓扑原子操作,并对下一个拓扑原子操作进行拓扑映射,直至各拓扑原子操作均映射成功。
在该实施例中,对于任一拓扑原子操作,若拓扑映射成功,即存在足够资源部署该拓扑原子操作对应的拓扑时,云管理平台一方面可以在所创建的虚拟组网中执行该拓扑原子操作,即进行拓扑查找、设备占用、拓扑配置下发、脚本集执行、拓扑配置清除以及拓扑释放等操作。另一方面,可以按照拓扑的排序结果对其它拓扑原子操作继续进行拓扑映射,直至测试任务对应的多个拓扑原子操作均映射成功。
在该实施例中,在拓扑原子操作的执行过程中,该拓扑原子操作占用的虚拟组网中的设备为占用状态(从可用状态变为占用状态),当拓扑原子操作执行完成后,该拓扑原子操作占用的虚拟组网中的设备恢复为可用状态(从占用状态变为可用状态)。
步骤1023、对下一个拓扑原子操作进行拓扑映射,并当虚拟组网中存在设备恢复为可用状态时,按照拓扑的排序结果,依次对未执行的拓扑原子操作进行拓扑映射,直至各拓扑原子操作均映射成功。
在该实施例中,当云管理平台对某拓扑原子操作进行拓扑映射失败时,即不存在足够的资源来部署该拓扑原子操作对应的拓扑时,云管理平台可以先根据拓扑的排序结果对其它拓扑原子操作继续进行拓扑映射,并当虚拟组网中存在设备恢复为可用状态,例如,存在拓扑原子操作执行完成时,云管理平台可以根据拓扑的排序结果,依次对未执行的拓扑原子操作(包括拓扑映射失败的拓扑原子操作以及还未进行拓扑映射的拓扑原子操作)进行拓扑映射,直至测试任务对应的多个拓扑原子操作均映射成功。
在该实施例中,执行完步骤1022或步骤1023之后,可以继续执行步骤103。
步骤103、对于任一测试任务,将从该测试任务对应的多个拓扑原子操作中首个拓扑原子操作开始执行到最后一个拓扑原子操作执行完成的持续时长确定为该测试任务在所述虚拟组网下的任务执行总时长。
本发明实施例中,对于任一测试任务,当该测试任务对应的多个拓扑原子操作中任一拓扑原子操作开始执行时,云管理平台可以开始统计该测试任务的任务执行总时长。
在本发明其中一个实施例中,上述确定为该测试任务在虚拟组网下的任务执行总时长之前,还可以包括:
分别确定多个拓扑原子操作的执行时长;
其中,对于任一拓扑原子操作,将以下耗时之和确定为该拓扑原子操作的执行时长:
拓扑查找耗时、设备占用耗时、拓扑配置下发耗时、脚本集执行耗时、拓扑配置清除耗时以及拓扑释放耗时。
在该实施例中,考虑到拓扑原子操作包括拓扑查找、设备占用、拓扑配置下发、脚本集执行、拓扑配置清除以及拓扑释放等步骤,因此,对于任一拓扑原子操作,可以将拓扑原子操作对应的拓扑查找耗时、设备占用耗时、拓扑配置下发耗时、脚本集执行耗时、拓扑配置清除耗时以及拓扑释放耗时之和确定为该拓扑原子操作的执行时长。
在该实施例中,考虑到进行组网优化时,需要修改组网环境(主要包括组网内设备间的连接),因此,组网优化前的拓扑映射将不再适用,因此,拓扑查找操作需要真实执行,但同时,考虑到拓扑配置下发和清除以及脚本执行等操作的耗时受组网环境变化的影响较小,且脚本执行操作的真实执行耗时比较长,因此,可以通过模拟执行的方式进行脚本执行操作,并根据实际需求将拓扑配置下发和清除等操作以真实执行或模拟执行的方式执行。
相应地,在该实施例其中一种实施方式中,拓扑配置下发耗时、拓扑配置清除耗时以及脚本执行耗时可以从历史任务执行日志中获取。
设备占用耗时可以根据设备初始化时间以及拓扑连接时间确定,例如,可以将设备初始化时间与拓扑连接时间之和确定为设备占用耗时。
其中,设备初始化时间可以通过以下公式确定:
设备初始化时间=占用设备数*设备平均初始化时间;
进而,设备占用耗时可以通过以下公式确定:
设备占用耗时=占用设备数*设备平均初始化时间+拓扑连接时间。
其中,设备平均初始化时间以及拓扑连接时间可以为经验值。
拓扑释放时可以根据设备清理时间以及拓扑断开连接时间确定,例如,可以将设备清理时间与拓扑断开连接时间之和确定为设备占用耗时。
其中,设备清理时间可以通过以下公式确定:
设备清理时间=占用设备数*设备平均清理时间;
进而,拓扑释放耗时可以通过以下公式确定:
拓扑释放耗时=占用设备数*设备平均清理时间+拓扑断开连接时间。
其中,设备平均清理时间以及拓扑断开连接时间可以为经验值。
需要说明的是,在本发明实施例中,设备占用耗时、拓扑配置下发耗时、拓扑配置清除耗时以及拓扑释放耗时除了可以按照上述方式确定(即通过模拟执行的方式确定),也可以通过真实执行并进行时间统计的方式确定,其具体实现在此不做赘述。
本发明实施例中,云管理平台统计测试任务的任务执行总时长时,可以根据所确定的各拓扑原子操作的执行时长进行时间片推移,并当该测试任务对应的所有拓扑原子操作均执行完成时,将从该测试任务对应的多个拓扑原子操作中首个拓扑原子操作开始执行到最后一个拓扑原子操作执行完成的持续时长确定为该测试任务在所述虚拟组网下的任务执行总时长。
举例来说,假设测试任务1包括拓扑原子操作1~4,其对应的拓扑分别为拓扑1~4(其中,拓扑的排序结果依次为拓扑1-拓扑2-拓扑3-拓扑4),拓扑原子操作1-4的执行时长分别为T1~T4(其中,T1>T3>T4>T2,T3+T4>T1,T1+T2>T3+T4),拓扑原子操作1需要4台设备进行拓扑映射,拓扑原子操作2需要5台设备进行拓扑映射,拓扑原子操作3需要2台设备进行拓扑映射,拓扑原子操作4需要3台设备进行拓扑映射,虚拟组网中共包括8台设备。其中,为便于说明,在该示例中不考虑设备之间的连接关系对拓扑映射的影响,即可用设备数量满足要求即认为拓扑映射成功(在实际场景中,拓扑映射除了需要考虑可用设备数量之外,还需要考虑设备之间的连接关系,其具体实现在该示例中不做赘述)。
如图3A所示,在该示例中,云管理平台可以先对拓扑原子操作1进行拓扑映射,由于虚拟组网中可用状态的设备数量为8台(虚拟组网中各设备的初始状态均为可用状态),而拓扑原子操作1需要4台设备进行拓扑映射,因此拓扑原子操作1拓扑映射成功云管理平台可以在虚拟组网中执行拓扑原子操作1,并将占用的设备的状态设置为占用状态;云管理平台继续对拓扑原子操作2进行拓扑映射,由于虚拟组网中可用状态的设备数量为4台,而拓扑原子操作2需要5台设备进行拓扑映射,因此,拓扑映射失败;云管理平台继续对拓扑原子操作3进行拓扑映射,由于虚拟组网中可用状态的设备数量为4台,而拓扑原子操作3需要2台设备进行拓扑映射,因此,拓扑原子操作3拓扑映射成功,云管理平台可以在虚拟组网中执行拓扑原子操作3,并将占用的设备的状态设置为占用状态;云管理平台继续对拓扑原子操作4进行拓扑映射,由于虚拟组网中可用状态的设备数量为2台,而拓扑原子操作4需要3台设备进行拓扑映射,因此,拓扑原子操作4拓扑映射失败。
云管理平台执行拓扑原子操作时,可以根据拓扑原子操作的执行时长进行时间片推移。当时间到达t1(t1-t0=T3,t0为拓扑原子操作1开始执行的时刻)时,拓扑原子操作3执行完成,拓扑原子操作3占用的设备的状态恢复为可用状态,此时,云管理平台可以再次对拓扑原子操作2进行拓扑映射,由于虚拟组网中可用状态的设备数量为4台,而拓扑原子操作2需要5台设备进行拓扑映射,因此,拓扑原子操作2拓扑映射失败;云管理平台可以继续对拓扑原子操作4进行拓扑映射,由于虚拟组网中可用状态的设备数量为4台,而拓扑原子操作4需要3台设备进行拓扑映射,因此,拓扑原子操作4拓扑映射成功,云管理平台可以在虚拟组网中执行拓扑原子操作4,并将占用的设备的状态设置为占用状态。
当时间达到t2(t2-t0=T1)时,拓扑原子操作1执行完成,拓扑原子操作1占用的设备的状态恢复为可用状态,此时,云管理平台可以再次对拓扑原子操作2进行拓扑映射,由于虚拟组网中可用状态的设备数量为5台,而拓扑原子操作2需要5台设备进行拓扑映射,因此,拓扑原子操作2拓扑映射成功,云管理平台可以在虚拟组网中执行拓扑原子操作2,并将占用的设备的状态设置为占用状态。
当时间达到t3(t3-t0=T3+T4)时,拓扑原子操作4执行完成,拓扑原子操作4占用的设备的状态恢复为可用状态。
当时间达到t4(t4-t0=T1+T2)时,拓扑原子操作2执行完成,拓扑原子操作2占用的设备的状态恢复为可用状态。
此时,测试任务1对应的拓扑原子操作均执行完成,云管理平台可以将从测试任务1的首个拓扑原子操作执行到最后一个拓扑原子操作执行完成的持续时长(t4-t0=T1+T2)确定为测试任务1在该虚拟组网下的任务执行总时长。
需要说明的是,在本发明实施例中,当存在多个并发测试任务时,云管理平台对多个并发测试任务进行拓扑原子操作划分,以及拓扑排序之后,可以按照上述方式进行时间片推移,并分别确定各测试任务的在虚拟组网下的任务执行总时长,其具体实现在此不做赘述。
举例来说,假设测试任务1和测试任务2为并发测试任务,且测试任务1先提交,测试任务2后提交,测试任务1包括拓扑原子操作1-1和拓扑原子操作1-2,其对应的拓扑分别为拓扑1-1和拓扑1-2,测试任务2包括拓扑原子操作2-1和拓扑原子操作2-2,对应的拓扑分别为拓扑2-1和拓扑2-2(其中,拓扑的排序结果依次为拓扑1-1、拓扑1-2、拓扑2-1和拓扑2-2),拓扑原子操作1-1、拓扑原子操作1-2、拓扑原子操作2-1和拓扑原子操作2-2的执行时长分别为T11、T12、T21和T22(其中,T11>T21>T22>T12,T21+T22>T11,T11+T12>T21+T22),拓扑原子操作1-1需要4台设备进行拓扑映射,拓扑原子操作1-2需要5台设备进行拓扑映射,拓扑原子操作2-1需要2台设备进行拓扑映射,拓扑原子操作2-2需要3台设备进行拓扑映射,虚拟组网中共包括8台设备。其中,为便于说明,在该示例中不考虑设备之间的连接关系对拓扑映射的影响,即可用设备数量满足要求即认为拓扑映射成功(在实际场景中,拓扑映射除了需要考虑可用设备数量之外,还需要考虑设备之间的连接关系,其具体实现在该示例中不做赘述)。
如图3B所示,在该示例中,云管理平台可以先对拓扑原子操作1-1进行拓扑映射,由于虚拟组网中可用状态的设备数量为8台(虚拟组网中各设备的初始状态均为可用状态),而拓扑原子操作1-1需要4台设备进行拓扑映射,因此,拓扑原子操作1-1拓扑映射成功,云管理平台可以在虚拟组网中执行拓扑原子操作1-1,并将占用的设备的状态设置为占用状态;云管理平台继续对拓扑原子操作1-2进行拓扑映射,由于虚拟组网中可用状态的设备数量为4台,而拓扑原子操作1-2需要5台设备进行拓扑映射,因此,拓扑映射失败;云管理平台继续对拓扑原子操作2-1进行拓扑映射,由于虚拟组网中可用状态的设备数量为4台,而拓扑原子操作2-1需要2台设备进行拓扑映射,因此,拓扑原子操作2-1拓扑映射成功,云管理平台可以在虚拟组网中执行拓扑原子操作2-1,并将占用的设备的状态设置为占用状态;云管理平台继续对拓扑原子操作2-2进行拓扑映射,由于虚拟组网中可用状态的设备数量为2台,而拓扑原子操作2-2需要3台设备进行拓扑映射,因此,拓扑原子操作2-2拓扑映射失败。
云管理平台执行拓扑原子操作时,可以根据拓扑原子操作的执行时长进行时间片推移。当时间到达t1'(t1'-t0'=T21,t0'为拓扑原子操作1-1开始执行的时刻)时,拓扑原子操作2-1执行完成,拓扑原子操作2-1占用的设备的状态恢复为可用状态,此时,云管理平台可以再次对拓扑原子操作1-2进行拓扑映射,由于虚拟组网中可用状态的设备数量为4台,而拓扑原子操作1-2需要5台设备进行拓扑映射,因此,拓扑原子操作1-2拓扑映射失败;云管理平台可以继续对拓扑原子操作2-2进行拓扑映射,由于虚拟组网中可用状态的设备数量为4台,而拓扑原子操作2-2需要3台设备进行拓扑映射,因此,拓扑原子操作2-2拓扑映射成功,云管理平台可以在虚拟组网中执行拓扑原子操作2-2,并将占用的设备的状态设置为占用状态。
当时间达到t2'(t2'-t0'=T11)时,拓扑原子操作1-1执行完成,拓扑原子操作1-1占用的设备的状态恢复为可用状态,此时,云管理平台可以再次对拓扑原子操作1-2进行拓扑映射,由于虚拟组网中可用状态的设备数量为5台,而拓扑原子操作2需要5台设备进行拓扑映射,因此,拓扑原子操作1-2拓扑映射成功,云管理平台可以在虚拟组网中执行拓扑原子操作1-2,并将占用的设备的状态设置为占用状态。
当时间达到t3'(t3'-t0'=T21+T22)时,拓扑原子操作2-2执行完成,拓扑原子操作2-2占用的设备的状态恢复为可用状态。
当时间达到t4'(t4'-t0'=T11+T12)时,拓扑原子操作1-2执行完成,拓扑原子操作1-2占用的设备的状态恢复为可用状态。
此时,测试任务1和测试任务2对应的拓扑原子操作均执行完成,云管理平台可以将从测试任务1的首个拓扑原子操作执行到测试任务1的最后一个拓扑原子操作执行完成的持续时长(t4'-t0'=T11+T12)确定为测试任务1在该虚拟组网下的任务执行总时长,将从测试任务2的首个拓扑原子操作执行到测试任务2的最后一个拓扑原子操作执行完成的持续时长(t3'-t0'=T21+T22)确定为测试任务2在该虚拟组网下的任务执行总时长。
步骤104、根据测试任务在虚拟组网下的任务执行总时长进行组网优化。
本发明实施例中,云管理平台确定了测试任务在虚拟组网下的任务执行总时长之后,可以根据该任务执行总时长确定该虚拟组网的优化效果,并确定其是否满足组网优化需求。
例如,可以通过比较该任务执行总时长与测试任务在优化前的组网中的任务执行总时长确定该虚拟组网的优化效果。
或者,可以根据该任务执行总时长确定该测试任务在该虚拟组网中的脚本并发率,根据该脚本并发率确定组网的优化效果,并确定其是否满足组网优化需求。
其中,脚本并发率=脚本串行执行总时长/自动化任务执行总时长*100%。
其中,脚本串行执行总时长为测试任务中各脚本的执行时长之和。
本发明实施例中,当云管理平台确定测试任务在虚拟组网下的任务执行总时长满足组网优化需求时,云管理平台可以根据该虚拟组网进行组网优化。
在本发明其中一个实施例中,上述根据测试任务在虚拟组网下的任务执行总时长进行组网优化,可以包括:
分别比较测试任务在多个不同的虚拟组网下的任务执行总时长;
根据对应的任务执行总时长最短,且任务执行总时长比该测试任务在优化前的组网中的任务执行总时长的虚拟组网进行组网优化。
在该实施例中,为了提高组网优化效果,云管理平台可以创建多个不同的虚拟组网(一个虚拟组网可以对应一个组网优化方案),并分别按照上述方法流程确定测试任务在该多个不同的虚拟组网下的任务执行总时长。
云管理平台确定了测试任务在各不同的虚拟组网下的任务执行总时长之后,可以比较测试任务在各不同的虚拟组网下的任务执行总时长,确定对应的执行任务总时长最短的虚拟组网,并比较测试任务在该虚拟组网下的任务执行总时长与测试任务在优化前的组网中的任务执行总时长,若测试任务在该虚拟组网下的任务执行总时长更短,则根据该虚拟组网进行组网优化,即根据虚拟组网包括的设备以及设备之间的连接关系进行组网搭建,以最大化提升组网优化效果。
需要说明的是,在本发明实施例中,当测试任务在多个不同的虚拟组网下的最短任务执行总时长仍比测试任务在优化前的组网下的任务执行总时长时,云管理平台可以创建新的虚拟组网,并重新按照上述方法流程确定组网优化,其具体实现在此不做赘述。
此外,当在同一虚拟组网中对多个测试任务进行并发模拟时,可以根据在优化前的组网中实际执行时耗时最长的测试任务的优化效果来确定该虚拟组网的优化效果。
可见,在图1所示方法流程中,通过创建虚拟组网,将测试任务的执行流程划分为多个拓扑原子操作在虚拟组网中模拟执行,并根据测试任务在虚拟组网中的任务执行总时长进行组网优化,与直接改变组网进行组网优化的实现方案相比,提高了组网优化效率,并保证了组网优化效果。
考虑到自动化测试的持续时间一般会比较长,在该期间,可能会出现紧急任务需要抢占(手工抢占)组网中的设备的情况(本文中称为手工抢占事件),而该手工抢占事件会影响测试任务的执行,即会对测试任务的任务执行时长产生影响,因此,在虚拟组网中模拟任务执行时,需要考虑手工抢占事件对测试任务执行的影响,并对手工抢占事件进行模拟,以提高任务执行模拟的精度,使其更加接近测试任务的实际执行情况。
进一步地,在本发明其中一个实施例中,上述组网优化方法还可以包括:
获取(模拟的)手工抢占设备事件的起始时间、结束时间以及手工抢占的设备标识;
在手工抢占事件的起始时间到结束时间的时长内,将手工抢占的设备标识对应的目标设备设置为手工抢占状态,并中断执行过程中占用目标设备的拓扑原子操作;
按照未执行的拓扑原子操作对应的拓扑的排序结果,利用虚拟组网中的可用设备依次对未执行的拓扑原子操作进行拓扑映射。
相应地,在该实施例中,云管理平台在虚拟组网中模拟任务执行时,还可以检测是否存在手工抢占事件,并当存在手工抢占事件时,获取手工抢占事件的起始时间、结束时间以及手工抢占的设备标识。
例如,云管理平台可以根据系统操作日志中记录的数据确定是否存在手工抢占事件,并当存在手工抢占事件时,获取手工抢占事件的起始时间、结束时间以及手工抢占的设备标识。
在该实施例中,云管理平台检测到存在手工抢占事件时,可以在手工抢占的起始时间到结束时间的时长内,将手工抢占的设备标识对应的设备(本文中称为目标设备)设置为手工抢占状态,并中断执行过程中占用目标设备的拓扑原子操作。
其中,由于手工抢占事件而中断执行的拓扑原子操作所占用的非目标设备(即该拓扑原子操作占用,但未被手工抢占事件抢占的设备)在该拓扑原子操作中断时会恢复为可用状态。
在手工抢占事件的持续时间内,云管理平台仍然可以使用虚拟组网内未被手工抢占事件抢占的设备进行拓扑原子操作的拓扑映射,即按照未执行的拓扑原子操作(可以包括由于手工抢占事件而中断执行的拓扑原子操作、未进行拓扑映射的拓扑原子操作以及拓扑映射失败的拓扑原子操作等)对应的拓扑的排序结果,利用虚拟组网中的可用设备依次对未执行的拓扑原子操作进行拓扑映射,并根据拓扑映射结果按照上述方法流程中的相关描述进行处理。
需要说明的是,在本发明实施例中,由于手工抢占事件而中断执行的拓扑原子操作重新执行时,需要重新进行拓扑查找、设备占用、拓扑配置下发、脚本集(拓扑原子操作中断执行时还未执行的脚本)执行、拓扑配置清除以及拓扑释放等,因此,可以按照上述方法流程中描述的方式重新计算该中断执行的拓扑原子操作继续执行时的执行时长。或者,考虑到拓扑原子操作的执行时长主要是脚本集执行的时长,拓扑查找、设备占用、拓扑配置下发、拓扑配置清除以及拓扑释放等操作所占用的时长相对脚本集执行的时长而言比较短,因此,也可以直接根据中断执行的拓扑原子操作的总时长与该拓扑原子操作中断执行时已执行的时长确定该中断执行的拓扑原子操作继续执行时的执行时长。
举例来说,假设拓扑原子操作的执行时长为Ta,该拓扑原子操作被手工抢占事件中断执行时已执行的时长为Tb,则该拓扑原子操作继续执行时的执行时长为Ta-Tb。
在该实施例中,当手工抢占事件结束时,手工抢占事件抢占的设备会恢复为可用状态,此时,云管理平台可以按照未执行的拓扑原子操作对应的拓扑的排序结果,利用虚拟组网中的可用设备依次对未执行的拓扑原子操作进行拓扑映射,并根据拓扑映射结果按照上述方法流程中的相关描述进行处理。
在本发明其中一个实施例中,拓扑队列中与执行完成的拓扑原子操作对应的拓扑设置有完成标志;其中,该完成标志用于指示拓扑对应的拓扑原子操作已执行完成。
相应地,上述组网优化方案还可以包括:
对于拓扑队列中任一设置有完成标志的拓扑,当根据历史任务执行日志确定该拓扑对应的拓扑原子操作包括的脚本集中存在需要Rerun(重新执行)的脚本时,删除该拓扑的完成标志,并将该拓扑对应的拓扑原子操作包括的脚本集更新为需要Rerun的脚本。
在该实施例中,考虑到自动化测试过程中会由于网络抖动、接口松动等原因造成脚本执行结果fail(失败),此时,会需要对相应的脚本(即执行结果fail的脚本)进行Rerun,而脚本Rerun会影响测试任务的任务执行时长,因此,在虚拟组网中模拟任务执行时,需要考虑脚本Rerun对测试任务的任务执行时长的影响,并对脚本Rerun进行模拟,以提高任务执行模拟的精度,使其更加接近测试任务的实际执行情况。
相应地,在该实施例中,云管理平台可以根据测试任务的历史任务执行日志确定测试任务中需要Rerun的脚本,以及需要Rerun的脚本的Rerun次数。
对于拓扑队列中任一设置有完成标志(如finish标志)的拓扑,当根据历史任务执行日志确定该拓扑对应的拓扑原子操作包括的脚本集中存在需要Rerun的脚本时,删除该拓扑的完成标志,并将该拓扑对应的拓扑原子操作包括的脚本集更新为需要Rerun的脚本。进而,当虚拟组网中存在设备恢复为可用状态时,按照拓扑的排序结果,依次对未执行的拓扑原子操作进行拓扑映射。
举例来说,仍以对应步骤101的示例为例,假设拓扑排序结果为拓扑1、拓扑2和拓扑3,当拓扑1执行完成时,云管理平台可以为拓扑1设置finish标志,并根据历史任务执行日志确定拓扑原子操作1包括的脚本(即脚本1~30)中是否存在需要Rerun的脚本。
假设脚本10~15需要Rerun,则云管理平台可以删除拓扑1的finish标志,并将拓扑原子操作1的脚本集更新为脚本10~15。
当虚拟组网中存在设备恢复为可用状态时,云管理平台可以重新按照拓扑1-拓扑2(若未成功拓扑映射)-拓扑3(若未成功拓扑映射)的顺序依次对拓扑原子操作1-拓扑原子操作2-拓扑原子操作3进行拓扑映射。以步骤101中的示例举例来说,由于步骤101的示例中,脚本1~30是属于同一个拓扑原子操作(即拓扑原子操作1)的,因此,脚本10~15进行Rerun时,仍然属于拓扑原子操作1;若需要Rerun的脚本包括15~40,则拓扑原子操作1的脚本集更新为15~30;拓扑原子操作2的脚本集更新为31~40。
需要说明的是,拓扑原子操作的脚本集更新之后,云管理平台可以按照上述方法流程中描述的方法重新确定该拓扑原子操作的执行时长,其具体实现在此不做赘述。
此外,当根据历史任务执行日志确定存在需要多次Rerun的脚本时,云管理平台可以按照上述方式对相应的脚本进行多次Rerun模拟,其具体实现在此不做赘述。
通过以上描述可以看出,在本发明实施例提供的技术方案中,通过将测试任务的执行流程划分为多个拓扑原子操作,并按照该多个拓扑原子操作对应的拓扑的排序结果,在所创建的虚拟组网中对所述多个拓扑原子操作进行并行模拟执行;进而,对于任一测试任务,将从该测试任务对应的多个拓扑原子操作中首个拓扑原子操作开始执行到最后一个拓扑原子操作执行完成的持续时长,确定为该测试任务在所述虚拟组网下的任务执行总时长,并根据测试任务在虚拟组网下的任务执行总时长进行组网优化,提高了组网优化的效率,并保证了组网优化的效果。
以上对本发明提供的方法进行了描述。下面对本发明提供的装置进行描述:
请参见图4,为本发明实施例提供的一种组网优化装置的结构示意图,其中,该装置可以应用于上述方法实施例中的测试云管理平台,如图4所示,该组网优化装置可以包括:
划分单元410,用于将测试任务的执行流程划分为多个拓扑原子操作;其中,一个拓扑原子操作对应一个拓扑,且包括基于该拓扑执行的多个脚本执行流程;
排序单元420,用于对所述多个拓扑原子操作对应的拓扑进行排序;
执行单元430,用于按照所述多个拓扑原子操作对应的拓扑的排序结果,在所创建的虚拟组网中对所述多个拓扑原子操作进行并行模拟执行;
确定单元440,用于对于任一测试任务,将从该测试任务对应的多个拓扑原子操作中首个拓扑原子操作开始执行到最后一个拓扑原子操作执行完成的持续时长确定为该测试任务在所述虚拟组网下的任务执行总时长;
优化单元450,用于根据测试任务在虚拟组网下的任务执行总时长进行组网优化。
请一并参见图5,为本发明实施例提供的另一种组网优化装置的结构示意图,如图5所示,在图4所示组网优化装置的基础上,图5所示的组网优化装置还包括:
映射单元460,用于按照所述多个拓扑原子操作对应的拓扑的排序结果,依次对所述多个拓扑原子操作进行拓扑映射;
所述执行单元430,还用于若拓扑映射成功,则在所述虚拟组网中执行所述拓扑原子操作;其中,执行所述拓扑原子操作过程中占用的虚拟组网中的设备为占用状态,所述拓扑原子操作执行完成后,执行所述拓扑原子操作过程中占用的虚拟组网中的设备恢复为可用状态;所述拓扑原子操作的执行过程中的拓扑查找真实执行,脚本执行模拟执行;
所述映射单元460,还用于若拓扑映射成功,对下一个拓扑原子操作进行拓扑映射;若拓扑映射失败,则对下一个拓扑原子操作进行拓扑映射,并当所述虚拟组网中存在设备恢复为可用状态时,按照拓扑的排序结果,依次对未执行的拓扑原子操作进行拓扑映射,直至所述多个拓扑原子操作均映射成功。
在可选实施例中,所述排序单元420,还用于当存在多个并发测试任务时,按照测试任务的提交时间先后对该多个测试任务对应的拓扑原子操作对应的拓扑进行排序。
在可选实施例中,所述确定单元440,还用于分别确定所述多个拓扑原子操作的执行时长;
其中,对于任一拓扑原子操作,将以下耗时之和确定为该拓扑原子操作的执行时长:
拓扑查找耗时、设备占用耗时、拓扑配置下发耗时、脚本集执行耗时、拓扑配置清除耗时以及拓扑释放耗时。
在可选实施例中,所述设备占用耗时为设备初始化时间与拓扑连接时间之和;其中,设备初始化时间为占用设备数与设备平均初始化时间之积;或/和,
所述拓扑配置下发耗时从历史任务执行日志中获取;或/和,
所述拓扑配置清除耗时从历史任务执行日志中获取;或/和,
所述拓扑释放耗时为设备清理时间与拓扑断开连接时间之和;其中,所述设备清理时间为占用设备数与设备平均清理时间之积。
在可选实施例中,所述优化单元450,具体用于分别比较该测试任务在多个不同的虚拟组网下的任务执行总时长;根据对应的任务执行总时长最短,且任务执行总时长比该测试任务在优化前的组网中的任务执行总时长的虚拟组网进行组网优化。
请一并参见图6,为本发明实施例提供的另一种组网优化装置的结构示意图,如图6所示,在图4所示组网优化装置的基础上,图6所示的组网优化装置还包括:
获取单元470,用于获取手工抢占设备事件的起始时间、结束时间以及手工抢占的设备标识;
所述执行单元430,还用于在所述手工抢占事件的起始时间到结束时间的时长内,将所述手工抢占的设备标识对应的目标设备设置为手工抢占状态,并中断执行过程中占用所述目标设备的拓扑原子操作;
所述映射单元460,还用于按照未执行的拓扑原子操作对应的拓扑的排序结果,利用虚拟组网中的可用设备依次对未执行的拓扑原子操作进行执行。
在可选实施例中,所述执行单元430,还用于当拓扑原子操作执行完成时,为拓扑队列中对应的拓扑设置完成标志;
所述执行单元430,还用于对于拓扑队列中任一设置有完成标志的拓扑,当根据历史任务执行日志确定该拓扑对应的拓扑原子操作包括的脚本集中存在需要重新执行Rerun的脚本时,删除该拓扑的完成标志,并将该拓扑对应的拓扑原子操作包括的脚本集更新为需要Rerun的脚本。
图7为本公开示例提供的一种组网优化装置的硬件结构示意图。该组网优化装置可包括处理器701、存储有机器可执行指令的机器可读存储介质702。处理器701与机器可读存储介质702可经由系统总线703通信。并且,通过读取并执行机器可读存储介质702中与组网优化逻辑对应的机器可执行指令,处理器701可执行上文描述的组网优化方法。
本文中提到的机器可读存储介质702可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (16)
1.一种组网优化方法,其特征在于,应用于测试云管理平台,所述方法包括:
将测试任务的执行流程划分为多个拓扑原子操作;其中,一个拓扑原子操作对应一个拓扑,且包括基于该拓扑执行的多个脚本执行流程;
按照所述多个拓扑原子操作对应的拓扑的排序结果,在所创建的虚拟组网中对所述多个拓扑原子操作进行并行模拟执行;
对于任一测试任务,将从该测试任务对应的多个拓扑原子操作中首个拓扑原子操作开始执行到最后一个拓扑原子操作执行完成的持续时长,确定为该测试任务在所述虚拟组网下的任务执行总时长;
根据测试任务在虚拟组网下的任务执行总时长进行组网优化。
2.根据权利要求1所述的方法,其特征在于,所述按照所述多个拓扑原子操作对应的拓扑的排序结果,在所创建的虚拟组网中对所述多个拓扑原子操作进行并行模拟执行,包括:
按照所述多个拓扑原子操作对应的拓扑的排序结果,依次对所述多个拓扑原子操作进行拓扑映射;
若拓扑映射成功,则在所述虚拟组网中执行所述拓扑原子操作,并对下一个拓扑原子操作进行拓扑映射,直至所述多个拓扑原子操作均映射成功;其中,执行所述拓扑原子操作过程中占用的虚拟组网中的设备为占用状态,所述拓扑原子操作执行完成后,执行所述拓扑原子操作过程中占用的虚拟组网中的设备恢复为可用状态;所述拓扑原子操作的执行过程中的拓扑查找真实执行,脚本执行模拟执行;
若拓扑映射失败,则对下一个拓扑原子操作进行拓扑映射,并当所述虚拟组网中存在设备恢复为可用状态时,按照拓扑的排序结果,依次对未执行的拓扑原子操作进行拓扑映射,直至所述多个拓扑原子操作均映射成功。
3.根据权利要求1所述的方法,其特征在于,所述按照所述多个拓扑原子操作对应的拓扑的排序结果,在所创建的虚拟组网中对所述多个拓扑原子操作进行并行模拟执行之前,还包括:
当存在多个并发测试任务时,按照测试任务的提交时间先后对该多个测试任务对应的拓扑原子操作对应的拓扑进行排序。
4.根据权利要求1所述的方法,其特征在于,所述确定为该测试任务在所述虚拟组网下的任务执行总时长之前,还包括:
分别确定所述多个拓扑原子操作的执行时长;
其中,对于任一拓扑原子操作,将以下耗时之和确定为该拓扑原子操作的执行时长:
拓扑查找耗时、设备占用耗时、拓扑配置下发耗时、脚本集执行耗时、拓扑配置清除耗时以及拓扑释放耗时。
5.根据权利要求4所述的方法,其特征在于,
所述设备占用耗时为设备初始化时间与拓扑连接时间之和;其中,设备初始化时间为占用设备数与设备平均初始化时间之积;或/和,
所述拓扑配置下发耗时从历史任务执行日志中获取;或/和,
所述拓扑配置清除耗时从历史任务执行日志中获取;或/和,
所述拓扑释放耗时为设备清理时间与拓扑断开连接时间之和;其中,所述设备清理时间为占用设备数与设备平均清理时间之积。
6.根据权利要求1所述的方法,其特征在于,所述根据测试任务在虚拟组网下的任务执行总时长进行组网优化,包括:
分别比较该测试任务在多个不同的虚拟组网下的任务执行总时长;
根据对应的任务执行总时长最短,且任务执行总时长比该测试任务在优化前的组网中的任务执行总时长的虚拟组网进行组网优化。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取手工抢占设备事件的起始时间、结束时间以及手工抢占的设备标识;
在所述手工抢占事件的起始时间到结束时间的时长内,将所述手工抢占的设备标识对应的目标设备设置为手工抢占状态,并中断执行过程中占用所述目标设备的拓扑原子操作;
按照未执行的拓扑原子操作对应的拓扑的排序结果,利用虚拟组网中的可用设备依次对未执行的拓扑原子操作进行拓扑映射。
8.根据权利要求1所述的方法,其特征在于,拓扑队列中与执行完成的拓扑原子操作对应的拓扑设置有完成标志;
所述方法还包括:
对于拓扑队列中任一设置有完成标志的拓扑,当根据历史任务执行日志确定该拓扑对应的拓扑原子操作包括的脚本集中存在需要重新执行Rerun的脚本时,删除该拓扑的完成标志,并将该拓扑对应的拓扑原子操作包括的脚本集更新为需要Rerun的脚本。
9.一种组网优化装置,其特征在于,应用于测试云管理平台,所述装置包括:
划分单元,用于将测试任务的执行流程划分为多个拓扑原子操作;其中,一个拓扑原子操作对应一个拓扑,且包括基于该拓扑执行的多个脚本执行流程;
排序单元,用于对所述多个拓扑原子操作对应的拓扑进行排序;
执行单元,用于按照所述多个拓扑原子操作对应的拓扑的排序结果,在所创建的虚拟组网中对所述多个拓扑原子操作进行并行模拟执行;
确定单元,用于对于任一测试任务,将从该测试任务对应的多个拓扑原子操作中首个拓扑原子操作开始执行到最后一个拓扑原子操作执行完成的持续时长确定为该测试任务在所述虚拟组网下的任务执行总时长;
优化单元,用于根据测试任务在虚拟组网下的任务执行总时长进行组网优化。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
映射单元,用于按照所述多个拓扑原子操作对应的拓扑的排序结果,依次对所述多个拓扑原子操作进行拓扑映射;
所述执行单元,还用于若拓扑映射成功,则在所述虚拟组网中执行所述拓扑原子操作;其中,执行所述拓扑原子操作过程中占用的虚拟组网中的设备为占用状态,所述拓扑原子操作执行完成后,执行所述拓扑原子操作过程中占用的虚拟组网中的设备恢复为可用状态;所述拓扑原子操作的执行过程中的拓扑查找真实执行,脚本执行模拟执行;
所述映射单元,还用于若拓扑映射成功,对下一个拓扑原子操作进行拓扑映射,直至所述多个拓扑原子操作均映射成功;若拓扑映射失败,则对下一个拓扑原子操作进行拓扑映射,并当所述虚拟组网中存在设备恢复为可用状态时,按照拓扑的排序结果,依次对未执行的拓扑原子操作进行拓扑映射,直至所述多个拓扑原子操作均映射成功。
11.根据权利要求9所述的装置,其特征在于,
所述排序单元,还用于当存在多个并发测试任务时,按照测试任务的提交时间先后对该多个测试任务对应的拓扑原子操作对应的拓扑进行排序。
12.根据权利要求9所述的装置,其特征在于,
所述确定单元,还用于分别确定所述多个拓扑原子操作的执行时长;
其中,对于任一拓扑原子操作,将以下耗时之和确定为该拓扑原子操作的执行时长:
拓扑查找耗时、设备占用耗时、拓扑配置下发耗时、脚本集执行耗时、拓扑配置清除耗时以及拓扑释放耗时。
13.根据权利要求12所述的装置,其特征在于,
所述设备占用耗时为设备初始化时间与拓扑连接时间之和;其中,设备初始化时间为占用设备数与设备平均初始化时间之积;或/和,
所述拓扑配置下发耗时从历史任务执行日志中获取;或/和,
所述拓扑配置清除耗时从历史任务执行日志中获取;或/和,
所述拓扑释放耗时为设备清理时间与拓扑断开连接时间之和;其中,所述设备清理时间为占用设备数与设备平均清理时间之积。
14.根据权利要求9所述的装置,其特征在于,
所述优化单元,具体用于分别比较该测试任务在多个不同的虚拟组网下的任务执行总时长;根据对应的任务执行总时长最短,且任务执行总时长比该测试任务在优化前的组网中的任务执行总时长的虚拟组网进行组网优化。
15.根据权利要求10所述的装置,其特征在于,所述装置还包括:
获取单元,用于获取手工抢占设备事件的起始时间、结束时间以及手工抢占的设备标识;
所述执行单元,还用于在所述手工抢占事件的起始时间到结束时间的时长内,将所述手工抢占的设备标识对应的目标设备设置为手工抢占状态,并中断执行过程中占用所述目标设备的拓扑原子操作;
所述映射单元,还用于按照未执行的拓扑原子操作对应的拓扑的排序结果,利用虚拟组网中的可用设备依次对未执行的拓扑原子操作进行拓扑映射。
16.根据权利要求9所述的装置,其特征在于,
所述执行单元,还用于当拓扑原子操作执行完成时,为拓扑队列中对应的拓扑设置完成标志;
所述执行单元,还用于对于拓扑队列中任一设置有完成标志的拓扑,当根据历史任务执行日志确定该拓扑对应的拓扑原子操作包括的脚本集中存在需要重新执行Rerun的脚本时,删除该拓扑的完成标志,并将该拓扑对应的拓扑原子操作包括的脚本集更新为需要Rerun的脚本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711463172.2A CN108055161B (zh) | 2017-12-28 | 2017-12-28 | 一种组网优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711463172.2A CN108055161B (zh) | 2017-12-28 | 2017-12-28 | 一种组网优化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108055161A true CN108055161A (zh) | 2018-05-18 |
CN108055161B CN108055161B (zh) | 2021-08-24 |
Family
ID=62128563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711463172.2A Active CN108055161B (zh) | 2017-12-28 | 2017-12-28 | 一种组网优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108055161B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959499A (zh) * | 2018-06-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 分布式文件系统性能分析方法、装置、设备及存储介质 |
CN111159006A (zh) * | 2018-11-07 | 2020-05-15 | 迈普通信技术股份有限公司 | 一种自动化测试方法及装置 |
CN112769810A (zh) * | 2020-12-31 | 2021-05-07 | 山石网科通信技术股份有限公司 | 防火墙测试方法、装置、非易失性存储介质和电子装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917306A (zh) * | 2010-08-20 | 2010-12-15 | 北京星网锐捷网络技术有限公司 | 一种自动测试方法、系统及装置 |
CN101984412A (zh) * | 2010-10-13 | 2011-03-09 | 北京航空航天大学 | 一种基于分组和禁忌搜索的并行测试任务调度方法 |
CN104079439A (zh) * | 2014-07-18 | 2014-10-01 | 合肥工业大学 | 一种基于离散萤火虫算法的片上网络映射方法 |
CN104579747A (zh) * | 2014-12-10 | 2015-04-29 | 国网电力科学研究院武汉南瑞有限责任公司 | 一种分布式电力设备仿真中的模型数据快速传输方法 |
US20170093685A1 (en) * | 2015-09-29 | 2017-03-30 | Cisco Technology, Inc. | Generating service-optimized paths based on enhanced eigrp telemetry |
US20170195218A1 (en) * | 2015-12-30 | 2017-07-06 | Qualcomm Incorporated | Routing in a hybrid network |
CN107483560A (zh) * | 2017-07-27 | 2017-12-15 | 国网江西省电力公司南昌供电分公司 | 一种面向共享用电的多模组网通信和选择方法 |
-
2017
- 2017-12-28 CN CN201711463172.2A patent/CN108055161B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917306A (zh) * | 2010-08-20 | 2010-12-15 | 北京星网锐捷网络技术有限公司 | 一种自动测试方法、系统及装置 |
CN101984412A (zh) * | 2010-10-13 | 2011-03-09 | 北京航空航天大学 | 一种基于分组和禁忌搜索的并行测试任务调度方法 |
CN104079439A (zh) * | 2014-07-18 | 2014-10-01 | 合肥工业大学 | 一种基于离散萤火虫算法的片上网络映射方法 |
CN104579747A (zh) * | 2014-12-10 | 2015-04-29 | 国网电力科学研究院武汉南瑞有限责任公司 | 一种分布式电力设备仿真中的模型数据快速传输方法 |
US20170093685A1 (en) * | 2015-09-29 | 2017-03-30 | Cisco Technology, Inc. | Generating service-optimized paths based on enhanced eigrp telemetry |
US20170195218A1 (en) * | 2015-12-30 | 2017-07-06 | Qualcomm Incorporated | Routing in a hybrid network |
CN107483560A (zh) * | 2017-07-27 | 2017-12-15 | 国网江西省电力公司南昌供电分公司 | 一种面向共享用电的多模组网通信和选择方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959499A (zh) * | 2018-06-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 分布式文件系统性能分析方法、装置、设备及存储介质 |
CN111159006A (zh) * | 2018-11-07 | 2020-05-15 | 迈普通信技术股份有限公司 | 一种自动化测试方法及装置 |
CN111159006B (zh) * | 2018-11-07 | 2022-10-18 | 迈普通信技术股份有限公司 | 一种自动化测试方法及装置 |
CN112769810A (zh) * | 2020-12-31 | 2021-05-07 | 山石网科通信技术股份有限公司 | 防火墙测试方法、装置、非易失性存储介质和电子装置 |
CN112769810B (zh) * | 2020-12-31 | 2023-04-07 | 山石网科通信技术股份有限公司 | 防火墙测试方法、装置、非易失性存储介质和电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108055161B (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI742045B (zh) | 任務的資源調度方法及裝置 | |
CN104102543B (zh) | 一种云计算环境中负载调整的方法和装置 | |
CN107967485A (zh) | 用电计量设备故障分析方法及装置 | |
CN108055161A (zh) | 一种组网优化方法及装置 | |
CN105988910A (zh) | 存储装置寿命监控系统以及其存储装置寿命监控方法 | |
CN104035836A (zh) | 集群检索平台中的自动容灾恢复方法及系统 | |
Mancini et al. | Anytime system level verification via random exhaustive hardware in the loop simulation | |
CN109445928A (zh) | 一种访问请求处理方法、装置、设备及可读存储介质 | |
CN107341040A (zh) | 一种虚拟化云平台的数据采集方法和装置 | |
CN108132831A (zh) | 任务的处理方法和处理装置 | |
CN107423097A (zh) | 一种应用程序的管理方法和装置 | |
CN116701043B (zh) | 面向异构计算系统的故障节点切换方法、装置和设备 | |
CN108694188A (zh) | 一种索引数据更新的方法以及相关装置 | |
WO2021126398A1 (en) | Behavior-driven die management on solid-state drives | |
CN109213658A (zh) | 一种巡检方法和装置 | |
CN108875035A (zh) | 分布式文件系统的数据存储方法及相关设备 | |
CN105635285B (zh) | 一种基于状态感知的vm迁移调度方法 | |
CN108009004A (zh) | 基于Docker的业务应用可用度测量监控的实现方法 | |
US9626156B2 (en) | Application architecture design method, application architecture design system, and recording medium | |
CN106537323B (zh) | 存储设备访问调解 | |
JP2013206368A (ja) | 仮想環境運用支援システム | |
CN106899436A (zh) | 一种云平台故障预测诊断系统 | |
EP4152715A1 (en) | Method and apparatus for determining resource configuration of cloud service system | |
CN105468726B (zh) | 基于本地计算和分布式计算的数据计算方法及系统 | |
US12028223B2 (en) | Capacity aware cloud environment node recovery system |
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 |