欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種分布式資源調(diào)度系統(tǒng)及其方法

文檔序號(hào):7649383閱讀:777來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種分布式資源調(diào)度系統(tǒng)及其方法
技術(shù)領(lǐng)域
本發(fā)明涉及資源調(diào)度技術(shù),特別涉及一種分布式資源調(diào)度系統(tǒng)及其方法。
背景技術(shù)
現(xiàn)有的分布式計(jì)算(網(wǎng)格計(jì)算)技術(shù)有一些成熟的軟件和產(chǎn)品,其中代表
的有
1、 BOINC
BOINC是一個(gè)分布式計(jì)算平臺(tái),由美國(guó)加利福尼亞大學(xué)伯克利分校 (University of California - Berkeley )于2003年開(kāi)發(fā),l吏得各種分布式計(jì)算項(xiàng) 目能夠使用一個(gè)平臺(tái)軟件來(lái)運(yùn)行。
但是BOINC有幾個(gè)困難的地方
A、 其服務(wù)器和任務(wù)的配置是全手工,而且非常復(fù)雜;
B、 只能處理需要少量數(shù)據(jù)交互的運(yùn)算;
C、 要使用BOINC的提供開(kāi)發(fā)包編程,支持的程序接口有限。 2 、 Globus
Globus由全球網(wǎng)格論壇(GGF )下屬Globus項(xiàng)目組成員聯(lián)合開(kāi)發(fā)的Globus Toolkit標(biāo)準(zhǔn)工具包,可以建立網(wǎng)格系統(tǒng)和開(kāi)發(fā)網(wǎng)格軟件。 但是Globus也有幾個(gè)困難的地方
A、 開(kāi)發(fā)Globus程序,必須非常熟悉其API函數(shù),并使用專(zhuān)用平臺(tái);
B、 程序出錯(cuò)會(huì)影響全局,當(dāng)計(jì)算節(jié)點(diǎn)死機(jī)時(shí)無(wú)法被控制;
C、 當(dāng)計(jì)算節(jié)點(diǎn)增多時(shí),節(jié)點(diǎn)之間通信耗費(fèi)資源太大,甚至抵消了計(jì)算能 力的增長(zhǎng);
同時(shí),以上這些分布式計(jì)算平臺(tái)都有一些限制
A、 開(kāi)發(fā)的分布式程序都是基于特定開(kāi)發(fā)平臺(tái),非通用程序;
B、 所有的環(huán)境構(gòu)建和框架都是針對(duì)特定開(kāi)發(fā)環(huán)境,非通用框架。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種分布式資源調(diào)度系統(tǒng)及其方法。
本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是 一種分布式資源調(diào)度方法, 包括如下步驟
(a) ,服務(wù)節(jié)點(diǎn)將需要處理的任務(wù)打包生成格式統(tǒng)一的任務(wù)包,并將所述 任務(wù)包發(fā)送至調(diào)度服務(wù)器;
(b) ,所述調(diào)度服務(wù)器接收并管理所述服務(wù)節(jié)點(diǎn)發(fā)來(lái)的任務(wù)包,以預(yù)設(shè)規(guī) 則將其分配至計(jì)算節(jié)點(diǎn);
(c) ,所述計(jì)算節(jié)點(diǎn)接收所述調(diào)度服務(wù)器發(fā)來(lái)的任務(wù)包,并對(duì)所述任務(wù)包 進(jìn)行處理,將處理的結(jié)果包發(fā)送至所述調(diào)度服務(wù)器。
本發(fā)明中,所述步驟(a)還包括 (al),將需要處理的任務(wù)放置在預(yù)設(shè)目錄下,并對(duì)該目錄進(jìn)行掃描,向所 述調(diào)度服務(wù)器查詢(xún)每個(gè)任務(wù)包的狀態(tài);
(a2),根據(jù)返回的查詢(xún)狀態(tài),作相應(yīng)的處理,具體包括任務(wù)正在計(jì)算中, 不作處理;任務(wù)已經(jīng)完成,則將相應(yīng)的任務(wù)包移入相應(yīng)的目錄下并進(jìn)行后續(xù)操 作;任務(wù)錯(cuò)誤,則選擇重發(fā)該任務(wù)包或取消該任務(wù)包。 本發(fā)明中,所述步驟(a)還包括 (a3),掃描預(yù)設(shè)目錄下的每個(gè)任務(wù)包時(shí),每隔預(yù)設(shè)時(shí)間將其發(fā)送至所述調(diào) 度服務(wù)器,發(fā)送完畢后,爿沐眠預(yù)設(shè)時(shí)間。 本發(fā)明中,所述步驟(b)還包括
(bl),接收并登記所述服務(wù)節(jié)點(diǎn)發(fā)來(lái)的任務(wù)包,向所述服務(wù)節(jié)點(diǎn)提供任 務(wù)包的狀態(tài)查詢(xún);
(b2 ),所述調(diào)度服務(wù)器以?xún)?yōu)先級(jí)為0 ~ 9的預(yù)設(shè)規(guī)則將任務(wù)包發(fā)送至計(jì)算 節(jié)點(diǎn)。
本發(fā)明中,所述步驟(b)還包括
(b3),所述調(diào)度服務(wù)器響應(yīng)所述服務(wù)節(jié)點(diǎn)的查詢(xún),如果發(fā)現(xiàn)該查詢(xún)的任 務(wù)包已經(jīng)完成,則向所述服務(wù)節(jié)點(diǎn)返回結(jié)果包。
本發(fā)明中,所述步驟(c)還包括
(cl),計(jì)算節(jié)點(diǎn)向調(diào)度服務(wù)器提交本機(jī)所支持的運(yùn)行環(huán)境,并從所述調(diào)度服務(wù)器中獲取所述任務(wù)包列表;
(c2),所述調(diào)度服務(wù)器從所述任務(wù)包列表中選4^其中一個(gè)任務(wù)包,并將 該任務(wù)包的連接地址返回給所述計(jì)算節(jié)點(diǎn),同時(shí)記錄該任務(wù)包的信息并封鎖該 任務(wù)包生存次數(shù)自減;
(c3),所述計(jì)算節(jié)點(diǎn)根據(jù)所述任務(wù)包的連接地址下載任務(wù)包,解包, 并運(yùn)行主程序中指定的可執(zhí)行程序進(jìn)行處理。
本發(fā)明中,執(zhí)行所述步驟(c3)之后還包括
(c31),所述調(diào)度服務(wù)器根據(jù)所述計(jì)算節(jié)點(diǎn)返回的結(jié)果處理任務(wù)包,并 登記處理結(jié)束的時(shí)間,修改任務(wù)包狀態(tài),并將已處理的任務(wù)包移入已完成列表。
本發(fā)明還同時(shí)公開(kāi)了一種分布式資源調(diào)度系統(tǒng),包括服務(wù)節(jié)點(diǎn)、調(diào)度服 務(wù)器以及多個(gè)計(jì)算節(jié)點(diǎn),
服務(wù)節(jié)點(diǎn),用于將需要處理的任務(wù)打包成格式統(tǒng)一的任務(wù)包,并將所述任 務(wù)包發(fā)送至所述調(diào)度服務(wù)器和接收所述調(diào)度服務(wù)器返回的結(jié)果包;
調(diào)度服務(wù)器,用于接收并管理所述調(diào)度服務(wù)器發(fā)來(lái)的任務(wù)包,并以預(yù)設(shè)規(guī) 則將其分配至所述計(jì)算節(jié)點(diǎn),同時(shí)將所述計(jì)算節(jié)點(diǎn)返回的結(jié)果包返回至所述服務(wù)節(jié)點(diǎn);
計(jì)算節(jié)點(diǎn),接收所述調(diào)度服務(wù)器分配的任務(wù)包,并對(duì)所述任務(wù)包進(jìn)行處理, 并將處理的結(jié)果包返回至所述調(diào)度服務(wù)器。
本發(fā)明中,還包括用于管理和配置各個(gè)節(jié)點(diǎn)和服務(wù)器的參數(shù)的管理接口 , 所述管理接口包括管理各個(gè)節(jié)點(diǎn)模塊、新聞處理系統(tǒng)管理模塊、股票分析系統(tǒng) 管理模塊以及文件傳輸管理模塊。
通過(guò)采用本發(fā)明技術(shù)方案,與現(xiàn)有的技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn)
本發(fā)明的技術(shù)方案中,根據(jù)本發(fā)明,服務(wù)節(jié)點(diǎn)所需要處理的計(jì)算任務(wù)只需 要提交調(diào)度系統(tǒng),并在計(jì)算結(jié)束后取回即可,并不占用自身的CPU和內(nèi)存。
調(diào)度服務(wù)器只負(fù)責(zé)任務(wù)包的接收,登記,分派,而不需要知道任務(wù)包的具 體內(nèi)容,從而使得整個(gè)系統(tǒng)的計(jì)算可以調(diào)度來(lái)自任意計(jì)算機(jī)語(yǔ)言、任意操作系 統(tǒng)平臺(tái)的任務(wù)。
計(jì)算節(jié)點(diǎn)的任務(wù)包是由調(diào)度服務(wù)器分派,故而它在整個(gè)系統(tǒng)中的計(jì)算任務(wù) 來(lái)源是隨機(jī)的,它可以計(jì)算任意服務(wù)節(jié)點(diǎn)的任務(wù),并且它本身的運(yùn)行狀態(tài)失控 不會(huì)給系統(tǒng)造成致命的打擊,即使在規(guī)定時(shí)間內(nèi)不返回結(jié)果,該計(jì)算任務(wù)則會(huì) 被轉(zhuǎn)而分派給另外的計(jì)算節(jié)點(diǎn)。
服務(wù)節(jié)點(diǎn),計(jì)算節(jié)點(diǎn),調(diào)度服務(wù)器三種角色的設(shè)定,可以使系統(tǒng)內(nèi)計(jì)算機(jī) 分工明確,便于管理,可以使得整個(gè)分布式系統(tǒng)的計(jì)算任務(wù)不受計(jì)算機(jī)語(yǔ)言、 操作系統(tǒng)平臺(tái)等限制。


