專利名稱:服務提供方法以及使用該方法的裝置的制作方法
技術領域:
本發明涉及服務提供方法以及服務提供裝置,并更具體地,涉及能夠考慮到各種應用環境來有效提供大容量流數據的接近實時分析和處理服務的服務提供方法以及服務提供裝置。
背景技術:
由于無處不在(ubiquitous)的計算環境的引入以及以用戶為中心的因特網服務市場的快速發展,所以要處理的數據量已迅速增加,并且也已使得數據的類型更多樣化。所以,已進行各種分布(distributed)數據處理研究,以便提供用于大容量數據的接近實時分析和處理服務。作為各種分布數據處理研究之一,圖I是示出了根據現有技術的用于處理大容量數據的并行分布處理結構的一個示范實施例的示意圖。參考圖I,服務100包括單一輸入源(輸入源I) 100和單一輸出源(輸出源I) 130,并由處理來自輸入源的數據的多個節點(節點I到節點5) 111到115來運行。該服務可通過組合所提供的算子(operator)并定義數據流圖來定義。在該情況下,該數據流圖可由在多個節點(節點I到節點5)111到115的每一個中存在的多個數據處理操作(0P I到OP 5) 116到120、以及用于描述在所述多個數據處理操作(0P I到OP5)116到120之間的數據流的有向非循環圖(DAG)的定義來表示。這樣,服務110被分布安排在簇內的所述多個節點(節點I到節點5) 111到115中,并被并行運行,由此相對快速地支持用于大容量數據的服務。基于上述并行分布處理結構的根據現有技術的用于大容量數據處理的并行分布處理系統將在下面描述。首先,公知Borealis系統是適于并行分布處理流數據的系統,并且提供用于處理流數據的各種算子,例如Union、filter、Tumble、Join等。Borealis系統在分布節點中安排配置這些服務的算子,并并行執行這些算子,由此執行用于大容量流數據的并行分布處理。然而,由于僅可處理整形后的數據并且僅可通過所提供的算子的組合來運行用戶的服務定義,所以Borealis系統難以應用到復雜服務技術并與根據服務特性用于數據處理操作的用戶的優化技術組合。
其間,MapReduce (映射縮小)系統是為了支持用于在被配置為具有便宜大規模節點的簇上存儲的大容量數據的并行分布操作而提出的并行分布處理系統,其可從Google公司得到。MapReduce系統支持用戶定義映射和縮小操作,并將所述映射和縮小操作復制到多節點作為多任務,以并行地分布處理大容量數據。
Dryad系統是比MapReduce系統更擴展的基于數據流圖的并行分布處理系統。在Dryad系統中,用戶描述數據處理操作作為頂點(vertex),并且頂點之間的數據傳遞由信道表示,由此配置服務。一般來說,頂點可對應于節點,而信道可對應于邊緣或線。Dryad系統基于有關簇中的節點的負載信息來動態地分布排列這些頂點,從而快速運行用戶注冊/定義的服務,由此并行處理大容量數據。其間,Hadoop在線系統改善僅在其中MapReduce系統的大容量數據的映射和縮小操作完全結束的情況下才可獲得處理結果的缺點,使得用戶可甚至在處理過程中獲得處理結果的數據。然而,所有MapReduce、Dryad、Hadoop在線系統僅將除了流數據之外的在簇中的文件中存儲的存儲數據看作處理對象。另外,存在這樣的問題,即,MapReduce和Hadoop在線系統僅提供固定的映射和縮小操作,而不支持能夠在應用中獲得處理結果的各種方法。所以,現有技術不能考慮到各種應用環境而有效提供大容量流數據的接近實時分 析和處理服務。
發明內容
已努力作出本發明,以提供能夠考慮到各種應用環境、而有效提供大容量流數據的接近實時分析和處理服務的服務提供方法和服務提供裝置。此外,已努力作出本發明,以提供能夠通過向多個節點動態地分布排列用戶所定義的數據處理操作、而連續并行執行數據處理的服務提供方法和服務提供裝置。本發明的示范實施例提供一種服務提供方法,包括收集有關配置至少一個服務并在多個節點中動態分布安排的多個任務的運行狀態信息;和基于有關所述多個收集的任務的運行狀態信息來運行調度,其中所述多個任務中的每一個具有至少一個輸入源和一個輸出源,要對于每一輸入源處理的數據單位和數據處理操作由用戶定義,并且該調度通過參考所定義的數據單位而刪除輸入到至少一個任務的數據的至少一部分,或者該調度在至少一個復制任務中處理。可基于在所述多個任務的每一個中定義的數據劃分數目和諸如數據劃分方法的與數據劃分相關的信息、或基于在所述多個任務的每一個中定義的刪除數據量和諸如刪除數據選擇參考的與數據刪除相關的信息,來執行該調度。該調度步驟可進一步包括基于有關所述多個收集的任務的運行狀態信息,來確定是否存在不滿足服務質量的服務;如果存在,則選擇作為不滿足的理由的任務;和對于所選擇的任務運行該調度。用于所選擇的任務的調度可根據在所述多個任務中的資源使用狀態信息來刪除輸入數據的至少一部分,或在所選擇的任務的至少一個復制任務中處理。本發明的另一示范實施例提供了一種服務提供裝置,包括服務運行器管理模塊,用于收集有關配置至少一個服務并在多個節點中動態分布安排的多個任務的運行狀態信息;和調度和排列模塊,用于基于有關所述多個收集的任務的運行狀態信息來運行調度,其中所述多個任務中的每一個具有至少一個輸入源和一個輸出源,要對于每一輸入源處理的數據單位和數據處理操作由用戶定義,并且該調度通過參考所定義的數據單位而刪除輸入到至少一個任務的數據的至少一部分,或者該調度在至少一個復制任務中處理。
可基于在所述多個任務的每一個中定義的數據劃分數目和諸如數據劃分方法的與數據劃分相關的信息、或基于在所述多個任務的每一個中定義的刪除數據量和諸如刪除數據選擇參考的與數據刪除相關的信息,來執行該調度。該調度和排列模塊可基于有關所述多個收集的任務的運行狀態信息,來確定是否存在不滿足服務質量的服務,如果存在,則選擇作為不滿足的理由的任務,并對于所選擇的任務運行該調度。用于所選擇的任務的調度可根據在所述多個任務中的資源使用狀態信息來刪除輸入數據的至少一部分,或可在所選擇的任務的至少一個復制任務中處理。該服務提供裝置可進一步包括服務管理模塊,用于控制一般數據分布處理;和任務恢復模塊,用于在任務錯誤時恢復和重新運行任務。、
所述多個節點中的每一個可包括一個任務運行器,并且該任務運行器可收集有關位于所述多個節點中的每一節點處的至少一個任務的運行狀態信息和資源使用狀態信息,以將收集的運行狀態信息和資源使用狀態信息傳遞到該數據分布處理裝置,并可根據該服務提供裝置的調度運行來控制所述至少一個任務的運行。該任務運行器可運行與該服務提供裝置的調度運行分離的調度,以控制該運行。該任務運行器處的調度可改變任務運行順序,以便滿足對于每一任務設置的服務質量。本發明的另一示范實施例提供了一種服務提供方法,包括傳送對于用戶定義的服務的運行請求;和接收根據該運行請求運行的服務,其中該服務的運行步驟包括收集有關配置該服務并在多個節點中動態分布安排的多個任務的運行狀態信息;和基于有關所述多個收集的任務的運行狀態信息來運行調度,其中所述多個任務中的每一個具有至少一個輸入源和一個輸出源,定義要對于每一輸入源處理的數據單位和數據處理操作,并且該調度通過參考所定義的數據單位而刪除輸入到至少一個任務的數據的至少一部分,或者該調度在至少一個復制任務中處理。本發明具有以下優點。首先,本發明的示范實施例可支持用于具有從其生成的各種應用環境和各種格式的大容量流數據和存儲數據的分布連續處理服務。第二,本發明的示范實施例可使得由于網絡環境的改變或輸入數據的激增而導致的處理運行的縮小最小化。第三,本發明的示范實施例可允許各種應用環境下的用戶在接收確保用戶所指定的服務質量的服務的同時處理非整形流數據。以上發明內容僅是圖示性的并不意欲按照任何方式進行限制。除了上述圖示的方面、實施例和特征之外,進一步方面、實施例和特征通過參考圖和以下詳細描述將成為明顯的。
圖I是示出了根據現有技術的用于處理大容量數據的并行分布處理結構的示范實施例的示意圖。圖2是示出了根據本發明示范實施例的用于處理大容量數據的并行分布處理結構的示范實施例的示意圖。圖3是示出了根據本發明另一示范實施例的用于處理大容量數據的并行分布處理結構的另一示范實施例的示意圖。圖4A到4C中的每 一個是根據本發明示范實施例的圖3的服務管理器、任務運行器和任務的功能框圖。圖5是示意性示出了根據本發明示范實施例的用于注冊和運行用戶所定義的服務的處理的流程圖。圖6是示出了根據本發明示范實施例的在任務中執行的運行處理的流程圖。圖7是示出了根據本發明示范實施例的在服務管理器中執行的全局調度的處理的流程圖。應理解,附圖并非必須按照比例,其呈現本發明的基本原理的各特征圖示的稍微簡化的表示。這里公開的本發明的特定設計特征(包括例如特定維度、方位、地點和形狀)將部分地通過特定預期應用和使用環境來確定。在圖中,附圖標記在圖的幾個圖形中始終表示本發明的相同或等效部分。
具體實施例方式其后,將參考附圖來詳細描述本發明的示范實施例。首先,我們應注意到,在向每一圖中的元素給予附圖標記的時候,即使在不同圖中示出了相同的元素,相同附圖標記也表示相同元素。在描述本發明時,將不詳細描述公知功能或構造,因為它們可不必要地使得本發明的理解模糊。應理解的是,盡管后面描述本發明的示范實施例,但是本發明的精神不限于此,并可由本領域技術人員按照各種方式改變和修改。本發明的示范實施例可通過各種手段實現。例如,本發明的示范實施例可通過固件、軟件、或其組合等實現。在通過硬件的實現中,根據本發明示范實施例的方法可通過特定用途集成電路(ASIC)、數字信號處理器(DSP)、數字信號處理裝置(DSro)、可編程邏輯器件(PLD)、現場可編程門陣列(FPGA)、處理器、控制器、微控制器、微處理器等實現。在使用固件或軟件的實現中,根據本發明示范實施例的方法可通過執行上述功能或操作的模塊、過程、功能等實現。軟件代碼被存儲在存儲單元中并可由處理器驅動。存儲單元被安排在處理器中或處理器外,并可向和從各種公知單元傳送和接收數據。提供特定術語以幫助本發明的理解。特定術語的使用可以被改變為其他形式,而不脫離本發明的技術思想。其后,將參考附圖來詳細描述本發明的示范實施例。圖2是示出了根據本發明示范實施例的用于處理大容量數據的并行分布處理結構的示范實施例的示意圖。參考圖2,根據本發明示范實施例的數據處理系統210由多個節點(節點I到7)211到217配置,并允許數據處理操作并行地分布處理大容量流數據和/或存儲數據,以便運行由用戶定義的任務(任務I到任務6) 221到224以及231到232的組合所配置的服務 220 和 230。與以上描述類似,服務220和230可通過定義數據流圖來定義。這里,數據流圖可由與所述多個節點(節點I到7)211到217中的每一個中存在的多個數據處理操作對應的多個任務(任務I到任務6)221到224、231以及232、以及描述所述多個任務之間的數據流的有向非循環圖(DAG)的定義來表示。數據處理系統210的至少一個服務輸入源(輸入源I和輸入源2) 200和201和/或至少一個服務輸出源(輸出源I和輸出源2) 240和241可以是文件或網絡源和用戶定義的輸入和輸出源,并且向至少一個服務輸入源200和201和/或至少一個服務輸出源240和241輸入/輸出的數據格式可以是基于標識符的記錄、密鑰值記錄、基于行(CR)的文本、文件、和/或用戶定義的輸入和輸出格式。所述多個任務221到224、231以及232中的每一個可具有至少一個輸入和一個輸出源。這里,一般任務的輸入源是在前任務,而輸出源可以是在后任務。在一些情況下,月艮務輸入和輸出源可以是任務的輸入和輸出源。例如,服務輸入和輸出源的至少一個200和201和241和241可以是所述多個任務221、224、231和232中的至少一個輸入源和/或一個輸出源。另外,所述多個任務221到224、231以及232可以通過通用開發語言來定義。 在該情況下,該定義可包括作為每一輸入源的處理對象的流數據的單位,S卩,數據窗口的定義。在該情況下,該數據窗口可被設置為時間單位和/或數據單位,并可以是預定時間間隔或數據數目或事件數目。此外,也可以一起設置用于隨后數據處理的數據窗口配置的滑動單元。其間,所述多個任務221到224、231以及232的定義可以包括例如對抗輸入數據激增的與數據劃分相關的信息。與數據劃分相關的信息可以是例如數據劃分方法、數據劃分的次數、和/或有關數據劃分方法的引導信息。在該情況下,數據劃分方法可以是諸如隨機、循環、散列等的劃分方法之一。作為選擇,所述多個任務221到224、231以及232的定義可以包括例如與分級卸載(load shedding)相關的信息,即對抗輸入數據激增的與數據刪除相關的信息。與數據刪除相關的信息可以是刪除數據量和/或刪除數據選擇參考,并且可包括允許刪除的輸入數據的比率或數據刪除方法。作為數據刪除方法,可存在刪除作為數據窗口的所有數據界限(bound)的方法以及刪除數據窗口內的一些數據的方法。其間,用戶可定義包括在服務230的定義時正預先運行的服務220的特定任務221的任務之間的數據流。這是為了通過共享數據操作處理結果來優化數據處理系統210內的資源的使用。與圖I的描述類似地,用戶定義的服務220和230通過由簇中的多個節點211到217動態地分布排列配置服務220和230的所述多個任務221到224、231以及232來運行。在該情況下,所述多個任務的動態分布排列通過參考有關配置該簇的多個節點的負載信息來運行。有關節點的負載信息可以是該節點上當前運行的任務的包括CPU的占空因數、存儲器、網絡帶寬等的系統負載信息、和/或諸如數據輸入速率、吞吐量、預測QoS信息的滿足等的服務負載信息。另外,根據是否共享任務,特定任務221通過向在后任務222和232兩者相同地傳遞處理的結果,而支持對相同數據的操作,以免不必要的重復。此外,當例如在運行服務之后發生流數據的激增時,通過任務復制223而在所述多個節點的一些節點213和214中并行處理流數據,由此使得服務處理運行的縮小最小化。在該情況下,最佳任務復制數目可以通過參考與服務定義內的對應任務關聯的數據劃分數目、以及諸如數據劃分方法的與數據劃分相關的信息而動態確定。圖3是示出了根據本發明另一示范實施例的用于處理大容量數據的并行分布處理結構的另一示范實施例的示意圖。然而,圖2是在服務定義方面示出的圖,而圖3是在服務運行方面示出的圖,這是它們之間的唯一區別。要注意的是,它們不彼此沖突或兼容。參考圖3,數據處理系統300被配置為包括單一服務管理器301和η個任務運行器I到η 302到304,它們中的每一個可以在分布節點(未示出)中運行。服務管理器310監視或收集負載信息,該負載信息包括在每一分布節點中正運行的任務運行器302到304的操作狀態、有關在每一任務運行器302到304中管理的任務的、運行狀態信息和/或有關對應分布節點的資源使用狀態信息等。當服務管理器301接收對于用戶定義的服務的運行請求時,服務管理器301通過基于收集的負載信息確定運行對應服務的任務的任務運行器302到304并安排這些任務,來運行服務。另外,服務管理器301基于收集的負載信息來調度所有任務的運行。任務運行器302到304運行從服務管理器310分配的任務305到311,并監視任務305到311的運行狀態,由此調度任務305到311的運行。其間,通過任務運行器302到304運行的任務305到311通過從外部輸入源(輸入源I) 320接收數據而執行任務,并將生成的結果傳遞到外部輸出源(輸出源1)330。例如,在任務2306的情況下,任務運行器302到304從外部輸入源320接收數據以執行操作,并將結果傳遞到在后任務,即任務3307。任務3307對從任務2接收的結果數據執行操作,并然后將操作結果傳遞到任務M 310。其間,任務M 310將操作運行結果傳遞到外部輸出源330。圖4Α到4C中的每一個是根據本發明示范實施例的圖3的服務管理器、任務運行器和任務的功能框圖。參考圖4,服務管理器400可被配置為包括通信模塊401、接口模塊402、服務運行器管理模塊403、服務管理模塊404、服務質量管理模塊405、全局調度和排列模塊406、任務恢復模塊407、和元數據管理模塊408。在該配置中,通信模塊401服務以與數據處理系統和任務運行器410的用戶通信,并且接口模塊402提供接口,可允許用戶在應用程序和控制臺中執行諸如根據本發明示范實施例的數據處理系統的操作和停止的操作和管理,并執行根據本發明示范實施例的數據處理服務的定義和管理。服務運行器管理模塊403收集所操作的任務運行器的運行狀態信息,以檢測任務運行器是否處于錯誤狀態,并向全局調度和排列模塊406通知該檢測結果以便操作全局調度。服務管理模塊404根據數據流將用戶所定義的服務分離為幾個任務,以控制在幾個節點中分布執行的諸如服務驗證、注冊、運行、停止、改變、刪除等的一般處理。另外,服務管理模塊404收集有關正運行的任務的運行狀態信息,以檢測任務運行器是處于錯誤狀態還是非平滑運行狀態(連續QoS不滿足狀態),并向全局調度和排列模塊406通知該檢測結果以便操作全局調度。
服務質量管理模塊405管理QoS信息,以便盡可能最大地確保每一服務的服務質量目標。在該情況下,QoS信息可以是例如服務的精度、服務的延遲度、以及容許服務滿意度等。
全局調度和排列模塊406運行該調度,使得任務420通過分布排列在幾個任務運行器410中而運行,以便最大程度地滿足用戶基于QoS信息、服務器、和服務運行狀態信息而設置的QoS。該調度可刪除輸入數據的至少一部分,或包括在其他任務中處理的數據,例如任務分布、移動和復制、任務的運行時間控制、以及通過輸入數據刪除引起的強制負載減小等。任務恢復模塊407服務以在任務運行器410的錯誤以及任務420的錯誤時恢復和重新運行任務。任務恢復模塊407可包括選擇性恢復和重新運行預先執行的任務數據的功能。其間,服務管理器的錯誤恢復利用通過仲裁器使得激活待令模式類型的服務管理器加倍或從多個候選服務管理器中選擇單一主服務管理器的方法來執行,從而如本發明的示范實施例中那樣沒有停止地提供數據流分布連續處理系統的服務。將省略服務管理器的恢復模塊的結構和功能的描述。最后,元數據管理模塊408存儲和/或管理諸如服務信息、QoS信息、服務器信息等的元數據。參考圖4,任務運行器410被配置為包括通信模塊411、任務管理模塊412、和局部調度模塊413。使用通信模塊411來從任務運行器410所管理的任務之中的至少正被運行的任務接收運行狀態信息,并將所傳遞的運行狀態信息和/或有關至少運行任務的節點的資源使用狀態信息傳遞到服務管理器400。任務管理模塊412運行從服務管理器400分配的任務,并收集有關至少正運行的任務420的運行狀態信息和有關任務運行器410的資源使用狀態信息。局部調度模塊413基于從例如服務管理器400傳遞的局部QoS信息和/或任務運行狀態控制命令,來控制要運行的任務的運行。在該情況下,局部QoS信息可以是作為與任務運行器410所僅僅管理的任務關聯的服務質量信息的、與上述(全局)QoS信息類似的、數據吞吐量、處理延遲時間等,并且運行狀態控制命令可以是新任務運行、正運行的任務的停止、向任務分配的系統資源(例如,存儲器、CPU等)改變信息、和/或通過任務的輸入數據刪除的強制負載減小等。局部調度模塊413管理局部調度信息,并檢查在任務級別是否滿足QoS。S卩,局部調度模塊413可監視或收集有關任務的運行狀態信息,并允許任務運行器410單獨執行除了服務管理器410的調度之外的對任務的至少一部分進行的調度,以便最大程度地滿足局部QoS,由此控制運行,例如執行獨立調度等,諸如確定正運行的任務的運行順序。參考圖4C,任務420被配置為包括通信模塊421、連續處理任務模塊422、流輸入和輸出管理模塊423、強制負載減小模塊424、流劃分和合并模塊425、以及任務恢復信息管理模塊426。通信模塊421執行通信功能,以向管理任務420的任務運行器410傳遞有關對應 任務的運行狀態信息,并從任務運行器410接收局部調度信息。連續處理任務模塊422基于通過流輸入和輸出管理模塊423所輸入的數據來運行用戶定義的數據處理操作,并將運行結果通過流輸入和輸出管理模塊423輸出到下一任務或外部輸出源。流輸入和輸出管理模塊423管理包括文件、TCP等的用戶定義的輸入和輸出源、以及用于任務之間的輸入和輸出通道的數據窗口、輸入和輸出數據格式、以及輸入和輸出數據。強制負載減小模塊424服務以通過例如根據管理對應任務的任務運行器410的局部調度模塊413的控制來強制刪除捆綁到任務的數據窗口的流數據的至少一部分,而減小負載。流劃分和合并模塊425服務以按照數據窗口單位劃分任務的輸入數據流,從而當將單一任務復制為要在多個節點處并行執行的至少一個復制任務時,將劃分的輸入數據流傳遞到包括該任務的至少一個復制任務,并服務以執行該任務和所述至少一個復制任務中的操作,以集成輸出數據流。在該情況下,所述至少一個復制任務可在相同節點中存在或其每一個可在不同節點中存在。 任務恢復信息管理模塊426服務以存儲和管理必要信息,以便在計算對于在當前正處理的任務上捆綁的流數據窗口的最終結果之前恢復數據,用于該任務的失敗恢復。圖5是示意性示出了根據本發明示范實施例的用于注冊和運行用戶所定義的服務的處理的流程圖。當通過用戶定義建立的新服務在根據本發明示范實施例的數據處理系統中注冊時(501),基于有關配置單一簇的多個節點的資源使用狀態信息和/或有關在所述多個節點的每一個處正運行的預先運行任務的運行狀態信息等,選擇分配配置新服務的任務的至少一個節點和/或至少一個任務運行器(502)。這些任務被分配到所選擇的節點處的任務運行器和/或選擇的任務運行器,并被分布排列并然后運行(503)。其后,服務管理器連續動態執行任務的調度,以便基于周期性輸入的有關任務的運行狀態信息,來更快速地運行通過用戶定義建立的新服務(504)。在該情況下,將參考圖6來描述所述任務中的至少一個的操作。如圖6中所示,任務檢測是否從至少一個輸入源配置所有數據窗口 ¢01)。如果確定配置了所有數據窗口,則執行用戶定義的任務(602)。如果確定沒有配置所有數據窗口,則用戶定義的任務處于待令狀態(600)。當通過執行用戶定義的任務而生成操作結果時,將操作結果傳遞到至少一個輸出源¢03)。在該情況下,存儲有關對應任務的運行狀態信息,以便恢復任務,并提供該運行狀態信息(604) ο圖7是示出了根據本發明示范實施例的在服務管理器中執行的全局調度的處理的流程圖。服務管理器周期性地收集有關至少一個任務的運行狀態信息(701)。基于收集的信息來確定是否存在不滿足用戶定義的QoS的服務(702)。如果確定所有服務滿足該QoS,則收集有關隨后任務的運行狀態信息(701),并且如果確定存在不滿足該QoS的服務,則選擇引起不滿足該QoS的服務的那個任務(703),并然后執行用于所選擇的任務的調度(704)。在該情況下,可通過例如以下處理來執行作為不滿足服務質量的理由的所選擇的任務的調度。首先,執行調度,以進一步使用該系統資源達到運行所選擇的任務所需的量。如果確定在正運行所選擇的任務的對應節點中沒有空閑資源,則搜索具有足以平滑運行任務的空閑資源的另一節點。當搜索具有空閑資源的另一節點時,將對應任務從預先運行的對應節點移動到具有空閑資源的另一節點。當沒有搜索到具有空閑資源的另一節點時,執行調度,以通過劃分輸入數據流、將所選擇的任務復制到多個其他分布節點、并在復制的其他分布節點中運行復制的所選擇的任務,來劃分和使用所述多個節點的資源。其間,當不能進行任務的移動和復制時,可將上述強制負載減小方法應用到所選擇的任務。在該情況下,作為提供用戶定義的服務的設備的至少一部分,可使用被配置為包括服務管理器、至少一個任務運行器、至少一個任務、和至少一個節點的根據本發明的數據處理系統的每一組件和子組件的功能和結構的描述,如同它們在根據本發明示范實施例的服務提供方法中那樣。服務提供裝置和服務提供方法可被應用到用于實時分析和處理大容量流數據所需的技術領域,諸如實時個人服務或推薦服務、基于CCTV的安全服務等,諸如在包括因特、網服務的各種應用環境下。如上所述,已在圖中和說明書中描述和圖示了這些示范實施例。選擇和描述這些示范實施例,以便解釋本發明的某些原理和它們的實際應用,以由此使得本領域技術人員能夠制造和利用本發明的各示范實施例、以及其各種替換和修改。從以上描述可顯而易見的是,本發明的某些方面不受到這里圖示的示例的特定細節的限制,并所以預期本領域技術人員將進行其他修改和應用或其等效。然而,在考慮了說明書和附圖之后,本構造的許多修改、變型以及其他使用和應用對于本領域技術人員來說將成為明顯的。認為不脫離本發明的精神和范圍的所有這樣的改變、修改、變型以及其他使用和應用由僅通過下面的權利要求限定的本發明覆蓋。
權利要求
1.一種服務提供方法,包括 收集有關配置至少一個服務并在多個節點中動態分布安排的多個任務的運行狀態信息;和 基于有關所述多個收集的任務的運行狀態信息來運行調度, 其中所述多個任務中的每一個具有至少一個輸入源和一個輸出源,要對于每一輸入源處理的數據單位和數據處理操作由用戶定義,并且該調度通過參考所定義的數據單位而刪除輸入到至少一個任務的數據的至少一部分,或者該調度在至少一個復制任務中處理。
2.根據權利要求I的方法,其中基于在所述多個任務的每一個中定義的數據劃分數目和諸如數據劃分方法的與數據劃分相關的信息,來執行該調度。
3.根據權利要求I的方法,其中基于在所述多個任務的每一個中定義的刪除數據量和諸如刪除數據選擇參考的與數據刪除相關的信息,來執行該調度。
4.根據權利要求I的方法,其中該調度步驟進一步包括 基于有關所述多個收集的任務的運行狀態信息,來確定是否存在不滿足服務質量的服務; 如果存在,則選擇作為不滿足的理由的任務;和 對于所選擇的任務運行該調度。
5.根據權利要求4的方法,其中用于所選擇的任務的調度根據在所述多個任務中的資源使用狀態信息來刪除輸入數據的至少一部分,或在所選擇的任務或所選擇的任務的至少一個復制任務中處理。
6.一種服務提供裝置,包括 服務運行器管理模塊,用于收集有關配置至少一個服務并在多個節點中動態分布安排的多個任務的運行狀態信息;和 調度和排列模塊,用于基于有關所述多個收集的任務的運行狀態信息來運行調度, 其中所述多個任務中的每一個具有至少一個輸入源和一個輸出源,要對于每一輸入源處理的數據單位和數據處理操作由用戶定義,并且該調度通過參考所定義的數據單位而刪除輸入到至少一個任務的數據的至少一部分,或者該調度在至少一個復制任務中處理。
7.根據權利要求6的服務提供裝置,其中基于在所述多個任務的每一個中定義的數據劃分數目和諸如數據劃分方法的與數據劃分相關的信息,來執行該調度。
8.根據權利要求6的服務提供裝置,其中基于在所述多個任務的每一個中定義的刪除數據量和諸如刪除數據選擇參考的與數據刪除相關的信息,來執行該調度。
9.根據權利要求6的服務提供裝置,其中該調度和排列模塊基于有關所述多個收集的任務的運行狀態信息,來確定是否存在不滿足服務質量的服務,如果存在,則選擇作為不滿足的理由的任務,并對于所選擇的任務執行調度。
10.根據權利要求9的服務提供裝置,其中用于所選擇的任務的調度根據在所述多個任務中的資源使用狀態信息來刪除輸入數據的至少一部分,或在所選擇的任務的至少一個復制任務中處理。
11.根據權利要求6的服務提供裝置,進一步包括 服務管理模塊,用于控制一般數據分布處理;和 任務恢復模塊,用于在任務錯誤時恢復和重新運行任務。
12.根據權利要求6的服務提供裝置,其中所述多個節點中的每一個包括一個任務運行器,并且 該任務運行器收集有關位于所述多個節點中的每一節點處的至少一個任務的運行狀態信息和資源使用狀態信息,以將收集的運行狀態信息和資源使用狀態信息傳遞到該服務提供裝置,并根據該服務提供裝置的調度運行來控制所述至少一個任務的運行。
13.根據權利要求12的服務提供裝置,其中該任務運行器運行與該服務提供裝置的調度運行分離的調度,以控制該運行。
14.根據權利要求13的服務提供裝置,其中該任務運行器處的調度改變任務運行順序,以便滿足對于每一任務設置的服務質量。
15.—種服務提供方法,包括 傳送對于用戶定義的服務的運行請求;和 接收根據該運行請求運行的服務, 其中該服務的運行步驟包括 收集有關配置該服務并在多個節點中動態分布安排的多個任務的運行狀態信息;和 基于有關所述多個收集的任務的運行狀態信息來運行調度, 其中所述多個任務中的每一個具有至少一個輸入源和一個輸出源,要對于每一輸入源處理的數據單位和數據處理操作由用戶定義,并且該調度通過參考所定義的數據單位而刪除輸入到至少一個任務的數據的至少一部分,或者該調度在至少一個復制任務中處理。
全文摘要
本發明公開了一種服務提供方法和服務提供裝置。該服務提供方法包括收集有關配置至少一個服務并在多個節點中動態分布安排的多個任務的運行狀態信息;和基于有關所述多個收集的任務的運行狀態信息來運行調度,其中所述多個任務中的每一個具有至少一個輸入源和一個輸出源,要對于每一輸入源處理的數據單位和數據處理操作由用戶定義,并且該調度通過參考所定義的數據單位而刪除輸入到至少一個任務的數據的至少一部分,或者該調度在至少一個復制任務中處理。本發明的示范實施例可有效地提供大容量流數據的接近實時分析和處理服務。
文檔編號G06F9/46GK102662731SQ201110419000
公開日2012年9月12日 申請日期2011年12月15日 優先權日2010年12月15日
發明者崔賢花, 李明哲, 李美英, 李訓淳, 金東吾, 金泳暢, 金炳攝 申請人:韓國電子通信研究院