当前位置: 首页 > 专利查询>微软公司专利>正文

校验对数据存储器的动态生成操作制造技术

技术编号:2855184 阅读:144 留言:0更新日期:2012-04-11 18:40
校验对数据存储器的动态生成操作包括执行用于访问数据存储器的设置动作,该设置动作至少部分地基于对将产生的动态生成操作的请求。设置动作的执行包括对部分数据存储器设置许可以建立数据存储器的受限制部分和数据存储器的未受限制部分,以及使用一种或多种其它技术来检查是否对未受限制部分作了任何非期望改变,或锁定对未受限制部分中各部分的访问。在执行动态生成操作之后,校验非期望工作未由动态生成操作执行。如果非期望工作已执行,则操作被确定为对于该请求不正确。

【技术实现步骤摘要】

本专利技术涉及测试和校验,尤其涉及对数据存储器校验动态生成操作。
技术介绍
随着计算机技术的进步,存储装置的容量增大。一个或多个这种存储装置可被视为数据存储器,且不同的技术已被开发来维护和访问包括在数据存储器中的大量数据。由于用来访问数据的技术随着时间可细化和变化,正在开发抽象访问数据的细节的产品。然后这种抽象产品可由应用程序开发者利用以便访问已存储的数据。因而,应用程序开发者可与抽象产品的更便于使用接口交互,并依赖于该抽象产品来理解访问存储装置的细节。通常,这些抽象产品将从应用程序接收的请求或指令从一种格式转换成数据存储器理解的另一种格式。例如,来自应用程序的对改变特定数据值的请求(例如以一编程语言)可由抽象产品转换成查找数据存储器一部分然后将新数据写在数据存储器的那部分的一系列操作(例如一系列SQL语句)。这种抽象产品可遇到的一个问题是必须小心以确保该转换正确地进行。如果转换未正确进行,则应用程序请求的结果可能不准确,且不能依赖于抽象产品作准确操作。可解决该问题的一种方法是通过在给定抽象产品所接收的请求时分析由该抽象产品生成的操作或指令,并确定那些操作或指令是否准确来测试该抽象产品。然而,这样的分析和确定非常困难,特别是考虑到抽象产品所生成的操作或指令的格式,以及特定的操作和指令本身在持续地变化的事实。因而,具有一种更好的校验抽象产品正确转换所接收请求和命令的方法将是有益的。
技术实现思路
在此描述校验对数据存储器的动态生成操作。根据某些方面,对数据存储器设置许可以允许仅访问数据存储器的未受限制部分。数据存储器的未受限制部分排除了不应由因请求而动态生成的对数据存储器的一个或多个操作访问的数据存储器的第一部分。在执行对数据存储器的一个或多个操作之后,检查对该未受限制部分是否有任何非预期改变。根据其它方面,对数据存储器设置许可以允许仅访问数据存储器的未受限制部分。数据存储器的未受限制部分排除了不应由因请求而动态生成的对数据存储器的一个或多个操作访问的数据存储器的第一部分。此外,锁定对不应由一个或多个操作访问的数据存储器一部分的访问,该数据存储器部分被包括在未受限制部分中。附图说明在本文档中使用相同标号来标示类似组件和/或特征。图1是示出可执行对数据存储器的动态生成操作的校验的示例环境的框图。图2是示出用于对数据存储器校验动态生成操作的示例过程的流程图。图3更详细地示出一示例数据集成管理器。图4是示出用于校验动态生成操作未执行非预期工作的示例过程的流程图。图5是示出用于校验动态生成操作未执行非预期工作的另一示例过程的流程图。图6是示出用于校验不应由动态生成操作访问的数据存储器的各部分未被动态生成操作访问的示例过程的流程图。图7示出可被用来实现在此所述技术的一通用计算机环境。具体实施例方式在此描述校验对数据存储器的动态生成操作。当作出涉及对数据存储器的访问的请求时,一个或多个操作以请求者名义动态生成,且该一个或多个操作被发送给执行这些操作的数据存储器。检查是否已执行了根据请求期望在数据存储器上执行的工作,并检查是否未执行根据请求不期望在数据存储器上执行的工作。如果这些检查指示执行了期望工作且未执行非期望工作,则这些因请求而动态生成的操作被证实是准确的。可使用各种不同技术来校验未对数据存储器执行非期望工作。图1是示出可执行对数据存储器的动态生成操作的校验的示例环境100的框图。环境100包括数据集成管理器102、操作发生器104、数据存储器106和应用程序108。数据存储器106可以是任何存储数据的系统。例如,数据存储器106可以是诸如微软SQL服务器数据库的数据库(例如关系数据库或非关系数据库)。数据存储器106可有选择地是任何其它类型的结构化和持久存储器,通过它应用程序可使用该存储器来查询、插入、更新、或删除其数据内容,诸如可扩展标记语言(XML)文档、文件系统等。操作发生器104是作为应用程序108和数据存储器106之间一中间体操作的抽象组件。对访问数据存储器106的请求可由应用程序108对操作发生器104作出,而该操作发生器104随后动态生成对数据存储器106执行的一个或多个操作。由于这些操作由操作发生器基于从应用程序108接收的特定请求而生成,这些操作被视为是动态生成的。由应用程序108作出的请求可包括,例如从数据存储器106检索数据的请求、更改数据存储器106中数据的请求、将数据添加到数据存储器106的请求、以及从数据存储器106删除数据的请求。由操作发生器108动态生成的操作可用各种常规方法的任一种生成,且将至少部分地依赖于从应用程序108接收的特定请求以及由数据存储器106提供的存储器本性或类型。由操作发生器108动态生成的操作可以是查询、数据处理语句、请求、命令、指令等。例如,由操作发生器108动态生成的操作可包括从数据存储器106读取数据的操作、将数据写入数据存储器106的操作、在数据存储器106中创建数据新条目的操作(例如在数据库表格中创建新行)、以及在数据存储器106中删除数据条目的操作(例如从数据库表格中删除行)。应用程序108可以是访问数据存储器106的各种不同应用程序的任一种(例如计算机程序)。此外,尽管在图1仅示出单个应用程序108,应注意多个应用程序可通过操作发生器104访问数据存储器106。在某些实施例中,应用程序108是被设计成测试操作发生器104的一测试应用程序,它向操作发生器104发送各种请求从而可校验发生器104在动态生成操作中的行为。在其它实施例中,应用程序108可以是非测试应用程序,但使用数据集成管理器102来校验操作发生器104在正常工作。在某些实施例中,访问数据存储器106的每个组件或模块,诸如操作发生器104或数据集成管理器102,通过连接进行访问。该组件或模块通过连接登录数据存储器106。操作发生器104作为一特定用户(可指人类用户或仅是某标识符)登录数据存储器106,并可并发多次地登录数据存储器106。该连接具有一个与其相关联的权限或许可集,它们标识使用该连接的组件被允许在数据存储器106上动作。例如,某一组件可被允许访问数据存储器106的某些部分,或可被允许从数据存储器106读取但不允许写入。组件或模块通过该连接与数据存储器106通信,但仅有满足连接限制的操作才能由数据存储器106执行。数据集成管理器102使用到数据存储器106的未受限制连接110。数据集成管理器102未被禁止对数据存储器106执行任何操作。另一方面,操作发生器104使用到数据存储器106的受限制连接112。基于已由应用程序108发出的特定请求,操作发生器104被禁止对数据存储器106执行某些操作。数据集成管理器102对受限制连接112设置这些限制,如下进行更详细讨论。图2是示出用于校验对数据存储器的动态生成操作的示例过程200的流程图。过程200可用软件、固件、硬件或其组合执行。图2参照图1环境100的组件进行讨论。对由应用程序108发送给操作发生器104的多个请求(例如所有请求)的每一个重复过程200。开始时,执行对数据存储器106的访问的设置动作(动作202)。如果受限制连接112尚未存在,则在动作202创建。如下将要更详细讨论地,这些设置动作可包括例如,准予或拒本文档来自技高网...

【技术保护点】
一种或多种具有存储其上的多个指令的计算机可读介质,其特征在于,所述指令在由装置的一个或多个处理器执行时使得所述一个或多个处理器:对数据存储器设置许可以允许仅访问所述数据存储器的未受限制部分,所述数据存储器的未受限制部分排除了不应被因请求而动态生成的对所述数据存储器的一个或多个操作访问的所述数据存储器的第一部分;以及在执行所述一个或多个操作之后,检查是否对所述未受限制部分作了任何非期望改变。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:DE希帕G吴JM史东三世JE利德J拜尔德SB伯格丹
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1