一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

跨操作系统的调用方法、装置及电子设备与流程

2023-04-12 19:34:19 来源:中国专利 TAG:
1.本公开涉及操作系统
技术领域
:,尤其涉及一种跨操作系统的调用方法、装置及电子设备。
背景技术
::2.设备的操作系统具有多样性,对于设备不同的操作系统之间的交互,由于需要跨操作系统进行通信,因此存在极大的障碍。例如,电子设备a具有安卓操作系统和linux操作系统,因此,安卓操作系统和linux操作系统之间就无法进行底层硬件设备的调用。3.因此,亟需一种能够跨操作系统的调用方式,实现不同操作系统之间的资源的调用。技术实现要素:4.本公开提供一种跨操作系统的调用方法、装置、电子设备及存储介质,以至少解决相关技术中跨操作系统的资源调用问题。本公开的技术方案如下:5.根据本公开实施例的第一方面,提供一种跨操作系统的调用方法,包括:接收具有第一操作系统的第一主体发送的调用指令;选择对应的跨操作系统调用方式;根据选择的所述跨操作系统调用方式将所述调用指令发送至具有第二操作系统的第二主体。6.在本公开的一个实施例之中,所述选择对应的跨操作系统调用方式,包括:根据所述第二操作系统的类型选择对应的跨操作系统调用方式。7.在本公开的一个实施例之中,所述选择对应的跨操作系统调用方式,还包括:根据所述调用指令对应的硬件资源选择对应的跨操作系统调用方式。8.在本公开的一个实施例之中,所述根据选择的所述跨操作系统调用方式将所述调用指令发送至具有第二操作系统的第二主体,包括:接收第一操作系统之中应用程序的调用指令,其中,所述第一调用指令与针对所述第一操作系统的第一接口对应;获取所述第一接口所对应的第二操作系统的第二接口;通过所述第二接口将所述调用指令发送至所述第二主体。9.在本公开的一个实施例之中,所述通过所述第二接口将所述调用指令发送至所述第二主体之后,还包括:获取所述第二接口对应的目标文件;对所述目标文件之中的进程地址进行修改,以将所述进程地址修改为异构计算引擎的返回地址;执行所述修改之后的目标文件,并将所述返回地址接收到的所述目标文件的第二返回结果生成第一返回结果并发送至所述第一操作系统之中的应用程序。10.在本公开的一个实施例之中,所述获取所述第二接口对应的目标文件,包括:确定所述第二接口对应的动态共享库;获取所述动态共享库所对应的目标文件。11.在本公开的一个实施例之中,所述获取所述第一接口所对应的针对第二操作系统的第二接口,包括:获取第一调用指令对应的第一进程地址,其中,所述第一进程地址用于接收在所述第一操作系统之中所述第一调用指令对应的所述第一返回结果;根据所述第一调用指令生成第二调用指令,并根据所述第一接口获取所述第二调用指令的第二接口;获取所述第二调用指令对应的第二进程地址,并建立所述第一进程地址和所述第二进程地址之间的对应关系,其中,所述第二进程地址用于接收在所述第二操作系统之中所述第二调用指令对应的第二返回结果。12.在本公开的一个实施例之中,所述对所述目标文件之中的进程地址进行修改,包括:将所述目标文件加载至内存;获取所述目标文件对应的全局偏移列表got;根据所述got获取所述内存之中的进程地址,并将所述内存之中的进程地址修改为所述第二进程地址。13.在本公开的一个实施例之中,所述第一操作系统具有第一系统库,所述第二操作系统具有第二系统库,所述方法还包括:根据所述got获取所述内存之中的第二系统库的地址;将所述第二系统库的地址修改为所述第一系统库的地址。14.在本公开的一个实施例之中,所述执行所述修改之后的目标文件,并将所述返回地址接收到的所述目标文件的第二返回结果生成第一返回结果并发送至所述第一操作系统之中的应用程序,包括:执行所述修改之后的目标文件以生成所述第二返回结果;根据所述第一进程地址和所述第二进程地址的对应关系,确定对应的所述第一进程地址;根据所述第一进程地址和所述第二返回结果的内容生成所述第一返回结果,并反馈至所述第一进程地址。15.在本公开的一个实施例之中,所述根据选择的所述跨操作系统调用方式将所述调用指令发送至具有第二操作系统的第二主体,包括:如果所述第一操作系统的类型与所述第二操作系统的类型一致,则在所述第一主体和所述第二主体之间建立第一连接桥,所述第一主体通过所述第一连接桥将所述调用指令发送至所述第二主体;所述第一连接桥用于具有相同操作系统类型的所述第一主体和所述第二主体之间进行资源调用;如果所述第一操作系统的类型与所述第二操作系统的类型不一致,则在所述第一主体和所述第二主体之间建立第二连接桥,所述第一主体通过所述第二连接桥将所述调用指令发送至所述第二主体;所述第二连接桥用于具有不同操作系统类型的所述第一主体和所述第二主体之间进行资源调用。16.在本公开的一个实施例之中,所述第二主体为多个,所述方法还包括:向多个第二主体发送资源上报消息;接收所述多个第二主体发送的资源信息;将所述多个第二主体发送的资源信息发送至所述第一主体,以使所述第一主体根据所述多个第二主体的资源信息生成资源调用列表,以供所述第一主体进行调用。17.在本公开的一个实施例之中,所述第二主体为多个,所述方法还包括:接收所述第一主体的资源调用请求,其中,所述资源调用请求之中具有目标资源的资源地址;根据所述目标资源的资源地址确定承载所述目标资源的第二主体;根据所述目标资源的第二主体的第二操作系统类型,调用所述第一连接桥或所述第二连接桥将所述资源调用请求发送至所述目标资源的第二主体,以对所述目标资源的第二主体的资源进行调用。18.在本公开的一个实施例之中,所述在所述第一主体和所述第二主体之间建立第一连接桥,包括:建立所述第一主体和所述第二主体之间的共享内存,通过所述共享内存建立所述第一连接桥。19.在本公开的一个实施例之中,所述在所述第一主体和所第二从设备之间建立第一连接桥,还包括:建立所述第一主体和所述第二主体之间的硬件组件映射表,其中,所述硬件组件映射表之中具有所述第一主体和所述第二主体之中的硬件组件的映射关系;通过所述硬件组件映射表建立所述第一连接桥。20.在本公开的一个实施例之中,所述在所述第一主体和所述第二主体之间建立第一连接桥之后,还包括:通过所述第一连接桥进入所述第二主体的第二操作系统,检测所述第二主体的多个硬件组件;确定所述第二主体中存在检测失败的所述硬件组件,则通过所述硬件组件映射表中所述硬件组件的映射关系,确定与所述检测失败的所述硬件组件映射的目标硬件组件,直至所述第二主体的所述多个硬件组件全部通过检测。21.在本公开的一个实施例之中,所述资源信息包括所述第二主体之中资源的资源地址,所述在所述第一主体和所述第二主体之间建立第二连接桥,包括:根据所述第二主体之中资源的资源地址建立路由选择适配表,其中,所述路由选择适配表用于建立所述第二连接桥。22.在本公开的一个实施例之中,所述根据所述目标资源的第二主体的第二操作系统类型,调用所述第二连接桥将所述资源调用请求发送至所述目标资源的第二主体,包括:如果所述目标资源的第二主体的第二操作系统类型与所述第一主体的第一操作系统类型不一致,则从所述资源调用请求之中获取目标资源的资源地址;根据所述目标资源的资源地址查找所述路由选择适配表,以从所述路由选择适配表之中获取对应的路由路径;根据所述路由路径将所述资源调用请求发送至对应的所述目标资源的第二主体。23.在本公开的一个实施例之中,所述在所述第一主体和所述第二主体之间建立第二连接桥,包括:获取所述第二主体之中每个资源的io接口,并针对所述每个资源的io接口生成对应的虚拟io接口;建立所述第一主体和所述虚拟io接口的映射关系;通过所述映射关系建立所述第二连接桥。24.在本公开的一个实施例之中,所述在所述第一主体和所述第二主体之间建立第二连接桥,包括:建立所述第一主体和所述第二主体之间的内存映射关系;根据所述内存映射关系建立所述第二连接桥。25.在本公开的一个实施例之中,所述根据选择的所述跨操作系统调用方式将所述调用指令发送至具有第二操作系统的第二主体,包括:26.获取所述第一主体通过第一进程发送的调用指令;27.获取所述第二主体之中的第二进程,并建立所述第一进程和所述第二进程的跨进程通信通道;28.通过所述跨进程通信通道将所述调用指令发送至所述第二进程,以通过所述第二进程调用所述调用指令对应的服务;其中,所述服务为对所述第二主体之中的硬件信息进行封装得到的。29.在本公开的一个实施例之中,所述通过所述跨进程通信通道将所述调用指令发送至所述第二进程之后,还包括:30.通过所述第二进程获取所述服务对应的调用结果,并通过所述跨进程通信通道将所述调用结果发送至所述第一进程。31.在本公开的一个实施例之中,所述方法还包括:获取所述第二主体之中多个硬件的硬件信息;根据所述硬件信息生成所述多个硬件对应的多个服务。32.在本公开的一个实施例之中,所述建立所述第一进程和所述第二进程的跨进程通信通道,包括:在所述第一主体之中建立与所述第一进程对应的客户端;在所述第二主体之中建立与所述第二进程对应的服务端,其中,通过所述客户端和所述服务端建立所述跨进程通信通道。33.在本公开的一个实施例之中,所述通过所述跨进程通信通道将所述调用指令发送至所述第二进程,包括:将所述调用指令转换为第一跨进程通信指令;通过所述客户端将所述第一跨进程通信指令发送至所述服务端,以使所述服务端将所述第一跨进程通信指令转换为适于所述第二操作系统的调用指令,并发送至所述第二进程。34.在本公开的一个实施例之中,所述通过所述跨进程通信通道将所述调用结果发送至所述第一进程,包括:将所述调用结果转换为第二跨进程通信指令;通过所述服务端将所述第二跨进程通信指令发送至所述客户端,以使所述客户端将所述第二跨进程通信指令转换为适于所述第一操作系统的调用结果,并发送至所述第一进程。35.根据本公开实施例的第二方面,提供一种跨操作系统的调用装置,包括:36.接收模块,用于接收具有第一操作系统的第一主体发送的调用指令;37.选择模块,用于选择对应的跨操作系统调用方式;38.发送模块,用于根据选择的所述跨操作系统调用方式将所述调用指令发送至具有第二操作系统的第二主体。39.根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行调用指令的存储器;其中,所述处理器被配置为执行所述调用指令,以实现如第一方面所述的跨操作系统的调用方法。40.根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的调用指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的跨操作系统的调用方法。41.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本公开第一方面实施例提出的跨操作系统的调用方法。42.本公开实施例提供的跨操作系统的调用方法、装置及电子设备,通过异构计算引擎接收具有第一操作系统的第一主体发送的调用指令,选择对应的跨操作系统调用方式后,根据选择的跨操作系统调用方式将调用指令发送至具有第二操作系统的第二主体。由此,异构计算引擎确定适用于第一主体和第二主体的跨操作系统调用方式后,采用选定的跨操作系统调用方式实现了跨操作系统的资源调用。43.本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。附图说明44.本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:45.图1为本公开实施例提供的一种跨操作系统的调用方法的流程示意图;46.图2为本公开实施例的跨操作系统的调用系统结构图;47.图3为本公开实施例提供的另一种跨操作系统的调用方法的流程示意图;48.图4为本公开实施例提供的另一种跨操作系统的调用方法的流程示意图;49.图5为本公开实施例提供的一种目标文件修改方法的流程示意图;50.图6为本公开实施例提供的另一种跨操作系统的调用方法的流程示意图;51.图7为本公开实施例提供的另一种跨操作系统的调用方法的流程示意图;52.图8为本公开实施例提供的又一种跨操作系统的调用方法的流程示意图;53.图9为本公开实施例提供的又一种跨操作系统的调用方法的流程示意图;54.图10为本公开实施例提供的又一种跨操作系统的调用方法的流程示意图;55.图11为本公开实施例提供的又一种跨操作系统的调用方法的流程示意图;56.图12为本公开实施例提供的又一种跨操作系统的调用方法的流程示意图;57.图13为本公开实施例提供的又一种跨操作系统的调用方法的流程示意图;58.图14为本公开实施例提供的又一种跨操作系统的调用方法的流程示意图;59.图15为本公开实施例的提供的又一种跨操作系统的调用方法的流程示意图;60.图16为本公开实施例的提供的又一种跨操作系统的调用方法的流程示意图;61.图17为本公开实施例提供的跨操作系统的调用方法的交互示意图;62.图18为本公开实施例提供的一种跨操作系统的调用装置的结构示意图;63.图19为本公开实施例提供的一种电子设备的框图。具体实施方式64.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开实施例的一些方面相一致的装置和方法的例子。65.在本公开实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开实施例。在本公开实施例和所附权利要求书中所使用的单数形式的“一种”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。66.应当理解,尽管在本公开实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”及“若”可以被解释成为“在……时”或“当……时”或“响应于确定”。67.下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的要素。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。68.在本公开的实施例之中,提出了一种异构计算引擎,该异构计算引擎,可以设置在第一主体,也可以设置在第二主体,本公开实施例对此不做限定。在本公开的一个实施例之中,异构计算引擎可以设置在第一主体之中,该异构计算引擎具有第一接口和第二接口,其中,第一接口符合第一主体的操作系统的规范,可以被第一主体所调用,第二接口符合第二主体的操作系统的规范,可以被第二主体所调用,同时,第二接口也可以调用第二主体之中的硬件资源或软件资源。当然在本公开的其他实施例之中,异构计算引擎还可以设置在第二主体。69.作为一种示例,该跨操作系统的调用系统可以包括第一主体、第二主体和异构计算引擎。异构计算引擎作为第一主体和第二主体之间的通信中介,实现第一主体和第二主体之间资源的相互调用。该异构计算引擎获取第一主体通过第一进程发送的调用指令,获取第二主体之中的第二进程,并建立第一进程和第二进程的跨进程通信通道,通过跨进程通信通道将调用指令发送至第二进程,以通过第二进程调用所述调用指令对应的服务;通过第二进程获取调用结果,并通过跨进程通信通道将调用结果发送至第一进程。在后续的实施例之中,将结合具体的实施例对本技术的方案进行详细介绍。70.图1为本公开实施例提供的一种跨操作系统的调用方法的流程示意图。在本公开的一个实施例之中,该方法可以应用于异构计算引擎。当然在本公开的其他实施例之中,该方法还可以用于其他的引擎,只要能实现第一主体和第二主体之间的资源调用即可。71.作为一种示例,图2为本公开实施例的跨操作系统的调用系统结构图。该跨操作系统的调用系统200,可以包括第一主体210,第二主体220以及异构计算引擎230,异构计算引擎230作为第一主体210和第二主体220之间的通信中介,实现第一主体210和第二主体220之间资源的相互调用。例如,第一主体210的操作系统为ios操作系统,第二主体220的操作系统为linux操作系统,可以通过异构计算引擎230获取到第一主体210发送的调用指令后,将调用指令转换为linux操作系统能够识别的调用指令,并将转换后的调用指令发送至第二主体220,第二主体220接收到调用指令后,将该调用指令指向或调用的目标资源发送至异构计算引擎230,异构计算引擎230将接收到的目标资源转换为ios操作系统能够识别的资源后,发送至第一主体210,从而实现了操作系统不同的第一主体210和第二主体220之间的资源调用。72.在本技术实施例的一种可能的情况下,第一主体210和第二主体220,可以为系统模块、驱动模块、内核、app、设备等等,范围不限。73.如图1所示,该方法包括以下步骤:74.步骤101,接收具有第一操作系统的第一主体发送的调用指令。75.其中,第一主体可以为设置在用于控制智能家电的app或驱动,本公开实施例中对第一主体不做限定。76.其中,操作系统(operatingsystem,简称os),是电子计算机系统中负责支撑应用程序运行环境以及用户操作环境的系统软件,同时也是计算机系统的核心与基石。操作系统是控制和管理计算机软硬件资源、合理组织计算机工作流程,以及方便用户操作的程序集合。它的职责常包括对硬件的直接监管、对各种计算资源(如内存、处理器时间等)的管理、以及提供诸如作业管理之类的面向应用程序的服务等等。操作系统类型,可以为安卓(android)操作系统、ios操作系统、linux操作系统、unix操作系统、macos操作系统以及windows操作系统,等等。77.本公开实施例中,在具有第一操作系统的第一主体调用第二主体的硬件资源和/或软件资源时,可以通过发送调用指令,异构计算引擎可以接收到第一主体发送的调用指令。其中,调用指令,用于调用第二主体的硬件资源或软件资源中至少一个。78.步骤102,选择对应的跨操作系统调用方式。79.其中,跨操作系统调用方式,可以为获取第一操作系统对应的第一接口和第二操作系统对应的第二接口,以及第二接口对应的目标文件,对目标文件之中的进程地址进行修改;执行所述修改之后的目标文件,并向第一操作系统之中应用程序返回第一返回结果;还可以为通过在第一主体和第二主体之间建立连接桥,通过连接桥实现第一主体和第二主体之间的资源调用;还可以为在第一主体和第二主体之间建立跨进程通信通道,通过跨进程通信通道实现第一主体的第一进程和第二主体的第二进程之间的资源调用,等等。80.作为本公开的一种可能的实现方式,异构计算引擎可以根据第二操作系统的类型选择对应的跨操作系统调用方式。也就是说,第一主体和第二主体分别对应有不同类型的操作系统时,异构计算引擎选择的跨操作系统调用方式也不相同。81.例如,第一主体的第一操作系统为ios操作系统,第二主体的第二操作系统为安卓操作系统,异构计算引擎可以选择在第一主体和第二主体之间建立连接桥的跨操作系统调用方式,还可以选择在第一主体和第二主体之间建立跨进程通信通道,通过跨进程通信通道实现第一主体的第一进程和第二主体的第二进程之间的资源调用的跨操作系统调用方式。82.还例如,第一主体的第一操作系统为ios操作系统,第二主体的第二操作系统为windows操作系统,异构计算引擎可以获取第一操作系统对应的第一接口和第二操作系统对应的第二接口,以及第二接口对应的目标文件,对目标文件之中的进程地址进行修改;执行所述修改之后的目标文件,并向第一操作系统之中应用程序返回第一返回结果的方式,以实现跨操作系统的调用。83.作为本公开的另一种可能的实现方式,异构计算引擎还可以根据调用指令对应的硬件资源选择对应的跨操作系统调用方式。84.例如,第一主体和第二主体之间进行资源调用时,调用的硬件资源对性能要求较高,如,调用图像资源,为了提高资源调用的效率,可以异构计算引擎可以选择在第一主体和第二主体之间建立连接桥的跨操作系统调用方式。85.步骤103,根据选择的跨操作系统调用方式将调用指令发送至具有第二操作系统的第二主体。86.本公开实施例中,异构计算引擎选择跨操作系统调用方式后,可以根据选择的跨操作系统调用方式将调用指令发送至具有第二操作系统的第二主体,以获取到调用结果。87.需要说明的是在以上实施例之中,异构计算引擎可以独立于第一操作系统和第二操作系统,也可以置于第一操作系统或第二操作系统之中,对此本公开实施例并无限制。88.本技术实施例的跨操作系统的调用方法,异构计算引擎接收具有第一操作系统的第一主体发送的调用指令后,选择对应的跨操作系统调用方式,进一步地,根据选择的跨操作系统调用方式将调用指令发送至具有第二操作系统的第二主体。由此,异构计算引擎确定适用于第一主体和第二主体的跨操作系统调用方式后,采用该跨操作系统调用方式实现了跨操作系统的资源调用。89.需要说明的是,上述的这些可能的实现方式可以单独被执行,也可以结合在一起被执行,本公开实施例并不对此作出限定。90.在本公开实施例的一种可能的情况下,可以异构计算引擎可以获取第一操作系统对应的第一接口和第二操作系统对应的第二接口,以及第二接口对应的目标文件,对目标文件之中的进程地址进行修改;执行所述修改之后的目标文件,并向第一操作系统之中应用程序返回第一返回结果,下面结合图3进行详细介绍,图3为本公开实施例提供的另一种跨操作系统的调用方法的流程示意图。在本公开的一个实施例之中,该方法可应用于异构计算引擎。当然在本公开的其他实施例之中,该方法还可以用于其他的引擎。91.如图3所示,该跨操作系统的调用方法,还可以包括以下步骤:92.步骤301,接收第一操作系统之中应用程序的第一调用指令,其中,第一调用指令与针对第一操作系统的第一接口对应。93.在本公开的一个实施例之中,异构计算引擎介于第一操作系统和第二操作系统之间。因此异构计算引擎需要同时与第一操作系统和第二操作系统进行通信。在本公开的一个实施例之中,异构计算引擎可以与第一操作系统和第二操作系统之中的app进行通信,同时,异构计算引擎还可以调用第一操作系统和第二操作系统之中的资源,例如硬件资源或软件资源等。94.在本公开的一个实施例之中,以第一操作系统之中的app调用第二操作系统之中硬件资源为例进行描述。当然在本公开的其他实施例之中,第二操作系统之中的app也可以调用第一操作系统之中的硬件资源。在本公开的实施例之中,异构计算引擎具有第一接口和第二接口,其中,第一接口用于第一操作系统之中app的调用,即第一接口在第一操作系统之中是可见的,第一操作系统之中的app可以调用该第一接口。其中,第二接口可以用于与第二操作系统之中的底层硬件资源进行通信。在本公开的一个实施例之中,该第二接口可与一种硬件资源对应,在该实施例之中,第一接口符合第一操作系统的要求,第二接口符合第二操作系统的要求,第一接口和第二接口对应一种硬件资源。在本公开的实施例之中,异构计算引擎之中具有多个第一接口,以及多个第二接口,多个第一接口和多个第二接口分别与多种硬件资源或软件资源对应。需要说明的是,在本公开的实施例之中,不仅可以实现硬件资源的跨系统调用,也可以实现软件资源的跨系统调用,例如通过ios系统的app调用安卓系统的app之中的一些软件。95.在本公开的一个实施例之中,异构计算引擎可通过注册的方式,获取第二操作系统之中的多种硬件资源。例如异构计算引擎向第二操作系统之中的多种硬件资源发送注册请求,请求各种硬件资源向其进行注册,从而获知各种硬件资源的能力,例如是否支持声卡,以及声卡的性能等等。在获知各种硬件资源的能力之后,异构计算引擎为多种硬件资源建立多个第二接口,其中,多个第二接口均支持第二操作系统。在建立的多个第二接口之中,分别为多个第二接口建立多个第一接口,其中,多个第一接口均支持第一操作系统,可以由第一操作系统之中的app进行调取。96.在本公开的其他实施例之中,异构计算引擎还可向第一操作系统之中的多个app注册其硬件资源,在该实施例之中,异构计算引擎将第二操作系统注册至该异构计算引擎的硬件资源作为自身的硬件资源向第一操作系统之中的多个app进行注册,从而第一操作系统之中的app可以通过该异构计算引擎直接调用第二操作系统的硬件资源。97.例如,移动终端之中的影视类app可以直接通过该异构计算引擎调用用于控制智能电视的app进行影视播放,或者音乐类app可以直接通过该异构计算引擎调用用于控制智能音箱的app进行音乐播放,其中,移动终端之中的影视类app和用于控制智能电视的app的操作系统不同,移动终端之中的音乐类app的操作系统和用于控制智能音箱的app的操作系统不同。98.步骤302,获取第一接口所对应的第二操作系统的第二接口。99.在本公开的一个实施例之中,异构计算引擎可以提前建立第一接口和第二接口之间的关联关系,当第一接口被调用时,即可根据该关联关系获知第一接口对应的第二接口。例如,在本公开的实施例之中,第一接口和第二接口均对应智能电视的显示功能。当第一操作系统之中的app需要调用硬件资源或软件资源进行显示时,可以调用第一操作系统之中的第一接口提供的硬件资源或软件资源进行显示。异构计算引擎在第一接口被调取时,调取第一接口所对应的第二接口,通过第二接口调用第二操作系统之中用于显示的硬件资源或软件资源。100.步骤303,通过第二接口将第一调用指令发送至第二主体。101.在本公开实施例中,获取到与第一接口对应的针对第二操作系统的第二接口后,可以通过第二接口将第一调用指令发送至第二主体。102.步骤304,获取第二接口对应的目标文件。103.在本公开的一个实施例中,首先获取第二接口对应的动态共享库,之后再获取动态共享库所对应的目标文件。104.在本公开的实施例之中,动态共享库可包括基础库和驱动库。在本公开的实施例之中,基础库可包括libc.so,libz.so,libpthread.so等。在本公开的其他实施例之中,驱动库包括libgles_xxx.so、gralloc_xx.so、audio_xx.so等。其中,基础库用于维持操作系统正常启动、加载程序所需要的基础库。比如libc.so是linuxos需要的。而驱动库是硬件厂商提供的,提供给oem厂商,提供某个特定功能的库(比如显示驱动、声音驱动等等)。105.步骤305,对目标文件之中的进程地址进行修改,以将进程地址修改为异构计算引擎的返回地址。106.在本公开的一个实施例之中,对目标文件之中的进程地址进行修改,使得目标文件的进程地址修改为异构计算引擎的返回地址,从而使得目标文件执行之后,将目标文件的执行结果反馈至该异构计算引擎的返回地址。107.在本公开的一个实施例之中,第二操作系统可以为linux系统,目标文件为elf(executablelinkableformat,可执行和可链接文件格式)文件,而第一操作系统可以为安卓、ios、windows系统等等。108.步骤306,执行修改之后的目标文件,并将返回地址接收到的目标文件的第二返回结果生成第一返回结果并发送至第一操作系统之中的应用程序。109.在本公开的一个实施例之中,由于目标文件的进程地址已被修改为异构计算引擎的返回地址,因此修改之后的目标文件在被执行之后,会将执行结果反馈至异构计算引擎,再通过异构计算引擎将该执行结果作为第一返回结果反馈至第一操作系统之中的应用程序,从而实现跨操作系统的资源调用。110.需要说明的是,上述的这些可能的实现方式可以单独被执行,也可以结合在一起被执行,本公开实施例并不对此作出限定。111.图4为本公开实施例提供的另一种跨操作系统的调用方法的流程示意图。在本公开的一个实施例之中,该方法可应用于异构计算引擎。当然在本公开的其他实施例之中,该方法还可以用于其他的引擎,只要能实现第一操作系统和第二操作系统之间的调用即可。如图4所示,该方法包括以下步骤:112.步骤401、接收第一操作系统之中应用程序的第一调用指令,其中,第一调用指令与针对第一操作系统的第一接口对应。113.本公开实施例中,步骤401的实现过程,可以参见上述实施例中步骤301的实现过程,在此不再赘述。114.步骤402、获取第一调用指令对应的第一进程地址,其中,第一进程地址用于接收在第一操作系统之中第一调用指令对应的第一返回结果。115.在本公开的一个实施例之中,在第一操作系统之中,每个调用指令都对应一个进程地址,这样该调用指令产生返回结果时,可以将返回结果返回至该调用指令对应的进程地址。在该实施例之中,第一调用指令对应第一进程地址,该进程地址用于接收在第一操作系统之中执行该第一调用指令时产生的第一返回结果。116.步骤403、根据第一调用指令生成第二调用指令,并根据第一接口获取第二调用指令的第二接口。117.在本公开的实施例之中,由于第一接口和第二接口具有相同的硬件资源,因此异构计算引擎在获知第一调用指令之后,即可获知第一操作系统之中app所希望调用的硬件资源,因此在第二操作系统之中根据第一调用指令生成对应的第二调用指令,并获取对应的第二接口。118.在本公开的一个实施例之中,异构计算引擎可以提前建立第一接口和第二接口之间的关联关系,当第一接口被调用时,即可根据该关联关系获知第一接口对应的第二接口。当第一操作系统之中的app需要调用硬件资源进行显示时,可以调用第一操作系统之中的第一接口提供的硬件资源进行显示。异构计算引擎在第一接口被调取时,调取第一接口所对应的第二接口,通过第二接口调用第二操作系统之中用于显示的硬件资源。119.步骤404、获取第二调用指令对应的第二进程地址,并建立第一进程地址和第二进程地址之间的对应关系,其中,第二进程地址用于接收在第二操作系统之中第二调用指令对应的第二返回结果。120.在本公开的实施例之中,第二进程地址为在第二操作系统之中接收第二调用指令的返回结果。因此,在本公开的一个实施例之中,需要在异构计算引擎之中建立第一进程地址和第二进程地址之间的对应关系,第一进程地址适用于第一操作系统,第二进程地址适用于第二操作系统。这样,异构计算引擎在接收到第二进程地址的第二返回结果之后,可以通过第二进程地址对应的第一进程地址向第一操作系统之中的app继续返回相应返回结果。121.步骤405、获取第二接口对应的目标文件。122.步骤406、对目标文件之中的进程地址进行修改,以将进程地址修改为异构计算引擎的返回地址。123.步骤407、执行修改之后的目标文件,并将返回地址接收到的目标文件的第二返回结果生成第一返回结果并发送至第一操作系统之中的应用程序。124.本公开实施例中,步骤405至步骤407的的实现过程,可以参见上述实施例中步骤302至步骤304的实现过程,在此不再赘述。125.本公开实施例的跨操作引擎的调用方法,异构计算引擎接收修改之后的目标文件执行之后生成的第二返回结果,之后再根据第一进程地址和第二进程地址的对应关系,确定对应的第一进程地址。异构计算引擎根据第一进程地址和第二返回结果的内容生成第一返回结果,并反馈至第一进程地址,第一操作系统之中的app即可从该第一进程地址获取该第一返回结果,从而实现跨操作系统的资源调用。126.需要说明的是,上述的这些可能的实现方式可以单独被执行,也可以结合在一起被执行,本公开实施例并不对此作出限定。127.在本公开的一个实施例之中,异构计算引擎可通过以下方式对目标文件进行修改。下面结合图5进行详细介绍,图5为本公开实施例提供的一种目标文件修改方法的流程示意图。如图5所示,该方法可以包括以下步骤:128.步骤501、将目标文件加载至内存。129.在本公开的一个实施例之中,可以通过memorymapping(内存映射)的方式将目标文件加载到内存。130.步骤502、获取目标文件对应的got(globaloffsettable,全局偏移列表)。131.在本公开的一个实施例之中,该got位于目标文件之中。在本公开的其他实施例之中,第二操作系统可以为linux系统,目标文件为elf(executablelinkableformat,可执行和可链接文件格式)文件,该got位于elf文件之中。该got记录elf文件之中各个函数符号在内存之中的位置。132.步骤503、根据got获取内存之中的进程地址,并将内存之中的进程地址修改为第二进程地址。133.在该实施例之中,由于got之中记录有各个函数符号的位置,因此可以根据got找到进程地址在内存之中的位置,并在内存之中将进程地址修改为第二进程地址,从而确保该目标文件被执行之后,结果可以反馈至异构计算引擎的第二进程地址。134.在本公开的一个实施例之中,由于第一操作系统和第二操作系统可能存在不同的系统库,因此还可能存在系统库不同步的问题,即第一操作系统的第一系统库和第二操作系统的第二系统库可能存在不同,因此会导致系统库不兼容的问题。因此在本公开的一个实施例之中,还需要对系统库进行同步。具体而言,异构计算引擎根据got获取内存之中的第二系统库的地址,并将第二系统库的地址修改为第一系统库的地址,从而满足两个操作系统的系统库同步问题。135.通过本公开的实施例,可以实现跨操作系统的资源调用,本公开实施例在第一操作系统和第二操作系统之间设置异构计算引擎,该异构计算引擎获取第一操作系统的app(应用程序)的第一调用指令,并根据该第一调用指令之中的第一接口获取对应的第二操作系统的第二接口,以及对目标文件的进程地址进行修改,使得目标文件执行之后的执行结果能够反馈至该异构计算引擎,之后再通过该异构计算引擎转发至第一操作系统的app,从而实现跨操作系统的资源调用。即,第一操作系统的app可以调用第二操作系统之中的硬件资源或软件资源,例如,ios操作系统的app可以直接调用具有安卓操作系统或linux操作系统的app的资源。136.需要说明的是,上述的这些可能的实现方式可以单独被执行,也可以结合在一起被执行,本公开实施例并不对此作出限定。137.在本公开实施例的一种可能的情况下,可以异构计算引擎可以在第一主体和第二主体之间建立连接桥,以根据连接桥实现第一主体和第二主体之间的资源调用,下面结合图6进行详细介绍,图6为本公开实施例提供的另一种跨操作系统的调用方法的流程示意图。在本公开的一个实施例之中,该方法可应用于异构计算引擎。当然在本公开的其他实施例之中,该方法还可以用于其他的引擎。138.如图6所示,该跨操作系统的调用方法,还可以包括以下步骤:139.步骤601,接收具有第一操作系统的第一主体发送的调用指令。140.步骤602,根据第二操作系统的类型选择对应的跨操作系统调用方式。141.步骤603,如果第一操作系统的类型与第二操作系统的类型一致,则在第一主体和第二主体之间建立第一连接桥,第一主体通过第一连接桥将调用指令发送至第二主体。142.其中,第一连接桥,用于具有相同操作系统类型的第一主体和第二主体之间进行资源调用,能够实现第一主体和第二主体之间的跨进程通信。即第一主体的第一操作系统和第二主体的第二操作系统之间无需对资源进行转换,可以通过第一连接桥进行资源的直接传输。143.在本公开实施例中,获取到第一主体的第一操作系统类型与第二主体的第二操作系统类型后,确定第一操作系统类型与第二操作系统类型一致,则在第一主体和第二主体之间建立第一连接桥,以使得第一主体通过第一连接桥将调用指令发送至第二主体。144.例如,假设第一主体为设置于移动终端的app,第二主体为控制智能音箱的app,第一主体的操作系统类型为ios操作系统,第二主体的操作系统也为ios操作系统,则在第一主体和第二主体之间建立第一连接桥,以使得第一主体和第二主体之间通过第一连接桥进行资源的调用。145.步骤604,如果第一操作系统的类型与第二操作系统的类型不一致,则在第一主体和第二主体之间建立第二连接桥,第一主体通过第二连接桥将调用指令发送至第二主体。146.其中,第二连接桥,用于具有不同操作系统类型的第一主体和第二主体之间进行资源调用,可以根据第一主体的第一操作系统类型和第二主体的第二操作系统类型进行资源的转换,以实现跨操作系统的调用。147.在本公开实施例中,获取到第一主体的第一操作系统类型与第二主体的第二操作系统类型后,确定第一操作系统类型与第二操作系统类型不一致,则在第一主体和第二主体之间建立第二连接桥,以使得第一主体通过第二连接桥将调用指令发送至第二主体。148.例如,假设第一主体为设置于移动终端的app,第二主体为用于控制智能音箱的app,第一主体的操作系统类型为ios操作系统,第二主体的操作系统为android操作系统,则在第一主体和第二主体之间建立第二连接桥,以使得第一主体和第二主体之间通过第二连接桥进行资源的调用。149.本公开实施例的跨操作系统的调用方法,通过异构计算引擎获取第一主体的第一操作系统类型和第二主体的第二操作系统类型,如果第一操作系统类型与第二操作系统类型一致,则在第一主体和第二主体之间建立第一连接桥,否则,在第一主体和第二主体之间建立第二连接桥。由此,确定第一主体和第二主体的操作系统类型不一致时,在第一主体和第二主体之间建立能够实现用于不同操作系统的设备之间资源调用的第二连接桥,以通过第二连接桥实现跨操作系统的调用。150.需要说明的是,上述的这些可能的实现方式可以单独被执行,也可以结合在一起被执行,本公开实施例并不对此作出限定。151.在本公开实施例的一种可能的情况下,第二主体可以为多个,异构计算引擎可以将多个第二主体的硬件资源和/或软件资源发送至第一主体,以使得第一主体可以直接调用第二主体的资源。下面结合图7进行详细介绍,图7为本公开实施例提供的另一种跨操作系统的调用方法的流程示意图。在本公开的一个实施例之中,该方法可应用于异构计算引擎。当然在本公开的其他实施例之中,该方法还可以用于其他的引擎,只要能实现第一主体和第二主体之间的调用即可。152.如图7所示,该跨操作系统的调用方法,还可以包括以下步骤:153.步骤701,向多个第二主体发送资源上报消息。154.其中,资源上报消息,是指异构计算引擎向多个第二主体发送的,用于获取多个第二主体的硬件资源信息和/或软件资源信息的消息。155.本公开实施例中,为了实现将多个第二主体的资源信息存储在第一主体中,异构计算引擎可以向多个第二主体发送资源上报消息,以使得多个第二主体接收到资源上报消息后,将对应的资源信息发送至异构计算引擎。156.需要说明的是,在本公开的实施例中,第一主体和多个第二主体之间不仅可以实现硬件资源的跨操作系统的调用,也可以实现软件资源的跨操作系统的调用。例如,通过ios操作系统的app调用安卓系统的app之中的一些软件。157.步骤702,接收多个第二主体发送的资源信息。158.本公开实施例中,异构计算引擎向多个第二主体发送资源上报消息后,多个第二主体接收到资源上报消息后,将对应的资源信息发送至异构计算引擎,以使得异构计算引擎接收到多个第二主体发送的资源信息。159.需要说明的是,异构计算引擎接收到的多个第二主体发送的资源信息,可以为硬件资源信息,也可以为软件资源信息,也可以为硬件资源信息和软件资源信息。160.例如,异构计算引擎可以接收到多个第二主体发送的各硬件资源的能力,例如是否支持声卡,以及声卡的性能等等。161.步骤703,将多个第二主体发送的资源信息发送至第一主体,以使第一主体根据多个第二主体的资源信息生成资源调用列表,以供第一主体进行调用。162.本公开实施例中,异构计算引擎接收到多个第二主体发送的资源信息后,可以将多个第二主体发送的资源信息发送至第一主体,以使第一主体接收到多个第二主体的资源信息后,根据多个第二主体的资源信息生成资源调用列表,以供第一主体进行调用。163.本公开实施例中,第一主体接收到多个第二主体的资源信息后,根据多个第二主体的资源信息生成的资源调用列表中,可以包括有多个第二主体的硬件资源信息和/或软件资源信息。164.本公开实施例的跨操作系统的调用方法,通过异构计算引擎向多个第二主体发送资源上报消息,接收多个第二主体发送的资源信息后,将多个第二主体发送的资源信息发送至第一主体,以使第一主体根据多个第二主体的资源信息生成资源调用列表,以供第一主体进行调用。由此,第一主体根据多个第二主体发送的资源信息生成资源调用列表后,在调用第二主体的资源信息时,可以从资源调用列表中直接调用,不仅实现了跨操作系统的资源调用,还提高了资源调用的效率。165.需要说明的是,上述的这些可能的实现方式可以单独被执行,也可以结合在一起被执行,本公开实施例并不对此作出限定。166.作为本公开实施例的一种可能的情况,在第一主体调用第二主体的资源时,异构计算引擎还可以待调用的第二主体的操作系统类型,确定采用第一连接桥或第二连接桥,将第一主体发送的资源调用请求发送至第二主体,以实现对第二主体的资源调用。下面结合图8进行详细介绍,图8为本公开实施例提供的又一种跨操作系统的调用方法的流程示意图。167.如图8所示,该跨操作系统的调用方法,还可以包括以下步骤:168.步骤801,接收第一主体的资源调用请求,其中,资源调用请求之中具有目标资源的资源地址。169.本公开实施例中,在第一主体调用第二主体的资源时,第一主体可以向异构计算引擎发送携带有目标资源的资源地址的资源调用请求,以使得异构计算引擎接收到第一主体的资源调用请求。170.可选地,目标资源的资源地址,可以为目标资源的路由地址。171.需要说明的是,第一主体的操作系统类型与多个第二主体的操作系统类型可以一致,也可以不一致,在此不做限定。172.步骤802,根据目标资源的资源地址确定承载目标资源的第二主体。173.本公开实施例中,异构计算引擎接收到第一主体发送的具有目标资源的资源地址的资源调用请求之后,可以根据目标资源的资源地址确定承载目标资源的第二主体。174.步骤803,根据目标资源的第二主体的第二操作系统类型,调用第一连接桥或第二连接桥将资源调用请求发送至目标资源的第二主体,以对目标资源的第二主体的资源进行调用。175.本公开实施例中,异构计算引擎根据目标资源的资源地址确定承载目标资源的第二主体后,可以获取目标资源的第二主体的第二操作系统类型,以根据目标资源的第二主体的第二操作系统类型,调用第一连接桥或第二连接桥将资源调用请求发送至目标资源的第二主体,以对目标资源的第二主体的资源进行调用。176.在本公开实施例的一种可能的方式中,异构计算引擎获取到目标资源的第二主体的第二操作系统类型后,确定第一主体的第一操作系统类型和目标资源的第二主体的第二操作系统类型一致时,则调用第一连接桥将资源调用请求发送至目标资源的第二主体,以对目标资源的第二主体的资源进行调用。177.举例而言,假设第一主体的操作系统为ios操作系统,目标资源的第二主体的操作系统也为ios操作系统,则异构计算引擎调用第一连接桥将资源调用请求发送至目标资源的第二主体。178.在本公开实施例的另一种可能的方式中,异构计算引擎获取到目标资源的第二主体的第二操作系统类型后,确定第一主体的第一操作系统类型和目标资源的第二主体的第二操作系统类型不一致时,则调用第二连接桥将资源调用请求发送至目标资源的第二主体,以对目标资源的第二主体的资源进行调用。由此,确定第一主体和第二主体的操作系统类型不一致时,通过在第一主体和第二主体之间建立的第二连接桥将资源调用请求发送至目标资源的第二主体,从而实现了跨操作系统的资源调用。179.举例而言,假设第一主体的操作系统为ios操作系统,目标资源的第二主体的操作系统为windows操作系统,则异构计算引擎调用第二连接桥将资源调用请求发送至目标资源的第二主体,以对目标资源的第二主体的资源进行调用。180.本公开实施例的跨操作系统的调用方法,异构计算引擎接收第一主体的资源调用请求后,根据资源调用请求携带的目标资源的资源地址确定承载目标资源的第二主体,根据目标资源的第二主体的第二操作系统类型,调用第一连接桥或第二连接桥将资源调用请求发送至目标资源的第二主体,以对目标资源的第二主体的资源进行调用。由此,在确定第一主体调用资源的第二主体后,根据第一主体和第二主体的操作系统类型,确定采用第一连接桥或第二连接桥将资源调用请求发送至目标资源的第二主体,从而实现了跨操作系统的资源调用。181.需要说明的是,上述的这些可能的实现方式可以单独被执行,也可以结合在一起被执行,本公开实施例并不对此作出限定。182.本公开提出了另一种跨操作系统的调用方法。图9为本公开实施例提供的又一种跨操作系统的调用方法的流程示意图。该跨操作系统的调用方法可以单独被执行,也可以结合本公开中的任一个实施例或是实施例中的可能的实现方式一起被执行,还可以结合相关技术中的任一种技术方案一起被执行。183.如图9所示,该跨操作系统的调用方法,可以包括以下步骤:184.步骤901,获取第一主体的第一操作系统类型。185.步骤902,获取第二主体的第二操作系统类型。186.其中,第二主体可以为一个,也可以为多个,在此不做限定。187.步骤901至902可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。188.步骤903,如果第一操作系统类型与第二操作系统类型一致,建立第一主体和第二主体之间的共享内存,通过共享内存建立第一连接桥。189.本公开实施例中,异构计算引擎获取到第一主体的第一操作系统类型和第二主体的第二操作系统类型后,确定第一操作系统类型与第二操作系统类型一致时,可以在异构计算引擎中划分出一块存储区域,以建立第一主体和第二主体之间的共享内存,以通过共享内存建立第一连接桥。190.例如,异构计算引擎可以在共享内存中存储第一主体的资源信息和第二主体的资源信息,以第一主体和第二主体之间进行资源调度时,从共享内存中获取到资源信息。191.需要说明的是,共享内存中可以存储有第一主体和多个第二主体的硬件资源和/或软件资源,在本公开的实施例对此不做限定。192.由此,确定第一主体的第一操作系统类型和第二主体的第二操作系统类型一致时,建立第一主体和第二主体之间的共享内存,以通过共享内存建立第一连接桥,实现了第一主体和第二主体之间通过共享内存进行资源调度,提高了资源调用的效率。193.需要说明的是,上述的这些可能的实现方式可以单独被执行,也可以结合在一起被执行,本公开实施例并不对此作出限定。194.本公开提出了另一种跨操作系统的调用方法。图10为本公开实施例提供的又一种跨操作系统的调用方法的流程示意图。该跨操作系统的调用方法可以单独被执行,也可以结合本公开中的任一个实施例或是实施例中的可能的实现方式一起被执行,还可以结合相关技术中的任一种技术方案一起被执行。195.如图10所示,该跨操作系统的调用方法,可以包括以下步骤:196.步骤1001,获取第一主体的第一操作系统类型。197.步骤1002,获取第二主体的第二操作系统类型。198.其中,第二主体可以为一个,也可以为多个,在此不做限定。199.步骤1001至1002可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。200.步骤1003,如果第一操作系统类型与第二操作系统类型一致,建立第一主体和第二主体之间的硬件组件映射表,通过硬件组件映射表建立第一连接桥。201.其中,硬件组件映射表之中具有第一主体和第二主体之中的硬件组件的映射关系。202.本公开实施例中,第一主体的第一操作系统和第二主体的第二操作系统类型相同但底层硬件不同时,可以通过硬件组件映射表建立第一连接桥的方式扩展动态选择对接硬件支持能力,比如第一操作系统和第二操作系统的类型均为linux操作系统,但在不同gpu(graphicsprocessingunit,图形处理器)结构下,可以通过硬件组件映射表中第一操作系统的硬件服务备份替换第二操作系统的硬件服务,从而提供了一种动态自动对应支持的组件库的映射的方法。203.本公开实施例中,在第一主体和第二主体之间建立第一连接桥之后,异构计算引擎通过第一连接桥进入第二主体的第二操作系统,检测第二主体的多个硬件组件,确定第二主体中存在检测失败的硬件组件,则通过硬件组件映射表中硬件组件的映射关系,确定与检测失败的硬件组件映射的目标硬件组件,直至第二主体的多个硬件组件全部通过检测。204.本公开实施例中,异构计算引擎进入第一主体的第一操作系统后,完成第一主体的硬件启动初始化,第一操作系统开始加载使用第一主体硬件的各个服务,准备进入第二主体的第二操作系统,确定第一主体的第一操作系统和第二主体的第二操作系统类型一致时,可以通过连接桥进入第二主体的第二操作系统。205.本公开实施例中,当第一次启动第二主体的第二操作系统时,第一连接桥加载运行检测第二主体的各个硬件组件的服务,通过硬件检测过程,检查第二主体的各个硬件组件的功能在第二操作系统是否都可以正常工作。206.如果第二主体的各个硬件组件的功能在第二操作系统是否都可以正常工作,完成第一连接桥的对接进入第二操作系统。207.如果有硬件检测失败的硬件组件,向第二操作系统推荐硬件组件映射表,以用表中的硬件组件项进行备份及映射操作。若再次检测有不通过的硬件组件时,硬件组件映射表对该硬件组件有多个映射项支持,则依次尝试各个映射项直到该硬件组件检测通过。如果还有未通过的硬件组件,第一连接桥启动策略算法遍历链接(或备份镜像)第一操作系统与第二操作系统对该硬件组件的服务,直到该硬件组件在第二操作系统能够正确支持通过硬件检测,完成动态适配。并且标记更新自动适配第一连接桥,使得再启动第二操作系统时,通过第一连接桥直接进入第二操作系统。该过程可以提供用户交互接口,可以主动触发重新检测;第二操作系统正常启动后,更新后的硬件组件映射表,在用户允许的前提下,通过服务器可以更新给操作系统的提供商。208.由此,确定第一主体的第一操作系统类型和第二主体的第二操作系统类型一致时,建立第一主体和第二主体之间的硬件组件映射表,通过硬件组件映射表建立第一连接桥,使得在第一操作系统和第二操作系统类型相同但底层硬件不同时,能够扩展动态选择对接硬件支持能力。209.需要说明的是,上述的这些可能的实现方式可以单独被执行,也可以结合在一起被执行,本公开实施例并不对此作出限定。210.本公开提出了另一种跨操作系统的调用方法。图11为本公开实施例提供的又一种跨操作系统的调用方法的流程示意图。该跨操作系统的调用方法可以单独被执行,也可以结合本公开中的任一个实施例或是实施例中的可能的实现方式一起被执行,还可以结合相关技术中的任一种技术方案一起被执行。211.如图11所示,该跨操作系统的调用方法,可以包括以下步骤:212.步骤1101,获取第一主体的第一操作系统类型。213.步骤1102,获取第二主体的第二操作系统类型。214.其中,第二主体可以为一个,也可以为多个,在此不做限定。215.步骤1101至1102可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。216.步骤1103,如果第一操作系统类型与第二操作系统类型不一致,根据第二主体之中资源的资源地址建立路由选择适配表。217.其中,路由选择适配表用于建立第二连接桥,即第二连接桥可以通过路由选择适配表建立。218.本公开实施例中,异构计算引擎向多个第二主体发送资源上报信息之后,接收到多个第二主体发送的资源信息中包括各第二主体之中资源的资源地址。异构计算引擎确定第一主体的第一操作系统类型和第二主体的第二操作系统类型不一致时,根据多个第二主体之中资源的资源地址建立路由选择适配表,以根据路由选择适配表在第一主体和第二主体之间建立第二连接桥。219.在本公开实施例中,路由选择适配表中可以存储有各目标资源的资源地址与获取各目标资源对应的路由路径之间的对应关系。例如,多个第二主体的目标资源的硬件属于不同的厂商时,各硬件资源的资源地址并不相同,可以从路由选择适配表中确定与各硬件资源的资源地址对应的路由路径。220.由此,通过建立路由选择适配表,在跨操作系统的调用过程中,根据上层业务逻辑,选择适配路由路径,进行不同模块功能业务处理,最终控制不同类型硬件和/或软件。221.需要说明的是,上述的这些可能的实现方式可以单独被执行,也可以结合在一起被执行,本公开实施例并不对此作出限定。222.本公开提出了另一种跨操作系统的调用方法。图12为本公开实施例提供的又一种跨操作系统的调用方法的流程示意图。该跨操作系统的调用方法可以单独被执行,也可以结合本公开中的任一个实施例或是实施例中的可能的实现方式一起被执行,还可以结合相关技术中的任一种技术方案一起被执行。223.如图12所示,该跨操作系统的调用方法,还可以包括以下步骤:224.步骤1201,接收第一主体的资源调用请求,其中,资源调用请求之中具有目标资源的资源地址。225.步骤1202,根据目标资源的资源地址确定承载目标资源的第二主体。226.步骤1201至1202可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。227.步骤1203,如果目标资源的第二主体的第二操作系统类型与第一主体的第一操作系统类型不一致,则从资源调用请求之中获取目标资源的资源地址。228.其中,目标资源的资源地址,可以为承载目标资源的第二主体的路由的ip地址。229.本公开实施例中,异构计算引擎根据目标资源的资源地址确定承载目标资源的第二主体后,获取第二主体的第二操作系统类型后,确定目标资源的第二主体的第二操作系统类型与第一主体的第一操作系统类型不一致,则从资源调用请求之中获取目标资源的资源地址。例如,目标资源的资源地址为智能音箱的路由的ip地址。230.步骤1204,根据目标资源的资源地址查找路由选择适配表,以从路由选择适配表之中获取对应的路由路径。231.其中,路由选择适配表中存储有目标资源的资源地址和路由路径之间的对应关系。232.本公开实施例中,异构计算引擎从资源调用请求之中获取到目标资源的资源地址后,可以根据目标资源的资源地址查找路由选择适配表,以根据路由选择适配表中存储的目标资源的资源地址和路由路径之间的关系,获取到与目标资源的资源地址对应的路由路径。233.步骤1205,根据路由路径将资源调用请求发送至对应的目标资源的第二主体。234.本公开实施例中,异构计算引擎确定目标资源的资源地址对应的路由路径后,根据路由路径将资源调用请求发送至对应的目标资源的第二主体。235.可以理解的是,第一主体与不同的第二主体之间进行跨操作系统的资源调用时,第二主体不同时,适配的路由路径也并不相同。236.由此,通过根据目标资源的资源地址查找路由选择适配表,以根据在路由选择适配表之中确定的路由路径将资源调用请求发送至对应的目标资源的第二主体,实现了在跨操作系统的调用过程中,选择适配的路由路径,进行不同模块功能业务处理,以控制不同类型硬件和/或软件。237.需要说明的是,上述的这些可能的实现方式可以单独被执行,也可以结合在一起被执行,本公开实施例并不对此作出限定。238.本公开提出了另一种跨操作系统的调用方法。图13为本公开实施例提供的又一种跨操作系统的调用方法的流程示意图。该跨操作系统的调用方法可以单独被执行,也可以结合本公开中的任一个实施例或是实施例中的可能的实现方式一起被执行,还可以结合相关技术中的任一种技术方案一起被执行。239.如图13所示,该跨操作系统的调用方法,可以包括以下步骤:240.步骤1301,获取第一主体的第一操作系统类型。241.步骤1302,获取第二主体的第二操作系统类型。242.其中,第二主体可以为一个,也可以为多个,在此不做限定。243.步骤1301至1302可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。244.步骤1303,如果第一操作系统类型与第二操作系统类型不一致,获取第二主体之中每个资源的io接口,并针对每个资源的io接口生成对应的虚拟io接口。245.本公开实施例中,异构计算引擎获取到第二主体之中每个资源的io(input/output,输入输出)接口后,可以针对每个资源的io接口生成对应的虚拟io接口。246.其中,io接口用于通过第二主体的cpu(centralprocessingunit,中央处理器)输入不同的命令和参数,并控制相关的i/o电路和简单的外设作相应的操作。例如,可以获取到第二主体中的io接口芯片如定时/计数器、中断控制器、dma控制器、并行接口等。247.步骤1304,建立第一主体和虚拟io接口的映射关系。248.本公开实施例中,针对第二主体中每个资源的io接口生成对应的虚拟io接口后,可以建立第一主体和虚拟io接口的映射关系。249.步骤1305,通过映射关系建立第二连接桥。250.本公开实施例中,建立第一主体和虚拟io接口的映射关系后,可以通过映射关系建立第二连接桥,以通过第二连接桥实现第一主体和第二主体之间的跨系统资源调用。251.作为一种示例,假设针对第二主体的定时器的io接口生成对应的虚拟io接口后,可以建立第一主体与定时器的虚拟io接口的映射关系,以根据映射关系建立第二连接桥。由此,在第一主体的第一操作系统类型与第二主体的第二操作系统类型不一致时,可以通过第一主体与虚拟io接口的映射关系建立的第二连接桥实现第一主体和第二主体之间的跨操作系统的资源调用。252.需要说明的是,上述的这些可能的实现方式可以单独被执行,也可以结合在一起被执行,本公开实施例并不对此作出限定。253.本公开提出了另一种跨操作系统的调用方法。图14为本公开实施例提供的又一种跨操作系统的调用方法的流程示意图。该跨操作系统的调用方法可以单独被执行,也可以结合本公开中的任一个实施例或是实施例中的可能的实现方式一起被执行,还可以结合相关技术中的任一种技术方案一起被执行。254.如图14所示,该跨操作系统的调用方法,可以包括以下步骤:255.步骤1401,获取第一主体的第一操作系统类型。256.步骤1402,获取第二主体的第二操作系统类型。257.其中,第二主体可以为一个,也可以为多个,在此不做限定。258.步骤1401至1402可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。259.步骤1403,如果第一操作系统类型与第二操作系统类型不一致,建立第一主体和第二主体之间的内存映射关系。260.本公开实施例中,异构计算引擎确定第一主体的第一操作系统类型与第二主体的第二操作系统类型不一致时,可以建立第一主体和第二主体之间的内存映射关系。261.可选地,异构计算引擎可以动态的确定一定区域的内存,并给出内存访问基址,并建立第一主体和内存访问基址之间的内存映射关系,以及建立第二主体和内存访问基址之间的内存映射关系,从而建立第一主体和第二主体之间的内存映射关系。262.步骤1404,根据内存映射关系建立第二连接桥。263.本公开实施例中,确定第一主体和第二主体之间的内存映射关系后,可以根据内存映射关系建立第二连接桥,以实现第一主体和第二主体之间的跨操作系统的资源调用。264.由此,在确定第一操作系统类型与第二操作系统类型不一致时,建立第一主体和第二主体之间的内存映射关系,根据内存映射关系建立第二连接桥,从而实现了第一主体和第二主体之间的内存共享,以实现第一主体和第二主体之间的跨操作系统的资源调用。265.需要说明的是,上述的这些可能的实现方式可以单独被执行,也可以结合在一起被执行,本公开实施例并不对此作出限定。266.在本公开实施例的一种可能的情况下,可以异构计算引擎可以在第一主体和第二主体之间建立跨进程通信通道的方式,实现第一主体和第二主体之间的资源调用,下面结合图15进行详细介绍,图15为本公开实施例提供的又一种跨操作系统的调用方法的流程示意图。在本公开的一个实施例之中,该方法可应用于异构计算引擎。当然在本公开的其他实施例之中,该方法还可以用于其他的引擎。267.如图15所示,该跨操作系统的调用方法,还可以包括以下步骤:268.步骤1501、获取具有第一操作系统的第一主体通过第一进程发送的调用指令。269.其中,进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。270.本公开实施例中,在具有第一操作系统的第一主体调用第二主体的硬件资源和/或软件资源时,可以通过第一进程向第二主体发送调用指令,异构计算引擎可以获取到第一主体发送的调用指令。其中,调用指令,用于调用第二主体的硬件资源或软件资源中至少一个。271.步骤1502,获取具有第二操作系统的第二主体之中的第二进程,并建立第一进程和第二进程的跨进程通信通道。272.在本公开的一个实施例中,第二主体可以为与第一操作系统不同的第二操作系统的app,本公开实施例中对此不做限定。273.本公开实施例中,异构计算引擎可以获取第二主体中的第二进程,以根据第一主体的第一进程和第二主体的第二进程,建立第一进程和第二进程的跨进程通信通道。274.其中,跨进程通信通道,用于在第一主体的第一进程和第二主体的第二进程之间进行数据传输。275.本公开实施例中,第一主体通过第一进程发送调用指令,以调用第二主体中的资源时,第二主体中的第二进程调用该调用指令对应的服务,以完成对资源的调用。异构计算引擎中保存或能通过特定方式获取到第一进程和第二进程的映射关系,以在第一主体通过第一进程发送调用指令后,异构计算引擎可以获取第二主体中与第一进程对应的第二进程,进而,建立第一进程和第二进程的跨进程通信通道。276.需要解释的是,本公开实施例中的第一主体具有第一操作系统,第二主体具有第二操作系统,并且第一操作系统与第二操作系统不同。277.在本公开实施例中,第一主体的第一操作系统和第二主体的第二操作系统可以为任意操作系统类型,例如,第一主体的第一操作系统类型可以为android操作系统、ios操作系统、linux操作系统、unix操作系统、macos操作系统以及windows操作系统中的任意一种。第二主体的第二操作系统可以为不同于第一主体的第一操作系统的任意操作系统。当然,第一主体的第一操作系统和第二主体的第二操作系统也可以为其他任意操作系统,在此不做限定。278.例如,假设第一主体为设置在移动终端的app,第二主体为用于控制智能音箱的app,设置在移动终端的app的第一操作系统为ios操作系统,用于控制智能音箱的app的第二操作系统为android操作系统,可以获取第一主体发送调用指令的第一进程和第二主体的第二进程,进而,建立第一进程和第二进程的跨进程通信通道,以使得第一主体和第二主体之间通过跨进程通信通道进行跨操作系统的资源调用。279.步骤1503,通过跨进程通信通道将调用指令发送至第二进程,以通过第二进程调用所述调用指令对应的服务。280.其中,服务为对第二主体之中的硬件信息进行封装得到的。例如,假设调用指令为开启摄像头,将调用摄像头的硬件信息进行封装,得到该调用指令对应的服务。281.本公开实施例中,异构计算引擎获取到第一主体通过第一进程发送的调用指令后,可以通过在第一进程和第二进程之间建立的跨进程通信通道将调用指令发送至第二进程,以使得第二进程接收到跨进程通信通道发送的调用指令后,获取到调用指令对应的服务。282.在本公开实施例的一种可能的实现方式中,第一主体还可以通过跨进程通信通道获取第二主体的硬件信息,在一种可能的情况下,异构计算引擎获取第二主体之中的多个硬件的硬件信息后,进而,根据硬件信息生成多个硬件对应的多个服务。由此,通过硬件信息生成各硬件对应的服务后,可以通过第二进程调用该调用指令对应的服务,以获取到各服务对应的调用结果,不仅实现了跨操作系统的服务调用,还提高了资源调用的效率。283.需要解释的是,第一主体通过跨进程通信通道获取到的第二主体的硬件信息,不仅包括第二主体的硬件信息本身,还可以包括硬件所能获取到的信息或运行该硬件所获取到的信息。例如,在获取第二主体的摄像头信息时,不仅可以获取摄像头本身的硬件信息,如摄像头的像素信息,还可以获取摄像头所能采集的对象信息,如摄像头采集的图像信息。284.步骤1504,通过第二进程获取服务对应的调用结果,并通过跨进程通信通道将调用结果发送至第一进程。285.本公开实施例中,第二主体中的第二进程根据接收到的调用指令获取到调用指令对应的服务后,可以获取该服务对应的调用结果,并将调用结果发送至异构计算引擎,以使得异构计算引擎通过跨进程通信通道将调用结果发送至第一主体的第一进程。286.还例如,假设第一主体为设置于移动终端的app,第二主体为用于控制智能音箱的app,第一主体通过跨进程通信通道发送至第二主体的第二进程的调用指令为获取第二主体的内存存储能力,第二主体的第二进程获取到的第二主体的内存存储能力后,通过跨进行通信通道将第二主体的内存存储能力发送至第一主体的第一进程。287.本公开实施例的跨操作系统的调用方法,通过异构计算引擎获取具有第一操作系统的第一主体通过第一进程发送的调用指令,获取具有第二操作系统的第二主体之中的第二进程,并建立第一进程和第二进程的跨进程通信通道,通过跨进程通信通道将调用指令发送至第二进程,以通过第二进程调用所述调用指令对应的服务,通过第二进程获取服务对应的调用结果,并通过跨进程通信通道将调用结果发送至第一进程。由此,通过建立的跨进程通信通道,实现了第一进程和第二进程之间的数据传输,从而实现了跨操作系统的调用。288.需要说明的是,上述的这些可能的实现方式可以单独被执行,也可以结合在一起被执行,本公开实施例并不对此作出限定。289.在本公开实施例的一种可能的情况下,在建立第一进程和第二进程的跨进程通信通道时,可以通过第一主体之中建立的客户端与第二主体之中建立的服务端建立跨进程通信通道,以根据跨进程通信通道实现跨操作系统的服务调用。下面结合图16进行详细介绍,图16为本公开实施例的提供的又一种跨操作系统的调用方法的流程示意图。在本公开的一个实施例之中,该方法可应用于异构计算引擎。当然在本公开的其他实施例之中,该方法还可以用于其他的引擎。290.如图16所示,该跨操作系统的调用方法,还可以包括以下步骤:291.步骤1601,获取具有第一操作系统的第一主体通过第一进程发送的调用指令。292.步骤1602,获取具有第二操作系统的第二主体之中的第二进程。293.本公开实施例中,步骤1601至步骤1602的实现过程,可以参见上述实施例中步骤1501至步骤1502的实现过程,也可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。294.步骤1603,在第一主体之中建立与第一进程对应的客户端。295.步骤1604,在第二主体之中建立与第二进程对应的服务端。296.本公开实施例中,可以在第一主体之中建立与第一进程对应的客户端,在第二主体之中建立与第二进程对应的服务端。297.需要解释的是,本公开实施例中对上述步骤1603和步骤1604的执行顺序不做限定,可以先执行步骤1603,再执行步骤1604,也可以先执行步骤1604,再执行步骤1603,也可以同时执行步骤1603和步骤1604。298.步骤1605,通过客户端和服务端建立跨进程通信通道。299.本公开实施例中,异构计算引擎建立客户端和服务端后,可以通过客户端和服务端建立跨进程通信通道,以根据跨进程通信通道实现第一主体和第二主体之间的资源调用和信息传输。300.步骤1606,将调用指令转换为第一跨进程通信指令。301.步骤1607,通过客户端将第一跨进程通信指令发送至服务端,以使得服务端将第一跨进程通信指令转换为适于第二操作系统的调用指令,并发送至第二进程。302.本公开实施例中,异构计算引擎获取到第一主体通过第一进程发送的调用指令后,可以将调用指令转换为第一跨进程通信指令。进而,通过在第一主体之中建立与第一进程对应的客户端将第一跨进程通信指令发送至服务端。第二主体中的服务端接收到第一跨进程通信指令后,可以将第一跨进程通信指令转换为适于第二操作系统的调用指令,并发送至第二进程。303.可以理解的是,第一主体的第一操作系统与第二主体的第二操作系统并不相同,服务端接收到第一跨进程通信指令后,将第一跨进程通信指令转换为适于第二操作系统的调用指令,以将适于第二操作系统的调用指令发送至第二进程,从而通过客户端和服务端实现了将在具有不同操作系统的第一主体和第二主体之间进行数据传输。304.步骤1608,通过第二进程获取调用结果。305.本公开实施例中,第二主体的第二进程接收到服务端发送的适用于第二操作系统的调用指令后,可以根据适用于第二操作系统的调用指令获取调用结果,进而,将调用结果发送至异构计算引擎。306.步骤1609,将调用结果转换为第二跨进程通信指令。307.本公开实施例中,异构计算引擎获取到第二进程发送的调用结果后,可以将调用结果转换为第二跨进程通信指令。308.步骤1610,通过服务端将第二跨进程通信指令发送至客户端,以使客户端将第二跨进程通信指令转换为适于第一操作系统的调用结果,并发送至第一进程。309.本公开实施例中,异构计算引擎获取到第二进程发送的调用结果后,可以将调用结果转换为第二跨进程通信指令,进而,以通过服务端将第二跨进程通信指令发送至客户端。客户端接收到第二跨进程通信指令后,可以将第二跨进程通信指令转换为适于第一操作系统的调用结果,并发送至第一进程。310.由此,通过第一主体之中建立的客户端与第二主体之中建立的服务端建立跨进程通信通道,以根据跨进程通信通道实现第一进程和第二进程之间的通信,从而实现第一主体和第二主体之间的跨操作系统的服务调用。311.图17为本公开实施例提供的跨操作系统的调用方法的交互示意图。如图17所示,该跨操作系统的调用方法,可以包括以下步骤:312.步骤1701,具有第一操作系统的第一主体通过第一进程发送的调用指令。313.步骤1702,在第一主体之中建立与第一进程对应的客户端。314.步骤1703,在具有第二操作系统的第二主体之中建立与第二进程对应的服务端。315.步骤1704,将调用指令转换为第一跨进程通信指令。316.步骤1705,通过客户端将第一跨进程通信指令发送至服务端。317.步骤1706,服务端将第一跨进程通信指令转换为适于第二操作系统的调用指令,并发送至第二进程。318.步骤1707,通过第二进程获取调用结果。319.步骤1708,将调用结果转换为第二跨进程通信指令。320.步骤1709,服务端将第二跨进程通信指令发送至客户端。321.步骤1710,客户端将第二跨进程通信指令转换为适于第一操作系统的调用结果,并发送至第一进程。与322.上述图1至图17实施例提供的跨操作系统的调用方法相对应,本公开还提供一种跨操作系统的调用装置,由于本公开实施例提供的跨操作系统的调用装置与上述图1至图17实施例提供的跨操作系统的调用方法相对应,因此在跨操作系统的调用方法的实施方式也适用于本公开实施例提供的跨操作系统的调用装置,在本公开实施例中不再详细描述。323.图18为本公开实施例提供的一种跨操作系统的调用装置的结构示意图。324.如图18所示,该跨操作系统的调用装置1800,可以包括:接收模块1810、选择模块1820以及发送模块1830。325.其中,接收模块1810,用于接收具有第一操作系统的第一主体发送的调用指令;326.选择模块1820,用于选择对应的跨操作系统调用方式;327.发送模块1830,用于根据选择的跨操作系统调用方式将调用指令发送至具有第二操作系统的第二主体。328.在本公开实施例中,选择模块1820,还可以用于:根据第二操作系统的类型选择对应的跨操作系统调用方式。329.在本公开实施例中,选择模块1820,还可以用于:根据调用指令对应的硬件资源选择对应的跨操作系统调用方式。330.在本公开实施例中,发送模块1830,还可以包括:331.第一接收单元,用于接收第一操作系统之中应用程序的第一调用指令,其中,第一调用指令与针对第一操作系统的第一接口对应;332.第一获取单元,用于获取第一接口所对应的第二操作系统的第二接口333.第一发送单元,通过所述第二接口将所述调用指令发送至所述第二主体。334.在本公开实施例中,发送模块1830,还可以包括:335.第二获取单元,用于获取第二接口对应的目标文件;336.修改单元,用于对目标文件之中的进程地址进行修改,以将所述进程地址修改为异构计算引擎的返回地址;337.返回单元,用于执行修改之后的目标文件,并将返回地址接收到的目标文件的第二返回结果生成第一返回结果并发送至第一操作系统之中的应用程序。338.在本公开实施例中,第二获取单元,还可以用于:确定第二接口对应的动态共享库;获取动态共享库所对应的目标文件。339.在本公开实施例中,第一获取单元,还可以用于:获取第一调用指令对应的第一进程地址,其中,第一进程地址用于接收在第一操作系统之中第一调用指令对应的第一返回结果;根据第一调用指令生成第二调用指令,并根据第一接口获取第二调用指令的第二接口;获取第二调用指令对应的第二进程地址,并建立第一进程地址和第二进程地址之间的对应关系,其中,第二进程地址用于接收在第二操作系统之中第二调用指令对应的第二返回结果。340.在本公开实施例中,修改单元,还可以用于:将目标文件加载至内存;获取目标文件对应的全局偏移列表got;根据got获取内存之中的进程地址,并将内存之中的进程地址修改为第二进程地址。341.在本公开实施例中,第一操作系统具有第一系统库,第二操作系统具有第二系统库,修改单元,还可以用于:根据got获取内存之中的第二系统库的地址;将第二系统库的地址修改为第一系统库的地址。342.在本公开实施例中,返回单元,还可以用于:执行修改之后的目标文件以生成第二返回结果;根据第一进程地址和第二进程地址的对应关系,确定对应的第一进程地址;根据第一进程地址和第二返回结果的内容生成第一返回结果,并反馈至第一进程地址。343.在本公开实施例中,发送模块1830,还可以包括:344.第一建立单元,用于如果第一操作系统的类型与第二操作系统的类型一致,则在第一主体和第二主体之间建立第一连接桥,第一主体通过第一连接桥将调用指令发送至第二主体;第一连接桥用于具有相同操作系统类型的第一主体和第二主体之间进行资源调用;345.第二建立单元,用于如果第一操作系统的类型与第二操作系统的类型不一致,则在第一主体和第二主体之间建立第二连接桥,第一主体通过第二连接桥将调用指令发送至第二主体;第二连接桥用于具有不同操作系统类型的第一主体和第二主体之间进行资源调用。346.在本公开实施例中,第二主体为多个,发送模块1830,还可以包括:347.第二发送单元,用于向多个第二主体发送资源上报消息。348.第二接收单元,用于接收多个第二主体发送的资源信息。349.第三发送单元,用于将多个第二主体发送的资源信息发送至第一主体,以使第一主体根据多个第二主体的资源信息生成资源调用列表,以供第一主体进行调用。350.在本公开实施例中,第二主体为多个,发送模块1830,还可以包括:351.第三接收单元,用于接收第一主体的资源调用请求,其中,资源调用请求之中具有目标资源的资源地址。352.确定单元,用于根据目标资源的资源地址确定承载目标资源的第二主体。353.调用单元,用于根据目标资源的第二主体的第二操作系统类型,调用第一连接桥或第二连接桥将资源调用请求发送至目标资源的第二主体,以对目标资源的第二主体的资源进行调用。354.在本公开实施例中,第一建立单元,还可以用于:建立第一主体和第二主体之间的共享内存,通过共享内存建立第一连接桥。355.在本公开实施例中,资源信息包括第二主体之中资源的资源地址,第二建立单元,还可以用于:根据第二主体之中资源的资源地址建立路由选择适配表,其中,路由选择适配表用于建立第二连接桥。356.在本公开实施例中,调用单元,还可以用于:如果目标资源的第二主体的第二操作系统类型与第一主体的第一操作系统类型不一致,则从资源调用请求之中获取目标资源的资源地址;根据目标资源的资源地址查找路由选择适配表,以从路由选择适配表之中获取对应的路由路径;根据路由路径将资源调用请求发送至对应的目标资源的第二主体。357.在本公开实施例中,第二建立单元,还可以用于:获取第二主体之中每个资源的io接口,并针对每个资源的io接口生成对应的虚拟io接口;建立第一主体和虚拟io接口的映射关系;通过映射关系建立第二连接桥。358.在本公开实施例中,第二建立单元,还可以用于:建立第一主体和第二主体之间的内存映射关系;根据内存映射关系建立第二连接桥。359.在本公开实施例中,发送模块1830,还可以包括:360.第三获取单元,可以用于获取第一主体通过第一进程发送的调用指令。361.第三建立单元,可以用于获取第二主体之中的第二进程,并建立第一进程和第二进程的跨进程通信通道。362.第四发送单元,可以用于通过跨进程通信通道将调用指令发送至第二进程,以通过第二进程调用调用指令对应的服务;其中,服务为对第二主体之中的硬件信息进行封装得到的。363.第五发送单元,可以用于通过第二进程获取服务对应的调用结果,并通过跨进程通信通道将调用结果发送至第一进程。364.在本公开实施例中,发送模块1830,还可以包括:365.第三获取单元,用于获取第二主体之中多个硬件的硬件信息。366.生成单元,用于根据硬件信息生成多个硬件对应的多个服务。367.在本公开实施例中,第三建立单元,还可以用于:在第一主体之中建立与第一进程对应的客户端;在第二主体之中建立与第二进程对应的服务端;通过客户端和服务端建立跨进程通信通道。368.在本公开实施例中,第四发送单元,还可以用于:将调用指令转换为第一跨进程通信指令;通过客户端将第一跨进程通信指令发送至服务端,以使服务端将第一跨进程通信指令转换为适于第二操作系统的调用指令,并发送至第二进程。369.在本公开实施例中,第五发送单元,还可以用于:将调用结果转换为第二跨进程通信指令;通过服务端将第二跨进程通信指令发送至客户端,以使客户端将第二跨进程通信指令转换为适于第一操作系统的调用结果,并发送至第一进程。370.本公开实施例的跨操作系统的调用装置,通过异构计算引擎接收具有第一操作系统的第一主体发送的调用指令,选择对应的跨操作系统调用方式后,根据选择的跨操作系统调用方式将调用指令发送至具有第二操作系统的第二主体。由此,异构计算引擎确定适用于第一主体和第二主体的跨操作系统调用方式后,采用该跨操作系统调用方式实现了跨操作系统的资源调用。371.需要说明的是,上述的这些可能的实现方式可以单独被执行,也可以结合在一起被执行,本公开实施例并不对此作出限定。372.为了实现上述实施例,本公开还提出一种电子设备。373.本公开实施例提供的电子设备,包括处理器;用于存储所述处理器可执行调用指令的存储器;其中,所述处理器被配置为执行所述调用指令,以实现上述任一实施例所述的跨操作系统的调用方法374.为了实现上述实施例,本公开还提出一种非临时性计算机可读存储介质。375.本公开实施例提供的非临时性计算机可读存储介质,当所述存储介质中的调用指令由电子设备的处理器执行时,使得电子设备能够执行上述任一实施例所述的跨操作系统的调用方法。376.为了实现上述实施例,本公开还提出一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述实施例提出的跨操作系统的调用方法。377.图19为本公开实施例提供的一种电子设备的框图。例如,电子设备1900可以是移动电话,计算机,数字广播用户设备,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。378.参照图19,电子设备1900可以包括以下至少一个组件:处理组件1902,存储器1904,电源组件1906,多媒体组件1908,音频组件1910,输入/输出(i/o)的接口1912,传感器组件1914,以及通信组件1916。379.处理组件1902通常控制电子设备1900的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1902可以包括至少一个处理器1920来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1902可以包括至少一个模块,便于处理组件1902和其他组件之间的交互。例如,处理组件1902可以包括多媒体模块,以方便多媒体组件1908和处理组件1902之间的交互。380.存储器1904被配置为存储各种类型的数据以支持在电子设备1900的操作。这些数据的示例包括用于在电子设备1900上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1904可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。381.电源组件1905为电子设备1900的各种组件提供电力。电源组件1906可以包括电源管理系统,至少一个电源,及其他与为电子设备1900生成、管理和分配电力相关联的组件。382.多媒体组件1908包括在所述电子设备1900和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括至少一个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的唤醒时间和压力。在一些实施例中,多媒体组件1908包括一个前置摄像头和/或后置摄像头。当电子设备1900处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。383.音频组件1910被配置为输出和/或输入音频信号。例如,音频组件1910包括一个麦克风(mic),当电子设备1900处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1904或经由通信组件1916发送。在一些实施例中,音频组件1910还包括一个扬声器,用于输出音频信号。384.i/o接口1912为处理组件1902和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。385.传感器组件1914包括至少一个传感器,用于为电子设备1900提供各个方面的状态评估。例如,传感器组件1914可以检测到电子设备1900的打开/关闭状态,组件的相对定位,例如所述组件为电子设备1900的显示器和小键盘,传感器组件1914还可以检测电子设备1900或电子设备1900一个组件的位置改变,用户与电子设备1900接触的存在或不存在,电子设备1900方位或加速/减速和电子设备1900的温度变化。传感器组件1914可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1914还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1914还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。386.通信组件1916被配置为便于电子设备1900和其他设备之间有线或无线方式的通信。电子设备1900可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件1916经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1916还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。387.在示例性实施例中,电子设备1900可以被至少一个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行任一实施例的跨操作系统的调用方法。388.在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1904,上述指令可由电子设备1900的处理器1920执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。389.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本公开旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本
技术领域
:中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。390.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表