亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)結(jié)構(gòu)的處理方法和系統(tǒng)的制作方法

文檔序號:8487914閱讀:245來源:國知局
數(shù)據(jù)結(jié)構(gòu)的處理方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本公開的實施方式總體上涉及數(shù)據(jù)處理領(lǐng)域,特別是對以圖表征的數(shù)據(jù)結(jié)構(gòu)的處理。
【背景技術(shù)】
[0002]對于企業(yè)、組織、機(jī)關(guān)等機(jī)構(gòu)而言,在日常中會產(chǎn)生大量的數(shù)據(jù),而且這些數(shù)據(jù)隨著日子的推移與日俱增,數(shù)據(jù)量將變得異常龐大。這些大數(shù)據(jù)為商業(yè)發(fā)展、統(tǒng)計分析、政策制定等提供了寶貴的原始數(shù)據(jù)。這些數(shù)據(jù)的處理和運(yùn)算是在大數(shù)據(jù)處理中極其重要的因素。以打車服務(wù)為例進(jìn)行說明。乘客數(shù)量上千萬甚至過億,司機(jī)數(shù)量近百萬甚至到千萬,每日交易量高達(dá)幾百萬甚至上千萬訂單,這就意味緊緊一個月的數(shù)據(jù)就會形成將是由千萬個點(diǎn),十億級以上邊構(gòu)成的巨大關(guān)系網(wǎng)絡(luò)圖。如何對這樣的數(shù)據(jù)進(jìn)行存儲與運(yùn)算(或分析)是當(dāng)前迫切解決的技術(shù)問題。
[0003]現(xiàn)有技術(shù)中通常采用將這些數(shù)據(jù)存儲在單臺機(jī)器上?,F(xiàn)有單機(jī)存儲具有如下技術(shù)缺點(diǎn)。一、數(shù)據(jù)存儲少,單機(jī)僅可以存儲千萬級別數(shù)據(jù),對于十億級以上的數(shù)據(jù)量的處理非常困難。二、存儲擴(kuò)展困難、存儲成本高,對于單機(jī)存儲而言,當(dāng)數(shù)據(jù)量繼續(xù)增加時,單機(jī)存儲難以實現(xiàn)橫向,數(shù)據(jù)的存儲成本高。三、數(shù)據(jù)處理慢,對于單機(jī)存儲而言,所有的數(shù)據(jù)計算在單機(jī)上完成,在處理大數(shù)據(jù)時,具有速度慢、性能差的問題。

【發(fā)明內(nèi)容】

[0004]本公開的實施例的目的之一在于提供一種數(shù)據(jù)處理方法和系統(tǒng),以解決或減輕上述現(xiàn)有技術(shù)中的一個或多個問題。
[0005]根據(jù)本公開的第一方面,提供了一種數(shù)據(jù)結(jié)構(gòu)的處理方法,其中,所述數(shù)據(jù)結(jié)構(gòu)以圖表征,所述圖包括多個頂點(diǎn)和連接頂點(diǎn)的多條邊,其中以所述頂點(diǎn)和所述邊的屬性來定義數(shù)據(jù),所述方法包括:將所述多個頂點(diǎn)分割成多組;將每組頂點(diǎn)存儲在對應(yīng)的存儲節(jié)點(diǎn)中;以及生成表示每個頂點(diǎn)與對應(yīng)的存儲節(jié)點(diǎn)之間關(guān)系的存儲路由表。在本申請的實施例中,采用多個存儲節(jié)點(diǎn)來對數(shù)據(jù)進(jìn)行分布式存儲。在將多個頂點(diǎn)分成多組之后,基于分割的結(jié)果,將每組頂點(diǎn)存儲在與每組頂點(diǎn)相對應(yīng)的存儲節(jié)點(diǎn)中。這里對于頂點(diǎn)分組和存儲節(jié)點(diǎn)之間的對應(yīng)關(guān)系沒有特別要求,例如,在一個實施例中,可以是隨機(jī)地以一對一的方式進(jìn)行分別存儲,在另一個實施例中,可以按照預(yù)定的順序?qū)⒍嘟M頂點(diǎn)中的每組頂點(diǎn)順次地存儲到多個存儲節(jié)點(diǎn)中的一個存儲節(jié)點(diǎn)。
[0006]根據(jù)本公開的一個實施例,將所述多個頂點(diǎn)分割成多組包括:統(tǒng)計所述多個頂點(diǎn)的數(shù)目并且將所述多個頂點(diǎn)分成與存儲節(jié)點(diǎn)數(shù)目對應(yīng)的多組。
[0007]根據(jù)本公開的一個實施例,將所述多個頂點(diǎn)分割成多組包括:確定所述多組中的每組中的邊;確定與每組中的邊相關(guān)聯(lián)的頂點(diǎn);以及以邊不冗余、而與所述邊相關(guān)聯(lián)的頂點(diǎn)冗余的方式,將所述多個頂點(diǎn)分割成多組。
[0008]根據(jù)本公開的一個實施例,將所述多個頂點(diǎn)分割成多組包括:確定所述多組中的每組中的頂點(diǎn);確定與每組中的頂點(diǎn)相關(guān)聯(lián)的邊;以及以頂點(diǎn)不冗余、而與所述頂點(diǎn)相關(guān)聯(lián)的邊冗余的方式,將所述多個頂點(diǎn)分割成多組。
[0009]根據(jù)本公開的一個實施例,生成表示每個頂點(diǎn)與對應(yīng)的存儲節(jié)點(diǎn)之間關(guān)系的存儲路由表包括:生成表不每個邊與對應(yīng)的存儲節(jié)點(diǎn)之間關(guān)系的存儲路由表。
[0010]根據(jù)本公開的一個實施例,所述頂點(diǎn)表示對象數(shù)據(jù);所述邊表示所述對象之間的關(guān)系數(shù)據(jù)。
[0011]根據(jù)本公開的一個實施例,每個存儲節(jié)點(diǎn)包括能夠進(jìn)行獨(dú)立運(yùn)算的計算設(shè)備,并且每個存儲節(jié)點(diǎn)能夠響應(yīng)于客戶端的請求對所存儲的圖執(zhí)行并行運(yùn)算。
[0012]根據(jù)本公開的第二方面,提供了一種數(shù)據(jù)結(jié)構(gòu)的處理系統(tǒng),其中,所述數(shù)據(jù)結(jié)構(gòu)以圖表征,所述圖包括多個頂點(diǎn)和連接頂點(diǎn)的多條邊,其中以所述頂點(diǎn)和所述邊的屬性來定義數(shù)據(jù),所述系統(tǒng)包括:分割裝置,配置成將所述多個頂點(diǎn)分割成多組;存儲裝置,配置成將每組頂點(diǎn)存儲在對應(yīng)的存儲節(jié)點(diǎn)中;以及路由表生成裝置,配置成生成表示每個頂點(diǎn)與對應(yīng)的存儲節(jié)點(diǎn)之間關(guān)系的存儲路由表。
[0013]根據(jù)本公開的一個實施例,所述分割裝置配置成統(tǒng)計所述多個頂點(diǎn)的數(shù)目并且將所述多個頂點(diǎn)分成與存儲節(jié)點(diǎn)數(shù)目對應(yīng)的多組。
[0014]根據(jù)本公開的一個實施例,所述分割裝置還包括:邊確定部件,配置成確定所述多組中的每組中的邊;頂點(diǎn)確定部件,配置成確定與每組中的邊相關(guān)聯(lián)的頂點(diǎn);以及第一分割部件,配置成以邊不冗余、而與所述邊相關(guān)聯(lián)的頂點(diǎn)冗余的方式,將所述多個頂點(diǎn)分割成多組。
[0015]根據(jù)本公開的一個實施例,所述分割裝置還包括:頂點(diǎn)確定部件,配置成確定所述多組中的每組中的頂點(diǎn);邊確定部件,配置成確定與每組中的頂點(diǎn)相關(guān)聯(lián)的邊;以及第二分割部件,配置成以頂點(diǎn)不冗余、而與所述頂點(diǎn)相關(guān)聯(lián)的邊冗余的方式,將所述多個頂點(diǎn)分割成多組。
[0016]根據(jù)本公開的一個實施例,所述路由表生成裝置還包括:邊路由表生成部件,配置成生成表示每個邊與對應(yīng)的存儲節(jié)點(diǎn)之間關(guān)系的存儲路由表。
[0017]根據(jù)本公開的一個實施例,所述頂點(diǎn)表示對象數(shù)據(jù);所述邊表示所述對象之間的關(guān)系數(shù)據(jù)。
[0018]根據(jù)本公開的一個實施例,每個存儲節(jié)點(diǎn)包括能夠進(jìn)行獨(dú)立運(yùn)算的計算設(shè)備,并且每個存儲節(jié)點(diǎn)能夠響應(yīng)于客戶端的請求對所存儲的圖執(zhí)行并行運(yùn)算。
[0019]根據(jù)本公開的實施例的處理方法和處理系統(tǒng),通過對頂點(diǎn)進(jìn)行切割,將圖進(jìn)行分布式存儲,以成本低的方式實現(xiàn)了圖的存儲與圖的快速計算。
[0020]本公開的實施例的上述特征和其他優(yōu)點(diǎn)通過下面實施例的說明將變得清楚。
【附圖說明】
[0021]現(xiàn)將僅通過示例的方式,參考所附附圖對本公開的實施例進(jìn)行描述,其中:
[0022]圖1是根據(jù)本公開的示例性實施例的數(shù)據(jù)結(jié)構(gòu)的處理方法的流程圖;
[0023]圖2是根據(jù)本公開的示例性實施例的頂點(diǎn)分割的示意圖;
[0024]圖3是根據(jù)本公開的示例性實施例的數(shù)據(jù)結(jié)構(gòu)的處理系統(tǒng)的配置示意圖;以及
[0025]圖4是根據(jù)本公開的示例性實施例的分割裝置的配置示意圖。
【具體實施方式】
[0026]現(xiàn)將結(jié)合附圖對本公開的實施例進(jìn)行具體的描述。應(yīng)當(dāng)注意的是,附圖中對相似的單元或者功能組件可能使用同樣的數(shù)字標(biāo)示。所附附圖僅僅旨在說明本公開的實施例。本領(lǐng)域的技術(shù)人員可以在不偏離本公開精神和保護(hù)范圍的基礎(chǔ)上從下述描述得到替代技術(shù)方案。
[0027]以圖表征的數(shù)據(jù)結(jié)構(gòu)已經(jīng)為本領(lǐng)域的技術(shù)人員所熟知。然而,如何來對以圖表征的海量數(shù)據(jù)進(jìn)行高效處理卻是困擾本領(lǐng)域技術(shù)領(lǐng)域的難題。本公開的實施例旨在提供一種能對圖進(jìn)行高效處理的數(shù)據(jù)處理方法。在數(shù)據(jù)庫中,有大量的數(shù)據(jù)可以抽象為圖。下文以打車服務(wù)所涉及的數(shù)據(jù)為例來說明本公開的原理,但是應(yīng)當(dāng)理解的是,本公開不限于打車服務(wù)的數(shù)據(jù),可是可應(yīng)用于能夠抽象成以圖表征的數(shù)據(jù)結(jié)構(gòu)的各種數(shù)據(jù)處理。
[0028]在打車服務(wù)中的數(shù)據(jù)結(jié)構(gòu)中,將乘客和司機(jī)看成圖中的一個頂點(diǎn),每次交易看為一條邊,這樣就形成了司機(jī)與乘客關(guān)系社交的“有向圖”結(jié)構(gòu)。隨著乘客與司機(jī)之間的交易數(shù)目的增加,圖變得越來越龐大。對所涉及的海量數(shù)據(jù)進(jìn)行存儲和分析是非常模范的。如上所述,可基于“圖”的數(shù)據(jù)結(jié)構(gòu)來構(gòu)建打車服務(wù)中的相關(guān)數(shù)據(jù)。
[0029]在一個實施例中,用頂點(diǎn)和邊的屬性可以定義數(shù)據(jù)。這個數(shù)據(jù)定義可以由用戶根據(jù)需要自由設(shè)定。例如,可以用“圖”建模司機(jī)乘客關(guān)系,建模如下。圖形的點(diǎn)用來表示乘客和司機(jī)。圖形的邊用來表示乘客與司機(jī)發(fā)生的關(guān)系(例如一次交易等)。在一些情況下,可以進(jìn)一步引入圖形的度等。例如,圖形的度表示乘客司機(jī)發(fā)生多次關(guān)系,將會有多條邊。根據(jù)這種抽象,司機(jī)乘客之間的數(shù)據(jù)關(guān)系可以用圖得到完整表征。例如:交易頻率,交易團(tuán)體等可以得到有效表征。該模型是一種屬性圖的思想,頂點(diǎn)和邊可以分別定義各自的屬性,基于屬性可以來表征對象特征或交易相關(guān)的數(shù)據(jù)。根據(jù)如上所述的建模,打車服務(wù)中的相關(guān)數(shù)據(jù)得以建構(gòu)。
[0030]針對千萬個頂點(diǎn)和上十億條邊構(gòu)成的圖,本公開的實施例提供一種數(shù)據(jù)結(jié)構(gòu)的處理方法,其中,所述數(shù)據(jù)結(jié)構(gòu)以圖表征,所述方法包括:將多個頂點(diǎn)分割成多組;將每組頂點(diǎn)存儲在對應(yīng)的存儲節(jié)點(diǎn)中;以及生成表示每個頂點(diǎn)與對應(yīng)的存儲節(jié)點(diǎn)之間關(guān)系的存儲路由表。通過將頂點(diǎn)進(jìn)行分割成多組,并且將每組頂點(diǎn)存儲在對應(yīng)的存儲節(jié)點(diǎn),由此可以實現(xiàn)圖的分布式存儲。采用分布式存儲的方式,能夠?qū)崿F(xiàn)數(shù)據(jù)的高效快速處理和分析。
[0031]下面結(jié)合【附圖說明】本公開的實施例。
[0032]圖1是根據(jù)本公開的示例性實施例的數(shù)據(jù)結(jié)構(gòu)的處理方法的流程圖。如圖1所示,根據(jù)本公開的實施例的數(shù)據(jù)結(jié)構(gòu)的處理方法包括:步驟S101,將多個頂點(diǎn)分割成多組;步驟S102將每組頂點(diǎn)存儲在對應(yīng)的存儲節(jié)點(diǎn)中;以及步驟S103,生成表示每個頂點(diǎn)與對應(yīng)的存儲節(jié)點(diǎn)之間關(guān)系的存儲路由表。
[0033]由于不能在單機(jī)存儲和處理如此大的數(shù)據(jù),根據(jù)本公開的處理方法,對頂點(diǎn)進(jìn)行切割,將圖進(jìn)行分布式存儲,有效地解決了存儲與計算的問題。這種處理方法具有以下優(yōu)點(diǎn):存儲數(shù)據(jù)量可以理論上不受限制,例如可以通過擴(kuò)展存儲節(jié)點(diǎn)的數(shù)目,可以存儲海量數(shù)據(jù);存儲節(jié)點(diǎn)可以橫向任意擴(kuò)展,存儲成本大幅降低;在每個存儲節(jié)點(diǎn)內(nèi)可以進(jìn)行獨(dú)立計算,由此實現(xiàn)整個圖的并行計算,加速圖計算的速度。此外,采用分布式存儲的方式,可以將每個存儲節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行選擇性地冗余備份,使在某臺機(jī)器上宕機(jī)的情況下,快速恢復(fù)并讀取另外一個節(jié)點(diǎn)的信息。
[0034]術(shù)語“存儲路由表”表示頂點(diǎn)與對應(yīng)的存儲節(jié)點(diǎn)之間的關(guān)系。由于設(shè)置了存儲路由表,可以基于存儲路由表確定每個頂點(diǎn)的存儲位置,由此能夠?qū)崿F(xiàn)所有頂點(diǎn)的訪問。在一個實施例中,存儲路由表可以存儲在對應(yīng)的存儲節(jié)點(diǎn)內(nèi),并且可以與主控節(jié)點(diǎn)進(jìn)行通信來訪問。在另一個實施例中,存儲路由表可以存儲在主控節(jié)點(diǎn)內(nèi)并且可被存儲節(jié)點(diǎn)訪問。
[0035]根據(jù)本公開的實施例的數(shù)據(jù)結(jié)構(gòu)的處理方法,通過將圖進(jìn)行分割成多個圖分片,將圖分片上的頂點(diǎn)和邊存儲在多個存儲節(jié)點(diǎn)上,每個存儲節(jié)點(diǎn)可以對各自存儲的圖分片進(jìn)行計算。與現(xiàn)有技術(shù)相比能夠大幅度地提高數(shù)據(jù)處理能力。在一個實施例中,以圖表征的數(shù)據(jù)可以源自于關(guān)系型數(shù)據(jù)庫,當(dāng)然也可以來自于其他數(shù)據(jù)庫。只要數(shù)據(jù)庫能夠抽象為圖表征的數(shù)據(jù)結(jié)構(gòu)即可。在每個存儲節(jié)點(diǎn)獨(dú)立運(yùn)算的數(shù)據(jù)可以進(jìn)一步被匯總、存儲或以各種方式呈現(xiàn)。
[0036]下面結(jié)合圖2進(jìn)一步說明根據(jù)本公開的示例性實施例的頂點(diǎn)分割的原理。圖2示出了根據(jù)本公開的示例性實施例的頂點(diǎn)分割的示意圖。為了圖示和說明的方便
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1