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