Data processing method, computing device and computer-readable storage medium

By analyzing application configuration data to construct a target unit map, the problem of unclear relationships between applications within an enterprise was solved, resulting in improved stability and observability.

WO2026092172A1PCT designated stage Publication Date: 2026-05-07CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD +1
View PDF 8 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
Filing Date
2025-10-16
Publication Date
2026-05-07

AI Technical Summary

Technical Problem

Within an enterprise or organization, the complex data dependencies between multiple applications can lead to unclear architecture and potential risks. Existing technologies make it difficult to accurately determine the relationships between various applications.

Method used

By analyzing application configuration data, target service unit information is determined, and a target unit map is constructed based on this information to clearly show the relationships between various applications.

Benefits of technology

It enables an accurate understanding of the relationships between various applications, avoids potential problems caused by unclear architecture, and improves the stability and observability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025128089_07052026_PF_FP_ABST
    Figure CN2025128089_07052026_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the embodiments of the present disclosure are a data processing method, a computing device and a computer-readable storage medium. The data processing method comprises: determining application configuration data of each target application among a plurality of target applications, and by means of performing data analysis on the application configuration data, determining target service unit information of each target application; on the basis of the target service unit information, determining from among a plurality of service units a target service unit corresponding to each target application; on the basis of association relationships between target service units, determining from among the target service units associated service units between the target applications; and on the basis of the target applications, the target service units corresponding to the target applications, and the associated service units between the target applications, constructing a target unit graph. In this way, association relationships between applications are clearly and accurately determined, thereby facilitating the mapping out of an architecture among the target applications.
Need to check novelty before this filing date? Find Prior Art

Description

Data processing method, computing device, and computer-readable storage medium

[0001] The present disclosure claims priority to a Chinese patent application No. 202411562251.9, filed on November 4, 2024, and entitled “Data processing method, computing device, and computer-readable storage medium”, the entire content of which is incorporated herein by reference. TECHNICAL FIELD

[0002] Embodiments of the present disclosure relate to the field of computer technology, and in particular, to a data processing method. One or more embodiments of the present disclosure also relate to a computing device, a computer-readable storage medium, and a computer program product. BACKGROUND

[0003] With the continuous development of computer technology, there are often data and process sharing or upstream and downstream dependency relationships between multiple applications or service units within the same enterprise or organization. As the service or project develops, the data dependency relationships between applications and the data dependency relationships between applications and service units also increase.

[0004] When the architecture between applications needs to be sorted out, too many and complex data dependency relationships make it impossible to clearly sort out the architecture, which may cause potential problems for the applications. Therefore, how to clearly and accurately determine the association relationship between applications becomes a technical problem to be solved. SUMMARY

[0005] In view of this, embodiments of the present disclosure provide a data processing method. One or more embodiments of the present disclosure also relate to a data processing apparatus, a computing device, a computer-readable storage medium, and a computer program product to solve the technical defects in the prior art.

[0006] According to a first aspect of embodiments of the present disclosure, a data processing method is provided, comprising:

[0007] determining application configuration data of each target application in a plurality of target applications, and determining target service unit information of the each target application by performing data analysis on the application configuration data;

[0008] determining a target service unit corresponding to the each target application from a plurality of service units based on the target service unit information;

[0009] determining an associated service unit between the each target application from the each target service unit based on an association relationship between the each target service unit;

[0010] construct a target unit graph based on the target applications, the target service units corresponding to the target applications, and the associated service units between the target applications.

[0011] According to a second aspect of the embodiments of the present disclosure, a data processing apparatus is provided, comprising:

[0012] a data determination module configured to determine application configuration data of each target application in a plurality of target applications, and determine target service unit information of the each target application by performing data analysis on the application configuration data;

[0013] a first unit determination module configured to determine, based on the target service unit information, a target service unit corresponding to the each target application from a plurality of service units;

[0014] a second unit determination module configured to determine, based on an association relationship between each target service unit, an associated service unit between the each target application from the each target service unit;

[0015] a graph construction module configured to construct a target unit graph based on the target applications, the target service units corresponding to the target applications, and the associated service units between the target applications.

[0016] According to a third aspect of the embodiments of the present disclosure, a computing device is provided, comprising:

[0017] a memory and a processor;

[0018] the memory is configured to store computer programs / instructions, and the processor is configured to execute the computer programs / instructions, which realize the steps of the above data processing method when executed by the processor.

[0019] According to a fourth aspect of the embodiments of the present disclosure, a computer readable storage medium is provided, which stores computer programs / instructions, which realize the steps of the above data processing method when executed by the processor.

[0020] According to a fifth aspect of the embodiments of the present disclosure, a computer program product is provided, comprising computer programs / instructions, which realize the steps of the above data processing method when executed by the processor.

[0021] The data processing method provided by one or more embodiments of the present disclosure can determine target service units corresponding to each target application from a plurality of service units according to application configuration data of each target application, and then sort the association relationship between each target application according to the target service unit, so as to obtain a target unit graph constructed by each target application, the target service unit corresponding to each target application, and the associated service unit between each target application, so as to clearly and accurately determine the association relationship between each application, facilitate the sorting of the architecture between each target application, and avoid potential hidden dangers brought to the application due to the inability to clearly sort the architecture. BRIEF DESCRIPTION OF DRAWINGS

[0022] FIG. 1 is an application schematic diagram of a data processing method according to one embodiment of the present disclosure;

[0023] FIG. 2 is a flowchart of a data processing method according to one embodiment of the present disclosure;

[0024] FIG. 3 is a schematic diagram of scanning and association of a "shared" type application in a data processing method according to one embodiment of the present disclosure;

[0025] FIG. 4 is a schematic diagram of scanning and association of an "upstream and downstream" type application in a data processing method according to one embodiment of the present disclosure;

[0026] FIG. 5 is a flowchart of a processing process of a data processing method according to one embodiment of the present disclosure;

[0027] FIG. 6 is a structural schematic diagram of a data processing apparatus according to one embodiment of the present disclosure;

[0028] FIG. 7 is a structural block diagram of a computing device according to one embodiment of the present disclosure. DETAILED DESCRIPTION

[0029] In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, the present disclosure can be practiced without the specific details, which are not described in the present disclosure, and it is understood that the present disclosure is not limited to the embodiments described herein. In other instances, well-known methods, procedures, components, and networks have not been described in detail so as not to unnecessarily obscure aspects of the present disclosure.

[0030] The terms used in one or more embodiments of the present disclosure are merely for the purpose of describing specific embodiments, and are not intended to limit one or more embodiments of the present disclosure. The singular forms "a", "an" and "the" used in one or more embodiments of the present disclosure and the appended claims are also intended to include the plural forms, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in one or more embodiments of the present disclosure means and includes any or all possible combinations of one or more associated listed items.

[0031] It should be understood that, although the terms first, second, etc. can be employed in describing various information in one or more embodiments of the present disclosure, the information should not be limited to these terms. These terms are only used to distinguish one type of information from another type of information. For example, without departing from the scope of one or more embodiments of the present disclosure, first can also be referred to as second, and similarly, second can also be referred to as first. Depending on the context, the word "if' as used herein can be interpreted as "when" or "upon" or "in response to determining".

[0032] In addition, it should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in one or more embodiments of the present disclosure are all information and data authorized by the user or authorized by all parties, and the collection, use and processing of related data need to comply with relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation portal for user to choose authorization or refusal.

[0033] In one or more embodiments of the present disclosure, a large model refers to a deep learning model with a large number of model parameters, usually containing hundreds of millions, tens of billions, hundreds of billions, thousands of billions or even tens of billions of model parameters. The large model can also be called a foundation model. Through large-scale unlabeled corpus pre-training, a pre-trained model with hundreds of millions of parameters is output. Such a model can adapt to a wide range of downstream tasks, and the model has good generalization ability. For example, large language models (LLM) and multi-modal pre-training models.

[0034] In actual application, the large model only needs a small amount of samples to fine-tune the pre-trained model and can be applied to different tasks. The large model can be widely applied to natural language processing (NLP) and computer vision fields. Specifically, it can be applied to computer vision field tasks such as visual question answering (VQA), image captioning (IC), image generation, and natural language processing field tasks such as text-based sentiment classification, text summary generation, and machine translation. The main application scenarios of the large model include digital assistants, intelligent robots, search, online education, office software, e-commerce, intelligent design, etc.

[0035] First, the nomenclature involved in one or more embodiments of the present disclosure is explained.

[0036] Cloud service: refers to various information services provided through the network, including but not limited to storage, computing, middleware, database, etc.

[0037] Microservice: a software architecture style, the main feature is to divide a large and complex software application into multiple independent running small services. The relationship between cloud service and microservice is: the software architecture designed in the microservice style usually uses middleware cloud service to realize the communication between the modules after splitting, and uses cloud service to provide basic and general module capabilities (such as data storage and streaming computing) to save research and development manpower and focus on the development of core modules related to the project; Therefore, microservice architecture often introduces cloud service.

[0038] PaaS (Platform as a Service): Chinese name is platform as a service; PaaS hides the underlying infrastructure from customers, and customers' developers can directly write and execute logic on the PaaS platform. Usually, these execution logics are in the form of tasks hosted on the PaaS platform, supporting offline timing, online real-time, on-demand triggering, and other scheduling running modes.

[0039] Stability: refers to the ability of a system to remain stable under various normal and abnormal conditions. A stable system should be able to run normally even when the load increases, the environment changes, or other unpredictable situations occur, without crashing or serious errors.

[0040] Availability: availability refers to the degree to which a system can provide services when users need them. A high-availability system can continue to provide services through redundancy design and fault-tolerant mechanisms even when maintenance or hardware and software failures occur.

[0041] Observability: observability refers to the degree to which the internal state of a system can be observed and understood from the outside, allowing operations personnel to diagnose and solve problems.

[0042] Stain monitoring: an application self-monitoring strategy that injects known artificial data upstream of the link to monitor whether the application is working normally by observing whether the downstream output meets expectations.

[0043] Graph: a collection of points and edges; the one involved in this scheme can be a directed graph or an undirected graph, where a directed graph means that each edge in the graph has a direction, which can be understood as each edge can only pass in one direction, node A can reach node B, but node B cannot reach node A.

[0044] Reachable set / postset: the set of points that can be reached from a given point through several edges.

[0045] Preorder set: The set of points that can be reached from a given point by traversing several edges.

[0046] Boundary edge: When discussing a set of points, an edge that connects a vertex inside the set to a vertex outside the set is called a boundary edge.

[0047] A loop is a path in a graph that starts from a point, goes through a series of edges, and eventually returns to that point.

[0048] AIOps (Artificial Intelligence Operations): is an IT operations methodology that combines artificial intelligence (AI) and machine learning (ML) technologies to automate and optimize IT operations management and troubleshooting processes.

[0049] DevOps is a collection of cultures, practices, and tools that emphasize close collaboration between development and operations teams, with the aim of accelerating the delivery and iteration of software products while improving software quality.

[0050] Within the same enterprise or organization, multiple applications often share data and processes or have upstream and downstream dependencies. As projects develop, the network of relationships between applications also continues to "grow." Timely analysis of the application architecture is a prerequisite for developing a governance plan to ensure the stability, availability, and observability of applications.

[0051] MaxCompute refers to cloud-native big data computing services. MaxCompute is a fast, fully managed TB / PB-level data warehouse solution.

[0052] Apache Flink is an open-source streaming framework designed to process and analyze large-scale, high-throughput real-time data streams.

[0053] SQL (Structured Query Language): A language that uses structured queries.

[0054] SDK (Software Development Kit): Software development toolkit.

[0055] The streamlining process usually requires a top-down, campaign-style approach, deep involvement from various application developers, and manual streamlining, which consumes a huge amount of manpower. Moreover, for applications in the development stage, the streamlining speed usually cannot keep up with the growth rate, resulting in the awkward situation of becoming obsolete as soon as the streamlining is completed.

[0056] To address the aforementioned issues, this disclosure provides a dependency determination scheme. The principle of this scheme is to monitor application modules' access to cloud services. However, this scheme can only obtain the application's dependency on cloud services in a single request, or reconstruct the application's access topology by accumulating access records. The drawbacks of this scheme are: 1. It can only obtain the topology of a single application's access to cloud services, and cannot obtain the data coupling relationships between multiple applications. 2. It requires the introduction of a dedicated application SDK, which is intrusive to the application code. 3. Execution logic hosted on the PaaS platform cannot be monitored because it cannot use the SDK, resulting in incomplete topology information. 4. Only cloud services that have been called are recorded; low-frequency access or cloud services not accessed after monitoring is enabled may be ignored.

[0057] Based on this, a data processing method is provided in this disclosure. One or more embodiments of this disclosure also relate to a data processing apparatus, a computing device, a computer-readable storage medium, and a computer program product, which will be described in detail in the following embodiments.

[0058] Referring to Figure 1, which illustrates an application diagram of a data processing method according to an embodiment of this disclosure, as shown in Figure 1, the server 104 in this method can scan the source code of each application 102 and analyze it to obtain the cloud service entities used by each application 102. Then, using the cloud service entities shared by each application 102 as connection points, a multi-application architecture diagram is obtained. Subsequently, different algorithms can be used on the multi-application architecture diagram to analyze stability, availability, and observability.

[0059] Referring to Figure 2, Figure 2 shows a flowchart of a data processing method provided according to an embodiment of the present disclosure, which specifically includes the following steps.

[0060] Step 202: Determine the application configuration data of each target application among multiple target applications, and determine the target service unit information of each target application by performing data analysis on the application configuration data.

[0061] The target application can be understood as an application program or a micro-application; the application configuration data can be understood as the data configured for the target application during the development or operation of the target application. For example, the application configuration data can be application code data or application configuration parameters.

[0062] Data analysis of application configuration data can be understood as semantic analysis of application configuration data, or data search of application configuration data; no specific limitations are made here.

[0063] The target service unit information can be understood as the information corresponding to the target service unit and used to identify the target service unit. For example, the target service unit information can be the unit identifier, interface information, access address, IP address, etc. of the target service unit.

[0064] A target service unit can be understood as a unit that provides a target service to a target application. For example, the target service could be a data storage service, a data computing service, a stream computing service, or a data processing service. The target service unit can be a software device such as a cloud server, server, database, virtual machine, instance, or container. Alternatively, the target service unit can be a target service module such as a database table, data warehouse table, message queue topic, or stream processing task, which can be deployed on a cloud server, server, or database.

[0065] In one or more embodiments provided in this disclosure, with the rise of microservices and cloud-native architectures, more and more applications are choosing to subdivide their functions into independent modules and introduce cloud services to provide basic, general-purpose capabilities. Application developers are only responsible for developing core modules that are strongly related to the project. This trend has made cloud services an increasingly essential part of the development process and has also made architecture analysis anchored to cloud services feasible. Based on this, the target service unit can be a cloud service unit used to provide cloud services to the target application. Through the data processing method provided in this disclosure, the data dependency architecture between multiple applications within an enterprise or organization can be sorted out, and the stability, availability, and observability of the applications can be analyzed based on the multi-application architecture diagram.

[0066] In one or more embodiments provided in this disclosure, in order to accurately perform syntax parsing on application configuration data containing various types of data such as application code data and / or application configuration parameters, thereby determining the target service unit information, this disclosure can use syntax parsing to parse and process the application configuration data, thereby obtaining accurate target service unit information. The specific implementation method is as follows.

[0067] The application configuration data includes application code data and / or application configuration parameters;

[0068] The step of determining the target service unit information of each target application by performing data analysis on the application configuration data includes:

[0069] Perform syntax parsing on the application code data and / or the application configuration parameters to obtain the syntax characters contained in the application code data and / or the application configuration parameters;

[0070] From the grammar characters, determine the target grammar characters corresponding to each target service unit, and based on the target grammar characters, determine the target service unit information of each target service unit.

[0071] Application code data can be understood as the source code data corresponding to the target application; application configuration parameters can be understood as the parameter data in the configuration file corresponding to the target application, such as interface information, function information, etc., without specific restrictions.

[0072] Syntax characters can be understood as characters or syntax elements obtained by parsing application code data and / or application configuration parameters. For example, a syntax character can be "object", "function", "variable", etc.

[0073] The target syntax character can be understood as the syntax character corresponding to the target service unit.

[0074] Taking the data processing method provided in this disclosure as an example of applying it to the structured analysis of the architecture and processes of multiple application software, the data processing method is explained. The target service unit can be a cloud service unit. Based on this, after determining the source code and / or configuration file of the application, the source code and / or configuration file can be parsed to obtain keywords. After parsing, the corresponding entity (i.e., the target service unit) can be determined by matching keywords and rules.

[0075] Specifically, unlike plain text, source code has its own syntax rules, and configuration files also have specific formats; for convenience, these are collectively referred to as syntax. Therefore, in the process of identifying entities, the first step is to perform syntax parsing to obtain syntax elements (syntax characters), such as "object," "function," and "variable."

[0076] Then, by using keywords (i.e. target syntax characters) and matching rules, it is determined which syntax elements represent cloud service entities, and the corresponding cloud service entities are then identified based on these syntax elements.

[0077] Here, keywords can be understood as special cases of matching rules, which are simple rules; while complex rules can be: when a certain function (i.e., syntax character) appears in the code, the first three parameters of the function together represent a certain cloud resource entity. By identifying this parameter (target service unit information), a certain cloud resource entity (i.e., target service unit) can be identified subsequently.

[0078] In one or more embodiments provided in this disclosure, this method can obtain the application configuration data of each target application from various types of data sources such as configuration data storage units and cloud platforms, thereby ensuring the integrity of the application configuration data, and then constructing an accurate and complete target unit map based on the complete application configuration data. The specific implementation is as follows.

[0079] Determining the application configuration data of each target application among the plurality of target applications includes:

[0080] Determine the configuration data storage unit of each target application among the plurality of target applications, and obtain the application configuration data of each target application from the configuration data storage unit; and / or

[0081] Identify the cloud platform corresponding to each of the multiple target applications, and obtain the application configuration data of each target application from the cloud platform.

[0082] The configuration data storage unit can be understood as a unit that stores application configuration data. For example, the configuration data storage unit can be a code repository, configuration file, memory, disk, etc.

[0083] A cloud-side platform can be understood as a cloud-side service that stores the application configuration data of the target application. For example, the cloud-side platform can be a cloud server, a cloud-side server, or a PaaS platform, without any specific restrictions.

[0084] Following the previous example, the execution of this method can be divided into three steps: scanning, association, and analysis. Scanning refers to scanning the source code of each application to obtain the cloud services it uses. Subsequently, a single application architecture diagram can be formed based on the scanned data. Common applications exhibit "shared" and "upstream / downstream" data dependencies, and the scanning and association process will be explained in detail based on these two types of dependencies.

[0085] For the "shared" type of data dependency, please refer to Figure 3. Figure 3 is a schematic diagram of the scanning and association of "shared" type applications in a data processing method provided by an embodiment of this disclosure.

[0086] As shown in Figure 3, which illustrates a "shared" implementation, both application A and application B (i.e., the target applications) utilize cloud-based database services (i.e., target service units). When a request (i.e., a service request) is sent to the service module of application A, the module can read Table 1 (i.e., database table 1) and Table 2 (i.e., database table 2) and modify Table 2 according to the service request. Similarly, when a request is sent to the service module of application B, the module can read Table 1 and Table 3 (i.e., database table 3) and modify Table 3 according to the service request. Based on this, this method scans the source code of applications A and B (including but not limited to programming languages ​​such as Java, Golang, and Python, as well as application configuration files) to obtain the corresponding source code and configuration parameters. Subsequently, based on the scanned data, the architectures (i.e., multiple initial unit graphs) of applications A and B can be obtained, as shown in the "(b) Scanning to obtain the architectures of each application" section of Figure 3. In Figure 3, “(c) Associate to obtain multi-application architecture” means that the architectures of application A and application B are associated to obtain a multi-application architecture (i.e., target unit map).

[0087] For the "upstream and downstream" type of data dependency, please refer to Figure 4. Figure 4 is a schematic diagram of the scanning and association of "upstream and downstream" type applications in a data processing method provided by an embodiment of this disclosure.

[0088] As shown in Figure 4, which illustrates an "upstream and downstream" type of application, the characteristic of this type of application is that the output of the upstream application is the input of the downstream application. As shown in Figure 4(a), when a request (i.e., a service request) is sent to the service module of application A, the service module of application A, after receiving the service request, needs to read and write database table 1 and send an operation record to topic X of the message queue; when a request is sent to the service module of application B, the service module of application B, after receiving the service request, needs to query table Z of the data warehouse and update database table 2 according to the analysis results. The data in data warehouse table Z is calculated in real time by the stream processing task Y after reading database table 3 and message queue topic X.

[0089] It should be noted that in the "upstream and downstream" type of embodiment, the objects scanned are not only the code in the application code repository, but also the task code hosted on various PaaS platforms (such as Flink for stream processing, MaxCompute for batch processing, etc.). Although this code is not in the application code repository, it is also part of the application logic and falls within the scope of source code scanning.

[0090] Based on the above operations, comprehensive source code and configuration data can be obtained. Based on the scanned data, it can be determined that database table 2, data warehouse table Z, stream processing task, database table 3, and message queue topic are all cloud service entities (i.e. target service units) of application B.

[0091] Figure 4 shows “(b) Scanning to obtain the architecture of each application”, which shows the structure obtained by scanning each application individually. In the association step, the topic X of the message queue is used as the connection point (i.e., the association service unit) to merge and obtain the multi-application architecture (i.e. the target unit map), as shown in Figure 4 “(c) Association to obtain the multi-application architecture”.

[0092] Based on the above scanning and association steps, it is clear that the scanning object of this data processing method is the application source code (application configuration data). This application source code includes: code files and configuration files in the application code repository. This disclosure does not limit the programming language and file format. It also includes code logic hosted on various PaaS platforms (i.e., cloud platforms), including but not limited to SQL, configuration, programming languages, etc., which are not restricted in this disclosure.

[0093] Step 204: Based on the target service unit information, determine the target service unit corresponding to each target application from multiple service units.

[0094] Following the previous example, the application source code is parsed to obtain syntax elements, such as "object", "function", "variable", etc. Then, keywords and rules are used to determine which syntax elements represent cloud service entities, thereby identifying the target cloud service entity (i.e. target service unit) corresponding to each application from multiple cloud service entities.

[0095] Step 206: Based on the association relationship between each target service unit, determine the associated service units between each target application from the target service units.

[0096] The associated service unit can be understood as a service unit used to associate each target application and each target service unit. In one or more embodiments provided in this disclosure, the associated service unit can be the same target service unit in the target service unit corresponding to one target application and the target service unit corresponding to another target application; the one target application and the other target application can be any one of multiple target applications.

[0097] In one or more embodiments provided in this disclosure, determining the associated service units between the target applications based on the association relationships between the target service units includes:

[0098] Determine the target service unit identifier for each target service unit, and based on the target service unit identifier, determine the target service unit with the same target service unit identifier from the target service units corresponding to each target application;

[0099] The target service units are identified as consistent target service units, which serve as the associated service units between the target applications.

[0100] Among them, the associated service unit can be the same target service unit among various target applications.

[0101] The target service unit identifier can be understood as the identification information of the target service unit. This identification information can uniquely identify a target service unit. The target service unit identifier can be information such as code, ID, name, etc.; the target service unit identifier can also be information such as the IP address and interface of the target service unit.

[0102] Specifically, after determining the target service unit corresponding to each target application from multiple service units, this method can determine the target service unit corresponding to each target application as a set of service units corresponding to each target application, wherein the set of service units contains one or more of the target service units;

[0103] Then, the target service unit identifier of the target service unit contained in each service unit set is determined, and the target service unit identifier is determined to be consistent by performing consistency matching on the target service unit identifier. The target service unit identifier that is consistent can be the same target service unit in each service unit set.

[0104] The target service unit is identified as a consistent target service unit, which is used as the associated service unit between the target applications.

[0105] Following the previous example and referring to Figure 3, in the association step, both application A and application B use database table 1 as the join point. Subsequently, the two application architecture diagrams can be merged based on database table 1 to obtain the final multi-application architecture diagram.

[0106] It's important to note that the join points selected in the association step must be the same entity, not just those with the same cloud service type. For example, database services require specific tables, message queue services require specific queues, and compute services require specific tasks. It can be seen that different cloud service types have different methods for determining the same entity, but the information needed for this determination can be obtained from the source code and configuration files, as the application itself also needs to access these cloud service entities.

[0107] Referring to Figure 4, in the association step, both application A and application B use message queue topic X as the connection point (i.e., the association service unit). Subsequently, the two application architecture diagrams can be merged based on message queue topic X to obtain the final multi-application architecture diagram.

[0108] Based on the steps described above, the key to the association step is to identify the cloud service entity (i.e., cloud service unit) shared by all applications and merge the application architecture using this common entity as the connection point. The connection point must be the same entity, not just the same service type. Different types of cloud services use different methods to determine the same entity, thus obtaining a refined multi-application architecture.

[0109] Step 208: Construct a target unit map based on each target application, the target service unit corresponding to each target application, and the associated service units between each target application.

[0110] The target unit graph can be understood as a graph representing the architecture between target applications, target service units, and associated service units. For example, the target unit graph can be a multi-application architecture in graph form. The target unit graph can include nodes and edges, which are determined based on the target applications and target service units. The edges are based on the correspondence between the target applications and target service units. The associated service unit is one or more target service units corresponding to each target application. Each associated service unit can correspond to at least two target applications, thus representing the association between at least two target applications.

[0111] In one or more embodiments provided in this disclosure, constructing a target unit map based on the target applications, the target service units corresponding to the target applications, and the associated service units between the target applications includes:

[0112] Based on each target application and the target service unit corresponding to each target application, an initial unit graph is constructed for each target application. The initial unit graph contains nodes and edges. The nodes are determined based on each target application and the target service unit, and the edges are determined based on the correspondence between each target application and the target service unit.

[0113] Based on the associated service units between the target applications, the initial unit maps are associated to construct the target unit map.

[0114] The initial unit graph can be understood as a subgraph constructed based on a target application and the target service unit corresponding to that target application; the target unit graph is obtained by constructing the initial unit graph of each target application; for example, the application architectures in Figure 3 or Figure 4.

[0115] Specifically, the initial unit graphs are associated with each target application based on the associated service units between them to construct the target unit graph, including:

[0116] In the initial unit graph, the associated service unit can be a node (i.e., an associated service node). Based on this, the associated service nodes in each initial unit graph are determined. Based on this, at least two initial unit graphs are spliced ​​together according to the associated service nodes located in at least two initial unit graphs, thereby constructing the target unit graph.

[0117] Following the previous example and referring to Figure 3, in the association step, database table 1 used by both application A and application B serves as the join point (i.e., node), merging the two application architecture diagrams (i.e., the initial unit graph) to obtain the final multi-application architecture diagram (i.e., the target unit graph). Referring to Figure 4, in the association step, message queue topic X used by both application A and application B serves as the join point, merging the two application architecture diagrams (i.e., the initial unit graph) to obtain the final multi-application architecture diagram (i.e., the target unit graph).

[0118] In the above embodiments, the relationships between target applications are sorted out according to the target service unit, thereby constructing a target unit map that includes each target application, the target service unit corresponding to each target application, and the associated service units between each target application. This clearly and accurately determines the relationships between applications, facilitates the sorting out of the architecture between each target application, and avoids potential hidden dangers to the application due to the inability to clearly sort out the architecture.

[0119] In one or more embodiments provided in this disclosure, the step of constructing an initial unit map for each target application based on each target application and the target service units corresponding to each target application includes:

[0120] Each target application and the target service unit corresponding to each target application are taken as nodes, and the data transmission relationship (i.e., correspondence relationship) between each target application and the target service unit is taken as an edge;

[0121] Based on the nodes and edges, the initial unit graph corresponding to each target application is constructed.

[0122] The data transmission relationship can be understood as the data flow relationship between each target application and the target service unit. Referring to Figure 3, the black solid arrows in Figure 3 represent the data flow direction, and the hollow arrows represent the execution process. Referring to Figure 4, the black solid arrows in Figure 4 represent the data flow direction, and the hollow arrows represent the execution process.

[0123] In one or more embodiments provided in this disclosure, the target service unit is a cloud service unit, and the associated service unit is an associated cloud service unit determined from a plurality of cloud service units;

[0124] The construction of a target unit map based on each target application, the target service unit corresponding to each target application, and the associated service units between each target application includes:

[0125] Based on the target applications, the cloud service units corresponding to the target applications, and the associated cloud service units between the target applications, a target unit graph is constructed. The target unit graph contains nodes and edges. The nodes are determined based on the target applications and the cloud service units, and the edges are determined based on the correspondence between the target applications and the cloud service units.

[0126] The cloud service unit can be a unit that provides cloud storage services, cloud computing services, or other cloud services. For example, the cloud service unit can be a software device such as a cloud server, server, database, virtual machine, instance, or container. Alternatively, the cloud service unit can be a target service module such as a database table, data warehouse table, message queue topic, or stream processing task, which is deployed on a cloud server, server, or database.

[0127] A linked cloud service unit can be understood as a cloud service unit that establishes a connection between at least two target applications; if a cloud service unit stores data transmission relationships with at least two target applications, then that cloud service unit can be a linked cloud service unit.

[0128] Continuing with the previous example and referring to Figure 3, database table 1 (i.e., the associated cloud service unit) used by both application A and application B serves as the join point to merge the two application architecture diagrams (i.e., the initial unit graph), resulting in the final multi-application architecture diagram (i.e., the target unit graph). Referring to Figure 4, in the association step, message queue topic X (i.e., the associated cloud service unit) used by both application A and application B serves as the join point to merge the two application architecture diagrams (i.e., the initial unit graph), resulting in the final multi-application architecture diagram (i.e., the target unit graph).

