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

通過(guò)網(wǎng)絡(luò)文件訪問(wèn)協(xié)議的高效編程存儲(chǔ)器訪問(wèn)的制作方法_3

文檔序號(hào):9602490閱讀:來(lái)源:國(guó)知局
端應(yīng)用已知并利用的文件訪問(wèn)命令。它還使客戶端和服務(wù)器能夠利用這些能力,即使在應(yīng)用本身不知曉什么可用,并且因而性能或安全性可被改進(jìn),而無(wú)需對(duì)應(yīng)用進(jìn)行改變。
[0043]在一些實(shí)施例中,文件傳輸協(xié)議是服務(wù)器消息塊(SMB)協(xié)議的版本2或更高版本。如上所述,SMB協(xié)議可被配置成利用多個(gè)信道。結(jié)果,在數(shù)據(jù)從客戶端傳輸?shù)椒?wù)器時(shí),讀和寫(xiě)可通過(guò)各信道被并行傳送。另外,利用多個(gè)信道和/或RDMA的SMB上的大讀取和寫(xiě)入在源和目的地兩者上具有零復(fù)制功能。因而,從客戶端到服務(wù)器(或反向)的數(shù)據(jù)可被直接傳輸?shù)?自應(yīng)用存儲(chǔ)器,這消除了在操作系統(tǒng)中的應(yīng)用存儲(chǔ)器與數(shù)據(jù)緩沖區(qū)之間復(fù)制數(shù)據(jù)的需求。結(jié)果,傳輸可需要很少或不需要本地處理器、高速緩存等完成的工作。
[0044]以下是其中可利用方法200的示例實(shí)施例。例如,可存在在兩個(gè)不同節(jié)點(diǎn)(例如,源節(jié)點(diǎn)和目的地節(jié)點(diǎn))上運(yùn)行的多個(gè)進(jìn)程。節(jié)點(diǎn)之一(源節(jié)點(diǎn))想要將一千兆字節(jié)數(shù)據(jù)傳輸給另一節(jié)點(diǎn)(目的地節(jié)點(diǎn))。源節(jié)點(diǎn)創(chuàng)建虛擬存儲(chǔ)器對(duì)象并用存儲(chǔ)器來(lái)寄存一千兆字節(jié)數(shù)據(jù)。源隨后將路徑名提供給目的地節(jié)點(diǎn)。目的地節(jié)點(diǎn)使用來(lái)自文件系統(tǒng)API的文件系統(tǒng)命令打開(kāi)虛擬存儲(chǔ)器對(duì)象并發(fā)出并行讀取以在本地拉取存儲(chǔ)器。一旦操作完成,虛擬存儲(chǔ)器對(duì)象就被關(guān)閉。
[0045]作為另一示例,多個(gè)進(jìn)程可在兩個(gè)不同節(jié)點(diǎn)(例如,源節(jié)點(diǎn)和目的地節(jié)點(diǎn))上運(yùn)行。節(jié)點(diǎn)之一(源節(jié)點(diǎn))想要將一千兆字節(jié)數(shù)據(jù)傳輸給另一節(jié)點(diǎn)(目的地節(jié)點(diǎn))。源節(jié)點(diǎn)請(qǐng)求目的地節(jié)點(diǎn)創(chuàng)建給定大小(例如,一千兆字節(jié))的虛擬存儲(chǔ)器對(duì)象。響應(yīng)于該請(qǐng)求,目的地節(jié)點(diǎn)生成虛擬存儲(chǔ)器對(duì)象,將一個(gè)或多個(gè)物理存儲(chǔ)器塊綁定到虛擬存儲(chǔ)器對(duì)象,并生成到虛擬存儲(chǔ)器對(duì)象的路徑。目的地節(jié)點(diǎn)隨后將路徑提供給源節(jié)點(diǎn)。源節(jié)點(diǎn)使用來(lái)自文件系統(tǒng)API的文件系統(tǒng)命令打開(kāi)虛擬存儲(chǔ)器對(duì)象并發(fā)出并行寫(xiě)入以啟用數(shù)據(jù)傳輸。一旦操作完成,虛擬存儲(chǔ)器對(duì)象就被關(guān)閉。
[0046]本公開(kāi)的一個(gè)或多個(gè)實(shí)施例還可由想要交換具有少量數(shù)據(jù)的大量消息的一個(gè)或多個(gè)消息收發(fā)協(xié)議利用。雖然消息通常大小很小,但本公開(kāi)的各實(shí)施例可被用來(lái)更高效地傳輸大量消息。
[0047]參考圖3,圖3解說(shuō)了用于啟用第一計(jì)算設(shè)備和第二計(jì)算設(shè)備之間的消息傳輸?shù)姆椒?00。在各實(shí)施例中,消息的傳輸可以在第一計(jì)算設(shè)備110 (圖1)和第二計(jì)算設(shè)備150(圖1)之間。方法300在客戶端和服務(wù)器之間建立通信會(huì)話310時(shí)開(kāi)始。在一些實(shí)施例中,通信會(huì)話基于TCP/IP通信協(xié)議或其他這樣的通信協(xié)議。
[0048]在服務(wù)器接收來(lái)自客戶端的消息傳輸請(qǐng)求時(shí),服務(wù)器創(chuàng)建虛擬存儲(chǔ)器對(duì)象320。在一些實(shí)施例中,虛擬存儲(chǔ)器對(duì)象被映射到服務(wù)器的一個(gè)或多個(gè)物理存儲(chǔ)器位置。另外,每一存儲(chǔ)器位置與用作消息時(shí)隙標(biāo)識(shí)符的一個(gè)或多個(gè)偏移相關(guān)聯(lián)。
[0049]一旦虛擬存儲(chǔ)器對(duì)象已被創(chuàng)建,流程進(jìn)至操作330,在此,生成到虛擬存儲(chǔ)器對(duì)象的路徑。隨后使用操作310的已建立的通信會(huì)話將該路徑傳遞給客戶端設(shè)備和/或駐留在客戶端設(shè)備上的一個(gè)或多個(gè)應(yīng)用340。
[0050]一旦路徑已被傳遞給一個(gè)或多個(gè)應(yīng)用,來(lái)自客戶端應(yīng)用的數(shù)據(jù)就被直接接收到與虛擬存儲(chǔ)器對(duì)象相關(guān)聯(lián)的物理存儲(chǔ)器位置的偏移中。在各實(shí)施例中,使用文件傳輸協(xié)議(諸如例如SMB2或SMB3協(xié)議)將數(shù)據(jù)直接接收到偏移中。流程隨后進(jìn)至操作360,在此服務(wù)器或在服務(wù)器上運(yùn)行的應(yīng)用將對(duì)應(yīng)命令張貼到接收到來(lái)自客戶端應(yīng)用的消息的物理存儲(chǔ)器偏移。
[0051]例如,使用上述方法300,一旦虛擬存儲(chǔ)器對(duì)象被創(chuàng)建且路徑被傳輸給客戶端,客戶端就將任何讀或?qū)憦堎N到虛擬存儲(chǔ)器中的任何偏移。一旦命令被接收到并被存儲(chǔ)在偏移中,服務(wù)器就將對(duì)應(yīng)讀或?qū)憦堎N到同一偏移。命令中的每一者被配對(duì)并處理。進(jìn)一步,在該示例中,客戶端可以使用文件系統(tǒng)API將寫(xiě)張貼到虛擬存儲(chǔ)器對(duì)象中的偏移1。作為響應(yīng),服務(wù)器將對(duì)應(yīng)讀張貼到虛擬存儲(chǔ)器對(duì)象中的偏移1。來(lái)自客戶端的寫(xiě)和來(lái)自服務(wù)器的讀被配對(duì)并處理,且來(lái)自客戶端的寫(xiě)的數(shù)據(jù)被經(jīng)由服務(wù)器的對(duì)應(yīng)讀直接寫(xiě)入與虛擬存儲(chǔ)器對(duì)象的該偏移相關(guān)聯(lián)的物理存儲(chǔ)器。還構(gòu)想了消息可按相對(duì)的方式來(lái)發(fā)送(即,客戶端張貼讀,且服務(wù)器發(fā)送對(duì)應(yīng)寫(xiě))。
[0052]—個(gè)或多個(gè)實(shí)施例允許使用上述方法的寫(xiě)和讀被并行處理。例如,客戶端設(shè)備可發(fā)出被寫(xiě)入虛擬存儲(chǔ)器對(duì)象的偏移1-100的100個(gè)寫(xiě)(假定處理的次序?qū)蛻舳硕詻](méi)關(guān)系)。另外,服務(wù)器可在虛擬存儲(chǔ)器對(duì)象的偏移1-1000中張貼了 1000個(gè)讀。在接收到來(lái)自客戶端的每一個(gè)寫(xiě)時(shí),服務(wù)器可立即處理所張貼的1000個(gè)讀中的100個(gè)讀并相應(yīng)地寫(xiě)入數(shù)據(jù)。因?yàn)樽x和寫(xiě)中的每一者具有對(duì)應(yīng)標(biāo)識(shí)符(即,對(duì)存儲(chǔ)器位置的偏移),所以客戶端和服務(wù)器知曉哪些命令已被處理。另外,服務(wù)器還可通過(guò)使對(duì)給定偏移的后續(xù)寫(xiě)失敗來(lái)確保針對(duì)該偏移的寫(xiě)只發(fā)生一次。因而,如果客戶端失去連接,則后續(xù)重新建立和重新打開(kāi)對(duì)象并重放寫(xiě),該寫(xiě)將只被服務(wù)器處理一次。
[0053]—個(gè)或多個(gè)實(shí)施例允許方法200和方法300可被組合。S卩,虛擬文件可被生成,其中存儲(chǔ)器的第一部分被用來(lái)接收并存儲(chǔ)消息于各存儲(chǔ)器偏移處,并且其中存儲(chǔ)器的第二部分被用來(lái)存儲(chǔ)數(shù)據(jù)塊。在這樣的實(shí)施例中,在接收到數(shù)據(jù)時(shí),特定位可被設(shè)置來(lái)指示數(shù)據(jù)是消息并且應(yīng)當(dāng)具有對(duì)存儲(chǔ)器中的特定偏移的訪問(wèn)權(quán)(如參考圖3討論的)。在該示例中,如果該位未被設(shè)置,則數(shù)據(jù)應(yīng)當(dāng)被寫(xiě)入特定存儲(chǔ)器位置(如參考圖2討論的)。
[0054]本公開(kāi)的各實(shí)施例還可被用來(lái)執(zhí)行從第一物理計(jì)算設(shè)備到第二物理計(jì)算設(shè)備的虛擬機(jī)實(shí)況迀移,而無(wú)需關(guān)閉虛擬機(jī)。在一些實(shí)施例中,虛擬機(jī)駐留在物理機(jī)的一個(gè)分區(qū)中。虛擬機(jī)可以運(yùn)行操作系統(tǒng)和一個(gè)或多個(gè)附加應(yīng)用。還構(gòu)想了一個(gè)物理機(jī)可具有多個(gè)虛擬機(jī)。
[0055]圖4解說(shuō)了用于執(zhí)行從源到目的地的虛擬機(jī)實(shí)況迀移的方法400。在一些實(shí)施例中,在源和目的地之間建立通信會(huì)話410。源和目的地之間的通信是使用TCP/IP通信協(xié)議或其他通信協(xié)議來(lái)建立的。在一些實(shí)施例中,源可以是第二計(jì)算設(shè)備150且目的地可以是以上參考圖1討論的第一計(jì)算設(shè)備150。在一些實(shí)施例中,虛擬機(jī)在它要被轉(zhuǎn)移時(shí)在源處執(zhí)行。因?yàn)樵谵D(zhuǎn)移期間數(shù)據(jù)可能持續(xù)地被寫(xiě)入虛擬機(jī),所以虛擬機(jī)未被關(guān)閉,因而服務(wù)的任何中斷都可能破壞數(shù)據(jù),或致使所轉(zhuǎn)移的虛擬機(jī)不可操作。
[0056]—旦源和目的地之間的通信被建立,源就確定要被轉(zhuǎn)移的虛擬機(jī)的一個(gè)或多個(gè)特征。這些細(xì)節(jié)可包括虛擬機(jī)的預(yù)期使用、與虛擬機(jī)相關(guān)聯(lián)的一個(gè)或多個(gè)網(wǎng)絡(luò)連接、虛擬機(jī)的大小(即,一旦從源到目的地的迀移完成,虛擬機(jī)將需要多少存儲(chǔ)器)等等。在確立了虛擬機(jī)的特征時(shí),源通過(guò)所建立的通信會(huì)話將存儲(chǔ)器要求傳遞給目的地。
[0057]作為響應(yīng),目的地創(chuàng)建虛擬文件對(duì)象430。在一些實(shí)施例中,虛擬文件對(duì)象的大小與所確立的存儲(chǔ)器要求相對(duì)應(yīng)。因而,如果虛擬機(jī)需要兩千兆字節(jié)數(shù)據(jù),則虛擬文件對(duì)象的大小被確立為兩千兆字節(jié)。與本文描述的其他實(shí)施例一樣,一旦創(chuàng)建了虛擬文件對(duì)象,目的地的一個(gè)或多個(gè)物理存儲(chǔ)器塊就被綁定到虛擬文件對(duì)象。在一些實(shí)施例中,在目的地上創(chuàng)建的虛擬文件對(duì)象與虛擬機(jī)在源上使用的存儲(chǔ)器的配置相匹配。另外,目的地上的虛擬文件對(duì)象將最終被目的地用作虛擬機(jī)的存儲(chǔ)器。這樣的配置允許對(duì)使用RDMA的零復(fù)制傳輸?shù)耐耆谩?br>[0058]在一些實(shí)施例中,目的地還可創(chuàng)建虛擬對(duì)象的一個(gè)或多個(gè)安全參數(shù)。目的地還可生成與虛擬文件對(duì)象相關(guān)聯(lián)的路徑。如上所述,該路徑被源用來(lái)訪問(wèn)虛擬文件對(duì)象并更具體地是訪問(wèn)虛擬文件對(duì)象指向的目的地的物理存儲(chǔ)器。
[0059]一旦創(chuàng)建了路徑,路徑名就被傳遞給源440。在一些實(shí)施例中,該路徑使用先前建立的通信會(huì)話被傳遞給源。
[0060]流程隨后進(jìn)至操作450,在此,源通過(guò)文件訪問(wèn)協(xié)議(諸如例如SMB協(xié)議的一個(gè)版本)使用文件系統(tǒng)命令發(fā)起虛擬機(jī)到虛擬文件的直接復(fù)制。更具體地,源使用來(lái)自源已知的文件系統(tǒng)API的文件系統(tǒng)命令復(fù)制來(lái)自一個(gè)或多個(gè)本地?cái)?shù)據(jù)塊的數(shù)據(jù),使用路徑名通過(guò)文件訪問(wèn)協(xié)議將寫(xiě)請(qǐng)求傳送給虛擬文件。如上所述,一個(gè)或多個(gè)實(shí)施例允許在目的地上創(chuàng)建的存儲(chǔ)器對(duì)象的布局與虛擬機(jī)在源上使用的布局相匹配。這允許源從虛擬機(jī)在源主機(jī)上的存儲(chǔ)器位置導(dǎo)出寫(xiě)操作的文件偏移。
[0061]在一些實(shí)施例中,從源到目的地的命令是異步寫(xiě)命令。另外,如上所述,文件傳輸協(xié)議支持多信道能力。因此,多個(gè)異步寫(xiě)可同時(shí)或基本上同時(shí)執(zhí)行。與本文公開(kāi)的其他數(shù)據(jù)傳輸一樣,操作450的源和目的地之間(以及目的地和源之間)的數(shù)據(jù)傳輸可以是使用RDMA的零復(fù)制數(shù)據(jù)傳輸。
[0062]在一些實(shí)施例中,虛擬機(jī)的基本部分(例如,虛擬機(jī)的執(zhí)行所必需的所需組件)在虛擬機(jī)的非基本部分從源迀移到目的地之前從源迀移到目的地。在其他實(shí)施例中,虛擬機(jī)是被順序地迀移的。一旦已將虛擬機(jī)的足夠部分轉(zhuǎn)移到目的地以使虛擬機(jī)能夠運(yùn)行,虛擬機(jī)就可開(kāi)始在目的地處執(zhí)行。此后,去往和來(lái)自虛擬機(jī)的任何讀或?qū)懣捎尚侣暶鞯奶摂M機(jī)來(lái)處理。
[0063]如上所述,虛擬機(jī)可以在文件傳輸進(jìn)展期間執(zhí)行且數(shù)據(jù)可被持續(xù)地寫(xiě)入虛擬機(jī)的存儲(chǔ)器。如此,方法400進(jìn)至操作460,在此在源處維護(hù)位圖。在一些實(shí)施例中,虛擬機(jī)可以更新位圖。在另一實(shí)施例中,位圖可由源來(lái)維護(hù)。在一些實(shí)施例中,位圖中的每一個(gè)
當(dāng)前第3頁(yè)1 2 3 4 5 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
江安县| 惠来县| 宜兴市| 康保县| 突泉县| 正蓝旗| 商南县| 张家港市| 巴林右旗| 张北县| 炉霍县| 新平| 平乡县| 含山县| 浦北县| 金阳县| 新蔡县| 郸城县| 保康县| 鞍山市| 肇源县| 吉木萨尔县| 沙坪坝区| 丹寨县| 浏阳市| 藁城市| 水富县| 滕州市| 柞水县| 武安市| 徐州市| 梅河口市| 汉阴县| 斗六市| 南京市| 大宁县| 镇安县| 鸡西市| 成都市| 晋江市| 武安市|