使用贡献分析对数据的访问进行定价.pdf

上传人:t**** 文档编号:4237998 上传时间:2018-09-09 格式:PDF 页数:26 大小:13.96MB
返回 下载 相关 举报
摘要
申请专利号:

CN201080051892.8

申请日:

2010.10.29

公开号:

CN102612688A

公开日:

2012.07.25

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06F 17/00申请公布日:20120725|||实质审查的生效IPC(主分类):G06F 17/00申请日:20101029|||公开

IPC分类号:

G06F17/00; G06F15/16

主分类号:

G06F17/00

申请人:

微软公司

发明人:

M·克斯拉维; L·诺维克

地址:

美国华盛顿州

优先权:

2009.11.17 US 12/620,246

专利代理机构:

上海专利商标事务所有限公司 31100

代理人:

罗婷婷

PDF下载: PDF下载
内容摘要

在此描述了用于使用贡献分析对数据的访问进行定价的技术。用户可向存储数据的存储发出查询。存储可分析数据的子集以确定响应于查询而提供给用户的结果。该子集称为贡献数据。数据访问价格计算器执行贡献分析以确定要向访问结果的用户收取的价格。贡献分析考虑了数据在贡献数据中的行和/或列的数目、数据在结果中的行和/或列的数目、在对贡献数据的存储分析期间使用的函数或其任何组合。数据访问价格计算器可以从这种信息中导出指示符,该指示符是从存储和/或在某一程度下是从结果本身接收的。

权利要求书

1.一种对联网环境中的数据的访问进行定价的方法,包括:
对将数据存储在多个表间的存储执行查询,每一个表包括所述数据的相应
行和列;
基于所述查询接收结果,所述结果包括所述数据的子集;
确定所述数据在所述子集中的行的数目;以及
基于所确定的所述数据在所述子集中的行的数目来确定向发出所述查询
以访问所述结果的用户收取的价格。
2.如权利要求1所述的方法,其特征在于,还包括:
确定所述数据在所述子集中的列的数目;
其中,基于所确定的所述数据在所述子集中的行的数目来确定向访问所述
结果的所述用户收取的价格包括:
基于所确定的所述数据在所述子集中行的数目以及所确定的所述数据在
所述子集中的列的数目来确定向访问所述结果的所述用户收取的价格。
3.如权利要求2所述的方法,其特征在于,还包括:
接收指示符,所述指示符指定所述数据包括在针对所述查询的执行而被分
析的所述数据的第二子集中的行的数目和列的数目;
其中,所述第二子集比所述第一子集包括存储在所述存储中的所述数据中
的更多数据;以及
其中,基于所确定的所述数据在所述子集中的行的数目来确定向访问所述
结果的用户收取的价格包括:
基于所确定的所述数据在所述第一子集中的行的数目、所确定的所述数据
在所述第一子集中的列的数目以及所述数据包括在所述第二子集中的行的数
目和列的数目来确定向访问所述结果的所述用户收取的价格。
4.如权利要求3所述的方法,其特征在于,还包括:
确定所述数据在所述第一子集中的列的数目的基础价格;以及
确定除所述基础价格以外还要收取的与所述数据在所述第一子集中的列
中的至少一个相关联的额外费用价格;
其中,基于所确定的所述数据在所述子集中的行的数目来确定向访问所述
结果的用户收取的价格包括:
基于所确定的所述数据在所述第一子集中的行的数目、所确定的所述数据
在所述第一子集中的列的数目、所述数据包括在所述第二子集中的行的数目和
列的数目、所述基础价格以及所述额外费用价格来确定向访问所述结果的所述
用户收取的价格。
5.如权利要求1所述的方法,其特征在于,还包括:
确定所述数据在所述子集中的第一列的第一价格;以及
确定所述数据在所述子集中的第二列的第二价格;
其中,所述第二价格大于所述第一价格;以及
其中,基于所确定的所述数据在所述子集中的行的数目来确定向访问所述
结果的用户收取的价格包括:
基于所确定的所述数据在所述子集中的行的数目、所述第一价格以及所述
第二价格来确定向访问所述结果的所述用户收取的价格。
6.如权利要求1所述的方法,其特征在于,还包括:
接收指示符,所述指示符指定所述数据包括在针对所述查询的执行而被分
析的所述数据的第二数据子集中的行的数目;
其中,所述第二子集比所述第一子集包括存储在所述存储中的所述数据中
的更多数据;以及
其中,基于所确定的所述数据在所述子集中的行的数目来确定向访问所述
结果的用户收取的价格包括:
基于所确定的所述数据在所述第一子集中的行的数目以及所述数据包括
在所述第二子集中的行的数目来确定向访问所述结果的所述用户收取的价格。
7.如权利要求1所述的方法,其特征在于,还包括:
将指定了向访问所述结果的所述用户收取的价格的价格指示符提供给所
述用户。
8.如权利要求1所述的方法,其特征在于,对所述存储执行查询包括:
对所述存储执行已存储过程;以及
其中,基于所述查询接收结果包括:
基于所述已存储过程接收所述结果。
9.一种计算机程序产品,包括具有存储于其上的控制逻辑的计算机可读介
质,所述控制逻辑包括:
被安排为实现权利要求1-8中的任一项的方法步骤的计算机可读程序装
置。
10.一种数据访问价格计算器,包括:
查询计划请求模块,所述查询计划请求模块被配置成请求来自存储的与查
询有关的非内联查询计划;
函数确定模块,所述函数确定模块被配置成确定所述查询计划包括针对所
述查询而被执行的函数;
函数价格确定模块,所述函数价格确定模块被配置成确定所述函数的函数
价格;以及
访问价格确定模块,所述访问价格确定模块被配置成基于所述函数价格来
确定要向发出所述查询以访问对应于所述查询的结果的用户收取的价格。
11.如权利要求10所述的数据访问价格计算器,其特征在于,还包括:
查询执行模块,所述查询执行模块被配置成对所述存储执行所述查询,所
述存储将数据存储在多个表间,每一个表包括所述数据的相应行和列;
结果接收模块,所述结果接收模块被配置成基于所述查询接收所述结果,
所述结果包括所述数据的子集;以及
结果行确定模块,所述结果行确定模块被配置成确定所述数据在所述子集
中的行的数目;
其中所述访问价格确定模块被配置成还基于所述数据在所述子集中的行
的数目来确定所述价格。
12.如权利要求11所述的数据访问价格计算器,其特征在于,还包括:
结果列确定模块,所述结果列确定模块被配置成确定所述数据在所述子集
中的列的数目;
其中所述访问价格确定模块被配置成还基于所述数据在所述子集中的列
的数目来确定所述价格。
13.如权利要求12所述的数据访问价格计算器,其特征在于,还包括:
基础价格确定模块,所述基础价格确定模块被配置成确定所述数据在所述
子集中的列的数目的基础价格;以及
额外费用价格确定模块,所述额外费用价格确定模块被配置成确定除所述
基础价格以外还要收取的与所述数据在所述子集中的列中的至少一个相关联
的额外费用价格;
其中所述访问价格确定模块被配置成还基于所述基础价格和所述额外费
用价格来确定所述价格。
14.如权利要求10所述的数据访问价格计算器,其特征在于,还包括:
价格指示模块,所述价格指示模块被配置成将指定了向访问所述结果的所
述用户收取的价格的价格指示符提供给所述用户。
15.如权利要求10所述的数据访问价格计算器,其特征在于,所述查询
是已存储过程。

说明书

使用贡献分析对数据的访问进行定价

背景技术

数据消费系统将提供商的数据主存在联网环境中以使该数据可被该系统
的用户访问。系统包括存储该数据的存储。存储是能够存储数据的存储系统(例
如,数据库)。用户可经由例如网络来向存储提交查询。存储可解析该查询以
确定要分析哪些数据来生成对用户查询的响应。所分析的数据可被称为贡献数
据。在根据用户的查询分析了贡献数据后,存储生成结果,该结果包括贡献数
据的子集。存储然后经由例如网络向用户提供结果。

可向用户收取访问存储在该存储中的数据的费用。然而,用于收取这种费
用的常规定价模型具有其限制。一种常规定价模型是订阅定价模型。根据订阅
定价模型,向用户收取订阅费用,这向用户授权在指定时间段(例如,一月、
一年等)内访问数据。通过支付附加的期限订阅费通常可以在连续期限内续订
订阅。然而,订阅定价模型一般不在访问大量数据的用户和访问较少量数据的
用户之间进行区分。例如,在订阅定价模型下用户通常被授权不受限制地访问
数据。

另一种常规定价模型是按请求的定价模型。根据按请求的定价模型,针对
用户向存储提交的每一请求向用户收取指定费用。然而,按请求的定价模型一
般不在用户可提交的查询的各种类型或者响应于这些查询而被访问的数据类
型之间进行区分。

发明内容

在此描述了用于使用贡献分析来定价对数据的访问等的各种方法。例如,
用户可向存储数据的存储发出查询。可以以任何合适的格式来表示数据。例如,
可将数据表示为具有属性的对象。根据这个示例,对象可以是可扩展标记语言
(XML)文档中的元素、关系数据库中的行、列存储中的列等。存储可分析数
据的子集以确定响应于查询而要提供给用户的结果。所分析的数据的子集被称
为贡献数据。

数据访问价格计算器执行贡献分析以确定要向访问结果的用户收取的价
格。贡献分析考虑该数据包括在贡献数据中的行和/或列的数目、该数据包括在
结果中的行和/或列的数目、在对贡献数据的存储分析期间所使用的函数或其任
何组合。例如,数据访问价格计算器可以从接收自存储的指示符导出这种信息。
在另一个示例中,数据访问价格计算器可以从结果本身导出该数据包括在结果
中的行和/或列的数目。

描述了对将数据存储在各表间的存储执行查询的一个示例方法。每一个表
包括该数据的相应行和列。基于该查询接收结果。结果包括数据的子集。确定
该数据在子集中的行的数目。基于所确定的该数据在子集中的行的数目来确定
向发出查询以访问结果的用户收取的价格。

描述了从存储处请求与查询有关的非内联查询计划的另一个示例方法。查
询计划是响应于对存储的查询的执行而由该存储执行来生成结果的一组操作。
非内联查询计划是其中不是所有函数都是内联的查询计划。函数是查询中所引
用的子查询。如果一函数的定义被存储结合(即,内联)到查询中,则该函数
被称为是内联的;然而,如果一函数在对存储执行查询时被该存储调用,则该
函数被称为是非内联的。由此,为内联的函数是通过将该函数的定义结合到查
询计划中而被包括在查询计划中的;而为非内联的函数是通过列出对该函数的
函数调用而被包括在查询计划中的。在请求了非内联的查询计划之后,确定该
查询计划包括针对查询而被执行的函数。确定该函数的函数价格。要向发出查
询以访问对应于该查询的结果的用户收取的价格是基于该函数价格来确定的。

描述了包括查询执行模块、结果行确定模块、和访问价格确定模块的示例
系统。查询执行模块被配置来对将数据存储在各表间的存储执行查询。每一个
表包括该数据的相应行和列。结果行确定模块被配置来确定该数据在响应于查
询的执行而被接收的结果中的行的数目。结果包括数据的子集。访问价格确定
模块被配置成基于所确定的数据在结果中的行的数目来确定要向发出查询以
访问结果的用户收取的价格。

描述了包括查询计划请求模块、函数确定模块、函数价格确定模块和访问
价格确定模块的另一示例系统。查询计划请求模块被配置成请求与来自存储的
查询有关的非内联查询计划。函数确定模块被配置成确定查询计划包括针对查
询而被执行的函数。函数价格确定模块被配置成确定函数的函数价格。访问价
格确定模块被配置成基于函数价格来确定要向发出查询以访问对应于该查询
的结果的用户收取的价格。

提供本发明内容以便以简化形式介绍将在以下的具体实施方式中进一步
描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特
征,也不旨在用于限制所要求保护主题的范围。此外,注意到本发明不限于在
详细描述和/或本文的其它章节中所述的特定实施例。本文呈现这些实施例仅用
于说明性的用途。基于本文所包含的描述,其它实施例对于相关领域的技术人
员将是显而易见的。

附图说明

本文结合的并且组成本说明书的一部分的附图示出了本发明的各实施例,
并且还与本描述一起用于解释所涉及的原理以及使相关领域的技术人员能够
实现和使用所公开的技术。

图1是根据一实施例的示例数据消费系统的框图。

图2、4、6和8描绘了根据各实施例的用于使用贡献分析来定价对数据的
访问的各方法的流程图。

图3、5、7和9是根据各实施例的图1所示的数据访问价格计算器的示例
实现的框图。

图10描绘了其中可实现各实施例的示例计算机。

通过下面的结合附图对本发明进行的详细说明,所公开的技术的特点和优
点将变得更加显而易见,在附图中,类似的附图标记在整个说明书中标识对应
的元素。在附图中,相同的参考标号一般指相同的、功能上相似的和/或结构上
相似的元素。其中元素第一次出现的附图由对应的参考标号中最左侧的数字指
示。

具体实施方式

I.引言

以下详细描述参考示出本发明的示例性实施例的附图。但是,本发明的范
围不限于这些实施例,而是由所附权利要求书定义。因此,诸如所示实施例的
修改版本之类的在附图所示之外的实施例仍然由本发明所包含。

本说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指的是所
述实施例可包括特定的特征、结构或特点,但是每一实施例不一定包括该特定
的特征、结构或特点。此外,这些短语不一定指相同的实施例。此外,当结合
实施例描述具体特征、结构或特性时,应当理解在相关领域的技术人员的知识
范围内能够结合其他实施例来实现具体特征、结构或特性,无论是否被显式地
描述。

II.使用贡献分析来定价对数据的访问

各示例实施例能够使用贡献分析来定价对数据的访问。例如,用户可向存
储数据的存储发出查询。可以以任何合适的格式来表示数据。例如,可将数据
表示为具有属性的对象。根据这个示例,对象可以是可扩展标记语言(XML)
文档中的元素、关系数据库中的行、列存储中的列等。存储可分析数据的子集
以确定响应于查询而要提供给用户的结果。所分析的数据的子集可称为贡献数
据。数据访问价格计算器执行贡献分析以确定要向访问该结果的用户收取的价
格。贡献分析考虑了数据包括在贡献数据中的行和/或列的数目、数据包括在结
果中的行和/或列的数目、在对贡献数据的存储分析期间使用的函数或其任何组
合。例如,数据访问价格计算器可以从接收自存储的指示符导出这种信息。在
另一示例中,数据访问价格计算器可以从结果本身导出数据包括在该结果中的
行和/或列的数目。

在此描述的用于使用贡献分析来定价对数据访问的技术可应用于已存储
的过程,但是各示例实施例的范围并不限于这个方面。已存储的过程(又称为,
proc、sproc、StoPRO、SP等)是预编译查询,该预编译查询能够被执行多次,
而不需要每次都向存储发送该查询,并且不需要每次都重新编译该查询。例如,
使用已存储的过程(与其他类型的查询相反)可减少数据消费系统中的网络流
量和/或处理器负担。已存储的过程是查询的一种示例类型。应该意识到,在此
描述了可应用于任何合适类型的查询的技术。

与用于定价对数据的访问的传统技术比较,此处描述的技术具有各种益
处。例如,可以使用在此描述的技术按较细粒度的级别(例如,以每一行、每
一列或每一单元格为基础)销售数据。单元格对应于数据的单个行和单个列。
在定价中可考虑结果中的列的数目和/或行的数目和/或数据类型。访问相对较
大量数据的用户可被收取比访问相对较少量数据的用户更多的费用。例如,可
以向提交了要对其分析大量贡献数据的查询的用户收取比提交了要对其分析
较少量贡献数据的查询的用户更多的费用。可基于查询的类型、响应于查询而
被分析的数据的类型等定价。可建立指定函数的价格,这些指定函数定义可在
分析贡献数据期间执行的操作。指定函数的价格可以独立于针对这些函数而被
分析的贡献数据的量。

图1是根据一实施例的示例数据消费系统100的框图。一般而言,数据消
费系统100用于主存提供商的数据使得该数据可被系统的用户访问。根据示例
实施例,数据消费系统100用于使用贡献分析来确定要向用户收取的访问数据
的价格。以下讨论中提供了与用于使用贡献分析来定价对数据的访问的技术有
关的其他细节。

如图1所示,数据消费系统100包括多个用户系统102A-102M、网络104、
数据访问价格计算器106和存储108。用户系统102A-102M与数据访问价格计
算器106之间的通信是使用公知的网络通信协议通过网络104实施的。网络104
可以是广域网(如因特网)、局域网(LAN)、另一类型的网络、或它们的组
合。数据访问价格计算器106和存储108之间的通信是使用公知的查询语言来
实施的,公知的查询语言为诸如结构化查询语言(SQL)、Java持久查询语言
(JPQL)等。

用户系统102A-102M是处理系统,这些处理系统能够向数据访问价格计
算器106提供用于请求存储在存储108上(或者能以其他方式被存储108访问)
的数据的查询。处理系统的示例是包括至少一个能够根据指令集操纵数据的处
理器的系统。例如,处理系统可以是计算机、个人数字助理等。例如,用户可
以使用部署在用户所拥有的或者能以其他方式被用户访问的用户系统102上的
客户机(例如,Web浏览器、Web爬行器或其他类型的客户机)来启动对数据
的查询。

尽管图1中用户系统102A-102M被描绘为台式计算机,但是相关领域的
技术人员将理解用户系统102A-102M可包括任何启用客户机的系统或设备,包
括但不限于膝上型计算机、个人数字助理、蜂窝电话等等。

数据访问价格计算器106是一种处理系统,该处理系统能够确定向发出查
询以访问存储在存储108上(或者能以其他方式被存储108访问)的数据的用
户收取的价格。在接收到用户的查询后,数据访问价格计算器106执行对存储
108的查询。数据访问价格计算器106从存储108接收为基于该查询的结果。
数据访问价格计算器106还可从存储108接收贡献分析指示符。贡献分析指示
符包括便于贡献分析被数据访问价格计算器106执行的信息。例如,贡献分析
指示符可指定数据包括在与用户查询有关的贡献数据中的行和/或列的数目、数
据包括在结果中的行和/或列的数目、在贡献数据的分析期间使用的函数等。数
据访问价格计算器106分析结果和/或贡献分析指示符以确定要向访问结果的
用户收取的价格。数据访问价格计算器106可将结果从发起查询的地方转发至
用户系统102。

存储108是将数据存储在各表间的存储设备或系统。每一个表包括数据的
相应行和列。存储108可包括处理功能,但是各示例实施例的范围不限于这个
方面。例如,存储108可确定基于由数据访问价格计算器106执行的查询来确
定要分析存储在存储108上(或能以其他方式被存储108访问)的哪些数据。
根据这个示例,存储108可分析该数据以确定基于查询的结果。被分析的数据
被称为贡献数据。存储108可生成贡献分析指示符,但是各示例实施例的范围
不限于这个方面。贡献分析指示符指定数据包括在贡献数据中的行和/或列的数
目、该数据包括在结果中的行和/或列的数目、在贡献数据的分析期间使用的函
数或其任何组合。存储108向数据分析价格计算器106提供结果和贡献分析指
示符(如果可用的话),以供针对贡献分析而进一步进行处理。

图2描绘了根据一实施例的用于使用贡献分析来定价对数据的访问的方法
的流程图200。流程图200可以由例如图1所示的数据消费系统100的数据访
问价格计算器106来执行。为了说明的目的,根据一实施例,针对图3所示的
数据访问价格计算器300描述了流程图200,该数据访问价格计算器300是数
据访问价格计算器106的示例。如图3所示,数据访问价格计算器300包括查
询执行模块302、结果接收模块304、结果行确定模块306、价格成分确定模块
308、结果列确定模块310、关联确定模块312、基础价格确定模块314、额外
费用价格确定模块316和访问价格确定模块318。基于有关流程图200的讨论,
其他结构及操作的实施例对于相关领域的技术人员将是显而易见的。描述流程
图200如下。

如图2所示,流程图200的方法在步骤202处开始。在步骤202,对将数
据存储在各表间的存储执行查询。每一个表包括数据的相应行和列。由存储所
存储的数据可涉及各种主题。例如,第一表可包括与指定区域内待售的房屋有
关的数据,第二表可包括与指定的电影流派有关的数据,第三表可包括与菜谱
有关的数据,并以此类推。出于说明的目的,将针对请求位于洛杉矶的所有杂
货店的列表的示例查询来讨论流程图200中的各步骤。在以下讨论中这个示例
将被称为“杂货店示例”。在杂货店示例中执行的查询只是一个示例查询,并
且应意识到,可以对存储执行任何合适的查询。在一示例实施例中,查询执行
模块302执行查询。

在步骤204,接收基于查询的结果。结果包括数据的子集。根据杂货店示
例,结果可包括所请求的位于洛杉矶的所有杂货店的列表。应意识到,这个结
果中的杂货店的列表是存储所存储的数据的子集。例如,存储可存储其他数据,
诸如与待售房屋有关的数据、与电影有关的数据、与菜谱有关的数据等。在一
示例实现中,结果接收模块304接收结果。

在步骤206,确定数据在子集中的行的数目。根据该杂货店示例,每一个
行可表示在结果内所包括的杂货店的列表中的相应杂货店。在一示例实现中,
结果行确定模块306确定数据在子集中的行的数目。

在步骤208,确定向发出查询以访问结果的用户收取的价格是否要基于该
数据在该子集中的列的数目。根据杂货店示例,每一列可表示各杂货店的相应
属性。例如,属性可包括操作小时、电话号码、地址、消费者评级等。向用户
收取的价格可取决于结果所包括的属性的数目。在一示例实现中,价格成分确
定模块308确定要向访问结果的用户收取的价格是否要基于该数据在子集中的
列的数目。如果价格要基于该数据在子集中的列的数目,则流程继续至步骤
212。否则,流程继续至步骤210。

在步骤210,向发出查询以访问结果的用户收取的价格是基于所确定的该
数据在子集中的行的数目确定的。根据杂货店示例,价格基于包括在结果内的
杂货店列表中的杂货店的数目。在一示例实现中,访问价格确定模块318基于
所确定的该数据在子集中的行的数目来确定价格。在步骤210完成后,流程图
200结束。

在步骤212,确定数据在子集中的列的数目。根据杂货店示例,确定包括
在结果中的杂货店的属性的数目。在一示例实现中,结果列确定模块310确定
数据在子集中的列的数目。

在步骤214,确定额外费用价格是否与该数据在子集中的列中的至少一个
相关联。根据杂货店示例,出于说明的目的,假设可以对包括在结果中的各杂
货店的消费者评级来收取额外费用价格。在一示例实现中,关联确定模块312
确定额外费用价格是否与该数据在子集中的各列中的至少一个相关联。如果格
外费用价格与该数据在子集中的各列中的至少一个相关联,则流程继续至步骤
218。否则,操作继续至步骤216。

在步骤216,基于所确定的该数据在子集中的行的数目以及所确定的该数
据在子集中的列的数目来确定向访问结果的用户收取的价格。根据杂货店示
例,价格基于包括杂货店的数目以及结果中所包括的杂货店的属性的数目。在
一示例实现中,访问价格确定模块318基于所确定的该数据在子集中的行的数
目以及所确定的该数据在子集中的列的数目来确定价格。在步骤216完成后,
流程图200结束。

在步骤218,确定该数据在子集中的列的数目。例如,基础价格可以是与
该数据在子集中的列的数目无关的固定价格。或者,基础价格可以与该数据在
子集中的列的数目成比例。根据杂货店示例,为结果中所包括的杂货店的属性
的数目确定基础价格。在一示例实现中,基础价格确定模块314确定基础价格。

在步骤220,确定额外费用价格。在一示例实现中,额外费用价格确定模
块316确定额外费用价格。

在步骤222,基于所确定的该数据在子集中的行的数目、所确定的该数据
在子集中的列的数目、基础价格以及与数据在子集中的列中的至少一个相关联
的额外费用价格来确定向访问结果的用户收取的价格。根据杂货店示例,价格
基于包括在结果中的杂货店的数目、包括在结果中的杂货店的属性的数目、基
础价格以及额外费用价格。在一示例实现中,访问价格确定模块318基于所
确定的该数据在子集中的行的数目、所确定的该数据在子集中的列的数目、基
础价格以及额外费用价格来确定价格。在步骤222完成后,流程图200结束。

根据示例实施例,包括在存储的一些表中的行可以与比包括在该存储的其
他表中的行更高的价格相关联。例如,第一表中的行可以与第一价格相关联;
第二表中的行可以与第二价格相关联,并以此类推。可以在确定向用户收取的
价格时考虑各行间的价格中的这些区别。

在一些示例实施例中,可不执行流程图200的一个或多个步骤202、204、
206、208、210、212、214、216、218、220和/或222。而且,可执行除步骤
202、204、206、208、210、212、214、216、218、220和/或222之外的或代
替这些步骤的步骤。

将意识到,数据访问价格计算器300可以不包括查询执行模块302、结果
接收模块304、结果行确定模块306、价格成分确定模块308、结果列确定模块
310、关联确定模块312、基础价格确定模块314、额外费用价格确定模块316
和/或访问价格确定模块318中的一个或多个。此外,数据访问价格计算器300
可以包括除查询执行模块302、结果接收模块304、结果行确定模块306、价格
成分确定模块308、结果列确定模块310、关联确定模块312、基础价格确定模
块314、额外费用价格确定模块316和/或访问价格确定模块318之外的或代替
这些模块的模块。

根据一示例实施例,可以用图4的流程图400中示出的步骤来替换流程图
200中的步骤208、210、212、214、216、218、220和/或222。根据一实施例,
针对图5所示的数据访问价格计算器500描述了流程图400,该数据访问价格
计算器400是数据访问价格计算器106的示例。如图5所示,数据访问价格计
算器500包括第一列价格确定模块502、第二列价格确定模块504和访问价格
确定模块318。基于有关流程图400的讨论,其他结构及操作的实施例对于相
关领域的技术人员将是显而易见的。描述流程图400如下。如图4所示,流程
图400的方法在步骤402处开始。在步骤402,确定该数据在子集中的第一列
的第一价格。在一示例实现中,第一列价格确定模块502确定第一列的第一价
格。

在步骤404,确定该数据在子集中的第二列的第二价格。第二价格大于第
一价格。如以上在参考图2的杂货店示例中讨论的,消费者对杂货店的评级的
价格可以被定价得比杂货店的电话号码要高。因此,数据的第一列的第一价格
可以与杂货店的电话号码的价格相对应,数据的第二列的第二价格可以与消费
者对杂货店的评级的价格相对应。在一示例实现中,第二列价格确定模块504
确定第二列的第二价格。

在步骤406,基于所确定的该数据在子集中的行的数目、第一价格以及第
二价格来确定向访问结果的用户收取的价格。根据杂货店示例,该价格基于结
果内的杂货店列表中所包括的杂货店的数目、杂货店的电话号码的价格以及消
费者对杂货店的评级的价格。在一示例实现中,访问价格确定模块308基于所
确定的该数据在子集中的行的数目、第一价格和第二价格来确定向用户收取的
价格。

在相应的图2和图4的流程图200和400中示出的方法考虑了包括在基于
查询的结果中的数据的量。根据这些方法,可以对访问包括大量数据的结果向
用户收取比访问包括较少量数据的结果更多的费用。然而,与一些查询有关的
结果包括相对少量的(例如一行)数据,但是对这些查询的执行可能已涉及分
析大量的贡献数据。在这种实例中,使用考虑贡献数据的量来确定向访问结果
的用户收取的价格的定价模型可以是合乎需要的。

图6描绘了根据一实施例的用于定价对数据的访问的方法的流程图600,
该方法考虑了针对查询而被分析的贡献数据的量。出于说明的目的,根据一实
施例,针对图7所示的数据访问价格计算器700描述了流程图600,数据访问
价格计算器700是数据访问价格计算器106的示例。如图7所示,数据访问价
格计算器700包括查询执行模块302、指示符接收模块702、贡献行确定模块
704、贡献列确定模块706、结果接收模块304、结果行确定模块306、价格成
分确定模块308和访问价格确定模块318。基于有关流程图600的讨论,其他
结构及操作的实施例对于相关领域的技术人员将是显而易见的。描述流程图
600如下。

如图6所示,流程图600的方法在步骤202处开始。在步骤202,对将数
据存储在各表间的存储执行查询。每一个表包括该数据的相应行和列。出于说
明的目的,将针对请求洛杉矶得到最高评级的中国餐厅的示例查询来讨论流程
图600的各步骤。在以下讨论中这个示例将被称为“餐厅示例”。在餐厅示例
中执行的查询只是一个示例查询,并且应意识到,可以对存储执行任何合适的
查询。在一示例实施例中,查询执行模块302执行查询。

在步骤302,接收指示符,该指示符指定了该数据包括在针对查询的执行
而被分析的第一数据子集中的行的数目。根据该餐厅示例,第一数据子集可包
括洛杉矶所有中国餐厅的列表。例如,数据的包括在该数据的第一数据子集中
的每一行可以表示相应的中国餐厅。洛杉矶所有中国餐厅的列表在这个示例中
可以被称为贡献数据。在一示例实现中,指示符接收模块702接收指示符。

根据一示例实施例,贡献行确定模块704基于该指示符来确定该数据包括
在第一子集中的行的数目。根据另一示例实施例,指示符还指定数据包括在该
数据的第一数据子集中的列的数目。根据这个实施例,贡献列确定模块706可
以基于该指示符来确定该数据包括在第一子集中的列的数目。

根据另一示例实施例,指示符包括从存储处接收的查询计划。查询计划是
响应于对存储的查询的执行而由存储执行来生成结果的一组操作。例如,查询
计划可以指定针对查询的执行而被存储分析的第一表中的行的第一数目、第二
表中的行的第二数目等。根据这个实施例,该数据包括在第一子集中的行的数
目是第一数目、第二数目等的和。

在步骤604,接收基于查询的结果。该结果包括第二数据子集。第一子集
比第二子集包括更多存储中所存储的数据。例如,第二数据子集可以是第一数
据子集的子集。根据餐厅示例,结果包括洛杉矶得到最高评级的中国餐厅。应
当意识到,洛杉矶得到最高评级的中国餐厅是贡献数据(即,在这个示例中为
洛杉矶所有中国餐厅的列表)的子集。在一示例实现中,结果接收模块304接
收结果。

