專利名稱:一種記錄審計日志的方法、裝置及業(yè)務(wù)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計算機軟件領(lǐng)域,尤其涉及一種記錄審計日志的方法、裝置及業(yè)務(wù)系統(tǒng)。
背景技術(shù):
在ERP系統(tǒng)對系統(tǒng)數(shù)據(jù)做出的任何操作,都應(yīng)該能夠被記錄?,F(xiàn)有系統(tǒng)一般在系統(tǒng)功能模塊中添加相應(yīng)的代碼,在用戶操作時記錄用戶的行為。由于在不同的系統(tǒng)功能模塊都要單獨添加相應(yīng)的記錄審計日志的代碼,因此存在以下缺點1、工作量巨大,新增模塊需要一一處理相關(guān)功能。由于系統(tǒng)功能模塊有很多,每一個系統(tǒng)功能模塊都需要單獨添加相應(yīng)的記錄審計日志的代碼,因此工作量巨大。當(dāng)新增加功能模塊后有需要一一為新增加的功能模塊添加相應(yīng)的記錄審計日志的代碼。不利于擴展。2、不利于代碼的維護,代碼的一致性很難保證。由于代碼分散于各個系統(tǒng)功能模塊,因此代碼的維護就顯得較為困難,且很難保證一致性。3、不能實現(xiàn)功能級別的熱拔插技術(shù)。
發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種記錄審計日志的方法,旨在解決記錄審計日志工作量大,且不利于擴展和維護的問題。本發(fā)明實施例是這樣實現(xiàn)的,一種記錄審計日志的方法,所述方法包括下述步驟菜單事件將用戶發(fā)出的操作請求通知相關(guān)業(yè)務(wù)組件;在加載審計日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請求;在所述操作請求執(zhí)行前后,所述審計日志插件記錄對象的屬性信息,所述對象為所述操作請求執(zhí)行時所調(diào)用的對象。本發(fā)明實施例的另一目的在于提供一種記錄審計日志的裝置,所述裝置包括操作請求接收單元,菜單事件將用戶發(fā)出的操作請求通知相關(guān)業(yè)務(wù)組件;接口通知插件單元,用于在加載審計日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請求;審計日志記錄單元,用于在所述操作請求執(zhí)行前后,所述審計日志插件記錄對象的屬性信息,所述對象為所述操作請求執(zhí)行時所調(diào)用的對象。本發(fā)明另一目的在于提供一種包含所述記錄審計日志的裝置的業(yè)務(wù)系統(tǒng)。由上可知,本發(fā)明實施例提供的一種記錄審計日志的方法、裝置及業(yè)務(wù)系統(tǒng),以審計日志插件的形式實現(xiàn)審計日志的記錄,能夠動態(tài)地記錄某個功能模塊的審計日志,且易于審計日志的管理和控制。同時,統(tǒng)一用審計日志插件記錄審計日志,使得代碼容易維護,新增模塊也不需要單獨擴展記錄審計日志的功能,僅需在相應(yīng)的表中添加一條記錄后加載審計日志插件就能實現(xiàn)。且能夠根據(jù)需要加載審計日志插件,對不需要做審計日志的業(yè)務(wù)組件不再加載審計日志插件。自定義的接口根據(jù)用戶的實際需求做不同的屬性、事件及方法的定義??筛鶕?jù)其不同的定義滿足各業(yè)務(wù)模塊間的通信、業(yè)務(wù)模塊和插件間的通信及主控程序和各業(yè)務(wù)模塊程序的通信。實現(xiàn)了主控程序與子模塊菜單間的無縫集成,具有良好的可擴展性,適合多人大規(guī)模團隊開發(fā)的系統(tǒng)。
圖1是本發(fā)明第一實施例提供的記錄審計日志的方法的流程圖;圖2是本發(fā)明第二實施例提供的記錄審計日志的方法的流程圖;圖3是本發(fā)明第三實施例提供的記錄審計日志的方法的流程圖;圖4本發(fā)明第一實施例提供的接口與主控程序和業(yè)務(wù)模塊通信的示意圖;圖5本發(fā)明第一實施例提供的接口與主控程序和業(yè)務(wù)模塊通信的一個實例的流程圖;圖6是本發(fā)明實施例提供的記錄審計日志的裝置的結(jié)構(gòu)框圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實施例在抽象了業(yè)務(wù)系統(tǒng)中的業(yè)務(wù)對象后,通過加載審計日志插件記錄操作請求執(zhí)行前后調(diào)用的對象的屬性信息的變化作為審計日志。本發(fā)明提供了一種記錄審計日志的方法、裝置所述方法包括菜單事件將用戶發(fā)出的操作請求通知相關(guān)業(yè)務(wù)組件;在加載審計日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請求;在所述操作請求執(zhí)行前后,所述審計日志插件記錄對象的屬性信息,所述對象為所述操作請求執(zhí)行時所調(diào)用的對象。所述裝置包括操作請求接收單元,菜單事件將用戶發(fā)出的操作請求通知相關(guān)業(yè)務(wù)組件;接口通知插件單元,用于在加載審計日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請求;審計日志記錄單元,用于在所述操作請求執(zhí)行前后,所述審計日志插件記錄對象的屬性信息,所述對象為所述操作請求執(zhí)行時所調(diào)用的對象。為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實施例來進行說明。實施例一圖1示出了本發(fā)明第一實施例提供的記錄審計日志方法的流程,通過加載審計日志插件記錄操作請求執(zhí)行前后調(diào)用的對象的屬性信息的變化作為審計日志,詳述如下
在步驟SlOl中,菜單事件將用戶發(fā)出的操作請求通知相關(guān)業(yè)務(wù)組件。在本發(fā)明實施例中,當(dāng)接收到用戶發(fā)出的某操作請求時,首先由一個菜單事件將用戶發(fā)出的操作請求通知相關(guān)業(yè)務(wù)組件。所述用戶發(fā)出的操作請求包括刪除請求、保存請求、復(fù)制請求等。在本發(fā)明實施例中,系統(tǒng)預(yù)先定義了一張表,所述表中含有系統(tǒng)功能模塊與業(yè)務(wù)組件的對應(yīng)關(guān)系。因此,菜單事件通過讀取所述含有系統(tǒng)功能模塊與業(yè)務(wù)組件對應(yīng)關(guān)系的表后,將用戶發(fā)出的操作請求通知相關(guān)的業(yè)務(wù)組件。當(dāng)系統(tǒng)需要擴展新的功能模塊時,可通過在所述含有系統(tǒng)功能模塊與業(yè)務(wù)組件的對應(yīng)關(guān)系的表中加入相應(yīng)的記錄實現(xiàn)。例如預(yù)先設(shè)定的含有系統(tǒng)功能模塊與業(yè)務(wù)組件的對應(yīng)關(guān)系的表為t_ DataFlowDetaiIFimc,內(nèi)容為組件名.類名。所述組件名為業(yè)務(wù)組件的名稱,所述類名為系統(tǒng)功能模塊的類名。這時,菜單事件便可讀通過取表LDataFlowDetai IFunc獲得相關(guān)業(yè)務(wù)組件名。 在步驟S102中,加載審計日志插件后,業(yè)務(wù)組件調(diào)用接口通知審計日志插件業(yè)務(wù)組件將執(zhí)行操作請求。在本發(fā)明實施例中,以插件的形式記錄審計日志,因此,在記錄審計日志之前,需加載審計日志插件。加載審計日志插件后,業(yè)務(wù)組件調(diào)用接口通知所述審計日志插件業(yè)務(wù)組件將執(zhí)行操作請求。在本發(fā)明實施例中,所述接口為預(yù)先定義的供各模塊調(diào)用的接口??捎糜诟髂K間相互通信,可用于各模塊與插件通信,也可作為主控程序與各業(yè)務(wù)模塊的橋梁供各模塊和主控程序引用等。在此步驟中,所述接口用于通知插件業(yè)務(wù)組件做了什么,即在加載審計日志插件后,業(yè)務(wù)組件調(diào)用接口通知審計日志插件所述業(yè)務(wù)組件將執(zhí)行操作請求。對此接口其他應(yīng)用的詳細(xì)描述,詳見實施例四,在此就不再贅述了。在步驟S103中,在所述操作請求執(zhí)行前后,所述審計日志插件記錄對象的屬性信息,所述對象為所述操作請求執(zhí)行時所調(diào)用的對象。在本發(fā)明實施例中,在系統(tǒng)執(zhí)行用戶請求的操作前,記錄下操作請求執(zhí)行時所調(diào)用的對象的所有屬性信息。之后,業(yè)務(wù)組件執(zhí)行操作請求。在本發(fā)明實施例中,業(yè)務(wù)組件在執(zhí)行完操作請求后,調(diào)用接口通知審計日志插件操作請求已執(zhí)行,審計日志插件記錄對象此時的所有屬性信息。通過記錄操作請求執(zhí)行前后調(diào)用的對象的屬性信息的變化作為審計日志,然后將所述審計日志存儲于數(shù)據(jù)庫中。在本發(fā)明實施例中,以審計日志插件的形式實現(xiàn)審計日志的記錄,能夠動態(tài)地記錄某個功能模塊的審計日志,且易于審計日志的管理和控制。同時,統(tǒng)一用審計日志插件記錄審計日志,使得代碼容易維護,新增模塊也不需要單獨擴展記錄審計日志的功能,僅需在相應(yīng)的表中添加一條記錄后加載審計日志插件就能實現(xiàn)。實施例二 圖2示出了本發(fā)明第二實施例提供的記錄審計日志方法的流程,詳述如下。在步驟S201中,菜單事件將用戶發(fā)出的操作請求通知相關(guān)業(yè)務(wù)組件;在步驟S202中,判斷是否加載審計日志插件,是則執(zhí)行步驟S203,否則執(zhí)行步驟 S205。在本發(fā)明實施例中,預(yù)先設(shè)定有一張表用于描述每一個功能模塊所調(diào)用的插件的集合,所述表中含有系統(tǒng)功能模塊與其需要調(diào)用的插件的對應(yīng)關(guān)系。因此通過讀取此表,便可得知與接收到的用戶操作的功能相關(guān)的插件是哪些。因此,業(yè)務(wù)組件通過讀取用于描述每一個功能模塊所調(diào)用的插件集合的表,查看與用戶的操作請求對應(yīng)的功能模塊是否需要調(diào)用審計日志插件,便可知是否加載審計日志插件。若系統(tǒng)的某個功能模塊需要添加插件, 則往所述用于描述每一個功能模塊所調(diào)用的插件的集合的表中增加相應(yīng)記錄即可。若新增的模塊需要添加審計日志功能,也僅需向所述用于描述每一個功能模塊所調(diào)用的插件的集合的表中添加相應(yīng)記錄即可。例如預(yù)先設(shè)定的用于描述每一個功能模塊所調(diào)用的插件的集合的表為、 Components。通過讀取表t_ComponentS,查看與用戶的操作請求對應(yīng)的功能模塊是否需要調(diào)用審計日志插件,即可知道是否加載審計日志插件。在步驟S203中,加載審計日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請求。在步驟S204中,在所述操作請求執(zhí)行前后,所述審計日志插件記錄對象的屬性信息,所述對象為所述操作請求執(zhí)行時所調(diào)用的對象。在步驟S205中,所述業(yè)務(wù)組件執(zhí)行所述操作請求。在本發(fā)明實施例中,增加了一張用于描述每一個功能模塊所調(diào)用的插件集合的表,能夠根據(jù)需要加載審計日志插件,對不需要做審計日志的業(yè)務(wù)組件不再加載審計日志插件。實施例三圖3示出了本發(fā)明第三實施例提供的記錄審計日志方法的流程,詳述如下。在步驟S301中,菜單事件將用戶發(fā)出的操作請求通知相關(guān)業(yè)務(wù)組件; 在步驟S302中,加載審計日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請求。在步驟S303中,判斷是否記錄所述業(yè)務(wù)組件執(zhí)行所述操作請求的審計日志,是則執(zhí)行步驟S304,否則執(zhí)行步驟S305。在本發(fā)明實施例中,通過讀取系統(tǒng)配置表來判斷是否需要記錄所述業(yè)務(wù)組件執(zhí)行所述操作請求的審計日志。在步驟S304中,在所述操作請求執(zhí)行前后,所述審計日志插件記錄對象的屬性信息,所述對象為所述操作請求執(zhí)行時所調(diào)用的對象。在步驟S305中,所述業(yè)務(wù)組件執(zhí)行所述操作請求。在本發(fā)明實施例中,在加載了審計日志插件后再次通過讀取系統(tǒng)配置表來判斷是否需要記錄業(yè)務(wù)組件執(zhí)行操作請求的審計日志,能夠解決某些可能不需要記錄審計日志的業(yè)務(wù)組件卻加載了審計日志插件的問題。實施例四在本發(fā)明實施例中,所述接口為預(yù)先定義的供各模塊調(diào)用的接口。可用于各模塊間相互通信,可用于各模塊與插件通信,也可作為主控程序與各業(yè)務(wù)模塊的橋梁供各模塊和主控程序引用等。在此舉一例說明其供各模塊和主控程序引用的具體應(yīng)用,但并不限于這個例子。下面將詳細(xì)闡述。圖4示出了接口與主控程序和業(yè)務(wù)模塊之間的引用關(guān)系。
例如在本發(fā)明實施例中,首先定義一個接口,該接口包含一個類對象(若所述類對象為ParentWindow)。所述類對象包含如下成員1、包含一個屬性,所述屬性用于保存業(yè)務(wù)模塊中菜單對象的一個副本。定義如下:Public Property ToolBar as Object。2、包含兩個事件。其一,定義為 Public Event ToolBarClick (Tool As Object, bUse As Boolean), 此事件在點擊某菜單項時觸發(fā);另一,定義為 Public Event PropertyChanged (ByVal PropName As String),為業(yè)務(wù)模塊菜單改變事件。當(dāng)業(yè)務(wù)模塊給接口的屬性ToolBar賦值時,將觸發(fā)該事件。如Set Parentffindow. ToolBar = Bar 則會觸發(fā)該事件。3、包含一個方法。所述方法定義為Public Function FireToolBarClick(Tool As Object) AsBoolean。當(dāng)點擊主控程序菜單時,調(diào)用該方法,并將被點擊的菜單對象傳入,以明確是哪個菜單被點擊。即用戶在界面上所做的操作都會被接口 KDEVents所捕獲。下述以一個具體的實例來說明接口與主控程序和業(yè)務(wù)模塊之間的通信,如圖5所
7J\ ο在步驟S501中,接口的菜單對象保留業(yè)務(wù)模塊A菜單的副本。 在本發(fā)明實施例中,業(yè)務(wù)模塊A在自己加載完成后,通過設(shè)置接口的菜單對象屬性,將內(nèi)部的菜單對象賦值給接口。在賦值給接口的過程中接口觸發(fā)業(yè)務(wù)模塊菜單改變事件,使得接口的菜單對象得以保留業(yè)務(wù)模塊A菜單的副本。其具體實現(xiàn)如下所示Private mToolBar As ObjectPublic Property Set ToolBar(NewVal As Object)Set mToolBar = NewValRaiseEvent PropertyChanged(" ToolBar")End Property其中,mToolBar是類對象ParentWindow中的一個模塊級變量,用來保存菜單對象。在mToolBar被賦值為NewVal時,觸發(fā)業(yè)務(wù)模塊菜單改變事件ftOpertyChanged。在步驟S502中,把接口中儲存的業(yè)務(wù)模塊A菜單的副本解析后加入到主控程序的
主菜單中。在本發(fā)明實施例中,由于主控程序也引用了該接口,所以在主控程序中聲明接口實例也將觸發(fā)對應(yīng)的業(yè)務(wù)模塊菜單改變事件。系統(tǒng)在該事件中把接口中儲存的業(yè)務(wù)模塊A 菜單的副本解析后加入到主控程序的主菜單中。其具體實現(xiàn)如下所示Public WithEvents ThisForm As kdvbf. ParentffindowPrivate Sub ThisForm_PropertyChanged(ByVal PropName As String)Case" ToolBar"Dim業(yè)務(wù)模塊菜單的副本As Object
Set業(yè)務(wù)模塊菜單的副本=ThisForm. ToolBar通過解析業(yè)務(wù)模塊菜單的副本,把相同的菜單內(nèi)容加入到主控程序的主菜單中End Sub在步驟S503中,接口通知業(yè)務(wù)模塊A對用戶操作做出響應(yīng)。在本發(fā)明實施例中,當(dāng)接收到用戶點擊主控程序上菜單的請求時,系統(tǒng)將調(diào)用接口的FireToolBarClick方法,并由接口觸發(fā)ToolBarClick事件通知業(yè)務(wù)模塊A對用戶操作做出響應(yīng)。其具體實現(xiàn)方法如下1、主控程序菜單控件Bar的ToolClick事件的VB偽代碼Private Sub Bar_ToolClick(ByVal Tool As Object)IfTool是主控程序自己默認(rèn)的菜單項then進行相關(guān)的處理Else If iTool是業(yè)務(wù)模塊菜單thenThisForm. FireToolBarClick ToolEnd IfEnd Sub2、接口 FireToolBarClick 方法的 VB 偽代碼Public Function FireToolBarClick(Tool As Object)As BooleanDim b As Booleanb = FalseRaiseEvent ToolBarClick(Tool, b)FireToolBarClick = bEnd Function3、業(yè)務(wù)模塊中對接口 ToolBarClick實現(xiàn)的VB偽代碼Private WithEvents Parentffindow As KDVBF. ParentffindowPrivate Sub Parentffindow_TooIBarClick(Tool As Object, bUse As Boolean)把用戶點擊的菜單對象傳給自己模塊內(nèi)的對應(yīng)的處理函數(shù)處理,實現(xiàn)具體的業(yè)務(wù)功能.bUse = TrueEnd Sub在本發(fā)明實施例中,接口可根據(jù)用戶的實際需求定義不同的屬性、事件及方法,以此來滿足各業(yè)務(wù)模塊間的通信、業(yè)務(wù)模塊和插件間的通信及主控程序和各業(yè)務(wù)模塊程序的通信。實現(xiàn)了主控程序與子模塊菜單間的無縫集成,具有良好的可擴展性,適合多人大規(guī)模團隊開發(fā)的系統(tǒng)。實施例五圖6示出了本發(fā)明實施例提供的記錄審計日志的裝置的結(jié)構(gòu),為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部份。該裝置可以是內(nèi)置于業(yè)務(wù)系統(tǒng)中的軟件單元、硬件單元或者軟硬件相結(jié)合的單元,或者作為獨立的掛件集成到業(yè)務(wù)系統(tǒng)或業(yè)務(wù)系統(tǒng)的應(yīng)用系統(tǒng)中。其中
操作請求接收單元601,菜單事件將用戶發(fā)出的操作請求通知相關(guān)業(yè)務(wù)組件。插件加載判斷單元602,用于判斷是否加載審計日志插件。在本發(fā)明實施例中,所述插件加載判斷單元在判定結(jié)果為是時,加載審計日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請求; 所述插件加載判斷單元在判定結(jié)果為否時,所述業(yè)務(wù)組件執(zhí)行所述操作請求。接口通知插件單元603,用于在加載審計日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請求。審計日志記錄判斷單元604,用于判斷是否需要記錄所述業(yè)務(wù)組件執(zhí)行所述操作請求的審計日志。在本發(fā)明實施例中,所述審計日志記錄判斷單元判定結(jié)果為是時,在所述操作請求執(zhí)行前后,所述審計日志插件記錄對象的屬性信息,所述對象為所述操作請求執(zhí)行時所調(diào)用的對象;所述審計日志記錄判斷單元判定結(jié)果為否時,所述業(yè)務(wù)組件執(zhí)行所述操作請求。審計日志記錄單元605,用于在所述操作請求執(zhí)行前后,所述審計日志插件記錄對象的屬性信息,所述對象為所述操作請求執(zhí)行時所調(diào)用的對象。在本發(fā)明實施例中,以審計日志插件的形式實現(xiàn)審計日志的記錄,能夠動態(tài)地記錄某個功能模塊的審計日志,且易于審計日志的管理和控制。同時,統(tǒng)一用審計日志插件記錄審計日志,使得代碼容易維護,新增模塊也不需要單獨擴展記錄審計日志的功能,僅需在相應(yīng)的表中添加一條記錄后加載審計日志插件就能實現(xiàn)。且能夠根據(jù)需要加載審計日志插件,對不需要做審計日志的業(yè)務(wù)組件不再加載審計日志插件。自定義的接口根據(jù)用戶的實際需求做不同的屬性、事件及方法的定義??筛鶕?jù)其不同的定義滿足各業(yè)務(wù)模塊間的通信、 業(yè)務(wù)模塊和插件間的通信及主控程序和各業(yè)務(wù)模塊程序的通信。實現(xiàn)了主控程序與子模塊菜單間的無縫集成,具有良好的可擴展性,適合多人大規(guī)模團隊開發(fā)的系統(tǒng)。本領(lǐng)域普通技術(shù)人員可以理解,實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以在存儲于一計算機可讀取存儲介質(zhì)中,所述的存儲介質(zhì),如ROM/RAM、磁盤、光盤等。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種記錄審計日志的方法,其特征在于,所述方法包括下述步驟 菜單事件將用戶發(fā)出的操作請求通知相關(guān)業(yè)務(wù)組件;在加載審計日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請求;在所述操作請求執(zhí)行前后,所述審計日志插件記錄對象的屬性信息,所述對象為所述操作請求執(zhí)行時所調(diào)用的對象。
2.如權(quán)利要求1所述的方法,其特征在于,所述菜單事件將用戶發(fā)出的操作請求通知相關(guān)業(yè)務(wù)組件的具體實現(xiàn)為預(yù)先定義一張含有系統(tǒng)功能模塊與業(yè)務(wù)組件的對應(yīng)關(guān)系的表,擴展新的功能模塊能夠通過在所述表中加入相應(yīng)記錄實現(xiàn);菜單事件通過讀取所述含有系統(tǒng)功能模塊與業(yè)務(wù)組件對應(yīng)關(guān)系的表后,將用戶發(fā)出的操作請求通知相關(guān)的業(yè)務(wù)組件。
3.如權(quán)利要求1所述的方法,其特征在于,所述接口為預(yù)先定義的供各模塊調(diào)用的接口,可用于各模塊間相互通信,可用于各模塊與插件通信,也可作為主控程序與各業(yè)務(wù)模塊的橋梁供各模塊和主控程序引用。
4.如權(quán)利要求1所述的方法,其特征在于,在所述步驟菜單事件將用戶發(fā)出的操作請求通知相關(guān)業(yè)務(wù)組件之后,所述步驟加載審計日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請求之前還包括判斷是否加載審計日志插件;是則加載審計日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請求;否則所述業(yè)務(wù)組件執(zhí)行所述操作請求。
5.如權(quán)利要求4所述的方法,其特征在于,所述判斷是否加載審計日志插件的方法如下預(yù)先設(shè)定有一張表用于描述每一個功能模塊所調(diào)用的插件的集合,功能模塊添加新的插件,往所述表中相應(yīng)記錄即可,且新的模塊需要添加審計日志記錄功能時,向所述表中增加相應(yīng)的記錄即可;通過讀取所述表,查看與用戶的操作請求對應(yīng)的功能模塊是否需要調(diào)用審計日志插件,則可知是否加載審計日志插件。
6.如權(quán)利要求1所述的方法,其特征在于,在所述步驟加載審計日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請求之后,所述步驟在所述操作請求執(zhí)行前后,所述審計日志插件記錄對象的屬性信息,所述對象為所述操作請求執(zhí)行時所調(diào)用的對象之前,還包括通過讀取系統(tǒng)配置表判斷是否需要記錄所述業(yè)務(wù)組件執(zhí)行所述操作請求的審計日志;是則在所述操作請求執(zhí)行前后,所述審計日志插件記錄對象的屬性信息,所述對象為所述操作請求執(zhí)行時所調(diào)用的對象;否則所述業(yè)務(wù)組件執(zhí)行所述操作請求。
7.一種記錄審計日志的裝置,其特征在于,所述裝置包括操作請求接收單元,菜單事件將用戶發(fā)出的操作請求通知相關(guān)業(yè)務(wù)組件;接口通知插件單元,用于在加載審計日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請求;審計日志記錄單元,用于在所述操作請求執(zhí)行前后,所述審計日志插件記錄對象的屬性信息,所述對象為所述操作請求執(zhí)行時所調(diào)用的對象。
8.如權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括插件加載判斷單元,用于判斷是否加載審計日志插件;所述插件加載判斷單元在判定結(jié)果為是時,加載審計日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請求;所述插件加載判斷單元在判定結(jié)果為否時,所述業(yè)務(wù)組件執(zhí)行所述操作請求。
9.如權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括審計日志記錄判斷單元,用于判斷是否需要記錄所述業(yè)務(wù)組件執(zhí)行所述操作請求的審計日志;所述審計日志記錄判斷單元判定結(jié)果為是時,在所述操作請求執(zhí)行前后,所述審計日志插件記錄對象的屬性信息,所述對象為所述操作請求執(zhí)行時所調(diào)用的對象;所述審計日志記錄判斷單元判定結(jié)果為否時,所述業(yè)務(wù)組件執(zhí)行所述操作請求。
10.一種業(yè)務(wù)系統(tǒng),其特征在于,所述系統(tǒng)包括權(quán)利要求7至9任一權(quán)利要求所述的記錄審計日志的裝置。
全文摘要
本發(fā)明適用于計算機軟件領(lǐng)域,提供了一種記錄審計日志的方法、裝置及業(yè)務(wù)系統(tǒng),該方法包括下述步驟菜單事件將用戶發(fā)出的操作請求通知相關(guān)業(yè)務(wù)組件;在加載審計日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請求;在所述操作請求執(zhí)行前后,所述審計日志插件記錄對象的屬性信息,所述對象為所述操作請求執(zhí)行時所調(diào)用的對象。本發(fā)明以審計日志插件的形式實現(xiàn)審計日志的記錄,易于審計日志的管理和控制。且統(tǒng)一用審計日志插件記錄審計日志,代碼容易維護。
文檔編號G06F11/34GK102479076SQ20101056095
公開日2012年5月30日 申請日期2010年11月26日 優(yōu)先權(quán)日2010年11月26日
發(fā)明者張慶 申請人:金蝶軟件(中國)有限公司