Server control method, device, storage medium and program product

By obtaining the number of objects with the same level of control authority in the BMC system, determining the initial delay time and making collaborative decisions, the problem of immediate operation in multi-object management scenarios is solved, and collaborative control of key operations and early warning of low-authority objects are achieved, avoiding business interruption and data loss.

CN120429016BActive Publication Date: 2025-09-26INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510940191.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-07-08
Publication Date
2025-09-26
Estimated Expiration
2045-07-08

AI Technical Summary

Technical Problem

The existing BMC system lacks secondary confirmation and collaborative control mechanisms in multi-object management scenarios, resulting in the immediate execution of key operations that may cause critical business interruptions, data loss or service crashes, and a lack of effective operation warnings for low-privilege objects.

Method used

By obtaining the target control instructions and session information list, the number of objects with the same level of control authority is determined, the initial delay time is determined based on the difference in quantity, and the operation is performed after the delay. Multi-level delay superposition processing and collaborative decision-making process are provided to realize the early warning mechanism for low-authority objects.

Benefits of technology

It effectively avoids business interruption and data loss caused by the immediate execution of target control instructions, ensures timely knowledge and intervention of low-privilege objects, and reduces losses caused by accidental server operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120429016B_ABST
    Figure CN120429016B_ABST
Patent Text Reader

Abstract

The present application discloses a server control method, device, storage medium, and program product, relating to the field of server control technology. After obtaining a target control instruction initiated by a first object, the server can determine the number of second objects controlling the server at that time based on the session object information in the current session information list; then, an initial delay time is determined according to the difference between the number of second objects and a preset number, which can reasonably determine the initial delay time. This solution executes the target operation corresponding to the target control instruction after the initial delay time, which can avoid affecting the critical business of the second object, causing data loss or service interruption due to the immediate execution of the target control instruction, and can reduce losses caused by unexpected server operations.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of server control technology, and in particular to a server control method, device, storage medium, and program product. Background Art

[0002] In the server management field, the Baseboard Management Controller (BMC) serves as a core management component, enabling remote monitoring and maintenance of servers by establishing a management channel independent of the server's main operating system. BMC systems typically employ a hierarchical permissions management mechanism, dividing control objects into various roles, such as admin, operator, and user. The admin permission object, with its highest permissions, can control the server to perform critical operations such as powering on, off, and restarting through various methods, including Intelligent Platform Management Interface (IPMI) commands, Redfish commands, Simple Network Management Protocol (SNMP), or KVM (Keyboard, Video, Mouse) interfaces.

[0003] The existing BMC system's operational control mechanisms in multi-object management scenarios exhibit significant flaws. Specifically, operational commands such as power on, power off, and reboot lack secondary confirmation and collaborative control mechanisms. When multiple admin-privileged objects are online simultaneously, any operational command initiated by any admin-privileged object will be executed immediately and cannot be reversed. This immediate operation can lead to interruptions to critical business operations, data loss, or service crashes due to incorrect operations, poor communication, or malicious commands by the privileged object. Furthermore, the existing BMC system lacks an effective operational warning mechanism for low-privilege objects such as operators and users. Summary of the Invention

[0004] The present application provides a server control method, device, storage medium and program product to at least solve the problems of key business interruption, data loss and service interruption caused by the server immediately executing the target control instruction.

[0005] The present application provides a server control method, comprising: obtaining a target control instruction initiated by a first object to the server, and a current session information list of the server; determining the number of second objects based on session object information in the session information list, where the second objects are objects with the same level of control authority as the first object; if the number exceeds a preset number, determining an initial delay time according to the difference between the number and the preset number; and executing a target operation corresponding to the target control instruction after the initial delay time has elapsed.

[0006] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the above-mentioned server control methods when executing the computer program.

[0007] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned server control methods are implemented.

[0008] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above-mentioned server control methods when executed by a processor.

[0009] Through the present application, after the server obtains the target control instruction initiated by the first object, it can determine the number of second objects controlling the server at this time based on the session object information in the session information list at this time; then, the initial delay time is determined according to the difference between the number of second objects and the preset number, which can reasonably determine the initial delay time, avoiding the control demand of the first object being affected by the initial delay time being too long, and the second object being unable to know or intervene in the target control instruction in time due to the initial delay time being too short. This solution executes the target operation corresponding to the target control instruction after the initial delay time, that is, it does not execute the target operation corresponding to the target control instruction immediately after receiving the target control instruction. In this way, the second object participating in controlling the server within the initial delay time can know the target control instruction in time or issue an intervention response to the target control instruction in time, avoiding the impact on the ongoing key business of the second object, data loss or service interruption due to the immediate execution of the target control instruction, thereby reducing the loss caused by unexpected operation of the server. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0011] Figure 1 A flow chart of a method for controlling a server provided in an embodiment of the present application;

[0012] Figure 2 A flowchart of another server control method provided in an embodiment of the present application;

[0013] Figure 3 A flowchart of performing graded warning according to the operation type of the target operation provided in an embodiment of the present application;

[0014] Figure 4 A flowchart of a multi-stage delay superposition process provided in an embodiment of the present application;

[0015] Figure 5 A collaborative decision-making flow chart for a single admin authority object provided in an embodiment of the present application;

[0016] Figure 6 A collaborative decision-making flow chart for multiple admin permission objects provided in an embodiment of the present application;

[0017] Figure 7 A schematic diagram of a control device for a server provided in an embodiment of the present application;

[0018] Figure 8 A schematic diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0019] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0020] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.

[0021] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.

[0022] In conjunction with the specific application environment architecture or specific hardware architecture on which the execution of the server control method depends, the specific application environment architecture or specific hardware architecture is described here.

[0023] In the server management field, the baseboard management controller (BMC), as a core management component, enables remote monitoring and operation and maintenance of servers by establishing a management channel independent of the server's main operating system. BMC systems typically employ a hierarchical permission management mechanism, dividing control objects into multiple permission roles, such as admin, operator, and user. The admin permission object, with its highest permissions, can control the server to perform critical operations such as power on, power off, and restart through various methods, such as intelligent platform management interface commands, Redfish commands, Simple Network Management Protocol, or KVM pages. The operator permission object is an operator with specific permissions and responsibilities, responsible for daily operations and monitoring. The user permission object is an ordinary user who uses system functions but does not have administrative privileges. The aforementioned permission allocation model can efficiently meet server operation and maintenance requirements in scenarios where a single object or a small number of objects are managed, ensuring flexible and convenient system management. However, with the expansion of data center scale and the increasing complexity of cloud computing services, scenarios where multiple admin permission objects collaborate to manage servers are becoming increasingly common.

