Multi-process parallel starting method, system, equipment and medium

By writing multiple processes into the registry and dividing the startup phase in the Linux system, parallel startup is achieved, which solves the startup delay caused by multi-process dependencies and improves system startup speed and user experience.

CN121541938APending Publication Date: 2026-02-17DONGFENG MOTOR GRP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511691188.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-18
Publication Date
2026-02-17

AI Technical Summary

Technical Problem

In Linux systems, the interdependencies between multiple processes lead to startup order dependencies, increasing system startup and business recovery time and resulting in a poor user experience.

Method used

Multiple processes with interdependent relationships are written into the same registry, divided into multiple startup phases, and business logic is split and written into different phases according to dependencies to achieve parallel startup.

Benefits of technology

By launching multiple processes in parallel, the system startup speed and user experience are improved, and the startup delay caused by inter-process dependencies is resolved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121541938A_ABST
    Figure CN121541938A_ABST
Patent Text Reader

Abstract

The invention provides a multi-process parallel starting method, system and device and a medium, and belongs to the technical field of computers.The method comprises the steps that a plurality of processes with the mutual dependency relation are written into the same registry, and the processes under the same registry are divided into a plurality of starting stages; splitting the service in any process, and writing the split service of the process into a plurality of starting stages of the process based on the dependency relationship between the split service of the process and other processes; parallel starting is carried out on processes under different registries; and for different processes under the same registry, parallel starting is carried out on the services under the starting stages of the same sequence. Through the technical scheme in the embodiment of the invention, multi-process parallel starting can be realized, and the system starting speed is increased.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer technology, and in particular to a method, system, device and medium for parallel startup of multiple processes. Background Technology

[0002] Currently, computer technology is developing rapidly, especially the Linux system, which is widely used in various servers, desktop operating systems, mobile operating systems, and vehicle operating systems.

[0003] As system functionality expands, the number of internal business processes increases exponentially. Dependencies arise between these processes due to the sharing of data and hardware / software resources. These dependencies result in a specific startup order for each process; often, the dependent process must start completely before the first one begins, increasing the overall system startup and business recovery time, leading to a slightly poorer user experience.

[0004] Therefore, there is an urgent need to propose a more efficient multi-process startup scheme to address the dependencies between processes. Summary of the Invention

[0005] The present invention aims to solve at least one of the technical problems existing in the prior art, and proposes a multi-process parallel startup method, apparatus, device and storage medium.

[0006] In a first aspect, embodiments of the present invention provide a method for starting multiple processes in parallel, comprising:

[0007] Multiple processes with interdependent relationships are written into the same registry, and multiple startup phases are divided for each of the multiple processes under the same registry.

[0008] The business logic in any process is split into smaller parts, and based on the dependencies between the split business logic and other processes, the split business logic is written into multiple startup phases of the process.

[0009] Processes located in different registry keys are started in parallel; for different processes located in the same registry key, services under the same startup sequence are started in parallel.

[0010] In some embodiments, the multiple startup phases in any process have a certain order;

[0011] Furthermore, the next startup phase will only begin after all processes in the same registry have completed the startup of services in the current startup phase.

[0012] In some embodiments, among the plurality of processes under the same registry, the number of startup phases divided by any one process is exactly the same as the number of startup phases divided by other processes;

[0013] Alternatively, among the multiple processes under the same registry, the number of startup phases divided by any one process is completely different from the number of startup phases divided by other processes;

[0014] Alternatively, among the multiple processes under the same registry, the number of startup stages divided by any one process may differ from the number of startup stages divided by other processes.

[0015] In some embodiments, splitting the business processes within any process specifically includes:

[0016] Break down any process into multiple indivisible smallest unit business operations;

[0017] By merging multiple smallest business units that are interdependent, multiple business units that are not interdependent in the process can be obtained.

[0018] In some embodiments, the process of writing the split business into the startup phase specifically includes:

[0019] Find all dependent and dependent business processes in the current process;

[0020] For any dependent service in the current process, find the corresponding dependent services in other processes, and the startup phase written by the dependent service in the current process is earlier than the startup phase written by the corresponding dependent service in other processes.

[0021] For any dependent business in the current process, find the corresponding dependent business in other processes, and the startup phase written by the dependent business in the current process is after the startup phase written by the corresponding dependent business in other processes.

