2021年11月系統(tǒng)架構(gòu)設(shè)計(jì)師考試系統(tǒng)架構(gòu)設(shè)計(jì)案例分析下午真題_第1頁(yè)
2021年11月系統(tǒng)架構(gòu)設(shè)計(jì)師考試系統(tǒng)架構(gòu)設(shè)計(jì)案例分析下午真題_第2頁(yè)
2021年11月系統(tǒng)架構(gòu)設(shè)計(jì)師考試系統(tǒng)架構(gòu)設(shè)計(jì)案例分析下午真題_第3頁(yè)
2021年11月系統(tǒng)架構(gòu)設(shè)計(jì)師考試系統(tǒng)架構(gòu)設(shè)計(jì)案例分析下午真題_第4頁(yè)
2021年11月系統(tǒng)架構(gòu)設(shè)計(jì)師考試系統(tǒng)架構(gòu)設(shè)計(jì)案例分析下午真題_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2021年11月系統(tǒng)架構(gòu)設(shè)計(jì)師考試系統(tǒng)架構(gòu)設(shè)計(jì)案例分析下午真題(總分:11.00,做題時(shí)間:180分鐘)一、問答題(總題數(shù):11,分?jǐn)?shù):11.00)1.某公司擬開發(fā)一套機(jī)器學(xué)習(xí)應(yīng)用開發(fā)平臺(tái),支持用戶使用瀏覽器在線進(jìn)行基于機(jī)器學(xué)習(xí)的智能應(yīng)用開發(fā)活動(dòng)。該平臺(tái)的核心應(yīng)用場(chǎng)景是用戶通過拖拽算法組件靈活定義機(jī)器學(xué)習(xí)流程,采用自助方式進(jìn)行智能應(yīng)用設(shè)計(jì)、實(shí)現(xiàn)與部署,并可以開發(fā)新算法組件加入平臺(tái)中。在需求分析與架構(gòu)設(shè)計(jì)階段,公司提出的需求和質(zhì)量屬性描述如下:(a)平臺(tái)用戶分為算法工程師、軟件工程師和管理員等三種角色,不同角色的功能界面有所不同;(b)平臺(tái)應(yīng)該具備數(shù)據(jù)庫(kù)保護(hù)措施,能夠預(yù)防核心數(shù)據(jù)庫(kù)被非授權(quán)用戶訪問;(c)平臺(tái)支持分布式部署,當(dāng)主站點(diǎn)斷電后,應(yīng)在20秒內(nèi)將請(qǐng)求重定向到備用站點(diǎn);(d)平臺(tái)支持初學(xué)者和高級(jí)用戶兩種界面操作模式,用戶可以根據(jù)自己的情況靈活選擇合適的模式;(e)平臺(tái)主站點(diǎn)宕機(jī)后,需要在15秒內(nèi)發(fā)現(xiàn)錯(cuò)誤并啟用備用系統(tǒng);(f)在正常負(fù)載情況下,機(jī)器學(xué)習(xí)流程從提交到開始執(zhí)行,時(shí)間間隔不大于5秒;(g)平臺(tái)支持硬件擴(kuò)容與升級(jí),能夠在3人天內(nèi)完成所有部署與測(cè)試工作;(h)平臺(tái)需要對(duì)用戶的所有操作過程進(jìn)行詳細(xì)記錄,便于審計(jì)工作;(i)平臺(tái)部署后,針對(duì)界面風(fēng)格的修改需要在3人天內(nèi)完成;(j)在正常負(fù)載情況下,平臺(tái)應(yīng)在0.5秒內(nèi)對(duì)用戶的界面操作請(qǐng)求進(jìn)行響應(yīng);(k)平臺(tái)應(yīng)該與目前國(guó)內(nèi)外主流的機(jī)器學(xué)習(xí)應(yīng)用開發(fā)平臺(tái)的界面風(fēng)格保持一致;(l)平臺(tái)提供機(jī)器學(xué)習(xí)算法的遠(yuǎn)程調(diào)試功能,支持算法工程師進(jìn)行遠(yuǎn)程調(diào)試。在對(duì)平臺(tái)需求、質(zhì)量屬性描述和架構(gòu)特性進(jìn)行分析的基礎(chǔ)上,公司的架構(gòu)師給出了三種候選的架構(gòu)設(shè)計(jì)方案,公司目前正在組織相關(guān)專家對(duì)平臺(tái)架構(gòu)進(jìn)行評(píng)估。在架構(gòu)評(píng)估過程中,質(zhì)量屬性效用樹(utilitytree)是對(duì)系統(tǒng)質(zhì)量屬性進(jìn)行識(shí)別和優(yōu)先級(jí)排序的重要工具。請(qǐng)將合適的質(zhì)量屬性名稱域入圖1-1中(1)、(2)空白處,并從題干中的(a)~(I)中選擇合適的質(zhì)量屬性描述,填入(3)~(6)空白處,完成該平臺(tái)的效用樹。

