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

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

Info

Publication number
CN102792301B
CN102792301B CN201180013387.9A CN201180013387A CN102792301B CN 102792301 B CN102792301 B CN 102792301B CN 201180013387 A CN201180013387 A CN 201180013387A CN 102792301 B CN102792301 B CN 102792301B
Authority
CN
China
Prior art keywords
data
information
semantic information
data set
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201180013387.9A
Other languages
English (en)
Other versions
CN102792301A (zh
Inventor
M·克斯拉维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102792301A publication Critical patent/CN102792301A/zh
Application granted granted Critical
Publication of CN102792301B publication Critical patent/CN102792301B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

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

Description

结合作为服务的信息的语义更新和自适应接口
技术领域
本发明涉及响应于对经由一个或多个网络可访问的一个或多个数据集进行查询,基于一个或多个推断来更新语义和/或接口。
背景
作为关于一些常规系统的背景技术,计算设备在传统上已在设备本地存储了信息以及相关联的应用和数据服务。但是,随着在线和云服务的演进,信息正越来越多地移至网络提供者,该网络提供者代表设备来不执行服务、执行服务的一些或全部。能够存储数万亿字节数据(且在将来潜在可能的千万亿字节、百万万亿字节数据)的网络存储场的演进创建了在云中模拟本地场景且使主设备与外部存储分隔开的机会。
然而,没有云服务或网络存储供应商能够有效地提供信息来作为任何平台上的服务,使得出版商、开发者以及消费者能以可为跟踪并审计所涉及的所有事务的方式容易地发布、专门研究和消费任何种类的数据。另外,当今,由于相异数目的内容提供者及其通常用于定义数据的专有模式(其中相异的内容提供者无法彼此协调他们针对云的发布动作),因此存在极少的利用此类相异发布动作的集体能力的机会。实际上,为了消耗吸引发布的听众(诸如订户或开发者),两个不同的数据集看起来它们似乎具有两个不同形状——即使在存在数据或数据类型的一些或相当重叠的情形中。
更具体而言,当前,由不同的各方上传数据的方式使得不同数据集的类似列(例如,两者都表示城市)——即使被命名了——将具有不同的名称,这些名称可以是或不是类似的。在任一情形中,人类介入底层数据和验证是用于确定什么样的列应当被相同或类似地命名,或者另外确定数据的类型或列之间可能是什么样的关系的常规方式。除不能缩放之外,这种介入底层数据对于希望保证其数据保持不变的发布者而言可能并非是合意的——对于可能被发布到云的专用数据集的主机而言亦会如此。
当今设备和数据服务的上述缺点仅仅旨在提供对常规系统的一些问题的总览,并且不旨在是穷尽性的。在仔细阅读了以下详细描述后,现有技术的其他问题和各非限制性性实施例的对应好处可变得显而易见。
概述
此处提供了简化的概述以帮助能够对以下更详细的描述和附图中的示例性、非限制性实施例的各方面有基本或大体的理解。然而,本概述并不旨在是详尽的或穷尽的。相反,本概述的唯一目的在于,以简化的形式提出与一些示例性、非限制性实施例相关的一些概念,作为以下各实施例的更详细的描述的序言。
可结合来自任何平台的作为服务的信息,将各种数据集存储在云中,而经由查询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 coastcities(西海岸城市)”。在这一方面,作出与数据种类有关的推断,并且随时间建立更准确的逻辑语义。例如,在最初将标记为_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)的云供应商,因为单次损害会使数据的价值消亡。另外,此类云供应商至今相对于出于其信息需要希望从这样的数据中提取值的信息工作者处于弱势,并且另外,由于这样的系统的专有特性,开发者迄今具有的扩展用于开发信息能力的工具的能力有限。
因此,以上针对一个或多个实施例描述的,提供了用于作为服务的信息的基础结构,其容纳所有个体类:发布者、开发者、信息工作者、和消费者。基础结构实现信息发现,例如,用于发现、获取、和消费结构化和团块数据集以加强任何平台上的任何应用和任何形状因子(例如,任何屏幕大小)的能力。该基础结构还实现经纪业务,例如,伙伴驱动的生态系统和全球到达(globalreach),用以向开发者和信息工作者递送数据和功能。基础结构还允许分析学和报告,例如,单个点击分析,以用公共数据来增大私有数据。在这点上,由于基础结构的各种实现的开放特性,任何应用开发者可开发移动、云、和/或桌面应用,以促进数据的发布、处理、查询和/或检索。
为了编写应用,人们可注册帐户信息(例如,用Live ID登录)并被提供藉由其来经由结构化和实时web服务访问“团块”的帐户密钥,该结构化和实时web服务是针对本文中关于一个或多个实施例描述的作为服务的信息的基础结构启用的。在一个方面,开发者可在编码开始之前视觉地探索API。例如,服务资源管理器模块或模块组可被开发者用来视觉地构建代表性状态传输(REST)API查询,并根据各种包来预览内容,这些包诸如但不限于可扩展标记语言(XML)、ATOM、RAW(用于团块和实时内容)、或者按表视图(例如,用于结构化数据)。例如,开发者仅仅提供他或她的帐户密钥,并选择来预览内容。
因此,开发者可在任何平台上构建移动、桌面或服务应用。虽然所得到的REST查询可被拷贝到新的开发者应用,作为服务的信息的基础结构还实现这样的能力:该能力是用于消耗自动生成的C#代理类以排除任何创建本地对象模型或者生成和理解XML或web服务代码的细节的需要。在这点上,在另一非限制性的有益方面,开发者可下载代理类,并将它们包括在开发者的应用中以通过少至几行代码来消耗服务数据。
在这点上,作为服务的信息的基础结构的各个实施例允许开发者和信息工作者即时地、周期性地、或在由应用开发者所指定的某一其他时间函数上寻找、获取、和消耗其应用和分析情景中的数据。如所提及的,开发者获得帐户密钥,该帐户密钥随后伴随对网络服务的web服务调用,从而使得如本文中关于一个或多个实施例所描述的作为服务的信息能够进行内容请求以及订阅感兴趣的内容。
因而,在一个方面,由本文中关于一个或多个实施例所描述的作为服务的信息的基础结构所提供的帐户密钥是开发者的私有密钥。此密钥使得能够对结合开发者的应用来使用的内容进行记账和报告。由此,此私有开发者密钥应当不打算被进行共享,并且应当采取确保密钥安全的预防措施,其中开发在移动或桌面解决方案上运行的本机应用并计划结合密钥作为部署的部分。例如,密码存储可被用来确保密钥未被破解。
除了被用于跟踪消耗内容的应用的帐户密钥之外,唯一性用户ID是全局唯一性标识符(GUID),其表示开发者的个体用户。此字段允许对内容进行记账,其是按程序以每个用户为基础进行收费的。例如,如果开发者开发移动应用,且个体用户消费该应用,开发者在每次代表该个体用户作出请求时应当返回相同的GUID。然而,如果开发者开发web门户,并代表各个用户发出web服务请求,则由开发者向访问门户的每个唯一性用户来指派新的GUID。例如,每个注册用户可被指派GUID或者每个IP地址/端口组合指派唯一性用户IDGUID等。
虽然可在任何平台上构建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(或其他软件对象)的观点以及从便于提供根据所描述的实施例中的一个或多个的来自任何平台的作为服务的信息的基础结构的软件或硬件对象来构想各实施例。此处描述的各种实现和实施例可以具有完全采用硬件、部分采用硬件并且部分采用软件、以及采用软件的方面。
本文中所使用的词语“示例性”意味着用作示例、实例、或说明。为避免疑惑,本文所公开的主题不限于这些示例。另外,本文中被描述为“示例性”的任何方面或设计不一定被解释为比其他方面或设计更优选或有利,它也不意味着排除本领域普通技术人员已知的等效示例性结构和技术。而且,就术语“包括”、“具有”、“包含”和其他类似的词语在详细描述或权利要求书中的使用而言,为避免疑惑,这样的术语旨在以类似于术语包括摂作为开放的过渡词的方式解释而不排除任何附加或其他元素。
如所述的,此处所述的各种技术可结合硬件或软件或,在适当时,以两者的组合来实现。如此处所使用的,术语“组件”、“系统”等同样旨在指计算机相关实体,或者是硬件、硬件和软件的组合、软件或者是执行中的软件。例如,组件可以是,但不限于是,在处理器上运行的进程、处理器、对象、可执行码、执行的线程、程序和/或计算机。作为说明,在计算机上运行的应用和计算机都可以是组件。一个或多个组件可以驻留在进程和/或执行线程中,并且组件可以位于一个计算机内和/或分布在两个或更多计算机之间。
如前所述的系统已经参考若干组件之间的交互来描述。可以理解,这些系统和组件可包括组件或指定的子组件、某些指定的组件或子组件和/或附加的组件,并且根据上述内容的各种置换和组合。子组件还可作为通信地耦合到其他组件的组件来实现,而不是被包括在父组件内(层次性)。另外,应该注意,一个或多个组件也可以合并到提供聚合功能的单一组件中,或者也可以分成多个单独的子组件,并且,可以提供诸如管理层之类的任何一个或更多中间层,以可通信地耦合到这样的子组件,以便提供集成的功能。此处所述的任何组件也可与一个或多个此处未专门描述的但本领域技术人员一般已知的其他组件进行交互。
考虑到以上描述的示例性系统,参考各附图的流程图将可以更好地理解根据所公开的主题实现的方法。尽管为了说明简洁起见,按照一系列框示出和描述了方法,但是,应该理解和知道,所要求保护的主题不限于框的顺序,因为一些框可以按与此处所描绘和描述的不同的顺序进行和/或与其他框并发地进行。尽管经由流程图示出了非顺序或分支的流程,但可以理解,可实现达到相同或类似结果的各种其他分支、流程路径和框的次序。此外,并非全部所示的框都是实现下面所述的方法所必需的。
虽然在某些实施例中示出了客户机侧观点,但要出于避免对存在相对应的服务器观点的疑问来理解,反之亦然。类似地,在实施一方法时,可以提供具有存储和被配置成经由一个或多个组件实施该方法的至少一个处理器的相对应的设备。
尽管结合各附图的优选实施例描述了各实施例,但可以理解,可以使用其他类似的实施例,或可以对所描述的实施例进行修改和添加来执行相同的功能而不背离本发明。而且,此处描述的各实施例的一个或多个方面可以在多个处理芯片或设备中实现或跨多个处理芯片或设备实现,且存储可以类似地跨多个设备来实现。因此,本发明不应限于任何单个实施例,而是应该根据所附权利要求书的广度和范围来解释。

