欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于云計算的大數(shù)據(jù)處理方法

文檔序號:9524276閱讀:1711來源:國知局
基于云計算的大數(shù)據(jù)處理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理,特別涉及一種基于云計算的大數(shù)據(jù)處理方法。
【背景技術(shù)】
[0002]云計算系統(tǒng)能夠提供海量存儲、可靠服務(wù),因此日益受到重視。在云基礎(chǔ)設(shè)施中,由成千上萬臺互相連接在一起的計算機(jī)構(gòu)成提供服務(wù)的“云”,大量的用戶可以同時共享這塊“云”,并根據(jù)自己的實際需求對所需資源進(jìn)行剪裁。作為云數(shù)據(jù)處理中的一個重要組成部分,當(dāng)前的云存儲系統(tǒng)絕大部分都采用分布式散列表的方式來構(gòu)建索引,數(shù)據(jù)被組織成鍵值對的形式。因此,這類云存儲系統(tǒng)只支持關(guān)鍵字查找,并通過點式檢索來訪問數(shù)據(jù)。然而,在對于如今發(fā)展起來的大數(shù)據(jù)的實際應(yīng)用中,用戶可能傾向于采用多個鍵值來進(jìn)行多維度檢索,此時現(xiàn)有的解決方案只能通過運行一個后臺批處理任務(wù)來掃描整個數(shù)據(jù)集然后得到檢索結(jié)果。然而,這類解決方案缺乏實時性,新存入的數(shù)據(jù)元組不能被及時地檢索到,必須等到后臺的批處理任務(wù)完成掃描才可被檢索。

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

