- 點(diǎn)擊跳轉(zhuǎn)專欄=>Unity3D特效百例
- 點(diǎn)擊跳轉(zhuǎn)專欄=>案例項(xiàng)目實(shí)戰(zhàn)源碼
- 點(diǎn)擊跳轉(zhuǎn)專欄=>游戲腳本-輔助自動化
- 點(diǎn)擊跳轉(zhuǎn)專欄=>Android控件全解手冊
- 點(diǎn)擊跳轉(zhuǎn)專欄=>Scratch編程案例
- 點(diǎn)擊跳轉(zhuǎn)=>軟考全系列
??關(guān)于作者
專注于Android/Unity和各種游戲開發(fā)技巧,以及各種資源分享(網(wǎng)站、工具、素材、源碼、游戲等)
有什么需要?dú)g迎底部卡片私我,獲取更多支持,交流讓學(xué)習(xí)不再孤單。
??實(shí)踐過程
需要所有整理的文檔可底部卡片聯(lián)系我,直接發(fā)壓縮包。
數(shù)據(jù)流圖(Data Flow Diagram)的基本元素及其作用。
四種元素:
(1) External Agent(實(shí)體/外部代理):定義位于項(xiàng)目范圍之外,但與正在被研發(fā)的系統(tǒng)有交互關(guān)系的人、部門、外部系統(tǒng)或組織。
(2) Process(加工/處理):在輸入數(shù)據(jù)流或條件上執(zhí)行,或者對輸入數(shù)據(jù)流或條件做出響應(yīng)的工作。
(3) Data Store(數(shù)據(jù)存儲):靜止的數(shù)據(jù),表示系統(tǒng)中需要保存的數(shù)據(jù)。
(4) Data Flow(數(shù)據(jù)流):運(yùn)動中的數(shù)據(jù),表示到一個(gè)過程的數(shù)據(jù)輸入,或者來自一個(gè)過程的數(shù)據(jù)輸出。
數(shù)據(jù)流圖中的錯(cuò)誤包括兩類:第一類是邏輯錯(cuò)誤,加工節(jié)點(diǎn)輸入輸出不平衡,包括黑洞、灰洞和無輸入三種類型;第二類是語法錯(cuò)誤,比如數(shù)據(jù)存儲不完整、在數(shù)據(jù)存儲與外部代理之間或者各自之間沒有經(jīng)過加工之間發(fā)生數(shù)據(jù)流等。
軟件系統(tǒng)數(shù)據(jù)架構(gòu)建模
數(shù)據(jù)架構(gòu)定義了信息系統(tǒng)中文件和數(shù)據(jù)庫的分布結(jié)構(gòu)。數(shù)據(jù)架構(gòu)建模是以數(shù)據(jù)為中心,建模業(yè)務(wù)數(shù)據(jù)類型和結(jié)構(gòu),以及設(shè)計(jì)滿足應(yīng)用需求的數(shù)據(jù)庫系統(tǒng)。傳統(tǒng)以主機(jī)為中心的信息系統(tǒng)開發(fā)中,利用單個(gè)的數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)的集中式存儲,物理上所有的數(shù)據(jù)位于同一個(gè)位置,構(gòu)成的是一種集中式的數(shù)據(jù)架構(gòu);現(xiàn)代基于網(wǎng)絡(luò)的分布式系統(tǒng)開發(fā)中,很少有組織會將其全部的數(shù)據(jù)存儲在單個(gè)的數(shù)據(jù)庫中,通常需要多個(gè)數(shù)據(jù)庫系統(tǒng)組成,數(shù)據(jù)在這些數(shù)據(jù)庫系統(tǒng)之間可以傳送,由多個(gè)不同的數(shù)據(jù)庫管理系統(tǒng)控制,構(gòu)成的是一種分布式的數(shù)據(jù)架構(gòu)。
集中式數(shù)據(jù)架構(gòu)中,一個(gè)或多個(gè)局域網(wǎng)中的客戶共享一個(gè)單獨(dú)計(jì)算機(jī)系統(tǒng)中的單個(gè)數(shù)據(jù)庫。系統(tǒng)提供數(shù)據(jù)處理能力,用戶可以在同樣的站點(diǎn)上操作,也可以在地理位置隔開的其他站點(diǎn)上通過遠(yuǎn)程終端來操作。系統(tǒng)及其數(shù)據(jù)管理被某個(gè)或中心站點(diǎn)集中控制。單個(gè)數(shù)據(jù)庫服務(wù)器結(jié)構(gòu)的主要優(yōu)點(diǎn)就是簡單、易維護(hù)開發(fā)及運(yùn)行成本低;但由于所有的客戶直接請求服務(wù)器,容易發(fā)生性能瓶頸,如果服務(wù)失敗,單個(gè)服務(wù)器不能提供備份和恢復(fù),所有依賴的應(yīng)用程序都將不能工作。
分布式數(shù)據(jù)架構(gòu)中,使用多個(gè)計(jì)算機(jī)系統(tǒng)以及用戶能夠訪問遠(yuǎn)程系統(tǒng)的數(shù)據(jù),數(shù)據(jù)可以在多個(gè)不同的數(shù)據(jù)庫中進(jìn)行傳送,由不同的數(shù)據(jù)庫管理系統(tǒng)軟件進(jìn)行管理,運(yùn)行在多種不同的計(jì)算機(jī)上,支持多種不同的操作系統(tǒng)。這些機(jī)器位于(或分布在)不同的地理位置并通過多種通信網(wǎng)絡(luò)連接在一起。企業(yè)數(shù)據(jù)可以分布在不同的計(jì)算機(jī)上,一個(gè)應(yīng)用程序可以操作位于不同地理位置的機(jī)器上的數(shù)據(jù)。多個(gè)數(shù)據(jù)庫服務(wù)器結(jié)構(gòu)的主要優(yōu)點(diǎn)就是系統(tǒng)的容錯(cuò)能力和對廣域網(wǎng)容量的需求有所降低,可以采用多種策略提升整個(gè)系統(tǒng)的服務(wù)質(zhì)量;由于多個(gè)數(shù)據(jù)庫系統(tǒng)分布在不同的網(wǎng)絡(luò)節(jié)點(diǎn)上,位于不同位置的數(shù)據(jù)之間需要同步和協(xié)作,系統(tǒng)結(jié)構(gòu)復(fù)雜、運(yùn)行成本高并且維護(hù)困難。
如何建立CRSS的數(shù)據(jù)庫系統(tǒng);對于數(shù)據(jù)的讀取、添加、更改和刪除操作分別如何實(shí)現(xiàn)。
讀寫分離架構(gòu)利用了數(shù)據(jù)庫的復(fù)制技術(shù),將數(shù)據(jù)的讀和寫分布在不同的處理節(jié)點(diǎn)上,從而達(dá)到提高可用性和擴(kuò)展性的目的。
CRSS的分布式數(shù)據(jù)庫系統(tǒng)需要由多個(gè)局部數(shù)據(jù)庫系統(tǒng)、多個(gè)熱備份數(shù)據(jù)庫系統(tǒng)和多個(gè)數(shù)據(jù)緩存組成。局部數(shù)據(jù)庫負(fù)責(zé)數(shù)據(jù)的寫入,多個(gè)熱備份數(shù)據(jù)庫系統(tǒng)用以解決單點(diǎn)故障的問題,數(shù)據(jù)緩存負(fù)責(zé)為應(yīng)用提供所讀取的數(shù)據(jù)。
(1) 讀取數(shù)據(jù):應(yīng)用訪問緩存,如果命中則返回,否則從局部數(shù)據(jù)庫系統(tǒng)中讀取數(shù)據(jù)并將數(shù)據(jù)加載到緩存后返回。
(2) 添加數(shù)據(jù):采用延遲加載策略,應(yīng)用將數(shù)據(jù)直接寫入局部數(shù)據(jù)庫。
(3) 更改數(shù)據(jù):應(yīng)用更改局部數(shù)據(jù)庫中的數(shù)據(jù),將緩存中的數(shù)據(jù)標(biāo)記為失效。
(4) 刪除數(shù)據(jù):應(yīng)用刪除局部數(shù)據(jù)庫中的數(shù)據(jù),將緩存中的數(shù)據(jù)標(biāo)記為失效。
說明在集中式和分布式數(shù)據(jù)架構(gòu)下,可以釆用哪些方法提升系統(tǒng)的可擴(kuò)展性。
集中式數(shù)據(jù)架構(gòu)通過向上擴(kuò)展(Scale Up)提升系統(tǒng)的可擴(kuò)展性。具體的實(shí)現(xiàn)方式包括硬件擴(kuò)容(增加CPU數(shù)ft、內(nèi)存容童、磁盤數(shù)量)和硬件升級(更換為高端主機(jī)或髙速磁盤等)。
分布式數(shù)據(jù)架構(gòu)通過向外擴(kuò)展(Scale Out)提升系統(tǒng)的可擴(kuò)展性。具體的實(shí)現(xiàn)方式包括數(shù)據(jù)復(fù)制、數(shù)據(jù)垂直切分或/和水平切分、緩存和全文搜索。
信息工程方法中的“實(shí)體(entity)” 與面向?qū)ο蠓椒ㄖ械摹邦悾╟lass)”之間有哪些不同之處?
實(shí)體用于數(shù)據(jù)建模,而類用于面向?qū)ο蠼?。?shí)體只有屬性,而類有屬性和操作。
ESB的主要功能
ESB 的主要功能包括:
(1) 應(yīng)用程序的位置透明性
(2) 傳輸協(xié)議轉(zhuǎn)換
(3) 消息格式轉(zhuǎn)換
(4) 消息路由
(5) 消息增強(qiáng)
(6) 安全支持
(7) 監(jiān)控和管理
采用ESB作為集成框架,能夠?qū)崿F(xiàn)靈活的部署結(jié)構(gòu),包括CS結(jié)構(gòu)、P2P結(jié)構(gòu)等。采用ESB作為集成框架,待集成系統(tǒng)只需要和總線進(jìn)行聯(lián)系,彼此之間不需要互相通信,這樣就大大降低了系統(tǒng)的耦合程度。
采用ESB作為集成框架,在加入新的待集成系統(tǒng)時(shí),只需要采用插件的方式實(shí)現(xiàn)傳輸協(xié)議和數(shù)據(jù)格式的適配即可,系統(tǒng)的可擴(kuò)展性較強(qiáng)。
需求:
(1) 目前使用的系統(tǒng)設(shè)計(jì)與開發(fā)工具的運(yùn)行平臺和開發(fā)語言差異較大,集成框架應(yīng)無縫集成各個(gè)工具的功能;
(2) 目前使用的系統(tǒng)設(shè)計(jì)與開發(fā)工具所支持的通信協(xié)議和數(shù)據(jù)格式各不相同,集成框架應(yīng)實(shí)現(xiàn)工具之間的靈活通信和數(shù)據(jù)格式轉(zhuǎn)換:
(3) 集成框架需要根據(jù)實(shí)際的開發(fā)流程靈活、動態(tài)地定義系統(tǒng)工具之間的協(xié)作關(guān)系:
(4) 集成框架應(yīng)能集成一些常用的第三方實(shí)用工具,如即時(shí)通信、郵件系統(tǒng)等。
根據(jù)4個(gè)需求,說明每個(gè)需求應(yīng)該采用何種具體的集成方式或架構(gòu)風(fēng)格最為合適。
對于需求(1)來說,由于需要共享系統(tǒng)的功能,并且系統(tǒng)的運(yùn)行平臺與語言差異較大,應(yīng)該采用面向服務(wù)的方式進(jìn)行功能集成,可以將工具的功能包裝為服務(wù),實(shí)現(xiàn)跨語言與跨平臺訪問。
對于需求(2)來說,工具所支持的通信協(xié)議和數(shù)據(jù)格式各不相同,并需要賣現(xiàn)工具之間的靈活通信協(xié)議和數(shù)據(jù)格式交換,因此應(yīng)該基于消息總線,以協(xié)議及數(shù)據(jù)適配器的方式實(shí)現(xiàn)靈活的通信協(xié)議和數(shù)據(jù)格式轉(zhuǎn)換。
對于需求(3)來說,集成框架需要根據(jù)實(shí)際的軟件系統(tǒng)開發(fā)流程,靈活、動態(tài)地定義系統(tǒng)設(shè)計(jì)與開發(fā)工具之間的協(xié)作關(guān)系,因此應(yīng)該引入工作流定義語言及其引擎來動態(tài)描述工具之間的協(xié)作關(guān)系。
對于需求(4)來說,應(yīng)該采用界面集成的方法對第三方工具進(jìn)行集成,繞過工具內(nèi)部的復(fù)雜處理邏輯。
在實(shí)現(xiàn)工具之間數(shù)據(jù)格式的靈活轉(zhuǎn)換時(shí),通常采用的設(shè)計(jì)模式是什么,并對實(shí)現(xiàn)過程進(jìn)行簡要描述。
在實(shí)現(xiàn)工具之間數(shù)據(jù)格式的靈活轉(zhuǎn)換時(shí),通常采用適配器設(shè)計(jì)模式。即應(yīng)首先定義一個(gè)統(tǒng)一的數(shù)據(jù)轉(zhuǎn)換接口類,然后針對不同的數(shù)據(jù)格式轉(zhuǎn)換需求定義對應(yīng)的實(shí)際轉(zhuǎn)換類,實(shí)際轉(zhuǎn)換類需要繼承數(shù)據(jù)轉(zhuǎn)換接口類,并實(shí)現(xiàn)接口轉(zhuǎn)換類定義的接口。
在系統(tǒng)可靠性中,可靠度和失效率是兩個(gè)非常關(guān)鍵的指標(biāo),請分別解釋其含義。
可靠性是指產(chǎn)品在規(guī)定的條件下和規(guī)定的時(shí)間內(nèi)完成規(guī)定功能的能力??紤]到軟件本身的復(fù)雜性,軟件可靠性的定義是:在規(guī)定的條件下,在規(guī)定的時(shí)間內(nèi),軟件不引起系統(tǒng)失效的概率。
可靠度就是系統(tǒng)在規(guī)定的條件下、規(guī)定的時(shí)間內(nèi)不發(fā)生失效的概率。
失效率又稱風(fēng)險(xiǎn)函數(shù),也可以稱為條件失效強(qiáng)度,是指運(yùn)行至此刻系統(tǒng)未出現(xiàn)失效的情況下,單位時(shí)間系統(tǒng)出現(xiàn)失效的概率。
PHP與JAVA比較
1、PHP只能實(shí)現(xiàn)簡單的分布式兩層或三層的架構(gòu),而JAVA在這方面就比較強(qiáng)大,可以實(shí)現(xiàn)多層的網(wǎng)絡(luò)架構(gòu)。數(shù)據(jù)庫層(持久化層)、應(yīng)用(業(yè)務(wù))邏輯層、表示邏輯層彼此分開,而且現(xiàn)在不同的層都已經(jīng)有一些成熟的開發(fā)框架的支持。
2、PHP是面向過程的語言,Java是面向?qū)ο蟮模嫦蜻^程語言開發(fā)的程序只要業(yè)務(wù)流程發(fā)生變化,修改工作量很大,所以可修改性差,同時(shí)可復(fù)用性也差。
3、PHP語言在可靠性方面比J2EE平臺差,J2EE平臺有大量增強(qiáng)可靠性的成熟解決方案,而PHP只是一種簡單的腳本語言,在可靠性方面缺乏成熟解決方案。
4、PHP對于不同的數(shù)據(jù)庫采用不同的數(shù)據(jù)庫訪問接口,而Java通過JDBC來訪問數(shù)據(jù)庫,通過不同的數(shù)據(jù)庫廠商提供的數(shù)據(jù)庫驅(qū)動方便地訪問數(shù)據(jù)庫,訪問數(shù)據(jù)庫的接口比較統(tǒng)一。所以原架構(gòu)在數(shù)據(jù)庫連接方面修改起來工作量也是很大的。
5、PHP適合于小型項(xiàng)目,所以本項(xiàng)目中以前采用PHP是合適的,但目前大量功能需要增加,PHP在穩(wěn)定性方面也達(dá)不到要求。
6、PHP比Java的可維護(hù)性差。
7、PHP比Java的擴(kuò)展性差。
8、PHP比Java的安全性差。
應(yīng)用服務(wù)器的概念,并重點(diǎn)說明應(yīng)用服務(wù)器如何來保障系統(tǒng)在大負(fù)荷和長時(shí)間運(yùn)行下的穩(wěn)定性以及可擴(kuò)展性。
應(yīng)用服務(wù)器是指通過各種協(xié)議把商業(yè)邏輯曝露給客戶端的程序。
1、若系統(tǒng)負(fù)荷很大,可以布署多臺應(yīng)用服務(wù),多臺應(yīng)用服務(wù)器分擔(dān)任務(wù),以達(dá)到性能要求。
2、應(yīng)用服務(wù)器可以通過靈活的增加服務(wù)器完成擴(kuò)展,所以可擴(kuò)展性很好。
3、應(yīng)用服務(wù)器可長時(shí)間穩(wěn)定運(yùn)行。因?yàn)楫?dāng)一臺應(yīng)用服務(wù)器出現(xiàn)故障時(shí),可以將當(dāng)前運(yùn)行的事務(wù)轉(zhuǎn)移至正常應(yīng)用服務(wù)器上完成執(zhí)行,不影響業(yè)務(wù)正常執(zhí)行,從而保障高可靠性與穩(wěn)定性。
J2EE的N層體系結(jié)構(gòu)
EJB構(gòu)件中的Bean (構(gòu)件)分為哪三種類型
EJB中的Bean分三種類型:Session Bean、Entity Beans 和 Message-Driven Bean。
Session Bean的職責(zé)是:維護(hù)一個(gè)短暫的會話
Entity Beans 的職責(zé)是:維護(hù)一行持久穩(wěn)固的數(shù)據(jù)
Message-Driven Bean的職責(zé)是:異步接受消息
什么是面向服務(wù)架構(gòu)(SOA)以及 ESB在 SOA 中的作用與特點(diǎn)。
SOA是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以一種統(tǒng)一和通用方式進(jìn)行交互。
ESB作用于特點(diǎn):
1、SOA的一種實(shí)現(xiàn)方式,ESB在面向服務(wù)的架構(gòu)中起到的是總線作用,將各種服務(wù)進(jìn)行連接與整合;
2、描述服務(wù)的元數(shù)據(jù)和服務(wù)注冊管理;
3、在服務(wù)請求者和提供者之間傳遞數(shù)據(jù),以及對這些數(shù)據(jù)進(jìn)行轉(zhuǎn)換的能力,并支持由實(shí)踐中總結(jié)出來的一些模式如同步模式、異步模式等;
4、發(fā)現(xiàn)、路由、匹配和選擇的能力,以支持服務(wù)之間的動態(tài)交互,解耦服務(wù)請求者和服務(wù)提供者。高級一些的能力,包括對安全的支持、服務(wù)質(zhì)量保證、可管理性和負(fù)載平衡等。
基于SOA的信息系統(tǒng)架構(gòu)設(shè)計(jì)
什么是REST,并指出在REST中將哪三種關(guān)注點(diǎn)進(jìn)行分離。
REST從資源的角度來定義整個(gè)網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu),分布在各處的資源由統(tǒng)一資源標(biāo)識符(URI)確定,客戶端應(yīng)用程序通過URI獲取資源的表現(xiàn),并通過獲得資源表現(xiàn)使得其狀態(tài)發(fā)生改變。
REST中將資源、資源的表現(xiàn)和獲取資源的動作三者進(jìn)行分離。
什么是"響應(yīng)式 Web 設(shè)計(jì)",響應(yīng)式Web設(shè)計(jì)的實(shí)現(xiàn)方式。
響應(yīng)式web設(shè)計(jì)是指我們設(shè)計(jì)與開發(fā)的頁面可以根據(jù)用戶的行為和不同的設(shè)備環(huán)境做出相應(yīng)的響應(yīng)來調(diào)整頁面的布局,以提供用戶可感知的、流暢的閱讀和操作體驗(yàn)。
實(shí)現(xiàn)方式:
(1)流式布局
(2)彈性布局加媒體查詢
列舉 3 種可實(shí)現(xiàn)信息系統(tǒng)安全保障的措施。
1、引入https協(xié)議或采用加密技術(shù)對數(shù)據(jù)先加密再傳輸
2、采用信息摘要技術(shù)對重要信息進(jìn)行完整性驗(yàn)證
3、交易類敏感信息采用數(shù)字簽名機(jī)制
信息系統(tǒng)面臨哪些方面的安全威脅
信息系統(tǒng)面臨的安全威脅來自于物理環(huán)境、通信鏈路、網(wǎng)絡(luò)系統(tǒng)、操作系統(tǒng)、應(yīng)用系統(tǒng)以及管理等多個(gè)方面。
物理安全威脅是指對系統(tǒng)所用設(shè)備的威脅,如自然災(zāi)害、電源故障、數(shù)據(jù)庫故障和設(shè)備被盜等造成數(shù)據(jù)丟失或信息泄漏。
通信鏈路安全威脅是指在傳輸線路上安裝竊聽裝置或?qū)νㄐ沛溌愤M(jìn)行干擾。
網(wǎng)絡(luò)安全威脅當(dāng)前主要是指由于因特網(wǎng)的開放性、國際性與無安全管理性,對內(nèi)部網(wǎng)絡(luò)形成的嚴(yán)重安全威脅。
操作系統(tǒng)安全威脅指的是操作系統(tǒng)本身的后門或安全缺陷,如“木馬”和“陷阱 門”等。
應(yīng)用系統(tǒng)安全威脅是指對于網(wǎng)絡(luò)服務(wù)或用戶業(yè)務(wù)系統(tǒng)安全的威脅,包括應(yīng)用系統(tǒng)自身漏洞,也受到“木馬”的威脅。
管理系統(tǒng)安全威脅指的是人員管理和各種安全管理制度。
信息系統(tǒng)主要的認(rèn)證方式
目前主要的認(rèn)證方式有三類:
(1) 用戶名和口令認(rèn)證:主要是通過一個(gè)客戶端與服務(wù)器知的口令(或與口令相關(guān)的數(shù)據(jù))進(jìn)行驗(yàn)證。根據(jù)處理形式的不同,分為驗(yàn)證數(shù)據(jù)的明文傳送、利用單向散列函數(shù)處理驗(yàn)證數(shù)據(jù)、利用單向散列函數(shù)和隨機(jī)數(shù)處理驗(yàn)證數(shù)據(jù)。
(2) 使用令牌認(rèn)證:該方式中,進(jìn)行驗(yàn)證的密鑰存儲于令牌中,目前的令牌包括安全證書和智能卡等方式。
(3)生物識別認(rèn)證:主要是根據(jù)認(rèn)證者的圖像、指紋、氣味和聲音等作為認(rèn)證數(shù)據(jù)。根據(jù)該企業(yè)的業(yè)務(wù)特征,采用令牌認(rèn)證較為合適。
請解釋授權(quán)侵犯的具體含義;針對王工的意見給出相應(yīng)的解決方案,說明該解決方案的名稱、內(nèi)容和目標(biāo)。
(李工認(rèn)為,原業(yè)務(wù)系統(tǒng)只針對企業(yè)內(nèi)部員工,采用了用戶名/密碼方式是可以的,但擴(kuò)展為基于互聯(lián)網(wǎng)的B2C業(yè)務(wù)系統(tǒng)后,認(rèn)證方式過于簡單,很可能造成用戶身份被盜?。?strong>王工認(rèn)為,防止授權(quán)侵犯和保留用戶痕跡的要求在方案中沒有體現(xiàn)。而劉工則認(rèn)為,即使是在原有業(yè)務(wù)系統(tǒng)上的擴(kuò)展與改造,也必須全面考慮信息系統(tǒng)面臨的各種威脅,設(shè)計(jì)完整的系統(tǒng)安全架構(gòu),而不是修修補(bǔ)補(bǔ)。)
授權(quán)侵犯指的是被授權(quán)以某一目的使用某一系統(tǒng)或資源的某個(gè)人,將此權(quán)限用于其他非授權(quán)的目的,也稱作“內(nèi)部攻擊”。
針對王工的建議,從系統(tǒng)安全架構(gòu)設(shè)計(jì)的角度需要提供抗抵賴框架。
抗抵賴服務(wù)包括證據(jù)的生成、驗(yàn)證和記錄,以及在解決糾紛時(shí)隨即進(jìn)行的證據(jù)恢復(fù)和再次驗(yàn)證。
框架中抗抵賴服務(wù)的目的是提供有關(guān)特定事件或行為的證據(jù)。例如,必須確認(rèn)數(shù)據(jù)原發(fā)者和接收者的身份和數(shù)據(jù)完整性,在某些情況下,可能需要涉及上下文關(guān)系(如曰期、時(shí)間、原發(fā)者/接收者的地點(diǎn)等)的證據(jù),等等。
分別針對采用對稱加密策略與公鑰加密策略,說明如何利用加密技術(shù)為在網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)提供機(jī)密性與完整性保障。
對稱加密策略:
機(jī)密性:發(fā)送者利用對稱密鑰對要發(fā)送的數(shù)據(jù)進(jìn)行加密,只有擁有正確相同密鑰的接收者才能將數(shù)據(jù)正確解密,從而提供機(jī)密性。
完整性:發(fā)送者根據(jù)要發(fā)送的數(shù)據(jù)生成消息認(rèn)證碼(或消息摘要),利用對稱密鑰對消息認(rèn)證碼進(jìn)行加密并附加到數(shù)據(jù)上發(fā)送;接收者使用相同密鑰將對方發(fā)送的消息認(rèn)證碼解密,并根據(jù)接收到的數(shù)據(jù)重新生成消息認(rèn)證碼,比較兩個(gè)認(rèn)證碼是否相同以驗(yàn)證數(shù)據(jù)的完整性。
公鑰加密策略:
機(jī)密性:發(fā)送者利用接收者的公鑰對要發(fā)送的數(shù)據(jù)進(jìn)行加密,只有擁有對應(yīng)私鑰的接收者才能將數(shù)據(jù)正確解密,從而提供機(jī)密性。
完整性:發(fā)送者根據(jù)要發(fā)送的數(shù)據(jù)生成消息認(rèn)證碼(或消息摘要),利用自己的私鑰對消息認(rèn)證碼進(jìn)行加密并附加到數(shù)據(jù)上發(fā)送;接收者利用對方的公鑰將對方發(fā)送的消息認(rèn)證碼解密,并根據(jù)接收到的數(shù)據(jù)重新生成消息認(rèn)證碼,比較兩個(gè)認(rèn)證碼是否相同以驗(yàn)證數(shù)據(jù)的完整性。
從授權(quán)的可管理性、細(xì)粒度訪問控制的支持和對分布式環(huán)境的支持三個(gè)方面指出項(xiàng)目組采用王工方案的原因。
(經(jīng)過分析和討論,項(xiàng)目組決定采用加密技術(shù)為網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)提供機(jī)密性與完整性保障。但在確定具體訪問控制機(jī)制時(shí),張工認(rèn)為應(yīng)該采用傳統(tǒng)的強(qiáng)制訪問控制 (Mandatory Access Control)機(jī)制,而王工則建議采用基于角色的訪問控制(Role-Based Access Control)與可擴(kuò)展訪問控制標(biāo)記語言(extensible Access Control Markup Language, XACML)相結(jié)合的機(jī)制。項(xiàng)目組經(jīng)過集體討論,最終采用了王工的方案。)
采用王工方案是因?yàn)榛诮巧脑L問控制與XACML相結(jié)合的機(jī)制具有以下優(yōu)勢: 授權(quán)的可管理性:RBAC將用戶與權(quán)限分離,相比MAC減小了授權(quán)管理的復(fù)雜性, 更適合于大型企業(yè)級系統(tǒng)的安全管理:
細(xì)粒度訪問控制的支持:XACML提供了統(tǒng)一的訪問控制策略描述語言,策略表達(dá)能力強(qiáng),可用來描述各種復(fù)雜的和細(xì)粒度的訪問控制安全需求,更適合企業(yè)復(fù)雜業(yè)務(wù)功能的訪問控制要求;
分布式環(huán)境的支持:XACML的標(biāo)準(zhǔn)性便于各子系統(tǒng)的協(xié)作交互,各子系統(tǒng)或企業(yè)業(yè)務(wù)部門可以分布管理訪問控制權(quán)限,而MAC則通常需要對訪問控制權(quán)限集中管理, 不太適合企業(yè)基于SOA集成后的分布式系統(tǒng)。
什么是軟件架構(gòu)風(fēng)格,并從集成開發(fā)環(huán)境與用戶的交互方式、集成開發(fā)環(huán)境的擴(kuò)展性、集成開發(fā)環(huán)境的數(shù)據(jù)管理三個(gè)方面說明為什么最終采用了李工的設(shè)計(jì)方案。
(1) 集成開發(fā)環(huán)境需要提供對腳本語言的編輯、語法檢查、解釋、執(zhí)行和調(diào)試等功能的支持,并要實(shí)現(xiàn)各種功能的靈活組合、配置與替換。
(2) 集成開發(fā)環(huán)境需要提供一組可視化的編程界面,用戶通過對界面元素拖曳和代碼填充的方式就可以完成功能插件核心業(yè)務(wù)流程的編寫與組織。
(3) 在代碼調(diào)試功能方面,集成開發(fā)環(huán)境需要實(shí)現(xiàn)在腳本語言編輯界面中的代碼自動定位功能。具體來說,在調(diào)試過程中,編輯界面需要響應(yīng)調(diào)試斷點(diǎn)命中事件,并自動跳轉(zhuǎn)到當(dāng)前斷點(diǎn)處所對應(yīng)的代碼。
針對上述需求,軟件工具開發(fā)部門對集成開發(fā)環(huán)境的架構(gòu)進(jìn)行分析與設(shè)計(jì),王工認(rèn)為該集成開發(fā)環(huán)境應(yīng)該采用管道-過濾器的架構(gòu)風(fēng)格實(shí)現(xiàn),李工則認(rèn)為該集成開發(fā)環(huán)境應(yīng)該采用以數(shù)據(jù)存儲為中心的架構(gòu)風(fēng)格來實(shí)現(xiàn)。公司組織專家對王工和李工的方案進(jìn)行了評審,最終采用了李工的方案。
軟件架構(gòu)風(fēng)格是指描述特定軟件系統(tǒng)組織方式的慣用模式。組織方式描述了系統(tǒng)的組成構(gòu)件和這些構(gòu)件的組織方式,慣用模式則反映眾多系統(tǒng)共有的結(jié)構(gòu)和語義。
從集成開發(fā)環(huán)境與用戶的交互方式看,用戶通常采用交互式的方式對腳本語言進(jìn)行編輯、解釋執(zhí)行與調(diào)試。在這種情況下,采用以數(shù)據(jù)存儲為中心的架構(gòu)風(fēng)格能夠很好地支持交互式數(shù)據(jù)處理,而管道-過濾器架構(gòu)風(fēng)格則對用戶的交互式數(shù)據(jù)處理支持有限。
從集成開發(fā)環(huán)境的擴(kuò)展性來看,系統(tǒng)核心需求要求實(shí)現(xiàn)各種編輯、語法檢查、解釋執(zhí)行等多種功能的靈活組織、配置與替換。在這種情況下,采用以數(shù)據(jù)存儲為中心的架構(gòu)風(fēng)格,以數(shù)據(jù)格式解耦各種功能之間的依賴關(guān)系,并可以靈活定義功能之間的邏輯順序。管道-過濾器架構(gòu)風(fēng)格同樣以數(shù)據(jù)格式解耦數(shù)據(jù)處理過程之間的依賴關(guān)系,但其在數(shù)據(jù)處理邏輯關(guān)系的靈活定義方面較差。
從集成開發(fā)環(huán)境的數(shù)據(jù)管理來看,集成開發(fā)環(huán)境需要支持腳本語言、語法樹(用于檢查語法錯(cuò)誤)、可視化模型、調(diào)試信息等多種數(shù)據(jù)類型,并需要支持?jǐn)?shù)據(jù)格式的轉(zhuǎn)換。 以數(shù)據(jù)存儲為中心的架構(gòu)將數(shù)據(jù)存儲在統(tǒng)一的中心存儲器中,中心存儲器能夠表示多種數(shù)據(jù)格式,并能夠?yàn)閿?shù)據(jù)格式轉(zhuǎn)換提供各種支持。管道-過濾器架構(gòu)風(fēng)格通常只能支持有限度的數(shù)據(jù)格式,并且在數(shù)據(jù)格式轉(zhuǎn)換方面的靈活性較差。
對核心需求進(jìn)行分析,說明為了滿足需求(2)和(3),分別應(yīng)采用何種架構(gòu)風(fēng)格,并概要說明采用相應(yīng)架構(gòu)風(fēng)格后的架構(gòu)設(shè)計(jì)過程。
為了滿足需求(2),應(yīng)該采用解釋器架構(gòu)風(fēng)格。具體來說,需要:①為可視化編程元素及其拖拽關(guān)系定義某種語言,并描述其語法與語義;②編寫解釋器對該語言進(jìn)行 解釋;③生成對應(yīng)的腳本語言程序。
為了滿足需求(3),應(yīng)該采用隱式調(diào)用架構(gòu)風(fēng)格。具體來說,首先需要定義“斷點(diǎn)在調(diào)試過程中命中”這一事件,并實(shí)現(xiàn)當(dāng)斷點(diǎn)命中后的屏幕定位函數(shù)。集成開發(fā)環(huán)境維 護(hù)一個(gè)事件注冊表結(jié)構(gòu),將該事件與屏幕定位函數(shù)關(guān)聯(lián)起來形成注冊表中的一個(gè)記錄項(xiàng)。 在調(diào)試過程中,集成開發(fā)環(huán)境負(fù)責(zé)監(jiān)聽各種事件,當(dāng)“斷點(diǎn)在調(diào)試過程中命中”這一事件發(fā)生時(shí),集成開發(fā)環(huán)境查找事件注冊表,找到并調(diào)用屏幕定位函數(shù),從而實(shí)現(xiàn)腳本語言編輯界面與調(diào)試代碼的自動定位。
從構(gòu)件管理支持、互操作支持以及公共服務(wù)支持三個(gè)方面說明現(xiàn)有分布式基礎(chǔ)設(shè)施為構(gòu)建分布式系統(tǒng)所提供的基本支撐。
(1) 構(gòu)件管理支持:現(xiàn)有分布式基礎(chǔ)設(shè)施一般通過構(gòu)件容器為構(gòu)件提供基本的運(yùn)行環(huán)境;具體功能一般包括管理構(gòu)件的實(shí)例及其生命周期、管理構(gòu)件的元信息等。
(2) 互操作支持:現(xiàn)有分布式基礎(chǔ)設(shè)施均提供了高層通信協(xié)議以屏蔽節(jié)點(diǎn)的物理特性以及各節(jié)點(diǎn)在處理器、操作系統(tǒng)、程序設(shè)計(jì)語言等方面的異構(gòu)性;基于互操作支持, 開發(fā)人員在開發(fā)與調(diào)用分布式對象時(shí),均不需自己編寫處理底層通信的代碼。
(3) 公共服務(wù)支持:現(xiàn)有分布式基礎(chǔ)設(shè)施通常將針對分布式軟件的通用支持集成于一身,以公共服務(wù)的形式提供給應(yīng)用程序;其提供的常見公共服務(wù)包括命名服務(wù)、事務(wù) 服務(wù)、安全服務(wù)、持久性服務(wù)等。
在確定該支撐平臺所采用的用戶身份鑒別機(jī)制時(shí),王工提出采用基于口令的簡單認(rèn)證機(jī)制,而李工則提出采用基于公鑰體系的認(rèn)證機(jī)制。項(xiàng)目組經(jīng)過討論,確定采用基于公鑰體系的機(jī)制,請結(jié)合上述需求具體分析采用李工方案的原因。
(1) 基于口令的認(rèn)證方式實(shí)現(xiàn)簡單,但由于口令復(fù)雜度及管理方面的原因,易受到認(rèn)證攻擊;而在基于公鑰體系的認(rèn)證方式中,由于其密鑰機(jī)制的復(fù)雜性,同時(shí)在認(rèn)證過程中私鑰不在網(wǎng)絡(luò)上傳輸,因此可以有效防止認(rèn)證攻擊,與基于口令的認(rèn)證方式相比更為安全。
(2) 按照需求描述,在完成用戶身份鑒別后,需依據(jù)用戶身份進(jìn)一步對業(yè)務(wù)數(shù)據(jù)進(jìn)行安全保護(hù),且受保護(hù)數(shù)據(jù)中包含用戶私有的終端機(jī)數(shù)據(jù)文件,在基于口令的認(rèn)證方式中,用戶口令為用戶和認(rèn)證服務(wù)器共享,沒有用戶獨(dú)有的直接秘密信息,而在基于公鑰的認(rèn)證方式中,可基于用戶私鑰對私有數(shù)據(jù)進(jìn)行加密保護(hù),實(shí)現(xiàn)更加簡便。
(3) 基于公鑰體系的認(rèn)證方式協(xié)議和計(jì)算更加復(fù)雜,因此其計(jì)算復(fù)雜度要高?基于口令的認(rèn)證方式,但業(yè)務(wù)環(huán)境的總用戶數(shù)在100人以內(nèi),用戶規(guī)模不大,運(yùn)行環(huán)境又為局域網(wǎng)環(huán)境,因此基于公鑰體系的認(rèn)證方式可滿足平臺效率要求。
基于數(shù)字信封的加密方式
使用流加密方式可以獲得更高的加解密效率。
數(shù)據(jù)加密與解密過程如下:
其加密過程為:首先生成一個(gè)對稱密鑰,使用用戶公鑰加密這個(gè)對稱密鑰后存儲在文件頭,然后用生成的對稱密鑰加密文件數(shù)據(jù)存儲;
其解密過程為:用戶首先使用自己的私鑰解密被加密的對稱密鑰,再用該對稱密鑰解密出數(shù)據(jù)原文。
目前數(shù)據(jù)庫管理系統(tǒng)提供的基本數(shù)據(jù)加密支持主要有以下兩種:
(1) 加解密API:數(shù)據(jù)庫管理系統(tǒng)提供可在SQL語句中調(diào)用的加解密API,應(yīng)用可以利用這些API構(gòu)建自己的基礎(chǔ)架構(gòu),對數(shù)據(jù)進(jìn)行加密保護(hù)。
(2) 透明加密:安全管理員為數(shù)據(jù)庫敏感字段選擇加密方式及密鑰強(qiáng)度,應(yīng)用訪問受保護(hù)數(shù)據(jù)時(shí)只需使用口令打開或關(guān)閉密鑰表,對數(shù)據(jù)的加密和解密由數(shù)據(jù)庫管理系統(tǒng)自動完成。
加解密API方式的靈活性強(qiáng),但構(gòu)建和管理復(fù)雜;而透明加密方式管理簡單,應(yīng)用程序負(fù)擔(dān)輕,但靈活性較差。用戶要求盡可能減少安全管理與應(yīng)用程序的負(fù)擔(dān),因此應(yīng)選擇透明加密方式。
開放架構(gòu)應(yīng)具有以下4個(gè)基本特點(diǎn):(嵌入式)
①可移植性。各種計(jì)算機(jī)應(yīng)用系統(tǒng)可在具有開放架構(gòu)特性的各種計(jì)算機(jī)系統(tǒng)間進(jìn)行移植,不論這些計(jì)算機(jī)是否同種型號、同種機(jī)型。
②可互操作性。如計(jì)算機(jī)網(wǎng)絡(luò)中的各結(jié)點(diǎn)機(jī)都具有開放架構(gòu)的特性,則該網(wǎng)上各結(jié)點(diǎn)機(jī)間可相互操作和資源共享。
③可剪裁性。如某個(gè)計(jì)算機(jī)系統(tǒng)是具有開放架構(gòu)特性的,則在該系統(tǒng)的低檔機(jī)上運(yùn)行的應(yīng)用系統(tǒng)應(yīng)能在高檔機(jī)上運(yùn)行,原在高檔機(jī)上運(yùn)行的應(yīng)用系統(tǒng)經(jīng)剪裁后也可在低檔機(jī)上運(yùn)行。
④易獲得性。在具有開放架構(gòu)特性的機(jī)器上所運(yùn)行的軟件環(huán)境易于從多方獲得,不受某個(gè)來源所控制。
系統(tǒng)常見問題出現(xiàn)原因
(1) **用戶響應(yīng)時(shí)間慢:**大型社交網(wǎng)絡(luò)系統(tǒng)要根據(jù)用戶個(gè)性化信息來實(shí)時(shí)生成動態(tài)頁面和提供動態(tài)信息,所以基本上無法使用動態(tài)頁面靜態(tài)化技術(shù),因此數(shù)據(jù)庫并發(fā)負(fù)載非常高,往往要達(dá)到每秒上萬次讀寫請求。關(guān)系數(shù)據(jù)庫應(yīng)付上萬次SQL查詢還勉強(qiáng)可以, 但是應(yīng)付上萬次SQL寫數(shù)據(jù)請求,硬盤I/O就已經(jīng)無法承受了。特別是涉及到多表連接 操作,會導(dǎo)致響應(yīng)變慢。
(2) **數(shù)據(jù)格式變化:**大型社交網(wǎng)絡(luò)系統(tǒng)隨著用戶的使用,會不斷地增加新的功能, 導(dǎo)致原有數(shù)據(jù)格式發(fā)生變化,甚至出現(xiàn)新的數(shù)據(jù)格式。但關(guān)系數(shù)據(jù)庫中采用元組方式組織數(shù)據(jù),難以使用新型數(shù)據(jù)格式,難以維護(hù)。
(3) **數(shù)據(jù)容量超過設(shè)計(jì)上限:**對于大型社交網(wǎng)絡(luò)系統(tǒng),往往會在很短時(shí)間內(nèi)產(chǎn)生海量數(shù)據(jù)。關(guān)系數(shù)據(jù)庫多采用中央數(shù)據(jù)存儲,使得數(shù)據(jù)容量受限于前期設(shè)計(jì)的上限,很難實(shí)現(xiàn)數(shù)據(jù)容量的橫向擴(kuò)展。
(4) **系統(tǒng)可用性差:**關(guān)系數(shù)據(jù)庫采用中央數(shù)據(jù)存儲,容易成為系統(tǒng)的性能瓶頸,單點(diǎn)故障很容易導(dǎo)致系統(tǒng)崩潰,負(fù)載過高往往導(dǎo)致系統(tǒng)出現(xiàn)宕機(jī)現(xiàn)象。
針對問題(1),NoSQL數(shù)據(jù)庫支持高并發(fā)數(shù)據(jù)訪問,性能較高。
針對問題(2),NoSQL數(shù)據(jù)庫的數(shù)據(jù)存儲結(jié)構(gòu)松散,能夠靈活支持多種類型的數(shù)據(jù)格式。
針對問題(3),NoSQL數(shù)據(jù)庫能夠支持海量數(shù)據(jù)的存儲,且易于橫向擴(kuò)展。
針對問題(4),NoSQL數(shù)據(jù)庫基于分布式數(shù)據(jù)存儲,不存在單點(diǎn)故障和性能瓶頸,系統(tǒng)可用性高。
采用NoSQL數(shù)據(jù)庫時(shí)可能存在的問題有:
(1) NoSQL數(shù)據(jù)庫的現(xiàn)有產(chǎn)品不夠成熟,大多數(shù)產(chǎn)品處于初創(chuàng)期。
(2) NoSQL數(shù)據(jù)庫并未形成一定的標(biāo)準(zhǔn),產(chǎn)品種類繁多,缺乏官方支持。
(3) NoSQL數(shù)據(jù)庫不提供對SQL的支持,學(xué)習(xí)和應(yīng)用遷移成本較高。
(4) NoSQL數(shù)據(jù)庫支持的特性不夠豐富,現(xiàn)有產(chǎn)品提供的功能比較有限。
項(xiàng)目計(jì)劃包括:
(1) 項(xiàng)目總計(jì)劃(包括范圍計(jì)劃、工作范圍定義、活動定義、資源需求、資源計(jì)劃、活動排序、費(fèi)用估算、進(jìn)度計(jì)劃及費(fèi)用計(jì)劃)》
(2) 項(xiàng)目輔助計(jì)劃(質(zhì)量計(jì)劃、溝通計(jì)劃、人力資源計(jì)劃、風(fēng)險(xiǎn)計(jì)劃、采購計(jì)劃)。
基于構(gòu)件的軟件開發(fā)中,獲取構(gòu)件的4種方法:
(1) 從現(xiàn)有構(gòu)件中獲得符合要求的構(gòu)件,直接使用或做適應(yīng)性修改,得到可復(fù)用的構(gòu)件;
(2) 通過遺留工程(Legacy Engineering),將具有潛在復(fù)用價(jià)值的軟件提取出來,得到可復(fù)用的構(gòu)件;
(3) 從市場上購買現(xiàn)成的商業(yè)構(gòu)件,BPCOTS(Commercial Off-The-Shell)構(gòu)件;
(4) 開發(fā)新的符合要求的構(gòu)件。
開發(fā)構(gòu)件通常采取3種策略:
(1) 分區(qū)(partitioning):指的是將問題情景的空間分割成幾乎可以獨(dú)立研究的部分;
(2) 抽象(abstraction):是對在給定實(shí)踐內(nèi)執(zhí)行指定計(jì)算的軟/硬件申.元的一種抽象;
(3) 分割(segmentation):是將結(jié)構(gòu)引入構(gòu)件的行為,支持對行為性質(zhì)進(jìn)行時(shí)序推理。
當(dāng)前主流構(gòu)件標(biāo)準(zhǔn)有:
(1) CORBA:由OMG(對象管理集團(tuán))制定;
(2) COM/DCOM:由Microsoft制定;
(3) EJB:由SUN的Java企業(yè)Bean制定。
負(fù)載均衡機(jī)制的基本原理:
基于DNS的負(fù)載均衡機(jī)制通過DNS服務(wù)器實(shí)現(xiàn),通常通過循環(huán)復(fù)用具有同一域名的多個(gè)主機(jī)地址的服務(wù)器實(shí)現(xiàn)負(fù)載均衡。
反向代理負(fù)載均衡則是將來自Internet的連接請求以反向代理的方式動態(tài)轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的多臺服務(wù)器進(jìn)行處理,從而達(dá)到負(fù)載均衡的目的。
從系統(tǒng)執(zhí)行效率方面講,基于DNS的負(fù)載均衡機(jī)制實(shí)現(xiàn)簡單,但其通常不能區(qū)分服務(wù)器的差異,也不能反映服務(wù)器的當(dāng)前運(yùn)行狀態(tài)?;诜聪虼淼膭t可以根據(jù)內(nèi)部服務(wù)器的性能差異及實(shí)時(shí)負(fù)載情況進(jìn)行動態(tài)負(fù)載均衡,當(dāng)系統(tǒng)多個(gè)Web服務(wù)器性能存在明顯差異或內(nèi)部Web服務(wù)器出現(xiàn)故障時(shí),負(fù)載均衡器可以更快做出響應(yīng),從而保證客戶端的訪問效率。采用基于反向代理的負(fù)載均衡機(jī)制,可在代理服務(wù)器中引入調(diào)速緩存機(jī)制,對Web服務(wù)器返回的靜態(tài)頁面或圖片等靜態(tài)資源進(jìn)行緩存,由代理服務(wù)器承擔(dān)對原始服務(wù)器的靜態(tài)資源訪問請求,從而進(jìn)一步降低原始Web服務(wù)器的負(fù)載。
從安全性方面講,采用基于反向代理的負(fù)載均衡機(jī)制,代理服務(wù)器屏蔽了客戶端對真實(shí)Web服務(wù)器的直接訪問,惡意用戶無法對真實(shí)Web服務(wù)器進(jìn)行攻擊,且可以通過代理服務(wù)器為原本不安全的客戶端與Web服務(wù)器之間的連接建立安全通道。因此采用基于反向代理的負(fù)載均衡機(jī)制可為系統(tǒng)提供更好的安全性保障。
??其他
??作者:小空和小芝中的小空
??轉(zhuǎn)載說明-務(wù)必注明來源:https://zhima.blog.csdn.net/
??這位道友請留步??,我觀你氣度不凡,談吐間隱隱有王者霸氣??,日后定有一番大作為???。?!旁邊有點(diǎn)贊??收藏??今日傳你,點(diǎn)了吧,未來你成功??,我分文不取,若不成功??,也好回來找我。文章來源:http://www.zghlxwxcb.cn/news/detail-482119.html
溫馨提示:點(diǎn)擊下方卡片獲取更多意想不到的資源。文章來源地址http://www.zghlxwxcb.cn/news/detail-482119.html
到了這里,關(guān)于軟考A計(jì)劃-系統(tǒng)架構(gòu)師-知識點(diǎn)匯總-下篇的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!