Artifact repository management method and related device

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 rate improvement of the product warehouse is achieved.

WO2025102629A1PCT designated stage expired Publication Date: 2025-05-22HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD

Patent Information

Application Number
PCT/CN2024/091927
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-29
Filing Date
2024-05-09
Publication Date
2025-05-22

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 problems such as query, upload, download speed, parsing errors and waste of network resources.

Method used

By analyzing the aggregation relationship of aggregation members in the aggregation warehouse, we can identify and clean up unreasonable aggregation architecture with one click, including circular aggregation relationship, improve the query, upload and download speed of product warehouses, and reduce 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 CN2024091927_22052025_PF_FP_ABST
    Figure CN2024091927_22052025_PF_FP_ABST
Patent Text Reader

Abstract

The present application discloses an artifact repository management method, comprising: a repository management system receives a repository analysis request, the repository analysis request comprising a repository identifier of a target group repository to be analyzed; the repository management system acquires metadata of said target group repository on the basis of the repository identifier of said target group repository, the metadata comprising group members; on the basis of the group members in said target group repository, the repository management system analyzes whether said target group repository is in a containment relationship, the containment relationship being used for indicating that said target group repository is contained among the group members in said target group repository; and when said target group repository is in the containment relationship, the repository management system displays the containment relationship to a user, and the repository management system receives a repository cleanup request triggered by the user for said target group repository, and removes the containment relationship. By analyzing group relationships of group members in group repositories, the method supports rapid recognition and one-click cleanup of unreasonable group frameworks of users.
Need to check novelty before this filing date? Find Prior Art

Description

A product warehouse management method and related equipment

