CN114296883A - 一种轻载虚拟化网络实验行为仿真器构建和调度方法 - Google Patents

一种轻载虚拟化网络实验行为仿真器构建和调度方法 Download PDF

Info

Publication number
CN114296883A
CN114296883A CN202111678919.2A CN202111678919A CN114296883A CN 114296883 A CN114296883 A CN 114296883A CN 202111678919 A CN202111678919 A CN 202111678919A CN 114296883 A CN114296883 A CN 114296883A
Authority
CN
China
Prior art keywords
simulator
behavior
behavior simulator
application
interface
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
Application number
CN202111678919.2A
Other languages
English (en)
Other versions
CN114296883B (zh
Inventor
陈磊
符永铨
王晔
贾焰
方滨兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202111678919.2A priority Critical patent/CN114296883B/zh
Publication of CN114296883A publication Critical patent/CN114296883A/zh
Application granted granted Critical
Publication of CN114296883B publication Critical patent/CN114296883B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及一种轻载虚拟化网络实验行为仿真器构建和调度方法。所述方法包括:基于开放编程接口建立应用容器封装结构,将各类应用及依赖库打包到容器镜像,为每个容器镜像确定对外部开放的服务功能调用接口,并提供应用容器的具体实现所对应的源码目录,其中源码支持不同的语言编写;基于有向无环图模型建立行为仿真器描述模型,图中的顶点代表应用容器的服务功能,图中的边建模服务功能的先后顺序;在容器计算平台部署和执行行为仿真器描述模型,通过高性能noSQL内存数据库建立多个行为仿真器队列、行为仿真器结果队列以区分不同的云计算租户,对行为仿真器队列、行为仿真器结果队列进行分布式调度。

Description

一种轻载虚拟化网络实验行为仿真器构建和调度方法
技术领域
本申请涉及网络通信领域,特别是涉及一种轻载虚拟化网络实验行为仿真器构建和调度方法、装置、计算机设备和存储介质。
背景技术
随着真实或仿真数据规模不断增长,网络仿真评估过程通常在分布并行计算机系统上运行,网络仿真评估实验复杂性更加突出,亟需通过行为仿真器技术提升网络仿真评估的自动化过程需求。网络实验行为仿真器是将行为流程化调度应用于仿真评估科学领域,自动化求解复杂的网络仿真问题的过程。
云计算网络实验行为仿真器通过云计算平台提供的服务与资源使用网络实验行为仿真器,提高资源共享和合作水平。云计算网络实验行为仿真器主要包括行为仿真器、任务调度器、云计算平台、用户界面接口等。行为仿真器通过专家知识建模业务流程,将业务流程和云计算资源关联,并编译为动态的云服务资源协同过程;调度器负责管理业务流程的执行生命周期,将行为仿真模型解析执行,根据模型定义的时序关系顺序选择云计算资源执行,,最终完成业务流程。云调度器需要通过部署和使用各种类型的虚拟机实现各个业务步骤,在虚拟机规模增大时的调度和执行过程较为复杂,所需的仿真资源空间开销较大,降低了行为仿真器的弹性和灵活性。
发明内容
基于此,有必要针对上述技术问题,提供一种能够在提升行为仿真器的弹性和灵活性的同时,避免基于传统虚拟机的部署开销和空间开销的轻载虚拟化网络实验行为仿真器构建和调度方法。
一种轻载虚拟化网络实验行为仿真器构建和调度方法,所述方法包括:
基于开放编程接口建立应用容器封装结构;所述应用容器封装结构将应用及依赖库打包到容器镜像,确定应用容器的对外部调度接口,并提供应用容器的具体实现所对应的源码目录;所述源码支持不同的语言编写;
通过用户交互界面获取行为仿真器运行请求并进行解析,对所述行为仿真器运行请求中的每一个网络仿真任务,以有向无环图的顶点代表任务所需的应用容器的对外部调度接口,以有向无环图的边代表任务所需的应用容器的执行顺序,构建基于有向无环图的行为仿真器描述模型;所述行为仿真器描述模型用于描述网络仿真任务中的复杂流程;
在容器计算平台部署和执行所述行为仿真器描述模型,通过高性能noSQL内存数据库建立多个行为仿真器队列、行为仿真器结果队列,提高容器计算平台的响应速度和资源利用率,对所述行为仿真器队列、所述行为仿真器结果队列进行分布式调度。
在其中一个实施例中,还包括:通过YAML格式定义开放编程接口描述文件;所述开放编程接口描述文件用于描述用于名称标识符、应用功能和应用API接口集合;
通过标准的容器打包定义文件格式描述应用及依赖库的容器打包文件Dockerfile;
定义应用的源码目录;所述源码包括接口定义程序源码和辅助程序源码;所述接口定义程序源码用于提供应用API接口的外部访问程序;所述辅助程序源码用于提供应用API接口程序的内部实现。
在其中一个实施例中,还包括:为所述任务对应的行为仿真器定义行为仿真器唯一标识符;
获取任务所需的应用接口,并根据所述任务所需的应用接口定义行为仿真器顶点集合;所述行为仿真器顶点集合中的每个行为仿真器顶点以一个应用接口数组描述;所述应用接口数组中包括应用接口唯一标识符id、应用接口名称和应用接口参数;
获取任务所需的应用接口的执行顺序,并根据所述应用接口的执行顺序定义行为仿真器边集合;所述行为仿真器边集合中每个行为仿真器边以一个边描述数组组成;所述边描述数组中包括边唯一标识符id、源顶点、目的顶点和边执行的条件信息;
根据所述行为仿真器唯一标识符、所述行为仿真器顶点集合、行为仿真器边集合构建基于有向无环图的行为仿真器描述模型。
在其中一个实施例中,所述基于有向无环图的行为仿真器描述模型中还包括行为仿真器触发器集合;所述行为仿真器触发器集合用于定义所述行为仿真器的触发参数和触发间隔。
在其中一个实施例中,还包括:所述基于有向无环图的行为仿真器描述模型中还包括行为仿真器全局参数集合;所述行为仿真器全局参数集合用于定义所述行为仿真器顶点集合和所述行为仿真器边集合的参数。
在其中一个实施例中,还包括:通过编辑所述行为仿真器顶点集合、所述行为仿真器边集合、所述行为仿真器触发器集合和所述行为仿真器全局参数集合,对所述行为仿真器描述模型进行编辑。
在其中一个实施例中,还包括:通过高性能noSQL内存数据库建立多个行为仿真器队列、行为仿真器结果队列;每组行为仿真器队列和行为仿真器结果队列中定义了行为仿真器运行环境,不同的云计算租户对应不同的行为仿真器运行环境;
采取单生产者多消费者处理所述行为仿真器队列:
在解析行为仿真器运行请求时,根据发起任务请求的云计算租户向对应的行为仿真器队列写入所述行为仿真器描述模型;
在运行调度时,将所述行为仿真器描述模型从所述行为仿真器队列中读出;
对读出的所述行为仿真器描述模型进行分布式调度,并将运行结果发送到对应的行为仿真器结果队列。
在其中一个实施例中,还包括:对读出的所述行为仿真器描述模型选择需要的行为仿真器运行环境;
利用单行为仿真调度单元处理多个行为仿真器运行环境对应的行为仿真器队列,实现行为仿真器并发执行;
利用分布的行为仿真单元在通用化的容器计算平台分布式执行行为仿真器。
在其中一个实施例中,还包括:每个行为仿真器采取宽度优先的遍历方式执行有向无环图中的顶点;
通过多线程技术实现行为仿真器内部同节点下子女节点的并发执行。
在其中一个实施例中,还包括:对读出的所述行为仿真器描述模型进行分布式调度;
通过REST API接口支持并发执行的子女节点同时反馈结果到行为仿真器结果队列;
通过REST API接口支持多个行为仿真器同时反馈结果到行为仿真器结果队列。
上述轻载虚拟化网络实验行为仿真器构建和调度方法,基于开放编程接口建立应用容器封装结构,将各类应用及依赖库打包到容器镜像,为每个容器镜像确定对外部开放的服务功能调用接口,并提供应用容器的具体实现所对应的源码目录,其中源码支持不同的语言编写;在通过用户交互界面获取行为仿真器运行请求并进行解析后,对行为仿真器运行请求中的每一个网络仿真任务,基于有向无环图模型建立行为仿真器描述模型,图中的顶点代表应用容器的服务功能,图中的边建模服务功能的先后顺序;在容器计算平台部署和执行行为仿真器描述模型,通过高性能noSQL内存数据库建立多个行为仿真器队列、行为仿真器结果队列以区分不同的云计算租户,对行为仿真器队列、行为仿真器结果队列进行分布式调度。本发明通过统一开放编程接口的应用容器封装方法支持不同源码语言的程序封装打包,通过基于有向无环图的行为仿真器建模方法和用户界面接口支持灵活的行为仿真器建模,通过行为仿真器的分布式调度方法实现自动化的行为仿真器部署和运行。
附图说明
图1为一个实施例中轻载虚拟化网络实验行为仿真器构建和调度方法的流程示意图;
图2为另一个实施例中轻载虚拟化网络实验行为仿真器构建和调度方法的流程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种轻载虚拟化网络实验行为仿真器构建和调度方法,包括以下步骤:
步骤102,基于开放编程接口建立应用容器封装结构。
定义应用容器封装结构,对于任意语言构建的仿真应用程序选择一个基础容器镜像模板,安装仿真应用程序和所需的第三方依赖库,实现将应用容器封装结构将应用及依赖库打包到容器镜像,列举该仿真应用可外部调用的函数集合,通过python语言对于每个函数统一构建该函数的调用函数,该接口通过python封装具备跨平台执行的能力,此外,通过python语言的继承机制实现不同仿真应用继承统一的仿真应用启动、执行、停止函数,确定应用容器的对外部调度接口,并提供应用容器的具体实现所对应的源码目录;源码支持不同的语言编写。
具体地,基于开放API接口建立应用容器封装结构。一个应用容器封装结构包括一个YAML格式的开放API接口描述文件,一个应用及依赖库的容器打包文件,一个应用的源码目录。开放API接口描述文件负责提供应用的对外部调度接口,应用及依赖库的容器打包文件负责构建容器运行镜像,应用的源码目录负责提供应用的具体实现。源码可以采取不同的语言编写。
(1)开放API接口描述文件app.yaml,采用YAML格式描述。
1.应用名称标识符。通过字符串定义,唯一标识应用。
2.应用功能描述。通过字符串定义,解释应用的功能。
3.应用API接口集合。
a)API接口名称。通过字符串定义API接口。
b)API接口描述。通过字符串描述API接口的功能。
c)API接口格式规范。定义API接口的类型,如字符串类型string,数组类型array。
d)返回结果格式规范。定义返回结果的类型,如字符串类型string,数组类型array。
(2)应用及依赖库的容器打包文件Dockerfile。采用标准的容器打包定义文件格式描述。选择一个基础容器镜像模板,安装仿真应用程序和所需的第三方依赖库,实现将应用容器封装结构将应用及依赖库打包到容器镜像。
Dockerfile最后启动基于python语言的后台程序服务,该程序负责对基于RESTAPI格式的消息进行响应,对消息字符串进行匹配,若发现与应用程序的函数一致,则通过消息包含的参数字符串调用该函数,并将执行结果发送给调度器。
(3)应用的源码目录。通过用户自定义的源码语言描述。
1.接口定义程序。提供应用API接口的外部访问程序,作为开放API接口的调用承载方。每个API接口名称均对应接口定义程序可外部访问的函数。接口定义程序列举该仿真应用可外部调用的函数集合,通过python语言对于每个函数统一构建该函数的调用函数,该接口通过python封装具备跨平台执行的能力。
2.辅助程序。提供应用API接口程序的内部实现,作为开放API接口功能实现的实际执行方。此外,通过python语言的继承机制实现不同仿真应用继承统一的仿真应用启动、执行、停止函数,确定应用容器的对外部调度接口。
步骤104,通过用户交互界面获取行为仿真器运行请求并进行解析,对行为仿真器运行请求中的每一个网络仿真任务,以有向无环图的顶点代表任务所需的应用容器的对外部调度接口,以有向无环图的边代表任务所需的应用容器的执行顺序,构建基于有向无环图的行为仿真器描述模型。
定义基于有向无环图的行为仿真描述模型,将一个仿真应用通过一个或多个仿真函数表示,其中每个仿真函数代表一个原子性的仿真单元,该单元具有具体的仿真功能和明确的函数输入和输出参数,在此基础上,一个行为仿真描述模型通过一个有向无环图表示。通过容器化API开放编程接口封装网络行为仿真模型,基于有向无环图对复杂流程进行建模,每个有向无环图中的顶点代表应用容器的对外部调度接口,编码该应用对外部开放的调用接口及配置参数,即一个事先构建好的仿真应用的仿真函数;图中的边代表应用容器的先后执行顺序,即边对应具有先后时序关系的2个仿真应用函数,边的源顶点先于目的顶点执行完毕。一个顶点通过多个出边可以表示并发执行关系。
行为仿真器的有向无环图模型具体包括:
1.行为仿真器唯一标识符id。采用UUID规范生成唯一表示字符串。
2.行为仿真器顶点集合。每个顶点代表一个应用接口数组描述。应用接口数组格式如下:
a)应用接口唯一标识符id。采用UUID规范生成唯一表示字符串。
b)应用接口名称。采用字符串表示应用接口名称。
c)应用接口参数。采用键值对数组表示应用接口参数集合。
3.行为仿真器边集合。每个边由一个边描述数组组成。边描述数组如下:
a)边唯一标识符id。采用UUID规范生成唯一表示字符串。
b)源顶点。采用应用接口唯一标识符id表示。
c)目的顶点。采用应用接口唯一标识符id表示。
d)条件。边执行的条件集合。
4.行为仿真器触发器集合。
a)触发器唯一表示。采用UUID规范生成唯一表示字符串。
b)触发器描述。采用字符串解释触发器的功能。
c)触发器参数数组。描述触发器的间隔和参数。
i.触发器间隔。两次触发行为仿真器的时间间隔,单位为秒。
ii.触发器参数。触发器执行的输入参数,采用json数组描述。
5.行为仿真器全局参数集合。用于行为仿真器顶点和行为仿真器边的输入参数,采用json数组描述。
构建时序保持的行为仿真调度器,调度器通过用户交互界面获取行为仿真器运行请求并进行解析,对所述行为仿真器运行请求中的每一个网络仿真任务,以有向无环图的顶点代表任务所需的应用容器的对外部调度接口,以有向无环图的边代表任务所需的应用容器的执行顺序,通过宽度优先策略读取仿真模型的有向无环图描述结构,生成一个仿真应用的时序执行表示,构建基于有向无环图的行为仿真器描述,行为仿真器描述模型用于描述网络仿真任务中的复杂流程。
将工作流所需的各类应用、应用调用的先后逻辑关系通过有向无环图描述工作流模型。每种参与到工作流模型的应用接口对应一个打包到容器的应用。通过利用容器对需要执行程序进行封装,实现工作流跨平台执行。
步骤106,行为仿真调度器在容器计算平台部署和执行行为仿真器描述模型,通过高性能noSQL内存数据库建立多个行为仿真器队列、行为仿真器结果队列以区分不同的云计算租户,对行为仿真器队列、行为仿真器结果队列进行分布式调度。
具体地,将行为仿真器描述模型在容器计算平台部署和执行。调度器首先通过宽度优先策略读取仿真模型的有向无环图描述结构,生成一个仿真应用的时序执行表示序列,构建基于有向无环图的行为仿真器描述。宽度优先策略首先读取有向无环图的根顶点,压入一个队列,然后顺序从队列的头部读取一个顶点,并压入该顶点的所有邻居,直至结束读取有向无环图的顶点。例如,A包含2个顶点B和C,顶点B有2个顶点D和E,则宽度优先的顺序为一个数组表示[A,B,C,D,E]。
通过基于高性能noSQL内存数据库建立多个行为仿真器队列、行为仿真器结果队列区分不同的云计算租户,调度过程借助行为仿真器队列,执行结果按照行为仿真器的标识符写入行为仿真器结果队列。不同的行为仿真器队列可以并发执行。调度过程对行为仿真器队列采取单生产者多消费者处理,行为仿真器建模工具向对应该用户的行为仿真器队列写入行为仿真器描述消息,多个行为仿真器调度单元并发处理行为仿真器队列的行为仿真器描述消息。每个行为仿真器采取宽度优先的遍历方式执行图中的顶点,一个顶点的所有子女顶点并发调度执行。一个顶点对应的容器函数结束执行后启动仿真器队列中该顶点的后续顶点继续执行。
(1)基于高性能noSQL内存数据库建立行为仿真器队列、行为仿真器结果队列。
1.采用行为仿真器运行环境id区分行为仿真器队列和行为仿真器结果队列。
a)行为仿真器运行环境env。根据业务需求进行添加和删除
b)行为仿真器执行环境id。采用行为仿真器环境env和特定字符组合得到。
2.采用高性能队列结构作为数据结构。
3.采用键值对key-value存储队列元素。
(2)向行为仿真器队列写入行为仿真器。
1.利用行为仿真器运行环境id找到对应行为仿真器队列。
2.利用行为仿真器运行唯一标识符id生成key。
a)行为仿真器运行唯一标识符id。采用UUID规范生成唯一表示字符串。
b)行为仿真器对应key值。由行为仿真器运行唯一标识符id和行为仿真器运行环境env生成。
3.将行为仿真器作为value和生成的key写入到行为仿真器队列。
(3)从行为仿真器队列读出行为仿真器。
1.利用行为仿真器运行环境id找到对应行为仿真器队列。
2.利用行为仿真器运行唯一标识符id生成key。
a)行为仿真器执行唯一标识符id。采用UUID规范生成唯一表示字符串。
b)行为仿真器对应key值。由行为仿真器运行唯一标识符id和行为仿真器运行环境env生成。
3.利用生成的key从行为仿真器队列中读取队列行为仿真器。
(4)对读出行为仿真器调度执行,并将结果发送行为仿真器结果队列。
1.支持不同行为仿真器分布并发执行。
a)为不同行为仿真器选择需要的行为仿真器运行环境env
b)利用单行为仿真器调度单元处理多个环境env对应的行为仿真器队列实现行为仿真器并发执行
c)利用分布的行为仿真器调度单元在不同实体环境分布式执行行为仿真器
2.支持行为仿真器内部同节点下子女节点并发执行。
a)通过多线程技术实现子女节点下应用并发执行
3.支持分布式并发反馈行为仿真器执行结果
a)支持并发执行子女节点同时反馈结果到行为仿真器结果队列,通过REST API接口反馈结果。
b)支持行为仿真器同时反馈给结果到行为仿真器结果队列。
c)设置顶点执行超时阈值t,若顶点执行时间超出t,则强制退出该顶点对应的容器,并继续执行该顶点的后续顶点,防止出现顶点因为运行过程中死锁或者活锁导致调度失败。
上述轻载虚拟化网络实验行为仿真器构建和调度方法中,基于开放编程接口建立应用容器封装结构,将各类应用及依赖库打包到容器镜像,为每个容器镜像确定对外部开放的服务功能调用接口,并提供应用容器的具体实现所对应的源码目录,其中源码支持不同的语言编写;在通过用户交互界面获取行为仿真器运行请求并进行解析后,对行为仿真器运行请求中的每一个网络仿真任务,基于有向无环图模型建立行为仿真器描述模型,图中的顶点代表应用容器的服务功能,图中的边建模服务功能的先后顺序;在容器计算平台部署和执行行为仿真器描述模型,通过高性能noSQL内存数据库建立多个行为仿真器队列、行为仿真器结果队列以区分不同的云计算租户,对行为仿真器队列、行为仿真器结果队列进行分布式调度。本发明通过开放编程接口的应用容器封装方法支持不同源码语言的程序封装打包,通过基于有向无环图的行为仿真器建模方法和用户界面接口支持灵活的行为仿真器建模,通过行为仿真器的分布式调度方法实现自动化的行为仿真器部署和运行。
在其中一个实施例中,还包括:为任务对应的行为仿真器定义行为仿真器唯一标识符;获取任务所需的应用接口,并根据任务所需的应用接口定义行为仿真器顶点集合;行为仿真器顶点集合中的每个行为仿真器顶点以一个应用接口数组描述;应用接口数组中包括应用接口唯一标识符id、应用接口名称和应用接口参数;获取任务所需的应用接口的执行顺序,并根据应用接口的执行顺序定义行为仿真器边集合;行为仿真器边集合中每个行为仿真器边以一个边描述数组组成;边描述数组中包括边唯一标识符id、源顶点、目的顶点和边执行的条件信息;根据行为仿真器唯一标识符、行为仿真器顶点集合、行为仿真器边集合构建基于有向无环图的行为仿真器描述模型。
在其中一个实施例中,基于有向无环图的行为仿真器描述模型中还包括行为仿真器触发器集合;行为仿真器触发器集合用于定义行为仿真器的触发参数和触发间隔。
在其中一个实施例中,还包括:基于有向无环图的行为仿真器描述模型中还包括行为仿真器全局参数集合;行为仿真器全局参数集合用于定义行为仿真器顶点集合和行为仿真器边集合的参数。
在其中一个实施例中,还包括:通过编辑行为仿真器顶点集合、行为仿真器边集合、行为仿真器触发器集合和行为仿真器全局参数集合,对行为仿真器描述模型进行编辑。
具体地,提供有向无环图模型的编辑和保存功能。
a)编辑。增加、删除顶点或边或触发器,增加或修改参数。
i.编辑行为仿真器顶点。根据业务需求选中应用,添加相应应用的顶点。
ii.编辑行为仿真器边。根据业务流程的转换关系,在两个顶点间添加边,同时可以定义边执行的条件关系。
iii.编辑行为仿真器触发器。根据业务流程的周期执行需求,在行为仿真器的起点添加行为仿真器触发器,并设置触发时间间隔。
b)保存。存入创建的行为仿真器模型,更新修改后的行为仿真器模型。
在其中一个实施例中,还包括:通过高性能noSQL内存数据库建立多个行为仿真器队列、行为仿真器结果队列;每组行为仿真器队列和行为仿真器结果队列中定义了行为仿真器运行环境,不同的云计算租户对应不同的行为仿真器运行环境;采取单生产者多消费者处理行为仿真器队列:在解析行为仿真器运行请求时,根据发起任务请求的云计算租户向对应的行为仿真器队列写入行为仿真器描述模型;在运行调度时,将行为仿真器描述模型从行为仿真器队列中读出;对读出的行为仿真器描述模型进行分布式调度,并将运行结果发送到对应的行为仿真器结果队列。
在其中一个实施例中,还包括:对读出的行为仿真器描述模型选择需要的行为仿真器运行环境;利用单行为仿真调度单元处理多个行为仿真器运行环境对应的行为仿真器队列,实现行为仿真器并发执行;利用分布的行为仿真单元在通用化的容器计算平台分布式执行行为仿真器。
在其中一个实施例中,还包括:每个行为仿真器采取宽度优先的遍历方式执行有向无环图中的顶点;通过多线程技术实现行为仿真器内部同节点下子女节点的并发执行。
在其中一个实施例中,还包括:对读出的行为仿真器描述模型进行分布式调度;通过REST API接口支持并发执行的子女节点同时反馈结果到行为仿真器结果队列;通过RESTAPI接口支持多个行为仿真器同时反馈结果到行为仿真器结果队列。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个具体实施例中,如图2所示,提供了一种轻载虚拟化网络实验行为仿真器构建和调度方法,包括:
1.基于开发API接口的应用容器封装;
2.基于有向无环图的行为仿真器建模;
3.行为仿真器的分布并行执行。
其中,应用开放API接口描述文件实例如下:
Figure BDA0003453365980000131
一个应用源码的接口定义程序实例如下:
Figure BDA0003453365980000132
Figure BDA0003453365980000141
一个基于有向无环图的行为仿真器建模实例如下:
Figure BDA0003453365980000142
Figure BDA0003453365980000151
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种轻载虚拟化网络实验行为仿真器构建和调度方法,其特征在于,所述方法包括:
基于开放编程接口建立应用容器封装结构;所述应用容器封装结构将应用及依赖库打包到容器镜像,确定应用容器的对外部调度接口,并提供应用容器的具体实现所对应的源码目录;所述源码支持不同的语言编写;
通过用户交互界面获取行为仿真器运行请求并进行解析,对所述行为仿真器运行请求中的每一个网络仿真任务,以有向无环图的顶点代表任务所需的应用容器的对外部调度接口,以有向无环图的边代表任务所需的应用容器的执行顺序,构建基于有向无环图的行为仿真器描述模型;所述行为仿真器描述模型用于描述网络仿真任务中的复杂流程;
在容器计算平台部署和执行所述行为仿真器描述模型,通过高性能noSQL内存数据库建立多个行为仿真器队列、行为仿真器结果队列以区分不同的云计算租户,对所述行为仿真器队列、所述行为仿真器结果队列进行分布式调度。
2.根据权利要求1所述的方法,其特征在于,基于开放编程接口建立应用容器封装结构,包括:
通过YAML格式定义开放编程接口描述文件;所述开放编程接口描述文件用于描述用于名称标识符、应用功能和应用API接口集合;
通过标准的容器打包定义文件格式描述应用及依赖库的容器打包文件Dockerfile;
定义应用的源码目录;所述源码包括接口定义程序源码和辅助程序源码;所述接口定义程序源码用于提供应用API接口的外部访问程序;所述辅助程序源码用于提供应用API接口程序的内部实现。
3.根据权利要求2所述的方法,其特征在于,以有向无环图的顶点代表任务所需的应用容器的对外部调度接口,以有向无环图的边代表任务所需的应用容器的执行顺序,构建基于有向无环图的行为仿真器描述模型,包括:
为所述任务对应的行为仿真器定义行为仿真器唯一标识符;
获取任务所需的应用接口,并根据所述任务所需的应用接口定义行为仿真器顶点集合;所述行为仿真器顶点集合中的每个行为仿真器顶点以一个应用接口数组描述;所述应用接口数组中包括应用接口唯一标识符id、应用接口名称和应用接口参数;
获取任务所需的应用接口的执行顺序,并根据所述应用接口的执行顺序定义行为仿真器边集合;所述行为仿真器边集合中每个行为仿真器边以一个边描述数组组成;所述边描述数组中包括边唯一标识符id、源顶点、目的顶点和边执行的条件信息;
根据所述行为仿真器唯一标识符、所述行为仿真器顶点集合、行为仿真器边集合构建基于有向无环图的行为仿真器描述模型。
4.根据权利要求3所述的方法,其特征在于,所述基于有向无环图的行为仿真器描述模型中还包括行为仿真器触发器集合;所述行为仿真器触发器集合用于定义所述行为仿真器的触发参数和触发间隔。
5.根据权利要求4所述的方法,其特征在于,所述基于有向无环图的行为仿真器描述模型中还包括行为仿真器全局参数集合;所述行为仿真器全局参数集合用于定义所述行为仿真器顶点集合和所述行为仿真器边集合的参数。
6.根据权利要求5所述的方法,其特征在于,在根据所述行为仿真器顶点集合、行为仿真器边集合构建基于有向无环图的行为仿真器描述模型之后,还包括:
通过编辑所述行为仿真器顶点集合、所述行为仿真器边集合、所述行为仿真器触发器集合和所述行为仿真器全局参数集合,对所述行为仿真器描述模型进行编辑。
7.根据权利要求6所述的方法,其特征在于,通过高性能noSQL内存数据库建立多个行为仿真器队列、行为仿真器结果队列以区分不同的云计算租户,对所述行为仿真器队列、所述行为仿真器结果队列进行分布式调度,包括:
通过高性能noSQL内存数据库建立多个行为仿真器队列、行为仿真器结果队列;每组行为仿真器队列和行为仿真器结果队列中定义了行为仿真器运行环境,不同的云计算租户对应不同的行为仿真器运行环境;
采取单生产者多消费者处理所述行为仿真器队列:
在解析行为仿真器运行请求时,根据发起任务请求的云计算租户向对应的行为仿真器队列写入所述行为仿真器描述模型;
在运行调度时,将所述行为仿真器描述模型从所述行为仿真器队列中读出;
对读出的所述行为仿真器描述模型进行分布式调度,并将运行结果发送到对应的行为仿真器结果队列。
8.根据权利要求7所述的方法,其特征在于,对读出的所述行为仿真器描述模型进行分布式调度,包括:
对读出的所述行为仿真器描述模型选择需要的行为仿真器运行环境;
利用单行为仿真调度单元处理多个行为仿真器运行环境对应的行为仿真器队列,实现行为仿真器并发执行;
利用分布的行为仿真单元在通用化的容器计算平台分布式执行行为仿真器。
9.根据权利要求8所述的方法,其特征在于,对读出的所述行为仿真器描述模型进行分布式调度,包括:
每个行为仿真器采取宽度优先的遍历方式执行有向无环图中的顶点;
通过多线程技术实现行为仿真器内部同节点下子女节点的并发执行。
10.根据权利要求9所述的方法,其特征在于,对读出的所述行为仿真器描述模型进行分布式调度,并将运行结果发送到对应的行为仿真器结果队列,包括:
对读出的所述行为仿真器描述模型进行分布式调度;
通过REST API接口支持并发执行的子女节点同时反馈结果到行为仿真器结果队列;
通过REST API接口支持多个行为仿真器同时反馈结果到行为仿真器结果队列。
CN202111678919.2A 2021-12-31 2021-12-31 一种轻载虚拟化网络实验行为仿真器构建和调度方法 Active CN114296883B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111678919.2A CN114296883B (zh) 2021-12-31 2021-12-31 一种轻载虚拟化网络实验行为仿真器构建和调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111678919.2A CN114296883B (zh) 2021-12-31 2021-12-31 一种轻载虚拟化网络实验行为仿真器构建和调度方法

