发明内容
基于上述现有技术的不足,本申请提供了一种业务数据的处理方法及装置、计算机存储介质,以解决现有技术的数据查询效率较低的问题。
为了实现上述目的,本申请提供了以下技术方案:
本申请第一方面提供了一种业务数据的处理方法,包括:
获取业务系统产生的业务数据;
基于创建的数据模型,分别在多个数据维度组合下对所述业务数据进行统计计算,得到每个所述数据维度组合对应的统计结果集合;其中,所述数据模型中定义有多个数据维度;每一个所述数据维度组合均由至少一个所述数据维度组成;
将每个所述数据维度组合对应的统计结果集合存储至数据库中;其中,所述统计结果集合中包含的统计结果用于在接收到查询请求时,生成与所述查询请求对应的查询结果。
可选地,在上述的业务数据的处理方法中,所述基于创建的数据模型,分别在多个数据维度组合下对所述业务数据进行统计计算,得到每个所述数据维度组合对应的统计结果集合,包括:
基于创建的所述数据模型,创建一张宽表;其中,所述宽表中包括所述多个数据维度以及所述业务数据;
对所述宽表中的所述多个数据维度进行去重;
在基础数据维度组合下,对所述宽表中的所述业务数据进行统计,得到最低级的数据矩形对应的统计结果集合;其中,所述基础数据维度组合指代所有所述数据维度组成的数据维度组合;一个所述数据矩形对应一个所述数据维度组合;
依次基于下一级的数据矩形对应的统计结果集合,计算得到上一级的数据矩形对应的统计结果集合;其中,下一级的数据矩形对应的数据维度组合的数据维度的数量,比上一级数据矩形对应的数据维度组合的数据维度的数量多。
可选地,在上述的业务数据的处理方法中,所述将每个所述数据维度组合对应的统计结果集合存储至数据库中,包括:
确定每个所述数据矩形的ID;所述数据矩形的ID为二进制编码,并且所述数据矩形的ID与每个所述数据维度相关;
分别针对每个所述数据矩形,将所述数据矩形的标ID分别与所述数据矩形对应的统计结果集合中各个统计结果对应的词典编码组合,得到每个所述统计结果对应的键;其中,所述统计结果对应的词典编码指代其所属的各个所述数据维度下的类别的词典编码;
分别将每个所述统计结果作为值,与其对应的键组合为键值对,并存储至数据库中。
可选地,在上述的业务数据的处理方法中,所述获取业务系统产生的业务数据之后,还包括:
将所述业务数据存储至过渡数据库中;
定时导出所述过渡数据库中全量的所述业务数据的SCV文件,并将所述SCV文件导入数据仓库中。
可选地,在上述的业务数据的处理方法中,所述将每个所述数据维度组合对应的统计结果集合存储至数据库中之后,还包括:
当接收到报表系统发送的查询请求时,从所述数据库中查询出相关的统计结果;其中,所述报表系统通过提供的数据库连接直接发送所述查询请求;
利用所述统计结果生成所述查询请求所请求的目标数据,并将所述目标数据作为查询结果反馈给所述报表系统进行处理并展示。
本申请第二方面提供了一种业务数据的处理装置,包括:
获取单元,用于获取业务系统产生的业务数据;
计算单元,用于基于创建的数据模型,分别在多个数据维度组合下对所述业务数据进行统计计算,得到每个所述数据维度组合对应的统计结果集合;其中,所述数据模型中定义有多个数据维度;每一个所述数据维度组合均由至少一个所述数据维度组成;
第一存储单元,用于将每个所述数据维度组合对应的统计结果集合存储至数据库中;其中,所述统计结果集合中包含的统计结果用于在接收到查询请求时,生成与所述查询请求对应的查询结果。
可选地,在上述的业务数据的处理装置中,所述计算单元,包括:
创建单元,用于基于创建的所述数据模型,创建一张宽表;其中,所述宽表中包括所述多个数据维度以及所述业务数据;
去重单元,用于对所述宽表中的所述多个数据维度进行去重;
第一计算单元,用于在基础数据维度组合下,对所述宽表中的所述业务数据进行统计,得到最低级的数据矩形对应的统计结果集合;其中,所述基础数据维度组合指代所有所述数据维度组成的数据维度组合;一个所述数据矩形对应一个所述数据维度组合;
第二计算单元,用于依次基于下一级的数据矩形对应的统计结果集合,计算得到上一级的数据矩形对应的统计结果集合;其中,下一级的数据矩形对应的数据维度组合的数据维度的数量,比上一级数据矩形对应的数据维度组合的数据维度的数量多1。
可选地,在上述的业务数据的处理装置中,所述第一存储单元,包括:
确定单元,用于确定每个所述数据矩形的ID;所述数据矩形的ID为二进制编码,并且所述数据矩形的ID与每个所述数据维度相关;
组合单元,用于分别针对每个所述数据矩形,将所述数据矩形的ID分别与所述数据矩形对应的统计结果集合中各个统计结果对应的词典编码组合,得到每个所述统计结果对应的键;其中,所述统计结果对应的词典编码指代其所属的各个所述数据维度下的类别的词典编码;
第一存储子单元,用于分别将每个所述统计结果作为值,与其对应的键组合为键值对,并存储至数据库中。
可选地,在上述的业务数据的处理装置中,还包括:
第二存储单元,用于将所述业务数据存储至过渡数据库中;
数据传输单元,用于定时导出所述过渡数据库中全量的所述业务数据的SCV文件,并所述SCV文件导入数据仓库中,覆盖所述数据仓库中的数据。
可选地,在上述的业务数据的处理装置中,还包括:
查询单元,用于当接收到报表系统发送的查询请求时,从所述数据库中查询出相关的统计结果;其中,所述报表系统通过数据库连接直接发送所述查询请求;
生成单元,用于利用所述统计结果生成所述查询请求所请求的目标数据,并将所述目标数据作为查询结果反馈给所述报表系统进行处理并展示。
本申请第三方面提供了一种计算机存储介质,用于存储计算机程序,所述计算机程序被执行时,用于实现如上述任意一项所述的深度图像的生成方法。
本申请提供的一种业务数据的处理方法,通过获取业务系统产生的业务数据,然后基于创建的数据模型,分别在数据模型中定义的多个数据维度组成的多个数据维度组合下,对业务数据进行统计计算,得到每个数据维度对应的统计结果集合,从而实现对业务数据在多个数据维度组合下的预计算。然后,将每个数据维度组合对应的统计结果集合存储至数据库中,供后续在接收到查询请求时,生成查询结果,从而通过对业务数据的预计算,将多个业务数据统计为了一个数据,减少了数据量,并且由于已经经过预计算,所以可以免除或减少了查询时的计算过程,有效地提高了数据的查询效率。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请提供了一种业务数据的处理方法,以解决现有技术数据查询效率较低的问题。
为了实现本申请提供的一种业务数据的处理方法,可选地,本申请实施例提供的一种业务数据处理系统,如图1所示,具体包括:服务模块101、查询模块102、路由模块103、管理模块104、计算模块105、数据仓库106以及数据库107。
其中,服务模块101具体可以是REST服务,主要用于与第三方系统对接,从第三方系统获取数据或发送数据至第三方。需要说明的是,在申请中主要指的业务系统。查询模块102主要用于对查询请求进行解析,并与其他组件进行交互实现数据查询以及反馈。路由模块103则主要将查询请求的解析结果转化为对数据维度组合对应的统计结果的查询请求,从而获取到相应的统计结果。管理模块104则主要用于数据模型的创建、数据维度的管理等数据管理工作。数据仓库106则主要用于存储从业务系统获得业务数据,即待处理的业务数据。数据库107则用于存储各个数据维度组合对应的统计结果集合。计算模型则主要用于从数据仓库106获取业务数据,然后基于创建的数据模型,对多个数据维度组合下的所述业务数据进行统计计算,得到多个数据维度组合对应的统计结果集合,并将每个数据维度组合对应的统计结果集合存储至数据库107中。
可选地,本申请实施提供的业务数据处理系统还可以进一步包括过渡数据库,用于将获取的业务数据先存储在过渡数据库中,再将过渡数据库中的数据全量导入数据仓库106中,从而可以更好的适应业务数据的增删改查。
可选地,本申请实施例提供的业务数据处理系统可以基于开源的分布式分析引擎Apache Kylin来实现,数据仓库106可以为Hive,数据库107可以为Hbose。当然,这只是其中一种可选的方式,也可以其他的软件或框架来实现。
基于上述提供的业务数据处理系统,本申请另一实施例提供了一种业务数据的处理方法,如图2所示,具体包括以下步骤:
S201、获取业务系统产生的业务数据。
可选的,可以获取指定的一个或者多个业务系统所产生的业务数据。具体可以是业务系统每产生一个业务数据则获取该业务数据,并将该业务数据存储至数据仓库中,直至获取的业务数据的数据量达到预设数量,或者到达设定时间点时,执行步骤S202。当然这只是其中一种可选的方式,也可以是通过其他方式获取业务数据,以及其他的方式启动步骤S202的执行。
若数据仓库为Hive,由于Hive适合增量数据的应用场景,但是对数据修改和删除并不友好,并且写的性能也不高。若将业务系产生的业务数据直接存储与数据仓库,将使得整个业务数据处理系统不能很好地适应数据的增删改查。并且由于写性能较差,数据写入也相对较慢,因此本申请另一实施例中,在执行步骤S201获取到业务系统产生的业务数据之后,先将业务数据存在存储至过渡数据库中,即将业务系统产生的业务数据直接存储在过渡数据库中。然后,再定时导出过渡数据库中全量的业务数据的SCV文件,并SCV文件导入数据仓库中,覆盖数据仓库中的数据。
其中,过渡数据库为增删改查性能优异的数据库,所以可以在过渡数据中执行增删改查,从而通过过渡数据库很好地适应了数据需要进行增删改查的应用场景。并且由于SCV文件格式简单,并且具备很强的开放性,所以可以快速地将数据代入到数据仓库中,提供数据的处理效率。
S202、基于创建的数据模型,分别在多个数据维度组合下对业务数据进行统计计算,得到每个数据维度组合对应的统计结果集合。
其中,数据模型中至少定义有多个数据维度。可选地,数据模型中还可以包括有数据维度的基度、数据维度的分组、数据维度与业务数据的关系等。通过数据模型定义了如何对多个数据维度组合下的业务数据进行统计计算。
需要说明的是,每一个数据维度组合均由至少一个数据维度组成,即数据维度组合为数据。例如,业务数据为手机的销量信息,而数据维度包括时间、手机品牌以及国家。则所有的数据维度组合包括:(时间)、(手机品牌)、(国家)、(时间,手机品牌)、(时间,国家)、(时间,手机品牌,国家),共存在6种数据维度组合,即三个维度的所有排列组合都可以作为一个数据维度组合。
具体的,在一个数据维度组合下对业务数据进行统计计算,指的是以该数据维度组合为统计基准,对业务数据进行统计计算。而一个数据维度组合对应的统计结果集合中的统计结果的数量,等于组成该数据维度组合的各个数据维度的基度的乘积。而对于仅包含一个数据维度的数据维度组合,则其对应的统计结果集合中的统计结果的数量等于该数据维度的季度。其中,一个数据维度的基度可以简单的理解为该数据维度下划分的类别的数量,例如,对于时间的数据维度下可以包括2010年、2011年、和2012年三个类别,即其基度为3。所以,对于仅包括时间这一数据维度的数据维度组合,其对应的统计结果集合中包括了3个统计集合,即包括了2010年的手机销售总量、2011年的手机销售总量、和2012年的手机销售总量。若进一步假设手机品牌的基度也是3,那么时间和手机品牌组成的数据维度组合对应的统计结果集合中包括有9个统计结果,即包含有各个手机品牌在各年度的销售总量。
在本实施例中,数据统计可以是针对数据模型中的数据维度的排列组合得到的所有数据维度组合进行业务数据统计,也可以针对部分数据维度组合进行业务数据统计。
可选地,本申请另一实施例中的步骤S202的一种具体的实施方式,如图3所示,具体包括以下步骤:
S301、基于创建的数据模型,创建一张宽表,宽表中包括多个数据维度以及业务数据。
具体的,可以基于业务数据的数据模型中的逻辑调用数据仓库,进而从数据仓库中相应的数据表中获取到业务数据。然后,将数据模型中多个数据维度以及获取的业务数据,共同组建成一张宽表。
S302、对宽表中的多个数据维度进行去重。
可选地,在对宽表中的数据维度进行去重后,还可以进一步对宽表中的各个数据维度创建相应词典编码。具体为对各个数据维度下的各个类别创建词典编码。例如,对于时间、手机品牌以及国家三个数据维度,均分别包括三个类别,具体编码后为:苹果,0、华为,1、小米,2;2010年,0、2011年,1、2012年,2;中国,0、美国,1、日本,2。因此,可以在对宽表中的多个数据维度进行去重后,将宽表存储至数据库中,在进行词典编码后,再执行步骤S303。
S303、在基础数据维度组合下,对宽表中的业务数据进行统计,得到最低级的数据矩形对应的统计结果集合。
其中,基础数据维度组合指代所有数据维度组成的数据维度组合。例如,设定的所有数据维度包括时间、手机品牌以及国家,则基础数据维度组合指的就是时间、手机品牌以及国家共同组成的数据维度组合。因此,最低级的数据矩形对应的统计结果集合可以包含每个手机品牌每年在各个国家的手机销售量。
需要说明的是,一个数据矩形(cuboid)对应一个数据维度组合,所以数据矩形对应的统计结果集合,即为数据维度组合对应的统计结果集合,最低级的数据矩形对应的数据维度组合即为基础数据维度组合。并且,本申请实施例中根据组成数据维度组合的数据维度的数量,将数据维度组合对应的数据矩形划分为多个等级。其中,组成数据维度组合的数据维度的数量越多,则该数据维度组合对应的数据矩形的级别越低,所以下一级的数据矩形对应的数据维度组合的数据维度的数量,都比其上一级数据矩形对应的数据维度组合的数据维度的数量多,具体可以是多1。而最低级的数据矩形是由所有数据维度组成的数据维度组合,也可以称为基础数据矩形。
S304、依次基于下一级的数据矩形对应的统计结果集合,计算得到上一级的数据矩形对应的统计结果集合。
由于,下一级的数据矩形对应的数据维度组合,较上一级的数据维度组合多一个数据维度,所以本申请实施例中,通过对下一级的数据矩形对应的统计结果集合,进一步进行统计,则可以得到少一个数据维度的上一级的数据矩形对应的统计结果,从而不需要对每个级别的数据矩形都利用基础的业务数据进行统计,有效地提高了统计计算的效率。
例如,在统计得到时间、手机品牌以及国家的数据维度组合对应的数据矩形对应的统计结果集合后,即得到每个收集品牌每年在各个国家的销售量后,再统计其上一级的数据矩形的统计结果集合时,如统计时间和收集品牌组成的数据维度组合对应的统计结果时,只需分别针对每个手机品牌、每一年,将下一级的数据矩形的统计结果集合中,该年该手机品牌在所有国家年的手机销量求和,就可以得到该级别的数据矩形对应的统计结果集合。
具体的,由于在步骤S303以及统计计算得到了最低级的数据矩形对应的统计结果集合,所以可以基于最低级的数据矩形对应的统计结果集合,计算其上一级的数据矩形对应的统计结果集合,然后不断由下往上,依次计算直至得到仅由一个数据维度组成的数据维度组合所对应的数据矩形所对应的统计结果集合。
可选地,还可以额外设置一个不对应数据维度组合的最顶级的数据矩形,即该数据矩形不存在对应的数据维度组合,也不对应有统计集合,从而可以将该数据矩形与其他所有的数据矩形对应的统计结果共同构成一个数据立方体。例如,如图4所示的数据立方体,数据维度包括三个,每个圆圈指代一个数据立方体,包含有其对应的统计结果结合。
S203、将每个数据维度组合对应的统计结果集合存储至数据库中。
其中,统计结果集合中包含的统计结果用于在接收到查询请求时,生成与查询请求对应的查询结果。
具体的,当查询的是统计结果集合中的统计结果时,则直接将统计结果封装为查询结果并反馈。若查询的是还需进一步计算的结果,则可以相应的先查找出相关的统计结果,然后对统计结果做进一步运算,从而得到所以查询的结果进行反馈。
可选地,步骤S203的一种具体实施方式,如图5所示,具体可以包括以下步骤:
S501、确定每个数据矩形的ID。
其中,数据矩形的ID为二进制编码,并且数据矩形的ID与每个数据维度相关。具体可以每个数据维度对应有数据矩形的ID中的一位。
具体的,每个数据矩形的ID为具有多位的二进制编码,并且该ID的位数不能少于定义的所有数据维度的数量,并且每个数据维度对应有数据矩形的ID中的一位。例如,数据矩形的ID为8位,所以的数据维度为3个,分别为时间、手机品牌和国家,那么对于(时间,手机,国家)的数据组合对应的数据矩形的ID可以为:00000111;对于(时间,国家)的数据组合对应的数据矩形的ID为:00000101。
S502、分别针对每个数据矩形,将数据矩形的ID分别与数据矩形对应的统计结果集合中各个统计结果对应的词典编码组合,得到每个统计结果对应的键。
其中,统计结果对应的词典编码指代其所属的各个数据维度下的类别的词典编码。需要说明的是,对于词典编码的创建过程,可以相应的参考步骤S302下的具体说明过程,此处不再赘述。
在本申请实施例中,采用数据库Hbase存储统计结果集合。并采用数据矩形的ID和对应的词典编码组成RowKey,即组成键值对中的键,从而根据RowKey就可以知道对应的值为哪个数据维度集合中的哪个数据维度下的统计结果,更便于对统计集合的查询。例如,基于步骤S302下举例的词典编码的离子,对于2011年苹果手机销量这一统计结果,其所属的数据矩形的ID为00000110,时间维度下的2011年的词典编码为1,苹果手机的词典编码为0,则组合后得到的键为:0000011010。
S503、分别将每个数据矩形对应的统计结果作为值,与其对应的键组合为键值对,并存储至数据库中。
可选地,在执行步骤S203之后,若当接收到报表系统发送的查询请求时,从数据库中查询出相关的统计结果,并利用统计结果生成所述查询请求所请求的目标数据,然后目标数据作为查询结果反馈给所述报表系统进行处理并展示。
其中,报表系统通过提供的数据库连接直接发送查询请求。
具体的,在业务数据处理系统为开源的分布式分析引擎Apache Kylin来实现时,该引擎所提供的Java数据库连接,与现有的报表系统BI所支持的连接的格式相一致,所以可以实现两者的直接连接,不需中间的数据转换过程。所以报表系统可以直接通过提供的数据库连接发送查询请求。因此在具体应用过程中,具体可以如图6所示,业务系统将业务数据存储至数据仓库,当然也可以从数据仓库获取业务数据办理业务,分析引擎ApacheKylin从数据仓库获取业务数据并进行处理,得到统计结果集合,然后在通过BI进行查询时,将相应的统计集合反馈给BI进行展示。
本申请实施例提供的一种业务数据的处理方法,通过获取业务系统产生的业务数据,然后基于创建的数据模型,分别在数据模型中定义的多个数据维度组成的多个数据维度组合下,对业务数据进行统计计算,得到每个数据维度对应的统计结果集合,从而实现对业务数据在多个数据维度组合下的预计算。然后,将每个数据维度组合对应的统计结果集合存储至数据库中,供后续接收到查询请求时,用于生成查询结果。从而通过对业务数据的预计算,不仅减少了数据量,并且可以免除或减少了查询时的计算过程,有效地提高了数据的查询效率。
本申请另一实施例提供了一种业务数据的处理装置,如图7所示,具体包括以下单元:
获取单元701,用于获取业务系统产生的业务数据。
计算单元702,用于基于创建的数据模型,分别在多个数据维度组合下对业务数据进行统计计算,得到每个数据维度组合对应的统计结果集合。
其中,数据模型中定义有多个数据维度;每一个数据维度组合均由至少一个数据维度组成。
第一存储单元703,用于将每个数据维度组合对应的统计结果集合存储至数据库中。
其中,统计结果集合中包含的统计结果用于在接收到查询请求时,生成与查询请求对应的查询结果。
可选地,本申请另一实施例提供的业务数据的处理装置中,计算单元,如图8所示,包括以下单元:
创建单元801,用于基于创建的数据模型,创建一张宽表。
其中,宽表中包括多个数据维度以及业务数据。
去重单元802,用于对宽表中的多个数据维度进行去重。
第一计算单元803,用于在基础数据维度组合下,对宽表中的业务数据进行统计,得到最低级的数据矩形对应的统计结果集合。
其中,基础数据维度组合指代所有数据维度组成的数据维度组合。一个数据矩形对应一个数据维度组合。
第二计算单元804,用于依次基于下一级的数据矩形对应的统计结果集合,计算得到上一级的数据矩形对应的统计结果集合。
其中,下一级的数据矩形对应的数据维度组合的数据维度的数量,比上一级数据矩形对应的数据维度组合的数据维度的数量多。
可选地,在本申请另一实施例提供的业务数据的处理装置中,第一存储单元,如图9所示,包括以下单元:
确定单元901,用于确定每个数据矩形的ID。
其中数据矩形的ID为二进制编码,并且数据矩形的ID与每个数据维度相关。
组合单元902,用于分别针对每个数据矩形,将数据矩形的ID分别与数据矩形对应的统计结果集合中各个统计结果对应的词典编码组合,得到每个统计结果对应的键。
其中,统计结果对应的词典编码指代其所属的各个数据维度下的类别的词典编码。
第一存储子单元903,用于分别将每个统计结果作为值,与其对应的键组合为键值对,并存储至数据库中。
可选地,本申请另一实施例提供的业务数据的处理装置中,还可以进一步包括以下单元:
第二存储单元,用于将业务数据存储至过渡数据库中。
数据传输单元,用于定时导出过渡数据库中全量的业务数据的SCV文件,并SCV文件导入数据仓库中,覆盖数据仓库中的数据。
可选地,本申请另一实施例提供的业务数据的处理装置中,还可以进一步包括以下单元:
查询单元,用于当接收到报表系统发送的查询请求时,从数据库中查询出相关的统计结果。
其中,报表系统通过提供的数据库连接直接发送查询请求。
生成单元,用于利用统计结果生成查询请求所请求的目标数据,并将目标数据作为查询结果反馈给报表系统进行处理并展示。
需要说明的是,本申请上述实施例提供的各个单元的具体工作过程可相应地参考上述方法实施例中的相应的步骤的具体实施方式,此处不再赘述。
本申请提供的一种业务数据的处理装置,通过获取单元获取业务系统产生的业务数据,然后计算单元基于创建的数据模型,分别在数据模型中定义的多个数据维度组成的多个数据维度组合下,对业务数据进行统计计算,得到每个数据维度对应的统计结果集合,从而实现对业务数据在多个数据维度组合下的预计算。最后,第一存储单元将每个数据维度组合对应的统计结果集合存储至数据库中,供后续在接收到查询请求时,生成查询结果。从而通过对业务数据的预计算,不仅减少了数据量,并且可以免除或减少了查询时的计算过程,有效地提高了数据的查询效率。
本申请另一实施例提供了一种计算机存储介质,用于存储计算机程序,所述计算机程序被执行时,用于实现如上述任意一个实施例提供的深度图像的生成方法。
其中,具体的实现过程可相应地参考上述方法实施例中的各个步骤的具体实施过程,此处不再赘述。
计算机存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。