CN109857462B - Background Docker task mapping method of remote sensing image visual editor - Google Patents

Background Docker task mapping method of remote sensing image visual editor Download PDF

Info

Publication number
CN109857462B
CN109857462B CN201910073457.8A CN201910073457A CN109857462B CN 109857462 B CN109857462 B CN 109857462B CN 201910073457 A CN201910073457 A CN 201910073457A CN 109857462 B CN109857462 B CN 109857462B
Authority
CN
China
Prior art keywords
remote sensing
sensing image
image processing
docker
jenkins
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.)
Expired - Fee Related
Application number
CN201910073457.8A
Other languages
Chinese (zh)
Other versions
CN109857462A (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.)
Dongguan University of Technology
Original Assignee
Dongguan University of Technology
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 Dongguan University of Technology filed Critical Dongguan University of Technology
Priority to CN201910073457.8A priority Critical patent/CN109857462B/en
Publication of CN109857462A publication Critical patent/CN109857462A/en
Application granted granted Critical
Publication of CN109857462B publication Critical patent/CN109857462B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Stored Programmes (AREA)

Abstract

The invention provides a background Docker task mapping method of a remote sensing image visual editor, which designs a remote sensing image processing visual editor at the front end, and a user only needs to interact with the remote sensing image processing visual editor through a browser to automatically edit a required remote sensing processing flow; the method comprises the steps that a JSON file transmitted by a front end is received by the rear end, the JSON file is analyzed, a Jenkins Pipeline DSL script part which can be scheduled and executed by Jenkins is automatically translated according to JSON description semantics, a config.

Description

