Browse Source

1、调整数据库结构,status、log均添加manual_inspection字段,连接状态程序自动置空;2、调整status断数记录逻辑,持续disconn将不再刷新记录。

Jay Lee 6 years ago
parent
commit
12ece5e976

+ 40 - 8
collect/src/main/java/com/saga/thread/common/CheckThread.java

@@ -157,8 +157,11 @@ public class CheckThread extends Thread {
 			List<String> l = ps.getValue();
 			String status = this.gatherStatus(l);
 			try {
-				HBaseUtil.Insert_ps_virtual_project_status(Constant.agent, Constant.BuildingDB.get(project), project,
-						status, Constant.format(new Date()), "");
+				if ("conn".equalsIgnoreCase(status)) {
+					HBaseUtil.Insert_ps_virtual_project_status(Constant.agent, Constant.BuildingDB.get(project),
+							project, status, Constant.format(new Date()), "");
+				}
+
 				if (
 				// 首次
 				!this.projectStatus.containsKey(project) || null == this.projectStatus.get(project) ||
@@ -167,6 +170,10 @@ public class CheckThread extends Thread {
 
 					HBaseUtil.Insert_ps_virtual_project_log(Constant.agent, Constant.BuildingDB.get(project), project,
 							Constant.format(new Date()), status);
+					if ("disconn".equalsIgnoreCase(status)) {
+						HBaseUtil.Insert_ps_virtual_project_status(Constant.agent, Constant.BuildingDB.get(project),
+								project, status, Constant.format(new Date()), "");
+					}
 				}
 			} catch (Exception e) {
 				// TODO Auto-generated catch block
@@ -186,8 +193,11 @@ public class CheckThread extends Thread {
 			String project = ml[0];
 			String meter = ml[1];
 			try {
-				HBaseUtil.Insert_ps_virtual_meter_status(Constant.agent, Constant.BuildingDB.get(project), project,
-						meter, "up", status, Constant.format(new Date()), "");
+				if ("conn".equalsIgnoreCase(status)) {
+					HBaseUtil.Insert_ps_virtual_meter_status(Constant.agent, Constant.BuildingDB.get(project), project,
+							meter, "up", status, Constant.format(new Date()), "");
+				}
+
 				if (
 				// 首次
 				!this.meterStatus.containsKey(pm) || null == this.meterStatus.get(pm) ||
@@ -196,6 +206,10 @@ public class CheckThread extends Thread {
 
 					HBaseUtil.Insert_ps_virtual_meter_log(Constant.agent, Constant.BuildingDB.get(project), project,
 							meter, "up", Constant.format(new Date()), status);
+					if ("disconn".equalsIgnoreCase(status)) {
+						HBaseUtil.Insert_ps_virtual_meter_status(Constant.agent, Constant.BuildingDB.get(project),
+								project, meter, "up", status, Constant.format(new Date()), "");
+					}
 				}
 			} catch (Exception e) {
 				// TODO Auto-generated catch block
@@ -232,8 +246,11 @@ public class CheckThread extends Thread {
 				}
 			}
 			try {
-				HBaseUtil.Insert_ps_physical_status(Constant.agent, Constant.BuildingDB.get(project), project,
-						address_1, address_2, address_3, address_4, status, Constant.format(new Date()), "");
+				if ("conn".equalsIgnoreCase(status)) {
+					HBaseUtil.Insert_ps_physical_status(Constant.agent, Constant.BuildingDB.get(project), project,
+							address_1, address_2, address_3, address_4, status, Constant.format(new Date()), "");
+				}
+
 				if (
 				// 首次
 				!this.physicalStatus.containsKey(physical) || null == this.physicalStatus.get(physical) ||
@@ -242,6 +259,10 @@ public class CheckThread extends Thread {
 
 					HBaseUtil.Insert_ps_physical_log(Constant.agent, Constant.BuildingDB.get(project), project,
 							address_1, address_2, address_3, address_4, Constant.format(new Date()), status);
+					if ("disconn".equalsIgnoreCase(status)) {
+						HBaseUtil.Insert_ps_physical_status(Constant.agent, Constant.BuildingDB.get(project), project,
+								address_1, address_2, address_3, address_4, status, Constant.format(new Date()), "");
+					}
 				}
 			} catch (Exception e) {
 				// TODO Auto-generated catch block
@@ -420,8 +441,11 @@ public class CheckThread extends Thread {
 					status = "disconn";
 
 				}
-				this.Insert_ps_virtual_point_status(building, meter, Long.valueOf(funcid), "up", status,
-						pointUp.getValue(), "");
+				if ("conn".equalsIgnoreCase(status)) {
+					this.Insert_ps_virtual_point_status(building, meter, Long.valueOf(funcid), "up", status,
+							pointUp.getValue(), "");
+				}
+
 				if (
 				// 首次
 				!this.pointStatus.containsKey(pointUp.getKey()) || null == this.pointStatus.get(pointUp.getKey()))
@@ -429,6 +453,10 @@ public class CheckThread extends Thread {
 				{
 					this.Insert_ps_virtual_point_log(building, meter, Long.valueOf(funcid), "up",
 							System.currentTimeMillis(), 0l, status, "");
+					if ("disconn".equalsIgnoreCase(status)) {
+						this.Insert_ps_virtual_point_status(building, meter, Long.valueOf(funcid), "up", status,
+								pointUp.getValue(), "");
+					}
 				} else if (
 				// 已有记录
 				(!status.equalsIgnoreCase(this.pointStatus.get(pointUp.getKey())))) {
@@ -438,6 +466,10 @@ public class CheckThread extends Thread {
 							int address = Constant.RecordAddress.get(building + "-" + point.replace(".", "-"));
 							this.Insert_ps_virtual_point_log(building, meter, Long.valueOf(funcid), "up",
 									pointUp.getValue(), Long.valueOf(Constant.RecordList.get(address).seq), status, "");
+							if ("disconn".equalsIgnoreCase(status)) {
+								this.Insert_ps_virtual_point_status(building, meter, Long.valueOf(funcid), "up", status,
+										pointUp.getValue(), "");
+							}
 						}
 					}
 				}

+ 24 - 0
collect/src/main/java/com/saga/util/HBaseUtil.java

@@ -771,6 +771,7 @@ public class HBaseUtil {
 		// 6 status String 状态 conn/disconn
 		// 7 receivetime String 时间 最近通讯时间
 		// 8 detail String 详情
+		// 9 manual_inspection String 人工检查记录
 
 		if (!tableExist(agent, DB, tableName)) {
 			JSONArray Columns = new JSONArray();
@@ -782,6 +783,7 @@ public class HBaseUtil {
 			Columns.add(CreateJSON("status", "String"));
 			Columns.add(CreateJSON("receivetime", "String"));
 			Columns.add(CreateJSON("detail", "String"));
+			Columns.add(CreateJSON("manual_inspection", "String"));
 
 			JSONArray Key = new JSONArray();
 			Key.add("project");
@@ -807,6 +809,7 @@ public class HBaseUtil {
 		// 5 address_4 String 四级地址 主键
 		// 6 receivetime String 时间 主键,触发时间
 		// 7 function String 通讯功能 主键,conn/disconn
+		// 8 manual_inspection String 人工检查记录
 
 		if (!tableExist(agent, DB, tableName)) {
 			JSONArray Columns = new JSONArray();
@@ -817,6 +820,7 @@ public class HBaseUtil {
 			Columns.add(CreateJSON("address_4", "String"));
 			Columns.add(CreateJSON("receivetime", "String"));
 			Columns.add(CreateJSON("function", "String"));
+			Columns.add(CreateJSON("manual_inspection", "String"));
 
 			JSONArray Key = new JSONArray();
 			Key.add("project");
@@ -845,6 +849,7 @@ public class HBaseUtil {
 		// 5 status String 状态
 		// 6 receivetime String 时间
 		// 7 detail String 详情
+		// 8 manual_inspection String 人工检查记录
 
 		if (!tableExist(agent, DB, tableName)) {
 			JSONArray Columns = new JSONArray();
@@ -855,6 +860,7 @@ public class HBaseUtil {
 			Columns.add(CreateJSON("status", "String"));
 			Columns.add(CreateJSON("receivetime", "String"));
 			Columns.add(CreateJSON("detail", "String"));
+			Columns.add(CreateJSON("manual_inspection", "String"));
 
 			JSONArray Key = new JSONArray();
 			Key.add("project");
@@ -887,6 +893,7 @@ public class HBaseUtil {
 		// 其中采集节点反馈标识,分两级,分别为:
 		// 1、success/fail
 		// 2、如success,该级空;如fail,则该级描述fail原因
+		// 9 manual_inspection String 人工检查记录
 
 		if (!tableExist(agent, DB, tableName)) {
 			JSONArray Columns = new JSONArray();
@@ -898,6 +905,7 @@ public class HBaseUtil {
 			Columns.add(CreateJSON("seq", "Long"));
 			Columns.add(CreateJSON("function", "String"));
 			Columns.add(CreateJSON("feedback", "String"));
+			Columns.add(CreateJSON("manual_inspection", "String"));
 
 			JSONArray Key = new JSONArray();
 			Key.add("project");
@@ -925,6 +933,7 @@ public class HBaseUtil {
 		// 4 status String 状态
 		// 5 receivetime String 时间
 		// 6 detail String 详情
+		// 7 manual_inspection String 人工检查记录
 
 		if (!tableExist(agent, DB, tableName)) {
 			JSONArray Columns = new JSONArray();
@@ -934,6 +943,7 @@ public class HBaseUtil {
 			Columns.add(CreateJSON("status", "String"));
 			Columns.add(CreateJSON("receivetime", "String"));
 			Columns.add(CreateJSON("detail", "String"));
+			Columns.add(CreateJSON("manual_inspection", "String"));
 
 			JSONArray Key = new JSONArray();
 			Key.add("project");
@@ -956,6 +966,7 @@ public class HBaseUtil {
 		// 3 updown String 上/下行 主键
 		// 4 receivetime String 时间 主键
 		// 5 function String 通讯功能 主键
+		// 6 manual_inspection String 人工检查记录
 
 		if (!tableExist(agent, DB, tableName)) {
 			JSONArray Columns = new JSONArray();
@@ -964,6 +975,7 @@ public class HBaseUtil {
 			Columns.add(CreateJSON("updown", "String"));
 			Columns.add(CreateJSON("receivetime", "String"));
 			Columns.add(CreateJSON("function", "String"));
+			Columns.add(CreateJSON("manual_inspection", "String"));
 
 			JSONArray Key = new JSONArray();
 			Key.add("project");
@@ -987,6 +999,7 @@ public class HBaseUtil {
 		// 2 status String 状态
 		// 3 receivetime String 时间
 		// 4 detail String 详情
+		// 5 manual_inspection String 人工检查记录
 
 		if (!tableExist(agent, DB, tableName)) {
 			JSONArray Columns = new JSONArray();
@@ -994,6 +1007,7 @@ public class HBaseUtil {
 			Columns.add(CreateJSON("status", "String"));
 			Columns.add(CreateJSON("receivetime", "String"));
 			Columns.add(CreateJSON("detail", "String"));
+			Columns.add(CreateJSON("manual_inspection", "String"));
 
 			JSONArray Key = new JSONArray();
 			Key.add("project");
@@ -1012,12 +1026,14 @@ public class HBaseUtil {
 		// 1 project String 项目名 主键
 		// 2 receivetime String 时间 主键
 		// 3 function String 通讯功能 主键
+		// 4 manual_inspection String 人工检查记录
 
 		if (!tableExist(agent, DB, tableName)) {
 			JSONArray Columns = new JSONArray();
 			Columns.add(CreateJSON("project", "String"));
 			Columns.add(CreateJSON("receivetime", "String"));
 			Columns.add(CreateJSON("function", "String"));
+			Columns.add(CreateJSON("manual_inspection", "String"));
 
 			JSONArray Key = new JSONArray();
 			Key.add("project");
@@ -1446,6 +1462,7 @@ public class HBaseUtil {
 		// 6 status String 状态 conn/disconn
 		// 7 receivetime String 时间 最近通讯时间
 		// 8 detail String 详情
+		// 9 manual_inspection String 人工检查记录
 		if (addressNull(address_1, address_2, address_3, address_4)) {
 			return;
 		}
@@ -1465,6 +1482,7 @@ public class HBaseUtil {
 				InsertObject.put("status", status);
 				InsertObject.put("receivetime", receivetime);
 				InsertObject.put("detail", detail);
+				InsertObject.put("manual_inspection", "");
 
 				InsertObjects.add(InsertObject);
 
@@ -1541,6 +1559,7 @@ public class HBaseUtil {
 		// 5 status String 状态
 		// 6 receivetime String 时间
 		// 7 detail String 详情
+		// 8 manual_inspection String 人工检查记录
 
 		JSONArray InsertObjects = new JSONArray();
 		try {
@@ -1557,6 +1576,7 @@ public class HBaseUtil {
 				InsertObject.put("status", status);
 				InsertObject.put("receivetime", receivetime);
 				InsertObject.put("detail", detail);
+				InsertObject.put("manual_inspection", "");
 
 				InsertObjects.add(InsertObject);
 
@@ -1638,6 +1658,7 @@ public class HBaseUtil {
 		// 4 status String 状态
 		// 5 receivetime String 时间
 		// 6 detail String 详情
+		// 7 manual_inspection String 人工检查记录
 
 		JSONArray InsertObjects = new JSONArray();
 		try {
@@ -1653,6 +1674,7 @@ public class HBaseUtil {
 				InsertObject.put("status", status);
 				InsertObject.put("receivetime", receivetime);
 				InsertObject.put("detail", detail);
+				InsertObject.put("manual_inspection", "");
 
 				InsertObjects.add(InsertObject);
 
@@ -1718,6 +1740,7 @@ public class HBaseUtil {
 		// 2 status String 状态
 		// 3 receivetime String 时间
 		// 4 detail String 详情
+		// 5 manual_inspection String 人工检查记录
 
 		JSONArray InsertObjects = new JSONArray();
 		try {
@@ -1731,6 +1754,7 @@ public class HBaseUtil {
 				InsertObject.put("status", status);
 				InsertObject.put("receivetime", receivetime);
 				InsertObject.put("detail", detail);
+				InsertObject.put("manual_inspection", "");
 
 				InsertObjects.add(InsertObject);