基于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,然后读取对应切片的容器,并统计其运行时间和各切片健康状态。在统计上述链路状态和数据后脚本将上述数据写入到数据库对应位置,前端读取数据库即可获取各个切片状态和运行时长。
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
基于OAI与Ueransim的5G网络切片平台构成简述
自定义多切片核心网构建 为了实现在同一台机器上同时对每一个切片启动一套单独的核心网,并且可以同时启动多套核心网,我们在官方提供的核心网模板的基础上进行适当的修改,扩展出其他可以正常运行的核心网,由此我们可以实现在同一…...
![](https://img-blog.csdnimg.cn/9ed0ce8e62fd467ea38b8ba44f04ab02.png)
论文笔记:Adjusting for Autocorrelated Errors in Neural Networks for Time Series
2021 NIPS 原来的时间序列预测任务是根据预测论文提出用一阶自回归误差预测 一阶差分,类似于ResNet的残差思路?记为pred,最终的预测结果...
![](https://img-blog.csdnimg.cn/eb0afdfc96304548ae0ff5957a023148.png)
DataEase开源BI工具安装_数据全量_增量同步_大屏拖拽自动生成_多数据源支持_数据血缘分析---大数据工作笔记0183
我这里用的是Centos7.9安装的 可以通过uname -p来查看一下我们的电脑架构,可以看到是x86_64架构的 我们下第一个,这个是x86架构的,第二个arm架构的 然后解压到/opt/module中 然后再去重命名一下文件夹. 推荐200G 本地模式的功能比较多 推荐100G...
![](https://www.ngui.cc/images/no-images.jpg)
如何提升程序员的软素质
目录 软素质包含哪些方面怎么做总结 软素质包含哪些方面 在项目研发迭代的过程中,确保一次上线顺利不难,难得是每次上线都顺利。对一个人或团队,只要有一次上线有问题,那在领导看来,你这个人或团队的工作是不靠谱的。…...
![](https://img-blog.csdnimg.cn/img_convert/6d7e10ddb411aa33c100d9589132cd83.png)
msvcp100.dll丢失怎么修复,这三个常用的修复方法可以解决
msvcp100.dll是一个动态链接库文件,它是Microsoft Visual C Redistributable软件包的一部分。这个文件的作用是提供在运行C程序时所需的函数和功能。msvcp100.dll是一个非常重要的文件,它为我们提供了许多关键的函数和类,使得我们能够更高效地…...
![](https://img-blog.csdnimg.cn/feb48fa22c324b928995f6d8a2103d18.png)
python实现递推算法解决分鱼问题
一、问题描述 A、B、C、D、E5个人合伙夜间捕鱼,凌晨时都已经疲惫不堪,于是各自在河边的树丛中找地方睡着了。第二天日上三竿时,A第一个醒来,他将鱼平分为5份,把多余的一条扔回河中,然后拿着自己的一份回家…...
![](https://img-blog.csdnimg.cn/img_convert/f4c4bb87ef12a99ac6f9f6b5cd5f3636.png)
【LeetCode】142.环形链表Ⅱ
题目 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部…...
![](https://img-blog.csdnimg.cn/img_convert/cc2de8fe7bfe240e1669331c88d03651.png?x-oss-process=image/watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfMTIy,g_se,x_0,y_0,t_100)
16.Netty源码之ChannelPipeline
highlight: arduino-light 服务编排层:ChannelPipeline协调ChannelHandlerHandler EventLoop可以说是 Netty 的调度中心,负责监听多种事件类型:I/O 事件、信号事件、定时事件等,然而实际的业务处理逻辑则是由 ChannelPipeline 中所定义的 Cha…...
![](https://www.ngui.cc/images/no-images.jpg)
“使用Spring Boot构建微服务应用的最佳实践“
标题:使用Spring Boot构建微服务应用的最佳实践 摘要:本文将介绍如何使用Spring Boot构建微服务应用的最佳实践。我们将讨论微服务架构的概念、Spring Boot的优势以及一些最佳实践,同时提供示例代码帮助读者更好地理解和实践。 正文&#x…...
![](https://img-blog.csdnimg.cn/e337b60ed4934656aba5dab2f40d169c.png)
redis高可用之主从复制,哨兵,集群
目录 前言 一、主从复制 1、主从复制的作用 2、主从复制流程 3、部署Redis 主从复制步骤 3.1 环境准备 3.3 修改Redis 配置文件(Master节点操作) 3.4 修改Redis 配置文件(Slave节点操作) 3.5 验证主从效果 二、哨兵 1、哨兵模式原理 2、哨兵模式…...
![](https://img-blog.csdnimg.cn/4d4c3ebff298452b90b5d16e23b8d011.png)
【Ajax】笔记-原生jsonp跨域请求案例
原生jsonp跨域请求 输入框:输入后,鼠标移开向服务端发送请求,返回用户不存在(直接返回不存在,不做判断) JS <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><me…...
![](https://img-blog.csdnimg.cn/a27f4dc3d3d9402cabb54d532c2e74e7.png)
QT--day2(信号与槽,多界面跳转)
第一个界面头文件: #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QIcon> //图标头文件 #include <QPushButton> //按钮类头文件QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public…...
![](https://img-blog.csdnimg.cn/img_convert/e10868be9dccda8266fdff82e0fa201e.png)
热备份路由协议原理
热备份路由协议原理 HSRP协议/VRRP协议热备份协议 热备份协议(Hot Standby Protocol) 是一种基于冗余设计的协议,用于提高网络的可靠性和冗余性。它允许多个设备共享同一个IP地址,其中一个设备被选为主设备,其他设备…...
![](https://www.ngui.cc/images/no-images.jpg)
模拟实现定时器
关于java标准库中的定时器的使用可以看定时器Timer的使用 大致思路 定义一个MyTimeTask类,该类用于组织要执行任务的内容以及执行任务的时间戳,后面要根据当前系统时间以及执行任务的时间戳进行比较,来判断是否要执行任务或是要等待任务 用一…...
![](https://www.ngui.cc/images/no-images.jpg)
TCP/IP的分包粘包
TCP/IP的分包粘包 分包粘包介绍导致分包粘包的原因导致TCP粘包的原因:导致TCP分包的原因:避免分包粘包的措施 分包粘包介绍 因为TCP为了减少额外开销,采取的是流式传输,所以接收端在一次接收的时候有可能一次接收多个包。而TCP粘…...
![](https://img-blog.csdnimg.cn/4960bd5766d544798921d149c4f93ced.jpeg)
盘点:查快递教程
在“寄快递”成为常态的当下,如何快速进行物流信息查询,是收寄人所关心的问题。在回答这个问题之前,首先我们要知道,物流信息查询,有哪些方法? 1、官网单号查询 知道物流公司和单号的情况下,直…...
![](https://oscimg.oschina.net/oscnet/up-a740e324e78757c2d01487caa238bbc104c.png)
TransGPT 开源交通大模型开源
TransGPT 是开源交通大模型,主要致力于在真实交通行业中发挥实际价值。 它能够实现交通情况预测、智能咨询助手、公共交通服务、交通规划设计、交通安全教育、协助管理、交通事故报告和分析、自动驾驶辅助系统等功能。 TransGPT 作为一个通用常识交通大模型&#…...
![](https://img-blog.csdnimg.cn/aec3b1a99a31457b94f9592bdf1b5b94.png)
gitignore文件使用方法(gitignore教程)(git status --ignored)(git check-ignore -v <file>)
文章目录 Gitignore文件使用描述Gitignore基本语法1. 基本语法★★★★★2. 配置方法 匹配示例示例1示例2示例3 其他命令git status --ignored(用于显示被Git忽略的文件和文件夹的状态)git check-ignore -v <file>(用于检查指定文件是否…...
![](https://www.ngui.cc/images/no-images.jpg)
mybatis拼接sql导致的oom报错 GC报错
报错1:mybatis拼接过多 java.lang.OutOfMemoryError: GC overhead limit exceeded 具体报错: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression ew.sqlSegment ! null and ew.sqlSegment ! and ew.non…...
![](https://img-blog.csdnimg.cn/img_convert/ee0834084aa36aab3169977c2c2af524.png)
如何通俗理解扩散模型?
扩散模型(Diffusion Model)是一类十分先进的基于扩散思想的深度学习生 成模型。生成模型除了扩散模型之外,还有出现较早的 VAE ( Variational Auto- Encoder,变分自编码器) 和 GAN ( Generative Adversarial Net ,生成对抗网络) 等。 虽然它们…...
【C#】并行编程实战:并行编程中的模式
本章将介绍并行编程模式,重点是理解并行代码问题场景并使用并行编程/异步技术解决他们。本章会介绍几种最重要的编程模式。 本教程学习工程:魔术师Dix / HandsOnParallelProgramming GitCode 1、MapReduce 模式 引入 MapReduce 是为了解决处理大数据的问…...
![](https://www.ngui.cc/images/no-images.jpg)
Apache Kafka 入门教程
Apache Kafka 入门教程 一、简介简介架构 二、Kafka 安装和配置JDK安装 Kafka配置文件详解 三、Kafka 的基本操作启动和关闭Topic 创建和删除Partitions 和 Replication 配置Producer 和 Consumer 使用方法ProducerConsumer 四、Kafka 高级应用消息的可靠性保证Kafka StreamKaf…...
![](https://img-blog.csdnimg.cn/img_convert/ec2e9b44f21100ea91ea7e48e7e51a07.jpeg)
python皮卡丘编程代码教程,用python打印皮卡丘
大家好,小编来为大家解答以下问题,如何用print函数打印一只皮卡丘,用python如何打印丘比特之心,现在让我们一起来看看吧!...
![](https://img-blog.csdnimg.cn/4c39daaac4e44a36985054b5532f00cb.png)
shell脚本:数据库的分库分表
#!/bin/bash ######################### #File name:db_fen.sh #Version:v1.0 #Email:admintest.com #Created time:2023-07-29 09:18:52 #Description: ########################## MySQL连接信息 db_user"root" db_password"RedHat123" db_cmd"-u${…...
![](https://www.ngui.cc/images/no-images.jpg)
AtCoder Beginner Contest 312(A~D)
A //语法题也要更仔细嘞,要不然也会wa #include <bits/stdc.h> // #pragma GCC optimize(3,"Ofast","inline") // #pragma GCC optimize(2) using namespace std; typedef long long LL; #define int LL typedef pair<int, int> …...
![](https://www.ngui.cc/images/no-images.jpg)
SQL中Partition的相关用法
使用Partition可以根据指定的列或表达式将数据分成多个分区。每个分区都是逻辑上独立的,可以单独进行查询、插入、更新和删除操作。Partition可以提高查询性能,因为它可以限制在特定分区上执行查询,而不是在整个表上执行。 在SQL中ÿ…...
![](https://img-blog.csdnimg.cn/f9b61e08c48b4d37a5fbf60c223d37db.png)
微服务——Docker
docker与虚拟机的区别 首先要知道三个层次 硬件层:计算机硬件 内核层:与硬件交互,提供操作硬件的指令 应用层: 系统应用封装内核指令为函数,便于程序员调用。用户程序基于系统函数库实现功能。 docker在打包的时候直接把应用层的函数库也进行打包&a…...
![](https://img-blog.csdnimg.cn/1e0b1a9ef07145b88efcab5987fe4529.png)
测试|测试用例方法篇
测试|测试用例方法篇 文章目录 测试|测试用例方法篇1.测试用例的基本要素:测试环境,操作步骤,测试数据,预期结果…2.测试用例带来的好处3.测试用例的设计思路,设计方法,具体设计方法之间的关系**设计测试用…...
![](https://www.ngui.cc/images/no-images.jpg)
负载均衡的策略有哪些? 负载均衡的三种方式?
负载均衡的策略有哪些? 负载均衡的策略有如下: 1. 轮询(Round Robin):按照请求的顺序轮流分配到不同的服务器。 2. 权重(Weighted):给不同的服务器分配不同的权重,根据权重比例来…...
![](https://img-blog.csdnimg.cn/ccd6d5b34caf4ead95b6e858d310a4f7.png)
二十三章:抗对抗性操纵的弱监督和半监督语义分割的属性解释
0.摘要 弱监督语义分割从分类器中生成像素级定位,但往往会限制其关注目标对象的一个小的区域。AdvCAM是一种图像的属性图,通过增加分类分数来进行操作。这种操作以反对抗的方式实现,沿着像素梯度的相反方向扰动图像。它迫使最初被认为不具有区…...
![](/images/no-images.jpg)
湖南省建设厅网站首页/广州网站制作公司
用ASP实现一个空间多个域名 好像没什么用.不过放在这里,我怕以后有用. <% Server_NameRequest.ServerVariables("SERVER_NAME") For I1 To Len(Server_Name) If Mid(Server_Name,i,1)"." Then Exit For USER USER & Mid(Server_Name,i,1) Ne…...
![](https://img-blog.csdnimg.cn/d8ad9a64e6694981945bacd7d8cde110.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBARmlybemZiA==,size_20,color_FFFFFF,t_70,g_se,x_16)
广告设计作品图片/seo优化教程下载
Spring Boot实战之Filter 1.Filter功能 filter功能,它使用户可以改变一个 request和修改一个response. Filter 不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在离开 servlet时处理response.换种说法,filter其实…...
![](/images/no-images.jpg)
建设网站的提成是多少/百度营销后台
邮件列表每天都能让我学到新东西,感谢他!有朋友问PREEMPT_ACTIVE有什么用,我给出了最简单的回答,就是避免被抢占的进程被无情的赶出运行队列。这个回答显然不能让那位朋友满意... 进程一旦调用了schedule,如果再次被调…...
![](https://img-blog.csdnimg.cn/4288b5d598df400b93e255637d855fb9.png)
asp网站制作设计教程/广告素材
需求:y轴刻度 最大值取接口返回的 最大值数据 方法一: data() {return {yAxisMaxNum: 49};},initChart() {// 创建 echarts 实例。this.myChartOne this.$echarts.init(this.$refs.Echart);let maxNum this.yAxisMaxNumvar option {tooltip: {trigger…...
影院网站建设/海外营销方案
Hadoop分组统计计算案例 假如现在有一个用户流量使用情况的日志表,需要对用户的上行流量,下行流量和总流量进行统计;同时还要按照号码的前3位不同进行分别输出。 日志记录如下:(【2】号码,【8】上行流量&…...
![](/images/no-images.jpg)
wordpress的开发文档/搜索引擎数据库
今天总算是机缘巧合的找到了照样一篇纲要性质的文章。 如是能早一些找到就好了。不过“在你认为为时已晚的时候,其实还为时未晚”倒是也能聊以自慰,不过不能经常这样迷惑自己,毕竟我需要开始跑了! 就照着这个大纲往下走走…...