[0129] In one or more embodiments provided in this disclosure, after constructing the target unit map based on each target application, the target service unit corresponding to each target application, and the associated service unit between each target application, the method further includes:

[0130] The node to be analyzed is determined from the target unit graph, wherein the target unit graph contains nodes and edges, the nodes are determined by the target applications, the associated service units and the target service units, and the edges are determined by the data transmission relationships between the target applications, the associated service units and the target service units;

[0131] Based on the edges in the target unit graph, determine the upstream and / or downstream nodes corresponding to the analysis node;

[0132] Data analysis is performed based on the analysis node, as well as the upstream node and / or downstream node corresponding to the analysis node, to obtain data analysis results.

[0133] The upstream node can be a reachable set or a subsequent set; the downstream node can be a preceding set.

[0134] Following the previous example, after constructing the multi-application architecture diagram, analysis can be performed based on this diagram. For instance, different algorithms can be used to analyze stability, availability, and observability on the multi-application architecture diagram.

[0135] The specific execution methods are reachability set analysis and preorder set analysis.

[0136] The steps of reachability set analysis are as follows: First, identify the reachability set of the nodes of interest in the multi-application architecture diagram (e.g., all downstream nodes of a given node); then, based on the reachability set, the scope of impact in a fault scenario can be defined (i.e., the data analysis results). Taking Figure 4(c) as an example, if a misoperation causes database table 3 to become unavailable or corrupted, according to reachability set analysis, downstream stream processing task Y, data warehouse table Z, application B, and database table 2 will all be affected, potentially resulting in anomalies or inaccurate data. Therefore, downstream stream processing task Y, data warehouse table Z, application B, and database table 2 constitute the scope of the fault impact (i.e., the data analysis results).

[0137] The execution steps of the preorder set analysis are as follows: First, identify the preorder set of the nodes of interest in the multi-application architecture diagram (e.g., all upstream nodes of a certain node). Then, use the preorder set for availability analysis of key applications and core data to obtain availability analysis results (i.e., data analysis results). Taking Figure 4(c) as an example, if application B is a core application and its availability needs to be rigorously demonstrated, then in addition to considering the redundant deployment of application B itself, the availability of a series of entities such as data warehouses and stream processing in the preorder set should also be considered during the demonstration process.

[0138] In one or more embodiments provided in this disclosure, after constructing the target unit map based on each target application, the target service unit corresponding to each target application, and the associated service unit between each target application, the method further includes:

[0139] Determine the preset node attribute information for the target unit map;

[0140] Based on the preset node attribute information, the nodes contained in the target unit map are queried to obtain a target node set, wherein the target node set contains target nodes;

[0141] The target nodes and their corresponding edges are analyzed to obtain the target edges in the set of target nodes.

[0142] Here, the target edge can refer to an edge in the target node set that connects nodes inside the target node set to nodes outside the target node set; for example, the target edge can be a boundary edge. Nodes inside the target node set can be target nodes contained within the target node set, and nodes outside the target node set can be other nodes in the target unit graph besides those contained within the target node set.

[0143] Following the previous example, after constructing the multi-application architecture diagram, analysis can be performed based on this diagram, such as boundary edge analysis. Since each node in the multi-application architecture diagram has a series of attributes, such as its deployment region and access method, the boundary edge analysis process first involves filtering the set of nodes (i.e., the target node set) based on preset attributes (i.e., preset node attribute information). Then, it analyzes whether this set has boundary edges, which are usually related to cost and potential risks. Taking Figure 4(c) as an example, if filtering by deployment region reveals that most nodes are deployed in data center A, while only application A's application module is deployed in data center B, then the software architect should realize: 1. Application A's read and write operations to the database and message queue are cross-regional, resulting in higher costs and latency; 3. Although application B is entirely deployed in data center A, application B will still be affected when the data center B's outbound connection fails, a point that must be considered during troubleshooting.

[0144] It's important to note that the series of attribute information carried by each node is acquired during the scanning phase. The scanning process can be divided into two phases: the first phase scans the code and configuration files, and the second phase scans the cloud service. The attribute information is all the information about a specific cloud service entity obtained in both phases. Application code needs to access the cloud service, so "access information" of the cloud service entity can be obtained from the code. Common access information includes the domain name and access key. The scanning program can connect to the cloud service using this access information. Once connected, it can obtain detailed information about the cloud service entity, such as its deployment region and whether high availability is enabled. For example, scanning the code reveals that the application uses table B in database A and obtains access information such as the domain name, username, and password of database A. The scanning program can then connect to database A based on this access information, obtain information such as its deployment region, and the detailed configuration of table B. In the final architecture diagram, table B in database A corresponds to a node, and the information obtained so far is its attribute information.

[0145] In one or more embodiments provided in this disclosure, after constructing the target unit map based on each target application, the target service unit corresponding to each target application, and the associated service unit between each target application, the method further includes:

[0146] Determine the nodes contained in the target unit graph and the directed edges between the nodes;

[0147] Based on the directed edges, the node loops in the nodes are determined, and loop analysis is performed on the node loops to obtain the loop analysis results.

[0148] Using the previous example, in an ideal situation, the architecture diagram should be a directed acyclic graph, where upstream nodes should not depend on downstream nodes. However, in some service scenarios, applications need to be designed as "self-feedback" architectures. The side effect is that this introduces certain stability risks, and the longer the feedback chain, the more risky links there are.

[0149] Based on this, this method can perform loop analysis based on a multi-application architecture diagram. By using the directed edges between nodes in the multi-application architecture diagram, loops in the architecture diagram can be detected, thereby discovering feedback chains in the application. This facilitates subsequent risk analysis and yields risk analysis results (i.e., loop analysis results).

[0150] In one or more embodiments provided in this disclosure, the method can perform coverage analysis based on a multi-application architecture diagram. Configuring self-monitoring at key points is an important means to improve application observability and shorten fault detection time. Commonly used methods include single-point monitoring and color-coded monitoring. Regardless of the method used, the monitoring coverage can be calculated by combining the multi-application architecture diagram, providing a basis for improving the overall observability of the enterprise.

[0151] In one or more embodiments provided in this disclosure, determining the application configuration data of each target application among a plurality of target applications includes:

[0152] Using the request acquisition module, the request data of each target application among the multiple target applications is determined, and the request data is used as the application configuration data of each target application;

[0153] The request acquisition module can be a software module or a hardware module that acquires the request data of the target application.

[0154] Using the previous example, in the deployment environment of the application module (such as a container, virtual machine, or physical server), the network traffic of the application can be captured by software or hardware (i.e., request acquisition module). Subsequently, the cloud service entity accessed by the application can be determined by analyzing the network traffic.

[0155] The data processing method provided in one or more embodiments of this disclosure can determine the target service unit corresponding to each target application from multiple service units based on the application configuration data of each target application. Then, the relationship between each target application is sorted out according to the target service unit, thereby constructing a target unit map that includes each target application, the target service unit corresponding to each target application, and the associated service units between each target application. This clearly and accurately determines the relationship between each application, facilitates the sorting out of the architecture between each target application, and avoids potential hidden dangers to the application due to the inability to clearly sort out the architecture.

[0156] The following description, in conjunction with Figure 5, uses the application of the data processing method provided in this disclosure in a structured analysis scenario of multi-application software architecture and processes as an example to further illustrate the data processing method. Figure 5 shows a flowchart of the processing procedure of a data processing method provided in an embodiment of this disclosure, specifically including the following steps.