(分?jǐn)?shù):1.00)__________________________________________________________________________________________

正確答案:((1)性能(2)可修改性(3)e(4)j(5)h(6)i)解析:2.某公司擬開發(fā)一套機(jī)器學(xué)習(xí)應(yīng)用開發(fā)平臺(tái),支持用戶使用瀏覽器在線進(jìn)行基于機(jī)器學(xué)習(xí)的智能應(yīng)用開發(fā)活動(dòng)。該平臺(tái)的核心應(yīng)用場(chǎng)景是用戶通過拖拽算法組件靈活定義機(jī)器學(xué)習(xí)流程,采用自助方式進(jìn)行智能應(yīng)用設(shè)計(jì)、實(shí)現(xiàn)與部署,并可以開發(fā)新算法組件加入平臺(tái)中。在需求分析與架構(gòu)設(shè)計(jì)階段,公司提出的需求和質(zhì)量屬性描述如下:(a)平臺(tái)用戶分為算法工程師、軟件工程師和管理員等三種角色,不同角色的功能界面有所不同;(b)平臺(tái)應(yīng)該具備數(shù)據(jù)庫(kù)保護(hù)措施,能夠預(yù)防核心數(shù)據(jù)庫(kù)被非授權(quán)用戶訪問;(c)平臺(tái)支持分布式部署,當(dāng)主站點(diǎn)斷電后,應(yīng)在20秒內(nèi)將請(qǐng)求重定向到備用站點(diǎn);(d)平臺(tái)支持初學(xué)者和高級(jí)用戶兩種界面操作模式,用戶可以根據(jù)自己的情況靈活選擇合適的模式;(e)平臺(tái)主站點(diǎn)宕機(jī)后,需要在15秒內(nèi)發(fā)現(xiàn)錯(cuò)誤并啟用備用系統(tǒng);(f)在正常負(fù)載情況下,機(jī)器學(xué)習(xí)流程從提交到開始執(zhí)行,時(shí)間間隔不大于5秒;(g)平臺(tái)支持硬件擴(kuò)容與升級(jí),能夠在3人天內(nèi)完成所有部署與測(cè)試工作;(h)平臺(tái)需要對(duì)用戶的所有操作過程進(jìn)行詳細(xì)記錄,便于審計(jì)工作;(i)平臺(tái)部署后,針對(duì)界面風(fēng)格的修改需要在3人天內(nèi)完成;(j)在正常負(fù)載情況下,平臺(tái)應(yīng)在0.5秒內(nèi)對(duì)用戶的界面操作請(qǐng)求進(jìn)行響應(yīng);(k)平臺(tái)應(yīng)該與目前國(guó)內(nèi)外主流的機(jī)器學(xué)習(xí)應(yīng)用開發(fā)平臺(tái)的界面風(fēng)格保持一致;(l)平臺(tái)提供機(jī)器學(xué)習(xí)算法的遠(yuǎn)程調(diào)試功能,支持算法工程師進(jìn)行遠(yuǎn)程調(diào)試。在對(duì)平臺(tái)需求、質(zhì)量屬性描述和架構(gòu)特性進(jìn)行分析的基礎(chǔ)上,公司的架構(gòu)師給出了三種候選的架構(gòu)設(shè)計(jì)方案,公司目前正在組織相關(guān)專家對(duì)平臺(tái)架構(gòu)進(jìn)行評(píng)估。針對(duì)該系統(tǒng)的功能,趙工建議采用解釋器(interpreter)架構(gòu)風(fēng)格,李工建議采用管道-過濾器(ppe-and-hlter)的架構(gòu)風(fēng)格,王工則建議采用隱式調(diào)用(implicitinvocation)架構(gòu)風(fēng)格。請(qǐng)針對(duì)平臺(tái)的核心應(yīng)用場(chǎng)景,從機(jī)器學(xué)習(xí)流程定義的靈活性和學(xué)習(xí)算法的可擴(kuò)展性兩個(gè)方面對(duì)三種架構(gòu)風(fēng)格進(jìn)行對(duì)比與分析,并指出該平臺(tái)更適合采用哪種架構(gòu)風(fēng)格。

