新四季網

編譯方法及裝置與流程

2024-03-30 23:25:05


本發明涉及計算機技術領域,尤其涉及一種編譯方法及裝置。



背景技術:

雲編譯客戶端通過分析代碼配置文件提取數據在網頁上顯示,同時供使用者修改,修改完後可以生成新的代碼配置文件。傳統的編譯方法是,當發起編譯時,將代碼配置文件傳遞到代碼中即為代碼編譯文件,可直接供代碼編譯使用。

對於不同的方案供應商,不同的平臺,代碼編譯文件的格式各不相同(如,C、H、SQL等格式)。傳統的直接解析代碼編譯文件的方法極大的限制了適配,通用性差。



技術實現要素:

基於此,有必要提供一種通用性強的編譯方法及裝置。

一種編譯方法,包括:

獲取發起對統一代碼配置文件進行自動編譯的發起信息,所述統一代碼配置文件通過統一的數據格式採用統一關鍵字描述數據配置信息;不少於兩種文件格式的代碼配置文件的語義相同的關鍵字均對應同一組所述統一關鍵字;所述代碼配置文件採用與所述文件格式對應的數據格式的關鍵字描述數據配置信息;

根據所述發起信息提取待編譯的待譯統一代碼配置文件;

根據配置解碼映射表將所述待譯統一代碼配置文件轉換為代碼編譯文件;所述配置解碼映射表包括統一關鍵字與代碼編譯文件的關鍵字的映射關係;

對所述代碼編譯文件及與所述待譯統一代碼配置文件屬於同一項目的項目代碼文件進行編譯。

一種編譯裝置,包括:

發起信息獲取模塊,用於獲取發起對統一代碼配置文件進行自動編譯的發起信息,所述統一代碼配置文件通過統一的數據格式採用統一關鍵字描述數據配置信息;不少於兩種文件格式的代碼配置文件的語義相同的關鍵字均對應同一組所述統一關鍵字;所述代碼配置文件採用與所述文件格式對應的數據格式的關鍵字描述數據配置信息;

待譯文件提取模塊,用於根據所述發起信息提取待編譯的待譯統一代碼配置文件;

待譯文件轉換模塊,用於根據配置解碼映射表將所述待譯統一代碼配置文件轉換為代碼編譯文件;所述配置解碼映射表包括統一關鍵字與代碼編譯文件的關鍵字的映射關係;項目文件編譯模塊,用於對所述代碼編譯文件及與所述待譯統一代碼配置文件屬於同一項目的項目代碼文件進行編譯。

上述編譯方法及裝置,獲取發起對統一代碼配置文件進行自動編譯的發起信息,所述統一代碼配置文件通過統一的數據格式採用統一關鍵字描述數據配置信息;不少於兩種文件格式的代碼配置文件的語義相同的關鍵字均對應同一組所述統一關鍵字;所述代碼配置文件採用與所述文件格式對應的數據格式的關鍵字描述數據配置信息;根據所述發起信息提取待編譯的待譯統一代碼配置文件;根據配置解碼映射表將所述待譯統一代碼配置文件轉換為代碼編譯文件;所述配置解碼映射表包括所述統一關鍵字與代碼編譯文件的關鍵字的映射關係;對所述代碼編譯文件及與所述待譯統一代碼配置文件屬於同一項目的項目代碼文件進行編譯。由於該編譯方法中的統一配置代碼文件通過統一的數據格式採用統一關鍵字描述數據配置信息,而不是採用直接通過代碼編譯文件的文件格式對應的數據格式(也即代碼配置文件的文件格式對應的數據格式)的關鍵字來描述數據配置信息,因此,其通用性高,可靈活適配不同的方案供應商或平臺。

附圖說明

圖1為一實施例的編譯方法的流程圖;

圖2為另一實施例的編譯方法的流程圖;

圖3為一實施例的編譯方法在客戶端運行時的一個截圖;

圖4為一實施例的編譯裝置的結構圖;

圖5為另一實施例的編譯裝置的結構圖。

