專利名稱::卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種卷影復(fù)制服務(wù)(VolumeShadowCopykrvice,VSS,亦稱為磁盤區(qū)陰影復(fù)制服務(wù)),特別涉及一種卷影復(fù)制服務(wù)的供應(yīng)程序(provider)的對象(object)的創(chuàng)建方法。
背景技術(shù):
:由于網(wǎng)絡(luò)的普及以及爆炸性的信息成長,將電子數(shù)據(jù)以及計算器系統(tǒng)(例如個人計算機(jī)以及服務(wù)器)的應(yīng)用程序加以儲存與備份的需求也隨之增加。尤其是對于具有重大價值的研發(fā)及商品數(shù)據(jù),或是個人數(shù)據(jù)等機(jī)密文件,更有將其備份的需求。然而隨著計算機(jī)系統(tǒng)持續(xù)發(fā)展成為復(fù)雜的軟件和硬件架構(gòu),執(zhí)行數(shù)據(jù)儲存與備份時的復(fù)雜度也增加了。例如傳統(tǒng)的備份僅需要將同一個計算機(jī)中的一個磁盤(disk)或是扇區(qū)(volume,亦稱為卷)中的數(shù)據(jù)復(fù)制到另一個儲存地址。但現(xiàn)今所需的是,能夠?qū)τ诔掷m(xù)動態(tài)改變的數(shù)據(jù)及應(yīng)用程序等進(jìn)行備份的技術(shù)。例如必須無間斷地提供網(wǎng)絡(luò)服務(wù)的大型服務(wù)器,就需要可靠、快速且不中斷運(yùn)作的備份方式。但是當(dāng)備份的對象數(shù)據(jù)不斷改變時,要如何達(dá)到應(yīng)用程序一致(application-consistent)的備份成為一大課題。對此衍生出了陰影復(fù)制(shadowcopy)的技術(shù),其能將隨時間而改變的數(shù)據(jù)備份為在不同時間點(diǎn)之下的快照(snapshot)。微軟(Microsoft)公司的卷影復(fù)制服務(wù)(VolumeShadowCopykrvice,VSQ便是將這種技術(shù)實(shí)作出來的一個代表。VSS搭配請求程序(requestor)、寫入程序(writer)以及供應(yīng)程序(provider),能備份處于開啟中或是使用中的文件。與VSS配合的請求程序、寫入程序以及供應(yīng)程序都可由第三廠商開發(fā)。然而第三廠商可能僅針對請求程序或是供應(yīng)程序進(jìn)行開發(fā),而非開發(fā)整個VSS架構(gòu)。例如開發(fā)供應(yīng)程序的廠商欲針對供應(yīng)程序進(jìn)行開發(fā)與測試,但實(shí)際上微軟的VSS提供的VSS函式(function)只能針對整體的VSS進(jìn)行操作,而無法直接操作或存取單一的供應(yīng)程序。對此,第三廠商在要對開發(fā)的供應(yīng)程序進(jìn)行測試時,會遇到非常大的困擾。由于VSS函式是對整個VSS進(jìn)行操作,因此以現(xiàn)有的VSS函式測試供應(yīng)程序時,會受到寫入程序等其余程序的干擾。而為了解決無法對供應(yīng)程序進(jìn)行直接的存取、操作、管理或測試的問題,就必須設(shè)法取得供應(yīng)程序的對象(object)。
發(fā)明內(nèi)容如上所述,為取得供應(yīng)程序(provider)的對象(object),本發(fā)明提供一種卷影復(fù)制服務(wù)(VolumeShadowCopyService,VSS,亦稱為磁盤區(qū)陰影復(fù)制服務(wù))的供應(yīng)程序的對象的創(chuàng)建方法。卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法包括提供具有至少一供應(yīng)程序的名稱的列表;從供應(yīng)程序的名稱的列表中取得被選定的一供應(yīng)程序的名稱;遍歷操作系統(tǒng)的注冊表中的VSS,尋找被選定的供應(yīng)程序的信息;依據(jù)供應(yīng)程序的信息以及被選定的供應(yīng)程序的名稱,得到選定的供應(yīng)程序的一類別識別碼(classid);以及依據(jù)類別識別碼,借由一VSS創(chuàng)建函式創(chuàng)建供應(yīng)程序的一對象。其中供應(yīng)程序的信息可包括供應(yīng)程序的名稱、類別識別碼、一類型、一版本或是一版本識別碼。而用以創(chuàng)建對象的VSS創(chuàng)建函式可以是CoCreatehstance函式,或是CoGetClassObject函式。卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法還可包括當(dāng)依據(jù)供應(yīng)程序的信息以及被指選定的供應(yīng)程序的供應(yīng)程序名稱,無法得到被指選定的供應(yīng)程序的類別識別碼時,發(fā)出一錯誤信息。卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法亦可包括當(dāng)依據(jù)類別識別碼創(chuàng)建供應(yīng)程序的對象失敗時,發(fā)出錯誤信息。此外,根據(jù)本發(fā)明的一實(shí)施范例,在創(chuàng)建出對象之后,卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法可包括其它步驟。卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法可包括以對象的一接口(interface,亦稱為接口)以及一地址存取對象。其中接口可以是VSS的QueryInterface函式。卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法亦可包括對對象進(jìn)行其創(chuàng)建、刪除或?qū)С龅墓δ苄缘臏y試。綜上所述,根據(jù)本發(fā)明的卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法自動由注冊表中遍歷VSS以得到供應(yīng)程序的類別識別碼,再借由VSS創(chuàng)建函式創(chuàng)建出可獨(dú)立被存取或控制的供應(yīng)程序的對象。得到此對象后,使用者可以針對單一個供應(yīng)程序的對象下達(dá)指令或存取之;亦可針對此對象進(jìn)行其創(chuàng)建、刪除或?qū)С龅墓δ苄缘臏y試。以下結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)描述,但不作為對本發(fā)明的限定。圖1為根據(jù)本發(fā)明一實(shí)施范例的卷影復(fù)制服務(wù)的方框示意圖;圖2為根據(jù)本發(fā)明一實(shí)施范例的卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法的流程圖;圖3為根據(jù)本發(fā)明另一實(shí)施范例的卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法的流程圖;以及圖4為根據(jù)本發(fā)明又一實(shí)施范例的卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法的流程圖。其中,附圖標(biāo)記20卷影復(fù)制服務(wù)22請求程序24寫入程序26供應(yīng)程序具體實(shí)施例方式以下在實(shí)施方式中詳細(xì)敘述本發(fā)明的詳細(xì)特征以及優(yōu)點(diǎn),其內(nèi)容足以使任何本領(lǐng)域技術(shù)人員了解本發(fā)明的技術(shù)內(nèi)容并據(jù)以實(shí)施,且根據(jù)本說明書所揭露的內(nèi)容、權(quán)利要求范圍及圖式,任何本領(lǐng)域技術(shù)人員可輕易地理解本發(fā)明相關(guān)的目的及優(yōu)點(diǎn)。本發(fā)明提供一種卷影復(fù)制服務(wù)(VolumeShadowCopykrvice,VSS,亦稱為磁盤區(qū)陰影復(fù)制服務(wù))的供應(yīng)程序(provider)的對象(object)的創(chuàng)建方法,其適用于運(yùn)行于計算機(jī)的微軟(Microsoft)的一VSS。請參照圖1,為根據(jù)本發(fā)明一實(shí)施范例的卷影復(fù)制服務(wù)的方框示意圖。卷影復(fù)制服務(wù)20(以下簡稱VSS20)是一種儲存以及備份文件的技術(shù),能夠在指定的時間手動或自動為磁盤區(qū)作復(fù)制的服務(wù)。其能提供快速且可靠的備份機(jī)制,且微軟(Microsoft)的WindowsServer2003或是Windows7等操作系統(tǒng)均有實(shí)作VSS20。如1圖所示,VSS20的系統(tǒng)是配合一請求程序(requestor)22、一寫入程序(writer)24以及一供應(yīng)程序(provider)26,以進(jìn)行磁盤區(qū)的復(fù)制工作。其中請求程序22是為請求陰影復(fù)制(即VSS20)的應(yīng)用程序,例如自動備份程序或是儲存管理程序。寫入程序M是用已通知欲復(fù)制對象的數(shù)據(jù),以保護(hù)這些數(shù)據(jù)。例如欲復(fù)制對象是一個數(shù)據(jù)庫內(nèi)的表格,寫入程序M在進(jìn)行陰影復(fù)制前后通知此數(shù)據(jù)庫。因此寫入程序M可保護(hù)原始的數(shù)據(jù),并確保VSS20產(chǎn)生的復(fù)制數(shù)據(jù)與原始數(shù)據(jù)的一致性與準(zhǔn)確性。舉例而言,寫入程序M可以是現(xiàn)用目錄(ActiveDirectory,DA)服務(wù)或是動態(tài)主機(jī)組態(tài)協(xié)議(DynamicHostConfigurationProtocol,DHCP)。供應(yīng)程序沈則用于實(shí)現(xiàn)硬件或軟件陰影復(fù)制機(jī)制,也就是創(chuàng)建陰影復(fù)制。供應(yīng)程序26可分為硬件、軟件以及系統(tǒng)的供應(yīng)程序沈。例如微軟等系統(tǒng)廠商提供系統(tǒng)的供應(yīng)程序沈,而硬件或軟件的供應(yīng)程序沈則可由第三廠商開發(fā)。以VSS20執(zhí)行陰影復(fù)制的工作時,首先請求程序22向VSS20提出陰影復(fù)制的請求。VSS20接著告知寫入程序24,以令寫入程序M要求復(fù)制對象(也就是欲復(fù)制數(shù)據(jù))暫停活動。VSS20并向供應(yīng)程序沈要求建立陰影復(fù)制,再于陰影復(fù)制結(jié)束后令寫入程序M通知復(fù)制對象恢復(fù)活動。然而如上所述,進(jìn)行陰影復(fù)制時,供應(yīng)程序沈是與VSS20、請求程序22以及寫入程序M共同合作,而無法單獨(dú)運(yùn)作。為了讓使用者能夠進(jìn)行直接的存取、操作、管理或測試供應(yīng)程序沈,根據(jù)本發(fā)明提供了創(chuàng)建供應(yīng)程序沈的一對象。請參照圖2,其是為根據(jù)本發(fā)明一實(shí)施范例的卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法的流程圖。首先,提供使用者具有至少一個供應(yīng)程序沈的名稱的列表(步驟S30)。WindowsServer2003等操作系統(tǒng)維護(hù)有一個注冊表(registertable),其中登錄了計算器中所有能用的服務(wù),以及這些服務(wù)相關(guān)的配置等等信息。例如于Windows操作系統(tǒng)的接口(interface,亦稱為界面)下,執(zhí)行“regedit”指令便可開啟此注冊表。VSS20中可以使用的供應(yīng)程序沈亦被操作系統(tǒng)登錄于注冊表中,與VSS20相關(guān)的部分。而在步驟S30,便是將現(xiàn)有的至少一個供應(yīng)程序沈的名稱提供給使用者。列出供應(yīng)程序沈的名稱的列表舉例如下~{2f900f90-00e9-440e-837a-96ca5eb079e5}{b57190af-454a-4dd0-8afd-e57facd5d9af}權(quán)利要求1.一種卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法,其特征在于,包括提供具有至少一供應(yīng)程序的名稱的列表;從該供應(yīng)程序的名稱的列表中取得被選定的一該供應(yīng)程序的名稱;遍歷操作系統(tǒng)的注冊表中的卷影復(fù)制服務(wù),尋找被選定的該供應(yīng)程序的信息;依據(jù)該供應(yīng)程序的信息以及被選定的該供應(yīng)程序的名稱,得到選定的該供應(yīng)程序的一類別識別碼;以及依據(jù)該類別識別碼,借由一卷影復(fù)制服務(wù)創(chuàng)建函式創(chuàng)建該供應(yīng)程序的一對象。2.根據(jù)權(quán)利要求1所述的卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法,其特征在于,還包括以該對象的一接口以及一地址存取該對象。3.根據(jù)權(quán)利要求2所述的卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法,其特征在于,該接口為卷影復(fù)制服務(wù)的QueryInterface函式。4.根據(jù)權(quán)利要求1所述的卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法,其特征在于,還包括對該對象進(jìn)行其創(chuàng)建、刪除或?qū)С龅墓δ苄缘臏y試。5.根據(jù)權(quán)利要求1所述的卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法,其特征在于,還包括當(dāng)依據(jù)該供應(yīng)程序的信息以及被選定的該供應(yīng)程序的名稱,無法得到被選定的該供應(yīng)程序的該類別識別碼時,發(fā)出一錯誤信息。6.根據(jù)權(quán)利要求1所述的卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法,其特征在于,還包括當(dāng)依據(jù)該類別識別碼創(chuàng)建該供應(yīng)程序的該對象失敗時,發(fā)出一錯誤信息。7.根據(jù)權(quán)利要求1所述的卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法,其特征在于,該卷影復(fù)制服務(wù)創(chuàng)建函式為CoCreatehstance函式或是CoGetClassObject函式。8.根據(jù)權(quán)利要求1所述的卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法,其特征在于,該供應(yīng)程序的信息包括該供應(yīng)程序的名稱、該類別識別碼、一類型、一版本或是一版本識別碼。全文摘要一種卷影復(fù)制服務(wù)的供應(yīng)程序的對象的創(chuàng)建方法,包括提供具有供應(yīng)程序的名稱的列表;從供應(yīng)程序的名稱的列表中取得被選定的一供應(yīng)程序的名稱;遍歷操作系統(tǒng)的注冊表中的卷影復(fù)制服務(wù),尋找被選定的供應(yīng)程序的信息;依據(jù)供應(yīng)程序的信息以及被指選定的供應(yīng)程序的名稱,得到選定的供應(yīng)程序的類別識別碼;以及依據(jù)類別識別碼,借由卷影復(fù)制服務(wù)創(chuàng)建函式創(chuàng)建供應(yīng)程序的對象。文檔編號G06F11/14GK102214126SQ20101014212公開日2011年10月12日申請日期2010年4月2日優(yōu)先權(quán)日2010年4月2日發(fā)明者李晟,杜啟飛,陳玄同申請人:英業(yè)達(dá)股份有限公司