Publications (2)

Publication Number Publication Date
CN114296883A true CN114296883A (zh) 2022-04-08
CN114296883B CN114296883B (zh) 2023-10-31

Family

ID=80974760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111678919.2A Active CN114296883B (zh) 2021-12-31 2021-12-31 一种轻载虚拟化网络实验行为仿真器构建和调度方法

Country Status (1)

Country Link
CN (1) CN114296883B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114881233A (zh) * 2022-04-20 2022-08-09 深圳市魔数智擎人工智能有限公司 一种基于容器的分布式模型推理服务方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110166285A (zh) * 2019-04-28 2019-08-23 北京航空航天大学 一种基于Docker的网络安全实验平台搭建方法
CN112560244A (zh) * 2020-12-08 2021-03-26 河海大学 一种基于Docker的虚拟仿真实验系统及方法
US20210406079A1 (en) * 2020-06-29 2021-12-30 Robin Systems, Inc. Persistent Non-Homogeneous Worker Pools

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110166285A (zh) * 2019-04-28 2019-08-23 北京航空航天大学 一种基于Docker的网络安全实验平台搭建方法
US20210406079A1 (en) * 2020-06-29 2021-12-30 Robin Systems, Inc. Persistent Non-Homogeneous Worker Pools
CN112560244A (zh) * 2020-12-08 2021-03-26 河海大学 一种基于Docker的虚拟仿真实验系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
方滨兴,贾焰,李爱平,张伟哲: "网络空间靶场技术研究", 信息安全学报, vol. 1, no. 3, pages 1 - 9 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114881233A (zh) * 2022-04-20 2022-08-09 深圳市魔数智擎人工智能有限公司 一种基于容器的分布式模型推理服务方法