Background Docker task mapping method of remote sensing image visual editor
Technical Field
The invention relates to the field of remote sensing image processing methods, in particular to a background Docker task mapping method of a remote sensing image visual editor.
Background
The remote sensing image processing comprises the processing steps of preprocessing of the remote sensing image, geometric correction, image enhancement, image cutting, image mosaic, color equalization and the like. These processing steps correspond to different processing algorithms for the remote sensing image. Due to the mass of the remote sensing images, when the remote sensing images are processed, the resource utilization rate is improved by fully utilizing parallel computation, the computation time is shortened, and the method has important significance for processing the remote sensing images. The Docker is an open-source container application engine, so that a developer can pack development environment, codes, configuration files and the like into the container and distribute the container to various platforms such as Windows, Linux, Mac and the like, and cross-platform scheduling of application programs can be realized based on the Docker technology. In addition, the Docker technique is different from the minute-level start-up speed of a virtual machine, and the Docker container start-up speed can be realized in the second level. Moreover, the Docker container has little demand on system resources, thousands of Docker containers can be run on one host at the same time, and generally one host only supports dozens of virtual machines. Meanwhile, the application programs running on different Dockers are also isolated from each other through the containers, so that the utilization rate of the physical resources of the host can be greatly improved. Jenkins is continuous integrated open source software developed based on Java, can be used for distributed management and trigger execution of tasks, and can monitor the running state of the tasks. Jenkins Pipeline DSL (domain-specific language) provides a set of grammar definitions which support the definition of a continuously integrated delivery Pipeline in Jenkins, and each processing step in the delivery Pipeline can be abstracted into a code module in the DSL grammar by a user through the Jenkins Pipeline DSL grammar, so that the user can carry out modeling in a mode of the code module. Jenkins Pipeline DSL syntax can integrate the Docker container, and through the analysis to Jenkins Pipeline DSL syntax description, realize that the task runs on different Dockers, but this set of Jenkins Pipeline DSL has a technical threshold of studying and mastering a new language to the remote sensing user, consequently need provide a visual interface for the user at the front end, let the user just can edit required remote sensing image processing flow through the mode of dragging, the remote sensing image processing flow that the user edited out simultaneously maps to different Dockers at the rear end and handles, has fine using value.
Disclosure of Invention
The invention provides a background Docker task mapping method for a remote sensing image visual editor, which can improve the utilization rate of resources.
In order to achieve the technical effects, the technical scheme of the invention is as follows:
a background Docker task mapping method of a remote sensing image visualization editor comprises the following steps:
s1: selecting keywords capable of meeting the requirement of describing a remote sensing image processing service process according to keywords given by a basic building block of Jenkins Pipeline hierarchical grammar according to the remote sensing image processing service description requirement;
s2: according to the keywords, defining a description method of the remote sensing image processing business process;
s3: designing an interface composition element and an attribute value of front-end visual interaction of a remote sensing image processing service flow;
s4: designing a pipeline component operation method for front-end visual interaction of a remote sensing image processing business process;
s5: installing a Docker engine in a slave node managed by Jenkins by adopting a machine of a Docker container operation task, and simultaneously recording an IP address provided with the Docker engine in a database table;
s6: when a user triggers and customizes a new remote sensing image processing flow, a foreground acquires a current timestamp, the timestamp is used as a current remote sensing image processing flow id number, a remote sensing image processing service flow editor is developed, and after the user customizes, a save button is used for sending a JSON file formed by visual interaction to a background;
s7: extracting nodes and attribute data in the JSON file according to the definition of a remote sensing image processing flow, constructing a DAG graph according to flow description, analyzing and traversing the DAG graph, automatically translating a Jenkins task logic control description flow in a Jenkins Pipeline DSL syntax format, reading a data table, and synchronizing information in the flow into the data table;
s8: and writing the Jenkins Pipeline DSL statement analyzed in the step S7 into a jobb config.xml file, and then creating a corresponding jobb by taking the generated config.xml file as a parameter in the Jenkins Pipeline api, so as to realize that the remote sensing processing steps are distributed into different Docker containers for processing according to parallel and serial processing steps at the back end.
Further, the specific process of step S1 is:
s11: analyzing the semantics represented by the keywords given by Jenkins Pipeline classification, and understanding the value range of the keywords;
s12: analyzing and describing the expressed service range required by the remote sensing image processing service flow;
s13: the minimum keyword set required by the extracted remote sensing image processing business process comprises the following steps: agent, locations, stage, steps, pipeline, parallel, build;
s14: and determining the value range of the keywords required for describing the remote sensing image processing service flow for front-end interaction.
Further, the specific process of step S2 is:
using agent to describe the execution position of the remote sensing processing step, using agent parameter as any to express that the execution can be executed on any machine, using docker to express that the remote sensing processing step is executed in docker, using always Pull to express that the mirror image is continuously downloaded from docker warehouse in docker parameter, using args to express the directory between the virtual machine and the docker, directly mounting the remote sensing image processing data into docker for processing, using customWorkspace to express the directory executed by the remote sensing image processing step, using image to express the name of the docker mirror image currently executing the remote sensing image processing task, and using label to express that the current docker container is operated on the node by Jenkins represented by label;
wherein, the keywords represent processing actions which should be contained in the whole remote sensing image processing flow, and the keywords can contain actions which are contained in a plurality of remote sensing image processing sub-flows stage; stage represents a description part for executing the remote sensing image processing step, and comprises steps parameters for specifically executing the remote sensing image processing step; steps is an execution command series for executing the remote sensing image processing step in the stage; pipeline represents an entrance mark of the whole remote sensing image processing flow; parallel indicates that the stage contained in it is a parallel execution relation; the job name is added after the build keyword to indicate the task name for starting the remote sensing image processing step.
Further, the specific process of step S3 is:
s31: designing a process name of a current remote sensing image processing process, generating a new id number of the whole remote sensing processing process according to a timestamp, and judging different remote sensing image processing processes;
s32: representing a remote sensing processing step by using nodes;
s33: representing the execution sequence between the nodes by using connecting lines between the nodes;
s34: one node has N predecessors and N successors, wherein N is more than or equal to 0;
s35: each node mainly contains the following attribute information: the method comprises the steps of processing a remote sensing image, wherein the current node represents a remote sensing image processing sub-process id, a current remote sensing image processing step name, a current remote sensing image processing step id value, a current remote sensing image processing step state, a subsequent remote sensing image processing step id value, a property used for recording a job and running information selected by a user, a machine used for recording an execution machine selected by the user, and a parallel used for recording whether the current node is a parallel node;
if the current node is not the sub-process, the current node is represented by-1, otherwise, a new remote sensing image processing sub-process id value is generated according to the timestamp; and a mark is used for indicating whether the current remote sensing processing step comprises a sub remote sensing image processing flow.
Further, the specific process of step S4 is:
s41: in order to enable a user to customize a remote sensing image processing flow, defining that pipeline can add nodes, delete nodes, edit nodes, add connecting lines between nodes, delete connecting lines between nodes, and analyze a remote sensing processing step to be processed;
s42: and a node is used for representing the sub pipeline, the sub pipeline can be edited by clicking the node, and the content in the sub pipeline can be hidden and expanded.
Further, the specific process of step S5 is:
s51: observing the health condition of a Docker engine machine to be deployed by using a node management page of Jenkins, and allocating a label to the current machine, wherein the label is used for identifying which machine is adopted to execute the Docker in a front-end process;
s52: remotely logging in the selected machine, and installing a Docker engine on the slave node to construct a Docker container environment capable of using remote sensing professional processing;
s53: the label value of the current machine is recorded in a database table.
Further, the specific process of step S6 is:
s61: calling a timestamp generation method to obtain a function method accurate to millisecond, and taking the function method as an id number of a remote sensing image processing flow;
s62: the front end sends a request to the back end to obtain a jobname and a jobid corresponding to the remote sensing image processing step established in the current Jenkins;
s63: developing a remote sensing service process editor, wherein the editor uses nodes to represent remote sensing image processing steps, can show a job name and a job id corresponding to the remote sensing image processing steps established in the current Jenkins for a user, and is used for selecting the remote sensing image processing steps integrated in the Jenkins for the user;
s64: the remote sensing service process editor can record the remote sensing image processing service process and the service of the attribute value of each node according to the visual customization result of the user, and can record the remote sensing image processing service process and the id number of the remote sensing image processing process so as to form a JSON description file of the remote sensing image processing process example;
s65: and when the user clicks the Save button, sending an http request and sending the JSON file of the front end to the back end.
Further, the specific process of step S7 is:
s71: the rear end receives a front end http request by using spring @ annotation and receives a JSON file sent by the front end;
s72: extracting nodes, relationships among the nodes and attribute values of the nodes according to a JSON-described remote sensing image processing flow, describing the nodes in the flow by using vertexes in a DAG (direct current) graph, describing the flow relationships among the nodes by using edges in the DAG graph, wherein the attribute values of the vertexes represent the attributes of the nodes;
s73: traversing a DAG graph, and gradually translating a Jenkins task logic control description flow in a Jenkins Pipeline DSL syntax format according to a description method of a remote sensing image processing service flow defined by two steps of keywords agent, sites, stage, steps, Pipeline, parallel and build;
s74: when the JSON file is analyzed and the keyword agent in the member object attribute value in the JSON is found to contain a docker parameter, the fact that the remote sensing image processing step corresponding to the current process needs to be mapped into the docker to be executed is indicated;
s75: when analyzing the Docker grammar mapping, if the user front end selects to download the mirror image from the warehouse, adding alwaysPull statement in Jenkins Pipeline DSL Docker statement, if the user adds the directory mounted between the virtual machine and the Docker at the front end, adding statements args '/mounted directory,/mounted directory ', if the user selects to define the working interval, adding the statement cumStomWorkspace ' user-defined working interval ', and when the user selects to pull the mirror image from the warehouse, adding a statement image ' RemoteSensingProcessing according to the mirror image name input by the user at the front end page, adding a statement label ' nodeX ' according to the label name input by the user at the front end page, and specifying the label of the running machine;
s76: according to the traversal translation result, respectively splicing DSL statements to obtain Jenkins Pipeline DSL statements;
s77: and reading the data table, judging whether the current data table contains the id value of the remote sensing image processing flow, if not, adding a new remote sensing image processing flow record, and if the data table is stored, refreshing the existing data record.
Further, the specific process of step S8 is:
s81: generating a new jobb by using the analyzed Jenkins Pipeline DSL according to a template for creating a jobb configuration.
S82: taking the generated jobfile in the xml as a parameter, and calling crete jobapi in Jenkins api to create a remote sensing image processing flow task in Jenkins;
s83: after a user triggers a remote sensing image processing flow execution button at the front end, a request is sent to the rear end, and the rear end calls a jenkins api to trigger a jenkins jobcorresponding to the current remote sensing image processing flow to execute a task;
s84: and (3) analyzing the jobconfig. xml file by Jenkins, and distributing the remote sensing processing steps into different Docker containers or Jenkins slave nodes for processing according to parallel and serial processing steps.
Compared with the prior art, the technical scheme of the invention has the beneficial effects that:
1. the method is high in learning cost, so that a visual interface needs to be provided for a user at the front end, the user can edit the required remote sensing image processing flow in a dragging mode, the remote sensing image processing flow edited by the user is mapped to different Dockers at the rear end for processing, and the user can map the remote sensing image processing flow to the Dockers cluster for distributed parallel processing without knowing the morphology and grammar knowledge of Jenkins Pipeline DSL;
2. by adopting the method and the device, the remote sensing image processing flow can be rapidly and visually customized, the remote sensing image processing flow can be automatically mapped into the Docker cluster for distributed parallel processing, the utilization rate of resources can be greatly improved, and the remote sensing image processing flow can be visually customized by a user without developing other parallel and distributed scheduling modules.
Drawings
FIG. 1 is a flow chart of the method of the present invention.
Detailed Description
The drawings are for illustrative purposes only and are not to be construed as limiting the patent;
for the purpose of better illustrating the embodiments, certain features of the drawings may be omitted, enlarged or reduced, and do not represent the size of an actual product;
it will be understood by those skilled in the art that certain well-known structures in the drawings and descriptions thereof may be omitted.
The technical solution of the present invention is further described below with reference to the accompanying drawings and examples.
Example 1
As shown in fig. 1, a background Docker task mapping method for a remote sensing image visualization editor includes the following steps:
step one, according to the remote sensing image processing service description requirement, selecting keywords capable of meeting the description of the remote sensing image processing service process according to keywords given by a basic building block of Jenkins Pipeline hierarchical syntax;
the specific implementation manner of the first step is as follows:
1) analyzing the semantics represented by the keywords given by Jenkins Pipeline classification, and understanding the value range of the keywords;
2) analyzing and describing the expressed service range required by the remote sensing image processing service flow;
3) the minimum keyword set required by the extracted remote sensing image processing business process comprises the following steps: agent, locations, stage, steps, pipeline, parallel, build;
4) and determining the value range of the keywords required for describing the remote sensing image processing service flow for front-end interaction.
Step two: according to the keywords, defining a description method of the remote sensing image processing business process;
1) using agent to describe the execution position of the remote sensing processing step, using agent parameter as any to express that the remote sensing processing step can be executed on any machine, using docker to express that the remote sensing processing step is executed in docker, using always Pull to express that the mirror image is continuously downloaded from docker warehouse in docker parameter, using args to express the directory between the virtual machine and the docker, directly mounting the remote sensing image processing data into docker for processing, using customWorkspace to express the directory executed by the remote sensing image processing step, using image to express the name of the docker mirror image currently executing the remote sensing image processing task, and using label to express that the current docker container is operated on the node by Jenkins represented by label;
2) the keywords represent processing actions which should be contained in the whole remote sensing image processing flow, and the keywords can contain actions covered by a plurality of remote sensing image processing sub-flow processes;
3) stage represents a description part for executing the remote sensing image processing step, and comprises steps parameters for specifically executing the remote sensing image processing step;
4) steps is an execution command series for executing the remote sensing image processing step in the stage;
5) pipeline represents an entrance mark of the whole remote sensing image processing flow;
6) parallel indicates that the stage contained in it is a parallel execution relation;
7) the job name is added after the build keyword to indicate the task name for starting the remote sensing image processing step.
Designing interface composition elements and attribute values of front-end visual interaction of the remote sensing image processing business process;
1) designing a process name of a current remote sensing image processing process, generating a new id number of the whole remote sensing processing process according to a timestamp, and judging different remote sensing image processing processes;
2) representing a remote sensing processing step by using nodes;
3) representing the execution sequence between the nodes by using connecting lines between the nodes;
4) a node may have N (N is greater than or equal to 0) predecessors and N (N is greater than or equal to 0) successors;
5) each node mainly contains the following attribute information: the method comprises the steps of obtaining a remote sensing image processing sub-process id represented by a current node (if the current node is not a sub-process, the current node is represented by-1, otherwise, a new remote sensing image processing sub-process id value is generated according to a timestamp), a current remote sensing image processing step name, a current remote sensing image processing step id value, a current remote sensing image processing step state (whether the current remote sensing processing step contains a sub remote sensing image processing process is represented by a mark), a subsequent remote sensing image processing step id value, property used for recording a job and operation information selected by a user, a machine used for recording an execution machine selected by the user, and a parallel node;
designing a pipeline operation method of front-end visual interaction of the remote sensing image processing business process;
1) in order to enable a user to customize a remote sensing image processing flow, nodes can be added, nodes can be deleted, nodes can be edited, connecting lines can be added between the nodes, connecting lines can be deleted between the nodes, the remote sensing processing step 2) to be processed is analyzed, a node is used for representing a sub-pipeline, the sub-pipeline can be edited by clicking the node, and the content in the sub-pipeline can be hidden and expanded.
Step five: installing a Docker engine in a slave node managed by Jenkins by adopting a machine of a Docker container operation task, and recording the machine provided with the Docker engine in a database table;
1) observing the health condition of a Docker engine machine to be deployed by using a node management page of Jenkins, and allocating a label to the current machine, wherein the label is used for identifying which machine is adopted to execute the Docker in a front-end process;
2) remotely logging in the selected machine, and installing a Docker engine on the slave node to construct a Docker container environment capable of using remote sensing professional processing; 3) recording the label value of the current machine in a database table;
when a user triggers and customizes a new remote sensing image processing flow, a foreground acquires a current timestamp, the timestamp is used as a current remote sensing image processing flow id number, a remote sensing image processing service flow editor is developed, and after the user customizes, a save button is used for sending a JSON file formed by visual interaction to a background;
1) calling a timestamp generation method to obtain a function method accurate to millisecond, and taking the function method as an id number of a remote sensing image processing flow;
2) the front end sends a request to the back end to obtain a jobname and a jobid corresponding to the remote sensing image processing step established in the current Jenkins;
3) developing a remote sensing service process editor, wherein the editor uses nodes to represent remote sensing image processing steps, can show a job name and a job id corresponding to the remote sensing image processing steps established in the current Jenkins for a user, and is used for selecting the remote sensing image processing steps integrated in the Jenkins for the user;
4) the remote sensing service process editor can record the remote sensing image processing service process and the service of the attribute value of each node according to the visual customization result of the user, and can record the remote sensing image processing service process and the id number of the remote sensing image processing process so as to form a JSON description file of the remote sensing image processing process example;
5) and when the user clicks the Save button, sending an http request and sending the JSON file of the front end to the back end.
Extracting nodes and attribute data in the JSON file according to the definition of the remote sensing image processing flow, constructing a DAG graph according to the flow description, analyzing and traversing the DAG graph, automatically translating a Jenkins task logic control description flow in a Jenkins Pipeline DSL syntax format, reading a data table, and synchronizing information in the flow into the data table;
1) the rear end receives a front end http request by using spring @ annotation and receives a JSON file sent by the front end;
2) extracting nodes, relationships among the nodes and attribute values of the nodes according to a JSON-described remote sensing image processing flow, describing the nodes in the flow by using vertexes in a DAG (direct current) graph, describing the flow relationships among the nodes by using edges in the DAG graph, wherein the attribute values of the vertexes represent the attributes of the nodes;
3) traversing a DAG graph, and gradually translating a Jenkins task logic control description flow in a Jenkins Pipeline DSL syntax format according to a description method of a remote sensing image processing service flow defined by two steps of keywords agent, sites, stage, steps, Pipeline, parallel and build;
4) when the JSON file is analyzed and the keyword agent in the member object attribute value in the JSON is found to contain a docker parameter, the fact that the remote sensing image processing step corresponding to the current process needs to be mapped into the docker to be executed is indicated;
5) when analyzing the Docker grammar mapping, if the user front end selects to download the mirror image from the warehouse, adding alwaysPull statement in Jenkins Pipeline DSL Docker statement, if the user adds the directory mounted between the virtual machine and the Docker at the front end, adding statements args '/mounted directory,/mounted directory ', if the user selects to define the working interval, adding the statement cumStomWorkspace ' user-defined working interval ', and when the user selects to pull the mirror image from the warehouse, adding a statement image ' RemoteSensingProcessing according to the mirror image name input by the user at the front end page, adding a statement label ' nodeX ' according to the label name input by the user at the front end page, and specifying the label of the running machine;
6) according to the traversal translation result, respectively splicing DSL statements to obtain Jenkins Pipeline DSL statements;
7) and reading the data table, judging whether the current data table contains the id value of the remote sensing image processing flow, if not, adding a new remote sensing image processing flow record, and if the data table is stored, refreshing the existing data record.
Step eight: and writing the Jenkins Pipeline DSL statement analyzed in the step eight into a jobb config.xml file, and then creating a corresponding jobb by taking the produced config.xml file as a parameter in the Jenkins create jobapi, so that the remote sensing processing steps are distributed into different Docker containers for processing according to parallel and serial processing steps at the back end.
1) Generating a new jobb by using the analyzed Jenkins Pipeline DSL according to a template for creating a jobb configuration.
2) Taking the generated jobfile in the xml as a parameter, and calling crete jobapi in Jenkins api to create a remote sensing image processing flow task in Jenkins;
3) after a user triggers a remote sensing image processing flow execution button at the front end, a request is sent to the rear end, and the rear end calls a jenkins api to trigger a jenkins jobcorresponding to the current remote sensing image processing flow to execute a task;
4) and (3) analyzing the jobconfig. xml file by Jenkins, and distributing the remote sensing processing steps into different Docker containers or Jenkins slave nodes for processing according to parallel and serial processing steps.
The same or similar reference numerals correspond to the same or similar parts;
the positional relationships depicted in the drawings are for illustrative purposes only and are not to be construed as limiting the present patent;
it should be understood that the above-described embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not intended to limit the embodiments of the present invention. Other variations and modifications will be apparent to persons skilled in the art in light of the above description. And are neither required nor exhaustive of all embodiments. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the claims of the present invention.

