CN116610463A - 进程间通信方法、应用服务端、终端设备及存储介质 - Google Patents

进程间通信方法、应用服务端、终端设备及存储介质 Download PDF

Info

Publication number
CN116610463A
CN116610463A CN202310602642.8A CN202310602642A CN116610463A CN 116610463 A CN116610463 A CN 116610463A CN 202310602642 A CN202310602642 A CN 202310602642A CN 116610463 A CN116610463 A CN 116610463A
Authority
CN
China
Prior art keywords
application
application program
management module
identifier
deployed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310602642.8A
Other languages
English (en)
Inventor
张垒垒
朴云
闵洪波
苏杭
仝小路
张献涛
任晋奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202310602642.8A priority Critical patent/CN116610463A/zh
Publication of CN116610463A publication Critical patent/CN116610463A/zh
Pending legal-status Critical Current

Links

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

Landscapes

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

Abstract

本申请实施例提供一种进程间通信方法、应用服务端、终端设备及存储介质。在本申请实施例中,应用服务端在进程间通信装置的辅助下,使用应用服务端和终端设备中应用客户端之间的流化协议通道作为跨端的进程间通信链路,实现应用服务端中的应用程序可以和终端设备中的应用程序进行通信,为云应用、云桌面等场景提供了跨端的数据交互能力,数据传输的安全性较好、资源消耗较少以及成本较低。进一步可选的,应用服务端在进程间通信装置的辅助下,使用IPC通道作为同端的进程间通信链路,实现应用服务端中应用程序之间的通信,为云应用、云桌面等场景提供了同端的数据交互能力,数据传输的安全性较好、资源消耗较少以及成本较低。

Description

