[發明專利]一種分布式計算系統中對象傳遞的方法無效
| 申請號: | 201010610679.8 | 申請日: | 2010-12-29 |
| 公開(公告)號: | CN102033959A | 公開(公告)日: | 2011-04-27 |
| 發明(設計)人: | 謝天 | 申請(專利權)人: | 北京播思軟件技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;H04L29/08 |
| 代理公司: | 南京經緯專利商標代理有限公司 32200 | 代理人: | 王金雙 |
| 地址: | 100102 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 計算 系統 對象 傳遞 方法 | ||
技術領域
本發明涉及一種分布式計算系統,尤其涉及一種分布式計算系統中對象傳遞的方法。
背景技術
分布式計算,是把一個需要非常巨大的計算能力才能解決的問題分成許多小的部分,然后把這些小的部分分配給許多計算機進行處理,最后把這些計算結果綜合起來得到最終的結果,它是一門計算機科學。
分布式計算系統(Map/Reduce),是一個用于大規模數據處理的分布式計算模型,作為目前最為常見的分布式計算系統,它最初是由Google工程師設計并實現的。其中對它的定義是,Map/Reduce是一個編程模型(programming?model),是一個用于處理和生成大規模數據集(processing?and?generating?large?data?sets)的相關的實現。用戶定義一個map函數來處理一個key/value對以生成一批中間的key/value對,再定義一個reduce函數將所有這些中間的有著相同key的values合并起來。很多現實世界中的任務都可用這個模型來表達。
Hadoop,是由Apache基金會開發,采用JAVA開發語言實現了分布式文件系統HDFS和Map-Reduce分布式計算平臺,用戶只要繼承該系統提供的基類MapReduceBase,分別實現Map和Reduce的兩個類,并注冊Job即可自動分布式運行定制的任務。
Hadoop的Map/Reduce實現中,對于每一個具體的作業(Job),均需要在不同的節點之間傳遞運行時所需的配置信息,它是通過job.xml來實現的,即由作業(Job)發起端將運行時所需信息,例如作業(Job)名稱,輸入/輸出格式,Map/Reduce任務個數等等,寫入一個job.xml文件,然后傳遞到不同的系統節點。job.xml是標準的XML(可擴展標準語言)文件,每一項具體信息均以XML的元素(element)形成存在其中。系統中其他運行節點從這個job.xml文件中讀取相關信息,用以配置該節點上面運行的部分任務,從而實現真個Map/Reduce的分布式運行。圖1為現有分布式計算系統基本結構示意圖,如圖1所示,分布式計算系統一般包括客戶端、作業服務器和任務服務器??蛻舳藢⒆鳂I及其相關內容和配置寫入一個job.xml,提交到作業服務器去,并時刻監控執行的狀況;作業服務器,在Hadoop中稱為JobTracker或Master,負責將作業文件(xml文件)分發到多個任務服務器,作業服務器負責管理運行在此框架下所有作業;任務服務器,具體的負責執行用戶定義操作的,每一個作業被拆分成很多的任務,包括Map任務和Reduce任務等,任務是具體執行的基本單元,它們都需要分配到合適任務服務器上去執行,任務服務器一邊執行一邊向作業服務器匯報各個任務的狀態,以此來幫助作業服務器了解作業執行的整體情況,分配新的任務等。
現有的分布式計算系統,即Hadoop?Map/Reduce系統中無法傳遞對象(class)實例,job.xml僅僅只能用來傳遞有限的簡單數據類型,例如int,?long,?float,?String,?boolean等,由于XML對于傳輸的字符,即每個元素(element)中的字符是有一定限制的,不能夠隨便將內存中一段緩存(buffer)拷貝至xml中進行傳遞,那樣會造成XML編解碼失敗,不能進行傳輸。
然而用戶定制的應用一般不只是有上述這些簡單的數據類型,用戶的應用中經常會需要在Map-Reduce系統的各個節點之間傳遞復雜的對象(class)實例,進行一些高級的分布式計算,則目前Hadoop的Map/Reduce實現則不能提供這種功能。
發明內容
為了解決現有技術存在的不足,本發明的目的在于提供一種分布式計算系統中對象傳遞的方法,可以使分布式計算系統的各個節點之間傳遞復雜的對象實例。
為實現上述目的,本發明提供的一種分布式計算系統中對象傳遞的方法,該方法包括以下步驟:
將對象序列化、編碼,寫入作業文件;
傳送含有編碼序列的作業文件;
將含有編碼序列的作業文件中的編碼序列進行解碼和反序列化,提取并使用對象內容。
其中,所述將對象序列化、編碼是由客戶端將對象分解成字節流,然后再將所述字節流經過編碼,轉換成ASCII字符。
其中,所述作業文件是標準的XML文件。
其中,所述將對象編碼是采用Base64編碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京播思軟件技術有限公司,未經北京播思軟件技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010610679.8/2.html,轉載請聲明來源鉆瓜專利網。