(分?jǐn)?shù):1.00)__________________________________________________________________________________________

正確答案:(更適合采用解釋器風(fēng)格。管道和過濾器風(fēng)格,每個(gè)模塊從它的輸入端接收輸入數(shù)據(jù)流,在其內(nèi)部經(jīng)過處理后,按照標(biāo)準(zhǔn)的順序,將結(jié)果數(shù)據(jù)流送到輸出端,以達(dá)到傳遞一組完整的計(jì)算結(jié)果實(shí)例的目的。機(jī)器學(xué)習(xí)流程變更后,需要重新設(shè)置過濾器,所以靈活性和可擴(kuò)展性不好。隱式調(diào)用風(fēng)格的思想是構(gòu)件不直接調(diào)用一個(gè)過程,而是觸發(fā)或廣播一個(gè)或多個(gè)事件,系統(tǒng)自動(dòng)調(diào)用在這個(gè)事件中注冊(cè)的所有過程。但事件觸發(fā)者也并不知道哪些構(gòu)件會(huì)被這些事件影響。這樣不能假定構(gòu)件的處理順序,所以不適合本案提到的機(jī)器學(xué)習(xí)流程的定義,擴(kuò)展性方面可以通過注冊(cè)事件來實(shí)現(xiàn),擴(kuò)展性較好。解釋器可以看做是一個(gè)虛擬機(jī),可以仿真硬件的執(zhí)行過程和一些關(guān)鍵應(yīng)用。通常包括完成解釋工作的解釋引擎,一個(gè)包含將被解釋的代碼的存儲(chǔ)區(qū),一個(gè)記錄解釋引擎當(dāng)前工作狀態(tài)的數(shù)據(jù)結(jié)構(gòu),以及一個(gè)記錄源代碼被解釋執(zhí)行的進(jìn)度的數(shù)據(jù)結(jié)構(gòu)。解釋器可以通過自定義流程規(guī)則及配套流程解釋引擎開發(fā),做到用戶層面的流程自定義,擴(kuò)展性也很好。)解析:3.某醫(yī)院擬委托軟件公司開發(fā)一套預(yù)約掛號(hào)管理系統(tǒng),以便為患者提供更好的就醫(yī)體驗(yàn),為醫(yī)院提供更加科學(xué)的預(yù)約管理。本系統(tǒng)的主要功能描述如下:(a)注冊(cè)登錄(b)信息瀏覽(c)賬號(hào)管理(d)預(yù)約掛號(hào)(e)查詢與取消預(yù)約(F)號(hào)源管理(g)報(bào)告查詢(h)預(yù)約管理(i)報(bào)表管理(j)信用管理若采用面向?qū)ο蠓椒▽?duì)預(yù)約掛號(hào)管理系統(tǒng)進(jìn)行分析,得到如圖2-1所示的用例圖。請(qǐng)將合適的參與者名稱填入圖2-1中的(1)和(2)處,使用題干給出的功能描述(a)~(j),完善用例(3)~(12)的名稱。

(分?jǐn)?shù):1.00)__________________________________________________________________________________________

