缓存预取方法、装置、设备及计算机可读存储介质与流程

文档序号:18188877发布日期:2019-07-17 05:29阅读:209来源:国知局
缓存预取方法、装置、设备及计算机可读存储介质与流程

本发明涉及数据处理技术领域,特别涉及一种缓存预取方法、装置、设备及计算机可读存储介质。



背景技术:

在数据处理的场景中,常常需要进行数据的缓存预取。其中,缓存预取指预测下一个访问的数据,并将该数据放入缓存中。例如,游戏中经常需要同时读取玩家的数据,在玩家数量很大情况下,需要高速读取玩家数据,从而保证没有玩家存在数据刷新缓慢的问题。因此,有必要提前预测下一个访问的数据,并提前进行缓存。

目前,缓存预取的相关技术中,在读取当前数据时,同时缓存与该当前数据相邻的一个数据,因为其相邻的数据有较大几率会被访问。

但是,由于与读取的当前数据相邻的数据并不一定会被访问,因此,相关技术所预取的数据精确度不高,缓存预取的效果不佳。



技术实现要素:

本发明实施例提供了一种缓存预取方法、装置、设备及计算机可读存储介质,可以解决相关技术中存在的技术问题,具体技术方案如下:

一方面,提供了一种缓存预取方法,所述方法包括:

获取前一时刻缓存访问序列;

获取经过训练得到的rnn(recurrentneuralnetworks,循环神经网络)模型,所述rnn模型通过历史访问数据及相邻数据中的至少一种数据训练得到,其中,所述相邻数据包括与当前访问数据相邻预定空间距离内的数据;

基于所述前一时刻缓存访问序列,通过所述rnn模型预测缓存的预取数据。

还提供了一种缓存预取装置,所述装置包括:

第一获取模块,用于获取前一时刻缓存访问序列;

第二获取模块,用于获取经过训练得到的循环神经网络rnn模型,所述rnn模型通过历史访问数据及相邻数据中的至少一种数据训练得到,其中,所述相邻数据包括与当前访问数据相邻预定空间距离内的数据;

预测模块,用于基于所述前一时刻缓存访问序列,通过所述rnn模型预测缓存的预取数据。

还提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述缓存预取方法。

还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述缓存预取方法。

本发明提供的技术方案可以包括以下有益效果:

通过采用rnn模型来预测缓存的预取数据,且该rnn模型是通过历史访问数据和相邻数据中的至少一种数据训练得到的,因而可以使得预测的数据精确度更高,从而使得缓存预取的效果更佳。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一示例性实施例示出的一种缓存预取的系统架构示意图;

图2是本发明一示例性实施例示出的一种缓存预取的方法流程图;

图3是本发明一示例性实施例示出的一种rnn模型的结构示意图;

图4是本发明一示例性实施例示出的一种rnn模型展开的结构示意图;

图5是本发明一示例性实施例示出的一种缓存预取的方法流程图;

图6是本发明一示例性实施例示出的一种缓存预取的方法流程图;

图7是本发明一示例性实施例示出的一种缓存预取装置的结构示意图;

图8是本发明一示例性实施例示出的一种缓存预取装置的结构示意图;

图9是本发明一示例性实施例示出的一种缓存预取装置的结构示意图;

图10是本发明一示例性实施例示出的一种终端的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。

在数据处理的场景中,常常需要进行数据的缓存预取。相关技术在进行缓存预取时,考虑到与读取的当前数据相邻的数据有较大几率会被访问,因而在读取当前数据时,同时缓存与该当前数据相邻的一个数据。然而,由于与当前数据相邻的数据并不一定会被访问,同时该方法没有考虑到访问数据在时间上的分布特征,即未考虑历史访问数据可能会被再次访问的情况。因此,相关技术所缓存的预取数据精确度不高,缓存预取的效果不佳。

对此,本发明实施例提供了一种缓存预取方法,该方法通过改进rnn神经网络模型来预测缓存的预取数据。其中,rnn模型用来处理序列数据。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种传统的神经网络对于很多问题却无能无力。而rnn模型之所以称为循环神经网络,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆,并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。理论上,rnn模型能够对任何长度的序列数据进行处理。但是在实践中,为了降低复杂性往往假设当前的状态只与前面的几个状态相关。因此,采用传统rnn模型预测缓存的预取数据会存在如下三个问题:

1、rnn模型的深度有限,不能充分考虑数据的历史访问信息;

2、rnn模型未考虑访问数据空间分布特征;

3、rnn模型的预测速度慢。

本发明实施例针对上述三个问题分别提出解决方案。首先,将历史访问数量最大的数据(即访问频率最高的数据)作为激活函数的输入,解决rnn模型未充分考虑数据历史访问信息的问题;然后,将与当前访问数据相邻预定空间距离内的数据作为激活函数的输入,解决rnn模型未考虑访问数据的空间分布的问题;最后,利用字典树加快预测,只有字典树预测失败才采用rnn预测,解决rnn模型预测速度慢的问题。

基于上述思想,本发明实施例提供的缓存预取系统的结构示意图如图1所示,该系统包括rnn模型训练装置101以及缓存预取装置102。通过rnn模型训练装置101对改进后的rnn模型进行训练,之后采用缓存预取装置102基于训练后的rnn模型进行缓存预取。其中,rnn模型训练装置101以及缓存预取装置102可以设置于同一设备(例如设置于同一终端或服务器)中,也可以设置于不同设备中,本发明实施例对此不作具体限定。

接下来,基于图1所示的系统架构,对本发明实施例提供的缓存预取方法进行解释说明。如图2所示,该方法包括:

在步骤201中,获取前一时刻缓存访问序列;

针对该步骤,本发明实施例提供的方法可以缓存已经访问的数据,且缓存时可以记录每次访问的时间,因而在每次进行缓存预取时,可以获取缓存中已经缓存的前一时刻缓存访问序列。

在步骤202中,获取经过训练得到的rnn模型,rnn模型通过历史访问数据及相邻数据中的至少一种数据训练得到;

rnn模型包括输入层、隐藏层及输出层,神经元的输出可以在下一时刻直接作用到rnn模型中。如图3所示,第i层神经元在m时刻的输入,除了(i-1)层神经元在该时刻的输出外,还包括该rnn模型在(m-1)时刻的输出,其中,i为整数,第i层神经元指代rnn模型中任一层神经元;m为任意时刻,此处仅以i和m作为举例说明,并不对其进行限定。由于传统的rnn神经网络的层数越多,训练时间越长,因此,为了缩短训练时间,需要对rnn神经网络的层数做出限制,但这就导致数据历史信息不能被充分使用,即rnn模型不能充分考虑数据的历史访问信息。

例如,对于数据1、1、1、6、7、5、6、1、1、1、6、7、5、6,这种以1、1、1、6、7、5、6为循环因子的访问序列,当访问第4个6时,因为rnn无法确定这种情况后面应该访问三个1,而只记录最近的信息,即访问完6应该访问7,这就导致rnn会预测下一时刻访问的数据是7,导致预测的数据精确度不高。

为了解决这个问题,本发明实施例提供的方法从rnn的隐藏层神经元入手,如图4所示,该rnn模型展开之后,包含输入层,输入层的神经元记为{x0,x1,...,xt,xt+1,...},而输出层的神经元记为{y0,y1,...,yt,yt+1.,..}。rnn模型还包括隐藏层,将隐藏层的神经元记为{s0,s1,...,st,st+1,...}。在图4中,有一条单向流动的信息流是从输入层到达隐藏层的,与此同时另一条单向流动的信息流从隐藏层到达输出层。在某些情况下,rnn模型将引导信息从输出层返回隐藏层,并且隐藏层的输入还包括上一隐藏层的状态,即隐藏层内的神经元可以自连,也可以互连。

如图4所示,将循环神经网络rnn模型展开成一个全神经网络后,xt表示第t步(step)的输入,t=1,2,3...。st为隐藏层的第t步的状态(即输出),它是网络的记忆单元。st根据当前输入层的输出与上一步隐藏层的状态进行计算。该rnn模型的隐藏层神经元的计算公式如下面的公式(1)所示:

st=f(xtu+st-1w)(1)

其中,u、w是rnn网络的权重参数,f表示激活函数,xt是t时刻的输入,st-1是t-1时刻隐藏层神经元的输出,rnn和其他神经网络的不同就在于其考虑了t-1时刻隐藏层神经元的输出,该公式也是rnn的核心计算公式。

需要说明的是,上述公式中,在计算s0时,即第一个隐藏层状态,需要用到s-1,但是其并不存在,在实现中一般置为0向量;如图4所示,ot是第t步的输出,其与当前步的st有关,在实践中,为了降低网络的复杂度,往往st包含前面若干步而不是所有步的隐藏层状态。此外,在rnn模型中,每输入一步,每一层各自都共享参数u,v,w,因此降低了网络中需要学习的参数。

在一种实现方式中,为了解决rnn模型不能充分考虑数据的历史访问信息的问题,本发明实施例提供的方法以历史访问数据为历史访问记录中访问频率最高的数据为例,当通过历史访问数据训练rnn模型时,训练得到的rnn模型的隐藏层神经元的输出如下面的公式(2)所示:

st=f(xtu+st-1w+mt-1v)(2)

其中,u、w是rnn模型的权重参数,f表示激活函数,xt是t时刻的输入,st-1是t-1时刻隐藏层神经元的输出,mt-1表示t-1时刻之前访问频率最高的数据,v表示权重。

在一种实现方式中,由于数据的访问除了时间分布上的特征,还存在空间分布上的特征,即与当前访问数据相邻预定空间距离内的数据很可能会被访问。但是rnn模型是对时间序列数据进行预测的模型,访问数据的空间分布特征并不能用rnn模型进行训练学习。

为此,针对rnn模型未考虑访问数据空间分布特征,本发明实施例通过将相邻数据加入激活函数,使得rnn模型能够考虑访问数据在空间上的分布特征。其中,相邻数据是指与当前访问数据相邻预定空间距离内的数据,因此,本发明实施例对激活函数做了进一步的改进,当通过相邻数据训练rnn模型时,训练得到的rnn模型的隐藏层神经元的输出如下面的公式(3)所示:

st=f(xtu+st-1w+ntz)(3)

其中,u、w是rnn模型的权重参数,f表示激活函数,xt是t时刻的输入,st-1是t-1时刻隐藏层神经元的输出,nt表示与t时刻访问数据相邻预定空间距离内的数据,z为权重。

在一种实现方式中,该预定空间距离可以数据为单位来衡量。例如,该预定空间距离可以是一个数据的距离,则相邻数据是指与t时刻访问数据相邻一个数据距离内的数据,即与t时刻访问数据相邻一个数据距离内的数据均为相邻数据;又例如,该预定空间距离也可以是k个数据的距离,则相邻数据是指与t时刻访问数据相邻k个数据距离内的数据,即与t时刻访问数据相邻的k个数据,k为大于1的整数。关于预定空间距离的大小,本发明实施例不做限定。具体实施时,该预定空间距离可以预先设置,后续根据rnn模型的预测效果进行调整。

在一种实现方式中,除了分别采用历史访问数据或相邻数据训练得到rnn模型外,还可以同时采用历史访问数据和相邻数据来训练rnn模型,使得训练得到的rnn模型同时考虑访问数据在空间上以及时间上的分布特征,且考虑历史访问信息,从而进一步提高预测的数据精确度。

为此,本发明实施例提供的方法中,当通过历史访问数据及相邻数据训练rnn模型时,训练得到的rnn模型的隐藏层神经元的输出如下面的公式(4)所示:

st=f(xtu+st-1w+mt-1v+ntz)(4)

其中,u、w是rnn模型的权重参数,f表示激活函数,xt是t时刻的输入,st-1是t-1时刻隐藏层神经元的输出,mt-1表示t-1时刻之前访问频率最高的数据,v表示权重,nt表示与t时刻访问数据相邻预定空间距离内的数据,z为权重。

无论是上述哪种rnn模型,针对rnn模型未改进的内容可参考已有的rnn模型,本发明实施例对此不再进行赘述。为了能够基于改进后的rnn模型进行缓存预取,本发明实施例提供的方法还包括如下的模型训练过程:

第一步:收集训练数据,训练数据包括历史访问数据及相邻数据中的至少一种数据;

针对该步骤,可以从历史访问记录中收集历史访问数据及相邻数据中的至少一种数据。

第二步:将训练数据通过word2vec方式编码,得到编码结果;

其中,word2vec是一个矩阵分解的模型,简单地说,其可以反映每个词和其上下文的词的集合的相关情况。此外,word2vec可以在百万数量级的词典和上亿的数据集上进行高效地训练,且得到的训练结果为词向量(wordembedding),可以很好地度量词与词之间的相似性。因此,将训练数据通过word2vec方式编码,可以降低训练数据的维度。

