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

正文內(nèi)容

銀行保證金風(fēng)險(xiǎn)管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)-展示頁(yè)

2025-06-16 20:13本頁(yè)面
  

【正文】 主要問(wèn)題之一是大數(shù)據(jù)量查詢(xún)以及數(shù)據(jù)在網(wǎng)絡(luò)上傳輸問(wèn)題,這樣在 V2 版本系統(tǒng)中需要一種可以作為 Cache 存儲(chǔ)空間以及有類(lèi)似數(shù)據(jù)存儲(chǔ)功能策略,這樣就可減少數(shù)據(jù)庫(kù)查詢(xún)次數(shù),從而加快速度。不僅如此 , 在實(shí)際開(kāi)發(fā)過(guò)程中,從某種程度上講,它的開(kāi)發(fā)效率并不比 Hibernate 差,甚至更好。其主要作用是取代了 Hibernate 在 V1 版本中對(duì)于自定義數(shù)據(jù)存儲(chǔ)實(shí)現(xiàn),利用 OracleObject 面向?qū)ο筇匦裕瑯?gòu)建出與真實(shí)世界業(yè)務(wù)對(duì)象類(lèi)似結(jié)構(gòu),類(lèi)似于 JavaPOJO 操作,在存儲(chǔ)過(guò)程中用 OracleObject,這樣在數(shù)據(jù)操縱和查詢(xún)過(guò)程中利用 Oracle 自身優(yōu)化引擎對(duì)存儲(chǔ)過(guò)程中使用 SQL 優(yōu)化,拋棄了由 Hibernate 生成 HSQL,提高效率。所以首先判斷 ParamValuePairList 是否定義 ORASqlOutParameter,如果存在,說(shuō)明存儲(chǔ)過(guò)程返回值 是一個(gè) OracleObject。(這里的存儲(chǔ)過(guò)程 INSERT_TRADE_OBJECT 就是上文代碼中提及的PROCEDUREINSERT_TRADE) 當(dāng)然為了支持 OracleObject,還需要在原生的存儲(chǔ)過(guò)程調(diào)用方法上進(jìn)行一些改進(jìn)。同時(shí)在完成插入操作后,需要通過(guò)查詢(xún)數(shù)據(jù)表返回最新TradeObject,用來(lái)確保數(shù)據(jù)一致性。當(dāng)數(shù)據(jù)表需要增加新字段或修改原有字段時(shí), SQL 或存儲(chǔ)過(guò)程的維護(hù)都會(huì)變得非常困難。首先定義 ParamValuePairList,是傳入 SQL 語(yǔ)句或者存儲(chǔ)過(guò)程的參數(shù)的集合包括 SqlInParameter, SqlOutParameter。接著根據(jù) ACCOUNT_LIST 的返回值,將外部數(shù)組變量里的元素按順序逐一復(fù)制進(jìn)ACCOUNT_LIST 里的對(duì)象,最后移除該外部變量,釋放空間,就完成了操作 在完成了數(shù)據(jù)庫(kù)方面設(shè)計(jì)和實(shí)現(xiàn)后,需要在 Java 端進(jìn)行調(diào)用。但是對(duì)于數(shù)組形式的屬性,卻不能像以上的方法設(shè)置,如 ACCOUNT_LIST。例如需要使用Trade_id, 只需要調(diào)用 OracleObjectPOB_TRADE 中的屬性 Trade_id 就可以了,如 。舉個(gè)例子來(lái)看,假設(shè)我們定義了 INSERT_TRADE,即“插入一筆交易”這個(gè)類(lèi)的保存過(guò)程,該類(lèi)的參數(shù)是 Trade_Object 即交易數(shù)據(jù),我們用該類(lèi)的返回參數(shù)替代了返回列表。雖然說(shuō)沒(méi)有完全用到 OracleObject 提供優(yōu)勢(shì),可以在列上使用自定義的數(shù)據(jù)類(lèi)型,方便存儲(chǔ)和查詢(xún),但這里使用了一種折中的方案,放棄了一些性能上和編碼上的便利 ,換來(lái)了系統(tǒng)今后升級(jí)的空間,而且性能的表現(xiàn)也完全在可 接受范圍內(nèi) 在 V2 版本中,所有 Datasheet 的保存都是在保存過(guò)程的基礎(chǔ)上完成的,而OracleObject 特性中允許用戶(hù)自定義類(lèi)型,因此我們運(yùn)用 OracleObject 來(lái)保存和訪問(wèn) Datasheet。 1 根據(jù)上文 OracleObject 定義,也就是說(shuō),會(huì)有一張 Trade 表,一張 Product表,一張 Account 表。其中通過(guò) Trade_ID 的關(guān)聯(lián)實(shí)現(xiàn)了數(shù)據(jù)層級(jí)表現(xiàn) 這樣做目的是不希望數(shù)據(jù)庫(kù)的表設(shè)計(jì)與 OracleObject 太過(guò)緊密綁定,以免將來(lái)有數(shù)據(jù)庫(kù)更換的需求或數(shù)據(jù)遷移的過(guò)程中,遇到不可估計(jì)的難度。理由很簡(jiǎn)單,既然定義和使用了 OracleObject,就可以在存儲(chǔ)過(guò)程中充分使用其面向?qū)ο蟮奶匦?,可以輕易的使用其屬性和各種方法。而操 縱 Trade_Object 就和使用 Java 對(duì)象一樣。而對(duì)于一個(gè)有層級(jí)結(jié)構(gòu)對(duì)象的查修也非常方便,只需要把相應(yīng)的表做關(guān)聯(lián),并把關(guān)聯(lián)表中的屬性作為參數(shù)傳入與之對(duì)應(yīng)的OracleObject 的構(gòu)造器內(nèi),就可以構(gòu)建出 Oracle 對(duì)象。對(duì)于數(shù)組我們只有重新定義其保存過(guò)程一種方法,如 (POB_LIST_ID)這個(gè)類(lèi),其返回值是一個(gè)數(shù)組,我們必須定義一個(gè)外部數(shù)組變量作為過(guò)渡的變量,利用給該變量賦值將數(shù)組中的元素移出,將該變量與 ACCOUNT_LIST 建立連接。首先需要利用 OracleJPublisher 生成相應(yīng) Java 類(lèi) TradeObject, TradeObjectRef 等與數(shù)據(jù)庫(kù)對(duì)象一一對(duì)應(yīng)的類(lèi)后 ,就可以使用 JavaJDBC 的操縱這些類(lèi)以 OracleObject的方式進(jìn)行調(diào)用了。如果沒(méi)有 2 OracleObject, 當(dāng)需要將數(shù)據(jù)插入到數(shù)據(jù)表中,特別當(dāng)表的字段比較多時(shí), SQL語(yǔ)句會(huì)變得非常長(zhǎng)難以維護(hù)并且需要非常仔細(xì)的定義每個(gè)列順序和保證每個(gè)數(shù)據(jù)類(lèi)型是否一致;如果使用存儲(chǔ)過(guò)程,將會(huì)有定義一 系列參數(shù),一般而言參數(shù)數(shù)量將會(huì)和表字段數(shù)一致。在引入 OracleObject 后,存儲(chǔ)過(guò)程參數(shù)就一目了然 , 當(dāng)插入數(shù)據(jù)到 Trade 表中,只需要傳入 TradeObject 這個(gè)由 JPublisher生成出來(lái)的 Java 對(duì)象。所以在 ParamValuePairList 里定義了SqlOutParameter 是 , 而 SqlInParameter 則是 TradeObject 對(duì)象,輕易的就把 Trade_Object 傳遞給了存儲(chǔ)過(guò)程。當(dāng)存儲(chǔ)過(guò)程的返回值是 OracleObject 時(shí),原生的 JDBC 方法是不支持的。這樣就需要返回值 Class 類(lèi)型,調(diào)用其 create 方法去創(chuàng)建出這個(gè) OracleObject 對(duì)象 以上代碼就是在 V2 版本中使用 OracleObject 主要流程。根據(jù)測(cè)試結(jié)果,在 20210 條數(shù)據(jù)情況下,性能基本可提升一倍。但是不可否認(rèn),使用 OracleObject 后,也就意味系統(tǒng)和 Oracle 數(shù)據(jù)庫(kù)有著緊耦合,并不利于將來(lái)有可能的重構(gòu),所以在系統(tǒng)中,多增加一個(gè)數(shù)據(jù)轉(zhuǎn)換層。在解決這個(gè)問(wèn)題上,考慮使用技術(shù)是 Gemfire 和 ApacheCassandra。而 ApacheCassandra 則是基于列 KeyValue 第二代分布式數(shù)據(jù)庫(kù)技術(shù),而底層實(shí)現(xiàn)也是用 JAVA 實(shí)現(xiàn)。而且由于系統(tǒng)都是基于 JAVA 語(yǔ)言設(shè)計(jì)實(shí)現(xiàn),所以這里就選擇 ApacheCassandra 作為系統(tǒng)解決大數(shù)據(jù)查詢(xún)與傳輸問(wèn)題主要技術(shù)。這種結(jié)構(gòu)的優(yōu)點(diǎn)在于系統(tǒng)主要對(duì)當(dāng)前數(shù)據(jù)進(jìn)行查詢(xún)和操作,如果數(shù)據(jù)僅保存在數(shù)據(jù)庫(kù)內(nèi),就會(huì)造成系統(tǒng)中各個(gè)模塊會(huì)頻繁查詢(xún)數(shù)據(jù)庫(kù),進(jìn)行多表查詢(xún)及網(wǎng)絡(luò)傳輸。而 Cassandra 多節(jié)點(diǎn)部署可及時(shí)響應(yīng)各模塊請(qǐng)求。不僅如此,Cassandra 可以部署在任何的機(jī)器上 ,當(dāng)然也可在系統(tǒng)運(yùn)行機(jī)器上 ,這樣從某 種程度上將減少了網(wǎng)絡(luò)傳輸增加系統(tǒng)運(yùn)行速度 風(fēng)險(xiǎn)估值計(jì)算模塊主要對(duì)用戶(hù)提交風(fēng)險(xiǎn)計(jì)算請(qǐng)求作出業(yè)務(wù)處理,用戶(hù)在客戶(hù)端做任何風(fēng)險(xiǎn)計(jì)算業(yè)務(wù)操作請(qǐng)求,提交到后臺(tái)風(fēng)險(xiǎn)估值計(jì)算模塊對(duì)應(yīng)方法中,后臺(tái)服務(wù)會(huì)根據(jù)接收到的數(shù)據(jù)及相關(guān)的度量方法參數(shù)配置,會(huì)調(diào)用數(shù)據(jù)驗(yàn)證模塊做相關(guān)聯(lián)的數(shù)據(jù)驗(yàn)證,然后將交易數(shù)據(jù)傳輸?shù)?Cassandra 里,而僅僅把運(yùn)算唯一標(biāo)示符和相關(guān)計(jì)算參數(shù)發(fā)送給計(jì)算引擎,最后把計(jì)算結(jié)果進(jìn)行數(shù)據(jù)轉(zhuǎn)化保存在Cassandra 內(nèi) ,為系統(tǒng)的報(bào)表模塊服務(wù) 4 查詢(xún) 對(duì)于 Cassandra 使用,首先需要定義 Cassandra 服 務(wù)端信息,如名字,節(jié)點(diǎn)信息。接下來(lái)就可以
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1