午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

一種命令行的配置存儲(chǔ)方法及其對應(yīng)的配置讀取方法與流程

文檔序號:39728899發(fā)布日期:2024-10-22 13:32閱讀:4來源:國知局
一種命令行的配置存儲(chǔ)方法及其對應(yīng)的配置讀取方法與流程

本技術(shù)涉及命令行,尤其是一種命令行的配置存儲(chǔ)方法及其對應(yīng)的配置讀取方法。


背景技術(shù):

1、在嵌入式操作系統(tǒng)領(lǐng)域,命令行界面(command?line?interface,cli)是用戶與操作系統(tǒng)或應(yīng)用程序之間的一種基于文本輸入的命令接口,其提供了最基礎(chǔ)的人機(jī)交互技術(shù),用戶可以通過命令行界面輸入命令字符串以向操作系統(tǒng)發(fā)送指令,使得嵌入式操作系統(tǒng)執(zhí)行特定的任務(wù)。命令行界面雖然在人機(jī)交互的便捷性上不如圖形用戶界面,但是更節(jié)省嵌入式操作系統(tǒng)的系統(tǒng)資源且運(yùn)行速度更快,因此仍然是目前常用的交互方式。

2、在嵌入式設(shè)備的開發(fā)應(yīng)用過程中,常常需要將用戶輸入的命令字符串存儲(chǔ)在嵌入式設(shè)備的存儲(chǔ)空間內(nèi),后續(xù)有需要的時(shí)候可以再次從存儲(chǔ)空間內(nèi)讀取,執(zhí)行已存儲(chǔ)的命令字符串并調(diào)用相應(yīng)的回調(diào)函數(shù)得到執(zhí)行結(jié)果,從而可以直接執(zhí)行相應(yīng)的任務(wù)而無需每次都重復(fù)輸入命令字符串。比如在交換機(jī)設(shè)備的運(yùn)行過程中,有時(shí)候會(huì)出現(xiàn)一些問題或者用戶要求新增加一個(gè)功能,這時(shí)候開發(fā)人員可以將相應(yīng)功能的命令字符串寫入并存儲(chǔ)在交換機(jī)設(shè)備的flash內(nèi),即便是交換機(jī)設(shè)備掉電或重啟后,也可以直接從flash內(nèi)讀取執(zhí)行相應(yīng)的命令字符串以實(shí)現(xiàn)所需的功能。目前在存儲(chǔ)命令字符串時(shí),一般是將整個(gè)命令字符串都保存到字符串?dāng)?shù)組,再將字符串?dāng)?shù)字存儲(chǔ)到存儲(chǔ)空間,但是隨著命令行技術(shù)的發(fā)展,命令字符串所實(shí)現(xiàn)的功能以及復(fù)雜程度越來越高,比如目前存儲(chǔ)單條命令字符串可能占用高達(dá)50-60個(gè)字符,因此這種存儲(chǔ)方式會(huì)占用大量存儲(chǔ)空間。


技術(shù)實(shí)現(xiàn)思路

1、本技術(shù)針對上述問題及技術(shù)需求,提出了一種命令行的配置存儲(chǔ)方法,本技術(shù)的技術(shù)方案如下:

2、一種命令行的配置存儲(chǔ)方法,該配置存儲(chǔ)方法包括:

3、獲取輸入的待處理命令字符串;

4、根據(jù)已經(jīng)定義注冊的軟件模塊中與待處理命令字符串所屬的目標(biāo)軟件模塊對應(yīng)的目標(biāo)命令行格式解析待處理命令字符串,提取待處理命令字符串中的可變參數(shù)的數(shù)據(jù)并確定待處理命令字符串所具有的目標(biāo)函數(shù)功能對應(yīng)的回調(diào)函數(shù)標(biāo)識(shí)作為待處理命令字符串的回調(diào)函數(shù)標(biāo)識(shí);其中,可變參數(shù)是在屬于同一個(gè)軟件模塊的不同命令字符串中數(shù)據(jù)內(nèi)容不同的參數(shù),每個(gè)回調(diào)函數(shù)標(biāo)識(shí)用于唯一標(biāo)識(shí)一個(gè)回調(diào)函數(shù);

5、將待處理命令字符串的配置數(shù)據(jù)對應(yīng)存儲(chǔ)在存儲(chǔ)空間內(nèi),配置數(shù)據(jù)包括待處理命令字符串的可變參數(shù)的數(shù)據(jù)以及回調(diào)函數(shù)標(biāo)識(shí),待處理命令字符串的可變參數(shù)的數(shù)據(jù)用于在配置讀取時(shí)傳參入待處理命令字符串的回調(diào)函數(shù)標(biāo)識(shí)對應(yīng)的回調(diào)函數(shù)以得到待處理命令字符串的執(zhí)行結(jié)果。

6、其進(jìn)一步的技術(shù)方案為,配置存儲(chǔ)方法還包括:

7、在定義每個(gè)軟件模塊時(shí),定義軟件模塊包含的各個(gè)函數(shù)功能的存儲(chǔ)扇區(qū)大小;

8、在注冊每個(gè)軟件模塊時(shí),按照軟件模塊包含的各個(gè)函數(shù)功能的存儲(chǔ)扇區(qū)大小給各個(gè)函數(shù)功能分配存儲(chǔ)空間內(nèi)的存儲(chǔ)扇區(qū),每個(gè)函數(shù)功能的存儲(chǔ)扇區(qū)用于存儲(chǔ)具有函數(shù)功能的命令字符串的配置數(shù)據(jù);

9、則將待處理命令字符串的配置數(shù)據(jù)對應(yīng)存儲(chǔ)在存儲(chǔ)空間內(nèi)包括:將待處理命令字符串的配置數(shù)據(jù)對應(yīng)存儲(chǔ)在目標(biāo)函數(shù)功能的存儲(chǔ)扇區(qū)內(nèi)。

10、其進(jìn)一步的技術(shù)方案為,按照軟件模塊包含的各個(gè)函數(shù)功能的存儲(chǔ)扇區(qū)大小給各個(gè)函數(shù)功能分配存儲(chǔ)空間內(nèi)的存儲(chǔ)扇區(qū)包括:

11、從存儲(chǔ)空間的初始存儲(chǔ)地址開始按照函數(shù)功能的注冊順序依次給各個(gè)函數(shù)功能分配各自的存儲(chǔ)扇區(qū),在注冊每個(gè)函數(shù)功能時(shí),根據(jù)已經(jīng)分配給其他函數(shù)功能的存儲(chǔ)扇區(qū)確定存儲(chǔ)偏移地址,將存儲(chǔ)偏移地址開始、具有存儲(chǔ)扇區(qū)大小的存儲(chǔ)扇區(qū)分配給當(dāng)前注冊的函數(shù)功能。

12、其進(jìn)一步的技術(shù)方案為,定義軟件模塊包含的每個(gè)函數(shù)功能的存儲(chǔ)扇區(qū)大小,包括:

13、定義函數(shù)功能的存儲(chǔ)映射單元的數(shù)量以及每個(gè)存儲(chǔ)映射單元的大小,所有存儲(chǔ)映射單元的大小總和為函數(shù)功能的存儲(chǔ)扇區(qū)大小;

14、按照函數(shù)功能的存儲(chǔ)扇區(qū)大小給函數(shù)功能分配存儲(chǔ)扇區(qū)包括:按照函數(shù)功能的存儲(chǔ)映射單元的數(shù)量及大小給函數(shù)功能分配多個(gè)存儲(chǔ)映射單元作為存儲(chǔ)扇區(qū)。

15、其進(jìn)一步的技術(shù)方案為,將待處理命令字符串的配置數(shù)據(jù)對應(yīng)存儲(chǔ)在存儲(chǔ)空間內(nèi)包括:

16、當(dāng)目標(biāo)函數(shù)功能的存儲(chǔ)映射單元為一個(gè)時(shí),采用覆蓋存儲(chǔ)的方式將待處理命令字符串的配置數(shù)據(jù)存儲(chǔ)在目標(biāo)函數(shù)功能的存儲(chǔ)映射單元中;

17、當(dāng)目標(biāo)函數(shù)功能的存儲(chǔ)映射單元為多個(gè)時(shí),采用覆蓋存儲(chǔ)的方式將待處理命令字符串的配置數(shù)據(jù)存儲(chǔ)在目標(biāo)函數(shù)功能的其中一個(gè)存儲(chǔ)映射單元中,且用于存儲(chǔ)待處理命令字符串的配置數(shù)據(jù)的存儲(chǔ)映射單元與待處理命令字符串的配置數(shù)據(jù)匹配。