正確答案:((1)系統(tǒng)管理員(2)患者(3)(a)注冊(cè)登錄(4)(c)賬號(hào)管理(5)(f)號(hào)源管理(6)(h)預(yù)約管理(7)(i)報(bào)表管理(8)(j)信用管理號(hào)(4)~(8)答案可以互換(9)(b)信息瀏覽(10)(d)預(yù)約掛號(hào)(11)(e)查詢與取消預(yù)約(12)(g)報(bào)告查詢(9)~(12)答案可以互換)解析:4.某醫(yī)院擬委托軟件公司開發(fā)一套預(yù)約掛號(hào)管理系統(tǒng),以便為患者提供更好的就醫(yī)體驗(yàn),為醫(yī)院提供更加科學(xué)的預(yù)約管理。本系統(tǒng)的主要功能描述如下:(a)注冊(cè)登錄(b)信息瀏覽(c)賬號(hào)管理(d)預(yù)約掛號(hào)(e)查詢與取消預(yù)約(F)號(hào)源管理(g)報(bào)告查詢(h)預(yù)約管理(i)報(bào)表管理(j)信用管理預(yù)約人員(患者)登錄系統(tǒng)后發(fā)起預(yù)約掛號(hào)請(qǐng)求,進(jìn)入預(yù)約界面。進(jìn)行預(yù)約掛號(hào)時(shí)使用數(shù)據(jù)庫(kù)訪問類獲取醫(yī)生的相關(guān)信息,在數(shù)據(jù)庫(kù)中調(diào)用醫(yī)生列表,并調(diào)取醫(yī)生出診時(shí)段表,將醫(yī)生出診時(shí)段反饋到預(yù)的界面,并顯示給預(yù)的人員;預(yù)約人員選擇醫(yī)生及就診時(shí)間后確認(rèn)預(yù)的,系統(tǒng)返網(wǎng)預(yù)約結(jié)果,并向用戶顯示是否預(yù)約成功。采用面向?qū)ο蠓椒▽?duì)預(yù)約掛號(hào)過程進(jìn)行分析,得到如圖2-2所示的順序圖,使用題干中給出的描述,完善圖2-2中對(duì)象(1),及消息(2)~(4)的名稱,請(qǐng)簡(jiǎn)要說明在描述對(duì)象之間的動(dòng)態(tài)交互關(guān)系時(shí),協(xié)作圖與順序圖存在哪些區(qū)別。

(分?jǐn)?shù):1.00)__________________________________________________________________________________________

正確答案:((1)預(yù)約人員(2)發(fā)起預(yù)約掛號(hào)請(qǐng)求(3)顯示醫(yī)生出診時(shí)段(4)顯示是否預(yù)約成功序列圖強(qiáng)調(diào)交互的消息時(shí)間順序。協(xié)作圖強(qiáng)調(diào)接受和發(fā)送消息的對(duì)象的結(jié)構(gòu)組織,強(qiáng)調(diào)通信的方式。)解析:5.某醫(yī)院擬委托軟件公司開發(fā)一套預(yù)約掛號(hào)管理系統(tǒng),以便為患者提供更好的就醫(yī)體驗(yàn),為醫(yī)院提供更加科學(xué)的預(yù)約管理。本系統(tǒng)的主要功能描述如下:(a)注冊(cè)登錄(b)信息瀏覽(c)賬號(hào)管理(d)預(yù)約掛號(hào)(e)查詢與取消預(yù)約(F)號(hào)源管理(g)報(bào)告查詢(h)預(yù)約管理(i)報(bào)表管理(j)信用管理采用面向?qū)ο蠓椒ㄩ_發(fā)軟件,通常需要建立對(duì)象模型、動(dòng)態(tài)模型和功能模型,請(qǐng)分別介紹這3種模型,并詳細(xì)說明它們之間的關(guān)聯(lián)關(guān)系,針對(duì)上述模型,說明哪些模型可用于軟件的需求分析?

(分?jǐn)?shù):1.00)__________________________________________________________________________________________