第三步:通过编码结果对rnn模型进行训练,得到训练后的rnn模型。

需要说明的是,上述模型训练过程可以在本发明实施例提供的缓存预取方法执行前预先训练完成,之后直接获取训练好的rnn模型。当然,也可以在本发明实施例提供的缓存预取方法过程中执行,本发明实施例对此不作具体限定。

在步骤203中,基于前一时刻缓存访问序列,通过rnn模型预测缓存的预取数据。

针对该步骤,可以将前一时刻缓存访问序列作为rnn模型的输入,由rnn模型预测缓存的预取数据。

本发明实施例提供的方法,通过采用rnn模型来预测缓存的预取数据,且该rnn模型是通过历史访问数据和相邻数据中的至少一种数据训练得到的,因而可以使得预测的数据精确度更高,从而使得缓存预取的效果更佳。

参见图5,本发明实施例提供了一种缓存预取方法,该方法与上述图2所示的实施例原理相同,区别在于基于图2所示的实施例,为了进一步提高缓存预取的速度,本发明实施例提供的方法采用了字典树的方式。如图5所示,该方法包括如下步骤:

在步骤501中,获取前一时刻缓存访问序列;

该步骤的具体实现方式可参考上述步骤201的内容,此处暂不赘述。

在步骤502中,获取经过训练得到的rnn模型,rnn模型通过历史访问数据及相邻数据中的至少一种数据训练得到;

该步骤的具体实现方式可参考上述步骤202的内容,此处暂不赘述。

在步骤503中,当前一时刻缓存访问序列未出现在预先获取到的字典树中时,通过rnn模型预测缓存的预取数据;

其中,字典树的深度固定,且从字典树的根节点到字典树的叶子节点依次为历史访问序列。

因为数据的访问非常快,即使在磁盘块非常大的情况下,这个速度也很快,因此,如果rnn的预测速度比数据访问的速度慢,在需要预取数据的时候,rnn可能还未预测出结果,这就导致rnn的预测没有意义。

为此,本发明实施例利用字典树提高预测速度。其中,字典树又称单词查找树,是一种树形结构,是一种哈希树的变种。典型应用包括但不限于统计、排序和保存大量的字符串,所以经常被搜索引擎系统用于文本词频统计。字典树的优点是利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。

为了避免字典树空间爆炸,本发明实施例将字典树的深度固定,字典树从根节点到叶子节点依次为数据的历史访问序列。如果数据的历史访问序列在字典树中已经存在,并且叶子节点的上个节点即为上一时刻的访问数据,则该叶子节点即为对应的叶子节点,将该叶子节点的数据作为缓存的预取数据;如果不存在,则再通过rnn模型进行预测。

该实施例的流程图可如图6所示,首先检查最近时间的访问序列(即前一时刻访问缓存访问序列)是否在字典树中出现,如果未在字典树中出现,则采用该步骤503,通过训练得到的rnn模型进行预测;如果在字典树中出现,则采用下面的步骤504。

检查最近时间的访问序列是否在字典树中出现时,可以从根节点开始一次搜索,取得要查找关键词的第一个字母,并根据该字母选择对应的子树并转到该子树继续进行检索;在相应的子树上,取得要查找关键词的第二个字母,并进一步选择对应的子树进行检索。如此迭代,直至在某个节点处,关键词的所有字母已被取出,则读取附在该节点上的信息,即完成查找。

在步骤504中,当前一时刻缓存访问序列出现在预先获取到的字典树中时,提取字典树中对应的叶子节点的数据作为缓存的预取数据。

由于字典树中从根节点到叶子节点依次为数据的历史访问序列,当前一时刻缓存访问序列出现在预先获取到的字典树中时,可以据此将出现该前一时刻缓存访问序列的节点的下一个叶子节点作为对应的叶子节点,并提取该对应的叶子节点的数据,将其作为缓存的预取数据进行缓存。

上述缓存预取的方法中所使用的rnn模型考虑了历史访问数据和相邻数据中的至少一种数据,因而使得经过训练的rnn模型预测的预取数据更加精准。由于游戏应用中存在大量玩家(即用户),需要高速读取玩家数据,可以将该方法应用于游戏应用中,从而保证不会存在数据刷新缓慢的问题。

本发明实施例提供的方法,通过采用rnn模型来预测缓存的预取数据,且该rnn模型是通过历史访问数据和相邻数据中的至少一种数据训练得到的,因而可以使得预测的数据精确度更高,从而使得缓存预取的效果更佳。

此外,通过利用字典树,可以加快预测速度,使得预取的速度更快,准确度更高。

参见图7,本发明实施例提供了一种缓存预取装置,该装置包括:第一获取模块71、第二获取模块72和预测模块73;其中:

第一获取模块71,用于获取前一时刻缓存访问序列;

第二获取模块72,用于获取经过训练得到的rnn模型,所述rnn模型通过历史访问数据及相邻数据中的至少一种数据训练得到,其中,相邻数据包括与当前访问数据相邻预定空间距离内的数据;

预测模块73,用于基于前一时刻缓存访问序列,通过rnn模型预测缓存的预取数据。

在一种实现方式中,预测模块73,用于当前一时刻缓存访问序列未出现在预先获取到的字典树中时,通过rnn模型预测缓存的预取数据;

其中,字典树的深度固定,且从字典树的根节点到字典树的叶子节点依次为历史访问序列。

在一种实现方式中,参见图8,该装置还包括:

提取模块84,用于当前一时刻缓存访问序列出现在预先获取到的字典树中时,提取字典树中对应的叶子节点的数据作为缓存的预取数据;

其中,字典树的深度固定,且从字典树的根节点到字典树的叶子节点依次为历史访问序列。

在一种实现方式中,历史访问数据为历史访问记录中访问频率最高的数据;当通过历史访问数据训练rnn模型时,训练得到的rnn模型的隐藏层神经元的输出如下,即第二获取模块72获取到的rnn模型的隐藏层神经元的输出如下:

st=f(xtu+st-1w+mt-1v);

其中,u、w是rnn模型的权重参数,f表示激活函数,xt是t时刻的输入,st-1是t-1时刻隐藏层神经元的输出,mt-1表示t-1时刻之前访问频率最高的数据,v表示权重。

在一种实现方式中,当通过相邻数据训练rnn模型时,训练得到的rnn模型的隐藏层神经元的输出如下,即第二获取模块72获取到的rnn模型的隐藏层神经元的输出如下:

st=f(xtu+st-1w+ntz);

其中,u、w是rnn模型的权重参数,f表示激活函数,xt是t时刻的输入,st-1是t-1时刻隐藏层神经元的输出,nt表示与t时刻访问数据相邻预定空间距离内的数据,z为权重。

在一种实现方式中,当通过历史访问数据及相邻数据训练rnn模型时,训练得到的rnn模型的隐藏层神经元的输出如下,即第二获取模块72获取到的rnn模型的隐藏层神经元的输出如下:

st=f(xtu+st-1w+mt-1v+ntz);

其中,u、w是rnn模型的权重参数,f表示激活函数,xt是t时刻的输入,st-1是t-1时刻隐藏层神经元的输出,mt-1表示t-1时刻之前访问频率最高的数据,v表示权重,nt表示与t时刻访问数据相邻预定空间距离内的数据,z为权重。

在一种实现方式中,参见图9,该装置还包括:

收集模块75,用于收集训练数据,训练数据包括历史访问数据及相邻数据中的至少一种;

编码模块76,用于将训练数据通过word2vec方式编码,得到编码结果;

训练模块77,用于通过编码结果对rnn模型进行训练,得到训练后的rnn模型。

本发明实施例提供的装置,通过采用rnn模型来预测缓存的预取数据,且该rnn模型是通过历史访问数据和相邻数据中的至少一种数据训练得到的,因而可以使得预测的数据精确度更高,从而使得缓存预取的效果更佳。

此外,通过利用字典树,可以加快预测速度,使得预取的速度更快,准确度更高。

需要说明的是:上述实施例提供的缓存预取装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的缓存预取装置和缓存预取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图10示出了本发明一个示例性实施例提供的终端1000的结构框图。该终端1000可以是智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1000还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端1000包括有:处理器1001和存储器1002。

处理器1001可以包括一个或多个处理核心,比如4核心处理器、10核心处理器等。处理器1001可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1001可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1001还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器1002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1002中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1001所执行以实现本申请中方法实施例提供的缓存预取方法。