在步骤606,确定该数据在第二子集中的行的数目。根据餐厅示例,确定
结果包括数据中表示洛杉矶得到最高评级的餐厅的单个行。在一示例实现中,
结果行确定模块306确定该数据在第二子集中的行的数目。

在步骤608,确定向发出查询以访问结果的用户收取的价格是否基于该数
据包括在第一子集中的列的数目。根据餐厅示例,贡献数据中的每一列可表示
中国餐厅的相应属性。例如,属性可包括操作小时、电话号码、地址、消费者
评级等。向用户收取的价格可取决于结果所包括的属性的数目。在一示例实现
中,价格成分确定模块308确定向访问结果的用户收取的价格是否基于数据包
括在第一子集中的列的数目。如果价格基于数据包括在第一子集中的列的数
目,则流程继续至步骤612。否则,流程继续至步骤610。

在步骤610,基于所确定的该数据在第二子集中的行的数目以及该数据包
括在第一子集中的行的数目来确定向发出查询以访问结果的用户收取的价格。
根据餐厅示例,该价格基于结果中所包括的中国餐厅的数目(即,在本示例中
为一个)以及在贡献数据中所包括的中国餐厅的数目。在一示例实现中,访问
价格确定模块318基于所确定的数据在第二子集中的行的数目以及数据在第一
子集中的行的数目来确定该价格。在步骤610完成后,流程图600结束。

在步骤612,基于所确定的该数据在第二子集中的行的数目、该数据包括
在第一子集中的行的数目以及该数据包括在第一子集中的列的数目来确定向
发出查询以访问结果的用户收取的价格。根据餐厅示例,该价格基于结果中所
包括的中国餐厅的数目(即,在本示例中为一个)、在贡献数据中所包括的中
国餐厅的数目以及在贡献数据中所包括的中国餐厅的属性的数目。在一示例实
现中,访问价格确定模块318基于所确定的该数据在第二子集中的行的数目、
该数据包括在第一子集中的行的数目以及该数据包括在第一子集中的列的数
目来确定价格。在步骤612完成后,流程图600结束。

在某些实施例中,可不执行流程图600的一个或多个步骤602、604、606、
608、610和/或612。而且,可执行除步骤602、604、606、608、610和/或612
之外或代替这些步骤的步骤。

应意识到,数据访问价格计算器700可以不包括查询执行模块302、指示
符接收模块702、贡献行确定模块704、贡献列确定模块706、结果接收模块
304、结果行确定模块306、价格成分确定模块308和/或访问价格确定模块318
中的一个或多个。此外,数据访问价格计算器700可以包括查询执行模块302、
指示符接收模块702、贡献行确定模块704、贡献列确定模块706、结果接收模
块304、结果行确定模块306、价格成分确定模块308和/或访问价格确定模块
318之外或代替这些模块的模块。

图6的流程图600中示出的方法考虑了包括在贡献数据中的数据的量,该
贡献数据是由存储出于确定结果的目的而针对查询分析的。根据这个方法,可
以对访问为其分析了大量贡献数据的结果向用户收取比访问为其分析了较少
量贡献数据的结果更多的费用。然而,使用定价模型可以是合乎需要的,该定
价模型为查询中引用的一些函数设置指定价格,该指定价格并不必须涉及为这
些查询所分析的贡献数据的量。例如,基于函数的定价可以提供与贡献数据的
量很大时考虑了贡献数据的量的定价有关的折扣。

图8描绘了根据一实施例的用于定价对数据的访问的方法的流程图800,
该方法考虑了针对查询而被执行的函数的函数价格。出于说明的目的,根据一
实施例,针对图9所示的数据访问价格计算器900描述了流程图800,数据访
问价格计算器900是数据访问价格计算器106的示例。如图9所示,数据访问
价格计算器900包括查询计划请求模块902、函数确定模块904、函数价格确
定模块906、访问价格确定模块318、指示符确定模块908和价格指示模块910。
基于有关流程图800的讨论,其他结构及操作的实施例对于相关领域的技术人
员将是显而易见的。描述流程图800如下。

如图8所示,流程图800的方法在步骤802处开始。在步骤802,请求来
自存储的与查询有关的非内联查询计划。在示例实现中,查询计划请求模块902
请求非内联查询计划。查询计划是响应于对存储的查询的执行而由存储执行来
生成结果的一组操作。非内联查询计划是其中不是所有函数都是内联的查询计
划。功能是查询中所引用的子查询。如果一函数的定义被存储结合(即,内联)
到查询中,则该函数被称为是内联的;然而,如果一函数在对存储执行查询时
被该存储调用,则该函数被称为是非内联的。由此,为内联的函数是通过将该
函数的定义结合到查询计划中而被包括在查询计划中的;而为非内联的函数是
通过列出对该函数的函数调用而被包括在查询计划中的。

出于说明的目的,假设查询通过“获得五英里内的兴趣点”来请求所有中
国餐厅。短语“获得五英里内的兴趣点”表示一函数,存储可以将该函数看成
是内联的或非内联的。如果存储将该函数看成是内联的,则存储可以:修改查
询以选择是中国餐厅的兴趣点,从各餐厅的X坐标中减去用户的X坐标以提供
相应的X距离,从各餐厅的Y坐标中减去用户的Y坐标以提供相应的Y距离,
对各X距离求平方以提供相应的X距离的平方,对各Y距离求平方以提供相
应的Y距离的平方,将每一X距离的平方与相应的Y距离的平方相加并获取
该和的平方根以提供相应的距离,以及将具有小于五英里的距离的中国餐厅作
为结果来提供。

另一方面,如果存储将该函数看作是非内联的,则存储可调用该函数来获
得临时结果,该临时结果包括在用户位置的五英里之内的所有兴趣点。可以将
临时结果描述成表格,因为表格包括数据的行和列。存储可以对临时结果运行
查询的其他方面。根据这个示例,存储可以确定临时结果中所包括的兴趣点中
的哪些是中国餐厅。

在步骤804,确定查询计划包括针对查询而被执行的函数。例如,确定查
询计划包括对该函数的函数调用。在示例实现中,函数确定模块904确定查询
计划包括针对查询而被执行的函数。

在步骤806,确定函数的函数价格。在示例实现中,函数价格确定模块906
确定函数的函数价格。

在步骤808,基于该函数价格来确定要向发出查询以访问对应于该查询的
结果的用户收取的价格。在示例实现中,访问价格确定模块318基于该函数价
格确定要向访问结果的用户收取的价格。

在步骤810,确定是否要将指定了要向访问结果的用户收取的价格的价格
指示符提供给用户。在示例实现中,指示符确定模块908确定是否要将价格指
示符提供给用户。如果要将价格指示符提供给用户,则流程继续至步骤812。
否则,流程800结束。

在步骤812,将指定了要向访问结果的用户收取的价格的价格指示符提供
给用户。例如,在向用户提供对结果的访问之前,可以给予用户接受该价格的
选项。在示例实现中,价格指示模块910将价格指示符提供给用户。在步骤812
完成后,流程图800结束。

应当注意,存储可以使用为内联的函数或为非内联的函数来处理查询。提
供非内联的查询计划并不影响存储使用为内联的函数来处理查询的能力。事实
上,使用为内联的函数来处理查询可以比使用为非内联的函数来处理查询更高
效,因为可以允许存储选择针对查询而被执行的操作的次序。例如,如果查询
请求在用户位置五英里之内的所有中国餐厅,则存储可以确定在如下情况下可
以更快速地生成结果:先确定在用户位置五英里之内的所有兴趣点,然后确定
这些兴趣点中的哪些是中国餐厅。或者,存储可以确定在如下情况下可以更快
速地生成结果:先确定所有的中国餐厅,然后确定这些中国餐厅中的哪些在用
户位置的五英里之内。为内联的函数给予存储作出这种确定的能力。

在某些示例实施例中,可以不执行流程图800的一个或多个步骤802、804、
806、808、810和/或812。此外,可以执行除步骤802、804、806、808、810
和/或812以外的或代替这些步骤的步骤。

应当意识到,数据访问价格计算器900可以不包括查询计划请求模块902、
函数确定模块904、函数价格确定模块906、访问价格确定模块318、指示符确
定模块908和/或价格指示模块910中的一个或多个。此外,数据访问价格计算
器900可以包括除查询计划请求模块902、函数确定模块904、函数价格确定
模块906、访问价格确定模块318、指示符确定模块908和/或价格指示模块910
之外或代替这些模块的模块。

可以以硬件、软件、固件或其任何组合来实现查询执行模块302、结果接
收模块304、结果行确定模块306、价格成分确定模块308、结果列确定模块
310、关联确定模块312、基础价格确定模块314、额外费用价格确定模块316、
访问价格确定模块318、第一列价格确定模块502、第二列价格确定模块504、
指示符接收模块702、贡献行确定模块704、贡献列确定模块706、查询计划请
求模块902、函数确定模块904、函数价格确定模块906、指示符确定模块908
和价格指示模块910。

可以将查询执行模块302、结果接收模块304、结果行确定模块306、价格
成分确定模块308、结果列确定模块310、关联确定模块312、基础价格确定模
块314、额外费用价格确定模块316、访问价格确定模块318、第一列价格确定
模块502、第二列价格确定模块504、指示符接收模块702、贡献行确定模块
704、贡献列确定模块706、查询计划请求模块902、函数确定模块904、函数
价格确定模块906、指示符确定模块908和/或价格指示模块910实现成被配置
为在一个或多个处理器中执行的计算机程序代码。

在另一示例中,可以将查询执行模块302、结果接收模块304、结果行确
定模块306、价格成分确定模块308、结果列确定模块310、关联确定模块312、
基础价格确定模块314、额外费用价格确定模块316、访问价格确定模块318、
第一列价格确定模块502、第二列价格确定模块504、指示符接收模块702、贡
献行确定模块704、贡献列确定模块706、查询计划请求模块902、函数确定模
块904、函数价格确定模块906、指示符确定模块908和/或价格指示模块910
实现成硬件逻辑/电子电路。

图10描绘其中可实现各实施例的示例计算机1000。可以使用计算机1000
(包括计算机1000的一个或多个特征和/或替换特征)来实现图1所示的用户
系统102A-102M、数据访问价格计算器106或存储108中的任何一个或多个。
计算机1000可以是例如常规个人计算机、移动计算机或工作站形式的通用计
算设备,或者计算机1000可以是专用计算设备。此处所提供的对计算机1000
的描述只是为了说明,并不是限制性的。实施例也可以在相关领域的技术人员
所知的其它类型的计算机系统中实现。

如图10所示,计算机1000包括处理单元1002、系统存储器1004和总线
1006,总线1006将包括系统存储器1004在内的各种系统组件耦合到处理单元
1002。总线1006表示若干类型的总线结构中的任何一种总线结构的一个或多
个,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及使用各
种总线体系结构中的任何一种的处理器或局部总线。系统存储器1004包括只
读存储器(ROM)1008和随机存取存储器(RAM)1010。基本输入/输出系统1012
(BIOS)储存在ROM 1008中。

计算机1000还具有一个或多个以下驱动器:用于读写硬盘的硬盘驱动器
1014、用于读或写可移动磁盘1016的磁盘驱动器1018、以及用于读或写诸如
CD ROM、DVD ROM或其他光介质之类的可移动光盘1020的光盘驱动器
1022。硬盘驱动器1014、磁盘驱动器1016,以及光驱动器1020分别通过硬盘
驱动器接口1006、磁盘驱动器接口1024,以及光学驱动器接口1026连接到总
线1028。驱动器以及它们相关联的计算机可读存储介质为计算机提供了对计算
机可读指令、数据结构、程序模块,及其他数据的非易失存储器。虽然描述了
硬盘、可移动磁盘和可移动光盘,但是,也可以使用诸如闪存卡、数字视频盘、
随机存取存储器(RAM)、只读存储器(ROM)等等之类的其他类型的计算
机可读存储介质来储存数据。

数个程序模块可被储存在硬盘、磁盘、光盘、ROM或RAM上。这些程序
包括操作系统1030、一个或多个应用程序1032、其他程序模块1034以及程序
数据1036。应用程序1032或程序模块1034可以包括例如用于实现如此所描述
的如下内容的计算机程序逻辑:查询执行模块302、结果接收模块304、结果
行确定模块306、价格成分确定模块308、结果列确定模块310、关联确定模块
312、基础价格确定模块314、额外费用价格确定模块316、访问价格确定模块
318、第一列价格确定模块502、第二列价格确定模块504、指示符接收模块702、
贡献行确定模块704、贡献列确定模块706、查询计划请求模块902、函数确定
模块904、函数价格确定模块906、指示符确定模块908、价格指示模块910、
流程图200(包括流程图200的任何步骤)、流程图400(包括流程图400的
任何步骤)、流程图600(包括流程图600的任何步骤)和/或流程图800(包
括流程图800的任何步骤)。

用户可以通过诸如键盘1038和定点设备1040之类的输入设备向计算机
1000中输入命令和信息。其他输入设备(未示出)可包括话筒、操纵杆、游戏
手柄、圆盘式卫星天线、扫描仪等。这些及其他输入设备常常通过耦合到总线
1002的串行端口接口1042连接到处理单元1006,但是,也可以通过其他接口,
诸如并行端口、游戏端口、通用串行总线(USB)端口,来进行连接。

显示设备1044(例如监视器)也通过诸如视频适配器1046之类的接口连
接到总线1006。除了显示设备1044之外,计算机1000还可包括其他外围输出
设备(未示出),如扬声器和打印机。

计算机1000通过网络接口或适配器1050、调制解调器1052、或用于通过
网络建立通信的其他装置连接到网络1048(例如,因特网)。调制解调器1052
(可以是内置的或外置的)通过串行端口接口1042连接到总线1006。

如此处所用的,术语“计算机程序介质”以及“计算机可读介质”用于泛指介
质,诸如与硬盘驱动器1014相关联的硬盘、可移动磁盘1018、可移动光盘1022,
以及其他介质,诸如闪存卡、数字视频盘、随机读取存储器(RAM)、只读存
储器(ROM)等。

如上文所指示的,计算机程序和模块(包括应用程序1032及其他程序模
块1034)可被储存在硬盘、磁盘、光盘、ROM或RAM上。这样的计算机程
序也可以通过网络接口1050或串行端口接口1042来接收。这些计算机程序在
由应用程序执行或加载时使得计算机1000能够实现此处所讨论的实施例的特
征。相应地,这样的计算机程序表示计算机1000的控制器。

示例实施例还涉及包括存储在任何计算机可用介质上的软件(例如计算机
可读指令)的计算机程序产品。这样的软件,当在一个或多个数据处理设备中
执行时,使数据处理设备如此处所描述的那样操作。实施例可使用现在已知或
将来知晓的任何计算机可使用或计算机可读介质。计算机可读介质的例子包括
但不限于存储设备,诸如RAM、硬盘、软盘、CD ROM、DVD ROM、Zip盘、
磁带、磁存储设备、光存储设备、基于MEMS的存储设备、基于纳米技术的存
储设备,等等。

III.结语

虽然以上描述了不同的实施例,但应当理解的是它们只是作为示例而非限
制。对于相关领域的技术人员显而易见的是,可以对其做出各种改变而不背离
本发明的精神和范围。因此,本发明的宽度和范围不应被上述所公开的示例性
实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。

使用贡献分析对数据的访问进行定价.pdf_第1页
第1页 / 共26页
使用贡献分析对数据的访问进行定价.pdf_第2页
第2页 / 共26页
使用贡献分析对数据的访问进行定价.pdf_第3页
第3页 / 共26页
点击查看更多>>
资源描述