Claims (9)

1. A background Docker task mapping method of a remote sensing image visualization editor is characterized by comprising the following steps:
s1: selecting keywords capable of meeting the requirement of describing a remote sensing image processing service process according to keywords given by a basic building block of Jenkins Pipeline hierarchical grammar according to the remote sensing image processing service description requirement;
s2: according to the keywords, defining a description method of the remote sensing image processing business process;
s3: designing an interface composition element and an attribute value of front-end visual interaction of a remote sensing image processing service flow;
s4: designing a pipeline component operation method for front-end visual interaction of a remote sensing image processing business process;
s5: installing a Docker engine in a slave node managed by Jenkins by adopting a machine of a Docker container operation task, and simultaneously recording an IP address provided with the Docker engine in a database table;
s6: when a user triggers and customizes a new remote sensing image processing flow, a foreground acquires a current timestamp, the timestamp is used as a current remote sensing image processing flow id number, a remote sensing image processing service flow editor is developed, and after the user customizes, a save button is used for sending a JSON file formed by visual interaction to a background;
s7: extracting nodes and attribute data in the JSON file according to the definition of a remote sensing image processing flow, constructing a DAG graph according to flow description, analyzing and traversing the DAG graph, automatically translating a Jenkins task logic control description flow in a Jenkins Pipeline DSL syntax format, reading a data table, and synchronizing information in the flow into the data table;
s8: and writing the Jenkins Pipeline DSL statement analyzed in the step S7 into a jobb config.xml file, and then creating a corresponding jobb by taking the generated config.xml file as a parameter in the Jenkins Pipeline api, so as to realize that the remote sensing processing steps are distributed into different Docker containers for processing according to parallel and serial processing steps at the back end.
2. The background Docker task mapping method for the remote sensing image visualization editor according to claim 1, wherein the specific process of step S1 is:
s11: analyzing the semantics represented by the keywords given by Jenkins Pipeline classification, and understanding the value range of the keywords;
s12: analyzing and describing the expressed service range required by the remote sensing image processing service flow;
s13: the minimum keyword set required by the extracted remote sensing image processing business process comprises the following steps: agent, locations, stage, steps, pipeline, parallel, build;
s14: and determining the value range of the keywords required for describing the remote sensing image processing service flow for front-end interaction.
3. The background Docker task mapping method for the remote sensing image visualization editor according to claim 2, wherein the specific process of step S2 is:
using agent to describe the execution position of the remote sensing processing step, using agent parameter as any to express that the execution can be executed on any machine, using docker to express that the remote sensing processing step is executed in docker, using always Pull to express that the mirror image is continuously downloaded from docker warehouse in docker parameter, using args to express the directory between the virtual machine and the docker, directly mounting the remote sensing image processing data into docker for processing, using customWorkspace to express the directory executed by the remote sensing image processing step, using image to express the name of the docker mirror image currently executing the remote sensing image processing task, and using label to express that the current docker container is operated on the node by Jenkins represented by label;
wherein, the keywords represent processing actions which should be contained in the whole remote sensing image processing flow, and the keywords can contain actions which are contained in a plurality of remote sensing image processing sub-flows; stage represents a description part for executing the remote sensing image processing step, and comprises steps parameters for specifically executing the remote sensing image processing step; steps is an execution command series for executing the remote sensing image processing step in the stage; pipeline represents an entrance mark of the whole remote sensing image processing flow; parallel indicates that the stage contained in it is a parallel execution relation; the job name is added after the build keyword to indicate the task name for starting the remote sensing image processing step.
4. The background Docker task mapping method for the remote sensing image visualization editor of claim 3, wherein the specific process of step S3 is:
s31: designing a process name of a current remote sensing image processing process, generating a new id number of the whole remote sensing processing process according to a timestamp, and judging different remote sensing image processing processes;
s32: representing a remote sensing processing step by using nodes;
s33: representing the execution sequence between the nodes by using connecting lines between the nodes;
s34: one node has N predecessors and N successors, wherein N is more than or equal to 0;
s35: each node mainly contains the following attribute information: the method comprises the steps of processing a remote sensing image, wherein the current node represents a remote sensing image processing sub-process id, a current remote sensing image processing step name, a current remote sensing image processing step id value, a current remote sensing image processing step state, a subsequent remote sensing image processing step id value, a property used for recording a job and running information selected by a user, a machine used for recording an execution machine selected by the user, and a parallel used for recording whether the current node is a parallel node;
if the current node is not the sub-process, the current node is represented by-1, otherwise, a new remote sensing image processing sub-process id value is generated according to the timestamp; and a mark is used for indicating whether the current remote sensing processing step comprises a sub remote sensing image processing flow.
5. The background Docker task mapping method for the remote sensing image visualization editor according to claim 4, wherein the specific process of step S4 is:
s41: in order to enable a user to customize a remote sensing image processing flow, defining that pipeline can add nodes, delete nodes, edit nodes, add connecting lines between nodes, delete connecting lines between nodes, and analyzing a remote sensing processing step to be processed;
s42: and a node is used for representing the sub pipeline, the sub pipeline can be edited by clicking the node, and the content in the sub pipeline can be hidden and expanded.
6. The background Docker task mapping method for the remote sensing image visualization editor according to claim 5, wherein the specific process of step S5 is:
s51: observing the health condition of a Docker engine machine to be deployed by using a node management page of Jenkins, and allocating a label to the current machine, wherein the label is used for identifying which machine is adopted to execute the Docker in a front-end process;
s52: remotely logging in the selected machine, and installing a Docker engine on the slave node to construct a Docker container environment capable of using remote sensing professional processing;
s53: the label value of the current machine is recorded in a database table.
7. The background Docker task mapping method for the remote sensing image visualization editor according to claim 6, wherein the specific process of step S6 is:
s61: calling a timestamp generation method to obtain a function method accurate to millisecond, and taking the function method as an id number of a remote sensing image processing flow;
s62: the front end sends a request to the back end to obtain a jobname and a jobid corresponding to the remote sensing image processing step established in the current Jenkins;
s63: developing a remote sensing service process editor, wherein the editor uses nodes to represent remote sensing image processing steps, can show a job name and a job id corresponding to the remote sensing image processing steps established in the current Jenkins for a user, and is used for selecting the remote sensing image processing steps integrated in the Jenkins for the user;
s64: the remote sensing service process editor can record the remote sensing image processing service process and the service of the attribute value of each node according to the visual customization result of the user, and can record the remote sensing image processing service process and the id number of the remote sensing image processing process so as to form a JSON description file of the remote sensing image processing process example;
s65: and when the user clicks the Save button, sending an http request and sending the JSON file of the front end to the back end.
8. The background Docker task mapping method for the remote sensing image visualization editor of claim 7, wherein the specific process of step S7 is:
s71: the rear end receives a front end http request by using spring @ annotation and receives a JSON file sent by the front end;
s72: extracting nodes, relationships among the nodes and attribute values of the nodes according to a JSON-described remote sensing image processing flow, describing the nodes in the flow by using vertexes in a DAG (direct current) graph, describing the flow relationships among the nodes by using edges in the DAG graph, wherein the attribute values of the vertexes represent the attributes of the nodes;
s73: traversing a DAG graph, and gradually translating a Jenkins task logic control description flow in a Jenkins Pipeline DSL syntax format according to a description method of a remote sensing image processing service flow defined by two steps of keywords agent, sites, stage, steps, Pipeline, parallel and build;
s74: when the JSON file is analyzed and the keyword agent in the member object attribute value in the JSON is found to contain a docker parameter, the fact that the remote sensing image processing step corresponding to the current process needs to be mapped into the docker to be executed is indicated;
s75: when analyzing the Docker grammar mapping, if the user front end selects to download the mirror image from the warehouse, adding alwaysPull statement in Jenkins Pipeline DSL Docker statement, if the user adds the directory mounted between the virtual machine and the Docker at the front end, adding statements args '/mounted directory,/mounted directory ', if the user selects to define the working interval, adding the statement cumStomWorkspace ' user-defined working interval ', and when the user selects to pull the mirror image from the warehouse, adding a statement image ' RemoteSensingProcessing according to the mirror image name input by the user at the front end page, adding a statement label ' nodeX ' according to the label name input by the user at the front end page, and specifying the label of the running machine;
s76: according to the traversal translation result, respectively splicing DSL statements to obtain Jenkins Pipeline DSL statements;
s77: and reading the data table, judging whether the current data table contains the id value of the remote sensing image processing flow, if not, adding a new remote sensing image processing flow record, and if the data table is stored, refreshing the existing data record.
9. The background Docker task mapping method for the remote sensing image visualization editor of claim 8, wherein the specific process of step S8 is:
s81: generating a new jobb by using the analyzed Jenkins Pipeline DSL according to a template for creating a jobb configuration.
S82: taking the generated jobfile in the xml as a parameter, and calling crete jobapi in Jenkins api to create a remote sensing image processing flow task in Jenkins;
s83: after a user triggers a remote sensing image processing flow execution button at the front end, a request is sent to the rear end, and the rear end calls a jenkins api to trigger a jenkins jobcorresponding to the current remote sensing image processing flow to execute a task;
s84: and (3) analyzing the jobconfig. xml file by Jenkins, and distributing the remote sensing processing steps into different Docker containers or Jenkins slave nodes for processing according to parallel and serial processing steps.
CN201910073457.8A 2019-01-25 2019-01-25 Background Docker task mapping method of remote sensing image visual editor Expired - Fee Related CN109857462B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910073457.8A CN109857462B (en) 2019-01-25 2019-01-25 Background Docker task mapping method of remote sensing image visual editor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910073457.8A CN109857462B (en) 2019-01-25 2019-01-25 Background Docker task mapping method of remote sensing image visual editor

