CN109165055B - Unmanned system component loading method and device, computer equipment and medium - Google Patents

Unmanned system component loading method and device, computer equipment and medium Download PDF

Info

Publication number
CN109165055B
CN109165055B CN201811001815.6A CN201811001815A CN109165055B CN 109165055 B CN109165055 B CN 109165055B CN 201811001815 A CN201811001815 A CN 201811001815A CN 109165055 B CN109165055 B CN 109165055B
Authority
CN
China
Prior art keywords
component
information
loading
running process
configuration file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811001815.6A
Other languages
Chinese (zh)
Other versions
CN109165055A (en
Inventor
姚卫锋
陈卓
冯凯文
彭荣贵
张超
李科磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201811001815.6A priority Critical patent/CN109165055B/en
Publication of CN109165055A publication Critical patent/CN109165055A/en
Application granted granted Critical
Publication of CN109165055B publication Critical patent/CN109165055B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

The embodiment of the invention discloses a component loading method and device, computer equipment and a storage medium. The method comprises the following steps: when a starting instruction of a system is detected, reading a pre-configured configuration file, wherein the configuration file comprises information of components to be loaded, and each component corresponds to one algorithm module in the system; determining the component to be loaded and the information of the component according to the read configuration file; and loading the component according to the information of the component, and operating the component after the loading is finished. According to the technical scheme of the embodiment of the invention, which components are loaded are dynamically determined according to the configuration file, so that on the basis of ensuring the independence of each algorithm, whether the algorithm participates in the whole system or not can be flexibly determined during running, and the debugging, development and maintenance of the algorithm are facilitated.

Description

Unmanned system component loading method and device, computer equipment and medium
Technical Field
The present invention relates to data processing technologies, and in particular, to a method and an apparatus for loading a component, a computer device, and a storage medium.
Background
With the continuous progress of science and technology, various integrated systems with complete functions (such as an unmanned system, an intelligent robot client system and the like) emerge. An integrated system typically includes a plurality of separate modules that implement different algorithmic functions.
Taking the unmanned system as an example, a large number of algorithms integrating modules such as perception and prediction are required in the system. These algorithms are characterized by: 1) the algorithmic processing itself is independent; 2) the algorithm has definite input and output, and data exchange with the upstream and the downstream is required. Each addition of an algorithm or modification of the existing algorithm code can affect unnecessary compilation of other modules; in order to write and debug an algorithm, a programmer downloads and knows the code of many other modules that are not related to his own algorithm.
In the process of implementing the invention, the inventor finds that the prior art has the following defects: because a large number of algorithm modules are included in the existing integrated system, the algorithm modules are completely coupled together, so that the maintainability of codes is reduced, the algorithm modules are difficult to expand, the learning cost is increased, and the overall efficiency is reduced.
Disclosure of Invention
The embodiment of the invention provides a component loading method and device, computer equipment and a storage medium, which are used for considering the independence of an algorithm module and the functional integrity of the whole integrated system.
In a first aspect, an embodiment of the present invention provides a component loading method, including:
when a starting instruction of a system is detected, reading a pre-configured configuration file, wherein the configuration file comprises information of components to be loaded, and each component corresponds to one algorithm module in the system;
determining the component to be loaded and the information of the component according to the read configuration file;
and loading the component according to the information of the component, and operating the component after the loading is finished.
In a second aspect, an embodiment of the present invention further provides a component loading apparatus, including:
the system comprises a configuration file reading module, a configuration file loading module and a configuration file loading module, wherein the configuration file reading module is used for reading a pre-configured configuration file when a starting instruction of the system is detected, the configuration file comprises information of components to be loaded, and each component corresponds to one algorithm module in the system;
the module for determining the information of the component to be loaded is used for determining the component to be loaded and the information of the component according to the read configuration file;
and the component loading and running module is used for loading the component according to the information of the component and running the component after the loading is finished.
In a third aspect, an embodiment of the present invention further provides a computer device, where the computer device includes:
one or more processors;
a storage device for storing one or more programs,
when the one or more programs are executed by the one or more processors, the one or more processors implement the component loading method according to any of the embodiments of the present invention.
In a fourth aspect, an embodiment of the present invention further provides a computer storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the component loading method according to any one of the embodiments of the present invention.
According to the technical scheme of the embodiment of the invention, the components to be loaded and the information of the components are determined according to the read configuration files by reading the pre-configured configuration files; the method for loading the components according to the information of the components and operating the components after loading is finished dynamically determines which components are loaded according to the preset configuration file, so that whether the algorithms participate in the whole system can be flexibly determined during operation on the basis of ensuring the independence of each algorithm, and the algorithm debugging, development and maintenance are facilitated.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the embodiments will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present invention and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained according to the drawings without inventive efforts.
FIG. 1 is a flowchart of a component loading method according to an embodiment of the present invention;
FIG. 2 is a flowchart of a component loading method according to a second embodiment of the present invention;
FIG. 3 is a flowchart of a component loading method according to a third embodiment of the present invention;
fig. 4 is a structural diagram of a component loading apparatus according to a fourth embodiment of the present invention;
fig. 5 is a structural diagram of a configuration loading device in the fifth embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be further noted that, for the convenience of description, only some of the structures related to the present invention are shown in the drawings, not all of the structures.
It should be further noted that, for the convenience of description, only some but not all of the relevant aspects of the present invention are shown in the drawings. Before discussing exemplary embodiments in more detail, it should be noted that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although a flowchart may describe the operations (or steps) as a sequential process, many of the operations can be performed in parallel, concurrently or simultaneously. In addition, the order of the operations may be re-arranged. The process may be terminated when its operations are completed, but may have additional steps not included in the figure. The processes may correspond to methods, functions, procedures, subroutines, and the like.
Example one
Fig. 1 is a flowchart of a component loading method according to an embodiment of the present invention, where this embodiment is applicable to a case of dynamically loading a component, and the method may be executed by a component loading apparatus in an embodiment of the present invention, where the apparatus may be implemented in a software and/or hardware manner, and may be generally integrated in a device with certain computing capability, for example, a terminal or a server. Typically, it may be integrated in a device that installs an integrated system (e.g., an autopilot system) configured with a plurality of relatively independent components. As shown in fig. 1, the method specifically includes the following operations:
s110, when a starting instruction of the system is detected, reading a pre-configured configuration file, wherein the configuration file comprises information of components to be loaded, and each component corresponds to one algorithm module in the system.
The information that the configuration file storage system needs to configure the program or each component in the system when starting is the set of the environment and the files needed by the system, the configuration file is configured in advance, and the content in the configuration file can be read after the system is started.
Optionally, the configuration file may be: a local profile, a roaming profile, a mandatory profile, and a temporary profile. The local configuration file is a configuration file stored on the hardware equipment where the system is located, and any change made to the local configuration file only acts on the changed hardware equipment; roaming configuration file, which is the copy of local configuration file is duplicated and stored in the server on the network, the file will be downloaded each time the system is started, any change to roaming configuration file will be synchronous with the copy of the server; a mandatory configuration file which can be modified only by an administrator of the system; the temporary configuration file is used when the local configuration file cannot be loaded due to misoperation, the temporary configuration file allows a user using the system to modify any configuration which may cause loading failure of the local configuration file, and the temporary configuration file is deleted after each calling is finished.
Optionally, the information of the component includes: full path information for the component, context information for the component, and component execution processes for the component. The full path information of the component contains the path information for calling the component, and comprises the following steps: absolute path and relative path, the full path information of the component is used for indicating the storage address of the component; the context information includes: input channel index information for specifying the component data read channel and output channel index information for specifying the component data write channel, that is: the input channel index information is used for indicating where the data required to be processed by the component is obtained, and the output channel index information is used for indicating where the data obtained after the processing by the component is output. The running process of the component reflects the running state of the component, namely a running activity of a program with certain independent functions about a certain data set and a basic unit for resource allocation and scheduling running of a system, a plurality of running processes exist in one system at the same time, the running processes occupy a CPU and various resources in turn, when the system calls a component, the running process corresponding to the component is created, and the component is based on that after the running process is completed, the system repeals the running process, reclaims the occupied resources, and the process from creation to cancellation is a complete process.
The configuration file contains the information of the components to be loaded and the corresponding components, each component corresponds to one algorithm module in the system, and the corresponding algorithm module can be called according to the information of the loaded components.
An algorithm is a finite sequence of instructions describing a problem to be solved, with each instruction representing one or more operations. The algorithm is written into the algorithm module through the programming language, so that the algorithm has reusability and better transportability, meanwhile, the algorithm module also reduces the difficulty of the algorithm, and the application field of the algorithm is widened to a great extent. After the system is started, reading a pre-configured configuration file, and calling a corresponding algorithm module according to the information of the components contained in the configuration file so as to realize different functions.
In this embodiment, before the system is started each time, the information of the components in the configuration file may be dynamically updated according to the algorithm module that needs to be used when the system runs each time, so as to achieve the purpose of dynamically loading the components.
S120, determining the component to be loaded and the information of the component according to the read configuration file.
S130, loading the component according to the information of the component, and operating the component after the loading is finished. Optionally, the component is called according to the full path information in the information of the component, the component is loaded, and after the loading is completed, a component running process of the component is established; after the component running process of the component is established, the class in the component may be registered through the component running process, and in this embodiment, the class in the component may be registered using the macro defined in the component; then creating a class object of the class registered in the component; then, running a process through the component of the component, and initializing the created class object by combining the context information of the component so as to declare the input channel index information and the output channel index information corresponding to the class object; and finally, calling a processing function of the class object defined in the component through a component running process of the component, processing the data from the data reading channel, and providing a data processing result to the data writing channel, thereby completing component running.
Wherein, each time a new class is added to the component, the new class needs to be registered in the factory class before being used. The prior art can add these registered codes to the application code in such a way that the coupling is strengthened, and each manual addition of the registered code increases the workload of the application layer. In this embodiment, a macro pre-defined in the component is used to automate the registration of classes. This avoids modifying the code at the application level, making the code easy to maintain.
According to the technical scheme of the embodiment of the invention, the components to be loaded and the information of the components are determined according to the read configuration files by reading the pre-configured configuration files; the module is loaded according to the module information, the module is operated after the loading is finished, and the module is dynamically determined to be loaded according to the preset configuration file, so that whether the algorithm participates in the whole system can be flexibly determined during the operation on the basis of ensuring the independence of each algorithm, and the algorithm debugging, development and maintenance are facilitated.
Example two
Fig. 2 is a flowchart of a component loading method in a second embodiment of the present invention, which is embodied based on the above embodiments, in this embodiment, information of a component further includes a priority of a component running process of the component, and different operations are executed according to different priorities when the component running process is finished according to different priorities. Correspondingly, the method of the embodiment specifically includes the following operations:
s210, when a starting instruction of the system is detected, reading a pre-configured configuration file, wherein the configuration file comprises information of components to be loaded, and each component corresponds to one algorithm module in the system.
The information of the component includes: full path information of the component, context information of the component, component running processes of the component, and priorities of the component running processes of the component.
S220, determining the component to be loaded and the information of the component according to the read configuration file;
and S230, loading the component according to the information of the component, and operating the component after the loading is finished.
Optionally, the component is called according to the full path information in the information of the component, the component is loaded, and after the loading is completed, a component running process of the component is established.
S240, if the fact that the component running process of the target component is finished is detected, executing a finishing processing strategy matched with the target component according to the priority of the component running process of the target component.
Each running process has a corresponding priority, the priority determines the time when the component runs and occupies the CPU, and in the same scheduling period, the process with the high priority occupies a long time, while the process with the low priority occupies a short time.
S250, if the priority of the component running process of the target component meets a first priority condition, ending the system running process of the system; and restarting the component running process of the target component if the priority of the component running process of the target component meets a second priority condition.
Alternatively, the priority may be divided into values from 0 to 31, with a priority of 0-15 being defined as a first priority and a priority of 16-31 being defined as a second priority, the lower the priority value, the higher the priority. If the fact that the component running process of the target component is finished is detected, and the priority of the component running process of the target component meets a first priority condition, finishing the system running process of the system; and restarting the component running process of the target component if the component running process of the target component is detected to be finished and the priority of the component running process of the target component meets a second priority condition.
The method has the advantage that the safety and the reliability of the whole system are ensured on the basis of considering the independent and dynamic loading of each component. For example, in an automatic driving system, a component for performing environmental sensing (hereinafter, simply referred to as a first component) is a very important component, and if the first component malfunctions, the automatic driving system cannot safely and effectively control the vehicle. Thus, a very high priority may be set for the first component and the autopilot system may be turned off immediately after the component running process of the first component is unexpectedly ended (e.g., by kill) to bring the vehicle to a standstill on the roadway as quickly as possible to ensure the safety of other vehicles in the roadway; similarly, the component for acquiring the vehicle state (hereinafter referred to as the second component) in the automatic driving system has a lower effect on the safety of the entire automatic driving system than the first component, so that a relatively low priority may be set for the second component, and the component running process may be restarted when the component running process of the second component is unexpectedly ended.
According to the technical scheme of the embodiment of the invention, the running process priority of the component is set in the configuration file, when the running process of the component is finished after the configuration file is read and the component is loaded, whether the system running process is finished or the component running process of the component is restarted can be judged according to the priority of the component running process of the component, and the function of the component in the whole system is considered, and the safety and the reliability of the whole system are ensured while an exception recovery mechanism is introduced to the component to the greatest extent by establishing the corresponding relation between the component importance and the component priority and executing different processing operations according to different priorities.
EXAMPLE III
Fig. 3 is a flowchart of a component loading method in a third embodiment of the present invention, which is embodied based on the above embodiment, and in this embodiment, a driving system of a drone device is taken as an example.
Unmanned equipment realizes unmanned operation through the intelligent control system that equipment carried, and common unmanned equipment includes: unmanned automobiles, unmanned aerial vehicles, and the like; taking an unmanned system of an unmanned automobile as an example, the unmanned automobile is an intelligent automobile which senses road environment through a vehicle-mounted sensing system, automatically plans a driving route and controls the automobile to reach a preset target. The vehicle-mounted sensor is used for sensing the surrounding environment of the vehicle, and controlling the steering and the speed of the vehicle according to the road, the vehicle position and the obstacle information obtained by sensing, so that the vehicle can safely and reliably run on the road.
A number of algorithms are included in these modules of the unmanned system. These algorithms are characterized by: 1) algorithm processing itself is independent 2) algorithm has definite input and output, and needs to exchange data with upstream and downstream. Adding an algorithm and modifying the code can affect unnecessary compiling of other modules; in order to write and debug an algorithm, it is necessary to learn the code of other modules that are not related to the current algorithm module. A plurality of modules are completely coupled together, so that the maintainability of codes is reduced, the expansion of the modules is difficult, the learning cost is increased, and the overall efficiency is reduced.
The embodiment discloses a component loading method applicable to an unmanned system, which comprises the following steps:
s310, when a starting instruction of the unmanned system is detected, reading a pre-configured configuration file, wherein the configuration file comprises information of components to be loaded, and each component corresponds to one algorithm module in the system; the algorithm module comprises: the system comprises an environment perception module, a behavior decision module, a state acquisition module and a control module.
The environment perception module integrates research results of key technologies such as visual and auditory information cooperative computing and natural language understanding and is used for substituting human brain to perceive the environment; the behavior decision module integrates key technologies such as cognition based on driving behaviors and the like and is used for making a decision on the next action of the vehicle platform according to the sensed environmental information; the state acquisition module is used for collecting data acquired by each sensor on the self state of the vehicle; and the control module is used for controlling the vehicle to run under the non-autonomous control, so that the running safety of the vehicle is guaranteed. Each module includes a number of algorithms, such as: the environment perception module positions the vehicle based on a visual system, and obtains a disparity map for calculating depth information of each point through triangulation of a stereo image; then, by matching the significant features between the continuous stereo image frames, establishing correlation through the features between different frames, and estimating the motion condition between the two frames; finally, the current position of the vehicle is calculated by comparing the captured salient features with points on a known map.
S320, determining the component to be loaded and the information of the component according to the read configuration file;
optionally, the information of the component includes: full path information for the component, context information for the component, and component execution processes for the component.
S330, loading the assembly according to the information of the assembly, and operating the assembly after the loading is finished.
S340, if the fact that the component running process of the target component is finished is detected, executing a finishing processing strategy matched with the target component according to the priority of the component running process of the target component.
S350, if the priority of the component running process of the target component meets a first priority condition, ending the system running process of the system; and restarting the component running process of the target component if the priority of the component running process of the target component meets a second priority condition.
Alternatively, the priority may be divided into values from 0 to 31, with a priority of 0-15 being defined as a first priority and a priority of 16-31 being defined as a second priority, the lower the priority value, the higher the priority. If the fact that the component running process of the target component is finished is detected, and the priority of the component running process of the target component meets a first priority condition, finishing the system running process of the system; and restarting the component running process of the target component if the component running process of the target component is detected to be finished and the priority of the component running process of the target component meets a second priority condition.
According to the technical scheme of the embodiment of the invention, the priorities of different component running processes are set for different components, and the loaded components are dynamically determined according to the pre-configured configuration file, so that on the basis of ensuring the independence of each algorithm, whether the algorithm participates in the whole system or not can be flexibly determined during running, and the algorithm debugging, development and maintenance are facilitated. The problems that due to the fact that a plurality of modules are coupled together, maintainability of codes is reduced, module expansion is difficult and the like are solved, the learning cost is reduced, and meanwhile the overall efficiency is improved.
Example four
Fig. 4 is a schematic structural diagram of a component loading apparatus according to a fourth embodiment of the present invention. The present embodiment may be applicable to a case of dynamically loading a component, where the apparatus may be implemented in a software and/or hardware manner, and the apparatus may be integrated in any device that provides a component loading function, as shown in fig. 4, where the component loading apparatus specifically includes: the device comprises a configuration file reading module 410, a to-be-loaded component information determining module 420 and a component loading and running module 430.
A configuration file reading module 410, configured to read a pre-configured configuration file when a start instruction of a system is detected, where the configuration file includes information of components to be loaded, and each component corresponds to an algorithm module in the system;
a module for determining information of the component to be loaded 420, configured to determine the component to be loaded and information of the component according to the read configuration file;
and the component loading and running module 430 is configured to load the component according to the information of the component, and run the component after the loading is completed.
According to the technical scheme of the embodiment of the invention, the components to be loaded and the information of the components are determined according to the read configuration files by reading the pre-configured configuration files; the method for loading the components according to the information of the components and operating the components after loading is finished dynamically determines which components are loaded according to the preset configuration file, so that whether the algorithms participate in the whole system can be flexibly determined during operation on the basis of ensuring the independence of each algorithm, and the algorithm debugging, development and maintenance are facilitated.
EXAMPLE five
On the basis of the foregoing embodiments, in the component loading apparatus shown in fig. 4, the information of the component included in the configuration file read by the configuration file reading module 410 may include: the method comprises the steps of obtaining full path information of a component, context information of the component and a component running process of the component;
the context information may include: input channel index information for specifying the component data read channel and output channel index information for specifying the component data write channel.
The component loading and running module 430 may be specifically configured to:
loading the component according to the full path information of the component, and establishing a component running process of the component after the loading is finished;
the method comprises the steps that a process is run through a component of the component, a class in the component is registered, and a class object of the class registered in the component is created;
initializing the created class object according to the context information of the component by the component running process of the component so as to declare the input channel index information and the output channel index information corresponding to the class object;
and calling a processing function of the class object defined in the component through a component running process of the component, processing the data from the data reading channel, and providing a data processing result to the data writing channel.
Optionally, the macro defined in the component may be used to register the class in the component.
Optionally, the information about the components included in the configuration file further includes: a component of the component runs a priority of a process.
The component loading and running module 430 may further be configured to:
and if the component running process of the target component is detected to be ended, executing an ending processing strategy matched with the target component according to the priority of the component running process of the target component.
If the priority of the component running process of the target component meets a first priority condition, ending the system running process of the system;
and if the priority of the component running process of the target component meets a second priority condition, restarting the component running process of the target component.
The product can execute the method provided by any embodiment of the invention, and has corresponding functional modules and beneficial effects of the execution method.
Example six
Fig. 5 is a schematic structural diagram of a computer device according to a sixth embodiment of the present invention. FIG. 5 illustrates a block diagram of an exemplary computer device 12 suitable for use in implementing embodiments of the present invention. The computer device 12 shown in FIG. 5 is only an example and should not bring any limitations to the functionality or scope of use of embodiments of the present invention.
As shown in FIG. 5, computer device 12 is in the form of a general purpose computing device. The components of computer device 12 may include, but are not limited to: one or more processors or processing units 16, a system memory 28, and a bus 18 that couples various system components including the system memory 28 and the processing unit 16.
Bus 18 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, such architectures include, but are not limited to, Industry Standard Architecture (ISA) bus, micro-channel architecture (MAC) bus, enhanced ISA bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
Computer device 12 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer device 12 and includes both volatile and nonvolatile media, removable and non-removable media.
The system memory 28 may include computer system readable media in the form of volatile memory, such as Random Access Memory (RAM)30 and/or cache memory 32. Computer device 12 may further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, storage system 34 may be used to read from and write to non-removable, nonvolatile magnetic media (not shown in FIG. 5, and commonly referred to as a "hard drive"). Although not shown in FIG. 5, a magnetic disk drive for reading from and writing to a removable, nonvolatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, nonvolatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to bus 18 by one or more data media interfaces. Memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the invention.
A program/utility 40 having a set (at least one) of program modules 42 may be stored, for example, in memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which examples or some combination thereof may comprise an implementation of a network environment. Program modules 42 generally carry out the functions and/or methodologies of the described embodiments of the invention.
Computer device 12 may also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), with one or more devices that enable a user to interact with computer device 12, and/or with any devices (e.g., network card, modem, etc.) that enable computer device 12 to communicate with one or more other computing devices. Such communication may be through an input/output (I/O) interface 22. Also, computer device 12 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network such as the Internet) via network adapter 20. As shown, the network adapter 20 communicates with the other modules of the computer device 12 over the bus 18. It should be understood that although not shown in the figures, other hardware and/or software modules may be used in conjunction with computer device 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
The processing unit 16 executes various functional applications and data processing by executing programs stored in the system memory 28, for example, implementing the component loading method provided by the embodiment of the present invention: when a starting instruction of a system is detected, reading a pre-configured configuration file, wherein the configuration file comprises information of components to be loaded, and each component corresponds to one algorithm module in the system; determining the component to be loaded and the information of the component according to the read configuration file; and loading the component according to the information of the component, and operating the component after the loading is finished.
Typically, the computer apparatus of embodiments of the present invention may be deployed on an unmanned vehicle.
EXAMPLE seven
A seventh embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the component loading method provided in all the embodiments of the present invention of the present application:
when a starting instruction of a system is detected, reading a pre-configured configuration file, wherein the configuration file comprises information of components to be loaded, and each component corresponds to one algorithm module in the system;
determining the component to be loaded and the information of the component according to the read configuration file;
and loading the component according to the information of the component, and operating the component after the loading is finished.
Any combination of one or more computer-readable media may be employed. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. Those skilled in the art will appreciate that the present invention is not limited to the particular embodiments described herein, and that various obvious changes, rearrangements and substitutions will now be apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims (7)

