CN111459613B - Method and device for dynamically expanding development environment - Google Patents

Method and device for dynamically expanding development environment Download PDF

Info

Publication number
CN111459613B
CN111459613B CN202010234260.0A CN202010234260A CN111459613B CN 111459613 B CN111459613 B CN 111459613B CN 202010234260 A CN202010234260 A CN 202010234260A CN 111459613 B CN111459613 B CN 111459613B
Authority
CN
China
Prior art keywords
service
address
client
request
target
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.)
Active
Application number
CN202010234260.0A
Other languages
Chinese (zh)
Other versions
CN111459613A (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.)
Inspur General Software Co Ltd
Original Assignee
Inspur General Software 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 Inspur General Software Co Ltd filed Critical Inspur General Software Co Ltd
Priority to CN202010234260.0A priority Critical patent/CN111459613B/en
Publication of CN111459613A publication Critical patent/CN111459613A/en
Application granted granted Critical
Publication of CN111459613B publication Critical patent/CN111459613B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/45562Creating, deleting, cloning virtual machine instances

Abstract

The invention provides a method and a device for dynamically expanding a development environment, wherein the method comprises the following steps: receiving a development environment creation request sent by any external client, and distributing a special channel to the client according to the request; receiving a service use request which is sent by a client, is aimed at any first service and corresponds to the special channel; according to the service use request, when the special channel is not associated with the target service address of the first service, determining the target service address and associating the target service address with the special channel so as to provide a development environment capable of providing the first service for the client; according to the target service address, sending request content included in the service use request to the first service; and receiving a request processing result returned by the first service through processing the request content and sending the request processing result to the client. In the scheme, the special channel allocated to the client can be associated with each service requested by the user, so that a corresponding development environment is provided for the special channel, and the dynamic expansion of the development environment is realized.

Description

