CN115640116B - 业务处理方法和相关装置 - Google Patents
业务处理方法和相关装置 Download PDFInfo
- Publication number
- CN115640116B CN115640116B CN202111526326.4A CN202111526326A CN115640116B CN 115640116 B CN115640116 B CN 115640116B CN 202111526326 A CN202111526326 A CN 202111526326A CN 115640116 B CN115640116 B CN 115640116B
- Authority
- CN
- China
- Prior art keywords
- time slice
- processor core
- resource
- hypervisor
- service processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 160
- 238000013507 mapping Methods 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims description 97
- 238000004891 communication Methods 0.000 claims description 88
- 230000008569 process Effects 0.000 claims description 51
- 238000004590 computer program Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 31
- 238000005516 engineering process Methods 0.000 description 23
- 230000007246 mechanism Effects 0.000 description 15
- 102100033041 Carbonic anhydrase 13 Human genes 0.000 description 5
- 102100033029 Carbonic anhydrase-related protein 11 Human genes 0.000 description 5
- 101000867860 Homo sapiens Carbonic anhydrase 13 Proteins 0.000 description 5
- 101000867841 Homo sapiens Carbonic anhydrase-related protein 11 Proteins 0.000 description 5
- 101001075218 Homo sapiens Gastrokine-1 Proteins 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000013175 transesophageal echocardiography Methods 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 235000014676 Phragmites communis Nutrition 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000001356 surgical procedure Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
本申请实施例提供的业务处理方法和相关装置,通过建立客户端应用所使用的物理处理器核与客户端应用对应的可信应用所使用的虚拟处理器核之间的映射,以使可信应用可使用客户端应用所占用的物理处理器核的时间片资源执行业务处理,从而使得系统在对物理处理器核的资源进行调度时可对可信应用使用的时间片资源进行感知,便于实现对物理处理器核的资源被使用的情况进行更准确的统计,进而便于在调度资源时可以实现负载均衡。
Description
技术领域
本申请涉及计算机安全技术领域,尤其涉及业务处理方法和相关装置。
背景技术
目前,随着通信技术的不断发展,智能终端的应用也越来越广泛,为了保护用户营私和信息安全,智能终端设备中(例如:手机,平板电脑等)通常包含富执行环境(richexecution environment,REE)和可信执行环境(trusted executionenvironment,TEE)。其中,REE也称为普通执行环境,包括运行在通用处理器上的富执行环境操作系统(richexecution environment operating system,REE OS)及客户端应用(clientapplication,CA)。TEE也称为安全执行环境,可以运行可信执行环境操作系统(trustedexecution environment operating system,TEE OS),为CA提供可信赖的安全服务(例如指纹比对服务,密码校验服务,人脸比对服务等),这些安全服务可以以可信应用(trustapplication,TA)的形式运行在TEE OS上。
发明内容
本申请实施例提供了业务处理方法和相关装置,以提高处理器资源调度的有效性。
第一方面,本申请提出了一种业务处理方法,所述方法应用于终端设备,所述终端设备包括有第一虚拟机、第二虚拟机和虚拟机管理器Hypervisor,所述第一虚拟机中包括至少一个物理处理器核,所述第一虚拟机中运行有富执行环境REE,所述第二虚拟机中运行有第一可信执行环境TEE,所述富执行环境REE中运行有富执行环境操作系统REE OS和多个客户端应用CA,所述第一TEE中运行有第一TEE OS和多个可信应用TA;所述多个CA包括第一CA;所述多个TA包括与所述第一CA对应的第一TA;所述虚拟机管理器Hypervisor中包括有至少一个通信通道,其中每个通信通道对应所述第二虚拟机中的一个虚拟处理器核;所述至少一个通信通道包括第一通信信道;
所述方法包括:所述REE OS接收用于启动所述第一CA的第一操作;所述REE OS响应于所述第一操作,为所述第一CA分配第一物理处理器核的第一时间片资源;所述第一CA启动并占用所述第一时间片资源,所述第一CA生成用于调用所述第一TA执行业务处理的第一业务处理请求;所述第一CA通过第一通信信道将所述第一业务处理请求发送给所述虚拟机管理器Hypervisor;所述虚拟机管理器Hypervisor接收所述第一CA发送的所述第一业务处理请求,将所述第一通信信道对应的所述第二虚拟机中的第一虚拟处理器核映射并调度至所述第一物理处理器核上;所述虚拟机管理器Hypervisor将所述第一业务处理请求发送给所述第一TEE OS;所述第一TEE OS根据所述第一业务处理请求在所述第一虚拟处理器核上进行启动,并将所述第一CA对应的所述第一TA与所述第一虚拟处理器核进行绑定(可以理解为:第一TEE OS将第一TA调度到在第一虚拟处理器核上运行);所述第一CA将所述第一时间片资源中的第二时间片资源通过所述虚拟机管理器Hypervisor出让给所述第一TA(可以理解为:所述虚拟机管理器Hypervisor将第一CA的第二时间片资源分配给第一TEE的TA运行),所述第二时间片资源为所述第一时间片资源中当前剩余的时间片资源;所述第一TA使用所述第一CA所出让的所述第二时间片资源中的部分或全部,执行所述第一业务处理请求所请求的第一业务。
物理处理器核与虚拟处理器核是相对的概念,物理处理器核可以理解为实体的CPU中的核,而虚拟处理器核可以理解为通过虚拟化技术虚拟化出来的虚拟CPU的核。
这样,通过建立客户端应用所使用的物理处理器核与客户端应用对应的可信应用所使用的虚拟处理器核之间的映射,以使客户端应用所占用的物理处理器核的时间片资源可出让给可信应用以执行业务的处理,从而使得系统在对物理处理器核的资源进行调度时可对可信应用使用的时间片资源进行感知,便于实现对物理处理器核的资源被使用的情况进行更准确的统计,进而便于在调度资源时可以实现负载均衡。
在一种实现方式中,当所述第一TA使用所述第一CA所出让的时间片资源时,所述第一CA的执行状态为工作状态;所述方法还包括:所述REE OS对所述REE中的各CA的执行状态进行统计,确定所述终端设备的各物理处理器核的当前资源负载情况。
这样,在客户端应用出让时间片资源的阶段,由于客户端应用维持在工作状态,使得富执行环境操作系统在对富执行环境中各客户端应用的执行状态进行统计时,客户端应用所出让时间片资源也能被富执行环境操作系统统计在内,便于在富执行环境操作系统在对富执行环境内各应用进行资源调度时实现负载均衡。
在一种实现方式中,所述虚拟机管理器Hypervisor中包括有至少两个通信通道,其中每个通信通道对应一个虚拟处理器核;其中,所述虚拟机管理器Hypervisor中的不同的通信通道用于接收来自所述多个CA中的不同的CA发出的业务处理请求;虚拟机管理器Hypervisor将每个通信通道对应的虚拟处理器核映射并调度至相应的CA所占用的物理处理器核上。
这样,通过虚拟机管理器Hypervisor中不同的通信通道,可同步或异步的接收来自多个客户端应用发出的业务处理请求,并将不同通信通道所对应的虚拟处理器核映射并调度至各通信通道所接收到的业务处理请求对应的客户端应用所占用的物理处理器核上,进而实现基于映射机制的多客户端应用的并发业务处理。
在一种实现方式中,所述虚拟机管理器Hypervisor中包括的虚拟处理器核的数量小于或等于所述终端设备中物理处理器核的总数量。
这样,通过限制虚拟处理器核的数量,一方面能够有效的降低终端设备上各物理处理器核所承载的虚拟机可信业务并发数量,间接提升当前业务的处理效率;另一方面可以将数量有限的几个虚拟处理器核动态地映射(动态地映射,可以理解为该映射关系是动态的,有需求时两者建立映射关系,需求完成后就可以解除映射关系)到各物理处理器核上,不用为各物理处理器核都分别与一个虚拟处理器核建立固定的映射关系(固定的映射关系,可以理解为不管有没有需求,该映射关系一直存在且固定不变)到上,节省了系统资源并提高了映射的灵活性。
在一种实现方式中,该方法还包括:所述第一TA得到所述第一业务的处理结果,并通过所述虚拟机管理器Hypervisor将所述处理结果返回给所述第一CA;所述第一TA在得到所述第一业务的处理结果后,向所述第一CA归还第三时间片资源,其中,所述第三时间片资源是指所述第一TA得到所述处理结果时,所述第二时间片资源中未被所述第一TA使用的时间片资源;其中,所述第一TA向所述第一CA归还所述第三时间片资源包括:所述第一TEE OS在所述TA得到所述业务处理请求的处理结果后,向所述虚拟机管理器Hypervisor发送第一请求,所述第一请求用于指示所述虚拟机管理器Hypervisor解除所述第一虚拟处理器核和所述第一物理处理器核之间的映射;所述虚拟机管理器Hypervisor根据所述第一请求解除所述第一虚拟处理器核和所述第一物理处理器核之间的映射。
这样,由于虚拟处理器核和物理处理器核之间存在映射关系,且可信应用始终使用客户端应用出让的时间片资源执行业务,当可信应用完成对业务的处理之后,可将剩余的时间片资源归还给客户端应用,虚拟机管理器将会解除虚拟处理器核和物理处理器核之间的映射。
在一种实现方式中,所述方法还包括:在所述第一TA使用所述第一CA所出让的所述第二时间片资源中的部分或全部,执行所述业务处理请求所请求的第一业务的过程中,所述第一CA接收所述REE OS发起的第一资源调度命令,所述第一资源调度命令用于将第四时间片资源调度给其他CA,所述第四时间片资源是所述第二时间片资源中当前剩余的时间片资源;所述第一CA根据所述第一资源调度命令释放所述第四时间片资源;在所述第四时间片资源被释放后,所述第一TA暂停对所述第一业务的处理。
这样,由于虚拟处理器核和物理处理器核之间存在映射关系,且可信应用始终使用客户端应用出让的时间片资源执行业务,这将使得当富执行环境操作系统中存在优先级别更高的业务需要处理时,富执行操作系统可通过收回物理处理器核上的客户端应用所占有的时间片资源的方式,使得虚拟处理器核上的可信应用不再使用客户端应用所出让的时间片资源,暂停对业务的处理。
在一种实现方式中,所述方法还包括:在所述第四时间片资源被释放后的一段时间后,所述第一CA接收所述REE OS发起的第二资源调度命令;所述第二资源调度命令用于为所述第一CA分配所述第一物理处理器核的第五时间片资源;所述第一CA占用所述第五时间片资源,并将所述第五时间片资源通过所述虚拟机管理器Hypervisor出让给所述第一TA;所述第一TA使用所述第一CA所出让的所述第五时间片资源中的部分或全部,继续执行所述第一业务。
这样,在可信应用暂停执行业务的阶段,由于虚拟处理器核和物理处理器核之间存在的映射关系始终存在,这使得当客户端应用重新获得富执行环境操作系统分配的时间片资源时,可将该时间片资源继续出让给可信应用进行使用,而可信应用也将继续使用时间片资源执行业务。
在一种实现方式中,当所述第一TA使用所述第一CA所出让的所述第二时间片资源时,所述第一CA的执行状态为工作状态;当第一CA释放所述第四时间片资源后,所述第一CA的执行状态为空闲状态。
这样,通过让客户端应用在其出让时间片资源的阶段维持在工作状态,让客户端应用在其释放时间片资源的阶段置为空闲状态,从而使得富执行环境操作系统在对富执行环境中各客户端应用的执行状态进行统计时,客户端应用所出让时间片资源也能被富执行环境操作系统统计在内,便于在富执行环境操作系统在对富执行环境内各应用进行资源调度时实现负载均衡。
在一种实现方式中,所述多个CA还包括第二CA;所述多个TA还包括与所述第二CA对应的第二TA;所述至少一个通信通道中还包括第二通信信道;所述方法还包括:所述REEOS接收用于启动所述第二CA的第二操作;所述REE OS响应于所述第二操作,为所述第二CA分配第二物理处理器核的第六时间片资源;所述第二CA启动并占用所述第六时间片资源,所述第二CA生成用于调用所述第二TA执行业务处理的第二业务处理请求;所述第二CA通过第二通信信道将所述第二业务处理请求发送给所述虚拟机管理器Hypervisor;所述虚拟机管理器Hypervisor接收所述第二CA发送的所述第二业务处理请求,将所述第二通信信道对应的所述第二虚拟机中的第二虚拟处理器核映射并调度至所述第二物理处理器核上;所述虚拟机管理器Hypervisor将所述第二业务处理请求发送给所述第一TEE OS;所述第一TEEOS根据所述第二业务处理请求在所述第二虚拟处理器核上进行启动,并将所述第二CA对应的所述第二TA与所述第二虚拟处理器核进行绑定;所述第二CA将所述第六时间片资源中的第七时间片资源通过所述虚拟机管理器Hypervisor出让给所述第二TA,所述第七时间片资源为所述第六时间片资源中当前剩余的时间片资源;所述第二TA使用所述第二CA所出让的所述第七时间片资源中的部分或全部,执行所述第二业务处理请求所请求的第二业务。
这样,在富执行环境中可包括有多个客户端应用,其中,不同的客户端应用可通过不同的通信信道将业务处理请求发送至第一可信执行环境中,以调用客户端应用对应的可信应用执行业务的处理,实现基于映射机制的多客户端应用的并发业务处理。
在一种实现方式中,所述终端设备还包括有信任区Trust Zone以及安全监视器Secure Monitor,所述信任区Trust Zone中运行有第二可信执行环境TEE,所述第二TEE中运行有包括第三TA在内的多个可信应用TA。
在一种实现方式中,所述多个CA还包括第三CA,且所述第三CA与所述第三TA对应,所述方法还包括:所述REE OS接收用于启动所述第三CA的第三操作;所述第三CA启动,并生成用于调用所述第三TA执行业务处理的第三业务处理请求;所述第三CA通过所述安全监视器Secure Monitor,将所述第三业务处理请求发送至所述第二TEE中的所述第三TA;所述第三TA对所述第三业务处理请求所请求的第三业务进行处理,得到处理结果;所述第三TA通过所述安全监视器Secure Monitor,将所述第三业务的处理结果返回给所述第三CA。
这样,在基于虚拟机机制的可信执行环境的框架下,还可将该框架与基于信任区的可信执行环境进行结合,以使客户端应用可基于实际需求调用不同框架下的可信执行环境执行业务。
第二方面,本申请实施例提供了一种终端设备,终端设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。
该终端设备包括处理器,处理器用于调用存储器中的计算机程序以执行如第一方面所述的方法。
第三方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机指令在终端设备上运行时,使得终端设备执行如第一方面所述的方法。
第四方面,本申请实施例提供了一种芯片,芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行如第一方面所述的方法。
应当理解的是,本申请的第二方面至第四方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请提供的一种终端设备的框架示意图;
图2为本申请提供的一种终端设备中的第一交互流程示意图;
图3为本申请提供的一种终端设备中的第二交互流程示意图;
图4A为本申请实施例适用的终端设备的一种结构示意图;
图4B为本申请实施例适用的终端设备的一种软件结构框图;
图4C为本申请实施例适用的终端设备的另一种软件结构框图;
图4D为本申请实施例适用的终端设备的又一软件结构框图;
图5为本申请实施例提供一种的业务处理方法的流程示意图;
图6为本申请实施例提供一种的虚拟机管理器的通信通道的示意图;
图7为本申请实施例提供处理器核的第一映射关系示意图;
图8为本申请实施例提供的时间片资源的第一调度示意图;
图9为本申请实施例提供另一种的业务处理方法的流程示意图;
图10为本申请实施例提供另一种的虚拟机管理器的通信通道的示意图;
图11为本申请实施例提供处理器核的第二映射关系示意图;
图12为本申请实施例提供的又一业务处理方法的流程示意图;
图13为本申请实施例提供的时间片资源的第二调度示意图;
图14为本申请实施例提供的一种业务处理装置的硬件结构示意图。
具体实施方式
随着移动技术的发展,终端设备在处理业务时对于业务运行环境的安全性也有了更多的要求。可信执行环境TEE是利用终端设备中处理器的安全区域构建的执行区域,可信执行环境能够为业务进程提供十分安全的运行环境。
在一种实现方式中,ARM(Advanced RISC Machines)将TrustZone技术与Coretex-A处理器集成,通过将可信执行环境TEE建立在信任区(TrustZone)中,可使得可信执行环境TEE中加载的代码和数据的机密性和完整性都得到保护。在另一种实现方式中,与基于信任区TrustZone技术实现可信执行环境不同的是,虚拟化是一种在同一终端设备上运行多种操作系统的技术。通过将可信执行环境TEE建立在虚拟机上,使得可信执行环境可为业务执行提供安全业务运行环境。
一般的,终端设备中的处理器资源的调度和资源负载均衡的实现均是通过终端设备的运行系统来进行的。在基于虚拟机技术实现可信执行环境TEE时,富执行环境REE和可信执行环境TEE都是基于虚拟机管理器Hypervisor虚拟出来的执行环境,即终端设备上将运行有两个系统,其中的,富执行环境操作系统REE OS为主要操作系统。
由于,其富执行环境操作系统REE OS和可信执行环境操作系统TEE OS属于对等的关系,也就是说,尽管二者操作系统之间并不存在关联关系,但其二者环境应用共用相同的终端设备的处理器资源。当富执行操作环境操作系统REE OS作为主要运行系统对当前终端设备上的处理器资源进行调度和负载均衡时,其无法感知可信执行环境TEE中的可信应用的运行而对处理器资源进行的消耗,这也使得富执行操作环境操作系统REE OS无法进行合理的负载均衡调度。本申请的一些实施例可以解决富执行操作环境操作系统REE OS如何感知可信执行环境TEE中的业务,从而可以把可信执行环境TEE中的业务纳入负载均衡调度,实现整个系统的负载均衡。
为了能够更好地理解本申请实施例,下面对本申请实施例涉及的技术框架进行介绍:
信任区(Trust Zone)技术是基于处理器架构实现的一种安全扩展技术,其可为客户端应用提供真实的硬件支持的安全环境。但是,随着业务的发展和业务运算时复杂程度的提升,常规的基于信任区(Trust Zone)技术实现可信执行环境的技术无法为复杂业务提供足够的计算资源和算力。在该背景下,基于虚拟化的可信执行环境的框架便应运而生。
虚拟化技术是一种在同一终端设备上同时运行多种操作系统的技术,利用虚拟化技术可实现对可信执行环境的构建。其中,虚拟化技术可基于ARM(Advanced RISCMachines)实现,利用ARM推出的Virtualization Extension技术(虚拟化扩展技术)可实现基于ARM平台的硬件虚拟机化,从而在正常运行环境也能实现为不同的运行环境提供硬件的隔离。
需要说明的是,ARMv8开始支持四种EL(异常级别,Exception Level),分别为从EL0到EL3,并且异常级别后面的数字越大,则安全等级越高。一般来说,应用程序运行在EL0层,系统内核(在一些实施例中称为操作系统)运行在EL1层,hypevisor(虚拟机管理器)运行在EL2层,Secure Monitor(安全监视器)运行在EL3层。这些技术的发展使得基于虚拟机的TEE环境得以实现,从而实现更为复杂的安全场景。
在一种示例中,通过将信任区Trust Zone技术和虚拟化技术进行结合,可实现在终端设备中布设多个可信执行环境的布设需求。
图1为本申请实施例提供的一种终端设备的框架示意图,如图1所示的,该框架中同时运用了信任区Trust Zone技术和虚拟化技术以分别构建多个可信执行环境。
该框架中包括相对独立的运行环境:富执行环境REE、第一可信执行环境TEE以及第二可信执行环境TEE。其中,在REE中运行有客户端应用CA,在第一可信执行环境TEE中和第二可信执行环境TEE中分别运行有可信应用TA。通过虚拟机管理器Hypervisor,客户端应用CA可调用第一TEE中的TA来执行业务请求;通过安全监视器Secure Monitor,客户端应用CA可调用第二TEE中TA来执行业务请求。
可知的是,本申请中所提及的富执行环境REE中的富执行环境操作系统REE OS,具体可为安卓android系统,也可为IOS系统,或其他操作系统,本申请对此不进行限制。
示例的,在REE中运行的CA包括了第一CA、第二CA(图中未示出),以及第三客户端应用CA,在第一TEE中运行有与第一CA对应的第一TA,以及与第二CA对应的第二TA(图中未示出),在第二TEE中运行有与第三CA对应的第三TA。通过虚拟机管理器Hypervisor,第一CA可调用第一TA来执行业务请求,第二CA可调用第二TA来执行业务请求;通过安全监视器Secure Monitor,第三CA可调用第三TA来执行业务请求。
图2为本申请提供的一种终端设备中的第一交互流程示意图,图2示出了第一CA通过虚拟机管理器Hypervisor调用第一TA执行业务请求的过程。
如图2所示的,REE中的第一CA 11响应用户触发的操作,生成业务处理请求。
①第一客户端应用CA 11需要调用第一可信应用TA21时,第一客户端应用CA11通过调用REE中的API接口(图中未示出)向REE OS12发出请求。
②REE OS12中的内核驱动后通过调用HVC(hypervisor call)指令将CA请求发送至虚拟机管理器hypervisor 41。
③虚拟机管理器hypervisor 41对基于HVC指令的CA请求进行处理,以将请求发送至第一可信执行环境操作系统TEE OS22。
④TEE OS22对CA请求进行分发,以将CA请求发送至对应的第一可信应用TA21。
⑤在TA 21对接收到的请求进行处理之后,通过调用第一可信执行环境TEE的接口(图未示出)将处理结果发送至TEE OS22。
⑥TEE OS22通过调用HVC指令,将处理结果返回至hypervisor41。
⑦hypervisor41对HVC指令进行解析,并将解析后得到的处理结果返回至REEOS12。
⑧REE OS12将处理结果返回给CA11。
可知的是,在标号⑧之后,还应包括有第一客户端应用CA11根据处理结果响应业务触发操作的进程,本实施例对后续步骤不再做赘述。
可知的是,第二CA通过虚拟机管理器Hypervisor调用第二TA执行业务请求的过程与图2中所示出的第一CA通过虚拟机管理器Hypervisor调用第一TA执行业务请求的过程类似,在此不做过多说明。
在图1所示的结构的基础上,图3为本申请提供的一种终端设备中的第二交互流程示意图,图3中通过箭头以及标号①至标号⑧表明了第三CA通过安全监视器SecureMonitor调用第三TA的具体流程。
①REE中的第二CA13需要调用TEE中的第三TA 31时,第三CA13通过调用REE中的API接口(图中未示出)向REE OS12发出请求。
②REE OS12中的内核驱动通过调用SMC(Secure Monitor Call)指令将CA的请求经过虚拟机管理器的透传发送至安全监视器42。
③安全监视器42对SMC指令进行解析,并将解析后的请求发送至第二TEE中的TEEOS 32。
④TEE OS32对第三CA的请求进行分发,以将第三CA的请求发送至对应的第三TA31。
⑤第三TA31对接收到的请求进行处理之后,通过调用第二可信执行环境TEE的接口(图中未示出)将处理结果发送至TEE OS32。
⑥TEE OS32通过调用SMC指令,将处理结果返回至安全监视器42。
⑦安全监视器42对SMC指令进行解析,并将解析后得到的处理结果返回至REEOS12。
⑧REE OS12将处理结果返回给第三CA13。
通过上述的标号①至标号⑧的各步骤,REE中的第三CA13完成了对第二可信执行环境TEE中的第三TA31的调用,并获得了处理结果。
可知的是,在标号⑧之后,还应包括有第三CA13根据处理结果响应业务触发操作的进程,本实施例对后续步骤不再做赘述。
一些示例中,终端设备中还包括硬件平台,用于支撑终端设备运行,硬件平台中包括了一些安全硬件。例如,安全硬件可以包括:安全内存、安全键盘、摄像头等实体硬件。
基于上述可信执行环境的框架和技术,终端设备REE的客户端应用CA可完成对于第一可信执行环境TEE中可信应用TA的访问,得到处理结果。
正如之前所述的,尽管上述提供的基于虚拟机技术实现可信执行环境TEE的框架能够利用富执行环境中的CA访问可信执行环境中的TA的方式实现安全的业务处理。但是,对于终端设备来说,富执行环境REE不仅运行有客户端应用CA,还同步或异步的执行有其他进程。为了保证各进程的顺利运行,REE OS会统计当前REE环境中各类进程的执行情况,以对终端设备的处理器资源进行调度,从而保证处理器资源的负载均衡。
但是,在REE OS为包括CA在内的进程进行运算资源调度的过程中,会出现对当前终端设备已使用资源的统计不准确的问题,而该问题的出现将导致REE OS高估终端设备的运算能力,使得由于运算资源的不足而导致进程运行卡顿的现象。特别的,当客户端应用CA通过虚拟机管理器调用基于虚拟机机制的可信应用时,上述问题将被凸显。
在虚拟机机制下,REE OS对运算资源的调度是通过统计处理器核的可用时间片来实现的。由于虚拟机机制下REE环境和第一TEE环境的相对独立的,REE环境中的REE OS是无法感知到第一TEE的TA对处理器核中时间片的占用情况的,这使得当REE中的CA完成业务请求的发送之后第一TEE中的TA在进行业务请求处理时,REE OS认为这段时间处理器核中未执行任何进程,即REE OS认定的当前处理器核的可用时间片的数量=处理器核的时间片总数。
但是实际上,第一TEE中的TA在执行CA所请求的业务时,将会占用处理器核的部分时间片,即实际的当前处理器核的可用时间片的数量=处理器核的时间片总数-TA占用的时间片数量。
也就是说,REE OS认定的当前处理器核的可用时间片的数量是大于实际的当前处理器核的可用时间片的数量的,而在REE OS为进程进行时间片资源的调度过程中,其仅能参考其认定的当前处理器核的可用时间片的数量,这将导致前述提及的REE OS对当前可用时间片的统计存在误差的问题。可知的是,较大的误差会严重影响REE OS对其他进程的调度,导致其他进程出现运行卡顿和任务未响应的情况。
基于上述情况,本申请的一些实施例考虑到可将运行CA的物理处理器核与运行CA对应的TA的虚拟处理器核进行动态映射,同时,利用CPU yield(出让)机制使得CA可将在REE OS为其进程进行调度而得到的时间片资源出让给TA的进程进行使用,并在CA出让时间片资源时维持工作状态的机制来解决上述提及的问题。
一方面,将物理处理器核和虚拟处理器核进行动态映射可使得:CA发起对第一TEE调用时,把当前使用的虚拟处理器核VCPU(如VCPU0)映射到CA当前运行所在的物理处理器核(如CPU1)上,即建立两者的映射关系;虚拟机管理器Hypervisor根据映射关系将VCPU0调度至该当前物理处理器核CPU1上,从而使得当第一TEE运行在VCPU0上时,该第一TEE实质运行在真实的当前物理处理器核CPU1上。这样,当第一TEE运行TA时,第一TEE中的TA与REE中的CA运行在同一个物理处理器核上,使得虚拟机管理器Hypervisor将CA的时间片资源调度出让给TA使用成为可能。
另一方面,在CPU yield机制中,可将一个CA的进程的CPU资源出让给另一个进程/系统进行使用。在CA的进程出让CPU资源的阶段,CA的进程将维持在执行状态。将CA设置为执行状态,但是CA的时间片分配给第一TEE的TA运行,这种情况下第一TEE的TA可以响应REE的任何中断,包括来自于REE OS的基于tick的资源中断的调度,如果CA被调度走,对应的第一TEE也不再有分配的时间片运行。通过该CPU yield机制,由于CA的进程在CPU资源出让阶段始终维持在执行状态,使得CA的进程所出让的CPU资源也能被REE OS统计到。
基于上述机制下,当REE中的CA完成业务请求的发送之后第一TEE中的TA进入业务请求处理时,本申请的一些实施例会将运行CA的物理处理器核与运行CA对应的TA的虚拟处理器核进行动态映射,并且利用CPU yield机制使得CA可将在REE OS为其进程进行调度而得到的时间片资源出让给TA的进程进行使用,并在CA出让时间片资源期间维持工作状态。这段期间,对于REE OS来说,由于CA处于持续工作状态,此时,REE OS认定的当前处理器核的可用时间片的数量=处理器核的时间片总数-CA占用的时间片数量,由于CA占用的时间片数量与TA占用的时间片数量相同,即可得到实际的当前处理器核的可用时间片的数量=处理器核的时间片总数-TA占用的时间片数量=REE OS认定的当前处理器核的可用时间片的数量。
因此,本申请的一些实施例能够有效使得REE OS能够对TA所执行的业务所占用的时间片进行“感知”,使得REE OS在对资源调度时能够实现资源的负载均衡。
下面将对本申请实施例所涉及的结构和框架进行介绍。
首先,将针对本申请实施例的终端设备的结构进行介绍:图4A为本申请实施例适用的终端设备的一种结构示意图。
如图4A所示,该终端设备100可以包括:处理器130,外部存储器接口130,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块150,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。可以理解的是,本实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件,或软件和硬件的组合实现。
处理器130可以包括一个或多个处理单元,例如:处理器130可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,显示处理单元(displayprocess unit,DPU),和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在一些实施例中,终端设备100也可以包括一个或多个处理器130。其中,处理器可以是终端设备100的神经中枢和指挥中心。处理器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器130中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器130中的存储器为高速缓冲存储器。该存储器可以保存处理器130用过或循环使用的指令或数据。如果处理器130需要再次使用该指令或数据,可从所述存储器中直接调用。这就避免了重复存取,减少了处理器130的等待时间,因而提高了终端设备100的效率。
在本申请的一些实施例中,处理器130的运行环境可以包括:REE以及至少一个第一可信执行环境TEE。
其中,TEE中运行有可信应用程序以及TEE OS,REE中运行有客户端应用以及REEOS。REE用于接收用户通过客户端应用发起的可信应用请求,并根据该可信应用请求调用TEE中的可信应用TA,并由TA返回相应的结果。
示例性的,图4B为本申请实施例适用的终端设备的一种软件结构框图。该图4B示出了富执行环境REE中的一种软件分层架构。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
示例性的,图4C为本申请实施例适用的终端设备的另一种软件结构框图。该图4C示出了第一可信执行环境TEE的一种软件分层架构。在TEE的分层架构中一般包括有至少一种可信应用,如图4C所示的,指纹识别应用TA、面部识别引用TA以及支付应用TA等。这些可信应用TA可过TEE内部的接口API与可信执行环境操作系统TEE OS进行交互。而在可信执行环境操作系统TEE OS中还将包括TEE通信代理,可信内核框架以及可信驱动等多个程序等。这些程序将相互配合,以支撑可信执行应用TA的运行。
示例性的,图4D为本申请实施例适用的终端设备的又一软件结构框图,其示出了Android上的指纹软件框架,在该示例中,REE环境下主要分为APP,Framework,HAL和linuxkernel。APP主要负责指纹录入解锁调用逻辑,Framework主要负责回调HAL层相关函数,HAl层负责和硬件以及指纹TA交互。而TEE主要是指纹TA,指纹TA负责控制指纹sensor和执行指纹算法相关函数。
为了实现对本申请中的业务请求进行处理,基于前述的构思,本申请的终端设备的框架中将布设有第一虚拟机、第二虚拟机和虚拟机管理器Hypervisor;第一虚拟机中运行有富执行环境REE,富执行环境REE中运行有富执行环境操作系统REE OS和多个客户端应用CA;第二虚拟机中运行有第一可信执行环境TEE,第一TEE中运行有第一TEE OS和多个可信应用TA。当然,下面的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
基于前述构思,图5为本申请实施例提供一种的业务处理方法的流程示意图。如图5所示,该流程为REE的多个CA中的第一CA,调用与该第一CA对应的第一TEE中多个TA中的第一TA的过程。其中,可知的是,CA与TA对应可以是指其二者在业务上具有关联关系,CA对应的TA可以在CA的请求下执行相应的处理从而帮助CA完成相应的业务,如前所述的,CA执行指纹验证业务时可调用TA进行指纹数据的采集和数据比对处理等。
此外,为了实现调用在虚拟机管理器Hypervisor中包括有至少一个通信通道,其中每个通信通道对应第二虚拟机中的一个虚拟处理器核。
本申请中的业务处理方法可以包括:
S501、REE OS接收用于启动第一CA的第一操作。
具体的,该第一操作可为终端设备响应用户触发的预设操作。其中,第一操作可以包括触控操作指令或者语音操作指令或者体感操作指令等用于控制CA启动以进入业务处理流程的操作。
S502、REE OS响应于第一操作,为第一CA分配第一物理处理器核的第一时间片资源。
S503、第一CA启动并占用第一时间片资源,第一CA生成用于调用第一TA执行业务处理的第一业务处理请求。
其中,时间片资源是指分时操作系统分配给每个正在运行的进程微观上的一段处理器核时间。一般的,终端设备中可包括有多个物理处理器核,而如前所述的,对于富执行环境操作系统REE OS来说,当REE OS接收到第一操作之后,REE OS将基于当前物理处理器核的当前资源负载情况,为CA分配空闲物理处理器核以及该空闲物理处理器核上的空闲时间片资源,以使CA可利用这些时间片资源启动和运行。其中,REE OS对各物理处理器核的当前资源负载情况的获取是REE OS通过对REE中的各应用的执行状态进行统计得到的。即,REE OS对REE中的各CA的执行状态进行统计,确定终端设备的各物理处理器核的当前资源负载情况。
S504、第一CA通过第一通信信道将第一业务处理请求发送给虚拟机管理器Hypervisor。
S505、虚拟机管理器Hypervisor接收第一CA发送的第一业务处理请求,将第一通信信道对应的第二虚拟机中的第一虚拟处理器核映射并调度至第一物理处理器核上。
S506、虚拟机管理器Hypervisor将第一业务处理请求发送给第一TEE OS。
S507、第一TEE OS根据第一业务处理请求在第一虚拟处理器核上进行启动,并将第一CA对应的第一TA与第一虚拟处理器核进行绑定。
其中,通信通道可理解为在不同操作系统间进行报文传输的通信接口或通信组件,通信通道一般是预先设置的,上述的第一通信通道可为虚拟机管理器Hypervisor所包括的至少一个通信通道中的其中一个通信通道。
第一CA可通过REE OS中的内核驱动调用HVC指令,在虚拟机管理器Hypervisor所包括的至少一个通信通道中选择一空闲的通信通道(即第一通信通道),以将该第一业务处理请求发送给虚拟机管理器Hypervisor。图6为本申请实施例提供一种的虚拟机管理器的通信通道的示意图,结合图6所示的,CA的业务处理请求将经过该通信通道1发送至虚拟机管理器Hypervisor。类似的,TA得到的处理结果也将通过该通信通道1返回给虚拟机管理器Hypervisor。
而在虚拟机管理器Hypervisor通过第一通信通道接收到第一业务处理请求之后,虚拟机管理器Hypervisor会将第一通信信道对应的第二虚拟机中的第一虚拟处理器核映射并调度至第一物理处理器核上。
终端设备中包括有至少一个真实的物理处理器核CPU,而虚拟机管理器Hypervisor中将管理有至少一个虚拟处理器核VCPU。在未执行任何应用或未执行任何进程的状态,虚拟处理器核VCPU是映射在默认的物理处理器核CPU上的。
在通信通道是与虚拟处理器核对应的情况下,当虚拟机管理器Hypervisor接收到来自第一CA通过第一通信通道发送的第一业务处理请求时,会将第一通信信道所对应的第一虚拟处理器核映射至第一CA所运行的物理处理器核(即第一物理处理器核)上。通过映射的建立,虚拟机管理器Hypervisor可将第一物理处理器核上的时间片资源(这部分时间片资源为REE OS分配给第一CA所使用的)调度至第一虚拟处理器核,以作为该第一虚拟处理器核的时间片资源。之后,虚拟机管理器Hypervisor会将该第一业务处理请求发送给第一TEE中的TEE OS,此时,由于第一虚拟处理器核上被调度有可使用的时间片资源,该第一TEEOS将在该第一虚拟处理器核上进行启动。随后,第一TEE OS会根据第一业务处理请求调用第一业务处理请求所请求第一TA,该第一TA将直接启动在第一虚拟处理器核上,实现第一CA对应的第一TA与第一虚拟处理器核进行绑定。
示例性的,图7为本申请实施例提供处理器核的第一映射关系示意图,如图7所示的,终端设备上包括有至少一个物理处理器核,如CPU0-CPU7;同时,虚拟机管理器Hypervisor上还可虚拟有至少一个虚拟处理器核,如VCPU0和VCPU1。
如图7左图所示的,在未执行任何应用或未执行任何进程的状态下,通信通道1对应的VCPU0是映射在CPU4上的,通信通道2对应的VCPU1是映射在CPU5上的。当CA1启动并运行在CPU1上时,如图7右图所示的CA1通过通信通道1将业务处理请求发送给虚拟机管理器Hypervisor,此时,虚拟机管理器Hypervisor会将通信信道1对应的VCPU0映射并调度至CPU1上。而由于通信通道2未接收到任何请求,该通信通道2对应的VCPU1依旧映射在在CPU5上。
需要说明的是,当一个CA占用了多个物理处理器核上的时间片资源时,虚拟机管理器Hypervisor可将该CA对应的TA所在的虚拟处理器核映射至该多个物理处理器核中的部分或全部物理处理器核上,即物理处理器核与虚拟处理器核之间的映射可为一对一的映射,也可为多对一的映射,当然,其映射时处理器核的数量应取决于实际进行运行情况,本实施例对此不进行限制。
S508、第一CA将第一时间片资源中的第二时间片资源通过虚拟机管理器Hypervisor出让给第一TA,第二时间片资源为第一时间片资源中当前剩余的时间片资源。
S509、第一TA使用第一CA所出让的第二时间片资源中的部分或全部,执行第一业务处理请求所请求的第一业务。
具体的,如前所述的,利用CPU yield机制,CA可将自身当前占有的时间片资源“借用”给TA,以进行使用。
示例性的,图8为本申请实施例提供的时间片资源的第一调度示意图,在图8所示实施方式中,示出了REE中的第一CA,以及该第一CA所调用的第一TA,对时间片资源的调度情况。其中,在第一CA启动之前,REE OS业务处理请求之后,REE OS会为第一CA分配第一时间片资源t1,以供第一CA启动并占用。此时,如之前实施方式所述的,通过处理器核的动态映射机制,第一TA所在的VCPU0将与第一CA所在的CPU1映射,而在虚拟机管理器的调度下,第一CA可将当前第一时间片资源中未使用的第二时间片资源t2出让给第一TA。而第一TA会利用第二时间片资源执行相应第一业务。
可知的是,当第一TA使用第一CA所出让的时间片资源的过程中,第一CA的执行状态为工作状态。而由于第一CA在这段出让时间片资源的期间将始终维持在工作状态,对于REE OS来说其可知道分配给CA的时间片资源一直被占用,通过这样的方式使得REE OS对TA对时间片资源的使用进行感知。
通过上述机制使得REE OS在对终端设备的各物理处理器核的当前资源负载情况进行统计时,可准确的确定到每个物理处理器核的时间片资源的占用情况,避免前述提及的由于REE OS对当前可用时间片资源的统计存在误差而严重影响REE OS对其他进程的调度,导致其他进程出现运行卡顿和任务未响应的问题。
在第一TA完成业务的处理之后,虚拟机管理器Hypervisor会解除上述映射,并使得虚拟处理器核映射回默认的物理处理器核(如图7左图所示关系),在上述实施例的基础上,图9为本申请实施例提供另一种的业务处理方法的流程示意图,其示出了第一TA得到处理结果并将该处理结果反馈至第一CA的过程。具体的,其过程包括:
S901、第一TA得到第一业务的处理结果,并通过虚拟机管理器Hypervisor将处理结果返回给第一CA。
具体的,如之前所述的那样,第一TA将使用第一CA所出让的第二时间片资源以对业务处理请求所请求的第一业务进行处理,得到第一业务的处理结果,并通过之前的通信通道将该处理结果返回给REE中的第一CA。
S902、第一TA在得到第一业务的处理结果后,向第一CA归还第三时间片资源,其中,第三时间片资源是指第一TA得到处理结果时,第二时间片资源中未被第一TA使用的时间片资源。
其中,第一TA向第一CA归还第三时间片资源包括:第一TEE OS在TA得到业务处理请求的处理结果后,向虚拟机管理器Hypervisor发送第一请求,第一请求用于指示虚拟机管理器Hypervisor解除第一虚拟处理器核和第一物理处理器核之间的映射;虚拟机管理器Hypervisor根据第一请求解除第一虚拟处理器核和第一物理处理器核之间的映射。
具体的,第一TA将利用借用的时间片资源执行该第一业务请求所请求的业务。参考图8,当第一CA出让给第一TA的第二时间片资源t2大于第一TA执行第一业务所需要的时间片资源(即图10所示的“实际借用的时间片资源”)时,第一TA会将第二时间片资源t2中剩余的未利用的时间片资源(即第三时间片资源,图8中未示出)归还给第一TA。
在归还第三时间片资源时,虚拟机管理器Hypervisor将解除对CPU1和VCPU0之间的映射,即虚拟机管理器Hypervisor将不会再通过映射将CPU1的资源调度至VCPU0上,此时,第三时间片资源完成归还。
在上述实施方式的基础上,终端设备还支持对CA的并发处理。在一种实现方式中,多个CA还包括第二CA;多个TA还包括与第二CA对应的第二TA;至少一个通信通道中还包括第二通信信道;方法还包括:REE OS接收用于启动第二CA的第二操作;REE OS响应于第二操作,为第二CA分配第二物理处理器核的第六时间片资源;第二CA启动并占用第六时间片资源,第二CA生成用于调用第二TA执行业务处理的第二业务处理请求;第二CA通过第二通信信道将第二业务处理请求发送给虚拟机管理器Hypervisor;虚拟机管理器Hypervisor接收第二CA发送的第二业务处理请求,将第二通信信道对应的第二虚拟机中的第二虚拟处理器核映射并调度至第二物理处理器核上;虚拟机管理器Hypervisor将第二业务处理请求发送给第一TEE OS;第一TEE OS根据第二业务处理请求在第二虚拟处理器核上进行启动,并将第二CA对应的第二TA与第二虚拟处理器核进行绑定;第二CA将第六时间片资源中的第七时间片资源通过虚拟机管理器Hypervisor出让给第二TA,第七时间片资源为第六时间片资源中当前剩余的时间片资源;第二TA使用第二CA所出让的第七时间片资源中的部分或全部,执行第二业务处理请求所请求的第二业务。
这样,在富执行环境中可包括有多个客户端应用,其中,不同的客户端应用可通过不同的通信信道将业务处理请求发送至第一可信执行环境中,以调用客户端应用对应的可信应用执行业务的处理,实现基于映射机制的多客户端应用的并发业务处理。
其中,当终端设备同时对REE中的多个CA的业务处理请求进行处理时,虚拟机管理器Hypervisor可同时为多个CA与其每个CA对应的TA进行处理器核的映射处理。
为了支持对多个CA的业务处理请求的并发处理,虚拟机管理器Hypervisor中可以包括有至少两个通信通道,其中每个通信通道对应一个虚拟处理器核。而虚拟机管理器Hypervisor中的不同的通信通道用于接收来自多个CA中的不同的CA发出的业务处理请求;虚拟机管理器Hypervisor将每个通信通道对应的虚拟处理器核映射并调度至相应的CA所占用的物理处理器核上。
示例性的,图10为本申请实施例提供另一种的虚拟机管理器的通信通道的示意图,结合图10所示的,虚拟机管理器Hypervisor中包括有通信通道1和通信通道2。
其中,第一CA通过该通信通道1将业务处理请求发送至虚拟机管理器Hypervisor,第二CA通过该通信通道2将业务处理请求发送至虚拟机管理器Hypervisor。相应的,第一CA对应的第一TA会通过该通信通道1将处理结果返回给虚拟机管理器Hypervisor,第二CA对应的第二TA会通过该通信通道2将处理结果返回给虚拟机管理器Hypervisor。
图11为本申请实施例提供处理器核的第二映射关系示意图,如图11左图所示的,在未执行任何应用或未执行任何进程的状态下,通信通道1对应的VCPU0是映射在CPU4上的,通信通道2对应的VCPU1是映射在CPU5上的。当CA1启动并运行在CPU1上时,如图9右图所示的CA1通过通信通道1将业务处理请求发送给虚拟机管理器Hypervisor,此时,虚拟机管理器Hypervisor会将通信信道1对应的VCPU0映射并调度至CPU1上。同时,当CA2启动并运行在CPU5上时,如图11右图所示的CA2通过通信通道2将业务处理请求发送给虚拟机管理器Hypervisor,此时,虚拟机管理器Hypervisor会将通信信道2对应的VCPU1映射并调度至CPU5上。
需要说明的是,针对并发处理而言,当多个CA同时运行在相同的一个CPU上时,虚拟机管理器Hypervisor可将各CA对应的TA所在的各虚拟处理器核将映射并调度至该相同的CPU上,即存在一个CPU映射多个VCPU的可能。当然,其映射时处理器核的数量应取决于实际进行运行情况,本实施例对此不进行限制。
一种实施方式中,虚拟机管理器Hypervisor中包括的虚拟处理器核的数量小于或等于终端设备中物理处理器核的总数量。通过限制虚拟处理器核的数量以限制终端设备中并发运行的TA的数量,从而避免TA占用过多的物理处理器核的资源,保证REE中的进程的正常运转。
在前述提及的实施方式中,当第一TA利用第一CA所出让的第二时间片资源执行业务的处理时,REE中可能会出现重要级别更高的应用进程需要启动,此时,REE OS将会重新对当前的处理器核的资源进行分配和调度,以配合执行级别更高的进程能够优先执行。
基于此,在其中一种情况中,当REE OS将之前分配给第一CA的时间片资源收回时,第一TA当前所使用的时间片资源将一并被收回,此时,第一TA将停止处理第一业务。具体的,图12为本申请实施例提供的又一业务处理方法的流程示意图,如图12所示的,该方法还包括:
S1201.在第一TA使用第一CA所出让的第二时间片资源中的部分或全部,执行业务处理请求所请求的第一业务的过程中,第一CA接收REE OS发起的第一资源调度命令,第一资源调度命令用于将第四时间片资源调度给其他CA,第四时间片资源是第二时间片资源中当前剩余的时间片资源。
S1202.第一CA根据第一资源调度命令释放第四时间片资源。
S1203.在第四时间片资源被释放后,第一TA暂停对第一业务的处理。
具体的,图13为本申请实施例提供的时间片资源的第二调度示意图。
结合图13所示的,与前述实时方式类似的是,在TICK1时刻,REE OS为第一CA分配了CPU1的第一时间片资源t1,第一CA会将第一时间片资源t1中未使用的第二时间片资源t2出让给第一TA使用。但是,在第一TA使用t2执行业务的过程中,REE中存在重要级别更高的应用进程需要运行。REE OS会重新统计终端设备的各处理器核的当前时间片资源情况,而调度的结果是需要第二时间片资源t2中当前剩余的时间片资源t4(即第四时间片资源)调度给其他CA进行使用。
在TICK2这一时刻,第一CA将接收到来自REE OS的第一资源调度指令,在该第一资源调度指令下,第一CA将直接释放第四时间片资源t4。与此同时,由于第四时间片资源t4被收回,此时的第一TA将没有可使用的时间片资源,其将暂停对第一业务的处理。
需要说明的是,在第四时间片资源被收回时,第一CA所在的CPU1与第一TA所在的VCPU0之间的映射还将成立,即,一旦第一CA重新得到CPU1的时间片资源,虚拟机管理器可直接基于该映射,将CPU1的资源调度至VCPU0,以供第一TA继续使用。可知的是,当第一TA使用第一CA所出让的所述第二时间片资源t2时,第一CA的执行状态为工作状态;当第一CA释放所述第四时间片资源t4后,第一CA的执行状态为空闲状态。
也就是说,在第四时间片资源被释放后的一段时间后,第一CA还将被重新分配时间片资源。继续参见图12,该方法还包括:
S1204.在第四时间片资源被释放后的一段时间后,第一CA接收REE OS发起的第二资源调度命令;第二资源调度命令用于为第一CA分配第一物理处理器核的第五时间片资源。
S1205.第一CA占用第五时间片资源,并将第五时间片资源通过虚拟机管理器Hypervisor出让给第一TA。
S1206.第一TA使用第一CA所出让的第五时间片资源中的部分或全部,继续执行第一业务。
依旧参考图13,在第一TA暂停执行业务处理请求的过程中,假设第一TA完成第一业务所需要的时间片资源为T,此时第一TA已借用到的时间片资源为△t1,为了完成第一业务的处理,第一TA还需要借用的待借用的时间片资源为△t2。
随着进程的进行,在TICK3时刻,REE OS可重新为第一CA分配CPU1的时间片资源,即第五时间片资源。将收到REE OS发起的第二资源调度请求,该第二资源调度请求用于将物理处理器核上的时间片资源重新分配给客户端应用CA,此时,客户端应用CA将重新占用第五时间片资源t5。
此时,基于之前所述的映射和调度,虚拟机管理器会重新将第五时间片资源t5调度给第一TA进行使用,第一TA将继续执行第一业务,直至第一TA使用了△t2的时间片资源时,第一业务完成。此时,第一TA将按照之前实施例所述的,归还剩余的时间片资源(t5-△t2)并反馈处理结果。其中,处理结果的返回流程可参见前述各实施方式,在此不再做赘述。
通过上述流程本申请能够有效使得REE OS能够对TA所执行的业务进行“感知”,使得REE OS在对资源调度时能够实现资源的负载均衡。
需要说明的是,在上述各实现方式的基础上,本申请提供的基于虚拟机的第一可信执行环境下各TA的调度,还可结合信任区技术的第二可信执行环境进行使用,即在图1所示架构中,依旧可采用上述提供的各实现方式对框架中第一可信执行环境下时间片资源进行调度,其具体实现方式参见前述描述,在此不再赘述。
图14为本申请实施例提供的一种业务处理装置的硬件结构示意图。请参见图14,该装置包括:存储器1401、处理器1402和接口电路1403。其中,存储器1401、处理器1402、接口电路1403可以通信;示例性的,存储器1401、处理器1402、接口电路1403可以通过通信总线通信,存储器1401用于存储计算机执行指令,由处理器1402来控制执行,并由接口电路1403来执行通信,从而实现本申请实施例提供的业务处理的方法。
在一种实现方式中,接口电路1403还可以包括发送器和/或接收器。在一种实现方式中,上述处理器1402可以包括一个或多个CPU,还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
可能的实现方式中,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
本申请实施例提供的业务处理的装置,用于执行上述实施例的业务处理方法,技术原理和技术效果相似,此处不再赘述。
本申请实施例提供一种终端设备。终端设备的存储器可用于存储至少一个程序指令,处理器用于执行至少一个程序指令,以实现上述方法实施例的技术方案。其实现原理和技术效果与上述方法相关实施例类似,此处不再赘述。
本申请实施例提供一种芯片。芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行上述实施例中的技术方案。其实现原理和技术效果与上述相关实施例类似,此处不再赘述。
本申请实施例提供一种计算机程序产品,当所述计算机程序产品在终端设备运行时,使得所述终端设备执行上述实施例中的技术方案。其实现原理和技术效果与上述相关实施例类似,此处不再赘述。
在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一芯片和第二芯片仅仅是为了区分不同的芯片,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
本申请实施例提供的业务处理方法,可以应用在设置有可信执行环境的终端设备中。终端设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobilestation,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtualreality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (14)
1.一种业务处理方法,其特征在于,所述方法应用于终端设备,所述终端设备包括有第一虚拟机、第二虚拟机和虚拟机管理器Hypervisor,所述第一虚拟机中包括至少一个物理处理器核,所述第一虚拟机中运行有富执行环境REE,所述第二虚拟机中运行有第一可信执行环境TEE,所述富执行环境REE中运行有富执行环境操作系统REE OS和多个客户端应用CA,所述第一TEE中运行有第一TEE OS和多个可信应用TA;所述多个CA包括第一CA;所述多个TA包括与所述第一CA对应的第一TA;所述虚拟机管理器Hypervisor中包括有至少一个通信通道,其中每个通信通道对应所述第二虚拟机中的一个虚拟处理器核;所述至少一个通信通道包括第一通信信道;
所述方法包括:
所述REE OS接收用于启动所述第一CA的第一操作;
所述REE OS响应于所述第一操作,为所述第一CA分配第一物理处理器核的第一时间片资源;
所述第一CA启动并占用所述第一时间片资源,所述第一CA生成用于调用所述第一TA执行业务处理的第一业务处理请求;
所述第一CA通过第一通信信道将所述第一业务处理请求发送给所述虚拟机管理器Hypervisor;
所述虚拟机管理器Hypervisor接收所述第一CA发送的所述第一业务处理请求,将所述第一通信信道对应的所述第二虚拟机中的第一虚拟处理器核映射并调度至所述第一物理处理器核上;
所述虚拟机管理器Hypervisor将所述第一业务处理请求发送给所述第一TEE OS;
所述第一TEE OS根据所述第一业务处理请求在所述第一虚拟处理器核上进行启动,并将所述第一CA对应的所述第一TA与所述第一虚拟处理器核进行绑定;
所述第一CA将所述第一时间片资源中的第二时间片资源通过所述虚拟机管理器Hypervisor出让给所述第一TA,所述第二时间片资源为所述第一时间片资源中当前剩余的时间片资源;
所述第一TA使用所述第一CA所出让的所述第二时间片资源中的部分或全部,执行所述第一业务处理请求所请求的第一业务。
2.根据权利要求1所述的方法,其特征在于,当所述第一TA使用所述第一CA所出让的时间片资源时,所述第一CA的执行状态为工作状态;
所述方法还包括:
所述REE OS对所述REE中的各CA的执行状态进行统计,确定所述终端设备的各物理处理器核的当前资源负载情况。
3.根据权利要求1或2所述的方法,其特征在于,所述虚拟机管理器Hypervisor中包括有至少两个通信通道,其中每个通信通道对应一个虚拟处理器核;
其中,所述虚拟机管理器Hypervisor中的不同的通信通道用于接收来自所述多个CA中的不同的CA发出的业务处理请求;虚拟机管理器Hypervisor将每个通信通道对应的虚拟处理器核映射并调度至相应的CA所占用的物理处理器核上。
4.根据权利要求1或2所述的方法,其特征在于,所述虚拟机管理器Hypervisor中包括的虚拟处理器核的数量小于或等于所述终端设备中物理处理器核的总数量。
5.根据权利要求1或2所述的方法,其特征在于,所述方法,还包括:
所述第一TA得到所述第一业务的处理结果,并通过所述虚拟机管理器Hypervisor将所述处理结果返回给所述第一CA;
所述第一TA在得到所述第一业务的处理结果后,向所述第一CA归还第三时间片资源,其中,所述第三时间片资源是指所述第一TA得到所述处理结果时,所述第二时间片资源中未被所述第一TA使用的时间片资源;
其中,所述第一TA向所述第一CA归还所述第三时间片资源包括:
所述第一TEE OS在所述TA得到所述业务处理请求的处理结果后,向所述虚拟机管理器Hypervisor发送第一请求,所述第一请求用于指示所述虚拟机管理器Hypervisor解除所述第一虚拟处理器核和所述第一物理处理器核之间的映射;
所述虚拟机管理器Hypervisor根据所述第一请求解除所述第一虚拟处理器核和所述第一物理处理器核之间的映射。
6.根据权利要求1或2项所述的方法,其特征在于,所述方法还包括:
在所述第一TA使用所述第一CA所出让的所述第二时间片资源中的部分或全部,执行所述业务处理请求所请求的第一业务的过程中,所述第一CA接收所述REE OS发起的第一资源调度命令,所述第一资源调度命令用于将第四时间片资源调度给其他CA,所述第四时间片资源是所述第二时间片资源中当前剩余的时间片资源;
所述第一CA根据所述第一资源调度命令释放所述第四时间片资源;
在所述第四时间片资源被释放后,所述第一TA暂停对所述第一业务的处理。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述第四时间片资源被释放后的一段时间后,
所述第一CA接收所述REE OS发起的第二资源调度命令;所述第二资源调度命令用于为所述第一CA分配所述第一物理处理器核的第五时间片资源;
所述第一CA占用所述第五时间片资源,并将所述第五时间片资源通过所述虚拟机管理器Hypervisor出让给所述第一TA;
所述第一TA使用所述第一CA所出让的所述第五时间片资源中的部分或全部,继续执行所述第一业务。
8.根据权利要求6所述的方法,其特征在于,当所述第一TA使用所述第一CA所出让的所述第二时间片资源时,所述第一CA的执行状态为工作状态;当第一CA释放所述第四时间片资源后,所述第一CA的执行状态为空闲状态。
9.根据权利要求1-2、7-8任一所述的方法,其特征在于,所述多个CA还包括第二CA;所述多个TA还包括与所述第二CA对应的第二TA;所述至少一个通信通道中还包括第二通信信道;
所述方法还包括:
所述REE OS接收用于启动所述第二CA的第二操作;
所述REE OS响应于所述第二操作,为所述第二CA分配第二物理处理器核的第六时间片资源;
所述第二CA启动并占用所述第六时间片资源,所述第二CA生成用于调用所述第二TA执行业务处理的第二业务处理请求;
所述第二CA通过第二通信信道将所述第二业务处理请求发送给所述虚拟机管理器Hypervisor;
所述虚拟机管理器Hypervisor接收所述第二CA发送的所述第二业务处理请求,将所述第二通信信道对应的所述第二虚拟机中的第二虚拟处理器核映射并调度至所述第二物理处理器核上;
所述虚拟机管理器Hypervisor将所述第二业务处理请求发送给所述第一TEE OS;
所述第一TEE OS根据所述第二业务处理请求在所述第二虚拟处理器核上进行启动,并将所述第二CA对应的所述第二TA与所述第二虚拟处理器核进行绑定;
所述第二CA将所述第六时间片资源中的第七时间片资源通过所述虚拟机管理器Hypervisor出让给所述第二TA,所述第七时间片资源为所述第六时间片资源中当前剩余的时间片资源;
所述第二TA使用所述第二CA所出让的所述第七时间片资源中的部分或全部,执行所述第二业务处理请求所请求的第二业务。
10.根据权利要求1-2、7-8任一项所述的方法,其特征在于,所述终端设备还包括有信任区Trust Zone以及安全监视器Secure Monitor,所述信任区Trust Zone中运行有第二可信执行环境TEE,所述第二TEE中运行有包括第三TA在内的多个可信应用TA。
11.根据权利要求10所述的方法,其特征在于,所述多个CA还包括第三CA,且所述第三CA与所述第三TA对应,所述方法还包括:
所述REE OS接收用于启动所述第三CA的第三操作;
所述第三CA启动,并生成用于调用所述第三TA执行业务处理的第三业务处理请求;
所述第三CA通过所述安全监视器Secure Monitor,将所述第三业务处理请求发送至所述第二TEE中的所述第三TA;
所述第三TA对所述第三业务处理请求所请求的第三业务进行处理,得到处理结果;
所述第三TA通过所述安全监视器Secure Monitor,将所述第三业务的处理结果返回给所述第三CA。
12.一种终端设备,其特征在于,所述终端设备包括处理器,所述处理器用于调用存储器中的计算机程序,以执行如权利要求1-11中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在终端设备上运行时,使得所述终端设备执行如权利要求1-11中任一项所述的方法。
14.一种芯片,其特征在于,所述芯片包括处理器,所述处理器用于调用存储器中的计算机程序,以执行如权利要求1-11中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111526326.4A CN115640116B (zh) | 2021-12-14 | 2021-12-14 | 业务处理方法和相关装置 |
PCT/CN2022/118138 WO2023109211A1 (zh) | 2021-12-14 | 2022-09-09 | 业务处理方法和相关装置 |
EP22879557.1A EP4220403B1 (en) | 2021-12-14 | 2022-09-09 | Service processing method and related apparatus |
US18/034,298 US20240338255A1 (en) | 2021-12-14 | 2022-09-09 | Service Processing Method and Related Apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111526326.4A CN115640116B (zh) | 2021-12-14 | 2021-12-14 | 业务处理方法和相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115640116A CN115640116A (zh) | 2023-01-24 |
CN115640116B true CN115640116B (zh) | 2024-03-26 |
Family
ID=84939741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111526326.4A Active CN115640116B (zh) | 2021-12-14 | 2021-12-14 | 业务处理方法和相关装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240338255A1 (zh) |
EP (1) | EP4220403B1 (zh) |
CN (1) | CN115640116B (zh) |
WO (1) | WO2023109211A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076143B (zh) * | 2023-10-18 | 2024-01-26 | 腾讯科技(深圳)有限公司 | 装备资源的处理方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6199181B1 (en) * | 1997-09-09 | 2001-03-06 | Perfecto Technologies Ltd. | Method and system for maintaining restricted operating environments for application programs or operating systems |
CN106547618A (zh) * | 2016-10-19 | 2017-03-29 | 沈阳微可信科技有限公司 | 通信系统和电子设备 |
CN108509251A (zh) * | 2018-03-19 | 2018-09-07 | 沈阳微可信科技有限公司 | 一种适用于可信执行环境中的安全虚拟化系统 |
CN109522754A (zh) * | 2018-11-28 | 2019-03-26 | 中国科学院信息工程研究所 | 一种移动终端可信隔离环境核心控制方法 |
CN110366843A (zh) * | 2017-07-13 | 2019-10-22 | 华为技术有限公司 | 控制可信应用访问的方法和终端 |
CN111859457A (zh) * | 2020-07-31 | 2020-10-30 | 联想(北京)有限公司 | 一种智能合约的设置方法及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7987491B2 (en) * | 2002-05-10 | 2011-07-26 | Richard Reisman | Method and apparatus for browsing using alternative linkbases |
CN106547633B (zh) * | 2016-10-19 | 2019-12-31 | 沈阳微可信科技有限公司 | 多通道通信系统和电子设备 |
CN106548077B (zh) * | 2016-10-19 | 2019-03-15 | 沈阳微可信科技有限公司 | 通信系统和电子设备 |
CN106845285B (zh) * | 2016-12-28 | 2023-04-07 | 北京握奇智能科技有限公司 | 一种tee系统与ree系统配合以实现服务的方法及终端设备 |
US11132440B2 (en) * | 2018-11-01 | 2021-09-28 | Foundation Of Soongsil University-Industry Cooperation | Hybrid trust execution environment based android security framework, android device equipped with the same and method of executing trust service in android device |
US20200409732A1 (en) * | 2019-06-26 | 2020-12-31 | Ati Technologies Ulc | Sharing multimedia physical functions in a virtualized environment on a processing unit |
GB2586640B (en) * | 2019-08-30 | 2021-12-08 | Trustonic Ltd | Trusted execution environment scheduling method |
-
2021
- 2021-12-14 CN CN202111526326.4A patent/CN115640116B/zh active Active
-
2022
- 2022-09-09 US US18/034,298 patent/US20240338255A1/en active Pending
- 2022-09-09 WO PCT/CN2022/118138 patent/WO2023109211A1/zh unknown
- 2022-09-09 EP EP22879557.1A patent/EP4220403B1/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6199181B1 (en) * | 1997-09-09 | 2001-03-06 | Perfecto Technologies Ltd. | Method and system for maintaining restricted operating environments for application programs or operating systems |
CN106547618A (zh) * | 2016-10-19 | 2017-03-29 | 沈阳微可信科技有限公司 | 通信系统和电子设备 |
CN110366843A (zh) * | 2017-07-13 | 2019-10-22 | 华为技术有限公司 | 控制可信应用访问的方法和终端 |
CN108509251A (zh) * | 2018-03-19 | 2018-09-07 | 沈阳微可信科技有限公司 | 一种适用于可信执行环境中的安全虚拟化系统 |
CN109522754A (zh) * | 2018-11-28 | 2019-03-26 | 中国科学院信息工程研究所 | 一种移动终端可信隔离环境核心控制方法 |
CN111859457A (zh) * | 2020-07-31 | 2020-10-30 | 联想(北京)有限公司 | 一种智能合约的设置方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP4220403B1 (en) | 2024-08-28 |
EP4220403A4 (en) | 2024-01-03 |
EP4220403A1 (en) | 2023-08-02 |
WO2023109211A9 (zh) | 2023-09-28 |
US20240338255A1 (en) | 2024-10-10 |
CN115640116A (zh) | 2023-01-24 |
WO2023109211A1 (zh) | 2023-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10437631B2 (en) | Operating system hot-switching method and apparatus and mobile terminal | |
WO2018072715A1 (zh) | 通信系统和电子设备 | |
WO2018072713A1 (zh) | 通信系统和电子设备 | |
CN106547633B (zh) | 多通道通信系统和电子设备 | |
US11281388B2 (en) | Method for managing a multi-system shared memory, electronic device and non-volatile computer-readable storage medium | |
CN110489213A (zh) | 一种任务处理方法及处理装置、计算机系统 | |
US20110283291A1 (en) | Mobile device and application switching method | |
CN113821308B (zh) | 片上系统、虚拟机任务处理方法及设备、存储介质 | |
CN113886019B (zh) | 虚拟机创建方法、装置、系统、介质和设备 | |
CN115629884A (zh) | 一种线程调度方法、电子设备及存储介质 | |
CN115640116B (zh) | 业务处理方法和相关装置 | |
CN111813541B (zh) | 一种任务调度方法、装置、介质和设备 | |
US11221875B2 (en) | Cooperative scheduling of virtual machines | |
CN109426561A (zh) | 一种任务处理方法、装置及设备 | |
EP3198406B1 (en) | Facilitation of guest application display from host operating system | |
CN116188240B (zh) | 一种用于容器的gpu虚拟化方法及装置、电子设备 | |
CN112799805B (zh) | 基于终端设备的调度方法、装置、存储介质及终端设备 | |
CN116244231A (zh) | 一种数据传输方法、装置、系统、电子设备及存储介质 | |
CN114968500A (zh) | 一种任务调度方法、装置、设备及存储介质 | |
CN115017486B (zh) | 业务处理的方法和相关装置 | |
CN116795557B (zh) | 通信方法、电子设备及可读存储介质 | |
CN118860640A (zh) | 内存管理方法、设备及产品 | |
CN117149356A (zh) | 核间中断方法、设备、存储介质及程序产品 | |
CN117421094A (zh) | 虚拟机控制方法、装置、电子设备和存储介质 | |
CN118733196A (zh) | 基于数据处理单元的虚拟机启动控制方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |