从数据库操作审核交易数据的方法和系统的制作方法

文档序号:6350167阅读:213来源:国知局

专利名称::从数据库操作审核交易数据的方法和系统的制作方法从数据库操作审核交易数据的方法和系统
背景技术
:因特网正日益成为支持各种形式和等级的通信的计算机全球化网络。例如,在万维网(www)上,信息可被呈现在通常称为网站的世界范围可利用的页面上。因特网也借助电邮和/或因特网公告板服务支持终端用户之间的一对一通信。然而,因特网上每种形式通信的共同特点是使用域名识别要联系的计算机。域名被称为因特网协议(IP)号码,实际是由十进制小数点分割的唯一数字组合。因为IP号码对于因特网用户记住或使用是麻烦及困难的,因此IP编号系统已由更加面向用户友好的域名系统覆盖。该域名系统允许向因特网地址分配字母数字指定或域名(其直接关联到分配的IP号码)。已知为域名服务器的特殊计算机维护将域名链接到它们各自IP号的表格。域名的分解通过句号(称为点)由两个以上的部分(称为域级)组成。顶级域(TLD)出现在点的右边,通过其因特网区域指定“.com”或“.g0V”、“.uk”,等等引用。表示特定国家的TLD被称为国家编码TLD或ccTLD。二级域(SLD)或三级域(一般被称为域名)由紧邻点的左边的字符(包括字母、数字以及连字符)组成。为了域名地址系统的正常运行,特定TLD内的每个域名必须是唯一的,即使与另一个域名的区别仅仅是一个字符。为了避免重复分配“域名”,被称为注册局(registry)的单一实体最终负责维护每个特定TLD中所有域名的完整数据库。该数据库被称为注册数据库。在大多数一般(例如,.com、.net、.org)的域名注册中,注册处理中很少或没有人为干预。由注册局维护的注册数据库电子地记录更容易记住的域名和其对应的IP号码(从具有分配所有IP号码任务的国际实体接收)之间的分配关系并将该信息报告给TLD注册局用于记录在所有域名的主要数据库中。注册服务商(registrar)也和每个注册人(registrant)签订注册协议(合同),并记录并维护重要的注册人联系方式和结算信息。由于域名在因特网通信中扮演的重要作用,简单方便、安全独立的域名注册和维护对于持续快速发展的因特网是必需的。因此,本领域需要涉及和注册数据库相关的审核和验证交易的改进方法和系统。发明概要本发明总体上涉及数据库系统。更具体而言,本发明涉及用于审核在注册数据库中执行的交易的方法和系统。仅仅通过示例,本发明已应用于利用描述注册操作的简档(profile)验证交易数据并比较所验证的交易数据与交易日志文件的系统。本方法和系统可应用于其他高值数据库用于验证数据完整性。根据本发明实施例,提供一种用于验证SRS注册交易数据的方法。该方法包括从第一数据库接收OLTP交易数据,解析所述OLTP交易数据,以及比较所解析的OLTP交易数据与一个或多个简档集合。所述一个或多个简档集合的每个包括XML文件中的元数据。该方法还包括在第一数据缓存器中缓存所解析的OLTP交易数据并接收和所述OLTP交易数据相关的日志数据。该方法进一步包括在第二数据缓存器中缓存日志数据并关联在所述第一数据缓存器中缓存的所述经解析的交易数据和在所述第二数据缓存器中缓存的所述日志数据。根据本发明的另一实施例,提供一种用于验证交易数据的方法。该方法包括从第一数据库接收所述交易数据并解析所述交易数据。本方法还包括比较所述经解析的交易数据和一个或多个简档集合并接收和所述交易数据相关的日志数据。该方法进一步包括关联所述所解析的交易数据和所述日志数据。根据本发明的特定实施例,提供一种使用存储在交易日志数据库中的交易日志文件验证和SRS注册数据库相关的交易数据的系统。该系统包括可操作以从所述SRS数据库接收OLTP交易数据并解析所述OLTP交易数据的数据库读取器以及耦合到所述数据库读取器并可操作以比较所述经解析的OLTP交易数据和一个或多个简档集合的数据库数据验证器。该系统还包括可操作以从所述交易日志数据库接收交易日志文件的交易日志文件读取器,以及耦合到所述数据库数据验证器和所述交易日志文件读取器并可操作以关联所述所解析的交易数据和所述交易日志文件的数据关联器。根据本发明的另一实施例,提供一种存储多条指令用于控制数据处理器验证交易数据的计算机可读介质。所述多条指令包括使得数据处理器从第一数据库接收交易数据的指令以及使得所述数据处理器解析所述交易数据的指令。所述多条指令还包括使得数据处理器比较所述经解析的交易数据与一个或多个简档集合的指令以及使得所述数据处理器接收和所述交易数据相关的日志数据的指令。所述多条指令进一步包括使得所述数据处理器关联所述经解析的交易数据和所述日志数据的指令。相对于常规技术通过本发明可实现许多优势。例如,当已知应用的外部执行对SRS注册数据库的任何改变时本发明的实施例向操作人员提供警告。因此,本文所述的实施例提供涉及和注册数据库相关的恶意操作的信息。而且,由于验证注册数据改进了数据的整体性,因此本发明的实施例向注册数据库操作员提供相对于商业竞争者竞争性的优势。通过利用本文所述的方法和系统,系统操作员能更容易更快速地检测入侵者和恶意操作,借此限制对注册数据库的潜在损害。而且,利用本发明的实施例,操作人员能识别操作数据库内数据的每个交易的起源,因此,安全审核器建立应用和数据库之间的信任链表。另外,本发明的实施例确保提交到数据库的每个交易都来自已知来源。将结合如下文本和附图详细描述本发明的这些和其他实施例,以及许多其优点和特点。附图简述图1是用于根据本发明实施例验证交易数据的系统的简化框图;图2是用于根据本发明实施例验证交易数据的高级执行流程图;图3是示出根据本发明实施例验证交易数据的方法的简化流程图;图4是示出根据本发明实施例在交易数据验证期间执行流程的简化示意图;图5是示出根据本发明实施例用于注册操作的元数据的简化示意图;图6是示出根据本发明实施例用于操作信息(Operationlnfo)的元数据的简化示意图;图7是示出根据本发明实施例用于数据库信息(Databaselnfo)的元数据的简化示意图;图8是示出根据本发明实施例的验证标准的简化示意图9是示出根据本发明实施例交易日志验证的简化示意图;图10是示出根据本发明实施例的数据库验证规则的简化示意图;图11是示出根据本发明实施例的参照验证的简化示意图;图12是示出根据本发明实施例的查询验证的简化示意图;图13是示出根据本发明实施例的常规表示验证的简化示意图;图14是示出根据本发明实施例的条件验证的简化示意图;图15是示出根据本发明实施例退出表格验证的简化示意图;图16是示出根据本发明实施例的日期验证的简化示意图;图17是示出根据本发明实施例的客户验证的简化示意图;图18是示出用于根据本发明实施例的添加域操作的处理流程的简化流程图;图19是示出根据本发明实施例的配置信息的屏幕截图;以及图20是用于根据本发明实施例报告来自安全审核器的结果的系统的简化框图。发明详述图1是用于根据本发明实施例验证交易数据的系统的简化框图。本文所述的系统和方法审核数据库(例如,SRS注册数据库)以验证所有对数据的改变都来自已知来源,客户和数据之间的监视链表可以被验证及审核,客户交易的意图正确地保留在数据库中,商业规则被适当地施行,并快速识别并警告系统操作员涉及数据库的恶意行为。系统包括注册数据库110,其包括在线交易处理处理(OLTP)数据。本发明的实施例可应用于其他数据库,但OLTP数据在本文被作为代表性数据源解释。数据库读取器112用于从数据库110读出数据并将该数据发送到数据库验证器120。数据库读取器112将一般地解析数据(例如,OLTP数据)。数据库验证器120从简档数据库122接收简档数据并根据来自简档数据库的一个或多个匹配简档验证来自数据库读取器的数据。作为示例,如果涉及添加域(Adddomain)操作的数据出现在OLTP数据中,则数据库验证器120比较该OLTP数据和添加域简档以确定是否执行正确的数据库操作作为添加域操作的一部分。涉及利用简档验证数据的其他讨论在当前说明书以及更具体的下文中提供。在验证之后,数据可被缓存在数据缓存器130中。该系统也包括从交易日志文件150接收数据的交易日志文件读取器152。交易日志数据可被缓存在交易日志数据缓存器160中或直接传递到数据关联器140。如图1所示,数据关联器140从数据验证器120、交易日志文件读取器152和/或数据缓存器130和交易日志数据缓存器160接收输入。数据关联器140比较来自数据库验证器的经验证的数据和交易日志数据以确定这两种数据源之间是否有一致性。涉及这些数据源的关联的其他讨论在当前说明书和更具体的下文中提供。可选的报告产生器170接收数据关联处理的结果并适于向系统操作员等提供报告。需要理解,本文中另外称为系统、处理器、引擎等的各种功能块(包括图1所示的数据库读取器112、数据库验证器120、交易日志文件读取器152、数据关联器140、和可选的报告产生器170)可以包括在经配置以执行指令和数据的一个或多个通用处理器中。因此,图1所示的各种处理可以由适于各种任务并耦合到一个或多个存储器的处理器执行,所述存储器存储适于由处理器执行的指令。处理器可以是经配置以执行指令和数据的通用微处理器,诸如由加州圣克拉拉的因特尔公司制造的奔腾处理器。也可以是嵌入至少部分指令用于以软件、固件和/或固件执行根据本发明的方法的专用集成电路(ASIC)。作为示例,该处理器包括专用电路、ASIC、组合逻辑、其他可编程处理器、其组合,等等。存储器可以是存储数字信息的任何设备,诸如RAM、闪存、硬盘、CD,等等。处理器可以耦合到各种数据库,例如OLTP数据、简档数据、交易日志文件数据的来源、数据缓存器130、交易日志数据缓存器160或可以存储其他相关信息的其他数据库。因此,本文提供的处理器被广义地定义并包括,但不限于执行数据验证、关联等的处理器。这些处理器因此可以使用存储多条指令用于执行本发明范围内包括的至少部分方法的计算机可读介质实施。如在本说明书中更充分地描述,本发明实施例比较数据库交易与已知交易简档。因为应用具有有限编码路径,因此可以与数据库交易比较以验证交易是否被授权。另外,通过关联数据库交易与应用服务日志,系统之间可创建信任链表,借此改进系统的信心。图2是用于根据本发明实施例验证交易数据的高级执行流程图。交易数据被存储在由OLTP数据流210表示的数据库中。在图2所示的实施例中,交易数据是在线交易处理(OLTP)数据,但本发明并不限于该具体的数据集合。数据库读取器230从交易数据流读取交易(例如,OLTP交易)并然后解析数据。数据库读取器的控制由安全审核控制220提供,其表示较大的安全审核系统的一部分。在本说明书中,参考安全审核器,包括数据库读取器230、安全审核控制220、交易日志文件读取器260、数据库数据验证器240、简档列表250、数据关联器270和报告产生器280的组件,这些在当前说明书和更具体的下文中更充分地描述。因此,对安全审核器的参考应理解为对适于执行本文所述方法的系统的参考。在交易数据被解析之后,通过与简档列表250中存储的现有简档比较对经解析的交易数据进行验证。在SRS注册数据库中,每个应用根据其编码具有有限的编码路径。因此,在应用中发生的每个交易应该适应已知简档。简档是描述可审核注册操作的(以XML文件表示)元数据。如下文更充分地讨论,系统将对每个注册操作提供一个简档。通过利用简档审核对SRS注册数据库的所有成功写入操作,数据库中的交易可以被验证为可授权。仅仅通过示例,简档可包括涉及在注册操作期间执行的操作(例如,对于特定表格的插入INSERT)、在注册操作期间应用的商业逻辑规则等等的元数据。本发明实施例提供其中数据库被挖掘以及交易与所有已知简档比较以验证每个交易是否匹配简档的方法和系统。如果交易不匹配已知简档之一,则提供异常已发生的指示。通过验证数据,安全审核器确保客户的意图被正确地保留在数据库中以及所有的商业规则已经被合适地施行。在验证之后,经验证的交易数据可以被存储在称为数据库数据缓存器的缓存器中。除了验证交易数据,安全审核器利用应用侧上产生的交易日志并关联这些交易日志和经验证的数据。交易日志文件读取器260从交易日志文件数据库255读出交易日志。交易日志文件由应用服务器创建。交易日志文件被解析并在可选步骤中缓存在交易数据日志数据缓存器中。数据关联器270用于关联经验证的交易数据和对应的交易日志数据以确保对SRS注册数据库进行的改变来自已知来源。作为异常的示例,如果交易数据(验证之后)不匹配对应的交易日志,则其提供对数据库的改变不是来自已知来源的指示。相应地,可以发出警告。报告产生器280用于从数据库数据验证器240以及数据关联器270接收信息。相应地,可以根据验证错误(即,交易数据不匹配已知简档)或关联错误产生报告。该报告可以包括诸如失败交易、不同的验证错误的计数、审核交易的总数、验证交易所花费的时间量等等的交易列表的信息。应用服务器上交易日志中的识别符与数据库中的交易比较,确保这些组件如分配一样匹配。因此,交易日志中客户意图被合适地保留在数据库中,其由OLTP数据流210表示。利用本发明实施例,操纵注册数据库内数据的所有交易经验证来自已知来源并匹配和现有应用编码路径相关的已知简档。通过从数据库挖掘交易数据并比较交易与和交易相关的简档验证交易用于确定在执行交易中是否利用已知的应用逻辑流程。一旦利用处理流程简档验证数据,则然后与应用交易日志比较。这些比较提供了利用常规系统不可获得的数据完整性等级。根据该验证处理,本文所述的方法和系统提供了向操作人员警告数据是否在应用以外更新(其可能表示恶意意图)的附加优势。对于本文所述方法和系统的示例性使用情况是黑客获得对注册数据库的访问并缓慢地在授权应用以外每天删除一定数量的域。本文所述的安全验证器能检测未经授权的删除,因为该删改不遵守对于删除域建立的简档以及不来自于已知来源。一旦识别未经授权的改变的特征,可发出警告,借此使得系统操作员进行正确的操作。图3是示出根据本发明实施例验证交易数据的方法的简化流程图。该方法300包括从第一数据库(310)接收OLTP交易数据。第一数据库包括SRS注册数据库。交易数据可由数据库读取器(诸如从CAredwoodshore的甲骨文公司可获得的LogMiner审核工具或从加州旧金山的Goldenfeite软件公司可获得的GoldenGate交易数据集成软件)读取。该方法还包括解析OLTP交易数据(312)。该OLTP交易数据可以涉及多个SRS数据库操作,包括添加域名、删除域名、恢复域名,等等。在其他实施例中,OLTP交易数据可以涉及添加域名服务器、删除域名服务器、或修改域名服务器。经解析的OLTP交易数据与一个或多个简档集合比较(314)。一个或多个简档集合的每个都包括XML文件中的元数据。根据接收的交易数据的类型,简档可以包括涉及诸如添加域名、删除域名、恢复域名等的操作的简档。在其他实施例中,简档可以涉及添加域名服务器、删除域名服务器、或修改域名服务器。在其他实施例中,该方法可选地包括在第一数据缓存器中缓存经解析的OLTP交易数据(316),虽然该操作在本发明中不是必需的。该方法进一步包括接收和OLTP交易数据相关的日志数据(318)以及关联经解析的OLTP交易数据和日志数据(320)。在一个实施例中,日志数据可以缓存在第二数据缓存器中,虽然该操作在本发明中不是必需的。在利用缓存器的实施例中,关联处理可以利用经缓存的解析数据和经缓存的日志数据。该方法300也可选地包括确定验证错误(32并产生涉及验证错误的警告(324)。作为该警告的示例,可以产生一个或多个报告(例如,细节报告或概要报告)用于由系统操作员或其他人使用。需要理解,图3所示的具体步骤提供根据本发明实施例验证交易数据的特定方法。根据可替换实施例也可执行其他的步骤序列。例如,本发明的可替换实施例可以以不同顺序执行上文论述的步骤。而且,当对单个步骤合适时,图3所示的单个步骤可以包括以不同顺序执行的多个子步骤。而且,取决于特定应用可以添加或去除其他步骤。本领域的普通技术人员可以理解许多改变、修改和替换。图4是示出根据本发明实施例在交易数据验证期间执行流程的简化示意图。安全审核器400如所示包括下文描述的多个组件。根据本发明实施例,安全审核器由APE(异步处理引擎)框架例示。该APE框架负责从交易日志文件(例如,GoldenGate跟踪文件)读取OLTP交易并使得它们子存储队列中可用用于由下游应用使用。安全审核器是一种该下游应用。通过配置文件和审核交易的开始日期时间例示该安全审核器。在本文所述的实施中,启动时的安全审核器将例示并开启如下组件。·MBean服务器,用于注册各种mbeans以显示诸如处理的交易数量等的统计数据。初始化有效SQL概要(SQLSummary)缓存器430(也称为SQL缓存器)以及交易日志概要缓存器428。有效SQL概要缓存器430是从数据流装载到存储器中的SQL语句列表。数据库中发生的插入、更新和删除也包括在该缓存器中,因此为流提供数据存储。初始化异常管理器458。简档管理器440,对于要被审核的注册操作读取、解析和缓存简档。利用和操作相关的0PERATI0NID和概念类名称缓存简档。数据库处理器(DBProCesSor)402经初始化以准备从APE框架开始检索OLTP交易ο启动交易日志文件轮询器420以轮询用于交易日志文件的特定目录。概要关联器管理器450经初始化以准备开始关联来自它们各个缓存器的SQL和交易日志概要。安全审核报告管理器460,在所有交易已经被审核后准备产生报告。安全审核报告管理器460将然后例示并启动安全审核细节报告(SecurityAuditorDetaillteport)线程466。具有可重置SA组件管理器(ResettableSAComponentManager)470作为可重置组件的安全审核注册器自身。如下是安全审核器中执行步骤的高级解释1.使用交易应该被审核的开始日期时间对安全审核器初始化。通过计算配置文件中指定的报告块尺寸小时的数量之和计算交易审核应该被停止并产生报告的结束日期时间。该结束日期时间然后被传递到数据库处理器线程(DBProcessorThread)类和概要管理(SummaryCorrelator)2.数据库处理器(DBProcessor)组件402产生数据库处理器线程(DBProcessorThread)对象410的池的线程。数据库处理器线程(DBProcessorThreads)处于等待状态,等待由可恢复组件管理器(ReSumeableC0mp0nentManager)442通知以开始检索来自APR框架的OLTP交易。3.SummaryCorrelatorManager450^^Γ^-^^^Μ^(SummaryCorrelator)象的池的线程。概要关联器线程处于等待状态,等待由可恢复组件管理器442通知以开始关联SQL概要和交易日志概要。4.交易日志文件轮询器(TranSLOgFilePOller)420轮询输入交易日志文件文件夹以发现交易日志文件的出现。5.当利用所提供的日志备份(logcopy.pl)perl脚本借助定时(cron定时)任务(即调度任务)将交易日志文件拷贝到输入交易日志文件文件夹时,如下序列的事件发生〇交易日志文件轮询器420将文件分配到交易日志文件分配器(TransLogFilesDispatcher)424。〇交易日志文件分配器似4利用安全审核器中的开始日期时间通过日期分类并分组交易日志文件。〇一天中有价值的交易日志文件然后被传递到交易日志文件处理器CTransL0gFilesftx)CesS0r)426,其然后将交易日志文件均勻地分布在多个交易日志文件处理器线程CTransLogFiIeftOcessorThread)对象。■每个交易日志文件处理器线程将然后例示每个指定的交易日志文件的TransLogFileReader0■每个交易日志文件处理器线程将然后轮询读取交易日志文件块的TransLogFileReader对象集合。■交易日志条目被解析到交易日志概要(TransLogSummary)对象并缓存在交易日志概要缓存器(TransLogSummaryCache)428中。〇交易日志文件分配器似4将然后通知可恢复组件管理器(ResumeableComponentManager)442以通知其他等待组件恢复审核。〇交易日志文件分配器似4将然后处于等待状态,等待由SummaryCorrelatorManager450通知以开始下一天交易日志文件的处理。6.可恢复组件管理器442将然后通知D数据库处理器线程和概要关联器线程以恢复审核。7.数据库处理器线程开始从APE框架检索OLTP交易。为注册操作传递相关简档中验证规则的交易然后被转换为SQLSummary对象并缓存在SQL概要缓存器430中。8.概要关联器线程开始从SQL概要缓存器430检索SQLSummary并从交易日志概要缓存器CTransLogSummaryCache)^8检索对应的交易日志概要(TransLogSummary)。交易日志验证规则被应用于这两个概要。记录任何验证错误。9.当数据库处理器线程(DBPrOCeSSOrThread)410从其产生时戳大于安全审核器中指定的结束日期时间的APE框架检索OLTP交易时,线程进入等待状态。当接收到下一天的有价值的交易日志文件时将通知该线程重新开始。10.同样地,当概要关联器线程检索其产生时戳大于安全审核器中指定的结束日期时间的SQLSummary时,线程进入等待状态。当接收到下一天中有价值的交易日志文件时将通知该线程恢复操作。11.概要关联管理器(SummaryCorrelatorManager)450将然后通知安全审核报告管理器(SecurityAuditorReportManager)460以产生报告。12.安全审核报告管理器460将刷新(flush)交易日志和SQL概要缓存器并产生两个报告给出错误类型和计数的高级报告的概要报告468,以及细节错误报告464。也可以产生对特定应用合适的其他报告。13.安全审核报告管理器460将然后通知可重置组件关联器(ResettableSAComponentManager)470向可重置组件的信号reset(),以便它们处于准备处理下一天交易日志文件的状态。14.概要关联管理器450将然后通知交易日志文件分配器424它可以继续进行并开始处理下一天的交易日志文件。应该理解,图4所示的具体步骤提供了根据本发明实施例操作安全管理器的特定方法,根据可替换实施例也可执行其他的步骤序列。例如,本发明的可替换实施例可以不同顺序执行上文论述的步骤。而且,当对单个步骤合适时,图4所示的单个步骤可以包括以不同顺序执行的多个子步骤。而且,取决于特定应用可以添加或去除其他步骤。本领域的普通技术人员可以理解许多改变、修改和替换。根据本发明实施例,安全审核器利用服务供应商接口(SPI)模块以确保可植入并植出不同的组件。例如,如果进行确定从数据库服务应用(例如,从CAredwoodshore的甲骨文公司可获得的LogMiner审核工具或从加州旧金山的GoldenGate软件公司可获得的GoldenGate交易数据集成软件)中移动,则解析GoldenGate的编码将被写入以提供和利用LogMiner提供的相同信息。根据具体实施例,将利用SPI揭示的接口进行所有编程。取决于实施例,可利用多个不同的高级接口以提供如下功能·由缓存管理器实施的接口。对于关联SQL概要中的信息和交易日志概要中的信息的关联器类的接口。用于分配事件的接口(当前用于分配交易日志文件)。对于不同种类的验证异常子分类java.lang.Exception的类,所述不同种类的验证异常由安全审核器施加或升级。对注册操作揭示简档信息的接口。在处理交易日志文件的单元之后由需要重置的组件实施的接口。当交易日志文件的单元可利用时由需要重新处理的组件实施的接口。帮助合适地关闭不同组件的接口。·以SQL语句表示信息的接口。用于SQL和交易日志概要的接口。本发明并不限于这些具体接口和它们提供的功能。在可替换实施例中,可以利用对本领域技术人员明显的其他接口。异步处理引擎(APE)框架如上文解释的,一个实施方式集成安全审核器和APE框架。该APE框架具有两个主要责任·例示SecurityAuditorFacade,其依次例示安全审核器引擎。SecurityAuditorFacade是安全审核器和APE框架之间的集成类。SecurityAuditorFacade可以由Spring植入(Springinjection)例示。在安全审核器中计算并设置交易需要被审核的开始和结束时间。借助安全AuditorFacade使得OLTP交易在存储器队列中可用。管理服务器(JMX)安全审核器经托管管理服务器。有使用管理服务器注册的多个MBeans,其包括如下MBeans列表。该MBeans列表仅仅通过示例提供并当对特定应用合适时添加其他的MBeans。本领域的普通技术人员可以理解许多改变、修改和替换。11异常管理MBean(Exc^ptionManagerMBean)提供验证异常的数量和类型的计数。安全审核配置MBeanGecurityAuditorConfigMBean)提供关于配置文件中配置信息的细节。安全审核MBean(SecurityAuditorMBean)提供操作以有序的形式关闭安全审核器和所有其组件。·SQL概要缓存管理器MBean(SQLSummaryCacheManagerMBean)提供关于缓存器中SQL概要的数量的信息。交易日志概要缓存管理器MBean(TransLogSummaryCacheManagerMBean)提供关于缓存器中交易日志概要的数量的信息。概要关联管理器MBean(SummaryCorrelatorManagerMBean)提供关于关联的交易数量和处理的最后SQL和交易日志概要的时戳的信息。简档管理器是读取以XML格式的简档并在存储器中缓存它们的单独类。启动时,安全审核器使用简档的位置例示简档管理器。在一个实施方式中,在java.util.TreeMap中缓存简档。使用如下索引将每个简档缓存在存储器中的两个树图中·OperationID(整数)根据在'INSERTINTOTRANSACTION'表格SQL语句中指定的'0PERATI0NID'列的值检索简档。该访问模式由DBProcessorThread类进行以利用OLTP交易中的日期寻找匹配的简档信息。·ConceptClassName(字符串)将根据概念类名交易日志条目的值检索简档。该访问模式由交易日志处理器线程(TransLogProcessorThread)类进行以利用交易日志条目中的日期寻找匹配的简档信息。作为简档的示例,注册操作简档由如下接口表示pybIEcinterfaceRegistryOperationProfMeextendsSeriaiizable{.OperationInfogetOperationlnfo{);DatabaseInfogetDatabaseinfo();Validator9etVafIdator();>SQL概要缓存管理器(SQLSummaryCacheManager)是作为SQL概要缓存器的单独类。SQL概要缓存在java.util.LinkedBlockingQueue中。数据库处理器线程将相该队列添加有效的SQL概要。和没有通过所有的数据库验证规则的数据库交易相关的交易Id将被缓存在Hashkt中。这样,当对应的交易日志条目期满时,如果SQL概要中的SCN小于在交易日志文件读取的最大SCN减去SCN阈值,则从缓存器中去除该条目并抛出SQL概要期满(SQLSummaryExpired异常)。SQL概要缓存器的最大尺寸由'sa.config'配置文件中的参数控制。在初始化阶段该值由安全审核器传递到SQL概要缓存管理器。交易日志概要缓存管理器(jTransLogSummaryCacheManager)是交易日志概要的缓存器。交易日志概要被缓存在扩展java.util.LinkedHashMap的内部类ExpiringTransSummaryCache中。交易臼志处理器线禾呈(TransLogProcessorThread)类夺向该图添加有效的交易日志概要。对于添加到期满交易概要缓存器(ExpiringTransSummaryCache)的每个交易日志概要,使用图中最近使用(LRU)条目调用removeEldestEntrO方法。如果交易日志条目中的SCN小于在数据库交易中读取的最大SCN减去SCN阈值,则从缓存器中去除该条目并抛出交易日志概要期满(TransLogSummaryExpired)异常。SCN阈值由'sa.config'配置文件中的参数设置。交易日志概要缓存器的最大尺寸由'sa.config'配置文件中的参数控制。在初始化阶段,该值由安全审核器传递到交易日志概要缓存管理器(TransLogSummaryCacheManager)。异常管理器458如图4所示。无论何时异常由安全审核器抛出,基础SAExc^ption类中的构造器执行两个功能利用提供的记录器在ERROR层记录给出的错误消息。调用异常管理器(Exc印tionManager)类中的方法以递增指定异常的计数。单独类com.verisign.sa.spi.exception.ExceptionManager被提供,以及缓存器(HaShMap<StringclassName,Atomiclnteger用于根据错误类型跟踪验证错误的数量。当产生报告时,该安全审核报告(SecurityAuditorR印ort)类使用该信息。本发明实施例提供日志备份脚本,其是将所有相关交易日志文件拷贝到由TransLogFilesPoller监视的输入交易日志文件夹的perl脚本(例如logcopy.pi)。脚本然后将所有的交易日志文件'scp'到输入交易日志文件夹。文件'build,properties'然后按需要修改以包括具有交易日志文件的所有服务器的IP地址。参数logcopy.date,interval指定向前多少天内拷贝交易日志文件。值'1'指定需要拷贝昨天的交易日志文件。同样地,值'2'将拷贝前天和昨天的交易日志文件。在拷贝所有的日志文件之后,LogCopy将然后在输入交易日志文件夹中产生名为1trigger'的文件。这样确保只有在已拷贝所有的交易日志文件之后安全审核器将开始处理。LogCopy经调度于每天上午2点作为cron任务运行。如图4所示的交易日志文件轮询器(TransLogFiIesPolIer)420用于轮询配置文件中指定的目录寻找名为'trigger'的具体文件。交易日志文件参数在配置文件中指定。现在参考图4,利用提供的日志备份(logcopy.pi)perl脚本借助cron任务将交易日志文件拷贝到输入交易日志文件文件夹以及如下事件序列发生交易日志文件轮询器420将触发器文件分配到交易日志文件分配器。交易日志文件分配器424将删除触发器文件。将输入交易日志文件夹中的所有交易日志文件移到处理中的交易日志文件夹。交易日志文件分配器424将利用安全审核器中的开始日期时间通过日期分类并分组交易日志文件。一天的有价值的交易日志文件然后被传递到交易日志文件处理器(TransLogFilesProcessor)426,其然后将叫日日志文件均勻分布在多个交易日志文件处理器线程(TransLogFileProcessorThread)对象中。产生的交易日志文件处理器线程对象的数量在如下的配置文件中指定:sa.translogsummary.threadpool.size=2。交易■每个交易日志文件处理器线程将然后例示指定的每个交易日志文件的交易日志文件读取器。■每个交易日志文件处理器线程将然后轮询读取交易日志文件的块的交易日志文件读取器(TransLogFileReader)对象集合。■交易日志文件中每个条目的交易日志文件读取器对象将执行如下操作解码交易日志条目以产生交易日志概要。解析交易日志条目的时戳以得到交易日志概要的产生时戳。缓存以交易ID为索引的HashMap中的交易日志概要。在交易日志文件被完全处理之后,交易日志文件读取器对象将文件移动到经处理的交易日志文件夹。交易日志文件分配器似4将然后通知可灰度组件管理器442以通知其他等待组件重新审核。交易日志文件分配器似4将然后处于等待状态,等待由概要关联管理器(summaryCorrelatorManager)450通知以开始处理下一天的交易日志文件(如果它们可得到)。数据库处理器线程最初处于将由可恢复组件管理器442通知的等待状态以开始从APE框架检索数据库交易,当借助kcurityAuditorfacade从APE框架读取OLTP交易时,如下步骤将发生1.对于从APE框架检索的每个OLTP交易■从'INSERTINTOTRANSACTION'SQL语句检索0PERATI0NID列的值。■如果0PERATI0NID列的值不是可审核操作之一,则丢弃该交易限制内的所有SQL语句。■如果没有'INSERTINTOTRANSACTION'SQL语句,则该交易限制内的整个SQL语句集合被认为是恶意SQL语句。■利用0PERATI0NID的从简档管理器(ProfileManager)440中检索交易中的SQL语句集合的对应简档。2.所解析SQL语句中的相关信息(如简档中指定的)被包尅到SQL语句。这些SQL语句的集合(以及其他信息)最终将用于形成SQL概要。3.应用相关数据库验证规则,诸如参考验证、查询验证、regex验证,等等。没有通过这些验证的SQL语句被标志(例如,立即)为错误。对应的交易ID被保留在'InvalidSQLSummary'缓存器412并被传递到异常管理器458。4.一旦SQL语句通过所有的验证,只有当产生的SQL概要具有简档中XML属性"transLogEntryExists=true/false"执行的对应交易日志条目时才对其缓存。和SQL语句集合相关的简档也和SQL概要一起进行保存。5.此外,交易日期用作缓存的概要的产生时戳。稍后在处理上,当从缓存器检索概要时,缓存器的产生时戳用于检查缓存器条目是否期满(即,在指定的时间期间内没有发现对应的交易日志概要)。6.当找到交易日期大于或等于安全验证器中的结束日期时间时,数据库处理器线程将进入等待状态。当它们被交易日志文件分配器424通知已接收新的交易日志文件集合时数据库处理器线程将重新从APE框架中检索交易。如在本说明书中所述,在安全审核器中同时执行三个线程集合。概要关联器450(也称为概要关联管理器)负责关联器线程线程池的产生及管理。在安全审核器中同时执行的三个线程集合如下·SQL概要线程用于解析SQL语句并缓存SQL概要。关联器线程并发地(例如,同时地)从两个缓存器中检索SQL概要和对应的交易日志概要。因为该线程集合关联来自SQL概要的信息和交易日志概要中的信息,因此它们被称为关联器线程。要产生的线程数量在配置文件中指定。当概要关联管理器450关联SQL和交易日志概要之间的交易单元时将通知交易日志文件分配器424。启动时安全审核报告管理器(SecurityAuditorIteportManager)由安全审核器初始化。由报告管理器460产生的报告将被写入由配置文件中的参数指定的文件夹。在具体实施例中,报告文件名称具有如下格式<StartDateTime)[MMddyyyyHHmmss]-t〇-〈EndDateTime>/MMddyyyyHHmmss]-<ReportType〉.txt。作为示例,可以对在2009年11月1日午夜开始并在2009年11月2日午夜结束的报告命名为11012009000000-to-11022009000000-Summary.txt。如图4所示,提供两种类型的报告‘Summary'或者'Detail'。在当前说明书以及更具体的下文中提供涉及概要和细节报告的其他描述。在产生报告之前,安全审核报告管理器将执行如下操作眷清除SQL概要缓存器〇对缓存器中的SQL概要进行最后一次重复以确保将关联可以和对应交易日志概要关联的任何其他SQL概要。〇如果没有发现对应的交易日志概要以及如果SQL概要还没有期满,则放回缓存ο〇已期满的任何SQL语句具有'SQLSummaryExpiredExc印tion'而不通过。如果概要中的SCN小于在交易日志文件中读取的最大SCN减去SCN阈值,则SQL语句被认为已经过期。作为示例,可将SCN阈值设置为10,000。眷清除交易日志概要缓存器〇对于交易日志概要缓存器中的所有交易日志概要,将执行如下操作■检查对应于该TransLogSummary的交易Id是否出现在'InvalidSQLSummary'缓存器中。没有通过数据库验证规则的数据库交易的交易Id将出现在该缓存器中。如果交易Id出现在该'InvalidSQLSummary'缓存器中,则该条目从缓存器中去除并忽略。■如果交易Id没有出现在'InvalidSQLSummary'缓存器中以及概要还没有期满,则将其放回到缓存器中。〇如果交易日志概要已经期满,则被从缓存器去除并具有'TransLogSummaryExpiredException'而不通过。如果概要中的SCN小于从数据库交易中读取的最大SCN减去SCN阈值,则交易日志概要被认为已经过期。作为示例,可将SCN阈值设置为10,000。CN102460441A说明书13/46页对于以在安全审核器中指定的开始日期时间(StartDateTime)开始以及结束日期时间(endDateTime)结束的交易产生两个报告(细节和概要)。控制报告时间周期的参数在配置文件中指定。在产生报告之后,调用可重置组件管理器470以重置所有可重置组件中的统计数据。下文将详细解释可重置组件。如上文解释的,安全审核器将产生至少两个报告概要报告,其是仅仅提及遇到的验证错误的类型和技术的高级报告;以及细节报告,其包括已经发生的每个错误的细节以及其发生的次数。当安全审核报告管理器460在启动时被初始化时,其例示并启动细节报告(DetaiImport)线程466。当验证错误发生时,错误消息的细节版本被置于队列中。细节报告线程466将从该队列读取错误消息。它然后将检查缓存器以查看以前是否遇到过雷系的错误消息。如果类似的错误消息已出现在缓存器中,则激增计数。如果没有在缓存器中发现类似的错误消息,则将消息添加到缓存器中,计数为1。通过提供细节报告线程466作为内部和自身的线程,本发明实施例确保验证线程继续进行验证的工作而不必须等待缓存器中要检查的细节错误消息。当某些事件发生将触发某些组件操作的恢复时,本发明实施例对安全审核器中的该某些组件提供通知。为此提供可恢复组件管理器442。等待这些事件以恢复处理的组件是安全审核器中的可恢复组件。所有的可恢复组件在可恢复组件管理器442注册自己以便通过实施如下接口通知这些事件。publicinterfaceResumeableSAComponent{voidresumeAuditing();}当接收到一天中有价值的交易日志文件时,交易日志文件分配器4将调用ResumeableSAComponentManager.resumeAuditing()。可恢复组件管理器将依次调用所有注册的可恢复SA组件(ResumeableSAComponents)上的resume()方法。安全审核器中的如下组件实施可恢复SA组件接口并使用单独可恢复SA组件管理器(ResumeableSAComponentManager)类注册自身眷DB处理器(DBProcessor)该类负责从APE框架检索OLTP交易。当检索到其时戳大于安全审核器中指定的'endDateTime'的交易时,该线程将进入等待状态。一旦从可恢复SA组件管理器442通知,则DBftOcessor402将继续从APE框架检索交易。眷概要关联管理器(SummaryCorrelatorManaRer)概要关联管理器450产生并管理关联两个缓存器(交易&SQL概要缓存器)中信息的关联线程。当关联器线程检索其时戳大于安全审核器中指定的'endDateTime'的SQL概要时,该线程将进入等待状态。一旦从可恢复SA组件管理器442通知,则概要关联管理器450将通知关联器线程继续关联操作。眷安全审核报告管理器(SecurityAuditorReportMana^er)由安全审核报告管理器460产生的报告指示已经多久审核接收的交易。一旦从可恢复SA组件管理器442通知,则安全审核报告管理器460将重置跟踪当前时间的时间的变量。当某些事件发生将触发持有关于当前审核的交易的统计数据的变量的重置时,本发明实施例对安全审核器中的某些组件提供通知。可重置组件在可重置组件管理器470注册自己以便通过实施如下接口通知这些事件。pybMcinterfaceResettabIeSAComponent{*ResetstateinthecomponentptibMcvoidres^t(};>在产生报告之后安全审核报告管理器460将调用ResettableSAComponentManager.resetComponents()以重置可重置组件的状态。可重置组件管理器470将依次调用在所有注册的可重置SA组件(ResettableSAComponents)上的reset()方法。安全审核器中的如下组件实施可重置SA组件接口并使用单独的可重置SA组件管理器类注册自身眷安全审核器(SecurityAuditor)安全审核器400在其reset0方法将设置新的开始日期时间(StartDateTime)成为当前结束日期时间(endDateTime)。它将通过向新的开始日期时间增加报告块小时的数量重新计算新的结束日期时间。·SQL概要缓存管理器(SOLSummaryCacheManager):SQL概要缓存管理器430将重置变量,该变量持有天就爱到缓存器等于缓存器尺寸的SQL概要的总量。它也清理无效的SQL概要缓存器。眷概要关联管理器(SummaryCorrelatorManager)概要关联管理器450将重置关联交易的总量为零。眷交易日志概要缓存管理器(TransLogSummaryCacheManager)交易日志概要缓存管理器4将设置最后处理的交易日志概要时戳为空。它也设置缓存器中交易日志概要的数量为零。眷异常管理器(ExceptionManager)异常管理器458将重置和所有异常类型相关的计数为零。安全审核器中的组件需要通过实施如下接口在关闭事件中执行某些清理操作publicinterfaceShutDownListener{publicvoidshutDown();}当借助JMX调用安全审核器的shutDownO方法时,其调用证utDownManager.shutDownO方法。在调用该方法之前,安全审核器将最后处理的SQL概要写入'startdate.txt'文件。因此,当安全审核器再次启动时,知道离开的位置。关闭管理器(ShutDownManager)将然后调用所有经注册的关闭监听器(ShutDownListener)类上的shutdown()方法。安全审核器中的如下组件实施关闭监听器接口并使用单独amtDownManager类注册自身·DB处理器DB处理器402将关闭DB处理器线程410类的线程池并将中断自身。眷概要关联管理器概要关联管理器450将关闭概要关联器线程的线程池。眷交易日志文件轮询器该类扩展'org.sadun.util.polling.DirectoryPoller'。目录轮询器(DirectoryPoller)是轮询输入交易日志文件文件夹的线程。调用目录轮询器类中的shutdown()。眷交易日志文件处理器(TransLogFilesProcessor)交易日志文件处理器426将关闭交易日志文件处理器线程类的线程池。本发明实施例为每个注册的操作提供具体的简档。简档包括,但不不限于如下#ADD—DOMAIN=2#MOD-DOMAIN=3#DEL-DOMAIN=4#ADD-NAMESERVER=5#MOD-NAMESERVER=6#DEL-NAMESERVER=7#TRANSFER-DOMAIN=11#RENEW-DOMAIN=12#SESSION=13#QUIT=14#SYNC-DOMAIN=75#RESTORE-DOMAIN=78#RESTORE-REPORT=79例如,’login'EPP命令将插入REGISTRYSESSION和TRANSACTION表格。在获取关于注册操作的元数据的单独XML文件中提供对于每个注册操作的简档。通过具有以XML文件的验证信息,本文所述的实施方式分离编码以根据简档中出现的实际元数据执行验证。优选地,验证规则将表示为简档。对于某些极端情况,验证很难以XML表示,Javahook可以经提供以执行复杂的一次性验证。已产生XML方案用于对于所有注册操作表示简档。XMLBeans用于解析并导航简档内的数据。一旦简档经过解析,其将被进一步转换为类的框架以表示元数据信息。这将然后释放应用依赖其中原始简档信息被存储的格式,或为此存储的位置。对于注册操作的简档包含如下三(3)份元数据操作信息、数据库信息、以及验证标准。图5是示出根据本发明实施例用于注册操作的元数据的简化示意图。注册操作简档由如下接口表示pubHcinterfaceRegistryOp^ratsonPrdlSeextendsSeHafizabte{OperationfnfogetOperatbninfo(};DatabasetnfogetDatabsseinfo(};ValidatorgelVaSitIaIor{);}操作信息510获取关于注册操作的信息。可以根据operationID从缓存器中检索简档。当解析SQL语句时,根据operationID检索相关简档(插入具有注册操作的operationID的交易表格)。图6是示出根据本发明实施例的operationID的元数据的简化示意图。Operationlnfo元数据的示例如下〈operationirifo〉<opemtioniDinmsi-ogBntryExists-^lrue^l^DperalioiiO^<()peratioii>iame>ADD"DOMAiN</opeTati0riNaine><coo.ceptCIassNmie>RegisterDoiiTainOp<coKceptClassNaiine></operatioiiiKfo>图7是示出根据本发明实施例用于数据库信息的元数据的简化示意图。数据库信息520获取参与注册操作的所有表格。表格可以是可选的或者必须的。此外,‘depends'属性指定如果或仅仅如果其依赖的表格的操作也是交易的一部分时表格上的操作时必须的。作为示例,对于添加域操作,D0MAINNAMESERVERLINK取决于DOMAIN表格。因此,除非DOMAIN表格上的操作也是交易的一部分,我们不希望对于D0MAINNAMESERVERLINK表格的对应操作。‘dbOperation'710指定是否是对表格的'插入、更新或删除'操作。!min/max'属性指定对表格指定操作的最小和最大数量。丨column'组件720指定感兴趣的列以从相关SQL语句解析和缓存。作为示例,SQL语句中可以有10列,但只有两列的值被缓存。根据本发明实施例,对列指定限制。列组件720的如下属性指定限制·minLength-该列的最小长度·maxLength-该列的最大长度^minValue-该列的最小'整数'值^maxValue-该列的最大'整数'值·alIowedValues-对该列允许的值的逗号分隔列表·disALowedValues-对该列不允许的值的逗号分隔列表互斥表格组件730指定作为该操作的部分互斥对表格的操作。作为添加域简档的逻辑流的示例,如下代码片断是ADD-D0MAIN简档的示例,其和其中添加域名的交易相关<database]nfb><iMqtia^c-'OOMAlN"optioiml="iaiseTIdepends-'TRANSACIION^<dbOpenii)onmax::::wrmitv^"I">insert</曲Operatkf)><cd誦rpDO_INiD</co!m彻><oo\\mnrninLcngth-""taaxURgtb=Wr>DOMAlNNAME</co!uin><cohminminValue="!"HiaxVaIue-"]『>REGISTRAT10N:PERi0D</a^min><:column>REGIS'TRA'r]ONHXiRATiONDA'rii</coluran><columo^>TRANSACTiONID</cohiran><o)l:umnTiiinLengih-!3MmaxLength-f'32n>AirfHINFO</cohtmn><cof.u_>CREATE.Dr)ATE</wi_i><cclit;mnallowedJV>BNC(:)I>INGi:TFEID</colu^n><column>PARENTDOMArN<:/c:duiii><colomnaiJowedVa{ues-'TM>20NEiNSERTlON</co]umn></table></databa$einfo>该代码片段的XML指定REGISTRATIONPERIOD的最小值是'1‘以及最大值是'10'。同样地,D0MAINNAME列的最小长度是'7'以及最大长度是'67'。ENCODINGTYPEID的可允许值是'3或14'。在其他特定实施例中利用其他值以及这些值仅仅通过示例提供。为了输出删除域名的简档,提供如下代码片段用于DEL-DOMAIN简档<mutualIyExcIusive>〈tablename="DOMAIN"dbOperation="update"/>〈tablename="DOMAIN"dbOperation="delete"/></mutuallyExclusive>当在宽限期内对域的删除域操作发生时,由应用发布对DOMAIN表格DELETE的SQL语句。另一方面,当在宽限期后对域的删除域操作发生时,由应用发布对DOMAIN表格UPDATE的SQL语句。因为域可在宽限期内或不在,这些SQL语句不可以是相同交易的一部分。因此,这些操作是互斥的以及两个操作的使用将被标志位未经授权的交易。图8是示出根据本发明实施例的验证标准的简化示意图。‘ValidationCriterion'获取对SQL语句和/或交易日志条目应用的验证规则。验证标准被确定为基于交易日志的验证或数据库相关验证的规则序列。所有的验证规则具有'ignore'树形,其指定是否应该忽略验证规则。这将给予选择地关闭验证的能力。如图8所示,有三种验证规则交易日志验证使用数据库中的数据验证交易日志中的数据。数据库验证验证数据库中的数据以确保所有的商业规则被合适地施行以及按照客户的意图保留数据。客户验证以编码实施难于以XML表示的复杂验证规则。交易日志验证该组件获取涉及交易日志条目验证的元数据。图9是示出根据本发明实施例交易体质验证的简化示意图。交易日志条目中的值与SQL概要中的值相符合。在实施例中,由名称识别的交易日志条目的值必须等于具有指定数据库操作的表格中列值的值。’ignoreCase'属性指定这些值的比较是否区分大小写。如果交易日志条目的组合必须经过连接以匹配数据库列中的单个值,则使用具体定界符连接由'transLogEntryParams'指定的交易日志条目参数。产生的值然后与数据库列中值进行比较。图9和其他附图中示出的knownlssue属性指定如果验证规则没有通过是否发出警告。对于多个不同的验证规则,属性knownlssue可以被打开或关闭。如果属性knownlssue="true"以及当向数据应用指定的验证规则时验证错误发生,则不发出警告。因此,该属性给予操作员对于系统中识别但还没解决的问题关闭警告的能力。一旦系统经更新以坚持验证规则,在可以设置属性knownlssue=“false"。因此,利用knownlssue属性,关于报告的错误可以在系统中减少噪音。作为交易日志验证的示例,如下示例可应用于ADD-D0MAIN操作<iransLogValidatioηjgooi-e-"false"><tiibleName>DOMAiN</tableName><dbOperatk>nmax-1'1Mmin"11'>iosen</dbOperaiioR><colunmName>DOMAlNNAME</colmttnName><transLi>gEn!TyParaiyinan'it:fi;,1d:ni"igno^eCase二"true"/〉<isDaf>Mse</!sDiat^e></tmnsLogValidaibn>在该示例中,由具有名称='dm'的交易日志条目指定的值将区分大小写地与数据库中DOMAIN.D0MAINNAME列的值进行比较。数据库验证当从数据库读取器检索的SQL语句被解析到存储器数据结构中时,应用在相关简档中指定的数据库验证规则。因此,在处理中,不匹配简档的任何SQL语句被较早地标志。图10是示出根据本发明实施例的数据库验证规则的简化示意图。下文的讨论提供涉及图10所示的数据库验证规则的其他信息。参照验证图11是示出根据本发明实施例的参考验证的简化示意图;参照验证比较主要中的列的值与由这些表格之间的参照完整性限定的子表中的列的值。在给定交易的SQL语句被解析之后,执行简档中指定的参照验证。在实施例中,其与如下公式相同。[MasterTable.MasterColumn]==[ChildTable.ChildColumn]操作可以具有任何数量的参照验证值。可选地,在与子表中的值比较之前常规表示可以应用于主列。作为参照验证的示例,提供来自ADD-D0MAIN简档的如下示例。<referentialVaitdation>CmasterTabiename;-"DOMAΝ"><dbOpcraiiortmax-"1"mm=!,ltt>msejt</dbOptsraiion><masterColumii>DOMAlNNAME</masiiirC()1uma'></masiterTabk><regoi<>nMasterC"olanm>1<regalampression>C.*)(COM|NErjEDlI|iARFA)<group>2</group></regexQaMastei<r4)Iunm><i(lbOperatiojiniax—'It'JiiiB=i^t1u>insert</tibOperatio:n><column>PARENTDOMAIN</column></chiIdTabIe></refefentiaiValidaiion>上述的验证规则指定指定的常规表示将应用于数据库中DOMAIN.D0MAINNAME列中的值。产生的值必须等于数据库中DOMAIN.PARENTD0MAIN列的值。因此,该规则指定插入DOMAIN表格的所有域必须以COM/NET/EDU/ARPA结束以及对象的TLD必须匹配PARENTD0MAIN列中的值。杳询验证根据查询表中的值执行查询验证以确保插入列的值是正确的值。图12是示出根据本发明实施例查询验证的简化示意图。如图12所示,tableName.coIumName中的值必须等于通过执行简档中指定的SQL语句返回的值。该验证规则在本发明的某些实施例中是可选地。常规表示验证图13是示出根据本发明实施例的正规表示验证的简化示意图。执行常规表示验证以确保符合某些商业逻辑条件。指定的table,column中的值必须匹配给定的常规表示。此外,可以检索匹配常规表四的特定组合。可以单独地或与其他规则结合地进行常规表示验证(例如,下文将进一步详细讨论的ExistshTables验证规则)。条件验证图14是示出根据本发明实施例的条件验证的简化示意图。条件验证确保插入数据库中某些列的值确切地如条件中指定一样匹配。可以单独地或与其他规则结合地进行常规表示验证(例如,下文将进一步详细讨论的ExistshTables验证规则)。作为条件验证的示例,提供来自ADD-D0MAI简档的如下示例。。<comlitionalValidaiion><tableNme>TRANSAC110NATTRlBUTES</tableNam.e><dbOperaiionma:x.:.:.:.if100"min~"I.''>ir).sert</dbOpcratk>o><eoiumva!iie^5!DomainName"nam:”ATTRIBUTE^x/calumfi><coJumrtvaJue::!:"RegistratlaflFeriodwname-^ATTRIBUTEw></co]um51>columnvalueJAiirafo”nam护力Α.ΤΓΚ.ΙΒυΤΕ’</χ^Η·></'coii<jitionalVal.tdation>上述示例指定诸如'DomainName‘,‘RegistrationPeriod'指定的所有列的值必须插入到TRANSACTIONATTRIBUTES.ATTRIBUTE列中。退出表格验证图15是示出根据本发明实施例退出表格验证的简化示意图。执行该验证以确保已符合某些商业逻辑条件。例如,如果符合某个条件,则特定数量的操作以及SQL语句的类型将作为操作的一部分发生。参考图13和14,如果对于规则指定的常规表示验证(regexValidation)或者条件验证(conditionalValidation)被满足,则对于指定的表格的操作必须也是操作的一部分。作为利用常规表示验证退出表格的示例,提供来自ADD-D0MAIN简档的如下示例。<existslnTab]eValιdittion><tabJename-'lNTERNATIONALDOMAIN"dbOperati<i-,tinBeri'V><iregexValidado:n::><iafoteName>DOMAIN</taWeN:ame><dbOperationmaxIwmm~nlw>itisert</dbOpemtion><regex><reguIarExpression>"'XN--,*</reg1iLrExpressk>n></regex></regexVaiidatioTi></existsInTableValidation>以上示例表明如果DOMAIN.D0MAINNAME列的值匹配常规表达式'"XN-.*',贝丨J必须退出插入INTERNATI0NALD0MAIN表格操作。利用条件验证退出表格验证的示例如下<!-TRANSFERAPPROVEctmditioimivalidatk姐”><exisi$IriTableVaJi(:latii:>n><tsb!ename-'OOMAiNPENIirNGTRANSFERf'dbOperation-s,deicteH'><tabkname="DOMAINlPENDINGTRANSFERAUD3"r,!db0peratioii^s"m.sert"/><tab!.ename=,rDOMAi:NTRANSFER"dbOpemlion-:,,tfiseri'V>Ciabknarae-i5EMAlI^QlIEUE''dbOpemiiori-"insert'7><concHtion8lVaIidation><id)!eNanie>l^ANSA(:ilC}NATIRIBUI^S</tableISanie><dbOpeTalionηι^χ-ΟΟ"mm-'l!,>inserK/dbOperation><eohami.value。:."Directive"names:i"ATTRiBΙ.Π:7><coiunmν·":"Γiiame^AΓ!:RIBIJTBVAU见"/></condttioTialVaJidBtii.)η'</exists]nTabkValidatioTii>上述条件陈述插入TRANSACTIONATTRIBUTES.ATTRIBUTE列的值是否等于'Directive'以及插入ATTRIBUTEVALUE列的值是否是'1',则如下SQL操作也必须发生。在DOMAINPENDINGTRANSFER表格上的'delete'操作在DOMAINPENDINGTRANSFERAUDIT表格上的'insert'操作在D0MAINTRANSFER表格上的'insert'操作在EMAILQUEUE表格上的'insert'操作日期验证图16是示出根据本发明实施例的日期验证的简化示意图。参考图16,在应用由'condition‘组件指定的可应用条件之后firstTable.Column中的日期值与secondTable.column比较。属性'truncateTime‘是指示日期值的时间部分是否应该用于比较的布尔值。‘JavaCalendarConstant'指如类java.util.Calendar的整数内容指定的要更新的日期中字段的值。应用于列中日期的值可以是由'value'组件指定的固定'value'或者该值可以是另一表格(例如,DOMAIN表格中的REGISTRATI0NPERI0D)中另一日期列的值。作为日期验证的示例,提供来自ADD-D0MAIN简档的如下示例。<<JateValidation><colunin>CRE.Al'BDDAIT,</co]um;n><coiiditio:rijavaCalendiirCOTisfewrt^‘‘I“.imrncateTime^trae!.!>^/condition》</ilrstT£ible><secandTah!edbOperatSnsert"π3η6;:::'ΟΜΑΙΝ!,><colunin>REOISTRATIONEXPIRATIONDATE-;''coUiiiu>><condttiontruncateTime=-1"tra,,t></secon<iTable></dateValidation>在上面的示例中,我们确保REGISTRATI0NEXPIRATI0NDATE值从域的CREATEDDATE不超过十年。这里是对该验证发生的操作序列。眷DOMAIN.CREATEDDATE中的值经解析以产生Java.util.Calendar对象。因为,truncateTime被设置为真,截取日期的时间部分。^javaCalendarConstant'1'指定日期的'YEAR'组件。眷值'10'然后被应用于日期的'YEAR'组件,有效产生从CREATEDDATE10年的日期对象。类似地产生REGISTRATI0NEXPIRATI0NDATE。眷最后,进行检查以确保REGISTRATI0NEXPIRATI0NDATE<=来自CREATEDDATE值的新产生日期对象。客户验证对于以XML太麻烦表示的某些复杂验证规则通过以编码的客户验证进行。图17是示出根据本发明实施例的客户验证的简化示意图。对于SYNC-DOMAIN操作的客户验证规则的示例如下表示<customValidationiuleName芯"SYNC-DOMAiN:RegisirationExpirationdatevalidationrakf,><db£Ma><table>CtabIeName>DOMAIN</tableName>IbOpcTationmax^:"rHιιη.:Π">UPOATE<'/dbOpeTaiwn><c<>iumnNMme>RECnSTRA^1GNEXPIRATIONDATT3</clumnNaiTW><-/tb!e></dbData>·<traa$LogData>〈iransLogimti-yParamr細WsyncDt"ignoreCase:s;"t:rue"/></tranaLogDai:a><javaC!assName>com,vcrisigQ.8a,cu就om.v々lidaiian.syncdomaia.Synd)omaUiExpiTtitionDate</javaClassMame>Valuiatii.>n>'在SyncDomainExpirationDateJava类中执行关于注册期满日期的所有验证。某些验证如下域不能同步于2月29日。根据写入交易日志文件的'syncDt‘参数正确地计算DOMAIN.REGISTRATIONEXPIRATIONDATE的值。所有的客户验证类使用JavaReflectionAPI预先实例化并缓存在CustomValidationCacheManager中。支持客户验证的所有类必须实施如下接口。publicinterfaceCustomValidstSon{publicvoMvalidate(CustomVaIidatoraCustomVatidatDr,SQLSummaryaSQiSummary,TransLogSummarya'TransLogSummary}throwsCustomValiclationException;>图18是示出用于根据本发明实施例添加域操作的处理流程的简化流程图。插入交易和交易属性(1810和1812)。插入域和域审核(1814和1816)。插入EPP域状态和EPP域状态审核(1818和1820)。如果域名是国际域名(1822),则利用对国际域名的处理。国际域名处理包括插入国际域和国际域审核(1824和1826)。此外,对于特定外语插入字符变量和字符变量审核(18和1830)。作为国际域名处理的一部分,插入域字符变量链接和域字符变量链接审核(1832和1834)。在完成国际域名处理之后,更新交易(1850)。如果域名不是国际域名(1822)则进行确定是否链接名称服务器(1840)。如果链接名称服务器,则插入域名服务器链接和域名服务器链接审核(1842和1844)。在插入域名服务器链接和域名服务器链接审核之后,更新交易(1850)。如果不链接名称服务器,则更新交易(1850)。需要理解,图18所示的具体步骤提供了根据本发明实施例用于执行添加域操作的特定方法。根据可替换实施例,也可以执行其他步骤序列。例如,本发明的可替换实施例可以不同顺序执行上文论述的步骤。而且,图18所示的单个步骤可以包括以不同顺序执行的多个子步骤。而且,取决于特定应用可以添加或去除其他步骤。本领域的普通技术人员可以理解许多改变、修改和替换。在交易日志文件中没有对应交易日志条目的情况下,数据库中可发生有效的数据库交易。发明人已经识别43个有效的数据库交易没有对应的交易条目。已经为这43个数据库交易产生简档。没有交易日志条目简档的示例如下所示<xmlversion^1.0"^ncodmg-^UTF-S'^^·-^.egistryOperatioriProfikxm〗niplmi|>t:oiile.sa,verisigr“ci>m"><registryOpemtion><operationlDIransLogEntryEχ1<^^peratioiiID><op€rat;io:DName>KNOWNISSUH<operationNiime><c0iicqtC]a<isName>KMOWNISSljB</concepCilassName></opemiionInib><datiiibasiiliifo><taMeopti冊al=“felse"><d!>Operalionmax;:,Iw1w>UPDATE</dbOperati<>n>^coIwni:n>FiLElD</coIu:m:ii></tabk></<iatal>as^in;fb></registr\Operataor(></Regj5tryOpGratiouProii]e>上面的简档表明如下内容当诸如'UPDATETRANSACTIONSETFILEID=<somevalue〉'的SQL语句在交易发生时,其是如operationID和conc印tClassName标签指定的已知问题(KNOWNISSUE)。只有当更新简档中指定的列时,SQL语句才会被指定为已知问题。例如,如果在TRANSACTION表格中更新除了FILEID的另一列,则它被认为是恶意数据库交易。当简档管理器没有装载交易日志条目简档时,以如下形式产生简档:<TableNamel.OperationType(<columnl,column2,...),TableName2.OperationTypecolumnl,column2,…)….。例如,对于上面简档的SQL语句产生的索引可以是-TRANSACTION.UPDATE(FILEID)。该索引然后用于在存储器中缓存相关简档对于每个数据库交易,从SQL语句'INSERTINTOTRANSACTION'表格中检索相关OPERATIONID列的值。当检索的数据库交易不包括'INSERTINTOTRANSACTION'表格SQL语句时,则以以上形式产生索引。使用该索引,然后从简档管理器检索相关简档。如果简档中的〈operationName〉标签的值是'KNOWNISSUE',则其被认为是有效的数据库交易。如果使用产生的索引没有检索简档或如果〈operationName〉标签的值不等于'KNOWNISSUE',则其被认为是恶意数据库交易ο本发明实施例提供概要具有指定简档中所有指定验证所需的所有信息。从数据库读取器或从应用交易日志接收的所有信息被保存为存储器中的概要。有两种类型的概要·SQL概要-包含来自数据库读取器的经解析的相关信息。数据库中的每个交易被表示为一个SQLSummary。交易日志概要(TransLogSummary)-包含来自交易日志的经解析的相关信息。交易日志中的每行是一个不同的交易日志概要。本发明实施例提供可审核概要。SQL和交易日志概要都扩展可审核概要(AuditableSummary)。可审核概要指定两个概要中共同的操作。调用'hasExpiredO‘方法以当与从交易日志文件或数据库检索的最大SCN相比较时发现概要缓存器条目是否已过期。publicinterfaceAuditab!eSummaryextendsSerlaiizable{DategetCreatjonDate();booiearthasExpiredStringgetTraπsactιοηkl();longgetSCN();\VhasExpiredO方法确保不能在特定时间周期内验证的概要被认为是错误的。因为所有的概要都保留在存储器中,该安全措施确保对存储器中概要的数量的上限。本发明实施例提供SQL概要,其是成功解析并验证在交易限制内包含的SQL语句的最终产品。在本实施例中,SQL概要的中心原则将对于SRS注册局中验证交易有用的接口,而不论数据库读取器是否利用。publicInterfaceSQLSummaryextendsAuditabieSummary{mtgetOperationldOiRegistryOperatIonProfHegetReciistryOperationProfite{);List<Strmg>getColumnValues(StringtabieName,Stringoperatlontype,Stringcolumn,booleanaNevvVa!};>每个SQL概要实例和注册简档相关并包含SQL语句的集合。SQL语句是用于从解析的SQL语句获取相关信息的整个接口体系的父接口。具体而言,SQL语句的子类用于以'INSERT/UPDATE/DELETE‘SQL语句表示信息。SQL概要被缓存在Java.util.LinkedBlockingQueue0交易日志概要交易日志概要是成功解析交易日志条目的最终结果。交易日志概要是由交易ID索引缓存的。对于由关联器从SQL概要缓存器接收的每个SQL概要,利用交易ID从交易日志概要检索对应的交易日志概要。和SQL概要相关的注册局简档然后用于向SQL和交易日志概要应用交易日志验证规则。publicinterfaceTrsnsLo^SummaryextendsAuditabIeSummary{voidsetCreationDateCDatedate);votdsetSCN{longaSCN);StringgetSessionJcf();voidsetSessionld(Stringsessionld);voidsddMetadata{StringaValye);StringgetHetadataAtPositiοπ(intaPositton};voidaddTransLogParani(TransLogParamaParam);TransLogParamgetTraηslogParamByName(StringaParamName);StringgetConceρEClassName();voidsetConcsptClassName(StringaConceptClassName);Coiiection<TransLogParam>getParams();>关联器关联器线程执行关联SQL概要中的数据和交易日志概要中的数据的重要操作。SQL概要被缓存在java.util.BlockingLinkedQueue中。交易日志概要被缓存在java.uti1.HashMap<TransactionID,TransLogSumfflary>中。启动时,概要关联器450例示特定数量的关联器线程。在关联器线程中如下的操作序列发生关联器线程等待通知以开始关联来自SQL和交易日志概要缓存器的数据。从SQL概要缓存器检索SQL概要。试图利用SQL概要的transactionID从交易日志概要缓存器检索对应的交易日志概要ο两种情况之一发生〇检索对应的交易日志概要。〇不可以从交易日志概要缓存器检索对应的交易日志概要。■在这种情况下,如果根据SQL概要中的产生时戳SQL概要还没有期满,则将SQL概要放回SQL概要缓存器中。■如果SQL概要已期满,则将其记录位错误以及处理继续缓存器中的下个SQL概要。当检索对应的交易日志概要时,则在交易和SQL概要中应用简档中指定的所有交易日志验证规则。递增成功关联的概要的数量。28记录任何验证错误。APE框架集成如之前所解释的,安全审核器与APE框架集成。APE框架隐藏OLTP交易数据的来源的细节。因此,关于安全审核器,其仅仅从APE框架中的存储器队列中检索OLTP交易数据。APE框架通过Spring上下文例示^curityAuditorFacade。在安全审核器中包括Spring配置文件‘HostedComponent-config.xml‘。<xm!versions"1.0"encodingxmlns:xslhttp://www,w3.0rx}/2QO1/XMLScMmMzimtmmxst:schemaL.ocatson^sprirygframew&rk,org/schema/hear)shttp://wwvhspringfr3mework..(K.g/sciiema,^e.ans/sprhig-L!6ans’x$cr><beanname二"hostedComponenl:"class二”com.verisign‘sa.engfne.Setc.urityAu.dftorFacaiie'‘><l·.,.definedinAsyncFjrocadapter-conf.xm!--><propertyname-"fr&meworkFacade“ref-'^ramsworkFacade"></property></bean></beiins>APE框架的异步处理引擎(AsyncProcessingEngine)将调用securityAuditorDateRange类以确定需要从数据库读取器检索OLTP交易数据的开始日期时间。^curityAuditorDateRange类将该信息写入'startdate.txt'文件。通过传递该开始日期时间开始数据库读取器处理。在数据库读取器处理的配置文件中,Java用户退出类被设置为异步处理引擎类。异步处理引擎类依次通过spring上下文例示kcurityAuditorFacade。kcurityAuditorFacade依次例示安全审核器。因此,本发明实施例提供APE框架和安全审核器(其是经托管组件)之间的集成。作为本发明实施例提供的部分报告功能,所有的验证错误将被写入日志文件。由安全审核器每日产生两个报告(概要和细节)错误日志格式在SAException类的一个位置进行所有的错误记录。在特定实施例中,错误记录的格式如下所示Error:<ErrorType>SequenceNumber:<Numberoftimesthiserrorhasoccurred)RepOp《OperationName)Transaction:<TransactionIDoftheoffendingtransaction)Desc:<ErrorMessage)取决于验证异常在处理中已发生多久,操作名称和交易ID并不总是出现。序列号指定该异常在安全审核器中出现的次数。概要报告由安全审核器每日产生概要报告。概要报告包含在审核交易时出现的错误的类型和计数。也记录诸如处理的记录数量、处理它们花费的时间等的统计消息。如下是根据本发明实施例准备的示例性报告。SwurityAudiiorSuimnaryRq>oitFmm04-15^-200900:00:00‘Ta;04-16-200900:00:00Thefollowingvalidationerrorshaveoccurred.Pleaserefertotheerrorlogfilefordeteils,inconsistent:Data:202invalidSQL;6UnmatchedDatabaselransaction;744Totaldatabasetmnsactionsrecdveci:;1,884,051TotddSitabasetnuis^ctkmswithouttransactiontableentries:21,768Ignored(ABEsSupcrDNS^IgnoraWetables):5,8(HUnrecognized(possiblyniaiicicvus):0Recognized(withknownprofiles):15,967Totaldatabasetransactionswithtransactiontableentries;1>862,283ignored{Batchesandmioneofthe13BPPoperations):244,659Uprecogaized(possiblymaHcious)(noprofik.s);0invalid(possiblyanaltcious);6Nomatchingapplicationtousactionfound(possibly—is):744Unprocessedtransactions'incache:50CorreJfidonSuccessKil:1,616,622CorrelatοFailed(possiblymalicious):202CorrdatioinKjiovvnIssue$:OTotalapplicationiraasoctionsreceived:1;666,{24Ignoredatstart(OnSyonSArest紅t):48r309Ignoredbecausecorrelationnotncaicd:9Nomatchingdatabasetransactionfound(possiblymalkious):OUnprocessedtransaciioiisincache:9S2CorrefationSucccssftih.1,616.622CorrelationFaited(possiblymalicious):202CorrectionKnownIssues:OTotaldatabase.traTi^actianswithtransactionentriesignoredbecause-theyareknownissues:OTotalcorrelationfiiiluresignoredbecausetheyareknownissuesOProcx湖inglinn;Ohot昨)42minutes35seconds细节报告细节报告每日由安全审核器产生。单个错误发生的次数以及关于错误的细节出现在该报告中。细节报告包含可由系统操作使用的可操作信息以确定验证错误的确切原因。如下是根据本发明实施例准备的示例性细节报告。权利要求1.一种用于验证SRS注册交易数据的方法,该方法包括从第一数据库接收OLTP交易数据;解析所述OLTP交易数据;比较所述经解析的OLTP交易数据和一个或多个简档集合,其中所述一个或多个简档集合的每个包括XML文件中的元数据;在第一数据缓存器中缓存所述经解析的OLTP交易数据;接收和所述OLTP交易数据相关的日志数据;在第二数据缓存器中缓存所述日志数据;以及关联在所述第一数据缓存器中缓存的所述经解析的交易数据和在所述第二数据缓存器中缓存的所述日志数据。2.如权利要求1所述的方法,进一步包括确定验证错误;以及产生涉及所述验证错误的警告。3.如权利要求2所述的方法,其中产生警告包括产生包括所述验证错误的至少一个报生1=1ο4.如权利要求3所述的方法,其中所述至少一个报告包括细节报告。5.如权利要求1所述的方法,其中所述第一数据库包括SRS注册数据库。6.如权利要求1所述的方法,其中所述OLTP交易数据包括和如下的至少一个相关的交易数据添加域名、删除域名或恢复域名。7.如权利要求6所述的方法,其中所述简档集合包括用于如下至少一个的简档添加域名、删除域名或恢复域名。8.如权利要求1所述的方法,其中所述OLTP交易数据包括和如下至少一个相关的交易数据添加域名服务器、删除域名服务器或修改域名服务器。9.如权利要求8所述的方法,其中所述简档集合包括用于如下至少一个的简档添加域名服务器、删除域名服务器或修改域名服务器。10.一种用于验证交易数据的方法,所述方法包括从第一数据库接收所述交易数据;解析所述交易数据;比较所述经解析的交易数据和一个或多个简档集合;接收和所述交易数据相关的日志数据;以及关联所述经解析的交易数据和所述日志数据。11.如权利要求10所述的方法,其中所述交易数据包括在线交易处理数据。12.如权利要求10所述的方法,其中所述简档集合的每个包括元数据。13.如权利要求12所述的方法,其中所述元数据以XML文件提供。14.如权利要求10所述的方法,进一步包括在关联所述经解析的交易数据和所述日志数据之前缓存所述经解析的交易数据。15.如权利要求10所述的方法,进一步包括在关联所述经解析的交易数据和所述日志数据之前缓存所述日志数据。16.如权利要求10所述的方法,进一步包括确定验证错误。17.如权利要求16所述的方法,进一步包括根据所述验证错误提供至少一个报告。18.一种使用在交易日志数据库中存储的交易日志文件验证和SRS注册数据库相关的交易数据的系统,所述系统包括数据库读取器,可操作以从所述SRS注册数据库接收OLTP交易数据并解析所述OLTP交易数据;耦合到所述数据库读取器的数据库数据验证器,可操作以比较所述经解析的OLTP交易数据和一个或多个简档集合;交易日志文件读取器,可操作以从所述交易日志数据库接收交易日志文件;以及耦合到所述数据库数据验证器和所述交易日志文件读取器的数据关联器,可操作以关联所述经解析的交易数据和所述交易日志文件。19.如权利要求18所述的系统,其中所述一个或多个简档集合的每个包括XML文件中的元数据。20.如权利要求18的系统,进一步包括耦合到数据数据库数据验证器的第一数据缓存ο21.如权利要求18所述的系统,进一步包括耦合到所述交易日志文件读取器的第二数据缓存器。22.如权利要求18所述的系统,进一步包括耦合到所述数据关联器的报告产生器。23.一种存储多条指令用于控制数据处理器以验证交易数据的计算机可读介质,所述多条指令包括使得所述数据处理器从第一数据库接收所述交易数据的指令;使得所述数据处理器解析所述交易数据的指令;使得所述数据处理器比较所述经解析的交易数据和一个或多个简档集合的指令;使得所述数据处理器接收和所述交易数据相关的日志数据的指令;以及使得所述数据处理器关联所述经解析的交易数据和所述日志数据的指令。24.如权利要求23所述的计算机可读介质,其中所述交易数据包括在线交易处理数据。25.如权利要求23所述的计算机可读介质,其中所述简档集合的每个包括元数据。26.如权利要求25所述的计算机可读介质,其中所述元数据以XML文件提供。27.如权利要求23所述的计算机可读介质,进一步包括在关联所述经解析的交易数据和所述日志数据之前使得所述数据处理器缓存所述经解析的交易数据的指令。28.如权利要求23所述的计算机可读介质,进一步包括在关联所述经解析的交易数据和所述日志数据之前使得所述数据处理器缓存所述日志数据的指令。29.如权利要求23所述的计算机可读介质,进一步包括使得所述数据处理器确定验证错误的指令。30.如权利要求四所述的计算机可读介质,进一步包括使得所述数据处理器根据所述验证错误提供至少一个报告的指令。全文摘要一种用于验证SRS注册交易数据的方法,包括从第一数据库接收OLTP交易数据,解析所述OLTP交易数据,以及比较所述经解析的OLTP交易数据和一个或多个简档集合。所述一个或多个简档集合的每个包括XML文件中的元数据。该方法还包括在第一数据缓存器中缓存经解析的OLTP交易数据,接收和所述OLTP交易数据相关的日志数据;以及在第二缓存器中缓存所述日志数据。该方法进一步包括关联在所述第一数据缓存器中缓存的经解析的交易数据和在所述第二数据缓存器中缓存的所述日志数据。文档编号G06F17/30GK102460441SQ201080036379公开日2012年5月16日申请日期2010年6月8日优先权日2009年6月15日发明者N·基古鲁帕蒂,T·R·埃萨维申请人:弗里塞恩公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1