本發(fā)明涉及移動通信領域,尤其涉及一種信息查詢方法及系統(tǒng)。
背景技術:
在移動互聯(lián)網(wǎng)中,移動終端如手機和PAD終端通過電信運營商進行無線方式接入,實現(xiàn)網(wǎng)絡的訪問。為了保障公共信息安全,電信運營商對通過CTNET、CTWAP或者WLAN方式接入,訪問互聯(lián)網(wǎng)業(yè)務的網(wǎng)絡痕跡數(shù)據(jù)進行了留存。主要包含了兩種類型痕跡數(shù)據(jù),移動上網(wǎng)用戶在接入互聯(lián)網(wǎng)時認證登錄過程中痕跡和移動上網(wǎng)用戶在接入互聯(lián)網(wǎng)后訪問互聯(lián)網(wǎng)時痕跡數(shù)據(jù)。
隨著移動互聯(lián)網(wǎng)的迅猛發(fā)展和智能手機終端的普及,移動上網(wǎng)的痕跡留存數(shù)據(jù)量由GB級別突破到TB級別。以福建電信900萬C網(wǎng)用戶,2014年1月的每天產(chǎn)生的原始上網(wǎng)痕跡數(shù)據(jù)為700G。按照至少保存3個月的中國工信部要求,那么數(shù)據(jù)總量在70T,而且有日益增長的趨勢。
現(xiàn)有的技術解決架構為把上網(wǎng)痕跡數(shù)據(jù)關聯(lián)匹配后,裝載入關系型數(shù)據(jù)庫,來實現(xiàn)對用戶上網(wǎng)行為的查詢和統(tǒng)計分析。當遍歷查詢的數(shù)據(jù)量在10TB以上時,集中式的關系型數(shù)據(jù)庫處理系統(tǒng),出現(xiàn)了數(shù)據(jù)查詢定位緩慢,檢索一個用戶的一周上網(wǎng)痕跡數(shù)據(jù)時需要耗費接近6小時,對宏觀的用戶網(wǎng)絡行為分析在現(xiàn)有架構下無法完成。即使目前互聯(lián)網(wǎng)行業(yè)已大量采用hadoop大數(shù)據(jù)技術運用在用戶行為分析上,但仍然需要因業(yè)務量快速增長而帶來的分析數(shù)據(jù)量的海量增加,不斷被動地手工調(diào)整云計算資源和存儲資源。
因此,有必要提出一種高效的移動上網(wǎng)的痕跡留存數(shù)據(jù)留存和檢索方法以解決上述技術問題。
技術實現(xiàn)要素:
本公開要解決的一個技術問題是如何提出一種高效的移動上網(wǎng)的痕跡留存數(shù)據(jù)留存和檢索方法解決現(xiàn)有技術中海量數(shù)據(jù)存儲與檢索中存在的問題。
本公開提供一種信息查詢方法,包括:在接收到查詢用戶發(fā)送的查詢統(tǒng)計請求后,對查詢統(tǒng)計請求進行任務分解以得到相應的map reduce任務;根據(jù)得到的map reduce任務,從分布式文件系統(tǒng)中相應的分布式數(shù)據(jù)存儲節(jié)點讀取數(shù)據(jù);其中在分布式文件系統(tǒng)中的Hive數(shù)據(jù)倉庫中,數(shù)據(jù)存儲采用RcFile格式;根據(jù)各分布式數(shù)據(jù)存儲節(jié)點讀取的數(shù)據(jù)進行分布式計算;將各分布式數(shù)據(jù)存儲節(jié)點的計算結果進行合并,以得到查詢結果;將查詢結果提供給查詢用戶。
進一步地,該方法包括:實時采集移動用戶的上網(wǎng)痕跡數(shù)據(jù);將采集到的上網(wǎng)痕跡數(shù)據(jù)裝載到分布式文件系統(tǒng)中的Hive數(shù)據(jù)倉庫中。
進一步地,該方法包括:在將采集到的上網(wǎng)痕跡數(shù)據(jù)裝載到分布式文件系統(tǒng)中的Hive數(shù)據(jù)倉庫中的步驟中,還包括:
在進行Hive數(shù)據(jù)倉庫中數(shù)據(jù)表創(chuàng)建時,根據(jù)查詢統(tǒng)計請求任務分解個數(shù)和系統(tǒng)能力確定分桶個數(shù)。
進一步地,該方法包括:利用公式
Buckets=min(data_total_size/dfs.block.size,map_count)
計算分桶個數(shù)Buckets,其中min()為取最小值函數(shù),data_total_size為上網(wǎng)痕跡數(shù)據(jù)總量,dfs.block.size為分布式文件系統(tǒng)中配置的文件塊大小,map_count為查詢統(tǒng)計請求任務分解個數(shù)。
進一步地,該方法包括:上網(wǎng)痕跡數(shù)據(jù)包括DPI設備分類上傳的認證信息和互聯(lián)網(wǎng)訪問信息、WAP網(wǎng)關分類上傳的認證信息和互聯(lián)網(wǎng)訪問信息、防火墻的SYSLOG日志服務器上傳的NAT地址轉(zhuǎn)換信息。
本發(fā)明還提供一種信息查詢系統(tǒng),包括接口單元、查詢驅(qū)動單元、數(shù)據(jù)處理單元和分布式文件系統(tǒng),其中:接口單元,用于接收查詢用戶發(fā)送的查詢統(tǒng)計請求;查詢驅(qū)動單元,用于在接口單元接收到查詢用戶發(fā)送的查詢統(tǒng)計請求后,對查詢統(tǒng)計請求進行任務分解,以得到相應的 map reduce任務,并將得到的map reduce任務提供給數(shù)據(jù)讀取單元;數(shù)據(jù)處理單元,用于根據(jù)得到的map reduce任務,從分布式文件系統(tǒng)中相應的分布式數(shù)據(jù)存儲節(jié)點讀取數(shù)據(jù),根據(jù)各分布式數(shù)據(jù)存儲節(jié)點讀取的數(shù)據(jù)進行分布式計算,將各分布式數(shù)據(jù)存儲節(jié)點的計算結果進行合并,以得到查詢結果;并指示接口單元將查詢結果提供給查詢用戶;分布式文件系統(tǒng),用于存儲分布式數(shù)據(jù),其中在分布式文件系統(tǒng)中的Hive數(shù)據(jù)倉庫中,數(shù)據(jù)存儲采用RcFile格式。
進一步地,還包括:采集單元和數(shù)據(jù)裝載單元,其中:
采集單元,用于實時采集移動用戶的上網(wǎng)痕跡數(shù)據(jù);
數(shù)據(jù)裝載單元,用于將采集單元采集到的上網(wǎng)痕跡數(shù)據(jù)裝載到分布式文件系統(tǒng)中的Hive數(shù)據(jù)倉庫中。
進一步地,數(shù)據(jù)裝載單元具體在進行Hive數(shù)據(jù)倉庫中數(shù)據(jù)表創(chuàng)建時,根據(jù)查詢統(tǒng)計請求任務分解個數(shù)和系統(tǒng)能力確定分桶個數(shù)。
進一步地,數(shù)據(jù)裝載單元利用公式
Buckets=min(data_total_size/dfs.block.size,map_count)
計算分桶個數(shù)Buckets,其中min()為取最小值函數(shù),data_total_size為上網(wǎng)痕跡數(shù)據(jù)總量,dfs.block.size為分布式文件系統(tǒng)中配置的文件塊大小,map_count為查詢統(tǒng)計請求任務分解個數(shù)。
進一步地,上網(wǎng)痕跡數(shù)據(jù)包括DPI設備分類上傳的認證信息和互聯(lián)網(wǎng)訪問信息、WAP網(wǎng)關分類上傳的認證信息和互聯(lián)網(wǎng)訪問信息、防火墻的SYSLOG日志服務器上傳的NAT地址轉(zhuǎn)換信息。
本公開提供的信息查詢方法與系統(tǒng),以自動資源適配的方式自動增加云資源計算節(jié)點,提升移動上網(wǎng)日志查詢和分析的效率。
附圖說明
圖1示出本發(fā)明一個實施例的信息查詢方法的流程圖。
圖2示出本發(fā)明一個實施例的信息查詢系統(tǒng)的結構示意圖。
圖3示出本發(fā)明一個實施例的信息查詢方法的流程示意圖。
圖4示出本發(fā)明一個實施例的信息查詢方法的效果圖。
圖5示出本發(fā)明一個實施例的信息查詢系統(tǒng)的結構框圖。
圖6示出本發(fā)明的另一個實施例的信息查詢系統(tǒng)的結構框圖。
具體實施方式
下面參照附圖對本發(fā)明進行更全面的描述,其中說明本發(fā)明的示例性實施例。
圖1示出本發(fā)明一個實施例的信息查詢方法的流程圖。如圖1所示,該方法主要包括:
步驟100,在接收到查詢用戶發(fā)送的查詢統(tǒng)計請求后,對查詢統(tǒng)計請求進行任務分解,以得到相應的map reduce任務。
步驟102,根據(jù)得到的map reduce任務,從分布式文件系統(tǒng)中相應的分布式數(shù)據(jù)存儲節(jié)點讀取數(shù)據(jù);其中在分布式文件系統(tǒng)中的Hive數(shù)據(jù)倉庫中,數(shù)據(jù)存儲采用RcFile格式。
在一個實施例中,實時采集移動用戶的上網(wǎng)痕跡數(shù)據(jù);將采集到的上網(wǎng)痕跡數(shù)據(jù)裝載到分布式文件系統(tǒng)中的Hive數(shù)據(jù)倉庫中。
在一個實施例中,上網(wǎng)痕跡數(shù)據(jù)包括DPI設備分類上傳的認證信息和互聯(lián)網(wǎng)訪問信息、WAP網(wǎng)關分類上傳的認證信息和互聯(lián)網(wǎng)訪問信息、防火墻的SYSLOG日志服務器上傳的NAT地址轉(zhuǎn)換信息。
在一個實施例中,在進行Hive數(shù)據(jù)倉庫中數(shù)據(jù)表創(chuàng)建時,根據(jù)查詢統(tǒng)計請求任務分解個數(shù)和系統(tǒng)能力確定分桶個數(shù)。
在一個實施例中,可以利用公式
Buckets=min(data_total_size/dfs.block.size,map_count)
計算分桶個數(shù)Buckets,其中min()為取最小值函數(shù),data_total_size為上網(wǎng)痕跡數(shù)據(jù)總量,dfs.block.size為分布式文件系統(tǒng)中配置的文件塊大小,map_count為查詢統(tǒng)計請求任務分解個數(shù)。這樣,以自動資源適配的方式自動增加云資源計算節(jié)點,有利于后期進行檢索。
步驟104,根據(jù)各分布式數(shù)據(jù)存儲節(jié)點讀取的數(shù)據(jù)進行分布式計算。具體地可以根據(jù)分桶算法形成的存儲節(jié)點進行分布計算,這樣可以 提升移動上網(wǎng)日志查詢和分析的效率。
步驟106,將各分布式數(shù)據(jù)存儲節(jié)點的計算結果進行合并,以得到查詢結果。
步驟108,將查詢結果提供給查詢用戶。
本發(fā)明實施例提供的信息查詢方法,可以充分發(fā)揮云計算資源池和Hadoop分布式大數(shù)據(jù)處理兩種技術優(yōu)勢,在數(shù)據(jù)倉庫Hive使用優(yōu)化數(shù)據(jù)分桶算法,并且對上網(wǎng)痕跡類型數(shù)據(jù)采用Rcfile壓縮格式存儲,其中,Hive RcFile壓縮存儲格式的使用,相比Hadoop中自然TextFile格式,相同數(shù)量數(shù)據(jù)可節(jié)省2/3存儲空間;Hive使用優(yōu)化數(shù)據(jù)分桶算法,相比Hive自然中不分桶存儲,業(yè)務查詢時間大幅提升。
圖2示出本發(fā)明一個實施例的信息查詢系統(tǒng)的結構示意圖。本發(fā)明提供一種構建在X86架構云計算資源池上的HADOOP分布式大數(shù)據(jù)處理系統(tǒng),以自動資源適配的方式,自動增加云資源計算節(jié)點,提升移動上網(wǎng)日志查詢和分析的效率。如圖2所示,該系統(tǒng)包括:日志采集模塊27、X86架構的云計算資源池21,HDFS分布式文件系統(tǒng)22、map reduce23、PIC查詢模塊25、HIVE統(tǒng)計分析模塊26。其中,日志采集模塊27是負責移動上網(wǎng)痕跡數(shù)據(jù)采集的模塊,移動上網(wǎng)痕跡數(shù)據(jù)采集模塊部署在具備高速網(wǎng)絡接入的物理設備上,負責把分組域的DPI設備分類上傳認證信息和互聯(lián)網(wǎng)訪問信息、WAP網(wǎng)關分類上傳認證信息、互聯(lián)網(wǎng)訪問信息(包括代理信息)、防火墻的SYSLOG日志服務器上傳NAT地址轉(zhuǎn)換信息進行收集和關聯(lián)。
大數(shù)據(jù)查詢分析模塊部署在x86架構的云計算資源池21上,充分利用云計算Iaas的靈活計算資源調(diào)度能力,大數(shù)據(jù)查詢分析模塊將移動上網(wǎng)痕跡數(shù)據(jù)采集模塊中關聯(lián)完畢的痕跡數(shù)據(jù)裝載進入Hive數(shù)據(jù)倉庫,數(shù)據(jù)存儲采用RcFile格式,Hadoop平臺系統(tǒng)中常用的文件存儲格式有支持文本的TextFile和支持二進制的SequenceFile等,它們都屬于行存儲方式。RCFile(Record Columnar File)存儲結構遵循的是“先水平劃分,再垂直劃分”的設計理念。
首先,RCFile具備相當于行存儲的數(shù)據(jù)加載速度和負載適應能 力;其次,RCFile的讀優(yōu)化可以在掃描表格時避免不必要的列讀取,測試顯示在多數(shù)情況下,它比其他結構擁有更好的性能;再次,RCFile使用列維度的壓縮,因此能夠有效提升存儲空間利用率,一般而言,Hive RcFile壓縮存儲格式的使用,相比Hadoop中自然TextFile格式,相同數(shù)量數(shù)據(jù)可節(jié)省2/3存儲空間。
在進行數(shù)據(jù)表創(chuàng)建時分桶個數(shù)計算公式如下:
Buckets=min(data_total_size/dfs.block.size,map_count)
其中buckets為分桶個數(shù);data_total_size為數(shù)據(jù)總大小;dfs.block.size為hdfs中配置的文件快大小。map_count為業(yè)務查詢?nèi)蝿辗纸鈧€數(shù)。
按照上述公式確定分桶個數(shù),進行數(shù)據(jù)倉庫Hive中數(shù)據(jù)表創(chuàng)建時,可以充分考慮后續(xù)業(yè)務查詢分解和現(xiàn)有系統(tǒng)能力配置的匹配,經(jīng)過同量數(shù)據(jù)的反復測試,達到了時間和資源的優(yōu)化平衡,可以有效的縮短后期檢索所使用的時間。
圖3示出本發(fā)明一個實施例的信息查詢方法的流程示意圖。如圖3所示,該方法包括:
步驟301,用戶通過Web interface31發(fā)送查詢統(tǒng)計請求。
處理用戶通過web interface發(fā)送的查詢統(tǒng)計請求,并將所述查詢統(tǒng)計請求發(fā)送給Hive Drive32。
步驟302,Hive Drive32分解任務引擎。
具體地,Hive Drive32分解和翻譯查詢統(tǒng)計請求,將該查詢統(tǒng)計請求分解和翻譯為map reduce(映射歸約)任務。
步驟303,Map reduce33根據(jù)任務的依賴關系,執(zhí)行各種mapreduce任務。
具體地,一個mapreduce任務都被序列化到一個plan.xml文件中,然后加載到job cache中,并且各部分解析plan.xml(反序列化),并執(zhí)行相關操作,將結果放入臨時的位置,再由DML(數(shù)據(jù)操縱語言)轉(zhuǎn)移到指定位置。
步驟304,HDFS(Hadoop Distributed File System,分布式文件系 統(tǒng))調(diào)取分布式數(shù)據(jù)存儲節(jié)點數(shù)據(jù)進行分布式計算,其中該分布式存儲節(jié)點的數(shù)據(jù)是根據(jù)分桶算法得到的數(shù)據(jù)。
步驟305,Map reduce33合并各個節(jié)點的計算結果。
步驟306,Hive Drive32返回展現(xiàn)結果給Web interface31,以通過Web interface31將展現(xiàn)結果展現(xiàn)給查詢用戶。
圖4示出本發(fā)明一個實施例的信息查詢方法的效果圖,以福建電信移動上網(wǎng)痕跡數(shù)據(jù)的采集分析為例。福建電信900萬C網(wǎng)用戶,2014年1月的每天產(chǎn)生的原始上網(wǎng)痕跡數(shù)據(jù)為700G,按照至少保存3個月的中國工信部要求,數(shù)據(jù)總量在70T,按照本發(fā)明的架構,日志采集模塊和各個數(shù)據(jù)源通過光纖高速互聯(lián),并且使用物理服務器,實現(xiàn)數(shù)據(jù)的匯聚和關聯(lián)。
本發(fā)明的主要核心模塊,承載在福建電信業(yè)務云計算資源池,使用vmware vspher的虛擬化計算平臺,開通6個處理節(jié)點。采用本發(fā)明實施例的分桶算法進行存儲時,針對用戶的漫游訪問模型、提籃臨近模型、最高訪問目的模型等實現(xiàn)了行為分析,在對100億條的數(shù)據(jù)查詢,測試查詢結果為1201秒,相比原集中式關系數(shù)據(jù)庫處理系統(tǒng),有了大幅提升。
圖5示出本發(fā)明一個實施例的信息查詢系統(tǒng)的結構框圖,該系統(tǒng)500包括接口單元501、查詢驅(qū)動單元502、數(shù)據(jù)處理單元503和分布式文件系統(tǒng)504,其中:接口單元501用于接收查詢用戶發(fā)送的查詢統(tǒng)計請求;查詢驅(qū)動單元502用于在接口單元接收到查詢用戶發(fā)送的查詢統(tǒng)計請求后,對查詢統(tǒng)計請求進行任務分解,以得到相應的map reduce任務,并將得到的map reduce任務提供給數(shù)據(jù)讀取單元;數(shù)據(jù)處理單元503,用于根據(jù)得到的map reduce任務,從分布式文件系統(tǒng)中相應的分布式數(shù)據(jù)存儲節(jié)點讀取數(shù)據(jù),根據(jù)各分布式數(shù)據(jù)存儲節(jié)點讀取的數(shù)據(jù)進行分布式計算,將各分布式數(shù)據(jù)存儲節(jié)點的計算結果進行合并,以得到查詢結果;并指示接口單元將查詢結果提供給查詢用戶;分布式文件系統(tǒng)504,用于存儲分布式數(shù)據(jù),其中在分布式文件系統(tǒng)中的Hive數(shù)據(jù)倉庫中,數(shù)據(jù)存儲采用RcFile格式。
在一個實施例中,接口單元501可以為Web interface,查詢驅(qū)動單元502可以為Hive Drive,數(shù)據(jù)處理單元可以為Map reduce,分布式文件系統(tǒng)可以為HDFS。
在一個實施例中,該裝置還包括:采集單元505和數(shù)據(jù)裝載單元506,其中:采集單元505,用于實時采集移動用戶的上網(wǎng)痕跡數(shù)據(jù);數(shù)據(jù)裝載單元506,用于將采集單元采集到的上網(wǎng)痕跡數(shù)據(jù)裝載到分布式文件系統(tǒng)中的Hive數(shù)據(jù)倉庫中。
在一個實施例中,數(shù)據(jù)裝載單元506具體在進行Hive數(shù)據(jù)倉庫中數(shù)據(jù)表創(chuàng)建時,根據(jù)查詢統(tǒng)計請求任務分解個數(shù)和系統(tǒng)能力確定分桶個數(shù)。
在一個實施例中,數(shù)據(jù)裝載單元506利用公式
Buckets=min(data_total_size/dfs.block.size,map_count)
計算分桶個數(shù)Buckets,其中min()為取最小值函數(shù),data_total_size為上網(wǎng)痕跡數(shù)據(jù)總量,dfs.block.size為分布式文件系統(tǒng)中配置的文件塊大小,map_count為查詢統(tǒng)計請求任務分解個數(shù)。
在一個實施例中,上網(wǎng)痕跡數(shù)據(jù)包括DPI設備分類上傳的認證信息和互聯(lián)網(wǎng)訪問信息、WAP網(wǎng)關分類上傳的認證信息和互聯(lián)網(wǎng)訪問信息、防火墻的SYSLOG日志服務器上傳的NAT地址轉(zhuǎn)換信息。
圖6示出本發(fā)明的另一個實施例的信息查詢系統(tǒng)的結構框圖,該信息查詢系統(tǒng)600可以是具備計算能力的主機服務器、個人計算機PC、或者可攜帶的便攜式計算機、移動終端或其他終端等。本發(fā)明具體實施例并不對計算節(jié)點的具體實現(xiàn)做限定。
信息查詢系統(tǒng)600包括處理器(processor)601、通信接口(Communications Interface)602、存儲器(memory)603和總線604。其中,處理器601、通信接口602、以及存儲器603通過總線604完成相互間的通信。
通信接口602用于與網(wǎng)絡設備通信,其中網(wǎng)絡設備包括例如虛擬機管理中心、共享存儲等。
處理器601用于執(zhí)行程序。處理器601可以是一個中央處理器 CPU,或者可以是專用集成電路ASIC(Application Specific Integrated Circuit),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路。
存儲器603用于存放文件。存儲器603可以包含高速RAM存儲器,也可還包括非易失性存儲器(non-volatile memory),例如至少一個磁盤存儲器。存儲器603也可以是存儲器陣列。存儲器603還可能被分塊,并且塊可按一定的規(guī)則組合成虛擬卷。
在一種實施方式中,上述程序可為包括計算機操作指令的程序代碼。該程序具體可用于:在接收到查詢用戶發(fā)送的查詢統(tǒng)計請求后,對查詢統(tǒng)計請求進行任務分解,以得到相應的map reduce任務;根據(jù)得到的map reduce任務,從分布式文件系統(tǒng)中相應的分布式數(shù)據(jù)存儲節(jié)點讀取數(shù)據(jù);其中在分布式文件系統(tǒng)中的Hive數(shù)據(jù)倉庫中,數(shù)據(jù)存儲采用RcFile格式;根據(jù)各分布式數(shù)據(jù)存儲節(jié)點讀取的數(shù)據(jù)進行分布式計算;將各分布式數(shù)據(jù)存儲節(jié)點的計算結果進行合并,以得到查詢結果;將查詢結果提供給查詢用戶。
在一個具體地實施方式中,該方法還包括:實時采集移動用戶的上網(wǎng)痕跡數(shù)據(jù);將采集到的上網(wǎng)痕跡數(shù)據(jù)裝載到分布式文件系統(tǒng)中的Hive數(shù)據(jù)倉庫中。
在一個具體地實施方式中,在將采集到的上網(wǎng)痕跡數(shù)據(jù)裝載到分布式文件系統(tǒng)中的Hive數(shù)據(jù)倉庫中的步驟中,還包括:在進行Hive數(shù)據(jù)倉庫中數(shù)據(jù)表創(chuàng)建時,根據(jù)查詢統(tǒng)計請求任務分解個數(shù)和系統(tǒng)能力確定分桶個數(shù)。
在一個具體地實施方式中,利用公式
Buckets=min(data_total_size/dfs.block.size,map_count)
計算分桶個數(shù)Buckets,其中min()為取最小值函數(shù),data_total_size為上網(wǎng)痕跡數(shù)據(jù)總量,dfs.block.size為分布式文件系統(tǒng)中配置的文件塊大小,map_count為查詢統(tǒng)計請求任務分解個數(shù)。
在一個具體地實施方式中,上網(wǎng)痕跡數(shù)據(jù)包括DPI設備分類上傳的認證信息和互聯(lián)網(wǎng)訪問信息、WAP網(wǎng)關分類上傳的認證信息和互聯(lián)網(wǎng)訪問信息、防火墻的SYSLOG日志服務器上傳的NAT地址轉(zhuǎn)換信息。
本領域普通技術人員可以意識到,本文所描述的實施例中的各示例性單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現(xiàn)。這些功能究竟以硬件還是軟件形式來實現(xiàn),取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以針對特定的應用選擇不同的方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。
如果以計算機軟件的形式來實現(xiàn)功能并作為獨立的產(chǎn)品銷售或使用時,則在一定程度上可認為本發(fā)明的技術方案的全部或部分(例如對現(xiàn)有技術做出貢獻的部分)是以計算機軟件產(chǎn)品的形式體現(xiàn)的。該計算機軟件產(chǎn)品通常存儲在計算機可讀取的非易失性存儲介質(zhì)中,包括若干指令用以使得計算機設備(可以是個人計算機、服務器、或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各實施例方法的全部或部分步驟。而前述的存儲介質(zhì)包括U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無遺漏的或者將本發(fā)明限于所公開的形式。很多修改和變化對于本領域的普通技術人員而言是顯然的。選擇和描述實施例是為了更好說明本發(fā)明的原理和實際應用,并且使本領域的普通技術人員能夠理解本發(fā)明從而設計適于特定用途的帶有各種修改的各種實施例。