编排程序的方法及电子设备与流程
未命名
08-14
阅读:111
评论:0
编排程序的方法及电子设备
1.本技术是分案申请,原申请的申请号是201780098068.x,原申请日是2017年12月29日,原申请的全部内容通过引用结合在本技术中。
技术领域
2.本技术涉及无线通信领域,尤其涉及一种编排程序的方法及电子设备。
背景技术:
3.随着移动互联网的快速发展,人们越来越依赖在电子设备(例如手机、平板电脑等)上进行日常事务的处理,例如机票预订、日程安排、社交等,因此电子设备上安装的应用程序(以下可以简称app)也越来越多。现有技术中,这些功能单一的应用程序需要专业的程序开发者利用专业编程软件来编排程序并编排好的app发布到app市场,而且每个app的功能单一,用户在电子设备上处理复杂的日常事务时,通常需要在多个app中来回切换。因此,如何简单高效地编排出一个有多种功能的程序成为了如今亟待解决的技术问题。
技术实现要素:
4.为解决上述技术问题,本技术提供一种编排程序的方法及电子设备,可以简单易操作、高效地编排出一个有多个功能的程序,这样就提高了电子设备处理事务的效率同时还提高了用户编排程序的体验。
5.第一方面,本技术提供一种编排程序的方法,该方法可以在具有触摸屏的电子设备中实现,该方法具体可以包括:在触摸屏上显示至少一个原子服务图标,上述原子服务图标对应于一个原子服务,上述原子服务通过api方式提供服务能力;在上述触摸屏上显示编排区域,上述编排区域用于容纳用户选定的原子服务图标;电子设备检测到用户针对第一原子服务图标的第一触摸事件(例如可以是拖动手势),上述第一原子服务图标对应于第一原子服务;响应于上述第一触摸事件,上述电子设备将上述第一原子服务图标显示在上述编排区域内;电子设备检测到上述用户针对第二原子服务图标的第二触摸事件(例如可以是拖动手势),上述第二原子服务图标对应于第二原子服务;响应于上述第二触摸事件,电子设备将上述第二原子服务图标显示在上述编排区域内;电子设备检测到上述用户的第三触摸事件;响应于上述第三触摸事件(例如可以是点击操作),上述电子设备将在上述编排区域内的上述第一原子服务图标和上述第二原子服务图标进行编排,生成第一程序;其中,上述第一原子服务是上述电子设备的系统服务,上述第二原子服务是网络服务。上述技术方案大大降低了编排程序的复杂性,用户可以通过简单的触摸手势即可完成具有多种功能的程序的编排。
6.在一种可能的实现方式中,上述方法还可以包括:电子设备检测到上述用户的输入;响应于上述输入,上述电子设备发送发布请求信息给上述无线网络中的服务器,上述发布请求信息包括编排好的上述第一程序、上述电子设备的标识符;上述电子设备接收上述服务器发送的响应信息,上述响应信息表明上述第一程序在上述服务器中的服务开放平台
发布成功。将编排好的程序发布到无线网络中的服务器上,可以让更多的用户进行下载,方便了用户的使用。
7.在另外一种可能的实现方式中,上述第一原子服务通过上述电子设备本地的api提供服务能力,上述第二原子服务通过网络的api提供服务能力。示例性地,第一原子服务可以是检测到拿起手势,电子设备可以通过调用系统接口来检测手势;第二原子服务可以是分享到微博,电子设备可以通过调用微博相关的网络接口。
8.在另外一种可能的实现方式中,上述第一触摸事件是对上述第一原子服务图标进行拖动的手势,上述第二触摸事件是对上述第二原子服务图标进行拖动的手势。这样,用户通过简单的拖动手势即可更高效地编排程序。
9.在另外一种可能的实现方式中,电子设备根据上述第一原子服务图标和上述第二原子服务图标进行编排,生成第一程序具体包括:电子设备根据程序编排模型,将与上述第一原子服务图标所对应的上述第一原子服务和上述第二原子服务图标所对应的第二原子服务进行编排;生成上述第一程序。
10.在另外一种可能的实现方式中,上述系统服务接口是用于获取新照片的接口,上述网络服务接口是用于获取微博服务的接口。
11.第二方面,本技术提供一种电子设备,包括:触摸屏,其中,触摸屏包括触敏表面和显示器;一个或多个处理器;存储器;多个应用程序;以及一个或多个计算机程序,其中上述一个或多个计算机程序被存储在上述存储器中,上述一个或多个计算机程序包括指令,当上述指令被上述电子设备执行时,使得上电子设备执行上述的编排程序方法。
12.第三方面,本技术提供一种激活编排的程序的方法,该方法可以在具有触摸屏的电子设备中实现,该方法具体可以包括:电子设备接收第一输入事件(例如点击操作);响应于第一输入事件,在触摸屏上显示第一应用程序的主界面,该主界面包括对应于编排程序的程序卡片,程序卡片中包括上述编排程序的基本信息,和用于下载上述编排程序的控件;电子设备接收针对上述控件的第二输入事件;响应于上述第二输入事件,电子设备从无线网络下载编排程序,上述编排程序包括调用上述电子设备的系统服务接口的代码和调用无线网络中网络服务接口的代码,上述编排程序以卡片的形式显示在上述触摸屏上,上述编排程序的基本信息包括上述编排程序的名称、功能简介;电子设备在触摸屏上显示已下载的程序卡片;电子设备接收针对上述程序卡片的第三输入事件;响应于上述第三输入事件,电子设备激活与上述程序卡片对应的上述编排程序;激活后的上述编排程序常驻于上述电子设备的后台。
13.在一种可能的实现方式中,上述方法还可以包括:当上述编排程序通过上述系统服务接口检测到触发事件时,上述编排程序在电子设备后台自动运行。
14.在另外一种可能的实现方式中,上述触发事件可以是电子设备保存了一张新照片,或上述电子设备开启了勿扰模式,或上述电子设备检测到拿起手势。
15.在另外的在一种可能的实现方式中,上述编排程序在上述电子设备后台自动运行具体包括:编排程序通过调用上述网络服务接口,将运行中所涉及的数据发送到上述无线网络中。
16.在另外的在一种可能的实现方式中,上述系统服务接口是用于获取新照片的接口,上述网络服务接口是用于获取微博服务的接口。
17.第四方面,本技术提供一种电子设备,包括:触摸屏,其中,上述触摸屏包括触敏表面和显示器;一个或多个处理器;存储器;多个应用程序;以及一个或多个计算机程序,其中上述一个或多个计算机程序被存储在上述存储器中,上述一个或多个计算机程序包括指令,当上述指令被上述电子设备执行时,使得上述电子设备执行上述的激活编排的程序的方法。
18.第五方面,本发明实施例还提供一种编排程序的装置,该装置具有实现上述方法实际中电子设备行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
19.第六方面,本技术又提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
20.第七方面,本技术又提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
21.本技术的这些和其它方面在以下实施例的描述中会更加简明易懂。
22.应当理解的是,本技术中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
附图说明
23.图1是一些实施例所涉及的网络系统架构示意图;
24.图2a是一些实施例中涉及的网络架构示意图;
25.图2b是一些实施例中的网络架构及taskflow部署示意图;
26.图3是一些实施例中电子设备的结构示意图;
27.图4a-4f是一些实施例中电子设备上显示的一些图形用户界面的示意图;
28.图5a和5b是一些实施例中电子设备上显示的另一些图形用户界面的示意图;
29.图6a-6j是另外一些实施例中电子设备上显示的另一些图形用户界面的示意图;
30.图7a-7f是一些实施例中电子设备上显示的另一些图形用户界面的示意图;
31.图8是一些实施例中的方法流程示意图;
32.图9是另外一些实施例中的方法流程示意图;
33.图10是一些实施例中的电子设备的结构示意图;
34.图11是另外一些实施例中编排程序的装置的结构示意图。
具体实施方式
35.本技术实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。如在本技术的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本技术实施例中使用的术语“和/或”是指并包含一个或多个相绑定的列出项目的任何或所有可能组合。
36.在开始描述本技术具体实施例之前,先介绍在本技术以下实施例中将会被提及的术语及其含义。可以理解的是,无如其他说明,本技术各个实施例中的这些术语及其含义均可以是相同的。
37.在本技术以下实施例中,任务流(taskflow)是一种经过用户编排的可执行的编排程序,具体来说,任务流是根据设定的规则与语法,对多个可执行代码片段(即原子服务)进行拼接,从而生成新的可执行性的脚本程序;该脚本程序可以用文本编辑器进行修改,通常用来解释程序的运行,常见的脚本语言有java脚本、python、visual basic脚本、web编程脚本等。在本技术实施例中,任务流可以认为是一种可执行的程序,但是与现有技术中安装在手机中的应用程序(例如facebook、twitter等)又有所不同:现有技术中的应用程序一般是由专业开发者利用专门的编程语言及专门的编程工具编写的可执行的程序,而本技术实施例中的任务流是通过在电子设备100上的用户界面,由用户(包括普通用户和专业开发者)对该用户界面中的各种原子服务进行编排/拼接操作而生成的可执行的脚本程序,该编排或拼接操作一般是通过用户在电子设备100上用手指进行点击、拖、拽等手势实现的。关于任务流的编排/拼接操作的具体实现,在以下实施例中将详细描述。
38.任务流可以在如图1或图3所示的电子设备100中由用户编排而成。原子服务(atomic service)是指将可执行的程序分解成多个功能单一的可执行代码片段,最终体现在服务接口的功能单一性上。每一个原子服务有其对应的应用程序接口(application programming interface,api),方便taskflow开发者的使用;每一个原子服务有唯一标识该原子服务的service id。原子服务具体可以是例如开始拍照、开始录像、扫描二维码、分享到推特等。可以理解的是,taskflow开发者可以根据一定的规则创建新的原子服务,并可以上传到taskflow服务器进行注册。这样,通过注册后的该原子服务被taskflow服务器管理,并可以被其他开发者使用。在本技术一些实施例中,原子服务其对应的api形式可以遵从restful api规范。
39.原子服务可以看成是一段可执行的代码,因此原子服务中所包含的信息可以包括:原子服务id、类型、统一资源标识符(uniform resource identifier,uri)、input函数、output函数,还包括composer,用于编排程序时所用到的ui组件资源(包括图标、形状、颜色、参数等)。原子服务的api被统一封装为uri调用,及其他服务可以通过调用与该原子服务相应的uri来使用该原子服务。
40.一般而言,一个简单的任务流可以包括两个环节:触发(trigger)和动作(action)。其中,触发环节主要负责通过监听事件触发原子服务。触发环节是taskflow中动作执行的充分条件,一般由一个原子服务提供,例如该原子服务可以是:进入设定的地理围栏,开始拍照,存储新照片,拿起手势等。在本技术其他一些实施例中,在一个taskflow的触发环节中可以有多个原子服务;在这种情况下,在时间顺序上有一个原子服务是先于其他原子服务产生的,而其他原子服务可以转化为条件的输入。动作环节是taskflow中完成最后一步动作的单端口服务,用于完成最终处理。该环节也是由原子服务来提供,例如该原子服务可以是分享到推特、发送电子邮件等。
41.由上可知,原子服务可以分为两种类型:一种是用在触发环节的触发类原子服务,另一种是用在动作环节的动作类原子服务。例如,触发类原子服务可以是存储新照片,动作类原子服务可以是分享到推特。可以理解的是,一种原子服务即可以是触发类原子服务(即可以在触发环节提供服务),也可以是动作类原子服务(即在动作环节提供服务);例如“开启飞行模式”该原子服务既可以编排到触发环节,也可以编排到动作环节。示例性地,下表1中示出了各种原子服务的基本信息。原子服务的基本信息可以包括其名称、服务描述、服务类别及所需权限等;其中,服务描述是指对该原子服务的具体含义及功能做一个简单说明,服务类别是表明该原子服务是触发类还是动作类,所需权限是指当运行该原子服务时所需要调用的权限。
42.[0043][0044]
表1
[0045]
在上述表1中,例如原子服务“保存新照片”是指在相册或图库中存储了一张新照片。该新照片可以是电子设备(例如手机、平板电脑、笔记本电脑等)通过摄像头获取的,也可以是通过接收用户的操作从某个应用程序中获取而保存在相册或图库中的。本技术实施例对新照片的获取不限于上述列举的情况。再例如“验证指纹”是指对采集到的指纹进行合法性验证;该原子服务需要使用采集指纹的权限,并且为了保护用户的隐私及数据安全,该原子服务可以只存储于电子设备中。在本技术各个实施例中,taskflow的创建/制作、激活/运行都可以是基于原子服务的。表1中列举的各类原子服务可以存储于电子设备的存储器中,也可以存储于网络侧的服务器中。
[0046]
如表2所示,示出了一个简单的任务流例子:如果图库app里存储了一张新照片,则电子设备自动将该照片分享到推特。
[0047]
触发动作在图库中存储一张新照片分享到推特
[0048]
表2
[0049]
再例如,一个简单的任务流可以是:如果用摄像头拍了一张照片,则将该拍摄的照片保存在一设定的相册中。在该任务流中,原子服务有两个:在图库中存储新照片和添加照片到设定的相册中(该相册可以在用户编排该taskflow时进行设置);其中,在图库app中存储新照片是触发类的原子服务,添加该照片到设定的相册是动作类的原子服务。
[0050]
在本技术其他一些实施例中,为了实现电子设备更加智能的自动化处理,进一步提高电子设备的处理效率,任务流除了包括触发环节和动作环节外,还可以包括一些中间环节例如逻辑控制。逻辑控制环节主要用于进行条件、分支、循环等的控制处理,该环节是用脚本语言实现的控制逻辑,其本身不是原子服务,但是该环节可以用原子服务作为逻辑控制的输入,例如系统时间。示例性的,如表3所示,一个任务流可以是:在图库中存储一张新照片后,设定在当天晚上的23点自动将该照片分享(例如发布)到推特。
[0051]
触发逻辑控制动作在图库中存储一张新照片在23点执行动作分享到推特
[0052]
表3
[0053]
在本技术另外一些实施例中,任务流除了包括触发、逻辑控制和动作等环节外,还可以包括处理环节,该环节是taskflow中一类具有输入和输出的原子服务,承担中间处理过程,并将处理的中间结果传送给动作环节中的原子服务,以便动作环节中的原子服务以该中间结果作为输入,为动作的执行提供充分条件。可以理解的是,处理环节中的原子服务也可以包括在动作环节中,也即具有输入和输出的原子服务可以作为动作环节中的一个原子服务,该原子服务为最后动作执行的原子服务提供数据的输入。
[0054]
任务卡(taskcard)可以理解为任务流的一种可视化界面,该卡片提供与该任务卡
对应的任务流与用户之间的交互接口,用户可以通过在电子设备上显示的任务卡的相关界面,对该任务卡或与该任务卡对应的任务流进行操作,例如激活或去激活该任务卡,对该任务卡的名称进行编辑等操作。图4e、4f即为任务卡的两个例子,例如在图4e中显示了任务卡的名称、作用、所需权限、开发者等基本信息。而其对应的taskflow并没有显示出来。本技术实施例提供的任务卡的用户界面,可以极大提高电子设备与用户之间的交互效率,同时也可以提高用户的使用体验。
[0055]
每个任务卡有一个卡片标识,用来唯一标识该任务卡,在本技术以下实施例中可以将卡片标识称之为taskcard id;每一个taskcard id能够唯一标识一张taskcard。由于任务卡是任务流的一种可视化界面,因此每一个任务卡对应于一个任务流。在本技术一些实施例中,每一个任务流也可以有一个任务流标识(称之为taskflow id),用来唯一标识该任务流。示例性地,对上述任务流来说,为了方便用户进行管理,可以对taskflow id、taskcard id及taskflow信息进行分类表示,如表4所示。
[0056][0057]
表4
[0058]
上述表4表明该任务流的taskflow id是10f447(十六进制),其对应的taskcard id是21e88e,该taskflow基本信息包括触发环节中所涉及的原子服务,动作环节所涉及的原子服务,还可以包括该taskflow的名称,例如表4中taskflow的名称可以是“自动发推特”。
[0059]
可以理解的是,由于一个任务卡对应于一个任务流,而每一个任务卡有唯一的taskcard id,因此,可以用taskcard id来标识该任务流而不需要taskflow id,或者也可以用taskflow id来标识该任务流而不需要taskcard id,又或者该任务流的taskflow id可以与taskcard id相同。
[0060]
taskcard上可以显示其基本信息,例如该taskcard的名称、卡片标识、主要作用、所涉及的原子服务、所需要的权限等。当然,taskcard上还可以显示控件来运行或者关闭与该taskcard所对应的taskflow。例如用户可以通过与触摸屏上显示的taskcard的交互操作(例如点击、长按或重压等),来运行或者关闭正在运行的taskflow。关于taskcard的具体细节将在以下实施例中具体描述。
[0061]
可以理解的是,上述表1-4仅仅旨在向本领域技术人员描述本技术实施例中的原子服务、任务流及任务卡的相关概念及含义。在其他情况下,上述对原子服务、任务流、任务卡等相关概念及含义的描述可能有其他方式,本技术实施例并不限于上述描述方式。
[0062]
可以理解的是,“任务流”只是本技术实施例中所使用的一个词语,其代表的含义在本技术实施例中已经记载,其名称并不能对本技术实施例构成任何限制;另外,在本技术其他一些实施例中,“任务流”也可以被称为例如“工作流”、“事件流”、“命令流”等其他名字。同样的,本技术实施例中提到的“任务卡”,在其他一些实施例中也可以被称为例如“事
件卡”、“命令卡”、“创意卡”等其他名字。
[0063]
示例性地,如下代码示出了一个简单的taskflow的文件格式。
[0064][0065]
在上述代码中,第一部分描述了该taskflow的基本信息:taskflow id、taskflow名称、图标、说明、开发者、是否已发布、最后更新时间,第一部分还描述了所要用到的动作类原子服务。上述代码的第二部分描述了该触发环节的原子服务:调用用户信息,以及taskflow触发的规则(rule1),其中规则即可以看成是调用系统的原子服务。第三分部对该taskflow进行具体定义,描述几个action的执行逻辑。在本技术其他一些实施例中,
taskflow中的代码还可以包括所需权限列表、是否激活等信息。
[0066]
图1为本技术实施例所涉及的网络系统架构示意图。如图1所示,该网络系统可以包括至少一个电子设备100和taskflow服务器200。其中,电子设备100的硬件结构如图3所示,后面实施例将具体描述。电子设备100中安装有被称为“任务卡商店(taskcard store)”的应用程序,如图4a中app图标所示。该应用程序可以通过电子设备100与taskflow服务器200进行数据通信,从而实现taskflow服务器200对该电子设备100中的taskflow或taskcard进行管理(例如taskcard分发、同步、权限控制等)。
[0067]
taskcard store主要用于提供一个taskcard制作/创建、发布、下载的平台。例如用户通过taskcard store制作taskcard,然后将制作好的该taskcard上传到taskflow服务器200,;由taskflow服务器200将该taskcard发布到taskcard store中的集市中,供其他电子设备的用户进行浏览、下载等。已发布的taskcard可以通过与taskflow服务器200同步而显示在taskcard store的相关界面中。该应用程序还可以提供平台供用户制作各种各样的taskcard并发布。以下实施例中将详细描述taskcard store的主要用户界面及功能。
[0068]
图1中的taskflow服务器200主要用于为用户提供taskflow制作、发布,并提供原子服务开放平台,以便第三方原子服务接入并注册。另外,taskflow服务器200还可以对已发布的taskflow(也即taskcard)进行管理,该管理可以是对基于taskflow服务器200而执行的taskflow进行激活或去激活,还可以是对taskcard store的软件架构进行管理等。另外,taskflow服务器200还用于对涉及第三方的原子服务提供服务例如接入、注册、状态管理等服务。
[0069]
在本技术一些实施例中,taskflow服务器200中的服务开放平台在访问原子服务的时候,一般使用https协议,且一般情况下携带如下http消息头域:
[0070]
accept:application/json
[0071]
accept-charset:utf-8
[0072]
accept-encoding:gzip,deflate
[0073]
content-type:application/json
[0074]
另外对于需要认证的原子服务或者api,开放平台会通过认证相关接口获取访问token,并将其携带在authorization头域中,示例如下:
[0075]
authorization:bearer b29a71b4c58c22af116578a6be6402d2
[0076]
对于每一个请求,平台会生成一个随机uuid并携带在x-request-id头域中,用于标识本次请求,建议服务发起的请求中也携带该头域,方便后续问题定位,示例如下:
[0077]
x-request-id:7f7cd9e0d8154531bbf36da8fe24b449
[0078]
原子服务的响应消息可以采用json且使用utf8编码进行描述,消息中涉及时间的字段可以统一按照iso8601标准进行描述,返回的数据统一按照如下结构进行反馈:
[0079][0080]
在本技术其他一些实施例中,该网络系统还可以包括至少一个原子服务提供者的
服务器300,该服务器300具体可以是web服务器。该服务器300主要用于注册到taskflow服务器中的原子服务开放平台,并向taskflow服务器提供原子服务,例如原子服务“分享到推特”即是应用程序“推特”的服务商提供的原子服务。示例性地,原子服务提供者在注册到taskflow服务器200的原子服务平台时,需要遵循相关规范及接口标准。因此,某个原子服务在注册原子服务开放平台时,需要提供如下信息:
[0081][0082]
在注册开放平台时,对于需要认证的原子服务,提供者需要提供oauth 2.0认证方式及认证相关接口。在原子服务注册到开放平台的过程中,需要提供服务的描述信息,其中包括服务本身的描述信息(包括服务名称、主机名称/域名、基础url路径)、认证信息(客户端id、客户端密钥)、服务相关接口(触发器、动作、状态检查接口、用户信息查询接口等,一个服务至少有一个触发器或者一个动作)。上述信息可以通过swagger json进行描述。
[0083]
为了保证已注册的原子服务(特别是第三方提供的原子服务)可以正常运行,taskflow服务器200可以通过服务开放平台所定义的通用接口周期性获取原子服务的状态(可用或不可用),该通用接口可以设计为无需认证的接口。taskflow服务器200可以通过使用https协议来获取原子服务的状态;例如taskflow服务器200可以发送查询请求信息,其中request header参数如下:
[0084][0085]
taskflow服务器200可以接收到如下相应结果码:
[0086]
响应码返回码说明2000原子服务可用5031原子服务不可用
[0087]
图2a示出了本技术实施例中涉及taskflow相关流程环节的介绍性的框图。在图2a中,各个流程环节可以是taskflow编排,taskflow市场、taskflow管理及taskflow执行等。开发者可以利用taskflow编排器来开发特定的taskflow,在本技术实施例中可以由网络侧服务器提供标准统一的taskflow编排平台,该编排平台也可以在电子设备上实现,更加方便用户参与taskflow的编排,具体编排方式在下面实施例中会详细描述。在开发者完成一个taskflow的编排后,可以将该taskflow通过无线网络提交或发布到taskflow市场。电子
设备的用户可以订阅taskflow市场中各种各样的taskflow,例如可以订阅社交类的taskflow;那么下次一旦有新的属于社交类的taskflow在市场上发布时,网络侧的服务器例如图1中的taskflow服务器200可以推送相关消息给该电子设备,方便用户及时获取。当然,用户还可以通过在电子设备上下载存储在服务器上的taskflow,然后在电子设备上激活该taskflow。taskflow被激活后,可以在网络侧的服务器200上执行,并可以通过推送方式调用电子设备上的原子服务来协助完成该taskflow的执行。在本技术其他一些实施例中,taskflow被激活后,服务器还可以触发或调用第三方服务器(例如图1中的服务器300)中的原子服务。原子服务市场用于为开发者提供已注册的原子服务的分发平台,开发者可以在taskflow的编排中调用该市场中的原子服务。该市场中的原子服务可以是第三方的原子服务,还可以是电子设备的原子服务。一般来说,为了提供给用户和开发者标准化统一化的服务体验,这些原子服务均需要在原子服务市场上注册后,才能在taskflow编排中被调用。另外,为了保证用户在电子设备上编排taskflow时与通过服务器上的编排器来编排有一致的体验,服务器上已注册的原子服务可以与电子设备上的原子服务同步;具体地,当用户在电子设备上触发taskflow编排时,该电子设备可以通过无线网络向服务器发送原子服务同步请求,这样服务器可以将已注册的原子服务同步到该电子设备中。
[0088]
在本技术另外一些实施例中,电子设备的用户还可以通过调用服务器的相关页面,在电子设备上进行taskflow的编排,编排完成的taskflow可以保存到服务器上。手机用户和专业的开发者都可以通过编排器开发taskflow,编排完成了的taskflow可以通过上述taskflow市场进行分发。用户可以通过市场搜索,栏目等功能寻找符合自己需要的taskflow,然后激活它。用户激活taskflow后,taskflow的实例会在服务器上生成,并可以通过无线网络下载到用户的电子设备上。可以理解的是,在服务器和电子设备上都有一个taskflow的执行环境,该执行环境会根据taskflow触发环节中的原子服务的位置,来决定taskflow在服务器侧执行还是在电子设备侧执行。一旦该原子服务被触发,执行环境就会按照taskflow的语法链解析运行。可以理解的是,图2a所示的taskflow相关流程环节可以由图1中的taskflow服务器200、电子设备100和至少一个原子服务提供者的服务器300协同完成。
[0089]
图2b是从taskflow所涉及两个环节的角度示出的如图1中的通信系统。在图2b中,taskflow服务器200中存储有多个taskflow(例如taskflow 1、taskflow 2等),这些taskflow中的触发环节可以涉及第三方的服务器300(例如提供触发类原子服务的web服务器),该触发环节也可以涉及提供触发类原子服务的物联网设备500(例如智能冰箱等)。可以理解的是,这些taskflow中的动作环节也可以涉及第三方的服务器(例如提供动作类原子服务的web服务器),也可以涉及动作类原子服务的物联网设备600(例如智能空调等)。用户可以在电子设备100中对物联网设备500、物联网设备600中的原子服务做集中管理,然后再与taskflow服务器200同步这些原子服务。可以理解的是,原子服务也可以由电子设备100上传到taskflow服务器200中,再由taskflow服务器200进行管理。在电子设备100中,由于原子服务与taskflow服务器进行了同步,因此也可以在电子设备100上编排taskflow,并将该taskflow同步到服务器200上。在电子设备100上激活的taskcard可以执行其对应的taskflow。
[0090]
以下介绍电子设备、用于这样的电子设备的图形用户界面(以下可以简称gui)、和
用于使用这样的电子设备的实施例。在本技术一些实施例中,电子设备可以是还包含其它功能诸如个人数字助理和/或音乐播放器功能的便携式电子设备,诸如手机、平板电脑、具备无线通讯功能的可穿戴设备(如智能手表)等。便携式电子设备的示例性实施例包括但不限于搭载或者其它操作系统的便携式电子设备。上述便携式电子设备也可以是其它便携式电子设备,诸如具有触敏表面(例如触控面板)的膝上型计算机(laptop)等。还应当理解的是,在本技术其他一些实施例中,上述电子设备也可以不是便携式电子设备,而是具有触敏表面(例如触控面板)的台式计算机。
[0091]
示例性地,如图3所示,本技术实施例中的电子设备可以为手机100。下面以手机100为例对实施例进行具体说明。应该理解的是,图示手机100仅是电子设备的一个范例,并且手机100可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
[0092]
如图3所示,手机100具体可以包括:一个或多个处理器101、射频(radio frequency,rf)电路102、存储器103、触摸屏104、蓝牙装置105、一个或多个传感器106、wi-fi装置107、定位装置108、音频电路109、外设接口110以及电源装置111等部件。这些部件可通过一根或多根通信总线或信号线(图3中未示出)进行通信。本领域技术人员可以理解,图3中示出的硬件结构并不构成对手机100的限定,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0093]
下面结合图3对手机100的各个部件进行具体的介绍:
[0094]
处理器101是手机100的控制中心,利用各种接口和线路连接手机100的各个部分,通过运行或执行存储在存储器103内的应用程序(application,简称app),以及调用存储在存储器103内的数据和指令,执行手机100的各种功能和处理数据。在一些实施例中,处理器101可包括一个或多个处理单元;处理器101还可以集成应用处理器和调制解调处理器;其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器101中。举例来说,处理器101可以是华为技术有限公司制造的麒麟960芯片。在本技术其他一些实施例中,上述处理器101还可以包括指纹验证芯片,用于对采集到的指纹进行验证。
[0095]
射频电路102可用于在收发信息或通话过程中,无线信号的接收和发送。具体地,射频电路102可以将基站的下行数据接收后,给处理器101处理;另外,将涉及上行的数据发送给基站。通常,射频电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频电路102还可以通过无线通信和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统、通用分组无线服务、码分多址、宽带码分多址、长期演进、电子邮件、短消息服务等。
[0096]
存储器103用于存储应用程序以及数据,处理器101通过运行存储在存储器103的应用程序以及数据,执行手机100的各种功能以及数据处理。存储器103主要包括存储程序区以及存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等);存储数据区可以存储根据使用手机100时所创建的数据(比如音频数据、电话本等)。此外,存储器103可以包括高速随机存取存储器,还可以包括非易失存储器,例如磁盘存储器件、闪存器件或其他非易失性固态存储器件等。存储器103
可以存储各种操作系统,例如苹果公司所开发的操作系统,谷歌公司所开发的操作系统等。示例性地,存储器103中存储了与本技术实施例相关的应用程序,例如taskcard store、推特、电话本、微博等。
[0097]
触摸屏104可以包括触敏表面104-1和显示器104-2。其中,触敏表面104-1(例如触控面板)可采集手机100的用户在其上或附近的触摸事件(比如用户使用手指、触控笔等任何适合的物体在触敏表面104-1上或在触敏表面104-1附近的操作),并将采集到的触摸信息发送给其他器件例如处理器101。其中,用户在触敏表面104-1附近的触摸事件可以称之为悬浮触控;悬浮触控可以是指,用户无需为了选择、移动或拖动目标(例如app图标等)而直接接触触控板,而只需用户位于电子设备附近以便执行所想要的功能。在悬浮触控的应用场景下,术语“触摸”、“接触”等不会暗示用于直接接触触摸屏104,而是在其附近或接近的接触。能够进行悬浮触控的触敏表面104-1可以采用电容式、红外光感以及超声波等实现。触敏表面104-1可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再发送给处理器101,触摸控制器还可以接收处理器101发送的指令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型来实现触敏表面104-1。显示器(也称为显示屏)104-2可用于显示由用户输入的信息或提供给用户的信息以及手机100的各种菜单。可以采用液晶显示器、有机发光二极管等形式来配置显示器104-2。触敏表面104-1可以覆盖在显示器104-2之上,当触敏表面104-1检测到在其上或附近的触摸事件后,传送给处理器101以确定触摸事件的类型,随后处理器101可以根据触摸事件的类型在显示器104-2上提供相应的视觉输出。虽然在图2中,触敏表面104-1与显示屏104-2是作为两个独立的部件来实现手机100的输入和输出功能,但是在某些实施例中,可以将触敏表面104-1与显示屏104-2集成而实现手机100的输入和输出功能。可以理解的是,触摸屏104是由多层材料堆叠而成,本技术实施例中只展示出了触敏表面(层)和显示屏(层),其他层在本技术实施例中不予赘述。另外,在本技术其他一些实施例中,触敏表面104-1可以覆盖在显示器104-2之上,并且触敏表面104-1的尺寸大于显示屏104-2的尺寸,使得显示屏104-2全部覆盖在触敏表面104-1下面,或者,上述触敏表面104-1可以以全面板的形式配置在手机100的正面,也即用户在手机100正面的触摸均能被手机感知,这样就可以实现手机正面的全触控体验。在其他一些实施例中,触敏表面104-1以全面板的形式配置在手机100的正面,显示屏104-2也可以以全面板的形式配置在手机100的正面,这样在手机的正面就能够实现无边框的结构。在本技术其他一些实施例中,触摸屏104还可以包括一系列的压力传感器阵列,可以使得手机感测触摸事件所施加给触摸屏104的压力。
[0098]
手机100还可以包括蓝牙装置105,用于实现手机100与其他短距离的电子设备(例如手机、智能手表等)之间的数据交换。本技术实施例中的蓝牙装置可以是集成电路或者蓝牙芯片等。
[0099]
手机100还可以包括至少一种传感器106,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节触摸屏104的显示器的亮度,接近传感器可在手机100移动到耳边时,关闭显示器的电源。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三
轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等。
[0100]
在本技术一些实施例中,传感器106还可以包括指纹传感器。例如,可以在手机100的背面(例如后置摄像头的下方)配置指纹传感器112,或者在手机100的正面(例如触摸屏104的下方)配置指纹传感器112。另外,也可以通过在触摸屏104中配置指纹传感器112来实现指纹识别功能,即指纹传感器112可以与触摸屏104集成在一起来实现手机100的指纹识别功能。在这种情况下,该指纹传感器112可以配置在触摸屏104中,可以是触摸屏104的一部分,也可以以其他方式配置在触摸屏104中。另外,该指纹传感器112还可以被实现为全面板指纹传感器,因此,可以把触摸屏104看成是任何位置都可以进行指纹采集的一个面板。该指纹传感器112可以将采集到的指纹发送给处理器101,以便处理器101对该指纹进行处理(例如指纹验证等)。本技术实施例中的指纹传感器112可以采用任何类型的感测技术,包括但不限于光学式、电容式、压电式或超声波传感技术等。另外,关于本技术实施例中在触摸屏中集成指纹传感器的具体技术方案,可以参见美国专利与商标局公告的申请号为us 2015/0036065 a1,名称为“在电子设备中的指纹传感器”的专利申请,其全部控件通过引用结合在本技术各个实施例中。
[0101]
至于手机100还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不予赘述。
[0102]
wi-fi装置107,用于为手机100提供遵循wi-fi相关标准协议的网络接入,手机100可以通过wi-fi装置107接入到wi-fi接入点,进而帮助用户收发电子邮件、浏览网页和访问流媒体等,它为用户提供了无线的宽带互联网访问。在其他一些实施例中,该wi-fi装置107也可以作为wi-fi无线接入点,可以为其他电子设备提供wi-fi网络接入。
[0103]
定位装置108,用于为手机100提供地理位置。可以理解的是,该定位装置108具体可以是全球定位系统(global positioning system,gps)、北斗卫星导航系统等定位系统的接收器。定位装置108在接收到上述定位系统发送的地理位置后,将该信息发送给处理器101处理,或者发送给存储器103保存。在另外的一些实施例中,该定位装置108可以是辅助全球卫星定位系统(assisted global positioning system,agps)的接收器,agps是一种在移动辅助配合下进行gps定位的运行方式,它可以利用基站的信号,配合gps卫星信号,可以让手机100定位的速度更快;在agps系统中,该定位装置108可通过与辅助定位服务器(例如手机100的定位服务器)的通信而获得定位辅助。agps系统通过作为辅助服务器来协助定位装置108完成测距和定位服务,在这种情况下,辅助定位服务器通过无线通信网络与电子设备例如手机100的定位装置108(即gps接收器)通信而提供定位协助。在另外的一些实施例中,该定位装置108也可以是基于wi-fi接入点的定位技术。由于每一个wi-fi接入点都有一个全球唯一的mac地址,电子设备在开启wi-fi的情况下即可扫描并收集周围的wi-fi接入点的广播信号,因此可以获取到wi-fi接入点广播出来的mac地址;电子设备将这些能够标示wi-fi接入点的数据(例如mac地址)通过无线通信网络发送给位置服务器,由位置服务器检索出每一个wi-fi接入点的地理位置,并结合wi-fi广播信号的强弱程度,计算出该电子设备的地理位置并发送到该电子设备的定位装置108中。
[0104]
音频电路109、扬声器113、麦克风114可提供用户与手机100之间的音频接口。音频电路109可将接收到的音频数据转换后的电信号,传输到扬声器113,由扬声器113转换为声
音信号输出;另一方面,麦克风114将收集的声音信号转换为电信号,由音频电路109接收后转换为音频数据,再将音频数据输出至rf电路102以发送给比如一个手机,或者将音频数据输出至存储器103以便进一步处理。
[0105]
外设接口110,用于为外部的输入/输出设备(例如键盘、鼠标、外接显示器、外部存储器、用户识别模块卡等)提供各种接口。例如通过通用串行总线接口与鼠标连接,通过用户识别模块卡卡槽上的金属触点与电信运营商提供的用户识别模块(subscriber identity module,sim)卡连接。外设接口110可以被用来将上述外部的输入/输出外围设备耦接到处理器101和存储器103。
[0106]
手机100还可以包括给各个部件供电的电源装置111(比如电池和电源管理芯片),电池可以通过电源管理芯片与处理器101逻辑相连,从而通过电源装置111实现管理充电、放电、以及功耗管理等功能。
[0107]
尽管图3未示出,手机100还可以包括摄像头,例如前置摄像头、后置摄像头,其中,前置摄像头可以用于捕捉人脸特征信息,处理器101可以对该人脸特征信息进行人脸识别,进而进行后续处理。手机100还可以包括闪光灯、微型投影装置、近场通信(near field communication,nfc)装置等,在此不予赘述。
[0108]
以下实施例均可以在具有上述硬件结构的电子设备(例如手机100、平板电脑等)中实现。
[0109]
示例性地,图4a为电子设备100例如手机的触摸屏104上显示的一图形用户界面(graphical user interface,gui),该gui是该电子设备其中的一个主屏幕(home screen),该主屏幕可以包括状态栏401、可隐藏的导航栏402、时间和天气widget,还有多个应用程序的图标例如任务卡商店的图标404、taskcard卡包405等;可以理解的是,在其他一些实施例中,在主屏幕中还可以包括dock栏,dock栏中可以包括常用的app的图标等。当手机检测到用户的手指(或触控笔等)针对某一app图标的触摸事件后,响应于该触摸事件,手机可以打开与该app图标对应的app的用户界面。
[0110]
在其他一些实施例中,该电子设备还可以包括主屏幕键。该主屏幕键可以是实体按键,也可以是虚拟按键。该主屏幕键用于根据用户的操作,将触摸屏上显示的gui返回到主屏幕的某一页面,这样可以方便用户随时查看主屏幕并对主屏幕中的控件(例如图标)进行操作。上述操作具体可以是用户按下主屏幕键,也可以是用户在短时间内连续两次按下主屏幕键,还可以是用户长按主屏幕键。在本技术其他一些实施例中,主屏幕键还可以集成指纹传感器112,这样用户可以在按下主屏幕键的时候,电子设备随之进行指纹采集,进而对用户身份进行确认。
[0111]
如图4b所示,在电子设备检测到用户的手指针对taskcard商店图标404的触摸事件后,响应于该触摸事件,电子设备的触摸屏上可以显示taskcard商店的主界面。该主界面可以包括taskcard集市,dock栏等。其中,taskcard集市中可以显示购买量比较多的taskcard,dock栏可以包括几个栏目:推荐、类别、搜索、我的卡片,推荐即为热门的taskcard,类别是根据taskcard的主要作用而做出的分类,例如有的taskcard用于拍照后发微博,那么可以把此taskcard归类为社交,再例如有些taskcard用于达到一设定地点后自动打开wi-fi,那么可以把此taskcard归类为工具。搜索是可以通过与taskcard相关的关键词搜索相应的taskcard;我的卡片是通过taskcard集市购买的taskcard。
[0112]
在taskcard集市中可以显示多个taskcard,每个taskcard的图标、名称、激活量、用户评价及作用等基本信息可以展示给该手机的用户,以方便该用户进行查看。示例性地,在图4b中,触摸屏上显示了4张taskcard,其中taskcard 407表明该taskcard名称为“快速发微博”,购买量在2900次以上。taskcard 408名称为“自动打开wi-fi”,其购买量也在2500次以上。
[0113]
示例性地,在电子设备检测到用户针对图4b中的taskcard 407的触摸事件后,响应于该触摸事件,电子设备的触摸屏上可以显示taskcard 407相关的gui,在该gui中显示了该taskcard 407的基本信息,如图4c所示。在图4c中显示了该taskcard的图标、名称、作用、开发者、购买量、所需权限、taskcard id等与该taskcard相关的基本信息;另外,该gui中还可以包括控件407-1,该控件407-1用于响应于用户的输入,购买该taskcard。购买的taskcard其实是购买的此taskcard对应的taskflow,这样用户可以在有需要的时候随时激活该taskflow,激活后的taskflow可以在手机的后台自动运行。在本技术其他一些实施例中,用户点击控件407-1后,手机也可以从网络侧的taskflow服务器200下载该taskcard并激活。在本技术其他一些实施例中,在图4c中还可以显示控件407-2,该控件407-2用于响应于用户的输入将另一taskcard的gui显示在触摸屏上,或者响应于用户的输入将一系列taskcard显示在触摸屏上,以便用户进行选择。
[0114]
用户可以点击dock栏中的”我的卡片”查看已购买的taskcard卡片,如图4d所示。图4d中显示了用户在taskcard集市所购买的taskcard;用户可以点击其中的一张taskcard来查看该卡片的详细信息,图4e中的显示了响应于用户的点击操作后的gui。在该gui中,显示了与该taskcard相关的基本信息,其中该gui还可以包括控件411和控件412。控件411用于将该taskcard激活或去激活。在激活后该taskcard所对应的taskflow将在手机中自动运行,并可以在运行的过程中通过各种接口与用户进行交互。例如,具有逻辑控制环节的taskflow在自动运行过程中,可以弹出提示框以便让用户确认逻辑控制环节中的执行条件(例如过滤、筛选等)。激活后的taskcard还可以通过用户的操作去激活,其操作也可以是用户对控件411的触摸事件。控件412用于将该taskcard从手机存储中删除,taskcard删除后,其对应的taskflow不再存储在手机中;用户可以通过其他方式从taskflow服务器200中下载该taskcard,并在手机上重新激活。
[0115]
可以理解的是,因为taskflow的作用是程序的自动化运行,尽量不需要用户的参与(例如用户在电子设备上进行操作),所以taskflow可以在用户无感知的情况下自动运行。用户需要做的就是在taskcard商店激活了与taskflow对应的taskcard之后,在相关用户界面中将taskcard确定为自动运行,则该taskflow不需要用户后续操作,在触发事件发生的时候自动运行。
[0116]
可以理解的是,虽然taskflow的运行可以不需要用户的操作,但是电子设备可以把该taskflow运行的结果提示给用户。因此,示例性地,在本技术其他一些实施例中,在一个taskflow运行完成之后,在电子设备的触摸屏中的状态栏中可以显示提示信息例如“照片1已自动发布到微博,点击此处查看详情(taskflow 1)。”该提示信息表明taskflow 1已在后台运行,并将运行结果反馈给用户。在本技术其他一些实施例中,在用户打开如图4d所示的taskcard 407后,可以在如图4f所示的gui中显示与该taskcard对应的taskflow的运行信息413,例如该taskflow在什么时候运行过,最近一次运行的时间,该taskflow总的运
行次数等。这样,用户可以在方便的时候查看该taskflow的运行信息,甚至在必要的时候可以点击控件411去激活与该taskflow对应的taskcard,或者点击控件412删除该taskcard,从而减少了taskflow因在后台运行而可能引起的系统负载过重的问题,同时也会提高电子设备的效率。可以理解的是,上述运行信息413也可以由电子设备通过无线网络发送给taskflow服务器200,以便taskflow服务器200进行数据分析,从而为电子设备提供更准确的taskflow管理服务。
[0117]
在本技术另外一些实施例中,有些taskflow可以包括逻辑控制环节;在这种情况下,taskflow在运行时可以弹出对话框由用户进行相关操作。示例性地,用户激活了图4d中“快速发微博”的taskcard,该taskcard的作用可以是在图库里存储了一张新照片(也即在手机拍照后),弹出对话框让用户进行快速编辑(逻辑控制环节中的原子服务),然后自动将该照片分享到微博(也即动作类原子服务)。如图5a所示,电子设备检测到用户的手指501针对相机app图标的触摸事件后,响应于该触摸事件,电子设备启动相机app的相关gui,并响应于用户的操作来获取照片,将该照片存储在图库中。上述存储事件触发了与上述taskcard对应的taskflow的自动运行,于是电子设备根据该taskflow中的逻辑控制环节,在触摸屏上可以显示如图5b所示的对话框。该对话框用于在将该照片分享到微博之前由用户进行简单、快速编辑。如图5b所示,照片502可以是用户用电子设备拍摄的最新的一张照片,也即在图库中存储的最新的一张图片。控件503表明当前登录的微博账号是“小王子”,用户可以使用该账号分享照片。在本技术其他一些实施例中,用户也可以点击控件503,在另一gui中快速退出该账号或者登录其他微博账号。输入框504是用户进行文字编辑的接口,控件505表明用户可以取消自动分享而使得该taskflow的本次运行终止。控件506表明用户可以在输入框504输入文字后分享该照片到微博,也可以不在输入框504输入任何文字而分享该照片到微博。上述实施例的技术方案相比于现有技术,不需要用户繁琐的操作,因此提高了电子设备的处理效率,使电子设备更加智能化,也提高了用户体验。
[0118]
在本技术其他一些实施例中,图5b中还可以显示控件507,该控件507表明该taskflow在响应于用户的点击操作后,在下次运行时可以不弹出对话框而在后台执行。上述点击操作可以看成是电子设备接收用户的输入而修改了该taskflow,也即上述taskflow中的逻辑控制环节中的原子服务被删除。
[0119]
在本技术其他一些实施例中,上述taskcard商店的主界面中还可以包括用于制作/创建taskcard的控件,如图6a所示的控件601。示例性地,当电子设备检测到用户的手指针对该控件601的触摸事件后,响应于该触摸事件,该电子设备的触摸屏上显示如图6b所示的gui。该gui中包括控件602、控件603及控件607;其中控件602表明是taskflow的触发环节,其用于在接收用户的操作后,提供各类触发类原子服务供用户进行选择;控件603表明是taskflow的动作环节,其用于在接收用户的操作后,提供各类动作类原子服务供用户进行选择。控件607表明了给用户的提示信息,其在接收到用户的操作后,会跳转到另一个界面中,在该界面上有如何指导用户通过拖拽手势制作taskcard的手册或者视频等。在本技术另外一些实施例中,图6b还可以包括控件609,该控件609用于响应于用户的操作在taskcard创建过程中增加逻辑控制环节,以便在逻辑控制环节中为该taskcard添加相关的原子服务,这样可以使得该taskcard内容更丰富。
[0120]
在本技术另外一些实施例中,该gui还可以包括控件604、控件605及控件606;其
中,控件604表明用户可以随时将未完成制作的taskcard保存在电子设备中,控件605表明在用户完成taskcard制作后可以通过无线网络发布该taskcard到taskflow服务器中,控件606表明用户可以查看存储在电子设备中的未完成的taskcard。
[0121]
如图6c所示,在电子设备检测到用户针对控件602的触摸事件后,响应于该触摸事件,电子设备的触摸屏上显示可供用户选择的触发类的原子服务图标,这些原子服务图标所对应的原子服务可以是存储在电子设备的,也可以是无线网络中的taskflow服务器提供的原子服务。在图6c所示的gui中,显示了多个可以在触发环节使用的原子服务(也即触发类原子服务);显示的原子服务的呈现方式可以是图标、文字、图标加文字等,为了方便用户在多个原子服务中快速选择,原子服务可以以图标加文字的方式显示在触摸屏中,就像图6c所示的那样。图6c中示出的各种原子服务在上述实施例中的表1中均有相关描述,在此不再赘述。
[0122]
在本技术另外一些实施例中,为了让用户在创建taskcard时更直观地查看到原子服务的基本信息,如图6d所示,在电子设备检测到用户针对原子服务图标610的触摸操作后,响应于该触摸操作,在触摸屏上可以弹出一个提示框,该提示框显示了与该原子服务图标610对应的原子服务的基本信息,例如服务描述、所需权限等。在本技术其他一些实施例中,响应于该触摸操作在触摸屏上弹出上述提示框的同时,原先在触摸屏上显示的其他原子服务可以做模糊显示或者不显示;只有当用户的手指离开触摸屏后,触摸屏上才会继续显示如图6c所示的gui。本领域技术人员可以理解的是,上述触摸操作可以是长按手势,也可以是轻击手势,还可以是重压手势。
[0123]
如图6e所示,电子设备检测到用户针对原子服务图标610的触摸事件(例如该触事件可以是拖动手势611),该触摸事件的作用是用户选择了该原子服务图标610,并将原子服务图标610所对应的原子服务确定为该taskcard触发环节中的原子服务。响应于该拖动手势611,电子设备可以将该原子服务610拖动到控件602的位置上,并在该位置上显示原子服务图标610。如图6f所示,表明该taskcard中触发环节所需要的原子服务已经被电子设备确定。在本技术其他一些实施例中,在用户针对原子服务图标610执行拖动手势611时,之前显示的其他原子服务可以动态缩小,甚至缩小而聚集在一起,电子设备可以生成图标612,该图标612表明未被用户选中的原子服务的集合。以此方便用户进行操作,提升了用户的体验。
[0124]
可以理解的是,在本技术其他一些实施例中,在触发环节中的原子服务可以有多个;电子设备可以根据用户选择的原子服务的时间顺序,确定在触发环节中的多个原子服务的运行顺序。示例性地,图6f中还可以显示控件613,该控件的作用是接收用户的输入在触发环节增加另一个原子服务。也就是说,用户可以点击控件613,响应于该点击操作,电子设备可以在触摸屏上显示触发类原子服务供用户选择另一个原子服务。用户可以通过与图6d-6e中相同的操作来选择另一个原子服务;在选择完成后,电子设备确定触发环节中的第二个原子服务。在该taskcard完成之后,在其对应的taskflow运行时,触发环节中的两个原子服务可以按照时间顺序运行。
[0125]
在本技术另外一些实施例中,用户可以同时对两个或两个以上的原子服务图标进行拖动,例如同时拖动第一原子服务图标和第二原子服务图标。电子设备可以根据这两个原子服务的基本信息来确定在taskflow运行时应该首先运行哪一个原子服务。例如,电子
设备可以确定第一原子服务有系统服务的api,而第二原子服务有网络服务的api。那么,电子设备可以确定第一原子服务先运行,因为系统服务api在电子设备本地,电子设备很容易首先通过该api获得相关数据;然后可以再执行第二原子服务。
[0126]
在电子设备确定了触发环节中的原子服务后,在触摸屏上可以显示如图6f所示的gui。这时,用户可以通过与上述实施例相同或者类似的方式来选择动作环节中的原子服务。示例性地,如图6g所示,响应于用户针对控件603的触摸事件,在触摸屏上显示多个动作类的原子服务图标,例如搜索、关闭位置服务、发给facebook联系人、关闭wi-fi、分享到微博等原子服务的图标。例如,电子设备检测到用户针对原子服务图标615的触摸事件(例如该触事件可以是拖动手势614),该触摸事件的作用是选择了该原子服务图标615所对应的原子服务,并将该原子服务确定作为该taskcard触发环节中的原子服务。响应于该拖动手势614,电子设备可以将该原子服务图标615拖动到控件603的位置上,并在该位置上显示原子服务图标615。如图6h所示,表明该taskcard中动作环节中的原子服务已经被电子设备确定。由此,一个包括触发环节和动作环节的简单的taskflow已经制作完成。虽然taskflow已经完成,但是其对应的可视化的taskcard还未制作完成。响应于用户针对控件620的触摸事件,电子设备可以显示如图6i所示的gui。在该gui中,显示区域616用于让用户编辑taskcard的相关图片和taskcard相关的基本信息例如开发者名字、taskcard的作用/功能等,其中taskcard id、taskflow id可以由电子设备自动生成。显示区域617以非常直观的形式显示了与该taskcard对应的taskflow,这样可以方便用户在发布taskcard之前再次确认taskflow的基本信息。
[0127]
在本技术另外一些实施例中,用户可以针对显示区域617做例如双击或者长按的触摸操作,响应于该触摸操作,电子设备可以再次在触摸屏上显示对该taskflow进行制作的gui,例如对该taskflow触发环节的原子服务进行修改(例如替换成另一个原子服务或者添加另一个原子服务等),还例如对该taskflow动作环节的原子服务进行修改。本实施例提供了一种继续编辑taskflow的途径,以方便用户在发布taskcard之前再次对taskflow编辑,避免了用户在不满意taskflow的情况下需要经过频繁操作退回到制作该taskflow的gui的问题,这也就提高了在电子设备上制作taskcard的效率,同时也提高了用户体验。
[0128]
在用户添加完该taskcard相关基本信息后,响应于用户的触摸事件,电子设备可以在触摸屏上显示如图6j所示的gui。在该gui中,包括已经编辑好的taskcard相关基本信息,还可以包括一控件619。该控件619用于发布该taskcard,以便其他用户可以获取。结合图1、图2a和图2b及上述相关实施例,响应于用户针对控件619的触摸事件(例如点击操作),电子设备可以将该taskcard相关信息通过无线网络发送给网络中的taskflow服务器200。taskflow服务器200对电子设备发送的taskcard相关信息进行保存,并可以对该taskcard及其对应的taskflow进行管理,例如将该taskcard发布到taskcard市场,方便其他用户获取。
[0129]
在本技术其他一些实施例中,与图6b-6h所示的通过拖动等触摸事件来创建taskcard所不同,电子设备也可以通过下拉菜单来显示所有可以在触发环节或动作环节使用的原子服务,以便用户通过点击手势或者鼠标来选择其所需的原子服务。在本技术另外一些实施例中,电子设备也可以通过其安装的智能语音助手等软件来编排taskcard,而不需要用户用手指去拖拽原子服务,这样可以进一步提高电子设备的使用效率,同时也进一
步提高了用户体验。在本技术另外一些实施例中,图6c或图6g中显示的各种原子服务还可以根据每个原子服务的使用次数来区别显示,例如使用次数最多的原子服务在显示上最大或最亮,以方便用户进行选择。
[0130]
在本技术上述实施例中,用户在制作/创建一个taskcard时,首先需要对在触发环节中的原子服务进行确定,只有在确定了触发环节中的原子服务后,动作环节中的原子服务才能被确定。这样做是为了提高制作taskcard时的效率。
[0131]
由上可知,上述实施例的制作taskcard的技术方案,通过简单的触摸操作及简易的gui即可实现基于原子服务编排具有不同功能的可执行的程序,这样就大大缩短了编辑程序的时间,也提高了电子设备的使用效率。同时,由于其简单易懂、易上手的、可视化的编排界面,每个用户都可以制作属于自己的原创的程序(taskflow),从而电子设备也提高了用户编程的使用体验。
[0132]
在本技术另外一些实施例中,如图7a所示,用户在编排taskflow时,电子设备在触摸屏上显示一个图形用户界面,在该gui中有多个原子服务图标,每个原子服务图标对应于一个原子服务;该gui还包括一个编排区域701,该编排区域701用于容纳用户选定的原子服务,电子设备可以根据程序编排模型对该编排区域内的原子服务进行编排,生成可执行的程序。示例性地,如图7a所示,电子设备可以检测到用户针对原子服务图标702的拖动手势703,该拖动手势703的作用是将原子服务图标702拖拽到编排区域701内。响应于该拖动手势703,电子设备确定用户所选定的第一原子服务是原子服务图标702所对应的原子服务也即拿起手势。
[0133]
在图7b中,电子设备可以检测到用户针对原子服务图标705的拖动手势704,该拖动手势704的作用是将原子服务图标705拖拽到编排区域701内。响应于该拖动手势704,电子设备确定用户所选定的第二个原子服务是原子服务图标705所对应的第二原子服务例如打开位置服务。在编排区域701显示了两个原子服务图标后,该gui中显示一控件706,该控件706用于接收用户的输入(例如点击),由电子设备根据程序编排模型和在该编排区域701内的原子服务,来确定如何编排并生成新的可执行的程序也即taskflow。
[0134]
一般来说,电子设备生成一个可执行的taskflow需要至少两个原子服务,因此该编排区域701内有两个或两个以上的原子服务图标。电子设备可以确定在编排区域701的原子服务的基本信息例如类型、service id等。然后,电子设备根据存储的程序编排模型,按照将与第一原子服务图标所对应的第一原子服务和第二原子服务图标所对应的第二原子服务进行编排。电子设备中可以存储各种程序编排模型,这些模型已经构建好taskflow的程序框架,只要将确定的原子服务写入该模型中,即可生成新的可执行的程序。示例性地,在图7c中,编排区域内有两个用户选定的原子服务:拿起手势,开启位置服务。那么电子设备可以生成如下的taskflow:当电子设备检测到拿起手势(即手机被用户的手拿起来)时,开启位置服务。电子设备检测到用户针对控件707的触摸事件(例如点击),在触摸屏中显示如图7e所示的gui。该gui表明taskflow已经制作完成,现在需要在显示区域708添加taskcard相关信息。添加完成后,电子设备显示如图7f所示gui,显示区域710中描述了与该taskcard相关的基本信息。在用户点击控件711后,该taskcard及其对应的taskflow就会上传到无线网络中的taskflow服务器200,taskflow服务器200会将接收到的taskcard信息发布到服务开发平台上,以供其他用户在其他电子设备中的任务卡商店进行下载。
[0135]
在图7a至7f所示的实施例中,用户不用考虑哪些原子服务是触发类的,哪些原子服务是动作类的,用户只需要将选定的原子服务拖动到编排区域后,电子设备可以自动确认并生成相应的taskflow。
[0136]
在本技术另外的一些实施例中,如果编排区域中有两个以上选定的原子服务,电子设备可以生成两个或两个以上的不同的taskflow,因为这些原子服务可以有两个或两个以上编排方式,也即有两个或两个以上的程序编排模型与选定的原子服务相对应。此时,在用户点击控件706之后,电子设备可以在触摸屏上显示这两个或两个以上的taskflow,提示用户进行选择。用户可以选择生成这所有的taskflow,也可以选择只生成其中的一个taskflow。
[0137]
如图8所示,本技术实施例提供一种编排程序的方法,该方法可以由图1中的网络系统来实现,该方法具体可以包括以下步骤:
[0138]
步骤s801:电子设备通过无线网络向无线网络中的服务器发送编排程序的请求信息。
[0139]
示例性地,该电子设备可以是图1中的电子设备100,服务器可以是图1中的taskflow服务器200。该请求信息可以是由用户触发的,例如如图6a中用户的手指点击触摸屏上的控件,响应于该点击操作,电子设备通过无线网络向taskflow服务器200发送编排程序的请求信息。该请求信息可以包括该电子设备的标识符,该标识符用于唯一标识该电子设备,以便服务器将相关信息发送给该电子设备。该电子设备的标识符可以是全局唯一标识符(universally unique identifier,uuid),uuid是指在一台电子设备上生成的数字,它保证对在所有电子设备都是唯一的;该电子设备的标识符还可以是国际移动设备身份码(international mobile equipment identity,imei),还可以是移动设备标识符(mobile equipment identifier,meid)。可以理解的是,在本技术中电子设备的标识符不限于上述列举中的实例,还可以包括其他类型的,本文对此不作任何限制。
[0140]
示例性地,在http协议下,电子设备可以基于get或post方法向服务器发送获取用于编排程序的资源的请求信息。在本技术其他一些实施例中,电子设备也可以通过在其他类型的消息中携带上述请求信息,而将上述请求信息发送给服务器。
[0141]
步骤s802:服务器接收该电子设备发送的请求信息。
[0142]
步骤s803:响应于该请求信息,服务器向电子设备发送响应信息。示例性地,该响应信息中可以包括编排程序所需要的资源的web地址。
[0143]
步骤s804:电子设备接收上述服务器发送的响应信息。
[0144]
步骤s805:电子设备根据该响应信息从无线网络中获取与编排程序相关的资源,解析该资源并显示一图形用户界面在触摸屏上。该gui中包括至少一个原子服务图标,每一个原子服务图标对应于一个原子服务,原子服务可以通过api方式提供服务能力。更多关于原子服务的含义在上述实施例中已经描述,在此不再赘述。
[0145]
在该gui中还包括编排区域,该编排区域用于容纳用户选定的原子服务图标。示例性地,编排区域可以是如图6b中控件602、603及609所在的区域,也可以是图7a中所示的区域。在本步骤中,电子设备可以在检测到用户的输入后,在触摸屏上显示如图6b或图7a所示的gui。
[0146]
步骤s806:电子设备检测到用户针对第一原子服务图标的第一触摸事件。示例性
地,第一原子服务图标可以是如图6d中的原子服务图标610,也可以是如图7a中所示的原子服务图标702。
[0147]
步骤s807:响应于上述第一触摸事件,电子设备将上述第一原子服务图标显示在上述编排区域内。上述第一触摸事件可以是针对上述第一原子服务图标的拖动手势,即用户的手指对第一原子服务图标进行长按操作,然后手指从触摸屏上第一原子服务图标所在的位置移动到上述编排区域所在的位置。可以理解的是,上述第一触摸事件的具体形式不限于上述列举的情况。
[0148]
步骤s808:电子设备检测到用户针对第二原子服务图标的第二触摸事件,上述第二原子服务图标对应于第二原子服务。示例性地,第一原子服务图标可以是如图6f中的原子服务图标615,也可以是如图7a中所示的原子服务图标705。
[0149]
步骤s809:响应于上述第二触摸事件,电子设备将上述第二原子服务图标显示在所述编排区域内。上述第二触摸事件可以是针对上述第二原子服务图标的拖动手势,即用户的手指对第二原子服务图标进行长按操作,然后手指从触摸屏上第二原子服务图标所在的位置移动到上述编排区域所在的位置。可以理解的是,上述第二触摸事件的具体形式不限于上述列举的情况。
[0150]
步骤s810:电子设备检测到用户的第三触摸事件;
[0151]
步骤s811:响应于上述第三触摸事件,该电子设备将在上述一原子服务和所述第二原子服务进行编排,生成第一程序。
[0152]
第三触摸事件可以是点击手势,即用户的手指对显示在触摸屏上的一个控件进行点击操作。由于第一原子服务图标和第二原子服务图标显示在了编排区域,电子设备可以确定用户需要对编排区域内的与第一原子服务图标对应的第一原子服务和与第二原子服务图标对应的第二原子服务进行编排。
[0153]
电子设备根据第一原子服务和所述第二原子服务进行编排,生成第一程序具体可以包括:电子设备根据存储的程序编排模型,将与第一原子服务图标所对应的所述第一原子服务和第二原子服务图标所对应的第二原子服务进行编排。电子设备中可以存储各种程序编排模型,这些模型已经构建好taskflow的程序框架,只要将确定的原子服务写入该模型中,即可生成新的可执行的程序。上述第一程序可以理解为上述实施例中的taskflow,上述第一程序包括第一原子服务的代码和所述第二原子服务的代码。
[0154]
在本技术一些实施例中,第一原子服务可以通过电子设备本地的api提供服务能力,第二原子服务可以通过网络的api提供服务能力,例如所述系统服务接口是用于获取新照片的接口,所述网络服务接口是用于获取微博服务的接口。再例如,上述第一原子服务可以是电子设备的系统服务例如开启飞行模式、检测拿起手势等,这些系统服务不需要无线网络中的服务器参加即可调用。上述第二原子服务可以是网络服务,例如分享到微博等;该第二原子服务需要无线网络中的服务器例如微博应用的服务器进行参与,即要调用微博的相关网络接口。
[0155]
在本技术其他一些实施例中,上述方法还可以包括以下步骤:
[0156]
步骤s812:电子设备检测到用户的输入;
[0157]
步骤s813:响应于所上述用户的输入,电子设备发送发布请求信息给无线网络中的服务器,发布请求信息包括编排好的所述第一程序、所述电子设备的标识符;
[0158]
步骤s814:电子设备接收上述服务器发送的响应信息,该响应信息表明第一程序在所述服务器中的服务开放平台发布成功。示例性地,该服务器可以是上述实施例中的taskflow服务器200。
[0159]
由上可知,本技术实施例中提供的一种编排程序的方法,通过从无线网络获取编排程序资源,然后解析并显示在电子设备的触摸屏上,然后通过用户的手势即可完成程序的编排。这样就大大提高了电子设备编排程序的效率,也提高了用户的体验。
[0160]
如图9所示,本技术实施例提供一种激活编排的程序的方法,该方法可以在具有触摸屏的电子设备中实现,该方法具体可以包括以下步骤:
[0161]
步骤s901:电子设备接收用户的第一输入事件(例如点击操作)。
[0162]
步骤s902:响应于上述第一输入事件,在触摸屏上显示第一应用程序的主界面,该主界面包括对应于编排程序的程序卡片(例如上述实施例中的taskcard),程序卡片中包括上述编排程序的基本信息,和用于下载上述编排程序的控件。
[0163]
步骤s903:电子设备接收针对上述控件的第二输入事件。
[0164]
步骤s904:响应于上述第二输入事件,电子设备从无线网络下载编排程序,上述编排程序包括调用上述电子设备的系统服务接口的代码和调用无线网络中网络服务接口的代码,上述编排程序以卡片的形式显示在上述触摸屏上,上述编排程序的基本信息包括上述编排程序的名称、功能简介。
[0165]
步骤s905:电子设备在触摸屏上显示已下载的程序卡片。
[0166]
步骤s906:电子设备接收针对上述程序卡片的第三输入事件。
[0167]
步骤s907:响应于上述第三输入事件,电子设备激活与上述程序卡片对应的上述编排程序,激活后的上述编排程序常驻于上述电子设备的后台。常驻于后台的好处是,电子设备可以随时调用该编排程序,如果有触发事件被检测到,电子设备可以更高效地自动运行该编排程序。
[0168]
例如,编排程序可以是:电子设备存储了一张新照片,那么自动将该照片上传到微博。该编排程序激活后常驻在电子设备的内存中,如果电子设备检测到保存了一张新照片,那么该编排程序被触发,电子设备根据该编排程序将这张新照片以预定格式发布到微博中。
[0169]
在另外的在一种可能的实现方式中,上述编排程序在上述电子设备后台自动运行具体包括:编排程序通过调用上述网络服务接口,将运行中所涉及的数据发送到上述无线网络中。
[0170]
在另外的在一种可能的实现方式中,上述系统服务接口是用于获取新照片的接口,上述网络服务接口是用于获取微博服务的接口。
[0171]
现有技术中,当用户想要在电子设备上处理比较复杂的事务时,往往需要在不同的app中来回切换,进行不同的处理。例如用户需要订一张机票,然后将机票信息发送给facebook好友,那么用户需要在订机票的app中进行操作来预订一张机票;订好机票后,用户打开电子设备中的facebook应用程序,找到一个好友并打开聊天界面,再通过多任务管理操作切换到上述订机票的app中查看机票信息,然后再通过多任务管理操作切换到上述聊天界面,在输入框中输入上述机票信息,最后发送给该好友。由上可知,现有技术中在电子设备上处理日常事务通常需要在多个app中来回切换,其技术方案非常复杂,极大降低了
电子设备处理事务的效率。而图9中所示的技术方案及上述实施例,激活的编排程序即taskflow具体是:电子设备存储了机票信息,则自动发送该机票信息给特定的facebook联系人。那么,一旦有触发事件(存储了机票信息)发生,电子设备则会进行自动机票信息自动发送给特定的facebook联系人。通过上述方案,本技术实施例可以大大提高电子设备与用户之间的智能交互能力,提高电子设备的使用效率,同时也提高了用户的体验。
[0172]
在本技术一些实施例中,电子设备可以接收用户的输入。该输入可以是用户对电子设备的触摸屏的触摸操作,也可以是用户对电子设备的一实体按键的按压操作(例如对主屏幕键204的长按操作等),该输入还可以是语音输入,例如电子设备100的麦克风114采集用户的声音,经过处理后转化为语音输入,电子设备100可以识别该语音输入,进而可以执行与该语音输入相应的指令。可以理解的是,本技术实施例对上述输入不做具体限定。
[0173]
如图10所示,本技术实施例还提供了一种电子设备1000,该电子设备可以包括:触摸屏1001,其中,上述触摸屏1001包括触敏表面1006(例如触控面板)和显示屏1007;一个或多个处理器1002;存储器1003;多个应用程序1004;以及一个或多个计算机程序1005,其中该一个或多个计算机程序被存储在上述存储器中,该一个或多个计算机程序1005包括指令,当该指令被上述电子设备执行时,使得上述电子设备执行图8其相应实施例中的方法,在此不再赘述。
[0174]
如图11所示,本技术实施例还提供一种编排程序的装置,该装置可以包括检测模块1101、显示模块1102,处理模块1103和存储模块1104。其中,显示模块1102与处理模块1103、存储模块1104连接,用于显示各种图形用户界面;检测模块1101与处理模块1102连接,用于检测用户在上述装置中的输入事件(例如触摸手势等);处理模块1103用于接收检测模块1101所检测到的触摸事件,并响应于该触摸事件,执行具体的指令。存储模块1104用于储存各种数据包括显示在显示模块1102中的图形用户界面。
[0175]
其中,上述显示模块1102可以是显示屏,而检测模块1101可以是触控面板,上述存储模块1104可以是非易失性存储器,上述处理模块1103可以是处理器或控制器,例如可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
[0176]
图11所示的装置可以执行上述各实施例及附图中所示的技术方案,在此不再赘述。
[0177]
需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本发明实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,第一获取单元和第二获取单元可以是同一个单元,也不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0178]
上述实施例中所用,根据上下文,术语“当
…
时”可以被解释为意思是“如果
…”
或“在
…
后”或“响应于确定
…”
或“响应于检测到
…”
。类似地,根据上下文,短语“在确定
…
时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定
…”
或“响应于确定
…”
或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
[0179]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序
产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如dvd)、或者半导体介质(例如固态硬盘)等。
[0180]
为了解释的目的,前面的描述是通过参考具体实施例来进行描述的。然而,上面的示例性的讨论并非意图是详尽的,也并非意图要将本技术限制到所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择和描述实施例是为了充分阐明本技术的原理及其实际应用,以由此使得本领域的其他技术人员能够充分利用具有适合于所构想的特定用途的各种修改的本技术以及各种实施例。
技术特征:
1.一种激活编排程序的方法,所述方法在具有触摸屏的电子设备中实现,其特征在于,所述方法包括:所述电子设备接收第一输入事件;响应于所述第一输入事件,在所述电子设备的所述触摸屏上显示第一应用程序的主界面,所述主界面包括对应于编排程序的程序卡片,所述程序卡片中包括所述编排程序的基本信息,和用于下载所述编排程序的控件;所述电子设备接收针对所述控件的第二输入事件;响应于所述第二输入事件,所述电子设备从无线网络下载所述编排程序,所述编排程序包括调用所述电子设备的系统服务接口的代码和调用无线网络中网络服务接口的代码,所述编排程序以卡片的形式显示在所述触摸屏上,所述编排程序的基本信息包括所述编排程序的名称、功能简介;所述电子设备在触摸屏上显示已下载的程序卡片;所述电子设备接收针对所述程序卡片的第三输入事件;响应于所述第三输入事件,所述电子设备激活与所述程序卡片对应的所述编排程序;激活后的所述编排程序常驻于所述电子设备的后台。2.如权利要求1所述的方法,其特征在于,所述方法还包括:当所述编排程序通过所述系统服务接口检测到触发事件时,所述编排程序在所述电子设备后台自动运行。3.如权利要求2所述的方法,其特征在于,所述触发事件包括所述电子设备保存了一张新照片,或所述电子设备开启了勿扰模式,或所述电子设备检测到拿起手势。4.如权利要求2或3所述的方法,其特征在于,所述编排程序在所述电子设备后台自动运行具体包括:所述编排程序通过调用所述网络服务接口,将运行中所涉及的数据发送到所述无线网络中。5.如权利要求4所述的方法,其特征在于,所述系统服务接口是用于获取新照片的接口,所述网络服务接口是用于获取微博服务的接口。6.一种编排程序的方法,所述方法在具有触摸屏的电子设备中实现,其特征在于,所述方法包括:在所述触摸屏上显示至少一个原子服务图标,所述原子服务图标对应于一个原子服务,所述原子服务通过api方式提供服务能力;在所述触摸屏上显示编排区域,所述编排区域用于容纳用户选定的原子服务图标;所述电子设备检测到用户针对第一原子服务图标的第一触摸事件,所述第一原子服务图标对应于第一原子服务;响应于所述第一触摸事件,所述电子设备将所述第一原子服务图标显示在所述编排区域内;所述电子设备检测到所述用户针对第二原子服务图标的第二触摸事件,所述第二原子服务图标对应于第二原子服务;响应于所述第二触摸事件,所述电子设备将所述第二原子服务图标显示在所述编排区域内;
所述电子设备检测到所述用户的第三触摸事件;响应于所述第三触摸事件,所述电子设备将在所述编排区域内的所述第一原子服务图标和所述第二原子服务图标进行编排,生成第一程序;其中,所述第一原子服务是所述电子设备的系统服务,所述第二原子服务是网络服务。7.如权利要求6所述的方法,其特征在于,所述方法还包括:所述电子设备检测到所述用户的输入;响应于所述输入,所述电子设备发送发布请求信息给所述无线网络中的服务器,所述发布请求信息包括编排好的所述第一程序、所述电子设备的标识符;所述电子设备接收所述服务器发送的响应信息,所述响应信息表明所述第一程序在所述服务器中的服务开放平台发布成功。8.如权利要求6所述的方法,其特征在于,所述第一程序包括调用所述电子设备的系统服务接口的代码和调用无线网络中网络服务接口的代码。9.如权利要求6所述的方法,其特征在于,所述第一原子服务通过所述电子设备本地的api提供服务能力,所述第二原子服务通过网络的api提供服务能力。10.如权利要求6至9任一项所述的方法,其特征在于,所述第一触摸事件是对所述第一原子服务图标进行拖动的手势,所述第二触摸事件是对所述第二原子服务图标进行拖动的手势。11.如权利要求6至10任一项所述的方法,其特征在于,所述电子设备根据所述第一原子服务图标和所述第二原子服务图标进行编排,生成第一程序具体包括:所述电子设备根据程序编排模型,将与所述第一原子服务图标所对应的所述第一原子服务和所述第二原子服务图标所对应的第二原子服务进行编排;生成所述第一程序。12.如权利要求8所述的方法,其特征在于,所述系统服务接口是用于获取新照片的接口,所述网络服务接口是用于获取微博服务的接口。13.一种电子设备,包括触摸屏,存储器,一个或多个处理器,多个应用程序,以及一个或多个计算机程序;其中所述一个或多个计算机程序被存储在所述存储器中;其特征在于,所述一个或多个处理器在执行所述一个或多个计算机程序时,使得所述电子设备实现如权利要求6至12任一项所述的方法。14.一种电子设备,包括:触摸屏,其中,所述触摸屏包括触敏表面和显示器;一个或多个处理器;存储器;多个应用程序;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行以下步骤:在所述触摸屏上显示至少一个原子服务图标,所述原子服务图标对应于一个原子服务,所述原子服务通过api方式提供服务能力;在所述触摸屏上显示编排区域,所述编排区域用于容纳用户选定的原子服务图标;所述电子设备检测到用户针对第一所述原子服务图标服务接口元素的第一触摸事件,所述第一原子服务图标对应于第一原子服务;响应于所述第一触摸事件,所述电子设备将所述第一原子服务图标服务接口元素显示在所述编排区域内;
所述电子设备检测到所述用户针对第二原子服务图标的第二触摸事件,所述第二原子服务图标对应于第二原子服务;响应于所述第二触摸事件,所述电子设备将所述第二原子服务图标显示在所述编排区域内;所述电子设备检测到所述用户的第三触摸事件;响应于所述第三触摸事件,所述电子设备将在所述编排区域内的所述第一原子服务图标和所述第二原子服务图标进行编排,生成第一程序;其中,所述第一原子服务是所述电子设备的系统服务,所述第二原子服务是网络服务。15.如权利要求14所述的电子设备,其特征在于,当所述指令还包括:所述电子设备检测到所述用户的输入;响应于所述输入,所述电子设备发送发布请求信息给所述无线网络中的服务器,所述发布请求信息包括编排好的所述第一程序、所述电子设备的标识符;所述电子设备接收所述服务器发送的响应信息,所述响应信息表明所述第一程序在所述服务器中的服务开放平台发布成功。16.如权利要求15所述的电子设备,其特征在于,所述第一程序包括与所述第一原子服务的代码和所述第二原子服务的代码。17.如权利要求14所述的电子设备,其特征在于,所述第一原子服务通过所述电子设备本地的api提供服务能力,所述第二原子服务通过网络的api提供服务能力。18.如权利要求14至17任一项所述的电子设备,其特征在于,所述第一触摸事件是对所述第一原子服务图标进行拖动的手势,所述第二触摸事件是对所述第二原子服务图标进行拖动的手势。19.如权利要求14至18任一项所述的电子设备,其特征在于,所述电子设备根据所述第一原子服务图标和所述第二原子服务图标进行编排,生成第一程序具体包括:所述电子设备根据程序编排模型,将与所述第一原子服务图标所对应的所述第一原子服务和所述第二原子服务图标所对应的第二原子服务进行编排;生成所述第一程序。20.如权利要求14所述的电子设备,其特征在于,所述系统服务接口是用于获取新照片的接口,所述网络服务接口是用于获取微博服务的接口。21.一种计算机可读存储介质,包括指令,其特征在于,当其在计算机上运行时,使得所述计算机执行如权利要求6-12任意一项所述的方法。22.一种包含指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得计算机执行如权利要求6-12任意一项所述的方法。
技术总结
本申请提供一种编排程序的方法,该方法可以在具有触摸屏的电子设备中实现,该方法具体包括:在触摸屏上显示至少一个原子服务图标,该原子服务通过API方式提供服务能力;在触摸屏上显示编排区域,该编排区域用于原子服务图标;电子设备检测到针对第一原子服务图标的第一触摸事件;响应于该第一触摸事件,电子设备将第一原子服务图标显示在编排区域内;电子设备检测到针对第二原子服务图标的第二触摸事件;响应于上述第二触摸事件,电子设备将第二原子服务图标显示在编排区域内;电子设备检测到第三触摸事件;响应于该第三触摸事件,电子设备将在编排区域内的第一原子服务图标和第二原子服务图标进行编排,生成第一程序。上述技术方案大大降低了编排程序的复杂性,用户可以通过简单的手势即可完成程序的编排。以通过简单的手势即可完成程序的编排。以通过简单的手势即可完成程序的编排。
技术研发人员:熊元峰 倪元强 杨霖 庄志山 杨孝云
受保护的技术使用者:华为技术有限公司
技术研发日:2017.12.29
技术公布日:2023/8/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
