一種基于格式數(shù)據(jù)集的分布式數(shù)據(jù)存儲與計算方法
【專利摘要】本發(fā)明涉及計算機【技術(shù)領(lǐng)域】,本發(fā)明采用一種基于格式數(shù)據(jù)集的分布式數(shù)據(jù)存儲與計算方法,包括:將計算統(tǒng)計的過濾條件轉(zhuǎn)換為一個規(guī)則集;根據(jù)規(guī)則集,將原始無序的數(shù)據(jù)記錄轉(zhuǎn)換為格式數(shù)據(jù)集;將轉(zhuǎn)換后的格式數(shù)據(jù)集進(jìn)行存儲;基于存儲的格式數(shù)據(jù)集,執(zhí)行統(tǒng)計計算。本發(fā)明可以極大地縮短海量數(shù)據(jù)的統(tǒng)計計算時間,并且易于計算規(guī)模的擴(kuò)展,能夠有效地應(yīng)對數(shù)據(jù)的多樣性和異常數(shù)據(jù)。
【專利說明】一種基于格式數(shù)據(jù)集的分布式數(shù)據(jù)存儲與計算方法【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機【技術(shù)領(lǐng)域】,特別是涉及一種基于格式數(shù)據(jù)集的分布式
[0002]據(jù)存儲與計算方法。
【背景技術(shù)】
[0003]隨著大數(shù)據(jù)時代的到來,數(shù)據(jù)以爆炸式方式地增長,海量數(shù)據(jù)的計算不但可以服務(wù)社會或者企業(yè)的各個方面,為公眾的生活和企業(yè)的運營決策提供服務(wù)。而海量數(shù)據(jù)的有效利用很大程度上取決于對這些數(shù)據(jù)的有效存儲和快速計算,在通常情況下,數(shù)據(jù)的時效性非常強,如果不能在可以忍受的時間內(nèi)完成數(shù)據(jù)計算并得到可靠的計算結(jié)果,那么數(shù)據(jù)的價值將會極大地降低。因此如何海量數(shù)據(jù)的有效計算成為了當(dāng)前大數(shù)據(jù)研究的一個熱門課題。
[0004]當(dāng)前,海量數(shù)據(jù)的統(tǒng)計計算不但受到了存儲介質(zhì)的讀寫性能的影響,集群節(jié)點之間數(shù)據(jù)傳輸性能的影響,而且受制于計算的計算能力,總結(jié)起來有以下特點:1、數(shù)據(jù)量巨大,由于數(shù)據(jù)的維度、范圍、量級都不受限制,因此數(shù)據(jù)常常是TB級,甚至PB級。2、異常數(shù)據(jù)復(fù)雜,數(shù)據(jù)源多樣,且數(shù)據(jù)收集收到了設(shè)備缺陷、或者網(wǎng)絡(luò)信號等多種客觀并且不可預(yù)知的因素的影響,導(dǎo)致數(shù)據(jù)中存在大量不可預(yù)知的數(shù)據(jù),異常數(shù)據(jù)的種類繁多。3、統(tǒng)計要求的條件多樣,常常夾雜著需要進(jìn)行動態(tài)計算的過濾條件,導(dǎo)致計算復(fù)雜度高。
[0005]現(xiàn)有的方法通常是采用傳統(tǒng)的關(guān)系數(shù)據(jù)庫,基于SQL語言來進(jìn)行計算,導(dǎo)致計算復(fù)雜度高,SQL腳本編寫困難,無法應(yīng)對海量數(shù)據(jù)和復(fù)雜的異常數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明采用一種基于格式數(shù)據(jù)集的分布式數(shù)據(jù)存儲與計算方法,極大地縮短了海量數(shù)據(jù)的統(tǒng)計計算的時間,易于計算規(guī)模的擴(kuò)展,并且能夠有效地應(yīng)對數(shù)據(jù)的多樣性和異常數(shù)據(jù)。
[0007]本發(fā)明采用如下方案:
[0008]一種基于格式數(shù)據(jù)集的分布式數(shù)據(jù)存儲與計算方法,用于快速執(zhí)行統(tǒng)計計算,包括:
[0009]將計算統(tǒng)計的過濾條件轉(zhuǎn)換為一個規(guī)則集;
[0010]根據(jù)所述規(guī)則集,將原始無序的數(shù)據(jù)記錄轉(zhuǎn)換為格式數(shù)據(jù)集;
[0011]將轉(zhuǎn)換后的格式數(shù)據(jù)集進(jìn)行存儲;
[0012]基于存儲的格式數(shù)據(jù)集,執(zhí)行統(tǒng)計計算。
[0013]優(yōu)選地,所述過濾條件包括不同記錄條件的點過濾條件和范圍過濾條件。
[0014]優(yōu)選地,所述將原始無序的數(shù)據(jù)記錄轉(zhuǎn)換為格式數(shù)據(jù)集,包括:
[0015]根據(jù)所述規(guī)則集,將原始無序的數(shù)據(jù)記錄劃分為具有不同屬性的集合;
[0016]格式數(shù)據(jù)集中的每一個元素為一個格式對,對于一個格式數(shù)據(jù)對來說,格式數(shù)據(jù)為一組特定的屬性值,數(shù)據(jù)集為滿足該組特定屬性值,且按其中某些屬性值進(jìn)行排序的數(shù)據(jù)記錄的集合;
[0017]點過濾條件的記錄屬性和范圍過濾條件中的記錄屬性,過濾掉原始數(shù)據(jù)集中無法推導(dǎo)出所涉及屬性值的數(shù)據(jù)記錄,形成格式數(shù)據(jù)集;
[0018]優(yōu)選地,所述轉(zhuǎn)換后的格式數(shù)據(jù)集通過分布式存儲方法進(jìn)行存儲。
[0019]優(yōu)選地,所述基于存儲的格式數(shù)據(jù)集,執(zhí)行統(tǒng)計計算,包括:
[0020]先執(zhí)行點過濾過程:對于格式數(shù)據(jù)集中的每個格式數(shù)據(jù)對,檢查其格式數(shù)據(jù)對中的格式數(shù)據(jù)描述的屬性值,并以此過濾掉不符合點過濾條件的格式數(shù)據(jù)對,剩下的格式數(shù)據(jù)對組成中間結(jié)果數(shù)據(jù)集;對于中間結(jié)果數(shù)據(jù)集中的每個格式數(shù)據(jù)對,對數(shù)據(jù)集中的數(shù)據(jù)記錄進(jìn)行所需要的統(tǒng)計計算,然后檢查計算結(jié)果,依據(jù)點過濾條件過濾格式數(shù)據(jù)對,剩下的格式數(shù)據(jù)對組成中間結(jié)果數(shù)據(jù)集;
[0021]然后執(zhí)行范圍過濾:對于中間結(jié)果數(shù)據(jù)中的每個格式數(shù)據(jù),使用二分查找算法,找到數(shù)據(jù)集中的一組滿足范圍過濾條件的數(shù)據(jù)記錄,組成中間結(jié)果數(shù)據(jù)集;中間結(jié)果數(shù)據(jù)集中的所有格式數(shù)據(jù)集就是滿足要求的點過濾條件和范圍過濾條件的數(shù)據(jù)記錄;對中間數(shù)據(jù)集中的每個格式數(shù)據(jù)集中的數(shù)據(jù)記錄執(zhí)行指定的計算操作,輸出結(jié)果。
[0022]優(yōu)選地,所述統(tǒng)計計算采用分布式計算來執(zhí)行點過濾過程、范圍過濾過程,統(tǒng)計計算,分布在不同的計算節(jié)點并行執(zhí)行。
[0023]本發(fā)明公開的一種基于格式數(shù)據(jù)集的分布式數(shù)據(jù)存儲于計算方法,通過將計算統(tǒng)計的過濾條件轉(zhuǎn)換為一個規(guī)則集;根據(jù)規(guī)則集,將原始無序的數(shù)據(jù)記錄轉(zhuǎn)換為格式數(shù)據(jù)集;將轉(zhuǎn)換后的格式的數(shù)據(jù)集進(jìn)行存儲;基于存儲的格式數(shù)據(jù)集,執(zhí)行統(tǒng)計計算。極大地縮短了海量數(shù)據(jù)的統(tǒng)計計算的時間,易于計算規(guī)模的擴(kuò)展,并且能夠有效地應(yīng)對數(shù)據(jù)的多樣性和異常數(shù)據(jù)。
【專利附圖】
【附圖說明】
[0024]圖1為本發(fā)明實施例1提供的一種基于格式數(shù)據(jù)集的分布式數(shù)據(jù)存儲于計算方法的流程圖;
[0025]圖2為本發(fā)明實施例1統(tǒng)計計算需求的條件;
[0026]圖3為本發(fā)明實施例1統(tǒng)計計算項。
【具體實施方式】
[0027]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0028]本發(fā)明實施例提供了一種基于格式數(shù)據(jù)集的分布式數(shù)據(jù)存儲與計算方法,包括:
[0029]將計算統(tǒng)計的過濾條件轉(zhuǎn)換為一個規(guī)則集;
[0030]根據(jù)所述規(guī)則集,將原始無序的數(shù)據(jù)記錄轉(zhuǎn)換為格式數(shù)據(jù)集;
[0031 ] 將轉(zhuǎn)換后的格式數(shù)據(jù)集進(jìn)行存儲;
[0032]基于存儲的格式數(shù)據(jù)集,執(zhí)行統(tǒng)計計算。
[0033]本發(fā)明實施例實現(xiàn)了基于格式數(shù)據(jù)集的分布式數(shù)據(jù)存儲與計算。且能夠極大地縮短了海量數(shù)據(jù)的統(tǒng)計計算的時間,易于計算規(guī)模的擴(kuò)展,并且能夠有效地應(yīng)對數(shù)據(jù)的多樣性和異常數(shù)據(jù)。下面對本發(fā)明進(jìn)行詳細(xì)闡述。
[0034]實施例1:
[0035]請參閱圖1所示,為本發(fā)明一種基于格式數(shù)據(jù)集的分布式數(shù)據(jù)存儲與計算方法流程圖。該方法包括下述步驟:
[0036]有一個原始無序的數(shù)據(jù)集,每一個數(shù)據(jù)項為一個出租車交易記錄,包括:號牌號碼、經(jīng)度、緯度、匯報時間、車輛狀態(tài)、車牌種類、上車時間、下車時間、營業(yè)里程、計時時間、消費金額、空駛里程、所屬出租車公司。
[0037]統(tǒng)計計算需求的條件如圖2所示,點過濾條件有:出租車類型、交易日期類型、所屬出租車公司、單次交易營運時間、單次交易營運里程、單車單天營運交易數(shù)、單車單天營運金額、單車單天行駛里程。其中,有記錄屬性與之直接對應(yīng)的點過濾條件有:出租車類型、交易日期類型、所屬出租車公司、單次交易營運時間、單次交易營運里程;沒有記錄屬性與之直接對應(yīng)的點過濾條件有:單車單天營運交易數(shù)、單車單天營運金額、單車單天行駛里程。范圍過濾條件有:營業(yè)日期范圍。
[0038]統(tǒng)計計算項如圖3所示,包括:平均營業(yè)里程、平均空閑里程、平均行駛里程、平均營業(yè)金額、平均營業(yè)次數(shù)、平均里程利用率。
[0039]S1、將計算統(tǒng)計的過濾條件轉(zhuǎn)換為一個規(guī)則集。
[0040]遍歷原始數(shù)據(jù)集,過濾掉無法推導(dǎo)出點過濾條件和范圍過濾條件的交易記錄。
[0041]S2、根據(jù)規(guī)則集,將原始無序的數(shù)據(jù)記錄轉(zhuǎn)換為格式數(shù)據(jù)集。
[0042]首先,以出租車類型、交易日期類型、所屬出租車公司、單次交易營運時間、單次交易營運里程等組成格式數(shù)據(jù),把原始數(shù)據(jù)集劃分為格式數(shù)據(jù)集,不同格式數(shù)據(jù)值的交易記錄存放在不同的數(shù)據(jù)中,于是原始數(shù)據(jù)集被轉(zhuǎn)換為格式數(shù)據(jù)集TmpSetA。
[0043]然后,對于TmpSetA中的每個格式數(shù)據(jù)對,使用數(shù)據(jù)集中的所有交易記錄,計算單車單天營運交易數(shù)、單車單天營運金額及單車單天行駛里程,并把計算結(jié)果放入格式數(shù)據(jù)中,生成新的格式數(shù)據(jù)集TmpSetB。
[0044]接下來,對于營業(yè)日期范圍,針對TmpSetB中的每個格式數(shù)據(jù)對其中的所有交易記錄,按營業(yè)日期排序,生成新的格式數(shù)據(jù)集TmpSetC。
[0045]S3、將轉(zhuǎn)換后的格式數(shù)據(jù)集進(jìn)行存儲。
[0046]把格式數(shù)據(jù)集TmpSetC分布在不同的計算節(jié)點上進(jìn)行存儲,且格式數(shù)據(jù)集TmpSetC中的每個格式數(shù)據(jù)對是不可分割的。
[0047]S4、基于存儲的格式數(shù)據(jù)集,執(zhí)行統(tǒng)計計算。
[0048]假定有一個查詢請求:出租車類型=紅的、交易日期類型=工作日、所屬出租車公司=公司A、單次交易營運時間={7,12}、單次交易營運里程〈100km、單車單天營運交易數(shù)={100,200}、單車單天營運金額>800、單車單天行駛里程>200km、營業(yè)日期范圍= {2012-02-01, 2012-03-15}。
[0049]執(zhí)行查詢時,不同的計算節(jié)點只針對存儲在本地的格式數(shù)據(jù)集TmpSetC的子數(shù)據(jù)集進(jìn)行計算。
[0050]所以,對于一個計算節(jié)點執(zhí)行以下過程:
[0051]首先,對于本地的格式數(shù)據(jù)集TmpSetC子數(shù)據(jù)集,根據(jù)條件:出租車類型=紅的、交易日期類型=工作日、所屬出租車公司=公司A、單次交易營運時間={7,12}、單次交易營運里程〈100km},僅保留符合該條件的格式數(shù)據(jù)對,生成中間數(shù)據(jù)集TmpDatal。
[0052]其次,對于中間數(shù)據(jù)集TmpDatal中的每個格式數(shù)據(jù)對中的數(shù)據(jù)記錄,計算單車單天營運交易數(shù)、單車單天營運金額、單車單天行駛里程,僅保留單車單天營運交易數(shù)= {100, 200}、單車單天營運金額>800、單車單天行駛里程>200km的格式數(shù)據(jù)對,生成中間數(shù)據(jù)集TmpData2。
[0053]再次,對于范圍過濾條件(營業(yè)日期范圍={2012-02-01,2012-03-15}),使用二分查找算法對中間數(shù)據(jù)集TmpData2中每個格式數(shù)據(jù)對的交易記錄進(jìn)行處理。由于每個格式數(shù)據(jù)對的交易記錄已經(jīng)針對營業(yè)日期進(jìn)行了排序,因此只需進(jìn)行兩次查找就可以找到所有符合該范圍過濾條件的交易記錄,生成最終結(jié)果數(shù)據(jù)集TmpData3。
[0054]最后,對于最終結(jié)果數(shù)據(jù)集TmpData3中每個格式數(shù)據(jù)對的交易記錄,計算平均營業(yè)里程、平均空閑里程、平均行駛里程、平均營業(yè)金額、平均營業(yè)次數(shù)、平均里程利用率,生成最終統(tǒng)計計算結(jié)果輸出。
[0055]以上所述本發(fā)明的【具體實施方式】,并不構(gòu)成對本發(fā)明保護(hù)范圍的限定。任何根據(jù)本發(fā)明的技術(shù)構(gòu)思所做出的各種其他相應(yīng)的改變與變形,均應(yīng)包含在本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種基于格式數(shù)據(jù)集的分布式數(shù)據(jù)存儲與計算方法,用于快速執(zhí)行統(tǒng)計計算,其特征在于,包括: 將計算統(tǒng)計的過濾條件轉(zhuǎn)換為一個規(guī)則集; 根據(jù)所述規(guī)則集,將原始無序的數(shù)據(jù)記錄轉(zhuǎn)換為格式數(shù)據(jù)集; 將轉(zhuǎn)換后的格式數(shù)據(jù)集進(jìn)行存儲; 基于存儲的格式數(shù)據(jù)集,執(zhí)行統(tǒng)計計算。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述過濾條件包括不同記錄條件的點過濾條件和范圍過濾條件。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將原始無序的數(shù)據(jù)記錄轉(zhuǎn)換為格式數(shù)據(jù)集,包括: 根據(jù)所述規(guī)則集,將原始無序的數(shù)據(jù)記錄劃分為具有不同屬性的集合; 格式數(shù)據(jù)集中的每一個元素為一個格式對,對于一個格式數(shù)據(jù)對來說,格式數(shù)據(jù)為一組特定的屬性值,數(shù)據(jù)集為滿足該特定屬性值的數(shù)據(jù)記錄的集合; 點過濾條件的記錄屬性和范圍過濾條件中的記錄屬性,過濾掉原始數(shù)據(jù)集中無法推導(dǎo)出所涉及屬性值的數(shù)據(jù)記錄,形成格式數(shù)據(jù)集。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述轉(zhuǎn)換后的格式數(shù)據(jù)集通過分布式存儲方法進(jìn)行存儲。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于存儲的格式數(shù)據(jù)集,執(zhí)行統(tǒng)計計算,包括: 先執(zhí)行點過濾過程:對于格式數(shù)據(jù)集中的每個格式數(shù)據(jù)對,檢查其格式數(shù)據(jù)對中的屬性值,過濾掉不符合點過濾條件的格式數(shù)據(jù)對,剩下的格式數(shù)據(jù)對組成中間結(jié)果數(shù)據(jù)集;對于中間結(jié)果數(shù)據(jù)集中的每個格式數(shù)據(jù)對,對數(shù)據(jù)集中的數(shù)據(jù)記錄進(jìn)行所需要的統(tǒng)計計算,然后依據(jù)點過濾條件過濾格式數(shù)據(jù)對,剩下的格式數(shù)據(jù)對組成中間結(jié)果數(shù)據(jù)集; 然后執(zhí)行范圍過濾:對于中間結(jié)果數(shù)據(jù)中的每個格式數(shù)據(jù),使用二分查找算法,找到數(shù)據(jù)集中的一組滿足范圍過濾條件的數(shù)據(jù)記錄,組成中間結(jié)果數(shù)據(jù)集;中間結(jié)果數(shù)據(jù)集中的所有格式數(shù)據(jù)集就是滿足要求的點過濾條件和范圍過濾條件的數(shù)據(jù)記錄;對中間數(shù)據(jù)集中的每個格式數(shù)據(jù)集中的數(shù)據(jù)記錄執(zhí)行指定的計算操作,輸出結(jié)果。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述統(tǒng)計計算采用分布式計算來執(zhí)行點過濾過程、范圍過濾過程,統(tǒng)計計算,分布在不同的計算節(jié)點并行執(zhí)行。
【文檔編號】G06F17/30GK103678716SQ201310752910
【公開日】2014年3月26日 申請日期:2013年12月31日 優(yōu)先權(quán)日:2013年12月31日
【發(fā)明者】鄒瑜斌, 張昕, 胡斌, 須成忠, 張帆, 穆德全 申請人:中國科學(xué)院深圳先進(jìn)技術(shù)研究院, 深圳市易行網(wǎng)交通科技有限公司, 中科文訊科技(深圳)有限公司