国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種分布式存儲(chǔ)的實(shí)現(xiàn)方法及裝置與流程

      文檔序號(hào):11216468閱讀:1145來(lái)源:國(guó)知局
      一種分布式存儲(chǔ)的實(shí)現(xiàn)方法及裝置與流程

      本發(fā)明涉及存儲(chǔ)技術(shù)領(lǐng)域,特別涉及一種分布式存儲(chǔ)的實(shí)現(xiàn)方法及裝置。



      背景技術(shù):

      分布式存儲(chǔ)是相對(duì)集中存儲(chǔ)(磁盤陣列)提出的概念,就是以大容量硬盤的服務(wù)器為存儲(chǔ)介質(zhì),通過(guò)軟件管理形成存儲(chǔ)供用戶使用。分布式存儲(chǔ)可以提供各種訪問(wèn)協(xié)議,可以支持塊和對(duì)象等存儲(chǔ)模式。

      現(xiàn)有技術(shù)的分布式存儲(chǔ)中,當(dāng)接收到對(duì)數(shù)據(jù)的讀寫等操作請(qǐng)求時(shí),對(duì)需要處理的數(shù)據(jù)的主本和副本進(jìn)行處理,當(dāng)主本和副本都處理完成后,向發(fā)來(lái)操作請(qǐng)求的用戶返回響應(yīng)。

      通過(guò)上述描述可見(jiàn),用戶需要在主本和副本都處理完成后,才能接收到響應(yīng),等待時(shí)間較長(zhǎng)。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明實(shí)施例提供了一種分布式存儲(chǔ)的實(shí)現(xiàn)方法及裝置,能夠縮短用戶的等待時(shí)間。

      一方面,本發(fā)明實(shí)施例提供了一種分布式存儲(chǔ)的實(shí)現(xiàn)方法,包括:

      接收至少一個(gè)操作請(qǐng)求;

      針對(duì)每個(gè)所述操作請(qǐng)求,執(zhí)行以下處理:

      根據(jù)當(dāng)前操作請(qǐng)求,對(duì)所述當(dāng)前操作請(qǐng)求對(duì)應(yīng)的待處理文件的主本進(jìn)行處理;

      對(duì)所述主本處理完成后,向所述當(dāng)前操作請(qǐng)求對(duì)應(yīng)的用戶返回響應(yīng);

      根據(jù)所述當(dāng)前操作請(qǐng)求和所述主本,對(duì)所述主本對(duì)應(yīng)的副本進(jìn)行相應(yīng)的處理。

      進(jìn)一步地,

      在所述接收至少一個(gè)操作請(qǐng)求之后,進(jìn)一步包括:

      確定所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí);

      根據(jù)所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí),確定所述至少一個(gè)操作請(qǐng)求的處理順序;

      按照所述處理順序,處理所述至少一個(gè)操作請(qǐng)求。

      進(jìn)一步地,

      所述確定所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí),包括:

      根據(jù)每個(gè)所述操作請(qǐng)求對(duì)應(yīng)的用戶、應(yīng)用、sla(service-levelagreement,服務(wù)等級(jí)協(xié)議)和待處理文件,確定所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí)。

      進(jìn)一步地,

      該方法進(jìn)一步包括:

      預(yù)先設(shè)置每個(gè)用戶的等級(jí)級(jí)別值,設(shè)置每個(gè)應(yīng)用的重要程度值,設(shè)置每個(gè)sla的危險(xiǎn)性得分;

      預(yù)先設(shè)置用戶、應(yīng)用、sla和待處理文件的指標(biāo)占比;

      所述根據(jù)每個(gè)所述操作請(qǐng)求對(duì)應(yīng)的用戶、應(yīng)用、sla和待處理文件,確定所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí),包括:

      確定每個(gè)所述操作請(qǐng)求對(duì)應(yīng)的待處理文件的熱度值;

      分別根據(jù)每個(gè)所述操作請(qǐng)求對(duì)應(yīng)的用戶、應(yīng)用、sla、待處理文件的熱度值和公式一,計(jì)算出每個(gè)所述操作請(qǐng)求的優(yōu)先級(jí)值,所述公式一為:

      y=h×h+a×a+s×s+w×w;

      其中,y為所述優(yōu)先級(jí)值,h為用戶的等級(jí)級(jí)別值,a為應(yīng)用的重要程度值,s為sla的危險(xiǎn)性得分,w為待處理文件的熱度值,h為用戶的指標(biāo)占比,a為應(yīng)用的指標(biāo)占比,s為sla的指標(biāo)占比,w為待處理文件的指標(biāo)占比;

      根據(jù)每個(gè)所述操作請(qǐng)求的優(yōu)先級(jí)值,確定所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí)。

      進(jìn)一步地,

      所述根據(jù)所述當(dāng)前操作請(qǐng)求和所述主本,對(duì)所述主本對(duì)應(yīng)的副本進(jìn)行相應(yīng)的處理,包括:

      a1:針對(duì)所述當(dāng)前操作請(qǐng)求,設(shè)置處理標(biāo)志;

      a2:判斷所述當(dāng)前操作請(qǐng)求的處理標(biāo)志是否是未完成,如果是,則執(zhí)行a3,否則,結(jié)束當(dāng)前流程;

      a3:判斷處理所述當(dāng)前操作請(qǐng)求的進(jìn)程是否已退出,如果是,則發(fā)起同步進(jìn)程,利用所述同步進(jìn)程對(duì)所述主本對(duì)應(yīng)的副本進(jìn)行相應(yīng)的處理,并在處理完成后,將所述處理標(biāo)志修改為已完成,否則,利用所述當(dāng)前操作請(qǐng)求的進(jìn)程對(duì)所述主本對(duì)應(yīng)的副本進(jìn)行相應(yīng)的處理,并在處理完成后,將所述處理標(biāo)志修改為已完成。

      另一方面,本發(fā)明實(shí)施例提供了一種分布式存儲(chǔ)的實(shí)現(xiàn)裝置,包括:

      接收單元,用于接收至少一個(gè)操作請(qǐng)求;

      處理單元,用于針對(duì)每個(gè)所述操作請(qǐng)求,執(zhí)行以下處理:

      根據(jù)當(dāng)前操作請(qǐng)求,對(duì)所述當(dāng)前操作請(qǐng)求對(duì)應(yīng)的待處理文件的主本進(jìn)行處理;

      對(duì)所述主本處理完成后,向所述當(dāng)前操作請(qǐng)求對(duì)應(yīng)的用戶返回響應(yīng);

      根據(jù)所述當(dāng)前操作請(qǐng)求和所述主本,對(duì)所述主本對(duì)應(yīng)的副本進(jìn)行相應(yīng)的處理。

      進(jìn)一步地,

      所述處理單元,進(jìn)一步用于執(zhí)行:

      確定所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí);

      根據(jù)所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí),確定所述至少一個(gè)操作請(qǐng)求的處理順序;

      按照所述處理順序,處理所述至少一個(gè)操作請(qǐng)求。

      進(jìn)一步地,

      所述處理單元,在執(zhí)行所述確定所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí)時(shí),具體用于執(zhí)行:根據(jù)每個(gè)所述操作請(qǐng)求對(duì)應(yīng)的用戶、應(yīng)用、sla和待處理文件,確定所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí)。

      進(jìn)一步地,

      該裝置進(jìn)一步包括:

      保存單元,用于保存每個(gè)用戶的等級(jí)級(jí)別值,每個(gè)應(yīng)用的重要程度值,每個(gè)sla的危險(xiǎn)性得分;以及用戶、應(yīng)用、sla和待處理文件的指標(biāo)占比;

      所述處理單元,用于執(zhí)行:

      確定每個(gè)所述操作請(qǐng)求對(duì)應(yīng)的待處理文件的熱度值;

      分別根據(jù)每個(gè)所述操作請(qǐng)求對(duì)應(yīng)的用戶、應(yīng)用、sla、待處理文件的熱度值和公式一,計(jì)算出每個(gè)所述操作請(qǐng)求的優(yōu)先級(jí)值,所述公式一為:

      y=h×h+a×a+s×s+w×w;

      其中,y為所述優(yōu)先級(jí)值,h為用戶的等級(jí)級(jí)別值,a為應(yīng)用的重要程度值,s為sla的危險(xiǎn)性得分,w為待處理文件的熱度值,h為用戶的指標(biāo)占比,a為應(yīng)用的指標(biāo)占比,s為sla的指標(biāo)占比,w為待處理文件的指標(biāo)占比;

      根據(jù)每個(gè)所述操作請(qǐng)求的優(yōu)先級(jí)值,確定所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí)。

      進(jìn)一步地,

      所述處理單元,在執(zhí)行所述根據(jù)所述當(dāng)前操作請(qǐng)求和所述主本,對(duì)所述主本對(duì)應(yīng)的副本進(jìn)行相應(yīng)的處理時(shí),具體用于執(zhí)行:

      a1:針對(duì)所述當(dāng)前操作請(qǐng)求,設(shè)置處理標(biāo)志;

      a2:判斷所述當(dāng)前操作請(qǐng)求的處理標(biāo)志是否是未完成,如果是,則執(zhí)行a3,否則,結(jié)束當(dāng)前流程;

      a3:判斷處理所述當(dāng)前操作請(qǐng)求的進(jìn)程是否已退出,如果是,則發(fā)起同步進(jìn)程,利用所述同步進(jìn)程對(duì)所述主本對(duì)應(yīng)的副本進(jìn)行相應(yīng)的處理,并在處理完成后,將所述處理標(biāo)志修改為已完成,否則,利用所述當(dāng)前操作請(qǐng)求的進(jìn)程對(duì)所述主本對(duì)應(yīng)的副本進(jìn)行相應(yīng)的處理,并在處理完成后,將所述處理標(biāo)志修改為已完成。

      在本發(fā)明實(shí)施例中,接收到用戶發(fā)出的操作請(qǐng)求后,當(dāng)待處理文件的主本處理完成即可向用戶返回響應(yīng),無(wú)需等到該主本的所有副本都處理完成后才返回響應(yīng),縮短了用戶的等待時(shí)間。

      附圖說(shuō)明

      為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

      圖1是本發(fā)明一實(shí)施例提供的一種分布式存儲(chǔ)的實(shí)現(xiàn)方法的流程圖;

      圖2是本發(fā)明一實(shí)施例提供的另一種分布式存儲(chǔ)的實(shí)現(xiàn)方法的流程圖;

      圖3是本發(fā)明一實(shí)施例提供的一種分布式存儲(chǔ)的實(shí)現(xiàn)裝置的示意圖;

      圖4是本發(fā)明一實(shí)施例提供的另一種分布式存儲(chǔ)的實(shí)現(xiàn)裝置的示意圖。

      具體實(shí)施方式

      為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

      如圖1所示,本發(fā)明實(shí)施例提供了一種分布式存儲(chǔ)的實(shí)現(xiàn)方法,該方法可以包括以下步驟:

      步驟101:接收至少一個(gè)操作請(qǐng)求;

      步驟102:針對(duì)每個(gè)所述操作請(qǐng)求,執(zhí)行以下處理:

      根據(jù)當(dāng)前操作請(qǐng)求,對(duì)所述當(dāng)前操作請(qǐng)求對(duì)應(yīng)的待處理文件的主本進(jìn)行處理;

      對(duì)所述主本處理完成后,向所述當(dāng)前操作請(qǐng)求對(duì)應(yīng)的用戶返回響應(yīng);

      根據(jù)所述當(dāng)前操作請(qǐng)求和所述主本,對(duì)所述主本對(duì)應(yīng)的副本進(jìn)行相應(yīng)的處理。

      在本發(fā)明實(shí)施例中,接收到用戶發(fā)出的操作請(qǐng)求后,當(dāng)待處理文件的主本處理完成即可向用戶返回響應(yīng),無(wú)需等到該主本的所有副本都處理完成后才返回響應(yīng),縮短了用戶的等待時(shí)間。

      為了提高用戶體驗(yàn),在本發(fā)明一實(shí)施例中,在所述接收至少一個(gè)操作請(qǐng)求之后,進(jìn)一步包括:

      確定所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí);

      根據(jù)所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí),確定所述至少一個(gè)操作請(qǐng)求的處理順序;

      按照所述處理順序,處理所述至少一個(gè)操作請(qǐng)求。

      在本發(fā)明實(shí)施例中,將接收到的至少一個(gè)操作請(qǐng)求劃分出優(yōu)先級(jí),按照優(yōu)先級(jí)的順序進(jìn)行處理,在操作請(qǐng)求較多的情況下,能夠及時(shí)優(yōu)先處理優(yōu)先級(jí)較高的操作請(qǐng)求,能夠提高用戶體驗(yàn)。舉例來(lái)說(shuō),有些操作請(qǐng)求比較緊急,有些操作請(qǐng)求不緊急,這是,確定緊急的操作請(qǐng)求的優(yōu)先級(jí)高于不緊急的操作請(qǐng)求,優(yōu)先處理緊急的操作請(qǐng)求,這是緊急的操作請(qǐng)求的用戶的用戶體驗(yàn)較好,而不緊急的操作請(qǐng)求的用戶的用戶體驗(yàn)也不會(huì)有多大落差,整體來(lái)說(shuō),提高了用戶的用戶體驗(yàn)。

      在本發(fā)明一實(shí)施例中,所述確定所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí),包括:

      根據(jù)每個(gè)所述操作請(qǐng)求對(duì)應(yīng)的用戶、應(yīng)用、sla和待處理文件,確定所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí)。

      在本發(fā)明實(shí)施例中,從用戶、應(yīng)用、sla和待處理文件四個(gè)角度來(lái)綜合確定操作請(qǐng)求的優(yōu)先級(jí),使得確定出的優(yōu)先級(jí)更加合理,更加符合用戶需求,能夠進(jìn)一步提高用戶體驗(yàn)。

      在本發(fā)明一實(shí)施例中,該方法進(jìn)一步包括:

      預(yù)先設(shè)置每個(gè)用戶的等級(jí)級(jí)別值,設(shè)置每個(gè)應(yīng)用的重要程度值,設(shè)置每個(gè)sla的危險(xiǎn)性得分;

      預(yù)先設(shè)置用戶、應(yīng)用、sla和待處理文件的指標(biāo)占比;

      所述根據(jù)每個(gè)所述操作請(qǐng)求對(duì)應(yīng)的用戶、應(yīng)用、sla和待處理文件,確定所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí),包括:

      確定每個(gè)所述操作請(qǐng)求對(duì)應(yīng)的待處理文件的熱度值;

      分別根據(jù)每個(gè)所述操作請(qǐng)求對(duì)應(yīng)的用戶、應(yīng)用、sla、待處理文件的熱度值和公式一,計(jì)算出每個(gè)所述操作請(qǐng)求的優(yōu)先級(jí)值,所述公式一為:

      y=h×h+a×a+s×s+w×w;

      其中,y為所述優(yōu)先級(jí)值,h為用戶的等級(jí)級(jí)別值,a為應(yīng)用的重要程度值,s為sla的危險(xiǎn)性得分,w為待處理文件的熱度值,h為用戶的指標(biāo)占比,a為應(yīng)用的指標(biāo)占比,s為sla的指標(biāo)占比,w為待處理文件的指標(biāo)占比;

      根據(jù)每個(gè)所述操作請(qǐng)求的優(yōu)先級(jí)值,確定所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí)。

      在本發(fā)明實(shí)施例中,將用戶、應(yīng)用、sla和待處理文件都用具體的數(shù)值來(lái)區(qū)分,數(shù)值的大小體現(xiàn)了該指標(biāo)對(duì)優(yōu)先級(jí)值的影響。

      舉例來(lái)說(shuō),針對(duì)用戶這個(gè)指標(biāo),用戶的等級(jí)級(jí)別值的范圍可以是[0,100],數(shù)值越大,說(shuō)明用戶的等級(jí)級(jí)別越高,越重要。每個(gè)用戶的等級(jí)級(jí)別值可以根據(jù)crm(customerrelationshipmanagement,客戶關(guān)系管理)評(píng)價(jià)來(lái)確定。另外,用戶這個(gè)指標(biāo)的指標(biāo)占比可以為40%。

      針對(duì)應(yīng)用這個(gè)指標(biāo),應(yīng)用的重要程度值的范圍可以是[0,100],數(shù)值越大,說(shuō)明應(yīng)用的越重要。每個(gè)應(yīng)用的重要程度值可以根據(jù)crm及應(yīng)用評(píng)價(jià)來(lái)確定。另外,應(yīng)用這個(gè)指標(biāo)的指標(biāo)占比可以為25%。

      針對(duì)sla這個(gè)指標(biāo),sla的危險(xiǎn)性得分的范圍可以是[0,100],數(shù)值越大,說(shuō)明sla的越重要。每個(gè)sla的危險(xiǎn)性得分可以根據(jù)統(tǒng)計(jì)指標(biāo)來(lái)確定。具體地,可以根據(jù)sla中的具體內(nèi)容來(lái)確定。另外,sla這個(gè)指標(biāo)的指標(biāo)占比可以為20%。

      針對(duì)待處理文件這個(gè)指標(biāo),待處理文件的熱度值的范圍可以是[0,100],數(shù)值越大,說(shuō)明待處理文件的熱度越高,越重要。每個(gè)待處理文件的熱度值可以根據(jù)統(tǒng)計(jì)指標(biāo)來(lái)確定。每個(gè)待處理文件的熱度值可以根據(jù)待處理文件的處理次數(shù)確定,具體地,處理次數(shù)越多,熱度值越高,特別地,可以將第一次處理的待處理文件的熱度值設(shè)置為100。另外,待處理文件這個(gè)指標(biāo)的指標(biāo)占比可以為15%。

      在本發(fā)明一實(shí)施例中,所述根據(jù)所述當(dāng)前操作請(qǐng)求和所述主本,對(duì)所述主本對(duì)應(yīng)的副本進(jìn)行相應(yīng)的處理,包括:

      a1:針對(duì)所述當(dāng)前操作請(qǐng)求,設(shè)置處理標(biāo)志;

      a2:判斷所述當(dāng)前操作請(qǐng)求的處理標(biāo)志是否是未完成,如果是,則執(zhí)行a3,否則,結(jié)束當(dāng)前流程;

      a3:判斷處理所述當(dāng)前操作請(qǐng)求的進(jìn)程是否已退出,如果是,則發(fā)起同步進(jìn)程,利用所述同步進(jìn)程對(duì)所述主本對(duì)應(yīng)的副本進(jìn)行相應(yīng)的處理,并在處理完成后,將所述處理標(biāo)志修改為已完成,否則,利用所述當(dāng)前操作請(qǐng)求的進(jìn)程對(duì)所述主本對(duì)應(yīng)的副本進(jìn)行相應(yīng)的處理,并在處理完成后,將所述處理標(biāo)志修改為已完成。

      在本發(fā)明實(shí)施例中,設(shè)置了處理標(biāo)志,通過(guò)處理標(biāo)志來(lái)體現(xiàn)副本是否處理完成,以保證數(shù)據(jù)的一致性。該過(guò)程可以通過(guò)reqnode-1acknode-1{flagnode-2,,flagnode-n},node-1到node-n是指存儲(chǔ)文字,reqnode-1是指操作請(qǐng)求,acknode-1是指響應(yīng),flag是指處理標(biāo)志。flag可以通過(guò)系統(tǒng)記錄并管理。通過(guò)本發(fā)明實(shí)施例,可以保證數(shù)據(jù)一致性在錯(cuò)時(shí)模式下確保實(shí)現(xiàn),不影響后續(xù)的其他操作。在這種模式下,用戶的等待時(shí)間減少,用戶體驗(yàn)有明顯的提升。

      如圖2所示,本發(fā)明實(shí)施例提供了一種分布式存儲(chǔ)的實(shí)現(xiàn)方法,該方法可以包括以下步驟:

      步驟201:預(yù)先設(shè)置每個(gè)用戶的等級(jí)級(jí)別值,設(shè)置每個(gè)應(yīng)用的重要程度值,設(shè)置每個(gè)sla的危險(xiǎn)性得分,預(yù)先設(shè)置用戶、應(yīng)用、sla和待處理文件的指標(biāo)占比。

      用戶、應(yīng)用、sla和待處理文件的指標(biāo)占比之和為1。

      舉例來(lái)說(shuō),預(yù)先設(shè)置用戶a的等級(jí)級(jí)別值為90,用戶b的等級(jí)級(jí)別值為80,用戶c的等級(jí)級(jí)別值為60。預(yù)先設(shè)置應(yīng)用a的重要程度值為50,應(yīng)用b的重要程度值為70,應(yīng)用c的重要程度值為60。預(yù)先設(shè)置sla1的危險(xiǎn)性得分為70,sla2的危險(xiǎn)性得分為60,sla3的危險(xiǎn)性得分為80。

      預(yù)先設(shè)置用戶、應(yīng)用、sla和待處理文件這幾個(gè)指標(biāo)的指標(biāo)占比分別為:40%、25%、20%、15%。

      步驟202:接收至少一個(gè)操作請(qǐng)求。

      舉例來(lái)說(shuō),接收到操作請(qǐng)求a、操作請(qǐng)求b、操作請(qǐng)求c。

      步驟203:確定每個(gè)操作請(qǐng)求對(duì)應(yīng)的待處理文件的熱度值。

      具體地,根據(jù)當(dāng)前待處理文件的處理次數(shù),確定出當(dāng)前待處理文件的熱度值。

      舉例來(lái)說(shuō),操作請(qǐng)求a對(duì)應(yīng)待處理文件a,操作請(qǐng)求b對(duì)應(yīng)待處理文件b,操作請(qǐng)求c對(duì)應(yīng)待處理文件c。確定出待處理文件a的熱度值為30,待處理文件b的熱度值為60,待處理文件c的熱度值為50。

      步驟204:分別根據(jù)每個(gè)操作請(qǐng)求對(duì)應(yīng)的用戶、應(yīng)用、sla、待處理文件的熱度值和公式一,計(jì)算出每個(gè)操作請(qǐng)求的優(yōu)先級(jí)值,公式一為:

      y=h×h+a×a+s×s+w×w;

      其中,y為所述優(yōu)先級(jí)值,h為用戶的等級(jí)級(jí)別值,a為應(yīng)用的重要程度值,s為sla的危險(xiǎn)性得分,w為待處理文件的熱度值,h為用戶的指標(biāo)占比,a為應(yīng)用的指標(biāo)占比,s為sla的指標(biāo)占比,w為待處理文件的指標(biāo)占比。

      具體地,確定每個(gè)操作請(qǐng)求對(duì)應(yīng)的用戶、應(yīng)用、sla。

      舉例來(lái)說(shuō),確定操作請(qǐng)求a對(duì)應(yīng)用戶a、應(yīng)用a和sla1;確定操作請(qǐng)求b對(duì)應(yīng)用戶b、應(yīng)用b和sla2;確定操作請(qǐng)求c對(duì)應(yīng)用戶c、應(yīng)用c和sla3。

      各個(gè)操作請(qǐng)求對(duì)應(yīng)的用戶、應(yīng)用、sla和待處理文件這幾個(gè)指標(biāo)的指標(biāo)占比均為:40%、25%、20%、15%。

      針對(duì)操作請(qǐng)求a,用戶a的等級(jí)級(jí)別值為90,應(yīng)用a的重要程度值為50,sla1的危險(xiǎn)性得分為70,待處理文件a的熱度值為30。根據(jù)公式一計(jì)算出操作請(qǐng)求a的優(yōu)先級(jí)值為:90×40%+50×25%+70×20%+30×15%=67。

      同樣,可以計(jì)算出操作請(qǐng)求b的優(yōu)先級(jí)值為:80×40%+70×25%+60×20%+60×15%=70.5。

      可以計(jì)算出操作請(qǐng)求c的優(yōu)先級(jí)值為:60×40%+60×25%+80×20%+50×15%=62.5。

      步驟205:根據(jù)每個(gè)操作請(qǐng)求的優(yōu)先級(jí)值,確定至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí)。

      舉例來(lái)說(shuō),根據(jù)操作請(qǐng)求a、操作請(qǐng)求b、操作請(qǐng)求c的優(yōu)先級(jí)值,可以確定操作請(qǐng)求b的優(yōu)先級(jí)高于操作請(qǐng)求a,操作請(qǐng)求a的優(yōu)先級(jí)高于操作請(qǐng)求c。

      步驟206:根據(jù)該至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí),確定該至少一個(gè)操作請(qǐng)求的處理順序。

      舉例來(lái)說(shuō),根據(jù)操作請(qǐng)求a、操作請(qǐng)求b、操作請(qǐng)求c的優(yōu)先級(jí),確定出操作請(qǐng)求a、操作請(qǐng)求b、操作請(qǐng)求c的處理順序是操作請(qǐng)求b、操作請(qǐng)求a、操作請(qǐng)求c。

      步驟207:按照處理順序,處理該至少一個(gè)操作請(qǐng)求,并針對(duì)每個(gè)操作請(qǐng)求,執(zhí)行以下處理:

      根據(jù)當(dāng)前操作請(qǐng)求,對(duì)當(dāng)前操作請(qǐng)求對(duì)應(yīng)的待處理文件的主本進(jìn)行處理;

      對(duì)主本處理完成后,向當(dāng)前操作請(qǐng)求對(duì)應(yīng)的用戶返回響應(yīng);

      根據(jù)當(dāng)前操作請(qǐng)求和主本,對(duì)主本對(duì)應(yīng)的副本進(jìn)行相應(yīng)的處理。

      在本發(fā)明實(shí)施例中,存儲(chǔ)文件時(shí)會(huì)把文件按照設(shè)置的讀寫數(shù)據(jù)塊大小進(jìn)行切分,形成數(shù)據(jù)單元,利用一定的算法計(jì)算這些數(shù)據(jù)單元可以存儲(chǔ)的位置點(diǎn),然后進(jìn)行讀寫即可完成數(shù)據(jù)的持久化存儲(chǔ)。而在多個(gè)副本存儲(chǔ)時(shí),一般是對(duì)主本進(jìn)行操作,副本從主本上進(jìn)行復(fù)制,這樣保證傳輸?shù)牧髁孔钚。?jié)約帶寬和傳輸壓力,存儲(chǔ)網(wǎng)內(nèi)部仍然有傳輸流量,現(xiàn)在的云中心組網(wǎng)結(jié)構(gòu),業(yè)務(wù)流和內(nèi)部的存儲(chǔ)流式不同網(wǎng)絡(luò)。

      在本發(fā)明實(shí)施例中,基于用戶、應(yīng)用和sla協(xié)議等指標(biāo)的信息,確定每次讀寫數(shù)據(jù)的優(yōu)先級(jí),在有沖突或積壓排隊(duì)時(shí)通過(guò)優(yōu)先級(jí)調(diào)整順序,實(shí)現(xiàn)有差別的運(yùn)行性能。

      在本發(fā)明實(shí)施例中,每個(gè)操作請(qǐng)求對(duì)應(yīng)的優(yōu)先級(jí)值與后續(xù)調(diào)用一起傳遞給最終執(zhí)行程序。因?yàn)榉植际酱鎯?chǔ)的優(yōu)點(diǎn)是分散執(zhí)行,所以可能造成排隊(duì)的點(diǎn)主要有兩個(gè)環(huán)節(jié):數(shù)據(jù)在網(wǎng)絡(luò)里傳輸?shù)耐ǖ缼挷粔蚧蛘咴诰唧w寫入存儲(chǔ)介質(zhì)時(shí)進(jìn)程過(guò)多造成排隊(duì)。第一個(gè)情況是系統(tǒng)獲取傳輸網(wǎng)絡(luò)的延遲和丟包實(shí)時(shí)數(shù)據(jù),在達(dá)到設(shè)置的門限值時(shí)自動(dòng)調(diào)整傳輸通道;第二個(gè)場(chǎng)景,排隊(duì)隊(duì)列的待處理任務(wù)進(jìn)行優(yōu)先級(jí)從大到小排序,如果優(yōu)先級(jí)一樣則任務(wù)提交時(shí)間久的優(yōu)先。

      在本發(fā)明實(shí)施例中,在故障恢復(fù)時(shí),可以實(shí)現(xiàn)有差別的對(duì)待,即高優(yōu)先級(jí)的先恢復(fù),改變了分布式存儲(chǔ)對(duì)數(shù)據(jù)一視同仁的技術(shù)做法。舉例來(lái)說(shuō),一般3t的磁盤在萬(wàn)兆網(wǎng)絡(luò)環(huán)境里恢復(fù)整盤的數(shù)據(jù)大概需要3-4個(gè)小時(shí),在此期間用戶的操作請(qǐng)求會(huì)受到很大影響。在無(wú)法改變整盤恢復(fù)時(shí)長(zhǎng)的前提下,通過(guò)本發(fā)明實(shí)施例,可以盡量減少有關(guān)用戶的等待時(shí)間,給予重要用戶或應(yīng)用無(wú)影響的使用感受。

      在本發(fā)明實(shí)施例中,在確保數(shù)據(jù)一致性的基礎(chǔ)上,從根本上改變了用戶的可用性體驗(yàn),并且不受副本數(shù)據(jù)的影響,即副本數(shù)據(jù)增加不會(huì)改變用戶可用性體驗(yàn)。

      在本發(fā)明實(shí)施例中,分布式存儲(chǔ)能達(dá)到最終一致性,充分考慮到用戶體驗(yàn),這個(gè)最終一致的時(shí)間窗口,盡可能的對(duì)用戶透明,保障用戶感知到一致性。本發(fā)明實(shí)施例通過(guò)數(shù)據(jù)的多份異步復(fù)制來(lái)實(shí)現(xiàn)系統(tǒng)的高可用和數(shù)據(jù)的最終一致性。用戶感知到的一致性的時(shí)間窗口則取決于數(shù)據(jù)復(fù)制到一致?tīng)顟B(tài)的時(shí)間?;谶@些分布式存儲(chǔ)系統(tǒng)的特點(diǎn),本發(fā)明具體實(shí)現(xiàn)方法除策略上調(diào)控外,通過(guò)更強(qiáng)的性能來(lái)確保技術(shù)理論上和用戶使用體驗(yàn)上的可行性。

      在本發(fā)明實(shí)施例中,增加原子單元(存儲(chǔ)對(duì)象)的讀寫操作記錄,包括標(biāo)志、時(shí)間、耗時(shí)長(zhǎng)等信息,結(jié)合原子單元所屬的文件(或歸屬的其他粒度),統(tǒng)計(jì)出冷熱文件、原子單元操作頻次、發(fā)生容量等性能指標(biāo)。這些指標(biāo)進(jìn)一步可以應(yīng)用到確定用戶的等級(jí)級(jí)別值、應(yīng)用的重要程度值、sla的危險(xiǎn)性得分、待處理文件的熱度值等,作為客觀指標(biāo)體現(xiàn)在優(yōu)先級(jí)排序中。

      在本發(fā)明實(shí)施例中,首先一個(gè)文件按照系統(tǒng)缺省設(shè)置的讀寫塊大小拆分為等大小的數(shù)據(jù)塊(最后一個(gè)剩余的可不是等大小),然后通過(guò)算法計(jì)算獲得每個(gè)數(shù)據(jù)塊可以寫入的磁盤位置;在磁盤上執(zhí)行寫入或讀取。從用戶發(fā)起讀寫請(qǐng)求到完成這個(gè)請(qǐng)求,主要過(guò)程是數(shù)據(jù)傳輸(傳輸線路及網(wǎng)絡(luò)設(shè)備)、分拆為對(duì)象及對(duì)象寫入磁盤介質(zhì)幾個(gè)環(huán)節(jié)。

      本發(fā)明實(shí)施例可以在以下應(yīng)用場(chǎng)景中發(fā)揮作用:

      a)用戶正常應(yīng)用使用發(fā)起的讀寫請(qǐng)求;

      b)有磁盤損壞替換新盤后數(shù)據(jù)同步;

      無(wú)論哪種應(yīng)用場(chǎng)景,都可以通過(guò)本發(fā)明實(shí)施例調(diào)控,讓不同的用戶感受到不同的性能,提升用戶的滿意度和使用體驗(yàn)。

      本發(fā)明實(shí)施例可以實(shí)現(xiàn)故障恢復(fù),舉例來(lái)說(shuō),一塊3t的sata磁盤替換后的數(shù)據(jù)同步大概需要3-4個(gè)小時(shí)。在這個(gè)過(guò)程中,用戶使用存儲(chǔ)的數(shù)據(jù)會(huì)受到影響。找出重要客戶、重要應(yīng)用和熱數(shù)據(jù)優(yōu)先恢復(fù)。在總時(shí)間不能變化的前提下,不同的用戶有不同的等待時(shí)間是合理的方法。其過(guò)程是正常訪問(wèn)的逆操作,即根據(jù)當(dāng)前磁盤上存儲(chǔ)的數(shù)據(jù)信息,從map關(guān)系里獲取數(shù)據(jù)歸屬,根據(jù)上層的歸屬確定哪些數(shù)據(jù)具有高優(yōu)先級(jí),哪些數(shù)據(jù)是低優(yōu)先級(jí)。根據(jù)優(yōu)先級(jí)順序,依次恢復(fù)數(shù)據(jù)。

      在本發(fā)明實(shí)施例中,為了盡量縮短用戶等待的時(shí)間,采取多種提升性能的手段,比如增加ssd磁盤作為cache提升讀寫效率;通過(guò)采用軟件rdma(remotedirectmemoryaccess,遠(yuǎn)程直接數(shù)據(jù)存取)和網(wǎng)絡(luò)設(shè)備的無(wú)損傳輸減輕存儲(chǔ)服務(wù)器的cpu負(fù)荷,加快數(shù)據(jù)在不同節(jié)點(diǎn)間的傳輸。

      通過(guò)本發(fā)明實(shí)施例,能夠?qū)崿F(xiàn)分布式存儲(chǔ)的qos(qualityofservice,服務(wù)質(zhì)量),并且,能夠保證分布式存儲(chǔ)的cap,其中,cap指的是分區(qū)容錯(cuò)(partitiontolerance)、數(shù)據(jù)一致性(consistency)和可用性(availability)。

      本發(fā)明實(shí)施例以實(shí)際使用場(chǎng)景為依托,結(jié)合用戶信息及sla,使用優(yōu)先級(jí)策略,為待處理數(shù)據(jù)排隊(duì)。在正常讀寫處理、故障恢復(fù)處理時(shí)根據(jù)優(yōu)先級(jí)為用戶提供相符的使用感受。

      在本發(fā)明實(shí)施例中,通過(guò)錯(cuò)時(shí)實(shí)現(xiàn)的異步一致性策略,實(shí)現(xiàn)一致性和可用性的平衡,讓用戶有較好的使用感受。在分布式存儲(chǔ)常用技術(shù)方案的基礎(chǔ)上,考慮具體使用場(chǎng)景和用戶感受,基于策略提升整體性能,并基于策略為不同用戶提供針對(duì)性的服務(wù),能夠讓分布式存儲(chǔ)得到更好的認(rèn)可和應(yīng)用。

      如圖3、圖4所示,本發(fā)明實(shí)施例提供了一種分布式存儲(chǔ)的實(shí)現(xiàn)裝置。裝置實(shí)施例可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。從硬件層面而言,如圖3所示,為本發(fā)明實(shí)施例提供的一種分布式存儲(chǔ)的實(shí)現(xiàn)裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的設(shè)備通常還可以包括其他硬件,如負(fù)責(zé)處理報(bào)文的轉(zhuǎn)發(fā)芯片等等。以軟件實(shí)現(xiàn)為例,如圖4所示,作為一個(gè)邏輯意義上的裝置,是通過(guò)其所在設(shè)備的cpu將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。本實(shí)施例提供的一種分布式存儲(chǔ)的實(shí)現(xiàn)裝置,包括:

      接收單元401,用于接收至少一個(gè)操作請(qǐng)求;

      處理單元402,用于針對(duì)每個(gè)所述操作請(qǐng)求,執(zhí)行以下處理:

      根據(jù)當(dāng)前操作請(qǐng)求,對(duì)所述當(dāng)前操作請(qǐng)求對(duì)應(yīng)的待處理文件的主本進(jìn)行處理;

      對(duì)所述主本處理完成后,向所述當(dāng)前操作請(qǐng)求對(duì)應(yīng)的用戶返回響應(yīng);

      根據(jù)所述當(dāng)前操作請(qǐng)求和所述主本,對(duì)所述主本對(duì)應(yīng)的副本進(jìn)行相應(yīng)的處理。

      在本發(fā)明一實(shí)施例中,所述處理單元,進(jìn)一步用于執(zhí)行:

      確定所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí);

      根據(jù)所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí),確定所述至少一個(gè)操作請(qǐng)求的處理順序;

      按照所述處理順序,處理所述至少一個(gè)操作請(qǐng)求。

      在本發(fā)明一實(shí)施例中,所述處理單元,在執(zhí)行所述確定所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí)時(shí),具體用于執(zhí)行:根據(jù)每個(gè)所述操作請(qǐng)求對(duì)應(yīng)的用戶、應(yīng)用、sla和待處理文件,確定所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí)。

      在本發(fā)明一實(shí)施例中,進(jìn)一步包括:

      保存單元,用于保存每個(gè)用戶的等級(jí)級(jí)別值,每個(gè)應(yīng)用的重要程度值,每個(gè)sla的危險(xiǎn)性得分;以及用戶、應(yīng)用、sla和待處理文件的指標(biāo)占比;

      所述處理單元,用于執(zhí)行:

      確定每個(gè)所述操作請(qǐng)求對(duì)應(yīng)的待處理文件的熱度值;

      分別根據(jù)每個(gè)所述操作請(qǐng)求對(duì)應(yīng)的用戶、應(yīng)用、sla、待處理文件的熱度值和公式一,計(jì)算出每個(gè)所述操作請(qǐng)求的優(yōu)先級(jí)值,所述公式一為:

      y=h×h+a×a+s×s+w×w;

      其中,y為所述優(yōu)先級(jí)值,h為用戶的等級(jí)級(jí)別值,a為應(yīng)用的重要程度值,s為sla的危險(xiǎn)性得分,w為待處理文件的熱度值,h為用戶的指標(biāo)占比,a為應(yīng)用的指標(biāo)占比,s為sla的指標(biāo)占比,w為待處理文件的指標(biāo)占比;

      根據(jù)每個(gè)所述操作請(qǐng)求的優(yōu)先級(jí)值,確定所述至少一個(gè)操作請(qǐng)求的優(yōu)先級(jí)。

      在本發(fā)明一實(shí)施例中,所述處理單元,在執(zhí)行所述根據(jù)所述當(dāng)前操作請(qǐng)求和所述主本,對(duì)所述主本對(duì)應(yīng)的副本進(jìn)行相應(yīng)的處理時(shí),具體用于執(zhí)行:

      a1:針對(duì)所述當(dāng)前操作請(qǐng)求,設(shè)置處理標(biāo)志;

      a2:判斷所述當(dāng)前操作請(qǐng)求的處理標(biāo)志是否是未完成,如果是,則執(zhí)行a3,否則,結(jié)束當(dāng)前流程;

      a3:判斷處理所述當(dāng)前操作請(qǐng)求的進(jìn)程是否已退出,如果是,則發(fā)起同步進(jìn)程,利用所述同步進(jìn)程對(duì)所述主本對(duì)應(yīng)的副本進(jìn)行相應(yīng)的處理,并在處理完成后,將所述處理標(biāo)志修改為已完成,否則,利用所述當(dāng)前操作請(qǐng)求的進(jìn)程對(duì)所述主本對(duì)應(yīng)的副本進(jìn)行相應(yīng)的處理,并在處理完成后,將所述處理標(biāo)志修改為已完成。

      上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過(guò)程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見(jiàn)本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。

      本發(fā)明實(shí)施例提供了一種可讀介質(zhì),包括執(zhí)行指令,當(dāng)存儲(chǔ)控制器的處理器執(zhí)行所述執(zhí)行指令時(shí),所述存儲(chǔ)控制器執(zhí)行本發(fā)明實(shí)施例提供的任意一種分布式存儲(chǔ)的實(shí)現(xiàn)方法。

      本發(fā)明實(shí)施例提供了一種存儲(chǔ)控制器,包括:處理器、存儲(chǔ)器和總線;

      所述存儲(chǔ)器用于存儲(chǔ)執(zhí)行指令,所述處理器與所述存儲(chǔ)器通過(guò)所述總線連接,當(dāng)所述存儲(chǔ)控制器運(yùn)行時(shí),所述處理器執(zhí)行所述存儲(chǔ)器存儲(chǔ)的執(zhí)行指令,以使所述存儲(chǔ)控制器執(zhí)行本發(fā)明實(shí)施例提供的任意一種分布式存儲(chǔ)的實(shí)現(xiàn)方法。

      本發(fā)明各個(gè)實(shí)施例至少具有如下有益效果:

      1、在本發(fā)明實(shí)施例中,接收到用戶發(fā)出的操作請(qǐng)求后,當(dāng)待處理文件的主本處理完成即可向用戶返回響應(yīng),無(wú)需等到該主本的所有副本都處理完成后才返回響應(yīng),縮短了用戶的等待時(shí)間。

      2、在本發(fā)明實(shí)施例中,將接收到的至少一個(gè)操作請(qǐng)求劃分出優(yōu)先級(jí),按照優(yōu)先級(jí)的順序進(jìn)行處理,在操作請(qǐng)求較多的情況下,能夠及時(shí)優(yōu)先處理優(yōu)先級(jí)較高的操作請(qǐng)求,能夠提高用戶體驗(yàn)。

      3、在本發(fā)明實(shí)施例中,在確保數(shù)據(jù)一致性的基礎(chǔ)上,從根本上改變了用戶的可用性體驗(yàn),并且不受副本數(shù)據(jù)的影響,即副本數(shù)據(jù)增加不會(huì)改變用戶可用性體驗(yàn),提高了用戶的用戶體驗(yàn)。

      需要說(shuō)明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)〃·····”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同因素。

      本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)在計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)中。

      最后需要說(shuō)明的是:以上所述僅為本發(fā)明的較佳實(shí)施例,僅用于說(shuō)明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。

      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1