System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及通信架構,具體涉及一種消息處理生成方法、裝置、電子設備、以及計算機可讀存儲介質。
技術介紹
1、隨著技術的發展,軟件框架(bocsoftframework,簡稱bfw),為一個java應用標準化開發平臺,提供了豐富的技術組件,包括多渠道整合、用戶權限控制、事務處理、組件化資產管理于復用,第三方技術集成等,并提供了一套標準的mvc編程模型和交易處理流程。通過bfw可以實現對用戶提交的交易進行處理。
2、現有的軟件框架中的單獨使用消息中間件作為消息總線,如kafka、rabbitmq等,雖然消息中間件都具有高性能高吞吐量,但用在服務內部通信,會造成資源的浪費,同時缺少業務擴展性,針對消息的收發沒有進行統一的業務架構設計,代碼開發管理難度增加。
技術實現思路
1、為解決上述技術問題,本申請的實施例提供了一種消息處理方法及裝置、電子設備、計算機可讀存儲介質以及計算機程序產品。
2、根據本申請實施例的一個方面,提供了一種消息處理方法,應用于包括消息集成端和消息消費端的系統,包括:監聽消息集成端的事件消息,所述事件消息包括服務內部事件消息和跨服務事件消息;基于所述服務內部事件消息和跨服務事件消息各自對應的監聽器,將所述事件消息發送給消息消費端的適配器;通過所述適配器基于所述事件消息的事件類確定所述事件消息對應的目標處理器;基于所述目標處理器處理所述事件消息,得到所述事件消息對應的處理結果。
3、根據本申請實施例的一個方面,所述服務內部消息包括異步事
4、根據本申請實施例的一個方面,所述方法還包括:將所述跨服務事件消息發送給預設處理器,以通過所述預設處理器獲取所述跨服務事件消息對應的狀態數據;若所述狀態數據表征所述跨服務事件消息未處理,則將所述跨服務事件消息發送給所述目標處理器。
5、根據本申請實施例的一個方面,所述狀態數據包括所述跨服務事件消息對應的身份標識,所述方法還包括:基于所述身份標識獲取所述跨服務事件消息對應的內容哈希值,所述內容哈希值在所述跨服務事件消息的消費歷史記錄;若所述內容哈希值為空,則得到所述跨服務事件消息未處理的結果。
6、根據本申請實施例的一個方面,所述基于所述目標處理器處理所述事件消息,得到所述事件消息對應的處理結果之前,所述方法還包括:獲取所述事件消息的消息格式、消息內容以及消息來源;若基于所述消息格式、所述消息內容以及所述消息來源確定所述事件消息合法,則將所述事件消息的消息格式轉換為目標消息格式;將所述目標消息格式下的事件消息發送給所述目標處理器。
7、根據本申請實施例的一個方面,所述通過所述適配器基于所述事件消息的事件類確定所述事件消息對應的目標處理器,包括:通過所述適配器獲取所述事件消息對應的事件類以及所述事件類的子類;基于所述事件類以及所述事件類的子類與處理器之間的預設映射關系確定所述事件消息對應的目標處理器。
8、根據本申請實施例的一個方面,所述方法還包括:基于所述事件類以及所述事件子類確定所述事件消息對應的業務場景以及消息路由;基于所述業務場景以及所述消息路由確定所述事件消息對應的目標處理器。
9、根據本申請實施例的一個方面,應用于包括消息集成端和消息消費端的系統,所述裝置包括:監聽模塊,用于監聽消息集成端的事件消息,所述事件消息包括服務內部事件消息和跨服務事件消息;發送模塊,用于基于所述服務內部事件消息和跨服務事件消息各自對應的監聽器,將所述事件消息發送給消息消費端的適配器;確定模塊,用于通過所述適配器基于所述事件消息的事件類確定所述事件消息對應的目標處理器;處理模塊,用于基于所述目標處理器處理所述事件消息,得到所述事件消息對應的處理結果。
10、根據本申請實施例的一個方面,提供了一種電子設備,包括:一個或多個處理器;存儲裝置,用于存儲一個或多個程序,當所述一個或多個程序被所述一個或多個處理器執行時,使得所述電子設備實現如前所述的消息處理方法。
11、根據本申請實施例的一個方面,提供了一種計算機可讀存儲介質,其上存儲有計算機可讀指令,當所述計算機可讀指令被計算機的處理器執行時,使計算機執行如上所述的消息處理方法。
12、根據本申請實施例的一個方面,還提供了一種計算機程序產品,包括計算機程序,該計算機程序被處理器執行時實現如上所述的消息處理方法中的步驟。
13、在本申請的實施例所提供的技術方案中,通過監聽消息集成端的服務內部事件消息和跨服務消息發送給各自對應的監聽器,以此實現,通過將消息的發送者與接收者解耦,從而可以更容易地添加新的服務或修改現有服務,而不需要對整體架構進行大規模的重構,然后通過定義多個監聽器和處理器,可以處理靈活地處理復雜的業務邏輯,并且每個監聽器可以負責監聽特定類型的事件消息,并將其轉發給相應的處理器進行處理,使得系統的業務邏輯更加清晰、易于理解和維護。
14、應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本申請。
本文檔來自技高網...【技術保護點】
1.一種消息處理方法,其特征在于,應用于包括消息集成端和消息消費端的系統,包括:
2.如權利要求1所述的方法,其特征在于,所述服務內部消息包括異步事件消息,所述方法還包括:
3.如權利要求1所述的方法,其特征在于,所述方法還包括:
4.如權利要求3所述的方法,其特征在于,所述狀態數據包括所述跨服務事件消息對應的身份標識,所述方法還包括:
5.如權利要求1所述的方法,其特征在于,所述基于所述目標處理器處理所述事件消息,得到所述事件消息對應的處理結果之前,所述方法還包括:
6.如權利要求1所述的方法,其特征在于,所述通過所述適配器基于所述事件消息的事件類確定所述事件消息對應的目標處理器,包括:
7.如權利要求6所述的方法,其特征在于,所述方法還包括:
8.一種消息處理裝置,其特征在于,應用于包括消息集成端和消息消費端的系統,所述裝置包括:
9.一種電子設備,其特征在于,包括:
10.一種計算機可讀存儲介質,其特征在于,其上存儲有計算機可讀指令,當所述計算機可讀指令被計算機的處理
...【技術特征摘要】
1.一種消息處理方法,其特征在于,應用于包括消息集成端和消息消費端的系統,包括:
2.如權利要求1所述的方法,其特征在于,所述服務內部消息包括異步事件消息,所述方法還包括:
3.如權利要求1所述的方法,其特征在于,所述方法還包括:
4.如權利要求3所述的方法,其特征在于,所述狀態數據包括所述跨服務事件消息對應的身份標識,所述方法還包括:
5.如權利要求1所述的方法,其特征在于,所述基于所述目標處理器處理所述事件消息,得到所述事件消息對應的處理結果之前,所述方法還包括:
<...【專利技術屬性】
技術研發人員:石峻臣,孫文彬,王漢雄,
申請(專利權)人:重慶賽力斯鳳凰智創科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。