两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種兼容型的業(yè)務(wù)系統(tǒng)及業(yè)務(wù)實現(xiàn)方法與流程

文檔序號:11250942閱讀:620來源:國知局
一種兼容型的業(yè)務(wù)系統(tǒng)及業(yè)務(wù)實現(xiàn)方法與流程

本發(fā)明屬于互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種兼容型的業(yè)務(wù)系統(tǒng)及業(yè)務(wù)實現(xiàn)方法。



背景技術(shù):

抓站是指將整個網(wǎng)站內(nèi)容保存到本地,通常情況下網(wǎng)站內(nèi)容將仍保持原本的html(超文本標記語言)格式,其文件名與目錄結(jié)構(gòu)都不會變化,這樣可以準確地提供網(wǎng)站的鏡像,即使網(wǎng)絡(luò)斷開、或者網(wǎng)站關(guān)閉,抓取下來的網(wǎng)站依然可以瀏覽。反抓站的目的是防止網(wǎng)站內(nèi)容被惡意抓取,從而防范對網(wǎng)站的攻擊。

反抓站業(yè)務(wù)需求是:識別當(dāng)前的訪問是正常請求還是爬蟲抓取網(wǎng)站內(nèi)容的非正常請求,如果是非正常請求則攔截。從反抓站業(yè)務(wù)需求可以看出,任意請求都需要實時的給出判定而不能是離線的事后判定。隨著大數(shù)據(jù)技術(shù)的不斷成熟,越來越多的平臺涌現(xiàn)出來,針對實時性要求高的業(yè)務(wù),storm(分布式實時計算技術(shù))成為了廠商首選的技術(shù)之一,基于此,現(xiàn)有技術(shù)中提供了一種基于storm的反抓站業(yè)務(wù)系統(tǒng)。storm采用主從架構(gòu)的模式,nimbus(主節(jié)點)和supervisor(工作節(jié)點)基于zookeeper通信,是一種分布式流式處理平臺。zookeeper是分布式應(yīng)用程序協(xié)調(diào)服務(wù),是一個開放源碼的、為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護、域名服務(wù)、分布式同步、組服務(wù)等。

隨著業(yè)務(wù)量的逐漸增多,基于storm的反抓站業(yè)務(wù)系統(tǒng)存在兩個技術(shù)問題:第一是系統(tǒng)性能方面相對落后;第二是熱部署不方便,需要全局重啟。



技術(shù)實現(xiàn)要素:

有鑒于此,本發(fā)明提供一種兼容型的業(yè)務(wù)系統(tǒng)及業(yè)務(wù)實現(xiàn)方法,基于gearpump且可兼容運行storm,用以有效提升系統(tǒng)性能,實現(xiàn)熱部署。

為了實現(xiàn)上述目的,本發(fā)明提供一種兼容型的業(yè)務(wù)系統(tǒng),包括主節(jié)點模塊gpnimbus、客戶端模塊gpstormclient和轉(zhuǎn)化模塊gptopologytranslate,其中:

所述gpstormclient模塊,用于將用戶提交的storm任務(wù)提交到gpnimbus模塊;

所述gpnimbus模塊,用于接收gpstormclient模塊提交的storm任務(wù),調(diào)用gptopologytranslate模塊將所述storm任務(wù)轉(zhuǎn)化為gearpump任務(wù),以及將所述gearpump任務(wù)部署到gearpump中并跟蹤gearpump任務(wù)的執(zhí)行;

所述gptopologytranslate模塊,用于在gpnimbus模塊的調(diào)用下,將接收到的storm任務(wù)轉(zhuǎn)化為gearpump任務(wù)。

進一步地,所述gpnimbus模塊,具體用于啟動用于接收客戶端連接的nimbus服務(wù)進程,以便接收gpstormclient模塊提交的storm任務(wù);接收到storm任務(wù)時,調(diào)用gptopologytranslate模塊將所述storm任務(wù)的應(yīng)用拓撲轉(zhuǎn)化為gearpump的拓撲有向無環(huán)圖dag,并將轉(zhuǎn)化后的拓撲dag部署到gearpump中;終止storm任務(wù)時,根據(jù)storm任務(wù)的應(yīng)用標識,終止gearpump中相應(yīng)的拓撲dag。

進一步地,所述gptopologytranslate模塊,具體用于在gpnimbus模塊的調(diào)用下,分析接收到的storm任務(wù)的應(yīng)用拓撲,將應(yīng)用拓撲中的sport和bolt轉(zhuǎn)化為gearpump的processor,并在各個processor之間建立連接;將storm任務(wù)的group轉(zhuǎn)化為gearpump的partitioner;生成gearpump的拓撲dag,返回給gpnimbus模塊。

進一步地,用戶通過命令方式或者web界面方式向所述gpstormclient模塊提交storm任務(wù),其中:

通過命令方式提交時,用戶指定storm任務(wù)的jar包和配置文件,所述配置文件中的運行參數(shù)包括地址和端口;通過web界面方式提交時,用戶上傳storm任務(wù)的jar包至臨時目錄,并填寫運行參數(shù);

以及,所述gpnimbus模塊,還用于如果用戶指定配置文件,則在啟動nimbus服務(wù)進程之前,加載用戶指定的配置文件并識別配置文件中的運行參數(shù)。

進一步地,所述業(yè)務(wù)具體為反抓站業(yè)務(wù),其中,一個storm任務(wù)的應(yīng)用拓撲具體為storm中運行的一條反抓站策略。

基于同一技術(shù)構(gòu)思,本發(fā)明還提供了一種兼容型的業(yè)務(wù)實現(xiàn)方法,包括:

主節(jié)點模塊gpnimbus接收客戶端模塊gpstormclient提交的storm任務(wù),所述storm任務(wù)是用戶向所述gpstormclient模塊提交的;

gpnimbus模塊調(diào)用轉(zhuǎn)化模塊gptopologytranslate將所述storm任務(wù)轉(zhuǎn)化為gearpump任務(wù);以及,

將所述gearpump任務(wù)部署到gearpump中并跟蹤gearpump任務(wù)的執(zhí)行。

進一步地,主節(jié)點模塊gpnimbus接收客戶端模塊gpstormclient提交的storm任務(wù),具體包括:

啟動用于接收客戶端連接的nimbus服務(wù)進程,以便接收gpstormclient模塊提交的storm任務(wù);

以及,所述gpnimbus模塊調(diào)用轉(zhuǎn)化模塊gptopologytranslate將所述storm任務(wù)轉(zhuǎn)化為gearpump任務(wù);以及將所述gearpump任務(wù)部署到gearpump中并跟蹤gearpump任務(wù)的執(zhí)行,具體包括:

接收到storm任務(wù)時,調(diào)用gptopologytranslate模塊將所述storm任務(wù)的應(yīng)用拓撲轉(zhuǎn)化為gearpump的拓撲有向無環(huán)圖dag,并將轉(zhuǎn)化后的拓撲dag部署到gearpump中;

終止storm任務(wù)時,根據(jù)storm任務(wù)的應(yīng)用標識,終止gearpump中相應(yīng)的拓撲dag。

進一步地,所述gptopologytranslate模塊將所述storm任務(wù)轉(zhuǎn)化為gearpump任務(wù)的方法,具體包括:

所述gptopologytranslate模塊在gpnimbus模塊的調(diào)用下,分析接收到的storm任務(wù)的應(yīng)用拓撲,將應(yīng)用拓撲中的sport和bolt轉(zhuǎn)化為gearpump的processor,并在各個processor之間建立連接;

將storm任務(wù)的group轉(zhuǎn)化為gearpump的partitioner;

生成gearpump的拓撲dag,返回給gpnimbus模塊。

進一步地,用戶通過命令方式或者web界面方式向所述gpstormclient模塊提交storm任務(wù),其中:

通過命令方式提交時,用戶指定storm任務(wù)的jar包和配置文件,所述配置文件中的運行參數(shù)包括地址和端口;通過web界面方式提交時,用戶上傳storm任務(wù)的jar包至臨時目錄,并填寫運行參數(shù);

以及,所述方法還包括:

如果用戶指定配置文件,則在啟動nimbus服務(wù)進程之前,加載用戶指定的配置文件并識別配置文件中的運行參數(shù)。

進一步地,所述業(yè)務(wù)具體為反抓站業(yè)務(wù),其中,一個storm任務(wù)的應(yīng)用拓撲具體為storm中運行的一條反抓站策略。

本發(fā)明提供的兼容型的業(yè)務(wù)系統(tǒng)及業(yè)務(wù)實現(xiàn)方法,提出了一種基于gearpump且可兼容運行storm的實時業(yè)務(wù)系統(tǒng),gpnimbus模塊是系統(tǒng)的核心,會啟動一個nimbus服務(wù)進程,用于以接收gpstormclient模塊提交的storm任務(wù);調(diào)用gptopologytranslate模塊將該storm任務(wù)轉(zhuǎn)化為gearpump任務(wù);最后將gearpump任務(wù)部署到gearpump中并跟蹤gearpump任務(wù)的執(zhí)行。gpstormclient模塊用于提供一個客戶端,用戶可以通過該客戶端提交storm任務(wù),客戶端會同gpnimbus模塊通信,將用戶提交的storm任務(wù)提交到gpnimbus模塊。通過該系統(tǒng),可以直接部署現(xiàn)有storm任務(wù)至gearpump,在同等資源下可以處理更多的數(shù)據(jù),從而極大的提升系統(tǒng)性能;現(xiàn)有復(fù)雜的業(yè)務(wù)邏輯無需重新在gearpump上編寫,從而極大的節(jié)省開發(fā)成本;基于gearpump的業(yè)務(wù)系統(tǒng)無需全局重啟,便于熱部署。

本申請的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本申請而了解。本申請的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:

圖1是本發(fā)明實施例中兼容型的業(yè)務(wù)系統(tǒng)框圖;

圖2是本發(fā)明實施例中g(shù)pnimbus模塊的工作流程圖;

圖3是本發(fā)明實施例中g(shù)pstormclient模塊的工作流程圖;

圖4是本發(fā)明實施例中g(shù)ptopologytranslate模塊的工作流程圖;

圖5是本發(fā)明實施例中將stormtopology轉(zhuǎn)化為gearpumpdag的示意圖;

圖6是本發(fā)明實施例中兼容型的業(yè)務(wù)實現(xiàn)方法流程圖。

具體實施方式

針對基于storm的反抓站業(yè)務(wù)系統(tǒng)存在的系統(tǒng)性能落后、以及熱部署不方便的問題,本發(fā)明實施例提供了一種兼容型的業(yè)務(wù)系統(tǒng)及業(yè)務(wù)實現(xiàn)方法,基于gearpump且可兼容運行storm,用以有效提升系統(tǒng)性能,實現(xiàn)熱部署。所述熱部署是指應(yīng)用正在運行的時候可以升級軟件無需重新啟動。

以下結(jié)合說明書附圖對本發(fā)明的優(yōu)選實施例進行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。并且在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。

本發(fā)明人在發(fā)明過程中發(fā)現(xiàn):面對不斷增長的業(yè)務(wù)量,在有限的資源情況下更高效的利用集群尤為重要。storm是業(yè)界使用最廣泛的流處理引擎,但也暴露出了不少局限性,這些局限性在gearpump中都得到了良好的解決。gearpump是開放源碼的流處理引擎,是基于akkaactor模型構(gòu)建的高可靠的實時系統(tǒng),基于事件消息,具有低延遲、高性能、精確處理一次語義和拓撲圖動態(tài)更新等特性。gearpump的一個cluster(簇)中,有一個master和多個worker,每個worker會管理各個集群上各個節(jié)點的資源。層級化的好處是系統(tǒng)一部分出問題時不會影響到其它部分,在gearpump中,一個master可以管理多個worker,多個應(yīng)用之間是相互隔離的,每個應(yīng)用會有一個對應(yīng)的app-master,每個app-master向master申請資源后可以在worker上部署executer,相當(dāng)于一個jvm(java虛擬機),具體的執(zhí)行單元是task,一個task就是一個actor。gearpump的dynamicdag(動態(tài)有向無環(huán)圖)是可以在線修改的,而且計算快,延時低。

可以預(yù)見的是,當(dāng)基于storm的反抓站業(yè)務(wù)系統(tǒng)遷移至gearpump,可以在同等資源下處理更多的數(shù)據(jù),但是復(fù)雜的現(xiàn)有業(yè)務(wù)邏輯使得重新在gearpump上編寫所有策略并不現(xiàn)實,基于此本發(fā)明實施例提供了一種兼容型的業(yè)務(wù)系統(tǒng),基于該系統(tǒng),可以直接部署原有storm任務(wù)至gearpump,極大的節(jié)省開發(fā)成本。本發(fā)明實施例提供的兼容型的業(yè)務(wù)系統(tǒng),不僅適用于基于storm的反抓站業(yè)務(wù),對于其他基于storm的實時性要求高的業(yè)務(wù)同樣適用。

本發(fā)明實施例提供的兼容型的業(yè)務(wù)系統(tǒng),如圖1所示,包括:

主節(jié)點模塊(本發(fā)明實施例中稱為gpnimbus模塊)101,客戶端模塊(本發(fā)明實施例中稱為gpstormclient模塊)102,轉(zhuǎn)化模塊(本發(fā)明實施例中稱為gptopologytranslate模塊)103。其中:

gpnimbus模塊101是系統(tǒng)的核心,會啟動一個nimbus服務(wù)進程,用于接收gpstormclient模塊提交的storm任務(wù);調(diào)用gptopologytranslate模塊103將該storm任務(wù)轉(zhuǎn)化為gearpump任務(wù);以及將gearpump任務(wù)部署到gearpump中并跟蹤gearpump任務(wù)的執(zhí)行。

gpstormclient模塊102,用于提供一個客戶端,用戶可以通過該客戶端提交storm任務(wù),客戶端會同gpnimbus模塊101通信,將用戶提交的storm任務(wù)提交到gpnimbus模塊101。

gptopologytranslate模塊103,用于在gpnimbus模塊101的調(diào)用下,將接收到的storm任務(wù)轉(zhuǎn)化為gearpump任務(wù)。

各個模塊詳細介紹如下:

一、主節(jié)點模塊(gpnimbus模塊)

gpnimbus模塊的主要功能是啟動一個用于接收客戶端連接的nimbus服務(wù)進程,接收到storm任務(wù)后調(diào)用gptopologytranslate模塊將storm任務(wù)轉(zhuǎn)化為gearpump任務(wù),以及將gearpump任務(wù)部署到gearpump中并跟蹤gearpump任務(wù)的執(zhí)行。

首先gearpump和storm都是對單條數(shù)據(jù)單個消息進行處理;其次用戶接口都是相似的,storm是通過topology(拓撲),gearpump是通過dag(有向無環(huán)圖);另外task(任務(wù))接口也是相似的。storm本身的nimbus與client是通過協(xié)議通信的,可以在gearpump中實現(xiàn)一個nimbus來同client交互,包括如下功能:啟動nimbus服務(wù)進程,提交storm任務(wù)和終止storm任務(wù)。gpnimbus模塊的工作流程如圖2所示:啟動nimbus服務(wù)進程的時候,gpnimbus模塊需要能夠加載配置文件,識別配置文件中用戶指定的運行參數(shù)(地址和端口)。接收到storm任務(wù)的時候,gpnimbus模塊需要調(diào)用gptopologytranslate模塊將stormtopology轉(zhuǎn)化為gearpumpdag,并將轉(zhuǎn)化后的dag提交給gearpump部署。終止storm任務(wù)的時候,需要根據(jù)對應(yīng)的應(yīng)用標識(例如應(yīng)用名),終止gearpumpdag。

從實現(xiàn)上講gpnimbus模塊核心gearpumpnimbus類,這是一個單例的類,繼承了storm的nimbus.iface接口,并實現(xiàn)了其方法,部分核心代碼如下:

該代碼的具體邏輯是gpnimbus模塊首先會調(diào)用stormutil的getthriftport返回未占用端口,通過readstormconfig讀取storm的默認配置,進而將地址和端口綁定,然后通過updatestormconfig方法更新啟動時的配置,最后通過createserver方法來創(chuàng)建nimbus服務(wù)進程并啟動。

二、客戶端模塊(gpstormclient模塊)

用戶執(zhí)行storm任務(wù)的時候,系統(tǒng)需要提供用戶可以調(diào)用的接口或者頁面,讓用戶可以順利的提交,然后gpnimbus模塊可以進行相應(yīng)的處理,gpstormclient模塊負責(zé)這一部分功能。

gpstormclient模塊的工作流程如圖3所示。提交部分實現(xiàn)了兩種方式,一種是通過命令方式提交,另一種是通過web界面方式提交。通過命令方式提交時需要用戶指定jar(javaarchive,java歸檔)包和配置文件,配置文件中的運行參數(shù)包括地址和端口;通過web界面方式提交時用戶需要上傳jar包并填寫運行參數(shù)。web界面提交通過restful結(jié)構(gòu)方式,jar包會被上傳到臨時目錄,通過gpstormclient模塊完成storm任務(wù)的提交。

從實現(xiàn)上來講,gpstormclient模塊包含兩個部分,分別是命令行提交類gpstormclient和web接口類clientservice,下邊分別給出兩個類的核心代碼和解釋。

gpstormclient繼承了argumentsparser,是gearpump提供的工具類,通過parse(args)方法進行預(yù)處理,配置比較的參數(shù)jar和config,分別對應(yīng)任務(wù)jar包和配置文件,然后調(diào)用核心方法gearpump的工具類啟動startprocess提交storm任務(wù),與gpnimbus模塊通信。

clientservie會處理上傳得到的jar包和運行參數(shù),將jar包保存到臨時目錄,指定運行參數(shù),調(diào)用核心方法gearpump的工具類啟動startprocess提交storm任務(wù)。

三、轉(zhuǎn)化模塊(gptopologytranslate模塊)

當(dāng)gpnimbus模塊接收到提交的storm任務(wù)后,需要將storm任務(wù)的應(yīng)用拓撲(通常稱為stormtopology)轉(zhuǎn)化為gearpump的拓撲dag(通常稱為gearpumpdag),然后才能在gearpump運行,gptopologytranslate模塊就完成了這一工作。gptopologytranslate模塊的工作流程如圖4所示,gptopologytranslate模塊的處理流程是首先接收到storm任務(wù),分析出該storm任務(wù)的應(yīng)用拓撲,將應(yīng)用拓撲中的spout(storm中的消息源)和bolt(storm中的消息處理者)都轉(zhuǎn)化為gearpump的processor(處理器),在各個processor之間建立連接;將storm任務(wù)的group(組)轉(zhuǎn)化為gearpump的partitioner(分區(qū)工具);最終生成gearppump的拓撲dag,返回給gpnimbus模塊。

核心代碼如下:

如上述代碼展示,首先獲取storm任務(wù)的bolt之后會將其核心方法prepare和next轉(zhuǎn)化為gearpump的方法,spout也是類似不再贅述,待循環(huán)遍歷所有節(jié)點轉(zhuǎn)化為processor之后,由gb來構(gòu)建連接即storm任務(wù)的group轉(zhuǎn)化為gearpump的partitioner,最終生成gearpump的dag之后返回給gpnimbus模塊。

綜上所述,三個模塊構(gòu)成了該兼容系統(tǒng)的完整架構(gòu),gpnimbus模塊作為核心控制,對外提供服務(wù),接收gpstormclient模塊提交來的storm任務(wù),通過gptopologytranslate模塊將storm任務(wù)的應(yīng)用拓撲(stormtopology)轉(zhuǎn)化為gearpump的拓撲dag(gearpumpdag),最終部署拓撲dag到gearpump,監(jiān)控storm任務(wù)的執(zhí)行,返回執(zhí)行結(jié)果。

下面,以反抓站業(yè)務(wù)為例,詳細說明本發(fā)明實施例提供的兼容型的業(yè)務(wù)系統(tǒng)?;趕torm的反抓站業(yè)務(wù)系統(tǒng)運行著多條反抓站策略,每一條反抓站策略即為一個storm任務(wù)的應(yīng)用拓撲,假設(shè)其中一個反抓站策略為當(dāng)前ip在一分鐘內(nèi)訪問的接口中,比例最高的接口占總接口的比例大于預(yù)設(shè)閾值n即為命中策略,現(xiàn)通過該兼容系統(tǒng)將其遷移到gearpump,過程如下:

1、打開gpstormclient模塊,假設(shè)采用命令方式即通過終端調(diào)用命令添加jar包、指定運行參數(shù)(ip地址、端口等)

2、gpnimbus模塊接收到gpstormclient模塊提交的jar包,調(diào)用gptopologytranslate模塊分析該jar包并將其轉(zhuǎn)化為gearpump的拓撲dag,效果如圖5所示。

3、轉(zhuǎn)化后的gearpump任務(wù)部署到gearpump中,返回成功。

基于同一技術(shù)構(gòu)思,本發(fā)明實施例提供了一種兼容型的業(yè)務(wù)實現(xiàn)方法,由于該方法解決問題的原理與兼容型的業(yè)務(wù)系統(tǒng)相一致,因此該方法的實施可以參見系統(tǒng)的實施,重復(fù)之處不在贅述。

如圖6所示,本發(fā)明實施例提供的兼容型的業(yè)務(wù)實現(xiàn)方法,包括:

s601、主節(jié)點模塊gpnimbus接收客戶端模塊gpstormclient提交的storm任務(wù),所述storm任務(wù)是用戶向所述gpstormclient模塊提交的;

s602、gpnimbusgpnimbus模塊調(diào)用轉(zhuǎn)化模塊gptopologytranslate將所述storm任務(wù)轉(zhuǎn)化為gearpump任務(wù);

s603、gpnimbusgpnimbus模塊將所述gearpump任務(wù)部署到gearpump中并跟蹤gearpump任務(wù)的執(zhí)行。

