CN110162389B - 应用程序的启动方法、装置和智能交互设备 - Google Patents
应用程序的启动方法、装置和智能交互设备 Download PDFInfo
- Publication number
- CN110162389B CN110162389B CN201910403871.0A CN201910403871A CN110162389B CN 110162389 B CN110162389 B CN 110162389B CN 201910403871 A CN201910403871 A CN 201910403871A CN 110162389 B CN110162389 B CN 110162389B
- Authority
- CN
- China
- Prior art keywords
- execution module
- operating system
- starting
- module
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
Abstract
本发明公开了一种应用程序的启动方法、装置和智能交互设备。其中,该方法包括:接收运行在设备中的第一应用程序发起的启动请求,其中,启动请求用于启动设备中的第二应用程序;确定允许响应启动请求的至少一个备选执行模块,其中,备选执行模块运行在设备上的至少一个操作系统中;从至少一个备选执行模块中确定目标执行模块;基于目标执行模块启动第二应用程序,其中,第二应用程序安装在目标执行模块所属的操作系统中。本发明解决了相关技术中由于操作系统的性能限制,导致操作系统在打开其它操作系统的应用程序时通信复杂、适配性差的技术问题。
Description
技术领域
本发明涉及智能交互领域,具体而言,涉及一种应用程序的启动方法、装置和智能交互设备。
背景技术
移动化、互联化、云服务逐渐成为企业的主流导向,同时也推动了办公场景的技术创新,高效会议平板就是这波浪潮中崛起的一个细分领域。智能交互设备为了突破自身主控板卡的性能瓶颈问题,引入了可插拔模块,即用户可以通过可插拔的外接模块提升主控板卡本身性能不足的问题,以此拓展设备的功能。然而,外接模块往往会运行一个独立的操作系统——Android操作系统或Windows操作系统,增加了平台设计的复杂性,使得部分应用在主控模块上运行,部分应用在外接模块上运行,并且当外接模块是Android模块或者Windows模块时,通信的方式也是不一致的,平台可能会同时存在Windows模块叫起主控模块的应用、主控模块叫起Windows模块的应用、Android模块叫起主控模块的应用、主控模块叫起Android模块的应用的复杂情况。
目前,相关技术中会维护两套通讯方案,即:主控模块和外接的Windows模块相互通信,维护netty的一个双工连接,通信发送解析指令;主控模块和外接的Android模块通过adb协议通信。因此,平台不仅需要考虑外接的操作系统类型,从而产生差异化的代码,而且当需求迭代时,还要考虑外接模块之间的适配性问题。
针对相关技术中由于操作系统的性能限制,导致操作系统在打开其它操作系统的应用程序时通信复杂、适配性差的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种应用程序的启动方法、装置和智能交互设备,以至少解决相关技术中由于操作系统的性能限制,导致操作系统在打开其它操作系统的应用程序时通信复杂、适配性差的技术问题。
根据本发明实施例的一个方面,提供了一种应用程序的启动方法,包括:接收运行在设备中的第一应用程序发起的启动请求,其中,启动请求用于启动设备中的第二应用程序;确定允许响应启动请求的至少一个备选执行模块,其中,备选执行模块运行在设备上的至少一个操作系统中;从至少一个备选执行模块中确定目标执行模块;基于目标执行模块启动第二应用程序,其中,第二应用程序安装在目标执行模块所属的操作系统中。
可选地,确定允许响应启动请求的至少一个备选执行模块,包括:检测设备中包含的操作系统;判断操作系统的每个应用程序中是否含有允许响应启动请求的执行模块;确定允许响应启动请求的执行模块为备选执行模块。
可选地,从至少一个备选执行模块中确定目标执行模块,包括:获取操作系统的优先级;确定优先级最高的操作系统中的备选执行模块为目标执行模块。
可选地,基于目标执行模块启动第二应用程序,包括:基于目标执行模块确定启动模块,其中,启动模块以队列的形式保存在设备中;调用启动模块对应的函数,函数用于向目标执行模块发送启动第二应用程序的通知。
可选地,在基于目标执行模块启动第二应用程序之后,上述方法还包括:接收目标执行模块返回的执行结果;在执行结果表征目标执行模块没有执行启动第二应用程序的情况下,确定优先级次高的操作系统中的备选执行模块为目标执行模块。
根据本发明实施例的另一个方面,还提供了一种应用程序的启动装置,包括:第一接收单元,用于接收运行在设备中的第一应用程序发起的启动请求,其中,启动请求用于启动设备中的第二应用程序;第一确定单元,用于确定允许响应启动请求的至少一个备选执行模块,其中,备选执行模块运行在设备上的至少一个操作系统中;第二确定单元,用于从至少一个备选执行模块中确定目标执行模块;启动单元,用于基于目标执行模块启动第二应用程序,其中,第二应用程序安装在目标执行模块所属的操作系统中。
可选地,第一确定单元包括:检测单元,用于检测设备中包含的操作系统;判断单元,用于判断操作系统的每个应用程序中是否含有允许响应启动请求的执行模块;第一确定子单元,用于确定允许响应启动请求的执行模块为备选执行模块。
可选地,第二确定单元包括:获取单元,用于获取操作系统的优先级;第二确定子单元,用于确定优先级最高的操作系统中的备选执行模块为目标执行模块。
可选地,启动单元包括:第三确定单元,用于基于目标执行模块确定启动模块,其中,启动模块以队列的形式保存在设备中;调用单元,用于调用启动模块对应的函数,函数用于向目标执行模块发送启动第二应用程序的通知。
可选地,上述装置还包括:第二接收单元,用于在通知目标执行模块启动运行在目标操作系统上的第二应用程序之后,接收目标执行模块返回的执行结果;第四确定单元,用于在执行结果表征目标执行模块没有执行启动第二应用程序的情况下,确定优先级次高的操作系统中的备选执行模块为目标执行模块。
根据本发明实施例的另一个方面,还提供了一种智能交互设备,智能交互设备至少包括智能交互设备本身的第一操作系统,或还包括通过外部通道接入智能交互设备的第二操作系统,此外,智能交互设备还包括:第一管理模块,部署于智能交互设备的每个第一应用程序中,用于向第二管理模块发起启动请求,其中,启动请求用于启动设备中的第二应用程序;第二管理模块,部署于第一操作系统中,用于在接收到启动请求后,确定允许响应启动请求的至少一个备选执行模块,从至少一个备选执行模块中确定目标执行模块,并通知目标执行模块,其中,备选执行模块运行在设备上的至少一个操作系统中;目标执行模块,用于在接收到第二管理模块的通知后,启动第二应用程序,其中,第二应用程序安装在目标执行模块所属的操作系统中。
可选地,上述设备还包括:启动模块,目标执行模块还用于确定启动模块,启动模块以队列的形式部署于第一操作系统中,用于向第二管理模块提供调用函数,调用函数用于向目标执行模块发送启动第二应用程序的通知。
根据本发明实施例的另一个方面,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述任意一种应用程序的启动方法。
根据本发明实施例的另一个方面,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一种应用程序的启动方法。
在本发明实施例中,接收运行在设备中的第一应用程序发起的启动请求,其中,启动请求用于启动设备中的第二应用程序;确定允许响应启动请求的至少一个备选执行模块,其中,备选执行模块运行在设备上的至少一个操作系统中;从至少一个备选执行模块中确定目标执行模块;基于目标执行模块启动第二应用程序,其中,第二应用程序安装在目标执行模块所属的操作系统中。与现有技术相比,上述方案通过感知备选执行模块的个数,并根据预定策略从中确定目标执行模块,进而启动了外接的第二操作系统中的第二应用程序,解耦了各个操作系统,移植性更快,显著降低了开发周期,达到了跨系统启动应用程序的目的,解决了相关技术中由于操作系统的性能限制,导致操作系统在打开其它操作系统的应用程序时通信复杂、适配性差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本申请实施例一的一种智能交互设备的结构示意图;
图2是根据本申请实施例一的一种跨系统启动应用程序的原理图;
图3是根据本申请实施例二的一种应用程序的启动方法的流程图;以及
图4是根据本申请实施例三的一种应用程序的启动装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
在描述本申请的各实施例的进一步细节之前,将参考图1来描述可用于实现本申请的原理的一个合适的智能交互设备。在其最基本的配置中,图1是根据本发明实施例一的智能交互设备的结构示意图。出于描述的目的,所绘的体系结构仅为合适环境的一个示例,并非对本申请的使用范围或功能提出任何局限。也不应将该智能交互设备解释为对图1所示的任一组件或其组合具有任何依赖或需求。
如图1所示,本申请提供的智能交互设备至少包括智能交互设备本身的第一操作系统,或还包括通过外部通道接入智能交互设备的第二操作系统。智能交互设备还包括:第一管理模块102、第二管理模块104和目标执行模块106。
一种可选方案中,上述智能交互设备可以是会议平板、手机、笔记本电脑、平板电脑等;上述第一操作系统可以是Android操作系统、Windows操作系统、Linux操作系统、iOS操作系统等;上述第二操作系统可以是与第一操作系统相同的操作系统,也可以是与第一操作系统不同的操作系统。
例如,当智能交互设备为会议平板时,第一操作系统可以为主控板卡上的Android操作系统;当智能交互设备还包括通过外部通道接入的PC模块时,第二操作系统可以为PC模块上的Windows操作系统;当智能交互设备还包括通过外部通道接入的Android模块和PC模块时,第二操作系统可以为Android操作系统和Windows操作系统。
第一管理模块102,部署于智能交互设备的每个第一应用程序中,用于向第二管理模块104发起启动请求,其中,启动请求用于启动设备中的第二应用程序。
一种可选方案中,上述第一管理模块可以为发起启动应用程序命令的客户端,用AppManager-Client表示,简称AM-C,AM-C可以以软件开发工具包(Software DevelopmentKit,SDK)的方式提供,散布在第一操作系统、第二操作系统的每个应用程序中。
需要说明的是,上述第二应用程序可以为第一操作系统中的程序,也可以为第二操作系统中的程序。
第二管理模块104,部署于第一操作系统中,用于在接收到启动请求后,确定允许响应启动请求的至少一个备选执行模块,从至少一个备选执行模块中确定目标执行模块106,并通知目标执行模块106,其中,备选执行模块运行在设备上的至少一个操作系统中。
一种可选方案中,上述第二管理模块可以为发起启动应用程序命令的服务端,用AppManager-Server表示,简称AM-S;AM-S可以部署在智能交互设备本身的第一操作系统中,可以用来接收第一管理模块发起的启动应用程序命令的启动请求。
此处需要特别说明的是,上述第一管理模块可以通过远程过程调用的方式向第二管理模块发起启动请求;远程过程调用(Remote Procedure Call,RPC)是一个计算机通信协议,该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。
一种可选方案中,上述备选执行模块可以为响应启动应用程序命令的服务端,用AppExecutor-Server表示,简称AE-S;AE-S可以部署在智能交互设备的至少一个操作系统中,AE-S总是与AM-C成对存在,部署在第一操作系统、第二操作系统的每个应用程序中。不同的是,AM-C以SDK的方式提供,AM-S、AE-S以应用程序工具包(Application Tool Kit,ATK)的形式提供。
一种可选方案中,上述确定目标执行模块的方式可以根据备选执行模块所属的操作系统的优先级来确定,也可以通过其它任何的逻辑处理方式来确定,在此不做限制。
例如,在智能交互设备通过外部通道接入第二操作系统的情况下,又接入了高清晰度多媒体接口(High Definition Multimedia Interface,HDMI),由于此时显示信号是来自HDMI的信号,而显示信号的界面只能承载一个信号,故此时若第二管理模块接收到来自第一管理模块的启动请求后,确定的目标执行模块为智能交互设备本身的第一操作系统中的备选执行模块,而非第二操作系统中的备选执行模块,即此时目标执行模块的确定方式并非是按照优先级来确定的。
目标执行模块106,用于在接收到第二管理模块的通知后,启动第二应用程序,其中,第二应用程序安装在目标执行模块所属的操作系统中。
一种可选方案中,上述目标执行模块可以是从至少一个备选执行模块中确定出来的最终响应第一管理模块发起的启动应用程序的启动请求的模块;上述第二应用程序可以与第一操作系统中的第一应用程序相同,也可以为第二操作系统中与第一应用程序对应的程序。
智能交互设备中,当任何一个操作系统上第一应用程序的第一管理模块发出启动第一应用程序的启动请求后,运行在第一操作系统上的第二管理模块就会收到这个请求。第二管理模块可以感知在当前的智能交互设备的所有操作系统中,共有多少个备选执行模块,并根据预定策略从该至少一个备选执行模块中确定出目标执行模块,进而通过目标执行模块响应上述启动请求。
仍以智能交互设备为会议平板为例,主控板卡上运行着Android操作系统。当Android操作系统中PPT的AM-C发起打开PPT的请求时,Android操作系统中的AM-S收到请求,此时AM-S感知到设备中只存在一个AE-S,于是将这个请求派发给该AE-S,完成打开会议平板主机中PPT的操作。当主机还通过外部通道接入了PC模块,PC模块上运行着Windows操作系统时,Android操作系统中的AM-S收到请求,此时AM-S感知到设备中存在两个AE-S,且根据预设策略知晓Windows操作系统的优先级高于Android操作系统,于是将这个请求派发给Windows操作系统的AE-S,完成打开PC模块中PPT的操作。
基于本申请上述实施例提供的方案,智能交互设备至少包括智能交互设备本身的第一操作系统,或还包括通过外部通道接入智能交互设备的第二操作系统,此外,智能交互设备还包括:第一管理模块,部署于设备的每个第一应用程序中,用于向第二管理模块发起启动请求,其中,启动请求用于启动设备中的第二应用程序;第二管理模块,部署于第一操作系统中,用于在接收到启动请求后,确定允许响应启动请求的至少一个备选执行模块,从至少一个备选执行模块中确定目标执行模块,并通知目标执行模块,其中,备选执行模块运行在设备上的至少一个操作系统中;目标执行模块,用于在接收到第二管理模块的通知后,启动第二应用程序,其中,第二应用程序安装在目标执行模块所属的操作系统中。与现有技术相比,上述方案通过第二管理模块感知备选执行模块的个数,并根据预定策略从中确定目标执行模块,进而启动了外接的第二操作系统中的第二应用程序,解耦了各个操作系统,移植性更快,显著降低了开发周期,达到了跨系统启动应用程序的目的,解决了相关技术中由于操作系统的性能限制,导致操作系统在打开其它操作系统的应用程序时通信复杂、适配性差的技术问题。
可选地,第二管理模块104可以包括:
检测模块,用于检测设备中包含的操作系统。
判断模块,用于判断操作系统的每个应用程序中是否含有允许响应启动请求的执行模块。
需要说明的是,执行模块存在于应用程序中,因此,判断操作系统的每个应用程序中是否含有运行响应启动请求的执行模块,可以通过判断操作系统中是否存在与第一应用程序相同的应用程序来确定。
检测模块可以根据RPC协议检测智能交互设备中包括的操作系统和应用程序。
第一确定模块,确定允许响应启动请求的执行模块为备选执行模块。
当操作系统中存在与第一应用程序相同的应用程序时,该应用程序中的执行模块即为备选执行模块。
可选地,第二管理模块104还可以包括:
获取模块,用于获取操作系统的优先级。
一种可选方案中,上述优先级可以通过操作系统的使用频次来决定,也可以通过操作系统的性能高低来决定,还可以通过操作系统所含的应用程序的数量来决定。
第二确定模块,用于确定优先级最高的操作系统中的备选执行模块为目标执行模块。
第二确定模块通过一定的预设策略,可以确定出目标执行模块,进而启动应用程序,避免了多个操作系统的执行模块同时响应或不响应的现象发生,解耦了各个操作系统,统一了通信协议,实现了跨平台启动应用程序的目的。
可选地,智能交互设备还可以包括:
启动模块,目标执行模块还用于确定启动模块,启动模块以队列的形式部署于第一操作系统中,用于向第二管理模块提供调用函数,调用函数用于向目标执行模块发送启动第二应用程序的通知。
一种可选方案中,上述启动模块可以为响应启动应用程序命令的客户端,用AppExecutor-Client表示,简称AE-C;AE-C以SDK的形式提供,AE-C可以以队列的形式部署在智能交互设备的第一操作系统中;上述调用方式可以为第二管理模块通过dispatch方式调用函数。
需要说明的是,每个执行模块都由对应的启动模块来启动,每个注册的启动模块都有自己的优先级,每个启动模块的调用方式保存在启动模块队列中;上述AE-C可以通过远程过程调用的方式向AE-S发送启动第二应用程序的通知。
当第二管理模块感知到在当前的智能交互设备中存在的备选执行模块的个数时,通过预设策略从至少一个备选执行模块中确定出目标执行模块,进而调用目标执行模块对应的启动模块的调用函数,以通知目标执行模块启动第二应用程序。
可选地,第二管理模块104还可以包括:
接收模块,用于在通知目标执行模块启动运行在目标操作系统上的第二应用程序之后,接收目标执行模块返回的执行结果。
一种可选方案中,上述执行结果可以表征目标执行模块没有执行启动第二应用程序的操作,也可以表征目标执行模块执行了启动第二应用程序的操作。
第三确定模块,用于在执行结果表征目标执行模块没有执行启动第二应用程序的情况下,确定优先级次高的操作系统中的备选执行模块为目标执行模块。
一种可选方案中,上述目标执行模块没有执行启动第二应用程序的操作的原因可以为:第二管理模块从至少一个备选执行模块中确定出的目标执行模块已经响应了其它请求,或者第二管理模块从至少一个备选执行模块中确定出的目标执行模块无法满足用户需求等。
图2是根据本实施例的跨系统启动应用程序的原理图。仍以会议平板为例,主控板卡上运行着Android操作系统,为了便于和外接的Android操作系统区分,主控板卡上的Android操作系统称为主控模块。主控板卡还通过外部通道接入了Android模块和PC模块。AM-C以SDK的方式提供,AE-S以ATK的方式提供,两者均散布在主控模块、Android模块、Windows模块的每个应用程序中。当某个应用程序的AM-C发出启动请求后,运行在主控模块中的AM-S就会收到这个请求。AM-S根据RPC协议可以感知在当前的主控模块、Android模块、Windows模块中总共存在多少个AE-S,从而保存AE-C的引用在主控模块中。然后,AM-S根据预设策略确定让哪个AE-S响应AM-C的请求,从而调用特定AE-C的函数,向AE-S发送启动应用程序的请求。AE-S收到AM-C发出的请求,确定自己是否要响应该请求,如果不响应,向AM-S反馈,以便AM-S向更低优先级的AE-C派发打开应用程序的请求。如果响应,则该流程结束,AM-C成功打开某个应用程序。
基于图2所阐述的原理,下面介绍一个具体的应用实例,打开会议平板中某个应用程序的批注操作的响应过程如下所示:
当会议平板主机未插入外接模块时,主控模块中某个应用的AM-C发起打开批注的操作。主控模块中的AM-S收到请求,此时主控模块中的AM-S感知到有一个AE-S的存在,是运行在主控模块中的AE-S,于是将这个请求通过AE-C派发给该AE-S,完成打开主控模块中的批注的操作。
当会议平板主机插入PC模块时,主控模块中某个应用的AM-C发起打开批注的操作。主控模块中的AM-S收到请求,此时主控模块中的AM-S感知到有2个AE-S的存在:Windows操作系统的AE-S和主控模块的AE-S,且Windows操作系统的AE-C优先级高于主控模块的AE-C,于是AM-S通过调用Windows操作系统的AE-S对应的AE-C函数,将这个请求派发给Windows操作系统的AE-S,此时Windows模块的AE-S收到请求后响应,即打开了Windows操作系统某个应用程序的批注。
由上可知,本申请上述实施例,智能交互设备至少包括智能交互设备本身的第一操作系统,或还包括通过外部通道接入智能交互设备的第二操作系统,此外,智能交互设备还包括:第一管理模块,部署于设备的每个第一应用程序中,用于向第二管理模块发起启动请求,其中,启动请求用于启动设备中的第二应用程序;第二管理模块,部署于第一操作系统中,用于在接收到启动请求后,确定允许响应启动请求的至少一个备选执行模块,从至少一个备选执行模块中确定目标执行模块,并通知目标执行模块,其中,备选执行模块运行在设备上的至少一个操作系统中;目标执行模块,用于在接收到第二管理模块的通知后,启动第二应用程序,其中,第二应用程序安装在目标执行模块所属的操作系统中。与现有技术相比,上述方案通过第二管理模块感知备选执行模块的个数,并根据预定策略从中确定目标执行模块,进而启动了外接的第二操作系统中的第二应用程序;通过调用启动模块中的特定函数,向目标执行模块发送启动第二应用程序的通知,移植性更快,显著降低了开发周期;容易注意到,在目标执行模块没有执行启动第二应用程序的情况下,第二管理模块还会确定优先级次高的操作系统中的备选执行模块为目标执行模块,满足用户需求。上述方案解耦了各个操作系统,达到了跨系统启动应用程序的目的,进而解决了相关技术中由于操作系统的性能限制,导致操作系统在打开其它操作系统的应用程序时通信复杂、适配性差的技术问题。
实施例2
在实施例1提供的智能交互设备下,本实施例提供了一种应用程序的启动方法,该方法可以由实施例1提出的智能交互设备中的第二管理模块来执行。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图3是根据实施例的应用程序的启动方法的流程图,如图3所示,该方法包括如下步骤:
步骤S302,接收运行在设备中的第一应用程序发起的启动请求,其中,启动请求用于启动设备中的第二应用程序。
一种可选方案中,上述设备可以是会议平板、手机、笔记本电脑、平板电脑等智能交互设备;上述启动请求的发送方可以为应用程序中发起启动应用程序命令的客户端,用AppManager-Client表示,简称AM-C,AM-C可以以软件开发工具包(Software DevelopmentKit,SDK)的方式提供,散布在每个操作系统的每个应用程序中;上述启动请求的接收方可以为发起启动应用程序命令的服务端,用AppManager-Server表示,简称AM-S,AM-S可以部署在设备本身的第一操作系统中,可以用来接收AM-C发起的启动应用程序命令的启动请求。
需要说明的是,上述第二应用程序可以与第一应用程序相同,也可以为第二操作系统中与第一应用程序对应的程序。第一操作系统可以是Android操作系统、Windows操作系统、Linux操作系统、iOS操作系统等,第二操作系统可以是与第一操作系统相同的操作系统,也可以是与第一操作系统不同的操作系统。
步骤S304,确定允许响应启动请求的至少一个备选执行模块,其中,备选执行模块运行在设备上的至少一个操作系统中。
一种可选方案中,上述备选执行模块可以为响应启动应用程序命令的服务端,用AppExecutor-Server表示,简称AE-S;AE-S可以部署在设备的至少一个操作系统中,AE-S总是与AM-C成对存在,部署在第一操作系统、第二操作系统的每个应用程序中。不同的是,AM-C以SDK的方式提供,AM-S、AE-S以应用程序工具包(Application Tool Kit,ATK)的形式提供。
步骤S306,从至少一个备选执行模块中确定目标执行模块。
一种可选方案中,上述确定目标执行模块的方式可以根据备选执行模块所属的操作系统的优先级来确定,也可以通过其它任何的逻辑处理方式来确定,在此不做限制;上述目标执行模块可以是从至少一个备选执行模块中确定出来的最终响应第一管理模块发起的启动应用程序的启动请求的模块。
步骤S308,基于目标执行模块启动第二应用程序,其中,第二应用程序安装在目标执行模块所属的操作系统中。
一种可选方案中,上述第二应用程序可以为第一操作系统中的程序,此时,第二应用程序与第一应用程序相同,上述第二应用程序也可以为外接的第二操作系统中的程序,此时,第二应用程序为第二操作系统中与第一应用程序对应的程序。
上述方案中,当任何一个操作系统上第一应用程序的AM-C发出启动第一应用程序的启动请求后,运行在第一操作系统上的AM-S就会收到这个请求。AM-S根据RPC协议可以感知在当前的智能交互设备的所有操作系统中,共有多少个备选执行模块AE-S,并根据预定策略从该至少一个备选执行模块中确定出目标执行模块,进而通过目标执行模块响应上述启动请求,打开所属操作系统上对应的应用程序。
基于本申请上述实施例提供的方案,接收运行在设备中的第一应用程序发起的启动请求,其中,启动请求用于启动设备中的第二应用程序;确定允许响应启动请求的至少一个备选执行模块,其中,备选执行模块运行在设备上的至少一个操作系统中;从至少一个备选执行模块中确定目标执行模块;基于目标执行模块启动第二应用程序,其中,第二应用程序安装在目标执行模块所属的操作系统中。与现有技术相比,上述方案通过感知备选执行模块的个数,并根据预定策略从中确定目标执行模块,进而启动了外接操作系统中的应用程序,解耦了各个操作系统,移植性更快,显著降低了开发周期,达到了跨系统启动应用程序的目的,解决了相关技术中由于操作系统的性能限制,导致操作系统在打开其它操作系统的应用程序时通信复杂、适配性差的技术问题。
可选地,上述步骤S304确定允许响应启动请求的至少一个备选执行模块,可以包括:
步骤S3041,检测设备中包含的操作系统。
步骤S3042,判断操作系统的每个应用程序中是否含有允许响应启动请求的执行模块。
需要说明的是,执行模块存在于应用程序中,因此,判断操作系统的每个应用程序中是否含有运行响应启动请求的执行模块,可以通过判断操作系统中是否存在与第一应用程序相同的应用程序来确定。
上述步骤可以根据RPC协议检测判断设备中包括的操作系统和应用程序。
步骤S3043,确定允许响应启动请求的执行模块为备选执行模块。
当操作系统中存在与第一应用程序相同的应用程序时,该应用程序中的执行模块即为备选执行模块。
可选地,上述步骤S306从至少一个备选执行模块中确定目标执行模块,可以包括:
步骤S3061,获取操作系统的优先级。
一种可选方案中,上述优先级可以通过操作系统的使用频次来决定,也可以通过操作系统的性能高低来决定,还可以通过操作系统所含的应用程序的数量来决定。
步骤S3062,确定优先级最高的操作系统中的备选执行模块为目标执行模块。
上述步骤中,通过一定的预设策略,可以确定出目标执行模块,进而启动应用程序,避免了多个操作系统的执行模块同时响应或不响应的现象发生,解耦了各个操作系统,统一了通信协议,实现了跨平台启动应用程序的目的。
可选地,上述步骤S308基于目标执行模块启动第二应用程序,可以包括:
步骤S3081,基于目标执行模块确定启动模块,其中,启动模块以队列的形式保存在设备中。
一种可选方案中,上述启动模块可以为响应启动应用程序命令的客户端,用AppExecutor-Client表示,简称AE-C;AE-C可以以SDK的形式提供,AE-C可以以队列的形式部署在设备的第一操作系统中。
步骤S3082,调用启动模块对应的函数,函数用于向目标执行模块发送启动第二应用程序的通知。
一种可选方案中,上述调用方式可以为AM-S通过dispatch方式调用目标AE-S对应的AE-C的函数。
需要说明的是,每个执行模块都由对应的启动模块来启动,每个注册的启动模块都有自己的优先级,每个启动模块的调用方式保存在启动模块队列中;上述AE-C可以通过远程过程调用的方式向AE-S发送启动第二应用程序的通知。
当AM-S感知到在当前的设备中存在的备选执行模块的个数时,通过预设策略从至少一个备选执行模块中确定出目标执行模块,进而调用目标执行模块对应的启动模块的调用函数,以通知目标执行模块启动第二应用程序。
可选地,本实施例的方法还可以包括:
步骤S3091,在基于目标执行模块启动第二应用程序之后,接收目标执行模块返回的执行结果。
一种可选方案中,上述执行结果可以表征目标执行模块没有执行启动第二应用程序的操作,也可以表征目标执行模块执行了启动第二应用程序的操作。
步骤S3092,在执行结果表征目标执行模块没有执行启动第二应用程序的情况下,确定优先级次高的操作系统中的备选执行模块为目标执行模块。
一种可选方案中,上述目标执行模块没有执行启动第二应用程序的操作的原因可以为:AM-S从至少一个备选执行模块中确定出的目标执行模块已经响应了其它请求,或者AM-S从至少一个备选执行模块中确定出的目标执行模块无法满足用户需求等。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例3
根据本发明实施例,提供了一种应用程序的启动装置,图4是根据本申请实施例的应用程序的启动装置的示意图。如图4所示,该装置400包括控制模块第一接收单元402、第一确定单元404、第二确定单元406和启动单元408。
其中,第一接收单元402,用于接收运行在设备中的第一应用程序发起的启动请求,其中,启动请求用于启动设备中的第二应用程序。
第一确定单元404,用于确定允许响应启动请求的至少一个备选执行模块,其中,备选执行模块运行在设备上的至少一个操作系统中。
第二确定单元406,用于从至少一个备选执行模块中确定目标执行模块。
启动单元408,用于基于目标执行模块启动第二应用程序,其中,第二应用程序安装在目标执行模块所属的操作系统中。
可选地,第一确定单元可以包括:检测单元,用于检测设备中包含的操作系统;判断单元,用于判断操作系统的每个应用程序中是否含有允许响应启动请求的执行模块;第一确定子单元,用于确定允许响应启动请求的执行模块为备选执行模块。
可选地,第二确定单元可以包括:获取单元,用于获取操作系统的优先级;第二确定子单元,用于确定优先级最高的操作系统中的备选执行模块为目标执行模块。
可选地,启动单元可以包括:第三确定单元,用于基于目标执行模块确定启动模块,其中,启动模块以队列的形式保存在设备中;调用单元,用于调用启动模块对应的函数,函数用于向目标执行模块发送启动第二应用程序的通知。
可选地,上述装置还可以包括:第二接收单元,用于在通知目标执行模块启动运行在目标操作系统上的第二应用程序之后,接收目标执行模块返回的执行结果;第四确定单元,用于在执行结果表征目标执行模块没有执行启动第二应用程序的情况下,确定优先级次高的操作系统中的备选执行模块为目标执行模块。
需要说明的是,上述第一接收单元402、第一确定单元404、第二确定单元406和启动单元408对应于实施例2中的步骤S302至步骤S308,该四个单元与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的智能交互设备中。
实施例4
根据本发明实施例,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行实施例2中的应用程序的启动方法。
实施例5
根据本发明实施例,提供了一种处理器,处理器用于运行程序,其中,在程序运行时执行下述步骤:接收运行在设备中的第一应用程序发起的启动请求,其中,启动请求用于启动设备中的第二应用程序;确定允许响应启动请求的至少一个备选执行模块,其中,备选执行模块运行在设备上的至少一个操作系统中;从至少一个备选执行模块中确定目标执行模块;基于目标执行模块启动第二应用程序,其中,第二应用程序安装在目标执行模块所属的操作系统中。
进一步地,处理器还可以执行实施例2中其他步骤的指令,此处不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种应用程序的启动方法,其特征在于,包括:
接收运行在设备中的第一应用程序发起的启动请求,其中,所述启动请求用于启动所述设备中的第二应用程序,其中,所述启动请求的发送方为发起启动应用程序命令的客户端,所述客户端以软件开发工具包的方式提供,散布在每个操作系统的每个应用程序中,所述启动请求的接收方为发起启动应用程序命令的服务端;
确定允许响应所述启动请求的至少一个备选执行模块,其中,所述备选执行模块运行在所述设备上的至少一个操作系统中,所述备选执行模块为用于响应启动应用程序命令的服务端;
从所述至少一个备选执行模块中确定目标执行模块;
基于所述目标执行模块启动所述第二应用程序,其中,所述第二应用程序安装在所述目标执行模块所属的操作系统中;
从所述至少一个备选执行模块中确定目标执行模块,包括:
获取所述操作系统的优先级;
确定所述优先级最高的操作系统中的备选执行模块为目标执行模块;
所述设备至少包括所述设备本身的第一操作系统以及通过外部通道接入所述设备的第二操作系统,其中,所述第一操作系统不同于所述第二操作系统。
2.根据权利要求1所述的方法,其特征在于,确定允许响应所述启动请求的至少一个备选执行模块,包括:
检测所述设备中包含的操作系统;
判断所述操作系统的每个应用程序中是否含有允许响应所述启动请求的执行模块;
确定允许响应所述启动请求的执行模块为所述备选执行模块。
3.根据权利要求1所述的方法,其特征在于,基于所述目标执行模块启动所述第二应用程序,包括:
基于所述目标执行模块确定启动模块,其中,所述启动模块以队列的形式保存在所述设备中;
调用所述启动模块对应的函数,所述函数用于向所述目标执行模块发送启动所述第二应用程序的通知。
4.根据权利要求1所述的方法,其特征在于,在基于所述目标执行模块启动所述第二应用程序之后,所述方法还包括:
接收所述目标执行模块返回的执行结果;
在所述执行结果表征所述目标执行模块没有执行启动所述第二应用程序的情况下,确定所述优先级次高的操作系统中的备选执行模块为目标执行模块。
5.一种应用程序的启动装置,其特征在于,包括:
第一接收单元,用于接收运行在设备中的第一应用程序发起的启动请求,其中,所述启动请求用于启动所述设备中的第二应用程序,其中,所述启动请求的发送方为发起启动应用程序命令的客户端,所述客户端以软件开发工具包的方式提供,散布在每个操作系统的每个应用程序中,所述启动请求的接收方为发起启动应用程序命令的服务端;
第一确定单元,用于确定允许响应所述启动请求的至少一个备选执行模块,其中,所述备选执行模块运行在所述设备上的至少一个操作系统中,所述备选执行模块为用于响应启动应用程序命令的服务端;
第二确定单元,用于从所述至少一个备选执行模块中确定目标执行模块;
启动单元,用于基于所述目标执行模块启动所述第二应用程序,其中,所述第二应用程序安装在所述目标执行模块所属的操作系统中;
所述第二确定单元包括:
获取单元,用于获取所述操作系统的优先级;
第二确定子单元,用于确定所述优先级最高的操作系统中的备选执行模块为目标执行模块;
所述设备至少包括所述设备本身的第一操作系统以及通过外部通道接入所述设备的第二操作系统,其中,所述第一操作系统不同于所述第二操作系统。
6.根据权利要求5所述的装置,其特征在于,所述第一确定单元包括:
检测单元,用于检测所述设备中包含的操作系统;
判断单元,用于判断所述操作系统的每个应用程序中是否含有允许响应所述启动请求的执行模块;
第一确定子单元,用于确定允许响应所述启动请求的执行模块为所述备选执行模块。
7.根据权利要求5所述的装置,其特征在于,所述启动单元包括:
第三确定单元,用于基于所述目标执行模块确定启动模块,其中,所述启动模块以队列的形式保存在所述设备中;
调用单元,用于调用所述启动模块对应的函数,所述函数用于向所述目标执行模块发送启动所述第二应用程序的通知。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第二接收单元,用于在通知所述目标执行模块启动运行在目标操作系统上的所述第二应用程序之后,接收所述目标执行模块返回的执行结果;
第四确定单元,用于在所述执行结果表征所述目标执行模块没有执行启动所述第二应用程序的情况下,确定所述优先级次高的操作系统中的备选执行模块为目标执行模块。
9.一种智能交互设备,所述智能交互设备至少包括所述智能交互设备本身的第一操作系统,或还包括通过外部通道接入所述智能交互设备的第二操作系统,其特征在于,所述智能交互设备还包括:
第一管理模块,部署于所述智能交互设备的每个第一应用程序中,用于向第二管理模块发起启动请求,其中,所述启动请求用于启动所述设备中的第二应用程序,所述第一管理模块以软件开发工具包的方式提供;
所述第二管理模块,部署于所述第一操作系统中,用于在接收到所述启动请求后,确定允许响应所述启动请求的至少一个备选执行模块,从所述至少一个备选执行模块中确定目标执行模块,并通知所述目标执行模块,其中,所述备选执行模块运行在所述设备上的至少一个操作系统中,所述备选执行模块为用于响应启动应用程序命令的服务端;
所述目标执行模块,用于在接收到所述第二管理模块的通知后,启动所述第二应用程序,其中,所述第二应用程序安装在所述目标执行模块所属的操作系统中;
所述第二管理模块还包括:
获取模块,用于获取所述操作系统的优先级;
第二确定模块,用于确定所述优先级最高的操作系统中的备选执行模块为目标执行模块;
其中,所述第一操作系统不同于所述第二操作系统。
10.根据权利要求9所述的设备,其特征在于,所述设备还包括启动模块,所述目标执行模块还用于确定所述启动模块,所述启动模块以队列的形式部署于所述第一操作系统中,用于向所述第二管理模块提供调用函数,所述调用函数用于向所述目标执行模块发送启动所述第二应用程序的通知。
11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至4中任意一项所述的应用程序的启动方法。
12.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至4中任意一项所述的应用程序的启动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910403871.0A CN110162389B (zh) | 2019-05-15 | 2019-05-15 | 应用程序的启动方法、装置和智能交互设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910403871.0A CN110162389B (zh) | 2019-05-15 | 2019-05-15 | 应用程序的启动方法、装置和智能交互设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110162389A CN110162389A (zh) | 2019-08-23 |
CN110162389B true CN110162389B (zh) | 2022-05-13 |
Family
ID=67634597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910403871.0A Active CN110162389B (zh) | 2019-05-15 | 2019-05-15 | 应用程序的启动方法、装置和智能交互设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110162389B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168160A (zh) * | 2020-09-10 | 2022-03-11 | 荣耀终端有限公司 | 应用模块启动方法和电子设备 |
CN112783672B (zh) * | 2021-01-27 | 2024-04-05 | 传神语联网网络科技股份有限公司 | 一种远程过程调用处理方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102204210A (zh) * | 2011-05-18 | 2011-09-28 | 华为技术有限公司 | 启动应用的方法、服务器和系统 |
CN104714846A (zh) * | 2013-12-17 | 2015-06-17 | 华为技术有限公司 | 资源处理方法、操作系统及设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7543277B1 (en) * | 2003-06-27 | 2009-06-02 | American Megatrends, Inc. | Method and system for remote software debugging |
CN102355667B (zh) * | 2011-06-30 | 2015-12-09 | 北京邮电大学 | 移动智能终端系统中应用程序网络连接控制方法和系统 |
CN103106101B (zh) * | 2011-11-10 | 2017-06-27 | 联想(北京)有限公司 | 关联方法、电子设备和关联系统 |
CN103150174A (zh) * | 2011-12-06 | 2013-06-12 | 联想(北京)有限公司 | 具有多操作系统的电子设备启动的方法及装置 |
CN102523225A (zh) * | 2011-12-22 | 2012-06-27 | 浙江国自机器人技术有限公司 | 分布式松耦合构架中的解耦方法及分布式松耦合构架平台 |
CN103902377B (zh) * | 2012-12-24 | 2017-11-03 | 联想(北京)有限公司 | 终端设备及其运行状态同步方法 |
CN104735030B (zh) * | 2013-12-23 | 2019-04-16 | 广州华多网络科技有限公司 | 应用开启方法、装置和系统 |
US9467329B2 (en) * | 2014-05-29 | 2016-10-11 | Blackberry Limited | Coordinating activity views across operating system domains |
US9870239B2 (en) * | 2014-09-16 | 2018-01-16 | Xiaomi Inc. | Method and device for running application program |
CN105577707B (zh) * | 2014-10-08 | 2019-01-11 | 阿里巴巴集团控股有限公司 | 一种远程调用方法与设备 |
JP6530816B2 (ja) * | 2016-03-25 | 2019-06-12 | 深▲せん▼前海達闥雲端智能科技有限公司Cloudminds (Shenzhen) Robotics Systems Co., Ltd. | アプリケーション起動方法及びその装置 |
CN106774794A (zh) * | 2016-11-30 | 2017-05-31 | 宇龙计算机通信科技(深圳)有限公司 | 终端业务的处理方法及装置 |
CN107592359A (zh) * | 2017-09-19 | 2018-01-16 | 郑州云海信息技术有限公司 | 一种基于rpc协议的服务端响应方法、装置及介质 |
-
2019
- 2019-05-15 CN CN201910403871.0A patent/CN110162389B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102204210A (zh) * | 2011-05-18 | 2011-09-28 | 华为技术有限公司 | 启动应用的方法、服务器和系统 |
CN104714846A (zh) * | 2013-12-17 | 2015-06-17 | 华为技术有限公司 | 资源处理方法、操作系统及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110162389A (zh) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8136085B2 (en) | System and method for implementing a shared platform or software resource for coupled computing devices | |
RU2456662C2 (ru) | Согласование загрузки между несколькими способными к загрузке устройствами | |
EP3635524A1 (en) | Connecting multiple mobile devices to a smart home assistant account | |
US20130237152A1 (en) | Methods and systems for hardware and software related to a near field communications task launcher | |
CN103365688B (zh) | 一种安卓智能设备间软件自动安装与同步方法 | |
CN101909366B (zh) | 无线lan装置及无线lan适配器 | |
CN110162389B (zh) | 应用程序的启动方法、装置和智能交互设备 | |
US20110246983A1 (en) | Wireless Network Backup Device and Method | |
WO2018076969A1 (zh) | 软件升级方法、计算设备及通道控制设备 | |
WO2016173341A1 (zh) | 一种飞行模式的控制方法及移动终端 | |
WO2011107053A2 (zh) | 数据接口配置方法及终端设备 | |
CN102073524B (zh) | 一种无线通讯终端及其自启动的方法 | |
CN102202132A (zh) | 一种对上网设备进行初始化的方法、系统及设备 | |
US20070155422A1 (en) | Method for controlling mobile data connection through USB Ethernet management of mobile station | |
CN114281555A (zh) | 应用状态同步方法、装置、电子设备和存储介质 | |
CN106293851A (zh) | 一种固件升级方法及设备 | |
CN109189629B (zh) | 基于usb设备实现终端远程控制的方法、存储介质 | |
CN109634782B (zh) | 一种系统健壮性的检测方法、装置、存储介质及终端 | |
WO2023077858A1 (zh) | 应用栈管理方法、装置、电子设备和存储介质 | |
CN112463199A (zh) | 一种系统升级方法及终端 | |
CN115469964A (zh) | 块设备与虚拟机盘符之间映射关系的确定方法和装置 | |
CN213069764U (zh) | 一种触控设备 | |
CN114265714A (zh) | 一种基于云手机的驱动控制方法及装置、存储介质 | |
CN111147400B (zh) | 一种命令行配置同步的方法、装置及电子设备 | |
CN114443148A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |