Product warehouse management method and related equipment

By analyzing and cleaning the aggregation relationship of aggregation members in the product warehouse, the problem of difficult to manage and clean up the unreasonable aggregation architecture in the existing technology is solved, and efficient management and resource optimization of the product warehouse are achieved.

CN120020842APending Publication Date: 2025-05-20HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410231511.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-11-17
Filing Date
2024-02-29
Publication Date
2025-05-20

AI Technical Summary

Technical Problem

It is difficult for the existing technology to effectively manage and clean up unreasonable aggregation architecture in product warehouses, resulting in a decrease in query, upload and download rates, parsing errors and waste of network resources.

Method used

By analyzing the aggregation relationship of aggregation members in an aggregation warehouse, identifying and cleaning up unreasonable aggregation architecture with one click, improving the query, uploading and downloading rates of product warehouses, and reducing parsing errors and waste of network resources.

Benefits of technology

It realizes efficient management of product warehouses, improves query, upload and download rates, reduces parsing errors and waste of network resources, and reduces governance costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120020842A_ABST
    Figure CN120020842A_ABST
Patent Text Reader

Abstract

The invention discloses a product warehouse management method, which comprises the steps that a warehouse management system receives a warehouse analysis request, the warehouse analysis request comprises a warehouse identifier of a target aggregation warehouse to be analyzed, the warehouse management system obtains metadata of the target aggregation warehouse according to the warehouse identifier of the target aggregation warehouse, and the metadata comprises aggregation members; the warehouse management system analyzes whether the target aggregation warehouse has an inclusion relation according to the aggregation members of the target aggregation warehouse, and the inclusion relation is used for indicating that the target aggregation warehouse is included by the aggregation members of the target aggregation warehouse. And when the target aggregation warehouse has the inclusion relation, the warehouse management system displays the inclusion relation to the user, and the warehouse management system receives a warehouse cleaning request triggered by the user for the target aggregation warehouse and removes the inclusion relation. According to the method, the aggregation relationship of the aggregation members in the aggregation warehouse is analyzed, and rapid identification and one-key cleaning of an unreasonable aggregation architecture of a user are supported.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims the priority of a Chinese patent application with the application number 202311544908.4 and the invention title "A Management Method and Related Equipment for a Product Warehouse" submitted to the National Intellectual Property Administration on November 17, 2023, the entire content of which is incorporated herein by reference. Technical Field

[0002] This application relates to the field of software development technologies, and in particular, to a management method for a product warehouse, a warehouse management system, a computing device cluster, a computer-readable storage medium, and a computer program product. Background Art

[0003] With the continuous development of software technologies, a vast amount of source code files have emerged. The above source code files can be formed into products after being compiled and processed, and stored in a product warehouse. Among them, a product refers to a build product after source code compilation, usually a binary file, and this binary file can be an executable file, for example, it can run on a server. Depending on the development language, products can include different formats or package types, such as Java Archive (JAR) or RPM format.

[0004] The product warehouse is used to uniformly manage products in different formats. In addition to the basic storage function, the product warehouse also provides important functions such as product classification, build deployment tool integration, version control, access permission control, remote proxy, security scanning, and dependency analysis, and is a standardized way to handle all product package types generated during the software development process.

[0005] The data volume of the product warehouse shows an exponential upward trend as it accumulates with use. Moreover, with the complication of business scenarios, the types of products are increasing, and the data volume of a single product is also getting larger, which leads to a certain degree of decline in the rates of product query, upload, and download. Therefore, it is necessary to conduct targeted governance on the product warehouse to achieve the efficient utilization of the product warehouse.

[0006] Currently, the governance solution for the product warehouse is for users to call the application programming interface (API) by themselves to delete the content in the product warehouse, which cannot well support users to conduct targeted cleaning. The cost of self-governance by users is relatively high, and the governance effect is also difficult to meet expectations. Summary of the Invention

[0007] The present application provides a method for managing an artifact repository. By analyzing the aggregation relationships of aggregation members in an aggregation repository, this method supports the rapid identification and one-click cleaning of unreasonable aggregation architectures, improving the query, upload, and download speeds of artifact repositories such as aggregation repositories. Moreover, by governing unreasonable aggregation relationships, the possibility of parsing errors can be reduced, and the waste of network resources can be minimized. Through the above targeted governance, the governance cost can also be reduced. The present application also provides a warehouse management system, a computing device cluster, a computer-readable storage medium, and a computer program product corresponding to the method for managing an artifact repository.

[0008] In a first aspect, the present application provides a method for managing an artifact repository. The artifact repository includes at least one aggregation repository, which is formed by aggregating the same type of hosted repositories and / or proxy repositories. The warehouse management system can be a software system, which can be an independent software system provided to users in the form of a software package, and users can deploy the software package by themselves. Or the software system can also be integrated into other software, for example, it can be integrated into a software development tool chain as a plugin, functional module, or service (such as a cloud service) of the software development tool chain. The above software system can be deployed in a computing device cluster, such as a cloud computing cluster like a public cloud, private cloud, hybrid cloud, or partner cloud. The computing device cluster executes the program code of the software system, thereby implementing the method for managing the artifact repository of the present application. In some possible implementation manners, the warehouse management system can also be a hardware system, such as a computing device cluster with the ability to manage an artifact repository. When the computing device cluster runs, it executes the method for managing the artifact repository of the present application.

[0009] Specifically, the warehouse management system receives a warehouse analysis request, which includes the warehouse identifier of the target aggregation repository to be analyzed. Then, the warehouse management system obtains the metadata of the target aggregation repository according to the warehouse identifier of the target aggregation repository. The metadata includes the aggregation members of the target aggregation repository. Next, the warehouse management system analyzes whether there is an inclusion relationship in the target aggregation repository according to the aggregation members of the target aggregation repository. The inclusion relationship is used to indicate that the target aggregation repository is included by the aggregation members of the target aggregation repository. When there is an inclusion relationship in the target aggregation repository, the warehouse management system displays the inclusion relationship to the user. The warehouse management system receives a warehouse cleaning request triggered by the user for the target aggregation repository and removes the inclusion relationship.

[0010] This method supports the rapid identification and one-click cleaning of unreasonable aggregation architectures of users by analyzing the aggregation relationships of aggregation members in the aggregation repository, thereby realizing the governance of aggregation relationships. After the governance is completed, the query, upload, and download speeds of the artifact repository (such as the aggregation repository) can be improved. Moreover, by governing the aggregation relationships, the possibility of parsing errors can be reduced, and the waste of network resources can be minimized.

[0011] In some possible implementation manners, the inclusion relationship includes a cyclic aggregation relationship, and the cyclic aggregation relationship includes the aggregation relationships of multiple repositories, and the aggregation relationships of the multiple repositories form a loop. For example, if aggregation repository A aggregates aggregation repository B, aggregation repository B aggregates aggregation repository C, and aggregation repository C aggregates aggregation repository A, then aggregation repository A, aggregation repository B, and aggregation repository C can form a cyclic aggregation relationship, and this cyclic aggregation relationship can be expressed as A - B - C - A.

[0012] This method can identify unhealthy repository topologies or aggregation relationships such as aggregation loops, so as to provide a reference for repository governance, avoid manual cleaning of the artifact repository by users, realize fine-grained and targeted governance of the artifact repository, and improve the management efficiency of the artifact repository.

[0013] In some possible implementation manners, when analyzing the aggregation relationship, the repository management system can perform an aggregation check on the aggregation members of the target aggregation repository. When the first aggregation member of the target aggregation repository is an aggregation repository, the repository management system performs an aggregation check on the first aggregation member. When the check result of the first aggregation member indicates that the first aggregation member aggregates an already checked aggregation repository, it is determined that the target aggregation repository has an inclusion relationship.

[0014] This method checks for unhealthy aggregation relationships by traversing the aggregation members, ensuring the comprehensiveness and accuracy of the aggregation relationship check, and providing assistance for the governance of the artifact repository.

[0015] In some possible implementation manners, the repository management system can also analyze the breadth or depth of the target aggregation repository according to the aggregation members of the target aggregation repository. The repository management system removes the aggregation relationship where the breadth of the target aggregation repository is greater than a first threshold, or removes the aggregation relationship where the depth of the target aggregation repository is greater than a second threshold.

[0016] By analyzing the breadth or depth of the aggregation repository, this method can also implement scale governance of the aggregation repository, avoiding slow parsing caused by excessive aggregation members or too large aggregation depth of the aggregation repository.

[0017] In some possible implementation manners, the repository management system can also display at least one of the health degree or governance suggestions of the target aggregation repository to the user. Among them, the health degree is used to characterize the overall health degree of the target aggregation repository, and the governance suggestions include governance suggestions for indicators with a score of the target aggregation repository less than a third threshold.

[0018] In this method, users can visually observe the health status of the artifact repository on the page and target the low-scoring items for governance. Moreover, by setting a release access control based on the health status of the artifact repository, users are guided to use the artifact repository reasonably, reducing the operation and maintenance costs and usage costs caused by excessive redundancy and messy files. In addition, the service side can combine the average health data of each tenant to scientifically plan the cluster and resource distribution, achieving efficient utilization of resources.

[0019] In some possible implementation manners, the warehouse management system may also, in response to a timed analysis task, perform a health status analysis on at least one managed warehouse to obtain the health status of at least one warehouse. Among them, the at least one warehouse includes a target aggregated warehouse.

[0020] By periodically analyzing the health status of the warehouse, this method can achieve regular cleaning of large files and expired files (such as files that have not been downloaded or accessed for a long time) in the artifact repository, improving the performance of the artifact repository.

[0021] In some possible implementation manners, the warehouse management system may obtain the scores of the first indicators of at least one warehouse in the engineering capability evaluation dimension, and obtain the scores of the second indicators of at least one warehouse in the warehouse content evaluation dimension. Then, based on the scores of the first indicators, the engineering capability scores of the at least one warehouse are obtained, and based on the scores of the second indicators, the warehouse content scores of the at least one warehouse are obtained. Subsequently, the warehouse management system may obtain the health status of the at least one warehouse according to the engineering capability scores and the warehouse content scores.

[0022] By comprehensively and synthetically evaluating the health status of the artifact repository from dimensions such as engineering capability and warehouse content, this method can achieve fine governance of the artifact repository.

[0023] In some possible implementation manners, the first indicators include at least one of the proportion of cross-regional download times, the proportion of duplicate artifacts, and the number of times of interface call rate limiting. By combining the cross-regional download times, the proportion of duplicate artifacts, and the number of times of interface call rate limiting to evaluate the health status of the warehouse and thereby conduct warehouse governance, this method can reduce cross-regional downloads in the artifact repository, improve resource utilization rate, and reduce the proportion of duplicate artifacts, reducing artifact redundancy.

[0024] In some possible implementations, at least one repository includes at least one of an aggregation repository, a hosting repository, or a proxy repository. The second metrics of the aggregation repository in the dimension of repository content evaluation include at least one of the number of aggregated repositories, the maximum aggregation depth, the total data volume of the aggregation repository, and the number of circular virtual repositories. The second metrics of the hosting repository in the dimension of repository content evaluation include at least one of the single repository storage capacity, the data volume of the largest artifact in the single repository, the proportion of the number of non-build products, the proportion of the number of artifacts not downloaded for a long time, and the maximum path depth. The second metrics of the proxy repository in the dimension of repository content evaluation include the single repository storage capacity, the cache hit rate, and the proportion of the number of artifacts not used for a long time.

[0025] This method sets metrics for different types of artifact repositories in different dimensions of repository content evaluation, and the evaluation of repository content based on the above metrics is more targeted, thus ensuring the accuracy of the health assessment.

[0026] In some possible implementations, the repository management system can obtain the metadata of the target aggregation repository from the read-only instance of the database according to the repository identifier of the target aggregation repository. This method reads data from the read-only instance of the database, which can effectively reduce the pressure on the repository management module and does not affect the normal data changes of the repository management module, realizing loose coupling.

[0027] In some possible implementations, the repository management system can asynchronously clean the target artifacts selected by the user. Among them, the target artifacts include at least one of the artifacts with a data volume greater than the fourth threshold or the artifacts whose download time reaches the set time. On the one hand, this method can clean the target artifacts and improve the performance of the artifact repository. On the other hand, cleaning the artifacts asynchronously can avoid affecting normal business.

[0028] In a second aspect, the present application provides a repository management system. The repository management system is used to manage an artifact repository, and the artifact repository includes at least one aggregation repository, and the aggregation repository is formed by aggregating the same type of hosting repositories and / or proxy repositories. The system includes:

[0029] An interaction module, configured to receive a repository analysis request, where the repository analysis request includes the repository identifier of the target aggregation repository to be analyzed;

[0030] A data analysis module, configured to obtain the metadata of the target aggregation repository according to the repository identifier of the target aggregation repository, where the metadata includes the aggregation members of the target aggregation repository;

[0031] The data analysis module is further configured to analyze whether there is an inclusion relationship in the target aggregation repository according to the aggregation members of the target aggregation repository, where the inclusion relationship is used to indicate that the target aggregation repository is included by the aggregation members of the target aggregation repository;

[0032] The interaction module is further configured to display the inclusion relationship to the user when the target aggregation repository has an inclusion relationship.

[0033] The interaction module is further configured to receive a repository cleaning request triggered by the user for the target aggregation repository.

[0034] The repository management module is configured to remove the inclusion relationship.

[0035] In some possible implementation manners, the inclusion relationship includes a cyclic aggregation relationship, the cyclic aggregation relationship includes an aggregation relationship of multiple repositories, and the aggregation relationship of the multiple repositories forms a loop.

[0036] In some possible implementation manners, the data analysis module is specifically configured to:

[0037] Perform an aggregation check on the aggregation members of the target aggregation repository;

[0038] When the first aggregation member of the target aggregation repository is an aggregation repository, perform an aggregation check on the first aggregation member. When the check result of the first aggregation member indicates that the first aggregation member aggregates an aggregation repository that has been checked, it is determined that the target aggregation repository has an inclusion relationship.

[0039] In some possible implementation manners, the data analysis module is further configured to:

[0040] Analyze the breadth or depth of the target aggregation repository according to the aggregation members of the target aggregation repository.

[0041] The repository management module is further configured to:

[0042] Remove the aggregation relationship where the breadth of the target aggregation repository is greater than a first threshold, or remove the aggregation relationship where the depth of the target aggregation repository is greater than a second threshold.

[0043] In some possible implementation manners, the interaction module is further configured to:

[0044] Display at least one of the health degree or governance suggestions of the target aggregation repository to the user. The health degree is used to characterize the overall health degree of the target aggregation repository, and the governance suggestions include governance suggestions for metrics with a score of the target aggregation repository less than a third threshold.

[0045] In some possible implementation manners, the data analysis module is further configured to:

[0046] In response to the timing analysis task, perform a health analysis on at least one managed warehouse to obtain the health of the at least one warehouse, where the at least one warehouse includes the target aggregated warehouse.

[0047] In some possible implementation manners, the data analysis module is specifically configured to:

[0048] Obtain the score of the first indicator of the at least one warehouse in the engineering capability evaluation dimension, and obtain the score of the second indicator of the at least one warehouse in the warehouse content evaluation dimension;

[0049] Obtain the engineering capability score of the at least one warehouse according to the score of the first indicator, and obtain the warehouse content score of the at least one warehouse according to the score of the second indicator;

[0050] Obtain the health of the at least one warehouse according to the engineering capability score and the warehouse content score.

[0051] In some possible implementation manners, the first indicator includes at least one of the proportion of cross-region download times, the proportion of duplicate products, and the number of interface call rate limits.

[0052] In some possible implementation manners, the at least one warehouse includes at least one of an aggregated warehouse, a hosted warehouse, or an agent warehouse;

[0053] The second indicator of the aggregated warehouse in the warehouse content evaluation dimension includes at least one of the number of aggregated warehouses, the maximum aggregation depth, the total data volume of the aggregated warehouse, and the circular virtual warehouse. The second indicator of the hosted warehouse in the warehouse content evaluation dimension includes at least one of the single-warehouse storage capacity, the data volume of the largest product in the single warehouse, the proportion of the number of non-build products, the proportion of the number of products not downloaded for a long time, and the maximum path depth. The second indicator of the agent warehouse in the warehouse content evaluation dimension includes the single-warehouse storage capacity, the cache hit rate, and the proportion of the number of products not used for a long time.

[0054] In some possible implementation manners, the data analysis module is specifically configured to:

[0055] According to the warehouse identifier of the target aggregated warehouse, obtain the metadata of the target aggregated warehouse from the read-only instance of the database.

[0056] In a third aspect, the present application provides a computing device cluster. The computing device cluster includes at least one computing device, and the at least one computing device includes at least one processor and at least one memory. The at least one processor and the at least one memory communicate with each other. The at least one processor is configured to execute instructions stored in the at least one memory, so that the computing device or the computing device cluster executes the method for managing an artifact repository as described in the first aspect or any implementation manner of the first aspect.

[0057] In a fourth aspect, the present application provides a computer-readable storage medium, in which instructions are stored, and the instructions direct a computing device or a computing device cluster to execute the method for managing an artifact repository as described in the first aspect or any implementation manner of the first aspect.

[0058] In a fifth aspect, the present application provides a computer program product including instructions, which, when running on a computing device or a computing device cluster, cause the computing device or the computing device cluster to execute the method for managing an artifact repository as described in the first aspect or any implementation manner of the first aspect.

[0059] Based on the implementation manners provided in the above aspects of the present application, further combinations can be made to provide more implementation manners. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] To more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for the embodiments will be briefly introduced below.

[0061] Figure 1 It is a schematic diagram of the architecture of a warehouse management system provided by the present application;

[0062] Figure 2 It is a flowchart of a method for managing an artifact repository provided by the present application

[0063] Figure 3 It is a schematic diagram of the interface of a warehouse management interface provided by the present application;

[0064] Figure 4 It is a schematic flowchart of an aggregated member analysis provided by the present application;

[0065] Figure 5 It is a flowchart of another method for managing an artifact repository provided by the present application;

[0066] Figure 6 It is a flowchart of yet another method for managing an artifact repository provided by the present application;

[0067] Figure 7 It is a schematic diagram of the structure of a computing device provided by the present application;

[0068] Figure 8 A structural schematic diagram of a computing device cluster provided for this application;

[0069] Figure 9 Another structural schematic diagram of a computing device cluster provided for this application;

[0070] Figure 10 Yet another structural schematic diagram of a computing device cluster provided for this application. Detailed implementation manners

[0071] The terms "first" and "second" in the embodiments of this application are only used for descriptive purposes, and cannot be construed as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include one or more of such features.

[0072] First, some technical terms involved in the embodiments of this application are introduced.

[0073] An artifact, also known as a software artifact, is a binary file generated by compiling and packaging source code. This binary file is usually an executable file that can be directly run on computing devices such as servers. Different development languages can correspond to binary files in different formats. For example, the source code of the Java language can be compiled and packaged into a JAR package. Another example is that the source code of bash, Python, or C language can be compiled and packaged into an RPM package.

[0074] An artifact repository, which can also be simply referred to as a repository, refers to a repository that uniformly manages artifacts in different formats. The artifact repository can provide functions such as artifact storage, artifact classification, integration of build and deployment tools, version control, access permission control, remote proxy, security scanning, and dependency analysis, so as to standardize all types of artifact packages generated during the software development process.

[0075] The artifact repository can include a hosted repository, a proxy repository, or an aggregated repository. Examples are given separately below.

[0076] A hosted repository refers to an artifact repository used in scenarios such as self-developed dependency package management and software release. The build artifacts of users can generally be uploaded to the hosted repository for management.

[0077] A proxy repository refers to an artifact repository used in scenarios for proxying external open-source artifact repositories and third-party enterprise artifact repositories. Among them, open-source artifact repositories can include but are not limited to Maven Central, npm registry, Dockerregistry, etc.

[0078] An aggregated repository aggregates multiple repositories of the same type into a large repository. Specifically, an aggregated repository can aggregate the Uniform Resource Locators (URLs) of hosted repositories or proxy repositories of the same artifact package type into an independent logical URL, hiding the access details of the internal sub-repositories (the aggregated repositories) and exposing an address well-known within an organization or among project members, thus simplifying the client access and configuration methods. Aggregated repositories are mainly used in scenarios of downloading from multiple artifact sources.

[0079] An aggregated repository can also aggregate other aggregated repositories to form a multi-level nested relationship. For example, repository A aggregates repository B, and repository B aggregates repository C, thus forming a multi-level nested relationship. When a multi-level nested relationship forms a loop or cycle, such a multi-level nested relationship is also called a cyclic aggregation relationship, and a cyclic aggregation relationship is also called an aggregation loop. For example, if repository A aggregates repository B, repository B aggregates repository C, and repository C aggregates repository A, then an A-B-C-A aggregation loop can be formed.

[0080] Unhealthy repository topologies or dependencies such as the aggregation loop of artifact repositories occupy the resources of the artifact repositories, which can affect the rates of querying, uploading, and downloading of artifacts. Moreover, an aggregation loop can also cause parsing errors and waste network resources. For this reason, the industry has provided some solutions for governing artifact repositories.

[0081] Currently, the mainstream governance solution in the industry is to leave the governance entirely to users, and users can delete the repository content by calling the API. However, the governance metrics of the artifact repository in this solution have a relatively coarse granularity, mainly showing the operation and maintenance status of the artifact repository (such as whether it is down) and the overall usage capacity, which cannot well support users for targeted cleaning, and the cost of self-governance by users is high.

[0082] In view of this, this application provides a method for managing an artifact repository. This method can be executed by a repository management system. The repository management system can be a software system, which can be an independent software system provided to users in the form of a software package, and users can deploy the software package by themselves, or the software system can also be integrated into other software, such as being integrated into a software development tool chain as a plug-in, functional module, or service (such as a cloud service) of the software development tool chain. The above software system can be deployed in a computing device cluster, such as a cloud computing cluster like a public cloud, private cloud, hybrid cloud, or partner cloud. The computing device cluster executes the program code of the software system, thereby executing the method for managing the artifact repository of this application. In some possible implementation manners, the repository management system can also be a hardware system, such as a computing device cluster with the ability to manage artifact repositories, and when the computing device cluster runs, it executes the method for managing the artifact repository of this application.

[0083] Specifically, the product warehouse managed by the warehouse management system includes at least one aggregated warehouse, which can be formed by aggregating managed warehouses and / or proxy warehouses of the same type. The warehouse management system can receive a warehouse analysis request, which includes the warehouse identifier of the target aggregated warehouse to be analyzed. Then, the warehouse management system can obtain the metadata of the target aggregated warehouse according to the warehouse identifier of the target aggregated warehouse. The metadata includes the aggregation members of the target aggregated warehouse. Next, the warehouse management system analyzes whether there is an inclusion relationship in the target aggregated warehouse according to the aggregation members of the target aggregated warehouse, where the inclusion relationship is used to indicate that the target aggregated warehouse is included by the aggregation members of the target aggregated warehouse. Among them, the aggregation members can include direct aggregation members or indirect aggregation members (such as the aggregation members of aggregation members). When there is an inclusion relationship in the target aggregated warehouse, for example, there is a cyclic aggregation relationship where aggregated warehouse A aggregates aggregated warehouse B, aggregated warehouse B aggregates aggregated warehouse C, and aggregated warehouse C aggregates aggregated warehouse A, the warehouse management system displays the above inclusion relationship to the user. The warehouse management system can receive a warehouse cleaning request triggered by the user for the target aggregated warehouse and remove the above inclusion relationship.

[0084] This method analyzes the aggregation relationship of the aggregation members in the aggregated warehouse, supports the rapid identification and one-key cleaning of unreasonable aggregation architectures by users. For example, this method can identify inclusion relationships from the aggregation relationships of aggregation members, including but not limited to cyclic aggregation relationships (or simply referred to as aggregation loops). Users can quickly identify and one-key manage the aggregation loops on the page. After the management is completed, the query, upload, and download rates of the product warehouse (such as the aggregated warehouse) can be improved. Moreover, by managing the aggregation loops, the possibility of parsing errors can be reduced, and the waste of network resources can be reduced.

[0085] To make the technical solution of this application clearer and easier to understand, the system architecture of this application will be introduced below with reference to the accompanying drawings.

[0086] See Figure 1 As shown in the schematic diagram of the architecture of a warehouse management system, the warehouse management system 100 includes an interaction module 102, a data analysis module 104, and a warehouse management module 106. Among them, the warehouse management module 106 is the core functional module of the product warehouse, used to process access requests to the content of the product warehouse, including product query, product upload or download, product cleaning, access control, etc. The data analysis module 104 collects and analyzes various measurement data of the product warehouse. The interaction module 102 is also called the front-end module, which provides an entry for users to features such as warehouse management. For example, it can display the analysis results from the data analysis module 104, and the analysis results can be the analyzed aggregation loops or the evaluated health status of the product warehouse.

