当前位置: 首页 > news >正文

基于OAI与Ueransim的5G网络切片平台构成简述

自定义多切片核心网构建

为了实现在同一台机器上同时对每一个切片启动一套单独的核心网,并且可以同时启动多套核心网,我们在官方提供的核心网模板的基础上进行适当的修改,扩展出其他可以正常运行的核心网,由此我们可以实现在同一台机器上同时运行多套OAI5G核心网。我们可以手动在模板的基础上进行适当的修改构建出特定的核心网,为了支持一键构建核心网,编写了代码通过定义核心网模板,在模板的基础上输入切片序号(slice_id),以及其他信息如:核心网cpu限制、核心网运行内存限制等,通过代码快速自动实现核心网的文件的文件的构建。

核心网启动yaml文件构建

官方提供的核心网启动yaml文件中使用了固定的docker服务名、容器名、核心网仿真网桥网段以及其他与这些参数相关的参数,由于容器在一台机器上运行不允许同名同标签的容器运行故需要对名称进行更改,为了保证不同网络切片对应的核心网之间的数据不会相互干扰,仿真核心网使用到的仿真网桥之间不能共用,并且由于同一网桥提供的ip地址有限限制了可以启动的核心网数量,所以需要对不同核心网使用的网段进行更改与合理设置,官方提供的yaml文件中没有对核心网网元容器进行cpu与内存方面的限制,为了适配后期资源管理算法的实现与核心网资源的合理配置,在yaml文件中增设了限制cpu与内存的参数。经过大量的尝试与测试得出了OAI5G核心网启动yaml文件中可以进行修改的内容,进行修改后的核心网可以正常的运行。
对核心网中进行修改的具体项目如下:yaml文件名称、docker-compose启动服务名、网元容器名称、三个仿真通信网桥oai、access与core的网段、cpu与存储的限制。

核心网组成文件构成

除了对于核心网yaml文件的配置,根据模板构建对应的核心网文件,还需要配置与其相关的文件如健康检查文件、日志存储文件、服务端业务文件等。编写代码在构建核心网文件夹中完成相关代码的构建,如切片1会构建一个名为Slice1的文件夹,其中包括面向该切片特制的核心网yaml文件与服务端文件,以及healthcheck健康检查文件,数据库存储文件database,以及conf和policies文件夹。

基站构成

基站部署在虚拟机中,每一个基站使用一个虚拟机,其中配置了对应切片的专用文件以及专用的ueransim基站仿真容器解析。首先根据官方提供的ueransim镜像的Dockerfile文件在其中添加了用于启动代理程序的python3,构建了新的镜像。然后针对每一个基站构建了专用的配置文件,主要包括启动基站的yaml文件,代理proxy文件以及代理关闭文件。在基站启动前会自动化配置到对应切片核心网的路由,然后启动基站,基站启动后会将proxy与proxy关闭文件复制到容器内运行。

切片启动流程

在后台会先开启rev.py用于接收前端的传输信息,在前端界面进行切片配置后下发配置信息到后端,后端接收到后会读取并进行解析,根据解析到的信息执行相应的操作。

在下发切片时,会根据前端信息及数据库查询信息生成切片信息,然后将信息写入数据库并生成切片文件夹Slicex,然后回依次启动OAI5G核心网,Ueransim基站,业务服务端以及代理,接下来客户端接入对应的切片即可进行对应业务的传输。
在停止切片时,前端会告知想要关闭的切片,后端根据信息依次关闭服务端及代理,Ueransim基站,OAI5G核心网。
在删除切片时,前端会告知想要关闭的切片,后端会将对应切片之前生成文件夹删除,并清除数据库中的信息,释放切片相关的所有资源。

切片状态监测

使用者通过前端QT界面与后端连接,当启动任意一个切片之后,前端会发送指令到后端linux环境中,运行状态监视python脚本。脚本启动后首先查询数据库切片数目和切片id,然后读取对应切片的容器,并统计其运行时间和各切片健康状态。在统计上述链路状态和数据后脚本将上述数据写入到数据库对应位置,前端读取数据库即可获取各个切片状态和运行时长。

相关文章:

基于OAI与Ueransim的5G网络切片平台构成简述

自定义多切片核心网构建 为了实现在同一台机器上同时对每一个切片启动一套单独的核心网,并且可以同时启动多套核心网,我们在官方提供的核心网模板的基础上进行适当的修改,扩展出其他可以正常运行的核心网,由此我们可以实现在同一…...

论文笔记:Adjusting for Autocorrelated Errors in Neural Networks for Time Series

2021 NIPS 原来的时间序列预测任务是根据预测论文提出用一阶自回归误差预测 一阶差分,类似于ResNet的残差思路?记为pred,最终的预测结果...

DataEase开源BI工具安装_数据全量_增量同步_大屏拖拽自动生成_多数据源支持_数据血缘分析---大数据工作笔记0183

我这里用的是Centos7.9安装的 可以通过uname -p来查看一下我们的电脑架构,可以看到是x86_64架构的 我们下第一个,这个是x86架构的,第二个arm架构的 然后解压到/opt/module中 然后再去重命名一下文件夹. 推荐200G 本地模式的功能比较多 推荐100G...

