專利名稱:一種大容量用戶信息的處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動(dòng)通訊中用戶信息的處理方法,特別是涉及一種大容量用戶信息的處理方法。
背景技術(shù):
隨著移動(dòng)增值業(yè)務(wù)的快速發(fā)展,用戶數(shù)量也逐步增加。在開展增值業(yè)務(wù)用戶管理的過程中,由于用戶數(shù)量非常巨大(在幾億級(jí)別),用戶信息的變化非常頻繁,及時(shí)準(zhǔn)確的基于大容量數(shù)據(jù)提供用戶信息成為難題。由于用戶信息變化的不確定性和用戶查詢信息得不確定性,如果隨時(shí)響應(yīng)用戶狀態(tài)變化進(jìn)行數(shù)據(jù)庫物理存儲(chǔ)的修改,可能會(huì)導(dǎo)致數(shù)據(jù)庫修改非常頻繁,而且由于數(shù)據(jù)量非常龐大,數(shù)據(jù)庫修改會(huì)帶來極大的負(fù)載。但是如果不及時(shí)修改用戶信息,如何保證用戶的查詢結(jié)果和實(shí)際數(shù)據(jù)一致就成為難題。
用戶信息的管理主要涉及到如下幾個(gè)方面用戶信息存儲(chǔ),存儲(chǔ)于數(shù)據(jù)庫中;用戶信息變更,包括增加、刪除、修改等。需要對(duì)數(shù)據(jù)庫中用戶信息進(jìn)行修改;用戶信息查詢,根據(jù)指定條件返回用戶相關(guān)信息。
假定現(xiàn)在某個(gè)系統(tǒng)有一億條用戶信息,傳統(tǒng)的做法是每當(dāng)有用戶信息變更時(shí)就及時(shí)進(jìn)行數(shù)據(jù)庫操作。如某個(gè)用戶使用某項(xiàng)服務(wù)的狀態(tài)由活動(dòng)變?yōu)椴换顒?dòng),那么就需要在上億條記錄中尋找此項(xiàng)相關(guān)的內(nèi)容,然后進(jìn)行數(shù)據(jù)庫UPDATE操作。由于數(shù)據(jù)量具大,查找定位指定的內(nèi)容非常消耗資源,而且進(jìn)行內(nèi)容更新后會(huì)有相關(guān)的索引更新等數(shù)據(jù)庫系統(tǒng)級(jí)操作也會(huì)消耗大量資源。用戶狀態(tài)信息的變化出現(xiàn)時(shí)間不固定,可能在某個(gè)相當(dāng)長時(shí)間段內(nèi)沒有任何變化,也可能有大量的變化集中在某個(gè)較短的時(shí)間段內(nèi),這樣會(huì)導(dǎo)致數(shù)據(jù)庫負(fù)載非常不均衡,試驗(yàn)室環(huán)境中極端情況下會(huì)導(dǎo)致數(shù)據(jù)庫超載而無法正常工作。
發(fā)明內(nèi)容
本發(fā)明的目的是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種大容量用戶信息的處理方法。
本發(fā)明的目的可以通過以下技術(shù)方案來實(shí)現(xiàn)一種大容量用戶信息的處理方法,其特征在于,該方法通過流水記錄方式對(duì)用戶信息和用戶狀態(tài)的變更進(jìn)行記錄,并定期集中更新數(shù)據(jù)庫;在定期集中更新數(shù)據(jù)庫之前發(fā)生的查詢請(qǐng)求,通過查詢結(jié)果預(yù)處理操作得到正確的查詢結(jié)果。
所述的流水記錄方式為對(duì)應(yīng)最近發(fā)生的變更操作,生成一條新的數(shù)據(jù)庫記錄即流水記錄,并插入到數(shù)據(jù)庫表中。
所述的查詢結(jié)果預(yù)處理操作為將流水記錄按照時(shí)間先后順序進(jìn)行排序,并根據(jù)時(shí)間先后順序,對(duì)流水記錄進(jìn)行狀態(tài)轉(zhuǎn)變,得到最終狀態(tài)。
所述的狀態(tài)轉(zhuǎn)變?yōu)檫M(jìn)行了訂制操作,最終狀態(tài)為訂制狀態(tài);首先進(jìn)行了訂制操作,然后進(jìn)行了退訂請(qǐng)求,最終狀態(tài)為等待退訂確認(rèn);首先進(jìn)行了訂制操作,然后進(jìn)行了退訂請(qǐng)求,然后進(jìn)行了重復(fù)的退訂請(qǐng)求,最終狀態(tài)為等待退訂確認(rèn);首先進(jìn)行了訂制操作,然后進(jìn)行了退訂請(qǐng)求,然后進(jìn)行了不合法的訂制請(qǐng)求,最終狀態(tài)為等待退訂確認(rèn);首先進(jìn)行了訂制操作,然后進(jìn)行了退訂請(qǐng)求,然后又進(jìn)行了退訂請(qǐng)求,最終狀態(tài)為退訂狀態(tài);首先進(jìn)行了訂制操作,然后進(jìn)行了退訂請(qǐng)求,最終狀態(tài)為等待退訂確認(rèn)。
該方法通過編寫數(shù)據(jù)庫存儲(chǔ)過程的方式定期對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行清理,刪除不必要的垃圾數(shù)據(jù)。
該方法通過編寫數(shù)據(jù)庫存儲(chǔ)過程的方式定期對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行清理,刪除不必要的垃圾數(shù)據(jù)。
與現(xiàn)有技術(shù)相比,本發(fā)明由于減少了全局的查找操作,減少了大部分的資源消耗;插入操作帶來的數(shù)據(jù)庫索引變化等系統(tǒng)級(jí)操作消耗的資源基本和UPDATE操作類似,這樣通過生成新記錄的方式描述用戶信息的變化,減少了70%的數(shù)據(jù)庫系統(tǒng)消耗,也就減少了數(shù)據(jù)庫修改的負(fù)載,同時(shí)又保證了用戶信息的及時(shí)性,提高了用戶信息查詢的效率。
圖1為本發(fā)明的狀態(tài)轉(zhuǎn)變圖。
具體實(shí)施例方式
如圖1所示,一種大容量用戶信息的處理方法,該方法通過流水記錄方式對(duì)用戶信息和用戶狀態(tài)的變更進(jìn)行記錄,并定期集中更新數(shù)據(jù)庫;在定期集中更新數(shù)據(jù)庫之前發(fā)生的查詢請(qǐng)求,通過查詢結(jié)果預(yù)處理操作得到正確的查詢結(jié)果。
本實(shí)施例首先將用戶信息和用戶狀態(tài)的變化的流水記錄入寫入數(shù)據(jù)庫,然后定期進(jìn)行數(shù)據(jù)的狀態(tài)統(tǒng)一處理。在用戶信息統(tǒng)一之前發(fā)生的查詢要求,其查詢結(jié)果通過在展示時(shí)進(jìn)行處理以保證結(jié)果的正確性。這種方法有效的減少了數(shù)據(jù)庫訪問次數(shù),提高了用戶信息查詢的效率。
為減少數(shù)據(jù)庫修改的負(fù)載同時(shí)又能保證用戶信息的及時(shí)性,本實(shí)施例采用了定期集中更新數(shù)據(jù)庫的方式結(jié)合查詢結(jié)果預(yù)處理的方法,有效的解決了查詢結(jié)果和實(shí)際數(shù)據(jù)一致的難題。
為解決數(shù)據(jù)庫超載的問題,本實(shí)施例設(shè)計(jì)了一種流水記錄的方式進(jìn)行用戶信息變更的記錄。如某個(gè)用戶使用某項(xiàng)服務(wù)的狀態(tài)由活動(dòng)變?yōu)椴换顒?dòng),則生成一條新的數(shù)據(jù)庫記錄插入到數(shù)據(jù)庫表中以記錄最近發(fā)生的變更操作。由于減少了全局的查找操作,減少了大部分的資源消耗。插入操作帶來的數(shù)據(jù)庫索引變化等系統(tǒng)級(jí)操作消耗的資源基本和UPDATE操作類似。這樣通過生成新記錄的方式描述用戶信息的變化,減少了70%的數(shù)據(jù)庫系統(tǒng)消耗。
增加了流水記錄以后,數(shù)據(jù)庫負(fù)載被有效減小,但同時(shí)帶來兩個(gè)新的問題a.每個(gè)用戶使用某項(xiàng)服務(wù)的狀態(tài)信息由多條數(shù)據(jù)庫記錄描述,最終狀態(tài)無法確定,不能提供最終的用戶狀態(tài)信息。
b.隨著流水記錄的不斷增加,數(shù)據(jù)庫表規(guī)模不停增大,需要定期進(jìn)行清理。
為解決上述問題,增加了如下算法進(jìn)行用戶狀態(tài)信息查詢時(shí),返回所有此用戶使用某項(xiàng)業(yè)務(wù)的所有信息。這其中包括用戶信息的所有流水記錄,然后根據(jù)流水記錄的所有信息動(dòng)態(tài)的臨時(shí)生成最終的用戶信息。由于用戶信息變更包括訂購業(yè)務(wù)、退訂業(yè)務(wù)、退訂業(yè)務(wù)確認(rèn)等操作,根據(jù)流水記錄生成最終結(jié)果的過程就比較復(fù)雜,采用如下算法進(jìn)行a、首先將此用戶信息的流水記錄按照時(shí)間先后順序進(jìn)行排序,反映了用戶信息變更的先后順序。
b、按照時(shí)間先后順序,對(duì)用戶信息變化的流水記錄按照如下的狀態(tài)轉(zhuǎn)移圖進(jìn)行狀態(tài)轉(zhuǎn)變,得到最終狀態(tài)。
圖1所示的過程如下(1)進(jìn)行了用戶訂購操作,最終用戶狀態(tài)為訂購狀態(tài)。
(2)首先進(jìn)行了用戶訂購,然后進(jìn)行了用戶退訂業(yè)務(wù)的請(qǐng)求,最終狀態(tài)為等待退訂確認(rèn)。
(3)首先進(jìn)行了用戶訂購,然后進(jìn)行了用戶退訂業(yè)務(wù)的請(qǐng)求,然后進(jìn)行了重復(fù)的退訂業(yè)務(wù)請(qǐng)求,最終狀態(tài)為等待退訂確認(rèn)。
(4)首先進(jìn)行了用戶訂購,然后進(jìn)行了用戶退訂業(yè)務(wù)的請(qǐng)求,然后進(jìn)行了不合法的訂制業(yè)務(wù)請(qǐng)求,最終狀態(tài)為等待退訂確認(rèn)。
(5)首先進(jìn)行了用戶訂購,然后進(jìn)行了用戶退訂業(yè)務(wù)的請(qǐng)求,然后進(jìn)行了業(yè)務(wù)退訂請(qǐng)求,最終狀態(tài)為業(yè)務(wù)已經(jīng)退訂。
(6)首先進(jìn)行了用戶訂購,然后進(jìn)行了用戶業(yè)務(wù)退訂操作,最終狀態(tài)為等待退訂確認(rèn)。
本實(shí)施例采用編寫數(shù)據(jù)庫存儲(chǔ)過程的方式定期對(duì)數(shù)據(jù)庫中的內(nèi)容進(jìn)行清理,刪除不必要的垃圾數(shù)據(jù),減少表長度??梢詫?shù)據(jù)庫變更活動(dòng)集中處理,提高數(shù)據(jù)庫利用的效率。
權(quán)利要求
1.一種大容量用戶信息的處理方法,其特征在于,該方法通過流水記錄方式對(duì)用戶信息和用戶狀態(tài)的變更進(jìn)行記錄,并定期集中更新數(shù)據(jù)庫;在定期集中更新數(shù)據(jù)庫之前發(fā)生的查詢請(qǐng)求,通過查詢結(jié)果預(yù)處理操作得到正確的查詢結(jié)果。
2.根據(jù)權(quán)利要求1所述的一種大容量用戶信息的處理方法,其特征在于,所述的流水記錄方式為對(duì)應(yīng)最近發(fā)生的變更操作,生成一條新的數(shù)據(jù)庫記錄即流水記錄,并插入到數(shù)據(jù)庫表中。
3.根據(jù)權(quán)利要求2所述的一種大容量用戶信息的處理方法,其特征在于,所述的查詢結(jié)果預(yù)處理操作為將流水記錄按照時(shí)間先后順序進(jìn)行排序,并根據(jù)時(shí)間先后順序,對(duì)流水記錄進(jìn)行狀態(tài)轉(zhuǎn)變,得到最終狀態(tài)。
4.根據(jù)權(quán)利要求3所述的一種大容量用戶信息的處理方法,其特征在于,所述的狀態(tài)轉(zhuǎn)變?yōu)檫M(jìn)行了訂制操作,最終狀態(tài)為訂制狀態(tài);首先進(jìn)行了訂制操作,然后進(jìn)行了退訂請(qǐng)求,最終狀態(tài)為等待退訂確認(rèn);首先進(jìn)行了訂制操作,然后進(jìn)行了退訂請(qǐng)求,然后進(jìn)行了重復(fù)的退訂請(qǐng)求,最終狀態(tài)為等待退訂確認(rèn);首先進(jìn)行了訂制操作,然后進(jìn)行了退訂請(qǐng)求,然后進(jìn)行了不合法的訂制請(qǐng)求,最終狀態(tài)為等待退訂確認(rèn);首先進(jìn)行了訂制操作,然后進(jìn)行了退訂請(qǐng)求,然后又進(jìn)行了退訂請(qǐng)求,最終狀態(tài)為退訂狀態(tài);首先進(jìn)行了訂制操作,然后進(jìn)行了退訂請(qǐng)求,最終狀態(tài)為等待退訂確認(rèn)。
5.根據(jù)權(quán)利要求1所述的一種大容量用戶信息的處理方法,其特征在于,該方法通過編寫數(shù)據(jù)庫存儲(chǔ)過程的方式定期對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行清理,刪除不必要的垃圾數(shù)據(jù)。
全文摘要
本發(fā)明涉及一種大容量用戶信息的處理方法,該方法通過流水記錄方式對(duì)用戶信息和用戶狀態(tài)的變更進(jìn)行記錄,并定期集中更新數(shù)據(jù)庫;在定期集中更新數(shù)據(jù)庫之前發(fā)生的查詢請(qǐng)求,通過查詢結(jié)果預(yù)處理操作得到正確的查詢結(jié)果。與現(xiàn)有技術(shù)相比,本發(fā)明減少了數(shù)據(jù)庫修改的負(fù)載,同時(shí)又保證了用戶信息的及時(shí)性,提高了用戶信息查詢的效率。
文檔編號(hào)H04M3/493GK101087333SQ20061002756
公開日2007年12月12日 申請(qǐng)日期2006年6月11日 優(yōu)先權(quán)日2006年6月11日
發(fā)明者馮謐 申請(qǐng)人:上海全成通信技術(shù)有限公司