本發(fā)明涉及命令行處理技術(shù)領(lǐng)域,特別是涉及一種命令行界面處理系統(tǒng)及方法。
背景技術(shù):
CLI(command-lineinterface,命令行界面)是指可在用戶提示符下鍵入可執(zhí)行指令的界面,它通常不支持鼠標(biāo),用戶通過鍵盤輸入指令,計算機接收到指令后,予以執(zhí)行。
依據(jù)產(chǎn)品需求定義,CLI處理模塊需要為用戶提供友好的交互接口,同時為了便于新增合并不同類型,CLI處理模塊還需提供非耦合、易擴展的軟件架構(gòu)。此外,在實際使用過程中可實現(xiàn)軟、硬件隔離維護(hù),諸如exec模塊負(fù)責(zé)封裝具體硬件細(xì)節(jié),user_cli模塊及cli_thread模塊不關(guān)心具體指令細(xì)節(jié),僅當(dāng)cmd轉(zhuǎn)發(fā)至exec模塊才會依據(jù)cmd具體信息進(jìn)行調(diào)度處理。
鑒于此,提供一種新型命令行處理方法及系統(tǒng),以滿足產(chǎn)品特定需求是非常有必要的。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種命令行界面處理系統(tǒng)及方法,以解決現(xiàn)有命令行處理方法耦合性差、不易擴展的問題。
為解決上述技術(shù)問題,本發(fā)明提供一種命令行界面處理系統(tǒng),包括:
用戶接口進(jìn)程模塊、指令預(yù)處理進(jìn)程模塊以及指令執(zhí)行進(jìn)程模塊;
其中,所述用戶接口進(jìn)程模塊與所述指令預(yù)處理進(jìn)程模塊通過共享內(nèi)存進(jìn)行串聯(lián)通信,所述指令預(yù)處理進(jìn)程模塊與所述指令執(zhí)行進(jìn)程模塊通過消息隊列進(jìn)行通信;
所述用戶接口進(jìn)程模塊用于接收用戶下發(fā)的命令提示符,將所述命令提示符轉(zhuǎn)發(fā)至所述指令預(yù)處理進(jìn)程模塊;
所述指令預(yù)處理進(jìn)程模塊用于對所述命令提示符進(jìn)行預(yù)處理,生成對應(yīng)的請求任務(wù),通過所述消息隊列轉(zhuǎn)發(fā)至所述指令執(zhí)行進(jìn)程模塊;
所述指令執(zhí)行進(jìn)程模塊用于對所述請求任務(wù)進(jìn)行調(diào)度處理。
可選地,所述用戶接口進(jìn)程模塊包括:
區(qū)分單元,用于區(qū)分接收到的所述命令提示符的命令類型為信息查詢命令或配置操作命令;
分發(fā)單元,用于根據(jù)所述命令類型分發(fā)至對應(yīng)的接口;
第一轉(zhuǎn)發(fā)單元,用于調(diào)用封裝接口轉(zhuǎn)發(fā)至所述共享內(nèi)存;
查找單元,用于查找所述共享內(nèi)存是否存在應(yīng)答處理信息,當(dāng)所述共享內(nèi)存存在所述應(yīng)答處理信息時,接收所述應(yīng)答處理信息。
可選地,所述用戶接口進(jìn)程模塊還包括:
合法性校驗單元,用于對接收到的所述命令提示符的合法性進(jìn)行校驗。
可選地,所述指令預(yù)處理進(jìn)程模塊包括:
第一判斷單元,用于判斷所述共享內(nèi)存是否有新請求,在所述共享內(nèi)存有新請求時,封裝為請求任務(wù);
第二轉(zhuǎn)發(fā)單元,用于將所述請求任務(wù)轉(zhuǎn)發(fā)至所述消息隊列;
處理單元,用于判斷所述消息隊列中是否有回應(yīng)信息,在所述消息隊列中有回應(yīng)消息時,處理所述請求任務(wù);
第一返回單元,用于將應(yīng)答處理信息返回至所述共享內(nèi)存。
可選地,所述第一判斷單元具體用于:
判斷所述共享內(nèi)存是否有新請求,在所述共享內(nèi)存有新請求時,對所述新請求進(jìn)行合法性校驗,校驗成功后封裝為預(yù)設(shè)類型的請求任務(wù)。
可選地,所述指令執(zhí)行進(jìn)程模塊包括:
第二判斷單元,用于判斷所述消息隊列是否有新請求,在所述消息隊列有新請求時,根據(jù)請求任務(wù)查找對應(yīng)的處理接口;
執(zhí)行單元,用于通過所述處理接口執(zhí)行所述請求任務(wù);
第二返回單元,用于封裝回應(yīng)信息并返回至所述消息隊列。
本發(fā)明還提供了一種命令行界面處理方法,包括:
用戶接口進(jìn)程接收用戶下發(fā)的命令提示符,將所述命令提示符轉(zhuǎn)發(fā)至指令預(yù)處理進(jìn)程;
指令預(yù)處理進(jìn)程對所述命令提示符進(jìn)行預(yù)處理,生成對應(yīng)的請求任務(wù),通過消息隊列轉(zhuǎn)發(fā)至指令執(zhí)行進(jìn)程;
指令執(zhí)行進(jìn)程對所述請求任務(wù)進(jìn)行調(diào)度處理。
可選地,所述用戶接口進(jìn)程接收用戶下發(fā)的命令提示符,將所述命令提示符轉(zhuǎn)發(fā)至指令預(yù)處理進(jìn)程包括:
區(qū)分接收到的所述命令提示符的命令類型為信息查詢命令或配置操作命令;
根據(jù)所述命令類型分發(fā)至對應(yīng)的接口;
調(diào)用封裝接口轉(zhuǎn)發(fā)至所述共享內(nèi)存;
查找所述共享內(nèi)存是否存在應(yīng)答處理信息,當(dāng)所述共享內(nèi)存存在所述應(yīng)答處理信息時,接收所述應(yīng)答處理信息。
可選地,所述指令預(yù)處理進(jìn)程對所述命令提示符進(jìn)行預(yù)處理,生成對應(yīng)的請求任務(wù),通過消息隊列轉(zhuǎn)發(fā)至指令執(zhí)行進(jìn)程包括:
判斷所述共享內(nèi)存是否有新請求,在所述共享內(nèi)存有新請求時,則封裝為請求任務(wù);
將所述請求任務(wù)轉(zhuǎn)發(fā)至消息隊列;
判斷所述消息隊列中是否有回應(yīng)信息,在所述消息隊列中有回應(yīng)消息時,則處理所述請求任務(wù);
將應(yīng)答處理信息返回至所述共享內(nèi)存。
可選地,所述指令執(zhí)行進(jìn)程對所述請求任務(wù)進(jìn)行調(diào)度處理包括:
判斷所述消息隊列是否有新請求,在所述消息隊列有新請求時,則根據(jù)請求任務(wù)查找對應(yīng)的處理接口;
通過所述處理接口執(zhí)行所述請求任務(wù);
封裝回應(yīng)信息并返回至所述消息隊列。
本發(fā)明所提供的命令行界面處理系統(tǒng),包括:用戶接口進(jìn)程模塊、指令預(yù)處理進(jìn)程模塊以及指令執(zhí)行進(jìn)程模塊;用戶接口進(jìn)程模塊與指令預(yù)處理進(jìn)程模塊通過共享內(nèi)存進(jìn)行串聯(lián)通信,指令預(yù)處理進(jìn)程模塊與指令執(zhí)行進(jìn)程模塊通過消息隊列進(jìn)行通信;用戶接口進(jìn)程模塊接收用戶下發(fā)的命令提示符,將命令提示符轉(zhuǎn)發(fā)至指令預(yù)處理進(jìn)程模塊;指令預(yù)處理進(jìn)程模塊對命令提示符進(jìn)行預(yù)處理,生成對應(yīng)的請求任務(wù),通過消息隊列轉(zhuǎn)發(fā)至指令執(zhí)行進(jìn)程模塊;指令執(zhí)行進(jìn)程模塊對請求任務(wù)進(jìn)行調(diào)度處理。本申請結(jié)合共享內(nèi)存及消息隊列兩種IPC通信機制,實現(xiàn)了CLI解析流程不同階段的非耦合封裝,且便于后續(xù)新增CLI指令的擴展,具備很好的靈活性。此外,本發(fā)明還提供了一種具有上述技術(shù)優(yōu)點的命令行界面處理方法。
附圖說明
為了更清楚的說明本發(fā)明實施例或現(xiàn)有技術(shù)的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明所提供的命令行界面處理系統(tǒng)的一種具體實施方式結(jié)構(gòu)框圖;
圖2為本發(fā)明實施例提供的命令行界面處理方法的流程圖;
圖3為本發(fā)明所提供的命令行界面處理系統(tǒng)的總體模塊關(guān)系示意圖;
圖4為用戶接口進(jìn)程的流程圖;
圖5為指令預(yù)處理進(jìn)程的流程圖;
圖6為指令執(zhí)行進(jìn)程的流程圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實施方式對本發(fā)明作進(jìn)一步的詳細(xì)說明。顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明所提供的命令行界面處理系統(tǒng)的一種具體實施方式結(jié)構(gòu)框圖如圖1所示,該系統(tǒng)包括:
用戶接口進(jìn)程模塊1、指令預(yù)處理進(jìn)程模塊2以及指令執(zhí)行進(jìn)程模塊3;
其中,所述用戶接口進(jìn)程模塊1與所述指令預(yù)處理進(jìn)程模塊2通過共享內(nèi)存進(jìn)行串聯(lián)通信,所述指令預(yù)處理進(jìn)程模塊2與所述指令執(zhí)行進(jìn)程模塊3通過消息隊列進(jìn)行通信;
所述用戶接口進(jìn)程模塊1用于接收用戶下發(fā)的命令提示符,將所述命令提示符轉(zhuǎn)發(fā)至所述指令預(yù)處理進(jìn)程模塊;
所述指令預(yù)處理進(jìn)程模塊2用于對所述命令提示符進(jìn)行預(yù)處理,生成對應(yīng)的請求任務(wù),通過所述消息隊列轉(zhuǎn)發(fā)至所述指令執(zhí)行進(jìn)程模塊;
所述指令執(zhí)行進(jìn)程模塊3用于對所述請求任務(wù)進(jìn)行調(diào)度處理。
需要指出的是,上述模塊之間彼此相互獨立,其中用戶接口進(jìn)程模塊與指令預(yù)處理進(jìn)程模塊之間通過共享內(nèi)存進(jìn)行串聯(lián)通信,指令預(yù)處理進(jìn)程模塊與指令執(zhí)行進(jìn)程模塊之間通過消息隊列進(jìn)行串聯(lián)通信。模塊間采用sync與async結(jié)合方式工作,用戶接口進(jìn)程模塊將命令提示符(cmd)轉(zhuǎn)發(fā)至指令預(yù)處理進(jìn)程后會進(jìn)行阻塞等待,等待指令預(yù)處理進(jìn)程處理完畢喚醒用戶接口進(jìn)程模塊;指令預(yù)處理進(jìn)程模塊預(yù)處理完畢后通過消息隊列轉(zhuǎn)發(fā)至指令執(zhí)行進(jìn)程模塊,等待指令執(zhí)行進(jìn)程模塊執(zhí)行完畢后再次喚醒指令預(yù)處理進(jìn)程,然后指令預(yù)處理進(jìn)程針對接收的應(yīng)答進(jìn)行封裝處理再轉(zhuǎn)發(fā)回用戶接口進(jìn)程模塊,至此便完成了一個完整的CLI處理流程。
本發(fā)明所提供的命令行界面處理系統(tǒng),包括:用戶接口進(jìn)程模塊、指令預(yù)處理進(jìn)程模塊以及指令執(zhí)行進(jìn)程模塊;用戶接口進(jìn)程模塊與指令預(yù)處理進(jìn)程模塊通過共享內(nèi)存進(jìn)行串聯(lián)通信,指令預(yù)處理進(jìn)程模塊與指令執(zhí)行進(jìn)程模塊通過消息隊列進(jìn)行通信;用戶接口進(jìn)程模塊接收用戶下發(fā)的命令提示符,將命令提示符轉(zhuǎn)發(fā)至指令預(yù)處理進(jìn)程模塊;指令預(yù)處理進(jìn)程模塊對命令提示符進(jìn)行預(yù)處理,生成對應(yīng)的請求任務(wù),通過消息隊列轉(zhuǎn)發(fā)至指令執(zhí)行進(jìn)程模塊;指令執(zhí)行進(jìn)程模塊對請求任務(wù)進(jìn)行調(diào)度處理。本申請各模塊之間無耦合性,可依據(jù)需求自行刪減指令集;并且軟、硬件處理模塊分離,相互之間隱藏具體實現(xiàn)細(xì)節(jié),實現(xiàn)了CLI解析流程不同階段的非耦合封裝且便于后續(xù)新增CLI指令的擴展,具備很好靈活性。
在上述實施例的基礎(chǔ)上,用戶接口進(jìn)程模塊(user_cli)為獨立的用戶處理進(jìn)程,主要負(fù)責(zé)接收用戶下發(fā)cmd、合法性檢測、cmd轉(zhuǎn)發(fā)等任務(wù);且命令下發(fā)后user_cli需區(qū)分其為info查詢還是set配置操作然后分發(fā)至對應(yīng)接口,命令需進(jìn)行合法性檢測如assert方式,命令封裝轉(zhuǎn)發(fā)調(diào)用share memory封裝的write接口。本實施例中用戶接口進(jìn)程模塊可以具體包括:
區(qū)分單元,用于區(qū)分接收到的所述命令提示符的命令類型為信息查詢命令或配置操作命令;
分發(fā)單元,用于根據(jù)所述命令類型分發(fā)至對應(yīng)的接口;
第一轉(zhuǎn)發(fā)單元,用于調(diào)用封裝接口轉(zhuǎn)發(fā)至所述共享內(nèi)存;
查找單元,用于查找所述共享內(nèi)存是否存在應(yīng)答處理信息,當(dāng)所述共享內(nèi)存存在所述應(yīng)答處理信息時,接收所述應(yīng)答處理信息。
作為一種優(yōu)選實施方式,用戶接口進(jìn)程模塊還可以進(jìn)一步包括:
合法性校驗單元,用于對接收到的所述命令提示符的合法性進(jìn)行校驗。
指令預(yù)處理進(jìn)程模塊(cli_thread)主要負(fù)責(zé)cmd預(yù)處理,cmd重新封裝為request等任務(wù),具備cmd監(jiān)聽線程,結(jié)合同步策略信號量,在無cli請求時,cli_thread接收處理線程掛起狀態(tài),新請求來臨后便可解除阻塞,針對接收request進(jìn)行重新檢測分類然后封裝為exec識別的結(jié)構(gòu)體,最后通過消息隊列write接口發(fā)送至消息隊列。其可以具體包括:
第一判斷單元,用于判斷所述共享內(nèi)存是否有新請求,如果有,則封裝為請求任務(wù);
第二轉(zhuǎn)發(fā)單元,用于將所述請求任務(wù)轉(zhuǎn)發(fā)至消息隊列;
處理單元,用于判斷所述消息隊列中是否有回應(yīng)信息,如果有,則處理所述請求任務(wù);
第一返回單元,用于將應(yīng)答處理信息返回至所述共享內(nèi)存。
其中,第一判斷單元具體用于:
判斷所述共享內(nèi)存是否有新請求,如果有,則對所述新請求進(jìn)行合法性校驗,校驗成功后封裝為預(yù)設(shè)類型的請求任務(wù)。
指令執(zhí)行進(jìn)程模塊主要負(fù)責(zé)具體cmd的執(zhí)行過程,以及cmd維護(hù)結(jié)構(gòu)攜帶的id信息選擇具體處理對象,exec指令執(zhí)行進(jìn)程負(fù)責(zé)具體指令的執(zhí)行工作,exec監(jiān)聽線程偵測到新的request到來后需解析指令然后依據(jù)具體request_id選擇對應(yīng)處理分支,最終下發(fā)操作具體硬件模塊。分支操作完畢需重新構(gòu)造response應(yīng)答信息返還消息隊列,進(jìn)而完成本次CLI操作。其可以具體包括:
第二判斷單元,用于判斷所述消息隊列是否有新請求,如果有,則根據(jù)請求任務(wù)查找對應(yīng)的處理接口;
執(zhí)行單元,用于通過所述處理接口執(zhí)行所述請求任務(wù);
第二返回單元,用于封裝回應(yīng)信息并返回至所述消息隊列。
下面對本發(fā)明實施例提供的命令行界面處理方法進(jìn)行介紹,下文描述的命令行界面處理方法與上文描述的命令行界面處理系統(tǒng)可相互對應(yīng)參照。
圖2為本發(fā)明實施例提供的命令行界面處理方法的流程圖,參照圖2命令行界面處理方法可以包括:
步驟S101:用戶接口進(jìn)程接收用戶下發(fā)的命令提示符,將所述命令提示符轉(zhuǎn)發(fā)至指令預(yù)處理進(jìn)程;
步驟S102:指令預(yù)處理進(jìn)程對所述命令提示符進(jìn)行預(yù)處理,生成對應(yīng)的請求任務(wù),通過消息隊列轉(zhuǎn)發(fā)至指令執(zhí)行進(jìn)程;
步驟S103:指令執(zhí)行進(jìn)程對所述請求任務(wù)進(jìn)行調(diào)度處理。
在上述實施例的基礎(chǔ)上,本發(fā)明所提供的命令行界面處理方法中,用戶接口進(jìn)程接收用戶下發(fā)的命令提示符,將所述命令提示符轉(zhuǎn)發(fā)至指令預(yù)處理進(jìn)程的步驟可以具體包括:
區(qū)分接收到的所述命令提示符的命令類型為信息查詢命令或配置操作命令;
根據(jù)所述命令類型分發(fā)至對應(yīng)的接口;
調(diào)用封裝接口轉(zhuǎn)發(fā)至所述共享內(nèi)存;
查找所述共享內(nèi)存是否存在應(yīng)答處理信息,當(dāng)所述共享內(nèi)存存在所述應(yīng)答處理信息時,接收所述應(yīng)答處理信息。
作為一種具體實施方式,本發(fā)明所提供的命令行界面處理方法中,所述指令預(yù)處理進(jìn)程對所述命令提示符進(jìn)行預(yù)處理,生成對應(yīng)的請求任務(wù),通過消息隊列轉(zhuǎn)發(fā)至指令執(zhí)行進(jìn)程包括:
判斷所述共享內(nèi)存是否有新請求,如果有,則封裝為請求任務(wù);
將所述請求任務(wù)轉(zhuǎn)發(fā)至消息隊列;
判斷所述消息隊列中是否有回應(yīng)信息,如果有,則處理所述請求任務(wù);
將應(yīng)答處理信息返回至所述共享內(nèi)存。
作為一種具體實施方式,本發(fā)明所提供的命令行界面處理方法中,所述指令執(zhí)行進(jìn)程對所述請求任務(wù)進(jìn)行調(diào)度處理包括:
判斷所述消息隊列是否有新請求,如果有,則根據(jù)請求任務(wù)查找對應(yīng)的處理接口;
通過所述處理接口執(zhí)行所述請求任務(wù);
封裝回應(yīng)信息并返回至所述消息隊列。
結(jié)合圖3本發(fā)明所提供的命令行界面處理系統(tǒng)的總體模塊關(guān)系示意圖,下面對本發(fā)明所提供的命令行界面處理方法的另一種具體實施方式的工作過程進(jìn)行詳細(xì)闡述。
該系統(tǒng)包括:user_cli用戶接口進(jìn)程、cli_thread預(yù)處理進(jìn)程及exec執(zhí)行進(jìn)程三部分;其中user_cli與cli_thread之間通過share memory IPC機制進(jìn)行通信,保證二者之間數(shù)據(jù)最快傳輸,但是需額外提供同步機制保證二者同步;cli_thread與exec之間采用msg_queue IPC機制進(jìn)行通信,由于system v消息隊列自帶阻塞機制,故可省去額外同步保證機制。
圖4示出了用戶接口進(jìn)程的流程圖,user_cli接收用戶下發(fā)指令,然后針對下發(fā)cmd進(jìn)行校驗,校驗成功后依據(jù)cmd信息重新封裝成request數(shù)據(jù)結(jié)構(gòu),且將request發(fā)送至共享內(nèi)存區(qū),request發(fā)送成功后,user_cli便阻塞等待讀取共享內(nèi)存區(qū)是否有對應(yīng)answer存在,若存在相應(yīng)answer則user_cli處理對應(yīng)answer完成本次CLI請求任務(wù)。
圖5示出了指令預(yù)處理進(jìn)程的流程圖,cli_thread初始化完畢便阻塞等待共享內(nèi)存區(qū)是否有新請求到來,若此時存在新的request,首先需要校驗request合法性,完成私有信息轉(zhuǎn)存然后重新封裝另一種類型的request,發(fā)送至消息隊列區(qū);類似于user_cli,cli_thread同樣阻塞等待在消息隊列讀取接口,等待獲取exec返回的確認(rèn)信息;若此時檢測到exec返回response信息,則將其轉(zhuǎn)發(fā)至user_cli共享內(nèi)存區(qū)完成本次CLI請求任務(wù)。
圖6示出了指令執(zhí)行進(jìn)程的流程圖,exec初始化完畢后同樣阻塞等待在消息隊列上,若此時有新請求達(dá)到,則exec讀取請求,簡單校驗后依據(jù)request內(nèi)部相關(guān)id信息查找事先注冊的callback接口,通過相應(yīng)注冊接口完成本次CLI實際執(zhí)行動作,CLI執(zhí)行完畢(success or failed),exec需封裝對應(yīng)response數(shù)據(jù)發(fā)送至二者共享的消息隊列區(qū),進(jìn)而完成本次CLI請求任務(wù)。
本發(fā)明依據(jù)特定產(chǎn)品開發(fā)需求,提出一種結(jié)合共享內(nèi)存以及消息隊列的新型CLI處理機制。本發(fā)明中軟件模塊無耦合性,可依據(jù)需求自行刪減指令集;保證軟、硬件處理模塊分離,相互之間隱藏具體實現(xiàn)細(xì)節(jié);為后續(xù)相關(guān)模塊開發(fā)提供理念借鑒。
本說明書中各個實施例采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
專業(yè)人員還可以進(jìn)一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
以上對本發(fā)明所提供的命令行界面處理系統(tǒng)及方法進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。