欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種記錄用戶(hù)在web系統(tǒng)中的操作日志的方法與設(shè)備與流程

文檔序號(hào):11154809閱讀:5020來(lái)源:國(guó)知局
一種記錄用戶(hù)在web系統(tǒng)中的操作日志的方法與設(shè)備與制造工藝

本申請(qǐng)涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種記錄用戶(hù)在web系統(tǒng)中的操作日志的技術(shù)。



背景技術(shù):

互聯(lián)網(wǎng)技術(shù)的發(fā)展給人們帶來(lái)了巨大的便捷,而人們也越來(lái)越多地訪(fǎng)問(wèn)各類(lèi)web頁(yè)面,提供訪(fǎng)問(wèn)服務(wù)的web系統(tǒng)面臨著日益增加的壓力。通過(guò)記錄用戶(hù)操作日志,可以查看在web系統(tǒng)中被用戶(hù)操作過(guò)的數(shù)據(jù),可以追溯數(shù)據(jù)的修改記錄,從而在定位問(wèn)題的過(guò)程中起到關(guān)鍵作用?,F(xiàn)有的記錄用戶(hù)操作日志的技術(shù)中,普遍針對(duì)具體業(yè)務(wù)場(chǎng)景記錄用戶(hù)操作日志,將用戶(hù)修改前和修改后的數(shù)據(jù)記錄下來(lái)。然而,這會(huì)使得日志代碼入侵到業(yè)務(wù)代碼中,增加了web系統(tǒng)的負(fù)擔(dān),而且不具備通用性,每新增一個(gè)業(yè)務(wù)都需要增加相應(yīng)的日志記錄。



技術(shù)實(shí)現(xiàn)要素:

本申請(qǐng)的一個(gè)目的是提供一種記錄用戶(hù)在web系統(tǒng)中的操作日志的方法與設(shè)備,以解決日志代碼入侵到業(yè)務(wù)代碼的問(wèn)題。

根據(jù)本申請(qǐng)的一個(gè)方面,提供了一種記錄用戶(hù)在web系統(tǒng)中的操作日志的方法,其中,該方法包括:

在用戶(hù)登錄攔截模塊的過(guò)程中獲取對(duì)應(yīng)的用戶(hù)信息;

通過(guò)所述攔截模塊獲取所述用戶(hù)登錄后在web系統(tǒng)中的操作信息;

根據(jù)所述操作信息、所述用戶(hù)信息以及所述操作信息對(duì)應(yīng)的時(shí)間信息生成對(duì)應(yīng)的用戶(hù)操作日志。

根據(jù)本申請(qǐng)的另一個(gè)方面,提供了一種記錄用戶(hù)在web系統(tǒng)中的操作日志的設(shè)備,其中,該設(shè)備包括:

用戶(hù)信息獲取裝置,用于在用戶(hù)登錄攔截模塊的過(guò)程中獲取對(duì)應(yīng)的用戶(hù)信息;

操作信息獲取裝置,用于通過(guò)所述攔截模塊獲取所述用戶(hù)登錄后在web系統(tǒng)中的操作信息;

操作日志生成裝置,用于根據(jù)所述操作信息、所述用戶(hù)信息以及所述操作信息對(duì)應(yīng)的時(shí)間信息生成對(duì)應(yīng)的用戶(hù)操作日志。

與現(xiàn)有技術(shù)相比,本申請(qǐng)?jiān)谟脩?hù)登錄攔截模塊的過(guò)程中獲取對(duì)應(yīng)的用戶(hù)信息,通過(guò)所述攔截模塊獲取用戶(hù)登錄后在web系統(tǒng)中的操作信息,然后根據(jù)所述操作信息、所述用戶(hù)信息以及所述操作信息對(duì)應(yīng)的時(shí)間信息生成對(duì)應(yīng)的用戶(hù)操作日志;本申請(qǐng)通過(guò)AOP技術(shù)記錄所述操作信息,其中,所述操作信息包括用戶(hù)操作所調(diào)用的相關(guān)程序的運(yùn)行狀態(tài)的相關(guān)信息,避免了日志代碼入侵業(yè)務(wù)代碼的情況,通用性強(qiáng)且易于維護(hù)。進(jìn)一步地,本申請(qǐng)將所述操作信息對(duì)應(yīng)的時(shí)間信息通過(guò)添加時(shí)間戳的方式與序列化的所述操作信息及所述用戶(hù)信息相關(guān)聯(lián),為檢索用戶(hù)操作日志提供了方便。

附圖說(shuō)明

通過(guò)閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本申請(qǐng)的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:

圖1示出根據(jù)本申請(qǐng)一個(gè)方面的一種記錄用戶(hù)在web系統(tǒng)中的操作日志的方法流程圖;

圖2示出根據(jù)本申請(qǐng)一個(gè)優(yōu)選實(shí)施例的一種記錄用戶(hù)在web系統(tǒng)中的操作日志的方法流程圖;

圖3示出根據(jù)本申請(qǐng)另一個(gè)方面的一種記錄用戶(hù)在web系統(tǒng)中的操作日志的設(shè)備示意圖;

圖4示出根據(jù)本申請(qǐng)一個(gè)優(yōu)選實(shí)施例的一種記錄用戶(hù)在web系統(tǒng)中的操作日志的設(shè)備示意圖。

附圖中相同或相似的附圖標(biāo)記代表相同或相似的部件。

具體實(shí)施方式

下面結(jié)合附圖對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)描述。

在本申請(qǐng)一個(gè)典型的配置中,終端、服務(wù)網(wǎng)絡(luò)的設(shè)備和可信方均包括 一個(gè)或多個(gè)處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。

內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(RAM)和/或非易失性?xún)?nèi)存等形式,如只讀存儲(chǔ)器(ROM)或閃存(flashRAM)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。

計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來(lái)實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、其他類(lèi)型的隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤(pán)只讀存儲(chǔ)器(CD-ROM)、數(shù)字多功能光盤(pán)(DVD)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁盤(pán)存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪(fǎng)問(wèn)的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括非暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號(hào)和載波。

圖1示出根據(jù)本申請(qǐng)一個(gè)方面的一種記錄用戶(hù)在web系統(tǒng)中的操作日志的方法流程圖。

該方法包括步驟S11、步驟S12和步驟S13。具體地,在步驟S11中,設(shè)備1在用戶(hù)登錄攔截模塊的過(guò)程中獲取對(duì)應(yīng)的用戶(hù)信息;在步驟S12中,設(shè)備1通過(guò)所述攔截模塊獲取所述用戶(hù)登錄后在web系統(tǒng)中的操作信息;在步驟S13中,設(shè)備1根據(jù)所述操作信息、所述用戶(hù)信息以及所述操作信息對(duì)應(yīng)的時(shí)間信息生成對(duì)應(yīng)的用戶(hù)操作日志。

在此,所述設(shè)備1包括但不限于用戶(hù)設(shè)備、網(wǎng)絡(luò)設(shè)備、或用戶(hù)設(shè)備與網(wǎng)絡(luò)設(shè)備通過(guò)網(wǎng)絡(luò)相集成所構(gòu)成的設(shè)備。所述用戶(hù)設(shè)備其包括但不限于任何一種可與用戶(hù)通過(guò)觸摸板進(jìn)行人機(jī)交互的移動(dòng)電子產(chǎn)品,例如智能手機(jī)、平板電腦等,所述移動(dòng)電子產(chǎn)品可以采用任意操作系統(tǒng),如android操作系統(tǒng)、iOS操作系統(tǒng)等。其中,所述網(wǎng)絡(luò)設(shè)備包括一種能夠按照事先設(shè)定或存儲(chǔ)的指令,自動(dòng)進(jìn)行數(shù)值計(jì)算和信息處理的電子設(shè)備,其硬件包括但不限于微處理器、專(zhuān)用集成電路(ASIC)、可編程門(mén)陣列(FPGA)、數(shù)字處理器(DSP)、嵌入式 設(shè)備等。所述網(wǎng)絡(luò)設(shè)備其包括但不限于計(jì)算機(jī)、網(wǎng)絡(luò)主機(jī)、單個(gè)網(wǎng)絡(luò)服務(wù)器、多個(gè)網(wǎng)絡(luò)服務(wù)器集或多個(gè)服務(wù)器構(gòu)成的云;在此,云由基于云計(jì)算(Cloud Computing)的大量計(jì)算機(jī)或網(wǎng)絡(luò)服務(wù)器構(gòu)成,其中,云計(jì)算是分布式計(jì)算的一種,由一群松散耦合的計(jì)算機(jī)集組成的一個(gè)虛擬超級(jí)計(jì)算機(jī)。所述網(wǎng)絡(luò)包括但不限于互聯(lián)網(wǎng)、廣域網(wǎng)、城域網(wǎng)、局域網(wǎng)、VPN網(wǎng)絡(luò)、無(wú)線(xiàn)自組織網(wǎng)絡(luò)(Ad Hoc網(wǎng)絡(luò))等。優(yōu)選地,設(shè)備1還可以是運(yùn)行于所述用戶(hù)設(shè)備、網(wǎng)絡(luò)設(shè)備、或用戶(hù)設(shè)備與網(wǎng)絡(luò)設(shè)備、網(wǎng)絡(luò)設(shè)備、觸摸終端或網(wǎng)絡(luò)設(shè)備與觸摸終端通過(guò)網(wǎng)絡(luò)相集成所構(gòu)成的設(shè)備上的腳本程序。當(dāng)然,本領(lǐng)域技術(shù)人員應(yīng)能理解上述設(shè)備1僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的設(shè)備1如可適用于本申請(qǐng),也應(yīng)包含在本申請(qǐng)保護(hù)范圍以?xún)?nèi),并在此以引用方式包含于此。

設(shè)備1的各個(gè)步驟之間是持續(xù)不斷工作的。具體地,在步驟S11中,設(shè)備1持續(xù)在用戶(hù)登錄攔截模塊的過(guò)程中獲取對(duì)應(yīng)的用戶(hù)信息;在步驟S12中,設(shè)備1持續(xù)通過(guò)所述攔截模塊獲取所述用戶(hù)登錄后在web系統(tǒng)中的操作信息;在步驟S13中,設(shè)備1持續(xù)根據(jù)所述操作信息、所述用戶(hù)信息以及所述操作信息對(duì)應(yīng)的時(shí)間信息生成對(duì)應(yīng)的用戶(hù)操作日志;直至所述設(shè)備1停止工作。

在步驟S11中,設(shè)備1在用戶(hù)登錄攔截模塊的過(guò)程中獲取對(duì)應(yīng)的用戶(hù)信息。

在此,所述用戶(hù)信息包括用戶(hù)對(duì)應(yīng)的賬號(hào)信息和密碼信息。在用戶(hù)進(jìn)行登錄操作的過(guò)程中,通過(guò)所述攔截模塊獲取用戶(hù)輸入的所述用戶(hù)信息。

優(yōu)選地,在步驟S11中,設(shè)備1在用戶(hù)登錄攔截模塊的過(guò)程中,獲取對(duì)應(yīng)的用戶(hù)信息,并將所述用戶(hù)信息存儲(chǔ)于所述攔截模塊對(duì)應(yīng)的線(xiàn)程局部變量。

在具體的實(shí)施例中,所述web系統(tǒng)基于MVC(Model View Controller,模型-視圖-控制器)框架,在此,利用基于MVC框架開(kāi)發(fā)的攔截機(jī)制。在用戶(hù)登錄的過(guò)程中,獲取所述用戶(hù)信息后,將其存儲(chǔ)于線(xiàn)程局部變量(ThreadLocal),那么該線(xiàn)程中的所有方法都能從中獲取所述用戶(hù)信息。

在步驟S12中,設(shè)備1通過(guò)所述攔截模塊獲取所述用戶(hù)登錄后在web系統(tǒng)中的操作信息。

在此,用戶(hù)登錄后在web系統(tǒng)中進(jìn)行的各類(lèi)操作,例如修改個(gè)人資料、 搜索關(guān)鍵詞等。根據(jù)用戶(hù)操作會(huì)調(diào)用相關(guān)程序,通過(guò)所述攔截模塊獲取所述操作信息。

具體地,所述操作信息包括以下至少任一項(xiàng):所述用戶(hù)在所述web系統(tǒng)中所調(diào)用應(yīng)用的應(yīng)用信息;所述用戶(hù)在所述web系統(tǒng)中調(diào)用應(yīng)用時(shí)的調(diào)用參數(shù)信息;所述用戶(hù)在所述web系統(tǒng)中調(diào)用應(yīng)用時(shí)的返回結(jié)果信息;所述用戶(hù)在所述web系統(tǒng)中調(diào)用應(yīng)用時(shí)的調(diào)用錯(cuò)誤信息。

