[发明专利]共享的数据集合有效
申请号: | 201180030891.X | 申请日: | 2011-06-13 |
公开(公告)号: | CN103003815B | 公开(公告)日: | 2013-03-27 |
发明(设计)人: | M·S·奥古斯汀;J·博克哈德特;B·M·兰伯特;R·E·奥齐;J·E·施莱费尔;R·Z·斯派尔;P·S·苏塞 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F17/40 | 分类号: | G06F17/40;G06F9/44 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 陈斌 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 共享 数据 集合 | ||
背景技术
集合是将被一起操作的一组数据项。集合的一些示例包括列表、阵列、集、 包、和各种其他数据组。在编程的早期,程序一般是不彼此互操作的单片实体。 因此,程序能采用编程者选择的任何方式的集合内在地管理集合。在现代编程 中,然而,通过操纵共享的数据组,使得同一程序的不同实例、或不同程序彼 此互操作,已成为较为流行的实践。
尽管可能使得程序实现它们用于共享数据的自身机制,这样做一般对于编 程者而言是麻烦的。编程者可能必须将共享机制实现为程序的紧密结合的一部 分。即使编程者可获得已知共享机制的代码,该机制一般专用于程序的特性、 且专用于被共享的数据类型。且,当其他程序想要与已有程序共享数据时,这 些程序必须以使用相同共享机制的方式被实现。
尽管允许程序共享数据出现了各种问题,集合的共享提出了附加问题。对 于很多类型的集合,集合的当前状态不仅由集合的内容定义、还由其中这些内 容所出现的顺序所定义。例如,阵列{1,2,3,4,5}不同于阵列{2,3,1,5,4}。即 使这两个阵列包含了相同的底层元素(从一到五的数字),顺序是不同的,且 因此这两个阵列具有不同的状态。当集合的状态可由数个程序改变时,维持 集合的状态、特别是顺序,提出了特定挑战。
概述
共享集合的概念可被以使得共享机制对于编程者而言是透明的方式被实 现。另外,当集合由数个不同实体操作时,实现共享的集合的机制可,对于集 合提供数据收敛。
在一个示例中,共享的对象服务器,通过在任何给定时间维持集合的真实 状态,来管理集合的共享。获得对于集合的访问的程序可连接至机器(程序在 该机器上运行)上的共享对象运行时。访问共享集合的程序将该集合登记为共 享集合,且这个登记由运行时通信至共享的对象服务器。想要访问该集合的其 他程序也将该集合登记为共享集合。类似地,这个登记由运行时通信至共享的 对象服务器。此外,程序可订阅在该集合上的改变提醒,其中订阅请求由运行 时处理。每一个程序保持集合的本地副本。当集合的状态以任何形式被改变时, 在其上发生改变的机器上的运行时将这个改变通信至共享的对象服务器。共享 的对象服务器更新集合的真实状态,并将这个改变通信至通过共享对象运行时 登记过这个集合的所有程序,该共享对象运行时位于在其上运行订阅程序的机 器上。然后这些程序的每一个根据服务器所通信的状态改变,更新其本地集合 副本。在该集合上已发生并发的改变的情况下,共享的对象服务器解决这些改 变中的任何冲突,并确定性地到达集合的真实状态。
在另一个示例中,以对等(peer-to-peer)方式、而不是客户机/服务器方式, 来管理共享的对象。在对等实现中,对于共享的集合的每一个订阅者可将改变 通信至其他订阅者。然后,订阅者在其上运行的机器上的运行时可改变它们的 本地副本,同时确定性地解决任何冲突。
几乎可以任何编程语言(如,C,C++,Java,Visual Basic等)实现集合。由 于共享集合的概念可以多种编程模型实现,以不同语言编写的程序可在同一个 共享集合上操作。另外,编程者可编写程序,该程序将与在纯粹本地的集合上 操作一样的方式在共享集合上操作。因此,程序可能够操作共享的集合,而不 必采用除了发出命令以登记新的集合或订阅已有集合的改变之外的任何方式, 来识别集合的共享本质。以此方式,有效地使得集合的共享对于程序以及对于 编程者而言是透明的。此外,共享机制对于集合中的数据的类型可以是不可知 的,藉此允许分享任何类型数据的集合。
提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描 述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要 特征,也不旨在用于限制所要求保护主题的范围。
附图简述
图1是共享集合的示例的框图。
图2是示例性场景的框图,其中程序可共享对于共享集合的访问。
图3是集合共享的对等实现的示例的框图。
图4和5是共享的集合可被如何使用的一些示例的框图。
图6是其中可共享集合的示例性过程的流程图。
图7是可以结合本文描述的主题的实现来使用的示例组件的框图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180030891.X/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置