两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種記錄審計(jì)日志的方法、裝置及業(yè)務(wù)系統(tǒng)的制作方法

文檔序號(hào):6336898閱讀:362來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種記錄審計(jì)日志的方法、裝置及業(yè)務(wù)系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)軟件領(lǐng)域,尤其涉及一種記錄審計(jì)日志的方法、裝置及業(yè)務(wù)系統(tǒng)。
背景技術(shù)
在ERP系統(tǒng)對(duì)系統(tǒng)數(shù)據(jù)做出的任何操作,都應(yīng)該能夠被記錄。現(xiàn)有系統(tǒng)一般在系統(tǒng)功能模塊中添加相應(yīng)的代碼,在用戶(hù)操作時(shí)記錄用戶(hù)的行為。由于在不同的系統(tǒng)功能模塊都要單獨(dú)添加相應(yīng)的記錄審計(jì)日志的代碼,因此存在以下缺點(diǎn)1、工作量巨大,新增模塊需要一一處理相關(guān)功能。由于系統(tǒng)功能模塊有很多,每一個(gè)系統(tǒng)功能模塊都需要單獨(dú)添加相應(yīng)的記錄審計(jì)日志的代碼,因此工作量巨大。當(dāng)新增加功能模塊后有需要一一為新增加的功能模塊添加相應(yīng)的記錄審計(jì)日志的代碼。不利于擴(kuò)展。2、不利于代碼的維護(hù),代碼的一致性很難保證。由于代碼分散于各個(gè)系統(tǒng)功能模塊,因此代碼的維護(hù)就顯得較為困難,且很難保證一致性。3、不能實(shí)現(xiàn)功能級(jí)別的熱拔插技術(shù)。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種記錄審計(jì)日志的方法,旨在解決記錄審計(jì)日志工作量大,且不利于擴(kuò)展和維護(hù)的問(wèn)題。本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種記錄審計(jì)日志的方法,所述方法包括下述步驟菜單事件將用戶(hù)發(fā)出的操作請(qǐng)求通知相關(guān)業(yè)務(wù)組件;在加載審計(jì)日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計(jì)日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請(qǐng)求;在所述操作請(qǐng)求執(zhí)行前后,所述審計(jì)日志插件記錄對(duì)象的屬性信息,所述對(duì)象為所述操作請(qǐng)求執(zhí)行時(shí)所調(diào)用的對(duì)象。本發(fā)明實(shí)施例的另一目的在于提供一種記錄審計(jì)日志的裝置,所述裝置包括操作請(qǐng)求接收單元,菜單事件將用戶(hù)發(fā)出的操作請(qǐng)求通知相關(guān)業(yè)務(wù)組件;接口通知插件單元,用于在加載審計(jì)日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計(jì)日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請(qǐng)求;審計(jì)日志記錄單元,用于在所述操作請(qǐng)求執(zhí)行前后,所述審計(jì)日志插件記錄對(duì)象的屬性信息,所述對(duì)象為所述操作請(qǐng)求執(zhí)行時(shí)所調(diào)用的對(duì)象。本發(fā)明另一目的在于提供一種包含所述記錄審計(jì)日志的裝置的業(yè)務(wù)系統(tǒng)。由上可知,本發(fā)明實(shí)施例提供的一種記錄審計(jì)日志的方法、裝置及業(yè)務(wù)系統(tǒng),以審計(jì)日志插件的形式實(shí)現(xiàn)審計(jì)日志的記錄,能夠動(dòng)態(tài)地記錄某個(gè)功能模塊的審計(jì)日志,且易于審計(jì)日志的管理和控制。同時(shí),統(tǒng)一用審計(jì)日志插件記錄審計(jì)日志,使得代碼容易維護(hù),新增模塊也不需要單獨(dú)擴(kuò)展記錄審計(jì)日志的功能,僅需在相應(yīng)的表中添加一條記錄后加載審計(jì)日志插件就能實(shí)現(xiàn)。且能夠根據(jù)需要加載審計(jì)日志插件,對(duì)不需要做審計(jì)日志的業(yè)務(wù)組件不再加載審計(jì)日志插件。自定義的接口根據(jù)用戶(hù)的實(shí)際需求做不同的屬性、事件及方法的定義。可根據(jù)其不同的定義滿(mǎn)足各業(yè)務(wù)模塊間的通信、業(yè)務(wù)模塊和插件間的通信及主控程序和各業(yè)務(wù)模塊程序的通信。實(shí)現(xiàn)了主控程序與子模塊菜單間的無(wú)縫集成,具有良好的可擴(kuò)展性,適合多人大規(guī)模團(tuán)隊(duì)開(kāi)發(fā)的系統(tǒng)。


圖1是本發(fā)明第一實(shí)施例提供的記錄審計(jì)日志的方法的流程圖;圖2是本發(fā)明第二實(shí)施例提供的記錄審計(jì)日志的方法的流程圖;圖3是本發(fā)明第三實(shí)施例提供的記錄審計(jì)日志的方法的流程圖;圖4本發(fā)明第一實(shí)施例提供的接口與主控程序和業(yè)務(wù)模塊通信的示意圖;圖5本發(fā)明第一實(shí)施例提供的接口與主控程序和業(yè)務(wù)模塊通信的一個(gè)實(shí)例的流程圖;圖6是本發(fā)明實(shí)施例提供的記錄審計(jì)日志的裝置的結(jié)構(gòu)框圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實(shí)施例在抽象了業(yè)務(wù)系統(tǒng)中的業(yè)務(wù)對(duì)象后,通過(guò)加載審計(jì)日志插件記錄操作請(qǐng)求執(zhí)行前后調(diào)用的對(duì)象的屬性信息的變化作為審計(jì)日志。本發(fā)明提供了一種記錄審計(jì)日志的方法、裝置所述方法包括菜單事件將用戶(hù)發(fā)出的操作請(qǐng)求通知相關(guān)業(yè)務(wù)組件;在加載審計(jì)日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計(jì)日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請(qǐng)求;在所述操作請(qǐng)求執(zhí)行前后,所述審計(jì)日志插件記錄對(duì)象的屬性信息,所述對(duì)象為所述操作請(qǐng)求執(zhí)行時(shí)所調(diào)用的對(duì)象。所述裝置包括操作請(qǐng)求接收單元,菜單事件將用戶(hù)發(fā)出的操作請(qǐng)求通知相關(guān)業(yè)務(wù)組件;接口通知插件單元,用于在加載審計(jì)日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計(jì)日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請(qǐng)求;審計(jì)日志記錄單元,用于在所述操作請(qǐng)求執(zhí)行前后,所述審計(jì)日志插件記錄對(duì)象的屬性信息,所述對(duì)象為所述操作請(qǐng)求執(zhí)行時(shí)所調(diào)用的對(duì)象。為了說(shuō)明本發(fā)明所述的技術(shù)方案,下面通過(guò)具體實(shí)施例來(lái)進(jìn)行說(shuō)明。實(shí)施例一圖1示出了本發(fā)明第一實(shí)施例提供的記錄審計(jì)日志方法的流程,通過(guò)加載審計(jì)日志插件記錄操作請(qǐng)求執(zhí)行前后調(diào)用的對(duì)象的屬性信息的變化作為審計(jì)日志,詳述如下
在步驟SlOl中,菜單事件將用戶(hù)發(fā)出的操作請(qǐng)求通知相關(guān)業(yè)務(wù)組件。在本發(fā)明實(shí)施例中,當(dāng)接收到用戶(hù)發(fā)出的某操作請(qǐng)求時(shí),首先由一個(gè)菜單事件將用戶(hù)發(fā)出的操作請(qǐng)求通知相關(guān)業(yè)務(wù)組件。所述用戶(hù)發(fā)出的操作請(qǐng)求包括刪除請(qǐng)求、保存請(qǐng)求、復(fù)制請(qǐng)求等。在本發(fā)明實(shí)施例中,系統(tǒng)預(yù)先定義了一張表,所述表中含有系統(tǒng)功能模塊與業(yè)務(wù)組件的對(duì)應(yīng)關(guān)系。因此,菜單事件通過(guò)讀取所述含有系統(tǒng)功能模塊與業(yè)務(wù)組件對(duì)應(yīng)關(guān)系的表后,將用戶(hù)發(fā)出的操作請(qǐng)求通知相關(guān)的業(yè)務(wù)組件。當(dāng)系統(tǒng)需要擴(kuò)展新的功能模塊時(shí),可通過(guò)在所述含有系統(tǒng)功能模塊與業(yè)務(wù)組件的對(duì)應(yīng)關(guān)系的表中加入相應(yīng)的記錄實(shí)現(xiàn)。例如預(yù)先設(shè)定的含有系統(tǒng)功能模塊與業(yè)務(wù)組件的對(duì)應(yīng)關(guān)系的表為t_ DataFlowDetaiIFimc,內(nèi)容為組件名.類(lèi)名。所述組件名為業(yè)務(wù)組件的名稱(chēng),所述類(lèi)名為系統(tǒng)功能模塊的類(lèi)名。這時(shí),菜單事件便可讀通過(guò)取表LDataFlowDetai IFunc獲得相關(guān)業(yè)務(wù)組件名。 在步驟S102中,加載審計(jì)日志插件后,業(yè)務(wù)組件調(diào)用接口通知審計(jì)日志插件業(yè)務(wù)組件將執(zhí)行操作請(qǐng)求。在本發(fā)明實(shí)施例中,以插件的形式記錄審計(jì)日志,因此,在記錄審計(jì)日志之前,需加載審計(jì)日志插件。加載審計(jì)日志插件后,業(yè)務(wù)組件調(diào)用接口通知所述審計(jì)日志插件業(yè)務(wù)組件將執(zhí)行操作請(qǐng)求。在本發(fā)明實(shí)施例中,所述接口為預(yù)先定義的供各模塊調(diào)用的接口??捎糜诟髂K間相互通信,可用于各模塊與插件通信,也可作為主控程序與各業(yè)務(wù)模塊的橋梁供各模塊和主控程序引用等。在此步驟中,所述接口用于通知插件業(yè)務(wù)組件做了什么,即在加載審計(jì)日志插件后,業(yè)務(wù)組件調(diào)用接口通知審計(jì)日志插件所述業(yè)務(wù)組件將執(zhí)行操作請(qǐng)求。對(duì)此接口其他應(yīng)用的詳細(xì)描述,詳見(jiàn)實(shí)施例四,在此就不再贅述了。在步驟S103中,在所述操作請(qǐng)求執(zhí)行前后,所述審計(jì)日志插件記錄對(duì)象的屬性信息,所述對(duì)象為所述操作請(qǐng)求執(zhí)行時(shí)所調(diào)用的對(duì)象。在本發(fā)明實(shí)施例中,在系統(tǒng)執(zhí)行用戶(hù)請(qǐng)求的操作前,記錄下操作請(qǐng)求執(zhí)行時(shí)所調(diào)用的對(duì)象的所有屬性信息。之后,業(yè)務(wù)組件執(zhí)行操作請(qǐng)求。在本發(fā)明實(shí)施例中,業(yè)務(wù)組件在執(zhí)行完操作請(qǐng)求后,調(diào)用接口通知審計(jì)日志插件操作請(qǐng)求已執(zhí)行,審計(jì)日志插件記錄對(duì)象此時(shí)的所有屬性信息。通過(guò)記錄操作請(qǐng)求執(zhí)行前后調(diào)用的對(duì)象的屬性信息的變化作為審計(jì)日志,然后將所述審計(jì)日志存儲(chǔ)于數(shù)據(jù)庫(kù)中。在本發(fā)明實(shí)施例中,以審計(jì)日志插件的形式實(shí)現(xiàn)審計(jì)日志的記錄,能夠動(dòng)態(tài)地記錄某個(gè)功能模塊的審計(jì)日志,且易于審計(jì)日志的管理和控制。同時(shí),統(tǒng)一用審計(jì)日志插件記錄審計(jì)日志,使得代碼容易維護(hù),新增模塊也不需要單獨(dú)擴(kuò)展記錄審計(jì)日志的功能,僅需在相應(yīng)的表中添加一條記錄后加載審計(jì)日志插件就能實(shí)現(xiàn)。實(shí)施例二 圖2示出了本發(fā)明第二實(shí)施例提供的記錄審計(jì)日志方法的流程,詳述如下。在步驟S201中,菜單事件將用戶(hù)發(fā)出的操作請(qǐng)求通知相關(guān)業(yè)務(wù)組件;在步驟S202中,判斷是否加載審計(jì)日志插件,是則執(zhí)行步驟S203,否則執(zhí)行步驟 S205。在本發(fā)明實(shí)施例中,預(yù)先設(shè)定有一張表用于描述每一個(gè)功能模塊所調(diào)用的插件的集合,所述表中含有系統(tǒng)功能模塊與其需要調(diào)用的插件的對(duì)應(yīng)關(guān)系。因此通過(guò)讀取此表,便可得知與接收到的用戶(hù)操作的功能相關(guān)的插件是哪些。因此,業(yè)務(wù)組件通過(guò)讀取用于描述每一個(gè)功能模塊所調(diào)用的插件集合的表,查看與用戶(hù)的操作請(qǐng)求對(duì)應(yīng)的功能模塊是否需要調(diào)用審計(jì)日志插件,便可知是否加載審計(jì)日志插件。若系統(tǒng)的某個(gè)功能模塊需要添加插件, 則往所述用于描述每一個(gè)功能模塊所調(diào)用的插件的集合的表中增加相應(yīng)記錄即可。若新增的模塊需要添加審計(jì)日志功能,也僅需向所述用于描述每一個(gè)功能模塊所調(diào)用的插件的集合的表中添加相應(yīng)記錄即可。例如預(yù)先設(shè)定的用于描述每一個(gè)功能模塊所調(diào)用的插件的集合的表為、 Components。通過(guò)讀取表t_ComponentS,查看與用戶(hù)的操作請(qǐng)求對(duì)應(yīng)的功能模塊是否需要調(diào)用審計(jì)日志插件,即可知道是否加載審計(jì)日志插件。在步驟S203中,加載審計(jì)日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計(jì)日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請(qǐng)求。在步驟S204中,在所述操作請(qǐng)求執(zhí)行前后,所述審計(jì)日志插件記錄對(duì)象的屬性信息,所述對(duì)象為所述操作請(qǐng)求執(zhí)行時(shí)所調(diào)用的對(duì)象。在步驟S205中,所述業(yè)務(wù)組件執(zhí)行所述操作請(qǐng)求。在本發(fā)明實(shí)施例中,增加了一張用于描述每一個(gè)功能模塊所調(diào)用的插件集合的表,能夠根據(jù)需要加載審計(jì)日志插件,對(duì)不需要做審計(jì)日志的業(yè)務(wù)組件不再加載審計(jì)日志插件。實(shí)施例三圖3示出了本發(fā)明第三實(shí)施例提供的記錄審計(jì)日志方法的流程,詳述如下。在步驟S301中,菜單事件將用戶(hù)發(fā)出的操作請(qǐng)求通知相關(guān)業(yè)務(wù)組件; 在步驟S302中,加載審計(jì)日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計(jì)日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請(qǐng)求。在步驟S303中,判斷是否記錄所述業(yè)務(wù)組件執(zhí)行所述操作請(qǐng)求的審計(jì)日志,是則執(zhí)行步驟S304,否則執(zhí)行步驟S305。在本發(fā)明實(shí)施例中,通過(guò)讀取系統(tǒng)配置表來(lái)判斷是否需要記錄所述業(yè)務(wù)組件執(zhí)行所述操作請(qǐng)求的審計(jì)日志。在步驟S304中,在所述操作請(qǐng)求執(zhí)行前后,所述審計(jì)日志插件記錄對(duì)象的屬性信息,所述對(duì)象為所述操作請(qǐng)求執(zhí)行時(shí)所調(diào)用的對(duì)象。在步驟S305中,所述業(yè)務(wù)組件執(zhí)行所述操作請(qǐng)求。在本發(fā)明實(shí)施例中,在加載了審計(jì)日志插件后再次通過(guò)讀取系統(tǒng)配置表來(lái)判斷是否需要記錄業(yè)務(wù)組件執(zhí)行操作請(qǐng)求的審計(jì)日志,能夠解決某些可能不需要記錄審計(jì)日志的業(yè)務(wù)組件卻加載了審計(jì)日志插件的問(wèn)題。實(shí)施例四在本發(fā)明實(shí)施例中,所述接口為預(yù)先定義的供各模塊調(diào)用的接口??捎糜诟髂K間相互通信,可用于各模塊與插件通信,也可作為主控程序與各業(yè)務(wù)模塊的橋梁供各模塊和主控程序引用等。在此舉一例說(shuō)明其供各模塊和主控程序引用的具體應(yīng)用,但并不限于這個(gè)例子。下面將詳細(xì)闡述。圖4示出了接口與主控程序和業(yè)務(wù)模塊之間的引用關(guān)系。
例如在本發(fā)明實(shí)施例中,首先定義一個(gè)接口,該接口包含一個(gè)類(lèi)對(duì)象(若所述類(lèi)對(duì)象為ParentWindow)。所述類(lèi)對(duì)象包含如下成員1、包含一個(gè)屬性,所述屬性用于保存業(yè)務(wù)模塊中菜單對(duì)象的一個(gè)副本。定義如下:Public Property ToolBar as Object。2、包含兩個(gè)事件。其一,定義為 Public Event ToolBarClick (Tool As Object, bUse As Boolean), 此事件在點(diǎn)擊某菜單項(xiàng)時(shí)觸發(fā);另一,定義為 Public Event PropertyChanged (ByVal PropName As String),為業(yè)務(wù)模塊菜單改變事件。當(dāng)業(yè)務(wù)模塊給接口的屬性ToolBar賦值時(shí),將觸發(fā)該事件。如Set Parentffindow. ToolBar = Bar 則會(huì)觸發(fā)該事件。3、包含一個(gè)方法。所述方法定義為Public Function FireToolBarClick(Tool As Object) AsBoolean。當(dāng)點(diǎn)擊主控程序菜單時(shí),調(diào)用該方法,并將被點(diǎn)擊的菜單對(duì)象傳入,以明確是哪個(gè)菜單被點(diǎn)擊。即用戶(hù)在界面上所做的操作都會(huì)被接口 KDEVents所捕獲。下述以一個(gè)具體的實(shí)例來(lái)說(shuō)明接口與主控程序和業(yè)務(wù)模塊之間的通信,如圖5所
7J\ ο在步驟S501中,接口的菜單對(duì)象保留業(yè)務(wù)模塊A菜單的副本。 在本發(fā)明實(shí)施例中,業(yè)務(wù)模塊A在自己加載完成后,通過(guò)設(shè)置接口的菜單對(duì)象屬性,將內(nèi)部的菜單對(duì)象賦值給接口。在賦值給接口的過(guò)程中接口觸發(fā)業(yè)務(wù)模塊菜單改變事件,使得接口的菜單對(duì)象得以保留業(yè)務(wù)模塊A菜單的副本。其具體實(shí)現(xiàn)如下所示Private mToolBar As ObjectPublic Property Set ToolBar(NewVal As Object)Set mToolBar = NewValRaiseEvent PropertyChanged(" ToolBar")End Property其中,mToolBar是類(lèi)對(duì)象ParentWindow中的一個(gè)模塊級(jí)變量,用來(lái)保存菜單對(duì)象。在mToolBar被賦值為NewVal時(shí),觸發(fā)業(yè)務(wù)模塊菜單改變事件ftOpertyChanged。在步驟S502中,把接口中儲(chǔ)存的業(yè)務(wù)模塊A菜單的副本解析后加入到主控程序的
主菜單中。在本發(fā)明實(shí)施例中,由于主控程序也引用了該接口,所以在主控程序中聲明接口實(shí)例也將觸發(fā)對(duì)應(yīng)的業(yè)務(wù)模塊菜單改變事件。系統(tǒng)在該事件中把接口中儲(chǔ)存的業(yè)務(wù)模塊A 菜單的副本解析后加入到主控程序的主菜單中。其具體實(shí)現(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通過(guò)解析業(yè)務(wù)模塊菜單的副本,把相同的菜單內(nèi)容加入到主控程序的主菜單中End Sub在步驟S503中,接口通知業(yè)務(wù)模塊A對(duì)用戶(hù)操作做出響應(yīng)。在本發(fā)明實(shí)施例中,當(dāng)接收到用戶(hù)點(diǎn)擊主控程序上菜單的請(qǐng)求時(shí),系統(tǒng)將調(diào)用接口的FireToolBarClick方法,并由接口觸發(fā)ToolBarClick事件通知業(yè)務(wù)模塊A對(duì)用戶(hù)操作做出響應(yīng)。其具體實(shí)現(xiàn)方法如下1、主控程序菜單控件Bar的ToolClick事件的VB偽代碼Private Sub Bar_ToolClick(ByVal Tool As Object)IfTool是主控程序自己默認(rèn)的菜單項(xiàng)then進(jìn)行相關(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ù)模塊中對(duì)接口 ToolBarClick實(shí)現(xiàn)的VB偽代碼Private WithEvents Parentffindow As KDVBF. ParentffindowPrivate Sub Parentffindow_TooIBarClick(Tool As Object, bUse As Boolean)把用戶(hù)點(diǎn)擊的菜單對(duì)象傳給自己模塊內(nèi)的對(duì)應(yīng)的處理函數(shù)處理,實(shí)現(xiàn)具體的業(yè)務(wù)功能.bUse = TrueEnd Sub在本發(fā)明實(shí)施例中,接口可根據(jù)用戶(hù)的實(shí)際需求定義不同的屬性、事件及方法,以此來(lái)滿(mǎn)足各業(yè)務(wù)模塊間的通信、業(yè)務(wù)模塊和插件間的通信及主控程序和各業(yè)務(wù)模塊程序的通信。實(shí)現(xiàn)了主控程序與子模塊菜單間的無(wú)縫集成,具有良好的可擴(kuò)展性,適合多人大規(guī)模團(tuán)隊(duì)開(kāi)發(fā)的系統(tǒng)。實(shí)施例五圖6示出了本發(fā)明實(shí)施例提供的記錄審計(jì)日志的裝置的結(jié)構(gòu),為了便于說(shuō)明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部份。該裝置可以是內(nèi)置于業(yè)務(wù)系統(tǒng)中的軟件單元、硬件單元或者軟硬件相結(jié)合的單元,或者作為獨(dú)立的掛件集成到業(yè)務(wù)系統(tǒng)或業(yè)務(wù)系統(tǒng)的應(yīng)用系統(tǒng)中。其中
操作請(qǐng)求接收單元601,菜單事件將用戶(hù)發(fā)出的操作請(qǐng)求通知相關(guān)業(yè)務(wù)組件。插件加載判斷單元602,用于判斷是否加載審計(jì)日志插件。在本發(fā)明實(shí)施例中,所述插件加載判斷單元在判定結(jié)果為是時(shí),加載審計(jì)日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計(jì)日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請(qǐng)求; 所述插件加載判斷單元在判定結(jié)果為否時(shí),所述業(yè)務(wù)組件執(zhí)行所述操作請(qǐng)求。接口通知插件單元603,用于在加載審計(jì)日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計(jì)日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請(qǐng)求。審計(jì)日志記錄判斷單元604,用于判斷是否需要記錄所述業(yè)務(wù)組件執(zhí)行所述操作請(qǐng)求的審計(jì)日志。在本發(fā)明實(shí)施例中,所述審計(jì)日志記錄判斷單元判定結(jié)果為是時(shí),在所述操作請(qǐng)求執(zhí)行前后,所述審計(jì)日志插件記錄對(duì)象的屬性信息,所述對(duì)象為所述操作請(qǐng)求執(zhí)行時(shí)所調(diào)用的對(duì)象;所述審計(jì)日志記錄判斷單元判定結(jié)果為否時(shí),所述業(yè)務(wù)組件執(zhí)行所述操作請(qǐng)求。審計(jì)日志記錄單元605,用于在所述操作請(qǐng)求執(zhí)行前后,所述審計(jì)日志插件記錄對(duì)象的屬性信息,所述對(duì)象為所述操作請(qǐng)求執(zhí)行時(shí)所調(diào)用的對(duì)象。在本發(fā)明實(shí)施例中,以審計(jì)日志插件的形式實(shí)現(xiàn)審計(jì)日志的記錄,能夠動(dòng)態(tài)地記錄某個(gè)功能模塊的審計(jì)日志,且易于審計(jì)日志的管理和控制。同時(shí),統(tǒng)一用審計(jì)日志插件記錄審計(jì)日志,使得代碼容易維護(hù),新增模塊也不需要單獨(dú)擴(kuò)展記錄審計(jì)日志的功能,僅需在相應(yīng)的表中添加一條記錄后加載審計(jì)日志插件就能實(shí)現(xiàn)。且能夠根據(jù)需要加載審計(jì)日志插件,對(duì)不需要做審計(jì)日志的業(yè)務(wù)組件不再加載審計(jì)日志插件。自定義的接口根據(jù)用戶(hù)的實(shí)際需求做不同的屬性、事件及方法的定義??筛鶕?jù)其不同的定義滿(mǎn)足各業(yè)務(wù)模塊間的通信、 業(yè)務(wù)模塊和插件間的通信及主控程序和各業(yè)務(wù)模塊程序的通信。實(shí)現(xiàn)了主控程序與子模塊菜單間的無(wú)縫集成,具有良好的可擴(kuò)展性,適合多人大規(guī)模團(tuán)隊(duì)開(kāi)發(fā)的系統(tǒng)。本領(lǐng)域普通技術(shù)人員可以理解,實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以在存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,所述的存儲(chǔ)介質(zhì),如ROM/RAM、磁盤(pán)、光盤(pán)等。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種記錄審計(jì)日志的方法,其特征在于,所述方法包括下述步驟 菜單事件將用戶(hù)發(fā)出的操作請(qǐng)求通知相關(guān)業(yè)務(wù)組件;在加載審計(jì)日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計(jì)日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請(qǐng)求;在所述操作請(qǐng)求執(zhí)行前后,所述審計(jì)日志插件記錄對(duì)象的屬性信息,所述對(duì)象為所述操作請(qǐng)求執(zhí)行時(shí)所調(diào)用的對(duì)象。
2.如權(quán)利要求1所述的方法,其特征在于,所述菜單事件將用戶(hù)發(fā)出的操作請(qǐng)求通知相關(guān)業(yè)務(wù)組件的具體實(shí)現(xiàn)為預(yù)先定義一張含有系統(tǒng)功能模塊與業(yè)務(wù)組件的對(duì)應(yīng)關(guān)系的表,擴(kuò)展新的功能模塊能夠通過(guò)在所述表中加入相應(yīng)記錄實(shí)現(xiàn);菜單事件通過(guò)讀取所述含有系統(tǒng)功能模塊與業(yè)務(wù)組件對(duì)應(yīng)關(guān)系的表后,將用戶(hù)發(fā)出的操作請(qǐng)求通知相關(guān)的業(yè)務(wù)組件。
3.如權(quán)利要求1所述的方法,其特征在于,所述接口為預(yù)先定義的供各模塊調(diào)用的接口,可用于各模塊間相互通信,可用于各模塊與插件通信,也可作為主控程序與各業(yè)務(wù)模塊的橋梁供各模塊和主控程序引用。
4.如權(quán)利要求1所述的方法,其特征在于,在所述步驟菜單事件將用戶(hù)發(fā)出的操作請(qǐng)求通知相關(guān)業(yè)務(wù)組件之后,所述步驟加載審計(jì)日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計(jì)日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請(qǐng)求之前還包括判斷是否加載審計(jì)日志插件;是則加載審計(jì)日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計(jì)日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請(qǐng)求;否則所述業(yè)務(wù)組件執(zhí)行所述操作請(qǐng)求。
5.如權(quán)利要求4所述的方法,其特征在于,所述判斷是否加載審計(jì)日志插件的方法如下預(yù)先設(shè)定有一張表用于描述每一個(gè)功能模塊所調(diào)用的插件的集合,功能模塊添加新的插件,往所述表中相應(yīng)記錄即可,且新的模塊需要添加審計(jì)日志記錄功能時(shí),向所述表中增加相應(yīng)的記錄即可;通過(guò)讀取所述表,查看與用戶(hù)的操作請(qǐng)求對(duì)應(yīng)的功能模塊是否需要調(diào)用審計(jì)日志插件,則可知是否加載審計(jì)日志插件。
6.如權(quán)利要求1所述的方法,其特征在于,在所述步驟加載審計(jì)日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計(jì)日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請(qǐng)求之后,所述步驟在所述操作請(qǐng)求執(zhí)行前后,所述審計(jì)日志插件記錄對(duì)象的屬性信息,所述對(duì)象為所述操作請(qǐng)求執(zhí)行時(shí)所調(diào)用的對(duì)象之前,還包括通過(guò)讀取系統(tǒng)配置表判斷是否需要記錄所述業(yè)務(wù)組件執(zhí)行所述操作請(qǐng)求的審計(jì)日志;是則在所述操作請(qǐng)求執(zhí)行前后,所述審計(jì)日志插件記錄對(duì)象的屬性信息,所述對(duì)象為所述操作請(qǐng)求執(zhí)行時(shí)所調(diào)用的對(duì)象;否則所述業(yè)務(wù)組件執(zhí)行所述操作請(qǐng)求。
7.一種記錄審計(jì)日志的裝置,其特征在于,所述裝置包括操作請(qǐng)求接收單元,菜單事件將用戶(hù)發(fā)出的操作請(qǐng)求通知相關(guān)業(yè)務(wù)組件;接口通知插件單元,用于在加載審計(jì)日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計(jì)日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請(qǐng)求;審計(jì)日志記錄單元,用于在所述操作請(qǐng)求執(zhí)行前后,所述審計(jì)日志插件記錄對(duì)象的屬性信息,所述對(duì)象為所述操作請(qǐng)求執(zhí)行時(shí)所調(diào)用的對(duì)象。
8.如權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括插件加載判斷單元,用于判斷是否加載審計(jì)日志插件;所述插件加載判斷單元在判定結(jié)果為是時(shí),加載審計(jì)日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計(jì)日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請(qǐng)求;所述插件加載判斷單元在判定結(jié)果為否時(shí),所述業(yè)務(wù)組件執(zhí)行所述操作請(qǐng)求。
9.如權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括審計(jì)日志記錄判斷單元,用于判斷是否需要記錄所述業(yè)務(wù)組件執(zhí)行所述操作請(qǐng)求的審計(jì)日志;所述審計(jì)日志記錄判斷單元判定結(jié)果為是時(shí),在所述操作請(qǐng)求執(zhí)行前后,所述審計(jì)日志插件記錄對(duì)象的屬性信息,所述對(duì)象為所述操作請(qǐng)求執(zhí)行時(shí)所調(diào)用的對(duì)象;所述審計(jì)日志記錄判斷單元判定結(jié)果為否時(shí),所述業(yè)務(wù)組件執(zhí)行所述操作請(qǐng)求。
10.一種業(yè)務(wù)系統(tǒng),其特征在于,所述系統(tǒng)包括權(quán)利要求7至9任一權(quán)利要求所述的記錄審計(jì)日志的裝置。
全文摘要
本發(fā)明適用于計(jì)算機(jī)軟件領(lǐng)域,提供了一種記錄審計(jì)日志的方法、裝置及業(yè)務(wù)系統(tǒng),該方法包括下述步驟菜單事件將用戶(hù)發(fā)出的操作請(qǐng)求通知相關(guān)業(yè)務(wù)組件;在加載審計(jì)日志插件后,所述業(yè)務(wù)組件調(diào)用接口通知所述審計(jì)日志插件所述業(yè)務(wù)組件將執(zhí)行所述操作請(qǐng)求;在所述操作請(qǐng)求執(zhí)行前后,所述審計(jì)日志插件記錄對(duì)象的屬性信息,所述對(duì)象為所述操作請(qǐng)求執(zhí)行時(shí)所調(diào)用的對(duì)象。本發(fā)明以審計(jì)日志插件的形式實(shí)現(xiàn)審計(jì)日志的記錄,易于審計(jì)日志的管理和控制。且統(tǒng)一用審計(jì)日志插件記錄審計(jì)日志,代碼容易維護(hù)。
文檔編號(hào)G06F11/34GK102479076SQ20101056095
公開(kāi)日2012年5月30日 申請(qǐng)日期2010年11月26日 優(yōu)先權(quán)日2010年11月26日
發(fā)明者張慶 申請(qǐng)人:金蝶軟件(中國(guó))有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
稻城县| 申扎县| 仙桃市| 高青县| 金溪县| 湘阴县| 黄浦区| 巢湖市| 新龙县| 松江区| 密云县| 抚宁县| 河南省| 无锡市| 景德镇市| 扶沟县| 潢川县| 钟祥市| 简阳市| 临汾市| 鄂托克旗| 临澧县| 吉林市| 新余市| 兴化市| 于田县| 沧州市| 报价| 海南省| 台前县| 名山县| 民和| 洮南市| 阿瓦提县| 寿光市| 尚义县| 冕宁县| 佛学| 泾源县| 永济市| 高密市|