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

一种基于可信执行环境的业务流程执行方法及电子设备与流程

2021-12-07 20:11:00 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,尤其涉及一种基于可信执行环境的业务流程执行方法及电子设备。


背景技术:

2.伴随着终端智能化的快速发展,移动终端越来越多的涉及商业秘密和个人隐私等敏感信息,移动终端也面临各种安全威胁。为了打造更安全的智能终端,可信执行环境(trusted execution environment,tee)应运而生。tee是一个独立的运行环境,其可以与富执行环境(rich execution environment,ree)隔离开。tee上可以运行可信应用(trusted application,ta),ta可以为运行在tee之外的客户端应用(client application,ca)提供安全服务,如输入密码,生成交易签名,人脸识别等。
3.目前,若ca所需的安全服务涉及到多个算法,tee侧与ree侧在交互时容易存在较多不必要的时延,导致ree侧与tee侧的交互效率低下。


技术实现要素:

4.本技术提供一种基于可信执行环境的业务流程执行方法及电子设备,通过将实现业务流程的功能需求的多个算法集成至一个ta,使得ta在接收到ca的请求后,可以连续运行多个算法处理业务数据,既可以减少ree侧与tee侧的交互次数,又能减少建立/释放内存映射关系的次数,达到提升ree侧与tee侧的交互效率的效果。
5.为达到上述目的,本技术采用如下技术方案:
6.第一方面,本技术提供一种基于可信执行环境的业务流程执行方法,应用于包括可信执行环境tee和富执行环境ree的电子设备,ree中运行有客户端应用程序ca,tee中运行有可信应用程序ta,基于可信执行环境的业务流程执行方法包括:
7.ca向ta仅发送一次业务请求;其中,业务请求携带有业务流程标识及业务数据的句柄,业务流程标识用于指示ta所需执行的业务流程,业务流程包括n个算法,n个算法用于配合实现业务流程的一个功能需求,n大于或等于2。响应于业务请求,ta至少将业务数据的句柄分别输入n个算法来处理业务数据,得到n个运行结果,n个运行结果与n个算法一一对应。ta向ca反馈业务流程的执行结果;其中,n个算法包括最后被执行的第n算法,执行结果包括第n算法的运行结果。
8.可以看出,通过将实现一个功能需求的n个算法集成至一个ta上,ca可以仅发一次业务请求,即可使得ta运行n个算法。也即,ree与tee仅交互一次即可满足ta的功能需求,有效减少ree与tee的交互次数,从而减少ree与tee交互过程中的时延。此外,由于ta只需在接收到业务请求时才会将句柄映射至内存以建立内存映射关系,从而本技术只需建立一次内存映射关系即可满足ta的功能需求。如此,通过减少内存映射次数来减少ree与tee交互过程中的时延,进一步提升ree侧与tee侧的交互效率。
9.在一种可能的实现方式中,n个算法包括曝光算法、人脸检测算法及人眼注视算
法,曝光算法、人脸检测算法及人眼注视算法用于配合实现业务流程的人眼注视检测需求,业务数据包括图片;
10.ta至少将业务数据的句柄分别输入n个算法来处理业务数据,得到n个运行结果,包括:ta将图片的句柄输入曝光算法,得到下次曝光参数;ta将下次曝光参数及图片的句柄输入人脸检测算法,得到人脸在图片中的坐标;ta将人脸在图片中的坐标、下次曝光参数及图片的句柄输入人眼注视算法,得到人眼注视检测结果;其中,人眼注视检测结果用于指示图片中是否存在人脸注视屏幕。
11.可以看出,通过将曝光算法、人脸检测算法及人眼注视算法集成至一个ta,可以使得ta依次运行曝光算法、人脸检测算法及人眼注视算法来实现ca的人眼注视检测需求。无需ca针对不同的算法发起请求,仅通过一个业务请求即可获得下次曝光参数及人眼注视检测结果,效率更高。
12.在一种可能的实现方式中,所述执行结果包括下次曝光参数及人眼注视检测结果。
13.可见,ca可以仅发起一次业务请求,即可获得多个算法的运行结果,提升了ree侧与tee侧的交互效率。
14.在一种可能的实现方式中,ta将人脸在图片中的坐标、下次曝光参数及图片的句柄输入人眼注视算法,得到人眼注视检测结果,包括:
15.若人脸检测算法检测到的人脸数量大于0,ta将人脸在图片中的坐标、下次曝光参数及图片的句柄输入人眼注视算法,得到人眼注视检测结果。
16.由于人脸数量为0时,ta执行人眼注视算法毫无意义。因此,通过判断人脸数量是否大于0,并且在确定人脸数量大于0时才将人脸在图片中的坐标、下次曝光参数及图片的句柄输入人眼注视算法,可以避免人眼注视算法无效运行,从而减少ta不必要的功耗。
17.在一种可能的实现方式中,n个算法包括曝光算法、人脸检测算法及机主识别算法,曝光算法、人脸检测算法及机主识别算法用于配合实现业务流程的机主识别需求,业务数据包括图片;ta至少将业务数据的句柄分别输入n个算法来处理业务数据,得到n个运行结果,包括:
18.ta将图片的句柄输入曝光算法,得到下次曝光参数;ta将下次曝光参数及图片的句柄输入人脸检测算法,得到人脸在图片中的坐标;ta将人脸在图片中的坐标、下次曝光参数及图片的句柄输入机主识别算法,得到机主识别结果;其中,机主识别结果用于指示图片中的人脸是否与预设人脸一致。
19.可以看出,通过将曝光算法、人脸检测算法及机主识别算法集成至一个ta,可以使得ta依次运行曝光算法、人脸检测算法及机主识别算法来实现ca的机主识别检测需求。无需ca针对不同的算法发起请求,仅通过一个业务请求即可获得下次曝光参数及机主识别检测结果,效率更高。
20.在一种可能的实现方式中,所述执行结果包括曝光参数及机主识别结果。
21.可见,ca可以仅发起一次业务请求,即可获得多个算法的运行结果,提升了ree侧与tee侧的交互效率。
22.在一种可能的实现方式中,将人脸在图片中的坐标、下次曝光参数及图片的句柄输入机主识别算法,包括:若人脸检测算法检测到的人脸数量大于0,则将人脸在图片中的
坐标、下次曝光参数及图片的句柄输入机主识别算法,得到机主识别结果。
23.由于人脸数量为0时,ta执行机主识别算法毫无意义。因此,通过判断人脸数量是否大于0,并且在确定人脸数量大于0时才将人脸在图片中的坐标、下次曝光参数及图片的句柄输入机主识别算法,可以避免机主识别算法无效运行,从而减少ta不必要的功耗。
24.在一种可能的实现方式中,执行结果还包括前n

1个算法中至少一个算法的运行结果。
25.可见,n个算法间可以存在强依赖关系,即将前一个算法的输出作为后一个算法的输入,如此可以使得执行结果包括第n算法(最后一个算法)的运行结果。或者,n个算法间也可以不存在强依赖关系,如此,ta可以输出最后一个算法的运行结果和前n

1个算法中一个或多个算法的运行结果。
26.在一种可能的实现方式中,业务请求还携带有业务数据的数据标识,方法还包括:针对n个算法中的任意一个算法,判断是否存在第一运行结果;其中,第一运行结果为任意一个算法处理数据标识对应的业务数据的运行结果;
27.ta至少将业务数据的句柄分别输入n个算法来处理业务数据,得到n个运行结果,包括:若不存在第一运行结果,ta至少将业务数据的句柄输入任意一个算法来处理业务数据,得到任意一个算法的运行结果;若存在第一运行结果,ta将第一运行结果作为任意一个算法的运行结果。
28.可见,对于算法已经处理过并得到历史运行结果(即第一运行结果)的业务数据,当算法再次接收到该处理过的业务数据时,ta可以直接读取该算法运行该业务数据的历史运行结果,无需再次执行该算法。例如,ta已经在实现人眼注视检测需求时对业务数据执行过曝光算法,若ta再次接收到实现机主识别需求的业务请求时,该业务请求携带的业务数据与实现人眼注视检测需求时的业务数据一致。ta可以不再调用曝光算法,而是直接读取该曝光算法的历史运行结果。如此,可以避免对同一业务数据重复执行同一算法,进一步提升ree侧与tee侧的交互效率。
29.第二方面,本技术提供一种电子设备,电子设备上集成有可信执行环境tee和富执行环境ree,ree中运行有客户端应用程序ca,tee中运行有可信应用程序ta,电子设备包括:无线通信模块、存储器和一个或多个处理器;无线通信模块、存储器与处理器耦合;
30.其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当计算机指令被处理器执行时,使得电子设备执行第一方面中任一项的基于可信执行环境的业务流程执行方法。
31.第三方面,本技术提供一种芯片系统,该芯片系统包括一个或多个接口电路和一个或多个处理器。该接口电路和处理器通过线路互联。该芯片系统可以应用于包括通信模块和存储器的电子设备。该接口电路可以读取电子设备中存储器中存储的指令,并将该指令发送给处理器。当所述指令被处理器执行时,可使得电子设备执行如第一方面中任一项的方法。
32.第四方面,本技术提供一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第一方面中任一项所述的基于可信执行环境的业务流程执行方法。
33.第五方面,本技术提供一种计算机程序产品,当计算机程序产品在电子设备上运
行时,使得电子设备执行如第一方面中任一项所述的语音基于可信执行环境的业务流程执行方法。
34.可以理解地,上述提供的第二方面所述的电子设备、第三方面所述的芯片系统、第四方面所述的计算机存储介质,以及第五方面所述的计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
35.图1为现有技术中tee与ree的交互示意图;
36.图2为本技术实施例提供的tee与ree的一种交互示意图;
37.图3为本技术实施例提供的tee ree架构图;
38.图4为本技术实施例提供的基于可信执行环境的业务流程执行方法的流程图;
39.图5为本技术实施例提供的一种应用场景图;
40.图6为本技术实施例提供的一种查找业务数据的示意图;
41.图7为本技术实施例提供的人脸检测算法处理示意图;
42.图8为本技术实施例提供的tee与ree的另一种交互示意图;
43.图9为本技术实施例提供一种芯片系统的结构示意图。
具体实施方式
44.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。其中,在本技术的描述中,除非另有说明,“至少一个”是指一个或多个,“多个”是指两个或多于两个。另外,为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
45.为了下述各实施例的描述清楚简洁及便于本领域技术人员容易理解,首先给出相关概念或技术的简要介绍。
46.ree,即富执行环境,也可以称为普通执行环境。ree泛指不具备特定安全功能的运行环境,比如安卓(android)、ios操作系统。需要说明的是,ree除了被称为“富执行环境”之外,还可以被称为“不可信执行环境”、“普通执行环境”、“不安全执行环境”等等,本技术实施例对此不作限定。
47.tee,即可信执行环境。tee是与ree共存于电子设备中的运行环境,其通过硬件的支撑,实现与ree的隔离,具有安全能力并且能够抵御常规ree侧易遭受的软件攻击。tee有自身的运行空间,定义了严格的保护措施,因此,比ree的安全级别更高,能够保护tee中的资产(assets),如数据,软件等,免受软件攻击,抵抗特定类型的安全威胁。
48.ree tee架构,是指通过tee与ree结合共同为应用提供服务的架构。也就是说,tee与ree共同存在于电子设备中。示例性的,tee通过硬件的支撑,可实现与ree相隔离的运行机制。tee有自身的运行空间,比ree的安全级别更高,能够保护tee中的资产(如数据,软件等)免受软件攻击。只有授权的安全软件才能在tee中执行,同时它也保护了安全软件的资
源和数据的机密性。相比ree,由于其隔离和权限控制等保护机制,tee能够更好的保护数据和资源的安全性。
49.ta,即可信应用,是运行在tee中的应用,能够为运行在tee之外的ca提供安全服务,如输入密码,生成交易签名,人脸识别等。
50.ca,即客户端应用。ca通常指运行在ree中的应用,但在某些ta调用ta的情况下,主动发起调用的ta也可作为ca。ca可以通过客户端(client)应用程序编程接口(application programming interface,api)对ta进行调用并指示ta执行相应的安全操作。
51.句柄,可以理解为一个固定的地址,该地址可以指向一个固定的存储空间(例如,存储空间a)。该存储空间中保存当前时刻对象在内存中的地址。无论对象的位置在内存中如何变化,总是可以通过句柄找到存储空间a,进而根据存储空间a中的地址找到对象。在本技术实施例中,对象可以指ta需要进行处理的业务数据,例如可以包括图片、签名数据、指纹等等。
52.下面以智能亮屏应用为例,介绍现有技术中电子设备实现智能亮屏功能的业务流程。首先对智能亮屏应用进行说明,智能亮屏应用是一种电子设备实现在识别到机主时自动解锁并点亮显示屏的产品或者应用程序。在智能亮屏应用中,关于对图片进行处理或检测等操作均可以在tee侧运行,这可以保证图片的安全性。请参阅图1,在该业务流程中,ca可以将(摄像头采集到的)图片的句柄发送给tee,并请求tee中的ta1调用曝光算法处理图片。曝光算法可以输出下次曝光参数给ca。ca接收到下次曝光参数后,再次将该图片的句柄发送给tee,并继续请求tee中的ta2调用人脸检测算法处理该图片。人脸检测算法可以输出人脸位置给ca。ca接收到人脸位置后,可以将该图片的句柄及人脸位置发送给tee,并请求tee中的ta3调用机主识别算法基于该人脸位置处理该图片。机主识别算法可以输出图片中的人脸是否为机主这一结果给ca。
53.也即,若业务流程涉及到多个算法,则需要ca对每个算法所在的ta发起请求。如此,tee侧与ree侧的交互次数较多,且由于ca每次发起请求及获取运行结果均会存在时延,导致一个业务流程所需的时间较多。此外,在每个ta接收到请求后,需要在建立内存映射关系后才能通过句柄查找到对象(例如,业务数据),并且还需要在执行完算法后释放内存映射关系。如此,多次建立内存映射关系并释放内存映射关系也会造成不必要的时延。可见,目前的技术方案存在ree侧与tee侧的交互效率低下的问题。
54.基于上述存在的问题,本技术实施例提供了一种基于可信执行环境的业务流程执行方法,该方法可以应用于部署有tee和ree的电子设备。该方法通过将实现业务流程的功能需求的多个算法集成至一个ta,使得ta在接收到ca的请求后,可以连续运行多个算法处理业务数据,既可以减少ree侧与tee侧的交互次数,又能减少建立/释放内存映射关系的次数,达到提升ree侧与tee侧的交互效率的效果。
55.示例性的,如图2所示,多个算法可以包括曝光算法、人脸检测算法以及人眼注视算法。ca可以将图片的句柄发送给tee中的ta。ta可以先将图片的句柄输入曝光算法,该算法可以输出下次曝光参数。然后,ta继续将下次曝光参数和图片的句柄一起输入至人脸检测算法得到人脸在所述图片中的坐标(即人脸位置)。接着,ta继续将下次曝光参数、图片的句柄及人脸在所述图片中的坐标一起输入人眼注视算法得到人眼注视检测结果。最后,ta将下次曝光参数及人眼注视检测结果一起反馈给ca。可见,整个流程中ree与tee仅交互一
次,ca即可获得下次曝光参数及人眼注视检测结果,有效减少ree侧与tee侧的交互次数。此外,由于ta只有在接收到携带句柄的请求时才会建立内存映射关系,从而本技术只需建立一次内存映射关系,进一步提升ree侧与tee侧的交互效率。
56.此外,当ta再次接收到调用同一算法(例如,第一算法)处理同一业务数据的请求时,ca可以直接读取第一算法对该业务数据进行处理得到的历史运行结果,无需再次运行第一算法。如此,可以避免对同一业务数据重复执行同一算法,进一步提升ree侧与tee侧的交互效率。
57.需要说明的是,本技术实施例涉及的电子设备,可以是任何部署有ree tee架构的电子设备,例如便携式计算机(如手机)、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra

mobile personal computer,umpc)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,pda)、增强现实(augmented reality,ar)\虚拟现实(virtual reality,vr)设备、媒体播放器、智能门锁等设备。本技术实施例对该电子设备的具体形态不作特殊限制。手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,mid)、可穿戴设备(例如,手表、手环、智能头盔等),虚拟现实(virtual reality,vr)设备、增强现实(augmented reality,ar)设备、超级移动个人计算机(ultra mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda),工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。
58.还需要说明的是,本技术实施例涉及的电子设备还可以是任意的、支持两种或两种以上运行环境的电子设备,本文中,以支持ree和tee的电子设备为例,但是这并不构成对其的限定,支持其他的两种运行环境的电子设备也是可以的。
59.请参阅图3,为本技术实施例提供的tee ree架构。如图3所示,该架构包括ree 101及tee 102。其中,ree 101可以包括一个或多个ca及client api。tee 102可以包括ta。该ta上可以集成有多个算法(例如,算法1,算法2,
……
算法n)。ree 101中的ca可以通过client api向tee 102中的ta发送请求。ta接收到该请求后,可以执行该请求对应的业务流程(包括的多个算法),并给ca反馈业务流程的执行结果。
60.下面,对本技术实施例提供的基于可信执行环境的业务流程执行方法进行详细介绍。请参阅图4,为本技术实施例提供的基于可信执行环境的业务流程执行方法的流程示意图,该方法应用于电子设备。如图4所示,该基于可信执行环境的业务流程执行方法的流程包括:
61.s101,ca向ta发送业务请求。
62.一般地,ca可以与ta具备对应关系。该ca用于提供与用户交互的通道(例如为用户提供操作界面),ta用于实现该ca为用户提供的相关安全功能。如此,在ree中的ca需要ta执行某些业务操作(以满足相关功能需求)的情况下,ree中的ca可以通过client api向对应的ta发送业务请求。其中,该业务请求可以携带业务信息及业务数据的句柄。
63.业务数据可以理解为ta需要进行处理的对象。示例性的,业务数据可以为图片,指纹、签名、密码等信息。根据应用场景的不同,业务数据的类型可以有所不同。
64.业务信息可以包括ta的通用唯一识别码(universally unique identifier,uuid)以及业务流程标识。其中,uuid用于指示ca所请求的业务是哪个业务,业务流程标识用于指示ta所需执行的业务流程。可以理解地,通过执行该业务流程,ta可以实现ca所需求的安全功能(即满足ca对于该业务流程的功能需求)。ta中可以集成有多个不同的业务流程,不同的业务流程具备不同的业务流程标识,且不同的业务流程可以实现不同的安全功能。
65.每个业务流程可以包括多个算法,不同的算法组合可以形成不同的业务流程。若业务流程包括n个算法,则通过执行该n个算法可以实现该业务流程的功能需求。在一种可能的设计中,该n个算法之间可以具备严格的执行顺序。例如,业务流程包括算法1、算法2及算法3(即n=3),且必须按照算法1、算法2及算法3的顺序依次执行才能实现该业务流程所提供的安全功能。在另一种可能的设计中,该n个算法之间也可以不具备严格的执行顺序。又例如,业务流程包括算法1、算法2及算法3,但只要执行了算法1、算法2及算法3这3个算法,便可以实现该业务流程的功能需求。
66.在一种可能的设计中,ta可以根据不同的功能需求预先设置不同的业务流程,以便实现不同的安全功能。示例性的,ta上可以集成有曝光算法、人脸检测算法、人眼注视算法以及机主识别算法。在上述基础上,该ta在满足不同的功能需求时设置的不同业务流程可以如表示1所示。
67.表1
[0068][0069][0070]
其中,在电子设备需要满足功能需求1时,电子设备需要进行人眼注视识别,即电子设备可以通过摄像头检测是否有用户关注显示屏(如用户在看或者凝视显示屏)。如果有用户关注显示屏,电子设备则可以自动点亮该显示屏。例如,如图5中的(a)所示,有用户关注显示屏的情况下,电子设备的显示屏被点亮。进一步的,在电子设备的显示屏被点亮后,如果预设时间内,没有用户关注电子设备的显示屏,该电子设备则可以自动黑屏。例如,如图5中的(b)所示,没有用户关注显示屏的情况下,电子设备的显示屏黑屏。因而,在ta需要满足功能需求1时,ta可以为ca提供实现人眼注视识别功能相关的业务流程(即业务流程1)。其中,该业务流程1的业务流程标识为id1,且业务流程1包括对采集到的图片执行曝光算法、人脸检测算法以及人眼注视算法。
[0071]
在电子设备需要满足功能需求2时,电子设备需要进行机主识别,即电子设备可以通过摄像头检测当前用户是否为机主。若当前用户为机主,电子设备可以执行解锁操作。若当前用户为机主,电子设备则无法执行解锁操作。在ta需要满足功能需求2时,ta可以为ca提供实现机主识别功能相关的业务流程(即业务流程2)。其中,该业务流程2的业务流程标
识为id2,且业务流程2包括对采集到的图片执行曝光算法、人脸检测算法以及机主识别算法。
[0072]
在电子设备需要满足功能需求3时,电子设备需要同时进行人眼注视识别及机主识别,即电子设备可以通过摄像头检测是否有用户关注显示屏以及该用户是否为机主。若有用户关注显示屏且该用户为机主,电子设备可以自动点亮该显示屏。进一步的,在电子设备的显示屏黑屏后,若用户未关注显示屏或者用户不为机主,则电子设备的显示屏继续保持黑屏状态。在ta需要满足功能需求3时,ta可以ca提供实现机主识别功能及人眼注视识别功能相关的业务流程(即业务流程3)。其中,该业务流程3的业务流程标识为id3,且业务流程3包括对采集到的图片执行曝光算法、人脸检测算法、人眼注视算法以及机主识别算法。
[0073]
由此,若ca向对应的ta发起实现人眼注视识别功能相关的请求,则业务信息中的业务流程标识应该为id1。如此,ta接收到该请求后,便可以对业务数据(摄像头采集到的图片)执行业务流程1。若ca向对应的ta发起实现机主识别功能相关的请求,则该业务信息中的业务流程标识应该为id2。如此,ta接收到该请求后,便可以对摄像头采集到的图片执行业务流程2。若ca向对应的ta发起实现机主识别功能及人眼注视识别功能相关的请求,则该业务信息中的业务流程标识应该为id3。如此,ta接收到该请求后,便可以对摄像头采集到的图片执行业务流程3。
[0074]
需要说明的是,上述ta集成的算法及3个场景仅仅是举例,而非限定,只要涉及到多个算法结合使用的任何场景均可适用,本技术实施例不一一列举。
[0075]
s102,响应于业务请求,ta至少将业务数据的句柄分别输入n个算法来处理业务数据,得到n个运行结果。
[0076]
其中,n个运行结果与n个算法一一对应。此外,ta可以将业务数据的句柄输入算法来处理业务数据,也可以将业务数据的句柄连同其他参数(例如,其他算法的输出)一起输入算法。
[0077]
在本技术实施例中,ta根据句柄查找业务数据前,需要将该句柄映射到共享内存中,从而通过对共享内存的读取和修改,实现对对象(例如,业务数据)的读取和修改。示例性的,可以利用mmap函数实现。此外,ta还可以在不需要使用业务数据后(例如,执行完n个算法后),释放该映射关系。示例性的,可以利用unmap函数实现。需要说明的是,在本技术实施例中,由于ca对一个业务流程仅需发起一次请求,因而本技术仅需要执行一次建立/释放内存映射的过程。相比于现有技术需要多次建立/释放内存映射关系而导致的时延,本技术减少了tee与ree之间不必要的时延,提升了ree与tee的交互效率。
[0078]
然后,ta根据该句柄查找业务数据。可以理解地,业务数据的句柄所指向的存储空间中,存储有当前时刻业务数据在内存中的地址。如此,ta可以根据句柄的值查找到其指向的存储空间,进而找到该业务数据。例如,如图6所示,句柄1所在的存储空间1中,存储有存储空间2的地址“0x00000ac6”,存储空间2中存储着业务数据的地址“0x00100016”。从而ta可以先根据句柄1查找到存储空间2的值(即0x00100016),进一步在地址“0x00100016”指向的存储空间(即存储空间3)内查找到业务数据。
[0079]
可以理解地,对业务数据执行相应的业务流程,即为运行业务流程的n个算法处理该业务数据。在一种可能的设计中,若n个算法中最后被执行的算法为第n算法,则ta至少将业务数据的句柄分别输入n个算法来处理业务数据,得到n个运行结果的流程包括:首先,将
句柄依次输入n个算法中的前n

1个算法,获得前n

1个算法的运行结果。然后,将句柄及前n

1个算法中至少一个算法的运行结果输入第n算法。
[0080]
示例性的,以表1中的业务流程1为例,说明ta至少将业务数据的句柄分别输入n个算法来处理业务数据,得到n个运行结果的过程。
[0081]
在一种可选的实施方式中,仍然如图2所示,该业务流程可以包括:将图片的句柄输入曝光算法,该算法可以输出下次曝光参数。然后,将下次曝光参数和图片的句柄一起输入至人脸检测算法得到人脸在所述图片中的坐标。接着,将下次曝光参数、图片的句柄及人脸在所述图片中的坐标一起输入人眼注视算法得到人眼注视检测结果。最后,将下次曝光参数及人眼注视检测结果反馈给ca。
[0082]
需要说明的是,将图片的句柄输入曝光算法、人脸检测算法及人眼注视算法后,需要先根据该句柄查找到对应的图片,然后运行相应的算法处理该图片。其中,根据图片的句柄查找到对应的图片的过程可以参见图6及相关文字内容,在此不再赘述。可以理解地,图片的句柄所占的空间通常比图片本身所占的空间要小很多,因此仅传输图片的句柄可以提升不同算法之间的传输效率。
[0083]
其中,曝光算法具有根据输入的图片计算下次曝光参数的功能。可以理解地,由于在电子设备通过摄像头判断是否有人眼注视显示屏的过程中,需要对连续的多帧图片分别执行如图2所述的业务流程。因此,可以先将(当前帧)图片的句柄输入至曝光算法,从而得到下次曝光参数,以保证下一帧图片的亮度。
[0084]
下次曝光参数可以包括快速速度、光圈值及感光度。下次曝光参数可以用于调节摄像头的曝光参数,以提升摄像头下一次拍摄的图片(即下一帧图片)的亮度。需要说明的是,下次曝光参数与环境光及电子设备的硬件参数关联,在环境光与电子设备的硬件参数均未发生变化的情况下,将不同的图片输入值该曝光算法可以得到归一化结果。
[0085]
需要说明的是,在将根据图片的句柄查找到图片后,可能会存在由于该图片的大小、格式不符合要求等原因导致该曝光算法运行失败的情况。在曝光算法运行失败的情况下,无法得到下次曝光参数,也无法继续进行后续处理(例如,对图片执行人脸检测算法等处理)。如此,ta可以给ca反馈运行失败的结果。此外,本技术实施例提供的曝光算法可以利用直方图均衡法,gamma变换法,对数变换法,区域直方图均衡法等方法实现,在此不做具体限制。
[0086]
在得到下次曝光参数后,ta可以继续将图片的句柄及下次曝光参数输入人脸检测算法,从而得到人脸在图片中的坐标。在一种可能的设计中,人脸在图片中的坐标可以包括人脸的五个关键点(包括鼻尖、左眼的左眼角、右眼的右眼角、左嘴角以及右嘴角)的坐标,通过人脸在图片中的坐标可以确定人脸位置。在另一种可能的设计中,该人脸检测算法可以利用外接矩形框的方式框选出人脸,并将该外接矩形框在图片中的坐标作为人脸在图片中的坐标。示例性的,如图7所示,将输入1输入人脸检测算法后,可以得到输出1。其中,输出1中矩形框的坐标即为人脸在图片中的坐标。此外,该人脸检测算法还可以检测人脸的倾斜信息,例如,人脸的倾斜角度等。
[0087]
需要说明的是,当图片中不存在人脸时,则人脸检测算法无法确定人脸位置。而当图片中存在多个人脸时,可以确定图片中每个人脸的人脸位置。
[0088]
在一种可能的设计中,若人脸检测算法检测出的人脸数量为0时,可以结束本次业
务流程,并给ca反馈运行失败的结果。若人脸检测算法检测出的人脸数量大于0,则可以进一步将图片的句柄、下次曝光参数及人脸在图片中的坐标输入人眼注视算法得到人眼注视检测结果。其中,人眼注视检测结果用于指示图片中是否存在人脸注视屏幕。需要说明的是,人脸数量与人脸位置相对应。即人脸检测算法检测出多少个人脸位置,则存在多少个人脸数量。因此,可以通过统计人脸位置的数量确定人脸数量。
[0089]
人眼注视算法具有检测图片中是否有人注视屏幕的功能。其处理流程可以包括:首先,根据人脸在图片中的坐标对查找到的图片进行第一处理,第一处理可以包括图像切割(处理)。示例性的,若人脸在图片中的坐标包括5个关键点的坐标,在对图片进行图像切割时,可以以图片中人脸的鼻尖为中心,将图片切割为预设尺寸。例如,可以将图片的切割为256*256像素的尺寸。又例如,若人脸在图片中的坐标包括该外接矩形框的坐标,则可以直接根据该外接矩形框的长宽进行切割,保留该外接矩形框内的人脸。
[0090]
可选的,第一处理还可以包括图像旋转(处理)。即在对图片进行图像切割前,若图片中的人脸位置是偏转的或歪斜的(例如,人物歪着头),可以将图片旋转相应角度,摆正人脸位置(例如,使人脸的两眼之间的连线与水平线的角度小于预设阈值)。
[0091]
在对图片进行第一处理后,可以对图片进行关键点检测得到多个关键点。其中,多个关键点包括关于眼睛(眼睛轮廓及瞳孔)的多个关键点以及关于鼻子的多个关键点。示例性的,该图片可以包括25个关键点。其中,眼睛可以包括16个关键点(两个眼睛各有5个眼睛轮廓的关键点及3个瞳孔的关键点),鼻子可以包括9个关键点。需要说明的是,在利用不同的方法对图片进行关键点检测时,图片可以包括其他部位(如眉毛、嘴巴、脸型等)或其他数量(如30个、60个等等)的关键点,本技术不做具体限定。
[0092]
在得到多个关键点后,可以计算左瞳孔在左眼中的相对坐标(记为第一坐标),计算右瞳孔在右眼中的相对坐标(记为第二坐标),两眼到鼻子的距离。然后,根据第一坐标、第二坐标及该距离判断是否存在人眼注视。
[0093]
需要说明的是,上述对图片进行第一处理的过程,也可以集成于其他算法模块上,独立于人眼注视算法运行。
[0094]
又例如,以表1中的业务流程2为例,说明ta至少将业务数据的句柄分别输入n个算法来处理业务数据,得到n个运行结果的过程。在一种可选的实施方式中,如图8所示,该业务流程可以包括:将图片的句柄输入曝光算法,该算法可以输出下次曝光参数。然后,将下次曝光参数和图片的句柄一起输入至人脸检测算法得到人脸在所述图片中的坐标。接着,将下次曝光参数、图片的句柄及人脸在所述图片中的坐标一起输入机主识别算法得到机主识别结果。最后,将下次曝光参数及机主识别结果反馈给ca。
[0095]
需要说明的是,曝光算法及人脸检测算法对图片的处理流程可以参见业务流程1中的内容,在此不再具体赘述。
[0096]
也即,人脸检测算法检测出的人脸数量大于0,则可以进一步将图片的句柄、下次曝光参数及人脸在图片中的坐标输入机主识别算法得到机主识别结果。其中,机主识别结果用于指示图片中的人脸是否与预设人脸(即机主的人脸)一致。
[0097]
同样地,利用机主识别算法处理图片的过程可以包括:根据人脸在图片中的坐标对查找到的图片进行第一处理,第一处理可以包括图像切割(处理)、图像旋转(处理)等。在对图片进行第一处理后,可以将图片与预设人脸进行比对。若进行第一处理后的图片与预
设人脸的相似度大于或等于预设阈值,则生成该人脸是机主的识别结果。若进行第一处理后的图片与预设人脸的相似度小于预设阈值,则生成该人脸不是机主的识别结果。
[0098]
s103,ta向ca反馈业务流程的执行结果。
[0099]
其中,执行结果可以包括第n算法的运行结果。例如,如图2所示,该执行结果包括人眼注视算法输出的人眼注视检测结果(其中,n=3)。又例如,如图8所示,该执行结果包括机主识别算法输出的机主识别结果(其中,n=3)。此外,该执行结果还可以包括前n

1个算法的运行结果。例如,如图2及图8所示,执行结果还包括曝光算法输出的下次曝光参数。
[0100]
考虑到ta上不同的业务流程之间可能存在算法的重叠。例如表1中,业务流程1及业务流程2均包括曝光算法及人脸检测算法。在一种可能的设计中,在将业务数据输入任意一个算法(例如,第一算法)前,可以判断是否存在第一算法处理该业务数据的历史运行结果。其中,第一算法为业务流程包括的n个算法中的任意一个。若不存在第一算法处理该业务数据的历史运行结果,才将该业务数据输入第一算法。若存在第一算法基于该业务数据得到的运行结果,则可以直接读取该历史运行结果,并将该历史运行结果作为此次第一算法的输出,无需再次运行该第一算法。如此,可以避免对同一图片重复执行同一算法,进一步提升ree侧与tee侧的交互效率。
[0101]
在一种可能的设计中,s101中的业务请求可以携带有业务数据标识。在每个算法基于该业务数据的得到运行结果后,可以建立该业务数据标识、算法及运行结果的对应关系,并存储。如此,ta在基于业务数据运行第一算法(n个算法中的任意一个算法)前,可以根据该业务数据标识查询是否存在第一运行结果。其中,第一运行结果为第一算法处理该业务数据标识对应的业务数据的历史运行结果。如果存在第一运行结果,则无需再次运行该第一算法,继续运行业务流程里的下一算法即可。
[0102]
示例性的,该ta上集成有算法1、算法2、算法3及算法4。此外,ta预先配置有业务流程a及业务流程b。其中,业务流程a包括算法1、算法2及算法3;业务流程b包括算法1、算法2及算法4。ta可以先接收到对业务数据1执行业务流程a的请求,并存储如表2所示的对应关系表。
[0103]
表2
[0104][0105][0106]
如此,在ta再次接收到对业务数据1执行业务流程b的请求时,可以直接根据该业务数据1的标识(id101)查询到算法1的第一运行结果,即结果1_1。然后,在执行算法2前,可以再次根据该业务数据1的标识(id101)查询到算法2的第一运行结果,即结果2_1。最后,将结果2_1输入算法4得到业务流程b的运行结果。
[0107]
在一种可能的设计中,ca每次向ta发送业务请求,或者ta每次向ca反馈运行结果,
均可以生成日志信息。该日志信息可以记录ca与ta的交互情况。示例性的,交互情况可以包括交互次数、交互数据、交互时间等等。
[0108]
由此,本技术实施例提供的基于可信执行环境的业务流程执行方法,ta可以根据不同的功能需求设置不同的业务流程,并利用一个业务流程包括的n个算法实现该功能需求。如此,在ta接收到ca的请求后,可以连续运行多个算法处理业务数据,既可以减少ree侧与tee侧的交互次数,又能减少建立/释放内存映射关系的次数,达到提升ree侧与tee侧的交互效率的效果。
[0109]
本技术另一实施例提供一种芯片系统900,如图9所示,该芯片系统包括至少一个处理器901和至少一个接口电路902。处理器901和接口电路902可通过线路互联。例如,接口电路902可用于从其它装置(例如,电子设备的存储器)接收信号。又例如,接口电路902可用于向其它装置(例如处理器901)发送信号。
[0110]
例如,接口电路902可读取电子设备中存储器中存储的指令,并将该指令发送给处理器901。当所述指令被处理器901执行时,可使得电子设备执行上述各实施例中的各个步骤。
[0111]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0112]
在本技术实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0113]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
[0114]
以上所述,仅为本技术实施例的具体实施方式,但本技术实施例的保护范围并不局限于此,任何在本技术实施例揭露的技术范围内的变化或替换,都应涵盖在本技术实施例的保护范围之内。因此,本技术实施例的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献