基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng)的制作方法
【專利摘要】一種基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng),在用戶的具體行為和任務(wù)系統(tǒng)之間,具有消息系統(tǒng),用于存儲各類用戶的具體行為,在消息系統(tǒng)和任務(wù)系統(tǒng)之間還具有用戶事件信息隊列,所述用戶事件信息隊列是一個分布式的信息隊列,用于將所述消息系統(tǒng)之間的消息分配給任務(wù)系統(tǒng)。本發(fā)明在用戶行為和任務(wù)執(zhí)行之間加了一個消息系統(tǒng)和用戶事件消息隊列,實現(xiàn)了對用戶行為和任務(wù)執(zhí)行的分離,大大降低了用戶行為對任務(wù)系統(tǒng)的壓力,同時可以通過頻率控制,控制任務(wù)的處理速度,大大提供系統(tǒng)的安全性和可靠性?;诜植际降挠脩羰录㈥犃袑崿F(xiàn)了系統(tǒng)的橫向擴展,讓任務(wù)系統(tǒng)可以支持大數(shù)據(jù)量,高并發(fā),同時也具備一定的容災(zāi)性。
【專利說明】 基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本申請涉及一種用戶任務(wù)管理系統(tǒng),具體地,涉及一種基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)中,傳統(tǒng)的任務(wù)流程系統(tǒng),主要基于事件觸發(fā)機制,能根據(jù)用戶的行為,直接觸發(fā)任務(wù)流程,對任務(wù)的處理速度和處理頻率并不可控,當(dāng)用戶執(zhí)行完具體操作后,會立刻執(zhí)行任務(wù)邏輯,比如傳統(tǒng)0A系統(tǒng)中的工作流系統(tǒng)。
[0003]但是當(dāng)用戶量很大,用戶行為很多的時候,很難支持大數(shù)據(jù)量,大并發(fā)任務(wù)的自動化執(zhí)行。并且,在任務(wù)流程系統(tǒng)中,并不是所有的任務(wù)都需要很強的實時性,因此,基于事件觸發(fā)機制的任務(wù)流程系統(tǒng)對系統(tǒng)的并發(fā)要求很高,使得系統(tǒng)成本上升,造成不必要的浪費。
[0004]因此,如何能夠降低用戶行為對任務(wù)系統(tǒng)的壓力,控制對任務(wù)的處理頻率和速度,提高系統(tǒng)的安全性和可靠性成為現(xiàn)有技術(shù)亟需解決的技術(shù)問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提出一種基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng),能夠使得系統(tǒng)具有較高的安全性、穩(wěn)定性及可靠性。
[0006]為達此目的,本發(fā)明采用以下技術(shù)方案:
一種基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng),其特征在于:
在用戶的具體行為和任務(wù)系統(tǒng)之間,具有消息系統(tǒng),所述消息系統(tǒng)用于存儲各類用戶的具體行為。
[0007]優(yōu)選地,在所述消息系統(tǒng)和所述任務(wù)系統(tǒng)之間還具有用戶事件信息隊列,所述用戶事件信息隊列是一個分布式的信息隊列,,用于等待任務(wù)系統(tǒng)從信息隊列中按照一定的規(guī)則取出任務(wù)數(shù)據(jù)。
[0008]優(yōu)選地,用戶的行為并不會直接觸發(fā)任務(wù)的執(zhí)行,用戶的行為首先進入消息系統(tǒng),在所述消息系統(tǒng)和所述用戶事件信息隊列之間具有用戶事件采集程序,不斷的從消息系統(tǒng)中取出用戶的行為事件,最后任務(wù)系統(tǒng)從隊列中取出數(shù)據(jù),執(zhí)行任務(wù)邏輯。
[0009]優(yōu)選地,所述消息系統(tǒng),對用戶的具體行為和任務(wù)執(zhí)行做了一次分離;所述用戶事件消息隊列(MQ)又對任務(wù)的執(zhí)行做了一次緩沖,減少了用戶行為對任務(wù)系統(tǒng)的直接壓力,同時支持橫向擴展。
[0010]優(yōu)選地,所述信息系統(tǒng)包括多個分類,每個分類用于存放不同類型的消息,每個分類中存放了該類信息的所有數(shù)據(jù),從而實現(xiàn)行為和任務(wù)的分離。
[0011]優(yōu)選地,所述用戶事件信息隊列為分布式隊列,在分布式隊列的基礎(chǔ)上,實現(xiàn)多個系統(tǒng)間的數(shù)據(jù)流向和交互。
[0012]優(yōu)選地,用戶事件采集程序和所述用戶事件信息隊列中的和任務(wù)執(zhí)行邏輯程序可以部署多臺服務(wù)器,實現(xiàn)橫向擴展。
[0013]優(yōu)選地,用戶的行為包括以下中的一項或多項:注冊、登陸、評論、收藏、訂閱和完善資料。
[0014]本發(fā)明的基于消息的用戶任務(wù)系統(tǒng),在用戶行為和任務(wù)執(zhí)行之間加了一個消息系統(tǒng)和用戶事件消息隊列,實現(xiàn)了對用戶行為和任務(wù)執(zhí)行的分離,大大降低了用戶行為對任務(wù)系統(tǒng)的壓力,同時可以通過頻率控制,控制任務(wù)的處理速度,大大提供系統(tǒng)的安全性和可靠性?;诜植际降挠脩羰录㈥犃袑崿F(xiàn)了系統(tǒng)的橫向擴展,讓任務(wù)系統(tǒng)可以支持大數(shù)據(jù)量,高并發(fā),同時也具備一定的容災(zāi)性。
【專利附圖】
【附圖說明】
[0015]圖1是根據(jù)本發(fā)明的基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng)的獲取用戶任務(wù)行為的圖例;
圖2是在一個具體的實施例中本發(fā)明的基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng)完成任務(wù)的完整流程;
圖3是在又一個具體的實施例中本發(fā)明的基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng)的詳細流程。
[0016]圖中的附圖標(biāo)記所分別指代的技術(shù)特征為:
100、消息系統(tǒng);200、用戶事件信息隊列;300、任務(wù)系統(tǒng);400、獎勵系統(tǒng)。
【具體實施方式】
[0017]下面結(jié)合附圖和實施例對本發(fā)明作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。
[0018]參見圖1、圖2,分別公開了根據(jù)本發(fā)明的基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng)的獲取用戶任務(wù)行為的圖例,和基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng)完成任務(wù)的完整流程。一種基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng),在用戶的具體行為和任務(wù)執(zhí)行,即任務(wù)系統(tǒng)300之間,具有消息系統(tǒng)100,所述消息系統(tǒng)100用于存儲各類用戶的具體行為。因此,所述消息系統(tǒng)對用戶行為和任務(wù)執(zhí)行邏輯做了一個解耦。
[0019]進一步的,在消息系統(tǒng)100和任務(wù)系統(tǒng)300之間加了一個用戶事件信息隊列200,所述用戶事件信息隊列200是一個分布式的信息隊列,用于將所述消息系統(tǒng)之間的消息分配給任務(wù)系統(tǒng)300,具體而言,是,用于等待任務(wù)系統(tǒng)從信息隊列中按照一定的規(guī)則取出任務(wù)數(shù)據(jù)。進一步的,所述用戶事件信息隊列200可同時將多個用戶事件等待任務(wù)系統(tǒng)獲取任務(wù)數(shù)據(jù)。而在消息系統(tǒng)100和用戶事件信息隊列200中間具有一個程序,例如,用戶時間采集程序,不斷的從消息系統(tǒng)100中取數(shù)據(jù),并放入用戶事件信息隊列200中。
[0020]因此,用戶的行為并不會直接觸發(fā)任務(wù)的執(zhí)行,用戶的行為首先進入消息系統(tǒng),在所述消息系統(tǒng)和所述用戶事件信息隊列之間具有用戶事件采集程序,不斷的從消息系統(tǒng)中取出用戶的行為事件,放入用戶事件信息隊列中,最后任務(wù)系統(tǒng)從隊列中取出數(shù)據(jù),執(zhí)行任務(wù)邏輯。
[0021]消息系統(tǒng),對用戶的具體行為和任務(wù)執(zhí)行做了一次分離;用戶事件消息隊列(MQ)又對任務(wù)的執(zhí)行做了一次緩沖,減少了用戶行為對任務(wù)系統(tǒng)的直接壓力,同時支持橫向擴展。
[0022]在一個優(yōu)選的實施例中,所述信息系統(tǒng)包括多個分類,每個分類用于存放不同類型的消息,每個分類中存放了該類信息的所有數(shù)據(jù),從而實現(xiàn)行為和任務(wù)的分離。例如,在消息中間件kafka的基礎(chǔ)上開發(fā),通過topic來存放不同類型的消息;每一個topic對應(yīng)一類行為,比如用戶注冊,登陸行為,分別是一個topic,每個topic中存放了這類行為的所有數(shù)據(jù),通過topic來實現(xiàn)行為和任務(wù)的分離。
[0023]進一步優(yōu)選的,所述用戶事件信息隊列是一個常見的分布式隊列,在分布式隊列的基礎(chǔ)上,實現(xiàn)多個系統(tǒng)間的數(shù)據(jù)流向和交互。例如,可以采用基于redis來實現(xiàn)的,用redis來實現(xiàn)分布式隊列,基于該分布式隊列,用戶事件采集程序和任務(wù)執(zhí)行邏輯程序可以部署多臺服務(wù)器,實現(xiàn)橫向擴展。
[0024]在一個具體的實施例中,用戶的行為包括但不限于:注冊、登陸、評論、收藏、訂閱、完善資料。
[0025]具體而言,任務(wù)系統(tǒng)300首先從消息系統(tǒng)100中獲取用戶的行為,放入分布式用戶事件消息隊列200中,然后和已配置好的任務(wù)做匹配,當(dāng)用戶行為匹配上任務(wù)后,開始執(zhí)行任務(wù)邏輯,任務(wù)執(zhí)行可以觸發(fā)諸如網(wǎng)站中的獎勵系統(tǒng)400等系統(tǒng),但本發(fā)明不限于此,可以關(guān)聯(lián)其它的系統(tǒng)。比如有一個簽到任務(wù),當(dāng)用戶簽到的時候,就會觸發(fā)這個簽到任務(wù),然后執(zhí)行簽到任務(wù)的邏輯,最后生成相應(yīng)的獎勵。
[0026]分布式用戶事件消息隊列,讓任務(wù)系統(tǒng)能夠?qū)崿F(xiàn)橫向擴展。
[0027]參見圖3,公開了在一個具體的實施例中本發(fā)明的基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng)的詳細流程。
[0028]因此,本發(fā)明的基于消息的用戶任務(wù)系統(tǒng),在用戶行為和任務(wù)執(zhí)行之間加了一個消息系統(tǒng)和用戶事件消息隊列,實現(xiàn)了對用戶行為和任務(wù)執(zhí)行的分離,大大降低了用戶行為對任務(wù)系統(tǒng)的壓力,同時可以通過頻率控制,控制任務(wù)的處理速度,大大提供系統(tǒng)的安全性和可靠性?;诜植际降挠脩羰录㈥犃袑崿F(xiàn)了系統(tǒng)的橫向擴展,讓任務(wù)系統(tǒng)可以支持大數(shù)據(jù)量,高并發(fā),同時也具備一定的容災(zāi)性。
[0029]顯然,本領(lǐng)域技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各系統(tǒng)或各單元可以用通用的計算裝置來實現(xiàn),它們可以集中在單個計算裝置上,可選地,他們可以用計算機裝置可執(zhí)行的程序代碼來實現(xiàn),從而可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件的結(jié)合。
[0030]以上內(nèi)容是結(jié)合具體的優(yōu)選實施方式對本發(fā)明所作的進一步詳細說明,不能認(rèn)定本發(fā)明的【具體實施方式】僅限于此,對于本發(fā)明所屬【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡單的推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明由所提交的權(quán)利要求書確定保護范圍。
【權(quán)利要求】
1.一種基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng),其特征在于: 在用戶的具體行為和任務(wù)系統(tǒng)之間,具有消息系統(tǒng),所述消息系統(tǒng)用于存儲各類用戶的具體行為。
2.根據(jù)權(quán)利要求1所述的基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng),其特征在于: 在所述消息系統(tǒng)和所述任務(wù)系統(tǒng)之間還具有用戶事件信息隊列,所述用戶事件信息隊列是一個分布式的信息隊列,用于等待任務(wù)系統(tǒng)從信息隊列中按照一定的規(guī)則取出任務(wù)數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng),其特征在于: 用戶的行為并不會直接觸發(fā)任務(wù)的執(zhí)行,用戶的行為首先進入消息系統(tǒng),在所述消息系統(tǒng)和所述用戶事件信息隊列之間具有用戶事件采集程序,不斷的從消息系統(tǒng)中取出用戶的行為事件,放入用戶事件信息隊列中,最后任務(wù)系統(tǒng)從隊列中取出數(shù)據(jù),執(zhí)行任務(wù)邏輯。
4.根據(jù)權(quán)利要求3所述的基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng),其特征在于: 所述消息系統(tǒng),對用戶的具體行為和任務(wù)執(zhí)行做了一次分離;所述用戶事件消息隊列(MQ)又對任務(wù)的執(zhí)行做了一次緩沖,減少了用戶行為對任務(wù)系統(tǒng)的直接壓力,同時支持橫向擴展。
5.根據(jù)權(quán)利要求4所述的基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng),其特征在于: 所述信息系統(tǒng)包括多個分類,每個分類用于存放不同類型的消息,每個分類中存放了該類信息的所有數(shù)據(jù),從而實現(xiàn)行為和任務(wù)的分離。
6.根據(jù)權(quán)利要求4所述的基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng),其特征在于: 所述用戶事件信息隊列為分布式隊列,在分布式隊列的基礎(chǔ)上,實現(xiàn)多個系統(tǒng)間的數(shù)據(jù)流向和交互。
7.根據(jù)權(quán)利要求6所述的基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng),其特征在于: 所述用戶事件采集程序和所述用戶事件信息隊列中的和任務(wù)執(zhí)行邏輯程序可以部署多臺服務(wù)器,實現(xiàn)橫向擴展。
8.根據(jù)權(quán)利要求1-7中任意一項所述的基于消息驅(qū)動的用戶任務(wù)管理系統(tǒng),其特征在于: 用戶的行為包括以下中的一項或多項:注冊、登陸、評論、收藏、訂閱和完善資料。
【文檔編號】G06Q10/06GK104361458SQ201410665924
【公開日】2015年2月18日 申請日期:2014年11月20日 優(yōu)先權(quán)日:2014年11月20日
【發(fā)明者】舒志龍, 賀群斐, 陳學(xué)文, 彭錦臻, 姚鍵, 潘柏宇, 盧述奇 申請人:合一網(wǎng)絡(luò)技術(shù)(北京)有限公司