sunty
2019-08-01 f79f18bf3e65ad0eaf8fd1feb788bf792e362520
service/FaceCompareService.go
@@ -8,7 +8,6 @@
   "nanomsg.org/go-mangos/protocol/req"
   "nanomsg.org/go-mangos/transport/ipc"
   "nanomsg.org/go-mangos/transport/tcp"
   "sort"
   "sync"
   "webserver/extend/config"
   "webserver/extend/logger"
@@ -28,28 +27,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)
@@ -78,7 +68,8 @@
   compServerList := config.CompServerInfo.Url
   logger.Debug("compServerList:", compServerList)
   //1.向各个compare进程发起请求拿到比对结果
   resultList :=make([]*protomsg.SdkCompareEach,0)
   var resultList CompareList
   //resultList :=make([]*protomsg.SdkCompareEach,0)
   for _,str :=range compServerList{
      reqUrl := "tcp://"+str
      resultB := doCompareRequest(reqUrl,b)