一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种网络靶场环境中流式动态公平场景分配方法与装置与流程

2021-10-24 07:14:00 来源:中国专利 TAG:靶场 网络 装置 流式 场景


1.本发明涉及网络靶场环境中流式动态公平场景分配方法与装置,属于网络技术领域。


背景技术:

2.在网络靶场中,场景拓扑定义为由虚拟机、路由器等一系列网络设备组成的点和边的图形集合,集合中每个点分别代表一种网络设备,边代表设备间的连接关系。通过openstack等虚拟化技术可对该拓扑中所有的节点设备进行实例化,实例化后的拓扑定义为场景。依托于场景,用户可以在靶场中完成各种网络实验以及科学验证。基于物理计算资源有限的前提,在教学环境中一般多用户共享一个场景以节约物理计算资源。
3.在类似学校公开课的靶场使用环境中,用户分别会在不同的时间点陆续进入系统使用靶场,此时用户呈现以流的方式持续加入的特性。在这种情况下,某个特定的时间点无法判断后续时间是否还有新用户进入,所以无法统计用户总数。教学类的使用场景中,老师会将若干名(比如3名)学生组成一队,共同使用某个虚拟化场景以完成某项教学实验,为了保证实验成绩的公平性,分配时需要保证人员完全随机,即每个学生出现在每个场景中的概率相等。
4.现有的分配方案要求在实际分配之前,参与场景分配的人数已经确定,即开始分配后没有新用户加入,否则无法保证新用户和分配动作开始前已参与分配的用户以相同的概率随机分配到某个场景中。当前的场景分配流程如图1所示。为方便表述,做如下假设:假设初始需要参与场景分配的用户总数记为m,每x个人分为一个场景;考虑到总人数m不可能永远是x的整数倍,允许最后一个场景的人员数小于等于x;记最近一个生成的场景为当前场景。目前场景分配流程是:1、将所有需要参与场景分配的用户加入待分配列表;2、统计待分配列表中需要参与场景分配的用户数,记为m;3、只要待分配列表中有需要场景分配的用户,即m>0,持续场景分配动作;否则停止分配流程;4、从待分配列表中随机选取一个用户记为a;5、判断当前场景是否已满(场景中的人数等于x人认为已满),场景已满转跳步骤6,否则转跳步骤7;6、为步骤4中选中的用户a新建一个场景,将该场景标记为当前场景,转跳步骤8;7、将步骤4中选中的用户a加入当前场景,转跳步骤8;8、将用户a从待分配列表移除,转跳步骤2。
5.上述现有场景分配流程只能针对事先已知数量的用户进行场景分配,对于一直有新用户加入的流式情形,即用户总数无法确定的情况,不能实现完全公平的随机场景分配。


技术实现要素:

6.发明目的:针对上述现有技术存在的问题,本发明目的在于提供网络靶场环境中流式动态公平场景分配方法与装置,适用于用户数量无法事先统计的使用场景,实现完全公平的随机场景分配。
7.技术方案:为实现上述发明目的,本发明提供一种网络靶场环境中流式动态公平
场景分配方法,包括如下步骤:步骤1、创建场景队列用于存储分配的场景,并为每个分配的场景创建用户队列用于存储场景中的用户;其中用户队列的长度不超过x ,x为每个场景可分配的用户数上限;步骤2、监听新用户的进入请求,新用户记为a;步骤3、从场景队列中随机挑选一个已分配的场景;步骤4、从步骤3选中的场景对应的用户队列中随机挑选一个用户,该用户记为b;步骤5、将用户b从选中的场景中退出,并将用户a加入选中的场景,同时更新选中场景对应的用户队列;步骤6、为用户b重新分配场景:统计当前场景中的用户数,其中当前场景为最近一个生成的场景;如果当前场景的用户人数等于x,则为用户b新建一个场景,更新场景队列,并将该场景标记为当前场景;否则将用户b加入当前场景,同时更新当前场景的用户队列。
8.进一步地,步骤5中若新用户a替换用户b时,用户b在其场景中的虚拟机上存在操作记录,则对用户b操作的虚拟机执行用户快照动作,保存用户b的操作上下文;并对用户b操作的虚拟机执行清理动作,恢复到初始化状态;在重新为用户b分配场景后,用保存的用户b的用户快照恢复到新分配的场景中的虚拟机。
9.进一步地,步骤5中用新用户a替换选中的用户b时,将用户b从其使用的虚拟机中退出,并提示用户b重新刷新操作页面,在用户b刷新操作页面后即连接到新分配的场景。
10.本发明提供的一种网络靶场环境中流式动态公平场景分配装置,包括:队列维护单元,用于管理场景队列和用户队列,其中场景队列用于存储分配的场景,每个分配的场景对于一个用户队列,用于存储场景中的用户,其中用户队列的长度不超过x ,x为每个场景可分配的用户数上限;场景选择单元,用于监听新用户的进入请求,从场景队列中为新用户a随机挑选一个已分配的场景;替换用户选择单元,用于从场景选择单元选中的场景对应的用户队列中随机挑选一个用户b,将用户b从选中的场景中退出,并将用户a加入选中的场景,同时更新选中场景对应的用户队列;以及替换用户场景分配单元,用于为用户b重新分配场景:统计当前场景中的用户数,其中当前场景为最近一个生成的场景;如果当前场景的用户人数等于x,则为用户b新建一个场景,更新场景队列,并将该场景标记为当前场景;否则将用户b加入当前场景,同时更新当前场景的用户队列。
11.本发明提供的一种网络靶场环境中流式动态公平场景分配装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的一种网络靶场环境中流式动态公平场景分配方法。
12.有益效果:本发明无需预先知道参与分配的用户总数,而是在每个用户到达系统后,按需生成场景,并动态调整当前场景列表每个用户的分配概率,从而从统计学的角度保证每个用户出现在每个场景中的概率相等,实现动态公平分配对于用户数量无法事先统计的使用场景,实现最大化场景资源利用率的情况下完全公平的随机场景分配。
附图说明
13.图1为现有网络靶场场景分配流程图。
14.图2为本发明实施例的网络靶场场景分配流程图。
具体实施方式
15.下面将结合附图和具体实施例,对本发明的技术方案进行清楚、完整的描述。
16.如图2所示,本发明实施例公开了一种网络靶场环境中流式动态公平场景分配方法。本发明方法中假设每个场景可分配的人数上限为x,记最近一个生成的场景为当前场景,该方法具体流程如下所示:步骤1、创建场景队列l用于存储分配的场景,并为每个分配的场景l
i
创建用户队列u
i
用于存储场景中的用户。
17.步骤2、系统监听新用户的进入请求,新用户记为a;步骤3、从场景队列l中随机挑选一个场景l
j
;1≤j≤n,n为当前场景队列的长度;步骤4、步骤3选中的场景l
j
的用户队列u
j
随机挑选一个用户u
jk
,该用户记为b;1≤k≤m,m为u
j
的长度;步骤5、用新用户a替换选中的用户b,即将用户b从选中的场景中退出,并将用户a加入选中的场景,同时更新选中场景对应的用户队列。替换完成后,此时用户a已加入某个指定的场景,即步骤3选中的场景;一般情况下,直接将用户b从场景中退出,将新用户a加入场景中即可实现用户替换。如果用户b已经接入到场景中的虚拟机且在虚拟机上存在一些操作时,需要做好用户操作记录的保存,具体替换过程如下:a)对用户b当前操作的虚拟机x执行用户快照动作,保存用户b的操作上下文。
18.b)对用户b正在操作的虚拟机x执行清理动作,恢复到系统初始化状态;c)将当前虚拟机x分配给新用户a,同时将用户b从当前使用的虚拟机x退出,提示用户b重新刷新操作页面,在用户刷新操作页面后即可连接到给用户b重新分配的场景;步骤6、为步骤5中替换出的用户b重新分配场景,首先统计当前场景中的用户数,如果当前场景的用户人数等于x,表示当前场景人员已满,则为用户b新建一个场景,更新场景队列,并将该场景标记为当前场景,同时更新当前场景的用户队列,本次场景分配流程结束;否则将用户b加入当前场景,同时更新当前场景的用户队列。若步骤5中有保存的用户快照,用户b加入某个既有场景或者加入新建场景时,系统随机选择当前场景中某个还未被占用的虚拟机,并将步骤5中的用户快照恢复到此虚拟机。
19.基于相同的发明构思,本发明实施例提供的一种网络靶场环境中流式动态公平场景分配装置,包括:队列维护单元,用于管理场景队列和用户队列,其中场景队列用于存储分配的场景,每个分配的场景对于一个用户队列,用于存储场景中的用户,其中用户队列的长度不超过x ,x为每个场景可分配的用户数上限;场景选择单元,用于监听新用户的进入请求,从场景队列中为新用户a随机挑选一个已分配的场景;替换用户选择单元,用于从场景选择单元选中的场景对应的用户队列中随机挑选一个用户b,将用户b从选中的场景中退出,并将用户a加入选中的场景,同时更新选中场景对应的用户队列;替换用户场景分配单元,用于为用户b重新分配场景:统计当前场景中的用户数,其中当前场景为最近一个生成的场景;如果当前场景的用户人数等于x,则为用户b新建一个场景,更新场景队列,并将该
场景标记为当前场景;否则将用户b加入当前场景,同时更新当前场景的用户队列;虚拟机操作恢复单元,用于在新用户a替换用户b时,用户b在其场景中的虚拟机上存在操作记录的情况下,对用户b操作的虚拟机执行用户快照动作,保存用户b的操作上下文;并对用户b操作的虚拟机执行清理动作,恢复到初始化状态;在重新为用户b分配场景后,用保存的用户b的用户快照恢复到新分配的场景中的虚拟机;以及重分配提示单元,用于新用户a替换选中的用户b时,将用户b从其使用的虚拟机中退出,并提示用户b重新刷新操作页面,在用户b刷新操作页面后即连接到新分配的场景。
20.基于相同的发明构思,本发明实施例提供的一种网络靶场环境中流式动态公平场景分配装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被加载至处理器时实现上述的一种网络靶场环境中流式动态公平场景分配方法。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