[go: up one dir, main page]

CN120723252A - Stream rendering application management method and stream rendering management device - Google Patents

Stream rendering application management method and stream rendering management device

Info

Publication number
CN120723252A
CN120723252A CN202510931463.8A CN202510931463A CN120723252A CN 120723252 A CN120723252 A CN 120723252A CN 202510931463 A CN202510931463 A CN 202510931463A CN 120723252 A CN120723252 A CN 120723252A
Authority
CN
China
Prior art keywords
stream
stream rendering
rendering
gpu server
rendering application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202510931463.8A
Other languages
Chinese (zh)
Inventor
徐梦
奚燕
陈宏杰
吴珍珍
林杨平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Supcon Information Industry Co Ltd
Original Assignee
Zhejiang Supcon Information Industry Co Ltd
Filing date
Publication date
Application filed by Zhejiang Supcon Information Industry Co Ltd filed Critical Zhejiang Supcon Information Industry Co Ltd
Publication of CN120723252A publication Critical patent/CN120723252A/en
Pending legal-status Critical Current

Links

Abstract

The application provides a stream rendering application management method and stream rendering management equipment, and relates to the technical field of GPU stream rendering. The method comprises the steps of obtaining deployment information input by a user on a user operation interface of stream rendering management equipment, generating a deployment instruction according to the deployment information, sending the deployment instruction to a proxy node in a target GPU server based on a preset message format, and enabling the proxy node to deploy a stream rendering application in the target GPU server, wherein the stream rendering application deployed in the target GPU server comprises at least one rendering instance, and each rendering instance is used for executing rendering and operation component communication. The application realizes the deployment and management of the stream rendering application in the GPU server through the pre-deployed proxy node in the GPU server, and remarkably improves the overall management efficiency and the automatic operation and maintenance level of the stream rendering application when the stream rendering application runs in parallel in the face of large-scale, multi-server and multi-project.

Description

