From 789d38603d73dabe8ae5f79c1a35a8d84c130b00 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期三, 04 三月 2020 18:20:47 +0800
Subject: [PATCH] update protomsg
---
service/FaceCompareService.go | 85 +++++++++++++++++++++++++-----------------
1 files changed, 50 insertions(+), 35 deletions(-)
diff --git a/service/FaceCompareService.go b/service/FaceCompareService.go
index 3882a86..24aabde 100644
--- a/service/FaceCompareService.go
+++ b/service/FaceCompareService.go
@@ -8,10 +8,10 @@
"nanomsg.org/go-mangos/protocol/req"
"nanomsg.org/go-mangos/transport/ipc"
"nanomsg.org/go-mangos/transport/tcp"
- "sort"
+ "strconv"
"sync"
"webserver/extend/config"
- "webserver/extend/logger"
+ "basic.com/valib/logger.git"
)
type FaceCompareService struct {
@@ -28,28 +28,19 @@
type CompareOnce struct {
CompareNum string `json:"compareOnce"`
- CompareData *[]*protomsg.SdkCompareEach `json:"compareData"`
+ CompareData *CompareList `json:"compareData"`
}
-type CompareResultWrapper struct {
- CompareData *[]*protomsg.SdkCompareEach
- By func(p,q *protomsg.SdkCompareEach) bool
-}
+type CompareList []*protomsg.SdkCompareEach
-func (crw CompareResultWrapper) Len()int {
- return len(*crw.CompareData)
+func (s CompareList) Len()int {
+ return len(s)
}
-func (crw CompareResultWrapper) Swap(i,j int) {
- (*crw.CompareData)[i],(*crw.CompareData)[j] = (*crw.CompareData)[j],(*crw.CompareData)[i]
+func (s CompareList) Swap(i,j int) {
+ s[i],s[j] = s[j],s[i]
}
-func (crw CompareResultWrapper) Less(i,j int) bool{
- return crw.By((*crw.CompareData)[i],(*crw.CompareData)[j])
-}
-
-func SortByScore(list *[]*protomsg.SdkCompareEach) {
- sort.Sort(CompareResultWrapper{list, func(p, q *protomsg.SdkCompareEach) bool {
- return q.CompareScore < p.CompareScore //閫掑噺鎺掑簭
- }})
+func (s CompareList) Less(i,j int) bool{//闄嶅簭鎺掑簭
+ return s[i].CompareScore > s[j].CompareScore
}
var compResultHisM = make(map[string]*CompareOnce,0)
@@ -73,20 +64,22 @@
var CaptureTable = "capturetable" // 鎶撴媿搴�
-func (sv *FaceCompareService) Compare() *CompareOnce{
+func (sv *FaceCompareService) CompareVideoPersons() *CompareList{
+ sv.CompareArgs.TableIds = []string { CaptureTable }
b, err := proto.Marshal(&sv.CompareArgs)
- compServerList := config.CompServerInfo.Url
- logger.Debug("compServerList:", compServerList)
- //1.鍚戝悇涓猚ompare杩涚▼鍙戣捣璇锋眰鎷垮埌姣斿缁撴灉
- resultList :=make([]*protomsg.SdkCompareEach,0)
- for _,str :=range compServerList{
- reqUrl := "tcp://"+str
+ esCompServerList := config.EsCompServerInfo.Ips
+ logger.Debug("compServerList:", esCompServerList)
+ //1.鍚戝悇涓狤s compare杩涚▼鍙戣捣璇锋眰鎷垮埌姣斿缁撴灉
+ var resultList CompareList
+
+ for _,str :=range esCompServerList{
+ reqUrl := "tcp://"+str + ":"+strconv.Itoa(config.EsCompServerInfo.Port)
resultB := doCompareRequest(reqUrl,b)
if resultB == nil || len(*resultB) ==0 {
continue
}
var sdkCompResult protomsg.SdkCompareResult
- //rList :=make([]protomsg.Esinfo,0)
+
err = proto.Unmarshal(*resultB, &sdkCompResult)
if err !=nil {
logger.Debug("comp sdkCompareResult unmarshal err:", err)
@@ -96,19 +89,41 @@
logger.Debug("comp len(rList):", len(sdkCompResult.CompareResult))
if len(sdkCompResult.CompareResult) >0 {
resultList = append(resultList, sdkCompResult.CompareResult...)
- //resultList = append(resultList, FillDataToCompareResult(&sdkCompResult)...)
}
}
logger.Debug("comp totalList.len:", len(resultList))
- //2.缂撳瓨姣斿缁撴灉
- co := &CompareOnce{
- CompareNum: sv.CompareNum,
- CompareData: &resultList,
- }
- SetCompResultByNum(co)
+ return &resultList
+}
- return co
+//姣斿搴曞簱
+func (sv *FaceCompareService) CompareDbPersons() *CompareList{
+ b, err := proto.Marshal(&sv.CompareArgs)
+ dbPersonCompServerUrl := config.DbPersonCompInfo.Ip
+ logger.Debug("comp Server url:", dbPersonCompServerUrl)
+
+ var resultList CompareList
+
+ reqUrl := "tcp://"+dbPersonCompServerUrl+":"+strconv.Itoa(config.DbPersonCompInfo.Port)
+ resultB := doCompareRequest(reqUrl,b)
+ if resultB == nil || len(*resultB) ==0 {
+ return nil
+ }
+ var sdkCompResult protomsg.SdkCompareResult
+ err = proto.Unmarshal(*resultB, &sdkCompResult)
+ if err !=nil {
+ logger.Debug("comp sdkCompareResult unmarshal err:", err)
+ return nil
+ }
+
+ logger.Debug("comp len(rList):", len(sdkCompResult.CompareResult))
+ if len(sdkCompResult.CompareResult) >0 {
+ resultList = append(resultList, sdkCompResult.CompareResult...)
+ }
+
+ logger.Debug("comp totalList.len:", len(resultList))
+
+ return &resultList
}
func doCompareRequest(url string,args []byte) *[]byte{
--
Gitblit v1.8.0