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

用于数据库系统中大对象基础结构的系统和方法技术方案

技术编号:2856290 阅读:182 留言:0更新日期:2012-04-11 18:40
本发明专利技术各实施例涉及利用作为较大值内部表示的二进制大型对象句柄(BH)。BH是对较大数据对象的不可变和无状态的引用。BH的结构包含返回ILockBytes接口的足够信息以便提供对相应大数据块的访问,并且BH还可返回有关它自己寿命描述的信息。可使用(a)指向BH数据开始处的指针和(b)BH的字节长度来完整地描述BH。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术一般涉及数据库系统领域,尤其涉及用于提供大对象基础结构的系统和方法,该基础结构可用于大对象数据类型(文本、n文本和图像)的重新实现以支持大的用户定义类型以及诸如XML的其它新的数据类型。
技术介绍
在包括微软SQL Server先前发布版本的数据库存储平台中,由于复制小值对象所涉及额外成本相对较小,无需考虑这些额外成本。然而,对于大值对象,额外成本就高得多且可负面地影响整体性能。迄今为止使用大对象(LOB)数据类型-文本、n文本和图像数据类型-来存储大对象以克服varchar(字符串变量)、nvarchar(n字符串变量)和varbinary(二进制变量)类型的尺寸限制,因为大对象值对这些最适合小数据对象的数据类型而言太大。然而,对带有大对象的编程模型所允许的以及导致大对象的易错误实现的基础结构都有很多限制。例如,对LOB不允许大多数字符串功能和操作符,并且特别是有关插入和删除中的文本指针功能也有缺点。(文本指针是SQL Server先前版本中用作行定位符的物理引用。)此外,没有用于一次更改LOB的一个或多个行的有效方法,也不支持LOB变量或任意类型的LOB的复制功能。这些和其它限制导致LOB明显地与其它数据类型不同且因此更难使用。需要的是一种大对象基础结构,其中用户/编程人员可用处理较小值的相同方法来处理较大值(数据块),从而在较小值和较大值的处理中消除用户可感知的差异,以便提供单个综合性的编程模型。
技术实现思路
本专利技术的各个实施例涉及用于提供一种基础结构的系统和方法,该基础结构可用于将文本、n文本和图像数据类型重新实现为新的varchar(MAX)、nvarchar(MAX)、varbinary(MAX)和XML数据类型,并支持较大的用户定义类型(UDT),还使能对其它新数据类型和编程模型结构的支持。本专利技术的若干实施例还涉及提供一数据处理基础结构,其中用户/编程人员可用处理较小值的相同方法来处理较大值(数据对象),从而消除较小值和较大值之间的差异,以便提供单个综合性的编程模型。这些不同的实施例利用作为较大值内部表示的二进制大型对象句柄(BlobHandle,BH)。BH是对较大数据的不可变和无状态的引用。BH的结构包含返回IlockBytes接口的足够信息以便提供对相应大数据块的访问,并且BH还可返回有关它自己寿命描述的信息。这些概念和元素如下作更详细描述。附图说明结合附图阅读前面的
技术实现思路
和以下较佳实施例的详细描述,能得到更好的理解。为了说明本专利技术各实施例,在附图中示出本专利技术的示例性结构;然而,本专利技术并不限于所揭示的特定方法和装置。在附图中图1是示出本专利技术各方面可结合其中的计算机系统的框图;图2是示出本专利技术各方面可结合其中的网络的示意图;图3A是示出在本专利技术个实施例中二进制大型对象句柄(BH)的一般组件的框图;图3B是根据本专利技术各实施例示出一值完全包含其中的BH的框图;图4A是示出均指向用于读取类型操作的同一数据块的原始BH和表示虚拟副本的第二BH的框图;图4B是来自图4A的BH的框图,其中写操作由任一BH调用而第二BH指向数据块的新创建副本。具体实施例方式本专利技术的主题是专门为满足法定需求而进行描述的。然而,该描述本身并不是要限制本专利的范围。相反,专利技术者已经预期到已声明主题也能结合其它现有或以后的技术用其它方式体现,以包括不同的步骤或类似于本文档中所述步骤的组合。此外,尽管术语“步骤”在此可用以暗示所用方法的不同元素,该术语不应被解释为暗示在此揭示的不同步骤之间或当中的任何特定次序,除非明确地说明各个步骤的次序时。计算机环境本专利技术的众多实施例可在计算机上执行。图1和以下讨论旨在提供一种本专利技术可在其中实现的适当计算环境的简要一般说明。尽管不是必需的,本专利技术可在由诸如客户机工作站或服务器的计算机执行的诸如程序模块的计算机可执行指令的一般上下文中进行说明。通常,程序模块包括执行特定任务或实现具体抽象数据类型的例程、程序、对象、组件、数据结构等等。此外,本领域技术人员将理解本专利技术可在其它计算机系统配置中实践,包括手持式装置、多处理器系统、基于微处理器的或可编程的电器消费品、网络PC、小型计算机、大型计算机等等。本专利技术还可在任务由经通信网络链接的远程处理装置执行的分布式计算环境中实践。在分布式计算环境中,程序模块可被置于本地和远程存储器存储设备中。如图1所示,示例性通用计算系统具有常规个人计算机20等,包括处理单元21、系统存储器22以及把包括系统存储器的各种系统组件耦合到处理单元21的系统总线23。系统总线23可以是若干总线结构类型中的任何一种,包括存储器总线或存储器控制器、外围总线、以及使用多种总线体系结构的任一种的局部总线。系统存储器包括只读存储器(ROM)24和随机存储器(RAM)25。含有帮助如启动期间在个人计算机20中元件之间信息交换的基本例程的基本输入/输出系统(BIOS)26存储在ROM 24中。个人计算机20还包括读取和写入硬盘(未示出)的硬盘驱动器27、读取或写入可移动磁盘29的磁盘驱动器28、以及读取或写入诸如CD ROM或其它光学介质等可移动光盘31的光盘驱动器30。硬盘驱动器27、磁盘驱动器28和光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33和光盘驱动器接口34连接至系统总线23。诸驱动器及其相关联计算机可读介质为个人计算机20提供计算机可执行指令、数据结构、程序模块和其它数据的非易失性储存。尽管在此所述示例性环境采用了硬盘、可移动磁盘29和可移动光盘31,但本领域技术人员应理解也可在示例性操作环境中使用其它类型计算机可访问的能够存储数据的计算机可读介质,诸如磁盒、闪存卡、数字视频盘、Bernoulli卡、随机存取存储器(RAM)、只读存储器(ROM)等。包括操作系统35、一个或多个应用程序36、其它程序模块37和程序数据38的众多程序模块,可存储在硬盘、磁盘29、光盘31、ROM 24或RAM 25中。用户可通过诸如键盘40和定位装置42的输入装置把命指令和信息输入个人计算机20。其它输入装置(未示出)可包括诸如话筒、操纵戏杆、游戏垫、卫星接收天线、扫描仪等等。这些和其它输入装置常常通过与系统总线相耦合的串行端口接口46连接到处理单元21,但是它也可通过其它接口相连,如并行端口、游戏端口或通用串行总线(USB)。监视器47或其它类型的显示装置也通过诸如视频适配器48的接口和系统总线23相连。除了显示器47,个人计算机通常包括其它外围输出装置(未示出),如扬声器和打印机。图1的示例性系统还包括主机适配器55、小型计算机系统接口(SCSI)总线56、以及与SCSI总线56相连的外部存储装置62。个人计算机20可以在使用与一台或多台远程计算机,诸如远程计算机49的逻辑连接的网络化环境中运行。远程计算机49可以是另一台个人计算机、服务器、路由器、网络PC、对等装置或其它公共网络节点,而且通常包括上述与个人计算机20相关的许多或全部元件,尽管在图1中仅显示了存储器存储装置50。图1中所描绘的逻辑连接包括局域网(LAN)51和广域网(WAN)52。这样的网络化环境在办公室、企业范围计算机网络、内联网和因特网上是常见的。当用于LAN网络环境中时,个人计算本文档来自技高网
...

【技术保护点】
一种用于在计算机系统中处理较大数据对象的方法,其特征在于,所述方法包括创建表示所述较大数据对象的一处理结构,其中所述处理结构可通过可用于较小数据对象但不能处理所述较大数据对象的功能、操作等由所述计算机系统来处理。

【技术特征摘要】
【国外来华专利技术】US 2004-2-10 10/776,6641.一种用于在计算机系统中处理较大数据对象的方法,其特征在于,所述方法包括创建表示所述较大数据对象的一处理结构,其中所述处理结构可通过可用于较小数据对象但不能处理所述较大数据对象的功能、操作等由所述计算机系统来处理。2.如权利要求1所述的方法,其特征在于,指向第一较大数据对象的第一处理结构通过创建指向所述同一第一较大数据对象的第二处理结构来虚拟地复制,假设所述第一处理结构和所述第二处理结构不将变化写入所述第一较大数据对象。3.如权利要求2所述的方法,其特征在于,如果所述第一处理结构必须将变化写入所述第一较大数据对象,则所述第一较大数据对象被复制到第二较大数据对象中且所述第二处理结构在所述第一处理结构将所述变化写入所述第一较大数据对象之前就指向所述第二较大数据对象。4.如权利要求2所述的方法,其特征在于,如果所述第二处理结构必须将变化写入所述第一较大数据对象,则所述第一较大数据对象被复制到第二较大数据对象中且所述第二处理结构指向所述第二较大数据对象,且所述第二处理结构将把所述变化写入所述第二较大数据对象。5.如权利要求1所述的方法,其特征在于,用相应处理结构将具有一类型的数据对象转换成较大数据对象,该类型来自包括文本、n文本和图像数据类型(或其等效实体)的类型组。6.如权利要求5所述的方法,其特征在于,类型为文本、n文本、或图像数据类型(或等效数据类型)的数据对象被分别转换成类型varchar(MAX)、nvarchar(MAX)和varbinary(MAX)的数据对象,其中varchar(MAX)、nvarchar(MAX)和varbinary(MAX)包括一处理结构而MAX对应于预定的最大尺寸值。7.如权利要求1所述的方法,其特征在于,所述处理结构对应于较小值数据对象,且所述较小值数据对象完全存储于所述处理结构中。8.如权利要求1所述的方法,其特征在于,还包括用于所述处理结构的删除操作,其中如果所述处理结构是第一类型的,则删除所述处理结构和相应的较大数据对象,且其中如果所述处理结构是第二类型的,则删除所述处理结构而不删除所述相应的较大数据对象。9.如权利要求1所述的方法,其特征在于,所述处理结构具有寿命,且所述处理结构包括具有与所述寿命相对应的值的一字段。10.如权利要求1所述的方法,其特征在于,所述处理结构响应于处理结构的需要由处理结构工厂创建。11.一种用于在计算机系统中处理较大数据对象的系统,其特征在于,所述方法包括用于创建表示所述较大数据对象的一处理结构的子系统,其中所述处理结构可通过可用于较小数据对象但不能处理所述较大数据对象的功能、操作等由所述计算机系统来处理。12.如权利要求11所述的系统,其特征在于,指向第一较大数据对象的第一处理结构通过创建指向所述同一第一较大数据对象的第二处理结构来虚拟地复制,假设所述第一处理结构和所述第二处理结构不将变化写入所述第一较大数据对象。13.如权利要求12所述的系统,其特征在于,如果所述第一处理结构必须将变化写入所述第一较大数据对象,则所述第一较大数据对象被复制到第二较大数据对象中且所述第二处理结构在所述第一处理结构将所述变化写入所述第一较大数据对象之前就指向所述第二较大数据对象。14.如权利要求12所述的系统,其特征在于,如果所述第二处理结构必须将变化写入所述第一较大数据对象,则所述第一较大数据对象被复制到第二较大数据对象中且所述第二处理结构指向所述第二较大数据对象,且所述第二处理结构将把所述变化写入所述第二较大数据对象。15.如权利要求11所述的系统,其特征在于,用相应处理结构将具有一类型的数据对象转换成较大数据对象,该类型来自包括文本、n文本和图像数据类型(或其等效实体)的类型组。16.如权利要求15所述的系统,其特征在于,类...

【专利技术属性】
技术研发人员:S阿施威恩JA布莱克雷P卡林J方A卡尔汉C科兰纳曼S斯特凡尼A瑟纳H张
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

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

1