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