欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于Storm和Kafka技術(shù)的訂單實(shí)時(shí)監(jiān)控系統(tǒng)的制作方法

文檔序號(hào):12804580閱讀:752來(lái)源:國(guó)知局
基于Storm和Kafka技術(shù)的訂單實(shí)時(shí)監(jiān)控系統(tǒng)的制作方法與工藝

本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,尤其涉及基于storm和kafka技術(shù)的訂單實(shí)時(shí)監(jiān)控系統(tǒng)。



背景技術(shù):

目前,隨著大數(shù)據(jù)時(shí)代的到來(lái),數(shù)據(jù)規(guī)模變得越來(lái)越龐大,可獲取的數(shù)據(jù)渠道也逐漸增多,尤其是互聯(lián)網(wǎng)電子商務(wù)領(lǐng)域的數(shù)據(jù)規(guī)模更加龐大。

各大互聯(lián)網(wǎng)電商門(mén)戶網(wǎng)站在日訂單量大幅度提升,尤其在節(jié)假日進(jìn)行各種促銷活動(dòng)已經(jīng)成為一種趨勢(shì),在促銷活動(dòng)期間,電商網(wǎng)站產(chǎn)生大量的流量和商品訂單,商家運(yùn)營(yíng)部通過(guò)監(jiān)控實(shí)時(shí)的訂單數(shù)據(jù)調(diào)整營(yíng)銷策略也顯得尤為重要,同時(shí),讓用戶能實(shí)時(shí)看到電商網(wǎng)站的訂單數(shù)據(jù),也能增加用戶的購(gòu)買(mǎi)欲望。

在高并發(fā)的條件下,訂單數(shù)據(jù)會(huì)爆發(fā)式增長(zhǎng),現(xiàn)有的離線計(jì)算系統(tǒng)已經(jīng)不能滿足在高并發(fā)環(huán)境下的實(shí)時(shí)計(jì)算需求,針對(duì)這種情況,大規(guī)模訂單數(shù)據(jù)的處理面臨的最大的挑戰(zhàn)在于如何在有限的時(shí)間內(nèi)對(duì)數(shù)據(jù)進(jìn)行處理和分析,并且能夠?qū)崟r(shí)解決。

因此,對(duì)訂單實(shí)時(shí)監(jiān)控,并保證訂單數(shù)量、訂單實(shí)時(shí)價(jià)格準(zhǔn)確性很重要,對(duì)異常訂單能夠及時(shí)處理,成為各大電商網(wǎng)站迫切需求,本發(fā)明提出基于storm和kafka技術(shù)的訂單實(shí)時(shí)監(jiān)控系統(tǒng),能夠快速的對(duì)當(dāng)前價(jià)格和歷史價(jià)格進(jìn)行校驗(yàn)核對(duì),對(duì)有問(wèn)題的訂單,做進(jìn)一步的處理,更好的完善訂單系統(tǒng)。



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

有鑒于此,本發(fā)明的主要目的在于提供一種基于storm和kafka技術(shù)的訂單實(shí)時(shí)監(jiān)控系統(tǒng),能夠?qū)τ唵蔚漠?dāng)前價(jià)格和歷史價(jià)格,進(jìn)行實(shí)時(shí)校驗(yàn)核對(duì),對(duì)有問(wèn)題的訂單及時(shí)做進(jìn)一步處理,從而,提升了處理效率。

為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:

基于storm和kafka技術(shù)的訂單實(shí)時(shí)監(jiān)控系統(tǒng),主要流程包括以下幾個(gè)部分:

a、訂單數(shù)據(jù)獲??;

b、kafka集群;

c、strom集群;

d、zookeeper集群;

e、數(shù)據(jù)處理結(jié)果展示。

其中所述步驟a處理過(guò)程主要為:從數(shù)據(jù)庫(kù)中獲取訂單數(shù)據(jù),通過(guò)訂單號(hào)獲取價(jià)格、并查詢一個(gè)訂單所對(duì)應(yīng)的skucode。

其中所述步驟b處理過(guò)程主要為:kafka主要由producer,consumer和broker組成。啟動(dòng)zookeeper集群,kafka用zookeeper集群來(lái)記錄每一個(gè)消費(fèi)者(consumer)的offset,并且為集群上的每一臺(tái)kafka服務(wù)器單獨(dú)配置配置文件,同時(shí)采用隨機(jī)放入時(shí)的方法,往kafka里面放數(shù)據(jù)。

其中所述步驟c處理過(guò)程主要包括以下幾個(gè)流程:

進(jìn)一步地,c1、創(chuàng)建消費(fèi)kafka的spout,即storm提供的kafkaspout;

c2、在本發(fā)明中創(chuàng)建了兩個(gè)bolt,一個(gè)是創(chuàng)建處理從kafka讀取數(shù)據(jù)的orderbolt,orderbolt負(fù)責(zé)解析kafka讀取到的json并發(fā)送到下個(gè)orderhandlebolt進(jìn)一步處理;

c3、創(chuàng)建orderhandlebolt,并繼承baserichbolt,即處理訂單的bolt,執(zhí)行publicvoidexecute(tupletuple,basicoutputcollectorcollector)函數(shù),并且該函數(shù)通過(guò)collector提交數(shù)據(jù),同時(shí)重載了declareoutputfields函數(shù),通知下一個(gè)bolt的數(shù)據(jù)格式。該方法功能主要實(shí)現(xiàn)歷史訂單進(jìn)行比對(duì),并將異常訂單相關(guān)編號(hào)和sku編號(hào),當(dāng)前價(jià)格和歷史價(jià)格,通過(guò)調(diào)用mailsender實(shí)體類郵件發(fā)送功能方法發(fā)送相關(guān)責(zé)任人的郵箱。

c4、創(chuàng)建拓?fù)鋙rdertopology,首先創(chuàng)建了一個(gè)叫onproductorder的topic,然后配置好kafkaspout的配置spoutconfig,其中zk的地址端口和根節(jié)點(diǎn),需要說(shuō)明的是:本發(fā)明中kafka創(chuàng)建了一個(gè)3分區(qū)的topic,這里并行度設(shè)置為3;

c5、將id為spout通過(guò)shufflegrouping關(guān)聯(lián)到orderbolt對(duì)象,然后將節(jié)點(diǎn)為orderbolt通過(guò)shufflegrouping關(guān)聯(lián)到orderhandlebolt對(duì)象。

c6、最后根據(jù)參數(shù)創(chuàng)建3個(gè)worker,提交stormtopology。

其中所述步驟d處理過(guò)程主要為:zookeeper是storm依賴的外部資源。storm主要分為兩種組件nimbus和supervisor,這兩種組件實(shí)際運(yùn)行的worker也把心跳保存在zookeeper上,同時(shí),nimbus根據(jù)zookeerper上的心跳和任務(wù)運(yùn)行狀況,來(lái)進(jìn)行調(diào)度和任務(wù)分配。同時(shí),在本發(fā)明中kafka用zookeeper集群記錄每一個(gè)消費(fèi)者(consumer)的offset。

其中所述步驟e處理過(guò)程主要為:將處理過(guò)異常訂單數(shù)據(jù)使用javax.mail技術(shù)創(chuàng)建郵件登錄類mailauthenticator繼承authenticator,用戶校驗(yàn)類myauthenticator,郵件主題類mail,發(fā)送郵件使用基本信息類mailsenderinfo,郵件發(fā)送類mailsender,來(lái)實(shí)現(xiàn)發(fā)送到相關(guān)責(zé)任人郵箱功能。

本發(fā)明所提供的基于storm和kafka技術(shù)的訂單實(shí)時(shí)監(jiān)控系統(tǒng),具有以下優(yōu)點(diǎn):

1)能夠?qū)τ唵蔚漠?dāng)前價(jià)格和歷史價(jià)格,進(jìn)行實(shí)時(shí)校驗(yàn)核對(duì),從而,對(duì)有問(wèn)題的訂單及時(shí)做進(jìn)一步處理;

2)能夠?qū)τ唵芜M(jìn)行實(shí)時(shí)跟蹤,提升處理效率,加快響應(yīng)時(shí)間。

附圖說(shuō)明

圖1為本發(fā)明基于storm和kafka技術(shù)的訂單實(shí)時(shí)監(jiān)控系統(tǒng)流程示意圖;

圖2為本發(fā)明基于storm和kafka技術(shù)的訂單實(shí)時(shí)監(jiān)控系統(tǒng)應(yīng)用場(chǎng)景示意圖。