[0087] Among them, the product warehouse may include at least one aggregated warehouse, and the aggregated warehouse is formed by aggregating the same type of managed warehouses and / or proxy warehouses. The warehouse management system 100 can analyze the aggregated warehouse to identify unreasonable aggregation architectures such as inclusion relationships, for example, identify an aggregation loop, and manage the unreasonable aggregation architecture (such as an aggregation loop).

[0088] In specific implementation, the interaction module 102 is used to receive a warehouse analysis request, and the warehouse analysis request includes the warehouse identifier of the target aggregated warehouse to be analyzed. The data analysis module 104 is used to obtain the metadata of the target aggregated warehouse according to the warehouse identifier of the target aggregated warehouse. The metadata includes the aggregation members of the target aggregated warehouse. According to the aggregation members of the target aggregated warehouse, analyze whether there is an inclusion relationship in the target aggregated warehouse. The inclusion relationship is used to indicate that the target aggregated warehouse is included by the aggregation members of the target aggregated warehouse. The interaction module 102 is further used to display the above inclusion relationship to the user when there is an inclusion relationship in the target aggregated warehouse. Among them, the inclusion relationship may include but is not limited to a cyclic aggregation relationship, and the cyclic aggregation relationship includes the aggregation relationship of multiple warehouses, and the aggregation relationship of multiple warehouses forms a loop.

[0089] The interaction module 102 is further used to receive a warehouse cleaning request triggered by the user for the target aggregated warehouse. The warehouse management module 106 is used to remove the inclusion relationship. Specifically, when the inclusion relationship is a cyclic aggregation relationship such as an aggregation loop, the warehouse management module 106 is used to remove the target aggregation relationship in the aggregation relationship of multiple warehouses to eliminate the aggregation loop. For example, the warehouse management module 106 can respond to the warehouse cleaning request triggered by the user for the target aggregated warehouse and remove the target aggregation relationship.

[0090] This application can well support users to perform targeted cleaning and reduce the cost of self-governance by users by displaying more fine-grained metrics, such as the aggregation loop in the target aggregated warehouse.

[0091] Based on Figure 1 the warehouse management system 100, this application also provides a method for managing a product warehouse. The following combines embodiments to detail the specific implementation of the method for managing a product warehouse of this application.

[0092] See Figure 2 the flowchart of a method for managing a product warehouse shown in the figure. Among them, the product warehouse includes at least one aggregated warehouse, and the aggregated warehouse is formed by aggregating the same type of managed warehouses and / or proxy warehouses. The method includes the following steps:

[0093] S202. The warehouse management system 100 receives a warehouse analysis request.

[0094] The warehouse analysis request includes the warehouse identifier of the target aggregated warehouse to be analyzed, and this warehouse analysis request is used to analyze the target aggregated warehouse. Among them, the warehouse identifier is unique and can be the warehouse name, warehouse path, warehouse address, or warehouse number. The target aggregated warehouse can be an aggregated warehouse specified by the user, such as the aggregated warehouse that the user requests to access. The target aggregated warehouse can also be an aggregated warehouse managed by the warehouse management system. For example, the warehouse management system can receive a warehouse analysis request triggered by a scheduled task.

[0095] For the sake of easy understanding, the following takes the example of a user-triggered warehouse analysis to illustrate. The warehouse management system can provide a warehouse management interface, which can be a graphical user interface (GUI) or a command user interface (CUI). Figure 3 A schematic diagram of a warehouse management interface is shown. The warehouse management interface 300 can include a query control 302, an upload control 304, a download control 306, or a governance control 308. When the user triggers a governance operation for the target aggregated warehouse through the governance control 308, the warehouse management system 100 can receive a warehouse analysis request for the target aggregated warehouse. It should be noted that when the user triggers a query operation through the query control 302 or a download through the download control 306, a warehouse analysis request for the target aggregated warehouse can also be triggered, and this warehouse analysis request can be integrated into the warehouse query request or the warehouse download request.

[0096] S204. The warehouse management system 100 obtains the metadata of the target aggregated warehouse according to the warehouse identifier of the target aggregated warehouse.

[0097] The metadata includes the aggregated members of the target aggregated warehouse. For example, if the target aggregated warehouse is Warehouse A, and Warehouse A aggregates Warehouse B and Warehouse C, then Warehouse B and Warehouse C are the aggregated members of Warehouse A. The warehouse management system 100 can store the metadata of each artifact warehouse it manages. Among them, the metadata can be stored in the form of key-value (KV) pairs. For example, the key can be the warehouse identifier, and the value can be metadata such as the aggregated members. Based on this, the warehouse management system 100 can query the metadata according to the warehouse identifier of the target aggregated warehouse, so as to obtain the metadata of the target aggregated warehouse. For example, the warehouse management system 100 can query and obtain the aggregated members of the target aggregated warehouse according to the warehouse identifier of the target aggregated warehouse.

[0098] In some possible implementations, the warehouse management system 100 may obtain the aggregation members of the target aggregation warehouse from the read-only instance of the database of the warehouse management module 106 for data analysis. The warehouse management system 100 reads data from the read-only instance of the database of the warehouse management module 106, which can effectively reduce the pressure on the warehouse management module 106 and will not affect the normal data changes of the warehouse management module 106, realizing loose coupling.

[0099] S206. The warehouse management system 100 analyzes whether there is a cyclic aggregation relationship in the target aggregation warehouse according to the aggregation members of the target aggregation warehouse. When there is a cyclic aggregation relationship in the target aggregation warehouse, execute S208.

[0100] Specifically, the warehouse management system 100 may perform an aggregation check on the aggregation members of the target aggregation warehouse. When the first aggregation member of the target aggregation warehouse is an aggregation warehouse, perform an aggregation check on the first aggregation member. When the check result of the first aggregation member indicates that the first aggregation member aggregates an aggregation warehouse that has been checked, it is determined that there is a cyclic aggregation relationship in the target aggregation warehouse.

[0101] Considering that there may be multiple aggregation loops in the target aggregation warehouse, the warehouse management system 100 may traverse the aggregation member list of the target aggregation warehouse. Refer to Figure 4 As shown in the schematic flowchart of an aggregation member analysis, after the warehouse management system 100 extracts the aggregation warehouse to be checked, that is, the target aggregation warehouse, it traverses the aggregation member list of the target aggregation warehouse to check whether the aggregation member is an aggregation warehouse. If so, it further determines whether the aggregation member has been checked. If it has been checked, it means that there is a duplicate aggregation warehouse and there is a cyclic aggregation relationship in the target aggregation warehouse. The warehouse management system 100 may end the current query process, or the warehouse management system 100 may continue to check until all aggregation members are traversed and all aggregation loops are detected. If it has not been checked, it may jump to the next aggregation member for inspection. The inspection process is similar to the inspection process of the current aggregation member and will not be elaborated here. It should be noted that if the aggregation member is a black aggregation warehouse, the aggregation member can be directly skipped and it is determined whether all aggregation members have been traversed. If so, the current query process can be ended. If not, the next aggregation member can be inspected.

[0102] S208. The warehouse management system 100 displays the cyclic aggregation relationship in the target aggregation warehouse to the user.

[0103] The cyclic aggregation relationship includes the aggregation relationships of multiple warehouses, and the aggregation relationships of multiple warehouses form a loop, which can be called an aggregation loop. The warehouse management system 100 can display the cyclic aggregation relationship in the target aggregated warehouse to the user through a graphical user interface or a command user interface. In some possible implementation manners, the warehouse management system 100 can reuse the warehouse management interface 300 to display the cyclic aggregation relationship in the target aggregated warehouse to the user.

[0104] As Figure 3 shown, the warehouse management interface 300 further includes an aggregation loop display area 309, and the aggregation loop display area 309 is used to display the cyclic aggregation relationship (or called an aggregation loop) analyzed by the warehouse management system 100. When the warehouse management system 100 analyzes that there are multiple aggregation loops in the target aggregated warehouse, the aggregation loop display area 309 can display multiple aggregation loops at one time, or display some aggregation loops at a time, and then display the next part of the aggregation loops through page switching.

[0105] S210. The warehouse management system 100 receives a warehouse cleaning request triggered by the user for the target aggregated warehouse.

[0106] Specifically, for the aggregation loop in the target aggregated warehouse, the user can select the aggregation relationship that needs to be removed and initiate a warehouse cleaning request at the front end of the warehouse management system 100. Correspondingly, the warehouse management system 100 can receive the warehouse cleaning request triggered by the user for the target aggregated warehouse.

[0107] In some possible implementation manners, the warehouse management system 100 can also provide governance suggestions to the user. For example, the governance suggestions can include the aggregation relationships recommended to be deleted in the aggregation loop. Based on this, the user can select the target aggregation relationship to be deleted according to the aggregation relationships recommended to be deleted in the governance suggestions to trigger a warehouse cleaning request for the target aggregated warehouse.

[0108] S212. The warehouse management system 100 removes the target aggregation relationship from the aggregation relationships of multiple warehouses.

[0109] The warehouse management system 100 can remove the target aggregation relationship from the aggregation relationships of multiple warehouses according to the user's selection, so as to eliminate the aggregation loop in the target aggregated warehouse. For example, if warehouse A aggregates warehouse B, warehouse B aggregates warehouse C, and warehouse C aggregates warehouse A, then an A - B - C - A aggregation loop can be formed. The user can select to delete the aggregation relationship that warehouse C aggregates warehouse A, and the warehouse management system 100 deletes the above-mentioned aggregation relationship selected by the user.

[0110] For the analysis of the aggregation repository, in addition to the aggregation loop analysis, it can also include scale analysis. Correspondingly, for the governance of the aggregation repository, it not only includes the aggregation loop governance, but also can include the scale governance of the aggregation repository. Specifically, the warehouse management system can analyze the breadth or depth of the target aggregation repository according to the aggregation members of the target aggregation repository. The relationship between the aggregation repository and the aggregation members can be represented by a graph, for example, represented by a tree graph. Among them, the breadth of the aggregation repository can be determined by the Breadth-First Search (BFS) algorithm, and the depth of the aggregation repository can be determined by the Depth-First-Search (DFS) algorithm. Correspondingly, the warehouse management system 100 can remove the aggregation relationship where the breadth of the target aggregation repository is greater than the first threshold, or remove the aggregation relationship where the depth of the target aggregation repository is greater than the second threshold.

[0111] Among them, the scale governance of the aggregation repository is mainly applicable to the scenario where the aggregation repository aggregates a large number of aggregation members, and the aggregation members in turn aggregate more sub-members, resulting in slow parsing of the aggregation repository, or applicable to the business scenario where the aggregation depth (nested depth) of the aggregation repository is too large, resulting in slow parsing of the aggregation repository. For the above business scenarios, the warehouse management system 100 can apply the above traversal scheme of the aggregation repository. Different from the aggregation loop governance, the target found in each step of the scale governance is different. When performing aggregation loop governance, the traversal target is to discover whether an aggregation loop is involved. For the above business scenarios, the traversal target is to discover whether there are too many aggregation members or too large an aggregation depth, and only the exit condition of the loop is different.

[0112] Figure 2 Taking the example of the warehouse management system 100 identifying the cyclic aggregation relationship (i.e., aggregation loop) of the aggregation repository and performing governance, in actual application, the warehouse management system 100 can also analyze whether there is an inclusion relationship in the target aggregation repository according to the aggregation members of the target aggregation repository. This inclusion relationship is used to indicate that the target aggregation repository is included by the aggregation members of the target aggregation repository. Correspondingly, when the target aggregation repository has the above inclusion relationship, the warehouse management system 100 can display the inclusion relationship to the user, receive the warehouse cleaning request triggered by the user for the target aggregation repository, and remove the inclusion relationship. Figure 2 The cyclic aggregation relationship in the embodiment is only a specific implementation of the inclusion relationship. This application also supports the identification and governance of other types of unreasonable aggregation relationships such as other types of inclusion relationships, and no limitation is made thereto.

[0113] Based on the above description, the present application provides a method for identifying and automatically managing aggregation relationships. By analyzing the aggregation relationships of aggregation members in the aggregation repository, this method enables users to quickly identify and manage unreasonable aggregation relationships with one click on the page. After the management is completed, the upload and download speeds of the aggregation repository can be improved, and the possibility of parsing errors can be reduced.

[0114] Regarding the health of the repository, related technologies mainly show the storage occupancy and the total number of files. These data lack data such as the distribution of files, so they cannot intuitively reflect the upload and download efficiency of the artifact repository. Moreover, on the cloud service side, there is a lack of measurement data on user usage, the deployment cost is high, the cross-region download occupies a high bandwidth, and the resource utilization rate is low. The present application also provides a method for managing an artifact repository for evaluating the health of the repository. Correspondingly, the repository management system 100 can also display at least one of the health of the artifact repository or the management suggestions to the user. For the sake of convenience of description, the present application takes the artifact repository as an example of the target aggregation repository for illustration. Among them, the health is used to characterize the overall health of the target aggregation repository, and the management suggestions include the management suggestions for the indicators whose scores of the target aggregation repository are less than the third threshold.

[0115] See Figure 5 The flowchart of another method for managing an artifact repository shown below, this method includes the following steps:

[0116] S502. The repository management system 100 obtains the scores of the first indicators of at least one repository in the engineering capability evaluation dimension.

[0117] S504. The repository management system 100 obtains the scores of the second indicators of at least one repository in the repository content evaluation dimension.

[0118] Specifically, the repository management system 100 can regularly obtain the scores of the first indicators of at least one repository in the engineering capability dimension, and regularly obtain the scores of the second indicators of at least one repository in the repository content dimension. Among them, the data analysis module 104 can configure a timing task, and this timing task can trigger the health analysis of at least one repository (for example, all repositories managed by the repository management system 100) managed by the repository management system 100. It should be noted that the timing task can be executed once a day.

[0119] When the scheduled task is triggered, the data analysis module 104 of the warehouse management system 100 can read the artifact data under all warehouses from the read-only instance of the database, and then perform a health assessment based on the artifact data. Among them, the health assessment can be divided into two parts: "warehouse content assessment" and "engineering ability assessment". The warehouse content assessment can be distinguished according to the warehouse type, and the engineering ability assessment can be independent of the warehouse type. For example, the full scores of both the warehouse content and the engineering ability are 10 points, and the full scores of each indicator are also 10 points. The warehouse management system 100 can calculate the two scores of the warehouse content and the engineering ability through weighted average, and then take the average value to obtain the overall health score of the warehouse.

[0120] Among them, the first indicator of the engineering ability dimension can include at least one of the cross-region download times, the proportion of duplicate artifacts, and the interface call throttling times. The engineering ability assessment criteria can be seen in the following table:

[0121] Table 1 Engineering Ability Assessment Criteria

[0122]

[0123] For the above first indicator, this application provides a scoring method. When the indicator value is within the ideal value range, the score of this indicator can be the full score. When it exceeds the ideal range, for every certain increase in quantity or proportion, a set score can be subtracted. For example, when the cross-region download times are greater than 30%, for every 10% increase, the score needs to be reduced by 2 points. Another example, the ideal value of the proportion of duplicate artifacts is less than 10. When the proportion of duplicate artifacts is greater than 10%, for every 2% increase, the score is reduced by 1 point. Still another example, the ideal value of the interface call times is 0. When the interface call times are greater than 0, for every 100 additional calls, the score can be reduced by 1 point.

[0124] The second indicator of the warehouse content dimension can include at least one of the aggregated number of warehouses, the aggregated maximum depth, the total aggregated warehouse data volume, and the circular virtual warehouse. The above gives an example of the second indicator of the warehouse content dimension of the aggregated warehouse. This application also supports the assessment of the managed warehouse and the proxy warehouse from the warehouse content dimension.

[0125] Among them, the second indicator of the managed warehouse in the warehouse content assessment dimension includes at least one of the single-warehouse storage capacity, the data volume of the largest artifact in the single warehouse, the proportion of the number of non-built products, the proportion of the number of artifacts not downloaded for a long time, and the maximum path depth. The second indicator of the proxy warehouse in the warehouse content assessment dimension includes the single-warehouse storage capacity, the cache hit rate, and the proportion of the number of artifacts not used for a long time. The warehouse content assessment criteria can be seen in the following table:

[0126] Table 2 Warehouse Content Assessment Criteria

[0127]

[0128]

[0129] Similar to the first indicator, for the above-mentioned second indicator, this application provides a scoring method. When the indicator value is within the ideal value range, the score for this indicator can be full marks. When it exceeds the ideal range, for every certain increase in quantity or proportion, a set score can be deducted. Taking the aggregation warehouse as an example, the ideal value of the maximum aggregation depth is less than 5. When the maximum aggregation depth is greater than or equal to 5, for every additional layer, one point can be deducted from the score.

[0130] S506. The warehouse management system 100 obtains the engineering capacity scores of at least one warehouse according to the scores of the first indicator.

[0131] The warehouse management system 100 performs statistical processing on the scores of multiple first indicators to obtain the engineering capacity scores of at least one warehouse. Further, considering that the influence degrees of different indicators are different, the warehouse management system 100 can also set indicator weights for different first indicators respectively. Through weighted operations, the scores can be closer to the real scenario and have more reference value.

[0132] S508. The warehouse management system 100 obtains the warehouse content scores of at least one warehouse according to the scores of the second indicator.

[0133] The warehouse management system 100 performs statistical processing on the scores of multiple second indicators to obtain the warehouse content scores of at least one warehouse. Further, considering that the influence degrees of different indicators are different, the warehouse management system 100 can also set indicator weights for different second indicators respectively. Through weighted operations, the scores can be closer to the real scenario and have more reference value.

[0134] The above S506 and S508 can be executed in parallel or in a set order. This application does not limit the specific implementation of the health score from the engineering capacity dimension and the warehouse content dimension.

[0135] S510. The warehouse management system 100 obtains the health degree of at least one warehouse according to the engineering capacity score and the warehouse content score.

[0136] The warehouse management system 100 can perform statistical processing on the above engineering capacity score and warehouse content score to obtain the total score. The warehouse management system 100 can obtain the health degree of at least one warehouse according to the mapping relationship between the score range and the health degree.

[0137] Table 3 provides an example of the mapping relationship between the score range and the health degree, which will be described below.

[0138] Table 3 Mapping Relationship between Score Range and Health Degree

[0139] Score range Health level Color [8,10] Health Green [5,7] Sub - healthy Yellow [3,4] Unhealthy Orange [0,2] Extremely unhealthy Red

[0140] Referring to Table 3, the warehouse management system 100 can determine the total score. The warehouse management system 100 can first determine the score range in which the total score falls, and then obtain the health level by querying the mapping relationship, such as healthy, sub-healthy, unhealthy, or extremely unhealthy.

[0141] The above S502 to S510 are the specific implementations of the warehouse management system 100 for performing health analysis on at least one managed warehouse in response to a timed analysis task to obtain the health levels of at least one warehouse. In other possible implementation manners of this application, the warehouse management system 100 can also obtain the health levels of at least one managed warehouse through other means. Among them, at least one warehouse managed by the warehouse management system 100 can include a target aggregation warehouse. Further, when the warehouse management system 100 performs timed health analysis, it can store the analyzed health levels. For example, the warehouse management system 100 can write the health levels of each product warehouse into the database in the module. In this way, when the health levels are needed subsequently, they can be directly obtained from the storage location without real-time evaluation, improving usability.

[0142] Based on the above description, this application analyzes the content of the warehouse in depth to form a set of warehouse health assessment systems. In this method, users can visually observe the health level of the product warehouse on the page and can target the treatment of low-scoring items; by setting access control for the warehouse health level, users are guided to reasonably use the product warehouse, reducing the operation and maintenance costs and usage costs caused by excessive redundancy and messy files. Moreover, the service side can combine the average health data of each tenant to scientifically plan the cluster and resource distribution to achieve more efficient utilization.

[0143] In some possible implementation manners, the product warehouse may also include large files and expired files, where the expired files can be files whose download time (or usage time) reaches the set time. The warehouse management system 100 can identify and clean up the above expired files and large files. When cleaning up, the warehouse management system 100 can asynchronously clean up the target products selected by the user, where the target products include at least one of products with a data volume greater than the second threshold or products whose download time reaches the set time.

[0144] Next, with reference to an accompanying drawing, an example description of the method for managing a product warehouse provided in this application is given.

[0145] See Figure 6 The flowchart of a method for managing a product warehouse shown, the method includes the following steps:

[0146] S602. The interaction module 102 of the warehouse management system 100 provides an entry, and the user initiates a warehouse analysis request for the warehouse based on this entry.

[0147] S604. The data analysis module 104 of the warehouse management system 100 receives the warehouse analysis request, and obtains the file list corresponding to the warehouse by accessing the read-only instance of the database of the warehouse management module 106.

[0148] Among them, the file list may include metadata such as the size of the file and the last download time.

[0149] S606. The data analysis module 104 of the warehouse management system 100 filters out the file list with a size exceeding 10 Gb and the file list that has not been downloaded for more than one year from the file list, and returns them to the interaction module 102.

[0150] S608. The warehouse management module 106 of the warehouse management system receives the warehouse cleaning request from the user and asynchronously cleans the selected artifacts.

[0151] Among them, the user can select artifacts to perform a batch deletion operation according to the content of the list. Correspondingly, the warehouse cleaning request may include the identifiers of the artifacts selected by the user, such as the name and path of the artifact file.

[0152] Based on the above description, it can be seen that the present application provides a solution for capacity and non-standard file governance based on health. In this solution, the user can perform fine governance on the warehouse content on the page, including one-key deletion of large files, expired files, etc. The governance is more targeted and can improve the performance of the artifact warehouse.

[0153] Based on the foregoing management method of the artifact warehouse, the present application further provides a warehouse management system 100. The warehouse management system 100 is used to manage the artifact warehouse, and the artifact warehouse includes at least one aggregated warehouse, and the aggregated warehouse is formed by aggregating the same type of managed warehouses and / or proxy warehouses.

[0154] As Figure 1 shown, the system 100 includes:

[0155] An interaction module 102, configured to receive a warehouse analysis request, where the warehouse analysis request includes a warehouse identifier of a target aggregated warehouse to be analyzed;

[0156] A data analysis module 104, configured to obtain metadata of the target aggregated warehouse according to the warehouse identifier of the target aggregated warehouse, where the metadata includes aggregation members of the target aggregated warehouse;

[0157] The data analysis module 104 is further configured to analyze whether there is an inclusion relationship in the target aggregation repository according to the aggregation members of the target aggregation repository, where the inclusion relationship is used to indicate that the target aggregation repository is included by the aggregation members of the target aggregation repository;

[0158] The interaction module 102 is further configured to, when there is an inclusion relationship in the target aggregation repository, display the inclusion relationship to the user;

[0159] The interaction module 102 is further configured to receive a repository cleaning request triggered by the user for the target aggregation repository;

[0160] The repository management module 106 is configured to remove the inclusion relationship.

[0161] In some possible implementation manners, the inclusion relationship includes a cyclic aggregation relationship, and the cyclic aggregation relationship includes the aggregation relationships of multiple repositories, and the aggregation relationships of the multiple repositories form a loop.

[0162] In some possible implementation manners, the data analysis module 104 is specifically configured to:

[0163] Perform an aggregation check on the aggregation members of the target aggregation repository;

[0164] When the first aggregation member of the target aggregation repository is an aggregation repository, perform an aggregation check on the first aggregation member, and when the check result of the first aggregation member indicates that the first aggregation member aggregates an aggregation repository that has been checked, determine that there is an inclusion relationship in the target aggregation repository.

[0165] In some possible implementation manners, the data analysis module 104 is further configured to:

[0166] Analyze the breadth or depth of the target aggregation repository according to the aggregation members of the target aggregation repository;

[0167] The repository management module 106 is further configured to:

[0168] Remove the aggregation relationship where the breadth of the target aggregation repository is greater than a first threshold, or remove the aggregation relationship where the depth of the target aggregation repository is greater than a second threshold.

[0169] In some possible implementation manners, the interaction module 102 is further configured to:

[0170] Display at least one of the health degree or governance suggestions of the target aggregation repository to the user, where the health degree is used to characterize the overall health degree of the target aggregation repository, and the governance suggestions include governance suggestions for metrics with a score of the target aggregation repository less than a third threshold.

[0171] In some possible implementations, the data analysis module 104 is further configured to:

[0172] In response to a timing analysis task, perform a health analysis on at least one managed warehouse to obtain the health of the at least one warehouse, where the at least one warehouse includes the target aggregated warehouse.

[0173] In some possible implementations, the data analysis module 104 is specifically configured to:

[0174] Obtain the scores of the first indicators of the at least one warehouse in the engineering capability evaluation dimension, and obtain the scores of the second indicators of the at least one warehouse in the warehouse content evaluation dimension;

[0175] Obtain the engineering capability scores of the at least one warehouse according to the scores of the first indicators, and obtain the warehouse content scores of the at least one warehouse according to the scores of the second indicators;

[0176] Obtain the health of the at least one warehouse according to the engineering capability scores and the warehouse content scores.

[0177] In some possible implementations, the first indicators include at least one of the proportion of cross-regional download times, the proportion of duplicate products, and the number of interface call rate limits.

[0178] In some possible implementations, the at least one warehouse includes at least one of an aggregated warehouse, a managed warehouse, or an agent warehouse;

[0179] The second indicators of the aggregated warehouse in the warehouse content evaluation dimension include at least one of the number of aggregated warehouses, the maximum aggregation depth, the total data volume of the aggregated warehouse, and the circular virtual warehouse. The second indicators of the managed warehouse in the warehouse content evaluation dimension include at least one of the single warehouse storage capacity, the data volume of the largest product in the single warehouse, the proportion of the number of non-build products, the proportion of the number of products not downloaded for a long time, and the maximum path depth. The second indicators of the agent warehouse in the warehouse content evaluation dimension include the single warehouse storage capacity, the cache hit rate, and the proportion of the number of products not used for a long time.

[0180] In some possible implementations, the data analysis module 104 is specifically configured to:

[0181] According to the warehouse identifier of the target aggregated warehouse, obtain the metadata of the target aggregated warehouse from the read-only instance of the database.

[0182] Exemplarily, the above interaction module 102, data analysis module 104, and warehouse management module 106 can be implemented by hardware or can be implemented by software.

[0183] When implemented by software, the interaction module 102, the data analysis module 104, and the warehouse management module 106 can be application programs running on a computer device, such as a computing engine. For example, the data analysis module 104 can be a computing engine, such as an analysis engine. The above application programs can be virtualized through a virtualization service for users to use. The virtualization service can include virtual machine (VM) service, bare metal server (BMS) service, and container service. Among them, the VM service can be a service that virtualizes a virtual machine (VM) resource pool on multiple physical hosts to provide VMs for users on demand. The BMS service is a service that virtualizes a BMS resource pool on multiple physical hosts to provide BMS for users on demand. The container service is a service that virtualizes a container resource pool on multiple physical hosts to provide containers for users on demand. A VM is a simulated virtual computer, that is, a computer logically. A BMS is a highly scalable high-performance computing service, whose computing performance is no different from that of a traditional physical machine, and has the characteristics of secure physical isolation. A container is a kernel virtualization technology that can provide lightweight virtualization to achieve the purpose of isolating user space, processes, and resources. It should be understood that the VM service, BMS service, and container service in the above virtualization service are only specific examples. In actual applications, the virtualization service can also be other lightweight or heavyweight virtualization services, which are not specifically limited here.

[0184] When implemented by hardware, at least one computing device, such as a server, etc., can be included in the interaction module 102, the data analysis module 104, and the warehouse management module 106. Alternatively, the interaction module 102, the data analysis module 104, and the warehouse management module 106 can also be devices implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). Among them, the above PLD can be implemented by a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0185] This application also provides a computing device 700. As Figure 7As shown, computing device 700 includes: bus 702, processor 704, memory 706, and communication interface 708. The processor 704, memory 706, and communication interface 708 communicate with each other via bus 702. The computing device 700 can be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in the computing device 700.

[0186] The bus 702 can be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 7 only one line is used in the figure, but it does not mean that there is only one bus or one type of bus. The bus 702 can include a path for transmitting information between various components of the computing device 700 (for example, the memory 706, the processor 704, and the communication interface 708).

[0187] The processor 704 can include any one or more of processors such as a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), a Micro Processor (MP), or a Digital Signal Processor (DSP).

[0188] The memory 706 can include volatile memory, such as Random Access Memory (RAM). The memory 706 can also include non-volatile memory, such as Read-Only Memory (ROM), flash memory, a Hard Disk Drive (HDD), or a Solid State Drive (SSD). The memory 706 stores executable program code, and the processor 704 executes the executable program code to implement the foregoing management method for the product warehouse. Specifically, the memory 706 stores instructions for the warehouse management system 100 to execute the management method for the product warehouse.

[0189] The communication interface 708 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 700 and other devices or a communication network.

[0190] The embodiments of the present application also provide a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.

[0191] As Figure 8 shown, the computing device cluster includes at least one computing device 700. Instructions for the same warehouse management system 100 for executing the management method of the product warehouse can be stored in the memory 706 of one or more computing devices 700 in the computing device cluster.

[0192] In some possible implementation manners, one or more computing devices 700 in the computing device cluster can also be used to execute some instructions of the warehouse management system 100 for executing the management method of the product warehouse. In other words, a combination of one or more computing devices 700 can jointly execute the instructions of the warehouse management system 100 for executing the management method of the product warehouse.

[0193] It should be noted that the memories 706 in different computing devices 700 in the computing device cluster can store different instructions for executing partial functions of the warehouse management system 100.

[0194] Figure 9 shows a possible implementation manner. As Figure 9 shown, two computing devices 700A and 700B are connected through a communication interface 708. Instructions for executing the functions of the interaction module 102 and the warehouse management module 106 are stored in the memory of the computing device 700A. Instructions for executing the function of the data analysis module 104 are stored in the memory of the computing device 700B. In other words, the memories 706 of the computing devices 700A and 700B jointly store the instructions of the warehouse management system 100 for executing the management method of the product warehouse.

[0195] Figure 9 The connection manner between the computing device clusters shown can be considered that the management method of the product warehouse provided by the present application requires a large amount of computing power to analyze aggregation relationships, the health of the warehouse, etc. Therefore, it is considered to hand over the function implemented by the data analysis module 104 to a separate computing device such as the computing device 700B for execution.

[0196] It should be understood that Figure 9 the function of the computing device 700A shown can also be completed by multiple computing devices 700. Similarly, the function of the computing device 700B can also be completed by multiple computing devices 700.

[0197] In some possible implementation manners, one or more computing devices in a computing device cluster can be connected through a network. Among them, the network can be a wide area network or a local area network, etc. Figure 10 A possible implementation manner is shown. As Figure 10 shown, two computing devices 700C and 700D are connected through a network. Specifically, they are connected to the network through communication interfaces in each computing device. In this type of possible implementation manner, instructions for implementing the functions of the interaction module 102 and the warehouse management module 106 are stored in the memory 706 of the computing device 700C. At the same time, instructions for implementing the function of the data analysis module 104 are stored in the memory 706 of the computing device 700D.

[0198] Figure 10 The connection manner between the computing device clusters shown can be considered that since the management method of the product warehouse provided in this application requires a large amount of computing power for warehouse analysis, the function implemented by the data analysis module 104 is considered to be executed by the computing device 700D.

[0199] It should be understood that Figure 10 the functions of the computing device 700C shown in

[0200] can also be completed by multiple computing devices 700. Similarly, the functions of the computing device 700D can also be completed by multiple computing devices 700.

[0201] This application embodiment also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store or a data storage device such as a data center that contains one or more available media. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid-state drive), etc. The computer-readable storage medium includes instructions that instruct the computing device to execute the above-mentioned management method for the product warehouse applied to the warehouse management system 100.

[0202] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the various embodiments of the present invention.

Claims

1. A product warehouse management method, characterized in that: The product warehouse includes at least one aggregate warehouse, and the aggregate warehouse is formed by aggregating the same type of managed warehouses and / or proxy warehouses. The method includes: The warehouse management system receives a warehouse analysis request, wherein the warehouse analysis request includes a warehouse identifier of a target aggregate warehouse to be analyzed; The warehouse management system acquires metadata of the target aggregate warehouse according to the warehouse identifier of the target aggregate warehouse, wherein the metadata includes aggregate members of the target aggregate warehouse; The warehouse management system analyzes whether there is an inclusion relationship between the target aggregate warehouse and the target aggregate warehouse according to the aggregate members of the target aggregate warehouse, wherein the inclusion relationship is used to indicate that the target aggregate warehouse is included by the aggregate members of the target aggregate warehouse; When the target aggregate warehouse has an inclusion relationship, the warehouse management system displays the inclusion relationship to the user; The warehouse management system receives a warehouse cleanup request triggered by the user for the target aggregate warehouse, and removes the inclusion relationship.

2. The method according to claim 1, characterized in that The inclusion relationship includes a circular aggregation relationship, and the circular aggregation relationship includes an aggregation relationship of multiple warehouses, and the aggregation relationship of the multiple warehouses forms a loop.