Claims (15)

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)所实现的查询相关联的语义。
CN201180013387.9A 2010-03-12 2011-03-11 结合作为服务的信息的语义更新和自适应接口 Active CN102792301B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US31318610P 2010-03-12 2010-03-12
US61/313,186 2010-03-12
US12/781,963 2010-05-18
US12/781,963 US8341099B2 (en) 2010-03-12 2010-05-18 Semantics update and adaptive interfaces in connection with information as a service
PCT/US2011/028141 WO2011112960A2 (en) 2010-03-12 2011-03-11 Semantics update and adaptive interfaces in connection with information as a service

Publications (2)

Publication Number Publication Date
CN102792301A CN102792301A (zh) 2012-11-21
CN102792301B true CN102792301B (zh) 2015-05-06

Family

ID=44560874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180013387.9A Active CN102792301B (zh) 2010-03-12 2011-03-11 结合作为服务的信息的语义更新和自适应接口

Country Status (6)

Country Link
US (2) US8341099B2 (zh)
EP (1) EP2545471A4 (zh)
JP (1) JP5805677B2 (zh)
CN (1) CN102792301B (zh)
AU (1) AU2011226654B2 (zh)
WO (1) WO2011112960A2 (zh)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341099B2 (en) * 2010-03-12 2012-12-25 Microsoft Corporation Semantics update and adaptive interfaces in connection with information as a service
US8631030B1 (en) 2010-06-23 2014-01-14 Google Inc. Query suggestions with high diversity
US20120054626A1 (en) * 2010-08-30 2012-03-01 Jens Odenheimer Service level agreements-based cloud provisioning
US8521655B2 (en) * 2011-06-06 2013-08-27 Bizequity Llc Engine, system and method for providing cloud-based business intelligence
US8996549B2 (en) * 2011-10-11 2015-03-31 Microsoft Technology Licensing, Llc Recommending data based on user and data attributes
CN102937966A (zh) * 2011-10-11 2013-02-20 微软公司 发现并消费相关数据
US20130091163A1 (en) * 2011-10-11 2013-04-11 Microsoft Corporation Discovering and consuming related data
CN102999553B (zh) * 2011-10-11 2016-02-24 微软技术许可有限责任公司 基于用户和数据属性推荐数据
US9185513B1 (en) * 2011-12-02 2015-11-10 Google Inc. Method and system for compilation with profiling feedback from client
US8676788B2 (en) * 2012-03-13 2014-03-18 International Business Machines Corporation Structured large object (LOB) data
US8983954B2 (en) * 2012-04-10 2015-03-17 Microsoft Technology Licensing, Llc Finding data in connected corpuses using examples
US9372884B2 (en) * 2012-06-14 2016-06-21 Microsoft Technology Licensing, Llc Extensible data query scenario definition and consumption
US20140013451A1 (en) * 2012-07-06 2014-01-09 Sap Ag Data obfuscation for open data (odata) communications
US9292352B2 (en) 2012-08-10 2016-03-22 Adobe Systems Incorporated Systems and methods for cloud management
US10963420B2 (en) * 2012-08-10 2021-03-30 Adobe Inc. Systems and methods for providing hot spare nodes
CN103188344A (zh) * 2013-02-22 2013-07-03 浪潮电子信息产业股份有限公司 一种安全调用rest api的方法
MX2021010973A (es) 2013-03-15 2023-01-03 Beulah Works Llc Sistema de captura y descubrimiento de conocimiento.
US9298339B2 (en) 2013-04-18 2016-03-29 Microsoft Technology Licensing, Llc User interface feedback elements
JP2015001784A (ja) * 2013-06-13 2015-01-05 富士通株式会社 情報処理システム、情報処理装置、及び情報処理プログラム
US9619217B2 (en) * 2013-11-20 2017-04-11 Wolfram Research, Inc. Methods and systems for cloud computing
US10146824B2 (en) * 2013-11-25 2018-12-04 Sap Se Database job description and scheduling
CN104408639A (zh) * 2014-10-22 2015-03-11 百度在线网络技术(北京)有限公司 多轮会话交互方法和系统
US10194001B1 (en) * 2015-05-27 2019-01-29 Google Llc Automatic discovery of API information
JP6457903B2 (ja) * 2015-08-21 2019-01-23 日本電信電話株式会社 Api変換テーブル生成装置
US9965267B2 (en) 2015-11-19 2018-05-08 Raytheon Company Dynamic interface for firmware updates
US20220361705A1 (en) * 2015-11-23 2022-11-17 Cupper, Llc System, apparatus and method for preparing a beverage cartridge
US11745906B2 (en) * 2015-11-23 2023-09-05 Cupper Llc System, apparatus, and method for preparing a beverage cartridge
CN208791164U (zh) 2015-11-23 2019-04-26 Mb2杯子发展有限责任公司 用于制备饮料胶囊的系统和装置
US10473758B2 (en) 2016-04-06 2019-11-12 Raytheon Company Universal coherent technique generator
US10540358B2 (en) * 2016-06-20 2020-01-21 Microsoft Technology Licensing, Llc Telemetry data contextualized across datasets
US9990271B2 (en) * 2016-07-06 2018-06-05 Accenture Global Solutions Limited Automatically generating object locators for automation test generation
US11126503B2 (en) * 2016-08-10 2021-09-21 International Business Machines Corporation Pre-filtering of join execution over multi-column range summaries and other synopses
US10078760B1 (en) * 2017-01-05 2018-09-18 Microsoft Technology Licensing, Llc Graph-based inference of confidential data insights
JP7235269B2 (ja) * 2017-03-13 2023-03-08 日本電気株式会社 データ項目名推定装置、データ項目名推定プログラム、及びデータ項目名推定方法
JP6834743B2 (ja) * 2017-04-20 2021-02-24 富士通株式会社 更新処理プログラム、更新処理装置、及び更新処理方法
JP7172497B2 (ja) * 2018-11-22 2022-11-16 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US20220164374A1 (en) * 2020-11-24 2022-05-26 Drumwave Inc. Method of scoring and valuing data for exchange
USD948937S1 (en) 2021-01-18 2022-04-19 Cupper Llc Beverage cartridge
US20230266978A1 (en) * 2022-02-23 2023-08-24 Sap Se No-code metadata-driven provisioning of generic document service controls
US11972235B2 (en) 2022-03-02 2024-04-30 Sap Se No-code metadata-driven provisioning of workflow task user interfaces
CN115988076B (zh) * 2022-12-02 2023-10-13 广州通则康威智能科技有限公司 一种设备数据的传输方法及系统
CN116489254B (zh) * 2023-06-21 2023-09-08 中储粮成都储藏研究院有限公司 一种利用上位机调试下位机的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101044472A (zh) * 2004-08-31 2007-09-26 国际商业机器公司 数据系统中的语义识别方法和系统
CN101158959A (zh) * 2007-11-12 2008-04-09 浙江大学 一种基于语义查询重写的柔性数据服务组合的方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826553B1 (en) 1998-12-18 2004-11-30 Knowmadic, Inc. System for providing database functions for multiple internet sources
US6785704B1 (en) 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
EP1117220A1 (en) 2000-01-14 2001-07-18 Sun Microsystems, Inc. Method and system for protocol conversion
US6311194B1 (en) 2000-03-15 2001-10-30 Taalee, Inc. System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising
US7502770B2 (en) 2001-04-11 2009-03-10 Metaweb Technologies, Inc. Knowledge web
JP2002351873A (ja) * 2001-05-23 2002-12-06 Hitachi Ltd メタデータ管理システムおよび検索方法
US20030126136A1 (en) 2001-06-22 2003-07-03 Nosa Omoigui System and method for knowledge retrieval, management, delivery and presentation
US7756825B2 (en) * 2003-07-31 2010-07-13 Microsoft Corporation Synchronization peer participant model
WO2005020093A1 (en) 2003-08-21 2005-03-03 Idilia Inc. Internet searching using semantic disambiguation and expansion
US20070100800A1 (en) 2005-10-31 2007-05-03 Rose Daniel E Methods for visually enhancing the navigation of collections of information
US7890646B2 (en) * 2006-04-27 2011-02-15 Microsoft Corporation Synchronization orchestration
US7653640B2 (en) * 2006-07-31 2010-01-26 Microsoft Corporation Two-way and multi-master synchronization over web syndications
US20080082492A1 (en) * 2006-09-29 2008-04-03 Compugroup Holding Ag Data Processing System and Method for Computer Assisted Learning
US7899837B2 (en) 2006-09-29 2011-03-01 Business Objects Software Ltd. Apparatus and method for generating queries and reports
US8090685B2 (en) * 2007-09-14 2012-01-03 Microsoft Corporation Knowledge based synchronization of subsets of data with no move condition
US8095495B2 (en) * 2007-09-25 2012-01-10 Microsoft Corporation Exchange of syncronization data and metadata
US8078749B2 (en) * 2008-01-30 2011-12-13 Microsoft Corporation Synchronization of multidimensional data in a multimaster synchronization environment with prediction
US8185495B2 (en) * 2008-02-01 2012-05-22 Microsoft Corporation Representation of qualitative object changes in a knowledge based framework for a multi-master synchronization environment
US8682646B2 (en) 2008-06-04 2014-03-25 Microsoft Corporation Semantic relationship-based location description parsing
US20090315766A1 (en) * 2008-06-19 2009-12-24 Microsoft Corporation Source switching for devices supporting dynamic direction information
US8467991B2 (en) * 2008-06-20 2013-06-18 Microsoft Corporation Data services based on gesture and location information of device
US8458128B2 (en) * 2008-08-26 2013-06-04 Microsoft Corporation Minimal extensions required for multi-master offline and collaboration for devices and web services
US8059027B2 (en) * 2008-12-29 2011-11-15 Microsoft Corporation Correcting GPS through secondary sensors and signal strength
US8504512B2 (en) * 2009-12-02 2013-08-06 Microsoft Corporation Identifying geospatial patterns from device data
US8341099B2 (en) 2010-03-12 2012-12-25 Microsoft Corporation Semantics update and adaptive interfaces in connection with information as a service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101044472A (zh) * 2004-08-31 2007-09-26 国际商业机器公司 数据系统中的语义识别方法和系统
CN101158959A (zh) * 2007-11-12 2008-04-09 浙江大学 一种基于语义查询重写的柔性数据服务组合的方法