[0157] Step 502: Scan the source code of each application to obtain the cloud services it uses, and form a single application architecture diagram.

[0158] Specifically, since there are "shared" and "upstream / downstream" data dependencies among common applications, the scanning process will be explained in detail based on these two types of dependencies.

[0159] For the "shared" type of data dependency, please refer to Figure 3, which shows an example of the "shared" type. As shown in Figure 3(a), both application A and application B use the cloud database service. Application A reads table 1 and table 2 and then modifies table 2 according to the service request. Application B reads table 1 and table 3 and then modifies table 3 according to the service request.

[0160] Based on this, this method scans the source code of application A and application B (including but not limited to programming languages ​​such as Java, Golang, and Python, as well as application configuration files) to obtain the corresponding source code and configuration parameters. Subsequently, based on the scanned data, the architecture of each application A and application B can be obtained, as shown in the "(b) Scanning and Obtaining the Architecture of Each Application" section of Figure 3. The source code can be obtained from the application's code repository or PaaS.

[0161] For data dependencies of the "upstream and downstream" type, please refer to Figure 4. Figure 4 shows an example of an "upstream and downstream" type application. The characteristic of this type of application is that the output of the upstream application is the input of the downstream application. As shown in Figure 4(a), after receiving a service request, application A needs to read and write database table 1 and send an operation record to topic X of the message queue; after receiving a service request, application B needs to query table Z of the data warehouse and update database table 2 according to the analysis results. The data in data warehouse table Z is calculated in real time by the stream processing task Y after reading database table 3 and message queue topic X.

[0162] It should be noted that in the "upstream and downstream" type of embodiment, the objects scanned are not only the code in the application code repository, but also the task code hosted on various PaaS platforms (such as Flink for stream processing, MaxCompute for batch processing, etc.). Although this code is not in the application code repository, it is also part of the application logic and falls within the scope of source code scanning.

[0163] Based on the above scanning and association steps, it is clear that the scanning object of this data processing method is the application source code (application configuration data). This application source code includes: code files and configuration files in the application code repository. This disclosure does not limit the programming language and file format. It also includes code logic hosted on various PaaS platforms (cloud platforms), including but not limited to SQL, configuration, programming languages, etc., which are not restricted in this disclosure.

[0164] Step 504: Using the cloud service entity shared by each application architecture as the connection point, associate and merge multiple application architectures to obtain a multi-application architecture diagram.

[0165] Specifically, as shown in Figure 3, in the association step, both application A and application B use database table 1 as the join point. Subsequently, the two application architecture diagrams can be merged based on database table 1 to obtain the final multi-application architecture diagram.

[0166] As shown in Figure 4, in the association step, both application A and application B use message queue topic X as the connection point (i.e., the association service unit). Subsequently, the two application architecture diagrams can be merged based on message queue topic X to obtain the final multi-application architecture diagram.

[0167] It's important to note that the key to the association step is identifying the cloud service entities shared by all applications, using these common entities as the join points to merge the application architecture. The join points must be the same entity, not just the same service type. Different types of cloud services use different methods to determine the same entity, thus obtaining a refined multi-application architecture.

[0168] Step 506: Analyze stability, availability, and observability using different algorithms on the multi-application architecture diagram.

[0169] After constructing the multi-application architecture diagram, analysis can be performed based on it. For example, different algorithms can be used on the multi-application architecture diagram to analyze stability, availability, and observability.

[0170] Specific data analysis methods include: reachability set analysis, preorder set analysis, boundary edge analysis, loop analysis, and coverage analysis.

[0171] The steps of reachability set analysis are as follows: First, identify the reachability set of the nodes of interest in the multi-application architecture diagram (e.g., all downstream nodes of a given node); then, based on the reachability set, the scope of impact can be defined in a fault scenario. Taking Figure 4(c) as an example, if a misoperation causes database table 3 to become unavailable or corrupted, according to reachability set analysis, downstream stream processing task Y, data warehouse table Z, application B, and database table 2 will all be affected, potentially leading to anomalies or inaccurate data.

[0172] The steps for performing preorder set analysis are as follows: First, identify the preorder set of the nodes of interest in the multi-application architecture diagram (e.g., all upstream nodes of a given node). Then, use the preorder set for availability analysis of critical applications and core data. Taking Figure 4(c) as an example, if application B is a core application and its availability needs to be rigorously demonstrated, then in addition to considering the redundant deployment of application B itself, the availability of a series of entities such as the data warehouse and stream processing in the preorder set should also be considered during the demonstration process.

[0173] Specifically, the analysis of boundary edges is performed as follows:

[0174] Since each node in the multi-application architecture diagram has a series of attributes, such as the region where it is deployed and the access method, etc., in the process of boundary edge analysis, firstly, the set of nodes (i.e. the target node set) can be filtered out according to the preset attributes (i.e., preset node attribute information). Then, it is analyzed whether there are boundary edges in this set. Boundary edges are usually related to cost, potential risks, etc.

[0175] Taking Figure 4(c) as an example, if we filter by deployment region and find that most nodes are deployed in the data center of location A, and only the application module of application A is deployed in the data center of location B, then the software architect should realize that: 1. Application A's read and write operations on the database and message queue are cross-regional operations, which will result in higher costs and latency; 3. Although application B is deployed entirely in the data center of location A, application B will also be affected when the exit of the data center of location B fails, and this point must be considered in troubleshooting.

[0176] The specific execution method for loop analysis is as follows:

[0177] Ideally, the architecture diagram should be a directed acyclic graph, where upstream nodes should not depend on downstream nodes. However, in some service scenarios, applications need to be designed as "self-feedback" architectures. The side effect is that this introduces certain stability risks, and the longer the feedback chain, the more risky links there are.

[0178] Based on this, this method can perform loop analysis based on a multi-application architecture diagram. By using the directed edges between nodes in the multi-application architecture diagram, loops in the architecture diagram can be detected, thereby discovering feedback chains in the application and facilitating subsequent risk analysis.

[0179] The specific execution method for coverage analysis is as follows:

[0180] This method can perform coverage analysis based on a multi-application architecture diagram. Configuring self-monitoring at key points is an important means to improve application observability and shorten fault detection time. Common methods include single-point monitoring and color-coded monitoring. Regardless of the method used, the monitoring coverage can be calculated by combining the multi-application architecture diagram, providing a basis for improving the overall observability of the enterprise.

[0181] Based on the above steps, the data processing method disclosed herein provides a structured analysis method for enterprise-level multi-application software architecture and processes anchored by cloud services. This method obtains the cloud service entities that applications depend on through source code scanning, and then associates the dependency topologies of different applications using the same cloud service entities as connection points, resulting in a structured multi-application architecture. Data analysis can then be performed based on this multi-application architecture, including but not limited to: 1. Analyzing the impact range of failures through reachability sets on the multi-application architecture. 2. Analyzing the availability of key applications or datasets through preorder sets on the multi-application architecture. 3. Analyzing potential risks of cross-regional access through boundary edges on the multi-application architecture. 4. Analyzing potential circular dependency risks through loop analysis on the multi-application architecture. 5. Analyzing the coverage of application self-monitoring using the multi-application architecture.

[0182] Based on this, it can be seen that the data processing method in this disclosure provides an architecture analysis method anchored by cloud services that applications depend on, which expands conventional architecture analysis from the single application level to the enterprise (multi-application) level. It can automatically and cost-effectively sort out the relationships between applications, making frequent architecture evaluation possible. At the same time, based on the sorted application topology, several architecture analysis methods are proposed. The structured architecture obtained can be used to analyze and evaluate the stability, availability and observability of complex services with multiple applications. It can also provide basic data support for comprehensive operation and maintenance services such as DevOps or AIOps.

[0183] It should be noted that the data processing method provided in this disclosure can be applied to all products corresponding to complex distributed software systems built on cloud services, such as cloud network management products and basic network monitoring and control systems. It can be used to efficiently and automatically analyze the structured architectural relationships between multiple applications, providing a basis for decision-making in risk assessment, architecture evolution, and unit-based transformation.

[0184] Compared to the aforementioned dependency determination scheme, the data processing method provided by one or more embodiments of this disclosure overcomes the defects of the dependency determination scheme and achieves the following technical effects: First, the data processing method provided by this disclosure obtains the cloud services that the application depends on through source code scanning, and the information obtained by scanning can identify specific entities in the cloud services. Therefore, the dependency architecture of different applications can be associated through the same cloud service entity to obtain a multi-application architecture.

[0185] Secondly, the data processing method provided in this disclosure takes application source code (including code repositories and parts hosted on PaaS platforms) as input, which is read-only for the application itself, without modification or intrusion. Furthermore, source code scanning can understand the logic hosted on the PaaS platform, ensuring no architectural omissions; based on source code scanning, dependencies can be identified regardless of whether there are calls.

[0186] Finally, addressing the issue that the dependency determination scheme cannot obtain multi-application architecture diagrams and that all dependencies are determined manually through sorting and analysis, the data processing method provided in this disclosure proposes a graph theory analysis method based on the obtained architecture diagram, enabling the sorting and analysis process to be carried out with the help of computers, reducing the workload from days to minutes.

[0187] Corresponding to the above method embodiments, this disclosure also provides a data processing apparatus embodiment. FIG6 shows a schematic diagram of the structure of a data processing apparatus provided in one embodiment of this disclosure. As shown in FIG6, the apparatus includes:

[0188] The data determination module 602 is configured to determine the application configuration data of each target application among multiple target applications, and to determine the target service unit information of each target application by performing data analysis on the application configuration data.

[0189] The first unit determination module 604 is configured to determine the target service unit corresponding to each target application from multiple service units based on the target service unit information.

[0190] The second unit determination module 606 is configured to determine the associated service units between the target applications from the target service units based on the association relationship between the target service units.

[0191] The graph construction module 608 is configured to construct a target unit graph based on each target application, the target service unit corresponding to each target application, and the associated service unit between each target application.

[0192] Optionally, the map construction module 608 is further configured to:

[0193] Based on each target application and the target service unit corresponding to each target application, an initial unit graph is constructed for each target application. The initial unit graph contains nodes and edges. The nodes are determined based on each target application and the target service unit, and the edges are determined based on the correspondence between each target application and the target service unit.

[0194] Based on the associated service units between the target applications, the initial unit maps are associated to construct the target unit map.

[0195] Optionally, the map construction module 608 is further configured to:

[0196] Each target application and the target service unit corresponding to each target application are taken as nodes, and the data transmission relationship between each target application and the target service unit is taken as an edge.

[0197] Based on the nodes and edges, the initial unit graph corresponding to each target application is constructed.

[0198] Optionally, the application configuration data includes application code data and / or application configuration parameters;

[0199] The data determination module 602 is further configured to:

[0200] Perform syntax parsing on the application code data and / or the application configuration parameters to obtain the syntax characters contained in the application code data and / or the application configuration parameters;

[0201] From the grammar characters, determine the target grammar characters corresponding to each target service unit, and based on the target grammar characters, determine the target service unit information of each target service unit.

[0202] Optionally, the second unit determining module 606 is further configured to:

[0203] Determine the target service unit identifier for each target service unit, and based on the target service unit identifier, determine the target service unit with the same target service unit identifier from the target service units corresponding to each target application;

[0204] The target service units are identified as consistent target service units, which serve as the associated service units between the target applications.

[0205] Optionally, the data determination module 602 is further configured to:

[0206] Determine the configuration data storage unit of each target application among the plurality of target applications, and obtain the application configuration data of each target application from the configuration data storage unit; and / or

[0207] Identify the cloud platform corresponding to each of the multiple target applications, and obtain the application configuration data of each target application from the cloud platform.

[0208] Optionally, the target service unit is a cloud service unit, and the associated service unit is an associated cloud service unit determined from multiple cloud service units;

[0209] The map construction module 608 is further configured as follows:

[0210] Based on the target applications, the cloud service units corresponding to the target applications, and the associated cloud service units between the target applications, a target unit graph is constructed. The target unit graph contains nodes and edges. The nodes are determined based on the target applications and the cloud service units, and the edges are determined based on the correspondence between the target applications and the cloud service units.

[0211] Optionally, the data processing method further includes a first data analysis module, configured as follows:

[0212] The node to be analyzed is determined from the target unit graph, wherein the target unit graph contains nodes and edges, the nodes are determined by the target applications, the associated service units and the target service units, and the edges are determined by the data transmission relationships between the target applications, the associated service units and the target service units;

[0213] Based on the edges in the target unit graph, determine the upstream and / or downstream nodes corresponding to the analysis node;

[0214] Data analysis is performed based on the analysis node, as well as the upstream node and / or downstream node corresponding to the analysis node, to obtain data analysis results.

[0215] Optionally, the data processing method further includes a second data analysis module, configured as follows:

[0216] Determine the preset node attribute information for the target unit map;

[0217] Based on the preset node attribute information, the nodes contained in the target unit map are queried to obtain a target node set, wherein the target node set contains target nodes;

[0218] The target nodes and their corresponding edges are analyzed to obtain the target edges in the set of target nodes.

[0219] Optionally, the data processing method further includes a third data analysis module, configured as follows:

[0220] Determine the nodes contained in the target unit graph and the directed edges between the nodes;

[0221] Based on the directed edges, the node loops in the nodes are determined, and loop analysis is performed on the node loops to obtain the loop analysis results.

[0222] The data processing apparatus provided in one or more embodiments of this disclosure can determine the target service unit corresponding to each target application from multiple service units based on the application configuration data of each target application. Then, it sorts out the relationship between each target application based on the target service unit, thereby creating a target unit map constructed from each target application, the target service unit corresponding to each target application, and the associated service units between each target application. This clearly and accurately determines the relationship between each application, facilitates the sorting out of the architecture between each target application, and avoids potential hidden dangers to the application due to the inability to clearly sort out the architecture.

[0223] The above is an illustrative scheme of a data processing apparatus according to this embodiment. It should be noted that the technical solution of this data processing apparatus and the technical solution of the data processing method described above belong to the same concept. For details not described in detail in the technical solution of the data processing apparatus, please refer to the description of the technical solution of the data processing method described above.

[0224] Figure 7 shows a structural block diagram of a computing device 700 according to an embodiment of the present disclosure. The components of the computing device 700 include, but are not limited to, a memory 710 and a processor 720. The processor 720 is connected to the memory 710 via a bus 730, and a database 750 is used to store data.

[0225] The computing device 700 also includes an access device 740, which enables the computing device 700 to communicate via one or more networks 760. Examples of these networks include Public Switched Telephone Network (PSTN), Local Area Network (LAN), Wide Area Network (WAN), Personal Area Network (PAN), or combinations of communication networks such as the Internet. The access device 740 may include one or more of any type of wired or wireless network interface (e.g., a network interface controller (NIC)), such as an IEEE 802.11 Wireless Local Area Network (WLAN) wireless interface, a Wi-MAX (Worldwide Interoperability for Microwave Access) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, or a Near Field Communication (NFC) interface.

