CN110489126A - Execution method and apparatus, storage medium and the electronic device of compiler task - Google Patents

Execution method and apparatus, storage medium and the electronic device of compiler task Download PDF

Info

Publication number
CN110489126A
CN110489126A CN201910731337.2A CN201910731337A CN110489126A CN 110489126 A CN110489126 A CN 110489126A CN 201910731337 A CN201910731337 A CN 201910731337A CN 110489126 A CN110489126 A CN 110489126A
Authority
CN
China
Prior art keywords
group
docker container
task
compiled
container
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201910731337.2A
Other languages
Chinese (zh)
Other versions
CN110489126B (en
Inventor
蒋艳军
潘金赤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910731337.2A priority Critical patent/CN110489126B/en
Publication of CN110489126A publication Critical patent/CN110489126A/en
Application granted granted Critical
Publication of CN110489126B publication Critical patent/CN110489126B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

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

Abstract

The invention discloses execution method and apparatus, storage medium and the electronic devices of a kind of compiler task.Wherein, this method comprises: obtaining one group of task to be compiled;Determine the concurrent quantity of translation and compiling environment locating for task to be compiled and task to be compiled;One group of image file that QCI distributed compilation server obtains one group of application container engine docker container corresponding with translation and compiling environment and concurrent quantity is identified by quality of service classes;Send task to be compiled in one group of application container engine docker container of distributed autonomous working, wherein one group of task to be compiled is divided into each docker container in one group of docker container;It obtains one group of docker container distribution and executes the corresponding obtained compiling result of task to be compiled in task to be compiled.The present invention solves the time-consuming technical problem of the compiling to task in the related technology.

Description

Execution method and apparatus, storage medium and the electronic device of compiler task
Technical field
The present invention relates to computer fields, are situated between in particular to a kind of execution method and apparatus of compiler task, storage Matter and electronic device.
Background technique
Continuous integrating (Continuous Integration, referred to as CI) and lasting delivery (Continuous Delivery, referred to as CD) be agile development basis.In continuous integrating and continue pipeline pipeline stream in delivery process The time-consuming of the links of waterline is extremely important, and especially compiling is time-consuming.Some project compilation times are very long, and dozens of minutes is even Several hours have seriously affected the efficiency of agile development.
For above-mentioned problem, currently no effective solution has been proposed.
Summary of the invention
The embodiment of the invention provides execution method and apparatus, storage medium and the electronic device of a kind of compiler task, with At least solve the time-consuming technical problem of the compiling to task in the related technology.
According to an aspect of an embodiment of the present invention, a kind of execution method of compiler task is provided, comprising: obtain one group Task to be compiled;Send above-mentioned task to be compiled in one group of application container engine docker container of distributed autonomous working, Wherein, above-mentioned task to be compiled is divided into each docker container in above-mentioned one group of docker container;Obtain above-mentioned one Group docker container distribution executes the corresponding obtained compiling result of task to be compiled in above-mentioned task to be compiled.
According to another aspect of an embodiment of the present invention, a kind of executive device of compiler task is additionally provided, comprising: first obtains Modulus block, for obtaining one group of task to be compiled;First determining module, for sending above-mentioned task to be compiled to point above-mentioned Before one group of application container engine docker container that cloth works independently, translation and compiling environment locating for above-mentioned task to be compiled is determined And the concurrent quantity of above-mentioned task to be compiled;Second obtains module, compiles for identifying QCI distribution by quality of service classes Translate one group of mirror image that server obtains above-mentioned one group of docker container corresponding with above-mentioned translation and compiling environment and above-mentioned concurrent quantity File, wherein the docker container in above-mentioned one group of image file and above-mentioned one group of docker container corresponds;First sends Module, for sending above-mentioned task to be compiled in one group of application container engine docker container of distributed autonomous working, In, above-mentioned task to be compiled is divided into each docker container in above-mentioned one group of docker container;Third obtains module, It is obtained for obtaining corresponding task to be compiled in the above-mentioned task to be compiled of above-mentioned one group of docker container distribution execution Compile result.
Optionally, above-mentioned apparatus further include: the first starting module, for identifying QCI above by quality of service classes Distributed compilation server obtains above-mentioned one group of docker container corresponding with above-mentioned translation and compiling environment and above-mentioned concurrent quantity After one group of image file, the above-mentioned one group of docker container being in idle condition is carried out using above-mentioned one group of image file real Exampleization operation, to start above-mentioned one group of docker container.
Optionally, above-mentioned apparatus further include: the 4th obtains module, for sending above-mentioned task to be compiled to point above-mentioned Before one group of application container engine docker container that cloth works independently, the distributed compilation process for being in starting state is obtained In white list parameter, wherein above-mentioned white list parameter is used to configure corresponding IP address for host, and above-mentioned IP address is for permitting Perhaps above-mentioned host sends above-mentioned task to be compiled in one group of application container engine docker container of distributed autonomous working;
First sending module includes:
First transmission unit sends distribution for above-mentioned task to be compiled for being based on above-mentioned IP address on above-mentioned host One group of application container engine docker container that formula works independently.
Optionally, above-mentioned apparatus further include:
Second determining module, in one group of application container for sending above-mentioned task to be compiled to distributed autonomous working After engine docker container, the IP of distribution to above-mentioned one group of docker container is returned by QCI distributed compilation server Location;
First setup module, the environment for the IP address of above-mentioned one group of docker container to be arranged in distributed host become It measures in distcc_hosts, with the context variable values of the above-mentioned distcc_hosts of determination, wherein the ring of above-mentioned distcc_hosts Border variate-value is used to be associated with the IP address of above-mentioned distributed host and above-mentioned one group of docker container.
Optionally, above-mentioned apparatus further include:
Third determining module, in above-mentioned one group of application for sending above-mentioned task to be compiled to distributed autonomous working Before container engine docker container, compilation tool used in above-mentioned docker container set is determined;
4th determining module, for determining that one group of application of above-mentioned one group of docker container is held using above-mentioned compilation tool Device engine file, wherein the docker container one in above-mentioned one group of application container engine file and above-mentioned one group of docker container One is corresponding, and each above-mentioned application container engine file is held for triggering corresponding docker container in above-mentioned one group of docker container Corresponding task to be compiled in the above-mentioned task to be compiled of row;
5th determining module, for determining one group of script file of above-mentioned one group of docker container, wherein above-mentioned one group Docker container in script file and above-mentioned one group of docker container corresponds, and each above-mentioned script file is for running State corresponding docker container in one group of docker container.
Optionally, above-mentioned apparatus further include: the 4th obtains module, in the above-mentioned one group of docker container of above-mentioned acquisition point Cloth executes in above-mentioned task to be compiled before the corresponding obtained compiling result of task to be compiled, obtains one group of compiling life It enables, wherein the docker container in above-mentioned one group of compiler directive and above-mentioned one group of docker container corresponds, each above-mentioned volume Order is translated for being used by corresponding above-mentioned docker container to execute corresponding task to be compiled in above-mentioned task to be compiled;To Each docker container in above-mentioned one group of docker container sends corresponding compiler directive in above-mentioned one group of compiler directive;Third Obtaining module includes: second acquisition unit, for obtaining above-mentioned compiling result in caching from compiler, wherein above-mentioned compiling knot Fruit is that each docker container in above-mentioned one group of docker container is corresponding above-mentioned using corresponding above-mentioned compiler directive execution It result that task to be compiled obtains and is stored in above-mentioned compiler caching.
Optionally, above-mentioned apparatus further include: the second starting module, for obtaining above-mentioned compiling knot in caching from compiler Before fruit, above-mentioned compiler is started by modification script file and is cached, wherein above-mentioned script file is for determining above-mentioned compiling Device caches the distributed tool version being applicable in;Or, third starting module, slow for starting above-mentioned compiler by soft link It deposits, wherein above-mentioned soft link is for marking the address of above-mentioned compiler caching.
Optionally, above-mentioned first acquisition module includes: the first determination unit, for determining building order, wherein above-mentioned structure Build the concurrent quantity that order is used to indicate above-mentioned task to be compiled;Second determination unit, for determining that above-mentioned one group of docker holds External member version is compiled used in each docker container in device;Third determination unit, for determining above-mentioned each docker Image file used in container;4th determination unit is used for above-mentioned building order, compiling external member version and above-mentioned image File is determined as above-mentioned one group of compiler directive.
Optionally, above-mentioned apparatus further include: release module, for obtaining above-mentioned one group of docker container distribution execution In above-mentioned task to be compiled after the corresponding obtained compiling result of task to be compiled, discharge in above-mentioned one group of docker container Each docker container.
Optionally, each docker container in above-mentioned one group of docker container is located on block chain node.
Another aspect according to an embodiment of the present invention, additionally provides a kind of storage medium, and meter is stored in the storage medium Calculation machine program, wherein the computer program is arranged to execute the execution method of above-mentioned compiler task when operation.
Another aspect according to an embodiment of the present invention, additionally provides a kind of electronic device, including memory, processor and deposits Store up the computer program that can be run on a memory and on a processor, wherein above-mentioned processor passes through computer program and executes The execution method of above-mentioned compiler task.
In embodiments of the present invention, using one group of task to be compiled of acquisition;It sends task to be compiled to distributed independent One group of application container engine docker container of work, wherein task to be compiled is divided into each in one group of docker container In a docker container;One group of docker container distribution is obtained to execute in task to be compiled obtained by corresponding task to be compiled Compiling result mode, by one group of docker container treat compiler task carry out distributed compilation, reached to compiling appoint Business distributed compilation, and the purpose of compiler task progress load balancing appoints compiling to realize using docker container The technical effect that business quickly compiles, and then solve the time-consuming technical problem of the compiling to task in the related technology.
Detailed description of the invention
The drawings described herein are used to provide a further understanding of the present invention, constitutes part of this application, this hair Bright illustrative embodiments and their description are used to explain the present invention, and are not constituted improper limitations of the present invention.In the accompanying drawings:
Fig. 1 is a kind of signal of the application environment of the execution method of optional compiler task according to an embodiment of the present invention Figure;
Fig. 2 is a kind of flow diagram of the execution method of optional compiler task according to an embodiment of the present invention;
Fig. 3 is a kind of overall architecture schematic diagram of the execution method of optional compiler task according to an embodiment of the present invention;
Fig. 4 is a kind of schematic diagram for optionally using docker container as compiling slave according to an embodiment of the present invention;
Fig. 4 a is a kind of distribution schematic diagram of the optional docker container according to an embodiment of the present invention on block chain;
Fig. 5 is the operational effect schematic diagram of optional QCI pipeline according to an embodiment of the present invention a kind of;
Fig. 6 is a kind of overall flow figure of the execution method of optional compiler task according to an embodiment of the present invention;
Fig. 7 is a kind of executive device schematic diagram of optional compiler task according to an embodiment of the present invention;
Fig. 8 is a kind of structural schematic diagram of optional electronic device according to an embodiment of the present invention.
Specific embodiment
In order to enable those skilled in the art to better understand the solution of the present invention, below in conjunction in the embodiment of the present invention Attached drawing, technical scheme in the embodiment of the invention is clearly and completely described, it is clear that described embodiment is only The embodiment of a part of the invention, instead of all the embodiments.Based on the embodiments of the present invention, ordinary skill people The model that the present invention protects all should belong in member's every other embodiment obtained without making creative work It encloses.
It should be noted that description and claims of this specification and term " first " in above-mentioned attached drawing, " Two " etc. be to be used to distinguish similar objects, without being used to describe a particular order or precedence order.It should be understood that using in this way Data be interchangeable under appropriate circumstances, so as to the embodiment of the present invention described herein can in addition to illustrating herein or Sequence other than those of description is implemented.In addition, term " includes " and " having " and their any deformation, it is intended that cover Cover it is non-exclusive include, for example, the process, method, system, product or equipment for containing a series of steps or units are not necessarily limited to Step or unit those of is clearly listed, but may include be not clearly listed or for these process, methods, product Or other step or units that equipment is intrinsic.
According to an aspect of an embodiment of the present invention, a kind of execution method of compiler task is provided, optionally, as one The optional embodiment of kind, the execution method of above-mentioned compiler task can be, but not limited to be applied in environment as shown in Figure 1.
Optionally, in the present embodiment, the execution method of above-mentioned compiler task can be, but not limited to be applied to server 102 In, for assisting applications client to the execution process of compilation of compiler task.Wherein, above-mentioned applications client can be, but not limited to It operates in user equipment 108, which can be, but not limited to as mobile phone, tablet computer, laptop, PC machine The terminal device of equal supports operation applications client.It include memory 114 in user equipment 108, for storing to be compiled Business, processor 112, for handling task to be compiled.Task to be compiled is sent to server 102 by user equipment 108.Server It include database 104 in 102, for storing task to be compiled, processing engine 106, for handling task to be compiled.Such as Fig. 1 Shown, server 102 is connect with one group of docker container, and operation has multiple one group of docker container on one group of docker container, Task to be compiled is sent in one group of docker container of autonomous working by server 102.One group of docker container will be compiled Compiling result be sent in server 102.
Optionally, the execution method of above-mentioned compiler task can be, but not limited to the server for being applied to that data can be calculated In, above-mentioned server and one group of docker container can be can include but is not limited to by network connection, network wireless network or Cable network.Wherein, which includes: WIFI and other realize the network of wireless communication.Above-mentioned cable network can wrap It includes but is not limited to: wide area network, Metropolitan Area Network (MAN), local area network.Above-mentioned server 102 can include but is not limited to any to be calculated Hardware device.
Optionally, as an alternative embodiment, as shown in Fig. 2, the execution method of above-mentioned compiler task includes:
S202: one group of task to be compiled is obtained;
S204: the concurrent quantity of translation and compiling environment locating for task to be compiled and task to be compiled is determined;
S206: QCI distributed compilation server is identified by quality of service classes and is obtained and translation and compiling environment and number of concurrent Measure one group of image file of corresponding one group of application container engine docker container, wherein one group of image file and one group Docker container in docker container corresponds;
S208: sending task to be compiled in one group of application container engine docker container of distributed autonomous working, In, task to be compiled is divided into each docker container in one group of docker container;
S210: it is obtained to obtain corresponding task to be compiled in one group of docker container distribution execution task to be compiled Compile result.
Optionally, in the present embodiment, the execution method of above-mentioned compiler task can be, but not limited to be applied to compiler task Scene in.Wherein, task to be compiled can be, but not limited to as various source programs.Above-mentioned is only a kind of example, in the present embodiment Any restriction is not done to this.
Optionally, in the present embodiment, task to be compiled include but is not limited to be multiple source programs, in a source program Multiple subprograms.For example, M tasks to be compiled are given N number of container, wherein M, N are greater than 1 natural number.
Optionally, compilation tool in the present embodiment includes but is not limited to Distributed C/C++ compilation tool distcc. Distcc can organize the multiple stage computers in a network while carry out some compiler task.Main operational principle is: will be originally The some files compiled using native central processor (Central Processing Unit, referred to as CPU) are needed, point It is dealt on other more machines, more machines is allowed to execute compilation process, compiling is completed and then compilation information is sent back to this Link is executed on machine, finally obtains compiling result.In simple terms, exactly by the way that the main compilation process for expending resource to be distributed to The mode executed on remote compilation machine, so that original separate unit compilation process is converted in order to which more compile, whole compilation time It reduces.
Optionally, in the present embodiment, it can use the information that compiler caching ccache tool caching compiling generates, and The information of cache is used in the specific part of compiling, saves compilation time.Ccache has cached volume when compiling for the first time Output is translated, in the buffer header file expansion information preservation, is preferentially updated again when having change using caching when compiling for second Caching.
Optionally, it uses distcc as distributed compilation tool in the present embodiment, is made using main service routine dmucs For the load balancing tool of distcc distributed compilation, use ccache as compiling cache tools.As shown in figure 3, being this reality Apply the overall architecture schematic diagram in example, wherein the following steps are included:
S1, host distcc ccache obtain task to be compiled.
Mission dispatching to be compiled is carried out the volume of task to be edited by S2, host into each compiling slave compiled in cluster Volume.
S3, ccache caching compiling slave treat the compilation information of compiler task, and compilation information is sent in host.
Optionally, the compiling slave in above-mentioned distributed compilation cluster uses docker container.Made using docker container Schematic diagram for compiling slave is as shown in Figure 4.
Optionally, in the present embodiment, image file include but is not limited to be docker mirror image, can be according to be compiled The difference of the relied on translation and compiling environment of business, makes multiple docker translation and compiling environment mirror images.Wherein, it needs to install in docker mirror image The compilation tool of corresponding version, compilation tool include but is not limited to include at least one of: distributed compilation tool distcc, GNU compiler external member gcc, compiler cache ccache, main service routine dmucs.
Through this embodiment, a set of distributed compilation cluster has been built by distcc, ccache and dmuc, can facilitated Acceleration is compiled to C/C++ intermediate item, more efficiently distributed compilation cluster resource can be efficiently used, and conveniently The mutually isolated of resource is compiled between carry out task, is easy to dynamic and is adjusted distcc compiling configuration parameter;Simplify distcc/ Ccache operational version, user do not have to concern distcc and ccache environmental structure and parameter configuration problem;It can will averagely appoint The compilation time of business reduces, and greatly improves the efficiency of compiling.
In an alternative embodiment, by quality of service classes identify QCI distributed compilation server obtain with After one group of image file of translation and compiling environment and the corresponding one group of docker container of concurrent quantity, method further include:
S2 carries out instantiation operation to one group of docker container being in idle condition using one group of image file, to open Move one group of docker container.
Optionally, after starting compiles building task, CD platform QCI-distcc is persistently delivered by continuous integrating CI/ Server is required according to the concurrent quantity and translation and compiling environment of task to be compiled, is selected suitable mirror image, is distributed and instantiate one Idle docker container is criticized as building slave, needs to start distcc daemon when instantiating docker container and services.
Through this embodiment, the instantiation by using docker image file to docker container, to start docker Container is treated compiler task using multiple docker containers and is compiled, so that making when multiple tasks to be compiled compile simultaneously With different compiling slaves, the load balancing of each task to be compiled is controlled, it will not phase between each task to be compiled It mutually influences, improves the speed of compiling.
In an alternative embodiment, in one group of application container for sending task to be compiled to distributed autonomous working Before engine docker container, method further include:
S1 obtains the white list parameter in the distributed compilation process in starting state, wherein white list parameter is used for Corresponding IP address is configured for host, IP address is used to that host to be allowed to send the one of distributed autonomous working for task to be compiled Group application container engine docker container;
Include: by one group of application container engine docker container that task to be compiled is sent to distributed autonomous working
S2 is drawn one group of application container that task to be compiled is sent to distributed autonomous working based on IP address on host Hold up docker container.
Optionally, in the present embodiment, the allow white list ginseng of specified distccd is needed when instantiating docker container Number, the docker container after starting become the distcc daemon of this distcc distributed compilation.
Optionally, qci-distcc server determines the IP address of host and distributes the docker in compiling cluster Container, and after starting docker container, the IP address for the docker container that this compiler task distributes is returned to host.Host to Docker container corresponding with each IP address distributes task to be compiled.
Through this embodiment, fail compiler task is distributed in each docker container by the IP address of host and is carried out Distributed compilation not only increases the speed of compiling, and each docker execution distributed compilation can be to each to be compiled The load balancing of task is controlled, and will not be influenced each other between each task to be compiled, be improved the speed of compiling.
In an alternative embodiment, in one group of application container for sending task to be compiled to distributed autonomous working After engine docker container, method further include:
S1 returns to the IP address of distribution to one group of docker container by QCI distributed compilation server;
S2 the IP of one group of docker container is arranged in the environmental variance distcc_hosts of distributed host, with true Determine the context variable values of distcc_hosts, wherein the context variable values of distcc_hosts for be associated with distributed host and The IP address of one group of docker container.
Optionally, in the present embodiment, the IP address of the docker container of this compiling distribution is added to by compiling host In the environmental variance distcc_hosts for compiling host;The IP address of docker container is stored in container IP list.
Through this embodiment, by the way that the IP address of docker container to be back in host, host can be according to docker The IP address of container distributes task to be compiled, improves the efficiency of distributed compilation.
In an alternative embodiment, in one group of application container for sending task to be compiled to distributed autonomous working Before engine docker container, method further include:
S1 determines compilation tool used in docker container set;
S2 determines one group of application container engine file of one group of docker container using compilation tool, wherein one group is answered It is corresponded with the docker container in container engine file and one group of docker container, each application container engine file is used for It triggers corresponding docker container in one group of docker container and executes corresponding task to be compiled in task to be compiled;
S3 determines one group of script file of one group of docker container, wherein one group of script file and one group of docker hold Docker container in device corresponds, and each script file holds for running corresponding docker in one group of docker container Device.
Optionally, in the present embodiment, compilation tool used in docker container set includes but is not limited to distribution Compilation tool distcc, GNU compiler external member gcc, compiler cache ccache, main service routine dmucs.
Optionally, application container engine file Dockerfile include but is not limited to be the following contents:
Optionally, script file includes but is not limited to the following contents:
#!/bin/bash-e
if[-n"$JOBS"];then
Append_params=" $ append_params--jobs $ JOBS "
fi
Distccd--allow=$ net--daemon--verbose--no-detach $ append_params
The starting fortune of docker container is accelerated by the determination to compilation tool and script file by this implementation Row, improves the efficiency of distributed compilation.
In an alternative embodiment, corresponding in obtaining one group of docker container distribution execution task to be compiled Before the obtained compiling result of task to be compiled, method further include:
S1 obtains one group of compiler directive, wherein one group of compiler directive and the docker container one in one group of docker container One is corresponding, and each compiler directive is for being used by corresponding docker container to execute in task to be compiled corresponding to be compiled Business;Each docker container into one group of docker container sends corresponding compiler directive in one group of compiler directive;
S2 obtains one group of docker container distribution and executes the corresponding obtained volume of task to be compiled in task to be compiled Translating result includes: that compiling result is obtained from compiler caching, wherein compiling is the result is that each in one group of docker container Docker container executes result that corresponding task to be compiled obtains using corresponding compiler directive and is stored in compiler and caches In.
Optionally, in the present embodiment, for example, compiler directive can be to issue orders:
usage:qci_distcc.py[--build_cmd BUILD_CMD][--gcc_version GCC_VERSION] [--custom_image CUSTOM_IMAGE]。
Optionally, build_cmd: compiling building order, such as: make all-j80.Wherein ,-j is specified simultaneously concurrently wait compile The number of tasks of compiling is translated, parameter is specified according to business actual conditions.
-- gcc_version: constructing the gcc version of dependence, if do not specified, is defaulted as gcc4.8.5 version.
-- custom_image: the docker mirror image progress distributed compilation whether being had by oneself using business, 0: not using industry The own mirror image progress distributed compilation building of business, 1: having mirror image progress distributed compilation building by oneself using business.Default does not use Business has mirror image by oneself and is compiled building.If business compiling building relies on special system library and has made docker Mirror image, can be used own mirror image as compiling cluster constructing environment (when having mirror image by oneself using business and being compiled building, Qcifile worker needs the title of the own mirror image of specified services).
Through this embodiment, by the compiler directive of acquisition, the distribution that docker container treats compiler task is realized Compiling, accelerates the Complied executing of docker container, improves the efficiency of distributed compilation.
In an alternative embodiment, before compiling result is obtained in caching from compiler, method further include:
S1 starts compiler caching by modification script file, wherein script file is for determining that compiler caches institute Applicable distributed tool version;Or
S2 starts compiler caching by soft link, wherein address of the soft link for marking compiler to cache.
Optionally, in the present embodiment, modification script file includes the following contents:
CC=gcc is changed to: CC=ccache gcc
CXX=g++ is changed to: CXX=ccache g++
Optionally, starting compiler caching by soft link includes the following contents:
ln-s/usr/bin/ccache/usr/local/bin/gcc
ln-s/usr/bin/ccache/usr/local/bin/g++
Through this embodiment, by starting compiler caching, compiling result is quickly cached, compiling is improved Efficiency.
In an alternative embodiment, obtaining one group of compiler directive includes:
S1 determines building order, wherein building order is used to indicate the concurrent quantity of task to be compiled;
S2 is determined and is compiled external member version used in each docker container in one group of docker container;
S3 determines image file used in each docker container;
Building order, compiling external member version and image file are determined as one group of compiler directive by S4.
Optionally, in the present embodiment, for example, compiler directive can be to issue orders:
usage:qci_distcc.py[--build_cmd BUILD_CMD][--gcc_version GCC_VERSION] [--custom_image CUSTOM_IMAGE]。
Optionally, build_cmd: compiling building order, such as: make all-j80.Wherein ,-j is specified simultaneously concurrently wait compile The number of tasks of compiling is translated, parameter is specified according to business actual conditions.
-- gcc_version: constructing the gcc version of dependence, if do not specified, is defaulted as gcc4.8.5 version.
-- custom_image: the docker mirror image progress distributed compilation whether being had by oneself using business, 0: not using industry The own mirror image progress distributed compilation building of business, 1: having mirror image progress distributed compilation building by oneself using business.Default does not use Business has mirror image by oneself and is compiled building.If business compiling building relies on special system library and has made docker Mirror image, can be used own mirror image as compiling cluster constructing environment (when having mirror image by oneself using business and being compiled building, Qcifile worker needs the title of the own mirror image of specified services).
Through this embodiment, by the compiler directive of acquisition, the distribution that docker container treats compiler task is realized Compiling, accelerates the Complied executing of docker container, improves the efficiency of distributed compilation.
In an alternative embodiment, obtain one group of docker container distribution execute in task to be compiled it is corresponding to After the obtained compiling result of compiler task, method further include:
S1 discharges each docker container in one group of docker container.
Optionally.After the completion of task to be compiled compiling, notice qci-distcc server release compiling slave docker Container resource.
Through this embodiment, by the release to docker container resource, be conducive to subsequent use, improve whole volume The efficiency translated.
In an alternative embodiment, each docker container in one group of docker container is located at block chain node On.
Optionally, as described in fig. 4 a, each docker container can be applied in the scene of block chain, each docker Container is distributed on each node on block chain.
The present invention will be described combined with specific embodiments below:
The present embodiment combination QCI pipeline is illustrated, and calls qci- in the qcifile configuration file of QCI task Distcc client tool carries out distributed compilation, and method of calling includes first being not limited in qcifile file: python3./ qci_plugin_scripts/distcc/qci_distcc.py--build_cmd'make clean;make all'.QCI The operational effect figure of pipeline is as shown in Figure 5.
Optionally, the present embodiment includes but is not limited to 3 parts: distributed compilation doker container cluster, docker container It compiles cluster management and services qci-distcc server and distributed compilation client utility qci-distcc client.Such as Shown in Fig. 6, comprising the following steps:
S601: determining the machine resources of compiling, and compiling cluster is added after initializing and disposing;
S602: production translation and compiling environment docker mirror image, the difference for the translation and compiling environment that can be relied on according to project make multiple Docker translation and compiling environment mirror image.Need to install gcc, ccache, dmucs of corresponding version in docker mirror image.
S603: after starting compiling building task, by qci-distcc server according to the number of concurrent and volume of compiler task Environmental requirement is translated, suitable mirror image is selected, distribute and instantiates the docker container of a collection of free time as building slave.
S604: starting distcc daemon service when instantiation docker container, and the white name of allow of specified distccd One-parameter, the docker container after starting become the distcc daemon of this distcc distributed compilation.
S605:qci-distcc server distributes the container in compiling cluster, and after starting container, returns to this volume Translate the IP address of the docker container of task distribution.It compiles host the IP address of the docker container of this compiling distribution is added Into the environmental variance DISTCC_HOSTS of building host.
S606: starting compiler task.
S607: (N is the quantity constructed parallel) is constructed using distcc.py-build_cmd " make-jN " order.
Optionally, the tool that docker container cluster relies on: gcc, distcc, ccache and the dmucs of corresponding version.
Optionally, docker container compiling cluster management service qci-distcc server is responsible for according to the concurrent of task Situation and the environmental information of dependence, select suitable mirror image, distribute and instantiate docker container progress distributed compilation.It is real Starting distcc daemon service when exampleization docker compiles container.After distributing compiling slave resource, the container of distribution is returned Ip list.
Optionally, distributed compilation client utility qci-distcc client tool mainly realizes following functions:
1) environmental information that compiler task requires is obtained, such as gcc version, compiles the ip information of host, and to qci- Distcc server request distribution distributed compilation docker container resource;
2) the distcc daemon container ip information that qci-distcc server is returned is added to compiling host In DISTCC_HOSTS environmental variance;
3) make-j order is called to be compiled;
4) after the completion of compiling, notice qci-distcc server release compiling slave docker container resource.
In conclusion the present embodiment, which is based on distcc, ccache and dmucs, has built a set of general and easy-to-use distribution Cluster is compiled, can facilitate and acceleration is compiled to C/C++ intermediate item;Distributed compilation machine side based on docker container Case can more efficiently efficiently use distributed compilation cluster resource, and facilitate the phase of compiling resource between carry out task Mutually isolation is easy to dynamic and adjusts distcc compiling configuration parameter;Using the distributed compilation group scheme in the present invention, simplify Distcc/ccache operational version, user do not have to concern distcc and ccache environmental structure and parameter configuration problem;This implementation The compilation time of task averagely can be reduced half or so, greatly improve compiling by the distributed compilation group scheme in example Construct efficiency.
Optionally, in the present embodiment, the collaboration processing method of above-mentioned picture can be, but not limited to be applied to picture processing Scene in.In this scenario, the first account number and it is not involved in collaborative process to the first picture, but collaborative process is requested to send out It send to the corresponding account number of object to be processed present in the first picture and is handled.
In the present embodiment, the mode of other account number collaborative process pictures is identical as the mode of above-described embodiment, herein not It repeats again.
It should be noted that for the various method embodiments described above, for simple description, therefore, it is stated as a series of Combination of actions, but those skilled in the art should understand that, the present invention is not limited by the sequence of acts described because According to the present invention, some steps may be performed in other sequences or simultaneously.Secondly, those skilled in the art should also know It knows, the embodiments described in the specification are all preferred embodiments, and related actions and modules is not necessarily of the invention It is necessary.
According to an aspect of an embodiment of the present invention, a kind of executive device of compiler task is additionally provided.As shown in fig. 7, The device includes:
First obtains module 72, for obtaining one group of task to be compiled;
First determining module 74, for sending one group of distributed autonomous working above-mentioned for above-mentioned task to be compiled and answering Before container engine docker container, translation and compiling environment locating for above-mentioned task to be compiled and above-mentioned task to be compiled are determined Concurrent quantity;
Second obtain module 76, for by quality of service classes identify QCI distributed compilation server acquisition with it is above-mentioned One group of image file of translation and compiling environment and the corresponding above-mentioned one group of docker container of above-mentioned concurrent quantity, wherein above-mentioned one group Docker container in image file and above-mentioned one group of docker container corresponds;
First sending module 78, for sending above-mentioned task to be compiled to one group of application container of distributed autonomous working Engine docker container, wherein above-mentioned task to be compiled is divided into the appearance of each docker in above-mentioned one group of docker container In device;
Third obtains module 710, executes in above-mentioned task to be compiled for obtaining above-mentioned one group of docker container distribution The corresponding obtained compiling result of task to be compiled.
Optionally, above-mentioned apparatus further include:
First starting module, for above by quality of service classes mark QCI distributed compilation server obtain with After one group of image file of above-mentioned translation and compiling environment and the corresponding above-mentioned one group of docker container of above-mentioned concurrent quantity, in use It states one group of image file and instantiation operation is carried out to the above-mentioned one group of docker container being in idle condition, to start above-mentioned one group Docker container.
Optionally, above-mentioned apparatus further include:
4th obtains module, in above-mentioned one group of application for sending above-mentioned task to be compiled to distributed autonomous working Before container engine docker container, the white list parameter in the distributed compilation process in starting state is obtained, wherein on White list parameter is stated for configuring corresponding IP address for host, above-mentioned IP address is used to allow above-mentioned host will be above-mentioned to be compiled Task is sent to one group of application container engine docker container of distributed autonomous working;
First sending module includes:
First transmission unit sends distribution for above-mentioned task to be compiled for being based on above-mentioned IP address on above-mentioned host One group of application container engine docker container that formula works independently.
Optionally, above-mentioned apparatus further include:
Second determining module, in one group of application container for sending above-mentioned task to be compiled to distributed autonomous working After engine docker container, the IP of distribution to above-mentioned one group of docker container is returned by QCI distributed compilation server Location;
First setup module, the environment for the IP address of above-mentioned one group of docker container to be arranged in distributed host become It measures in distcc_hosts, with the context variable values of the above-mentioned distcc_hosts of determination, wherein the ring of above-mentioned distcc_hosts Border variate-value is used to be associated with the IP address of above-mentioned distributed host and above-mentioned one group of docker container.
Optionally, above-mentioned apparatus further include:
Third determining module, in above-mentioned one group of application for sending above-mentioned task to be compiled to distributed autonomous working Before container engine docker container, compilation tool used in above-mentioned docker container set is determined;
4th determining module, for determining that one group of application of above-mentioned one group of docker container is held using above-mentioned compilation tool Device engine file, wherein the docker container one in above-mentioned one group of application container engine file and above-mentioned one group of docker container One is corresponding, and each above-mentioned application container engine file is held for triggering corresponding docker container in above-mentioned one group of docker container Corresponding task to be compiled in the above-mentioned task to be compiled of row;
5th determining module, for determining one group of script file of above-mentioned one group of docker container, wherein above-mentioned one group Docker container in script file and above-mentioned one group of docker container corresponds, and each above-mentioned script file is for running State corresponding docker container in one group of docker container.
Optionally, above-mentioned apparatus further include:
4th obtains module, for executing above-mentioned task to be compiled in the above-mentioned one group of docker container distribution of above-mentioned acquisition In before the corresponding obtained compiling result of task to be compiled, obtain one group of compiler directive, wherein above-mentioned one group of compiler directive It is corresponded with the docker container in above-mentioned one group of docker container, each above-mentioned compiler directive is used for by corresponding above-mentioned Docker container is used to execute corresponding task to be compiled in above-mentioned task to be compiled;Into above-mentioned one group of docker container Each docker container sends corresponding compiler directive in above-mentioned one group of compiler directive;
Third obtain module include: second acquisition unit, for obtain above-mentioned compiling in caching from compiler as a result, its In, above-mentioned compiling is the result is that each docker container in above-mentioned one group of docker container is held using corresponding above-mentioned compiler directive It result that the corresponding above-mentioned task to be compiled of row obtains and is stored in above-mentioned compiler caching.
Optionally, above-mentioned apparatus further include:
Second starting module, for passing through modification script text before obtaining above-mentioned compiling result in caching from compiler Part starts above-mentioned compiler caching, wherein above-mentioned script file is used to determine that above-mentioned compiler to cache the distribution being applicable in Tool version;Or
Third starting module, for starting above-mentioned compiler caching by soft link, wherein above-mentioned soft link is for marking The address of above-mentioned compiler caching.
Optionally, above-mentioned first acquisition module includes:
First determination unit, for determining building order, wherein above-mentioned building order is used to indicate above-mentioned task to be compiled Concurrent quantity;
Second determination unit, for determining compiling used in each docker container in above-mentioned one group of docker container External member version;
Third determination unit, for determining image file used in above-mentioned each docker container;
4th determination unit, for above-mentioned building order, compiling external member version and above-mentioned image file to be determined as State one group of compiler directive.
Optionally, above-mentioned apparatus further include:
Release module, for corresponding in obtaining the above-mentioned task to be compiled of above-mentioned one group of docker container distribution execution After the obtained compiling result of task to be compiled, each docker container in above-mentioned one group of docker container is discharged.
Optionally, each docker container in above-mentioned one group of docker container is located on block chain node.
Another aspect according to an embodiment of the present invention additionally provides a kind of for implementing the execution side of above-mentioned compiler task The electronic device of method is stored in the memory 802 as shown in figure 8, the electronic device includes memory 802 and processor 804 Computer program, the processor 804 are arranged to execute the step in any of the above-described embodiment of the method by computer program.
Optionally, in the present embodiment, above-mentioned electronic device can be located in multiple network equipments of computer network At least one network equipment.
Optionally, in the present embodiment, above-mentioned processor can be set to execute following steps by computer program:
S1 obtains task to be compiled;
S2: the concurrent quantity of translation and compiling environment locating for task to be compiled and task to be compiled is determined;
S3: QCI distributed compilation server is identified by quality of service classes and is obtained and translation and compiling environment and concurrent quantity One group of image file of corresponding one group of application container engine docker container, wherein one group of image file and one group of docker Docker container in container corresponds;
S4 sends the task to be compiled in one group of application container engine docker container of distributed autonomous working, Wherein, the task to be compiled is divided into each docker container in one group of docker container;
S5 obtains one group of docker container distribution and executes corresponding task institute to be compiled in the task to be compiled Obtained compiling result.
Optionally, it will appreciated by the skilled person that structure shown in Fig. 8 is only to illustrate, electronic device can also To be smart phone (such as Android phone, iOS mobile phone), tablet computer, palm PC and mobile internet device The terminal devices such as (Mobile Internet Devices, MID), PAD.Fig. 8 it does not cause to the structure of above-mentioned electronic device It limits.For example, electronic device may also include more perhaps less component (such as network interface) or tool than shown in Fig. 8 There is the configuration different from shown in Fig. 8.
Wherein, memory 802 can be used for storing software program and module, in the embodiment of the present invention.Compiler task The corresponding program instruction/module of execution method and apparatus, processor 804 passes through the software that is stored in memory 802 of operation Program and module realize the execution method of above-mentioned compiler task thereby executing various function application and data processing Method.Memory 802 may include high speed random access memory, can also include nonvolatile memory, such as one or more magnetic Property storage device, flash memory or other non-volatile solid state memories.In some instances, memory 802 can further comprise The memory remotely located relative to processor 804, these remote memories can pass through network connection to terminal.Above-mentioned network Example include but is not limited to internet, intranet, local area network, mobile radio communication and combinations thereof.Wherein, memory 802 It specifically can be, but not limited to for task dispatching information to be compiled.It as an example, as shown in figure 8, can in above-mentioned memory 802 With but be not limited to include that first executed in square law device of above-mentioned compiler task obtains module 72, the first determining module 74, the Two, which obtain module 76, the first sending module 78 and third, obtains module 710.In addition, it can include but being not limited to above-mentioned volume Other modular units in the executive device device of task are translated, are repeated no more in this example.
Optionally, above-mentioned transmitting device 806 is used to that data to be received or sent via a network.Above-mentioned network tool Body example may include cable network and wireless network.In an example, transmitting device 806 includes a network adapter (Network Interface Controller, NIC), can be connected by cable with other network equipments with router to It can be communicated with internet or local area network.In an example, transmitting device 806 is radio frequency (Radio Frequency, RF) Module is used to wirelessly be communicated with internet.
In addition, above-mentioned electronic device further include: display 808, for showing above-mentioned task to be compiled;With connection bus 810, for connecting the modules component in above-mentioned electronic device.
The another aspect of embodiment according to the present invention, additionally provides a kind of storage medium, is stored in the storage medium Computer program, wherein the computer program is arranged to execute the step in any of the above-described embodiment of the method when operation.
Optionally, in the present embodiment, above-mentioned storage medium can be set to store by executing based on following steps Calculation machine program:
S1 obtains task to be compiled;
S2: the concurrent quantity of translation and compiling environment locating for task to be compiled and task to be compiled is determined;
S3: QCI distributed compilation server is identified by quality of service classes and is obtained and translation and compiling environment and concurrent quantity One group of image file of corresponding one group of application container engine docker container, wherein one group of image file and one group of docker Docker container in container corresponds;
S4 sends the task to be compiled in one group of application container engine docker container of distributed autonomous working, Wherein, the task to be compiled is divided into each docker container in one group of docker container;
S5 obtains one group of docker container distribution and executes corresponding task institute to be compiled in the task to be compiled Obtained compiling result.
Optionally, in the present embodiment, those of ordinary skill in the art will appreciate that in the various methods of above-described embodiment All or part of the steps be that the relevant hardware of terminal device can be instructed to complete by program, the program can store in In one computer readable storage medium, storage medium may include: flash disk, read-only memory (Read-Only Memory, ROM), random access device (Random Access Memory, RAM), disk or CD etc..
The serial number of the above embodiments of the invention is only for description, does not represent the advantages or disadvantages of the embodiments.
If the integrated unit in above-described embodiment is realized in the form of SFU software functional unit and as independent product When selling or using, it can store in above-mentioned computer-readable storage medium.Based on this understanding, skill of the invention Substantially all or part of the part that contributes to existing technology or the technical solution can be with soft in other words for art scheme The form of part product embodies, which is stored in a storage medium, including some instructions are used so that one Platform or multiple stage computers equipment (can be personal computer, server or network equipment etc.) execute each embodiment institute of the present invention State all or part of the steps of method.
In the above embodiment of the invention, it all emphasizes particularly on different fields to the description of each embodiment, does not have in some embodiment The part of detailed description, reference can be made to the related descriptions of other embodiments.
In several embodiments provided herein, it should be understood that disclosed client, it can be by others side Formula is realized.Wherein, the apparatus embodiments described above are merely exemplary, such as the division of the unit, and only one Kind of logical function partition, there may be another division manner in actual implementation, for example, multiple units or components can combine or It is desirably integrated into another system, or some features can be ignored or not executed.Another point, it is shown or discussed it is mutual it Between coupling, direct-coupling or communication connection can be through some interfaces, the INDIRECT COUPLING or communication link of unit or module It connects, can be electrical or other forms.
The unit as illustrated by the separation member may or may not be physically separated, aobvious as unit The component shown may or may not be physical unit, it can and it is in one place, or may be distributed over multiple In network unit.It can select some or all of unit therein according to the actual needs to realize the mesh of this embodiment scheme 's.
It, can also be in addition, the functional units in various embodiments of the present invention may be integrated into one processing unit It is that each unit physically exists alone, can also be integrated in one unit with two or more units.Above-mentioned integrated list Member both can take the form of hardware realization, can also realize in the form of software functional units.
The above is only a preferred embodiment of the present invention, it is noted that for the ordinary skill people of the art For member, various improvements and modifications may be made without departing from the principle of the present invention, these improvements and modifications are also answered It is considered as protection scope of the present invention.

Claims (12)

1. a kind of execution method of compiler task characterized by comprising
Obtain one group of task to be compiled;
Determine the concurrent quantity of translation and compiling environment locating for the task to be compiled and the task to be compiled;
QCI distributed compilation server is identified by quality of service classes to obtain and the translation and compiling environment and the concurrent quantity One group of image file of corresponding one group of application container engine docker container, wherein one group of image file and described one Docker container in group docker container corresponds;
Send the task to be compiled in one group of docker container of distributed autonomous working, wherein described to be compiled Task is divided into each docker container in one group of docker container;
It is obtained to obtain corresponding task to be compiled in one group of docker container distribution execution task to be compiled Compile result.
2. the method according to claim 1, wherein identifying QCI distribution by quality of service classes described Compiler server obtains one group of mirror of one group of docker container corresponding with the translation and compiling environment and the concurrent quantity After picture file, the method also includes:
Instantiation operation is carried out to the one group of docker container being in idle condition using one group of image file, to open Move one group of docker container.
3. the method according to claim 1, wherein
It is described by the task to be compiled be sent to distributed autonomous working one group of application container engine docker container it Before, the method also includes: obtain the white list parameter in the distributed compilation process in starting state, wherein described white Name one-parameter is used to configure corresponding IP address for host, and the IP address is for allowing the host by the task to be compiled It is sent to one group of application container engine docker container of distributed autonomous working;
One group of application container engine docker container for sending distributed autonomous working for the task to be compiled includes: On the host the task to be compiled is sent to based on the IP address one group of application container of distributed autonomous working Engine docker container.
4. the method according to claim 1, wherein sending distributed independent work for the task to be compiled After the one group of application container engine docker container made, the method also includes:
The IP address of distribution to one group of docker container is returned by QCI distributed compilation server;
The IP address of one group of docker container is arranged in the environmental variance distcc_hosts of distributed host, with true The context variable values of the fixed distcc_hosts, wherein the context variable values of the distcc_hosts are described for being associated with The IP address of distributed host and one group of docker container.
5. the method according to claim 1, wherein sending distribution solely for the task to be compiled described Before one group of application container engine docker container of vertical work, the method also includes:
Determine compilation tool used in the docker container set;
One group of application container engine file of one group of docker container is determined using the compilation tool, wherein described Docker container in one group of application container engine file and one group of docker container corresponds, and each application is held Device engine file is used to trigger right in the corresponding docker container execution task to be compiled in one group of docker container The task to be compiled answered;
Determine one group of script file of one group of docker container, wherein one group of script file and described one group Docker container in docker container corresponds, and each script file is for running in one group of docker container Corresponding docker container.
6. the method according to claim 1, wherein
Corresponding task institute to be compiled in one group of docker container distribution execution task to be compiled is obtained described Before obtained compiling result, the method also includes: obtain one group of compiler directive, wherein one group of compiler directive and institute The docker container stated in one group of docker container corresponds, and each compiler directive is used for by the corresponding docker Container is used to execute corresponding task to be compiled in the task to be compiled;It is each into one group of docker container Docker container sends corresponding compiler directive in one group of compiler directive;
It is described to obtain in one group of docker container distribution execution task to be compiled obtained by corresponding task to be compiled To compiling result include: from compiler caching in obtain the compiling result, wherein it is described compiling the result is that described one group Each docker container in docker container executes the corresponding task to be compiled using the corresponding compiler directive and obtains To result and be stored in compiler caching.
7. according to the method described in claim 6, it is characterized in that, obtained in being cached from compiler the compiling result it Before, the method also includes:
Start the compiler caching by modification script file, wherein the script file is for determining the compiler Cache the distributed tool version being applicable in;Or
Start the compiler caching by soft link, wherein the soft link is for marking the address of the compiler caching.
8. according to the method described in claim 6, it is characterized in that, one group of compiler directive of the acquisition includes:
Determine building order, wherein the building order is used to indicate the concurrent quantity of the task to be compiled;
It determines and compiles external member version used in each docker container in one group of docker container;
Determine image file used in each docker container;
Building order, compiling external member version and the image file are determined as one group of compiler directive.
9. the method according to claim 1, wherein obtaining described in one group of docker container distribution execution In task to be compiled after the corresponding obtained compiling result of task to be compiled, the method also includes:
Discharge each docker container in one group of docker container.
10. the method according to claim 1, wherein the method also includes:
Each docker container in one group of docker container is located on block chain node.
11. a kind of executive device of compiler task characterized by comprising
First obtains module, for obtaining one group of task to be compiled;
First determining module, for determining the concurrent of translation and compiling environment locating for the task to be compiled and the task to be compiled Quantity;
Second obtains module, obtains and the compiling ring for identifying QCI distributed compilation server by quality of service classes One group of image file of border and the corresponding one group of application container engine docker container of the concurrent quantity, wherein described one Docker container in group image file and one group of docker container corresponds;
First sending module, for sending the task to be compiled in one group of application container engine of distributed autonomous working Docker container, wherein the task to be compiled is divided into each docker container in one group of docker container;
Third obtains module, corresponding to be compiled in the docker container distribution execution task to be compiled for obtaining The obtained compiling result of task.
12. a kind of storage medium, which is characterized in that be stored with computer program in the storage medium, wherein the computer Program is arranged to execute method described in any one of claims 1 to 10 when operation.
CN201910731337.2A 2019-08-08 2019-08-08 Compiling task execution method and device, storage medium and electronic device Active CN110489126B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910731337.2A CN110489126B (en) 2019-08-08 2019-08-08 Compiling task execution method and device, storage medium and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910731337.2A CN110489126B (en) 2019-08-08 2019-08-08 Compiling task execution method and device, storage medium and electronic device

Publications (2)

Publication Number Publication Date
CN110489126A true CN110489126A (en) 2019-11-22
CN110489126B CN110489126B (en) 2021-09-10

Family

ID=68550341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910731337.2A Active CN110489126B (en) 2019-08-08 2019-08-08 Compiling task execution method and device, storage medium and electronic device

Country Status (1)

Country Link
CN (1) CN110489126B (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111008016A (en) * 2019-11-29 2020-04-14 宝付网络科技(上海)有限公司 Multi-environment compiling system and method based on docker container
CN111061487A (en) * 2019-12-16 2020-04-24 厦门市美亚柏科信息股份有限公司 Container-based load balancing distributed compiling system and method
CN111090436A (en) * 2019-12-22 2020-05-01 苏州浪潮智能科技有限公司 Jenkins compiling result summarizing method, device and equipment
CN111814415A (en) * 2020-07-09 2020-10-23 长沙海格北斗信息技术有限公司 Efficient regression testing method for chip verification
CN111813412A (en) * 2020-06-28 2020-10-23 中国科学院计算机网络信息中心 Method and system for constructing test data set for evaluating binary code comparison tool
CN112463123A (en) * 2020-11-25 2021-03-09 北京字跳网络技术有限公司 Task compiling method, device, network node, system and storage medium
CN113127203A (en) * 2021-04-25 2021-07-16 华南理工大学 Deep learning distributed compiler for cloud edge computing and construction method
CN113986239A (en) * 2021-10-22 2022-01-28 烽火通信科技股份有限公司 Distributed compiling method, device, equipment and readable storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170053231A1 (en) * 2015-04-21 2017-02-23 Somil Desai Automated electronic management system for international trade, logistics and pre-shipment inspection
CN107343000A (en) * 2017-07-04 2017-11-10 北京百度网讯科技有限公司 Method and apparatus for handling task
CN107590033A (en) * 2017-09-07 2018-01-16 网宿科技股份有限公司 A kind of methods, devices and systems of establishment DOCKER containers
CN108984179A (en) * 2018-06-28 2018-12-11 北京奇安信科技有限公司 Process of compilation method and device under a kind of Linux
CN109936540A (en) * 2017-12-18 2019-06-25 厦门本能管家科技有限公司 A kind of block chain node creation method based on wallet account book

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170053231A1 (en) * 2015-04-21 2017-02-23 Somil Desai Automated electronic management system for international trade, logistics and pre-shipment inspection
CN107343000A (en) * 2017-07-04 2017-11-10 北京百度网讯科技有限公司 Method and apparatus for handling task
CN107590033A (en) * 2017-09-07 2018-01-16 网宿科技股份有限公司 A kind of methods, devices and systems of establishment DOCKER containers
CN109936540A (en) * 2017-12-18 2019-06-25 厦门本能管家科技有限公司 A kind of block chain node creation method based on wallet account book
CN108984179A (en) * 2018-06-28 2018-12-11 北京奇安信科技有限公司 Process of compilation method and device under a kind of Linux

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MARKQIAN86: "《使用distcc进行分布式编译来提高编译速度 - markqian86 - C++博客》", 8 June 2018 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111008016A (en) * 2019-11-29 2020-04-14 宝付网络科技(上海)有限公司 Multi-environment compiling system and method based on docker container
CN111008016B (en) * 2019-11-29 2024-05-14 宝付网络科技(上海)有限公司 Multi-environment compiling system and method based on docker container
CN111061487A (en) * 2019-12-16 2020-04-24 厦门市美亚柏科信息股份有限公司 Container-based load balancing distributed compiling system and method
CN111090436A (en) * 2019-12-22 2020-05-01 苏州浪潮智能科技有限公司 Jenkins compiling result summarizing method, device and equipment
CN111813412A (en) * 2020-06-28 2020-10-23 中国科学院计算机网络信息中心 Method and system for constructing test data set for evaluating binary code comparison tool
CN111814415A (en) * 2020-07-09 2020-10-23 长沙海格北斗信息技术有限公司 Efficient regression testing method for chip verification
CN112463123A (en) * 2020-11-25 2021-03-09 北京字跳网络技术有限公司 Task compiling method, device, network node, system and storage medium
CN113127203A (en) * 2021-04-25 2021-07-16 华南理工大学 Deep learning distributed compiler for cloud edge computing and construction method
CN113127203B (en) * 2021-04-25 2022-06-14 华南理工大学 Deep learning distributed compiler for cloud edge computing and construction method
CN113986239A (en) * 2021-10-22 2022-01-28 烽火通信科技股份有限公司 Distributed compiling method, device, equipment and readable storage medium

Also Published As

Publication number Publication date
CN110489126B (en) 2021-09-10

Similar Documents

Publication Publication Date Title
CN110489126A (en) Execution method and apparatus, storage medium and the electronic device of compiler task
CN108139935B (en) The extension of the resource constraint of service definition container
CN109976774B (en) Block link point deployment method, device, equipment and storage medium
CN105117289B (en) Method for allocating tasks, apparatus and system based on cloud test platform
US5996016A (en) Reinitiation of bind calls for IP applications concurrently executing with alternate address
CN107807815B (en) Method and device for processing tasks in distributed mode
CN107423823B (en) R language-based machine learning modeling platform architecture design method
CN103997544A (en) Resource downloading method and device
CN111026634A (en) Interface automation test system, method, device and storage medium
CN110109748A (en) A kind of hybrid language task executing method, device and cluster
CN105745621A (en) Emulating test distributed application on server
CN111459621B (en) Cloud simulation integration and scheduling method and device, computer equipment and storage medium
CN111078516A (en) Distributed performance test method and device and electronic equipment
KR20210060203A (en) Apparatus and method for reconfiguring microservice architecture
CN105553684A (en) Communication system and applied router upgrading method thereof
CN113867600A (en) Development method and device for processing streaming data and computer equipment
CN109614232A (en) Task processing method, device, storage medium and electronic device
CN110225082B (en) Task processing method and device, electronic equipment and computer readable medium
Großmann et al. Continuous integration of applications for ONOS
CN111858041A (en) Data processing method and server
Brogi et al. Modelling the behaviour of management operations in cloud-based applications
CN109508193B (en) Application deployment and operation method, device, terminal equipment and medium
CN104821939B (en) It is a kind of to be used to implement computer and the method and apparatus of mobile equipment room asynchronous communication
CN100386726C (en) Method and system for renewing long-distance operation and control of computer platform system programe
US9537931B2 (en) Dynamic object oriented remote instantiation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant