亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        領域驅動設計在構建校園防私接系統(tǒng)中的應用研究

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

        黨嘉楠

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

        1 研究背景

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

        2 領域驅動設計

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

        領域驅動設計的前提是把項目的主要重點放在核心領域(Core Domain)和領域邏輯中;以領域中的模型為基礎,進行復雜的設計;讓軟件開發(fā)人員與領域專家合作,以迭代方式來完善特定領域問題的概念模型。

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

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

        3.1 客戶端防私接技術

        3.2 非客戶端防私接技術

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

        4 基于領域驅動設計的校園防私接系統(tǒng)的設計

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

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

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

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

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

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

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

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

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

        系統(tǒng)架構關系如圖1所示。

        圖1 系統(tǒng)架構關系圖

        4.2 Horus Manager模塊架構設計

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

        將一個復雜的程序切分成層。開發(fā)每一個層中內聚的設計,讓每個層僅依賴于它底下的那層。遵照標準的架構模式以提供層的低耦合。將領域模型相關的代碼集中到一個層中,把它從用戶界面、應用和基礎設施代碼中分隔開來。

        因此,Horus Manager模塊的總體框架基于領域驅動進行設計,分為4層,具體如下。

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

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

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

        Infrastructure層(基礎設施層):本層主要功能是對Domin模塊進行持久化。本層可以把領域對象序列化到指定的元件中,如數(shù)據(jù)庫、文件或者內存對象,當然也提供從物理元件取出數(shù)據(jù)到領域對象的功能。本層作為其他層的支撐庫存在,提供了層間的通信,實現(xiàn)了對業(yè)務對象的持久化。

        4.3 Horus Manager模塊核心功能設計

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

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

        圖2 核心功能類圖

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

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

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

        進行訴訟過程:案件調查適用條例。

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

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

        5 結束語

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

        猜你喜歡
        系統(tǒng)設計
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        何為設計的守護之道?
        《豐收的喜悅展示設計》
        流行色(2020年1期)2020-04-28 11:16:38
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        瞞天過?!律O計萌到家
        藝術啟蒙(2018年7期)2018-08-23 09:14:18
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        久久久久久人妻毛片a片| 国产精品无套一区二区久久| 永久免费a∨片在线观看| 亚洲男人的天堂网站| 久久亚洲高清观看| 色婷婷av一区二区三区不卡| 免费亚洲老熟熟女熟女熟女| 色吊丝中文字幕| 青青视频一区| 少妇被日到高潮的视频| 亚洲一区二区三区中文字幕网| 亚洲欧美日韩成人高清在线一区| 亚洲人成影院在线无码观看| 中文字幕成人乱码亚洲| 开心五月婷婷激情综合网| 99久久伊人精品综合观看| 精品少妇大屁股白浆无码| 久久最黄性生活又爽又黄特级片| 国产欧美在线观看不卡| 日日噜噜噜夜夜爽爽狠狠视频| 国产精品久久久久孕妇| 丝袜美腿在线播放一区二区| 97人人模人人爽人人喊网| 好男人视频在线视频| 日本少妇爽的大叫高潮了| 免费亚洲老熟熟女熟女熟女| 人妻少妇边接电话边娇喘| 福利视频一二区| 三级网站亚洲三级一区| 久久精品国产亚洲av网站| 亚州综合激情另类久久久| 色婷婷精品国产一区二区三区| 亚洲av成人综合网成人| 99热久久精里都是精品6| 最新永久无码AV网址亚洲| 午夜国产精品视频在线观看| 孕妇特级毛片ww无码内射| 美女一级毛片免费观看97| 久久久精品国产三级精品| 国产乡下三级全黄三级| 日韩在线第二页|