CN113032090A - Virtual programming simulation management platform - Google Patents

Virtual programming simulation management platform Download PDF

Info

Publication number
CN113032090A
CN113032090A CN202110192669.5A CN202110192669A CN113032090A CN 113032090 A CN113032090 A CN 113032090A CN 202110192669 A CN202110192669 A CN 202110192669A CN 113032090 A CN113032090 A CN 113032090A
Authority
CN
China
Prior art keywords
state
programming environment
virtual
programming
executing
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.)
Pending
Application number
CN202110192669.5A
Other languages
Chinese (zh)
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.)
Bople Technology Beijing Co ltd
Original Assignee
Bople Technology Beijing 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 Bople Technology Beijing Co ltd filed Critical Bople Technology Beijing Co ltd
Priority to CN202110192669.5A priority Critical patent/CN113032090A/en
Publication of CN113032090A publication Critical patent/CN113032090A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

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

Abstract

The invention discloses a virtual programming simulation management platform, which comprises a server cluster and at least one client, wherein the server cluster comprises a main control node and at least one working node; the client sends a programming environment request to the main control node through an application program, establishes connection with the main control node, and accesses a programming environment service provided by the main control node through the application program; the main control node receives and processes the programming environment request, establishes a virtual programming environment in the working node according to the programming environment request, and links the virtual programming environment with the application program. The virtual programming simulation management platform provides a robot virtual programming environment with an AI function and complete functions of the programming environment for a user, the user can access the virtual programming environment by only using an Internet browser to access network application without installing any software on the computer of the user, and the user can learn knowledge about the programming robot technology or AI related technology in the virtual programming environment.

Description