[0022] For all services in the current process other than the services that are depended upon and the services that depend on, after all the services that are depended upon and the services that depend on are written into the startup phase of the current process, the remaining startup phase of the current process is written into it.

[0023] In some embodiments, after the split business is written into the startup phase, there is at least one process under the same registry and at least one empty startup phase exists in all startup phases of the at least one process.

[0024] Alternatively, after the split business is written into the startup phase, there will be no empty startup phases in all startup phases of all processes under the same registry.

[0025] In some embodiments, when all processes under the same registry have at least one identical and empty startup phase, the at least one identical and empty startup phase and its order are deleted.

[0026] Secondly, embodiments of the present invention provide a multi-process parallel startup system, including:

[0027] A phase division unit is used to write multiple processes with interdependent relationships into the same registry, and to divide the multiple processes under the same registry into multiple startup phases respectively.

[0028] The process splitting unit is used to split the business in any process, and based on the dependency relationship between the split business and other processes, write the split business into multiple startup stages of the process respectively.

[0029] The parallel startup unit is used to start processes located in different registry keys in parallel; for different processes located in the same registry key, the services under the same startup sequence are started in parallel.

[0030] Thirdly, embodiments of the present invention provide an electronic device, the electronic device comprising:

[0031] At least one processor; and a memory communicatively connected to the at least one processor;

[0032] The memory stores a computer program that can be executed by at least one processor, such that the at least one processor is able to perform the steps of the method according to any embodiment of the present invention.

[0033] Fourthly, embodiments of the present invention provide a computer-readable storage medium storing computer instructions that are used to cause a processor to execute the steps of any embodiment of the method of the present invention.

[0034] Compared with the prior art, the present invention has the following advantages:

[0035] The multi-process parallel startup method provided by this invention first writes multiple processes with interdependent relationships into the same registry. Then, it divides each process under the same registry into multiple startup stages. Next, it splits the business logic within any process and, based on the dependencies between the split business logic and other processes, writes the split business logic into multiple startup stages for that process. Finally, it starts processes under different registry entries in parallel, and for different processes under the same registry entry, it starts the business logic within the same startup stage in parallel. This invention achieves efficient parallel startup of interdependent multiple processes. Attached Figure Description

[0036] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only preferred embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0037] Figure 1 A flowchart illustrating a multi-process parallel startup method provided in an embodiment of the present invention;

[0038] Figure 2 This is a schematic diagram illustrating the startup phases divided among multiple processes, as provided in an embodiment of the present invention.

[0039] Figure 3 This is a schematic diagram illustrating a service entering the next sequential startup phase, as provided in an embodiment of the present invention.

[0040] Figure 4 A structural block diagram of a multi-process parallel startup system provided in an embodiment of the present invention;

[0041] Figure 5 This is a structural block diagram of an electronic device provided in an embodiment of the present invention. Detailed Implementation

[0042] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0043] To enable those skilled in the art to better understand the technical solutions of the present invention, exemplary embodiments of the present invention are described below in conjunction with the accompanying drawings, including various details of the embodiments of the present invention to aid understanding. These should be considered merely exemplary. Therefore, those skilled in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0044] Where there is no conflict, the various embodiments of the present invention and the features thereof may be combined with each other.

[0045] As used herein, the term “and / or” includes any and all combinations of one or more related enumerated entries.

[0046] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the invention. As used herein, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that when the terms “comprising” and / or “made of” are used in this specification, the presence of the stated feature, integral, step, operation, element, and / or component is specified, but the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof is not excluded. Terms such as “connected” or “linked” are not limited to physical or mechanical connections but can include electrical connections, whether direct or indirect.

[0047] Unless otherwise specified, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having the meaning consistent with their meaning in the context of the relevant art and the invention, and will not be interpreted as having an idealized or overly formal meaning unless expressly so defined herein.

[0048] In the technical solution of this invention, the collection, storage, use, processing, transmission, provision, and disclosure of user personal information all comply with relevant laws and regulations and do not violate public order and good morals. The use of user data in this technical solution follows relevant national laws and regulations (e.g., the "Information Security Technology - Personal Information Security Specification"). For example: appropriate measures are taken for personal information access control; restrictions are imposed on the display of personal information; the purpose of using personal information does not exceed the scope of direct or reasonable association; and explicit identity targeting is eliminated when using personal information to avoid precisely locating a specific individual.

[0049] In related technologies, there are several startup schemes for multiple processes:

[0050] Option 1 involves limiting the startup order of interdependent processes by adding a delay to the system startup script. The essence of Option 1 is the serial startup of multiple processes, which increases the overall system startup time. Furthermore, the appropriate delay amount often depends on the experience and assessment of technical personnel. A short delay may result in dependent processes not starting completely, leading to abnormal startup of subsequent processes; a long delay may increase startup time.

[0051] Option 2 involves continuously querying the relevant status of the dependent processes in the startup code, and only proceeding with the startup process after the startup conditions are met. The essence of Option 2 is the parallel startup of multiple processes. In this option, the dependent processes need to provide interfaces for the dependent processes to query and call. The internal business startup logic of the dependent processes requires special handling, depending on the interface calls and returned status, resulting in severe coupling between processes. If multiple processes have mutual dependencies, this option becomes even more complex and coupled.

[0052] In summary, this application aims to solve the problem of inability to start in parallel due to mutual dependencies among multiple processes, thereby improving system startup speed and user experience.

[0053] To address at least one of the technical problems existing in the aforementioned related technologies, the present invention provides a multi-process parallel startup method. Figure 1 This is a flowchart illustrating a multi-process parallel startup method provided in an embodiment of the present invention. This method is particularly suitable for situations where the startup of interdependent multi-processes in a Linux system is slow. This method can be executed by a multi-process parallel startup system, which can be implemented in software and / or hardware, and can be configured in an electronic device.

[0054] like Figure 1 As shown, the method specifically includes:

[0055] S1, write multiple processes with interdependent relationships into the same registry, and divide the multiple processes under the same registry into multiple startup stages.

[0056] For example, suppose there are three processes in a Linux system that have interdependencies. These three processes are written into the same registry and labeled as process 1, process 2, and process 3, respectively.

[0057] The dependencies between these three processes are as follows: some services in process 1 depend on some services in process 2 and / or process 3, some services in process 2 depend on process 1 and / or process 2, and some services in process 3 depend on process 1 and / or process 2.

[0058] Alternatively, the dependencies between these three processes may be as follows: some business processes in process 1 depend on some business processes in process 2 and / or process 3; some business processes in process 2 depend on process 1 and / or process 2; and process 3 depends on neither process 1 nor process 2.

[0059] It's important to note that inter-process dependencies refer to situations where multiple processes are waiting for each other's resources or signals. If these dependencies are not handled properly, they can easily lead to deadlocks; for example, each process might wait for the other to release resources, resulting in an indefinite blockage.

[0060] Common interdependencies include:

[0061] 1) Resource contention: Multiple processes need to acquire resources already held by each other simultaneously. For example, process A holds resource X and waits for resource Y; process B holds resource Y and waits for resource X, leading to a deadlock.

[0062] 2) Synchronization signal dependency: Multiple processes need to wait for signals from each other simultaneously. For example, process A waits for a signal from process B, while process B simultaneously waits for a signal from process A.

[0063] 3) Task dependency: The next step of process A depends on the result of process B, while the execution of process B depends on the intermediate result of process A.

[0064] It is understandable that multiple processes with interdependent relationships are written to the same registry, while multiple processes without interdependent relationships are written to different registry entries. Processes under different registry entries can start in parallel without interfering with each other.

[0065] For example, process 1 is divided into five startup phases, and processes 2 and 3 are also divided into five startup phases.

[0066] Figure 2 This is a schematic diagram illustrating the startup phases divided among multiple processes, as provided in an embodiment of the present invention. Figure 2 As shown, assume that process 1 is divided into five startup phases, which are denoted as startup phase 0, startup phase 1, startup phase 2, startup phase 3, and startup phase 4. Similarly, processes 2 and 3 are the same as process 1, and will not be described again here.

[0067] In some embodiments, the multiple startup phases in any process have a certain order;

[0068] Furthermore, the next startup phase will only begin after all processes in the same registry have completed the startup of services in the current startup phase.

[0069] For example, taking the processes 1, 2 and 3 mentioned above as examples, these three processes all have five startup phases, and the five startup phases of any one process have a certain startup order.

[0070] Figure 3 This is a schematic diagram illustrating the process of entering the next sequential startup phase of a service, as provided in an embodiment of the present invention. Figure 3 As shown, the current startup stage of process 1 is startup stage 0, and the next startup stage of process 1 is to start process 1. Similarly, processes 2 and 3 are the same as process 1, and will not be described again here.

[0071] Furthermore, the business startup phase 1 will only begin after processes 1, 2, and 3, which are all in the same registry, have completed the business startup in startup phase 0.

[0072] In one specific application scenario, a startup framework within a startup script is used to monitor multiple processes in the system. Running the startup framework designates multiple interdependent processes as related processes that need to be started in parallel and writes them to the same registry.

[0073] The specific principle behind launching the framework process is as follows:

[0074] 1) Divide the business process into startup phases, for example: divide the business process startup into five startup phases.

[0075] 2) Monitor the startup phase of each business process in the same registry. Only when the same startup phase of all business processes is completed can they enter their respective next phase; otherwise, they enter a waiting state.

[0076] 3) Provide a public library for business processes, which can register startup framework functions. This public library will ensure that the business processes proceed step by step according to the complete startup phase.

[0077] For example, the startup framework interface for business process registration is as follows:

[0078] VOID InitPhaseProc(uint8 initPhase)

[0079] {

[0080] Switch (initPhase)

[0081] {

[0082] Case INIT_0_PHASE:

[0083] Initialize the business process in startup phase 0;

[0084] Break;

[0085] Case INIT_1_PHASE:

[0086] Initialize the business process in startup phase 1;

[0087] Break;

[0088] Case INIT_2_PHASE:

[0089] Initialize the business process in startup phase 2;

[0090] Break;

[0091] Case INIT_3_PHASE:

[0092] Initialize the business process in startup phase 3;

[0093] Break;

[0094] Case INIT_4_PHASE:

[0095] Initialize the business process in startup phase 4;

[0096] Break;

[0097] }

[0098] }

[0099] Understandably, the business process can initialize the startup framework based on the common libraries provided by the startup framework process.

[0100] S2, split the business in any process, and based on the dependency relationship between the split business and other processes, write the split business into multiple startup stages of the process respectively.

[0101] It should be noted that the solution in this embodiment includes two aspects:

[0102] At the first level, based on the dependencies between processes, different processes with mutual dependencies are written into the same registry.

[0103] The second level involves writing different business processes based on their dependencies into different startup phases.

[0104] In some embodiments, among multiple processes under the same registry, the number of startup phases divided by any process is exactly the same as the number of startup phases divided by other processes.

[0105] Alternatively, among multiple processes under the same registry, the number of startup stages divided by any one process is completely different from the number of startup stages divided by other processes;

[0106] Alternatively, among multiple processes under the same registry, the number of startup stages divided by any one process may differ from the number of startup stages divided by other processes.

[0107] There is no limit to the number of startup stages for different processes that are under the same registry.

[0108] It's understandable that the preceding text showed different processes under the same registry with the same number of startup stages; that is, processes 1, 2, and 3 each had five startup stages. However, in some special scenarios, different numbers of startup stages can be used. For example, process 1 might have five startup stages, process 2 four, and process 3 six.

[0109] In some embodiments, the business processes within any process are split, specifically including:

[0110] S2101, splits any process into multiple indivisible smallest unit services;

[0111] S2102, merge multiple smallest unit services that have interdependencies to obtain multiple services that do not have interdependencies in the process.

[0112] It should be noted that within the same process, there may be smallest unit services with a temporal order, which may also lead to interdependencies between these smallest units. Therefore, these services need to be merged to eliminate dependencies between services within the same process.

[0113] In some embodiments, the process of writing business logic into the startup phase specifically includes:

[0114] S2201, find all dependent services and services in the current process;

[0115] S2202, For any dependent service in the current process, find the dependent service corresponding to the dependent service in other processes, and the startup phase written by the dependent service in the current process is earlier than the startup phase written by the corresponding dependent service in other processes.

[0116] S2203, For any dependent business in the current process, find the corresponding dependent business in other processes, and the startup phase written by the dependent business in the current process is after the startup phase written by the corresponding dependent business in other processes.

[0117] S2204: For services in the current process other than the dependent services and the services that depend on it, after all the dependent services and the services that depend on it are written into the startup phase of the current process, the remaining startup phase of the current process is written into it.

[0118] Furthermore, during the process of writing the split business into the startup phase, the original timing of each split business in the current process is maintained. That is, the timing of the split business in the current process is consistent with the timing of the business before splitting.

[0119] In some embodiments, after the split business is written into the startup phase, there is at least one process under the same registry and at least one empty startup phase exists in all startup phases of the at least one process.

