国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      消息處理方法、存儲(chǔ)介質(zhì)和電子設(shè)備與流程

      文檔序號(hào):39607907發(fā)布日期:2024-10-11 13:16閱讀:16來(lái)源:國(guó)知局
      消息處理方法、存儲(chǔ)介質(zhì)和電子設(shè)備與流程

      本公開(kāi)涉及計(jì)算機(jī)技術(shù)、互聯(lián)網(wǎng),尤其涉及一種消息處理方法、存儲(chǔ)介質(zhì)和電子設(shè)備。


      背景技術(shù):

      1、消息隊(duì)列是分布式系統(tǒng)中的一種重要的中間件,可以用于應(yīng)用程序和應(yīng)用程序之間的通信,在使用消息隊(duì)列進(jìn)行通信的過(guò)程中,生產(chǎn)者負(fù)責(zé)生產(chǎn)消息并向消息服務(wù)器內(nèi)的各個(gè)分區(qū)發(fā)送消息,相應(yīng)地,消費(fèi)者可以消費(fèi)目標(biāo)分區(qū)內(nèi)的消息。為了保證消息的有序消費(fèi),一個(gè)分區(qū)內(nèi)的消息通常由一個(gè)消費(fèi)者進(jìn)行拉取、消費(fèi)。

      2、相關(guān)技術(shù)中使用消息隊(duì)列進(jìn)行通信時(shí),存在消息流量增大,使得消息服務(wù)器內(nèi)部分分區(qū)或者所有分區(qū)內(nèi)的消息較多,對(duì)應(yīng)消費(fèi)者無(wú)法及時(shí)消費(fèi)消息導(dǎo)致的消息堆積問(wèn)題。


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

      1、為了解決上述技術(shù)問(wèn)題,本公開(kāi)的實(shí)施例提供了一種消息處理方法、存儲(chǔ)介質(zhì)和電子設(shè)備。

      2、根據(jù)本公開(kāi)實(shí)施例的第一個(gè)方面,提供一種消息處理方法,包括:

      3、按照設(shè)定周期,周期性獲取消息服務(wù)器中至少一個(gè)目標(biāo)分區(qū)的消費(fèi)偏移量和生產(chǎn)偏移量;

      4、根據(jù)所述消費(fèi)偏移量和生產(chǎn)偏移量,確定至少一個(gè)目標(biāo)分區(qū)中各目標(biāo)分區(qū)的分區(qū)狀態(tài);

      5、響應(yīng)于所述分區(qū)狀態(tài)指示有目標(biāo)分區(qū)處于消息堆積狀態(tài),將處于消息堆積狀態(tài)的目標(biāo)分區(qū)的消息消費(fèi)者添加到第一列表;

      6、響應(yīng)于所述分區(qū)狀態(tài)指示有目標(biāo)分區(qū)處于消息空閑狀態(tài),將處于消息空閑狀態(tài)的目標(biāo)分區(qū)的消息消費(fèi)者添加第二列表;

      7、控制所述第二列表中的消息消費(fèi)者輔助第一列表中的消息消費(fèi)者處理處于消息堆積狀態(tài)的目標(biāo)分區(qū)內(nèi)的消息。

      8、在本公開(kāi)的一些可選實(shí)施方式中,所述控制所述第二列表中的消息消費(fèi)者輔助第一列表中的消息消費(fèi)者處理處于消息堆積狀態(tài)的目標(biāo)分區(qū)內(nèi)的消息,包括:

      9、讀取所述第一列表;

      10、響應(yīng)于所述第一列表不為空,控制所述第二列表中的消息消費(fèi)者根據(jù)所述第一列表中的消息消費(fèi)者的關(guān)聯(lián)信息,處理處于消息堆積狀態(tài)的目標(biāo)分區(qū)內(nèi)的消息。

      11、在本公開(kāi)的又一些可選實(shí)施方式中,所述控制所述第二列表中的消息消費(fèi)者輔助第一列表中的消息消費(fèi)者處理處于消息堆積狀態(tài)的目標(biāo)分區(qū)內(nèi)的消息,包括:

      12、響應(yīng)于所述第一列表中只有一個(gè)消息消費(fèi)者,將所述一個(gè)消息消費(fèi)者確定為目標(biāo)消費(fèi)者;

      13、響應(yīng)于所述第一列表中有兩個(gè)以上的消息消費(fèi)者,從所述兩個(gè)以上的消息消費(fèi)者中選取一個(gè)消息消費(fèi)者作為目標(biāo)消費(fèi)者;

      14、從所述目標(biāo)消費(fèi)者的已拉取消息隊(duì)列中獲取并處理待處理消息,所述已拉取消息隊(duì)列根據(jù)所述目標(biāo)消費(fèi)者的關(guān)聯(lián)信息確定;

      15、響應(yīng)于所述待處理消息被成功處理完,將所述待處理消息的屬性信息存入對(duì)應(yīng)的已消費(fèi)消息隊(duì)列中,所述已消費(fèi)消息隊(duì)列根據(jù)所述目標(biāo)消費(fèi)者的關(guān)聯(lián)信息確定。

      16、在本公開(kāi)的又一些可選實(shí)施方式中,所述將所述待處理消息的屬性信息存入對(duì)應(yīng)的已消費(fèi)消息隊(duì)列中之后,還包括:

      17、控制所述目標(biāo)消費(fèi)者將所述待處理消息的屬性信息返回至對(duì)應(yīng)的目標(biāo)分區(qū),以便所述目標(biāo)分區(qū)根據(jù)所述待處理消息的屬性信息更新所述消費(fèi)偏移量。

      18、在本公開(kāi)的又一些可選實(shí)施方式中,所述已拉取消息隊(duì)列中包含所述消息消費(fèi)者從目標(biāo)分區(qū)拉取的消息,且所述已拉取消息隊(duì)列被存儲(chǔ)在分布式緩存系統(tǒng)中;

      19、所述已消費(fèi)消息隊(duì)列中包含所述消息消費(fèi)者從所述已拉取消息隊(duì)列中獲取并成功處理完成的消息,所述已消費(fèi)消息隊(duì)列被存儲(chǔ)在分布式緩存系統(tǒng)中;

      20、所述第一列表和所述第二列表被存儲(chǔ)在分布式緩存系統(tǒng)中。

      21、在本公開(kāi)的又一些可選實(shí)施方式中,所述根據(jù)所述消費(fèi)偏移量和生產(chǎn)偏移量,確定至少一個(gè)目標(biāo)分區(qū)中各目標(biāo)分區(qū)的分區(qū)狀態(tài),包括:

      22、計(jì)算各目標(biāo)分區(qū)的所述生產(chǎn)偏移量和所述消費(fèi)偏移量的差值;

      23、響應(yīng)于所述差值大于第一閾值,確定對(duì)應(yīng)的目標(biāo)分區(qū)的分區(qū)狀態(tài)為消息堆積狀態(tài);

      24、響應(yīng)于所述差值不大于第一閾值且大于第二閾值,確定對(duì)應(yīng)的目標(biāo)分區(qū)的分區(qū)狀態(tài)為消息存量正常狀態(tài);

      25、響應(yīng)于所述差值不大于所述第二閾值,確定對(duì)應(yīng)的目標(biāo)分區(qū)的分區(qū)狀態(tài)為消息空閑狀態(tài)。

      26、在本公開(kāi)的又一些可選實(shí)施方式中,響應(yīng)于所述目標(biāo)分區(qū)的分區(qū)狀態(tài)為消息堆積狀態(tài),所述方法還包括:

      27、生成提示信息,所述提示信息用于提示用戶所述目標(biāo)分區(qū)處于消息堆積狀態(tài)。

      28、根據(jù)本公開(kāi)實(shí)施例的第二個(gè)方面,提供一種消息處理裝置,包括:

      29、獲取模塊,用于按照設(shè)定周期,周期性獲取消息服務(wù)器中至少一個(gè)目標(biāo)分區(qū)的消費(fèi)偏移量和生產(chǎn)偏移量;

      30、狀態(tài)確定模塊,用于根據(jù)所述消費(fèi)偏移量和生產(chǎn)偏移量,確定至少一個(gè)目標(biāo)分區(qū)中各目標(biāo)分區(qū)的分區(qū)狀態(tài);

      31、第一添加模塊,用于響應(yīng)于所述分區(qū)狀態(tài)指示有目標(biāo)分區(qū)處于消息堆積狀態(tài),將處于消息堆積狀態(tài)的目標(biāo)分區(qū)的消息消費(fèi)者添加到第一列表;

      32、第二添加模塊,用于響應(yīng)于所述分區(qū)狀態(tài)指示有目標(biāo)分區(qū)處于消息空閑狀態(tài),將處于消息空閑狀態(tài)的目標(biāo)分區(qū)的消息消費(fèi)者添加到第二列表;

      33、消息處理模塊,用于控制所述第二列表中的消息消費(fèi)者輔助第一列表中的消息消費(fèi)者處理處于消息堆積狀態(tài)的目標(biāo)分區(qū)內(nèi)的消息。

      34、在本公開(kāi)的又一些可選實(shí)施方式中,所述消息處理模塊包括:

      35、列表讀取子模塊,用于讀取所述第一列表;

      36、第一處理子模塊,用于響應(yīng)于所述第一列表不為空,控制所述第二列表中的消息消費(fèi)者根據(jù)所述第一列表中的消息消費(fèi)者的關(guān)聯(lián)信息,處理處于消息堆積狀態(tài)的目標(biāo)分區(qū)內(nèi)的消息。

      37、在本公開(kāi)的又一些可選實(shí)施方式中,所述消息處理模塊包括:

      38、第一確定子模塊,用于響應(yīng)于所述第一列表中只有一個(gè)消息消費(fèi)者,將所述一個(gè)消息消費(fèi)者確定為目標(biāo)消費(fèi)者;

      39、第二確定子模塊,用于響應(yīng)于所述第一列表中有兩個(gè)以上的消息消費(fèi)者,從所述兩個(gè)以上的消息消費(fèi)者中選取一個(gè)消息消費(fèi)者作為目標(biāo)消費(fèi)者;

      40、第二處理子模塊,用于從所述目標(biāo)消費(fèi)者的已拉取消息隊(duì)列中獲取并處理待處理消息,所述已拉取消息隊(duì)列根據(jù)所述目標(biāo)消費(fèi)者的關(guān)聯(lián)信息確定;

      41、存儲(chǔ)子模塊,用于響應(yīng)于所述待處理消息被成功處理完,將所述待處理消息的屬性信息存入對(duì)應(yīng)的已消費(fèi)消息隊(duì)列中,所述已消費(fèi)消息隊(duì)列根據(jù)所述目標(biāo)消費(fèi)者的關(guān)聯(lián)信息確定。

      42、在本公開(kāi)的又一些可選實(shí)施方式中,所述消息處理模塊還包括:

      43、發(fā)送子模塊,用于控制所述目標(biāo)消費(fèi)者將所述待處理消息的屬性信息返回至對(duì)應(yīng)的目標(biāo)分區(qū),以便所述目標(biāo)分區(qū)根據(jù)所述待處理消息的屬性信息更新所述消費(fèi)偏移量。

      44、在本公開(kāi)的又一些可選實(shí)施方式中,所述已拉取消息隊(duì)列中包含所述消息消費(fèi)者從目標(biāo)分區(qū)拉取的消息,且所述已拉取消息隊(duì)列被存儲(chǔ)在分布式緩存系統(tǒng)中;

      45、所述已消費(fèi)消息隊(duì)列中包含所述消息消費(fèi)者從所述已拉取消息隊(duì)列中獲取并成功處理完成的消息,所述已消費(fèi)消息隊(duì)列被存儲(chǔ)在分布式緩存系統(tǒng)中;

      46、所述第一列表和所述第二列表被存儲(chǔ)在分布式緩存系統(tǒng)中。

      47、在本公開(kāi)的又一些可選實(shí)施方式中,所述狀態(tài)確定模塊包括:

      48、計(jì)算子模塊,用于計(jì)算各目標(biāo)分區(qū)的所述生產(chǎn)偏移量和所述消費(fèi)偏移量的差值;

      49、第三確定子模塊,用于響應(yīng)于所述差值大于第一閾值,確定對(duì)應(yīng)的目標(biāo)分區(qū)的分區(qū)狀態(tài)為消息堆積狀態(tài);

      50、第四確定子模塊,用于響應(yīng)于所述差值不大于第一閾值且大于第二閾值,確定對(duì)應(yīng)的目標(biāo)分區(qū)的分區(qū)狀態(tài)為消息存量正常狀態(tài);

      51、第五確定子模塊,用于響應(yīng)于所述差值不大于所述第二閾值,確定對(duì)應(yīng)的目標(biāo)分區(qū)的分區(qū)狀態(tài)為消息空閑狀態(tài)。

      52、在本公開(kāi)的又一些可選實(shí)施方式中,所述裝置還包括:

      53、提示模塊,用于生成提示信息,所述提示信息用于提示用戶所述目標(biāo)分區(qū)處于消息堆積狀態(tài)。

      54、根據(jù)本公開(kāi)實(shí)施例的第三個(gè)方面,提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序指令,所述計(jì)算機(jī)程序指令被執(zhí)行時(shí),實(shí)現(xiàn)上述消息處理方法。

      55、根據(jù)本公開(kāi)實(shí)施例的第四個(gè)方面,提供一種電子設(shè)備,所述電子設(shè)備包括:

      56、存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序產(chǎn)品;

      57、處理器,用于執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的計(jì)算機(jī)程序產(chǎn)品,且所述計(jì)算機(jī)程序產(chǎn)品被執(zhí)行時(shí),實(shí)現(xiàn)上述消息處理方法。

      58、根據(jù)本公開(kāi)實(shí)施例的第五個(gè)方面,提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序指令,計(jì)算機(jī)程序指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述消息處理方法。

      59、基于本公開(kāi)上述實(shí)施例,在通過(guò)消息隊(duì)列進(jìn)行通信時(shí),消息消費(fèi)者可按照設(shè)定周期,周期性獲取目標(biāo)分區(qū)的消費(fèi)偏移量和生產(chǎn)偏移量,進(jìn)而確定目標(biāo)分區(qū)的分區(qū)狀態(tài),實(shí)現(xiàn)在目標(biāo)分區(qū)處于消息堆積狀態(tài)時(shí),將處于消息堆積狀態(tài)的目標(biāo)分區(qū)的消息消費(fèi)者添加到第一列表中,將處于消息空閑狀態(tài)的目標(biāo)分區(qū)的消息消費(fèi)者添加到第二列表中,進(jìn)而控制第二列表中的消息消費(fèi)者能夠處理處于消息堆積狀態(tài)的目標(biāo)分區(qū)的消息。由此,本公開(kāi)技術(shù)方案可以實(shí)現(xiàn)各消息消費(fèi)者自動(dòng)周期性監(jiān)控被分配的目標(biāo)分區(qū)的分區(qū)狀態(tài),并由空閑狀態(tài)的消息消費(fèi)者輔助處理處于消息堆積狀態(tài)的分區(qū)內(nèi)的消息,提高消息處理能力,解決分區(qū)內(nèi)消息的堆積問(wèn)題。

      60、下面通過(guò)附圖和實(shí)施例,對(duì)本公開(kāi)的技術(shù)方案做進(jìn)一步的詳細(xì)描述。

      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1