结合作为服务的信息的语义更新和自适应接口.pdf

上传人:1****2 文档编号:4258045 上传时间:2018-09-12 格式:PDF 页数:33 大小:11.18MB
返回 下载 相关 举报
摘要
申请专利号:

CN201180013387.9

申请日:

2011.03.11

公开号:

CN102792301A

公开日:

2012.11.21

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):G06F 17/40变更事项:专利权人变更前权利人:微软公司变更后权利人:微软技术许可有限责任公司变更事项:地址变更前权利人:美国华盛顿州变更后权利人:美国华盛顿州登记生效日:20150728|||授权|||实质审查的生效IPC(主分类):G06F 17/40申请日:20110311|||公开

IPC分类号:

G06F17/40; G06F17/30; G06F15/16

主分类号:

G06F17/40

申请人:

微软公司

发明人:

M·克斯拉维

地址:

美国华盛顿州

优先权:

2010.03.12 US 61/313,186; 2010.05.18 US 12/781,963

专利代理机构:

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

代理人:

范玮

PDF下载: PDF下载
内容摘要

响应于对来自数据集的数据的请求,例如,响应于对数据集的查询,来推断描述数据集的附加语义信息,包括分析基于对数据的请求所提取的结果子集以便确定附加语义信息。附加语义信息可被发布者验证为正确的,或在概率上满足正确性。基于附加语义信息的映射信息可随着系统学习附加语义信息(例如,与给定列表示什么以及数据类型表示了什么有关的信息)而维持和更新,并且可更新未来数据请求的形式(例如,基于URL的查询)以便更紧密地与经更新的附加语义信息相对应。

权利要求书

1.一种用于主存数据的方法,包括:
由第一控制区域中的至少一个计算设备经由至少一个网络从第二控制区域中
的至少一个计算设备接收数据请求,该数据请求适用于由该第一控制区域中的至少
一个计算设备所存储的至少一个数据集;
响应于该数据请求,基于该数据请求从该至少一个数据集提取结果子集;
从该结果子集推断描述该至少一个数据集的附加语义信息;以及
基于该附加语义信息来形成或更新描述该至少一个数据集的标识符的映射信
息。
2.如权利要求1所述的方法,其特征在于,还包括:基于该附加语义信息来
更新与对该至少一个数据集的未来数据请求相关联的语义。
3.如权利要求1所述的方法,其特征在于,所述形成或更新包括:基于该附
加语义信息来形成或更新该至少一个数据集的至少一个列名称。
4.如权利要求1所述的方法,其特征在于,所述接收包括接收适用于至少一
个结构数据集的查询。
5.如权利要求1所述的方法,其特征在于,所述提取包括提取结果子集,该
结果子集是从执行该数据请求中返回的。
6.如权利要求1所述的方法,其特征在于,所述提取包括随机地或半随机地
提取结果子集,该结果子集是从执行该数据请求中返回的。
7.如权利要求1所述的方法,其特征在于,所述提取包括提取结果子集,该
结果子集是从执行从该数据请求所导出的至少一个数据请求中返回的。
8.如权利要求1所述的方法,其特征在于,所述推断包括:从该结果子集中
推断描述该至少一个数据集的数据类型的语义信息。
9.如权利要求1所述的方法,其特征在于,所述推断包括:从该结果子集中
推断描述该子集和至少一个预定类型的数据之间的关系的语义信息。
10.如权利要求1所述的方法,其特征在于,所述推断包括:从该结果子集
中推断描述该子集和至少一个预定类别的类型的数据之间的关系的语义信息。
11.一种用于发布数据的方法,包括:
由第一控制区域中的至少一个接收计算设备从第二控制区域中的至少一个发
布计算设备接收由该至少一个发布计算设备所发布的至少一个数据集;
分析该至少一个数据集的子集,并且推断关于该至少一个数据集的语义信息,
该语义信息与标识同该至少一个数据集的数据相关联的信息有关、或与该至少一个
数据集的数据的类型有关;以及
向该至少一个发布计算设备请求验证由所述推断进行推断的语义信息是正确
的。
12.如权利要求11所述的方法,其特征在于,还包括:
响应于接收该验证,基于该语义信息来形成或更新描述该至少一个数据集的
标识符的映射信息。
13.如权利要求11所述的方法,其特征在于,还包括:
响应于接收该验证,基于该语义信息来形成或更新描述至少一个结构数据集
的列的映射信息。
14.如权利要求11所述的方法,其特征在于,还包括:
响应于接收该验证,还包括:基于该语义信息来重新定义与对该至少一个数
据集的查询相关联的语义。
15.如权利要求11所述的方法,其特征在于,还包括:
响应于接收该验证,还包括:基于该语义信息来重新定义经由至少一个统一
资源标识符(URI)或统一资源定位符(URL)所实现的查询相关联的语义。

说明书

结合作为服务的信息的语义更新和自适应接口

技术领域

本发明涉及响应于对经由一个或多个网络可访问的一个或多个数据集进
行查询,基于一个或多个推断来更新语义和/或接口。

背景

作为关于一些常规系统的背景技术,计算设备在传统上已在设备本地存储
了信息以及相关联的应用和数据服务。但是,随着在线和云服务的演进,信息
正越来越多地移至网络提供者,该网络提供者代表设备来不执行服务、执行服
务的一些或全部。能够存储数万亿字节数据(且在将来潜在可能的千万亿字节、
百万万亿字节数据)的网络存储场的演进创建了在云中模拟本地场景且使主设
备与外部存储分隔开的机会。

然而,没有云服务或网络存储供应商能够有效地提供信息来作为任何平台
上的服务,使得出版商、开发者以及消费者能以可为跟踪并审计所涉及的所有
事务的方式容易地发布、专门研究和消费任何种类的数据。另外,当今,由于
相异数目的内容提供者及其通常用于定义数据的专有模式(其中相异的内容提
供者无法彼此协调他们针对云的发布动作),因此存在极少的利用此类相异发
布动作的集体能力的机会。实际上,为了消耗吸引发布的听众(诸如订户或开
发者),两个不同的数据集看起来它们似乎具有两个不同形状——即使在存在
数据或数据类型的一些或相当重叠的情形中。

更具体而言,当前,由不同的各方上传数据的方式使得不同数据集的类似
列(例如,两者都表示城市)——即使被命名了——将具有不同的名称,这些
名称可以是或不是类似的。在任一情形中,人类介入底层数据和验证是用于确
定什么样的列应当被相同或类似地命名,或者另外确定数据的类型或列之间可
能是什么样的关系的常规方式。除不能缩放之外,这种介入底层数据对于希望
保证其数据保持不变的发布者而言可能并非是合意的——对于可能被发布到云
的专用数据集的主机而言亦会如此。

当今设备和数据服务的上述缺点仅仅旨在提供对常规系统的一些问题的
总览,并且不旨在是穷尽性的。在仔细阅读了以下详细描述后,现有技术的其
他问题和各非限制性性实施例的对应好处可变得显而易见。

概述

此处提供了简化的概述以帮助能够对以下更详细的描述和附图中的示例
性、非限制性实施例的各方面有基本或大体的理解。然而,本概述并不旨在是
详尽的或穷尽的。相反,本概述的唯一目的在于,以简化的形式提出与一些示
例性、非限制性实施例相关的一些概念,作为以下各实施例的更详细的描述的
序言。

可结合来自任何平台的作为服务的信息,将各种数据集存储在云中,而经
由查询API(例如,基于统一资源标识符(URI)的查询)进行程序性访问。
当对数据执行越来越多的查询时,描述数据集的API和语义是随着系统学习和
自描述其存储的数据(如所发布的那样)而按演进方式自适应的,从而提供额
外机会来推断与数据集有关的信息。

可以响应于对来自数据集的数据的请求(例如,响应于对数据集的查询)
来推断描述数据集的附加语义信息,包括分析基于对数据的请求所提取的结果
子集以便确定附加语义信息。附加语义信息可由发布者验证为正确的,或在概
率上满足正确性。基于附加语义信息的映射信息可随着系统学习附加语义信息
(例如,与给定列表示什么以及数据类型曾表示什么有关的信息)而维持和更
新,并且可更新未来数据请求的形式(例如,基于URL的查询)以便与经更
新的附加语义信息更紧密地对应。

以下更详细地描述其他实施例和各非限制性示例、场景和实现。

附图简述

参考附图进一步描述各非限制性实施例,在附图中:

图1是示出用于更新映射信息的示例性非限制性实施例的流程图,该映射
信息与从任何平台提供的作为服务的信息相关联;

图2是示出用于结合从任何平台提供的作为服务的信息来请求发布者对所
推断的语义进行验证的示例性非限制性实施例的流程图;

图3是示出用于更新与从任何平台提供的作为服务的信息相关联的数据请
求API的示例性非限制性实施例的流程图;

图4是结合从任何平台提供的作为服务的信息的实施例、示出由发布者进
行发布的示例性非限制性动作的框图;

图5是结合从任何平台提供的作为服务的信息的实施例、示出由开发者或
其他消费者从所发布的数据集请求数据的示例性非限制性动作的框图;

图6是结合从任何平台提供的作为服务的信息的实施例、示出响应于数据
请求来推断语义信息的示例性非限制性动作的框图;

图7是结合从任何平台提供的作为服务的信息的实施例、示出由发布者验
证所推断的信息的示例性非限制性动作的框图;

图8是结合从任何平台提供的作为服务的信息的实施例、示出基于自动更
新的访问API的更丰富的未来数据请求的示例性非限制性动作的框图;

图9是示出用于从任何平台提供的作为服务的信息的非限制性基础结构的示
例性序列的流程图;

图10是示出用于从任何平台提供的作为服务的信息的示例性非限制性基
础结构的框图;

图11是示出用于从任何平台提供的作为服务的信息的基础结构的实现具
体细节的示例性非限制性集合的框图;

图12例示来自用于从任何平台提供的作为服务的信息的示例性基础结构
的示例性数据消费;

图13是表示其中可实现在此处所述的各个实施例的示例性、非限制性联
网环境的框图;以及

图14是表示其中可实现此处所述的各个实施例的一个或多个方面的示例
性、非限制性计算系统或操作环境的框图。

详细描述

概览

如背景技术中所讨论的,提供不同的数据集的不同的内容提供者通常就其
数据集中所表示的信息或数据类型的可能的重叠不进行协调,因为他们通常不
知晓彼此的数据集,或者没有这样做的任何特定动机。在这样的信息服务中:
其中在发布之后由存储实体提供的保证之一是对底层数据集没有干扰,使得所
发布的数据保持未被更改,当前,除了通过自定义应用的内部知识和开发以外,
在开发者或消费侧不存在利用这样的集体能力的方式。

例如,内容提供者A可发布包括关于纬度、经度、以及对应的犯罪率的列
的表,例如,列名为lat(纬度)、long(经度)、和cri_rate(犯罪_率)。内
容提供者B可发布城市的电影院信息,且x和y坐标对应于纬度和经度,除了
城市的列可替代地被称为“名称”,例如列名为_theatre(电影院)、_Name
(名称)、_x和_y。因此,消费侧上的任何常规装置不知晓的是,通过联结
两个集合(其中数据本身不能在存储侧被检测,除非没有发布者所持有的正确
访问许可),实际上可确定城市中具有最低犯罪率的电影院,因为不同列的语
义含义仍是难懂的。

