说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210692183.2 (22)申请日 2022.06.17 (71)申请人 西安电子科技大 学 地址 710071 陕西省西安市太白南路2号 (72)发明人 史琰 曹琦轩 白卫岗 盛敏  李建东 李浩然 周笛 朱彦  刘俊宇 郑阳 文娟  (74)专利代理 机构 陕西电子 工业专利中心 61205 专利代理师 田文英 王品华 (51)Int.Cl. G06F 9/455(2006.01) G06F 9/54(2006.01) G06F 9/448(2018.01) G06F 9/50(2006.01)H04L 41/14(2022.01) (54)发明名称 基于容器线程管理技术的大规模网络节点 拟真方法 (57)摘要 本发明公开了一种基于容器线程管理技术 的大规模网络节点拟真方法, 主要解决现有技术 在大规模网络场景下创建过多线程的问题。 其主 要实现步骤为: 调度网络拟真场景内所有节点; 节点通过空闲线程管理队列管 理其动态线程, 并 为其动态线程设置有限状态机和函数指针; 源节 点将其发送队列注册到接收节 点, 并通知接收节 点分配一个用于接收处理发送队列的接收处理 线程; 发送线程与接收处理线 程通过检查发送队 列的状态动态调整接收处理线程数量。 本发明减 少创建过多线程产生的系统开销, 降低了多线程 处理队列的并发控制开销, 可用于提高节点拟真 效率, 提高拟真系统整体吞吐量。 权利要求书2页 说明书8页 附图3页 CN 115098220 A 2022.09.23 CN 115098220 A 1.一种基于容器线程管理技术的大规模网络节点拟真方法, 其特征在于: 多线程为同 一个发送队列并发出队与入队分组、 根据任务动态分配与管理线程、 根据发送队列的分组 流强度动态调整接收处 理线程数量; 该拟真方法的具体步骤 包括如下: 步骤1, 调度网络拟真场景内所有节点: 在宿主机 中创建与网络拟真场景中网络节点一一对应的容器, 拷贝所有节点的可执行 文件到容器中, 加载并执 行可执行文件; 步骤2, 创建所有节点的共享内存区: 在宿主机的共享内存目录 中创建内存映射文件作为共享内存区, 并将此内存映射文件 映射到所有节点的地址空间; 步骤3, 多 线程通过发送队列进行多输入 ‑多输出分组流的传输: 步骤3.1, 每个节点在共享内存上创建发送队列, 并为该节点发送队列设置一个尾索引 和一个头索引, 头索引指向的队列单元是分组出队位置, 尾索引指向的队列单元是分组入 队位置; 步骤3.2, 当多个线程同时向一个发送队列入队时, 均通过原子操作确定入队索引值; 前一个执行原子操作的线程在将 被请求入队的发送队列尾索引值, 作为该线程的入队索引 值的同时, 将该发送队列尾索引值加1, 后一个执行原子操作的线程将前一个线程更新过的 发送队列尾索引作为该线程的入队索引值, 以此类推, 每一个后执行 的线程入队索引值均 比前一个线程的入队索引值大1, 并通过其入队索引值入队分组到发送队列; 步骤3.3, 当多个线程同时从一个发送队列出队时, 均通过原子操作确定出队索引值; 前一个执行原子操作的线程在将 被请求出队的发送队列头索引值, 作为该线程的出队索引 值的同时, 将该发送队列头索引值加1, 后一个执行原子操作的线程将前一个线程更新过的 发送队列头索引作为该线程的出队索引值, 以此类推, 每一个后执行 的线程出队索引值均 比前一个线程的出队索引值大1, 并通过其出队索引值从发送队列出队分组; 步骤4, 根据任务动态分配与管理线程: 步骤4.1, 每个节点创建一个用于管理动态线程的空闲线程管理队列, 通过该节点空闲 线程管理队列保存节点所有动态线程的线程 号、 线程状态和函数指针; 步骤4.2, 每个节点通过为该节点动态线程设置有限状态机, 在为该节点动态线程分配 任务后, 使其进入任务执行状态, 在该节点动态线程执行完任务后, 阻塞该动态线程, 使其 进入空闲状态; 步骤4.3, 每个节点设置一个其处于空闲状态的动态线程的最大数量, 管理该节点处于 空闲状态的动态线程的数量始终小于该最大数量; 该节点提前创建好对应数量的处于空闲 状态的动态线程, 并保存其信息到该节点空闲线程管理队列; 当有该节点负责处理的新任 务到达时, 该节点将该任务分配给该节点的一个处于空闲状态的动态线程; 当该节点所有 动态线程的状态均为任务执行状态时, 该节点新创建一个处于空闲状态的动态线程; 当该 节点通过空闲线程管理队列检查到处于空闲状态的动态线程数量大于空闲状态的动态线 程最大数量时, 该节点销毁多余的空 闲状态动态线程; 步骤5, 接收节点接收处 理一个或多个源节点发送队列中的分组: 步骤5.1, 每个节点创建一个用于保存该节点需要接收处理的一个或多个源节点的发 送队列信息的注册表, 发送队列信息具体包括已注册的发送队列数量、 标记发送队列唯一权 利 要 求 书 1/2 页 2 CN 115098220 A 2序号的发送队列号以及标记发送队列的分组入队时刻的发送队列更新时间; 源节点在通过 其发送队列发送分组前, 将该源节点发送队列信息保存到接 收节点的注册表, 向接 收节点 注册发送队列; 步骤5.2, 一个或多个源节点在向接收节点注册其发送队列后, 通知接收节点从该接收 节点的空 闲线程管理队列中获取一个用于 接收处理该源节点发送队列的接收处 理线程; 步骤5.3, 接收节点的接收处理线程通过轮询接收节点注册表中一个或多个源节点的 发送队列号, 查询 到接收节点需要接 收处理的一个或多个发送队列, 并从各发送队列中接 收处理分组; 步骤6, 根据发送队列的分组流强度动态调整接收处 理线程数量: 步骤6.1, 源节点在发送队列拥塞时通知接收节点调度更多的接收处 理线程; 步骤6.2, 接收节点设置一个用于判断发送队列的分组流是否中断的队列中断阈值, 并 在检查发送队列为空时, 将该发送队列的更新时间与当前时间进行对比, 若当前时间与发 送队列更新时间的差值大于队列中断阈值, 则注销注册表中此发送队列的信息, 不再从该 发送队列接收处 理分组; 步骤6.3, 接收节点的接收处理线程在轮询注册表接收所有发送队列时, 若检查所有发 送队列均为空, 则判定接 收节点的其他接 收处理线程已提前轮询处理完所有发送队列, 接 收节点的接收处 理线程数量过多, 并将自身回收到空 闲线程管理队列。 2.根据权利要求1所述的基于容器线程管理技术的大规模网络节点拟真方法, 其特征 在于: 步骤4中所述节点设置处于空闲状态的动态线程的最大数量为2; 当节点检查空闲状 态的动态线程数量为0后, 创建1个处于空闲状态的动态线程; 当节点处于空闲状态的动态 线程数量大于2时, 节点销毁多余的空 闲状态动态线程。权 利 要 求 书 2/2 页 3 CN 115098220 A 3

.PDF文档 专利 基于容器线程管理技术的大规模网络节点拟真方法

文档预览
中文文档 14 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于容器线程管理技术的大规模网络节点拟真方法 第 1 页 专利 基于容器线程管理技术的大规模网络节点拟真方法 第 2 页 专利 基于容器线程管理技术的大规模网络节点拟真方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:31:30上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。