具體實施方式

為了便於理解本發明,下面將參照相關附圖對本發明進行更全面的描述。附圖中給出了本發明的較佳的實施例。但是,本發明可以以許多不同的形式來實現,並不限於本文所描述的實施例。相反地,提供這些實施例的目的是使對本發明的公開內容的理解更加透徹全面。

除非另有定義,本文所使用的所有的技術和科學術語與屬於本發明的技術領域的技術人員通常理解的含義相同。本文中在本發明的說明書中所使用的術語只是為了描述具體的實施例的目的,不是旨在於限制本發明。本文所使用的術語「或/和」包括一個或多個相關的所列項目的任意的和所有的組合。

如圖1所示,為本發明一實施例的編譯方法,該方法運行在編譯伺服器上。與編譯伺服器具有數據關聯的有雲編譯平臺及客戶端。其中,雲編譯平臺上存儲有項目代碼文件以及對項目代碼文件進行編譯後得到並發布的可執行程序;客戶端作為客戶與雲編譯平臺上存儲的可執行程序的交互接口,向雲編譯平臺發起訪問請求,並接收雲編譯平臺反饋的信息;編譯伺服器對項目代碼文件進行編譯並將編譯得到的可執行文件發布到雲編譯平臺。

本發明一實施例的編譯方法,包括:

S120:獲取發起對統一代碼配置文件進行自動編譯的發起信息。所述統一代碼配置文件通過統一的數據格式採用統一關鍵字描述數據配置信息;不少於兩種文件格式的代碼配置文件的語義相同的關鍵字均對應同一組所述統一關鍵字;所述代碼配置文件採用與所述文件格式對應的數據格式的關鍵字描述數據配置信息。。

客戶端提交請求時,可以發送一個發起對統一代碼配置文件進行自動編譯的發起命令至雲編譯平臺。雲編譯平臺根據該發起命令,發送發起信息至編譯伺服器以對統一代碼配置文件進行自動編譯。編譯伺服器獲取該發起信息。

S160:根據所述發起信息提取待編譯的待譯統一代碼配置文件。

發起信息包括待編譯的待譯統一代碼配置文件的文件標識。根據發起信息中的文件標識提取待編譯的待譯統一代碼配置文件。待譯統一代碼配置文件即為需要編譯的統一代碼配置文件。

具體地,根據發起信息中的文件標識及待譯統一代碼配置文件的存儲地址提取待編譯的統一代碼配置文件。在該具體實施例中,發起信息還包括待譯統一代碼配置文件的存儲地址。

S170:根據配置解碼映射表將所述待譯統一代碼配置文件轉換為代碼編譯文件。所述配置解碼映射表包括統一關鍵字與代碼編譯文件的關鍵字的映射關係。具體地,發起信息中還包括目標文件格式。根據配置解碼映射表及發起信息將所述待譯統一代碼配置文件轉換為目標文件格式的代碼編譯文件。目標文件格式為不少於兩文件格式中的一種格式。

需要說明的是傳統編譯方法中代碼配置文件與代碼編譯文件的格式是相同的,只是存儲的位置不同。在本實施例中,採用統一代碼配置文件替換了傳統的代碼配置文件,即,無論代碼編譯文件需要什麼樣的數據格式,均通過統一的數據格式採用統一關鍵字描述數據配置信息。從而無需通過各種數據格式對應的關鍵字來描述數據配置信息。

S180:對所述代碼編譯文件及與所述待譯統一代碼配置文件屬於同一項目的項目代碼文件進行編譯。

如此,對一個項目進行編譯,可以得到編譯後的編譯結果,具體為一個二進位的可執行程序。

