一种应用运行方法及电子设备与流程

文档序号:31500682发布日期:2022-09-14 08:45阅读:63来源:国知局
一种应用运行方法及电子设备与流程

1.本技术涉及终端技术领域,尤其涉及一种应用运行方法及电子设备。


背景技术:

2.根据终端设备的内存等硬件条件,智能手表、车机、智能音箱等终端设备称为轻量级设备;手机、电脑、大屏设备等终端设备称为富设备。受限于硬件条件,轻量级设备一般搭载轻量级操作系统。轻量级操作系统支持的数据库、应用编程接口(application programming interface,api)等资源比较少,通常,开发者需要为轻量级操作系统开发适配的应用;这些应用不支持界面交互。支持界面交互的应用需要运行在富设备上,无法直接在轻量级设备上运行。
3.随着技术发展,用户使用轻量级设备运行支持界面交互的应用的需求越来越强烈。如何在轻量级设备上方便快捷的运行支持界面交互的应用,是亟待解决的问题。


技术实现要素:

4.本技术实施例提供一种应用运行方法及电子设备,使得轻量级设备不受硬件制约,方便快捷的运行支持界面交互的应用,为用户提供丰富便捷的使用体验。
5.为达到上述目的,本技术采用如下技术方案:
6.第一方面,本技术提供一种应用运行方法,应用于第一电子设备,第一电子设备与一个或多个第二电子设备分布式组网,该方法包括:第一电子设备读取第一应用的界面布局文件,界面布局文件用于对第一应用的用户接口界面ui进行ui布局描述和ui行为定义;第一电子设备向第三电子设备发送调用第一数据处理的请求;调用第一数据处理的请求包括第一电子设备标识,第一应用包名,第一数据处理名称和接口参数;第一数据处理用于提供根据界面布局文件生成第一ui对应的第一数据,接口参数用于指示第一数据;其中,第三电子设备是一个或多个第二电子设备中的一个。第一电子设备从第三电子设备获取第一数据;第一电子设备根据界面布局文件和第一数据生成第一应用的第一ui。其中,第一数据处理可以提供生成第一应用的第一ui需要的媒体资源,数据管理,媒体编解码能力等。
7.在该方法中,在第一电子设备上运行应用的ui,ui解析、渲染,ui交互事件处理均在该电子设备上完成。ui解析、渲染,ui交互事件处理过程中使用的媒体资源,数据管理,媒体编解码能力等由第三电子设备提供。比如,轻量级设备运行应用的ui,富设备提供数据和能力支持;通过轻量级设备和富设备的协同工作,应用可以直接运行在轻量级设备上。再比如,第一电子设备的硬件不支持应用运行需要的某些能力,可以调用第三电子设备的该能力,使得第一电子设备可以直接运行应用。这样,轻量级设备或一些硬件条件受限的电子设备也可以方便快捷的运行支持界面交互的应用;用户可以直接在轻量级设备或硬件条件受限的电子设备上通过应用的ui进行人机交互,为用户提供更丰富的使用体验。
8.结合第一方面,在一种可能的实现方式中,该方法还包括:第一电子设备根据第一数据的类型确定第一数据处理。
9.结合第一方面,在一种可能的实现方式中,该方法还包括:如果第一电子设备确定第一电子设备不支持第一数据处理,确定向第三电子设备发送调用第一数据处理的请求。
10.结合第一方面,在一种可能的实现方式中,该方法还包括:第一电子设备确定支持第一数据处理的一个或多个第二电子设备;根据预设策略将支持第一数据处理的一个或多个第二电子设备中的一个确定为第三电子设备。
11.也就是说,一个或多个第二电子设备都支持第一数据处理,第一电子设备根据预设策略确定向一个或多个第二电子设备中的一个请求获取第一数据。
12.在一种可能的实现方式中,预设策略包括:
13.1、将用户账号与第一电子设备的用户账号相同的第二电子设备确定为第三电子设备。
14.2、将在第一电子设备上拉起第一应用的第二电子设备确定为第三电子设备。
15.3、将第一数据处理所在进程存活的第二电子设备确定为第三电子设备。
16.4、根据支持第一数据处理的第二电子设备的硬件条件,确定第三电子设备;其中,硬件条件包括中央处理器cpu频率或内存大小。
17.在一种可能的实现方式中,上述预设策略1-4的优先级由高到低。
18.第二方面,本技术提供一种应用运行方法,该方法包括:第二电子设备运行第一应用的安装包,安装第一应用;第二电子设备接收调用第一数据处理的请求;其中,调用第一数据处理的请求包括第一电子设备标识,第一应用包名,第一数据处理名称和接口参数;第一数据处理用于提供根据第一应用的界面布局文件生成第一ui对应的第一数据,接口参数用于指示第一数据;第二电子设备根据第一应用包名,第一数据处理名称和接口参数获取第一数据;并根据第一电子设备标识确定第一电子设备,向第一电子设备发送第一数据。
19.在该方法中,第二电子设备根据第一电子设备的调用第一数据处理的请求,获取第一电子设备根据第一应用的界面布局文件生成第一ui对应的第一数据;并向第一电子设备提供第一数据;使得第一电子设备上可以运行第一应用的ui。比如,第一电子设备是轻量级设备,第二电子设备是富设备;通过轻量级设备和富设备的协同工作,第一应用可以直接运行在轻量级设备上。再比如,第一电子设备的硬件不支持第一应用运行需要的某些能力,可以调用第二电子设备的该能力,使得第一电子设备可以直接运行第一应用。这样,轻量级设备或一些硬件条件受限的电子设备也可以方便快捷的运行支持界面交互的应用;用户可以直接在轻量级设备或硬件条件受限的电子设备上通过应用的ui进行人机交互,为用户提供更丰富的使用体验。
20.结合第二方面,在一种可能的实现方式中,在第二电子设备运行第一应用的安装包,安装第一应用之后,该方法还包括:第一应用的一个或多个数据处理分别注册对应的数据处理信息;数据处理信息包括数据处理名称,数据处理所属应用包名,数据处理所在电子设备的设备标识;第二电子设备向分布式组网内电子设备同步第一电子设备上的数据处理信息。这样,分布式组网内每个电子设备的模型管理都包括分布式组网内全部电子设备上的数据处理的数据处理信息。第一电子设备可以根据保存的模型管理信息获取到支持第一数据处理的一个或多个第二电子设备。
21.结合第二方面,在一种可能的实现方式中,调用第一数据处理的请求中还包括用户签名;第二电子设备校验第二电子设备中第一应用包名与调用第一数据处理接口请求中
的第一应用包名是否一致,校验第二电子设备中第一应用的签名与调用第一数据处理接口请求中第一应用的签名是否一致。这样,可以避免第一数据处理被第一应用之外的应用恶意调用,保证数据安全。
22.第三方面,本技术实施例提供一种电子设备,该电子设备可以实现上述第一方面或第二方面及其可能的实现方式所述的应用运行方法,其可以通过软件、硬件、或者通过硬件执行相应的软件实现上述方法。在一种可能的设计中,该电子设备可以包括处理器和存储器。该处理器被配置为支持该电子设备执行上述第一方面或第二方面方法中相应的功能。存储器用于与处理器耦合,其保存该电子设备必要的程序指令和数据。
23.第四方面,本技术实施例提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得电子设备执行如上述第一方面或第二方面及其可能的实现方式所述的应用运行方法。
24.第五方面,本技术实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述第一方面或第二方面及其可能的实现方式所述的应用运行方法。
25.第三方面所述的电子设备,第四方面所述的计算机可读存储介质,第五方面所述的计算机程序产品所带来的技术效果可参见上述对应的方法所带来的技术效果,此处不再赘述。
附图说明
26.图1为现有技术中一种应用运行方法示意图;
27.图2为本技术实施例提供的应用运行方法场景示意图;
28.图3为本技术实施例提供的电子设备的硬件结构示意图;
29.图4为本技术实施例提供的应用运行方法所适用的场景架构示意图;
30.图5为本技术实施例提供的应用运行方法的流程示意图;
31.图6为本技术实施例提供的一种电子设备的结构组成示意图;
32.图7为本技术实施例提供的一种电子设备的结构组成示意图。
具体实施方式
33.以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。如在本技术的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本技术以下各实施例中,“至少一个”、“一个或多个”是指一个或两个以上(包含两个)。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a、b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
34.在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在
另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。
35.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
36.在本技术实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
37.受限于硬件条件,轻量级设备一般搭载轻量级操作系统,比如等物联网(internet of things,iot)操作系统。iot操作系统对设备硬件要求较低,大多可运行在随机存取存储器(random access memory,ram)在10kb以内的设备上;轻量级操作系统提供的功能受设备限制,比如,不支持java虚拟机(java virtual machine,jvm)、数据库等,不支持带用户界面的应用。支持界面交互的应用需要运行在搭载等富操作系统的设备上。富操作系统对设备硬件要求较高。比如,android 7.1的ram最小需求为512mb,android 4.4的ram最小需求为340mb,android things的ram最小需求为512mb。轻量级设备通常无法达到富操作系统的硬件要求。
38.随着物联网越来越普及,用户使用iot设备时,在iot设备上进行人机交互的需求越来越强烈。目前,轻量级设备一般不支持运行带用户界面的应用。现有技术中,可以将手机等富设备的用户界面投屏至车机等轻量级设备。以使得用户可以在轻量级设备进行人机交互。比如,如图1所示,手机搭载操作系统,车机搭载iot操作系统。应用运行在手机的操作系统上,手机通过carplay将应用的用户界面投屏至车机上;车机屏幕显示投屏的用户界面,用户在车机屏幕上进行人机交互。应用开发者在应用中集成carplay框架,使用carplay框架预定义的接口即可使应用支持carplay;手机操作系统与车机iot操作系统之间通过carplay协议进行通信。
39.用户界面(user interface,ui)在手机侧生成,通过音视频流的方式传输至车机。车机接收到用户在ui上的操作,将交互事件传回手机进行处理。手机还将响应于交互事件更新的ui传输至车机进行显示。这样,用户在与carplay应用交互时,用户界面的响应时延较大。并且,carplay对应用的类型、用户的交互方式均存在限制;比如,carplay仅支持音乐、短信、voip、导航、整车管理类应用,且只能响应carplay框架限定的交互事件,灵活性受限。
40.本技术实施例提供一种应用运行方法,在轻量级设备上直接运行应用的ui,ui解析、渲染,ui交互事件处理均在轻量级设备上完成;ui解析、渲染,ui交互事件处理过程中使用的媒体资源,数据管理,媒体编解码能力等由富设备提供。通过轻量级设备和富设备的协同工作,用户可以直接在轻量级设备上通过应用的ui进行人机交互,为用户提供更丰富的使用体验。
processing unit,npu)等。其中,不同的处理单元可以是独立的部件,也可以集成在一个或多个处理器中。在一些实施例中,电子设备300也可以包括一个或多个处理器110。
47.其中,控制器是电子设备300的神经中枢和指挥中心。可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
48.应用处理器上可以运行电子设备300的操作系统,用于管理电子设备300的硬件与软件资源。比如,管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络、管理文件系统、管理驱动程序等。操作系统也可以用于提供一个让用户与系统交互的操作界面。其中,操作系统内可以安装各类软件,比如,驱动程序,应用程序(application,app)等。
49.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
50.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路间(inter-integrated circuit,i2c)接口,集成电路间音频(integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronousreceiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,sim卡接口,和/或usb接口等。
51.可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备300的结构限定。在本技术另一些实施例中,电子设备300也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
52.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展电子设备300的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
53.内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得电子设备300执行本技术一些实施例中所提供的应用运行方法,以及各种应用以及数据管理等。内部存储器121可以包括代码存储区和数据存储区。其中,数据存储区可存储电子设备300使用过程中所创建的数据等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储部件,闪存部件,通用闪存存储器(universal flash storage,ufs)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得电子设备300执行本技术实施例中所提供的应用运行方法,以及其他应用及数据管理。
54.电子设备300可以通过音频模块130,扬声器130a,麦克风130b,以及应用处理器等实现音频功能。例如音乐播放,录音等。音频模块130用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块130还可以用于对音频信号编码和解码。在一些实施例中,音频模块130可以设置于处理器110中,或将音频模块130的部分功能模块设置于处理器110中。
55.扬声器130a,也称“喇叭”,用于将音频电信号转换为声音信号。
56.麦克风130b,也称“话筒”,“传声器”,用于将声音信号转换为电信号。用户可以通过人嘴靠近麦克风130b发声,将声音信号输入到麦克风130b。
57.电子设备300的无线通信功能可以通过天线1,天线2以及无线通信模块150等实现。
58.无线通信模块150可以提供应用在电子设备300上的包括wi-fi,蓝牙(bluetooth,bt),无线数传模块(例如,433mhz,868mhz,915mhz)等无线通信的解决方案。无线通信模块150可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块150经由天线1或者天线2接收电磁波,将电磁波信号滤波以及调频处理,将处理后的信号发送到处理器110。无线通信模块150还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线1或者天线2转为电磁波辐射出去。
59.电子设备300通过gpu,显示屏140,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏140和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
60.显示屏140用于显示图像,视频等。显示屏140包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,电子设备300可以包括1个或n个显示屏140,n为大于1的正整数。本技术实施例中,显示屏140可以用于显示ui,以及接收用户对ui的操作。
61.在一些实施例中,显示屏140上设置有压力传感器、触摸传感器等。压力传感器用于感受压力信号,可以将压力信号转换成电信号。当有触摸操作作用于显示屏140,电子设备300根据压力传感器检测所述触摸操作强度。电子设备300也可以根据压力传感器的检测信号计算触摸的位置。触摸传感器,也称“触控面板”,可以与显示屏140组成触摸屏,也称“触控屏”。触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。还可以通过显示屏140提供与触摸操作相关的视觉输出。
62.电源模块160,可以用于向电子设备300包含的各个部件供电。在一些实施例中,该电源模块160可以是电池,如可充电电池。
63.通常,开发者使用一种界面描述语言,在应用开发工具中开发ui,形成界面布局文件。界面布局文件包括ui布局描述和ui行为定义。ui布局描述是指使用界面描述语言描述ui的布局(layout),使用的控件,以及布局和控件的视觉风格等。ui行为定义是指使用界面描述语言定义电子设备对用户界面行为的交互逻辑;包括ui的动态变化,以及电子设备对ui动态变化的响应(比如对用户对ui操作的响应)。在一些示例中,开发者可以在界面布局文件中声明各个model对运行设备的要求(比如,设备能力、设备类型等)。
64.开发者将界面布局文件打包到应用的安装包,在应用市场中发布应用。应用市场中可以提供各个应用的安装包供用户下载。用户可使用电子设备在应用市场中下载某一应
用的安装包,通过运行安装包可将应用安装在手机中。
65.在一种示例中,电子设备100和电子设备200接入同一局域网。电子设备100和电子设备200分别安装应用。
66.如图4所示,电子设备100获取了应用安装包中的界面布局文件。电子设备100的操作系统包括ui引擎,控件库,图形渲染,模型管理(d-modelmanager),分布式通信,操作系统内核等单元。电子设备200的操作系统包括模型管理(d-modelmanager),分布式通信,操作系统内核等单元。其中,ui引擎用于解析和执行应用的界面布局文件,根据ui布局描述生成应用的ui。ui引擎还用于根据ui行为定义对用户在ui上的操作执行相应的交互逻辑。控件库用于提供构建ui的各类控件,例如显示文字的控件,显示图片的控件等。图形渲染用于对ui引擎生成的ui进行图形的渲染、整理,形成用于显示屏显示的ui。分布式通信用于电子设备与同一局域网内的其他电子设备进行通信。操作系统内核是操作系统的核心部分,用于管理存储器、文件、外设和系统资源等;操作系统内核用于运行进程,并提供进程间的通信。
67.ui引擎包括数据代理(modelproxy)。数据代理运行在电子设备100应用进程中,用于语言转换(比如,将js函数调用转换为c++函数调用),还用于根据电子设备的设备能力、设备类型等确定向操作系统请求数据,或向模型管理(d-modelmanager)请求跨设备调用数据处理(model)接口。
68.数据处理(model)用于提供应用的数据(比如字符,图片,视频等),执行数据的处理逻辑,提供媒体编解码能力等。数据处理(model)运行在电子设备200应用进程,根据请求数据处理接口的传输参数区分不同的数据处理接口,处理结束后将计算结果返回。每一个应用可以包括一个或多个数据处理(model)。比如,提供本地数据的数据处理(model)、提供网络数据的数据处理(model)、提供交互数据的数据处理(model)等。开发者可以在应用的配置文件中根据数据处理(model)需要的设备能力(比如,数据库、jvm、摄像头等),声明各个数据处理(model)对运行设备的要求(比如,设备能力、设备类型等)。
69.模型管理(d-modelmanager)用于存储、同步、查询、请求局域网内各电子设备中注册的model信息。model信息包括:model名称、model所属应用包名、model所在电子设备的设备标识、当前用户账号id等。应用安装在电子设备200上后,向模型管理(d-modelmanager)注册该应用的数据处理(model)的信息。
70.电子设备100的ui引擎生成ui时,数据代理(modelproxy)确定电子设备100不支持一些设备能力,向电子设备100的模型管理(d-modelmanager)请求数据处理(model)接口。电子设备100的模型管理(d-modelmanager)接收到本设备调用model接口的请求,通过分布式通信向电子设备200的模型管理(d-modelmanager)转发调用model接口的请求。电子设备200的模型管理(d-modelmanager)根据model名称向对应的进程请求数据处理(model),并将处理结果返回。处理结果通过分布式通信返回给电子设备100的模型管理(d-modelmanager),电子设备100的模型管理(d-modelmanager)将处理结果返回电子设备100的ui引擎。
71.这样,应用的ui运行在电子设备100,ui的数据处理在电子设备200完成。由于硬件等条件限制不支持某些能力的电子设备100,也可以运行带用户界面的应用。
72.下面结合附图对本技术实施例提供的应用运行方法进行详细介绍。
73.以轻量级设备作为电子设备100,富设备作为电子设备200为例。轻量级设备与一
个或多个富设备分布式组网。轻量级设备和富设备分别运行第一应用的安装包,安装第一应用。如图5所示,本技术实施例提供的应用运行方法包括:
74.s501、富设备中第一应用的一个或多个数据处理分别向模型管理注册数据处理信息。
75.富设备运行第一应用的安装包,安装第一应用。富设备根据该富设备的硬件条件获取到第一应用对应的一个或多个数据处理。
76.富设备中第一应用的一个或多个数据处理分别向模型管理注册数据处理信息。数据处理信息包括model名称,model所属应用包名,model所在电子设备的设备标识(比如手机标识)等。在一些实施例中,数据处理信息还包括账号敏感信息,当前设备的用户账号(即当前手机上登录的用户账号,比如华为账号)。账号敏感信息用于指示该model是否对账号敏感;比如,账号敏感信息为1表示该model对账号敏感,账号敏感信息为0表示该model不对账号敏感;或者,账号敏感信息出现表示该model对账号敏感,账号敏感信息不出现表示该model不对账号敏感。如果model对账号敏感,要求查询并使用model的电子设备与提供model的电子设备的用户账号相同。
77.s502、富设备上的模型管理向分布式组网内各个电子设备的模型管理同步数据处理信息。
78.分布式组网内各个电子设备的模型管理信息发生变化,都向分布式组网内其他电子设备的模型管理同步数据处理信息。这样,分布式组网内每个电子设备的模型管理都包括分布式组网内全部电子设备上的数据处理的数据处理信息。在一种示例中,富设备的模型管理向分布式组网内各个电子设备(包括轻量级设备和富设备)的模型管理同步数据处理信息。
79.示例性的,表1为车机和手机上模型管理保存的模型管理信息的一种示例。如表1所示,手机上第一应用包括modela和modelc,手机上第二应用包括modelb,手机上登录的用户账号为账号1。分布式组网内还包括平板电脑,平板电脑上安装了第二应用,平板电脑上第二应用包括modelb,平板电脑上登录的用户账号为账号2。示例性的,modela用于提供网络图片数据,modelb用于提供本地图片数据,modelc用于提供摄像头采集的图像数据。
80.表1
81.model名称model所在的设备model所属应用包名用户账号modela手机第一应用账号1modelb手机第二应用账号1modela平板电脑第一应用账号2modelc手机第一应用账号1
82.s503、轻量级设备中的ui引擎请求获取第一数据。
83.轻量级设备上安装第一应用,获取界面布局文件。第一应用在轻量级设备上启动。轻量级设备中ui引擎读取界面布局文件,根据界面布局文件生成第一应用的ui或响应于用户在第一应用ui上的操作执行交互逻辑。在轻量级设备生成第一应用的ui或响应于用户在第一应用ui上的操作执行交互逻辑过程中,请求获取第一数据。
84.轻量级设备中的数据代理根据第一数据的类型确定第一数据对应的第一数据处理。示例性的,车机的ui引擎根据第一应用的界面布局文件生成第一应用的ui,请求获取网
络图片。数据代理确定网络图片对应的第一数据处理为modela(用于提供网络图片数据)。
85.如果根据轻量级设备的设备能力、设备类型等确定轻量级设备支持第一数据处理,轻量级设备ui引擎中数据代理从轻量级设备操作系统获取第一数据。如果根据轻量级设备的设备能力、设备类型等确定轻量级设备不支持第一数据处理,轻量级设备ui引擎中数据代理向模型管理请求跨设备调用第一数据处理接口,获取第一数据。比如,ui引擎中数据代理确定车机不支持modela,确定向模型管理请求跨设备调用modela接口。比如,ui引擎中数据代理确定车机不支持摄像头,确定向模型管理请求跨设备调用modelc接口。
86.s504、轻量级设备ui引擎中数据代理向模型管理请求跨设备调用第一数据处理接口。
87.在一种实现方式中,数据代理调用第一数据处理接口时,接口函数的输入参数包括第一应用包名,第一数据处理名称,接口参数等。其中,接口参数用于指示第一数据;比如,接口参数为网络图片标识,网址等。
88.s505、轻量级设备的模型管理根据预设策略确定向第一富设备调用第一数据处理接口。
89.局域网内,一个或多个富设备上安装了第一应用。轻量级设备的模型管理根据保存的模型管理信息获取到支持第一数据处理的一个或多个富设备。示例性的,轻量级设备查询表1所示模型管理信息,确定支持modela的富设备包括手机和平板电脑。
90.轻量级设备根据预设策略确定向第一富设备调用第一数据处理接口。其中,第一富设备是支持第一数据处理的一个或多个富设备中的一个。
91.预设策略包括:
92.1、如果根据第一数据处理的数据处理信息中账号敏感信息确定第一数据处理对账号敏感,将用户账号与轻量级设备的用户账号相同的富设备确定为第一富设备。示例性的,第一数据处理为modela,根据表1,手机和平板电脑都支持modela。轻量级设备当前登录的用户账号是账号1,如果确定modela对账号敏感,将手机确定为第一富设备。比如,用户将手机上的菜谱app发送到微波炉上运行并操作,微波炉上的菜谱app需要获取用户的健康信息等个人数据时,即可通过用户账号找到相同用户账号的手机。
93.2、如果轻量级设备的第一应用是被一个富设备拉起的,并且该富设备支持第一数据处理,将拉起轻量级设备上第一应用的该富设备确定为第一富设备。比如,设备y拉起设备x中的应用1,设备x的应用1拉起设备x的应用2;应用2请求model时,优先选择设备y中的model。
94.示例性的,源设备id用于标识一个应用被跨设备拉起的源。跨设备拉起应用时,将发起方的设备id作为源设备id附在参数中传输给被拉起的应用,且源设备id可以传递。如果一个应用存在源设备id,则拉起同设备其他应用时,也将此源设备id通过参数传给新应用。例如,设备y拉起设备x中的应用1,应用1的源设备id为设备y;设备x的应用1再拉起设备x的应用2,应用2的源设备id也为设备y。
95.3、优先将第一数据处理所在进程存活的富设备确定为第一富设备。在一种实现方式中,轻量级设备向支持第一数据处理的各个富设备查询第一数据处理所在进程是否在该富设备存活,优先将第一数据处理所在进程存活的富设备确定为第一富设备。
96.4、按照富设备的cpu频率从高到底,或内存从大到小的顺序,富设备被确定为第一
富设备的优先级从高到低。
97.5、按照富设备在模型管理注册第一数据处理信息的时间从先到后的顺序,富设备被确定为第一富设备的优先级从高到低。
98.s506、轻量级设备的模型管理向第一富设备调用第一数据处理接口。
99.轻量级设备的模型管理向第一富设备的模型管理请求调用第一数据处理接口;接口函数的输入参数包括轻量级设备标识,第一应用包名,第一数据处理名称,接口参数等。其中,接口参数用于指示第一数据;比如,接口参数为网络图片标识,网址等。在一种实现方式中,接口函数的输入参数还包括第一应用的签名。
100.s507、第一富设备接收到调用第一数据处理接口请求,调用第一数据处理。
101.第一富设备接收到调用第一数据处理接口请求。
102.在一种实现方式中,第一富设备的模型管理校验第一富设备中第一应用包名与调用第一数据处理接口请求中的第一应用包名是否一致,校验第一富设备中第一应用的签名与调用第一数据处理接口请求中第一应用的签名是否一致。这样,可以避免第一数据处理被第一应用之外的应用恶意调用,保证数据安全。
103.如果校验成功,查询在第一富设备中第一应用的第一数据处理的进程是否存在。在一些示例中,模型管理监听程序管理模块,程序管理模块用于管理应用的进程。模型管理从程序管理模块获取应用的每个model所在的进程id。如果确定第一应用的第一数据处理的进程存在,调用第一数据处理;如果确定第一应用的第一数据处理的进程不存在,将第一应用的第一数据处理的进程拉起,调用第一数据处理。
104.s508、第一富设备中第一数据处理向模型管理返回第一数据。
105.在一种实现方式中,第一数据处理根据接口参数进行内部逻辑计算,获取并返回计算结果(即第一数据)。比如,接口参数为网络图片标识,第一数据处理根据网络图片标识获取图片,将获取的图片返回。
106.s509、第一富设备的模型管理将第一数据发送给轻量级设备。
107.第一富设备的模型管理根据调用第一数据处理接口请求中轻量级设备标识确定轻量级设备,通过分布式通信将第一数据发送给轻量级设备。
108.s510、轻量级设备的模型管理将第一数据通过数据代理返回给ui引擎。
109.轻量级设备获取到在生成第一应用的ui或响应于用户在第一应用ui上的操作执行交互逻辑过程中,请求的第一数据。在该过程中,ui引擎不感知第一数据处理所处的电子设备,以及过程中的分布式处理逻辑,仅发起调用和获取第一数据即可。
110.本技术实施例提供的应用运行方法,在一个电子设备上运行应用的ui,ui解析、渲染,ui交互事件处理均在该电子设备上完成。ui解析、渲染,ui交互事件处理过程中使用的媒体资源,数据管理,媒体编解码能力等由另一电子设备提供。比如,轻量级设备运行应用的ui,富设备提供数据和能力支持;通过轻量级设备和富设备的协同工作,应用可以直接运行在轻量级设备上。再比如,电子设备的硬件不支持应用运行需要的某些能力,可以调用其他设备的该能力,使得该电子设备可以直接运行应用。这样,轻量级设备或一些硬件条件受限的电子设备也可以方便快捷的运行支持界面交互的应用;用户可以直接在轻量级设备或硬件条件受限的电子设备上通过应用的ui进行人机交互,为用户提供更丰富的使用体验。
111.可以理解的是,上述电子设备为了实现上述功能,其包含了执行各个功能相应的
硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术实施例的范围。
112.本技术实施例可以根据上述方法示例对上述电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
113.如图6所示,本技术实施例公开了一种电子设备600,该电子设备可以为上述实施例中轻量级设备。
114.在一种示例中,请参考图6,其示出了上述实施例中所涉及的电子设备的一种可能的结构示意图。该电子设备600包括:处理单元601,存储单元602,通信单元603和显示单元604。
115.其中,处理单元601,用于对电子设备600的动作进行控制管理。例如,可以用于执行本技术实施例图5中s503,s504,s505,s510的处理步骤,和/或本技术实施例中其他处理步骤。
116.存储单元602用于保存电子设备600的程序代码和数据。例如,可以用于保存模型管理信息。
117.通信单元603用于支持电子设备600与其他电子设备的通信。例如,可以用于发送调用第一数据请求;或接收第一数据等。
118.显示单元604用于显示电子设备600的界面。比如用于显示电子设备600的ui。
119.当然,上述电子设备600中的单元模块包括但不限于上述处理单元601,存储单元602,通信单元603和显示单元604。例如,电子设备600中还可以包括电源单元等。电源单元用于对电子设备600供电。
120.其中,处理单元601可以是处理器或控制器,例如可以是中央处理器(central processing unit,cpu),数字信号处理器(digital signal processor,dsp),专用集成电路(application-specific integrated circuit,asic),现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。存储单元602可以是存储器。通信单元603可以是收发器、收发电路等。显示单元604可以是显示屏。
121.例如,处理单元601为处理器(如图3所示的处理器110),存储单元602可以为存储器(如图3所示的内部存储器121),通信单元603可以称为通信接口,包括无线通信模块(如图3所示的无线通信模块150),显示单元604为显示屏(如图3所示的显示屏140,该显示屏140可以为触摸屏,该触摸屏中可以集成显示面板和触控面板)。本技术实施例所提供的电子设备600可以为图3所示的电子设备300。其中,上述处理器、存储器、通信接口、显示屏等可以连接在一起,例如通过总线连接。
122.如图7所示,本技术实施例公开了一种电子设备700,该电子设备可以为上述实施
例中富设备。
123.在一种示例中,请参考图7,其示出了上述实施例中所涉及的电子设备的一种可能的结构示意图。该电子设备700包括:处理单元701,存储单元702,和通信单元703。
124.其中,处理单元701,用于对电子设备700的动作进行控制管理。例如,可以用于执行本技术实施例图5中s501,s507,s508的处理步骤,和/或本技术实施例中其他处理步骤。
125.存储单元702用于保存电子设备700的程序代码和数据。例如,可以用于保存模型管理信息。
126.通信单元703用于支持电子设备700与其他电子设备的通信。例如,可以用于执行本技术实施例图5中s502,s509的处理步骤,和/或本技术实施例中其他处理步骤。
127.当然,上述电子设备700中的单元模块包括但不限于上述处理单元701,存储单元702和通信单元703。例如,电子设备700中还可以包括显示单元,电源单元等。显示单元用于显示电子设备700的界面,电源单元用于对电子设备700供电。
128.其中,处理单元701可以是处理器或控制器,例如可以是中央处理器(central processing unit,cpu),数字信号处理器(digital signal processor,dsp),专用集成电路(application-specific integrated circuit,asic),现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。存储单元702可以是存储器。通信单元703可以是收发器、收发电路等。
129.例如,处理单元701为处理器(如图3所示的处理器110),存储单元702可以为存储器(如图3所示的内部存储器121),通信单元703可以称为通信接口,包括无线通信模块(如图3所示的无线通信模块150)。本技术实施例所提供的电子设备700可以为图3所示的电子设备300。其中,上述处理器、存储器、通信接口等可以连接在一起,例如通过总线连接。
130.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序代码,当处理器执行该计算机程序代码时,电子设备执行上述实施例中的方法。
131.本技术实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述实施例中的方法。
132.其中,本技术实施例提供的电子设备600、电子设备700、计算机可读存储介质或者计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
133.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
134.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
135.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以
是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以使用硬件的形式实现,也可以使用软件功能单元的形式实现。
136.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、磁碟或者光盘等各种可以存储程序代码的介质。
137.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1