在一些实施例中,终端1000还可选包括有:外围设备接口1003和至少一个外围设备。处理器1001、存储器1002和外围设备接口1003之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1003相连。具体地,外围设备包括:射频电路1004、触摸显示屏1005、摄像头1006、音频电路1007、定位组件10010和电源1009中的至少一种。

外围设备接口1003可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1001和存储器1002。在一些实施例中,处理器1001、存储器1002和外围设备接口1003被集成在同一芯片或电路板上;在一些其他实施例中,处理器1001、存储器1002和外围设备接口1003中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路1004用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路1004通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1004将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1004包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1004可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路1004还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏1005用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1005是触摸显示屏时,显示屏1005还具有采集在显示屏1005的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1001进行处理。此时,显示屏1005还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1005可以为一个,设置终端1000的前面板;在另一些实施例中,显示屏1005可以为至少两个,分别设置在终端1000的不同表面或呈折叠设计;在再一些实施例中,显示屏1005可以是柔性显示屏,设置在终端1000的弯曲表面上或折叠面上。甚至,显示屏1005还可以设置成非矩形的不规则图形,也即异形屏。显示屏1005可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件1006用于采集图像或视频。可选地,摄像头组件1006包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1006还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路1007可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1001进行处理,或者输入至射频电路1004以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1000的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1001或射频电路1004的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1007还可以包括耳机插孔。

定位组件1008用于定位终端1000的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件1008可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。

电源1009用于为终端1000中的各个组件进行供电。电源1009可以是交流电、直流电、一次性电池或可充电电池。当电源1009包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端1000还包括有一个或多个传感器1010。该一个或多个传感器1010包括但不限于:加速度传感器1011、陀螺仪传感器1012、压力传感器1013、指纹传感器1014、光学传感器1015以及接近传感器1016。

加速度传感器1011可以检测以终端1000建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1011可以用于检测重力加速度在三个坐标轴上的分量。处理器1001可以根据加速度传感器1011采集的重力加速度信号,控制触摸显示屏1005以横向视图或纵向视图进行用户界面的显示。加速度传感器1011还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器1012可以检测终端1000的机体方向及转动角度,陀螺仪传感器1012可以与加速度传感器1011协同采集用户对终端1000的3d动作。处理器1001根据陀螺仪传感器1012采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器1013可以设置在终端1000的侧边框和/或触摸显示屏1005的下层。当压力传感器1013设置在终端1000的侧边框时,可以检测用户对终端1000的握持信号,由处理器1001根据压力传感器1013采集的握持信号进行左右手识别或快捷操作。当压力传感器1013设置在触摸显示屏1005的下层时,由处理器1001根据用户对触摸显示屏1005的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器1014用于采集用户的指纹,由处理器1001根据指纹传感器1014采集到的指纹识别用户的身份,或者,由指纹传感器1014根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1001授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1014可以被设置终端1000的正面、背面或侧面。当终端1000上设置有物理按键或厂商logo时,指纹传感器1014可以与物理按键或厂商logo集成在一起。

光学传感器1015用于采集环境光强度。在一个实施例中,处理器1001可以根据光学传感器1015采集的环境光强度,控制触摸显示屏1005的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1005的显示亮度;当环境光强度较低时,调低触摸显示屏1005的显示亮度。在另一个实施例中,处理器1001还可以根据光学传感器1015采集的环境光强度,动态调整摄像头组件1006的拍摄参数。

接近传感器1016,也称距离传感器,通常设置在终端1000的前面板。接近传感器1016用于采集用户与终端1000的正面之间的距离。在一个实施例中,当接近传感器1016检测到用户与终端1000的正面之间的距离逐渐变小时,由处理器1001控制触摸显示屏1005从亮屏状态切换为息屏状态;当接近传感器1016检测到用户与终端1000的正面之间的距离逐渐变大时,由处理器1001控制触摸显示屏1005从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图10中示出的结构并不构成对终端1000的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括至少一条指令、至少一段程序、代码集或指令集的存储器,上述至少一条指令、至少一段程序、代码集或指令集可由处理器执行以完成本发明实施例的全部或者部分步骤。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种计算机设备,该计算机设备包含处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述缓存预取方法。

以上所述仅为本发明可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1