[go: up one dir, main page]

TWI805488B - Automatic compilation system and automatic compilation method - Google Patents

Automatic compilation system and automatic compilation method Download PDF

Info

Publication number
TWI805488B
TWI805488B TW111135253A TW111135253A TWI805488B TW I805488 B TWI805488 B TW I805488B TW 111135253 A TW111135253 A TW 111135253A TW 111135253 A TW111135253 A TW 111135253A TW I805488 B TWI805488 B TW I805488B
Authority
TW
Taiwan
Prior art keywords
data
compiling
compilation
module
file
Prior art date
Application number
TW111135253A
Other languages
Chinese (zh)
Other versions
TW202407536A (en
Inventor
張超爵
Original Assignee
大陸商鼎捷軟件股份有限公司
鼎新電腦股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 大陸商鼎捷軟件股份有限公司, 鼎新電腦股份有限公司 filed Critical 大陸商鼎捷軟件股份有限公司
Application granted granted Critical
Publication of TWI805488B publication Critical patent/TWI805488B/en
Publication of TW202407536A publication Critical patent/TW202407536A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

The present disclosure provides an automatic compilation system and an automatic compilation method. The automatic compilation system includes a storage device and a processor. The storage device stores multiple modules. The processor is coupled to the storage device, and to executes the multiple modules. The processor receives a source data used to perform compilation processing. A compiling module performs compilation processing on the source data to generate a record file. When the compilation processing is performed, a searching module performs searching and comparing according to a correspondence table to obtain a compilation-free data table. When the compilation processing is performed, a monitoring module controls a compilation parallel number of the compiling module within a set value. An attached file processing module executes rebuilding of an attached file according to the source data to generate a corresponding attached file, and then the monitoring module outputs a compilation result data according to the record file and the attached file.

Description

自動編譯系統及自動編譯方法Automatic compiling system and automatic compiling method

本發明涉及一種應用程式的編譯方式,尤其是一種自動編譯系統以及自動編譯方法。The invention relates to a compiling method of an application program, in particular to an automatic compiling system and an automatic compiling method.

用於提供執行企業所需的業務處理的業務系統,例如企業資源規劃(Enterprise Resource Planning,ERP)系統、客戶關係管理(Customer Relationship Management,CRM)系統以及業務線(Line-Of-Business LOB)系統等等。然而這些類型的業務系統會根據企業/使用者的需求進行客制化,或是根據要對接的系統進行系統調整。因此,當系統開發端發佈新的系統版本(例如例行包、例行更新包(patch-package))或發佈新功能的功能包時,裝載於用戶端的業務系統必須將這些更新包(即例行包或功能包(feature package))進行編譯處理,以令用戶端的業務系統可以執行更新包的內容。然而,業務系統每次的更新都需要使用者進行點選與確認,導致增加用戶端的人力與時間成本,以及編譯處理的所需效能導致影響業務系統的運行狀況。Business systems used to provide the business processes required by enterprises, such as enterprise resource planning (Enterprise Resource Planning, ERP) systems, customer relationship management (Customer Relationship Management, CRM) systems, and line-of-business (Line-Of-Business LOB) systems etc. However, these types of business systems will be customized according to the needs of enterprises/users, or system adjustments will be made according to the systems to be connected. Therefore, when the system development end releases a new system version (such as a routine package, a routine update package (patch-package)) or releases a function package with new functions, the business system loaded on the user end must upload these update packages (that is, a patch-package) Line package or feature package (feature package)) is compiled so that the business system at the user end can execute the content of the update package. However, each update of the business system requires the user to click and confirm, resulting in increased manpower and time costs at the user end, and the required performance of compilation processing affects the operation of the business system.

本發明是針對一種自動編譯系統以及自動編譯系統方法,可根據原始資料(Source data)以及本地端的系統自動執行編譯處理以產生對應的編譯結果資料。The present invention is directed to an automatic compiling system and an automatic compiling system method, which can automatically execute compiling processing according to source data and a local system to generate corresponding compiling result data.

根據本發明的實施例,本發明的自動編譯系統包括儲存裝置以及處理器。儲存裝置儲存多個模組。處理器耦接儲存裝置。處理器執行多個模組,並接收用於執行編譯處理的原始資料。多個模組包括編譯模組、搜尋模組、附屬檔案處理模組以及監控模組。編譯模組對原始資料執行編譯處理以生成記錄檔。當編譯模組執行編譯處理時,搜尋模組根據對應表執行搜尋比對以獲得免編譯資料表,並且監控模組控制編譯模組的編譯並行數量在設定值以內。附屬檔案處理模組根據原始資料執行附屬檔案(Satellite Assemblies)重建,以產生對應的附屬檔案,接著監控模組根據記錄檔以及附屬檔案輸出編譯結果資料。According to an embodiment of the present invention, the automatic compiling system of the present invention includes a storage device and a processor. The storage device stores multiple modules. The processor is coupled to the storage device. The processor executes a plurality of modules and receives raw data for performing compilation processing. The plurality of modules include a compiling module, a searching module, an auxiliary file processing module, and a monitoring module. The compilation module performs compilation processing on raw data to generate log files. When the compiling module executes compiling processing, the searching module performs searching and comparing according to the corresponding table to obtain the compiling-free data table, and the monitoring module controls the compiling parallel number of the compiling module to be within a set value. The Satellite Assemblies processing module executes Satellite Assemblies reconstruction according to the original data to generate corresponding Satellite Assemblies, and then the monitoring module outputs compilation result data according to the log files and the Satellite Assemblies.