正確答案:(對(duì)象模型描述系統(tǒng)中對(duì)象的靜態(tài)結(jié)構(gòu)、對(duì)象之間的關(guān)系、對(duì)象的屬性、對(duì)象的操作。對(duì)象模型為動(dòng)態(tài)模型和功能模型提供了基本的框架,對(duì)象模型用包含對(duì)象和類的對(duì)象圖來表示。動(dòng)態(tài)模型描述與時(shí)間和操作順序有關(guān)的系統(tǒng)特征--激發(fā)事件、事件序列、確定事件先后關(guān)系以及事件和狀態(tài)的組織。動(dòng)態(tài)模型表示瞬時(shí)的、行為上的、系統(tǒng)的“控制”特征。動(dòng)態(tài)模型用狀態(tài)圖來表示。功能模型描述與值的變換有關(guān)的系統(tǒng)特征--功能、映射、約束和函數(shù)依賴。功能模型用數(shù)據(jù)流圖來表示。3個(gè)模型之間具有下述關(guān)系。(1)與功能模型的關(guān)系:對(duì)象模型展示了功能模型中的動(dòng)作者、數(shù)據(jù)存儲(chǔ)和流的結(jié)構(gòu),動(dòng)態(tài)模型展示了執(zhí)行加工的順序。(2)與對(duì)象模型的關(guān)系:功能模型展示了類上的操作和每個(gè)操作的變量;動(dòng)態(tài)模型展示了每個(gè)對(duì)象的狀態(tài)以及它接收事件和改變狀態(tài)時(shí)所執(zhí)行的操作。(3)與動(dòng)態(tài)模型的關(guān)系:功能模型展示了動(dòng)態(tài)模型中未定義的不可分解的動(dòng)作和活動(dòng)的定義,對(duì)象模型展示了是誰(shuí)改變了狀態(tài)和承受了操作。對(duì)象模型、動(dòng)態(tài)模型和功能模型都用于需求分析)解析:6.某醫(yī)藥銷售企業(yè)因業(yè)務(wù)發(fā)展,需要建立線上藥品銷售系統(tǒng),為用戶提供便捷的互聯(lián)網(wǎng)藥品銷售服務(wù)、該系統(tǒng)除了常規(guī)藥品展示、訂單、用戶交流與反饋功能外,還需要提供當(dāng)前熱銷產(chǎn)品排名、評(píng)價(jià)分類管理等功能。通過對(duì)需求的分析,在數(shù)據(jù)管理上初步?jīng)Q定采用關(guān)系數(shù)據(jù)庫(kù)(MySQL)和數(shù)據(jù)庫(kù)緩存(Redis)的混合架構(gòu)實(shí)現(xiàn)。經(jīng)過規(guī)范化設(shè)計(jì)之后,該系統(tǒng)的部分?jǐn)?shù)據(jù)庫(kù)表結(jié)構(gòu)如下所示。供應(yīng)商(供應(yīng)商ID,供應(yīng)商名稱,聯(lián)系方式,供應(yīng)商地址)藥品(藥品ID,藥品名稱,藥品型號(hào),藥品價(jià)格,供應(yīng)商ID)藥品庫(kù)存(藥品ID,當(dāng)前庫(kù)存數(shù)量)訂單(訂單號(hào)碼,藥品ID,供應(yīng)商ID,藥品數(shù)量,訂單金額)在系統(tǒng)初步運(yùn)行后,發(fā)現(xiàn)系統(tǒng)數(shù)據(jù)訪問性能較差。經(jīng)過分析,劉工認(rèn)為原來數(shù)據(jù)庫(kù)規(guī)范化設(shè)計(jì)后,關(guān)系表過于細(xì)分,造成了大量的多表關(guān)聯(lián)查詢,影響了性能。例如當(dāng)用戶查詢商品信息時(shí),需要同時(shí)顯示該藥品的信息、供應(yīng)商的信息、當(dāng)前庫(kù)存等信息。為此,劉工認(rèn)為可以采用反規(guī)范化設(shè)計(jì)來改造藥品關(guān)系的結(jié)構(gòu),以提高查詢性能。修改后的藥品關(guān)系結(jié)構(gòu)為:藥品(藥品ID,藥品名稱,藥品型號(hào),藥品價(jià)格,供應(yīng)商ID,供應(yīng)商名稱,當(dāng)前庫(kù)存數(shù)量);請(qǐng)用200字以內(nèi)的文字說明常見的反規(guī)范化設(shè)計(jì)方法,并說明用戶查詢商品信息應(yīng)該采用哪種反規(guī)范化設(shè)計(jì)方法。

(分?jǐn)?shù):1.00)__________________________________________________________________________________________