因而,期望确定_x和_y为纬度和经度,_Name意味着城市名称,而_theatre
指的是电影院名称。随后,查询两个数据集的人可根据适当的查询以明智的方
式联结表,以便返回与电影院附近的犯罪率有关的有用数据——在没有这些信
息的情况下不能被辨别的信息。尽管常规上这一工作可通过在服务器侧直接在
幕后检测数据集来手工完成,其中数据有效地在服务器侧不可见,例如,因为
开发者可基于某些特权仅对数据执行某些类型的查询,但是执行这样的相关联
结的人当前会有困惑。

因此,在各种非限制性实施例中,基于开发者对数据集的实际(准许的)
查询,可以检测或部分地检测这些查询的结果、或基于根据这些查询的自动查
询的结果,以便作出与数据有关的某些推断,并且随后用所学习的语义信息来
扩充数据集,从而不仅通过提供先前被认为表示不同的数据/类型的列之间的映
射来改进联结的潜力,而且用于查询的语言可基于这一知识来更新以便有助于
更具描述性和逻辑的查询。因此,为查询所使用的语言也适应于这样的推断,
以便有助于更清楚、更有表现力且直观的句法以供作出这样的数据请求。就此,
根据各实施例,这些对信息的网络请求(例如查询)在联结、过滤、合并等的
功效和能力以及便于使用方面进行自适应地改进。

下面提供这些和其他各示例性、非限制性实施例和场景的进一步细节。

结合作为服务的信息来更新数据集语义和访问API

如所提及的,在作为服务的信息的上下文中,存在可在数据集中表示的有
限数目个事物(电话号码、城市代码、地址、城市、州、邮政编码等),其可
或者从列的名称推断或者通过对数据本身(例如,前1000个事物)进行加权
匹配算法来推断。对于重要数据,虽然人类开始针对大量数据分类数据,但是
此类常规人类分类无法良好地缩放,且如果发布者重新发布具有不同语义的数
据,则人类表征可能已过时。

因此,在各个实施例中,分析从对数据集进行查询得到的随机样本,以确
定是否可推断数据的类型。例如,内容提供者例如根据专有模式来提供一组拙
劣描述的数据。基于或响应于接收到的对数据的数据请求,可从数据集提取样
本集合,以应用一组算法来推断数据的语义含义,例如基于数据中的线索或列
名称、或其他列名称推断数据类型或列名称。由于发布者通常不希望所发布的
他或她的数据被更改,因此可由系统维护一组经扩充的语义(例如,映射)来
描述由系统作出的推断,例如,对于较早的示例,_x=纬度。在这点上,作为
结果,下一开发者被给予更多的关于查询此数据集的信息,在此情形中,可就
具有经度列的其他数据集执行更多联结、过滤等,并且另外,先前包括“_x(…)”
作为句法的部分的访问API自身可被更新为“latitude(…)(纬度(…))”,从而
使得访问API随时间进行自描述,以进一步帮助开发者。在一个示例中,查询
API经由URL来实现,例如OData,关于它的更多信息可在下文中找到。

在一个实施例中,基于已知的数据分布(诸如给定人口的年龄跨度)的加
权算法可被用来确定给定的数据或列名称集在概率上表示什么,例如,确定浮
点数字集合表示年龄。

以此方式,在不使得发布数据比现在更困难的情况下,可通过间接方式(例
如,对语义映射的维护)来对内容提供者实施诸如电话号码和地址之类的某些
惯例。这样,鼓励内容提供者进行发布,但是消费者仍从数据统一性的意义上
获益。例如,电话号码是数字数据的示例,其中可相对容易地如此标识数字数
据,尽管存在诸如区域码括号、破折号等变体。通过基于推断的语义映射对此
表示进行标准化除了使访问API随时间适应成越来越自描述(例如,将列“PN”
重新命名为“电话号码”或更具描述性的其他东西)之外,还使得开发者和订
户对此数据的消费更容易。

另外,发布者也可选择参与。虽然在上传时间不需要发布者参与,但是系
统可作出推断,并要求发布者验证推断,以使得可从开始展示映射信息和描述
性访问API。例如,当系统推断发布者正上传工资信息时,系统可询问发布者
那是正被表示的净工资还是薪资总额。

经扩充的语义使得先前无关的两个较小的表能被联结、合并、过滤等,其
中推断它们包含类似的表、列、数据类型等,而不管最初不同的语义。

可使用各种算法来推断关于语义的信息,例如,可使用加权匹配技术,对查
询结果的子集的手动审阅,对查询结果的子集的社区审阅(例如,类似Wikipedia
批准),对数据质量分数的指派,与数据分开地运送列的数据。如所提及的,除
了推断数据表示什么之外,数据也可被“清除”。例如,可按许多不同的格式
来表示时间,并且可知晓,给定列表示时间;然而,结合跨数据集操作将此类
不同的格式转换成世界时间格式具有益处。如所讨论的,电话号码和地址是可
跨不同的表示格式被标准化的信息的另一示例。

而且,可从实际结果集中取出随机样本的子集来作出此类推断,并且因此,
系统可随时间而改进,因为作出了附加查询且样本人群变得更多和更多样。列
的名称可以是决定性或者也可以是信息性的,例如,如果列被命名为citcode(城
市代码),则系统本质上知晓正表示了什么。可分层地应用以上技术中的任一
个或多个来推断此类附加语义信息。在这点上,能够通过访问API调用的机制
来达成此类语义更新——而非通过如发布者数据库问题所发布的整体那样检查
数据集来纯粹地处理问题——在API调用开始反映所学习的信息时,在API调
用的句法本身内实现动态更新以及随时间变得更准确的描述性的系统。

如所讨论的,可结合来自任何平台的作为服务的信息经由开放数据协议来
通过URL上传数据。基于消费者正请求什么,可通过检查命名数据的方式并
基于返回的实际数据集来执行对数据的推断。结果,在下次有更好的名称的情
况下,API(由URL表示)被自动更新,以使得下次假定为http://dallas/…/_a(SEA)
的查询的语义可在下次被更好的理解为http://dallas/.../City(Seattle)。换言之,
保持在通过URL来请求和处理时在数据上构建逻辑语义不仅确定列之间的映
射,还更一般地改进URL的语义或访问API。

图1是示出用于更新与从任何平台提供的作为服务的信息相关联的映射信
息的示例性非限制性实施例的流程图。在100,第一控制区域中的计算设备经
由网络从第二控制区域中的计算设备接收数据请求。数据请求(例如查询,或
对于更具体的示例而言,基于URL的查询)适用于向第一控制区域中的计算
设备发布的且由第一控制区域中的计算设备存储的一个或多个数据集。在110,
响应于数据请求,基于数据请求从一个或多个数据集中提取结果子集(例如随
机或半随机子集)。可从数据请求本身、或从并行执行的派生数据请求中返回
或提取结果子集,但是要基于数据请求的句法。

在120,从结果子集中推断描述一个或多个数据集的附加语义信息。语义
信息可包括但不限于描述至少一个数据集的数据类型或者子集与至少一个预
定类型的数据之间的关系(例如,数据或数据类型与预定义类别的数据或数据
类型之间的关系)的语义信息。在130,基于附加语义信息来形成或更新描述
一个或多个数据集的标识符(例如,列名称)的映射信息。另外地,与对一个
或多个数据集的未来数据请求相关联的语义也可基于附加语义信息来更新。

图2是示出用于结合与从任何平台提供的作为服务的信息来请求发布者对
所推断的语义进行验证的示例性非限制性实施例的流程图。

在200,第一控制区域中的接收计算设备从第二控制区域中的发布计算设
备接收由发布计算设备所发布的一个或多个数据集。在210,分析一个或多个
数据集的子集。基于该分析,在220,推断关于一个或多个数据集的语义信息,
该语义信息与标识同一个或多个数据集的数据相关联的信息有关、或与一个或
多个数据集的数据类型有关。在230,可请求发布者(例如,发布计算设备)
验证所推断的语义信息,以确认通过该推断而推断出的语义信息是正确的。

在各实施例中,响应于接收来自发布者的验证,可基于语义信息来形成或
更新描述至少一个数据集的标识符(例如,列名称)的映射信息,或者可基于
语义信息重新定义或细化与对一个或多个数据集的数据请求(例如,查询或
URL查询)相关联的语义。

图3是示出用于更新与从任何平台提供的作为服务的信息相关联的数据请
求API的示例性非限制性实施例的流程图。在300,经由网络接收数据请求,
该数据请求适用于可经由该网络来访问的数据集。在310,基于数据请求来检
索来自数据集的结果子集。在320,从子集中推断描述数据集的辅助语义信息。
在330,基于辅助语义信息来修改与对数据集的数据请求相关联的语义。

出于对关于一个或多个实施例的附加解释,当来自任何平台的作为服务的
信息作为资源被提供给发布者以鼓励上传数据时,预期该发布者上传“难看的”
数据集(即,不遵守任何特定约定或标准的数据集)是合理的,这可能使得难
以理解它们本来表示什么。另外,当对发布的内容期望绝对机密性和完整性预
期时,预期发布者想要实施这样的条件(除了对以授权方式查询数据的可审计
的实体以外)也是合理的。在这一情况下,不能在后端分析数据以寻找这样的
语义含义,相反,机会出现在授权的查询展示表示数据内容的结果时。在一个
非限制性实现中,经由开放数据协议向系统呈现这样的查询,开放数据协议的
更多细节在下文中呈现。例如,开发者或其他授权的订户可能用以下URL:
http://InfoasService/…/city(Seattle)来查询与西雅图的城市相关联的信息。就此,
在一个或多个实施例中,通过基于对API请求结果或其子集的推断、并且还基
于URL/URI的参数来推断与数据有关的语义信息,使得可基于所推断的信息
从中处理动态重映射,从而创建随时间的自描述系统——查询越多、推断越好。

在一个非限制性实施例中,将元数据添加到列中。例如,最初,开发者可
基于文档知道从“city(城市)”列中寻求Seattle(西雅图)。然而,在基于
特定查询返回了100个随机样本之后,可以推断“city”实际上表示“West coast 
cities(西海岸城市)”。在这一方面,作出与数据种类有关的推断,并且随时
间建立更准确的逻辑语义。例如,在最初将标记为_A的列推断成表示城市信息
的示例中,在进一步查询之后,排除了除西海岸城市之外的任何东西的结果可
导致以下表征:_A指的是美国西海岸的城市。因此,与这一_A列相关联的语
义在关于西海岸城市的元数据最终被添加时随时间改进。另外,访问API可基
于经改进的语义而自动地更新。例如,作为结果,查询
http://InfoasService/…/_A(Seattle)演进成http://InfoasService/…/WestCoastCity
(Seattle),并且变得更具描述性且更直观(并且由此对于作为服务的信息的消费
侧更有用)。

就此,各实施例提供自适应API以及数据的消费者(例如,订户、开发者
等)正在查看什么的语义。使用的数据越多,可以成形的API语义也越多,使
得可以形成对表(可按新方式被联结、过滤等)的更丰富的查询。可将辅助数
据存储在底层发布的数据顶部或与其分开存储,因为如所提及的,可能对发布
者有这样的要求:所发布的数据的保管者不更改该数据。例如,系统可在表之
间创建向表展示的映射,而从不更改表的任何底层数据。或是服务侧或是消费
侧可基于从系统的推断来执行这样的联结、合并、过滤等。

另外,一旦发现要将两个数据集/表相关,就可自动地定义联结这两个数据
集/表的API。因此,在一个方面,系统维护对列的映射,而在另一方面,可基
于API调用自动地对给定数据集执行上述推断。由此,在数据请求和数据存储
之间存在某一程度的间接关联。采用随机样本结果或模式,可以推断列类型,
而不必访问存储本身。

图4是结合从任何平台提供的作为服务的信息的实施例、示出由发布者进
行发布的示例性非限制性动作的框图。图5至8建立在图4的说明性而非限制
性的示例上,相同标号指代相同的元素,但是注意到出于解释目的,这样的元
素仅仅是说明性和示例性的。如图4中所示,发布者400将数据发布到来自任
何平台的作为服务的信息410,而基本上对形式没有限制;然而,对于给定开
发者而言所上传的形式未被更改却是重要的。由此,数据集412保持未被更改,
数据集414保持未被更改,数据集416保持未被更改,依次类推。

图5是示出开发者或其他消费者请求来自所发布的数据集的数据的示例性
非限制性动作的框图。就此,一旦信息410被发布,开发者420或其他订户就
可经由所发布的API以各种方式来消费信息410。在一个实施例中,这可通过
基于URL的查询指定来实现,然而,可采用作出数据请求425的任何协议。
就此,基于数据请求425,通常返回数据结果435,例如结果集。

图6是示出响应于数据请求来推断语义信息的示例性非限制性动作的框
图。就此,除了图5的返回结果435以外、或在图5的返回结果435之前,图
6示出语义推断组件430可基于数据请求425来对样本结果445进行操作。推
断组件430的输出可以是扩充的语义信息和更新的规则,扩充的语义信息描述
来自信息410的有关信息,而更新的规则用于作出在描述性或直观的使用方面
有所改进的未来数据请求455。更新的语义和规则455也可分开执行。

图7是示出发布者验证所推断的信息的示例性非限制性动作的框图。在一
个实施例中,一旦确定了辅助语义,就可将验证推断请求480发送给发布者400
的有关发布实体。例如,如果发布实体确认推断490,则语义可在相关的所发
布的数据集顶部被更新。

图8是示出基于自动更新的访问API的更富有的未来数据请求的示例性非
限制性动作的框图。除了由推断引擎提供辅助语义之外,如所提及的,也可改
进访问API本身。使用更丰富的数据请求465和改进的数据集语义,先前不相
关的数据集可通过联结、过滤、合并、为查询提供更大的数据池的操作而被相
关。对表进行几何或指数合并的能力随着时间在创建强大的集中式(且大量的)
知识体系方面是有力的,该知识体系描述一应俱全的所有东西,其中针对它们
的查询可被运行,并且相关引擎可发现与人类有关的可能有用的新东西。作为
在来自任何平台的作为服务的信息的消费或数据分析侧的推断工具的潜在能
力的示例,因为先前不相关的项可能由于推断的力量而最终变成可能相关,所
以在健康的上下文中,可能发现两个疾病是相关的,从而导致共同的治疗努力。

随时间的自描述(即,随着下一查询到来并形成另一组规则)导致一组自
适应的查询API。如所提及的,发生的推断可根据用于推断随时间自描述的数
据的一组分层方式而发生,例如,作出推断的尝试的分层结构,从数据类型的
分析,到加权的匹配/映射技术,到列名称的分析,到发布者类型的分析,到所
有其他东西失败时的人类干预等等,从而建立如何推断样本查询结果表示什么
的分层顺序。

用于作为服务的信息的补充上下文

以下描述包含关于潜在非限制性基础结构、体系结构和/或相关联服务的补
充上下文,以进一步帮助理解以上实施例中的一个或多个。在此章节中描述的
任何附加特征中的任一个或多个可被纳入到以上针对来自任何平台的作为服
务的信息就更新数据集语义和相对应的访问API描述的实施例中的任一个或多
个中。虽然实施例或特征的此类组合是可能的,但是为了避免质疑,在本公开
中所阐述的实施例不应当被理解为对本文中所描述的任何其他实施例进行限
制。

作为一些附加背景,现今,虽然可通过诸如因特网之类的网络获得信息,
但是现今的供应倾向于在访问和框架上的专有,并由此在第三方提供者参与方
面进行限制。例如,目前,没有足够的企业模型来供商业内容提供者以不放弃
此类商业内容的至少一些价值的方式来发布其数据,并且由此在历史上,有价
值的内容的所有者倾向于通过有限的专有手段来展示其内容。或者,在其中此
类内容的存储由安全云存储提供者提供的情形中,当消费者必需在数千个表中
进行跋涉来潜在地找到感兴趣的项目时,单独存储中存在很少的价值。另外,
甚至在云存储提供者尝试从各个提供者收集数据的情形中,最好此类提供者可
包括适度、较小或不完全的数据目录。

大部分此区域中潜在增长的受阻是处理和IP(例如,版权)上的不信任的
结果。简言之,大人物不信任具有王冠上的宝石(crown jewels)的云供应商,
因为单次损害会使数据的价值消亡。另外,此类云供应商至今相对于出于其信
息需要希望从这样的数据中提取值的信息工作者处于弱势,并且另外,由于这
样的系统的专有特性,开发者迄今具有的扩展用于开发信息能力的工具的能力
有限。

因此,以上针对一个或多个实施例描述的,提供了用于作为服务的信息的基
础结构,其容纳所有个体类:发布者、开发者、信息工作者、和消费者。基础
结构实现信息发现,例如,用于发现、获取、和消费结构化和团块数据集以加
强任何平台上的任何应用和任何形状因子(例如,任何屏幕大小)的能力。该
基础结构还实现经纪业务,例如,伙伴驱动的生态系统和全球到达(global 
reach),用以向开发者和信息工作者递送数据和功能。基础结构还允许分析学
和报告,例如,单个点击分析,以用公共数据来增大私有数据。在这点上,由
于基础结构的各种实现的开放特性,任何应用开发者可开发移动、云、和/或桌
面应用,以促进数据的发布、处理、查询和/或检索。

为了编写应用,人们可注册帐户信息(例如,用Live ID登录)并被提供
藉由其来经由结构化和实时web服务访问“团块”的帐户密钥,该结构化和实
时web服务是针对本文中关于一个或多个实施例描述的作为服务的信息的基础
结构启用的。在一个方面,开发者可在编码开始之前视觉地探索API。例如,
服务资源管理器模块或模块组可被开发者用来视觉地构建代表性状态传输
(REST)API查询,并根据各种包来预览内容,这些包诸如但不限于可扩展标
记语言(XML)、ATOM、RAW(用于团块和实时内容)、或者按表视图(例如,
用于结构化数据)。例如,开发者仅仅提供他或她的帐户密钥,并选择来预览
内容。

因此,开发者可在任何平台上构建移动、桌面或服务应用。虽然所得到的
REST查询可被拷贝到新的开发者应用,作为服务的信息的基础结构还实现这
样的能力:该能力是用于消耗自动生成的C#代理类以排除任何创建本地对象模
型或者生成和理解XML或web服务代码的细节的需要。在这点上,在另一非
限制性的有益方面,开发者可下载代理类,并将它们包括在开发者的应用中以
通过少至几行代码来消耗服务数据。

在这点上,作为服务的信息的基础结构的各个实施例允许开发者和信息工
作者即时地、周期性地、或在由应用开发者所指定的某一其他时间函数上寻找、
获取、和消耗其应用和分析情景中的数据。如所提及的,开发者获得帐户密钥,
该帐户密钥随后伴随对网络服务的web服务调用,从而使得如本文中关于一个
或多个实施例所描述的作为服务的信息能够进行内容请求以及订阅感兴趣的
内容。

因而,在一个方面,由本文中关于一个或多个实施例所描述的作为服务的
信息的基础结构所提供的帐户密钥是开发者的私有密钥。此密钥使得能够对结
合开发者的应用来使用的内容进行记账和报告。由此,此私有开发者密钥应当
不打算被进行共享,并且应当采取确保密钥安全的预防措施,其中开发在移动
或桌面解决方案上运行的本机应用并计划结合密钥作为部署的部分。例如,密
码存储可被用来确保密钥未被破解。

除了被用于跟踪消耗内容的应用的帐户密钥之外,唯一性用户ID是全局
唯一性标识符(GUID),其表示开发者的个体用户。此字段允许对内容进行记
账,其是按程序以每个用户为基础进行收费的。例如,如果开发者开发移动应
用,且个体用户消费该应用,开发者在每次代表该个体用户作出请求时应当返
回相同的GUID。然而,如果开发者开发web门户,并代表各个用户发出web
服务请求,则由开发者向访问门户的每个唯一性用户来指派新的GUID。例如,
每个注册用户可被指派GUID或者每个IP地址/端口组合指派唯一性用户ID
GUID等。

虽然可在任何平台上构建REST API来从如对本文中的一个或多个实施例
描述的作为服务的信息的基础结构消费内容,在一个实施例中,可通过C#为服
务动态生成代理类。达成此目的是下载目标模型、将它们添加到当前开发者项
目、以及更新帐户和唯一性用户值的问题。

如果开发者想要手动发出请求,以下提供了一示例,但是对于任何服务,
可使用预览功能,或者也可调用从服务资源管理器创建的URL。以下例示了对
样本数据集的示例性非限制性REST请求。注意:一些或全部调用会是安全套
接字层(SSL)安全的。

https://api.sqlazureservices.com/UnService.svc/UNESCO(120)

在请求的头部中放置了$accountKey和$uniqueUserId元素,例如,其看起
来如下:

$accountKey={开发者帐户密钥}

$uniqueUserID={表示唯一用户的GUID}

$accountKey中的值表示开发者的帐户密钥——在帐户标签中找到,而
$uniqueUserID中的值表示访问服务的唯一用户的GUID。

因此,如对本文中的一个或多个实施例描述的作为服务的信息的基础结构
是新的服务或框架,其允许开发者和信息工作者简单地发现、购买、和管理任
何平台中的优质(premium)数据订阅。基础结构是信息市场,其将来自领先
商业数据提供者和权威公共数据源以及非权威发布者的数据、图像和实时web
服务一起带入单个或多个位置,这些位置在公共供应和记账框架下是统一的。
另外,开发者和信息工作者可基本上通过任何平台、应用或业务工作流来消费
此优质内容。

用于使用本文中关于一个或多个实施例描述的作为服务的信息的基础结
构的一些示例性非限制性的情景包括:(a)找到对于消费者和商业情景的下一
代“杀手应用”的优质内容,(b)发现并许可有价值数据,以改进现有应用或
报告,(c)以创新方式将不同数据集集合在一起,以获得对业务性能和过程的
新了解,例如,聚集算法;(d)针对团块、结构化和实时web服务,即时并可
视地探索跨所有内容提供者的API,以及(e)消耗现有应用和数据库系统(诸
如现有文字处理、电子表格、数据库查询系统等)内的第三方数据,以进行丰
富的报告和分析。

对于开发者而言,益处包括:(a)试用订阅允许在没有支付数据使用费的
情况下调查内容并开发应用,(b)简单的交易和订阅模型,允许对数百万美元
的数据集进行“现用现付(pay as you go or grow)”访问,(c)跨数据集的一
致的基于REST的API促进任何平台上的开发,(d)视觉地构建和探索API,
预览结果;以及(e)自动C#代理类提供即时对象模型并排除编写冗长XML和
web服务代码的需要。

对于信息工作者而言,益处包括:(a)与PowerPivot整合,以便容易地与
现有电子表格软件中的数据一起工作,该现有电子表格软件诸如但不限于
Excel;(b)用于获得内容的简单、可预测的许可模型;以及(c)用于从SQL
服务器、SQL Azure数据库、以及其他预先存在的资产消费数据的能力。

对于内容伙伴而言,益处包括:(a)不管团块数据、结构化数据、或动态
web服务的容易的发布和板上过程,(b)开发者例如经由Visual Studio和.NET
或其他运行时系统开发来对所选平台进行加工以使得开发变得容易,(c)将开
发者内容向全局开发者和信息工作者社区展示,(d)预先存在的内容消费应用
内的内容发现和整合,以及(e)可缩放云计算平台代表所有方处理存储、递送、
记账和报告。