Publications (2)

Publication Number Publication Date
CN109857462A CN109857462A (en) 2019-06-07
CN109857462B true CN109857462B (en) 2021-07-09

Family

ID=66896137

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910073457.8A Expired - Fee Related CN109857462B (en) 2019-01-25 2019-01-25 Background Docker task mapping method of remote sensing image visual editor

Country Status (1)

Country Link
CN (1) CN109857462B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949915A (en) * 2020-08-18 2020-11-17 河南大学 Visual customization method and system for production process of remote sensing product
CN114489957B (en) * 2022-04-01 2022-07-22 国家卫星海洋应用中心 Remote sensing satellite data processing method and device and electronic equipment
CN117876840A (en) * 2023-11-30 2024-04-12 中国科学院空天信息创新研究院 Remote sensing basic model rapid training method and system based on template editing

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101419623B (en) * 2008-12-09 2010-09-08 中山大学 Geographical simulation optimizing system
US10891255B2 (en) * 2015-03-18 2021-01-12 Intel Corporation Heterogeneous multiprocessor including scalar and SIMD processors in a ratio defined by execution time and consumed die area
US10452552B2 (en) * 2017-04-17 2019-10-22 Intel Corporation Memory-based dependency tracking and cache pre-fetch hardware for multi-resolution shading
CN107423053B (en) * 2017-06-15 2020-08-21 东莞理工学院 Web model packaging and distributed processing method for remote sensing image processing
CN107506892B (en) * 2017-07-17 2018-12-21 北京空间飞行器总体设计部 One kind towards quiet rail Optical remote satellite star integral intelligent control system
CN107526573B (en) * 2017-07-28 2020-12-22 中国资源卫星应用中心 Method for processing remote sensing image by adopting parallel pipeline
CN108196843B (en) * 2018-01-09 2021-03-26 成都睿码科技有限责任公司 Operation and maintenance method for automatic compilation and deployment of visual Docker container
CN108897527B (en) * 2018-05-21 2022-04-15 东莞理工学院 Docker mirror image automatic dynamic construction method for remote sensing image processing in cloud computing

Also Published As

Publication number Publication date
CN109857462A (en) 2019-06-07

Similar Documents

Publication Publication Date Title
CN105700888B (en) A kind of visualization quick development platform based on jbpm workflow engine
CN108304201B (en) Object updating method, device and equipment
US8417798B2 (en) Deploying artifacts for packaged software application in cloud computing environment
CN102521120B (en) Software automation test system and method
CN109857462B (en) Background Docker task mapping method of remote sensing image visual editor
CN109375914B (en) Information remote interaction method and system
WO2018036342A1 (en) Csar-based template design visualization method and device
CN111930635A (en) Swagger-based rapid automatic testing method and system
US9720656B2 (en) Method and apparatus for enabling agile development of services in cloud computing and traditional environments
CN111241454A (en) Method, system and device for generating webpage code
CA2391719A1 (en) Editing files of remote systems using an integrated development environment
CN111104103B (en) Visualization method and system for software editing micro-service
JP2008171435A (en) Extending attribute of application generated using fourth generation programming tool
CN112764736B (en) Web end flow chart modeling method, device and system
US20140165038A1 (en) Analysis of propagated information using annotated forests
CN112199373A (en) Form development method and system
CN105824616A (en) Development method and frame for equipment control system program
CN112083926A (en) Web user interface generation method and device
US8700374B1 (en) System and method of using an active link in a state programming environment to locate an element in a graphical programming environment
CN116774989A (en) Design and implementation method, system and terminal of software construction and release device
US20130138690A1 (en) Automatically identifying reused model artifacts in business process models
JP6981124B2 (en) System construction support device, system construction support method, and program
CN113778541A (en) Applet generation method and device, electronic equipment and storage medium
Campos-López et al. Towards automating the construction of augmented reality interfaces for information systems
CN117251231B (en) Animation resource processing method, device and system and electronic equipment

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210709

Termination date: 20220125