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

一種事件記錄查詢方法及裝置與流程

文檔序號:11133920閱讀:502來源:國知局
一種事件記錄查詢方法及裝置與制造工藝

本申請涉及數(shù)據(jù)庫應(yīng)用技術(shù)領(lǐng)域,尤其涉及一種事件記錄查詢方法及裝置。



背景技術(shù):

計(jì)算機(jī)和互聯(lián)網(wǎng)技術(shù)的發(fā)展,為人們帶來了前所未有的便捷,目前這些技術(shù)已經(jīng)滲透到人們?nèi)粘I畹母鱾€方面,典型的應(yīng)用例如網(wǎng)絡(luò)社交、網(wǎng)絡(luò)交易、網(wǎng)絡(luò)娛樂等。對于提供互聯(lián)網(wǎng)服務(wù)的企業(yè)而言,用戶數(shù)量和使用頻率的增長,必然導(dǎo)致各類相關(guān)數(shù)據(jù)的增長,因此對數(shù)據(jù)管理技術(shù)也提出了更高的要求。

在應(yīng)用服務(wù)系統(tǒng)運(yùn)行過程中,外部用戶的每一次操作行為或系統(tǒng)內(nèi)部的每一次操作處理,都可以稱為一個事件。一般來說,系統(tǒng)除了實(shí)現(xiàn)基本功能之外,還會以日志的方式,全部或選擇性地將事件的相關(guān)信息(包括發(fā)生時間和具體內(nèi)容等)寫入數(shù)據(jù)庫,以滿足后續(xù)的各類查詢需求,例如事件清單輸出、數(shù)據(jù)統(tǒng)計(jì)分析、甚至用于故障定位等等。常見的應(yīng)用場景包括網(wǎng)上交易記錄查詢、銀行卡金額變動記錄查詢等等。

對于輕量級的事件記錄查詢請求,不會影響到數(shù)據(jù)庫的正常讀寫操作,數(shù)據(jù)庫一般可以很快給出響應(yīng)。然而如果一次查詢請求對應(yīng)的數(shù)據(jù)量過大,則整個查詢過程會給數(shù)據(jù)庫帶來很大壓力,嚴(yán)重時甚至?xí)绊懙綌?shù)據(jù)庫的正常讀寫操作,進(jìn)而影響到應(yīng)用側(cè)基本功能的正常運(yùn)行。此外,由于數(shù)據(jù)庫難以迅速給出查詢結(jié)果,對于應(yīng)用側(cè)而言,可能會當(dāng)作數(shù)據(jù)返回超時處理,造成數(shù)據(jù)查詢功能實(shí)際不可用,不僅影響用戶感受,還可能導(dǎo)致用戶反復(fù)重試,從而進(jìn)一步加劇對數(shù)據(jù)庫的影響。



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

本申請?zhí)峁┮环N事件記錄查詢方法及裝置,以解決大數(shù)據(jù)量查詢對數(shù)據(jù)庫的影響問題,技術(shù)方案如下:

本申請?zhí)峁┮环N事件記錄查詢方法,該方法包括:

接收用戶的事件記錄查詢請求,確定該請求所對應(yīng)的查詢事件及查詢時間范圍;

根據(jù)所述用戶的查詢事件的歷史發(fā)生次數(shù)統(tǒng)計(jì)值,估算所述查詢時間范圍對應(yīng)的查詢數(shù)據(jù)量;

確定數(shù)據(jù)庫當(dāng)前可承受的最大單次查詢數(shù)據(jù)量Max;

將所述查詢請求拆分為N個查詢子請求,使得每個查詢子請求分別對應(yīng)于所述查詢時間范圍內(nèi)的不同時間段、且每個時間段對應(yīng)的查詢數(shù)據(jù)量不大于Max,其中N為不小于1的整數(shù);

利用所述N個查詢子請求向數(shù)據(jù)庫發(fā)起查詢。

本申請還提供一種事件記錄查詢裝置,該裝置包括:

請求接收模塊,用于接收用戶的事件記錄查詢請求,確定該請求所對應(yīng)的查詢事件及查詢時間范圍;

數(shù)據(jù)量估算模塊,用于根據(jù)所述用戶的查詢事件的歷史發(fā)生次數(shù)統(tǒng)計(jì)值,估算所述查詢時間范圍對應(yīng)的查詢數(shù)據(jù)量;

數(shù)據(jù)庫性能確定模塊,用于確定數(shù)據(jù)庫當(dāng)前可承受的最大單次查詢數(shù)據(jù)量Max;

請求拆分模塊,用于將所述查詢請求拆分為N個查詢子請求,使得每個查詢子請求分別對應(yīng)于所述查詢時間范圍內(nèi)的不同時間段、且每個時間段對應(yīng)的查詢數(shù)據(jù)量不大于Max,其中N為不小于1的整數(shù);

查詢模塊,用于利用所述N個查詢子請求向數(shù)據(jù)庫發(fā)起查詢。

本申請所提供的時間記錄查詢方案,根據(jù)數(shù)據(jù)庫當(dāng)前的實(shí)際查詢響應(yīng)能力,將查詢數(shù)據(jù)量較大的查詢請求拆分為多個子請求,使得數(shù)據(jù)庫收到的單次查詢 數(shù)據(jù)量不會超過自身承受能力,減少不穩(wěn)定情況的發(fā)生。另一方面,查詢結(jié)果也可以根據(jù)所拆分的子請求分多次響應(yīng),避免因單次查詢數(shù)據(jù)量過大而導(dǎo)致數(shù)據(jù)返回超時。

應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本申請。

附圖說明

為了更清楚地說明本申請實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本申請的事件記錄查詢方法的一種流程示意圖;

圖2是本申請的事件記錄查詢系統(tǒng)的結(jié)構(gòu)示意圖;

圖3是本申請的事件記錄查詢方法的第二種流程示意圖;

圖4是本申請的事件記錄查詢裝置的一種結(jié)構(gòu)示意圖;

圖5是本申請的事件記錄查詢裝置的第二種結(jié)構(gòu)示意圖。

具體實(shí)施方式

對于數(shù)據(jù)庫而言,一個重要的性能指標(biāo)是可承受的最大單次查詢數(shù)據(jù)量,影響該性能的因素包括CPU、內(nèi)存、數(shù)據(jù)結(jié)構(gòu)等多方面。實(shí)際應(yīng)用中,如果一次查詢請求所對應(yīng)的數(shù)據(jù)量超過了這個最大值,就可能影響其他正常的讀寫操作,導(dǎo)致數(shù)據(jù)庫不穩(wěn)定。

以網(wǎng)上交易平臺為例,不同類型的用戶,交易筆數(shù)相差很大。有些用戶是普通買家,那么很有可能一年的交易記錄條數(shù)小于100,有些用戶屬性是個人賣家,交易記錄可能月均在幾百筆到幾千筆。有些用戶屬性是大型賣家,例如一些平臺商、機(jī)構(gòu)等,那么他的交易記錄可能在月均千萬筆以上。無論是哪種類型的用戶都有查詢交易記錄的需求,以便進(jìn)行對賬或發(fā)貨處理等。用戶進(jìn)行查 詢時,一般會選擇一個時間跨度范圍。普通買家用戶的查詢請求,即便時間跨度很長(例如幾年),也不會有很大的數(shù)據(jù)量;但是一個大型賣家用戶的查詢請求,即便跨度很短,也可能超過數(shù)據(jù)庫可承受的最大單次查詢數(shù)據(jù)量,造成數(shù)據(jù)庫不穩(wěn)定。

針對上述問題,本申請?zhí)峁┑姆桨甘?,根?jù)數(shù)據(jù)庫當(dāng)前的實(shí)際查詢響應(yīng)能力,將查詢數(shù)據(jù)量較大的查詢請求拆分為多個子請求,從而減少不穩(wěn)定情況的發(fā)生。

為了使本領(lǐng)域技術(shù)人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行詳細(xì)地描述,顯然,所描述的實(shí)施例僅僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾堉械膶?shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本申請保護(hù)的范圍。

圖1所示,為本申請?zhí)峁┑囊环N事件記錄查詢方法的流程圖,該方法可以包括以下步驟:

S101,接收用戶的事件記錄查詢請求,確定該請求所對應(yīng)的查詢事件及查詢時間范圍;

S102,根據(jù)所述用戶的查詢事件的歷史發(fā)生次數(shù)統(tǒng)計(jì)值,估算所述查詢時間范圍對應(yīng)的查詢數(shù)據(jù)量;

S103,確定數(shù)據(jù)庫當(dāng)前可承受的最大單次查詢數(shù)據(jù)量Max;

S104,將所述查詢請求拆分為N個查詢子請求,使得每個查詢子請求分別對應(yīng)于所述查詢時間范圍內(nèi)的不同時間段、且每個時間段對應(yīng)的查詢數(shù)據(jù)量不大于Max,其中N為不小于1的整數(shù);

S105,利用所述N個查詢子請求向數(shù)據(jù)庫發(fā)起查詢。

上述方法對應(yīng)的執(zhí)行主體,在本申請中稱為一種事件記錄查詢裝置,如圖2所示系統(tǒng),該裝置100在邏輯上位于用戶200和數(shù)據(jù)庫300之間,基本交互流程為:接收用戶的查詢請求、向數(shù)據(jù)庫請求數(shù)據(jù)、接收數(shù)據(jù)庫返回的數(shù)據(jù)、將數(shù)據(jù)返回至用戶。從物理位置來看,該裝置位于網(wǎng)絡(luò)側(cè),具體可以位于數(shù)據(jù)庫 服務(wù)器中,也可以位于與數(shù)據(jù)庫服務(wù)器相互獨(dú)立的應(yīng)用服務(wù)器中,本申請對此并不需要進(jìn)行限定。

在S101,用戶根據(jù)自己的需求,在終端設(shè)備上進(jìn)行查詢操作,向網(wǎng)絡(luò)側(cè)發(fā)出查詢請求。

用戶可以在查詢時指定查詢的對象事件類型,例如在網(wǎng)上支付系統(tǒng)中,用戶可以指定查詢交易記錄、信用卡還款記錄、匯款記錄、積分兌換記錄等等,如果用戶不做指定,則以當(dāng)前所使用查詢功能所對應(yīng)的缺省設(shè)置為準(zhǔn),例如查詢?nèi)款愋褪录涗洝?/p>

另外,用戶還可以在查詢時指定查詢的時間范圍,即指定查詢起始時間點(diǎn)T1和結(jié)束時間點(diǎn)T2,根據(jù)具體應(yīng)用場景的不同,該功能可以精確到不同的時間粒度,例如日、小時、甚至分鐘等。如果用戶不做指定,則以當(dāng)前所使用查詢功能所對應(yīng)的缺省設(shè)置為準(zhǔn),例如查詢?nèi)坑行r間的記錄,或者查詢最近一個月的記錄,等等。

事件記錄查詢裝置接收到用戶查詢請求后,對請求進(jìn)行解析,確定用戶需要查詢的事件類型。以及需要查詢的時間范圍[T1,T2],以供后續(xù)步驟使用。

確定查詢時間范圍[T1,T2]后,一種較為直接的確定查詢數(shù)據(jù)量的方法是:直接訪問數(shù)據(jù)庫,確定在[T1,T2]時段所對應(yīng)的數(shù)據(jù)量,盡管這種方式僅需要數(shù)據(jù)庫返回一個數(shù)據(jù)量統(tǒng)計(jì)值,但是仍然需要與數(shù)據(jù)庫進(jìn)行交互并且占用數(shù)據(jù)庫的資源。針對該問題,本申請采用根據(jù)用戶歷史行為估算本次查詢數(shù)據(jù)量的方式,從而避免額外占用數(shù)據(jù)庫的資源。

在S102,確認(rèn)用戶需要查詢的事件類型后,需要進(jìn)一步獲取該用戶該類型事件的歷史發(fā)生次數(shù),從而對本次查詢所對應(yīng)的數(shù)據(jù)量進(jìn)行估算。

進(jìn)行估算的基本思路是:根據(jù)用戶的歷史行為,估算在[T1,T2]可能對應(yīng)的數(shù)據(jù)量。假設(shè)某用戶在單位統(tǒng)計(jì)時段Ts時長內(nèi)的事件歷史發(fā)生次數(shù)統(tǒng)計(jì)值為Cs,則在[T1,T2]時段內(nèi)事件發(fā)生的次數(shù)估算值Ce為:Ce=Cs*(T2-T1)/Ts。