[0003]為解決上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明提出了一種基于云計算的大數(shù)據(jù)處理方法,包括:
[0004]在云存儲系統(tǒng)中建立兩級索引,包括主索引和本地索引,當(dāng)接收到用戶檢索請求時,以主索引作為唯一入口,通過主索引的定位將檢索操作轉(zhuǎn)到本地索引中以獲取數(shù)據(jù)。
[0005]優(yōu)選地,所述在云存儲系統(tǒng)中建立兩級索引,進(jìn)一步包括:
[0006]首先對待索引的數(shù)據(jù)集進(jìn)行分割,按照平均的原則,分成包含等量數(shù)據(jù)的子集,劃分的個數(shù)與下級的本地索引服務(wù)器相等;然后將劃分好的數(shù)據(jù)子集與下級索引服務(wù)器一一對應(yīng),在各下級索引服務(wù)器中以鏈?zhǔn)疥犃袨榛A(chǔ)建立本地索引;各本地索引選擇一部分節(jié)點作為自己索引范圍的代表,并發(fā)布到上級的主索引中;發(fā)布時,抽取這些被發(fā)布節(jié)點的元數(shù)據(jù),所述元數(shù)據(jù)包括索引的鍵、本地索引服務(wù)器IP地址、本地索引服務(wù)器磁盤物理塊號,并僅將元數(shù)據(jù)發(fā)送到上級主索引中;主索引接收到下級各本地索引發(fā)布的元數(shù)據(jù)后,通過鏈?zhǔn)疥犃械男问綄⑦@些元數(shù)據(jù)組織成一個全局的索引,在邏輯上將下級各獨立的本地索引關(guān)聯(lián)起來;上級的主索引作為整個索引的入口,通過主索引的定位,檢索操作轉(zhuǎn)到下級某一個具體的本地索引上,最終在下級找到需要的數(shù)據(jù),然后返回;其中,在本地索引發(fā)布向上級發(fā)布節(jié)點時,采用自頂向下的方式逐步增加發(fā)布的主節(jié)點數(shù)量,首先,每一個本地索引將最高級的節(jié)點發(fā)布到主索引中,接著各本地索引根據(jù)發(fā)布后預(yù)估的檢索速度增加比和發(fā)布后主索引內(nèi)存占用的增長比來判斷是否要繼續(xù)往下級發(fā)布,在向下擴(kuò)展發(fā)布的時候,僅將之前沒有包含的新節(jié)點的元數(shù)據(jù)發(fā)送給上級的主索引,即僅在主索引中插入之前沒有的節(jié)點。
[0007]優(yōu)選地:在提交數(shù)據(jù)更新之前,每個事務(wù)先檢查在該事務(wù)讀取數(shù)據(jù)后,有沒有其他事務(wù)修改了該數(shù)據(jù);如果其他事務(wù)有更新,將正在提交的事務(wù)進(jìn)行回滾;所述的鏈?zhǔn)疥犃忻總€節(jié)點中還包含2個標(biāo)志位和1個鎖;其中,marked標(biāo)志位用于標(biāo)識該節(jié)點是否正在被刪除;linked標(biāo)志位標(biāo)識該節(jié)點是否完全插入,即所有層次的指針域都更新完畢,每一個節(jié)點分別維護(hù)一個鎖lock ;另外還定義2個哨兵節(jié)點head和tail,其鍵值分別為常數(shù)min_int 和 max_int ;
[0008]所述鏈?zhǔn)疥犃械亩ㄎ徊僮魇紫葟纳诒?jié)點head的最高級開始查找,依次下降,每一級查找到待查詢鍵值k所在位置或者哨兵節(jié)點tail停止,如果找到k對應(yīng)的節(jié)點,則更新節(jié)點i表示該節(jié)點的最高級,記錄其每級對應(yīng)的前驅(qū)節(jié)點pre[i];
[0009]所述鏈?zhǔn)疥犃械牟迦氩僮靼?
[0010]1)首先調(diào)用定位操作,返回定位的結(jié)果,如果找到當(dāng)前節(jié)點,即鍵值為k的節(jié)點已經(jīng)存在,不能插入,否則,進(jìn)入步驟2的操作;
[0011 ] 2)對前驅(qū)節(jié)點數(shù)組pre自下向上加鎖;
[0012]3)驗證返回的pre和后繼節(jié)點數(shù)組succ的下一節(jié)點是否發(fā)生變化,若pre和succ的下一節(jié)點發(fā)生變化,則先釋放剛才的鎖,然后重新定位pre和succ ;如果pre和succ都沒有發(fā)生了變化,進(jìn)行步驟4 ;
[0013]4)從底級開始向上進(jìn)行插入操作,然后置linked標(biāo)志位為true,表示插入節(jié)點已經(jīng)完全鏈接,最后釋放所有的鎖;
[0014]所述鏈?zhǔn)疥犃械膭h除操作將指定的節(jié)點刪除,首先定位節(jié)點,然后判定當(dāng)前節(jié)點的狀態(tài)是否為完全鏈接,且沒有正在被刪除,如果該節(jié)點狀態(tài)合理,則對該節(jié)點上鎖,然而有可能該節(jié)點已經(jīng)被其他線程刪除,此時返回false,否則,置節(jié)點marked標(biāo)志位為true然后自下向上對前驅(qū)節(jié)點上鎖,如果succ和pre的狀態(tài)發(fā)生改變,則釋放之前的鎖,然后重新定位節(jié)點;最后,進(jìn)行節(jié)點的物理刪除然后釋放所有鎖,返回true ;
[0015]所述鏈?zhǔn)疥犃械臋z索操作先通過定位查找節(jié)點的位置,然后返回檢索結(jié)果,以及相應(yīng)的前驅(qū)節(jié)點和后繼節(jié)點;如果沒有找到相應(yīng)節(jié)點,當(dāng)前節(jié)點正在被刪除,或當(dāng)前節(jié)點沒有完全連接,則檢索失?。蝗绻业较鄳?yīng)節(jié)點,并且該節(jié)點沒有正在被刪除且完全鏈接,則檢索成功。
[0016]本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點:
[0017]本發(fā)明提出了一種數(shù)據(jù)檢索方法,有效支持多種形式的檢索,可擴(kuò)展性強(qiáng),改善了主索引的并發(fā)性,動態(tài)實時性好,保證了索引結(jié)構(gòu)整體負(fù)載均衡。
【附圖說明】
[0018]圖1是根據(jù)本發(fā)明實施例的基于云計算的大數(shù)據(jù)處理方法的流程圖。
【具體實施方式】
[0019]下文與圖示本發(fā)明原理的附圖一起提供對本發(fā)明一個或者多個實施例的詳細(xì)描述。結(jié)合這樣的實施例描述本發(fā)明,但是本發(fā)明不限于任何實施例。本發(fā)明的范圍僅由權(quán)利要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細(xì)節(jié)以便提供對本發(fā)明的透徹理解。出于示例的目的而提供這些細(xì)節(jié),并且無這些具體細(xì)節(jié)中的一些或者所有細(xì)節(jié)也可以根據(jù)權(quán)利要求書實現(xiàn)本發(fā)明。
[0020]本發(fā)明的一方面提供了一種基于云計算的大數(shù)據(jù)處理方法。圖1是根據(jù)本發(fā)明實施例的基于云計算的大數(shù)據(jù)處理方法流程圖。本發(fā)明利用自定義的索引結(jié)構(gòu),有效支持多種形式的檢索,可擴(kuò)展性強(qiáng),且動態(tài)實時性好;利用劃分和組合算法,解決局部服務(wù)器中的熱點問題,保證了索引結(jié)構(gòu)整體的負(fù)載均衡。此外,本發(fā)明還在上級主索引中引入鏈?zhǔn)疥犃?,提尚了主索引的承載性能,改善了主索引的并發(fā)性,提尚整體索引的吞吐率。
[0021]本發(fā)明將整個索引結(jié)構(gòu)分為上下兩級,索引的數(shù)據(jù)具體存儲在下級的索引中,而上級的索引則起到一個定位和導(dǎo)向的作用。在索引建立的時候,首先會對待索引的數(shù)據(jù)集進(jìn)行分割,按照平均的原則,分成包含等量數(shù)據(jù)的子集(劃分的個數(shù)與下級的本地索引服務(wù)器相等)。然后,劃分好的數(shù)據(jù)子集與下級索引服務(wù)器一一對應(yīng),在各下級索引服務(wù)器中以鏈?zhǔn)疥犃袨榛A(chǔ)建立本地索引。在本地索引建立完成的基礎(chǔ)上,各本地索引會選擇一部分節(jié)點作為自己索引范圍的“代表”,并發(fā)布到上級的主索引中。發(fā)布時,并不是直接將下級節(jié)點原封不動的拷貝給上級節(jié)點,而是抽取這些被發(fā)布節(jié)點的元數(shù)據(jù)(包括索引的鍵、本地索引服務(wù)器IP地址、本地索引服務(wù)器磁盤物理塊號),僅將元數(shù)據(jù)發(fā)送到上級索引中,以達(dá)到減輕上級索引的內(nèi)存開銷,并存儲更多節(jié)點的目的。主索引接收到下級各本地索引發(fā)布的元數(shù)據(jù)后,通過鏈?zhǔn)疥犃械男问綄⑦@些元數(shù)據(jù)組織成一個全局的索引,在邏輯上將下級各獨立的本地索引關(guān)聯(lián)起來,維持了索引空間的整體一致性。上級的主索引作為整個索引的入口,通過主索引的定位,檢索操作轉(zhuǎn)到下級某一個具體的本地索引上,最終在下級找到需要的數(shù)據(jù),然后返回。
[0022
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
南投县| 申扎县| 财经| 宁化县| 太仆寺旗| 沛县| 扬中市| 大冶市| 景宁| 阳高县| 鄂温| 开平市| 陇南市| 丹寨县| 临澧县| 梁山县| 河曲县| 邳州市| 陈巴尔虎旗| 元朗区| 吉木萨尔县| 扬中市| 多伦县| 福清市| 睢宁县| 新乐市| 大邑县| 秦皇岛市| 兰溪市| 平泉县| 濮阳市| 南宁市| 天全县| 潮安县| 宾阳县| 滨州市| 诏安县| 开平市| 乌鲁木齐市| 墨竹工卡县| 台中市|