From 4243a710f702b601b1d5a7dc2c765191c191201d Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期三, 11 十二月 2019 17:59:48 +0800 Subject: [PATCH] 把插入es的so放进中间件 --- insertdata/insertDataToEs.go | 16 ++++++++-------- algorithm/middleware/readyData.go | 2 +- ruleserver/ruleToformula.go | 14 ++++++++------ structure/rule.go | 5 ++--- algorithm/middleware/insertDataToEs.go | 9 +++++++++ 5 files changed, 28 insertions(+), 18 deletions(-) diff --git a/algorithm/insertEs/insertDataToEs.go b/algorithm/middleware/insertDataToEs.go similarity index 98% rename from algorithm/insertEs/insertDataToEs.go rename to algorithm/middleware/insertDataToEs.go index f49407a..af27a79 100644 --- a/algorithm/insertEs/insertDataToEs.go +++ b/algorithm/middleware/insertDataToEs.go @@ -899,3 +899,12 @@ return nil } } + + +//func Insert2Es(msg structure.ResultMsg,weedfsUrl1,videoPersonUrl1,serverIp1,serverPort1 string) { +// if msg.RuleResult["label"] != nil && len(msg.RuleResult["label"].([]structure.Result)) > 0 { +// for msg.RuleResult["label"].([]structure.Result) { +// +// } +// } +//} \ No newline at end of file diff --git a/algorithm/middleware/readyData.go b/algorithm/middleware/readyData.go index bdcc857..5ea0c97 100644 --- a/algorithm/middleware/readyData.go +++ b/algorithm/middleware/readyData.go @@ -222,7 +222,7 @@ for _, info := range Track.Result { logger.Info("鎺ユ敹璺熻釜鏁版嵁锛�",info.Id,info.Confidence) photoMap := structure.PhotoMap{structure.SourcePhoto{Id: strconv.Itoa(int(info.Id)),Score: float64(info.Confidence)*100,Rects: rectFormat(info.RcHuman), Type: "track"},structure.SourcePhoto{}} - FacePush2Body(&photoMap,m.Tasklab.Sdkinfos) + //FacePush2Body(&photoMap,m.Tasklab.Sdkinfos) logger.Info("缁勮鍚庣殑璺熻釜鏁版嵁锛�",photoMap) arg.Photo = append(arg.Photo, photoMap) } diff --git a/insertdata/insertDataToEs.go b/insertdata/insertDataToEs.go index 7349d79..05a014e 100644 --- a/insertdata/insertDataToEs.go +++ b/insertdata/insertDataToEs.go @@ -8,9 +8,9 @@ "strconv" ) -var weedfsUrl, videoPersonUrl, personAction string -var serverIp string -var serverPort string +//var weedfsUrl, videoPersonUrl, personAction string +//var serverIp string +//var serverPort string func InsertToEs(msg structure.ResultMsg) { defer func() { if err := recover(); err != nil { @@ -21,15 +21,15 @@ if err != nil { panic("閰嶇疆鏂囦欢涓嶅悎娉�") } - weedfsUrl = "http://" + localConfig1.WebPicIp + ":" + strconv.Itoa(int(localConfig1.WebPicPort)) + "/submit" - videoPersonUrl = "http://" + localConfig1.AlarmIp + ":" + strconv.Itoa(int(localConfig1.AlarmPort)) + "/" + structure.EsInfo.EsIndex.AIOcean.IndexName + "/" + structure.EsInfo.EsIndex.AIOcean.IndexType+"?refresh=true" - serverIp = localConfig1.AlarmIp - serverPort = strconv.Itoa(int(localConfig1.AlarmPort)) + weedfsUrl := "http://" + localConfig1.WebPicIp + ":" + strconv.Itoa(int(localConfig1.WebPicPort)) + "/submit" + videoPersonUrl := "http://" + localConfig1.AlarmIp + ":" + strconv.Itoa(int(localConfig1.AlarmPort)) + "/" + structure.EsInfo.EsIndex.AIOcean.IndexName + "/" + structure.EsInfo.EsIndex.AIOcean.IndexType+"?refresh=true" + serverIp := localConfig1.AlarmIp + serverPort := strconv.Itoa(int(localConfig1.AlarmPort)) handle(msg,weedfsUrl,videoPersonUrl,serverIp,serverPort) } func handle (msg structure.ResultMsg,weedfsUrl,videoPersonUrl,serverIp,serverPort string) { - p,err := plugin.Open("./algorithm/insertEs.so") + p,err := plugin.Open("./algorithm/middleware.so") if err != nil { panic(err) } diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go index 64a3641..7f3a959 100644 --- a/ruleserver/ruleToformula.go +++ b/ruleserver/ruleToformula.go @@ -119,6 +119,7 @@ result,sdkNames,polygonId = CallMiddleware(args,*groupRule,&label,message) if result { + // 鏈�鍚庤繃鎸佺画鏃堕棿绛夋椂闂寸淮搴︾殑鏉′欢 鎶婃椂闂磋鍒欎綅缃皟鏁村埌杩欎釜浣嶇疆鏄负浜嗙紦瀛樻暟鎹� 锛侊紒锛侊紒锛乸s: 瀵圭敾闈腑鍗曚釜鐩爣鍋氬畾鏃跺櫒鐨勪笉鐢ㄥ啀杩囩敾闈㈠畾鏃跺櫒 for j := 0; j < len(groupRule.Rules); j++ { for _, sdkData := range args.Sdkdata { @@ -355,7 +356,7 @@ if flag { m := make(map[string]interface{}) m["yolo"] = []structure.Result{} - m["yolo"] = append(m["yolo"].([]structure.Result), structure.Result{args.TaskId, "", "", true, 0, "", am.FilterData, am.AreaJson, false,label}) + m["yolo"] = append(m["yolo"].([]structure.Result), structure.Result{args.TaskId, "", "", true, 0, "", am.FilterData, true,am.AreaJson, false,label}) timeLength, _ := strconv.Atoi(rule.SdkArgValue) timeEle := TimeElement{N: timeLength, InitN: timeLength, AlarmFlag: false, BufferFlag: 10, CacheSdkData: structure.ResultMsg{message, m}} // 鎵旇繘鍘讳竴涓畾鏃跺櫒鍏冪礌锛堝苟缂撳瓨褰撳墠鐢婚潰甯ф暟鎹級 //TimeEleList = make(map[string]timeElement) @@ -370,6 +371,7 @@ } func AssembResultLabel(args *structure.SdkDatas, groupRule *protomsg.GroupRule,sdkNames string,taskId string,polygonId string,label structure.Others) []int{ + faces := []*structure.Arg{} yolos := []*structure.Arg{} targets := []*structure.Arg{} @@ -427,27 +429,27 @@ //logger.Info("瑙﹀彂鐨勫尯鍩焛d锛�",polygonId) var labelTypes []int // 0涓簓olo鏍囩锛�1涓篺ace鏍囩 2涓轰袱鑰呮爣绛� if sdkNames != "" && len(targets) == 0 { - args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, yolos, polygonId, islink,label}) + args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, yolos, true,polygonId, islink,label}) labelTypes = append(labelTypes,0) //logger.Info("-------------------yolo缁撴灉鏍囩闀垮害", len(args.RuleResult["yolo"].([]Result))) } if faceFlag { - args.RuleResult["face"] = append(args.RuleResult["face"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, faces, polygonId, islink,label}) + args.RuleResult["face"] = append(args.RuleResult["face"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, faces, false,polygonId, islink,label}) //logger.Info("-------------------face缁撴灉鏍囩", len(args.RuleResult["face"].([]structure.Result))) labelTypes = append(labelTypes,1) } if len(targets) > 0 { - args.RuleResult["target"] = append(args.RuleResult["target"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, targets, polygonId, islink,label}) + args.RuleResult["target"] = append(args.RuleResult["target"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, targets, false,polygonId, islink,label}) //logger.Info("-------------------鐩爣鎸佺画缁撴灉鏍囩", len(args.RuleResult["target"].([]structure.Result))) labelTypes = append(labelTypes,2) } if len(cars) > 0 { - args.RuleResult["plate"] = append(args.RuleResult["plate"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, cars, polygonId, islink,label}) + args.RuleResult["plate"] = append(args.RuleResult["plate"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, cars, false,polygonId, islink,label}) //logger.Info("-------------------杞︾墝缁撴灉鏍囩", len(args.RuleResult["plate"].([]structure.Result))) labelTypes = append(labelTypes,3) } if len(personTrack) > 0 { - args.RuleResult["track"] = append(args.RuleResult["track"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, personTrack, polygonId, islink,label}) + args.RuleResult["track"] = append(args.RuleResult["track"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, personTrack, false,polygonId, islink,label}) //logger.Info("-------------------杞︾墝缁撴灉鏍囩", len(args.RuleResult["plate"].([]structure.Result))) labelTypes = append(labelTypes,4) } diff --git a/structure/rule.go b/structure/rule.go index 2389cca..a6fe8d5 100644 --- a/structure/rule.go +++ b/structure/rule.go @@ -87,13 +87,12 @@ // 杩囪鍒欏簱鎵撲笂鐨勬爣绛� type Result struct { TaskId string // 浠诲姟id - SdkName string + SdkName string // 绠楁硶鍚嶇О RuleGroupId string // 瑙勫垯缁刬d DefenceState bool // 鏄惁甯冮槻 AlarmLevel int32 // 鎶ヨ绛夌骇 RuleText string // 鏂囧瓧鐗堣鍒欑粍 - //Location []TargetInfo // 鐩爣鐨勫潗鏍� - AlarmObj []*Arg // 鎶ヨ鐨勭洰鏍囨暟鎹� 鎵撶畻搴熸帀涓婇潰鐨凩ocation + AlarmObj []*Arg // 鎶ヨ鐨勭洰鏍囨暟鎹� AlarmPolygon string // 瑙﹀彂鐨勬姤璀︽ IsLink bool // 鏄惁鏄仈鍔ㄤ换鍔� Others -- Gitblit v1.8.0