在s601的具體實施中,主節(jié)點模塊gpnimbus接收客戶端模塊gpstormclient提交的storm任務(wù),可以包括如下步驟:

啟動用于接收客戶端連接的nimbus服務(wù)進程,以便接收gpstormclient模塊提交的storm任務(wù);

在s602和s603的具體實施中,所述gpnimbus模塊調(diào)用轉(zhuǎn)化模塊gptopologytranslate將所述storm任務(wù)轉(zhuǎn)化為gearpump任務(wù);以及將所述gearpump任務(wù)部署到gearpump中并跟蹤gearpump任務(wù)的執(zhí)行,具體可以包括:

接收到storm任務(wù)時,調(diào)用gptopologytranslate模塊將所述storm任務(wù)的應(yīng)用拓撲轉(zhuǎn)化為gearpump的拓撲dag,并將轉(zhuǎn)化后的拓撲dag部署到gearpump中;

終止storm任務(wù)時,根據(jù)storm任務(wù)的應(yīng)用標識,終止gearpump中相應(yīng)的拓撲dag。

在s602的具體實施中,所述轉(zhuǎn)化模塊gptopologytranslate將所述storm任務(wù)轉(zhuǎn)化為gearpump任務(wù)的方法,可以包括如下步驟:

所述gptopologytranslate模塊在gpnimbus模塊的調(diào)用下,分析接收到的storm任務(wù)的應(yīng)用拓撲,將應(yīng)用拓撲中的sport和bolt轉(zhuǎn)化為gearpump的processor,并在各個processor之間建立連接;

將storm任務(wù)的group轉(zhuǎn)化為gearpump的partitioner;

生成gearpump的拓撲dag,返回給gpnimbus模塊。

在s601的具體實施中,用戶通過命令方式或者web界面方式向所述gpstormclient模塊提交storm任務(wù),其中:

通過命令方式提交時,用戶指定storm任務(wù)的jar包和配置文件,所述配置文件中的運行參數(shù)包括地址和端口;通過web界面方式提交時,用戶上傳storm任務(wù)的jar包至臨時目錄,并填寫運行參數(shù);

以及,所述方法還包括:

如果用戶指定配置文件,則在啟動nimbus服務(wù)進程之前,加載用戶指定的配置文件并識別配置文件中的運行參數(shù)。

本發(fā)明實施例提供的兼容型的業(yè)務(wù)系統(tǒng)及業(yè)務(wù)實現(xiàn)方法,提出了一種基于gearpump且可兼容運行storm的實時業(yè)務(wù)系統(tǒng),gpnimbus模塊是系統(tǒng)的核心,會啟動一個nimbus服務(wù)進程以接收gpstormclient模塊提交的storm任務(wù);調(diào)用gptopologytranslate模塊將該storm任務(wù)轉(zhuǎn)化為gearpump任務(wù);最后將gearpump任務(wù)部署到gearpump中并跟蹤gearpump任務(wù)的執(zhí)行。gpstormclient模塊用于提供一個客戶端,用戶可以通過該客戶端提交storm任務(wù),客戶端會同gpnimbus模塊通信,將用戶提交的storm任務(wù)提交到gpnimbus模塊。通過該系統(tǒng),可以直接部署現(xiàn)有storm任務(wù)至gearpump,在同等資源下可以處理更多的數(shù)據(jù),從而極大的提升系統(tǒng)性能;現(xiàn)有復(fù)雜的業(yè)務(wù)邏輯無需重新在gearpump上編寫,從而極大的節(jié)省開發(fā)成本;基于gearpump的業(yè)務(wù)系統(tǒng)無需全局重啟,便于熱部署。

本領(lǐng)域的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。

本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、系統(tǒng)(裝置)和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

盡管已描述了本發(fā)明的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。

顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宜章县| 图们市| 华阴市| 古交市| 大宁县| 进贤县| 郎溪县| 伊吾县| 刚察县| 镇赉县| 资源县| 阿荣旗| 柯坪县| 乐山市| 内丘县| 扬中市| 绥芬河市| 汝南县| 江都市| 威海市| 陆川县| 鲁山县| 肥乡县| 陆丰市| 正镶白旗| 临洮县| 武义县| 彩票| 法库县| 砀山县| 石门县| 伊宁市| 奉化市| 浦东新区| 石楼县| 潞城市| 怀远县| 大邑县| 浙江省| 嘉黎县| 宁明县|