Stream rendering application management method and stream rendering management device
Technical Field
The application relates to the technical field of GPU (graphics processing Unit) stream rendering, in particular to a stream rendering application management method and stream rendering management equipment.
Background
Stream rendering (STREAMING RENDERING), also known as cloud rendering or Pixel Streaming, is a technique that transfers a graphics rendering process from a local device to a cloud server and then transmits the rendering result to a user terminal in the form of a video stream through the internet. By deploying and running the stream rendering application, the stream rendering functionality may be applied.
Currently, the deployment and running of stream rendering applications relies primarily on localized management of single or small number of graphics processing unit (Graphics Processing Unit, GPU) servers. Development or operation personnel typically need to manually perform copying, configuration modification, start and stop, timed start and stop, deletion, and version update of the stream rendering application. Although the manual management mode can still meet the requirements under single project or small-scale deployment scenes, the requirements of high-efficiency, stable and automatic operation and maintenance cannot be met when the scene of concurrent operation of large-scale, multi-server and multiple projects is faced, so that the management efficiency of the stream rendering application is affected.
Disclosure of Invention
The application aims to overcome the defects in the prior art, and provides a stream rendering application management method and a stream rendering management device, so as to solve the problem that the prior art cannot meet the requirements of efficient, stable and automatic operation and maintenance when facing scenes running in a large-scale, multi-server and multi-project concurrency mode, thereby influencing the management efficiency of the stream rendering application.
In order to achieve the above purpose, the technical scheme adopted by the embodiment of the application is as follows:
in a first aspect, an embodiment of the present application provides a method for managing a stream rendering application, which is applied to a stream rendering management system, where the stream rendering management system includes a stream rendering management device and a plurality of GPU servers, and each GPU server has a proxy node deployed in advance, where the method includes:
Acquiring deployment information input by a user on a user operation interface of the stream rendering management device, wherein the deployment information comprises stream rendering application to be deployed and an identification of a target GPU server, and the target GPU server is any one or more of the plurality of GPU servers;
Generating a deployment instruction according to the deployment information, wherein the deployment instruction is used for indicating the deployment of the stream rendering application in the target GPU server, and the deployment instruction comprises the stream rendering application;
Based on a preset message format, the deployment instruction is sent to a proxy node in the target GPU server, and the proxy node deploys the stream rendering application in the target GPU server, wherein the stream rendering application deployed in the target GPU server comprises at least one rendering instance, and each rendering instance is used for executing rendering and operation component communication.
As a possible implementation manner, the sending the deployment instruction to a proxy node in the target GPU server includes:
and sending the deployment instruction to a message queue so that the proxy node receives the deployment instruction based on the message queue, wherein the message queue is used for establishing communication connection between the stream rendering management equipment and the target GPU server.
As one possible implementation, the deploying, by the proxy node, the stream rendering application in the target GPU server includes:
and the proxy node acquires the stream rendering application from the received deployment instruction, acquires each rendering instance in the stream rendering application, and deploys each rendering instance to the target GPU server.
As a possible implementation manner, the method further includes:
And sending an operation instruction to the proxy node in the target GPU server based on the preset message format, and executing the operation on the stream rendering application by the proxy node according to the operation instruction, wherein the operation instruction comprises a start-stop instruction, an update instruction, a deletion instruction or a configuration modification instruction.
As a possible implementation manner, the method further includes:
If a new GPU server is accessed to the stream rendering management equipment, a new proxy node is deployed in the new GPU server, and the message reporting address corresponding to the new proxy node is modified to be the IP address and the port of the middleware corresponding to the message queue of the stream rendering management equipment, so that the new proxy node receives an instruction of stream rendering application aiming at the new GPU server from the message queue.
As a possible implementation manner, after the deploying, by the proxy node, the stream rendering application in the target GPU server, the method further includes:
Receiving operation information sent by a proxy node in the target GPU server, wherein the operation information comprises hardware operation information of the target GPU server and operation information of each stream rendering application deployed on the target GPU server;
And performing operation and maintenance detection on each stream rendering application deployed on the target GPU server according to the operation information, and executing operation and maintenance operation according to an operation and maintenance detection result.
As a possible implementation manner, the performing operation and maintenance detection on each stream rendering application deployed on the target GPU server according to the operation information, and performing operation and maintenance operation according to the operation and maintenance detection result, includes:
performing heartbeat detection and frame rate detection on each stream rendering application deployed on the target GPU server according to the running information to obtain a heartbeat detection value and a frame rate detection value of each stream rendering application;
and if the heartbeat detection value of the stream rendering application is greater than the first threshold value and/or the frame rate detection value of the stream rendering application is greater than the second threshold value, restarting the stream rendering application.
As a possible implementation manner, the method further includes:
Scheduling the stream rendering application deployed on the target GPU server, and sending scheduling information to a client, wherein the scheduling information comprises authority information and instance information of the unused healthy stream rendering application deployed on the target GPU server, and the instance information comprises a stream rendering port, a service port, a rendering instance IP and a password for applying for connection rendering, so that the client establishes connection with the healthy stream rendering application to display video streams of the healthy stream rendering application on an access interface provided by the client;
if the healthy stream rendering application corresponding to the video stream displayed by the access interface at present is abnormal, performing frame cutting processing on the access interface, and switching the video stream of the healthy stream rendering application displayed on the access interface.
As one possible implementation manner, the stream rendering application deployed on the target GPU server includes a stream rendering application corresponding to at least one item, and the scheduling the stream rendering application deployed on the target GPU server and sending scheduling information to a client includes:
acquiring authority information of a plurality of healthy stream rendering applications corresponding to a target item deployed on the target GPU server;
Determining unused healthy stream rendering applications in the plurality of healthy stream rendering applications corresponding to the target item based on whether authority information of the plurality of healthy stream rendering applications corresponding to the target item is not empty;
and taking the authority information and the instance information of the unused healthy stream rendering application as the scheduling information, and sending the scheduling information to the client.
In a second aspect, an embodiment of the present application provides a stream rendering management system, where the stream rendering management system includes a stream rendering management device and a plurality of GPU servers, and each GPU server has a proxy node deployed in advance therein.
In a third aspect, an embodiment of the present application provides a stream rendering management apparatus, including a processor, a storage medium, and a bus, where the storage medium stores machine-readable instructions executable by the processor, and when the stream rendering management apparatus is running, the processor communicates with the storage medium through the bus, and the processor executes the machine-readable instructions to perform the steps of the stream rendering application management method according to any one of the first aspect.
In a fourth aspect, embodiments of the present application provide a computer readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of the stream rendering application management method according to any of the first aspects described above.
According to the stream rendering application management method and the stream rendering management device, deployment information input by a user on a user operation interface of the stream rendering management device is obtained, a deployment instruction for indicating to deploy a stream rendering application in a target GPU server is generated according to the deployment information, the deployment instruction is sent to a proxy node in the target GPU server based on a preset message format, and the proxy node deploys the stream rendering application in the target GPU server. According to the embodiment of the application, a user inputs deployment information, namely the identifiers of the stream rendering application to be deployed and the target GPU server, through a user interface provided by the stream rendering management equipment, the stream rendering management equipment generates a detailed deployment instruction according to the deployment information, and the deployment instruction is sent to an agent node on the designated target GPU server through a preset message format, namely an MQTT protocol. Accordingly, the proxy node receives and analyzes the deployment instruction, and starts the stream rendering application and the rendering instance thereof in the local environment, so that each rendering instance can independently execute the rendering task and communicate among the operation components. Therefore, the resource utilization rate and the response speed are improved, and the flexibility and the expansibility of the stream rendering management system are also enhanced, so that when the stream rendering management system runs in parallel in the face of large-scale, multi-server and multi-project, the high-efficiency management and stable running state can be maintained, and the overall management efficiency and the automatic operation and maintenance level of the stream rendering application are remarkably improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the embodiments will be briefly described below, it being understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and other related drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 illustrates a schematic architecture of a stream rendering management system according to an embodiment of the present application;
FIG. 2 is a schematic flow chart of a method for managing a stream rendering application according to an embodiment of the present application;
Fig. 3 is a schematic flow diagram of an operation and maintenance detection method of a stream rendering application according to an embodiment of the present application;
FIG. 4 is a schematic diagram of a method for detecting operation and maintenance of a stream rendering application according to an embodiment of the present application;
FIG. 5 shows a schematic diagram of scheduling logic of a stream rendering management apparatus according to an embodiment of the present application;
fig. 6 is an interaction schematic diagram of a redundancy switching method according to an embodiment of the present application;
Fig. 7 shows a schematic structural diagram of a stream rendering management apparatus according to an embodiment of the present application.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present application more apparent, the technical solutions of the embodiments of the present application will be clearly and completely described with reference to the accompanying drawings in the embodiments of the present application, and it should be understood that the drawings in the present application are for the purpose of illustration and description only and are not intended to limit the scope of the present application. In addition, it should be understood that the schematic drawings are not drawn to scale. A flowchart, as used in this disclosure, illustrates operations implemented according to some embodiments of the present application. It should be understood that the operations of the flow diagrams may be implemented out of order and that steps without logical context may be performed in reverse order or concurrently. Moreover, one or more other operations may be added to or removed from the flow diagrams by those skilled in the art under the direction of the present disclosure.
In addition, the described embodiments are only some, but not all, embodiments of the application. The components of the embodiments of the present application generally described and illustrated in the figures herein may be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the application, as presented in the figures, is not intended to limit the scope of the application, as claimed, but is merely representative of selected embodiments of the application. All other embodiments, which can be made by a person skilled in the art without making any inventive effort, are intended to be within the scope of the present application.
It should be noted that the term "comprising" will be used in embodiments of the application to indicate the presence of the features stated hereafter, but not to exclude the addition of other features.
Fig. 1 shows an architecture diagram of a stream rendering management system according to an embodiment of the present application. Referring to fig. 1, the stream rendering management system includes a stream rendering management device and a plurality of GPU servers, in which each GPU server is pre-deployed with a proxy node, and each GPU server includes one or more stream rendering applications, through which each stream rendering application can be managed in operation and maintenance.
Optionally, proxy nodes are deployed in each GPU server in advance, and the proxy nodes serve as bridges between the stream rendering management device and the GPU servers, can receive instructions from the stream rendering management device and convert the instructions into specific task execution commands, and monitor running states of each stream rendering application in the GPU servers to ensure smooth progress of tasks. On the basis, the stream rendering management device can uniformly manage and schedule the stream rendering application in each GPU server through the proxy node deployed in each GPU server, and can distribute the stream rendering task to different GPU servers through the proxy node deployed in each GPU server according to actual requirements.
Alternatively, multiple stream rendering applications run on each GPU server, which may take advantage of the powerful computing capabilities of the GPU servers to accomplish complex rendering tasks. In order to realize operations such as distribution of rendering tasks and state monitoring, the streaming rendering management platform and each GPU server can perform message transmission through a preset message format, for example, (Message Queuing Telemetry Transport, MQTT) format, and the streaming rendering management platform can send an MQTT message to the proxy node of each GPU server through an MQTT message protocol, wherein the MQTT message comprises a rendering task message or a specific operation instruction for streaming rendering application. Correspondingly, proxy nodes deployed in each GPU server receive the MQTT message from the stream rendering management platform, execute corresponding operations on the corresponding stream rendering applications according to the MQTT message, and are responsible for monitoring the running states of each stream rendering application.
In addition, the proxy node deployed in each GPU server can be used for carrying out operation and maintenance management on the stream rendering application in each GPU server, collecting hardware operation information of the GPU server and operation information of each stream rendering application in time and reporting the hardware operation information and the operation information of each stream rendering application to the stream rendering management platform, and the stream rendering management platform can also discover and process abnormal conditions in time while ensuring normal operation of the stream rendering application.
Based on the above, the stream rendering management system provided by the embodiment of the application realizes the effective management and the efficient execution of the large-scale stream rendering task through the cooperative work between the stream rendering management device and the plurality of GPU servers. The proxy nodes are deployed in advance in the GPU servers, the proxy nodes play a key role in mediating, and the stream rendering management equipment manages and schedules stream rendering applications on the GPU servers through the proxy nodes deployed in the GPU servers, for example, the same or different stream rendering tasks can be sent to the GPU servers at the same time, so that the management efficiency of the stream rendering tasks is improved.
The method for managing a stream rendering application according to the embodiment of the present application will be described in detail with reference to the description of the stream rendering management system shown in fig. 1.
Fig. 2 is a flow chart illustrating a method for managing a stream rendering application according to an embodiment of the present application, where the method is applied to a stream rendering management system. Referring to fig. 2, the method specifically includes the following steps:
s201, acquiring deployment information input by a user on a user operation interface of the stream rendering management device.
Optionally, the deployment information includes a stream rendering application to be deployed and an identification of the target GPU server. Wherein the target GPU server is any one or more of a plurality of GPU servers.
Optionally, the stream rendering management device is provided with a user operation interface dedicated to managing and monitoring the stream rendering tasks, and the user inputs deployment information on the user operation interface, specifically, for example, inputs an application name of the stream rendering application to be deployed and selects an identification of a target GPU server on which the stream rendering application to be deployed is to be run.
S202, generating a deployment instruction according to the deployment information.
Optionally, the deployment instruction is configured to instruct deployment of the stream rendering application in the target GPU server, where the deployment instruction includes the stream rendering application.
Optionally, the stream rendering management device needs to generate specific deployment instructions to guide subsequent operations based on the deployment information input by the user on the user operation interface. Specifically, the deployment instruction includes, in addition to the stream rendering application, detailed information of the stream rendering application and a deployed target position, that is, a position of the target GPU server, so as to ensure that the stream rendering management device can accurately send the deployment instruction to the target GPU server, and ensure that a proxy node of the target GPU server knows how to execute the deployment task specifically.
S203, based on a preset message format, sending a deployment instruction to a proxy node in the target GPU server, and deploying a stream rendering application in the target GPU server by the proxy node.
Optionally, at least one rendering instance is included in a stream rendering application deployed in the target GPU server, each rendering instance for performing rendering and operating component communication. The operation component is websocket, and the rendering instance can send data to the proxy node through the operation component websocket, http protocol or the MQTT protocol.
Optionally, the stream rendering management device encodes or packages the deployment instructions in a predefined message format so as to be accurately interpreted by the proxy node on the target GPU server. The preset message format is, for example, an MQTT format, and the stream rendering management device may format the deployment instruction according to the MQTT message protocol, obtain a formatted deployment instruction, and send the formatted deployment instruction to the designated target GPU server.
Further, the proxy node on the target GPU server receives the deployment instruction sent by the stream rendering management device, analyzes the deployment instruction, and starts to deploy the stream rendering application in the local environment of the target GPU server. Since the stream rendering application includes at least one rendering instance to perform rendering and operating component communication, the proxy node needs to launch at least one rendering instance to be responsible for performing the actual rendering work and communicating with other components during the stream rendering application deployment process.
Optionally, since the MQTT protocol has small header overhead, and is very suitable for use under the condition of limited bandwidth or poor network conditions, and the publish/subscribe mode of the MQTT allows one-to-many message distribution, the number of connections and resource consumption required for peer-to-peer communication are reduced, so that the message transmission efficiency of the stream rendering management device can be significantly improved by adopting the MQTT protocol to perform message transmission, and particularly when processing large-scale concurrent tasks, the bandwidth requirement is reduced for the stream rendering management system requiring frequent communication. In addition, the MQTT protocol supports real-time data transmission, deployment instructions can be rapidly sent from the stream rendering management equipment to the proxy node on the target GPU server, feedback of the proxy node is timely obtained, and the stream rendering management equipment and the target GPU server can complete message exchange without being online at the same time because the MQTT protocol is asynchronous, so that flexibility and reliability of the stream rendering management system are enhanced.
Based on this, according to the stream rendering application management method of the embodiment of the present application, a user inputs deployment information, i.e., a to-be-deployed stream rendering application and an identifier of a target GPU server, through a user interface provided by a stream rendering management device, and the stream rendering management device generates a detailed deployment instruction according to the deployment information, and sends the deployment instruction to an agent node on the designated target GPU server through a preset message format, i.e., an MQTT protocol. Accordingly, the proxy node receives and analyzes the deployment instruction, and starts the stream rendering application and the rendering instance thereof in the local environment, so that each rendering instance can independently execute the rendering task and communicate among the operation components. Therefore, the resource utilization rate and the response speed are improved, and the flexibility and the expansibility of the stream rendering management system are also enhanced, so that when the stream rendering management system runs in parallel in the face of large-scale, multi-server and multi-project, the high-efficiency management and stable running state can be maintained, and the overall management efficiency and the automatic operation and maintenance level of the stream rendering application are remarkably improved.
As one possible implementation, the step of sending the deployment instruction to the proxy node in the target GPU server includes sending the deployment instruction into a message queue, such that the proxy node receives the deployment instruction based on the message queue.
Optionally, the message queue is used to establish a communication connection between the stream rendering management device and the target GPU server. Message queues are middleware that allows different system components, such as the stream rendering management device and proxy nodes in the target GPU server, to communicate in an asynchronous manner. Specifically, a message queue is adopted to establish communication connection between the stream rendering management device and the target GPU server, so that direct communication is not needed between the stream rendering management device and the proxy node, but indirect communication is realized through the message queue, the coupling degree of the stream rendering management system can be reduced, and the flexibility and the expandability are improved. In addition, because the message queue supports asynchronous communication, the stream rendering management device can immediately send a deployment instruction to the proxy node of the target GPU server, and the proxy node can process the deployment instruction again at a proper time, and because the message queue has the characteristic of persistence, even if the target GPU server has network failure or the stream rendering management system crashes, the deployment instruction is ensured not to be lost, and the reliability of the stream rendering management system is enhanced.
Alternatively, the message queue is a service provided by a dedicated message Broker, which may be deployed on a separate server or integrated in the stream rendering management system. The message queue is used as a centralized message exchange center between the stream rendering management device and the target GPU server, all messages such as deployment instructions sent from the stream rendering management device arrive at the message queue first, and then the proxy node acquires the corresponding deployment instructions from the message queue.
Optionally, the stream rendering management device generates a specific deployment instruction according to the deployment information input by the user on the user operation interface, and encodes the deployment instruction according to a preset message format, so that the deployment instruction can be correctly analyzed by the message queue and the proxy node. On the basis, the stream rendering management equipment establishes connection with the message queue, and after the connection is successful, the stream rendering management equipment issues the deployment instruction as a message by calling a corresponding API interface so as to upload the deployment instruction to the message queue.
Accordingly, the proxy node also establishes a connection with the message queue and maintains a long connection to listen for messages in real time. After the stream rendering management equipment generates a deployment instruction and uploads the deployment instruction to the message queue, the proxy node receives the deployment instruction uploading notification and processes the corresponding deployment instruction in response to the deployment instruction uploading notification.
Based on the method, the stream rendering management equipment sends the deployment instruction to the message queue, and correspondingly, the proxy node receives the deployment instruction from the message queue, and the transmission process of the deployment instruction utilizes the asynchronous and decoupling characteristics of the message queue, so that the response speed and stability of the stream rendering management system can be improved, the communication logic between the stream rendering management equipment and the proxy node in the target GPU server is simplified, and the operation of large-scale, multi-server and multi-project concurrent stream rendering tasks becomes more efficient and reliable.
As one possible implementation, the foregoing steps of deploying, by the proxy node, the stream rendering application in the target GPU server include obtaining, by the proxy node, the stream rendering application from the received deployment instruction, and obtaining each rendering instance in the stream rendering application, and deploying each rendering instance into the target GPU server.
Optionally, the deployment instruction includes a stream rendering application, an identification of the target GPU server, and configuration information of each rendering instance in the rendering application. The identification of the target GPU server is used for indicating which GPU server the streaming rendering application should be deployed on, and the configuration information of each rendering instance includes information such as resources, operation parameters, communication settings and the like required by each rendering instance.
Optionally, the proxy node in the target GPU server receives the deployment instruction through the message queue, parses the deployment instruction, extracts relevant information of the streaming rendering application and the rendering instance thereof from the deployment instruction, and starts the rendering instance corresponding to the streaming rendering application on the target GPU server. Specifically, the proxy node may first check the availability of resources, ensure that there are enough resources on the target GPU server to launch a new rendering instance, and then launch the stream rendering application using a command line tool or API interface call. And after the stream rendering application is started, the proxy node further monitors the running state of each rendering instance in the stream rendering application, and restarts the stream rendering application or performs other maintenance operations when necessary.
Based on this, the proxy node receives the deployment instruction from the message queue, extracts the information of the specific stream rendering application and rendering instance from the deployment instruction, and then performs actual deployment and starting on the target GPU server. The stream rendering application deployment mode not only improves the automation degree of the stream rendering management system, but also ensures the effective utilization of resources and the efficient execution of tasks, and is particularly suitable for scenes with large-scale, multi-server and multi-project concurrent operation.
As one possible implementation manner, the method further includes sending an operation instruction to a proxy node in the target GPU server based on the preset message format, and executing, by the proxy node, an operation for the stream rendering application according to the operation instruction.
Optionally, the preset message format is, for example, an MQTT format, and the operation instruction includes a start-stop instruction, an update instruction, a delete instruction, or a modify configuration instruction. The start-stop instruction is used for starting or stopping the stream rendering application, the update instruction is used for updating codes or configuration files of the stream rendering application or rendering examples in the stream rendering application, the deletion instruction is used for deleting the stream rendering application or rendering examples, and the modification configuration instruction is used for adjusting operation parameters of the stream rendering application or the rendering examples in the stream rendering application.
Optionally, taking the operation instruction as an example, based on a user operation interface provided by the stream rendering management device, the user selects one or more stream rendering applications in the GPU server to be started or stopped, or one or more rendering instances in the stream rendering applications, the stream rendering management device generates a corresponding start-stop instruction based on the user input information, formats the start-stop instruction based on the MQTT format, obtains the formatted operation instruction, and sends the formatted operation instruction to the message queue for storage through the MQTT protocol. Accordingly, the proxy node obtains and parses the operation instruction from the message queue, determines one or more stream rendering applications in the GPU server to be started or stopped, or one or more rendering instances in the stream rendering applications, and further performs a start or stop operation on the corresponding stream rendering applications or rendering instances.
Based on the method, the stream rendering management device sends different types of operation instructions to the proxy node by utilizing the MQTT protocol, and the proxy node executes corresponding operations according to the operation instructions, especially under the complex scene of large-scale, multi-server and multi-project concurrent operation, the automation level of the stream rendering management system is improved, and the high efficiency and the reliability of the operation are ensured.
As one possible implementation manner, the method further comprises deploying a new proxy node in the new GPU server if the new GPU server accesses the stream rendering management device, and modifying a message report address corresponding to the new proxy node to an IP address and a port of the middleware corresponding to a message queue of the stream rendering management device, so that the new proxy node receives an instruction of a stream rendering application for the new GPU server from the message queue.
Optionally, in order to ensure that the newly joined GPU server is able to receive and execute the operation instructions from the stream rendering management device, a proxy node needs to be deployed in the new GPU server and configured for communication connection with the message queue when the new GPU server accesses the stream rendering management device.
Optionally, proxy node software is installed and started on the new GPU server, so that a new proxy node is deployed on the new GPU server, then proxy node configuration is performed, and the message report address (i.e., the IP address and the port of the message queue) of the new proxy node is set as the IP address and the port of the middleware corresponding to the message queue of the stream rendering management device, so that the new proxy node can be ensured to be correctly connected to the message queue, and the operation instruction sent by the stream rendering management device can be received and processed.
Based on this, when a new GPU server accesses the stream rendering management device, by deploying a new proxy node in the new GPU server and configuring the proxy node to be able to receive instructions for the stream rendering application of the new GPU server from the message queue.
Fig. 3 is a flow chart illustrating an operation and maintenance detection method for a stream rendering application according to an embodiment of the present application. Referring to fig. 3, after the stream rendering application is deployed by the proxy node in the target GPU server, the method further comprises:
S301, receiving operation information sent by a proxy node in the target GPU server.
Optionally, the running information includes hardware running information of the target GPU server and running information of each stream rendering application deployed on the target GPU server.
Optionally, after the stream rendering application deployment is started, the proxy node monitors the running condition of each stream rendering application in the target GPU server in real time, and sends the hardware running information of the target GPU server and the running information of each stream rendering application deployed on the target GPU server to the stream rendering management device.
S302, performing operation and maintenance detection on each stream rendering application deployed on the target GPU server according to the operation information, and executing operation and maintenance operation according to the operation and maintenance detection result.
Optionally, after receiving the operation information sent by the proxy node in the target GPU server, the stream rendering management device performs heartbeat detection and frame rate detection on each stream rendering application deployed on the target GPU server according to the operation information, to obtain an operation and maintenance detection result of each stream rendering application, where the operation and maintenance detection result includes a heartbeat detection value and a frame rate detection value, and further determines an operation and maintenance operation to be performed according to the operation and maintenance detection result. Specifically, if the heartbeat detection value of the stream rendering application is greater than a first threshold value and/or the frame rate detection value of the stream rendering application is greater than a second threshold value, restarting the stream rendering application.
For example, referring to fig. 4, after the stream rendering application is started, the proxy node detects the running condition of the stream rendering application in real time, and periodically collects the running information of the stream rendering application, and stores the running information in the cache database. Accordingly, the stream rendering management device may perform heartbeat timeout detection on the deployed stream rendering application based on the received operation information. Specifically, the stream rendering management device queries running information of the stream rendering application stored in the proxy node from the cache database, and carries out heartbeat timeout detection based on the running information to obtain a heartbeat detection value of the stream rendering application. If the heartbeat detection value is greater than the first threshold value, the stream rendering management device restarts the stream rendering application.
Optionally, the stream rendering management device may perform frame rate detection on the deployed stream rendering application based on the received operation information. Specifically, the stream rendering management device queries running information of the stream rendering application stored in the proxy node from the cache database, and performs frame rate detection based on the running information to obtain a frame rate detection value of the stream rendering application. If the frame rate detection value is greater than the second threshold value, the stream rendering management device also restarts the stream rendering application.
Based on the method, the heartbeat and the frame rate of the stream rendering application are monitored in real time, and the restarting operation is automatically triggered based on the preset threshold, so that the method can rapidly respond when the stream rendering application is abnormal or has reduced performance, the high availability and the stability of the stream rendering management system are ensured, meanwhile, the manual intervention is reduced, and the operation and maintenance efficiency is improved.
As one possible implementation, the method further includes scheduling a stream rendering application deployed on the target GPU server and sending scheduling information to the client to establish a connection between the client and the healthy stream rendering application to display a video stream of the healthy stream rendering application on an access interface provided by the client. If the healthy stream rendering application corresponding to the video stream currently displayed on the access interface is abnormal, performing frame cutting processing on the access interface, and switching the video stream of the healthy stream rendering application displayed on the access interface, wherein the client is a browser.
Optionally, the scheduling information includes authority information and instance information of unused healthy stream rendering applications deployed on the target GPU server, the instance information including a stream rendering port, a service port, a rendering instance IP, and a password for applying for connection rendering. The stream rendering port refers to a network port for transmitting the rendered picture data, and the client establishes video stream communication with the GPU server through the stream rendering port so as to acquire the real-time rendered picture content. The service port refers to a service interface port for processing interaction logic such as control instructions, status queries, etc., and is generally used for receiving input events (such as a mouse and a keyboard) of a user, sending control commands (such as suspension and continuation), acquiring status feedback, etc. Rendering instance IP refers to an IP address or an intranet address of a GPU server where the rendering instance is located, and a client can be positioned to a specific GPU server through the IP address and establish connection with a port. The password for applying for connection rendering is a temporary authentication credential for ensuring the validity of a client connection request, e.g. a one-time connection token, to prevent unauthorized access and enhance the security of the stream rendering management system.
The authority information indicates that the user has the authority of operating the streaming rendering application, such as whether the user has the authority of starting, stopping, configuring and modifying, and when the authority information is empty (i.e. no authority), the streaming rendering application is not available or is not allowed to be used by the current user, and if the authority is not empty, the user is indicated to have a certain level of access or control capability and can be used for subsequent authority verification and function call.
Optionally, acquiring authority information of a plurality of healthy stream rendering applications corresponding to a target item deployed on a target GPU server, determining unused healthy stream rendering applications in the plurality of healthy stream rendering applications corresponding to the target item based on whether the authority information of the plurality of healthy stream rendering applications corresponding to the target item is not null, taking the authority information and the instance information of the unused healthy stream rendering applications as scheduling information, and sending the scheduling information to the client.
Illustratively, referring to the scheduling logic diagram of the stream rendering management device shown in fig. 5, the stream rendering management device may obtain and assign an appropriate healthy stream rendering application to a user according to item or rights parameters. Specifically, firstly judging whether the entry is an item or a right, if the entry is the item, acquiring right information of all healthy stream rendering applications under the corresponding target item, and checking whether the right information is empty. If not, it is checked in turn whether there are unused healthy stream rendering applications with highest, medium, low and viewing rights. Further, if an unused healthy stream rendering application meeting the conditions is found, application information and authority information of the unused healthy stream rendering application are returned, and the operation of the user is controlled through a tool (Software Development Kit, SDK). Otherwise, informing the user that the user has no available permission. Therefore, the effective allocation and management of resources can be ensured, the stability and user experience of the stream rendering management system are improved, and the safety of user access is ensured.
For example, referring to fig. 6, the stream rendering management apparatus may determine whether an anomaly occurs in a healthy stream rendering application displayed on an access interface provided by a client by performing heartbeat detection and frame rate detection on the healthy stream rendering application in each GPU server. Specifically, if the healthy stream rendering application corresponding to the video stream currently displayed on the access interface is abnormal, performing frame cutting processing on the access interface, and switching the video stream of the healthy stream rendering application displayed on the access interface.
As an example, with continued reference to fig. 6, the present application provides a health monitoring and fault tolerant switching mechanism, where the stream rendering management device continuously performs heartbeat detection (for determining whether the stream rendering application survives) and frame rate detection (for determining whether the video stream is smooth) on the stream rendering application running on each GPU server, so as to grasp the running state of each stream rendering application. If the rendering application corresponding to the video stream currently accessed by the client is found to be abnormal, such as no heartbeat, sudden drop of frame rate or interruption, the stream rendering management system immediately performs frame cutting processing on the access interface, namely, the last frame of picture is reserved to prevent black screen or splash screen, and meanwhile, the video stream is automatically switched to another healthy stream rendering application, so that redundancy switching is realized.
Based on the method, continuous experience of the user in the using process is guaranteed, and service interruption caused by single-point faults is avoided.
The embodiment of the application also provides a stream rendering management device 700, as shown in fig. 7, which is a schematic structural diagram of the stream rendering management device 700 provided by the embodiment of the application, and the stream rendering management device includes a processor 701, a memory 702, and optionally a bus 703. The memory 702 stores machine readable instructions executable by the processor 701, which when executed by the processor 701 performs the steps of the stream rendering application management method as claimed in any one of the preceding claims, when the stream rendering management apparatus 700 is run, the processor 701 communicates with the memory 702 via the bus 703.
Embodiments of the present application also provide a computer readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of the stream rendering application management method as described in any of the above.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described system and apparatus may refer to corresponding procedures in the method embodiments, and are not repeated in the present disclosure. In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. The above-described apparatus embodiments are merely illustrative, and the division of the modules is merely a logical function division, and there may be additional divisions when actually implemented, and for example, multiple modules or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be through some communication interface, indirect coupling or communication connection of devices or modules, electrical, mechanical, or other form.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present application. The storage medium includes a U disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, an optical disk, or other various media capable of storing program codes.
The foregoing is merely illustrative of the present application, and the present application is not limited thereto, and any person skilled in the art will readily appreciate variations or alternatives within the scope of the present application.