根據本發明的實施例,本發明的自動編譯方法包括以下步驟:接收用於執行編譯處理的原始資料;通過編譯模組對原始資料執行編譯處理以生成記錄檔,並且執行編譯處理時通過搜尋模組根據對應表執行搜尋比對以獲得免編譯資料表;編譯模組執行編譯處理時,通過監控模組控制編譯並行數量在設定值以內;通過附屬檔案處理模組根據原始資料執行附屬檔案重建,以產生對應的附屬檔案;以及通過監控模組根據記錄檔/日誌文件(Log File)以及附屬檔案輸出編譯結果資料。According to an embodiment of the present invention, the automatic compiling method of the present invention includes the following steps: receiving raw data for executing compiling processing; performing compiling processing on the raw data through a compiling module to generate a record file; The group performs search and comparison according to the corresponding table to obtain the compilation-free data table; when the compilation module executes compilation processing, the monitoring module controls the parallel number of compilation to be within the set value; the subsidiary file processing module performs reconstruction of subsidiary files according to the original data, to generate corresponding auxiliary files; and output compilation result data through the monitoring module according to the log file/log file (Log File) and the auxiliary files.

基於上述,本發明的自動編譯系統及其方法,可根據原始資料以及本地端的系統自動執行編譯處理以產生對應的編譯結果資料,並且自動地監控編譯處理的並行數量,以確保系統可以同時執行編譯處理以及原先業務專案/項目(例如作業項目或是製造專案)。Based on the above, the automatic compilation system and its method of the present invention can automatically execute compilation processing according to the original data and the local system to generate corresponding compilation result data, and automatically monitor the parallel number of compilation processing to ensure that the system can execute compilation at the same time Process and original business projects/items (such as job items or manufacturing projects).

圖1是本發明的一實施例的自動編譯系統的示意圖。參考圖1,自動編譯系統100包括處理器110以及儲存裝置120。處理器110耦接儲存裝置120。儲存裝置120儲存有多個模組,且多個模組包括編譯模組121、搜尋模組122、附屬檔案處理模組123以及監控模組124。在本實施例中,自動編譯系統100可例如是設置在雲端伺服器,以供用戶連線並執行同樣設置在雲端伺服器中的業務系統(例如企業資源規劃(ERP)系統、客戶關係管理(CRM)系統、業務線(LOB)系統等諸如此類的業務系統服務)。在一實施例中,自動編譯系統100可設置在企業內部的地端伺服器所運行的業務系統中,以通過自動編譯系統100中的編譯模組121以及監控模組124提供自動且快速編譯的功能。FIG. 1 is a schematic diagram of an automatic compilation system according to an embodiment of the present invention. Referring to FIG. 1 , the automatic compilation system 100 includes a processor 110 and a storage device 120 . The processor 110 is coupled to the storage device 120 . The storage device 120 stores a plurality of modules, and the plurality of modules include a compiling module 121 , a searching module 122 , an auxiliary file processing module 123 and a monitoring module 124 . In this embodiment, the automatic compiling system 100 can be set, for example, on a cloud server for users to connect and execute business systems (such as enterprise resource planning (ERP) systems, customer relationship management ( CRM) systems, line-of-business (LOB) systems, and the like). In one embodiment, the automatic compilation system 100 can be set in the business system run by the local server in the enterprise, so as to provide automatic and fast compilation through the compilation module 121 and the monitoring module 124 in the automatic compilation system 100. Function.

在本實施例中,處理器110可例如包括中央處理單元(Central Processing Unit,CPU),或是其他可程式設計之一般用途或特殊用途的微處理器(Microprocessor)、數位訊號處理器(Digital Signal Processor,DSP)、特殊應用積體電路(Application Specific Integrated Circuits,ASIC)、可程式設計邏輯器件(Programmable Logic Device,PLD)、其他類似處理電路或這些裝置的組合。儲存裝置120可包括記憶體(Memory)及/或資料庫(database),其中記憶體可例如非易失性記憶體(Non-Volatile Memory,NVM)。儲存模組120可儲存有用於實現本發明各實施例的相關程式、模組、系統或演算法,以供處理器110存取並執行而實現本發明各實施例所描述的相關功能及操作。在本實施例中,編譯模組121、搜尋模組122、附屬檔案處理模組123以及監控模組124可例如是以JSON(JavaScript Object Notation)、可延伸標記式語言(Extensible Markup Language,XML)或YAML等諸如此類的程式語言來實現的,但本發明也不限於此。In this embodiment, the processor 110 may include, for example, a central processing unit (Central Processing Unit, CPU), or other programmable general purpose or special purpose microprocessor (Microprocessor), digital signal processor (Digital Signal Processor) Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuits, ASIC), programmable logic device (Programmable Logic Device, PLD), other similar processing circuits or a combination of these devices. The storage device 120 may include a memory and/or a database, wherein the memory may be, for example, a non-volatile memory (Non-Volatile Memory, NVM). The storage module 120 may store related programs, modules, systems or algorithms for implementing various embodiments of the present invention, so as to be accessed and executed by the processor 110 to realize the relevant functions and operations described in the various embodiments of the present invention. In this embodiment, the compiling module 121, the searching module 122, the auxiliary file processing module 123 and the monitoring module 124 can be, for example, based on JSON (JavaScript Object Notation), Extensible Markup Language (Extensible Markup Language, XML) or YAML or the like, but the present invention is not limited thereto.

