[發(fā)明專利]一種跨平臺(tái)統(tǒng)一的分布式圖數(shù)據(jù)處理方法有效
| 申請(qǐng)?zhí)枺?/td> | 202110491976.3 | 申請(qǐng)日: | 2021-05-06 |
| 公開(kāi)(公告)號(hào): | CN113177034B | 公開(kāi)(公告)日: | 2023-07-18 |
| 發(fā)明(設(shè)計(jì))人: | 黃宜華;王肇康;黎俊虹 | 申請(qǐng)(專利權(quán))人: | 南京大學(xué) |
| 主分類號(hào): | G06F16/182 | 分類號(hào): | G06F16/182;G06F16/901 |
| 代理公司: | 蘇州威世朋知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 32235 | 代理人: | 楊林潔 |
| 地址: | 210093 江*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 平臺(tái) 統(tǒng)一 分布式 數(shù)據(jù)處理 方法 | ||
1.一種跨平臺(tái)統(tǒng)一的分布式圖數(shù)據(jù)處理方法,包括以下步驟:
(1)在集群的主節(jié)點(diǎn)安裝跨平臺(tái)統(tǒng)一分布式圖處理編程框架UniGPS,所述編程框架UniGPS向用戶提供Python語(yǔ)言的應(yīng)用程序編程接口;
(2)所述編程框架UniGPS向用戶提供跨平臺(tái)統(tǒng)一分布式圖處理編程模型VCProg,所述編程模型將圖計(jì)算過(guò)程表達(dá)為頂點(diǎn)屬性記錄的多輪迭代更新的過(guò)程;
(3)所述編程模型VCProg以Python語(yǔ)言的抽象基類PregelX的形式向用戶提供編程接口,所述抽象基類PregelX包括如下函數(shù):頂點(diǎn)屬性記錄初始化、生成空消息、頂點(diǎn)程序、發(fā)送消息以及消息合并,所述函數(shù)用于描述每一輪迭代中對(duì)每個(gè)頂點(diǎn)屬性記錄的更新方法;
(4)在集群的主節(jié)點(diǎn)上,用戶根據(jù)其所希望執(zhí)行的圖數(shù)據(jù)處理算法邏輯,編程實(shí)現(xiàn)抽象基類PregelX的一個(gè)具體子類;
(5)用戶通過(guò)調(diào)用所述編程框架UniGPS中的函數(shù)pregelX,將所述具體子類的實(shí)例對(duì)象提交給所述編程框架UniGPS;
(6)所述編程框架UniGPS將用戶提供的實(shí)例對(duì)象序列化到程序文件中并上傳至分布式文件系統(tǒng);
(7)所述編程框架UniGPS啟動(dòng)分布式圖處理系統(tǒng)作業(yè)的Driver進(jìn)程;啟動(dòng)后的所述Driver進(jìn)程通過(guò)集群資源調(diào)度管理器在集群中若干計(jì)算節(jié)點(diǎn)啟動(dòng)所述分布式圖處理系統(tǒng)作業(yè)的計(jì)算進(jìn)程;
(8)每個(gè)所述計(jì)算進(jìn)程從分布式文件系統(tǒng)下載所述程序文件到本地文件系統(tǒng);
(9)每個(gè)所述計(jì)算進(jìn)程通過(guò)Python語(yǔ)言解釋器啟動(dòng)一個(gè)PregelX?Runner進(jìn)程,并與所述PregelX?Runner進(jìn)程建立進(jìn)程間通信通道,所述PregelX?Runner進(jìn)程從所述程序文件反序列化出一個(gè)所述PregelX抽象基類的實(shí)例對(duì)象O;
(10)各所述計(jì)算進(jìn)程將外部數(shù)據(jù)源中的輸入圖數(shù)據(jù)轉(zhuǎn)換為統(tǒng)一圖數(shù)據(jù)交換格式GraphBuffer;GraphBuffer格式采用目錄的形式存儲(chǔ)一張圖的數(shù)據(jù),所述目錄下的.meta元文件存儲(chǔ)圖的元信息數(shù)據(jù),所述目錄下的vertex頂點(diǎn)集目錄存儲(chǔ)頂點(diǎn)屬性記錄,所述目錄下的edge邊集目錄存儲(chǔ)邊屬性記錄;所述計(jì)算進(jìn)程將以GraphBuffer格式存儲(chǔ)的圖數(shù)據(jù)文件載入分布式圖處理系統(tǒng);
(11)所述計(jì)算進(jìn)程在分布式圖處理系統(tǒng)的指導(dǎo)下進(jìn)行分布式圖數(shù)據(jù)處理,所述分布式圖數(shù)據(jù)處理的過(guò)程分為多輪迭代計(jì)算;
(12)在所述步驟(11)中,所述計(jì)算進(jìn)程通過(guò)進(jìn)程間通信通道,將需要調(diào)用的成員函數(shù)編號(hào)、成員函數(shù)參數(shù)傳遞給所述PregelX?Runner進(jìn)程,所述PregelX?Runner進(jìn)程根據(jù)成員函數(shù)編號(hào)調(diào)用所述實(shí)例對(duì)象O的相應(yīng)成員函數(shù),所述PregelX?Runner進(jìn)程將成員函數(shù)的返回值通過(guò)進(jìn)程間通信通道返回給計(jì)算進(jìn)程,所述計(jì)算進(jìn)程再返回給分布式圖處理系統(tǒng);
(13)當(dāng)所述分布式圖處理系統(tǒng)的迭代次數(shù)達(dá)到用戶給定的上限或者所有頂點(diǎn)均處于未激活狀態(tài)時(shí),圖處理過(guò)程的迭代計(jì)算終止,所述計(jì)算進(jìn)程將更新后的頂點(diǎn)屬性記錄和邊屬性記錄以GraphBuffer格式文件的形式輸出到分布式文件系統(tǒng);
(14)所述編程框架UniGPS將所述GraphBuffer格式文件在分布式文件系統(tǒng)上的路徑返回給用戶。
2.根據(jù)權(quán)利要求1所述一種跨平臺(tái)統(tǒng)一的分布式圖數(shù)據(jù)處理方法,其特征在于:所述步驟(10)中頂點(diǎn)屬性記錄和邊屬性記錄由多個(gè)字段構(gòu)成,序列化格式將一條屬性記錄轉(zhuǎn)換為一個(gè)字節(jié)類型的數(shù)組,所述數(shù)組從頭到尾分別由記錄長(zhǎng)度、定長(zhǎng)字段數(shù)據(jù)、變長(zhǎng)字段偏移量以及變長(zhǎng)字段數(shù)據(jù)四部分構(gòu)成;所述記錄長(zhǎng)度部分為32位整型數(shù),記錄了整個(gè)數(shù)組的長(zhǎng)度;所述定長(zhǎng)字段數(shù)據(jù)部分按照屬性記錄的結(jié)構(gòu)定義,依次存儲(chǔ)每一個(gè)定長(zhǎng)字段序列化后得到的字節(jié)子數(shù)組;所述變長(zhǎng)字段偏移量部分存儲(chǔ)了記錄中每一個(gè)變長(zhǎng)字段對(duì)應(yīng)子數(shù)組在整個(gè)字節(jié)數(shù)組中起始位置的偏移量,每一個(gè)偏移量是32位整型數(shù);所述變長(zhǎng)字段數(shù)據(jù)部分存儲(chǔ)了每一個(gè)變長(zhǎng)字段序列化后得到的字節(jié)類型的子數(shù)組;屬性記錄中每一個(gè)字段采用該字段數(shù)據(jù)類型在x86內(nèi)存中的表示方式進(jìn)行序列化;對(duì)于基本類型字段采用小端字節(jié)序,對(duì)于字符串字段采用UTF-8格式進(jìn)行編碼。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京大學(xué),未經(jīng)南京大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110491976.3/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)處理設(shè)備,數(shù)據(jù)處理方法,和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理電路、數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法、數(shù)據(jù)處理控制方法
- 數(shù)據(jù)處理設(shè)備、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法及數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法及計(jì)算機(jī)可讀取的記錄介質(zhì)
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法以及數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法以及數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序





