Data processing method and device, equipment and storage medium

By parsing the query statement in the Prometheus federated cluster and splitting it into subquery statements, it is distributed to the second server in multiple target areas for data query and calculation, and the problem of high performance requirements for the global Prometheus server is solved, and data query and calculation are improved Efficiency and reliability of monitoring results.

CN119473754APending Publication Date: 2025-02-18BEIJING CO WHEELS TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311000113.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-09
Publication Date
2025-02-18

AI Technical Summary

Technical Problem

When using the Prometheus federated cluster to monitor cross-regional data centers, the global Prometheus server needs to store all data and query and calculate data, resulting in high performance requirements, which may lead to low data query, computing efficiency and reliability of monitoring results. Low.

Method used

By analyzing the query statement, the target area involved in the monitoring is determined, and when the target area is multiple, the query statement is split into multiple subquery statements and distributed to the second server corresponding to the multiple target area for data query and calculation. , and finally summarize the calculation results on the first server.

Benefits of technology

It improves the efficiency of data query and calculation, reduces the performance requirements for the first server, ensures the real-time and accuracy of the calculation results, and thus improves the reliability of the monitoring results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119473754A_ABST
    Figure CN119473754A_ABST
Patent Text Reader

Abstract

The invention discloses a data processing method and device, equipment and a storage medium. The method comprises the steps that a query statement is obtained, the query statement corresponds to a monitoring index, and the monitoring index is used for monitoring a cross-regional data center; analyzing the query statement to obtain at least one target area corresponding to the query statement; splitting the query statement into a plurality of sub-query statements in one-to-one correspondence with the target areas under the condition that the target areas are multiple; sending sub-query statements respectively corresponding to the plurality of target areas to second servers respectively corresponding to the plurality of target areas; receiving sub-calculation results returned by the plurality of second servers, wherein the sub-calculation results are calculation results obtained by performing data calculation corresponding to the sub-query statements by the second servers; and summarizing and calculating the plurality of sub-calculation results to obtain a first calculation result corresponding to the query statement. According to the data processing method provided by the embodiment of the invention, the reliability of the monitoring result can be ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of operation and maintenance technology, and in particular, relates to a data processing method, device, equipment and storage medium. Background Art

[0002] The Prometheus monitoring system is an open source monitoring and alarm system based on a time series database, which can monitor the infrastructure layer and business layer of the data center. When there are many nodes to be monitored, multiple nodes in a single area can be monitored by using the Prometheus federated cluster. Specifically, the Prometheus federated cluster can include a global Prometheus server and multiple lower-level Prometheus servers. Among them, the lower-level Prometheus server is responsible for collecting data from its corresponding nodes, and the global Prometheus server is responsible for aggregating data collected by multiple lower-level Prometheus servers, storing the aggregated data, querying and calculating the aggregated data, obtaining data calculation results, and determining whether an alarm is needed based on the data calculation results.

[0003] However, since the global Prometheus server needs to store all data and perform data query and calculation based on the full data, the performance requirements for the global Prometheus server are relatively high. In the case of cross-regional data centers (i.e., the amount of monitoring data is large), there may not be a global Prometheus server that can meet the above performance requirements. In other words, if the Prometheus federated cluster is used to monitor cross-regional data centers, the efficiency of data query and calculation will be low, and the reliability of the monitoring results will be low. Summary of the invention

[0004] The embodiments of the present application provide a data processing method, apparatus, device and storage medium, which can improve data query and calculation efficiency, ensure the real-time and accuracy of calculation results, and thus ensure the reliability of monitoring results.

[0005] In a first aspect, an embodiment of the present application provides a data processing method, which is applied to a first server, and the method includes:

[0006] Obtain a query statement, where the query statement corresponds to a monitoring indicator, and the monitoring indicator is used to monitor cross-regional data centers;

[0007] Parsing the query statement to obtain at least one target area corresponding to the query statement;

[0008] In the case where there are multiple target areas, splitting the query statement into multiple sub-query statements corresponding to the target areas one by one;

[0009] Sending sub-query statements corresponding to the multiple target areas respectively to second servers corresponding to the multiple target areas respectively;

[0010] receiving a sub-calculation result returned by each of the plurality of second servers, wherein the sub-calculation result is a calculation result obtained by the second server performing data calculation corresponding to the sub-query statement;

[0011] Aggregate and calculate the plurality of sub-calculation results to obtain a first calculation result corresponding to the query statement.

[0012] In a possible implementation manner, after obtaining at least one target area corresponding to the query statement, the method further includes:

[0013] When there is only one target area, sending the query statement to a second server corresponding to the target area;

[0014] Receive a second calculation result corresponding to the query statement returned by the second server.

[0015] In a possible implementation manner, the query statement includes a region tag, and the parsing of the query statement to obtain at least one target region corresponding to the query statement includes:

[0016] Parsing the query statement to obtain at least one region label in the query statement;

[0017] A region corresponding to each of the at least one region label is determined as at least one target region.

[0018] In a second aspect, an embodiment of the present application provides a data processing method, which is applied to a second server, and the method includes:

[0019] receiving a sub-query statement sent by the first server, where the sub-query statement is a statement corresponding to the target area obtained by splitting the query statement by the first server;

[0020] Acquire first data corresponding to the subquery statement from a database;

[0021] Performing data calculation corresponding to the sub-query statement on the first data to obtain a sub-calculation result;

[0022] The sub-calculation results are sent to the first server, so that the first server aggregates and calculates a plurality of the sub-calculation results to obtain a first calculation result corresponding to the query statement.

[0023] In a possible implementation manner, before receiving the sub-query statement sent by the first server, the method further includes:

[0024] Acquire second data, where the second data is sample data used to calculate an indicator value corresponding to a monitoring indicator, and the second data includes the first data;

[0025] The second data is stored in the database.

[0026] In a possible implementation, the database includes a first storage layer and a second storage layer, the storage medium of the first storage layer is a memory, the storage medium of the second storage layer is a hard disk, and storing the second data in the database includes:

[0027] storing the second data in the first storage layer;

[0028] After a first preset time period, the second data is transferred from the first storage layer to the second storage layer.

[0029] In a possible implementation, the database includes a first storage layer and a second storage layer, the storage medium of the first storage layer is a memory, the storage medium of the second storage layer is a hard disk, and storing the second data in the database further includes:

[0030] The second data is stored in the first storage tier and the second storage tier.

[0031] In a possible implementation, the database further includes a third storage layer, the storage mode of the third storage layer is object storage, and after storing the second data in the second storage layer, the method further includes:

[0032] After a second preset time period, the second data is transferred from the second storage layer to the third storage layer.

[0033] In a possible implementation, the first storage layer and / or the second storage layer includes a plurality of storage modules, and storing the second data in the first storage layer and / or the second storage layer includes:

[0034] According to a preset calculation rule, the second data is stored in a target storage module, and the target storage module is any one of the multiple storage modules.

[0035] In a possible implementation manner, obtaining the second data includes:

[0036] Receive second data uploaded by the monitored object based on a preset data protocol.

[0037] In a third aspect, an embodiment of the present application provides a data processing device, applied to a first server, the device comprising:

[0038] A first acquisition module is used to acquire a query statement, where the query statement corresponds to a monitoring indicator, and the monitoring indicator is used to monitor cross-regional data centers;

[0039] A parsing module, used for parsing the query statement to obtain at least one target area corresponding to the query statement;

[0040] a splitting module, used for splitting the query statement into multiple sub-query statements corresponding to the target areas one by one when there are multiple target areas;

[0041] A first sending module, configured to send sub-query statements corresponding to the plurality of target areas respectively to second servers corresponding to the plurality of target areas respectively;

[0042] A first receiving module, configured to receive a sub-computation result returned by each of the plurality of second servers, wherein the sub-computation result is a calculation result obtained by the second server performing data calculation corresponding to the sub-query statement;

[0043] The first calculation module is used to aggregate and calculate the multiple sub-calculation results to obtain a first calculation result corresponding to the query statement.

[0044] In a fourth aspect, an embodiment of the present application provides a data processing device, applied to a second server, the device comprising:

[0045] A second receiving module is used to receive a sub-query statement sent by the first server, where the sub-query statement is a statement corresponding to the target area obtained by splitting the query statement by the first server;

[0046] A second acquisition module, used to acquire first data corresponding to the sub-query statement from a database;

[0047] A second calculation module, used to perform data calculation corresponding to the sub-query statement on the first data to obtain a sub-calculation result;

[0048] The second sending module is used to send the sub-calculation results to the first server, so that the first server aggregates and calculates multiple sub-calculation results to obtain a first calculation result corresponding to the query statement.

[0049] In a fifth aspect, an embodiment of the present application provides an electronic device, the electronic device comprising: a processor and a memory storing computer program instructions;

[0050] When the processor executes the computer program instructions, the processor implements any possible implementation method of the first aspect described above.

[0051] In a sixth aspect, an embodiment of the present application provides a computer-readable storage medium having computer program instructions stored thereon, which, when executed by a processor, implements a method in any possible implementation method of the first aspect described above.

[0052] The data processing method, device, equipment and storage medium of the embodiment of the present application can determine at least one target area involved in monitoring by parsing the query statement. By splitting the query statement into multiple sub-data query statements corresponding to the target areas one by one when there are multiple target areas, and sending the sub-data query statements corresponding to the multiple target areas to the second servers corresponding to the multiple target areas respectively, the second server can perform data calculations corresponding to the sub-query statements and obtain sub-calculation results. That is, by allocating the computing tasks to the multiple second servers through the first server, the multiple second servers perform distributed data query and calculation on the computing tasks, which can improve the efficiency of data query and calculation. The first server receives the sub-calculation results returned by the multiple second servers respectively, and summarizes and calculates the multiple sub-calculation results, and can obtain the calculation results corresponding to the query statement. Since the first server does not perform data query, that is, does not store data in the first server, the performance requirements for the first server can be reduced, and the real-time and accuracy of the calculation results can be guaranteed. In this way, through the embodiment of the present application, the efficiency of data query and calculation can be improved, the real-time and accuracy of the calculation results can be guaranteed, and the reliability of the monitoring results can be guaranteed. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0054] Figure 1 It is a structural diagram of a distributed monitoring system provided in an embodiment of the present application;

[0055] Figure 2 is a flow chart of a data processing method applied to a first server provided in an embodiment of the present application;

[0056] Figure 3 is a flow chart of a data processing method applied to a second server provided in an embodiment of the present application;

[0057] Figure 4is a flow chart of another data processing method applied to a second server provided in an embodiment of the present application;

[0058] Figure 5 is a schematic diagram of the structure of another distributed monitoring system provided in an embodiment of the present application;

[0059] Figure 6 is a structural diagram of a data processing device applied to a first server provided in an embodiment of the present application;

[0060] Figure 7 is a structural diagram of a data processing device applied to a second server provided in an embodiment of the present application;

[0061] Figure 8 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0062] In order to more clearly understand the above-mentioned purposes, features and advantages of the present application, the scheme of the present application will be further described below. It should be noted that the embodiments of the present application and the features in the embodiments can be combined with each other without conflict.

[0063] In the following description, many specific details are set forth to facilitate a full understanding of the present application, but the present application may also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only part of the embodiments of the present application, rather than all of the embodiments.

[0064] It should be noted that, in this article, relational terms such as "first" and "second" 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 term "comprises" or any other variant thereof is 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 existence of other identical elements in the process, method, article or device including the elements.

[0065] As described in the background technology section, in order to solve the problems of the prior art, the embodiments of the present application provide a data processing method, device, equipment and storage medium. Among them, the data processing method can be applied to a distributed monitoring system. The distributed monitoring system can monitor multiple areas corresponding to a data center.

[0066] The following is an introduction to the distributed monitoring system provided in the embodiments of the present application.

[0067] like Figure 1 As shown, the distributed monitoring system 100 may include a data dashboard 11, an alarm module 12, a first server 13 and multiple second servers 14. Among them, the first server 13 may be a global server. The second server 14 may be a regional server. That is, the multiple second servers 14 may be deployed in multiple regions respectively. The multiple regions may include a first region, a second region, a third region, etc.

[0068] As an example, the data dashboard 11 may include multiple monitoring indicators and query statements corresponding to the monitoring indicators. The first server 13 may obtain the query statement from the data dashboard 11, parse the query statement, obtain the parsing result, and determine whether to send the query statement to a second server 14 according to the parsing result, or split the query statement into multiple sub-query statements, and then send the multiple sub-query statements to the corresponding second servers 14. After receiving the query statement / sub-query statement, the second server 14 may perform data query and calculation corresponding to the query statement / sub-query statement, obtain the calculation result, and return the calculation result to the first server 13. If the first server 13 splits the query statement, the calculation results returned by each of the multiple second servers 14 may be aggregated and calculated corresponding to the query statement, thereby obtaining the indicator value corresponding to the monitoring indicator. The data dashboard 11 may display the indicator value. The alarm module 12 may issue an alarm if the indicator value does not meet the preset conditions.

[0069] The following is an introduction to a data processing method applied to a first server provided in an embodiment of the present application.

[0070] Figure 2 FIG. 1 is a flow chart showing a data processing method applied to a first server provided in an embodiment of the present application. Figure 2 As shown, the data processing method provided in the embodiment of the present application includes steps S210 to S260.

[0071] S210: Obtain a query statement, where the query statement corresponds to a monitoring indicator, and the monitoring indicator is used to monitor cross-regional data centers.

[0072] S220: Parse the query statement to obtain at least one target area corresponding to the query statement.

[0073] S230: When there are multiple target areas, split the query statement into multiple sub-query statements corresponding to the target areas one by one.

[0074] S240: Send sub-query statements corresponding to the multiple target areas respectively to the second servers corresponding to the multiple target areas respectively.

[0075] S250: Receive sub-calculation results returned by each of the plurality of second servers, where the sub-calculation results are calculation results obtained by the second servers performing data calculations corresponding to the sub-query statements.

[0076] S260: Summarize and calculate multiple sub-calculation results to obtain a first calculation result corresponding to the query statement.

[0077] The data processing method of the embodiment of the present application can determine at least one target area involved in monitoring by parsing the query statement. By splitting the query statement into multiple sub-data query statements corresponding to the target areas one by one when there are multiple target areas, and sending the sub-data query statements corresponding to the multiple target areas to the second servers corresponding to the multiple target areas respectively, the second server can perform data calculations corresponding to the sub-query statements and obtain sub-calculation results. That is, by allocating the computing tasks to the multiple second servers through the first server, the multiple second servers perform distributed data query and calculation on the computing tasks, which can improve the efficiency of data query and calculation. The first server receives the sub-calculation results returned by the multiple second servers respectively, and summarizes and calculates the multiple sub-calculation results, and can obtain the calculation results corresponding to the query statement. Since the first server does not perform data query, that is, does not store data in the first server, the performance requirements for the first server can be reduced, and the real-time and accuracy of the calculation results can be guaranteed. In this way, through the embodiment of the present application, the efficiency of data query and calculation can be improved, the real-time and accuracy of the calculation results can be guaranteed, and the reliability of the monitoring results can be guaranteed.

[0078] The specific implementation methods of the above steps are introduced below.

[0079] In some embodiments, in S210, the query statement may be a query statement corresponding to the monitoring indicator. That is, by executing the query statement, the indicator value corresponding to the monitoring indicator may be obtained. Specifically, the query statement may query, aggregate, and perform logical operations on time series data. For example, the query statement may be a PromQL query statement.

[0080] As an example, if the network is monitored, the monitoring indicators may include, for example, the real-time network traffic. If the storage is monitored, the monitoring indicators may include, for example, the read and write efficiency, capacity, and permissions of the storage module. If the server is monitored, the monitoring indicators may include, for example, the uplink traffic, downlink traffic, packet loss rate of the network card, CPU usage, waiting queue length, etc. If the application is monitored, the monitoring indicators may include, for example, the log usage rate of the application, the call link tracking between applications, etc.

[0081] As an example, the first server may be a global server, and the first server may include a global query engine (Global Query Engine), and the global query engine may obtain query statements according to a first preset period.

[0082] In some embodiments, in S220, when the data center spans across regions, the query statement may query and calculate data on one or more regions of the data center. If the query statement queries and calculates data on multiple regions and obtains calculation results, the calculation results may be jointly determined by multiple regions. In addition, the region corresponding to the query statement obtained by the global query engine may be a target region. The query statement may correspond to one target region or multiple target regions. That is, the query statement may query and calculate data on one target region or multiple target regions.

[0083] As an example, the query statement may include a region tag or may not include a region tag. The region tag may be a unique identifier corresponding to the target region. After obtaining the query statement, the global query engine may parse the query statement. If it is determined that the query statement does not include a region tag, the query statement may correspond to all regions of the data center. That is, all regions of the data center may be target regions.

[0084] Based on this, when the query statement includes a region label, in order to accurately determine the target region, in some embodiments, the above S220 may specifically include:

[0085] Parsing the query statement to obtain at least one region label in the query statement;

[0086] A region corresponding to each of the at least one region labels is determined as at least one target region.

[0087] Here, the region label can correspond to the region one by one. There can be one or more region labels. If there is one region label, the target region corresponding to the query statement can be one. If there are multiple region labels, the target region corresponding to the query statement can be multiple. The multiple target regions can be all regions of the data center or part of the regions, which is not limited here.

[0088] In this way, by determining the regions corresponding to at least one region label as at least one target region, the target region can be accurately determined.

[0089] In some embodiments, in S230, if there are multiple target areas, the global query engine may split the query statement into multiple sub-query statements, wherein each sub-query statement may correspond to one target area.

[0090] As an example, when a query statement includes a region tag, the global query engine may split the query statement into multiple sub-query statements according to the region tags, wherein each sub-query statement may include a region tag.

[0091] As another example, when the query statement does not include a region label, that is, when the query statement corresponds to all regions of the data center, the global query engine can split the query statement into multiple identical sub-query statements, wherein the number of sub-query statements and the number of regions can be the same.

[0092] In some embodiments, in S240, the second server may be a regional server. That is, a second server may be deployed in each region. The second server may include a regional query engine. In addition, the global search engine may have the ability to push down operators. That is, the global search engine may send computing tasks to multiple second servers.

[0093] As an example, after obtaining multiple sub-query statements, the first server may send sub-query statements corresponding to the multiple target areas to the second servers corresponding to the multiple target areas. After the second server receives the sub-query statement, it may execute the sub-query statement through the regional query engine, perform data query and calculation on the target area where the second server is located, and obtain the sub-calculation result corresponding to the sub-query statement. The sub-calculation result may be an intermediate calculation result corresponding to the query statement.

[0094] As a more specific example, after the second server receives the sub-query statement, it can first obtain the first data corresponding to the sub-query statement from the database, and then perform data calculation corresponding to the sub-query statement on the first data to obtain a sub-calculation result. Among them, the database can store data with time series characteristics. The database can be, for example, a time series database (TSDB). The first data can be time series data stored in the time series database. Since the query statement can correspond to the monitoring indicator, the sub-query statement can correspond to the monitoring indicator of the target area. If the monitoring indicator of the target area is marked as a sub-monitoring indicator, the first data can be the sub-monitoring indicator sample data corresponding to the sub-monitoring indicator. Among them, the sub-monitoring indicator sample data can be sample data for calculating the indicator value corresponding to the sub-monitoring indicator. Therefore, performing data calculation corresponding to the sub-query statement on the first data can be a process of calculating the indicator value corresponding to the sub-monitoring indicator. That is, the sub-calculation result can be the indicator value corresponding to the sub-monitoring indicator.

[0095] Thus, through the above method, each second server can obtain the sub-calculation result corresponding to the sub-query statement. In addition, the second server can achieve storage and calculation separation by first obtaining the first data from the database and then performing data calculation, thereby reducing the performance requirements for the second server and further improving the efficiency of data query and calculation.

[0096] In some embodiments, in S250, after the first server sends the multiple sub-query statements to the multiple second servers respectively, it can receive the sub-computation results returned by the multiple second servers respectively.

[0097] In some embodiments, in S260, the query statement may correspond to a monitoring indicator, and therefore, the first calculation result may be an indicator value corresponding to the monitoring indicator.

[0098] As an example, the global search engine may also have the ability to aggregate global data, that is, the global search engine may aggregate and calculate the indicator values ​​corresponding to multiple sub-monitoring indicators to obtain the indicator value corresponding to the monitoring indicator. The aggregate calculation may include, for example, summing, averaging, and finding the region names corresponding to the top indicator values. For example, if a monitoring indicator of a data center is monitored, after receiving the indicator values ​​corresponding to multiple regions, the average of the multiple indicator values ​​may be calculated to obtain the indicator value corresponding to the data center.

[0099] Based on this, in order to enable the distributed monitoring system to monitor cross-regional data centers, in some embodiments, after the above S220, the following steps may also be included:

[0100] When there is only one target area, sending a query statement to a second server corresponding to the target area;

[0101] A second calculation result corresponding to the query statement is received and returned by the second server.

[0102] Here, if there is only one target area, the first server may directly send a query statement to a second server corresponding to the target area, so that the second server executes the query statement to obtain a second calculation result. The second calculation result may be an indicator value corresponding to the monitoring indicator.

[0103] As an example, the global query engine can have a query routing function. The global query engine can route the query to the regional query engine in the target area, and the regional query engine executes the query statement. That is, the global query engine can act as a reverse proxy.

[0104] As an example, after receiving the query statement, the second server may first obtain data corresponding to the query statement from the database, and then perform data calculation corresponding to the query statement on the data to obtain a second calculation result. The query statement may correspond to a monitoring indicator, and the data may be monitoring indicator sample data corresponding to the monitoring indicator.

[0105] In this way, by executing the query statement by the second server instead of the first server when there is only one target area, it is possible to avoid storing monitoring indicator sample data in the first server, thereby reducing the performance requirements for the first server and enabling the distributed monitoring system to monitor data centers across regions.

[0106] The following is an introduction to a data processing method applied to a second server provided in an embodiment of the present application.

[0107] Figure 3 FIG. 1 is a flow chart showing a data processing method applied to a first server provided in an embodiment of the present application. Figure 3 As shown, the data processing method provided in the embodiment of the present application includes steps S310 to S340.

[0108] S310: Receive a sub-query statement sent by the first server, where the sub-query statement is a statement corresponding to the target area obtained by splitting the query statement by the first server.

[0109] S320: Obtain first data corresponding to the subquery statement from a database.

[0110] S330: Perform data calculation corresponding to the sub-query statement on the first data to obtain a sub-calculation result.

[0111] S340: Send the sub-calculation results to the first server, so that the first server aggregates and calculates the multiple sub-calculation results to obtain a first calculation result corresponding to the query statement.

[0112] The data processing method of the embodiment of the present application first obtains the first data from the database and then performs data calculation, that is, executes the sub-query statement through two processes instead of one process, which can achieve storage and computing separation, reduce the performance requirements for the second server, and further improve the efficiency of data query and calculation.

[0113] The specific implementation methods of the above steps are introduced below.

[0114] In some embodiments, in S310, the sub-query statement may be a query statement corresponding to any one of the multiple target areas. The second server receiving the sub-query statement may be a second server corresponding to the sub-query statement.

[0115] In some embodiments, in S320, the database may store data having time series characteristics. The database may be, for example, a time series database (TSDB). The first data may be time series data stored in the time series database. Since the query statement may correspond to the monitoring indicator, the sub-query statement may correspond to the monitoring indicator of the target area. If the monitoring indicator of the target area is marked as a sub-monitoring indicator, the first data may be sub-monitoring indicator sample data corresponding to the sub-monitoring indicator.

[0116] As an example, in order to determine the indicator value corresponding to the sub-monitoring indicator, the regional query engine in the second server can first obtain the sub-monitoring indicator sample data corresponding to the sub-monitoring indicator from the time series database, and then perform calculations based on the sub-monitoring indicator sample data. That is, the regional query engine and the time series database together form a storage and computing separation architecture.

[0117] In some embodiments, in S330, the sub-calculation result may be an indicator value corresponding to the sub-monitoring indicator. Performing data calculation corresponding to the sub-query statement on the first data may be a process of calculating the indicator value corresponding to the sub-monitoring indicator.

[0118] Based on this, in order to ensure the smooth progress of data query and calculation, in some embodiments, the above S320 may specifically include:

[0119] Perform syntax analysis on the subquery statement to obtain the analysis result;

[0120] Based on the parsing results, formulate an execution plan corresponding to the subquery statement;

[0121] The first data is obtained from the database according to the execution plan.

[0122] Based on this, the above S330 may specifically include:

[0123] Data calculation is performed on the first data according to the execution plan.

[0124] Here, the execution plan may include what data is needed to execute the subquery statement, when to obtain the data, when to calculate the data, how to calculate the data, etc.

[0125] As an example, after receiving the sub-query statement, the second server can perform syntax analysis on the sub-query statement through the regional query engine, formulate an execution plan based on the result of the syntax analysis, obtain the first data according to the execution plan, and calculate the first data to obtain the sub-calculation result. The process of formulating the execution plan based on the result of the syntax analysis can be performed in an existing manner and will not be described in detail here.

[0126] In this way, by executing the subquery statement according to the execution plan, the smooth progress of data query and calculation can be guaranteed.

[0127] In some embodiments, in S340, after obtaining the sub-computation results, the second server may send the sub-computation results to the first server, so that the first server aggregates and calculates the multiple sub-computation results to obtain a first calculation result corresponding to the query statement.

[0128] In order to ensure the smooth progress of monitoring, as another implementation method of the present application, the present application also provides another implementation method of the data processing method applied to the second server, please refer to the following embodiments for details.

[0129] See also Figure 4 The data processing method provided in the embodiment of the present application may further include steps S410 and S420 before S310 shown in the above embodiment.

[0130] S410. Acquire second data, where the second data is sample data used to calculate an indicator value corresponding to a monitoring indicator, and the second data includes the first data.

[0131] The second server may include a data collector (Prometheus Like Agent). The data collected by the data collector may be the second data. The second data may be monitoring indicator sample data. The monitoring indicator sample data may be sample data used to calculate the indicator value corresponding to the monitoring indicator. In addition, the second data may be data directly acquired by the data collector, or may be data obtained after data processing of the data acquired by the data collector, which is not limited here. Among them, data processing may include data filtering and renaming, for example. In the case where the format of the data acquired by the data collector is text format, the data processing may be formatting processing to obtain structured second data. Specifically, the second server may include a remote write gateway (Remote Write Gateway), and the remote write network may perform data processing on the data acquired by the data collector to obtain the second data.

[0132] In addition, the data collector can support data pull mode and data push mode.

[0133] As an example, the data collector can collect monitoring indicator sample data of K8S, applications, middleware, network, etc. through the data collection tool (Scraper) based on the service discovery function.

[0134] In addition, in order to ensure the comprehensiveness of the monitoring indicator sample data, in some embodiments, the above S410 may specifically include:

[0135] Receive second data uploaded by the monitored object based on a preset data protocol.

[0136] Here, the preset data protocol may include InfluxDB, statsD, etc. Specifically, the data collector may receive the second data uploaded by the monitored object based on the preset data protocol through a push receiver.

[0137] S420: Store the second data in a database.

[0138] The data stored in the database can be time series data. Since the main feature of time series data is that the newer the data is, the more frequently it is accessed, the database can adopt a hierarchical storage mode to ensure the rationality of resource utilization.

[0139] As an example, the database may include a first storage layer (Hot Tier), a second storage layer (Warm Tier), and a third storage layer (Cold Tier). The storage medium of the first storage layer may be a memory. Since the memory has good performance and fast query speed, the data within the first preset time period may be stored in the first storage layer. The first preset time period may be the last 24 hours, the last 48 hours, etc., which is not limited here.

[0140] The storage medium of the second storage layer may be a hard disk. Compared with the memory, the performance of the hard disk is poor. Therefore, the data within the second preset time period may be stored in the second storage layer. The second preset time period may be the last month, two months, etc., which is not limited here.

[0141] The storage mode of the third storage layer is object storage. The third storage layer can specifically use the object storage of the public cloud as a long-term storage solution. Since the cost of the third storage layer is relatively low, but the query requires downloading data from the object storage and then parsing it, the performance is poor, so the data of the third preset time period can be stored in the third storage layer. Among them, the third preset time period can be a time period after the second preset time period. For example, if the second preset time period is the last month, the third preset time period can be one month later. If the second preset time period is the last two months, the third preset time period can be two months later.

[0142] Based on this, in order to reasonably utilize storage resources while ensuring the query speed of time series data, in some embodiments, the above S420 may specifically include:

[0143] storing the second data in the first storage layer;

[0144] After a first preset time period, the second data is transferred from the first storage layer to the second storage layer.

[0145] Here, the first preset duration and the first preset time period may be the same. For example, if the first storage layer stores data of the last 24 hours, the first preset duration may be 24 hours. That is, after 24 hours, the second data may be transferred from the first storage layer to the second storage layer.

[0146] In this way, by first storing the second data in the first storage layer, the query speed of the time series data can be guaranteed. By transferring the second data from the first storage layer to the second storage layer after the first preset time, the storage resources can be reasonably used while ensuring the query speed of the time series data.

[0147] Based on this, in order to ensure normal monitoring, in some embodiments, the above S420 may further include:

[0148] The second data is stored in the first storage tier and the second storage tier.

[0149] Here, due to the unreliability of memory, if only the second data is stored in the first storage layer, and an error occurs in the first storage layer, the recovery speed using WAL is slow, which may affect the normal monitoring. Therefore, a double-write strategy can be used to store the second data in the first storage layer and the second storage layer at the same time to ensure the normal monitoring.

[0150] Based on this, in order to enable the user to make a better decision, in some embodiments, after storing the second data in the second storage layer, the following steps may also be included:

[0151] After a second preset time period, the second data is transferred from the second storage layer to the third storage layer.

[0152] Here, the second preset duration and the second preset time period may be the same. For example, if the second storage layer stores data of the most recent month, the second preset duration may be one month. That is, after one month, the second data may be transferred from the second storage layer to the third storage layer. In addition, storing the second data in the second storage layer may be directly storing the second data in the second storage layer, or may be transferring the second data from the first storage layer to the second storage layer, which is not limited here.

[0153] In this way, by regularly backing up the second data to the third storage layer, historical data can be saved, allowing users to query long-term monitoring data based on the data dashboard, helping to understand business history and make better decisions.

[0154] In addition, the first storage layer and / or the second storage layer includes multiple storage modules. That is, the first storage layer may include multiple storage modules. The second storage layer may also include multiple storage modules. Based on this, in order to further reasonably utilize storage resources, in some embodiments, the second data is stored in the first storage layer and / or the second storage layer, which may specifically include:

[0155] According to a preset calculation rule, the second data is stored in a target storage module, where the target storage module is any one of the multiple storage modules.

[0156] Here, the multiple storage modules may be multiple modules in the first storage layer, or multiple modules in the second storage layer. In addition, storing the second data in the second storage layer may be directly storing the second data in the second storage layer, or transferring the second data from the first storage layer to the second storage layer, which is not limited here. In addition, the preset calculation rule may be a consistent hash calculation rule.

[0157] As an example, the second server may include an insert module (Insert), and if the second data is stored in the first storage layer, the insert module may store the second data in a target storage module of the first storage layer according to consistent hashing. If the second data is transferred from the first storage layer to the second storage layer, the insert module may store the second data in a target storage module of the second storage layer according to consistent hashing. If the second data is stored in the first storage layer and the second storage layer at the same time, the insert module may store the second data in the target storage module of the first storage layer and the target storage module of the second storage layer respectively according to consistent hashing.

[0158] In this way, by storing the second data in the target storage module according to the preset calculation rule, the storage resources can be further reasonably utilized.

[0159] In addition, the other steps of the method in the embodiment of the present application can be seen above Figure 3 The relevant description of the illustrated embodiment will not be repeated here.

[0160] Therefore, by collecting monitoring indicator sample data in real time and storing the monitoring indicator sample data in the database, it is possible to provide a data basis for monitoring and ensure the smooth progress of monitoring.

[0161] Based on the above embodiments, a structural diagram of a distributed monitoring system provided in an embodiment of the present application can be as follows: Figure 5 As shown. Figure 5 The description can be found above and will not be elaborated here.

[0162] Therefore, by using PromQL's operator push-down technology to solve the performance of global queries, the stratification based on global queries and regional level queries can realize a distributed monitoring system at the national or even global level, and ensure the stability of production environment services based on the distributed monitoring system.

[0163] Based on the data processing method provided in the above embodiment, the present application also provides a specific implementation of a data processing device. Please refer to the following embodiment.

[0164] like Figure 6 As shown, the data processing device 600 applied to the first server provided in the embodiment of the present application includes the following modules:

[0165] A first acquisition module 610 is used to acquire a query statement, where the query statement corresponds to a monitoring indicator, and the monitoring indicator is used to monitor cross-regional data centers;

[0166] A parsing module 620, configured to parse a query statement and obtain at least one target region corresponding to the query statement;

[0167] A splitting module 630 is used to split the query statement into multiple sub-query statements corresponding to the target areas one by one when there are multiple target areas;

[0168] A first sending module 640 is used to send sub-query statements corresponding to the multiple target areas respectively to the second servers corresponding to the multiple target areas respectively;

[0169] A first receiving module 650 is used to receive sub-computation results returned by each of the plurality of second servers, where the sub-computation results are calculation results obtained by the second servers performing data calculations corresponding to the sub-query statements;

[0170] The first calculation module 660 is used to aggregate and calculate multiple sub-calculation results to obtain a first calculation result corresponding to the query statement.

[0171] The data processing device of the embodiment of the present application can determine at least one target area involved in monitoring by parsing the query statement. By splitting the query statement into multiple sub-data query statements corresponding to the target areas one by one when there are multiple target areas, and sending the sub-data query statements corresponding to the multiple target areas to the second servers corresponding to the multiple target areas respectively, the second server can perform data calculations corresponding to the sub-query statements and obtain sub-calculation results. That is, by allocating the computing tasks to the multiple second servers through the first server, the multiple second servers perform distributed data query and calculation on the computing tasks, which can improve the efficiency of data query and calculation. The first server receives the sub-calculation results returned by the multiple second servers respectively, and summarizes and calculates the multiple sub-calculation results, and can obtain the calculation results corresponding to the query statement. Since the first server does not perform data query, that is, does not store data in the first server, the performance requirements for the first server can be reduced, and the real-time and accuracy of the calculation results can be guaranteed. In this way, through the embodiment of the present application, the efficiency of data query and calculation can be improved, the real-time and accuracy of the calculation results can be guaranteed, and the reliability of the monitoring results can be guaranteed.

[0172] The data processing device 600 is described in detail below, as follows:

[0173] In some embodiments, the data processing device 600 may further include:

[0174] A third sending module, configured to send a query statement to a second server corresponding to the target area when there is only one target area;

[0175] The third receiving module is used to receive a second calculation result corresponding to the query statement returned by the second server.

[0176] In this way, by executing the query statement by the second server instead of the first server when there is only one target area, it is possible to avoid storing monitoring indicator sample data in the first server, thereby reducing the performance requirements for the first server and enabling the distributed monitoring system to monitor data centers across regions.

[0177] In some embodiments, the query statement includes a region tag. Based on this, the parsing module 620 may specifically include:

[0178] A first parsing submodule, used to parse the query statement to obtain at least one region label in the query statement;