具體實(shí)施方式

為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖及本發(fā)明的實(shí)施例對(duì)本發(fā)明的基于storm和kafka技術(shù)的訂單實(shí)時(shí)監(jiān)控系統(tǒng)作進(jìn)一步詳細(xì)的說(shuō)明。

參考圖1,該基于storm和kafka技術(shù)的訂單實(shí)時(shí)監(jiān)控系統(tǒng),具體包含以下幾個(gè)流程:

1)從數(shù)據(jù)庫(kù)中獲取訂單數(shù)據(jù);

2)往kafka里面放數(shù)據(jù);

3)strom消費(fèi)kafka中的數(shù)據(jù);

4)將處理過(guò)異常訂單數(shù)據(jù)使用javax.mail技術(shù),發(fā)送到相關(guān)責(zé)任人的郵箱。

本發(fā)明為解決訂單實(shí)時(shí)監(jiān)控的問(wèn)題,主要采用了以下技術(shù),下面對(duì)這些技術(shù)進(jìn)行簡(jiǎn)單介紹。

1)storm技術(shù)。storm是采用clojure編寫(xiě)的,是一個(gè)分布式的、可靠的、容錯(cuò)的實(shí)時(shí)流式計(jì)算平臺(tái),可被用于“流處理”之中,實(shí)時(shí)處理消息并更新數(shù)據(jù)庫(kù),可以進(jìn)行連續(xù)查詢并把結(jié)果即時(shí)反饋給用戶,可以用來(lái)并行處理密集查詢,storm的拓?fù)浣Y(jié)構(gòu)是一個(gè)等待調(diào)用信息的分布函數(shù),當(dāng)它收到一條調(diào)用信息后,會(huì)對(duì)查詢進(jìn)行計(jì)算,并返回查詢結(jié)果。本發(fā)明中由storm去消費(fèi),通過(guò)kafkaspout將訂單數(shù)據(jù)輸送到storm,然后讓storm做實(shí)時(shí)業(yè)務(wù)邏輯處理。

2)kafka技術(shù)。kafka是一個(gè)分布式的高吞吐量的消息系統(tǒng),有點(diǎn)對(duì)點(diǎn)和發(fā)布訂閱兩種消息消費(fèi)模式。kafka主要由producer、consumer和broker三部分組成。另外,kafka集群有多個(gè)kafka實(shí)例組成,每個(gè)實(shí)例(server)稱為broker。無(wú)論是producer和consumer還是kafka集群,都依賴zookeeper來(lái)保證系統(tǒng)的可用性,為集群保存一些元信息,kafka中可以創(chuàng)建topic,用來(lái)管理不同種類的消息,不同類別的消息會(huì)記錄在到其對(duì)應(yīng)的topic池中,而這些進(jìn)入到topic中的消息會(huì)被kafka寫(xiě)入磁盤(pán)的log文件中進(jìn)行持久化處理。本發(fā)明中通過(guò)往kafka中放訂單數(shù)據(jù),創(chuàng)建生產(chǎn)者(producer),產(chǎn)生并發(fā)送消息。

3)zookeeper技術(shù)。zookeeper是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,并且為分布式系統(tǒng)提供了高效的協(xié)同服務(wù),比如,配置管理、狀態(tài)同步、組服務(wù)以及統(tǒng)一命名服務(wù)等。本發(fā)明中kafka使用zookeeper作為其分布式協(xié)調(diào)框架,能夠?qū)⑾⑸a(chǎn)、消息存儲(chǔ)、消息消費(fèi)的過(guò)程有效的結(jié)合在一起。同時(shí),使用zookeeper來(lái)實(shí)現(xiàn)分布式系統(tǒng)的配置管理、leader選舉、組管理以及存儲(chǔ)一些元信息,并且用zookeeperwatch機(jī)制來(lái)發(fā)現(xiàn)元信息的數(shù)據(jù)變化同時(shí)做出相應(yīng)操作。

4)javax.mail技術(shù)。javax.mail是利用現(xiàn)有的郵件賬戶發(fā)送郵件的工具。本發(fā)明中用到發(fā)送郵件的功能,通過(guò)對(duì)訂單實(shí)時(shí)監(jiān)控,對(duì)異常訂單發(fā)送郵件指定項(xiàng)目負(fù)責(zé)人郵箱中,從而,能夠及時(shí)解決異常訂單。

參考圖2,本發(fā)明的基于storm和kafka技術(shù)的訂單實(shí)時(shí)監(jiān)控系統(tǒng)實(shí)施例如下。

本發(fā)明的訂單實(shí)時(shí)監(jiān)控系統(tǒng)應(yīng)用在某廢舊再生塑料網(wǎng)站平臺(tái),在再生塑料產(chǎn)業(yè)展覽會(huì)期間,此時(shí)應(yīng)用本發(fā)明的訂單實(shí)時(shí)監(jiān)控系統(tǒng)對(duì)訂單信息,訂單價(jià)格等相關(guān)內(nèi)容進(jìn)行監(jiān)控,并發(fā)送郵件到相關(guān)責(zé)任人郵箱進(jìn)行及時(shí)校驗(yàn)核對(duì)更正,從而,保證了系統(tǒng)的穩(wěn)定運(yùn)行,提升了處理效率。

步驟201:從數(shù)據(jù)庫(kù)中獲取訂單數(shù)據(jù),通過(guò)訂單號(hào)獲取價(jià)格、并查詢一個(gè)訂單所對(duì)應(yīng)的skucode。

步驟202:往kafka里面放數(shù)據(jù)。

步驟203:采用storm提供的kafkaspout,來(lái)創(chuàng)建消費(fèi)kafka的spout。

步驟204:創(chuàng)建兩個(gè)bolt,一個(gè)是處理從kafka讀取數(shù)據(jù)的orderbolt,一個(gè)是處理訂單的orderhandlebolt。

步驟205:創(chuàng)建拓?fù)鋙rdertopology。

步驟206:創(chuàng)建一個(gè)叫onproductorder的topic,然后配置好kafkaspout的配置spoutconfig。

步驟207:將id為spout的通過(guò)shufflegrouping關(guān)聯(lián)到orderbolt對(duì)象,然后將節(jié)點(diǎn)為orderbolt通過(guò)shufflegrouping關(guān)聯(lián)到orderhandlebolt對(duì)象。

步驟208:最后根據(jù)參數(shù)創(chuàng)建3個(gè)worker,提交stormtopology。

需要注意的是:將訂單信息實(shí)時(shí)監(jiān)控系統(tǒng)部署到系統(tǒng)中。這個(gè)監(jiān)控系統(tǒng)闡述了如何編寫(xiě)一個(gè)storm的topology,從kafka消息系統(tǒng)中將信息讀取出來(lái),同一個(gè)topic下可以設(shè)置多個(gè)partition,將topic下的message存儲(chǔ)到不同的partition下,目的是為了提高并行性。定義的bolt必須使用basebasicbolt作為父類,不能夠使用baserichbolt,否則無(wú)法記錄偏移量;zookeeper最好使用至少三個(gè)節(jié)點(diǎn)的分布式模式或偽分布式模式,否則會(huì)出現(xiàn)一些異常情況;在整個(gè)storm下,spout、bolt的id必須唯一,否則會(huì)出現(xiàn)異常。

以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。

所述領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)、裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。

在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述到的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性、機(jī)械或其它的形式。

所述作為分離部件說(shuō)明的單元可以是或者也可以是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。

另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),可以采用軟件功能單元的形式實(shí)現(xiàn)。

需要說(shuō)明的是,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤(pán)、只讀存儲(chǔ)記憶體(read-onlymemory,rom)或隨機(jī)存儲(chǔ)記憶體(randomaccessmemory,ram)等。

以上對(duì)本發(fā)明所提供的基于storm和kafka技術(shù)的訂單實(shí)時(shí)監(jiān)控系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體實(shí)施例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
宝兴县| 灵丘县| 七台河市| 陆河县| 龙口市| 重庆市| 法库县| 唐海县| 济南市| 邯郸市| 广水市| 固阳县| 香格里拉县| 平罗县| 自治县| 余江县| 宁远县| 慈利县| 集安市| 庆安县| 吴江市| 崇文区| 江都市| 滁州市| 江阴市| 修文县| 通海县| 奎屯市| 敦煌市| 贵州省| 九龙城区| 永善县| 神农架林区| 敦化市| 鸡东县| 鄂州市| 罗城| 泸西县| 台东县| 汉阴县| 油尖旺区|