例如,所述操作信息可以包括用戶(hù)操作所調(diào)用的相關(guān)程序的運(yùn)行狀態(tài)的相關(guān)信息。所述用戶(hù)在所述web系統(tǒng)中所調(diào)用應(yīng)用的應(yīng)用信息包括用戶(hù)操作所調(diào)用的相關(guān)程序中的類(lèi)、方法等。所調(diào)用的相關(guān)程序中的方法帶有參數(shù)。用戶(hù)的某一次的請(qǐng)求由某個(gè)類(lèi)的某個(gè)方法執(zhí)行,并在執(zhí)行后返回結(jié)果和/或錯(cuò)誤信息。即,所述操作信息可以包括:用戶(hù)操作所調(diào)用的相關(guān)程序中的類(lèi)、方法;用戶(hù)操作所調(diào)用的相關(guān)程序中的方法所帶有的參數(shù);由用戶(hù)操作所調(diào)用的相關(guān)程序中的方法執(zhí)行后返回的結(jié)果和/或錯(cuò)誤信息。

在步驟S13中,設(shè)備1根據(jù)所述操作信息、所述用戶(hù)信息以及所述操作信息對(duì)應(yīng)的時(shí)間信息生成對(duì)應(yīng)的用戶(hù)操作日志。

在此,所述用戶(hù)信息為所述操作信息對(duì)應(yīng)的用戶(hù)信息。所述操作信息對(duì)應(yīng)的時(shí)間信息包括用戶(hù)執(zhí)行操作的時(shí)間。

具體地,在步驟S13中,設(shè)備1序列化所述操作信息及所述用戶(hù)信息;將所述操作信息對(duì)應(yīng)的時(shí)間信息通過(guò)添加時(shí)間戳的方式與序列化的所述操作信息及所述用戶(hù)信息相關(guān)聯(lián),以獲得對(duì)應(yīng)的用戶(hù)操作日志。

在具體的實(shí)施例中,先將所述操作信息及所述用戶(hù)信息序列化,再為序列化的所述操作信息及所述用戶(hù)信息添加時(shí)間戳后存入對(duì)應(yīng)的用戶(hù)操作日志。優(yōu)選地,所述時(shí)間戳獨(dú)立于序列化的所述操作信息及所述用戶(hù)信息,以方便后續(xù)將時(shí)間信息作為主要檢索字段對(duì)用戶(hù)操作日志進(jìn)行檢索。

優(yōu)選地,所述序列化的所述操作信息及所述用戶(hù)信息基于JSON格式。

在此,JSON(JavaScript Object Notation,JavaScript對(duì)象表示法)是一種輕量級(jí)的數(shù)據(jù)交換格式。優(yōu)選地,將所述操作信息及所述用戶(hù)信息以JSON格式序列化。

當(dāng)然,也可以采用XML(可擴(kuò)展標(biāo)記語(yǔ)言)等其他數(shù)據(jù)交換格式,本領(lǐng) 域技術(shù)人員應(yīng)能理解上述數(shù)據(jù)交換格式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的數(shù)據(jù)交換格式如可適用于本申請(qǐng),也應(yīng)包含在本申請(qǐng)保護(hù)范圍以?xún)?nèi),并在此以引用方式包含于此。

圖2示出根據(jù)本申請(qǐng)一個(gè)優(yōu)選實(shí)施例的一種記錄用戶(hù)在web系統(tǒng)中的操作日志的方法流程圖。

該方法包括步驟S21、步驟S22、步驟S23和步驟S24。在此,步驟S21、步驟S23與圖1中步驟S11、步驟S13的內(nèi)容相同或基本相同,為簡(jiǎn)明起見(jiàn),不再贅述。

具體地,所述web系統(tǒng)基于MVC框架;在步驟S24中,設(shè)備1通過(guò)所述web系統(tǒng)基于MVC框架的控制器配置所述攔截模塊的切面;在步驟S22中,設(shè)備1通過(guò)配置后的所述攔截模塊獲取所述用戶(hù)登錄后在所述web系統(tǒng)中的操作信息。

