一種r統(tǒng)計建模系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及計算機領(lǐng)域,尤其涉及一種R統(tǒng)計建模系統(tǒng)。
【背景技術(shù)】
[0002]R統(tǒng)計建模系統(tǒng)是一套完整的數(shù)據(jù)處理、計算和制圖軟件系統(tǒng)。其功能包括:數(shù)據(jù)存儲和處理;數(shù)組運算(其向量、矩陣運算方面功能尤其強大);完整連貫的統(tǒng)計分析;優(yōu)秀的統(tǒng)計制圖功能;簡便而強大的編程語言:可操縱數(shù)據(jù)的輸入和輸出,可實現(xiàn)分支、循環(huán),用戶可自定義功能。
[0003]目前已有的R統(tǒng)計建模系統(tǒng)主要包括兩種應用模式,一種為桌面單機應用模式,具有輕量靈活、易于使用的優(yōu)點,卻存在功能受限的不足,為了改善桌面單機應用模式的不足,服務器版應用模式應運而生,而在面對海量的數(shù)據(jù)量和計算量的情況下,服務器版應用模式的處理能力依然不足以滿足需求。
[0004]可見,如何提升R統(tǒng)計建模系統(tǒng)的處理能力,成為目前亟待解決的問題。
【發(fā)明內(nèi)容】
[0005]本申請?zhí)峁┝艘环NR統(tǒng)計建模系統(tǒng),目的在于解決如何提升R統(tǒng)計建模系統(tǒng)的處理能力的問題。
[0006]為了實現(xiàn)上述目的,本申請?zhí)峁┝艘韵录夹g(shù)方案:
[0007]一種R統(tǒng)計建模系統(tǒng),包括:
[0008]瀏覽器、反向代理服務器以及R服務器集群,所述R服務器集群中至少包括兩個R服務器;
[0009]其中:
[0010]所述瀏覽器用于向用戶提供交互用戶,所述門戶用于接收用戶輸入的訪問請求并向所述用戶反饋請求響應;
[0011]所述反向代理服務器用于使用負載均衡技術(shù),將所述訪問請求分配給所述R服務器集群中的服務器,并向所述瀏覽器反饋所述R服務器集群中的服務器的請求響應。
[0012]可選地,所述R服務器集群中的R服務器均參與負載均衡。
[0013]可選地,所述R服務器集群中的R服務器部分參與負載均衡、另一部分用于在參與負載均衡的R服務器繁忙的情況下,作為備份服務器使用。
[0014]可選地,所述反向代理服務器用于使用負載均衡技術(shù),將所述訪問請求分配給所述R服務器集群中的服務器包括:
[0015]所述反向代理服務器具體用于,使用負載均衡技術(shù),將所述訪問請求分配給所述參與負載均衡的所述R服務器集群中的服務器,所述負載均衡技術(shù)至少包括以下一種:輪詢、地址散列算法、地址哈希算法、鏈接散列算法、鏈接哈希算法以及智能均衡算法。
[0016]可選地,任意一個R服務器用于:
[0017]如果被請求的失敗次數(shù)大于預設數(shù)值,向所述反向代理服務器發(fā)送錯誤提示信息。
[0018]可選地,所述反向代理服務器還用于:
[0019]停止向被請求的次數(shù)大于所述預設數(shù)值的R服務器分配訪問請求。
[0020]可選地,還包括:
[0021]Web緩存處理服務器,用于將所述瀏覽器發(fā)送的訪問請求轉(zhuǎn)發(fā)給所述反向代理服務器,并在本地存儲所述訪問請求;接收所述反向代理服務器發(fā)送的請求響應,在本地存儲所述請求響應的副本,并建立所述請求響應的副本與所述訪問請求之間的對應關(guān)系;如果再次接收到與所述訪問請求,則向所述瀏覽器發(fā)送與所述訪問請求對應的請求響應的副本。
[0022]可選地,所述Web緩存處理服務器還用于:
[0023]依據(jù)預設的規(guī)則,清理本地存儲的訪問請求、請求響應的副本以及所述請求響應的副本與所述訪問請求之間的對應關(guān)系,所述預設的規(guī)則至少包括以下一項:將存儲時間最長的記錄清除以及將使用頻率最低的記錄清除。
[0024]可選地,還包括:
[0025]防火墻;
[0026]所述防火墻設置在所述反向代理服務器與所述R服務器集群之間,用于過濾進入所述服務器集群的訪問請求;
[0027]或者,所述防火墻設置在所述瀏覽器與所述反向代理服務器之間,用于過濾進入所述反向代理服務器的訪問請求。
[0028]可選地,所述R服務器集群中的R服務器通過路由器與所述防火墻或所述反向代理服務器相連。
[0029]本申請所述的R統(tǒng)計建模系統(tǒng),包括瀏覽器、反向代理服務器以及R服務器集群,其中,R服務器集群中至少包括兩個R服務器,瀏覽器用于向用戶提供交互用戶,所述門戶用于接收用戶輸入的訪問請求并向所述用戶反饋請求響應;反向代理服務器用于使用負載均衡技術(shù),將訪問請求分配給R服務器集群中的服務器,并向瀏覽器反饋所述R服務器集群中的服務器的請求響應。與現(xiàn)有的服務器版應用模式的R統(tǒng)計建模系統(tǒng)相比,因為本申請中的R統(tǒng)計建模系統(tǒng)包括R服務器集群,因此,計算能力有了提升,并且,又因為反向代理服務器使用負載均衡技術(shù)向R服務器集群中的R服務器分配訪問請求,所以,可以提升R服務器集群的處理效率,總而言之,本申請中所述的R統(tǒng)計建模系統(tǒng),可以提升對于海量的數(shù)據(jù)量和計算量的計算能力。
【附圖說明】
[0030]為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0031]圖1為本申請實施例公開的一種R統(tǒng)計建模系統(tǒng)的結(jié)構(gòu)示意圖;
[0032]圖2為本申請實施例公開的又一種R統(tǒng)計建模系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0033]下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
[0034]本申請實施例公開的一種R統(tǒng)計建模系統(tǒng),如圖1所示,包括:
[0035]瀏覽器、反向代理服務器以及R服務器集群。
[0036]服務器集群就是指將至少兩個服務器集中起來一起進行同一種服務,在客戶端(瀏覽器用戶)看來好像只有一個服務器,服務器可以利用多個計算機進行并行計算從而提高計算速度,也可以用多個計算機互相作為備份,從而使得任何一個機器壞了整個系統(tǒng)還是能正常運行。這種集群技術(shù)可以用少的投資獲得接近于大型機的性能。本實施例中,R服務器集群中至少包括兩個R服務器,每一個R服務器均用于響應用戶的訪問請求。R服務器集群中的R服務器通過路由器與所述防火墻或所述反向代理服務器相連。
[0037]本實施例中,瀏覽器用于向用戶提供交互用戶,所述門戶用于接收用戶輸入的訪問請求并向所述用戶反饋請求響應。
[0038]反向代理服務器用于使用負載均衡技術(shù),將訪問請求分配給R服務器集群中的服務器,并向瀏覽器反饋R服務器集群中的服務器的請求響應。
[0039]在本實施例中,對于通過瀏覽器訪問的用戶而言反向代理服務器就是原始服務器(此框架中就是R-服務器,后文中提到的原始服務器都是此含義),并且用戶不需要進行任何特別的設置。瀏覽器向反向代理服務器中發(fā)送的普通請求,接著反向代理判斷向何處(哪個R-服務器)轉(zhuǎn)交請求,并獲得內(nèi)容返回給客戶。對用戶而言,始終認為自己訪問的原始服務器而不是反向代理服務器,但是實際上反向代理服務器接受用戶請求,從原始服務器上取得用戶的請求資源,然后返回給用戶,由防火墻的作用只允許反向代理服務器去訪問原始服務器,盡管在這個代理環(huán)境中,防火墻和代理服務器保護了原始服務器上的資源,但是瀏覽器上的用戶并不知情。使用反向代理可以降低原始服務器的負載,反向代理服務器承擔了對原始服務器的請求,防止原始服務器過載。
[0040]負載均衡是指由多臺服務器以對稱的方式組成一個服務集群,每臺服務器有等價的地位,都可以單獨對外提供服務而無需其他服務器協(xié)助。通過負載分擔技術(shù),將外部發(fā)送來的請求按照一定算法的分配到對稱結(jié)構(gòu)中的某一臺相對空閑服務器上,而接收到的服務器獨立的回應客戶的請求。均衡負載能夠平均分配客戶請求到服務器集群。
[0041]本實施例中,負載均衡具體的實現(xiàn)算法可以包括以下一項或多項:
[0042]1.輪詢(默認)
[0043]每個來自瀏覽器用戶的請求按照時間順序逐一分配到集群中不同的服務器上,此處可以理解為服務器被按照一定順序編號,分配時按編號順序發(fā)送,如果集群中有服務器宕機,故障服務器會被自動剔除,那么請求將自動進入下一臺服務器上,用戶的請求不受影響。此種輪訓機制相對簡單,無法將服務器的處理性能更加合理的進行安排。因此為了讓復雜的處理可以被發(fā)送到資源更加充沛的服務器上進行處理,我們還建立了一種更為高級的輪詢機制。我們用Weight標識每臺服務器的輪詢權(quán)值,服務器上的剩余資源約充沛,那么它所對應的Weight權(quán)值也就越高,分配到的訪問幾率也就越高,這種方式主要應用于集群中每個服務器性能不均的情況下。
[0044]2.地址散列或地址哈希算法
[0045]每個來自瀏覽器用戶的請求按按照訪問的IP地址的散列結(jié)果進行分配,簡單來說就是來自同一 IP地址的用戶請求每次都會固定散列分配到同一臺集群中的服務器上。這種方法的好處就是有效解決了動態(tài)網(wǎng)頁存在的sess1n共享問題。但是對于sess1n共享,這里我們已經(jīng)在前端的WEB緩存處理中給出了更好的解決方案一WEB緩存處理機制。
[0046]3.鏈接散列或鏈接哈希算法
[0047]每個來自瀏覽器用戶的請求按照訪問的鏈接地址的散列結(jié)果進行分配,簡單來說就是來自同一鏈接地址的用戶請求每次都會固定散列分配到同一臺集群中的服務器上。這種方法的好處就是可以有效利用后端服務器上的緩存數(shù)據(jù),不過我們此次的架構(gòu)中已經(jīng)植入了前端WEB緩存機制,所以鏈接散列算法的效果并不明顯。
[0048]4.智能均衡算法
[0049]這個是比上面三種算法都更加智能的負載均衡算法。此種算法可依據(jù)頁面大小和加載時間長短智能的進行負載均衡,也就是根據(jù)后端服務器的響應時間來分配請求,響應時間短的優(yōu)先分配。
[0050]除了可以選擇以上負載均衡的具體實現(xiàn)算法之外,本實施例中,還可以規(guī)定參與負