Virtual programming simulation management platform
Technical Field
The invention relates to the technical field of computers, in particular to a virtual programming simulation management platform.
Background
The online operating code acts as if each user is provided with online public access to the computer. It is complicated by the cost of providing one computer per user and all the security issues it implies.
Currently, there are many solutions for running code online, but most solutions support very limited functionality. They typically allow scripts to RUN in a temporary OS (container) created at the time of a single click of RUN and to be destroyed at the end of code execution. Some companies disclose online services directly as tools, while others embed them in online learning platforms.
Higher level services allow not only running code but also temporary OS (containers) to access the whole session, so the user can run multiple services and even change the execution context. Such services are typically built around open source notebook technology.
All platforms that provide a programming environment are well suited for research scripting, Web development or AI, but not for robotics. This is because robotics not only requires operating system access rights, but also requires running world simulations and multiple processes in parallel, some of which rely on graphical tools. When learning robotics, a real desktop with terminals, folders, and windows is required.
Disclosure of Invention
Aiming at the defects in the prior art, the invention provides a virtual programming simulation management platform, so that a user can learn anything related to programming, a robot or artificial intelligence without installing any software on the computer of the user.
A virtual programming simulation management platform comprises a server cluster and at least one client, wherein the server cluster comprises a main control node and at least one working node; wherein the content of the first and second substances,
the client sends a programming environment request to the main control node through an application program, establishes connection with the main control node, and accesses a programming environment service provided by the main control node through the application program;
and the main control node receives and processes the programming environment request, establishes a virtual programming environment in the working node according to the programming environment request, and links the virtual programming environment with the application program.
Further, the virtual programming environment consists of a containerized UBUNTU operating system.
Further, each of the virtual programming environments is sandboxed within its own virtual subnet.
Further, the programming environment request carries a user token;
the main control node comprises a front door Haproxy module and a Manager Service module, the server cluster is managed and organized by the Manager Service module, and the server cluster load is managed by adding or deleting working nodes.
Further, the Manager Service module manages the server cluster load by adding or deleting the working nodes, and specifically includes:
step S300, acquiring the number of the current working nodes and the number of the containers, and executing step S301;
step S301, calculating a minimum threshold and a maximum threshold of the containers which can be supported by the current server cluster, judging whether the number of the current containers is greater than the maximum threshold, and if so, executing step S302; if not, go to step S307;
step S302, calculating the number of the current containers and the number of the working nodes, and executing step S303;
step S303, restoring all the working nodes in the termination state to INSWARM state, and executing step S304;
step S304, the creation of the playlist scaleup-worker is executed according to the number of the working nodes, whether the creation is successful or not is judged, and if yes, the step S305 is executed; if not, executing step S306;
step S305, setting the state of the working node as an INSWARM state;
s306, setting the state of the working node as a failure state;
step S307: judging whether the number of the current containers is smaller than the minimum threshold value, if so, executing a step S308; if not, go to step S311;
step S308: acquiring a working node with zero container load, and judging whether the state of the working node is a started state or an INSWARM state; if yes, go to step S309; if not, go to step S310;
step S309, marking the state of the working node as a termination state;
step S310, judging whether the state of the working node is a termination state, if so, executing ANSIBLE playlist scale lower-worker to destroy the finally created working node, and setting the state of the working node as the termination state;
and step S311, changing the states of all the working nodes in the termination state into INSWARM states, and continuing to execute the step S300.
Further, the application is a web application.
Further, the receiving and processing of the programming environment request by the master node specifically includes:
step S100: checking whether the user token exists by using an external service, and if not, returning an http json error; if yes, executing step S101;
step S101: checking whether the user has a running programming environment, and if not, returning to the http json environment state; if yes, go to step S102;
step S102: checking whether the server cluster reaches the maximum limit, if not, returning an http json error; if yes, go to step S103;
step S103: storing the programming environment request in a queue with a unique ID, a user token and a status, setting the status to a "request" status, performing step S104;
step S104: and returning the http json environment state.
Further, the queue is a mysql queue.
Further, the establishing a virtual programming environment in the working node according to the programming environment request specifically includes:
step S200: polling the executable programming environment request in the queue, and judging whether the state of the programming environment request is a request state, if not, executing the step S201; if yes, go to step S203;
step S201: judging whether the state of the programming environment request is a 'started' state, if not, executing the step S200; if yes, go to step S202;
step S202: http calls an api.GetStatus file in the container, and sets the state of the programming environment request as a running state;
step S203: finding the working node with the minimum load, and if not, executing the step S204; if yes, go to step S205;
step S204: setting the status of the programming environment request to a "failed" status;
step S205: setting the state of the programming environment request as a 'request pending' state, and executing step S206;
step S206: executing an ANSIBLE manual by the name of the working node and the user token, deploying a sandbox stack, and executing step S207;
step S207: judging whether the sandbox stack is successfully deployed, if not, executing the step S204; if yes, go to step S208;
step S208: setting the status of the programming environment request to "started" status, executing step S209;
step S209: triggering a docker-proxy-flow new container event and adding a new route to the front-door Haproxy module using the user token.
Further, linking the virtual programming environment with the application program specifically includes: and embedding the virtual programming environment into the Web application program, and loading and displaying on a display window of the client.
The invention has the beneficial effects that:
first, the virtual programming simulation management platform of the present invention provides a robot virtual programming environment with an AI function and complete functions of a programming environment for a user, and the user can access the virtual programming environment by accessing a web application using his internet browser without installing any software on his own computer, and can learn knowledge about programming robotics or AI related technologies in the virtual programming environment.
Secondly, the virtual programming simulation management platform has high degree of freedom, and a user can access the desktop of the complete robot from a Web application program, wherein the desktop comprises a simulation environment which can be used for testing the results of different virtual robot functions and allowing the user to install a new library of authorized sources.
Finally, the virtual programming simulation management platform provided by the invention has the advantages of strong expandability, high safety and high cost benefit.
Drawings
In order to more clearly illustrate the detailed description of the invention or the technical solutions in the prior art, the drawings that are needed in the detailed description of the invention or the prior art will be briefly described below. Throughout the drawings, like elements or portions are generally identified by like reference numerals. In the drawings, elements or portions are not necessarily drawn to scale.
Fig. 1 is a block diagram of a system structure of a virtual programming emulation management platform according to an embodiment of the present invention;
fig. 2 is a flowchart illustrating a main control node of a virtual programming emulation management platform receiving and processing a programming environment request according to an embodiment of the present invention;
fig. 3 is a flowchart illustrating a virtual programming environment established by a master node of a virtual programming simulation management platform according to an embodiment of the present invention;
FIG. 4 is a flowchart of a Manager Service module according to an embodiment of the present invention managing server cluster loads by adding or deleting work nodes;
FIG. 5 is an interface diagram of a Web application program embedded with Jupyter notebox service according to an embodiment of the present invention;
fig. 6 is an interface diagram of a Web application embedded using two iframes according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It will be understood that the terms "comprises" and/or "comprising," when used in this specification and the appended claims, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It is also to be understood that the terminology used in the description of the invention herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in the specification of the present invention and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
It should be further understood that the term "and/or" as used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
As used in this specification and the appended claims, the term "if" may be interpreted contextually as "when …" or "upon" or "in response to a determination" or "in response to a detection". Similarly, the phrase "if it is determined" or "if a [ described condition or event ] is detected" may be interpreted contextually to mean "upon determining" or "in response to determining" or "upon detecting [ described condition or event ]" or "in response to detecting [ described condition or event ]".
It is to be noted that, unless otherwise specified, technical or scientific terms used herein shall have the ordinary meaning as understood by those skilled in the art to which the invention pertains.
As shown in fig. 1, a virtual programming simulation management platform provided in an embodiment of the present invention includes a server cluster and at least one client, where the server cluster includes a master node and at least one working node. The client sends a programming environment request to the main control node through an application program, establishes connection with the main control node, and accesses programming environment services provided by the main control node through the application program. And the main control node receives and processes the programming environment request, establishes a virtual programming environment in the working node according to the programming environment request, and links the virtual programming environment with the application program.
The master node and the working node both have the same minimum configuration, namely 4vcpu +16GB memory +32GB storage space. The main control node comprises a front door Haproxy module and a Manager Service module, the Manager Service module is used for managing and organizing the server cluster, and the server cluster load is managed by adding or deleting the working nodes. All requests made to the Manager Service module or the virtual programming environment itself pass through the front door Haproxy module reverse proxy.
Specifically, as shown in fig. 4, the Manager Service module manages the server cluster load by adding or deleting the working nodes, and specifically includes:
step S300, acquiring the number of the current working nodes and the number of the containers, and executing step S301;
step S301, calculating a minimum threshold and a maximum threshold of the containers which can be supported by the current server cluster, judging whether the number of the current containers is greater than the maximum threshold, and if so, executing step S302; if not, go to step S307;
step S302, calculating the number of the current containers and the number of the working nodes, and executing step S303;
step S303, restoring all the working nodes in the termination state to INSWARM state, and executing step S304;
step S304, the creation of the playlist scaleup-worker is executed according to the number of the working nodes, whether the creation is successful or not is judged, and if yes, the step S305 is executed; if not, executing step S306;
step S305, setting the state of the working node as an INSWARM state;
s306, setting the state of the working node as a failure state;
step S307: judging whether the number of the current containers is smaller than the minimum threshold value, if so, executing a step S308; if not, go to step S311;
step S308: acquiring a working node with zero container load, and judging whether the state of the working node is a started state or an INSWARM state; if yes, go to step S309; if not, go to step S310;
step S309, marking the state of the working node as a termination state;
step S310, judging whether the state of the working node is a termination state, if so, executing ANSIBLE playlist scale lower-worker to destroy the finally created working node, and setting the state of the working node as the termination state;
and step S311, changing the states of all the working nodes in the termination state into INSWARM states, and continuing to execute the step S300.
After a user requests a virtual environment from the Manager Service module, the Manager Service module selects a working node meeting the load requirement according to the load of the working node, and generates a container for operating the virtual programming environment on the working node meeting the load requirement.
The application program is a Web application program, and a user requests and accesses the virtual programming environment through the Web application program. The programming environment request carries a user token. In particular, the virtual programming environment consists of a containerized UBUNTU operating system that exposes the different Web services to be interacted with. The virtual programming environment will have logical limitations on the shared cpu, memory, storage, and network that it can assert. Each of the virtual programming environments is sandboxed within its own virtual subnet, and users can only access authorized Web services through the NGINX reverse proxy gateway.
Specifically, as shown in fig. 2, the receiving and processing of the programming environment request by the master node specifically includes:
step S100: checking whether the user token exists by using an external service, and if not, returning an http json error; if yes, executing step S101;
step S101: checking whether the user has a running programming environment, and if not, returning to the http json environment state; if yes, go to step S102;
step S102: checking whether the server cluster reaches the maximum limit, if not, returning an http json error; if yes, go to step S103;
step S103: storing the programming environment request in a queue with a unique ID, a user token and a status, setting the status to a "request" status, performing step S104;
step S104: and returning the http json environment state.
Further, the queue is a mysql queue.
Further, as shown in fig. 3, the establishing a virtual programming environment in the working node according to the programming environment request specifically includes:
step S200: polling the executable programming environment request in the queue, and judging whether the state of the programming environment request is a request state, if not, executing the step S201; if yes, go to step S203;
step S201: judging whether the state of the programming environment request is a 'started' state, if not, executing the step S200; if yes, go to step S202;
step S202: http calls an api.GetStatus file in the container, and sets the state of the programming environment request as a running state;
step S203: finding the working node with the minimum load, and if not, executing the step S204; if yes, go to step S205;
step S204: setting the status of the programming environment request to a "failed" status;
step S205: setting the state of the programming environment request as a 'request pending' state, and executing step S206;
step S206: executing an ANSIBLE manual by the name of the working node and the user token, deploying a sandbox stack, and executing step S207;
step S207: judging whether the sandbox stack is successfully deployed, if not, executing the step S204; if yes, go to step S208;
step S208: setting the status of the programming environment request to "started" status, executing step S209;
step S209: triggering a docker-proxy-flow new container event and adding a new route to the front-door Haproxy module using the user token.
In this embodiment, when a virtual programming environment is requested, the Manager Service module checks all the working nodes, checks which working node has a smaller load, and can create a new environment therein.
Specifically, the linking the virtual programming environment with the application program specifically includes: and embedding the virtual programming environment into the Web application program, and loading and displaying on a display window of the client.
The embedding of Jupyter notewood services into Web applications will be explained as an example.
As shown in fig. 5, the Jupyter notewood service is hosted directly in the programming environment. It is embedded into our Web application through < iframe > using the following URL:
<iframe src=http://mydomain.com/usertoken123/proxy/jupyter>
in this URL, the same user token used during the request and the required service name are passed: jupyter.
The service will then handle the rest of the communication. For Jupyter notewood services, the service relies heavily on Web Socket technology to communicate with its backend. All Web socket requests will be as follows:
http://mydomain.com/usertoken123/proxy/jupyter/websocket/...
the following is another example of a Web terminal and Web desktop service embedded in a Web application using two iframes, as shown in fig. 6:
<iframe src=http://mydomain.com/usertoken123/proxy/webterm>
<iframe src=http://mydomain.com/usertoken123/proxy/webdesktop>
they also all rely on Web sockets, which will generate such requests:
http://mydomain.com/usertoken123/proxy/webterm/websocket/...
http://mydomain.com/usertoken123/proxy/webdesktop/websocket/...
in summary, the virtual programming simulation management platform of the present invention provides a robot virtual programming environment with an AI function and complete functions of a programming environment for a user, and the user can access the virtual programming environment by accessing a web application using an internet browser without installing any software on his own computer, and can learn knowledge about programming robotics or AI-related technologies in the virtual programming environment.
The virtual programming simulation management platform has high degree of freedom, and a user can access the desktop of the complete robot from a Web application program, wherein the desktop comprises a simulation environment which can be used for testing the results of different virtual robot functions and allowing the user to install a new library of an authorized source.
Finally, the virtual programming simulation management platform has high safety, strong expandability and high cost benefit.
Safety: the virtual programming environment by default does not have access to the internet. Each virtual programming environment is protected by a sandbox that allows traffic only from allowed applications. The virtual programming environment is linked to the user by a security token.
And (3) expandability: creating virtual programming environments limits the maximum vcpu/ram/storage/network they can use. They are also distributed over different worker nodes that each impose a maximum limit on the number of containers they can accept (calculated from the container limit). This design allows scaling and avoids situations where the container may damage the entire structure and disturb other users.
A virtual programming environment that meets the above limitations will either raise an error, show poor performance, or in the worst case, become unresponsive until the hypervisor destroys it.
Cost-effectiveness: the virtual programming environment has the longest life and, if not used, is automatically destroyed. For example, the start-up time of each virtual programming environment is 15 minutes, decreasing with the passage of time. If the life of the virtual programming environment reaches the soft limit (3 minutes remaining) and the user is still using it, additional time (only X minutes of time can be requested). When the lifetime reaches 0, the virtual programming environment will be destroyed. This design avoids the virtual programming environment running for days and avoids recreating new virtual programming environments too often. If the user leaves the service and returns in a short time, his virtual programming environment is still available.
And automatically distributing or destroying the artificial nodes according to the load. Even if the manual node is in an idle state, the operation of the working node generates cost. To prevent this, only 1 working node runs continuously 24 hours a day and a new working node will be added when the upper workload limit of the last working node is about to be reached.
Finally, it should be noted that: the above embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; while the invention has been described in detail and with reference to the foregoing embodiments, it will be understood by those skilled in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; such modifications and substitutions do not depart from the spirit and scope of the present invention, and they should be construed as being included in the following claims and description.