[0024] The existing BMC system's operational control mechanism in multi-object management scenarios has exposed significant flaws. Specifically, operational commands such as power on, power off, and reboot lack a secondary confirmation and collaborative control mechanism. When multiple admin-privileged objects are online simultaneously, any operational command initiated by any admin-privileged object will be executed immediately and cannot be revoked. For example, when an admin object remotely initiates a shutdown command via the IPMI protocol, the BMC system will directly respond to the command and cut off the server's power. A reboot operation initiated by an admin object via the Redfish interface will also immediately trigger the server reboot process. This immediate operation may cause interruption of critical business operations, data loss, or service crashes due to improper operation by the privileged object, poor communication, or malicious instructions. In addition, the existing BMC system lacks an effective operational warning mechanism for low-privilege objects. For example, although operator and user-privileged objects cannot perform critical operations such as power on, power off, and reboot, when an admin object initiates a related operation, the BMC system does not push any prompt information to it, resulting in the low-privilege object being unable to save data or suspend business processes in advance. For example, in a financial transaction system, if an admin object accidentally triggers a restart or shutdown command while a low-privilege object is processing a transaction, the BMC system will interrupt service without warning, causing not only transaction failure but also a potential trust crisis and regulatory penalties. Therefore, how to achieve collaborative decision-making for key operations in scenarios with multiple admin objects while establishing an early warning mechanism for low-privilege objects has become a pressing challenge in BMC system management.

[0025] In light of this, the present application proposes a server control method, device, storage medium, and program product. The method comprises: obtaining a target control instruction initiated by a first object for a server, and a current session information list of the server; determining the number of second objects based on the session object information in the session information list, where the second objects have the same level of control authority as the first object; if the number exceeds a preset number, determining an initial delay time based on the difference between the number and the preset number; and executing a target operation corresponding to the target control instruction after the initial delay time has elapsed.

[0026] The control method of the server of the present application is that after the server obtains the target control instruction initiated by the first object, it can determine the number of second objects controlling the server at this time based on the session object information in the session information list at this time; then, the initial delay time is determined according to the difference between the number of second objects and the preset number, which can reasonably determine the initial delay time, avoiding the control demand of the first object being affected by the initial delay time being too long and the second object being unable to know or intervene in the target control instruction in time due to the initial delay time being too short. This solution executes the target operation corresponding to the target control instruction after the initial delay time, that is, it does not execute the target operation corresponding to the target control instruction immediately after receiving the target control instruction. In this way, the second object participating in controlling the server within the initial delay time can know the target control instruction in time or issue an intervention response to the target control instruction in time, avoiding the impact on the ongoing key business of the second object, data loss or service interruption due to the immediate execution of the target control instruction, thereby reducing the loss caused by unexpected operation of the server.

[0027] According to an embodiment of the present application, an embodiment of a server control method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0028] In this embodiment, a server control method is provided, which can be used in a server. Figure 1 is a flow chart of a method for controlling a server according to an embodiment of the present application. Figure 1 As shown, the process includes the following steps.

[0029] Step S101: Acquire a target control instruction initiated by a first object to a server and a current session information list of the server.

[0030] The first object can be the operating entity currently controlling the server, which can be a computer device or a user. For example, the computer device can establish a communication connection with the server and issue a target control instruction to the server. In another example, the user can directly log in to the server using an account and password and issue a target control instruction to the server. As a specific embodiment, the first object can be an admin permission object, which has the highest permission to control the server.

[0031] The target control instruction can be an instruction to control the power supply of the server. For example, the target control instruction can be an instruction to control the server to perform a shutdown operation, or it can be an instruction to control the server to perform a restart operation. Of course, the target control instruction can also be an instruction related to configuring the server. For example, the target control instruction can be an instruction to upgrade the firmware of the server, or it can be an instruction to change the key configuration of the server. It should be understood that the target control instruction can be a control instruction that can only be initiated by the object with the highest control authority, and the object with low-level control authority cannot initiate the control instruction. Continuing with the previous example, the target control instruction can be a control instruction initiated by the admin authority object.

[0032] The session information list is used to record information related to objects controlling the server. As a specific example, the session information list can be a list consisting of multiple session status information (Session Information, referred to as Session Information) as shown in Table 1. Session status information refers to the data set generated by the BMC system to record the interaction status after a user establishes a connection with the BMC system. The OpenBMC Web management service process (bmcweb process) is responsible for recording the multiple sessions in the session information list. It can record server objects controlled through various methods, such as web browser interfaces (WEB), KVM, virtual network computing (VNC), and secure shell (SSH). The session information list records information such as the session type, object name, object permissions, and Internet Protocol (IP) address for each session. To ensure real-time information, the bmcweb process regularly updates and maintains the session information list. For example, it scans current online sessions every minute and quickly updates the session information list if a new object logs in or an existing object logs out. At the same time, in the event of abnormal session status, such as a long period of unresponsive connection, the bmcweb process will automatically clean up and re-verify to ensure the accuracy of online object status data.

[0033] Table 1 Session information list

[0034]

[0035] Step S102: determining the number of second objects based on the session object information in the session information list, where the second objects are objects having the same level of control authority as the first objects.

[0036] The second object has the same level of control permissions as the first object. The difference between the first object and the second object is that the first object is the object that initiated the target control instruction, while the second object is the object that did not. As a specific example, both the first object and the second object can be admin permission objects. As shown in Table 1, based on the session object information in the session information list, it can be determined that the first object is an admin permission object with object name 1, while the second object is an admin permission object with object name 2 and symmetric name 3. Therefore, the number of second objects is 2.

[0037] Step S103: If the quantity exceeds the preset quantity, an initial delay time is determined according to the difference between the quantity and the preset quantity.

[0038] There are many ways to determine the initial delay time based on the difference between the quantity and the preset quantity. For example, different initial delay times can be set for different quantity differences. As a specific example, when the quantity difference is 2, the corresponding initial delay time is 30 seconds, and when the quantity difference is 3, the corresponding initial delay time is 40 seconds. For another example, a basic delay time and an incremental delay time can also be set, and the incremental delay time can be determined by the quantity difference, so that the initial delay time is determined in combination with the basic delay time and the incremental delay time. As a specific example, quantity differences of 1 to 3 correspond to the first level, and quantity differences of 4 to 6 correspond to the second level. The incremental delay time corresponding to the first level is 10 seconds, the incremental delay time corresponding to the second level is 30 seconds, and the basic delay time is 10 seconds. In this way, when the quantity difference is 2, the corresponding initial delay time is the basic delay time of 10 seconds plus the incremental delay time of 10 seconds, that is, the initial delay time is 20 seconds. In addition, this application does not limit the size of the preset quantity and can be flexibly adjusted according to specific circumstances.