Method and device for dynamically expanding development environment
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a method and an apparatus for dynamically expanding a development environment.
Background
With the development of cloud computing and container technology, cloud computing providers may provide a development environment for software developers via the Internet, which accesses and uses the development environment via a browser.
Currently, cloud computing providers may utilize virtualization technology to create a container for each user at the server side, which may be created according to configuration requirements provided by the developer, to provide the developer with the required computing resources. But the development environment provided by the cloud computing provider to the developer is not extensible.
Thus, when the developer finds that the service configured by the development environment cannot meet the requirement, the development environment needs to be reapplied according to the new configuration requirement, and then a container is created by the cloud computing provider according to the new configuration requirement for the developer to use.
Disclosure of Invention
The invention provides a method and a device for dynamically expanding a development environment, which can dynamically expand the development environment.
In order to achieve the above purpose, the invention is realized by the following technical scheme:
in a first aspect, the present invention provides a method for dynamically expanding a development environment, comprising:
receiving a development environment creation request sent by any external client;
according to the development environment creation request, a special channel corresponding to the client is distributed to the client;
receiving a service use request which is sent by the client, is aimed at any first service and corresponds to the special channel;
according to the service use request, when the special channel is not associated with the target service address of the first service, determining the target service address of the first service, and associating the target service address with the special channel so as to provide a development environment capable of providing the first service for the client;
according to the target service address, sending request content included in the service use request to the first service;
and receiving a request processing result returned by the first service through processing the request content, and sending the request processing result to the client.
Further, the determining the target service address of the first service includes:
and judging whether the first service is running, if so, determining a target service address of the first service, otherwise, pulling the mirror image of the first service from a service mirror image warehouse, starting the mirror image of the first service to enable the first service to start running on a service end, and determining the target service address of the first service.
Further, the dedicated channel includes: a client identifier allocated to the client and a service mapping relationship mapped by a service type to a service address;
said associating said target service address with said dedicated channel comprising: recording the target service address into the dedicated channel, so that the dedicated channel comprises a service mapping relation mapped to the target service address by the service type of the first service.
Further, the receiving the service usage request sent by the client for any first service and corresponding to the dedicated channel includes:
receiving a service use request which is sent by the client, aims at any first service and comprises the client identifier;
the determining, according to the service usage request, the target service address of the first service when the dedicated channel is not associated with the target service address of the first service, includes:
acquiring the client identifier included in the service use request;
determining the special channel recorded with the client identifier;
judging whether the special channel records the target service address of the first service, if not, determining the target service address of the first service;
the method further comprises the steps of: and when the target service address of the first service is recorded in the special channel, executing the step of sending request content included in the service use request to the first service according to the target service address.
Further, the service address includes an IP address and a port number.
Further, before the determining the target service address of the first service, the method further includes:
creating a first container for running the first service on a server, wherein at least two containers can be created on the server, one service can be run on one container, the services run by different containers are different, and each container occupies a part of computing resources of the server;
the first service is run using the first container.
In a second aspect, the present invention provides an apparatus for dynamically expanding a development environment, comprising:
the service combination module and the service registration module;
the service combination module is used for receiving a development environment creation request sent by any external client; according to the development environment creation request, a special channel corresponding to the client is distributed to the client; receiving a service use request which is sent by the client, is aimed at any first service and corresponds to the special channel; triggering the service registration module when the special channel is not associated with the target service address of the first service according to the service use request; associating a target service address of the first service with the dedicated channel to provide a development environment to the client that can provide the first service; according to the target service address, sending request content included in the service use request to the first service; receiving a request processing result returned by the first service through processing the request content, and sending the request processing result to the client;
the service registration module is configured to determine a target service address of the first service, and send the target service address to the service combination module.
Further, the apparatus for dynamically expanding a development environment further comprises: a service image warehouse;
the service registration module is configured to determine whether the first service is running, if yes, determine a target service address of the first service, otherwise, pull a mirror image of the first service from the service mirror image repository, start the mirror image of the first service so that the first service starts to run on a service end, and determine the target service address of the first service.
Further, the dedicated channel includes: a client identifier allocated to the client and a service mapping relationship mapped by a service type to a service address;
the service combination module is configured to record the target service address into the dedicated channel, so that the dedicated channel includes a service mapping relationship that is mapped to the target service address by the service type of the first service.
Further, the service combination module is configured to receive a service usage request sent by the client, for any first service and including the client identifier; acquiring the client identifier included in the service use request; determining the special channel recorded with the client identifier; and judging whether a target service address of the first service is recorded in the special channel, if not, executing the triggering of the service registration module, and if so, executing the request content included in the service use request according to the target service address and sending the request content to the first service.
Further, the service address includes an IP address and a port number.
Further, the apparatus for dynamically expanding a development environment further comprises: a service operation module;
the service running module is used for creating a first container for running the first service on a service end, wherein at least two containers can be created on the service end, one service can be run on one container, the services run by different containers are different, and each container occupies a part of computing resources of the service end; the first service is run using the first container.
The invention provides a method and a device for dynamically expanding a development environment, wherein the method comprises the following steps: receiving a development environment creation request sent by any external client, and distributing a special channel to the client according to the request; receiving a service use request which is sent by a client, is aimed at any first service and corresponds to the special channel; according to the service use request, when the special channel is not associated with the target service address of the first service, determining the target service address and associating the target service address with the special channel so as to provide a development environment capable of providing the first service for the client; according to the target service address, sending request content included in the service use request to the first service; and receiving a request processing result returned by the first service through processing the request content and sending the request processing result to the client. In the invention, the special channel allocated to the client can be associated with each service requested by the user, thereby providing corresponding development environment for the special channel and realizing dynamic expansion of the development environment.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described, and it is obvious that the drawings in the following description are some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of a method for dynamically expanding a development environment in accordance with one embodiment of the present invention;
FIG. 2 is a flow chart of another method for dynamically expanding a development environment provided by an embodiment of the present invention;
FIG. 3 is a schematic diagram of a development environment implementing dynamic extensions provided by an embodiment of the present invention;
FIG. 4 is a schematic diagram of an apparatus for dynamically expanding a development environment in accordance with an embodiment of the present invention;
FIG. 5 is a schematic diagram of another apparatus for dynamically expanding a development environment, in accordance with an embodiment of the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments, and all other embodiments obtained by those skilled in the art without making any inventive effort based on the embodiments of the present invention are within the scope of protection of the present invention.
As shown in fig. 1, the embodiment of the present invention provides a method for dynamically expanding a development environment, which may include the following steps:
step 101: a development environment creation request from any external client is received.
Step 102: and allocating a special channel corresponding to the client according to the development environment creation request.
Step 103: and receiving a service use request which is sent by the client, is aimed at any first service and corresponds to the special channel.
Step 104: and according to the service use request, when the special channel is not associated with the target service address of the first service, determining the target service address of the first service, and associating the target service address with the special channel so as to provide a development environment capable of providing the first service for the client.
Step 105: and according to the target service address, sending the request content included in the service use request to the first service.
Step 106: and receiving a request processing result returned by the first service through processing the request content, and sending the request processing result to the client.
The method for dynamically expanding the development environment provided by the embodiment of the invention comprises the following steps: receiving a development environment creation request sent by any external client, and distributing a special channel to the client according to the request; receiving a service use request which is sent by a client, is aimed at any first service and corresponds to the special channel; according to the service use request, when the special channel is not associated with the target service address of the first service, determining the target service address and associating the target service address with the special channel so as to provide a development environment capable of providing the first service for the client; according to the target service address, sending request content included in the service use request to the first service; and receiving a request processing result returned by the first service through processing the request content and sending the request processing result to the client.
In the embodiment of the invention, the special channel allocated to the client can be associated with each service requested by the user, thereby providing corresponding development environment for the special channel and realizing dynamic expansion of the development environment. It can be seen that unlike the prior art where the services provided by the system to the developer cannot be dynamically extended, embodiments of the present invention can provide a dynamically extensible development environment for the developer.
In one embodiment of the present invention, the determining the target service address of the first service includes:
and judging whether the first service is running, if so, determining a target service address of the first service, otherwise, pulling the mirror image of the first service from a service mirror image warehouse, starting the mirror image of the first service to enable the first service to start running on a service end, and determining the target service address of the first service.
In detail, when a first service is requested by an existing client before that, the first service is generally running, and at this time, its service address can be directly determined. When the first service is not requested by the client before, the first service is not normally running, and the first service can be controlled to start running and the service address of the first service can be determined.
For example, taking a client side request for a development service as an example, when the system queries an address of the development service, if there is a running development service, the address of the development service can be obtained, otherwise, if there is no running development service, a mirror image corresponding to the development service can be pulled from a service mirror image warehouse, and the mirror image is started, and a development service address provided after the mirror image is started is determined.
In one embodiment of the present invention, the dedicated channel includes: a client identifier allocated to the client and a service mapping relationship mapped by a service type to a service address;
said associating said target service address with said dedicated channel comprising: recording the target service address into the dedicated channel, so that the dedicated channel comprises a service mapping relation mapped to the target service address by the service type of the first service.
In detail, the dedicated channel may be a data structure, which may record the following information: client identification and service mapping. Wherein for service mapping, the service address may be mapped by the service type.
Wherein, for the client identification:
when a developer loads a client from the system through a browser, the system may generate an identifier for the client as the identifier of the client, and the client may always declare itself with the identifier when sending a request to the system.
Wherein, for service mapping:
after the system starts the mirror image corresponding to the development service, the provided development service address can comprise IP and port number. The specific content of the service mapping may be mapping from service type to service address. For example, the service type may be a file service, a c# language service, a Java language service, or the like.
Based on this, for example, the dedicated channel allocated by the system to a client may be the dedicated channel 1 shown below. Of course, the specific mapping content of the service mapping in the dedicated channel is written according to the service request condition of the client after the system allocates the dedicated channel for the client.
Special channel 1
It can be seen that the service address may include an IP address and a port number. Based on this, in one embodiment of the invention, the service address includes an IP address and a port number.
For example, taking a client request for a development service as an example, assuming that a development service request sent by the client is the first request of the client for the development service, the dedicated channel does not record the address of the development service, so the address of the development service can be queried and written into the service mapping relationship of the corresponding dedicated channel. In this case, when the client requests the development service again, the client requests the development service not first, and the address of the development service is recorded in the dedicated channel, so that the development service can be accessed directly from the address.
In one embodiment of the present invention, the receiving the service usage request sent by the client for any first service and corresponding to the dedicated channel includes:
receiving a service use request which is sent by the client, aims at any first service and comprises the client identifier;
the determining, according to the service usage request, the target service address of the first service when the dedicated channel is not associated with the target service address of the first service, includes:
acquiring the client identifier included in the service use request;
determining the special channel recorded with the client identifier;
judging whether the special channel records the target service address of the first service, if not, determining the target service address of the first service;
the method further comprises the steps of: and when the target service address of the first service is recorded in the special channel, executing the step of sending request content included in the service use request to the first service according to the target service address.
For example, taking a client request for development services as an example, first a client may send a request for an initial development environment to a system, the system processes the request, and assigns a dedicated channel to the client based on the request. The client may then send a development service request to the system. When the system receives a development service request sent by a client, the system processes the request and finds a special channel allocated to the client according to the client identifier contained in the request.
Assuming that the request is the first request for development services by the client, its dedicated channel does not record the address of the development services, so the address of the development services can be queried. Conversely, if the request is not the first request for development services from the client, the dedicated channel has an address for development services, so that development services can be accessed directly according to the address.
When the address of the development service is queried, if the development service is requested by the prior client, the running development service is usually existed at present, the development service address can be obtained, otherwise, the running development service is not existed, the mirror image corresponding to the development service can be pulled from the service mirror image warehouse, the mirror image is started, and the development service address provided after the mirror image is started is determined. After the development service address is obtained, the development service address can be further recorded into a special channel of the client.
When the development service address is recorded in the special channel, the development service request can be continuously processed. Specifically, the address of the development service is obtained from the dedicated channel, the request content from the client is transferred to the development service, and the result of the development service processing is returned to the client.
In one embodiment of the present invention, before the determining the target service address of the first service, the method further includes: creating a first container for running the first service on a server, wherein at least two containers can be created on the server, one service can be run on one container, the services run by different containers are different, and each container occupies a part of computing resources of the server; the first service is run using the first container.
In the prior art, a distributed development environment generally provides isolated computing resources for each developer, so as the number of online developers increases, cloud computing providers need to correspondingly create multiple containers, each of which occupies a specific computing resource, including a CPU, a memory, and a storage, in which case consumption of system computing resources will increase linearly with the number of developers.
Unlike the prior art, in the embodiment of the invention, the computing resources required by the development environment can be dispersed into independent containers, each container provides independent development services, and the services are scheduled and combined to provide a complete development environment for each developer. In addition, since the development environment can provide a scalable development service for developers, when multiple developers need the same development service, their development environments can share the same development service. Therefore, based on the technical scheme provided by the embodiment of the invention, developers can share computing resources to the greatest extent, and the computing resources of the system are greatly saved.
As shown in fig. 2, the embodiment of the present invention provides a method for dynamically expanding a development environment, which may include the following steps:
step 201: the service combination module receives a development environment creation request sent by any external client.
In the embodiment of the invention, the system can comprise a service combination module, a service registration module, a service mirror warehouse and a service operation module. The service combination module can be used for combining services and providing development environment for the outside; the service registration module can be used for recording the access address of the operated service; the service image warehouse can be used for storing static resources of the service; the service execution module may be used to execute a service.
Step 202: the service combination module allocates a dedicated channel corresponding to the client according to the development environment creation request, wherein the dedicated channel comprises: a client identifier assigned to the client, and a service mapping relationship mapped to the service address by the service type.
In detail, the service address includes an IP address and a port number.
Step 203: the service combination module receives a service use request which is sent by the client and aims at any first service and comprises a client identifier, and acquires the client identifier which is included in the service use request.
Step 204: the service combination module determines the dedicated channel recorded with the client identifier, determines whether the dedicated channel is recorded with the target service address of the first service, if yes, executes step 210, otherwise, executes step 205.
Step 205: the service registration module determines whether the first service is running, if so, performs step 208, otherwise, performs step 206.
Step 206: the service registration module pulls the image of the first service from the service image warehouse and starts the image of the first service.
Step 207: the service running module creates a first container for running the first service on the service end, and runs the first service by using the first container, wherein at least two containers can be created on the service end, one service can be run on one container, the services run by different containers are different, and each container occupies a part of computing resources of the service end.
Step 208: the service registration module determines a target service address for the first service.
Step 209: the service composition module records the target service address into the dedicated channel such that the dedicated channel includes a service mapping relationship mapped to the target service address by the service type of the first service to provide a development environment for the first service to the client.
Step 210: and the service combination module sends the request content included in the service use request to the first service according to the target service address.
Step 211: the service combination module receives a request processing result returned by the first service through processing the request content, and sends the request processing result to the client.
Based on the specific implementation manner of the dynamic expansion development environment provided by the embodiment of the present invention, please refer to fig. 3, the following may exist:
developer 1 (developing using the c# language) requests a development environment from the system through browser 1. The service composition module creates a channel 1, specifically handling the browser 1 request. The developer 1 requests to open the source code file through the browser 1, and the browser 1 requests the file service from the system. The service composition module receives the file service request, and the service composition module cannot obtain the development service address from the channel 1, so that the service registration module is inquired about the file service address. The service registration module inquires that no file service instance exists, pulls a mirror image of the file service to the service mirror image warehouse, starts a file service container by using the mirror image, and provides the file service to the outside. The service registration module returns the address of the file service to the service combination module, and the service combination module records the address in the channel 1. The service combination module sends the file service request content transmitted by the browser to the file service. The file service processes the request content and returns the result to the service combination module. The service combination module returns the file service processing result to the browser 1.
Thereafter, the developer 1 requests syntax checking of the c# source code through the browser 1. Browser 1 requests a c# language service from the system, and channel 1 records the c# language service address. According to the same steps as above, the system will start the c# language service, and the c# language service request sent by the browser 1 will be processed by the c# language service started by the system through the service combination module.
After that, the developer 2 (developing using Java language) requests the development environment from the system through the browser 2. The service composition module will create a channel 2 to handle requests from the browser 2 exclusively, following the same procedure as described above. Channel 2 records file service addresses and Java language service addresses. The file service request issued by the browser 2 will be processed by the file service already present in the system through the service composition module. The Java language service request issued by the browser 2 will be processed by the Java language service newly created by the system through the service composition module.
It can be seen that when a developer uses a new development service, the system can dynamically expand the development environment provided, and the requirements of the developer are met; when the same development service is used among developers, the system uses the same computing resource to provide service, so that the computing resource is saved.
As shown in fig. 4, an embodiment of the present invention provides an apparatus for dynamically expanding a development environment, which may include: a service combination module 401 and a service registration module 402;
the service combination module 401 is configured to receive a development environment creation request sent by any external client; according to the development environment creation request, a special channel corresponding to the client is distributed to the client; receiving a service use request which is sent by the client, is aimed at any first service and corresponds to the special channel; triggering the service registration module 402 when the dedicated channel is not associated with the target service address of the first service according to the service usage request; associating a target service address of the first service with the dedicated channel to provide a development environment to the client that can provide the first service; according to the target service address, sending request content included in the service use request to the first service; receiving a request processing result returned by the first service through processing the request content, and sending the request processing result to the client;
the service registration module 402 is configured to determine a target service address of the first service, triggered by the service combination module 401, and send the target service address to the service combination module 401.
In one embodiment of the present invention, referring to fig. 5, the apparatus for dynamically expanding a development environment further includes: a service image repository 501;
the service registration module 402 is configured to determine whether the first service is running, if yes, determine a target service address of the first service, otherwise, pull a mirror image of the first service from the service mirror image repository 501, start the mirror image of the first service so that the first service starts to run on a server, and determine the target service address of the first service.
In one embodiment of the present invention, the dedicated channel includes: a client identifier allocated to the client and a service mapping relationship mapped by a service type to a service address;
the service combination module 401 is configured to record the target service address into the dedicated channel, so that the dedicated channel includes a service mapping relationship that is mapped to the target service address by the service type of the first service.
In one embodiment of the present invention, the service combination module 401 is configured to receive a service usage request sent by the client, for any first service and including the identifier of the client; acquiring the client identifier included in the service use request; determining the special channel recorded with the client identifier; and judging whether a target service address of the first service is recorded in the dedicated channel, if not, executing the triggering of the service registration module 402, and if so, executing the step of sending the request content included in the service use request to the first service according to the target service address.
In one embodiment of the invention, the service address includes an IP address and a port number.
In one embodiment of the present invention, referring to fig. 5, the apparatus for dynamically expanding a development environment further includes: a service run module 502;
the service running module 502 is configured to create a first container for running the first service on a server, where at least two containers may be created on the server, one container may run one service, different containers run different services, and each container occupies a part of computing resources of the server; the first service is run using the first container.
The content of information interaction and execution process between the units in the device is based on the same conception as the embodiment of the method of the present invention, and specific content can be referred to the description in the embodiment of the method of the present invention, which is not repeated here.
Embodiments of the invention also provide a computer-readable medium storing instructions for causing a computer to perform a method of dynamically expanding a development environment as described herein. Specifically, a system or apparatus provided with a storage medium on which a software program code realizing the functions of any of the above embodiments is stored, and a computer (or CPU or MPU) of the system or apparatus may be caused to read out and execute the program code stored in the storage medium.
In this case, the program code itself read from the storage medium may realize the functions of any of the above-described embodiments, and thus the program code and the storage medium storing the program code form part of the present invention.
Examples of the storage medium for providing the program code include a floppy disk, a hard disk, a magneto-optical disk, an optical disk (e.g., CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), a magnetic tape, a nonvolatile memory card, and a ROM. Alternatively, the program code may be downloaded from a server computer by a communication network.
Further, it should be apparent that the functions of any of the above-described embodiments may be implemented not only by executing the program code read out by the computer, but also by causing an operating system or the like operating on the computer to perform part or all of the actual operations based on the instructions of the program code.
Further, it is understood that the program code read out by the storage medium is written into a memory provided in an expansion board inserted into a computer or into a memory provided in an expansion unit connected to the computer, and then a CPU or the like mounted on the expansion board or the expansion unit is caused to perform part and all of actual operations based on instructions of the program code, thereby realizing the functions of any of the above embodiments.
In summary, the embodiments of the present invention have at least the following advantages:
1. the method for dynamically expanding the development environment provided by the embodiment of the invention comprises the following steps: receiving a development environment creation request sent by any external client, and distributing a special channel to the client according to the request; receiving a service use request which is sent by a client, is aimed at any first service and corresponds to the special channel; according to the service use request, when the special channel is not associated with the target service address of the first service, determining the target service address and associating the target service address with the special channel so as to provide a development environment capable of providing the first service for the client; according to the target service address, sending request content included in the service use request to the first service; and receiving a request processing result returned by the first service through processing the request content and sending the request processing result to the client. In the embodiment of the invention, the special channel allocated to the client can be associated with each service requested by the user, thereby providing corresponding development environment for the special channel and realizing dynamic expansion of the development environment.
2. In the embodiment of the invention, the developers can share the computing resources to the greatest extent, and the computing resources of the system are greatly saved.
3. In the embodiment of the invention, when a developer uses a new development service, the system can dynamically expand the provided development environment to meet the requirements of the developer; when the same development service is used among developers, the system uses the same computing resource to provide service, so that the computing resource is saved.
It should be noted that not all the steps and modules in the above flowcharts and the system configuration diagrams are necessary, and some steps or modules may be omitted according to actual needs. The execution sequence of the steps is not fixed and can be adjusted as required. The system structure described in the above embodiments may be a physical structure or a logical structure, that is, some modules may be implemented by the same physical entity, or some modules may be implemented by multiple physical entities, or may be implemented jointly by some components in multiple independent devices.
In the above embodiments, the hardware unit may be mechanically or electrically implemented. For example, a hardware unit may include permanently dedicated circuitry or logic (e.g., a dedicated processor, FPGA, or ASIC) to perform the corresponding operations. The hardware unit may also include programmable logic or circuitry (e.g., a general-purpose processor or other programmable processor) that may be temporarily configured by software to perform the corresponding operations. The particular implementation (mechanical, or dedicated permanent, or temporarily set) may be determined based on cost and time considerations.
It is noted that relational terms such as first and second, and the like, are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of additional identical elements in a process, method, article or apparatus that comprises the element.
While the invention has been illustrated and described in detail in the drawings and in the preferred embodiments, the invention is not limited to the disclosed embodiments, and it will be appreciated by those skilled in the art that the code audits of the various embodiments described above may be combined to produce further embodiments of the invention, which are also within the scope of the invention.

Claims (4)

1. A method for dynamically expanding a development environment, comprising:
receiving a development environment creation request sent by any external client;
according to the development environment creation request, a special channel corresponding to the client is distributed to the client;
receiving a service use request which is sent by the client, is aimed at any first service and corresponds to the special channel;
according to the service use request, when the special channel is not associated with the target service address of the first service, determining the target service address of the first service, and associating the target service address with the special channel so as to provide a development environment capable of providing the first service for the client;
according to the target service address, sending request content included in the service use request to the first service;
receiving a request processing result returned by the first service through processing the request content, and sending the request processing result to the client;
the determining the target service address of the first service includes:
judging whether the first service is running, if so, determining a target service address of the first service, otherwise, pulling a mirror image of the first service from a service mirror image warehouse, starting the mirror image of the first service to enable the first service to start running on a service end, and determining the target service address of the first service;
the dedicated channel includes: a client identifier allocated to the client and a service mapping relationship mapped by a service type to a service address;
said associating said target service address with said dedicated channel comprising: recording the target service address into the dedicated channel, so that the dedicated channel comprises a service mapping relation mapped to the target service address by the service type of the first service;
the receiving the service usage request sent by the client for any first service and corresponding to the dedicated channel includes:
receiving a service use request which is sent by the client, aims at any first service and comprises the client identifier;
the determining, according to the service usage request, the target service address of the first service when the dedicated channel is not associated with the target service address of the first service, includes:
acquiring the client identifier included in the service use request;
determining the special channel recorded with the client identifier;
judging whether the special channel records the target service address of the first service, if not, determining the target service address of the first service;
the method further comprises the steps of: executing the request content included in the service use request to the first service according to the target service address when the target service address of the first service is recorded in the special channel;
and/or the number of the groups of groups,
the service address includes an IP address and a port number.
2. The method of claim 1, wherein the step of determining the position of the substrate comprises,
before said determining the target service address of the first service, further comprising:
creating a first container for running the first service on a server, wherein at least two containers can be created on the server, one service can be run on one container, the services run by different containers are different, and each container occupies a part of computing resources of the server;
the first service is run using the first container.
3. An apparatus for dynamically expanding a development environment, comprising:
the service combination module and the service registration module;
the service combination module is used for receiving a development environment creation request sent by any external client; according to the development environment creation request, a special channel corresponding to the client is distributed to the client; receiving a service use request which is sent by the client, is aimed at any first service and corresponds to the special channel; triggering the service registration module when the special channel is not associated with the target service address of the first service according to the service use request; associating a target service address of the first service with the dedicated channel to provide a development environment to the client that can provide the first service; according to the target service address, sending request content included in the service use request to the first service; receiving a request processing result returned by the first service through processing the request content, and sending the request processing result to the client;
the service registration module is used for determining a target service address of the first service and sending the target service address to the service combination module through triggering of the service combination module;
further comprises: a service image warehouse;
the service registration module is used for judging whether the first service is running, if yes, determining a target service address of the first service, otherwise, pulling a mirror image of the first service from the service mirror image warehouse, starting the mirror image of the first service so as to enable the first service to start running on a service end, and determining the target service address of the first service;
the dedicated channel includes: a client identifier allocated to the client and a service mapping relationship mapped by a service type to a service address;
the service combination module is configured to record the target service address into the dedicated channel, so that the dedicated channel includes a service mapping relationship that is mapped to the target service address by the service type of the first service;
the service combination module is used for receiving a service use request which is sent by the client, is aimed at any first service and comprises the client identifier; acquiring the client identifier included in the service use request; determining the special channel recorded with the client identifier; judging whether a target service address of the first service is recorded in the dedicated channel, if not, executing the triggering of the service registration module, and if so, executing the request content included in the service use request according to the target service address and sending the request content to the first service;
and/or the number of the groups of groups,
the service address includes an IP address and a port number.
4. The apparatus for dynamically expanding a development environment of claim 3, further comprising: a service operation module;
the service running module is used for creating a first container for running the first service on a service end, wherein at least two containers can be created on the service end, one service can be run on one container, the services run by different containers are different, and each container occupies a part of computing resources of the service end; the first service is run using the first container.
CN202010234260.0A 2020-03-30 2020-03-30 Method and device for dynamically expanding development environment Active CN111459613B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010234260.0A CN111459613B (en) 2020-03-30 2020-03-30 Method and device for dynamically expanding development environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010234260.0A CN111459613B (en) 2020-03-30 2020-03-30 Method and device for dynamically expanding development environment

Publications (2)

Publication Number Publication Date
CN111459613A CN111459613A (en) 2020-07-28
CN111459613B true CN111459613B (en) 2023-08-15

Family

ID=71683669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010234260.0A Active CN111459613B (en) 2020-03-30 2020-03-30 Method and device for dynamically expanding development environment

Country Status (1)

Country Link
CN (1) CN111459613B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2420944A1 (en) * 2010-08-20 2012-02-22 Sap Ag Smart web service discovery
WO2017129106A1 (en) * 2016-01-29 2017-08-03 腾讯科技(深圳)有限公司 Data request processing method, server and system
CN108762803A (en) * 2018-04-17 2018-11-06 平安科技(深圳)有限公司 A kind of configuring management method, device, terminal device and storage medium
CN109104467A (en) * 2018-07-25 2018-12-28 北京京东尚科信息技术有限公司 Develop environment construction method, apparatus and plateform system and storage medium
CN109901823A (en) * 2019-02-26 2019-06-18 中电科软件信息服务有限公司 Interactive model exploitation environmental system and method based on cloud environment
CN110381332A (en) * 2019-08-01 2019-10-25 广州虎牙科技有限公司 Direct broadcasting room component processing method, device, electronic equipment and readable storage medium storing program for executing
CN110658794A (en) * 2019-09-30 2020-01-07 歌尔股份有限公司 Manufacturing execution system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10129078B2 (en) * 2014-10-30 2018-11-13 Equinix, Inc. Orchestration engine for real-time configuration and management of interconnections within a cloud-based services exchange

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2420944A1 (en) * 2010-08-20 2012-02-22 Sap Ag Smart web service discovery
WO2017129106A1 (en) * 2016-01-29 2017-08-03 腾讯科技(深圳)有限公司 Data request processing method, server and system
CN108762803A (en) * 2018-04-17 2018-11-06 平安科技(深圳)有限公司 A kind of configuring management method, device, terminal device and storage medium
CN109104467A (en) * 2018-07-25 2018-12-28 北京京东尚科信息技术有限公司 Develop environment construction method, apparatus and plateform system and storage medium
CN109901823A (en) * 2019-02-26 2019-06-18 中电科软件信息服务有限公司 Interactive model exploitation environmental system and method based on cloud environment
CN110381332A (en) * 2019-08-01 2019-10-25 广州虎牙科技有限公司 Direct broadcasting room component processing method, device, electronic equipment and readable storage medium storing program for executing
CN110658794A (en) * 2019-09-30 2020-01-07 歌尔股份有限公司 Manufacturing execution system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
舒剑,胡春明,葛声,怀进鹏.Web Service运行管理平台的研究与实现.计算机研究与发展.2004,(第03期),全文. *

Also Published As

Publication number Publication date
CN111459613A (en) 2020-07-28

Similar Documents

Publication Publication Date Title
US8302077B2 (en) Method and system for configuring software modules to execute in an execution environment
US11068586B2 (en) Virtual host isolation
US20210311771A1 (en) Performance of containers
US8336047B2 (en) Provisioning virtual resources using name resolution
US8375379B2 (en) Importing language extension resources to support application execution
CN115269184B (en) Function As A Service (FAAS) execution allocator
US20110078681A1 (en) Method and system for running virtual machine image
US11030025B2 (en) Managing inter-process communications in a containerized application environment
US9075634B2 (en) Minimizing overhead in resolving operating system symbols
US9110917B2 (en) Creating a file descriptor independent of an open operation
CN108427677B (en) Object access method and device and electronic equipment
US20090106747A1 (en) Dynamic class loading
CN112073448A (en) Service isolation method and device for dual-system terminal
US9015180B1 (en) Repository including file identification
CN111459613B (en) Method and device for dynamically expanding development environment
WO2021197579A1 (en) Method for deploying application software in cloud environments
US20050171953A1 (en) Method, system, and article of manufacture for generating device specific requests
CN111459619A (en) Method and device for realizing service based on cloud platform
US11422862B1 (en) Serverless computation environment with persistent storage
US11308001B1 (en) Dynamically provisioning peripherals to containers
WO2021232860A1 (en) Communication method, apparatus and system
US20140156908A1 (en) Stale pointer detection with overlapping versioned memory
CN106681771B (en) System reinstallation method and device
US11797358B2 (en) Method and system for performing application programming interface calls between heterogeneous applications and cloud service providers
US20080184264A1 (en) Method, Apparatus and Media for Information Model Data Retrieval

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
TA01 Transfer of patent application right

Effective date of registration: 20230714

Address after: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong

Applicant after: Inspur Genersoft Co.,Ltd.

Address before: 250100 No. 2877 Kehang Road, Sun Village Town, Jinan High-tech District, Shandong Province

Applicant before: SHANDONG INSPUR GENESOFT INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant