欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種實(shí)現(xiàn)virsh命令的方法及裝置與流程

文檔序號(hào):12362816閱讀:369來源:國知局
一種實(shí)現(xiàn)virsh命令的方法及裝置與流程

本發(fā)明涉及云計(jì)算技術(shù)領(lǐng)域,特別是涉及一種利用argparse命令行解析器實(shí)現(xiàn)virsh命令的方法。



背景技術(shù):

Argparse是一個(gè)完整的參數(shù)處理庫。參數(shù)可以根據(jù)add_argument()的action選項(xiàng)觸發(fā)不同動(dòng)作。支持的action有存儲(chǔ)參數(shù)(單個(gè),或作為列表的一部分);存儲(chǔ)常量的值(對(duì)布爾開關(guān)true/false有特殊處理)。默認(rèn)動(dòng)作是存儲(chǔ)參數(shù)值。支持type(指定存儲(chǔ)類型)和dest(指定存儲(chǔ)變量)等參數(shù)。然后使用函數(shù)parse_args()進(jìn)行參數(shù)解析,這個(gè)函數(shù)的輸入默認(rèn)是sys.argv[1:],也可以使用其他字符串列表。選項(xiàng)使用GNU/POSIX語法處理,可以混合選項(xiàng)和參數(shù)值。parse_args的返回值是一個(gè)包含命令參數(shù)的命名空間(Namespace)。所有參數(shù)以屬性的形式存在,比如args.myoption。Argparse是python標(biāo)準(zhǔn)庫中的模塊,以前的optparse已經(jīng)廢棄,利用argparse可以完成對(duì)命令行的參數(shù)定義、解析以及后續(xù)的處理。對(duì)于簡(jiǎn)單的一些命令,argparse可以很好地滿足所需的要求,然而對(duì)于龐大的virsh命令庫,則需要盡可能地利用所有argparse內(nèi)置功能乃至外部工具,來實(shí)現(xiàn)管理虛擬機(jī)的目的。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是提供一種利用argparse命令行解析器實(shí)現(xiàn)virsh命令的方法及裝置,目的在于通過利用子解析器、互斥分組、正則表達(dá)式以及添加子解析器標(biāo)識(shí)參數(shù)來自上而下地實(shí)現(xiàn)virsh命令。

為解決上述技術(shù)問題,本發(fā)明提供一種利用argparse命令行解析器實(shí)現(xiàn)virsh命令的方法,包括:

創(chuàng)建頂層參數(shù)解析器對(duì)象;

添加子解析器,所述子解析器分別與每個(gè)virsh子命令相對(duì)應(yīng);

在每個(gè)所述子解析器中添加所需的位置參數(shù)、可選參數(shù)以及用于識(shí)別各所述子解析器的標(biāo)識(shí)參數(shù);

采用所述子解析器進(jìn)行參數(shù)解析;

將解析出的各項(xiàng)參數(shù)值通過邏輯判斷,傳入libvirt對(duì)應(yīng)的接口中,以實(shí)現(xiàn)虛擬機(jī)的管理。

可選地,所述在每個(gè)所述子解析器中添加所需的位置參數(shù)、可選參數(shù)以及用于識(shí)別各所述子解析器的標(biāo)識(shí)參數(shù)包括:

在添加所述位置參數(shù)以及所述可選參數(shù)時(shí),針對(duì)各項(xiàng)virsh命令中參數(shù)的特性,進(jìn)行參數(shù)合法性判斷,并添加互斥分組,以防所述可選參數(shù)同時(shí)出現(xiàn)而報(bào)錯(cuò)。

可選地,所述將解析出的各項(xiàng)參數(shù)值通過邏輯判斷,傳入libvirt對(duì)應(yīng)的接口中包括:

當(dāng)解析出的參數(shù)值中含有參數(shù)時(shí),利用正則表達(dá)式提取最終參數(shù)值,將所述最終參數(shù)值通過邏輯判斷,傳入libvirt對(duì)應(yīng)的接口中。

可選地,所述將解析出的各項(xiàng)參數(shù)值通過邏輯判斷,傳入libvirt對(duì)應(yīng)的接口中包括:

當(dāng)解析出的參數(shù)不符合libvirt接口的規(guī)范時(shí),對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)化預(yù)處理后傳入對(duì)應(yīng)的接口中。

可選地,還包括:

自動(dòng)生成幫助文檔,并對(duì)所述幫助文檔的參數(shù)進(jìn)行修改。

本發(fā)明還提供了一種利用argparse命令行解析器實(shí)現(xiàn)virsh命令的裝置,包括:

創(chuàng)建模塊,用于創(chuàng)建頂層參數(shù)解析器對(duì)象;

子解析器添加模塊,用于添加子解析器,所述子解析器分別與每個(gè)virsh子命令相對(duì)應(yīng);

參數(shù)添加模塊,用于在每個(gè)所述子解析器中添加所需的位置參數(shù)、可選參數(shù)以及用于識(shí)別各所述子解析器的標(biāo)識(shí)參數(shù);

解析模塊,用于采用所述子解析器進(jìn)行參數(shù)解析;

邏輯判斷模塊,用于將解析出的各項(xiàng)參數(shù)值通過邏輯判斷,傳入libvirt對(duì)應(yīng)的接口中,以實(shí)現(xiàn)虛擬機(jī)的管理。

可選地,所述參數(shù)添加模塊具體用于:

在添加所述位置參數(shù)以及所述可選參數(shù)時(shí),針對(duì)各項(xiàng)virsh命令中參數(shù)的特性,進(jìn)行參數(shù)合法性判斷,并添加互斥分組,以防所述可選參數(shù)同時(shí)出現(xiàn)而報(bào)錯(cuò)。

可選地,所述邏輯判斷模塊具體用于:

當(dāng)解析出的參數(shù)值中含有參數(shù)時(shí),利用正則表達(dá)式提取最終參數(shù)值,將所述最終參數(shù)值通過邏輯判斷,傳入libvirt對(duì)應(yīng)的接口中。

可選地,所述邏輯判斷模塊具體用于:

當(dāng)解析出的參數(shù)不符合libvirt接口的規(guī)范時(shí),對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)化預(yù)處理后傳入對(duì)應(yīng)的接口中。

可選地,還包括:

幫助文檔生成模塊,用于自動(dòng)生成幫助文檔,并對(duì)所述幫助文檔的參數(shù)進(jìn)行修改。

本發(fā)明所提供的利用argparse命令行解析器實(shí)現(xiàn)virsh命令的方法及裝置,通過創(chuàng)建頂層參數(shù)解析器對(duì)象;添加子解析器,子解析器分別與每個(gè)virsh子命令相對(duì)應(yīng);在每個(gè)子解析器中添加所需的位置參數(shù)、可選參數(shù)以及用于識(shí)別各子解析器的標(biāo)識(shí)參數(shù);采用子解析器進(jìn)行參數(shù)解析;將解析出的各項(xiàng)參數(shù)值通過邏輯判斷,傳入libvirt對(duì)應(yīng)的接口中,以實(shí)現(xiàn)虛擬機(jī)的管理。本申請(qǐng)利用argparse這一強(qiáng)大的命令行解析工具,在日后的虛擬機(jī)管理過程中,直接使用封裝好的命令來實(shí)現(xiàn)libvirt中所有功能,并且在日后的系統(tǒng)維護(hù)中只需要更改對(duì)應(yīng)的子解析器即可,提高了整個(gè)系統(tǒng)的運(yùn)行效率。

附圖說明

為了更清楚的說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明所提供的利用argparse命令行解析器實(shí)現(xiàn)virsh命令的方法的一種具體實(shí)施方式的流程圖;

圖2為本發(fā)明所提供的利用argparse命令行解析器實(shí)現(xiàn)virsh命令的方法的另一種具體實(shí)施方式的流程圖;

圖3為本發(fā)明實(shí)施例提供的利用argparse命令行解析器實(shí)現(xiàn)virsh命令的裝置的結(jié)構(gòu)框圖。

具體實(shí)施方式

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明。顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

本發(fā)明所提供的利用argparse命令行解析器實(shí)現(xiàn)virsh命令的方法的一種具體實(shí)施方式的流程圖如圖1所示,該方法包括:

步驟S101:創(chuàng)建頂層參數(shù)解析器對(duì)象;

步驟S102:添加子解析器,所述子解析器分別與每個(gè)virsh子命令相對(duì)應(yīng);