[0039] Step S104: After the initial delay time has passed, executing the target operation corresponding to the target control instruction.

[0040] After the initial delay period, starting from the current time, the server executes the target operation corresponding to the target control instruction. For example, if the initial delay period is 10 seconds and the current time is XX hours XX minutes 10 seconds, the target operation corresponding to the target control instruction will be executed at XX hours XX minutes 20 seconds. Using the previous example, at XX hours XX minutes 20 seconds, the server will execute the shutdown operation, or at XX hours XX minutes 20 seconds, the server will execute the restart operation.

[0041] The control method of the server provided in this embodiment is that after the server obtains the target control instruction initiated by the first object, it can determine the number of second objects controlling the server at this time based on the session object information in the session information list at this time; then, the initial delay time is determined according to the difference between the number of second objects and the preset number, which can reasonably determine the initial delay time, avoiding the control demand of the first object being affected by the initial delay time being too long and the second object being unable to know or intervene in the target control instruction in time due to the initial delay time being too short. This solution executes the target operation corresponding to the target control instruction after the initial delay time, that is, it does not execute the target operation corresponding to the target control instruction immediately after receiving the target control instruction. In this way, the second object participating in controlling the server within the initial delay time can know the target control instruction in time or issue an intervention response to the target control instruction in time, avoiding the impact on the ongoing key business of the second object, data loss or service interruption due to the immediate execution of the target control instruction, thereby reducing the loss caused by unexpected operation of the server.

[0042] In this embodiment, a server control method is provided, which can be used in a server. Figure 2 is a flow chart of a method for controlling a server according to an embodiment of the present application. Figure 2 As shown, the process includes the following steps.

[0043] Step S201: Obtain the target control instruction initiated by the first object to the server and the server's current session information list. Figure 1 Step S101 of the illustrated embodiment will not be described in detail here.

[0044] Step S202: Based on the session object information in the session information list, determine the number of second objects, where the second objects are objects with the same level of control authority as the first objects. Figure 1 Step S102 of the illustrated embodiment will not be described in detail here.

[0045] Step S203: If the quantity exceeds the preset quantity, an initial delay time is determined according to the difference between the quantity and the preset quantity.

[0046] Specifically, the above step S203 includes:

[0047] Step S2031: Determine the increased delay time based on the product of the quantity difference and the unit delay time.

[0048] The unit delay time can be the additional delay time when there is one more second object on the basis of the preset number. For example, if the unit delay time is 10 seconds and the preset number is 3, if the number of second objects in the control server is 5, the difference in number is 2, then the additional delay time is 2. 10=20 seconds.

[0049] Step S2032: determining an initial delay time based on the sum of the increased delay time and the preset delay time.

[0050] The preset delay time is the default delay time set in the server. The default delay time is set as a bottom-line mechanism to avoid the inability to advance the target operation corresponding to the target control instruction due to failure to reach a consensus.

[0051] When the number of second objects is less than or equal to the preset number, the initial delay is the default preset delay. This preset delay can be flexibly configured through the BMC web interface to meet the personalized needs of different users and business scenarios. For example, the preset delay can be 30 seconds. Continuing with the previous example, if the number of second objects is 5, the initial delay is 30 + 20 = 50 seconds.

[0052] Determining the initial delay time based on the difference between the number of second objects and the preset number can more reasonably determine the initial delay time, so that when multiple second objects collaboratively control whether the server executes the target control instruction, there will be sufficient time for negotiation and decision-making within the initial delay time.

[0053] Step S204: After the initial delay time, execute the target operation corresponding to the target control instruction. Figure 1 Step S104 of the illustrated embodiment will not be described in detail here.

[0054] As an optional implementation, during the execution of the initial delay time, the method also includes: detecting whether there is a newly added fourth object, and the fourth object has the same control authority level as the second object; if there is a fourth object, pausing the countdown for the initial delay time, and entering the step of determining the number of second objects based on the session object information in the session information list.

[0055] During the initial delay, the server can periodically (e.g., every 10 seconds) query the session information list recorded by the bmcweb process to identify the presence of a newly added fourth object. If a fourth object is present, the server will immediately pause the current countdown. For example, if a fourth object is detected at the 30th second of a 90-second delay, the countdown will immediately pause at the 30th second. The server will then re-initiate the collaborative confirmation process, sending an operation prompt and collaborative confirmation request to all admin objects, including the fourth object. Based on its business needs, the newly added fourth object can choose to approve, reject, or approve but delay operations such as shutdown / restart. After receiving the first response from all admin objects, the server will re-determine whether to execute the target operation corresponding to the target control instruction based on the collaborative decision-making rules. If so, it will continue to update the initial delay. If the newly added fourth object rejects the server's request to execute the target control instruction, the server will not execute the target operation. The first object that initiated the target control instruction will receive a notification indicating that it has rejected the target operation. The first object can then communicate and negotiate with the newly added fourth object through a real-time interactive channel. If the newly added fourth object agrees to execute, the server will update the initial delay time according to the collaborative decision-making rules based on the response information of the second object and the server's real-time resource status information to obtain the target delay time. After the target delay time has passed, the target operation corresponding to the target control instruction will be executed. If the newly added fourth object agrees to execute but requires a delay, the server will combine all response information, including the second object, and the real-time resource status information to update the initial delay time to obtain the target delay time and restart the countdown to the target delay time. This ensures the comprehensiveness and rationality of the operation decision.

[0056] During the countdown to the initial delay, the server constantly checks for the presence of a newly added fourth object. If so, the server promptly re-initiates the collaborative confirmation process for executing the target operation instruction, thus avoiding the interruption of the fourth object's current business and process due to failure to detect the fourth object in a timely manner.

[0057] Step S205: Acquire the first response information sent by each second object and the current resource status information of the server.

[0058] Specifically, the above step S205 further includes:

[0059] Step S2051: Obtain the operation type of the target operation.

[0060] The operation type of the target operation can be determined based on the impact of the server executing the target operation on the server, and can be specifically divided into a high-risk operation type, a medium-risk operation type, and a low-risk operation type.

[0061] As a specific example, operations such as shutdowns, firmware upgrades, and large-scale data wipes that could result in prolonged service interruptions, data loss, or hardware damage can be categorized as high-risk. Failure to perform these operations could be devastating to the business. For example, a failed firmware upgrade could render a server unable to boot.

[0062] As a specific example, operations that could impact business continuity and stability, such as restarts, key configuration changes (such as network configuration and core service parameter modifications), and migration of sensitive data, can be classified as medium-risk operations. For example, errors in network configuration changes could cause server network outages and impact normal business access.

