System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及軟件系統開發,具體涉及一種基于redis的輕量級實現參數實時分布式通知的方法。
技術介紹
1、隨著金融業的發展,金融場景在不斷的豐富中,也在不斷的變化中,銀行需要快速的適應變化,快速響應,保證時刻對外提供最優質的服務。
2、在資金交易系統中,為響應變化,一般需要使用各種參數來控制開關或分支流程等,當參數發生修改時,需要快速的將最新的參數值通知到系統。
3、在傳統的資金交易系統中,獲取最新參數值的方式為將參數保存在一個公共的組件中,比如保存在mysql/oracle數據庫中,或者更新到redis中,每次從redis中讀取。但每次需要獲取參數值時都查詢數據庫或redis,雖然確實可以獲取最新的參數值,但交易量較大時會出現如下缺陷:
4、1、數據庫壓力大,使用oracle/mysql等數據庫保存參數時,每次獲取參數都要訪問數據庫,對數據庫的壓力比較大;
5、2、網絡壓力大,使用redis等公共緩存保存參數時,每次獲取參數都要通過網絡訪問redis,對redis和網絡壓力比較大。
6、業界有類似的服務器內存保存參數的ehcache等產品,但緩存共享麻煩,集群分布式應用不方便。
技術實現思路
1、本專利技術的目的是針對現有技術存在的不足,提供一種基于redis的輕量級實現參數實時分布式通知的方法。
2、為實現上述目的,本專利技術提供了基于redis的輕量級實現參數實時分布式通知的方法,包括:
3
4、將參數發布方和參數使用方均引用所述公共包,以使參數發布方修改參數時可正常發布事件,參數使用方可正常接收事件,所述事件中包含參數key;
5、后臺管理操作者在后臺管理頁面上對參數key進行修改時,事件發布者通過spring的redistemplate將事件分布式發送出去,發送的事件對象中包含本次修改的參數key;
6、參數使用方作為事件訂閱者,通過common包中繼承了spring框架中的messagelisteneradapter的接收類來接收事件發布者發送的事件,接收類重寫onmessage方法,參數使用方收到事件后調用事件訂閱者的notifyevent方法處理事件,實現事件訂閱者接口的uasdictservicecacheclient類在參數使用方使用,所述uasdictservicecacheclient類中包含map類型的域,用于保存參數key;在notifyevent方法中獲取事件中的參數key后,刪除本地內存里的map中該參數key對應的鍵值對;
7、參數使用方在使用uasdictservicecacheclient類獲取參數key時,若發現本地內存中保存參數的map中不包含key,則從數據庫中查詢key最新的值并保存到本地map中。
8、進一步的,所述修改包括增加、刪除和改動。
9、在此基礎上,可以靈活的使用此功能,例如可以將事件區分為各種類型,通過不同的渠道發送到對應的參數使用方。
10、有益效果:1、本專利技術利用分布式主動通知,本地保存參數,避免頻繁訪問數據庫,減輕數據庫和網絡的壓力;
11、2、侵入性小,學習成本低,使用常用的中間件redis實現,不需要額外引入更多第三方jar包。
本文檔來自技高網...【技術保護點】
1.基于redis的輕量級實現參數實時分布式通知的方法,其特征在于,包括:
2.根據權利要求1所述的基于redis的輕量級實現參數實時分布式通知的方法,其特征在于,所述修改包括增加、刪除和改動。
【技術特征摘要】
1.基于redis的輕量級實現參數實時分布式通知的方法,其特征在于,包括:
2.根據權利要求...
【專利技術屬性】
技術研發人員:李雷,隋成,馬振民,李紹彰,於錢杰,
申請(專利權)人:江蘇蘇商銀行股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。