From dfcc46bc906e3e5040c74c2d0281f5b0c5d9987b Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期一, 05 八月 2019 13:27:02 +0800 Subject: [PATCH] 标签过滤器 --- labelFilter/req.go | 16 +++++++++------- main.go | 7 ++++--- labelFilter/readyDataForLabel.go | 1 - labelFilter/ruleForLabel.go | 12 ++++++++++-- 4 files changed, 23 insertions(+), 13 deletions(-) diff --git a/labelFilter/readyDataForLabel.go b/labelFilter/readyDataForLabel.go index b24aa1f..2ba5e07 100644 --- a/labelFilter/readyDataForLabel.go +++ b/labelFilter/readyDataForLabel.go @@ -32,7 +32,6 @@ for _,yoloGroup := range result.RuleResult["yolo"].([]ruleserver.Result) { label.DefenceLevel = append(label.DefenceLevel,yoloGroup.AlarmLevel) } - Judge(label,result) } // 浠庣紦瀛樹腑鏌ュ嚭鎵�鏈夌殑瑙勫垯鏁版嵁 diff --git a/labelFilter/req.go b/labelFilter/req.go index e69d233..fe5fb04 100644 --- a/labelFilter/req.go +++ b/labelFilter/req.go @@ -15,7 +15,6 @@ ) func Die(format string, v ...interface{}) { - fmt.Fprintln(os.Stderr, fmt.Sprintf(format, v...)) logger.Info("+++++++",format) os.Exit(1) } @@ -23,11 +22,12 @@ func date() string { return time.Now().Format(time.ANSIC) } - -func Node0(url string) { +var msgChan chan []byte +func Receive(url string) { var sock mangos.Socket var err error var msg []byte + msgChan = make(chan []byte,200) if sock, err = rep.NewSocket(); err != nil { Die("can't get new rep socket: %s", err) } @@ -39,11 +39,13 @@ for { // Could also use sock.RecvMsg to get header msg, err = sock.Recv() - if string(msg) == "DATE" { // no need to terminate - fmt.Println("NODE0: RECEIVED DATE REQUEST") + if msg != nil { // no need to terminate + fmt.Println("Received Data request") + // 鎶婃敹鍒扮殑msg濉炶繘閫氶亾 + msgChan <- msg + // 缁欏彂閫佺▼搴忓弽棣堜俊鎭� d := date() - fmt.Printf("NODE0: SENDING DATE %s\n", d) - err = sock.Send([]byte(d)) + err = sock.Send([]byte("Received Data, --"+d)) if err != nil { Die("can't send reply: %s", err.Error()) } diff --git a/labelFilter/ruleForLabel.go b/labelFilter/ruleForLabel.go index ccc3cf5..e3bef8e 100644 --- a/labelFilter/ruleForLabel.go +++ b/labelFilter/ruleForLabel.go @@ -4,13 +4,17 @@ "basic.com/dbapi.git" "basic.com/pubsub/protomsg.git" "github.com/knetic/govaluate" + "os" "ruleprocess/logger" "ruleprocess/ruleserver" "strconv" "time" ) -func Judge(label *Label, result ruleserver.ResultMsg){ +func Judge(result ruleserver.ResultMsg){ + // 瑁呴厤鎴愯嚜宸卞彲浠ヨ瘑鍒殑鏁版嵁 + label := new(Label) + label.DataFormatToLabel(result) //鎷垮埌鎵�鏈夎鍒欑粍 var api dbapi.EventPushApi b,allRules := api.FindAllDetails() @@ -63,8 +67,10 @@ logger.Info("閫氳繃瑙勫垯锛岃〃杈惧紡涓猴細",result) // 鎺ㄩ�佹湇鍔″櫒 pushData(ruleGroup.Urls,result.(ruleserver.ResultMsg)) + os.Exit(1) } else { logger.Info("娌¢�氳繃瑙勫垯,琛ㄨ揪寮忎负锛�",result) + os.Exit(1) } } } @@ -191,5 +197,7 @@ } // 璋冪敤鐩爣鏈嶅姟鍣ㄧ殑鎻掑叆鎺ュ彛 func pushData (urls []*protomsg.PushUrl, data ruleserver.ResultMsg){ - + for _,url := range urls { + Push(url.Url,data) + } } \ No newline at end of file diff --git a/main.go b/main.go index 736c650..1277c84 100644 --- a/main.go +++ b/main.go @@ -74,10 +74,11 @@ logger.Info("瑙f瀽鍑烘潵鐨勬暟鎹細", arg) ruleserver.Judge(&arg,&m) // 鎶妔dkMessage浼犺繘鍘伙紝鏂逛究缂撳瓨鏁版嵁鏃舵嫾鍑轰竴涓猺esultMag // 鎶奱rg閲岀殑鎵撶殑鏍囩鎷垮嚭鏉ョ粰m鍐嶅皝瑁呬竴灞� - resultMag := ruleserver.ResultMsg{SdkMessage: &m, RuleResult: arg.RuleResult} - //logger.Info("鎵撳畬鏍囩鍚庣殑缁撴灉锛�",resultMag) + resultMsg := ruleserver.ResultMsg{SdkMessage: &m, RuleResult: arg.RuleResult} // 灏嗘墦瀹屾爣绛剧殑鏁版嵁鎻掑叆鍒癊S - insertdata.InsertToEs(resultMag) + insertdata.InsertToEs(resultMsg) + //浜嬩欢鎺ㄩ�� + } } } -- Gitblit v1.8.0