為了滿足估算的需求,需要預(yù)先對特定的統(tǒng)計(jì)值進(jìn)行記錄,或者預(yù)先(例如在系統(tǒng)相對空閑的時段)從數(shù)據(jù)庫或者該數(shù)據(jù)庫的備份庫中獲取這些統(tǒng)計(jì)值 并保存。根據(jù)實(shí)際的應(yīng)用場景,可以從多個不同方面選取需要記錄或獲取的統(tǒng)計(jì)值,例如:

可以選用不同歷史時段范圍的數(shù)據(jù)統(tǒng)計(jì)值,例如最近一年、全部有效歷史時間,等等;

可以選取不同的統(tǒng)計(jì)時間粒度,例如以“日”為單位進(jìn)行統(tǒng)計(jì)、以“月”為單位進(jìn)行統(tǒng)計(jì)等;

可以選取不同類型的統(tǒng)計(jì)值,例如單位統(tǒng)計(jì)時段內(nèi)發(fā)生次數(shù)的平均值、單位統(tǒng)計(jì)時段內(nèi)發(fā)生次數(shù)的最大值等等。其中,選取最大值進(jìn)行估計(jì)屬于比較保守的估計(jì)算法,可以有效降低引發(fā)數(shù)據(jù)庫穩(wěn)定性問題的概率。

此外,“最大值”對應(yīng)的單位統(tǒng)計(jì)時段Ts可以是靜態(tài)的,即基于自然的時間劃分,例如從每個自然月的交易量中,選取交易量最大的一個作為最大值用作估計(jì);Ts也可以是動態(tài)的,即不以自然的時間劃分作為統(tǒng)計(jì)時段,假設(shè)統(tǒng)計(jì)時段對應(yīng)的時長為Ts,則在時間軸上任意連續(xù)的Ts時長都可以作為統(tǒng)計(jì)時段,例如以一個長度為30天的滑動時間窗口在所有交易記錄中進(jìn)行統(tǒng)計(jì),選取在滑動過程中的窗口內(nèi)的最大交易量作為最大值用作估計(jì)。相對而言,靜態(tài)最大值統(tǒng)計(jì)實(shí)現(xiàn)簡單,但是對于一些突發(fā)的數(shù)據(jù)變化不夠敏感,動態(tài)最大值則能有效地解決該問題,從而進(jìn)一步降低了引發(fā)數(shù)據(jù)庫穩(wěn)定性問題的概率。

在S103,數(shù)據(jù)庫當(dāng)前可承受的最大單次查詢數(shù)據(jù)量Max由數(shù)據(jù)庫服務(wù)器的硬件配置(CPU、內(nèi)存等)、軟件配置(軟件執(zhí)行效率、數(shù)據(jù)結(jié)構(gòu),單條數(shù)據(jù)的數(shù)據(jù)量)以及實(shí)際負(fù)載等多方面因素決定。在本申請方案實(shí)際應(yīng)用時,可以設(shè)定一個相對固定的數(shù)值,直接讀取該值即可使用。當(dāng)然,也可以實(shí)時對數(shù)據(jù)庫當(dāng)前可承受的最大單次查詢數(shù)據(jù)量Max進(jìn)行估算,具體的估算方法與本申請方案關(guān)系相對獨(dú)立,這里不做詳細(xì)說明。

需要說明的是,S103與S101-102在執(zhí)行順序上并沒有特別的要求。進(jìn)一步在S104,根據(jù)S102得到的本次查詢數(shù)據(jù)量估算值以及S103得到的MAX值,對最初接收到的查詢請求進(jìn)行拆分,得到若干個查詢子請求。

原則上,這里并不要求每個查詢子請求平均分配全部的查詢數(shù)據(jù)量,只要 每個子請求對應(yīng)的數(shù)據(jù)量估算值均不大于Max即可,實(shí)際拆分時,可采用以下算法:

首先計(jì)算需要查詢的次數(shù)N,N為整數(shù),可通過對Ce/Max的值向上取整得到。

然后對時間范圍[T1,T2]進(jìn)行N切分:

令Delta=1/N*(T2-T1),則N個分片對應(yīng)的時間范圍分別為:

[T1+0*Delta,T1+1*Delta];

[T1+1*Delta,T1+2*Delta];

[T1+2*Delta,T1+3*Delta];

……

[T1+(N-1)*Delta,T2]。

需要說明的是,這里對每個分片對應(yīng)的時間范圍均取了閉區(qū)間,這是為了結(jié)合具體的查詢應(yīng)用需求,當(dāng)然如果實(shí)際的查詢功能支持,也可以對每個分片對應(yīng)的時間范圍取半開半閉區(qū)間。此外,由于N是向上取整,因此最后一個分片的右端點(diǎn)直接取T2而不是T1+N*Delta,也就是說,最后一個分片的時間跨度是小于等于其他分片的。

當(dāng)然,以上方案僅用于示意性說明,實(shí)際的切分方法并不限于以上公開的一種,例如,可以令第一個分片的時間跨度小于等于其他分片,等等。另外,作為一種特殊但是很常見的情況,允許N=1,實(shí)際情況相當(dāng)于最初的查詢請求對應(yīng)的數(shù)據(jù)量估算值沒有超過MAX,這種情況無需進(jìn)行拆分處理。

在S105,利用N個查詢子請求向數(shù)據(jù)庫發(fā)起查詢。相當(dāng)于將一個原本時間跨度為[T1,T2]的查詢,分為N個查詢多次請求數(shù)據(jù)庫,使得數(shù)據(jù)庫收到的單次查詢數(shù)據(jù)量不會超過數(shù)據(jù)庫的承受能力。另一方面,查詢結(jié)果也可以根據(jù)所拆分的子請求分多次響應(yīng),避免因單次查詢數(shù)據(jù)量過大而導(dǎo)致數(shù)據(jù)返回超時。

在上述事件記錄查詢方法中,是動態(tài)地根據(jù)查詢數(shù)據(jù)量估算值以及數(shù)據(jù)庫當(dāng)前可承受的最大單次查詢數(shù)據(jù)量,對查詢請求進(jìn)行拆分,在實(shí)際應(yīng)用中,還有其他兩種處理邏輯可以采用:一方面,對于一些事件發(fā)生頻率很低的用戶, 實(shí)際沒有必要對查詢請求動態(tài)進(jìn)行拆分(或者說沒有必要拆分),可以直接按照某種預(yù)定的規(guī)則進(jìn)行拆分即可;另一方面,對于一些事件發(fā)生頻率特別高的用戶,可能會導(dǎo)致拆分后的子請求數(shù)量過多,這種情況下,更合適的方式對這類查詢請求做延時處理。下面將結(jié)合圖3所示的流程圖,對上述處理邏輯進(jìn)行詳細(xì)說明:

S201,接收用戶的事件記錄查詢請求,確定該請求所對應(yīng)的查詢事件及查詢時間范圍。

本步驟與S101類似,這里不做重復(fù)說明。

S202,判斷所述用戶的查詢事件的歷史發(fā)生次數(shù)統(tǒng)計(jì)值的大?。?/p>

在本實(shí)施例中,對于用戶的查詢請求提供三種處理邏輯,具體觸發(fā)哪種處理邏輯,則根據(jù)用戶查詢事件的歷史發(fā)生次數(shù)統(tǒng)計(jì)值Cs的大小進(jìn)行判斷。Cs的含義可參見前面的實(shí)施例,這里不再重復(fù)說明。

為了對三種處理邏輯進(jìn)行區(qū)分,這里需要預(yù)先設(shè)置兩個閾值C1和C2,其中C1<C2,三種處理邏輯如下:

如果Cs的大小位于C1和C2之間,則觸發(fā)S203-S204分支,動態(tài)地根據(jù)查詢數(shù)據(jù)量估算值以及數(shù)據(jù)庫當(dāng)前可承受的最大單次查詢數(shù)據(jù)量,對查詢請求進(jìn)行拆分并查詢。此分支相當(dāng)于前一實(shí)施例中的S102-S105,這里不再重復(fù)說明。

