panlei
2019-08-22 aaaea09c0ec71518310a753d120ec2c26f7f4038
read soname from register
4个文件已修改
53 ■■■■ 已修改文件
algorithm/middleware/middleware.go 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cache/cache.go 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
go.mod 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
go.sum 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
algorithm/middleware/middleware.go
@@ -212,16 +212,21 @@
func CallSo(sdkId string,rule *protomsg.Rule, am *structure.AreaMap) structure.LittleRuleResult{
    // 根据sdkId查出其对应的sdk的soName,调用相应so的Entrance方法
    var soName = ""
    if sdkId == "812b674b-2375-4589-919a-5c1c3278a97e" {
        soName = "face.so"
    } else if sdkId == "812b674b-2375-4589-919a-5c1c3278a975"{
        soName = "intrusion.so"
    } else if sdkId == "812b674b-2375-4589-919a-5c1c3278a976" {
        soName = "personUnsual.so"
    } else if sdkId == "812b674b-2375-4589-919a-5c1c3278a972" {
        soName = "faceCompare.so"
    //var soName = ""
    //if sdkId == "812b674b-2375-4589-919a-5c1c3278a97e" {
    //    soName = "face.so"
    //} else if sdkId == "812b674b-2375-4589-919a-5c1c3278a975"{
    //    soName = "intrusion.so"
    //} else if sdkId == "812b674b-2375-4589-919a-5c1c3278a976" {
    //    soName = "personUnsual.so"
    //} else if sdkId == "812b674b-2375-4589-919a-5c1c3278a972" {
    //    soName = "faceCompare.so"
    //}
    soInfo,errr := cache.GetSoInfoById(sdkId)
    if errr != nil {
        panic("没读到注册表")
    }
    soName := soInfo.SoName
    p,err :=  plugin.Open("./algorithm/"+soName)
    if err != nil {
        panic(err)
cache/cache.go
@@ -18,6 +18,7 @@
    PREFIX_RULE = "RULE_"
    SERVER_KEY = "SERVERINFO"
    PREFIX_SDK = "SDK_"
    PREFIX_SO = "SO"
)
var cMap *shardmap.ShardMap
@@ -53,6 +54,8 @@
    initServerInfo()//初始化服务器配置信息
    initSdks() //初始化sdk列表信息
    initSoData()
    initChan <- true
}
@@ -202,4 +205,21 @@
    } else {
        return sdk,errors.New("sdk not found")
    }
}
func initSoData() {
    var api dbapi.SoApi
    soinfos := api.FindAll()
    for _,soinfo :=range soinfos {
        cMap.Set(PREFIX_SO+soinfo.SdkId,soinfo)
    }
}
func GetSoInfoById(sdkId string) (sdk protomsg.SoInfo,err error){
    obj,b :=cMap.Get(PREFIX_SO + sdkId)
    if b {
        return obj.(protomsg.SoInfo),nil
    } else {
        return sdk,errors.New("sdk not found")
    }
}
go.mod
@@ -3,9 +3,9 @@
go 1.12
require (
    basic.com/dbapi.git v0.0.0-20190724082851-b6ae90344405
    basic.com/dbapi.git v0.0.0-20190822035835-8e0e9514983b
    basic.com/pubsub/cache.git v0.0.0-20190718093725-6a413e1d7d48
    basic.com/pubsub/protomsg.git v0.0.0-20190801122504-ad6c105f7a2b
    basic.com/pubsub/protomsg.git v0.0.0-20190822060153-dc8ca60fc531
    basic.com/pubsub/sdkcompare.git v0.0.0-20190715013640-f536a4647d00
    basic.com/valib/deliver.git v0.0.0-20190531095353-25d8c3b20051
    basic.com/valib/gopherdiscovery.git v0.0.0-20190605034340-15d89d8b4e28
go.sum
@@ -2,6 +2,8 @@
basic.com/dbapi.git v0.0.0-20190701055817-73bca225181f/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q=
basic.com/dbapi.git v0.0.0-20190724082851-b6ae90344405 h1:BJzdtGipKxQAaptrwUNOVQZ3Qx4jbeAf72wkqBmm5vE=
basic.com/dbapi.git v0.0.0-20190724082851-b6ae90344405/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q=
basic.com/dbapi.git v0.0.0-20190822035835-8e0e9514983b h1:rgPZYF2rIPESZo6zKWgRnP3nzslEY3ZMeWjr0CVIL2g=
basic.com/dbapi.git v0.0.0-20190822035835-8e0e9514983b/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q=
basic.com/pubsub/cache.git v0.0.0-20190712095028-e73efb4afc3b h1:UAasACFqEYUBCuZkkdxYVc1QmSyB7McvNHS36QxDJp4=
basic.com/pubsub/cache.git v0.0.0-20190712095028-e73efb4afc3b/go.mod h1:gHLJZz2ee1cGL0X0ae69fs56bAxkDgEQwDhhXZJNUcY=
basic.com/pubsub/cache.git v0.0.0-20190718024458-be52360c4814 h1:KoSik/aiJNDt3d+qRKExLW4pNHZ7vU1wXHhWXxZi4qo=
@@ -10,6 +12,10 @@
basic.com/pubsub/cache.git v0.0.0-20190718093725-6a413e1d7d48/go.mod h1:gHLJZz2ee1cGL0X0ae69fs56bAxkDgEQwDhhXZJNUcY=
basic.com/pubsub/protomsg.git v0.0.0-20190801122504-ad6c105f7a2b h1:2eskhTo22eo07AmAj3xVo31U/+qRFf6P1qhlfxoaFOc=
basic.com/pubsub/protomsg.git v0.0.0-20190801122504-ad6c105f7a2b/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
basic.com/pubsub/protomsg.git v0.0.0-20190821115153-4d63ce5655e6 h1:qusWXX8/w5kEzDRadRAlag956j72bcKvhaIEF/5f5k0=
basic.com/pubsub/protomsg.git v0.0.0-20190821115153-4d63ce5655e6/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
basic.com/pubsub/protomsg.git v0.0.0-20190822060153-dc8ca60fc531 h1:XsygHuAqvEovNNOiG80qLoV9OtdcN8IPP+xv/Ajx+Eg=
basic.com/pubsub/protomsg.git v0.0.0-20190822060153-dc8ca60fc531/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
basic.com/pubsub/sdkcompare.git v0.0.0-20190715013640-f536a4647d00 h1:sK+Tx7rvM9J2WnNIwrzMDjZSylWiKNfQO0prUBfKsDk=
basic.com/pubsub/sdkcompare.git v0.0.0-20190715013640-f536a4647d00/go.mod h1:8by33F9E1w17Pw/rDgJGJXAo122w0wDENG14hiMS+RE=
basic.com/valib/deliver.git v0.0.0-20190531095353-25d8c3b20051 h1:9flC2o3kasaM2Y6I+mY+mxmve/pyAY/UzGQZLT3lFHM=