在本實施例中,使用者可例如通過個人電腦裝置或企業流程系統執行自動編譯系統100,並且將待編譯的原始資料輸入至自動編譯系統100,以進行編譯處理(Compilation Process)。原始資料例如是開發端對系統(例如業務系統)進行版本更新、功能更新、例行更新與除錯等而發佈/傳送對應的更新包(例如例行包、功能包或是除錯包)至用戶端的業務系統(即裝載有自動編譯系統100的業務系統)之中。自動編譯系統100可根據原始資料來自動執行編譯模組121、搜尋模組122、附屬檔案處理模組123以及監控模組124,以自動進行編譯處理,且產生對應的編譯結果資料(例如錯誤記錄檔、更新專案記錄、錯誤程式清單或是詳細錯誤訊息等諸如此類有關於編譯的結果與過程資料)。在本實施例中,自動編譯系統100可通過監控模組124對編譯處理進行並行數量的控制,以確保編譯處理所佔用的效能不會影響企業系統的正常/日常運行。並且,自動編譯系統100還可通過搜尋模組122對原始資料中的待編譯資料以及儲存裝置120中的系統資料(例如裝載於用戶端的業務系統資料)根據雜湊表(Hash Table)進行搜尋比對,以獲得免編譯資料表進而讀取儲存裝置120中對應的資料。如此,自動編譯系統100可通過搜尋模組122降低編譯處理的重工與處理時間以及提升整體編譯處理的效率。In this embodiment, the user can execute the automatic compilation system 100 through a personal computer device or an enterprise process system, and input the source data to be compiled into the automatic compilation system 100 to perform a compilation process (Compilation Process). The original data, for example, is that the development side releases/transmits the corresponding update package (such as routine package, function package or debug package) to the system (such as business system) for version update, function update, routine update and debugging, etc. In the business system of the user end (that is, the business system loaded with the automatic compiling system 100). The automatic compilation system 100 can automatically execute the compilation module 121, the search module 122, the auxiliary file processing module 123 and the monitoring module 124 according to the original data, so as to automatically perform compilation processing and generate corresponding compilation result data (such as error records) file, update project record, error program list or detailed error message, etc. about the result and process of compilation). In this embodiment, the automatic compilation system 100 can control the number of parallel compilation processes through the monitoring module 124 to ensure that the performance occupied by the compilation process will not affect the normal/daily operation of the enterprise system. Moreover, the automatic compiling system 100 can also use the search module 122 to search and compare the data to be compiled in the original data and the system data in the storage device 120 (such as the business system data loaded on the client terminal) according to the hash table (Hash Table). , to obtain the compilation-free data table and then read the corresponding data in the storage device 120 . In this way, the automatic compilation system 100 can reduce the rework and processing time of the compilation process and improve the efficiency of the overall compilation process through the search module 122 .

圖2是本發明的一實施例的自動編譯方法的流程圖。圖3是本發明的一實施例的多個模組的執行示意圖。參考圖1、圖2以及圖3,自動編譯系統100可執行以下步驟S210~S260,以自動執行編譯處理且產生對應的編譯結果資料300。在步驟S210,處理器110通過收發器接收用於執行編譯處理的原始資料(即待編譯資料200)。在本實施例中,原始資料例如是系統開發端所發出的系統更新資料、系統例行更新資料或系統新增功能資料等。通過自動編譯系統100執行編譯處理後,業務系統即可執行前述的原始資料內容。FIG. 2 is a flowchart of an automatic compilation method according to an embodiment of the present invention. FIG. 3 is a schematic diagram of execution of multiple modules according to an embodiment of the present invention. Referring to FIG. 1 , FIG. 2 and FIG. 3 , the automatic compiling system 100 can execute the following steps S210 - S260 to automatically execute the compiling process and generate corresponding compiling result data 300 . In step S210 , the processor 110 receives the original data (ie, the data to be compiled 200 ) used for compiling processing through the transceiver. In this embodiment, the original data are, for example, system update data, system routine update data, or system new function data issued by the system development terminal. After the compilation process is executed by the automatic compilation system 100, the business system can execute the aforementioned source material content.

在步驟S220,處理器110通過執行編譯模組121對原始資料執行編譯處理以生成記錄檔。在本實施例中,編譯模組121對原始資料(即待編譯資料200)進行編譯,進而將高階程式語言(High-level programming language)轉換成組合語言(或機器碼)。在一實施例中,編譯模組121對待編譯資料200依序執行掃描、剖析、語意分析、產生中間碼、優化以及產生程式碼的處理,以獲得適合用戶端系統(例如業務系統)的程式碼。並且,編譯模組121記錄此次編譯處理的過程以產生記錄檔。In step S220, the processor 110 performs compiling processing on the original data by executing the compiling module 121 to generate a record file. In this embodiment, the compilation module 121 compiles the original data (ie, the data to be compiled 200 ), and then converts a high-level programming language (High-level programming language) into a combined language (or machine code). In one embodiment, the compiling module 121 sequentially executes scanning, parsing, semantic analysis, intermediate code generation, optimization, and program code generation on the data to be compiled 200, so as to obtain a program code suitable for the client system (such as a business system) . Moreover, the compiling module 121 records the compiling process to generate a record file.

在步驟S230,處理器110通過編譯模組121執行編譯處理時,處理器110通過搜尋模組122根據對應表執行搜尋比對以獲得免編譯資料表。在一實施例中,對應表包括資料清單以及雜湊值,其中執行編譯處理時搜尋模組122基於雜湊搜尋法根據對應表執行搜尋比對以獲得免編譯資料表。舉例而言,對應表例如為包括用戶端業務系統中各程式以及對應各程式的雜湊值的清單。也就是說,在編譯模組121執行編譯處理的過程中,搜尋模組122根據系統內各程式以及其雜湊值。接著,搜尋模組122將編譯中的程式通過對應表進行搜尋以及比對,進而搜尋用戶端業務系統中已經存在而不用再次編譯的程式。如此,搜尋模組122可產生免編譯資料表(即包括免編譯的程式以及對應程式的雜湊值或儲存位址)。處理器110可根據免編譯資料表可直接讀取儲存於儲存裝置120中的程式,進而改善編譯模組121重複編譯器的狀況,以提升編譯處理的效率。In step S230 , when the processor 110 executes compiling processing through the compiling module 121 , the processor 110 performs searching and comparison according to the corresponding table through the searching module 122 to obtain the compiling-free data table. In an embodiment, the correspondence table includes a data list and a hash value, wherein the search module 122 performs a search and comparison based on a hash search method according to the correspondence table to obtain a compilation-free data table when executing the compilation process. For example, the correspondence table is a list including each program in the client service system and the hash value corresponding to each program. That is to say, during the compiling process performed by the compiling module 121 , the searching module 122 is based on various programs in the system and their hash values. Next, the search module 122 searches and compares the programs being compiled through the corresponding table, and then searches for programs that already exist in the client service system without compiling again. In this way, the search module 122 can generate a compilation-free data table (that is, including compilation-free programs and hash values or storage addresses of corresponding programs). The processor 110 can directly read the program stored in the storage device 120 according to the compilation-free data table, so as to improve the situation of the compiling module 121 repeatedly compiling, so as to improve the efficiency of compiling processing.

在步驟S240,處理器110通過編譯模組121執行編譯處理時,處理器110通過監控模組124控制編譯並行數量在設定值以內。在本實施例中,在編譯模組121執行編譯處理的過程中,監控模組124同時控制編譯處理的並行處理數量(即並行數量/同時進行編譯處理的數據量)以確保編譯處理不會影響用戶端業務系統的日常運作。監控模組124根據佇列(Queue)機制控管編譯處理的過程以及所需資源(即所佔用的效能資源)。In step S240 , when the processor 110 executes compiling processing through the compiling module 121 , the processor 110 controls the compiling parallelism number within the set value through the monitoring module 124 . In this embodiment, during the compilation process performed by the compilation module 121, the monitoring module 124 simultaneously controls the number of parallel processing of the compilation process (that is, the number of parallel processes/the amount of data compiled at the same time) to ensure that the compilation process will not affect The daily operation of the client business system. The monitoring module 124 controls the compilation process and the required resources (ie, the occupied performance resources) according to the queue mechanism.

在一實施例中,編譯並行數量有關於編譯模組121執行編譯處理時的所使用的效能,並且監控模組124根據編譯並行數量控制編譯模組121的處理並行數量維持與編譯並行數量一致。舉例而言,系統預設或使用者設定監控模組124中的參數,經過設定監控模組124需要確保編譯模組121進行的編譯處理僅能占系統(例如用戶端的業務系統)內整體效能的三分之一,或是僅能同時處理15個(即並行數量)程式的編譯處理。如此,通過監控模組124的控制,自動編譯系統100可確保編譯模組121所執行的編譯處理不會影響用戶端業務系統的日常運作,進而提高用戶的使用滿意度。也就是說,編譯並行數量有關於自動編譯系統100所使用的頻寬以及編譯處理占目標系統(即用戶端的業務系統)的總效能率等,本發明不以此為限。In one embodiment, the compilation parallelism is related to the performance used when the compilation module 121 executes the compilation process, and the monitoring module 124 controls the compilation parallelism of the compilation module 121 to keep consistent with the compilation parallelism according to the compilation parallelism. For example, the system defaults or the user sets the parameters in the monitoring module 124. After setting the monitoring module 124, it is necessary to ensure that the compiling process performed by the compiling module 121 can only account for the overall performance of the system (such as the business system at the client end). One-third, or only 15 (that is, the number of parallel) programs can be compiled at the same time. In this way, through the control of the monitoring module 124, the automatic compiling system 100 can ensure that the compiling process performed by the compiling module 121 will not affect the daily operation of the user-side business system, thereby improving user satisfaction. That is to say, the number of compiling parallelisms is related to the bandwidth used by the automatic compiling system 100 and the total efficiency of compiling processing in the target system (ie, the business system of the client), etc., and the present invention is not limited thereto.

在步驟S250,處理器110通過附屬檔案處理模組123根據原始資料執行附屬檔案重建,以產生對應的附屬檔案。舉例而言,當系統涉及多種語言或重新產生的畫面屬於多個語系資料時,處理器110通過附屬檔案處理模組123對待編譯資料200以及已編譯完成的資料,將對應的文字/畫面腳本進行載入以產生靜態附屬檔案(例如先跑好版面的畫面)。如此,通過附屬檔案處理模組123可避免開啟程式時,需要時間進行版面排列處理,導致增加程式的啟動時間。也就是說,通過附屬檔案處理模組123可大幅提升開啟的反應時間。In step S250 , the processor 110 executes reconstruction of the auxiliary file according to the original data through the auxiliary file processing module 123 to generate a corresponding auxiliary file. For example, when the system involves multiple languages or the reproduced screens belong to multiple language family materials, the processor 110 processes the corresponding text/screen scripts of the data to be compiled 200 and the compiled data through the auxiliary file processing module 123 Load to generate static auxiliary files (such as screens that run the layout first). In this way, the auxiliary file processing module 123 can avoid the time needed for layout processing when the program is opened, resulting in an increase in the start-up time of the program. That is to say, the opening response time can be greatly improved through the auxiliary file processing module 123 .

在一實施例中,附屬檔案處理模組123執行附屬檔案重建時,搜尋模組122執行搜尋比對以獲得附屬資料,其中附屬資料是儲存於儲存裝置120而免重建的附屬檔案。在另一實施例中,附屬檔案處理模組123根據原始資料以及目標系統產生靜態附屬檔案。In one embodiment, when the auxiliary file processing module 123 executes reconstruction of the auxiliary file, the search module 122 performs search and comparison to obtain the auxiliary data, wherein the auxiliary data is the auxiliary file stored in the storage device 120 without reconstruction. In another embodiment, the auxiliary file processing module 123 generates a static auxiliary file according to the original data and the target system.

在步驟S260,處理器110通過監控模組124根據記錄檔以及附屬檔案輸出編譯結果資料300。在本實施例中,監控模組124將已編譯完成程式儲存於儲存裝置120中,並且將編譯處理的記錄檔以及附屬檔案組合成編譯結果資料300。如此,使用者可根據編譯結果資料300中的記錄檔得知編譯處理的完成度,記錄檔可例如是錯誤程式清單(Error file list)、編譯完成清單以及編譯完成度等記錄檔,並且記錄檔的檔案格式可例如是記錄檔案(Logfile)In step S260 , the processor 110 outputs the compiling result data 300 through the monitoring module 124 according to the record file and the attached file. In this embodiment, the monitoring module 124 stores the compiled program in the storage device 120 , and combines the compiled record file and auxiliary files into the compiled result data 300 . In this way, the user can know the completion degree of the compilation process according to the record file in the compilation result data 300. The record file can be, for example, a record file such as an error program list (Error file list), a compilation completion list, and a compilation completion degree, and the record file The file format can be, for example, a log file (Logfile)

在本實施例中,編譯模組121包括程式編譯單元1211、畫面編譯單元1212以及程式連結單元1213。程式編譯單元1211用以分析原始資料以將原始資料編譯成符合目標系統(例如用戶端的業務系統或是經指定的系統)的程式目的資料。畫面編譯單元1212用以分析原始資料以將原始資料中的畫面資料編譯成符合目標系統的畫面目的資料。並且,程式連結單元1213用以根據程式目的資料、畫面目的資料以及目標系統獲得經編譯的檔案資料以及記錄檔。In this embodiment, the compiling module 121 includes a program compiling unit 1211 , a screen compiling unit 1212 and a program linking unit 1213 . The program compiling unit 1211 is used for analyzing the original data and compiling the original data into program target data conforming to the target system (such as the business system of the user end or a designated system). The picture compiling unit 1212 is used for analyzing the original data to compile the picture data in the original data into the picture target data conforming to the target system. Moreover, the program linking unit 1213 is used to obtain compiled file data and record files according to the program object data, the screen object data, and the target system.

在一實施例中,處理器110接收目標系統的系統資料。舉例而言,使用者將欲執行原始資料的目標系統的資料通過收發器傳送至自動編譯系統100,以令編譯模組121可根據目標系統的資料進行編譯,進而編譯出符合且可令目標系統執行的執行檔。並且,處理器110還接收關於執行編譯處理的選擇/執行指令。在另一實施例中,自動編譯系統100通過偵測儲存裝置120中的系統資料以獲得目標系統。也就是說,當自動編譯系統100裝載於用戶端的業務系統時,自動編譯系統100可通過偵測儲存裝置120中有關於業務系統的資料以獲得目標系統(即業務系統)的設定與資料。In one embodiment, the processor 110 receives system information of the target system. For example, the user transmits the data of the target system to execute the original data to the automatic compilation system 100 through the transceiver, so that the compiling module 121 can compile according to the data of the target system, and then compile a program that is compatible with and can make the target system The executable file to execute. And, the processor 110 also receives a selection/execution instruction on executing the compiling process. In another embodiment, the automatic compilation system 100 obtains the target system by detecting system data in the storage device 120 . That is to say, when the automatic compiling system 100 is loaded on the business system of the client, the automatic compiling system 100 can obtain the setting and data of the target system (ie, the business system) by detecting the data related to the business system in the storage device 120 .

在一實施例中,附屬檔案處理模組123根據目標系統的語言設定將經編譯的檔案資料的畫面與文字轉換成對應目標系統的語言,並且附屬檔案處理模組123執行附屬檔案重建時,搜尋模組122根據檔案資料執行搜尋比對以獲得免轉換語言的檔案。舉例而言,在附屬檔案處理模組123執行語言轉換或附屬檔案重建時,可通過搜尋模組122搜尋比對出免重建的附屬檔案以提高重建附屬檔案的效率。In one embodiment, the auxiliary file processing module 123 converts the compiled image and text of the file data into the language of the corresponding target system according to the language setting of the target system, and when the auxiliary file processing module 123 executes the reconstruction of the auxiliary file, search The module 122 executes search and comparison according to the file data to obtain the files without language conversion. For example, when the subsidiary file processing module 123 performs language conversion or subsidiary file reconstruction, the search module 122 can be used to search and compare the subsidiary files that are not to be rebuilt, so as to improve the efficiency of rebuilding the subsidiary files.

如此一來,本發明的自動編譯系統100及其方法可根據原始資料自動地進行編譯處理以產生編譯處理過程中的記錄檔。如此,通過自動編譯系統100自動地進行編譯處理,可免除用戶必須逐一勾選編譯器、勾選編譯畫面、勾選程式連結、勾選多語言等步驟。自動編譯系統100使用者只需要點擊快捷選項即可觸發處理器110通過編譯模組121進行編譯處理,進而簡化編譯步驟同時提高編譯處理的效率。In this way, the automatic compilation system 100 and the method thereof of the present invention can automatically perform compilation processing according to the original data to generate a record file during the compilation process. In this way, the automatic compiling system 100 automatically performs the compiling process, which saves the user from having to check the compiler one by one, check the compilation screen, check the program link, check multiple languages and other steps. The user of the automatic compiling system 100 only needs to click the shortcut option to trigger the processor 110 to perform compiling processing through the compiling module 121 , thereby simplifying compiling steps and improving compiling efficiency.

綜上所述,本發明的自動編譯系統100及其方法可通過搜尋模組122進行搜尋與比對儲存裝置120中已存在的資料,以使編譯模組121讀取/使用儲存裝置120中的資料而提高整體編譯效率。並且,通過監控模組124確保自動編譯系統100執行的編譯處理時不會影響系統(例如業務系統)的日常運作,進而提高用戶的使用滿意程度以及便利性。To sum up, the automatic compilation system 100 and its method of the present invention can search and compare the existing data in the storage device 120 through the search module 122, so that the compilation module 121 can read/use the data in the storage device 120 data to improve the overall compilation efficiency. Moreover, the monitoring module 124 ensures that the compilation process performed by the automatic compilation system 100 will not affect the daily operation of the system (such as a business system), thereby improving user satisfaction and convenience.

最後應說明的是:以上各實施例僅用以說明本公開的技術方案,而非對其限制;儘管參照前述各實施例對本公開進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本公開各實施例技術方案的範圍。Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present disclosure, not to limit them; although the present disclosure has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: It is still possible to modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some or all of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the technical solutions of the various embodiments of the present disclosure. scope.

100:自動編譯系統 110:處理器 120:儲存裝置 121:編譯模組 1211:程式編譯單元 1212:畫面編譯單元 1213:程式連結單元 122:搜尋模組 123:附屬檔案處理模組 124:監控模組 200:待編譯數據 300:編譯結果資料 S210、S220、S230、S240、S250、S260:步驟 100: Automatic compilation system 110: Processor 120: storage device 121:Compile module 1211: Program compilation unit 1212: Screen compiling unit 1213: program link unit 122: Search Module 123:Auxiliary file processing module 124:Monitoring module 200: data to be compiled 300:Compile result data S210, S220, S230, S240, S250, S260: steps

圖1是本發明的一實施例的自動編譯系統的示意圖。 圖2是本發明的一實施例的自動編譯方法的流程圖。 圖3是本發明的一實施例的多個模組的執行示意圖。 FIG. 1 is a schematic diagram of an automatic compilation system according to an embodiment of the present invention. FIG. 2 is a flowchart of an automatic compilation method according to an embodiment of the present invention. FIG. 3 is a schematic diagram of execution of multiple modules according to an embodiment of the present invention.

S210、S220、S230、S240、S250、S260:步驟 S210, S220, S230, S240, S250, S260: steps

Claims (16)

一種自動編譯系統,其包括:儲存裝置,儲存多個模組;以及處理器,耦接所述儲存裝置,執行所述多個模組,並接收用於執行編譯處理的原始資料,其中所述多個模組包括編譯模組、搜尋模組、附屬檔案處理模組以及監控模組,其中所述編譯模組對所述原始資料執行編譯處理以生成記錄檔,並且執行編譯處理時所述搜尋模組根據對應表執行搜尋比對以獲得免編譯資料表,其中所述編譯模組執行編譯處理時,所述監控模組控制編譯並行數量在設定值以內,其中所述附屬檔案處理模組根據所述原始資料執行附屬檔案重建,以產生對應的附屬檔案,其中所述監控模組根據所述記錄檔以及所述附屬檔案輸出編譯結果資料,其中所述對應表包括資料清單以及雜湊值,其中執行編譯處理時所述搜尋模組基於雜湊搜尋法根據所述對應表執行搜尋比對以獲得所述免編譯資料表。 An automatic compilation system, which includes: a storage device storing multiple modules; and a processor coupled to the storage device, executing the multiple modules, and receiving raw data for executing compilation processing, wherein the The plurality of modules includes a compiling module, a searching module, an auxiliary file processing module, and a monitoring module, wherein the compiling module executes compiling processing on the raw data to generate a record file, and the searching The module performs a search and comparison according to the corresponding table to obtain a compilation-free data table, wherein when the compilation module executes compilation processing, the monitoring module controls the parallel number of compilation to be within a set value, and the auxiliary file processing module according to The original data is reconstructed to generate a corresponding auxiliary file, wherein the monitoring module outputs compilation result data according to the record file and the auxiliary file, wherein the corresponding table includes a list of data and a hash value, wherein When executing the compilation process, the search module performs a search and comparison based on the hash search method according to the corresponding table to obtain the compilation-free data table. 如請求項1所述的自動編譯系統,其中,所述附屬檔案處理模組執行附屬檔案重建時,所述搜尋模組執行搜尋比對以獲得附屬資料,其中所述附屬資料是儲存於所述儲存裝置而免重建的附屬檔案。 The automatic compilation system according to claim 1, wherein, when the auxiliary file processing module executes auxiliary file reconstruction, the search module performs search and comparison to obtain auxiliary data, wherein the auxiliary data is stored in the Auxiliary files that save the device from rebuilding. 如請求項1所述的自動編譯系統,其中,所述附屬檔案處理模組根據所述原始資料以及目標系統產生靜態附屬檔案。 The automatic compilation system according to claim 1, wherein the auxiliary file processing module generates a static auxiliary file according to the original data and the target system. 如請求項1所述的自動編譯系統,其中,所述編譯模組包括:程式編譯單元,分析所述原始資料以將所述原始資料編譯成符合目標系統的程式目的資料;畫面編譯單元,分析所述原始資料以將所述原始資料中的畫面資料編譯成符合所述目標系統的畫面目的資料;以及程式連結單元,根據所述程式目的資料、所述畫面目的資料以及所述目標系統獲得經編譯的檔案資料以及所述記錄檔。 The automatic compiling system as described in Claim 1, wherein, the compiling module includes: a program compiling unit, which analyzes the original data to compile the original data into program purpose data conforming to the target system; a screen compiling unit, which analyzes The original data is used to compile the screen data in the original data into the screen target data conforming to the target system; and the program link unit is used to obtain the experience according to the program target data, the screen target data and the target system Compiled archive data and said log file. 如請求項4所述的自動編譯系統,其中,所述處理器接收有關於所述目標系統的系統資料,並且所述處理器還接收關於執行編譯處理的選擇指令。 The automatic compiling system according to claim 4, wherein the processor receives system information about the target system, and the processor also receives a selection instruction for executing a compiling process. 如請求項4所述的自動編譯系統,其中,所述自動編譯系統通過偵測儲存裝置中的系統資料以獲得所述目標系統。 The automatic compilation system according to claim 4, wherein the automatic compilation system obtains the target system by detecting system data in a storage device. 如請求項4所述的自動編譯系統,其中,所述附屬檔案處理模組根據所述目標系統的語言設定將經編譯的所述檔案資料的畫面與文字轉換成對應所述目標系統的語言,並且所述附屬檔案處理模組執行附屬檔案重建時,所述搜尋模組根據所述檔案資料執行搜尋比對以獲得免轉換語言的檔案。 The automatic compiling system as described in claim 4, wherein the auxiliary file processing module converts the compiled screen and text of the file data into the language corresponding to the target system according to the language setting of the target system, And when the auxiliary file processing module executes the auxiliary file reconstruction, the search module performs search and comparison according to the file data to obtain the file without language conversion. 如請求項4所述的自動編譯系統,其中,所述編譯並行數量有關於所述編譯模組執行編譯處理時的所使用的效能,並 且所述監控模組根據所述編譯並行數量控制所述編譯模組的處理並行數量維持與所述編譯並行數量一致。 The automatic compilation system as described in claim 4, wherein, the compilation parallel quantity is related to the performance used when the compilation module executes the compilation process, and And the monitoring module controls the processing parallelism of the compiling module to keep consistent with the compiling parallelism according to the compiling parallelism. 一種自動編譯方法,其包括:接收用於執行編譯處理的原始資料;通過編譯模組對所述原始資料執行編譯處理以生成記錄檔,並且執行編譯處理時通過搜尋模組根據對應表執行搜尋比對以獲得免編譯資料表;所述編譯模組執行編譯處理時,通過監控模組控制編譯並行數量在設定值以內;通過附屬檔案處理模組根據所述原始資料執行附屬檔案重建,以產生對應的附屬檔案;以及通過所述監控模組根據所述記錄檔以及所述附屬檔案輸出編譯結果資料,其中所述對應表包括資料清單以及雜湊值,其中執行編譯處理時通過所述搜尋模組根據所述對應表執行搜尋比對以獲得所述免編譯資料表的步驟包括:執行編譯處理時所述搜尋模組基於雜湊搜尋法根據所述對應表執行搜尋比對以獲得所述免編譯資料表。 An automatic compiling method, which includes: receiving raw data used for compiling processing; executing compiling processing on the raw data through a compiling module to generate a record file; To obtain a compilation-free data table; when the compilation module executes compilation processing, the monitoring module controls the number of parallel compilations within the set value; the subsidiary file processing module performs reconstruction of the subsidiary file according to the original data to generate a corresponding and output compilation result data according to the record file and the subsidiary file through the monitoring module, wherein the corresponding table includes a list of data and a hash value, wherein the search module is used to execute the compilation process according to The step of performing a search and comparison on the correspondence table to obtain the compilation-free data table includes: performing a search and comparison on the correspondence table by the search module based on a hash search method to obtain the compilation-free data table when performing compilation processing . 如請求項9所述的自動編譯方法,其中,通過所述附屬檔案處理模組根據所述原始資料執行附屬檔案重建的步驟包括:所述附屬檔案處理模組執行附屬檔案重建時,所述搜尋模組執 行搜尋比對以獲得附屬資料,其中所述附屬資料是儲存於儲存裝置而免重建的附屬檔案。 The automatic compiling method as described in claim 9, wherein, the step of performing the reconstruction of the supplementary file according to the original data through the supplementary file processing module includes: when the supplementary file processing module executes the reconstruction of the supplementary file, the search Module Execution performing a search and comparison to obtain the auxiliary data, wherein the auxiliary data is an auxiliary file stored in the storage device without rebuilding. 如請求項9所述的自動編譯方法,其中,通過所述附屬檔案處理模組根據所述原始資料執行附屬檔案重建,以產生對應的所述附屬檔案的步驟包括:所述附屬檔案處理模組根據所述原始資料以及目標系統產生靜態附屬檔案。 The automatic compiling method as described in claim 9, wherein the step of performing the reconstruction of the auxiliary file according to the original data by the auxiliary file processing module to generate the corresponding auxiliary file includes: the auxiliary file processing module A static auxiliary file is generated according to the source data and the target system. 如請求項9所述的自動編譯方法,其中,通過所述編譯模組對所述原始資料執行編譯處理的步驟包括:通過程式編譯單元分析所述原始資料以將所述原始資料編譯成符合目標系統的程式目的資料;通過畫面編譯單元分析所述原始資料以將所述原始資料中的畫面資料編譯成符合所述目標系統的畫面目的資料;以及通過程式連結單元根據所述程式目的資料、所述畫面目的資料以及所述目標系統獲得經編譯的檔案資料以及所述記錄檔。 The automatic compiling method as described in claim 9, wherein, the step of performing compilation processing on the original data through the compiling module includes: analyzing the original data by a program compiling unit to compile the original data into a target The program purpose data of the system; analyzing the original data through the screen compiling unit to compile the screen data in the original data into the screen purpose data conforming to the target system; and using the program link unit according to the program purpose data, the Describe the target data on the screen and the target system to obtain the compiled file data and the record file. 如請求項12所述的自動編譯方法,其中,所述目標系統是所述處理器接收所述目標系統的資料,並且所述處理器還接收關於執行編譯處理的選擇指令。 The automatic compiling method according to claim 12, wherein the target system is that the processor receives the data of the target system, and the processor also receives a selection instruction on executing compiling processing. 如請求項12所述的自動編譯方法,更包括:所述自動編譯系統通過偵測儲存裝置中的系統資料以獲得所述目標系統。 The automatic compiling method according to claim 12 further includes: the automatic compiling system obtains the target system by detecting system data in a storage device. 如請求項12所述的自動編譯方法,其中,通過所述附屬檔案處理模組根據所述原始資料執行附屬檔案重建,以產生對應的所述附屬檔案的步驟包括:通過所述附屬檔案處理模組根據所述目標系統的語言設定將經編譯的所述檔案資料的畫面與文字轉換成對應所述目標系統的語言,並且所述附屬檔案處理模組執行附屬檔案重建時,所述搜尋模組根據所述檔案資料執行搜尋比對以獲得免轉換語言的檔案。 The automatic compiling method according to claim 12, wherein the step of performing the reconstruction of the auxiliary file according to the original data through the auxiliary file processing module to generate the corresponding auxiliary file includes: using the auxiliary file processing module The group converts the compiled picture and text of the file data into the language corresponding to the target system according to the language setting of the target system, and when the auxiliary file processing module executes the auxiliary file reconstruction, the search module Searching and matching is performed according to the file data to obtain files without conversion of languages. 如請求項12所述的自動編譯方法,其中,所述編譯並行數量有關於所述編譯模組執行編譯處理時的所使用的效能,並且所述監控模組根據所述編譯並行數量控制所述編譯模組的處理並行數量維持與所述編譯並行數量一致。 The automatic compiling method according to claim 12, wherein, the compiling parallel quantity is related to the performance used when the compiling module executes compiling processing, and the monitoring module controls the compiling parallel quantity according to the compiling parallel quantity The processing parallelism of the compiling module is kept consistent with the compiling parallelism.
TW111135253A 2022-08-09 2022-09-16 Automatic compilation system and automatic compilation method TWI805488B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210951487.6 2022-08-09
CN202210951487.6A CN115309403B (en) 2022-08-09 2022-08-09 Automatic compiling system and method thereof

Publications (2)

Publication Number Publication Date
TWI805488B true TWI805488B (en) 2023-06-11
TW202407536A TW202407536A (en) 2024-02-16

Family

ID=83861523

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111135253A TWI805488B (en) 2022-08-09 2022-09-16 Automatic compilation system and automatic compilation method

Country Status (2)

Country Link
CN (1) CN115309403B (en)
TW (1) TWI805488B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115309403A (en) * 2022-08-09 2022-11-08 鼎捷软件股份有限公司 Automatic compiling system and method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100325619A1 (en) * 2009-06-22 2010-12-23 Sun Microsystems, Inc. Fault tolerant compilation with automatic optimization adjustment
TW201636829A (en) * 2014-10-17 2016-10-16 21公司 Cryptographic hashing circuitry having improved scheduling efficiency
CN106796522A (en) * 2015-01-22 2017-05-31 华为技术有限公司 System and method for updating source code file
CN110795105A (en) * 2019-10-29 2020-02-14 许昌许继软件技术有限公司 A method and system for automatic compilation and deployment of power distribution automation master station system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101290581B (en) * 2008-05-16 2011-09-14 北京星网锐捷网络技术有限公司 Compiling system and method
CN110119274A (en) * 2018-02-05 2019-08-13 北京智明星通科技股份有限公司 A kind of method, apparatus and electric terminal, computer readable storage medium of data compilation
CN114840208A (en) * 2022-04-13 2022-08-02 际络科技(上海)有限公司 Compiling method and system realized by construction tool and electronic equipment
CN115309403B (en) * 2022-08-09 2025-11-21 鼎捷数智股份有限公司 Automatic compiling system and method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100325619A1 (en) * 2009-06-22 2010-12-23 Sun Microsystems, Inc. Fault tolerant compilation with automatic optimization adjustment
TW201636829A (en) * 2014-10-17 2016-10-16 21公司 Cryptographic hashing circuitry having improved scheduling efficiency
CN106796522A (en) * 2015-01-22 2017-05-31 华为技术有限公司 System and method for updating source code file
CN110795105A (en) * 2019-10-29 2020-02-14 许昌许继软件技术有限公司 A method and system for automatic compilation and deployment of power distribution automation master station system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115309403A (en) * 2022-08-09 2022-11-08 鼎捷软件股份有限公司 Automatic compiling system and method thereof
CN115309403B (en) * 2022-08-09 2025-11-21 鼎捷数智股份有限公司 Automatic compiling system and method thereof

Also Published As

Publication number Publication date
CN115309403B (en) 2025-11-21
CN115309403A (en) 2022-11-08
TW202407536A (en) 2024-02-16

Similar Documents

Publication Publication Date Title
US11366747B2 (en) Unified test automation system
US10565095B2 (en) Hybrid testing automation engine
US10437573B2 (en) General purpose distributed data parallel computing using a high level language
US10572249B2 (en) Software kit release management
US9703677B2 (en) Code coverage plugin
Manner et al. Troubleshooting serverless functions: a combined monitoring and debugging approach
US20110296386A1 (en) Methods and Systems for Validating Changes Submitted to a Source Control System
US20160342397A1 (en) Adaptive selection of programming language versions for compilation of software programs
US10514898B2 (en) Method and system to develop, deploy, test, and manage platform-independent software
US9542173B2 (en) Dependency handling for software extensions
US20240192974A1 (en) Simulation of one or more pipeline jobs in a software deployment pipeline
TWI805488B (en) Automatic compilation system and automatic compilation method
CN119668576B (en) Low-code software development system
Guerriero et al. Streamgen: Model-driven development of distributed streaming applications
CN119201720A (en) Information acquisition method, device, electronic device and computer readable storage medium
US12373203B2 (en) Development environment integrated with infrastructure cost estimation system
US12093686B2 (en) Code maintenance system
CN118012393A (en) Method for improving development efficiency of platform Web end
CN115640005A (en) Hybrid application generation method and device
CN116954684A (en) Program catalog packaging method, program catalog packaging device, electronic equipment, medium and program product
Kohlmeyer et al. LAMMPS: A Case Study For Applying Modern Software Engineering to an Established Research Software Package
CN120406991B (en) Patch automatic production method and system based on low-code SDK (software development kit)
US20260003723A1 (en) Failure mitigation in software deployment pipelines using generative artificial intelligence
Valentyn APPROACHES TO MIGRATING INFORMATION SYSTEMS TO MODERN JAVA VERSIONS
CN120085855A (en) A cross-platform CICD system and implementation method based on Serverless