[發(fā)明專利]一種對(duì)高并發(fā)或大量業(yè)務(wù)的處理方法及系統(tǒng)在審
| 申請(qǐng)?zhí)枺?/td> | 202111468596.4 | 申請(qǐng)日: | 2021-12-03 |
| 公開(公告)號(hào): | CN114217985A | 公開(公告)日: | 2022-03-22 |
| 發(fā)明(設(shè)計(jì))人: | 葉明;朱作飛;侯超 | 申請(qǐng)(專利權(quán))人: | 成都旋極歷通信息技術(shù)有限公司 |
| 主分類號(hào): | G06F9/54 | 分類號(hào): | G06F9/54 |
| 代理公司: | 成都華燁專利代理事務(wù)所(普通合伙) 51336 | 代理人: | 嚴(yán)劉英 |
| 地址: | 610000 四川省成都市武侯區(qū)*** | 國(guó)省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 并發(fā) 大量 業(yè)務(wù) 處理 方法 系統(tǒng) | ||
本發(fā)明公開了一種對(duì)高并發(fā)或大量業(yè)務(wù)的處理方法及系統(tǒng),本發(fā)明對(duì)高并發(fā)下業(yè)務(wù)邏輯分布處理,避免了其中一個(gè)模塊失敗影響下一個(gè)模塊。失敗模塊可以再次重新執(zhí)行,避免了業(yè)務(wù)中斷,減少了恢復(fù)工作量,提高了數(shù)據(jù)準(zhǔn)確性。還可以通過(guò)獲取序列號(hào)得到整個(gè)業(yè)務(wù)進(jìn)行到哪一步了,方便再次執(zhí)行和問題排查,進(jìn)行自動(dòng)或人工恢復(fù)數(shù)據(jù)。本發(fā)明適用于分布式集群架構(gòu),可以提高隊(duì)列的消費(fèi)能力,避免隊(duì)列消費(fèi)不及時(shí)導(dǎo)致的阻塞。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)數(shù)據(jù)處理領(lǐng)域,具體涉及一種對(duì)高并發(fā)或大量業(yè)務(wù)的處理方法及系統(tǒng)。
背景技術(shù)
目前針對(duì)高并發(fā)數(shù)據(jù)大量采用隊(duì)列中間件進(jìn)行處理,例如現(xiàn)在主流的隊(duì)列有rabbitMQ、kafak、RocketMQ等,但是在隊(duì)列中進(jìn)行大量邏輯處理,如果其中一處邏輯出錯(cuò)就會(huì)導(dǎo)致隊(duì)列中斷或者業(yè)務(wù)中斷,出現(xiàn)業(yè)務(wù)數(shù)據(jù)不準(zhǔn)確和丟失。對(duì)于不準(zhǔn)確數(shù)據(jù)的修正和丟失數(shù)據(jù)的恢復(fù)沒有更好的備用解決方案,重新進(jìn)行邏輯處理會(huì)造成大量的工作量。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中的上述不足,本發(fā)明提供的一種對(duì)高并發(fā)或大量業(yè)務(wù)的處理方法及系統(tǒng)解決了高并發(fā)數(shù)據(jù)一旦邏輯處理失敗會(huì)帶來(lái)大量工作量的問題。
為了達(dá)到上述發(fā)明目的,本發(fā)明采用的技術(shù)方案為:
提供一種對(duì)高并發(fā)或大量業(yè)務(wù)的處理方法,其包括以下步驟:
S1、獲取數(shù)據(jù)請(qǐng)求包;
S2、對(duì)每個(gè)數(shù)據(jù)請(qǐng)求包生成唯一序列號(hào),并將數(shù)據(jù)請(qǐng)求包的處理狀態(tài)映射為值存入緩存中,構(gòu)建數(shù)據(jù)請(qǐng)求包處理隊(duì)列;
S3、基于業(yè)務(wù)類型,將當(dāng)前請(qǐng)求數(shù)據(jù)包中的請(qǐng)求數(shù)據(jù)拆分成若干個(gè)模塊,給每個(gè)模塊生成一個(gè)唯一序列號(hào),并將每個(gè)模塊的處理狀態(tài)映射為值存入緩存中;
S4、對(duì)于每個(gè)模塊,判斷其是否為簡(jiǎn)單模塊,若是則直接加入邏輯處理隊(duì)列,進(jìn)入步驟S6;否則進(jìn)入步驟S5;
S5、按照邏輯類型將當(dāng)前模塊拆分成若干個(gè)關(guān)聯(lián)單元,并按照邏輯順序依次將屬于同一個(gè)模塊的關(guān)聯(lián)單元加入邏輯處理隊(duì)列,進(jìn)入步驟S6;
S6、按照模塊的序列號(hào)的先后順序?qū)儆谕粋€(gè)請(qǐng)求數(shù)據(jù)包的邏輯處理隊(duì)列進(jìn)行邏輯處理,修改當(dāng)前請(qǐng)求數(shù)據(jù)包中邏輯處理成功的模塊的處理狀態(tài);
S7、判斷當(dāng)前請(qǐng)求數(shù)據(jù)包是否存在邏輯處理失敗的模塊,若是則進(jìn)入步驟S8;否則刪除當(dāng)前數(shù)據(jù)包所有的緩存,進(jìn)入步驟S10;
S8、將當(dāng)前請(qǐng)求數(shù)據(jù)包中邏輯處理失敗的模塊進(jìn)行再次邏輯處理;
S9、判斷當(dāng)前請(qǐng)求數(shù)據(jù)包的再次邏輯處理是否均成功,若是則刪除當(dāng)前數(shù)據(jù)包所有的緩存,進(jìn)入步驟S10;否則采用與步驟S4至步驟S8相同的方法對(duì)當(dāng)前請(qǐng)求數(shù)據(jù)包邏輯處理未成功的模塊進(jìn)行處理,直至處理成功,進(jìn)入步驟S10;
S10、判斷數(shù)據(jù)請(qǐng)求包處理隊(duì)列是否還存在待處理數(shù)據(jù)包,若是則返回步驟S3;否則結(jié)束處理。
進(jìn)一步地,步驟S3中將每個(gè)模塊的處理狀態(tài)映射為值的具體方法為:
將每個(gè)模塊的處理狀態(tài)映射初始值設(shè)置為0,表示未處理成功;將處理成功的模塊的處理狀態(tài)值映射為1。
進(jìn)一步地,步驟S6中對(duì)屬于同一個(gè)請(qǐng)求數(shù)據(jù)包的不同簡(jiǎn)單模塊采用多線程處理方式進(jìn)行同步處理。
進(jìn)一步地,步驟S7中判斷當(dāng)前請(qǐng)求數(shù)據(jù)包是否存在邏輯處理失敗的模塊的具體方法為:
判斷當(dāng)前請(qǐng)求數(shù)據(jù)包中每個(gè)模塊的處理狀態(tài)值是否均為1,若是則表示當(dāng)前請(qǐng)求數(shù)據(jù)包不存在邏輯處理失敗的模塊;否則存在邏輯處理失敗的模塊。
進(jìn)一步地,步驟S9中采用與步驟S4至步驟S8相同的方法對(duì)當(dāng)前請(qǐng)求數(shù)據(jù)包邏輯處理未成功的模塊進(jìn)行處理的具體方法為:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于成都旋極歷通信息技術(shù)有限公司,未經(jīng)成都旋極歷通信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111468596.4/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種在有線智能網(wǎng)中實(shí)現(xiàn)直播業(yè)務(wù)的方法
- 業(yè)務(wù)路由方法、業(yè)務(wù)路由器、客戶端設(shè)備及業(yè)務(wù)網(wǎng)絡(luò)系統(tǒng)
- 一種移動(dòng)業(yè)務(wù)消息路由的方法、系統(tǒng)和設(shè)備
- 業(yè)務(wù)處理方法、設(shè)備和系統(tǒng)
- 業(yè)務(wù)編排方法及裝置、業(yè)務(wù)發(fā)放方法及裝置
- 業(yè)務(wù)限流方法及業(yè)務(wù)限流裝置
- 一種信息推薦方法、裝置及存儲(chǔ)介質(zhì)
- 一種基于業(yè)務(wù)事件的頁(yè)面展示方法、裝置和電子設(shè)備
- 業(yè)務(wù)編排方法及裝置、業(yè)務(wù)發(fā)放方法及裝置
- 一種安全業(yè)務(wù)的定義、開發(fā)和執(zhí)行方法及系統(tǒng)





