WO2023131110A1 - 一种进程间通信的方法及装置 - Google Patents

一种进程间通信的方法及装置 Download PDF

Info

Publication number
WO2023131110A1
WO2023131110A1 PCT/CN2023/070075 CN2023070075W WO2023131110A1 WO 2023131110 A1 WO2023131110 A1 WO 2023131110A1 CN 2023070075 W CN2023070075 W CN 2023070075W WO 2023131110 A1 WO2023131110 A1 WO 2023131110A1
Authority
WO
WIPO (PCT)
Prior art keywords
channel
ipc
service
contentprovider
target
Prior art date
Application number
PCT/CN2023/070075
Other languages
English (en)
French (fr)
Inventor
袁科杰
陈峥
张骁敏
Original Assignee
北京有竹居网络技术有限公司
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 北京有竹居网络技术有限公司 filed Critical 北京有竹居网络技术有限公司
Publication of WO2023131110A1 publication Critical patent/WO2023131110A1/zh

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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Definitions

  • the present application relates to the field of inter-process communication, in particular to a method and device for inter-process communication.
  • inter-process communication inter-process communication
  • a certain process of a game application needs to use the IPC channel to send a request to the main process of the game application, and the main process processes the request and returns a processing result, and the game application performs related logical processing based on the processing result.
  • the current IPC is implemented through a single IPC channel, so that when the channel fails, the IPC will fail, resulting in service failure.
  • the technical problem to be solved by this application is: when a single IPC channel is used to implement IPC, if the channel fails, the IPC will fail, and a method and device for inter-process communication are provided.
  • the embodiment of the present application provides a method for inter-process communication, the method including:
  • the first process determines a target IPC channel from a plurality of inter-process communication IPC channels
  • the first process sends the message to be sent to the second process through the target IPC channel;
  • the first process is a process of an installation-free application
  • the second process is a core process of an installation-free framework; or, both the first process and the second process are processes of the installation-free application.
  • the first process determines a target IPC channel from multiple inter-process communication IPC channels, including:
  • the first process determines a target IPC channel from the multiple IPC channels according to configuration information.
  • the multiple IPC channels include:
  • the ContentProvider channel and the Service channel are mutual backups, and when the currently used channel in the ContentProvider channel and the Service channel fails, then switch to another channel.
  • the target IPC channel is the ContentProvider channel, and if the ContentProvider channel is faulty, the target IPC channel is the Service channel. 6. The method according to claim 3 or 4, wherein if the Service channel does not break down, the target IPC channel is the Service channel, and if the Service channel fails, the target IPC channel channel for the ContentProvider channel
  • the target IPC channel is a Service channel
  • the method before sending the message to be sent to the second process, the method further includes:
  • the first process is bound to the Service channel.
  • the first process binding the Service channel includes:
  • the first process sends a request for binding the Service channel to the Service component, and performs a locking operation
  • the first process receives a confirmation message for the request returned by the Service component.
  • the embodiment of the present application provides an apparatus for inter-process communication, which is applied to the first process, and the apparatus includes:
  • a determination unit configured to determine a target IPC channel from a plurality of inter-process communication IPC channels
  • a sending unit configured to send the message to be sent to the second process through the target IPC channel
  • the first process is a process of an installation-free application
  • the second process is a core process of an installation-free framework; or, both the first process and the second process are processes of the installation-free application.
  • the determining unit is used for:
  • the multiple IPC channels include:
  • the ContentProvider channel and the Service channel are mutual backups, and when the currently used channel of the ContentProvider channel and the Service channel fails, switch to another channel.
  • the target IPC channel is the ContentProvider channel
  • the target IPC channel is the Service channel
  • the target IPC channel is the Service channel, and if the Service channel is faulty, the target IPC channel is the ContentProvider channel
  • the target IPC channel is a Service channel
  • the device further includes:
  • the binding unit is configured to bind the Service channel before sending the message to be sent to the second process.
  • the binding unit is used for:
  • a confirmation message for the request returned by the Service component is received.
  • an embodiment of the present application provides a device, where the device includes a processor and a memory;
  • the processor is configured to execute instructions stored in the memory, so that the device executes the method described in any one of the above first aspects.
  • an embodiment of the present application provides a computer-readable storage medium, which is characterized by including instructions, and the instructions instruct a device to execute the method described in any one of the above first aspects.
  • an embodiment of the present application provides a computer program product, which, when running on a computer, causes the computer to execute the method described in any one of the above first aspects.
  • the embodiment of the present application has the following advantages:
  • the embodiment of the present application provides a method for inter-process communication.
  • the first process can determine the target IPC channel from multiple IPC channels, and pass The target IPC channel sends the message to be sent to the second process.
  • the first process is a process of an installation-free application
  • the second process is a core process of an installation-free framework; or, both the first process and the second process are processes of the installation-free application. Because the possibility that the multiple IPC channels fail at the same time is extremely small, even if one of the IPC channels fails, the first process can also determine the unfailed target IPC channel from the multiple IPC channels, thereby implementing IPC, to Ensure normal operation of business. It can be seen that, with this solution, IPC failure between the second process and the first process in the installation-free application can be avoided, thereby ensuring normal operation of services.
  • FIG. 1 is a schematic flowchart of a method for inter-process communication provided by an embodiment of the present application
  • Fig. 2 is a schematic diagram provided by the embodiment of the present application.
  • FIG. 3 is a schematic structural diagram of an inter-process communication device provided by an embodiment of the present application.
  • FIG. 4 is a schematic structural diagram of a device provided by an embodiment of the present application.
  • FIG. 1 the figure is a schematic flowchart of a method for inter-process communication provided by an embodiment of the present application.
  • the method can be used to implement inter-process communication in an installation-free framework.
  • Free installation technology provides a complete virtual operating environment.
  • Application programs that use installation-free technology can also be called "installation-free applications”.
  • the installation-free application does not need to be installed in the operating system, and can also achieve the operation effect that can be achieved by installing the application.
  • the platform application program can run on the operating system, the platform application program can run the installation-free framework, and the installation-free framework is used to implement the installation-free technology.
  • the method shown in FIG. 1 may include, for example, the following steps S101-S102.
  • S101 The first process determines a target IPC channel from multiple IPC channels.
  • the first process sends a message to be sent to a second process through the target IPC channel, wherein: the first process is a process of an installation-free application, and the second process is a core process of an installation-free framework; Alternatively, both the first process and the second process are processes of the installation-free application.
  • multiple IPC channels may be provided for implementing IPC. If the first process needs to send a message to the second process, it may first determine a target IPC channel from the multiple IPC channels, and send the message to be sent to the second process through the target IPC channel.
  • the target IPC channel is an available IPC channel among the plurality of IPC channels, and the available IPC channel mentioned here may refer to an IPC channel that has not failed.
  • the first process may be a process of an installation-free application program, such as a process of a game without installation.
  • the second process may be a core process of the installation-free framework.
  • both the first process and the second process are processes of an installation-free application, the first process is one of the processes of the installation-free application, and the second process is all Describes the main process of the install-free application.
  • the main process refers to the first process running when the installation-free application starts.
  • the first process may determine a target IPC channel from the multiple IPC channels according to configuration information.
  • the configuration information may indicate that one of the multiple IPC channels is used as a default channel, and indicates that other IPC channels are used as backup channels.
  • the multiple IPC channels include a first IPC channel and a second IPC channel, and the configuration information indicates that the first IPC channel is a default channel, and the second IPC channel is a backup channel, then the first IPC channel is a backup channel.
  • a process may determine the first IPC channel as the target IPC channel when the first IPC channel fails, and the first process may determine the second IPC channel when the first IPC channel fails.
  • the IPC channel is determined as the target IPC channel.
  • the first process may determine that the default channel is faulty when sending a message to the second process through the default channel but not receiving a response returned by the second process.
  • the configuration information includes the priorities corresponding to the multiple IPC channels, and the first process preferentially determines the IPC channels with high priority as the target IPC channel.
  • the target IPC channel is determined from other IPC channels in descending order of priority.
  • the multiple IPC channels include a first IPC channel, a second IPC channel, and a third IPC channel, and the configuration information indicates that the priority of the first IPC channel is higher than that of the second IPC channel, and the priority of the second IPC channel is higher than that of the second IPC channel. The priority of the IPC channel is higher than that of the third IPC channel.
  • the first process can determine the first IPC channel as the target IPC channel when the first IPC channel fails; if the first IPC channel fails and the second IPC channel does not fail, the The first process determines the second IPC channel as the target IPC channel; if both the first IPC channel and the second IPC channel fail, the first process determines the third IPC channel as the target IPC channel .
  • the multiple IPC channels may be a Content Provider (ContentProvider) channel and a Service (Service) channel.
  • a ContentProvider channel and a Service channel are included between the first process 201 and the second process 202 .
  • the ContentProvider channel and the Service channel are mutual backups, and when the currently used channel of the ContentProvider channel and the Service channel fails, it is switched to another channel.
  • ContentProvider and Service are both components of the Android system, and will not be described in detail here.
  • the ContentProvider channel can be determined as the default IPC channel, and the Service channel can be used as a backup channel, or the priority of the ContentProvider channel can be set It is higher than the priority of the Service channel. That is: use the ContentProvider channel first to implement IPC, and use the Service channel to implement IPC when the ContentProvider channel fails. For this case, if the current channel (i.e. the ContentProvider channel) does not fail, then the target IPC channel is the ContentProvider channel; if the current channel (i.e. the ContentProvider channel) fails, then switch to another channel (That is, the Service channel), in this case, the target IPC channel is the Service channel.
  • the current channel i.e. the ContentProvider channel
  • the target IPC channel is the Service channel.
  • the Service channel can be determined as the default IPC channel, and the ContentProvider channel can be used as a backup channel, or the Service channel can be set
  • the priority is higher than the priority of the ContentProvider channel. That is: the Service channel is used first to implement IPC, and when the Service channel fails, the ContentProvider channel is used to implement IPC. For this case, if the current channel (i.e. the Service channel) does not fail, then the target IPC channel is the Service channel; if the current channel (i.e. the Service channel) fails, then switch to another channel ( That is, the ContentProvider channel), in this case, the target IPC channel is the ContentProvider channel. Adopting this solution can reduce the time consumption of inter-process communication and improve communication efficiency.
  • the Service channel is used to communicate between the first process and the second process
  • the communication between the two is asynchronous.
  • the first process uses the Service channel to communicate with the second process.
  • the Service channel can be bound to realize synchronous communication.
  • the first process binds the Service channel in specific implementation, for example, a request for binding the Service channel can be sent to the Service component, and after sending the request, the first process performs a locking operation to wait for the confirmation message of the Service component After the first process receives the confirmation message for the request returned by the Service component, it is considered that the first process is successfully bound to the Service channel.
  • the first process can use the Service channel to communicate with the second Processes communicate synchronously. It should be noted that the so-called execution of the locking operation refers to that the first process no longer performs data interaction with other processes.
  • the first process can also determine the unfailed target IPC channel from the multiple IPC channels. In this way, IPC is realized to ensure the normal operation of services. It can be seen that, using the solution provided by the embodiment of the present application, the IPC failure between the second process and the first process in the installation-free application can be avoided, thereby ensuring the normal operation of the service.
  • this figure is a schematic structural diagram of an apparatus for inter-process communication provided by an embodiment of the present application.
  • the apparatus 300 may specifically include: a determining unit 301 and a sending unit 302 .
  • a determining unit 301 configured to determine a target IPC channel from a plurality of inter-process communication IPC channels
  • a sending unit 302 configured to send the message to be sent to a second process through the target IPC channel; wherein: the first process is a process of an installation-free application, and the second process is a core process of a framework without installation; or , both the first process and the second process are processes of the installation-free application.
  • the determining unit 301 is configured to:
  • the multiple IPC channels include:
  • the ContentProvider channel and the Service channel are mutual backups, and when the currently used channel of the ContentProvider channel and the Service channel fails, switch to another channel.
  • the target IPC channel is the ContentProvider channel
  • the target IPC channel is the Service channel
  • the target IPC channel is the Service channel, and if the Service channel fails, the target IPC channel is the ContentProvider channel
  • the target IPC channel is a Service channel
  • the device further includes:
  • the binding unit is configured to bind the Service channel before sending the message to be sent to the second process.
  • the binding unit is used for:
  • a confirmation message for the request returned by the Service component is received.
  • the device 300 is a device corresponding to the method provided by the above method embodiment, the specific implementation of each unit of the device 300 is the same concept as the above method embodiment, therefore, about each unit of the device 300 For specific implementation, reference may be made to the description of the above method embodiments, and details are not repeated here.
  • the embodiment of the present application also provides a device, the device includes a processor and a memory;
  • the processor is configured to execute instructions stored in the memory, so that the device executes the method described in any one of the above method embodiments.
  • FIG. 4 it shows a schematic structural diagram of an electronic device 400 suitable for implementing the embodiment of the present application.
  • the electronic equipment in the embodiment of the present application may include but not limited to mobile phones, notebook computers, digital broadcast receivers, PDA (Personal Digital Assistant, personal digital assistant), PAD (portable android device, tablet computer), PMP (Portable Media Player, portable multimedia player), mobile terminals such as vehicle-mounted terminals (such as vehicle-mounted navigation terminals), and fixed terminals such as digital TVs (television, television sets), desktop computers, and the like.
  • PDA Personal Digital Assistant
  • PAD portable android device, tablet computer
  • PMP Portable Media Player, portable multimedia player
  • mobile terminals such as vehicle-mounted terminals (such as vehicle-mounted navigation terminals)
  • fixed terminals such as digital TVs (television, television sets), desktop computers, and the like.
  • the electronic device shown in FIG. 4 is only an example, and should not limit the functions and scope of use of this embodiment of the present application.
  • an electronic device 400 may include a processing device (such as a central processing unit, a graphics processing unit, etc.) 401, which may be randomly accessed according to a program stored in a read-only memory (ROM) 402 or loaded from a storage device 408.
  • a processing device such as a central processing unit, a graphics processing unit, etc.
  • RAM read-only memory
  • various appropriate actions and processes are executed by programs in the memory (RAM) 403 .
  • RAM 403 In the RAM 403, various programs and data necessary for the operation of the electronic device 400 are also stored.
  • the processing device 401, the ROM 402, and the RAM 403 are connected to each other through a bus 404.
  • An input/output (I/O) interface 405 is also connected to bus 404 .
  • the following devices can be connected to the I/O interface 405: input devices 406 including, for example, a touch screen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; including, for example, a liquid crystal display (LCD), speaker, vibration an output device 407 such as a computer; a storage device 408 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 409.
  • the communication means 409 may allow the electronic device 400 to perform wireless or wired communication with other devices to exchange data. While FIG. 4 shows electronic device 400 having various means, it should be understood that implementing or having all of the means shown is not a requirement. More or fewer means may alternatively be implemented or provided.
  • the processes described above with reference to the flowcharts can be implemented as computer software programs.
  • the embodiments of the present application include a computer program product, which includes a computer program carried on a non-transitory computer readable medium, where the computer program includes program code for executing the method shown in the flowchart.
  • the computer program may be downloaded and installed from a network via communication means 409 , or from storage means 408 , or from ROM 402 .
  • the processing device 401 the above-mentioned functions defined in the methods of the embodiments of the present application are performed.
  • the electronic device provided by the embodiment of the present application and the inter-process communication method provided by the above-mentioned embodiment belong to the same inventive concept, and the technical details not described in detail in this embodiment can be referred to the above-mentioned embodiment, and this embodiment has similarities with the above-mentioned embodiment Same beneficial effect.
  • An embodiment of the present application provides a computer-readable medium on which a computer program is stored, wherein, when the program is executed by a processor, the method for inter-process communication as described in any of the foregoing embodiments is implemented.
  • the computer-readable medium mentioned above in this application may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the above two.
  • a computer readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, electrical connections with one or more wires, portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable Programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
  • a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
  • a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code therein. Such propagated data signals may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
  • a computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which can transmit, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device .
  • Program code embodied on a computer readable medium may be transmitted by any appropriate medium, including but not limited to wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
  • the client and the server can communicate using any currently known or future network protocols such as HTTP (HyperText Transfer Protocol, Hypertext Transfer Protocol), and can communicate with digital data in any form or medium Communications (eg, communication networks) are interconnected.
  • Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), internetworks (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed network of.
  • the above-mentioned computer-readable medium may be included in the above-mentioned electronic device, or may exist independently without being incorporated into the electronic device.
  • the above-mentioned computer-readable medium carries one or more programs, and when the above-mentioned one or more programs are executed by the electronic device, the electronic device is made to execute the above-mentioned method for inter-process communication.
  • Computer program code for carrying out the operations of this application may be written in one or more programming languages, or combinations thereof, including but not limited to object-oriented programming languages—such as Java, Smalltalk, C++, and Includes conventional procedural programming languages - such as the "C" 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.
  • the remote computer can be connected to the user computer through any kind of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (such as through an Internet service provider). Internet connection).
  • LAN local area network
  • WAN wide area network
  • Internet service provider such as AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
  • each block in a flowchart or block diagram may represent a module, program segment, or portion of code that contains one or more logical functions for implementing specified executable instructions.
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or they may sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations can be implemented by a dedicated hardware-based system that performs the specified functions or operations , or may be implemented by a combination of dedicated hardware and computer instructions.
  • the units involved in the embodiments described in the present application may be implemented by means of software or by means of hardware.
  • the name of the unit/module does not constitute a limitation on the unit itself under certain circumstances, for example, the voice data collection module can also be described as a "data collection module”.
  • FPGAs Field Programmable Gate Arrays
  • ASICs Application Specific Integrated Circuits
  • ASSPs Application Specific Standard Products
  • SOCs System on Chips
  • CPLD Complex Programmable Logical device
  • a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device.
  • a machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium.
  • a machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing.
  • machine-readable storage media would include one or more wire-based electrical connections, portable computer discs, hard drives, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), optical fiber, compact disk read only memory (CD-ROM), optical storage, magnetic storage, or any suitable combination of the foregoing.
  • RAM random access memory
  • ROM read only memory
  • EPROM or flash memory erasable programmable read only memory
  • CD-ROM compact disk read only memory
  • magnetic storage or any suitable combination of the foregoing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)

