999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

領(lǐng)域驅(qū)動設(shè)計在構(gòu)建校園防私接系統(tǒng)中的應(yīng)用研究

2022-05-27 16:10:08黨嘉楠
科技與創(chuàng)新 2022年10期
關(guān)鍵詞:系統(tǒng)設(shè)計

黨嘉楠

(西安交通大學(xué)軟件學(xué)院,陜西 西安 710049)

1 研究背景

在互聯(lián)網(wǎng)開發(fā)“小步快跑,迭代試錯”的大環(huán)境下,DDD(領(lǐng)域驅(qū)動設(shè)計)似乎是一種比較“古老而緩慢”的思想。然而,隨著互聯(lián)網(wǎng)公司逐漸深入實體經(jīng)濟,業(yè)務(wù)日益復(fù)雜,在開發(fā)中也越來越多地遇到傳統(tǒng)行業(yè)軟件開發(fā)中所面臨的問題,如過度耦合、貧血癥(貧血領(lǐng)域?qū)ο螅珹nemic Domain Object,是指僅用作數(shù)據(jù)載體而沒有行為和動作的領(lǐng)域?qū)ο螅┖褪洶Y。而使用領(lǐng)域驅(qū)動設(shè)計思想可以很好地解決這些問題。為了降低系統(tǒng)耦合程度,在軟件的設(shè)計階段,基于領(lǐng)域驅(qū)動的建模需要軟件開發(fā)人員和相關(guān)領(lǐng)域?qū)<医Y(jié)合軟件開發(fā)人員的專業(yè)技能和領(lǐng)域?qū)<业膶I(yè)知識,建立準(zhǔn)確的領(lǐng)域模型,以更好地響應(yīng)需求變更,并縮短軟件開發(fā)周期。為了解決貧血癥和失憶癥問題,建立的多個領(lǐng)域模型都應(yīng)闡述現(xiàn)實中的實際問題,使相關(guān)軟件開發(fā)人員易于理解業(yè)務(wù),對系統(tǒng)進(jìn)行快速的維護和迭代。

2 領(lǐng)域驅(qū)動設(shè)計

領(lǐng)域驅(qū)動設(shè)計(Domain-Driven Design,簡稱DDD)是一種在軟件設(shè)計中應(yīng)該遵循的思維方式,其目標(biāo)在于加快具有復(fù)雜需求的軟件項目的研發(fā)速度[1]。領(lǐng)域驅(qū)動設(shè)計可以實現(xiàn)對應(yīng)到持續(xù)進(jìn)化的模型。領(lǐng)域驅(qū)動設(shè)計中最重要的理念是通過構(gòu)建領(lǐng)域模型來解決軟件開發(fā)的復(fù)雜性問題[1],因為在大多數(shù)軟件項目中,最困難的往往是解決業(yè)務(wù)領(lǐng)域復(fù)雜性,而非技術(shù)復(fù)雜性。領(lǐng)域驅(qū)動設(shè)計的一個顯著特征就是設(shè)計與開發(fā)的綁定,領(lǐng)域驅(qū)動設(shè)計強調(diào)軟件設(shè)計概念必須在開發(fā)過程中得以成功實現(xiàn)[2]。

領(lǐng)域驅(qū)動設(shè)計的前提是把項目的主要重點放在核心領(lǐng)域(Core Domain)和領(lǐng)域邏輯中;以領(lǐng)域中的模型為基礎(chǔ),進(jìn)行復(fù)雜的設(shè)計;讓軟件開發(fā)人員與領(lǐng)域?qū)<液献鳎缘绞絹硗晟铺囟I(lǐng)域問題的概念模型。

領(lǐng)域驅(qū)動設(shè)計的核心原則是模型設(shè)計概念必須在代碼中成功實現(xiàn),否則,它們將會變成抽象的討論。將模型與實現(xiàn)相綁定意味著在設(shè)計模型時既要反映業(yè)務(wù)概念又要考慮程序的實現(xiàn),這使得我們在選擇模型要做更多的考量,并且通常會經(jīng)歷多次反復(fù)修改和重新設(shè)計的過程。但是這樣的過程帶來的價值也是巨大的。將模型與實現(xiàn)相綁定,保證了程序代碼忠實地反映了領(lǐng)域知識的要求,有助于確保軟件正確地滿足用戶的需求。另一方面,由于代碼是嚴(yán)格按照領(lǐng)域模型來實現(xiàn)的,意味著開發(fā)人員與業(yè)務(wù)專家們有了共同的語言,這有助于他們之間展開高效的協(xié)作。

3 業(yè)界流行防私接系統(tǒng)設(shè)計

3.1 客戶端防私接技術(shù)

3.2 非客戶端防私接技術(shù)

由于客戶端防私接技術(shù)需要強制學(xué)生用戶安裝客戶端,易引起學(xué)生的反感而遇到較大推行阻力,由此產(chǎn)生了非客戶端的防私接技術(shù),在不要求學(xué)生安裝任何客戶端的情況,通過對學(xué)生上網(wǎng)的數(shù)據(jù)進(jìn)行應(yīng)用特征的分析從而發(fā)現(xiàn)用戶的私接行為[3]。非客戶端防私接技術(shù)主要是對學(xué)生上網(wǎng)的流量報文進(jìn)行監(jiān)控,基于深度包檢測(DPI)技術(shù)、通過識別用戶接入設(shè)備類型和接入數(shù)量,確定用戶是否存在私接行為的監(jiān)控手段。與基于客戶端檢測的方法相比,流量防私接部署相對簡單,用戶無感知,但是實現(xiàn)技術(shù)比較復(fù)雜,準(zhǔn)確性和識別率存在問題。

4 基于領(lǐng)域驅(qū)動設(shè)計的校園防私接系統(tǒng)的設(shè)計

在分析業(yè)界主流防私接系統(tǒng)的基礎(chǔ)上,發(fā)現(xiàn)不管是客戶端防私接系統(tǒng)還是非客戶端防私接系統(tǒng),系統(tǒng)耦合情況非常嚴(yán)重,軟件開發(fā)人員難以維護和迭代。因此基于領(lǐng)域驅(qū)動設(shè)計思想和校園防私接的需求基礎(chǔ)上,創(chuàng)新地提出了校園寬帶防私接整體方案。

4.1 校園防私接系統(tǒng)頂層設(shè)計

將整個系統(tǒng)分為5個大模塊,將業(yè)務(wù)架構(gòu)映射到系統(tǒng)架構(gòu)上,實現(xiàn)高內(nèi)聚低耦合。

Horus Manager模塊:防私接平臺中的管理節(jié)點,它可以在Site模式和Controller模式下運行(相同的應(yīng)用程序在不同的模式下運行)。Site和Controller使用RabbitMQ相互通信。在Controller模式下運行的Horus Manager也是一個Site,但提供了一組REST API來定義/控制和管理集群。

Console模塊:防私接平臺前端Web控制中心,直接與Horus Manager進(jìn)行交互。

Client模塊:一款帶防共享功能的撥號管理客戶端,包含Windows、MacOS、iOS、Android下的一系列客戶端。

IVS(Identity Verification Service)模塊:與客戶端進(jìn)行心跳機制驗證的后端模塊。客戶端撥號后,與心跳服務(wù)器之間按預(yù)定或協(xié)商的算法通訊;服務(wù)器通過檢查數(shù)據(jù)是否按時到來、是否有效,來判斷客戶端是否還在線,是否偽造的客戶端。

主題學(xué)習(xí)模式 20世紀(jì)60年代,美國教育者熱衷于將學(xué)習(xí)目標(biāo)進(jìn)行分類研究,如布盧姆把教學(xué)目標(biāo)分為三個領(lǐng)域,但在實踐過程中發(fā)現(xiàn)這三個領(lǐng)域?qū)嶋H是一個整體,這種分類方法造成它們之間相互分離。所以,20世紀(jì)90年代中期,整合課程研究的熱潮在美國興起,主題學(xué)習(xí)作為整合教學(xué)目標(biāo)的有效方式,開始被廣泛應(yīng)用。

Trafficam(Network Traffic Monitor)模塊:是防私接平臺的一個流量監(jiān)控應(yīng)用模塊。它接受傳入的網(wǎng)絡(luò)流量對象(例如pcap、suricata-eve等)并嘗試從中提取信息并以持久的方式保留這些信息。

系統(tǒng)架構(gòu)關(guān)系如圖1所示。

圖1 系統(tǒng)架構(gòu)關(guān)系圖

4.2 Horus Manager模塊架構(gòu)設(shè)計

Horus Manager模塊是整個系統(tǒng)中的核心,也是業(yè)務(wù)邏輯最復(fù)雜的一部分。使用領(lǐng)域驅(qū)動設(shè)計思想設(shè)計該模塊,可以有效降低系統(tǒng)復(fù)雜度,有利于軟件開發(fā)人員快速開發(fā)和維護。

將一個復(fù)雜的程序切分成層。開發(fā)每一個層中內(nèi)聚的設(shè)計,讓每個層僅依賴于它底下的那層。遵照標(biāo)準(zhǔn)的架構(gòu)模式以提供層的低耦合。將領(lǐng)域模型相關(guān)的代碼集中到一個層中,把它從用戶界面、應(yīng)用和基礎(chǔ)設(shè)施代碼中分隔開來。

因此,Horus Manager模塊的總體框架基于領(lǐng)域驅(qū)動進(jìn)行設(shè)計,分為4層,具體如下。

API層(用戶接口層):本層的主要功能是提供接口使后端與前端進(jìn)行交互。在實現(xiàn)過程中,要先確認(rèn)與前端進(jìn)行交互的各種DTO,用于滿足系統(tǒng)前后端交互數(shù)據(jù)的安全性。其次,使用外觀模式(Facade Pattern)隱藏系統(tǒng)的復(fù)雜性,給前端提供一個統(tǒng)一入口,并對外屏蔽內(nèi)部子系統(tǒng)的調(diào)用細(xì)節(jié)。

Application層(應(yīng)用層):本層是很薄的一層,本層的主要功能是是用于協(xié)調(diào)各種應(yīng)用情況。本層主要負(fù)責(zé)DTO和實體值對象的數(shù)據(jù)轉(zhuǎn)換,對于簡單的業(yè)務(wù),也可以在本層直接加載實體,執(zhí)行實體行為方法。本層不包含業(yè)務(wù)邏輯,注意本層可以包含查詢邏輯,但核心業(yè)務(wù)邏輯必須下沉到Domain層。本層不保留業(yè)務(wù)對象的狀態(tài),只保有應(yīng)用任務(wù)的進(jìn)度狀態(tài)。

Domin層(領(lǐng)域?qū)樱罕緦邮穷I(lǐng)域驅(qū)動設(shè)計思想中最重要的一層,包含關(guān)于系統(tǒng)領(lǐng)域的信息。本層是業(yè)務(wù)軟件的核心所在,在本層實現(xiàn)核心的業(yè)務(wù)邏輯。只有在本層可以保留業(yè)務(wù)對象的狀態(tài),對業(yè)務(wù)對象和它們狀態(tài)的持久化被委托給了Infrastructure層。

Infrastructure層(基礎(chǔ)設(shè)施層):本層主要功能是對Domin模塊進(jìn)行持久化。本層可以把領(lǐng)域?qū)ο笮蛄谢街付ǖ脑校鐢?shù)據(jù)庫、文件或者內(nèi)存對象,當(dāng)然也提供從物理元件取出數(shù)據(jù)到領(lǐng)域?qū)ο蟮墓δ堋1緦幼鳛槠渌麑拥闹螏齑嬖冢峁┝藢娱g的通信,實現(xiàn)了對業(yè)務(wù)對象的持久化。

4.3 Horus Manager模塊核心功能設(shè)計

Horus Manager模塊最重要的功能就是接收IVS模塊與Trafficam模塊傳來的信息,分析并判斷該用戶是否私接。對此,當(dāng)然可以使用復(fù)雜的業(yè)務(wù)邏輯對此進(jìn)行判斷。但當(dāng)開發(fā)此功能的軟件開發(fā)人員離職后,其他軟件開發(fā)人員接手此系統(tǒng)時,會發(fā)現(xiàn)此業(yè)務(wù)邏輯非常難以理解,需要花費大量時間讀懂這些業(yè)務(wù)邏輯。于是需要基于領(lǐng)域驅(qū)動設(shè)計思想解決該問題,我們發(fā)現(xiàn)判斷一個人是否私接與現(xiàn)實生活中司法系統(tǒng)判斷一個人是否有罪有異曲同工之妙,因此基于現(xiàn)實中的司法系統(tǒng)對解決該問題進(jìn)行建模,可以使沒有開發(fā)此系統(tǒng)的軟件開發(fā)人員易于理解復(fù)雜的業(yè)務(wù)邏輯。

現(xiàn)實中的司法系統(tǒng)判斷一個人是否有罪需要經(jīng)過搜集證據(jù)、訴訟、定罪、執(zhí)法4步。因此,基于司法系統(tǒng)對判斷該用戶是否私接進(jìn)行建模,建立CaseInstance、Prosecution、Conviction、Enforcement這4個主要實體。CaseInstance表示會話,其中保存著會話的私接證據(jù)、身份信息、網(wǎng)絡(luò)信息等;Prosecution表示訴訟過程;Conviction表示定罪過程;Enforcement表示執(zhí)法過程。這樣建模將原本復(fù)雜的判斷私接過程拆分開來,使相關(guān)軟件開發(fā)人員易于理解,因為司法系統(tǒng)本就是現(xiàn)實中存在的東西,就此實現(xiàn)和維護功能將變得非常簡單。4個核心實體的類圖如圖2所示。

圖2 核心功能類圖

Horus Manager模塊的核心功能如下。

對用戶會話進(jìn)行管理:案件管理、登記和結(jié)案。從RADIUS服務(wù)器接收RADIUS計費數(shù)據(jù)包以創(chuàng)建和銷毀會話。

獲得私接證據(jù)過程:實施“身份驗證”協(xié)議并處理來自已知客戶端應(yīng)用程序(IVS)的協(xié)商和通知,監(jiān)控網(wǎng)絡(luò)流量并從網(wǎng)絡(luò)流量中提取已知數(shù)據(jù)庫的信息(Trafficam)。接受來自IVS/Trafficam的案件調(diào)查。

進(jìn)行訴訟過程:案件調(diào)查適用條例。

進(jìn)行定罪過程:根據(jù)組織/用戶組和配置的策略定罪案例。

進(jìn)行執(zhí)法過程:執(zhí)行強制(斷開連接、限速或阻止私接賬號使用操作),將判決結(jié)果發(fā)送給BAS(高校寬帶運營管理平臺)進(jìn)行執(zhí)行。

5 結(jié)束語

校園防私接系統(tǒng)應(yīng)用領(lǐng)域驅(qū)動設(shè)計思想進(jìn)行設(shè)計開發(fā),降低了系統(tǒng)耦合度,使系統(tǒng)易于維護和迭代。領(lǐng)域驅(qū)動設(shè)計的最大優(yōu)勢是直接將核心業(yè)務(wù)邏輯與領(lǐng)域模型結(jié)合起來,更好實現(xiàn)高內(nèi)聚、松耦合,這種優(yōu)勢逐漸使其成為軟件設(shè)計的主流思想,特別是面對大型復(fù)雜的互聯(lián)網(wǎng)系統(tǒng)。同時現(xiàn)如今的企業(yè)發(fā)展也越來越重視維護和迭代,所以領(lǐng)域驅(qū)動設(shè)計也會取得越來越廣泛的應(yīng)用。在進(jìn)行系統(tǒng)設(shè)計時,需要按照需求合理設(shè)計模型。在進(jìn)行分層建設(shè)過程中,也需要充分考慮好各種不必要因素,及時調(diào)整,選擇合理框架以及開發(fā)系統(tǒng),提高運行效率。

猜你喜歡
系統(tǒng)設(shè)計
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
何為設(shè)計的守護之道?
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
瞞天過海——仿生設(shè)計萌到家
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 国产99在线观看| aaa国产一级毛片| 国产在线欧美| 黄色污网站在线观看| 亚洲久悠悠色悠在线播放| 精品伊人久久大香线蕉网站| 国产av一码二码三码无码| 国产美女在线观看| 国产国产人成免费视频77777| 午夜福利视频一区| 在线观看免费黄色网址| 制服丝袜 91视频| 日韩高清在线观看不卡一区二区| 高清不卡一区二区三区香蕉| 又猛又黄又爽无遮挡的视频网站| 最新日本中文字幕| 狠狠干欧美| 青青操国产| 青青操视频免费观看| 免费国产小视频在线观看| 亚洲看片网| AV不卡在线永久免费观看| 91成人在线观看| 亚洲黄色片免费看| 51国产偷自视频区视频手机观看| 亚洲不卡无码av中文字幕| 亚洲无码视频一区二区三区| 这里只有精品在线播放| 久久大香香蕉国产免费网站| 免费国产黄线在线观看| 亚洲天堂久久新| 欧美日韩亚洲综合在线观看| 国产精品亚洲一区二区三区z | 在线中文字幕日韩| 久久久噜噜噜| 日本道综合一本久久久88| 99久久精品无码专区免费| 欧美成人精品高清在线下载| 91成人免费观看在线观看| 思思热精品在线8| 天天摸夜夜操| 国产一区二区三区在线无码| 99视频在线精品免费观看6| 日韩午夜片| 91口爆吞精国产对白第三集| 在线免费观看a视频| 欧美一级专区免费大片| 亚洲国产成人超福利久久精品| 久久免费视频6| 亚洲欧美日韩高清综合678| AV不卡国产在线观看| 亚洲无码免费黄色网址| 亚洲午夜福利精品无码| 国产精品毛片一区视频播| 欧美在线三级| 国产aⅴ无码专区亚洲av综合网| 激情综合图区| 亚卅精品无码久久毛片乌克兰| 免费看美女毛片| 999国产精品| 久久a毛片| 色综合天天娱乐综合网| 亚洲品质国产精品无码| 无码精油按摩潮喷在线播放 | 欧美成人区| 欧美日韩专区| 国产又大又粗又猛又爽的视频| 日本成人一区| 暴力调教一区二区三区| 日本高清免费不卡视频| 亚洲日韩精品无码专区| 午夜小视频在线| 日韩精品少妇无码受不了| 国产三级视频网站| 99热免费在线| 激情无码字幕综合| 欧美精品不卡| 国产激情国语对白普通话| 99久久99这里只有免费的精品| 久久这里只有精品免费| 久草视频中文| 成人毛片在线播放|