CN1841378B - 用于对udt的数据格式执行流式检查的系统和方法 - Google Patents

用于对udt的数据格式执行流式检查的系统和方法 Download PDF

Info

Publication number
CN1841378B
CN1841378B CN2006100515643A CN200610051564A CN1841378B CN 1841378 B CN1841378 B CN 1841378B CN 2006100515643 A CN2006100515643 A CN 2006100515643A CN 200610051564 A CN200610051564 A CN 200610051564A CN 1841378 B CN1841378 B CN 1841378B
Authority
CN
China
Prior art keywords
data block
udt
fragment
data
udt fragment
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.)
Expired - Fee Related
Application number
CN2006100515643A
Other languages
English (en)
Other versions
CN1841378A (zh
Inventor
P·S·兰多
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 CN1841378A publication Critical patent/CN1841378A/zh
Application granted granted Critical
Publication of CN1841378B publication Critical patent/CN1841378B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2291User-Defined Types; Storage management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • G06F16/24565Triggers; Constraints
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及使用数据流对用户定义类型(UDT)片段执行一致性检查而无需对数据进行批发复制的系统和方法。流式一致性检查便于尽快发现无效片段,从而不必读取、存储、分析整个UDT片段等等。此外,UDT片段无需完全物化就可进行评估;因此,和常规技术相比,使用本发明的系统和/或方法通过减少所需资源并实现无效结构的更快检测来产生提高的性能。

Description

用于对UDT的数据格式执行流式检查的系统和方法
技术领域
本发明一般涉及一致性检查,尤其涉及便于经由流式检查对用户定义类型(UDT)片段的分析和验证一致性,而无需对数据进行批发复制的系统和方法。
背景技术
数据库是由预定义格式的数据库管理系统(DBMS)创建和管理的相关文件或数据的集合。例如,DBMS可被排列在包含行与列的表格中。可根据查询语言(例如,结构化查询语言(SQL))来构造查询以便于访问数据库中表格的内容。类似地,数据可经由外部源被输入(例如导入)到表格中。通常,DBMS可管理任何形式的数据,包括文本、图像、声音和视频。据此,数据库和文件结构是由软件应用程序确定的。
DBMS可使用预定义的简单数据类型,它们可指根据存储其中的数据种类确定的变量的类别。例如,整数、浮点、字符串、日期、二进制数、布尔、字符、短整型和长整型都是常用的简单数据类型。近来,人们针对用户定义类型(UDT)的使用投入大量精力,以提高DBMS的存储灵活性和管理。更特别地,UDT的功能向开发者和用户提供了创建与特定数据库应用程序相兼容的UDT的灵活性(例如,经由声明性语言)。
UDT实现存储环境(例如,DBMS)内对复型的建模和操纵。UDT还提供诸如继承、包含和多值嵌入等概念。UDT可包括一系列不同类型的片段(例如,整数、浮点、字符串、日期、二进制数、布尔、字符、短整型、长整型……)。例如UDT片段可以是具有相关联元数据的UDT的一部分(例如,对于与个人相关的UDT,一个片段可保存该个人的名字,另一个片断可与该个人的地址相关……)。UDT片段的大小可根据其类型和/或相关联的有效负荷而变化。UDT可被存储在一个或多个数据页中和/或作为一个或多个数据分组的一部分被传输。由于它们变化大小的原因,在存储时UDT和/或UDT片段可在不同的数据页之间拆分(或者在传输时在不同的数据分组之间拆分)。例如,如果在一数据页内没有足够的空闲空间来存储UDT和/或UDT片段,则该UDT和/或UDT片段可被拆分。例如,10,000字节的UDT不能被存储在一个8192字节的数据页中;因此,该UDT在数据页之间被拆分。此外,根据UDT拆分的位置,UDT片段的各个部分可在不同的数据页之间被分开。UDT片段的拆分可能引起简单数据类型被拆分;作为示例,四字节的整数可被存储为第一字节存储在第一数据页中,而其余三个字节存储在另外的一个或多个数据页中。
通常,在对分段执行一致性检查以前,必须在存储器中使整个片段物化。因此,在片段在两个不同的数据页或数据分组之间拆分的情形中,该片段的两个部分必须都被复制到存储器的另一个区域中以便于进一步处理。因此,当前所采用的技术在存储器和处理资源的意义上是昂贵的。此外,当片段大小(因而相关联数据页或数据分组的数量)增长时,这一开销也随之增长。
发明内容
以下给出本发明的简单概述以提供对本发明的一些方面的基本理解。此概述不是本发明的详尽概览。它既不试图标识本发明的关键性或决定性元素,也不试图界定本发明的范围。它唯一的目的是以简化形式给出本发明的一些概念以作为稍后给出的更详细描述的序言。
本发明涉及使用数据流对用户定义类型(UDT)片段执行一致性检查而无需对数据进行批发复制的系统和方法。流式一致性检查便于尽快发现无效片段,从而不必读取、存储、分析整个UDT片段等等。此外,UDT片段无需完全物化即可进行评估;因此,与常规技术相比,使用本发明的系统和/或方法可通过减少所需资源和实现无效结构的更快检测而产生改善的性能。
根据本发明的一个方面,提供一种便于评估用户定义类型(UDT)片段是否有错误的系统。该系统包括数据块处理组件,它接收包括UDT片段的数据块流,标识每个UDT片段的片段类型(例如当遇到新片段的开始时),并在处理数据块时将其丢弃。此外,该系统还包括检查对象,它部分地基于对应的已标识片段类型来检查UDT片段,并在适当的时候生成错误指示。检查对象可便于例如物化已在数据块之间拆分的基本数据类型。
依照本发明的另一个方面,提供一种便于对UDT进行一致性检查的方法。该方法可包括接收包含UDT片段的数据块,标识这些UDT片段的类型,使用相应的检查对象来确定其中是否有任何UDT片段包括错误,并在处理数据块之后将其丢弃。
根据本发明的又一个方面,可提供一种分析数据结构是否有错误的系统。该系统可包括用于接收包括数据结构的数据块流的装置、用于标识不同类型的数据块的装置,使用相应的检查对象来标识数据结构中所包括错误的装置、以及用于在处理数据块时将其从流中丢弃的装置。
以下描述和附图详细地阐述了本发明的某些示例性方面。但是,这些方面仅指示了可使用本发明原理的各种方式中的几种,并且旨在使本发明包括所有这些方面及其等效技术方案。当结合附图考虑时,本发明的其它优点和新颖特征将从以下对本发明的详细描述中变得显而易见。
附图说明
图1根据本发明的一个方面示出一种便于分析数据结构以确定错误的存在的系统的框图。
图2根据本发明的一个方面示出一种便于经由使用流式检查来分析和/或验证UDT片段的系统的框图。
图3根据本发明的一个方面示出一种经由对每个UDT片段类型使用相应检查对象来执行流式检查以检测无效结构的系统的框图。
图4根据本发明的一个方面示出一种使用可存储最少数据的流式检查来评估UDT片段的有效性的系统的框图。
图5根据本发明的一个方面示出一种生成可用来评估对应UDT片段的检查对象的系统的框图。
图6根据本发明的一个方面示出一种便于使用流式检查来评估UDT片段是否有错误的示例性方法的流程图。
图7根据本发明的一个方面示出一种便于经由评估检查的进度来对UDT片段执行流式一致性检查的示例性方法的流程图。
图8根据本发明的一个方面示出一种便于分析UDT片段是否有错误并在标识出错误时即停止流式检查的示例性方法的流程图。
图9示出一种示例性网络环境,其中可使用本发明的各个新颖性方面。
图10示出一种示例性操作环境,其中可使用本发明的各个新颖性方面。
具体实施方式
本发明涉及使用数据流对用户定义类型(UDT)片段执行一致性检查而无需对数据进行批发复制的系统和方法。流式一致性检查便于尽快发现无效片段,从而不必读取、存储、分析整个UDT片段等等。此外,UDT片段无需完全物化即可进行评估;因此,与常规技术相比,使用本发明的系统和/或方法可通过减少所需资源和实现无效结构的更快检测而产生改善的性能。
如在此申请中所使用的,术语“组件”、“系统”、“对象”、“检测器”、“检查器”、“激活器”、“生成器”等意指计算机相关实体,这些实体是硬件、软件(例如,执行中的软件)和/或固件。例如,组件可以是处理器上运行的进程、处理器、对象、可执行码、程序和/或计算机。作为示例,在服务器上运行的应用程序和该服务器都可以是组件。一个或多个组件可驻留在进程内,且组件可限于一台计算机上和/或可分布在两台或多台计算机之间。
本发明参考附图进行描述,其中贯穿全文使用相同的参考标号来指相同的元素。在以下描述中,为解释目的,阐述了许多特定细节以提供对本发明的彻底理解。但是,显然无需这些特定细节也可实施本发明。在其它实例中,以框图形式示出众所周知的结构和设备以便于描述本发明。
图1根据本发明的一个方面示出便于分析数据结构以确定错误的存在的系统100。系统100包括数据结构流式检查器105,它接收数据流(例如,数据块1110、数据块2115、……数据块N 120,其中N是任何正整数,以下称之为数据块110-120)并提供数据结构一致性检查结果。数据结构流式检查器105在无需对包含在数据块110-120内的数据进行批发存储就可评估包括在所输入数据块110-120的流内的数据结构(例如,用户定义类型(UDT)片段)。由数据结构流式检查器105生成的数据结构一致性检查结果可以是错误通知、表示没有错误的指示等等。该数据结构一致性检查结果可被系统100(例如,作为可用来停止数据块110-120的流、用来中断数据结构流式检查器105的处理等的反馈等)、不同的软件应用程序(未示出)和/或硬件设备(未示出)使用。此外(或者),可向用户呈现数据结构一致性检查结果(例如,经由警告、视觉显示、日志文件、……)。
数据结构流式检查器105包括数据块处理组件125和检查对象130。数据块处理组件125接收并处理数据块110-120。作为示例,数据块处理组件125可接收并处理数据块1110直至数据块1110穷尽,然后将数据块1110丢弃;然后,数据块处理组件125可类似地接收、处理和丢弃其它数据块115-120,直至所有这些数据块都已被评估。当在处理数据块1110时(以及类似地其它数据块115-120),数据块处理组件125可跟踪数据块1110内的当前位置,并在数据块1110内的特定位置激活与该数据结构相关联的相关检查对象130。
检查对象130对为之激活检查对象的数据结构执行一致性检查。例如,检查对象130可用来确定数据结构内错误的存在。检查对象130无需物化整个数据结构就可以流式方式评估数据结构;相反,常规技术通常需要将整个数据结构复制到存储器中然后再评估所存储的数据结构。检查对象130还可便于物化与已在不同的数据块110-120之间拆分的数据结构相关联的基本数据类型。
数据块110-120可包括任意数量的数据结构(例如,一个或多个UDT片段)。每个数据块110-120都可以是一数据页,它根据盘上格式进行存储,并用来存储该一个或多个数据结构。此外(或者),每个数据块110-120都可以是一个数据分组,它可在诸如网络环境中的多个设备之间传输(例如,以线上格式、……)。
数据块110-120可以是任意长度的(例如,1个字节、无穷大、……),只要该长度是已知的和/或可确定的。例如,数据块110-120的大小可以是数据块处理组件125已知的预设长度。或者,数据块处理组件125可标识数据块110-120的长度。数据块110-120的大小在处理期间被数据块处理组件125和/或检查对象130用来检测数据块110-120的结束。根据一个示例,数据页(和/或数据分组)的大小可以是八千字节;但是本发明不限于此。
存储在数据块110-120(例如,数据页、数据分组、……)内的数据结构的大小可根据数据类型和/或相关联的有效负荷而有所不同。或者,其中一些数据结构可具有设定的长度和/或结构。一个数据结构不必全部存储在单个数据块(例如,数据块1110)内。一个数据结构可与任意数量的数据块110-120和/或数据块110-120的各个部分相关联。根据一个示例,一数据结构的一半可以在第一数据块(例如,数据块1110)的结束处,而该片段的另一半可存在于下一个数据块(例如,数据块2115)内。数据结构拆分的位置可以是与数据块(例如,数据块1110)相关联的可用空间量的函数,从而该数据结构的其余部分可按需存在于一个或多个后续数据块内(例如,数据块2115、……、数据块N 120)。
参考图2,所示为根据本发明的一个方面的便于经由流式检查来分析和/或验证UDT片段的系统200。系统200包括片段流式检查器205(例如,数据结构流式检查器105),它分析所输入数据块(例如,数据块1210、数据块2215……数据块N 220)的流并生成UDT一致性检查结果。片段流式检查器205可确定例如包括在数据块210-220内的UDT片段包括一个或多个错误,或者该UDT片段没有错误。可生成的错误的例子有:UDT片段是未知类型、短于其类型的最小长度、和/或保留位有不正确的值;但是,本发明不限于此。
片段流式检查器205包括接收所输入数据块210-220的流的数据块处理组件225以及检查对象230。数据块处理组件225还包括片段类型检测器235。片段类型检测器235评估与经由数据块处理组件225接收的数据块210-220相关联的数据。特别地,片段类型检测器235标识数据块210-220内特定UDT片段的唯一结构属性,以确定该片段的数据类型。例如,片段类型检测器235可分析UDT片段开始处指示片段类型的类型字;但是本发明不限于此。
因此,作为示例,数据块处理组件225可接收数据块1210,而数据块1210可提供给片段类型检测器235。片段类型检测器235可确定UDT片段位于数据块210内的特定位置。此外,片段类型检测器235可标识与每个UDT片段相关联的数据类型(例如,整数、浮点、字符串、日期、二进制数、布尔、字符、短整型、长整型、……)和/或UDT片段是集合的开始、集合的结束、空值还是UDT开始;但是,本发明不限于此。片段类型检测器235然后可将所标识的类型信息提供给检查对象230,后者可基于类型适当地检查该UDT片段。或者(另外),片段类型检测器235可启动与所标识类型相关的特定检查对象230。然后,检查对象230对特定UDT片段执行一致性检查,这可产生UDT一致性检查结果。
片段流式检查器205可分析存在于数据块210-220内的UDT片段。UDT是实现存储环境内对复型的建模和操纵的一种数据库可扩展性机制。UDT可包括一系列不同类型(例如,整数、浮点、字符串、日期、二进制数、布尔、字符、短整型、长整型、……)的片段。UDT片段可包括指示片段类型的元数据。此元数据可被片段类型检测器235用来确定片段类型。例如,可基于所确定的片段类型来使用相应的检查对象230。此外(或者),检查对象230可就所确定的片段类型来评估UDT片段以标识错误的存在。片段的大小根据数据类型和/或相关联的有效负荷而变化。或者,一些片段可具有设定的长度和/或结构。
作为示例而非限制,可使用UDT来标识与人相关联的信息。因此,UDT可具有与名、姓、年龄、性别、电话号码列表、地址列表、相关联人员列表(例如,亲戚、同事、……)等相关联的不同片段。依照此例,可对与名和姓相关联的片段使用字符数据类型,可使用整数数据类型来表示年龄,并使用布尔数据类型来表示性别(例如,男或女)。此外,电话号码可作为列表来存储,其中每个电话号码都使用字符数据类型。此外,每个地址可以是各种类型的组合,因为地址可包括门牌号、街道、房间号、镇/市、州、邮政编码、国家等等。UDT还可具有表示UDT在数据块210-220内的起点的开始片段、分别指示列表的开始和结束的集合开始和集合结束、和/或空元素。开始片段、集合开始、结合结束和/或空元素可具有设定的长度和/或结构。集合的一个示例为电话号码列表,而集合开始和集合结束可指定其间为集合成员的某些UDT片段。
UDT片段不必全部存储在一数据页内。例如,一个片段的一半可在一个数据页的结束处,而该片段的另一半可存储在下一个数据页上。本发明设想UDT片段可跨越数据页的任意部分和/或任意数量的数据页。拆分片段的位置可以是任意的,从而UDT片段根据可用空间的大小被部分地存储在第一数据页上,而其余部分被分开存储在另一不同的数据页上。根据示例,如果UDT片段是6000字节,但一数据页只有2000字节的可用空间(例如,数据块1210只有2000字节可用),则其余的4000字节将存储在另一不同的数据页上(例如,数据块2215可存储其余部分)。依照此例,片段流式检查器205可在数据块210-220正在流式传输时提供数据结构一致性检查结果。当UDT片段在不同的数据块210-220之间拆分时,检查对象230可跟踪在第一数据块(例如,数据块1210)穷尽的点上该检查在UDT片段上已进展到什么程度,并可仅存储与UDT片段相关联的最少元数据以便于检查在下一个数据块(例如,数据块2215)中开始的该UDT片段的其余部分。所存储的元数据可使检查对象230能够继续检查UDT片段的其余部分,而无须重新评估与第一数据块(例如,数据块1210)相关联的先前已分析部分。此外,元数据可描述UDT片段的结构,而不存储UDT片段的列值。或者,与上例相关的常规技术将把2000字节部分和4000字节部分都复制到存储器中,然后再处理数据。
UDT片段可在用于传输的数据分组中进行类似的格式化。当前所使用的数据分组一致性检查的技术产生额外的成本,该成本不是因所存储的数据页而导致的,而是与不能够在从网络接收整个片段以前确定片段的有效性相关。经由结合本发明使用的片段流式检查器205还可降低此成本。
参看图3,所示为根据本发明的一个方面经由对每个UDT片段类型使用相应的检查对象来执行流式检查以检测无效结构的系统300。系统300包括片段流式检查器305,它接收并处理数据块310、315、320以确定UDT一致性检查结果。片段流式检查器305可在特定时间接收一组数据块310-320中的一个数据块。因此,根据此例,片段流式检查器305可接收第一数据块(例如,数据块1310),它可进行处理直至穷尽,然后再丢弃;此时,片段流式检查器302可顺序获得第二数据块(例如,数据块2315),并且类似地完整评估并移除该数据块,等等。
片段流式检查器305包括数据块处理组件325,它接收并处理数据块310-320。数据块处理组件325可包括片段类型检测器330、位置跟踪组件335和检查对象激活器340。片段流式检查器305还包括其中每一个评估一特定片段类型的一组检查对象(例如,检查对象1345……检查对象M350,其中M是任何正整数,以下称为检查对象345-350)。
数据块处理组件325可一次接收例如一组数据块310-320中的一个数据块(例如,数据块1310)。位置跟踪组件335跟踪所接收的数据块1310内正被评估的当前位置。在当前所评估的位置上,片段类型检测器330标识UDT片段的类型(例如,整数、浮点、字符串、日期、二进制、布尔、字符、短整型、长整型、集合开始、集合结束、空值、UDT开始、……)。UDT片段的类型被检查对象激活器340所使用,它可从检查对象组345-350中激活并调用相关检查对象(例如,检查对象1345)。所调用的检查对象(例如,检查对象1345)评估数据块1310内的UDT片段是否有任何错误,并生成UDT一致性检查结果。检查对象(例如,检查对象1345)可向数据块处理组件325提供通知,以指示已经完成UDT片段的评估。此外(或者),位置跟踪组件335可确定当前正被评估的位置是在数据块1310的结束处,还是在为其调用该检查对象(例如,检查对象1345)的UDT片段之外。此外,位置跟踪组件335可确定活动检查对象(例如,检查对象1345)正在等待来自不同数据块的UDT片段的另一部分。如果数据块处理组件325没有接收到该UDT片段的附加部分,则可产生信号以指示该UDT片段是不完整的。
相关检查对象(检查对象345-350之一)在完成UDT片段的评估后,位置跟踪组件335即确定数据块1310的下一个位置处是否有另一个UDT片段(例如,整个片段、片段的一部分、……)或是数据块1310是否已穷尽。例如,如果数据块1310包括UDT片段的至少另一部分,则片段类型检测器330和检查对象激活器340被再次用来从检查对象组345-350中确定适当的检查对象,而该检查对象被用来评估该UDT片段。或者,如果位置跟踪组件335指示数据块1310已穷尽,则数据块处理组件325将数据块1310丢弃,并且如果另一个数据块2315是该流的一部分则接收和处理后续数据块2315。依照示例,片段流式检查器305可接收指示数据块310-320的流的结束和/或标识该流的结束的信号。例如,在接收到指示流的结束的信号之后,片段流式检查器305即可例如生成错误(例如,如果最后一个UDT片段不完整,……)和/或停止执行。
图4根据本发明的一个方面示出使用能存储最少数据的流式检查来评估UDT片段有效性的系统400。系统400包括片段流式检查器405,它接收和分析数据块410、415、420(例如,数据页、数据分组、……)的流并生成UDT片段一致性检查结果。数据块410-420可包括可具有变化大小的众多UDT片段。此外,这些UDT片段可被包含在数据块的一部分内(例如,数据块1410的一部分),有一段是第一数据块(例如,数据块1410)的一部分、一段是第二数据块(例如,数据块2415)的一部分,或可被包括为任意数量的数据块410-420的一部分。
片段流式检查器405还包括数据块处理组件425、任意数量的检查对象430、以及数据存储435。数据块处理组件425接收并处理数据块410-420的输入流。数据块处理组件425跟踪数据块(例如,数据块1410)内的当前位置,并可确定当前位置处的UDT片段的类型。此外,片段类型信息可被用来启动专用于该UDT片段类型的适当检查对象430。数据块处理组件424可重复跟踪、确定片段类型和激活相关检查对象430,直至找到错误或穷尽数据块(例如,数据块1410)。应当认识到,数据块处理组件425可包括片段类型检测器330(图3)、位置跟踪组件335(图3)和/或检查对象激活器340(图3)。
检查对象430被用来如经由数据块处理组件425所命令地检查特定UDT片段。根据一个示例,当数据块处理组件425正在接收和处理数据块410-420的流时,检查对象430可标识无效UDT片段结构。检测到错误(例如,无需物化整个数据块410-420)之后,检查对象430就可提供指示该UDT片段包括错误的信号。例如,在检查对象430作出此类确定之后,数据块处理组件425即可中断对包含该错误的特定数据块410-420和/或UDT片段的处理。
检查对象430还可跟踪UDT片段检查的进度。因此,特定检查对象430可与具有双字节数据的固定格式的数据类型相关联,该双字节数据表示例如两者都必须经过确认的两个单字节值。依照此例,检查对象430可标识例如检查已经进展了一个字节但尚未发现任何错误。所标识的进度(例如,还剩另一个字节值要确认)可被存储在数据存储435中,可被提供给数据块处理组件425(例如,以指示后续数据块410-420应包含该UDT片段的其余部分)等等。应当注意,无需存储迄今已处理的字节值。
作为另一示例,数据类型可具有包含表示字符串长度的整数值的固定格式,且字符串中的最后一个字符应包含某个值(例如,‘*’)。一旦已处理了该整数值,检查对象430就知道要检查字符串结束处的字符。跳过数据的量被存储在字符串的长度中。检查对象430读到数据块(例如,数据块1410)的结束处,并跟踪在到达最后字符之前还要再读该字符串的多少个字节。因此,字符串的长度和还要再读的字节数可存储在数据存储435中,而不是存储迄今已处理的整个字符串。一旦接收到下一个数据块(例如,数据块2415)并将其传递给检查对象430,它就会继续读取,直至它到达并确认该字符串的最后一个字符。因此,存储量与常规技术相比降低了,因为整个片段无需被全部物化。
检查对象430还可将检查UDT片段的其余部分所需的任何数据存储在数据存储435中。根据一个示例,数据块处理组件425可确定(例如,经由片段类型检测器330(图3))数据块(例如,数据块1410)包括4字节整数的UDT片段。数据块处理组件425可激活(例如,经由检查对象激活器340(图3))专门检查整数类型片段的相关检查对象430。所激活的检查对象430评估UDT片段是否存在任何错误,并可同时跟踪评估的进度。如果到达数据块(例如,数据块1410)的结束处,却只读了组成该整数的共四个字节中的一个,则所激活的检查对象430可将进度(例如,迄今读了单个字节)存储在数据存储435中。此外,与所读的一个字节相关联的元数据可存储在数据存储435中(例如,已经读了一个字节,且在可例示并确认该整数值以前还必须再读三个字节)。在处理下一个数据块(例如,数据块2415)之后,即可从数据存储435中获得所存储的元数据并在读取其余三个字节时使用。一旦已经读取这些字节,组成该整数的所有四个字节就都可用,并可示例和确认该整数。根据另一个示例,描述一部分结构的元数据可在检查对象430分析UDT片段的同时存储在数据存储435中。
数据存储435可以是例如易失性存储器或非易失性存储器,或可同时包括易失性和非易失性存储器。作为示例,而非限制,非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓存存储器。作为示例而非限制,RAM有多种形式可用,诸如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)和直接Rambus RAM(DDRAM)。本发明的系统和方法的数据存储435旨在包括但不限于这些及其它任何合适类型的存储器。本发明设想数据存储435可以是片段流式检查器405的一个部分(如图所示),检查对象435的一个部分,独立的组件、或其组合。此外,例如,数据存储435可包括存储在硬盘上并在执行时加载到存储器中的文件和/或数据库。
参考图5,所示为根据本发明的一个方面的生成可被用来评估对应UDT片段类型的检查对象的系统500。系统500包括片段流式检查器505,它进一步包括众多检查对象510。每一个检查对象510被用来如上所述地评估对应UDT片段。本发明设想使用任意数量的检查对象510。
系统500还包括检查对象生成器515,它实现在引入新的片段类型时片段流式检查器505作为整体的可扩展性。检查对象生成器515可产生对应于新的UDT片段类型(例如,在检查对象510的组中先前没有对应检查对象的UDT片段类型)的新的检查对象,它可被添加到现有的检查对象510的组中。因此,当片段流式检查器505评估新类型的UDT片段时,经由检查对象生成器515创建的新的检查对象被用来评估该片段。检查对象生成器515在引入新的片段类型时可自动生成新的检查对象。或者,用户可提供信息以生成新的检查对象。
图6-8示出根据本发明的各方法。为简化说明起见,将这些方法示意和描述为一系列动作。应当理解并认识到,本发明不受所示动作和/或动作顺序的限制,例如,动作可按各种顺序发生和/或并行发生,并且还可有未在本文中给出和描述的其它动作。此外,不是所有示出的动作都是实现根据本发明的方法所必需的。此外,本领域技术人员将会理解并认识到,这些方法可经由状态图或事件被可选地表示为一系列相关的状态。
图6根据本发明的一个方面示出便于使用流式检查来评估用户定义类型(UDT)片段是否有错误的方法600。在610,包括UDT片段的数据块被接收。这些数据块可以是例如用于存储信息的数据页和/或用于传输信息的数据分组。例如,一次可接收一个数据块,从而第一数据块被完整地接收并处理,接下来第二数据块被接收并处理,依此类推。可经由网络连接(例如,无线连接、有线连接、两者的组合、……)来接收数据块。可选地或另外地,可从存储(例如,数据库等)接收数据块。在620,UDT片段类型被标识。作为示例,可经由评估UDT片段开始处的类型字来确定UDT片段类型;但是,本发明不限于此。在630,使用相应的检查对象来标识UDT片段内的错误。每个UDT片段类型都可具有便于检查该特定类型的流式数据的相关联检查对象。此外,在640,数据块一经处理即被丢弃。这与常规技术不同,后者通常在存储器中物化整个UDT片段,然后再分析所存储数据是否有错误。
参看图7,所示为根据本发明的一个方面的便于经由评估检查的进展来对UDT片段执行流式一致性检查的方法700。在710,包含UDT片段的数据块被接收。在720,UDT片段类型被标识。例如,UDT片段的类型可在处理数据块时被确定。此外,可跟踪通过数据块的进度。在730,使用一组检查对象中的一个检查对象来标识该UDT片段是否包括任何错误。该检查对象组中的每个检查对象都可被指派给特定的UDT片段类型。在740跟踪UDT片段检查的进度。在750,存储可被用来完成UDT片段的一致性检查的元数据。根据一个示例,如果UDT片段的一部分在第一数据块内,而该UDT片段的其余部分是第二数据块的一部分,则可存储与结合第一数据块执行的评估相关联的元数据。因此,可存储描述UDT片段结构的一部分的元数据,而不是存储实际的列值(通常由常规技术所执行)。在760,数据块一经处理即被丢弃。
图8根据本发明的一个方面示出便于分析UDT片段是否有错误、并在标识出错误时即停止流式检查的方法800。在810,包含UDT片段的数据块被接收。在820,检查所接收的数据块内的UDT片段并确定片段类型。在830,使用与所标识的UDT片段类型相关的相应检查对象。在840,确定UDT片段是否包含错误。该确定可例如无需物化整个UDT片段而作出。如果在UDT片段中标识出错误,则在850可中断流式检查,并发布指示已标识出错误的出错标志。或者,如果没有标识出任何错误,则在860确定数据块是否已穷尽。如果数据块尚未穷尽,则该方法返回820以确定下一个UDT片段的类型。但是,如果在860确定该数据块已穷尽,则在870丢弃该数据块。
为了提供用于实现本发明的各个方面的额外上下文,图9-10及以下讨论旨在提供可在其中实现本发明各个方面的合适计算环境的简要、一般描述。尽管以上是在本地计算机和/或远程计算机上运行的计算机程序的计算机可执行指令的通用上下文中描述了本发明,但是本领域技术人员将会认识到,本发明还可结合其它程序模块来实现。一般而言,程序模块包括执行特定任务和/或实现特定抽象数据结构的例程、程序、组件、数据结构等等。
此外,本领域技术人员将会认识到,这些发明性方法可用其它计算机系统配置来实施,包括单处理器或多处理器计算机系统、小型计算机、大型计算机、以及个人计算机、手持式计算设备、基于微处理器和/或可编程消费电器等等,其中的每一个都可操作地与一个或多个相关联设备通信。所示的本发明各方面还可在分布式计算环境中实施,其中某些任务是由通过通信网络链接的远程处理设备执行的。但是,本发明的部分(如果不是所有)方面可在独立计算机上实施。在分布式计算环境中,程序模块可位于本地和/或远程记忆存储设备中。
图9是本发明可与之交互的示例计算环境900的示意性框图。系统900包括一个或多个客户机910。客户机910可以是硬件和/或软件(例如,线程、进程、计算设备)。系统900还包括一个或多个服务器920。服务器920可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,服务器920可容纳线程以例如通过使用本发明来执行变换。
客户机910和服务器920之间一种可能的通信可以是适应于在两个或多个计算机进程之间传输的数据分组的形式。系统900包括通信框架940,它可用来便于客户机910和服务器920之间的通信。客户机910可操作地被连接到一个或多个客户机数据存储950,它们可用来将信息本地存储到客户机910。类似地,服务器920可操作地被连接到一个或多个服务器数据存储930,它们可被用来将信息本地存储到服务器920。
参考图10,用于实现本发明的各个方面的示例性环境1000包括计算机1012。计算机1012包括处理单元1014、系统存储器1016、以及系统总线1018。系统总线1018将包括、但不限于系统存储器1016在内的系统组件耦合到处理单元1014。处理单元1014可以是各种可用处理器中的任一种。双微处理器和其它多处理器体系结构也可被用作处理单元1014。
系统总线1018可以是若干类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线或外部总线、和/或使用各种可用总线体系结构中的任一种的局部总线,这些总线体系结构包括,但不限于,工业标准体系结构(ISA)、微信道体系结构(MSA)、扩展ISA(EISA)、智能驱动器电子设备(IDE)、VESA局部总线(VLB)、外围组件互连(PCI)、插件总线、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储卡国际协会总线(PCMCIA)、火线(IEEE1394)、以及小型计算机系统接口(SCSI)。
系统存储器1016包括易失性存储器1020和非易失性存储器1022。包含诸如在启动期间帮助在计算机1012内部各元件间传送信息的基本例程的基本输入输出系统(BIOS)存储在非易失性存储器1022中。作为示例而非限制,非易失性存储器1022可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)或闪存。易失性存储器1020包括用作外部高速缓存的随机存取存储器(RAM)。作为示例而非限制,RAM有多种形式可用,诸如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM(SLDRAM),及直接Rambus RAM(DRRAM)。
计算机1012还包括可移动/不可移动,易失性/非易失性计算机存储介质。例如图10示出磁盘存储1024。磁盘存储1024包括,但不限于,如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或记忆棒等设备。此外,磁盘存储1024可单独包括存储介质或与其它存储介质相结合,其它存储介质包括但不限于光盘驱动器,诸如光盘ROM设备(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字多功能盘ROM驱动器(DVD-ROM)。为便于磁盘存储设备1024与系统总线1018的连接,通常使用诸如接口1026等可移动或不可移动接口。
应当理解,图10描述了在用户与在合适操作环境1000中所述的基本计算机资源之间用作中介的软件。这些软件包括操作系统1028。可存储在磁盘存储1024上的操作系统1028用来控制和分配计算机系统1012的资源。系统应用程序1030通过存储在系统存储器1016中或磁盘存储1024上的程序模块1032和程序数据1034来利用操作系统1028对资源的管理。应当认识到,本发明可以用各种操作系统或其组合来实现。
用户通过一个或多个输入设备1036将命令或信息输入到计算机1012中。输入设备1036包括,但不限于,诸如鼠标、跟踪球、电子笔、触摸板等定位设备、键盘、话筒、操纵杆、游戏垫、圆盘式卫星天线、扫描仪、电视调谐卡、数码照相机、数码摄像机、网络摄像头等等。这些及其它输入设备经由接口端口1038通过系统总线1018连接到处理单元1014。接口端口1038包括例如串行端口、并行端口、游戏端口及通用串行总线(USB)。输出设备1040使用一些和输入设备1036相同类型的端口。因而,例如USB端口可用于向计算机1012提供输入,及将信息从计算机1012输出到输出设备1040。提供输出适配器1042是为了说明有一些需要专用适配器的输出设备,如监视器、扬声器及打印机等。作为示例而非限制,输出适配器1042包括,提供输出设备1040与系统总线1018之间连接手段的显卡与声卡。应当注意,诸如远程计算机1044等的其它设备和/或设备系统同时提供输入与输出能力。
计算机1012可使用到诸如远程计算机1044等一台或多台远程计算机的逻辑连接在联网环境中操作。远程计算机1044可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的装置、对等设备或其它普通网络节点等等,且通常包括相对计算机1012所描述的许多或全部元件。为简单起见,与远程计算机1044一起示出的只有记忆存储设备1046。远程计算机1044通过网络接口1048逻辑地连接到计算机1012,然后经由通信连接1050物理连接。网络接口1048包含诸如局域网(LAN)和广域网(WAN)等有线和/或无线通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜缆分布式数据接口(CDDI)、以太网、令牌环等等。WAN技术包括,但不限于,点对点链路、如综合业务数字网(ISDN)及其变体等的电路交换网络、分组交换网络、以及数字用户线(DSL)。
通信连接1050是指用于将网络接口1048连接到总线1018的硬件/软件。尽管为清楚说明,将通信连接1050示为在计算机1012内部,但是它也可在计算机1012外部。仅为示例性目的,连接到网络接口1048所必需的硬件/软件包括内部和外部技术,诸如包括常规电话级调制解调器、电缆调制解调器及DSL调制解调器在内的调制解调器、ISDN适配器及以太网卡。
以上所描述的包括本发明的若干示例。当然,为了描述本发明而描述组件或方法的每一种可以想像的组合是不可能的,但本领域普通技术人员可认识到,本发明的其它组合和变换是可能的。由此,本发明旨在包括落入所附权利要求书的精神和范围之内的所有这些改变、修改、以及变化。
特别地,并且就上述组件、设备、电路、系统等所执行的各种功能而言,除非另外指出,用来描述这些组件的术语(包括对“手段”的引用)旨在对应于执行所描述组件的指定功能(例如,功能等效方案)的任何组件,即使它们在结构上并不等于所揭示的结构,这些组件执行在此所述的本发明各示例性方面中的功能。就此而言,还应认识到,本发明包括一系统以及具有用于执行本发明的各种方法的动作和/或事件的计算机可执行指令的计算机可读介质。
此外,尽管仅就若干实现中的一种揭示了本发明的一个特定特征,但是这一特征可与其它实现的一个或多个其它特征结合为任何给定或特定应用程序所需或对其有利。此外,在详细描述或所附权利要求书中使用的术语“包括”(动词)和“包括”(连词)及其变体的意义上,这些术语旨在如术语“包含”那样成为包含性的。

Claims (18)

1.一种便于对用户定义类型UDT进行一致性检查的计算机实现系统,包括:
用于接收包含具有可变大小的UDT片段的一组数据块中的一个数据块的装置;
用于标识所述UDT片段的类型的装置;
用于使用相应的检查对象来确定所述UDT片段是否包括错误的装置;
用于跟踪所述UDT片段检查的进度的装置;
用于确定所述UDT片段是否被拆分到两个以上的数据块中的装置;
用于存储与被拆分到两个以上的数据块中的所述UDT片段相关联的最少元数据以便于检查所述UDT片段的剩余部分的装置,所述元数据描述所述UDT片段的结构的一部分;以及
用于在处理了所述一个数据块时将其丢弃的装置。
2.如权利要求1所述的系统,其特征在于,所述UDT片段无需被完全物化即被检查。
3.如权利要求1所述的系统,其特征在于,至少一个UDT片段在不同的数据块之间被拆分。
4.如权利要求1所述的系统,其特征在于,还包括用于生成对应于新近给出的片段类型的第二检查对象的装置。
5.如权利要求1所述的系统,其特征在于,还包括用于存储与UDT元数据相关联的值的一部分,并从下一个数据块提取所述值的其余部分的装置。
6.如权利要求1所述的系统,其特征在于,还包括用于跟踪片段检查的进展并存储完成所述片段检查所需的数据的装置。
7.如权利要求1所述的系统,其特征在于,还包括用于经由分析每个所述UDT片段的开始处的类型字来标识每个所述UDT片段的片段类型的装置。
8.如权利要求1所述的系统,其特征在于,还包括用于跟踪对所述一组数据块中的每个数据块的一致性检查的进展的装置。
9.如权利要求8所述的系统,其特征在于,所述用于跟踪对所述一组数据块中的每个数据块的一致性检查的进展的装置还确定特定数据块是否穷尽。
10.如权利要求1所述的系统,其特征在于,还包括用于启动特定检查对象来分析特定片段类型的装置。
11.如权利要求1所述的系统,其特征在于,还包括用于顺序地处理存储在所述一组数据块中的数据的装置。
12.一种便于对用户定义类型UDT进行一致性检查的计算机实现方法,包括:
接收包含具有可变大小的UDT片段的一组数据块中的一个数据块;
标识所述UDT片段的类型;
使用相应的检查对象来确定所述UDT片段是否包括错误;
跟踪所述UDT片段检查的进度;
确定所述UDT片段是否被拆分到两个以上的数据块中;
存储与被拆分到两个以上的数据块中的所述UDT片段相关联的最少元数据以便于检查所述UDT片段的剩余部分,所述元数据描述所述UDT片段的结构的一部分;以及
在处理了所述一个数据块时将其丢弃。
13.如权利要求12所述的方法,其特征在于,还包括跟踪片段检查的进展并存储完成所述片段检查所需的数据。
14.如权利要求12所述的方法,其特征在于,还包括存储与UDT元数据相关联的值的一部分,并从下一个数据块提取所述值的其余部分。
15.如权利要求12所述的方法,其特征在于,UDT能够与数据块的各个部分相关联。
16.如权利要求12所述的方法,其特征在于,还包括指派特定检查对象检查特定片段类型。
17.如权利要求12所述的方法,其特征在于,还包括标识与所述UDT片段相关联的公共的和唯一的结构方面。
18.如权利要求12所述的方法,其特征在于,还包括顺序地处理存储在所述一组数据块中的数据。
CN2006100515643A 2005-03-28 2006-02-28 用于对udt的数据格式执行流式检查的系统和方法 Expired - Fee Related CN1841378B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/091,080 US7571153B2 (en) 2005-03-28 2005-03-28 Systems and methods for performing streaming checks on data format for UDTs
US11/091,080 2005-03-28

Publications (2)

Publication Number Publication Date
CN1841378A CN1841378A (zh) 2006-10-04
CN1841378B true CN1841378B (zh) 2012-06-20

Family

ID=36955233

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006100515643A Expired - Fee Related CN1841378B (zh) 2005-03-28 2006-02-28 用于对udt的数据格式执行流式检查的系统和方法

Country Status (5)

Country Link
US (1) US7571153B2 (zh)
EP (1) EP1710718B1 (zh)
JP (1) JP4989086B2 (zh)
KR (1) KR101169099B1 (zh)
CN (1) CN1841378B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512522B2 (en) * 2007-02-28 2009-03-31 International Business Machines Corporation Methods and apparatus for assessing health of memory utilization of a program
US20140129526A1 (en) * 2012-11-06 2014-05-08 International Business Machines Corporation Verifying data structure consistency across computing environments
JPWO2014132938A1 (ja) 2013-02-28 2017-02-02 株式会社村田製作所 半導体装置およびesd保護デバイス
CN205508776U (zh) 2013-02-28 2016-08-24 株式会社村田制作所 半导体装置
US20150019451A1 (en) * 2013-07-09 2015-01-15 Sap Ag Decision basis for benefits program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6782394B1 (en) * 1999-11-22 2004-08-24 Oracle International Corporation Representing object metadata in a relational database system
CN1573688A (zh) * 2003-06-10 2005-02-02 微软公司 动态运行时间环境中使用标签化类型的系统和方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5101402A (en) * 1988-05-24 1992-03-31 Digital Equipment Corporation Apparatus and method for realtime monitoring of network sessions in a local area network
US6233256B1 (en) * 1996-03-13 2001-05-15 Sarnoff Corporation Method and apparatus for analyzing and monitoring packet streams
JPH1040179A (ja) 1996-07-18 1998-02-13 Sumitomo Metal Ind Ltd メッセージ変換方法およびその変換方法に使用する階層的データ構造体
CN100375088C (zh) 1999-06-18 2008-03-12 国际商业机器公司 利用事务语义法分段和处理连续数据流
US6594651B2 (en) * 1999-12-22 2003-07-15 Ncr Corporation Method and apparatus for parallel execution of SQL-from within user defined functions
US6708186B1 (en) * 2000-08-14 2004-03-16 Oracle International Corporation Aggregating and manipulating dictionary metadata in a database system
US6732354B2 (en) * 2002-04-23 2004-05-04 Quicksilver Technology, Inc. Method, system and software for programming reconfigurable hardware
US20040006575A1 (en) * 2002-04-29 2004-01-08 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
PT1515246E (pt) * 2002-07-23 2007-12-06 Samsung Electronics Co Ltd Método para fornecimento de índices de metadados
US7092933B1 (en) * 2002-12-17 2006-08-15 Ncr Corporation Supporting user-defined datatypes
US7103811B2 (en) * 2002-12-23 2006-09-05 Sun Microsystems, Inc Mechanisms for detecting silent errors in streaming media devices
WO2005017813A2 (en) * 2003-08-19 2005-02-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for automatic online detection and classification of anomalous objects in a data stream
US7284010B2 (en) * 2003-10-23 2007-10-16 Microsoft Corporation System and method for storing and retrieving a field of a user defined type outside of a database store in which the type is defined
US7213015B1 (en) * 2003-12-31 2007-05-01 Ncr Corporation Storing and delivering program code for manipulation of a user-defined data type
US7440966B2 (en) * 2004-02-12 2008-10-21 International Business Machines Corporation Method and apparatus for file system snapshot persistence
US20050210027A1 (en) * 2004-03-16 2005-09-22 International Business Machines Corporation Methods and apparatus for data stream clustering for abnormality monitoring
US20050234986A1 (en) * 2004-04-09 2005-10-20 Microsoft Corporation Systems and methods for fragment-based serialization
US7548901B2 (en) * 2004-06-29 2009-06-16 Microsoft Corporation System and method for delayed fetching of designated members of a user defined type

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6782394B1 (en) * 1999-11-22 2004-08-24 Oracle International Corporation Representing object metadata in a relational database system
CN1573688A (zh) * 2003-06-10 2005-02-02 微软公司 动态运行时间环境中使用标签化类型的系统和方法

Also Published As

Publication number Publication date
KR20060103827A (ko) 2006-10-04
EP1710718B1 (en) 2017-09-06
KR101169099B1 (ko) 2012-07-26
US20060218144A1 (en) 2006-09-28
JP4989086B2 (ja) 2012-08-01
EP1710718A2 (en) 2006-10-11
EP1710718A3 (en) 2009-12-23
JP2006277742A (ja) 2006-10-12
CN1841378A (zh) 2006-10-04
US7571153B2 (en) 2009-08-04

Similar Documents

Publication Publication Date Title
US10963513B2 (en) Data system and method
US9256686B2 (en) Using a bloom filter in a web analytics application
US9659052B1 (en) Data object resolver
US9977710B2 (en) Self-stabilizing network nodes in mobile discovery system
US20150120583A1 (en) Process and mechanism for identifying large scale misuse of social media networks
CN106250385A (zh) 用于文档的自动化信息抽象处理的系统和方法
CN111125566B (zh) 信息获取方法和装置、电子设备和存储介质
WO2019200705A1 (zh) 自动生成完形填空试题的方法以及装置
US11562179B2 (en) Artificial intelligence system for inspecting image reliability
US10936819B2 (en) Query-directed discovery and alignment of collections of document passages for improving named entity disambiguation precision
CN1841378B (zh) 用于对udt的数据格式执行流式检查的系统和方法
CN102193970A (zh) 知晓元数据的搜索引擎
US20180107689A1 (en) Image Annotation Over Different Occurrences of Images Using Image Recognition
WO2012158572A2 (en) Exploiting query click logs for domain detection in spoken language understanding
CN107402798A (zh) 转换排序脚本以在不同编码环境下重用jcl的方法和装置
WO2015084757A1 (en) Systems and methods for processing data stored in a database
CN111949785A (zh) 查询语句管理方法和装置、可读存储介质、电子设备
CN105096138A (zh) 实现o2o对话交互的方法和装置
Gottschalk et al. HapPenIng: happen, predict, infer—event series completion in a knowledge graph
Kasnesis et al. A prototype deep learning paraphrase identification service for discovering information cascades in social networks
KR101895881B1 (ko) 지적재산권 관리 방법 및 이를 실행하는 시스템
Vijayaragavan et al. Visualization of big data analysis on social media
Gurajala Social media sensing: Towards accurate prediction and analysis of events
López García Development of an event detector in Twitter streams based on mention-anomaly detection for the city of Madrid
Pal Developing AI-Based Surveillance Software

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: 20150429

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

Effective date of registration: 20150429

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120620

Termination date: 20200228

CF01 Termination of patent right due to non-payment of annual fee