TWI690849B - 應用升級與關閉應用之方法及裝置 - Google Patents
應用升級與關閉應用之方法及裝置 Download PDFInfo
- Publication number
- TWI690849B TWI690849B TW106131152A TW106131152A TWI690849B TW I690849 B TWI690849 B TW I690849B TW 106131152 A TW106131152 A TW 106131152A TW 106131152 A TW106131152 A TW 106131152A TW I690849 B TWI690849 B TW I690849B
- Authority
- TW
- Taiwan
- Prior art keywords
- application
- node
- data
- submitted
- management module
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申請提供一種應用升級與關閉應用之方法及裝置,所述方法包括:獲取被提交應用的應用名;在所述被提交應用與已存在的應用重名的情況下,觸發預設的關閉命令,從而調用所述已存在的應用中各節點的結束函數;在接收到所述已存在的應用回傳的執行完畢資訊的情況下,回收所述各節點佔用的進程;在回收完畢的情況下,觸發預設的啟動命令,從而啟動所述被提交應用中各節點對應的進程。應用本申請實施例,應用管理模組在檢測到用戶提交了重名應用時,可以自動地對已存在的應用進行升級,由於無需人為參與,所以減少了應用升級所消耗的時間。
Description
本申請涉及計算機技術領域,尤其涉及一種應用升級與關閉應用之方法及裝置。
一個系統提供給用戶的各種服務其實是由對應的各種應用來支持的。
通常,運行中的應用會一直接收其它資料源(如系統、應用、客戶端等)回流的資料。以推薦場景為例,用戶A查看了一篇文章,那麼該行為資料(即查看這篇文章)就會通過日誌回流到系統中,該系統解析日中後,查詢用戶A的好友資訊;接著將用戶A的行為資料和好友資訊回流到推薦應用中;這樣,推薦應用就可以基於回流資料給用戶A的好友推薦類似於“您的好友A看過了XX文章”的資訊。這種應用由於需要實時地給用戶提供服務,所以對可用性要求較高。但是,一個應用不可避免的都會需要進行升級。
現有技術中,應用升級流程如圖1所示,在升級過程中,各個環節都需要人工確認後進行操作,包括:A1:人工停止老應用從資料源接收回流的資料;
A2:在人工確認所述老應用內未處理的資料處理完畢後,人工向應用管理模組提交關閉所述老應用的命令(即kill命令);A3:在人工確定應用管理模組完全關閉所述老應用後,人工向應用管理模組提交啟動新應用的命令(即start命令);A4:等待應用管理模組啟動完畢所述新應用。
如上所述,由於應用是停機升級,所以整個升級過程直到新應用啟動完畢之前都無法給用戶提供服務。而且,由於各個環節都需要人工參與,所以整個應用升級所需時間比較多,如圖1中A1到A2之間耗時大於4分鐘,A2到A3之間耗時大於3分鐘,A3待A4之間耗時大於3分鐘,整個升級過程耗時需要10分鐘以上。
綜上所述,現有技術中存在有應用升級耗時較多的問題。
本申請提供的一種應用升級與關閉應用之方法及裝置,以解決現有技術中應用升級耗時較多的問題。
根據本申請實施例提供的一種應用升級方法,所述方法應用於應用管理模組,所述方法包括:獲取被提交應用的應用名;在所述被提交應用與已存在的應用重名的情況下,觸發預設的關閉命令,從而調用所述已存在的應用中各節點的結束函數; 在接收到所述已存在的應用回傳的執行完畢資訊的情況下,回收所述各節點佔用的進程; 在回收完畢的情況下,觸發預設的啟動命令,從而啟動所述被提交應用中各節點對應的進程。 可選的,在所述被提交應用與已存在的應用重名的情況下,觸發預設的關閉命令,從而調用所述已存在的應用中各節點的結束函數,具體包括: 在所述被提交應用與已存在的應用重名的情況下,判斷是否接收到提交的針對所述已存在的應用的升級命令; 在接收到提交的針對所述已存在的應用的升級命令的情況下,觸發預設的關閉命令,從而調用所述已存在的應用中各節點的結束函數。 可選的,所述應用包括JStorm應用; 所述進程包括jvm進程。 根據本申請實施例提供的一種關閉應用方法,所述方法應用於待升級的應用,所述方法包括: 在被應用管理模組調用節點的結束函數後,停止根節點接收回流的資料,並將所述根節點確定為當前節點; 處理當前節點內的資料並發送到下游節點; 在當前節點內的資料處理完畢並且接收到上游全部節點廣播的結束標識後,向所述當前節點的下游全部子節點廣播結束標識; 在當前節點存在下一個節點的情況下,將下一個節點確定為當前節點,回傳執行所述處理當前節點內的資料並發送到下游節點的步驟; 在當前節點為最後一個節點的情況下,所述根節點向所述應用管理模組回傳執行完畢資訊,從而等待所述應用管理模組回收各節點對應的進程。 可選的,所述應用包括JStorm應用; 所述進程包括jvm進程。 根據本申請實施例提供的一種應用升級裝置,所述裝置應用於應用管理模組,所述裝置包括: 獲取單元,獲取被提交應用的應用名; 調用單元,在所述被提交應用與已存在的應用重名的情況下,觸發預設的關閉命令,從而調用所述已存在的應用中各節點的結束函數; 回收單元,在接收到所述已存在的應用回傳的執行完畢資訊的情況下,回收所述各節點佔用的進程; 啟動單元,在回收完畢的情況下,觸發預設的啟動命令,從而啟動所述被提交應用中各節點對應的進程。 可選的,所述調用單元,具體包括: 判斷子單元,在所述被提交應用與已存在的應用重名的情況下,判斷是否接收到提交的針對所述已存在的應用的升級命令; 調用子單元,在接收到提交的針對所述已存在的應用的升級命令的情況下,觸發預設的關閉命令,從而調用所述已存在的應用中各節點的結束函數。 可選的,所述應用包括JStorm應用; 所述進程包括jvm進程。 根據本申請實施例提供的一種關閉應用裝置,所述裝置應用於待升級的應用,所述裝置包括: 停止接收單元,在被應用管理模組調用節點的結束函數後,停止根節點接收回流的資料,並將所述根節點確定為當前節點; 處理資料單元,處理當前節點內的資料並發送到下游節點; 廣播標識單元,在當前節點內的資料處理完畢並且接收到上游全部節點廣播的結束標識後,向所述當前節點的下游全部子節點廣播結束標識; 控制單元,在當前節點存在下一個節點的情況下,將下一個節點確定為當前節點後輸入到所述處理資料單元中; 回傳資訊單元,在當前節點為最後一個節點的情況下,所述根節點向所述應用管理模組回傳執行完畢資訊,從而等待所述應用管理模組回收各節點對應的進程。 可選的,所述應用包括JStorm應用; 所述進程包括jvm進程。 本申請實施例中,對應用管理模組(Topology Manager,TM)進行改造,使得所述應用管理模組可以允許用戶提交重名的應用。如此,在所述應用管理模組檢測到用戶提交了重名應用時,可以自動地對已存在的重名應用進行升級。這樣,避免了現有技術中應用升級過程中需要人為參與所造成的耗時較多的問題,從而大大減少了應用升級所消耗的時間。本申請實施例還對應用的結束流程進行改造,使得任意節點在處理完畢其內的資料以及在接收到全部上游節點廣播的結束標識的情況下,需要向下游全部節點廣播結束標識;在全部節點都處理完資料後,根節點才可以向應用管理模組回傳執行完畢資訊,從而等待應用管理模組回收各節點對應的進程。如此,透過結束標識可以確保應用的每一個節點內的資料都處理完畢,保證了資料處理的完整性,避免人為確定資料處理完畢時可能遺漏的情況,而且由於沒有人為參與,因此大大減少了應用升級所消耗的時間。
這裡將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式並不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附申請專利範圍中所詳述的、本申請的一些方面相一致的裝置和方法的例子。 在本申請使用的術語是僅僅出於描述特定實施例的目的,而非旨在限制本申請。在本申請和所附申請專利範圍中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“及/或”是指並包含一個或多個相關聯的列出項目的任何或所有可能組合。 應當理解,儘管在本申請可能採用術語第一、第二、第三等來描述各種資訊,但這些資訊不應限於這些術語。這些術語僅用來將同一類型的資訊彼此區分開。例如,在不脫離本申請範圍的情況下,第一資訊也可以被稱為第二資訊,類似地,第二資訊也可以被稱為第一資訊。取決於語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“反應於確定”。 以下舉例說明本申請實施例可以應用的JStorm的場景中。 Storm是一種開源的分佈式容錯實時計算系統,使用Storm可以降低並行批量處理資料的複雜度。一般的,Storm被用在對實時處理的系統中。 JStorm是用Java重新實現了類Storm的系統。JStorm繼承了Storm的所有優點,並且JStorm比Storm更強大、更穩定、性能更好。 一般的,JStorm應用可以部署在系統的應用管理模組中(Topology Manager,TM)。JStorm應用與應用管理模組之間可以進行通訊,並完成應用升級等功能。 請參見圖2,為本申請一實施例提供的應用升級方法的流程圖,該實施例從應用管理模組側進行描述,包括以下步驟: 步驟110:獲取被提交應用的應用名。 本實施例中,透過對應用管理模組進行改造,允許用戶在應用管理模組中提交同名的應用。 所述應用管理模組在用戶提交應用後,可以獲取被提交應用的應用名。 步驟120:在所述被提交應用與已存在的應用重名的情況下,觸發預設的關閉命令,從而調用所述已存在的應用中各節點的結束函數。 本實施例中,如果用戶提供的應用與已存在的應用重名,則說明需要對已存在的重名應用進行升級,並且所述應用管理器自動地進入升級流程,即觸發預設的關閉命令,從而調用所述已存在的應用中各節點的結束函數。 所述結束函數用於節點處理未處理完畢的資料進而等待回收該節點對應的進程。 步驟130:在接收到所述已存在的應用回傳的執行完畢資訊的情況下,回收所述各節點佔用的進程。 本實施例中,應用管理模組在調用所述已存在的應用中各節點的結束函數後,需要等待所述已存在的應用中各節點處理未處理完畢的資料。 一般的,已存在的應用處理完資料後,會回傳一個執行完畢資訊;所以應用管理模組在接收到所述已存在的應用回傳的執行完畢資訊的情況下,則說明所述已存在的應用內未處理完的資料已經都處理完畢了,因此,可以回收所述各節點佔用的進程。 步驟140:在回收完畢的情況下,觸發預設的啟動命令,從而啟動所述被提交應用中各節點對應的進程。 本實施例中,應用管理模組在回收了所述已存在的應用所有節點佔用的進程後,則說明所述已存在的應用已經完全關閉了,接著可以啟動所述被提交應用了; 具體地,在回收完畢的情況下,觸發預設的啟動命令,從而啟動所述被提交應用中各節點對應的進程。 在等待所述被提交應用中各節點對應的進程都啟動後,則說明所述被提交應用已經啟動。如此,整個應用升級過程結束。 透過本實施例,對應用管理模組進行改造,使得所述應用管理模組可以允許用戶提交重名的應用。如此,在所述應用管理模組檢測到用戶提交了重名應用時,可以自動地對已存在的重名應用進行升級。這樣,大大減少了應用升級所消耗的時間(可以縮短到3分鐘左右),避免了現有技術中應用升級過程中需要人為參與所造成的耗時較多的問題。 上述實施例中,應用管理模組只要檢測到提交應用出現重名時,會自動地對已存在的重名應用進行升級,即關閉老應用(已存在的應用),啟動新應用(提交的應用)。這樣,雖然可以大大縮短應用升級時間,但是在實際應用中,提交應用是人為操作的,而人為操作往往具有很多不確定因素,例如用戶提交的應用雖然重名,但並不是升級老應用的,只是命名相同的另一個應用。這種情況下,透過上述實施例提供的應用升級方法,就會直接對老應用進行升級,這樣就會出現升級錯誤。 為了解決這樣問題,在本申請的另一個實施例中,所述步驟120,具體可以包括如下步驟: 在所述被提交應用與已存在的應用重名的情況下,判斷是否接收到提交的針對所述已存在的應用的升級命令; 在接收到提交的針對所述已存在的應用的升級命令的情況下,觸發預設的關閉命令,從而調用所述已存在的應用中各節點的結束函數。 本實施例中與上述實施例相比,應用管理模組在檢測到提交應用重名時,不會直接對已存在的應用進行升級,而是需要經過用戶確定,用戶確定後,可以回傳一個升級命令。應用管理模組只有在接收到提交的針對所述已存在的應用的升級命令的情況下,才會觸發預設的關閉命令,從而調用所述已存在的應用中各節點的結束函數。 如圖3所示的提示資訊示意圖中,應用管理模組可以輸出一個用於確定的提示資訊“您確定對應用進行升級嗎”,還可以顯示重名的已存在應用詳情和重名的提交應用詳情。 透過本實施例,對應用管理模組進行改造,使得所述應用管理模組可以允許用戶提交重名的應用,並且將原本需要人工提交的兩個命令簡化為一個升級命令。如此,透過需要用戶提交一個升級命令避免了上一實施例中的問題,而且依然可以避免了現有技術中應用升級過程中需要人為參與所造成的耗時較多的問題,從而大大減少了應用升級所消耗的時間。 在本申請所述的應用升級方法可以應用在JStorm場景中,即所述應用包括JStorm應用,而對應的,所述進程包括jvm進程。 一般的,應用處理輸入的資料時,可以分為多個處理步驟,每一個處理步驟都可以視為一個節點。通常,每一個節點都會對應一個進程。其中,與資料源連接的節點可以稱為根節點(spout),其它的節點可以稱為子節點(bolt)。如圖4所示的節點示意圖中,節點1即為根節點,節點2、3、4、即為子節點。每一個資料都是按照節點的先後順序處理的。 現有技術中,在關閉老應用時,需要人工確定老應用內未處理的資料處理完畢。然而,人工確定並不準確,而且需要依靠一定經驗來判斷,無法保證老應用內未處理的資料完全處理。 為了解決這一問題,請參見圖5,為本申請一實施例提供的關閉應用方法的流程圖,該實施例從待升級的應用側進行描述,包括以下步驟: 步驟210:在被應用管理模組調用節點的結束函數後,停止根節點接收回流的資料,並將所述根節點確定為當前節點。 本實施例中,如前所述,根節點了連接資料源,在關閉應用時,需要停止根節點接收資料源回流的資料。 步驟220:處理當前節點內的資料並發送到下游節點。 本實施例中,當前節點內未處理的資料需要進行處理,並將處理的資料發送到下游節點,圖4中根節點1處理的資料,需要發送到下游節點即節點2。 步驟230:在當前節點內的資料處理完畢並且接收到上游全部節點廣播的結束標識後,向所述當前節點的下游全部子節點廣播結束標識。 本實施例中,所述結束標識用於表示節點內的資料處理完畢。例如節點2廣播結束標識,說明節點2內的資料處理完畢。 當前節點將資料處理完畢後,需要判斷是否接收到上游全部節點廣播的結束標識;在當前節點內的資料處理完畢並且接收到上游全部節點廣播的結束標識後,向所述當前節點的下游全部子節點廣播結束標識。 步驟240:在當前節點存在下一個節點的情況下,將下一個節點確定為當前節點,回傳執行步驟220。 步驟250:在當前節點為最後一個節點的情況下,所述根節點向所述應用管理模組回傳執行完畢資訊,從而等待所述應用管理模組回收各節點對應的進程。 本實施例中,在最後一個節點接收到上游全部節點廣播的結束標識後,可以通知根節點,然後,所述根節點向所述應用管理模組回傳執行完畢資訊,從而等待所述應用管理模組回收各節點對應的進程。 透過本實施例,對應用的結束流程進行改造,使得任意節點在處理完畢其內的資料以及在接收到全部上游節點廣播的結束標識的情況下,需要向下游全部節點廣播結束標識;在全部節點都處理完資料後,根節點才可以向應用管理模組回傳執行完畢資訊,從而等待應用管理模組回收各節點對應的進程。如此,透過結束標識可以確保應用的每一個節點內的資料都處理完畢,保證了資料處理的完整性,避免人為確定資料處理完畢時可能遺漏的情況,而且由於沒有人為參與,因此大大減少了應用升級所消耗的時間。 本實施例中,透過對應用管理模組和應用升級流程的改造,在應用升級時,可以由應用管理模組和應用本身自動地完成升級,整個過程無需人工參與,實現了減少應用升級所需時間的目的。 在本申請所述的關閉應用方法可以應用在JStorm場景中,即所述應用包括JStorm應用,而對應的,所述進程包括jvm進程。 與前述應用升級方法實施例相對應,本申請還提供了一種應用升級裝置的實施例。 本申請應用升級裝置的實施例可以應用在應用管理模組。裝置實施例可以透過軟體實現,也可以透過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是透過其所在設備的處理器將非揮發性儲存器中對應的計算機程式指令讀取到內存記憶體中運行形成的。從硬體層面而言,如圖6所示,為本申請應用升級裝置所在設備的一種硬體結構圖,除了圖6所示的處理器、網路介面、內存記憶體以及非揮發性儲存器之外,實施例中裝置所在的設備通常根據該應用升級的實際功能,還可以包括其他硬體,對此不再贅述。 參見圖7,為本申請一實施例提供的應用升級裝置的模組圖,該實施例從應用管理模組側進行描述,所述裝置包括:獲取單元310、調用單元320、回收單元330和啟動單元340。 其中,獲取單元310,獲取被提交應用的應用名; 調用單元320,在所述被提交應用與已存在的應用重名的情況下,觸發預設的關閉命令,從而調用所述已存在的應用中各節點的結束函數; 回收單元330,在接收到所述已存在的應用回傳的執行完畢資訊的情況下,回收所述各節點佔用的進程; 啟動單元340,在回收完畢的情況下,觸發預設的啟動命令,從而啟動所述被提交應用中各節點對應的進程。 在一個可選的實現方式中: 所述調用單元320,具體包括: 判斷子單元,在所述被提交應用與已存在的應用重名的情況下,判斷是否接收到提交的針對所述已存在的應用的升級命令; 調用子單元,在接收到提交的針對所述已存在的應用的升級命令的情況下,觸發預設的關閉命令,從而調用所述已存在的應用中各節點的結束函數。 在一個可選的實現方式中: 所述應用包括JStorm應用; 所述進程包括jvm進程。 與前述關閉應用方法實施例相對應,本申請還提供了一種關閉應用裝置的實施例。 本申請關閉應用裝置的實施例可以應用在待升級的應用。裝置實施例可以透過軟體實現,也可以透過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是透過其所在設備的處理器將非揮發性儲存器中對應的計算機程式指令讀取到內存記憶體中運行形成的。從硬體層面而言,如圖8所示,為本申請關閉應用裝置所在設備的一種硬體結構圖,除了圖8所示的處理器、網路介面、內存記憶體以及非揮發性儲存器之外,實施例中裝置所在的設備通常根據該關閉應用的實際功能,還可以包括其他硬體,對此不再贅述。 參見圖9,為本申請一實施例提供的關閉應用裝置的模組圖,該實施例從待升級的應用側進行描述,所述裝置包括:停止接收單元410、處理資料單元420、廣播標識單元430、控制單元440和回傳資訊單元450。 其中,停止接收單元410,在被應用管理模組調用節點的結束函數後,停止根節點接收回流的資料,並將所述根節點確定為當前節點; 處理資料單元420,處理當前節點內的資料並發送到下游節點; 廣播標識單元430,在當前節點內的資料處理完畢並且接收到上游全部節點廣播的結束標識後,向所述當前節點的下游全部子節點廣播結束標識; 控制單元440,在當前節點存在下一個節點的情況下,將下一個節點確定為當前節點後輸入到所述處理資料單元中; 回傳資訊單元450,在當前節點為最後一個節點的情況下,所述根節點向所述應用管理模組回傳執行完畢資訊,從而等待所述應用管理模組回收各節點對應的進程。 在一個可選的實現方式中: 所述應用包括JStorm應用; 所述進程包括jvm進程。 綜上所述,本申請實施例中,對應用管理模組(Topology Manager,TM)進行改造,使得所述應用管理模組可以允許用戶提交重名的應用。如此,在所述應用管理模組檢測到用戶提交了重名應用時,可以自動地對已存在的重名應用進行升級。這樣,避免了現有技術中應用升級過程中需要人為參與所造成的耗時較多的問題,從而大大減少了應用升級所消耗的時間。本申請實施例還對應用的結束流程進行改造,使得任意節點在處理完畢其內的資料以及在接收到全部上游節點廣播的結束標識的情況下,需要向下游全部節點廣播結束標識;在全部節點都處理完資料後,根節點才可以向應用管理模組回傳執行完畢資訊,從而等待應用管理模組回收各節點對應的進程。如此,透過結束標識可以確保應用的每一個節點內的資料都處理完畢,保證了資料處理的完整性,避免人為確定資料處理完畢時可能遺漏的情況,而且由於沒有人為參與,因此大大減少了應用升級所消耗的時間。 上述裝置中各個單元的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。 對於裝置實施例而言,由於其基本對應於方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是實體上分開的,作為單元顯示的部件可以是或者也可以不是實體單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部模組來實現本申請方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。 本領域技術人員在考慮說明書及實踐這裡公開的發明後,將容易想到本申請的其它實施方案。本申請旨在涵蓋本申請的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本申請的一般性原理並包括本申請未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本申請的真正範圍和精神由下面的申請專利範圍指出。 應當理解的是,本申請並不局限於上面已經描述並在附圖中示出的精確結構,並且可以在不脫離其範圍進行各種修改和改變。本申請的範圍僅由所附的申請專利範圍來限制。
310‧‧‧獲取單元320‧‧‧調用單元330‧‧‧回收單元340‧‧‧啟動單元410‧‧‧停止接收單元420‧‧‧處理資料單元430‧‧‧廣播標識單元440‧‧‧控制單元450‧‧‧回傳資訊單元
圖1是現有技術中應用升級方法的流程圖; 圖2是本申請一實施例提供的應用升級方法的流程圖; 圖3是本申請一實施例提供的提示資訊示意圖; 圖4是本申請一實施例提供的應用中的各節點示意圖; 圖5是本申請一實施例提供的關閉應用方法的流程圖; 圖6是本申請提供的應用升級裝置所在設備的一種硬體結構圖; 圖7是本申請一實施例提供的應用升級裝置的模組示意圖; 圖8是本申請提供的關閉應用裝置所在設備的一種硬體結構圖; 圖9是本申請一實施例提供的關閉應用裝置的模組示意圖。
Claims (10)
- 一種應用升級方法,其特徵在於,該方法應用於應用管理模組,該方法包括:獲取被提交應用的應用名;在該被提交應用與已存在的應用重名的情況下,觸發預設的關閉命令,從而調用該已存在的應用中各節點的結束函數;在接收到該已存在的應用回傳的執行完畢資訊的情況下,回收該各節點佔用的進程;在回收完畢的情況下,觸發預設的啟動命令,從而啟動該被提交應用中各節點對應的進程;其中,在被該應用管理模組調用該節點的結束函數後,該已存在的應用執行:停止根節點接收回流的資料,並將該根節點確定為當前節點;處理當前節點內的資料並發送到下游節點;在當前節點內的資料處理完畢並且接收到上游全部節點廣播的結束標識後,向該當前節點的下游全部子節點廣播結束標識;在當前節點存在下一個節點的情況下,將下一個節點確定為當前節點,回傳執行該處理當前節點內的資料並發送到下游節點的步驟;在當前節點為最後一個節點的情況下,該根節點向該 應用管理模組回傳執行完畢資訊。
- 根據申請專利範圍第1項所述的方法,其中,在該被提交應用與已存在的應用重名的情況下,觸發預設的關閉命令,從而調用該已存在的應用中各節點的結束函數,具體包括:在該被提交應用與已存在的應用重名的情況下,判斷是否接收到提交的針對該已存在的應用的升級命令;在接收到提交的針對該已存在的應用的升級命令的情況下,觸發預設的關閉命令,從而調用該已存在的應用中各節點的結束函數。
- 根據申請專利範圍第1項所述的方法,其中,該應用包括JStorm應用;該進程包括jvm進程。
- 一種關閉應用方法,其特徵在於,該方法應用於待升級的應用,該方法包括:在被應用管理模組調用節點的結束函數後,停止根節點接收回流的資料,並將該根節點確定為當前節點;處理當前節點內的資料並發送到下游節點;在當前節點內的資料處理完畢並且接收到上游全部節點廣播的結束標識後,向該當前節點的下游全部子節點廣播結束標識; 在當前節點存在下一個節點的情況下,將下一個節點確定為當前節點,回傳執行該處理當前節點內的資料並發送到下游節點的步驟;在當前節點為最後一個節點的情況下,該根節點向該應用管理模組回傳執行完畢資訊,從而等待該應用管理模組回收各節點對應的進程。
- 根據申請專利範圍第4項所述的方法,其中,該應用包括JStorm應用;該進程包括jvm進程。
- 一種應用升級裝置,其特徵在於,該裝置應用於應用管理模組,該裝置包括:獲取單元,獲取被提交應用的應用名;調用單元,在該被提交應用與已存在的應用重名的情況下,觸發預設的關閉命令,從而調用該已存在的應用中各節點的結束函數;回收單元,在接收到該已存在的應用回傳的執行完畢資訊的情況下,回收該各節點佔用的進程;啟動單元,在回收完畢的情況下,觸發預設的啟動命令,從而啟動該被提交應用中各節點對應的進程;其中,在被該應用管理模組調用該節點的結束函數後,該已存在的應用執行:停止根節點接收回流的資料,並將該根節點確定為當 前節點;處理當前節點內的資料並發送到下游節點;在當前節點內的資料處理完畢並且接收到上游全部節點廣播的結束標識後,向該當前節點的下游全部子節點廣播結束標識;在當前節點存在下一個節點的情況下,將下一個節點確定為當前節點,回傳執行該處理當前節點內的資料並發送到下游節點的步驟;在當前節點為最後一個節點的情況下,該根節點向該應用管理模組回傳執行完畢資訊。
- 根據申請專利範圍第6項所述的裝置,其中,該調用單元,具體包括:判斷子單元,在該被提交應用與已存在的應用重名的情況下,判斷是否接收到提交的針對該已存在的應用的升級命令;調用子單元,在接收到提交的針對該已存在的應用的升級命令的情況下,觸發預設的關閉命令,從而調用該已存在的應用中各節點的結束函數。
- 根據申請專利範圍第6項所述的裝置,其中,該應用包括JStorm應用;該進程包括jvm進程。
- 一種關閉應用裝置,其特徵在於,該裝置應用於待升級的應用,該裝置包括:停止接收單元,在被應用管理模組調用節點的結束函數後,停止根節點接收回流的資料,並將該根節點確定為當前節點;處理資料單元,處理當前節點內的資料並發送到下游節點;廣播標識單元,在當前節點內的資料處理完畢並且接收到上游全部節點廣播的結束標識後,向該當前節點的下游全部子節點廣播結束標識;控制單元,在當前節點存在下一個節點的情況下,將下一個節點確定為當前節點後輸入到該處理資料單元中;回傳資訊單元,在當前節點為最後一個節點的情況下,該根節點向該應用管理模組回傳執行完畢資訊,從而等待該應用管理模組回收各節點對應的進程。
- 根據申請專利範圍第9項所述的裝置,其中,該應用包括JStorm應用;該進程包括jvm進程。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610974024.6 | 2016-10-28 | ||
CN201610974024.6A CN106980515B (zh) | 2016-10-28 | 2016-10-28 | 一种应用升级方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201816605A TW201816605A (zh) | 2018-05-01 |
TWI690849B true TWI690849B (zh) | 2020-04-11 |
Family
ID=59340422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106131152A TWI690849B (zh) | 2016-10-28 | 2017-09-12 | 應用升級與關閉應用之方法及裝置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10678532B2 (zh) |
CN (1) | CN106980515B (zh) |
PH (1) | PH12019500935A1 (zh) |
TW (1) | TWI690849B (zh) |
WO (1) | WO2018077088A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980515B (zh) | 2016-10-28 | 2020-04-14 | 阿里巴巴集团控股有限公司 | 一种应用升级方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140157251A1 (en) * | 2012-12-04 | 2014-06-05 | International Business Machines Corporation | Software version management |
CN105117265A (zh) * | 2015-09-17 | 2015-12-02 | 北京金山安全软件有限公司 | 一种文件升级的方法、装置和终端 |
CN105335183A (zh) * | 2014-08-06 | 2016-02-17 | 乐视致新电子科技(天津)有限公司 | 一种软件升级方法及系统 |
CN105528231A (zh) * | 2016-01-21 | 2016-04-27 | 华中科技大学 | 一种基于中间辅助函数的软件动态升级方法及系统 |
CN105677433A (zh) * | 2016-03-15 | 2016-06-15 | 深圳创维-Rgb电子有限公司 | 服务器程序热升级的方法及装置 |
CN105824618A (zh) * | 2016-03-10 | 2016-08-03 | 浪潮软件集团有限公司 | 一种关于Storm使用的实时消息处理方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7784044B2 (en) * | 2002-12-02 | 2010-08-24 | Microsoft Corporation | Patching of in-use functions on a running computer system |
US7886287B1 (en) * | 2003-08-27 | 2011-02-08 | Avaya Inc. | Method and apparatus for hot updating of running processes |
US7779091B2 (en) * | 2005-12-19 | 2010-08-17 | Vmware, Inc. | Method and system for providing virtualized application workspaces |
US8935429B2 (en) * | 2006-12-19 | 2015-01-13 | Vmware, Inc. | Automatically determining which remote applications a user or group is entitled to access based on entitlement specifications and providing remote application access to the remote applications |
US9697042B2 (en) * | 2010-07-30 | 2017-07-04 | Sap Se | Extensibility of business process and application logic |
CN106980515B (zh) * | 2016-10-28 | 2020-04-14 | 阿里巴巴集团控股有限公司 | 一种应用升级方法及装置 |
-
2016
- 2016-10-28 CN CN201610974024.6A patent/CN106980515B/zh active Active
-
2017
- 2017-09-12 TW TW106131152A patent/TWI690849B/zh active
- 2017-10-18 WO PCT/CN2017/106672 patent/WO2018077088A1/zh active Application Filing
-
2019
- 2019-04-25 PH PH12019500935A patent/PH12019500935A1/en unknown
- 2019-04-26 US US16/395,990 patent/US10678532B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140157251A1 (en) * | 2012-12-04 | 2014-06-05 | International Business Machines Corporation | Software version management |
CN105335183A (zh) * | 2014-08-06 | 2016-02-17 | 乐视致新电子科技(天津)有限公司 | 一种软件升级方法及系统 |
CN105117265A (zh) * | 2015-09-17 | 2015-12-02 | 北京金山安全软件有限公司 | 一种文件升级的方法、装置和终端 |
CN105528231A (zh) * | 2016-01-21 | 2016-04-27 | 华中科技大学 | 一种基于中间辅助函数的软件动态升级方法及系统 |
CN105824618A (zh) * | 2016-03-10 | 2016-08-03 | 浪潮软件集团有限公司 | 一种关于Storm使用的实时消息处理方法 |
CN105677433A (zh) * | 2016-03-15 | 2016-06-15 | 深圳创维-Rgb电子有限公司 | 服务器程序热升级的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
TW201816605A (zh) | 2018-05-01 |
US10678532B2 (en) | 2020-06-09 |
PH12019500935A1 (en) | 2019-12-02 |
CN106980515B (zh) | 2020-04-14 |
CN106980515A (zh) | 2017-07-25 |
US20190250904A1 (en) | 2019-08-15 |
WO2018077088A1 (zh) | 2018-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220179682A1 (en) | Task processing method, apparatus, and system based on distributed system | |
EP3842948B1 (en) | Method and apparatus for testing edge computing, device, and readable storage medium | |
CN110781007B (zh) | 任务处理方法、装置、服务器、客户端、系统和存储介质 | |
JP6748638B2 (ja) | マルチテナントアプリケーションサーバ環境においてパッチングをサポートするためのシステムおよび方法 | |
US9904585B1 (en) | Error handling in executing workflow state machines | |
WO2021120887A1 (zh) | 一种家电多mcu系统在线升级方法、电子设备及介质 | |
US8370802B2 (en) | Specifying an order for changing an operational state of software application components | |
CN105593817B (zh) | 本地或分布式计算机系统上的柔性节点组成的方法和系统 | |
WO2016037479A1 (zh) | 虚拟化网络功能vnf优化方法、装置及系统 | |
CN106027644B (zh) | 一种业务的校验方法及系统 | |
JP2013012250A (ja) | ファームウェアイメージの更新および管理 | |
CN105607972B (zh) | 一种异常修复的方法及装置 | |
US20170269926A1 (en) | Server program hot upgrading method and device | |
CN112799786A (zh) | 微服务实例的退出方法、装置、设备及存储介质 | |
WO2019024679A1 (zh) | 网络功能的升级方法及升级管理实体 | |
CN111209265A (zh) | 一种数据库切换方法和终端设备 | |
WO2021057880A1 (zh) | 物联网设备的程序升级方法、装置及物联网设备 | |
CN105373563B (zh) | 数据库切换方法及装置 | |
TWI690849B (zh) | 應用升級與關閉應用之方法及裝置 | |
WO2020024458A1 (zh) | 业务接口的管理方法及装置、存储介质、计算机设备 | |
WO2024139011A1 (zh) | 信息处理方法 | |
CN112148420B (zh) | 基于容器技术的异常任务处理方法、服务器及云平台 | |
CN106933932B (zh) | 数据处理方法、装置及应用服务器 | |
US20200233749A1 (en) | Error handling tool | |
US20210240698A1 (en) | Asynchronous remote calls with undo data structures |