[發(fā)明專利]一種跨平臺(tái)統(tǒng)一的分布式圖數(shù)據(jù)處理方法有效
| 申請(qǐng)?zhí)枺?/td> | 202110491976.3 | 申請(qǐng)日: | 2021-05-06 |
| 公開(公告)號(hào): | CN113177034B | 公開(公告)日: | 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ù)處理 方法 | ||
本發(fā)明公開了一種跨平臺(tái)統(tǒng)一的分布式圖數(shù)據(jù)處理方法,包括如下步驟:用戶通過(guò)跨平臺(tái)統(tǒng)一分布式圖處理編程框架提供的API觸發(fā)計(jì)算;用戶的程序被序列化到程序文件中并上傳分布式文件系統(tǒng);框架啟動(dòng)相應(yīng)分布式圖處理系統(tǒng)的計(jì)算作業(yè);集群中多個(gè)計(jì)算節(jié)點(diǎn)啟動(dòng)計(jì)算進(jìn)程;每個(gè)計(jì)算進(jìn)程下載程序文件并啟動(dòng)PregelX?Runner進(jìn)程;PregelX?Runner與計(jì)算進(jìn)程建立進(jìn)程間通信通道,計(jì)算進(jìn)程通過(guò)進(jìn)程間通信通道調(diào)用用戶程序進(jìn)行具體的數(shù)據(jù)處理。本發(fā)明使得用戶可以基于Python語(yǔ)言編寫可跨平臺(tái)執(zhí)行的分布式圖數(shù)據(jù)處理程序,解決了現(xiàn)有分布式圖處理系統(tǒng)用戶學(xué)習(xí)成本高、程序遷移代價(jià)高等易用性不足的問(wèn)題。
技術(shù)領(lǐng)域
本發(fā)明涉及分布式數(shù)據(jù)處理領(lǐng)域,尤其涉及一種跨平臺(tái)統(tǒng)一分布式圖數(shù)據(jù)處理方法。
背景技術(shù)
分布式圖處理系統(tǒng)(又稱分布式圖計(jì)算系統(tǒng))提升了用戶進(jìn)行大規(guī)模圖數(shù)據(jù)分析處理的能力,降低了大規(guī)模圖數(shù)據(jù)分析的技術(shù)門檻,使用戶只需基于系統(tǒng)提供的抽象編程模型和具體的編程接口表達(dá)圖算法即可,而無(wú)需關(guān)心圖數(shù)據(jù)的分布式存儲(chǔ)、任務(wù)分發(fā)、網(wǎng)絡(luò)通信、分布式故障恢復(fù)等技術(shù)細(xì)節(jié)。但現(xiàn)有的分布式圖處理系統(tǒng)在易用性上仍面臨不足。首先,現(xiàn)有分布式圖處理系統(tǒng)缺乏統(tǒng)一的編程模型和編程接口,使得用戶需要不斷學(xué)習(xí)新的分布式圖處理系統(tǒng)的使用方法,才可以將已有程序遷移到新系統(tǒng)上,帶來(lái)較大的學(xué)習(xí)成本與程序遷移開銷;其次,目前主流的分布式圖處理系統(tǒng)(例如Giraph、GraphX、Gemini等)只向用戶提供Java、Scala、C++等編譯式程序設(shè)計(jì)語(yǔ)言的編程接口,并要求用戶使用Hadoop、Spark、MPI等分布式計(jì)算框架提供的輔助API進(jìn)行程序設(shè)計(jì),這種要求對(duì)于日常使用Python語(yǔ)言的數(shù)據(jù)分析師、算法工程師而言技術(shù)門檻較高、易用性較差。
為了提升易用性,一些分布式圖處理系統(tǒng)(例如Distributed?Socialite、PGX.D、GraphFrames)等提供了基于Datalog、Green-marl、Spark?SQL等領(lǐng)域特定語(yǔ)言的編程接口,但這些語(yǔ)言難以表達(dá)循環(huán)、分支等復(fù)雜計(jì)算邏輯,表達(dá)力不足。KDT和Piccolo系統(tǒng)雖然允許用戶用Python語(yǔ)言編寫圖處理程序,但KDT系統(tǒng)無(wú)法處理頂點(diǎn)、邊帶有屬性的圖數(shù)據(jù),而Piccolo系統(tǒng)提供的編程模型與圖分析中常見的頂點(diǎn)、邊等元素契合性較差。
而目前在Python語(yǔ)言環(huán)境下能夠進(jìn)行圖數(shù)據(jù)處理的軟件庫(kù)主要有g(shù)raph-tool、NetworkX、igraph、SNAP、scikit-network等。但這些軟件庫(kù)均采用單機(jī)串行實(shí)現(xiàn),它們受單機(jī)內(nèi)存容量的限制難以處理大規(guī)模圖數(shù)據(jù)集。理論上也可以通過(guò)通用分布式數(shù)據(jù)處理系統(tǒng)Ray、PySpark、Dask等實(shí)現(xiàn)分布式圖數(shù)據(jù)處理,但這些通用系統(tǒng)缺乏對(duì)圖數(shù)據(jù)結(jié)構(gòu)的封裝和優(yōu)化,需要用戶進(jìn)行大量的面向圖數(shù)據(jù)的手動(dòng)管理,依然具有較高的使用門檻和學(xué)習(xí)負(fù)擔(dān),易用性依然不足。
發(fā)明內(nèi)容
發(fā)明目的:針對(duì)現(xiàn)有分布式圖處理系統(tǒng)對(duì)于數(shù)據(jù)分析師、算法工程師等普通用戶而言易用性較差的缺陷,本發(fā)明的目的是提供一種支持Python語(yǔ)言編程、能夠使用戶跨平臺(tái)統(tǒng)一地進(jìn)行分布式圖數(shù)據(jù)處理的方法,使用戶只需編寫一次分布式圖處理程序,程序可不經(jīng)修改地、跨平臺(tái)地在多個(gè)分布式圖處理系統(tǒng)中執(zhí)行。
技術(shù)方案:為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提出了一種跨平臺(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ā)送消息以及消息合并,用于描述每一輪迭代中對(duì)每個(gè)頂點(diǎ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/2.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ù)處理程序





