Data processing method, computing device and computer readable storage medium
By scanning and analyzing application source code, a target unit graph was constructed, which solved the problem of unclear multi-application architecture, and achieved accurate determination of data dependencies and improved system stability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
- Filing Date
- 2024-11-04
- Publication Date
- 2026-05-08
AI Technical Summary
Within an enterprise, the complex data dependencies between multiple applications lead to unclear architecture and potential risks. Existing methods cannot accurately capture the data coupling relationships between multiple applications and are highly intrusive.
By scanning the application source code, analyzing cloud service entities, constructing a multi-application architecture diagram, identifying target service units using syntax parsing and keyword matching, merging relationships, and constructing a target unit graph.
Clearly and accurately define the relationships between applications to avoid potential problems caused by unclear architecture and improve system stability and observability.
Smart Images

Figure CN121996729A_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of computer technology, and in particular to a data processing method. One or more embodiments of this specification also relate to a computing device, a computer-readable storage medium, and a computer program product. Background Technology
[0002] With the continuous development of computer technology, within the same enterprise or organization, there are often data and process sharing or upstream and downstream dependencies between multiple applications or service units; and as services or projects gradually develop, the data dependencies between applications and between applications and service units are also increasing.
[0003] When it is necessary to sort out the architecture between various applications, too many and complex data dependencies make it impossible to sort out the architecture clearly, which may bring potential risks to the applications. Therefore, how to clearly and accurately determine the relationship between various applications has become an urgent technical problem to be solved. Summary of the Invention
[0004] In view of the above, embodiments of this specification provide a data processing method. One or more embodiments of this specification also relate to a data processing apparatus, a computing device, a computer-readable storage medium, and a computer program product, to address the technical deficiencies existing in the prior art.
[0005] According to a first aspect of the embodiments of this specification, a data processing method is provided, 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.
[0006] According to a second aspect of the embodiments of this specification, a data processing apparatus is provided, comprising: The data determination module 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. The first unit determination module is configured to determine the target service unit corresponding to each target application from multiple service units based on the target service unit information; The second unit determination module 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; The graph construction module 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 units between each target application.
[0007] According to a third aspect of the embodiments of this specification, a computing device is provided, 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 above-described data processing method.
[0008] According to a fourth aspect of the embodiments of this specification, a computer-readable storage medium is provided that stores a computer program / instructions that, when executed by a processor, implement the steps of the data processing method described above.
[0009] According to a fifth aspect of the embodiments of this specification, a computer program product is provided, including a computer program / instructions that, when executed by a processor, implement the steps of the above-described data processing method.
[0010] The data processing method provided in one or more embodiments of this specification 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 obtaining a target unit map constructed by 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. Attached Figure Description
[0011] Figure 1 This is a schematic diagram illustrating the application of a data processing method provided in one embodiment of this specification; Figure 2 This is a flowchart illustrating a data processing method provided in one embodiment of this specification; Figure 3This is a schematic diagram illustrating the scanning and association of a "shared" type application in a data processing method provided in one embodiment of this specification; Figure 4 This is a schematic diagram illustrating the scanning and association of an "upstream and downstream" type application in a data processing method provided in one embodiment of this specification; Figure 5 This is a flowchart illustrating the processing procedure of a data processing method provided in one embodiment of this specification. Figure 6 This is a schematic diagram of the structure of a data processing apparatus provided in one embodiment of this specification; Figure 7 This is a structural block diagram of a computing device provided in one embodiment of this specification. Detailed Implementation
[0012] Many specific details are set forth in the following description to provide a full understanding of this specification. However, this specification can be implemented in many other ways than those described herein, and those skilled in the art can make similar extensions without departing from the spirit of this specification. Therefore, this specification is not limited to the specific implementations disclosed below.
[0013] The terminology used in one or more embodiments of this specification is for the purpose of describing particular embodiments only and is not intended to be limiting of the one or more embodiments of this specification. The singular forms “a,” “described,” and “the” as used in one or more embodiments of this specification 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” as used in one or more embodiments of this specification refers to and includes any or all possible combinations of one or more associated listed items.
[0014] It should be understood that although the terms first, second, etc., may be used to describe various information in one or more embodiments of this specification, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first may also be referred to as second without departing from the scope of one or more embodiments of this specification, and similarly, second may also be referred to as first. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to a determination."
[0015] Furthermore, 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 used for analysis, stored data, displayed data, etc.) involved in one or more embodiments of this specification are all information and data authorized by the user or fully authorized by all parties. Moreover, the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0016] In one or more embodiments of this specification, a large model refers to a deep learning model with a large number of model parameters, typically containing hundreds of millions, tens of billions, hundreds of billions, trillions, or even tens of trillions of model parameters. A large model can also be called a foundation model. It is pre-trained using large-scale unlabeled corpora to produce a pre-trained model with hundreds of millions of parameters. Such models can adapt to a wide range of downstream tasks and have good generalization ability. Examples include Large Language Models (LLMs) and multi-modal pre-training models.
[0017] In practical applications, large models only require a small number of samples to fine-tune the pre-trained model before they can be applied to different tasks. Large models can be widely used in fields such as Natural Language Processing (NLP) and Computer Vision. Specifically, they can be applied to computer vision tasks such as Visual Question Answering (VQA), Image Captioning (IC), and Image Generation, as well as NLP tasks such as text-based sentiment classification, text summarization, and machine translation. The main application scenarios for large models include digital assistants, intelligent robots, search, online education, office software, e-commerce, and intelligent design.
[0018] First, the terms and concepts used in one or more embodiments of this specification will be explained.
[0019] Cloud services refer to various information services provided through the network, including but not limited to storage, computing, middleware, and databases.
[0020] Microservices are a software architecture style characterized by dividing a large, complex software application into multiple independently running small services based on functionality. The relationship between cloud services and microservices is as follows: software architectures designed with a microservices approach typically use middleware cloud services to enable communication between the decomposed modules. Cloud services are also used to provide basic, general-purpose module capabilities (such as data storage and streaming computing) to save development manpower, allowing developers to focus on developing core modules closely related to the project. Therefore, microservice architectures often incorporate cloud services.
[0021] PaaS (Platform as a Service): PaaS shields customers from the underlying infrastructure, allowing customers' developers to directly write execution logic on the PaaS platform. Typically, this execution logic is hosted on the PaaS platform as tasks, supporting scheduling and execution modes such as offline scheduled, online real-time, and on-demand triggering.
[0022] Stability refers to a system's ability to maintain smooth operation under various normal and abnormal conditions. A stable system should be able to continue operating normally without crashing or experiencing serious errors when the load increases, the environment changes, or other unpredictable events occur.
[0023] Availability: Availability refers to the degree to which a system can provide services when users need them. A highly available system can continue to provide services even when maintenance or hardware / software failures occur, through redundant design and fault tolerance mechanisms.
[0024] Observability: Observability refers to the degree to which the internal state of a system can be observed and understood from the outside, enabling maintenance personnel to diagnose and resolve problems.
[0025] Coloring monitoring: The application's self-monitoring strategy injects known, artificially constructed data upstream in the chain and observes whether the downstream output meets expectations to monitor whether the application is working properly.
[0026] Graph: A set of points and edges; this solution can involve directed or undirected graphs. A directed graph is one in which each edge has a direction, which can be understood as each edge can only be traversed in one direction. If node A can reach node B, it does not mean that node B can reach node A.
[0027] Reachable set / postorder set: The set of points that can be reached from a given point by traversing several edges.
[0028] Preorder set: The set of points that can be reached from a given point by traversing several edges.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] MaxCompute refers to cloud-native big data computing services. MaxCompute is a fast, fully managed TB / PB-level data warehouse solution.
[0035] Apache Flink is an open-source streaming framework designed to process and analyze large-scale, high-throughput real-time data streams.
[0036] SQL (Structured Query Language): A structured query language.
[0037] SDK (Software Development Kit): Software development toolkit.
[0038] 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.
[0039] To address the aforementioned issues, this specification provides a dependency determination scheme. This scheme works by monitoring application modules' access to cloud services. However, it can only obtain the application's dependencies on cloud services within a single request, or reconstruct the application's cloud service topology using accumulated access records. The drawbacks of this scheme are: 1. It can only obtain the topology of a single application's access to cloud services, failing to capture the data coupling relationships between multiple applications. 2. It requires 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 data. 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.
[0040] Based on this, a data processing method is provided in this specification. One or more embodiments of this specification 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.
[0041] See Figure 1 , Figure 1 This diagram illustrates an application illustration of a data processing method according to an embodiment of this specification, based on... Figure 1 As can be seen, the server 104 in this method can scan and analyze the source code of each application 102 to obtain the cloud service entities used by each application 102. Then, using the cloud service entities shared by each application 102 as the 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.
[0042] See Figure 2 , Figure 2 A flowchart of a data processing method according to an embodiment of this specification is shown, which specifically includes the following steps.
[0043] 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.
[0044] 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.
[0045] 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.
[0046] 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.
[0047] 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.
[0048] In one or more embodiments provided in this specification, 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 methods provided in this specification, the data dependency architecture between multiple applications within an enterprise or organization can be sorted out, and the stability, availability, and observability of applications can be analyzed based on the multi-application architecture diagram.
[0049] In one or more embodiments provided in this specification, in order to accurately parse 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 specification may use syntax parsing to parse and process the application configuration data to obtain accurate target service unit information. The specific implementation method is as follows.
[0050] 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.
[0051] 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.
[0052] 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.
[0053] The target syntax character can be understood as the syntax character corresponding to the target service unit.
[0054] Taking the data processing method provided in this specification as an example of applying it to the structured analysis of the architecture and processes of multiple application software, this 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.
[0055] 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." 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.
[0056] 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 determined.
[0057] In one or more embodiments provided in this specification, 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.
[0058] The step of determining the application configuration data of each target application among the plurality of target applications includes: 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.
[0059] 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.
[0060] 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.
[0061] 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.
[0062] For "shared" type data dependencies, you can refer to... Figure 3 , Figure 3 This is a schematic diagram illustrating the scanning and association of a "shared" type application in a data processing method provided in one embodiment of this specification; based on Figure 3 It can be seen that, Figure 3 The example shown is a "shared" type implementation; such as Figure 3 As shown in (a), both application A and application B (i.e., the target application) use 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 service module of application A can read table 1 (i.e., database table 1) and table 2 (i.e., database table 2), and then modify table 2 according to the service request. When a request is sent to the service module of application B, the service module of application B can read table 1 and table 3 (i.e., database table 3), and then modify table 3 according to the service request. 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 application A and application B (i.e., multiple initial unit graphs) can be obtained. This architecture is as follows: Figure 3 The section “(b) Scanning to obtain the application architecture” is shown in the figure. Figure 3 The phrase “(c) Associate to obtain multi-application architecture” means associating the architectures of application A and application B to obtain a multi-application architecture (i.e., target unit map).
[0063] For data dependencies of the "upstream and downstream" type, you can refer to... Figure 4 , Figure 4 This is a schematic diagram illustrating the scanning and association of an "upstream and downstream" type application in a data processing method provided in one embodiment of this specification; based on Figure 4 It can be seen that, Figure 4 This demonstrates an "upstream-downstream" type of implementation, where the output of the upstream application is the input of the downstream application. For example... Figure 4 As shown in (a), when a request (i.e. a service request) is sent to the service module of application A, the service module of application A needs to read and write database table 1 after receiving the service request, 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 needs to query table Z of the data warehouse after receiving the service request, 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.
[0064] 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.
[0065] 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.
[0066] Figure 4 The section “(b) Scanning to obtain the application architecture” shows the structure obtained by scanning each application individually; in the association step, the message queue topic X is used as the connection point (i.e., the associated service unit), and the multi-application architecture (i.e., the target unit graph) is obtained by merging them, as shown in the figure. Figure 4 As shown in “(c) Associated to obtain multi-application architecture”.
[0067] Based on the scanning and association steps described above, 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 specification 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 by this specification.
[0068] Step 204: Based on the target service unit information, determine the target service unit corresponding to each target application from multiple service units.
[0069] 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.
[0070] 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.
[0071] 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 specification, 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.
[0072] In one or more embodiments provided in this specification, determining the associated service units between the target applications 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 are then used as the associated service units between the target applications.
[0073] Among them, the associated service unit can be the same target service unit among various target applications.
[0074] 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.
[0075] 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; 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. The target service unit is identified as a consistent target service unit, which is used as the associated service unit between the target applications.
[0076] Following the example above, refer 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.
[0077] 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.
[0078] See Figure 4 In the association step, both application A and application B use message queue topic X as the connection point (i.e., the associated 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.
[0079] 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.
[0080] 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.
[0081] 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.
[0082] In one or more embodiments provided in this specification, 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: 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.
[0083] The initial unit graph can be understood as a subgraph constructed based on a target application and its corresponding target service units; this target unit graph is obtained by constructing the initial unit graphs of each target application; for example... Figure 3 or Figure 4 The various application architectures within.
[0084] 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: 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.
[0085] Following the example above, refer to... Figure 3In the association step, database table 1, used by both application A and application B, serves as the join point (i.e., node). The two application architecture diagrams (i.e., the initial unit graph) are merged to obtain the final multi-application architecture diagram (i.e., the target unit graph). See also... Figure 4 In the association step, both application A and application B use message queue topic X as the join point to merge 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).
[0086] 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.
[0087] In one or more embodiments provided in this specification, the step of constructing an initial unit map for each target application based on each target application and the target service unit corresponding to each target application includes: 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; Based on the nodes and edges, the initial unit graph corresponding to each target application is constructed.
[0088] In this context, data transmission relationships can be understood as the data flow relationships between various target applications and target service units, as referenced. Figure 3 , Figure 3 Solid black arrows indicate data flow, while hollow arrows indicate execution flow; see also Figure 4 , Figure 4 Solid black arrows indicate data flow, while hollow arrows indicate execution processes.
[0089] In one or more embodiments provided in this specification, 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.
[0090] 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.
[0091] 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.
[0092] Following the example above, refer to... Figure 3 Both Application A and Application B use database table 1 (i.e., the associated cloud service unit) as the join point to merge the two application architecture diagrams (i.e., the initial unit diagram) to obtain the final multi-application architecture diagram (i.e., the target unit diagram). See also Figure 4 In the association step, both application A and application B use message queue topic X (i.e., associated cloud service unit) as the connection point to merge 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).
[0093] In one or more embodiments provided in this specification, after constructing the target unit map based on each target application, the target service unit corresponding to each target application, and the associated service units between the target applications, 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.
[0094] The upstream node can be a reachable set or a subsequent set; the downstream node can be a preceding set.
[0095] 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.
[0096] The specific execution methods are reachability set analysis and preorder set analysis.
[0097] The steps for reachability set analysis are as follows: First, identify the reachability sets 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 sets, the scope of impact (i.e., data analysis results) can be defined in fault scenarios. Figure 4 Taking (c) as an example, if a misoperation causes database table 3 to become unavailable or to be written with dirty data, according to reachability set analysis, downstream stream processing task Y, data warehouse table Z, application B, and database table 2 will all be affected, and anomalies or inaccurate data may occur. Therefore, downstream stream processing task Y, data warehouse table Z, application B, and database table 2 are the scope of the fault impact (i.e., the data analysis results).
[0098] 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 given 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). Figure 4 For example, in case (c), 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 preceding centralized data warehouse and stream processing should also be considered during the demonstration process.
[0099] In one or more embodiments provided in this specification, after constructing the target unit map based on each target application, the target service unit corresponding to each target application, and the associated service units between the target applications, 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.
[0100] 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.
[0101] Following the previous example, after constructing the multi-application architecture diagram, analysis can be performed based on it, 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 filters out a 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 contains boundary edges, which are typically related to cost, potential risks, etc. Figure 4 Taking (c) as an example, if filtering by deployment region, it is found 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. This point must be considered in troubleshooting.
[0102] 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.
[0103] In one or more embodiments provided in this specification, after constructing the target unit map based on each target application, the target service unit corresponding to each target application, and the associated service units between the target applications, 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.
[0104] Using the previous example, 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.
[0105] 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).
[0106] In one or more embodiments provided in this specification, 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. 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.
[0107] In one or more embodiments provided in this specification, determining the application configuration data of each target application among a plurality of target applications includes: 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; The request acquisition module can be a software module or a hardware module that acquires the request data of the target application.
[0108] 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.
[0109] The data processing method provided in one or more embodiments of this specification 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.
[0110] The following is in conjunction with the appendix Figure 5 Taking the application of the data processing method provided in this specification in a structured analysis scenario of multi-application software architecture and processes as an example, the data processing method will be further explained. Figure 5 A flowchart illustrating the processing procedure of a data processing method according to an embodiment of this specification is shown, specifically including the following steps.
[0111] Step 502: Scan the source code of each application to obtain the cloud services it uses, and form a single application architecture diagram.
[0112] 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.
[0113] For "shared" type data dependencies, you can refer to... Figure 3 , Figure 3 The example shown is a "shared" type implementation; such as Figure 3 As shown in (a), both application A and application B use database services on the cloud. Application A reads tables 1 and 2 and then modifies table 2 according to the service request; application B reads tables 1 and 3 and then modifies table 3 according to the service request.
[0114] 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, Go, 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 application A and application B can be obtained, as shown in the following diagram. Figure 3 The section “(b) Scanning to obtain the application architecture” is shown in the document. The source code can be obtained from the application's code repository or PaaS.
[0115] For data dependencies of the "upstream and downstream" type, you can refer to... Figure 4 , Figure 4 This demonstrates an "upstream-downstream" type of implementation, where the output of the upstream application is the input of the downstream application. For example... Figure 4 As shown in (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 stream processing task Y after reading database table 3 and message queue topic X.
[0116] 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.
[0117] Based on the scanning and association steps described above, 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 specification 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 by this specification.
[0118] 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.
[0119] Specifically, based on Figure 3 As can be seen, 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.
[0120] based on Figure 4 As can be seen, 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 this message queue topic X to obtain the final multi-application architecture diagram.
[0121] 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.
[0122] Step 506: Analyze stability, availability, and observability using different algorithms on the multi-application architecture diagram.
[0123] 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.
[0124] Specific data analysis methods include: reachability set analysis, preorder set analysis, boundary edge analysis, loop analysis, and coverage analysis.
[0125] The steps for reachability set analysis are as follows: First, identify the reachability sets 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 sets, the scope of impact can be defined in fault scenarios. Figure 4 For example, in (c), if a misoperation causes database table 3 to become unavailable or to be written with dirty data, according to reachability set analysis, downstream stream processing task Y, data warehouse table Z, application B, and database table 2 will all be affected, and anomalies or inaccurate data may occur.
[0126] 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 given node). Then, use the preorder set for availability analysis of key applications and core data. Figure 4 For example, in case (c), 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 preceding centralized data warehouse and stream processing should also be considered during the demonstration process.
[0127] Specifically, the analysis of boundary edges is performed as follows: 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.
[0128] by Figure 4 Taking (c) as an example, if filtering by deployment region, it is found 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. This point must be considered in troubleshooting.
[0129] The specific execution method for loop analysis is as follows: 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.
[0130] 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.
[0131] The specific execution method for coverage analysis is as follows: 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.
[0132] Based on the above steps, the data processing method in this specification 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 using reachability sets on the multi-application architecture. 2. Analyzing the availability of key applications or datasets using precedence sets on the multi-application architecture. 3. Analyzing potential risks of cross-regional access using boundary edges on the multi-application architecture. 4. Analyzing potential circular dependency risks using loop analysis on the multi-application architecture. 5. Analyzing the coverage of application self-monitoring using the multi-application architecture.
[0133] Based on this, it can be seen that the data processing method in this specification provides an architecture analysis method anchored by cloud services that applications depend on. This method expands conventional architecture analysis from the single application level to the enterprise (multi-application) level, and can automatically and cost-effectively sort out the relationships between applications, making frequent architecture evaluations possible. At the same time, based on the sorted application topology, several architecture analysis methods are proposed. The resulting structured architecture can be used to analyze and evaluate the stability, availability, and observability of complex multi-application services. It can also provide basic data support for comprehensive operation and maintenance services such as DevOps or AIOps.
[0134] It should be noted that the data processing methods provided in this manual 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. They 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.
[0135] Compared to the aforementioned dependency determination scheme, the data processing method provided in one or more embodiments of this specification overcomes the defects of the dependency determination scheme and achieves the following technical effects: First, the data processing method provided in this specification obtains the cloud services that the application depends on through source code scanning, and the information obtained from the 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.
[0136] Secondly, the data processing method provided in this manual takes application source code (including the code repository and the parts hosted on the PaaS platform) as input. This is read-only for the application itself, with no 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 any calls.
[0137] 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, this manual provides a data processing method that proposes a graph theory analysis method based on the obtained architecture diagram. This allows the sorting and analysis process to be carried out with the help of a computer, reducing the workload from days to minutes.
[0138] Corresponding to the above method embodiments, this specification also provides data processing apparatus embodiments. Figure 6 A schematic diagram of the structure of a data processing apparatus according to one embodiment of this specification is shown. Figure 6 As shown, the device includes: 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. 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. 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. 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.
[0139] Optionally, the map construction module 608 is further configured to: 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.
[0140] Optionally, the map construction module 608 is further configured to: 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. Based on the nodes and edges, the initial unit graph corresponding to each target application is constructed.
[0141] Optionally, the application configuration data includes application code data and / or application configuration parameters; The data determination module 602 is further configured to: 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.
[0142] Optionally, the second unit determining module 606 is further configured to: 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 are then used as the associated service units between the target applications.
[0143] Optionally, the data determination module 602 is further configured to: 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.
[0144] 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; The map construction module 608 is further configured as follows: 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.
[0145] Optionally, the data processing method further includes a first data analysis module, configured as follows: 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.
[0146] Optionally, the data processing method further includes a second data analysis module, configured as follows: 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.
[0147] Optionally, the data processing method further includes a third data analysis module, configured as follows: 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.
[0148] The data processing apparatus provided in one or more embodiments of this specification 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.
[0149] 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.
[0150] Figure 7 A structural block diagram of a computing device 700 according to one embodiment of this specification is shown. 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.
[0151] 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 card (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.
[0152] In one embodiment of this specification, the above-described components of the computing device 700 and Figure 7 Other components, not shown, can also be connected to each other, for example, via a bus. It should be understood that... Figure 7 The block diagram of the computing device shown is for illustrative purposes only and is not intended to limit the scope of this specification. Those skilled in the art can add or replace other components as needed.
[0153] 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.
[0154] 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.
[0155] The various embodiments in this specification 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 descriptions of the data processing method embodiments.
[0156] An embodiment of this specification 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.
[0157] The various embodiments in this specification 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 descriptions of the data processing method embodiments.
[0158] An embodiment of this specification 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.
[0159] 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.
[0160] The foregoing has described specific embodiments of this specification. 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 result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.
[0161] 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.
[0162] 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 in this specification are not limited to the described order of actions, because according to the embodiments in this specification, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in this specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the embodiments in this specification.
[0163] 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.
[0164] The preferred embodiments disclosed above are merely illustrative of this specification. 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 described herein. These embodiments are selected and specifically described in this specification to better explain the principles and practical applications of the embodiments, thereby enabling those skilled in the art to better understand and utilize this specification. This specification 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.