An automated build system
By designing an automated construction system, dynamically allocating construction tasks and using containerized technology, the problem of low efficiency in construction tasks in the chip industry is solved, and efficient concurrent construction and improvement of construction-side utilization is achieved.
Patent Information
- Application Number
- CN202411766174.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-04
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2044-12-04
AI Technical Summary
In the chip industry, product construction tasks take a long time and need to be adapted to multiple operating system versions, resulting in low efficiency in building tasks. The existing technology relies on manual scheduling and low utilization rate on the build side.
Design an automated construction system to dynamically allocate construction tasks to the idle construction end through the management end, and use containerization technology to realize concurrent construction of the operating system version to ensure that all construction ends are as busy as possible.
It realizes efficient allocation and concurrent execution of automated construction tasks, improves product construction efficiency, reduces the demand for manual scheduling, and improves the utilization rate of the build end.
Smart Images

Figure CN119248427B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of product management, and in particular to an automatic construction system. Background Art
[0002] Currently, in the chip industry, product build tasks are often time-consuming and require covering a wide range of operating system versions. Therefore, it is usually necessary to execute a large number of build tasks at the same time so that the product can adapt to different versions of operating systems. However, a single build task can only be executed in the build end that adapts the operating system version to generate the product package required by the specified version of the operating system, resulting in the need to deploy each version of the operating system separately in the corresponding build end.
[0003] However, the number of build tasks and the execution time of the build tasks allocated to each build end may be different, which may result in a longer idle time for some build ends. For such situations, the existing technology usually schedules the build tasks manually to shorten the overall execution time of all build tasks. However, under the manual scheduling method, multiple build tasks received by a single build end are still executed serially, resulting in low product construction efficiency.
[0004] Therefore, how to improve the efficiency of product construction in chip scenarios has become an urgent problem to be solved. Summary of the invention
[0005] In view of the above technical problems, the technical solution adopted by the present invention is:
[0006] An automated construction system, the system comprising: M construction terminals {a1, a2, ..., a m , …, a M}, a first management terminal, a processor, and a memory storing a computer program, wherein a m is the mth construction end, m is an integer in the range of [1, M], and M is an integer greater than 0. When the computer program is executed by a processor, the following steps are implemented:
[0007] S101: The first management terminal loads an acquired target configuration file, wherein the target configuration file includes N target versions {b1, b2, ..., b n , …, b N}, where b n The nth target version, where n is an integer in the range [1, N] and N is an integer greater than 0.
[0008] S102, initializing a first flag c=1.
[0009] S103, if at least one construction end is in an idle state, the first management end willc Build task d c Sent to any idle build end, the build task corresponding to the container.
[0010] S104, by receiving d c The build end executes d c , the construction task d c After execution, get c Corresponding product c .
[0011] S105, update c=c+1.
[0012] S106, returning to execute step S103 to step S105 until c=N+1, and obtaining the products corresponding to all target versions.
[0013] Compared with the prior art, the present invention has obvious beneficial effects. By means of the above technical solution, the automated construction system provided by the present invention can achieve considerable technical advancement and practicality, and has wide industrial utilization value, and has at least the following beneficial effects:
[0014] The present invention provides an automated construction system, the system comprising: M construction terminals {a1, a2, ..., a m , …, a M}, a first management terminal, a processor, and a memory storing a computer program, wherein a m is the mth building end, m is an integer in the range of [1, M], and M is an integer greater than 0. When the computer program is executed by the processor, the following steps are implemented: S101, the first management end loads the acquired target configuration file, and the target configuration file includes N target versions {b1, b2, ..., b n , …, b N}, where b n is the nth target version, n is an integer in the range of [1, N], and N is an integer greater than 0. S102, initialize the first identifier c=1. S103, if at least one construction end is in an idle state, the first management end will c Build task d c Sent to any idle build end, the build task corresponding to the container, S104, by receiving d c The build end executes d c , the construction task d c After execution, get c Corresponding product c, S105, update c=c+1, S106, return to execute step S103 to step S105, until c=N+1, and obtain the products corresponding to all target versions.
[0015] It can be seen that by containerizing the target version of the operating system, products that are compatible with all target versions of the operating system can be built at one time through concurrent construction. Compared with the existing technology, which can only execute the same version of product build tasks in the build end equipped with the corresponding version of the operating system, there is no need for manual scheduling of product build tasks, and all build ends are kept as busy as possible. The build end will not be idle due to the difference between the operating system version and the target version, thereby effectively improving the efficiency of product automated construction. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0017] Figure 1 A schematic diagram of a flow chart of a computer program being executed by a processor in an automated construction system provided in Embodiment 1 of the present invention;
[0018] Figure 2 A schematic diagram of a flow chart of a management end capacity expansion method provided in Embodiment 2 of the present invention;
[0019] Figure 3 A schematic diagram of a flow chart of a computer program being executed by a processor in an automated testing system provided by Embodiment 3 of the present invention;
[0020] Figure 4 A flowchart of a computer program executed by a processor in a data transmission system provided in Embodiment 4 of the present invention is provided. DETAILED DESCRIPTION
[0021] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.
[0022] This embodiment provides an automated construction system, the system comprising: M construction terminals {a1, a2, ..., a m , …, a M}, a first management terminal, a processor, and a memory storing a computer program, wherein a m is the mth construction end, where m is an integer in the range [1, M] and M is an integer greater than 0, see Figure 1 , is a flowchart of a computer program executed by a processor in an automated construction system provided by Embodiment 1 of the present invention. When the computer program is executed by the processor, the following steps are implemented:
[0023] S101: The first management terminal loads an acquired target configuration file, wherein the target configuration file includes N target versions {b1, b2, ..., b n , …, b N}, where b n is the nth target version, where n is an integer in the range [1, N] and N is an integer greater than 0;
[0024] S102, initializing a first flag c=1;
[0025] S103, if at least one construction end is in an idle state, the first management end will c Build task d c Sending to any idle build end, the build task corresponding to the container;
[0026] S104, by receiving d c The build end executes d c , the construction task d c After execution, get c Corresponding product c ;
[0027] S105, update c=c+1;
[0028] S106, returning to execute step S103 to step S105 until c=N+1, and obtaining the products corresponding to all target versions.
[0029] Among them, the first management end and the construction end are both built based on the Kubernets open source system. The first management end can be deployed in the server, the target configuration file can correspond to the target product, and the target version can refer to the operating system version that the target product needs to adapt to. The operating system can include Windows system, Linux system and other distributions, such as centos, ubuntu, redhat, kylin, bclinux, etc.
[0030] Specifically, when the build end does not execute a build task, the build end is in an idle state.
[0031] A build task corresponds to a container, which contains the operating system version required for the build task. When the build end executes the build task, it does not need to consider the operating system version deployed by the build end itself. That is, the build task can be executed in any build end.
[0032] In a specific implementation, the construction end is a virtual machine or a server.
[0033] In a specific implementation, the target version b n Corresponding to the first architecture information f n , the first architecture information f n Belongs to an architecture information set, and the architecture information set includes at least an X86 architecture and an ARM architecture.
[0034] In a specific embodiment, construct end a m Corresponding to the second architecture information g m , the second architecture information g m Belongs to the architecture information set.
[0035] In a specific implementation, step S103 includes the following steps:
[0036] S1031, determine b c The corresponding first architecture information f c ;
[0037] S1032, if at least one construction end is in an idle state and the corresponding second architecture information is the same as f c If the same, the first management end will build the task d c Sent to any idle state and corresponding second architecture information and f c Same build end.
[0038] Among them, this embodiment constrains that the construction task can only be executed in the construction end adapted to the architecture. Therefore, the implementer should ensure that each architecture has a corresponding construction end.
[0039] In a specific implementation manner, the received c The build end executes d c At least include: pull d c Corresponding source code, build d c Several components required, packaging.
[0040] In a specific embodiment, d c The required several components all belong to a component set, and the component set at least includes a firmware tool, a kernel mode driver, and a compiler.
[0041] The component set may also include LLVM components, QEMU components, UMD components, etc. The implementer may adjust the components included in the component set according to the actual situation. It should be noted that d c All the required components may refer to several components in the component set, rather than all the components in the component set.
[0042] In a specific implementation, the automated construction system belongs to an automated testing platform, and the automated testing platform also includes an automated testing system and a data transmission system.
[0043] Among them, the automated testing system can be used to automatically execute test cases, and the data transmission system can be used to internally transmit distributed storage data.
[0044] In the first embodiment of the present invention, by containerizing the target version of the operating system, products that are compatible with all target versions of the operating system can be packaged out at one time through concurrent construction. Compared with the prior art that can only execute the same version of product build tasks in the build end equipped with the corresponding version of the operating system, there is no need to manually schedule the product build tasks, and all build ends are kept as busy as possible. The build end will not be idle due to the difference between the operating system version and the target version, thereby effectively improving the efficiency of product automated construction.
[0045] Embodiment 2 of the present invention provides a management end capacity expansion method, see Figure 2 , is a flow chart of a management end expansion method provided in Embodiment 2 of the present invention, the management end expansion method comprising:
[0046] S201, obtaining an initial resource amount h0 corresponding to the first management terminal, where the first management terminal is deployed in a first terminal, and the first management terminal corresponds to M construction terminals, each of which is deployed in a second terminal;
[0047] S202, at a preset time point, obtaining the required resource amount h1 corresponding to the first management terminal;
[0048] S203, if the required resource amount h1 and the initial resource amount h0 meet a first preset condition, checking the remaining resource amount h2 corresponding to the first terminal;
[0049] S204, if the remaining resource amount h2 corresponding to the first terminal meets the second preset condition, expand the capacity of the first management terminal;
[0050] S205, if the remaining resource amount h2 corresponding to the first terminal does not meet the second preset condition, determining a reference terminal from all second terminals;
[0051] S206, changing the first terminal to the second terminal, and changing the reference terminal to the first terminal;
[0052] S207, deploying the first management end in the first terminal;
[0053] S208, adjusting the initial resource amount h0 according to the required resource amount, reallocating the adjusted initial resource amount to the first management end, and completing the capacity expansion of the first management end.
[0054] The first terminal and the second terminal may both be servers or virtual machines, and the resources may refer to CPU memory, storage, and the like.
[0055] The preset time point can be set by the implementer, for example, a preset time point can be set at a fixed interval, or the time point when the build task is generated can be used as the preset time point. After the first management end parses the target configuration file, it can generate build tasks one by one and send them to the corresponding build end for execution. Since the execution of the build task takes a long time, there may be more build tasks in the first management end that need to be monitored simultaneously, which may lead to insufficient carrying capacity of the first management end, freezes, or even inability to open the corresponding user interaction page of the first management end. Therefore, the required resource amount corresponding to the first management end can be obtained at the moment when each build task is generated and distributed to ensure that the number of build tasks is within the carrying capacity of the first management end.
[0056] Specifically, the first terminal and the second terminal are both built based on the Kubernets open source system, and the first management terminal is deployed in the first terminal in the form of a container. Therefore, when the remaining resource amount h2 corresponding to the first terminal meets the second preset condition, it is easy to expand the capacity of the first management terminal, which will not be repeated here.
[0057] In one implementation, when task tidal conditions occur, that is, some build ends have too many build tasks and other build ends have fewer build tasks, some build ends may also have capacity expansion requirements. Since the build ends are also containerized deployments, the build ends can be expanded or reduced in capacity by automatically balancing Kubernetes cluster resources to maximize the utilization of resources on all build ends.
[0058] It should be noted that the second management end may also have a need for expansion. The management end expansion method provided in this embodiment may also be applied to the second management end and the test end. Accordingly, the test end may also have a need for expansion due to task tides. The test end may also be expanded or reduced by automatically balancing the Kubernetes cluster resources to maximize the use of all test end resources, avoid the test container from being suspended due to failure to apply for resources, and avoid waste of resources.
[0059] In a specific implementation, the first terminal corresponds to the overall resource amount h3, and the initial resource amount h0 satisfies the condition: h0<h3.
[0060] In this embodiment, h0=h3×α3, where α3 is the third weight, and the value range of α3 is (0, 1]. As an example, α3 can be 0.8, and the implementer can adjust the value of α3 according to the actual situation.
[0061] In particular, when the amount of resources required by the first management end is small, the first terminal may also be deployed with a construction end to improve the execution efficiency of the construction task. In such a case, the amount of resources used by the construction end corresponding to the first terminal is h4. Accordingly, the condition satisfied by h0 may be: h0=(h3-h4)×α3.
[0062] Specifically, after the first terminal is redetermined, the overall resource amount h3 corresponding to the first terminal is also redetermined. At this time, the initial resource amount h0 needs to be adjusted according to the required resource amount. In this embodiment, the adjusted initial resource amount h0 can meet the condition: α4×h0>h1, where α4 is the fourth weight, and the value range of α4 is (0, 1). As an example, α4 can be 0.6, and the implementer can adjust the value of α4 according to actual conditions.
[0063] In a specific implementation manner, the remaining resource amount h2 corresponding to the first terminal satisfies the condition: h2=h3-h0.
[0064] In particular, when the first terminal is also deployed with a construction end, assuming that the amount of used resources of the construction end corresponding to the first terminal is h4, the condition satisfied by the remaining amount of resources h2 corresponding to the first terminal may be: h2=h3-h0-h4.
[0065] In a specific implementation, the first preset condition is: h1>α1×h0, where α1 is the first weight.
[0066] The value range of α1 is (0, 1]. As an example, α1 can be 0.8. The implementer can adjust the value of α1 according to the actual situation.
[0067] In a specific implementation, the second preset condition is: h1-h0<h2×α2, where α2 is the second weight.
[0068] The value range of α2 is (0, 1). As an example, α2 may be 0.8. The implementer may adjust the value of α2 according to actual conditions.
[0069] In a specific implementation, step S205 includes the following steps:
[0070] S2051, if the remaining resource amount h2 corresponding to the first terminal does not meet the second preset condition, obtaining the overall resource amount corresponding to each second terminal;
[0071] S2052: Determine a maximum value among the overall resource amounts corresponding to all second terminals respectively, and use the second terminal corresponding to the maximum value as the reference terminal.
[0072] Among them, when the remaining resource amount h2 corresponding to the first terminal does not meet the second preset condition, it means that the remaining resource amount of the first terminal is insufficient to expand the capacity of the first management terminal. Therefore, it is necessary to redetermine the first terminal from all the second terminals to realize the expansion of the first management terminal in the changed first terminal.
[0073] In a specific implementation, step S207 includes the following steps:
[0074] S2071, deploying the first management terminal in the first terminal, and when the first management terminal has not completed deployment, retaining the first management terminal in the second terminal;
[0075] S2072: When the first management terminal completes deployment, delete the first management terminal in the second terminal.
[0076] This embodiment ensures that the redeployment of the first management end will not affect the construction end.
[0077] In a specific implementation manner, when the first management terminal is expanded or deployed, the first management terminal is offline;
[0078] When any construction end initiates a communication request to the first management end and the first management end is offline, the construction end waits for a preset period of time and then re-initiates the communication request to the first management end.
[0079] Among them, the construction end usually sends the execution result of the construction task to the first management end after the construction task is completed, and the execution time of the construction task is usually long. Therefore, it is rare that the construction end initiates a communication request to the first management end and the first management end is offline. After this situation occurs, since the expansion time of the first management end is short, usually a few minutes, the construction end only needs to wait for the preset time. In this embodiment, the preset time can be set to 10 minutes, and the implementer can adjust the preset time according to actual conditions.
[0080] In a specific implementation manner, when the first management end completes expansion or deployment, the first management end is online and sends an online notification to all construction ends;
[0081] Correspondingly, when any construction end initiates a communication request to the first management end and the first management end is offline, the construction end waits for a preset period of time or receives the online notification, and then re-initiates the communication request to the first management end.
[0082] Among them, when the first management end completes the redeployment, it is necessary to re-establish the association with the construction tasks of each construction end. Therefore, when the first management end completes the expansion or deployment, an online notification can be sent to all construction ends, so that subsequent construction ends can communicate with the first server where the first management end is located when they need to initiate a communication request.
[0083] In the second embodiment, based on the containerized deployment of the first management end and the construction end, it is flexibly determined whether the first management end needs to be expanded, and the specific expansion method, according to the actually obtained required resource quantity, initial resource quantity and remaining resource quantity of the first server of the first management end, thereby realizing flexible and rapid expansion of the first management end, improving the performance of the first management end, and further improving the stability of the system.
[0084] The third embodiment provides an automated testing system, the system comprising: I test terminals {p1, p2, ..., p i ,…,p I}, a second management terminal, a processor and a memory storing a computer program, wherein p i is the i-th test terminal, i is an integer in the range [1, I], and I is an integer greater than 0, see Figure 3 , is a flowchart of a computer program executed by a processor in an automated testing system provided by Embodiment 3 of the present invention. When the computer program is executed by the processor, the following steps are implemented:
[0085] S301, the second management terminal containerizes each test case in the acquired test case set to obtain J test containers {q1, q2, ..., q j ,…,q J}, where q j is the j-th test container, j is an integer in the range [1, J], and J is an integer greater than 0;
[0086] S302, initializing the second identifier k=1;
[0087] S303: If at least one test end is in an idle state, the second management end sets q j Send to any test end that is in idle state;
[0088] S304, by receiving q j The test end executes q j , the q jAfter the test is completed, get j The corresponding test results r j ;
[0089] S305, update k=k+1;
[0090] S306, returning to execute step S303 to step S305 until k=J+1, and obtaining the test results corresponding to all the test containers.
[0091] Among them, the second management end and the test end are both built based on the Kubernets open source system. The second management end can be deployed in a server or a virtual machine. The second management end can obtain at least one test case set, containerize each test case in all test case sets, and obtain J test containers.
[0092] Specifically, when the test end does not execute a test case, the test end is in an idle state.
[0093] When any test container is tested, the test result corresponding to the test container is returned to the second management end without waiting for the test results of other test containers.
[0094] In a specific implementation, the test end is a server.
[0095] In a specific embodiment, the test container q j Corresponding to the first chip information s j , the first chip information s j Belongs to a chip information set, and the chip information set includes at least a single chip and a double chip.
[0096] Among them, a single chip may refer to a server environment deployed with a single chip, and a dual chip may refer to a server environment deployed with two chips. It should be noted that the chip information set may also include other server environments such as four chips and eight chips. Implementers can add server environments to the chip information set based on actual conditions.
[0097] In a specific implementation manner, the test terminal p i Corresponding to the second chip information t i , the second chip information t i Belongs to the chip information set.
[0098] Among them, a single test end is deployed on a corresponding server, and the second chip information corresponding to the test end can be determined according to the number of chips deployed on the server.
[0099] In a specific implementation, step S303 includes the following steps:
[0100] S3031, determine q j Corresponding first chip information s j ;
[0101] S3032, if at least one test end is in an idle state and the corresponding second chip information is the same as s j If the same, the second management terminal will j Sent to any idle state and corresponding second architecture information and s j Same test side.
[0102] Among them, this embodiment constrains the test container to be executed only in the test end adapted to the server environment. Therefore, the implementer should ensure that each server caliber has a corresponding test end.
[0103] In a specific implementation manner, after receiving q j The test end executes q j The following steps are also included:
[0104] Record the received q j The test end executes q j The scene information at the time of q j The execution site is based on q j Supports troubleshooting when execution fails.
[0105] Among them, since each test case is containerized, after the batch test cases are completed, the test cases that failed the test can be re-executed to filter out the test cases that cannot be executed normally. For such test cases, problem troubleshooting is required. Relying on the steps of recording the on-site information in this embodiment, the scene when the test container is executed can be accurately restored, thereby facilitating problem troubleshooting and improving the efficiency of problem troubleshooting and vulnerability repair.
[0106] In a specific implementation manner, the on-site information includes at least a test terminal identifier, an allocated resource amount, and a test time period.
[0107] The test end identifier can be used to determine the test end that executes the test container, and the allocated resource amount and test time period can be used to accurately restore the scene when the test container is executed.
[0108] In a specific implementation, the automated testing system belongs to an automated testing platform, and the automated testing platform also includes an automated construction system and a data transmission system.
[0109] Among them, the automated construction system can be used to automatically build products, and the data transmission system can be used to internally transmit distributed storage data.
[0110] In the third embodiment of the present invention, by containerizing all test cases, the test cases can be tested in a concurrent execution manner. Compared with the prior art method of testing a test case set formed by multiple test cases together, the test results of each test case can be directly fed back without waiting for the test results of other test cases. There will be no situation where the test results of the entire test case set cannot be fed back due to errors in a small number of test cases, thereby effectively shortening the chip testing time and the waiting time for chip test result feedback, thereby improving the efficiency of chip testing.
[0111] The fourth embodiment provides a data transmission system, the data transmission system comprising a storage end set, a processor and a memory storing a computer program, wherein the storage end set comprises L data storage ends, each data storage end corresponds to first address information, and the storage end set corresponds to a target access address, see Figure 4 , is a flowchart of a computer program executed by a processor in a data transmission system provided by Embodiment 4 of the present invention. When the computer program is executed by the processor, the following steps are implemented:
[0112] S401, upon receiving access information of a user to the target access address, obtaining second address information and access content corresponding to the access information;
[0113] S402, determining a data storage end corresponding to first address information closest to the second address information as a reference storage end;
[0114] S403, if the reference storage terminal contains the data corresponding to the accessed content, the reference storage terminal sends the data corresponding to the accessed content to the user;
[0115] S404, if the reference storage end does not contain the data corresponding to the access content, searching for the data corresponding to the access content in each data storage end except the reference storage end, and obtaining a plurality of data storage ends containing the data corresponding to the access content as the first storage end;
[0116] S405, determining a target storage end from all first storage ends;
[0117] S406: The target storage terminal sends the data corresponding to the accessed content to the user.
[0118] Among them, the storage end set corresponds to the target access address, that is, all data storage ends correspond to the target access address. The user only needs to access the target access address, and through this embodiment, the data corresponding to the access content can be obtained most quickly.
[0119] Specifically, the data transmission system can be constructed based on the internal network to support data access by users in the internal network.
[0120] It should be noted that, in this embodiment, it is assumed that the transmission rates between various data transmission terminals and from any data transmission terminal to the user are consistent, so the optimal transmission mode can be determined only by address information.
[0121] In one embodiment, the implementer may also determine the data storage end with the lowest latency as the reference storage end based on the data transmission rate from the data storage end to the user, the first address information corresponding to the data storage end, and the second address information corresponding to the user.
[0122] In a specific implementation, step S405 includes the following steps:
[0123] A first storage end corresponding to the first address information closest to the second address information is determined as the target storage end.
[0124] In one embodiment, the implementer may also determine the first storage end with the lowest latency as the reference storage end based on the data transmission rate from the first storage end to the reference storage end, the first address information corresponding to the first storage end, and the first address information corresponding to the reference storage end.
[0125] In a specific implementation, step S406 includes the following steps:
[0126] S4061, the target storage end sends the data corresponding to the access content to the reference storage end;
[0127] S4062: The reference storage terminal sends the data corresponding to the accessed content to the user.
[0128] In a specific implementation, the data storage end includes a cache;
[0129] Correspondingly, after the target storage end sends the data corresponding to the access content to the reference storage end, the method further includes:
[0130] The reference storage end stores the data corresponding to the accessed content in a cache included therein.
[0131] The data corresponding to the accessed content is stored in a cache included in the reference storage end, so as to improve the efficiency of other users accessing the same accessed content under the same second address information.
[0132] In a specific implementation, when the data corresponding to the accessed content is stored in the cache of the reference storage end and the data corresponding to the accessed content is not accessed within a preset time period, the data corresponding to the accessed content is deleted from the cache of the reference storage end.
[0133] Among them, the data storage end may include local storage and cache.
[0134] Specifically, the data in the default cache are not frequently accessed data. Therefore, when the data in the cache is not accessed within a preset time period, the data is deleted to ensure cache space. The implementer can determine the preset time period based on actual conditions. As an example, the preset time period can be one week.
[0135] In one implementation, a cache replacement strategy such as a least recently used strategy (LRU) or a least-frequently used strategy (LFU) may also be used to determine the data to be deleted from the cache.
[0136] In one embodiment, when the access content corresponding data is stored in the cache of the reference storage end and the number of accesses to the access content corresponding data within a preset time period is greater than a preset threshold, the access content corresponding data is transferred from the cache of the reference storage end to the local storage.
[0137] In a specific implementation, the target access address is domain name information.
[0138] In a specific implementation manner, the first address information and the second address information are both IP address information.
[0139] In a specific implementation, the data transmission system belongs to an automated testing platform, and the automated testing platform also includes an automated construction system and an automated testing system.
[0140] The data corresponding to the user access content in the data transmission system may be the test results of the test case, the constructed product, etc.
[0141] In the fourth embodiment, multiple data storage terminals store data in a distributed manner. When a user accesses a target access address, the access information is parsed to obtain the second address information and the access content. The path for transmitting data to the user is determined based on the first address information, the second address information and the access content of each data storage terminal to ensure that the user can quickly obtain the required data and improve the efficiency of data transmission.
[0142] Although some specific embodiments of the present invention have been described in detail by way of example, it will be appreciated by those skilled in the art that the above examples are for illustration only and are not intended to limit the scope of the present invention. It will also be appreciated by those skilled in the art that various modifications may be made to the embodiments without departing from the scope and spirit of the present invention. The scope of the present invention is defined by the appended claims.
Claims
1. An automated construction system, characterized in that: The system comprises: M construction terminals {a1, a2, ..., a m , …, a M }, a first management terminal, a processor, and a memory storing a computer program, wherein a m is the mth construction end, m is an integer in the range of [1, M], M is an integer greater than 0, the first management end is deployed in the first terminal, each construction end is deployed in a second terminal respectively, and when the computer program is executed by the processor, the following steps are implemented: S101: The first management terminal loads an acquired target configuration file, wherein the target configuration file includes N target versions {b1, b2, ..., b n , …, b N }, where b n is the nth target version, where n is an integer in the range [1, N] and N is an integer greater than 0; S102, initializing a first flag c=1; S103, if at least one construction end is in an idle state, the first management end will c Build task d c Sending to any idle build end, the build task corresponding to the container; S104, by receiving d c The build end executes d c , the construction task d c After execution, get c Corresponding product c ; S105, update c=c+1; S106, returning to execute step S103 to step S105 until c=N+1, and obtaining the products corresponding to all target versions; When the computer program is executed by a processor, the following steps are also implemented: S201, obtaining an initial resource amount h0 corresponding to the first management terminal; S202, at a preset time point, obtaining the required resource amount h1 corresponding to the first management terminal; S203, if the required resource amount h1 and the initial resource amount h0 meet a first preset condition, checking the remaining resource amount h2 corresponding to the first terminal; S204, if the remaining resource amount h2 corresponding to the first terminal meets the second preset condition, expand the capacity of the first management terminal; S205, if the remaining resource amount h2 corresponding to the first terminal does not meet the second preset condition, determining a reference terminal from all second terminals; S206, changing the first terminal to the second terminal, and changing the reference terminal to the first terminal; S207, deploying the first management end in the first terminal; S208, adjusting the initial resource amount h0 according to the required resource amount, reallocating the adjusted initial resource amount to the first management end, and completing the capacity expansion of the first management end.
2. The automated construction system according to claim 1, characterized in that: The construction end is a virtual machine or a server.
3. The automated construction system according to claim 1, characterized in that: Target version b n Corresponding to the first architecture information f n , the first architecture information f n Belongs to an architecture information set, and the architecture information set includes at least an X86 architecture and an ARM architecture.
4. The automated construction system according to claim 3, characterized in that: Build end a m Corresponding to the second architecture information g m , the second architecture information g m Belongs to the architecture information set.
5. The automated construction system according to claim 4, characterized in that: Step S103 includes the following steps: S1031, determine b c The corresponding first architecture information f c ; S1032, if at least one construction end is in an idle state and the corresponding second architecture information is the same as f c If the same, the first management end will build the task d c Sent to any idle state and corresponding second architecture information and f c Same build end.
6. The automated construction system according to claim 1, characterized in that: The received c The build end executes d c At least include: pull d c Corresponding source code, build d c Several components required, packaging.
7. The automated construction system according to claim 6, characterized in that: d c The required several components all belong to a component set, and the component set at least includes a firmware tool, a kernel mode driver, and a compiler.
8. The automated construction system according to claim 1, characterized in that: The automated construction system belongs to an automated testing platform, which also includes an automated testing system and a data transmission system.
Citation Information
Patent Citations
Processing method and device of compiling environment, electronic equipment and storage medium
CN118113298A
Management method and device for shared construction space, equipment and storage medium
CN118916278A