本公開總體上涉及存儲設備的性能測試領域。
背景技術:
許多音頻/視頻消費者設備提出了數字視頻記錄(dvr)和個人視頻記錄(pvr)功能。dvr/pvr功能允許用戶記錄、回放和暫停廣播的音頻/視頻流。在電視機、機頂盒(stb)、移動設備和個人計算機上提出了dvr/pvr功能。出于經濟和占用空間的原因,這些設備通常不被供應有能夠使用dvr/pvr功能所需的存儲設備。由消費者提供外部存儲裝置并將其連接到音頻/視頻設備的數據通信端口。通常商業化的存儲設備的示例是通用串行總線(usb)硬盤驅動器(hdd)和記憶棒。存儲設備具有各種價格和不同的質量。個人計算機(pc)通常具有足夠的內部硬盤空間用于提供dvr/pvr功能。然而,dvr/pvr讀寫操作的性能可能由于同時由pc執行的其他任務而下降,所述其他任務也利用內部存儲設備,并且不在音頻/視頻應用的控制下。
如果用于dvr/pvr功能的存儲設備的性能不足,則dvr/pvr功能將受到不利影響,導致諸如宏塊和音頻/視頻毛刺之類的可見和可聽見的偽像。消費者可能錯誤地斷定音頻/視頻設備有缺陷,導致幫助臺和售后服務的相當大的工作量。
因此,需要對存儲設備的性能測試。
技術實現要素:
本公開旨在減輕在背景技術部分中討論的缺陷中的至少一些。
為此,本發明原理包括一種用于評估連接到主機設備的存儲設備的性能的方法。該方法由主機設備實現。該方法包括:對存儲設備執行讀寫測試,并通過根據讀寫測試的結果測量存儲設備的讀寫傳輸比特率來獲得存儲設備的性能簡檔,性能簡檔指示存儲設備所具有的性能能力足以用作用于存儲和取回具有與性能簡檔相對應的視頻分辨率的視頻數據的設備。
根據用于評估連接到主機設備的存儲設備的性能的方法的另一實施例,讀寫測試是對存儲設備中的存儲器段的二進制讀寫操作。
根據用于評估連接到主機設備的存儲設備的性能的方法的另一實施例,在執行讀寫測試之前將存儲器段的內容保存在主機設備中,并且在執行了讀寫測試之后將所保存的內容恢復到存儲設備。
根據用于評估連接到主機設備的存儲設備的性能的方法的另一實施例,獲得性能簡檔還包括:獲得支持的同時讀寫操作的最大數量。
根據用于評估連接到主機設備的存儲設備的性能的方法的另一實施例,視頻分辨率是標準清晰度視頻分辨率、高清晰度視頻分辨率或超高清晰度視頻分辨率之一。
根據用于評估連接到主機設備的存儲設備的性能的方法的另一實施例,性能簡檔還指示從支持的同時讀寫操作的最大數量獲得的個人視頻記錄類型等級,所述個人視頻記錄類型等級是以下項之一:
記錄或時移等級;
記錄和時移等級。
根據用于評估連接到主機設備的存儲設備的性能的方法的另一實施例,性能簡檔被保存在主機設備中。
根據用于評估連接到主機設備的存儲設備的性能的方法的另一實施例,性能簡檔被保存在網絡存儲區域中。
本發明原理還涉及一種用于評估連接到主機設備的存儲設備的性能的主機設備。該主機設備包括處理器和存儲器,其被配置為:對存儲設備執行讀寫測試,并且通過根據二進制讀寫測試的結果測量存儲設備的讀寫傳輸比特率來獲得存儲設備的性能簡檔,性能簡檔指示存儲設備所具有的性能能力足以用作用于存儲和取回具有與性能簡檔相對應的視頻分辨率的視頻數據的設備。
根據主機設備的另一實施例,處理器和存儲器還被配置為:以對存儲設備中的存儲器段的二進制讀寫操作的方式,執行讀寫測試。
根據主機設備的另一實施例,處理器和存儲器還被配置為:在執行讀寫測試之前將存儲器段的內容保存在主機設備中,并且在執行了讀寫測試之后將所保存的內容恢復到存儲設備。
根據主機設備的另一實施例,處理器和存儲器還被配置為:獲得支持的同時讀寫操作的最大數量,以獲得性能簡檔。
根據主機設備的另一實施例,處理器和存儲器還被配置為:將性能簡檔保存在主機設備中。
根據主機設備的另一實施例,處理器和存儲器還被配置為:將性能簡檔保存在網絡存儲區域中。
本發明原理還涉及一種用于在計算機可讀介質上進行存儲的計算機程序,該計算機程序包括以下指令,所述指令用于由處理器執行根據前述實施例的用于評估連接到主機設備的存儲設備的性能的方法以及根據該方法的另外實施例中的任何一個的方法。
附圖說明
通過對特定的、非限制性的實施例的描述,將清楚本公開的更多優點。為了描述可獲得本公開的優點的方式,通過參考附圖中所示出的特定實施例來呈現對本發明原理的具體描述。附圖描繪了本公開的示例性實施例,因此不應被認為限制其范圍。所描述的實施例可進行組合,以形成具有特定優點的實施例。以下附圖中,與在先的附圖中已經描述的項目具有相同附圖標記的項目將不會被再次描述,以避免不必要地使本公開變得不清楚。將參考以下附圖描述示例性實施例:
圖1示出了實現音頻/視頻接收器的dvr/pvr功能的示例性環境。
圖2是圖1所示的機頂盒的示例性實施例的示意圖。
圖3進一步示出了通過二進制讀寫測試來評估存儲設備的性能的本發明原理。
圖4是根據本發明原理的特定實施例的流程圖。
具體實施方式
圖1示出了實現音頻/視頻接收器11的dvr/pvr功能的示例性環境。如本領域所公知的,音頻/視頻接收器設備11是用于從衛星14接收音頻/視頻流的機頂盒(stb)。從衛星14和接收天線15接收音頻/視頻流。stb11將音頻/視頻信號發送到數字電視13以用于再現。存儲設備12連接到stb11。通過遙控器(rc)10操作stb11。
如背景技術部分中簡要討論的,音頻/視頻接收器11包括用于連接存儲設備12的數據通信端口(未示出)。雖然音頻/視頻接收器11包括dvr/pvr功能,但它需要存儲設備12的存在來向消費者提出dvr/pvr功能。存儲設備通常不與音頻/視頻接收器11一起提供,而是由消費者提供。消費者具有存儲設備類型、型號和品牌的廣泛選擇。例如,消費者可以提供usb記憶棒。usb記憶棒符合各種標準(例如,usb1.0、2.0或3.0)并且具有各種質量。已經發現,雖然usb記憶棒電氣上符合給定的標準,但是最大數據傳輸速率有時比根據其應該符合的標準所預期的低。與usb記憶棒不同,針對sd卡類型的存儲設備限定了速度等級。然而,即使在用戶手冊中指出對于dvr/pvr操作的良好性能,sd卡應以等于或高于給定值的速度等級來使用,也不能保證消費者遵守這一點。
因此,在開始將其用于dvr/pvr功能之前評估存儲設備的性能是有用的,以避免dvr/pvr功能的故障。
圖2是圖1所示的機頂盒的示例性實施例的示意圖。stb11包括:非易失性存儲器(nvm)110、隨機存取存儲器(ram)111、圖形和音頻控制器112、遙控電路114、調諧器115、中央處理單元(cpu)116、音頻/視頻解碼器(a/vdec)118以及例如根據通用串行總線(usb)、高清晰度多媒體接口(hdmi)、以太網、wifi、藍牙或串行ata(sata)(僅舉幾例)的外圍接口117。所有這些組件借助于內部數據和通信總線113互連。遙控電路114被配置為從遙控器10接收遙控命令。調諧器115被配置為從衛星天線15接收音頻/視頻流。外圍接口117被配置為連接到存儲設備12。圖形控制器112被配置為連接到用于再現音頻/視頻的顯示器13。stb存儲器包括nvm110和ram111。nvm110包括例如可由cpu116執行并且包括用于實現設備11的功能的程序的計算機可讀程序指令集。例如,該程序指令集包括固件、中間件和應用程序。nvm110還可以包括用于操作stb11的參數和變量,例如頻道列表、用戶偏好以及用于程序指令的內部參數和變量。ram111用于臨時存儲程序指令、變量和參數。圖形和音頻卡112被配置為驅動音頻/視頻再現設備13。音頻/視頻解碼器118被配置為解碼音頻/視頻流。
在stb11的操作期間,用戶選擇使用遙控器10調諧到的音頻/視頻頻道。對應的指令被發送到cpu116,cpu116從nvm110取回頻道列表,從頻道列表提取相關聯的調諧參數,并指示調諧器115調諧到由所提取的調諧參數指示的頻率。然后,調諧器115接收在給定頻率上廣播的音頻/視頻流,并將接收的音頻/視頻流傳送到音頻/視頻解碼器118。音頻/視頻解碼器118將經解碼的音頻/視頻傳送到圖形/音頻控制器112,其將音頻/視頻輸出到再現設備13。當用戶按下遙控器10上的暫停按鈕以暫停所接收的廣播頻道時,stb11將從調諧器115接收的音頻/視頻流存儲在存儲設備12上。當用戶隨后重新開始播放時,stb11將所存儲的音頻/視頻流傳送到音頻/視頻解碼器118,并且在再現設備13上再現經解碼的音頻/視頻。在該時間期間,stb11繼續將從調諧器115接收的音頻/視頻廣播流存儲在存儲設備12上。在該配置中,存儲設備12用作時移操作的緩沖存儲器。因此可以看出,時移需要在存儲設備12上同時進行讀寫操作。如果時移特征正確地起作用,則存儲設備12的讀寫性能應當足以支持所得到的高數據通信速率和讀寫操作的頻繁交替。
圖3進一步示出了通過二進制讀寫測試來評估存儲設備的性能的本發明原理。元素30是用于提供dvr/pvr功能的存儲設備的存儲器段。元素32是硬盤驅動器的硬盤。元素33是記憶棒。元素31是具有目錄、子目錄和文件的文件系統,其例如由設備32和33存儲。作為存儲設備的備選實現示出了元素32和33。未示出的其他實施例可以用于本發明原理的目的,諸如sd卡或任何種類的固態存儲器,諸如固態盤(ssd)。典型的硬盤32是在同心軌道321和扇區322中的組織。典型的記憶棒是非易失性ram存儲器331的存在。虛線指示存儲器段30被存儲在設備32和33上的位置:在硬盤32上的扇區322中,以及在記憶棒33上的存儲器芯片331中。可以通過主機設備(例如,圖1或圖2的stb11)來測試存儲設備32和33的讀寫性能。為此目的,針對長度n(例如,0x1000)從存儲設備(例如,從存儲設備32或33)上的起始地址x(例如,如所示的0x2ffo)讀取二進制存儲器段30,并且經由主機設備11保存到除了存儲設備之外的可用于主機設備11的存儲空間(例如,到nvm110、到網絡存儲空間或到云存儲空間)。“二進制存儲器段”在這里意味著存儲器段不使用設備32或33的文件系統組織來讀取,而是直接在驅動器級作為原始數據來讀取。可以根據各種參數來確定起始地址x和段長度n。在讀寫測試正在進行時拔出存儲設備可能導致存儲設備上的數據被損壞。數據損壞可能或多或少嚴重。優選地,選擇起始地址x和長度n,使得存儲器段不落入文件分配表(fat)、主引導記錄(mbr)或guid分區表(gpt)區段內,這是因為如果存儲在主機設備上的數據段的原始內容不在存儲設備上恢復,則由于存儲設備的拔出而中斷的該區段中正在進行的讀寫測試會導致完全的數據丟失。進一步討論的不同實施例提出用于在正在進行的讀寫測試被中斷的情況下數據恢復的解決方案。許多存儲設備還在存儲設備的存儲空間的末端保持fat/mbr/gpt的備份副本。優選地,因此避免主fat/mbr/gtp區段和備份fat/mbr/gtp區段用于執行二進制讀寫測試。例如,如果存儲設備的大小為m,則可以安全地用作起始地址m/2-n/2,其中n是起始于m/2的段的長度,并且被選為m的一部分,例如m的1/5、1/10或1/20,以便停留在fat/mbr/gpt區段之外。段的長度對性能評估的持續時間具有影響,尤其是因為性能評估包括將讀寫測試段復制到主機設備(=備份),并且在讀寫測試結束時將在主機上保存的所復制的讀寫測試段從主機重新寫入到存儲設備(=恢復),如將進一步討論的。除了上面限定的有助于排除在fat/mbr/gpt區段中執行讀寫測試的規則之外,由備份和恢復操作引起的延遲因此可以被考慮以限定段的長度。優選地,選擇段的長度,使得可以在短時間內(例如,在15、30、60或120秒內)完成性能評估,以避免妨礙插入存儲設備的用戶,因為他/她正在觀看他/她想要記錄或者他/她想要暫停的電視節目。
當連接存儲設備時,設備驅動器將物理名稱歸屬到存儲設備,例如/dev/sda,或者如果設備具有兩個分區,則是/dev/sda1和/dev/sda2。二進制讀(和寫)操作可以直接從(到)安裝在主機設備上的這些分區完成。例如,當存儲器段起始地址x對應于一個文件中的某處并且存儲器段結束地址對應于存儲在存儲設備上的另一文件中的某處時,二進制段可以跨越若干文件。
然后,由主機設備對存儲設備32或33中與二進制段30相對應的存儲器段執行存儲設備32或33的讀寫操作性能測試。為此目的,執行二進制讀寫測試。在此上下文中的“二進制”意味著讀寫操作在低抽象級別上被執行;例如,在驅動器級。當完成讀寫性能測試時,從可用于主機設備的存儲空間(除存儲設備之外)取回(備份)用于性能測試的存儲設備上的存儲器段的副本,并且通過對存儲設備上在其原始位置處的存儲器段的二進制寫操作而將副本恢復到存儲設備。這樣,存儲設備的存儲器內容恢復到其原始狀態,即,在執行二進制讀寫測試之前其所具有的狀態。通過一組二進制讀寫操作并評估完成這些操作所需的時間來測試二進制讀寫性能。該組可以包括一、二、十、一百或一千或更多個讀寫操作。
根據不同的實施例,二進制讀寫測試包括確定讀寫比特率。例如,確定最小、最大或平均比特率。例如,為了確定平均比特率,限定了完成重復讀寫測試的延遲。當延遲到期時,累計完成的讀寫測試迭代的次數。然后,讀寫的數據量和完成的迭代次數允許確定平均讀寫比特率。例如,為了確定最大讀寫比特率,限定了完成重復讀寫測試的延遲。然后,當延遲到期時,通過將完成的讀-寫測試的每次迭代中讀寫的數據量除以完成迭代所需的時間,將所有完成的迭代的結果進行比較并且選擇最高的讀寫比特率,來獲得最大讀寫比特率。例如,為了確定最小讀寫比特率,將所有完成的迭代的結果進行比較,并選擇最低的比特率。除了確定平均比特率之外,確定最小和最大比特率有利于確定存儲設備的精確簡檔(profile)。例如,當存儲設備具有足以提供dvr/pvr功能的平均比特率時,最小比特率低于最小閾值比特率,在這種情況下,最小比特率而不是平均比特率是用于確定存儲設備的性能簡檔的良好指標。對性能簡檔進一步處理。例如,雖然平均和最小讀寫比特率足以支持dvr/pvr功能,但是最小和最大讀寫比特率之間的差異可能超過容差,在這種情況下,存儲設備可被認為對于提供dvr/pvr功能太不可靠。
根據可有利地與先前實施例組合的不同實施例,二進制讀寫測試包括確定同時讀寫操作的最大數量。
如上所述,根據二進制讀寫測試的結果建立性能簡檔。性能簡檔指示存儲設備適合于哪種用途。例如,性能簡檔通過在最大支持的視頻分辨率等級中的分級來指示存儲設備適合于(具有足夠的性能能力)存儲和回放標準清晰度(sd)、高清晰度(hd)或超高清晰度(uhd)類型的內容,或者換句話說,性能簡檔指示存儲設備所具有的性能能力足以用作用于存儲和取回具有與性能簡檔相對應的視頻分辨率的視頻數據的設備。性能簡檔還可以指示存儲設備適合于存儲和回放具有特定編碼標準的一個或多個視頻簡檔(例如,諸如針對mpeg2或h.264編碼視頻定義的高簡檔、主簡檔、基線簡檔)的內容。性能簡檔還可以指示存儲設備適合于存儲和回放例如與一個或多個標準相關聯的一個或多個視頻分辨率。例如,性能簡檔可以指示存儲設備適合于存儲和回放sd編碼視頻;sd和hd編碼視頻;mpeg2sd編碼視頻;h.264hd編碼視頻;mpeg2sd和h.264hd編碼視頻;mpeg2hd高簡檔和h.264uhd主簡檔編碼視頻。
性能簡檔還可以通過多記錄等級中的分級來指示存儲設備適合于同時記錄多個音頻/視頻流。多個音頻/視頻流的同時記錄可以例如允許同時記錄來自若干tv頻道的流,或者例如記錄一個tv頻道同時對另一個tv頻道進行時移。例如,性能簡檔通過時移等級中的分級來指示存儲設備適合于出于時移目的而同時記錄音頻/視頻流并回放所記錄的音頻/視頻流,而在單個記錄等級中的分級指示存儲設備適合于不包括時移的非同時單個記錄和單次回放。例如,性能簡檔通過uhd等級中的分級來指示存儲設備適合于uhd記錄和回放,同時它適合于hd時移,并且因此適合于sd時移,但是排除uhd時移。例如,性能簡檔可以指示存儲設備適合于uhd時移,并且因此適合于hd和sd時移。根據特定實施例,可以根據之前提及的平均、最小和/或最大比特率的閾值來操作分級。下面的表給出了基于平均讀寫比特率閾值的性能簡檔的簡單和直接的示例。它例如不考慮先前討論的最小和最大讀寫比特率的測量,也不考慮例如根據最大支持的視頻分辨率等級的支持的區別。
音頻/視頻流的比特率可以根據編碼類型、場景和編碼質量而變化。例如,足球比賽的可變比特率mpeg-2編碼的sd流的最高比特率可以接近其可變比特率hevc編碼的hd流的最高比特率。根據不同的實施例,根據主機音頻/視頻接收器設備要接收的流的比特率,例如根據對于下標信道中的流可以預期的最高比特率,來確定閾值。
根據本發明原理的讀寫測試的二進制操作的優點是,二進制讀寫測試獨立于存儲設備上使用的文件系統類型、分區或格式化,這使得能夠評估未格式化的存儲設備或包括主機不支持的文件系統的存儲設備或包括加密文件的存儲設備的性能簡檔。因此,有利地,根據本發明原理的性能剖析允許確定在讀寫操作速率方面存儲設備是否適合于與主機設備一起使用以實現dvr/pvr特征。例如,僅支持linux文件系統“ext”的主機設備可以對根據蘋果公司的hfs文件系統格式化的存儲設備執行性能剖析評估。然后,如果性能測試的結果是滿意的,則主機可以通知用戶性能測試成功,存儲設備可以用作用于提供dvr/pvr功能的存儲設備,并且可以詢問用戶他/她是否同意用與主機使用的文件系統兼容的文件系統重新格式化存儲設備。例如,只有在性能評估的結果是存儲設備適合于與主機設備一起用于dvr/pvr用途時才提出重新格式化。
根據不同的實施例,性能簡檔被存儲在主機設備上。根據不同的實施例,性能簡檔與存儲設備的標識相關或與例如包括存儲設備的型號和品牌在內的存儲設備的類型相關。根據不同的實施例,該關系被存儲在主機設備上。然后,當存儲設備被移除并且被相同類型或相同型號和品牌的另一設備替換時,可以從所存儲的性能簡檔中確定針對該設備已經存在所存儲的性能簡檔,并且不需要再次執行性能測試。多個性能簡檔可以被存儲在例如數據庫的表中。根據不同的實施例,性能簡檔被存儲在存儲設備上。根據不同的實施例,性能簡檔被存儲在主機設備連接到的網絡中的存儲空間中。然后,如果存儲設備連接到主機設備,則主機設備詢問網絡以確定針對該型號和品牌的存儲設備是否存在性能簡檔。如果是,則不需要重新測試存儲設備,并且存儲在網絡中的性能測試的結果可以由主機設備取回。有利地,主機設備因此使用用于存儲存儲設備的性能簡檔的網絡存儲空間來共享公共知識庫,使得性能簡檔一旦由多個主機設備中的任一個建立則可以由多個主機設備中的任一個在稍后取回,從而避免針對相同型號和品牌的存儲設備完成多次性能評估。
根據不同的實施例,提供了當二進制讀寫測試正在進行時防止拔出存儲設備的保護,因為這可能導致存儲設備上的數據損壞,如上面已經討論的。為此,當在二進制讀寫測試期間拔出存儲設備時,主機設備檢測到拔出并且生成可聽見和/或可見的消息以促使用戶重新插入存儲設備,從而避免存儲設備上的數據損壞。根據不同的實施例,當存儲設備被重新插入時,檢驗用于讀寫測試的段處于與它在拔出之前相同的狀態。如果處于相同的狀態,則讀寫測試可以繼續;如果不是,則已經在其間使用存儲設備,或者替代地已經插入了不同的存儲設備。讀寫測試被中止,并且經由主機設備保存(備份)的數據不被恢復到存儲設備的段,以避免覆寫存儲設備上的數據。
圖4是根據由主機設備(例如,圖2的設備11)實現的根據本發明原理的方法的特定實施例的流程圖。步驟400是初始化步驟,其中對在執行步驟期間使用的變量進行初始化。在步驟401中,從存儲器起始地址開始從存儲設備讀取存儲器段,或者換句話說,經由主機設備將存儲器段復制、保存、備份或緩存在:即,例如,主機設備自身的存儲器中(例如,非易失性存儲器中)、或附接到主機設備的網絡存儲器中或經由網絡連接可用于主機設備的云存儲器中。存儲設備例如是圖2所描繪的存儲設備12。在步驟402中,對存儲設備中的存儲器段執行一個或多個二進制讀寫測試。在步驟403中,根據在步驟402中執行的二進制讀寫測試的結果確定針對存儲設備的性能簡檔。為了建立性能簡檔,二進制讀寫測試步驟402可以被迭代,例如用于執行允許確定平均、最小或最大讀寫比特率或允許確定同時可執行的讀寫操作的最大數量的二進制讀寫測試的迭代。然后,在步驟404中,在步驟403中確定了性能簡檔之后,經由主機設備緩存的存儲器段被重新寫入或恢復到主機設備、到存儲器起始地址,從而將存儲設備恢復到其原始狀態;即,在執行二進制讀寫測試之前其所具有的狀態。所述方法結束于步驟405。存儲設備現在可以用于dvr/pvr功能,只要性能剖析的結果是存儲設備能夠實現這些功能,如果性能簡檔不足以提供dvr/pvr功能,則存儲設備僅用于數據存儲(例如,用于文件下載),或者存儲設備被拔出并重新用于其他目的。可以向用戶示出指示針對存儲設備評估的性能簡檔的消息。如果性能簡檔例如足以使存儲設備用于dvr/pvr功能,則該消息可以詢問用戶存在于存儲設備上的任何數據是否可以被覆寫,或者可以為用戶提供拔出存儲設備,備份存在于存儲設備上的數據,以及重新插入存儲設備的機會。
如本領域技術人員所理解的,附圖中的一些元素可以不在所有實施例中使用或是必需的。一些操作可以并行執行。與所示出和/或描述的實施例不同的實施例也是可能的。例如,雖然在圖1-2中存儲設備直接連接到主機設備,但是本領域技術人員將理解,存儲設備還可以是例如連接到局域網的網絡存儲設備,而不偏離本發明原理。例如,本領域技術人員將容易理解,在圖1-2中被描繪為在主機設備11外部的存儲設備12還可以在主機設備內部,而不脫離本發明原理。同樣地,在圖1-2中被描繪為機頂盒的主機設備可以是不必從衛星接收音頻/視頻流而從電纜、經由互聯網、4g或任何其他類型的數據傳輸介質接收音頻/視頻流的另一類型的設備,諸如接入網關、數字電視或智能電話。
本領域技術人員將理解的是,本發明原理的方案可被實現為系統、方法或用于存儲在計算機可讀介質上的計算機程序指令。因此,本發明原理的方案可采用完全硬件實施例的形式、完全軟件實施例(包括固件、常駐軟件、微代碼等)的形式或組合了軟硬件方案的實施例的形式,它們可一般地在此定義為“電路”、“模塊”或“系統”。此外,本發明原理的方案可以采用計算機可讀存儲介質的形式。可以利用一個或多個計算機可讀存儲介質的任意組合。
因此,例如,本領域技術人員將理解的是,本文中所呈現的示圖表示實現本公開的原理的說明性系統組件和/或電路的概念圖。類似地,將理解的是,任意流圖、流程圖、狀態轉變圖、偽碼等表示可在計算機可讀存儲介質中充分表示并由計算機或處理器如此執行的各種處理,而不管是否明確地示出了這種計算機或處理器。
計算機可讀存儲介質可以采用計算機可讀程序產品的形式,所述計算機可讀程序產品體現在一個或多個計算機可讀介質中,并且其中體現有可由計算機執行的計算機可讀程序代碼。如本文中使用的計算機可讀存儲介質被認為是非暫時性存儲介質,其具有用來在其中存儲信息的內在能力以及從中獲取信息的內在能力。計算機可讀存儲介質可以是例如但不限于:電、磁、光、電磁、紅外或半導體系統、裝置或設備或前述系統、裝置或設備的任意合適組合。應當認識到,盡管提供了可應用本發明原理的計算機可讀存儲介質的更具體示例,但如本領域普通技術人員更容易理解的,以下項僅是說明性的而非窮盡地列出:硬盤、只讀存儲器(rom)、可擦除可編程只讀存儲器(eprom或閃存)、便攜式壓縮盤只讀存儲器(cd-rom)、光存儲設備、磁存儲設備或前述項的任意合適組合。