如果Cs小于C1,則觸發(fā)S205-S204分支,其中S205與S203的區(qū)別在于,不需要動態(tài)計(jì)算拆分方案,而是可以直接根據(jù)某個預(yù)設(shè)的時間段長度將查詢請求拆分為N個查詢子請求。實(shí)際意義則是:如果某用戶在單位統(tǒng)計(jì)時段Ts時長內(nèi)的事件歷史發(fā)生次數(shù)統(tǒng)計(jì)值Cs較小,則認(rèn)為該用戶的查詢請求基本不可能對數(shù)據(jù)庫造成沖擊,可以直接采用某種相對固定的拆分方式例如按照自然月拆分,甚至不做拆分(對應(yīng)的預(yù)設(shè)時間段長度為任意,N=1)等等,從而減少動態(tài)運(yùn)算導(dǎo)致的資源消耗。拆分完成后,仍執(zhí)行S205。

如果Cs大于C2,則觸發(fā)S206分支,對查詢請求進(jìn)行延時查詢處理。這是考慮到如果Cs過大,則該用戶所查詢的數(shù)據(jù)量級也會非常大,僅是拆分處理就要消耗大量的系統(tǒng)資源,而且子請求數(shù)量過多也可能會影響數(shù)據(jù)庫的穩(wěn)定性。 因此針對這種情況,需要做延時查詢處理。這里的“延時”是相對于前兩個處理分支而言,即查詢請求發(fā)送至數(shù)據(jù)庫后,不要求數(shù)據(jù)庫立刻響應(yīng),例如可以將查詢請求放入等候隊(duì)列,待數(shù)據(jù)庫服務(wù)器資源空閑時再做處理。根據(jù)數(shù)據(jù)庫的具體情況,延時的時間可能是幾個小時,也可能更長。另外,這里發(fā)給數(shù)據(jù)庫的查詢請求,既可以是拆分后的多個子請求,也可以是完整的初始查詢請求,本申請對此并不需要進(jìn)行限定。

在本申請的一種具體實(shí)施方式中,對于延時查詢處理,可以對數(shù)據(jù)庫的備份庫發(fā)起查詢,備份庫與主庫(即前述的數(shù)據(jù)庫)的數(shù)據(jù)是定期同步的,由于不要求立刻返回查詢結(jié)果,因此可以在同步完成之后再向備庫發(fā)起查詢,既保證數(shù)據(jù)的準(zhǔn)確性,又不會影響到主庫的其他正常讀寫操作。實(shí)際應(yīng)用中,很多備份庫是支持分布式處理的,這種情況下,針對備份庫發(fā)起的查詢操作,可以利用Hadoop集群以Map-Reduce方式實(shí)現(xiàn),從而更高效地解決海量數(shù)據(jù)的處理問題。

在一些系統(tǒng)中,對于查詢請求是有一定返回時間要求的,如果數(shù)據(jù)庫不能按時返回?cái)?shù)據(jù),對于應(yīng)用側(cè)而言,會當(dāng)作數(shù)據(jù)返回超時處理,造成數(shù)據(jù)查詢功能實(shí)際不可用??紤]到延時查詢處理幾乎必然會導(dǎo)致超時,因此在本申請的一種實(shí)施方式中,對于延時查詢請求,可以設(shè)置一個特殊的延時響應(yīng)標(biāo)識,表明該查詢請求不需要立刻處理,避免應(yīng)用側(cè)把這種情況當(dāng)作數(shù)據(jù)返回超時處理。

當(dāng)然,從用戶使用感受的角度考慮,進(jìn)行延時查詢處理時,還應(yīng)向用戶發(fā)出適當(dāng)?shù)奶崾?,例如在確定需要進(jìn)行延時查詢處理后,告知用戶:由于查詢數(shù)據(jù)量過大無法立刻返回查詢結(jié)果。如有需要,還可以進(jìn)一步告知用戶可以在什么時間來下載查詢結(jié)果,或者在查詢完成后,直接將查詢結(jié)果以文件形式發(fā)給用戶,或者以短信或即時消息等方式告知用戶到指定地址下載。

以上介紹了三種事件記錄的查詢處理邏輯,可以理解的是,在實(shí)際應(yīng)用中,并不要求三種處理邏輯同時使用,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際需求,獨(dú)立選擇三種處理邏輯中的一部分,本申請對此并不需要進(jìn)行限定。

