CN100478944C - 自动任务生成器的方法和系统 - Google Patents

自动任务生成器的方法和系统 Download PDF

Info

Publication number
CN100478944C
CN100478944C CNB2004100639524A CN200410063952A CN100478944C CN 100478944 C CN100478944 C CN 100478944C CN B2004100639524 A CNB2004100639524 A CN B2004100639524A CN 200410063952 A CN200410063952 A CN 200410063952A CN 100478944 C CN100478944 C CN 100478944C
Authority
CN
China
Prior art keywords
task
rule
database
metadata
management system
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 - Lifetime
Application number
CNB2004100639524A
Other languages
English (en)
Other versions
CN1573757A (zh
Inventor
E·加登
R·沃尔特斯
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 CN1573757A publication Critical patent/CN1573757A/zh
Application granted granted Critical
Publication of CN100478944C publication Critical patent/CN100478944C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

一种自动任务生成机制,提供诸如用于计算机系统的维护任务的任务生成。一组任务连同用于执行所述任务的规则一起被设置。所述规则可以与使任务能够被映射到所述任务的元数据相关联。事件可以被检测到与诸如创建、修改、删除或添加命令这样的数据库操作相关。其他处理可以对事件和元数据存储器进行查询,并对那些项与先前所设置的规则进行比较。如果在规则和事件之间存在匹配,一个或多个相应于一想要采取的动作的任务就会被建立。所述任务可以接着被插入到计算机系统以备随后的执行。

Description

自动任务生成器的方法和系统
技术领域
本发明主要涉及了计算机数据库领域,特别是涉及了用于数据库管理系统中的对象(object)的自动任务生成领域。
背景技术
计算机系统管理员,正时常经受着在短时间内执行各种任务的压力。这些任务包括,从诸如执行数据库备份这样的日常维护任务到更加紧急的硬件故障中的每一件事情。有些需要随后系统维护的事情,诸如由未被系统管理员注意到的用户所做出的新数据库的创建。因此,一些维护任务,诸如备份新创建的文件,可能不会被立刻认识到是其需要的维护任务。此外,每个系统环境和向企业环境的安装,都针对独特的规则组,所述规则是用于执行维护任务的。但是,因为在这种维护上所做出的努力是独一无二的,所以系统管理员经常花费时间和精力在根据计算环境和应用的规则或策略来创建其自己的维护任务的特制组上。
因此,有了这样一种需求,即,自动调用关于自动维护任务和计算机系统上的其他相关功能的任务。如果这种自动任务利用元数据和事件数据来触发这种任务的产生和发展,这将是有益的。本发明致力于满足上述需求,并用多种系统、方法和技术满足了该需求以生成能够在计算机系统内运行的任务。本发明对所有的自动任务生成功能都有效,其中所述自动任务生成功能可以被具体化为诸如适用于数据库管理的自动任务加入(enlistment)功能的形式。
发明内容
本发明包括一种自动任务生成机制,以生成诸如用于计算机系统的维护任务这样的任务。本发明包括一组任务和用于执行任务的规则的设置。所述规则可以与元数据相关联,其中所述元数据可使任务被映射到所述规则。当系统检测到一个事件时,系统可以存储该事件和相关联的元数据。其他信息串可以查询该事件和元数据存储器,并对这些项目和先前所设置的规则进行比较。如果在规则和事件之间存在匹配关系,就可以建立一个或多个相应于想要采取行动的任务。
例如,如果创建了一个数据库,一事件连同元数据就一起被触发,并与一组规则进行比较,所述规则能否表示所述事件是一个将在随后以维护目的进行备份的事件,接着生成一系列命令以实施所述规则。
附图说明
结合附图,很容易理解前面的简要描述和下面对优选实施例的详细描述。在这里,以说明本发明为目的,示出了本发明的示例性结构;然而,本发明并不限于所述的特定方法和所公开的手段。附图中:
图1,是一个示出了一个实施本发明的各方面的示例性计算环境的方框图;
图2,画出了一个实施本发明的各方面的示例性方框图;
图3,示出了适用于一个本发明的实施例的示例性流程图;
图4,示出了适用于本发明一个方面的一个实施例的示例性流程图。
具体实施方式
概述
本发明涉及一种任务生成器,所述任务生成器能够自动运行以生成给计算机的命令,尤其涉及了一种数据库管理系统。自动任务生成器接收一个发生了关于数据库操作的指示。本发明对数据库操作和相关联的元数据与一组存储的规则进行比较,以确定是否需要生成一个自动任务。如果需要一个自动任务,那么所述自动任务可由于规则相关的已存储的任务构成,其中该规则与原始检测到的数据库操作相关。通常,这种任务是相关和相应于对象元数据的对象,其中所述对象元数据是能够在任务的比较和生成步骤中用到的对象元数据。
本发明可以作为一个或多个计算机系统或部件的一部分而常驻于计算机中。就这一点而论,下面将提供对示例性计算机装置和其环境的描述。
示例性计算装置
图1和下述讨论,将用来提供一个对本发明所实施的合适的计算环境的简要的总的描述。然而,应该明白,可以预料到各种计算对象和手持式、便携式和其他计算装置,能够结合本发明一起使用。因此,虽然在下面描述了一种通用计算机,但其并不限于一个例子,并且本发明还可以用其他计算装置来实施,诸如具有网络/总线互操作性和交互性的客户端。因此,本发明可以在一种网络主机服务的环境中实施,其中牵涉到很少或最小的客户端资源,例如,一种客户装置仅仅起到网络/总线接口的作用的网络环境,诸如一个置于设备中的对象,或者其他计算装置和对象。其实,根据本发明,无论数据存于何处或者对哪个数据进行检索,都是合意的、或合适的操作环境。
虽然不是必需的,本发明可以通过一个操作系统来实施,以供装置或对象的服务的开发者使用,和/或可以包括在根据本发明操作的应用软件中。在计算机可执行指令的通常情况下,软件可被描述成,诸如程序模块,其可由一个或多个诸如客户端工作站、服务器或其他装置这样的计算机执行。通常,程序模块包括例行程序、程序、对象、组成部分(component),数据结构等,执行特定任务或实施特定的抽象数据类型。典型地,可以如在各种实施例中所描述的那样,合并或分散程序模块的功能。而且,本领域中的技术人员将会意识到,本发明可以用其他计算机配置来实施。适于本发明使用的其他公知的计算系统、环境、和/或配置包括,但不限于,个人计算机(PC)、自动柜员机、服务器计算机、手持式或膝上型装置、多处理器系统、基于微处理器的系统、可编程的客户设备、网络PC、仪表、照明器材、环境控制元件、小型计算机、大型计算机等等。本发明还可以在分布式计算环境中实施,其中所述任务由远程处理装置来执行,该远程处理装置经由通信网络/总线或其他传输介质而被连接。在分布式计算环境中,程序模块可以存放于包括存储器存储装置的本地和远程计算机存储介质上、和可以轮流起服务器节点作用的客户端节点。
图1,如此示出了一个能实施本发明的适于计算系统环境100的例子,虽然如上所阐明的,计算系统环境100只是适于计算系统的一个例子,并不是想要暗示关于本发明的功能或使用的范围。也不应把计算环境100解释成对关于任一示例性操作环境100中所示出的部件或其组合的具备依赖性和相关要求。
参照图1,用于实施本发明的一个示例性系统,包括一个作为计算机系统110的通用计算装置。计算机系统110的部件包括,但是不限于,一个处理器单元120、一个系统存储器130、和一个各种系统部件的系统总线121,其中该总线包括把系统存储器连至处理器单元120。所述系统总线121可以是下述几种总线结构中的一种,包括利用各种总线体系结构中的任一一种的局部总线和存储器总线或存储器控制器、外围总线。作为例子,而不限于,这种体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线、和周边元件扩展接口(PCI)总线(还通称为Mezzanine总线)。
计算机系统110通常包括各种计算机可读介质。计算可读介质可以是任一可用介质,其能够被计算机系统110访问并包括易失性和非易失性介质、可移动和不可移动介质。作为例子,而不限于,计算机可读介质可以由计算机存储介质和通信介质组成。计算机存储介质包括,以任一方法或技术为诸如计算机可读指令、数据结构、程序模块或其他数据这样的信息存储所提供的,易失性和非易失性、可移动和不可移动的介质。计算机存储介质包括,而不限于,随机存储器(RAM)、只读存储器(ROM)、电可擦可编程只读存储器(EEPROM)、闪速存储器或其他存储器技术、只读光盘(CDROM)、可重写光盘(CDRW)、数字通用光盘(DVD)、或其他光盘存储介质、磁带盒(magnetic cassette)、磁带、磁盘介质或其他磁性存储装置、或任一其他能被用来存储想要的信息和能被计算机系统110访问的介质。通信介质,通常包括计算机可读指令、数据结构、程序模块、或其他诸如载波这样的已调数据信号的数据,或其他传输装置,并包括任一信息传递介质。所述术语“已调数据信号”,指一种这样的信号,即,其具有一个或多个已按照该信号中的编码信息的这种方式而被改变或设定的特征。作为例子,而不限于,通信介质包括诸如有线网络或直接的有线连接这样的有线介质,和诸如声音、RF(射频)、红外和其他无线介质这样的无线介质。任一上述的组合还应被包括在计算机可读介质的范围中。
系统存储器130包括作为易失性和/或非易失性存储器的计算机存储介质,诸如只读存储器(ROM)131和随机存储器(RAM)132。基本输入/输出系统133(BIOS),通常存于ROM131中,其含有有助于在计算机系统110内的元件之间传输信息的基本例行程序,诸如在启动期间。RAM132通常含有被直接访问和/或马上通过处理单元120而其作用的数据和/或程序模块。作为例子,而不限于,图1示出了操作系统134、应用程序135、其他程序模块136、和程序数据137。
计算机系统110还可以包括其他可移动/不可移动的、易失性/非易失性计算机存储器介质。只为了举例,图1示出了对不可移动、非易失性磁介质进行读或写的硬盘驱动器141,对可移动、非易失性磁盘152进行读或写的磁盘驱动器151,对诸如CD ROM、CDRW、DVD或其他光介质这样的可移动、非易失性光盘156进行读或写的光盘驱动器155。其他能用于示例性操作环境的可移动/不可移动、易失性/非易失性计算机存储器介质包括,而不限于,盒式磁带、闪速存储卡、数字通用光盘、数字视频磁带、固态RAM、固态ROM、等等。所述硬盘驱动器141通常被经由诸如接口140这样的不可移动的存储器接口连至系统总线121,以及磁盘驱动器151和光盘驱动器155通常由诸如接口150这样的可移动的存储器接口连至系统总线121。
所述驱动器和其在上面讨论过并在图1中示出的相连的计算机存储介质,为计算机系统110提供了机器可读指令、数据结构、程序模块和其他数据的的存储器。在图1中,例如,硬盘驱动器141被示出为存储有操作系统144、应用程序145、其他程序模块146、和程序数据147。注意到,这些部件能够和操作系统134、应用程序135、其他程序模块136、以及程序数据137相同或不相同。此处,给出了不同标号的操组系统144、应用程序145、其他程序模块146、以及程序数据147,以最小限度地说明他们是不同的副本。用户可以通过诸如键盘162和指示装置161这样的输入装置,把命令和信息输入到计算机系统110,其中所述指示装置161通常被称为鼠标、轨迹球、或触摸板。其他输入装置(未示出)可以包括一个麦克风、操纵杆、游戏垫、圆盘式卫星电视天线(satellite dish)、扫描仪、或类似的装置。这些和其他输入装置,通常经由连至系统总线121的用户输入接口160而被连至处理单元120,但是也可被诸如并行端口、游戏端口或通用串行总线(USB)这样的其他接口和总线结构连接。监视器191或其他类型的显示装置,也被经由一诸如视频接口190这样的接口连至系统总线121上,所述视频接口190可以反过来与视频存储器(未示出)进行通信。除了监视器191之外,计算机系统还可以包括其他外部输出装置,诸如能够通过一个输出外设接口195而被连接的扬声器197和打印机196。
计算机系统110,可以利用到一个或多个诸如远程计算机180这样的远程计算机上的逻辑连接,在网络或分布式环境中运行。所述远程计算机180可以是个人计算机、服务器、路由器、网络PC、等同装置或其他公用网络节点,并典型地包括很多或全部在上面关于计算机系统110而描述的元件,虽然在图1中仅仅示出了存储器存储装置181。在图1中所描绘的逻辑连接,包括局域网(LAN)171和广域网(WAN)173,但是还可以包括其他网络/总线。这种网络环境在家里、办公室、企业范围的计算机网络、内部网和因特网内是常见的。
一旦在LAN网络环境中被采用,计算机系统110就被通过一网络接口或适配器170连至LAN171。一旦在WAN网络环境中被采用,计算机系统110就会典型地包括调制解调器172或其他用于在诸如因特网这样的WAN173上建立通信的装置。所述调制解调器172,可以是外部的也可以是内部的,其经由用户输入接口160或其他合适的装置而被连至系统总线121上。在网络环境中,在关于计算机系统110所描述的程序模块、或其部分,可以存于远程存储器存储装置内。作为例子,而不限于,图1示出了作为驻留在存储器装置181中的远程应用程序185。应该意识到,所示出的网络连接,是示例性的,还可以采用其他在计算机之间建立通信连接的装置。
已经并且正在根据个人计算和因特网的集中,研发各种分布式计算结构。对个人和相似的商业用户,提供了用于应用程序和计算装置的无缝地能共同操作的和Web启用接口,这使面向Web浏览器或网络的计算活动增加了。
例如,
Figure C20041006395200101
的.NETTM平台,可从微软公司购买(地址:华盛顿州雷蒙德市一微软路(One Microsoft Way,Redmond,Washington)邮编98052),包括服务器,模块构建服务(building-block service),诸如基于网页的数据存储,和可下载装置软件。虽然在此结合了驻留在计算装置上的软件对示例性实施例进行了描述时,但是本发明的一个或多个部分,还可以通过操作系统、应用程序接口(API)或在协处理器、显示装置和请求对象之间的“中间人”对象来实施,以便根据本发明的操作可以被其执行,由所有的.NETTM的语言和服务支持或访问,并且也在其他分布式计算结构中。
本发明的示例性实施例
本发明提供了自动任务加入(enlistment)系统和方法,其通过根据用户定义的策略或规则和对象元数据来执行智能日常维护任务,减轻了管理员的一部分负担。根据一组规则自动把对象加入日常维护任务的性能,将使管理员能够花更多的时间处理其系统相关(system-related)的工作中更活跃的部分,而不是执行维护中的平凡的任务。
数据库管理系统自动任务生成器通过自动检测关于维护的命令并利用对象元数据和策略规则把所述任务与命令关联起来,能够自动地执行维护任务。
在一个实施例中,本发明连同SQL数据库一起实施。可以根据其总的使用范围和SQL环境实施例,来描述本发明。任务命令输出的一个例子是Transact-SQL命令集。所述自动任务生成器可以利用那些由数据库管理系统所实现的操作。
例如,结构化查询语言(SQL)是用来与关系数据库进行通信的美国国家标准协会(ANSI)标准。SQL是关系数据库管理系统的标准语言。SQL语句被用来执行诸如更新数据或在关系数据库中检索数据这样的任务。虽然很多数据库系统采用了SQL,但是其中很多还具有其自己的、通常只用在其系统中的其他专有的扩展。然而,标准SQL命令,诸如“Select”、“Insert”、“Update”、“Delete”、“Create”、和“Drop”,能被用来完成很多人们想要对关系数据库做的事情。此外,这种命令语句可以导致在需要系统维护的数据内采用数据结构。因此,有可能利用这种事件触发命令,来构造用于维护的任务或其他需要或想要的系统功能。
图2示出了在示例性自动任务生成器200的元件之间的示例性的相互连接。用户或程序接口210,使用户或程序类型接口能够产生并输入215任务到存储区220。所述任务可以是将要对与特定数据库相关的对象执行的一组操作。这些任务可以由零碎的任务构建或得自取样或样本。
这种任务的例子是备份文件、对硬盘整理碎片、或重建数据库。在系统正被使用的同时,可以使用任务来对数据库系统进行维护或执行与对象相关的操作。对象的例子是数据库、表格、栏(column)、索引、查看、触发、所存的过程(procedure)、用户程序。对对象进行操作的任务的一个例子,可以是每天从午夜开始对数据库执行名为“午夜备份”的完全备份。
规则可以经由用户/程序接口210而被产生并被输入,并被存储于任务和规则存储器区220中。规则可以以结合数据库对象元数据而对任务产生影响的方式被产生。用于数据库对象的对象元数据的例子是容量、位置、用户、语言、文件数、空闲空间和客户属性,以命名几个。
利用所述元数据的规则的一个例子是如果数据库在G驱动器被创建并大于100MB,并且如果数据库没有与其相关的备份,那么就将执行一个所定义和存储的任务“午夜备份”的新例子。用于该任务的所述对象元数据是驱动器字母G:、大于100MB的容量、和没有备份存在的事实。
图2的方框图还包括一个服务器230,其含有诸如SQL关系数据库及其相关的管理系统这样的数据库管理系统236、和一个用来检测服务器事件232的单独程序和事件队列234。数据库管理系统236,诸如SQL ServerTM,可通过位于华盛顿州雷德蒙市的微软公司购得,其能够完全访问潜在的数据库(未示出)。例如,在数据定义语言(DDL)事件中所涉及的事件,诸如CREATE、ALTER和DROP命令,可以被服务器事件检测器232检测到。此外,其他更一般的事件诸如CREATE DATABASE命令也可以触发服务器事件检测器232以进行响应。服务器事件检测器232通过把事件登记到一个事件队列234来响应于这些数据库相关事件。该队列使服务器能够保留响应于数据库管理系统236的操作而发生的事件的记录。服务器事件检测器232还在事件队列234中存储关于所检测到的事件的相关元数据。所检测到的事件的一个例子和其相关的元数据如下:
Event:Database NEW created
Metadata:time/date=11:30AM 11/01/2003;
Drive G;
Size200MB;
Collation Default
服务器代理240,其可以独立于服务器230而运行,对事件队列取样245,以尽力发现相关数据库管理系统236的活动。事件队列234通过发送245一个信息的有效负荷(payload),来响应于服务器代理对新事件信息的请求。所述有效负荷信息可以从事件队列234传送245到服务器代理240,作为一种扩展标记语言(XML)有效负荷。由于其中所含有的清楚标记的信息,所以服务器代理容易地标识和译解所述XML有效负荷。
服务器代理240,一收到XML有效负荷,就试图确定所述XML有效负荷是否含有与任一先前所存储的规则相匹配的信息。因此所述服务器代理240对所述任务和规则存储器220进行读取225,以访问规则与XML有效负荷的当前内容不矛盾的规则。对XML有效负荷信息和所恢复的(recovered)规则的比较,可以在服务器代理240内被完成。
在一个实施例中,所述服务器代理240可以是一个持续运行并包含一系列专用线程的服务程序。这些线程中的一个线程,专门用来监听所述事件队列234。其他线程专门用来对XML有效负荷和所检索到的规则数据进行比较。
在一个实施例中,对用于比较的正确规则的访问,可以通过利用至少一些XML有效负荷中的数据来完成。例如,所述XML有效负荷可以包含在数据库管理系统中作为CREATE DATABASE而出现的操作标识。此外,所述有效负荷可以包括一些相关元数据。该操作标识符命令和元数据可以被服务器代理用来查询任务和规则存储器装置,以返回所有与所述CREATE DATABASE命令标识符相关联的规则。接着,利用一些和全部从事件队列234中所获得的XML有效负荷信息,对从任务和规则存储器装置220中所返回的规则进行比较。
如果不存在匹配,那么所述服务器代理就不对XML有效负荷采取行动。如果XML有效负荷与从任务和规则存储器模块220中所检索到的信息匹配,那么服务器代理就访问与相匹配的规则相关的任务,并在命令生成器250中组装那些任务。所述命令生成器可以产生能被输入260到所述数据库管理系统236中的命令。
在下面的一个例子中,如果服务器代理240对所述事件队列236进行了访问以发现一个XML有效负荷,其中所述XML有效负荷包含在SQL ServerTM内发生的CREATE DATABASE事件中,则将对该命令与任务和存储模块220中的命令规则进行比较。如果XML有效负荷中的所述命令和所伴随的元数据与所存的规则相对应,那么服务器代理将对与存储模块220中的规则数据相关联的任务数据进行访问。所述任务数据可以表示应该调用“午夜备份”任务。所述任务命令生成器250,将对所述任务进行组装,就关于什么命令、什么参数和什么时候执行所述任务对所述任务进行合适的限制,并接着传输器260所述任务到SQLServerTM数据库管理系统236作为用于系统维护的Transact-SQL命令。
论及图2中各种元件的位置,可以有很多本发明的实施例。例如,在一个实施例中,服务器队列234可以被包含在作为数据库表格而出现的SQL ServerTM程序代码内,其中在服务器队列中的项成了表格中的行。
在其他实施例中,服务器代理240可以是运行在与一独立的计算机相对的服务器230上的程序。仍是在其他实施例中,所述任务生成器250可以是位于服务器代理240内部的一个功能。图2的功能结构,不是实施本发明的组合的障碍。
在其他实施例中,本发明能够产生任务命令,所述任务命令是针对硬件和软件命令的,其中所述硬件和软件命令可以或不可以是数据库管理系统(未在图4中示出)的一部分。虽然所生成的事件,可以是因诸如创建、删除、或在数据库内更新对象这样的数据库管理系统事件而生成的,但是由所述事件所生成的任务命令可以包括看上去与触发数据库事件不相关的活动。例如,诸如对象创建的数据库事件,能够发生,这就触发了对表示硬盘满了的元数据的检查。因此,立即备份数据库是人们想要的。本发明可以生成一个这样的命令,即其能激活一个能够调用第三方硬件或软件模块的硬件或软件命令,以帮助进行所述备份功能。所生成的命令,可以在数据库管理系统外部被执行,并且看上去与数据库管理功能无关。然而,所述命令实际上通过为数据库功能提供更多可用的系统资源,而为数据库管理功能所使用。
图3,是本发明示例性具体实施例的示例性方法的流程图。可以通过允许一个用来定义和存储在数据库管理系统的操作中可能发生的任务310的输入,来启动任务生成过程300。这种任务可以作为想要对数据库管理系统执行的维护任务或其他现行任务而被使用。所述任务可以由零碎的任务构建或得自取样或样本。
通过接收一个影响较早定义的任务的规则320的输入,来继续启动过程300。这种规则也提供对对象元数据的使用,以定义使用较早定义的规则的要求。此后,所述规则被存储330,以便在随后的使用中可以使用任务和规则两种。注意到,在该过程中所存储的任务和规则,能够在任何早于访问这种项目之前的时间被生成,并且没有必要在其使用之前马上生成这种任务和规则。
自动任务生成300的过程,通过等待一个数据库管理系统事件340,诸如创建或改变数据库对象,而继续进行。一发生了这种事件,该事件就被连同相关元数据一起记入日志(log)。所述事件的事件发生触发了下一步骤,其步骤将读取事件有效负荷(元数据)350并对有效负荷和事件360与较早生成并存储的规则进行比较。如果没有匹配370,那么所述处理就返回,以等待事件340的下一个通知。如果在所检测到的事件和所存储的规则之间存在匹配370,那么就收集和组织380与所匹配的规则相关联的任务。典型地,为了随后的执行所述任务可以接着被发送390到数据库管理系统。
图4是在图3的步骤340中所调用的示例性方法400的流程图。在本发明的一个实施例中,等待事件通知340的步骤,可以包括在数据库管理系统410内的事件的发生。所述事件的发生可以接着触发相应于所述事件的元数据420的生成。该元数据可以通过过程400或从数据库管理系统内的生成资源或将提供这种事件检测的代理处复制或传送而被生成。所述事件和相应的元数据被存于队列430中。随后,该队列可以被查询或获得其他过程的注意。所述随后的过程检查所述队列并读取事件数据440。在该点,图4的过程可以作为图3的步骤350部分而被重新开始,其中事件有效负荷元数据被如上所描述的那样被读取。
如上所提到的,尽管已经结合了各种计算装置和网络体系结构,描述了本发明的示例性具体实施例时,但是所述基础概念可以被用于任何想要在其中实施自动任务生成器的计算装置或系统。因此,本发明的方法或系统,可以被用于各种应用和装置。尽管在此选出了示例性编程语言、名称和例子作为各种选择中的代表,但并不是想要以这些语言、名称和例子进行限制。本领域的技术人员如果能意识到,存在大量提供对象代码的方法,其可实现本发明所完成的同样、类似或等效的系统和方法。
可以结合硬件或软件或如果合适的话用两者的组合,来实施此处所描述的各种技术。因此,本发明的方法和装置、或其部分的某一方面,可以表现为包括在有形的介质中程序代码(即,指令)的形式,所述介质可以是诸如软盘、CD-ROM、硬盘、或任一其他机器可读存储介质,其中当所述程序代码被诸如计算机这样的机器载入并执行时,所述机器就变成了实施本发明的装置。若是在可编程计算机上的程序代码,所述计算装置将通常包括处理器、处理器可读的存储介质(包括易失和非易失性存储器和/或存储器元件)、至少一个输入装置、和至少一个输出装置。可以利用处理本发明的服务程序(service)的信号的一个或多个程序,例如通过使用数据处理API或类似的,被优选地以高级程序性的或面向对象的编程语言来实施,以于计算机进行通信。然而,如果想要的话,所述程序(s)能够以汇编或机器语言来实施。无论如何,所述语言都可以被编译或解释成语言,并与硬件的实施相结合。
本发明的方法和装置,还可以通过通信来实施,以程序代码的形式被具体化的通信,通过某些传输介质而被传输,诸如通过电线或电缆,通过光纤,或通过任一其他形式的传输,其中,当所述程序代码被机器收到和载入并执行时,诸如EPROM、门阵列、可编程逻辑装置(PLD)、客户端计算机、录像机或类似的、或具有如在上面的示例性实施例作描述的信号处理能力的接收机成了实施本发明的装置。当在通用处理器上实施本发明时,所述程序代码就与处理器相结合以提供一唯一运行以调用本发明所描述的功能的装置。此外,结合本发明所用的存储技术,总是硬件和软件的结合。
虽然已经结合各种附图的优选实施例详细描述了本发明,但是应该明白其他类似具体实施例可以被使用,或可以为了执行本发明的同样的功能而对所描述的具体实施例进行修改和添加而不脱离本发明。而且,应该强调,各种计算机平台,包括手持式装置的操作系统和其他应用特定的操作系统都是预期中的,尤其是在无线连网装置的数目仍在增加时。因此,本发明不应被限制成单个具体实施例,而是应该根据所附的权利要求被广义地解释。

Claims (15)

1.一种为SQL数据库管理系统自动生成任务的方法,该方法包括:
通过在事件队列中登记事件的信息以及相关联的元数据来检测对数据库管理系统进行操作的事件,所述事件信息和所述相关联的元数据被存储为事件队列中的XML负载;
由服务器代理从事件队列请求事件信息;
把所述XML负载发送至服务器代理,所述被发送至服务器代理的XML负载来自事件队列,所述XML负载包括事件及相关联元数据的标识;
在服务器代理中对XML负载与利用数据库对象元数据的较早规则进行匹配,所述匹配包括:将所述事件信息和所述相关联的元数据与所述规则进行比较、以在所述事件和所述规则之间检测匹配,所述规则定位系统任务;
根据与所述XML负载相匹配的规则自动生成任务,其中所生成的任务是用于对SQL数据库管理系统进行维护操作的Transact-SQL命令;以及
把所生成的任务传送至所述SQL数据库管理系统作为执行命令。
2.根据权利要求1所述的方法,还包括利用用户接口和程序接口中的至少一个来定义系统任务。
3.根据权利要求1所述的方法,其中所述数据库对象元数据包括容量、位置、用户、语言、文件数、空闲空间和客户属性中的一个或多个。
4.根据权利要求1所述的方法,其中所生成的任务对应于至少一个系统任务。
5.根据权利要求1所述的方法,其中所生成的任务还包括指向非数据库管理功能的硬件命令和软件命令中的至少一个。
6.一种为数据库管理系统自动生成任务的系统,所述系统包括:
第一计算机,用于执行用来生成任务的软件;
至少一个存储器介质,其中存有用于对数据库对象的操作的较早存储的规则和系统任务;
服务器计算机,用于自动检测对数据库管理系统进行操作的事件并且在事件队列中登记所述事件及相关联的元数据,其中所述事件的信息和所述相关联的元数据被存储为事件队列中的XML负载;
其中,所述第一计算机请求来自事件队列的XML负载,
所述事件队列把所述XML负载发送至第一计算机,
所述第一计算机对XML负载与规则进行自动匹配,所述规则利用数据库对象元数据并且定位系统任务,当出现匹配时,第一计算机根据规则自动地生成任务并且组装所生成的任务供数据库管理系统执行。
7.根据权利要求6所述的系统,还包括用户接口和程序接口中的至少一个用于为所述规则和系统任务提供输入。
8.根据权利要求6所述的系统,其中所生成的任务包括数据库管理系统命令和非数据库管理系统命令中的至少一个。
9.根据权利要求6所述的系统,其中所述数据库管理系统是基于SQL的数据库管理系统。
10.根据权利要求6所述的系统,其中所生成的任务是为在SQL数据库中检测操作的Transact-SQL命令。
11.根据权利要求6所述的系统,其中所生成的任务包括激活硬件功能和软件功能中的至少一个。
12.一种用于自动生成用于数据库管理系统的命令的系统,所述系统包括:
一种计算机,其包括数据库管理系统;
一接口,以接收至少一个系统任务和至少一个与所述至少一个系统任务相关的较早规则;
一存储器,以存储所述至少一个系统任务和所述至少一个规则;
一个事件检测器,以检测数据库事件;
一个事件队列,以登记数据库事件标识符和相关的元数据,其中所述数据库事件标识符相应于所述数据库事件;
一个服务器代理,通过请求和接收来自事件队列的XML负载以感测数据库事件标识符的登记,所述XML负载包括所述数据库事件标识符和所述相关的元数据,所述服务器代理将XML负载的内容和所述至少一个规则相比较;和
任务命令生成器,以产生命令,
其中如果所述服务器代理对XML负载的内容和至少一个规则进行了匹配,则所述任务命令生成器就自动生成与至少一个系统任务相关的命令。
13.根据权利要求12所述的系统,其中所述数据库管理系统是SQL数据库管理系统。
14.根据权利要求12所述的系统,其中所述命令是针对数据库管理系统执行维护操作的Transact-SQL命令。
15.根据权利要求12所述的系统,其中所述命令包括硬件命令和软件命令中的至少一个,所述硬件命令和软件命令指向数据库管理功能和非数据库管理功能中的至少一个。
CNB2004100639524A 2003-06-06 2004-06-04 自动任务生成器的方法和系统 Expired - Lifetime CN100478944C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/456,904 2003-06-06
US10/456,904 US7912820B2 (en) 2003-06-06 2003-06-06 Automatic task generator method and system

Publications (2)

Publication Number Publication Date
CN1573757A CN1573757A (zh) 2005-02-02
CN100478944C true CN100478944C (zh) 2009-04-15

Family

ID=33159595

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100639524A Expired - Lifetime CN100478944C (zh) 2003-06-06 2004-06-04 自动任务生成器的方法和系统

Country Status (5)

Country Link
US (1) US7912820B2 (zh)
EP (1) EP1484695B1 (zh)
JP (1) JP4684578B2 (zh)
KR (1) KR101099152B1 (zh)
CN (1) CN100478944C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101673292B (zh) * 2009-10-15 2012-05-02 成都市华为赛门铁克科技有限公司 关联分析方法和系统及汇聚关联装置和分布式关联装置

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IE20070181A1 (en) 2006-03-17 2007-11-14 Iontas Ltd Monitoring of computer events
US7555480B2 (en) * 2006-07-11 2009-06-30 Microsoft Corporation Comparatively crawling web page data records relative to a template
US20080235066A1 (en) * 2007-03-19 2008-09-25 Hiroko Mano Task management device, task management method, and task management program
CN101286118B (zh) * 2007-04-10 2012-04-18 北京搜狗科技发展有限公司 一种快速调用程序指令的方法、系统
US20090037378A1 (en) * 2007-08-02 2009-02-05 Rockwell Automation Technologies, Inc. Automatic generation of forms based on activity
KR100956159B1 (ko) * 2008-04-24 2010-05-06 한국과학기술연구원 라이프로그 장치 및 정보 자동 태그 입력 방법
US9904681B2 (en) * 2009-01-12 2018-02-27 Sri International Method and apparatus for assembling a set of documents related to a triggering item
US8713060B2 (en) 2009-03-31 2014-04-29 Amazon Technologies, Inc. Control service for relational data management
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
US9207984B2 (en) 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US20100274750A1 (en) * 2009-04-22 2010-10-28 Microsoft Corporation Data Classification Pipeline Including Automatic Classification Rules
US8676753B2 (en) 2009-10-26 2014-03-18 Amazon Technologies, Inc. Monitoring of replicated data instances
US8074107B2 (en) 2009-10-26 2011-12-06 Amazon Technologies, Inc. Failover and recovery for replicated data instances
CN101980187A (zh) * 2010-10-13 2011-02-23 中兴通讯股份有限公司 数据入库方法和装置
US20120159429A1 (en) * 2010-12-15 2012-06-21 Microsoft Corporation Metadata based eventing
US8793706B2 (en) 2010-12-16 2014-07-29 Microsoft Corporation Metadata-based eventing supporting operations on data
US9081899B2 (en) * 2012-01-31 2015-07-14 Bank Of America Corporation System and method for processing web service test cases
CN102855266B (zh) * 2012-04-27 2015-05-13 北京华胜鸣天科技有限公司 一种信息系统创建方法、装置及系统
US9619552B2 (en) 2013-09-06 2017-04-11 Sap Se Core data services extensibility for entity-relationship models
US9442977B2 (en) 2013-09-06 2016-09-13 Sap Se Database language extended to accommodate entity-relationship models
US9639572B2 (en) 2013-09-06 2017-05-02 Sap Se SQL enhancements simplifying database querying
US9361407B2 (en) 2013-09-06 2016-06-07 Sap Se SQL extended with transient fields for calculation expressions in enhanced data models
US9430523B2 (en) 2013-09-06 2016-08-30 Sap Se Entity-relationship model extensions using annotations
US9354948B2 (en) * 2013-09-06 2016-05-31 Sap Se Data models containing host language embedded constraints
KR102075386B1 (ko) * 2013-11-28 2020-02-11 한국전자통신연구원 대용량 순차 수집 데이터 처리를 위한 프레임워크 제공장치 및 이의 데이터 처리방법
US9886457B2 (en) * 2014-03-10 2018-02-06 International Business Machines Corporation Deduplicated data processing hierarchical rate control in a data deduplication system
GB2524074A (en) 2014-03-14 2015-09-16 Ibm Processing data sets in a big data repository
CN105868217A (zh) * 2015-01-22 2016-08-17 阿里巴巴集团控股有限公司 数值自动转换方法及系统
US9891966B2 (en) 2015-02-10 2018-02-13 Red Hat, Inc. Idempotent mode of executing commands triggered by complex event processing
US10423468B2 (en) * 2015-02-10 2019-09-24 Red Hat, Inc. Complex event processing using pseudo-clock
CN105488174B (zh) * 2015-12-01 2018-05-04 北京浩瀚深度信息技术股份有限公司 基于bs结构的多分布式数据源管理方法及系统
US10796235B2 (en) * 2016-03-25 2020-10-06 Uptake Technologies, Inc. Computer systems and methods for providing a visualization of asset event and signal data
US10782670B2 (en) * 2016-12-14 2020-09-22 The Boeing Company Robotic task system
US10791134B2 (en) * 2016-12-21 2020-09-29 Threat Stack, Inc. System and method for cloud-based operating system event and data access monitoring
CN110737515B (zh) * 2018-07-19 2024-04-09 阿里巴巴集团控股有限公司 一种数据任务指令的处理方法、计算机设备、存储介质
US20200082004A1 (en) * 2018-09-06 2020-03-12 Ca, Inc. Automatic detection of database criticality
KR102160344B1 (ko) * 2018-12-31 2020-09-25 주식회사 포스코아이씨티 로봇 프로세스 자동화 시스템 및 방법
US11163742B2 (en) * 2019-01-10 2021-11-02 Microsoft Technology Licensing, Llc System and method for generating in-memory tabular model databases
US20200234242A1 (en) * 2019-01-22 2020-07-23 Ab Initio Technology Llc Finite state machines for implementing workflows for data objects managed by a data processing system
CN113412684B (zh) * 2019-02-14 2024-04-26 昕诺飞控股有限公司 通过确定事件和控制命令之间的关系来改进自动化规则
CN110083623B (zh) * 2019-03-12 2023-10-17 中国平安人寿保险股份有限公司 一种业务规则生成方法及装置
US11494611B2 (en) * 2019-07-31 2022-11-08 International Business Machines Corporation Metadata-based scientific data characterization driven by a knowledge database at scale
CN112748990A (zh) * 2019-10-30 2021-05-04 北京国双科技有限公司 基于Quartz的数据质量任务执行方法、装置和计算机设备
US20220253415A1 (en) * 2021-02-09 2022-08-11 Humana Inc. Database maintenance using parallel processing techniques with dedicated logical channels
CN113722302B (zh) * 2021-07-28 2024-09-10 浙江大华技术股份有限公司 一种数据治理方法与装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4939689A (en) * 1987-04-09 1990-07-03 Crowninshield Software, Inc. Outline-driven database editing and retrieval system
US5394549A (en) * 1992-12-17 1995-02-28 International Business Machines Corporation Task spawning responsive to relational database conditions and operations
US6496872B1 (en) * 1994-05-16 2002-12-17 Apple Computer, Inc. Computer system for automatically instantiating tasks designated by a user
US5655081A (en) 1995-03-08 1997-08-05 Bmc Software, Inc. System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture
US5898760A (en) * 1997-03-05 1999-04-27 Bellsouth Corporation Method and apparatus for automating the management of a database
US6347374B1 (en) 1998-06-05 2002-02-12 Intrusion.Com, Inc. Event detection
US7617240B2 (en) * 1999-05-04 2009-11-10 Accenture Llp Component based task handling during claim processing
JP3601677B2 (ja) * 1999-06-09 2004-12-15 日本電気株式会社 タスク処理システム
US6405212B1 (en) * 1999-09-27 2002-06-11 Oracle Corporation Database system event triggers
US6427146B1 (en) 2000-03-31 2002-07-30 Wesley W. Chu Database event detection and notification system using type abstraction hierarchy (TAH)
US7496927B2 (en) * 2000-11-09 2009-02-24 Microsoft Corporation Auto-generated task sequence
US8271457B2 (en) 2000-11-22 2012-09-18 Bmc Software, Inc. Database management system and method which monitors action results and adjusts user parameters in response
JP3578082B2 (ja) * 2000-12-20 2004-10-20 株式会社デンソー 処理実行装置及び記録媒体
US20020107905A1 (en) * 2001-02-05 2002-08-08 Roe Colleen A. Scalable agent service system
US20040216098A1 (en) * 2001-02-05 2004-10-28 Roe Colleen A. Scalable agent service scheduler
US6820080B2 (en) * 2001-03-26 2004-11-16 International Business Machines Corporation Dependent object processing for triggers
US6745174B2 (en) * 2001-03-29 2004-06-01 Hewlett-Packard Development Company, L.P. Method of executing before-triggers in an active database
US6687733B2 (en) * 2001-06-01 2004-02-03 Intergenix Method and system for automatically configuring a client-server network
JP3788281B2 (ja) 2001-07-09 2006-06-21 日本電気株式会社 セッション確立方法
WO2003015000A1 (en) * 2001-08-08 2003-02-20 Trivium Systems Inc. Workflow engine for automating business processes in scalable multiprocessor computer platforms
US7483970B2 (en) * 2001-12-12 2009-01-27 Symantec Corporation Method and apparatus for managing components in an IT system
CA2365436A1 (en) * 2001-12-19 2003-06-19 Alcatel Canada Inc. Command language interface processor
US7424717B2 (en) * 2002-05-01 2008-09-09 Bea Systems, Inc. Systems and methods for business process plug-in development
US7350184B2 (en) * 2002-05-02 2008-03-25 Bea Systems, Inc. System and method for enterprise application interactions
WO2003102802A1 (en) * 2002-06-03 2003-12-11 Sevenspace System and method for reliable delivery of event information
US20040028069A1 (en) * 2002-08-07 2004-02-12 Tindal Glen D. Event bus with passive queuing and active routing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101673292B (zh) * 2009-10-15 2012-05-02 成都市华为赛门铁克科技有限公司 关联分析方法和系统及汇聚关联装置和分布式关联装置

Also Published As

Publication number Publication date
US20040249856A1 (en) 2004-12-09
KR101099152B1 (ko) 2011-12-27
JP4684578B2 (ja) 2011-05-18
EP1484695A3 (en) 2006-03-08
KR20040105582A (ko) 2004-12-16
EP1484695B1 (en) 2013-08-21
CN1573757A (zh) 2005-02-02
EP1484695A2 (en) 2004-12-08
JP2004362596A (ja) 2004-12-24
US7912820B2 (en) 2011-03-22

Similar Documents

Publication Publication Date Title
CN100478944C (zh) 自动任务生成器的方法和系统
CN100535894C (zh) 数据库对象脚本生成方法和系统
CN100565510C (zh) 数据访问层类生成器
RU2409847C2 (ru) Отображение модели файловой системы в объект базы данных
US7617254B2 (en) Method and mechanism for relational access of recovery logs in a database system
CN1906613B (zh) 产生可扩展的文件系统元数据和文件系统内容处理的系统和方法
US8311998B2 (en) System and methods for facilitating a linear grid database with data organization by dimension
JP4676199B2 (ja) カスタマのアクティビティを統合、管理、および調整するためのシステムおよび方法
US7941524B2 (en) System and method for collecting and storing event data from distributed transactional applications
US7437375B2 (en) System and method for communicating file system events using a publish-subscribe model
US7650346B2 (en) User-defined type consistency checker
US7831552B2 (en) System and method for querying file system content
CN104813276A (zh) 从备份系统流式恢复数据库
JP5452030B2 (ja) 統合ログ生成装置及び統合ログ生成プログラム及び記録媒体
CN101727320A (zh) 用于识别数据库更改对应用的影响的方法和系统
JP2006012146A (ja) 影響分析のためのシステムおよび方法
CN101617290A (zh) 操纵数据存储系统中的数据
CN105229601A (zh) 软件构建优化
MXPA06001214A (es) Sistema de archivos representados dentro de una base de datos.
CN100378731C (zh) 自动数据合并
CN104142930A (zh) 通用δ数据装载
CN110570928A (zh) 一种基于HBase和ozone的医疗影像文件存取方法
US20230289331A1 (en) Model generation service for data retrieval
US20060095405A1 (en) Mirroring database statistics
CN102132267A (zh) 动态元数据

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

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

Effective date of registration: 20150428

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CX01 Expiry of patent term

Granted publication date: 20090415

CX01 Expiry of patent term