Disclosure of Invention
In view of the foregoing, it is desirable to provide a vehicle-mounted controller, a vehicle-mounted controller software upgrading method, a device, a computer device, and a computer readable storage medium that can save the time of OTA upgrade and improve the success rate of upgrade.
In a first aspect, the present application provides a method for upgrading software of a vehicle-mounted controller, where the vehicle-mounted controller includes at least two external storage partitions, and the method includes:
Acquiring target software data to be refreshed;
determining one external storage partition of the at least two external storage partitions as a target partition, wherein data is not stored in the target partition, or the version of software data stored in the target partition is different from the version of current software data of the vehicle-mounted controller;
Writing the target software data into the target partition;
And under the condition that the verification of the target software data written in the target partition passes, upgrading the vehicle-mounted controller by adopting the target software data in the target partition.
In one embodiment, when the target software data written in the target partition passes the verification, upgrading the vehicle-mounted controller by using the target software data in the target partition includes:
determining whether the current state of the vehicle-mounted controller meets a preset condition;
Writing the target software data in the target partition into an internal storage partition of the vehicle-mounted controller under the condition that the current state of the vehicle-mounted controller meets the preset condition so as to upgrade the vehicle-mounted controller;
verifying target software data in the internal storage partition;
And under the condition that the verification of the target software data in the internal storage partition is passed, determining that the target software data is successfully written.
In one embodiment, after determining that the target software data is successfully written, the method for upgrading the vehicle-mounted controller software further includes:
marking the target partition as a new backup partition;
the determining that one of the at least two external storage partitions is the target partition includes: and taking an external storage partition except the backup partition as a new target partition.
In one embodiment, after determining that the target software data is successfully written, the method for upgrading the vehicle-mounted controller software further includes:
Acquiring version information of current software data in the internal storage partition;
And if the version information of the current software data in the internal storage partition is consistent with the version information of the target software data, determining that the vehicle-mounted controller is successfully upgraded.
In one embodiment, after the step of verifying the target software data in the internal storage partition, the method for upgrading the software of the vehicle-mounted controller further includes:
And under the condition that the verification of the target software data in the internal storage partition fails, writing the backup software data in the current backup partition into the internal storage partition of the vehicle-mounted controller, wherein the backup software data is the same as the software data before the vehicle-mounted controller does not write the target software data.
In one embodiment, after the step of writing the backup software data in the current backup partition into the internal storage partition of the in-vehicle controller, the in-vehicle controller software upgrade method further includes:
Acquiring version information of current software data in the internal storage partition;
And if the version information of the current software data in the internal storage partition is consistent with the version information of the backup software data, determining that the rollback of the vehicle-mounted controller is successful.
In a second aspect, the present application also provides an in-vehicle controller, including: a software upgrade control module, at least two external memory partitions, an internal memory partition, and a register, wherein,
The register is used for storing the flag bit of the backup partition, wherein the backup software data stored in the backup partition is the same as the software data before the vehicle-mounted controller is not upgraded;
The software upgrading control module is used for acquiring target software data to be refreshed; determining one external storage partition except the backup partition in the at least two external storage partitions as a target partition according to the flag bit of the backup partition stored in the register, and writing the target software data into the target partition; and under the condition that the verification of the target software data written in the target partition passes, upgrading the vehicle-mounted controller by adopting the target software data in the target partition, wherein the target partition does not store data, or the version of the software data stored in the target partition is different from the version of the current software data of the vehicle-mounted controller.
In a third aspect, the present application also provides a software upgrading apparatus for a vehicle-mounted controller, where the vehicle-mounted controller includes at least two external storage partitions, and the apparatus includes:
The software acquisition module is used for acquiring target software data to be written;
The partition determining module is used for determining one external storage partition of the at least two external storage partitions as a target partition, wherein data are not stored in the target partition, or the version of software data stored in the target partition is different from the version of current software data of the vehicle-mounted controller;
The software writing module is used for writing the target software data into the target partition;
And the upgrade execution module is used for upgrading the vehicle-mounted controller by adopting the target software data in the target partition under the condition that the target software data written in the target partition passes verification.
In a fourth aspect, the present application also provides a computer device comprising a memory and a processor, the memory storing a computer program, the processor implementing the following steps when executing the computer program:
Acquiring target software data to be refreshed;
determining one external storage partition of the at least two external storage partitions as a target partition, wherein data is not stored in the target partition, or the version of software data stored in the target partition is different from the version of current software data of the vehicle-mounted controller;
Writing the target software data into the target partition;
And under the condition that the verification of the target software data written in the target partition passes, upgrading the vehicle-mounted controller by adopting the target software data in the target partition.
In a fifth aspect, the present application also provides a computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of:
Acquiring target software data to be refreshed;
determining one external storage partition of the at least two external storage partitions as a target partition, wherein data is not stored in the target partition, or the version of software data stored in the target partition is different from the version of current software data of the vehicle-mounted controller;
Writing the target software data into the target partition;
And under the condition that the verification of the target software data written in the target partition passes, upgrading the vehicle-mounted controller by adopting the target software data in the target partition.
The vehicle-mounted controller, the vehicle-mounted controller software upgrading method, the device, the computer equipment and the computer readable storage medium. The target software data to be refreshed is firstly obtained, and the target software data can be directly received from the cloud. And then determining one external storage partition in the at least two external storage partitions as a target partition, wherein the target partition needs to store no data, or even if the target partition stores software data, the version of the stored software data needs to be different from the version of the current software data of the vehicle-mounted controller, so that the backup data of the vehicle-mounted controller cannot be covered when the target partition is subjected to software refreshing, and the data can be conveniently rolled back when the subsequent upgrading fails. The target software data is then written to the target partition. And under the condition that the verification of the target software data written in the target partition passes, upgrading the vehicle-mounted controller by adopting the target software data in the target partition. Because the independent external storage partition is designed, the target software data is firstly written into the external storage partition instead of being directly written into the vehicle-mounted controller, so that normal use of the vehicle is not affected when the target software data in the target partition is written, and on the other hand, the vehicle-mounted controller is updated by the target software data in the target partition only after the target software data in the target partition passes verification, thereby ensuring the correctness of the target software data and improving the success rate of the updating.
Detailed Description
In order that the application may be readily understood, a more complete description of the application will be rendered by reference to the appended drawings. Embodiments of the application are illustrated in the accompanying drawings. This application may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein in the description of the application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application.
It will be understood that when an element is referred to as being "connected" to another element, it can be directly connected to the other element or be connected to the other element through intervening elements. Further, "connection" in the following embodiments should be understood as "electrical connection", "communication connection", and the like if there is transmission of electrical signals or data between objects to be connected.
As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," and/or the like, specify the presence of stated features, integers, steps, operations, elements, components, or groups thereof, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or groups thereof.
In one embodiment, as shown in fig. 1, there is provided a software upgrade method for an in-vehicle controller, where the in-vehicle controller includes at least two external memory partitions, the method including: steps S100-130.
Step S100, obtaining target software data to be refreshed.
The vehicle may receive the target software data of the OTA through the vehicle-mounted communication device, may acquire information related to the OTA task from the cloud end, and download the target software data packet file from the cloud end, thereby acquiring the target software data to be refreshed, and then may send the target software data packet to the vehicle-mounted controller to be upgraded through the vehicle-mounted communication link (such as CAN or ethernet) for software refreshing.
The cloud, that is, the OTA cloud platform, may be formed by one or more servers. The OTA cloud platform is responsible for storing and releasing upgrade software packages of various vehicle-mounted controllers. The in-vehicle communication device refers to a device that can communicate with the cloud on the vehicle, and may be, for example, a remote communication Box (TELEMATICS BOX, T-Box) or a Gateway (i.e., gateway), etc. The communication network between the vehicle-mounted communication device and the cloud 110 may be a 4G network or a 5G network. The in-vehicle controller refers to a control unit of related electronic equipment in the vehicle, and can be various electronic control units (electronic control unit, ECU), remote information control units (transmission control unit, TCU), vehicle body control units (body control management, BCM) and the like. The in-vehicle communication link used between the in-vehicle controller and the in-vehicle communication device may be a controller area network (controller area network, CAN) bus, ethernet, or the like.
The structural block diagram of the vehicle-mounted controller provided by the application may be as shown in fig. 2, and the vehicle-mounted controller may include: a software upgrade control module 10, at least two external memory partitions 20, an internal memory partition 30, and registers 40. The software upgrade control module 10 may be used to control the flow of OTA upgrade, including communication with the OTA cloud, downloading of upgrade packages, decryption and verification, inspection of upgrade policies, management of upgrade processes, and the like. The external memory partition 20 (flash) serves as a memory for storing software data. The internal storage partition 30 (flash) may be a memory of the vehicle-mounted controller, which is a memory space operated when the vehicle-mounted controller works, and the external storage partition 20 may be refreshed by a controller Boot, and at least includes two external storage partitions 20, where one external storage partition 20 is used to store software data refreshed last time, that is, as a backup partition, and the other external storage partition 20 is used to store software data refreshed this time. The register 40 may be emulated by the NVM (non-volatile memory) to record the flag bit of the last external storage partition 20 that was flushed in order to determine which external storage partition 20 is the backup partition.
In step S110, it is determined that one of the at least two external storage partitions is the target partition.
The target partition does not store data, or the version of the software data stored in the target partition is different from the version of the current software data of the vehicle-mounted controller. Therefore, the target partition does not store data, or even if the target partition stores software data, but the version of the stored software data needs to be different from the version of the current software data of the vehicle-mounted controller, so that backup data of the vehicle-mounted controller cannot be covered when the target partition is subjected to software refreshing, that is, the target partition can be any partition except the backup partition.
When the vehicle-mounted controller is offline for first refreshing, the data stored in the target partition is empty, namely the data is not stored.
In step S120, the target software data is written into the target partition.
And the target software data is written into the storage space of the target partition.
And step S130, under the condition that the verification of the target software data written in the target partition passes, upgrading the vehicle-mounted controller by adopting the target software data in the target partition.
The target software data written in the target partition can be verified, and then the verification result can be circularly read through the diagnosis instruction. When it is determined that software upgrading is required to be performed on the vehicle-mounted controller, the vehicle-mounted communication device sends an upgrading request to the cloud end and sends information such as a data length value, a check value and the like of an upgrading software package in upgrading task information to the vehicle-mounted controller. In the process of upgrading the software, the vehicle-mounted controller determines whether the data of the upgrading software package in the target partition is written according to the data length value in the upgrading task information, and verifies the data integrity of the target software data in the target storage partition according to the verification value information in the upgrading task information. The first check value in the upgrade task information may be a cyclic redundancy check (cyclic redundancycheck, CRC) value, and the vehicle-mounted controller may calculate a check value of the target software data packet according to the written data in the target partition through a CRC algorithm, record the calculated check value as a second check value, and determine whether the second check value is consistent with the first check value, so as to check the data integrity of the target software data packet in the target partition. If the second check value is consistent with the first check value, the data of the target software data packet in the target partition is not tampered in the transmission process, namely the written data is credible, and the check is passed. If the second check value is inconsistent with the first check value, the data of the target software data packet in the target partition is tampered in the transmission process, namely the written data is unreliable, the verification is failed, the written data of the target software data packet needs to be deleted, and the acquisition and the refreshing of the target software data packet are carried out again.
For example, in the case that verification of the target software data written in the target partition fails, the flush procedure is exited, and the vehicle-mounted controller is marked as a non-flush piece.
In this embodiment, the target software data to be refreshed may be obtained first, or the target software data may be directly received from the cloud. And then determining one external storage partition in the at least two external storage partitions as a target partition, wherein the target partition needs to store no data, or even if the target partition stores software data, the version of the stored software data needs to be different from the version of the current software data of the vehicle-mounted controller, so that backup data of the vehicle-mounted controller cannot be covered when the target partition is subjected to software refreshing, and the data can be conveniently rolled back when the subsequent upgrading fails. The target software data is then written to the target partition. And under the condition that the verification of the target software data written in the target partition passes, upgrading the vehicle-mounted controller by adopting the target software data in the target partition. Because the independent external storage partition is designed, the target software data is firstly written into the external storage partition instead of being directly written into the vehicle-mounted controller, so that normal use of the vehicle is not affected when the target software data in the target partition is written, and on the other hand, the vehicle-mounted controller is updated by the target software data in the target partition only after the target software data in the target partition passes verification, thereby ensuring the correctness of the target software data and improving the success rate of the updating.
In one embodiment, as shown in fig. 3, step S130 upgrades the in-vehicle controller with the target software data in the target partition if the target software data written in the target partition is verified. Comprising the following steps: steps S300-330.
Step S300, determining whether the current state of the vehicle-mounted controller satisfies a preset condition.
The preset condition may be to determine whether the current state of the vehicle-mounted controller meets an upgrade policy, for example, whether the vehicle needs to be upgraded according to basic information such as a name and a version number of upgrade software and basic information such as a name and a version number of currently running software in the vehicle-mounted controller, and when determining that the vehicle needs to be upgraded, perform man-machine interaction with a user (driver), and finally select whether to be upgraded by the user, and select upgrade time by the user, where the preset condition is that the user selects upgrade and reaches user selection time. After the vehicle-mounted controller finishes upgrading, human-computer interaction is performed with the user, and the preset conditions can be specifically set according to actual situations or scenes without limitation.
And step S310, when the current state of the vehicle-mounted controller meets the preset condition, writing the target software data in the target partition into the internal storage partition of the vehicle-mounted controller so as to upgrade the vehicle-mounted controller.
The method comprises the steps of writing target software data in a target partition into an internal storage partition of the vehicle-mounted controller, wherein the internal storage partition is a memory of the vehicle-mounted controller and is a memory space operated when the vehicle-mounted controller works, so that the target software data is written into the internal storage partition of the vehicle-mounted controller, namely, the vehicle-mounted controller is updated.
Step S320, verifying the target software data in the internal storage partition.
The checking can be in a cyclic redundancy check mode, and the checking result of the internal storage partition is circularly read to judge whether the target software data in the internal storage partition passes the checking.
Step S330, determining that the target software data is successfully written when the target software data in the internal storage partition passes the verification.
In this embodiment, when the vehicle-mounted controller meets the preset condition, the target software data in the target partition is written into the internal storage partition of the vehicle-mounted controller, so that the vehicle-mounted controller is updated, and the internal storage partition is directly written from the target partition, so that the brushing speed is faster than the writing speed when the internal storage partition is written from the cloud.
In one embodiment, as shown in FIG. 4, at step S330, it is determined that the target software data flush was successful. Then, the vehicle-mounted controller software upgrading method further comprises the following steps: in step S340, the target partition is marked as a new backup partition.
The flag bit of the backup partition stored in the register may be modified to be the flag bit of the target partition. For example, the external storage partition includes a region a and a region B, the last backup partition is a region a, so the flag bit of the backup partition stored in the register is a region a, but after the target software data is successfully written, the current target partition is a region B, so the latest target software data is stored in a region B, so the flag bit of the backup partition stored in the register is modified into a region B.
Step S110, determining one external storage partition of the at least two external storage partitions as a target partition, includes: an external storage partition other than the backup partition is taken as a new target partition.
In this embodiment, after the target software data is successfully written, the target software data is stored in the internal memory partition of the in-vehicle controller. And the target partition also stores target software data, so that the target partition is used as a current backup partition to store the target software data which is the same as the current version of the vehicle-mounted controller, and the backup of the data is realized.
In one embodiment, as shown in FIG. 5, at step S330, it is determined that the target software data flush was successful. Then, the vehicle-mounted controller software upgrading method further comprises the following steps: steps S350-370.
In step S350, version information of current software data in the internal storage partition is acquired.
The version information of the current software data may be a version number of the current software data.
Step S360, if the version information of the current software data in the internal storage partition is consistent with the version information of the target software data, the vehicle-mounted controller is determined to be successfully upgraded.
For example, if the version number of the current software data in the internal storage partition is V6.1 and the version number of the target software data is V6.1.2, it is determined that the version information of the current software data in the internal storage partition is inconsistent with the version information of the target software data, and the version number of the software data in the internal storage partition is wrong and is not the version that needs to be upgraded. If the version number of the current software data in the internal storage partition is V6.1 and the version number of the target software data is V6.1, judging that the version information of the current software data in the internal storage partition is consistent with the version information of the target software data, and representing that the software upgrading of the vehicle-mounted controller is successful.
In step S370, if the version information of the current software data in the internal storage partition is inconsistent with the version information of the target software data, it is determined that the upgrade of the vehicle-mounted controller fails.
If the vehicle-mounted controller is located on the production line, and if it is determined that the version information of the current software data in the internal storage partition is inconsistent with the version information of the target software data, the software refreshing of the vehicle-mounted controller fails, and the software refreshing is required to be refreshed or the cause of the failure is analyzed.
In this embodiment, whether the software of the vehicle-mounted controller is successfully upgraded may be determined according to the version number of the current software data in the internal memory partition of the vehicle-mounted controller.
In one embodiment, as shown in FIG. 6, at step S320, target software data in the internal storage partition is verified. Then, the vehicle-mounted controller software upgrading method further comprises the following steps:
And step S380, under the condition that the verification of the target software data in the internal storage partition fails, the backup software data in the current backup partition is written into the internal storage partition of the vehicle-mounted controller.
The backup software data are the same as the software data before the vehicle-mounted controller writes the target software data.
In this embodiment, when the verification of the target software data in the internal storage partition fails, data rollback is required, that is, the backup software data in the current backup partition is written into the internal storage partition of the vehicle-mounted controller, and the version of the software data in the internal storage partition of the vehicle-mounted controller is restored to the software version before the target software data is not written. Therefore, the software version is returned to the version state before the upgrading, and the related functions of the vehicle-mounted controller can be ensured to be normally used.
In one embodiment, as shown in fig. 7, in step S380, after that, the on-board controller software upgrade method further includes:
Step S400, the version information of the current software data in the internal storage partition is acquired.
In step S410, if the version information of the current software data in the internal storage partition is consistent with the version information of the backup software data, it is determined that the rollback of the vehicle-mounted controller is successful.
Step S420, if the version information of the current software data in the internal storage partition is inconsistent with the version information of the backup software data, determining that the rollback of the vehicle-mounted controller fails.
In this embodiment, whether the software of the vehicle-mounted controller rolls back successfully may be determined according to whether the version number of the current software data in the internal storage partition of the vehicle-mounted controller is consistent with the version of the backup software data.
It should be understood that, although the steps in the flowcharts of fig. 1, 3-7 are shown in order as indicated by the arrows, these steps are not necessarily performed in order as indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps of FIGS. 1, 3-7 may include steps or stages that are not necessarily performed at the same time, but may be performed at different times, nor do the order in which the steps or stages are performed necessarily performed in sequence, but may be performed alternately or alternately with other steps or at least a portion of the steps or stages in other steps.
In one embodiment, please continue to refer to fig. 2, the present application provides an in-vehicle controller, which includes: a software upgrade control module 10, at least two external memory partitions 20, an internal memory partition 30, a register 40, wherein,
The register 40 is used to store the flag bit of the backup partition.
The backup software data stored in the backup partition are the same as the software data before the vehicle-mounted controller is not upgraded. The backup partition is one of at least two external storage partitions 20.
The software upgrade control module 10 is used for acquiring target software data to be written. And determining one external storage partition 20 except the backup partition in the at least two external storage partitions 20 as a target partition according to the flag bit of the backup partition stored in the register 40, and writing target software data into the target partition. And under the condition that the verification of the target software data written in the target partition passes, upgrading the vehicle-mounted controller by adopting the target software data in the target partition.
The target partition does not store data, or the version of the software data stored in the target partition is different from the version of the current software data of the vehicle-mounted controller. Therefore, the target partition does not store data, or even if the target partition stores software data, but the version of the stored software data needs to be different from the version of the current software data of the vehicle-mounted controller, so that backup data of the vehicle-mounted controller cannot be covered when the target partition is subjected to software refreshing, that is, the target partition can be any partition except the backup partition.
In this embodiment, by setting the software upgrade control module, the target software data to be refreshed may be obtained, or the target software data may be directly received from the cloud. And then determining one external storage partition in at least two external storage partitions as a target partition according to the flag bit of the backup partition stored in the register, wherein the target partition needs to store no data or stores software data even though the version of the stored software data is different from the version of the current software data of the vehicle-mounted controller, so that the backup data of the vehicle-mounted controller cannot be covered when the target partition is subjected to software refreshing, and the data can be conveniently rolled back when the subsequent upgrading fails. The target software data is then written to the target partition. And under the condition that the verification of the target software data written in the target partition passes, upgrading the vehicle-mounted controller by adopting the target software data in the target partition. Because the independent external storage partition is designed, the target software data is firstly written into the external storage partition instead of being directly written into the vehicle-mounted controller, so that normal use of the vehicle is not affected when the target software data in the target partition is written, and on the other hand, the vehicle-mounted controller is updated by the target software data in the target partition only after the target software data in the target partition passes verification, thereby ensuring the correctness of the target software data and improving the success rate of the updating.
In one embodiment, as shown in fig. 8, there is provided an in-vehicle controller software upgrade apparatus, the in-vehicle controller including at least two external memory partitions, the apparatus including: a software acquisition module 801, a partition determination module 802, a software writing module 803, an upgrade execution module 804, wherein:
A software obtaining module 801, configured to obtain target software data to be written.
The partition determining module 802 is configured to determine one external storage partition of the at least two external storage partitions as a target partition, where no data is stored in the target partition, or a version of software data stored in the target partition is different from a version of current software data of the vehicle-mounted controller.
A software writing module 803 for writing the target software data to the target partition.
And the upgrade execution module 804 is configured to upgrade the vehicle-mounted controller by using the target software data in the target partition if the target software data written in the target partition passes the verification.
In one embodiment, the upgrade execution module 804 includes: the device comprises a condition judging unit, a refreshing unit, a checking unit and a refreshing judging unit, wherein:
And the condition judging unit is used for determining whether the current state of the vehicle-mounted controller meets the preset condition.
And the refreshing unit is used for writing the target software data in the target partition into the internal storage partition of the vehicle-mounted controller under the condition that the current state of the vehicle-mounted controller meets the preset condition so as to upgrade the vehicle-mounted controller.
And the verification unit is used for verifying the target software data in the internal storage partition.
And the refreshing judgment unit is used for determining that the refreshing of the target software data is successful under the condition that the verification of the target software data in the internal storage partition is passed.
The specific limitation of the on-board controller software upgrading device can be referred to the limitation of the on-board controller software upgrading method hereinabove, and will not be repeated here. The modules in the vehicle-mounted controller software upgrading device can be realized in whole or in part through software, hardware and a combination thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules. It should be noted that, in the embodiment of the present application, the division of the modules is schematic, which is merely a logic function division, and other division manners may be implemented in actual implementation.
In one embodiment, a computer device is provided, the internal structure of which may be as shown in FIG. 9. The computer device includes a processor, a memory, and a network interface connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program, when executed by a processor, implements a method for upgrading software of a vehicle-mounted controller.
It will be appreciated by persons skilled in the art that the architecture shown in fig. 9 is merely a block diagram of some of the architecture relevant to the present inventive arrangements and is not limiting as to the computer device to which the present inventive arrangements are applicable, and that a particular computer device may include more or fewer components than shown, or may combine some of the components, or have a different arrangement of components.
In one embodiment, a computer device is provided, comprising a memory and a processor, the memory having stored therein a computer program, the processor implementing the steps of the method embodiments described above when the computer program is executed.
In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored which, when executed by a processor, implements the steps of the method embodiments described above.
In an embodiment, a computer program product is provided, comprising a computer program which, when executed by a processor, implements the steps of the method embodiments described above.
Those skilled in the art will appreciate that implementing all or part of the above described methods may be accomplished by way of a computer program stored on a non-transitory computer readable storage medium, which when executed, may comprise the steps of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in embodiments provided herein may include at least one of non-volatile and volatile memory. The nonvolatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical Memory, or the like. Volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory. By way of illustration, and not limitation, RAM can be in various forms such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM), etc.
In the description of the present specification, reference to the terms "some embodiments," "other embodiments," "desired embodiments," and the like, means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, schematic descriptions of the above terms do not necessarily refer to the same embodiment or example.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The above examples illustrate only a few embodiments of the application, which are described in detail and are not to be construed as limiting the scope of the application. It should be noted that it will be apparent to those skilled in the art that several variations and modifications can be made without departing from the spirit of the application, which are all within the scope of the application. Accordingly, the scope of protection of the present application is to be determined by the appended claims.