在具體的實(shí)施例中,所述控制器是MVC(Model View Controller,模型-視圖-控制器)框架中的控制器(Controller),通常負(fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶(hù)輸入,并向模型發(fā)送數(shù)據(jù)。在此,應(yīng)用了AOP(Aspect-OrientedProgramming,面向切面編程)技術(shù),所述配置后的攔截模塊可以包括AOP攔截器,在控制器上設(shè)置AOP攔截器以獲取所述操作信息。

例如,可以通過(guò)如下代碼配置bean和pointcut確定實(shí)施切面的位置。

例如,下面是典型的切面代碼實(shí)現(xiàn)。

圖3示出根據(jù)本申請(qǐng)另一個(gè)方面的一種記錄用戶(hù)在web系統(tǒng)中的操作日志的設(shè)備1,其中,設(shè)備1包括用戶(hù)信息獲取裝置11、操作信息獲取裝置12和操作日志生成裝置13。

具體地,所述用戶(hù)信息獲取裝置11在用戶(hù)登錄攔截模塊的過(guò)程中獲取對(duì) 應(yīng)的用戶(hù)信息;所述操作信息獲取裝置12通過(guò)所述攔截模塊獲取所述用戶(hù)登錄后在web系統(tǒng)中的操作信息;所述操作日志生成裝置13根據(jù)所述操作信息、所述用戶(hù)信息以及所述操作信息對(duì)應(yīng)的時(shí)間信息生成對(duì)應(yīng)的用戶(hù)操作日志。

在此,所述設(shè)備1包括但不限于用戶(hù)設(shè)備、網(wǎng)絡(luò)設(shè)備、或用戶(hù)設(shè)備與網(wǎng)絡(luò)設(shè)備通過(guò)網(wǎng)絡(luò)相集成所構(gòu)成的設(shè)備。所述用戶(hù)設(shè)備其包括但不限于任何一種可與用戶(hù)通過(guò)觸摸板進(jìn)行人機(jī)交互的移動(dòng)電子產(chǎn)品,例如智能手機(jī)、平板電腦等,所述移動(dòng)電子產(chǎn)品可以采用任意操作系統(tǒng),如android操作系統(tǒng)、iOS操作系統(tǒng)等。其中,所述網(wǎng)絡(luò)設(shè)備包括一種能夠按照事先設(shè)定或存儲(chǔ)的指令,自動(dòng)進(jìn)行數(shù)值計(jì)算和信息處理的電子設(shè)備,其硬件包括但不限于微處理器、專(zhuān)用集成電路(ASIC)、可編程門(mén)陣列(FPGA)、數(shù)字處理器(DSP)、嵌入式設(shè)備等。所述網(wǎng)絡(luò)設(shè)備其包括但不限于計(jì)算機(jī)、網(wǎng)絡(luò)主機(jī)、單個(gè)網(wǎng)絡(luò)服務(wù)器、多個(gè)網(wǎng)絡(luò)服務(wù)器集或多個(gè)服務(wù)器構(gòu)成的云;在此,云由基于云計(jì)算(Cloud Computing)的大量計(jì)算機(jī)或網(wǎng)絡(luò)服務(wù)器構(gòu)成,其中,云計(jì)算是分布式計(jì)算的一種,由一群松散耦合的計(jì)算機(jī)集組成的一個(gè)虛擬超級(jí)計(jì)算機(jī)。所述網(wǎng)絡(luò)包括但不限于互聯(lián)網(wǎng)、廣域網(wǎng)、城域網(wǎng)、局域網(wǎng)、VPN網(wǎng)絡(luò)、無(wú)線(xiàn)自組織網(wǎng)絡(luò)(Ad Hoc網(wǎng)絡(luò))等。優(yōu)選地,設(shè)備1還可以是運(yùn)行于所述用戶(hù)設(shè)備、網(wǎng)絡(luò)設(shè)備、或用戶(hù)設(shè)備與網(wǎng)絡(luò)設(shè)備、網(wǎng)絡(luò)設(shè)備、觸摸終端或網(wǎng)絡(luò)設(shè)備與觸摸終端通過(guò)網(wǎng)絡(luò)相集成所構(gòu)成的設(shè)備上的腳本程序。當(dāng)然,本領(lǐng)域技術(shù)人員應(yīng)能理解上述設(shè)備1僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的設(shè)備1如可適用于本申請(qǐng),也應(yīng)包含在本申請(qǐng)保護(hù)范圍以?xún)?nèi),并在此以引用方式包含于此。

上述各裝置之間是持續(xù)不斷工作的,在此,本領(lǐng)域技術(shù)人員應(yīng)理解“持續(xù)”是指上述各裝置分別實(shí)時(shí)地或者按照設(shè)定的或?qū)崟r(shí)調(diào)整的工作模式要求,例如所述用戶(hù)信息獲取裝置11持續(xù)在用戶(hù)登錄攔截模塊的過(guò)程中獲取對(duì)應(yīng)的用戶(hù)信息;所述操作信息獲取裝置12持續(xù)通過(guò)所述攔截模塊獲取所述用戶(hù)登錄后在web系統(tǒng)中的操作信息;所述操作日志生成裝置13持續(xù)根據(jù)所述操作信息、所述用戶(hù)信息以及所述操作信息對(duì)應(yīng)的時(shí)間信息生成對(duì)應(yīng)的用戶(hù)操作日志;直至所述設(shè)備1停止工作。

所述用戶(hù)信息獲取裝置11在用戶(hù)登錄攔截模塊的過(guò)程中獲取對(duì)應(yīng)的用戶(hù)信息。

在此,所述用戶(hù)信息包括用戶(hù)對(duì)應(yīng)的賬號(hào)信息和密碼信息。在用戶(hù)進(jìn)行登錄操作的過(guò)程中,通過(guò)所述攔截模塊獲取用戶(hù)輸入的所述用戶(hù)信息。

優(yōu)選地,所述用戶(hù)信息獲取裝置11在用戶(hù)登錄攔截模塊的過(guò)程中,獲取對(duì)應(yīng)的用戶(hù)信息,并將所述用戶(hù)信息存儲(chǔ)于所述攔截模塊對(duì)應(yīng)的線(xiàn)程局部變量。

在具體的實(shí)施例中,所述web系統(tǒng)基于MVC(Model View Controller,模型-視圖-控制器)框架,在此,利用基于MVC框架開(kāi)發(fā)的攔截機(jī)制。在用戶(hù)登錄的過(guò)程中,獲取所述用戶(hù)信息后,將其存儲(chǔ)于線(xiàn)程局部變量(ThreadLocal),那么該線(xiàn)程中的所有方法都能從中獲取所述用戶(hù)信息。

所述操作信息獲取裝置12通過(guò)所述攔截模塊獲取所述用戶(hù)登錄后在web系統(tǒng)中的操作信息。

在此,用戶(hù)登錄后在web系統(tǒng)中進(jìn)行的各類(lèi)操作,例如修改個(gè)人資料、搜索關(guān)鍵詞等。根據(jù)用戶(hù)操作會(huì)調(diào)用相關(guān)程序,通過(guò)所述攔截模塊獲取所述操作信息。

具體地,所述操作信息包括以下至少任一項(xiàng):所述用戶(hù)在所述web系統(tǒng)中所調(diào)用應(yīng)用的應(yīng)用信息;所述用戶(hù)在所述web系統(tǒng)中調(diào)用應(yīng)用時(shí)的調(diào)用參數(shù)信息;所述用戶(hù)在所述web系統(tǒng)中調(diào)用應(yīng)用時(shí)的返回結(jié)果信息;所述用戶(hù)在所述web系統(tǒng)中調(diào)用應(yīng)用時(shí)的調(diào)用錯(cuò)誤信息。

例如,所述操作信息可以包括用戶(hù)操作所調(diào)用的相關(guān)程序的運(yùn)行狀態(tài)的相關(guān)信息。所述用戶(hù)在所述web系統(tǒng)中所調(diào)用應(yīng)用的應(yīng)用信息包括用戶(hù)操作所調(diào)用的相關(guān)程序中的類(lèi)、方法等。所調(diào)用的相關(guān)程序中的方法帶有參數(shù)。用戶(hù)的某一次的請(qǐng)求由某個(gè)類(lèi)的某個(gè)方法執(zhí)行,并在執(zhí)行后返回結(jié)果和/或錯(cuò)誤信息。即,所述操作信息可以包括:用戶(hù)操作所調(diào)用的相關(guān)程序中的類(lèi)、方法;用戶(hù)操作所調(diào)用的相關(guān)程序中的方法所帶有的參數(shù);由用戶(hù)操作所調(diào)用的相關(guān)程序中的方法執(zhí)行后返回的結(jié)果和/或錯(cuò)誤信息。

所述操作日志生成裝置13根據(jù)所述操作信息、所述用戶(hù)信息以及所述操作信息對(duì)應(yīng)的時(shí)間信息生成對(duì)應(yīng)的用戶(hù)操作日志。

在此,所述用戶(hù)信息為所述操作信息對(duì)應(yīng)的用戶(hù)信息。所述操作信息對(duì)應(yīng)的時(shí)間信息包括用戶(hù)執(zhí)行操作的時(shí)間。

