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

消費機器的災備切換方法、裝置、計算機設(shè)備及介質(zhì)與流程

文檔序號:40454019發(fā)布日期:2024-12-27 09:19閱讀:16來源:國知局
消費機器的災備切換方法、裝置、計算機設(shè)備及介質(zhì)與流程

本發(fā)明實施例涉及計算機,尤其涉及一種消費機器的災備切換方法、裝置、計算機設(shè)備及介質(zhì)。


背景技術(shù):

1、面對公司業(yè)務(wù)增長帶來的數(shù)據(jù)存儲和查詢挑戰(zhàn),一般會采用基于kafka的增量數(shù)據(jù)同步方案。該kafka的增量數(shù)據(jù)同步方案主要包括:首先,監(jiān)聽某數(shù)據(jù)源發(fā)出的binlog日志,通常是關(guān)系型數(shù)據(jù)庫。然后設(shè)置kafka集群,由kafka集群進行業(yè)務(wù)數(shù)據(jù)的接收與消費,并確保其能夠處理預期的數(shù)據(jù)量和吞吐量。其中,可以在消費者應用程序中,將接收到的binlog日志轉(zhuǎn)換為所需的數(shù)據(jù)格式,并加入組裝寬表的邏輯來將轉(zhuǎn)換后的數(shù)據(jù)寫入新的數(shù)據(jù)存儲系統(tǒng)中,即可實現(xiàn)自定義的增量數(shù)據(jù)同步,并確保新系統(tǒng)能夠處理不斷增長的業(yè)務(wù)數(shù)據(jù),同時保持查詢的響應速度。

2、然而,發(fā)明人意識到,由于kafka客戶端只能由一個消費機器單獨開啟并消費,如果出現(xiàn)消費機器意外宕機或者程序不可用時,無法讓其他消費機器繼續(xù)消費此kafka消息,容易造成增量數(shù)據(jù)同步延遲的問題,帶來業(yè)務(wù)上的不可控。


技術(shù)實現(xiàn)思路

1、本申請針對上述不足或缺點,本申請?zhí)峁┝艘环N消費機器的災備切換方法、裝置、計算機設(shè)備及介質(zhì)。通過執(zhí)行該方案,確保了業(yè)務(wù)數(shù)據(jù)在分布式環(huán)境下僅能由單臺消費機器消費,當出現(xiàn)問題時,執(zhí)行災備切換操作以避免增量數(shù)據(jù)同步延遲的問題,保證了業(yè)務(wù)的正常進行。

2、本申請根據(jù)第一方面提供了一種消費機器的災備切換方法,該方法應用于包含有多臺消費機器的分布式數(shù)據(jù)消費系統(tǒng),包括:

3、當監(jiān)聽到出現(xiàn)第一消費機器的心跳停止時長達到預設(shè)的心跳周期時,收回第一消費機器上的業(yè)務(wù)數(shù)據(jù),第一消費機器是當前正在消費業(yè)務(wù)數(shù)據(jù)的一臺消費機器;

4、當監(jiān)聽到出現(xiàn)第二消費機器發(fā)出排他鎖時,單獨向第二消費機器發(fā)送業(yè)務(wù)數(shù)據(jù)以完成消費機器的切換操作;第二消費機器是在其余的多臺消費機器中最先向redis(remotedictionary?server,遠程字典服務(wù))端發(fā)出排他鎖的一臺消費機器;

5、其中,當?shù)谝幌M機器發(fā)生宕機,或者內(nèi)部的程序出現(xiàn)異常時,第一消費機器會暫停發(fā)送心跳。

6、在一些實施例中,在啟動分布式數(shù)據(jù)消費系統(tǒng)的業(yè)務(wù)項目時,該方法還包括:

7、隨機地選取分布式數(shù)據(jù)消費系統(tǒng)中的一臺消費機器作為第一消費機器;

8、令第一消費機器通過訂閱方式從redis端獲取kafka配置標識集合;

9、其中,第一消費機器在獲取到kafka配置標識集合后,遍歷該kafka配置標識集合,抽取其中一個目標kafka配置標識用以確定排他鎖的值,并向redis端發(fā)送排他鎖。

10、在一些實施例中,每臺消費機器原本被設(shè)置了空標識,當出現(xiàn)某一消費機器的空標識被賦予特定的kafka配置標識時,該消費機器會向redis端發(fā)送心跳;該方法還包括:

11、當監(jiān)聽到第一消費機器向redis端發(fā)送排他鎖時,向第一消費機器發(fā)送目標kafka配置標識對應的消費配置信息,該消費配置信息包括kafka服務(wù)端地址、消息集鍵以及客戶端消費方式信息;

12、啟動第一消費機器的kafka客戶端以執(zhí)行消費業(yè)務(wù)數(shù)據(jù)操作,并為第一消費機器的空標識賦予上目標kafka配置標識。

13、在一些實施例中,啟動第一消費機器的kafka客戶端以執(zhí)行業(yè)務(wù)數(shù)據(jù)操作,包括:

14、開啟kafka客戶端的第一子線程和第二子線程;

15、通過第一子線程接收業(yè)務(wù)數(shù)據(jù),將業(yè)務(wù)數(shù)據(jù)存入阻塞隊列中;

16、通過第二子線程從阻塞隊列中取出業(yè)務(wù)數(shù)據(jù),并根據(jù)業(yè)務(wù)數(shù)據(jù)執(zhí)行對應的業(yè)務(wù)代碼。

17、在一些實施例中,在為第一消費機器的空標識賦予上目標kafka配置標識后,第一消費機器會按照設(shè)定的心跳周期向redis端發(fā)送心跳;

18、其中,單次的心跳續(xù)期大于心跳周期;若第一消費機器的心跳續(xù)期成功,則在當前的心跳續(xù)期內(nèi),第一消費機器獨占目標kafka配置標識。

19、在一些實施例中,收回第一消費機器上的業(yè)務(wù)數(shù)據(jù),包括:

20、將第一消費機器的目標kafka配置標識設(shè)置為空標識以停止kafka客戶端的消費業(yè)務(wù)數(shù)據(jù)操作。

21、在一些實施例中,該方法還包括:

22、將第一消費機器的目標kafka配置標識以及其余各臺消費機器的當前標識設(shè)置為空標識,以停止分布式數(shù)據(jù)消費系統(tǒng)中所有的消費業(yè)務(wù)數(shù)據(jù)操作;

23、若在當前的心跳續(xù)期內(nèi)未出現(xiàn)任一臺消費機器發(fā)出心跳,則在下一心跳續(xù)期內(nèi),且監(jiān)聽到出現(xiàn)第三消費機器向redis端發(fā)出排他鎖時,單獨向第三消費機器發(fā)送業(yè)務(wù)數(shù)據(jù)以完成消費機器的切換操作。

24、本申請根據(jù)第二方面提供了一種消費機器的災備切換裝置,該災備切換裝置應用于包含有多臺消費機器的分布式數(shù)據(jù)消費系統(tǒng),包括:

25、業(yè)務(wù)數(shù)據(jù)回收模塊,用于當監(jiān)聽到出現(xiàn)第一消費機器的心跳停止時長達到預設(shè)的心跳周期時,收回第一消費機器上的業(yè)務(wù)數(shù)據(jù),該第一消費機器是當前正在消費業(yè)務(wù)數(shù)據(jù)的一臺消費機器;

26、業(yè)務(wù)數(shù)據(jù)切換模塊,用于當監(jiān)聽到出現(xiàn)第二消費機器發(fā)出排他鎖時,單獨向第二消費機器發(fā)送業(yè)務(wù)數(shù)據(jù)以完成消費機器的切換操作;第二消費機器是在其余的多臺消費機器中最先向redis端發(fā)出排他鎖的一臺消費機器;

27、其中,當?shù)谝幌M機器發(fā)生宕機,或者內(nèi)部的程序出現(xiàn)異常時,第一消費機器會暫停發(fā)送心跳。

28、本申請根據(jù)第三方面提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)上述實施例中任一項消費機器的災備切換方法的步驟。

29、本申請根據(jù)第四方面提供了一種計算機設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,處理器執(zhí)行計算機程序時實現(xiàn)上述實施例中任一項消費機器的災備切換方法的步驟。

30、上述實施例的方法可以應用于監(jiān)聽消費機器心跳的監(jiān)控服務(wù)器,該監(jiān)控服務(wù)器在接收到項目啟動指令時,會隨機地選取分布式數(shù)據(jù)消費系統(tǒng)中的一臺消費機器作為第一消費機器,然后令第一消費機器通過訂閱方式從redis端獲取kafka配置標識集合。其中,第一消費機器在獲取到kafka配置標識集合后,會遍歷該kafka配置標識集合,抽取其中一個目標kafka配置標識用以確定排他鎖的值,并向redis端發(fā)送排他鎖,使得業(yè)務(wù)數(shù)據(jù)只能由第一消費機器進行消費。而監(jiān)控服務(wù)器在監(jiān)聽到第一消費機器的心跳停止時長超過心跳續(xù)期時,表明第一消費機器發(fā)生宕機,或內(nèi)部的程序出現(xiàn)異常,則收回第一消費機器上的業(yè)務(wù)數(shù)據(jù)。此時,除第一消費機器以外的消費機器均可以向redis端發(fā)送排他鎖來爭取消費業(yè)務(wù)數(shù)據(jù)的機會。最后,當監(jiān)控服務(wù)器監(jiān)聽到出現(xiàn)第二消費機器發(fā)出排他鎖時,單獨向第二消費機器發(fā)送業(yè)務(wù)數(shù)據(jù)以完成消費機器的切換操作。通過這樣的方式,確保了業(yè)務(wù)數(shù)據(jù)在分布式環(huán)境下僅能由單臺消費機器消費,當出現(xiàn)問題時,執(zhí)行災備切換操作以避免增量數(shù)據(jù)同步延遲的問題,保證了業(yè)務(wù)的正常進行。



技術(shù)特征:

1.一種消費機器的災備切換方法,其特征在于,所述方法應用于包含有多臺消費機器的分布式數(shù)據(jù)消費系統(tǒng),所述方法包括:

2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在啟動所述分布式數(shù)據(jù)消費系統(tǒng)的業(yè)務(wù)項目時,所述方法還包括:

3.根據(jù)權(quán)利要求2所述的方法,其特征在于,每臺所述消費機器原本被設(shè)置了空標識,當出現(xiàn)某一消費機器的空標識被賦予特定的kafka配置標識時,該消費機器會向所述redis端發(fā)送心跳;所述方法還包括:

4.根據(jù)權(quán)利要求3所述的方法,其特征在于,啟動所述第一消費機器的kafka客戶端以執(zhí)行業(yè)務(wù)數(shù)據(jù)操作,包括:

5.根據(jù)權(quán)利要求3所述的方法,其特征在于,在為所述第一消費機器的空標識賦予上所述目標kafka配置標識后,所述第一消費機器會按照設(shè)定的心跳周期向所述redis端發(fā)送心跳;

6.根據(jù)權(quán)利要求3所述的方法,其特征在于,收回所述第一消費機器上的業(yè)務(wù)數(shù)據(jù),包括:

7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述方法還包括:

8.一種消費機器的災備切換裝置,其特征在于,該災備切換裝置應用于包含有多臺消費機器的分布式數(shù)據(jù)消費系統(tǒng),包括:

9.一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1至7中任一項所述方法的步驟。

10.一種計算機設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)權(quán)利要求1至7中任一項所述方法的步驟。


技術(shù)總結(jié)
本申請涉及一種消費機器的災備切換方法、裝置、計算機設(shè)備及介質(zhì),該方法包括:當監(jiān)聽到出現(xiàn)第一消費機器的心跳停止時長達到預設(shè)的心跳周期時,收回第一消費機器上的業(yè)務(wù)數(shù)據(jù);當監(jiān)聽到出現(xiàn)第二消費機器發(fā)出排他鎖時,單獨向第二消費機器發(fā)送業(yè)務(wù)數(shù)據(jù)以完成消費機器的切換操作;第二消費機器是在其余的多臺消費機器中最先向Redis端發(fā)出排他鎖的一臺消費機器;其中,當?shù)谝幌M機器發(fā)生宕機,或者內(nèi)部的程序出現(xiàn)異常時,第一消費機器會暫停發(fā)送心跳。本申請設(shè)計了一種消費機器的災備切換方案,確保了業(yè)務(wù)數(shù)據(jù)在分布式環(huán)境下僅能由單臺消費機器消費,當出現(xiàn)問題時,執(zhí)行災備切換操作以避免增量數(shù)據(jù)同步延遲的問題,保證了業(yè)務(wù)的正常進行。

技術(shù)研發(fā)人員:張名文
受保護的技術(shù)使用者:北京白龍馬云行科技有限公司
技術(shù)研發(fā)日:
技術(shù)公布日:2024/12/26
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
菏泽市| 措勤县| 大悟县| 昭觉县| 鄄城县| 南漳县| 泗水县| 乌兰察布市| 德庆县| 云和县| 侯马市| 岐山县| 姜堰市| 桑日县| 遂川县| 东方市| 朝阳区| 辉县市| 海阳市| 瑞昌市| 绿春县| 象州县| 南雄市| 宣威市| 伊川县| 和林格尔县| 武陟县| 延长县| 苍南县| 巴楚县| 富顺县| 台南市| 壶关县| 定安县| 博爱县| 临猗县| 昭通市| 汉沽区| 盱眙县| 甘孜县| 巴彦淖尔市|