Method and device for acquiring software directory and storage medium
By obtaining and parsing the information files of open source components, the directory tree of software catalogs is automatically generated, which solves the problem of low efficiency in obtaining software catalogs in the existing technology, and realizes automated software catalog management.
Patent Information
- Application Number
- CN202311684482.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-08
- Publication Date
- 2025-06-10
AI Technical Summary
In the prior art, the efficiency of obtaining open source software catalogs is low, mainly due to the need to manually establish and maintain software catalogs.
By obtaining the information files of multiple components, including component information, metadata and software code base information, the directory tree of the software directory is automatically generated to describe the mapping relationship between software information, component information and metadata.
It improves the efficiency of obtaining software catalogs, reduces manual intervention, and realizes automated software catalog generation and management.
Smart Images

Figure CN120122984A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communications, and particularly to a method, apparatus, and storage medium for obtaining a software directory. Background Art
[0002] Open-source components refer to components whose source code is publicly released by developers in the field of computer science. Using open-source components can greatly improve the efficiency of software development. When developing open-source software, one or more open-source components can be referenced, enabling software developers to focus more on unique code development and avoid reinventing the wheel.
[0003] For a large number of currently developed open-source software, each open-source software often references one or more open-source components. A software directory can be manually created, which reflects each open-source software and the open-source components it references. The software directory brings convenience and speed to the governance of open-source software. However, the software directory is created manually, reducing the efficiency of obtaining the software directory. Summary of the Invention
[0004] This application provides a method, apparatus, and storage medium for obtaining a software directory to improve the efficiency of obtaining the software directory. The technical solution is as follows:
[0005] In a first aspect, this application provides a method for obtaining a software directory. In the method, information files of multiple components are obtained. The multiple components include a first component. The information file of the first component includes the component information of the first component, the metadata of the first component, and the code library information of the first software to which the first component belongs. The code library information is used to indicate the source code library of the first software, and the source code library is used to store the source code of the first software. The software information of the first software is obtained based on the code library information of the first software. At least one component belonging to the first software is obtained from the multiple components based on the software information of the first software. A software directory is generated, and the software directory includes a first directory tree. The first directory tree is used to describe the mapping relationship between the software information of the first software, the component information of the at least one component, and the metadata of the at least one component.
[0006] Since the information file of the first component obtained includes the component information of the first component, the metadata of the first component, and the code library information of the first software to which the first component belongs, the software information of the first software is obtained based on the code library information of the first software, so that the component information of the first component and the software information of the first software corresponding to the first component can be obtained. In this way, based on the software information of the first software, at least one component belonging to the first software can be obtained from the multiple components, so that a first directory tree for describing the mapping relationship between the software information of the first software, the component information of the at least one component, and the metadata of the at least one component can be automatically generated. The software directory includes the first directory tree, that is, the software directory can be automatically generated, improving the efficiency of obtaining the software directory.
[0007] In a possible implementation manner, the first directory tree includes a first-level directory, a second-level directory corresponding to the at least one component, and a third-level directory corresponding to the at least one component. The at least one component includes the first component. The second-level directory corresponding to the first component is a sub-directory of the first-level directory, and the third-level directory corresponding to the first component is a sub-directory of the second-level directory corresponding to the first component. The first-level directory includes the software information of the first software, the second-level directory corresponding to the first component includes the component information of the first component, and the third-level directory of the first component includes the metadata of the first component. In this way, there is an association relationship between the first software, the first component, and the metadata of the first component, which is convenient for using the first directory tree to manage and maintain the first software and the first component of the first software.
[0008] In another possible implementation manner, the information file of the first component includes information files of multiple versions. The metadata included in each version of the information file is the metadata of the first component of each version respectively. The third-level directory corresponding to the first component includes multiple third-level directories corresponding to the multiple versions. The third-level directory corresponding to each version respectively includes the metadata of the first component of each version. In this way, the first component is associated with the metadata of the first component of each version, which is convenient for using the first directory tree to manage and maintain the first component and the metadata of the first component of each version.
[0009] In another possible implementation, the multiple components further include a second component. The information file of the second component includes the component information of the second component, the metadata of the second component, and the code library information of the second software to which the second component belongs. The software information of the second software is obtained based on the code library information of the second software. Based on the software information of the second software, at least one component belonging to the second software is obtained from the multiple components. The software directory further includes a second directory tree, which is used to describe the mapping relationship between the software information of the second software, the component information of at least one component of the second software, and the metadata of at least one component of the second software. This can make the software directory include directory trees corresponding to different software, facilitating the management of different software and the components in the software.
[0010] In another possible implementation, the code library information of the first software includes the domain name of the source code hosting website of the first software, the group information to which the source code library of the first software belongs, and the library name of the source code library of the first software. The software information of the first software includes one or more of the following: the domain name of the source code hosting website, the group information, or the library name. This can standardize the software information, making the format of the software information of each software consistent and facilitating management.
[0011] In another possible implementation, the information file of the first component includes one or more of the following files: the description file of the first component or the metadata file of the first component. The description file includes the first part of the metadata of the first component, and the metadata file includes the second part of the metadata of the first component. The metadata of the first component includes the first part of the metadata, the second part of the metadata, or the union between the first part of the metadata and the second part of the metadata. This can enrich the metadata of the first component.
[0012] In another possible implementation, the metadata of the first component includes one or more of the following information: the version of the first component, the license information of the first component, the author information of the first component, or the dependency information, where the dependency information is used to describe at least one component called by the first component.
[0013] In a second aspect, the present application provides an apparatus for obtaining a software directory, which is used to execute the method in the first aspect or any one of the possible implementations of the first aspect. Specifically, the apparatus includes units for executing the method in the first aspect or any one of the possible implementations of the first aspect.
[0014] In a third aspect, the present application provides a computing device cluster, which includes at least one computing device. Each device in the at least one computing device includes at least one processor and at least one memory, and computer-readable instructions are stored in the at least one memory; the at least one processor executes the computer-readable instructions to cause the computing device cluster to execute the method in the first aspect or any possible implementation manner of the first aspect.
[0015] In a fourth aspect, the present application provides a computer program product, which includes a computer program stored in a computer-readable storage medium, and the computing program is loaded by a processor to implement the method in the first aspect or any possible implementation manner of the first aspect.
[0016] In a fifth aspect, the present application provides a computer-readable storage medium for storing a computer program, and the computer program is loaded by a processor to execute the method in the first aspect or any possible implementation manner of the first aspect.
[0017] In a sixth aspect, the present application provides a chip, which includes a memory and a processor. The memory is used to store computer instructions, and the processor is used to call and run the computer instructions from the memory to execute the method in the first aspect or any possible implementation manner of the first aspect. Description of the Drawings
[0018] Figure 1 is a schematic diagram of a network architecture provided by an embodiment of the present application;
[0019] Figure 2 is a schematic diagram of another network architecture provided by an embodiment of the present application;
[0020] Figure 3 is a flowchart of a method for obtaining a software directory provided by an embodiment of the present application;
[0021] Figure 4 is a schematic diagram of the structure of a software directory provided by an embodiment of the present application;
[0022] Figure 5 is a schematic diagram of the structure of another software directory provided by an embodiment of the present application;
[0023] Figure 6 is a schematic diagram of the structure of a device for obtaining a software directory provided by an embodiment of the present application;
[0024] Figure 7 is a schematic diagram of the structure of another computing device provided by an embodiment of the present application;
[0025] Figure 8It is a schematic structural diagram of another computing device cluster provided by an embodiment of the present application;
[0026] Figure 9 It is a schematic structural diagram of another computing device cluster provided by an embodiment of the present application. Detailed implementation manners
[0027] Refer to Figure 1 , an embodiment of the present application provides a network architecture 100. The network architecture 100 includes a computing device 101 and a component repository 102, and the computing device 101 communicates with the component repository 102.
[0028] The component repository 102 corresponds to a programming language. The component repository 102 includes index files of multiple components of the programming language, and the multiple components are components written in the programming language.
[0029] For example, the component repository 102 corresponds to the Java language, and the component repository 102 includes index files of multiple components written in the Java language. For another example, the component repository 102 corresponds to the C++ language, and the component repository 102 includes index files of multiple components written in the C++ language.
[0030] For each component, for the convenience of description, the component is referred to as the first component. The index file of the first component includes one or more of the following: a description file of the first component or a data packet of the first component, etc. Optionally, the data packet may be a data packet in binary format, that is, the data packet may be a binary data packet.
[0031] The description file of the first component is used to describe the basic information of the first component. Optionally, the description file of the first component includes one or more of the following information: component information of the first component, metadata of the first component, or code library information of the first software to which the first component belongs, etc.
[0032] In some embodiments, the component information of the first component may include the name of the first component and / or identification information of the first component, etc.
[0033] Optionally, the description file of the first component includes line-by-line program code.
[0034] Optionally, the program code may be code written in the programming language corresponding to the component repository 102. The description file of the first component includes a first tag corresponding to the component information. The first tag includes a start tag and an end tag, and the component information of the first component is located between the start tag and the end tag included in the first tag.
[0035] For example, the description file of the first component stores the following program code: <groupid>com.name1< / groupid> . The program code includes the start tag of the first tag "<groupid>”, the end tag of the first label< / groupid> ", and the name of the first component, "com.name1", located between the start tag " <groupid>” and the end tag< / groupid> ".
[0036] In some embodiments, the metadata of the first component includes one or more of the following types of metadata: the version of the first component, the license information of the first component, the author information of the first component, or dependency information, etc., where the dependency information is used to describe at least one component called by the first component. Optionally, the dependency information may include the component information of the at least one component.
[0037] Optionally, the description file of the first component includes tags corresponding to each type of metadata, and each type of metadata is respectively located between the start tag and the end tag included in the tag corresponding to each type of metadata.
[0038] In some embodiments, the description file of the first component includes a version tag corresponding to the version, and the version of the first component is located between the start tag and the end tag included in the version tag.
[0039] For example, the description file of the first component stores the following program code: <version> V2< / version> . The program code includes the start tag of the version tag " <version>”, the end tag of this version label< / version> ", and the version of the first component, "V2", located between the start tag " <version>” and the end tag< / version> ".
[0040] In some embodiments, the description file of the first component includes a license tag corresponding to the license information, and the license information of the first component is located between the start tag and the end tag included in the license tag.
[0041] For example, the description file of the first component stores the following program code: <license>abdc-license1< / license> . The program code includes the start tag of the license tag " <license>”, the end tag of this license label< / license> ", and the license information of the first component, "abdc-license1", located between the start tag " <license>” and the end tag< / license> ".
[0042] In some embodiments, the description file of the first component includes an author tag corresponding to the author information, and the author information of the first component is located between the start tag and the end tag included in the author tag. Optionally, the author information of the first component may include one or more of the following information: the author name of the first component, or the contact information of the author of the first component, etc. For example, the contact information of the author may include the email address and / or phone number of the author of the first component.
[0043] The author tags include the tags corresponding to each piece of information in the author information, and each piece of information in the author information is respectively located between the start tag and the end tag included in the tag corresponding to each piece of information.
[0044] For example, the component file of the first component stores the following program code:
[0045] <developer>
[0046] <name>people-name2< / name>
[0047] <email>123**@c.com< / email>
[0048] < / developer> 。
[0049] The program code includes the start tag " <developer>”, the end tag of the author label< / developer> " of the author tag, and, between the start tag " <developer>” and the end tag< / developer> ", the author name "people-name2" and the author contact information "123**@acac.com" of the first component.
[0050] The author tags include the name tag corresponding to the author name and the contact information tag corresponding to the author contact information. The author name "people-name2" of the first component is located between the start tag " <name>” and the end tag< / name> " included in the name tag corresponding to the author name. The author contact information "123**@acac.com" of the first component is located between the start tag " <email>” and the end tag< / email> " included in the contact information tag corresponding to the author contact information.
[0051] In some embodiments, the description file of the first component includes the dependency tags corresponding to the dependency information, and the dependency information of the first component is located between the start tag and the end tag included in the dependency tag. Optionally, the dependency information of the first component may include the names of at least one component called by the first component.
[0052] For each of the at least one component, the dependency tag includes the first tag corresponding to each component, and the name of each component is respectively located between the start tag and the end tag included in the first tag corresponding to each component.
[0053] For example, the description file of the first component stores the following program code:
[0054] <dependency>
[0055] <groupid>com.name2< / groupid>
[0056] <groupid>com.name3< / groupid>
[0057] <groupid>com.name4< / groupid>
[0058] < / dependency> 。
[0059] The program code includes the start tag " <dependency>”, the end tag of the dependency label< / dependency> " of the dependency tag, and, between the start tag " <dependency>” and the end tag< / dependency> ", the names "com.name2", "com.name3", "com.name4" of three components.
[0060] The dependency tag includes three first tags, and the name "com.name2" of the first component is located between the start tag " <groupid>” and the end tag< / groupid>” between. The name of the second component, "com.name3", is located between the start tag of the second first tag " <groupid>” and the end tag< / groupid> ” between. The name of the third component, "com.name3", is located between the start tag of the third first tag " <groupid>” and the end tag< / groupid> ” between.
[0061] In some embodiments, the code library information of the first software includes information such as the domain name of the source code hosting website of the first software, the group information to which the source code library of the first software belongs, and the library name of the source code library of the first software. The source code library of the first software is used to store the source code of the first software.
[0062] Optionally, the code library information of the first software may be the link address of the source code library of the first software.
[0063] Optionally, the description file of the first component includes a second tag corresponding to the code library information. The second tag includes a start tag and an end tag, and the code library information of the first software to which the first component belongs is located between the start tag and the end tag included in the second tag.
[0064] For example, the description file of the first component stores the following program code: <url>https: / / acac.com / group-ba / fastjson2< / url> . The program code includes the start tag of the second tag " <url>”, the end tag of the second label< / url> ", and, located between the start tag " <url>” and the end tag< / url> " is the code library information. The code library information includes the domain name of the source code hosting website "acac.com", the group information "group-ba" to which the source code library of the first software belongs, and the library name "fastjson2" of the source code library of the first software.
[0065] In some embodiments, the computing device 101 may display a configuration interface, and technicians can configure tags in the configuration interface. The configured tags include the above-mentioned first tag, second tag, version tag, license tag, and / or dependency tag, etc. In this way, the computing device 101 obtains the configured tags from the configuration interface, and when obtaining the description file of the component, identifies the configured tags from the description file and reads the information located between the start tag and the end tag of the identified tags.
[0066] In some embodiments, for the data packet included in the index file of the first component, the data packet includes the metadata file of the first component, etc., and the first metadata file includes the metadata of the first component.
[0067] Optionally, the data packet may also include the source code file of the first component, etc.
[0068] Optionally, the source code file is a binary source code file of the first component, and the binary source code file includes source code in binary format, and the source code is the source code of the first component.
[0069] The description file of the first component may include the first part of the metadata of the first component, and the metadata file of the first component may include the second part of the metadata of the first component. The first part of the metadata and the second part of the metadata may have no intersection or may have an intersection. The metadata of the first component includes the first part of the metadata, the second part of the metadata, or the union between the first part of the metadata and the second part of the metadata.
[0070] In some embodiments, the index file of the first component may further include information such as the hash value of the index file of the first component, and the hash value is obtained by performing a hash operation on the index file of the first component.
[0071] In some embodiments, the index file of the first component in the component repository 102 includes one or more versions of the index file, that is, the component repository 102 includes at least one index file of the first component. Optionally, the multiple versions of the index file are the index files of the multiple versions of the first component.
[0072] The computing device 101 is configured to obtain the index file of each component in the multiple components from the component repository 102, and parse the index file of each component to obtain the information file of each component. Among them, the multiple components include the above-mentioned first component, and the information file of the first component includes the component information of the first component, the metadata of the first component, and the code library information of the first software to which the first component belongs. Based on the code library information of the first software, the software information of the first software is obtained, so that the software information of the first software corresponding to the first component is obtained. In the above manner, the software information of the software corresponding to each component in the multiple components can be obtained.
[0073] In this way, the computing device 101 can obtain at least one component belonging to the first software from the multiple components based on the software information of the first software. A software directory is generated, and the software directory includes a first directory tree. The first directory tree corresponds to the first software, and the first directory tree is used to describe the mapping relationship between the software information of the first software, the component information of the at least one component, and the metadata of the at least one component.
[0074] In some embodiments, the software directory further includes directory trees corresponding to other software. For example, the multiple components further include at least one component belonging to the second software, and the software directory further includes a second directory tree corresponding to the second software. The second directory tree is used to describe the mapping relationship between the software information of the second software, the component information of at least one component corresponding to the second software, and the metadata of at least one component corresponding to the second software.
[0075] In some embodiments, the information file of the first component includes one or more of the following files: a description file of the first component, a metadata file of the first component, etc.
[0076] In some embodiments, referring to Figure 2 , the network architecture 100 may include a plurality of component repositories 102, which correspond to a plurality of programming languages. Each component repository 102 corresponding to a programming language includes index files of a plurality of components written in each programming language.
[0077] The computing device 101 may respectively obtain the index files of the plurality of components corresponding to each programming language from the component repository 102 corresponding to each programming language, and respectively generate a software directory corresponding to each programming language based on the index files of the plurality of components corresponding to each programming language.
[0078] In some embodiments, the computing device 101 may be a terminal device. For example, the computing device 101 may be a personal computer or a laptop computer, etc. Alternatively, the computing device 101 may be a device included in a cloud service platform. For example, the computing device 101 may be a server included in a cloud service platform, and obtaining the software directory is a cloud service provided by the cloud service platform.
[0079] Referring to Figure 3 , an embodiment of the present application provides a method 300 for obtaining a software directory. The method 300 is applied to Figure 1 or Figure 2 the network architecture 100 shown. The execution subject of the method 300 may be the computing device 101 in the network architecture 100. The method 300 includes the following processes.
[0080] Step 301: Obtain index files of a plurality of components from a component repository, and obtain information files of the plurality of components from the index files of the plurality of components.
[0081] For each of the plurality of components, for the sake of convenience of description, this component is referred to as the first component. The information file of the first component includes component information of the first component, metadata of the first component, and code library information of the first software to which the first component belongs, etc.
[0082] In step 301, the computing device obtains the index files of the multiple components from the component repository, parses the index files of the multiple components, and obtains the information files of the multiple components. Optionally, the information file of the first component includes one or more of the following files: the description file of the first component or the metadata file of the first component. The description file includes the first part of the metadata of the first component, and the metadata file includes the second part of the metadata of the first component. The metadata of the first component includes the first part of the metadata, the second part of the metadata, or the union between the first part of the metadata and the second part of the metadata.
[0083] Optionally, the component repository may include the index files of at least one version of the first component, and the index file of each version is respectively the index file of the first component of each version. In step 301, the computing device can obtain the index files of at least one version of the first component from the component repository, and obtain the information files of at least one version of the first component from the at least one index file. The information files of the at least one version include the description files of at least one version and / or the metadata files of at least one version, etc.
[0084] In step 301, the information file of the first component can be obtained through the following operations 3011 - 3013, and for other components, the information files of other components are also obtained through the following operations 3011 - 3013 in the same way as the first component.
[0085] 3011: The computing device obtains the index file of the first component from the component repository.
[0086] In some embodiments, the component repository may include at least one index file of the first component, so the computing device can obtain at least one index file of the first component from the component repository, that is, it can obtain the index files of at least one version of the first component from the component repository. Then, the following operations are performed on the index file of each version.
[0087] In some embodiments, the computing device includes a crawling module, and can crawl at least one index file of the first component from the component repository through the crawling module.
[0088] 3012: The computing device verifies the integrity of the index file of the first component. When the index file of the first component is verified to be complete, operation 3013 is performed.
[0089] Each index file of the first component respectively includes the hash value of each index file. For each index file of the first component, the computing device performs a hashing operation on the index file of the first component to obtain a hash value. Compare the calculated hash value with the hash value included in the index file. If the two are the same, it is verified that the index file is complete, and the operation of 3013 below is executed; if the two are different, it is verified that the index file is incomplete, and the index file is discarded.
[0090] 3013: The computing device parses the index file of the first component to obtain the information file of the first component. The information file of the first component includes the description file of the first component and / or the metadata file of the first component.
[0091] In some embodiments, the index file of the first component may be a compressed file after being compressed. The computing device can decompress the index file of the first component and parse the information file of the first component from the decompressed index file.
[0092] The index file of the first component may include at least one version of the index file. The above operations of 3012-3013 are respectively performed on each version of the index file to obtain the information file of each version of the first component. The information file of each version is respectively the information file of each version of the first component.
[0093] For other components in the component repository except the first component, the computing device repeatedly executes the above operations of 3011-3013 to obtain the information file of at least one version of other components.
[0094] For example, other components include the second component. The computing device obtains the index file of the second component from the component repository, verifies the integrity of the index file of the second component, and when verifying that the index file of the second component is complete, parses the index file of the second component to obtain the information file of the second component.
[0095] In some embodiments, when first obtaining the index files of multiple components from the component repository, the computing device can cache the status information of each component. The status information of the component includes one or more of the following: the component information of the component, the version of the component, or the hash value of the index file of the component, etc. Optionally, the component repository may include the status information of each component.
[0096] After first obtaining the index files of multiple components from the component repository, the computing device can periodically or irregularly obtain the status information of each component in the component repository, and based on the status information of each component in the component repository and the status information of each component cached locally, obtain the index files of multiple components from the component repository. The multiple components include one or more of the following components: new components, components of a new version, or other changed components, etc. Other changed components can include components whose index files have changed based on the hash values of the index files. For example, if the hash value of the index file of a certain version of a component in the component repository is different from the hash value of the index file of this version of the component in the local area, it indicates that the index file of this version of the component has changed. Therefore, the index file of this version of the component can be obtained from the component repository. In this way, the index files of multiple components can be obtained from the component repository quickly, timely, and accurately, and the repeated acquisition of the same index files can be avoided, which can improve the efficiency of obtaining the index files of components and save network resources.
[0097] Step 302: Parse the information files of the multiple components to obtain the component information, metadata of the multiple components, and the code library information of the software to which the multiple components belong.
[0098] For the first component among the multiple components, in the case where the information file of the first component includes the description file of the first component, parse the description file of the first component to obtain the first part of the metadata of the first component.
[0099] Optionally, in implementation, for the component information of the first component, the computing device identifies the first tag corresponding to the component information from the description file of the first component, and obtains the component information of the first component located between the start tag and the end tag of the first tag.
[0100] For the metadata of the first component, the computing device identifies the tag corresponding to each type of metadata from the description file of the first component, obtains the metadata between the start tag and the end tag included in the tag corresponding to each type of metadata, and obtains each piece of metadata of the first component. The first part of the metadata of the first component includes each piece of this metadata.
[0101] For example, the computing device identifies the version tag corresponding to the first component from the description file of the first component, and obtains the version between the start tag and the end tag included in the version tag, so as to obtain the version of the first component.
[0102] Also for example, the computing device identifies the license tag corresponding to the first component from the description file of the first component, and obtains the license information between the start tag and the end tag included in the license tag, so as to obtain the license information of the first component.
[0103] For another example, the computing device identifies the author tag corresponding to the first component from the description file of the first component, obtains the author information between the start tag and the end tag included in the author tag, and obtains the author information of the first component.
[0104] For another example, the computing device identifies the dependency tag corresponding to the first component from the description file of the first component, obtains the dependency information between the start tag and the end tag included in the dependency tag, and obtains the dependency information of the first component.
[0105] The dependency tag includes the first tags of at least one component, and the at least one component is a component called by the first component. The computing device identifies the first tags of the at least one component between the start tag and the end tag of the first tag, obtains the component information of the at least one component from the first tags of the at least one component, and the dependency information of the first component includes the component information of the at least one component.
[0106] In this way, the first part of the metadata of the first component is obtained, and the first part of the metadata includes one or more of the following: the version of the first component, the license information of the first component, the author information of the first component, or the dependency information of the first component, etc.
[0107] Regarding the code library information of the first software to which the first component belongs, the computing device identifies the second tag corresponding to the code library information from the description file of the first component, and obtains the code library information of the first software located between the start tag and the end tag of the second tag.
[0108] Optionally, the validity of the code library information of the first software can also be verified. When it is verified that the code library information of the first software is invalid, the code library information of the first software can be discarded.
[0109] Optionally, the code library information of the first software can be the link address of the source code library of the first software. The computing device accesses the source code library of the first software based on the code library information of the first software. If the source code library of the first software can be successfully accessed, it is verified that the code library information of the first software is valid. If the source code library of the first software cannot be successfully accessed, it is verified that the code library information of the first software is invalid.
[0110] The description file of the first component may be the description files of at least one version. Parse the description files of each version to obtain the first part of the metadata of each version of the first component. The first part of the metadata of each version is respectively the first part of the metadata of the first component of each version.
[0111] Optionally, the component information of the first component of each version may be the same, and the software code library information of the first software to which the first component of each version belongs may be the same.
[0112] For components other than the first component, parse the information files of the other components to obtain the component information of the other components, the first part of metadata, and the code library information of the software to which the other components belong.
[0113] For example, if the other components include a second component, parse the information file of the second component to obtain the component information of the second component, the first part of metadata, and the code library information of the second software to which the second component belongs.
[0114] In the case where the information file of the first component includes the metadata file of the first component, read the second part of metadata of the first component from the metadata file of the first component. Among them, the metadata of the first component includes the first part of component metadata of the first component, the second part of metadata of the first component, or the union between the first part of metadata and the second part of metadata.
[0115] For example, when the second part of metadata is not obtained but the first part of metadata is obtained, the metadata of the first component includes the first part of component metadata of the first component. When the first part of metadata is not obtained but the second part of metadata is obtained, the metadata of the first component includes the second part of component metadata of the first component. When both the first part of metadata and the second part of metadata are obtained, the metadata of the first component includes the union between the first part of metadata and the second part of metadata of the first component.
[0116] The second part of metadata includes one or more of the following information: the version of the first component, the license information of the first component, the author information of the first component, or the dependency information of the first component, etc.
[0117] The metadata file of the first component may have at least one version of metadata file. From each version of the metadata file, obtain the second part of metadata of each version of the first component. The second part of metadata of each version is respectively the second part of metadata of each version of the first component.
[0118] Similarly, the metadata of the first component includes the metadata of at least one version of the first component. For the metadata of each version, the metadata of this version includes the first part of metadata of this version, the second part of metadata of this version, or the union between the first part of metadata and the second part of metadata of this version.
[0119] For components other than the first component, obtain the second part of metadata from the metadata file of the other components, so as to obtain the metadata of the other components.
[0120] Step 303: Based on the code library information of the software to which each component belongs, respectively obtain the software information of the software to which each component belongs. The software to which each component belongs includes the first software.
[0121] For the above-mentioned first component included in the multiple components, the code library information of the first software to which the first component belongs includes the domain name of the source code hosting website of the first software, the group information to which the source code library of the first software belongs, and the library name of the source code library of the first software.
[0122] Obtain the software information of the first software based on the code library information of the first software. The software information of the first software includes one or more of the following: the domain name of the source code hosting website, the group information, or the library name. Optionally, the component information of the first component can be associated with the software information of the first software.
[0123] For other components other than the first component, based on the code library information of the software to which the other components belong, obtain the software information of the software to which the other components belong. The component information of the other components can also be associated with the software information of the software to which the other components belong.
[0124] For example, assume that the multiple components further include a second component. Based on the code library information of the second software to which the second component belongs, obtain the software information of the second software. The component information of the second component can also be associated with the software information of the second software.
[0125] Optionally, the information types included in the software information of the first software are the same as those included in the software information of the second software.
[0126] For example, the software information of the first software includes the domain name of the source code hosting website of the first software and the group information to which the source code library of the first software belongs, and the software information of the second software includes the domain name of the source code hosting website of the second software and the group information to which the source code library of the second software belongs.
[0127] For another example, the software information of the first software includes the domain name of the source code hosting website of the first software and the library name of the source code library of the first software, and the software information of the second software includes the domain name of the source code hosting website of the second software and the library name of the source code library of the second software.
[0128] For another example, the software information of the first software includes the group information to which the source code library of the first software belongs and the library name of the source code library of the first software, and the software information of the second software includes the group information to which the source code library of the second software belongs and the library name of the source code library of the second software.
[0129] For another example, the software information of the first software includes the domain name of the source code hosting website of the first software, the group information to which the source code library of the first software belongs, and the library name of the source code library of the first software, and the software information of the second software includes the domain name of the source code hosting website of the second software, the group information to which the source code library of the second software belongs, and the library name of the source code library of the second software.
[0130] Thus, the software information of the software to which the multiple components belong is standardized, and the format of the software information of each software remains consistent, facilitating management.
[0131] Step 304: Based on the software information of the first software, obtain at least one component belonging to the first software from the multiple components.
[0132] In step 304, based on the software information of the first software, obtain at least one component information associated with the software information of the first software, and the at least one component corresponding to the at least one component information is at least one component belonging to the first software.
[0133] Step 305: Generate a software directory, where the software directory includes a first directory tree corresponding to the first software, and the first directory tree is used to describe the mapping relationship between the software information of the first software, the component information of at least one component of the first software, and the metadata of at least one component of the first software.
[0134] In some embodiments, for at least one component of the first software, the first directory tree includes a first-level directory corresponding to the first software, a second-level directory corresponding to the at least one component, and a third-level directory corresponding to the at least one component. Assume that the at least one component includes a first component, the second-level directory corresponding to the first component is a sub-directory of the first-level directory, and the third-level directory corresponding to the first component is a sub-directory of the second-level directory corresponding to the first component.
[0135] See Figure 4 , the first-level directory corresponding to the first software includes the software information of the first software, the second-level directory corresponding to the first component includes the component information of the first component, and the third-level directory of the first component includes the metadata of the first component.
[0136] Also assume that the at least one component further includes a third component, the second-level directory corresponding to the third component is a sub-directory of the first-level directory, and the third-level directory corresponding to the third component is a sub-directory of the second-level directory corresponding to the third component. The second-level directory corresponding to the third component includes the component information of the third component, and the third-level directory of the third component includes the metadata of the third component.
[0137] See Figure 4 , the software directory further includes a directory tree corresponding to other software. For example, the software directory further includes a second directory tree corresponding to the second software, and the second directory tree is used to describe the mapping relationship between the software information of the second software, the component information of at least one component of the second software, and the metadata of at least one component of the second software.
[0138] For at least one component of the second software, the second directory tree includes a first-level directory corresponding to the second software, a second-level directory corresponding to the at least one component, and a third-level directory corresponding to the at least one component. The at least one component includes the above-mentioned second component. The second-level directory corresponding to the second component is a sub-directory of the first-level directory corresponding to the first software, and the third-level directory corresponding to the second component is a sub-directory of the second-level directory corresponding to the second component.
[0139] The first-level directory corresponding to the second software includes software information of the second software. The second-level directory corresponding to the second component includes component information of the second component. The third-level directory of the second component includes metadata of the second component.
[0140] It is further assumed that at least one component of the second software further includes a fourth component. The second-level directory corresponding to the fourth component is a sub-directory of the first-level directory corresponding to the second software, and the third-level directory corresponding to the fourth component is a sub-directory of the second-level directory corresponding to the fourth component. The second-level directory corresponding to the fourth component includes component information of the fourth component. The third-level directory of the fourth component includes metadata of the fourth component.
[0141] In some embodiments, referring to Figure 5 , the computing device may obtain metadata of at least one version of the first component. The third-level directory corresponding to the first component includes at least one third-level directory corresponding to the at least one version. The third-level directory of each version includes metadata of each version.
[0142] For example, the first component has metadata of multiple versions, namely metadata 11 of version V11, metadata 12 of version V12, and metadata 13 of version V13. The third-level directory corresponding to the first component includes three third-level directories corresponding to the three versions. The three third-level directories include metadata 11 of version V11, metadata 12 of version V12, and metadata 13 of version V13.
[0143] For another example, the third component has metadata of multiple versions, namely metadata 31 of version V31 and metadata 32 of version V32. The third-level directory corresponding to the third component includes two third-level directories corresponding to the two versions. The two third-level directories include metadata 31 of version V31 and metadata 32 of version V32.
[0144] For yet another example, the second component has metadata of one version, namely metadata 21 of version V21. The third-level directory corresponding to the second component includes one third-level directory. The one third-level directory includes metadata 21 of version V21.
[0145] For another example, the fourth component has multiple versions of metadata, namely metadata 41 of version V41, metadata 42 of version V42, and metadata 43 of version V43. The three-level directory corresponding to the fourth component includes three three-level directories corresponding to the three versions, and the three three-level directories include metadata 41 of version V41, metadata 42 of version V42, and metadata 43 of version V43.
[0146] In the embodiments of the present application, since the computing device obtains index files of multiple components from the component repository, and the multiple components include the first component. An information file of the first component is obtained from the index file of the first component, and the obtained information file of the first component includes the component information of the first component, the metadata of the first component, and the code library information of the first software to which the first component belongs. Based on the code library information of the first software, the software information of the first software is obtained, so that the component information of the first component and the software information of the first software can be associated. Repeating the above process can obtain the component information, metadata, and code library information of the software to which other components belong, and associate the component information of other components and the software information of the software. In this way, based on the software information of each software, at least one component belonging to each software can be respectively obtained from the multiple components, so that a directory tree corresponding to each software can be automatically generated. Among them, the first directory tree corresponding to the first software is used to describe the mapping relationship between the software information of the first software, the component information of the at least one component, and the metadata of the at least one component. In this way, a software directory can be automatically generated, improving the efficiency of obtaining the software directory.
[0147] See Figure 6 , the embodiments of the present application provide a device 600 for obtaining a software directory. The device 600 can be deployed on Figure 1 or Figure 2 the computing device 101 in the network architecture 100 shown, or the device 600 can be deployed on Figure 3 the computing device in the method 300 shown. The device 600 includes:
[0148] An obtaining unit 601, configured to obtain information files of multiple components, where the multiple components include a first component, and the information file of the first component includes the component information of the first component, the metadata of the first component, and the code library information of the first software to which the first component belongs. The code library information is used to indicate the source code library of the first software, and the source code library is used to store the source code of the first software;
[0149] The obtaining unit 601 is further configured to obtain the software information of the first software based on the code library information of the first software;
[0150] The obtaining unit 601 is further configured to obtain at least one component belonging to the first software from the multiple components based on the software information of the first software;
[0151] A generating unit 602 is configured to generate a software directory, which includes a first directory tree for describing the mapping relationship between the software information of a first software, the component information of the at least one component, and the metadata of the at least one component.
[0152] Optionally, for the detailed implementation process of the obtaining unit 601 to obtain the information files of multiple components, refer to Figure 3 the relevant content in step 301 of the method 300 shown in the figure, which will not be elaborated here.
[0153] Optionally, for the detailed implementation process of the obtaining unit 601 to obtain the software information of the first software based on the code library information of the first software, refer to Figure 3 the relevant content in step 303 of the method 300 shown in the figure, which will not be elaborated here.
[0154] Optionally, for the detailed implementation process of the obtaining unit 601 to obtain at least one component belonging to the first software from the multiple components based on the software information of the first software, refer to Figure 3 the relevant content in step 304 of the method 300 shown in the figure, which will not be elaborated here.
[0155] Optionally, for the detailed implementation process of the generating unit 602 to generate a software directory, refer to Figure 3 the relevant content in step 305 of the method 300 shown in the figure, which will not be elaborated here.
[0156] Optionally, the first directory tree includes a first-level directory, a second-level directory corresponding to the at least one component, and a third-level directory corresponding to the at least one component. The at least one component includes a first component. The second-level directory corresponding to the first component is a sub-directory of the first-level directory, and the third-level directory corresponding to the first component is a sub-directory of the second-level directory corresponding to the first component;
[0157] The first-level directory includes the software information of the first software. The second-level directory corresponding to the first component includes the component information of the first component. The third-level directory of the first component includes the metadata of the first component.
[0158] Optionally, the information file of the first component includes information files of multiple versions. The metadata included in each version of the information file is the metadata of the first component of each version respectively. The third-level directory corresponding to the first component includes multiple third-level directories corresponding to the multiple versions. The third-level directory corresponding to each version includes the metadata of the first component of each version respectively.
[0159] Optionally, the multiple components further include a second component. The information file of the second component includes the component information of the second component, the metadata of the second component, and the code library information of the second software to which the second component belongs.
[0160] The obtaining unit 601 is further configured to obtain the software information of the second software based on the code library information of the second software;
[0161] The obtaining unit 601 is further configured to obtain at least one component belonging to the second software from the multiple components based on the software information of the second software. The software directory further includes a second directory tree, which is used to describe the mapping relationship between the software information of the second software, the component information of at least one component of the second software, and the metadata of at least one component of the second software.
[0162] Optionally, for the detailed implementation process of the obtaining unit 601 obtaining the software information of the second software based on the code library information of the second software, refer to Figure 3 The relevant content in step 303 of the method 300 shown in the figure, and details are not described herein again.
[0163] Optionally, for the detailed implementation process of the obtaining unit 601 obtaining at least one component belonging to the second software from the multiple components based on the software information of the second software, refer to Figure 3 The relevant content in step 304 of the method 300 shown in the figure, and details are not described herein again.
[0164] Optionally, the code library information of the first software includes the domain name of the source code hosting website of the first software, the group information to which the source code library of the first software belongs, and the library name of the source code library of the first software. The software information of the first software includes one or more of the following: the domain name of the source code hosting website, the group information, or the library name.
[0165] Optionally, the information file of the first component includes one or more of the following files: the description file of the first component or the metadata file of the first component. The description file includes the first part of the metadata of the first component, and the metadata file includes the second part of the metadata of the first component. The metadata of the first component includes the first part of the metadata, the second part of the metadata, or the union between the first part of the metadata and the second part of the metadata.
[0166] Optionally, the metadata of the first component includes one or more of the following information: the version of the first component, the license information of the first component, the author information of the first component, or the dependency information, and the dependency information is used to describe at least one component called by the first component.
[0167] In the embodiments of the present application, since the information file of the first component obtained by the obtaining unit includes the component information of the first component, the metadata of the first component, and the code library information of the first software to which the first component belongs, the obtaining unit obtains the software information of the first software based on the code library information of the first software, so that the component information of the first component and the software information of the first software corresponding to the first component can be obtained. In this way, based on the software information of the first software, the obtaining unit can obtain at least one component belonging to the first software from the multiple components, so that the generating unit can automatically generate a first directory tree for describing the mapping relationship between the software information of the first software, the component information of the at least one component, and the metadata of the at least one component. The software directory includes the first directory tree, that is, the generating unit can automatically generate the software directory, improving the efficiency of obtaining the software directory.
[0168] See Figure 7 , embodiments of the present application provide a computing device 700. For example, the computing device 700 may be Figure 1 , Figure 2 or Figure 3 the device included in the network architecture 100 shown. For example, the computing device 700 may be the source end 101 in the network architecture 100.
[0169] As Figure 7 shown, the computing device 700 includes: a bus 702, a processor 704, a memory 706, and a communication interface 708. The processor 704, the memory 706, and the communication interface 708 communicate with each other through the bus 702. The computing device 700 may be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in the computing device 700.
[0170] The bus 702 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of representation, Figure 7 only one line is shown in
[0171] The processor 704 may include any one or more of processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0172] The memory 706 may include volatile memory, such as random access memory (RAM). The memory 706 may also include non-volatile memory, such as read-only memory (ROM), flash memory, a hard disk drive (HDD), or a solid state drive (SSD).
[0173] See Figure 7 , the memory 706 stores executable program code, and the processor 704 executes the executable program code to respectively implement the functions of the acquisition unit 601 and the generation unit 602 in the device 600 shown in Figure 6 , thereby implementing the method provided in any of the above embodiments. That is, the memory 706 stores instructions for executing the method provided in any of the above embodiments. Alternatively,
[0174] 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.
[0175] An embodiment of the present application also provides a cluster for obtaining a software directory. The cluster for obtaining a software directory includes at least one computing device. The computing device may 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 may also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.
[0176] As Figure 8 shown, the cluster for obtaining a software directory includes at least one computing device 700. The same instructions for executing the method provided in any of the above embodiments may be stored in the memory 706 of one or more computing devices 700 in the cluster for obtaining a software directory.
[0177] In some possible implementations, the memory 706 of one or more computing devices 700 in the cluster for obtaining the software directory may also store partial instructions for executing the method for transcoding an image as described above. In other words, the combination of one or more computing devices 700 may jointly execute the instructions for executing the method provided in any of the above embodiments.
[0178] In some possible implementations, one or more computing devices in the cluster for obtaining the software directory may be connected via a network. Among them, the network may be a wide area network or a local area network, etc. Figure 9 A possible implementation is shown. As Figure 9 shown, two computing devices 700A and 700B are connected via a network. Specifically, they are connected to the network through the communication interfaces in each computing device.
[0179] In this type of possible implementation, the memory 706 in computing device 700A stores instructions for executing the functions of the obtaining unit 601 in the embodiment as Figure 6 shown. At the same time, the memory 706 in computing device 700B stores instructions for executing the functions of the generating unit 602 in the embodiment as Figure 6 shown.
[0180] It should be understood that Figure 9 the functions of computing device 700A shown in
[0181] can also be completed by multiple computing devices 700. Similarly, the functions of computing device 700B can also be completed by multiple computing devices 700. Figure 9 The embodiments of the present application also provide another cluster for obtaining the software directory. The connection relationship between the computing devices in the cluster for obtaining the software directory can be similarly referred to Figure 9 the connection manner of the cluster for obtaining the software directory. The difference is that the memory 706 in one or more computing devices 700 in the cluster for obtaining the software directory may store the same instructions for executing the method provided in any of the above embodiments.
[0182] In some possible implementations, the memory 706 of one or more computing devices 700 in the cluster for obtaining the software directory may also store partial instructions for executing the method provided in any of the above embodiments. In other words, the combination of one or more computing devices 700 may jointly execute the instructions for executing the method provided in any of the above embodiments.
[0183] The embodiments of the present application also provide a computer program product containing instructions. The computer program product can be software or a program product containing instructions that can run on a computing device or be stored in any available medium. When the computer program product runs on at least one computing device, at least one computing device is caused to execute the method provided in any of the above embodiments.
[0184] The embodiments of the present application also provide a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store or a data storage device such as a data center containing 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), etc. The computer-readable storage medium includes instructions that instruct a computing device to execute the method provided in any of the above embodiments.
[0185] Those of ordinary skill in the art can understand that all or part of the steps to implement the above embodiments can be completed by hardware or by a program instructing relevant hardware. The program can be stored in a computer-readable storage medium, and the above-mentioned storage medium can be a read-only memory, a disk, or an optical disc, etc.
[0186] The above are only optional embodiments of the present application and are not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the principle of the present application shall be included within the protection scope of the present application.
Claims
1. A method for obtaining a software directory, characterized in that, the method comprises: obtaining information files of a plurality of components, the plurality of components including a first component, and the information file of the first component including component information of the first component, metadata of the first component, and code library information of a first software to which the first component belongs, the code library information being used to indicate a source code library of the first software, and the source code library being used to store source code of the first software; obtaining software information of the first software based on the code library information of the first software; obtaining at least one component belonging to the first software from the plurality of components based on the software information of the first software; generating a software directory, the software directory including a first directory tree, and the first directory tree being used to describe a mapping relationship between software information of the first software, component information of the at least one component, and metadata of the at least one component.
2. The method according to claim 1, characterized in that, the first directory tree includes a first-level directory, second-level directories corresponding to the at least one component, and third-level directories corresponding to the at least one component, the at least one component including the first component, the second-level directory corresponding to the first component being a sub-directory of the first-level directory, and the third-level directory corresponding to the first component being a sub-directory of the second-level directory corresponding to the first component; the first-level directory includes software information of the first software, the second-level directory corresponding to the first component includes component information of the first component, and the third-level directory of the first component includes metadata of the first component.
3. The method according to claim 2, characterized in that, the information file of the first component includes information files of multiple versions, and the metadata included in each version of the information file is respectively metadata of the first component of each version. The third-level directory corresponding to the first component includes multiple third-level directories corresponding to the multiple versions, and each third-level directory corresponding to each version includes metadata of the first component of each version.
4. The method according to any one of claims 1-3, characterized in that, the plurality of components further includes a second component, and the information file of the second component includes component information of the second component, metadata of the second component, and code library information of a second software to which the second component belongs. The method further comprises: obtaining software information of the second software based on the code library information of the second software; obtaining at least one component belonging to the second software from the plurality of components based on the software information of the second software, and the software directory further includes a second directory tree, and the second directory tree is used to describe a mapping relationship between software information of the second software, component information of at least one component of the second software, and metadata of at least one component of the second software.
5. The method according to any one of claims 1-4, characterized in that, The code library information of the first software includes the domain name of the source code hosting website of the first software, the group information to which the source code library of the first software belongs, and the library name of the source code library of the first software. The software information of the first software includes one or more of the following: the domain name of the source code hosting website, the group information, or the library name.
6. The method according to any one of claims 1-5, characterized in that the information file of the first component includes one or more of the following files: the description file of the first component or the metadata file of the first component. The description file includes the first part of the metadata of the first component, and the metadata file includes the second part of the metadata of the first component. The metadata of the first component includes the first part of the metadata, the second part of the metadata, or the union between the first part of the metadata and the second part of the metadata.
7. The method according to any one of claims 1-6, characterized in that the metadata of the first component includes one or more of the following information: the version of the first component, the license information of the first component, the author information of the first component, or the dependency information, and the dependency information is used to describe at least one component called by the first component.
8. An apparatus for obtaining a software directory, characterized in that the apparatus includes: an obtaining unit, configured to obtain information files of a plurality of components, the plurality of components including a first component. The information file of the first component includes the component information of the first component, the metadata of the first component, and the code library information of a first software to which the first component belongs. The code library information is used to indicate the source code library of the first software, and the source code library is used to store the source code of the first software; the obtaining unit is further configured to obtain the software information of the first software based on the code library information of the first software; the obtaining unit is further configured to obtain at least one component belonging to the first software from the plurality of components based on the software information of the first software; a generating unit, configured to generate a software directory, and the software directory includes a first directory tree, and the first directory tree is used to describe the mapping relationship between the software information of the first software, the component information of the at least one component, and the metadata of the at least one component.
9. The apparatus according to claim 8, characterized in that the first directory tree includes a first-level directory, a second-level directory corresponding to the at least one component, and a third-level directory corresponding to the at least one component. The at least one component includes the first component. The second-level directory corresponding to the first component is a sub-directory of the first-level directory, and the third-level directory corresponding to the first component is a sub-directory of the second-level directory corresponding to the first component; the first-level directory includes the software information of the first software, the second-level directory corresponding to the first component includes the component information of the first component, and the third-level directory of the first component includes the metadata of the first component.
10. The apparatus according to claim 9, characterized in that The information file of the first component includes information files of multiple versions. The metadata included in the information file of each version are the metadata of the first component of each version. The three-level directory corresponding to the first component includes multiple three-level directories corresponding to the multiple versions. The three-level directory corresponding to each version respectively includes the metadata of the first component of each version.
11. The device according to any one of claims 8-10, wherein, the multiple components further include a second component. The information file of the second component includes the component information of the second component, the metadata of the second component, and the code library information of the second software to which the second component belongs; the obtaining unit is further configured to obtain the software information of the second software based on the code library information of the second software; the obtaining unit is further configured to obtain at least one component belonging to the second software from the multiple components based on the software information of the second software. The software directory further includes a second directory tree, and the second directory tree is used to describe the mapping relationship between the software information of the second software, the component information of at least one component of the second software, and the metadata of at least one component of the second software.
12. The device according to any one of claims 8-11, wherein, the code library information of the first software includes the domain name of the source code hosting website of the first software, the group information to which the source code library of the first software belongs, and the library name of the source code library of the first software. The software information of the first software includes one or more of the following: the domain name of the source code hosting website, the group information, or the library name.
13. The device according to any one of claims 8-12, wherein, the information file of the first component includes one or more of the following files: the description file of the first component or the metadata file of the first component. The description file includes the first part of the metadata of the first component, and the metadata file includes the second part of the metadata of the first component. The metadata of the first component includes the first part of the metadata, the second part of the metadata, or the union between the first part of the metadata and the second part of the metadata.
14. The device according to any one of claims 8-13, wherein, the metadata of the first component includes one or more of the following information: the version of the first component, the license information of the first component, the author information of the first component, or the dependency information, and the dependency information is used to describe at least one component called by the first component.
15. A computing device cluster, wherein, it includes at least one computing device, and each computing device includes a processor and a memory; the processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 1-7.
16. A computer-readable storage medium, on which a computer program is stored, wherein, When the computer program is executed by a computer, the method according to any one of claims 1-7 is implemented.
17. A computer program product, comprising a computer program, characterized in that when the computer program is executed by a processor, the method according to any one of claims 1-7 is implemented.