3. The method according to claim 1 or 2, characterized in that: The warehouse management system analyzes whether there is an inclusion relationship between the target aggregate warehouses according to the aggregate members of the target aggregate warehouses to be analyzed, including: The warehouse management system performs aggregation check on the aggregation members of the target aggregation warehouse; When the first aggregation member of the target aggregation warehouse is an aggregation warehouse, an aggregation check is performed on the first aggregation member. When the check result of the first aggregation member indicates that the first aggregation member aggregates the checked aggregation warehouse, it is determined that the target aggregation warehouse has a containment relationship.

4. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: The warehouse management system analyzes the breadth or depth of the target aggregate warehouse according to the aggregate members of the target aggregate warehouse; The warehouse management system removes the aggregation relationship of the target aggregation warehouse whose breadth is greater than a first threshold, or removes the aggregation relationship of the target aggregation warehouse whose depth is greater than a second threshold.

5. The method according to any one of claims 1 to 4, characterized in that: The method further comprises: The warehouse management system displays at least one of the health status or governance recommendations of the target aggregate warehouse to the user, where the health status is used to characterize the overall health status of the target aggregate warehouse, and the governance recommendations include governance recommendations for indicators whose scores of the target aggregate warehouse are less than a third threshold.

6. The method according to any one of claims 1 to 5, characterized in that: The method further comprises: The warehouse management system performs a health analysis on at least one warehouse under management in response to a scheduled analysis task to obtain the health of the at least one warehouse, wherein the at least one warehouse includes the target aggregate warehouse.

7. The method according to claim 6, characterized in that The warehouse management system performs health analysis on at least one warehouse under management to obtain the health of the at least one warehouse, including: The warehouse management system obtains a score of a first indicator of the engineering capability evaluation dimension of the at least one warehouse, and obtains a score of a second indicator of the at least one warehouse in the warehouse content evaluation dimension; The warehouse management system obtains an engineering capability score of the at least one warehouse according to the score of the first indicator, and obtains a warehouse content score of the at least one warehouse according to the score of the second indicator; The warehouse management system obtains the health of the at least one warehouse according to the engineering capability score and the warehouse content score.

8. The method according to claim 7, characterized in that The first indicator includes at least one of the proportion of cross-regional downloads, the proportion of duplicate products, and the number of interface call flow limits.

9. The method according to claim 7, characterized in that: The at least one warehouse includes at least one of an aggregate warehouse, a managed warehouse, or a proxy warehouse; The second indicator of the aggregated warehouse in the warehouse content evaluation dimension includes at least one of the number of aggregated warehouses, the maximum depth of aggregation, the total data volume of the aggregated warehouse, and the circular virtual warehouse; the second indicator of the hosted warehouse in the warehouse content evaluation dimension includes at least one of the single warehouse storage capacity, the data volume of the largest product in the single warehouse, the proportion of non-built products, the proportion of products that have not been downloaded for a long time, and the maximum depth of the path; the second indicator of the proxy warehouse in the warehouse content evaluation dimension includes the single warehouse storage capacity, the cache hit rate, and the proportion of products that have not been used for a long time.

10. The method according to any one of claims 1 to 9, characterized in that: The warehouse management system obtains metadata of the target aggregate warehouse according to the warehouse identifier of the target aggregate warehouse, including: The warehouse management system obtains metadata of the target aggregate warehouse from the database read-only instance according to the warehouse identifier of the target aggregate warehouse.

11. A warehouse management system, characterized in that: The warehouse management system is used to manage product warehouses, and the product warehouses include at least one aggregate warehouse, and the aggregate warehouse is formed by aggregating the same type of managed warehouses and / or proxy warehouses. The system includes: An interaction module, configured to receive a warehouse analysis request, wherein the warehouse analysis request includes a warehouse identifier of a target aggregate warehouse to be analyzed; A data analysis module, configured to obtain metadata of the target aggregate warehouse according to a warehouse identifier of the target aggregate warehouse, wherein the metadata includes aggregate members of the target aggregate warehouse; The data analysis module is further used to analyze whether there is an inclusion relationship between the target aggregate warehouse and the target aggregate warehouse according to the aggregate members of the target aggregate warehouse, wherein the inclusion relationship is used to indicate that the target aggregate warehouse is included by the aggregate members of the target aggregate warehouse; The interaction module is further configured to display the inclusion relationship to the user when the target aggregation warehouse has an inclusion relationship; The interaction module is further configured to receive a warehouse cleanup request triggered by the user for the target aggregate warehouse; The warehouse management module is used to remove the inclusion relationship.

12. The system according to claim 11, characterized in that The inclusion relationship includes a circular aggregation relationship, and the circular aggregation relationship includes an aggregation relationship of multiple warehouses, and the aggregation relationship of the multiple warehouses forms a loop.

13. The system according to claim 11 or 12, characterized in that The data analysis module is specifically used for: Performing aggregation check on the aggregation members of the target aggregation warehouse; When the first aggregation member of the target aggregation warehouse is an aggregation warehouse, an aggregation check is performed on the first aggregation member. When the check result of the first aggregation member indicates that the first aggregation member aggregates the checked aggregation warehouse, it is determined that the target aggregation warehouse has a containment relationship.

14. The system according to any one of claims 11 to 13, characterized in that: The data analysis module is also used for: Analyzing the breadth or depth of the target aggregate warehouse according to the aggregate members of the target aggregate warehouse; The warehouse management module is also used for: The aggregation relationship whose breadth of the target aggregation warehouse is greater than a first threshold is removed, or the aggregation relationship whose depth of the target aggregation warehouse is greater than a second threshold is removed.

15. The system according to any one of claims 11 to 14, characterized in that The interaction module is also used for: At least one of the health of the target aggregate warehouse or the governance suggestion is displayed to the user, where the health is used to characterize the overall health of the target aggregate warehouse, and the governance suggestion includes a governance suggestion for an indicator whose score of the target aggregate warehouse is less than a third threshold.

16. The system according to any one of claims 11 to 15, characterized in that The data analysis module is also used for: In response to the scheduled analysis task, a health analysis is performed on at least one managed warehouse to obtain the health of the at least one warehouse, where the at least one warehouse includes the target aggregate warehouse.

17. The system according to claim 16, characterized in that The data analysis module is specifically used for: Obtaining a score of a first indicator of the engineering capability evaluation dimension for the at least one warehouse, and obtaining a score of a second indicator of the warehouse content evaluation dimension for the at least one warehouse; Obtaining an engineering capability score of the at least one warehouse according to the score of the first indicator, and obtaining a warehouse content score of the at least one warehouse according to the score of the second indicator; A health level of the at least one warehouse is obtained according to the engineering capability score and the warehouse content score.

18. The system according to claim 17, characterized in that The first indicator includes at least one of the proportion of cross-regional downloads, the proportion of duplicate products, and the number of interface call flow limits.

19. The system according to claim 17, characterized in that The at least one warehouse includes at least one of an aggregate warehouse, a managed warehouse, or a proxy warehouse; The second indicator of the aggregated warehouse in the warehouse content evaluation dimension includes at least one of the number of aggregated warehouses, the maximum depth of aggregation, the total data volume of the aggregated warehouse, and the circular virtual warehouse; the second indicator of the hosted warehouse in the warehouse content evaluation dimension includes at least one of the single warehouse storage capacity, the data volume of the largest product in the single warehouse, the proportion of non-built products, the proportion of products that have not been downloaded for a long time, and the maximum depth of the path; the second indicator of the proxy warehouse in the warehouse content evaluation dimension includes the single warehouse storage capacity, the cache hit rate, and the proportion of products that have not been used for a long time.

20. The system according to any one of claims 11 to 19, characterized in that The data analysis module is specifically used for: According to the warehouse identifier of the target aggregate warehouse, metadata of the target aggregate warehouse is obtained from the database read-only instance.

21. A computing device cluster, characterized in that: The computing device cluster includes at least one computing device, and the at least one computing device includes at least one processor and at least one memory, wherein the at least one memory stores computer-readable instructions; the at least one processor executes the computer-readable instructions so that the computing device cluster executes the product warehouse management method as described in any one of claims 1 to 10.

22. A computer-readable storage medium, characterized in that: Comprising computer-readable instructions; the computer-readable instructions are used to implement the product warehouse management method described in any one of claims 1 to 10.

23. A computer program product, characterized in that Comprising computer-readable instructions; the computer-readable instructions are used to implement the product warehouse management method described in any one of claims 1 to 10.