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