[發(fā)明專利]一種高并發(fā)數(shù)據(jù)收發(fā)處理優(yōu)化方法在審
| 申請?zhí)枺?/td> | 202211643477.2 | 申請日: | 2022-12-20 |
| 公開(公告)號: | CN116346754A | 公開(公告)日: | 2023-06-27 |
| 發(fā)明(設(shè)計(jì))人: | 王忠昶 | 申請(專利權(quán))人: | 辛巴網(wǎng)絡(luò)科技(南京)有限公司 |
| 主分類號: | H04L49/90 | 分類號: | H04L49/90;H04L49/9057;H04L49/111 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 210000 江蘇省南京市南京*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 并發(fā) 數(shù)據(jù) 收發(fā) 處理 優(yōu)化 方法 | ||
本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,且公開了一種高并發(fā)數(shù)據(jù)收發(fā)處理優(yōu)化方法,包括以下步驟:S1:數(shù)據(jù)接入模塊,整個(gè)數(shù)據(jù)轉(zhuǎn)發(fā)處理過程,先經(jīng)過數(shù)據(jù)接入模塊訂閱數(shù)據(jù)接入Kafka?topic的數(shù)據(jù);S2:數(shù)據(jù)緩存模塊,數(shù)據(jù)接入模塊在獲取到轉(zhuǎn)發(fā)數(shù)據(jù)后,將數(shù)據(jù)流接入數(shù)據(jù)緩存模塊,數(shù)據(jù)緩存模塊切分?jǐn)?shù)據(jù)流,將切分后的數(shù)據(jù)塊保存到先進(jìn)先出的隊(duì)列中。本發(fā)明通過數(shù)據(jù)緩存模塊對待轉(zhuǎn)發(fā)數(shù)據(jù)進(jìn)行數(shù)據(jù)緩存處理,可以解決因?yàn)橄掠蔚膯栴}造成數(shù)據(jù)堆集在kafka的topic里無法及時(shí)處理的問題,通過數(shù)據(jù)轉(zhuǎn)發(fā)模塊對轉(zhuǎn)發(fā)到kafka的生產(chǎn)客戶端進(jìn)行管理,可對生產(chǎn)客戶端數(shù)量進(jìn)行動態(tài)調(diào)節(jié),但生產(chǎn)客戶端減少線程間調(diào)用和切換,提升轉(zhuǎn)發(fā)效率和性能。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,具體為一種高并發(fā)數(shù)據(jù)收發(fā)處理優(yōu)化方法。
背景技術(shù)
為滿足高并發(fā)的大批量數(shù)據(jù)通過kafka接收和轉(zhuǎn)發(fā)的業(yè)務(wù)場景,從數(shù)據(jù)接入的kafka的topic中讀取,經(jīng)過數(shù)據(jù)清洗和轉(zhuǎn)換等處理后,在通過數(shù)據(jù)發(fā)送的Kafka的topic轉(zhuǎn)發(fā)出去。
現(xiàn)有技術(shù)中,從數(shù)據(jù)接入kafka的topic消費(fèi)到數(shù)據(jù)后,為每個(gè)數(shù)據(jù)創(chuàng)建一條數(shù)據(jù)處理和轉(zhuǎn)發(fā)的子線程,在數(shù)據(jù)處理子線程中調(diào)用kafka生產(chǎn)客戶端方法進(jìn)行數(shù)據(jù)生產(chǎn)發(fā)送,發(fā)送過程中發(fā)現(xiàn)在多線程中調(diào)用一個(gè)kafka生產(chǎn)者,數(shù)據(jù)發(fā)送的性能很差,并發(fā)量小的時(shí)候不會出現(xiàn)問題,并發(fā)量大的時(shí)候,從數(shù)據(jù)發(fā)送到收到異步接收回調(diào)耗時(shí)超過1s,數(shù)據(jù)讀取和轉(zhuǎn)發(fā)發(fā)生數(shù)據(jù)堆積,數(shù)據(jù)接收方接收到數(shù)據(jù)的延遲也越來越高,無法滿足業(yè)務(wù)需求,排除網(wǎng)絡(luò)問題,多線程單生產(chǎn)者進(jìn)行數(shù)據(jù)處理的方式存在性能問題,因此提出一種高并發(fā)數(shù)據(jù)收發(fā)處理優(yōu)化方法。
發(fā)明內(nèi)容
(一)解決的技術(shù)問題
針對現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種高并發(fā)數(shù)據(jù)收發(fā)處理優(yōu)化方法,解決了并發(fā)量大的時(shí)候,從數(shù)據(jù)發(fā)送到收到異步接收回調(diào)耗時(shí)超過1s,數(shù)據(jù)讀取和轉(zhuǎn)發(fā)發(fā)生數(shù)據(jù)堆積,數(shù)據(jù)接收方接收到數(shù)據(jù)的延遲也越來越高,無法滿足業(yè)務(wù)需求,排除網(wǎng)絡(luò)問題,多線程單生產(chǎn)者進(jìn)行數(shù)據(jù)處理的方式存在性能問題。
(二)技術(shù)方案
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種高并發(fā)數(shù)據(jù)收發(fā)處理優(yōu)化方法,包括以下步驟:
S1:數(shù)據(jù)接入模塊,整個(gè)數(shù)據(jù)轉(zhuǎn)發(fā)處理過程,先經(jīng)過數(shù)據(jù)接入模塊訂閱數(shù)據(jù)接入Kafka?topic的數(shù)據(jù);
S2:數(shù)據(jù)緩存模塊,數(shù)據(jù)接入模塊在獲取到轉(zhuǎn)發(fā)數(shù)據(jù)后,將數(shù)據(jù)流接入數(shù)據(jù)緩存模塊,數(shù)據(jù)緩存模塊切分?jǐn)?shù)據(jù)流,將切分后的數(shù)據(jù)塊保存到先進(jìn)先出的隊(duì)列中;
S3:數(shù)據(jù)轉(zhuǎn)發(fā)模塊,數(shù)據(jù)轉(zhuǎn)發(fā)模塊從數(shù)據(jù)緩存模塊拉取待處理的數(shù)據(jù)塊,向數(shù)據(jù)發(fā)送Kafka?topic轉(zhuǎn)發(fā)數(shù)據(jù)。
作為本發(fā)明再進(jìn)一步的方案,所述S1中數(shù)據(jù)接收模塊作為上行數(shù)據(jù)的入口,訂閱kafka數(shù)據(jù)接入的topic通道,接收待處理的轉(zhuǎn)發(fā)數(shù)據(jù)。
進(jìn)一步的,所述S2中數(shù)據(jù)緩存模塊的循環(huán)隊(duì)列中,每一個(gè)數(shù)據(jù)塊按照業(yè)務(wù)規(guī)模,在總并發(fā)量大概1W條/S的基礎(chǔ)上,切分成1K條的數(shù)據(jù)塊保存到緩存隊(duì)列中。
在前述方案的基礎(chǔ)上,所述S2中數(shù)據(jù)緩存模塊獲取緩存數(shù)據(jù)時(shí),依次從隊(duì)列頭彈出最先保存的數(shù)據(jù)塊,保證數(shù)據(jù)處理的順序性和不重復(fù)性。
進(jìn)一步的,所述S2中隨著新數(shù)據(jù)不斷的壓入和老數(shù)據(jù)不斷的彈出,整個(gè)隊(duì)列數(shù)據(jù)不斷滾動刷新,所有的待處理數(shù)據(jù)能夠全部緩存在數(shù)據(jù)結(jié)構(gòu)中,保證上游的數(shù)據(jù)不會發(fā)生數(shù)據(jù)積壓。
在前述方案的基礎(chǔ)上,所述S3中數(shù)據(jù)轉(zhuǎn)發(fā)模塊根據(jù)業(yè)務(wù)需要創(chuàng)建多個(gè)KafkaProducer生產(chǎn)者客戶端,從數(shù)據(jù)緩存模塊的隊(duì)列中拉取最新數(shù)據(jù)塊進(jìn)行處理,每一個(gè)生產(chǎn)者獨(dú)占一個(gè)線程,沒有在線程間切換產(chǎn)生的性能損耗。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于辛巴網(wǎng)絡(luò)科技(南京)有限公司,未經(jīng)辛巴網(wǎng)絡(luò)科技(南京)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211643477.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