[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on November 17, 2023, with application number 202311544908.4, and with the invention name “A management method for a product warehouse and related equipment”, as well as the Chinese patent application filed with the State Intellectual Property Office on February 29, 2024, with application number 202410231511.8, and with the invention name “A management method for a product warehouse and related equipment”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of software development technology, and in particular to a product warehouse management method, 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 technology, a vast amount of source code files has been generated. These source code files can be compiled and processed into artifacts, which are stored in an artifact repository. Artifacts are the product of source code compilation, typically binary files. These binary files can be executable files, such as those that can be run on a server. Depending on the development language, artifacts can come in different formats or package types, such as Java Archive (JAR) or RPM.

[0004] An artifact repository is used to centrally manage artifacts in various formats. Beyond basic storage capabilities, it also provides important features such as artifact classification, build and deployment tool integration, version control, access control, remote proxying, security scanning, and dependency analysis. It's a standardized way to handle all types of artifact packages generated during software development.

[0005] The amount of data in the artifact warehouse increases exponentially with cumulative usage. Furthermore, as business scenarios become more complex, the number of artifact types increases, and the amount of data for each artifact also increases. This leads to a certain decrease in the speed of artifact query, upload, and download. Therefore, targeted management of the artifact warehouse is necessary to achieve efficient utilization.

[0006] Currently, the governance solution for artifact warehouses is for users to call the application programming interface (API) to delete the content in the artifact warehouse. This cannot effectively support users in targeted cleanup. The cost of self-governance by users is high, and the governance effect is difficult to achieve as expected.

[0007] Summary of the Invention

[0008] The present application provides a method for managing a product warehouse. The method supports rapid identification and one-click cleanup of unreasonable aggregation architectures by analyzing the aggregation relationships of aggregation members in the aggregation warehouse, thereby improving the query, upload, and download rates of product warehouses such as the aggregation warehouse. Moreover, by managing unreasonable aggregation relationships, the possibility of parsing errors can be reduced and the waste of network resources can be reduced. The above-mentioned targeted management can also reduce management costs. 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 management method of the product warehouse.

[0009] In the first aspect, the present application provides a method for managing a product warehouse. The product warehouse includes at least one aggregated warehouse, and the aggregated warehouse is formed by the aggregation of hosted warehouses and / or proxy warehouses of the same type. 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 plug-in, functional module or service (for example, a cloud service) of the software development tool chain. The above-mentioned software system can be deployed in a computing device cluster, such as a cloud computing cluster such as 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 product warehouse of the present application. In some possible implementations, the warehouse management system can also be a hardware system, such as a computing device cluster with product warehouse management capabilities, which executes the method for managing the product warehouse of the present application when the computing device cluster is running.

[0010] Specifically, the warehouse management system receives a warehouse analysis request that includes the warehouse identifier of the target aggregate warehouse to be analyzed. Based on the warehouse identifier of the target aggregate warehouse, the warehouse management system obtains metadata for the target aggregate warehouse, including the aggregate members of the target aggregate warehouse. The warehouse management system then analyzes the aggregate members of the target aggregate warehouse to determine whether a containment relationship exists with the target aggregate warehouse, indicating that the target aggregate warehouse is contained by the aggregate members of the target aggregate warehouse. If a containment relationship exists with the target aggregate warehouse, the warehouse management system displays the containment relationship to the user. The warehouse management system then receives a warehouse cleanup request triggered by the user for the target aggregate warehouse and removes the containment relationship.

[0011] This method analyzes the aggregation relationships of aggregate members in an aggregation repository, enabling rapid identification and one-click cleanup of unreasonable aggregation structures, thereby achieving aggregation relationship governance. This governance improves query, upload, and download speeds for artifact repositories (such as aggregation repositories). Furthermore, managing aggregation relationships reduces the likelihood of parsing errors and minimizes the waste of network resources.

[0012] In some possible implementations, the inclusion relationship includes a circular aggregation relationship, which includes the aggregation relationships of multiple warehouses, and the aggregation relationships of multiple warehouses form a loop. For example, if aggregate warehouse A aggregates aggregate warehouse B, aggregate warehouse B aggregates aggregate warehouse C, and aggregate warehouse C aggregates aggregate warehouse A, then aggregate warehouses A, B, and C can form a circular aggregation relationship, which can be expressed as ABCA.

[0013] This method can identify unhealthy warehouse topologies or aggregation relationships such as aggregation rings, which can provide a reference for warehouse governance, avoid users from manually cleaning up product warehouses, achieve fine-grained and targeted governance of product warehouses, and improve product warehouse management efficiency.

[0014] In some possible implementations, when analyzing aggregation relationships, the warehouse management system 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, the warehouse management system performs an aggregation check on the first aggregation member. If the check result of the first aggregation member indicates that the first aggregation member aggregates the checked aggregation warehouse, the warehouse management system determines that a containment relationship exists with the target aggregation warehouse.

[0015] This method checks unhealthy aggregation relationships by traversing aggregation members, ensuring the comprehensiveness and accuracy of aggregation relationship checks and providing assistance for the governance of product warehouses.

[0016] In some possible implementations, the warehouse management system may further analyze the breadth or depth of the target aggregated warehouse based on its aggregated members. The warehouse management system may remove aggregated relationships with target aggregated warehouses whose breadth exceeds a first threshold, or remove aggregated relationships with target aggregated warehouses whose depth exceeds a second threshold.

[0017] By analyzing the breadth or depth of the aggregation warehouse, this method can also achieve scale management of the aggregation warehouse, avoiding the aggregation warehouse aggregating too many members or too deep aggregation resulting in slow parsing.

[0018] In some possible implementations, the warehouse management system may also display at least one of the health of the target aggregated warehouse or governance recommendations to the user. The health is used to represent the overall health of the target aggregated warehouse, and the governance recommendations include governance recommendations for indicators of the target aggregated warehouse whose scores are less than a third threshold.

[0019] In this approach, users can visualize the health of the artifact warehouse on a page and implement targeted governance for low-scoring items. Furthermore, by setting access control based on the health of the artifact warehouse, users can be guided to use the artifact warehouse rationally, reducing operational and maintenance costs and usage costs caused by excessive redundancy and file clutter. Furthermore, the service side can combine the average health data of each tenant to scientifically plan clusters and resource distribution, achieving efficient resource utilization.

[0020] In some possible implementations, the warehouse management system may further perform a health analysis on at least one managed warehouse in response to a scheduled analysis task to obtain the health of the at least one warehouse, wherein the at least one warehouse includes a target aggregate warehouse.

[0021] This method can regularly clean up large files and expired files (such as files that have not been downloaded or accessed for a long time) in the product warehouse by regularly analyzing the health of the warehouse, thereby improving the performance of the product warehouse.

[0022] In some possible implementations, the warehouse management system can obtain the score of a first indicator of at least one warehouse in the engineering capability assessment dimension, and obtain the score of a second indicator of at least one warehouse in the warehouse content assessment dimension, and then obtain the engineering capability score of the at least one warehouse based on the score of the first indicator, and obtain the warehouse content score of the at least one warehouse based on the score of the second indicator. Then, the warehouse management system can obtain the health of the at least one warehouse based on the engineering capability score and the warehouse content score.

[0023] This method can achieve fine-grained management of product warehouses by conducting a comprehensive and integrated assessment of the health of product warehouses from dimensions such as engineering capabilities and warehouse content.

[0024] In some possible implementations, the first metric includes at least one of the following: the percentage of cross-region downloads, the percentage of duplicate products, and the number of API call throttling. This method uses these metrics to assess warehouse health and, through warehouse management, can reduce cross-region downloads in the product warehouse, improve resource utilization, and reduce the percentage of duplicate products, thereby minimizing product redundancy.

[0025] In some possible implementations, at least one warehouse includes at least one of an aggregated warehouse, a hosted 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 storage capacity of a single warehouse, the data volume of the largest artifact in a single warehouse, the proportion of non-built artifacts, the proportion of artifacts 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 storage capacity of a single warehouse, the cache hit rate, and the proportion of artifacts that have not been used for a long time.

[0026] This method sets indicators for different warehouse content evaluation dimensions for different types of product warehouses. Warehouse content evaluation based on the above indicators is more targeted, thereby ensuring the accuracy of health assessment.

[0027] In some possible implementations, the warehouse management system can retrieve the metadata of the target aggregated warehouse from a read-only database instance based on the warehouse identifier of the target aggregated warehouse. This method, which reads data from a read-only database instance, effectively reduces the pressure on the warehouse management module without affecting its normal data changes, thus achieving loose coupling.

[0028] In some possible implementations, the warehouse management system can asynchronously clean up target artifacts selected by the user. Target artifacts include at least one of artifacts with a data volume greater than a fourth threshold or artifacts whose download time has reached a set time. This method can improve the performance of the artifact warehouse by cleaning up target artifacts. Furthermore, by performing asynchronous artifact cleaning, it can avoid disrupting normal operations.

[0029] In a second aspect, the present application provides a warehouse management system. The warehouse management system is used to manage product warehouses, wherein the product warehouses include at least one aggregated warehouse, which is formed by aggregating managed warehouses and / or proxy warehouses of the same type. The system includes:

[0030] 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;

[0031] A data analysis module, configured to obtain 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;

[0032] The data analysis module is further configured to analyze, based on the aggregation members of the target aggregation warehouse, whether there is an inclusion relationship between the target aggregation warehouse and the aggregation members of the target aggregation warehouse, wherein the inclusion relationship indicates that the target aggregation warehouse is included in the aggregation members of the target aggregation warehouse;

[0033] The interaction module is further configured to display the inclusion relationship to the user when the target aggregation warehouse has an inclusion relationship;

[0034] The interaction module is further configured to receive a warehouse cleanup request triggered by the user for the target aggregate warehouse;

[0035] The warehouse management module is used to remove the inclusion relationship.

[0036] In some possible implementations, 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.

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

[0038] Performing aggregation check on the aggregation members of the target aggregation warehouse;

[0039] 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 an inclusion relationship.

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

[0041] Analyzing the breadth or depth of the target aggregate warehouse according to the aggregated members of the target aggregate warehouse;

[0042] The warehouse management module is also used to:

[0043] The aggregation relationship of the target aggregation warehouse whose breadth is greater than a first threshold is removed, or the aggregation relationship of the target aggregation warehouse whose depth is greater than a second threshold is removed.

[0044] In some possible implementations, the interaction module is further configured to:

[0045] At least one of the health of the target aggregate warehouse or a 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 of the target aggregate warehouse whose score is less than a third threshold.

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

[0047] 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.

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

[0049] 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;

[0050] Obtaining an engineering capability score of the at least one warehouse based on the score of the first indicator, and obtaining a warehouse content score of the at least one warehouse based on the score of the second indicator;

[0051] A health level of the at least one warehouse is obtained according to the engineering capability score and the warehouse content score.

[0052] In some possible implementations, the first indicator includes at least one of the following: the proportion of cross-regional downloads, the proportion of duplicate products, and the number of interface call flow limits.

[0053] In some possible implementations, the at least one warehouse includes at least one of an aggregate warehouse, a hosted warehouse, or a proxy warehouse;

[0054] 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.

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

[0056] According to the warehouse identifier of the target aggregate warehouse, metadata of the target aggregate warehouse is obtained from a database read-only instance.

[0057] In a third aspect, the present application provides a computing device cluster. The computing device cluster includes at least one computing device, each of which 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, causing the computing device or computing device cluster to perform the product warehouse management method described in the first aspect or any implementation of the first aspect.

[0058] In a fourth aspect, the present application provides a computer-readable storage medium storing instructions, wherein the instructions instruct a computing device or a computing device cluster to execute the product warehouse management method described in the first aspect or any one of the implementations of the first aspect.

[0059] In a fifth aspect, the present application provides a computer program product comprising instructions, which, when run on a computing device or a computing device cluster, enables the computing device or the computing device cluster to execute the product warehouse management method described in the first aspect or any one of the implementations of the first aspect.

[0060] Based on the implementation methods provided in the above aspects, this application can also be further combined to provide more implementation methods. BRIEF DESCRIPTION OF THE DRAWINGS

[0061] In order to more clearly illustrate the technical methods of the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments.

[0062] FIG1 is a schematic diagram of the architecture of a warehouse management system provided by this application;

[0063] FIG2 is a flow chart of a product warehouse management method provided by the present application;

[0064] FIG3 is a schematic diagram of a warehouse management interface provided by this application;

[0065] FIG4 is a schematic diagram of a process for analyzing aggregate members provided by the present application;

[0066] FIG5 is a flow chart of another product warehouse management method provided by the present application;

[0067] FIG6 is a flowchart of another product warehouse management method provided by the present application;

[0068] FIG7 is a schematic diagram of the structure of a computing device provided by the present application;

[0069] FIG8 is a schematic diagram of the structure of a computing device cluster provided by this application;

[0070] FIG9 is a schematic diagram of the structure of another computing device cluster provided by the present application;

[0071] FIG10 is a schematic diagram of the structure of another computing device cluster provided in this application. DETAILED DESCRIPTION

[0072] The terms "first" and "second" in the embodiments of this application are used for descriptive purposes only and should not be understood to indicate or imply relative importance or implicitly specify the number of technical features indicated. Therefore, features specified as "first" or "second" may explicitly or implicitly include one or more of the features.

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

[0074] A product, also known as a software artifact, is a binary file generated by compiling and packaging source code. This binary file is typically an executable file that can be run directly on a server or other computing device. Different development languages ​​correspond to different binary file formats. For example, Java source code can be compiled and packaged into a JAR package. Another example is Bash, Python, or C source code can be compiled and packaged into an RPM package.

[0075] An artifact repository, also known as a warehouse, is a centralized repository for managing artifacts in various formats. It provides capabilities such as artifact storage and classification, build and deployment tool integration, version control, access control, remote proxying, security scanning, and dependency analysis, enabling standardized processing of all artifact package types generated during software development.

[0076] Artifact repositories can include managed repositories, proxy repositories, or aggregated repositories. The following examples illustrate each of these.

[0077] A managed repository is a repository used for self-developed dependency package management, software releases, and other scenarios. Users' build artifacts can generally be uploaded to a managed repository for management.

[0078] A proxy repository is a repository used to proxy external open source repositories or third-party enterprise repositories. Open source repositories include, but are not limited to, Maven Central, npm registry, and Docker registry.

[0079] An aggregated repository aggregates multiple repositories of the same type into a single, larger repository. Specifically, it aggregates the Uniform Resource Locators (URLs) of hosted or proxy repositories of the same artifact package type into a single, logical URL. This hides access details from members of the internal sub-repositories (aggregated repositories), exposes a well-known URL within an organization or project, and simplifies client access and configuration. Aggregated repositories are primarily used for downloading multiple artifact sources.

[0080] Aggregate warehouses can also aggregate other aggregate warehouses, forming a multi-level nested relationship. For example, warehouse A aggregates warehouse B, warehouse B aggregates warehouse C, and so on, forming a multi-level nested relationship. When a multi-level nested relationship forms a loop or cycle, it is also called a cyclic aggregation relationship, or an aggregation ring. For example, if warehouse A aggregates warehouse B, warehouse B aggregates warehouse C, and warehouse C aggregates warehouse A, an aggregation ring of ABCA can be formed.

[0081] Unhealthy topologies or dependencies in artifact repositories, such as aggregation rings, can consume artifact repository resources, impacting the speed of artifact queries, uploads, and downloads. Furthermore, aggregation rings can cause parsing errors and waste network resources. To address this, the industry has developed several solutions for managing artifact repositories.

[0082] Currently, the mainstream governance solution in the industry is to completely hand over governance to users, allowing them to delete warehouse content by calling APIs. However, the granularity of the artifact warehouse governance indicators in this solution is relatively coarse, mainly displaying the operational status of the artifact warehouse (such as whether it is down) and overall capacity usage. This does not effectively support users in targeted cleanup, and the cost of self-governance is high.

[0083] In view of this, the present application provides a method for managing a product warehouse. The method can be performed by a warehouse management system. 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 plug-in, functional module or service (for example, a cloud service) of the software development tool chain. The above-mentioned software system can be deployed in a computing device cluster, such as a cloud computing cluster such as 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 product warehouse of the present application. In some possible implementations, the warehouse management system can also be a hardware system, such as a computing device cluster with product warehouse management capabilities, which executes the method for managing the product warehouse of the present application when the computing device cluster is running.

[0084] Specifically, the product warehouse managed by the warehouse management system includes at least one aggregate warehouse, which can be formed by the aggregation of the same type of managed warehouses and / or proxy warehouses. The warehouse management system can receive a warehouse analysis request, which includes the warehouse identifier of the target aggregate warehouse to be analyzed. The warehouse management system can then obtain the metadata of the target aggregate warehouse based on the warehouse identifier of the target aggregate warehouse, and the metadata includes the aggregate members of the target aggregate warehouse. The warehouse management system then analyzes whether the target aggregate warehouse has an inclusion relationship based on 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 aggregate members can include direct aggregate members or indirect aggregate members (such as aggregate members of aggregate members). When the target aggregate warehouse has an inclusion relationship, for example, a circular aggregation relationship in which aggregate warehouse A aggregates with aggregate warehouse B, aggregate warehouse B aggregates with aggregate warehouse C, and aggregate warehouse C aggregates with aggregate warehouse A, the warehouse management system displays the above inclusion relationship to the user. The warehouse management system can receive a warehouse cleanup request triggered by the user for the target aggregate warehouse and remove the above inclusion relationship.

[0085] This method analyzes the aggregation relationships of aggregation members in the aggregation warehouse, supporting the rapid identification and one-click cleanup of unreasonable user aggregation architectures. For example, this method can identify inclusion relationships from the aggregation relationships of aggregation members, including but not limited to circular aggregation relationships (or simply aggregation rings). Users can quickly identify and manage aggregation rings with one click on the page. After management is completed, the query, upload, and download rates of product warehouses (such as aggregation warehouses) can be improved. Moreover, by managing aggregation rings, the possibility of parsing errors can be reduced, reducing the waste of network resources.

[0086] In order to make the technical solution of the present application clearer and easier to understand, the system architecture of the present application is introduced below with reference to the accompanying drawings.

[0087] Referring to the architectural diagram of a warehouse management system shown in FIG1 , the warehouse management system 100 includes an interactive 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, which is used to process access requests to the product warehouse content, including product query, product upload or download, product cleanup, access control, etc. The data analysis module 104 collects, analyzes, and calculates various measurement data of the product warehouse. The interactive module 102 is also called the front-end module, which provides users with an entrance to features such as warehouse management. For example, it can display the analysis results from the data analysis module 104, which can be an analysis aggregation ring or an evaluated product warehouse health.

[0088] The product warehouse may include at least one aggregated warehouse, which is formed by aggregating managed warehouses and / or proxy warehouses of the same type. The warehouse management system 100 can analyze the aggregated warehouses to identify unreasonable aggregate structures such as containment relationships, for example, identifying aggregation rings, and manage the unreasonable aggregation structures (such as aggregation rings).

[0089] In a specific implementation, the interaction module 102 is used to receive a warehouse analysis request, which includes the warehouse identifier of the target aggregate warehouse to be analyzed. The data analysis module 104 is used to obtain metadata of the target aggregate warehouse based on the warehouse identifier of the target aggregate warehouse, where the metadata includes the aggregate members of the target aggregate warehouse, and analyze whether there is an inclusion relationship between the target aggregate warehouse and the aggregate members of the target aggregate warehouse. 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 102 is also used to display the inclusion relationship to the user when an inclusion relationship exists between the target aggregate warehouse. Among them, the inclusion relationship may include but is not limited to a circular aggregation relationship, which includes the aggregation relationship of multiple warehouses, and the aggregation relationship of multiple warehouses forms a loop.

[0090] The interaction module 102 is further configured to receive a warehouse cleanup request triggered by the user for the target aggregated warehouse. The warehouse management module 106 is configured to remove the containment relationship. Specifically, when the containment relationship is a cyclic aggregation relationship, such as an aggregation ring, the warehouse management module 106 is configured to remove the target aggregation relationship from the aggregation relationships of multiple warehouses to eliminate the aggregation ring. For example, the warehouse management module 106 may remove the target aggregation relationship in response to a warehouse cleanup request triggered by the user for the target aggregated warehouse.

[0091] This application can effectively support users in targeted cleanup and reduce the cost of self-governance by displaying more fine-grained indicators, such as the aggregation ring in the target aggregation warehouse.

[0092] Based on the warehouse management system 100 of Figure 1 , the present application further provides a product warehouse management method. The specific implementation of the product warehouse management method of the present application will be described in detail below with reference to an embodiment.

[0093] Referring to FIG. 2 , a flowchart of a method for managing a product warehouse is shown. The product warehouse includes at least one aggregate warehouse, which is formed by aggregating managed warehouses and / or proxy warehouses of the same type. The method includes the following steps:

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

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

[0096] For ease of understanding, the following example illustrates user-triggered warehouse analysis. 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 shows a schematic diagram of a warehouse management interface. 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 a user triggers a governance operation for a target aggregate warehouse through the governance control 308, the warehouse management system 100 can receive a warehouse analysis request for the target aggregate warehouse. It should be noted that when a user triggers a query operation through the query control 302, or triggers a download through the download control 306, a warehouse analysis request for the target aggregate warehouse can also be triggered. The warehouse analysis request can be integrated into a warehouse query request or a warehouse download request.

[0097] S204: The warehouse management system 100 obtains metadata of the target aggregate warehouse according to the warehouse identifier of the target aggregate warehouse.

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

[0099] In some possible implementations, the warehouse management system 100 can obtain aggregated members of a target aggregated warehouse from the read-only database instance of the warehouse management module 106 for data analysis. By reading data from the read-only database instance of the warehouse management module 106, the warehouse management system 100 can effectively reduce the pressure on the warehouse management module 106 without affecting normal data changes in the warehouse management module 106, thus achieving loose coupling.

[0100] S206: The warehouse management system 100 analyzes whether a circular aggregation relationship exists in the target aggregated warehouse based on the aggregated members of the target aggregated warehouse. If a circular aggregation relationship exists in the target aggregated warehouse, S208 is executed.

[0101] Specifically, the warehouse management system 100 can 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, the aggregation check is performed on the first aggregation member. If the inspection result of the first aggregation member indicates that the first aggregation member aggregates an aggregation warehouse that has been inspected, it is determined that a circular aggregation relationship exists in the target aggregation warehouse.

[0102] Considering that the target aggregate warehouse may have multiple aggregation rings, the warehouse management system 100 can traverse the list of aggregate members of the target aggregate warehouse. Referring to the schematic diagram of an aggregate member analysis process shown in Figure 4, after extracting the aggregate warehouse to be checked, that is, the target aggregate warehouse, the warehouse management system 100 traverses the list of aggregate members of the target aggregate warehouse to check whether the aggregate member is an aggregate warehouse. If so, it further determines whether the aggregate member has been checked. If it has been checked, it means that there are duplicate aggregate warehouses and a circular aggregation relationship exists in the target aggregate warehouse. The warehouse management system 100 can end the current query process, or the warehouse management system 100 can continue checking until all aggregate members are traversed and all aggregation rings are checked. If it has not been checked, it can jump to the next aggregate member for inspection. The inspection process is similar to the inspection process of the current aggregate member and will not be repeated here. It should be noted that if the aggregate member is a black aggregate warehouse, it can be directly skipped and it is determined whether all aggregate members have been traversed. If so, the current query process can be ended. If not, the next aggregate member can be checked.

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

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

[0105] As shown in FIG3 , the warehouse management interface 300 also includes an aggregation ring display area 309, which is used to display the cyclic aggregation relationships (or aggregation rings) analyzed by the warehouse management system 100. When the warehouse management system 100 analyzes that the target aggregation warehouse has multiple aggregation rings, the aggregation ring display area 309 can display multiple aggregation rings at once, or it can display a portion of the aggregation rings at once and then switch to the next portion of the aggregation rings by switching pages.

[0106] S210. The warehouse management system 100 receives a warehouse cleanup request triggered by a user for a target aggregate warehouse.

[0107] Specifically, for the aggregation ring in the target aggregation warehouse, the user can select the aggregation relationship to be released and initiate a warehouse cleanup request at the front end of the warehouse management system 100. Accordingly, the warehouse management system 100 can receive the warehouse cleanup request triggered by the user for the target aggregation warehouse.

[0108] In some possible implementations, the warehouse management system 100 may also provide governance recommendations to the user. For example, the governance recommendations may include aggregation relationships recommended for deletion in the aggregation ring. Based on this, the user can select the target aggregation relationships to be deleted based on the aggregation relationships recommended for deletion in the governance recommendations, thereby triggering a warehouse cleanup request for the target aggregation warehouse.

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

[0110] Based on user selection, the warehouse management system 100 can remove the target aggregation relationship from the aggregation relationships of multiple warehouses, thereby eliminating the aggregation loop within the target aggregated warehouse. For example, if warehouse A aggregates warehouse B, warehouse B aggregates warehouse C, and warehouse C aggregates warehouse A, an aggregation loop of ABCA can be formed. The user can then choose to delete the aggregation relationship between warehouse C and warehouse A, and the warehouse management system 100 will delete the selected aggregation relationship.

[0111] The analysis of the aggregate warehouse may include not only the aggregation ring analysis but also the scale analysis. Accordingly, the governance of the aggregate warehouse may include not only the aggregation ring governance but also the scale governance of the aggregate warehouse. Specifically, the warehouse management system may analyze the breadth or depth of the target aggregate warehouse based on the aggregate members of the target aggregate warehouse. The relationship between the aggregate warehouse and the aggregate members may be represented by a graph, such as a tree diagram. The breadth of the aggregate warehouse may be determined by a breadth-first search (BFS) algorithm, and the depth of the aggregate warehouse may be determined by a depth-first search (DFS) algorithm. Accordingly, the warehouse management system 100 may remove the aggregation relationship of the target aggregate warehouse whose breadth is greater than a first threshold, or remove the aggregation relationship of the target aggregate warehouse whose depth is greater than a second threshold.

[0112] Among them, the scale governance of the aggregation warehouse is mainly applicable to the scenario where the aggregation warehouse aggregates more aggregation members, and the aggregation members aggregate more sub-members, resulting in slow parsing of the aggregation warehouse, or it is applicable to the business scenario where the aggregation depth (nesting depth) of the aggregation warehouse is too large, resulting in slow parsing of the aggregation warehouse. For the above business scenarios, the warehouse management system 100 can apply the traversal scheme of the above aggregation warehouse. Different from the aggregation ring governance, the targets sought in each step of scale governance are different. The traversal target in the aggregation ring governance is to find out whether the aggregation ring is involved. For the above business scenarios, the traversal target is to find out whether there are too many aggregation members or too large aggregation depth. Only the exit conditions of the loop are different.

[0113] Figure 2 uses the example of the warehouse management system 100 identifying the circular aggregation relationship (i.e., aggregation ring) of the aggregation warehouse and performing management. In actual application, the warehouse management system 100 can also analyze whether the target aggregation warehouse has an inclusion relationship based on the aggregation members of the target aggregation warehouse. The inclusion relationship is used to indicate that the target aggregation warehouse is included by the aggregation members of the target aggregation warehouse. Accordingly, when the above-mentioned inclusion relationship exists in the target aggregation warehouse, the warehouse management system 100 can display the inclusion relationship to the user, receive the warehouse cleanup request triggered by the user for the target aggregation warehouse, and remove the inclusion relationship. The circular aggregation relationship in the embodiment of Figure 2 is only a specific implementation of the inclusion relationship. This application also supports the identification and management of unreasonable aggregation relationships such as other types of inclusion relationships, and is not limited to this.

[0114] Based on the above description, this application provides a method for identifying and automatically managing aggregation relationships. This method analyzes the aggregation relationships of aggregation members in an aggregation repository, allowing users to quickly identify and manage unreasonable aggregation relationships on the page with one click. Once managed, the upload and download speeds of the aggregation repository can be improved, and the possibility of parsing errors can be reduced.

[0115] Regarding the health of the warehouse, the relevant technologies mainly display the storage occupancy and the total number of files. These data lack data such as the distribution of files, and therefore cannot provide intuitive feedback on the upload and download efficiency of the product warehouse. Moreover, the cloud service side lacks measurement data on user usage, the deployment cost is high, cross-regional downloads occupy a high bandwidth, and resource utilization is low. The present application also provides a product warehouse management method for evaluating the health of the warehouse. Accordingly, the warehouse management system 100 can also display at least one of the health or governance recommendations of the product warehouse to the user. For ease of description, the present application uses the product warehouse as an example of the target aggregation warehouse. Among them, the health is used to characterize the overall health of the target aggregation warehouse, and the governance recommendations include governance recommendations for indicators whose scores of the target aggregation warehouse are less than a third threshold.

[0116] Referring to the flowchart of another product warehouse management method shown in FIG5 , the method includes the following steps:

[0117] S502. The warehouse management system 100 obtains a score of a first indicator of an engineering capability evaluation dimension for at least one warehouse.

[0118] S504. The warehouse management system 100 obtains a score of a second indicator of the warehouse content evaluation dimension of at least one warehouse.

[0119] Specifically, the warehouse management system 100 can periodically obtain the score of at least one warehouse in the first indicator of the engineering capability dimension, and periodically obtain the score of at least one warehouse in the second indicator of the warehouse content dimension. The data analysis module 104 can configure a scheduled task that can trigger a health analysis of at least one warehouse managed by the warehouse management system 100 (e.g., all warehouses managed by the warehouse management system 100). It should be noted that the scheduled task can be executed once a day.

[0120] When the scheduled task is triggered, the data analysis module 104 of the warehouse management system 100 can read the product data of all warehouses from the read-only instance of the database, and then perform a health assessment based on the product data. Among them, the health assessment can be divided into two parts: "warehouse content assessment" and "engineering capability assessment". Warehouse content assessment can be differentiated according to warehouse type, and engineering capability assessment can be regardless of warehouse type. For example, the full score for warehouse content and engineering capability is 10 points, and the full score for each indicator is also 10 points. The warehouse management system 100 can calculate the two scores of warehouse content and engineering capability through weighted average calculation, and after taking the average, it can obtain the overall health score of the warehouse.

[0121] The first indicator of the engineering capability dimension may include at least one of the following: the number of cross-regional downloads, the proportion of duplicate products, and the number of interface call flow limits. The engineering capability evaluation criteria can be found in the table below:

[0122] Table 1 Engineering capability evaluation standards

[0123] For the above-mentioned first indicator, the present application provides a scoring method. When the indicator value is within the ideal value range, the score of the indicator can be full marks. When it exceeds the ideal range, the set score can be subtracted for each increase in a certain number or proportion. For example, when the number of cross-regional downloads is greater than 30%, the score needs to be subtracted by 2 points for every increase of 10%. For another example, the ideal value of the proportion of duplicate products is less than 10. When the number of duplicate product photos is greater than 10%, the score is subtracted by 1 point for every increase of 2%. For another example, the ideal value of the number of interface calls is 0. When the number of interface calls is greater than 0, the score can be subtracted by 1 point for every increase of 100 times.

[0124] The second indicator of the warehouse content dimension can include at least one of the following: the number of aggregated warehouses, the maximum depth of aggregation, the total amount of data in the aggregated warehouse, and a cyclic virtual warehouse. The above example illustrates the second indicator of the warehouse content dimension for an aggregated warehouse. This application also supports evaluating managed warehouses and proxy warehouses based on the warehouse content dimension.

[0125] The second indicator of the warehouse content evaluation dimension for managed warehouses includes at least one of the following: single-warehouse storage capacity, the data volume of the largest artifact in a single warehouse, the proportion of non-built artifacts, the proportion of artifacts that have not been downloaded for a long time, and the maximum path depth. The second indicator of the warehouse content evaluation dimension for proxy warehouses includes single-warehouse storage capacity, cache hit rate, and the proportion of artifacts that have not been used for a long time. The warehouse content evaluation standards can be found in the table below:

[0126] Table 2 Warehouse content evaluation criteria

[0127] 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 of the indicator can be full marks. When it exceeds the ideal range, the set score can be subtracted for each increase in a certain amount or proportion. 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, the score can be subtracted by one point for each additional layer.

[0128] S506. The warehouse management system 100 obtains an engineering capability score of at least one warehouse based on the score of the first indicator.

[0129] The warehouse management system 100 statistically processes the scores of the multiple first indicators to obtain an engineering capability score for at least one warehouse. Furthermore, considering the varying impact of different indicators, the warehouse management system 100 can also assign weights to different first indicators. Through weighted calculations, the scores can be closer to real-world scenarios and more valuable for reference.

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

[0131] The warehouse management system 100 performs statistical processing based on the scores of the multiple second indicators to obtain a warehouse content score for at least one warehouse. Furthermore, considering the varying impact of different indicators, the warehouse management system 100 can also assign weights to different second indicators. Through weighted calculations, the scores can be closer to real-world scenarios and more valuable for reference.

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

[0133] S510: The warehouse management system 100 obtains the health of at least one warehouse according to the engineering capability score and the warehouse content score.

[0134] The warehouse management system 100 can perform statistical processing based on the worker capability scores and warehouse content scores to obtain a total score. The warehouse management system 100 can also obtain the health of at least one warehouse based on a mapping relationship between the score range and the health level.

[0135] Table 3 provides an example of the mapping relationship between score ranges and health levels, which is explained below.

[0136] Table 3 Mapping relationship between score range and health level

[0137] As can be seen from 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.

[0138] The above 502 to S510 are specific implementations of the warehouse management system 100 performing health analysis on at least one warehouse under management in response to a scheduled analysis task, and obtaining the health of at least one warehouse. In other possible implementations of the present application, the warehouse management system 100 may also obtain the health of at least one warehouse under management through other methods. Among them, the at least one warehouse managed by the warehouse management system 100 may include a target aggregate warehouse. Furthermore, when the warehouse management system 100 regularly analyzes the health, it may store the health obtained from the analysis. For example, the warehouse management system 100 may write the health of each product warehouse into the database within the module. In this way, when the health is needed later, it can be directly obtained from the storage location without the need for real-time evaluation, thereby improving availability.

[0139] Based on the above description, this application forms a warehouse health assessment system by deeply analyzing the contents of the warehouse. In this method, users can visually observe the health of the product warehouse on the page and conduct targeted governance of low-scoring items; by setting access control for warehouse health, users are guided to use the product warehouse reasonably, reducing the operation and maintenance costs and usage costs caused by excessive redundancy and cluttered files. Moreover, the service side can combine the average health data of each tenant to scientifically plan the cluster and resource distribution for more efficient utilization.

[0140] In some possible implementations, the product warehouse may also include large files and expired files. Expired files may be files whose download time (or usage time) has reached a set time. The warehouse management system 100 can identify and clean up these expired and large files. During the cleanup, the warehouse management system 100 can asynchronously clean up target products selected by the user. The target products include at least one of products with a data volume greater than a second threshold or products whose download time has reached a set time.

[0141] The following is an example of the product warehouse management method provided by this application with reference to a figure.

[0142] Referring to the flowchart of a product warehouse management method shown in FIG6 , the method includes the following steps:

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

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

[0145] The file list may include metadata such as the file size and the last download time.

[0146] S606 , the data analysis module 104 of the warehouse management system 100 filters out the file list exceeding 10 Gb and the file list not downloaded for more than one year from the file list, and returns the result to the interaction module 102 .

[0147] S608. The warehouse management module 106 of the warehouse management system receives the user's warehouse cleaning request and asynchronously cleans the selected products.

[0148] The user may select products to perform batch deletion operations based on the list content. Accordingly, the warehouse cleanup request may include identifiers of the products selected by the user, such as the product file name and path.

[0149] Based on the above description, this application provides a solution for managing capacity and non-standard files based on health. In this solution, users can fine-tune the warehouse content on the page, including deleting large and expired files with one click. This makes management more targeted and improves the performance of the product warehouse.

[0150] Based on the aforementioned product warehouse management method, the present application also provides a warehouse management system 100. The warehouse management system 100 is used to manage product warehouses, which include at least one aggregated warehouse, which is formed by aggregating the same type of managed warehouses and / or proxy warehouses. As shown in Figure 1, the system 100 includes:

[0151] Interaction module 102, configured to receive a warehouse analysis request, wherein the warehouse analysis request includes a warehouse identifier of a target aggregate warehouse to be analyzed;

[0152] The data analysis module 104 is configured to obtain 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;

[0153] The data analysis module 104 is further configured to analyze whether a containment relationship exists between the target aggregate warehouse and the aggregate members of the target aggregate warehouse, wherein the containment relationship indicates that the target aggregate warehouse is contained by the aggregate members of the target aggregate warehouse;

[0154] The interactive module 102 is further configured to display the inclusion relationship to the user when the target aggregate warehouse has an inclusion relationship;

[0155] The interaction module 102 is further configured to receive a warehouse cleanup request triggered by the user for the target aggregate warehouse;

[0156] The warehouse management module 106 is configured to remove the inclusion relationship.

[0157] In some possible implementations, 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.

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

[0159] Performing aggregation check on the aggregation members of the target aggregation warehouse;

[0160] 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 an inclusion relationship.

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

[0162] Analyzing the breadth or depth of the target aggregate warehouse according to the aggregated members of the target aggregate warehouse;

[0163] The warehouse management module 106 is further configured to:

[0164] The aggregation relationship of the target aggregation warehouse whose breadth is greater than a first threshold is removed, or the aggregation relationship of the target aggregation warehouse whose depth is greater than a second threshold is removed.

[0165] In some possible implementations, the interaction module 102 is further configured to:

[0166] At least one of the health of the target aggregate warehouse or a 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 of the target aggregate warehouse whose score is less than a third threshold.

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

[0168] 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.

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

[0170] 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;

[0171] Obtaining an engineering capability score of the at least one warehouse based on the score of the first indicator, and obtaining a warehouse content score of the at least one warehouse based on the score of the second indicator;

[0172] A health level of the at least one warehouse is obtained according to the engineering capability score and the warehouse content score.

[0173] In some possible implementations, the first indicator includes at least one of the following: the proportion of cross-regional downloads, the proportion of duplicate products, and the number of interface call flow limits.

[0174] In some possible implementations, the at least one warehouse includes at least one of an aggregate warehouse, a hosted warehouse, or a proxy warehouse;

[0175] 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.

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

[0177] According to the warehouse identifier of the target aggregate warehouse, metadata of the target aggregate warehouse is obtained from a database read-only instance.

[0178] Exemplarily, the above-mentioned interaction module 102, data analysis module 104, and warehouse management module 106 can be implemented through hardware or software.

[0179] When implemented by software, the interaction module 102, the data analysis module 104, and the warehouse management module 106 can be applications 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-mentioned applications can be virtualized through virtualization services to be provided to users. Virtualization services can include virtual machine (VM) services, bare metal server (BMS) services, and container services. Among them, the VM service can be a service that uses virtualization technology to virtualize a virtual machine (VM) resource pool on multiple physical hosts to provide VMs for users to use on demand. The BMS service is a service that virtualizes a BMS resource pool on multiple physical hosts to provide BMS for users to use on demand. The container service is a service that virtualizes a container resource pool on multiple physical hosts to provide containers for users to use on demand. VM is a simulated virtual computer, that is, a logical computer. BMS is a high-performance computing service that is elastically scalable and has computing performance that is no different from that of a traditional physical machine and has the characteristics of secure physical isolation. Containers are a kernel virtualization technology that provides lightweight virtualization to isolate user spaces, processes, and resources. It should be understood that the VM service, BMS service, and container service mentioned above are merely specific examples. In actual applications, virtualization services can also include other lightweight or heavyweight virtualization services, which are not specifically limited here.

[0180] When implemented through hardware, the interaction module 102, the data analysis module 104, and the warehouse management module 106 may include at least one computing device, such as a server. Alternatively, the interaction module 102, the data analysis module 104, and the warehouse management module 106 may be implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

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

[0182] Bus 702 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, among others. Buses may be classified as address buses, data buses, control buses, and the like. For ease of illustration, FIG7 illustrates a single bus line, but this does not imply a single bus or type of bus. Bus 702 may include a path for transmitting information between various components of computing device 700 (e.g., memory 706, processor 704, and communication interface 708).

[0183] The processor 704 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0184] The memory 706 may include a volatile memory, such as a random access memory (RAM). The memory 706 may also include a non-volatile memory, such as a read-only memory (ROM), a 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 aforementioned product warehouse management method. Specifically, the memory 706 stores instructions for the warehouse management system 100 to execute the product warehouse management method.

[0185] 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.

[0186] 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 smartphone.

[0187] As shown in Figure 8, the computing device cluster includes at least one computing device 700. The memory 706 of one or more computing devices 700 in the computing device cluster may store the same instructions of the warehouse management system 100 for executing the product warehouse management method.

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

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

[0190] Figure 9 illustrates a possible implementation. As shown in Figure 9, two computing devices 700A and 700B are connected via a communication interface 708. The memory of computing device 700A stores instructions for executing the functions of interaction module 102 and warehouse management module 106. The memory of computing device 700B stores instructions for executing the functions of data analysis module 104. In other words, the memories 706 of computing devices 700A and 700B jointly store instructions for the warehouse management system 100 to execute the product warehouse management method.

[0191] The connection method between the computing device clusters shown in FIG9 may be considered to take into account that the product warehouse management method provided in this application requires a large amount of computing power to analyze aggregation relationships, warehouse health, etc. Therefore, it is considered to delegate the functions implemented by the data analysis module 104 to a separate computing device, such as computing device 700B.

[0192] It should be understood that the functionality of the computing device 700A shown in FIG9 may also be implemented by multiple computing devices 700. Similarly, the functionality of the computing device 700B may also be implemented by multiple computing devices 700.

[0193] In some possible implementations, one or more computing devices in a computing device cluster may be connected via a network. The network may be a wide area network (WAN) or a local area network (LAN), etc. FIG10 illustrates a possible implementation. As shown in FIG10 , two computing devices 700C and 700D are connected via a network. Specifically, the network is connected via a communication interface in each computing device. In this type of possible implementation, the memory 706 in the computing device 700C stores instructions for executing the functions of the interaction module 102 and the warehouse management module 106. Simultaneously, the memory 706 in the computing device 700D stores instructions for executing the functions of the data analysis module 104.

[0194] The connection method between the computing device clusters shown in Figure 10 can be considered to be that the management method of the product warehouse provided in this application requires a lot of computing power for warehouse analysis, so it is considered to entrust the functions implemented by the data analysis module 104 to the computing device 700D for execution.

[0195] It should be understood that the functionality of the computing device 700C shown in FIG10 may also be accomplished by multiple computing devices 700. Similarly, the functionality of the computing device 700D may also be accomplished by multiple computing devices 700.

[0196] The present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by a computing device, 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 (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute the above-described management method for a product warehouse applied to the warehouse management system 100.

[0197] Embodiments of the present application also provide a computer program product containing instructions. The computer program product may be software or a program product containing instructions that can be executed on a computing device or stored on any available medium. When the computer program product is executed on at least one computing device, the at least one computing device executes the aforementioned product warehouse management method.

[0198] 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 aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions 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 aggregate 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 managed warehouse in the warehouse content evaluation dimension includes at least one of the storage capacity of a single warehouse, the data volume of the largest product in a single warehouse, the proportion of the number of non-built products, the proportion of the number 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 storage capacity of a single warehouse, the cache hit rate, and the proportion of products that have not been used for a long time. Quantity percentage.

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.

Citation Information

Patent Citations

  • Aggregation file deleting method, system and device and readable storage medium

    CN107958079A

  • File management method and system, electronic equipment and storage medium

    CN112162949A

  • Server software package management and deployment method and system

    CN114253562A

  • Product cleaning method and device and computer readable storage medium

    CN115617788A

  • Data deduplication method, node, and computer readable storage medium

    EP4209919A1

Cited By

  • Software repository management method and system, electronic equipment, storage medium and program product

    CN120276756A