TW201142708A - Method and system for implementing software system hot deployment - Google Patents

Method and system for implementing software system hot deployment Download PDF

Info

Publication number
TW201142708A
TW201142708A TW99117424A TW99117424A TW201142708A TW 201142708 A TW201142708 A TW 201142708A TW 99117424 A TW99117424 A TW 99117424A TW 99117424 A TW99117424 A TW 99117424A TW 201142708 A TW201142708 A TW 201142708A
Authority
TW
Taiwan
Prior art keywords
processing
business
processing engine
service
engine
Prior art date
Application number
TW99117424A
Other languages
Chinese (zh)
Other versions
TWI494855B (en
Inventor
zhan-tao You
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to TW099117424A priority Critical patent/TWI494855B/en
Publication of TW201142708A publication Critical patent/TW201142708A/en
Application granted granted Critical
Publication of TWI494855B publication Critical patent/TWI494855B/en

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

A method and a system for implementing software system hot deployment are applied in completing hot deployment of the core business in a software processing system, the method comprising: (1) setting up a first business processing engine and a second business processing engine in the software system to handle core business, the first business processing engine is connected to the corresponding first business rules storage unit, the second business processing engine is connected to the corresponding second business rules storage unit; (2) setting one of the first and second business processing engines in a running state, another in a wait state; (3) when the processing setting of software system changes, update the corresponding processing setting of the business processing engine in a wait state; and (4) setting the business processing engine in a wait state to be in a running state, and the business processing engine originally in a running state is set to be in a wait state. The present invention truly realizes dynamic update for software system core business, improves system availability, and effectively reduces upgrade costs.

Description

201142708 六、發明說明: 【發明所屬之技術領域】 本請案關於一種熱部署的方法及系統,尤其關於一種 熱部署時不停止對外提供服務的軟體系統熱部署的方法及 系統。 【先前技術】 對於大型的業務關鍵型系統,如金融系統、電子商務 系統等,系統可用性是一個非常關鍵的指標,通常需要24 小時不間斷服務。系統一旦停止,就有可能會帶來巨大的 損失。然而’這類系統的業務規則又複雜多變,經常需要 進行各種各樣的升級,在業務規則發生變化時,需要重新 啓動系統來進行系統升級,這樣就極大的降低了系統可用 性。 爲了避免在系統升級時重新啓動系統進而造成損失, 實現軟體系統熱部署的方法應運而生,所謂熱部署是指在 軟體系統運行時升級軟體,而不需要重新啓動系統。在申 請號爲200610123883.0的中國專利中提到—種實現熱部 署的方法’就是將升級前的伺服器進行備份,同時對外提 供服務’等升級完畢後再切換到升級後的w e b伺服器,從 而對外表現爲熱部署。這種實現熱部署的方法需要提供兩 台伺服器來實現熱部署。 在上述的專利申請文件中,還揭示了—種實現熱部署 的方法。現介紹如下: -5- 201142708 在現有系統通常採用的基於流覽器/伺服器( Browser/Server,簡稱Β/S)架構的平臺中,一般採用基於 Java的Web伺服器,該伺服器採用MVC架構(model ( 模式)、view (視圖)、control (控制))模式,就是將 其分爲以下幾個層次:視圖層、控制層和模式層。其中: 視圖層:爲用戶交互介面,也就是Web的介面。視圖 層一般都是靜態的文字檔案或JSP ( Java Server Page,簡稱 JSP )頁面,根據JavaEE的規範,如果它們被修改,不需 要重新啓動Web應用就可以生效。 控制層:用於從用戶接收請求,將模式層和視圖層進 行匹配,共同完成用戶的請求。由於這部分與業務邏輯無 關,僅僅是對視圖層請求的轉發至相應的模型層處理,因 此控制層的變化僅僅在轉發的配置上,轉發規則上基本不 會發生變化。如果轉發的配置發生改變,只需要重新載入 一下配置檔就可以完成,而不需要重啓。 模式層:用於業務流程/狀態的處理以及業務規則的 制定,是業務邏輯模組。在傳統的Web服務端,所有的模 式層都被載入至同一個Web應用的類載入器中。因此要更 新已載入的類,就需要重新載入Web應用的類載入器,這 就導致了添加\更新、刪除模組要重新啓動Web應用。而 申請號爲 2006 1 0 1 23883.0中揭示的方案是在傳統的基於 MVC的Web伺服器端,將開放式服務閘道架構於Β/S架 構伺服器端,並將Β/S架構伺服器端的模式層置於開放式 服務閘道架構的各個子模組中,由於開放式服務閘道架構 -6 - 201142708 的各個子模組都具有自己的類載入器,在某個模組 化的時候,僅僅需要重新啓動模組自身的類載入器 從而避免重新啓動Web應用的類載入器,因而使 應用的類載入器的熱部署得以實現。上述實現熱部 式雖然能夠實現熱部署,但是,還是存在以下的問 第一種將整個伺服器備份爲另一個伺服器來實 署的方法,需要增設新的伺服器,由此增加成本。 第二種引入開放式服務閘道架構來實現熱部署 將模式層設置在開放式服務閘道架構的各個子模組 當模式層發生改變時,雖然web應用的類載入器能 熱部署,但是開放式服務閘道架構的各個子模組同 重新啓動,不能完全意義上實現熱部署。而且,需 有的系統進行大量的改動,存在穩定性不高,安全 問.題,只適合在沒有運行的業務系統上適用,不適 運行的系統上的應用。 也就是說,在成本低且改動小的情況下,現有 系統中不停機的情況下如何進行軟體更新是目前還 決的課題。. 【發明內容】 本案的目的在於提供一種實現軟體系統熱部署 ’以解決現有技術中系統升級時不能對外提供服務 成本高、穩定性不高的技術問題。 本案的另一目的在於提供一種實現軟體系統熱 發生變 即可, 1 Web 署的方 I : 現熱部 ,需要 當中, 夠實現 樣需要 要對現 性差的 合現已 的軟體 需要解 的方法 且升級 部署的 201142708 系統,以解決現有技術中系統升級時不能對外提供服務且 升級成本高、穩定性不高的技術問題。 一種實現軟體系統熱部署的系統,包括伺服器和資料 庫,該伺服器與該資料庫連接, 該資料庫進一步包括: 第一業務規則儲存單元:用於儲存業務規則; 第二業務規則儲存單元:用於儲存業務規則; 該伺服器進一步包括: 第一業務處理引擎,連接第一業務規則儲存單元,用 於當其處於運行狀態時,判斷接收到的業務處理請求是否 符合第一業務規則儲存單元儲存的規則;當其處於等待狀 態時,檢測到軟體系統的處理設置發生變化時,先直接更 新對應的設置,再將本業務處理引擎設置爲運行狀態; 第二業務處理引擎,連接第二業務規則儲存單元,用 於當其處於運行狀態時,判斷接收到的業務處理請求是否 符合第一業務規則儲存單元儲存的規則;當其處於等待狀 態時,檢測到軟體系統的處理設置發生變化時,先直接更 新對應的設置,再將本業務處理引擎設置爲運行狀態; 並且,第一業務處理引擎/第二業務處理引擎始終是 一個處於運行狀態,一個處於等待狀態。 檢測到軟體系統的處理設置發生變化時,先直接更新 對應的設置進一步包括: 檢測對應的業務規則儲存單元儲存的規則是否發生變 化,若是,則直接更新對應的業務規則儲存單元。 -8 - 201142708 檢測到軟體系統的處理設置發生變化時,先直接更新 對應的設置進一步包括: 檢測本業務處理引擎的處理設置是否發生變化,若是 ,則直接更新本業務處理引擎。 另外,本系統還包括: 輸入資料處理單元,分別連接第一業務處理引擎和第 二業務處理引擎,用於接收業務處理請求,並將業務處理 請求發送至處於運行狀態的業務處理引擎; 輸出資料處理單元:分別連接第一業務處理引擎和第 二業務處理引擎,用於接收處於運行狀態的業務處理引擎 輸出業務處理結果。 還有,第一業務處理引擎/第二業務處理引擎進一步 包括: 業務處理單元:分別連接輸入資料處理單元和輸出資 料處理單元,用於判斷從輸入資料處理單元接收到的業務 處理請求是否符合對應業務規則儲存單元儲存的規則,並 將結果輸出至輸出資料處理單元; 掃描處理單元,用於檢測對應的業務規則儲存單元儲 存的業務規則是否發生變化和/或本處理引擎的處理設置 是否發生變化; 更新處理單元:用於直接更新對應的業務規則儲存單 元儲存的規則和/或更新本處理引擎; 交換處理單元:用於當本業務處理引擎處於等待狀態 時’在接收到更新處理單元的更新信號後向另一業務處理 -9 - 201142708 引擎發送下線通知,再將本業務處理引擎設置爲運行狀態 使業務處理單元工作,並向掃描處理單元發送停止工作信 號:在接收到另一業務處理引擎發送的下線通知時,將本 業務處理引擎設置爲等待狀態,並分別向業務處理單元發 送停止工作信號和向掃描處理單元發送啓動工作資訊。 第一業務規則儲存單元/第二業務規則儲存單元,設 置在對應的第一業務處理引擎/第二業務處理引擎中。 本系統還可以包括熱部署處理單元,其分別連接第一 業務處理引擎和第二業務處理引擎,用於決定第一業務處 理引擎和第二業務處理引擎當前所處的狀態》 第一業務處理引擎/第二業務處理引擎進一步包括: 業務處理單元:分別連接輸入資料處理單元和輸出資 料處理單元,用於判斷從輸入資料處理單元接收到的業務 處理請求是否符合對應的業務規則儲存單元儲存的規則’ 並將判斷的結果輸出至輸出資料處理單元; 掃描處理單元,用於檢測對應的業務規則儲存單元儲 存的業務規則是否發生變化和/或本處理引擎的處理設置 是否發生變化; 更新處理單元:用於直接更新第一業務規則儲存單元 /第二業務規則儲存單元儲存的規則或直接更新本處理引 擎; 交換處理單元:連接熱部署處理單元,用於當本業務 處理引擎處於等待狀態時’在接收更新處理單元的更新信 號後,通過熱部署處理單元向另一業務處理引擎發送下線 -10- 201142708 通知’再將本業務處理引擎設置爲運行狀態使業務處理單 元工作,並向掃描處理單元發送停止工作信號;在接收到 另一業務處理引擎通過熱部署處理單元發送的下線通知時 ’將本業務處理引擎設置爲等待狀態,並發送停止工作信 號至業務處理單元以及使掃描處理單元停止工作。 該交換處理單元進一步包括: 狀態子單元:用於保存當前業務處理引擎處於運行狀 態還是等待狀態; 啓動子單元:用於在接收更新處理單元的更新信號後 ’並通過熱部署處理單元向另一業務處理引擎或直接向另 一業務處理引擎發送下線通知,再將本業務處理引擎設置 爲運行狀態使業務處理單元工作,再發送停止工作信號至 掃描處理單元; 下線處理子單元:在接收到另一業務處理引擎/熱部 署處理單元發送下線通知時,將本業務處理引擎設置爲等 待狀態’發送停止工作信號至業務處理單元以及使掃描處 理單元工作。 該交換處理單元還包括: 更新處理觸發子單元:用於在本業務處理引擎處於等 待狀態時,當接收掃描處理單元的掃描信號後向更新處理 單元發送啓動信號。 本系統還包括: 下線更新子單元:連接下線處理子單元,用於接收到 下線處理子單元下發的觸發信號後,直接將本引擎對應的 -11 - 201142708 業務規則儲存單元進行更新或更新本引擎。 該資料庫還包括: 標記處理單元:用於對該業務規則進行更新方式標記 處理,標記該業務規則爲自動更新業務規則或觸發式更新 業務規則。 一種實現軟體系統熱部署的方法,用於完成軟體處理 系統中核心業務的熱部署,包括: (1 )在軟體系統中設置用以處理核心業務的第一業 務處理引擎和第二業務處理引擎,該第一業務處理引擎連 接對應的第一業務規則儲存單元,第二業務處理引擎連接 對應的第二業務規則儲存單元; (2) 設置第一業務處理引擎和第二業務處理引擎的 其中之一爲運行狀態,另一個處於等待狀態; (3) 當軟體系統的處理設置發生變化時,更新處於 等待狀態的業務處理引擎對應的處理設置: (4) 將處於等待狀態的業務處理引擎設定爲運行狀 態,並將原處於運行狀態的業務處理引擎設定爲等待狀態 〇 步驟(4 )之後還包括: 處於等待狀態的業務處理引擎更新對應的業務規則儲 存單元儲存的規則。 本方法還包括· 步驟(3 )之前還包括:設置業務規則庫,每一次業 務規則發生變化時,直接更新業務規則庫; -12- 201142708 步驟(3 )業務規則發生變化進一步包括:處於等待 狀態的第一業務處理引擎/第二業務處理引擎檢測業務規 則庫和其對應的業務規則儲存單元中儲存的規則,若存在 不相同,則業務規則發生變化。 本方法中步驟(4)進一步包括: 處於等待狀態的業務處理引擎向另一業務處理引擎發 送下線通知,並將本業務處理引擎設置處於運行狀態,停 止檢測業務規則庫和其對應的業務規則儲存單元中儲存的 規則是否相同的掃描操作; 第一業務處理引擎/第二業務處理引擎接收到下線通 知後,開始檢測對應的業務規則儲存單元儲存的業務規則 是否發生變化和/或本處理引擎的處理設置是否發生變化 〇 本方法還包括: 在接收到另一業務處理引擎發送下線通知時,將本業 務處理引擎設置爲等待狀態。 本方法還包括: 設置熱部署處理單元; 第一業務處理引擎/第二業務處理引擎,檢測業務規 則發生變化和/或處理引擎的處理設置發生變化時,直接 更新對應的業務規則儲存單元和/或直接更新本處理引擎 ,並向熱部署處理單元發送請求; 熱部署處理單元將發出請求的業務處理引擎所處的狀 態設置爲運行狀態,並將另一業務處理引擎所處的狀態設 -13- 201142708 置爲等待狀態,並向該業務處理引擎發出下線通知; 另一個業務處理引擎接收到下線通知後,更新本業務 處理引擎對應的業務規則儲存單元中的規則。 本案可以在每台伺服器內設置兩個業務處理引擎,每 個伺服器系統內交替運行著兩個業務處理引擎,一個處於 運行狀態時,另一個處於等待狀態,對於用戶的業務請求 ,只有處於運行狀態的業務處理引擎可以接受處理。當系 統的業務規則發生變化,需要進行更新時,處於等待狀態 的業務處理引擎以新業務規則進行更新後啓動並與處於運 行狀態的業務處理引擎進行業務交換,接受處理用戶的業 務請求,同時,將原來處於運行狀態的業務處理引擎下線 ,使之處於等待狀態,等待下一次更新,從而實現了軟體 系統核心業務功能的熱部署。與現有技術相比,本案具有 以下有益效果: 1、 本案在升級系統時所有伺服器可同時進行升級, 不需要重新啓動系統,並且在更新過程中仍然可以對外提 供服務’單台伺服器也可實現熱部署,真正實現了動態更 新’提高了系統可用性。最爲重要的是,本案在升級時, 不需要對整個伺服器進行啓動,只需要啓動對應的業務處 理引擎即可’非常方便,而且也節省升級的時間。 2、 本案實現了所有伺服器同時升級,因此不必再備 份伺服器,有效節約了升級成本。 【實施方式】 -14- 201142708 以下結合附圖,具體說明本案。 考慮到通過兩個伺服器來實現整個軟體系統的熱部署 ,需要增加一個新的設備,增加新的成本。爲此,本案只 需要設置一新的業務處理引擎即可實現同樣的功能,不需 要額外增加硬體成本。 第一實例 請參閱圖1,其爲本案的一種實現軟體系統熱部署的 系統的第一實例的原理結構示例圖。它包括伺服器1 1和 資料庫1 2。伺服器11與資料庫1 2連接。 資料庫12進一步包括: 業務規則庫2 1,用於儲存業務規則。業務規則主要是 指數據需要滿足的條件。資料可以是一個也可以是多個, 同樣,需要滿足的條件也可以是多個》業務規則庫2 1經 常需要更新,可以由用戶直接輸入。 第一業務規則儲存單元22 :連接業務規則庫2 1,用 於儲存業務規則。 第二業務規則儲存單元23 :連接業務規則庫2 1,用 於儲存業務規則。 業務規則庫2 1中儲存有所有的業務規則。當需要修 改業務規則時,操作者直接修改業務規則庫2 1中的內容 。需要說明的是,第一業務規則儲存單元22與後續談到 的第一業務處理引擎32相對應,第二業務規則儲存單元 23與後續談到的第二業務處理引擎33相對應。 -15- 201142708 伺服器1 1進一步: 輸入資料處理單元31,用於接收業務處理請求。輸入 資料處理單元3 1可以接收到很多介面發送的業務處理請 求,可以將上述業務處理請求處理成統一格式的資料包發 送給後續處於運行狀態的業務處理引擎。也就是說,輸入 資料處理單元3 1類似於預處理操作。預處理操作包括接 收業務處理請求,從中解析出對應的資料。比如,有二個 介面發送業務處理請求,其中一個發送的內容包括A1、 A2、A3、A4,而另一個介面發送的業務處理請求包括A2 、A3、A4、A5。輸入資料處理單元31接收到業務處理請 求,先判斷是哪個介面發送的,並從中解析出對應的內容 ,並將該些內容發送至後續的處於運行狀態的業務處理引 擎進行規則判定。 第一業務處理引擎3 2,用於當其處於運行狀態時,判 斷接收到的業務處理請求是否符合第一業務規則儲存單元 儲存的規則;當其處於等待狀態時,檢測到軟體系統的處 理設置發生變化時,先直接更新對應的設置,再將本業務 處理引擎設置爲運行狀態。第一業務處理引擎32處於運 行狀態時,不只做判斷接收到的請求符合儲存單元儲存的 規則這一操作,還可以根據對判斷結果進行歸總計算等操 作。總之,第一業務處理引擎32根據輸入處理具體的業 務邏輯,並產生業務處理結果。 軟體系統的處理設置發生變化包括業務規則發生變化 ,還包括處理引擎的處理設置發生變化。 -16- 201142708 第一業務處理引擎32根據輸入處理具體的業務邏輯 ’並產生業務處理結果至少包括以下工作:先判斷接收到 的業務處理請求是否符合對應業務規則儲存單元的規則, 再根據判斷的結果按照預先設定的流程進行處理,最後再 將業務處理結果返回。 舉個例子來說,比如,業務處理請求爲A,對應的業 務規則儲存單元儲存的規則爲A> 1時,直接輸出該業務處 理結果,否則將其求反後再輸出。也就是說,第一業務處 理引擎32預先設定好各種操作流程,後根據具體的業務 處理請求進行處理,並按照對應的操作流程進行操作。 第二業務處理引擎33,用於當其處於運行狀態時,判 斷接收到的業務處理請求是否符合第二業務規則儲存單元 儲存的規則;當其處於等待狀態時,檢測到軟體系統的處 理設置發生變化時,先直接更新對應的設置,再將本業務 處理引擎設置爲運行狀態。也就是說,當處於等待狀態時 ,檢測業務規則和/或處理引擎的處理設置是否發生變化 ,如果有變化,直接更新第二業務規則儲存單元23和/或 本處理引擎33,然後將本業務處理引擎33設置爲運行狀 態。 第一業務處理引擎32和第二業務處理引擎33至少需 要處理接收到的業務處理請求是否是符合預先設定的規則 。爲了實現熱部署,本案採用至少兩個業務處理引擎來完 成該熱部署功能。在本實例中,是兩個業務處理引擎採用 主動方式完成熱部署功能。 -17- 201142708 輸出資料處理單元34’用於輸出業務處理結果。主要 是處於運行狀態的業務處理引擎處理好業務處理請求後, 並將結果發送至輸出資料處理單元34,以便輸出資料處理 單元3 4能夠將其轉換成按照預先設定的格式後返回至對 應的請求端或者是發送至對應的結果地。 軟體系統中包括上述模組,用於判斷某些請求是否符 合預先設定的規則。軟體系統可以完成各種功能,該些模 組只不過是其中若干組成模組。 另外,在本案中,業務規則庫2 1是作爲一個參考業 務規則庫,當需要修改業務規則時,直接在業務規則庫2 1 中進行修改,當需要檢測規則是否發生變化時,第一業務 規則儲存單元22和第二業務規則儲存單元23是和業務規 則庫2 1去做比較,若有不同,則說明已修改。這種方式 ’系統的穩定性最好。 當然,還有其他的實現方式,比如,修改業務規則是 直接修改處於等待狀態下的業務處理引擎對應的業務規則 儲存單元22,一旦有修改,表明規則發生了變化。這種實 現方式雖然系統穩定性稍差,但是同樣也能實現類似的功 能。 並且,第二業務處理引擎33/第一業務處理引擎32始 終是一個處於運行狀態,一個處於等待狀態。從硬體上有 多種實現方式。比如,伺服器上設置一控制器,用於控制 第—業務處理引擎32和第二業務處理引擎33的狀態,使 它們一個處於運行狀態,一個處於等待狀態。比如,第一 -18- 201142708 業務處理引擎32和第二業務處理引擎33上分別設置 態控制單元,即第一業務處理引擎3 2上設置第一狀 制單元,第二業務處理引擎33上設置一第二狀態控 元,通過第一狀態控制單元和第二狀態控制單元的相 信,控制兩個業務處理引擎一個處於運行狀態,一個 等待狀態。 請參閱圖2,其爲本案第二業務處理引擎33/第 務處理引擎3 2內部結構的一實例原理圖。 該第二業務處理引擎33/第一業務處理引擎32進 包括: 業務處理單元41:用於分別連接輸入資料處理 31和輸出資料處理單元34,並根據輸入處理具體的 邏輯,並產生業務處理結果,後將結果輸出至輸出資 理單元34。該業務處理單元41主要是比對該業務處 求中攜帶的資料是否符合對應的第一業務規則儲存 2 2/第二業務規則儲存單元23儲存的規則。還是以上 二個介面發送業務處理請求爲例,第一業務規則儲存 22/第二業務規則儲存單元·23中可以分別儲存A1、 A3、Α4、Α5這些欄位需要滿足的條件,當接收到輸 料處理單元31發送的資料時,分別判斷對應的欄位 滿足對應的條件,並將結果傳送至輸出資料處理單元 根據輸入處理具體的業務邏輯,並產生業務處理結果 但不限於以下步驟:判斷從輸入資料處理單元3 1接 的業務處理請求是否符合對應業務規則儲存單元儲存 一狀 態控 制單 互通 處理 一業 一步 單元 業務 料處 理請 單元 述有 單元 Α2、 入資 是否 3 4〇 包括 收到 的規 -19- 201142708 則。 掃描處理單元42,用於檢測業務規則和/或處理引擎 的處理設置是否發生變化。掃描處理單元42可以分別檢 測對應的業務規則儲存單元和/或對應的引擎的處理設置 是否發生變化。在本實例中,掃描處理單元42可以只檢 測對應的業務規則。掃描處理單元42檢測業務規則庫2 1 中儲存的內容及本處理引擎的設定是否發生變化,若發生 變化,發出更新觸發信號至後續的交換處理單元44,由交 換處理單元44來控制向更新處理單元43發送更新觸發信 號。或者是,掃描處理單元42檢測到發生變化後,發出 更新觸發信號至後續的更新處理單元43,由更新處理單元 43在更新完畢操作後再發送至後續的交換處理單元44。 更新處理單元43 :用於直接更新第一業務規則儲存單 元2 2/第二業務規則儲存單元23儲存的規則,使之與業務 規則庫21 —致。以及,更新處理單元43直接更新本處理 引擎。也就是說,更新處理單元43的更新操作可以包括 僅更新對應的業務規則儲存單元中的儲存規則,使之和業 務規則庫2 1中儲存的規則一致。更新處理單元43還可以 將對應的處理引擎進行重新啓動的操作,使修改後的處理 引擎的設置生效。 另外,更新處理單元43的觸發可以由掃描處理單元 42發起,就是接收到掃描處理單元42發送的觸發信號後 進行更新操作,並在更新操作完畢後發送更新完畢信號至 後續的交換處理單元44 »更新處理單元43的觸發也可以 -20- 201142708 由交換處理單元44發起,就是接收到交換處理I 送的觸發信號後進行更新操作,並在更新操作完 更新完畢信號至交換處理單元44。 在本實例中,業務處理單元41和掃描處理| 會同時工作,在處理引擎處於等待狀態時,掃描 42在工作。在處理引擎處於運行狀態時,業務 41在工作。在本實例中,由交換處理單元44來 處理單元42和業務處理單元41誰處於工作狀態 具體地說,可以下述的實例來具體實現: A1:當掃描處理單元42在工作狀態時,假 業務規則庫2 1中的規則有更改,則可以發送觸 更新處理單元43 ; A2 :更新處理單元43將對應的業務規則儲 的業務規則更新至與業務規則庫2 1 —致,更新 43將更新完成的更新完畢信號發送至交換處理單 A3 :交換處理單元44接收到更新完畢信號 業務處理引擎發送下線通知,再將本業務處理引 於運行狀態,並發送停止工作信號至掃描處理單 業務處理單元4 1工作。 當本業務引擎處於運行狀態時,交換處理單 收到另一業務處理引擎發送的下線通知時,將本 引擎設置爲等待狀態,發送停止工作信號至業務 41,並使掃描處理單元42工作。另外,還需要 理處理單元43進行更新操作。 I元44發 畢後發送 【元42不 處理單元 處理單元 決定掃描 設檢測到 發信號至 存單元中 處理單元 元44 ; 後向另一 擎設置處 元42,使 元44接 業務處理 處理單元 使更新處 -21 - 201142708 或者,也可以通過下述的另一實例來具體實現: B 1 :當掃描處理單元42在工作狀態時,假設檢測到 業務規則庫2 1中的規則有更改,則可以發送觸發信號至 交換處理單元44 ; B2 :交換處理單元44接收到觸發信號,發送信號至 更新處理單元43,由更新處理單元43進行更新操作,並 返回更新完畢信號至交換處理單元44; B3 :交換處理單元44接收到更新完畢信號後,向另 一業務處理引擎發送下線通知,再將本業務處理引擎設置 處於運行狀態,發送停止工作信號至掃描處理單元42,使 業務處理單元41工作。 還有,當本業務引擎處於運行狀態時,交換處理單元 44接收到另一業務處理引擎發送的下線通知時,將本業務 處理引擎設置爲等待狀態,發送停止工作信號至業務處理 單元41,並使掃描處理單元42工作。另外,還需要使更 新處理單元43進行更新操作。 在本實例中,第一業務規則儲存單元22/第二業務規 則儲存單元23,可以集成在對應的第一業務處理引擎32/ 第二業務處理引擎33中,而不是單獨設置在資料庫中。 在本實例中,通過第一業務處理引擎3 2和第二業務 處理引擎33來主動決定當前處於運行狀態下是哪個業務 處理引擎。 請參閱圖3’其爲本實例中交換處理單元可進一步細 化爲· -22· 201142708 狀態子單元441:用於保存當前業務處理引擎處於運 行狀態還是等待狀態。 更新處理觸發子單元442:用於在本業務處理引擎處 於等待狀態時,接收掃描處理單元42的信號後,發送觸 發信號至更新處理單元43來啓動更新處理單元43的更新 操作。 啓動子單元4 43:用於在接收更新處理單元43的更新 完畢信號後,向另一業務處理引擎發送下線通知,再將本 業務處理引擎的狀態子單元441設置爲本處理引擎爲運行 狀態,發送停止工作信號至掃描處理單元42。 下線處理子單元444 :在接收到另一業務處理引擎發 送的下線通知時,將本業務處理引擎設置爲等待狀態,發 送停止工作信號至業務處理單元41,使掃描處理單元42 工作。 下線更新子單元445:連接下線處理子單元444,用 於接收到下線處理子單元444下發的觸發信號後,發送觸 發信號至更新處理單元43。 當由掃描處理單元42直接通知更新處理單元43進行 更新操作時,更新處理觸發子單元442可以省略。 基於上述的結構,本實例揭示了 一種對應的熱部署的 流程(請參閱圖4 )。 S110:設置第一業務處理引擎和第二業務處理引擎, 該第一業務處理引擎和第二業務處理引擎分別對應第一業 務規則儲存單元和第二業務規則儲存單元。第一業務規則 -23- 201142708 儲存單元和第二業務規則儲存單元同樣是用於儲存規則。 第一業務處理引擎和第一業務規則儲存單元對應,主要是 指第一業務處理引擎根據輸入處理具體的業務邏輯,並產 生業務處理結果,根據輸入處理具體的業務邏輯包括一個 操作:判斷接收到的業務處理請求是否符合第一業務規則 儲存單元儲存的規則。從邏輯上來看,第一業務處理引擎 是連接第一業務規則儲存單元,或者是將第一業務規則儲 存單元直接設置在第一業務處理引擎中,第二業務處理引 擎也是如此,在此就不同詳細敍述。 在本實例中,若設置有業務規則庫,則初始狀態下, 第一業務規則儲存單元的內容與業務規則庫中的內容完全 相同,同理,第二業務規則儲存單元的內容與業務規則庫 中的內容也完全相同。 若沒有設置業務規則庫,則在初始狀態下,第一業務 規則儲存單元和第二業務規則儲存單元分別儲存所有的業 務規則。 S120:在軟體處理系統中設置第一業務處理引擎和第 二業務處理引擎其中之一爲等待狀態,另一個爲運行狀態 〇 設置爲運行狀態的業務處理引擎根據輸入處理具體的 業務邏輯,並產生業務處理結果。該步驟包括設置爲運行 狀態的業務處理引擎檢測接收到的業務處理請求是否符合 對應業務規則儲存單元儲存的規則,並將結果輸出。 設置在等待狀態的業務處理引擎即時或定週期檢測業 -24- 201142708 務規則和/或本處理引擎的處理設置是否發生變化。 當有業務規則庫存在時,該業務規則發生變化是指對 應的業務規則儲存單元的規則和業務規則庫儲存的規則不 —致。 當沒有業務規則庫存在時,一旦對應的業務規則儲存 單元的規則被修改、被刪除等變化時,就可以啓動後續的 步驟。 s 1 3 0 :設置在等待狀態的業務處理引擎檢測到軟體系 統的設置發生變化時,更新對應的軟體系統設置。 軟體系統的設置發生變化包括業務規則的變化和本業 務處理引擎的處理設置發生變化。 SM0:設置在等待狀態的業務處理引擎向另一個業務 處理引擎發送下線通知,並將本業務處理引擎設置爲運行 狀態。根據輸入處理具體的業務邏輯,並產生業務處理結 果。該步驟包括設置爲運行狀態的業務處理引擎檢測接收 到的業務處理請求是否符合對應業務規則儲存單元儲存的 規則,並將結果輸出。 S 1 50 :另一個業務處理引擎停止檢測接收到的業務處 理請求是否符合本業務規則儲存單元儲存的規則的操作, 再將本業務處理引擎設置爲等待狀態,後將軟體系統進行 更新操作。設置爲等待狀態的業務處理引擎是需要即時或 定週期檢測業務規則和/或本處理引擎的處理設置是否發 生變化。 通過上述的實例可知,不需要重新啓動即可以完成更 -25- 201142708 新,並且,本案還具有_定性強,變動小的技術效果。 第二實例 請參閱圖5,其爲本案的另一個實例。在該實例中’ 是通過熱部署處理單元來控制當前處於運行狀態下的是哪 個業務處理引擎。 本案也包括資料庫和伺服器。伺服器進一步包括輸入 資料處理單元51、第一業務處理引擎52、第二業務處理 引擎53、輸出資料處理單元54之外,還包括一熱部署處 理單元55。熱部署處理單元55分別連接第一業務處理引 擎52和第二業務處理引擎53,用於接收到請求時,更改 發出請求所在的第一業務處理引擎52/第二業務處理引擎 5 3的狀態,並向該業務處理引擎發出下線通知。這種情況 下,是由熱部署處理單元55來控制第一業務處理引擎52 、第二業務處理引擎53哪個處於運行狀態,哪個處於等 待狀態。 第一業務處理引擎52/第二業務處理引擎53可以如第 一實施例一樣包括業務處理單元、交換處理單元、更新處 理單元和掃描處理單元。第一業務處理引擎52/第二業務 處理引擎53還可以只包括業務處理單元、掃描處理單元 和更新單元,交換處理單元的功能集成在熱部署處理單元 5 5即可。 當第一業務處理引擎52/第二業務處理引擎53可以如 第一實施例一樣包括業務處理單元、交換處理單元、更新 -26- 201142708 處理單元和掃描處理單元時,第一業務處理引擎52/第二 業務處理引擎53進一步包括: 業務處理單元:用於分別連接輸入資料處理單元51 和輸出資料處理單元54,並判斷從輸入資料處理單元51 接收到的業務處理請求是否符合本業務規則儲存單元儲存 的規則,並將結果輸出至輸出資料處理單元53。 掃描處理單元,用於檢測業務規則和/或處理引擎的 處理設置是否發生變化。 更新處理單元:掃描處理單元檢測到業務規則和/或 處理引擎的處理設置發生變化時,用於直接更新第一業務 規則儲存單元22/第二業務規則儲存單元23和/或直接更 新本處理引擎。 交換處理單元+:用於接收到熱部署處理單元55的指 令後,使業務處理單元61工作,或者是使掃描處理單元 62工作。 第一業務處理引擎52/第二業務處理引擎53還可以只 包括業務處理單元、掃描處理單元和更新單元。熱部署處 理單元55分別連接各個處理引擎的業務處理單元、掃描 處理單元和更新單元。也就是說,熱部署處理單元55控 制各個單元的工作。 假設第一業務處理引擎52包括第一業務處理單元521 、第一掃描處理單元522和第一更新單元523。第二業務 處理引擎53包括第二業務處理單元531、第二掃描處理單 元532和第二更新處理單元533。並且,假設第一業務處 -27- 201142708 理引擎5 2處於運行狀態,第二業務處理引擎5 3處於等待 狀態。 熱部署處理單元55接收到第二掃描處理單元531的 觸發信號後,使第二更新單元5 3 3的更新操作,當接收到 第二更新單元5 3 3的更新完畢信號後,發送停止工作信號 至第一業務處理單元521和第二掃描處理單元,並使第一 掃描處理單兀522和第—業務處理單元工作。 通過上述的實例可知,不需要重新啓動即可以完成更 新,並且,本案還具有穩定性強,變動小的技術效果。 請參閱圖7,其爲本實例實現軟體系統熱部署的對應 方法的流程圖。它包括: S 2 1 0 :在軟體系統中設置用以處理核心業務的第一業 務處理引擎和第二業務處理引擎,該第一業務處理引擎和 第二業務處理引擎分別對應第一業務規則儲存單元和第二 業務規則儲存單元。 第一業務規則儲存單元和第二業務規則儲存單元同樣 是用於儲存規則。第一業務處理引擎和第一業務規則儲存 單元對應,主要是指第一業務處理引擎根據輸入處理具體 的業務邏輯,並產生業務處理結果,根據輸入處理具體的 業務邏輯包括一個操作:判斷接收到的業務處理請求是否 符合第一業務規則儲存單元儲存的規則。從邏輯上來看, 第一業務處理引擎是連接第一業務規則儲存單元,或者是 將第一業務規則儲存單元直接設置在第一業務處理引擎中 ,第二業務處理引擎也是如此,在此就不同詳細敍述。 -28- 201142708 S220 :在軟體處理系統中設置第一業務處理引擎和第 二業務處理引擎其中之一爲運行狀態,一個處於等待狀態 〇 S23 0 :當軟體系統的處理設置發生變化時,更新對應 的軟體系統的處理設置。 S240 :將處於等待狀態的業務處理引擎設定爲運行狀 態,並將原處於運行狀態的業務處理引擎設定爲等待狀態 〇 在第一業務處理引擎和第二業務處理引擎通過熱部署 處理單元來實現熱部署時,其可以通過以下步驟來實現: 設置熱部署處理單元: 第一業務處理引擎/第二業務處理引擎,檢測業務規 則發生變化或處理引擎的處理設置發生變化時,直接更新 第二業務規則儲存單元或直接更新本處理引擎,並向熱部 署處理單元發送請求; 熱部署處理單元更改發出請求所在的第一業務處理引 擎/第二業務處理引擎處於運行狀態,並更新另一業務處 理引擎處於等待狀態,並向該業務處理引擎發出下線通知 » 另一個業務處理引擎接收到下線通知後,將本業務處 理引擎設置爲等待狀態,並更新本業務處理引擎對應的業 務規則儲存單元中的規則或更新對應的業務處理引擎的軟 體設定的更新。 -29- 201142708 應用例 目前,檢測一個公司或一個人的信用,是一件非常重 要的事情,本案就可以適用到網路信用認證體系中。 輸入資料處理單元接收需要進行信用認證的請求,第 —業務處理引擎和第二業務處理引擎中其中處於運行狀態 的業務處理引擎對其進行認證。當業務規則庫的規則(主 要是指個人信用規則)發生變化時,可以在不停止業務處 理引擎工作時完成各引擎的規則更新,具有極強的實用性 0 本案在伺服器內設置兩個業務處理引擎,每個伺服器 系統內交替運行著兩個業務處理引擎,一個處於運行狀態 時,另一個處於等待狀態,對於用戶的業務請求,只有處 於運行狀態的業務處理引擎可以接受處理。當系統的業務 規則發生變化,需要進行更新時,處於等待狀態的業務處 理引擎以新業務規則進行更新後啓動並與處於運行狀態的 業務處理引擎進行業務交換,接受處理用戶的業務請求, 同時,將原來處於運行狀態的業務處理引擎下線,使之處 於等待狀態’等待下一次更新,從而實現了軟體系統核心 業務功能的熱部署。一般來說,處於等待狀態的業務處理 引擎更新新的業務規則後需要重新啓動該業務處理引擎。 與現有技術相比,本案具有以下有益效果: 1、本案在升級系統時所有伺服器可同時進行升級, 不需要重新啓動系統,並且在更新過程中仍然可以對外提 供服務’單台伺服器也可實現熱部署,真正實現了動態更 -30- 201142708 新,提高了系統可用性。 2、本案實現了所有伺服器同時升級,因此不必再備 份伺服器,有效節約了升級成本。 以上揭示的僅爲本案的幾個具體實施例,但本案並非 侷限於此,任何本領域的技術人員能思之的變化,都應落 在本案的保護範圍內。 【圖式簡單說明】 圖1爲本案實現軟體系統熱部署的系統的結構原理圖 » 圖2爲本案第二業務處理引擎/第一業務處理引擎內 部結構的一實例原理圖; 圖3爲交換處理單元的具體細分結構示意圖: 圖4爲本案的一種實現軟體系統熱部署的系統的第二 實例的原理結構示例圖; 圖5爲圖4中第二業務處理引擎/第一業務處理引擎 內部結構的原理圖; 圖6爲圖4中系統的另一原理示意圖; 圖7爲基於圖4結構實現軟體系統熱部署的流程示意 圖。 【主要元件符號說明】 11 :伺服器 1 2 :資料庫 -31 - 201142708 2 1 :業務規則庫 22 :第一業務規則儲存單元 2 3 :第二業務規則儲存單元 31 :輸入資料處理單元 32:第一業務處理引擎 33:第二業務處理引擎 34:輸出資料處理單元 4 1 :業務處理單元 42 :掃描處理單元 43 :更新處理單元 44 :交換處理單元 441 :狀態子單元 442 :更新處理觸發子單元 443 :啓動子單元 444 :下線處理子單元 445 :下線更新子單元 51 :輸入資料處理單元 52:第一業務處理引擎 53:第二業務處理引擎 54 :輸出資料處理單元 5 5 :熱部署處理單元 521 :第二掃描處理單元 522 :第一掃描處理單元 5 2 3 :第一更新單元 -32- 201142708 53 1: 5 3 2 : 5 3 3 : 第二業務處理單元 第二掃描處理單元 第二更新單元 -33-201142708 VI. Description of the invention: [Technical field to which the invention pertains] This application relates to a method and system for hot deployment, and more particularly to a method and system for hot deployment of a software system that does not stop providing external services during hot deployment. [Prior Art] For large business-critical systems, such as financial systems, e-commerce systems, etc., system availability is a very critical indicator and usually requires 24 hours of uninterrupted service. Once the system is stopped, it can cause huge losses. However, the business rules of such systems are complex and variable, and various upgrades are often required. When the business rules change, the system needs to be restarted for system upgrade, which greatly reduces the system availability. In order to avoid the system restarting when the system is upgraded and causing losses, the method of implementing the thermal deployment of the software system comes into being. The so-called hot deployment refers to upgrading the software while the software system is running, without restarting the system. The application number is 200610123883. The Chinese patent of 0 mentions that the method of implementing hot deployment is to back up the server before the upgrade and provide services to the external provider. After the upgrade is completed, switch to the upgraded web server, so that the external performance is hot deployment. . This approach to hot deployment requires two servers for hot deployment. In the above patent application, a method of implementing thermal deployment is also disclosed. The following is introduced as follows: -5- 201142708 In the platform based on the browser/server (Β/S) architecture commonly used in existing systems, a Java-based web server is generally used, and the server adopts MVC. The architecture (model, view, control) mode is divided into the following levels: view layer, control layer and mode layer. Among them: View layer: for the user interaction interface, which is the interface of the Web. The view layer is generally a static text file or JSP (Java Server Page, JSP for short) page. According to the JavaEE specification, if they are modified, it does not need to restart the web application to take effect. Control layer: used to receive requests from users, match the pattern layer and the view layer, and complete the user's request together. Since this part is not related to the business logic, only the request of the view layer is forwarded to the corresponding model layer processing. Therefore, the change of the control layer is only in the forwarding configuration, and the forwarding rules are basically not changed. If the forwarding configuration changes, you only need to reload the configuration file to complete it without rebooting. Mode layer: used for business process / state processing and business rule formulation, is a business logic module. On the traditional web server side, all the schema layers are loaded into the class loader of the same web application. Therefore, to update the loaded class, you need to reload the class loader of the web application, which leads to the addition, update, and deletion of the module to restart the web application. The application number is 2006 1 0 1 23883. The solution disclosed in 0 is to construct an open service gateway on the server side of the Β/S architecture on the traditional MVC-based web server side, and place the mode layer of the Β/S architecture server side in the open service gate. In each sub-module of the architecture, since each sub-module of the open service gateway architecture -6 - 201142708 has its own class loader, it is only necessary to restart the module itself when it is modularized. The class loader thus avoids restarting the class loader of the web application, thus enabling the hot deployment of the application's class loader. Although the above-mentioned implementation of the hot part can achieve hot deployment, there are still the following problems. The first method of backing up the entire server to another server requires a new server, thereby increasing the cost. The second introduces an open service gateway architecture to achieve hot deployment. The mode layer is set in each sub-module of the open service gateway architecture. When the mode layer changes, although the class loader of the web application can be hot deployed, The various sub-modules of the open service gateway architecture are restarted and cannot be fully deployed in a hot sense. Moreover, the required system has undergone a lot of changes, and there is stability and security. The problem is only suitable for applications on systems that are not running on business systems that are not operational. That is to say, in the case of low cost and small changes, how to perform software update without stopping the existing system is a problem that is currently being decided. .  SUMMARY OF THE INVENTION The purpose of the present invention is to provide a software system for hot deployment to solve the problem of not being able to provide external services when the system is upgraded in the prior art. Technical problems with low stability.  Another purpose of the present invention is to provide a way to realize the thermal change of the software system.  1 Web Department's Party I:  Hot department, Need to be  It is necessary to implement the method that needs to be solved for the poorly existing software and upgrade the deployed 201142708 system. In order to solve the problem in the prior art, when the system is upgraded, the service cannot be provided externally and the upgrade cost is high. Technical problems with low stability.  A system for implementing thermal deployment of a software system, Including servers and databases, The server is connected to the database.  The database further includes:  The first business rule storage unit: Used to store business rules;  Second business rule storage unit: Used to store business rules;  The server further includes:  The first business processing engine, Connecting the first business rule storage unit, Used when it is running, Determining whether the received service processing request meets the rules stored by the first business rule storage unit; When it is in a waiting state, When it is detected that the processing settings of the software system have changed, First update the corresponding settings directly. Then set the business processing engine to the running state;  Second business processing engine, Connecting the second business rule storage unit, Used when it is running, Determining whether the received service processing request meets the rules stored by the first business rule storage unit; When it is in a waiting state, When it is detected that the processing settings of the software system have changed, First update the corresponding settings directly. Then set the business processing engine to the running state;  and, The first business processing engine/second business processing engine is always in a running state. One is in a wait state.  When it is detected that the processing settings of the software system have changed, First update directly The corresponding settings further include:  Detecting whether the rules stored in the corresponding business rule storage unit change, if, Then directly update the corresponding business rule storage unit.  -8 - 201142708 When it is detected that the processing settings of the software system have changed, First update directly The corresponding settings further include:  Check if the processing settings of this business processing engine have changed. If yes, Then update this business processing engine directly.  In addition, The system also includes:  Enter the data processing unit, Connecting the first business processing engine and the second business processing engine, respectively. Used to receive business processing requests, And send a business processing request to the running business processing engine;  Output data processing unit: Connecting the first business processing engine and the second business processing engine, respectively. Used to receive the business process engine in the running state to output the business process results.  and also, The first business processing engine/second business processing engine further includes:  Business Processing Unit: Connect the input data processing unit and the output data processing unit separately. And determining whether the service processing request received from the input data processing unit meets the rules stored by the corresponding business rule storage unit, And output the result to the output data processing unit;  Scan processing unit, Used to detect whether the business rule stored in the corresponding business rule storage unit changes and/or whether the processing setting of the processing engine changes;  Update processing unit: Used to directly update the rules of the corresponding business rule storage unit storage and/or update the processing engine;  Exchange processing unit: Used to send an offline notification to another service processing -9 - 201142708 engine after receiving the update signal of the update processing unit when the service processing engine is in the waiting state, Then set the business processing engine to the running state to make the business processing unit work. And send a stop working signal to the scanning processing unit: Upon receiving an offline notification sent by another business processing engine, Set this business processing engine to wait state, And sending a stop operation signal to the service processing unit and sending the startup work information to the scan processing unit.  a first business rule storage unit / a second business rule storage unit, It is set in the corresponding first business processing engine/second business processing engine.  The system can also include a thermal deployment processing unit. It is connected to the first business processing engine and the second business processing engine, respectively. For determining the current state of the first service processing engine and the second service processing engine, the first service processing engine/second service processing engine further includes:  Business Processing Unit: Connect the input data processing unit and the output data processing unit separately. And determining whether the service processing request received from the input data processing unit meets the rule stored by the corresponding business rule storage unit ′ and outputting the result of the determination to the output data processing unit;  Scan processing unit, Used to detect whether the business rule stored in the corresponding business rule storage unit changes and/or whether the processing setting of the processing engine changes;  Update processing unit: For directly updating the rules stored by the first business rule storage unit / the second business rule storage unit or directly updating the processing engine;  Exchange processing unit: Connect the hot deployment processing unit, Used when the service processing engine is in a wait state, after receiving the update signal of the update processing unit, Sending a offline line to another service processing engine through the hot deployment processing unit -10- 201142708 Notification 'Set the business processing engine to the running state to make the business processing unit work. And sending a stop operation signal to the scan processing unit; When the other service processing engine receives the offline notification sent by the hot deployment processing unit, 'set the service processing engine to the waiting state, And the stop work signal is sent to the service processing unit and the scan processing unit is stopped.  The exchange processing unit further includes:  Status subunit: Used to save the current business processing engine in the running state or waiting state;  Promoter subunit: Used to send an offline notification to another service processing engine or directly to another service processing engine through the hot deployment processing unit after receiving the update signal of the update processing unit. Then set the business processing engine to the running state to make the business processing unit work. Resending the stop operation signal to the scan processing unit;  Offline processing subunit: Upon receiving another offline request from the business processing engine/hotspot processing unit, The service processing engine is set to wait state' to send a stop work signal to the service processing unit and to cause the scan processing unit to operate.  The exchange processing unit further includes:  Update processing trigger subunit: Used when the service processing engine is in a wait state, The start signal is sent to the update processing unit after receiving the scan signal of the scan processing unit.  The system also includes:  Offline update subunit: Connect the offline processing subunit, After receiving the trigger signal sent by the offline processing subunit, Update or update the engine directly to the -11 - 201142708 business rule storage unit corresponding to this engine.  The database also includes:  Tag processing unit: Used to update the business rules to mark the processing, Mark the business rule as automatically updating business rules or triggering update business rules.  A method for implementing thermal deployment of a software system, Used to complete the hot deployment of core services in the software processing system, include:  (1) setting a first service processing engine and a second service processing engine for processing core services in the software system, The first service processing engine is connected to the corresponding first business rule storage unit, The second service processing engine is connected to the corresponding second business rule storage unit;  (2) setting one of the first business processing engine and the second business processing engine to be in an operating state, The other is in a wait state;  (3) When the processing settings of the software system change, Update the processing settings corresponding to the business processing engine in the wait state:  (4) Set the service processing engine in the waiting state to the running state. And set the original business processing engine to wait state 〇 After step (4), it also includes:  The service processing engine in the waiting state updates the rules stored in the corresponding business rule storage unit.  The method further includes: before step (3) further comprising: Set up a business rule base, When every business rule changes, Directly update the business rule base;  -12- 201142708 Step (3) Changes in business rules further include: The first service processing engine/second service processing engine in the waiting state detects the rules stored in the service rule library and its corresponding business rule storage unit, If they are different, Then the business rules change.  Step (4) in the method further comprises:  The waiting business process engine sends a downline notification to another business processing engine. And set this business processing engine to run. Stopping the scanning operation of detecting whether the rule stored in the business rule base and its corresponding business rule storage unit is the same;  After the first service processing engine/second service processing engine receives the offline notification, Start to detect whether the business rule stored in the corresponding business rule storage unit changes and/or whether the processing setting of the processing engine changes. 〇 The method further includes:  Upon receiving another service processing engine to send an offline notification, Set this business processing engine to wait state.  The method also includes:  Setting up a hot deployment processing unit;  First business processing engine / second business processing engine, When detecting changes in business rules and/or changes in the processing settings of the processing engine, Directly update the corresponding business rule storage unit and/or directly update the processing engine. And sending a request to the hot deployment processing unit;  The hot deployment processing unit sets the state of the requesting business processing engine to the running state. And set the status of another business processing engine to -13- 201142708 as a wait state. And issue a downline notification to the business processing engine;  After another business processing engine receives the offline notification, Update the rules in the business rule storage unit corresponding to the business processing engine.  In this case, two business processing engines can be set in each server. Two business processing engines are alternately running in each server system. When one is in operation, The other is waiting, For the user's business request, Only the running business processing engine can accept processing. When the business rules of the system change, When an update is needed, The waiting business process engine is updated with new business rules and started to exchange services with the business processing engine in the running state. Accepting business requests for processing users, Simultaneously, Bring the original business processing engine offline, Put it in a wait state, Waiting for the next update, Thereby, the hot deployment of the core business functions of the software system is realized. Compared with the prior art, This case has the following beneficial effects:  1,  In this case, all servers can be upgraded at the same time when upgrading the system.  No need to reboot the system, And it can still provide external services during the update process. A single server can also implement hot deployment. Realizing dynamic updates has improved system availability. Most importantly, When the case was upgraded,  There is no need to start the entire server. Just start the corresponding business processing engine, ‘very convenient, It also saves time for upgrades.  2,  This case realized that all servers are upgraded at the same time. So there is no need to back up the server. Effectively saves upgrade costs.  [Embodiment] -14- 201142708 The following is combined with the attached drawings. Specifically explain the case.  Considering the hot deployment of the entire software system through two servers, Need to add a new device, Add new costs. to this end, This case only needs to set up a new business processing engine to achieve the same function. No additional hardware costs are required.  First example, please refer to Figure 1. It is an exemplary structural diagram of a first example of a system for implementing thermal deployment of a software system. It includes a server 1 1 and a database 12 . The server 11 is connected to the database 12.  The database 12 further includes:  Business rule base 2 1, Used to store business rules. Business rules mainly refer to the conditions that data needs to be met. The data can be one or more.  same, The conditions that need to be met can also be multiple. The business rule base 2 1 often needs to be updated. Can be entered directly by the user.  The first business rule storage unit 22: Connect to the business rule base 2 Used to store business rules.  The second business rule storage unit 23: Connect to the business rule base 2 Used to store business rules.  All business rules are stored in the business rule base 2 1. When you need to modify business rules, The operator directly modifies the content in the business rule base 2 1 . It should be noted, The first business rule storage unit 22 corresponds to the first business processing engine 32 mentioned later, The second business rule storage unit 23 corresponds to the second business processing engine 33 mentioned later.  -15- 201142708 Server 1 1 further:  Input data processing unit 31, Used to receive business processing requests. The input data processing unit 31 can receive service processing requests sent by many interfaces. The above-mentioned service processing request can be processed into a unified format data packet and sent to a subsequent business processing engine in a running state. That is, The input data processing unit 31 is similar to the pre-processing operation. The pre-processing operation includes receiving a business processing request, Analyze the corresponding data from it. such as, There are two interfaces to send service processing requests. One of the content sent includes A1  A2 A3, A4, The service processing request sent by another interface includes A2, A3, A4, A5. The input data processing unit 31 receives the service processing request, First determine which interface is sent, And analyze the corresponding content from it, The content is sent to a subsequent operational business process engine for rule determination.  The first business processing engine 3 2, Used when it is running, Determining whether the received service processing request meets the rules stored by the first business rule storage unit; When it is in a wait state, When it is detected that the processing settings of the software system have changed, First update the corresponding settings directly. Then set this business processing engine to the running state. When the first business processing engine 32 is in operation, Not only do the operations of judging that the received request meets the rules stored in the storage unit, It is also possible to perform operations such as total calculation based on the judgment result. In short, The first business processing engine 32 processes the specific business logic based on the input, And generate business processing results.  Changes in the processing settings of the software system include changes in business rules. It also includes changes to the processing settings of the processing engine.  -16- 201142708 The first service processing engine 32 processes the specific business logic ’ based on the input and generates the business processing result including at least the following work: First, it is determined whether the received service processing request meets the rules of the corresponding business rule storage unit.  According to the result of the judgment, it is processed according to a preset process. Finally, return the business processing results.  For example, such as, The business processing request is A, The rule stored in the corresponding business rule storage unit is A>  1 o'clock, Directly output the result of the business processing, Otherwise, it will be reversed and then output. That is, The first service processing engine 32 pre-sets various operational processes. After processing according to the specific business processing request, And follow the corresponding operational procedures.  Second business processing engine 33, Used when it is running, Determining whether the received service processing request meets the rules stored by the second business rule storage unit; When it is in a wait state, When it is detected that the processing settings of the software system have changed, First update the corresponding settings directly. Then set this business processing engine to the running state. That is, When in a wait state, Detecting changes in business rules and/or processing settings of the processing engine, If there is a change, Directly updating the second business rule storage unit 23 and/or the processing engine 33, The service processing engine 33 is then set to the operational state.  The first service processing engine 32 and the second service processing engine 33 need to at least process whether the received service processing request conforms to a preset rule. In order to achieve hot deployment, In this case, at least two business processing engines are used to complete the hot deployment function. In this example, It is the two business processing engines that perform the hot deployment function in a proactive manner.  -17- 201142708 The output data processing unit 34' is for outputting the business processing result. Mainly after the running business processing engine processes the business processing request,  And sending the result to the output data processing unit 34, The output data processing unit 34 can convert it to a predetermined format and return it to the corresponding requester or to the corresponding result.  The software system includes the above modules, Used to determine if certain requests meet the pre-set rules. The software system can perform various functions. These modules are just a few of them.  In addition, In this case, The business rule base 2 1 is used as a reference business rule base. When you need to modify business rules, Modify directly in the business rule base 2 1 When it is necessary to detect whether the rule has changed, The first service rule storage unit 22 and the second business rule storage unit 23 are compared with the business rule library 21, If there is a difference, The description has been modified. This way the stability of the system is the best.  of course, There are other implementations, such as, Modifying the business rule directly modifies the business rule storage unit 22 corresponding to the service processing engine in the waiting state, Once there are modifications, Indicates that the rules have changed. This implementation is slightly less stable, But similar functions can be achieved as well.  and, The second business processing engine 33/first business processing engine 32 is always in a running state. One is in a wait state. There are multiple implementations on the hardware. such as, Setting a controller on the server, Used to control the states of the first business process engine 32 and the second business process engine 33, Keep them all running, One is in a wait state. such as, The first -18- 201142708 service processing engine 32 and the second service processing engine 33 respectively set state control units, That is, the first service unit is set on the first service processing engine 32, A second state control element is disposed on the second service processing engine 33. Through the communication between the first state control unit and the second state control unit, Control one of the two business processing engines to be running, A wait state.  Please refer to Figure 2, It is an example schematic diagram of the internal structure of the second service processing engine 33/task processing engine 32 of the present case.  The second service processing engine 33/first service processing engine 32 includes:  Business processing unit 41: For respectively connecting the input data processing 31 and the output data processing unit 34, And process the specific logic according to the input, And generate business processing results, The result is then output to the output management unit 34. The service processing unit 41 is mainly a rule stored according to whether the data carried in the service request conforms to the corresponding first service rule storage 2 2 / second service rule storage unit 23. Or the above two interfaces send service processing requests as an example. The first business rule storage 22/the second business rule storage unit·23 can store A1 separately.  A3, Α4, Α5 conditions that these fields need to meet, When receiving the material sent by the material processing unit 31, Determine that the corresponding field satisfies the corresponding condition. And transfer the result to the output data processing unit to process the specific business logic according to the input, And generate business processing results but not limited to the following steps: Determining whether the service processing request received from the input data processing unit 31 is in compliance with the corresponding business rule storage unit storage state control single interworking processing one step one unit unit processing material processing unit description unit Α2  Whether the capital contribution is 3 4〇 includes the regulations -19- 201142708 received.  Scan processing unit 42, Used to detect if the business rules and/or processing engine's processing settings have changed. The scan processing unit 42 can detect whether the processing settings of the corresponding business rule storage unit and/or the corresponding engine have changed, respectively. In this example, Scan processing unit 42 may only detect the corresponding business rules. The scan processing unit 42 detects whether the content stored in the business rule base 2 1 and the setting of the processing engine change. If there is a change, Sending an update trigger signal to the subsequent exchange processing unit 44, The update trigger unit is sent to the update processing unit 43 by the exchange processing unit 44. or, After the scan processing unit 42 detects that a change has occurred, Sending an update trigger signal to the subsequent update processing unit 43, It is sent by the update processing unit 43 to the subsequent exchange processing unit 44 after the update operation.  Update processing unit 43: For directly updating the rules stored by the first business rule storage unit 2 2 / the second business rule storage unit 23, Make it coincide with the business rule base 21. as well as, The update processing unit 43 directly updates the processing engine. That is, The update operation of the update processing unit 43 may include updating only the storage rules in the corresponding business rule storage unit, Make it consistent with the rules stored in the business rule base 2 1. The update processing unit 43 can also perform a restart operation of the corresponding processing engine. Make the settings of the modified processing engine take effect.  In addition, The triggering of the update processing unit 43 can be initiated by the scan processing unit 42. That is, after receiving the trigger signal sent by the scan processing unit 42, the update operation is performed. And after the update operation is completed, the update completion signal is sent to the subsequent exchange processing unit 44. The trigger of the update processing unit 43 may also be initiated by the exchange processing unit 44. That is, after receiving the trigger signal sent by the exchange processing I, the update operation is performed. The update completion signal is sent to the exchange processing unit 44 after the update operation.  In this example, The business processing unit 41 and the scan processing | will work at the same time, While the processing engine is in a wait state, Scan 42 is working. While the processing engine is running, Business 41 is at work. In this example, The processing unit 42 and the service processing unit 41 are in a working state by the switching processing unit 44. Specifically, It can be implemented by the following examples:  A1: When the scan processing unit 42 is in the working state, The rules in the business rule base 2 1 have changed. Then, the touch update processing unit 43 can be sent;  A2: The update processing unit 43 updates the business rule of the corresponding business rule store to coincide with the business rule base 2 1 . Update 43 sends the updated update completion signal to the exchange processing order A3: The exchange processing unit 44 receives the update completion signal, and the service processing engine sends an offline notification. Bring this business process to the running state, And the stop operation signal is sent to the scan processing unit business processing unit 41 to work.  When the business engine is running, Exchange processing order When receiving an offline notification sent by another business processing engine, Set the engine to wait state, Send a stop work signal to the service 41, The scan processing unit 42 is operated. In addition, The processing unit 43 is also required to perform an update operation.  After the I element 44 is sent, the transmission is performed. [Unit 42 does not process the processing unit. The decision is made to detect that the signal is sent to the processing unit in the memory unit 44;  Backward to another engine setting unit 42, Let the element 44 be connected to the business processing processing unit to make the update office -21 - 201142708 or, It can also be implemented by another example as follows:  B 1 : When the scan processing unit 42 is in the working state, Assume that the rule in the business rule base 2 1 has been changed. Then, a trigger signal can be sent to the exchange processing unit 44;  B2: The exchange processing unit 44 receives the trigger signal, Sending a signal to the update processing unit 43, The update operation is performed by the update processing unit 43, And returning the update completion signal to the exchange processing unit 44;  B3: After the exchange processing unit 44 receives the update complete signal, Send an offline notification to another business processing engine. Then set this business processing engine to run. Sending a stop operation signal to the scan processing unit 42, The business processing unit 41 is made to work.  and also, When the business engine is running, When the exchange processing unit 44 receives the offline notification sent by another service processing engine, Set this business processing engine to wait state, Sending a stop operation signal to the business processing unit 41, The scan processing unit 42 is operated. In addition, It is also necessary to have the update processing unit 43 perform an update operation.  In this example, The first business rule storage unit 22 / the second business rule storage unit 23, Can be integrated in the corresponding first service processing engine 32 / second service processing engine 33, Instead of setting it up separately in the database.  In this example, The first service processing engine 32 and the second service processing engine 33 actively determine which service processing engine is currently in the running state.  Referring to FIG. 3', the switching processing unit in this example can be further refined into the -22. 201142708 state subunit 441: Used to save whether the current business processing engine is running or waiting.  Update processing trigger sub-unit 442: Used when the business processing engine is in a wait state, After receiving the signal of the scanning processing unit 42, The trigger signal is sent to the update processing unit 43 to start the update operation of the update processing unit 43.  Promoter unit 4 43: For receiving the update completion signal of the update processing unit 43, Send a downline notification to another business processing engine, Then, the status sub-unit 441 of the business processing engine is set to be the processing engine. The stop operation signal is sent to the scan processing unit 42.  Offline processing subunit 444: Upon receiving an offline notification sent by another business processing engine, Set this business processing engine to wait state, Sending a stop operation signal to the service processing unit 41, The scan processing unit 42 is made to operate.  Offline update subunit 445: Connecting the offline processing sub-unit 444, After receiving the trigger signal sent by the offline processing sub-unit 444, The trigger signal is sent to the update processing unit 43.  When the update processing unit 43 is directly notified by the scan processing unit 42 to perform an update operation, The update processing trigger sub-unit 442 can be omitted.  Based on the above structure, This example reveals a corresponding hot deployment process (see Figure 4).  S110: Setting a first business processing engine and a second business processing engine,  The first service processing engine and the second service processing engine respectively correspond to the first service rule storage unit and the second service rule storage unit. The first business rule -23- 201142708 storage unit and second business rule storage unit are also used to store rules.  The first service processing engine corresponds to the first business rule storage unit, Mainly refers to the first business processing engine processing specific business logic according to the input, And produce business processing results, Processing specific business logic based on input includes an operation: Determining whether the received service processing request meets the rules stored in the first business rule storage unit. Logically, The first service processing engine is connected to the first business rule storage unit. Or the first business rule storage unit is directly set in the first business processing engine. The same is true for the second business processing engine. It is described in different detail here.  In this example, If a business rule base is set, In the initial state,  The content of the first business rule storage unit is exactly the same as the content in the business rule base. Similarly, The content of the second business rule storage unit is exactly the same as the content in the business rule base.  If the business rule base is not set, In the initial state, The first business rule storage unit and the second business rule storage unit store all the business rules, respectively.  S120: Setting one of the first business processing engine and the second business processing engine to a wait state in the software processing system, The other business process engine, which is set to the running state, is running the specific business logic based on the input. And generate business processing results. The step includes the service processing engine set to the running state detecting whether the received service processing request meets the rules stored in the corresponding business rule storage unit. And output the result.  Whether the business processing engine set in the waiting state, the real-time or fixed-cycle detection industry, and/or the processing settings of the processing engine change.  When there are business rules in stock, The change of the business rule means that the rules of the corresponding business rule storage unit and the rules stored by the business rule base are not.  When no business rules are in stock, Once the rules of the corresponding business rule storage unit are modified, When being deleted, etc. You can start the next steps.  s 1 3 0 : When the service processing engine set in the waiting state detects that the setting of the soft system changes, Update the corresponding software system settings.  Changes in the settings of the software system include changes in business rules and changes in the processing settings of the business processing engine.  SM0: The business processing engine set in the waiting state sends a downline notification to another business processing engine. And set this business processing engine to the running state. Process specific business logic based on input, And produce business processing results. The step includes the service processing engine set to the running state detecting whether the received service processing request conforms to the rule stored by the corresponding business rule storage unit. And output the result.  S 1 50 : Another service processing engine stops detecting whether the received service processing request conforms to the rules stored by the business rule storage unit.  Then set the business processing engine to wait state. The software system is then updated. The business processing engine set to wait state requires immediate or periodic detection of business rules and/or whether the processing settings of the processing engine have changed.  As can be seen from the above examples, You don't need to reboot to complete more -25- 201142708 new, and, The case also has a strong _ Small technical effects.  Second example, please refer to Figure 5. It is another example of this case. In this example, it is through the hot deployment processing unit to control which business processing engine is currently in the running state.  The case also includes a database and a server. The server further includes an input data processing unit 51, The first business processing engine 52, Second business processing engine 53, Outside the output data processing unit 54, A thermal deployment processing unit 55 is also included. The hot deployment processing unit 55 is connected to the first service processing engine 52 and the second service processing engine 53, respectively. Used to receive a request, Changing the status of the first business processing engine 52 / the second business processing engine 5 3 where the request is issued, And send a downline notification to the business processing engine. In this situation, The first service processing engine 52 is controlled by the hot deployment processing unit 55, Which of the second service processing engines 53 is in operation, Which is in the wait state.  The first service processing engine 52 / the second service processing engine 53 may include a service processing unit as in the first embodiment, Exchange processing unit, Update the processing unit and scan processing unit. The first service processing engine 52 / the second service processing engine 53 may also include only the service processing unit, Scan processing unit and update unit, The function of the exchange processing unit can be integrated in the thermal deployment processing unit 5 5 .  When the first service processing engine 52 / the second service processing engine 53 can include a service processing unit as in the first embodiment, Exchange processing unit, Update -26- 201142708 When processing units and scanning processing units, The first service processing engine 52 / the second service processing engine 53 further includes:  Business Processing Unit: For respectively connecting the input data processing unit 51 and the output data processing unit 54, And determining whether the service processing request received from the input data processing unit 51 conforms to the rules stored in the service rule storage unit, The result is output to the output data processing unit 53.  Scan processing unit, Used to detect if business rules and/or processing engine processing settings have changed.  Update processing unit: When the scan processing unit detects a change in the business rules and/or the processing settings of the processing engine, It is used to directly update the first service rule storage unit 22/second business rule storage unit 23 and/or directly update the present process engine.  Exchange processing unit +: After receiving the instructions of the thermal deployment processing unit 55, Making the business processing unit 61 work, Or the scan processing unit 62 is operated.  The first service processing engine 52 / the second service processing engine 53 may also include only the service processing unit, Scan processing unit and update unit. The hot deployment processing unit 55 connects the service processing units of the respective processing engines, Scan the processing unit and update unit. That is, The hot deployment processing unit 55 controls the operation of each unit.  Assume that the first service processing engine 52 includes a first service processing unit 521, The first scan processing unit 522 and the first update unit 523. The second service processing engine 53 includes a second service processing unit 531, The second scan processing unit 532 and the second update processing unit 533. and, Assume that the first business office -27- 201142708 is running on the engine 5 2 The second service processing engine 53 is in a waiting state.  After the hot deployment processing unit 55 receives the trigger signal of the second scan processing unit 531, Making the update operation of the second update unit 533 After receiving the update completion signal of the second update unit 533, Sending a stop operation signal to the first service processing unit 521 and the second scan processing unit, The first scan processing unit 522 and the first business processing unit are operated.  As can be seen from the above examples, Updates can be done without rebooting. and, The case also has strong stability. Small technical effects.  Please refer to Figure 7, It is a flowchart of a corresponding method for implementing thermal deployment of a software system in this example. it includes:  S 2 1 0 : Setting a first service processing engine and a second service processing engine for processing core services in the software system, The first service processing engine and the second service processing engine respectively correspond to the first service rule storage unit and the second service rule storage unit.  The first business rule storage unit and the second business rule storage unit are also used to store rules. The first business processing engine corresponds to the first business rule storage unit, Mainly refers to the first business processing engine processing specific business logic according to the input, And generate business processing results, The specific business logic that is processed according to the input includes an operation: It is judged whether the received service processing request conforms to the rule stored by the first business rule storage unit. Logically,  The first service processing engine is connected to the first business rule storage unit. Or the first business rule storage unit is directly disposed in the first business processing engine. The same is true for the second business processing engine. It is described in different detail here.  -28- 201142708 S220 : Setting one of the first business processing engine and the second business processing engine to be in a running state in the software processing system, One is in a wait state 〇 S23 0 : When the processing settings of the software system change, Update the processing settings of the corresponding software system.  S240: Set the service processing engine in the waiting state to the running state. And setting the original business processing engine to the waiting state 〇 When the first business processing engine and the second business processing engine implement the hot deployment through the hot deployment processing unit, It can be achieved by the following steps:  Set up the hot deployment processing unit:  First business processing engine / second business processing engine, When the detection business rule changes or the processing settings of the processing engine change, Directly update the second business rule storage unit or directly update the processing engine. And send a request to the hot processing unit;  The hot deployment processing unit changes the first business processing engine/second business processing engine where the request is issued, and is in a running state. And update another business processing engine to wait, And send a downline notification to the business processing engine » After another business processing engine receives the offline notification, Set this business processing engine to wait state, And updating the rules in the business rule storage unit corresponding to the business processing engine or updating the update of the software setting of the corresponding business processing engine.  -29- 201142708 Application Examples Currently, Detect the credit of a company or a person, Is a very important thing, This case can be applied to the network credit certification system.  The input data processing unit receives a request for credit authentication, The first one of the business processing engine and the second business processing engine that is in operation is authenticated by the business processing engine. When the rules of the business rule base (mainly referring to personal credit rules) change, You can complete the rule update for each engine without stopping the business processing engine. Very practical. 0 This case sets up two business processing engines in the server. Two business processing engines are alternately running in each server system. When one is running, The other is waiting, For the user's business request, Only the business process engine in the running state can accept the processing. When the business rules of the system change, When an update is needed, The waiting business process engine is updated with new business rules and started to exchange services with the running business processing engine. Accepting business requests for processing users,  Simultaneously, Bring the original business processing engine offline, Make the wait state 'wait for the next update, Thereby, the hot deployment of the core business functions of the software system is realized. Generally speaking, Waiting for the business process The engine needs to restart the business process engine after updating the new business rules.  Compared with the prior art, This case has the following beneficial effects:  1, In this case, all servers can be upgraded at the same time when upgrading the system.  No need to reboot the system, And it can still provide external services during the update process. A single server can also implement hot deployment. Really realized the dynamic more -30- 201142708 new, Increased system availability.  2, This case realized that all servers are upgraded at the same time. So there is no need to back up the server. Effectively saves upgrade costs.  The above disclosure is only a few specific embodiments of the present case, However, this case is not limited to this. Any change that can be considered by those skilled in the art, All should fall within the scope of protection of this case.  [Simple diagram of the diagram] Figure 1 is a schematic diagram of the structure of the system for implementing thermal deployment of the software system. Figure 2 is an example schematic diagram of the internal structure of the second service processing engine/first service processing engine of the present invention;  FIG. 3 is a schematic diagram of a specific subdivision structure of an exchange processing unit:  FIG. 4 is a schematic diagram showing an example structure of a second example of a system for implementing thermal deployment of a software system;  5 is a schematic diagram of the internal structure of the second service processing engine/first service processing engine in FIG. 4;  Figure 6 is another schematic diagram of the system of Figure 4;  FIG. 7 is a schematic flow chart of implementing thermal deployment of a software system based on the structure of FIG. 4.  [Main component symbol description] 11 : Server 1 2 : Database -31 - 201142708 2 1 : Business rule base 22 : First business rule storage unit 2 3 : Second business rule storage unit 31: Input data processing unit 32: First business processing engine 33: Second Business Processing Engine 34: Output data processing unit 4 1 : Business Processing Unit 42: Scan processing unit 43: Update processing unit 44: Exchange processing unit 441: Status subunit 442: Update processing trigger subunit 443: Promoter subunit 444: Offline processing subunit 445: Offline update subunit 51: Input data processing unit 52: First business processing engine 53: Second business processing engine 54: Output data processing unit 5 5 : Thermal deployment processing unit 521 : Second scan processing unit 522: The first scanning processing unit 5 2 3 : First update unit -32- 201142708 53 1:  5 3 2 :  5 3 3 :  Second service processing unit second scan processing unit second update unit -33-

Claims (1)

201142708 七、申請專利範圍: 1 · 一種實現軟體系統熱部署的系統,包括伺服器和 資料庫’該伺服器與該資料庫連接,其特徵在於: 該資料庫進一步包括: 第一業務規則儲存單元,用於儲存業務規則;及 第二業務規則儲存單元,用於儲存業務規則; 該伺服器進一步包括: 第一業務處理引擎’連接第一業務規則儲存單元,用 於當其處於運行狀態時,判斷接收到的業務處理請求是否 符合第一業務規則儲存單元儲存的規則,當其處於等待狀 態時’檢測到軟體系統的處理設置發生變化時,先直接更 新對應的設置’再將本業務處理引擎設置爲運行狀態; 第二業務處理引擎’連接第二業務規則儲存單元,用 於當其處於運行狀態時,判斷接收到的業務處理請求是否 符合第二業務規則儲存單元儲存的規則,當其處於等待狀 態時’檢測到軟體系統的處理設置發生變化時,先直接更 新對應的設置,再將本業務處理引擎設置爲運行狀態; 並且’第一業務處理引擎/第二業務處理引擎始終是 一個處於運行狀態,一個處於等待狀態。 2 ·如申請專利範圍第1項所述的系統,其中,軟體 系統的處理設置發生變化進一步包括:對應的業務規則儲 存單元儲存的規則發生變化。 3 ·如申請專利範圍第1或2項所述的系統,其中, 軟體系統的處理設置發生變化進一步包括:本業務處理引 -34- 201142708 擎的處理設置發生變化。 4.如申請專利範圍第1項所述的系統,其中,還包 括: 輸入資料處理單元,分別連接第一業務處理引擎和第 二業務處理引擎,用於接收業務處理請求,並將業務處理 請求發送至處於運行狀態的業務處理引擎;以及 輸出資料處理單元,分別連接第一業務處理引擎和第 二業務處理引擎,用於接收處於運行狀態的業務處理引擎 輸出業務處理結果。 5 ·如申請專利範圍第4項所述的系統,其中,第一 業務處理引擎/第二業務處理引擎進一步包括: 業務處理單元,分別連接輸入資料處理單元和輸出資 料處理單元,用於判斷從輸入資料處理單元接收到的業務 處理請求是否符合對應業務規則儲存單元儲存的規則,並 將結果輸出至輸出資料處理單元; 掃描處理單元,用於檢測對應的業務規則ffg存單元儲 存的業務規則是否發生變化和/或本處理引擎的處理設置 是否發生變化; 更新處理單元,用於直接更新對應的業務規則儲存單 元儲存的規則和/或更新本處理引擎;以及 交換處理單元,用於決定本業務處理引擎處於等待狀 態還是處於空閒狀態。 6.如申請專利範圍第5項所述的系統,其中,交換 處理單元進一步包括: -35- 201142708 狀態子單元,用於保存當前業務處理引擎處於運行狀 態還是等待狀態; 更新處理觸發子單元,用於在本業務處理引擎處於等 待狀態時,接收掃描處理單元的信號後,發送觸發信號至 更新處理單元來啓動更新處理單元的更新操作; 啓動子單元,用於在接收更新處理單元的更新完畢信 號後,向另一業務處理引擎發送下線通知,再將本業務處 理引擎的狀態子單元設置爲本處理引擎爲運行狀態,發送 停止工作信號至掃描處理單元; 下線處理子單元,在接收到另一業務處理引擎發送的 下線通知時,將本業務處理引擎設置爲等待狀態,發送停 止工作信號至業務處理單元,使掃描處理單元工作;以及 下線更新子單元,連接下線處理子單元,用於接收到 下線處理子單元下發的觸發信號後,發送觸發信號至更新 處理單元。 7.如申請專利範圍第1項所述的系統,其中,還包 括熱部署處理單元,其分別連接第一業務處理引擎和第二 業務處理引擎,用於決定第一業務處理引擎和第二業務處 理引擎當前所處的狀態。 8 ·如申請專利範圍第7項所述的系統,其中,第一 業務處理引擎/第二業務處理引擎進一步包括: 業務處理單元,分別連接輸入資料處理單元和輸出資 料處理單元’用於判斷從輸入資料處理單元接收到的業務 處理請求是否符合對應的業務規則儲存單元儲存的規則, -36- 201142708 並將判斷的結果輸出至輸出資料處理單元; 掃描處理單元,用於檢測對應的業務規則儲存單元儲 存的業務規則是否發生變化和/或本處理引擎的處理設置 是否發生變化; 更新處理單元:用於直接更新第一業務規則儲存單元 /第二業務規則儲存單元儲存的規則或直接更新本處理引 擎;以及 交換處理單元:連接熱部署處理單元,用於當本業務 處理引擎處於等待狀態時,在接收更新處理單元的更新信 號後,通過熱部署處理單元向另一業務處理引擎發送下線 通知,再將本業務處理引擎設置爲運行狀態使業務處理單 元工作,並向掃描處理單元發送停止工作信號;在接收到 另一業務處理引擎通過熱部署處理單元發送的下線通知時 ,將本業務處理引擎設置爲等待狀態,並發送停止工作信 號至業務處理單元以及使掃描處理單元停止工作。 9.如申請專利範圍第8項所述的系統,其中,該交 換處理單元進一步包括: 狀態子單元,用於保存當前業務處理引擎處於運行狀 態還是等待狀態; 啓動子單元,用於在接收更新處理單元的更新信號後 ,並通過熱部署處理單元向另一業務處理引擎或直接向另 一業務處理引擎發送下線通知,再將本業務處理引擎設置 爲運行狀態使業務處理單元工作,再發送停止工作信號至 掃描處理單元;以及 -37- 201142708 下線處理子單元,在接收到另一業務處理引擎/熱部 署處理單元發送下線通知時’將本業務處理引擎設置爲等 待狀態,發送停止工作信號至業務處理單元以及使掃描處 理單元工作。 10、一種實現軟體系統熱部署的方法,用於完成軟體 處理系統中核心業務的熱部署’其特徵在於,包括: (1 )在軟體系統中設置用以處理核心業務的第一業 務處理引擎和第二業務處理引擎,該第一業務處理引擎和 第二業務處理引擎分別對應第一業務規則儲存單元和第二 業務規則儲存單元; (2) 設置第一業務處理引擎和第二業務處理引擎的 其中之一爲運行狀態,另一個處於等待狀態; (3) 當軟體系統的處理設置發生變化時,更新處於 等待狀態的業務處理引擎對應的處理設置;以及 (4 )將處於等待狀態的業務處理引擎設定爲運行狀 態,並將原處於運行狀態的業務處理引擎設定爲等待狀態 〇 11 ·如申請專利範圍第1 〇項所述的方法,其中,(4 )之後還包括: 處於等待狀態的業務處理引擎更新對應的軟體系統。 1 2 ·如申請專利範圍第1 0或1 1項所述的方法,其中 ,軟體系統的處理設置發生變化包括: 業務規則儲存單元儲存的規則發生變化。 13.如申請專利範圍第1 0或1 1項所述的方法,其中 -38- 201142708 ,軟體系統的處理設置發生變化包括: 本業務處理引擎的處理設置發生變化。 14. 如申請專利範圍第1 2項所述的方法,其中, 步驟(3)之前還包括:設置業務規則庫,每一次業 務規則發生變化時,直接更新業務規則庫;以及 步驟(3 )業務規則發生變化進一步包括:處於等待 狀態的第一業務處理引擎/第二業務處理引擎檢測業務規 則庫和其對應的業務規則儲存單元中儲存的規則,若存在 不相同,則業務規則發生變化。 15. 如申請專利範圍第1 0項所述的方法,其中, 設置熱部署處理單元; 第一業務處理引擎/第二業務處理引擎,檢測業務規 則發生變化和/或處理引擎的處理設置發生變化時,直接 更新對應的業務規則儲存單元和/或直接更新本處理引擎 ,並向熱部署處理單元發送請求; 熱部署處理單元將發出請求的業務處理引擎所處的狀 態設置爲運行狀態,並將另一業務處理引擎所處的狀態設 置爲等待狀態,並向該業務處理引擎發出下線通知;以及 另一個業務處理引擎接收到下線通知後,更新本業務 處理引擎對應的業務規則儲存單元中的規則。 -39-201142708 VII. Patent application scope: 1 · A system for implementing thermal deployment of a software system, including a server and a database. The server is connected to the database, and the database further includes: a first business rule storage unit And storing a business rule; and a second business rule storage unit, configured to store the business rule; the server further comprising: the first service processing engine 'connecting the first business rule storage unit, when it is in the running state, Determining whether the received service processing request conforms to the rule stored by the first service rule storage unit, and when it is in the waiting state, when it detects that the processing setting of the software system changes, the corresponding setting is directly updated, and then the service processing engine is executed. The second service processing engine is configured to connect to the second service rule storage unit, and when it is in the running state, determine whether the received service processing request conforms to the rule stored by the second service rule storage unit, when it is in the running state 'When the status is waiting, 'where the software system is detected Setting is changed, to directly update the corresponding set, then this set of business process engine operating state; and 'service processing engine, a first / second service is always a processing engine running, in a wait state. 2. The system of claim 1, wherein the change in processing settings of the software system further comprises: a change in a rule stored by the corresponding business rule storage unit. 3. The system of claim 1 or 2, wherein the processing setting of the software system changes further includes: the processing setting of the service processing changes. 4. The system of claim 1, further comprising: an input data processing unit, connected to the first service processing engine and the second service processing engine, respectively, for receiving a service processing request, and processing the service request The service processing engine is sent to the running state; and the output data processing unit is connected to the first service processing engine and the second service processing engine, respectively, for receiving the business processing result outputted by the business processing engine in the running state. The system of claim 4, wherein the first service processing engine/second service processing engine further comprises: a service processing unit, which is respectively connected to the input data processing unit and the output data processing unit for determining Whether the service processing request received by the input data processing unit meets the rules stored by the corresponding business rule storage unit, and outputs the result to the output data processing unit; and the scan processing unit is configured to detect whether the business rule stored by the corresponding service rule ffg storage unit is Whether a change has occurred and/or whether the processing settings of the processing engine have changed; an update processing unit for directly updating the rules stored by the corresponding business rule storage unit and/or updating the processing engine; and an exchange processing unit for determining the service Whether the processing engine is in a wait state or in an idle state. 6. The system of claim 5, wherein the exchange processing unit further comprises: -35- 201142708 a status sub-unit for saving whether the current service processing engine is in a running state or a waiting state; updating the processing trigger sub-unit, When the service processing engine is in a waiting state, after receiving the signal of the scan processing unit, sending a trigger signal to the update processing unit to start an update operation of the update processing unit; and starting a subunit for updating the update processing unit after receiving After the signal, send a offline notification to another service processing engine, and then set the status subunit of the service processing engine to the processing engine to be in the running state, and send the stop working signal to the scanning processing unit; the offline processing subunit receives the other When the service processing engine sends the offline notification, the service processing engine is set to the waiting state, the stop operation signal is sent to the service processing unit to enable the scan processing unit to work; and the offline update subunit is connected to the offline processing subunit for receiving Downline processing subunit Issued after the trigger signal, a trigger signal transmitted to the update processing unit. 7. The system of claim 1, further comprising a thermal deployment processing unit coupled to the first service processing engine and the second service processing engine, respectively, for determining the first service processing engine and the second service Process the current state of the engine. The system of claim 7, wherein the first service processing engine/second service processing engine further comprises: a service processing unit connected to the input data processing unit and the output data processing unit respectively for determining Whether the service processing request received by the input data processing unit conforms to the rule stored by the corresponding business rule storage unit, -36- 201142708 and outputs the result of the judgment to the output data processing unit; and the scan processing unit is configured to detect the corresponding business rule storage Whether the business rule stored by the unit changes and/or whether the processing setting of the processing engine changes; the update processing unit: for directly updating the rule stored by the first business rule storage unit/second business rule storage unit or directly updating the process And an exchange processing unit: a connection hot deployment processing unit, configured to send an offline notification to another service processing engine through the hot deployment processing unit after receiving the update signal of the update processing unit when the service processing engine is in a waiting state, This business The service engine is set to the running state to enable the business processing unit to work, and sends a stop operation signal to the scan processing unit; when receiving the offline notification sent by the other service processing engine through the hot deployment processing unit, the service processing engine is set to the wait state. And send a stop work signal to the business processing unit and cause the scan processing unit to stop working. 9. The system of claim 8, wherein the exchange processing unit further comprises: a status sub-unit for saving whether the current service processing engine is in a running state or a waiting state; and activating the sub-unit for receiving an update After the update signal of the processing unit is processed, the hot-distribution processing unit sends a offline notification to another service processing engine or directly to another service processing engine, and then sets the service processing engine to the running state to make the service processing unit work, and then stops sending. The working signal is sent to the scanning processing unit; and the -37- 201142708 offline processing sub-unit, when receiving another offline processing notification by the service processing engine/thermal deployment processing unit, 'set the service processing engine to a waiting state, and send a stop working signal to The business processing unit and the scanning processing unit work. 10. A method for implementing thermal deployment of a software system for performing hot deployment of core services in a software processing system, characterized by comprising: (1) setting a first service processing engine for processing core services in a software system and a second service processing engine, where the first service processing engine and the second service processing engine respectively correspond to the first service rule storage unit and the second service rule storage unit; (2) setting the first service processing engine and the second service processing engine One of them is in the running state and the other is in the waiting state; (3) when the processing setting of the software system changes, the processing setting corresponding to the service processing engine in the waiting state is updated; and (4) the service processing in the waiting state The engine is set to the running state, and the business processing engine that is in the running state is set to the waiting state. 11 The method described in the first aspect of the patent application, wherein (4) further includes: a service in a waiting state The processing engine updates the corresponding software system. 1 2 The method of claim 10, wherein the processing setting of the software system changes comprises: the rules stored by the business rule storage unit change. 13. The method of claim 1 or claim 1, wherein -38-201142708, the processing setting of the software system changes comprises: the processing setting of the service processing engine changes. 14. The method of claim 12, wherein the step (3) further comprises: setting a business rule base, updating the business rule base directly when each business rule changes; and step (3) The change of the rule further includes: the first service processing engine/second service processing engine in the waiting state detects the rule stored in the business rule base and the corresponding business rule storage unit, and if there is a difference, the business rule changes. 15. The method of claim 10, wherein the hot deployment processing unit is set; the first business processing engine/second business processing engine detects changes in the business rules and/or changes in processing settings of the processing engine Directly updating the corresponding business rule storage unit and/or directly updating the processing engine and sending a request to the hot deployment processing unit; the hot deployment processing unit sets the state of the requesting business processing engine to the running state, and The status of another service processing engine is set to a waiting state, and a offline notification is sent to the service processing engine; and another service processing engine updates the rules in the business rule storage unit corresponding to the service processing engine after receiving the offline notification. . -39-
TW099117424A 2010-05-31 2010-05-31 Methods and systems for implementing hot deployment of software systems TWI494855B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW099117424A TWI494855B (en) 2010-05-31 2010-05-31 Methods and systems for implementing hot deployment of software systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW099117424A TWI494855B (en) 2010-05-31 2010-05-31 Methods and systems for implementing hot deployment of software systems

Publications (2)

Publication Number Publication Date
TW201142708A true TW201142708A (en) 2011-12-01
TWI494855B TWI494855B (en) 2015-08-01

Family

ID=46765125

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099117424A TWI494855B (en) 2010-05-31 2010-05-31 Methods and systems for implementing hot deployment of software systems

Country Status (1)

Country Link
TW (1) TWI494855B (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7178056B2 (en) * 2001-12-04 2007-02-13 Intel Corporation Rolling software upgrades for fault tolerant systems
US7756972B2 (en) * 2005-12-06 2010-07-13 Cisco Technology, Inc. System for power savings in server farms
WO2007081038A1 (en) * 2006-01-10 2007-07-19 Ted Impact Co., Ltd. Resource exploitation supporting method, information processing device, and computer program
US8271998B2 (en) * 2007-04-27 2012-09-18 International Business Machines Corporation Dynamic discovery and definition of mappings of parameters used by service oriented architecture services at runtime
US7865535B2 (en) * 2007-05-18 2011-01-04 International Business Machines Corporation Apparatus, system, and method for a data server-managed web services runtime

Also Published As

Publication number Publication date
TWI494855B (en) 2015-08-01

Similar Documents

Publication Publication Date Title
JP5674825B2 (en) Software hot deployment
US8347378B2 (en) Authentication for computer system management
US10445680B2 (en) Engine for modeling and executing custom business processes
EP2866420B1 (en) Method and device for content synchronization
US8621574B2 (en) Opaque quarantine and device discovery
EP2771803B1 (en) File fetch from a remote client device
WO2019047821A1 (en) Service routing method, device and storage medium
US9600681B2 (en) Method for controlling access to electronic documents using locks
WO2003044698A1 (en) System and methods for asychronous synchronization
US11336588B2 (en) Metadata driven static determination of controller availability
CN111026430A (en) Method and system for flexible node composition on local or distributed computer system
US10541961B2 (en) System and method for automating actions in distributed computing
US20130117768A1 (en) Web service api for unified contact store
US10721335B2 (en) Remote procedure call using quorum state store
CN107623581B (en) Service list generation method, device and system, and acquisition and reporting method and device
KR20210044281A (en) Method and apparatus for ensuring continuous device operation stability in cloud degraded mode
TW201142708A (en) Method and system for implementing software system hot deployment
WO2021134252A1 (en) Inter-device communication method and apparatus, and storage medium
JP4283595B2 (en) Information processing apparatus, object management method, object management program, and recording medium
US20230319559A1 (en) Enrollment of enrollee devices to a wireless network
US11163537B1 (en) Tiered application pattern
EP3993458A1 (en) Enrollment of enrollee devices to a wireless network
US9930428B2 (en) Individualization of migration between telephony systems
CN117631994A (en) Method and device for online migration of volumes, electronic equipment and readable storage medium