• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種數據存儲方法及數據中心技術

    技術編號:14766086 閱讀:120 留言:0更新日期:2017-03-08 10:26
    本發明專利技術實施例公開了一種數據存儲方法及數據中心,其中,該數據存儲方法包括:數據中心讀取本端中該對象已存在的版本號構成的第二版本歷史隊列;判斷第一版本歷史隊列中本次存儲的該對象的數據的版本號是否大于第二版本歷史隊列中的版本號;若大于第二版本歷史隊列中的版本號,則數據中心確定未產生樂觀鎖沖突,本次存儲的該對象的數據存儲成功。可見,該發明專利技術實施例可以在本次存儲的該對象的數據的版本號大于該對象已存在的版本號時,將本次存儲的該對象的數據存儲成功,與需要各數據中心達成一輪決議進行存儲的方法相比,大大降低了網絡開銷。

    【技術實現步驟摘要】

    本專利技術涉及通信
    ,具體涉及一種數據存儲方法及數據中心
    技術介紹
    目前,云存儲是一個以數據存儲和管理為核心的云計算系統,使用者可以在任何時候、任何地點,通過可連網的終端連接到云中存取數據。其中,對象存儲是云存儲的核心,也稱為基于對象的存儲,對象存儲系統最大的特點是對象名稱是一個域名地址,一旦該域名被設置為公開,所有人都可以訪問該對象。為了解決對象存儲系統的容災及可用性等問題,可以采用多數據中心的方案。多數據中心的對象存儲系統中,每個數據中心都可以處理客戶端的業務請求,即可以將對象上傳到任一個數據中心,也可以從任一個數據中心下載到同一個對象。其中,對象上傳到任一個數據中心后,要保證每個數據中心最終存儲的該對象的數據為同樣的數據,才能使得從任一個數據中心下載該對象時,都能下載到相同的數據。因此,當對象存儲系統中有上傳對象的數據時,會啟動一輪決議過程,若被大多數數據中心接受,則各數據中心會保存本次上傳的該對象的數據,從而,使得從任一個數據中心下載該對象時,都能下載到相同的數據。然而,達成一輪決議需要各個數據中心進行多次網絡交互,導致網絡開銷大。
    技術實現思路
    本專利技術實施例提供了一種數據存儲方法及數據中心,可以降低網絡開銷。本專利技術實施例第一方面提供一種數據存儲方法,應用于包括多個數據中心的對象存儲系統,包括:數據中心存儲對象的數據時,讀取本端中對象已存在的版本號構成的第二版本歷史隊列;數據中心判斷第一版本歷史隊列中本次存儲的對象的數據的版本號是否大于第二版本歷史隊列中的版本號;若大于第二版本歷史隊列中的版本號,則數據中心確定未產生樂觀鎖沖突,本次存儲的對象的數據存儲成功。其中,版本號包括接收到客戶端發送的用于存儲對象的數據的存儲請求的接收時間和通用唯一識別碼UUID;接收時間在后的版本號大于接收時間在先的版本號,針對接收時間相同的版本號,UUID大的版本號大于UUID小的版本號。對象的不同存儲請求對應對象的不同數據,不同的對象的數據對應不同的版本號,因此,可以通過版本號區別每一個存儲請求對應的對象的數據,并且,可以根據該版本號確定不同存儲請求對應的對象的不同數據的新舊關系。其中,UUID為通用唯一識別碼(UniversallyUniqueIdentifier,UUID),該UUID在分布式系統中,即各個數據中心中都是唯一的,由當前的日期、時間、時鐘序列以及全局唯一的IEEE機器識別號構成。其中,UUID的第一個部分與時間有關,例如,同一個數據中心生成一個UUID之后,過幾秒又生成一個UUID,則第一個部分不同,其余相同。即使不同的數據中心接收到該對象的數據的兩個存儲請求的時間相同,但通用唯一識別碼不同,因此,版本號中的接收時間可以為接收到存儲請求的數據中心的本地時間,不必是全球時間精準同步的原子鐘確定的精準授時。該實施方式由于不嚴格要求各數據中心采用全球時間精準同步的原子鐘保證時間一致,從而降低了數據存儲方法的實現難度,節約數據存儲的成本。可見,該專利技術實施例可以在本次存儲的該對象的數據的版本號大于該對象已存在的版本號時,將本次存儲的該對象的數據存儲成功,與需要達成一輪決議進行存儲的方法相比,大大降低了網絡開銷。另外,每個存儲請求對應一個版本號,該版本號可用于區別不同存儲請求對應的對象的數據的新舊關系,對象存儲系統中每個數據中心在本次存儲的該對象的數據的版本號大于該對象已存在的版本號時才能存儲成功,使得每個數據中心每次存儲的該對象的數據為對象存儲系統接收的該對象的最新數據,保證了各數據中心中該對象的數據的一致。在第一方面的第一種可能的實現方式中,數據中心讀取本端中對象已存在的版本號構成的第二版本歷史隊列之前,數據中心可以接收其他數據中心發送的復制請求;從復制請求中提取對象的數據以及對象的第一版本歷史隊列;響應復制請求,存儲對象的數據。該實施方式可以將其他數據中心接收到的對象的數據也同步到本數據中心中。結合第一方面的實現方式,在第一方面的第二種可能的實現方式中,數據中心讀取本端中對象已存在的版本號構成的第二版本歷史隊列之前,接收對象的存儲請求;數據中心針對存儲請求生成本次待存儲的對象的數據的版本號;數據中心將版本號添加到對象的版本歷史隊列的隊尾,構成對象的第一版本歷史隊列;數據中心響應存儲請求,存儲對象的數據,并向其他數據中心發送復制請求,復制請求攜帶對象的第一版本歷史隊列。該實施方式不僅可以將本數據中心接收到的存儲請求中的對象的數據存儲起來,還可以給其他數據中心發送復制請求,使得其他數據也可以根據復制請求同步存儲該對象的數據。結合第一方面的實現方式,或者第一方面的第一種或第二種可能的實現方式,在第一方面的第三種可能的實現方式中,數據中心在判斷出第一版本歷史隊列中本次存儲的對象的數據的版本號不大于第二版本歷史隊列中的版本號,可以確定產生樂觀鎖沖突,本次存儲的對象的數據存儲失敗;然后,數據中心可以比較第一版本歷史隊列與第二版本歷史隊列中的版本號,合并排列出第三版本歷史隊列;存儲第三版本歷史隊列以更新本端對象的版本歷史隊列。其中,數據中心可以在出現樂觀鎖沖突,確定本次存儲的對象的數據為過期數據,但為了保證本數據中心及時更新該對象的版本歷史隊列,依舊可以將第一版本歷史隊列與本端該對象已存在的版本號構成的第二版本歷史隊列合并,得到第三版本歷史隊列,來更新本端中該對象的版本歷史隊列。相應地,無論是存儲請求觸發數據中心存儲數據還是復制請求觸發數據中心存儲數據,若數據中心確定未產生樂觀鎖沖突,則表示第一版本歷史隊列為當前的最新的版本歷史隊列,數據中心可以存儲該第一版本歷史隊列作為該對象的版本歷史隊列,以便于下次更新該對象的數據時使用。結合第一方面的第三種可能的實現方式中,在第一方面的第四種可能的實現方式中,數據中心比較第一版本歷史隊列與第二版本歷史隊列中的版本號,合并排列出第三版本歷史隊列,可以具體為:數據中心從隊尾向對頭的順序,確定第一版本歷史隊列與第二版本歷史隊列中是否存在第一個相同的版本號;若存在第一個相同的版本號,則數據中心將第一版本歷史隊列與第二版本歷史隊列中第一個相同的版本號到隊尾的所有版本號進行排序,合并出第三版本歷史隊列;若不存在第一個相同的版本號,則數據中心將第一版本歷史隊列與第二版本歷史隊列中的所有版本號進行排序,合并出第三版本歷史隊列。本專利技術實施例第二方面提供了一種數據中心,該數據中心具有實現上述第一方面提供的方法的行為功能,所述功能可以通過硬件實現,也可以通過硬件執行相應的軟件實現。所述硬件或軟件包括一個或多個與上述功能相對應的模塊。附圖說明為了更清楚地說明本專利技術實施例或現有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1是本專利技術實施例公開的一種對象存儲系統的示意圖;圖2是本專利技術實施例公開的一種數據存儲方法的流程示意圖;圖3是本專利技術實施例公開的數據中心的一種結構示意圖;圖4是本專利技術實施例公開的數據中心的另一結構示意圖。具體實施方式為了便于理解本專利技術實施例,下面先對本專利技術實施例的應用場景進行描述。請參閱圖1,圖1是本專利技術實施例本文檔來自技高網...
    一種數據存儲方法及數據中心

    【技術保護點】
    一種數據存儲方法,應用于包括多個數據中心的對象存儲系統,其特征在于,包括:數據中心存儲對象的數據時,讀取本端中所述對象已存在的版本號構成的第二版本歷史隊列;所述數據中心判斷第一版本歷史隊列中本次存儲的所述對象的數據的版本號是否大于所述第二版本歷史隊列中的版本號;若大于所述第二版本歷史隊列中的版本號,則所述數據中心確定未產生樂觀鎖沖突,所述本次存儲的所述對象的數據存儲成功;所述版本號包括接收到客戶端發送的用于存儲對象的數據的存儲請求的接收時間和通用唯一識別碼UUID;接收時間在后的版本號大于接收時間在先的版本號,針對接收時間相同的版本號,UUID大的版本號大于UUID小的版本號。

    【技術特征摘要】
    1.一種數據存儲方法,應用于包括多個數據中心的對象存儲系統,其特征在于,包括:數據中心存儲對象的數據時,讀取本端中所述對象已存在的版本號構成的第二版本歷史隊列;所述數據中心判斷第一版本歷史隊列中本次存儲的所述對象的數據的版本號是否大于所述第二版本歷史隊列中的版本號;若大于所述第二版本歷史隊列中的版本號,則所述數據中心確定未產生樂觀鎖沖突,所述本次存儲的所述對象的數據存儲成功;所述版本號包括接收到客戶端發送的用于存儲對象的數據的存儲請求的接收時間和通用唯一識別碼UUID;接收時間在后的版本號大于接收時間在先的版本號,針對接收時間相同的版本號,UUID大的版本號大于UUID小的版本號。2.根據權利要求1所述的方法,其特征在于,所述數據中心讀取本端中所述對象已存在的版本號構成的第二版本歷史隊列之前,所述方法還包括:所述數據中心接收其他數據中心發送的復制請求;從所述復制請求中提取對象的數據以及所述對象的第一版本歷史隊列;響應所述復制請求,存儲所述對象的數據。3.根據權利要求1所述的方法,其特征在于,所述數據中心讀取本端中所述對象已存在的版本號構成的第二版本歷史隊列之前,所述方法還包括:數據中心接收對象的存儲請求;所述數據中心針對所述存儲請求生成本次待存儲的所述對象的數據的版本號;所述數據中心將所述版本號添加到所述對象的版本歷史隊列的隊尾,構成所述對象的第一版本歷史隊列;所述數據中心響應所述存儲請求,存儲所述對象的數據,并向其他數據中心發送復制請求,所述復制請求攜帶所述對象的第一版本歷史隊列。4.根據權利要求1至3任一項所述的方法,其特征在于,若所述數據中心判斷出第一版本歷史隊列中本次存儲的所述對象的數據的版本號不大于所述第二版本歷史隊列中的版本號,所述方法還包括:所述數據中心確定產生樂觀鎖沖突,所述本次存儲的所述對象的數據存儲失敗;所述數據中心比較所述第一版本歷史隊列與所述第二版本歷史隊列中的版本號,合并排列出第三版本歷史隊列;所述數據中心存儲所述第三版本歷史隊列以更新本端所述對象的版本歷史隊列。5.根據權利要求4所述的方法,其特征在于,所述數據中心比較所述第一版本歷史隊列與所述第二版本歷史隊列中的版本號,合并排列出第三版本歷史隊列,包括:所述數據中心從隊尾向對頭的順序,確定所述第一版本歷史隊列與所述第二版本歷史隊列中是否存在第一個相同的版本號;若存在第一個相同的版本號,則所述數據中心將所述第一版本歷史隊列與所述第二版本歷史隊列中所述第一個相同的版本號到隊尾的所有版本號進行排序,合并出第三版本歷史隊列;若不存在第一個相同的版本號,則所述數據中心將所述第一版本歷史隊列與所述第二版本歷史隊列中的所有版本號進行排序,合并出第三版本歷史隊列。6.一種數據中心,其特征在于,包括:讀取模塊,用于在存儲對象的數據時,讀取本端中所述...

    【專利技術屬性】
    技術研發人員:白平昌
    申請(專利權)人:華為數字技術成都有限公司
    類型:發明
    國別省市:四川;51

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 无码一区二区三区在线| 久久久无码精品亚洲日韩京东传媒| 亚洲国产精品无码第一区二区三区| 亚洲爆乳AAA无码专区| 无码专区国产无套粉嫩白浆内射| 夜夜精品无码一区二区三区| 永久免费av无码不卡在线观看| 亚洲AⅤ永久无码精品AA| 久久亚洲精品无码AV红樱桃 | 精品久久久无码中文字幕天天| 无码人妻一区二区三区在线| 国产av无码专区亚洲av毛片搜| 未满十八18禁止免费无码网站| 无码人妻精品一区二区三区99不卡 | 亚洲AV无码成人网站在线观看| 免费无码又爽又刺激网站| 全免费a级毛片免费看无码| 亚洲色av性色在线观无码| 亚洲AV无码一区东京热| 黑人无码精品又粗又大又长 | 99久久人妻无码精品系列| 国模无码人体一区二区| 国产精品午夜福利在线无码| 西西444www无码大胆| 无码夫の前で人妻を犯す中字 | 无码人妻丰满熟妇啪啪网站牛牛| 久久久久无码国产精品一区| 中文字幕乱偷无码AV先锋| 国产亚洲精久久久久久无码AV| 国产精品无码专区在线观看| 亚洲精品无码日韩国产不卡?V| 日韩人妻无码精品无码中文字幕| 国产成人无码区免费A∨视频网站| 蜜芽亚洲av无码一区二区三区| 久久人妻无码一区二区| 精品无码一区二区三区水蜜桃| 免费一区二区无码视频在线播放| 日韩精品无码永久免费网站| 伊人久久精品无码二区麻豆| 无码国内精品久久人妻蜜桃| 色窝窝无码一区二区三区|