圖1是本發(fā)明所述一種分布式資源調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
本發(fā)明涉及一種分布式資源調(diào)度系統(tǒng)及其方法,其中資源被打包成與平臺(tái) 無(wú)關(guān)的文件,該文件經(jīng)由調(diào)度服務(wù)器分派到各計(jì)算節(jié)點(diǎn),最終亦從計(jì)算節(jié)點(diǎn)返 回結(jié)果文件的一種方案。
下面根據(jù)附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步闡述。本發(fā)明的實(shí)施技術(shù)方案如下
一、跨平臺(tái)模塊共享
本發(fā)明中涉及一種跨平臺(tái)模塊共享實(shí)現(xiàn)分布式資源調(diào)度的方法,可以實(shí)現(xiàn) Windows、 Linux/Unix中共享模塊的統(tǒng)一調(diào)用,其中參數(shù)傳遞和算法與操作系 統(tǒng)和編程^吾言無(wú)關(guān)。
該方法基于UIMP編禾呈環(huán)境開(kāi)發(fā)。UIMP(Unified Image Manipulation Program)是一套用C十+編寫(xiě)的高性能圖像處理底層開(kāi)發(fā)環(huán)境,內(nèi)置了函數(shù)解析 和腳本執(zhí)行功能。UIMP的核心思想是描述和模塊。任何一個(gè)函數(shù)只要通過(guò)描 述清楚,則統(tǒng)一由函數(shù)引擎解析成內(nèi)部命令,然后調(diào)用相關(guān)模塊中算法來(lái)實(shí)現(xiàn)。
模塊是可擴(kuò)展的,只需要將相應(yīng)的動(dòng)態(tài)鏈接庫(kù)(.dll/.SO)拷貝到
(common/module/open)目錄下即可。編寫(xiě)模塊也是非常方便的,通過(guò)調(diào)用UIMP 提供的API函數(shù)和UIO類(lèi),在VC/ MINGW32/Borland C++ Builder/GCC等C++ 編:澤環(huán)境中都可以輕松編寫(xiě)。
UIMP軟件已經(jīng)由本專(zhuān)利申請(qǐng)人開(kāi)發(fā)完成,并建有獨(dú)立的維護(hù)和更新網(wǎng) 站http:〃sourceforge.net/projects/uimp/。
二、打包算法
打包算法(pack)包括兩個(gè)獨(dú)立過(guò)程
1、 壓縮
把整個(gè)目錄中文件整和為單一個(gè)大文件(含子目錄)。
2、 解壓
將壓縮文件重新釋放,可理解為解壓到指定目錄(含子目錄)。 本打包程序算法是獨(dú)創(chuàng)性、并有以下特點(diǎn)
一、 每一個(gè)打包文件有個(gè)變長(zhǎng)的描述信息段,類(lèi)似下面格式 ;in—type=file;in—file=main.ini;bin—len=83;cmd—len=4096;
這樣可以記錄任意多的信息和將來(lái)可能的信息段。不同于現(xiàn)有的打包或壓縮算法,只是預(yù)留了固定長(zhǎng)度的固定個(gè)數(shù)信息段存儲(chǔ)空間,難以擴(kuò)展和自由表 達(dá)。
二、 支持子目錄和相對(duì)路徑
所有的文件和目錄都是分開(kāi)保存的。在壓縮時(shí)先處理目錄,保持原有目錄 結(jié)構(gòu)樹(shù)。然后處理文件,保存文件和路徑的關(guān)系。在解壓時(shí)先建立目錄,恢復(fù) 原先目錄結(jié)構(gòu)樹(shù)(可以采取相對(duì)路徑恢復(fù)),隨后提取出原始文件。
三、 支持可擴(kuò)充的壓縮算法
目前,對(duì)所需要壓縮的文件,首先使用lz77算法進(jìn)行壓縮,對(duì)得到的結(jié) 果再使用huffhian編碼的方法進(jìn)行壓縮。同時(shí),因?yàn)閴嚎s算法是個(gè)獨(dú)立模塊, 執(zhí)行再算法打包之后。所以,系統(tǒng)支持?jǐn)U充或更換新的壓縮算法。
四、操作系統(tǒng)獨(dú)立性
文件壓縮和恢復(fù)的算法都和操作系統(tǒng)無(wú)關(guān)。采用二進(jìn)制流的方式保存文件 (非文本方式),這樣保證了數(shù)據(jù)的完整性。壓縮和解壓算法會(huì)根據(jù)具體的操
作系統(tǒng)環(huán)境(Windows或Unix/Linux)來(lái)自動(dòng)調(diào)整目錄符號(hào)和相對(duì)路徑。
三、超級(jí)監(jiān)護(hù)程序
超級(jí)監(jiān)護(hù)程序sd(Super Daemon)兼具兩個(gè)功能
1、 種子
通過(guò)sd可以下載軟件包。
2、 監(jiān)管
通過(guò)sd可以管理軟件包。
常見(jiàn)軟件包,列舉部分如下 cnode 計(jì)算節(jié)點(diǎn) snode 服務(wù)節(jié)點(diǎn) dl—news 定期下載財(cái)經(jīng)新聞 dl一stock 定期下載股票數(shù)據(jù)
uimp一mini小型UIMP運(yùn)行環(huán)境 shutdown 遠(yuǎn)程關(guān)機(jī)工具
本系統(tǒng)中,通過(guò)sd來(lái)啟動(dòng)和管理計(jì)算節(jié)點(diǎn)、服務(wù)節(jié)點(diǎn)和調(diào)度服務(wù)器。
下面以計(jì)算節(jié)點(diǎn)為例,說(shuō)明sd的管理過(guò)程
第一步,生成帳號(hào)密碼
第一次運(yùn)行sd實(shí)例(即在一臺(tái)新節(jié)點(diǎn)上運(yùn)行)。
若帳號(hào)不存在,則向調(diào)度服務(wù)器申請(qǐng),需要發(fā)送本機(jī)mac號(hào)作為唯一標(biāo) 識(shí),服務(wù)器返回自動(dòng)生成的帳號(hào)和隨機(jī)密碼。 申請(qǐng)帳號(hào)成功后將相關(guān)參數(shù)寫(xiě)入本地配置。 第二步登陸服務(wù)器
若帳號(hào)和密碼存在,則登錄服務(wù)器要求驗(yàn)證;如果驗(yàn)證通過(guò),服務(wù)器返回 合法進(jìn)程號(hào)。
獲得合法的進(jìn)程號(hào)session id(sid),以后的操作(比如查詢(xún)?nèi)蝿?wù))皆發(fā)送sid 表示這次連接。
第三步設(shè)置開(kāi)機(jī)啟動(dòng)項(xiàng)
sd獲取任務(wù)后通過(guò)本地的配置文件(例如sd.ini )來(lái)設(shè)置開(kāi)才凡自啟動(dòng)程序, 比如cnode、 dl_news等。通過(guò)文件傳輸才幾制,可以遠(yuǎn)程<奮改配置文件來(lái)控制 啟動(dòng)項(xiàng)。
開(kāi)機(jī)啟動(dòng)項(xiàng)為前述軟件包,包括重啟等程序均包含在內(nèi)。sd通過(guò)"設(shè)置 開(kāi)機(jī)啟動(dòng)項(xiàng)"+ "自動(dòng)重啟"來(lái)控制的運(yùn)行的程序,并隨時(shí)向服務(wù)器匯才艮運(yùn)行 狀況。
四、分布式計(jì)算框架
如圖l所示,先僅僅描述一個(gè)最小化的網(wǎng)絡(luò)結(jié)構(gòu),其中分為調(diào)度服務(wù)器、 服務(wù)節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)。
1. 調(diào)度服務(wù)器(Dispatch Server)
僅一臺(tái),基于linux。
負(fù)責(zé)整個(gè)系統(tǒng)的調(diào)度。
假定其IP為10.22.65.130,以下簡(jiǎn)稱(chēng)130。
2. 服務(wù)節(jié)點(diǎn)(Server Node)
若干臺(tái),平臺(tái)不限。
主要功能是發(fā)送和接受任務(wù)包。
假定其IP為10.22.65.131,以下簡(jiǎn)稱(chēng)131。
3. 計(jì)算節(jié)點(diǎn)(Compute Node)
若干臺(tái),平臺(tái)不限。
主要功能是計(jì)算分配到的任務(wù)包,并把結(jié)果返回調(diào)度服務(wù)器。
假定其IP為10.22.65.137,以下筒稱(chēng)137。
4. 管理接口 (Manage interface)
一臺(tái)或多臺(tái),平臺(tái)不限。
主要功能是管理和配置各個(gè)節(jié)點(diǎn)和服務(wù)器的參數(shù)。
假定其IP為10.22.65.138,以下簡(jiǎn)稱(chēng)138。
以下對(duì)以上分布式資源調(diào)度系統(tǒng)的各個(gè)組成部分的工作流程進(jìn)行詳細(xì)說(shuō)明。
以下簡(jiǎn)稱(chēng)
(1 )調(diào)度服務(wù)器Dispatch Server,主要服務(wù)于兩方面
第一,接收并登記服務(wù)節(jié)點(diǎn)送來(lái)的任務(wù)包,提供狀態(tài)查詢(xún)(例如排隊(duì)中、 運(yùn)行中,已完成等狀態(tài)),將計(jì)算節(jié)點(diǎn)返回的結(jié)果包發(fā)送至服務(wù)節(jié)點(diǎn)。
第二,管理任務(wù)包,選擇性地發(fā)送給計(jì)算節(jié)點(diǎn),并接收計(jì)算節(jié)點(diǎn)返回的 結(jié)果包。
注這里的"發(fā)送","接收,,皆為調(diào)度服務(wù)器的被動(dòng)行為,實(shí)則是由計(jì) 算節(jié)點(diǎn)或服務(wù)節(jié)點(diǎn)發(fā)起的請(qǐng)求。
關(guān)于任務(wù)包(pak)的管理,每個(gè)任務(wù)包具有唯一包編號(hào)(pak一id),在 服務(wù)節(jié)點(diǎn)發(fā)送過(guò)來(lái),調(diào)度服務(wù)器登記入庫(kù)時(shí),確定唯一的字符串,由精確到秒 的時(shí)間戳+6位隨機(jī)字符串組成,[pak—id].inf保存著pak的屬性、優(yōu)先級(jí)等。
本發(fā)明優(yōu)選實(shí)施例中將pak的優(yōu)先級(jí)設(shè)為0 9, 0最4氐,9最高,等級(jí)高 表示越緊急。0最低,用來(lái)sleep,即空閑任務(wù);9最高,用來(lái)升級(jí)模塊,停 止客戶(hù)機(jī),修改配置等,需要馬上響應(yīng)。l表示初級(jí),用于金融分析,指標(biāo)計(jì) 算等用戶(hù)請(qǐng)求;2表示中級(jí),用于文字聚類(lèi),建立索引等系統(tǒng)工作;3表示高 級(jí),用于新聞4爪取等實(shí)時(shí)操作;中間4 8可另行調(diào)整。
當(dāng)調(diào)度服務(wù)器接收到任務(wù)請(qǐng)求時(shí)從9開(kāi)始至0掃描,以確定優(yōu)先級(jí)排序的 pak列表。先分配從未被分配的任務(wù),接著分配已分配但尚未有返回結(jié)果的任 務(wù)。當(dāng)一個(gè)任務(wù)被分配時(shí),將任務(wù)相應(yīng)記錄中生存次數(shù)減一,如果發(fā)現(xiàn)減后小 于等于O則表示已經(jīng)超過(guò)最大嘗試次數(shù)。生存次數(shù)默認(rèn)為5。
調(diào)度服務(wù)器的功能還包括回應(yīng)狀態(tài)查詢(xún),包括響應(yīng)來(lái)自服務(wù)節(jié)點(diǎn)的查詢(xún), 如果發(fā)現(xiàn)此任務(wù)task已經(jīng)完成,則返回結(jié)果包,并做相應(yīng)的后續(xù)工作(登記 結(jié)束時(shí)間、修改pak狀態(tài)、移入已完成列表等)。
(2)計(jì)算節(jié)點(diǎn)Compute Node:本發(fā)明優(yōu)選實(shí)施例中是以win32操:作平臺(tái)為主,接受Win32操作平臺(tái)計(jì)算任務(wù),linux操作平臺(tái)接受相應(yīng)任務(wù)。流程如 下
步驟l:申請(qǐng)任務(wù)。計(jì)算節(jié)點(diǎn)定期主動(dòng)訪問(wèn)調(diào)度服務(wù)器,并發(fā)送本機(jī)信息 (包括os, cpp, matlab, python等環(huán)境是否支持)和接收數(shù)據(jù)(調(diào)度服務(wù)器 才艮據(jù)計(jì)算節(jié)點(diǎn)的信息返回可用pak)。
請(qǐng)求的結(jié)果,可以有以下情況
失敗指網(wǎng)絡(luò)不可到達(dá),調(diào)度服務(wù)器無(wú)響應(yīng)等意外情況。
這時(shí)按照預(yù)設(shè)配置文件中規(guī)定的時(shí)間進(jìn)行-f木眠(sleep )。
成功指調(diào)度服務(wù)器正?;貞?yīng)請(qǐng)求,成功取得需處理的任務(wù)包。
若是沒(méi)有獲取到合適的任務(wù)包,或者任務(wù)包為空,則自動(dòng)休息一下。
步驟2:計(jì)算節(jié)點(diǎn)解壓pak,并分析包配置文件main.ini,確定主程序并進(jìn) 行處理。其執(zhí)行處理的結(jié)果包括
成功是指pak運(yùn)行正常,已輸出done.ini, 但不一定有輸出文件。如果 有的話(huà),將在done.ini中指定。
失敗是指pak運(yùn)行失敗,并無(wú)done.ini輸出。
計(jì)算節(jié)點(diǎn)會(huì)根據(jù)運(yùn)行狀態(tài)報(bào)告給調(diào)度服務(wù)器,并把計(jì)算結(jié)果打包為結(jié)果包 提交給調(diào)度服務(wù)器。
步驟3:調(diào)度服務(wù)器根據(jù)計(jì)算節(jié)點(diǎn)返回的結(jié)果處理pak,并登記結(jié)束時(shí)間, 修改pak狀態(tài),然后將其移入已完成列表,等待服務(wù)節(jié)點(diǎn)來(lái)查詢(xún)并取回結(jié)果包。
(3)服務(wù)節(jié)點(diǎn)
服務(wù)節(jié)點(diǎn)的工作流程如下
本發(fā)明優(yōu)選實(shí)施例中將服務(wù)節(jié)點(diǎn)的才喿作系統(tǒng)以Win32才喿作平臺(tái)為主,分以 下幾個(gè)狀態(tài)
in 尚未處理的任務(wù)包 run 正在計(jì)算的包 done 已完成的任務(wù)包
服務(wù)節(jié)點(diǎn)定時(shí)掃描輸入目錄,并依次查詢(xún)每個(gè)pak狀態(tài),將狀態(tài)為in的包發(fā)送至調(diào)度服務(wù)器,發(fā)送后將該包狀態(tài)改為rim,并將服務(wù)器返回的pak—id力口入運(yùn)4亍歹寸表run—list。
服務(wù)節(jié)點(diǎn)定時(shí)查詢(xún)所有run狀態(tài)的包,返回狀態(tài)包括
第一,排隊(duì)或計(jì)算中。表示任務(wù)正在計(jì)算中,不作處理。
第二,已完成。則服務(wù)節(jié)點(diǎn)從調(diào)度服務(wù)器上取回結(jié)果包。
第三,錯(cuò)誤,錯(cuò)誤情況又分為
a, 服務(wù)器上顯示無(wú)此包。這時(shí)可以選擇重發(fā);
b, pak包有誤,可能是程序出錯(cuò)或其它原因,從運(yùn)行列表runjist中取 消此包取消此包,并作記錄。
(4)管理接口
管理接口的主要功能是管理和配置各個(gè)節(jié)點(diǎn)和服務(wù)器的參數(shù)。
本發(fā)明優(yōu)選實(shí)施例中將服務(wù)節(jié)點(diǎn)的操作系統(tǒng)以Linux操作平臺(tái)為主,使用 Apache + PHP實(shí)現(xiàn)網(wǎng)頁(yè)方式管理界面,分以下幾個(gè)才莫塊
websd 管理各個(gè)節(jié)點(diǎn)模塊(通過(guò)超級(jí)監(jiān)護(hù)程序)
webmsg 新聞處理系統(tǒng)管理才莫塊
websmb 股票分析系統(tǒng)管理才莫塊
webftp 文件傳輸管理模塊
為了安全傳遞信息,管理平臺(tái)支持ssl方式連接。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng) 域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則 之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求范 圍之內(nèi)。
權(quán)利要求
1、一種分布式資源調(diào)度方法,其特征在于,包括如下步驟(a),服務(wù)節(jié)點(diǎn)將需要處理的任務(wù)打包生成格式統(tǒng)一的任務(wù)包,并將所述任務(wù)包發(fā)送至調(diào)度服務(wù)器;(b),所述調(diào)度服務(wù)器接收并管理所述服務(wù)節(jié)點(diǎn)發(fā)來(lái)的任務(wù)包,并按照合理的調(diào)度算法將其分配至計(jì)算節(jié)點(diǎn);(c),所述計(jì)算節(jié)點(diǎn)提取所述調(diào)度服務(wù)器上的任務(wù)包,并對(duì)所述任務(wù)包進(jìn)行處理,將處理的結(jié)果包發(fā)送回所述調(diào)度服務(wù)器。
2、 根據(jù)權(quán)利要求1所述的一種分布式資源調(diào)度系統(tǒng),其特征在于,所述 步驟(a)還包括(al),將需要處理的程序或任務(wù)進(jìn)行打包,封裝為獨(dú)立任務(wù)包文件; (a2),將需要處理的任務(wù)包放置在預(yù)設(shè)目錄下,并對(duì)該目錄進(jìn)行掃描,向所述調(diào)度服務(wù)器查詢(xún)每個(gè)任務(wù)包的狀態(tài);(a3),根據(jù)返回的查詢(xún)狀態(tài),作相應(yīng)的處理,具體包括任務(wù)正在計(jì)算中,不作處理;任務(wù)已經(jīng)完成,則將相應(yīng)的任務(wù)包移入相應(yīng)的目錄下并進(jìn)行后續(xù)操作;任務(wù)錯(cuò)誤,則選擇重發(fā)該任務(wù)包或取消該任務(wù)包。
3、 根據(jù)權(quán)利要求2所述的一種分布式資源調(diào)度系統(tǒng),其特征在于,所述 步驟(a)還包括(a4),掃描預(yù)設(shè)目錄下的每個(gè)任務(wù)包時(shí),每隔預(yù)設(shè)時(shí)間將其發(fā)送至所述調(diào) 度服務(wù)器,發(fā)送完畢后,休眠預(yù)設(shè)時(shí)間。
4、 根據(jù)權(quán)利要求1或3所述的一種分布式資源調(diào)度系統(tǒng),其特征在于, 所述步驟(b)還包括(bl),接收并登記所述服務(wù)節(jié)點(diǎn)發(fā)來(lái)的任務(wù)包,向所述服務(wù)節(jié)點(diǎn)提供任 務(wù)包的狀態(tài)查詢(xún); (b2),所述調(diào)度服務(wù)器以?xún)?yōu)先級(jí)為0~9的預(yù)設(shè)規(guī)則將任務(wù)包分配給計(jì)算節(jié)點(diǎn)。
5、 根據(jù)權(quán)利要求4所述的一種分布式資源調(diào)度系統(tǒng),其特征在于,所述 步驟(b)還包括(b3),所述調(diào)度服務(wù)器響應(yīng)所述服務(wù)節(jié)點(diǎn)的查詢(xún),如果發(fā)現(xiàn)該查詢(xún)的任 務(wù)包已經(jīng)完成,則向所述服務(wù)節(jié)點(diǎn)返回結(jié)果包。
6、 根據(jù)權(quán)利要求4所述的一種分布式資源調(diào)度系統(tǒng),其特征在于,所述 步驟(c)還包括(cl),計(jì)算節(jié)點(diǎn)向調(diào)度服務(wù)器提交本機(jī)所支持的運(yùn)行環(huán)境,并從所述調(diào) 度服務(wù)器中獲取所述任務(wù)包列表;(c2),所述調(diào)度服務(wù)器從所述任務(wù)包列表中選擇其中一個(gè)任務(wù)包,并將 該任務(wù)包的連接地址返回給所述計(jì)算節(jié)點(diǎn),同時(shí)記錄該任務(wù)包的信息并封鎖該 任務(wù)包生存次數(shù)自減;(c3),所述計(jì)算節(jié)點(diǎn)根據(jù)所述任務(wù)包的連接地址下載任務(wù)包,解包, 并運(yùn)行主程序中指定的可執(zhí)行程序進(jìn)行處理。
7、 根據(jù)權(quán)利要求6所述的一種分布式資源調(diào)度系統(tǒng),其特征在于,執(zhí)行 所述步驟(c3)之后還包括(c31),所述調(diào)度服務(wù)器根據(jù)所述計(jì)算節(jié)點(diǎn)返回的結(jié)果處理任務(wù)包,并 登記處理結(jié)束的時(shí)間,修改任務(wù)包狀態(tài),并將已處理的任務(wù)包移入已完成列表。
8、 一種分布式資源調(diào)度系統(tǒng),其特征在于,包括服務(wù)節(jié)點(diǎn)、調(diào)度服務(wù)器 以及多個(gè)計(jì)算節(jié)點(diǎn),服務(wù)節(jié)點(diǎn),用于將需要處理的任務(wù)打包成格式統(tǒng)一的任務(wù)包,并將所述任 務(wù)包發(fā)送至所述調(diào)度服務(wù)器和接收所述調(diào)度服務(wù)器返回的結(jié)果包;調(diào)度服務(wù)器,用于接收并管理所述調(diào)度服務(wù)器發(fā)來(lái)的任務(wù)包,并以預(yù)設(shè)規(guī)則將其分配至所述計(jì)算節(jié)點(diǎn),同時(shí)將所述計(jì)算節(jié)點(diǎn)返回的結(jié)果包返回至所述服務(wù)節(jié)點(diǎn);計(jì)算節(jié)點(diǎn),接收所述調(diào)度服務(wù)器分配的任務(wù)包,并對(duì)所述任務(wù)包進(jìn)行處理, 并將處理的結(jié)果包返回至所述調(diào)度服務(wù)器。
9、根據(jù)權(quán)利要求8所述的一種分布式資源調(diào)度系統(tǒng),其特征在于,還包 括用于管理和配置各個(gè)節(jié)點(diǎn)和服務(wù)器的參數(shù)的管理接口 ,所述管理接口包括管 理各個(gè)節(jié)點(diǎn)模塊、新聞處理系統(tǒng)管理模塊、股票分析系統(tǒng)管理模塊以及文件傳 輸管理模塊。
全文摘要
本發(fā)明提供了一種分布式資源調(diào)度方法,包括如下步驟(a)服務(wù)節(jié)點(diǎn)將需要處理的任務(wù)打包生成格式統(tǒng)一的任務(wù)包,并將所述任務(wù)包發(fā)送至調(diào)度服務(wù)器;(b)所述調(diào)度服務(wù)器接收并管理所述服務(wù)節(jié)點(diǎn)發(fā)來(lái)的任務(wù)包,以預(yù)設(shè)規(guī)則將其分配至計(jì)算節(jié)點(diǎn);(c)所述計(jì)算節(jié)點(diǎn)接收所述調(diào)度服務(wù)器發(fā)來(lái)的任務(wù)包,并對(duì)所述任務(wù)包進(jìn)行處理,將處理的結(jié)果包發(fā)送至所述調(diào)度服務(wù)器。本發(fā)明可以使系統(tǒng)內(nèi)計(jì)算機(jī)分工明確,便于管理,可以使得整個(gè)分布式系統(tǒng)的計(jì)算任務(wù)不受計(jì)算機(jī)語(yǔ)言、操作系統(tǒng)平臺(tái)等限制。
文檔編號(hào)H04L29/08GK101202761SQ200710077568
公開(kāi)日2008年6月18日 申請(qǐng)日期2007年12月4日 優(yōu)先權(quán)日2007年12月4日
發(fā)明者趙曉宇 申請(qǐng)人:趙曉宇
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
岳阳市| 鄄城县| 茶陵县| 南宁市| 渝北区| 余干县| 安远县| 九龙县| 隆化县| 麦盖提县| 宝山区| 田林县| 漳州市| 绵竹市| 安徽省| 英德市| 威信县| 中江县| 乌拉特前旗| 禄丰县| 晋江市| 兴文县| 大田县| 平昌县| 伽师县| 满洲里市| 吉木萨尔县| 肃北| 龙海市| 象山县| 仙居县| 呼和浩特市| 广水市| 湘乡市| 阿拉善左旗| 固安县| 郴州市| 高阳县| 垦利县| 桑日县| 和田县|