在本文中关于一个或多个实施例描述的作为服务的信息的基础结构的非
限制性实现中,丰富的web服务的一些特征包括:(a)用于消费整个内容目录
上的服务的安全的、基于REST的模型,(b)构建到API中以简化访问的动态
分页,(c)标准ATOM 1.0订阅源对大多数服务可用,以及(d)跨所有服务上的
一致的记账、供应和使用报告。

在本文中关于一个或多个实施例描述的作为服务的信息的基础结构的非
限制性实现中,服务资源管理器组件的一些特征包括:(a)C#代理类,其被生
成来简化开发,(b)对表格形式的数据进行预览并且作为诸如ATOM 1.0订阅
源(若支持)之类的订阅源,(c)对服务的调用,用来理解经编译的服务调用
返回的结果,(d)对文档以及每个参数的样本值的发现,以及(e)对服务调用的
视觉构建的URL的即时拷贝到剪贴板以使开发变得容易。

在本文中关于一个或多个实施例描述的作为服务的信息的基础结构的非
限制性实现中,市场整合和发现门户组件的一些特征包括:(a)跨包括消费者
和企业的域的新数据的发现,(b)对服务订阅和使用限制的管理,(c)对用于访
问服务的帐户密钥的管理,以及(d)详细的访问报告,包含按日期和按帐户密
钥访问、编组的服务/数据集。

基础结构向内容提供者、应用开发者/ISV以及向信息工作者和其他消费者
/订户提供各种有价值的建议。对于内容所有者,除针对不对数据进行收费但以
其他方式从此类数据的发布得到益处的数据提供者的社会效益之外,基础结构
(为对数据进行收费的数据提供者)实现从数据进行货币化。由于基础结构的
开放性,内容提供者享受数据对于ISV和消费者/信息工作者的更大的可用性以
及抵达性,并且所有这些都是以较低的代价得到的,尤其是通过如过去一样开
发专有模型。

对于应用开发者/ISV,基础结构实现以一致的格式访问数据、用于数据访
问的可变且低成本定价模型、可预测定价、来自采用使用数据构建的应用的消
费者/IW的得益潜力、通过任何平台和单个记账和数据源的对消费者的更广抵
达。

对于信息工作者/消费者,基础结构实现来自除单个记账和数据源之外的应
用、对当前较大对象(LOB)或IW软件中的数据的消耗、用于数据访问的可
变和低成本定价模型的附加的价值。

因此,基础结构通过鼓励数据所有者经由基础结构存储其数据来用潜在相
当可观的收入上升解决当前消费者和开发者痛点,创建附带有用于建模、报告、
分析和趋向的即时数据的唯一性企业智能机会,以及创建对任何平台的采纳和
附着,由此鉴别基础结构的有价值的建议(在与常规云存储环境相比时)。

如图9的流程图中所示的,在900,本文所描述的是供内容所有者或发布
者来经由基础结构发布数据的各种方式。在910,存在允许开发者开发用于经
由基础结构消费数据的应用的各种工具。在920,消费者或信息工作者使用应
用或者可直接对数据进行查询以消费数据。最后,在930,该基础结构提供丰
富的各种工具,这些工具代表由事务模型启用的内容链中的所有各方来启用自
动管理、审计、记账等。

在这点上,该基础结构中的一些关键方包括数据所有者、应用开发者/ISV、
和消费者/信息工作者。一般而言,数据所有者是希望对数据收费的实体,或者
出于其他原因想要免费提供数据或对数据实施其他条件的实体。进而,应用开
发者/ISV是希望对其应用进行货币化(例如,通过广告、直接支付、间接支付
等)或出于一些利益原因向这些实体免费提供其应用的实体。信息工作者和消
费者是可使用原始数据的那些人,或者是希望使用由应用开发者提供的应用的
那些人。

图10是一般地示出可参与到提供本文所描述的作为服务的信息的生态系
统中的各方的框图。例如,取决于数据的敏感性或其他特性,一组网络可访问信
息服务1000提供对各种可信或不可信的数据存储1010的访问。如图所示,因而,
数据存储1012、1014、……、1016是什么类型不是那么重要的,因为生态系
统支持任何种类的数据、团块、结构化、非结构化等。如所提及的,该系统包
括将数据添加到生态系统的发布者1020,消费数据的订阅者1030,以及通过
其应用帮助消费数据的应用开发者或提供者1050。访问信息生成器1070也可
通过维护或实施帐户信息、密钥信息等来管理各方对数据的访问。在这点上,
内容所有者1060可横跨任意角色,因为内容所有者1060也可以是发布者1020、
订阅者1030、和/或应用开发者。在一个方面,所有各方的公共基础结构启用
对该基础结构上发生的数据事务的管理1065、审计1075、记账1075以及其他
所需辅助服务。

在这点上,用于实现来自任何平台的作为服务的信息的用户友好数据平台
的各个实施例是用于使得数据的消费者(IW、开发者、ISV)和数据的消费者
能以简单、成本高效和方便的方式进行处理的基础结构。基础结构以负担得起
的方式民主化(democratize)优质(私有)和社区(公共)数据,以允许IW
将快速洞悉,允许开发者以创造性的方式使用多个数据源构建革新应用,并使
得开发者能够对其在任何平台上的努力进行货币化。例如,该基础结构支持按
使用付费以及对内容的订阅定价、对内容付费(“零售价”——由内容所有者
设置)、支付数据费(“运送和处理”)和BW、并还支持作为按照以每次逻
辑事务为基础(每个报告、每个API、每次下载等)的佣金费用的数据费。

对于信息工作者(例如,Office、SQL Server(SQL服务器)、Dynamics
用户),该基础结构支持订阅以允许将来的EA整合以及可预测的花费需要(以
及高速缓存以支持场所内和场所外BI以及“HPC”工作负载)。因而,替换方
案包括每用户每月定价的内容;其可以被捆绑或可以不被捆绑来递送内容包,
或者按事务定价,例如允许云报告/业务智能按需定价,以在允许按使用定价、
或经由报告图库的垂直应用同时消除移动大量数据的需要。

对于内容提供者(任何数据类型;任何云),在使用任何平台的情况下,
该基础结构变成有价值的建议,以激励任何特定所需平台内的销售;在没有附
加代价下的自动缩放的、较高水平的SLA概率。对于一些非限制性示例,数据
可以是安全的,并且可以是以下域中的相关联数据:位置知晓服务和数据、商
业和住宅房地产、财务数据和服务等。非限制性情景可包括将数据递送到排名
前30的非政府组织(NGO)数据集。另外,该基础结构可包括通过“用于作
为服务的信息的Bing(必应)”、HPC等来突出展示BI和可视化的能力。也
存在垂直应用机会。

在一个非限制性实施例中,可将数据佣金与常规实体策略作类比:例如,
容量可被表示为货架空间(例如,结构化和非结构化/团块数据的混合)、货物
的成本(COGS)可被表示为平方英尺、(SA、平台依赖性、带宽)且内容可
被表示为商品(例如,优化内容提供者以偿付COGS、最大化来自IW和开发
者的利润)。在各个实施例中,入伙(onboarding)过程可使用数据和服务的
质量条以及接纳服务级协议(SLA)来实现。

图11是以上根据一个或多个特征描述的作为服务的信息的基础结构1110
的示例性非限制性实现。交互侧是可经由基于SSL/REST的API 1106与该基础
结构通信的信息工作者1100、开发者1102和消费者1104。负载平衡器1108
可被用来以最优方式帮助操纵通信量。在这点上,输入被路由至门户web角色
1120或API web角色1122。从基础结构1110到数据侧是用于访问云存储框架
1140的团块数据集1142或团块数据集1155或用于访问关系数据库框架1150
的数据集1152或数据集1154的附加负载平衡1124或1126(例如,WA或SA)。
代理层1128可被用来访问第三方云1160的数据1162或数据1164。在适用时,
内容数据抽象层(DAL)1130可被用于访问内容。在这点上,可以有跨不同类
型的存储的数据集的复制或重叠,例如,相同数据可被表示为团块数据和结构
化数据,例如,SQL。

作为对数据的补充服务,记账和发现服务1170可包括在线记账1172(例
如,MOCP)或发现服务1174(例如,定位),并且认证服务1180可包括凭
证管理1182(例如,Live ID)或内容认证1184,例如,经认证的内容服务(ACS)。
帐户服务1190可包括记录/审计服务1186或帐户管理1188。管理和运营服务
1192可包括运营控制板服务1194和网络运营服务1196,例如Gomez。

图12是示出根据用于启用作为服务的信息的一般基础结构的一个或多个
实施例的从数据到数据的消费者的示例性端到端流的框图。例如,作为服务的
信息1200可包括商用数据1202和免费数据1204,其可以是各种为了营利性开
发者1210、具有非营利动机的非营利性开发者1212以及一般出于生产目的而
对消费数据感兴趣的其他信息工作者1214所感兴趣的。这些实体可使用发现
服务1220来确定什么应用1222、1224、……、1226可能是他们所感兴趣的,
以及最终将数据传送给ILA消费者1230和DLA消费者1232。

开放数据协议

本领域的技术人员可以理解,网络交互和信息服务可以用各种计算机系统
配置和协议来实施。在这点上,可在本文中所描述的一个或多个实施例中使用
的用于查询和更新数据的一种非限制性实现是开放数据协议(OData)。

OData是用于查询和更新数据的web协议。OData应用诸如超文本传输协
议(HTTP)、原子发布协议(AtomPub)和JavaScript对象符号(JSON)之类
的web技术,以提供从各种应用、服务和存储访问信息。对于一些通用的背景,
OData是基于过去几年里在各种产品中实现AtomPub客户机和服务器的经验来
有机地出现的。Odata可被用于从各个源展示和访问信息,这些源包括但不限
于关系数据库、文件系统、内容管理系统、和传统web站点。已在开放规范承
诺下发布了OData,以允许任何人来与OData实现自由地交互操作,以便鼓励
生态系统的成长。也可将Odata的特征结合到其他协议,以形成具有用于查询
和更新网络数据的类似功能的混合协议。

OData与web工作的方式相一致。在一个方面,OData使用统一资源标识
符(URI)来作为标识资源的方式,并使用HTTP中心协议,该协议具有用于
与那些资源交互的统一接口,例如,类似于因特网工作的方式。在一个非限制
性方面,在由AtomPub普及的HTTP上的规约之上构建OData,这简化了跨独
立开发的系统共享数据、内容和信息的过程。OData定义附加规约,诸实现可
任选地实现这些附加规约来支持基本查询和要交换的模式信息。为了简化与
HTML和JavaScript客户机的整合,OData定义补充基于XML的AtomPub格
式的协议的任选JSON表示。如可以理解的,可在www.odata.org上找到关于
OData协议的附加实现细节或其他详细情况。

示例性联网以及分布式环境

本领域普通技术人员可以理解,此处所描述的用于来自任何平台的作为服
务的信息的基础结构的方法和设备的各个实施例以及相关实施例可以结合任
何计算机或其它客户端或服务器设备来实现,该任何计算机或其它客户端或服
务器设备可作为计算机网络的一部分来部署或者被部署在分布式计算环境中,
并且可以连接到任何种类的数据存储。在这一点上,此处描述的各实施例可在
具有任何数量的存储器或存储单元的、并且任何数量的应用和进程跨任何数量
的存储单元发生的任何计算机系统或环境中实现。这包括但不限于具有部署在
具有远程或本地存储的网络环境或分布式计算环境中的服务器计算机和客户
机计算机的环境。

附图13提供了示例性联网或分布式计算环境的非限制性性示意图。该分
布式计算环境包括计算对象或设备1310、1312等以及计算对象或设备1320、
1322、1324、1326、1328等,这些计算对象或设备可包括如由应用1330、1332、
1334、1336、1338表示的程序、方法、数据存储、可编程逻辑等。可以明白,
计算对象或设备1310、1312等以及计算对象或设备1320、1322、1324、1326、
1328等可包括不同的设备,诸如PDA、音频/视频设备、移动电话、MP3播放
器、膝上型计算机等。

每一计算对象或设备1310、1312等以及计算对象或设备1320、1322、1324、
1326、1328等可经由通信网络1340或者直接或间接地与一个或多个其他计算
对象或设备1312、1320等以及计算对象或设备1320、1322、1324、1326、1328
等通信。即使在图13中被示为单个元件,但网络1340也可包括向图13的系
统提供服务的其他计算对象或计算设备,和/或可表示未示出的多个互连网络。
每一计算对象或设备1310、1312等或1320、1322、1324、1326、1328等还可
包含诸如应用1330、1332、1334、1336、1338之类的应用,该应用可利用API
或适用于与根据各实施例提供的来自任何平台的作为服务的信息的基础结构
进行通信或实现这种基础结构的其他对象、软件、固件和/或硬件。

存在支持分布式计算环境的各种系统、组件和网络配置。例如,计算系统
可由有线或无线系统、本地网络或广泛分布的网络连接在一起。当前,许多网
络被耦合至因特网,后者为广泛分布的计算提供了基础结构并包含许多不同的
网络,但任何网络基础结构可用于变得与如各实施例中所描述的技术相关联的
示例性通信。

由此,可使用诸如客户机/服务器、对等、或混合体系结构之类的网络拓扑
结构和网络基础结构的主机。在客户机/服务器体系结构中,尤其在联网系统中,
客户机通常是访问另一计算机(例如,服务器)所提供的共享网络资源的计算
机。在附图13的图示中,作为非限制性示例,计算对象或设备1320、1322、
1324、1326、1328等可被认为是客户机,而计算对象或设备1310、1312等可
被认为是服务器,其中计算对象或设备1310、1312等提供数据服务,诸如从
计算对象或设备1320、1322、1324、1326、1328等接收数据;存储数据;处
理数据;向计算对象或设备1320、1322、1324、1326、1328传送数据等,但
任何计算机都可取决于环境而被认为是客户机、服务器、或两者。这些计算设
备中的任一个可以处理数据,或请求可指示如此处参考一个或多个实施例描述
的来自任何平台的作为服务的信息的基础结构以及相关技术的服务或任务。

服务器通常是可通过诸如因特网或无线网络基础结构之类的远程网络或
本地网络访问的远程计算机系统。客户机进程可在第一计算机系统中活动,而
服务器进程可在第二计算机系统中活动,它们通过通信介质相互通信,由此提
供分布式功能并允许多个客户机利用服务器的信息收集能力。按照用户剖析来
利用的任何软件对象可以独立地提供或跨多个计算设备或对象分布。

例如,在其中通信网络/总线1340是因特网的网络环境中,计算对象或设
备1310、1312等可以是计算对象或设备1320、1322、1324、1326、1328等经
由诸如HTTP等多种已知协议中的任一种与其通信的web服务器。如所提及的,
计算对象或设备1310、1312等还可用作计算对象或设备1320、1322、1324、1326、
1328等,或者相反,这可以是分布式计算环境的特性。

示例性计算设备

如所提到的那样,此处描述的各实施例适用于其中可能期望实现来自任何
平台的作为服务的信息的基础结构的一个或多个部分的任何设备。因此,应当
理解,构思了结合此处描述的各实施例使用的手持式、便携式和其它计算设备
和计算对象,即在设备可以结合来自任何平台的作为服务的信息的基础结构来
提供某些功能的任何地方。因此,在下面的图14中描述的以下通用远程计算
机仅是一个示例,且所公开的主题的各实施例可以用具有网络/总线互操作性和
交互的任何客户机来实现。

尽管并不是必需的,但各实施例的任意一个可以部分地经由操作系统来实
现,以供设备或对象的服务开发者使用,和/或被包括在结合可操作组件来操作
的应用软件中。软件可以在由诸如客户端工作站、服务器或其它设备等一个或
多个计算机执行的诸如程序模块等计算机可执行指令的通用上下文中描述。本
领域的技术人员可以理解,网络交互可以用各种计算机系统配置和协议来实
施。

因此,图14示出了其中可实现一个或多个实施例的合适的计算系统环境
1400的一个示例,但是上面已经弄清楚,计算系统环境1400仅为合适的计算
环境的一个示例,并且不旨在对各实施例中的任意一个的使用范围或功能提出
任何限制。也不应该将计算环境1400解释为对示例性操作环境1400中示出的
任一组件或其组合有任何依赖性或要求。

参考图14,用于实现此处的一个或多个实施例的示例性远程设备可以包括
手持式计算机1410形式的通用计算设备。手持式计算机1410的组件可以包括
但不限于:处理单元1420、系统存储器1430和将包括系统存储器在内的各种
系统组件耦合至处理单元1420的系统总线1421。

计算机1410通常包括各种计算机可读介质,并且可以是可由计算机1410
访问的任何可用介质。系统存储器1430可包括诸如只读存储器(ROM)和/或
随机存取存储器(RAM)之类的易失性和/或非易失性存储器形式的计算机存
储介质。作为示例而非限制性,存储器1430还可以包括操作系统、应用程序、
其他程序模块、和程序数据。

用户可以通过输入设备1440向计算机1410输入命令和信息。监视器或其
他类型的显示设备也经由诸如输出接口1450之类的接口连接到系统总线1421。
除监视器之外,计算机还可以包括其他外围输出设备,如扬声器和打印机,它
们可以通过输出接口1450连接。

计算机1410可使用到一个或多个其他远程计算机(诸如远程计算机1470)
的逻辑连接在联网或分布式环境中操作。远程计算机1470可以是个人计算机、
服务器、路由器、网络PC、对等设备或其他常见网络节点、或者任何其他远程
媒体消费或传输设备,并且可包括以上关于计算机1410所述的任何或全部元
件。图14所示的逻辑连接包括诸如局域网(LAN)或广域网(WAN)之类的
网络1471,但也可包括其他网络/总线。这些联网环境在家庭、办公室、企业
范围的计算机网络、内联网和因特网中是常见的。

如上所述,虽然结合各计算设备、网络和广告体系结构描述了示例性实施
例,但还可将底层概念应用于其中想要结合与云或网络服务的交互来发布、构
建应用或消费数据的任何网络系统和任何计算设备或系统。

有多种实现此处描述的一个或多个实施例的方式,例如,使应用和服务能
使用来自任何平台的作为服务的信息的基础结构的适当API、工具包、驱动程
序代码、操作系统、控件、独立或可下载的软件对象等等。可以从API(或其
他软件对象)的观点以及从便于提供根据所描述的实施例中的一个或多个的来
自任何平台的作为服务的信息的基础结构的软件或硬件对象来构想各实施例。
此处描述的各种实现和实施例可以具有完全采用硬件、部分采用硬件并且部分
采用软件、以及采用软件的方面。

本文中所使用的词语“示例性”意味着用作示例、实例、或说明。为避免
疑惑,本文所公开的主题不限于这些示例。另外,本文中被描述为“示例性”
的任何方面或设计不一定被解释为比其他方面或设计更优选或有利,它也不意
味着排除本领域普通技术人员已知的等效示例性结构和技术。而且,就术语“包
括”、“具有”、“包含”和其他类似的词语在详细描述或权利要求书中的使
用而言,为避免疑惑,这样的术语旨在以类似于术语包括摂作为开放的过渡词
的方式解释而不排除任何附加或其他元素。

如所述的,此处所述的各种技术可结合硬件或软件或,在适当时,以两者
的组合来实现。如此处所使用的,术语“组件”、“系统”等同样旨在指计算
机相关实体,或者是硬件、硬件和软件的组合、软件或者是执行中的软件。例
如,组件可以是,但不限于是,在处理器上运行的进程、处理器、对象、可执
行码、执行的线程、程序和/或计算机。作为说明,在计算机上运行的应用和计
算机都可以是组件。一个或多个组件可以驻留在进程和/或执行线程中,并且组
件可以位于一个计算机内和/或分布在两个或更多计算机之间。

如前所述的系统已经参考若干组件之间的交互来描述。可以理解,这些系
统和组件可包括组件或指定的子组件、某些指定的组件或子组件和/或附加的组
件,并且根据上述内容的各种置换和组合。子组件还可作为通信地耦合到其他
组件的组件来实现,而不是被包括在父组件内(层次性)。另外,应该注意,
一个或多个组件也可以合并到提供聚合功能的单一组件中,或者也可以分成多
个单独的子组件,并且,可以提供诸如管理层之类的任何一个或更多中间层,
以可通信地耦合到这样的子组件,以便提供集成的功能。此处所述的任何组件
也可与一个或多个此处未专门描述的但本领域技术人员一般已知的其他组件
进行交互。

考虑到以上描述的示例性系统,参考各附图的流程图将可以更好地理解根
据所公开的主题实现的方法。尽管为了说明简洁起见,按照一系列框示出和描
述了方法,但是,应该理解和知道,所要求保护的主题不限于框的顺序,因为
一些框可以按与此处所描绘和描述的不同的顺序进行和/或与其他框并发地进
行。尽管经由流程图示出了非顺序或分支的流程,但可以理解,可实现达到相
同或类似结果的各种其他分支、流程路径和框的次序。此外,并非全部所示的
框都是实现下面所述的方法所必需的。

虽然在某些实施例中示出了客户机侧观点,但要出于避免对存在相对应的
服务器观点的疑问来理解,反之亦然。类似地,在实施一方法时,可以提供具
有存储和被配置成经由一个或多个组件实施该方法的至少一个处理器的相对
应的设备。

尽管结合各附图的优选实施例描述了各实施例,但可以理解,可以使用其
他类似的实施例,或可以对所描述的实施例进行修改和添加来执行相同的功能
而不背离本发明。而且,此处描述的各实施例的一个或多个方面可以在多个处
理芯片或设备中实现或跨多个处理芯片或设备实现,且存储可以类似地跨多个
设备来实现。因此,本发明不应限于任何单个实施例,而是应该根据所附权利
要求书的广度和范围来解释。

结合作为服务的信息的语义更新和自适应接口.pdf_第1页
第1页 / 共33页
结合作为服务的信息的语义更新和自适应接口.pdf_第2页
第2页 / 共33页
结合作为服务的信息的语义更新和自适应接口.pdf_第3页
第3页 / 共33页
点击查看更多>>
资源描述

