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

信息存儲處理方法_2

文檔序號:8445374閱讀:來源:國知局
),其中buf為用戶空間緩存區(qū)指針,指向?qū)憯?shù)據(jù)的 起始地址;cnt為寫數(shù)據(jù)塊的大??;off是偏移量,是用戶數(shù)據(jù)寫入設(shè)備文件的起始位置。
[0038] 發(fā)送線程創(chuàng)建一個發(fā)送緩存區(qū)數(shù)組,記作bUfsend[M],其中M為大于1的正整數(shù), 緩存區(qū)bufsend[i] (0 <i〈M)的大小等于存儲集群的條塊大小,記為STSize。
[0039]緩存區(qū)bufsend[i]緩存的字節(jié)數(shù)記為filled[i],空閑字節(jié)數(shù)為empty[i],有 filled[i]+empty[i] =STSize成立。
[0040] 發(fā)送線程首先從bufSend[M]中獲得空閑緩存區(qū)bufSend[i](沒有則等待),對于 bufsend[i],初始empty[i]為STSize,filled[i] = 0,然后按如下流程處理寫請求隊(duì)列中 的寫請求。
[0041] 緩存區(qū)bUfsend[i]填滿后,發(fā)送線程就會將其中的數(shù)據(jù)發(fā)送給存儲集群,由此實(shí) 現(xiàn)了對存儲集群條塊的整體寫入。由于對條塊的寫入始終是連續(xù)的,避免了隨機(jī)寫操作所 需的尋址。為了保證應(yīng)用程序重啟后bufsend[i]寫入的數(shù)據(jù)仍然與存儲集群的條塊邊界 對齊,對齊驅(qū)動程序需要監(jiān)控應(yīng)用程序?qū)υO(shè)備文件的打開與關(guān)閉操作,進(jìn)行現(xiàn)場保護(hù)與恢 復(fù)。
[0042] 當(dāng)應(yīng)用程序關(guān)閉設(shè)備文件、發(fā)送線程最后一次向存儲集群寫數(shù)據(jù)時,緩存區(qū) bUfsend[i]可能沒有填滿,因此bUfsend[i]中的數(shù)據(jù)寫入存儲集群的同時,需要記錄本次 寫操作的off和cnt值;當(dāng)設(shè)備文件再次打開時,需要根據(jù)記錄的off和cnt值,進(jìn)行現(xiàn)場 恢復(fù),然后進(jìn)入正常的寫請求處理流程。
[0043] 進(jìn)一步地,本發(fā)明的存儲集群在滿足性能需求的前提下,通過降低存儲集群的并 行性,即采用局部并行策略,并實(shí)現(xiàn)降耗,其實(shí)現(xiàn)主要包括:數(shù)據(jù)布局、數(shù)據(jù)調(diào)度、緩存管理 策略。
[0044] 本發(fā)明的存儲集群由N塊邏輯磁盤組成且N多3,構(gòu)成1行XN列矩陣。將集群劃 分為N個條塊,每個條塊包含N個存儲塊,其中1個校驗(yàn)塊,N-I個數(shù)據(jù)塊。每個存儲塊劃 分多個存儲子塊,可根據(jù)要求設(shè)置子塊的大小,典型值如4KB、8KB、16KB等,子塊內(nèi)數(shù)據(jù)的 邏輯地址是順序的。校驗(yàn)子塊由同條塊內(nèi)偏移位置相同的N-I個數(shù)據(jù)子塊異或運(yùn)算得出。
[0045] 用X(i,j)表示存儲集群中的一個存儲塊數(shù)據(jù),其中i表示其所在的條塊號,j表 示所在的磁盤號,x(i,j)位于磁盤j上,0 <i,j〈N。第i條塊內(nèi)的校驗(yàn)塊數(shù)據(jù)用Check(i) 表示,與存儲塊數(shù)據(jù)X(i,j)的關(guān)系為Check(i) =X(i,N-l-i)。數(shù)據(jù)塊數(shù)據(jù)用D(i,v)表 示,V表示其在所屬條塊內(nèi)的數(shù)據(jù)塊序號(忽略校驗(yàn)塊),〇 <i,KN-I,與存儲塊數(shù)據(jù)X(i, j)的關(guān)系,用式⑴表示:
[0046]D(i,V) =X(i,V),i+v〈N_l
[0047] X(i,v+1),i+v彡N-I(I)
[0048] 為了能夠提供合適的性能,需要對數(shù)據(jù)塊進(jìn)行分組,方案如下:將每個條塊上的 N-I個數(shù)據(jù)塊分成P組,每組包含Q個數(shù)據(jù)塊,其中P彡2,Q彡1,且滿足P?Q=N-I。在 各個組內(nèi),采用并行數(shù)據(jù)編址方法,編址單位為數(shù)據(jù)子塊,編址方法如下:設(shè)組大小為S&p, 第P組、第i條塊、第q數(shù)據(jù)塊內(nèi)、偏移地址為off的數(shù)據(jù)子塊的邏輯地址LBAp,i, 可表 示為
[0049] LBApjijqj0ff=Scrp ?(N?p+i)+off?Q+q(2)
[0050] 其中 0 彡p〈P,0 彡i〈N,0 彡q〈Q,0 彡off〈SGrp。
[0051] 根據(jù)式(2)得本發(fā)明的存儲集群的數(shù)據(jù)布局具有如下特征:(1)各組內(nèi)偏移地址 相同的數(shù)據(jù)子塊的邏輯地址相鄰;(2)邏輯相鄰的組優(yōu)先分布在相同或相近的磁盤上。
[0052] 為實(shí)現(xiàn)降耗,需要根據(jù)請求隊(duì)列的歷史信息、讀寫訪問在邏輯空間的分布區(qū)域,感 知當(dāng)前負(fù)載流的隨機(jī)性及其時間空間分布特征,從而進(jìn)行磁盤調(diào)度。
[0053] 用r= (tmive,tfinish,status,pos,Ien)記錄請求隊(duì)列rq中的1個讀寫請求,其 中tmive,tfinish,status,pos,Ien分別表示請求r的到來時間、完成時間、請求狀態(tài)、起始邏 輯地址和請求長度。請求狀態(tài)包括等待、執(zhí)行、完成等狀態(tài),請求長度以分區(qū)為單位,用r. X 表示請求r的參數(shù)X。
[0054] 由請求r的邏輯地址pos到磁盤號j的映射f(r.pos),可以按以下方法獲得:
[0055] (1)由pos利用下式得出該請求所在的組號p、組內(nèi)塊號q及條塊號i:
[0056] p=r.pos/SGrp ?N
[0057] q= (r.pos)MODQ
[0058]i=(r. pos)MOD(SGrp ?N)/SGrp
[0059] (2)根據(jù)組號p、組內(nèi)塊號q、條塊號i,得出pos指向的數(shù)據(jù)塊數(shù)據(jù)D(i,p?〇+(!);
[0060] (3)已知D(i,p,Q+q),根據(jù)式⑴得pos所在磁盤j=p,Q+q,當(dāng)i+p ; 否則j=P?Q+q+1。
[0061] 對請求隊(duì)列rq中各個讀寫請求,根據(jù)其邏輯地址所在的磁盤,劃分為N個集合:
[0062] Sj={r|r G rq八f(r. pos)=j},其中0彡j〈N,稱S」為磁盤j的請求集合,用 nunij表示集合Sj中元素的個數(shù)。
[0063] 設(shè)定磁盤調(diào)度的時間閾值tth,系統(tǒng)當(dāng)前時間為t,如果請求集合Sj中的請求滿足 下式,則可以調(diào)度對應(yīng)的磁盤j到待機(jī)狀態(tài):
【主權(quán)項(xiàng)】
1. 一種信息存儲處理方法,其特征在于,包括: 將非順序的讀寫請求地址映射到連續(xù)的實(shí)際地址空間,在緩存中緩存并構(gòu)造與存儲集 群條塊對齊的寫數(shù)據(jù),對物理地址順序化的寫請求進(jìn)行聚合或拆分,在內(nèi)存緩存區(qū)內(nèi)組織 成為與存儲集群的條塊對齊的寫請求,以使寫請求在存儲集群上覆蓋完整的條塊。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在緩存中緩存并構(gòu)造與存儲集群條 塊對齊的寫數(shù)據(jù),包括采用非易失性RAM鏡像內(nèi)存緩存區(qū)內(nèi)的寫請求,并且進(jìn)一步包括: 運(yùn)行一個對齊寫請求的驅(qū)動程序,該程序包括接收線程和發(fā)送線程和寫請求隊(duì)列,其 中; 接收線程用于監(jiān)控和接收應(yīng)用程序發(fā)送給存儲集群的寫請求,首先進(jìn)行地址轉(zhuǎn)換,轉(zhuǎn) 換為物理空間內(nèi)連續(xù)的寫請求,并將其加入到寫請求隊(duì)列中;所述發(fā)送線程用于當(dāng)寫請求 隊(duì)列不為空時從寫請求隊(duì)列中取出并處理寫請求; 首先,通過讀取存儲集群配置文件獲得存儲集群的參數(shù),該參數(shù)包括條塊單位、成員磁 盤數(shù),再由條塊單位乘以成員磁盤數(shù),獲得條塊大小,可條塊單位和成員磁盤數(shù); 將寫請求表示為(buf,cnt,off),其中buf為用戶空間緩存區(qū)指針,指向?qū)憯?shù)據(jù)的起始 地址;cnt為寫數(shù)據(jù)塊的大?。籵ff是偏移量,是用戶數(shù)據(jù)寫入設(shè)備文件的起始位置; 發(fā)送線程創(chuàng)建一個發(fā)送緩存區(qū)數(shù)組,記作bufsend[M],其中M為大于1的正整數(shù),緩 存區(qū)bufsend[i] (0 <i〈M)的大小等于存儲集群的條塊大小,記為STSize;獲取緩存區(qū) bufsend[i]緩存的字節(jié)數(shù)filled[i],以及空閑字節(jié)數(shù)empty[i]; 發(fā)送線程首先從bufsend[M]中獲得空閑緩存區(qū)bufsend[i],若沒有則等待,對于bufsend[i],初始empty[i]為STSize,filled[i] = 0,然后按如下流程處理寫請求隊(duì)列中 的與請求: 緩存區(qū)bufsend[i]填滿后,發(fā)送線程將其中的數(shù)據(jù)發(fā)送給存儲集群,對存儲集群條塊 的整體寫入,對齊驅(qū)動程序監(jiān)控應(yīng)用程序?qū)υO(shè)備文件的打開與關(guān)閉操作,進(jìn)行現(xiàn)場保護(hù)與 恢復(fù);當(dāng)應(yīng)用程序關(guān)閉設(shè)備文件、發(fā)送線程最后一次向存儲集群寫數(shù)據(jù)時,在bufsend[i] 中的數(shù)據(jù)寫入存儲集群的同時,記錄本次寫操作的off和cnt值;當(dāng)設(shè)備文件再次打開時, 根據(jù)記錄的off和cnt值,進(jìn)行現(xiàn)場恢復(fù),然后進(jìn)入正常的寫請求處理流程。
【專利摘要】本發(fā)明提供了一種信息存儲處理方法,該方法包括:將非順序的讀寫請求地址映射到連續(xù)的實(shí)際地址空間,在緩存中緩存并構(gòu)造與存儲集群條塊對齊的寫數(shù)據(jù),對物理地址順序化的寫請求進(jìn)行聚合或拆分,在內(nèi)存緩存區(qū)內(nèi)組織成為與存儲集群的條塊對齊的寫請求,以使寫請求在存儲集群上覆蓋完整的條塊。本發(fā)明提出了一種存儲方法,在寫入磁盤過程中避免了因生成校驗(yàn)數(shù)據(jù)而產(chǎn)生的額外讀寫開銷,通過數(shù)據(jù)的順序?qū)懭胗行p少了尋址操作,提高了存儲性能。
【IPC分類】G06F3-06
【公開號】CN104765575
【申請?zhí)枴緾N201510197292
【發(fā)明人】楊立波
【申請人】成都博元時代軟件有限公司
【公開日】2015年7月8日
【申請日】2015年4月23日
當(dāng)前第2頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
汤阴县| 泊头市| 明星| 旺苍县| 深水埗区| 绥江县| 堆龙德庆县| 芦山县| 健康| 清水河县| 宁蒗| 武清区| 白山市| 四会市| 石阡县| 安宁市| 松潘县| 华安县| 垦利县| 富顺县| 玉山县| 文山县| 苗栗市| 都江堰市| 龙岩市| 文山县| 万山特区| 晴隆县| 义马市| 抚州市| 临澧县| 岳池县| 海晏县| 亚东县| 边坝县| 高密市| 信丰县| 中江县| 普安县| 南澳县| 务川|