A request scheduling method, system, computer program product and computer medium

Through request number identification pool management, the problem of insufficient bandwidth of dynamic random memory bandwidth in the substrate management controller is solved, and stable monitoring of remote pictures is achieved, image loss is avoided, and the effect of remote monitoring is improved.

CN118672794BActive Publication Date: 2024-12-17SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411171490.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-26
Publication Date
2024-12-17
Estimated Expiration
2044-08-26

AI Technical Summary

Technical Problem

In the server, the double-rate synchronous dynamic random memory bandwidth of the substrate management controller is insufficient, resulting in the image loss of remote pictures and affecting the effect of remote monitoring and management.

Method used

Through request number identification pool management, the target object is allowed or prohibited from sending requests to the double-rate synchronized dynamic random memory controller, ensuring the rationality and effectiveness of bandwidth usage, avoiding uncontrollable preemption, and improving remote picture monitoring capabilities.

Benefits of technology

Effectively control the use of double-rate synchronous dynamic random memory, reduce image loss, and improve the remote picture monitoring capability of the substrate management controller.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118672794B_ABST
    Figure CN118672794B_ABST
Patent Text Reader

Abstract

The present invention discloses a request scheduling method, system, computer program product and computer medium, and relates to the technical field of servers. The target request sent by a target object is obtained, and the target request is used for the target object to request a DDR in an application BMC; a request number identification pool corresponding to the target object is determined, and the request number identification pool is used to record the request number identification; whether there is a valid target request number identification in the request number identification pool is detected; in response to the existence of a target request number identification in the request number identification pool, the target object is allowed to send a DDR request to a DDR controller, and the target request number identification in the request number identification pool is invalidated, so that the DDR controller responds to the DDR request; in response to the absence of a target request number identification in the request number identification pool, the target object is prohibited from sending a DDR request to the DDR controller. The DDR use process is controlled by setting the request number identification pool, thereby improving the remote screen monitoring capability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of server technology, and more specifically, to a request scheduling method, system, computer program product and computer medium. Background Art

[0002] In a server, when a remote server is remotely managed through a BMC (Baseboard management controller), the remote image can be received from the server, compressed, and then sent to the local computer through the network for image display.

[0003] However, in the baseboard management controller, the DDR (Double Data Rate) controller is shared, and various application services of the baseboard management controller need to occupy the double data rate synchronous dynamic random access memory to run, which usually leads to insufficient bandwidth of the double data rate synchronous dynamic random access memory and image loss of the remote screen. Although the loss of the remote image screen is allowed, it will give users a visual jump feeling of the screen, and it is not possible to monitor and manage the remote server well.

[0004] In summary, how to improve the remote image monitoring capability of the baseboard management controller is an urgent problem to be solved by those skilled in the art. Summary of the invention

[0005] The purpose of the present invention is to provide a request calling method, which can solve the technical problem of how to improve the remote screen monitoring capability of the baseboard management controller to a certain extent. The present invention also provides a request calling system, a computer program product and a computer readable storage medium.

[0006] In order to achieve the above object, the present invention provides the following technical solutions:

[0007] In a first aspect, a request scheduling method is provided, comprising:

[0008] Acquire a target request sent by a target object, wherein the target request is used by the target object to request a double rate synchronous dynamic random access memory in a baseboard management controller;

[0009] Determine a request number identification pool corresponding to the target object, wherein the request number identification pool is used to record request number identifications;

[0010] Detecting whether there is a valid target request number identifier in the request number identifier pool;

[0011] In response to the existence of the target request number identifier in the request number identifier pool, allowing the target object to send a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller, and invalidating the target request number identifier in the request number identifier pool, so that the double rate synchronous dynamic random access memory controller responds to the double rate synchronous dynamic random access memory request;

[0012] In response to the target request number identifier not existing in the request number identifier pool, the target object is prohibited from sending a double data rate synchronous dynamic random access memory request to the double data rate synchronous dynamic random access memory controller.

[0013] On the other hand, detecting whether there is a valid target request number identifier in the request number identifier pool includes:

[0014] Determining a first identification pool in the request number identification pool;

[0015] Detecting whether there is a valid first request number identifier in the first identifier pool;

[0016] In response to the first request number identifier existing in the first identifier pool, detecting whether the first request number identifier exists in a corresponding second identifier pool;

[0017] In response to the first request number identifier not existing in the corresponding second identifier pool, the first request number identifier is used as the target request number identifier.

[0018] On the other hand, after detecting whether there is a valid first request number identifier in the first identifier pool, the method further includes:

[0019] In response to the first identifier pool not containing a valid first request number identifier, it is determined that the target request number identifier does not exist in the request number identifier pool.

[0020] On the other hand, it also includes:

[0021] The request number identifier in the first identifier pool is set.

[0022] On the other hand, setting the request number identifier in the first identifier pool includes:

[0023] Within the first time period, counting the request hit rate of the target object and counting the request hit rates of other objects;

[0024] In response to the target object having the highest request hit rate, the valid request number identifiers in the first identifier pool are reduced, and the valid request number identifiers in the identifier pools of other objects are increased until the request hit rate of the target object is the same as the request hit rate of the other objects.

[0025] On the other hand, after counting the request hit rates of other objects, it also includes:

[0026] In response to the fact that the request hit rate of the target object is not the highest, the valid request number identifiers in the first identification pool are increased, and the valid request number identifiers in the identification pool of the other objects with the highest request hit rate are reduced until the request hit rate of the target object is the same as the request hit rate of the other objects.

[0027] On the other hand, counting the request hit rate of the target object includes:

[0028] Counting a first quantity value of double data rate synchronous dynamic random access memory requests sent by the target object to the double data rate synchronous dynamic random access memory controller;

[0029] Counting the number of times the target object obtains the control right of the double rate synchronous dynamic random access memory;

[0030] The ratio of the number value to the first quantity value is used as the request hit rate of the target object.

[0031] On the other hand, after detecting whether the first request number identifier has a corresponding second identifier pool, the method further includes:

[0032] In response to the existence of the second identification pool corresponding to the first request number identification, detecting whether there is a valid second request number identification in the second identification pool;

[0033] In response to the second request number identifier existing in the second identifier pool, the second request number identifier is used as the target request number identifier.

[0034] On the other hand, after detecting whether there is a valid second request number identifier in the second identifier pool, the method further includes:

[0035] In response to the absence of a valid second request number identifier in the second identifier pool, it is determined that the target request number identifier does not exist in the request number identifier pool.

[0036] On the other hand, it also includes:

[0037] The request number identifier in the second identifier pool is set.

[0038] On the other hand, setting the request number identifier in the second identifier pool includes:

[0039] Within a second time period, counting a second quantity value of the target requests sent by the target object;

[0040] Detecting whether the second quantity value is greater than a preset quantity value;

[0041] In response to the second quantity value being greater than the preset quantity value, a valid request number identifier in the second identifier pool is added.

[0042] On the other hand, it also includes:

[0043] Acquire setting information of the user for the request number identifier pool, wherein the setting information is used to set whether the request number identifiers in the request number identifier pool are valid;

[0044] Determining whether the request number identifier in the request number identifier pool is real-time valid or not;

[0045] Performing a bitwise OR operation on the setting information and the real-time validity information to obtain the target validity information of the request number identifier in the request number identifier pool;

[0046] The request number identifier includes a bit. When the value of the bit is 1, it indicates that the request number identifier is valid. When the value of the bit is 0, it indicates that the request number identifier is invalid.

[0047] In a second aspect, a request scheduling system is provided, comprising:

[0048] A first acquisition module is used to acquire a target request sent by a target object, wherein the target request is used by the target object to request to apply a double rate synchronous dynamic random access memory in a baseboard management controller;

[0049] A first determining module, used to determine a request number identification pool corresponding to the target object, wherein the request number identification pool is used to record request number identifications;

[0050] A first detection module is used to detect whether there is a valid target request number identifier in the request number identifier pool;

[0051] A first processing module is used for allowing the target object to send a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller in response to the existence of the target request number identifier in the request number identifier pool, and invalidating the target request number identifier in the request number identifier pool, so that the double rate synchronous dynamic random access memory controller responds to the double rate synchronous dynamic random access memory request;

[0052] The second processing module is used for prohibiting the target object from sending a double data rate synchronous dynamic random access memory request to the double data rate synchronous dynamic random access memory controller in response to the target request number identifier not existing in the request number identifier pool.

[0053] According to a third aspect, a computer program product is provided, comprising a computer program / instruction, which, when executed by a processor, implements the steps of any of the request scheduling methods described above.

[0054] According to a fourth aspect, a computer-readable storage medium is provided, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, the steps of any of the above-mentioned request scheduling methods are implemented.

[0055] The present invention provides a request scheduling method, which obtains a target request sent by a target object, the target request is used for the target object to request a double rate synchronous dynamic random access memory in an application baseboard management controller; determines a request number identification pool corresponding to the target object, the request number identification pool is used to record the request number identification; detects whether there is a valid target request number identification in the request number identification pool; in response to the existence of a target request number identification in the request number identification pool, allows the target object to send a double rate synchronous dynamic random access memory request to a double rate synchronous dynamic random access memory controller, and invalidates the target request number identification in the request number identification pool, so that the double rate synchronous dynamic random access memory controller responds to the double rate synchronous dynamic random access memory request; in response to the absence of a target request number identification in the request number identification pool, prohibits the target object from sending a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller. The beneficial effects of the present invention are as follows: a request number identification pool is set for each target object, and the request number identification corresponding to the target object is stored by means of the request number identification pool, and only when the target request number identification in the request number identification pool is valid, the target object is allowed to send a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller of the baseboard management controller to apply the double rate synchronous dynamic random access memory, so that the request number identification in the request number identification pool can be set to be valid or not, so as to control the ability of the target object to apply the double rate synchronous dynamic random access memory, so that the process of each object applying the double rate synchronous dynamic random access memory is under control, avoiding the situation that each business in the baseboard management controller uncontrollably seizes the double rate synchronous dynamic random access memory, and can improve the bandwidth of the double rate synchronous dynamic random access memory, reduce the image loss of the remote screen, and thus improve the remote screen monitoring capability of the baseboard management controller. A request scheduling system, a computer program product and a computer-readable storage medium provided by the present invention also solve corresponding technical problems. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.

[0057] Figure 1 A flowchart of a request scheduling method provided by an embodiment of the present invention;

[0058] Figure 2 A schematic diagram of the structure of a request scheduling system provided by an embodiment of the present invention;

[0059] Figure 3 It is a block diagram of the implementation of the present invention in practical applications;

[0060] Figure 4 This is a functional diagram of an example of business module A;

[0061] Figure 5 It is a functional schematic diagram of the local image restoration module;

[0062] Figure 6 A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention;

[0063] Figure 7 Another structural schematic diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION

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

[0065] See also Figure 1 , Figure 1 A flowchart of a request scheduling method provided by an embodiment of the present invention.

[0066] A request scheduling method provided by an embodiment of the present invention may include the following steps:

[0067] Step S101: obtaining a target request sent by a target object, where the target request is used by the target object to request to apply a double rate synchronous dynamic random access memory in a baseboard management controller.

[0068] In actual applications, when the target object needs to apply the double-rate synchronous dynamic random access memory in the baseboard management controller, it can first send a corresponding target request. Correspondingly, the present invention can obtain the target request sent by the target object and perform subsequent request scheduling based on the target request.

[0069] It should be noted that the target object refers to an object that needs to apply the double rate synchronous dynamic random access memory in the baseboard management controller, and its type can be flexibly determined according to actual needs. For example, the target object can be a business module in the baseboard management controller.

[0070] Step S102: Determine a request number identification pool corresponding to the target object, where the request number identification pool is used to record the request number identification.

[0071] In actual applications, when a target request is triggered, a request number identification pool corresponding to the target object can be determined. This request number identification pool is used to record the request number identification, and the request number identification has two states: valid and invalid. When the request number identification is valid, it indicates that the target object has an opportunity to send a double-rate synchronous dynamic random access memory request to the double-rate synchronous dynamic random access memory controller. When the request number is invalid, it indicates that the target object does not have an opportunity to send a double-rate synchronous dynamic random access memory request to the double-rate synchronous dynamic random access memory controller. The number of request number identifications in the request number identification pool and the validity and invalidity of each request number identification can be flexibly determined according to the application scenario.

[0072] Step S103: Check whether there is a valid target request number identifier in the request number identifier pool.

[0073] Step S104: In response to the existence of a target request number identifier in the request number identifier pool, the target object is allowed to send a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller, and the target request number identifier in the request number identifier pool is invalidated so that the double rate synchronous dynamic random access memory controller responds to the double rate synchronous dynamic random access memory request.

[0074] Step S105: In response to the target request number identifier not existing in the request number identifier pool, prohibiting the target object from sending a DDRSDRAM request to the DDRSDRAM controller.

[0075] In actual applications, after determining the request number identification pool corresponding to the target object, it is possible to detect whether there is a valid target request number identification in the request number identification pool. In response to the existence of the target request number identification in the request number identification pool, the target object can be allowed to send a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller, and the target request number identification in the request number identification pool is invalidated to avoid the target object from repeatedly applying the target request number identification to send a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller. In other words, a single request number identification can only allow the target object to send a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller once. Accordingly, after the double rate synchronous dynamic random access memory controller responds to the double rate synchronous dynamic random access memory request, the target object can apply the double rate synchronous dynamic random access memory in the baseboard management controller. Similarly, in response to the absence of the target request number identification in the request number identification pool, the target object is prohibited from sending a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller.

[0076] It should be noted that, in the process of allowing the target object to send a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller or prohibiting the target object from sending a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller, a first message can be sent to the target object to control the target object to send a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller through the first message, and a second message can be sent to the target object to instruct the target object to prohibit sending a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller through the second message; of course, the target object can also be given permission to send a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller to allow the target object to send a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller, or the target object can be given permission to send a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller to prohibit the target object from sending a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller, etc.

[0077] In actual application, in the process of detecting whether there is a valid target request number identifier in the request number identifier pool, the first identifier pool can be determined in the request number identifier pool; detecting whether there is a valid first request number identifier in the first identifier pool; in response to the existence of the first request number identifier in the first identifier pool, detecting whether there is a corresponding second identifier pool for the first request number identifier; in response to the absence of a corresponding second identifier pool for the first request number identifier, the first request number identifier is used as the target request number identifier. It should be noted that the number of request number identifier pools in the first identifier pool and the number of request number identifier pools in the second identifier pool can be flexibly determined according to the application scenario. For example, the first identifier pool may include 8 request number identifiers, and 4 request number identifiers can be set under these 8 request number identifiers, that is, the second storage pool may include 4 request number identifiers, etc. In addition, in a specific application scenario, after detecting whether there is a valid first request number identifier in the first identifier pool, in response to the absence of a valid first request number identifier in the first identifier pool, it can be determined that there is no target request number identifier in the request number identifier pool.

[0078] From this implementation process, it can be known that the present invention sets the request number identification pool to include a first identification pool and a second identification pool, and the second identification pool is set under the request number identification of the first identification pool. In this way, when the request number identification in the first identification pool is insufficient, the corresponding second identification pool can be opened to increase the number of request number identifications, so as to flexibly control the opportunity of the target object to send a double-speed synchronous dynamic random access memory request to the double-speed synchronous dynamic random access memory controller. It should be noted that the present invention only uses a two-level identification pool to illustrate the request number identification pool. In a specific application scenario, the request number identification pool may include a three-level identification pool, a four-level identification pool, etc., and the present invention does not make specific limitations here.

[0079] It should also be noted that when there are multiple objects, the number of request number identifiers in the first identification pool and the second identification pool of each object can be the same or different, and can be flexibly determined according to the application requirements of the object for the double-speed synchronous dynamic random access memory. For example, if the object has a high application requirement for the double-speed synchronous dynamic random access memory, the number of request number identifiers in the first identification pool and the second identification pool of the object can be set to be larger, and when the numbers are the same, the number of valid request number identifiers can be set to be larger, etc. In addition, the number of request identification numbers in the second storage pool can be understood as how many times the request number identifier in the first identification pool can be applied. Of course, according to this principle, a third identification pool can be set after the request number identifier in the second identification pool, and the number of applications of the request number identifier in the second identification pool is also limited. At this time, the effective detection principle of the request number identifier in the second identification pool is consistent with the detection principle of the request number identifier in the first identification pool.

[0080] In a specific application scenario, the request number identifier in the first identification pool can also be set. For example, the request number identifier in the first identification pool can be set according to the competitive ability of the target object and other objects for the double-rate synchronous dynamic random access memory, that is, within the first time period, the request hit rate of the target object is counted, and the request hit rate of other objects is counted. The first time period can be flexibly determined according to application requirements, and the request hit rate represents the probability of the double-rate synchronous dynamic random access memory request being responded to; in response to the target object having the highest request hit rate, the valid request number identifier in the first identification pool is reduced, and the valid request number identifier in the identification pool of other objects is increased, until the request hit rate of the target object is the same as the request hit rate of other objects. Correspondingly, in response to the target object's request hit rate not being the highest, the valid request number identifier in the first identification pool is increased, and the valid request number identifier in the identification pool of other objects with the highest request hit rate is reduced, until the request hit rate of the target object is the same as the request hit rate of other objects.

[0081] From the implementation process, it can be seen that the present invention counts the request hit rate of the target object and the request hit rate of other objects within the first time period, and uses the request hit rate to characterize the probability that the double-rate synchronous dynamic random access memory request of the object is actually responded to; and the valid request number identifiers in the request number identifier pool with a low request hit rate can be increased, and the valid request number identifiers in the request number identifier pool with a high request hit rate can be reduced, so that the probability that the double-rate synchronous dynamic random access memory request of each object is actually responded to is the same, so that the probability of different objects applying the double-rate synchronous dynamic random access memory can be made the same, which is conducive to balancing the application capabilities of different objects to the double-rate synchronous dynamic random access memory.

[0082] In actual applications, when both the first identification pool and the second identification pool exist, the first identification pool and the second identification pool can be set based on the number of valid request number identifications in the two identification pools. For example, in response to the target object having the highest request hit rate, the valid request number identifications in the second identification pool can be reduced first. When there are no valid request number identifications in the second identification pool, the valid request number identifications in the first identification pool can be reduced again until all request number identifications in the first identification pool are invalid. In response to the target object having the highest request hit rate, the valid request number identifications in the first identification pool can be increased first. After all request number identifications in the first identification pool are valid, the valid request number identifications in the second identification pool can be increased again until all request number identifications in the second identification pool are valid.

[0083] From the implementation process, it can be seen that, when increasing the number of valid request number identifiers in the request number identifier pool of the target object, the present invention first applies the first identifier pool to increase the chance of the target object sending a DDR request. When the first identifier pool is insufficient, the second identifier pool is added to further increase the chance of the target object sending a DDR request. Correspondingly, when reducing the number of valid request number identifiers in the request number identifier pool of the target object, the second identifier pool is first applied to reduce the chance of the target object sending a DDR request. When the second identifier pool is insufficient, the first identifier pool is reduced to further reduce the chance of the target object sending a DDR request. In this way, the chance of the target object sending a DDR request can be fine-grained and accurately controlled based on the first identifier pool and the second identifier pool.

[0084] In a specific application scenario, in the process of counting the request hit rate of the target object, the first number value of the double-rate synchronous dynamic random access memory requests sent by the target object to the double-rate synchronous dynamic random access memory controller can be counted; the number of times the target object obtains control of the double-rate synchronous dynamic random access memory can be counted; and the ratio of the number value to the first number value can be used as the request hit rate of the target object.

[0085] In a specific application scenario, after detecting whether there is a corresponding second identification pool for the first request number identification, in response to the existence of a corresponding second identification pool for the first request number identification, it is necessary to further detect whether there is a valid second request number identification in the second identification pool; in response to the existence of the second request number identification in the second identification pool, the second request number identification is used as the target request number identification. Correspondingly, in response to the absence of a valid second request number identification in the second identification pool, it can be determined that the target request number identification does not exist in the request number identification pool.

[0086] In specific application scenarios, the request number identifier in the second identifier pool can also be set. For example, within the second time period, the second number value of the target request sent by the target object can be counted; whether the second number value is greater than the preset number value can be detected; in response to the second number value being greater than the preset number value, the valid request number identifier in the second identifier pool can be increased. For example, if the number of target requests sent by the target object within one second exceeds 16, the valid request number identifier in the second identifier pool can be increased.

[0087] In practical applications, the user's setting information for the request number identification pool can also be obtained, and the setting information is used to set whether the request number identification in the request number identification pool is valid; determine the real-time validity information of the request number identification in the request number identification pool; perform a bitwise OR operation on the setting information and the real-time validity information to obtain the target validity information of the request number identification in the request number identification pool; wherein the request number identification includes a bit, and when the value of the bit is 1, it indicates that the request number identification is valid, and when the value of the bit is 0, it indicates that the request number identification is invalid. At this time, the relationship between the first identification pool and the second identification pool can be as shown in Table 1 and Table 2, wherein the double rate synchronous dynamic random access memory transmission request modules A, B, and C are different objects.

[0088] Table 1 Schematic table of request number identification of the first identification pool

[0089]

[0090] Table 2 Schematic diagram of request number identification of the second identification pool

[0091]

[0092] It should be noted that the user can set invalid or valid request number identifiers in the request number identifier pool at any time. For example, when the business volume transmitted by the target object to the double-rate synchronous dynamic random access memory increases, the number of valid request number identifiers in the request number identifier pool can be increased, that is, more request number identifier bits can be set to 1; when the business volume decreases, the number of valid request number identifiers in the request number identifier pool can be reduced, that is, the number of invalid request number identifiers in the request number identifier pool can be increased, and more request number identifier bits can be set to 0.

[0093] The present invention provides a request scheduling method, which obtains a target request sent by a target object, the target request is used for the target object to request a double rate synchronous dynamic random access memory in an application baseboard management controller; determines a request number identification pool corresponding to the target object, the request number identification pool is used to record the request number identification; detects whether there is a valid target request number identification in the request number identification pool; in response to the existence of a target request number identification in the request number identification pool, allows the target object to send a double rate synchronous dynamic random access memory request to a double rate synchronous dynamic random access memory controller, and invalidates the target request number identification in the request number identification pool, so that the double rate synchronous dynamic random access memory controller responds to the double rate synchronous dynamic random access memory request; in response to the absence of a target request number identification in the request number identification pool, prohibits the target object from sending a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller. The present invention sets a request number identification pool for each target object, and uses the request number identification pool to store the request number identification corresponding to the target object. Only when the target request number identification in the request number identification pool is valid, the target object is allowed to send a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller of the baseboard management controller to apply the double rate synchronous dynamic random access memory. In this way, the request number identification in the request number identification pool can be set to be valid or not to control the ability of the target object to apply the double rate synchronous dynamic random access memory, so that the process of each object applying the double rate synchronous dynamic random access memory is under control, avoiding the situation that each business in the baseboard management controller uncontrollably seizes the double rate synchronous dynamic random access memory, can improve the bandwidth of the double rate synchronous dynamic random access memory, reduce the image loss of the remote screen, and thus improve the remote screen monitoring capability of the baseboard management controller.

[0094] See also Figure 2 , Figure 2 A schematic diagram of the structure of a request scheduling system provided by an embodiment of the present invention.

[0095] A request scheduling system provided by an embodiment of the present invention may include:

[0096] A first acquisition module 101 is used to acquire a target request sent by a target object, where the target request is used by the target object to request to apply a double rate synchronous dynamic random access memory in a baseboard management controller;

[0097] A first determination module 102 is used to determine a request number identification pool corresponding to a target object, where the request number identification pool is used to record request number identifications;

[0098] The first detection module 103 is used to detect whether there is a valid target request number identifier in the request number identifier pool;

[0099] The first processing module 104 is used for allowing the target object to send a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller in response to the existence of the target request number identifier in the request number identifier pool, and invalidating the target request number identifier in the request number identifier pool, so that the double rate synchronous dynamic random access memory controller responds to the double rate synchronous dynamic random access memory request;

[0100] The second processing module 105 is configured to prohibit the target object from sending a DDR SDRAM request to the DDR SDRAM controller in response to the target request number identifier not existing in the request number identifier pool.

[0101] In a request scheduling system provided by an embodiment of the present invention, the first detection module may include:

[0102] A first determining unit, configured to determine a first identification pool in the request number identification pool;

[0103] A first detection unit, used to detect whether there is a valid first request number identifier in the first identifier pool;

[0104] The second detection unit is used to detect whether there is a corresponding second identification pool for the first request number identification in response to the existence of the first request number identification in the first identification pool; in response to the absence of a corresponding second identification pool for the first request number identification, use the first request number identification as the target request number identification.

[0105] A request scheduling system provided by an embodiment of the present invention, the first detection unit can be used to: after detecting whether there is a valid first request number identifier in the first identifier pool, in response to the absence of a valid first request number identifier in the first identifier pool, determine that there is no target request number identifier in the request number identifier pool.

[0106] A request scheduling system provided by an embodiment of the present invention may further include:

[0107] The first setting unit is used to set the request number identifier in the first identifier pool.

[0108] In a request scheduling system provided by an embodiment of the present invention, the first setting unit can be specifically used to: within a first time period, count the request hit rate of the target object and count the request hit rates of other objects; in response to the target object having the highest request hit rate, reduce the valid request number identifiers in the first identification pool and increase the valid request number identifiers in the identification pool of other objects until the request hit rate of the target object is the same as the request hit rate of other objects.

[0109] A request scheduling system provided by an embodiment of the present invention, the first setting unit can be used to: after counting the request hit rates of other objects, in response to the request hit rate of the target object not being the highest, increase the valid request number identifiers in the first identification pool, and reduce the valid request number identifiers in the identification pool of other objects with the highest request hit rate, until the request hit rate of the target object is the same as the request hit rate of other objects.

[0110] An embodiment of the present invention provides a request scheduling system, in which a first setting unit can be used to: count a first quantity value of double rate synchronous dynamic random access memory requests sent by a target object to a double rate synchronous dynamic random access memory controller; count the number of times the target object obtains control of the double rate synchronous dynamic random access memory; and use the ratio of the number value to the first quantity value as the request hit rate of the target object.

[0111] In a request scheduling system provided by an embodiment of the present invention, the second detection unit can be used to: after detecting whether there is a corresponding second identification pool for the first request number identification, in response to the existence of a corresponding second identification pool for the first request number identification, detect whether there is a valid second request number identification in the second identification pool; in response to the existence of a second request number identification in the second identification pool, use the second request number identification as the target request number identification.

[0112] In a request scheduling system provided by an embodiment of the present invention, the second detection unit can be used to: in response to the absence of a valid second request number identifier in the second identifier pool, determine that the target request number identifier does not exist in the request number identifier pool.

[0113] A request scheduling system provided by an embodiment of the present invention may further include:

[0114] The second setting unit is used to set the request number identifier in the second identifier pool.

[0115] A request scheduling system provided by an embodiment of the present invention, the second setting unit can be used to: count the second number value of target requests sent by the target object within a second time period; detect whether the second number value is greater than a preset number value; in response to the second number value being greater than the preset number value, add a valid request number identifier in the second identifier pool.

[0116] A request scheduling system provided by an embodiment of the present invention may further include:

[0117] A second acquisition module is used to acquire the user's setting information for the request number identification pool, where the setting information is used to set whether the request number identification in the request number identification pool is valid;

[0118] The second determination module is used to determine whether the request number identifier in the request number identifier pool is valid in real time;

[0119] The third processing module is used to perform a bitwise OR operation on the setting information and the real-time validity information to obtain the target validity information of the request number identifier in the request number identifier pool;

[0120] The request number identifier includes a bit. When the value of the bit is 1, it indicates that the request number identifier is valid. When the value of the bit is 0, it indicates that the request number identifier is invalid.

[0121] In order to facilitate understanding of the request scheduling system provided by the present invention, it is now assumed that the number of objects competing for the right to control the double rate synchronous dynamic random access memory is 3, namely, service module A, service module B, and service module C, and the number of bits in the first identification pool of each device is 8 bits. The implementation block diagram of the present invention is as follows: Figure 3 As shown in the figure, only the actual application example of business module C is given, and no specific application examples are given for business module A and business module B. The example function of business module A is as follows Figure 4 As shown, the functions of the local image restoration module are as follows Figure 5 shown.

[0122] The original image data refers to the image screen of the remote server;

[0123] The upper configuration module is used for users to configure the values ​​of the first identification pool and the second identification pool of each module according to needs, and to modify the value of the first identification pool in the coarse-grained probability balance adjustment module and the value of the fine-grained second identification pool in the fine-grained probability balance adjustment module according to user needs;

[0124] The image capture module is used to extract the image data according to the frame header and frame footer of each frame after receiving the image data, and send it to the compression engine module;

[0125] The compression engine is responsible for JPEG compression of image data and provides compressed image data to the output control module;

[0126] The image output control module is responsible for requesting the control right of the double rate synchronous dynamic random access memory controller and storing the compressed image in the double rate synchronous dynamic random access memory storage unit. If the whole frame image has been successfully written into the double rate synchronous dynamic random access memory, an interrupt is initiated to the processor;

[0127] The coarse-grained probability balance adjustment module is used to apply the first identification pool to detect whether the service module is allowed to send a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller;

[0128] A fine-grained value updating module, which is responsible for updating the value of the request number identifier in the fine-grained second identifier pool;

[0129] A coarse-grained value updating module, used for updating the value of the request number identifier in the coarse-grained first identifier pool;

[0130] If the transmission request module A receives the double rate synchronous dynamic random access memory transmission request initiated by the business module A, it sends a request to the corresponding fine-grained probability balance adjustment module to initiate a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller scheduling control module. If it is agreed, it initiates a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller scheduling control module; if it is not agreed, it suspends the request until it is agreed; the number of requests to the double rate synchronous dynamic random access memory controller and the number of times the double rate synchronous dynamic random access memory control right is obtained are notified to the corresponding fine-grained probability balance adjustment module and the coarse-grained probability balance adjustment module; and in this process, in order to prevent the blockage of a single channel, the request to the double rate synchronous dynamic random access memory controller is suspended and then the request is sent again, and the number of requests needs to be accumulated;

[0131] The controller scheduling control module is responsible for polling and scheduling the double rate synchronous dynamic random access memory request sent by the double rate synchronous dynamic random access memory transmission request module A / B / C;

[0132] The double rate synchronous dynamic random access memory controller is responsible for reading and writing control of the double rate synchronous dynamic random access memory;

[0133] A double rate synchronous dynamic random access memory storage unit is also a double rate synchronous dynamic random access memory;

[0134] The processor module is the computing and control core of the computer system and the final execution unit for information processing and program operation. If an interrupt signal is received from the output control module, the compressed image data is read out from the double-rate synchronous dynamic random access memory and sent to the other end together with the network module A, and then the interrupt is cleared.

[0135] The remote network module is used for network transmission and is responsible for sending data to the network module B at the other end;

[0136] The local network module is used for network transmission and is responsible for receiving data sent by the peer network module A;

[0137] The decompression engine is responsible for JPEG decompression of image data;

[0138] The image restoration engine is responsible for image restoration.

[0139] The present invention also provides an electronic device and a computer-readable storage medium, both of which have the corresponding effects of the request scheduling method provided in the embodiment of the present invention. Figure 6 , Figure 6 A schematic structural diagram of an electronic device provided by an embodiment of the present invention.

[0140] An electronic device provided by an embodiment of the present invention includes a memory 201 and a processor 202. The memory 201 stores a computer program. When the processor 202 executes the computer program, the steps of the request scheduling method described in any of the above embodiments are implemented.

[0141] See also Figure 7 Another electronic device provided in an embodiment of the present invention may also include: an input port 203 connected to the processor 202, used to transmit commands input from the outside to the processor 202; a display unit 204 connected to the processor 202, used to display the processing results of the processor 202 to the outside; a communication module 205 connected to the processor 202, used to realize communication between the electronic device and the outside. The display unit 204 can be a display panel, a laser scanning display, etc.; the communication method adopted by the communication module 205 includes but is not limited to mobile high-definition link technology (Mobile High-Definition Link, MHL), Universal Serial Bus (Universal Serial Bus, USB), High-Definition Multimedia Interface (High-Definition Multimedia Interface, HDMI), wireless connection: wireless fidelity technology (WIreless Fidelity, WiFi), Bluetooth communication technology, low-power Bluetooth communication technology, and communication technology based on IEEE802.11s.

[0142] An embodiment of the present invention 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 the request scheduling method described in any of the above embodiments are implemented.

[0143] The computer-readable storage medium involved in the present invention includes random access memory (RAM), internal memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, register, hard disk, removable disk, CD-ROM (Compact Disc Read-Only Memory), or any other form of storage medium known in the technical field.

[0144] A computer program product provided by an embodiment of the present invention includes a computer program / instruction. When the computer program / instruction is executed by a processor, the following steps are implemented:

[0145] Obtaining a target request sent by a target object, the target request being used by the target object to request a double rate synchronous dynamic random access memory in an application baseboard management controller;

[0146] Determine a request number identification pool corresponding to the target object, where the request number identification pool is used to record the request number identification;

[0147] Check whether there is a valid target request number identifier in the request number identifier pool;

[0148] In response to the existence of the target request number identifier in the request number identifier pool, the target object is allowed to send a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller, and the target request number identifier in the request number identifier pool is invalidated, so that the double rate synchronous dynamic random access memory controller responds to the double rate synchronous dynamic random access memory request;

[0149] In response to the target request number identifier not existing in the request number identifier pool, the target object is prohibited from sending a double data rate synchronous dynamic random access memory request to the double data rate synchronous dynamic random access memory controller.

[0150] A computer program product provided by an embodiment of the present invention includes a computer program / instruction, which implements the following steps when executed by a processor: determining a first identification pool in a request number identification pool; detecting whether there is a valid first request number identification in the first identification pool; in response to the existence of a first request number identification in the first identification pool, detecting whether there is a corresponding second identification pool for the first request number identification; in response to the absence of a corresponding second identification pool for the first request number identification, using the first request number identification as the target request number identification.

[0151] A computer program product provided by an embodiment of the present invention includes a computer program / instruction, which implements the following steps when executed by a processor: after detecting whether there is a valid first request number identifier in a first identifier pool, in response to the absence of a valid first request number identifier in the first identifier pool, it is determined that there is no target request number identifier in the request number identifier pool.

[0152] A computer program product provided by an embodiment of the present invention includes a computer program / instruction. When the computer program / instruction is executed by a processor, the following steps are implemented: setting a request number identifier in a first identifier pool.

[0153] A computer program product provided by an embodiment of the present invention includes a computer program / instruction, which implements the following steps when executed by a processor: within a first time period, counting the request hit rate of a target object and counting the request hit rates of other objects; in response to the target object having the highest request hit rate, reducing the valid request number identifiers in the first identification pool and increasing the valid request number identifiers in the identification pools of other objects until the request hit rate of the target object is the same as the request hit rates of other objects.

[0154] A computer program product provided by an embodiment of the present invention includes a computer program / instruction, which implements the following steps when executed by a processor: after counting the request hit rates of other objects, in response to the request hit rate of the target object not being the highest, increasing the valid request number identifiers in the first identification pool, and reducing the valid request number identifiers in the identification pool of other objects with the highest request hit rates, until the request hit rate of the target object is the same as the request hit rates of other objects.

[0155] A computer program product provided by an embodiment of the present invention includes a computer program / instruction, which implements the following steps when executed by a processor: counting a first quantity value of double-speed synchronous dynamic random access memory requests sent by a target object to a double-speed synchronous dynamic random access memory controller; counting the number of times the target object obtains control of the double-speed synchronous dynamic random access memory; and using the ratio of the number value to the first quantity value as the request hit rate of the target object.

[0156] A computer program product provided by an embodiment of the present invention includes a computer program / instruction, which implements the following steps when executed by a processor: after detecting whether a first request number identifier exists in a corresponding second identifier pool, in response to the existence of a corresponding second identifier pool for the first request number identifier, detecting whether a valid second request number identifier exists in the second identifier pool; in response to the existence of a second request number identifier in the second identifier pool, using the first request number identifier as the target request number identifier.

[0157] A computer program product provided by an embodiment of the present invention includes a computer program / instruction, which implements the following steps when executed by a processor: after detecting whether there is a valid second request number identifier in a second identifier pool, in response to the absence of a valid second request number identifier in the second identifier pool, it is determined that there is no target request number identifier in the request number identifier pool.

[0158] A computer program product provided by an embodiment of the present invention includes a computer program / instruction. When the computer program / instruction is executed by a processor, the following steps are implemented: setting a request number identifier in a second identifier pool.

[0159] A computer program product provided by an embodiment of the present invention includes a computer program / instruction, which implements the following steps when executed by a processor: within a second time period, counting a second quantity value of target requests sent by a target object; detecting whether the second quantity value is greater than a preset quantity value; and in response to the second quantity value being greater than the preset quantity value, adding a valid request number identifier in a second identifier pool.

[0160] A computer program product provided by an embodiment of the present invention includes a computer program / instruction, which implements the following steps when executed by a processor: obtaining user setting information for a request number identification pool, the setting information being used to set whether the request number identification in the request number identification pool is valid; determining real-time validity information of the request number identification in the request number identification pool; performing a bitwise OR operation on the setting information and the real-time validity information to obtain target validity information of the request number identification in the request number identification pool; wherein the request number identification includes a bit, and when the value of the bit is 1, it indicates that the request number identification is valid, and when the value of the bit is 0, it indicates that the request number identification is invalid.

[0161] For the description of the relevant parts of a request scheduling system, electronic device, computer program, and computer program product provided by the embodiment of the present invention, please refer to the detailed description of the corresponding parts in a request scheduling method provided by the embodiment of the present invention, which will not be repeated here. In addition, the parts of the above technical solutions provided by the embodiment of the present invention that are consistent with the implementation principles of the corresponding technical solutions in the prior art are not described in detail to avoid excessive elaboration.

[0162] It should also be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0163] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present invention. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A request scheduling method, characterized in that: include: Acquire a target request sent by a target object, wherein the target request is used by the target object to request a double rate synchronous dynamic random access memory in a baseboard management controller; Determine a request number identification pool corresponding to the target object, wherein the request number identification pool is used to record request number identifications; Detecting whether there is a valid target request number identifier in the request number identifier pool; In response to the existence of the target request number identifier in the request number identifier pool, allowing the target object to send a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller, and invalidating the target request number identifier in the request number identifier pool, so that the double rate synchronous dynamic random access memory controller responds to the double rate synchronous dynamic random access memory request; In response to the target request number identifier not existing in the request number identifier pool, the target object is prohibited from sending a double data rate synchronous dynamic random access memory request to the double data rate synchronous dynamic random access memory controller.

2. The request scheduling method according to claim 1, characterized in that: Detecting whether there is a valid target request number identifier in the request number identifier pool includes: Determining a first identification pool in the request number identification pool; Detecting whether there is a valid first request number identifier in the first identifier pool; In response to the first request number identifier existing in the first identifier pool, detecting whether the first request number identifier exists in a corresponding second identifier pool; In response to the first request number identifier not existing in the corresponding second identifier pool, the first request number identifier is used as the target request number identifier.

3. The request scheduling method according to claim 2, characterized in that: After detecting whether there is a valid first request number identifier in the first identifier pool, the method further includes: In response to the first identifier pool not containing a valid first request number identifier, it is determined that the target request number identifier does not exist in the request number identifier pool.

4. The request scheduling method according to claim 2, characterized in that: Also includes: The request number identifier in the first identifier pool is set.

5. The request scheduling method according to claim 4, characterized in that: Setting the request number identifier in the first identifier pool includes: Within the first time period, counting the request hit rate of the target object and counting the request hit rates of other objects; In response to the target object having the highest request hit rate, the valid request number identifiers in the first identifier pool are reduced, and the valid request number identifiers in the identifier pools of other objects are increased until the request hit rate of the target object is the same as the request hit rate of the other objects.

6. The request scheduling method according to claim 5, characterized in that: After counting the request hit rates of other objects, it also includes: In response to the fact that the request hit rate of the target object is not the highest, the valid request number identifiers in the first identification pool are increased, and the valid request number identifiers in the identification pool of the other objects with the highest request hit rate are reduced until the request hit rate of the target object is the same as the request hit rate of the other objects.

7. The request scheduling method according to claim 5, characterized in that: Counting the request hit rate of the target object includes: Counting a first quantity value of double data rate synchronous dynamic random access memory requests sent by the target object to the double data rate synchronous dynamic random access memory controller; Counting the number of times the target object obtains the control right of the double rate synchronous dynamic random access memory; The ratio of the number value to the first quantity value is used as the request hit rate of the target object.

8. The request scheduling method according to claim 2, characterized in that: After detecting whether the first request number identifier has a corresponding second identifier pool, the method further includes: In response to the existence of the second identification pool corresponding to the first request number identification, detecting whether there is a valid second request number identification in the second identification pool; In response to the second request number identifier existing in the second identifier pool, the second request number identifier is used as the target request number identifier.

9. The request scheduling method according to claim 8, characterized in that: After detecting whether there is a valid second request number identifier in the second identifier pool, the method further includes: In response to the absence of a valid second request number identifier in the second identifier pool, it is determined that the target request number identifier does not exist in the request number identifier pool.

10. The request scheduling method according to claim 8, characterized in that: Also includes: The request number identifier in the second identifier pool is set.

11. The request scheduling method according to claim 10, characterized in that: Setting the request number identifier in the second identifier pool includes: Within a second time period, counting a second quantity value of the target requests sent by the target object; Detecting whether the second quantity value is greater than a preset quantity value; In response to the second quantity value being greater than the preset quantity value, a valid request number identifier in the second identifier pool is added.

12. The request scheduling method according to claim 1, characterized in that: Also includes: Acquire setting information of the user for the request number identifier pool, wherein the setting information is used to set whether the request number identifiers in the request number identifier pool are valid; Determining whether the request number identifier in the request number identifier pool is real-time valid or not; Performing a bitwise OR operation on the setting information and the real-time validity information to obtain the target validity information of the request number identifier in the request number identifier pool; The request number identifier includes a bit. When the value of the bit is 1, it indicates that the request number identifier is valid. When the value of the bit is 0, it indicates that the request number identifier is invalid.

13. A request scheduling system, characterized in that: include: A first acquisition module is used to acquire a target request sent by a target object, wherein the target request is used by the target object to request to apply a double rate synchronous dynamic random access memory in a baseboard management controller; A first determining module, used to determine a request number identification pool corresponding to the target object, wherein the request number identification pool is used to record request number identifications; A first detection module is used to detect whether there is a valid target request number identifier in the request number identifier pool; A first processing module is used for allowing the target object to send a double rate synchronous dynamic random access memory request to the double rate synchronous dynamic random access memory controller in response to the existence of the target request number identifier in the request number identifier pool, and invalidating the target request number identifier in the request number identifier pool, so that the double rate synchronous dynamic random access memory controller responds to the double rate synchronous dynamic random access memory request; The second processing module is used for prohibiting the target object from sending a double data rate synchronous dynamic random access memory request to the double data rate synchronous dynamic random access memory controller in response to the target request number identifier not existing in the request number identifier pool.

14. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instruction is executed by a processor, the steps of the request scheduling method according to any one of claims 1 to 12 are implemented.

15. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the request scheduling method according to any one of claims 1 to 12 are implemented.

Citation Information

Patent Citations

  • Allocation method of connecting identifier, device and communication equipment

    CN101753452A

  • Memory packet cutting controller, memory and memory packet cutting control method

    CN106814973A

  • Server management and control method, system and device and computer readable storage medium

    CN118152161A

  • Scheduling method and system based on shared object pool, and electronic device and computer-readable storage medium

    WO2021017304A1

  • Data access method and apparatus

    WO2023241060A1