System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 国产av无码专区亚洲av桃花庵,国产精品成人无码久久久,99久久无码一区人妻a黑
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    桶自動分片方法及裝置、介質、設備制造方法及圖紙

    技術編號:43434724 閱讀:11 留言:0更新日期:2024-11-27 12:43
    本發明專利技術提供一種桶自動分片方法及裝置、介質、設備。該方法包括:在對象被上傳到分布式對象存儲系統的過程中,對每一個桶內的對象索引的數量進行監測;根據監測到的每一個桶內的對象索引的數量,確定該桶是否符合預設重新分片規則;若是,則將該桶對應的分片任務記錄到任務列表中;確定當前處于待分配任務狀態的對象存儲網關客戶端;將任務列表中的每一個分片任務分配給一個當前處于待分配任務狀態的對象存儲網關客戶端,以使分配得到分片任務的對象存儲網關客戶端通過多個子線程將該分片任務對應的桶內的原始分片中的各個對象索引復制到目標分片中,實現對桶的重新分片。本發明專利技術可以降低重分片耗時,降低對前端業務的負面影響。

    【技術實現步驟摘要】

    本專利技術涉及分布式對象存儲系統,尤其是涉及一種桶自動分片方法及裝置、介質、設備


    技術介紹

    1、隨著互聯網的發展,互聯網的數據量越來越大,分布式對象存儲系統應運而生。作為一種新的網絡存儲架構,分布式對象存儲系統適用于圖片及視頻等非結構化數據的存儲,并且具有快存儲、高速直接訪問磁盤以及文件存儲分布式共享的特點,在互聯網中得到廣泛的發展與應用。目前分布式對象存儲系統中已支持桶對象索引動態重新分片功能,即當桶內對象索引的數量到達閾值時,會自動觸發對該桶對象索引的重新分片,即將該桶內原始分片上所有對象索引經過重新計算,映射到新的分片上,再把原始分片上的對象索引全部刪除,最后更新桶信息。

    2、現有分片方案存在極大的弊端,例如,桶內分片數量為1024個,每個分片可以承載10萬個對象索引,檢測到桶內對象索引的個數大于1.24億時,則開始對該桶進行重新分片。在重新分片期間,要對該桶進行加鎖,然后會按照原分片的順序,從0-1023將每個分片上的所有對象索引列舉出來,經過一定的分配計算,得到新的目的分片,再把該對象索引寫到目的分片上,直到所有對象索引復制完成,才會對該桶解鎖。加鎖期間,對該桶的所有寫請求都會被阻塞而失敗。而且隨著桶內對象索引數量的增多,轉移時間越長,那么重新分片的持續時間越長,對前端業務造成的影響就越大,用戶體驗感越差。

    3、綜上可見,如何降低重分片耗時,從而降低對前端業務的負面影響是有待解決的問題。


    技術實現思路

    1、針對以上至少一個技術問題,本專利技術實施例提供一種桶自動分片方法及裝置、介質、設備。

    2、根據第一方面,本專利技術實施例提供的桶自動分片方法包括:

    3、在對象被上傳到分布式對象存儲系統的過程中,對每一個桶內的對象索引的數量進行監測;

    4、根據監測到的每一個桶內的對象索引的數量,確定該桶是否符合預設重新分片規則;若是,則將該桶對應的分片任務記錄到任務列表中;

    5、確定當前處于待分配任務狀態的對象存儲網關客戶端;

    6、將所述任務列表中的每一個分片任務分配給一個當前處于待分配任務狀態的對象存儲網關客戶端,以使分配得到分片任務的對象存儲網關客戶端通過多個子線程將該分片任務對應的桶內的原始分片中的各個對象索引復制到目標分片中,實現對該分片任務對應的桶的重新分片。

    7、在一個實施例中,所述將所述任務列表中的每一個分片任務分配給一個當前處于待分配任務狀態的對象存儲網關客戶端,包括:

    8、若所述任務列表中的分片任務的數量小于等于當前處于待分配任務狀態的對象存儲網關客戶端的數量,則將每一個分片任務分配給一個當前處于待分配任務狀態的對象存儲網關客戶端,各個分配任務分配給的對象存儲網關客戶端不同;在每一次分片任務分配后,將所述分片任務與對象存儲網關客戶端之間的對應關系記錄到日志池中,并刪除該對象存儲網關客戶端之前的對應關系;

    9、若所述任務列表中的分片任務的數量大于當前處于待分配任務狀態的對象存儲網關客戶端的數量,則為每一個當前處于待分配任務狀態的對象存儲網關客戶端分配一個分片任務,且各個對象存儲網關客戶端分配得到的分片任務不同;在有對象存儲網關客戶端完成分片任務并恢復為待分配任務狀態時,為恢復為待分配任務狀態的對象存儲網關客戶端一一對應分配剩余未分配的分片任務;在每一次分片任務分配后,將所述分片任務與對象存儲網關客戶端之間的對應關系記錄到日志池中,并刪除該對象存儲網關客戶端之前的對應關系。

    10、在一個實施例中,所述根據監測到的每一個桶內的對象索引的數量,確定該桶是否符合預設重新分片規則,包括:

    11、若所述預設重新分片規則為桶內的對象索引的數量達到第一閾值,則判斷監測到的每一個桶內的對象索引的數量是否達到所述第一閾值;若達到所述第一閾值,則該桶符合所述預設重新分片規則;若未達到所述第一閾值,則該桶不符合所述預設重新分片規則;

    12、和/或,若所述預設重新分片規則為桶內單個分片上對象索引的數量達到第二閾值,則根據每一個桶內的對象索引的數量和該桶內原始分片的數量,計算該桶內單個分片上對象索引的數量,判斷該桶內單個分片上對象索引的數量是否達到所述第二閾值;若達到所述第二閾值,則該桶符合所述預設重新分片規則;若未達到所述第二閾值,則該桶不符合所述預設重新分片規則。

    13、在一個實施例中,所述將所述任務列表中的每一個分片任務分配給一個當前處于待分配任務狀態的對象存儲網關客戶端之前,所述方法還包括:

    14、判斷當前時間是否在調度時間內;

    15、若在所述調度時間內,則執行所述將所述任務列表中的每一個分片任務分配給一個當前處于待分配任務狀態的對象存儲網關客戶端的步驟;

    16、若不在所述調度時間內,則等待直到進入所述調度時間再執行所述將所述任務列表中的每一個分片任務分配給一個當前處于待分配任務狀態的對象存儲網關客戶端的步驟。

    17、在一個實施例中,每一個桶內的每一個分片的狀態包括尚未重分狀態、正在重分狀態和重分完成狀態;其中:

    18、尚未重分狀態的分片為新建且尚未進行重分的分片,針對尚未重分狀態的分片不阻塞讀寫操作;正在重分狀態的分片為正在進行重分的原始分片,針對正在重分狀態的分片阻塞任何操作;重分完成狀態的分片為已經完成重分的原始分片,針對重分完成狀態的分片不阻塞讀寫操作,且在重分完成狀態的分片被清理之前,存在寫入請求時,寫入數據同時寫入到已經完成重分的原始分片和對應的目標分片中。

    19、在一個實施例中,所述對象存儲網關客戶端通過多個子線程將該分片任務對應的桶內的原始分片中的各個對象索引復制到目標分片中的過程包括:

    20、開啟n個子線程和一個主線程;其中,每一個線程用于負責將m/n個原始分片的對象索引復制到目標分片的工作;每一個子線程在完成一個原始分片的對象索引復制到目標分片的工作后通知所述主線程,以使所述主線程為該子線程分配下一個需要重分的原始分片,直到該子線程完成m/n個原始分片的對象索引復制到目標分片的工作;m為該桶內的原始分片的數量,n為線程的數量;每一個子線程將一個原始分片的對象索引復制到目標分片的過程包括:將該原始分片的狀態標記為正在重分狀態,以阻塞對該原始分片的任何操作;依次列舉出該原始分片上所有的對象索引,計算每一個對象索引對應的目標分片的id,將每一個對象索引復制到對應id的目標分片上,直到該原始分片上所有的對象索引都被復制到對應的目標分片上,將該原始分片的狀態標記為重分完成狀態,以解除該原始分片的阻塞操作;

    21、當n個子線程都成功完成各自對應的所有原始分片的重分工作后,返回該桶的重分成功的消息,并清理各個原始分片。

    22、在一個實施例中,所述對象存儲網關客戶端通過多個子線程將該分片任務對應的桶內的原始分片中的各個對象索引復制到目標分片中的過程還包括:若任意一個子線程未成功完成自己的任意一個原始分片的重分工作,則返回該桶的重分失敗的消息,清理各個目標本文檔來自技高網...

    【技術保護點】

    1.一種桶自動分片方法,其特征在于,包括:

    2.根據權利要求1所述的方法,其特征在于,所述將所述任務列表中的每一個分片任務分配給一個當前處于待分配任務狀態的對象存儲網關客戶端,包括:

    3.根據權利要求1所述的方法,其特征在于,所述根據監測到的每一個桶內的對象索引的數量,確定該桶是否符合預設重新分片規則,包括:

    4.根據權利要求1所述的方法,其特征在于,所述將所述任務列表中的每一個分片任務分配給一個當前處于待分配任務狀態的對象存儲網關客戶端之前,所述方法還包括:

    5.根據權利要求1所述的方法,其特征在于,每一個桶內的每一個分片的狀態包括尚未重分狀態、正在重分狀態和重分完成狀態;其中:

    6.根據權利要求5所述的方法,其特征在于,所述對象存儲網關客戶端通過多個子線程將該分片任務對應的桶內的原始分片中的各個對象索引復制到目標分片中的過程包括:

    7.根據權利要求6所述的方法,其特征在于,所述對象存儲網關客戶端通過多個子線程將該分片任務對應的桶內的原始分片中的各個對象索引復制到目標分片中的過程還包括:若任意一個子線程未成功完成自己的任意一個原始分片的重分工作,則返回該桶的重分失敗的消息,清理各個目標分片,以使該桶使用自己的的原始分片進行對象索引的存儲。

    8.一種桶自動分片裝置,其特征在于,包括:

    9.一種計算機可讀存儲介質,其特征在于,其上存儲有計算機程序,當所述計算機程序在計算機中執行時,令計算機執行實現權利要求1~7中的任一項所述的方法。

    10.一種計算設備,其特征在于,包括存儲器和處理器,所述存儲器中存儲有可執行代碼,所述處理器執行所述可執行代碼時,實現權利要求1~7中的任一項所述的方法。

    ...

    【技術特征摘要】

    1.一種桶自動分片方法,其特征在于,包括:

    2.根據權利要求1所述的方法,其特征在于,所述將所述任務列表中的每一個分片任務分配給一個當前處于待分配任務狀態的對象存儲網關客戶端,包括:

    3.根據權利要求1所述的方法,其特征在于,所述根據監測到的每一個桶內的對象索引的數量,確定該桶是否符合預設重新分片規則,包括:

    4.根據權利要求1所述的方法,其特征在于,所述將所述任務列表中的每一個分片任務分配給一個當前處于待分配任務狀態的對象存儲網關客戶端之前,所述方法還包括:

    5.根據權利要求1所述的方法,其特征在于,每一個桶內的每一個分片的狀態包括尚未重分狀態、正在重分狀態和重分完成狀態;其中:

    6.根據權利要求5所述的方法,其特征在于,所述對象存儲網關客戶端通過多個子線程將該分片任務對應的桶內的原始分...

    【專利技術屬性】
    技術研發人員:張圣明李超王騰飛高偉男
    申請(專利權)人:浪潮云信息技術股份公司
    類型:發明
    國別省市:

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

    1
    主站蜘蛛池模板: 久久午夜伦鲁片免费无码| 国产aⅴ激情无码久久| 久久久久久精品无码人妻| 国产精品无码av天天爽| 国产成人无码AV一区二区在线观看| 无码囯产精品一区二区免费| 国产乱人伦中文无无码视频试看| 亚洲人成人无码网www电影首页| 亚洲国产成人精品无码区二本| 亚洲AV无码久久寂寞少妇| 一本大道久久东京热无码AV| AV无码久久久久不卡蜜桃| 无套中出丰满人妻无码| 久久国产精品无码网站| 国产精品无码亚洲一区二区三区 | 欧洲Av无码放荡人妇网站| 免费无码黄十八禁网站在线观看| 人妻无码一区二区三区免费| 国产亚洲情侣一区二区无码AV | 免费无码成人AV片在线在线播放| 亚洲AV无码成人网站久久精品大| heyzo专区无码综合| 日韩精品无码永久免费网站| 人妻少妇精品无码专区| 精品亚洲av无码一区二区柚蜜| 亚洲av专区无码观看精品天堂| 亚洲av永久无码精品国产精品 | 久久久人妻精品无码一区| 日日摸日日碰人妻无码| 日韩视频无码日韩视频又2021| 永久免费av无码不卡在线观看| 91嫩草国产在线无码观看| 无码人妻一区二区三区免费手机| 无码专区狠狠躁躁天天躁| 无码AV波多野结衣久久| 无码精品A∨在线观看| 亚洲a∨无码男人的天堂| 在线看片福利无码网址| 精品久久久无码中文字幕边打电话| 人妻在线无码一区二区三区| 无码欧精品亚洲日韩一区夜夜嗨 |