[0063] As a specific example, non-destructive operations such as log queries, system status monitoring, and regular file reads that have no material impact on server operations or business operations can be classified as low-risk operations. Although these operations do not trigger strong warnings for high-risk or medium-risk operations, the server will still record and monitor these operations for subsequent audits and compliance. For example, if operations personnel frequently query logs, the system can record the frequency of operations and the query content. If unusual query patterns are detected (such as a large number of sensitive log queries in a short period of time), further risk assessment can be carried out and appropriate measures can be taken.

[0064] Step S2052: Determine the message push method based on the operation type.

[0065] For different operation types, the specific operations performed by the server are different and the degree of impact on the server is also different. Therefore, based on the operation type, the message push method with different reminder intensities can be determined as shown in Table 2.

[0066] Table 2 Comparison of operational risk levels and response strategies

[0067]

[0068] Step S2053: Push the prompt information including the initial delay time to each second object in a message push manner.

[0069] As a specific example, as shown in Table 1 and Figure 3As shown, for high-risk (Level 1) target operations, such as shutdown and firmware upgrade, a full-screen pop-up window and email notification are sent to the admin / operator / user permission object. Specifically, a prominent full-screen pop-up warning is displayed on the admin / operator / user permission object's operation interface via WebSocket. The pop-up window displays the target operation type, estimated execution time, and a risk warning (such as "This shutdown operation will cause all business interruption. Please ensure data backup and business switchover preparations are complete"). Simultaneously, the server automatically invokes a high-efficiency email gateway to send a notification email to the email address associated with the admin / operator / user permission object. The email includes operation details, risk level, and response suggestions. This ensures that the admin / operator / user permission object receives timely warnings, such as "Current load is high. Operation XX will be executed in 15 seconds," regardless of the scenario. Next, the server determines whether the permission object has clicked the Pause button. If so, the process is paused and recorded. If not, the server is determined to be under high load. If the server is under heavy load, it first checks the process status. If it detects a process in a critical phase, it skips the process and logs the reason, preventing data anomalies caused by forced pauses. Furthermore, by leveraging the deep integration of the Redfish interface with the server management application programming interface (API), it screens out non-critical business processes, such as the logging service rsyslog, the caching service memcached, and non-core data analysis services. Process management interfaces (such as kill-STOP) are then called to automatically pause these non-critical processes, freeing up CPU and memory resources, reducing the impact of operations on server operations, and ensuring the smooth execution of critical operations. If the server is not under heavy load, the current state is maintained, resulting in a monitoring process pause result and feedback of the warning response status to the admin privilege object.

[0070] As a specific example, as shown in Table 1 and Figure 3As shown, for medium-risk (Level 2) operations, such as re-authorization and critical configuration changes, prompts are sent to admin / operator / user privileged entities via internal messages and a red-dot notification on the interface. Specifically, a red-dot notification appears in the upper-right corner of the BMC web interface. Hovering the mouse over the red dot previews the operation type and a brief risk warning. Clicking it provides detailed information, including the operation content, the potentially affected business scope, and the risk level. A "Pause Business" button is also provided on the interface, allowing privileged entities to manually trigger process protection based on their needs. The server then determines whether the privileged entity has clicked the "Pause Business" button. If so, the server immediately invokes a process management interface (such as kill-stop) to suspend non-critical business processes based on a pre-set process priority list. Detailed information, such as the response time, operator, and suspended processes, is recorded for subsequent audit and traceability, enabling analysis of the impact of the operation on business and the timeliness of the response. If the permission object does not click the "Pause Business" button, non-critical processes will be suspended according to the current server load status to reduce operational risks, thereby forming a monitoring process suspension result and feeding back the early warning response status to the admin permission object.

[0071] Here is Table 1 and Figure 3As shown, low-risk (Level 3) target operations, such as log queries and status checks, do not trigger alerts. However, before executing the target operation, a concise prompt box appears on the admin / operator / user permission object's interface to inform the user of the operation type and estimated execution time, such as "You are about to perform a log query. The estimated execution time is 3 seconds." This allows the user to have a basic understanding of the operation. Furthermore, the server backend records detailed information, including the operation initiation time, initiating object, and operation content, to form an operation log. If the number of executions of the same low-risk operation by the same admin / operator / user permission object exceeds a set threshold (e.g., 50 times) within a certain period (e.g., one hour), the server sends an alert to the administrator, prompting them to check for abnormal operational behavior in the permission object so they can promptly identify potential risks. The alert reception status (read / unread) of low-privilege objects is instantly fed back to the admin permission object's console via a real-time data transmission channel. In the console's object management interface, intuitive icons (e.g., a green check mark indicates read, a red cross indicates unread) indicate the object's alert reception status. At the same time, the results of the process pause operation are also synchronously fed back, including the number of successfully paused processes, failed processes, and the reasons (for example, if a process cannot be paused during a critical operation phase), forming a complete "operation-warning-response" closed loop, allowing admins with privileged access to fully understand the operation execution status and make timely subsequent decisions and management. The server also generates a response effect analysis report, evaluating the efficiency of warning responses and the impact of process pauses on the business, providing data support for subsequent optimization. For feedback on low-risk target operations, admins with privileged access can view abnormal operation prompts in the console and conduct investigations and handling based on the actual situation, such as communicating with relevant parties to confirm the operation intent and determine whether there are any security risks.

[0072] Step S2054: Acquire first response information sent by each second object in response to the prompt information.

[0073] As described above, after receiving the prompt information, each second object feeds back a first response message indicating whether it agrees to perform the target operation. The first response message can be of three types: agree to perform the target operation, perform the target operation differently, and agree but with a delay.

[0074] Determining the message push method based on the target operation's type allows for a more reasonable determination of the message push method, avoiding using a strong reminder method for the second and fourth subjects due to a minor impact of the target operation, which could result in a poor user experience for the second and fourth subjects. This also prevents the second and fourth subjects from failing to take the reminder seriously due to a weak reminder. By using different message push methods to push prompts to the second and fourth subjects regarding whether they agree to the server's execution of the target control instruction, the second and fourth subjects can receive prompts in a timely manner.

[0075] In an optional embodiment, based on the session object information in the session information list, it is determined whether there is a third object, and the authority of the third object is lower than that of the first object and the second object; if there is a third object, a prompt message including an initial delay time is sent to the third object in a message push manner, so that the third object saves business data and / or suspends the business process.

[0076] The third object here has lower permissions than the first and second objects, and the third object does not have the permission to initiate the target control instruction initiated by the first object. As a specific example, the third object can be the operator / user permission object shown above. Upon detecting the presence of the third object in the current session information list, the server pushes a prompt message containing an initial delay time to the existing operator / user permission object. The prompt content includes the operation type, estimated execution time, etc., so that the operator / user permission object can save data in advance, suspend services, or take other countermeasures.