正確答案:((1)增加冗余列:增加冗余列是指在多個(gè)表中具有相同的列,它常用來在查詢時(shí)避免連接操作。例如:以規(guī)范化設(shè)計(jì)的理念,學(xué)生成績(jī)表中不需要字段“姓名”,因?yàn)椤靶彰弊侄慰梢酝ㄟ^學(xué)號(hào)查詢到,但在反規(guī)范化設(shè)計(jì)中,會(huì)將“姓名”字段加入表中。這樣查詢一個(gè)學(xué)生的成績(jī)時(shí),不需要與學(xué)生表進(jìn)行連接操作,便可得到對(duì)應(yīng)的“姓名”。(2)增加派生列:增加派生列指增加的列可以通過表中其他數(shù)據(jù)計(jì)算生成。它的作用是在查詢時(shí)減少計(jì)算量,從而加快查詢速度。例如:訂單表中,有商品號(hào)、商品單價(jià)、采購(gòu)數(shù)量,我們需要訂單總價(jià)時(shí),可以通過計(jì)算得到總價(jià),所以規(guī)范化設(shè)計(jì)的理念是無(wú)須在訂單表中設(shè)計(jì)“訂單總價(jià)”字段。但反規(guī)范化則不這樣考慮,由于訂單總價(jià)在每次查詢都需要計(jì)算,這樣會(huì)占用系統(tǒng)大量資源,所以在此表中增加派生列“訂單總價(jià)”以提高查詢效率。

(3)重新組表:重新組表指如果許多用戶需要查看兩個(gè)表連接出來的結(jié)果數(shù)據(jù),則把這兩個(gè)表重新組成一個(gè)表來減少連接而提高性能。(4)分割表有時(shí)對(duì)表做分割可以提高性能。表分割有兩種方式。

水平分割:根據(jù)一列或多列數(shù)據(jù)的值把數(shù)據(jù)行放到兩個(gè)獨(dú)立的表中。水平分割通常在下面的情況下使用。情況1:表很大,分割后可以降低在查詢時(shí)需要讀的數(shù)據(jù)和索引的頁(yè)數(shù),同時(shí)也降低了索引的層數(shù),提高查詢效率。

情況2:表中的數(shù)據(jù)本來就有獨(dú)立性,例如表中分別記錄各個(gè)地區(qū)的數(shù)據(jù)或不同時(shí)期的數(shù)據(jù),特別是有些數(shù)據(jù)常用,而另外一些數(shù)據(jù)不常用。

情況3:需要把數(shù)據(jù)存放到多個(gè)介質(zhì)上。垂直分割:把主碼和一些列放到一個(gè)表,然后把主碼和另外的列放到另一個(gè)表中。如果一個(gè)表中某些列常用,而另外一些列不常用,則可以采用垂直分割,另外垂直分割可以使得數(shù)據(jù)行變小,一個(gè)數(shù)據(jù)頁(yè)就能存放更多的數(shù)據(jù),在查詢時(shí)就會(huì)減少I/O次數(shù)。其缺點(diǎn)是需要管理冗余列,查詢所有數(shù)據(jù)需要連接操作。本題中用到了重新組表得方式。)解析:7.某醫(yī)藥銷售企業(yè)因業(yè)務(wù)發(fā)展,需要建立線上藥品銷售系統(tǒng),為用戶提供便捷的互聯(lián)網(wǎng)藥品銷售服務(wù)、該系統(tǒng)除了常規(guī)藥品展示、訂單、用戶交流與反饋功能外,還需要提供當(dāng)前熱銷產(chǎn)品排名、評(píng)價(jià)分類管理等功能。通過對(duì)需求的分析,在數(shù)據(jù)管理上初步?jīng)Q定采用關(guān)系數(shù)據(jù)庫(kù)(MySQL)和數(shù)據(jù)庫(kù)緩存(Redis)的混合架構(gòu)實(shí)現(xiàn)。經(jīng)過規(guī)范化設(shè)計(jì)之后,該系統(tǒng)的部分?jǐn)?shù)據(jù)庫(kù)表結(jié)構(gòu)如下所示。供應(yīng)商(供應(yīng)商ID,供應(yīng)商名稱,聯(lián)系方式,供應(yīng)商地址)藥品(藥品ID,藥品名稱,藥品型號(hào),藥品價(jià)格,供應(yīng)商ID)藥品庫(kù)存(藥品ID,當(dāng)前庫(kù)存數(shù)量)訂單(訂單號(hào)碼,藥品ID,供應(yīng)商ID,藥品數(shù)量,訂單金額)王工認(rèn)為,反規(guī)范化設(shè)計(jì)可提高查詢的性能,但必然會(huì)帶來數(shù)據(jù)的不一致性問題。請(qǐng)用200字以內(nèi)的文字說明在反規(guī)范化設(shè)計(jì)中,解決數(shù)據(jù)不一致性問題的三種常見方法,并說明該系統(tǒng)應(yīng)該采用哪種方法。

(分?jǐn)?shù):1.00)__________________________________________________________________________________________