[0179] The determination submodule is used to determine the regions corresponding to the at least one region label as at least one target region.

[0180] In this way, by determining the area corresponding to at least one area label as at least one target area, the target area can be accurately determined. Figure 7 As shown, the data processing device 700 applied to the second server provided in the embodiment of the present application includes the following modules:

[0181] The second receiving module 710 is used to receive a sub-query statement sent by the first server, where the sub-query statement is a statement corresponding to the target area obtained by splitting the query statement by the first server;

[0182] A second acquisition module 720 is used to acquire first data corresponding to the sub-query statement from a database;

[0183] The second calculation module 730 is used to perform data calculation corresponding to the sub-query statement on the first data to obtain a sub-calculation result;

[0184] The second sending module 740 is used to send the sub-calculation results to the first server, so that the first server aggregates and calculates the multiple sub-calculation results to obtain a first calculation result corresponding to the query statement.

[0185] The data processing device of the embodiment of the present application first obtains the first data from the database and then performs data calculation, that is, executes the sub-query statement through two processes instead of one process, which can achieve storage and computing separation, reduce the performance requirements for the second server, and further improve the efficiency of data query and calculation.

[0186] The data processing device 700 is described in detail below, as follows:

[0187] In some embodiments, the data processing device 700 may further include:

[0188] A third acquisition module is used to acquire second data before receiving the subquery statement sent by the first server, where the second data is sample data used to calculate the indicator value corresponding to the monitoring indicator, and the second data includes the first data;

[0189] The storage module is used to store the second data in the database.

[0190] In this way, by collecting monitoring indicator sample data in real time and storing the monitoring indicator sample data in the database, a data basis can be provided for monitoring to ensure smooth monitoring.

[0191] In some embodiments, the database includes a first storage layer and a second storage layer, the storage medium of the first storage layer is a memory, and the storage medium of the second storage layer is a hard disk. Based on this, the storage module may specifically include:

[0192] A first storage submodule, used for storing the second data into the first storage layer;

[0193] The first transfer submodule is used to transfer the second data from the first storage layer to the second storage layer after a first preset time period.

[0194] In this way, by first storing the second data in the first storage layer, the query speed of the time series data can be guaranteed. By transferring the second data from the first storage layer to the second storage layer after the first preset time, the storage resources can be reasonably used while ensuring the query speed of the time series data.

[0195] In some embodiments, the database includes a first storage layer and a second storage layer, the storage medium of the first storage layer is a memory, and the storage medium of the second storage layer is a hard disk. Based on this, the storage module may further include:

[0196] The second storage submodule is used to store the second data in the first storage layer and the second storage layer.

[0197] Here, due to the unreliability of memory, if only the second data is stored in the first storage layer, and an error occurs in the first storage layer, the recovery speed using WAL is slow, which may affect the normal monitoring. Therefore, a double-write strategy can be used to store the second data in the first storage layer and the second storage layer at the same time to ensure the normal monitoring.

[0198] In some embodiments, the database further includes a third storage layer, and the storage mode of the third storage layer is object storage. Based on this, the storage module may further include:

[0199] The second transfer submodule is used to transfer the second data from the second storage layer to the third storage layer after the second data is stored in the second storage layer and a second preset time period.

[0200] In this way, by regularly backing up the second data to the third storage layer, historical data can be saved, allowing users to query long-term monitoring data based on the data dashboard, helping to understand business history and make better decisions.

[0201] In some embodiments, the first storage layer and / or the second storage layer includes a plurality of storage modules, and the first storage submodule or the first transfer submodule or the second storage submodule may specifically include:

[0202] The storage unit is used to store the second data in a target storage module according to a preset calculation rule, and the target storage module is any one of the multiple storage modules.

[0203] In this way, by storing the second data in the target storage module according to the preset calculation rule, the storage resources can be further reasonably utilized.

[0204] In some embodiments, the third acquisition module may specifically include:

[0205] The receiving submodule is used to receive second data uploaded by the monitored object based on a preset data protocol.

[0206] In this way, the second data (ie, monitoring index sample data) is obtained by active collection and passive reception, which can ensure the comprehensiveness of the monitoring index sample data. Based on the data processing method provided in the above embodiment, the embodiment of the present application also provides a specific implementation of the electronic device. Figure 8 A schematic diagram of an electronic device 800 provided in an embodiment of the present application is shown.

[0207] The electronic device 800 may include a processor 810 and a memory 820 storing computer program instructions.

[0208] Specifically, the processor 810 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.

[0209] The memory 820 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 820 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In appropriate cases, the memory 820 may include a removable or non-removable (or fixed) medium. In appropriate cases, the memory 820 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 820 is a non-volatile solid-state memory.

[0210] The memory may include a read-only memory (ROM), a random access memory (RAM), a magnetic disk storage medium device, an optical storage medium device, a flash memory device, an electrical, optical or other physical / tangible memory storage device. Thus, typically, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to the first aspect of the present application.

[0211] The processor 810 implements any one of the data processing methods in the above embodiments by reading and executing computer program instructions stored in the memory 820 .

[0212] In one example, the electronic device 800 may further include a communication interface 830 and a bus 840. Figure 8 As shown, the processor 810, the memory 820, and the communication interface 830 are connected via a bus 840 and communicate with each other.

[0213] The communication interface 830 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.

