freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

銀行保證金風(fēng)險管理系統(tǒng)的設(shè)計和實現(xiàn)-文庫吧資料

2025-06-12 20:13本頁面
  

【正文】 最高層級分類,是為了將來擴展預(yù)留字段,目前系統(tǒng)只有一個 Domain。ValidationService 最后對數(shù)據(jù)進(jìn)行整合,生成相關(guān) 驗證報告 具體的多線程調(diào)用核心代碼如下 驗證規(guī)則定義設(shè)計是驗證模塊值得推薦的一種設(shè)計方案。完成的任務(wù)會把返回值以 Future 類的形式保存在隊列上,通過 take 方法可以獲取到這個 Future 對象,如果 take 方法獲取返回的結(jié)果與提交請求的數(shù)量不一致,說明還有線程正在執(zhí)行,繼續(xù)等待。 ExecutorCompletionService 可以將已完成任務(wù)與未完成的任務(wù)分離出來 ,ExecutorCompletionService 會把那些已經(jīng)完成的任務(wù)的結(jié)果放在 LinkedBlockQueue 隊列上,并使用 take 方法獲取LinkedBlockQueue 隊列上任務(wù)結(jié)果。不同產(chǎn)品之間的驗證沒有直接關(guān)系或者依賴,所以說每一個產(chǎn)品的驗證相對獨立。所以在同步機制上不會存在問題,同時由于Cassandra 節(jié)點獲取不同策略,使得系統(tǒng)在獲取數(shù)據(jù)可以實現(xiàn)一致性上。因為每一個產(chǎn)品的驗證沒有依賴關(guān)系,使用了線程 池來調(diào)用驗證服務(wù)來驗證每一種產(chǎn)品,并通過線程的返回值組裝成可讀 報表。這樣根據(jù)驗證規(guī)則和產(chǎn)品樣板有效地解決了驗證多樣化、驗證規(guī)則多的情況。這些針對每個產(chǎn)品的驗證規(guī)則會通過 JavaAnnotation 解析成 XML 保存在數(shù)據(jù)庫內(nèi),并加載到 Cassandra 內(nèi)。這些驗證規(guī)則會全部保存在數(shù)據(jù)庫并在系統(tǒng)啟動的時候加載到 Cassandra 內(nèi)。驗證模塊所有的驗證最后將解析成 SpringSPEL 表達(dá)式進(jìn)行驗證。主要是基于SpringSPEL 表達(dá)式語言的一種驗證。其中驗證規(guī)則都是硬編碼在系統(tǒng)里的,而且需要遍歷數(shù)據(jù)源同步的進(jìn)行驗證。在 V1 版本中,主要使用了 ApachemandChain來實現(xiàn)驗證模塊,根據(jù)不同的條件,遍歷不同的 CommandChain(命令鏈 )。也就是說驗證規(guī)則處理除了需要支持正常的驗證處理,還需要支持動態(tài)的修改。隨著產(chǎn)品的增加,驗證規(guī)則也呈幾何式遞增,如果繼續(xù)使用硬編碼 的形式,不僅難以開發(fā),而且將來也難以維護,不適合系統(tǒng)的發(fā)展空間 3 設(shè)計更靈活。而 Soft警告是告訴 用戶有些數(shù)據(jù)的輸入不太正確,但這些數(shù)據(jù)不會 影響下一步的操作。其中包括 Hard 警告和 Soft 警告。隨著系統(tǒng)支持的產(chǎn)品和業(yè)務(wù)需求的不斷增加,使得目前的驗證模塊 難 7 以編碼和維護,而且其結(jié)構(gòu)也不適于目前需求。在 V1 版本中,由于支持的金融產(chǎn)品種類不多,在驗證模塊實現(xiàn)的過程中,更多的是使用硬編碼的形式進(jìn)行邏輯處理。這樣,系統(tǒng) 就不需要與計算引擎緊緊依賴,也不會由于數(shù)據(jù)量大而造成網(wǎng)絡(luò)的阻塞 在風(fēng)險估值計算模塊,除了使用 Cassandra提高了系統(tǒng)的容錯性和運行速度,也是用了多線程技術(shù)提高了系統(tǒng)對于計算請求的吞吐量。系統(tǒng)會整合所有的需要計算的數(shù)據(jù),然后生成一個專門的 ID 作為 Key,數(shù)據(jù)的具體屬性作為Column,保存在 Cassandra 的 Context 上, 然后僅僅傳遞給后臺一個 ID。這樣做的好處是減少了數(shù)據(jù)庫的頻繁訪問;實現(xiàn)了系統(tǒng)和計算引擎之間的松耦合,實現(xiàn)了真正的分布式。在系統(tǒng) V1 版本中主要的問題有二個,一是交易數(shù)據(jù)信息量太大,在頻繁的操作下,造成性能低下;二是模塊的緊耦合,系統(tǒng)計算必須等待計算引擎返回計算結(jié)果, 6 并多次訪問數(shù)據(jù)庫。而Cassandra 的更新操 作是經(jīng)過優(yōu)化的,作為一款可靠的大規(guī)模的分布式存儲系統(tǒng),其在更新速度上是非常快的。首先必須知道系統(tǒng)中有哪些經(jīng)常使用的大數(shù)據(jù)量查詢,一般而言這樣的查詢不會很多,而且不會經(jīng)常變動。換句話說,就是用空間換速度。與此同時,系統(tǒng)也會構(gòu)建出一個局域產(chǎn)品類型的查詢,其中產(chǎn)品類型作為 Key,而 ColumnFamily 則是所有屬于這種類型 的產(chǎn)品。就是說這里的 queryKey就是客戶唯一賬號或產(chǎn)品類型。例如系統(tǒng)中最常用的是根據(jù)客戶的唯一賬號查詢其名下的所有交易數(shù)據(jù)或者根據(jù)產(chǎn)品類型進(jìn)行查詢。如果希望使用其他的 KeySpace 下的數(shù)據(jù),需要 使用相同的邏輯與這個 KeySpace 建立 5 連接 從 Cassandra 內(nèi)取出數(shù)據(jù)則是利用 KeySpace的 prepareQuery 預(yù)定義好查詢語句,然后真正去執(zhí)行 execute 方法從 Cassandra 內(nèi)取出數(shù)據(jù)。這里使用 作為客戶端工具 根據(jù)上述代碼,可以清晰的看到客戶端將會使用 Cassandra 的配置建立一個上下文,接著調(diào)用 start 方法啟動 Cassandra。如果某一臺服務(wù)器被設(shè)置為 seed 節(jié) 點,那么在啟動的時候,將自動加入集群,并且不會執(zhí)行 Bootstrap的操作,即無法從集群的其他節(jié)點中獲取相應(yīng) 數(shù)據(jù) 在完成 定義 Cassandra 的集群名字,節(jié)點 信息后,需要在 Cassandra 服務(wù)端預(yù)先定義 KeySpace 和 ColumnFamily 的配置信息和其他 一些輔助信息(類似于TableSchema 和 Table),本系統(tǒng)中是通過系統(tǒng)運行時動態(tài)加載 其中分別使用 CreateKey_Space和 CreateColumnFamily 去創(chuàng)建 KeySpace 和定義 ColumnFamily 后,就可 使用 KeySpace 進(jìn)行操作。 該 選項可以設(shè)置多個值,即 Cassandra 集群中有多個種子節(jié)點。其中 RandomPartitioner 是根據(jù) MD5 的形式進(jìn)行分配的,也是 Cassandra 建議的一種分配方式 seed_provider: 提供一個節(jié)點列表的接口。主要用于防止在一個邏輯集群里的機器在加入其他的集群 Partitioner:分區(qū)的機制。接著需要通過 Cassandra 的命令行預(yù)先定義 KeySpace 和 ColumnFamily,或者通過客戶端在運行時動態(tài)的創(chuàng)建 KeySpace 和 ColumnFamily。 若 其中一個節(jié)點故障,其他有著相同數(shù)據(jù)備份節(jié)點可以繼續(xù)為系統(tǒng)服務(wù),而對于數(shù)據(jù)庫來說如果數(shù)據(jù)庫的連接被全部占有或是網(wǎng)絡(luò)出現(xiàn)故障,系統(tǒng)將不得不停止服務(wù)。由于各計算模塊對于數(shù)據(jù)格式要求不同,需要對數(shù)據(jù)進(jìn)行處理,造成性能瓶頸。系統(tǒng)數(shù)據(jù)查詢及數(shù)據(jù)通信都會使用Cassandra 作中間媒介,當(dāng)前數(shù)據(jù)更改不僅保存在數(shù)據(jù)庫中,在 Cassandra 中也會保存。雖然二者可提供類似技術(shù)功能,但 Gemfire 是要付費,而 Cassandra 則是基于 Apachelicense 免費。 Gemfire 可提供高度可擴展,彈性數(shù)據(jù)管理解決方案,確保企業(yè)和云解決方案的快速和可靠的數(shù)據(jù)訪 問 , 是種NoSQL 基于 KeyValue 的技術(shù)。簡單說就是業(yè)務(wù)數(shù)據(jù)模型還是使用 JavaPOJO 對象,而不直接使用 OracleObject, 僅僅數(shù)據(jù)存儲層使用 OracleObject,這樣就需要增加個 JavaPOJO 和 OracleObject數(shù)據(jù)存儲間數(shù)據(jù)轉(zhuǎn)換,帶來好處就是 若 將來不在使用 Oracle 數(shù)據(jù)庫,將不需要 3 重 構(gòu)業(yè)務(wù)代碼,只要替換相對應(yīng)數(shù)據(jù)存儲層即可 根據(jù)上文提及 V1 版本
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1