[0077] It should be understood that the third object has lower permissions than the first and second objects, so the third object cannot participate in the server's decision on whether to execute the target operation. Therefore, after receiving the prompt message, the third object can send the first response message to the server. For the third object, the prompt message only serves as a reminder to save the data.

[0078] If there is a third object, a prompt message including the initial delay time will be sent to the third object in a message push manner. In this way, after receiving the prompt message, the third object can save business data and / or suspend the business process in time to avoid data loss or business interruption due to the server executing the target operation corresponding to the target control instruction.

[0079] Step S206: Based on each first response information and / or resource status information, the initial delay time is updated to obtain a target delay time.

[0080] Specifically, the above step S206 includes:

[0081] Step S2061: If there is a first response message indicating that the target operation is to be executed delayed, the target delay time is determined to be the delay time carried in the first response message.

[0082] The first response message here indicates a delay in executing the target operation. This means that the second object agrees to the server executing the target operation, but the execution of the target operation needs to be delayed. In this case, the delay time carried in the first response message is determined as the target delay time. In other words, for the server, the target operation will be executed after the target delay time has passed.

[0083] Step S2062: If there are multiple pieces of first response information indicating delayed execution of the target operation, the target delay time is determined to be the maximum delay time.

[0084] When multiple second objects agree that the server will perform a target operation but the execution of the target operation needs to be delayed, the server will start the "maximum delay first" principle to determine the target delay time. For example, second object A requires a delay of 60 seconds, second object B requires a delay of 90 seconds, and second object C requires a delay of 30 seconds. The server will sort these delay times and identify the maximum delay time, which is 90 seconds. At this time, the server will use 90 seconds as the target delay time for this operation and feedback to all permission objects that the initial delay time has been updated to the target delay time.

[0085] If there is only one second object that requires a delay in executing the target operation, the target delay time is determined as the delay time required by the second object; if there are multiple second objects that require a delay in executing the target operation, based on the maximum delay priority principle, the maximum delay time is determined as the target delay time, that is, the target delay time is determined based on the number of second objects that require a delay in executing the target operation. In this way, the target delay time can be reasonably determined, leaving sufficient time for the second objects that require a delay in executing the target operation to save business data.

[0086] As an optional implementation, if there is at least one first response message indicating that the target operation is not to be executed, the target operation is not executed, and the step of obtaining the target control instruction initiated by the first object to the server and the current session information list of the server is entered; if all first response messages indicate that the target operation is to be executed, then after the initial delay time, the target operation corresponding to the target control instruction is executed.

[0087] For example, if one or more second objects choose to refuse to perform an operation such as shutting down or restarting the system, the first object will immediately receive a first response message indicating the refusal and displaying the identity of the second object that refused. In this case, the target operation cannot be performed. The first object can communicate with the second object that refused to perform the operation through the real-time interactive channel provided by the server to negotiate a solution.

[0088] For example, if all second-party objects agree to the action, the server will execute an action, such as shutting down or restarting the system, according to the initial delay time. During this initial delay time, the server will continuously monitor the number of second-party objects controlling the server and the server's resource status. If any second-party object changes its decision or detects an abnormality in the server's resource status, it will re-enter the collaborative confirmation process or update the delay time.

[0089] For example, if a second user agrees to execute the action but delays it for a certain time, the server will update the initial delay time based on the second user's first response, obtaining the target delay time. After the target delay time expires, the server will execute the target action, such as shutting down or restarting the system. While waiting for the target delay time to expire, other users can continue to negotiate and adjust their actions. The server can also dynamically optimize and update the target delay time based on its resource status.

[0090] Regarding conflict resolution, if any secondary object disagrees with the target operation, the server immediately terminates the process and records the rejection timestamp, which can be used as a traceable basis for "operation conflict history." Furthermore, if a business involving a lower-privilege object is involved, an alert adjustment will be triggered, sending a supplemental alert to the affected lower-privilege object, informing them of the reason for the operation termination and the potential impact.

[0091] In response to a target control instruction initiated by a first object, all second objects collaborate to determine whether the server should execute the target operation corresponding to the target control instruction. If any second object disagrees with the server executing the target operation, it indicates that the second object has unfinished business to process, and the server will not execute the target operation. Only if all second objects disagree with the server executing the target operation will the server execute the target operation. This collaborative confirmation mechanism can effectively manage the server.

[0092] As a specific example, a server can accurately collect server load status at a very high frequency, such as every three seconds, through the BMC's sensor interface (such as the IPMI Sensor channel or the Redfish Sensor Service). Load status can include key indicators such as CPU utilization, memory usage, and disk I / O queue length, as well as network bandwidth utilization and GPU load. This server load status can be used to comprehensively construct a server load profile. For example, in large-scale data transmission scenarios, network bandwidth utilization can provide a key reference for determining and adjusting target latency.

[0093] As a specific example, a real-time monitoring network based on D-Bus is established. Using advanced tag recognition algorithms, this algorithm accurately identifies running high-priority tasks (such as database master-slave synchronization, full backups, and critical business data migrations) using pre-defined, refined tags (such as "database_backup_v2" and "master_slave_sync_high_priority"). Furthermore, deep integration with process managers such as systemd enables accurate data on the estimated remaining time for each process. For complex database backup tasks, systemd can provide an estimate of the remaining time within 5%, taking into account factors such as task execution progress and data volume.

[0094] Specifically, the above step S206 further includes:

[0095] Step S2063 : If the CPU utilization is greater than the preset utilization, the memory occupancy is greater than the preset occupancy, or the disk IO queue length is greater than the preset length, the initial delay time is reduced and the target delay time is updated to the reduced initial delay time.

[0096] As a specific example, the server load is determined to have exceeded the threshold when CPU utilization exceeds 85%, memory usage exceeds 80%, the disk I / O queue length is greater than 20, or the network bandwidth utilization reaches 90%. If the server load is detected to have exceeded the threshold, the server immediately initiates a delay reduction mechanism, such as automatically halving the delay. This effectively avoids long-term operation blockages due to excessive resource preemption. For example, during a high-concurrency e-commerce promotion, a large number of user visits cause a surge in server load. In this case, shortening the delay can ensure that critical operations (such as order processing) are executed first.

[0097] Step S2064: If the process information indicates that the remaining process time of the target process is the target remaining time, the target delay time is updated to the sum of the initial delay time and the target remaining time.

[0098] If a critical process is detected to be running, the initial delay can be dynamically extended based on the remaining time of the process. For example, if the remaining time of the target process is identified as 120 seconds, the server will set the target delay to 120 + 30 = 150 seconds, where 30 seconds is the initial delay.

[0099] During the delay period of the initial delay time, the delay time is dynamically adjusted according to the server load to avoid resource waste due to operation blocking, while providing sufficient execution time for key processes to ensure efficient use of resources.