上述編譯方法,獲取發起對統一代碼配置文件進行自動編譯的發起信息,所述統一代碼配置文件通過統一的數據格式採用統一關鍵字描述數據配置信息;不少於兩種文件格式的代碼配置文件的語義相同的關鍵字均對應同一組所述統一關鍵字;所述代碼配置文件採用與所述文件格式對應的數據格式的關鍵字描述數據配置信息;根據所述發起信息提取待編譯的待譯統一代碼配置文件;根據配置解碼映射表將所述待譯統一代碼配置文件轉換為代碼編譯文件;所述配置解碼映射表包括統一關鍵字與代碼編譯文件的關鍵字的映射關係;對所述代碼編譯文件及與所述待譯統一代碼配置文件屬於同一項目的項目代碼文件進行編譯。由於該編譯方法中的統一配置代碼文件通過統一的數據格式採用統一關鍵字描述數據配置信息,而不是採用直接通過代碼編譯文件的文件格式對應的數據格式(也即代碼配置文件的文件格式對應的數據格式)的關鍵字來描述數據配置信息,因此,其通用性高,可靈活適配不同的方案供應商或平臺。

需要說明的是,由於該編譯方法通用性高、可靈活適配不同的方案供應商或平臺,可以減少工程師切換方案的學習成本。同時,不誤對不同方案做特殊處理,可以降低雲編譯系統的維護成本。因此,上述編譯方法,可以節約成本。

為理解方便,舉一個例子。如,若一個項目代碼文件為SQL文件,該項目代碼文件相關的代碼編譯文件也應該為SQL文件,即發起信息中的目標格式應該為SQL語言格式。傳統編譯方法中代碼配置文件也應該採用SQL語言格式描述數據配置信息,才能直接進行編譯。本實施例中,代碼配置文件採用的是統一代碼配置文件,即是一種統一的數據格式描述數據配置信息的語言格式,如,可以為C語言格式,也即,在本示例中,用C語言格式來描述SQL語言格式中的關鍵字。若另一個項目文件為H文件(頭文件或者宏文件)或者JAVA文件,在本示例中,也是採用C語言格式描述數據配置信息,而不是用為H文件或者JAVA文件對應的宏或者JAVA語言描述數據配置信息。需要說明的是,若還有一個項目文件本來就是C文件,在用統一的數據格式C語言描述該C文件時,其內部數據結構採用統一的數據格式中所定義的方式。

請參閱圖2,在其中一個實施例中,所述根據所述發起信息提取待編譯的待譯統一代碼配置文件的步驟之前,即步驟S160之前,還包括:

S140:當根據所述發起信息判定雲編譯系統有新建的待譯統一web配置文件時,根據所述發起信息獲取所述待譯統一web配置文件。所述待譯統一web配置文件採用統一的格式描述web配置信息。

S150:根據web配置映射表將所述待譯統一web配置文件轉換為所述待譯統一代碼配置文件。所述web配置映射表包括所述待譯統一web配置文件的關鍵字與所述待譯統一代碼配置文件中的數據的映射關係。所述待譯統一代碼配置文件中的每一個數據均對應所述統一web配置文件中的一個關鍵字。

在本實施例中,用戶可以通過客戶端,修改數據配置信息。若有修改,客戶端將新建一個待譯統一web配置文件,並將該待譯統一web配置文件上傳至雲編譯平臺上的雲編譯系統。發起信息還包括雲編譯系統中是否有新建的待譯統一web配置文件,若有,則發起信息還包括待譯統一web配置文件的存儲路徑,否則,發起信息中的存儲待譯統一web配置文件的存儲路徑的位置為空。

在一個具體實施例中,根據web配置映射表將所述待譯統一web配置文件轉換為所述待譯統一代碼配置文件之後,還需將待譯統一代碼配置文件存儲到發起信息中待議統一代碼配置文件的存儲路徑上。

如此,可以根據客戶的需求,具體根據在客戶端新建的待譯統一web配置文件來修改數據配置信息,並將修改後的待譯統一web配置文件轉換為統一代碼配置文件,進而再轉換成代碼編譯文件,最後對該代碼編譯文件進行編譯。因此,該編譯方法可以實現對客戶端的進行的數據配置信息修改進行及時的編譯。

在其中一個實施例中,所述獲取發起對統一代碼配置文件進行自動編譯的發起信息的步驟之前,即步驟S120之前,還包括:

S110:根據所述web配置映射表將預設的統一代碼配置文件轉換成統一web配置文件,並將所述統一web配置文件上傳至所述雲編譯系統。

在整個項目發布到各個客戶端時,需要將項目代碼文件中的統一代碼配置文件轉換成統一web配置文件,並將所述統一web配置文件上傳至所述雲編譯系統,以使得各個客戶端可以下載該統一web配置文件,並根據該統一web配置文件通過網頁對統一代碼配置文件中的數據配置信息進行數據顯示。從而,客戶可以通過客戶端新增統一web配置文件的方式對統一代碼配置文件進行修改。

在一個具體實施例中,步驟S110之前,還可以包括:獲取雲編譯系統發起自動配置時發送的自動配置指令;更新與所述統一代碼配置文件屬於同一項目的項目代碼文件;將預設的統一代碼配置文件拷貝到緩存區。其中,自動配置指令可以為雲編譯系統在預設時間發起自動配置時發送的。預設時間可以為每天的0點或/及12點,可以理解地,在其它實施例中,預設時間也可以設置為其它時間。

在其中一個實施例中,配置解碼映射表及web配置映射表設置在同一個表中,該表命名為標準文件映射表。如此,可以不區分多個映射表。可以理解地,在其它區分這兩個映射表的實施例中,由於兩個映射表分開設置,每個映射表的內容均較小,如此,可以節約轉換時間,從而,提高編譯方法的運行速度。

在其中一個實施例中,所述對所述代碼編譯文件及與所述待譯統一代碼配置文件屬於同一項目的代碼進行編譯的步驟之後,即步驟S180之後,還包括:

S190:發布編譯結果至新建所述待譯統一web配置文件的客戶端。

如此,可以將在客戶端修改的數據配置信息,反應到對應的客戶端。

在其中一個實施例中,發起信息中包括發布範圍。通過發布範圍來限定發布的客戶端。如,由項目組的開發人員,發起的編譯,可以將發布範圍設定為所有的客戶端或指定的部分客戶端;而由客戶端發起的編譯,可以將發布範圍設定為該客戶端自身。可以理解地,在本實施例中,步驟S190為,根據發起信息發布編譯結果至對應的客戶端。

在其中一個實施例中,所述根據所述發起信息提取待編譯的待譯統一代碼配置文件的步驟之前,即步驟S160,還包括:

S130:更新與所述統一代碼配置文件屬於同一項目的項目代碼文件。

如此,可以在進行編譯前,先更新項目代碼文件。從而,保證編譯方法編譯的項目代碼文件的為最新的項目代碼文件。

在一個具體實施例中,統一web配置文件的泛型定義格式為:

{

DESCRIPTION:{……}//文件版本以及其他描述信息

數組關鍵字1:{

name:數組網頁顯示名稱//NONE(NONE表示該數據不在網頁上配置,只//會被原封不動繼承)

RANGE{

數值1關鍵字:{name:網頁顯示名稱,min:最小值,max:最大值};

數值2關鍵字:{}

……

"info":{//根據需要特殊補充(一般不用)

DATA1KEY2A:{max:最大值,min:最小值},

DATA1KEY2B:{max:最大值},

}

};

DATA1KEY1:{

DATA1KEY2A:{數值1關鍵字:數值,數值2關鍵字:數值……};

DATA1KEY2B

};

DATA2KEY1:{};

……

}

NONE:{

DATA1KEY1:(其他不上網頁配置的數據}

……

}

數組關鍵字2:{}

……

}

其中,DESCRIPTION/RANGE/NONE/info都是已經約定的特殊的不可再被項目定義的關鍵字。

其中,DATA1KEY1/DAYA2KEY2構成網頁顯示的二維表格。請參閱圖3,DTV/ATV等對應DATA1KEY1,COLD/NORMAL等對應DATA1KEY2X,OFFSET/GAIN等對應RANGE中的數值關鍵字。

請參閱圖4,本發明還提供一種實施方式的編譯裝置,包括:

發起信息獲取模塊420,用於獲取發起對統一代碼配置文件進行自動編譯的發起信息。所述統一代碼配置文件通過統一的數據格式採用統一關鍵字描述數據配置信息;不少於兩種文件格式的代碼配置文件的語義相同的關鍵字均對應同一組所述統一關鍵字;所述代碼配置文件採用與所述文件格式對應的數據格式的關鍵字描述數據配置信息。

待譯文件提取模塊460,用於根據所述發起信息提取待編譯的待譯統一代碼配置文件;

待譯文件轉換模塊470,用於根據配置解碼映射表將所述待譯統一代碼配置文件轉換為代碼編譯文件;所述配置解碼映射表包括統一關鍵字與代碼編譯文件的關鍵字的映射關係;

項目文件編譯模塊480,用於對所述代碼編譯文件及與所述待譯統一代碼配置文件屬於同一項目的項目代碼文件進行編譯。

上述編譯裝置,獲取發起對統一代碼配置文件進行自動編譯的發起信息,所述統一代碼配置文件通過統一的數據格式採用統一關鍵字描述數據配置信息;不少於兩種文件格式的代碼配置文件的語義相同的關鍵字均對應同一組所述統一關鍵字;所述代碼配置文件採用與所述文件格式對應的數據格式的關鍵字描述數據配置信息;根據所述發起信息提取待編譯的待譯統一代碼配置文件;根據配置解碼映射表將所述待譯統一代碼配置文件轉換為代碼編譯文件;所述配置解碼映射表包括統一關鍵字與代碼編譯文件的關鍵字的映射關係;對所述代碼編譯文件及與所述待譯統一代碼配置文件屬於同一項目的項目代碼文件進行編譯。由於該編譯裝置中的統一配置代碼文件通過統一的數據格式採用統一關鍵字描述數據配置信息,而不是採用直接通過代碼編譯文件的文件格式對應的數據格式(也即代碼配置文件的文件格式對應的數據格式)的關鍵字來描述數據配置信息,因此,其通用性高,可靈活適配不同的方案供應商或平臺。

請參閱圖5,在其中一個實施例中,還包括:待譯web獲取模塊440及待譯web轉換模塊450;

所述待譯web獲取模塊440,用於當根據所述發起信息判定雲編譯系統有新建的待譯統一web配置文件時,根據所述發起信息獲取所述待譯統一web配置文件;所述待譯統一web配置文件採用統一的格式描述web配置信息;

所述待譯web轉換模塊450,用於根據web配置映射表將所述待譯統一web配置文件轉換為所述待譯統一代碼配置文件;所述web配置映射表包括所述待譯統一web配置文件的關鍵字與所述待譯統一代碼配置文件中的數據的映射關係;所述待譯統一代碼配置文件中的每一個數據均對應所述統一web配置文件中的一個關鍵字;

所述待譯文件提取模塊460,用於根據所述發起信息提取所述待譯統一代碼配置文件。

請繼續參閱圖5,在其中一個實施例中,還包括:

web配置上傳模塊410,用於根據所述web配置映射表將預設的統一代碼配置文件轉換成統一web配置文件,並將所述統一web配置文件上傳至所述雲編譯系統。

請繼續參閱圖5,在其中一個實施例中,還包括:

編譯結果發布模塊490,用於在所述項目文件編譯模塊580進行編譯之後,根據發起信息發布編譯結果至對應的客戶端。

請繼續參閱圖5,在其中一個實施例中,還包括:

項目文件更新模塊430,用於更新與所述統一代碼配置文件屬於同一項目的項目代碼文件。

由於上述裝置與上述方法對應,因此,對於裝置的細節技術特徵不再一一贅述。

以上實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但並不能因此而理解為對本發明專利範圍的限制。應當指出的是,對於本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出多個變形和改進,這些都屬於本發明的保護範圍。因此,本發明專利的保護範圍應以所附權利要求為準。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