Scheduling method and device based on multiple development boards, electronic equipment and storage medium
By acquiring test information tables and development board monitoring tables, the target development board and test image file are dynamically determined, solving the problem of low scheduling efficiency in existing scheduling methods and realizing effective scheduling and personalized testing of multiple development boards.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-08
- Publication Date
- 2026-04-07
AI Technical Summary
Existing development board scheduling methods fail to effectively consider the differences in task levels and image capabilities among different development boards, resulting in low scheduling efficiency and an inability to meet personalized testing requirements.
By acquiring test information tables and development board monitoring tables, and based on preset test cycles and development board monitoring information, the target development board and test image file for the test items are dynamically determined, and the test progress and results are updated, thus achieving effective scheduling of multiple development boards.
It improves the scheduling effect and efficiency of development boards, realizes dynamic scheduling of multiple development boards, and meets the personalized needs of different testing requirements.
Smart Images

Figure CN121807696A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of chip testing technology, and in particular to a scheduling method, apparatus, electronic device and storage medium based on multiple development boards. Background Technology
[0002] Image testing on development boards is a crucial step in the development of embedded systems and IoT devices. When performing image testing on development boards, a common host computer is often set up to connect to various different development boards. Testers use this host computer to submit test requests, and the host computer schedules tests based on these requests.
[0003] In existing technologies, when scheduling multiple development boards, a distributed approach is often used, where multiple test tasks are assigned to different development boards based on priority.
[0004] However, the existing scheduling methods do not take into account the following factors: for example, different development boards can perform tasks at different levels, different development boards can run different images, and testers have different requirements for each test (for example, there is personalization). Therefore, the existing development board scheduling methods cannot achieve effective scheduling. Summary of the Invention
[0005] The purpose of this application is to address the shortcomings of the prior art by providing a scheduling method, apparatus, electronic device, and storage medium based on multiple development boards, which can improve the scheduling effect and efficiency of the development boards.
[0006] To achieve the above objectives, the technical solutions adopted in the embodiments of this application are as follows: In a first aspect, the present invention provides a scheduling method based on multiple development boards, the method comprising: The test information table and the development board monitoring table are obtained separately. The test information table includes multiple items to be tested. Each item to be tested includes first test information and second test information. The first test information includes at least one of the following: test name, test type, specified development board type, test image serial number, and test image version identifier. The second test information includes: test progress indicators and test results. The development board monitoring table includes monitoring information for multiple development boards. Based on the preset test cycle and the development board monitoring table, the target development board and test image file corresponding to each item to be tested in the test information table are determined in sequence. The test image files corresponding to each of the test items are burned to the target development board for testing, and the image test results of each of the test items are obtained. Update the test progress parameters and test results corresponding to each test item in the test information table according to the mirror test results of each test item.
[0007] In an optional implementation, before obtaining the test information table, the following steps are further included: Obtain an initial test information table, which includes multiple items to be tested, and each item to be tested includes first test information; Determine whether the first test information of each item to be tested is correct. If it is correct, add second test information to each item to be tested and obtain the time when the second test information of each item to be tested was added.
[0008] In an optional implementation, the test progress indicators include at least one of the following: the set of serial numbers of the images being tested, the set of serial numbers of the images that have been tested, the set of serial numbers of the images that need to be tested, the test urgency parameter of each item to be tested, and the addition time of the second test information in each item to be tested. The monitoring information for each development board includes at least one of the following: development board type, running status, ownership parameters, serial number of the currently running image, serial number of the next image to be run, and current test results of the development board.
[0009] In an optional implementation, the step of determining the target development board and test image file corresponding to each test item in the test information table in sequence according to the development board monitoring table based on the preset test cycle includes: According to the preset test cycle, obtain the test image file corresponding to each item to be tested in the test information table. The test image file includes: an image requirement sequence, which is used to indicate the development board type supported by the test image file. Based on the image requirement sequence corresponding to each test item and the development board monitoring table, determine the target development board corresponding to each test item in the test information table.
[0010] In an optional implementation, determining the target development board corresponding to each test item in the test information table based on the image requirement sequence corresponding to each test item and the development board monitoring table includes: If the test type of the first item to be tested is a fast test, obtain the serial codes of all the first images that need to be tested from the test progress indicators corresponding to the first item to be tested; Based on the serial numbers of all the first images that need to be tested, obtain the image requirement sequence for each first image file; Based on the development board monitoring table, the system iterates through all online development boards to determine the online development board that meets the image requirements sequence of each first image file and whose next image to be run has not been set as the first target development board. The system then updates the monitoring information of the first target development board and the test progress indicators corresponding to the first test item according to the serial codes of all the first images that need to be tested.
[0011] In an optional implementation, if there is at least one first development board among all online development boards that has no set ownership parameter, is in an idle running state, has no set image to run next, and meets the image requirement sequence of each first image file, then at least one first development board is determined to be the first target development board. If among all online development boards there is at least one second development board whose ownership parameter is not set, whose running status is running, whose next image to be run is not set, and which meets the image requirement sequence of each first image file, then at least one second development board is determined to be the first target development board. If there is at least one third development board among all online development boards that has not set the image to be run next and meets the image requirement sequence of each first image file, then at least one of the third development boards is determined as the first target development board. The first development board has a higher selection priority than the second development board, and the second development board has a higher selection priority than the third development board.
[0012] In an optional implementation, determining the target development board corresponding to each test item in the test information table based on the image requirement sequence corresponding to each test item and the development board monitoring table includes: If the test type of the second test item is a comparative test, based on the development monitoring table, traverse all online development boards to determine the test name corresponding to the second test item with the belonging parameter, and the development board whose image to be run next is not set is the second target development board corresponding to the second test item. Then update the monitoring information of the second target development board and the test progress indicators corresponding to the second test item. The comparative test is used to test the running results of different versions of the same image on the same development board.
[0013] In an optional implementation, determining the target development board corresponding to each test item in the test information table based on the image requirement sequence corresponding to each test item and the development board monitoring table includes: If the test type of the third test item is a complete test, the serial number of the third image to be tested is obtained from the test progress index corresponding to the third test item. The complete test is used to test the complete performance of the same version of the image on different development boards. Based on the serial number of the third image, obtain the image requirement sequence of the third image file; Based on the development board monitoring table, the development board that meets the image requirements sequence of the third image file and whose image to be run next is not set is determined from all online development boards that meet the specified development board type corresponding to the test item as the third target development board. Set the serial number of the image to be run next on the third target development board to the serial number of the third image, and update the test progress indicator corresponding to the third test item.
[0014] In an optional implementation, the step of determining the target development board and test image file corresponding to each test item in the test information table in sequence according to the development board monitoring table based on the preset test cycle includes: Based on a preset testing cycle, the testing order of each item to be tested in the testing information table is updated according to the current testing urgency parameter of each item to be tested in the testing information table. The current test urgency parameter of each item to be tested in the test information table is updated, and the target development board and test image file corresponding to each item to be tested in the test information table are determined based on the updated test information table with the test order. The initial test urgency of the fast test is higher than that of the comparative test and the complete test.
[0015] In an optional implementation, updating the test order of each item to be tested in the test information table based on a preset test cycle and according to the current test urgency parameter of each item to be tested in the test information table includes: Based on a preset testing cycle, the testing order of each item to be tested in the testing information table is updated according to the current testing urgency parameter of each item to be tested and the addition time of the second testing information in each item to be tested.
[0016] In an optional implementation, the step of burning the test image file corresponding to each of the test items to the target development board for testing and obtaining the image test results of each of the test items includes: Obtain the operating status of the target development board; If the target development board is in an idle state, the test image file corresponding to the item to be tested is obtained, the test image file corresponding to the item to be tested is burned to the target development board for testing, the monitoring information of the target development board is updated, and the image test result of the item to be tested is obtained. If the target development board is in a running state and the current test result of the target development board has been set, then the current test result of the target development board is determined to be the mirror test result of the item to be tested.
[0017] Secondly, the present invention provides a scheduling device based on multiple development boards, comprising: The first acquisition module is used to acquire a test information table and a development board monitoring table respectively. The test information table includes multiple items to be tested, and each item to be tested includes first test information and second test information. The first test information includes at least one of the following: test name, test type, specified development board type, test image serial number, and test image version identifier. The second test information includes: test progress indicators and test results. The development board monitoring table includes monitoring information for multiple development boards. The determination module is used to determine the target development board and test image file corresponding to each test item in the test information table in sequence according to the development board monitoring table based on the preset test cycle; The second acquisition module is used to burn the test image file corresponding to each of the test items to the target development board for testing, and to acquire the image test results of each of the test items. The update module is used to update the test progress parameters and test results corresponding to each test item in the test information table based on the mirror test results of each test item.
[0018] In an optional implementation, the first acquisition module is further configured to acquire an initial test information table, the initial test information table including multiple items to be tested, each item to be tested including first test information; Determine whether the first test information of each item to be tested is correct. If it is correct, add second test information to each item to be tested and obtain the time when the second test information of each item to be tested was added.
[0019] In an optional implementation, the test progress indicators include at least one of the following: the set of serial numbers of the images being tested, the set of serial numbers of the images that have been tested, the set of serial numbers of the images that need to be tested, the test urgency parameter of each item to be tested, and the addition time of the second test information in each item to be tested. The monitoring information for each development board includes at least one of the following: development board type, running status, ownership parameters, serial number of the currently running image, serial number of the next image to be run, and current test results of the development board.
[0020] In an optional implementation, the determining module is specifically used to obtain the test image file corresponding to each item to be tested in the test information table according to a preset test cycle. The test image file includes: an image requirement sequence, which is used to indicate the development board type supported by the test image file. Based on the image requirement sequence corresponding to each test item and the development board monitoring table, determine the target development board corresponding to each test item in the test information table.
[0021] In an optional implementation, the determining module is specifically used to obtain the serial codes of all first images that need to be tested from the test progress indicators corresponding to the first test item if the test type of the first test item is a fast test. Based on the serial numbers of all the first images that need to be tested, obtain the image requirement sequence for each first image file; Based on the development board monitoring table, the system iterates through all online development boards to determine the online development board that meets the image requirements sequence of each first image file and whose next image to be run has not been set as the first target development board. The system then updates the monitoring information of the first target development board and the test progress indicators corresponding to the first test item according to the serial codes of all the first images that need to be tested.
[0022] In an optional implementation, if there is at least one first development board among all online development boards that has no set ownership parameter, is in an idle running state, has no set image to run next, and meets the image requirement sequence of each first image file, then at least one first development board is determined to be the first target development board. If among all online development boards there is at least one second development board whose ownership parameter is not set, whose running status is running, whose next image to be run is not set, and which meets the image requirement sequence of each first image file, then at least one second development board is determined to be the first target development board. If there is at least one third development board among all online development boards that has not set the image to be run next and meets the image requirement sequence of each first image file, then at least one of the third development boards is determined as the first target development board. The first development board has a higher selection priority than the second development board, and the second development board has a higher selection priority than the third development board.
[0023] In an optional implementation, the determining module is specifically used to determine, if the test type of the second test item is a comparison test, the second target development board corresponding to the second test item and whose belonging parameter is the test name corresponding to the second test item and whose image to be run next is not set, based on the development monitoring table, and to update the monitoring information of the second target development board and the test progress index corresponding to the second test item. The comparative test is used to test the running results of different versions of the same image on the same development board.
[0024] In an optional implementation, the determining module is specifically used to obtain the serial number of the third image to be tested from the test progress index corresponding to the third test item if the test type of the third test item is a complete test. The complete test is used to test the complete performance of the same version of the image on different development boards. Based on the serial number of the third image, obtain the image requirement sequence of the third image file; Based on the development board monitoring table, the development board that meets the image requirements sequence of the third image file and whose image to be run next is not set is determined from all online development boards that meet the specified development board type corresponding to the test item as the third target development board. Set the serial number of the image to be run next on the third target development board to the serial number of the third image, and update the test progress indicator corresponding to the third test item.
[0025] In an optional implementation, the determining module is specifically used to update the test order of each item to be tested in the test information table based on a preset test cycle and according to the current test urgency parameter of each item to be tested in the test information table; The current test urgency parameter of each item to be tested in the test information table is updated, and the target development board and test image file corresponding to each item to be tested in the test information table are determined based on the updated test information table with the test order. The initial test urgency of the fast test is higher than that of the comparative test and the complete test.
[0026] In an optional implementation, the determining module is specifically used to update the test order of each item to be tested in the test information table based on a preset test cycle, according to the current test urgency parameter of each item to be tested in the test information table and the addition time of the second test information in each item to be tested.
[0027] In an optional implementation, the second acquisition module is specifically used to acquire the operating status of the target development board; If the target development board is in an idle state, the test image file corresponding to the item to be tested is obtained, the test image file corresponding to the item to be tested is burned to the target development board for testing, the monitoring information of the target development board is updated, and the image test result of the item to be tested is obtained. If the target development board is in a running state and the current test result of the target development board has been set, then the current test result of the target development board is determined to be the mirror test result of the item to be tested.
[0028] Thirdly, the present invention provides an electronic device, comprising: a processor, a storage medium, and a bus, wherein the storage medium stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the machine-readable instructions to perform the steps of the multi-development board-based scheduling method as described in any of the foregoing embodiments.
[0029] Fourthly, the present invention provides a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the steps of the multi-development board-based scheduling method as described in any of the foregoing embodiments.
[0030] The beneficial effects of this application are: The scheduling method, apparatus, electronic device, and storage medium based on multiple development boards provided in this application embodiment include: acquiring a test information table and a development board monitoring table, wherein the test information table includes multiple items to be tested, each item to be tested includes first test information and second test information, the first test information includes at least one of the following: test name, test type, specified development board type, test image serial number, and test image version identifier, and the second test information includes: test progress indicators and test results; the development board monitoring table includes monitoring information of multiple development boards; according to a preset test cycle, based on the development board monitoring table, sequentially determining the target development board and test image file corresponding to each item to be tested in the test information table; burning the test image file corresponding to each item to be tested to the target development board for testing, and obtaining the image test results of each item to be tested; updating the test progress parameters and test results corresponding to each item to be tested in the test information table according to the image test results of each item to be tested, thereby realizing a dynamic test information table and development board monitoring table, which can effectively and dynamically schedule multiple development boards, and improve the scheduling effect and efficiency of development boards. Attached Figure Description
[0031] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0032] Figure 1 A flowchart illustrating a scheduling method based on multiple development boards provided in this application embodiment; Figure 2 A flowchart illustrating another scheduling method based on multiple development boards provided in this application embodiment; Figure 3 A flowchart illustrating another scheduling method based on multiple development boards provided in this application embodiment; Figure 4 A flowchart illustrating another scheduling method based on multiple development boards provided in this application embodiment; Figure 5 A flowchart illustrating another scheduling method based on multiple development boards provided in this application embodiment; Figure 6 A flowchart illustrating another scheduling method based on multiple development boards provided in this application embodiment; Figure 7 A flowchart illustrating another scheduling method based on multiple development boards provided in this application embodiment; Figure 8 A schematic diagram of the functional modules of a scheduling device based on multiple development boards provided in an embodiment of this application; Figure 9 This is a schematic diagram of an electronic device structure provided in an embodiment of this application. Detailed Implementation
[0033] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. The components of the embodiments of this application described and shown in the accompanying drawings can generally be arranged and designed in various different configurations.
[0034] Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0035] It should be noted that similar labels and letters in the following figures indicate similar items. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.
[0036] In related technologies, when scheduling multiple development boards, a distributed approach is often used, allocating multiple test tasks to different development boards based on priority. However, existing scheduling methods do not take into account the following factors: for example, different development boards can perform tasks at different skill levels, different development boards can run different images, and testers have different requirements for each test (e.g., there may be personalized customization). Therefore, existing development board scheduling methods have poor applicability and cannot meet the scheduling needs of various scenarios.
[0037] In view of this, the embodiments of this application provide a scheduling method based on multiple development boards. The method implements a dynamic test information table and development board monitoring table, which can effectively and dynamically schedule multiple development boards, thereby improving the scheduling effect and efficiency of development boards.
[0038] Figure 1This application provides a flowchart illustrating a scheduling method based on multiple development boards. The execution entity of this method can be a host computer, which can communicate with multiple development boards via serial ports. Testers submit test requests to the host computer, which then schedules tests on the multiple development boards in response to these requests. Optionally, this method can be specifically applied to scenarios where multiple development boards, multiple images, and multiple testers are conducting tests simultaneously. The system used by the host computer includes, but is not limited to, Linux and Windows systems. Of course, this application does not limit the specific application field; for example, it can be applied to the embedded systems field, the Internet of Things (IoT) field, etc.
[0039] like Figure 1 As shown, the method includes: S101. Obtain the test information table and the development board monitoring table respectively.
[0040] The test information table includes multiple items to be tested, and each item to be tested includes first test information and second test information. The first test information includes at least one of the following: test name, test type, specified development board type, test image serial number, and test image version identifier. The second test information includes: test progress indicators and test results. The development board monitoring table includes monitoring information for multiple development boards.
[0041] The test information table is used to set the items to be tested. It can include multiple items to be tested. Each item to be tested can include first test information and second test information. The first test information indicates the specific test content, and the second test information includes test progress indicators and test results.
[0042] Test Name: This is the test identifier for each item to be tested, and the test name should be unique. Optionally, the test type may include: quick test of the image, compare test of the image, and complete test of the image.
[0043] The quick test requires a sufficiently fast test speed; as long as the image can run, there are no requirements regarding the development board model. The compare test is used to test the results of different versions of the same image on the same development board. It is required that the test must be conducted on the same development board. It should be noted that different development boards of the same model do not meet the compare test requirements. The complete test requires testing the complete performance of the same version of the image on different development boards of different models.
[0044] The development board type is also known as the development board model; the test image serial number is also known as the test image identifier, and the test image serial number is unique; the test image version identifier can be the version number of the test image.
[0045] Optionally, the test progress indicators in the second test information can represent the test progress, test urgency, etc., of each test item, and are not limited here. It should be noted that, depending on the test type corresponding to each test item, each test item may have one or more test images. The test results in the second test information can represent whether each test item was successfully tested.
[0046] It should be noted that this application does not limit the specific content of the first test information, and can be flexibly set according to the actual application scenario.
[0047] The development board monitoring table includes monitoring information for multiple development boards. This monitoring information can characterize information related to the development board, such as: the type of development board, its running status, the serial number of the currently running image, etc., without any limitations.
[0048] S102. Based on the preset test cycle and the development board monitoring table, determine the target development board and test image file corresponding to each test item in the test information table in sequence.
[0049] The preset test cycle is used to indicate the interval between two consecutive tests. Optionally, the preset test cycle can be at the microsecond or minute level, which is not limited here and can be flexibly set according to the actual application scenario.
[0050] Based on the above explanation, it can be understood that in each preset test cycle, the target development board and test image file corresponding to each test item in the test information table can be determined according to the monitoring information of each development board in the development board monitoring table and the development board type, test image serial number and test image version identifier in the first test information of each test item, based on the order of each test item in the test information table.
[0051] S103. Burn the test image file corresponding to each test item to the target development board for testing, and obtain the image test results of each test item.
[0052] Once the target development board and test image file for each test item are determined, the test image file for each test item can be burned to the corresponding target development board for testing. By running each test image file, the image test results for each test item can be obtained. The image test results for each test item indicate whether the test was successful.
[0053] S104. Update the test progress parameters and test results corresponding to each test item in the test information table based on the mirror test results of each test item.
[0054] Based on the above explanation, after obtaining the mirror test results of each test item, the test progress indicators and test results corresponding to each test item in the test information table can be dynamically updated accordingly. This allows for effective and dynamic scheduling of multiple development boards based on the test information table and the development board monitoring table, thereby improving the scheduling effect and efficiency of the development boards.
[0055] In summary, this application provides a scheduling method based on multiple development boards. The method includes: acquiring a test information table and a development board monitoring table, whereby the test information table includes multiple items to be tested, each item including first test information and second test information. The first test information includes at least one of the following: test name, test type, specified development board type, test image serial number, and test image version identifier; the second test information includes: test progress indicators and test results. The development board monitoring table includes monitoring information for multiple development boards. Based on a preset test cycle and the development board monitoring table, the target development board and test image file corresponding to each item to be tested in the test information table are determined sequentially. The test image file corresponding to each item to be tested is burned to the target development board for testing, and the image test results for each item to be tested are obtained. The test progress parameters and test results corresponding to each item to be tested in the test information table are updated according to the image test results. This method achieves effective and dynamic scheduling of multiple development boards based on a dynamic test information table and development board monitoring table, improving the scheduling effect and efficiency of development boards.
[0056] Figure 2 This is a flowchart illustrating another scheduling method based on multiple development boards provided in an embodiment of this application. In optional implementations, such as... Figure 2 As shown, before obtaining the test information table, the following steps are also included: S201. Obtain the initial test information table. The initial test information table includes multiple items to be tested, and each item to be tested includes the first test information.
[0057] S202. Determine whether the first test information of each item to be tested is correct. If it is correct, add the second test information for each item to be tested and obtain the time when the second test information of each item to be tested was added.
[0058] The initial test information table can be a pre-edited test information table by the testers. However, considering the possibility of errors in the initial test information for a particular test item during the editing process—for example, errors in the serial number or version identifier of a test image, resulting in the remote image library not including the serial number or version identifier of that test image; or, the test name being used before, meaning the test name is not unique; or, if the test type for a test item is a quick test, any development board can be online; if the test type for a test item is a complete test or a compare test, the development board specified for that test item must be online. If not all the development boards specified for that test item are online, the initial test information for that test item will be considered incorrect.
[0059] The remote image repository is a central repository containing all versions of images. Optionally, the remote image repository can be stored on a remote server.
[0060] Of course, in some embodiments, the test image can also be retrieved from a remote image library to the local image pool on the host computer based on the serial number of the test image corresponding to each test item. During retrieval, the image requirement sequence of a single image is compared with the development monitoring table. If a requirement in a certain image cannot be met by any of the currently available online development boards, feedback is provided to the testers, informing them that the test item information table needs to be modified.
[0061] Therefore, optionally, the host computer can parse the initial test information table to obtain the first test information of each item to be tested, and determine whether the first test information of each item to be tested is correct according to the preset verification rules. If it is incorrect, the tester is notified to make corrections. If it is correct, second test information can be added to each item to be tested. By recording the addition time of the second test information of each item to be tested, the test order of each item to be tested in the test information table can be set according to the addition time of the second test information of each item to be tested.
[0062] By applying the embodiments of this application, it is possible to perform preliminary verification on the initial test information table. If the verification passes, second test information can be added to each item to be tested, avoiding invalid additions when the initial test information table is incorrect, and improving the generation efficiency of the test information table.
[0063] In an optional implementation, the test progress indicators include at least one of the following: mirror test progress parameters, test urgency parameters for each item to be tested, and the addition time of the second test information in each item to be tested; The monitoring information for each development board includes at least one of the following: development board type, running status, ownership parameters, serial number of the currently running image, serial number of the next image to be run, and current test results of the development board.
[0064] Optionally, the image testing progress parameters may include: the set of serial numbers of the image being tested (project_in_test), the set of serial numbers of the image that has been tested (project_finish_test), the set of serial numbers of the image to be tested (project_to_test), etc., but are not limited thereto.
[0065] In some embodiments, referring to the above description, when pulling the test image from the remote image library to the local image pool according to the serial number of the test image corresponding to each test item, the serial number of the test image corresponding to each test item can be saved to the serial number set project_to_test of the test images, that is, the serial number set project_to_test of the test images is initialized to all the test images corresponding to the test information table.
[0066] The test urgency parameter for each test item can characterize the test priority of each test item. Optionally, the test priority of quick test can be higher than that of complete test and compare test.
[0067] Optionally, for the development board, the development board type can indicate the development board model, number of large cores, number of small cores, etc., which are not limited here; the running status can indicate whether the development board is in the running state or the free state; the serial number of the currently running image can indicate the image that the development board is currently testing; the serial number of the next image to be run can indicate the image that the development board will test next; the current test result of the development board can indicate the test result corresponding to the current image when the development board runs it.
[0068] Figure 3 This is a flowchart illustrating another scheduling method based on multiple development boards provided in an embodiment of this application. In optional implementations, such as... Figure 3 As shown, based on the preset test cycle and the development board monitoring table, the target development board and test image file corresponding to each test item in the test information table are determined sequentially, including: S301. According to the preset test cycle, obtain the test image file corresponding to each item to be tested in the test information table.
[0069] The test image file includes: an image requirement sequence, which indicates the development board types supported by the test image file.
[0070] According to the preset test cycle, each item to be tested in the test information table can be traversed and tested.
[0071] In some implementations, the corresponding test image can be retrieved from a remote image library based on the serial number of the test image corresponding to each test item in the test information table. The serial number of the test image is then used as the name of the retrieved image to uniquely identify the image in the local image pool. Optionally, during the retrieval process, the remote image library can generate an image requirement sequence to indicate the development board types supported by the test image file.
[0072] Optionally, in addition to indicating the development board type supported by the corresponding test image file, the image requirement sequence may also include: image serial number, image name, number of large cores required by the image, peripherals required by the image (such as SD card, USB device, etc.), and allowed burning methods, etc., which are not limited here.
[0073] S302. Based on the image requirement sequence and development board monitoring table corresponding to each test item, determine the target development board corresponding to each test item in the test information table.
[0074] In some implementations, the monitoring information for each development board in the development board monitoring table may include the following: SOC information, flashing method, firmware version, running status, board_belong parameter, the serial number of the currently running image (board_running_image), the serial number of the next image to be run (board_next_image), and the current test result of the development board (board_test_result), etc. The running status can be offline, running, or free. Of course, the specific representation of the development board monitoring table is not limited to this.
[0075] The attribution parameter oard_belong indicates whether the development board is occupied by a certain comparison test. Optionally, if this parameter has a value, it means that the development board is occupied by a certain comparison test and other comparison tests cannot use it.
[0076] Understandably, after obtaining the image requirement sequence corresponding to each test item, it can be compared with the monitoring information of each development board in the development board monitoring table. Through comparison, the target development board that meets the test requirements of each test item can be selected so that effective testing can be carried out in the future.
[0077] By applying the embodiments of this application, it is possible to determine the matching target development board for each test item based on the test image file corresponding to each test item in the test information table.
[0078] Figure 4 This is a flowchart illustrating another scheduling method based on multiple development boards provided in an embodiment of this application. In optional implementations, such as... Figure 4As shown above, based on the image requirement sequence and development board monitoring table corresponding to each test item, the target development board corresponding to each test item in the test information table is determined, including: S401. If the test type of the first item to be tested is a fast test, obtain the serial codes of all the first images that need to be tested from the test progress indicators corresponding to the first item to be tested.
[0079] Optionally, in some embodiments, the test information table may specifically include the following parameters: test name test_name, test type test_type, specified development board type test_board, test image list project_includ, test image version identifier source_code_version, etc., but is not limited thereto.
[0080] It should be noted that the test image list project_includ is used to fill in the test sub-items one by one. Each test sub-item corresponds to one image. The order of the test image serial numbers in this list will determine the image burning order within a single test.
[0081] It should be noted that if the test type (test_type) of a test item is "compare", then only one item can be entered in the project_include field. If the test type (test_type) of a test item is "other", then the project_include field can include the serial numbers of multiple test images. For example, if the test type of a test item is "fast test", then the project_include field corresponding to that test item can include the serial numbers of multiple test images.
[0082] In addition, it should be noted that project_include can be the union of the string set of the image being tested (project_in_test), the string set of the tested image (project_finish_test), and the string set of the image to be tested (project_to_test).
[0083] S402. Based on the serial numbers of all the first images that need to be tested, obtain the image requirement sequence for each first image file.
[0084] S403. Based on the development board monitoring table, traverse all online development boards to determine the online development board that meets the image requirements sequence of each first image file and whose next image to be run has not been set as the first target development board, and update the monitoring information of the first target development board and the test progress indicators corresponding to the first test item according to the serial codes of all first images that need to be tested.
[0085] Optionally, during each test, the requirement sequence of all first images to be tested can be obtained from the local image pool based on the string code set project_to_test of the image to be tested corresponding to the first test item. Based on the requirement sequence of all first images to be tested, the online development boards in the development monitoring table are traversed. The online development board that meets the image requirement sequence of each first image file and whose image to be run next is not set is identified as the first target development board, and the monitoring information of the first target development board is updated accordingly.
[0086] Optionally, there may be multiple first target development boards. For example, during the first update, the serial number `board_next_image` of the next image to be run corresponding to N first target development boards can be updated to the serial numbers of the first N images in the set `project_to_test` corresponding to the first image to be tested. Of course, the specific update method is not limited to this.
[0087] It should be noted that if a matching first target development board has been determined for each first image file, the test progress indicator image corresponding to the first test item can be updated. For example, the image string code added to board_next_image can be deleted from project_to_test, and the deleted image string code can be added to the string code set project_in_test of the image being tested.
[0088] In an optional implementation, if there is at least one first development board among all online development boards that has no set ownership parameter, is in an idle running state, has no set image to run next, and meets the image requirement sequence of each first image file, then at least one first development board is determined as the first target development board. If among all online development boards there is at least one second development board whose ownership parameter is not set, whose running status is running, whose next image to be run is not set, and which meets the image requirement sequence of each first image file, then at least one second development board is determined as the first target development board. If there is at least one third development board among all online development boards that has not set the image to be run next and meets the image requirement sequence of each first image file, then at least one third development board is determined as the first target development board. The first development board has a higher priority than the second development board, and the second development board has a higher priority than the third development board.
[0089] In different scenarios, different development boards can be selected as the first target development board. Optionally, when making a specific selection, at least one first development board can be selected from multiple online development boards where the board_belong parameter is empty, the board_status is in an idle state (free), and the serial number board_next_image of the image to be run next is empty. Secondly, at least one second development board can be selected from multiple online development boards where the board_belong parameter is empty, the board_status is in a running state (running), and the serial number board_next_image of the image to be run next is empty. Thirdly, at least one third development board can be selected from multiple online development boards where the serial number board_next_image of the image to be run next is empty.
[0090] By applying the embodiments of this application, when the test type of the first test item is a rapid test, a suitable development board can be flexibly selected as the first target development board in different scenarios. This not only avoids affecting the normal operation of other tests, but also ensures that the first test item is tested as soon as possible, thereby improving the utilization rate of the development board.
[0091] In an optional implementation, the above-mentioned determination of the target development board corresponding to each test item in the test information table based on the image requirement sequence and development board monitoring table corresponding to each test item includes: If the test type of the second test item is a comparative test, based on the development monitoring table, traverse all online development boards to determine the test name corresponding to the second test item with the attribute parameter, and the development board whose image to be run next is not set is the second target development board corresponding to the second test item. Then update the monitoring information of the second target development board and the test progress indicators corresponding to the second test item.
[0092] The comparative test is used to test the running results of different versions of the same image on the same development board.
[0093] Optionally, if the test type (test_type) of the second test item is a comparison test, then for the serial number of the first image in the serial number set (project_to_test) of the second test image, based on the development monitoring table, the development board whose board_belong parameter is the test name corresponding to the second test item (i.e., board_belong = test_name) and whose serial number (board_next_image) of the next image to be run is empty can be selected as the second target development board corresponding to the second test item. The monitoring information of the second target development board can be updated accordingly. That is, the serial number of the first image in the serial number set (project_to_test) of the test image corresponding to the second test item can be filled into the serial number (board_next_image) of the next image to be run corresponding to the second target development board.
[0094] In addition, the test progress metrics corresponding to the second item to be tested can be updated. For example, the image code added to board_next_image can be deleted from project_to_test, and the deleted image code can be added to the code set project_in_test of the image being tested.
[0095] It should be noted that in some scenarios, if both the string set project_in_test of the image being tested and the string set project_finish_test of the tested images are empty, it indicates that the item to be tested is generating a schedule for the first time. In this case, based on the specified development board type test_board corresponding to the item to be tested, the first development board that is traversed and whose board_belong parameter is empty is selected as the second target development board corresponding to the item to be tested, and the board_belong parameter of the second target development board is filled with the test name test_name corresponding to the test item.
[0096] In some implementation methods, if both the serial number set project_to_test of the image to be tested and the serial number set project_in_test of the image being tested are empty, it indicates that the test has been completed. Optionally, at this time, the development board monitoring table can be traversed to find the development board whose attribution parameter board_belong is the test name test_name corresponding to the second test item, and the attribution parameter board_belong of the development board can be set to empty.
[0097] Figure 5 This is a flowchart illustrating another scheduling method based on multiple development boards provided in an embodiment of this application. In optional implementations, such as... Figure 5 As shown above, based on the image requirement sequence and development board monitoring table corresponding to each test item, the target development board corresponding to each test item in the test information table is determined, including: S501. If the test type of the third item to be tested is a complete test, obtain the serial number of the third image to be tested from the test progress indicators corresponding to the third item to be tested.
[0098] The complete test is used to test the full performance of the same version of the image on different development boards. The third image can be the first image in the string set project_to_test corresponding to the image to be tested.
[0099] S502. Obtain the image requirement sequence of the third image file based on the serial number of the third image.
[0100] S503. Based on the development board monitoring table, traverse all online development boards that meet the specified development board type corresponding to the test item to determine the development board that meets the image requirements sequence of the third image file and whose image to be run next is not set as the third target development board.
[0101] S504. Set the serial number of the image to be run next on the third target development board to the serial number of the third image, and update the test progress indicator corresponding to the third test item.
[0102] If the test type (test_type) of the test item is complete, the image requirement sequence of the first image in the project_to_test set of the test images corresponding to the third test item can be obtained from the local image pool based on the image requirement sequence of the project_to_test image. Based on the development monitoring table, all online development boards that meet the specified development board type (test_board) corresponding to the third test item are traversed, and the development board that meets the image requirement sequence of the third image and whose next image to be run has an empty board_next_image is selected as the third target development board corresponding to the third test item. The monitoring information of the third target development board is updated accordingly. That is, the first image string in the project_to_test set of the test images corresponding to the third test item can be filled into the board_next_image string of the next image to be run corresponding to the third target development board.
[0103] In addition, the test progress metrics corresponding to the third item to be tested can be updated. For example, the image code added to board_next_image can be deleted from project_to_test, and the deleted image code can be added to the code set project_in_test of the image being tested.
[0104] Figure 6 This is a flowchart illustrating another scheduling method based on multiple development boards provided in an embodiment of this application. In optional implementations, such as... Figure 6 As shown, based on the preset test cycle and the development board monitoring table, the target development board and test image file corresponding to each test item in the test information table are determined sequentially, including: S601. Based on the preset test cycle, update the test order of each item to be tested in the test information table according to the current test urgency parameter of each item to be tested in the test information table.
[0105] S602. Update the current test urgency parameter of each item to be tested in the test information table, and determine the target development board and test image file corresponding to each item to be tested in the test information table based on the updated test information table.
[0106] Among them, the initial testing urgency of rapid testing is higher than that of comparative testing and complete testing.
[0107] Optionally, the initial test urgency parameter for quick testing can be set as the first parameter, the initial test urgency parameter for comparative testing as the second parameter, and the initial test urgency parameter for complete testing as the third parameter. The first parameter indicates a higher test urgency than the second and third parameters.
[0108] It should be noted that this application does not limit the relationship between the second parameter and the third parameter. Optionally, the second parameter can be equal to the third parameter, or the test urgency indicated by the second parameter can be higher than the test urgency indicated by the third parameter, or the test urgency indicated by the second parameter can be lower than the test urgency indicated by the third parameter. No limitation is made here, and it can be flexibly set according to the actual application scenario.
[0109] In some embodiments, considering that the first test item of the test type is a fast test, it should be scheduled first, the initial test urgency parameter of the fast test can be set to be higher than that of the comparative test and the complete test.
[0110] Each item to be tested can correspond to a test urgency parameter. For the first item to be tested when the test type is complete, the test urgency parameter test_urgency can be initialized to 500 (i.e., the first parameter). For the second item to be tested when the test type is compare, the test urgency parameter test_urgency can be initialized to 0 (where the second and third parameters are equal, both being 0). For the third item to be tested when the test type is complete, the test urgency parameter test_urgency can be initialized to 0.
[0111] It should be noted that this application does not limit the specific values of the first parameter, the second parameter, and the third parameter; they can be flexibly set according to the actual application scenario.
[0112] Based on the initial test urgency parameter corresponding to each test item, the test order of each test item in the test information table can be initially updated according to the initial test urgency parameter of each test item. The higher the test urgency indicated by the test urgency parameter, the earlier the test order of the test item will be.
[0113] Based on the above explanation, it is understandable that since the initial test urgency parameter of the rapid test is higher than that of the comparative test and the complete test, the first test item of the rapid test type will be scheduled first. However, considering that if the first test item of the rapid test type continues to arrive, the second test item of the comparative test type and the third test item of the complete test type will not be scheduled until the test urgency parameter of the second or third test item is greater than that of the first test item. In other words, the scheduling of comparative tests and complete tests cannot be guaranteed.
[0114] Optionally, after updating the test order of each item to be tested in the test information table in each preset test cycle, the current test urgency parameter of each item to be tested in each test information table can be updated according to the preset update rules.
[0115] The specific update method is as follows: In some implementations, when `test_type = quick`, `test_urgency` can be incremented by 1 in each preset test cycle, with a maximum of 1000; when `test_type = compare`, `test_urgency` is incremented by 1, with a maximum of 500; and when `test_type = complete`, `test_urgency` is incremented by 1, with a maximum of 500. This ensures that within a limited time, at least one mirror of the `compare` and `complete` type tests is scheduled, preventing them from being completely overwhelmed by the `quick` type tests. It should be noted that when the test urgency parameters for comparison tests, complete tests, and quick tests reach their maximum, they can be reset to their initial test urgency parameters. This means that after resetting, the first test item with `test_type = quick` will regain high priority, thus ensuring the fast real-time performance of `test_type = quick` for the vast majority of the time.
[0116] It should be noted that this application does not limit the magnitude of each update. The update magnitude can be set to 1, or it can be 2, 5, etc., without limitation. In addition, different update magnitudes can be set for different test types, which can be flexibly set according to the actual application scenario.
[0117] In summary, by applying the embodiments of this application, the needs of testers can be accurately obtained based on the dynamic test information table and development board monitoring table. Relying on real-time services and sorting algorithms, the test information table and development board monitoring table can be dynamically managed, and test scheduling can be generated for the development board in units of images. This allows most test needs to be responded to in a timely and reliable manner, minimizes the idle time of the development board, and improves the testing efficiency and utilization of the development board.
[0118] In an optional implementation, the above-mentioned updating of the test order of each item to be tested in the test information table based on a preset test cycle and according to the current test urgency parameter of each item to be tested in the test information table includes: Based on the preset test cycle, the test order of each item to be tested in the test information table is updated according to the current test urgency parameter of each item to be tested and the addition time of the second test information in each item to be tested.
[0119] In some embodiments, considering that multiple items to be tested may have the same current test urgency parameter, the test order may be uncertain. Optionally, to improve the reliability of the method, if multiple items to be tested have the same current test urgency parameter, the order can be determined by combining the addition time (test_time) of the second test information in each item to be tested. The earlier the addition time (test_time) of the second test information in a certain item to be tested, the higher the test urgency of that item (i.e., the earlier the test item is added, the earlier it is executed). It is understood that since the addition time of the second test information in each item to be tested is unique, a unique scheduling order can be guaranteed for the test information table, thus improving the reliability of the method.
[0120] Figure 7 This is a flowchart illustrating another scheduling method based on multiple development boards provided in an embodiment of this application. In optional implementations, such as... Figure 7 As shown, the test image files corresponding to each test item are burned to the target development board for testing, and the image test results of each test item are obtained, including: S701. Obtain the running status of the target development board.
[0121] S702. If the target development board is in an idle state, obtain the test image file corresponding to the item to be tested, burn the test image file corresponding to the item to be tested to the target development board for testing, update the monitoring information of the target development board, and obtain the image test results of the item to be tested.
[0122] S703. If the target development board is in the running state and the current test result of the target development board has been set, then the current test result of the target development board is determined to be the mirror test result of the item to be tested.
[0123] Specifically, when conducting tests, based on the determined target development board, the following operations can be performed: If the target development board is in an idle state (board_status = free) and the serial number of the image to be run next, board_next_image, is not empty, then the image named board_next_image is found from the image pool and burned to the target development board for testing. Then, the serial number of the currently running image corresponding to the target development board is set to the serial number of the currently burned image, board_next_image is set to empty, and the running status of the target development board, board_status, is set to running.
[0124] If the target development board is in a running state and its current test result is set (i.e., `board_status = running` and `board_test_result` is not empty), then the current test is complete. At this point, the image string of the currently running image `board_running_image` can be parsed to obtain the corresponding test name `test_name`. (The image string can carry the test name `test_name`, and the test result `board_test_result` corresponding to `test_name` can be updated accordingly. This allows the image running result on the development board to be reasonably transmitted back to the corresponding test item column by parsing the image string.) Furthermore, the currently running image string can be added to the string set `project_finish_test` of the tested images, and `board_running_image` can be set to empty and `board_status` to free.
[0125] Based on the above explanation, after obtaining the test results for each item to be tested, the test results can be communicated to the testers.
[0126] Optionally, the test information table can be iterated. If the serial number project_to_test for the image to be tested and the serial number set project_in_test for the image currently being tested are both empty, and each serial number test_image_x in the serial number set project_finish_test for any tested image has a non-empty test_result[test_image_x], then it means that all images in the test information table have completed testing. At this point, the relevant content in the test information table for completed testing can be sent to the corresponding tester, and each item to be tested can be deleted from the test information table.
[0127] In summary, by applying the embodiments of this application, test types can be divided into three categories: quick, compare, and complete. Different scheduling and task allocation strategies are adopted for the characteristics of these three types of tests, ensuring that tests with high time requirements can run as quickly as possible, while tests with requirements for the development board receive complete test resources. Furthermore, test requirements can be accurately captured by using the three attributes of the test image corresponding to each test item: source_code_version, project_include, and test_board. Moreover, by using the board_belong parameter of the development board monitoring table to mark the unique development board for comparison tests, it is ensured that comparison tests can use the same development board during the mixed scheduling of all development boards, ensuring scientific rigor. The test_urgency parameter ensures that quick-type tests are prioritized for scheduling, and that other types of tests can complete at least one scheduling within a limited time, ensuring the rationality of the tests. By using the running status board_status and the serial number of the next image to be run board_next_image in the development board monitoring table, pre-assignment of tasks to the development board can be achieved even if the development board is currently running tasks, minimizing idle time on the development board.
[0128] Figure 8 This is a functional module diagram of a scheduling device based on multiple development boards provided in this application embodiment. The basic principle and technical effects of this device are the same as those of the corresponding method embodiments described above. For the sake of brevity, parts not mentioned in this embodiment can be referred to the corresponding content in the method embodiments. Figure 8 As shown, the scheduling device 100 includes: The first acquisition module 110 is used to acquire a test information table and a development board monitoring table respectively. The test information table includes multiple items to be tested, and each item to be tested includes first test information and second test information. The first test information includes at least one of the following: test name, test type, specified development board type, test image serial number, and test image version identifier. The second test information includes: test progress indicators and test results. The development board monitoring table includes monitoring information for multiple development boards. The determination module 120 is used to determine the target development board and test image file corresponding to each test item in the test information table in sequence according to the preset test cycle and based on the development board monitoring table; The second acquisition module 130 is used to burn the test image file corresponding to each of the test items to the target development board for testing, and to acquire the image test results of each of the test items. The update module 140 is used to update the test progress parameters and test results corresponding to each test item in the test information table based on the mirror test results of each test item.
[0129] In an optional implementation, the first acquisition module 110 is further configured to acquire an initial test information table, the initial test information table including multiple items to be tested, each item to be tested including first test information; Determine whether the first test information of each item to be tested is correct. If it is correct, add second test information to each item to be tested and obtain the time when the second test information of each item to be tested was added.
[0130] In an optional implementation, the test progress indicators include at least one of the following: the set of serial numbers of the images being tested, the set of serial numbers of the images that have been tested, the set of serial numbers of the images that need to be tested, the test urgency parameter of each item to be tested, and the addition time of the second test information in each item to be tested. The monitoring information for each development board includes at least one of the following: development board type, running status, ownership parameters, serial number of the currently running image, serial number of the next image to be run, and current test results of the development board.
[0131] In an optional implementation, the determining module 120 is specifically used to obtain the test image file corresponding to each item to be tested in the test information table according to a preset test cycle. The test image file includes: an image requirement sequence, which is used to indicate the development board type supported by the test image file. Based on the image requirement sequence corresponding to each test item and the development board monitoring table, determine the target development board corresponding to each test item in the test information table.
[0132] In an optional implementation, the determining module 120 is specifically used to obtain the serial codes of all first images that need to be tested from the test progress indicators corresponding to the first test item if the test type of the first test item is a fast test. Based on the serial numbers of all the first images that need to be tested, obtain the image requirement sequence for each first image file; Based on the development board monitoring table, the system iterates through all online development boards to determine the online development board that meets the image requirements sequence of each first image file and whose next image to be run has not been set as the first target development board. The system then updates the monitoring information of the first target development board and the test progress indicators corresponding to the first test item according to the serial codes of all the first images that need to be tested.
[0133] In an optional implementation, if there is at least one first development board among all online development boards that has no set ownership parameter, is in an idle running state, has no set image to run next, and meets the image requirement sequence of each first image file, then at least one first development board is determined to be the first target development board. If among all online development boards there is at least one second development board whose ownership parameter is not set, whose running status is running, whose next image to be run is not set, and which meets the image requirement sequence of each first image file, then at least one second development board is determined to be the first target development board. If there is at least one third development board among all online development boards that has not set the image to be run next and meets the image requirement sequence of each first image file, then at least one of the third development boards is determined as the first target development board. The first development board has a higher selection priority than the second development board, and the second development board has a higher selection priority than the third development board.
[0134] In an optional implementation, the determining module 120 is specifically used to determine, based on the development monitoring table, the test name corresponding to the second test item and the development board whose belonging parameter is not set in the image to be run next time, and the second target development board corresponding to the second test item if the test type of the second test item is a comparison test, and to update the monitoring information of the second target development board and the test progress index corresponding to the second test item. The comparative test is used to test the running results of different versions of the same image on the same development board.
[0135] In an optional implementation, the determining module 120 is specifically used to obtain the serial number of the third image to be tested from the test progress index corresponding to the third test item if the test type of the third test item is a complete test. The complete test is used to test the complete performance of the same version of the image on different development boards. Based on the serial number of the third image, obtain the image requirement sequence of the third image file; Based on the development board monitoring table, the development board that meets the image requirements sequence of the third image file and whose image to be run next is not set is determined from all online development boards that meet the specified development board type corresponding to the test item as the third target development board. Set the serial number of the image to be run next on the third target development board to the serial number of the third image, and update the test progress indicator corresponding to the third test item.
[0136] In an optional implementation, the determining module 120 is specifically used to update the test order of each item to be tested in the test information table based on a preset test cycle and according to the current test urgency parameter of each item to be tested in the test information table; The current test urgency parameter of each item to be tested in the test information table is updated, and the target development board and test image file corresponding to each item to be tested in the test information table are determined based on the updated test information table with the test order. The initial test urgency of the fast test is higher than that of the comparative test and the complete test.
[0137] In an optional implementation, the determining module 120 is specifically used to update the test order of each item to be tested in the test information table based on a preset test cycle, according to the current test urgency parameter of each item to be tested in the test information table and the addition time of the second test information in each item to be tested.
[0138] In an optional implementation, the second acquisition module 130 is specifically used to acquire the operating status of the target development board; If the target development board is in an idle state, the test image file corresponding to the item to be tested is obtained, the test image file corresponding to the item to be tested is burned to the target development board for testing, the monitoring information of the target development board is updated, and the image test result of the item to be tested is obtained. If the target development board is in a running state and the current test result of the target development board has been set, then the current test result of the target development board is determined to be the mirror test result of the item to be tested.
[0139] The above-described device is used to execute the method provided in the foregoing embodiments, and its implementation principle and technical effect are similar, so they will not be described again here.
[0140] These modules can be one or more integrated circuits configured to implement the above methods, such as one or more Application Specific Integrated Circuits (ASICs), one or more microprocessors, or one or more Field Programmable Gate Arrays (FPGAs). Alternatively, when a module is implemented using processing element scheduler code, the processing element can be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. Furthermore, these modules can be integrated together as a system-on-a-chip (SOC).
[0141] Figure 9 This is a schematic diagram of an electronic device structure provided in an embodiment of this application. This electronic device can be integrated into the aforementioned scheduling device. Figure 9 As shown, the electronic device may include a processor 210, a storage medium 220, and a bus 230. The storage medium 220 stores machine-readable instructions executable by the processor 210. When the electronic device is running, the processor 210 communicates with the storage medium 220 via the bus 230, and the processor 210 executes the machine-readable instructions to perform the steps of the above method embodiment. The specific implementation and technical effects are similar and will not be described in detail here.
[0142] Optionally, this application also provides a storage medium storing a computer program, which, when run by a processor, executes the steps of the above-described method embodiments. The specific implementation and technical effects are similar and will not be repeated here.
[0143] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0144] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0145] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in the form of hardware plus software functional units.
[0146] The integrated units implemented as software functional units described above can be stored in a computer-readable storage medium. These software functional units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0147] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element. The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations are possible for those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application. It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need further definition and explanation in subsequent figures. The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations are possible for those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A scheduling method based on multiple development boards, characterized in that, The method includes: The test information table and the development board monitoring table are obtained separately. The test information table includes multiple items to be tested. Each item to be tested includes first test information and second test information. The first test information includes at least one of the following: test name, test type, specified development board type, test image serial number, and test image version identifier. The second test information includes: test progress indicators and test results. The development board monitoring table includes monitoring information for multiple development boards. Based on the preset test cycle and the development board monitoring table, the target development board and test image file corresponding to each item to be tested in the test information table are determined in sequence. The test image files corresponding to each of the test items are burned to the target development board for testing, and the image test results of each of the test items are obtained. Update the test progress parameters and test results corresponding to each test item in the test information table according to the mirror test results of each test item.
2. The method according to claim 1, characterized in that, Before obtaining the test information table, the process also includes: Obtain an initial test information table, which includes multiple items to be tested, and each item to be tested includes first test information; Determine whether the first test information of each item to be tested is correct. If it is correct, add second test information to each item to be tested and obtain the time when the second test information of each item to be tested was added.
3. The method according to claim 2, characterized in that, The test progress indicators include at least one of the following: the set of serial numbers of the images being tested, the set of serial numbers of the images that have been tested, the set of serial numbers of the images that need to be tested, the test urgency parameter of each test item, and the addition time of the second test information in each test item. The monitoring information for each development board includes at least one of the following: development board type, running status, ownership parameters, serial number of the currently running image, serial number of the next image to be run, and current test results of the development board.
4. The method according to claim 2, characterized in that, The step of determining the target development board and test image file corresponding to each test item in the test information table in sequence according to the preset test cycle and based on the development board monitoring table includes: According to the preset test cycle, obtain the test image file corresponding to each item to be tested in the test information table. The test image file includes: an image requirement sequence, which is used to indicate the development board type supported by the test image file. Based on the image requirement sequence corresponding to each test item and the development board monitoring table, determine the target development board corresponding to each test item in the test information table.
5. The method according to claim 4, characterized in that, The step of determining the target development board corresponding to each test item in the test information table based on the image requirement sequence corresponding to each test item and the development board monitoring table includes: If the test type of the first item to be tested is a fast test, obtain the serial codes of all the first images that need to be tested from the test progress indicators corresponding to the first item to be tested; Based on the serial numbers of all the first images that need to be tested, obtain the image requirement sequence for each first image file; Based on the development board monitoring table, the system iterates through all online development boards to determine the online development board that meets the image requirements sequence of each first image file and whose next image to be run has not been set as the first target development board. The system then updates the monitoring information of the first target development board and the test progress indicators corresponding to the first test item according to the serial codes of all the first images that need to be tested.
6. The method according to claim 5, characterized in that, If among all online development boards there is at least one first development board that has not set its ownership parameter, is in an idle running state, has not set the image to be run next, and meets the image requirement sequence of each first image file, then at least one first development board is determined to be the first target development board. If among all online development boards there is at least one second development board whose ownership parameter is not set, whose running status is running, whose next image to be run is not set, and which meets the image requirement sequence of each first image file, then at least one second development board is determined to be the first target development board. If there is at least one third development board among all online development boards that has not set the image to be run next and meets the image requirement sequence of each first image file, then at least one of the third development boards is determined as the first target development board. The first development board has a higher selection priority than the second development board, and the second development board has a higher selection priority than the third development board.
7. The method according to claim 4, characterized in that, The step of determining the target development board corresponding to each test item in the test information table based on the image requirement sequence corresponding to each test item and the development board monitoring table includes: If the test type of the second test item is a comparative test, based on the development monitoring table, traverse all online development boards to determine the test name corresponding to the second test item with the belonging parameter, and the development board whose image to be run next is not set is the second target development board corresponding to the second test item. Then update the monitoring information of the second target development board and the test progress indicators corresponding to the second test item. The comparative test is used to test the running results of different versions of the same image on the same development board.
8. The method according to claim 4, characterized in that, The step of determining the target development board corresponding to each test item in the test information table based on the image requirement sequence corresponding to each test item and the development board monitoring table includes: If the test type of the third test item is a complete test, the serial number of the third image to be tested is obtained from the test progress index corresponding to the third test item. The complete test is used to test the complete performance of the same version of the image on different development boards. Based on the serial number of the third image, obtain the image requirement sequence of the third image file; Based on the development board monitoring table, the development board that meets the image requirements sequence of the third image file and whose image to be run next is not set is determined from all online development boards that meet the specified development board type corresponding to the test item as the third target development board. Set the serial number of the image to be run next on the third target development board to the serial number of the third image, and update the test progress indicator corresponding to the third test item.
9. The method according to claim 1, characterized in that, The step of determining the target development board and test image file corresponding to each test item in the test information table in sequence according to the preset test cycle and the development board monitoring table includes: Based on a preset testing cycle, the testing order of each item to be tested in the testing information table is updated according to the current testing urgency parameter of each item to be tested in the testing information table. The current test urgency parameter of each item to be tested in the test information table is updated, and the target development board and test image file corresponding to each item to be tested in the test information table are determined based on the updated test information table with the test order. The initial test urgency of the fast test is higher than that of the comparative test and the complete test.
10. The method according to claim 9, characterized in that, The step of updating the test order of each item in the test information table based on a preset test cycle and the current test urgency parameter of each item in the test information table includes: Based on a preset testing cycle, the testing order of each item to be tested in the testing information table is updated according to the current testing urgency parameter of each item to be tested and the addition time of the second testing information in each item to be tested.
11. The method according to any one of claims 1-10, characterized in that, The step of burning the test image file corresponding to each of the test items to the target development board for testing and obtaining the image test results of each of the test items includes: Obtain the operating status of the target development board; If the target development board is in an idle state, the test image file corresponding to the item to be tested is obtained, the test image file corresponding to the item to be tested is burned to the target development board for testing, the monitoring information of the target development board is updated, and the image test result of the item to be tested is obtained. If the target development board is in a running state and the current test result of the target development board has been set, then the current test result of the target development board is determined to be the mirror test result of the item to be tested.
12. A scheduling device based on multiple development boards, characterized in that, include: The first acquisition module is used to acquire a test information table and a development board monitoring table respectively. The test information table includes multiple items to be tested, and each item to be tested includes first test information and second test information. The first test information includes at least one of the following: test name, test type, specified development board type, test image serial number, and test image version identifier. The second test information includes: test progress indicators and test results. The development board monitoring table includes monitoring information for multiple development boards. The determination module is used to determine the target development board and test image file corresponding to each test item in the test information table in sequence according to the development board monitoring table based on the preset test cycle; The second acquisition module is used to burn the test image file corresponding to each of the test items to the target development board for testing, and to acquire the image test results of each of the test items. The update module is used to update the test progress parameters and test results corresponding to each test item in the test information table based on the mirror test results of each test item.
13. An electronic device, characterized in that, include: The device includes a processor, a storage medium, and a bus. The storage medium stores machine-readable instructions executable by the processor. When the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the machine-readable instructions to perform the steps of the multi-development board-based scheduling method as described in any one of claims 1-11.
14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, which, when executed by a processor, performs the steps of the scheduling method based on multiple development boards as described in any one of claims 1-11.