[0214] Bus 840 includes hardware, software or both, and the parts of electronic equipment are coupled to each other. For example, but not limitation, bus may include accelerated graphics port (AGP) or other graphics bus, enhanced industrial standard architecture (EISA) bus, front side bus (FSB), hypertransport (HT) interconnection, industrial standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnection (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. In appropriate cases, bus 840 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the application considers any suitable bus or interconnection.

[0215] Exemplarily, the electronic device 800 may be a mobile phone, a tablet computer, a laptop computer, a PDA, an in-vehicle electronic device, an ultra-mobile personal computer (UMPC), a netbook, or a personal digital assistant (PDA).

[0216] The electronic device can execute the data processing method in the embodiment of the present application, thereby realizing the combination Figures 2 to 4 , Figure 6 and Figure 7 The data processing method and device described.

[0217] In addition, in combination with the data processing method in the above embodiments, the present application embodiment can provide a computer-readable storage medium for implementation. The computer-readable storage medium stores computer program instructions; when the computer program instructions are executed by a processor, any one of the data processing methods in the above embodiments is implemented.

[0218] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.

[0219] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.

[0220] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.

[0221] The above reference is according to the method of the embodiment of the present application, the flow chart of the device (system) and the computer program product and / or the block diagram described various aspects of the present application.It should be understood that each square box in the flow chart and / or the block diagram and the combination of each square box in the flow chart and / or the block diagram can be realized by computer program instructions.These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the realization of the function / action specified in one or more square boxes of the flow chart and / or the block diagram.Such a processor can be but is not limited to a general-purpose processor, a special-purpose processor, a special application processor or a field programmable logic circuit.It can also be understood that each square box in the block diagram and / or the flow chart and the combination of the square boxes in the block diagram and / or the flow chart can also be realized by the dedicated hardware that performs the specified function or action, or can be realized by the combination of dedicated hardware and computer instructions.

[0222] The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.

Claims

1. A data processing method, characterized in that: Applied to a first server, the method comprises: Obtain a query statement, where the query statement corresponds to a monitoring indicator, and the monitoring indicator is used to monitor cross-regional data centers; Parsing the query statement to obtain at least one target area corresponding to the query statement; In the case where there are multiple target areas, splitting the query statement into multiple sub-query statements corresponding to the target areas one by one; Sending sub-query statements corresponding to the plurality of target areas respectively to second servers corresponding to the plurality of target areas respectively; receiving a sub-calculation result returned by each of the plurality of second servers, wherein the sub-calculation result is a calculation result obtained by the second server performing data calculation corresponding to the sub-query statement; Aggregate and calculate the plurality of sub-calculation results to obtain a first calculation result corresponding to the query statement.

2. The method according to claim 1, characterized in that After obtaining at least one target area corresponding to the query statement, the method further includes: When there is only one target area, sending the query statement to a second server corresponding to the target area; Receive a second calculation result corresponding to the query statement returned by the second server.

3. The method according to claim 1, characterized in that The query statement includes a region tag, and the parsing of the query statement to obtain at least one target region corresponding to the query statement includes: Parsing the query statement to obtain at least one region label in the query statement; A region corresponding to each of the at least one region label is determined as at least one target region.

4. A data processing method, characterized in that: Applied to the second server, the method comprises: receiving a sub-query statement sent by the first server, where the sub-query statement is a statement corresponding to the target area obtained by splitting the query statement by the first server; Acquire first data corresponding to the subquery statement from a database; Performing data calculation corresponding to the sub-query statement on the first data to obtain a sub-calculation result; The sub-calculation results are sent to the first server, so that the first server aggregates and calculates a plurality of the sub-calculation results to obtain a first calculation result corresponding to the query statement.

5. The method according to claim 4, characterized in that Before receiving the sub-query statement sent by the first server, the method further includes: Acquire second data, where the second data is sample data used to calculate an indicator value corresponding to a monitoring indicator, and the second data includes the first data; The second data is stored in the database.

6. The method according to claim 5, characterized in that The database includes a first storage layer and a second storage layer, the storage medium of the first storage layer is a memory, the storage medium of the second storage layer is a hard disk, and storing the second data in the database includes: storing the second data in the first storage layer; After a first preset time period, the second data is transferred from the first storage layer to the second storage layer.

7. The method according to claim 5, characterized in that The database includes a first storage layer and a second storage layer, the storage medium of the first storage layer is a memory, the storage medium of the second storage layer is a hard disk, and storing the second data in the database further includes: The second data is stored in the first storage tier and the second storage tier.

8. The method according to claim 6 or 7, characterized in that: The database further includes a third storage layer, the storage mode of the third storage layer is object storage, and after storing the second data in the second storage layer, the method further includes: After a second preset time period, the second data is transferred from the second storage layer to the third storage layer.

9. The method according to claim 6 or 7, characterized in that: The first storage layer and / or the second storage layer includes a plurality of storage modules, and storing the second data in the first storage layer and / or the second storage layer includes: According to a preset calculation rule, the second data is stored in a target storage module, and the target storage module is any one of the multiple storage modules.

10. The method according to claim 5, characterized in that The obtaining of the second data comprises: Receive second data uploaded by the monitored object based on a preset data protocol.

11. A data processing device, characterized in that: Applied to a first server, the device comprises: A first acquisition module is used to acquire a query statement, where the query statement corresponds to a monitoring indicator, and the monitoring indicator is used to monitor cross-regional data centers; A parsing module, used for parsing the query statement to obtain at least one target area corresponding to the query statement; a splitting module, used for splitting the query statement into multiple sub-query statements corresponding to the target areas one by one when there are multiple target areas; A first sending module, configured to send sub-query statements corresponding to the plurality of target areas respectively to second servers corresponding to the plurality of target areas respectively; A first receiving module, configured to receive a sub-computation result returned by each of the plurality of second servers, wherein the sub-computation result is a calculation result obtained by the second server performing data calculation corresponding to the sub-query statement; The first calculation module is used to aggregate and calculate the multiple sub-calculation results to obtain a first calculation result corresponding to the query statement.

12. A data processing device, characterized in that: Applied to the second server, the device comprises: A second receiving module is used to receive a sub-query statement sent by the first server, where the sub-query statement is a statement corresponding to the target area obtained by splitting the query statement by the first server; A second acquisition module, used to acquire first data corresponding to the sub-query statement from a database; A second calculation module, used to perform data calculation corresponding to the sub-query statement on the first data to obtain a sub-calculation result; The second sending module is used to send the sub-calculation results to the first server, so that the first server aggregates and calculates multiple sub-calculation results to obtain a first calculation result corresponding to the query statement.

13. An electronic device, characterized in that: The electronic device comprises: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the data processing method as described in any one of claims 1-3 or 4-10 is implemented.

14. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processor, the data processing method according to any one of claims 1-3 or 4-10 is implemented.