Claims (10)

1. A virtual programming emulation management platform, comprising: the system comprises a server cluster and at least one client, wherein the server cluster comprises a main control node and at least one working node; wherein the content of the first and second substances,
the client sends a programming environment request to the main control node through an application program, establishes connection with the main control node, and accesses a programming environment service provided by the main control node through the application program;
and the main control node receives and processes the programming environment request, establishes a virtual programming environment in the working node according to the programming environment request, and links the virtual programming environment with the application program.
2. The virtual programming emulation management platform of claim 1, wherein: the virtual programming environment consists of a containerized UBUNTU operating system.
3. The virtual programming emulation management platform of claim 2, wherein: each of the virtual programming environments is sandboxed within its own virtual subnet.
4. The virtual programming emulation management platform of claim 1, wherein: the programming environment request carries a user token;
the main control node comprises a front door Haproxy module and a Manager Service module, the server cluster is managed and organized by the Manager Service module, and the server cluster load is managed by adding or deleting working nodes.
5. The virtual programming emulation management platform of claim 4, wherein: the Manager Service module manages server cluster load by adding or deleting working nodes, and specifically comprises the following steps:
step S300, acquiring the number of the current working nodes and the number of the containers, and executing step S301;
step S301, calculating a minimum threshold and a maximum threshold of the containers which can be supported by the current server cluster, judging whether the number of the current containers is greater than the maximum threshold, and if so, executing step S302; if not, go to step S307;
step S302, calculating the number of the current containers and the number of the working nodes, and executing step S303;
step S303, restoring all the working nodes in the termination state to INSWARM state, and executing step S304;
step S304, the creation of the playlist scaleup-worker is executed according to the number of the working nodes, whether the creation is successful or not is judged, and if yes, the step S305 is executed; if not, executing step S306;
step S305, setting the state of the working node as an INSWARM state;
s306, setting the state of the working node as a failure state;
step S307: judging whether the number of the current containers is smaller than the minimum threshold value, if so, executing a step S308; if not, go to step S311;
step S308: acquiring a working node with zero container load, and judging whether the state of the working node is a started state or an INSWARM state; if yes, go to step S309; if not, go to step S310;
step S309, marking the state of the working node as a termination state;
step S310, judging whether the state of the working node is a termination state, if so, executing ANSIBLE playlist scale lower-worker to destroy the finally created working node, and setting the state of the working node as the termination state;
and step S311, changing the states of all the working nodes in the termination state into INSWARM states, and continuing to execute the step S300.
6. The virtual programming emulation management platform of claim 1, wherein: the application is a web application.
7. The virtual programming emulation management platform of claim 6, wherein: the receiving and processing of the programming environment request by the master control node specifically includes:
step S100: checking whether the user token exists by using an external service, and if not, returning an http json error; if yes, executing step S101;
step S101: checking whether the user has a running programming environment, and if not, returning to the http json environment state; if yes, go to step S102;
step S102: checking whether the server cluster reaches the maximum limit, if not, returning an http json error; if yes, go to step S103;
step S103: storing the programming environment request in a queue with a unique ID, a user token and a status, setting the status to a "request" status, performing step S104;
step S104: and returning the http json environment state.
8. The virtual programming emulation management platform of claim 7, wherein: the queue is a mysql queue.
9. The virtual programming emulation management platform of claim 7, wherein: the establishing a virtual programming environment in the working node according to the programming environment request specifically includes:
step S200: polling the executable programming environment request in the queue, and judging whether the state of the programming environment request is a request state, if not, executing the step S201; if yes, go to step S203;
step S201: judging whether the state of the programming environment request is a 'started' state, if not, executing the step S200; if yes, go to step S202;
step S202: http calls an api.GetStatus file in the container, and sets the state of the programming environment request as a running state;
step S203: finding the working node with the minimum load, and if not, executing the step S204; if yes, go to step S205;
step S204: setting the status of the programming environment request to a "failed" status;
step S205: setting the state of the programming environment request as a 'request pending' state, and executing step S206;
step S206: executing an ANSIBLE manual by the name of the working node and the user token, deploying a sandbox stack, and executing step S207;
step S207: judging whether the sandbox stack is successfully deployed, if not, executing the step S204; if yes, go to step S208;
step S208: setting the status of the programming environment request to "started" status, executing step S209;
step S209: triggering a docker-proxy-flow new container event and adding a new route to the front-door Haproxy module using the user token.
10. The virtual programming emulation management platform of claim 6, wherein: linking the virtual programming environment with the application program specifically comprises: and embedding the virtual programming environment into the Web application program, and loading and displaying on a display window of the client.
CN202110192669.5A 2021-02-20 2021-02-20 Virtual programming simulation management platform Pending CN113032090A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110192669.5A CN113032090A (en) 2021-02-20 2021-02-20 Virtual programming simulation management platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110192669.5A CN113032090A (en) 2021-02-20 2021-02-20 Virtual programming simulation management platform

