|
|
@@ -279,11 +279,11 @@ public class SiteDataWarnHandler {
|
|
|
}
|
|
|
if (code != ResponseCode.RESULT_NORMAL)
|
|
|
break;
|
|
|
-
|
|
|
if (!matched){//本次没有匹配成功
|
|
|
+ step = "This is not matched.";
|
|
|
thisTempStep.setLastCompareSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastCompareSampleResult(COMPARE_FALSE);
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is not matched.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
thisTempStep.setFirstMatchSampleTime(0L);
|
|
|
thisTempStep.setLastEventId("");
|
|
|
thisTempStep.setLastEventTime(0L);
|
|
|
@@ -291,48 +291,53 @@ public class SiteDataWarnHandler {
|
|
|
}//本次匹配成功进入下一步
|
|
|
|
|
|
if (thisTempStep.getLastCompareSampleResult() <= COMPARE_FALSE){//上一次没有匹配成功
|
|
|
+ step = "This is matched, but last is not matched.";
|
|
|
thisTempStep.setLastCompareSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
|
|
|
thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched, but last is not matched.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
continue;
|
|
|
}//上一次匹配成功了进入下一步
|
|
|
|
|
|
long triggerEventPeriodSwitch = planDetail.getFrequency()*planDetail.getThreshold()*TimeTool.MS_ONE_MIN;//触发预警事件的最小时长(单位:毫秒)
|
|
|
long diffMatch = sampleRecordTm-thisTempStep.getLastCompareSampleTime();//两个最近匹配样本之间的采集时间差(单位:毫秒)
|
|
|
if (diffMatch > triggerEventPeriodSwitch){//两个最近匹配样本间缺失的数据太多、或跨了天、或跨了时段,可认为重新计数
|
|
|
+ step = "This is matched, but two matched sample is too distance.";
|
|
|
thisTempStep.setLastCompareSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
|
|
|
thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastEventId("");
|
|
|
thisTempStep.setLastEventTime(0L);
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched, but two matched sample is too distance.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
continue;
|
|
|
}//两个最近匹配样本间隔很近,可认为是持续匹配,则进入下一步
|
|
|
|
|
|
if (thisTempStep.getLastCompareSampleTime() < thisTempStep.getConditionMinUTC()){//上一个匹配样本是非当前天的,可认为重新计数
|
|
|
+ step = "This is matched, but last is not today.";
|
|
|
thisTempStep.setLastCompareSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
|
|
|
thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastEventId("");
|
|
|
thisTempStep.setLastEventTime(0L);
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched, but last is not today.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
continue;
|
|
|
}//上一个匹配样本是当天的,则进入下一步
|
|
|
|
|
|
long matchLen = (thisTempStep.getFirstMatchSampleTime()<=0)?0:(sampleRecordTm-thisTempStep.getFirstMatchSampleTime());//样本匹配的持续时长(单位:毫秒)
|
|
|
if (StringUtils.isEmpty(thisTempStep.getLastEventId())){//之前无预警事件
|
|
|
if (matchLen < triggerEventPeriodSwitch){//还得持续等待,达不到触发事件的累计时长
|
|
|
+ step = "This is matched, but need wait the next matched.";
|
|
|
thisTempStep.setLastCompareSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched, but need wait the next matched.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
if (thisTempStep.getFirstMatchSampleTime() <= 0)
|
|
|
thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
|
|
|
}else {//触发一个新的事件
|
|
|
+ step = "This is matched, and will gen event.";
|
|
|
thisTempStep.setLastCompareSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
|
|
|
thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched, and will gen event.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
|
|
|
JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
|
|
|
newEvent2Gen.put(newEvent.getUid(), newEvent);
|
|
|
@@ -343,25 +348,26 @@ public class SiteDataWarnHandler {
|
|
|
}
|
|
|
}else {//之前有预警事件
|
|
|
if (planDetail.getMergeToEvent() == 0 || thisTempStep.getLastEventAction() >= EventAction.DONE){//之前的预警事件已处理,则可认为进行重新计数
|
|
|
+ step = "This is matched, but need to wait the next matched.";
|
|
|
thisTempStep.setLastCompareSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
|
|
|
thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastEventId("");
|
|
|
thisTempStep.setLastEventTime(0L);
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched, but need to wait the next matched.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
}else {//之前的预警事件未处理,则更新预警事件的样本截止时刻
|
|
|
+ step = "This is matched, but need to merge the last event.";
|
|
|
thisTempStep.setLastCompareSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
|
|
|
if (newEvent2Gen.containsKey(thisTempStep.getLastEventId())){
|
|
|
newEvent2Gen.get(thisTempStep.getLastEventId()).setToTime(sampleRecordTm);
|
|
|
}else
|
|
|
oldEvent2EndUTC.put(thisTempStep.getLastEventId(), sampleRecordTm);
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched, but need to merge the last event.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}while (false);
|
|
|
-
|
|
|
thisTempStep.setLastAnalyExplain(step);
|
|
|
Map<String, Object> updatePlan = thisTempStep.genUpdatePlan();
|
|
|
updatePlan.put(OrdWarnPlanInfoTable.W_INFO.VERSION, planDetail.getVersion()+1);
|
|
|
@@ -502,24 +508,27 @@ public class SiteDataWarnHandler {
|
|
|
break;
|
|
|
|
|
|
if (!matched){//本次没有匹配成功
|
|
|
+ step = "This is not matched.";
|
|
|
thisTempStep.setLastCompareSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastCompareSampleResult(COMPARE_FALSE);
|
|
|
thisTempStep.setFirstMatchSampleTime(0L);
|
|
|
thisTempStep.setLastEventId("");
|
|
|
thisTempStep.setLastEventTime(0L);
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is not matched.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
continue;
|
|
|
}//本次匹配成功进入下一步
|
|
|
|
|
|
long triggerEventPeriodSwitch = planDetail.getFrequency()*planDetail.getThreshold();//触发预警事件的最小时长(单位:小时)
|
|
|
if (thisTempStep.getLastCompareSampleResult() <= COMPARE_FALSE){//上一次没有匹配成功
|
|
|
+ step = "This is matched, but last is not matched.";
|
|
|
thisTempStep.setLastCompareSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
|
|
|
thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched, but last is not matched.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
if (triggerEventPeriodSwitch <= 1){//触发事件
|
|
|
+ step = "This is matched and trigger short period, it will gen event.";
|
|
|
thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched and trigger short period, it will gen event.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
|
|
|
JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
|
|
|
newEvent2Gen.put(newEvent.getUid(), newEvent);
|
|
|
@@ -532,13 +541,15 @@ public class SiteDataWarnHandler {
|
|
|
|
|
|
long diffMatch = (sampleRecordTm-thisTempStep.getLastCompareSampleTime())/TimeTool.MS_ONE_HOUR;//两个最近匹配样本之间的采集时间差(单位:小时)
|
|
|
if (diffMatch > triggerEventPeriodSwitch){//两个最近匹配样本间缺失的数据太多、或跨了天、或跨了时段,可认为重新计数
|
|
|
+ step = "This is matched, but two matched sample is too distance.";
|
|
|
thisTempStep.setLastCompareSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
|
|
|
thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched, but two matched sample is too distance.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
if (triggerEventPeriodSwitch <= 1){//触发事件
|
|
|
+ step = "This is matched and trigger short period, it will gen event.";
|
|
|
thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched and trigger short period, it will gen event.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
|
|
|
JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
|
|
|
newEvent2Gen.put(newEvent.getUid(), newEvent);
|
|
|
@@ -553,13 +564,15 @@ public class SiteDataWarnHandler {
|
|
|
}//两个最近匹配样本间隔很近,可认为是持续匹配,则进入下一步
|
|
|
|
|
|
if (thisTempStep.getLastCompareSampleTime() < thisTempStep.getConditionMinUTC()){//上一个匹配样本是非当前天的,可认为重新计数
|
|
|
+ step = "This is matched, but last is not today.";
|
|
|
thisTempStep.setLastCompareSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
|
|
|
thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched, but last is not today.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
if (triggerEventPeriodSwitch <= 1){//触发事件
|
|
|
+ step = "This is matched and trigger short period, it will gen event.";
|
|
|
thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched and trigger short period, it will gen event.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
|
|
|
JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
|
|
|
newEvent2Gen.put(newEvent.getUid(), newEvent);
|
|
|
@@ -576,14 +589,16 @@ public class SiteDataWarnHandler {
|
|
|
long matchLen = (thisTempStep.getFirstMatchSampleTime()<=0)?0:(((sampleRecordTm-thisTempStep.getFirstMatchSampleTime())/TimeTool.MS_ONE_HOUR)+1);//样本匹配的持续时长(单位:小时)
|
|
|
if (StringUtils.isEmpty(thisTempStep.getLastEventId())){//之前无预警事件
|
|
|
if (matchLen < triggerEventPeriodSwitch){//还得持续等待,达不到触发事件的累计时长
|
|
|
+ step = "This is matched, but need wait the next matched.";
|
|
|
thisTempStep.setLastCompareSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched, but need wait the next matched.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
if (thisTempStep.getFirstMatchSampleTime() <= 0){
|
|
|
thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
|
|
|
if (triggerEventPeriodSwitch <= 1){//补充触发事件
|
|
|
+ step = "This is matched and trigger short period, it will gen event.";
|
|
|
thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched and trigger short period, it will gen event.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
|
|
|
JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
|
|
|
newEvent2Gen.put(newEvent.getUid(), newEvent);
|
|
|
@@ -593,10 +608,11 @@ public class SiteDataWarnHandler {
|
|
|
}
|
|
|
}
|
|
|
}else {//触发一个新的事件
|
|
|
+ step = "This is matched, and will gen event.";
|
|
|
thisTempStep.setLastCompareSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
|
|
|
thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched, and will gen event.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
|
|
|
JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
|
|
|
newEvent2Gen.put(newEvent.getUid(), newEvent);
|
|
|
@@ -607,13 +623,15 @@ public class SiteDataWarnHandler {
|
|
|
}
|
|
|
}else {//之前有预警事件
|
|
|
if (planDetail.getMergeToEvent() == 0 || thisTempStep.getLastEventAction() >= EventAction.DONE){//之前的预警事件已处理,则可认为进行重新计数
|
|
|
+ step = "This is matched, but need to wait the next matched.";
|
|
|
thisTempStep.setLastCompareSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
|
|
|
thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched, but need to wait the next matched.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
if (triggerEventPeriodSwitch <= 1){//触发事件
|
|
|
+ step = "This is matched and trigger short period, it will gen event.";
|
|
|
thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched and trigger short period, it will gen event.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
|
|
|
JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
|
|
|
newEvent2Gen.put(newEvent.getUid(), newEvent);
|
|
|
@@ -625,13 +643,14 @@ public class SiteDataWarnHandler {
|
|
|
thisTempStep.setLastEventTime(0L);
|
|
|
}
|
|
|
}else {//之前的预警事件未处理,则更新预警事件的样本截止时刻
|
|
|
+ step = "This is matched, but need to merge the last event.";
|
|
|
thisTempStep.setLastCompareSampleTime(sampleRecordTm);
|
|
|
thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
|
|
|
if (newEvent2Gen.containsKey(thisTempStep.getLastEventId())){
|
|
|
newEvent2Gen.get(thisTempStep.getLastEventId()).setToTime(sampleRecordTm);
|
|
|
}else
|
|
|
oldEvent2EndUTC.put(thisTempStep.getLastEventId(), sampleRecordTm);
|
|
|
- thisTempStep.setLastCompareSampleExplain("This is matched, but need to merge the last event.");
|
|
|
+ thisTempStep.setLastCompareSampleExplain(step);
|
|
|
}
|
|
|
}
|
|
|
}
|