專利名稱::從數據庫操作審核交易數據的方法和系統的制作方法從數據庫操作審核交易數據的方法和系統
背景技術:
:因特網正日益成為支持各種形式和等級的通信的計算機全球化網絡。例如,在萬維網(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·埃薩維申請人:弗里塞恩公司