中文字幕无码日韩视频无码三区

一種消息中間件mq的消息傳輸方法和裝置的制造方法

文檔(dang)序(xu)號:8412579閱(yue)讀:1007來源:國知(zhi)局
一種消息中間件mq的消息傳輸方法和裝置的制造方法
【技術領域】
[0001]本發明涉及計算機應用領域,特別涉及一種消息中間件MQ的消息傳輸方法和裝置。
【背景技術】
[0002]MQ(通信隊列)作為一種消息中間件,用于將發送端的消息轉發給消費端,以實現發送端與消費端之間的通信。
[0003]目前,利用消息中間件MQ的消息傳輸方式可以包括:發送端成功將多個消息依次發送給消息中間件MQ,以使消息中間件MQ在接收到每個消息時,將接收到的消息傳入消息隊列中,然后將消息隊列中的多個消息依次發送給消費端,以供消息消費端消費。當發送端發送消息失敗時,則舍棄該發送失敗的消息,或,消費端消費消息失敗時,則舍棄該消費失敗的消息。由于舍棄了發送失敗的消息或消費失敗的消息,對發送端向消費端發送消息的完整性造成了影響,因此,現有的消息中間件MQ消息傳輸技術使消息的可靠性較低。

【發明內容】

[0004]本發明提供一種消息中間件MQ的消息傳輸方法和裝置,以提高消息的可靠性。
[0005]一種消息中間件MQ的傳輸方法,包括:
[0006]獲取所需要傳輸的目標消息,并確定與所述目標消息相鄰的消息在日志數據庫中的標記信息;
[0007]在確定所述標記信息為傳輸失敗時,將所述目標消息轉存入日志數據庫中,并標記所述目標消息傳輸失敗;否則,對所述目標消息進行傳輸,并判斷傳輸結果;在傳輸結果為傳輸失敗時,將所述目標消息轉存入日志數據庫中,并標記所述目標消息傳輸失敗,在傳輸結果為傳輸成功時,將所述目標消息存入消息隊列,并同步到日志數據庫中,并標記所述目標消息傳輸成功;
[0008]根據預先設置的重試機制,對所述日志數據庫中標記信息為傳輸失敗的消息進行重新傳輸。
[0009]優選地,對所述日志數據庫中標記信息為傳輸失敗的消息進行重新傳輸之后,進一步包括:
[0010]在所述日志表中對重新傳輸成功的消息所對應的標記信息修改為傳輸成功。
[0011]優選地,所述目標消息的傳輸包括:發送,和/或,消費;
[0012]進一步包括:所述日志數據庫利用發送端日志表保存發送的目標消息以及標記信息,和/或,所述日志數據庫利用消費端日志表保存消費的目標消息以及標記信息;
[0013]確定與所述目標消息相鄰的消息在日志數據庫中的標記信息,包括:確定與所述發送狀態的目標消息相鄰的消息在所述發送端日志表中的標記信息,和/或,確定與所述消費狀態目標消息相鄰的消息在所述消費端日志表中的標記信息;
[0014]將所述目標消息轉存入日志數據庫中,包括:將所述發送狀態目標消息轉存入所述發送端日志表中,和/或,將所述消費狀態目標消息轉存入所述消費端日志表中。
[0015]優選地,所述重試機制進一步包括:定時器;
[0016]在將所述目標消息進行重新傳輸失敗時,繼續等待定時器所設定的時間,并在到達定時器所設定的時間時,將所述目標消息進行重新傳輸;
[0017]或,
[0018]在將所述目標消息進行重新傳輸失敗時,將日志數據庫中其他等待重新傳輸的消息進行逐個傳輸。
[0019]優選地,進一步包括:在將所述目標消息進行重新傳輸的次數達到重試機制中所設定的閾值次數時,調用預警接口進行預警提示。
[0020]一種消息中間件MQ的傳輸裝置,包括:
[0021]確定單元,用于獲取所需要傳輸的目標消息,并確定與所述目標消息相鄰的消息在日志數據庫中的標記信息;
[0022]轉存單元,用于在所述確定單元確定所述標記信息為傳輸失敗時,將所述目標消息轉存入日志數據庫中,并標記所述目標消息傳輸失敗;
[0023]傳輸單元,用于在在所述確定單元確定所述標記信息為傳輸成功時,對所述目標消息進行傳輸,觸發判斷單元;
[0024]所述判斷單元,用于判斷所述傳輸單元的傳輸結果,在傳輸結果為傳輸失敗時,將所述目標消息轉存入日志數據庫中,并標記所述目標消息傳輸失敗,在傳輸結果為傳輸成功時,將所述目標消息存入消息隊列,并同步到日志數據庫中,并標記所述目標消息傳輸成功;
[0025]重試單元,用于根據預先設置的重試機制,對所述日志數據庫中標記信息為傳輸失敗的消息進行重新傳輸。
[0026]優選地,該裝置進一步包括:修改單元,
[0027]所述修改單元,用于將所述重試單元重試傳輸成功的消息所對應的標記信息修改為傳輸成功。
[0028]優選地,該裝置進一步包括:保存單元,其中,
[0029]所述目標消息的傳輸包括:發送,和/或,消費;
[0030]所述保存單元,用于所述日志數據庫利用發送端日志表保存發送的目標消息以及標記信息,和/或,所述日志數據庫利用消費端日志表保存消費的目標消息以及標記信息;
[0031]所述確定單元,進一步用于確定與所述發送狀態的目標消息相鄰的消息在所述發送端日志表中的標記信息,和/或,確定與所述消費狀態目標消息相鄰的消息在所述消費端日志表中的標記信息;
[0032]所述轉存單元,進一步用于將所述發送狀態目標消息轉存入所述發送端日志表中,和/或,將所述消費狀態目標消息轉存入所述消費端日志表中。
[0033]優選地,所述重試單元,進一步用于:
[0034]在將所述目標消息進行重新傳輸失敗時,繼續等待定時器所設定的時間,并在到達定時器所設定的時間時,將所述目標消息進行重新傳輸;
[0035]或,
[0036]在將所述目標消息進行重新傳輸失敗時,將日志數據庫中其他等待重新傳輸的消息進行逐個傳輸。
[0037]優選地,該裝置進一步包括:預警單元,
[0038]所述預警單元,用于在將所述目標消息進行重新傳輸的次數達到重試機制中所設定的閾值次數時,調用預警接口進行預警提示。
[0039]本發明實施例提供了一種消息中間件MQ的消息傳輸方法和裝置,其通過獲取所需要傳輸的目標消息,并確定與所述目標消息相鄰的消息在日志數據庫中的標記信息;在確定所述標記信息為傳輸失敗時,將所述目標消息轉存入日志數據庫中,并標記所述目標消息傳輸失敗;否則,對所述目標消息進行傳輸,并判斷傳輸結果;在傳輸結果為傳輸失敗時,將所述目標消息轉存入日志數據庫中,并標記所述目標消息傳輸失敗,在傳輸結果為傳輸成功時,將所述目標消息存入消息隊列,并同步到日志數據庫中,并標記所述目標消息傳輸成功;根據預先設置的重試機制,對所述日志數據庫中標記信息為傳輸失敗的消息進行重新傳輸。在這一過程中,由于傳輸失敗的消息將轉存入所述日志數據庫,與現有技術相比,其不會丟失所述傳輸失敗的消息,因此,有效提高了提高消息的可靠性。
[0040]本發明實施例通過重試機制和具有閥值的預警接口,可以將日志數據庫中傳輸失敗的消息自動重試,通過預警接口可以發送預警信息,提醒工作人員處理傳輸過程中的問題,也進一步提高了消息的可靠性。
[0041]本發明實施例通過對發送端發送失敗消息進行轉存,可以防止發送消息的丟失,對消費端消費失敗消息進行轉存,不僅可有效防止消費消息丟失,而且可以有效防止消息循環造成的隊列堵塞。
【附圖說明】
[0042]圖1是本發明實施例提供的消息中間件MQ的消息傳輸方法流程圖;
[0043]圖2是本發明另一實施例提供的消息中間件MQ接收發送端發送消息的方法流程圖;
[0044]圖3是本發明又一實施例提供的消息中間件MQ為消費端發送消費消息的方法流程圖;
[0045]圖4是本發明實施例提供的消息中間件MQ的傳輸裝置所在架構示意圖;
[0046]圖5是本發明實施例提供的消息中間件MQ的傳輸裝置結構示意圖;
[0047]圖6是本發明另一實施例提供的消息中間件MQ的傳輸裝置結構示意圖;
[0048]圖7是本發明又一實施例提供的消息中間件MQ的傳輸裝置結構示意圖;
[0049]圖8是本發明又一實施例提供的消息中間件MQ的傳輸裝置結構示意圖。
【具體實施方式】
[0050]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本發明一部分實施例,而不是全部的實施例。基于本
當前第1頁1 2 3 4 
網友詢(xun)問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1