相應(yīng)于上述方法實(shí)施例,本申請還提供一種事件記錄查詢裝置,參見圖4所示,該裝置可以包括:

請求接收模塊210,用于接收用戶的事件記錄查詢請求,確定該請求所對應(yīng)的查詢事件及查詢時間范圍;

數(shù)據(jù)量估算模塊220,用于根據(jù)所述用戶的查詢事件的歷史發(fā)生次數(shù)統(tǒng)計(jì)值,估算所述查詢時間范圍對應(yīng)的查詢數(shù)據(jù)量;

數(shù)據(jù)庫性能確定模塊230,用于確定數(shù)據(jù)庫當(dāng)前可承受的最大單次查詢數(shù)據(jù)量Max;

請求拆分模塊240,用于將所述查詢請求拆分為N個查詢子請求,使得每個查詢子請求分別對應(yīng)于所述查詢時間范圍內(nèi)的不同時間段、且每個時間段對應(yīng)的查詢數(shù)據(jù)量估算值不大于Max,其中N為不小于1的整數(shù);

查詢模塊250,用于利用所述N個查詢子請求向數(shù)據(jù)庫發(fā)起查詢。

根據(jù)本申請的一種具體實(shí)施方式,所述歷史發(fā)生次數(shù)統(tǒng)計(jì)值,可以包括:

單位統(tǒng)計(jì)時段內(nèi)發(fā)生次數(shù)的平均值

單位統(tǒng)計(jì)時段內(nèi)發(fā)生次數(shù)的最大值。

根據(jù)本申請的一種具體實(shí)施方式,所述數(shù)據(jù)量估算模塊220,具體可以用于:

判斷所述用戶的查詢事件的歷史發(fā)生次數(shù)統(tǒng)計(jì)值是否不小于C1、且不大于C2,如果是,則進(jìn)一步估算所述查詢時間范圍對應(yīng)的查詢數(shù)據(jù)量;

其中C1和C2分別為預(yù)設(shè)的第一閾值和第二閾值。

根據(jù)本申請的一種具體實(shí)施方式,所述請求拆分模塊240,還可以用于:

在所述用戶的查詢事件的歷史發(fā)生次數(shù)統(tǒng)計(jì)值小于C1的情況下,直接根據(jù)預(yù)設(shè)的時間段長度將所述查詢請求拆分為N個查詢子請求。

參見圖5所示,根據(jù)本申請的一種具體實(shí)施方式,所述事件記錄查詢裝置還可以包括:

延時查詢模塊260,用于在所述用戶的查詢事件的歷史發(fā)生次數(shù)統(tǒng)計(jì)值大于C2的情況下,對所述查詢請求進(jìn)行延時查詢處理。

根據(jù)本申請的一種具體實(shí)施方式,所述延時查詢模塊260,具體可以用于:

向所述數(shù)據(jù)庫的備份庫發(fā)起查詢。

或者

為所述查詢請求設(shè)置延時響應(yīng)標(biāo)識。

上述裝置中各個模塊的功能和作用的實(shí)現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實(shí)現(xiàn)過程,在此不再贅述。

通過以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn)?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實(shí)施例或者實(shí)施例的某些部分所述的方法。

本說明書中的各個實(shí)施例均采用遞進(jìn)的方式描述,各個實(shí)施例之間相同相似的部分互相參見即可,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,在實(shí)施本申請方案時可以把各模塊的功能在同一個或多個軟件和/或硬件中實(shí)現(xiàn)。也可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實(shí)施。

以上所述僅是本申請的具體實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本申請?jiān)淼那疤嵯?,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本申請的保護(hù)范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
桃源县| 霞浦县| 杭锦旗| 恩平市| 兰溪市| 松滋市| 丰镇市| 会东县| 汤阴县| 湛江市| 布尔津县| 娱乐| 诸暨市| 阜新| 广东省| 辛集市| 平安县| 田林县| 水城县| 攀枝花市| 凤翔县| 枣阳市| 吴忠市| 洪雅县| 从江县| 任丘市| 丰宁| 游戏| 城固县| 宣恩县| 鹤壁市| 息烽县| 贞丰县| 宁阳县| 博客| 霍城县| 聊城市| 德兴市| 广南县| 肃南| 三穗县|