一種基于r語言的大數(shù)據(jù)量數(shù)據(jù)篩選方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種基于R語言的大數(shù)據(jù)量數(shù)據(jù)篩選方法和系統(tǒng)。方法包括以下步驟,搭建R語言服務(wù)器;將原關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到R語言服務(wù)器內(nèi)存;用戶在業(yè)務(wù)系統(tǒng)的客戶端,自定義用于篩選的R語言腳本;根據(jù)用于篩選的R語言腳本,對導(dǎo)入到R語言服務(wù)器內(nèi)存中的數(shù)據(jù)進行篩選,并返回篩選結(jié)果。本發(fā)明提供用于自定義R語言腳本的可視化界面,可以簡單靈活地對R語言腳本進行可視化編輯,并且封裝一套符合JDBC接口規(guī)范的客戶端JAR包,復(fù)用性高,可以方便地將對原關(guān)系型數(shù)據(jù)庫的訪問遷移到R語言服務(wù)器;同時利用R語言的內(nèi)存計算特性,實現(xiàn)了對數(shù)據(jù)的快速篩選。
【專利說明】
一種基于R語言的大數(shù)據(jù)量數(shù)據(jù)篩選方法和系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種基于R語言的大數(shù)據(jù)量數(shù)據(jù)篩選方法和系統(tǒng)。
【背景技術(shù)】
[0002]傳統(tǒng)業(yè)務(wù)系統(tǒng)通常采用B/S架構(gòu),將數(shù)據(jù)存放在關(guān)系型數(shù)據(jù)庫中,整個業(yè)務(wù)系統(tǒng)的運行效率很大程度上依賴于數(shù)據(jù)庫和服務(wù)器的性能,因此在進行大數(shù)據(jù)量查詢時,數(shù)據(jù)庫往往成為系統(tǒng)的性能瓶頸,尤其在查詢條件過多時,很難通過給數(shù)據(jù)庫增加索引的方式來進行優(yōu)化。而R語言是一套完整的數(shù)據(jù)處理、計算系統(tǒng),基于其強大的數(shù)據(jù)運算能力,尤其是向量、矩陣方面的運算能力,在數(shù)據(jù)存儲和處理領(lǐng)域,能夠提供相比傳統(tǒng)關(guān)系型數(shù)據(jù)庫更快捷的處理速度,從而提高數(shù)據(jù)處理的效率。
【發(fā)明內(nèi)容】
[0003]本發(fā)明所要解決的技術(shù)問題是提供一種基于R語言的大數(shù)據(jù)量數(shù)據(jù)篩選方法和系統(tǒng),解決了現(xiàn)有技術(shù)進行大數(shù)據(jù)量篩選時,速度慢且難以對篩選過程進行優(yōu)化的技術(shù)問題。
[0004]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種基于R語言的大數(shù)據(jù)量數(shù)據(jù)篩選方法,包括以下步驟,
[0005]步驟I,搭建R語言服務(wù)器;
[0006]步驟2,將原關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到所述R語言服務(wù)器內(nèi)存;
[0007]步驟3,用戶在業(yè)務(wù)系統(tǒng)的客戶端,自定義用于篩選的R語言腳本;
[0008]步驟4,根據(jù)所述用于篩選的R語言腳本,對導(dǎo)入到R語言服務(wù)器內(nèi)存中的數(shù)據(jù)進行篩選,并返回篩選結(jié)果。
[0009]本發(fā)明的有益效果是:本發(fā)明提供用于自定義R語言腳本的可視化界面,可以簡單靈活地對R語言腳本進行可視化編輯,并且封裝一套符合JDBC接口規(guī)范的客戶端JAR包,復(fù)用性高,可以方便地將對原關(guān)系型數(shù)據(jù)庫的訪問迀移到R語言服務(wù)器;同時利用R語言的內(nèi)存計算特性,實現(xiàn)了對數(shù)據(jù)的快速篩選。
[0010]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進。
[0011]進一步,步驟2具體為:編寫用于讀取數(shù)據(jù)的R語言腳本,通過調(diào)用shell將指定的關(guān)系型數(shù)據(jù)庫表數(shù)據(jù)加載到所述R語言服務(wù)器內(nèi)存。
[0012]進一步,步驟2還包括數(shù)據(jù)更新步驟,具體為:對實時性要求不高的數(shù)據(jù),設(shè)置定時任務(wù),在指定的時間間隔觸發(fā)數(shù)據(jù)更新操作,將關(guān)系型數(shù)據(jù)庫中更新的數(shù)據(jù)加載到所述R語言服務(wù)器內(nèi)存;對實時性高的數(shù)據(jù),編寫守護進程,實時監(jiān)控關(guān)系數(shù)據(jù)庫中指定表的數(shù)據(jù)更新情況,并將更新的數(shù)據(jù)同步加載到所述R語言服務(wù)器內(nèi)存。
[0013]采用上述進一步方案的有益效果是:本進一步的技術(shù)方案采用shell定時任務(wù),定時觸發(fā)數(shù)據(jù)庫中指定表數(shù)據(jù)加載到R語言服務(wù)器內(nèi)存,方法簡單,加載數(shù)據(jù)快,而且可以及時對R語言服務(wù)器內(nèi)存中的數(shù)據(jù)進行更新。
[0014]進一步,步驟4具體為:
[0015]在業(yè)務(wù)系統(tǒng)的客戶端封裝符合JDBC規(guī)范的客戶端JAR包;
[0016]對業(yè)務(wù)系統(tǒng)的數(shù)據(jù)訪問層代碼進行改造,將對指定的關(guān)系型數(shù)據(jù)庫表數(shù)據(jù)的訪問操作迀移到所述R語言服務(wù)器上;
[0017]根據(jù)所述用于篩選的R語言腳本,對R語言服務(wù)器內(nèi)存中的數(shù)據(jù)進行篩選,并返回篩選結(jié)果。
[0018]采用上述進一步方案的有益效果是:采用符合JDBC接口規(guī)范的客戶端JAR包,可以方便的對業(yè)務(wù)系統(tǒng)的數(shù)據(jù)訪問層代碼進行改造,將對指定的關(guān)系型數(shù)據(jù)庫表數(shù)據(jù)的訪問操作迀移到所述R語言服務(wù)器上,復(fù)用性高,改造過程簡單。
[0019]進一步,所述步驟3中,配置可視化界面,用戶通過所述可視化界面自定義R語言腳本。
[0020]采用上述進一步方案的有益效果是:本進一步的技術(shù)方案采用可視化界面自定義R語言腳本,配置簡單靈活,可維護性好。
[0021]—種基于R語言的大數(shù)據(jù)量數(shù)據(jù)篩選系統(tǒng),包括服務(wù)器搭建模塊、數(shù)據(jù)迀移模塊、腳本編輯模塊和篩選模塊,
[0022]所述服務(wù)器搭建模塊用于搭建R語言服務(wù)器;
[0023]所述數(shù)據(jù)迀移模塊用于將原關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到所述R語言服務(wù)器內(nèi)存;
[0024]所述腳本編輯模塊用于用戶在業(yè)務(wù)系統(tǒng)的客戶端,自定義用于篩選的R語言腳本;
[0025]所述篩選模塊用于根據(jù)所述用于篩選的R語言腳本,對導(dǎo)入到R語言服務(wù)器內(nèi)存中的數(shù)據(jù)進行篩選,并返回篩選結(jié)果。
[0026]進一步,還包括數(shù)據(jù)更新模塊,所述數(shù)據(jù)更新模塊用于對實時性要求不高的數(shù)據(jù),設(shè)置定時任務(wù),在指定的時間間隔觸發(fā)數(shù)據(jù)更新操作;對實時性高的數(shù)據(jù),編寫守護進程,實時監(jiān)控原關(guān)系數(shù)據(jù)庫中指定表的數(shù)據(jù)更新情況,并將更新的數(shù)據(jù)同步加載到所述R語言服務(wù)器內(nèi)存。
[0027]進一步,還包括可視化界面,所述可視化界面用于對R語言腳本進行可視化編輯。
【附圖說明】
[0028]圖1為本發(fā)明一種基于R語言的大數(shù)據(jù)量數(shù)據(jù)篩選方法的流程示意圖;
[0029]圖2為本發(fā)明一種基于R語言的大數(shù)據(jù)量數(shù)據(jù)篩選系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0030]以下結(jié)合附圖對本發(fā)明的原理和特征進行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0031]如圖1所示,為本發(fā)明一種基于R語言的大數(shù)據(jù)量數(shù)據(jù)篩選方法的流程示意圖,包括以下步驟:
[0032]步驟I,搭建R語言服務(wù)器。
[0033]步驟2,將原關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到所述R語言服務(wù)器內(nèi)存;具體可以編寫用于讀取數(shù)據(jù)的R語言腳本,通過調(diào)用shell將指定的關(guān)系型數(shù)據(jù)庫表數(shù)據(jù)加載到所述R語言服務(wù)器內(nèi)存。
[0034]步驟3,用戶在業(yè)務(wù)系統(tǒng)的客戶端,自定義用于篩選的R語言腳本??梢栽诳蛻舳伺渲每梢暬缑?,用戶通過所述可視化界面自定義R語言腳本。
[0035]步驟4,根據(jù)所述用于篩選的R語言腳本,對導(dǎo)入到R語言服務(wù)器內(nèi)存中的數(shù)據(jù)進行篩選,并返回篩選結(jié)果。
[0036]編寫用于讀取數(shù)據(jù)的R語言腳本,通過調(diào)用shell將指定的關(guān)系型數(shù)據(jù)庫表數(shù)據(jù)加載到所述R語言服務(wù)器內(nèi)存。
[0037]優(yōu)選的實施例中,步驟2中還包括對R語言服務(wù)器內(nèi)存中的數(shù)據(jù)進行更新的步驟,具體為:對實時性要求不高的數(shù)據(jù),設(shè)置定時任務(wù),在指定的時間間隔觸發(fā)數(shù)據(jù)更新操作,將關(guān)系型數(shù)據(jù)庫中更新的數(shù)據(jù)加載到所述R語言服務(wù)器內(nèi)存;對實時性高的數(shù)據(jù),編寫守護進程,實時監(jiān)控關(guān)系數(shù)據(jù)庫中指定表的數(shù)據(jù)更新情況,并將更新的數(shù)據(jù)同步加載到所述R語言服務(wù)器內(nèi)存。
[0038]在優(yōu)選的實施例中,步驟4具體為:
[0039]在業(yè)務(wù)系統(tǒng)的客戶端封裝符合JDBC規(guī)范的客戶端JAR包;
[0040]對業(yè)務(wù)系統(tǒng)的數(shù)據(jù)訪問層代碼進行改造,將對指定的關(guān)系型數(shù)據(jù)庫表數(shù)據(jù)的訪問操作迀移到所述R語言服務(wù)器上;
[0041]根據(jù)所述用于篩選的R語言腳本,對R語言服務(wù)器內(nèi)存中的數(shù)據(jù)進行篩選,并返回篩選結(jié)果。
[0042]如圖2所示,為本發(fā)明一種基于R語言的大數(shù)據(jù)量數(shù)據(jù)篩選系統(tǒng)的結(jié)構(gòu)示意圖,包括服務(wù)器搭建模塊、數(shù)據(jù)迀移模塊、腳本編輯模塊和篩選模塊,
[0043]所述服務(wù)器搭建模塊用于搭建R語言服務(wù)器;所述數(shù)據(jù)迀移模塊用于將原關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到所述R語言服務(wù)器內(nèi)存;所述腳本編輯模塊用于用戶在業(yè)務(wù)系統(tǒng)的客戶端,自定義用于篩選的R語言腳本;所述篩選模塊用于根據(jù)所述用于篩選的R語言腳本,對導(dǎo)入到R語言服務(wù)器內(nèi)存中的數(shù)據(jù)進行篩選,并返回篩選結(jié)果。
[0044]本實施例中,還包括數(shù)據(jù)更新模塊,所述數(shù)據(jù)更新模塊用于對實時性要求不高的數(shù)據(jù),設(shè)置定時任務(wù),在指定的時間間隔觸發(fā)數(shù)據(jù)更新操作;對實時性高的數(shù)據(jù),編寫守護進程,實時監(jiān)控原關(guān)系數(shù)據(jù)庫中指定表的數(shù)據(jù)更新情況,并將更新的數(shù)據(jù)同步加載到所述R語言服務(wù)器內(nèi)存。本實施例中,還可以設(shè)置可視化界面,通過可視化界面對R語言腳本進行可視化編輯。
[0045]本發(fā)明提供用于自定義R語言腳本的可視化界面,可以簡單靈活地對R語言腳本進行可視化編輯,并且封裝一套符合JDBC接口規(guī)范的客戶端JAR包,復(fù)用性高,可以方便地將對原關(guān)系型數(shù)據(jù)庫的訪問迀移到R語言服務(wù)器;同時利用R語言的內(nèi)存計算特性,實現(xiàn)了對數(shù)據(jù)的快速篩選。
[0046]盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。
【主權(quán)項】
1.一種基于R語言的大數(shù)據(jù)量數(shù)據(jù)篩選方法,其特征在于,包括以下步驟, 步驟I,搭建R語言服務(wù)器; 步驟2,將原關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到所述R語言服務(wù)器內(nèi)存; 步驟3,用戶在業(yè)務(wù)系統(tǒng)的客戶端自定義用于篩選的R語言腳本; 步驟4,根據(jù)所述用于篩選的R語言腳本對導(dǎo)入到R語言服務(wù)器內(nèi)存中的數(shù)據(jù)進行篩選,并返回篩選結(jié)果。2.根據(jù)權(quán)利要求1所述的基于R語言的大數(shù)據(jù)量數(shù)據(jù)篩選方法,其特征在于,步驟2具體為:編寫用于讀取數(shù)據(jù)的R語言腳本,通過調(diào)用shell將指定的關(guān)系型數(shù)據(jù)庫表數(shù)據(jù)加載到所述R語言服務(wù)器內(nèi)存。3.根據(jù)權(quán)利要求2所述的基于R語言的大數(shù)據(jù)量數(shù)據(jù)篩選方法,其特征在于,步驟2還包括數(shù)據(jù)更新步驟,具體為:對實時性要求不高的數(shù)據(jù),設(shè)置定時任務(wù),在指定的時間間隔觸發(fā)數(shù)據(jù)更新操作,將關(guān)系型數(shù)據(jù)庫中更新的數(shù)據(jù)加載到所述R語言服務(wù)器內(nèi)存;對實時性要求高的數(shù)據(jù),編寫守護進程,實時監(jiān)控關(guān)系數(shù)據(jù)庫中指定表的數(shù)據(jù)更新情況,并將更新的數(shù)據(jù)同步加載到所述R語言服務(wù)器內(nèi)存。4.根據(jù)權(quán)利要求1?3任一所述的基于R語言的大數(shù)據(jù)量數(shù)據(jù)篩選方法,其特征在于,步驟4具體為: 在業(yè)務(wù)系統(tǒng)的客戶端封裝符合JDBC規(guī)范的客戶端JAR包; 對業(yè)務(wù)系統(tǒng)的數(shù)據(jù)訪問層代碼進行改造,將對指定的關(guān)系型數(shù)據(jù)庫表數(shù)據(jù)的訪問操作迀移到所述R語言服務(wù)器上; 根據(jù)所述用于篩選的R語言腳本,對R語言服務(wù)器內(nèi)存中的數(shù)據(jù)進行篩選,并返回篩選結(jié)果。5.根據(jù)權(quán)利要求4所述的基于R語言的大數(shù)據(jù)量數(shù)據(jù)篩選方法,其特征在于,所述步驟3中,配置可視化界面,用戶通過所述可視化界面自定義R語言腳本。6.—種基于R語言的大數(shù)據(jù)量數(shù)據(jù)篩選系統(tǒng),其特征在于,包括服務(wù)器搭建模塊、數(shù)據(jù)迀移模塊、腳本編輯模塊和篩選模塊, 所述服務(wù)器搭建模塊用于搭建R語言服務(wù)器; 所述數(shù)據(jù)迀移模塊用于將原關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到所述R語言服務(wù)器內(nèi)存; 所述腳本編輯模塊用于用戶在業(yè)務(wù)系統(tǒng)的客戶端,自定義用于篩選的R語言腳本; 所述篩選模塊用于根據(jù)所述用于篩選的R語言腳本,對導(dǎo)入到R語言服務(wù)器內(nèi)存中的數(shù)據(jù)進行篩選,并返回篩選結(jié)果。7.根據(jù)權(quán)利要求6所述的基于R語言的大數(shù)據(jù)量數(shù)據(jù)篩選系統(tǒng),其特征在于,還包括數(shù)據(jù)更新模塊,所述數(shù)據(jù)更新模塊用于對實時性要求不高的數(shù)據(jù),設(shè)置定時任務(wù),在指定的時間間隔觸發(fā)數(shù)據(jù)更新操作;對實時性高的數(shù)據(jù),編寫守護進程,實時監(jiān)控原關(guān)系數(shù)據(jù)庫中指定表的數(shù)據(jù)更新情況,并將更新的數(shù)據(jù)同步加載到所述R語言服務(wù)器內(nèi)存。8.根據(jù)權(quán)利要求6所述的基于R語言的大數(shù)據(jù)量數(shù)據(jù)篩選系統(tǒng),其特征在于,還包括可視化界面,所述可視化界面用于對R語言腳本進行可視化編輯。
【文檔編號】G06F17/30GK105975574SQ201610289054
【公開日】2016年9月28日
【申請日】2016年5月4日
【發(fā)明人】陳蒙
【申請人】北京思特奇信息技術(shù)股份有限公司