本發(fā)明的實施方式涉及故障恢復(fù)領(lǐng)域,更具體地,涉及一種用于在總線結(jié)構(gòu)中檢測及處理錯誤的方法和系統(tǒng)。
背景技術(shù):
總線是在計算機系統(tǒng)中用于連接各個部件的通信干線。在通過總線互聯(lián)的部件的架構(gòu)中,如果發(fā)生錯誤,往往很難斷定發(fā)生錯誤的具體位置,例如是總線本身的錯誤還是所連接的部件的錯誤,也難以從總線錯誤中進行恢復(fù)。
現(xiàn)有技術(shù)中對這一類問題的解決方法并沒有形成完整的體系,主要還是依賴于工程師的手動分析。例如,可能需要工程師手動分析可能相關(guān)的所有日志,并且通過替代其中的一些硬件設(shè)備來嘗試對錯誤事項分類。由于上述手動解決方法的流程通常需要客戶首先觀察到服務(wù)劣化問題達數(shù)小時或數(shù)天、然后提出服務(wù)請求,再由工程師開始通過訪問機器來查看/分析日志來查看問題,最終可能需要物理地替換硬件設(shè)備以分類/修復(fù)該問題,這會導(dǎo)致長時間的服務(wù)劣化,既費時又費力。另一方面,所獲得的效果也取決于工程師的熟練程度,使得所獲得的效果非常不穩(wěn)定。
由此,亟需提供一種能夠在總線結(jié)構(gòu)中有效地自動檢測和處理錯誤的方法和系統(tǒng)。
技術(shù)實現(xiàn)要素:
為了解決現(xiàn)有技術(shù)中存在的上述問題,本說明書提出如下方案。
根據(jù)本發(fā)明的第一方面,提供一種用于在總線結(jié)構(gòu)中檢測及處理錯誤的方法,包括:從與所述總線關(guān)聯(lián)的多個硬件寄存器中獲取錯誤信息;響應(yīng)于確定所述多個硬件寄存器中的一個或多個硬件寄存器 中的所述錯誤的數(shù)量超過預(yù)定閾值,檢測與所述一個或多個硬件寄存器對應(yīng)的硬件設(shè)備的性能;以及響應(yīng)于確定與所述一個或多個硬件寄存器對應(yīng)的硬件設(shè)備中的一個硬件設(shè)備的性能劣化,確定所述一個硬件設(shè)備出現(xiàn)錯誤。
在本發(fā)明的可選實施方式中,該方法進一步包括:確定所述一個硬件設(shè)備是否存在備用設(shè)備;以及響應(yīng)于存在備用設(shè)備,使用所述備用設(shè)備對所述一個硬件設(shè)備進行故障轉(zhuǎn)移。在本發(fā)明的可選實施方式中,該方法進一步包括:重置所述一個硬件設(shè)備。在本發(fā)明的可選實施方式中,該方法進一步包括:在重置所述一個硬件設(shè)備之后,至少部分地基于所述一個硬件設(shè)備的故障恢復(fù)歷史來決定是否從所述備用設(shè)備切換回所述一個硬件設(shè)備。
在本發(fā)明的可選實施方式中,所述從與所述總線關(guān)聯(lián)的多個硬件寄存器中獲取錯誤信息包括:周期性地輪詢所述多個硬件寄存器以獲取所述錯誤信息。在本發(fā)明的可選實施方式中,輪詢所述多個硬件寄存器的周期根據(jù)所述錯誤的數(shù)量而動態(tài)調(diào)整。
在本發(fā)明的可選實施方式中,所述從與所述總線關(guān)聯(lián)的多個硬件寄存器中獲取錯誤信息包括:監(jiān)聽來自所述硬件寄存器的、報告所述錯誤信息的中斷消息,以獲取所述錯誤信息。
在本發(fā)明的可選實施方式中,當(dāng)所述錯誤的數(shù)量大于預(yù)定閾值時,禁用所述中斷消息;并且通過周期性地輪詢所述多個硬件寄存器來獲取所述錯誤信息。
在本發(fā)明的可選實施方式中,所述與所述一個或多個硬件寄存器對應(yīng)的硬件設(shè)備的性能通過性能檢測器來檢測,所述性能檢測器基于與所述多個硬件寄存器對應(yīng)的硬件設(shè)備的類型來設(shè)置。
在本發(fā)明的可選實施方式中,所述總線包括PCIe總線。
根據(jù)本發(fā)明的第二方面,提供一種用于在總線結(jié)構(gòu)中檢測及處理錯誤的系統(tǒng),包括:錯誤獲取單元,被配置為從與所述總線關(guān)聯(lián)的多個硬件寄存器中獲取錯誤信息;性能檢測單元,被配置為響應(yīng)于確定所述多個硬件寄存器中的一個或多個硬件寄存器中的所述錯誤的數(shù)量超過預(yù)定閾值,檢測與所述一個或多個硬件寄存器對應(yīng)的硬件設(shè)備的性能;以及錯誤判定單元,被配置為響應(yīng)于確定與所述一個或多 個硬件寄存器對應(yīng)的硬件設(shè)備中的一個硬件設(shè)備的性能劣化,確定所述一個硬件設(shè)備出現(xiàn)錯誤。
在本發(fā)明的可選實施方式中,該系統(tǒng)進一步包括:備用設(shè)備確定單元,被配置為確定所述一個硬件設(shè)備是否存在備用設(shè)備;以及故障轉(zhuǎn)移單元,被配置為響應(yīng)于存在備用設(shè)備,使用所述備用設(shè)備對所述一個硬件設(shè)備進行故障轉(zhuǎn)移。在本發(fā)明的可選實施方式中,該系統(tǒng)進一步包括:重置單元,被配置為重置所述一個硬件設(shè)備。在本發(fā)明的可選實施方式中,該系統(tǒng)進一步包括:故障恢復(fù)單元,被配置為在重置所述一個硬件設(shè)備之后,至少部分地基于所述一個硬件設(shè)備的故障恢復(fù)歷史來決定是否從所述備用設(shè)備切換回所述一個硬件設(shè)備。
在本發(fā)明的可選實施方式中,所述從與所述總線關(guān)聯(lián)的多個硬件寄存器中獲取錯誤信息包括:周期性地輪詢所述多個硬件寄存器以獲取所述錯誤信息。在本發(fā)明的可選實施方式中,輪詢所述多個硬件寄存器的周期根據(jù)所述錯誤的數(shù)量而動態(tài)調(diào)整。
在本發(fā)明的可選實施方式中,所述從與所述總線關(guān)聯(lián)的多個硬件寄存器中獲取錯誤信息包括:監(jiān)聽來自所述硬件寄存器的、報告所述錯誤信息的中斷消息,以獲取所述錯誤信息。在本發(fā)明的可選實施方式中,當(dāng)所述錯誤的數(shù)量大于預(yù)定閾值時,禁用所述中斷消息;并且通過周期性地輪詢所述多個硬件寄存器來獲取所述錯誤信息。
在本發(fā)明的可選實施方式中,所述與所述一個或多個硬件寄存器對應(yīng)的硬件設(shè)備的性能通過性能檢測器來檢測,所述性能檢測器基于與所述多個硬件寄存器對應(yīng)的硬件設(shè)備的類型來設(shè)置。
在本發(fā)明的可選實施方式中,所述總線包括PCIe總線。
附圖說明
通過結(jié)合附圖對本公開示例性實施方式進行更詳細(xì)的描述,本公開的上述以及其它目的、特征和優(yōu)勢將變得更加明顯,其中,在本公開示例性實施方式中,相同的參考標(biāo)號通常代表相同部件。
圖1圖示了根據(jù)本發(fā)明示例實施方式的用于在總線結(jié)構(gòu)中檢測及處理錯誤的方法100的流程圖。
圖2圖示了通過PCIe接口連接的存儲設(shè)備的示意性架構(gòu)200。
圖3圖示了根據(jù)本發(fā)明示例實施方式的用于在總線結(jié)構(gòu)中檢測及處理錯誤的系統(tǒng)300的流程圖。
圖4示出了適于用來實踐本發(fā)明實施方式的計算機系統(tǒng)400的示意性框圖。
具體實施方式
下面將參照附圖更詳細(xì)地描述本公開的優(yōu)選實施方式。雖然附圖中顯示了本公開的優(yōu)選實施方式,然而應(yīng)該理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施方式所限制。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。
圖1圖示了根據(jù)本發(fā)明示例實施方式的用于在總線結(jié)構(gòu)中檢測及處理錯誤的方法100的流程圖。為了說明的方便起見,下文在示例中主要以當(dāng)前常用的PCIe總線作為示例加以說明,然而,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,相關(guān)的發(fā)明構(gòu)思對諸如PCI之類的其他類型的總線也同樣適用,本發(fā)明在此方面不受限制。
如圖1所示,方法100開始之后,首先進到步驟S101,從與所述總線關(guān)聯(lián)的多個硬件寄存器中獲取錯誤信息。這里所稱的與總線關(guān)聯(lián)的多個硬件寄存器包括與總線結(jié)構(gòu)中的每個總線設(shè)備關(guān)聯(lián)的寄存器。例如,在總線為PCIe總線的情況下,總線設(shè)備可以包括PCIe根端口(root port)、交換機以及端點設(shè)備等。
在實現(xiàn)中,獲取錯誤信息的方式至少包括輪詢和中斷兩種方式。具體而言,例如可以通過周期性地輪詢所述多個硬件寄存器來獲取所述錯誤信息;或者,可以通過監(jiān)聽來自所述硬件寄存器的、報告所述錯誤信息的中斷消息,來獲取所述錯誤信息。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,其他可能的錯誤信息獲取方式也在本發(fā)明的構(gòu)思之內(nèi)。
在通過輪詢硬件寄存器來獲取錯誤信息的場景下,輪詢的策略可以是用戶可配置的。例如,輪詢的周期可以根據(jù)錯誤的數(shù)量來動態(tài)調(diào)整。譬如,可以在初始時以較長的周期進行輪詢,在沒有檢測到寄存器中的錯誤信息時保持較長輪詢周期不變;而在任何硬件寄存器中檢測到任何錯誤信息時縮短輪詢周期(例如,設(shè)置為原來輪詢周期的 一半)。如果一直檢測到錯誤,則可以將輪詢周期設(shè)置為越來越短,直至達到預(yù)定閾值。反之,從不再檢測到錯誤信息開始,可以逐步加大輪詢周期,直至回到初始的較大輪詢周期。具體的閾值和輪詢周期均可選地可由用戶設(shè)置。在本發(fā)明的可選實施方式中,可以僅對其中被檢測到錯誤信息的硬件寄存器來調(diào)整輪詢周期,以便在錯誤檢測準(zhǔn)確性和系統(tǒng)資源的利用之間尋求平衡。
在通過中斷消息來報告錯誤信息的場景下,可以在錯誤的數(shù)量大于預(yù)定閾值時,禁用所述中斷消息;并且通過周期性地輪詢所述多個硬件寄存器來獲取所述錯誤信息。這是由于在錯誤數(shù)量非常大時(大于預(yù)定閾值),系統(tǒng)的性能可能會受到極大的影響。為了降低中斷消息給系統(tǒng)帶來的額外開銷,可以通過禁用中斷消息,將其轉(zhuǎn)換為輪詢的方式來獲得錯誤消息。
此外,在根據(jù)本發(fā)明的示例性實現(xiàn)中,方法100的步驟S101可以通過啟動專門的監(jiān)視模塊或守護程序來執(zhí)行。
接下來,方法100前進到步驟S102,響應(yīng)于確定所述多個硬件寄存器中的一個或多個硬件寄存器中的所述錯誤的數(shù)量超過預(yù)定閾值,檢測與所述一個或多個硬件寄存器對應(yīng)的硬件設(shè)備的性能。
例如,如果在某個硬件寄存器中檢測到的錯誤的數(shù)量超過預(yù)定閾值時,有可能表明該硬件寄存器所對應(yīng)的硬件設(shè)備正在經(jīng)歷性能劣化,從而需要對其進行進一步的性能檢測。需要注意的是,可以僅針對在其中檢測到的錯誤的數(shù)量超過預(yù)定閾值的硬件寄存器所對應(yīng)的硬件來進行性能檢測以便降低開銷。仍然以PCIe設(shè)備為例,圖2圖示了通過PCIe接口連接的存儲設(shè)備的示意性架構(gòu)。如圖2所示,在執(zhí)行任何I/O活動(例如讀或者寫)時,總是涉及PCIe接口。如果在特定的主機接入卡HBA的PCIe接口或者其上游PCIe橋/交換機發(fā)生任何PCIe錯誤,則該HBA的I/O都將受到影響:例如,單個I/O將花費更多的時間來完成;HBA的使用將增加。I/O延遲的增加和HBA使用的增加將無疑影響整個系統(tǒng)的性能:吞吐量、平均I/O延遲等。
在示例中,性能檢測通過性能檢測器來進行,該性能檢測器可以基于與所述多個硬件寄存器對應(yīng)的硬件設(shè)備的類型來設(shè)置。例如, 在圖2所示出的示例中,可以用HBA類型的性能檢測器來檢測存儲設(shè)備的性能的劣化情況:針對每種類型的硬盤,其平均I/O延遲一般在特定范圍內(nèi)(與I/O大小和模式有關(guān))。如果通過同一HBA連接的特定數(shù)量的硬盤具有性能問題(比如50%的硬盤的性能超過預(yù)定閾值),有可能認(rèn)為HBA的性能劣化。
此外,可以采用網(wǎng)絡(luò)性能檢測器來檢測網(wǎng)絡(luò)的性能是否劣化。與上述存儲性能的檢測類似的,可以考慮網(wǎng)絡(luò)堆棧自身的性能因子和用于評估的關(guān)鍵參數(shù)來對網(wǎng)絡(luò)性能加以評價。
本領(lǐng)域技術(shù)人員將理解,可以采用現(xiàn)有技術(shù)中的任何其他性能檢測方式來獲取相關(guān)設(shè)備的性能情況,本發(fā)明在此方面不受限制。另外,在示例性實現(xiàn)中,方法100的步驟S102同樣可以由前述監(jiān)視模塊或守護程序來執(zhí)行。
返回圖1,方法100前進到步驟S103,響應(yīng)于確定與所述一個或多個硬件寄存器對應(yīng)的硬件設(shè)備中的一個硬件設(shè)備的性能劣化,確定所述一個硬件設(shè)備出現(xiàn)錯誤。此時,根據(jù)本發(fā)明的可選實施方式,可以向監(jiān)視模塊報告這一錯誤,而監(jiān)視模塊則可以將該性能事件和其所檢測到的硬件寄存器錯誤進行關(guān)聯(lián),并在日志中記錄錯誤。
通過步驟S101至S103,方法100使得能夠?qū)偩€結(jié)構(gòu)中出現(xiàn)的錯誤自動地進行檢測,一方面節(jié)約了成本,另一方面也提高了錯誤檢測的效率。
在根據(jù)本發(fā)明的進一步實施方式中,方法100還可以包括可選的確定出現(xiàn)錯誤的硬件設(shè)備是否存在備用設(shè)備的步驟,以及可選的響應(yīng)于存在備用設(shè)備,使用所述備用設(shè)備對所述出現(xiàn)錯誤的硬件設(shè)備進行故障轉(zhuǎn)移的步驟(圖1未示出)。
在實現(xiàn)中,故障轉(zhuǎn)移的相關(guān)命令可以由前述監(jiān)視模塊或守護程序來發(fā)出。具體的故障轉(zhuǎn)移機制根據(jù)不同的設(shè)備類型而有所不同,本發(fā)明在此方面不受限制??蛇x地,與此同時,出現(xiàn)錯誤的硬件設(shè)備可以被重置。例如,可以由監(jiān)視模塊或守護程序通知總線驅(qū)動器和設(shè)備驅(qū)動器停止I/O、解除對設(shè)備的配置并繼而重置該設(shè)備。此后,根據(jù)本發(fā)明的進一步可選實施方式,還可以至少部分地基于出現(xiàn)錯誤的硬件設(shè)備的故障恢復(fù)歷史來決定是否從所述備用設(shè)備切換回該出現(xiàn)錯 誤的硬件設(shè)備。例如,如果該設(shè)備是第一次被重置,則認(rèn)為其出現(xiàn)的錯誤是短暫的,有可能能夠恢復(fù),因此可以重新配置該設(shè)備并且在對其進行重置后切換回該設(shè)備。否則,如果根據(jù)該設(shè)備的故障恢復(fù)歷史判斷其不適宜進行故障恢復(fù)(例如,在重置之后該設(shè)備的性能仍然可能不穩(wěn)定),則可以例如通知用戶或管理人員,記錄日志,并且根據(jù)需要進行后續(xù)動作(如更換設(shè)備)。本發(fā)明在此方面不受限制。
至此,方法100結(jié)束。
可以看到,通過方法100除了步驟S101至S103之外的其他附加步驟可以使得在確定出總線結(jié)構(gòu)中的錯誤之后方便地對該錯誤進行處理,進一步提高了系統(tǒng)的可用性和可服務(wù)性,降低了成本,改善了用戶體驗。
接下來參看圖3描述根據(jù)本發(fā)明示例性實施方式的用于在總線結(jié)構(gòu)中檢測及處理錯誤的系統(tǒng)300。
如圖所示,系統(tǒng)300包括錯誤獲取單元301、性能檢測單元302和錯誤判斷單元303。其中,錯誤獲取單元301被配置為從與所述總線關(guān)聯(lián)的多個硬件寄存器中獲取錯誤信息。性能檢測單元302被配置為響應(yīng)于確定所述多個硬件寄存器中的一個或多個硬件寄存器中的所述錯誤的數(shù)量超過預(yù)定閾值,檢測與所述一個或多個硬件寄存器對應(yīng)的硬件設(shè)備的性能;以及錯誤判定單元303被配置為響應(yīng)于確定與所述一個或多個硬件寄存器對應(yīng)的硬件設(shè)備中的一個硬件設(shè)備的性能劣化,確定所述一個硬件設(shè)備出現(xiàn)錯誤。
在本發(fā)明的可選實施方式中,系統(tǒng)300進一步包括:備用設(shè)備確定單元,被配置為確定所述一個硬件設(shè)備是否存在備用設(shè)備;以及故障轉(zhuǎn)移單元,被配置為響應(yīng)于存在備用設(shè)備,使用所述備用設(shè)備對所述一個硬件設(shè)備進行故障轉(zhuǎn)移。
在本發(fā)明的可選實施方式中,系統(tǒng)300進一步包括:重置單元,被配置為重置所述一個硬件設(shè)備。
在本發(fā)明的可選實施方式中,系統(tǒng)300進一步包括:故障恢復(fù)單元,被配置為在重置所述一個硬件設(shè)備之后,至少部分地基于所述一個硬件設(shè)備的故障恢復(fù)歷史來決定是否從所述備用設(shè)備切換回所述一個硬件設(shè)備。
在本發(fā)明的可選實施方式中,其中,所述從與所述總線關(guān)聯(lián)的多個硬件寄存器中獲取錯誤信息包括:周期性地輪詢所述多個硬件寄存器以獲取所述錯誤信息。
在本發(fā)明的可選實施方式中,輪詢所述多個硬件寄存器的周期根據(jù)所述錯誤的數(shù)量而動態(tài)調(diào)整。
在本發(fā)明的可選實施方式中,所述從與所述總線關(guān)聯(lián)的多個硬件寄存器中獲取錯誤信息包括:監(jiān)聽來自所述硬件寄存器的、報告所述錯誤信息的中斷消息,以獲取所述錯誤信息。
在本發(fā)明的可選實施方式中,當(dāng)所述錯誤的數(shù)量大于預(yù)定閾值時,禁用所述中斷消息;并且通過周期性地輪詢所述多個硬件寄存器來獲取所述錯誤信息。
在本發(fā)明的可選實施方式中,所述與所述一個或多個硬件寄存器對應(yīng)的硬件設(shè)備的性能通過性能檢測器來檢測,所述性能檢測器基于與所述多個硬件寄存器對應(yīng)的硬件設(shè)備的類型來設(shè)置。
下面參考圖4,其示出了適于用來實踐本發(fā)明實施方式的計算機系統(tǒng)400的示意性框圖。例如,圖4所示的計算機系統(tǒng)400可以用于實現(xiàn)如上文描述的在總線結(jié)構(gòu)中檢測及處理錯誤的系統(tǒng)300的各個部件,也可以用于固化或?qū)崿F(xiàn)如上文描述的在總線結(jié)構(gòu)中檢測及處理錯誤的方法100的各個步驟。
如圖4所示,計算機系統(tǒng)可以包括:CPU(中央處理單元)401、RAM(隨機存取存儲器)402、ROM(只讀存儲器)403、系統(tǒng)總線404、硬盤控制器405、鍵盤控制器406、串行接口控制器407、并行接口控制器408、顯示控制器409、硬盤410、鍵盤411、串行外部設(shè)備412、并行外部設(shè)備413和顯示器414。在這些設(shè)備中,與系統(tǒng)總線404耦合的有CPU 401、RAM 402、ROM 403、硬盤控制器405、鍵盤控制器406、串行控制器407、并行控制器408和顯示控制器409。硬盤410與硬盤控制器405耦合,鍵盤411與鍵盤控制器406耦合,串行外部設(shè)備412與串行接口控制器407耦合,并行外部設(shè)備413與并行接口控制器408耦合,以及顯示器414與顯示控制器409耦合。應(yīng)當(dāng)理解,圖4所述的結(jié)構(gòu)框圖僅僅為了示例的目的而示出的,而不是對本發(fā)明范圍的限制。在某些情況下,可以根據(jù)具體情況而增加或 者減少某些設(shè)備。
如上所述,系統(tǒng)300可以實現(xiàn)為純硬件,例如芯片、ASIC、SOC等。這些硬件可以集成在計算機系統(tǒng)400中。此外,本發(fā)明的實施方式也可以通過計算機程序產(chǎn)品的形式實現(xiàn)。例如,參考圖1描述的方法100可以通過計算機程序產(chǎn)品來實現(xiàn)。該計算機程序產(chǎn)品可以存儲在例如圖4所示的RAM 402、ROM 403、硬盤410和/或任何適當(dāng)?shù)拇鎯橘|(zhì)中,或者通過網(wǎng)絡(luò)從適當(dāng)?shù)奈恢孟螺d到計算機系統(tǒng)400上。計算機程序產(chǎn)品可以包括計算機代碼部分,其包括可由適當(dāng)?shù)奶幚碓O(shè)備(例如,圖4中示出的CPU 401)執(zhí)行的程序指令。所述程序指令至少可以包括用于實現(xiàn)方法100的步驟的指令。這些指令例如包括:用于從與所述總線關(guān)聯(lián)的多個硬件寄存器中獲取錯誤信息的指令;用于響應(yīng)于確定所述多個硬件寄存器中的一個或多個硬件寄存器中的所述錯誤的數(shù)量超過預(yù)定閾值,檢測與所述一個或多個硬件寄存器對應(yīng)的硬件設(shè)備的性能的指令;以及用于響應(yīng)于確定與所述一個或多個硬件寄存器對應(yīng)的硬件設(shè)備中的一個硬件設(shè)備的性能劣化,確定所述一個硬件設(shè)備出現(xiàn)錯誤的指令。
上文已經(jīng)結(jié)合若干具體實施方式闡釋了本發(fā)明的精神和原理。根據(jù)本發(fā)明的用于在總線結(jié)構(gòu)中檢測及處理錯誤的方法和系統(tǒng)相對于現(xiàn)有技術(shù)具有諸多優(yōu)點。例如,本發(fā)明所提供的方法和系統(tǒng)使得能夠?qū)偩€結(jié)構(gòu)中出現(xiàn)的錯誤自動地進行檢測,一方面節(jié)約了成本,另一方面也提高了錯誤檢測的效率。此外,通過本發(fā)明提供的實施方式,使得在確定出總線結(jié)構(gòu)中的錯誤之后方便地對該錯誤進行處理,進一步提高了系統(tǒng)的可用性和可服務(wù)性,降低了成本,改善了用戶體驗。
應(yīng)當(dāng)注意,本發(fā)明的實施方式可以通過硬件、軟件或者軟件和硬件的結(jié)合來實現(xiàn)。硬件部分可以利用專用邏輯來實現(xiàn);軟件部分可以存儲在存儲器中,由適當(dāng)?shù)闹噶顖?zhí)行系統(tǒng),例如微處理器或者專用設(shè)計硬件來執(zhí)行。本領(lǐng)域的普通技術(shù)人員可以理解上述的設(shè)備和方法可以使用計算機可執(zhí)行指令和/或包含在處理器控制代碼中來實現(xiàn),例如在諸如磁盤、CD或DVD-ROM的載體介質(zhì)、諸如只讀存儲器(固件)的可編程的存儲器或者諸如光學(xué)或電子信號載體的數(shù)據(jù)載體上提供了這樣的代碼。本發(fā)明的設(shè)備及其模塊可以由諸如超大規(guī)模集成電 路或門陣列、諸如邏輯芯片、晶體管等的半導(dǎo)體、或者諸如現(xiàn)場可編程門陣列、可編程邏輯設(shè)備等的可編程硬件設(shè)備的硬件電路實現(xiàn),也可以用由各種類型的處理器執(zhí)行的軟件實現(xiàn),也可以由上述硬件電路和軟件的結(jié)合例如固件來實現(xiàn)。
應(yīng)當(dāng)注意,盡管在上文詳細(xì)描述中提及了設(shè)備的若干裝置或子裝置,但是這種劃分僅僅并非強制性的。實際上,根據(jù)本發(fā)明的實施方式,上文描述的兩個或更多裝置的特征和功能可以在一個裝置中具體化。反之,上文描述的一個裝置的特征和功能可以進一步劃分為由多個裝置來具體化。
此外,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實現(xiàn)期望的結(jié)果。相反,流程圖中描繪的步驟可以改變執(zhí)行順序。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,和/或?qū)⒁粋€步驟分解為多個步驟執(zhí)行。
雖然已經(jīng)參考若干具體實施方式描述了本發(fā)明,但是應(yīng)該理解,本發(fā)明并不限于所公開的具體實施方式。本發(fā)明旨在涵蓋所附權(quán)利要求的精神和范圍內(nèi)所包括的各種修改和等同布置。所附權(quán)利要求的范圍符合最寬泛的解釋,從而包含所有這樣的修改及等同結(jié)構(gòu)和功能。