18、其進(jìn)一步的技術(shù)方案為,當(dāng)函數(shù)功能是具有命令存儲(chǔ)需求的第一類命令時(shí),定義的函數(shù)功能的存儲(chǔ)扇區(qū)大小大于0;當(dāng)函數(shù)功能是不具有命令存儲(chǔ)需求的第二類命令時(shí),定義函數(shù)功能的存儲(chǔ)扇區(qū)大小為0;配置存儲(chǔ)方法還包括:

19、當(dāng)待處理命令字符串所屬的目標(biāo)函數(shù)功能為第一類命令時(shí),執(zhí)行待處理命令字符串后執(zhí)行將待處理命令字符串的配置數(shù)據(jù)對應(yīng)存儲(chǔ)在存儲(chǔ)空間內(nèi)的步驟;

20、當(dāng)待處理命令字符串所屬的目標(biāo)函數(shù)功能為第二類命令時(shí),執(zhí)行待處理命令字符串后結(jié)束。

21、其進(jìn)一步的技術(shù)方案為,待處理命令字符串中的可變參數(shù)包括選項(xiàng)參數(shù)和含值參數(shù),選項(xiàng)參數(shù)的數(shù)據(jù)內(nèi)容用于標(biāo)識(shí)目標(biāo)函數(shù)功能,含值參數(shù)的數(shù)據(jù)內(nèi)容是目標(biāo)函數(shù)功能的函數(shù)參數(shù);

22、將待處理命令字符串的配置數(shù)據(jù)對應(yīng)存儲(chǔ)在存儲(chǔ)空間內(nèi),包括:

23、將編碼為數(shù)值形式的選項(xiàng)參數(shù)的數(shù)據(jù)、含值參數(shù)的數(shù)據(jù)、回調(diào)函數(shù)標(biāo)識(shí)存儲(chǔ)在存儲(chǔ)空間內(nèi)。

24、其進(jìn)一步的技術(shù)方案為,定義每個(gè)軟件模塊的方法包括:寫入軟件模塊的命令定義宏,軟件模塊的命令定義宏包括軟件模塊的命令行格式、軟件模塊包含的各個(gè)函數(shù)功能的回調(diào)函數(shù)及其對應(yīng)的回調(diào)函數(shù)標(biāo)識(shí)以及存儲(chǔ)扇區(qū)大小,軟件模塊的命令行格式指示屬于軟件模塊的命令字符串中包括的多個(gè)命令節(jié)點(diǎn)的線性鏈表結(jié)構(gòu),每個(gè)命令節(jié)點(diǎn)的節(jié)點(diǎn)類型為普通節(jié)點(diǎn)、選項(xiàng)節(jié)點(diǎn)和含值節(jié)點(diǎn)中的一種;在命令行格式中,每個(gè)普通節(jié)點(diǎn)具有唯一的值,每個(gè)選項(xiàng)節(jié)點(diǎn)具有多個(gè)不同的預(yù)設(shè)可選選項(xiàng),且每個(gè)軟件模塊的命令行格式的第一個(gè)命令節(jié)點(diǎn)為普通節(jié)點(diǎn);

25、配置存儲(chǔ)方法還包括:在注冊每個(gè)軟件模塊時(shí),將軟件模塊的命令行格式中的命令節(jié)點(diǎn)與已經(jīng)形成的命令樹中的命令節(jié)點(diǎn)進(jìn)行合并更新命令樹,命令樹是已經(jīng)注冊的多個(gè)軟件模塊的命令行格式中的命令節(jié)點(diǎn)相連形成的樹形結(jié)構(gòu),已經(jīng)注冊的每個(gè)軟件模塊的命令行格式對應(yīng)命令樹中由多個(gè)命令節(jié)點(diǎn)依次相連形成的一條命令節(jié)點(diǎn)路徑。

26、其進(jìn)一步的技術(shù)方案為,根據(jù)目標(biāo)命令行格式解析待處理命令字符串,包括:

27、以命令樹中與待處理命令字符串中的第一個(gè)命令節(jié)點(diǎn)匹配的命令節(jié)點(diǎn)作為根節(jié)點(diǎn),依次遍歷命令樹中連接在根節(jié)點(diǎn)下的各個(gè)命令節(jié)點(diǎn)確定與待處理命令字符串匹配的命令節(jié)點(diǎn)路徑,確定得到的命令節(jié)點(diǎn)路徑從根節(jié)點(diǎn)開始依次經(jīng)過的各個(gè)命令節(jié)點(diǎn)分別與待處理命令字符串中的各個(gè)命令節(jié)點(diǎn)一一匹配;其中,對于待處理命令字符串中的任意一個(gè)命令節(jié)點(diǎn),當(dāng)命令節(jié)點(diǎn)的值與命令樹中普通節(jié)點(diǎn)的值相同時(shí)與普通節(jié)點(diǎn)匹配,或者,當(dāng)命令節(jié)點(diǎn)的值與命令樹中選項(xiàng)節(jié)點(diǎn)的其中一個(gè)預(yù)設(shè)可選選項(xiàng)相同時(shí)與選項(xiàng)節(jié)點(diǎn)匹配,或者,當(dāng)命令節(jié)點(diǎn)的值符合含值節(jié)點(diǎn)的預(yù)定數(shù)據(jù)格式時(shí)與含值節(jié)點(diǎn)匹配;

28、提取待處理命令字符串中與選項(xiàng)節(jié)點(diǎn)匹配的命令節(jié)點(diǎn)的值得到待處理命令字符串的選項(xiàng)參數(shù)的數(shù)據(jù),以及,提取待處理命令字符串中與含值節(jié)點(diǎn)匹配的命令節(jié)點(diǎn)的值得到待處理命令字符串的含值參數(shù)的數(shù)據(jù);

29、根據(jù)提取得到的選項(xiàng)參數(shù)的數(shù)據(jù)確定待處理命令字符串所具有的目標(biāo)函數(shù)功能,并確定含值參數(shù)的數(shù)據(jù)是目標(biāo)函數(shù)功能的函數(shù)參數(shù),并將目標(biāo)函數(shù)功能的回調(diào)函數(shù)標(biāo)識(shí)作為待處理命令字符串的回調(diào)函數(shù)標(biāo)識(shí)。

30、一種命令行的配置讀取方法,該配置讀取方法包括:

31、從存儲(chǔ)空間內(nèi)獲取待讀取命令字符串的可變參數(shù)的數(shù)據(jù)以及對應(yīng)的回調(diào)函數(shù)標(biāo)識(shí);

32、將待讀取命令字符串的可變參數(shù)的數(shù)據(jù)傳參入待讀取命令字符串的回調(diào)函數(shù)標(biāo)識(shí)對應(yīng)的回調(diào)函數(shù)中,得到待讀取命令字符串的執(zhí)行結(jié)果。

33、本技術(shù)的有益技術(shù)效果是:

34、本技術(shù)公開了一種命令行的配置存儲(chǔ)方法及其對應(yīng)的配置讀取方法,該方法并不直接存儲(chǔ)整個(gè)命令字符串,而是首先根據(jù)該命令字符串所屬的目標(biāo)軟件模塊對應(yīng)的目標(biāo)命令行格式進(jìn)行解析,以提取命令字符串中的可變參數(shù)的數(shù)據(jù)和回調(diào)函數(shù)標(biāo)識(shí)作為配置數(shù)據(jù),然后僅存儲(chǔ)命令字符串中的配置數(shù)據(jù)而不再存儲(chǔ)固定參數(shù)的數(shù)據(jù),基于這種配置存儲(chǔ)方法,可以在保證正確的配置讀取的基礎(chǔ)上減少對存儲(chǔ)空間的占用。另外該方法將解析后得到的配置數(shù)據(jù)直接進(jìn)行存儲(chǔ),使得在配置讀取時(shí)無需再重復(fù)解析,當(dāng)需要多次進(jìn)行配置讀取時(shí),避免了重復(fù)解析帶來的時(shí)間消耗和內(nèi)存資源消耗,可以提高配置存儲(chǔ)讀取的效率。

35、該方法還提供了全新的命令行集成框架,將命令行流程優(yōu)化為便捷統(tǒng)一的模塊,通過預(yù)先定義軟件模塊的存儲(chǔ)扇區(qū)大小,可以自動(dòng)規(guī)劃每個(gè)軟件模塊的存儲(chǔ)扇區(qū),無需再人為計(jì)算指定存儲(chǔ)地址,便捷度和準(zhǔn)確性更高。且利用線性鏈表結(jié)構(gòu)來表示軟件模塊的目標(biāo)命令行格式,可以清晰地表達(dá)軟件模塊的命令節(jié)點(diǎn)的層次結(jié)構(gòu)。該方法可以適用于嵌入式設(shè)備中需要命令行界面里的各種場合里,且對命令行集成框架的優(yōu)化讓軟件開發(fā)人員無需關(guān)心底層實(shí)現(xiàn)細(xì)節(jié),降低了開發(fā)難度。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1