[0100] Specifically, the above step S206 further includes:

[0101] In step S2065, if at least one first response message indicates a delay in executing the target operation, a maximum delay time is determined based on the delay times carried in the first responses, and the maximum delay time is determined as a candidate delay time. For details, please refer to steps S2061 and S2062, which will not be repeated here.

[0102] In step S2066, if the CPU utilization is greater than the preset utilization, the memory occupancy is greater than the preset occupancy, or the disk I / O queue length is greater than the preset length, the candidate delay time is reduced and the target delay time is updated to the reduced candidate delay time. For details, see step S2063 and will not be repeated here.

[0103] In step S2067, if the process information indicates that the target process's remaining time is the target remaining time, the target delay time is updated to the sum of the candidate delay time and the target remaining time. For details, see step S2064, which will not be repeated here.

[0104] During the delay of the initial delay time, the target delay time is determined by combining the first response information of the second object and the resource utilization status of the server, which can ensure efficient utilization of server resources and avoid operation blocking due to excessive load.

[0105] Table 3. Adjustment rules for target delay time

[0106]

[0107] As a specific example, as shown in Table 3, when a first object initiates a target control command and enters the collaborative confirmation process, the server determines an initial delay based on factors such as the number of second objects participating in the decision and the urgency of the operation. If the number of second objects is greater than three, each additional second object increases the initial delay by 10 seconds. During the initial delay, the server recalculates and adjusts the initial delay based on the first response information sent by the second object and / or the server's resource status information to ensure that the target operation can be executed promptly without being blocked for a long time due to unresponsive second objects. For example, if CPU utilization exceeds 85% (i.e., exceeds the preset utilization), the initial delay is adjusted from 30 seconds to 15 seconds, resulting in a target delay of 15 seconds. If the remaining time for the database backup process is detected to be 120 seconds, the sum of the initial delay and 120 seconds is determined as the target delay. If the server load returns to normal (all load indicators are below the corresponding thresholds) or a critical process ends, the server automatically triggers the delay adjustment process. First, various server status data is recollected and comprehensively analyzed and evaluated. If the load returns to normal and no critical processes are running, the target delay time will be restored to the preset delay time; if there is still a certain load but it is within an acceptable range, or the second object feedback in the operation interface needs to maintain the current adjustment state, the server will adjust the delay time according to the feedback to achieve dynamic adaptive adjustment.

[0108] As an optional implementation, after updating the initial delay time to obtain the target delay time, the method also includes: determining the adjustment range based on the ratio of the target delay time to the initial delay time; if the adjustment range is greater than the preset adjustment range, sending an abnormal prompt information to all second objects in accordance with the target message push method.

[0109] The target message push method here can be an internal message plus a pop-up window. Through an efficient real-time synchronization mechanism, the delay adjustment results are instantly pushed to the user interfaces of all secondary objects. The UI will display "Current operation delay: XX seconds (due to server load / critical process adjustment)" to ensure that secondary objects receive the information immediately. If the adjustment exceeds 50% (for example, from 30 seconds to 15 seconds), a load anomaly alert will be automatically sent to all secondary objects.

[0110] When the adjustment range is greater than the preset adjustment range, it indicates that the adjustment range of the initial delay time is large, the current server load is high, and the target operation needs to be performed as soon as possible.

[0111] Step S207: After the target delay time has elapsed, executing the target operation corresponding to the target control instruction.

[0112] As an optional implementation, during the execution of the target delay time, the method also includes: detecting whether there is a second response information of a new response; if there is a second response information, determining whether the delay time carried by the second response information is greater than the target delay time; if the delay time is greater than the target delay time, updating the target delay time to the delay time.

[0113] like Figure 4 As shown, during the initial delay process, if multiple second objects request a delay for the target operation, the server aggregates the delays in the first responses from each second object, sorts them, identifies the largest delay, and sets this as the target delay. The server may also provide the target delay to each permission object (including the first, second, third, and fourth objects). During the target delay process, the server continuously monitors the status of each second object and the server load. If a load anomaly or a new second response is detected during this period, the server aggregates all delays again. If the delay in the new response exceeds the target delay, for example, if the fourth object requests a 120-second delay, the server updates the target delay to 120 seconds and resends a delay change notification to all permission objects to ensure that all permission objects are fully aware of the operation delay. During the delay adjustment process, if low-privileged users are involved, a push notification notification will be sent to them regarding the delay change. If the delay increases significantly and could impact business operations, the alert level will be raised.

[0114] During the execution of the target delay time, the second response information is promptly detected, so that it can be determined in time whether the target delay time needs to be adjusted again based on the second response information. If the target delay time needs to be adjusted in time, the target delay time is updated to the delay time, so that the needs of the second object can be responded to quickly.

[0115] The control method of the server of the present application is that after the server obtains the target control instruction initiated by the first object, it can determine the number of second objects controlling the server at this time based on the session object information in the session information list at this time; then, the initial delay time is determined according to the difference between the number of second objects and the preset number, which can reasonably determine the initial delay time, avoiding the control demand of the first object being affected by the initial delay time being too long and the second object being unable to know or intervene in the target control instruction in time due to the initial delay time being too short. This solution executes the target operation corresponding to the target control instruction after the initial delay time, that is, it does not execute the target operation corresponding to the target control instruction immediately after receiving the target control instruction. In this way, the second object participating in controlling the server within the initial delay time can know the target control instruction in time or issue an intervention response to the target control instruction in time, avoiding the impact on the ongoing key business of the second object, data loss or service interruption due to the immediate execution of the target control instruction, thereby reducing the loss caused by unexpected operation of the server.

[0116] In order to facilitate understanding of the control method of the server of the present application, the following describes the control method of the server of the present application by taking the example that there is only one admin permission object in the server and the target control instruction is initiated by the admin permission object. Figure 5As shown in the figure, if an admin permission object initiates a target control command, the server checks for operator and user permission objects. If neither exists, the server immediately executes the target operation corresponding to the target control command. If both exist, the target operation is executed after an initial delay of 30 seconds. At this point, the server pushes a prompt message to the operator or user permission object according to Level 3. This prompt includes information such as the operation type and estimated execution time, allowing the operator or user to save data, suspend services, or take other countermeasures in advance. The server also monitors resource status. If, during the initial delay period, the server load exceeds a threshold (e.g., CPU utilization exceeds 85%), the initial delay of 30 seconds is shortened to 15 seconds (the target delay) to prioritize efficient utilization of system resources and avoid operation bottlenecks caused by excessive load. If a critical process is detected (e.g., a database backup with 120 seconds remaining), the initial delay of 30 seconds is extended to 150 seconds (the target delay), and the "Delay adjusted due to critical process" message is displayed on the operator or user permission object's interface, indicating the updated initial delay time. Since the operator and user permission objects cannot determine whether the server will execute the target operation, the target operation will be executed after the target delay time has passed, regardless of whether the operator and user permission objects respond during the delay period. If the server load is normal and there are no critical processes, the target operation will be executed after the initial delay time has passed.

[0117] In order to facilitate understanding of the control method of the server of the present application, the following describes the control method of the server of the present application by taking the example that there are multiple admin permission objects in the server and one of the admin permission objects initiates a target control instruction. Figure 6As shown, if there are multiple admin permission objects, and one admin permission object initiates a target control instruction, the number of admin permission objects other than the admin permission object initiating the target control instruction is detected, and an initial delay time is determined based on the number of other admin permission objects. After determining the initial delay time, a prompt message is sent to all permission objects (including other admin permission objects, operator, and user permission objects). Since operator and user permissions do not have power on, power off, or restart permissions, they can only passively receive the prompt message, but can save data or suspend services in advance based on the prompt message. After receiving the prompt message, other admin permission objects send a first response message to the server in response to the prompt message. Next, it is determined whether first responses from all other admin permission objects have been received. If first responses from all other admin permission objects have not been received, it is determined whether the initial delay time has expired. If so, the target operation is executed. If not, the process proceeds again to the step of detecting the number of other admin permission objects. If first responses from other admin permission objects are received, it is detected whether a rejection response exists. If a rejection response exists, the target operation is not executed, and the admin permission object that rejected the rejection is recorded. If no rejection response exists, it is determined whether a delayed execution response exists. If there is no delayed execution response, the target operation is performed after the initial delay time. If there is a delayed execution response, the maximum delay time is determined and the maximum delay is determined as the candidate delay time. At the same time, the load status and process status of the server are detected, and based on the load status and process status, the candidate delay time is updated to obtain the target delay time. During the extension period of the target delay time, whether there are newly added admin permission objects is continuously detected. If there are no newly added admin permission objects, the target operation is performed after the target delay time. If there are newly added admin permission objects, the countdown to the target delay time is paused and the collaborative confirmation process is re-initiated to adjust the target delay time again according to the second response information sent by the newly added admin permission object.

[0118] In an edge computing environment, a large number of distributed servers need to be managed efficiently, and the response speed and stability requirements are extremely high. The dynamic collaborative control mechanism of this application can be applied to the BMC system of the edge computing node. When multiple admin permission objects operate on the edge server at the same time, the collaborative confirmation process can avoid service interruptions caused by operation conflicts. For example, in the edge computing node of smart transportation, if the admin permission object causes the server to restart due to misoperation, it may affect key businesses such as traffic signal control. By delaying execution, veto and other functions, the continuity and reliability of edge computing services are guaranteed. At the same time, in view of the limited resources of edge computing nodes, the dynamic timeout strategy can be further optimized, and the delay time can be dynamically adjusted according to the node load to achieve efficient use of resources.

[0119] Since the hybrid cloud architecture integrates the advantages of public cloud and private cloud, server management is more complicated. This application can also be applied to the BMC system in a hybrid cloud environment to achieve cross-cloud operation collaboration. The operating protocols of different cloud service providers may be different, and the unified collaborative processing characteristics of cross-protocol operations of this application can enable admin permission objects in a hybrid cloud environment to follow the same collaborative decision-making rules regardless of whether the operation is initiated through the public cloud API interface or the private cloud management interface. In addition, the operator and user permission object early warning mechanism can be extended to the hybrid cloud tenant level. When the admin permission object performs critical operations on the server, the relevant tenants will be notified in a timely manner to ensure the normal operation of the tenant business and improve user satisfaction with hybrid cloud services.

[0120] The embodiment of the present application also provides a control device for a server, such as Figure 7 As shown, the control device includes a first acquisition module 710 , a first determination module 720 , a second determination module 730 and a first execution module 740 .

[0121] The first acquisition module 710 is configured to acquire a target control instruction initiated by the first object to the server and a current session information list of the server.

[0122] The first determining module 720 is configured to determine the number of second objects based on the session object information in the session information list, where the second objects are objects having the same level of control authority as the first objects.

[0123] The second determining module 730 is configured to determine an initial delay time according to a difference between the number and the preset number if the number exceeds the preset number.

[0124] The first execution module 740 is configured to execute a target operation corresponding to the target control instruction after an initial delay time has elapsed.

[0125] As an optional embodiment, the device further includes a second acquisition module, a first update module, and a second execution module. The second acquisition module is configured to acquire the first response information sent by each second object and the current resource status information of the server; the update module is configured to update the initial delay time based on each first response information and / or resource status information to obtain a target delay time; and the second execution module is configured to execute the target operation corresponding to the target control instruction after the target delay time has elapsed.

[0126] As an optional implementation, the first update module is also used to determine the target delay time as the delay time carried by the first response information if there is a first response information representing a delay in executing the target operation; if there are multiple first response information representing a delay in executing the target operation, the target delay time is determined as the maximum delay time.

[0127] As an optional implementation, the first update module is also used to not execute the target operation if there is at least one first response message indicating that the target operation is not to be executed, and to enter the step of obtaining the target control instruction initiated by the first object to the server and the current session information list of the server; if all the first response messages indicate that the target operation is to be executed, then after the initial delay time, the target operation corresponding to the target control instruction is executed.

[0128] As an optional implementation, the first update module is also used to reduce the initial delay time and determine the target delay time as the reduced initial delay time if the CPU utilization is greater than the preset utilization, the memory occupancy is greater than the preset occupancy, or the disk IO queue length is greater than the preset length; if the process information represents that the process remaining time of the target process is the target remaining time, the target delay time is determined as the sum of the initial delay time and the target remaining time.

[0129] As an optional implementation, the first update module is also used to determine the maximum delay time based on the delay time carried by each first response if there is at least one first response information representing a delay in executing the target operation, and determine the maximum delay time as the candidate delay time; if the CPU utilization is greater than the preset utilization, the memory occupancy is greater than the preset occupancy, or the disk IO queue length is greater than the preset length, reduce the candidate delay time, and determine the target delay time as the reduced candidate delay time; if the process information represents that the process remaining time of the target process is the target remaining time, determine the target delay time as the sum of the candidate delay time and the target remaining time.

[0130] As an optional implementation, the second acquisition module is also used to obtain the operation type of the target operation; determine the message push method based on the operation type; push the prompt information containing the initial delay time to each second object according to the message push method; and obtain the first response information sent by each second object in response to the prompt information.

[0131] As an optional embodiment, the control device also includes a third determination module and a second sending module, wherein the third determination module is used to determine whether a third object exists based on the session object information in the session information list, and the authority of the third object is lower than that of the first object and the second object; the second sending module is used to send a prompt information including an initial delay time to the third object in a message push manner if a third object exists, so that the third object saves business data and / or suspends business processes.

[0132] As an optional embodiment, the control device also includes a fourth determination module and a second sending module, wherein the fourth determination module is also used to determine the adjustment range based on the ratio of the target delay time to the initial delay time; the second sending module is also used to send abnormal prompt information to all second objects in accordance with the target message push method if the adjustment range is greater than the preset adjustment range.

[0133] As an optional embodiment, the control device also includes a first detection module and a pause module, wherein the first detection module is used to detect whether there is a newly added fourth object, and the fourth object has the same control authority level as the second object; the pause module is used to pause the countdown for the initial delay time if there is a fourth object, and enter the step of determining the number of second objects based on the session object information in the session information list.

[0134] As an optional embodiment, the control device also includes a second detection module, a fifth determination module and a second update module, wherein the second detection module is used to detect whether there is a second response information of a new response; the fifth determination module is used to determine whether the delay time carried by the second response information is greater than the target delay time if there is a second response information; and the second update module is used to update the target delay time to the delay time if the delay time is greater than the target delay time.

[0135] As an optional implementation manner, the second determination module is configured to determine the increased delay time based on the product of the quantity difference and the unit delay time; and determine the initial delay time based on the sum of the increased delay time and the preset delay time.

[0136] For the description of the features in the embodiment corresponding to the control device of the server, please refer to the relevant description of the embodiment corresponding to the control method of the server, and no further details will be given here.

[0137] The embodiment of the present application also provides an electronic device, such as Figure 8 As shown, it includes a memory 810 and a processor 820, the memory 810 stores a computer program, and the processor 820 is configured to run the computer program to execute the steps in any of the above server control method embodiments.

[0138] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps of any of the above-mentioned server control method embodiments when running.

[0139] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.

[0140] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps of any of the above-mentioned server control method embodiments are implemented.

[0141] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the above-mentioned server control method embodiments are implemented.

[0142] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0143] The above is a detailed introduction to the control method, device, storage medium and program product of a server provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and core ideas of the present application. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.

Claims

1. A method for controlling a server, characterized in that: include: Obtaining a target control instruction initiated by the first object to the server and a current session information list of the server; determining, based on the session object information in the session information list, the number of second objects, where the second objects are objects having the same level of control authority as the first object; If the number exceeds a preset number, determining an additional delay time according to the product of the difference between the number and the preset number and the unit delay time, and determining an initial delay time based on the sum of the additional delay time and the preset delay time; After the initial delay time has passed, executing a target operation corresponding to the target control instruction; During the execution of the initial delay time, the method further includes: detecting whether there is a newly added fourth object, the fourth object having the same control authority level as the second object; If the fourth object exists, the countdown for the initial delay time is paused, and the process proceeds to a step of determining the number of second objects based on the session object information in the session information list.

2. The method according to claim 1, characterized in that The method further comprises: Obtaining first response information sent by each second object to the server and current resource status information of the server; Based on each of the first response information and / or the resource status information, the initial delay time is updated to obtain a target delay time; After the target delay time has elapsed, a target operation corresponding to the target control instruction is executed.

3. The method according to claim 2, characterized in that Updating the initial delay time based on each piece of the first response information to obtain a target delay time includes: If there is a first response message indicating that the target operation is delayed, the target delay time is determined as the delay time carried by the first response message; If there are multiple pieces of first response information indicating that the target operation is to be executed delayed, the target delay time is determined to be the largest delay time.

4. The method according to claim 3, characterized in that If at least one of the first response information indicates that the target operation is not to be performed, the target operation is not performed, and the process proceeds to the step of obtaining the target control instruction initiated by the first object to the server and the current session information list of the server; If all the first response information indicates that the target operation is to be executed, then after the initial delay time, the target operation corresponding to the target control instruction is executed.

5. The method according to claim 2, characterized in that The resource status information is CPU utilization, memory occupancy, disk IO queue length, or process information; and based on the resource status information, the initial delay time is updated to obtain a target delay time, including: If the CPU utilization is greater than a preset utilization, the memory occupancy is greater than a preset occupancy, or the disk IO queue length is greater than a preset length, reducing the initial delay time and determining the target delay time as the reduced initial delay time; If the process information indicates that the process remaining time of the target process is the target remaining time, the target delay time is determined as the sum of the initial delay time and the target remaining time.

6. The method according to claim 2, characterized in that The resource status information is CPU utilization, memory occupancy, disk IO queue length, or process information; and based on each of the first response information and the resource status information, the initial delay time is updated to obtain a target delay time, including: If there is at least one first response information indicating a delay in executing the target operation, determine a maximum delay time according to the delay times carried in the first responses, and determine the maximum delay time as a candidate delay time; If the CPU utilization is greater than a preset utilization, the memory occupancy is greater than a preset occupancy, or the disk IO queue length is greater than a preset length, reducing the candidate delay time, and determining the target delay time as the reduced candidate delay time; If the process information indicates that the process remaining time of the target process is the target remaining time, the target delay time is determined as the sum of the candidate delay time and the target remaining time.

7. The method according to claim 2, characterized in that Obtaining first response information sent by each second object to the server includes: Obtaining the operation type of the target operation; Determine a message push method based on the operation type; Pushing the prompt information including the initial delay time to each second object according to the message push method; The first response information sent by each second object in response to the prompt information is obtained.

8. The method according to claim 7, characterized in that After determining the message push mode based on the operation type, the method further includes: determining, based on the session object information in the session information list, whether a third object exists, wherein the authority of the third object is lower than that of the first object and the second object; If the third object exists, the prompt information including the initial delay time is sent to the third object according to the message push method, so that the third object saves the business data and / or suspends the business process.

9. The method according to claim 5, characterized in that After updating the initial delay time to obtain the target delay time, the method further includes: determining an adjustment amplitude based on a ratio of the target delay time to the initial delay time; If the adjustment range is greater than the preset adjustment range, abnormal prompt information is sent to all the second objects in a target message push manner.

10. The method according to claim 6, characterized in that During the process of executing the target delay time, the method further includes: Detecting whether there is a new second response information; If the second response information exists, determining whether the delay time carried in the second response information is greater than the target delay time; If the delay time is greater than the target delay time, the target delay time is updated to the delay time.

11. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the server control method according to any one of claims 1 to 10 when executing the computer program.

12. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, the steps of the server control method according to any one of claims 1 to 10 are implemented.

13. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the server control method according to any one of claims 1 to 10 are implemented.

Citation Information

Patent Citations

  • Data processing request processing method and device

    CN118034934A