Publications (1)

Publication Number Publication Date
CN113032090A true CN113032090A (en) 2021-06-25

Family

ID=76460798

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110192669.5A Pending CN113032090A (en) 2021-02-20 2021-02-20 Virtual programming simulation management platform

Country Status (1)

Country Link
CN (1) CN113032090A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979029A (en) * 2022-05-16 2022-08-30 百果园技术(新加坡)有限公司 Control method, device, equipment and storage medium of virtual robot

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509369B1 (en) * 2001-07-11 2009-03-24 Swsoft Holdings, Ltd. Balancing shared servers in virtual environments
CN106843873A (en) * 2017-01-18 2017-06-13 深圳市编玩边学教育科技有限公司 A kind of remote game programing system
CN109327509A (en) * 2018-09-11 2019-02-12 武汉魅瞳科技有限公司 A kind of distributive type Computational frame of the lower coupling of master/slave framework
CN110149396A (en) * 2019-05-20 2019-08-20 华南理工大学 A kind of platform of internet of things construction method based on micro services framework
CN111061540A (en) * 2019-11-27 2020-04-24 北京计算机技术及应用研究所 Application virtualization method and system based on container technology

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509369B1 (en) * 2001-07-11 2009-03-24 Swsoft Holdings, Ltd. Balancing shared servers in virtual environments
CN106843873A (en) * 2017-01-18 2017-06-13 深圳市编玩边学教育科技有限公司 A kind of remote game programing system
CN109327509A (en) * 2018-09-11 2019-02-12 武汉魅瞳科技有限公司 A kind of distributive type Computational frame of the lower coupling of master/slave framework
CN110149396A (en) * 2019-05-20 2019-08-20 华南理工大学 A kind of platform of internet of things construction method based on micro services framework
CN111061540A (en) * 2019-11-27 2020-04-24 北京计算机技术及应用研究所 Application virtualization method and system based on container technology

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979029A (en) * 2022-05-16 2022-08-30 百果园技术(新加坡)有限公司 Control method, device, equipment and storage medium of virtual robot
CN114979029B (en) * 2022-05-16 2023-11-24 百果园技术(新加坡)有限公司 Control method, device, equipment and storage medium of virtual robot

Similar Documents

Publication Publication Date Title
CN110413288B (en) Application deployment method, device, server and storage medium
CN109032706B (en) Intelligent contract execution method, device, equipment and storage medium
EP2802990B1 (en) Fault tolerance for complex distributed computing operations
EP2871553A1 (en) Systems and methods for protecting virtualized assets
US20130212689A1 (en) Managing network data
US8006254B2 (en) Bequeathing privilege to a dynamically loaded module
KR20130061725A (en) Exposing resource capabilities to web applications
US20100088740A1 (en) Methods for performing secure on-line testing without pre-installation of a secure browser
JP2021509498A (en) Computing device
CN109901985B (en) Distributed test apparatus and method, storage medium, and electronic device
JP2012104150A (en) Customizing space in network environment
US20170083387A1 (en) High-performance computing framework for cloud computing environments
CN111857733A (en) Construction method, device and system of business environment and readable storage medium
Karne et al. How to run C++ applications on a bare PC?
US11243755B1 (en) Resource aware patching service
CN113032090A (en) Virtual programming simulation management platform
US8156510B2 (en) Process retext for dynamically loaded modules
US20130185763A1 (en) Distributed processing system, distributed processing method and computer-readable recording medium
US11494184B1 (en) Creation of transportability container files for serverless applications
CN113806097A (en) Data processing method and device, electronic equipment and storage medium
CN112115056A (en) Project deployment method and device, server and storage medium
US11108702B1 (en) Customized command execution for a computing resource fleet
CN112714179B (en) Client multitask installation method, system, equipment and medium based on browser
US11513833B1 (en) Event listener interface for container-based execution of serverless functions
CN113010261A (en) Virtual programming environment construction method

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