孟令鑫 пре 1 година
родитељ
комит
a6b022319b

+ 2 - 1
aarch64/pjisuv/common/service/disk_clean.go

@@ -81,7 +81,8 @@ func getIndexToRemoveForLRU() int {
 	for i >= 0 {
 		for i2, window := range entity.TimeWindowConsumerQueue {
 			for _, label := range window.Labels {
-				if masterConfig.LabelMapTriggerId[label] == lru[i] {
+				value, _ := masterConfig.LabelMapTriggerId.Load(label)
+				if value == lru[i] {
 					return i2
 				}
 			}

+ 5 - 5
aarch64/pjisuv/common/service/rosbag_upload.go

@@ -115,12 +115,12 @@ outLoop:
 		// 在上传完成的包目录同级下添加一个目录同名的json
 		var triggerIds []string
 		for _, label := range currentTimeWindow.Labels {
-			triggerIdToAppend := masterConfig.LabelMapTriggerId[label]
-			if triggerIdToAppend == "" {
-				c_log.GlobalLogger.Errorf("【label】=%v 没有对应的【triggerId】", triggerIdToAppend)
+			if triggerId, ok := masterConfig.LabelMapTriggerId.Load(label); !ok {
+				c_log.GlobalLogger.Errorf("【label】=%v 没有对应的【triggerId】", label)
+			} else {
+				c_log.GlobalLogger.Info("添加一个【triggerId】=", triggerId)
+				triggerIds = append(triggerIds, commonUtil.ToString(triggerId))
 			}
-			c_log.GlobalLogger.Info("添加一个【triggerId】=", triggerIdToAppend)
-			triggerIds = append(triggerIds, triggerIdToAppend)
 		}
 		c_log.GlobalLogger.Info("json 中添加【triggerIds】=", triggerIds)
 		callBackJson, _ := commonUtil.MapToJsonString(map[string]interface{}{

+ 3 - 2
aarch64/pjisuv/master/package/config/master_trigger_config.go

@@ -8,6 +8,7 @@ import (
 	"plugin"
 	"strconv"
 	"strings"
+	"sync"
 )
 
 var (
@@ -21,7 +22,7 @@ var (
 	RuleOfTpperception   []func(data *pjisuv_msgs.PerceptionObjects, velocityX float64, velocityY float64, yaw float64) string
 	RuleOfFaultInfo      []func(data *pjisuv_msgs.FaultVec) string
 	RuleOfDataRead       []func(data *pjisuv_msgs.Retrieval) string
-	LabelMapTriggerId    = make(map[string]string)
+	LabelMapTriggerId    sync.Map
 )
 
 func InitTriggerConfig() {
@@ -109,7 +110,7 @@ func InitTriggerConfig() {
 		}
 		labelFunc := label.(func() string)
 		labelString := labelFunc()
-		LabelMapTriggerId[labelString] = strconv.Itoa(trigger.TriggerId)
+		LabelMapTriggerId.Store(labelString, strconv.Itoa(trigger.TriggerId))
 		c_log.GlobalLogger.Info("主节点加载触发器插件:【ros topic】=", topic2, ",【触发器label】=", labelString, "【触发器ID】=", trigger.TriggerId, "【label和id映射关系】=", LabelMapTriggerId)
 	}
 	c_log.GlobalLogger.Info("主节点加载触发器插件 - 成功。")