正確答案:(解決數(shù)據(jù)不一致性問題常用的方法是批處理維護(hù)、應(yīng)用邏輯和觸發(fā)器。批處理維護(hù)是指對(duì)復(fù)制列或派生列的修改積累一定的時(shí)間后,運(yùn)行一批處理作業(yè)或存儲(chǔ)過程對(duì)復(fù)制或派生列進(jìn)行修改,只能在對(duì)實(shí)時(shí)性要求不高的情況下使用。應(yīng)用邏輯實(shí)現(xiàn)數(shù)據(jù)一致性就要求必須在同一事務(wù)中對(duì)所有涉及的表進(jìn)行同步增、刪、改操作。同一邏輯必須在所有的應(yīng)用中使用和維護(hù),容易遺漏,不易于維護(hù)。觸發(fā)器:對(duì)數(shù)據(jù)的任何修改立即觸發(fā)對(duì)復(fù)制列或派生列的相應(yīng)修改。觸發(fā)器是實(shí)時(shí)的,易于維護(hù),是解決這類問題的最好的辦法。該系統(tǒng)應(yīng)該采用觸發(fā)器)解析:zset和set類似,都是存儲(chǔ)無(wú)序不重復(fù)的數(shù)據(jù)。但是zset會(huì)帶有一個(gè)分?jǐn)?shù)score,可以根據(jù)score去排序。8.某醫(yī)藥銷售企業(yè)因業(yè)務(wù)發(fā)展,需要建立線上藥品銷售系統(tǒng),為用戶提供便捷的互聯(lián)網(wǎng)藥品銷售服務(wù)、該系統(tǒng)除了常規(guī)藥品展示、訂單、用戶交流與反饋功能外,還需要提供當(dāng)前熱銷產(chǎn)品排名、評(píng)價(jià)分類管理等功能。通過對(duì)需求的分析,在數(shù)據(jù)管理上初步?jīng)Q定采用關(guān)系數(shù)據(jù)庫(kù)(MySQL)和數(shù)據(jù)庫(kù)緩存(Redis)的混合架構(gòu)實(shí)現(xiàn)。經(jīng)過規(guī)范化設(shè)計(jì)之后,該系統(tǒng)的部分?jǐn)?shù)據(jù)庫(kù)表結(jié)構(gòu)如下所示。供應(yīng)商(供應(yīng)商ID,供應(yīng)商名稱,聯(lián)系方式,供應(yīng)商地址)藥品(藥品ID,藥品名稱,藥品型號(hào),藥品價(jià)格,供應(yīng)商ID)藥品庫(kù)存(藥品ID,當(dāng)前庫(kù)存數(shù)量)訂單(訂單號(hào)碼,藥品ID,供應(yīng)商ID,藥品數(shù)量,訂單金額)該系統(tǒng)采用了Redis來實(shí)現(xiàn)某些特定功能(如當(dāng)前熱銷藥品排名等),同時(shí)將藥品關(guān)系數(shù)據(jù)放到內(nèi)存以提高商品查詢的性能,但必然會(huì)造成Redis和MySQL的數(shù)據(jù)實(shí)時(shí)同步問題。(1)Redis的數(shù)據(jù)類型包括String、Hash、List、Set和ZSet等,請(qǐng)說明實(shí)現(xiàn)當(dāng)前熱銷藥品排名的功能應(yīng)該選擇使用哪種數(shù)據(jù)類型。(2)請(qǐng)用200字以內(nèi)的文字解釋說明解決Redis和MySQL數(shù)據(jù)實(shí)時(shí)同步問題的常見方案。

(分?jǐn)?shù):1.00)__________________________________________________________________________________________

正確答案:((1)熱銷藥品排名適合用:ZSet(2)1.對(duì)強(qiáng)一致要求比較高的,應(yīng)采用實(shí)時(shí)同步方案,即查詢緩存查詢不到再?gòu)臄?shù)據(jù)庫(kù)中查詢,然后保存到緩存;更新緩存時(shí),先更新數(shù)據(jù)庫(kù),再將緩存的設(shè)置過期(建議不要去更新緩存內(nèi)容,直接設(shè)置緩存過期)。2.對(duì)于并發(fā)程度較高的,可采用異步隊(duì)列的方式同步,可采用kafka等消息中間件處理消息生產(chǎn)和消費(fèi)。3.使用阿里的同步工具canal,canal實(shí)現(xiàn)方式是模擬mysqlslave和master的同步機(jī)制,監(jiān)控DBbitlog的日志更新來觸發(fā)緩存的更新。4.采用UDF自定義函數(shù)的方式,面對(duì)mysql的API進(jìn)行編程,利用觸發(fā)器進(jìn)行緩存同步。)解析:zset和set類似,都是存儲(chǔ)無(wú)序不重復(fù)的數(shù)據(jù)。但是zset會(huì)帶有一個(gè)分?jǐn)?shù)score,可以根據(jù)score去排序。9.某公司擬開發(fā)一個(gè)智能家居管理系統(tǒng),該系統(tǒng)的王要功能需求如下:1)用戶可使用該系統(tǒng)客戶端實(shí)現(xiàn)對(duì)家居設(shè)備的控制,且家居設(shè)備可向客戶端反饋實(shí)時(shí)狀態(tài);2)支持家居設(shè)備數(shù)據(jù)的實(shí)時(shí)存儲(chǔ)和查詢;3)基于用戶數(shù)據(jù),挖掘用戶生活習(xí)慣,向用戶提供家居設(shè)備智能化使用建議。基于上述需求,該公司組建了項(xiàng)目組,在項(xiàng)目會(huì)議上,張工給出了基于家庭網(wǎng)關(guān)的傳統(tǒng)智能家居管理系統(tǒng)的設(shè)計(jì)思路,李工給出了基于云平臺(tái)的智能家居系統(tǒng)的設(shè)計(jì)思路。經(jīng)過深入討論,公司決定采用李工的設(shè)計(jì)思路。請(qǐng)用400字以內(nèi)的文字簡(jiǎn)要描述基于家庭網(wǎng)關(guān)的傳統(tǒng)智能家居管理系統(tǒng)和基于云平臺(tái)的智能家居管理系統(tǒng)在網(wǎng)關(guān)管理、數(shù)據(jù)處理和系統(tǒng)性能等方面的特點(diǎn),以說明項(xiàng)目組選擇李工設(shè)計(jì)思路的原因。

(分?jǐn)?shù):1.00)__________________________________________________________________________________________

正確答案:(在網(wǎng)關(guān)管理方面,基于云平臺(tái)的智能家居管理系統(tǒng)可以將分散的智能家居網(wǎng)關(guān)數(shù)據(jù)集中起來,實(shí)現(xiàn)對(duì)智能家居網(wǎng)關(guān)的遠(yuǎn)程高效管理。在數(shù)據(jù)處理方面,云端服務(wù)器對(duì)智能家居網(wǎng)數(shù)據(jù)進(jìn)行備份存儲(chǔ),當(dāng)家庭網(wǎng)關(guān)由于故障等原因?qū)е聰?shù)據(jù)丟失時(shí),可以通過云端管理系統(tǒng)對(duì)網(wǎng)關(guān)數(shù)據(jù)進(jìn)行恢復(fù),從而提高數(shù)據(jù)的容災(zāi)性。在系統(tǒng)性能方面,基于云服務(wù)平臺(tái)的智能家居管理系統(tǒng)將數(shù)據(jù)信息存儲(chǔ)在云端,減少了數(shù)據(jù)請(qǐng)求時(shí)間,提高了通信效率。)解析:10.某公司擬開發(fā)一個(gè)智能家居管理系統(tǒng),該系統(tǒng)的王要功能需求如下:1)用戶可使用該系統(tǒng)客戶端實(shí)現(xiàn)對(duì)家居設(shè)備的控制,且家居設(shè)備可向客戶端反饋實(shí)時(shí)狀態(tài);2)支持家居設(shè)備數(shù)據(jù)的實(shí)時(shí)存儲(chǔ)和查詢;3)基于用戶數(shù)據(jù),挖掘用戶生活習(xí)慣,向用戶提供家居設(shè)備智能化使用建議?;谏鲜鲂枨螅摴窘M建了項(xiàng)目組,在項(xiàng)目會(huì)議上,張工給出了基于家庭網(wǎng)關(guān)的傳統(tǒng)智能家居管理系統(tǒng)的設(shè)計(jì)思路,李工給出了基于云平臺(tái)的智能家居系統(tǒng)的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論