步驟S103:在每個(gè)所述子解析器中添加所需的位置參數(shù)、可選參數(shù)以及用于識(shí)別各所述子解析器的標(biāo)識(shí)參數(shù);

步驟S104:采用所述子解析器進(jìn)行參數(shù)解析;

步驟S105:將解析出的各項(xiàng)參數(shù)值通過邏輯判斷,傳入libvirt對(duì)應(yīng)的接口中,以實(shí)現(xiàn)虛擬機(jī)的管理。

本發(fā)明所提供的利用argparse命令行解析器實(shí)現(xiàn)virsh命令的方法,通過創(chuàng)建頂層參數(shù)解析器對(duì)象;添加子解析器,子解析器分別與每個(gè)virsh子命令相對(duì)應(yīng);在每個(gè)子解析器中添加所需的位置參數(shù)、可選參數(shù)以及用于識(shí)別各子解析器的標(biāo)識(shí)參數(shù);采用子解析器進(jìn)行參數(shù)解析;將解析出的各項(xiàng)參數(shù)值通過邏輯判斷,傳入libvirt對(duì)應(yīng)的接口中,以實(shí)現(xiàn)虛擬機(jī)的管理。本申請(qǐng)利用argparse這一強(qiáng)大的命令行解析工具,在日后的虛擬機(jī)管理過程中,直接使用封裝好的命令來實(shí)現(xiàn)libvirt中所有功能,并且在日后的系統(tǒng)維護(hù)中只需要更改對(duì)應(yīng)的子解析器即可,提高了整個(gè)系統(tǒng)的運(yùn)行效率。

Argparse是Python標(biāo)準(zhǔn)庫中推薦使用的編寫命令行程序的工具,是python用于解析命令行參數(shù)和選項(xiàng)的標(biāo)準(zhǔn)模塊,用于解析命令行參數(shù)。Argparse模塊使得編寫用戶友好的命令行接口非常容易。程序只需定義好其要求的參數(shù),然后argparse將負(fù)責(zé)如何從sys.argv中解析出這些參數(shù)。argparse模塊還會(huì)自動(dòng)生成幫助和使用信息,并且在用戶賦給程序非法的參數(shù)時(shí)產(chǎn)生錯(cuò)誤信息。

本發(fā)明的步驟包括:首先導(dǎo)入模塊import argparse;然后創(chuàng)建一個(gè)解析對(duì)象parser=argparse.ArgumentParser();然后向該對(duì)象中添加要關(guān)注的命令行參數(shù)和選項(xiàng)parser.add_argument(),每一個(gè)add_argument方法對(duì)應(yīng)一個(gè)要關(guān)注的參數(shù)或選項(xiàng);最后調(diào)用parse_args()方法進(jìn)行解析parser.parse_args();解析成功之后即可使用各項(xiàng)參數(shù),然而將argparse應(yīng)用到virsh命令中時(shí),由于virsh命令的特殊性,還需要以下幾個(gè)步驟來解決出現(xiàn)的各項(xiàng)問題:1.針對(duì)virsh命令中的多個(gè)子命令問題,利用add_subparsers()添加子解析器進(jìn)行解決;2.virsh中的子命令含有一些特殊參數(shù),需要利用正則表達(dá)式以及ArgumentParser.add_mutually_exclusive_group()創(chuàng)建互斥分組來實(shí)現(xiàn)參數(shù)合法性;3.在解析出命令行參數(shù)之后,需要先判定屬于哪一個(gè)子命令,再進(jìn)行l(wèi)ibvirt api調(diào)用來實(shí)現(xiàn)virsh命令,因此需要在每一個(gè)自命令中增加一個(gè)可選參數(shù)--sign并默認(rèn)值為virsh子命令的名稱,從而可以利用argparse來實(shí)現(xiàn)virsh命令;4.解析后的參數(shù)值與即將傳入libvirt接口的參數(shù)格式不匹配,需要進(jìn)行一定的預(yù)處理。

本實(shí)施例中,要解決virsh命令的多個(gè)子命令問題,如virsh list、virsh vcpupin等子命令,如果全部在頂層進(jìn)行參數(shù)的添加,會(huì)出現(xiàn)參數(shù)混亂的現(xiàn)象,因此需要利用add_subparse()來添加子解析器,每一個(gè)virsh子命令均對(duì)應(yīng)一個(gè)子解析器,進(jìn)而在每個(gè)子解析器中添加獨(dú)有的位置參數(shù)以及可選參數(shù),來實(shí)現(xiàn)每一個(gè)virsh子命令且不發(fā)生參數(shù)混亂現(xiàn)象。

在上述實(shí)施例的基礎(chǔ)上,本發(fā)明所提供的利用argparse命令行解析器實(shí)現(xiàn)virsh命令的方法中,在每個(gè)所述子解析器中添加所需的位置參數(shù)、可選參數(shù)以及用于識(shí)別各所述子解析器的標(biāo)識(shí)參數(shù)的步驟可以具體為:在添加所述位置參數(shù)以及所述可選參數(shù)時(shí),針對(duì)各項(xiàng)virsh命令中參數(shù)的特性,進(jìn)行參數(shù)合法性判斷,并添加互斥分組,以防所述可選參數(shù)同時(shí)出現(xiàn)而報(bào)錯(cuò)。

例如virsh change-media命令中,可選參數(shù)-eject、-insert以及-update不能同時(shí)出現(xiàn),因此要利用add_mutually_exclusive_group()方法來創(chuàng)建一個(gè)互斥分組,用來防止三個(gè)可選參數(shù)同時(shí)出現(xiàn)進(jìn)而報(bào)錯(cuò);同時(shí),類似virsh schedinfo命令也有一定的特殊性,其可選參數(shù)--set的值里面又包含了三個(gè)參數(shù)cpu_shares,cpu_quota,cpu_period,即可選參數(shù)--set的值形如:cpu_shares=1024,cpu_quota=100000,cpu_period=100000,因此在用argparse進(jìn)行參數(shù)提取之后,還需要利用正則表達(dá)式,將可選參數(shù)--set包含的三個(gè)值提取出來,得到最終所需要的參數(shù)值。

本發(fā)明結(jié)合virsh命令的各項(xiàng)特征進(jìn)行分析,在充分了解virsh命令的各項(xiàng)功能后,對(duì)各項(xiàng)子命令建立對(duì)應(yīng)的子解析器、各項(xiàng)參數(shù)特性利用argparse對(duì)應(yīng)的功能進(jìn)行合法性的判斷,最后加入內(nèi)部邏輯判斷參數(shù)--sign,從而將解析后的參數(shù)傳入已有的libvirt接口中去實(shí)現(xiàn)虛擬機(jī)的管理功能。

此外,本申請(qǐng)實(shí)施例出現(xiàn)的另一個(gè)問題就是如何判定輸入的命令屬于哪一個(gè)子解析器,并且該子解析器下都有哪些位置參數(shù)以及可選參數(shù),進(jìn)而將解析出的參數(shù)傳入對(duì)應(yīng)的libvirt接口,以實(shí)現(xiàn)管理虛擬機(jī)的各項(xiàng)功能。然而當(dāng)解析出來一個(gè)命令時(shí),所有的參數(shù)以命名空間的形式傳入?yún)?shù)args里,且各項(xiàng)子解析器沒有一個(gè)共同的參數(shù)來表示自身,因此統(tǒng)一在所有子解釋器中添加一個(gè)可選參數(shù)--sign,其值默認(rèn)為子解析器名,且利用參數(shù)help中的argparse.SUPPRESS選項(xiàng),不將該參數(shù)顯示在幫助文檔中,該參數(shù)只作為內(nèi)部邏輯判斷標(biāo)識(shí)。

在上述實(shí)施例的基礎(chǔ)上,本發(fā)明利用argparse命令行解析器實(shí)現(xiàn)virsh命令的方法,將解析出的各項(xiàng)參數(shù)值通過邏輯判斷,傳入libvirt對(duì)應(yīng)的接口中包括:當(dāng)解析出的參數(shù)值中含有參數(shù)時(shí),利用正則表達(dá)式提取最終參數(shù)值,將所述最終參數(shù)值通過邏輯判斷,傳入libvirt對(duì)應(yīng)的接口中。

本申請(qǐng)中,解析器解析出的參數(shù)值與即將傳入libvirt功能接口的參數(shù)格式不匹配,需要進(jìn)行預(yù)處理才能解決,如virsh vcpupin功能中的可選參數(shù)--cpulist,它的值在命令行中時(shí)為一個(gè)形如’1-22,^3,27’的字符串,而對(duì)應(yīng)傳入libvirt接口的參數(shù)格式應(yīng)為一串0和1組成的列表,因此需要在解析過后進(jìn)行數(shù)據(jù)預(yù)處理才可以實(shí)現(xiàn)該功能。

在上述任一實(shí)施例的基礎(chǔ)上,本發(fā)明所提供的利用argparse命令行解析器實(shí)現(xiàn)virsh命令的方法將解析出的各項(xiàng)參數(shù)值通過邏輯判斷,傳入libvirt對(duì)應(yīng)的接口中包括:當(dāng)解析出的參數(shù)不符合libvirt接口的規(guī)范時(shí),對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)化預(yù)處理后傳入對(duì)應(yīng)的接口中。

進(jìn)一步地,本申請(qǐng)還可以包括:自動(dòng)生成幫助文檔,并對(duì)所述幫助文檔的參數(shù)進(jìn)行修改。

本實(shí)施例通過argparse解析器還可以自動(dòng)生成幫助文檔,并通過修改各項(xiàng)幫助文檔參數(shù)來保持文檔的可讀性,進(jìn)而提高整個(gè)系統(tǒng)的易用性。

本發(fā)明所提供的利用argparse命令行解析器實(shí)現(xiàn)virsh命令的方法的另一種具體實(shí)施方式的流程圖如圖2所示,該方法包括:

步驟S201:創(chuàng)建頂層解析器ArgumentParser對(duì)象;

步驟S202:利用add_subparsers添加一組子解析器subparsers;

步驟S203:針對(duì)virsh各個(gè)子命令,在subparsers中添加對(duì)應(yīng)的子解析器,解析器名即為virsh各個(gè)子命令的名稱;

步驟S204:在各個(gè)子解析器中添加所需位置參數(shù)以及可選參數(shù),以及用來標(biāo)識(shí)各個(gè)子解析器的--sign參數(shù);

步驟S205:在添加位置參數(shù)以及可選參數(shù)時(shí),針對(duì)各項(xiàng)virsh命令中參數(shù)的特性,進(jìn)行參數(shù)合法性判斷以及添加互斥分組;

步驟S206:將解析出的一些特殊參數(shù)利用正則表達(dá)式提取最終參數(shù)值,再將所有參數(shù)通過邏輯判斷傳入對(duì)應(yīng)的libvirt接口中;

步驟S207:將解析出的不符合libvirt接口規(guī)范的參數(shù)進(jìn)行數(shù)據(jù)的轉(zhuǎn)化,再將轉(zhuǎn)化后的參數(shù)傳入對(duì)應(yīng)的libvirt接口中,最終代替virsh命令實(shí)現(xiàn)虛擬機(jī)管理功能。

通過上述步驟,我們便可以利用argparse實(shí)現(xiàn)virsh命令的功能,進(jìn)而應(yīng)用于虛擬機(jī)管理工作中,即減少了代碼量,又有利于維護(hù)日后的虛擬機(jī)管理系統(tǒng)。

本發(fā)明的有益效果是:可以利用argparse這一強(qiáng)大的命令行解析工具,在日后的虛擬機(jī)管理過程中,直接使用封裝好的命令來實(shí)現(xiàn)libvirt中所有功能,并且在日后的系統(tǒng)維護(hù)中只需要更改對(duì)應(yīng)的子解析器即可,提高了整個(gè)系統(tǒng)的運(yùn)行效率;其次,通過argparse解析器還可以自動(dòng)生成幫助文檔,并通過修改各項(xiàng)幫助文檔參數(shù)來保持文檔的可讀性,進(jìn)而提高整個(gè)系統(tǒng)的易用性。

下面對(duì)本發(fā)明實(shí)施例提供的利用argparse命令行解析器實(shí)現(xiàn)virsh命令的裝置進(jìn)行介紹,下文描述的利用argparse命令行解析器實(shí)現(xiàn)virsh命令的裝置與上文描述的利用argparse命令行解析器實(shí)現(xiàn)virsh命令的方法可相互對(duì)應(yīng)參照。

圖3為本發(fā)明實(shí)施例提供的利用argparse命令行解析器實(shí)現(xiàn)virsh命令的裝置的結(jié)構(gòu)框圖,參照?qǐng)D3利用argparse命令行解析器實(shí)現(xiàn)virsh命令的裝置可以包括:

創(chuàng)建模塊100,用于創(chuàng)建頂層參數(shù)解析器對(duì)象;

子解析器添加模塊200,用于添加子解析器,所述子解析器分別與每個(gè)virsh子命令相對(duì)應(yīng);

參數(shù)添加模塊300,用于在每個(gè)所述子解析器中添加所需的位置參數(shù)、可選參數(shù)以及用于識(shí)別各所述子解析器的標(biāo)識(shí)參數(shù);

解析模塊400,用于采用所述子解析器進(jìn)行參數(shù)解析;

邏輯判斷模塊500,用于將解析出的各項(xiàng)參數(shù)值通過邏輯判斷,傳入libvirt對(duì)應(yīng)的接口中,以實(shí)現(xiàn)虛擬機(jī)的管理。

在上述實(shí)施例的基礎(chǔ)上,本申請(qǐng)利用argparse命令行解析器實(shí)現(xiàn)virsh命令的裝置中,上述參數(shù)添加模塊300可以具體用于:

在添加所述位置參數(shù)以及所述可選參數(shù)時(shí),針對(duì)各項(xiàng)virsh命令中參數(shù)的特性,進(jìn)行參數(shù)合法性判斷,并添加互斥分組,以防所述可選參數(shù)同時(shí)出現(xiàn)而報(bào)錯(cuò)。

可選地,本申請(qǐng)利用argparse命令行解析器實(shí)現(xiàn)virsh命令的裝置中,邏輯判斷模塊500具體用于:

當(dāng)解析出的參數(shù)值中含有參數(shù)時(shí),利用正則表達(dá)式提取最終參數(shù)值,將所述最終參數(shù)值通過邏輯判斷,傳入libvirt對(duì)應(yīng)的接口中。

在上述任一實(shí)施例的基礎(chǔ)上,本申請(qǐng)利用argparse命令行解析器實(shí)現(xiàn)virsh命令的裝置中,邏輯判斷模塊500可以具體用于:

當(dāng)解析出的參數(shù)不符合libvirt接口的規(guī)范時(shí),對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)化預(yù)處理后傳入對(duì)應(yīng)的接口中。

進(jìn)一步地,本申請(qǐng)還可以包括:

幫助文檔生成模塊,用于自動(dòng)生成幫助文檔,并對(duì)所述幫助文檔的參數(shù)進(jìn)行修改。

本發(fā)明的結(jié)構(gòu)設(shè)計(jì)主要考慮到virsh命令庫的特點(diǎn),選擇argparse這一命令行解析器來進(jìn)行參數(shù)解析,并將解析后的各項(xiàng)參數(shù)值通過邏輯判斷,傳入libvirt對(duì)應(yīng)的接口中實(shí)現(xiàn)虛擬機(jī)的管理功能。本發(fā)明的結(jié)構(gòu)設(shè)計(jì)方法是首先結(jié)合virsh命令的各項(xiàng)特征進(jìn)行分析,在充分了解virsh命令的各項(xiàng)功能后,對(duì)各項(xiàng)子命令建立對(duì)應(yīng)的子解析器、各項(xiàng)參數(shù)特性利用argparse對(duì)應(yīng)的功能進(jìn)行合法性的判斷,最后加入內(nèi)部邏輯判斷參數(shù)--sign,將解析后的參數(shù)傳入已有的libvirt接口中去實(shí)現(xiàn)虛擬機(jī)的管理功能。

本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似部分互相參見即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法部分說明即可。

專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。

以上對(duì)本發(fā)明所提供的利用argparse命令行解析器實(shí)現(xiàn)virsh命令的方法以及裝置進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
道孚县| 奎屯市| 城口县| 大同县| 北川| 嘉峪关市| 博罗县| 安国市| 伊金霍洛旗| 越西县| 隆化县| 卓尼县| 永寿县| 九龙坡区| 黄浦区| 上思县| 平山县| 微山县| 嘉兴市| 察雅县| 漠河县| 隆子县| 马尔康县| 克什克腾旗| 山阳县| 神池县| 柳河县| 永嘉县| 五原县| 土默特左旗| 三原县| 淳安县| 保定市| 扬州市| 小金县| 桃江县| 镇平县| 邵阳县| 海安县| 禄丰县| 祁门县|