[0226] In one embodiment of this disclosure, the aforementioned components of the computing device 700, as well as other components not shown in FIG. 7, may be interconnected, for example, via a bus. It should be understood that the computing device block diagram shown in FIG. 7 is merely for illustrative purposes and is not intended to limit the scope of this disclosure. Those skilled in the art can add or replace other components as needed.

[0227] The computing device 700 can be any type of stationary or mobile computing device, including mobile computers or mobile computing devices (e.g., tablet computers, personal digital assistants, laptop computers, notebook computers, netbooks, etc.), mobile phones (e.g., smartphones), wearable computing devices (e.g., smartwatches, smart glasses, etc.) or other types of mobile devices, or stationary computing devices such as desktop computers or personal computers (PCs). The computing device 700 can also be a mobile or stationary server.

[0228] The processor 720 is configured to execute the following computer-executable instructions, which, when executed by the processor, implement the steps of the above-described data processing method.

[0229] The various embodiments in this disclosure are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the computing device embodiments are basically similar to the data processing method embodiments, so the description is relatively simple; relevant parts can be referred to the description of the data processing method embodiments.

[0230] An embodiment of this disclosure also provides a computer-readable storage medium storing a computer program / instructions that, when executed by a processor, implement the steps of the above-described data processing method.

[0231] The various embodiments in this disclosure are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the computer-readable storage medium embodiments are basically similar to the data processing method embodiments, so the description is relatively simple; relevant parts can be referred to the description of the data processing method embodiments.

[0232] An embodiment of this disclosure also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the above-described data processing method.

[0233] The above is an illustrative scheme of a computer program product according to this embodiment. It should be noted that the technical solution of this computer program product and the technical solution of the data processing method described above belong to the same concept. For details not described in detail in the technical solution of the computer program product, please refer to the description of the technical solution of the data processing method described above.

[0234] The foregoing has described specific embodiments of this disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired results. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0235] The computer instructions include computer program code, which may be in the form of source code, object code, executable file, or certain intermediate forms. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording media, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium may be appropriately added or removed according to the requirements of patent practice. For example, in some regions, according to patent practice, computer-readable media may not include electrical carrier signals and telecommunication signals.

[0236] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments of this disclosure are not limited to the described order of actions, because according to the embodiments of this disclosure, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the embodiments of this disclosure.

[0237] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0238] The preferred embodiments disclosed above are merely illustrative of this disclosure. The optional embodiments do not exhaustively describe all details, nor do they limit the invention to the specific implementations described. Clearly, many modifications and variations can be made based on the embodiments of this disclosure. These embodiments are selected and specifically described in this disclosure to better explain the principles and practical applications of the embodiments of this disclosure, thereby enabling those skilled in the art to better understand and utilize this disclosure. This disclosure is limited only by the claims and their full scope and equivalents.

Claims

1. A data processing method, comprising: The application configuration data of each target application in multiple target applications is determined, and the target service unit information of each target application is determined by data analysis of the application configuration data. Based on the target service unit information, the target service unit corresponding to each target application is determined from multiple service units; Based on the relationships between the target service units, the associated service units between the target applications are determined from the target service units; Based on each target application, the target service unit corresponding to each target application, and the associated service units between each target application, a target unit map is constructed.

2. The data processing method according to claim 1, wherein constructing a target unit map based on each target application, the target service unit corresponding to each target application, and the associated service units between each target application includes: Based on each target application and the target service unit corresponding to each target application, an initial unit graph is constructed for each target application. The initial unit graph contains nodes and edges. The nodes are determined based on each target application and the target service unit, and the edges are determined based on the correspondence between each target application and the target service unit. Based on the associated service units between the target applications, the initial unit maps are associated to construct the target unit map.

3. The data processing method according to claim 1, wherein the application configuration data includes application code data and / or application configuration parameters; The step of determining the target service unit information of each target application by performing data analysis on the application configuration data includes: Perform syntax parsing on the application code data and / or the application configuration parameters to obtain the syntax characters contained in the application code data and / or the application configuration parameters; From the grammar characters, determine the target grammar characters corresponding to each target service unit, and based on the target grammar characters, determine the target service unit information of each target service unit.

4. The data processing method according to claim 1, wherein determining the associated service units between the target applications from among the target service units based on the association relationships between the target service units includes: Determine the target service unit identifier for each target service unit, and based on the target service unit identifier, determine the target service unit with the same target service unit identifier from the target service units corresponding to each target application; The target service units are identified as consistent target service units, which serve as the associated service units between the target applications.

5. The data processing method according to any one of claims 1 to 4, wherein determining the application configuration data of each target application among the plurality of target applications comprises: Determine the configuration data storage unit of each target application among the plurality of target applications, and obtain the application configuration data of each target application from the configuration data storage unit; and / or Identify the cloud platform corresponding to each of the multiple target applications, and obtain the application configuration data of each target application from the cloud platform.

6. The data processing method according to any one of claims 1 to 4, wherein the target service unit is a cloud service unit, and the associated service unit is an associated cloud service unit determined from a plurality of cloud service units; The construction of a target unit map based on each target application, the target service unit corresponding to each target application, and the associated service units between each target application includes: Based on the target applications, the cloud service units corresponding to the target applications, and the associated cloud service units between the target applications, a target unit graph is constructed. The target unit graph contains nodes and edges. The nodes are determined based on the target applications and the cloud service units, and the edges are determined based on the correspondence between the target applications and the cloud service units.

7. The data processing method according to any one of claims 1 to 4, after constructing the target unit map based on each target application, the target service unit corresponding to each target application, and the associated service unit between each target application, the method further includes: The node to be analyzed is determined from the target unit graph, wherein the target unit graph contains nodes and edges, the nodes are determined by the target applications, the associated service units and the target service units, and the edges are determined by the data transmission relationships between the target applications, the associated service units and the target service units; Based on the edges in the target unit graph, determine the upstream and / or downstream nodes corresponding to the analysis node; Data analysis is performed based on the analysis node, as well as the upstream node and / or downstream node corresponding to the analysis node, to obtain data analysis results.

8. The data processing method according to any one of claims 1 to 4, after constructing the target unit map based on each target application, the target service unit corresponding to each target application, and the associated service unit between each target application, the method further includes: Determine the preset node attribute information for the target unit map; Based on the preset node attribute information, the nodes contained in the target unit map are queried to obtain a target node set, wherein the target node set contains target nodes; The target nodes and their corresponding edges are analyzed to obtain the target edges in the set of target nodes.

9. The data processing method according to any one of claims 1 to 4, after constructing the target unit map based on each target application, the target service unit corresponding to each target application, and the associated service unit between each target application, the method further includes: Determine the nodes contained in the target unit graph and the directed edges between the nodes; Based on the directed edges, the node loops in the nodes are determined, and loop analysis is performed on the node loops to obtain the loop analysis results.

10. A computing device, comprising: Memory and processor; The memory is used to store computer programs / instructions, and the processor is used to execute the computer programs / instructions, which, when executed by the processor, implement the steps of the method according to any one of claims 1 to 9.

11. A computer-readable storage medium storing a computer program / instructions that, when executed by a processor, implement the steps of the method according to any one of claims 1 to 9.

12. A computer program product comprising a computer program / instructions that, when executed by a processor, implement the steps of the method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Topology diagram generation method, device, apparatus, and readable storage medium

    CN109039786A

  • Knowledge graph establishment method and device based on industrial APP, equipment and medium

    CN112765368A

  • Data processing method and data processing system

    CN113010616A

  • Construction method and device for application configuration model

    CN113312337A

  • Microservice cluster creation method and device, electronic equipment and readable storage medium

    CN113342472A