发明内容
本说明书实施例提供一种数据维度的下钻方法、系统及电子设备,以解决现有技术数据维度下钻时资源耗费大、计算时间长、实时性差的问题。
本说明书实施例采用下述技术方案:
第一方面,提供了一种数据维度的下钻方法,包括:
基于业务数据的多个索引维度和至少一个聚合维度对业务数据表进行聚合,以形成下钻的数据源表;
基于所述多个索引维度对所述数据源表进行逐层钻取,以生成聚合结果集合,所述聚合结果集合包括所述多个索引维度的多种组合维度在所述至少一个聚合维度的钻取结果;
响应于用户针对至少一个目标索引维度和至少一个目标聚合维度的钻取操作,从所述聚合结果集合中获取所述至少一个目标索引维度和所述至少一个目标聚合维度对应的钻取结果,所述至少一个目标索引维度属于所述多个索引维度,所述至少一个目标聚合维度属于所述至少一个聚合维度。
第二方面,提供了一种数据维度的下钻系统,包括:
聚合模块,用于基于业务数据的多个索引维度和至少一个聚合维度对业务数据表进行聚合,以形成下钻的数据源表;
钻取模块,用于基于所述多个索引维度对所述数据源表进行逐层钻取,以生成聚合结果集合,所述聚合结果集合包括所述多个索引维度的多种组合维度在所述至少一个聚合维度的钻取结果;
获取模块,用于响应于用户针对至少一个目标索引维度和至少一个目标聚合维度的钻取操作,从所述聚合结果集合中获取所述至少一个目标索引维度和所述至少一个目标聚合维度对应的钻取结果,所述至少一个目标索引维度属于所述多个索引维度,所述至少一个目标聚合维度属于所述至少一个聚合维度。
第三方面,提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如下步骤:
基于业务数据的多个索引维度和至少一个聚合维度对业务数据表进行聚合,以形成下钻的数据源表;
基于所述多个索引维度对所述数据源表进行逐层钻取,以生成聚合结果集合,所述聚合结果集合包括所述多个索引维度的多种组合维度在所述至少一个聚合维度的钻取结果;
响应于用户针对至少一个目标索引维度和至少一个目标聚合维度的钻取操作,从所述聚合结果集合中获取所述至少一个目标索引维度和所述至少一个目标聚合维度对应的钻取结果,所述至少一个目标索引维度属于所述多个索引维度,所述至少一个目标聚合维度属于所述至少一个聚合维度。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
基于业务数据的多个索引维度和至少一个聚合维度对业务数据表进行聚合,以形成下钻的数据源表;
基于所述多个索引维度对所述数据源表进行逐层钻取,以生成聚合结果集合,所述聚合结果集合包括所述多个索引维度的多种组合维度在所述至少一个聚合维度的钻取结果;
响应于用户针对至少一个目标索引维度和至少一个目标聚合维度的钻取操作,从所述聚合结果集合中获取所述至少一个目标索引维度和所述至少一个目标聚合维度对应的钻取结果,所述至少一个目标索引维度属于所述多个索引维度,所述至少一个目标聚合维度属于所述至少一个聚合维度。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
本说明书实施例中,先通过基于业务数据的多个索引维度和至少一个聚合维度对业务数据表进行聚合,以形成下钻的数据源表,并基于多个索引维度对数据源表进行逐层钻取,以生成聚合结果集合,从而在用户针对至少一个目标索引维度和至少一个目标聚合维度的钻取操作时,能够迅速准确地从聚合结果集合中获取至少一个目标索引维度和至少一个目标聚合维度对应的钻取结果,无需耗费较多计算时间和计算资源,实时性较高,大大提高了用户的实时钻取效率。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所确定的所有其他实施例,都属于本说明书保护的范围。
本说明书实施例提供一种数据维度的下钻方法、系统及电子设备,以解决现有技术中数据维度下钻时资源耗费大、计算时间长、实时性差的问题。本说明书实施例提供一种数据维度的下钻方法,该方法的执行主体,可以但不限于电子设备或能够被配置为执行本说明书实施例提供的该方法的装置或系统。
为便于描述,下文以服务器为例,对该方法的实施方式进行介绍。可以理解,该方法的执行主体为服务器只是一种示例性的说明,并不应理解为对该方法的限定。
图1为本说明书实施例提供的数据维度的下钻方法的流程图,图1的方法可以由服务器执行,如图1所示,该方法可以包括:
步骤110、基于业务数据的多个索引维度和至少一个聚合维度对业务数据表进行聚合,以形成下钻的数据源表。
应理解为,索引维度与聚合维度存在对应关系。
如图2所示,该多个索引维度可以为O、A、B、C、D、E、F和G,该至少一个聚合维度可以为H和/或I和/或J。
示例1,假设存在以下人员信息,如表1所示:
表1
姓名 |
性别 |
年龄 |
存款金额 |
张三 |
男 |
50 |
100万 |
李四 |
男 |
60 |
1100亿 |
王洋 |
女 |
55 |
10000万 |
王洋 |
男 |
49 |
100万 |
孙梅 |
女 |
60 |
1100亿 |
王远 |
男 |
60 |
1100亿 |
若索引维度O为姓名,索引维度A为性别,索引维度C为年龄,聚合维度H为存款金额,则可以形成以下下钻的数据源表:
基于索引维度O、A和聚合维度H,形成姓名性别存款金额数据表,如表2所示,
表2
姓名 |
性别 |
存款金额 |
张三 |
男 |
100万 |
李四 |
男 |
1100亿 |
王洋 |
女 |
10000万 |
王洋 |
男 |
100万 |
孙梅 |
女 |
1100亿 |
王远 |
男 |
1100亿 |
基于索引维度A、C和聚合维度H,形成性别年龄存款金额数据表,如表3所示:
表3
性别 |
年龄 |
存款金额 |
男 |
50 |
100万 |
男 |
60 |
1100亿 |
女 |
55 |
10000万 |
男 |
49 |
100万 |
女 |
60 |
1100亿 |
男 |
60 |
1100亿 |
基于索引维度O、C和聚合维度H,形成姓名年龄存款金额数据表,如表4所示,
表4
姓名 |
年龄 |
存款金额 |
张三 |
50 |
100万 |
李四 |
60 |
1100亿 |
王洋 |
55 |
10000万 |
王洋 |
49 |
100万 |
孙梅 |
60 |
1100亿 |
王远 |
60 |
1100亿 |
示例2,假设存在北京市信息,如表5所示:
表5
城市 |
区域 |
面积(平方公里) |
人口(万) |
北京市 |
朝阳区 |
0.047万 |
100 |
北京市 |
海淀区 |
430.8 |
200 |
北京市 |
昌平区 |
1352 |
300 |
北京市 |
东城区 |
0.0041万 |
150 |
若索引维度D为城市,索引维度F为区域,聚合维度I为面积,聚合维度J为人口,则可以形成以下下钻的数据源表:
基于索引维度D、F和聚合维度J,形成北京市的区域人口数据表,如表6所示:
表6
城市 |
区域 |
人口(万) |
北京市 |
朝阳区 |
100 |
北京市 |
海淀区 |
200 |
北京市 |
昌平区 |
300 |
北京市 |
东城区 |
150 |
基于索引维度F、I和聚合维度J,形成区域的面积和人口数据表,如表7所示:
表7
区域 |
面积(平方公里) |
人口(万) |
朝阳区 |
0.047万 |
100 |
海淀区 |
430.8 |
200 |
昌平区 |
1352 |
300 |
东城区 |
0.0041万 |
150 |
步骤120、基于所述多个索引维度对所述数据源表进行逐层钻取,以生成聚合结果集合。
其中,所述聚合结果集合包括所述多个索引维度的多种组合维度在所述至少一个聚合维度的钻取结果。
沿用上述示例1,该数据源表可以为存款金额数据表,若聚合维度为存款金额,则多个索引维度的多种组合维度可以为:
索引维度为姓名+索引维度为性别;或,
索引维度为性别+索引维度为年龄;或,
索引维度为姓名+索引维度为性别+索引维度为年龄。
相应的,根据各索引维度的查询场景(即查询条件),可以得到多个索引维度的多种组合维度的组合条件,例如:
钻取条件为王洋+钻取条件为男;或,
钻取条件为男+钻取条件为60岁;或,
钻取条件为王洋+钻取条件为男+钻取条件为49岁。
当然,应理解,索引维度的查询场景,可以来源于所述数据源表中对应索引维度的取值,或者来源于用户的查询需求,对此不作限制。
步骤130、响应于用户针对至少一个目标索引维度和至少一个目标聚合维度的钻取操作,从所述聚合结果集合中获取所述至少一个目标索引维度和所述至少一个目标聚合维度对应的钻取结果。
应理解,前述步骤130中的目标索引维度属于步骤110中的多个索引维度,前述步骤130中的目标聚合维度属于步骤110中的至少一个聚合维度。也就是说,用户在进行实时钻取所使用的目标索引维度和目标聚合维度,在步骤110和步骤120就已经预先进行聚合处理并得到相应的聚合结果。
沿用上述示例1,假设:目标索引维度为年龄,目标聚合维度为存款金额,则从聚合结果集合中获取的至少一个目标索引维度和至少一个目标聚合维度对应的钻取结果,如表8所示:
表8
年龄 |
存款金额 |
50 |
100万 |
55 |
10000万 |
49 |
100万 |
60 |
3300亿 |
沿用上述示例2,假设:目标索引维度为区域,目标聚合维度为人口,则从聚合结果集合中获取的至少一个目标索引维度和至少一个目标聚合维度对应的钻取结果,如表9所示:
表9
区域 |
人口(万) |
朝阳区 |
100 |
海淀区 |
200 |
昌平区 |
300 |
东城区 |
150 |
本说明书实施例中,先通过基于业务数据的多个索引维度和至少一个聚合维度对业务数据表进行聚合,以形成下钻的数据源表,并基于多个索引维度对数据源表进行逐层钻取,以生成聚合结果集合,从而在用户针对至少一个目标索引维度和至少一个目标聚合维度的钻取操作时,能够迅速准确地从聚合结果集合中获取至少一个目标索引维度和至少一个目标聚合维度对应的钻取结果,无需耗费较多计算时间和计算资源,实时性较高,大大提高了用户的实时钻取效率。
可选的,作为一个实施例,所述聚合结果集合可以为两种形式:
第一种,聚合结果集合为查询字典树,所述查询字典树的一个节点表示一个所述索引维度的一个钻取条件,所述查询字典树的节点存储的聚合维度数据表示从所述查询字典树的根节点到当前节点的组合维度条件下的聚合维度数据的聚合值。
应理解为,聚合结果集合可以通过查询字典树的形式进行存储。
如,沿用上述示例1,得到如图3所示的查询字典树;或,沿用上述示例2,得到如图4所示的查询字典树。
第二种,聚合结果集合为查询表,所述查询表用于表征以一个所述索引维度的一个钻取条件为起点对所述数据源表进行逐层钻取所得到的组合维度条件,与所述组合维度条件下的聚合维度数据的聚合值的对应关系。
应理解为,聚合结果集合可以通过key-value键值对的方式进行存储。
如,沿用上述示例1,得到如表10所示的查询表;或,沿用上述示例2,得到如表11所示的查询表。如表10和表11所示:
表10
姓名性别年龄 |
存款金额 |
张三男50 |
100万 |
李四男60 |
1100亿 |
王远男60 |
1100亿 |
表11
市、区域 |
人口(万) |
北京市朝阳区 |
100 |
北京市海淀区 |
200 |
北京市昌平区 |
300 |
可选的,作为一个实施例,所述聚合值可以包括异动金额或异动比例,以便于后续进行异动数据分析操作。
可选的,作为一个实施例,步骤120可实现为:
获取所述多个索引维度的排列;
基于各索引维度在排列中的顺序和各索引维度的各钻取条件,对所述数据源表进行钻取,以生成所述排列中各索引维度对应的层次的钻取结果;
其中,所述目标索引维度的钻取结果对应的钻取条件由目标索引维度的钻取条件及目标索引维度在排列之前的各索引维度的钻取条件组合得到,所述聚合结果集合包括所述多个索引维度的至少一个排列中各索引维度对应的层次的钻取结果。
示例性的,假设有三个索引维度A、B、C,对应有ABC、ACB、BAC、BCA、CAB、CBA六种排列方式。以ABC为例,不妨假设A有A1和A2两种取值,B有B1、B2两种取值,C有C1、C2两种取值,则先对索引维度A进行钻取,得到A1、A2两个取值对应的钻取结果;再对索引维度B进行钻取,得到A1B1、A1B2、A2B1、A2B2四种取值对应的钻取结果,其中,索引维度B对应的的钻取结果对应的钻取条件,由索引维度A和索引维度B的钻取条件组合得到。类似地,索引维度C对应的的钻取结果对应的钻取条件,由索引维度A、索引维度B和索引维度C的钻取条件组合得到,共2*2*2=8种。
当然,这里需要说明的是,若三个索引维度A、B、C存在固定排序,则该各索引维度在排列中的顺序为:ABC、ACB、BAC、BCA、CAB、CBA六种排列方式中的一种。
可选的,作为一个实施例,步骤130可实现为:
基于所述至少一个目标索引维度的钻取条件,从所述聚合结果集合逐层查找各目标索引维度对应的钻取条件,以得到所述至少一个目标索引维度的钻取条件对应的聚合结果位置;
基于所述至少一个目标聚合维度,以及所述聚合结果位置,获取至少一个目标索引维度和至少一个目标聚合维度对应的钻取结果。
沿用上述示例1,假设查找目标索引维度为年龄,钻取条件为60岁,得到钻取条件为60岁的聚合结果的聚合结果位置,再在聚合结果位置处获取钻取条件60岁对应的存款金额为1100亿的钻取结果。
本说明书实施例通过预先获取聚合结果集合,当用户进行实时钻取操作时,能够从预先获取的聚合结果集合中快速的获取目标索引维度和目标聚合维度对应的钻取结果,无需耗费较多计算时间,及时性较高。
可选的,作为一个实施例,在执行步骤130 之后,本说明书实施例提供的一种数据维度的下钻方法还包括:
执行对获取的所述至少一个目标索引维度和所述至少一个目标聚合维度对应的钻取结果进行分析操作。
本说明书实施例通过预先获取聚合结果集合,当用户进行实时钻取操作时,能够从预先获取的聚合结果集合中快速的获取目标索引维度和目标聚合维度对应的钻取结果,无需耗费较多计算时间;再通过对获取的至少一个目标索引维度和至少一个目标聚合维度对应的钻取结果进行分析,能够快速对钻取结果进行分析,实现了实时分析的目的,实时性非常高。
以上,结合图1至图4详细说明了本说明书实施例的数据维度的下钻方法,下面,结合图5,详细说明本说明书实施例的数据维度的下钻系统。
图5示出了本说明书实施例提供的数据维度的下钻系统的结构示意图,如图5所示,该数据维度的下钻系统500可以包括:
聚合模块510,用于基于业务数据的多个索引维度和至少一个聚合维度对业务数据表进行聚合,以形成下钻的数据源表;
钻取模块520,用于基于所述多个索引维度对所述数据源表进行逐层钻取,以生成聚合结果集合,所述聚合结果集合包括所述多个索引维度的多种组合维度在所述至少一个聚合维度的钻取结果;
获取模块530,用于响应于用户针对至少一个目标索引维度和至少一个目标聚合维度的钻取操作,从所述聚合结果集合中获取所述至少一个目标索引维度和所述至少一个目标聚合维度对应的钻取结果,所述至少一个目标索引维度属于所述多个索引维度,所述至少一个目标聚合维度属于所述至少一个聚合维度。
在一实施例中,所述聚合结果集合为查询字典树,所述查询字典树的一个节点表示一个所述索引维度的一个钻取条件,所述查询字典树的节点存储的聚合维度数据表示从所述查询字典树的根节点到当前节点的组合维度条件下的聚合维度数据的聚合值。
在一实施例中,所述聚合结果集合为查询表,所述查询表用于表征以一个所述索引维度的一个钻取条件为起点对所述数据源表进行逐层钻取所得到的组合维度条件,与所述组合维度条件下的聚合维度数据的聚合值的对应关系。
在一实施例中,所述聚合值包括异动金额或异动比例。
在一实施例中,所述钻取模块520包括:
第一获取单元,用于获取所述多个索引维度的排列;
钻取单元,用于基于各索引维度在排列中的顺序和各索引维度的各钻取条件,对所述数据源表进行钻取,以生成所述排列中各索引维度对应的层次的钻取结果;
其中,目标索引维度的钻取结果对应的钻取条件由目标索引维度的钻取条件及目标索引维度在排列之前的各索引维度的钻取条件组合得到,所述聚合结果集合包括所述多个索引维度的至少一个排列中各索引维度对应的层次的钻取结果。
在一实施例中,所述获取模块530包括:
查找单元,用于基于所述至少一个目标索引维度的钻取条件,从所述聚合结果集合逐层查找各目标索引维度对应的钻取条件,以得到所述至少一个目标索引维度的钻取条件对应的聚合结果位置;
第二获取单元,用于基于所述至少一个目标聚合维度,以及所述聚合结果位置,获取至少一个目标索引维度和至少一个目标聚合维度对应的钻取结果。
在一实施例中,所述数据维度的下钻系统包括:
执行模块540,用于执行对获取的所述至少一个目标索引维度和所述至少一个目标聚合维度对应的钻取结果进行分析操作。
本说明书实施例中,先通过基于业务数据的多个索引维度和至少一个聚合维度对业务数据表进行聚合,以形成下钻的数据源表,并基于多个索引维度对数据源表进行逐层钻取,以生成聚合结果集合,从而在用户针对至少一个目标索引维度和至少一个目标聚合维度的钻取操作时,能够迅速准确地从聚合结果集合中获取至少一个目标索引维度和至少一个目标聚合维度对应的钻取结果,无需耗费较多计算时间,实时性较高,大大提高了用户的实时钻取速度和准确度。
图6是本说明书的一个实施例提供的服务器的结构示意图。请参考图6,在硬件层面,该服务器包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该服务器还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数据维度的下钻系统。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
基于业务数据的多个索引维度和至少一个聚合维度对业务数据表进行聚合,以形成下钻的数据源表;
基于所述多个索引维度对所述数据源表进行逐层钻取,以生成聚合结果集合,所述聚合结果集合包括所述多个索引维度的多种组合维度在所述至少一个聚合维度的钻取结果;
响应于用户针对至少一个目标索引维度和至少一个目标聚合维度的钻取操作,从所述聚合结果集合中获取所述至少一个目标索引维度和所述至少一个目标聚合维度对应的钻取结果,所述至少一个目标索引维度属于所述多个索引维度,所述至少一个目标聚合维度属于所述至少一个聚合维度。
本说明书实施例中,先通过基于业务数据的多个索引维度和至少一个聚合维度对业务数据表进行聚合,以形成下钻的数据源表,并基于多个索引维度对数据源表进行逐层钻取,以生成聚合结果集合,从而在用户针对至少一个目标索引维度和至少一个目标聚合维度的钻取操作时,能够迅速准确地从聚合结果集合中获取至少一个目标索引维度和至少一个目标聚合维度对应的钻取结果,无需耗费较多计算时间,实时性较高,大大提高了用户的实时钻取速度和准确度。
上述如本说明书图1所示实施例揭示的数据维度的下钻方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书一个或多个实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书一个或多个实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该服务器还可执行图5的数据维度的下钻系统所执行图1的数据维度的下钻方法,本说明书在此不再赘述。
当然,除了软件实现方式之外,本说明书的服务器并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于多个逻辑单元,也可以是硬件或逻辑器件。
本说明书实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述多个方法实施例的多个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
上述对说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。