Database server io processing method and apparatus for shared storage server

By periodically checking the database server IO response time of the shared storage service server and automating the handling of IO traffic anomalies, the problem of cumbersome and inefficient manual operation in existing technologies is solved, achieving rapid response and efficient IO management.

CN115495309BActive Publication Date: 2026-02-06CHINA CONSTRUCTION BANK
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211114643.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-14
Publication Date
2026-02-06
Estimated Expiration
2042-09-14

AI Technical Summary

Technical Problem

In database server I/O processing on shared storage servers, existing technologies rely on manual methods to identify and resolve issues with high I/O traffic. This is cumbersome, inefficient, prone to new errors, and has high labor costs, making it difficult to respond quickly to storage network congestion.

Method used

By periodically sending IO response time check commands to the database server of the shared storage server, obtaining response information, calculating the database server ratio, and executing an automated decision-making process based on the ratio, including first decision-making and second decision-making processes, automated IO management is achieved.

Benefits of technology

It achieves automated IO management, reduces the difficulty of operation and maintenance, shortens the fault handling time, improves work efficiency, and provides timely warnings and handling of IO anomalies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115495309B_ABST
    Figure CN115495309B_ABST
Patent Text Reader

Abstract

The application provides a database server IO processing method and device of a shared storage server, which initiates an IO response time checking instruction to the database server of the shared storage server at a fixed time; obtains a first IO response time and an operation meeting a current occupied IO size requirement fed back by the database server; calculates a database server ratio exceeding a preset time based on the obtained first IO response time, compares the database server ratio with a preset ratio, and obtains a comparison result; and executes corresponding treatment according to the comparison result. In the application, the IO conditions of all database servers are monitored through a fixed-time task, the response information of the IO is automatically monitored, and it is determined whether an exception occurs or needs to be checked according to the response information, and a corresponding decision-making processing flow is executed, so that timely early warning or corresponding treatment can be performed, and the purpose of reducing operation and maintenance difficulty, shortening fault treatment time and improving work efficiency is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of database service, and in particular to a database server IO processing method and device of a shared storage server. BACKGROUND

[0002] At present, large enterprise IT systems usually use a computing and storage separated architecture, and connect multiple systems to a storage server through a switch to perform centralized management of storage.

[0003] In specific practice, because multiple systems that share a storage server must share the overall IO bandwidth of the storage server, if the IO flow of a database server of one of the systems is very large and occupies most of the bandwidth of the storage server, congestion will occur in the entire storage network, and the response time of the database server IO of the database server will become longer or even unable to respond.

[0004] At present, when such problems occur, the storage administrator and the database administrator usually cooperate to check the database server IO of all systems that share the storage server, find the database server with high IO flow, and analyze and solve the problem. However, this method takes a long time from discovering the abnormality to completing the processing, which can cause a large impact, and during the checking process, the corresponding query command needs to be inputted after logging into the target device, which is a cumbersome process, and the labor cost will increase with the increase in the number of databases. In addition, manual operation is cumbersome and can cause new problems due to mistakes. SUMMARY

[0005] Therefore, the embodiments of the present application provide a database server IO processing method and device of a shared storage server to solve the problems of tedious operation, low efficiency and easy to cause new mistakes in the process of discovering and solving the large database server IO flow by using the manual method.

[0006] To solve the above problems, the embodiments of the present application provide the following technical solutions:

[0007] The first aspect of the embodiments of the present application discloses a database server IO processing method of a shared storage server, which comprises: periodically initiating an IO response time checking instruction to a database server of a shared storage server;

[0008] obtaining response information fed back by the database server, wherein the response information comprises a first IO response time of the database server and an operation meeting the current occupied IO size requirement;

[0009] calculating a database server ratio of the database server exceeding a preset time based on the obtained first IO response time, wherein the preset time is greater than or equal to 10 milliseconds.

[0010] comparing the database server ratio with a preset ratio, and obtaining a comparison result;

[0011] if the comparison result indicates normal, ending the current check;

[0012] if the comparison result indicates to be checked, executing a first decision processing flow;

[0013] if the comparison result indicates abnormal, executing a second decision processing flow.

[0014] Optionally, the comparing the database server ratio with a preset ratio, and obtaining a comparison result, comprises:

[0015] comparing the database server ratio with a first preset ratio, the first preset ratio being greater than or equal to 20%;

[0016] if the database server ratio is less than the first preset ratio, obtaining a comparison result indicating normal;

[0017] if the database server ratio is greater than the first preset ratio, comparing the database server ratio with a second preset ratio, the second preset ratio being greater than the first preset ratio, the second preset ratio being greater than or equal to 50%;

[0018] if the database server ratio is less than the second preset ratio, obtaining a comparison result indicating to be checked;

[0019] if the database server ratio is greater than the second preset ratio, obtaining a comparison result indicating abnormal.

[0020] Optionally, the first decision processing flow comprises:

[0021] detecting a bandwidth usage ratio of the storage server, and comparing the detected bandwidth usage ratio with a preset usage ratio, the preset usage ratio being greater than or equal to 50%;

[0022] if the bandwidth usage ratio is less than or equal to the preset usage ratio, reinitiating an IO response time check instruction to a database server sharing the storage server;

[0023] if the bandwidth usage ratio is greater than the preset usage ratio, executing the second decision processing flow.

[0024] Optionally, the second decision processing flow comprises:

[0025] The first IO response time of each database server is compared with a respective preset value to find a database server exceeding the preset value; the preset value is a product of a respective historical weighted value of each database server and a preset percentage, and the preset percentage ranges from 120% to 180%, or the preset percentage is 120% or 150%;

[0026] If the first IO response time exceeds the preset value, the database server is recorded as a first target database server;

[0027] After a set time, a second IO response time of the first target database server is obtained, and whether the second IO response time still exceeds the corresponding preset value is detected;

[0028] If the second IO response time does not exceed the preset value, an IO response time checking instruction is initiated again to the database servers sharing the storage server, and the IO response times of all the database servers are checked again;

[0029] If the second IO response time exceeds the preset value, the first target database server is recorded as a second target database server;

[0030] An operation and maintenance notification is sent to a system to which the second target database server belongs, and the operation and maintenance notification carries a manual confirmation time.

[0031] Optionally, the method further comprises:

[0032] It is detected whether feedback information is received within the manual confirmation time, and the feedback information carries entering manual processing information or not entering manual processing information;

[0033] If the entering manual processing information is received, the current checking is stopped;

[0034] If the not entering manual processing information is received or if the feedback information is not received, a stop instruction is sent to the system to which the second target database server belongs, so that the system stops an operation based on the stop instruction, and the operation includes a process or a SQL statement.

[0035] The second aspect of the embodiment of the application discloses a database server IO processing device sharing a storage server, comprising:

[0036] An initiating module is configured to initiate an IO response time checking instruction to the database servers sharing the storage server at a regular time;

[0037] An acquisition module is configured to acquire response information fed back by the database server, wherein the response information comprises a first IO response time of the database server and an operation meeting a current occupied IO size requirement;

[0038] A calculation module is configured to calculate a database server ratio of the database server exceeding a preset time based on the acquired first IO response time, wherein a value of the preset time is greater than or equal to 10 milliseconds;

[0039] A comparison module is configured to compare the database server ratio with a preset ratio, and obtain a comparison result;

[0040] An execution module is configured to end the current check if the comparison result indicates normal, trigger the first decision processing module to be executed if the comparison result indicates to be checked, and trigger the second decision processing module to be executed if the comparison result indicates abnormal.

[0041] Optionally, the comparison module comprises:

[0042] A first comparison unit is configured to compare the database server ratio with a first preset ratio, wherein a value of the first preset ratio is greater than or equal to 20%, and obtain the comparison result indicating normal if the database server ratio is less than the first preset ratio, and execute a second comparison unit if the database server ratio is greater than the first preset ratio.

[0043] The second comparison unit is configured to compare the database server ratio with a second preset ratio, wherein the second preset ratio is greater than the first preset ratio, a value of the second preset ratio is greater than or equal to 50%, obtain the comparison result indicating to be checked if the database server ratio is less than the second preset ratio, and obtain the comparison result indicating abnormal if the database server ratio is greater than the second preset ratio.

[0044] Optionally, the first decision processing module is specifically configured to:

[0045] Detect a bandwidth usage rate of the storage server, compare the detected bandwidth usage rate with a preset usage rate, wherein a value of the preset usage rate is greater than or equal to 50%, trigger the initiation module to initiate an IO response time check instruction to the database server sharing the storage server again if the bandwidth usage rate is less than or equal to the preset usage rate, and trigger the second decision processing module if the bandwidth usage rate is greater than the preset usage rate.

[0046] Optionally, the second decision processing module comprises:

[0047] a third comparison unit configured to compare the first IO response time of each database server with a respective preset value to find a database server exceeding the preset value, wherein the preset value is a product of a respective historical weighted value of each database server and a preset percentage, and the preset percentage is in a range of 120% to 180%, or the preset percentage is 120% or 150%;

[0048] a first marking unit configured to mark the database server whose first IO response time exceeds the preset value as a first target database server;

[0049] a fourth comparison unit configured to, after a set time, acquire a second IO response time of the first target database server, and detect whether the second IO response time still exceeds the respective preset value; if the second IO response time does not exceed the preset value, trigger the initiation module to initiate an IO response time checking instruction to the database server sharing the storage server again; and if the second IO response time exceeds the preset value, execute a second marking unit;

[0050] the second marking unit is configured to mark the first target database server whose second IO response time exceeds the preset value as a second target database server;

[0051] a sending unit configured to send an operation and maintenance notification to a system to which the second target database server belongs, the operation and maintenance notification carrying a manual confirmation time.

[0052] Optionally, the apparatus further comprises:

[0053] a detection module configured to detect whether feedback information is received within the manual confirmation time, the feedback information carrying entering manual processing information or not entering manual processing information; if the entering manual processing information is received, stop the current checking; and if the not entering manual processing information is received or if the feedback information is not received, execute the execution module;

[0054] the execution module is further configured to send a stop instruction to the system to which the second target database server belongs, so that the system stops an operation based on the stop instruction, the operation including a process or a SQL statement.

[0055] Based on the above, the host IO processing method and device of the shared storage server provided by the embodiment of the application, the IO response time checking instruction is initiated to the database server of the shared storage server at regular intervals; the response information fed back by the database server is acquired, the response information including the first IO response time of the database server and the operation meeting the current occupied IO size requirement; the database server ratio exceeding the preset time is calculated based on the acquired first IO response time, the preset time being greater than or equal to 10 milliseconds; the database server ratio is compared with the preset ratio, and a comparison result is obtained; if the comparison result indicates normal, the current checking is ended; if the comparison result indicates to be checked, the first decision processing flow is executed; if the comparison result indicates abnormal, the second decision processing flow is executed. In the embodiment of the application, the IO conditions of all the database servers are monitored through the timing task, the response information of the IO is automatically monitored, and whether an exception occurs or needs to be checked is determined according to the response information, and the corresponding decision processing flow is executed, so that timely early warning or corresponding disposal can be performed, and the purpose of reducing operation and maintenance difficulty, shortening fault disposal time and improving work efficiency is achieved. BRIEF DESCRIPTION OF DRAWINGS

[0056] In order to more clearly illustrate the technical solutions in the embodiments of the application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or the prior art description. Obviously, the drawings in the following description only are the embodiments of the application, and for those skilled in the art, other drawings can be obtained without creative labor on the basis of the provided drawings.

[0057] Figure 1 The flowchart of the host IO processing method of the shared storage server disclosed by the embodiment of the application is shown in the figure.

[0058] Figure 2 The first decision processing flow diagram disclosed by the embodiment of the application is shown in the figure.

[0059] Figure 3 The second decision processing flow diagram disclosed by the embodiment of the application is shown in the figure.

[0060] Figure 4 The application flowchart of the host IO processing method of the shared storage server disclosed by the embodiment of the application is shown in the figure.

[0061] Figure 5 The structure diagram of the host IO processing device of the shared storage server disclosed by the embodiment of the application is shown in the figure. DETAILED DESCRIPTION

[0062] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0063] In this application, the terms "comprising," "including," or any other variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0064] The following are definitions of abbreviations and key terms used in the embodiments of this invention:

[0065] IO: Input Output.

[0066] Database server: refers to a dedicated server that runs a database system. Its function is to provide hardware support and guarantee for the high-performance operation of the database system.

[0067] Historical weighted value: This refers to first recording the IO response time per minute of a database server to form a one-week historical record, and then using historical curve fitting to obtain a formula for predicting IO response time trends. Specifically, historical weighted value = IO response time one week ago * 0.28 + IO response time one day ago * 0.25 + IO response time one hour ago * 0.05 + IO response time half an hour ago * 0.05 + IO response time ten minutes ago * 0.12 + IO response time one minute ago * 0.25. The correlation between the predicted result based on this historical weighted value and the actual value is approximately 0.89, which is a relatively high correlation.

[0068] like Figure 1 The diagram shows a flowchart of a database server I / O processing method for a shared storage server disclosed in an embodiment of the present invention. This method is deployed as a script on a shared storage server and a database server. Here, the storage server refers to the management machine, and the database server refers to the managed machine.

[0069] The database server I / O processing method for this shared storage service server includes the following steps:

[0070] S101: Periodically sends an IO response time check command to the database server sharing the storage service server.

[0071] In the process of performing S101, on the storage server, the IO management module initiates an IO response time checking instruction every certain time through a timing task. After the IO response time checking instruction is initiated, each database server sharing the storage server receives the IO response time checking instruction and checks the respective IO response time and the SQL statement or process currently occupying a large IO.

[0072] S102: Obtain the response information fed back by the database server.

[0073] In S102, the response information includes the first IO response time of the database server and the operation meeting the current IO size requirement.

[0074] The operation meeting the current IO size requirement includes but is not limited to the SQL statement or process currently occupying a large IO.

[0075] In the process of performing S102, the IO management module on the storage server obtains the response information fed back by the database server.

[0076] S103: Calculate the database server ratio of the database server exceeding the preset time based on the obtained first IO response time.

[0077] In S103, the preset time is greater than or equal to 10 milliseconds. However, the minimum value of the preset time in the embodiment of the present application is not limited to 10 milliseconds, and can be set to 5 milliseconds, 8 milliseconds or other smaller time according to the requirement.

[0078] In the process of performing S102, the IO management module on the storage server compares the obtained first IO response time of each database server with the preset time, determines the database server exceeding the preset time, and calculates the ratio of the database server.

[0079] For example, assuming that the value of the preset time is 10 milliseconds, the first IO response time of the database server A is 15 milliseconds, and the first IO response time of the database server B is 5 milliseconds. The first IO response time of the database server A is greater than the preset time, and the first IO response time of the database server B is less than the preset time. Then, the ratio of the database server A is calculated.

[0080] S104: Compare the database server ratio with the preset ratio and obtain a comparison result; if the comparison result indicates normal, perform S105; if the comparison result indicates to be checked, perform S106; if the comparison result indicates abnormal, perform S107.

[0081] In the process of performing S104, the database server ratio is compared with a preset ratio, and a comparison result is obtained. The specific process is as follows:

[0082] The database server ratio is compared with a first preset ratio, and the value of the first preset ratio is greater than or equal to 20%.

[0083] If the database server ratio is less than the first preset ratio, a comparison result indicating normal is obtained, that is, the IO response of the current database server is normal, and S105 is performed.

[0084] If the database server ratio is greater than the first preset ratio, the database server ratio is compared with a second preset ratio, the second preset ratio is greater than the first preset ratio, and the value of the second preset ratio is greater than or equal to 50%.

[0085] If the database server ratio is less than the second preset ratio, a comparison result indicating to be checked is obtained, that is, the database server ratio of the database server is between the first preset ratio and the second preset ratio, the bandwidth usage of the storage server needs to be checked, and S106 is performed.

[0086] If the database server ratio is greater than the second preset ratio, a comparison result indicating an exception is obtained, and S107 is performed.

[0087] S105: End this check and wait for the next timing task to trigger the check.

[0088] S106: Perform a first decision processing flow.

[0089] The first decision processing flow is specifically as shown in the following table: Figure 2 The first decision processing flow mainly includes the following steps:

[0090] S201: Detect the bandwidth usage of the storage server.

[0091] S202: Compare the detected bandwidth usage with a preset usage, if the bandwidth usage is less than or equal to the preset usage, perform S203; if the bandwidth usage is greater than the preset usage, perform S107.

[0092] In S202, the value of the preset usage is greater than or equal to 50%.

[0093] S203: Re-initiate an IO response time check instruction to the database server sharing the storage server.

[0094] In the process of performing S203, the IO response time checking instruction is initiated again to the database server sharing the storage server, so as to check the IO response time of all the database servers again. In fact, it is equivalent to entering the real-time monitoring stage, and the checking needs to be repeatedly performed and is not affected by the timing task.

[0095] S107: performing a second decision processing flow.

[0096] The second decision processing flow is specifically as shown in Figure 3 The second decision processing flow mainly includes the following steps:

[0097] S301: comparing the first IO response time of each database server with the respective preset value to find the database server exceeding the preset value.

[0098] In S301, the preset value is the product of the respective historical weighted value of each database server and the preset percentage.

[0099] That is, the preset value corresponding to each data server is related to the historical weighted value corresponding thereto. If the historical weighted value corresponding to each data server is different, the preset value corresponding to each data server can also be different.

[0100] In an embodiment of the present application, the preset percentage is in the range of 120% to 180%.

[0101] In an embodiment of the present application, the preset percentage is 120% or 150%.

[0102] For example, the preset percentage is 150%, the historical weighted value of database server A is 11 ms, and the historical weighted value of database server B is 5 ms. The preset value corresponding to database server A is 16.5 ms, and the preset value corresponding to database server B is 7.5 ms.

[0103] S302: recording the database server whose first IO response time exceeds the preset value as a first target database server.

[0104] For example, the first IO response time of database server A is 15 ms, and the first IO response time of database server B is 5 ms. The preset value corresponding to database server A is 16.5 ms, and the preset value corresponding to database server B is 7.5 ms. Database server A is recorded as the first target database server.

[0105] S303: After the set time, a second IO response time of the first target database server is acquired, and it is detected whether the second IO response time still exceeds the corresponding preset value, if not, S306 is executed; if yes, S304 is executed.

[0106] In S303, the set time includes but is not limited to 1 minute.

[0107] S304: The first target database server whose second IO response time exceeds the preset value is recorded as a second target database server.

[0108] S305: An operation and maintenance notification is sent to a system to which the second target database server belongs.

[0109] In S305, the operation and maintenance notification carries a manual confirmation time. The manual confirmation time can be set according to requirements, including but not limited to 5 minutes.

[0110] S306: An IO response time checking instruction is initiated again to database servers sharing the storage server.

[0111] In the process of executing S306, the IO response time checking instruction is initiated again to the database servers sharing the storage server, so as to check the IO response time of all the database servers again. In fact, it is equivalent to entering a real-time monitoring stage, and the checking needs to be repeatedly executed and is not affected by a timing task.

[0112] In an embodiment of the present application, after S305 is executed, the following steps are further included:

[0113] It is detected whether feedback information is received within the manual confirmation time, and the feedback information carries entering manual processing information or not entering manual processing information.

[0114] If the entering manual processing information is received, the current checking is stopped.

[0115] If the not entering manual processing information is received or if the feedback information is not received, a stop instruction is sent to the system to which the second target database server belongs, so that the system stops the operation meeting the current IO size requirement based on the stop instruction.

[0116] In the embodiment of the present application, the IO conditions of all the database servers are monitored through a timing task, the response information of the IO is automatically monitored, and it is determined whether an exception occurs or needs to be checked according to the response information, and a corresponding decision processing flow is executed, so that timely early warning or corresponding disposal is realized, and the purposes of reducing operation and maintenance difficulty, shortening fault disposal time and improving work efficiency are achieved.

[0117] Based on the database server IO processing method of the shared storage server disclosed in the above embodiments, it is assumed that the preset time is 10 milliseconds, the first preset ratio is 20%, the second preset ratio is 50%, the preset usage rate is 50%, the preset percentage is 120%, the setting time is 1 minute, and the manual confirmation time is 5 minutes. As shown in FIG. 8, the method mainly includes the following steps: Figure 4

[0118] S401: A IO response time checking instruction is initiated to the database server of the shared storage server.

[0119] S402: The response information fed back by the database server is acquired.

[0120] S403: The database server ratio of the database server whose first IO response time exceeds 10 milliseconds is calculated based on the acquired first IO response time.

[0121] S404: The database server ratio is compared with 20%, if less than 20%, S401 is executed; if not less than 20%, S405 is executed.

[0122] S405: The database server ratio is compared with 50%, if less than 50%, S406 is executed; if greater than 50%, S407 is executed.

[0123] S406: The bandwidth usage rate of the storage server is detected, and the detected bandwidth usage rate is compared with 50%. If less than or equal to 50%, the IO response time checking instruction is initiated to the database server of the shared storage server again, and S402 is executed. If greater than 50%, S407 is executed.

[0124] S407: The first IO response time of each database server is compared with 120% of the respective corresponding historical weighted value, and the database server whose first IO response time exceeds the preset value is found.

[0125] S408: The database server whose first IO response time exceeds the preset value is recorded as the first target database server.

[0126] S409: After 1 minute, the second IO response time of the first target database server is acquired, and it is detected whether the second IO response time still exceeds 120% of the historical weighted value. If the second IO response time does not exceed 120% of the historical weighted value, the IO response time checking instruction is initiated to the database server of the shared storage server again, and S402 is executed. If the second IO response time exceeds 120% of the historical weighted value, S410 is executed.

[0127] ​S410: record the first target database server with the second IO response time exceeding the preset value as a second target database server.

[0128] S411: send an operation and maintenance notification to a system to which the second target database server belongs.

[0129] S412: detect whether feedback information is received within a manual confirmation time, if the entering manual processing information is received, stop the current check, and wait for the next scheduled task to trigger the check; if the non-entering manual processing information is received or if the feedback information is not received, perform S413.

[0130] In S412, the feedback information carries the entering manual processing information or the non-entering manual processing information.

[0131] S413: send a stop instruction to a system to which the second target database server belongs.

[0132] In the process of performing S413, the stop instruction is sent to the system to which the second target database server belongs, so that the system stops the operation meeting the current IO size requirement based on the stop instruction, and the operation includes a process or a SQL statement.

[0133] In the embodiment of the application, the IO of all database servers is monitored by a scheduled task, the response information of the IO is automatically monitored, and it is determined whether an exception occurs or needs to be checked according to the response information, and a corresponding decision processing flow is performed, so that timely early warning or corresponding disposal is realized, and IO automatic management is realized. The purpose of reducing operation and maintenance difficulty, shortening fault disposal time and improving work efficiency is achieved.

[0134] Based on the database server IO processing method of the shared storage server disclosed in the above embodiment of the application, the embodiment of the application also discloses a database server IO processing device of a shared storage server, as shown in the accompanying drawings, which comprises: an initiation module 501, an acquisition module 502, a calculation module 503, a comparison module 504, an execution module 505, a first decision processing module 506, and a second decision processing module 507. Figure 5

[0135] The initiation module 501 is configured to initiate an IO response time check instruction to the database server of the shared storage server at a scheduled time.

[0136] The acquisition module 502 is configured to acquire response information fed back by the database server, and the response information comprises a first IO response time of the database server and an operation meeting a current IO size requirement.

[0137] ​The computing module 503 is configured to calculate a database server ratio exceeding a preset time based on the acquired first IO response time, and the preset time is greater than or equal to 10 milliseconds.

[0138] The comparing module 504 is configured to compare the database server ratio with a preset ratio, and obtain a comparison result.

[0139] The executing module 505 is configured to end the current check if the comparison result indicates normal, trigger the first decision processing module 506 if the comparison result indicates to be checked, and trigger the second decision processing module 507 if the comparison result indicates abnormal.

[0140] In an embodiment of the present application, the comparing module 504 comprises:

[0141] The first comparing unit compares the database server ratio with a first preset ratio, the first preset ratio is greater than or equal to 20%, and the comparison result indicating normal is obtained if the database server ratio is less than the first preset ratio, and the second comparing unit is executed if the database server ratio is greater than the first preset ratio.

[0142] The second comparing unit compares the database server ratio with a second preset ratio, the second preset ratio is greater than the first preset ratio, the second preset ratio is greater than or equal to 50%, the comparison result indicating to be checked is obtained if the database server ratio is less than the second preset ratio, and the comparison result indicating abnormal is obtained if the database server ratio is greater than the second preset ratio.

[0143] In an embodiment of the present application, the first decision processing module 506 is specifically configured to:

[0144] The bandwidth usage of the storage server is detected, and the detected bandwidth usage is compared with a preset usage, the preset usage is greater than or equal to 50%, the initiating module is triggered to re-initiate an IO response time check instruction to a database server sharing the storage server if the bandwidth usage is less than or equal to the preset usage, and the second decision processing module 507 is triggered if the bandwidth usage is greater than the preset usage.

[0145] In an embodiment of the present application, the second decision processing module 507 comprises:

[0146] a third comparison unit configured to compare the first IO response time of each database server with a respective preset value to find a database server exceeding the preset value, wherein the preset value is a product of a respective historical weighted value of each database server and a preset percentage, and the preset percentage ranges from 120% to 180%, or the preset percentage is 120% or 150%;

[0147] a first marking unit configured to mark the database server whose first IO response time exceeds the preset value as a first target database server;

[0148] a fourth comparison unit configured to, after a set time, acquire a second IO response time of the first target database server, and detect whether the second IO response time still exceeds the respective preset value; if the second IO response time does not exceed the preset value, trigger the initiation module to initiate an IO response time checking instruction to the database server sharing the storage server again; and if the second IO response time exceeds the preset value, execute a second marking unit;

[0149] the second marking unit is configured to mark the first target database server whose second IO response time exceeds the preset value as a second target database server;

[0150] a sending unit configured to send an operation and maintenance notification to a system to which the second target database server belongs, wherein the operation and maintenance notification carries a manual confirmation time.

[0151] In an embodiment of the present application, the database server IO processing device further comprises:

[0152] a detection module configured to detect whether feedback information is received within the manual confirmation time, wherein the feedback information carries entering manual processing information or not entering manual processing information; if the entering manual processing information is received, the current checking is stopped; if the not entering manual processing information is received or if the feedback information is not received, the execution module is executed;

[0153] the execution module is further configured to send a stop instruction to the system to which the second target database server belongs, so that the system stops an operation meeting a current IO size requirement based on the stop instruction, wherein the operation includes a process or a SQL statement.

[0154] In an embodiment of the present application, the IO of all database servers is monitored by a timing task, the response information of the IO is automatically monitored, and whether an exception occurs or checking is needed is determined according to the response information, and a corresponding decision processing flow is executed, so that timely early warning or corresponding disposal is realized, and the purposes of reducing operation and maintenance difficulty, shortening fault disposal time and improving work efficiency are achieved.

[0155] Each of the embodiments described in the specification illustrates at least one aspect of the present application and can be used alone or in combination with other aspects of the present application. Although the present application has been described in conjunction with the specific embodiments thereof, it is to be understood that no specific embodiment is intended to limit the present application to the particular form set forth, but on the contrary, it is intended to cover all modifications and equivalents thereof falling within the spirit and scope of the present application. It will be apparent to those skilled in the art that various modifications and variations can be made to the present application without departing from the spirit or scope of the application. Thus, it is intended that the present application cover the modifications and variations of this application provided they come within the scope of the appended claims and their equivalents.

[0156] It is to be understood that the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. Pronouns in the masculine form include the feminine form, and vice versa, except as otherwise expressly specifically herein. Ranges are used herein to include endpoints, including the terminal ends of ranges, but not exclusively the endpoints. All references are incorporated herein by reference, in their entirety, for all that they contain.

[0157] The above description of disclosed embodiments is intended to be illustrative and not restrictive. Many embodiments of the application will be apparent to those of skill in the art upon reviewing the above description. The scope of the application should, therefore, be determined not with reference to the above description, but instead should be given with reference to the appended claims, along with their full scope of equivalents.

Claims

1. A database server IO processing method of a shared storage server, characterized by, The method comprises: initiating an IO response time checking instruction to a database server of a shared storage server; obtaining response information fed back by the database server, the response information comprising a first IO response time of the database server and an operation meeting a current occupied IO size requirement; calculating a database server ratio of the database server exceeding a preset time based on the obtained first IO response time, the preset time being greater than or equal to 8 milliseconds or 10 milliseconds; comparing the database server ratio with a preset ratio and obtaining a comparison result; if the comparison result indicates normal, ending the current checking; if the comparison result indicates to be checked, executing a first decision processing flow; if the comparison result indicates abnormal, executing a second decision processing flow; the first decision processing flow comprises: detecting a bandwidth usage rate of the storage server and comparing the detected bandwidth usage rate with a preset usage rate, the preset usage rate being greater than or equal to 50%; if the bandwidth usage rate is less than or equal to the preset usage rate, initiating an IO response time checking instruction to the database server sharing the storage server again; if the bandwidth usage rate is greater than the preset usage rate, executing the second decision processing flow; the second decision processing flow comprises: comparing the first IO response time of each database server with a respective preset value corresponding thereto to find a database server exceeding the preset value; wherein the preset value is a product of a respective historical weighted value of the each database server and a preset percentage; recording the database server whose first IO response time exceeds the preset value as a first target database server; after a set time, obtaining a second IO response time of the first target database server and detecting whether the second IO response time still exceeds the corresponding preset value; if the second IO response time does not exceed the preset value, initiating an IO response time checking instruction to the database server sharing the storage server again to check the IO response time of all the database servers again; if the second IO response time exceeds the preset value, recording the first target database server whose second IO response time exceeds the preset value as a second target database server; sending an operation and maintenance notification to a system to which the second target database server belongs, the operation and maintenance notification carrying a manual confirmation time.

2. The method of claim 1, wherein, comparing the database server ratio with a preset ratio and obtaining a comparison result comprises: comparing the database server ratio with a first preset ratio, the first preset ratio being greater than or equal to 20%; if the database server ratio is less than the first preset ratio, obtaining a comparison result indicating normal; if the database server ratio is greater than the first preset ratio, comparing the database server ratio with a second preset ratio, the second preset ratio being greater than the first preset ratio, the second preset ratio being greater than or equal to 50%; if the database server ratio is less than the second preset ratio, obtaining a comparison result indicating to be checked; If the database server ratio is greater than a second preset ratio, a comparison result indicating an exception is obtained.

3. The method according to claim 1 or 2, characterized in that, The preset percentage is in a range of 120% to 180%, or the preset percentage is 120% or 150%.

4. The method of claim 3, wherein, Further comprising: Detecting whether feedback information is received within the manual confirmation time, the feedback information carrying information of entering manual processing or not entering manual processing; If the information of entering manual processing is received, stopping the current check; If the information of not entering manual processing is received or if the feedback information is not received, sending a stop instruction to a system to which the second target database server belongs, so that the system stops the operation meeting the current IO size requirement based on the stop instruction, the operation including a process or an SQL statement.

5. A database server IO processing apparatus of a shared storage server, characterized by, Comprising: An initiating module configured to initiate an IO response time check instruction to a database server of a shared storage server at a time; An obtaining module configured to obtain response information fed back by the database server, the response information including a first IO response time of the database server and an operation meeting a current IO size requirement; A calculating module configured to calculate a database server ratio of a database server exceeding a preset time based on the obtained first IO response time, the preset time being greater than or equal to 10 milliseconds; A comparing module configured to compare the database server ratio with a preset ratio and obtain a comparison result; An executing module configured to end the current check if the comparison result indicates normal, trigger a first decision processing module to execute if the comparison result indicates to be checked, and trigger a second decision processing module to execute if the comparison result indicates an exception; The first decision processing module is specifically configured to: Detect a bandwidth usage rate of the storage server, and compare the detected bandwidth usage rate with a preset usage rate, the preset usage rate being greater than or equal to 50%; if the bandwidth usage rate is less than or equal to the preset usage rate, trigger the initiating module to initiate an IO response time check instruction to the database server of the shared storage server again; If the bandwidth usage rate is greater than the preset usage rate, trigger the second decision processing module; The second decision processing module comprises: A third comparing unit configured to compare the first IO response time of each database server with a respective preset value corresponding to the database server, and find a database server exceeding the preset value; wherein the preset value is a product of a respective historical weighted value of the database server and a preset percentage; A first marking unit configured to mark the database server whose first IO response time exceeds the preset value as a first target database server; A fourth comparing unit configured to obtain a second IO response time of the first target database server after a set time, and detect whether the second IO response time still exceeds the corresponding preset value; if the second IO response time does not exceed the preset value, trigger the initiating module to initiate an IO response time check instruction to the database server of the shared storage server again; if the second IO response time exceeds the preset value, execute a second marking unit. The second marking unit is configured to mark the first target database server whose second IO response time exceeds a preset value as a second target database server. The sending unit is configured to send an operation and maintenance notification to a system to which the second target database server belongs, and the operation and maintenance notification carries a manual confirmation time.

6. The apparatus of claim 5, wherein, The comparison module comprises: The first comparison unit is configured to compare the database server ratio with a first preset ratio, the first preset ratio is greater than or equal to 20%, if the database server ratio is less than the first preset ratio, a comparison result indicating normality is obtained, and if the database server ratio is greater than the first preset ratio, the second comparison unit is executed. The second comparison unit is configured to compare the database server ratio with a second preset ratio, the second preset ratio is greater than the first preset ratio, the second preset ratio is greater than or equal to 50%, if the database server ratio is less than the second preset ratio, a comparison result indicating to-be-checked is obtained, and if the database server ratio is greater than the second preset ratio, a comparison result indicating abnormality is obtained.

7. The apparatus of claim 5 or 6, wherein, The preset percentage ranges from 120% to 180%, or the preset percentage is 120% or 150%.

8. The apparatus of claim 7, wherein, The device further comprises: The detection module is configured to detect whether feedback information is received within the manual confirmation time, the feedback information carries entering manual processing information or not entering manual processing information, if the entering manual processing information is received, the current check is stopped, if the not entering manual processing information is received or if the feedback information is not received, the execution module is executed. The execution module is further configured to send a stop instruction to a system to which the second target database server belongs, and the system stops an operation meeting a current IO size requirement based on the stop instruction, the operation comprises a process or an SQL statement.

Citation Information

Patent Citations

  • Method for adjusting service coding rate and communication node

    CN102256314A

  • Method and device for server IO (Input Output) diagnosis

    CN102945196A