Service method, device, storage medium and computer program product
Through collaborative work between the visual server and the client, using task scheduler and elastic computing technology to apply for isolated resource instances for different users, the problem of resource competition in multi-user visual application is solved, and the user experience and resource utilization are improved.
Patent Information
- Application Number
- CN202410109731.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-25
- Publication Date
- 2025-07-25
AI Technical Summary
When multiple users use visual applications, limited server hardware resources lead to resource competition and affect user experience.
Through cooperation between the visual server and the client, the scheduling capability of the task scheduler is used to encapsulate the user's startup request into application tasks, and through elastic computing technology, different users are requested for isolated resource instances to avoid resource competition.
The isolation and use of resources between different users is realized, the problem of resource competition is avoided, the user experience is improved, and the resource utilization is optimized.
Smart Images

Figure CN120378489A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud computing technology, and in particular, to a service method, device, storage medium, and computer program product. Background Art
[0002] With the development of High Performance Computing (HPC) technology, some HPC applications can support interaction with end users in a visual way, and such applications can be called visual applications.
[0003] Currently, usually an administrator selects a fixed server, deploys a visual running environment for the visual application in the selected server, and starts the visual application. On this basis, multiple users can access the server to use the visual application in a visual way.
[0004] However, in this visual service method, due to limited hardware resources in the server, the problem of multiple users competing for resources often occurs, affecting the user experience of using the visual application. Summary of the Invention
[0005] Multiple aspects of this application provide a service method, device, storage medium, and computer program product to solve the problem of resource competition when multiple users use a visual application.
[0006] An embodiment of this application provides a service method applicable to a visual server, and the method includes:
[0007] Receiving a start request for a target visual application sent by a user terminal;
[0008] Encapsulating the start request into a target application task according to the task format supported by the task scheduler, and submitting the target application task to the task scheduler to trigger the task scheduler to apply for a target instance for the target application task;
[0009] After determining that the target instance has completed the response to the start request, sending a feedback on the start request to the user terminal.
[0010] An embodiment of this application also provides a service method applicable to a visual client deployed on a user terminal, and the method includes:
[0011] Responding to a start operation on a target visual application that occurs in a service interface provided by the visual server, and generating a start request;
[0012] Sending the start request to the visual server for the visual server to call the task scheduler to apply for a target instance for the start request;
[0013] Receive the feedback from the visualization server for the startup request.
[0014] An embodiment of the present application further provides a control device, on which a visualization server and a task scheduler are deployed;
[0015] The visualization server is configured to receive a startup request for a target visualization application sent by a user terminal; encapsulate the startup request into a target application task according to the task format supported by the task scheduler and submit it to the task scheduler;
[0016] The task scheduler is configured to apply for a target instance for the startup request;
[0017] The visualization server is further configured to, after determining that the target instance has completed the response to the startup request, provide feedback on the startup request to the user terminal.
[0018] An embodiment of the present application further provides a terminal device, including a memory and a processor;
[0019] One or more computer instructions are stored in the memory;
[0020] The processor is coupled to the memory, and the processor is configured to run the computer instructions in the memory to perform:
[0021] Generate a startup request in response to a startup operation for a target visualization application occurring in the service interface provided by the visualization server;
[0022] Send the startup request to the visualization server for the visualization server to call the task scheduler to apply for a target instance for the startup request;
[0023] Receive the feedback from the visualization server for the startup request.
[0024] An embodiment of the present application further provides a computer-readable storage medium storing a computer program, which, when executed by one or more processors, causes the one or more processors to execute the foregoing service method.
[0025] An embodiment of the present application further provides a computer program product, including a computer program, which, when executed by one or more processors, causes the one or more processors to execute the foregoing service method.
[0026] In the embodiments of the present application, an innovative service solution can be achieved through the cooperation between the visualization server and the visualization client. The visualization client can be deployed on the user terminal side, and the visualization server can be deployed on the cloud side. On this basis, the user can initiate a startup request for the visualization application as needed using the visualization client. After receiving the startup request, the visualization server can encapsulate the startup request as an application task and submit it to the task scheduler. In this way, the task scheduler can be borrowed for the usage preparation stage of the visualization application, and the scheduling capabilities of the task scheduler can be used to apply for visualization instances for different users respectively. Accordingly, by leveraging the scheduling capabilities of the task scheduler, resources that are isolated from each other can be automatically allocated to different users for starting the visualization application, thereby avoiding resource contention problems when multiple users use the visualization application. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The drawings described herein are used to provide a further understanding of the present application and form a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation to the present application. In the drawings:
[0028] Figure 1 is a logical schematic diagram of a service solution provided by an exemplary embodiment of the present application;
[0029] Figure 2a is a page schematic diagram of a service interface provided by an exemplary embodiment of the present application;
[0030] Figure 2b is another page schematic diagram in the service interface provided by an exemplary embodiment of the present application;
[0031] Figure 3 is an exemplary timing diagram of the interaction among all parties in a service solution provided by an exemplary embodiment of the present application;
[0032] Figure 4 is a logical schematic diagram of another service solution provided by an exemplary embodiment of the present application;
[0033] Figure 5 is a schematic diagram of an application scenario provided by an exemplary embodiment of the present application;
[0034] Figure 6 is provided by an exemplary embodiment of the present application Figure 5 is a schematic diagram of the service implementation process under the application scenario shown;
[0035] Figure 7 is a flowchart of a service method provided by another exemplary embodiment of the present application;
[0036] Figure 8A schematic flowchart of another service method provided by another exemplary embodiment of the present application;
[0037] Figure 9 A schematic structural diagram of a control device provided by another exemplary embodiment of the present application;
[0038] Figure 10 A schematic structural diagram of a terminal device provided by another exemplary embodiment of the present application. Detailed implementation manners
[0039] To make the objectives, technical solutions and advantages of the present application clearer, the technical solutions of the present application will be clearly and completely described below in conjunction with specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
[0040] Before starting to elaborate on the technical solutions provided by the embodiments of the present application, several technical concepts involved in the present application are briefly explained as follows.
[0041] A visualization application refers to a type of application program that can provide a visual application interface and support users to access the application interface. Typical visualization applications include audio and video players. As introduced in the background art, some HPC applications also belong to visualization applications. For a visualization application, a user can remotely access its application interface, and the usage operations performed by the user in the application interface will be submitted to the computing cluster hosting the visualization application for processing.
[0042] A visualization runtime environment can be understood as a runtime environment provided for starting a visualization application.
[0043] Starting a visualization application can be understood as executing some program logics in the visualization runtime environment to complete related initialization steps such as "establishing a communication channel with the computing cluster where the visualization application is located" and "rendering the application interface of the visualization application". This is similar to opening an application program on a desktop (equivalent to the visualization runtime environment).
[0044] As introduced in the background art, currently, it is usually the administrator who selects a fixed server, deploys a visualization running environment for the visualization application in the selected server, and starts the visualization application. On this basis, multiple users can access the server to use the visualization application in a visual manner. However, in this visualization service mode, due to the limited hardware resources in the server, the problem of multiple users competing for resources often occurs, affecting the user experience of using the visualization application.
[0045] Therefore, this embodiment proposes an improved service method to solve the problem of resource competition when multiple users use the visualization application.
[0046] The following will describe in detail the technical solutions provided by each embodiment of the present application with reference to the accompanying drawings.
[0047] Figure 1 It is a logical schematic diagram of a service solution provided in an exemplary embodiment of the present application. As Figure 1 shown, the service solution provided in this embodiment involves a visualization client and a visualization server. Among them, the visualization client can be deployed in each user terminal, and the visualization server can be deployed on the cloud side. This embodiment does not limit the deployment location of the visualization server on the cloud side. For example, it can be deployed in an independent cloud server or in an existing management and control node in the computing cluster where the visualization application is located, etc. No more examples are given here.
[0048] In addition, the implementation form of the visualization client is not limited in this embodiment. For example, the visualization client can be implemented as a Web side or as an Application Programming Interface (API), etc. No more examples are given here. The visualization client in this embodiment can display the service interface provided by the visualization server, and through the service interface, it can support users to perform various operations to trigger the interaction between the visualization client and the visualization server.
[0049] Based on the traditional visualization service mode provided in the background art, it is the administrator who completes the use preparation stage of the visualization application (selecting the server, starting the visualization running environment, and starting the visualization application, etc.). Users originally did not participate in this use preparation stage, but could only passively accept the arrangements of the administrator. However, this embodiment subverts this traditional division of labor and proposes that users participate in and lead this use preparation stage, no longer relying on the administrator.
[0050] For the convenience of description, this embodiment will expand the description of the technical solution from the perspective of a single user who needs to use the target visualization application. It should be understood that this user can be any user among multiple users, and the target visualization application can be any visualization application among multiple visualization applications.
[0051] Figure 2a This is a schematic diagram of a page in the service interface provided by an exemplary embodiment of the present application. Refer to Figure 2a , various operation controls can be displayed on an exemplary page in the service interface, including but not limited to operation controls for supporting visual application selection, operation controls for triggering a startup request, etc. No more examples are given here.
[0052] Based on this, for the visualization client, it can generate a startup request in response to a startup operation for a target visualization application that occurs in the service interface. In actual applications, the user can perform a visual application selection operation on the operation control A in Figure 2a (for example, click on the identifier corresponding to the target visualization application). In this way, the visualization client can respond to the visual application selection operation to select the target visualization application; afterwards, the user can perform a submission operation on the operation control B (start button) in Figure 2a . In this way, the visualization client can generate a startup request for the target visualization application in response to this submission operation. The generated startup request will be used to request the startup of the selected target visualization application.
[0053] Refer to Figure 1 , the visualization client can send the generated startup request to the visualization server.
[0054] In this embodiment, it is innovatively proposed to borrow the task scheduler into the usage preparation stage of the visualization application. As mentioned above, the visualization application is deployed in a computing cluster, and a task scheduler is deployed in the computing cluster. The task scheduler is responsible for scheduling the application tasks submitted to the computing cluster to apply for appropriate resources in the computing cluster to process the application tasks. It can be seen that the task scheduler does not originally participate in the usage preparation stage of the visualization application either. Instead, it starts to work after the usage preparation stage of the visualization application is completed and the user creates an application task through the accessed application interface. In this embodiment, the existing working logic in the task scheduler is not limited, and in different application scenarios, the existing working logic in the task scheduler may be different. Taking the HPC scenario as an example: The task scheduler can be responsible for receiving the computing jobs submitted by the user, allocating the jobs to specific computing resources in the computing cluster for computing according to the preset scheduling strategy, and is also responsible for monitoring the running status of the jobs to obtain the computing execution results. The job is the application task in the HPC scenario, and different jobs can be configured with different parameter settings such as resource requirements, priorities, execution times, etc. The task scheduler can generally adopt different scheduling strategies for the parameters configured for different jobs. When there are many jobs on the computing resources, the task scheduler can perform job queuing and queue management. The task scheduler will also monitor the job execution results, and the jobs that fail to execute can be resubmitted for execution.
[0055] It should be understood that, regardless of the application scenario, the task scheduler generally has the scheduling ability to schedule the received application tasks and allocate computing resources for the application tasks. In this embodiment, this scheduling ability of the task scheduler is borrowed to the usage preparation stage of the visualization application.
[0056] Continue to refer to Figure 1 , for the visualization server, after receiving the start request, the start request can be encapsulated as an application task. Among them, the format of the start request complies with the transmission protocol between the visualization server and the visualization client in this embodiment, but this format cannot be supported by the task scheduler. Therefore, in this embodiment, the visualization client can encapsulate the start request as a target application task according to the task format supported by the task scheduler and submit it to the task scheduler.
[0057] As mentioned above, the task scheduler itself already has the scheduling ability for application tasks. Therefore, after receiving the target application task, the task scheduler will schedule the target application task and allocate computing resources for the target application task. In this embodiment, the computing resources allocated by the task scheduler for the target application task are the target instances.
[0058] In this embodiment, during the process of the task scheduler scheduling the target application task, elastic computing technology can be combined. Elastic computing is a flexible way of allocating computing resources, which can dynamically adjust the quantity and type of computing resources according to computing requirements. This technology can help users process more requests during peak periods and avoid resource bottleneck problems caused by too few computing resources; at the same time, release unnecessary resources during off-peak periods and avoid waste problems caused by too many computing resources, thereby maximizing resource utilization and reducing costs. Among them, the computing resources are provided by cloud service providers, and users only need to use them on demand and pay the corresponding fees. As mentioned above, in this embodiment, the computing resources applied for the target application task can be elastic service instances provided by elastic computing technology, and the implementation forms of elastic service instances can include but are not limited to: containers, virtual machines, function services, cloud servers, bare metal servers, etc., and no more examples are given here.
[0059] Figure 3 It is an exemplary sequence diagram of the interactions among all parties in a service solution provided by an exemplary embodiment of this application. Refer to Figure 3, in practical applications, the management module responsible for elastic scaling can monitor the details of each application task in the task scheduler, determine the resource usage for the application tasks, and create elastic service instances for the application tasks in the task scheduler according to the resource usage. In this way, the task scheduler can apply for the target instance for the target application task. The management module for elastic scaling can be an independently deployed system, or can be deployed together with the task scheduler or be an internal component of the task scheduler. It should be understood that, based on elastic computing technology, elastic service instances can be elastically applied for or released. Refer to Figure 3 , in practical applications, the management module responsible for elastic scaling may include a resource management component, which is used to be responsible for life cycle management functions such as instance creation, deletion, addition, and withdrawal of computing resources in the computing cluster. The resource management component can interact with the task scheduler to notify the task scheduler of the addition and withdrawal of computing resources, so that the task scheduler can update its own scheduling policy. In this way, the resource management component can implement the life cycle management of elastic service instances. Similarly, the resource management component can be an independently deployed system, or can be deployed together with the task scheduler or be an internal component of the task scheduler.
[0060] It should be noted that the scheduling process corresponding to the task scheduler described here is only exemplary, and this embodiment is not limited thereto. In this embodiment, as long as the target instance can be applied for by borrowing the existing scheduling capabilities of the task scheduler, it is not limited to how the task scheduler specifically applies for the target instance, and no more details will be given on this.
[0061] Further preferably, in this embodiment, in the foregoing link of generating the start request, in addition to selecting the target visualization application, the user can also configure the resource requirements for the target visualization application. Refer to Figure 2a , the user can Figure 2a perform a resource requirement configuration operation on the operation control C for resource requirement configuration in Figure 2a to input the required instance resource specifications for the target visualization application. In this way, the visualization client can determine the required instance resource specifications for the target visualization application in response to the resource requirement configuration operation occurring in the service interface. Among them, the instance resource specifications may include but are not limited to the required number of CPU cores, the required number of GPUs, and the required amount of memory, etc. As
[0062] It should be understood that Figure 2a in the figure, operation control A and operation control C are shown on the same page. In actual applications, the pages where various operation controls are located can be designed as needed, and it is not limited to this Figure 2a The exemplary page shown should not impose a limitation on the service interface provided by the visualization server in this application
[0063] Continuing to refer to Figure 1 , the start request will be scheduled to the target instance. Based on this, the target instance can respond to the start request to start the target visualization application on the target instance. As mentioned above, the process of the target instance starting the target visualization application may include, but is not limited to, creating a visualization running environment and rendering the application interface of the target visualization application in the visualization running environment. That is to say, the target instance has completed the preparation work for using the target visualization application. After completing the start of the target visualization application, a visualization execution environment is running on the target instance. Therefore, the target instance in this embodiment can also be referred to as a visualization instance to distinguish it from the computing instance that will bear the computing work corresponding to the visualization application in the following text
[0064] In this way, in this embodiment, for different start requests, different target instances can be applied for, and different instances are isolated from each other and do not interfere with each other. Therefore, the resources occupied by different start requests are isolated from each other, and there is no longer a problem of multi-user resource preemption
[0065] On this basis, continuing to refer to Figure 1 , after determining that the target instance has completed the response to the start request, the visualization server can give feedback on the start request to the user terminal. Among them, referring to Figure 3 , in actual applications, the visualization server can monitor the task status information of the target application task from the task scheduler. The task status information can describe whether the target instance applied for by the task scheduler has completed the task response. Therefore, the visualization server can determine whether the target instance has completed the response to the start request according to the monitored task status information. If it has been completed, it means that the target visualization application has completed the preparation for use on the target instance. Thus, the visualization server can give feedback on the start request to the visualization client, that is, feedback to the visualization client that the target visualization application has been fully started
[0066] In this embodiment, the feedback form adopted by the visualization server when giving a feedback on the startup request is not limited. Optionally, the visualization server may use notifications, instructions, data packets in a pre-agreed format, etc. to implement the feedback on the startup request, and no more examples of feedback forms are given here. In this embodiment, the feedback form may be pre-agreed in the communication protocol between the visualization server and the visualization client, and the visualization server gives a feedback on the startup request according to the feedback form agreed in the communication protocol, so as to ensure that the visualization client can learn that the sent startup request has been responded to.
[0067] Reference Figure 1 , for the visualization client, it can receive the feedback on the startup request given by the visualization server. After that, the visualization client can continue to support the user to use the target visualization application.
[0068] In summary, in this embodiment, an innovative service solution can be implemented through the cooperation between the visualization server and the visualization client. The visualization client can be deployed on the user terminal side, and the visualization server can be deployed on the cloud side. On this basis, the user can initiate a startup request for the visualization application as needed by using the visualization client. After receiving the startup request, the visualization server can encapsulate the startup request into an application task and submit it to the task scheduler. In this way, the task scheduler can be borrowed in the process of starting the visualization application, and the scheduling ability of the task scheduler can be used to apply for visualization instances for different users respectively. Accordingly, different users can use the visualization application through isolated resources, and with the help of the elastic scheduling ability of the task scheduler, it is possible to support elastic allocation of resources on demand among different users, thus avoiding resource contention problems when multiple users use the visualization application.
[0069] Figure 4 It is a logical schematic diagram of another service solution provided for an exemplary embodiment of the present application. Reference Figure 4 , in the above or following embodiments, the visualization client can also support the user to perform a shutdown operation on the target visualization application in the service interface. Figure 2b It is another page schematic diagram in the service interface provided for an exemplary embodiment of the present application. Reference Figure 2b , various operation controls may be displayed on an exemplary page in the service interface, including but not limited to operation controls for supporting the selection of a started visualization application, operation controls for triggering a shutdown request, etc., and no more examples are given here.
[0070] Based on this, for the visualization client, it can generate a shutdown request in response to the shutdown operation on the target visualization application that occurs in the service interface. In an optional shutdown scheme: the user can Figure 2bPerform a visual application selection operation on the operation control D therein (for example, click on the identifier corresponding to the target visual application). In this way, the visual client can respond to the visual application selection operation to select the target visual application. After that, the user can Figure 2b perform a trigger operation on the operation control E (close button) therein. In this way, the visual client can respond to the trigger operation to generate a close request for the target visual application. That is, the generated close request is used to request to close the selected target visual application.
[0071] In this embodiment, other closing schemes can also be adopted in the visual client to generate a close request. For example, after detecting that the user closes the application interface of the target visual application, a close request for the target visual application can be generated, etc. No more examples of closing schemes are given here.
[0072] Continue to refer to Figure 4 , the visual client can send the close request to the visual server.
[0073] As mentioned above, the target application task is submitted by the visual server to the task scheduler in this embodiment. Therefore, the visual server can be used as the submitter of the target application task. In this way, from the perspective of the task scheduler, the visual server has the permission to request to stop the target application task. And the task scheduler has the ability to stop tasks. In this embodiment, it is proposed to borrow the ability of the task scheduler to stop tasks into the closing link of the visual application.
[0074] Based on this, referring to Figure 4 , for the visual server, after receiving the close request for the target visual application sent by the visual client, it can submit a task stop instruction for the target application task to the task scheduler to trigger the task scheduler to release the target instance.
[0075] In summary, in this embodiment, it is proposed to borrow the ability of the task scheduler to stop tasks to release the applied target instance as needed. In this way, not only can instances be applied for on demand for different users, but also the instances can be released in a timely manner according to the actual usage of different users, achieving the effect of using and leaving as needed and releasing when not in use, and ensuring the utilization rate of cloud computing resources.
[0076] In the above or following embodiments, the interaction method between the visual client and the visual server is also optimized to provide users with a consistent and simple user experience.
[0077] In this preferred implementation, during the process of feeding back a startup request to the visualization client: the visualization server can generate access address information for routing to the target instance for the startup request; and feed back the access address information to the visualization client. Specifically, the access address information can be carried in the aforementioned notification, instruction, or data packet to be fed back to the visualization client. The visualization client can then create an interface access entry for the target visualization application based on the access address information.
[0078] In this way, from the user's perspective, they only need to simply click on the interface access entry to access the application interface of the target visualization application. This enables the user to obtain a consistent and simple visualization usage experience, and the user is unaware of both the startup request encapsulation process and the target instance application process in this embodiment.
[0079] In this preferred implementation, the display form of the interface access entry is not limited. For example, the interface access entry can be displayed as an icon or a session identifier, etc., and no more examples are given here. Additionally, the visualization client can create independent interface access entries for different visualization applications and record the access address information associated with each interface access entry.
[0080] Based on this, the user can initiate a visualization request for the visualization application through the interface access entry in the service interface displayed by the visualization client. In this way, in this embodiment, the visualization client can generate a visualization request carrying the access address information in response to a trigger operation on the interface access entry; and can send the visualization request to the visualization server.
[0081] Among them, the visualization request here can be understood as a remote access request initiated for the application interface of the visualization application. In practical applications, a remote access protocol client can be installed in the visualization client in this embodiment, and a remote access protocol server can be installed in the target instance. Based on the cooperation between the remote access protocol client and the remote access protocol server, the application interface of the target visualization application can be displayed in the visualization client. Optionally, the remote access protocol in this embodiment can adopt the Virtual Network Console (VNC) protocol. Of course, protocols such as Xmanager can also be used in this embodiment, and no limitation is made here. Regardless of which protocol is adopted, by installing the corresponding protocol client in the visualization client in this embodiment, it can be ensured that the format of the generated visualization request is a format that can be supported by the target instance, so as to ensure that after the visualization request reaches the target instance, it can trigger the target instance to respond.
[0082] Based on this, in this embodiment, the visualization client can generate a visualization request according to the request format agreed in the aforementioned remote access protocol. The visualization request needs to carry access address information. For example, it is usually carried in the address field in the request header. Different from the conventional remote access protocol, in this embodiment, the access address information provided by the visualization server is carried in the visualization request generated by the visualization client, and the address information of the target instance is not directly carried. However, as described above, the visualization server in this embodiment can route the visualization request based on the access address information. Therefore, even though the visualization request generated by the visualization client does not carry the address information of the target instance, through the routing function of the visualization server, it can still ensure that the visualization request can reach the target instance without obstacles.
[0083] It can be seen that in this embodiment, the user can initiate a visualization request for the target visualization application conveniently and quickly through the intuitive interface access entry.
[0084] For the visualization server, it can receive the visualization request sent by the user terminal through the interface access entry; and route it according to the access address information carried in the visualization request to route the visualization request to the target instance.
[0085] In this embodiment, it is proposed that the visualization server can be used as a network proxy between the visualization client and the target instance. In this way, through the routing function of the visualization server, it can ensure that the visualization request sent by the visualization client can reach the target instance without obstacles.
[0086] In an exemplary solution that supports the transfer of visualization requests: an access address space for the user terminal can be pre-configured in the visualization server. The visualization clients in different user terminals can initiate visualization requests according to the unified access address space. Among them, the access address space can include a port space and an IP address space. In the port space, non-overlapping port numbers can be assigned to different visualization applications, and several IP addresses available for visualization requests can be provided in the IP address space. Based on this, the visualization server can obtain the address information of the target instance returned by the task scheduler; map the address information of the target instance to the access address space to generate address mapping information; and encapsulate the address mapping information as access address information. The address information of the target instance includes a port and / or an IP address. Exemplarily, the visualization server can encapsulate the address mapping information into a preset address format to generate access address information. Here, the preset address format can be a uniform resource locator URL, etc., and no more examples of address formats are given here.
[0087] For example, the visualization server can allocate port number 1000 for the target visualization application in this access address space. If the port number in the address information of the target instance is 80 and the IP address is 168.1.1.0, in order to prevent the address information of the target instance from being disclosed to the visualization client, the visualization server in this embodiment can be used as a network proxy. Based on this, the port number 80 of the target instance can be mapped to port number 1000, and the IP address of the target instance can be mapped to 192.0.0.0 in this access address space. In this way, a URL can be encapsulated based on port number 1000 and IP address 192.0.0.0 and returned to the visualization client as the access address information. The visualization request initiated by the visualization client will carry this URL. As described above, the visualization server in this embodiment can be used as a network proxy to parse port number 1000 and IP address 192.0.0.0 from this URL, and based on the managed mapping relationship (for example, the corresponding mapping relationship can be recorded through the session), it can be determined that the visualization request should be sent to port number 80 and IP address 168.1.1.0. The visualization server can forward the visualization request to the target instance accurately based on the determined address.
[0088] It can be seen that in this embodiment, by using the visualization server as a network proxy between the visualization client and the target instance, the security of the target instance can be effectively protected, and the user terminal can be prevented from directly accessing the target instance through the visualization server.
[0089] In addition, in this embodiment, a security group can also be configured in the visualization server. Among them, the security group is a logical grouping that can provide access policies for elastic service instances with the same security protection requirements and mutual trust. Based on this, in this embodiment, the visualization server can configure security groups for different users respectively. Among them, the target instances created for a single user are in the same security group; based on each security group, access control is performed on the received visualization requests.
[0090] Based on the security group, after determining that the target instance has been applied for the user, the visualization server in this embodiment can add the applied target instance to the security group corresponding to the user. In this way, from the perspective of a single user, each target instance applied for by initiating a start request can be added to the security group corresponding to the user, and will not be added to the security group corresponding to other users.
[0091] Based on the security group, the visualization server in this embodiment can implement access control (Resource Access Management, RAM) for the received visualization requests, thereby ensuring that users can only access the target instances they have applied for, and cannot access the target instances corresponding to other users, further ensuring user isolation and improving the security of user data.
[0092] Similarly, after receiving a visualization request, the target instance can, through the network proxy function provided by the visualization server in this embodiment, return the application interface of the target visualization application to the visualization client. Based on this, the visualization client can display the application interface of the target visualization application provided by the target instance in the service interface.
[0093] After that, the user can perform visualization operations in the application interface. For the visualization client, it can generate an operation instruction in response to the visualization operation occurring in the application interface, and send the operation instruction to the visualization server for the visualization server to route the operation instruction to the target instance.
[0094] After the operation instruction reaches the target instance, the target instance can generate an application task according to the operation instruction. It should be understood that the application task generated by the target instance here is the computing task that the visualization application needs to execute. The application task generated by the target instance will be submitted to the task scheduler according to the traditional task processing process to trigger the task scheduler to schedule computing resources for the application task. In practical applications, the target visualization application is usually deployed on multiple computing instances in its computing cluster, and these computing instances can carry out the computing work corresponding to the visualization application. On this basis, the task scheduler can schedule the application task to a suitable computing instance for the computing instance to execute the relevant computing work and thus complete the response to the application task; if no suitable computing instance is scheduled, the task scheduler can also apply for a new computing instance for the application task and deploy the target visualization application in the applied computing instance to complete the response to the application task. Details of task scheduling will not be elaborated further, and various task scheduling schemes that may appear currently or in the future can be referred to. This embodiment does not limit the task scheduling scheme.
[0095] Figure 5 It is a schematic diagram of an application scenario provided for an exemplary embodiment of this application. Refer to Figure 5 , the service solution provided in this embodiment can be applied to high-performance computing (HPC) scenarios or elastic high-performance computing (E-HPC) scenarios. In Figure 5In the E-HPC scenario shown, an application center is deployed in the E-HPC service provided by the cloud service provider. The application center is responsible for application management and deployment. The application center contains various HPC applications such as vina and vmd. Among them, some applications support interaction with end-users in a visual way. Such applications are the visual applications in this embodiment. The visual applications contained in the application center can be directly called by visual jobs.
[0096] Based on the service solution provided in this embodiment, an independent visual service can be abstracted from the aforementioned E-HPC service. Here, the visual service can be understood as a cloud service unit. The visual service consists of two parts: a visual client and a visual server. Refer to Figure 5 , the visual client can be deployed on the user terminal for users to use, while the visual server is deployed on the cloud side.
[0097] Continue to refer to Figure 5 , a schematic diagram of the internal structure of the visual server is also shown. The visual server may include a proxy component, a conversion component, a communication component, a management component, etc.
[0098] Communication component: It can be implemented as a software logic unit, used to manage the number of visual channels and be responsible for docking with the user terminal. Refer to Figure 5 , if the visual client uses the WEB side, the communication component can use the session method to enable different users to obtain a consistent visual web experience.
[0099] Management component: It can be used to solve the complexity problem of port number management in the case of multiple users and multiple applications under traditional visual services. The management component can also automatically allocate ports and open security groups through the access control RAM system on the cloud, making the visual service simpler.
[0100] Proxy component: It is used as a network proxy to perform network routing between the visual client and the E-HPC cluster resources, so as to shield the cluster resources from users and protect the security of the cluster resources.
[0101] Conversion component: It is mainly responsible for encapsulating the start request sent by the visual client into a visual job supported by the HPC scheduler and submitting it to the HPC scheduler for scheduling.
[0102] The above briefly describes the functions of the components inside the visual server in the E-HPC scenario in Figure 5 . For the method steps described in the foregoing embodiments. Figure 5The communication component therein is responsible for receiving the startup request for the target visualization application sent by the user terminal; the conversion component is responsible for encapsulating the startup request into a target application task according to the task format supported by the task scheduler and submitting it to the task scheduler to trigger the task scheduler to apply for a target instance for the target application task; and the communication component is also responsible for feeding back the startup request to the user terminal after determining that the target instance has completed the response to the startup request. More specifically, Figure 5 the management component therein is responsible for generating access address information for each startup request, establishing security groups for different users and performing access control, etc. Figure 5 The proxy component therein is responsible for the working logic related to routing. The detailed working logic of each component will not be elaborated here. For reference, please refer to the relevant descriptions in the foregoing embodiments.
[0103] In addition, referring to Figure 5 , other existing service units in the E-HPC service are also borrowed to assist in implementing the service solution provided in this embodiment. These existing service components include:
[0104] HPC Scheduler: It is responsible for receiving the computing jobs submitted by users, allocating the jobs to the specific computing resources of the computing cluster for computing according to different scheduling policies, and monitoring the running status of the jobs to obtain the computing execution results. Among them, a job is a computing task of HPC, and different jobs are configured with different resource requirements, priorities, execution times and other parameters. Generally, the HPC scheduler can adopt different scheduling policies for the configuration parameters of different jobs. When there are many jobs on the computing resources, the HPC scheduler will perform job queuing and queue management. The HPC scheduler will also monitor the job execution results, and the jobs that fail to execute can be resubmitted for execution.
[0105] Elastic Scaling Component: An internal unit of E-HPC. This module listens to the job details in the scheduler, makes internal decisions on the job resource usage, applies for and releases cloud resources through a unified API, and completes the dynamic allocation of cluster resources. In this solution, by listening to the resource requirements of visualization jobs, resource application and release are completed, and finally users can use visualization services without feeling it.
[0106] Resource Management Component: Responsible for the life cycle management functions such as resource creation, deletion, addition and withdrawal of computing resources of the entire E-HPC cluster. The resource management component interacts with the HPC scheduler to notify the HPC scheduler of the addition and withdrawal of computing resources so that the HPC scheduler can update its scheduling policy. Different from the composition of traditional supercomputer systems, since the instances on the cloud can be elastically applied for and released, this embodiment borrows this resource management component for the life cycle management of cluster resources. The resource management component can be an independently deployed system, or can be deployed together with the HPC scheduler or as an internal component of the HPC scheduler.
[0107] In addition, referring to Figure 5 , an E-HPC cluster in the E-HPC scenario is also shown, and each HPC application managed in the aforementioned application center is deployed in the E-HPC cluster. The computing resources in the E-HPC cluster may include elastic service instances such as virtual machines (VMs), GPUs, or bare metal.
[0108] Figure 6 For an exemplary embodiment of the present application Figure 5 is a schematic diagram of the implementation process of the visualization service in the application scenario shown. Referring to Figure 6 , the visualization server can receive a start request through the logical visualization channel with the visualization client, encapsulate the received start request as a visualization job, and implement a dynamically expandable visualization service through the combination of the HPC scheduler and the elastic scaling technology, bringing a simple and consistent user experience to users. The implementation process of this exemplary visualization service generally includes:
[0109] 1. The user applies for using a visualization application in the E-HPC through web, client, or other API methods. The E-HPC can return the URL of the visualization application to the user through the visualization server, and the user can directly open and operate it.
[0110] 2. The internal logic of the visualization server manages the start request issued by the user, manages the visualization applications inside the E-HPC, obtains the execution body, encapsulates the start request as a visualization job, and submits it to the HPC scheduler.
[0111] 3. The HPC scheduler schedules the visualization job, coordinates with the elastic scaling service, judges the resources such as servers and ports required for the visualization job, and realizes the automatic application and release of resources.
[0112] 4. The visualization server obtains the job running details from the HPC scheduler, obtains information such as the port number of the visualization instance applied for the start request, and provides a unified access link through the internal proxy component.
[0113] It should be understood that in this embodiment, the target instances applied for by the HPC scheduler for the start requests sent by the visualization client will also be located in the E-HPC cluster. In this way, based on the service solution provided in this embodiment, the E-HPC cluster will at least include two parts of instances: the first part of the instances is used to deploy the visualization running environment and render the application interfaces of the visualization application, that is, each target instance in this embodiment; the second part of the instances is the instances originally existing in the E-HPC cluster for deploying HPC applications. Visualization jobs can be triggered based on the remote operations of the user on the application interface in the target instances applied for in this embodiment. Through the job scheduling process of the HPC scheduler, the visualization jobs can be scheduled to the second part of the above-mentioned instances to execute the jobs. The job results will then be returned to the above-mentioned target instances, and the target instances can update the application interface according to the job results and present the updated application interface to the visualization client for the user to view.
[0114] On this basis, based on the service solution provided in this embodiment, in Figure 5 the application scenario shown, at least the following technical effects can be obtained:
[0115] 1. Visualization resource isolation to avoid visualization resource competition among multiple users.
[0116] 2. Solve the problem of manual deployment of the visualization environment. Neither the cluster administrator nor the end user is aware of resources such as the visualization running environment and ports.
[0117] 3. Compared with a fixed visualization cluster / server, the feature of this solution is elasticity, which can be used as needed, meeting the visualization usage requirements and saving costs.
[0118] 4. Through visualization internal proxy, application and port management, users can obtain a simplified and consistent experience.
[0119] Figure 7 It is a schematic flowchart of a service method provided for another exemplary embodiment of this application. This method can be executed on a visualization server, which can be implemented as software, hardware, or a combination of software and hardware, and the visualization server can be integrated in a computing device on the cloud side. Referring to Figure 7 this method may include:
[0120] Step 700, receiving a start request for a target visualization application sent by a user terminal;
[0121] Step 701, encapsulating the start request into a target application task according to the task format supported by the task scheduler and submitting it to the task scheduler to trigger the task scheduler to apply for a target instance for the target application task;
[0122] Step 702, after determining that the target instance has completed the response to the startup request, send a startup request feedback to the user terminal.
[0123] In an alternative embodiment, the method may further include:
[0124] After receiving the shutdown request sent by the user terminal for the target visualization application, submit a task stop instruction for the target application task to the task scheduler to trigger the task scheduler to release the target instance.
[0125] In an alternative embodiment, sending a startup request feedback to the user terminal includes:
[0126] Generate access address information for routing to the target instance for the startup request;
[0127] Feedback the access address information to the user terminal to trigger the user terminal to create an interface access entry for the target visualization application based on the access address information.
[0128] In an alternative embodiment, the method may further include:
[0129] Receive a visualization request sent by the user terminal through the interface access entry;
[0130] Route according to the access address information carried in the visualization request to route the visualization request to the target instance.
[0131] In an alternative embodiment, generating access address information for routing to the target instance for the startup request includes:
[0132] Obtain the address information of the target instance returned by the task scheduler;
[0133] Map the address information of the target instance to the access address space facing the user terminal configured in the visualization server to generate address mapping information;
[0134] Package the address mapping information into a preset address format to generate the access address information;
[0135] Wherein, the address information of the target instance includes a port and / or an IP address.
[0136] In an alternative embodiment, the method may further include:
[0137] Configure security groups for different users respectively, wherein the target instances created for a single user are in the same security group;
[0138] Based on each security group, access control is performed on the received visualization requests.
[0139] Figure 8 FIG. 4 is a schematic flowchart of another service method provided for another exemplary embodiment of the present application. This method can be executed by a visualization client, which can be implemented as software, hardware, or a combination of software and hardware, and can be integrated into a user terminal. Refer to Figure 8 , this method may include:
[0140] Step 800, in response to a start operation for a target visualization application occurring in a service interface provided by the visualization server, generate a start request;
[0141] Step 801, send the start request to the visualization server for the visualization server to call a task scheduler to apply for a target instance for the start request;
[0142] Step 802, receive the feedback from the visualization server on the start request.
[0143] In an optional embodiment, this method may further include:
[0144] In response to a close operation for the target visualization application occurring in the service interface, generate a close request;
[0145] Send the close request to the visualization server for the visualization server to call the task scheduler to release the target instance.
[0146] In an optional embodiment, generating a start request in response to a start operation for a target visualization application occurring in a service interface provided by the visualization server includes:
[0147] In response to a visualization application selection operation occurring in the service interface to select the target visualization application;
[0148] In response to a resource requirement configuration operation occurring in the service interface, determine the required instance resource specifications for the target visualization application;
[0149] Based on the identifier of the target visualization application and the instance resource specifications, generate the start request;
[0150] Wherein, the target instance is applied for according to the instance resource specifications.
[0151] In an optional embodiment, receiving the feedback from the visualization server on the start request includes:
[0152] Receive the access address information fed back by the visualization server;
[0153] After receiving the access address information, the method further includes:
[0154] Create an interface access entry for the target visualization application in the service interface based on the access address information;
[0155] In response to a trigger operation on the interface access entry, generate a visualization request carrying the access address information;
[0156] Send the visualization request to the visualization server, so that the visualization server routes the visualization request to the target instance based on the access address information;
[0157] Display the application interface of the target visualization application provided by the target instance in the service interface.
[0158] In an alternative embodiment, the method may further include:
[0159] In response to a visualization operation occurring in the application interface, generate an operation instruction;
[0160] Send the operation instruction to the visualization server, so that the visualization server routes the operation instruction to the target instance;
[0161] Wherein, the target instance generates an application task according to the operation instruction and submits it to the task scheduler, so as to trigger the task scheduler to apply for an instance for executing the application task for the application task.
[0162] It should be noted that in some of the processes described in the above embodiments and the accompanying drawings, a plurality of operations appear in a specific order, but it should be clearly understood that these operations may not be executed in the order in which they appear herein or may be executed in parallel. The serial numbers of the operations, such as 801, 802, etc., are only used to distinguish different operations, and the serial numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in order or in parallel.
[0163] Figure 9 The structure diagram of a control device provided by another exemplary embodiment of the present application. As Figure 9 shown, a visualization server 90 and a task scheduler 91 can be deployed on the control device;
[0164] The visualization server 90 is configured to receive a start request for a target visualization application sent by a user terminal; encapsulate the start request into a target application task according to the task format supported by the task scheduler and submit it to the task scheduler;
[0165] A task scheduler 91, configured to apply for a target instance for a startup request;
[0166] A visualization server 90, further configured to, after determining that the target instance has completed the response to the startup request, feed back the startup request to the user terminal.
[0167] In an optional embodiment, the visualization server 90 may further be configured to, after receiving a shutdown request for the target visualization application sent by the user terminal, submit a task stop instruction for the target application task to the task scheduler;
[0168] The task scheduler 91 may further be configured to release the target instance according to the task stop instruction.
[0169] In an optional embodiment, when the visualization server 90 feeds back the startup request to the user terminal, it may specifically be configured to:
[0170] Generate access address information for routing to the target instance for the startup request;
[0171] Feed back the access address information to the user terminal to trigger the user terminal to create an interface access entry for the target visualization application based on the access address information.
[0172] In an optional embodiment, the visualization server 90 may further be configured to:
[0173] Receive a visualization request sent by the user terminal through the interface access entry;
[0174] Route according to the access address information carried in the visualization request to route the visualization request to the target instance.
[0175] In an optional embodiment, when the visualization server 90 generates access address information for routing to the target instance for the startup request, it may specifically be configured to:
[0176] Obtain the address information of the target instance returned by the task scheduler;
[0177] Map the address information of the target instance to the access address space facing the user terminal configured in the visualization server to generate address mapping information;
[0178] Encapsulate the address mapping information into a preset address format to generate the access address information;
[0179] Wherein, the address information of the target instance includes a port and / or an IP address.
[0180] In an optional embodiment, the visualization server 90 may further be configured to:
[0181] Configure security groups for different users, where the instances created for a single user are in the same security group;
[0182] Based on each security group, perform access control on the received visualization requests.
[0183] It should be noted that for the technical details in the above embodiments of the control device, reference can be made to the relevant descriptions of the visualization server in the foregoing solution logic embodiments. To save space, they will not be elaborated here, but this should not cause loss of the protection scope of this application.
[0184] Figure 10 This is a schematic structural diagram of a terminal device provided in another exemplary embodiment of this application. As Figure 9 shown, the interruption device may include a memory 10 and a processor 11;
[0185] One or more computer instructions are stored in the memory 10;
[0186] The processor 11 is coupled to the memory 10, and the processor 11 is configured to run the computer instructions in the memory 10 to perform:
[0187] In response to a start operation for a target visualization application occurring in the service interface provided by the visualization server, generate a start request;
[0188] Send the start request to the visualization server for the visualization server to call the task scheduler to apply for a target instance for the start request;
[0189] Receive the feedback from the visualization server on the start request.
[0190] In an optional embodiment, the processor 11 may further be configured to:
[0191] In response to a close operation for the target visualization application occurring in the service interface, generate a close request;
[0192] Send the close request to the visualization server for the visualization server to call the task scheduler to release the target instance.
[0193] In an optional embodiment, when the processor 11 generates a start request in response to a start operation for a target visualization application occurring in the service interface provided by the visualization server, it may specifically be configured to:
[0194] In response to a visualization application selection operation occurring in the service interface to select the target visualization application;
[0195] In response to a resource requirement configuration operation occurring in the service interface, determine the required instance resource specifications for the target visualization application;
[0196] Generate the start request based on the identifier of the target visualization application and the instance resource specifications;
[0197] Wherein, the target instance is applied for according to the instance resource specifications.
[0198] In an alternative embodiment, when the processor 11 receives the feedback from the visualization server for the start request, it may specifically be used for:
[0199] Receive the access address information feedback by the visualization server
[0200] After receiving the access address information, the processor 11 may further be used for:
[0201] Create an interface access entry for the target visualization application in the service interface based on the access address information;
[0202] In response to a trigger operation for the interface access entry, generate a visualization request carrying the access address information;
[0203] Send the visualization request to the visualization server for the visualization server to route the visualization request to the target instance based on the access address information;
[0204] Display the application interface of the target visualization application provided by the target instance in the service interface.
[0205] In an alternative embodiment, the processor 11 may further be used for:
[0206] In response to a visualization operation occurring in the application interface, generate an operation instruction;
[0207] Send the operation instruction to the visualization server for the visualization server to route the operation instruction to the target instance;
[0208] Wherein, the target instance generates an application task according to the operation instruction and submits it to the task scheduler to trigger the task scheduler to apply for an instance for executing the application task.
[0209] Furthermore, as Figure 10 shown, the terminal device further includes: other components such as a communication component 12, a display 13, a power supply component 14, and an audio component 15. Figure 10 Only some components are schematically shown, and it does not mean that the terminal device only includes Figure 10 the components shown.
[0210] It should be noted that for the technical details in the above embodiments of the terminal device, reference can be made to the relevant descriptions of the visualization client in the foregoing solution logic embodiments. To save space, they will not be elaborated here, but this should not cause any loss to the protection scope of this application.
[0211] Correspondingly, an embodiment of this application also provides a computer-readable storage medium storing a computer program, and when the computer program is executed, it can implement each step executable in the foregoing method embodiment.
[0212] In addition, an embodiment of this application also provides a computer program product, and when the computer program is executed by one or more processors, it causes the one or more processors to execute the foregoing service method.
[0213] The above Figure 10 The memory is used to store a computer program and can be configured to store various other data to support operations on the computing platform. Examples of such data include instructions for any application program or method for operating on the computing platform, contact data, phone book data, messages, pictures, videos, etc. The memory can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
[0214] The above Figure 10 The communication component is configured to facilitate communication between the device where the communication component is located and other devices in a wired or wireless manner. The device where the communication component is located can access a wireless network based on a communication standard, such as WiFi, 2G, 3G, 4G / LTE, 5G and other mobile communication networks, or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component further includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
[0215] The above Figure 10The display in [description] includes a screen, which may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen can be implemented as a touch screen to receive input signals from a user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors can sense not only the boundaries of touch or swipe actions but also detect the duration and pressure associated with the touch or swipe operation.
[0216] The above-mentioned Figure 10 The power supply component in [description] provides power for various components of the device where the power supply component is located. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device where the power supply component is located.
[0217] The above-mentioned Figure 10 The audio component in [description] can be configured to output and / or input audio signals. For example, the audio component includes a microphone (MIC), which is configured to receive external audio signals when the device where the audio component is located is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals can be further stored in a memory or transmitted via a communication component. In some embodiments, the audio component also includes a speaker for outputting audio signals.
[0218] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) containing computer-usable program code.
[0219] The present application is described with reference to the flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or block in the flowcharts and / or block diagrams, and the combination of processes and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate means for implementing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.
[0220] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to operate in a particular manner, such that the instructions stored in the computer-readable memory produce a manufacture including instruction means that implement the function specified in one or more of the processes Figure 1 steps or a plurality of steps and / or blocks Figure 1 blocks or a plurality of blocks.
[0221] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, so that the instructions executed on the computer or other programmable apparatus provide steps for implementing the function specified in one or more of the processes Figure 1 steps or a plurality of steps and / or blocks Figure 1 blocks or a plurality of blocks.
[0222] It should also be noted that the term "comprising", "including" or any other variation thereof is intended to cover non-exclusive inclusion, such that a process, method, commodity or apparatus comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, commodity or apparatus. Without further limitation, an element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, commodity or apparatus comprising the element.
[0223] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. The collection, use and processing of relevant data need to comply with the relevant laws, regulations and standards of relevant countries and regions, and corresponding operation entrances are provided for users to choose to authorize or refuse.
[0224] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, various changes and modifications can be made to the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included within the protection scope of the present application.
Claims
1. A service method, characterized in that, Applicable to the visualization server side, the method includes: Receiving a startup request for a target visualization application sent by a user terminal; Encapsulating the startup request into a target application task according to the task format supported by the task scheduler and submitting it to the task scheduler to trigger the task scheduler to apply for a target instance for the target application task; After determining that the target instance has completed the response to the startup request, providing feedback on the startup request to the user terminal.
2. The method according to claim 1, wherein It also includes: After receiving a shutdown request for the target visualization application sent by the user terminal, submitting a task stop instruction for the target application task to the task scheduler to trigger the task scheduler to release the target instance.
3. The method according to claim 1, wherein Providing feedback on the startup request to the user terminal includes: Generating access address information for routing to the target instance for the startup request; Feeding back the access address information to the user terminal to trigger the user terminal to create an interface access entry for the target visualization application based on the access address information.
4. The method according to claim 3, characterized in that, It also includes: Receiving a visualization request sent by the user terminal through the interface access entry; Routing according to the access address information carried in the visualization request to route the visualization request to the target instance.
5. The method according to claim 3, wherein Generating access address information for routing to the target instance for the startup request includes: Obtaining the address information of the target instance returned by the task scheduler; Mapping the address information of the target instance to the access address space facing the user terminal configured in the visualization server to generate address mapping information; Encapsulating the address mapping information into a preset address format to generate the access address information; Wherein, the address information of the target instance includes a port and / or an IP address.
6. The method according to claim 1, characterized in that, It also includes: Configuring security groups for different users respectively, where each target instance created for a single user is in the same security group; Based on each security group, performing access control on the received visualization requests.
7. A service method, characterized in that, Applicable to the visualization client deployed on the user terminal, the method includes: Generating a startup request in response to a startup operation for a target visualization application occurring in the service interface provided by the visualization server; Sending the startup request to the visualization server for the visualization server to call the task scheduler to apply for a target instance for the startup request; Receiving the feedback from the visualization server on the startup request.
8. The method according to claim 7, wherein It also includes: Generating a shutdown request in response to a shutdown operation for the target visualization application occurring in the service interface; Sending the shutdown request to the visualization server for the visualization server to call the task scheduler to release the target instance.
9. The method according to claim 7, wherein Generating a startup request in response to a startup operation for a target visualization application occurring in the service interface provided by the visualization server includes: Responding to a visualization application selection operation occurring in the service interface to select the target visualization application; In response to a resource requirement configuration operation occurring in the service interface, determine the required instance resource specifications for the target visualization application; Generate the start request based on the identifier of the target visualization application and the instance resource specifications; wherein the target instance is applied for according to the instance resource specifications.
10. The method according to claim 7, wherein Receive the feedback from the visualization server for the start request, including: Receive the access address information feedback by the visualization server; After receiving the access address information, the method further includes: Create an interface access entry for the target visualization application in the service interface based on the access address information; In response to a trigger operation for the interface access entry, generate a visualization request carrying the access address information; Send the visualization request to the visualization server for the visualization server to route the visualization request to the target instance based on the access address information; Display the application interface of the target visualization application provided by the target instance in the service interface.
11. The method according to claim 10, characterized in that, Further includes: In response to a visualization operation occurring in the application interface, generate an operation instruction; Send the operation instruction to the visualization server for the visualization server to route the operation instruction to the target instance; wherein the target instance generates an application task according to the operation instruction and submits it to the task scheduler to trigger the task scheduler to apply for an instance for executing the application task.
12. A control device, characterized in that, On which a visualization server and a task scheduler are deployed; The visualization server is configured to receive a start request for a target visualization application sent by a user terminal; Encapsulate the start request into a target application task according to the task format supported by the task scheduler and submit it to the task scheduler; The task scheduler is configured to apply for a target instance for the start request; The visualization server is further configured to, after determining that the target instance has completed the response to the start request, give feedback on the start request to the user terminal.
13. A terminal device, characterized in that, Includes a memory and a processor; One or more computer instructions are stored in the memory; The processor is coupled to the memory, and the processor is configured to run the computer instructions in the memory for executing: In response to a start operation for a target visualization application occurring in the service interface provided by the visualization server, generate a start request; Send the start request to the visualization server for the visualization server to call the task scheduler to apply for a target instance for the start request; Receive the feedback from the visualization server for the start request.
14. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by one or more processors, cause the one or more processors to execute the service method according to any one of claims 1-11.
15. A computer program product, characterized in that, Includes a computer program, when the computer program is executed by one or more processors, cause the one or more processors to execute the service method according to any one of claims 1-11.