具體地,所述操作日志生成裝置13序列化所述操作信息及所述用戶(hù)信息;將所述操作信息對(duì)應(yīng)的時(shí)間信息通過(guò)添加時(shí)間戳的方式與序列化的所述操作信息及所述用戶(hù)信息相關(guān)聯(lián),以獲得對(duì)應(yīng)的用戶(hù)操作日志。

在具體的實(shí)施例中,先將所述操作信息及所述用戶(hù)信息序列化,再為序列化的所述操作信息及所述用戶(hù)信息添加時(shí)間戳后存入對(duì)應(yīng)的用戶(hù)操作日志。優(yōu)選地,所述時(shí)間戳獨(dú)立于序列化的所述操作信息及所述用戶(hù)信息,以方便后續(xù)將時(shí)間信息作為主要檢索字段對(duì)用戶(hù)操作日志進(jìn)行檢索。

優(yōu)選地,所述序列化的所述操作信息及所述用戶(hù)信息基于JSON格式。

在此,JSON(JavaScript Object Notation,JavaScript對(duì)象表示法)是一種輕量級(jí)的數(shù)據(jù)交換格式。優(yōu)選地,將所述操作信息及所述用戶(hù)信息以JSON格式序列化。

當(dāng)然,也可以采用XML(可擴(kuò)展標(biāo)記語(yǔ)言)等其他數(shù)據(jù)交換格式,本領(lǐng)域技術(shù)人員應(yīng)能理解上述數(shù)據(jù)交換格式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的數(shù)據(jù)交換格式如可適用于本申請(qǐng),也應(yīng)包含在本申請(qǐng)保護(hù)范圍以?xún)?nèi),并在此以引用方式包含于此。

圖4示出根據(jù)本申請(qǐng)一個(gè)優(yōu)選實(shí)施例的一種記錄用戶(hù)在web系統(tǒng)中的操作日志的設(shè)備1,其中,設(shè)備1包括用戶(hù)信息獲取裝置11’、操作信息獲取裝置12’、操作日志生成裝置13’和配置裝置14’。

在此,所述用戶(hù)信息獲取裝置11’、操作日志生成裝置13’與圖3中用戶(hù)信息獲取裝置11、操作日志生成裝置13的內(nèi)容相同或基本相同,為簡(jiǎn)明起見(jiàn),不再贅述。

具體地,所述web系統(tǒng)基于MVC框架;配置裝置14’通過(guò)所述web系統(tǒng)基于MVC框架的控制器配置所述攔截模塊的切面;所述操作信息獲取裝置12’通過(guò)配置后的所述攔截模塊獲取所述用戶(hù)登錄后在所述web系統(tǒng)中的操作信息。

在具體的實(shí)施例中,所述控制器是MVC(Model View Controller,模型-視圖-控制器)框架中的控制器(Controller),通常負(fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶(hù)輸入,并向模型發(fā)送數(shù)據(jù)。在此,應(yīng)用了AOP(Aspect-Oriented Programming,面向切面編程)技術(shù),所述配置后的攔截模塊可以包括AOP 攔截器,在控制器上設(shè)置AOP攔截器以獲取所述操作信息。

例如,可以通過(guò)如下代碼配置bean和pointcut確定實(shí)施切面的位置。

例如,下面是典型的切面代碼實(shí)現(xiàn)。

與現(xiàn)有技術(shù)相比,本申請(qǐng)?jiān)谟脩?hù)登錄攔截模塊的過(guò)程中獲取對(duì)應(yīng)的用戶(hù)信息,通過(guò)所述攔截模塊獲取用戶(hù)登錄后在web系統(tǒng)中的操作信息,然后根據(jù)所述操作信息、所述用戶(hù)信息以及所述操作信息對(duì)應(yīng)的時(shí)間信息生成對(duì)應(yīng)的用戶(hù)操作日志;本申請(qǐng)通過(guò)AOP技術(shù)記錄所述操作信息,其中,所述操作信息包括用戶(hù)操作所調(diào)用的相關(guān)程序的運(yùn)行狀態(tài)的相關(guān)信息,避免了日志代碼入侵業(yè)務(wù)代碼的情況,通用性強(qiáng)且易于維護(hù)。進(jìn)一步地,本申請(qǐng)將所述操作信息對(duì)應(yīng)的時(shí)間信息通過(guò)添加時(shí)間戳的方式與序列化的所述操作信息及所述用戶(hù)信息相關(guān)聯(lián),為檢索用戶(hù)操作日志提供了方便。

顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本申請(qǐng)進(jìn)行各種改動(dòng)和變型而不脫離本申請(qǐng)的精神和范圍。這樣,倘若本申請(qǐng)的這些修改和變型屬于本申請(qǐng)權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請(qǐng)也意圖包含這些改動(dòng)和變型在內(nèi)。

需要注意的是,本申請(qǐng)可在軟件和/或軟件與硬件的組合體中被實(shí)施,例如,可采用專(zhuān)用集成電路(ASIC)、通用目的計(jì)算機(jī)或任何其他類(lèi)似硬件設(shè)備來(lái)實(shí)現(xiàn)。在一個(gè)實(shí)施例中,本申請(qǐng)的軟件程序可以通過(guò)處理器執(zhí)行以實(shí)現(xiàn)上文所述步驟或功能。同樣地,本申請(qǐng)的軟件程序(包括相關(guān)的數(shù)據(jù)結(jié)構(gòu))可以被存儲(chǔ)到計(jì)算機(jī)可讀記錄介質(zhì)中,例如,RAM存儲(chǔ)器,磁或光驅(qū)動(dòng)器或軟磁盤(pán)及類(lèi)似設(shè)備。另外,本申請(qǐng)的一些步驟或功能可采用硬件來(lái)實(shí)現(xiàn),例如,作為與處理器配合從而執(zhí)行各個(gè)步驟或功能的電路。

另外,本申請(qǐng)的一部分可被應(yīng)用為計(jì)算機(jī)程序產(chǎn)品,例如計(jì)算機(jī)程序 指令,當(dāng)其被計(jì)算機(jī)執(zhí)行時(shí),通過(guò)該計(jì)算機(jī)的操作,可以調(diào)用或提供根據(jù)本申請(qǐng)的方法和/或技術(shù)方案。而調(diào)用本申請(qǐng)的方法的程序指令,可能被存儲(chǔ)在固定的或可移動(dòng)的記錄介質(zhì)中,和/或通過(guò)廣播或其他信號(hào)承載媒體中的數(shù)據(jù)流而被傳輸,和/或被存儲(chǔ)在根據(jù)所述程序指令運(yùn)行的計(jì)算機(jī)設(shè)備的工作存儲(chǔ)器中。在此,根據(jù)本申請(qǐng)的一個(gè)實(shí)施例包括一個(gè)裝置,該裝置包括用于存儲(chǔ)計(jì)算機(jī)程序指令的存儲(chǔ)器和用于執(zhí)行程序指令的處理器,其中,當(dāng)該計(jì)算機(jī)程序指令被該處理器執(zhí)行時(shí),觸發(fā)該裝置運(yùn)行基于前述根據(jù)本申請(qǐng)的多個(gè)實(shí)施例的方法和/或技術(shù)方案。

對(duì)于本領(lǐng)域技術(shù)人員而言,顯然本申請(qǐng)不限于上述示范性實(shí)施例的細(xì)節(jié),而且在不背離本申請(qǐng)的精神或基本特征的情況下,能夠以其他的具體形式實(shí)現(xiàn)本申請(qǐng)。因此,無(wú)論從哪一點(diǎn)來(lái)看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本申請(qǐng)的范圍由所附權(quán)利要求而不是上述說(shuō)明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化涵括在本申請(qǐng)內(nèi)。不應(yīng)將權(quán)利要求中的任何附圖標(biāo)記視為限制所涉及的權(quán)利要求。此外,顯然“包括”一詞不排除其他單元或步驟,單數(shù)不排除復(fù)數(shù)。裝置權(quán)利要求中陳述的多個(gè)單元或裝置也可以由一個(gè)單元或裝置通過(guò)軟件或者硬件來(lái)實(shí)現(xiàn)。第一,第二等詞語(yǔ)用來(lái)表示名稱(chēng),而并不表示任何特定的順序。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
南乐县| 兰西县| 大兴区| 苏尼特左旗| 温宿县| 宜城市| 莲花县| 罗江县| 库伦旗| 称多县| 交口县| 湘西| 兴文县| 吉安县| 山西省| 城口县| 河北区| 岳西县| 兴宁市| 五指山市| 酉阳| 即墨市| 柳江县| 浦北县| 岫岩| 宁南县| 康定县| 博爱县| 星座| 化州市| 巴彦县| 龙州县| 龙游县| 那曲县| 阿巴嘎旗| 富顺县| 泰宁县| 肥城市| 鱼台县| 鹰潭市| 温泉县|