1. A method of component loading, comprising:
when a starting instruction of the unmanned system is detected, reading a pre-configured configuration file, wherein the configuration file contains information of components to be loaded, each component corresponds to an algorithm module with reusability and portability in the unmanned system, and the algorithm module comprises: the system comprises an environment sensing module, a behavior decision module, a state acquisition module and a control module;
determining the component to be loaded and the information of the component according to the read configuration file;
loading the component according to the information of the component, and operating the component after the loading is finished,
if the component running process of the target component is detected to be ended, executing an ending processing strategy matched with the target component according to the priority of the component running process of the target component;
if the priority of the component running process of the target component meets a first priority condition, ending the system running process of the unmanned system; restarting the component running process of the target component if the priority of the component running process of the target component meets a second priority condition;
the information of the component comprises full path information of the component, context information of the component and a component running process of the component.
2. The method of claim 1, wherein the context information comprises: input channel index information for specifying the component data read channel and output channel index information for specifying the component data write channel.
3. The method of claim 2, wherein loading the component according to the information of the component and running the component after the loading is completed comprises:
loading the component according to the full path information of the component, and establishing a component running process of the component after the loading is finished;
the method comprises the steps that a process is run through a component of the component, a class in the component is registered, and a class object of the class registered in the component is created;
initializing the created class object according to the context information of the component by the component running process of the component so as to declare the input channel index information and the output channel index information corresponding to the class object;
and calling a processing function of the class object defined in the component through a component running process of the component, processing the data from the data reading channel, and providing a data processing result for the data writing channel.
4. The method of claim 3, wherein registering the class in the component by a component running process of the component comprises:
and executing a process through the component of the component, and registering the class in the component by using the macro defined in the component.
5. A component loading apparatus, comprising:
the unmanned aerial vehicle system comprises a configuration file reading module and an algorithm module, wherein the configuration file reading module is used for reading a pre-configured configuration file when a starting instruction of the unmanned aerial vehicle system is detected, the configuration file comprises information of components to be loaded, each component corresponds to one algorithm module with reusability and portability in the unmanned aerial vehicle system, and the algorithm module comprises: the system comprises an environment sensing module, a behavior decision module, a state acquisition module and a control module;
the module for determining the information of the component to be loaded is used for determining the component to be loaded and the information of the component according to the read configuration file;
a component loading and running module for loading the component according to the information of the component and running the component after the loading is finished,
if the component running process of the target component is detected to be ended, executing an ending processing strategy matched with the target component according to the priority of the component running process of the target component;
if the priority of the component running process of the target component meets a first priority condition, ending the system running process of the unmanned system; restarting the component running process of the target component if the priority of the component running process of the target component meets a second priority condition;
the information of the component comprises full path information of the component, context information of the component and a component running process of the component.
6. A computer device, characterized in that the computer device comprises:
one or more processors;
a storage device to store one or more programs,
when executed by the one or more processors, cause the one or more processors to implement the component loading method of any of claims 1-4.
7. A computer storage medium, on which a computer program is stored, which program, when being executed by a processor, is adapted to carry out the component loading method of any one of claims 1 to 4.
CN201811001815.6A 2018-08-30 2018-08-30 Unmanned system component loading method and device, computer equipment and medium Active CN109165055B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811001815.6A CN109165055B (en) 2018-08-30 2018-08-30 Unmanned system component loading method and device, computer equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811001815.6A CN109165055B (en) 2018-08-30 2018-08-30 Unmanned system component loading method and device, computer equipment and medium

