feat: OMC参数配置添加NE信令跟踪服务开关

This commit is contained in:
TsMask
2025-05-30 14:10:43 +08:00
parent 72ffd848d7
commit 1f2a2b687d
10 changed files with 162 additions and 49 deletions

View File

@@ -22,22 +22,25 @@ import (
// 实例化数据层 TraceTask 结构体
var NewTraceTask = &TraceTask{
udpService: socket.SocketUDP{},
tcpService: socket.SocketTCP{},
traceTaskRepository: repository.NewTraceTask,
traceDataRepository: repository.NewTraceData,
}
// TraceTask 跟踪任务 服务层处理
type TraceTask struct {
// UDP服务对象
udpService socket.SocketUDP
// 跟踪_任务数据信息
traceTaskRepository *repository.TraceTask
// 跟踪_数据信息
traceDataRepository *repository.TraceData
udpService socket.SocketUDP // UDP服务对象
tcpService socket.SocketTCP // 测试用后续调整TODO
traceTaskRepository *repository.TraceTask // 跟踪_任务数据信息
traceDataRepository *repository.TraceData // 跟踪_数据信息
}
// CreateUDP 创建UDP数据通道
func (r TraceTask) CreateUDP() error {
func (r *TraceTask) CreateUDP(reload bool) error {
if reload {
r.CloseUDP() // 关闭之前的UDP服务
}
// 跟踪配置是否开启
host, port, err := r.traceNotify()
if err != nil {
@@ -84,12 +87,12 @@ func (r TraceTask) CreateUDP() error {
// ============ 本地测试接收网元UDP发过来的数据 后续调整TODO
if config.Env() == "local" {
// 初始化TCP服务
tcpService := socket.SocketTCP{Addr: host, Port: port + 1}
if _, err := tcpService.New(); err != nil {
r.tcpService = socket.SocketTCP{Addr: host, Port: port + 1}
if _, err := r.tcpService.New(); err != nil {
return err
}
// 接收处理TCP数据
go tcpService.Resolve(func(conn *net.Conn, err error) {
go r.tcpService.Resolve(func(conn *net.Conn, err error) {
if err != nil {
logger.Errorf("TCP Resolve %s", err.Error())
return
@@ -125,7 +128,7 @@ func (r TraceTask) CreateUDP() error {
}
// pasreUDPData 解析数据
func (r TraceTask) pasreUDPData(buf []byte) error {
func (r *TraceTask) pasreUDPData(buf []byte) error {
data, err := traceHandler(buf)
if err != nil {
logger.Errorf("UDP Resolve UDPDataHandler Error: %s", err.Error())
@@ -157,8 +160,9 @@ func (r TraceTask) pasreUDPData(buf []byte) error {
}
// CloseUDP 关闭UDP数据通道
func (r TraceTask) CloseUDP() {
func (r *TraceTask) CloseUDP() {
r.udpService.Close()
r.tcpService.Close()
}
// FindByPage 根据条件分页查询

View File

@@ -141,7 +141,7 @@ func Setup(router *gin.Engine) {
// InitLoad 初始参数
func InitLoad() {
// 创建跟踪任务信令数据通道UDP
if err := service.NewTraceTask.CreateUDP(); err != nil {
if err := service.NewTraceTask.CreateUDP(false); err != nil {
logger.Errorf("socket udp init fail: %s", err.Error())
}
}