一種提交數(shù)據(jù)的方法及裝置制造方法【專利摘要】本發(fā)明的實施例公開一種提交數(shù)據(jù)的方法及裝置,能高效率地完成數(shù)據(jù)的上報。所述提交數(shù)據(jù)的方法包括:接收用戶上報數(shù)據(jù)的請求;對用戶請求上報的數(shù)據(jù)進行分組,并保存在臨時存儲器中;當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的數(shù)據(jù)進行一次提交。所述提交數(shù)據(jù)裝置包括:數(shù)據(jù)接收單元,用于接收用戶上報數(shù)據(jù)的請求;分組單元,用于對用戶請求上報的數(shù)據(jù)進行分組;臨時存儲器,用于保存所述用戶請求上報的數(shù)據(jù);數(shù)據(jù)提交單元,用于當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的數(shù)據(jù)進行一次提交。本發(fā)明適用于數(shù)據(jù)上報。【專利說明】一種提交數(shù)據(jù)的方法及裝置【
技術領域:
】[0001]本發(fā)明涉及數(shù)據(jù)統(tǒng)計【
技術領域:
】,尤其涉及一種提交數(shù)據(jù)的方法及裝置?!?br>背景技術:
】[0002]隨著互聯(lián)網(wǎng)技術的飛速發(fā)展,網(wǎng)絡用戶數(shù)量更是突飛猛進,為了能夠更好地為網(wǎng)絡用戶提供服務,對大數(shù)據(jù)量用戶千變?nèi)f化的網(wǎng)絡操作行為進行上報和統(tǒng)計成為目前互聯(lián)網(wǎng)商家的研究課題。[0003]現(xiàn)有技術對數(shù)據(jù)上報一般是通過如下方法完成:預先在后臺數(shù)據(jù)庫制定表格,定義各字段,每次用戶提交數(shù)據(jù)時,將用戶數(shù)據(jù)先逐條地存入臨時存儲器,再將用戶數(shù)據(jù)逐條地錄入數(shù)據(jù)庫中,這種一次提交一條數(shù)據(jù)的數(shù)據(jù)上報方式,效率很低?!?br/>發(fā)明內(nèi)容】[0004]有鑒于此,本發(fā)明實施例提供一種提交數(shù)據(jù)的方法及裝置,能夠高效率地完成數(shù)據(jù)的上報。[0005]-方面,本發(fā)明實施例提供一種提交數(shù)據(jù)的方法,包括:[0006]接收用戶上報數(shù)據(jù)的請求;[0007]對用戶請求上報的數(shù)據(jù)進行分組,并保存在臨時存儲器中;[0008]當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的數(shù)據(jù)進行一次提交。[0009]可選地,所述接收用戶上報數(shù)據(jù)的請求包括:接收用戶通過同一個應用程序接口上報數(shù)據(jù)的請求。[0010]可選地,所述對用戶請求上報的數(shù)據(jù)進行分組,并保存在臨時存儲器中包括:對用戶請求上報的數(shù)據(jù)進行檢測,確定出用戶請求上報的數(shù)據(jù)類型;根據(jù)確定出的數(shù)據(jù)類型,對不同類型的數(shù)據(jù)生成不同的標識符編碼;將具有相同標識符編碼的數(shù)據(jù)分為同一組。[0011]可選地,所述當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的數(shù)據(jù)進行一次提交包括:當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的各組數(shù)據(jù)進行一次提交;或者當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的各組數(shù)據(jù)按先后順序提交,對同一組內(nèi)的數(shù)據(jù)進行一次提交。[0012]可選地,所述當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的各組數(shù)據(jù)進行一次提交包括:當向數(shù)據(jù)庫提交數(shù)據(jù)時,在所述數(shù)據(jù)庫中生成與所述分組后的各組數(shù)據(jù)相對應的表格,并將所述分組后的各組數(shù)據(jù)寫入所述表格。[0013]可選地,所述當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的各組數(shù)據(jù)按先后順序提交,對同一組內(nèi)的數(shù)據(jù)進行一次提交,包括:當向數(shù)據(jù)庫提交一組數(shù)據(jù)時,在所述數(shù)據(jù)庫中生成與該組數(shù)據(jù)相對應的表格,并將該組數(shù)據(jù)寫入所述表格。[0014]可選地,在接收用戶上報數(shù)據(jù)的請求之前包括:預先定義超文本傳輸協(xié)議請求中參數(shù)與數(shù)據(jù)庫表之間的協(xié)議。[0015]可選地,所述對用戶請求上報的數(shù)據(jù)進行分組,并保存在臨時存儲器中之前包括:對用戶上報數(shù)據(jù)的請求進行分析,確定用戶所要上報的數(shù)據(jù)類型;根據(jù)確定出的所述數(shù)據(jù)類型,為所述上報數(shù)據(jù)的請求分配指定的服務器。[0016]可選地,在對用戶請求上報的數(shù)據(jù)進行分組,并保存在臨時存儲器中的同時,還包括:根據(jù)信息摘要算法5對用戶上報數(shù)據(jù)的請求中的請求參數(shù)進行加密,生成唯一密鑰;通過所述密鑰在所述臨時存儲器中查找相應的數(shù)據(jù);若所述數(shù)據(jù)已經(jīng)存在,則將所述數(shù)據(jù)對應的計數(shù)器進行加法操作;若查找不到所述數(shù)據(jù),則將所述數(shù)據(jù)保存在臨時存儲器中,并將所述數(shù)據(jù)對應的計數(shù)器初始化為1。[0017]可選地,所述臨時存儲器是Redis存儲系統(tǒng)。[0018]本發(fā)明實施例的提交數(shù)據(jù)的方法,通過對用戶請求上報的數(shù)據(jù)進行分組并保存在臨時存儲器中,當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的數(shù)據(jù)進行一次提交,這樣,通過分組的方式一次能夠提交大量的數(shù)據(jù),從而能夠高效率地完成數(shù)據(jù)的上報。[0019]另一方面,本發(fā)明實施例提供一種提交數(shù)據(jù)的裝置,包括:數(shù)據(jù)接收單元,用于接收用戶上報數(shù)據(jù)的請求;分組單元,用于對用戶請求上報的數(shù)據(jù)進行分組;臨時存儲器,用于保存所述用戶請求上報的數(shù)據(jù);數(shù)據(jù)提交單元,用于當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的數(shù)據(jù)進行一次提交。[0020]可選地,所述數(shù)據(jù)接收單元用于接收用戶通過同一個應用程序接口上報數(shù)據(jù)的請求。[0021]可選地,所述分組單元包括:檢測模塊,用于對用戶請求上報的數(shù)據(jù)進行檢測,確定出用戶請求上報的數(shù)據(jù)類型;編碼生成模塊,用于根據(jù)確定出的數(shù)據(jù)類型,對不同類型的數(shù)據(jù)生成不同的標識符編碼;分組模塊,用于將具有相同標識符編碼的數(shù)據(jù)分為同一組。[0022]可選地,所述數(shù)據(jù)提交單元用于當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的各組數(shù)據(jù)進行一次提交;或者用于當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的各組數(shù)據(jù)按先后順序提交,對同一組內(nèi)的數(shù)據(jù)進行一次提交。[0023]可選地,所述數(shù)據(jù)提交單元包括:第一生成模塊,用于當向數(shù)據(jù)庫提交數(shù)據(jù)時,在所述數(shù)據(jù)庫中生成與所述分組后的各組數(shù)據(jù)相對應的表格;第一寫入模塊,用于將所述分組后的各組數(shù)據(jù)寫入所述表格。[0024]可選地,所述數(shù)據(jù)提交單元包括:第二生成模塊,用于當向數(shù)據(jù)庫提交一組數(shù)據(jù)時,在所述數(shù)據(jù)庫中生成與該組數(shù)據(jù)相對應的表格;第二寫入模塊,用于將該組數(shù)據(jù)寫入所述表格。[0025]可選地,所述提交數(shù)據(jù)的裝置還包括:定義單元,用于預先定義超文本傳輸協(xié)議請求中參數(shù)與數(shù)據(jù)庫表之間的協(xié)議。[0026]可選地,所述提交數(shù)據(jù)的裝置還包括:分析單元,用于對用戶上報數(shù)據(jù)的請求進行分析,確定用戶所要上報的數(shù)據(jù)類型;分配單元,用于根據(jù)確定出的所述數(shù)據(jù)類型,為所述上報數(shù)據(jù)的請求分配指定的服務器。[0027]可選地,所述提交數(shù)據(jù)的裝置還包括:加密單元,用于根據(jù)信息摘要算法5對用戶上報數(shù)據(jù)的請求中的請求參數(shù)進行加密,生成唯一密鑰;查找單元,用于通過所述密鑰在所述臨時存儲器中查找相應的數(shù)據(jù);計數(shù)單元,用于若所述數(shù)據(jù)在所述臨時存儲器中已經(jīng)存在時,將所述數(shù)據(jù)對應的計數(shù)器進行加法操作;保存單元,用于若所述查找單元在所述臨時存儲器中查找不到所述數(shù)據(jù),則將所述數(shù)據(jù)保存在臨時存儲器保存中,同時將所述數(shù)據(jù)對應的計數(shù)器初始化為1。[0028]可選地,所述臨時存儲器是Redis存儲系統(tǒng)。[0029]本發(fā)明實施例所述提交數(shù)據(jù)的裝置,所述分組單元對用戶請求上報的數(shù)據(jù)進行分組,并保存在臨時存儲器中,當向數(shù)據(jù)庫提交數(shù)據(jù)時,數(shù)據(jù)提交單元將所述分組后的數(shù)據(jù)進行一次提交。這樣,通過分組的方式一次能夠提交大量的數(shù)據(jù),從而能夠高效率地完成數(shù)據(jù)的上報。【專利附圖】【附圖說明】[0030]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。[0031]圖1為本發(fā)明的提交數(shù)據(jù)的方法一實施例的流程示意圖;[0032]圖2為本發(fā)明的提交數(shù)據(jù)的裝置一實施例的結構示意圖;[0033]圖3為本發(fā)明的提交數(shù)據(jù)的裝置另一實施例的結構示意圖;[0034]圖4為本發(fā)明的提交數(shù)據(jù)的裝置又一實施例的結構示意圖;[0035]圖5為本發(fā)明的提交數(shù)據(jù)的裝置再一實施例的結構示意圖?!揪唧w實施方式】[0036]下面結合附圖對本發(fā)明實施例一種提交數(shù)據(jù)的方法及裝置進行詳細描述。[0037]應當明確,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。[0038]參看圖1所示,本發(fā)明一種提交數(shù)據(jù)的方法的【具體實施方式】,包括:[0039]S1、接收用戶上報數(shù)據(jù)的請求;[0040]S2、對用戶請求上報的數(shù)據(jù)進行分組,并保存在臨時存儲器中;[0041]S3、當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的數(shù)據(jù)進行一次提交。[0042]本發(fā)明實施例所述提交數(shù)據(jù)的方法,通過對用戶請求上報的數(shù)據(jù)進行分組并保存在臨時存儲器中,當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的數(shù)據(jù)進行一次提交。這樣,通過分組的方式一次能夠提交大量的數(shù)據(jù),從而能夠高效率地完成數(shù)據(jù)的上報。[0043]在前述提交數(shù)據(jù)的方法的【具體實施方式】中,可選地,所述接收用戶上報數(shù)據(jù)的請求(S1)包括:接收用戶通過同一個應用程序接口上報數(shù)據(jù)的請求。本實施例中,對外提供一個同一數(shù)據(jù)上報的接口,而不是為每個上報內(nèi)容定義不同的接口,從而節(jié)約資源。[0044]在前述提交數(shù)據(jù)的方法的【具體實施方式】中,可選地,所述對用戶請求上報的數(shù)據(jù)進行分組,并保存在臨時存儲器中(S2)包括:對用戶請求上報的數(shù)據(jù)進行檢測,確定出用戶請求上報的數(shù)據(jù)類型;根據(jù)確定出的數(shù)據(jù)類型,對不同類型的數(shù)據(jù)生成不同的標識符編碼;將具有相同標識符編碼的數(shù)據(jù)分為同一組。這樣,通過分組的方式便于一次能夠提交大量的數(shù)據(jù),例如,當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述數(shù)據(jù)按組進行提交。[0045]在前述提交數(shù)據(jù)的方法的【具體實施方式】中,可選地,所述當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的數(shù)據(jù)進行一次提交(S3)包括:當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的各組數(shù)據(jù)進行一次提交;或者當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的各組數(shù)據(jù)按先后順序提交,對同一組內(nèi)的數(shù)據(jù)進行一次提交,從而高效率地完成了數(shù)據(jù)的提交,并且便于對數(shù)據(jù)進行統(tǒng)計。[0046]在前述提交數(shù)據(jù)的方法的【具體實施方式】中,可選地,所述當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的各組數(shù)據(jù)進行一次提交(S3)包括:當向數(shù)據(jù)庫提交數(shù)據(jù)時,在所述數(shù)據(jù)庫中生成與所述分組后的各組數(shù)據(jù)相對應的表格,并將所述分組后的各組數(shù)據(jù)寫入所述表格。[0047]本實施例中,用戶的需求引導了用戶的網(wǎng)絡操作行為,而用戶的網(wǎng)絡操作行為會產(chǎn)生具有相應的字段名及類型的數(shù)據(jù);在用戶上報數(shù)據(jù)的請求中有各個數(shù)據(jù)對應的字段名及類型,因此,能夠根據(jù)數(shù)據(jù)及數(shù)據(jù)對應的字段名、類型在數(shù)據(jù)庫中生成相應的表格,這樣,當用戶需求的改變導致相應的數(shù)據(jù)的字段名或者類型改變時,能夠根據(jù)這種改變自動生成的相應的新的表格。[0048]相似地,可選地,所述當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的各組數(shù)據(jù)按先后順序提交,對同一組內(nèi)的數(shù)據(jù)進行一次提交,包括:當向數(shù)據(jù)庫提交一組數(shù)據(jù)時,在所述數(shù)據(jù)庫中生成與該組數(shù)據(jù)相對應的表格,并將該組數(shù)據(jù)寫入所述表格。[0049]本實施例中,在處理數(shù)據(jù)的時候,比較關注的是在某段時間內(nèi)的數(shù)據(jù)量,并且為了節(jié)約數(shù)據(jù)庫資源,優(yōu)選地,所述臨時存儲器緩存半個小時的數(shù)據(jù)后,向所述數(shù)據(jù)庫提交數(shù)據(jù),例如,把一天的時間進行切割成48個間隔,如0:00-0:30,0:30-1:00,1:00-1:30等,通過所述臨時存儲器緩存數(shù)據(jù),使用后臺線程進行輪詢,當?shù)竭_時間間隔點(如0:30,1:00)時,即當前的半個小時完結時,將所述緩存的數(shù)據(jù)寫入所述數(shù)據(jù)庫,從而,有助于節(jié)約數(shù)據(jù)庫資源。[0050]另外,這種根據(jù)提交的數(shù)據(jù),實時動態(tài)生成表格的方式,在用戶需求改變時,不需做大量的改動。[0051]在前述提交數(shù)據(jù)的方法的【具體實施方式】中,為了便于根據(jù)所述用戶上報數(shù)據(jù)的請求中的參數(shù)動態(tài)創(chuàng)建表格,可選地,在接收用戶上報數(shù)據(jù)的請求(S1)之前包括:預先定義超文本傳輸協(xié)議請求中參數(shù)與數(shù)據(jù)庫表之間的協(xié)議。[0052]本實施例中,例如,接收的用戶上報的一個完整的數(shù)據(jù)上報請求:http://report,com?i_tryno=2001&tablename=mml&s_m=3&s_mv=3.1.0.6356&s_p=ll&s-pv=0.0.0.O&s-dv=3.1.0.110717[0053]其中,"i_"前綴對應數(shù)據(jù)庫中的"int"類型;"s_"對應數(shù)據(jù)庫中的"char"類型;"tryno"表示在數(shù)據(jù)庫中的字段名;參數(shù)對應的值即為要提交到數(shù)據(jù)庫的數(shù)據(jù);"tablename"表示應數(shù)據(jù)表名。[0054]在前述提交數(shù)據(jù)的方法的【具體實施方式】中,可選地,所述對用戶請求上報的數(shù)據(jù)進行分組,并保存在臨時存儲器中(S2)之前包括:對用戶上報數(shù)據(jù)的請求進行分析,確定用戶所要上報的數(shù)據(jù)類型;根據(jù)確定出的所述數(shù)據(jù)類型,為所述上報數(shù)據(jù)的請求分配指定的服務器。[0055]本實施例中,在域名服務器中為多個互聯(lián)網(wǎng)協(xié)議地址配置同一個域名,當用戶請求解析這個域名時,根據(jù)該用戶請求中的參數(shù)為該用戶分配其中一個互聯(lián)網(wǎng)協(xié)議地址,從而,使得不同的數(shù)據(jù)上報請求到不同的服務器,有助于使各服務器的負載均衡。[0056]在前述提交數(shù)據(jù)的方法的【具體實施方式】中,可選地,在對用戶請求上報的數(shù)據(jù)進行分組,并保存在臨時存儲器中(S2)的同時,還包括:根據(jù)信息摘要算法5對用戶上報數(shù)據(jù)的請求中的請求參數(shù)進行加密,生成唯一密鑰;通過所述密鑰在所述臨時存儲器中查找相應的數(shù)據(jù);若所述數(shù)據(jù)已經(jīng)存在,則將所述數(shù)據(jù)對應的計數(shù)器進行加法操作;若查找不到所述數(shù)據(jù),則將所述數(shù)據(jù)保存在臨時存儲器中,并將所述數(shù)據(jù)對應的計數(shù)器初始化為1。這樣,對接收的數(shù)據(jù)進行歸類,對相同的數(shù)據(jù)進行加法計數(shù),而不是重復記錄,能夠節(jié)約高并發(fā),大訪問量的數(shù)據(jù)上報時所需的服務器資源。[0057]參看圖2所示,本發(fā)明一種提交數(shù)據(jù)的裝置的【具體實施方式】,包括:數(shù)據(jù)接收單元1,用于接收用戶上報數(shù)據(jù)的請求;分組單元2,用于對用戶請求上報的數(shù)據(jù)進行分組;臨時存儲器3,用于保存所述用戶請求上報的數(shù)據(jù);數(shù)據(jù)提交單元4,用于當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的數(shù)據(jù)進行一次提交。[0058]本發(fā)明實施例的提交數(shù)據(jù)的裝置,分組單元2對用戶請求上報的數(shù)據(jù)進行分組,并保存在臨時存儲器3中,當向數(shù)據(jù)庫提交數(shù)據(jù)時,數(shù)據(jù)提交單元4將所述分組后的數(shù)據(jù)進行一次提交。這樣,通過分組的方式一次能夠提交大量的數(shù)據(jù),從而能夠高效率地完成數(shù)據(jù)的上報。[0059]在前述提交數(shù)據(jù)的裝置的【具體實施方式】中,可選地,所述數(shù)據(jù)接收單元1用于接收用戶通過同一個應用程序接口上報數(shù)據(jù)的請求。本實施例中,對外提供一個同一數(shù)據(jù)上報的接口,而不是為每個上報內(nèi)容定義不同的接口,從而節(jié)約資源。[0060]參看圖3所示,在前述提交數(shù)據(jù)的裝置的【具體實施方式】中,可選地,所述分組單元2包括:檢測模塊21,用于對用戶請求上報的數(shù)據(jù)進行檢測,確定出用戶請求上報的數(shù)據(jù)類型;編碼生成模塊22,用于根據(jù)確定出的數(shù)據(jù)類型,對不同類型的數(shù)據(jù)生成不同的標識符編碼;分組模塊23,用于將具有相同標識符編碼的數(shù)據(jù)分為同一組。這樣,便于通過分組的方式一次能夠提交大量的數(shù)據(jù),例如,當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述數(shù)據(jù)按組進行提交。[0061]在前述提交數(shù)據(jù)的裝置的【具體實施方式】中,可選地,所述數(shù)據(jù)提交單元4用于當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的各組數(shù)據(jù)進行一次提交;或者當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的各組數(shù)據(jù)按先后順序提交,對同一組內(nèi)的數(shù)據(jù)進行一次提交。從而,能夠將所述數(shù)據(jù)一組一組的提交,而不是一條一條的提交。[0062]參看圖3所示,在前述提交數(shù)據(jù)的裝置的【具體實施方式】中,可選地,所述數(shù)據(jù)提交單元4包括:第一生成模塊41a,用于當向數(shù)據(jù)庫提交數(shù)據(jù)時,在所述數(shù)據(jù)庫中生成與所述分組后的各組數(shù)據(jù)相對應的表格;第一寫入模塊42a,用于將所述分組后的各組數(shù)據(jù)寫入所述表格。[0063]本實施例中,用戶的需求引導了用戶的網(wǎng)絡操作行為,而用戶的網(wǎng)絡操作行為會產(chǎn)生具有相應的字段名及類型的數(shù)據(jù);在用戶上報數(shù)據(jù)的請求中有各個數(shù)據(jù)對應的字段名及類型,因此,能夠根據(jù)數(shù)據(jù)及數(shù)據(jù)對應的字段名、類型在數(shù)據(jù)庫中生成相應的表格,這樣,當用戶需求的改變導致相應的數(shù)據(jù)的字段名或者類型改變時,能夠根據(jù)這種改變自動生成的相應的新的表格。[0064]參看圖4所示,相似地,可選地,所述數(shù)據(jù)提交單元4包括:第二生成模塊41b,用于當向數(shù)據(jù)庫提交一組數(shù)據(jù)時,在所述數(shù)據(jù)庫中生成與該組數(shù)據(jù)相對應的表格;第二寫入模塊42b,用于將該組數(shù)據(jù)寫入所述表格。[0065]本實施例中,在處理數(shù)據(jù)的時候,比較關注的是在某段時間內(nèi)的數(shù)據(jù)量,并且為了節(jié)約數(shù)據(jù)庫資源,優(yōu)選地,所述臨時存儲器3緩存半個小時的數(shù)據(jù)后,向所述數(shù)據(jù)庫提交數(shù)據(jù),例如,把一天的時間進行切割成48個間隔,如0:00-0:30,0:30-1:00,1:00-1:30等,通過所述臨時存儲器3緩存數(shù)據(jù),使用后臺線程進行輪詢,當?shù)竭_時間間隔點(如0:30,1:00)時,即當前的半個小時完結時,將所述緩存的數(shù)據(jù)寫入所述數(shù)據(jù)庫,從而,有助于節(jié)約數(shù)據(jù)庫資源,并且有助于保障該提交數(shù)據(jù)的裝置的穩(wěn)定性,使得數(shù)據(jù)能夠及時上報。[0066]另外,這種根據(jù)提交的數(shù)據(jù),實時動態(tài)生成表格的方式,在用戶需求改變時,不需做大量的改動。[0067]在前述提交數(shù)據(jù)的裝置的【具體實施方式】中,為了便于根據(jù)所述用戶上報數(shù)據(jù)的請求中的參數(shù)動態(tài)創(chuàng)建表格,可選地,所述提交數(shù)據(jù)的裝置還包括:定義單元,用于預先定義超文本傳輸協(xié)議請求中參數(shù)與數(shù)據(jù)庫表之間的協(xié)議。[0068]本實施例中,例如,接收的用戶上報的一個完整的數(shù)據(jù)上報請求:http://report,com?i_tryno=2001&tablename=mml&s_m=3&s_mv=3.1.0.6356&s_p=ll&s-pv=0.0.0.O&s-dv=3.1.0.110717[0069]其中,"i_"前綴對應數(shù)據(jù)庫中的"int"類型;"s_"對應數(shù)據(jù)庫中的"char"類型;"tryno"表示在數(shù)據(jù)庫中的字段名;參數(shù)對應的值即為要提交到數(shù)據(jù)庫的數(shù)據(jù);"tablename"表示應數(shù)據(jù)表名。[0070]參看圖4所示,在前述提交數(shù)據(jù)的裝置的【具體實施方式】中,可選地,所述提交數(shù)據(jù)的裝置還包括:分析單元5,用于對用戶上報數(shù)據(jù)的請求進行分析,確定用戶所要上報的數(shù)據(jù)類型;分配單元6,用于根據(jù)確定出的所述數(shù)據(jù)類型,為所述上報數(shù)據(jù)的請求分配指定的服務器。[0071]本實施例中,在域名服務器中為多個互聯(lián)網(wǎng)協(xié)議地址配置同一個域名,當用戶請求解析這個域名時,根據(jù)該用戶請求中的參數(shù)為該用戶分配其中一個互聯(lián)網(wǎng)協(xié)議地址,從而,使得不同的數(shù)據(jù)上報請求到不同的服務器,有助于使各服務器的負載均衡。[0072]參看圖5所示,在前述提交數(shù)據(jù)的裝置的【具體實施方式】中,可選地,所述提交數(shù)據(jù)的裝置還包括:加密單元7,用于根據(jù)信息摘要算法5對用戶上報數(shù)據(jù)的請求中的請求參數(shù)進行加密,生成唯一密鑰;查找單元8,用于通過所述密鑰在所述臨時存儲器3中查找相應的數(shù)據(jù);計數(shù)單元9,用于若所述數(shù)據(jù)在所述臨時存儲器中已經(jīng)存在時,將所述數(shù)據(jù)對應的計數(shù)器進行加法操作;保存單元10,用于若所述查找單元在所述臨時存儲器中查找不到所述數(shù)據(jù),則將所述數(shù)據(jù)數(shù)據(jù)保存在臨時存儲器中,同時將所述數(shù)據(jù)對應的計數(shù)器初始化為1。這樣,對接收的數(shù)據(jù)進行歸類,對相同的數(shù)據(jù)進行加法計數(shù),而不是重復記錄,能夠節(jié)約高并發(fā),大訪問量的數(shù)據(jù)上報時所需的服務器資源。[0073]在前述各發(fā)明實施例中,可選地,所述臨時存儲器3是Redis存儲系統(tǒng)。[0074]本發(fā)明實施例中,Redis存儲系統(tǒng)是一個key-value(鍵_值)存儲系統(tǒng),從而方便了對相同的數(shù)據(jù)進行加法計算;所述Redis存儲系統(tǒng)支持存儲的value(值)類型有string(字符串)、list(鏈表)、set(集合)、zset(sortedset-有序集合)和hash(哈希類型),在此基礎上,支持各種不同方式的排序;為了保證效率,數(shù)據(jù)緩存在內(nèi)存中;所述Redis存儲系統(tǒng)能夠周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎上實現(xiàn)master-slave(主從)同步,使用起來方便快捷。[0075]本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-OnlyMemory,ROM)或隨機存儲記憶體(RandomAccessMemory,RAM)等。[0076]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本【
技術領域:
】的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應以權利要求的保護范圍為準?!緳嗬蟆?.一種提交數(shù)據(jù)的方法,其特征在于,包括:接收用戶上報數(shù)據(jù)的請求;對用戶請求上報的數(shù)據(jù)進行分組,并保存在臨時存儲器中;當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的數(shù)據(jù)進行一次提交。2.根據(jù)權利要求1所述的提交數(shù)據(jù)的方法,其特征在于,所述接收用戶上報數(shù)據(jù)的請求包括:接收用戶通過同一個應用程序接口上報數(shù)據(jù)的請求。3.根據(jù)權利要求1或2所述的提交數(shù)據(jù)的方法,其特征在于,所述對用戶請求上報的數(shù)據(jù)進行分組,并保存在臨時存儲器中包括:對用戶請求上報的數(shù)據(jù)進行檢測,確定出用戶請求上報的數(shù)據(jù)類型;根據(jù)確定出的數(shù)據(jù)類型,對不同類型的數(shù)據(jù)生成不同的標識符編碼;將具有相同標識符編碼的數(shù)據(jù)分為同一組。4.根據(jù)權利要求1所述的提交數(shù)據(jù)的方法,其特征在于,所述當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的數(shù)據(jù)進行一次提交包括:當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的各組數(shù)據(jù)進行一次提交;或者當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的各組數(shù)據(jù)按先后順序提交,對同一組內(nèi)的數(shù)據(jù)進行一次提交。5.根據(jù)權利要求4述的提交數(shù)據(jù)的方法,其特征在于,所述當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的各組數(shù)據(jù)進行一次提交包括:當向數(shù)據(jù)庫提交數(shù)據(jù)時,在所述數(shù)據(jù)庫中生成與所述分組后的各組數(shù)據(jù)相對應的表格,并將所述分組后的各組數(shù)據(jù)寫入所述表格。6.根據(jù)權利要求4所述的提交數(shù)據(jù)的方法,其特征在于,所述當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的各組數(shù)據(jù)按先后順序提交,對同一組內(nèi)的數(shù)據(jù)進行一次提交,包括:當向數(shù)據(jù)庫提交一組數(shù)據(jù)時,在所述數(shù)據(jù)庫中生成與該組數(shù)據(jù)相對應的表格,并將該組數(shù)據(jù)寫入所述表格。7.根據(jù)權利要求5或6所述的提交數(shù)據(jù)的方法,其特征在于,在接收用戶上報數(shù)據(jù)的請求之前包括:預先定義超文本傳輸協(xié)議請求中參數(shù)與數(shù)據(jù)庫表之間的協(xié)議。8.根據(jù)權利要求1或7所述的提交數(shù)據(jù)的方法,其特征在于,所述對用戶請求上報的數(shù)據(jù)進行分組,并保存在臨時存儲器中之前包括:對用戶上報數(shù)據(jù)的請求進行分析,確定用戶所要上報的數(shù)據(jù)類型;根據(jù)確定出的所述數(shù)據(jù)類型,為所述上報數(shù)據(jù)的請求分配指定的服務器。9.根據(jù)權利要求1或7所述的提交數(shù)據(jù)的方法,其特征在于,在對用戶請求上報的數(shù)據(jù)進行分組,并保存在臨時存儲器中的同時,還包括:根據(jù)信息摘要算法5對用戶上報數(shù)據(jù)的請求中的請求參數(shù)進行加密,生成唯一密鑰;通過所述密鑰在所述臨時存儲器中查找相應的數(shù)據(jù);若所述數(shù)據(jù)已經(jīng)存在,則將所述數(shù)據(jù)對應的計數(shù)器進行加法操作;若查找不到所述數(shù)據(jù),則將所述數(shù)據(jù)保存在臨時存儲器中,并將所述數(shù)據(jù)對應的計數(shù)器初始化為1。10.根據(jù)權利要求1、2、4-9任一項所述的提交數(shù)據(jù)的方法,其特征在于,所述臨時存儲器是Redis存儲系統(tǒng)。11.一種提交數(shù)據(jù)的裝置,其特征在于,包括:數(shù)據(jù)接收單元,用于接收用戶上報數(shù)據(jù)的請求;分組單元,用于對用戶請求上報的數(shù)據(jù)進行分組;臨時存儲器,用于保存所述用戶請求上報的數(shù)據(jù);數(shù)據(jù)提交單元,用于當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的數(shù)據(jù)進行一次提交。12.根據(jù)權利要求11所述的提交數(shù)據(jù)的裝置,其特征在于,所述數(shù)據(jù)接收單元用于接收用戶通過同一個應用程序接口上報數(shù)據(jù)的請求。13.根據(jù)權利要求11或12所述的提交數(shù)據(jù)的裝置,其特征在于,所述分組單元包括:檢測模塊,用于對用戶請求上報的數(shù)據(jù)進行檢測,確定出用戶請求上報的數(shù)據(jù)類型;編碼生成模塊,用于根據(jù)確定出的數(shù)據(jù)類型,對不同類型的數(shù)據(jù)生成不同的標識符編碼;分組模塊,用于將具有相同標識符編碼的數(shù)據(jù)分為同一組。14.根據(jù)權利要求11所述的提交數(shù)據(jù)的裝置,其特征在于,所述數(shù)據(jù)提交單元用于當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的各組數(shù)據(jù)進行一次提交;或者用于當向數(shù)據(jù)庫提交數(shù)據(jù)時,將所述分組后的各組數(shù)據(jù)按先后順序提交,對同一組內(nèi)的數(shù)據(jù)進行一次提交。15.根據(jù)權利要求14所述的提交數(shù)據(jù)的裝置,其特征在于,所述數(shù)據(jù)提交單元包括:第一生成模塊,用于當向數(shù)據(jù)庫提交數(shù)據(jù)時,在所述數(shù)據(jù)庫中生成與所述分組后的各組數(shù)據(jù)相對應的表格;第一寫入模塊,用于將所述分組后的各組數(shù)據(jù)寫入所述表格。16.根據(jù)權利要求14所述的提交數(shù)據(jù)的裝置,其特征在于,所述數(shù)據(jù)提交單元包括:第二生成模塊,用于當向數(shù)據(jù)庫提交一組數(shù)據(jù)時,在所述數(shù)據(jù)庫中生成與該組數(shù)據(jù)相對應的表格;第二寫入模塊,用于將該組數(shù)據(jù)寫入所述表格。17.根據(jù)權利要求15或16所述的提交數(shù)據(jù)的裝置,其特征在于,還包括:定義單元,用于預先定義超文本傳輸協(xié)議請求中參數(shù)與數(shù)據(jù)庫表之間的協(xié)議。18.根據(jù)權利要求11或17所述的提交數(shù)據(jù)的裝置,其特征在于,還包括:分析單元,用于對用戶上報數(shù)據(jù)的請求進行分析,確定用戶所要上報的數(shù)據(jù)類型;分配單元,用于根據(jù)確定出的所述數(shù)據(jù)類型,為所述上報數(shù)據(jù)的請求分配指定的服務器。19.根據(jù)權利要求11或17所述的提交數(shù)據(jù)的裝置,其特征在于,還包括:加密單元,用于根據(jù)信息摘要算法5對用戶上報數(shù)據(jù)的請求中的請求參數(shù)進行加密,生成唯一密鑰;查找單元,用于通過所述密鑰在所述臨時存儲器中查找相應的數(shù)據(jù);計數(shù)單元,用于若所述數(shù)據(jù)在所述臨時存儲器中已經(jīng)存在時,將所述數(shù)據(jù)對應的計數(shù)器進行加法操作;保存單元,用于若所述查找單元在所述臨時存儲器中查找不到所述數(shù)據(jù),則將所述數(shù)據(jù)保存在臨時存儲器中,同時將所述數(shù)據(jù)對應的計數(shù)器初始化為1。20.根據(jù)權利要求11、12、14-19任一項所述的提交數(shù)據(jù)的裝置,其特征在于,所述臨時存儲器是Redis存儲系統(tǒng)?!疚臋n編號】G06F17/30GK104090938SQ201410301838【公開日】2014年10月8日申請日期:2014年6月26日優(yōu)先權日:2014年6月26日【發(fā)明者】黃曉禹申請人:廣州金山網(wǎng)絡科技有限公司