[0120] Alternatively, after the split business is written into the startup phase, there will be no empty startup phases in all startup phases of all processes under the same registry.

[0121] It is understandable that in some special scenarios, there may be one or more processes, and among the multiple startup phases of these one or more processes, there may be empty startup phases.

[0122] Furthermore, if all processes under the same registry have at least one identical and empty startup phase, delete at least one identical and empty startup phase and its order. If a process does not have a startup phase in that order, the startup phase for that process is assumed to be empty in that order.

[0123] Furthermore, when some processes exist under the same registry and at least one of the startup stages of these processes is empty, the locations of the empty startup stages can be exactly the same, partially the same, or completely different.

[0124] S3 enables parallel startup of processes located in different registry keys; for different processes located in the same registry key, it enables parallel startup of services in the same startup sequence.

[0125] It should be noted that processes residing in different registry directories can be started in parallel because there are no inter-process dependencies between them. However, different processes residing in the same registry directories may have inter-process dependencies, but the business logic within the same startup sequence is independent of each other; therefore, they can be started in parallel based on the same startup sequence.

[0126] The technical solution in this invention proposes a scheme for parallel startup of interdependent multi-processes. Each service is divided within a process according to its startup stage. The initialization processes of related services with dependencies are placed in different startup stages. Services of the dependent process are placed in earlier startup stages, while services of the dependent process are placed in subsequent startup stages. This ensures the timing of service startup and decoupling between services. It solves the problem of inability to start in parallel due to mutual dependencies between multiple processes, achieves decoupling between interdependent processes, and improves system startup speed and user experience.

[0127] Based on the same inventive concept, embodiments of the present invention also provide a multi-process parallel startup system. Figure 4 A structural block diagram of a multi-process parallel startup system provided in an embodiment of the present invention is shown below. Figure 4 As shown, the system specifically includes:

[0128] The stage division unit 100 is used to write multiple processes with interdependent relationships into the same registry, and to divide the multiple processes under the same registry into multiple startup stages.

[0129] The process splitting unit 200 is used to split the business in any process, and based on the dependency relationship between the split business and other processes, write the split business into multiple startup stages of the process respectively.

[0130] The parallel startup unit 300 is used to start processes in parallel under different registry keys; for different processes under the same registry key, it starts services in parallel under the same startup sequence.

[0131] Based on the same inventive concept, embodiments of the present invention also provide an electronic device. Figure 5 This is a structural block diagram of an electronic device provided in an embodiment of the present invention. Figure 5 As shown, an embodiment of the present invention provides an electronic device including: one or more processors 101, a memory 102, and one or more I / O interfaces 103. The memory 102 stores one or more programs, which, when executed by the one or more processors, enable the one or more processors to implement any of the multi-process parallel startup methods described in the above embodiments; the one or more I / O interfaces 103 are connected between the processor and the memory, configured to enable information interaction between the processor and the memory.

[0132] The processor 101 is a device with data processing capabilities, including but not limited to a central processing unit (CPU); the memory 102 is a device with data storage capabilities, including but not limited to random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and flash memory (FLASH); the I / O interface (read / write interface) 103 is connected between the processor 101 and the memory 102, and can realize information interaction between the processor 101 and the memory 102, including but not limited to a data bus (BUS).

[0133] In some embodiments, the processor 101, memory 102, and I / O interface 103 are interconnected via bus 104, and thus connected to other components of the computing device.

[0134] In some embodiments, the one or more processors 101 include a field-programmable gate array.

[0135] This invention also provides a computer-readable medium. The computer-readable medium stores a computer program, which, when executed by a processor, implements the steps of any of the multi-process parallel startup methods described in the above embodiments. The computer-readable storage medium may be volatile or non-volatile.

[0136] This invention also provides a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code. When the computer-readable code is run in the processor of an electronic device, the processor in the electronic device executes the above-described multi-process parallel startup method.

[0137] Those skilled in the art will understand that all or some of the steps, systems, and apparatuses disclosed above, and their functional modules / units, can be implemented as software, firmware, hardware, or suitable combinations thereof. In hardware implementations, the division between functional modules / units mentioned above does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed collaboratively by several physical components. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software can be distributed on a computer-readable storage medium, which may include computer storage media (or non-transitory media) and communication media (or transient media).

