本發(fā)明涉及異步處理領(lǐng)域,尤其涉及一種cli命令行處理方法及裝置。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,數(shù)字化信息已經(jīng)逐步取代紙媒數(shù)據(jù),海量數(shù)據(jù)隨之產(chǎn)生,而海量數(shù)據(jù)催生了云計(jì)算、大數(shù)據(jù)和海量存儲(chǔ)系統(tǒng)的發(fā)展,對(duì)存儲(chǔ)設(shè)備和存儲(chǔ)應(yīng)用的需求也越來(lái)越高,cli命令行的同步串行處理已經(jīng)無(wú)法滿足云平臺(tái)對(duì)存儲(chǔ)設(shè)備和存儲(chǔ)應(yīng)用等的需求。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)目前需求以及現(xiàn)有技術(shù)發(fā)展的不足之處,提供一種cli命令行處理方法及其裝置,通過(guò)同時(shí)對(duì)多個(gè)用戶同時(shí)下發(fā)的多個(gè)cli命令行進(jìn)行處理,實(shí)現(xiàn)了cli命令行的并行處理的異步架構(gòu),采用cli命令行注冊(cè)機(jī)制來(lái)記錄cli命令行初始化注冊(cè)階段時(shí)保存的cli命令行id和cli命令行handle,為cli命令行進(jìn)行對(duì)應(yīng)handle查詢和處理做好準(zhǔn)備工作。
為了實(shí)現(xiàn)上述目的,本發(fā)明采用以下的技術(shù)方案:
一種cli命令行處理方法,包括以下步驟:
對(duì)多個(gè)用戶同時(shí)下發(fā)的多個(gè)cli命令行進(jìn)行參數(shù)解析及封裝;
對(duì)封裝后的多個(gè)cli命令行進(jìn)行參數(shù)傳輸;
對(duì)傳輸后的多個(gè)cli命令行進(jìn)行參數(shù)解析,查詢其注冊(cè)時(shí)對(duì)應(yīng)的handle;
對(duì)handle對(duì)應(yīng)的cli命令行進(jìn)行處理。
優(yōu)選地,在對(duì)多個(gè)用戶同時(shí)下發(fā)的多個(gè)cli命令行進(jìn)行參數(shù)解析及封裝之前,還包括:用戶下發(fā)cli命令行;校驗(yàn)下發(fā)的cli命令行是否合語(yǔ)法,若是,則對(duì)cli命令行進(jìn)行參數(shù)解析及封裝,若否,則輸出錯(cuò)誤信息,結(jié)束處理。
優(yōu)選地,對(duì)傳輸后的多個(gè)cli命令行進(jìn)行參數(shù)解析,查詢其注冊(cè)時(shí)對(duì)應(yīng)的handle,包括:對(duì)傳輸后的cli命令行進(jìn)行參數(shù)解析,得到cli命令行id;根據(jù)cli命令行id查詢對(duì)應(yīng)cli命令行注冊(cè)時(shí)的handle。
優(yōu)選地,對(duì)handle對(duì)應(yīng)的cli命令行進(jìn)行處理,包括:對(duì)handle對(duì)應(yīng)的cli命令行進(jìn)行處理;處理后給出針對(duì)對(duì)應(yīng)cli命令行的回應(yīng);對(duì)回應(yīng)進(jìn)行封裝。
優(yōu)選地,對(duì)封裝后的多個(gè)cli命令行進(jìn)行參數(shù)傳輸,包括:前臺(tái)將封裝后的cli命令行傳輸至后臺(tái)。
優(yōu)選地,對(duì)傳輸后的多個(gè)cli命令行進(jìn)行參數(shù)解析,查詢其注冊(cè)時(shí)對(duì)應(yīng)的handle,包括:對(duì)傳輸后的cli命令行進(jìn)行參數(shù)解析,得到cli命令行id;根據(jù)cli命令行id查詢對(duì)應(yīng)cli命令行注冊(cè)時(shí)的handle。
優(yōu)選地,在對(duì)handle對(duì)應(yīng)的cli命令行進(jìn)行處理之后,還包括:后臺(tái)將封裝后的回應(yīng)傳輸至前臺(tái);對(duì)給出的針對(duì)cli命令行的封裝過(guò)的回應(yīng)進(jìn)行解析并轉(zhuǎn)換為字符串格式;將轉(zhuǎn)換為字符串格式的回應(yīng)輸出給用戶。
本發(fā)明還提供了基于上述的一種cli命令行處理方法的一種cli命令行處理裝置,包括:
cli解析封裝模塊,用于對(duì)多個(gè)用戶同時(shí)下發(fā)的多個(gè)cli命令行進(jìn)行參數(shù)解析及封裝;
數(shù)據(jù)傳輸模塊,用于對(duì)封裝后的多個(gè)cli命令行進(jìn)行參數(shù)傳輸;
cli解析查詢模塊,用于對(duì)傳輸后的多個(gè)cli命令行進(jìn)行參數(shù)解析,查詢其注冊(cè)時(shí)對(duì)應(yīng)的handle;
命令行handle處理模塊,用于對(duì)handle對(duì)應(yīng)的cli命令行進(jìn)行處理。
優(yōu)選地,還包括:
用戶接口模塊,用于用戶下發(fā)cli命令行;
校驗(yàn)?zāi)K,用于校驗(yàn)下發(fā)的cli命令行是否合語(yǔ)法,若是,則對(duì)cli命令行進(jìn)行參數(shù)解析及封裝,若否,則輸出錯(cuò)誤信息,結(jié)束處理。
優(yōu)選地,數(shù)據(jù)傳輸模塊,進(jìn)一步包括:
命令行傳輸模塊,用于前臺(tái)將封裝后的cli命令行傳輸至后臺(tái);
回應(yīng)傳輸模塊,用于后臺(tái)將封裝后的回應(yīng)傳輸至前臺(tái)。
優(yōu)選地,還包括:回應(yīng)解析轉(zhuǎn)換模塊,用于對(duì)給出的針對(duì)cli命令行的封裝過(guò)的回應(yīng)進(jìn)行解析并轉(zhuǎn)換為字符串格式。
優(yōu)選地,還包括:控制端口模塊,用于將轉(zhuǎn)換為字符串格式的回應(yīng)輸出給用戶。
本發(fā)明的有益效果:
1.本發(fā)明通過(guò)同時(shí)對(duì)多個(gè)用戶同時(shí)下發(fā)的多個(gè)cli命令行進(jìn)行處理,實(shí)現(xiàn)了cli命令行的并行處理的異步架構(gòu);
2.本發(fā)明采用cli命令行注冊(cè)機(jī)制來(lái)記錄cli命令行初始化注冊(cè)階段時(shí)保存的cli命令行id和cli命令行handle,為cli命令行進(jìn)行對(duì)應(yīng)handle查詢做好準(zhǔn)備工作,也提供了良好的新增cli命令行擴(kuò)展性,為后續(xù)代碼維護(hù)帶來(lái)便利。
附圖說(shuō)明
圖1為本發(fā)明一種cli命令行處理方法的流程示意圖之一。
圖2為本發(fā)明一種cli命令行處理裝置的結(jié)構(gòu)示意圖之一。
圖3為本發(fā)明一種cli命令行處理方法的流程示意圖之二。
圖4為本發(fā)明一種cli命令行處理裝置的結(jié)構(gòu)示意圖之二。
具體實(shí)施方式
為了便于理解,對(duì)本發(fā)明中出現(xiàn)的部分名詞作以下解釋說(shuō)明:
cli:是指可在用戶提示符下鍵入可執(zhí)行指令的界面,它通常不支持鼠標(biāo),用戶通過(guò)鍵盤輸入命令行,計(jì)算機(jī)接收到命令行后,予以執(zhí)行。
request:request為解析封裝模塊與解析處理模塊之間進(jìn)行數(shù)據(jù)協(xié)商的數(shù)據(jù)結(jié)構(gòu),主要包括cli命令行類型、cli命令行id、cli命令行選項(xiàng)描述等,request結(jié)構(gòu)可以完整的描述cli命令行各方面信息。
handle:cli命令行異步處理函數(shù),用來(lái)實(shí)現(xiàn)并行處理多個(gè)用戶同時(shí)下發(fā)的多個(gè)cli命令行。
下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式作進(jìn)一步詳細(xì)描述:
實(shí)施例一:
如圖1所示,本發(fā)明的一種cli命令行處理方法,包括以下步驟:
步驟S101,用戶下發(fā)cli命令行。
步驟S102,校驗(yàn)下發(fā)的cli命令行是否合語(yǔ)法,若是,則對(duì)cli命令行進(jìn)行參數(shù)解析及封裝,若否,則輸出錯(cuò)誤信息,結(jié)束處理。
步驟S103,對(duì)cli命令行進(jìn)行參數(shù)解析及封裝。
步驟S104,對(duì)封裝后的cli命令行進(jìn)行參數(shù)傳輸,前臺(tái)將封裝后的cli命令行傳輸至后臺(tái)。
步驟S105,對(duì)傳輸后的cli命令行進(jìn)行參數(shù)解析,得到cli命令行id。
步驟S106,根據(jù)cli命令行id查詢對(duì)應(yīng)cli命令行注冊(cè)時(shí)對(duì)應(yīng)的handle。
步驟S107,對(duì)handle對(duì)應(yīng)的cli命令行進(jìn)行處理。
步驟S108,處理后給出對(duì)cli命令行的回應(yīng)。
步驟S109,對(duì)給出的回應(yīng)進(jìn)行封裝。
步驟S110,后臺(tái)將封裝后的回應(yīng)傳輸至前臺(tái)。
步驟S111,對(duì)給出的針對(duì)cli命令行的封裝過(guò)的回應(yīng)進(jìn)行解析并轉(zhuǎn)換為字符串格式。
步驟S112,將轉(zhuǎn)換為字符串格式的回應(yīng)輸出給用戶。
作為一種可實(shí)施的方式,本實(shí)施例中的對(duì)cli命令行進(jìn)行封裝的方式為request結(jié)構(gòu)封裝。
實(shí)施例二:
如圖2所示,本發(fā)明的一種cli命令行處理裝置,包括用戶接口模塊201、校驗(yàn)?zāi)K202、cli解析封裝模塊203、數(shù)據(jù)傳輸模塊中的命令行傳輸模塊204、cli解析查詢模塊205、命令行handle處理模塊206、數(shù)據(jù)傳輸模塊中的回應(yīng)傳輸模塊207、回應(yīng)解析轉(zhuǎn)換模塊208和控制端口模塊209,用戶接口模塊201依次連接校驗(yàn)?zāi)K202、cli解析封裝模塊203、數(shù)據(jù)傳輸模塊中的命令行傳輸模塊204、cli解析查詢模塊205、命令行handle處理模塊206、數(shù)據(jù)傳輸模塊中的回應(yīng)傳輸模塊207、回應(yīng)解析轉(zhuǎn)換模塊208和控制端口模塊209。
用戶接口模塊201,用于用戶下發(fā)cli命令行;校驗(yàn)?zāi)K202,用于校驗(yàn)下發(fā)的cli命令行是否合語(yǔ)法,若是,則對(duì)cli命令行進(jìn)行參數(shù)解析及封裝,若否,則輸出錯(cuò)誤信息,結(jié)束處理;cli解析封裝模塊203,用于對(duì)多個(gè)用戶同時(shí)下發(fā)的多個(gè)cli命令行進(jìn)行參數(shù)解析及封裝;數(shù)據(jù)傳輸模塊中的命令行傳輸模塊204,用于對(duì)封裝后的多個(gè)cli命令行進(jìn)行參數(shù)傳輸;cli解析查詢模塊205,用于對(duì)傳輸后的多個(gè)cli命令行進(jìn)行參數(shù)解析,查詢其注冊(cè)時(shí)對(duì)應(yīng)的handle;命令行handle處理模塊206,用于對(duì)handle對(duì)應(yīng)的cli命令行進(jìn)行處理;數(shù)據(jù)傳輸模塊中的回應(yīng)傳輸模塊207,用于后臺(tái)將封裝后的回應(yīng)傳輸至前臺(tái);回應(yīng)解析轉(zhuǎn)換模塊208,用于對(duì)給出的針對(duì)cli命令行的封裝過(guò)的回應(yīng)進(jìn)行解析并轉(zhuǎn)換為字符串格式;控制端口模塊209,用于將轉(zhuǎn)換為字符串格式的回應(yīng)輸出給用戶。
實(shí)施例三:
如圖3所示,本發(fā)明的另一種cli命令行處理方法,包括以下步驟:
步驟S301,對(duì)多個(gè)用戶同時(shí)下發(fā)的多個(gè)cli命令行進(jìn)行參數(shù)解析及封裝;
步驟S302,對(duì)封裝后的多個(gè)cli命令行進(jìn)行參數(shù)傳輸;
步驟S303,對(duì)傳輸后的多個(gè)cli命令行進(jìn)行參數(shù)解析,查詢其注冊(cè)時(shí)對(duì)應(yīng)的handle;
步驟S304,對(duì)handle對(duì)應(yīng)的cli命令行進(jìn)行處理。
實(shí)施例四:
如圖4所示,本發(fā)明的另一種cli命令行處理裝置,包括cli解析封裝模塊401、數(shù)據(jù)傳輸模塊402、cli解析查詢模塊403和命令行handle處理模塊404,cli解析封裝模塊401依次連接數(shù)據(jù)傳輸模塊402、cli解析查詢模塊403和命令行handle處理模塊404。
cli解析封裝模塊401,用于對(duì)多個(gè)用戶同時(shí)下發(fā)的多個(gè)cli命令行進(jìn)行參數(shù)解析及封裝;數(shù)據(jù)傳輸模塊402,用于對(duì)封裝后的多個(gè)cli命令行進(jìn)行參數(shù)傳輸;cli解析查詢模塊403,用于對(duì)傳輸后的多個(gè)cli命令行進(jìn)行參數(shù)解析,查詢其注冊(cè)時(shí)對(duì)應(yīng)的handle;命令行handle處理模塊404,用于對(duì)handle對(duì)應(yīng)的cli命令行進(jìn)行處理。
以上所示僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。