panlei
2019-12-13 34eb10fac7b0cc8ff4f081e9bf1ac8a3124fe0c5
去掉置信度阀门
5个文件已修改
72 ■■■■ 已修改文件
algorithm/middleware/middleware.go 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
algorithm/middleware/readyData.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
labelFilter/req.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruleserver/readyDataForRule.go 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruleserver/server.go 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
algorithm/middleware/middleware.go
@@ -18,6 +18,38 @@
    resultSplice := []*structure.LittleRuleResult{}
    sdkNames := ""
    polygonId := ""
    // 这步过的是时间段规则(时间段等)
    for j := 0; j < len(groupRule.Rules); j++ {
        for _, sdkData := range args.Sdkdata {
            sdk, err := cache.GetSdkById(groupRule.Rules[j].SdkId)
            if err != nil {
                logger.Error("没查到sdk的信息---", err)
            }
            ipcId := sdk.IpcId
            sdkName := sdk.SdkName
            if ipcId == sdkData.IpcId {
                for _, areaMap := range sdkData.AreaMapList {
                    ruleResult := timeRuleResult(groupRule.Rules[j], areaMap)
                    if ruleResult.Result != "" {
                        if strings.Contains(ruleResult.Result, "false") {
                            return false,"",""  // 不符合时间规则的话直接返回,不再浪费程序执行
                        }
                        if strings.Contains(ruleResult.Result, "true") {
                            areaMap.IsEffective = true
                        }
                        logger.Info("时间规则结果:", ruleResult.Result)
                        if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) {
                            sdkNames = sdkName + " "
                        }
                        if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(polygonId, groupRule.Rules[j].PolygonId) {
                            polygonId += groupRule.Rules[j].PolygonId + ","
                        }
                        resultSplice = append(resultSplice, &ruleResult)
                    }
                }
            }
        }
    }
    // 先过完条件规则
    for j := 0; j < len(groupRule.Rules); j++ {
@@ -200,35 +232,7 @@
            }
        }
    }
    // 这步过的是时间段规则(时间段等)
    for j := 0; j < len(groupRule.Rules); j++ {
        for _, sdkData := range args.Sdkdata {
            sdk, err := cache.GetSdkById(groupRule.Rules[j].SdkId)
            if err != nil {
                logger.Error("没查到sdk的信息---", err)
            }
            ipcId := sdk.IpcId
            sdkName := sdk.SdkName
            if ipcId == sdkData.IpcId {
                for _, areaMap := range sdkData.AreaMapList {
                    ruleResult := timeRuleResult(groupRule.Rules[j], areaMap)
                    if ruleResult.Result != "" {
                        if strings.Contains(ruleResult.Result, "true") {
                            areaMap.IsEffective = true
                        }
                        logger.Info("时间规则结果:", ruleResult.Result)
                        if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) {
                            sdkNames = sdkName + " "
                        }
                        if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(polygonId, groupRule.Rules[j].PolygonId) {
                            polygonId += groupRule.Rules[j].PolygonId + ","
                        }
                        resultSplice = append(resultSplice, &ruleResult)
                    }
                }
            }
        }
    }
    // 将数组按sort排序
    sort.Sort(ruleserver.ResultList(resultSplice))
    // 排序后取各自的结果和连接符拼出规则表达式得出结果
algorithm/middleware/readyData.go
@@ -21,7 +21,7 @@
func CountAreaObjs(a *structure.AreaMap,arg *structure.SdkData) {
    a.TargetNum = 0
    threshold := 70.0       // 相似度
    threshold := 0.0       // 相似度
    intersectionper := 20.0 // 占比
    size := 0.0            // 尺寸
labelFilter/req.go
@@ -156,7 +156,7 @@
                }
            }(data)
        default:
            time.Sleep(time.Millisecond * 10)
        }
    }
    sock.Close()
ruleserver/readyDataForRule.go
@@ -280,7 +280,7 @@
    //if sock, err = req.NewSocket(); err != nil {
    //    logger.Error("创建请求socket失败: %s", err.Error())
    //}
    errSize := sock.SetOption(mangos.OptionMaxRecvSize,5*1024*1024)
    errSize := sock.SetOption(mangos.OptionMaxRecvSize,10*1024*1024)
    if errSize != nil {
        logger.Error("Failed set MaxRecvSize: %v", err)
        return nil
@@ -356,7 +356,7 @@
            logger.Debug("数据推送成功!收到响应,数据长度为:",len(msg))
            receiver <- msg
        default:
            time.Sleep(10 * time.Millisecond)
        }
    }
}
ruleserver/server.go
@@ -43,6 +43,8 @@
        select {
        case dbMsg := <-videotapChan:
            publishMessage(dbMsg)
        default:
            time.Sleep(time.Millisecond * 10)
        }
    }
}