Also Published As

Publication number Publication date
JP2013522733A (ja) 2013-06-13
WO2011112960A3 (en) 2011-12-22
WO2011112960A2 (en) 2011-09-15
AU2011226654B2 (en) 2014-05-15
EP2545471A4 (en) 2014-01-15
AU2011226654A1 (en) 2012-09-20
JP5805677B2 (ja) 2015-11-04
EP2545471A2 (en) 2013-01-16
US8635173B2 (en) 2014-01-21
US20110225107A1 (en) 2011-09-15
US20130066824A1 (en) 2013-03-14
US8341099B2 (en) 2012-12-25
CN102792301A (zh) 2012-11-21

Similar Documents

Publication Publication Date Title
CN102792301B (zh) 结合作为服务的信息的语义更新和自适应接口
CN102419744B (zh) 信息的语义分析
CN102918528B (zh) 作为联网服务的信息上的查询模型
CN102426541B (zh) 参考数据服务的可用性管理
CN105431839A (zh) 具有提供对知识的一步访问的自适应用户接口的智能互联网系统
US9774649B2 (en) System and method for providing a content distribution network
Masó et al. Tuning the second-generation SDI: theoretical aspects and real use cases
CN102792309A (zh) 按需最终用户许可证协定
Kmoch et al. A spatial data infrastructure approach for the characterization of new zealand's groundwater systems
CN102822854A (zh) 用于发布合成数据以便于提供作为服务的信息的系统和方法
US20160371389A1 (en) Method of presenting information on a search result page
Christoffel Information Integration as a Matter of Market Agents
IMP et al. WEB SER
Jakachira Implementing an integrated e-Government functionality for a marginalized community in the Eastern Cape South Africa
Nayak Data Mining and Mobile Business Data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150728

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.