Also Published As

Publication number Publication date
CN114296883B (zh) 2023-10-31

Similar Documents

Publication Publication Date Title
CN106789339B (zh) 一种基于轻量级虚拟化架构的分布式云仿真方法与系统
US8862933B2 (en) Apparatus, systems and methods for deployment and management of distributed computing systems and applications
CN111625316A (zh) 一种环境部署方法、装置及电子设备和存储介质
CN110704186A (zh) 基于混合分布架构的计算资源分配方法、装置和存储介质
CN111310936A (zh) 机器学习训练的构建方法、平台、装置、设备及存储介质
CN108021400B (zh) 数据处理方法及装置、计算机存储介质及设备
CN113504902B (zh) 工业app集成开发系统及相关设备
CN111176818B (zh) 分布式预测的方法、装置、系统、电子设备及存储介质
CN111061487A (zh) 一种基于容器的负载均衡分布式编译系统和方法
US20240054366A1 (en) AI Application Deployment Method and Related Platform, Cluster, Medium, and Program Product
Sundas et al. An introduction of CloudSim simulation tool for modelling and scheduling
Dessalk et al. Scalable execution of big data workflows using software containers
CN114296883B (zh) 一种轻载虚拟化网络实验行为仿真器构建和调度方法
CN113448678A (zh) 应用信息生成方法、部署方法及装置、系统、存储介质
CN111459621A (zh) 云仿真集成与调度方法、装置、计算机设备和存储介质
CN112579049A (zh) 基于云平台的定制软件产品化管理方法及装置
CN110622146A (zh) 设备因子图可编程合成机制
Kousiouris et al. A pattern-based function and workflow visual environment for faas development across the continuum
Requeno et al. Towards the performance analysis of Apache Tez applications
CN115658232A (zh) 一种云原生平台快速部署方法及系统
CN114791884A (zh) 测试环境的构建方法、装置、存储介质及电子设备
Farhat et al. Toward run-time coordination of reconfiguration requests in cloud computing systems
Khochare et al. Toward scientific workflows in a serverless world
Straesser et al. Kubernetes-in-the-Loop: Enriching Microservice Simulation Through Authentic Container Orchestration
CN111752554A (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