进程间通信方法、应用服务端、终端设备及存储介质
技术领域
本申请涉及通信技术领域,尤其涉及一种进程间通信方法、应用服务端、终端设备及存储介质。
背景技术
对于云应用、云桌面等场景,云服务的功能需要部署在云端的应用服务端和部署在终端设备的应用客户端相互配合完成。例如,针对云桌面场景,云桌面客户端负责接收和转发用户输入的控制指令、画面渲染和画面显示等任务,云桌面服务端负责响应控制指令等等。
实际应用中,部署应用客户端的终端设备还有部署若干个第三方应用。目前,并不支持云服务的应用服务端和终端设备的第三方应用之间的通信,影响云应用、云桌面等场景的跨端的数据交互能力。
发明内容
本申请的多个方面提供一种进程间通信方法、应用服务端、终端设备及存储介质,用以满足云应用、云桌面等场景的跨端的数据交互能力的需求。
本申请实施例提供一种进程间通信方法,应用于部署在应用服务端中的第一进程间通信装置,第一进程间通信装置包括第一服务管理模块和第一通道管理模块,应用服务端和部署在终端设备中的应用客户端之间建立流化协议通道,应用服务端和终端设备还分别部署有多个应用程序;该方法包括:第一服务管理模块将由第一应用程序发送的第一数据传输请求转发给第一通道管理模块,第一数据传输请求包括第一待传输数据和第二应用程序的应用标识,第一应用程序是应用服务端上部署的多个应用程序中的一个;第一通道管理模块根据第二应用程序的应用标识,查询第一服务管理模块中的注册信息,以获取第二应用程序的归属标识,注册信息包括至少一个已注册的应用程序的应用标识和归属标识,归属标识指示对应的已注册的应用程序的部署位置;若第二应用程序的归属标识指示第二应用程序部署在终端设备中,则第一通道管理模块通过流化协议通道将第一待传输数据发送给终端设备中的第二应用程序。
本申请实施例还提供一种进程间通信方法,应用于终端设备中的第二进程间通信装置,第二进程间通信装置包括第二服务管理模块和第二通道管理模块,应用服务端和终端设备中部署的应用客户端之间建立流化协议通道,应用服务端和终端设备还分别部署有多个应用程序;该方法包括:第二服务管理模块将由第四应用程序发送的第二数据传输请求转发给第二通道管理模块,第二数据传输请求包括第二待传输数据和第五应用程序的应用标识,第四应用程序是终端设备上部署的多个应用程序中的一个;第二通道管理模块根据第五应用程序的应用标识,查询第二服务管理模块中的注册信息,以获取第五应用程序的归属标识;若第五应用程序的归属标识指示第五应用程序部署在应用服务端中,则第二通道管理模块通过流化协议通道将第二待传输数据发送给应用服务端中的第五应用程序。
本申请实施例还提供一种应用服务端,包括:存储器和处理器;存储器,用于存储计算机程序;处理器耦合至存储器,用于执行计算机程序以用于执行进程间通信方法中的步骤。
本申请实施例还提供一种终端设备,包括:存储器和处理器;存储器,用于存储计算机程序;处理器耦合至存储器,用于执行计算机程序以用于执行进程间通信方法中的步骤。
本申请实施例还提供一种进程间通信系统,包括:应用服务端和终端设备,应用服务端和部署在终端设备中的应用客户端之间建立流化协议通道,应用服务端和终端设备分别部署有多个应用程序,应用服务端还部署有第一进程间通信装置,终端设备还部署有第二进程间通信装置,第一进程间通信装置用于执行进程间通信方法中的步骤,第二进程间通信装置用于执行进程间通信方法中的步骤。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种应用场景图;
图2为本申请实施例提供的一种进程间通信方法的信令交互图;
图3为本申请实施例提供的另一种进程间通信方法的信令交互图;
图4为本申请实施例提供的一种进程间通信装置的结构示意图;
图5为本申请实施例提供的一种应用服务端的结构示意图;
图6为本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的访问关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”一般表示前后关联对象是一种“或”的关系。此外,在本申请实施例中,“第一”、“第二”、“第三”、等只是为了区分不同对象的内容而已,并无其它特殊含义。
下面对本申请实施例中涉及的一些词语进行介绍:
IPC(Inter ProcessCommunication,进程间通信):是指在不同进程之间传播或交换信息。
云应用:是把传统软件“本地安装、本地运算”的使用方式变为“即取即用”的服务,通过互联网连接并操控远程服务集群,完成技术逻辑或运算任务的一种新型应用。云应用无需用户在本地设备上安装,云应用被安装在云端设备上,极大地释放了本地设备的算力资源和存储压力。云应用例如包括但不限于:云游戏应用、云渲染应用、直播类云应用或者视频播放类云应用等等。
云桌面:也可以叫做云电脑,是一种整体服务方案,包括云端资源、传输协议和云终端。用开放式云终端通过传输协议,把桌面、应用、硬件等资源以按需服务、弹性分配的服务模式提供给用户。
流化协议:为流化服务提供云侧和终端侧数据交互能力的通信协议。流化协议例如包括但不限于:ASP(Adaptive Streaming Protocol)。ASP协议在TCP(TransmissionControl Protocol,传输控制协议)/UDP(User Datagram Protocol,用户数据报协议))网络协议上运行,借助于当前高效的编解码技术,将云上的图形化交互界面进行编码,以串流(Streaming)的方式推送到客户端,客户端执行解码并显示图形化界面。ASP协议通过虚拟传输通道技术,将客户端侧的鼠标、键盘等外设事件重定向到服务端,从而实现端和云的交互事件输入。
流化协议通道:是指基于流化协议建立的传输通道。
流化服务:一种使用串流(Streaming)技术,将云端的计算和交互能力在终端展现的技术能力。用户可以在终端侧使用流化服务,操作和使用云端的桌面和应用,扩展本地的计算能力和软件生态。
应用服务端:是指提供应用服务的服务端。应用服务例如包括但不限于:云游戏服务、云桌面服务、云剪辑服务和云渲染服务等等。
应用客户端:是指应用服务对应的客户端,负责和用户交互以及请求访问应用服务端等等。
第三方应用:是指第三方服务提供商提供的应用程序(Application,App)。在本实施例中,第三方服务提供商是指不同于提供应用服务端的应用服务的服务提供商的其他的服务提供商。
实际应用中,部署应用客户端的终端设备还有安装若干个第三方应用。目前,并不支持云服务的应用服务端和终端设备的第三方应用之间的通信,影响云应用、云桌面等场景的跨端的数据交互能力。
基于此,本申请实施例提供一种进程间的通信方法、应用服务端、终端设备及存储介质。在本申请实施例中,应用服务端在进程间通信装置的辅助下,使用应用服务端和终端设备中应用客户端之间的流化协议通道作为跨端的进程间通信链路,实现应用服务端中的应用程序可以和终端设备中的应用程序进行通信,为云应用、云桌面等场景提供了跨端的数据交互能力,数据传输的安全性较好、资源消耗较少以及成本较低。进一步可选的,应用服务端在进程间通信装置的辅助下,使用IPC通道作为同端的进程间通信链路,实现应用服务端中应用程序之间的通信,为云应用、云桌面等场景提供了同端的数据交互能力,数据传输的安全性较好、资源消耗较少以及成本较低。
图1为本申请实施例提供的一种应用场景图。参见图1,终端设备和应用服务端都部署了进程间通信装置。进程间通信装置是指提供进程间通信能力的装置,该装置可以由软件和/或硬件的形式组成。在本申请实施例中,进程间通信装置包括服务管理模块和通道管理模块,服务管理模块用于进行注册管理、安全保护、权限管理和提供数据的收发接口等;通道管理模块用于进行数据收发和通道管理。
在本申请实施例中,应用程序可以请求其所部署环境(终端设备或应用服务端)中的服务管理模块对其进行注册,已经注册的应用程序具有权限利用进程间通信装置与其他应用程序进行通信。另外,服务管理模块为注册过的应用程序提供数据的收发接口(也可以理解为通信接口),通过收发接口接收和发送与注册过的应用程序相关的数据。服务管理模块还可以为已经注册过的应用程序提供安全保护,例如,对通过收发接口接收到的已经注册过的应用程序的相关数据进行加密处理等等。
在本申请实施例中,通道管理模块有数据收发的能力,并通过通道管理能力确定使用流化协议通道还是IPC通道进行数据传输。
举例来说,终端设备上部署了App1和App2等两个第三方应用,终端设备的服务管理模块对App1和App2进行注册,并在本地保存App1和App2的注册信息,在终端设备注册的应用程序的注册信息包括已注册的应用程序的应用标识和归属标识。若应用程序由终端设备侧的服务管理模块进行注册,则应用程序的归属标识指示应用程序部署在终端设备。例如,App1的归属标识指示App1部署在终端设备;App2的归属标识指示App2部署在终端设备。另外,终端设备还通过应用客户端和应用服务端之间的流化通道,向应用服务端转发App1和App2的注册信息;应用服务端的服务管理模块保存已经在终端设备注册的App1和App2的注册信息。
举例来说,应用服务端上部署了App3和App4等两个第三方应用,应用服务端的服务管理模块对App3和App4进行注册,并在本地保存App3和App4的注册信息,在应用服务端注册的应用程序的注册信息包括已注册的应用程序的应用标识和归属标识。若应用程序由应用服务端的服务管理模块进行注册,则应用程序的归属标识指示应用程序部署在应用服务端。例如,App3的归属标识指示App3部署在终端设备;App4的归属标识指示App4部署在终端设备。另外,应用服务端还通过应用客户端和应用服务端之间的流化通道,向终端设备转发App3和App4的注册信息;终端设备的服务管理模块保存已经在应用服务端注册的App3和App4的注册信息。
具体举例来说,应用服务端为云桌面服务端、应用客户端为云桌面客户端,云桌面客户端和云桌面服务端之间建立流化协议通道,部署云桌面客户端的终端设备还部署由App1和App2等两个第三方应用,应用服务端上部署App3和App4等两个第三方应用。若终端设备的App1要向终端设备的App2传输数据,终端设备的服务管理模块通过收发接口接收App1发送的待传输数据和App2的应用标识,终端设备的服务管理模块将App1发送的待传输数据和App2的应用标识发送给终端设备的通道管理模块。终端设备的通道管理模块根据App2的应用标识查询终端设备的服务管理模块保存的注册信息,确定App2部署在终端设备上,则终端设备的通道管理模块通过与App2之间的IPC通道将App1发送的待传输数据发送给终端设备中的App2。
若终端设备的App1要向应用服务端的App3传输数据,终端设备的服务管理模块通过收发接口接收App1发送的待传输数据和App2的应用标识,终端设备的服务管理模块将App1发送的待传输数据和App3的应用标识发送给终端设备的通道管理模块。终端设备的通道管理模块根据App3的应用标识查询终端设备的服务管理模块保存的注册信息,确定App3部署在应用服务端上,则终端设备的通道管理模块通过流化通道将App1发送的待传输数据应用服务端,以由应用服务端将App1发送的待传输数据发送给应用服务端中的App3。
依次类推,终端设备的进程间通信装置利用IPC通道可以实现终端设备中的应用程序之间的通信;应用服务端的进程间通信装置利用IPC通道可以实现应用服务端中的应用程序之间的通信;终端设备的进程间通信装置利用流化协议通道可以实现终端设备的应用程序和应用服务端中的应用程序进行通信;应用服务端的进程间通信装置利用流化协议通道可以实现应用服务端中的应用程序和终端设备的应用程序进行通信。
在本实施例中,进程间通信装置提供跨端的进程间通信能力和同端的进程间通信能力。在跨端的进程间通信能力的支持下,使用应用服务端和终端设备中应用客户端之间的流化协议通道作为跨端的进程间通信链路,实现应用服务端中的应用程序和终端设备中的应用程序进行通信。在同端的进程间通信能力的支持下,使用IPC通道作为同端的进程间通信链路,实现应用服务端中应用程序之间的通信,以及实现终端设备中的应用程序之间的通信。进程间通信装置整合了流化协议和传统IPC技术,既可以兼顾应用程序在部署环境中的传统IPC通信,又可以提供跨端的进程间通信能力,为云桌面、云应用及云原生应用提供一套统一的进程间通信方案。
需要说明的是,图1所示的应用场景仅仅为一种示例性的应用场景,本申请实施例并不限制应用场景。本申请实施例不对图1中包括的设备进行限定,也不对图1中设备之间的位置关系进行限定。
在本申请实施例中,终端设备可以通过有线网络或者无线网络与应用服务端进行交互。例如,有线网络可以包括同轴电缆、双绞线和光纤等,无线网络可以是2G(2Generation,2代)网络、3G(3Generation,3代)网络、4G(4Generation,4代)网络或者5G(5Generation,5代)网络、无线保真(Wireless Fidelity,简称WIFI)网络等。本申请对交互的具体类型或者具体形式并不做限定,只要其能够实现终端设备与应用服务端的功能即可。
其中,终端设备例如为手机、平板电脑、台式计算机、可穿戴式智能设备、智能家居设备等。应用服务端可以是硬件也可以是软件。当应用服务端为硬件时,该应用服务端可为单个服务器、多个服务器组成的分布式服务器集群或云服务器。当应用服务端为软件时,可以为多个软件模块或单个软件模块等,本申请实施例并不限制。
以下结合附图,详细说明本申请各实施例提供的技术方案。
在本申请实施例中,可以在应用服务端中部署进程间通信装置,进程间通信装置可以提供跨端的进程间通信能力,使得在跨端的进程间通信能力的支持下,使用应用服务端和终端设备中应用客户端之间的流化协议通道作为跨端的进程间通信链路,实现应用服务端中的应用程序和终端设备中的应用程序进行通信。例如,部署在云桌面服务端中的诸如云游戏应用等第三方应用可以向部署在终端设备中的社交类应用程序传输数据。
基于此,本申请实施例提供一种进程间通信方法,该方法可以由部署在应用服务端中的进程间通信装置执行,为了便于理解和区分,将部署在应用服务端中的进程间通信装置称作为第一进程间通信装置,将第一进程间通信装置包括的服务管理模块称作为第一服务管理模块,以及将第一进程间通信装置包括的通道管理模块称作为第一通道管理模块。应用服务端和部署在终端设备中的应用客户端之间建立流化协议通道,应用服务端和终端设备还分别部署有多个应用程序。应用程序的服务提供商可以是提供应用服务端的应用服务的服务提供商,也可以是其他的服务提供商(也即第三方服务提供商),对此不作限制。
在本实施例中,应用服务端上部署的多个应用程序中任意应用程序需要先由向应用服务端上的进程间通信装置注册才能有权限利用进程间通信装置与其他应用程序进行通信。为了便于理解和区分,在此将应用服务端上部署的多个应用程序中任意应用程序称作为第一应用程序。作为一种示例,第一应用程序向应用服务端的第一进程间通信装置发送注册请求,第一进程间通信装置中的第一服务管理模块接收第一应用程序的注册请求,对第一应用程序进行注册,并保存第一应用程序的注册信息,第一应用程序的注册信息包括第一应用程序的应用标识和指示第一应用程序部署在应用服务端中的归属标识。
实际应用中,已经在第一进程间通信装置注册的应用程序可以认为是应用服务端所部署的应用程序。而未在第一进程间通信装置注册的应用程序可以认为是应用服务端所部署的尚未注册的应用程序,或者认为是终端设备中部署的应用程序,对此不做限制。
进一步可选的,为了准确地区分应用程序所归属的部署环境,提高进程间通信的可靠性,第一进程间通信装置中的第一服务管理模块通过应用服务端与终端设备中的应用客户端之间的流化协议通道,接收终端设备发送的已注册的第三应用程序的应用标识,并保存第三应用程序的注册信息,第三应用程序的注册信息包括第三应用程序的应用标识和指示第三应用程序部署在终端设备中的归属标识。其中,第三应用程序是指部署在终端设备中的任意应用程序且已经在终端设备上的进程间通信装置注册过的应用程序。
实际应用中,终端设备可以向应用服务端发送注册通知信息,注册通知信息包括已经在终端设备上的进程间通信装置注册过的应用程序的应用标识,应用服务端中的第一服务管理模块根据注册通知信息本地保存已经在终端设备上的进程间通信装置注册过的应用程序的应用标识及指示应用程序部署在终端设备中的归属标识。
实际应用中,终端设备还可以直接向应用服务端发送已经在终端设备上的进程间通信装置注册过的应用程序的注册信息,应用服务端中的第一服务管理模块在本地保存已经在终端设备上的进程间通信装置注册过的应用程序的注册信息,对此不做限制。
在本实施例中,在应用服务端上部署的应用程序向应用服务端上的进程间通信装置注册过后,应用服务端上部署的应用程序有权限利用进程间通信装置与其他应用程序进行通信。下面结合图2所示的信令交互图介绍应用服务端上部署的应用程序与其他应用程序进行通信的过程。
图2为本申请实施例提供的一种进程间通信方法的信令交互图。参见图2,该方法可以包括以下步骤:
201、第一应用程序向第一服务管理模块发送第一数据传输请求,第一数据传输请求包括第一待传输数据和第二应用程序的应用标识。
具体而言,针对应用服务端上部署的多个应用程序中的任一个第一应用程序,第一应用程序向应用服务端的第一进程间通信装置中的第一服务管理模块发送数据传输请求,数据传输请求指示第一用程序所要传输的待传输数据和接收待传输数据的应用程序的应用标识。在此,将第一应用程序所发送的数据传输请求称作为第一数据传输请求,第一应用程序所要传输的待传输数据称作为第一待传输数据,接收第一用程序所要传输的待传输数据的应用程序称作为第二应用程序。
202、第一服务管理模块向第一通道管理模块发送第一数据传输请求。
203、第一通道管理模块根据第二应用程序的应用标识,查询第一服务管理模块中的注册信息,以获取第二应用程序的归属标识。
在本实施例中,第一服务管理模块接收到第一应用程序发送的第一数据传输请求后,向第一通道管理模块转发第一数据传输请求。第一通道管理模块根据第二应用程序的应用标识,查询第一服务管理模块中的注册信息,以获取第二应用程序的归属标识。
在本实施例中,第一服务管理模块保存的注册信息包括至少一个已注册的应用程序的应用标识和归属标识,归属标识指示对应的已注册的应用程序的部署位置,也即指示对应的已注册的应用程序部署在应用服务端还是终端设备中。
204、若第二应用程序的归属标识指示第二应用程序部署在终端设备中,则第一通道管理模块通过流化协议通道将第一待传输数据发送给终端设备中的第二应用程序。
进一步可选的,进程间通信装置还可以提供同端的进程间通信能力,在同端的进程间通信能力的支持下,使用IPC通道作为同端的进程间通信链路,实现应用服务端中应用程序之间的通信。基于此,参见图2,上述方法还可以包括:
步骤205、若第二应用程序的归属标识指示第二应用程序部署在应用服务端中,则第一通道管理模块通过与第二应用程序之间的IPC通道将第一待传输数据发送给应用服务端中的第二应用程序。
本申请实施例提供的进程间通信方法,应用服务端在进程间通信装置的辅助下,使用应用服务端和终端设备中应用客户端之间的流化协议通道作为跨端的进程间通信链路,实现应用服务端中的应用程序可以和终端设备中的应用程序进行通信,为云应用、云桌面等场景提供了跨端的数据交互能力,数据传输的安全性较好、资源消耗较少以及成本较低。进一步可选的,应用服务端在进程间通信装置的辅助下,使用IPC通道作为同端的进程间通信链路,实现应用服务端中应用程序之间的通信,为云应用、云桌面等场景提供了同端的数据交互能力,数据传输的安全性较好、资源消耗较少以及成本较低。
实际应用,同一种应用程序可能仅仅部署在终端设备,或仅仅部署在应用服务端,或者,在终端设备和应用服务端都进行了部署,例如,云桌面服务端和终端设备中都部署了同一种社交类应用程序。这样,第一通道管理模块查询到的第二应用程序的归属标识可能有一个或两个。在此,将指示第二应用程序部署在终端设备中的归属标识称作为第一归属标识,将指示第二应用程序部署在应用服务端中的归属标识称作为第二归属标识。
进一步可选的,为了提高进程间通信的可靠性和减少跨端通信带来的资源消耗,第一通道管理模块查询到的第二应用程序的归属标识后,判断第二应用程序的归属标识的数量是1个还是2个;若第二应用程序的归属标识为1个,且第二应用程序的归属标识为第一归属标识,第一归属标识指示第二应用程序部署在终端设备中,则第一待传输数据发送给终端设备中的第二应用程序的步骤。若第二应用程序的归属标识为1个,且第二应用程序的归属标识为第二归属标识,第二归属标识指示第二应用程序部署在应用服务端中,则执行第一通道管理模块通过与第二应用程序之间的进程间通信IPC通道将第一待传输数据发送给应用服务端中的第二应用程序。若第二应用程序的归属标识为2个,第二应用程序的归属标识包括第一归属标识和第二归属标识,则第一通道管理模块从第一归属标识和第二归属标识中选择第二归属标识;第一通道管理模块根据第二归属标识通过与第二应用程序之间的IPC通道将第一待传输数据发送给应用服务端中的第二应用程序。
可以理解的是,在应用服务端和终端设备都部署第二应用程序的情况下,第一应用程序优先和同端的第二应用程序进行通信,以减少跨端通信带来的资源消耗。当然,第一应用程序也可以优先和跨端的第二应用程序进行通信,对此不做限制。进一步可选的,还可以支持第一应用程序优先和同端的第二应用程序进行通信,并在确认向同端的第二应用程序传输第一待传输数据失败的情况下,还可以向跨端的第二应用程序传输第一待传输数据,以保证第一应用程序的应用性能的可靠性。基于此,若第一通道管理模块确认第一待传输数据传输失败,则第一通道管理模块根据第一归属标识通过流化协议通道将第一待传输数据发送给终端设备中的第二应用程序。
实际应用中,第一通道管理模块根据第二归属标识通过与第二应用程序之间的IPC通道将第一待传输数据发送给应用服务端中的第二应用程序之后,若第一通道管理模块在指定时间内接收到应用服务端中的第二应用程序返回的应答消息,则第一通道管理模块确认第一待传输数据传输成功。若第一通道管理模块在指定时间内未接收到应用服务端中的第二应用程序返回的应答消息,则第一通道管理模块确认第一待传输数据传输失败。
在一些可选的实施例中,还可以在终端设备中部署进程间通信装置,进程间通信装置可以提供跨端的进程间通信能力,使得在跨端的进程间通信能力的支持下,使用应用服务端和终端设备中应用客户端之间的流化协议通道作为跨端的进程间通信链路,实现终端设备中的应用程序和应用服务端中的应用程序进行通信。例如,部署在终端设备中的社交类应用程序向部署在云桌面服务端中的诸如云游戏应用等第三方应用传输数据。
基于此,本申请实施例提供一种进程间通信方法,该方法可以由部署在终端设备中的进程间通信装置执行,为了便于理解和区分,将部署在终端设备中的进程间通信装置称作为第二进程间通信装置,将第二进程间通信装置包括的服务管理模块称作为第二服务管理模块,以及将第二进程间通信装置包括的通道管理模块称作为第二通道管理模块。应用服务端和部署在终端设备中的应用客户端之间建立流化协议通道,应用服务端和终端设备还分别部署有多个应用程序。
在本实施例中,终端设备上部署的多个应用程序中任意应用程序需要先由向终端设备上的进程间通信装置注册才能有权限利用进程间通信装置与其他应用程序进行通信。为了便于理解和区分,在此将终端设备上部署的多个应用程序中任意应用程序称作为第四应用程序。作为一种示例,第四应用程序向终端设备的第二进程间通信装置发送注册请求,第二进程间通信装置中的第二服务管理模块接收第四应用程序的注册请求,对第四应用程序进行注册,并保存第四应用程序的注册信息,第四应用程序的注册信息包括第四应用程序的应用标识和指示第四应用程序部署在终端设备中的归属标识。
实际应用中,已经在第二进程间通信装置注册的应用程序可以认为是终端设备所部署的应用程序。而未在第二进程间通信装置注册的应用程序可以认为是终端设备所部署的尚未注册的应用程序,或者认为是应用服务端中部署的应用程序,对此不做限制。
进一步可选的,为了准确地区分应用程序所归属的部署环境,提高进程间通信的可靠性,第二进程间通信装置中的第二服务管理模块通过应用服务端与终端设备中的应用客户端之间的流化协议通道,接收应用服务端发送的已注册的第六应用程序的应用标识,并保存第六应用程序的注册信息,第六应用程序的注册信息包括第六应用程序的应用标识和指示第六应用程序部署在应用服务端中的归属标识。其中,第六应用程序是指部署在应用服务端中的任意应用程序且已经在应用服务端上的进程间通信装置注册过的应用程序。
实际应用中,应用服务端可以向终端设备发送注册通知信息,注册通知信息包括已经在应用服务端上的进程间通信装置注册过的应用程序的应用标识,终端设备中的第二服务管理模块根据注册通知信息本地保存已经在应用服务端上的进程间通信装置注册过的应用程序的应用标识及指示应用程序部署在应用服务端中的归属标识。
实际应用中,应用服务端还可以直接向终端设备发送已经在应用服务端上的进程间通信装置注册过的应用程序的注册信息,终端设备中的第二服务管理模块在本地保存已经在应用服务端上的进程间通信装置注册过的应用程序的注册信息,对此不做限制。
在本实施例中,在终端设备上部署的应用程序向终端设备上的进程间通信装置注册过后,终端设备上部署的应用程序有权限利用进程间通信装置与其他应用程序进行通信。下面结合图3所示的信令交互图介绍终端设备上部署的应用程序与其他应用程序进行通信的过程。
图3为本申请实施例提供的另一种进程间通信方法的信令交互图。参见图3,该方法可以包括以下步骤:
301、第四应用程序向第二服务管理模块发送第二数据传输请求,第二数据传输请求包括第二待传输数据和第五应用程序的应用标识。
具体而言,针对终端设备上部署的多个应用程序中的任一个第四应用程序,第四应用程序向终端设备的第二进程间通信装置中的第二服务管理模块发送数据传输请求,数据传输请求指示第四用程序所要传输的待传输数据和接收待传输数据的应用程序的应用标识。在此,将第四应用程序所发送的数据传输请求称作为第二数据传输请求,第四应用程序所要传输的待传输数据称作为第二待传输数据,接收第二用程序所要传输的待传输数据的应用程序称作为第五应用程序。
302、第二服务管理模块向第二通道管理模块发送第二数据传输请求。
303、第二通道管理模块根据第五应用程序的应用标识,查询第二服务管理模块中的注册信息,以获取第五应用程序的归属标识。
在本实施例中,第二服务管理模块接收到第四应用程序发送的第二数据传输请求后,向第二通道管理模块转发第二数据传输请求。第二通道管理模块根据第五应用程序的应用标识,查询第二服务管理模块中的注册信息,以获取第五应用程序的归属标识。
在本实施例中,第二服务管理模块保存的注册信息包括至少一个已注册的应用程序的应用标识和归属标识,归属标识指示对应的已注册的应用程序部署在应用服务端还是终端设备中。
304、若第五应用程序的归属标识指示第五应用程序部署在应用服务端中,则第二通道管理模块通过流化协议通道将第二待传输数据发送给应用服务端中的第五应用程序。
进一步可选的,进程间通信装置还可以提供同端的进程间通信能力,在同端的进程间通信能力的支持下,使用IPC通道作为同端的进程间通信链路,实现终端设备中应用程序之间的通信。基于此,参见图3,上述方法还可以包括:
305、若第五应用程序的归属标识指示第五应用程序部署在终端设备中,则第二通道管理模块通过与第五应用程序之间的IPC通道将第二待传输数据发送给终端设备中的第五应用程序。
本申请实施例提供的进程间通信方法,终端设备在进程间通信装置的辅助下,使用应用服务端和终端设备中应用客户端之间的流化协议通道作为跨端的进程间通信链路,实现终端设备中的应用程序可以和应用服务端中的应用程序进行通信,为云应用、云桌面等场景提供了跨端的数据交互能力,数据传输的安全性较好、资源消耗较少以及成本较低。进一步可选的,终端设备在进程间通信装置的辅助下,使用IPC通道作为同端的进程间通信链路,实现终端设备中应用程序之间的通信,为云应用、云桌面等场景提供了同端的数据交互能力,数据传输的安全性较好、资源消耗较少以及成本较低。
实际应用,同一种应用程序可能仅仅部署在终端设备,或仅仅部署在应用服务端,或者,在终端设备和应用服务端都进行了部署,例如,云桌面服务端和终端设备中都部署了同一种社交类应用程序。这样,第二通道管理模块查询到的第五应用程序的归属标识可能有一个或两个。在此,将指示第二应用程序部署在应用服务端中的归属标识称作为第三归属标识,将指示第五应用程序部署在终端设备中的归属标识称作为第四归属标识。
进一步可选的,为了提高进程间通信的可靠性和减少跨端通信带来的资源消耗,第二通道管理模块查询到的第五应用程序的归属标识后,判断第五应用程序的归属标识的数量是1个还是2个;若第五应用程序的归属标识的数量为1个,且第五应用程序的归属标识为第三归属标识,第三归属标识指示第五应用程序部署在应用服务端中,则执行第二通道管理模块通过流化协议通道将第二待传输数据发送给应用服务端中的第五应用程序的步骤。若第五应用程序的归属标识的数量为1个,且第五应用程序的归属标识为第四归属标识,执行第二通道管理模块通过与第五应用程序之间的IPC通道将第二待传输数据发送给终端设备中的第五应用程序的步骤。若第五应用程序的归属标识的数量为2个,且第五应用程序的归属标识包括第三归属标识和第四归属标识,则第二通道管理模块从第三归属标识和第四归属标识中选择第四归属标识,第四归属标识指示第五应用程序部署在终端设备中;第二通道管理模块根据第四归属标识通过与第五应用程序之间的IPC通道将第二待传输数据发送给终端设备中的第五应用程序。
可以理解的是,在应用服务端和终端设备都部署第五应用程序的情况下,第四应用程序优先和同端的第五应用程序进行通信,以减少跨端通信带来的资源消耗。当然,第四应用程序也可以优先和跨端的第五应用程序进行通信,对此不做限制。进一步可选的,还可以支持第四应用程序优先和同端的第五应用程序进行通信,并在确认向同端的第五应用程序传输第一待传输数据失败的情况下,还可以向跨端的第五应用程序传输第二待传输数据,以保证第四应用程序的应用性能的可靠性。基于此,若第二通道管理模块确认第二待传输数据传输失败,则第二通道管理模块根据第三归属标识通过流化协议通道将第二待传输数据发送给应用服务端中的第五应用程序。
实际应用中,第二通道管理模块根据第四归属标识通过与第五应用程序之间的IPC通道将第二待传输数据发送给应用服务端中的第五应用程序之后,若第二通道管理模块在指定时间内接收到应用服务端中的第五应用程序返回的应答消息,则第二通道管理模块确认第二待传输数据传输成功。若第二通道管理模块在指定时间内未接收到应用服务端中的第五应用程序返回的应答消息,则第二通道管理模块确认第二待传输数据传输失败。
实际应用中,终端设备的中央处理器(central processing unit,简称CPU)的使用率可能较高、图形处理器(graphics processing unit,简称GPU)的使用率可能较高,或者,内存可用容量可能较少,造成终端设备的当前剩余资源量较少,也即中央处理器的当前剩余资源量、图形处理器的当前剩余资源量或内存的当前剩余资源量较少。当终端设备的当前剩余资源量较少时,终端设备上的第五应用程序可能无法及时处理终端设备上的第四应用程序的待传输数据,可能会影响第四应用程序的应用性能。考虑到应用服务端的硬件配置通常较高,此时,利用应用服务端上的第五应用程序可以及时处理终端设备上的第四应用程序的待传输数据,保证第四应用程序的应用性能的可靠性。
于是,进一步可选的,第二通道管理模块从第三归属标识和第四归属标识中选择第四归属标识时,第二通道管理模块判断终端设备的当前剩余资源量是否满足预设条件;若终端设备的当前剩余资源量满足预设条件,则第二通道管理模块从第三归属标识和第四归属标识中选择第四归属标识。若终端设备的当前剩余资源量不满足预设条件,则第二通道管理模块从第三归属标识和第四归属标识中选择第三归属标识;第二通道管理模块根据第三归属标识通过流化协议通道将第二待传输数据发送给应用服务端中的第五应用程序。
在本实施例中,可以按需设置灵活预设条件,若终端设备的当前剩余资源量满足预设条件,说明终端设备的当前剩余资源量较为充足。若终端设备的当前剩余资源量不满足预设条件,说明终端设备的当前剩余资源量较为紧张。
值得注意的是,可以在应用服务端中部署进程间通信装置,也可以在终端设备中部署进程间通信装置,或者,在应用服务端和终端设备中部署进程间通信装置均部署进程间通信装置。进程间通信装置可以部署在应用程序中,或者作为一个应用程序部署在应用服务端或终端设备的操作系统中,或者,作为操作系统的一个软件模块,对此不做限制。
本申请实施例还提供一种进程间通信系统,包括:应用服务端和终端设备,应用服务端和部署在终端设备中的应用客户端之间建立流化协议通道,应用服务端和终端设备分别部署有多个应用程序,应用服务端还部署有第一进程间通信装置,终端设备还部署有第二进程间通信装置,第一进程间通信装置用于执行进程间通信方法中的步骤,第二进程间通信装置用于执行进程间通信方法中的步骤。关于应用服务端中的第一进程间通信装置执行进程间通信方法中的步骤的详细介绍参见前述内容,关于终端设备中的第二进程间通信装置执行进程间通信方法中的步骤的详细介绍参见前述内容。
图4为本申请实施例提供的一种进程间通信装置的结构示意图。该进程间通信装置可以包括服务管理模块41和通道管理模块42。当该进程间通信装置部署在应用服务端中,该装置可以称作为第一进程间通信装置。第一进程间通信装置中的服务管理模块41称作为第一服务管理模块,第一进程间通信装置中的通道管理模块42称作为第一通道管理模块。
具体而言,应用服务端和部署在终端设备中的应用客户端之间建立流化协议通道,应用服务端和终端设备还分别部署有多个应用程序;
第一服务管理模块,用于将由第一应用程序发送的第一数据传输请求转发给第一通道管理模块,第一数据传输请求包括第一待传输数据和第二应用程序的应用标识,第一应用程序是应用服务端上部署的多个应用程序中的一个;
第一通道管理模块,用于根据第二应用程序的应用标识,查询第一服务管理模块中的注册信息,以获取第二应用程序的归属标识,注册信息包括至少一个已注册的应用程序的应用标识和归属标识,归属标识指示对应的已注册的应用程序的部署位置;
若第二应用程序的归属标识指示第二应用程序部署在终端设备中,则第一通道管理模块,用于通过流化协议通道将第一待传输数据发送给终端设备中的第二应用程序。
进一步可选的,若第二应用程序的归属标识指示第二应用程序部署在应用服务端中,则第一通道管理模块用于通过与第二应用程序之间的进程间通信IPC通道将第一待传输数据发送给应用服务端中的第二应用程序。
进一步可选的,若第二应用程序的归属标识指示第二应用程序部署在终端设备中,则第一通道管理模块通过流化协议通道将第一待传输数据发送给终端设备中的第二应用程序之前,还用于:判断第二应用程序的归属标识的数量是1个还是2个;若第二应用程序的归属标识为1个,且第二应用程序的归属标识为第一归属标识,第一归属标识指示第二应用程序部署在终端设备中,则执行第一通道管理模块通过流化协议通道将第一待传输数据发送给终端设备中的第二应用程序的步骤。
进一步可选的,若第二应用程序的归属标识为2个,第二应用程序的归属标识包括第一归属标识和第二归属标识,则第一通道管理模块还用于:从第一归属标识和第二归属标识中选择第二归属标识,第二归属标识指示第二应用程序部署在应用服务端中;根据第二归属标识通过与第二应用程序之间的IPC通道将第一待传输数据发送给应用服务端中的第二应用程序。
进一步可选的,第一通道管理模块根据第二归属标识通过与第二应用程序之间的IPC通道将第一待传输数据发送给应用服务端中的第二应用程序之后,还用于:若第一通道管理模块确认第一待传输数据传输失败,则第一通道管理模块根据第一归属标识通过流化协议通道将第一待传输数据发送给终端设备中的第二应用程序。
进一步可选的,第一服务管理模块接收第一应用程序发送的第一数据传输请求之前,第一服务管理模块还用于:根据第一应用程序的注册请求,对第一应用程序进行注册,并保存第一应用程序的注册信息,第一应用程序的注册信息包括第一应用程序的应用标识和指示第一应用程序安装在应用服务端中的归属标识;还接收终端设备发送的已注册的第三应用程序的应用标识,并保存第三应用程序的注册信息,第三应用程序的注册信息包括第三应用程序的应用标识和指示第三应用程序部署在终端设备中的归属标识。
在一些可选的实施例中,图4所示的进程间通信装置部署在终端设备中,该装置可以称作为第二进程间通信装置。第二进程间通信装置中的服务管理模块41称作为第二服务管理模块,第二进程间通信装置中的通道管理模块42称作为第二通道管理模块。
具体而言,应用服务端和终端设备中部署的应用客户端之间建立流化协议通道,应用服务端和终端设备还分别部署有多个应用程序。
第二服务管理模块,用于将由第四应用程序发送的第二数据传输请求转发给第二通道管理模块,第二数据传输请求包括第二待传输数据和第五应用程序的应用标识,第四应用程序是终端设备上部署的多个应用程序中的一个;
第二通道管理模块,用于根据第五应用程序的应用标识,查询第二服务管理模块中的注册信息,以获取第五应用程序的归属标识;
若第五应用程序的归属标识指示第五应用程序部署在应用服务端中,则第二通道管理模块用于:通过流化协议通道将第二待传输数据发送给应用服务端中的第五应用程序。
进一步可选的,若第五应用程序的归属标识指示第五应用程序部署在终端设备中,则第二通道管理模块用于:通过与第五应用程序之间的IPC通道将第二待传输数据发送给终端设备中的第五应用程序。
进一步可选的,若第五应用程序的归属标识指示第五应用程序部署在应用服务端中,则第二通道管理模块通过流化协议通道将第二待传输数据发送给应用服务端中的第五应用程序之前,还用于:判断第五应用程序的归属标识的数量是1个还是2个;若第五应用程序的归属标识的数量为1个,且第五应用程序的归属标识为第三归属标识,第三归属标识指示第五应用程序部署在应用服务端中,则执行第二通道管理模块通过流化协议通道将第二待传输数据发送给应用服务端中的第五应用程序的步骤。
进一步可选的,若第五应用程序的归属标识的数量为2个,且第五应用程序的归属标识包括第三归属标识和第四归属标识,则第二通道管理模块从第三归属标识和第四归属标识中选择第四归属标识,第四归属标识指示第五应用程序部署在终端设备中;第二通道管理模块根据第四归属标识通过与第五应用程序之间的IPC通道将第二待传输数据发送给终端设备中的第五应用程序。
进一步可选的,第二通道管理模块从第三归属标识和第四归属标识中选择第四归属标识时,具体用于:第二通道管理模块判断终端设备的当前剩余资源量是否满足预设条件;若终端设备的当前剩余资源量满足预设条件,则第二通道管理模块从第三归属标识和第四归属标识中选择第四归属标识。
进一步可选的,第二通道管理模块还用于:若终端设备的当前剩余资源量不满足预设条件,则第二通道管理模块从第三归属标识和第四归属标识中选择第三归属标识;第二通道管理模块根据第三归属标识通过流化协议通道将第二待传输数据发送给应用服务端中的第五应用程序。
对于上述实施例中的图4装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
图5为本申请实施例提供的一种应用服务端的结构示意图。如图5所示,该应用服务端包括:存储器51和处理器52;
存储器51,用于存储计算机程序,并可被配置为存储其它各种数据以支持在计算平台上的操作。这些数据的示例包括用于在计算平台上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器51可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-AccessMemory,SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable read only memory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM),可编程只读存储器(Programmable read-only memory,PROM),只读存储器(Read-Only Memory,ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器52,与存储器51耦合,用于执行存储器51中的计算机程序,以用于:进程间通信方法中的步骤。
进一步可选的,如图5所示,该应用服务端还包括:通信组件53、显示器54、电源组件55、音频组件56等其它组件。图5中仅示意性给出部分组件,并不意味着应用服务端只包括图5所示组件。另外,图5中虚线框内的组件为可选组件,而非必选组件,具体可视应用服务端的产品形态而定。
图6为本申请实施例提供的一种终端设备的结构示意图。如图6所示,该应用服务端包括:存储器61和处理器62;
存储器61,用于存储计算机程序,并可被配置为存储其它各种数据以支持在计算平台上的操作。这些数据的示例包括用于在计算平台上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器61可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-AccessMemory,SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable read only memory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM),可编程只读存储器(Programmable read-only memory,PROM),只读存储器(Read-Only Memory,ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器62,与存储器61耦合,用于执行存储器61中的计算机程序,以用于:进程间通信方法中的步骤。
进一步可选的,如图6所示,该终端设备还包括:通信组件63、显示器64、电源组件65、音频组件66等其它组件。图6中仅示意性给出部分组件,并不意味着终端设只包括图6所示组件。另外,图6中虚线框内的组件为可选组件,而非必选组件,具体可视终端设备的产品形态而定。
关于处理器执行各动作的详细实施过程可参见前述方法实施例或设备实施例中的相关描述,在此不再赘述。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由应用服务端或终端设备执行的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,当计算机程序/指令被处理器执行时,致使处理器能够实现上述方法实施例中可由应用服务端或终端设备执行的各步骤。
上述通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi(WirelessFidelity,无线保真)、2G(2Generation,2代)、3G(3Generation,3代)、4G(4Generation,4代)/LTE(long Term Evolution,长期演进)、5G(5Generation,5代)等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(Near FieldCommunication,NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RadioFrequency Identification,RFID)技术,红外数据协会(The Infrared DataAssociation,IrDA)技术,超宽带(Ultra Wide Band,UWB)技术,蓝牙(Bluetooth,BT)技术和其他技术来实现。
上述显示器包括屏幕,其屏幕可以包括液晶显示器(Liquid Crystal Display,LCD)和触摸面板(Touch Panel,TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
上述电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(microphone,MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(Central ProcessingUnit,CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变化内存(Phase Change RAM,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(DynamicRandom Access Memory,DRAM)、其他类型的随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(Digital versatile disc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (14)

1.一种进程间通信方法,其特征在于,应用于部署在应用服务端中的第一进程间通信装置,所述第一进程间通信装置包括第一服务管理模块和第一通道管理模块,所述应用服务端和部署在终端设备中的应用客户端之间建立流化协议通道,所述应用服务端和所述终端设备还分别部署有多个应用程序;所述方法包括:
所述第一服务管理模块将由第一应用程序发送的第一数据传输请求转发给所述第一通道管理模块,所述第一数据传输请求包括第一待传输数据和第二应用程序的应用标识,所述第一应用程序是所述应用服务端上部署的多个应用程序中的一个;
所述第一通道管理模块根据所述第二应用程序的应用标识,查询所述第一服务管理模块中的注册信息,以获取所述第二应用程序的归属标识,所述注册信息包括至少一个已注册的应用程序的应用标识和归属标识,所述归属标识指示对应的已注册的应用程序的部署位置;
若所述第二应用程序的归属标识指示所述第二应用程序部署在所述终端设备中,则所述第一通道管理模块通过所述流化协议通道将所述第一待传输数据发送给所述终端设备中的第二应用程序。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述第二应用程序的归属标识指示所述第二应用程序部署在所述应用服务端中,则第一通道管理模块通过与所述第二应用程序之间的进程间通信IPC通道将所述第一待传输数据发送给所述应用服务端中的第二应用程序。
3.根据权利要求1所述的方法,其特征在于,若所述第二应用程序的归属标识指示所述第二应用程序部署在所述终端设备中,则所述第一通道管理模块通过所述流化协议通道将所述第一待传输数据发送给所述终端设备中的第二应用程序之前,包括:
判断所述第二应用程序的归属标识的数量是1个还是2个;
若所述第二应用程序的归属标识为1个,且所述第二应用程序的归属标识为第一归属标识,所述第一归属标识指示所述第二应用程序部署在所述终端设备中,则执行所述第一通道管理模块通过所述流化协议通道将所述第一待传输数据发送给所述终端设备中的第二应用程序的步骤。
4.根据权利要求3所述的方法,其特征在于,还包括:
若所述第二应用程序的归属标识为2个,所述第二应用程序的归属标识包括所述第一归属标识和第二归属标识,则所述第一通道管理模块从所述第一归属标识和所述第二归属标识中选择所述第二归属标识,所述第二归属标识指示所述第二应用程序部署在所述应用服务端中;
所述第一通道管理模块根据所述第二归属标识通过与所述第二应用程序之间的IPC通道将所述第一待传输数据发送给所述应用服务端中的第二应用程序。
5.根据权利要求4所述的方法,其特征在于,所述第一通道管理模块根据所述第二归属标识通过与所述第二应用程序之间的IPC通道将所述第一待传输数据发送给所述应用服务端中的第二应用程序之后,还包括:
若第一通道管理模块确认所述第一待传输数据传输失败,则所述第一通道管理模块根据所述第一归属标识通过所述流化协议通道将所述第一待传输数据发送给所述终端设备中的第二应用程序。
6.根据权利要求1所述的方法,其特征在于,所述第一服务管理模块接收第一应用程序发送的第一数据传输请求之前还包括:
所述第一服务管理模块根据所述第一应用程序的注册请求,对所述第一应用程序进行注册,并保存所述第一应用程序的注册信息,所述第一应用程序的注册信息包括所述第一应用程序的应用标识和指示所述第一应用程序安装在所述应用服务端中的归属标识;
所述第一服务管理模块还接收所述终端设备发送的已注册的第三应用程序的应用标识,并保存所述第三应用程序的注册信息,所述第三应用程序的注册信息包括所述第三应用程序的应用标识和指示所述第三应用程序部署在所述终端设备中的归属标识。
7.一种进程间通信方法,其特征在于,应用于终端设备中的第二进程间通信装置,所述第二进程间通信装置包括第二服务管理模块和第二通道管理模块,应用服务端和所述终端设备中部署的应用客户端之间建立流化协议通道,所述应用服务端和所述终端设备还分别部署有多个应用程序;所述方法包括:
所述第二服务管理模块将由第四应用程序发送的第二数据传输请求转发给所述第二通道管理模块,所述第二数据传输请求包括第二待传输数据和第五应用程序的应用标识,所述第四应用程序是所述终端设备上部署的多个应用程序中的一个;
所述第二通道管理模块根据所述第五应用程序的应用标识,查询所述第二服务管理模块中的注册信息,以获取所述第五应用程序的归属标识;
若所述第五应用程序的归属标识指示所述第五应用程序部署在所述应用服务端中,则所述第二通道管理模块通过所述流化协议通道将所述第二待传输数据发送给所述应用服务端中的第五应用程序。
8.根据权利要求7所述的方法,其特征在于,还包括:
若所述第五应用程序的归属标识指示所述第五应用程序部署在所述终端设备中,则第二通道管理模块通过与所述第五应用程序之间的IPC通道将所述第二待传输数据发送给所述终端设备中的第五应用程序。
9.根据权利要求7所述的方法,其特征在于,若所述第五应用程序的归属标识指示所述第五应用程序部署在所述应用服务端中,则所述第二通道管理模块通过所述流化协议通道将所述第二待传输数据发送给所述应用服务端中的第五应用程序之前,包括:
判断所述第五应用程序的归属标识的数量是1个还是2个;
若所述第五应用程序的归属标识的数量为1个,且所述第五应用程序的归属标识为第三归属标识,所述第三归属标识指示所述第五应用程序部署在所述应用服务端中,则执行所述第二通道管理模块通过所述流化协议通道将所述第二待传输数据发送给所述应用服务端中的第五应用程序的步骤。
10.根据权利要求9所述的方法,其特征在于,还包括:
若所述第五应用程序的归属标识的数量为2个,且所述第五应用程序的归属标识包括所述第三归属标识和第四归属标识,则所述第二通道管理模块从所述第三归属标识和所述第四归属标识中选择所述第四归属标识,所述第四归属标识指示所述第五应用程序部署在所述终端设备中;
所述第二通道管理模块根据所述第四归属标识通过与所述第五应用程序之间的IPC通道将所述第二待传输数据发送给所述终端设备中的第五应用程序。
11.一种应用服务端,其特征在于,包括:存储器和处理器;所述存储器,用于存储计算机程序;所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行权利要求1-6任一项所述方法中的步骤。
12.一种终端设备,其特征在于,包括:存储器和处理器;所述存储器,用于存储计算机程序;所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行权利要求7-10任一项所述方法中的步骤。
13.一种进程间通信系统,其特征在于,包括:应用服务端和终端设备,所述应用服务端和部署在终端设备中的应用客户端之间建立流化协议通道,所述应用服务端和所述终端设备分别部署有多个应用程序,所述应用服务端还部署有第一进程间通信装置,所述终端设备还部署有第二进程间通信装置,所述第一进程间通信装置用于执行权利要求1-6任一项所述方法中的步骤,所述第二进程间通信装置用于执行权利要求7-10任一项所述方法中的步骤。
14.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器能够实现权利要求1-6或7-10任一项所述方法中的步骤。
CN202310602642.8A 2023-05-24 2023-05-24 进程间通信方法、应用服务端、终端设备及存储介质 Pending CN116610463A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310602642.8A CN116610463A (zh) 2023-05-24 2023-05-24 进程间通信方法、应用服务端、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310602642.8A CN116610463A (zh) 2023-05-24 2023-05-24 进程间通信方法、应用服务端、终端设备及存储介质

Publications (1)

Publication Number Publication Date
CN116610463A true CN116610463A (zh) 2023-08-18

Family

ID=87674347

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310602642.8A Pending CN116610463A (zh) 2023-05-24 2023-05-24 进程间通信方法、应用服务端、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN116610463A (zh)

Similar Documents

Publication Publication Date Title
US20150229598A1 (en) Method and system of synchroning an unread message in instant communication
CN105991682B (zh) 一种数据分享方法及装置
CN108833585B (zh) 信息交互方法、装置及存储介质
CN112087362B (zh) 一种客户端之间的消息转发方法和装置以及终端
CN102291243A (zh) 业务处理服务器、系统和方法
KR102121358B1 (ko) 데이터 전송 방법 및 디바이스
CN112291364A (zh) 一种消息推送处理方法和装置
EP2974159B1 (en) Method, device and system for voice communication
CN112835632B (zh) 一种端能力的调用方法、设备和计算机存储介质
CN114168460A (zh) 混合开发中前端代码的远程调试方法、设备及存储介质
CN106302093B (zh) 一种通信方法、系统及服务器
CN112243016A (zh) 一种中间件平台、终端设备、5g人工智能云处理系统及处理方法
CN112114804A (zh) 应用程序的生成方法、装置及系统
CN105075189A (zh) 接收通信事件
CN115623057A (zh) 基于rdma的建连方法、装置、设备及存储介质
CN115766855A (zh) 基于云桌面服务的信息处理系统、方法、网关及存储介质
CN112953992A (zh) 网络系统、通信与组网方法、设备及存储介质
CN116610463A (zh) 进程间通信方法、应用服务端、终端设备及存储介质
CN114430410B (zh) 基于虚拟域名的系统访问方法、装置及设备
CN112637934B (zh) 一种资源确定方法、资源确定装置及存储介质
EP3119067B1 (en) Client-server system for network services and applications for mobile telecommunications terminals
CN114666395A (zh) 双系统网络共享的方法及装置
CN104346228A (zh) 共享应用程序的方法及终端
CN115190158A (zh) 信息交互方法、信息交互装置、系统及存储介质
CN104137091A (zh) 用于处理移动终端的数据的装置和方法

Legal Events

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