文件服務器(例如,服務器、存儲服務器、數(shù)據(jù)存儲和管理服務器等)可以向客戶端提供對存儲在一個或多個存儲設備上的文件的訪問。實現(xiàn)存儲策略的策略服務、跟蹤用戶對文件訪問的審計服務和/或其他服務可以代表客戶端跟蹤由文件服務器執(zhí)行的存儲操作。因為相當大量的存儲操作可以被跟蹤,因此可能產(chǎn)生增加的延遲、處理資源消耗、帶寬消耗、來自不必要跟蹤信息的噪聲(例如,審計服務可能尋找只是關于用戶是否打開文件的信息,因此在文件被打開時執(zhí)行的每個寫入操作可能是對于審計服務的噪聲)和/或其他問題。
附圖說明
圖1是根據(jù)本文闡述的一個或多個規(guī)定圖示示例集群網(wǎng)絡的部件框圖。
圖2是根據(jù)本文闡述的一個或多個規(guī)定圖示示例數(shù)據(jù)存儲系統(tǒng)的部件框圖。
圖3是圖示了用于合并存儲操作的示例性方法的流程圖。
圖4是圖示了用于基于過期時間合并存儲操作的示例性系統(tǒng)的部件框圖。
圖5是圖示了用于基于過期時間合并存儲操作的示例性系統(tǒng)的部件框圖。
圖6是圖示了用于基于后續(xù)存儲操作的閾值數(shù)目合并存儲操作的示例性系統(tǒng)的部件框圖。
圖7是圖示了用于基于接收事件合并存儲操作的示例性系統(tǒng)的部件框圖。
圖8是根據(jù)本文闡述的一個或多個規(guī)定的計算機可讀介質(zhì)的示例。
具體實施方式
現(xiàn)在參考附圖描述所要求保護主題的某些示例,其中貫穿全文相似的附圖標記通常用于指代相似的元件。在以下描述中,出于解釋的目的,闡述若干特定細節(jié)以便提供對所要求保護主題的全面理解。然而,應當理解所要求保護主題可以不通過這些特定細節(jié)而被實踐。該具體實施方式中的任何內(nèi)容都不被承認為現(xiàn)有技術。
一個或多個系統(tǒng)和/或技術被提供用于合并存儲操作。當從客戶端設備接收到第一存儲操作時(例如,客戶端嘗試通過文件服務器打開文本文檔),存儲操作的第一記錄可以被創(chuàng)建。過期事件可以針對該第一記錄被限定(例如,第一記錄可以被保留3分鐘;被保留,直到接收到閾值數(shù)目的后續(xù)存儲操作;被保留,直到服務請求對記錄信息的訪問等)。第一存儲操作的第一通知可以基于第一記錄創(chuàng)建。第一通知可以被發(fā)送給服務(例如,審計服務可以對接收訪問文本文檔的存儲操作的通知感興趣)。合并策略可以被強制實施,直到過期事件過期。合并策略可以阻止觸發(fā)為后續(xù)存儲操作創(chuàng)建新通知(例如,基于用戶對文本文檔進行的編輯,可能從客戶端設備接收過多的對該文本文檔的后續(xù)寫入操作;50mb文本文檔的讀取操作可以包括數(shù)目可觀的增加的64kb讀取操作;等,但是由于合并策略的存在,新通知的創(chuàng)建可以不被這種存儲操作觸發(fā))。響應于過期事件的過期,第一記錄可以被刪除并且合并策略可以被解強制實施(例如,來自客戶端設備對文本文檔的后續(xù)存儲操作可以觸發(fā)新記錄和新通知的創(chuàng)建)。合并存儲操作可以減少向服務發(fā)送通知的數(shù)目,這可以減少網(wǎng)絡帶寬利用、噪聲(例如,審計服務可能只對了解用戶訪問了文本文檔感興趣,而可能對關于對文本文檔的編輯的附加通知不感興趣)、延遲和/或處理資源利用。
為了提供合并存儲操作的上下文,圖1圖示了集群網(wǎng)絡環(huán)境或網(wǎng)絡存儲環(huán)境100的實施例。然而,應當理解,本文所述的技術等可以在集群網(wǎng)絡環(huán)境100、非集群網(wǎng)絡環(huán)境和/或各種其他計算環(huán)境(諸如臺式計算環(huán)境)內(nèi)實現(xiàn)。即,包括所附權利要求書的范圍的本公開不意味著被限制到本文所提供的示例。應當理解,在相同或相似部件、元件、特征、項、模塊等在稍后附圖中被圖示但先前針對之前附圖論述過的情況下,其相似(例如,冗余)論述可以在描述后續(xù)附圖時省略(例如,為了簡單便于理解)。
圖1是圖示了可以實現(xiàn)本文所述技術和/或系統(tǒng)的至少某些實施例的示例集群網(wǎng)絡環(huán)境100的框圖。示例環(huán)境100包括通過集群結(jié)構106耦合的數(shù)據(jù)存儲系統(tǒng)或存儲站102和104,諸如被體現(xiàn)為促進存儲系統(tǒng)102與104(以及本文的一個或多個模塊、部件等,諸如節(jié)點116和118)之間通信的專用無線帶寬或光線信道(FC)網(wǎng)絡的計算網(wǎng)絡。應當理解,雖然圖1圖示了兩個數(shù)據(jù)存儲系統(tǒng)102和104和兩個節(jié)點116和118,但是這種部件的任意適當數(shù)目可以被考慮。在一個示例中,節(jié)點116、118包括向客戶端設備(諸如主機設備108、110)提供對存儲在數(shù)據(jù)存儲設備128、130內(nèi)的數(shù)據(jù)的訪問的存儲控制器(例如,節(jié)點116可以包括主或本地存儲控制器并且節(jié)點118可以包括次或遠程存儲控制器)。類似地,除非本文以其他方式明確提供,同樣適用于本文引用和/或附圖中圖示的其他模塊、元件、特征、項等。即,本文所述的部件、模塊、元件、特征、項等的特定數(shù)目不意味著以限制的方式被解釋。
應當進一步理解,集群網(wǎng)絡不被限制到任意特定地理區(qū)域并且可以被本地和/或遠程集群。因此,在一個實施例中,集群網(wǎng)絡可以被分布在位于多個地理位置的多個存儲系統(tǒng)和/或節(jié)點上;而在另一實施例中,集群網(wǎng)絡可以包括駐留在相同地理位置中(例如,數(shù)據(jù)存儲設備的單個現(xiàn)場機架中)的數(shù)據(jù)存儲系統(tǒng)(例如,102、104)。
在圖示示例中,一個或多個主機設備108、110由存儲網(wǎng)絡連接112耦合到相應數(shù)據(jù)存儲系統(tǒng)102、104,該一個或多個主機設備108、110可以包括例如客戶端設備、個人計算機(PC)、用于存儲的計算設備(例如,存儲服務器)和其他計算機或外圍設備(例如,打印機)。網(wǎng)絡連接可以包括例如利用網(wǎng)絡附加存儲(NAS)協(xié)議(諸如通用因特網(wǎng)文件系統(tǒng)(CIFS)協(xié)議或網(wǎng)絡文件系統(tǒng)(NFS)協(xié)議)的局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)來交換數(shù)據(jù)分組。說明性地,主機設備108、110可以是運行應用的通用計算機,并且可以使用客戶端/服務器模型與數(shù)據(jù)存儲系統(tǒng)102、104交互以用于信息的交換。即,主機設備可以從數(shù)據(jù)存儲系統(tǒng)請求數(shù)據(jù)(例如,由網(wǎng)絡存儲控制管理的存儲設備上的數(shù)據(jù)被配置為處理由主機設備針對存儲設備發(fā)出的I/O命令),并且數(shù)據(jù)存儲系統(tǒng)可以經(jīng)由一個或多個網(wǎng)絡連接112、114將請求的結(jié)果返回主機設備。
集群數(shù)據(jù)存儲系統(tǒng)102、104上的節(jié)點116、118可以包括被互連為集群的網(wǎng)絡或主機節(jié)點,用于諸如向例如具有遠程位置的企業(yè)提供數(shù)據(jù)存儲和管理服務。數(shù)據(jù)存儲和管理網(wǎng)絡集群環(huán)境100中的這種節(jié)點可以是附接到網(wǎng)絡作為例如連接點、重新分布點或通信端點的設備。節(jié)點能夠通過網(wǎng)絡通信信道發(fā)送、接收和/或轉(zhuǎn)發(fā)信息,并且可以包括滿足任意或所有這些標準的任意設備。節(jié)點的一個示例可以是附接到網(wǎng)絡的數(shù)據(jù)存儲和管理服務器,其中該服務器可以包括具體地被配置為作為數(shù)據(jù)存儲和管理系統(tǒng)中的服務器操作的通用計算機或計算設備。
在一個示例中,節(jié)點(諸如節(jié)點116、118)的第一集群(例如,第一組存儲控制器被配置為向包括一個或多個存儲設備的第一邏輯群組的第一存儲聚集提供訪問)可以位于第一存儲站。節(jié)點(未示出)的第二集群可以位于第二存儲站(例如,第二組存儲控制器被配置為向包括一個或多個存儲設備的第二邏輯群組的第二存儲聚集提供訪問)。節(jié)點的第一集群和節(jié)點的第二集群可以根據(jù)災難恢復配置進行配置,其中在災難出現(xiàn)在包括災難節(jié)點集群的災難存儲站的情況下,幸存節(jié)點集群向災難節(jié)點集群的存儲設備提供切換訪問(例如,在災難出現(xiàn)在第二存儲站的情況下,節(jié)點的第一集群向客戶端設備提供對第二存儲聚集的存儲設備的切換數(shù)據(jù)訪問)。
如示例性環(huán)境100所示,節(jié)點116、118可以包括協(xié)調(diào)以向集群提供分布式存儲架構的各種功能部件。例如,節(jié)點可以包括網(wǎng)絡模塊120、122(例如,N模塊或N刀片)和數(shù)據(jù)模塊124、126(例如,D模塊或D刀片)。網(wǎng)絡模塊120、122可以被配置為允許節(jié)點116、118(例如,網(wǎng)絡存儲控制器)通過網(wǎng)絡連接112、114與主機設備108、110連接,例如從而允許主機設備108、110訪問存儲在分布式存儲系統(tǒng)中的數(shù)據(jù)。此外,網(wǎng)絡模塊120、122可以通過集群結(jié)構106提供與一個或多個其他部件的連接。例如,在圖1中,第一節(jié)點116的第一網(wǎng)絡模塊120可以通過發(fā)送請求通過第二節(jié)點118的第二數(shù)據(jù)模塊126來訪問第二數(shù)據(jù)存儲設備130。
數(shù)據(jù)模塊124、126可以被配置為將一個或多個數(shù)據(jù)存儲設備128、130(諸如,盤或盤陣列、閃存或某些其他形式的數(shù)據(jù)存儲)連接到節(jié)點116、118。節(jié)點116、118可以由集群結(jié)構106互連,例如從而允許集群中的相應節(jié)點訪問被連接到集群中不同節(jié)點的數(shù)據(jù)存儲設備128、130上的數(shù)據(jù)。經(jīng)常,數(shù)據(jù)模塊124、126根據(jù)例如存儲區(qū)域網(wǎng)絡(SAN)協(xié)議(諸如小型計算機系統(tǒng)接口(SCSI)或光纖信道協(xié)議(FCP))與數(shù)據(jù)存儲設備128、130通信。因此,如從節(jié)點116、118上的操作系統(tǒng)所視,數(shù)據(jù)存儲設備128、130可以表現(xiàn)為本地附接到該操作系統(tǒng)。通過此方式,不同節(jié)點116、118等可以通過操作系統(tǒng)訪問數(shù)據(jù)塊,而不是明確地請求抽象文件。
應當理解,雖然示例實施例100圖示了相同數(shù)目的N模塊和D模塊,但是其他實施例可以包括不同數(shù)目的這些模塊。例如,多個N模塊和/或D模塊可以在不具有N模塊與D模塊之間一對一對應的集群中互連。即,不同節(jié)點可以具有不同數(shù)目的N模塊和D模塊,并且相同節(jié)點可以具有不同數(shù)目的N模塊和D模塊。
此外,主機設備108、110可以通過聯(lián)網(wǎng)連接112、114與集群中的節(jié)點116、118聯(lián)網(wǎng)。作為一個示例,與集群聯(lián)網(wǎng)的相應主機設備108、110可以請求集群中節(jié)點116、118的服務(例如,以數(shù)據(jù)分組的形式交換信息),并且節(jié)點116、118可以將所請求服務的結(jié)果返回主機設備108、110。在一個實施例中,主機設備108、110可以與駐留在數(shù)據(jù)存儲系統(tǒng)102、104中節(jié)點(例如,網(wǎng)絡主機)116、118中的網(wǎng)絡模塊120、122交換信息。
在一個實施例中,數(shù)據(jù)存儲設備128、130包括卷132,該卷132例如是將信息存儲到盤驅(qū)動或盤陣列或其他存儲(例如,閃存)作為數(shù)據(jù)的文件系統(tǒng)的實現(xiàn)方式。例如,卷可以跨盤的一部分、盤的集合或盤的多個部分,并且通常限定存儲系統(tǒng)中盤空間上文件存儲的全面邏輯管理。在一個實施例中,卷可以包括所存儲的數(shù)據(jù)作為以層級目錄結(jié)構駐留在卷內(nèi)的一個或多個文件。
卷通常以可以與特定存儲系統(tǒng)相關聯(lián)的格式被配置,并且相應卷格式通常包括向卷提供功能的特征,諸如向卷提供形成集群的能力。例如,在第一存儲系統(tǒng)可以利用針對其卷的第一格式的情況下,第二存儲系統(tǒng)可以利用針對其卷的第二格式。
在示例環(huán)境100中,主機設備108、110可以利用數(shù)據(jù)存儲系統(tǒng)102、104來存儲和檢索來自卷132的數(shù)據(jù)。在此實施例中,例如,主機設備108可以向數(shù)據(jù)存儲系統(tǒng)102內(nèi)節(jié)點116中的N模塊120發(fā)送數(shù)據(jù)分組。節(jié)點116可以使用D模塊124向數(shù)據(jù)存儲設備128轉(zhuǎn)發(fā)該數(shù)據(jù),其中數(shù)據(jù)存儲設備128包括卷132A。通過此方式,在此示例中,主機設備可以訪問存儲卷132A以使用由聯(lián)網(wǎng)連接112連接的數(shù)據(jù)存儲系統(tǒng)102來存儲和/或檢索數(shù)據(jù)。此外,在此實施例中,主機設備110可以與數(shù)據(jù)存儲系統(tǒng)104(例如,其可以遠離數(shù)據(jù)存儲系統(tǒng)102)內(nèi)主機118中的N模塊122交換數(shù)據(jù)。主機118可以使用D模塊126向數(shù)據(jù)存儲設備130轉(zhuǎn)發(fā)數(shù)據(jù),由此訪問與數(shù)據(jù)存儲設備130相關聯(lián)的卷132B。
應當理解,合并存儲操作可以在集群網(wǎng)絡環(huán)境100內(nèi)實現(xiàn)。例如,合并部件可以針對節(jié)點116和/或節(jié)點118實現(xiàn)。合并部件可以被配置為合并由節(jié)點116和/或節(jié)點118從主機設備108和/或主機設備110接收的存儲操作。
圖2是數(shù)據(jù)存儲系統(tǒng)200(例如,圖1中的102、104)的說明性示例,從而提供了可以實現(xiàn)本文所述一個或多個技術和/或系統(tǒng)的部件的實施例的進一步細節(jié)。示例數(shù)據(jù)存儲系統(tǒng)200包括節(jié)點202(例如,圖1中的主機節(jié)點116、118)和數(shù)據(jù)存儲設備234(例如,圖1中的數(shù)據(jù)存儲設備128、130)。節(jié)點202例如可以是通用計算機或者具體被配置為操作為存儲服務器的某些其他計算設備。主機設備205(例如,圖1中的108、110)可以通過網(wǎng)絡216連接到節(jié)點202,例如用于提供對存儲在數(shù)據(jù)存儲設備234上的文件和/或其他數(shù)據(jù)的訪問。在一個示例中,節(jié)點202包括存儲控制器,該存儲控制器向客戶端設備(諸如,主機設備205)提供對數(shù)據(jù)存儲設備234內(nèi)存儲的數(shù)據(jù)的訪問。
數(shù)據(jù)存儲設備234可以包括海量存儲設備,諸如盤陣列218、220、222的盤224、226、228。應當理解,本文所述技術和系統(tǒng)不受示例實施例限制。例如,盤224、226、228可以包括任意類型的海量存儲設備,包括但不限于磁盤驅(qū)動、閃存和適于存儲信息(例如,包括數(shù)據(jù)(D)和/或奇偶校驗(P)信息)的任意其他相似的介質(zhì)。
節(jié)點202包括由系統(tǒng)總線242互連的一個或多個處理器204、存儲器206、網(wǎng)絡適配器210、集群訪問適配器212和存儲適配器214。存儲系統(tǒng)200還包括安裝在節(jié)點202的存儲器206中的操作系統(tǒng)208,該操作系統(tǒng)208例如可以實現(xiàn)獨立(廉價)磁盤冗余陣列(RAID)優(yōu)化技術以優(yōu)化對陣列中故障盤的數(shù)據(jù)的重構過程。
操作系統(tǒng)208還可以管理針對數(shù)據(jù)存儲系統(tǒng)的通信,以及可以位于集群網(wǎng)絡(諸如,附接到集群結(jié)構215(例如,圖1中的106))的其他數(shù)據(jù)存儲系統(tǒng)之間的通信。因此,節(jié)點202(諸如,網(wǎng)絡存儲控制器)可以響應主機設備請求以根據(jù)這些主機設備請求來管理數(shù)據(jù)存儲設備234(例如,或附加集群設備)上的數(shù)據(jù)。操作系統(tǒng)208可以經(jīng)常在數(shù)據(jù)存儲系統(tǒng)200上建立一個或多個文件系統(tǒng),其中文件系統(tǒng)可以包括例如實現(xiàn)文件和目錄的永久層級命名空間的軟件代碼和數(shù)據(jù)結(jié)構。作為一個示例,當新數(shù)據(jù)存儲設備(未示出)被添加到集群網(wǎng)絡系統(tǒng)時,操作系統(tǒng)208可以被通知與該新數(shù)據(jù)存儲設備相關聯(lián)的新文件將要被存儲在現(xiàn)有目錄樹的位置。這經(jīng)常被稱為“安裝”文件系統(tǒng)。
在示例數(shù)據(jù)存儲系統(tǒng)200中,存儲器206可以包括由處理器204和適配器210、212、214可尋址用于存儲相關軟件程序代碼和數(shù)據(jù)結(jié)構的存儲位置。處理器204和適配器210、212、214例如可以包括被配置為執(zhí)行軟件代碼和操縱數(shù)據(jù)結(jié)構的處理元件和/或邏輯電路。操作系統(tǒng)208通過例如調(diào)用存儲操作來功能上組織存儲系統(tǒng)以支持由存儲系統(tǒng)實現(xiàn)的文件服務,其中操作系統(tǒng)208的多個部分通常駐留在存儲器206中并且由處理元件執(zhí)行。本領域技術人員應當理解,其他處理和存儲器機制(包括各種計算機可讀介質(zhì))可以用于存儲和/或執(zhí)行關于本文所述技術的程序指令。例如,操作系統(tǒng)還可以利用一個或多個控制文件(未示出)來輔助提供虛擬機。
網(wǎng)絡適配器210包括需要通過計算機網(wǎng)絡216將數(shù)據(jù)存儲系統(tǒng)200連接到主機設備205的機械、電和信號傳輸電路,該計算機網(wǎng)絡216可以包括例如點到點連接或共享介質(zhì)(諸如局域網(wǎng))。主機設備205(例如,圖1的108、110)可以是被配置為執(zhí)行應用的通用計算機。如上文所述,主機設備205可以根據(jù)信息遞送的客戶端/主機模型與數(shù)據(jù)存儲系統(tǒng)200交互。
存儲適配器214與在節(jié)點202上執(zhí)行的操作系統(tǒng)208協(xié)作以訪問由主機設備205請求的信息(例如,訪問由網(wǎng)絡存儲控制器管理的存儲設備上的數(shù)據(jù))。信息可以被存儲在任意類型的附接可寫介質(zhì)陣列,諸如磁盤驅(qū)動、閃存和/或適于存儲信息的任意其他相似介質(zhì)。在示例數(shù)據(jù)存儲系統(tǒng)200中,信息可以被存儲在盤224、226、228上的數(shù)據(jù)塊中。存儲適配器214可以包括輸入/輸出(I/O)接口電路,其通過I/O互連布置(諸如存儲區(qū)域網(wǎng)絡(SAN)協(xié)議(例如,小行計算機系統(tǒng)接口(SCSI)、iSCSI、超SCSI、光纖信道協(xié)議(FCP)))耦合至盤。信息由存儲適配器214檢索,并且如果需要,在通過系統(tǒng)總線242被轉(zhuǎn)發(fā)到網(wǎng)絡適配器210(和/或集群訪問適配器212如果向集群中的另一節(jié)點發(fā)送)之前,由一個或多個處理器204(或存儲適配器214本身)處理,其中該信息被格式化為數(shù)據(jù)分組并且通過網(wǎng)絡連接216返回給主機設備205(和/或返回給通過集群結(jié)構215附接到集群的另一節(jié)點)。
在一個實施例中,陣列218、220、222上信息的存儲可以被實現(xiàn)為一個或多個存儲“卷”230、232,該存儲“卷”230、232包括限定盤空間的全面邏輯布置的盤224、226、228的集群。包括一個或多個卷的盤224、226、228通常被組織為一個或多個RAID群組。作為一個示例,卷230包括盤陣列218和220的聚集,其包括盤224和226的集群。
在一個實施例中,為了促進對盤224、226、228的訪問,操作系統(tǒng)208可以實現(xiàn)文件系統(tǒng)(例如,隨意寫文件系統(tǒng)),該文件系統(tǒng)將信息邏輯上組織為盤上目錄和文件的層級結(jié)構。在此實施例中,相應文件可以被實現(xiàn)為被配置為存儲信息的一組盤塊,然而目錄可以被實現(xiàn)為其中存儲關于其他文件和目錄的信息的專門格式化文件。
無論此數(shù)據(jù)存儲系統(tǒng)200內(nèi)的基礎物理配置如何,數(shù)據(jù)都可以被存儲為物理和/或虛擬卷內(nèi)的文件,其可以與相應卷標識符(諸如文件系統(tǒng)標識符(FSID),其在一個示例中長度可以為32位)相關聯(lián)。
物理卷對應于物理存儲設備中其地址、可尋址空間、位置等不改變的至少一部分,諸如一個或多個數(shù)據(jù)存儲設備234中的至少某些數(shù)據(jù)存儲設備(例如,獨立(廉價)磁盤冗余陣列(RAID)系統(tǒng))。通常,物理卷的位置不改變,因為用于對其訪問的地址(的范圍)通常保持恒定。
與之相反,虛擬卷被存儲在不同物理存儲設備的各部分的聚集上。虛擬卷可以是不同物理存儲設備位置的不同可用部分的集合,諸如來自盤224、226和/或228的每個盤的某些可用空間。應當理解,由于虛擬卷不被“綁”到任意一個特定存儲設備,因此虛擬卷可以說包括抽象或虛擬層,其在某些方面允許虛擬卷被調(diào)整大小和/或靈活。
此外,虛擬卷可以包括一個或多個邏輯單元號(LUN)238、目錄236、qtree 235和文件240。此外,這些特征尤其是LUN允許其中例如數(shù)據(jù)被存儲以被標識并且分組為數(shù)據(jù)存儲單元的各存儲器位置。如此,LUN 238可以被表征為構成虛擬盤或驅(qū)動,此時虛擬卷內(nèi)的數(shù)據(jù)被存儲在聚集內(nèi)。例如,LUN經(jīng)常被稱為虛擬驅(qū)動,使得其從通用計算機仿真硬驅(qū)動,而其實際上包括卷的各部分中存儲的數(shù)據(jù)塊。
在一個實施例中,一個或多個數(shù)據(jù)存儲設備234可以具有一個或多個物理端口,其中每個物理端口可以被指派目標地址(例如,SCSI目標地址)。為了表示數(shù)據(jù)存儲設備上存儲的相應卷,數(shù)據(jù)存儲設備上的目標地址可以被用于標識一個或多個LUN 238。因此,例如,當節(jié)點202通過存儲適配器214連接到卷230、232時,創(chuàng)建節(jié)點202與卷下面的一個或多個LUN 238之間的連接。
在一個實施例中,相應目標地址可以標識多個LUN,使得目標地址可以表示多個卷。I/O接口可以通過使用標識LUN 238的一個或多個地址連接到卷230,該I/O接口可以被實現(xiàn)為存儲適配器214中的電路和/或軟件或者實現(xiàn)為駐留在存儲器206中并且由處理器204執(zhí)行的可執(zhí)行代碼。
應當理解,合并存儲操作可以被實現(xiàn)用于數(shù)據(jù)存儲系統(tǒng)200。例如,合并部件可以被實現(xiàn)用于節(jié)點202。合并部件可以被配置為合并由節(jié)點202從主機205接收的存儲操作。
圖3的示例性方法300圖示了合并存儲操作的一個實施例。文件服務器可以向客戶端(諸如文件客戶端)提供對存儲在一個或多個存儲設備上的文件的訪問。在一個示例中,文件服務器可以遠離客戶端設備。服務可以對接收由文件服務器從這種客戶端接收的存儲操作的通知感興趣。因為過多存儲操作可能在客戶端使用文件句柄訪問文件時出現(xiàn)(例如,網(wǎng)絡文件系統(tǒng)(NFS)存儲操作可以利用可以跨客戶端重啟被存儲、高速緩存和/或留存的文件句柄,因此大量存儲操作(諸如,寫操作)可能在使用文件句柄訪問文件時出現(xiàn)),因此存儲操作可以如本文所提供的被合并,使得在合并策略被強制執(zhí)行時,只有單個通知被創(chuàng)建并且被發(fā)送給服務。
在302,第一存儲操作可以從客戶端設備接收。該第一存儲操作可以對應于存儲操作類型(例如,對文本文件的寫入操作)和客戶端設備的客戶端標識符(例如,客戶端設備的IP地址和/或客戶端設備的用戶的用戶標識符)。在一個示例中,第一存儲操作包括利用文件句柄訪問文件的NFS存儲操作,其中文件句柄可以跨客戶端設備的重啟被存儲、高速緩存和/或留存。在一個示例中,NFS存儲操作可以不支持文件打開操作和/或文件關閉操作以及/或者可以與不支持文件打開操作和/或文件關閉操作的協(xié)議相關聯(lián),因此文件訪問會話可能不支持NFS存儲操作(例如,其可以在其他方面用于合并與文件訪問會話相關聯(lián)的存儲操作)。
在304,可以創(chuàng)建存儲操作的第一記錄。例如,文件服務器可以在記錄存儲數(shù)據(jù)結(jié)構內(nèi)存儲第一記錄。該第一記錄可以包括各種信息,諸如IP地址、用戶標識符、文本文件的文件標識符、存儲操作類型、與存儲操作相關聯(lián)的時間等。在306,過期事件可以針對第一記錄被限定。在一個示例中,過期時間(例如,3分鐘)可以被指定為過期事件。在另一示例中,對應于存儲操作類型和客戶端標識符的后續(xù)存儲操作(例如,從客戶端設備的用戶到文本文件的寫操作)的閾值數(shù)目可以被指定為過期事件。在另一示例中,從服務接收的、針對對應于存儲操作類型和客戶端標識符的記錄信息的請求的接收事件可以被指定為過期事件(例如,服務可以從文件服務器請求關于向文本文件寫入的客戶端設備的用戶的記錄信息)。過期事件可以被用于觸發(fā)第一記錄的刪除和/或用于合并類似于第一存儲操作的后續(xù)存儲操作(例如,由客戶端設備的用戶向文本文件的后續(xù)寫入操作)的合并策略的解強制實施。
在308,針對第一存儲操作的第一通知的創(chuàng)建可以基于第一記錄被觸發(fā)。該第一通知可以包括各種信息,諸如IP地址、用戶標識符、文本文件的文件標識符、存儲操作類型、與存儲操作相關聯(lián)的時間等。在310,第一通知可以被發(fā)送給服務。在一個示例中,服務可以被托管在遠離文件服務器和/或遠離客戶端設備的遠程設備上。在一個示例中,文件服務器可以向策略服務發(fā)送第一通知,該策略服務可以強制實施針對客戶端(諸如,客戶端設備)訪問的數(shù)據(jù)的各種存儲策略。在另一示例中,文件服務器可以向?qū)徲嫹瞻l(fā)送第一通知,該審計服務可以跟蹤與訪問文件的客戶端相關的信息。在一個示例中,第一通知可以在至少一個后續(xù)存儲操作被接收之前被發(fā)送給服務,這可以在過期事件過期之前出現(xiàn)文件服務器故障的情況下提高向服務通知遞送的可靠性。在另一示例中,第一通知可以在過期事件過期之后被發(fā)送給服務,因此在過期事件過期之前接收的一個或多個后續(xù)存儲操作(例如,合并后的存儲操作)的描述可以被包括在第一通知內(nèi),使得更詳細的大量存儲操作信息可以僅使用單個通知(例如,第一通知可以映射到多個存儲操作)被提供給服務。
服務可能對客戶端設備是否向文本文件寫入感興趣,而可能對文本文件的每個寫入操作(例如,在用戶使用文件句柄訪問、修改和保存文本文件時可能出現(xiàn)對文本文件的過多寫入操作)不感興趣。因為后續(xù)寫入操作可能是服務的噪聲、增加延遲和/或可能消耗網(wǎng)絡帶寬和處理資源,因此一個或多個后續(xù)存儲操作可以如本文所提供的基于合并策略的強制實施而被合并。
在312,合并策略可以在過期事件過期之前被強制實施。合并策略可以阻止觸發(fā)與存儲操作類型和客戶端標識符相關聯(lián)的后續(xù)存儲操作(例如,由客戶端設備的用戶向文本文件的后續(xù)寫入操作)的后續(xù)通知的創(chuàng)建。在314,響應于接收對應于存儲操作類型和客戶端標識符的后續(xù)存儲操作,在強制實施合并策略期間,后續(xù)存儲操作可以基于合并策略與第一記錄合并,而不觸發(fā)后續(xù)通知的創(chuàng)建。在合并的示例中,第一記錄可以利用關于后續(xù)存儲操作的附加細節(jié)被更新,使得第一通知可以在過期事件過期之后通過后續(xù)存儲操作(例如,以及在302接收的第一存儲操作)的描述被發(fā)送給服務。在合并的另一示例中,第一記錄可以保持不變并且沒有附加記錄信息可以被維護用于后續(xù)存儲操作。
在316,過期事件過期(例如,3分鐘過期時間的過期)。響應于過期事件過期,第一記錄可以被刪除(例如,從記錄存儲數(shù)據(jù)結(jié)構中移除)。響應于過期事件過期,合并策略可以被解強制實施,使得后續(xù)存儲操作可以觸發(fā)創(chuàng)建可以被發(fā)送給服務的新通知。例如,在合并策略被解強制實施時,第二存儲操作可以從客戶端設備接收。該第二存儲操作對應于存儲操作類型和/或客戶端設備的客戶端標識符(例如,客戶端設備的用戶可以執(zhí)行對文本文件的第二寫操作)。第二存儲操作的第二記錄可以被創(chuàng)建。針對第二記錄的第二過期事件可以被限定(例如,3分鐘過期時間)。針對第二存儲操作的第二通知的創(chuàng)建可以基于第二記錄被觸發(fā)。第二通知可以被發(fā)送給服務。合并策略可以在第二過期事件過期之前被強制實施。例如,響應于接收對應于存儲操作類型和客戶端標識符的第二后續(xù)存儲操作,在合并策略的強制實施期間,第二后續(xù)存儲操作可以基于合并策略與第二記錄合并,而不觸發(fā)第二后續(xù)存儲操作的創(chuàng)建。響應于第二過期事件過期,第二記錄可以被刪除和/或合并策略可以被解強制實施。
圖4圖示了包括用于合并存儲操作的合并部件450的系統(tǒng)400的示例。合并部件450可以與文件服務器404相關聯(lián),該文件服務器404被配置為向客戶端設備402提供對存儲在一個或多個存儲設備內(nèi)的數(shù)據(jù)的訪問。審計服務406可能對接收客戶端設備402和/或其他客戶端設備何時向文件寫入的通知感興趣。在一個示例中,第一存儲操作412可以由文件服務器404在第一時間414從客戶端設備402接收。該第一存儲操作412可以具有存儲操作類型(例如,對文件的寫操作)和客戶端設備402的客戶端標識符。合并部件450可以在記錄存儲數(shù)據(jù)結(jié)構410內(nèi)創(chuàng)建第一存儲操作412的第一記錄。合并部件450可以基于該第一記錄創(chuàng)建并且向?qū)徲嫹?06發(fā)送第一存儲操作412的第一通知416。過期事件可以針對第一記錄確定(例如,第一時間414與第二時間424之間的時間間隔)。
合并部件450可以在過期事件過期之前強制實施合并策略408。該合并策略408可以阻止創(chuàng)建后續(xù)存儲操作的新通知。例如,合并部件450可以在過期時間過期之前(例如,在第二時間424之前)將文件服務器404接收的第二存儲操作418、第三存儲操作420和第四存儲操作422合并。
響應于過期事件過期(例如,在第二時間424),第一記錄可以被刪除和/或合并策略408可以被解強制實施,使得后續(xù)存儲操作可以觸發(fā)新通知以發(fā)送給審計服務406。例如,當合并策略408被解強制實施時(例如,在第二時間424之后的第三時間428),第五存儲操作426可以由文件服務器404從客戶端設備402接收。該第五存儲操作426可以具有存儲操作類型(例如,寫操作類型)和客戶端設備402的客戶端標識符。合并部件450可以在記錄存儲數(shù)據(jù)結(jié)構410內(nèi)創(chuàng)建第五存儲操作426的第二記錄。合并部件450可以基于該第二記錄創(chuàng)建并且向?qū)徲嫹?06發(fā)送第五存儲操作426的第二通知430。第二過期事件可以針對第二記錄確定(例如,第三時間428與第四時間436之間的時間間隔)。合并部件450可以在第二過期事件過期之前強制實施合并策略408。該合并策略408可以阻止創(chuàng)建后續(xù)存儲操作的后續(xù)通知。例如,合并部件450可以在第二過期時間過期之前(例如,在第四時間436之前)將文件服務器404接收的第六存儲操作432、第七存儲操作434和/或其他存儲操作合并。通過此方式,審計服務406可以接收至少一個通知(客戶端設備402訪問文件以執(zhí)行寫操作),而不被每個單獨寫操作的通知淹沒。
圖5圖示了包括用于合并存儲操作的合并部件550的系統(tǒng)500的示例。合并部件550可以與文件服務器504相關聯(lián),該文件服務器504被配置為向客戶端設備502提供對存儲在一個或多個存儲設備內(nèi)的數(shù)據(jù)的訪問。審計服務506可能對接收客戶端設備502和/或其他客戶端設備何時讀取文件的通知感興趣。在一個示例中,第一存儲操作512可以由文件服務器504在第一時間514從客戶端設備502接收。該第一存儲操作512可以具有存儲操作類型(例如,對文件的讀操作)和客戶端設備502的客戶端標識符。合并部件550可以在記錄存儲數(shù)據(jù)結(jié)構510內(nèi)創(chuàng)建第一存儲操作512的第一記錄。過期事件可以針對第一記錄確定(例如,第一時間514與第二時間524之間的時間間隔)。
合并部件550可以在過期事件過期之前強制實施合并策略508。該合并策略508可以阻止創(chuàng)建后續(xù)存儲操作的新通知。例如,合并部件550可以在過期時間過期之前(例如,在第二時間524之前)將文件服務器504接收的第二存儲操作518、第三存儲操作520和第四存儲操作522合并。
響應于過期事件過期(例如,在第二時間524),合并部件550可以基于該第一記錄創(chuàng)建并且向策略服務506發(fā)送第一存儲操作512的第一通知516。在一個示例中,關于被合并到第一記錄的第二存儲操作518、第三存儲操作520和第四存儲操作522的描述信息可以被包括在第一通知516內(nèi),使得策略服務506可以接收這種存儲操作的通知。響應于過期事件過期(例如,在第二時間524),第一記錄可以被刪除和/或合并策略508可以被解強制實施,使得后續(xù)存儲操作可以觸發(fā)用于創(chuàng)建新通知的第二記錄的創(chuàng)建以發(fā)送給策略服務506。例如,當合并策略508被解強制實施時(例如,在第三時間528),第五存儲操作526可以由文件服務器504從客戶端設備502接收。該第五存儲操作526可以具有存儲操作類型(例如,讀操作類型)和客戶端設備502的客戶端標識符。合并部件550可以在記錄存儲數(shù)據(jù)結(jié)構510內(nèi)創(chuàng)建第五存儲操作526的第二記錄。第二過期事件可以針對第二記錄確定(例如,第三時間528與第四時間536之間的時間間隔)。合并部件550可以在第二過期事件過期之前強制實施合并策略508。該合并策略508可以阻止創(chuàng)建后續(xù)存儲操作的新通知。例如,合并部件550可以在第二過期時間過期之前(例如,在第四時間536之前),將文件服務器504接收的第六存儲操作532、第七存儲操作534和/或其他存儲操作合并。響應于過期事件過期,合并部件550可以基于該第二記錄創(chuàng)建并且向策略服務506發(fā)送第五存儲操作526的第二通知530。在一個示例中,關于被合并到第一記錄的第六存儲操作532、第七存儲操作534和/或其他存儲操作的描述信息可以被包括在第二通知516內(nèi),使得策略服務506可以接收這種存儲操作的通知。通過此方式,策略服務506可以接收至少一個通知(客戶端設備502訪問文件以執(zhí)行讀操作),而不被每個單獨讀操作的通知淹沒(例如,單個通知可以提供出現(xiàn)的多個讀操作的指示)。
圖6圖示了包括用于合并存儲操作的合并部件650的系統(tǒng)600的示例。合并部件650可以與文件服務器604相關聯(lián),該文件服務器604被配置為向客戶端設備602提供對存儲在一個或多個存儲設備內(nèi)的數(shù)據(jù)的訪問。服務606可能對接收客戶端設備602和/或其他客戶端設備何時向文件寫入的通知感興趣。在一個示例中,第一存儲操作612可以由文件服務器604從客戶端設備602接收。該第一存儲操作612可以具有存儲操作類型(例如,對文件的寫操作類型)和客戶端設備602的客戶端標識符。合并部件650可以在記錄存儲數(shù)據(jù)結(jié)構610內(nèi)創(chuàng)建第一存儲操作612的第一記錄。合并部件650可以基于該第一記錄創(chuàng)建并且向服務606發(fā)送第一存儲操作612的第一通知616。過期事件可以針對第一記錄確定(例如,626后續(xù)存儲操作的閾值數(shù)目5)。
合并部件650可以在過期事件(例如,接下來5個存儲操作可以與第一記錄合并)過期之前強制實施合并策略608。該合并策略608可以阻止創(chuàng)建后續(xù)存儲操作的新通知。例如,合并部件650可以在過期事件過期之前(例如,過期事件可以基于第六存儲操作614的合并滿足626后續(xù)存儲操作的閾值數(shù)目5而過期)將文件服務器604接收的第二存儲操作614、第三存儲操作616、第四存儲操作620、第五存儲操作622和第六存儲操作624(總共5個后續(xù)存儲操作)合并。
響應于過期事件過期(例如,針對總共5個合并的后續(xù)存儲操作624的第六存儲操作624的合并),第一記錄可以被刪除和/或合并策略608可以被解強制實施,使得后續(xù)存儲操作可以觸發(fā)創(chuàng)建新通知以發(fā)送給服務606。例如,第七存儲操作628可以由文件服務器604從客戶端設備602接收。該第七存儲操作628可以具有存儲操作類型(例如,寫操作類型)和客戶端設備602的客戶端標識符。合并部件650可以在記錄存儲數(shù)據(jù)結(jié)構610內(nèi)創(chuàng)建第七存儲操作628的第二記錄。合并部件650可以基于該第二記錄創(chuàng)建并且向服務606發(fā)送第七存儲操作628的第二通知630。第二過期事件可以針對第二記錄確定(例如,在創(chuàng)建第二記錄之后接收的接下來5個后續(xù)存儲操作)。合并部件650可以在第二過期事件過期之前強制實施合并策略608。該合并策略608可以阻止創(chuàng)建后續(xù)存儲操作的新通知。例如,合并部件650可以在第二過期事件過期之前(例如,在閾值5個后續(xù)存儲操作被合并之前)將文件服務器604接收的第八存儲操作632、第九存儲操作634和/或其他存儲操作合并。通過此方式,服務606可以接收至少一個通知(客戶端設備602訪問文件以執(zhí)行寫操作),而不被每個單獨寫操作的通知淹沒。
圖7圖示了包括用于合并存儲操作的合并部件750的系統(tǒng)700的示例。合并部件750可以與文件服務器704相關聯(lián),該文件服務器704被配置為向客戶端設備702提供對存儲在一個或多個存儲設備內(nèi)的數(shù)據(jù)的訪問。服務706可能對接收客戶端設備702何時向文件寫入的通知感興趣。在一個示例中,第一存儲操作712可以由文件服務器704從客戶端設備702接收。該第一存儲操作712可以具有存儲操作類型(例如,對文件的寫操作)和客戶端設備702的客戶端標識符。合并部件750可以在記錄存儲數(shù)據(jù)結(jié)構710內(nèi)創(chuàng)建第一存儲操作712的第一記錄。過期事件可以針對第一記錄確定(例如,后續(xù)存儲操作可以與第一記錄合并,直到從服務706接收到針對記錄信息的請求的接收事件)。
合并部件750可以在過期事件過期(例如,后續(xù)存儲操作可以與第一記錄合并,直到從服務706接收到針對記錄信息的請求的接收事件)之前強制實施合并策略708。該合并策略708可以阻止創(chuàng)建后續(xù)存儲操作的新通知。例如,合并部件750可以在過期事件過期之前將文件服務器704接收的第二存儲操作714合并。例如,過期事件可以基于從服務706接收到第一請求716而過期,這可以觸發(fā)創(chuàng)建第一通知718以發(fā)送給服務706。該第一通知可以包括關于第一存儲操作712的第一記錄和/或合并后第二存儲操作714的描述的信息。
響應于過期事件過期(例如,接收到第一請求716),第一記錄可以被刪除和/或合并策略708可以被解強制實施,使得后續(xù)存儲操作可以觸發(fā)可以用于創(chuàng)建新通知的新記錄的創(chuàng)建以發(fā)送給服務706。例如,第三存儲操作720可以由文件服務器704從客戶端設備702接收。該第三存儲操作720可以具有存儲操作類型(例如,讀操作類型)和客戶端設備702的客戶端標識符。合并部件750可以在記錄存儲數(shù)據(jù)結(jié)構710內(nèi)創(chuàng)建第三存儲操作720的第二記錄。第二過期事件可以針對第二記錄確定(例如,后續(xù)存儲操作可以與第二記錄合并,直到從服務706接收到針對記錄信息的請求的接收事件)。合并部件750可以在第二過期事件過期之前強制實施合并策略708。該合并策略708可以阻止創(chuàng)建后續(xù)存儲操作的新通知。例如,合并部件750可以在第二過期時間過期之前,將文件服務器704接收的第四存儲操作722、第五存儲操作724和第六存儲操作732合并。響應于第二過期事件過期,第二通知736可以被發(fā)送給服務706。例如,第二過期事件可以基于從服務706接收到第二請求734而過期。該第二通知736可以被發(fā)送給服務706。第二通知736可以包括關于第三存儲操作720的第二記錄和/或合并后存儲操作(例如,第四存儲操作722、第五存儲操作724和第六存儲操作732)的描述的信息。通過此方式,服務706可以接收至少一個通知(客戶端設備702訪問文件以執(zhí)行讀操作),而不被每個單獨讀操作的通知淹沒。
又一實施例涉及計算機可讀介質(zhì),該計算機可讀介質(zhì)包括被配置為實現(xiàn)本文所述一個或多個技術的處理器可執(zhí)行指令。圖8圖示了以這些方式設想的計算機可讀介質(zhì)或計算機可讀設備的示例實施例,其中實現(xiàn)方式800包括其上編碼有計算機可讀數(shù)據(jù)806的計算機可讀介質(zhì)808,諸如CD-R、DVD-R、閃存驅(qū)動、硬盤驅(qū)動的盤片等。此計算機可讀數(shù)據(jù)806(包括0或1至少一個的二進制數(shù)據(jù))轉(zhuǎn)而包括被配置為根據(jù)本文所述一個或多個原理操作的一組計算機指令804。在某些實施例中,處理器可執(zhí)行計算機指令804例如被配置為執(zhí)行方法802,諸如圖3的示例性方法300中的至少某些部分。在某些實施例中,處理器可執(zhí)行指令804例如被配置為實現(xiàn)如下系統(tǒng),諸如圖4的示例性系統(tǒng)400中的至少某些部分、圖5的示例性系統(tǒng)500中的至少某些部分、圖6的示例性系統(tǒng)600中的至少某些部分和/或圖7的示例性系統(tǒng)700中的至少某些部分。許多這樣的計算機可讀介質(zhì)被考慮用于根據(jù)本文所述技術進行操作。
應當理解,本文所述處理、架構和/或過程可以以硬件、固件和/或軟件實現(xiàn)。還應當理解,本文闡述的規(guī)定可以應用于任意類型的專用計算機(例如,文件主機、存儲服務器和/或存儲服務應用)和/或通用計算機,包括獨立式計算機或其一部分,體現(xiàn)為或包括存儲系統(tǒng)。此外,本文教導可以被配置為各種存儲系統(tǒng)架構,包括但不限于網(wǎng)絡附接存儲環(huán)境和/或存儲區(qū)域網(wǎng)絡以及直接附接到客戶端或主機計算機的盤組件。因此,除了被配置為執(zhí)行存儲功能以及與其他裝置或系統(tǒng)相關聯(lián)的任意子系統(tǒng),存儲系統(tǒng)還應當被廣泛認為包括這種布置。
在某些實施例中,本公開描述和/或圖示的方法可以全部或部分在計算機可讀介質(zhì)上實現(xiàn)。計算機可讀介質(zhì)可以包括被配置為實現(xiàn)一個或多個本文所述方法的處理器可執(zhí)行指令,并且可以包括用于存儲以下可以由計算機系統(tǒng)讀取的此數(shù)據(jù)的任何機制。計算機可讀介質(zhì)的示例包括(硬)驅(qū)動(例如,經(jīng)由網(wǎng)絡附接存儲(NAS)可訪問)、存儲區(qū)域網(wǎng)絡(SAN)、易失性和非易失性存儲器,諸如只讀存儲器(ROM)、隨機訪問存儲器(RAM)、EEPROM和/或閃存、CD-ROM、CD-R、CD-RW、DVD、卡帶、磁帶、磁盤存儲、光學或非光學數(shù)據(jù)存儲設備和/或可以用于存儲數(shù)據(jù)的任意其他介質(zhì)。
雖然已經(jīng)以對結(jié)構特征和/或方法動作專用的語言描述了主題,但是應當理解,所附權利要求中定義的主題不一定限于上述具體特征或動作。相反,上面描述的具體特征和動作被公開作為實現(xiàn)權利要求的示例形式。
本文中提供了實施例的各種操作。描述一些或所有操作的順序不應當被解釋為暗示這些操作必須是順序相關的。受益于本說明書的本領域技術人員將理解可選的順序。此外,應當理解,并非所有的操作都必須存在于本文中提供的每個實施例中。此外,將理解,在一些實施例中,不是所有的操作都是必要的。
此外,使用標準的編程和/或工程技術可以將所要求保護的主題實現(xiàn)為方法、裝置或制品來產(chǎn)生軟件、固件、硬件或其任何組合以控制計算機實現(xiàn)所公開的主題。如本文中所使用的術語“制品”旨在包括從任何計算機可讀設備、載體或介質(zhì)可訪問的計算機程序。當然,本領域技術人員將認識到,在不脫離所要求保護的主題的范圍或精神的情況下,可以對該配置進行很多修改。
如在本申請中所使用的,術語“組件”、“模塊”、“系統(tǒng)”、“接口”等通常旨在指代計算機相關的實體,該實體是硬件、硬件和軟件的組合、軟件、或執(zhí)行中的軟件。例如,組件可以是但不限于在處理器上運行的進程、處理器、對象、可執(zhí)行文件、執(zhí)行線程、程序和/或計算機。作為說明,在控制器上運行的應用和控制器都可以是組件。一個或多個組件可以駐留在進程和/或執(zhí)行線程內(nèi),并且組件可以位于一個計算機上和/或分布在兩個或更多個計算機之間。
此外,本文中使用的“示例性”表示用作示例、實例、說明等,而不一定是有利的。如本文中所使用的,“或”旨在表示包括性的“或”而不是排他性的“或”。另外,除非另有說明或者從上下文中清楚得知是指單數(shù)形式,否則,在本申請中使用的“一(a)”和“一個(an)”通常被解釋為表示“一個或多個”。此外,A和B中的至少一個和/或類似物通常表示A或B和/或A和B。另外,在詳細描述或權利要求中使用“包括(includes)”、“具有(having)”、“具有(has)”、“具有(with)”和/或其變型的意義上,這樣的術語旨在以類似于術語“包括(comprising)”的方式是包含性的。
在不脫離所要求保護的主題的范圍或精神的情況下,可以對本公開進行很多修改。此外,除非另有說明,否則“第一”、“第二”等并不旨在暗示時間方面、空間方面、排序等。相反,這些術語僅用作特征、元件、項等的標識符、名稱等。例如,第一信息集和第二信息集通常對應于信息集A和信息集B或者兩個不同的或兩個相同的信息集或同一信息集。
此外,盡管已經(jīng)關于一個或多個實現(xiàn)示出和描述了本公開,但是基于對本說明書和附圖的閱讀和理解,本領域技術人員將想到等同的改變和修改。本公開包括所有這樣的修改和變更,并且僅由所附權利要求的范圍限制。特別地,關于由上述部件(例如,元件、資源等)執(zhí)行的各種功能,除非另有說明,否則用于描述這些部件的術語旨在對應于執(zhí)行所描述的部件的規(guī)定功能的任何部件(例如,功能上等同),即使在結(jié)構上不等同于所公開的結(jié)構。另外,雖然可以僅關于幾個實現(xiàn)中的一個公開本公開的特定特征,但是,如對于任何給定或特定應用可能期望和有利的,這樣的特征可以與其它實現(xiàn)的一個或多個其他特征組合。