Claims (10)

1.一种流渲染应用管理方法,其特征在于,应用于流渲染管理系统,所述流渲染管理系统包括:流渲染管理设备以及多个GPU服务器,各所述GPU服务器中预先部署有代理节点;所述方法包括:1. A stream rendering application management method, characterized in that it is applied to a stream rendering management system, wherein the stream rendering management system includes: a stream rendering management device and multiple GPU servers, each of the GPU servers having a proxy node pre-deployed therein; the method includes: 获取用户在所述流渲染管理设备的用户操作界面上输入的部署信息,所述部署信息包括:待部署的流渲染应用以及目标GPU服务器的标识,所述目标GPU服务器为所述多个GPU服务器中的任意一个或多个;Acquire deployment information input by a user on a user operation interface of the stream rendering management device, the deployment information including: a stream rendering application to be deployed and an identifier of a target GPU server, the target GPU server being any one or more of the multiple GPU servers; 根据所述部署信息,生成部署指令,所述部署指令用于指示在所述目标GPU服务器中部署所述流渲染应用,所述部署指令中包括所述流渲染应用;Generate a deployment instruction according to the deployment information, wherein the deployment instruction is used to instruct the stream rendering application to be deployed in the target GPU server, and the deployment instruction includes the stream rendering application; 基于预设的消息格式,将所述部署指令发送给所述目标GPU服务器中的代理节点,并由所述代理节点在所述目标GPU服务器中部署所述流渲染应用,其中,部署在所述目标GPU服务器中的所述流渲染应用中包括至少一个渲染实例,各所述渲染实例用于执行渲染以及操作组件通信。Based on a preset message format, the deployment instruction is sent to a proxy node in the target GPU server, and the proxy node deploys the streaming rendering application in the target GPU server, wherein the streaming rendering application deployed in the target GPU server includes at least one rendering instance, and each rendering instance is used to perform rendering and operate component communication. 2.根据权利要求1所述的方法,其特征在于,所述将所述部署指令发送给所述目标GPU服务器中的代理节点,包括:2. The method according to claim 1, wherein sending the deployment instruction to the proxy node in the target GPU server comprises: 将所述部署指令发送至消息队列中,以使所述代理节点基于所述消息队列接收所述部署指令,其中,所述消息队列用于建立所述流渲染管理设备与所述目标GPU服务器之间的通信连接。The deployment instruction is sent to a message queue, so that the proxy node receives the deployment instruction based on the message queue, wherein the message queue is used to establish a communication connection between the stream rendering management device and the target GPU server. 3.根据权利要求2所述的方法,其特征在于,所述由所述代理节点在所述目标GPU服务器中部署所述流渲染应用,包括:3. The method according to claim 2, wherein deploying the stream rendering application in the target GPU server by the proxy node comprises: 由所述代理节点从接收的所述部署指令中获取所述流渲染应用,并获取所述流渲染应用中的各所述渲染实例,将各所述渲染实例部署到所述目标GPU服务器中。The proxy node obtains the stream rendering application from the received deployment instruction, obtains each rendering instance in the stream rendering application, and deploys each rendering instance to the target GPU server. 4.根据权利要求1所述的方法,其特征在于,所述方法还包括:4. The method according to claim 1, further comprising: 基于所述预设的消息格式,向所述目标GPU服务器中的所述代理节点发送操作指令,由所述代理节点根据所述操作指令执行针对所述流渲染应用的操作,其中,所述操作指令包括:启停指令、更新指令、删除指令或修改配置指令。Based on the preset message format, an operation instruction is sent to the proxy node in the target GPU server, and the proxy node performs an operation on the stream rendering application according to the operation instruction, wherein the operation instruction includes: a start/stop instruction, an update instruction, a delete instruction, or a configuration modification instruction. 5.根据权利要求2所述的方法,其特征在于,所述方法还包括:5. The method according to claim 2, further comprising: 若有新的GPU服务器接入所述流渲染管理设备,则在所述新的GPU服务器中部署新的代理节点,并将所述新的代理节点对应的消息上报地址修改为所述流渲染管理设备的消息队列对应的中间件的IP地址和端口,以使得所述新的代理节点从所述消息队列接收针对所述新的GPU服务器的流渲染应用的指令。If a new GPU server is connected to the stream rendering management device, a new proxy node is deployed in the new GPU server, and the message reporting address corresponding to the new proxy node is modified to the IP address and port of the middleware corresponding to the message queue of the stream rendering management device, so that the new proxy node receives instructions for the stream rendering application for the new GPU server from the message queue. 6.根据权利要求1所述的方法,其特征在于,所述由所述代理节点在所述目标GPU服务器中部署所述流渲染应用之后,还包括:6. The method according to claim 1, characterized in that after the proxy node deploys the stream rendering application on the target GPU server, the method further comprises: 接收所述目标GPU服务器中的代理节点发送的运行信息,所述运行信息包括所述目标GPU服务器的硬件运行信息以及所述目标GPU服务器上部署的各流渲染应用的运行信息;Receive operation information sent by the proxy node in the target GPU server, where the operation information includes hardware operation information of the target GPU server and operation information of each stream rendering application deployed on the target GPU server; 根据所述运行信息对所述目标GPU服务器上部署的各流渲染应用进行运维检测,并根据运维检测结果执行运维操作。An operation and maintenance test is performed on each stream rendering application deployed on the target GPU server according to the operation information, and an operation and maintenance operation is performed according to the operation and maintenance test result. 7.根据权利要求6所述的方法,其特征在于,所述根据所述运行信息对所述目标GPU服务器上部署的各流渲染应用进行运维检测,并根据运维检测结果执行运维操作,包括:7. The method according to claim 6, wherein performing operation and maintenance detection on each stream rendering application deployed on the target GPU server according to the operation information and performing operation and maintenance operations according to the operation and maintenance detection results comprises: 根据所述运行信息对所述目标GPU服务器上部署的各流渲染应用进行心跳检测和帧率检测,得到各流渲染应用的心跳检测值和帧率检测值;Performing heartbeat detection and frame rate detection on each stream rendering application deployed on the target GPU server according to the operation information to obtain a heartbeat detection value and a frame rate detection value of each stream rendering application; 若流渲染应用的心跳检测值大于第一阈值,和/或流渲染应用的帧率检测值大于第二阈值,则对流渲染应用进行重启操作。If the heartbeat detection value of the stream rendering application is greater than a first threshold, and/or the frame rate detection value of the stream rendering application is greater than a second threshold, the stream rendering application is restarted. 8.根据权利要求1所述的方法,其特征在于,所述方法还包括:8. The method according to claim 1, further comprising: 对所述目标GPU服务器上部署的流渲染应用进行调度,并向客户端发送调度信息,所述调度信息包括所述目标GPU服务器上部署的未被使用的健康流渲染应用的权限信息和实例信息,所述实例信息包括:流渲染端口、服务端口、渲染实例IP以及申请连接渲染的口令,以使所述客户端与所述健康流渲染应用建立连接,以在所述客户端提供的访问界面上显示所述健康流渲染应用的视频流;Scheduling the stream rendering application deployed on the target GPU server and sending scheduling information to the client, the scheduling information including permission information and instance information of an unused healthy stream rendering application deployed on the target GPU server, the instance information including: a stream rendering port, a service port, a rendering instance IP address, and a password for applying for connection rendering, so that the client establishes a connection with the healthy stream rendering application to display the video stream of the healthy stream rendering application on an access interface provided by the client; 若所述访问界面当前显示的视频流对应的健康流渲染应用出现异常,则对所述访问界面进行截帧处理,并切换所述访问界面上显示的健康流渲染应用的视频流。If an abnormality occurs in the healthy stream rendering application corresponding to the video stream currently displayed on the access interface, the access interface is frame-cut and the video stream of the healthy stream rendering application displayed on the access interface is switched. 9.根据权利要求8所述的方法,其特征在于,所述目标GPU服务器上部署的流渲染应用包括至少一个项目对应的流渲染应用,所述对所述目标GPU服务器上部署的流渲染应用进行调度,并向客户端发送调度信息,包括:9. The method according to claim 8, wherein the stream rendering application deployed on the target GPU server includes a stream rendering application corresponding to at least one project, and scheduling the stream rendering application deployed on the target GPU server and sending scheduling information to the client comprises: 获取所述目标GPU服务器上部署的目标项目对应的多个健康流渲染应用的权限信息;Obtaining permission information of multiple health flow rendering applications corresponding to the target project deployed on the target GPU server; 基于所述目标项目对应的多个健康流渲染应用的权限信息是否非空,确定所述目标项目对应的多个健康流渲染应用中未被使用的健康流渲染应用;determining an unused healthy flow rendering application among the multiple healthy flow rendering applications corresponding to the target project based on whether the permission information of the multiple healthy flow rendering applications corresponding to the target project is not empty; 将未被使用的健康流渲染应用的权限信息和实例信息作为所述调度信息,并将所述调度信息发送给所述客户端。The permission information and instance information of the unused healthy flow rendering application are used as the scheduling information, and the scheduling information is sent to the client. 10.一种流渲染管理设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,当流渲染管理设备运行时,所述处理器执行所述机器可读指令,以执行如权利要求1至9任一项所述的流渲染应用管理方法的步骤。10. A stream rendering management device, characterized in that it comprises: a processor and a memory, the memory storing machine-readable instructions executable by the processor, and when the stream rendering management device is running, the processor executes the machine-readable instructions to perform the steps of the stream rendering application management method according to any one of claims 1 to 9.
CN202510931463.8A 2025-07-07 Stream rendering application management method and stream rendering management device Pending CN120723252A (en)

Publications (1)

Publication Number Publication Date
CN120723252A true CN120723252A (en) 2025-09-30

Family

ID=

Similar Documents

Publication Publication Date Title
US6567813B1 (en) Quality of service maintenance for distributed collaborative computing
US8572180B2 (en) Systems, methods and media for distributing peer-to-peer communications
WO2023077952A1 (en) Data processing method and system, related device, storage medium and product
US20030167418A1 (en) Fault-tolerant server for collaborative computing
US20030167305A1 (en) Secure communications system for collaborative computing
CN109960634B (en) Application program monitoring method, device and system
US20030167304A1 (en) Distributed meeting management
WO2002054264A1 (en) Distributed network system architecture for collaborative computing
CN113312165A (en) Task processing method and device
WO2012174935A1 (en) Method for implementing persistent service and persistent service system
CN116915827A (en) Data transmission method, device, electronic equipment and media for Internet of Things edge gateway
CN114900449A (en) Resource information management method, system and device
CN113300894A (en) Equipment hot switching method, electronic equipment and storage medium
CN118337764A (en) Video stream processing method and device, nonvolatile storage medium and electronic equipment
CN111427704B (en) Remote monitoring method, device, equipment and storage medium for configuration instruction
CN107231401B (en) Session monitoring method, device and system
CN110750369B (en) A distributed node management method and system
CN120723252A (en) Stream rendering application management method and stream rendering management device
JP2015114952A (en) Network system, monitoring control unit, and software verification method
CN103957127B (en) Heterogeneous Vendor Transmission Network Interface Adaptation Method
CN114422100B (en) Up-and-down connection processing system, computer equipment and medium of national standard signaling service terminal
US20060161651A1 (en) Managing resources within a fault tolerant collaboration system
CN116260824A (en) Service data transmission method, system, storage medium and related equipment
CN114205404A (en) Media stream holding method, device, electronic equipment and storage medium
CN111355988B (en) Business disaster recovery method, equipment and readable storage medium

Legal Events

Date Code Title Description
PB01 Publication