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

文件访问方法及装置与流程

2022-06-25 07:30:57 来源:中国专利 TAG:


1.本说明书实施例属于计算机技术领域,尤其涉及一种文件访问方法及装置。


背景技术:

2.可信执行环境(trusted execution environment,tee)是基于处理器硬件的安全扩展。运行在tee中的可信应用程序(trusted application,ta)执行事务的过程中,可能需要从存储在tee外的单个文件多次读取数据。然而数据从tee外传输到tee中往往需要消耗相对较长的时间,将会影响ta执行事务的效率。


技术实现要素:

3.本发明的目的在于提供一种文件访问方法及装置。
4.第一方面,提供了一种文件访问方法,方法应用于可信执行环境。该方法包括:根据tee中存储的ta对目标文件的历史访问信息,预测ta将访问的目标文件中的第一数据,其中目标文件存储在tee外;确定tee中是否存储有第一数据;在确定tee中未存储第一数据的情况中,从目标文件中读取第一数据并在tee中存储第一数据。
5.第二方面,提供了一种文件访问装置,部署在tee中,装置包括:预测处理单元,配置为根据tee中存储的ta对目标文件的历史访问信息,预测ta将访问的目标文件中的第一数据,其中目标文件存储在tee外;第一确定单元,配置为确定tee中是否存储有第一数据;数据读写单元,配置为在确定tee中未存储第一数据的情况中,从目标文件中读取第一数据并在tee中存储第一数据。
6.第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序/指令,当所述计算机程序/指令在计算设备中执行时,计算设备执行第一方面中所述的方法。
7.第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序/指令,所述处理器执行所述计算机程序时,实现第一方面中所述的方法。
8.上述实施例中,基于ta对存储于tee外的目标文件的历史访问信息,预测ta将访问的目标文件中的数据并将其缓存于tee中,当ta在后续过程中请求访问该数据中的部分或全部时,可以从tee中快速读取ta请求访问的数据并将其提供给ta,ta无需花费过多的时间等待从存储于tee外的目标文件获取其请求访问的数据,从而可提高ta执行事务的效率。
附图说明
9.为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
10.图1为本说明书实施例中示例性提供的技术场景的示意图之一;
11.图2为本说明书实施例中提供的一种文件访问方法的流程图;
12.图3为本说明书实施例中提供的另一种文件访问方法的流程图;
13.图4为示例性提供的预测ta将访问的数据的过程示意图;
14.图5为本说明书实施例中示例性提供的技术场景的示意图之二;
15.图6为本说明书实施例中提供的一种文件访问装置的示意图。
具体实施方式
16.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图对本说明书实施例中的技术方案进行清楚完整地描述,显然所描述的实施例仅仅是本说明书一部分实施例而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例都应当属于本说明书保护的范围。
17.tee是基于cpu硬件的安全扩展,其与外部完全隔离。目前工业界十分关注tee解决方案,几乎所有主流的芯片和软件联盟都有自己的tee解决方案,比如软件方面的tpm(trusted platform module,可信赖平台模块)以及硬件方面的intel sgx(software guard extensions,软件保护扩展)、arm trustzone(信任区)和amd psp(platform security processor,平台安全处理器)等。其中tee可以起到黑箱作用,在tee中执行的代码和数据即便是操作系统层都无法偷窥,只有通过代码中预先定义的接口才能对其进行操作。
18.以intel sgx(intel software guard extension)技术为例进行示例性说明。可以基于sgx技术创建enclave(围圈或飞地)以作为用于运行ta的tee,通过cpu中新增的处理器指令在内存中分配epc(enclave page cache,围圈页面缓存或飞地页面缓存),以用于驻留上述的enclave。上述epc对应的内存区域被cpu内部的内存加密引擎mee(memory encryption engine)加密,该内存区域中的ta的代码及相关数据只有在cpu内核中才能够被解密,且用于加解密的密钥只有在epc启动时生成并存储在cpu中。可见enclave的安全边界只包含其自身和cpu,无论是特权软件或非特权软件都无法访问enclave,即便是操作系统管理员和vmm(virtual machine monitor,虚拟机监视器;或称为hypervisor)也无法影响enclave中的代码和数据,因而enclave具有极高的安全性。在上述安全性保障的前提下,cpu则可以在enclave中对数据进行机密计算。此外需要说明的是,进、出eclave的数据还可以是加密的,从而保障数据的安全性。
19.ta在运行过程中可能多次请求访问存储在tee外的某个文件。例如encalve中可能运行用于支持隐私文件求交的ta,该ta例如用于对多个目标文件中的数据项进行内容比对,以查询多个目标文件具有的相同的数据项;如存在某个目标文件存储于encalve外而且因文件过大或者其它原因导致其无法完整加载到encalve中,则可能需要该ta能够按需访问目标文件的文件内容,从而由该ta多次发起对该目标文件的访问请求。请参照图1所示的技术场景,对于存储在tee外的长度为n bit的目标文件,例如存在某个ta在其运行过程中可对该目标文件依次发起访问请求q1~q9,请求访问地址偏移量区间[a1,a2]、[a3,a4]、[a5,a6]、[a7,a8]、[a9,a10]、[a11,a12]、[a13,a14]、[a15,a16]、[a17,a18]的文件内容。
[0020]
ta每次访问存储于tee外的目标文件的过程通常需要花费相对较长的时间,导致ta发起对目标文件的访问请求后,需要等待相对较长的时间才能获得相应的访问结果,影
响ta执行事务的效率。继续以前述的intel sgx技术为例,运行在enclave中的ta访问存储于enclave外的目标文件的过程中,cpu可以将ta发起的文件访问请求从enclave中复制到enclave外,并通过相应的exit指令退出enclave;接着通过encalve外的计算机程序执行该访问请求以获得访问结果,执行完毕后再恢复到enclave,并将访问结果复制到enclave中,使得enclave中的ta获得该访问结果。前述示例的过程通常需要消耗8300-14100个cpu周期,即ta发起对存储于enclave外的目标文件的访问请求后,通常需要等待8300-14100个cpu周期才能获得该访问请求期望的访问结果,无疑会对ta执行事务的效率造成较大影响。
[0021]
本说明书实施例中提供了一种应用于tee的文件访问方法及装置。可以根据tee中存储的ta对目标文件的历史访问信息,预测ta将访问的存储于tee外的目标文件中的数据;接着确定tee中是否已经存储该数据,并在确定tee中未存储该数据的情况中,从目标文件中读取该数据并在tee中对其进行缓存。如此,当ta在后续过程中请求访问该数据中的部分或全部时,可以从tee中快速读取ta请求访问的数据并将其提供给ta,ta无需花费过多的时间等待从存储于tee外的目标文件获取其请求访问的数据,从而可提高ta执行事务的效率。
[0022]
图2为本说明书实施例中提供的一种文件方法的流程图。其中该方法可以通过部署在tee中的计算机程序执行,下文中为了描述上的方便而将该计算机程序表述为read_file。如图2所示,该方法可以包括但不限于如下步骤22~步骤26。
[0023]
步骤22,根据tee中存储的ta对目标文件的历史访问信息,预测ta将访问的目标文件中的第一数据。其中该目标文件存储在tee外。
[0024]
前述步骤22例如可以在read_file接收到ta对目标文件发起的访问请求后执行。换而言之,请参见图3,前述步骤22之前还可以包括步骤20,接收ta对目标文件的访问请求,该访问请求例如用于请求访问目标文件中的第二数据。与之相应的,ta对目标文件的历史访问信息具体可以由read_file进行维护,其可以包括但不限于read_file已接收的ta对目标文件的若干次访问请求各自的访问信息,该若干次访问请求例如为read_file最近接收的ta对目标文件的发起的预设数量次读请求。此外单个访问请求的访问信息可以包括但不限于以下各项信息中的至少一项:访问时间、请求访问的数据在目标文件中的位置,其中请求访问的数据在目标文件中的位置例如包括请求访问的数据在目标文件中的地址偏移量以及其数据长度。
[0025]
请继续参见图3,read_file接收到ta对目标文件发起的访问请求后,还可以执行步骤21,确定是否允许预测ta对目标文件的访问,其中当允许预测ta对目标文件的访问的情况下才执行前述步骤22。在一个较为具体的示例中,可以基于指数移动平均法在内的各种算法计算缓存于tee中的属于目标文件的数据的利用率,即基于已经缓存于tee中的属于目标文件的数据,以及ta请求访问的属于目标文件并且已经缓存于tee中的数据,计算缓存于tee中的属于目标文件的数据的利用率;当利用率低于预设阈值时确定不允许预测ta对目标文件的访问。在另一个较为具体的示例中,read_file可以基于ta对目标文件的历史访问信息确定是否允许预测ta对目标文件的访问,例如当已接收的若干次访问请求各自请求访问的数据在目标文件中的地址偏移量无规律可循,或者该若干次访问请求各自请求访问的数据的数据长度差异过大,将会导致无法准确预测ta对目标文件的访问,可确定不允许预测ta对目标文件的访问。
[0026]
示例性的,请参考如下表1所示的ta对目标文件的历史访问信息。
[0027]
访问请求访问时间地址偏移量数据长度q1t1a1l1q2t2a3l2q3t3a5l3q4t4a7l4q5t5a9l5
[0028]
表1
[0029]
请参照上述表1,read_file最近接收的ta对目标文件的5次访问请求q1~q5各自的访问信息中,访问时间t1~t5是指read_file接收q1~q5的时刻;如果地址偏移量a1~a9不满足依次增大或依次减小,或者数据长度l1~l5的方差大于某个预设数值,均可能导致后续过程中无法准确预测ta对目标文件的访问,此种情况下read_file可确定不允许预测ta对目标文件的访问。
[0030]
前述步骤22中具体可以根据可信执行环境中存储的可信应用程序对目标文件的历史访问信息确定访问模式,基于确定的访问模式预测可信应用程序将访问的目标文件中的第一数据。其中,该访问模式例如包括但不限于以下各项信息中的至少一项:相邻两次接收访问请求的平均时间间隔、相邻两次访问请求请求访问的数据的参考步长、请求访问的数据的平均长度。
[0031]
在一种可能的实施方式中,read_file可以根据前述参考步长和平均长度预测read_file将接收的ta对目标文件的预设数量次访问请求各自请求访问的第一数据。请继续参见前述表1所示的历史访问信息:如果a1~a9以参考步长step依次增大,read_file可以预测后续接收的ta对目标文件的每次访问请求各自请求访问的数据的地址偏移量依然可能按照前述参考步长step依次增大。继续假定步骤22是在read_file接收到q5后执行,则read_file例如可以预测后续将接收的ta对目标文件的访问请求q6~q9等4次访问请求各自请求访问的数据在目标文件中的地址偏移量依次为:i9 1*step、i9 2*step、i9 3*step、i9 4*step;此外read_file还可以预测q6~q9各自请求访问的数据的数据长度为l1~l5的平均数据长度l。如此,read_file可以预测q6将访问的第一数据是目标文件中地址偏移量区间[i9 1*step,i9 1*step l]的文件内容,q7将访问的第一数据是目标文件中地址偏移量区间[i9 2*step,i9 2*step l]的文件内容,q8将访问的第一数据是目标文件中地址偏移量区间[i9 3*step,i9 3*step l]的文件内容,q9将访问的第一数据是目标文件中地址偏移量区间[i9 4*step,i9 4*step l]的文件内容。
[0032]
在一种可能的实施方式中,为了尽可能的确保ta对目标文件发起的每次访问请求各自请求访问的数据均能够被预先缓存到tee中的情况下,同时避免tee中因过多的缓存属于目标文件的数据浪费tee的资源,如图4所示,前述步骤22中具体可以通过如下步骤222~步骤224实现基于基于确定的访问模式预测可信应用程序将访问的目标文件中的第一数据。
[0033]
在步骤222,根据平均时间间隔以及从目标文件中读取数据并将其存储到tee的读写时延确定第一数量。其中,将基于已接收的各次访问请求各自的访问时间确定的平均时间间隔记为interval,将从目标文件中读取数据并将其缓存在tee中的读写时延记为delay。基于interval和delay确定第一数量时,该第一数量例如是对delay与interval的商
进行向下取整的结果,当然该第一数量也可以是大于delay与interval的商的其它整数。
[0034]
在步骤224,根据参考步长和平均长度预测将接收的可信应用程序对目标文件的第一数量次访问请求各自请求访问的第一数据。其中对于步骤224中具体如何预测将接收的ta对目标文件的第一数量次访问请求各自请求访问的第一数据,可参见前述示例性提供的预测q6~q9各自请求访问的第一数据的过程而不再赘述。
[0035]
接着,在步骤24,确定tee中是否存储有第一数据。其中需要说明的是,当前述步骤22中具体预测了ta将对目标文件发起的多次访问请求各自请求访问的第一数据时,步骤24中需要对应的确定前述各个第一数据是否均已缓存在tee中。
[0036]
read_file可以在tee中维护属于目标文件的数据在tee中的缓存管理信息,例如通过过线段树、表格或其它方式实现维护属于目标文件的数据在tee中的缓存管理信息,其中该缓存管理信息用于指示:tee中已存储的属于目标文件的数据在目标文件中的地址偏移量区间,以及tee中已存储的属于目标文件的数据在tee中的内存地址。与之相应的是步骤24可以包括步骤241,根据属于目标文件的数据在tee中的缓存管理信息确定tee中是否缓存有第一数据。
[0037]
以通过线段树维护属于目标文件的数据在tee中的缓存管理信息为例。请参照图5,对于目标文件中地址偏移量区间[a7,a14]的文件内容,位于地址偏移量a7之前且与其相邻的文件内容未被缓存于tee中,位于地址偏移量a14之后且与其相邻的文件内容未被缓存于tee中,那么线段树中则可以包含与地址偏移量区间[a7,a14]对应的节点,其中该节点还与tee中用于缓存该部分文件内容的内存地址关联。继续假设预测ta将访问的某个第一数据是目标文件中地址偏移量区间[a11,a12]的文件内容,那么可以通过查看线段树查询到存在某个目标节点对应的地址偏移量区间[a7,a14]包含子区间[a11,a12],从而确定tee中缓存有该第一数据。
[0038]
在确定tee中未存储有第一数据的情况中,执行步骤26,从目标文件中读取第一数据并在tee中存储第一数据。更具体地说,当预测的各个第一数据中存在未缓存于tee中的一个或多个第一数据时,步骤26中需要从tee外的目标文件中读取数据并将其缓存于tee中,而且从目标文件中读取并缓存于tee中的数据应当至少包含目前未缓存于tee中的各个第一数据。
[0039]
在一种可能的实施方式中,read_file可以从目标文件中按需读取并在tee中缓存未存储在tee中的各个第一数据。换而言之即read_file仅仅请求从目标文件中读取未缓存于tee中的各个第一数据而并不请求从目标文件中读取除第一数据以外的其它文件内容至tee中。
[0040]
在一种可能的实施方式中,对于从存储于tee外的目标文件读取数据并将其存储到tee中的过程,还可以限制单次读取的数据的大小,例如限制单次读取的数据的最小bit数,此种情况下read_file从目标文件实际读取并缓存到tee中的数据,可能还包含除目标文件中除未缓存于tee的各个第一数据以外的其它数据。请继续参照前述图5,read_file在前述步骤22中预测了将接收的ta对目标文件的访问请求q6~q9各自请求访问的第一数据,其中q6和q7将访问的第一数据是目标文件中地址偏移量区间[a11,a12]和[a13,a14]的文件内容,其已经被缓存于tee中;q8请求访问的第一数据是目标文件中地址偏移量区间[a15,a16]的文件内容,q9请求访问的第一数据是目标文件中地址偏移量区间[a17,a18]的
文件内容。地址偏移量区间[a15,a16]和[a17,a18]的文件内容的数据长度之和可能小于前述最小bit数,那么read_file从目标文件中读取并缓存至tee中的数据可以是地址偏移量区间[i14 1,i19]的文件内容,其中地址偏移量区间[i14 1,i19]的大小例如为前述的最小bit数。
[0041]
read_file完成向tee中缓存包含第一数据在内的属于目标文件的数据后,其还可以继续执行步骤27,更新属于目标文件的数据在tee中的缓存管理信息。请继续参见图5,线段树中存在对应地址偏移量区间[a7,a14]的目标节点,read_file在接收到q5后预测地址偏移量区间[a7,a8]的文件内容由于ta已对其进行访问而在短时间内无需重新对其进行访问,read_file可释放地址偏移量区间[a7,a8]的文件内容在tee中占用的内存地址;此外继续假设步骤26中从tee外读取并缓存到tee中的数据是目标文件中地址偏移量区间[a14 1,a19]的文件内容,则read_file可以将前述目标节点对应的地址偏移量区间更新为[a8 1,a19],并对应的更新该目标节点关联的tee中用于存储地址偏移量区间[a8 1,a19]的文件内容的内存地址。
[0042]
前文示例性描述了直接释放已经被ta访问的并且缓存于tee中的数据占用的内存,然而可以理解的是其并不构成对技术方案的限制,还可以通过其它方式实现释放属于目标文件的数据在tee中占用的内存地址并对应更新属于目标文件的数据在tee中的缓存管理信息。举例来说,read_file对整个目标文件维护其被ta访问的统计次数global,目标文件中某个地址偏移量区间的文件内容在t1时刻从tee外被读取并缓存于tee中,可以将t1时刻的统计次数global记为线段树中的该地址偏移量区间的标签local;该地址偏移量区间中某个子区间的文件内容在t2时刻被ta请求访问,则将该子区间的标签local对应的更新为t2时刻的统计次数global;如果在某个任意时刻t3,发现统计次数global与某个子区间的标签local之间的差值大于某个预设阈值,说明该子区间的文件内容已经较长时间未被ta访问,可释放该子区间的文件内容在tee中占用的内存地址,并对应更新属于目标文件的数据在tee中的缓存管理信息。
[0043]
前文提到步骤22可以是在接收到ta对目标文件的访问请求后执行,而且该访问请求可能用于访问目标文件中的第二数据。对于步骤20中接收的ta对目标文件的访问请求而言,请继续参见图3,可针对该文件访问请求继续执行如下步骤28和步骤29。
[0044]
在步骤28,确定tee中是否存储有第二数据。其中步骤28中可以采用与前述步骤24相似的方法实现确定tee中是否缓存有第二数据,这里不再赘述。
[0045]
确定tee中存储有该第二数据的情况下,执行步骤29,向ta提供存储于tee中的第二数据。
[0046]
请继续参见图5,假设步骤20接收的q5中包括地址偏移量a9和数据长度l5,目标文件中地址偏移量区间[a9,a10]的文件内容的数据长度为l5,read_file例如可以基于通过线段树或其它方式维护的属于目标文件的数据在tee中的缓存管理信息,获知q5请求访问的第二数据即目标文件中地址偏移量区间[a9,a10]的文件内容已经缓存于tee中,read_file可以向ta直接提供tee中缓存的第二数据而无需从tee外的目标文件中读取地址偏移量区间[a9,a10]的文件内容,ta能够更为快速的获得q5请求访问的目标文件中的第二数据,提高其执行事务的效率。
[0047]
需要特别说明的是,当ta请求访问的第二未缓存于tee中的情况下,read_file可
以执行从tee外的目标文件读取ta请求访问的第二数据,并将其提供给ta。
[0048]
与前述方法实施例基于相同的构思,本说明书实施例中还提供了一种部署在tee中的文件访问装置。如图6所示,该装置包括:预测处理单元62,配置为根据可信执行环境中存储的可信应用程序对目标文件的历史访问信息,预测所述可信应用程序将访问的所述目标文件中的第一数据,其中所述目标文件存储在所述可信执行环境外;第一确定单元64,配置为确定所述可信执行环境中是否存储有所述第一数据;数据读写单元66,配置为在确定所述可信执行环境中未存储所述第一数据的情况中,从所述目标文件中读取所述第一数据并在所述可信执行环境中存储所述第一数据。
[0049]
在一种可能的实施方式中,所述装置还包括:第二确定单元,配置为根据所述历史访问信息确定是否允许预测所述可信应用程序对所述目标文件的访问。
[0050]
在一种可能的实施方式中,所述装置还包括:请求接收单元,配置为接收所述可信应用程序对所述目标文件中的第二数据的访问请求;第三确定单元,配置为确定所述可信执行环境中是否存储有所述第二数据;请求响应单元,配置为在确定所述可信执行环境中存储有所述第二数据的情况下,向所述可信应用程序提供存储于所述可信执行环境中的所述第二数据。
[0051]
在一种可能的实施方式中,所述历史访问信息包括已接收的若干次访问请求各自的访问信息,单个所述访问信息包括以下各项信息中的至少一项:访问时间、请求访问的数据在所述目标文件中的位置。
[0052]
在一种可能的实施方式中,所述预测处理单元62,具体配置为所述预测处理单元,配置为根据可信执行环境中存储的可信应用程序对目标文件的历史访问信息确定访问模式,基于所述访问模式预测所述可信应用程序将访问的所述目标文件中的第一数据。
[0053]
在一种可能的实施方式中,所述访问模式包括以下各项信息中的至少一项:相邻两次接收访问请求的平均时间间隔、相邻两次访问请求请求访问的数据的参考步长、单次访问请求请求访问的数据的平均长度。
[0054]
在一种可能的实施方式中,所述预测处理单元,具体配置为根据所述平均时间间隔以及从所述目标文件中读取数据并将其存储到所述可信执行环境的读写时延确定第一数量;根据所述参考步长和所述平均长度预测将接收的所述可信应用程序对所述目标文件的第一数量次访问请求各自请求访问的第一数据。
[0055]
在一种可能的实施方式中,所述第一数量为对所述读写时延与所述平均时间间隔的商进行向下取整的结果。
[0056]
在一种可能的实施方式中,所述第一确定单元64,配置为根据所述可信执行环境中存储的缓存管理信息确定所述可信执行环境中是否存储有所述第一数据。
[0057]
在一种可能的实施方式中,所述装置还包括:缓存更新单元,配置为在所述数据读写单元66从所述目标文件中读取所述第一数据并在所述可信执行环境中存储所述第一数据之后之后,更新所述缓存管理信息。
[0058]
在一种可能的实施方式中,所述缓存管理信息通过线段树维护。
[0059]
虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或
终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。例如若使用到第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
[0060]
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0061]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0062]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0063]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0064]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0065]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0066]
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、
cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0067]
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0068]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0069]
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。
再多了解一些

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

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

相关文献