Abstract

本申请公开了一种进程间通信的方法,在一个示例中,第一进程若需要向第二进程发送消息,则第一进程可以从多条IPC通道中确定出目标IPC通道,并通过该目标IPC通道将待发送消息发送给第二进程。其中,所述第一进程为免安装应用的进程,所述第二进程为免安装框架的核心进程;或者,所述第一进程和所述第二进程均为所述免安装应用的进程。由于所述多条IPC通道同时出现故障的可能性极小,因此,即使其中一条IPC通道故障,第一进程也可以从多条IPC通道中确定出未故障的目标IPC通道,从而实现IPC,以保证业务正常运行。由此可见,利用本方案,能够避免第二进程和免安装应用中的第一进程之间的IPC失败,从而保证业务正常运行。

Description

一种进程间通信的方法及装置
本申请要求于2022年1月6日提交中国国家知识产权局、申请号为202210013965.9、申请名称为“一种进程间通信的方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及进程间通信领域,特别是涉及一种进程间通信的方法及装置。
背景技术
在一些场景例如免安装场景中,一些业务需要使用进程间通信(inter-process communication,进程间通信)。例如,游戏应用的某一进程需要使用IPC通道将请求发送给游戏应用的主进程,由主进程处理该请求并返回处理结果,游戏应用基于该处理结果进行相关逻辑处理。
目前的IPC通过单一的IPC通道实现,这就使得当该通道出现故障时,则会导致IPC失败,从而导致业务失败。
因此,急需一种方案,能够解决上述问题。
发明内容
本申请所要解决的技术问题是:使用单一的IPC通道实现IPC时,若该通道出现故障,则会导致IPC失败,提供一种进程间通信的方法及装置。
第一方面,本申请实施例提供了一种进程间通信的方法,所述方法包括:
第一进程从多条进程间通信IPC通道中确定出目标IPC通道;
所述第一进程通过所述目标IPC通道将待发送消息发送给第二进程;其中:
所述第一进程为免安装应用的进程,所述第二进程为免安装框架的核心进程;或者,所述第一进程和所述第二进程均为所述免安装应用的进程。
可选的,所述第一进程从多条进程间通信IPC通道中确定出目标IPC通道,包括:
所述第一进程根据配置信息从所述多条IPC通道中确定出目标IPC通道。
可选的,所述多条IPC通道,包括:
内容提供器ContentProvider通道和服务Service通道。
可选的,所述ContentProvider通道和Service通道互为备份,当所述ContentProvider通道和Service通道中当前使用的通道故障时,则切换至另外 一个通道。
可选的,若所述ContentProvider通道未出现故障,则所述目标IPC通道为所述ContentProvider通道,若所述ContentProvider通道故障,则所述目标IPC通道为所述Service通道。6.根据权利要求3或4所述的方法,其特征在于,若所述Service通道未出现故障,则所述目标IPC通道为所述Service通道,若所述Service通道故障,则所述目标IPC通道为所述ContentProvider通道
可选的,所述目标IPC通道为Service通道,在将待发送消息发送给第二进程之前,所述方法还包括:
所述第一进程绑定所述Service通道。
可选的,所述第一进程绑定所述Service通道,包括:
所述第一进程向Service组件发送绑定Service通道的请求,并执行加锁操作;
所述第一进程接收所述Service组件返回的针对所述请求的确认消息。
第二方面,本申请实施例提供了一种进程间通信的装置,应用于第一进程,所述装置包括:
确定单元,用于从多条进程间通信IPC通道中确定出目标IPC通道;
发送单元,用于通过所述目标IPC通道将待发送消息发送给第二进程;
其中:
所述第一进程为免安装应用的进程,所述第二进程为免安装框架的核心进程;或者,所述第一进程和所述第二进程均为所述免安装应用的进程。
可选的,所述确定单元,用于:
根据配置信息从所述多条IPC通道中确定出目标IPC通道。
可选的,所述多条IPC通道,包括:
内容提供器ContentProvider通道和服务Service通道。
可选的,所述ContentProvider通道和Service通道互为备份,当所述ContentProvider通道和Service通道中当前使用的通道故障时,则切换至另外一个通道。
可选的,若所述ContentProvider通道未出现故障,则所述目标IPC通道为所述ContentProvider通道,若所述ContentProvider通道故障,则所述目标 IPC通道为所述Service通道。
可选的,若所述Service通道未出现故障,则所述目标IPC通道为所述Service通道,若所述Service通道故障,则所述目标IPC通道为所述ContentProvider通道
可选的,所述目标IPC通道为Service通道,所述装置还包括:
绑定单元,用于在将待发送消息发送给第二进程之前,绑定所述Service通道。
可选的,所述绑定单元,用于:
在将待发送消息发送给第二进程之前,向Service组件发送绑定Service通道的请求,并执行加锁操作;
接收所述Service组件返回的针对所述请求的确认消息。
第三方面,本申请实施例提供了一种设备,所述设备包括处理器和存储器;
所述处理器用于执行所述存储器中存储的指令,以使得所述设备执行以上第一方面任一项所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,包括指令,所述指令指示设备执行以上第一方面任一项所述的方法。
第五方面,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行以上第一方面任一项所述的方法。
与现有技术相比,本申请实施例具有以下优点:
本申请实施例提供了一种进程间通信的方法,在一个示例中,第一进程若需要向第二进程发送消息,则第一进程可以从多条IPC通道中确定出目标IPC通道,并通过该目标IPC通道将待发送消息发送给第二进程。其中,所述第一进程为免安装应用的进程,所述第二进程为免安装框架的核心进程;或者,所述第一进程和所述第二进程均为所述免安装应用的进程。由于所述多条IPC通道同时出现故障的可能性极小,因此,即使其中一条IPC通道故障,第一进程也可以从多条IPC通道中确定出未故障的目标IPC通道,从而实现IPC,以保证业务正常运行。由此可见,利用本方案,能够避免第二进程和免安装应用中的第一进程之间的IPC失败,从而保证业务正常运行。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种进程间通信的方法的流程示意图;
图2为本申请实施例提供的一个示意图;
图3为本申请实施例提供的一种进程间通信的装置的结构示意图;
图4为本申请实施例提供的一种设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合附图,详细说明本申请的各种非限制性实施方式。
示例性方法
参见图1,该图为本申请实施例提供的一种进程间通信的方法的流程示意图。在一个示例中,该方法可以用于实现免安装框架中的进程间通信。
关于免安装框架,需要说明的是:
免安装技术提供了完整的虚拟运行环境。应用了免安装技术的应用程序,也可以被称为“免安装应用”。免安装应用无需安装到操作系统,也能达到安装该应用程序所能达到的运行效果。操作系统上可以运行平台应用程序,平台应用程序可以运行免安装框架,免安装框架用于实现免安装技术。
图1所示的方法例如可以包括以下步骤S101-S102。
S101:第一进程从多条IPC通道中确定出目标IPC通道。
S102:所述第一进程通过所述目标IPC通道将待发送消息发送给第二进程,其中:所述第一进程为免安装应用的进程,所述第二进程为免安装框架的核心进程;或者,所述第一进程和所述第二进程均为所述免安装应用的进程。
在本申请实施例中,可以提供多条IPC通道用于实现IPC。若第一进程需要向第二进程发送消息,可以首先从该多条IPC通道中确定出目标IPC通道,并通过该目标IPC通道将待发送消息发送给第二进程。
其中,目标IPC通道是所述多条IPC通道中的可用IPC通道,此处提及的可用IPC通道,可以指的是未出现故障的IPC通道。
所述第一进程可以是免安装应用程序的进程,例如免安装游戏的进程。所述第二进程可以是免安装框架的核心进程。在又一个示例中,所述第一进程和所述第二进程均为免安装应用程序的进程,所述第一进程为所述免安装应用程序的其中一个进程,所述第二进程为所述免安装应用程序的主进程。其中,所述主进程指的是所述免安装应用程序启动时运行的第一个进程。
在本申请实施例的一种实现方式中,第一进程可以根据配置信息从所述多条IPC通道中确定出目标IPC通道。
在一个示例中:所述配置信息可以指示所述多条IPC通道中的其中一条IPC通道作为默认通道,并指示将其它IPC通道作为备用通道。在一些实施例中,所述多条IPC通道包括第一IPC通道和第二IPC通道,所述配置信息指示第一IPC通道为默认通道,所述第二IPC通道为备用通道,则所述第一进程可以在第一IPC通道未出现故障的情况下,将所述第一IPC通道确定为目标IPC通道,所述第一进程可以在第一IPC通道出现故障的情况下,将所述第二IPC通道确定为目标IPC通道。其中,第一进程可以在通过默认通道向第二进程发送消息但未收到第二进程返回的应答的情况下,确定默认通道出现故障。
在又一个示例中:所述配置信息中包括所述多条IPC通道对应的优先级,所述第一进程优先将优先级高的IPC通道确定为所述目标IPC通道,当优先级高的IPC出现故障时,按照优先级由高到低的顺序从其它IPC通道中确定出目标IPC通道。例如,所述多条IPC通道包括第一IPC通道、第二IPC通道和第三IPC通道,所述配置信息指示第一IPC通道的优先级高于第二IPC通道的优先级、所述第二IPC通道的优先级高于所述第三IPC通道的优先级。则所述第一进程可以在第一IPC通道未出现故障的情况下,将所述第一IPC通道确定为目标IPC通道;若第一IPC通道出现故障且第二IPC通道未出现故障,所述第一进程将所述第二IPC通道确定为目标IPC通道;若所述第一IPC通道和所述第二IPC通道均出现故障,则所述第一进程将第三IPC通道确定为目标IPC通道。
关于所述多条IPC通道,本申请实施例不做具体限定。在一个示例中,若承载所述免安装框架的操作系统为安卓(Android)系统,则所述多条IPC通 道可以是内容提供器(ContentProvider)通道和服务(Service)通道。可参见图2进行理解,图2为本申请实施例提供的一个示意图。在图2中,第一进程201和第二进程202之间包括ContentProvider通道和Service通道。对于这种情况,所述ContentProvider通道和Service通道互为备份,当所述ContentProvider通道和Service通道中当前使用的通道故障时,则切换至另外一个通道。其中,ContentProvider和Service均为Android系统的组件,此处不做详细说明。
在一个示例中,考虑到Service主要用于处理后台的相关操作,因此,可以将所述ContentProvider通道确定为默认IPC通道,将所述Service通道作为备用通道,或者,设置所述ContentProvider通道的优先级高于所述Service通道的优先级。即:优先采用ContentProvider通道实现IPC,在ContentProvider通道出现故障的情况下,使用Service通道实现IPC。对于这种情况,若当前通道(即所述ContentProvider通道)未出现故障,则所述目标IPC通道为所述ContentProvider通道;若当前通道(即所述ContentProvider通道)故障,则切换至另一个通道(即所述Service通道),对于这种情况,所述目标IPC通道为所述Service通道。
在又一个示例中,由于所述Service通道的耗时小于所述ContentProvider通道,因此,可以将所述Service通道确定为默认IPC通道,将所述ContentProvider通道作为备用通道,或者,设置所述Service通道的优先级高于所述ContentProvider通道的优先级。即:优先采用Service通道实现IPC,在Service通道出现故障的情况下,使用ContentProvider通道实现IPC。对于这种情况,若当前通道(即所述Service通道)未出现故障,则所述目标IPC通道为所述Service通道;若当前通道(即所述Service通道)故障,则切换至另一个通道(即所述ContentProvider通道),对于这种情况,所述目标IPC通道为所述ContentProvider通道。采用这种方案,能够减少进程间通信的耗时,提升通信效率。
在本申请实施例中,若第一进程和第二进程之间采用Service通道进行通信,则二者之间的通信是异步的,对于这种情况,第一进程在使用Service通道向第二进程发送数据之前,可以绑定所述Service通道,从而实现同步通信。其中:第一进程绑定Service通道在具体实现时,例如可以向Service组件发送 绑定Service通道的请求,在发送所述请求之后,所述第一进程执行加锁操作以等待Service组件的确认消息,在第一进程接收到所述Service组件返回的针对所述请求的确认消息之后,则认为第一进程绑定所述Service通道成功,此时,第一进程可以利用所述Service通道与第二进程进行同步通信。需要说明的是,所谓执行加锁操作,指的是所述第一进程不再和其它进程进行数据交互。
通过以上描述可知,由于所述多条IPC通道同时出现故障的可能性极小,因此,即使其中一条IPC通道故障,第一进程也可以从多条IPC通道中确定出未故障的目标IPC通道,从而实现IPC,以保证业务正常运行。由此可见,利用本申请实施例提供的方案,能够避免第二进程和免安装应用中的第一进程之间的IPC失败,从而保证业务正常运行。
示例性设备
基于以上实施例提供的方法,本申请实施例还提供了一种装置,以下结合附图介绍该装置。
参见图3,该图为本申请实施例提供的一种进程间通信的装置的结构示意图。所述装置300例如可以具体包括:确定单元301和发送单元302。
确定单元301,用于从多条进程间通信IPC通道中确定出目标IPC通道;
发送单元302,用于通过所述目标IPC通道将待发送消息发送给第二进程;其中:所述第一进程为免安装应用的进程,所述第二进程为免安装框架的核心进程;或者,所述第一进程和所述第二进程均为所述免安装应用的进程。
可选的,所述确定单元301,用于:
根据配置信息从所述多条IPC通道中确定出目标IPC通道。
可选的,所述多条IPC通道,包括:
内容提供器ContentProvider通道和服务Service通道。
可选的,所述ContentProvider通道和Service通道互为备份,当所述ContentProvider通道和Service通道中当前使用的通道故障时,则切换至另外一个通道。
可选的,若所述ContentProvider通道未出现故障,则所述目标IPC通道为所述ContentProvider通道,若所述ContentProvider通道故障,则所述目标IPC通道为所述Service通道。
可选的,若所述Service通道未出现故障,则所述目标IPC通道为所述 Service通道,若所述Service通道故障,则所述目标IPC通道为所述ContentProvider通道
可选的,所述目标IPC通道为Service通道,所述装置还包括:
绑定单元,用于在将待发送消息发送给第二进程之前,绑定所述Service通道。
可选的,所述绑定单元,用于:
在将待发送消息发送给第二进程之前,向Service组件发送绑定Service通道的请求,并执行加锁操作;
接收所述Service组件返回的针对所述请求的确认消息。
由于所述装置300是与以上方法实施例提供的方法对应的装置,所述装置300的各个单元的具体实现,均与以上方法实施例为同一构思,因此,关于所述装置300的各个单元的具体实现,可以参考以上方法实施例的描述部分,此处不再赘述。
本申请实施例还提供了一种设备,所述设备包括处理器和存储器;
所述处理器用于执行所述存储器中存储的指令,以使得所述设备执行以上方法实施例任一项所述的方法。
下面参考图4,其示出了适于用来实现本申请实施例的电子设备400的结构示意图。本申请实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(Personal Digital Assistant,个人数字助理)、PAD(portable android device,平板电脑)、PMP(Portable Media Player,便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV(television,电视机)、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM402被安装。在该计算机程序被处理装置401执行时,执行本申请实施例的方法中限定的上述功能。
本申请实施例提供的电子设备与上述实施例提供的进程间通信的方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
本申请实施例提供一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如上述任一实施例所述的进程间通信的方法。
需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请 中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText Transfer Protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述的进程间通信的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该 模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元/模块的名称在某种情况下并不构成对该单元本身的限定,例如,语音数据采集模块还可以被描述为“数据采集模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性 的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

  1. 一种进程间通信的方法,其特征在于,所述方法包括:
    第一进程从多条进程间通信IPC通道中确定出目标IPC通道;
    所述第一进程通过所述目标IPC通道将待发送消息发送给第二进程;其中:
    所述第一进程为免安装应用的进程,所述第二进程为免安装框架的核心进程;或者,所述第一进程和所述第二进程均为所述免安装应用的进程。
  2. 根据权利要求1所述的方法,其特征在于,所述第一进程从多条进程间通信IPC通道中确定出目标IPC通道,包括:
    所述第一进程根据配置信息从所述多条IPC通道中确定出目标IPC通道。
  3. 根据权利要求1或2所述的方法,其特征在于,所述多条IPC通道,包括:
    内容提供器ContentProvider通道和服务Service通道。
  4. 根据权利要求3所述的方法,其特征在于,所述ContentProvider通道和Service通道互为备份,当所述ContentProvider通道和Service通道中当前使用的通道故障时,则切换至另外一个通道。
  5. 根据权利要求3或4所述的方法,其特征在于,若所述ContentProvider通道未出现故障,则所述目标IPC通道为所述ContentProvider通道,若所述ContentProvider通道故障,则所述目标IPC通道为所述Service通道。
  6. 根据权利要求3或4所述的方法,其特征在于,若所述Service通道未出现故障,则所述目标IPC通道为所述Service通道,若所述Service通道故障,则所述目标IPC通道为所述ContentProvider通道
  7. 根据权利要求1所述的方法,其特征在于,所述目标IPC通道为Service通道,在将待发送消息发送给第二进程之前,所述方法还包括:
    所述第一进程绑定所述Service通道。
  8. 根据权利要求7所述的方法,其特征在于,所述第一进程绑定所述Service通道,包括:
    所述第一进程向Service组件发送绑定Service通道的请求,并执行加锁操作;
    所述第一进程接收所述Service组件返回的针对所述请求的确认消息。
  9. 一种进程间通信的装置,其特征在于,应用于第一进程,所述装置包括:
    确定单元,用于从多条进程间通信IPC通道中确定出目标IPC通道;
    发送单元,用于通过所述目标IPC通道将待发送消息发送给第二进程。
  10. 一种设备,其特征在于,所述设备包括处理器和存储器;
    所述处理器用于执行所述存储器中存储的指令,以使得所述设备执行如权利要求1至8中任一项所述的方法。
  11. 一种计算机可读存储介质,其特征在于,包括指令,所述指令指示设备执行如权利要求1至8中任一项所述的方法。
  12. 一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得计算机执行如权利要求1至8中任一项所述的方法。
PCT/CN2023/070075 2022-01-06 2023-01-03 一种进程间通信的方法及装置 WO2023131110A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210013965.9A CN116450370A (zh) 2022-01-06 2022-01-06 一种进程间通信的方法及装置
CN202210013965.9 2022-01-06

Publications (1)

Publication Number Publication Date
WO2023131110A1 true WO2023131110A1 (zh) 2023-07-13

Family

ID=87073223

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/070075 WO2023131110A1 (zh) 2022-01-06 2023-01-03 一种进程间通信的方法及装置

Country Status (2)

Country Link
CN (1) CN116450370A (zh)
WO (1) WO2023131110A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090158297A1 (en) * 2007-12-12 2009-06-18 Electronics And Telecommunications Research Institute System and method of dynamically loading and executing module devices using inter-core-communication channel in multicore system environment
CN108363629A (zh) * 2018-02-28 2018-08-03 杭州朗和科技有限公司 用于即时通信的方法、介质、装置和计算设备
CN110532109A (zh) * 2019-08-16 2019-12-03 东南大学 一种共享多通道进程通信内存结构和方法
CN111831432A (zh) * 2020-07-01 2020-10-27 Oppo广东移动通信有限公司 Io请求的调度方法、装置、存储介质及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090158297A1 (en) * 2007-12-12 2009-06-18 Electronics And Telecommunications Research Institute System and method of dynamically loading and executing module devices using inter-core-communication channel in multicore system environment
CN108363629A (zh) * 2018-02-28 2018-08-03 杭州朗和科技有限公司 用于即时通信的方法、介质、装置和计算设备
CN110532109A (zh) * 2019-08-16 2019-12-03 东南大学 一种共享多通道进程通信内存结构和方法
CN111831432A (zh) * 2020-07-01 2020-10-27 Oppo广东移动通信有限公司 Io请求的调度方法、装置、存储介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Master's Thesis", 1 January 2012, HUAZHONG UNIVERSITY OF SCIENCE AND TECHNOLOGY, CN, article WAN, MIANTAO: "Research on The Communication Mechanism of Embedded Multi-processor System Based on PCI Interconnection", pages: 1 - 55, XP009547473 *

Also Published As

Publication number Publication date
CN116450370A (zh) 2023-07-18

Similar Documents

Publication Publication Date Title
CN110708393B (zh) 用于传输数据的方法、装置和系统
WO2021027913A1 (zh) 投屏方法、投屏设备、移动终端、存储介质
WO2021068634A1 (zh) 页面跳转方法、装置、电子设备及计算机可读存储介质
WO2023273725A1 (zh) 文件下载方法、装置、存储介质及电子设备
CN110750393A (zh) 避免网络服务双机热备脑裂的方法、装置、介质和设备
US11758087B2 (en) Multimedia conference data processing method and apparatus, and electronic device
WO2021218612A1 (zh) 一种信息的切换共享方法、装置、电子设备及存储介质
WO2023202276A1 (zh) 域名解析请求的处理方法、装置、设备、介质和程序产品
WO2023173954A1 (zh) 数据获取方法、装置、存储介质以及电子设备
WO2023078072A1 (zh) 基于拜占庭容错的异步共识方法、装置、服务器和介质
WO2022148231A1 (zh) 应用程序启动控制方法、装置、电子设备和存储介质
US20240104671A1 (en) Method and apparatus for group management, electronic device, and storage medium
WO2021147466A1 (zh) 消息处理方法、装置及电子设备
WO2023207788A1 (zh) 信息处理方法、装置、电子设备和存储介质
WO2023131110A1 (zh) 一种进程间通信的方法及装置
WO2020173381A1 (zh) 数据互通方法、装置、终端及存储介质
WO2023083367A1 (zh) 文件后台续传方法、装置、存储介质及电子设备
WO2023061137A1 (zh) 多媒体数据的处理方法、系统及设备
US20240205463A1 (en) Recording and push-based streaming method and apparatus, device, and medium
CN113518183B (zh) 摄像头调用方法、装置和电子设备
CN112817701B (zh) 定时器处理方法、装置、电子设备和计算机可读介质
CN114095907A (zh) 蓝牙连接的控制方法、装置及设备
CN111367590A (zh) 中断事件处理方法及其装置
CN113886105A (zh) 跨进程的调用方法、装置、存储介质及电子设备
WO2023138382A1 (zh) 一种崩溃信息收集方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23736975

Country of ref document: EP

Kind code of ref document: A1