本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)遷移方法、裝置及計(jì)算設(shè)備。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,計(jì)算機(jī)在工作和生活中扮演著的角色也越來(lái)越重要。Linux系統(tǒng)作為一種性能優(yōu)良的操作系統(tǒng),逐漸應(yīng)用于越來(lái)越多的領(lǐng)域,大量的用戶(hù)開(kāi)始通過(guò)Linux系統(tǒng)來(lái)操作和使用計(jì)算機(jī)。
然而,在安裝Linux系統(tǒng)的過(guò)程中,將Windows系統(tǒng)下的數(shù)據(jù)遷移至Linux系統(tǒng)時(shí),對(duì)于一些企業(yè)或者專(zhuān)業(yè)個(gè)人用戶(hù)而言,由于數(shù)據(jù)加密或企業(yè)信息管理等原因,用戶(hù)的動(dòng)態(tài)信息,如保密性數(shù)據(jù)和IP信息等,是只有在用戶(hù)運(yùn)行Windows系統(tǒng)并正確認(rèn)證時(shí)才能獲取到,而常規(guī)的Linux系統(tǒng)安裝器,如Ubuntu系統(tǒng)(一種常見(jiàn)的Linux系統(tǒng))主導(dǎo)的Wubi安裝器,是在Linux環(huán)境下進(jìn)行系統(tǒng)數(shù)據(jù)遷移,導(dǎo)致上述動(dòng)態(tài)信息無(wú)法獲取,難以采集完整的用戶(hù)數(shù)據(jù)。同時(shí),現(xiàn)在大部分計(jì)算機(jī)都支持UEFI(Unified Extensible Firmware Interface)的啟動(dòng)方式并將其設(shè)置為默認(rèn)引導(dǎo)方式,而Wubi安裝器完全不支持UEFI方式,導(dǎo)致安裝Linux系統(tǒng)時(shí)的便利性和兼容性較低。
技術(shù)實(shí)現(xiàn)要素:
為此,本發(fā)明提供一種數(shù)據(jù)遷移方案,以力圖解決或者至少緩解上面存在的問(wèn)題。
根據(jù)本發(fā)明的一個(gè)方面,提供一種數(shù)據(jù)遷移方法,適于在運(yùn)行有Windows系統(tǒng)的計(jì)算設(shè)備中執(zhí)行,該方法包括如下步驟:首先,通過(guò)Windows系統(tǒng)中的API接口創(chuàng)建虛擬磁盤(pán)鏡像文件,所述虛擬磁盤(pán)鏡像文件中存儲(chǔ)有Linux系統(tǒng)的相關(guān)數(shù)據(jù);根據(jù)用戶(hù)引導(dǎo)信息啟動(dòng)對(duì)應(yīng)的引導(dǎo)程序,以調(diào)用多系統(tǒng)引導(dǎo)器;收集Windows系統(tǒng)中的用戶(hù)數(shù)據(jù)并存儲(chǔ)在預(yù)設(shè)的存儲(chǔ)區(qū)域,所述用戶(hù)數(shù)據(jù)包括靜態(tài)數(shù)據(jù)和動(dòng)態(tài)數(shù)據(jù);根據(jù)多系統(tǒng)引導(dǎo)器的引導(dǎo),利用虛擬磁盤(pán)鏡像文件安裝Linux系統(tǒng);將預(yù)設(shè)的存儲(chǔ)區(qū)域中存儲(chǔ)的用戶(hù)數(shù)據(jù)導(dǎo)入到已安裝好的Linux系統(tǒng)中;修改多系統(tǒng)引導(dǎo)器的引導(dǎo)信息,以引導(dǎo)虛擬磁盤(pán)鏡像文件中的Linux系統(tǒng)。
可選地,在根據(jù)本發(fā)明的數(shù)據(jù)遷移方法中,根據(jù)用戶(hù)引導(dǎo)信息啟動(dòng)對(duì)應(yīng)的引導(dǎo)程序以調(diào)用多系統(tǒng)引導(dǎo)器包括:判斷用戶(hù)引導(dǎo)信息為UEFI引導(dǎo)信息還是Windows引導(dǎo)信息;如果所述用戶(hù)引導(dǎo)信息為UEFI引導(dǎo)信息,則啟動(dòng)UEFI引導(dǎo)程序,在EFI分區(qū)中寫(xiě)入多系統(tǒng)引導(dǎo)器,根據(jù)用戶(hù)選擇來(lái)調(diào)用所述多系統(tǒng)引導(dǎo)器;如果所述用戶(hù)引導(dǎo)信息為Windows引導(dǎo)信息,則啟動(dòng)Windows引導(dǎo)程序,將Windows引導(dǎo)程序配置變更為所述多系統(tǒng)引導(dǎo)器并進(jìn)行調(diào)用。
可選地,在根據(jù)本發(fā)明的數(shù)據(jù)遷移方法中,靜態(tài)數(shù)據(jù)包括用戶(hù)的個(gè)性化設(shè)置和已下載的資料中的至少一種,所述動(dòng)態(tài)信息包括用戶(hù)的網(wǎng)絡(luò)IP地址、掛載的網(wǎng)絡(luò)磁盤(pán)和認(rèn)證域中的至少一種。
可選地,在根據(jù)本發(fā)明的數(shù)據(jù)遷移方法中,將預(yù)設(shè)的存儲(chǔ)區(qū)域中存儲(chǔ)的用戶(hù)數(shù)據(jù)導(dǎo)入到已安裝好的Linux系統(tǒng)中包括:如果預(yù)設(shè)的存儲(chǔ)區(qū)域中存儲(chǔ)的用戶(hù)數(shù)據(jù)為靜態(tài)數(shù)據(jù),則將所述靜態(tài)數(shù)據(jù)拷貝到已安裝好的Linux系統(tǒng);如果預(yù)設(shè)的存儲(chǔ)區(qū)域中存儲(chǔ)的用戶(hù)數(shù)據(jù)為動(dòng)態(tài)數(shù)據(jù),則通過(guò)所述動(dòng)態(tài)數(shù)據(jù)來(lái)配置已安裝好的Linux系統(tǒng)。
可選地,在根據(jù)本發(fā)明的數(shù)據(jù)遷移方法中,多系統(tǒng)引導(dǎo)器的引導(dǎo)信息包括Linux系統(tǒng)內(nèi)核位置、Linux系統(tǒng)初始化數(shù)據(jù)位置、啟動(dòng)分區(qū)位置中至少一種。
可選地,在根據(jù)本發(fā)明的數(shù)據(jù)遷移方法中,還包括啟動(dòng)已安裝好的Linux系統(tǒng)。
可選地,在根據(jù)本發(fā)明的數(shù)據(jù)遷移方法中,啟動(dòng)已安裝好的Linux系統(tǒng)包括:根據(jù)用戶(hù)引導(dǎo)信息啟動(dòng)對(duì)應(yīng)的引導(dǎo)程序,以調(diào)用多系統(tǒng)引導(dǎo)器;通過(guò)所述多系統(tǒng)引導(dǎo)器加載NTFS磁盤(pán)驅(qū)動(dòng),并掛載虛擬磁盤(pán)鏡像文件;利用所述多系統(tǒng)引導(dǎo)器引導(dǎo)內(nèi)核啟動(dòng)Linux系統(tǒng)。
根據(jù)本發(fā)明的另一個(gè)方面,提供一種數(shù)據(jù)遷移裝置,適于駐留在運(yùn)行有Windows系統(tǒng)的計(jì)算設(shè)備中,該裝置包括創(chuàng)建模塊、第一啟動(dòng)模塊、收集模塊、安裝模塊、導(dǎo)入模塊和修改模塊。創(chuàng)建模塊適于通過(guò)Windows系統(tǒng)中的API接口創(chuàng)建虛擬磁盤(pán)鏡像文件,所述虛擬磁盤(pán)鏡像文件中存儲(chǔ)有Linux系統(tǒng)的相關(guān)數(shù)據(jù);第一啟動(dòng)模塊適于根據(jù)用戶(hù)引導(dǎo)信息啟動(dòng)對(duì)應(yīng)的引導(dǎo)程序,以調(diào)用多系統(tǒng)引導(dǎo)器;收集模塊適于收集Windows系統(tǒng)中的用戶(hù)數(shù)據(jù)并存儲(chǔ)在預(yù)設(shè)的存儲(chǔ)區(qū)域,所述用戶(hù)數(shù)據(jù)包括靜態(tài)數(shù)據(jù)和動(dòng)態(tài)數(shù)據(jù);安裝模塊適于根據(jù)多系統(tǒng)引導(dǎo)器的引導(dǎo),利用虛擬磁盤(pán)鏡像文件安裝Linux系統(tǒng);導(dǎo)入模塊適于將預(yù)設(shè)的存儲(chǔ)區(qū)域中存儲(chǔ)的用戶(hù)數(shù)據(jù)導(dǎo)入到已安裝好的Linux系統(tǒng)中;修改模塊適于修改多系統(tǒng)引導(dǎo)器的引導(dǎo)信息,以引導(dǎo)虛擬磁盤(pán)鏡像文件中的Linux系統(tǒng)。
可選地,根據(jù)本發(fā)明的數(shù)據(jù)遷移裝置中,第一啟動(dòng)模塊進(jìn)一步適于:判判斷用戶(hù)引導(dǎo)信息為UEFI引導(dǎo)信息還是Windows引導(dǎo)信息;當(dāng)所述用戶(hù)引導(dǎo)信息為UEFI引導(dǎo)信息時(shí),啟動(dòng)UEFI引導(dǎo)程序,在EFI分區(qū)中寫(xiě)入多系統(tǒng)引導(dǎo)器,根據(jù)用戶(hù)選擇來(lái)調(diào)用所述多系統(tǒng)引導(dǎo)器;當(dāng)所述用戶(hù)引導(dǎo)信息為Windows引導(dǎo)信息時(shí),啟動(dòng)Windows引導(dǎo)程序,將Windows引導(dǎo)程序配置變更為所述多系統(tǒng)引導(dǎo)器并進(jìn)行調(diào)用。
可選地,根據(jù)本發(fā)明的數(shù)據(jù)遷移裝置中,靜態(tài)數(shù)據(jù)包括用戶(hù)的個(gè)性化設(shè)置和已下載的資料中的至少一種,所述動(dòng)態(tài)信息包括用戶(hù)的網(wǎng)絡(luò)IP地址、掛載的網(wǎng)絡(luò)磁盤(pán)和認(rèn)證域中的至少一種。
可選地,根據(jù)本發(fā)明的數(shù)據(jù)遷移裝置中,導(dǎo)入模塊進(jìn)一步適于:當(dāng)預(yù)設(shè)的存儲(chǔ)區(qū)域中存儲(chǔ)的用戶(hù)數(shù)據(jù)為靜態(tài)數(shù)據(jù)時(shí),將所述靜態(tài)數(shù)據(jù)拷貝到已安裝好的Linux系統(tǒng);當(dāng)預(yù)設(shè)的存儲(chǔ)區(qū)域中存儲(chǔ)的用戶(hù)數(shù)據(jù)為動(dòng)態(tài)數(shù)據(jù)時(shí),通過(guò)所述動(dòng)態(tài)數(shù)據(jù)來(lái)配置已安裝好的Linux系統(tǒng)。
可選地,根據(jù)本發(fā)明的數(shù)據(jù)遷移裝置中,多系統(tǒng)引導(dǎo)器的引導(dǎo)信息包括Linux系統(tǒng)內(nèi)核位置、Linux系統(tǒng)初始化數(shù)據(jù)位置、啟動(dòng)分區(qū)位置中至少一種。
可選地,根據(jù)本發(fā)明的數(shù)據(jù)遷移裝置中,還包括第二啟動(dòng)模塊,適于動(dòng)已安裝好的Linux系統(tǒng)。
可選地,根據(jù)本發(fā)明的數(shù)據(jù)遷移裝置中,第二啟動(dòng)模塊進(jìn)一步適于:根據(jù)用戶(hù)引導(dǎo)信息啟動(dòng)對(duì)應(yīng)的引導(dǎo)程序,以調(diào)用多系統(tǒng)引導(dǎo)器;通過(guò)所述多系統(tǒng)引導(dǎo)器加載NTFS磁盤(pán)驅(qū)動(dòng),并掛載虛擬磁盤(pán)鏡像文件;利用所述多系統(tǒng)引導(dǎo)器引導(dǎo)內(nèi)核啟動(dòng)Linux系統(tǒng)。
根據(jù)本發(fā)明的又一個(gè)方面,提供一種計(jì)算設(shè)備,包括上述的數(shù)據(jù)遷移裝置。
根據(jù)本發(fā)明的數(shù)據(jù)遷移的技術(shù)方案,首先創(chuàng)建存儲(chǔ)有Linux系統(tǒng)相關(guān)數(shù)據(jù)的虛擬磁盤(pán)鏡像文件,根據(jù)用戶(hù)引導(dǎo)信息啟動(dòng)引導(dǎo)程序來(lái)調(diào)用多系統(tǒng)引導(dǎo)器,收集Windows系統(tǒng)中的用戶(hù)數(shù)據(jù),根據(jù)多系統(tǒng)引導(dǎo)器的引導(dǎo),利用虛擬磁盤(pán)鏡像文件安裝Linux系統(tǒng),再將用戶(hù)數(shù)據(jù)導(dǎo)入到已安裝好的Linux系統(tǒng)中。上述技術(shù)方案中,對(duì)于用戶(hù)引導(dǎo)信息是UEFI引導(dǎo)信息還是Windows引導(dǎo)信息,會(huì)采取不同的方式來(lái)啟動(dòng)對(duì)應(yīng)的引導(dǎo)程序,進(jìn)而實(shí)現(xiàn)了對(duì)UEFI啟動(dòng)方式的支持。而且收集到的用戶(hù)數(shù)據(jù)中除靜態(tài)數(shù)據(jù)外還包括動(dòng)態(tài)數(shù)據(jù),完善了Linux系統(tǒng)下的用戶(hù)數(shù)據(jù),避免用戶(hù)自行記錄或查找所需數(shù)據(jù),提升了用戶(hù)體驗(yàn)。
附圖說(shuō)明
為了實(shí)現(xiàn)上述以及相關(guān)目的,本文結(jié)合下面的描述和附圖來(lái)描述某些說(shuō)明性方面,這些方面指示了可以實(shí)踐本文所公開(kāi)的原理的各種方式,并且所有方面及其等效方面旨在落入所要求保護(hù)的主題的范圍內(nèi)。通過(guò)結(jié)合附圖閱讀下面的詳細(xì)描述,本公開(kāi)的上述以及其它目的、特征和優(yōu)勢(shì)將變得更加明顯。遍及本公開(kāi),相同的附圖標(biāo)記通常指代相同的部件或元素。
圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的計(jì)算設(shè)備100的示意圖;
圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)遷移方法200的流程圖;以及
圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的數(shù)據(jù)遷移裝置300的示意圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
圖1是示例計(jì)算設(shè)備100的框圖。在基本的配置102中,計(jì)算設(shè)備100典型地包括系統(tǒng)存儲(chǔ)器106和一個(gè)或者多個(gè)處理器104。存儲(chǔ)器總線(xiàn)108可以用于在處理器104和系統(tǒng)存儲(chǔ)器106之間的通信。
取決于期望的配置,處理器104可以是任何類(lèi)型的處理,包括但不限于:微處理器(μP)、微控制器(μC)、數(shù)字信息處理器(DSP)或者它們的任何組合。處理器104可以包括諸如一級(jí)高速緩存110和二級(jí)高速緩存112之類(lèi)的一個(gè)或者多個(gè)級(jí)別的高速緩存、處理器核心114和寄存器116。示例的處理器核心114可以包括運(yùn)算邏輯單元(ALU)、浮點(diǎn)數(shù)單元(FPU)、數(shù)字信號(hào)處理核心(DSP核心)或者它們的任何組合。示例的存儲(chǔ)器控制器118可以與處理器104一起使用,或者在一些實(shí)現(xiàn)中,存儲(chǔ)器控制器118可以是處理器104的一個(gè)內(nèi)部部分。
取決于期望的配置,系統(tǒng)存儲(chǔ)器106可以是任意類(lèi)型的存儲(chǔ)器,包括但不限于:易失性存儲(chǔ)器(諸如RAM)、非易失性存儲(chǔ)器(諸如ROM、閃存等)或者它們的任何組合。系統(tǒng)存儲(chǔ)器106可以包括操作系統(tǒng)120、一個(gè)或者多個(gè)應(yīng)用122以及程序數(shù)據(jù)124。在一些實(shí)施方式中,應(yīng)用122可以布置為在操作系統(tǒng)上利用程序數(shù)據(jù)124進(jìn)行操作。
計(jì)算設(shè)備100還可以包括有助于從各種接口設(shè)備(例如,輸出設(shè)備142、外設(shè)接口144和通信設(shè)備146)到基本配置102經(jīng)由總線(xiàn)/接口控制器130的通信的接口總線(xiàn)140。示例的輸出設(shè)備142包括圖形處理單元148和音頻處理單元150。它們可以被配置為有助于經(jīng)由一個(gè)或者多個(gè)A/V端口152與諸如顯示器或者揚(yáng)聲器之類(lèi)的各種外部設(shè)備進(jìn)行通信。示例外設(shè)接口144可以包括串行接口控制器154和并行接口控制器156,它們可以被配置為有助于經(jīng)由一個(gè)或者多個(gè)I/O端口158和諸如輸入設(shè)備(例如,鍵盤(pán)、鼠標(biāo)、筆、語(yǔ)音輸入設(shè)備、觸摸輸入設(shè)備)或者其他外設(shè)(例如打印機(jī)、掃描儀等)之類(lèi)的外部設(shè)備進(jìn)行通信。示例的通信設(shè)備146可以包括網(wǎng)絡(luò)控制器160,其可以被布置為便于經(jīng)由一個(gè)或者多個(gè)通信端口164與一個(gè)或者多個(gè)其他計(jì)算設(shè)備162通過(guò)網(wǎng)絡(luò)通信鏈路的通信。
網(wǎng)絡(luò)通信鏈路可以是通信介質(zhì)的一個(gè)示例。通信介質(zhì)通??梢泽w現(xiàn)為在諸如載波或者其他傳輸機(jī)制之類(lèi)的調(diào)制數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊,并且可以包括任何信息遞送介質(zhì)?!罢{(diào)制數(shù)據(jù)信號(hào)”可以這樣的信號(hào),它的數(shù)據(jù)集中的一個(gè)或者多個(gè)或者它的改變可以在信號(hào)中編碼信息的方式進(jìn)行。作為非限制性的示例,通信介質(zhì)可以包括諸如有線(xiàn)網(wǎng)絡(luò)或者專(zhuān)線(xiàn)網(wǎng)絡(luò)之類(lèi)的有線(xiàn)介質(zhì),以及諸如聲音、射頻(RF)、微波、紅外(IR)或者其它無(wú)線(xiàn)介質(zhì)在內(nèi)的各種無(wú)線(xiàn)介質(zhì)。這里使用的術(shù)語(yǔ)計(jì)算機(jī)可讀介質(zhì)可以包括存儲(chǔ)介質(zhì)和通信介質(zhì)二者。
計(jì)算設(shè)備100可以實(shí)現(xiàn)為小尺寸便攜(或者移動(dòng))電子設(shè)備的一部分,這些電子設(shè)備可以是諸如蜂窩電話(huà)、個(gè)人數(shù)字助理(PDA)、個(gè)人媒體播放器設(shè)備、無(wú)線(xiàn)網(wǎng)絡(luò)瀏覽設(shè)備、個(gè)人頭戴設(shè)備、應(yīng)用專(zhuān)用設(shè)備、或者可以包括上面任何功能的混合設(shè)備。計(jì)算設(shè)備100還可以實(shí)現(xiàn)為包括桌面計(jì)算機(jī)和筆記本計(jì)算機(jī)配置的個(gè)人計(jì)算機(jī)。在一些實(shí)施例中,計(jì)算設(shè)備100被配置為執(zhí)行根據(jù)本發(fā)明的數(shù)據(jù)遷移方法200。應(yīng)用122包括根據(jù)本發(fā)明的數(shù)據(jù)遷移裝置300。
圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)遷移方法200的流程圖。數(shù)據(jù)遷移方法200適于在計(jì)算設(shè)備(例如圖1所示的計(jì)算設(shè)備100)中執(zhí)行。
如圖2所示,方法200始于步驟S210。在步驟S210中,通過(guò)Windows系統(tǒng)中的API接口創(chuàng)建虛擬磁盤(pán)鏡像文件,虛擬磁盤(pán)鏡像文件中存儲(chǔ)有Linux系統(tǒng)的相關(guān)數(shù)據(jù)。在本實(shí)施例中,通過(guò)AdjustTokenPrivileges這個(gè)API接口提高權(quán)限以創(chuàng)建虛擬磁盤(pán)鏡像文件,關(guān)鍵代碼如下所示:
隨后,進(jìn)入步驟S220,根據(jù)用戶(hù)引導(dǎo)信息啟動(dòng)對(duì)應(yīng)的引導(dǎo)程序,以調(diào)用多系統(tǒng)引導(dǎo)器。首先,判斷用戶(hù)引導(dǎo)信息為UEFI引導(dǎo)信息還是Windows引導(dǎo)信息;如果用戶(hù)引導(dǎo)信息為UEFI引導(dǎo)信息,則啟動(dòng)UEFI引導(dǎo)程序,在EFI分區(qū)中寫(xiě)入多系統(tǒng)引導(dǎo)器,根據(jù)用戶(hù)選擇來(lái)調(diào)用多系統(tǒng)引導(dǎo)器;如果用戶(hù)引導(dǎo)信息為Windows引導(dǎo)信息,則啟動(dòng)Windows引導(dǎo)程序,將Windows引導(dǎo)程序配置變更為多系統(tǒng)引導(dǎo)器并進(jìn)行調(diào)用。在本實(shí)施例中,多系統(tǒng)引導(dǎo)器為Grub4Dos引導(dǎo)程序,通過(guò)系統(tǒng)環(huán)境變量接口GetFirmwareEnvironmentVariable來(lái)獲取當(dāng)前環(huán)境是否是UEFI環(huán)境。如果GetFirmwareEnvironmentVariable獲取成功,則說(shuō)明是UEFI環(huán)境,判斷用戶(hù)引導(dǎo)信息為UEFI信息,反之,如果GetFirmwareEnvironmentVariable獲取失敗,則說(shuō)明是非UEFI環(huán)境,判斷用戶(hù)引導(dǎo)信息為Windows引導(dǎo)信息。
當(dāng)用戶(hù)引導(dǎo)信息為UEFI引導(dǎo)信息時(shí),啟動(dòng)主板的UEFI引導(dǎo)程序,UEFI引導(dǎo)程序直接在EFI(Extensible Firmware Interface)分區(qū)中寫(xiě)入一個(gè)Grub4dos引導(dǎo)程序,此時(shí)UEFI引導(dǎo)程序引導(dǎo)讀取硬盤(pán)上第一個(gè)EFI分區(qū)上的引導(dǎo)程序列表,找到其中存在有Grub4Dos引導(dǎo)程序,而用戶(hù)可自行選擇Grub4Dos引導(dǎo)程序以將其調(diào)用。當(dāng)用戶(hù)引導(dǎo)信息為Windows引導(dǎo)信息時(shí),先運(yùn)行主板的BIOS(Basic Input Output System)引導(dǎo)程序,以讀取硬盤(pán)的MBR(Master Boot Record)上的Windows引導(dǎo)程序,此時(shí)啟動(dòng)Windows引導(dǎo)程序,將Windows引導(dǎo)程序配置變更為從Grub4Dos引導(dǎo)程序啟動(dòng)并進(jìn)行調(diào)用。此后,系統(tǒng)的后續(xù)引導(dǎo)權(quán)轉(zhuǎn)交給Grub4Dos引導(dǎo)程序。
在實(shí)際操作過(guò)程中,由于Windows XP系統(tǒng)不支持UEFI啟動(dòng)方式,因此Windows XP系統(tǒng)中的用戶(hù)引導(dǎo)信息為Windows引導(dǎo)信息,則在C盤(pán)的boot.ini文件中添加一行啟動(dòng)配置來(lái)變更Windows引導(dǎo)程序的配置,以調(diào)用Grub4Dos引導(dǎo)程序,主要命令如下:
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\Deepin=deepinbildr.mbr
而對(duì)于Winodows 7及以上的Windows系統(tǒng),若用戶(hù)引導(dǎo)信息為UEFI引導(dǎo)信息,則通過(guò)SetFirmwareEnvironmentVariable的Windows系統(tǒng)API寫(xiě)入U(xiǎn)EFI啟動(dòng)變量,設(shè)置Grub4Dos的EFI引導(dǎo)位置。若用戶(hù)引導(dǎo)信息為Windows引導(dǎo)信息,則通過(guò)bcdeit在Windows系統(tǒng)的EFI分區(qū)中寫(xiě)入Grub4Dos的引導(dǎo)程序,主要命令如下:
bcdedeit/create/d Deepin/application bootsector
bcdedeit/set uuid path path_to_deepinbildr
在步驟S230中,收集Windows系統(tǒng)中的用戶(hù)數(shù)據(jù)并存儲(chǔ)在預(yù)設(shè)的存儲(chǔ)區(qū)域,用戶(hù)數(shù)據(jù)包括靜態(tài)數(shù)據(jù)和動(dòng)態(tài)數(shù)據(jù)。其中,靜態(tài)數(shù)據(jù)包括用戶(hù)的個(gè)性化設(shè)置和已下載的資料中的至少一種,動(dòng)態(tài)信息包括用戶(hù)的網(wǎng)絡(luò)IP地址、掛載的網(wǎng)絡(luò)磁盤(pán)和認(rèn)證域中的至少一種。在本實(shí)施例中,靜態(tài)數(shù)據(jù)的收集實(shí)際上只是記錄一個(gè)索引列表,用戶(hù)的個(gè)性化設(shè)置中一般包括壁紙、字體等,動(dòng)態(tài)數(shù)據(jù)主要是調(diào)用Windows系統(tǒng)中相關(guān)的API或者命令行工具,如ipconfig等來(lái)收集,上述索引列表和動(dòng)態(tài)數(shù)據(jù)一同臨時(shí)存儲(chǔ)在C:\deepin\data中。
在步驟S240中,根據(jù)多系統(tǒng)引導(dǎo)器的引導(dǎo),利用虛擬磁盤(pán)鏡像文件安裝Linux系統(tǒng)。在本實(shí)施例中,當(dāng)步驟S230執(zhí)行完畢后,計(jì)算設(shè)備會(huì)進(jìn)行重新啟動(dòng),此時(shí)根據(jù)Grub4Dos引導(dǎo)程序的引導(dǎo),利用虛擬磁盤(pán)鏡像文件中的Linux系統(tǒng)的相關(guān)數(shù)據(jù),進(jìn)行Linux系統(tǒng)的安裝。
隨后,進(jìn)入步驟S250,將預(yù)設(shè)的存儲(chǔ)區(qū)域中存儲(chǔ)的用戶(hù)數(shù)據(jù)導(dǎo)入到已安裝好的Linux系統(tǒng)中。具體地,如果預(yù)設(shè)的存儲(chǔ)區(qū)域中存儲(chǔ)的用戶(hù)數(shù)據(jù)為靜態(tài)數(shù)據(jù),則將靜態(tài)數(shù)據(jù)拷貝到已安裝好的Linux系統(tǒng);如果預(yù)設(shè)的存儲(chǔ)區(qū)域中存儲(chǔ)的用戶(hù)數(shù)據(jù)為動(dòng)態(tài)數(shù)據(jù),則通過(guò)動(dòng)態(tài)數(shù)據(jù)來(lái)配置已安裝好的Linux系統(tǒng)。在本實(shí)施例中,首先從C:\deepin\data中獲取存儲(chǔ)的用戶(hù)數(shù)據(jù),對(duì)于靜態(tài)數(shù)據(jù),是根據(jù)存儲(chǔ)有靜態(tài)數(shù)據(jù)的索引列表,去尋找實(shí)際存儲(chǔ)靜態(tài)數(shù)據(jù)的區(qū)域位置,再將該靜態(tài)數(shù)據(jù)拷貝的Linux系統(tǒng)中,如將Windows系統(tǒng)下的用戶(hù)字體拷貝到Linux系統(tǒng)。而對(duì)于動(dòng)態(tài)數(shù)據(jù),如用戶(hù)的網(wǎng)絡(luò)IP,是從備份的配置文件中讀取用戶(hù)Windows系統(tǒng)下的IP地址,然后通過(guò)Linux系統(tǒng)的管理工具來(lái)設(shè)置用戶(hù)的網(wǎng)絡(luò)IP。換言之,用戶(hù)數(shù)據(jù)導(dǎo)入操作分為兩種,一種是數(shù)據(jù)拷貝,適用于靜態(tài)數(shù)據(jù),另一種為數(shù)據(jù)配置,適用于動(dòng)態(tài)數(shù)據(jù)。
在步驟S260中,修改多系統(tǒng)引導(dǎo)器的引導(dǎo)信息,以引導(dǎo)虛擬磁盤(pán)鏡像文件中的Linux系統(tǒng)。其中,多系統(tǒng)引導(dǎo)器的引導(dǎo)信息包括Linux系統(tǒng)內(nèi)核位置、Linux系統(tǒng)初始化數(shù)據(jù)位置、啟動(dòng)分區(qū)位置中至少一種。在本實(shí)施例中,Linux系統(tǒng)內(nèi)核位置為vmlinuz位置,Linux系統(tǒng)初始化數(shù)據(jù)位置為initrd.lz位置,通過(guò)修改vmlinuz位置、initrd.lz位置和啟動(dòng)分區(qū)位置中至少一種,可使計(jì)算設(shè)備再次重新啟動(dòng)后直接從Grub4Dos引導(dǎo)程序的界面進(jìn)入Linux系統(tǒng)。
最后,在步驟S260完成后,啟動(dòng)已安裝好的Linux系統(tǒng)。首先,根據(jù)用戶(hù)引導(dǎo)信息啟動(dòng)對(duì)應(yīng)的引導(dǎo)程序,以調(diào)用多系統(tǒng)引導(dǎo)器,再通過(guò)多系統(tǒng)引導(dǎo)器加載NTFS磁盤(pán)驅(qū)動(dòng),并掛載虛擬磁盤(pán)鏡像文件,利用多系統(tǒng)引導(dǎo)器引導(dǎo)內(nèi)核啟動(dòng)Linux系統(tǒng)。在本實(shí)施例中,當(dāng)用戶(hù)引導(dǎo)信息為UEFI引導(dǎo)信息時(shí),啟動(dòng)主板的UEFI引導(dǎo)程序,UEFI引導(dǎo)程序在EFI分區(qū)中寫(xiě)入一個(gè)Grub4dos引導(dǎo)程序,此時(shí)UEFI引導(dǎo)程序引導(dǎo)讀取硬盤(pán)上第一個(gè)EFI分區(qū)上的引導(dǎo)程序列表,用戶(hù)可從引導(dǎo)程序列表中選擇Grub4Dos引導(dǎo)程序以將其調(diào)用。當(dāng)用戶(hù)引導(dǎo)信息為Windows引導(dǎo)信息時(shí),先運(yùn)行主板的BIOS引導(dǎo)程序,以讀取硬盤(pán)的MBR上的Windows引導(dǎo)程序,此時(shí)啟動(dòng)Windows引導(dǎo)程序,將Windows引導(dǎo)程序配置變更為從Grub4Dos引導(dǎo)程序啟動(dòng)并進(jìn)行調(diào)用。接下來(lái),通過(guò)Grub4Dos引導(dǎo)程序加載NTFS磁盤(pán)驅(qū)動(dòng),并掛載虛擬磁盤(pán)鏡像文件,再利用Grub4Dos引導(dǎo)內(nèi)核,即vmlinuz啟動(dòng)Linux系統(tǒng)。
圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)遷移裝置300的示意圖。該裝置包括:創(chuàng)建模塊310、第一啟動(dòng)模塊320、收集模塊330、安裝模塊340、導(dǎo)入模塊350和修改模塊360。
創(chuàng)建模塊310適于通過(guò)Windows系統(tǒng)中的API接口創(chuàng)建虛擬磁盤(pán)鏡像文件,虛擬磁盤(pán)鏡像文件中存儲(chǔ)有Linux系統(tǒng)的相關(guān)數(shù)據(jù)。在本實(shí)施例中,通過(guò)AdjustTokenPrivileges這個(gè)API接口提高權(quán)限以創(chuàng)建虛擬磁盤(pán)鏡像文件.
第一啟動(dòng)模塊320適于根據(jù)用戶(hù)引導(dǎo)信息啟動(dòng)對(duì)應(yīng)的引導(dǎo)程序,以調(diào)用多系統(tǒng)引導(dǎo)器。第一啟動(dòng)模塊320進(jìn)一步適于:判斷用戶(hù)引導(dǎo)信息為UEFI引導(dǎo)信息還是Windows引導(dǎo)信息;當(dāng)用戶(hù)引導(dǎo)信息為UEFI引導(dǎo)信息時(shí),啟動(dòng)UEFI引導(dǎo)程序,在EFI分區(qū)中寫(xiě)入多系統(tǒng)引導(dǎo)器,根據(jù)用戶(hù)選擇來(lái)調(diào)用多系統(tǒng)引導(dǎo)器;當(dāng)用戶(hù)引導(dǎo)信息為Windows引導(dǎo)信息時(shí),啟動(dòng)Windows引導(dǎo)程序,將Windows引導(dǎo)程序配置變更為多系統(tǒng)引導(dǎo)器并進(jìn)行調(diào)用。在本實(shí)施例中,多系統(tǒng)引導(dǎo)器為Grub4Dos引導(dǎo)程序,通過(guò)系統(tǒng)環(huán)境變量接口GetFirmwareEnvironmentVariable來(lái)獲取當(dāng)前環(huán)境是否是UEFI環(huán)境。當(dāng)用戶(hù)引導(dǎo)信息為UEFI引導(dǎo)信息時(shí),啟動(dòng)主板的UEFI引導(dǎo)程序,UEFI引導(dǎo)程序直接在EFI(Extensible Firmware Interface)分區(qū)中寫(xiě)入一個(gè)Grub4dos引導(dǎo)程序,此時(shí)UEFI引導(dǎo)程序引導(dǎo)讀取硬盤(pán)上第一個(gè)EFI分區(qū)上的引導(dǎo)程序列表,找到其中存在有Grub4Dos引導(dǎo)程序,而用戶(hù)可自行選擇Grub4Dos引導(dǎo)程序以將其調(diào)用。當(dāng)用戶(hù)引導(dǎo)信息為Windows引導(dǎo)信息時(shí),先運(yùn)行主板的BIOS(Basic Input Output System)引導(dǎo)程序,以讀取硬盤(pán)的MBR(Master Boot Record)上的Windows引導(dǎo)程序,此時(shí)啟動(dòng)Windows引導(dǎo)程序,將Windows引導(dǎo)程序配置變更為從Grub4Dos引導(dǎo)程序啟動(dòng)并進(jìn)行調(diào)用。
收集模塊330適于收集Windows系統(tǒng)中的用戶(hù)數(shù)據(jù)并存儲(chǔ)在預(yù)設(shè)的存儲(chǔ)區(qū)域,用戶(hù)數(shù)據(jù)包括靜態(tài)數(shù)據(jù)和動(dòng)態(tài)數(shù)據(jù)。其中,靜態(tài)數(shù)據(jù)包括用戶(hù)的個(gè)性化設(shè)置和已下載的資料中的至少一種,動(dòng)態(tài)信息包括用戶(hù)的網(wǎng)絡(luò)IP地址、掛載的網(wǎng)絡(luò)磁盤(pán)和認(rèn)證域中的至少一種。在本實(shí)施例中,靜態(tài)數(shù)據(jù)的收集實(shí)際上只是記錄一個(gè)索引列表,用戶(hù)的個(gè)性化設(shè)置中一般包括壁紙、字體等,動(dòng)態(tài)數(shù)據(jù)主要是調(diào)用Windows系統(tǒng)中相關(guān)的API或者命令行工具,如ipconfig等來(lái)收集,上述索引列表和動(dòng)態(tài)數(shù)據(jù)一同臨時(shí)存儲(chǔ)在C:\deepin\data中。
安裝模塊340適于根據(jù)多系統(tǒng)引導(dǎo)器的引導(dǎo),利用虛擬磁盤(pán)鏡像文件安裝Linux系統(tǒng)。在本實(shí)施例中,當(dāng)步驟S230執(zhí)行完畢后,計(jì)算設(shè)備會(huì)進(jìn)行重新啟動(dòng),此時(shí)根據(jù)Grub4Dos引導(dǎo)程序的引導(dǎo),利用虛擬磁盤(pán)鏡像文件中的Linux系統(tǒng)的相關(guān)數(shù)據(jù),進(jìn)行Linux系統(tǒng)的安裝。
導(dǎo)入模塊350適于將預(yù)設(shè)的存儲(chǔ)區(qū)域中存儲(chǔ)的用戶(hù)數(shù)據(jù)導(dǎo)入到已安裝好的Linux系統(tǒng)中。導(dǎo)入模塊350進(jìn)一步適于:當(dāng)預(yù)設(shè)的存儲(chǔ)區(qū)域中存儲(chǔ)的用戶(hù)數(shù)據(jù)為靜態(tài)數(shù)據(jù)時(shí),將靜態(tài)數(shù)據(jù)拷貝到已安裝好的Linux系統(tǒng);當(dāng)預(yù)設(shè)的存儲(chǔ)區(qū)域中存儲(chǔ)的用戶(hù)數(shù)據(jù)為動(dòng)態(tài)數(shù)據(jù)時(shí),通過(guò)動(dòng)態(tài)數(shù)據(jù)來(lái)配置已安裝好的Linux系統(tǒng)。在本實(shí)施例中,首先從C:\deepin\data中獲取存儲(chǔ)的用戶(hù)數(shù)據(jù),對(duì)于靜態(tài)數(shù)據(jù),是根據(jù)存儲(chǔ)有靜態(tài)數(shù)據(jù)的索引列表,去尋找實(shí)際存儲(chǔ)靜態(tài)數(shù)據(jù)的區(qū)域位置,再將該靜態(tài)數(shù)據(jù)拷貝的Linux系統(tǒng)中,如將Windows系統(tǒng)下的用戶(hù)字體拷貝到Linux系統(tǒng)。而對(duì)于動(dòng)態(tài)數(shù)據(jù),如用戶(hù)的網(wǎng)絡(luò)IP,是從備份的配置文件中讀取用戶(hù)Windows系統(tǒng)下的IP地址,然后通過(guò)Linux系統(tǒng)的管理工具來(lái)設(shè)置用戶(hù)的網(wǎng)絡(luò)IP。
修改模塊360適于修改多系統(tǒng)引導(dǎo)器的引導(dǎo)信息,以引導(dǎo)虛擬磁盤(pán)鏡像文件中的Linux系統(tǒng)。其中,多系統(tǒng)引導(dǎo)器的引導(dǎo)信息包括Linux系統(tǒng)內(nèi)核位置、Linux系統(tǒng)初始化數(shù)據(jù)位置、啟動(dòng)分區(qū)位置中至少一種。在本實(shí)施例中,Linux系統(tǒng)內(nèi)核位置為vmlinuz位置,Linux系統(tǒng)初始化數(shù)據(jù)位置為initrd.lz位置,通過(guò)修改vmlinuz位置、initrd.lz位置和啟動(dòng)分區(qū)位置中至少一種,可使計(jì)算設(shè)備再次重新啟動(dòng)后直接從Grub4Dos引導(dǎo)程序的界面進(jìn)入Linux系統(tǒng)。
數(shù)據(jù)遷移裝置300還可以包括第二啟動(dòng)模塊(圖中未示出),第二啟動(dòng)模塊適于啟動(dòng)已安裝好的Linux系統(tǒng),進(jìn)一步適于:根據(jù)用戶(hù)引導(dǎo)信息啟動(dòng)對(duì)應(yīng)的引導(dǎo)程序,以調(diào)用多系統(tǒng)引導(dǎo)器;通過(guò)多系統(tǒng)引導(dǎo)器加載NTFS磁盤(pán)驅(qū)動(dòng),并掛載虛擬磁盤(pán)鏡像文件;利用多系統(tǒng)引導(dǎo)器引導(dǎo)內(nèi)核啟動(dòng)Linux系統(tǒng)。
關(guān)于數(shù)據(jù)遷移的具體步驟以及實(shí)施例,在基于圖2的描述中已經(jīng)詳細(xì)公開(kāi),此處不再贅述。
現(xiàn)有的數(shù)據(jù)遷移方法,在將用戶(hù)數(shù)據(jù)從Windows系統(tǒng)遷移至Linux系統(tǒng)下時(shí),通常是在Linux環(huán)境下進(jìn)行的,而動(dòng)態(tài)類(lèi)型的數(shù)據(jù)需要在Windows系統(tǒng)下才能獲取,導(dǎo)致其無(wú)法進(jìn)行遷移。同時(shí),在安裝Linux系統(tǒng)時(shí),常規(guī)的安裝器不支持UEFI方式,便利性和兼容性較低。根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)遷移的技術(shù)方案,首先創(chuàng)建存儲(chǔ)有Linux系統(tǒng)相關(guān)數(shù)據(jù)的虛擬磁盤(pán)鏡像文件,根據(jù)用戶(hù)引導(dǎo)信息啟動(dòng)引導(dǎo)程序來(lái)調(diào)用多系統(tǒng)引導(dǎo)器,收集Windows系統(tǒng)中的用戶(hù)數(shù)據(jù),根據(jù)多系統(tǒng)引導(dǎo)器的引導(dǎo),利用虛擬磁盤(pán)鏡像文件安裝Linux系統(tǒng),再將用戶(hù)數(shù)據(jù)導(dǎo)入到已安裝好的Linux系統(tǒng)中。上述技術(shù)方案中,對(duì)于用戶(hù)引導(dǎo)信息是UEFI引導(dǎo)信息還是Windows引導(dǎo)信息,會(huì)采取不同的方式來(lái)啟動(dòng)對(duì)應(yīng)的引導(dǎo)程序,進(jìn)而實(shí)現(xiàn)了對(duì)UEFI啟動(dòng)方式的支持。而且收集到的用戶(hù)數(shù)據(jù)中除靜態(tài)數(shù)據(jù)外還包括動(dòng)態(tài)數(shù)據(jù),完善了Linux系統(tǒng)下的用戶(hù)數(shù)據(jù),避免用戶(hù)自行記錄或查找所需數(shù)據(jù),提升了用戶(hù)體驗(yàn)。
B10.如B8或9所述的裝置,所述靜態(tài)數(shù)據(jù)包括用戶(hù)的個(gè)性化設(shè)置和已下載的資料中的至少一種,所述動(dòng)態(tài)信息包括用戶(hù)的網(wǎng)絡(luò)IP地址、掛載的網(wǎng)絡(luò)磁盤(pán)和認(rèn)證域中的至少一種。
B11.如B8-10中任一項(xiàng)所述的裝置,所述導(dǎo)入模塊進(jìn)一步適于:
當(dāng)預(yù)設(shè)的存儲(chǔ)區(qū)域中存儲(chǔ)的用戶(hù)數(shù)據(jù)為靜態(tài)數(shù)據(jù)時(shí),將所述靜態(tài)數(shù)據(jù)拷貝到已安裝好的Linux系統(tǒng);
當(dāng)預(yù)設(shè)的存儲(chǔ)區(qū)域中存儲(chǔ)的用戶(hù)數(shù)據(jù)為動(dòng)態(tài)數(shù)據(jù)時(shí),通過(guò)所述動(dòng)態(tài)數(shù)據(jù)來(lái)配置已安裝好的Linux系統(tǒng)。
B12.如B8-11中任一項(xiàng)所述的裝置,所述多系統(tǒng)引導(dǎo)器的引導(dǎo)信息包括Linux系統(tǒng)內(nèi)核位置、Linux系統(tǒng)初始化數(shù)據(jù)位置、啟動(dòng)分區(qū)位置中至少一種。
B13.如B8-12中任一項(xiàng)所述的裝置,還包括第二啟動(dòng)模塊,適于動(dòng)已安裝好的Linux系統(tǒng)。
B14.如B13所述的裝置,所述第二啟動(dòng)模塊進(jìn)一步適于:
根據(jù)用戶(hù)引導(dǎo)信息啟動(dòng)對(duì)應(yīng)的引導(dǎo)程序,以調(diào)用多系統(tǒng)引導(dǎo)器;
通過(guò)所述多系統(tǒng)引導(dǎo)器加載NTFS磁盤(pán)驅(qū)動(dòng),并掛載虛擬磁盤(pán)鏡像文件;
利用所述多系統(tǒng)引導(dǎo)器引導(dǎo)內(nèi)核啟動(dòng)Linux系統(tǒng)。
在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下被實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。
類(lèi)似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書(shū)由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員應(yīng)當(dāng)理解在本文所公開(kāi)的示例中的設(shè)備的模塊或單元或組件可以布置在如該實(shí)施例中所描述的設(shè)備中,或者可替換地可以定位在與該示例中的設(shè)備不同的一個(gè)或多個(gè)設(shè)備中。前述示例中的模塊可以組合為一個(gè)模塊或者此外可以分成多個(gè)子模塊。
本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
此外,所述實(shí)施例中的一些在此被描述成可以由計(jì)算機(jī)系統(tǒng)的處理器或者由執(zhí)行所述功能的其它裝置實(shí)施的方法或方法元素的組合。因此,具有用于實(shí)施所述方法或方法元素的必要指令的處理器形成用于實(shí)施該方法或方法元素的裝置。此外,裝置實(shí)施例的在此所述的元素是如下裝置的例子:該裝置用于實(shí)施由為了實(shí)施該發(fā)明的目的的元素所執(zhí)行的功能。
如在此所使用的那樣,除非另行規(guī)定,使用序數(shù)詞“第一”、“第二”、“第三”等等來(lái)描述普通對(duì)象僅僅表示涉及類(lèi)似對(duì)象的不同實(shí)例,并且并不意圖暗示這樣被描述的對(duì)象必須具有時(shí)間上、空間上、排序方面或者以任意其它方式的給定順序。
盡管根據(jù)有限數(shù)量的實(shí)施例描述了本發(fā)明,但是受益于上面的描述,本技術(shù)領(lǐng)域內(nèi)的技術(shù)人員明白,在由此描述的本發(fā)明的范圍內(nèi),可以設(shè)想其它實(shí)施例。此外,應(yīng)當(dāng)注意,本說(shuō)明書(shū)中使用的語(yǔ)言主要是為了可讀性和教導(dǎo)的目的而選擇的,而不是為了解釋或者限定本發(fā)明的主題而選擇的。因此,在不偏離所附權(quán)利要求書(shū)的范圍和精神的情況下,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)許多修改和變更都是顯而易見(jiàn)的。對(duì)于本發(fā)明的范圍,對(duì)本發(fā)明所做的公開(kāi)是說(shuō)明性的,而非限制性的,本發(fā)明的范圍由所附權(quán)利要求書(shū)限定。