From f695fa17fce26c0266ff682622d761767a8dcbfa Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 20 十一月 2024 17:06:01 +0800
Subject: [PATCH] 1、优化代码; 2、增加一个统计状态:离线升级失败状态。
---
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java | 7 +++++--
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnit.java | 2 +-
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java | 18 +++++++++++-------
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java | 20 +++++++++++---------
4 files changed, 28 insertions(+), 19 deletions(-)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java
index 115b945..f1983e7 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java
@@ -16,8 +16,9 @@
public int runningTotal ;//鎵�鏈夋鍦ㄥ崌绾�
public int overTotal ;//鎵�鏈夌粨鏉燂紙鍖呮嫭鎴愬姛涓庢墍鏈夊け璐ワ級
public int successTotal ;//鎵�鏈夋垚鍔�
- public int failTotal ;//鎵�鏈夊け璐�
+ public int failTotal ;//鎵�鏈夊け璐ワ紙涓�鍖呮澶辫触+澶氬寘姝诲け璐�+绂荤嚎澶辫触锛�
public int failOneTotal ;//鎵�鏈変竴鍖呮澶辫触
+ public int failOffTotal ;//鎵�鏈夌绾垮け璐�
public Boolean allOver ;//鎵�鏈夐兘缁撴潫锛坱rue:鏄紝false:鍚︼級
@@ -34,6 +35,7 @@
this.successTotal = 0;
this.failTotal = 0;
this.failOneTotal = 0;
+ this.failOffTotal = 0;
this.allOver = false ;
}
@@ -47,7 +49,8 @@
sb.append(" \n宸茬粨鏉熸�绘暟锛�" + overTotal) ;
sb.append(" \n鎴愬姛鎬绘暟锛�" + successTotal) ;
sb.append(" \n澶辫触鎬绘暟锛�" + failTotal) ;
- sb.append(" \n1鍖呮鎬绘暟锛�" + failOneTotal) ;
+ sb.append(" \n1鍖呮澶辫触鎬绘暟锛�" + failOneTotal) ;
+ sb.append(" \n绂荤嚎澶辫触鎬绘暟锛�" + failOffTotal) ;
sb.append(" \n鍏ㄧ粨鏉燂細" + allOver) ;
return sb.toString() ;
}
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java
index 09b5f9b..c2e0801 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java
@@ -75,10 +75,13 @@
}
/**
- * 缁撴潫褰撳墠鍗囩骇浠诲姟
+ * 寮哄埗缁撴潫褰撳墠鍗囩骇浠诲姟锛�
+ * 姝ゅ姛鑳藉彲鑳戒笉浼氬紑鏀惧嚭鍘伙紝
+ * 鍥犱负寮哄埗缁撴潫鍗囩骇浠诲姟锛屽涓�涓湭鍗囩骇瀹屾垚鐨凴TU灏变細鍗℃锛�
+ * 鎵�浠ュ綋寮哄埗缁撴潫鍗囩骇浠诲姟锛屼唬鐮侀�昏緫骞舵病鏈夊己鍒剁粨鏋淩TU鍗囩骇杩囩▼锛屽鏋滃崌绾ц繃绋嬩篃寮哄埗鍋滄锛岄偅涔圧TU鐪熶細鍗℃
* @throws Exception
*/
- public void overUpgradeTask() throws Exception {
+ public void forceOverUpgradeTask() throws Exception {
if(this.task != null){
this.stop();
this.task.forceOver();
@@ -193,20 +196,21 @@
if(!this.task.taskIsOver){
//鍗囩骇浠诲姟鏈畬鎴�
//宸ヤ綔1锛氬垽鏂槸鍚︽棤浠讳綍涓�涓猂TU杩涜杩囧崌绾э紝骞朵笖杈惧埌鏃堕檺锛屽垯璁や负褰撳墠鍗囩骇浠诲姟瀹屾垚
- int temp = this.task.countNoOneRtuUpgrade() ;
+ //-1:鏃犱竴RTU鍗囩骇涓旇秴鏃讹紝0锛氭棤RTU鍗囩骇浣嗘湭瓒呮椂绛夊緟锛�1鏈塕TU鍗囩骇姝e父鎵ц
+ int temp = this.task.countNoOneRtuUpgradeInDuration() ;
if(temp == -1){
this.task.taskIsOver = true ;
//浠诲姟宸茬粡瀹屾垚
this.stop();
}else if(temp == 1){
//宸ヤ綔2锛氱粺璁″綋鍓嶆鍦ㄥ崌绾х殑RTU鏁伴噺锛屼负鍚屾椂鍗囩骇鏁伴噺闄愬埗鍋氬噯澶�
- this.task.statisticsRunningRtuCount() ;
+ this.task.countRunningRtuCount() ;
- //宸ヤ綔3锛氱粺璁¢渶瑕佸崌绾т絾褰撳墠绂荤嚎RTU鐨勬儏鍐�
- this.task.statisticsOffRtuCountAndSet() ;
+ //宸ヤ綔3锛氱粺璁¢渶瑕佸崌绾т絾褰撳墠绂荤嚎RTU鐨勬儏鍐碉紝瓒呰繃鏃堕檺鐨勮澶囦负鍗囩骇瀹屾垚
+ this.task.countOffRtuAndSetIfOver() ;
//宸ヤ綔4锛氱粺璁℃槸鍚﹀叏閮ㄥ崌绾у畬鎴�
- this.task.taskIsOver = this.task.statisticsIsAllOver() ;
+ this.task.taskIsOver = this.task.countIsAllOver() ;
}else if(temp == 0){
//涓嶄綔涓�
}
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
index 68d6305..9c606ec 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
@@ -202,8 +202,7 @@
if(this.taskVo.rtuAddrList != null && this.taskVo.rtuAddrList.size() > 0){
state.rtuTotal = this.taskVo.rtuAddrList.size() ;
if(this.upgradeRtus != null && this.upgradeRtus.size() > 0){
- Collection<UpgradeRtu> col = this.upgradeRtus.values() ;
- for(UpgradeRtu info : col){
+ this.upgradeRtus.values().stream().forEach(info ->{
if(info.state == UpgradeRtu.STATE_OFFLINE){
state.offLineTotal ++ ;
}else if(info.state == UpgradeRtu.STATE_UNSTART){
@@ -212,16 +211,19 @@
state.runningTotal ++ ;
}else if(info.state == UpgradeRtu.STATE_SUCCESS) {
state.successTotal++;
+ }else if(info.state == UpgradeRtu.STATE_FAIL) {
+ state.failTotal++;
}else if(info.state == UpgradeRtu.STATE_FAILONE) {
state.failOneTotal++;
state.failTotal++;
- }else if(info.state == UpgradeRtu.STATE_FAIL) {
+ }else if(info.state == UpgradeRtu.STATE_FAILOFFLINE) {
state.failTotal++;
+ state.failOffTotal++;
}
if(info.isOver){
state.overTotal++;
}
- }
+ });
}
}
return state ;
@@ -271,7 +273,7 @@
* 鍒ゆ柇鏄惁娌$敤浠讳綍涓�涓猂TU杩涜杩囧崌绾э紝鑰屼笖瓒呰繃浜嗘椂闄�
* @return -1:鏃犱竴RTU鍗囩骇涓旇秴鏃讹紝0锛氭棤RTU鍗囩骇浣嗘湭瓒呮椂绛夊緟锛�1鏈塕TU鍗囩骇姝e父鎵ц
*/
- protected int countNoOneRtuUpgrade(){
+ protected int countNoOneRtuUpgradeInDuration(){
if(this.upgradeRtus == null || upgradeRtus.size() == 0){
//褰撳墠娌℃湁浠讳綍涓�涓澶囪繘琛岃繃鍗囩骇
Long now = System.currentTimeMillis() ;
@@ -297,7 +299,7 @@
/**
* 缁熻褰撳墠姝e湪鍗囩骇鐨凴TU鏁伴噺锛屼负鍚屾椂鍗囩骇鏁伴噺闄愬埗鍋氬噯澶�
*/
- protected void statisticsRunningRtuCount(){
+ protected void countRunningRtuCount(){
int runningTotal = 0 ;
Collection<UpgradeRtu> col = this.upgradeRtus.values() ;
for(UpgradeRtu info : col){
@@ -309,9 +311,9 @@
}
/**
- * 缁熻闇�瑕佸崌绾т絾褰撳墠绂荤嚎RTU鐨勬儏鍐�
+ * 缁熻闇�瑕佸崌绾т絾褰撳墠绂荤嚎RTU鐨勬儏鍐碉紝瓒呰繃鏃堕檺鐨勮澶囦负鍗囩骇瀹屾垚
*/
- protected void statisticsOffRtuCountAndSet() {
+ protected void countOffRtuAndSetIfOver() {
Long now = System.currentTimeMillis() ;
if(now - this.setupDtLong > UpgradeUnit.confVo.rtuOffLineWaitDuration){
//rtu绂荤嚎锛岀瓑寰呭叾鍗囩骇鐨勬椂闀�(姣)锛岃秴杩囬厤缃殑鏈�澶ф椂闀匡紝璁剧疆鍏跺崌绾уけ璐ワ紝涓旇缃崌绾т换鍔″畬鎴�
@@ -330,7 +332,7 @@
/**
* 缁熻鏄惁鍗囩骇鍏ㄩ儴缁撴潫
*/
- protected boolean statisticsIsAllOver() {
+ protected boolean countIsAllOver() {
if (this.taskVo.rtuAddrList != null && this.taskVo.rtuAddrList.size() > 0) {
Collection<UpgradeRtu> col = this.upgradeRtus.values() ;
for(UpgradeRtu info : col){
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnit.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnit.java
index e923f27..d2b8947 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnit.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnit.java
@@ -78,7 +78,7 @@
*/
public void overUpgradeTask() throws Exception {
if(manager != null ){
- manager.overUpgradeTask() ;
+ manager.forceOverUpgradeTask() ;
}
}
--
Gitblit v1.8.0