《使用贡献分析对数据的访问进行定价.pdf》由会员分享,可在线阅读,更多相关《使用贡献分析对数据的访问进行定价.pdf(26页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102612688 A (43)申请公布日 2012.07.25 C N 1 0 2 6 1 2 6 8 8 A *CN102612688A* (21)申请号 201080051892.8 (22)申请日 2010.10.29 12/620,246 2009.11.17 US G06F 17/00(2006.01) G06F 15/16(2006.01) (71)申请人微软公司 地址美国华盛顿州 (72)发明人 M克斯拉维 L诺维克 (74)专利代理机构上海专利商标事务所有限公 司 31100 代理人罗婷婷 (54) 发明名称 使用贡献分析对数据的访问进行定价 (57。

2、) 摘要 在此描述了用于使用贡献分析对数据的访问 进行定价的技术。用户可向存储数据的存储发出 查询。存储可分析数据的子集以确定响应于查询 而提供给用户的结果。该子集称为贡献数据。数据 访问价格计算器执行贡献分析以确定要向访问结 果的用户收取的价格。贡献分析考虑了数据在贡 献数据中的行和/或列的数目、数据在结果中的 行和/或列的数目、在对贡献数据的存储分析期 间使用的函数或其任何组合。数据访问价格计算 器可以从这种信息中导出指示符,该指示符是从 存储和/或在某一程度下是从结果本身接收的。 (30)优先权数据 (85)PCT申请进入国家阶段日 2012.05.16 (86)PCT申请的申请数据 P。

3、CT/US2010/054706 2010.10.29 (87)PCT申请的公布数据 WO2011/062741 EN 2011.05.26 (51)Int.Cl. 权利要求书3页 说明书12页 附图10页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 3 页 说明书 12 页 附图 10 页 1/3页 2 1.一种对联网环境中的数据的访问进行定价的方法,包括: 对将数据存储在多个表间的存储执行查询,每一个表包括所述数据的相应行和列; 基于所述查询接收结果,所述结果包括所述数据的子集; 确定所述数据在所述子集中的行的数目;以及 基于所确定的所述数据在所述子集中的行的数。

4、目来确定向发出所述查询以访问所述 结果的用户收取的价格。 2.如权利要求1所述的方法,其特征在于,还包括: 确定所述数据在所述子集中的列的数目; 其中,基于所确定的所述数据在所述子集中的行的数目来确定向访问所述结果的所述 用户收取的价格包括: 基于所确定的所述数据在所述子集中行的数目以及所确定的所述数据在所述子集中 的列的数目来确定向访问所述结果的所述用户收取的价格。 3.如权利要求2所述的方法,其特征在于,还包括: 接收指示符,所述指示符指定所述数据包括在针对所述查询的执行而被分析的所述数 据的第二子集中的行的数目和列的数目; 其中,所述第二子集比所述第一子集包括存储在所述存储中的所述数据中。

5、的更多数 据;以及 其中,基于所确定的所述数据在所述子集中的行的数目来确定向访问所述结果的用户 收取的价格包括: 基于所确定的所述数据在所述第一子集中的行的数目、所确定的所述数据在所述第一 子集中的列的数目以及所述数据包括在所述第二子集中的行的数目和列的数目来确定向 访问所述结果的所述用户收取的价格。 4.如权利要求3所述的方法,其特征在于,还包括: 确定所述数据在所述第一子集中的列的数目的基础价格;以及 确定除所述基础价格以外还要收取的与所述数据在所述第一子集中的列中的至少一 个相关联的额外费用价格; 其中,基于所确定的所述数据在所述子集中的行的数目来确定向访问所述结果的用户 收取的价格包括。

6、: 基于所确定的所述数据在所述第一子集中的行的数目、所确定的所述数据在所述第一 子集中的列的数目、所述数据包括在所述第二子集中的行的数目和列的数目、所述基础价 格以及所述额外费用价格来确定向访问所述结果的所述用户收取的价格。 5.如权利要求1所述的方法,其特征在于,还包括: 确定所述数据在所述子集中的第一列的第一价格;以及 确定所述数据在所述子集中的第二列的第二价格; 其中,所述第二价格大于所述第一价格;以及 其中,基于所确定的所述数据在所述子集中的行的数目来确定向访问所述结果的用户 收取的价格包括: 基于所确定的所述数据在所述子集中的行的数目、所述第一价格以及所述第二价格来 确定向访问所述结。

7、果的所述用户收取的价格。 权 利 要 求 书CN 102612688 A 2/3页 3 6.如权利要求1所述的方法,其特征在于,还包括: 接收指示符,所述指示符指定所述数据包括在针对所述查询的执行而被分析的所述数 据的第二数据子集中的行的数目; 其中,所述第二子集比所述第一子集包括存储在所述存储中的所述数据中的更多数 据;以及 其中,基于所确定的所述数据在所述子集中的行的数目来确定向访问所述结果的用户 收取的价格包括: 基于所确定的所述数据在所述第一子集中的行的数目以及所述数据包括在所述第二 子集中的行的数目来确定向访问所述结果的所述用户收取的价格。 7.如权利要求1所述的方法,其特征在于,还。

8、包括: 将指定了向访问所述结果的所述用户收取的价格的价格指示符提供给所述用户。 8.如权利要求1所述的方法,其特征在于,对所述存储执行查询包括: 对所述存储执行已存储过程;以及 其中,基于所述查询接收结果包括: 基于所述已存储过程接收所述结果。 9.一种计算机程序产品,包括具有存储于其上的控制逻辑的计算机可读介质,所述控 制逻辑包括: 被安排为实现权利要求1-8中的任一项的方法步骤的计算机可读程序装置。 10.一种数据访问价格计算器,包括: 查询计划请求模块,所述查询计划请求模块被配置成请求来自存储的与查询有关的非 内联查询计划; 函数确定模块,所述函数确定模块被配置成确定所述查询计划包括针对。

9、所述查询而被 执行的函数; 函数价格确定模块,所述函数价格确定模块被配置成确定所述函数的函数价格;以及 访问价格确定模块,所述访问价格确定模块被配置成基于所述函数价格来确定要向发 出所述查询以访问对应于所述查询的结果的用户收取的价格。 11.如权利要求10所述的数据访问价格计算器,其特征在于,还包括: 查询执行模块,所述查询执行模块被配置成对所述存储执行所述查询,所述存储将数 据存储在多个表间,每一个表包括所述数据的相应行和列; 结果接收模块,所述结果接收模块被配置成基于所述查询接收所述结果,所述结果包 括所述数据的子集;以及 结果行确定模块,所述结果行确定模块被配置成确定所述数据在所述子集中。

10、的行的数 目; 其中所述访问价格确定模块被配置成还基于所述数据在所述子集中的行的数目来确 定所述价格。 12.如权利要求11所述的数据访问价格计算器,其特征在于,还包括: 结果列确定模块,所述结果列确定模块被配置成确定所述数据在所述子集中的列的数 目; 其中所述访问价格确定模块被配置成还基于所述数据在所述子集中的列的数目来确 权 利 要 求 书CN 102612688 A 3/3页 4 定所述价格。 13.如权利要求12所述的数据访问价格计算器,其特征在于,还包括: 基础价格确定模块,所述基础价格确定模块被配置成确定所述数据在所述子集中的列 的数目的基础价格;以及 额外费用价格确定模块,所述额。

11、外费用价格确定模块被配置成确定除所述基础价格以 外还要收取的与所述数据在所述子集中的列中的至少一个相关联的额外费用价格; 其中所述访问价格确定模块被配置成还基于所述基础价格和所述额外费用价格来确 定所述价格。 14.如权利要求10所述的数据访问价格计算器,其特征在于,还包括: 价格指示模块,所述价格指示模块被配置成将指定了向访问所述结果的所述用户收取 的价格的价格指示符提供给所述用户。 15.如权利要求10所述的数据访问价格计算器,其特征在于,所述查询是已存储过程。 权 利 要 求 书CN 102612688 A 1/12页 5 使用贡献分析对数据的访问进行定价 背景技术 0001 数据消费系。

12、统将提供商的数据主存在联网环境中以使该数据可被该系统的用户 访问。系统包括存储该数据的存储。存储是能够存储数据的存储系统(例如,数据库)。用户 可经由例如网络来向存储提交查询。存储可解析该查询以确定要分析哪些数据来生成对用 户查询的响应。所分析的数据可被称为贡献数据。在根据用户的查询分析了贡献数据后, 存储生成结果,该结果包括贡献数据的子集。存储然后经由例如网络向用户提供结果。 0002 可向用户收取访问存储在该存储中的数据的费用。然而,用于收取这种费用的常 规定价模型具有其限制。一种常规定价模型是订阅定价模型。根据订阅定价模型,向用户 收取订阅费用,这向用户授权在指定时间段(例如,一月、一年。

13、等)内访问数据。通过支付附 加的期限订阅费通常可以在连续期限内续订订阅。然而,订阅定价模型一般不在访问大量 数据的用户和访问较少量数据的用户之间进行区分。例如,在订阅定价模型下用户通常被 授权不受限制地访问数据。 0003 另一种常规定价模型是按请求的定价模型。根据按请求的定价模型,针对用户向 存储提交的每一请求向用户收取指定费用。然而,按请求的定价模型一般不在用户可提交 的查询的各种类型或者响应于这些查询而被访问的数据类型之间进行区分。 发明内容 0004 在此描述了用于使用贡献分析来定价对数据的访问等的各种方法。例如,用户可 向存储数据的存储发出查询。可以以任何合适的格式来表示数据。例如,。

14、可将数据表示为 具有属性的对象。根据这个示例,对象可以是可扩展标记语言(XML)文档中的元素、关系数 据库中的行、列存储中的列等。存储可分析数据的子集以确定响应于查询而要提供给用户 的结果。所分析的数据的子集被称为贡献数据。 0005 数据访问价格计算器执行贡献分析以确定要向访问结果的用户收取的价格。贡献 分析考虑该数据包括在贡献数据中的行和/或列的数目、该数据包括在结果中的行和/或 列的数目、在对贡献数据的存储分析期间所使用的函数或其任何组合。例如,数据访问价格 计算器可以从接收自存储的指示符导出这种信息。在另一个示例中,数据访问价格计算器 可以从结果本身导出该数据包括在结果中的行和/或列的。

15、数目。 0006 描述了对将数据存储在各表间的存储执行查询的一个示例方法。每一个表包括该 数据的相应行和列。基于该查询接收结果。结果包括数据的子集。确定该数据在子集中的 行的数目。基于所确定的该数据在子集中的行的数目来确定向发出查询以访问结果的用户 收取的价格。 0007 描述了从存储处请求与查询有关的非内联查询计划的另一个示例方法。查询计划 是响应于对存储的查询的执行而由该存储执行来生成结果的一组操作。非内联查询计划是 其中不是所有函数都是内联的查询计划。函数是查询中所引用的子查询。如果一函数的定 义被存储结合(即,内联)到查询中,则该函数被称为是内联的;然而,如果一函数在对存储 执行查询时。

16、被该存储调用,则该函数被称为是非内联的。由此,为内联的函数是通过将该函 说 明 书CN 102612688 A 2/12页 6 数的定义结合到查询计划中而被包括在查询计划中的;而为非内联的函数是通过列出对该 函数的函数调用而被包括在查询计划中的。在请求了非内联的查询计划之后,确定该查询 计划包括针对查询而被执行的函数。确定该函数的函数价格。要向发出查询以访问对应于 该查询的结果的用户收取的价格是基于该函数价格来确定的。 0008 描述了包括查询执行模块、结果行确定模块、和访问价格确定模块的示例系统。查 询执行模块被配置来对将数据存储在各表间的存储执行查询。每一个表包括该数据的相应 行和列。结果。

17、行确定模块被配置来确定该数据在响应于查询的执行而被接收的结果中的行 的数目。结果包括数据的子集。访问价格确定模块被配置成基于所确定的数据在结果中的 行的数目来确定要向发出查询以访问结果的用户收取的价格。 0009 描述了包括查询计划请求模块、函数确定模块、函数价格确定模块和访问价格确 定模块的另一示例系统。查询计划请求模块被配置成请求与来自存储的查询有关的非内联 查询计划。函数确定模块被配置成确定查询计划包括针对查询而被执行的函数。函数价格 确定模块被配置成确定函数的函数价格。访问价格确定模块被配置成基于函数价格来确定 要向发出查询以访问对应于该查询的结果的用户收取的价格。 0010 提供本发。

18、明内容以便以简化形式介绍将在以下的具体实施方式中进一步描述的 一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限 制所要求保护主题的范围。此外,注意到本发明不限于在详细描述和/或本文的其它章节 中所述的特定实施例。本文呈现这些实施例仅用于说明性的用途。基于本文所包含的描述, 其它实施例对于相关领域的技术人员将是显而易见的。 附图说明 0011 本文结合的并且组成本说明书的一部分的附图示出了本发明的各实施例,并且还 与本描述一起用于解释所涉及的原理以及使相关领域的技术人员能够实现和使用所公开 的技术。 0012 图1是根据一实施例的示例数据消费系统的框图。 0013 。

19、图2、4、6和8描绘了根据各实施例的用于使用贡献分析来定价对数据的访问的各 方法的流程图。 0014 图3、5、7和9是根据各实施例的图1所示的数据访问价格计算器的示例实现的框 图。 0015 图10描绘了其中可实现各实施例的示例计算机。 0016 通过下面的结合附图对本发明进行的详细说明,所公开的技术的特点和优点将变 得更加显而易见,在附图中,类似的附图标记在整个说明书中标识对应的元素。在附图中, 相同的参考标号一般指相同的、功能上相似的和/或结构上相似的元素。其中元素第一次 出现的附图由对应的参考标号中最左侧的数字指示。 具体实施方式 0017 I.引言 0018 以下详细描述参考示出本发。

20、明的示例性实施例的附图。但是,本发明的范围不限 于这些实施例,而是由所附权利要求书定义。因此,诸如所示实施例的修改版本之类的在附 说 明 书CN 102612688 A 3/12页 7 图所示之外的实施例仍然由本发明所包含。 0019 本说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指的是所述实施 例可包括特定的特征、结构或特点,但是每一实施例不一定包括该特定的特征、结构或特 点。此外,这些短语不一定指相同的实施例。此外,当结合实施例描述具体特征、结构或特性 时,应当理解在相关领域的技术人员的知识范围内能够结合其他实施例来实现具体特征、 结构或特性,无论是否被显式地描述。 002。

21、0 II.使用贡献分析来定价对数据的访问 0021 各示例实施例能够使用贡献分析来定价对数据的访问。例如,用户可向存储数据 的存储发出查询。可以以任何合适的格式来表示数据。例如,可将数据表示为具有属性的 对象。根据这个示例,对象可以是可扩展标记语言(XML)文档中的元素、关系数据库中的行、 列存储中的列等。存储可分析数据的子集以确定响应于查询而要提供给用户的结果。所分 析的数据的子集可称为贡献数据。数据访问价格计算器执行贡献分析以确定要向访问该结 果的用户收取的价格。贡献分析考虑了数据包括在贡献数据中的行和/或列的数目、数据 包括在结果中的行和/或列的数目、在对贡献数据的存储分析期间使用的函数。

22、或其任何组 合。例如,数据访问价格计算器可以从接收自存储的指示符导出这种信息。在另一示例中, 数据访问价格计算器可以从结果本身导出数据包括在该结果中的行和/或列的数目。 0022 在此描述的用于使用贡献分析来定价对数据访问的技术可应用于已存储的过程, 但是各示例实施例的范围并不限于这个方面。已存储的过程(又称为,proc、sproc、StoPRO、 SP等)是预编译查询,该预编译查询能够被执行多次,而不需要每次都向存储发送该查询, 并且不需要每次都重新编译该查询。例如,使用已存储的过程(与其他类型的查询相反)可 减少数据消费系统中的网络流量和/或处理器负担。已存储的过程是查询的一种示例类 型。。

23、应该意识到,在此描述了可应用于任何合适类型的查询的技术。 0023 与用于定价对数据的访问的传统技术比较,此处描述的技术具有各种益处。例如, 可以使用在此描述的技术按较细粒度的级别(例如,以每一行、每一列或每一单元格为基 础)销售数据。单元格对应于数据的单个行和单个列。在定价中可考虑结果中的列的数目 和/或行的数目和/或数据类型。访问相对较大量数据的用户可被收取比访问相对较少量 数据的用户更多的费用。例如,可以向提交了要对其分析大量贡献数据的查询的用户收取 比提交了要对其分析较少量贡献数据的查询的用户更多的费用。可基于查询的类型、响应 于查询而被分析的数据的类型等定价。可建立指定函数的价格,这。

24、些指定函数定义可在分 析贡献数据期间执行的操作。指定函数的价格可以独立于针对这些函数而被分析的贡献数 据的量。 0024 图1是根据一实施例的示例数据消费系统100的框图。一般而言,数据消费系统 100用于主存提供商的数据使得该数据可被系统的用户访问。根据示例实施例,数据消费系 统100用于使用贡献分析来确定要向用户收取的访问数据的价格。以下讨论中提供了与用 于使用贡献分析来定价对数据的访问的技术有关的其他细节。 0025 如图1所示,数据消费系统100包括多个用户系统102A-102M、网络104、数据访问 价格计算器106和存储108。用户系统102A-102M与数据访问价格计算器106之。

25、间的通信 是使用公知的网络通信协议通过网络104实施的。网络104可以是广域网(如因特网)、局 域网(LAN)、另一类型的网络、或它们的组合。数据访问价格计算器106和存储108之间的 说 明 书CN 102612688 A 4/12页 8 通信是使用公知的查询语言来实施的,公知的查询语言为诸如结构化查询语言(SQL)、Java 持久查询语言(JPQL)等。 0026 用户系统102A-102M是处理系统,这些处理系统能够向数据访问价格计算器106 提供用于请求存储在存储108上(或者能以其他方式被存储108访问)的数据的查询。处理 系统的示例是包括至少一个能够根据指令集操纵数据的处理器的系统。

26、。例如,处理系统可 以是计算机、个人数字助理等。例如,用户可以使用部署在用户所拥有的或者能以其他方式 被用户访问的用户系统102上的客户机(例如,Web浏览器、Web爬行器或其他类型的客户 机)来启动对数据的查询。 0027 尽管图1中用户系统102A-102M被描绘为台式计算机,但是相关领域的技术人员 将理解用户系统102A-102M可包括任何启用客户机的系统或设备,包括但不限于膝上型计 算机、个人数字助理、蜂窝电话等等。 0028 数据访问价格计算器106是一种处理系统,该处理系统能够确定向发出查询以访 问存储在存储108上(或者能以其他方式被存储108访问)的数据的用户收取的价格。在接 。

27、收到用户的查询后,数据访问价格计算器106执行对存储108的查询。数据访问价格计算 器106从存储108接收为基于该查询的结果。数据访问价格计算器106还可从存储108接 收贡献分析指示符。贡献分析指示符包括便于贡献分析被数据访问价格计算器106执行的 信息。例如,贡献分析指示符可指定数据包括在与用户查询有关的贡献数据中的行和/或 列的数目、数据包括在结果中的行和/或列的数目、在贡献数据的分析期间使用的函数等。 数据访问价格计算器106分析结果和/或贡献分析指示符以确定要向访问结果的用户收取 的价格。数据访问价格计算器106可将结果从发起查询的地方转发至用户系统102。 0029 存储108是。

28、将数据存储在各表间的存储设备或系统。每一个表包括数据的相应行 和列。存储108可包括处理功能,但是各示例实施例的范围不限于这个方面。例如,存储 108可确定基于由数据访问价格计算器106执行的查询来确定要分析存储在存储108上(或 能以其他方式被存储108访问)的哪些数据。根据这个示例,存储108可分析该数据以确定 基于查询的结果。被分析的数据被称为贡献数据。存储108可生成贡献分析指示符,但是 各示例实施例的范围不限于这个方面。贡献分析指示符指定数据包括在贡献数据中的行和 /或列的数目、该数据包括在结果中的行和/或列的数目、在贡献数据的分析期间使用的函 数或其任何组合。存储108向数据分析价。

29、格计算器106提供结果和贡献分析指示符(如果 可用的话),以供针对贡献分析而进一步进行处理。 0030 图2描绘了根据一实施例的用于使用贡献分析来定价对数据的访问的方法的流 程图200。流程图200可以由例如图1所示的数据消费系统100的数据访问价格计算器106 来执行。为了说明的目的,根据一实施例,针对图3所示的数据访问价格计算器300描述了 流程图200,该数据访问价格计算器300是数据访问价格计算器106的示例。如图3所示, 数据访问价格计算器300包括查询执行模块302、结果接收模块304、结果行确定模块306、 价格成分确定模块308、结果列确定模块310、关联确定模块312、基础价。

30、格确定模块314、额 外费用价格确定模块316和访问价格确定模块318。基于有关流程图200的讨论,其他结构 及操作的实施例对于相关领域的技术人员将是显而易见的。描述流程图200如下。 0031 如图2所示,流程图200的方法在步骤202处开始。在步骤202,对将数据存储在 各表间的存储执行查询。每一个表包括数据的相应行和列。由存储所存储的数据可涉及各 说 明 书CN 102612688 A 5/12页 9 种主题。例如,第一表可包括与指定区域内待售的房屋有关的数据,第二表可包括与指定的 电影流派有关的数据,第三表可包括与菜谱有关的数据,并以此类推。出于说明的目的,将 针对请求位于洛杉矶的所有。

31、杂货店的列表的示例查询来讨论流程图200中的各步骤。在以 下讨论中这个示例将被称为“杂货店示例”。在杂货店示例中执行的查询只是一个示例查 询,并且应意识到,可以对存储执行任何合适的查询。在一示例实施例中,查询执行模块302 执行查询。 0032 在步骤204,接收基于查询的结果。结果包括数据的子集。根据杂货店示例,结果 可包括所请求的位于洛杉矶的所有杂货店的列表。应意识到,这个结果中的杂货店的列表 是存储所存储的数据的子集。例如,存储可存储其他数据,诸如与待售房屋有关的数据、与 电影有关的数据、与菜谱有关的数据等。在一示例实现中,结果接收模块304接收结果。 0033 在步骤206,确定数据在。

32、子集中的行的数目。根据该杂货店示例,每一个行可表示 在结果内所包括的杂货店的列表中的相应杂货店。在一示例实现中,结果行确定模块306 确定数据在子集中的行的数目。 0034 在步骤208,确定向发出查询以访问结果的用户收取的价格是否要基于该数据在 该子集中的列的数目。根据杂货店示例,每一列可表示各杂货店的相应属性。例如,属性可 包括操作小时、电话号码、地址、消费者评级等。向用户收取的价格可取决于结果所包括的 属性的数目。在一示例实现中,价格成分确定模块308确定要向访问结果的用户收取的价 格是否要基于该数据在子集中的列的数目。如果价格要基于该数据在子集中的列的数目, 则流程继续至步骤212。否。

33、则,流程继续至步骤210。 0035 在步骤210,向发出查询以访问结果的用户收取的价格是基于所确定的该数据在 子集中的行的数目确定的。根据杂货店示例,价格基于包括在结果内的杂货店列表中的杂 货店的数目。在一示例实现中,访问价格确定模块318基于所确定的该数据在子集中的行 的数目来确定价格。在步骤210完成后,流程图200结束。 0036 在步骤212,确定数据在子集中的列的数目。根据杂货店示例,确定包括在结果中 的杂货店的属性的数目。在一示例实现中,结果列确定模块310确定数据在子集中的列的 数目。 0037 在步骤214,确定额外费用价格是否与该数据在子集中的列中的至少一个相关联。 根据杂。

34、货店示例,出于说明的目的,假设可以对包括在结果中的各杂货店的消费者评级来 收取额外费用价格。在一示例实现中,关联确定模块312确定额外费用价格是否与该数据 在子集中的各列中的至少一个相关联。如果格外费用价格与该数据在子集中的各列中的至 少一个相关联,则流程继续至步骤218。否则,操作继续至步骤216。 0038 在步骤216,基于所确定的该数据在子集中的行的数目以及所确定的该数据在子 集中的列的数目来确定向访问结果的用户收取的价格。根据杂货店示例,价格基于包括杂 货店的数目以及结果中所包括的杂货店的属性的数目。在一示例实现中,访问价格确定模 块318基于所确定的该数据在子集中的行的数目以及所确。

35、定的该数据在子集中的列的数 目来确定价格。在步骤216完成后,流程图200结束。 0039 在步骤218,确定该数据在子集中的列的数目。例如,基础价格可以是与该数据在 子集中的列的数目无关的固定价格。或者,基础价格可以与该数据在子集中的列的数目成 比例。根据杂货店示例,为结果中所包括的杂货店的属性的数目确定基础价格。在一示例 说 明 书CN 102612688 A 6/12页 10 实现中,基础价格确定模块314确定基础价格。 0040 在步骤220,确定额外费用价格。在一示例实现中,额外费用价格确定模块316确 定额外费用价格。 0041 在步骤222,基于所确定的该数据在子集中的行的数目、。

36、所确定的该数据在子集中 的列的数目、基础价格以及与数据在子集中的列中的至少一个相关联的额外费用价格来确 定向访问结果的用户收取的价格。根据杂货店示例,价格基于包括在结果中的杂货店的数 目、包括在结果中的杂货店的属性的数目、基础价格以及额外费用价格。在一示例实现中, 访问价格确定模块318基于所确定的该数据在子集中的行的数目、所确定的该数据在子集 中的列的数目、基础价格以及额外费用价格来确定价格。在步骤222完成后,流程图200结 束。 0042 根据示例实施例,包括在存储的一些表中的行可以与比包括在该存储的其他表中 的行更高的价格相关联。例如,第一表中的行可以与第一价格相关联;第二表中的行可以。

37、与 第二价格相关联,并以此类推。可以在确定向用户收取的价格时考虑各行间的价格中的这 些区别。 0043 在一些示例实施例中,可不执行流程图200的一个或多个步骤202、204、206、208、 210、212、214、216、218、220和/或222。而且,可执行除步骤202、204、206、208、210、212、 214、216、218、220和/或222之外的或代替这些步骤的步骤。 0044 将意识到,数据访问价格计算器300可以不包括查询执行模块302、结果接收模块 304、结果行确定模块306、价格成分确定模块308、结果列确定模块310、关联确定模块312、 基础价格确定模块31。

38、4、额外费用价格确定模块316和/或访问价格确定模块318中的一个 或多个。此外,数据访问价格计算器300可以包括除查询执行模块302、结果接收模块304、 结果行确定模块306、价格成分确定模块308、结果列确定模块310、关联确定模块312、基础 价格确定模块314、额外费用价格确定模块316和/或访问价格确定模块318之外的或代替 这些模块的模块。 0045 根据一示例实施例,可以用图4的流程图400中示出的步骤来替换流程图200中 的步骤208、210、212、214、216、218、220和/或222。根据一实施例,针对图5所示的数据 访问价格计算器500描述了流程图400,该数据访。

39、问价格计算器400是数据访问价格计算 器106的示例。如图5所示,数据访问价格计算器500包括第一列价格确定模块502、第二 列价格确定模块504和访问价格确定模块318。基于有关流程图400的讨论,其他结构及 操作的实施例对于相关领域的技术人员将是显而易见的。描述流程图400如下。如图4所 示,流程图400的方法在步骤402处开始。在步骤402,确定该数据在子集中的第一列的第 一价格。在一示例实现中,第一列价格确定模块502确定第一列的第一价格。 0046 在步骤404,确定该数据在子集中的第二列的第二价格。第二价格大于第一价格。 如以上在参考图2的杂货店示例中讨论的,消费者对杂货店的评级的。

40、价格可以被定价得比 杂货店的电话号码要高。因此,数据的第一列的第一价格可以与杂货店的电话号码的价格 相对应,数据的第二列的第二价格可以与消费者对杂货店的评级的价格相对应。在一示例 实现中,第二列价格确定模块504确定第二列的第二价格。 0047 在步骤406,基于所确定的该数据在子集中的行的数目、第一价格以及第二价格来 确定向访问结果的用户收取的价格。根据杂货店示例,该价格基于结果内的杂货店列表中 说 明 书CN 102612688 A 10 7/12页 11 所包括的杂货店的数目、杂货店的电话号码的价格以及消费者对杂货店的评级的价格。在 一示例实现中,访问价格确定模块308基于所确定的该数据。

41、在子集中的行的数目、第一价 格和第二价格来确定向用户收取的价格。 0048 在相应的图2和图4的流程图200和400中示出的方法考虑了包括在基于查询的 结果中的数据的量。根据这些方法,可以对访问包括大量数据的结果向用户收取比访问包 括较少量数据的结果更多的费用。然而,与一些查询有关的结果包括相对少量的(例如一 行)数据,但是对这些查询的执行可能已涉及分析大量的贡献数据。在这种实例中,使用考 虑贡献数据的量来确定向访问结果的用户收取的价格的定价模型可以是合乎需要的。 0049 图6描绘了根据一实施例的用于定价对数据的访问的方法的流程图600,该方法 考虑了针对查询而被分析的贡献数据的量。出于说明。

42、的目的,根据一实施例,针对图7所示 的数据访问价格计算器700描述了流程图600,数据访问价格计算器700是数据访问价格 计算器106的示例。如图7所示,数据访问价格计算器700包括查询执行模块302、指示符 接收模块702、贡献行确定模块704、贡献列确定模块706、结果接收模块304、结果行确定模 块306、价格成分确定模块308和访问价格确定模块318。基于有关流程图600的讨论,其 他结构及操作的实施例对于相关领域的技术人员将是显而易见的。描述流程图600如下。 0050 如图6所示,流程图600的方法在步骤202处开始。在步骤202,对将数据存储在 各表间的存储执行查询。每一个表包括。

43、该数据的相应行和列。出于说明的目的,将针对请 求洛杉矶得到最高评级的中国餐厅的示例查询来讨论流程图600的各步骤。在以下讨论中 这个示例将被称为“餐厅示例”。在餐厅示例中执行的查询只是一个示例查询,并且应意识 到,可以对存储执行任何合适的查询。在一示例实施例中,查询执行模块302执行查询。 0051 在步骤302,接收指示符,该指示符指定了该数据包括在针对查询的执行而被分析 的第一数据子集中的行的数目。根据该餐厅示例,第一数据子集可包括洛杉矶所有中国餐 厅的列表。例如,数据的包括在该数据的第一数据子集中的每一行可以表示相应的中国餐 厅。洛杉矶所有中国餐厅的列表在这个示例中可以被称为贡献数据。在。

44、一示例实现中,指 示符接收模块702接收指示符。 0052 根据一示例实施例,贡献行确定模块704基于该指示符来确定该数据包括在第一 子集中的行的数目。根据另一示例实施例,指示符还指定数据包括在该数据的第一数据子 集中的列的数目。根据这个实施例,贡献列确定模块706可以基于该指示符来确定该数据 包括在第一子集中的列的数目。 0053 根据另一示例实施例,指示符包括从存储处接收的查询计划。查询计划是响应于 对存储的查询的执行而由存储执行来生成结果的一组操作。例如,查询计划可以指定针对 查询的执行而被存储分析的第一表中的行的第一数目、第二表中的行的第二数目等。根据 这个实施例,该数据包括在第一子集。

45、中的行的数目是第一数目、第二数目等的和。 0054 在步骤604,接收基于查询的结果。该结果包括第二数据子集。第一子集比第二子 集包括更多存储中所存储的数据。例如,第二数据子集可以是第一数据子集的子集。根据 餐厅示例,结果包括洛杉矶得到最高评级的中国餐厅。应当意识到,洛杉矶得到最高评级的 中国餐厅是贡献数据(即,在这个示例中为洛杉矶所有中国餐厅的列表)的子集。在一示例 实现中,结果接收模块304接收结果。 0055 在步骤606,确定该数据在第二子集中的行的数目。根据餐厅示例,确定结果包括 说 明 书CN 102612688 A 11 8/12页 12 数据中表示洛杉矶得到最高评级的餐厅的单个。

46、行。在一示例实现中,结果行确定模块306 确定该数据在第二子集中的行的数目。 0056 在步骤608,确定向发出查询以访问结果的用户收取的价格是否基于该数据包括 在第一子集中的列的数目。根据餐厅示例,贡献数据中的每一列可表示中国餐厅的相应属 性。例如,属性可包括操作小时、电话号码、地址、消费者评级等。向用户收取的价格可取决 于结果所包括的属性的数目。在一示例实现中,价格成分确定模块308确定向访问结果的 用户收取的价格是否基于数据包括在第一子集中的列的数目。如果价格基于数据包括在第 一子集中的列的数目,则流程继续至步骤612。否则,流程继续至步骤610。 0057 在步骤610,基于所确定的该。

47、数据在第二子集中的行的数目以及该数据包括在第 一子集中的行的数目来确定向发出查询以访问结果的用户收取的价格。根据餐厅示例,该 价格基于结果中所包括的中国餐厅的数目(即,在本示例中为一个)以及在贡献数据中所包 括的中国餐厅的数目。在一示例实现中,访问价格确定模块318基于所确定的数据在第二 子集中的行的数目以及数据在第一子集中的行的数目来确定该价格。在步骤610完成后, 流程图600结束。 0058 在步骤612,基于所确定的该数据在第二子集中的行的数目、该数据包括在第一子 集中的行的数目以及该数据包括在第一子集中的列的数目来确定向发出查询以访问结果 的用户收取的价格。根据餐厅示例,该价格基于结。

48、果中所包括的中国餐厅的数目(即,在本 示例中为一个)、在贡献数据中所包括的中国餐厅的数目以及在贡献数据中所包括的中国 餐厅的属性的数目。在一示例实现中,访问价格确定模块318基于所确定的该数据在第二 子集中的行的数目、该数据包括在第一子集中的行的数目以及该数据包括在第一子集中的 列的数目来确定价格。在步骤612完成后,流程图600结束。 0059 在某些实施例中,可不执行流程图600的一个或多个步骤602、604、606、608、610 和/或612。而且,可执行除步骤602、604、606、608、610和/或612之外或代替这些步骤的 步骤。 0060 应意识到,数据访问价格计算器700可。

49、以不包括查询执行模块302、指示符接收模 块702、贡献行确定模块704、贡献列确定模块706、结果接收模块304、结果行确定模块306、 价格成分确定模块308和/或访问价格确定模块318中的一个或多个。此外,数据访问价 格计算器700可以包括查询执行模块302、指示符接收模块702、贡献行确定模块704、贡献 列确定模块706、结果接收模块304、结果行确定模块306、价格成分确定模块308和/或访 问价格确定模块318之外或代替这些模块的模块。 0061 图6的流程图600中示出的方法考虑了包括在贡献数据中的数据的量,该贡献数 据是由存储出于确定结果的目的而针对查询分析的。根据这个方法,可以对访问为其分析 了大量贡献数据的结果向用户收取比访问为其分析了较少量贡献数据的结果更多的费用。 然而,使用定价模型可以是合乎需要的,该定价模型为查询中引用的一些函数设置指定价 格,该指定价格并不必须涉及为这些查询所分析的贡献数据的量。例如,基于函数的定价可 以提供与贡献数据的量很大时考虑了贡献数据的量的定价有关的折扣。 0062 图8描绘了根。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1