From aaaea09c0ec71518310a753d120ec2c26f7f4038 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期四, 22 八月 2019 15:50:30 +0800 Subject: [PATCH] read soname from register --- algorithm/middleware/middleware.go | 23 ++++++++++++++--------- go.sum | 6 ++++++ cache/cache.go | 20 ++++++++++++++++++++ go.mod | 4 ++-- 4 files changed, 42 insertions(+), 11 deletions(-) diff --git a/algorithm/middleware/middleware.go b/algorithm/middleware/middleware.go index e0c31e5..5316a62 100644 --- a/algorithm/middleware/middleware.go +++ b/algorithm/middleware/middleware.go @@ -212,16 +212,21 @@ func CallSo(sdkId string,rule *protomsg.Rule, am *structure.AreaMap) structure.LittleRuleResult{ // 鏍规嵁sdkId鏌ュ嚭鍏跺搴旂殑sdk鐨剆oName锛岃皟鐢ㄧ浉搴攕o鐨凟ntrance鏂规硶 - 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) diff --git a/cache/cache.go b/cache/cache.go index a50f676..4827c70 100644 --- a/cache/cache.go +++ b/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() //鍒濆鍖杝dk鍒楄〃淇℃伅 + + 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") + } } \ No newline at end of file diff --git a/go.mod b/go.mod index 7e55bd2..4c9cf22 100644 --- a/go.mod +++ b/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 diff --git a/go.sum b/go.sum index e5cf3ce..39efd28 100644 --- a/go.sum +++ b/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= -- Gitblit v1.8.0