[0138] As is known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable program instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), static random access memory (SRAM), flash memory or other memory technologies, portable compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible to a computer. Furthermore, it is known to those skilled in the art that communication media typically contain computer-readable program instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.

[0139] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.

[0140] The computer program instructions used to perform the operations of this invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, etc., and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing state information from the computer-readable program instructions. This electronic circuitry can execute the computer-readable program instructions to implement various aspects of the invention.

[0141] The computer program product described herein can be implemented specifically through hardware, software, or a combination thereof. In one alternative embodiment, the computer program product is specifically embodied in a computer storage medium; in another alternative embodiment, the computer program product is specifically embodied in a software product, such as a software development kit (SDK), etc.

[0142] Various aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0143] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0144] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0145] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which contains one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0146] Example embodiments have been disclosed herein, and while specific terminology has been used, it is for illustrative purposes only and should be construed as such, and is not intended to be limiting. In some instances, it will be apparent to those skilled in the art that features, characteristics, and / or elements described in conjunction with particular embodiments may be used alone, or in combination with features, characteristics, and / or elements described in conjunction with other embodiments, unless otherwise expressly indicated. Therefore, those skilled in the art will understand that various changes in form and detail may be made without departing from the scope of the invention as set forth in the appended claims.

Claims

1. A method for parallel starting of multiple processes, characterized by The method comprises: writing multiple processes with mutual dependency into the same registry, and dividing the multiple processes in the same registry into multiple start-up stages respectively; splitting the service in any process, and writing the split service of the process into multiple start-up stages of the process based on the dependency between the split service of the process and other processes; starting the processes in different registries in parallel, and starting the services in the same order in the start-up stages in parallel for different processes in the same registry.

2. The method of claim 1, wherein, The multiple start-up stages in any process have a certain order. Only when all the processes in the same registry complete the service start-up in the start-up stage of the current order, the service start-up in the start-up stage of the next order is entered.

3. The method of claim 1, wherein, In the multiple processes in the same registry, the number of start-up stages divided by any process is completely the same as the number of start-up stages divided by other processes. In the multiple processes in the same registry, the number of start-up stages divided by any process is completely different from the number of start-up stages divided by other processes. In the multiple processes in the same registry, the number of start-up stages divided by any process is different from the number of start-up stages divided by other processes.

4. The method of claim 1, wherein, The splitting of the service in any process comprises: splitting any process into multiple non-splittable minimum unit services; merging multiple minimum unit services with mutual dependency to obtain multiple services without mutual dependency in the process.

5. The method of claim 1, wherein, The process of writing the split service into the start-up stage comprises: finding all dependent services and dependent services in the current process; for any dependent service in the current process, finding the corresponding dependent service of the dependent service in other processes, and the start-up stage written by the dependent service in the current process is earlier than the start-up stage written by the corresponding dependent service in other processes; for any dependent service in the current process, finding the corresponding dependent service of the dependent service in other processes, and the start-up stage written by the dependent service in the current process is later than the start-up stage written by the corresponding dependent service in other processes; for services other than dependent services and dependent services in the current process, after all dependent services and dependent services are written into the start-up stage of the current process, write the remaining start-up stage in the current process.

6. The method of claim 1, wherein, After writing the split service into the start-up stage, there is at least one process in the same registry and at least one empty start-up stage in all start-up stages of the at least one process. Or, after writing the split service into the start-up stage, there is no empty start-up stage in all start-up stages of all processes in the same registry.

7. The method of claim 6, wherein, When there is at least one same and empty start-up stage for all processes in the same registry, the at least one same and empty start-up stage and order are deleted.

8. A multi-process parallel start-up system, characterized by, The system is configured to implement the method of any one of claims 1-7, and the system comprises: A phase division unit is used to write multiple processes with interdependent relationships into the same registry, and to divide the multiple processes under the same registry into multiple startup phases respectively. The process splitting unit is used to split the business in any process, and based on the dependency relationship between the split business and other processes, write the split business into multiple startup stages of the process respectively. The parallel startup unit is used to start processes located in different registry keys in parallel; for different processes located in the same registry key, the services under the same startup sequence are started in parallel.

9. An electronic device, comprising: The electronic device includes: At least one processor, and a memory communicatively connected to said at least one processor; The memory stores a computer program that can be executed by the at least one processor to enable the at least one processor to perform the steps of the method according to any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause a processor to perform the steps of the method according to any one of claims 1-7.