如何提升程序员的软素质

目录 软素质包含哪些方面怎么做总结 软素质包含哪些方面 在项目研发迭代的过程中,确保一次上线顺利不难,难得是每次上线都顺利。对一个人或团队,只要有一次上线有问题,那在领导看来,你这个人或团队的工作是不靠谱的。…...

msvcp100.dll丢失怎么修复,这三个常用的修复方法可以解决

msvcp100.dll是一个动态链接库文件,它是Microsoft Visual C Redistributable软件包的一部分。这个文件的作用是提供在运行C程序时所需的函数和功能。msvcp100.dll是一个非常重要的文件,它为我们提供了许多关键的函数和类,使得我们能够更高效地…...

python实现递推算法解决分鱼问题

一、问题描述 A、B、C、D、E5个人合伙夜间捕鱼,凌晨时都已经疲惫不堪,于是各自在河边的树丛中找地方睡着了。第二天日上三竿时,A第一个醒来,他将鱼平分为5份,把多余的一条扔回河中,然后拿着自己的一份回家…...

【LeetCode】142.环形链表Ⅱ

题目 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部…...

16.Netty源码之ChannelPipeline

highlight: arduino-light 服务编排层:ChannelPipeline协调ChannelHandlerHandler EventLoop可以说是 Netty 的调度中心,负责监听多种事件类型:I/O 事件、信号事件、定时事件等,然而实际的业务处理逻辑则是由 ChannelPipeline 中所定义的 Cha…...

“使用Spring Boot构建微服务应用的最佳实践“

标题:使用Spring Boot构建微服务应用的最佳实践 摘要:本文将介绍如何使用Spring Boot构建微服务应用的最佳实践。我们将讨论微服务架构的概念、Spring Boot的优势以及一些最佳实践,同时提供示例代码帮助读者更好地理解和实践。 正文&#x…...

redis高可用之主从复制,哨兵,集群

目录 前言 一、主从复制 1、主从复制的作用 2、主从复制流程 3、部署Redis 主从复制步骤 3.1 环境准备 3.3 修改Redis 配置文件(Master节点操作) 3.4 修改Redis 配置文件(Slave节点操作) 3.5 验证主从效果 二、哨兵 1、哨兵模式原理 2、哨兵模式…...

【Ajax】笔记-原生jsonp跨域请求案例

原生jsonp跨域请求 输入框&#xff1a;输入后&#xff0c;鼠标移开向服务端发送请求&#xff0c;返回用户不存在(直接返回不存在&#xff0c;不做判断) JS <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><me…...

QT--day2(信号与槽,多界面跳转)

第一个界面头文件&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QIcon> //图标头文件 #include <QPushButton> //按钮类头文件QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public…...

热备份路由协议原理

热备份路由协议原理 HSRP协议/VRRP协议热备份协议 热备份协议&#xff08;Hot Standby Protocol&#xff09; 是一种基于冗余设计的协议&#xff0c;用于提高网络的可靠性和冗余性。它允许多个设备共享同一个IP地址&#xff0c;其中一个设备被选为主设备&#xff0c;其他设备…...

模拟实现定时器

关于java标准库中的定时器的使用可以看定时器Timer的使用 大致思路 定义一个MyTimeTask类&#xff0c;该类用于组织要执行任务的内容以及执行任务的时间戳&#xff0c;后面要根据当前系统时间以及执行任务的时间戳进行比较&#xff0c;来判断是否要执行任务或是要等待任务 用一…...

TCP/IP的分包粘包

TCP/IP的分包粘包 分包粘包介绍导致分包粘包的原因导致TCP粘包的原因&#xff1a;导致TCP分包的原因&#xff1a;避免分包粘包的措施 分包粘包介绍 因为TCP为了减少额外开销&#xff0c;采取的是流式传输&#xff0c;所以接收端在一次接收的时候有可能一次接收多个包。而TCP粘…...

盘点:查快递教程

在“寄快递”成为常态的当下&#xff0c;如何快速进行物流信息查询&#xff0c;是收寄人所关心的问题。在回答这个问题之前&#xff0c;首先我们要知道&#xff0c;物流信息查询&#xff0c;有哪些方法&#xff1f; 1、官网单号查询 知道物流公司和单号的情况下&#xff0c;直…...

TransGPT 开源交通大模型开源

TransGPT 是开源交通大模型&#xff0c;主要致力于在真实交通行业中发挥实际价值。 它能够实现交通情况预测、智能咨询助手、公共交通服务、交通规划设计、交通安全教育、协助管理、交通事故报告和分析、自动驾驶辅助系统等功能。 TransGPT 作为一个通用常识交通大模型&#…...

gitignore文件使用方法(gitignore教程)(git status --ignored)(git check-ignore -v <file>)

文章目录 Gitignore文件使用描述Gitignore基本语法1. 基本语法★★★★★2. 配置方法 匹配示例示例1示例2示例3 其他命令git status --ignored&#xff08;用于显示被Git忽略的文件和文件夹的状态&#xff09;git check-ignore -v <file>&#xff08;用于检查指定文件是否…...

mybatis拼接sql导致的oom报错 GC报错

报错1&#xff1a;mybatis拼接过多 java.lang.OutOfMemoryError: GC overhead limit exceeded 具体报错&#xff1a; nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression ew.sqlSegment ! null and ew.sqlSegment ! and ew.non…...

如何通俗理解扩散模型?

扩散模型(Diffusion Model)是一类十分先进的基于扩散思想的深度学习生 成模型。生成模型除了扩散模型之外&#xff0c;还有出现较早的 VAE ( Variational Auto- Encoder&#xff0c;变分自编码器) 和 GAN ( Generative Adversarial Net &#xff0c;生成对抗网络) 等。 虽然它们…...

手把手教你用PassFab for Office 8.5.1找回遗忘的Word/Excel密码(保姆级图文教程)

办公文档密码遗忘急救指南&#xff1a;PassFab for Office全流程实战解析 你是否经历过这样的场景&#xff1a;周一早晨准备修改季度报表时&#xff0c;突然发现去年设置的Excel密码怎么试都不对&#xff1b;或是毕业论文答辩前夜&#xff0c;重要参考文献的Word文档因密码错误…...

WMIC命令行高效卸载Windows软件:从入门到精通

1. 为什么选择WMIC卸载软件&#xff1f; 每次电脑卡顿的时候&#xff0c;打开C盘一看&#xff0c;总会被各种不明所以的软件占满空间。传统的卸载方式要经过"控制面板-程序和功能-找到目标-点击卸载"的繁琐流程&#xff0c;而WMIC只需要几行命令就能搞定。我在帮同事…...

VisualCppRedist AIO:解决Windows运行库管理难题的一站式方案

VisualCppRedist AIO&#xff1a;解决Windows运行库管理难题的一站式方案 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 一、直面运行库困境&#xff1a;三大场…...

别再只盯着mAP50了!手把手教你修改YOLOv8的best模型保存逻辑(附代码)

突破mAP50局限&#xff1a;YOLOv8模型保存策略深度定制指南 在目标检测领域&#xff0c;mAP50&#xff08;mean Average Precision at IoU0.5&#xff09;长期被作为模型性能的黄金标准。但当我们面对工业质检中微米级缺陷识别&#xff0c;或是自动驾驶场景中对行人检测的严苛要…...

StructBERT情感分类模型在教育领域的情绪分析应用

StructBERT情感分类模型在教育领域的情绪分析应用 教育工作者如何从海量学生反馈中快速识别情绪变化&#xff1f;AI情感分析技术正在重新定义教学体验优化方式 1. 教育场景中的情感分析需求 在日常教学过程中&#xff0c;学生通过各种渠道表达他们的感受和体验&#xff1a;课程…...

Java微服务Istio配置必须立即更新的4个安全补丁:CVE-2024-23652等高危漏洞绕过配置详解

第一章&#xff1a;Java微服务Istio配置安全补丁的紧急性与背景近年来&#xff0c;Java微服务架构在云原生环境中广泛应用&#xff0c;而Istio作为主流服务网格控制平面&#xff0c;承担着流量管理、可观测性与零信任安全策略实施的关键角色。然而&#xff0c;2024年披露的CVE-…...

国内开发者如何高效集成Nano Banana Pro与Sora2?——API中转站选型与实战避坑指南

1. 为什么需要API中转站&#xff1f; 对于国内开发者来说&#xff0c;想要直接调用Nano Banana Pro和Sora2的官方API&#xff0c;面临着几个现实问题。首先是网络访问的稳定性&#xff0c;Google和OpenAI的API服务器都部署在海外&#xff0c;国内直连经常会出现高延迟、丢包甚至…...

CODESYS组件开发进阶:如何通过修改.m4文件调用SysFile等系统函数(附实例代码)

CODESYS组件开发进阶&#xff1a;深入解析.m4文件配置与系统函数调用实战 在工业自动化领域&#xff0c;CODESYS作为主流的PLC开发平台&#xff0c;其组件化开发能力为工程师提供了极大的灵活性。但当你需要突破基础功能限制&#xff0c;实现文件操作、系统管理等高级功能时&am…...

Omni-Vision Sanctuary集成MySQL数据库:智能图像数据管理与检索实战

Omni-Vision Sanctuary集成MySQL数据库&#xff1a;智能图像数据管理与检索实战 1. 引言&#xff1a;当AI图像生成遇上数据库管理 想象一下这样的场景&#xff1a;你的设计团队每天使用Omni-Vision Sanctuary生成数百张创意图片&#xff0c;但很快发现这些数字资产变得难以管…...

XILINX DDR3 VIVADO(二)时钟配置与调试技巧

1. DDR3时钟配置基础概念 在Xilinx Vivado中使用DDR3 IP核时&#xff0c;时钟配置是最关键也是最容易出错的环节。我刚开始接触DDR3设计时&#xff0c;经常被各种时钟信号搞得晕头转向。后来才发现&#xff0c;只要理解清楚三个核心时钟信号&#xff0c;问题就解决了一大半。 首…...