一種云計(jì)算平臺(tái)下數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)的制作方法
【專利摘要】本發(fā)明提出了一種云計(jì)算平臺(tái)下數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)。該系統(tǒng)包括計(jì)算作業(yè)文件生成模塊1、并行計(jì)算控制模塊2、文件管理模塊3和出錯(cuò)處理模塊4。計(jì)算作業(yè)文件生成模塊1將數(shù)據(jù)的處理按照作業(yè)的方式進(jìn)行執(zhí)行;并行計(jì)算控制模塊2用于分配系統(tǒng)計(jì)算資源并控制作業(yè)執(zhí)行,使得系統(tǒng)達(dá)到最小的耦合性;文件管理模塊3用于維護(hù)作業(yè)的輸入輸出文件及運(yùn)行時(shí)產(chǎn)生的臨時(shí)文件;出錯(cuò)處理模塊4用于保證作業(yè)長時(shí)間運(yùn)行時(shí)能夠無縫的運(yùn)行,防止程序運(yùn)行時(shí)突然終止。本系統(tǒng)能夠滿足數(shù)據(jù)與計(jì)算密集型處理,同時(shí)保證了系統(tǒng)具有較好的魯棒性和安全性,具有較強(qiáng)的工程應(yīng)用價(jià)值。
【專利說明】一種云計(jì)算平臺(tái)下數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種數(shù)據(jù)與計(jì)算處理系統(tǒng),屬于云計(jì)算【技術(shù)領(lǐng)域】,特別的涉及一種云計(jì)算平臺(tái)下數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)。
【背景技術(shù)】
[0002]如何使用盡可能低的成本完成數(shù)據(jù)與計(jì)算雙重密集型任務(wù)的計(jì)算是許多行業(yè)面臨的問題之一,如石油勘探中的地震資料處理通常具有數(shù)據(jù)量大、計(jì)算復(fù)雜度高、計(jì)算效率要求高等特點(diǎn)。超級計(jì)算機(jī)無疑能為該類計(jì)算提供有效的解決方案,但成本過高,而普通的單臺(tái)計(jì)算機(jī)的計(jì)算能力又不足以完成此類任務(wù)。將大型計(jì)算任務(wù)分配給網(wǎng)絡(luò)中的多臺(tái)計(jì)算機(jī)共同完成,是完成數(shù)據(jù)與計(jì)算雙重密集型任務(wù)的有效途徑之一。
[0003]近年來出現(xiàn)的云計(jì)算技術(shù)能夠?yàn)閿?shù)據(jù)與計(jì)算雙重密集型任務(wù)的完成處理提供系統(tǒng)的解決方案。云計(jì)算是一種基于網(wǎng)絡(luò)互連的計(jì)算系統(tǒng),這個(gè)系統(tǒng)具有很強(qiáng)的伸縮性和可定制性,向上層的用戶提供計(jì)算服務(wù)。云計(jì)算系統(tǒng)大量廉價(jià)的服務(wù)器集群為系統(tǒng)提供硬件基礎(chǔ)設(shè)施,采用應(yīng)用程序與底層服務(wù)協(xié)作開發(fā),最大限度地利用資源,通過多個(gè)廉價(jià)的服務(wù)器之間的冗余,使軟件獲得高可用性,達(dá)到分布式計(jì)算的兩個(gè)重要目標(biāo),即可擴(kuò)展性和高可用性。
[0004]目前云計(jì)算數(shù)據(jù)與計(jì)算處理系統(tǒng)中存在一些缺陷,對于公有云而言,各個(gè)大公司已經(jīng)致力于深層次開發(fā),而對于私有云系統(tǒng)而言,目前市場中還比較少,目前大多數(shù)云計(jì)算系統(tǒng)都是面向公有云的,但現(xiàn)有的許多數(shù)據(jù)和計(jì)算雙重密集型任務(wù)往往僅使用公司或組織內(nèi)部的硬件與系統(tǒng)資源,這些資源通常是一般互聯(lián)網(wǎng)用戶訪問不到的。
[0005]針對以上缺點(diǎn),有必要設(shè)計(jì)出一種云計(jì)算平臺(tái)系統(tǒng),滿足數(shù)據(jù)與計(jì)算密集型處理的同時(shí),保證系統(tǒng)具有較好的魯棒性和安全性,并成為了一種新的技術(shù)需求。
【發(fā)明內(nèi)容】
[0006](一 )要解決的技術(shù)問題
[0007]為了解決現(xiàn)有技術(shù)存在的上述問題,本發(fā)明提出了一種云計(jì)算平臺(tái)下數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)。該系統(tǒng)包括計(jì)算作業(yè)文件生成模塊1、并行計(jì)算控制模塊2、文件管理模塊3和出錯(cuò)處理模塊4。計(jì)算作業(yè)文件生成模塊I將數(shù)據(jù)的處理按照作業(yè)的方式進(jìn)行執(zhí)行,用戶通過系統(tǒng)提供的配置接口來配置作業(yè)中各個(gè)模塊的信息,并生成作業(yè)配置文件,系統(tǒng)根據(jù)作業(yè)配置文件進(jìn)行計(jì)算作業(yè)文件生成。并行計(jì)算控制模塊2用于分配系統(tǒng)計(jì)算資源并控制作業(yè)執(zhí)行,作業(yè)與作業(yè)之間的運(yùn)行不會(huì)使用相同的計(jì)算節(jié)點(diǎn),使得系統(tǒng)達(dá)到最小的耦合性,在數(shù)據(jù)量很大的計(jì)算任務(wù)中,使得各個(gè)任務(wù)彼此獨(dú)立,增強(qiáng)了系統(tǒng)的穩(wěn)定性。文件管理模塊3用于維護(hù)作業(yè)的輸入輸出文件及運(yùn)行時(shí)產(chǎn)生的臨時(shí)文件。文件管理模塊3負(fù)責(zé)將這個(gè)文件發(fā)送至所要達(dá)到的目的模塊,并等待作業(yè)結(jié)束。出錯(cuò)處理模塊4用于保證作業(yè)長時(shí)間運(yùn)行時(shí)能夠無縫的運(yùn)行,防止程序運(yùn)行時(shí)突然終止。在處理模塊運(yùn)行期間,控制進(jìn)程將周期性地向各個(gè)模塊發(fā)送檢測報(bào)文,保證當(dāng)某一個(gè)計(jì)算節(jié)點(diǎn)發(fā)生異常的時(shí)候,控制進(jìn)程將重新分配一個(gè)計(jì)算節(jié)點(diǎn),并將同這個(gè)計(jì)算節(jié)點(diǎn)相關(guān)的輸入輸出接口模塊信息重新配置。
[0008]( 二)技術(shù)方案
[0009]根據(jù)本發(fā)明的一個(gè)方面,提供了一種云計(jì)算平臺(tái)下數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)。本發(fā)明包括計(jì)算作業(yè)文件生成模塊1、并行計(jì)算控制模塊2、文件管理模塊3和出錯(cuò)處理模塊4。
[0010]優(yōu)選的,所述計(jì)算作業(yè)文件生成模塊I將數(shù)據(jù)的處理按照作業(yè)的方式進(jìn)行執(zhí)行。
[0011]進(jìn)一步的,所述計(jì)算作業(yè)是用戶通過系統(tǒng)提供的配置接口來配置作業(yè)中各個(gè)模塊的信息,并生成作業(yè)配置文件,系統(tǒng)根據(jù)作業(yè)配置文件進(jìn)行計(jì)算作業(yè)文件生成。
[0012]進(jìn)一步的,所述作業(yè)由很多的功能模塊組成,每一個(gè)功能模塊都是用戶編寫的處理模塊,由一個(gè)獨(dú)立的進(jìn)程運(yùn)行,代表作業(yè)的一個(gè)處理步驟。
[0013]可選的,如果兩個(gè)模塊的入口是相同的文件,則這兩個(gè)模塊是并行處理、相互獨(dú)立。
[0014]優(yōu)選的,所述并行計(jì)算控制模塊2用于分配系統(tǒng)計(jì)算資源并控制作業(yè)執(zhí)行。
[0015]進(jìn)一步的,所述分配系統(tǒng)計(jì)算資源是在計(jì)算節(jié)點(diǎn)分配完模塊之后,阻止在其上分配其他計(jì)算模塊的請求,在作業(yè)運(yùn)行期間,一個(gè)作業(yè)所占有的計(jì)算資源將完全由這個(gè)作業(yè)獨(dú)享。
[0016]進(jìn)一步的,所述作業(yè)運(yùn)行期間,作業(yè)與作業(yè)之間的運(yùn)行不會(huì)使用相同的計(jì)算節(jié)點(diǎn),系統(tǒng)具有最小的耦合性。
[0017]進(jìn)一步的,每個(gè)計(jì)算作業(yè)的計(jì)算步驟在作業(yè)運(yùn)行之后將不會(huì)產(chǎn)生變動(dòng),每個(gè)步驟之間都沒有細(xì)分和聚合關(guān)系。
[0018]優(yōu)選的,所述并行計(jì)算控制模塊2中計(jì)算作業(yè)并行處理方法包括如下步驟:
[0019]SlOl:獲取作業(yè)處理文件;
[0020]S102:獲取集群系統(tǒng)可用計(jì)算節(jié)點(diǎn)數(shù)量;
[0021]S103:選擇空閑節(jié)點(diǎn)運(yùn)行控制進(jìn)程;
[0022]S104:分配各個(gè)模塊至計(jì)算節(jié)點(diǎn);
[0023]S105:設(shè)置各個(gè)模塊輸入輸出信息;
[0024]S106:屏蔽已分配模塊的節(jié)點(diǎn)接受分配新消息;
[0025]S107:在已分配模塊的計(jì)算節(jié)點(diǎn)上啟動(dòng)相應(yīng)進(jìn)程;
[0026]S108:控制進(jìn)程向第一個(gè)計(jì)算節(jié)點(diǎn)發(fā)送開始消息;
[0027]S109:控制進(jìn)程開始等待消息;
[0028]S110:判斷節(jié)點(diǎn)出錯(cuò)信息,當(dāng)出現(xiàn)錯(cuò)誤時(shí),執(zhí)行S111,否則執(zhí)行S201 ;
[0029]Slll:重新尋找空閑計(jì)算節(jié)點(diǎn);
[0030]S112:分配模塊啟動(dòng)作業(yè)運(yùn)行;
[0031]S201:判斷是否表示作業(yè)進(jìn)度文件,若判斷正確,則執(zhí)行S202,否則執(zhí)行S301 ;
[0032]S202:獲取作業(yè)的進(jìn)度標(biāo)示;
[0033]S203:獲取各個(gè)計(jì)算模塊狀態(tài)信息;
[0034]S204:保存各個(gè)計(jì)算模塊結(jié)果文件;
[0035]S301:判斷是否作業(yè)結(jié)束;
[0036]S302:獲取作業(yè)輸出結(jié)果。
[0037]優(yōu)選的,所述文件管理模塊3用于維護(hù)作業(yè)的輸入輸出文件及運(yùn)行時(shí)產(chǎn)生的臨時(shí)文件。
[0038]進(jìn)一步的,所述的臨時(shí)文件是一個(gè)模塊計(jì)算產(chǎn)生的輸出模塊,同時(shí)也是后續(xù)模塊的輸入文件。
[0039]進(jìn)一步的,文件管理模塊3將所述文件發(fā)送至所要達(dá)到的目的模塊,并等待作業(yè)結(jié)束。
[0040]優(yōu)選的,所述出錯(cuò)處理模塊4用于保證作業(yè)長時(shí)間運(yùn)行時(shí)能夠無縫的運(yùn)行,防止程序運(yùn)行時(shí)突然終止。
[0041]優(yōu)選的,在處理模塊運(yùn)行期間,控制進(jìn)程將周期性地向各個(gè)模塊發(fā)送檢測報(bào)文,采用ping實(shí)現(xiàn)。
[0042]進(jìn)一步的,當(dāng)某一個(gè)計(jì)算節(jié)點(diǎn)發(fā)生異常的時(shí)候,控制進(jìn)程將重新分配一個(gè)計(jì)算節(jié)點(diǎn),并將同這個(gè)計(jì)算節(jié)點(diǎn)相關(guān)的輸入輸出接口模塊信息重新配置。
[0043](三)有益效果
[0044]從上述技術(shù)方案可以看出,本發(fā)明提出的云計(jì)算平臺(tái)下數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)能夠產(chǎn)生積極的有益效果,該系統(tǒng)能夠滿足數(shù)據(jù)與計(jì)算密集型處理,同時(shí)保證了系統(tǒng)具有較好的魯棒性和安全性,具有較強(qiáng)的工程應(yīng)用價(jià)值。
【專利附圖】
【附圖說明】
[0045]圖1顯示了現(xiàn)有技術(shù)中云計(jì)算平臺(tái)原理示意圖;
[0046]圖2顯示了本發(fā)明數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)原理示意圖;
[0047]圖3顯示了本發(fā)明數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)模塊關(guān)系示意圖;
[0048]圖4顯示了本發(fā)明優(yōu)選實(shí)施例的計(jì)算作業(yè)并行處理方法流程圖。
【具體實(shí)施方式】
[0049]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明了,下面結(jié)合【具體實(shí)施方式】并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說明中,省略了對公知結(jié)構(gòu)和技術(shù)的描述,以避免不必要地混淆本發(fā)明的概念。
[0050]圖1顯示了現(xiàn)有技術(shù)中云計(jì)算平臺(tái)原理示意圖。
[0051]如圖1所示,現(xiàn)有技術(shù)中云計(jì)算平臺(tái)主要分為三個(gè)層次:顯示層、中間件層、基礎(chǔ)設(shè)施層。三個(gè)層次緊密相連,顯示層主要面向最終的用戶,用于為終端用戶提供用戶服務(wù)和資源配置。中間件層是云計(jì)算的計(jì)算核心層,主要提供并行處理和應(yīng)用服務(wù)器。為了處理海量的數(shù)據(jù),需要利用眾多的主機(jī)進(jìn)行高效的并行計(jì)算,基礎(chǔ)設(shè)施層提供文件存儲(chǔ)和數(shù)據(jù)庫檢索功能?;A(chǔ)設(shè)施層主要包括以下四種功能:
[0052]I)硬件資源的虛擬化。通過虛擬化X86資源,可以實(shí)現(xiàn)物理上資源和用戶完全隔絕,降低服務(wù)器的配置成本。
[0053]2)分布式存儲(chǔ)。為了存放海量的數(shù)據(jù),并保證這些數(shù)據(jù)的可管理性,Google的GFS文件系統(tǒng)是一個(gè)經(jīng)典的實(shí)現(xiàn)。
[0054]3)數(shù)據(jù)庫技術(shù)。根據(jù)云計(jì)算的特點(diǎn)而優(yōu)化的關(guān)系型數(shù)據(jù)庫技術(shù)和非關(guān)系型數(shù)據(jù)庫。
[0055]4)管理層。主要負(fù)責(zé)管理用戶賬戶等信息。在私有云環(huán)境下,單個(gè)數(shù)據(jù)單元的大小和計(jì)算量都要比公有云計(jì)算系統(tǒng)要高,出于管理的方便和對效率的追求,公有云計(jì)算系統(tǒng)的許多部分是可以精簡甚至不需要的。
[0056]圖2顯示了本發(fā)明數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)原理示意圖。
[0057]如圖2所示,本發(fā)明數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)包括集群系統(tǒng)、數(shù)據(jù)預(yù)處理模塊、并行處理和文件管理。集群系統(tǒng)為整個(gè)數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)提供硬件資源和軟件運(yùn)行環(huán)境,資料處理的程序開發(fā)者通過系統(tǒng)提供的接口配置文件、編寫處理程序。數(shù)據(jù)預(yù)處理模塊為即將執(zhí)行計(jì)算作業(yè)的數(shù)據(jù)進(jìn)行預(yù)處理,使其符合文件管理的格式要求和并行計(jì)算操作。為了使用戶得到直觀的計(jì)算模型,將文件操作提交給文件管理模塊完成。當(dāng)用戶在運(yùn)行作業(yè)時(shí),文件管理和并行計(jì)算會(huì)產(chǎn)生一個(gè)作業(yè)控制模塊,并負(fù)責(zé)維護(hù)每個(gè)文件的信息,使所述文件在完成接收數(shù)據(jù)之后可以自動(dòng)地轉(zhuǎn)發(fā)數(shù)據(jù)至目的模塊所在的計(jì)算機(jī)節(jié)點(diǎn)中。
[0058]開發(fā)者首先通過數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)提供的接口生成處理任務(wù)所需要的作業(yè)文件,并編寫作業(yè)中各個(gè)步驟的處理程序,然后系統(tǒng)在集群上為作業(yè)分配計(jì)算資源并配置文件信息,最后由系統(tǒng)自身的一個(gè)作業(yè)控制進(jìn)程發(fā)起作業(yè)開始運(yùn)行的信號,在處理的過程中和處理結(jié)束后對這次作業(yè)產(chǎn)生的文件進(jìn)行管理。
[0059]圖3顯示了本發(fā)明數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)模塊關(guān)系示意圖。
[0060]如圖3所示,本發(fā)明數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)包括四個(gè)模塊:計(jì)算作業(yè)文件生成模塊1、并行計(jì)算控制模塊2、文件管理模塊3和出錯(cuò)處理模塊4。
[0061]計(jì)算作業(yè)文件生成模塊I將數(shù)據(jù)的處理按照作業(yè)的方式進(jìn)行執(zhí)行。用戶通過系統(tǒng)提供的配置接口來配置作業(yè)中各個(gè)模塊的信息,并生成作業(yè)配置文件,系統(tǒng)根據(jù)作業(yè)配置文件進(jìn)行計(jì)算作業(yè)文件生成。作業(yè)由很多的功能模塊組成,每一個(gè)功能模塊都是用戶編寫的處理模塊,由一個(gè)獨(dú)立的進(jìn)程運(yùn)行,代表作業(yè)的一個(gè)處理步驟。用進(jìn)出口來表示模塊之間處理的先后關(guān)系。一個(gè)模塊輸入的數(shù)據(jù)叫進(jìn)口,一個(gè)模塊輸出的數(shù)據(jù)叫出口。在整個(gè)數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)中,進(jìn)口和出口都是由文件構(gòu)成的。如果一個(gè)模塊的入口需要其他模塊的出口文件,則這兩個(gè)模塊是先后順序,它們之間是相互依賴的;如果兩個(gè)模塊的入口是相同的文件,則這兩個(gè)模塊是并行處理、相互獨(dú)立的。通過平臺(tái)接口,用戶可以將這些處理模塊進(jìn)行任意的組合,用戶完成模塊的配置后,通過計(jì)算作業(yè)文件生成模塊I生成相對應(yīng)的作業(yè)處理文件。
[0062]并行計(jì)算控制模塊2用于分配系統(tǒng)計(jì)算資源并控制作業(yè)執(zhí)行。云計(jì)算環(huán)境下,數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)將每個(gè)模塊放在單獨(dú)的機(jī)器上運(yùn)行,省去底層虛擬資源的需要,使系統(tǒng)的實(shí)現(xiàn)更加精簡。計(jì)算節(jié)點(diǎn)分配完模塊之后,阻止在其上分配其他計(jì)算模塊的請求,在作業(yè)運(yùn)行期間,一個(gè)作業(yè)所占有的計(jì)算資源將完全由這個(gè)作業(yè)獨(dú)享。作業(yè)與作業(yè)之間的運(yùn)行不會(huì)使用相同的計(jì)算節(jié)點(diǎn),使得系統(tǒng)達(dá)到最小的耦合性,在數(shù)據(jù)量很大的計(jì)算任務(wù)中,使得各個(gè)任務(wù)彼此獨(dú)立,增強(qiáng)了系統(tǒng)的穩(wěn)定性。每個(gè)計(jì)算作業(yè)的計(jì)算步驟在作業(yè)運(yùn)行之后將不會(huì)產(chǎn)生變動(dòng),每個(gè)步驟之間都沒有明顯的細(xì)分和聚合關(guān)系。在作業(yè)文件中,一個(gè)模塊代表著計(jì)算任務(wù)中的一個(gè)步驟,使得計(jì)算的業(yè)務(wù)邏輯和平臺(tái)的底層資源分配有著緊密的聯(lián)系,方便開發(fā)者得到直觀的業(yè)務(wù)計(jì)算模型。
[0063]文件管理模塊3用于維護(hù)作業(yè)的輸入輸出文件及運(yùn)行時(shí)產(chǎn)生的臨時(shí)文件。所述的臨時(shí)文件通常是一個(gè)模塊計(jì)算產(chǎn)生的輸出模塊,同時(shí)也是后續(xù)模塊的輸入文件。一個(gè)作業(yè)計(jì)算完成時(shí),可能需要對中間的臨時(shí)文件進(jìn)行存檔或刪除。因此需要對文件進(jìn)行管理。一個(gè)中間產(chǎn)生的臨時(shí)文件,需要記錄其產(chǎn)生的來源模塊,發(fā)送至所要的目的模塊以及作業(yè)處理的進(jìn)度信息。文件管理模塊3負(fù)責(zé)將這個(gè)文件發(fā)送至所要達(dá)到的目的模塊,并等待作業(yè)結(jié)束。當(dāng)作業(yè)結(jié)束時(shí),將文件發(fā)送至目標(biāo)模塊,并保存。通過文件管理模塊3,數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)可以將每一個(gè)步驟的結(jié)果保存起來,方便用戶進(jìn)行系統(tǒng)的調(diào)試和擴(kuò)展。文件管理將文件的操作進(jìn)行了很好的隱藏,方便使用者進(jìn)行程序開發(fā)。
[0064]出錯(cuò)處理模塊4用于保證作業(yè)長時(shí)間運(yùn)行時(shí)能夠無縫的運(yùn)行,防止程序運(yùn)行時(shí)突然終止。云計(jì)算平臺(tái)最大的特點(diǎn)是可擴(kuò)展性和魯棒性,出錯(cuò)處理是云計(jì)算平臺(tái)中一個(gè)重要的組成部分。在集群系統(tǒng)構(gòu)成的云計(jì)算環(huán)境中,每個(gè)計(jì)算節(jié)點(diǎn)都有可能發(fā)生宕機(jī)的情況。但是作業(yè)往往需要長時(shí)間運(yùn)行,需要無縫地實(shí)現(xiàn)作業(yè)的運(yùn)行,因此需要一套防止程序終止的機(jī)制。本發(fā)明數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)中,每個(gè)處理模塊在分配至計(jì)算節(jié)點(diǎn)的時(shí)候都分配了出口信息。在處理模塊運(yùn)行期間,控制進(jìn)程將周期性地向各個(gè)模塊發(fā)送檢測報(bào)文,采用Ping實(shí)現(xiàn),當(dāng)某一個(gè)計(jì)算節(jié)點(diǎn)發(fā)生異常的時(shí)候,控制進(jìn)程將重新分配一個(gè)計(jì)算節(jié)點(diǎn),并將同這個(gè)計(jì)算節(jié)點(diǎn)相關(guān)的輸入輸出接口模塊信息重新配置。文件管理模塊每次總會(huì)將最后運(yùn)行成功的步驟文件發(fā)送至控制進(jìn)程,因此控制進(jìn)程可以根據(jù)運(yùn)行的流程步驟重新配置這些文件,恢復(fù)處理流程。出錯(cuò)處理模塊4中針對每一個(gè)計(jì)算節(jié)點(diǎn)只運(yùn)行一個(gè)處理模塊,一個(gè)作業(yè)的崩潰不會(huì)影響另外一個(gè)作業(yè)的運(yùn)行,同時(shí)由于計(jì)算節(jié)點(diǎn)在分配了處理模塊之后就不再接收其他分配模塊的請求,這種方式也很好地解除了系統(tǒng)的耦合性,使系統(tǒng)出錯(cuò)時(shí)造成的代價(jià)最小。
[0065]圖4顯示了本發(fā)明優(yōu)選實(shí)施例的計(jì)算作業(yè)并行處理方法流程圖。
[0066]如圖4所示,本發(fā)明優(yōu)選實(shí)施例的計(jì)算作業(yè)并行處理方法中主要分為如下步驟:
[0067]SlOl:獲取作業(yè)處理文件;
[0068]S102:獲取集群系統(tǒng)可用計(jì)算節(jié)點(diǎn)數(shù)量;
[0069]S103:選擇空閑節(jié)點(diǎn)運(yùn)行控制進(jìn)程;
[0070]S104:分配各個(gè)模塊至計(jì)算節(jié)點(diǎn);
[0071]S105:設(shè)置各個(gè)模塊輸入輸出信息;
[0072]S106:屏蔽已分配模塊的節(jié)點(diǎn)接受分配新消息;
[0073]S107:在已分配模塊的計(jì)算節(jié)點(diǎn)上啟動(dòng)相應(yīng)進(jìn)程;
[0074]S108:控制進(jìn)程向第一個(gè)計(jì)算節(jié)點(diǎn)發(fā)送開始消息;
[0075]S109:控制進(jìn)程開始等待消息;
[0076]SllO:判斷節(jié)點(diǎn)出錯(cuò)信息,當(dāng)出現(xiàn)錯(cuò)誤時(shí),執(zhí)行S111,否則執(zhí)行S201 ;
[0077]Slll:重新尋找空閑計(jì)算節(jié)點(diǎn);
[0078]S112:分配模塊啟動(dòng)作業(yè)運(yùn)行;
[0079]S201:判斷是否表示作業(yè)進(jìn)度文件,若判斷正確,則執(zhí)行S202,否則執(zhí)行S301 ;
[0080]S202:獲取作業(yè)的進(jìn)度標(biāo)示;
[0081]S203:獲取各個(gè)計(jì)算模塊狀態(tài)信息;
[0082]S204:保存各個(gè)計(jì)算模塊結(jié)果文件;
[0083]S301:判斷是否作業(yè)結(jié)束;
[0084]S302:獲取作業(yè)輸出結(jié)果。
[0085]通過以上步驟,本發(fā)明數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)實(shí)現(xiàn)計(jì)算作業(yè)的并行處理。
[0086]綜上所述,本發(fā)明提出了一種云計(jì)算平臺(tái)下數(shù)據(jù)與計(jì)算密集型處理系統(tǒng)。該系統(tǒng)能夠滿足數(shù)據(jù)與計(jì)算密集型處理,同時(shí)保證了系統(tǒng)具有較好的魯棒性和安全性,具有較強(qiáng)的工程應(yīng)用價(jià)值。
[0087]應(yīng)當(dāng)理解的是,本發(fā)明的上述【具體實(shí)施方式】僅僅用于示例性說明或解釋本發(fā)明的原理,而不構(gòu)成對本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。
【權(quán)利要求】
1.一種云計(jì)算平臺(tái)下數(shù)據(jù)與計(jì)算密集型處理系統(tǒng),包括:計(jì)算作業(yè)文件生成模塊(I)、并行計(jì)算控制模塊(2)、文件管理模塊(3)和出錯(cuò)處理模塊(4),其特征在于: 所述計(jì)算作業(yè)文件生成模塊(I)將數(shù)據(jù)的處理按照作業(yè)的方式進(jìn)行執(zhí)行; 所述并行計(jì)算控制模塊(2)用于分配系統(tǒng)計(jì)算資源并控制作業(yè)執(zhí)行; 所述文件管理模塊(3)用于維護(hù)作業(yè)的輸入輸出文件及運(yùn)行時(shí)產(chǎn)生的臨時(shí)文件; 所述出錯(cuò)處理模塊(4)用于保證作業(yè)長時(shí)間運(yùn)行時(shí)能夠無縫的運(yùn)行,防止程序運(yùn)行時(shí)突然終止。
2.根據(jù)權(quán)利要求1所述的云計(jì)算平臺(tái)下數(shù)據(jù)與計(jì)算密集型處理系統(tǒng),其特征在于:所述計(jì)算作業(yè)是用戶通過系統(tǒng)提供的配置接口來配置作業(yè)中各個(gè)模塊的信息,并生成作業(yè)配置文件,系統(tǒng)根據(jù)作業(yè)配置文件進(jìn)行計(jì)算作業(yè)文件生成。
3.根據(jù)權(quán)利要求2所述的云計(jì)算平臺(tái)下數(shù)據(jù)與計(jì)算密集型處理系統(tǒng),其特征在于:所述作業(yè)是由很多的功能模塊組成,每一個(gè)功能模塊都是用戶編寫的處理模塊,由一個(gè)獨(dú)立的進(jìn)程運(yùn)行,代表作業(yè)的一個(gè)處理步驟。
4.根據(jù)權(quán)利要求1所述的云計(jì)算平臺(tái)下數(shù)據(jù)與計(jì)算密集型處理系統(tǒng),其特征在于:所述分配系統(tǒng)計(jì)算資源是在計(jì)算節(jié)點(diǎn)分配完模塊之后,阻止在其上分配其他計(jì)算模塊的請求,在作業(yè)運(yùn)行期間,一個(gè)作業(yè)所占有的計(jì)算資源將完全由這個(gè)作業(yè)獨(dú)享。
5.根據(jù)權(quán)利要求4所述的云計(jì)算平臺(tái)下數(shù)據(jù)與計(jì)算密集型處理系統(tǒng),其特征在于:所述作業(yè)運(yùn)行期間,作業(yè)與作業(yè)之間的運(yùn)行不會(huì)使用相同的計(jì)算節(jié)點(diǎn),系統(tǒng)具有最小的耦合性,并采用計(jì)算作業(yè)并行處理方法。
6.根據(jù)權(quán)利要求5所述的云計(jì)算平臺(tái)下數(shù)據(jù)與計(jì)算密集型處理系統(tǒng),其特征在于:所述計(jì)算作業(yè)并行處理方法包括如下步驟: 5101:獲取作業(yè)處理文件; 5102:獲取集群系統(tǒng)可用計(jì)算節(jié)點(diǎn)數(shù)量; 5103:選擇空閑節(jié)點(diǎn)運(yùn)行控制進(jìn)程; 5104:分配各個(gè)模塊至計(jì)算節(jié)點(diǎn); 5105:設(shè)置各個(gè)模塊輸入輸出信息; 5106:屏蔽已分配模塊的節(jié)點(diǎn)接受分配新消息; 5107:在已分配模塊的計(jì)算節(jié)點(diǎn)上啟動(dòng)相應(yīng)進(jìn)程; 5108:控制進(jìn)程向第一個(gè)計(jì)算節(jié)點(diǎn)發(fā)送開始消息; 5109:控制進(jìn)程開始等待消息; 5110:判斷節(jié)點(diǎn)出錯(cuò)信息,當(dāng)出現(xiàn)錯(cuò)誤時(shí),執(zhí)行S111,否則執(zhí)行S201 ; 5111:重新尋找空閑計(jì)算節(jié)點(diǎn); SI12:分配模塊啟動(dòng)作業(yè)運(yùn)行; 5201:判斷是否表示作業(yè)進(jìn)度文件,若判斷正確,則執(zhí)行S202,否則執(zhí)行S301 ; 5202:獲取作業(yè)的進(jìn)度標(biāo)示; 5203:獲取各個(gè)計(jì)算模塊狀態(tài)信息; 5204:保存各個(gè)計(jì)算模塊結(jié)果文件; 5301:判斷是否作業(yè)結(jié)束; 5302:獲取作業(yè)輸出結(jié)果。
7.根據(jù)權(quán)利要求1所述的云計(jì)算平臺(tái)下數(shù)據(jù)與計(jì)算密集型處理系統(tǒng),其特征在于:所述文件管理模塊(3)中的臨時(shí)文件是一個(gè)模塊計(jì)算產(chǎn)生的輸出模塊,同時(shí)也是后續(xù)模塊的輸入文件。
8.根據(jù)權(quán)利要求1所述的云計(jì)算平臺(tái)下數(shù)據(jù)與計(jì)算密集型處理系統(tǒng),其特征在于:所述出錯(cuò)處理模塊(4)在處理模塊運(yùn)行期間,控制進(jìn)程將周期性地向各個(gè)模塊發(fā)送檢測報(bào)文,并采用ping實(shí)現(xiàn)。
【文檔編號】G06F17/30GK104516969SQ201410821806
【公開日】2015年4月15日 申請日期:2014年12月25日 優(yōu)先權(quán)日:2014年12月25日
【發(fā)明者】祝峰 申請人:祝峰