《结合作为服务的信息的语义更新和自适应接口.pdf》由会员分享,可在线阅读,更多相关《结合作为服务的信息的语义更新和自适应接口.pdf(33页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102792301 A (43)申请公布日 2012.11.21 C N 1 0 2 7 9 2 3 0 1 A *CN102792301A* (21)申请号 201180013387.9 (22)申请日 2011.03.11 61/313,186 2010.03.12 US 12/781,963 2010.05.18 US G06F 17/40(2006.01) G06F 17/30(2006.01) G06F 15/16(2006.01) (71)申请人微软公司 地址美国华盛顿州 (72)发明人 M克斯拉维 (74)专利代理机构上海专利商标事务所有限公 司 311。

2、00 代理人范玮 (54) 发明名称 结合作为服务的信息的语义更新和自适应接 口 (57) 摘要 响应于对来自数据集的数据的请求,例如,响 应于对数据集的查询,来推断描述数据集的附加 语义信息,包括分析基于对数据的请求所提取的 结果子集以便确定附加语义信息。附加语义信息 可被发布者验证为正确的,或在概率上满足正确 性。基于附加语义信息的映射信息可随着系统学 习附加语义信息(例如,与给定列表示什么以及数 据类型表示了什么有关的信息)而维持和更新,并 且可更新未来数据请求的形式(例如,基于URL的 查询)以便更紧密地与经更新的附加语义信息相 对应。 (30)优先权数据 (85)PCT申请进入国家阶。

3、段日 2012.09.11 (86)PCT申请的申请数据 PCT/US2011/028141 2011.03.11 (87)PCT申请的公布数据 WO2011/112960 EN 2011.09.15 (51)Int.Cl. 权利要求书2页 说明书16页 附图14页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 16 页 附图 14 页 1/2页 2 1.一种用于主存数据的方法,包括: 由第一控制区域中的至少一个计算设备经由至少一个网络从第二控制区域中的至少 一个计算设备接收数据请求,该数据请求适用于由该第一控制区域中的至少一个计算设备 所存储的至少一。

4、个数据集; 响应于该数据请求,基于该数据请求从该至少一个数据集提取结果子集; 从该结果子集推断描述该至少一个数据集的附加语义信息;以及 基于该附加语义信息来形成或更新描述该至少一个数据集的标识符的映射信息。 2.如权利要求1所述的方法,其特征在于,还包括:基于该附加语义信息来更新与对该 至少一个数据集的未来数据请求相关联的语义。 3.如权利要求1所述的方法,其特征在于,所述形成或更新包括:基于该附加语义信息 来形成或更新该至少一个数据集的至少一个列名称。 4.如权利要求1所述的方法,其特征在于,所述接收包括接收适用于至少一个结构数 据集的查询。 5.如权利要求1所述的方法,其特征在于,所述提取。

5、包括提取结果子集,该结果子集是 从执行该数据请求中返回的。 6.如权利要求1所述的方法,其特征在于,所述提取包括随机地或半随机地提取结果 子集,该结果子集是从执行该数据请求中返回的。 7.如权利要求1所述的方法,其特征在于,所述提取包括提取结果子集,该结果子集是 从执行从该数据请求所导出的至少一个数据请求中返回的。 8.如权利要求1所述的方法,其特征在于,所述推断包括:从该结果子集中推断描述该 至少一个数据集的数据类型的语义信息。 9.如权利要求1所述的方法,其特征在于,所述推断包括:从该结果子集中推断描述该 子集和至少一个预定类型的数据之间的关系的语义信息。 10.如权利要求1所述的方法,其。

6、特征在于,所述推断包括:从该结果子集中推断描述 该子集和至少一个预定类别的类型的数据之间的关系的语义信息。 11.一种用于发布数据的方法,包括: 由第一控制区域中的至少一个接收计算设备从第二控制区域中的至少一个发布计算 设备接收由该至少一个发布计算设备所发布的至少一个数据集; 分析该至少一个数据集的子集,并且推断关于该至少一个数据集的语义信息,该语义 信息与标识同该至少一个数据集的数据相关联的信息有关、或与该至少一个数据集的数据 的类型有关;以及 向该至少一个发布计算设备请求验证由所述推断进行推断的语义信息是正确的。 12.如权利要求11所述的方法,其特征在于,还包括: 响应于接收该验证,基于。

7、该语义信息来形成或更新描述该至少一个数据集的标识符的 映射信息。 13.如权利要求11所述的方法,其特征在于,还包括: 响应于接收该验证,基于该语义信息来形成或更新描述至少一个结构数据集的列的映 射信息。 14.如权利要求11所述的方法,其特征在于,还包括: 权 利 要 求 书CN 102792301 A 2/2页 3 响应于接收该验证,还包括:基于该语义信息来重新定义与对该至少一个数据集的查 询相关联的语义。 15.如权利要求11所述的方法,其特征在于,还包括: 响应于接收该验证,还包括:基于该语义信息来重新定义经由至少一个统一资源标识 符(URI)或统一资源定位符(URL)所实现的查询相关。

8、联的语义。 权 利 要 求 书CN 102792301 A 1/16页 4 结合作为服务的信息的语义更新和自适应接口 技术领域 0001 本发明涉及响应于对经由一个或多个网络可访问的一个或多个数据集进行查询, 基于一个或多个推断来更新语义和/或接口。 0002 背景 0003 作为关于一些常规系统的背景技术,计算设备在传统上已在设备本地存储了信息 以及相关联的应用和数据服务。但是,随着在线和云服务的演进,信息正越来越多地移至网 络提供者,该网络提供者代表设备来不执行服务、执行服务的一些或全部。能够存储数万亿 字节数据(且在将来潜在可能的千万亿字节、百万万亿字节数据)的网络存储场的演进创建 了在。

9、云中模拟本地场景且使主设备与外部存储分隔开的机会。 0004 然而,没有云服务或网络存储供应商能够有效地提供信息来作为任何平台上的服 务,使得出版商、开发者以及消费者能以可为跟踪并审计所涉及的所有事务的方式容易地 发布、专门研究和消费任何种类的数据。另外,当今,由于相异数目的内容提供者及其通常 用于定义数据的专有模式(其中相异的内容提供者无法彼此协调他们针对云的发布动作), 因此存在极少的利用此类相异发布动作的集体能力的机会。实际上,为了消耗吸引发布的 听众(诸如订户或开发者),两个不同的数据集看起来它们似乎具有两个不同形状即使 在存在数据或数据类型的一些或相当重叠的情形中。 0005 更具体。

10、而言,当前,由不同的各方上传数据的方式使得不同数据集的类似列(例 如,两者都表示城市)即使被命名了将具有不同的名称,这些名称可以是或不是 类似的。在任一情形中,人类介入底层数据和验证是用于确定什么样的列应当被相同或类 似地命名,或者另外确定数据的类型或列之间可能是什么样的关系的常规方式。除不能缩 放之外,这种介入底层数据对于希望保证其数据保持不变的发布者而言可能并非是合意 的对于可能被发布到云的专用数据集的主机而言亦会如此。 0006 当今设备和数据服务的上述缺点仅仅旨在提供对常规系统的一些问题的总览,并 且不旨在是穷尽性的。在仔细阅读了以下详细描述后,现有技术的其他问题和各非限制性 性实施例。

11、的对应好处可变得显而易见。 0007 概述 0008 此处提供了简化的概述以帮助能够对以下更详细的描述和附图中的示例性、非限 制性实施例的各方面有基本或大体的理解。然而,本概述并不旨在是详尽的或穷尽的。相 反,本概述的唯一目的在于,以简化的形式提出与一些示例性、非限制性实施例相关的一些 概念,作为以下各实施例的更详细的描述的序言。 0009 可结合来自任何平台的作为服务的信息,将各种数据集存储在云中,而经由查询 API(例如,基于统一资源标识符(URI)的查询)进行程序性访问。当对数据执行越来越多 的查询时,描述数据集的API和语义是随着系统学习和自描述其存储的数据(如所发布的 那样)而按演进。

12、方式自适应的,从而提供额外机会来推断与数据集有关的信息。 0010 可以响应于对来自数据集的数据的请求(例如,响应于对数据集的查询)来推断描 述数据集的附加语义信息,包括分析基于对数据的请求所提取的结果子集以便确定附加语 说 明 书CN 102792301 A 2/16页 5 义信息。附加语义信息可由发布者验证为正确的,或在概率上满足正确性。基于附加语义 信息的映射信息可随着系统学习附加语义信息(例如,与给定列表示什么以及数据类型曾 表示什么有关的信息)而维持和更新,并且可更新未来数据请求的形式(例如,基于URL的查 询)以便与经更新的附加语义信息更紧密地对应。 0011 以下更详细地描述其他。

13、实施例和各非限制性示例、场景和实现。 0012 附图简述 0013 参考附图进一步描述各非限制性实施例,在附图中: 0014 图1是示出用于更新映射信息的示例性非限制性实施例的流程图,该映射信息与 从任何平台提供的作为服务的信息相关联; 0015 图2是示出用于结合从任何平台提供的作为服务的信息来请求发布者对所推断 的语义进行验证的示例性非限制性实施例的流程图; 0016 图3是示出用于更新与从任何平台提供的作为服务的信息相关联的数据请求API 的示例性非限制性实施例的流程图; 0017 图4是结合从任何平台提供的作为服务的信息的实施例、示出由发布者进行发布 的示例性非限制性动作的框图; 00。

14、18 图5是结合从任何平台提供的作为服务的信息的实施例、示出由开发者或其他消 费者从所发布的数据集请求数据的示例性非限制性动作的框图; 0019 图6是结合从任何平台提供的作为服务的信息的实施例、示出响应于数据请求来 推断语义信息的示例性非限制性动作的框图; 0020 图7是结合从任何平台提供的作为服务的信息的实施例、示出由发布者验证所推 断的信息的示例性非限制性动作的框图; 0021 图8是结合从任何平台提供的作为服务的信息的实施例、示出基于自动更新的访 问API的更丰富的未来数据请求的示例性非限制性动作的框图; 0022 图9是示出用于从任何平台提供的作为服务的信息的非限制性基础结构的示例。

15、 性序列的流程图; 0023 图10是示出用于从任何平台提供的作为服务的信息的示例性非限制性基础结构 的框图; 0024 图11是示出用于从任何平台提供的作为服务的信息的基础结构的实现具体细节 的示例性非限制性集合的框图; 0025 图12例示来自用于从任何平台提供的作为服务的信息的示例性基础结构的示例 性数据消费; 0026 图13是表示其中可实现在此处所述的各个实施例的示例性、非限制性联网环境 的框图;以及 0027 图14是表示其中可实现此处所述的各个实施例的一个或多个方面的示例性、非 限制性计算系统或操作环境的框图。 0028 详细描述 0029 概览 0030 如背景技术中所讨论的,。

16、提供不同的数据集的不同的内容提供者通常就其数据集 中所表示的信息或数据类型的可能的重叠不进行协调,因为他们通常不知晓彼此的数据 说 明 书CN 102792301 A 3/16页 6 集,或者没有这样做的任何特定动机。在这样的信息服务中:其中在发布之后由存储实体 提供的保证之一是对底层数据集没有干扰,使得所发布的数据保持未被更改,当前,除了通 过自定义应用的内部知识和开发以外,在开发者或消费侧不存在利用这样的集体能力的方 式。 0031 例如,内容提供者A可发布包括关于纬度、经度、以及对应的犯罪率的列的表,例 如,列名为lat(纬度)、long(经度)、和cri_rate(犯罪_率)。内容提供。

17、者B可发布城市 的电影院信息,且x和y坐标对应于纬度和经度,除了城市的列可替代地被称为“名称”,例 如列名为_theatre(电影院)、_Name(名称)、_x和_y。因此,消费侧上的任何常规装置不 知晓的是,通过联结两个集合(其中数据本身不能在存储侧被检测,除非没有发布者所持有 的正确访问许可),实际上可确定城市中具有最低犯罪率的电影院,因为不同列的语义含义 仍是难懂的。 0032 因而,期望确定_x和_y为纬度和经度,_Name意味着城市名称,而_theatre指的 是电影院名称。随后,查询两个数据集的人可根据适当的查询以明智的方式联结表,以便返 回与电影院附近的犯罪率有关的有用数据在没有。

18、这些信息的情况下不能被辨别的信 息。尽管常规上这一工作可通过在服务器侧直接在幕后检测数据集来手工完成,其中数据 有效地在服务器侧不可见,例如,因为开发者可基于某些特权仅对数据执行某些类型的查 询,但是执行这样的相关联结的人当前会有困惑。 0033 因此,在各种非限制性实施例中,基于开发者对数据集的实际(准许的)查询,可以 检测或部分地检测这些查询的结果、或基于根据这些查询的自动查询的结果,以便作出与 数据有关的某些推断,并且随后用所学习的语义信息来扩充数据集,从而不仅通过提供先 前被认为表示不同的数据/类型的列之间的映射来改进联结的潜力,而且用于查询的语言 可基于这一知识来更新以便有助于更具描。

19、述性和逻辑的查询。因此,为查询所使用的语言 也适应于这样的推断,以便有助于更清楚、更有表现力且直观的句法以供作出这样的数据 请求。就此,根据各实施例,这些对信息的网络请求(例如查询)在联结、过滤、合并等的功效 和能力以及便于使用方面进行自适应地改进。 0034 下面提供这些和其他各示例性、非限制性实施例和场景的进一步细节。 0035 结合作为服务的信息来更新数据集语义和访问API 0036 如所提及的,在作为服务的信息的上下文中,存在可在数据集中表示的有限数目 个事物(电话号码、城市代码、地址、城市、州、邮政编码等),其可或者从列的名称推断或者 通过对数据本身(例如,前1000个事物)进行加权。

20、匹配算法来推断。对于重要数据,虽然人 类开始针对大量数据分类数据,但是此类常规人类分类无法良好地缩放,且如果发布者重 新发布具有不同语义的数据,则人类表征可能已过时。 0037 因此,在各个实施例中,分析从对数据集进行查询得到的随机样本,以确定是否可 推断数据的类型。例如,内容提供者例如根据专有模式来提供一组拙劣描述的数据。基于 或响应于接收到的对数据的数据请求,可从数据集提取样本集合,以应用一组算法来推断 数据的语义含义,例如基于数据中的线索或列名称、或其他列名称推断数据类型或列名称。 由于发布者通常不希望所发布的他或她的数据被更改,因此可由系统维护一组经扩充的语 义(例如,映射)来描述由系。

21、统作出的推断,例如,对于较早的示例,_x=纬度。在这点上,作 为结果,下一开发者被给予更多的关于查询此数据集的信息,在此情形中,可就具有经度列 说 明 书CN 102792301 A 4/16页 7 的其他数据集执行更多联结、过滤等,并且另外,先前包括“_x()”作为句法的部分的访问 API自身可被更新为“latitude()(纬度())”,从而使得访问API随时间进行自描述, 以进一步帮助开发者。在一个示例中,查询API经由URL来实现,例如OData,关于它的更多 信息可在下文中找到。 0038 在一个实施例中,基于已知的数据分布(诸如给定人口的年龄跨度)的加权算法可 被用来确定给定的数据。

22、或列名称集在概率上表示什么,例如,确定浮点数字集合表示年龄。 0039 以此方式,在不使得发布数据比现在更困难的情况下,可通过间接方式(例如,对 语义映射的维护)来对内容提供者实施诸如电话号码和地址之类的某些惯例。这样,鼓励 内容提供者进行发布,但是消费者仍从数据统一性的意义上获益。例如,电话号码是数字 数据的示例,其中可相对容易地如此标识数字数据,尽管存在诸如区域码括号、破折号等变 体。通过基于推断的语义映射对此表示进行标准化除了使访问API随时间适应成越来越自 描述(例如,将列“PN”重新命名为“电话号码”或更具描述性的其他东西)之外,还使得开发 者和订户对此数据的消费更容易。 0040 。

23、另外,发布者也可选择参与。虽然在上传时间不需要发布者参与,但是系统可作出 推断,并要求发布者验证推断,以使得可从开始展示映射信息和描述性访问API。例如,当 系统推断发布者正上传工资信息时,系统可询问发布者那是正被表示的净工资还是薪资总 额。 0041 经扩充的语义使得先前无关的两个较小的表能被联结、合并、过滤等,其中推断它 们包含类似的表、列、数据类型等,而不管最初不同的语义。 0042 可使用各种算法来推断关于语义的信息,例如,可使用加权匹配技术,对查询结果 的子集的手动审阅,对查询结果的子集的社区审阅(例如,类似Wikipedia批准),对数据质 量分数的指派,与数据分开地运送列的数据。。

24、如所提及的,除了推断数据表示什么之外,数 据也可被“清除”。例如,可按许多不同的格式来表示时间,并且可知晓,给定列表示时间;然 而,结合跨数据集操作将此类不同的格式转换成世界时间格式具有益处。如所讨论的,电话 号码和地址是可跨不同的表示格式被标准化的信息的另一示例。 0043 而且,可从实际结果集中取出随机样本的子集来作出此类推断,并且因此,系统可 随时间而改进,因为作出了附加查询且样本人群变得更多和更多样。列的名称可以是决定 性或者也可以是信息性的,例如,如果列被命名为citcode(城市代码),则系统本质上知晓 正表示了什么。可分层地应用以上技术中的任一个或多个来推断此类附加语义信息。在这。

25、 点上,能够通过访问API调用的机制来达成此类语义更新而非通过如发布者数据库问 题所发布的整体那样检查数据集来纯粹地处理问题在API调用开始反映所学习的信息 时,在API调用的句法本身内实现动态更新以及随时间变得更准确的描述性的系统。 0044 如所讨论的,可结合来自任何平台的作为服务的信息经由开放数据协议来通过 URL上传数据。基于消费者正请求什么,可通过检查命名数据的方式并基于返回的实际数据 集来执行对数据的推断。结果,在下次有更好的名称的情况下,API(由URL表示)被自动更 新,以使得下次假定为http:/dallas/_a(SEA)的查询的语义可在下次被更好的理解 为http:/da。

26、llas/./City(Seattle)。换言之,保持在通过URL来请求和处理时在数据上 构建逻辑语义不仅确定列之间的映射,还更一般地改进URL的语义或访问API。 0045 图1是示出用于更新与从任何平台提供的作为服务的信息相关联的映射信息的 说 明 书CN 102792301 A 5/16页 8 示例性非限制性实施例的流程图。在100,第一控制区域中的计算设备经由网络从第二控制 区域中的计算设备接收数据请求。数据请求(例如查询,或对于更具体的示例而言,基于URL 的查询)适用于向第一控制区域中的计算设备发布的且由第一控制区域中的计算设备存储 的一个或多个数据集。在110,响应于数据请求,基。

27、于数据请求从一个或多个数据集中提取 结果子集(例如随机或半随机子集)。可从数据请求本身、或从并行执行的派生数据请求中 返回或提取结果子集,但是要基于数据请求的句法。 0046 在120,从结果子集中推断描述一个或多个数据集的附加语义信息。语义信息可包 括但不限于描述至少一个数据集的数据类型或者子集与至少一个预定类型的数据之间的 关系(例如,数据或数据类型与预定义类别的数据或数据类型之间的关系)的语义信息。在 130,基于附加语义信息来形成或更新描述一个或多个数据集的标识符(例如,列名称)的映 射信息。另外地,与对一个或多个数据集的未来数据请求相关联的语义也可基于附加语义 信息来更新。 0047。

28、 图2是示出用于结合与从任何平台提供的作为服务的信息来请求发布者对所推 断的语义进行验证的示例性非限制性实施例的流程图。 0048 在200,第一控制区域中的接收计算设备从第二控制区域中的发布计算设备接收 由发布计算设备所发布的一个或多个数据集。在210,分析一个或多个数据集的子集。基于 该分析,在220,推断关于一个或多个数据集的语义信息,该语义信息与标识同一个或多个 数据集的数据相关联的信息有关、或与一个或多个数据集的数据类型有关。在230,可请求 发布者(例如,发布计算设备)验证所推断的语义信息,以确认通过该推断而推断出的语义 信息是正确的。 0049 在各实施例中,响应于接收来自发布者。

29、的验证,可基于语义信息来形成或更新描 述至少一个数据集的标识符(例如,列名称)的映射信息,或者可基于语义信息重新定义或 细化与对一个或多个数据集的数据请求(例如,查询或URL查询)相关联的语义。 0050 图3是示出用于更新与从任何平台提供的作为服务的信息相关联的数据请求API 的示例性非限制性实施例的流程图。在300,经由网络接收数据请求,该数据请求适用于可 经由该网络来访问的数据集。在310,基于数据请求来检索来自数据集的结果子集。在320, 从子集中推断描述数据集的辅助语义信息。在330,基于辅助语义信息来修改与对数据集的 数据请求相关联的语义。 0051 出于对关于一个或多个实施例的附。

30、加解释,当来自任何平台的作为服务的信息 作为资源被提供给发布者以鼓励上传数据时,预期该发布者上传“难看的”数据集(即,不 遵守任何特定约定或标准的数据集)是合理的,这可能使得难以理解它们本来表示什么。 另外,当对发布的内容期望绝对机密性和完整性预期时,预期发布者想要实施这样的条件 (除了对以授权方式查询数据的可审计的实体以外)也是合理的。在这一情况下,不能在 后端分析数据以寻找这样的语义含义,相反,机会出现在授权的查询展示表示数据内容的 结果时。在一个非限制性实现中,经由开放数据协议向系统呈现这样的查询,开放数据协 议的更多细节在下文中呈现。例如,开发者或其他授权的订户可能用以下URL:htt。

31、p:/ InfoasService/city(Seattle)来查询与西雅图的城市相关联的信息。就此,在一个或 多个实施例中,通过基于对API请求结果或其子集的推断、并且还基于URL/URI的参数来推 断与数据有关的语义信息,使得可基于所推断的信息从中处理动态重映射,从而创建随时 说 明 书CN 102792301 A 6/16页 9 间的自描述系统查询越多、推断越好。 0052 在一个非限制性实施例中,将元数据添加到列中。例如,最初,开发者可基于文档 知道从“city(城市)”列中寻求Seattle(西雅图)。然而,在基于特定查询返回了100个 随机样本之后,可以推断“city”实际上表示“。

32、West coast cities(西海岸城市)”。在这一 方面,作出与数据种类有关的推断,并且随时间建立更准确的逻辑语义。例如,在最初将标 记为_A的列推断成表示城市信息的示例中,在进一步查询之后,排除了除西海岸城市之外 的任何东西的结果可导致以下表征:_A指的是美国西海岸的城市。因此,与这一_A列相关 联的语义在关于西海岸城市的元数据最终被添加时随时间改进。另外,访问API可基于经 改进的语义而自动地更新。例如,作为结果,查询http:/InfoasService/_A(Seattle) 演进成http:/InfoasService/WestCoastCity(Seattle),并且变得更。

33、具描述性且更直 观(并且由此对于作为服务的信息的消费侧更有用)。 0053 就此,各实施例提供自适应API以及数据的消费者(例如,订户、开发者等)正在查 看什么的语义。使用的数据越多,可以成形的API语义也越多,使得可以形成对表(可按新 方式被联结、过滤等)的更丰富的查询。可将辅助数据存储在底层发布的数据顶部或与其分 开存储,因为如所提及的,可能对发布者有这样的要求:所发布的数据的保管者不更改该数 据。例如,系统可在表之间创建向表展示的映射,而从不更改表的任何底层数据。或是服务 侧或是消费侧可基于从系统的推断来执行这样的联结、合并、过滤等。 0054 另外,一旦发现要将两个数据集/表相关,就可。

34、自动地定义联结这两个数据集/表 的API。因此,在一个方面,系统维护对列的映射,而在另一方面,可基于API调用自动地对 给定数据集执行上述推断。由此,在数据请求和数据存储之间存在某一程度的间接关联。采 用随机样本结果或模式,可以推断列类型,而不必访问存储本身。 0055 图4是结合从任何平台提供的作为服务的信息的实施例、示出由发布者进行发布 的示例性非限制性动作的框图。图5至8建立在图4的说明性而非限制性的示例上,相同 标号指代相同的元素,但是注意到出于解释目的,这样的元素仅仅是说明性和示例性的。如 图4中所示,发布者400将数据发布到来自任何平台的作为服务的信息410,而基本上对形 式没有限。

35、制;然而,对于给定开发者而言所上传的形式未被更改却是重要的。由此,数据集 412保持未被更改,数据集414保持未被更改,数据集416保持未被更改,依次类推。 0056 图5是示出开发者或其他消费者请求来自所发布的数据集的数据的示例性非限 制性动作的框图。就此,一旦信息410被发布,开发者420或其他订户就可经由所发布的 API以各种方式来消费信息410。在一个实施例中,这可通过基于URL的查询指定来实现, 然而,可采用作出数据请求425的任何协议。就此,基于数据请求425,通常返回数据结果 435,例如结果集。 0057 图6是示出响应于数据请求来推断语义信息的示例性非限制性动作的框图。就 此。

36、,除了图5的返回结果435以外、或在图5的返回结果435之前,图6示出语义推断组件 430可基于数据请求425来对样本结果445进行操作。推断组件430的输出可以是扩充的 语义信息和更新的规则,扩充的语义信息描述来自信息410的有关信息,而更新的规则用 于作出在描述性或直观的使用方面有所改进的未来数据请求455。更新的语义和规则455 也可分开执行。 0058 图7是示出发布者验证所推断的信息的示例性非限制性动作的框图。在一个实施 说 明 书CN 102792301 A 7/16页 10 例中,一旦确定了辅助语义,就可将验证推断请求480发送给发布者400的有关发布实体。 例如,如果发布实体确。

37、认推断490,则语义可在相关的所发布的数据集顶部被更新。 0059 图8是示出基于自动更新的访问API的更富有的未来数据请求的示例性非限制性 动作的框图。除了由推断引擎提供辅助语义之外,如所提及的,也可改进访问API本身。使 用更丰富的数据请求465和改进的数据集语义,先前不相关的数据集可通过联结、过滤、合 并、为查询提供更大的数据池的操作而被相关。对表进行几何或指数合并的能力随着时间 在创建强大的集中式(且大量的)知识体系方面是有力的,该知识体系描述一应俱全的所有 东西,其中针对它们的查询可被运行,并且相关引擎可发现与人类有关的可能有用的新东 西。作为在来自任何平台的作为服务的信息的消费或数。

38、据分析侧的推断工具的潜在能力的 示例,因为先前不相关的项可能由于推断的力量而最终变成可能相关,所以在健康的上下 文中,可能发现两个疾病是相关的,从而导致共同的治疗努力。 0060 随时间的自描述(即,随着下一查询到来并形成另一组规则)导致一组自适应的查 询API。如所提及的,发生的推断可根据用于推断随时间自描述的数据的一组分层方式而发 生,例如,作出推断的尝试的分层结构,从数据类型的分析,到加权的匹配/映射技术,到列 名称的分析,到发布者类型的分析,到所有其他东西失败时的人类干预等等,从而建立如何 推断样本查询结果表示什么的分层顺序。 0061 用于作为服务的信息的补充上下文 0062 以下描。

39、述包含关于潜在非限制性基础结构、体系结构和/或相关联服务的补充上 下文,以进一步帮助理解以上实施例中的一个或多个。在此章节中描述的任何附加特征中 的任一个或多个可被纳入到以上针对来自任何平台的作为服务的信息就更新数据集语义 和相对应的访问API描述的实施例中的任一个或多个中。虽然实施例或特征的此类组合是 可能的,但是为了避免质疑,在本公开中所阐述的实施例不应当被理解为对本文中所描述 的任何其他实施例进行限制。 0063 作为一些附加背景,现今,虽然可通过诸如因特网之类的网络获得信息,但是现今 的供应倾向于在访问和框架上的专有,并由此在第三方提供者参与方面进行限制。例如,目 前,没有足够的企业模。

40、型来供商业内容提供者以不放弃此类商业内容的至少一些价值的方 式来发布其数据,并且由此在历史上,有价值的内容的所有者倾向于通过有限的专有手段 来展示其内容。或者,在其中此类内容的存储由安全云存储提供者提供的情形中,当消费者 必需在数千个表中进行跋涉来潜在地找到感兴趣的项目时,单独存储中存在很少的价值。 另外,甚至在云存储提供者尝试从各个提供者收集数据的情形中,最好此类提供者可包括 适度、较小或不完全的数据目录。 0064 大部分此区域中潜在增长的受阻是处理和IP(例如,版权)上的不信任的结果。简 言之,大人物不信任具有王冠上的宝石(crown jewels)的云供应商,因为单次损害会使数 据的价。

41、值消亡。另外,此类云供应商至今相对于出于其信息需要希望从这样的数据中提取 值的信息工作者处于弱势,并且另外,由于这样的系统的专有特性,开发者迄今具有的扩展 用于开发信息能力的工具的能力有限。 0065 因此,以上针对一个或多个实施例描述的,提供了用于作为服务的信息的基础结 构,其容纳所有个体类:发布者、开发者、信息工作者、和消费者。基础结构实现信息发现,例 如,用于发现、获取、和消费结构化和团块数据集以加强任何平台上的任何应用和任何形状 说 明 书CN 102792301 A 10 8/16页 11 因子(例如,任何屏幕大小)的能力。该基础结构还实现经纪业务,例如,伙伴驱动的生态系 统和全球到。

42、达(global reach),用以向开发者和信息工作者递送数据和功能。基础结构还 允许分析学和报告,例如,单个点击分析,以用公共数据来增大私有数据。在这点上,由于基 础结构的各种实现的开放特性,任何应用开发者可开发移动、云、和/或桌面应用,以促进 数据的发布、处理、查询和/或检索。 0066 为了编写应用,人们可注册帐户信息(例如,用Live ID登录)并被提供藉由其来经 由结构化和实时web服务访问“团块”的帐户密钥,该结构化和实时web服务是针对本文中 关于一个或多个实施例描述的作为服务的信息的基础结构启用的。在一个方面,开发者可 在编码开始之前视觉地探索API。例如,服务资源管理器模块。

43、或模块组可被开发者用来视觉 地构建代表性状态传输(REST)API查询,并根据各种包来预览内容,这些包诸如但不限于 可扩展标记语言(XML)、ATOM、RAW(用于团块和实时内容)、或者按表视图(例如,用于结构化 数据)。例如,开发者仅仅提供他或她的帐户密钥,并选择来预览内容。 0067 因此,开发者可在任何平台上构建移动、桌面或服务应用。虽然所得到的REST查 询可被拷贝到新的开发者应用,作为服务的信息的基础结构还实现这样的能力:该能力是 用于消耗自动生成的C#代理类以排除任何创建本地对象模型或者生成和理解XML或web 服务代码的细节的需要。在这点上,在另一非限制性的有益方面,开发者可下载。

44、代理类,并 将它们包括在开发者的应用中以通过少至几行代码来消耗服务数据。 0068 在这点上,作为服务的信息的基础结构的各个实施例允许开发者和信息工作者即 时地、周期性地、或在由应用开发者所指定的某一其他时间函数上寻找、获取、和消耗其应 用和分析情景中的数据。如所提及的,开发者获得帐户密钥,该帐户密钥随后伴随对网络服 务的web服务调用,从而使得如本文中关于一个或多个实施例所描述的作为服务的信息能 够进行内容请求以及订阅感兴趣的内容。 0069 因而,在一个方面,由本文中关于一个或多个实施例所描述的作为服务的信息的 基础结构所提供的帐户密钥是开发者的私有密钥。此密钥使得能够对结合开发者的应用来。

45、 使用的内容进行记账和报告。由此,此私有开发者密钥应当不打算被进行共享,并且应当采 取确保密钥安全的预防措施,其中开发在移动或桌面解决方案上运行的本机应用并计划结 合密钥作为部署的部分。例如,密码存储可被用来确保密钥未被破解。 0070 除了被用于跟踪消耗内容的应用的帐户密钥之外,唯一性用户ID是全局唯一性 标识符(GUID),其表示开发者的个体用户。此字段允许对内容进行记账,其是按程序以每 个用户为基础进行收费的。例如,如果开发者开发移动应用,且个体用户消费该应用,开发 者在每次代表该个体用户作出请求时应当返回相同的GUID。然而,如果开发者开发web门 户,并代表各个用户发出web服务请求。

46、,则由开发者向访问门户的每个唯一性用户来指派 新的GUID。例如,每个注册用户可被指派GUID或者每个IP地址/端口组合指派唯一性用 户IDGUID等。 0071 虽然可在任何平台上构建REST API来从如对本文中的一个或多个实施例描述的 作为服务的信息的基础结构消费内容,在一个实施例中,可通过C#为服务动态生成代理 类。达成此目的是下载目标模型、将它们添加到当前开发者项目、以及更新帐户和唯一性用 户值的问题。 0072 如果开发者想要手动发出请求,以下提供了一示例,但是对于任何服务,可使用预 说 明 书CN 102792301 A 11 9/16页 12 览功能,或者也可调用从服务资源管理。

47、器创建的URL。以下例示了对样本数据集的示例性非 限制性REST请求。注意:一些或全部调用会是安全套接字层(SSL)安全的。 0073 https:/ 0074 在请求的头部中放置了$accountKey和$uniqueUserId元素,例如,其看起来如 下: 0075 $accountKey=开发者帐户密钥 0076 $uniqueUserID=表示唯一用户的GUID 0077 $accountKey中的值表示开发者的帐户密钥在帐户标签中找到,而 $uniqueUserID中的值表示访问服务的唯一用户的GUID。 0078 因此,如对本文中的一个或多个实施例描述的作为服务的信息的基础结构是新。

48、 的服务或框架,其允许开发者和信息工作者简单地发现、购买、和管理任何平台中的优质 (premium)数据订阅。基础结构是信息市场,其将来自领先商业数据提供者和权威公共数据 源以及非权威发布者的数据、图像和实时web服务一起带入单个或多个位置,这些位置在 公共供应和记账框架下是统一的。另外,开发者和信息工作者可基本上通过任何平台、应用 或业务工作流来消费此优质内容。 0079 用于使用本文中关于一个或多个实施例描述的作为服务的信息的基础结构的一 些示例性非限制性的情景包括:(a)找到对于消费者和商业情景的下一代“杀手应用”的优 质内容,(b)发现并许可有价值数据,以改进现有应用或报告,(c)以创。

49、新方式将不同数据 集集合在一起,以获得对业务性能和过程的新了解,例如,聚集算法;(d)针对团块、结构化 和实时web服务,即时并可视地探索跨所有内容提供者的API,以及(e)消耗现有应用和数 据库系统(诸如现有文字处理、电子表格、数据库查询系统等)内的第三方数据,以进行丰富 的报告和分析。 0080 对于开发者而言,益处包括:(a)试用订阅允许在没有支付数据使用费的情况下 调查内容并开发应用,(b)简单的交易和订阅模型,允许对数百万美元的数据集进行“现用 现付(pay as you go or grow)”访问,(c)跨数据集的一致的基于REST的API促进任何平 台上的开发,(d)视觉地构建和探索API,预览结果;以及(e)自动C#代理类提供即时对象 模型并排除编写冗长XML和web服务代。

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

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


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