本發(fā)明涉及監(jiān)測領(lǐng)域,具體涉及一種監(jiān)測應(yīng)用在線時(shí)長的方法及服務(wù)器。
背景技術(shù):
隨著互聯(lián)網(wǎng)的快速發(fā)展,基于互聯(lián)網(wǎng)的應(yīng)用越來越多,通過客戶端可以使用各種應(yīng)用,從而豐富了用戶的業(yè)余生活。
目前,監(jiān)測應(yīng)用在線時(shí)長一般是通過應(yīng)用客戶端與服務(wù)器之間的定時(shí)心跳包來實(shí)現(xiàn),其中,心跳包表示玩家在線時(shí)定時(shí)觸發(fā)的以證明活躍的消息,一般心跳事件停止表示玩家登出業(yè)務(wù)系統(tǒng)。應(yīng)用客戶端定時(shí)向服務(wù)器發(fā)送心跳包,該心跳包用于指示該應(yīng)用處于在線狀態(tài),服務(wù)器通過接收應(yīng)用客戶端發(fā)送的心跳包來監(jiān)測應(yīng)用客戶端上所登錄的應(yīng)用的在線時(shí)長。
由于需要應(yīng)用客戶端接入服務(wù)器,才能定時(shí)不斷地向服務(wù)器發(fā)送心跳包,服務(wù)器同樣也得接收該心跳包,消耗太多的網(wǎng)絡(luò)資源,同時(shí)服務(wù)器上不可能接入太多的應(yīng)用客戶端,存在一定的局限性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種監(jiān)測應(yīng)用在線時(shí)長的方法及服務(wù)器,用于解決現(xiàn)有監(jiān)測應(yīng)用在線時(shí)長時(shí)消耗網(wǎng)絡(luò)資源多以及客戶端接入服務(wù)器存在局限性的問題。
本發(fā)明第一方面提供一種監(jiān)測應(yīng)用在線時(shí)長的方法,包括:
從事件日志表中獲取第一時(shí)間上對應(yīng)的第一客戶端上目標(biāo)應(yīng)用的事件狀態(tài),其中,在所述事件日志表中服務(wù)器按照事件發(fā)生的時(shí)間順序記錄每個客戶端上所述目標(biāo)應(yīng)用的事件狀態(tài),所述事件狀態(tài)包括登錄狀態(tài)和/或登出狀態(tài);
根據(jù)第一客戶端上所述目標(biāo)應(yīng)用的登錄狀態(tài)和/或登出狀態(tài)判斷是否需要監(jiān)測所述第一客戶端上所述目標(biāo)應(yīng)用的在線時(shí)長;
若是,從所述事件日志表中獲取上一次監(jiān)測所述第一客戶端上所述目標(biāo)應(yīng)用的第二時(shí)間;
將所述第一時(shí)間和所述第二時(shí)間的絕對差值確定為所述第一客戶端上所述目標(biāo)應(yīng)用的第一在線時(shí)長。
本發(fā)明第二方面提供一種服務(wù)器,包括:
獲取模塊,用于從事件日志表中獲取第一時(shí)間上對應(yīng)的第一客戶端上目標(biāo)應(yīng)用的事件狀態(tài),其中,在所述事件日志表中服務(wù)器按照事件發(fā)生的時(shí)間順序記錄每個客戶端上所述目標(biāo)應(yīng)用的事件狀態(tài),所述事件狀態(tài)包括登錄狀態(tài)和/或登出狀態(tài);
判斷模塊,用于根據(jù)第一客戶端上所述目標(biāo)應(yīng)用的登錄狀態(tài)和/或登出狀態(tài)判斷是否需要監(jiān)測所述第一客戶端上所述目標(biāo)應(yīng)用的在線時(shí)長;
所述獲取模塊,還用于若需要監(jiān)測所述第一客戶端上所述目標(biāo)應(yīng)用的在線時(shí)長,從所述事件日志表中獲取上一次監(jiān)測所述第一客戶端上所述目標(biāo)應(yīng)用的第二時(shí)間;
確定模塊,用于將所述第一時(shí)間和所述第二時(shí)間的絕對差值確定為所述第一客戶端上所述目標(biāo)應(yīng)用的第一在線時(shí)長。
從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):
服務(wù)器從事件日志表中獲取第一時(shí)間上對應(yīng)的第一客戶端上目標(biāo)應(yīng)用的事件狀態(tài),其中,在事件日志表中按照事件發(fā)生的時(shí)間順序記錄每個客戶端上目標(biāo)應(yīng)用的事件狀態(tài),該事件狀態(tài)包括登錄狀態(tài)和/或登出狀態(tài),若服務(wù)器根據(jù)該第一客戶端上目標(biāo)應(yīng)用的登錄狀態(tài)和/或登出狀態(tài)確定需要監(jiān)測該第一客戶端上該目標(biāo)應(yīng)用的在線時(shí)長,則從所述事件日志表中獲取上一次監(jiān)測第一客戶端上該目標(biāo)應(yīng)用的第二時(shí)間,直接將第一時(shí)間和第二時(shí)間的絕對差值確定為第一客戶端上該目標(biāo)應(yīng)用的第一在線時(shí)長,無需服務(wù)器定時(shí)接收第一客戶端發(fā)送的心跳包,減少網(wǎng)絡(luò)資源的消耗,同時(shí)無需每個客戶端都接入服務(wù)器,不存在客戶端接入服務(wù)器的局限性的問題,只需服務(wù)器記錄該第一客戶端上目標(biāo)應(yīng)用的登錄狀態(tài)和/或登出狀態(tài),簡單便捷,從而有效提高監(jiān)測應(yīng)用在線時(shí)長的效率。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例中系統(tǒng)架構(gòu)的一個結(jié)構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例中服務(wù)器的一個結(jié)構(gòu)示意圖;
圖3為本發(fā)明實(shí)施例中監(jiān)測應(yīng)用在線時(shí)長的一個實(shí)施例示意圖;
圖4為本發(fā)明實(shí)施例中監(jiān)測應(yīng)用在線時(shí)長的另一個實(shí)施例示意圖;
圖5為本發(fā)明實(shí)施例中監(jiān)測應(yīng)用在線時(shí)長的另一個實(shí)施例示意圖;
圖6為本發(fā)明實(shí)施例中監(jiān)測應(yīng)用在線時(shí)長的另一個實(shí)施例示意圖;
圖7為本發(fā)明實(shí)施例中監(jiān)測應(yīng)用在線時(shí)長的另一個實(shí)施例示意圖;
圖8a為本發(fā)明實(shí)施例中監(jiān)測應(yīng)用在線時(shí)長的一個場景示意圖;
圖8b為本發(fā)明實(shí)施例中監(jiān)測應(yīng)用在線時(shí)長的另一個場景示意圖;
圖9為本發(fā)明實(shí)施例中服務(wù)器的另一個結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例提供了一種監(jiān)測應(yīng)用在線時(shí)長的方法及服務(wù)器,用于解決現(xiàn)有監(jiān)測應(yīng)用在線時(shí)長時(shí)消耗網(wǎng)絡(luò)資源多以及客戶端接入服務(wù)器存在局限性的問題。
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”、“第三”、“第四”等(如果存在)是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的實(shí)施例能夠以除了在這里圖示或描述的內(nèi)容以外的順序?qū)嵤4送?,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
在介紹本發(fā)明實(shí)施例之前,先介紹本發(fā)明涉及的系統(tǒng)架構(gòu),如圖1所示,該系統(tǒng)架構(gòu)包括服務(wù)器和多個客戶端,多個客戶端與該服務(wù)器之間通信連接,該多個客戶端可以是任何終端設(shè)備,可以包括手機(jī),筆記本,電腦,個人數(shù)字助理(英文:Personal Digital Assistant,PDA)、車載電腦等任意終端設(shè)備,此處不做具體限定。終端的操作系統(tǒng)可以為Windows系列操作系統(tǒng)、Unix類操作系統(tǒng)、Linux類操作系統(tǒng)、Mac操作系統(tǒng)等,此處不做具體限定。
每一個客戶端預(yù)登錄目標(biāo)應(yīng)用的時(shí)候,都會向服務(wù)器發(fā)送登錄請求信息,當(dāng)客戶端確認(rèn)授權(quán)登錄后,則向客戶端發(fā)送登錄確認(rèn)消息,客戶端得以登錄目標(biāo)應(yīng)用。當(dāng)客戶端登出目標(biāo)應(yīng)用的時(shí)候,則服務(wù)器同樣也會收到登出狀態(tài)的通知。其中,該目標(biāo)應(yīng)用包括并不限于游戲應(yīng)用的各種應(yīng)用,例如:該游戲應(yīng)用為王者榮耀,英雄聯(lián)盟等。當(dāng)然,除了游戲應(yīng)用之外,還可以是其他娛樂應(yīng)用,學(xué)習(xí)應(yīng)用,社交應(yīng)用等,此處不做具體限定。
服務(wù)器會記錄每個客戶端的登錄(英文:login)狀態(tài)以及登出(英文:logout)狀態(tài),并將其統(tǒng)計(jì)到事件日志表中,其中,在事件日志表中,按照登錄狀態(tài)和登出狀態(tài)對應(yīng)的時(shí)間先后順序依次排列全部的事件,以及玩家信息等,則服務(wù)器選取目標(biāo)時(shí)間段內(nèi)的客戶端進(jìn)行監(jiān)測,并及時(shí)統(tǒng)計(jì)其剩余的在線時(shí)長,并針對開銷的在線時(shí)長及時(shí)進(jìn)行收費(fèi)或者扣費(fèi)行為。
如圖2所示,以手機(jī)為例,對終端的具體結(jié)構(gòu)進(jìn)行介紹,手機(jī)包括:射頻(英文:Radio Frequency,RF)電路110、存儲器120、輸入單元130、顯示單元140、處理器150等部件。本領(lǐng)域技術(shù)人員可以理解,圖2中示出的手機(jī)結(jié)構(gòu)并不構(gòu)成對手機(jī)的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
下面結(jié)合圖2對手機(jī)的各個構(gòu)成部件進(jìn)行具體的介紹:
RF電路110可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,通常,RF電路110包括但不限于天線、至少一個放大器、收發(fā)信機(jī)、耦合器、低噪聲放大器(英文:Low Noise Amplifier,LNA)、雙工器等。此外,RF電路110還可以通過無線通信與網(wǎng)絡(luò)和其他設(shè)備通信。上述無線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于全球移動通訊系統(tǒng)(英文:Global System of Mobile communication,GSM)、通用分組無線服務(wù)(英文:General Packet Radio Service,GPRS)、碼分多址(英文:Code Division Multiple Access,CDMA)、寬帶碼分多址(英文:Wideband Code Division Multiple Access,WCDMA)、長期演進(jìn)(英文:Long Term Evolution,LTE)、電子郵件、短消息服務(wù)(英文:Short Messaging Service,SMS)等。
存儲器120可用于存儲軟件程序以及模塊,處理器150通過運(yùn)行存儲在存儲器120的軟件程序以及模塊,從而執(zhí)行手機(jī)的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲器120可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)手機(jī)的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器120可以包括高速隨機(jī)存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。
輸入單元130可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與手機(jī)的用戶設(shè)置以及功能控制有關(guān)的鍵信號輸入。具體地,輸入單元130可包括觸控面板131以及其他輸入設(shè)備132。觸控面板131,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板131上或在觸控面板131附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動相應(yīng)的連接裝置。可選的,觸控面板131可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器150,并能接收處理器150發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實(shí)現(xiàn)觸控面板131。除了觸控面板131,輸入單元130還可以包括其他輸入設(shè)備132。具體地,其他輸入設(shè)備132可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
顯示單元140可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機(jī)的各種菜單。顯示單元140可包括顯示面板141,可選的,可以采用液晶顯示器(英文:Liquid Crystal Display,LCD)、有機(jī)發(fā)光二極管(英文:Organic Light-Emitting Diode,OLED)等形式來配置顯示面板141。進(jìn)一步的,觸控面板1131可覆蓋顯示面板141,當(dāng)觸控面板131檢測到在其上或附近的觸摸操作后,傳送給處理器150以確定觸摸事件的類型,隨后處理器150根據(jù)觸摸事件的類型在顯示面板141上提供相應(yīng)的視覺輸出。雖然在圖2中,觸控面板131與顯示面板141是作為兩個獨(dú)立的部件來實(shí)現(xiàn)手機(jī)的輸入和輸入功能。
處理器150是手機(jī)的控制中心,利用各種接口和線路連接整個手機(jī)的各個部分,通過運(yùn)行或執(zhí)行存儲在存儲器120內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲在存儲器120內(nèi)的數(shù)據(jù),執(zhí)行手機(jī)的各種功能和處理數(shù)據(jù),從而對手機(jī)進(jìn)行整體監(jiān)控??蛇x的,處理器150可包括一個或多個處理單元;優(yōu)選的,處理器150可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信??梢岳斫獾氖?,上述調(diào)制解調(diào)處理器也可以不集成到處理器150中。
盡管未示出,手機(jī)還可以包括攝像頭、藍(lán)牙模塊、傳感器、電源等,在此不再贅述。
在本發(fā)明實(shí)施例中,處理器150用于執(zhí)行如下步驟:
從事件日志表中獲取第一時(shí)間上對應(yīng)的第一客戶端上目標(biāo)應(yīng)用的事件狀態(tài),其中,在所述事件日志表中服務(wù)器按照事件發(fā)生的時(shí)間順序記錄每個客戶端上所述目標(biāo)應(yīng)用的事件狀態(tài),所述事件狀態(tài)包括登錄狀態(tài)和/或登出狀態(tài);
根據(jù)第一客戶端上所述目標(biāo)應(yīng)用的登錄狀態(tài)和/或登出狀態(tài)判斷是否需要監(jiān)測所述第一客戶端上所述目標(biāo)應(yīng)用的在線時(shí)長;
若是,從所述事件日志表中獲取上一次監(jiān)測所述第一客戶端上所述目標(biāo)應(yīng)用的第二時(shí)間;
將所述第一時(shí)間和所述第二時(shí)間的絕對差值確定為所述第一客戶端上所述目標(biāo)應(yīng)用的第一在線時(shí)長。
在一些可能的實(shí)現(xiàn)方式中,所述處理器150還用于將所述第一時(shí)間和所述第二時(shí)間的絕對差值確定為所述第一客戶端上所述目標(biāo)應(yīng)用的第一在線時(shí)長之后,獲取所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長;將所述總可用在線時(shí)長與所述第一在線時(shí)長的差值作為所述第一客戶端上所述目標(biāo)應(yīng)用的剩余可用在線時(shí)長,其中,所述剩余可用在線時(shí)長作為下一次所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長。
在一些可能的實(shí)現(xiàn)方式中,所述處理器150還用于將所述第一時(shí)間和所述第二時(shí)間的絕對差值確定為所述第一客戶端上所述目標(biāo)應(yīng)用的第一在線時(shí)長之后,若所述第一在線時(shí)長小于預(yù)設(shè)時(shí)長,將所述第一在線時(shí)長存儲在所述事件日志表中,以作為下一次所述第一客戶端上所述目標(biāo)應(yīng)用的累計(jì)在線時(shí)長;若所述第一在線時(shí)長不小于所述預(yù)設(shè)時(shí)長,獲取所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長,將所述總可用在線時(shí)長和所述第一在線時(shí)長的差值作為所述第一客戶端上所述目標(biāo)應(yīng)用的剩余可用在線時(shí)長,其中,所述剩余可用在線時(shí)長作為下一次所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長。
在一些可能的實(shí)現(xiàn)方式中,所述處理器150還用于將所述第一時(shí)間和所述第二時(shí)間的絕對差值確定為所述第一客戶端上所述目標(biāo)應(yīng)用的第一在線時(shí)長之后,若所述第一客戶端上所述目標(biāo)應(yīng)用存在累計(jì)在線時(shí)長,確定所述累計(jì)在線時(shí)長和所述第一在線時(shí)長的和值;獲取所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長;將所述總可用在線時(shí)長與所述和值的差值作為所述第一客戶端上所述目標(biāo)應(yīng)用的剩余可用在線時(shí)長,其中,所述剩余可用在線時(shí)長作為下一次所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長。
在一些可能的實(shí)現(xiàn)方式中,所述處理器150還用于將所述第一時(shí)間和所述第二時(shí)間的絕對差值確定為所述第一客戶端上所述目標(biāo)應(yīng)用的第一在線時(shí)長之后,若所述第一客戶端上所述目標(biāo)應(yīng)用存在累計(jì)在線時(shí)長,確定所述累計(jì)在線時(shí)長和所述第一在線時(shí)長的和值;若所述和值小于預(yù)設(shè)時(shí)長,將所述和值存儲在所述事件日志表中,以作為下一次所述第一客戶端上所述目標(biāo)應(yīng)用的累計(jì)在線時(shí)長;若所述和值不小于所述預(yù)設(shè)時(shí)長,獲取所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長,將所述總可用在線時(shí)長和所述第一在線時(shí)長的差值作為所述第一客戶端上所述目標(biāo)應(yīng)用的剩余可用在線時(shí)長,其中,所述剩余可用在線時(shí)長作為下一次所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長。
在一些可能的實(shí)現(xiàn)方式中,處理器150還用于若所述第一客戶端上所述目標(biāo)應(yīng)用處于登出狀態(tài),將所述第一客戶端從所述事件日志表的在線列表中刪除。
請參閱圖3,本發(fā)明實(shí)施例中監(jiān)測應(yīng)用在線時(shí)長的方法的一個實(shí)施例示意圖,該實(shí)施例的具體流程如下:
步驟301、從事件日志表中獲取第一時(shí)間上對應(yīng)的第一客戶端上目標(biāo)應(yīng)用的事件狀態(tài),其中,在所述事件日志表中服務(wù)器按照事件發(fā)生的時(shí)間順序記錄每個客戶端上所述目標(biāo)應(yīng)用的事件狀態(tài),所述事件狀態(tài)包括登錄狀態(tài)和/或登出狀態(tài)。
服務(wù)器將各個客戶端上目標(biāo)應(yīng)用的事件狀態(tài)按照事件發(fā)生的時(shí)間順序記錄到事件日志表中,并對應(yīng)記錄了每個客戶端上的用戶信息,例如:登錄該目標(biāo)應(yīng)用的用戶名,用戶級別等。其中,該目標(biāo)應(yīng)用包括但不限于游戲應(yīng)用的各種應(yīng)用,例如:QQ炫舞,連連看,王者榮耀等,當(dāng)然還可以是除游戲應(yīng)用以外的其他娛樂應(yīng)用,學(xué)習(xí)應(yīng)用,社交應(yīng)用等,此處不做具體限定。
該事件狀態(tài)包括登錄狀態(tài)和/或登出狀態(tài),即,服務(wù)器只需要記錄每個客戶端上該目標(biāo)應(yīng)用的登錄狀態(tài)和/或登出狀態(tài),無需接收客戶端定時(shí)向服務(wù)器發(fā)送的心跳包,一方面減少了服務(wù)器的負(fù)荷,無需不斷地記錄客戶端發(fā)送的心跳包的信息,另一方面不受網(wǎng)絡(luò)的限制與影響,利于業(yè)務(wù)的大規(guī)模推廣。
由于事件日志表中記錄了每個客戶端上該目標(biāo)應(yīng)用的事件狀態(tài),這樣,服務(wù)器可以選取第一時(shí)間上對應(yīng)的第一客戶端上該目標(biāo)應(yīng)用的事件狀態(tài),其中,該第一時(shí)間是事件日志表中的任意一個時(shí)間點(diǎn),該第一客戶端是該第一時(shí)間上對應(yīng)的任意一個客戶端。
在實(shí)際應(yīng)用中,服務(wù)器可以累積獲取一個時(shí)間段內(nèi)多個時(shí)間點(diǎn)上的全部客戶端上該目標(biāo)應(yīng)用的事件狀態(tài),并以此根據(jù)每個時(shí)間點(diǎn)上的操作執(zhí)行其他時(shí)間點(diǎn)上相應(yīng)的操作,此處不做具體限定。
步驟302、根據(jù)第一客戶端上目標(biāo)應(yīng)用的登錄狀態(tài)和/或登出狀態(tài)判斷是否需要監(jiān)測第一客戶端上目標(biāo)應(yīng)用的在線時(shí)長,若是,執(zhí)行步驟303,若否,結(jié)束流程。
由于該第一客戶端上該目標(biāo)應(yīng)用的事件狀態(tài)可能是登錄狀態(tài),可能是登出狀態(tài),其中,可能是初次登錄狀態(tài),或者是登出狀態(tài)后的再次登錄狀態(tài),將這種情況默認(rèn)為在線時(shí)長的起始點(diǎn),因此,這種情況下,無法監(jiān)測到對應(yīng)目標(biāo)應(yīng)用的在線時(shí)長,默認(rèn)不需要監(jiān)測該目標(biāo)應(yīng)用的在線時(shí)長。因此服務(wù)器會根據(jù)該第一客戶端上該目標(biāo)應(yīng)用的登錄狀態(tài)和/或登出狀態(tài)判斷是否需要監(jiān)測該第一客戶端上該目標(biāo)應(yīng)用的在線時(shí)長,若是,則執(zhí)行步驟303,若否,則直接結(jié)束流程,去判斷是否需要監(jiān)測該第一時(shí)間上該第一客戶端以外的其他客戶端上該目標(biāo)應(yīng)用的在線時(shí)長,或者該第一時(shí)間上若再沒有其他客戶端的事件狀態(tài),則去判斷是否需要監(jiān)測該第一時(shí)間外其他時(shí)間上對應(yīng)的客戶端上該目標(biāo)應(yīng)用的在線時(shí)長。
步驟303、從所述事件日志表中獲取上一次監(jiān)測所述第一客戶端上所述目標(biāo)應(yīng)用的第二時(shí)間。
由于服務(wù)器是以默認(rèn)的方式或者用戶自定義的方式選擇對應(yīng)的時(shí)間點(diǎn)或者周期性進(jìn)行監(jiān)測,獲取上次監(jiān)測該第一客戶端上該目標(biāo)應(yīng)用的第二時(shí)間,其中,該第二時(shí)間就是從事件日志表中獲取的上次監(jiān)測該第一客戶端上該目標(biāo)應(yīng)用的時(shí)間點(diǎn)。
步驟304、將所述第一時(shí)間和所述第二時(shí)間的絕對差值確定為所述第一客戶端上所述目標(biāo)應(yīng)用的第一在線時(shí)長。
服務(wù)器直接將該第一時(shí)間和該第二時(shí)間的絕對差值確定該第一客戶端上該目標(biāo)應(yīng)用的第一在線時(shí)長,即該第一在線時(shí)長為當(dāng)前監(jiān)測時(shí)間段內(nèi)的一個在線時(shí)長,其中,在事件日志表中,一般是以事件發(fā)生的時(shí)間前后順序記錄該第一客戶端上該目標(biāo)應(yīng)用的事件狀態(tài),因此,默認(rèn)第一時(shí)間小于第二時(shí)間,例如:第一時(shí)間為3:50,第二時(shí)間為3:50之后的一個時(shí)間點(diǎn),如5:50等。當(dāng)然,不排除以時(shí)間反向記錄第一客戶端上該目標(biāo)應(yīng)用的事件狀態(tài),此處不做具體限定。
請參閱圖4,本發(fā)明實(shí)施例中監(jiān)測應(yīng)用在線時(shí)長的方法的另一個實(shí)施例示意圖,該實(shí)施例的具體流程如下:
步驟401、從事件日志表中獲取第一時(shí)間上對應(yīng)的第一客戶端上目標(biāo)應(yīng)用的事件狀態(tài),其中,在所述事件日志表中服務(wù)器按照事件發(fā)生的時(shí)間順序記錄每個客戶端上所述目標(biāo)應(yīng)用的事件狀態(tài),所述事件狀態(tài)包括登錄狀態(tài)和/或登出狀態(tài)。
步驟402、根據(jù)第一客戶端上目標(biāo)應(yīng)用的登錄狀態(tài)和/或登出狀態(tài)判斷是否需要監(jiān)測第一客戶端上目標(biāo)應(yīng)用的在線時(shí)長,若是,執(zhí)行步驟403,若否,結(jié)束流程。
步驟403、從所述事件日志表中獲取上一次監(jiān)測所述第一客戶端上所述目標(biāo)應(yīng)用的第二時(shí)間。
步驟404、將所述第一時(shí)間和所述第二時(shí)間的絕對差值確定為所述第一客戶端上所述目標(biāo)應(yīng)用的第一在線時(shí)長。
需要說明的是,步驟401至步驟404與圖3所示的步驟301至步驟304相同或者相似,具體可參閱步驟301至步驟304的描述,此處不再贅述。
步驟405、獲取所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長。
步驟406、將所述總可用在線時(shí)長與所述第一在線時(shí)長的差值作為第一客戶端上所述目標(biāo)應(yīng)用的剩余可用在線時(shí)長,其中,所述剩余可用在線時(shí)長作為下一次所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長。
與圖3所示實(shí)施例不同的是,當(dāng)確定該第一客戶端上該目標(biāo)應(yīng)用的第一在線時(shí)長后,獲取該第一客戶端上該目標(biāo)應(yīng)用的總可用在線時(shí)長,通過總可用在線時(shí)長與該第一在線時(shí)長的差值確定該第一客戶端上該目標(biāo)應(yīng)用的剩余可用在線時(shí)長,若該剩余可用在線時(shí)長小于預(yù)設(shè)的可用在線時(shí)長,服務(wù)器可以向該第一客戶端發(fā)送剩余可用在線時(shí)長不足的提示消息。
在實(shí)際應(yīng)用中,假如用戶通過XX游戲平臺對XX游戲進(jìn)行了充值,因此獲取了M時(shí)長的總可用在線時(shí)長,即可以玩M長時(shí)間的XX游戲,若服務(wù)器進(jìn)行收費(fèi)監(jiān)測時(shí),在某時(shí)間點(diǎn)監(jiān)測到用戶玩了N時(shí)間該XX游戲,則服務(wù)器根據(jù)M和N的差值確定用戶玩該XX游戲的剩余可用時(shí)長(M-N),即從該M時(shí)長從減去該N時(shí)長,若該(M-N)小于預(yù)設(shè)的可用在線時(shí)長,即服務(wù)器還可以向用戶所在的客戶端發(fā)送通知消息,通知剩余的可用在線時(shí)長不足,提醒用戶及時(shí)充值。
在一些可能的實(shí)現(xiàn)方式中,若所述第一客戶端上所述目標(biāo)應(yīng)用處于登出狀態(tài),將所述第一客戶端從所述事件日志表的在線列表中刪除。
在實(shí)際應(yīng)用中,若該第一客戶端上的該目標(biāo)應(yīng)用處于登出狀態(tài),即客戶端對該目標(biāo)應(yīng)用采取下線,退出登錄狀態(tài)。則服務(wù)器將該第一客戶端從事件日志表的在線列表刪除。還可以將該第一客戶端存儲在該事件日志表的不在線列表中,此處不做具體限定。
請參閱圖5,本發(fā)明實(shí)施例中監(jiān)測應(yīng)用在線時(shí)長的方法的另一個實(shí)施例示意圖,該實(shí)施例的具體流程如下:
步驟501、從事件日志表中獲取第一時(shí)間上對應(yīng)的第一客戶端上目標(biāo)應(yīng)用的事件狀態(tài),其中,在所述事件日志表中服務(wù)器按照事件發(fā)生的時(shí)間順序記錄每個客戶端上所述目標(biāo)應(yīng)用的事件狀態(tài),所述事件狀態(tài)包括登錄狀態(tài)和/或登出狀態(tài)。
步驟502、根據(jù)第一客戶端上目標(biāo)應(yīng)用的登錄狀態(tài)和/或登出狀態(tài)判斷是否需要監(jiān)測第一客戶端上目標(biāo)應(yīng)用的在線時(shí)長,若是,執(zhí)行步驟503,若否,結(jié)束流程。
步驟503、從所述事件日志表中獲取上一次監(jiān)測所述第一客戶端上所述目標(biāo)應(yīng)用的第二時(shí)間。
步驟504、將所述第一時(shí)間和所述第二時(shí)間的絕對差值確定為所述第一客戶端上所述目標(biāo)應(yīng)用的第一在線時(shí)長。
需要說明的是,步驟501至步驟504與圖3所示的步驟301至步驟304相同或者相似,具體可參閱步驟301至步驟304的描述,此處不再贅述。
步驟505、判斷所述第一在線時(shí)長是否小于預(yù)設(shè)時(shí)長,若是,執(zhí)行步驟506,若否,執(zhí)行步驟507。
與圖4所示的實(shí)施例不同的是,需要判斷該第一在線時(shí)長是否滿足預(yù)設(shè)在線時(shí)長,若是,則執(zhí)行步驟506,若否,則執(zhí)行步驟507。在實(shí)際應(yīng)用中,服務(wù)器不一定每次監(jiān)測的時(shí)候都實(shí)施收費(fèi)行為,即該第一在線時(shí)長小于該預(yù)設(shè)時(shí)長,暫時(shí)不執(zhí)行收費(fèi)行為,當(dāng)該第一在線時(shí)長不小于該預(yù)設(shè)時(shí)長時(shí),才執(zhí)行收費(fèi)行為,即扣除該第一客戶端上該目標(biāo)應(yīng)用的可用在線時(shí)長。
步驟506、將所述第一在線時(shí)長存儲在所述事件日志表中,以作為下一次所述第一客戶端上所述目標(biāo)應(yīng)用的累計(jì)在線時(shí)長。
若該第一在線時(shí)長小于該預(yù)設(shè)時(shí)長,則暫時(shí)不用對該第一客戶端執(zhí)行收費(fèi)行為,可將該第一在線時(shí)長存儲在該事件日志表中,作為下一次該第一客戶端上該目標(biāo)應(yīng)用的累計(jì)在線時(shí)長,若服務(wù)器下一次監(jiān)測該第一客戶端的事件狀態(tài)時(shí),可根據(jù)該第一客戶端上該目標(biāo)應(yīng)用的累計(jì)在線時(shí)長判斷是否小于預(yù)設(shè)時(shí)長,則執(zhí)行對應(yīng)的操作,此處不再贅述。
步驟507、獲取所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長,將所述總可用在線時(shí)長和所述第一在線時(shí)長的差值作為所述第一客戶端上所述目標(biāo)應(yīng)用的剩余可用在線時(shí)長,其中,所述剩余可用在線時(shí)長作為下一次所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長。
若該第一在線時(shí)長不小于該預(yù)設(shè)時(shí)長,則需要對該第一客戶端執(zhí)行收費(fèi)行為,即從總可用在線時(shí)長減去該第一在線時(shí)長,確定該第一客戶端上該目標(biāo)應(yīng)用的剩余可用在線時(shí)長,若該剩余可用在線時(shí)長小于預(yù)設(shè)的可用在線時(shí)長,服務(wù)器可以向該第一客戶端發(fā)送剩余可用在線時(shí)長不足的提示消息。
在一些可能的實(shí)現(xiàn)方式中,若所述第一客戶端上所述目標(biāo)應(yīng)用處于登出狀態(tài),將所述第一客戶端從所述事件日志表的在線列表中刪除。在實(shí)際應(yīng)用中,若該第一客戶端上的該目標(biāo)應(yīng)用處于登出狀態(tài),服務(wù)器還可以將該第一客戶端存儲在該事件日志表的不在線列表中,此處不做具體限定。
請參閱圖6,本發(fā)明實(shí)施例中監(jiān)測應(yīng)用在線時(shí)長的方法的另一個實(shí)施例示意圖,該實(shí)施例的具體流程如下:
步驟601、從事件日志表中獲取第一時(shí)間上對應(yīng)的第一客戶端上目標(biāo)應(yīng)用的事件狀態(tài),其中,在所述事件日志表中服務(wù)器按照事件發(fā)生的時(shí)間順序記錄每個客戶端上所述目標(biāo)應(yīng)用的事件狀態(tài),所述事件狀態(tài)包括登錄狀態(tài)和/或登出狀態(tài)。
步驟602、根據(jù)第一客戶端上目標(biāo)應(yīng)用的登錄狀態(tài)和/或登出狀態(tài)判斷是否需要監(jiān)測第一客戶端上目標(biāo)應(yīng)用的在線時(shí)長,若是,執(zhí)行步驟603,若否,結(jié)束流程。
步驟603、從所述事件日志表中獲取上一次監(jiān)測所述第一客戶端上所述目標(biāo)應(yīng)用的第二時(shí)間。
步驟604、將所述第一時(shí)間和所述第二時(shí)間的絕對差值確定為所述第一客戶端上所述目標(biāo)應(yīng)用的第一在線時(shí)長。
需要說明的是,步驟601至步驟604與圖3所示的步驟301至步驟304相同或者相似,具體可參閱步驟301至步驟304的描述,此處不再贅述。
步驟605、判斷所述第一客戶端上所述目標(biāo)應(yīng)用是否存在累計(jì)在線時(shí)長,若是,執(zhí)行步驟606。
與圖5所示實(shí)施例不同的,服務(wù)器需要判斷該第一客戶端上該目標(biāo)應(yīng)用是否存在累計(jì)在線時(shí)長,若是,則執(zhí)行步驟606,若否,則執(zhí)行上述步驟505至步驟507,具體可參閱步驟505至步驟507的描述,此處不再贅述。
步驟606、確定所述累計(jì)在線時(shí)長和所述第一在線時(shí)長的和值。
服務(wù)器對該第一在線時(shí)長和該累計(jì)在線時(shí)長作和,確定該第一在線時(shí)長和該累計(jì)在線時(shí)長的和值,或者直接從第一客戶端獲取該和值,其中,該和值作為總可用在線時(shí)長中需要被減去的時(shí)長。
步驟607、獲取所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長。
步驟608、將所述總可用在線時(shí)長與所述和值的差值作為所述第一客戶端上所述目標(biāo)應(yīng)用的剩余可用在線時(shí)長,其中,所述剩余可用在線時(shí)長作為下一次所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長。
即從總可用在線時(shí)長減去該和值,確定該第一客戶端上該目標(biāo)應(yīng)用的剩余可用在線時(shí)長,若該剩余可用在線時(shí)長小于預(yù)設(shè)的可用在線時(shí)長,服務(wù)器可以向該第一客戶端發(fā)送剩余可用在線時(shí)長不足的提示消息。
在一些可能的實(shí)現(xiàn)方式中,若所述第一客戶端上所述目標(biāo)應(yīng)用處于登出狀態(tài),將所述第一客戶端從所述事件日志表的在線列表中刪除。在實(shí)際應(yīng)用中,若該第一客戶端上的該目標(biāo)應(yīng)用處于登出狀態(tài),服務(wù)器還可以將該第一客戶端存儲在該事件日志表的不在線列表中,此處不做具體限定。
請參閱圖7,本發(fā)明實(shí)施例中監(jiān)測應(yīng)用在線時(shí)長的方法的另一個實(shí)施例示意圖,該實(shí)施例的具體流程如下:
步驟701、從事件日志表中獲取第一時(shí)間上對應(yīng)的第一客戶端上目標(biāo)應(yīng)用的事件狀態(tài),其中,在所述事件日志表中服務(wù)器按照事件發(fā)生的時(shí)間順序記錄每個客戶端上所述目標(biāo)應(yīng)用的事件狀態(tài),所述事件狀態(tài)包括登錄狀態(tài)和/或登出狀態(tài)。
步驟702、根據(jù)第一客戶端上目標(biāo)應(yīng)用的登錄狀態(tài)和/或登出狀態(tài)判斷是否需要監(jiān)測第一客戶端上目標(biāo)應(yīng)用的在線時(shí)長,若是,執(zhí)行步驟703,若否,結(jié)束流程。
步驟703、從所述事件日志表中獲取上一次監(jiān)測所述第一客戶端上所述目標(biāo)應(yīng)用的第二時(shí)間。
步驟704、將所述第一時(shí)間和所述第二時(shí)間的絕對差值確定為所述第一客戶端上所述目標(biāo)應(yīng)用的第一在線時(shí)長。
需要說明的是,步驟701至步驟704與圖3所示的步驟301至步驟304相同或者相似,具體可參閱步驟301至步驟304的描述,此處不再贅述。
步驟705、判斷所述第一客戶端上所述目標(biāo)應(yīng)用是否存在累計(jì)在線時(shí)長,若是,執(zhí)行步驟706。
步驟706、確定所述累計(jì)在線時(shí)長和所述第一在線時(shí)長的和值。
步驟707、判斷所述和值是否小于預(yù)設(shè)時(shí)長,若是,執(zhí)行步驟708,若否,執(zhí)行步驟709。
與圖6所示實(shí)施例不同的,需要服務(wù)器判斷該和值是否小于預(yù)設(shè)時(shí)長,若是,執(zhí)行步驟708,若否,執(zhí)行步驟709。在實(shí)際應(yīng)用中,服務(wù)器不一定每次監(jiān)測的時(shí)候都實(shí)施收費(fèi)行為,即該和值小于該預(yù)設(shè)時(shí)長,暫時(shí)不執(zhí)行收費(fèi)行為,當(dāng)該和值不小于該預(yù)設(shè)時(shí)長時(shí),才執(zhí)行收費(fèi)行為,即扣除該第一客戶端上該目標(biāo)應(yīng)用的可用在線時(shí)長。
步驟708、將所述和值存儲在所述事件日志表中,以作為下一次所述第一客戶端上所述目標(biāo)應(yīng)用的累計(jì)在線時(shí)長。
步驟709、獲取所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長,將所述總可用在線時(shí)長和所述第一在線時(shí)長的差值作為所述第一客戶端上所述目標(biāo)應(yīng)用的剩余可用在線時(shí)長,其中,所述剩余可用在線時(shí)長作為下一次所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長。
在一些可能的實(shí)現(xiàn)方式中,若所述第一客戶端上所述目標(biāo)應(yīng)用處于登出狀態(tài),將所述第一客戶端從所述事件日志表的在線列表中刪除。在實(shí)際應(yīng)用中,若該第一客戶端上的該目標(biāo)應(yīng)用處于登出狀態(tài),服務(wù)器還可以將該第一客戶端存儲在該事件日志表的不在線列表中,此處不做具體限定。
在實(shí)際應(yīng)用中,在保障計(jì)費(fèi)準(zhǔn)確的前提下避免計(jì)費(fèi)延遲,需要在服務(wù)器上選取有序事件來觸發(fā)計(jì)費(fèi)操作:對單個玩家來說,只有玩家登出時(shí)才能對完整在線過程進(jìn)行計(jì)費(fèi);而考慮到游戲服務(wù)器一般會承載大量的玩家,利用同一服務(wù)器上其他玩家的登錄/登出事件來模擬服務(wù)器心跳事件來計(jì)費(fèi)。
同一服務(wù)器上所有玩家的登錄/登出行為可以看作時(shí)間軸上依次發(fā)生的一系列獨(dú)立事件,可以模擬為服務(wù)器“定時(shí)”發(fā)出的心跳事件,每次心跳事件發(fā)生時(shí),對所有在線玩家累積在線時(shí)長并計(jì)費(fèi)。盡管該“服務(wù)器心跳”時(shí)間間隔不規(guī)律,但足以滿足實(shí)時(shí)計(jì)費(fèi)的目的。
如圖8a所示,以特定時(shí)間段內(nèi)服務(wù)器上的5個活躍用戶A~E為例,玩家A在Ai時(shí)刻登錄,Ao時(shí)刻登出;玩家B在Bi時(shí)刻登錄,Bo時(shí)刻登出;玩家C在Ci時(shí)刻登錄,Co時(shí)刻登出;玩家D在Di時(shí)刻登錄,Do時(shí)刻登出;玩家E在Ei時(shí)刻登錄,Eo時(shí)刻登出,其時(shí)間序列為:Ai<Di<Bi<Ci<Ei<Do<Bo<Eo<Ao<Co,同日志事件表中記錄順序一致。
提取指定時(shí)間段內(nèi)服務(wù)器的日志事件表記錄,按照日志時(shí)間表記錄的時(shí)間從小到大排序,并依次處理事件。如圖8b所示,Event表示事件,Time表示事件發(fā)生時(shí)需要增加的計(jì)費(fèi)時(shí)間段,處理A的登錄事件時(shí),由于當(dāng)前在線玩家列表為空,則將A添加到在線玩家列表即可;處理D的登出事件時(shí),Do時(shí)刻在線玩家列表為(A、B、C、D、E),對所有在線玩家增加計(jì)費(fèi)時(shí)間段(Ei,Do),同時(shí)將D從在線玩家列表中刪除,玩家A的計(jì)費(fèi)由9段構(gòu)成,B由4段構(gòu)成,以此類推。
以簡單的登錄/登出事件實(shí)現(xiàn)了對服務(wù)器在線玩家時(shí)長的實(shí)時(shí)計(jì)費(fèi),相較于傳統(tǒng)計(jì)費(fèi)方案,需要處理的計(jì)費(fèi)事件少,計(jì)費(fèi)準(zhǔn)確實(shí)時(shí),對目標(biāo)業(yè)務(wù)改造小,便于推廣。
為便于更好的實(shí)施本發(fā)明實(shí)施例的上述相關(guān)方法,下面還提供用于配合上述方法的服務(wù)器。
請參閱圖9,本發(fā)明實(shí)施例中服務(wù)器900的一個結(jié)構(gòu)示意圖,該服務(wù)器900包括獲取模塊901,判斷模塊902和確定模塊903。
獲取模塊901,用于從事件日志表中獲取第一時(shí)間上對應(yīng)的第一客戶端上目標(biāo)應(yīng)用的事件狀態(tài),其中,在所述事件日志表中服務(wù)器按照事件發(fā)生的時(shí)間順序記錄每個客戶端上所述目標(biāo)應(yīng)用的事件狀態(tài),所述事件狀態(tài)包括登錄狀態(tài)和/或登出狀態(tài);
服務(wù)器將各個客戶端上目標(biāo)應(yīng)用的事件狀態(tài)按照事件發(fā)生的時(shí)間順序記錄到事件日志表中,并對應(yīng)記錄了每個客戶端上的用戶信息,例如:登錄該目標(biāo)應(yīng)用的用戶名,用戶級別等。其中,該目標(biāo)應(yīng)用包括但不限于游戲應(yīng)用的各種應(yīng)用,例如:QQ炫舞,連連看,王者榮耀等,當(dāng)然還可以是除游戲應(yīng)用以外的其他娛樂應(yīng)用,學(xué)習(xí)應(yīng)用,社交應(yīng)用等,此處不做具體限定。
判斷模塊902,用于根據(jù)第一客戶端上所述目標(biāo)應(yīng)用的登錄狀態(tài)和/或登出狀態(tài)判斷是否需要監(jiān)測所述第一客戶端上所述目標(biāo)應(yīng)用的在線時(shí)長;
所述獲取模塊901,還用于若需要監(jiān)測所述第一客戶端上所述目標(biāo)應(yīng)用的在線時(shí)長,從所述事件日志表中獲取上一次監(jiān)測所述第一客戶端上所述目標(biāo)應(yīng)用的第二時(shí)間;
確定模塊903,用于將所述第一時(shí)間和所述第二時(shí)間的絕對差值確定為所述第一客戶端上所述目標(biāo)應(yīng)用的第一在線時(shí)長。
在一些可能的實(shí)現(xiàn)方式中,所述獲取模塊901,還用于所述確定模塊將所述第一時(shí)間和所述第二時(shí)間的絕對差值確定為所述第一客戶端上所述目標(biāo)應(yīng)用的第一在線時(shí)長之后,獲取所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長;
所述確定模塊903,還用于將所述總可用在線時(shí)長與所述第一在線時(shí)長的差值作為所述第一客戶端上所述目標(biāo)應(yīng)用的剩余可用在線時(shí)長,其中,所述剩余可用在線時(shí)長作為下一次所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長。
在一些可能的實(shí)現(xiàn)方式中,所述服務(wù)器900還包括:
存儲模塊904,用于所述確定模塊903將所述第一時(shí)間和所述第二時(shí)間的絕對差值確定為所述第一客戶端上所述目標(biāo)應(yīng)用的第一在線時(shí)長之后,若所述第一在線時(shí)長小于預(yù)設(shè)時(shí)長,將所述第一在線時(shí)長存儲在所述事件日志表中,以作為下一次所述第一客戶端上所述目標(biāo)應(yīng)用的累計(jì)在線時(shí)長;
所述獲取模塊901,還用于若所述第一在線時(shí)長不小于所述預(yù)設(shè)時(shí)長,獲取所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長;
所述確定模塊903,還用于將所述總可用在線時(shí)長和所述第一在線時(shí)長的差值作為所述第一客戶端上所述目標(biāo)應(yīng)用的剩余可用在線時(shí)長,其中,所述剩余可用在線時(shí)長作為下一次所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長。
在一些可能的實(shí)現(xiàn)方式中,所述確定模塊903,還用于將所述第一時(shí)間和所述第二時(shí)間的絕對差值確定為所述第一客戶端上所述目標(biāo)應(yīng)用的第一在線時(shí)長之后,若所述第一客戶端上所述目標(biāo)應(yīng)用存在累計(jì)在線時(shí)長,確定所述累計(jì)在線時(shí)長和所述第一在線時(shí)長的和值;
所述獲取模塊901,還用于獲取所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長;
所述確定模塊903,還用于將所述總可用在線時(shí)長與所述和值的差值作為所述第一客戶端上所述目標(biāo)應(yīng)用的剩余可用在線時(shí)長,其中,所述剩余可用在線時(shí)長作為下一次所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長。
在一些可能的實(shí)現(xiàn)方式中,
所述確定模塊903,還用于將所述第一時(shí)間和所述第二時(shí)間的絕對差值確定為所述第一客戶端上所述目標(biāo)應(yīng)用的第一在線時(shí)長之后,若所述第一客戶端上所述目標(biāo)應(yīng)用存在累計(jì)在線時(shí)長,確定所述累計(jì)在線時(shí)長和所述第一在線時(shí)長的和值;
存儲模塊904,用于若所述和值小于預(yù)設(shè)時(shí)長,將所述和值存儲在所述事件日志表中,以作為下一次所述第一客戶端上所述目標(biāo)應(yīng)用的累計(jì)在線時(shí)長;
所述獲取模塊901,還用于若所述和值不小于所述預(yù)設(shè)時(shí)長,獲取所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長;
所述確定模塊903,還用于將所述總可用在線時(shí)長和所述第一在線時(shí)長的差值作為所述第一客戶端上所述目標(biāo)應(yīng)用的剩余可用在線時(shí)長,其中,所述剩余可用在線時(shí)長作為下一次所述第一客戶端上所述目標(biāo)應(yīng)用的總可用在線時(shí)長。
在一些可能的實(shí)現(xiàn)方式中,所述服務(wù)器900還包括:
刪除模塊905,用于若所述第一客戶端上所述目標(biāo)應(yīng)用處于登出狀態(tài),將所述第一客戶端從所述事件日志表的在線列表中刪除。
獲取模塊從事件日志表中獲取第一時(shí)間上對應(yīng)的第一客戶端上目標(biāo)應(yīng)用的事件狀態(tài),其中,在事件日志表中按照事件發(fā)生的時(shí)間順序記錄每個客戶端上目標(biāo)應(yīng)用的事件狀態(tài),該事件狀態(tài)包括登錄狀態(tài)和/或登出狀態(tài),若確定模塊根據(jù)該第一客戶端上目標(biāo)應(yīng)用的登錄狀態(tài)和/或登出狀態(tài)確定需要監(jiān)測該第一客戶端上該目標(biāo)應(yīng)用的在線時(shí)長,則獲取模塊從所述事件日志表中獲取上一次監(jiān)測第一客戶端上該目標(biāo)應(yīng)用的第二時(shí)間,確定模塊直接將第一時(shí)間和第二時(shí)間的絕對差值確定為第一客戶端上該目標(biāo)應(yīng)用的第一在線時(shí)長,無需服務(wù)器定時(shí)接收第一客戶端發(fā)送的心跳包,減少網(wǎng)絡(luò)資源的消耗,同時(shí)無需每個客戶端都接入服務(wù)器,不存在客戶端接入服務(wù)器的局限性的問題,只需服務(wù)器記錄該第一客戶端上目標(biāo)應(yīng)用的登錄狀態(tài)和/或登出狀態(tài),簡單便捷,從而有效提高監(jiān)測應(yīng)用在線時(shí)長的效率。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
在本申請所提供的幾個實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個實(shí)施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲在一個計(jì)算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。