Publications (2)

Publication Number Publication Date
CN109165055A CN109165055A (en) 2019-01-08
CN109165055B true CN109165055B (en) 2022-09-06

Family

ID=64893425

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811001815.6A Active CN109165055B (en) 2018-08-30 2018-08-30 Unmanned system component loading method and device, computer equipment and medium

Country Status (1)

Country Link
CN (1) CN109165055B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111752560A (en) * 2019-11-25 2020-10-09 京东安联财产保险有限公司 Component generation method and device, computer equipment and computer-readable storage medium
CN111273956B (en) * 2020-01-17 2024-03-01 广州虎牙科技有限公司 Program module loading method, device, equipment and storage medium
CN111290799B (en) * 2020-02-06 2023-09-19 北京字节跳动网络技术有限公司 Component loading method and device, electronic equipment and storage medium
CN111897599A (en) * 2020-07-30 2020-11-06 平安科技(深圳)有限公司 Service method, device, equipment and storage medium based on microkernel model plug-in mode
CN112905328B (en) * 2021-03-04 2023-09-19 杭州海康威视数字技术股份有限公司 Task processing method, device and computer readable storage medium
CN113268352B (en) * 2021-06-11 2024-03-08 中科院软件研究所南京软件技术研究院 Multi-instruction responsive task collaborative management method for universal service robot
CN113590213B (en) * 2021-06-24 2023-04-25 深圳开源互联网安全技术有限公司 Component maintenance method, electronic device and storage medium
CN114333102A (en) * 2021-12-24 2022-04-12 北京三快在线科技有限公司 Parameter configuration method and configuration device of unmanned equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140520A (en) * 2006-09-04 2008-03-12 中兴通讯股份有限公司 Configuring load application method and system of communication apparatus
CN102541598A (en) * 2011-12-26 2012-07-04 深圳联友科技有限公司 Method and system for dynamically loading component
CN104571026A (en) * 2014-12-17 2015-04-29 中冶南方(武汉)信息技术工程有限公司 Platform and method for establishing whole-process metallurgical manufacturing execution system
CN106201616A (en) * 2016-07-12 2016-12-07 中国电子科技集团公司第二十八研究所 A kind of assembly asynchronous information distribution method of flexibility
CN106919832A (en) * 2015-12-24 2017-07-04 北京奇虎科技有限公司 A kind of browser side extension element management method and device

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8520491B2 (en) * 2010-04-01 2013-08-27 Nokia Siemens Networks Oy Periodic channel state information signaling with carrier aggregation
CN102063332B (en) * 2011-01-12 2013-02-13 中国电子科技集团公司第七研究所 Logical device component of software communication system structure and operating method thereof
CN102789491B (en) * 2012-07-03 2016-03-16 河海大学 A kind of configurable data subscription and delivery system and method thereof
US9004973B2 (en) * 2012-10-05 2015-04-14 Qfo Labs, Inc. Remote-control flying copter and method
CN102930184B (en) * 2012-10-19 2015-11-25 华为技术有限公司 A kind of functional module loading method and device
CN103226432A (en) * 2013-05-22 2013-07-31 青岛旲天下智能科技有限公司 Intelligent human-machine interaction operating system
GB201322623D0 (en) * 2013-12-19 2014-02-05 Wild Jennifer A A user interface
US20150363543A1 (en) * 2014-06-13 2015-12-17 Rockwell Automation Technologies, Inc. Systems and methods for designing an industrial automation system
CN104866778A (en) * 2015-01-30 2015-08-26 武汉华工安鼎信息技术有限责任公司 Document safety access control method and device based on Linux kernel
CN105224332B (en) * 2015-10-14 2019-06-11 深圳市金证科技股份有限公司 A kind of application program generation method and device
CN105512324B (en) * 2015-12-21 2019-01-15 用友网络科技股份有限公司 A kind of front-end module loader of packaging file local updating
US10812323B2 (en) * 2016-02-29 2020-10-20 WhatsApp. Inc. Techniques to provide relay server configuration for geographically disparate client devices
CN105912765B (en) * 2016-04-07 2018-12-28 烽火通信科技股份有限公司 The reusable emulation component integrated for simulated environment and method
CN105912953B (en) * 2016-05-11 2019-04-30 北京北信源软件股份有限公司 A kind of virtual-machine data guard method based on credible starting
CN106020811A (en) * 2016-05-13 2016-10-12 乐视控股(北京)有限公司 Development method and device of algorithm model
CN106043696A (en) * 2016-06-30 2016-10-26 天津曙光天成科技有限公司 Flying system for unmanned aerial vehicle
CN106815019B (en) * 2016-12-30 2020-09-01 国家计算机网络与信息安全管理中心 WEB interface integration method and device of Hadoop distributed algorithm
CN108345600B (en) * 2017-01-23 2022-02-22 阿里巴巴集团控股有限公司 Management of search application, data search method and device thereof
CN106919684A (en) * 2017-03-02 2017-07-04 百度在线网络技术(北京)有限公司 Data export method, device, equipment and storage medium
CN107168743B (en) * 2017-05-22 2019-04-16 哈尔滨工程大学 Algorithm reconstructs device and method
CN107358038B (en) * 2017-06-30 2020-11-27 上海联影医疗科技股份有限公司 Method and device for integrating applications through configuration files
CN107273137A (en) * 2017-06-30 2017-10-20 上海棠棣信息科技股份有限公司 Portable software platform, method and robot for being rapidly completed custom service
CN107544826B (en) * 2017-08-22 2020-06-09 网易(杭州)网络有限公司 Xpos module reinforcing method, medium, device and computing equipment
CN107621987B (en) * 2017-09-21 2020-10-27 中国航空无线电电子研究所 Unmanned aerial vehicle general ground station software architecture system based on message
CN107885547A (en) * 2017-11-08 2018-04-06 江苏国泰新点软件有限公司 A kind of collocation method of application program, device, configuration equipment and storage medium
CN108445909A (en) * 2018-05-18 2018-08-24 天宇经纬(北京)科技有限公司 A kind of unmanned aerial vehicle control system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140520A (en) * 2006-09-04 2008-03-12 中兴通讯股份有限公司 Configuring load application method and system of communication apparatus
CN102541598A (en) * 2011-12-26 2012-07-04 深圳联友科技有限公司 Method and system for dynamically loading component
CN104571026A (en) * 2014-12-17 2015-04-29 中冶南方(武汉)信息技术工程有限公司 Platform and method for establishing whole-process metallurgical manufacturing execution system
CN106919832A (en) * 2015-12-24 2017-07-04 北京奇虎科技有限公司 A kind of browser side extension element management method and device
CN106201616A (en) * 2016-07-12 2016-12-07 中国电子科技集团公司第二十八研究所 A kind of assembly asynchronous information distribution method of flexibility

Also Published As

Publication number Publication date
CN109165055A (en) 2019-01-08

Similar Documents

Publication Publication Date Title
CN109165055B (en) Unmanned system component loading method and device, computer equipment and medium
CN109933348A (en) The update method and device of Bootloader in a kind of electronic control unit
CN103412561A (en) Automobile controller refreshing method and device
CN103577201A (en) Embedded dual system updating method and system
CN115202686A (en) Virtualization system upgrading method and device, electronic equipment and storage medium
CN108959488B (en) Method and device for maintaining question-answering model
CN111566617A (en) Firmware upgrading method and device for unmanned aerial vehicle, control device, unmanned aerial vehicle and medium
CN108897565B (en) Software upgrading method and device in electronic equipment and electronic equipment
US20220250637A1 (en) Vehicle control and task processing method and apparatus, computing device and system
CN115629785A (en) Upgrading method, electronic device and storage medium
CN110716753B (en) Cloud host initialization method and device, storage medium and electronic equipment
CN111988399B (en) Distributed computing method, device and system
CN109753061B (en) Starting method, device, equipment and computer storage medium of automatic driving system
CN114415542A (en) Automatic driving simulation system, method, server and medium
CN113590179A (en) Plug-in detection method and device, electronic equipment and storage medium
CN112230632A (en) Method, apparatus, device and storage medium for automatic driving
CN113918196B (en) Data processing method, upgrading method, device, server and mobile robot
CN111625948A (en) Playback type simulation method, device, equipment and medium for ultra-long scene
CN114116034B (en) Distributed brushing method and device
CN113760631A (en) Page loading duration determination method, device, equipment and storage medium
CN111177877A (en) Local simulation method and device based on application container engine and storage medium
CN117539230B (en) Intelligent driving domain controller pilot auxiliary function test method, equipment and storage medium
CN110262522B (en) Method and apparatus for controlling an autonomous vehicle
US20240036941A1 (en) Vehicle-mounted computer, computer execution method, and computer program
WO2023127997A1 (en) Device and method for automatically generating health monitoring configuration code in arinc operating system for vehicle platform

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant