[发明专利]对数据、模式,以及应用程序的统一并发变更有效
申请号: | 201110168127.0 | 申请日: | 2011-06-10 |
公开(公告)号: | CN102279873B | 公开(公告)日: | 2017-05-24 |
发明(设计)人: | W·E·艾特垦;N·阿维特尔;Q·布拉德利;B·洛夫林;S·J·米利特;B·奥兰尼科;P·F·礼萨伊;S·D·肯特;H·阿罕默德 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海专利商标事务所有限公司31100 | 代理人: | 钱静芳 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 模式 以及 应用程序 统一 并发 变更 | ||
技术领域
本发明涉及多用户数据库,尤其涉及多用户数据库环境中的统一并发变更。
背景技术
多用户数据库包括为多个人的一次或多次使用组织的数据。数据库可以按它们所包含的数据的种类,如书目、全文、数字、图像等等,来进行分类。数据库也可以根据它们用来组织数据并表示数据关系的数据库模型,诸如,例如,关系模型、分层模型、或网络模型,来进行分类。数据库模式以数据库管理系统(DBMS)支持的形式语言来描述数据库结构。例如,在关系型数据库中,模式可以定义表、字段、关系、视图、索引、封装、过程、函数、队列、触发器、类型、序列、物化视图、同义词、数据库链接、目录、及数据库的其他方面。模式有时被存储在数据字典中。
数据库模式可以在对数据库的各种使用期间或在为这样的使用的准备中创建、访问和/或修改。例如,在数据库开发期间,可以使用模式来定义和组织该数据库被设计来容纳的数据的内容、关系和结构。在数据库询问期间,根据数据库的模式,用户访问数据库中的数据,以便进行信息检索和报表生成。在数据库维护期间,根据数据库的模式添加、删除或更新数据。数据库询问和数据库维护常常使用数据库应用程序来执行,该数据库应用程序可以是通用DBMS或专用的应用程序。在应用程序开发期间,模式支持例如数据输入屏幕、查询、表单、报表、表,以及标签的开发。
发明内容
在多用户数据库应用程序的上下文中进行变更的用户可能面临许多不 确定性。例如,用户可能不确定已经变更了什么、数据库/模式/应用程序处于什么状态、不同种类的变更如何彼此进行交互、和/或由用户作出的变更如何与由其他用户作出的并发变更相关。在某些情况下,用户还要应付用于创建和保存不同类型的变更的不同用户体验模型。
此处所描述的一些实施例帮助在多用户数据库应用程序环境中管理变更。一个实施例收集对多用户数据库应用程序环境的建议的变更,之后提交那些变更中的任一个。建议的变更可包括数据变更、模式变更、和/或应用程序变更。标识建议的变更的前提条件和后置条件,并使用这些条件来分析建议的变更之间的依赖关系。建议的变更根据其依赖关系按序放置在变更列表中。在验证每一个建议的变更的前提条件都将被满足之后,在单个事务期间按序提交建议的变更。如果建议的变更前提条件在当前状态中不存在,并且将不会由经排序的变更列表中的该建议的变更前面的建议的变更来提供,那么将引发错误并将其呈现给用户,且不提交建议的变更。除指示提交是否成功之外,提交还可以返回标识符及其他返回值。
对于一些实施例,用户观察多用户数据库应用程序环境的值。用户向编辑器递交对至少一些观察值的多个建议的变更。建议的变更可涉及变更类别中的两个或三个,即,数据变更、模式变更、应用程序变更,并且用户还可以指定属于这些类别中的一个或多个的项之间的外键和/或其他关系。用户命令编辑器将所有建议的变更一起提交,而不是试图逐个地提交变更,且伴随有中间结果以及其他用户可能作出的中间活动。用户接收对“提交所有变更”命令的响应,该响应指示任何建议的变更是否与在观察和递交步骤之后并且在命令步骤之前作出的另一个变更不一致。例如,对一个数据值的建议的变更可能与移除包含该数据值的数据元素的变更不一致,如果移除是在观察和递交步骤之后并且在命令步骤之前发生的话。也可以检测和报告其他不一致性。
一些实施例包括可以从用户姿势产生差异图(diffgram)的差异(diff)管理器;差异图表示对观察数据、模式和/或应用程序值的建议的变更。用户专用变更缓存为特定用户维护差异图的集合,并产生多用户数据库应用 程序环境的视图,该视图反映了建议的变更差异图如果被提交则对环境将具有的影响。查询更新引擎可以访问数据值、模式值,以及应用程序值的共享多用户存储。这些类别中的每一个类别的值变更可被递交给共享多用户存储以便提交。值变更可以建议例如对数据库的关系值的变更和/或对应用程序描述的图对象的变更。值变更可包括乐观并发性检验或对与先前状态的一致性的检验的上下文中的SQL语句。提交尝试的结果可以由查询更新引擎来检测并报告回用户。
所给出的示例只是说明性的。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。相反地,提供本发明内容是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。利用权利要求书定义本发明,在本发明内容与权利要求书有冲突的情况下,应该以权利要求书为准。
附图说明
将参考附图给出更具体的描述。这些附图只示出了选定的方面,且因此不完全确定覆盖或范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110168127.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种养殖兔类用的自动投料机
- 下一篇:一种全自动脱气机
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置