計算機基礎知識(第五篇)
架構演化與維護
軟件架構的演化和定義
軟件架構的演化和維護就是對架構進行修改和完善的過程,目的就是為了使軟件能夠適應環境的變化而進行的糾錯性修改和完善性修改等,是一個不斷迭代的過程,直至滿足用戶需求。
舉例:有一家電子商務公司,他們的在線購物平臺擁有數百萬用戶。初始時,他們的平臺采用單一的單體架構,所有功能都集成在一個應用程序中,但隨著時間推移,業務發展,用戶數量增加,公司開始遇到一些問題:
- 性能問題:由于用戶數量的增加,平臺的性能開始下降,響應時間變得較長.
- 擴展性問題:隨著新功能的添加,開發團隊發現很難擴展和維護整個應用程序.
- 部署問題:每次發布新版本時,整個應用程序都需要重新部署,導致停機時間和風險增加。
為了解決這些問題,公司決定對軟件架構進行演化和維護。他們采取了以下措施:
- 微服務架構:他們將應用程序拆分成多個小型服務,每個服務負責一個特定的功能,如用戶管理、購物車、支付等。這使得每個服務可以獨立擴展和部署,提高了系統的靈活性和性能。
- 容器化:他們引入了容器技術,如Docker,以便更輕松地管理和部署服務。這減少了部署的停機時間,并提高了可靠性。
- 自動化部署:公司建立了自動化部署管道,以便快速發布新功能和修復bug,而無需手動干預.
通過這些改進,公司成功地演化和維護了他們的軟件架構,解決了之前的問題,并為未來的增長和變化做好了準備。這個例子說明了軟件架構的演化和維護是一個持續的過程,旨在適應變化的環境和滿足用戶需求.
演化過程涵蓋了軟件架構的全生命周期:
- 軟件架構需求的獲取:識別和確定軟件需要滿足的需求和目標。
- 軟件架構建模:創建架構模型,描述系統的整體結構和組件間的關系。
- 軟件架構文檔:記錄架構設計,提供對系統結構的清晰描述和參考。
- 軟件架構實現:將架構設計轉化為實際的系統代碼和組件。
- 軟件架構維護:對架構進行持續的修改和優化,以應對新需求和環境變化。
軟件架構演化的重要性:
- 架構是整個系統的骨架:它是軟件系統具備諸多良好特性的保障。良好的架構設計能夠確保系統的穩定性、可擴展性和性能。
- 架構作為軟件藍圖:它為人們宏觀管控軟件系統的整體復雜性和變化性提供了一條有效途徑。通過架構設計,人們可以更好地理解和管理系統的各個部分及其相互關系,從而更有效地應對系統的變化和發展。
軟件架構的定義三大要素:
軟件架構的定義包含三個主要要素:組件、連接件、約束。軟件架構的演化主要關注這三個要素之間的添加、修改和刪除等變化。
面向對象軟件架構演化
對象演化
在順序圖中,組件的實體是對象,對架構設計的動態行為影響的演化包括Add Object (AO)和Delete Object (DO)兩種情況。這兩種演化方式在軟件架構設計中扮演重要角色,對系統的動態變化和優化起到關鍵作用。
消息演化
在消息演化中,常見的演化方式包括 AddMessage (AM)、DeleteMessage (DM)、SwapMessageOrder (SMO)、OverturnMessage (OM)、ChangeMessageModule (CMM) 這五種。每種演化方式對于消息在系統中的傳遞和交互方式有著不同的影響和作用。
復合片段演化
在復合片段演化中,常見的演化方式包括 AddFragment (AF)、DeleteFragment (DF)、FragmentTypeChange (FTC) 和 FragmentConditionChange (FCC) 這四種。復合片段描述了對象交互關系的控制流,表示不同場合可能發生的交互行為,與消息屬于連接件范疇,對系統的控制流程具有重要的作用。
約束演化
在順序圖中,約束信息以文字描述的方式存儲于對象或消息中,而約束演化則是對這些約束信息進行直接的添加和刪除操作。
軟件架構演化方式的分類
按照軟件架構的實現方式和實施粒度分類:
- 基于過程和函數的演化
- 面向對象的演化
- 基于組件的演化
- 基于架構的演化
按照研究方法分類:
- 第一類:對演化的支持,如代碼模塊化的準則、可維護性的指示(如內聚和耦合)、代碼重構等
- 第二類:版本和工程的管理工具
- 第三類:架構變換的形式方法,包括系統結構和行為變換的模型,以及架構演化的重現風格等
- 第四類:架構演化的成本收益分析,決定如何增加系統的彈性
按照軟件架構演化過程是否處于系統運行時期分類:
- 靜態演化
- 動態演化
軟件架構的演化時期
設計時演化:發生在體系結構模型和相關代碼編譯之前的軟件架構演化階段。
運行前演化:發生在代碼編譯后、但應用程序執行之前的軟件架構演化。在這個階段,可以不考慮應用程序的狀態,但需要考慮系統的體系結構,并且系統需要具備添加和刪除組件的機制。
有限制運行時演化:系統在設計時規定了演化的具體條件,將系統置于“安全”模式下。演化只能在特定約束滿足時進行,限制了可以執行的演化操作。
運行時演化:系統的體系結構在運行時無法滿足需求時發生的軟件架構演化。這包括添加組件、刪除組件、升級替換組件、改變體系結構的拓撲結構等操作。這種演化通常是最具挑戰性的,因為必須在系統運行時維持其正常操作。
靜態演化
軟件架構的靜態演化主要發生在設計時演化和運行前演化階段。與之對應的維護方法有三類:
- 更正性維護:修復系統中的錯誤。
- 適應性維護:調整系統以適應新的需求或環境。
- 完善性維護:增強系統的功能和性能。
軟件的靜態演化通常包括以下五個步驟:
- 軟件理解:查閱軟件文檔,分析軟件架構,識別系統組成元素及其相互關系,提取系統的抽象表示形式。
- 需求變更分析:分析用戶需求變化、系統運行出錯和運行環境改變等原因,找出新的軟件需求與原有需求的差異。
- 演化計劃:分析原系統,確定演化范圍和成本,選擇合適的演化計劃。
- 系統重構:根據演化計劃對系統進行重構,使其適應當前的需求。
- 系統測試:對演化后的系統進行測試,查找錯誤和不足之處。
動態演化
動態演化是在系統運行期間進行的演化,需要在不停止系統功能的情況下完成,這使得它較之靜態演化更加困難。
軟件內部執行所導致的體系結構改變:
例如,許多服務器端軟件會在客戶請求到達時創建新的組件來響應用戶需求。假設有一個在線游戲服務器,它需要動態地創建新游戲房間以響應不同的玩家請求。當玩家請求加入一個新的游戲房間時,服務器會根據請求創建一個新的游戲房間。
軟件系統外部的請求對軟件進行的重配置:
例如,操作系統在升級時無須重新啟動,在運行過程中就完成對體系結構的修改。在操作系統中,內核負責管理硬件資源和執行系統級任務。當需要進行內核更新時,通常不需要重新啟動整個計算機。
動態演化的必要性:對于一些需要長期運行且具有特殊使命的系統(如航空航天、生命維持、金融、交通等),如果系統需求或環境發生變化,停止系統運行進行更新或維護將產生高額費用和巨大風險,并對系統的安全性產生很大影響。
軟件的動態演化等級分為三個級別:
- 交互動態性:要求數據在固定的結構下動態交互。
- 結構動態性:允許對結構進行修改,通常形式是組件和連接件實例的添加和刪除,這種動態性是研究和應用的主流。
- 架構動態性:允許軟件架構的基本構造的變動,即結構可以被重定義,如新的組件類型的定義。
軟件的動態演化四個方面:
- 屬性改名:目前所有的ADL(架構描述語言)都支持對非功能屬性的分析和規約,而在運行過程中,用戶可能會對這些指標進行重新定義,比如將服務響應時間改為響應時間。
- 行為變化:在運行過程中,用戶需求變化或系統自身服務質量的調節都將引發軟件行為的變化。例如,一個在線社交媒體平臺,最初允許用戶發布文字和圖片。然后,用戶需求發生變化,要求支持視頻發布;又或者為了提高安全級別而更換加密算法,將HTTP協議改為HTTPS協議。
- 拓撲結構改變:如增刪組件,增刪連接件,改變組件與連接件之間的關聯關系等。例如,一個分布式系統中有多個服務節點,它們相互連接以共同處理請求。隨著系統的擴展,需要增加新的服務節點,同時刪除一些不再需要的舊節點。
- 風格變化:一般軟件演化后其架構風格應當保持不變,如果必須改變軟件的架構風格,也只能將架構風格變為其衍生風格。例如,一個企業級應用程序最初采用了兩層客戶端/服務器(C/S)架構,其中客戶端直接與數據庫交互。后來,由于需求的變化或性能問題,決定將架構改變為三層C/S架構,其中增加了應用服務器層來處理業務邏輯。
軟件架構演化原則
1. 演化成本控制原則
演化成本控制原則旨在確保在軟件架構演化過程中,相關成本能夠得到有效控制。
2. 進度可控原則
進度可控原則強調在軟件架構演化過程中,需要確保整體進度的可控性。
3. 風險可控原則
風險可控原則旨在確保在軟件架構演化過程中,所有潛在的風險都能被有效識別、評估和管理。
4. 主體維持原則
主體維持原則旨在確保在軟件架構演化過程中,軟件系統的主體行為和核心功能保持穩定不變。
5. 系統總體結構優化原則
系統總體結構優化原則旨在確保在軟件架構演化過程中,最終的系統整體結構更加合理和優化。
6. 平滑演化原則
平滑演化原則強調在軟件架構演化過程中,確保演化速率趨于穩定,相鄰版本的更新率相對固定。
7. 目標一致原則
目標一致原則旨在確保軟件架構演化過程中,階段性目標和最終目標之間保持一致性。
8. 模塊獨立演化原則
模塊獨立演化原則強調在軟件架構演化過程中,確保各模塊能夠相對獨立地演化,不影響其他模塊的正常運行。
9. 影響可控原則
影響可控原則旨在確保在變更一個模塊時,其對其他模塊的影響保持在可控范圍內。
10. 復雜性可控原則
復雜性可控原則旨在確保在軟件架構演化過程中,系統的復雜性保持在可控范圍內。
11. 有利于重構原則
有利于重構原則強調在軟件架構演化過程中,使得架構更易于進行重構。
12. 有利于重用原則
有利于重用原則強調在軟件架構演化過程中,提高系統的整體可重用性。
13. 設計原則遵從性原則演化
設計原則遵從性原則演化強調在軟件架構演化過程中,不違背已有的架構設計原則。
14. 適應新技術原則
適應新技術原則強調軟件系統獨立于特定技術手段,適用于不同平臺和技術環境。
軟件架構演化評估方法
根據演化過程是否已知可將評估過程分為:演化過程己知的評估(正向)和演化過程未知的評估(逆向)。
演化過程已知的評估其目的在于通過對架構演化過程進行度量,比較架構內部結構上的差異以及由此導致的外部質量屬性上的變化,對該演化過程中相關質量屬性進行評估。
基于度量的架構演化評估方法
基于度量的架構演化評估方法的基本思路是通過對演化前后軟件架構進行度量,比較架構內部結構上的差異以及由此導致的外部質量屬性上的變化。
具體步驟:
-
架構修改影響分析:
識別和記錄架構在演化過程中所做的每一項修改。 分析每項修改對架構內部結構和外部質量屬性的影響。
-
監控演化過程:
在架構演化過程中,持續監控架構的變化。 收集和記錄每個演化步驟中的度量數據,確保實時跟蹤架構質量屬性的變化。
-
分析關鍵演化過程:
對演化過程中關鍵步驟進行深入分析。 識別出對質量屬性影響較大的關鍵修改。 比較這些關鍵步驟前后的質量屬性變化,評估其對整體架構質量的影響。
演化過程未知時的評估
當演化過程未知時,我們無法追蹤架構在演化過程中的每一步變化。此時只能根據架構演化前后的度量結果逆向推測出架構發生了哪些改變,并分析這些改變與架構相關質量屬性的關聯關系。
具體步驟:
-
初始和最終架構度量:
對演化前的初始架構和演化后的最終架構進行全面的質量屬性度量。 獲取初始架構的度量結果Q0和最終架構的度量結果Qn。
-
比較度量結果:
比較Q0和Qn,識別出質量屬性的變化。 分析這些變化可能對應的架構修改。
-
逆向推測架構演化
根據質量屬性的變化,逆向推測架構在演化過程中可能的修改步驟。 分析這些修改與架構質量屬性之間的關聯關系。
大型網站架構演化
單體架構
特點:
- 所有業務在一個服務器上:
- 所有的功能模塊和業務邏輯都部署在同一個服務器上。
- 各個組件之間緊密耦合,形成一個整體。
- 通常一個代碼倉庫,包含所有的業務邏輯、數據訪問層和用戶界面。
優點:開發簡單、部署簡單、性能優化容易
缺點:擴展性差、可靠性差、單點故障、團隊協作難、技術棧統一
適用場景:
- 初創公司或小型項目,業務邏輯簡單,快速開發和部署。
- 對于短期內不會有大規模擴展需求的項目。
垂直架構
特點:
- 每種業務在一個單獨服務器上
優點:獨立部署、擴展性強、可靠性高、技術靈活、團隊協作方便
缺點:復雜性增加、成本增加、運維復雜
適用場景:
- 業務規模逐漸擴大,需要更高的系統可靠性和可擴展性。
- 各業務模塊之間相對獨立,可以清晰地分離和解耦。
- 需要不同的業務模塊使用不同的技術棧,以滿足多樣化的需求。
使用緩存改善網站性能
特點:
- 使用緩存提高網站查詢效率
優點:提高性能、降低成本、提高可用性
缺點:數據一致性問題、緩存失效與更新、額外的運維和管理
適用場景:
- 頻繁的數據庫查詢對系統性能造成壓力,需要通過緩存減輕負載。
- 需要快速響應的場景,如電商網站的商品詳情頁、社交媒體的用戶動態等。
- 靜態資源(如圖片、CSS、JavaScript文件)和不頻繁變動的數據(如熱門文章、排行榜等)。
使用服務集群改善網站并發處理能力
特點:
- 多臺應用服務器解決訪問量過大效率降低的問題
優點:提高并發處理能力、增強系統可靠性、靈活的擴展性
缺點:增加系統復雜性、高成本投入、網絡延遲和帶寬問題
適用場景:
- 網站訪問量大,單臺服務器無法滿足并發處理需求,如大型電商平臺、社交網絡等。
- 需要提供高可用性和容錯能力的關鍵業務系統。
- 業務需求波動較大,需要靈活擴展服務器資源的場景。
數據庫讀寫分離
特點:
- 數據庫拆分為主從數據庫
優點:提高性能、增強擴展性、提高系統穩定性
缺點:數據一致性問題、增加系統復雜性、負載均衡和路由問題
適用場景:
- 讀操作頻繁且讀寫比例懸殊的場景,如新聞網站、社交媒體平臺等。
- 數據量大、并發訪問高,單一數據庫無法滿足性能需求的業務系統。
- 需要提高系統的可靠性和容災能力的數據密集型應用。
使用反向代理和CDN加速網站響應
特點:
- 使用CDN解決不同地域訪問效率差異問題
優點:提升訪問速度、減少服務器壓力、提高網站可用性、優化帶寬使用
缺點:成本增加、管理和維護復雜性、緩存一致性問題
適用場景:
- 網站用戶分布廣泛,存在不同地域訪問速度差異的問題,如全球性電商平臺、國際新聞網站等。
- 網站流量大,服務器負載高,需要提升響應速度和用戶體驗的場景。
- 需要提高網站可用性、容災能力和帶寬優化的業務系統。
使用分布式文件系統和分布式數據庫系統
特點:
- 文件服務器和數據庫服務器使用分布式來部署分攤訪問壓力:
優點:提升系統性能和可擴展性、提高數據可靠性和可用性、優化數據訪問和負載均衡、支持大數據和實時處理
缺點:部署和管理復雜性、數據一致性和事務處理挑戰、網絡延遲和帶寬消耗
適用場景:
- 大規模數據存儲和處理需求,如社交媒體平臺、視頻流媒體服務、大數據分析系統等。
- 高并發訪問和高可用性要求的業務系統,如金融交易平臺、在線購物網站、實時監控系統等。
- 需要快速擴展和靈活調整資源的業務場景,如云計算平臺、分布式計算集群等。
使用NOSQL和搜索引擎
特點:
- 使用NoSQL數據庫提升訪問性能:顯著提升數據訪問性能。
- 引入搜索引擎提升數據檢索效率:提高數據查詢和分析效率。
優點:高性能和高并發處理、靈活的擴展性、多樣化的數據模型支持、高可用性和容錯性
缺點:一致性和事務支持不足、復雜的運維和管理、學習成本和技術門檻
適用場景:
- 高并發讀寫和大數據處理需求:社交媒體平臺、在線游戲等
- 非結構化數據和全文搜索需求:內容管理系統、電子商務平臺等。
業務拆分
特點:
- 把所有業務拆分成微服務的形式:每個微服務負責特定的業務功能
- 更加靈活方便的部署和調整:微服務架構允許獨立部署和更新各個服務,減少系統整體停機時間,提升迭代速度和靈活性。
優點:獨立部署和持續交付、靈活的擴展性和高可用性、技術棧多樣化、團隊分工和協作
缺點:復雜的運維和管理、通信開銷和一致性管理、開發和測試復雜度
適用場景:
- 復雜和多變的業務需求:需要快速響應市場變化和用戶需求。
- 高并發和高可用性要求:用戶量大、訪問頻繁的在線系統。
- 需要快速創新和試驗的場景:初創公司和創新型業務,通過微服務架構快速試驗新功能和業務模式,降低試錯成本。
分布式服務
特點:
- 把應用服務器從集群改為分布式:將應用服務器從傳統的集群架構轉變為分布式架構。
- 進一步提升性能:分布式架構通過將工作負載分散到多個服務器上,能夠更好地利用硬件資源,提高系統的并發處理能力和響應速度。
優點:高可擴展性、高可用性和容錯性、資源利用優化、靈活的部署和管理
缺點:復雜的系統設計和管理、通信延遲和一致性問題、運維和監控的復雜度
適用場景:
- 高并發和高性能需求:需要處理大量并發請求和高流量的互聯網應用,如電商平臺、社交媒體、在線游戲等。
- 高可用性和容錯要求:業務連續性和高可用性要求高的金融服務、醫療系統、電信運營等。
- 分布式計算和大數據處理:需要進行大規模數據處理和計算的業務場景,如大數據分析、機器學習、分布式數據庫等。
軟件架構維護
軟件架構維護過程一般涉及架構知識管理、架構修改管理和架構版本管理。
軟件架構知識管理是對架構設計中所隱含的決策來源進行文檔化表示,進而在架構維護過程中幫助維護人員對架構的修改進行完善的考慮,并能夠為其他軟件架構的相關活動提供參考。
- 架構知識的定義:架構知識=架構設計+架構設計決策。即需要說明在進行架構設計時采用此種架構的原因。
- 架構知識管理側重于軟件開發和實現過程所涉及的架構靜態演化,從架構文檔等信息來源中捕捉架構知識,進而提供架構的質量屬性及其設計依據以進行記錄和評價。
在軟件架構修改管理中,一個主要的做法就是建立一個隔離區域保障該區域中任何修改對其他部分的影響比較小,甚至沒有影響。為此,需要明確修改規則、修改類型,以及可能的影響范圍和副作用等。
軟件構版本管理為軟件架構演化的版本演化控制、使用和評價等提供了可靠的依據,并為架構演化量化度量奠定了基礎。
未來信息綜合技術
信息物理系統
信息物理系統(CPS)是控制系統、嵌入式系統的擴展與延伸,其涉及的相關底層理論技術源于對嵌入式技術的應用與提升.CPS的核心概念是將數字和物理系統融合在一起,以實現更好的協同工作和決策。
CPS通過集成先進的感知、計算、通信、控制等信息技術和自動控制技術,構建了物理空間與信息空間中人、機、物、環境、信息等要素相互映射、適時交互、高效協同的復雜系統,實現系統內資源配置和運行的按需響應、快速迭代、動態優化。
CPS的體系架構:
- 單元級CPS:是具有不可分割性的CPS最小單元,是具備可感知、可計算、可交互、可延展、自決策功能的CPS最小單元,智能部件、一個工業機器人或一個智能機床都可能是一個CPS最小單元。比如智能家居中的智能燈泡
- 系統級CPS:多個最小單元(單元級)通過工業網絡(如工業現場總線、工業以太網等),實現更大范圍、更寬領域的數據自動流動,實現了多個單元級CPS的互聯、互通和互操作,進一步提高制造資源優化配置的廣度、深度和精度,包含互聯互通、即插即用、邊緣網關、數據互操作、協同控制、監視與診斷等功能,比如在汽車制造工廠中,生產線上的各種機器人和設備可以被視為系統級CPS。這些設備通過工業以太網連接,共享生產數據和控制信息。它們可以協同工作,自動調整生產速度和流程以適應需求的變化
- SoS級:多個系統級CPS的有機組合構成SoS級CPS。比如在一個智能城市中,多個系統級CPS(例如交通管理系統、能源管理系統、環境監測系統)可以組成SoS級CPS。這些系統級CPS共享數據,例如交通流量、能源消耗、空氣質量等,集成大數據分析和數據服務,城市可以實時監測和優化交通流量,實現節能減排,提供緊急事件響應等服務,整個城市成為一個智能的、協同工作的系統。
CPS技術體系主要分為:CPS總體技術、CPS支撐技術、CPS核心技術。
- CPS總體技術:就是CPS的頂層設計技術,主要包括:系統架構、異構系統集成、安全技術,試驗驗證技術等
- CPS支撐技術:就是基于CPS應用的支撐技術,主要包括:智能感知、嵌入式軟件、數據庫、人機交互、中間件、SDN(軟件定義網絡)、物聯網、大數據等
- CPS核心技術:就是是CPS的基礎技術,主要包括:虛實融合控制、智能裝備、MBD、數字孿生技術、現場總線、工業以太網、CAX MES\ERP\PLM\CRM\SCM等
上述技術體系可以分為四大核心技術要素即"一硬"(感知和自動控制)、“一軟”(工業軟件)、“一網”(工業網絡),“一平臺”(工業云和智能服務平臺)。
- 感知和自動控制是CPS實現的硬件支撐;
- 工業軟件固化了CPS計算和數據流程的規則,是CPS的核心;
- 工業網絡是互聯互通和數據傳輸的網絡載體;
- 工業云和智能服務平臺是CPS數據匯聚和支撐上層解決方案的基礎,對外提供資源管控和能力服務。
CPS的典型應用場景
智能設計
應用領域:產品及工藝設計、工廠設計
特點:大部分工作在虛擬空間中進行仿真,實現迭代和改進
實例:在汽車制造業中,設計師使用虛擬現實和仿真技術在虛擬空間中創建和測試不同車型的設計,模擬不同的工藝流程,測試零部件性能,優化設計。
智能生產
應用領域:生產過程管理
特點:打破信息孤島,實現設備互聯互通,生產過程監控,資源合理調度,優化生產計劃,資源和制造協同
實例:在智能制造工廠中,各種生產設備和機器人通過網絡連接,實現實時監控和數據共享,優化生產計劃和資源調度,提高生產效率。
智能服務
應用領域:本地與遠程云服務協作,個體與群體、群體與系統協同
特點:形成一體化工業云服務體系
實例:在醫療設備制造業中,設備與云服務連接,收集患者健康數據并進行遠程監控,檢測到異常情況時自動觸發警報,并將數據發送給醫生進行分析,提高患者安全性和醫療服務效率。
智能應用
應用領域:設計者、生產者和使用者的新價值創造
特點:轉變單調角色,創建新型價值鏈,促進產業鏈轉型,調動各參與者積極性,實現制造業轉型
實例:在農業領域,農民使用傳感器和自動化設備監測土壤濕度、氣溫、作物健康等信息,將這些數據與氣象數據和市場需求數據結合,制定最佳農業生產計劃。
CPS的建設路徑
CPS體系設計
內容:在這一階段,需要制定CPS的總體架構和設計方案,明確各個子系統的功能和相互關系。
目標:建立一個整體的CPS架構,確保各子系統能夠協同工作。
單元級CPS建設
內容:在這一階段,主要集中于單個設備或單元的CPS建設,包括傳感器、執行器和軟件系統的集成。
目標:實現單個設備或單元的智能化和網絡化,確保其能夠獨立運行并與其他設備進行數據交換。
系統級CPS建設
內容:在這一階段,重點在于將多個單元級CPS集成到一個完整的系統中,確保各單元之間的協同和數據共享。
目標:實現一個完整的、能夠協同工作的CPS系統,提升系統整體的智能化水平和效率。
SoS級CPS建設
內容:在這一階段,構建系統的系統(System of Systems, SoS),即多個CPS系統的集成,形成一個更大規模的、復雜的CPS網絡。
目標:實現多個CPS系統的協同工作,形成一個具有更高層次智能和更大規模應用的CPS生態系統。
人工智能
人工智能(AI)是利用數字計算機或者由數字計算機控制的機器來模擬、延伸和擴展人類智能,包括感知環境、獲取知識,并使用知識來獲得最佳結果的理論、方法、技術及應用系統。
目標:人工智能的目標是理解智能的本質,并生產出能夠以類似于人類智能的方式做出反應的智能機器。
研究領域:
- 機器人:開發能夠執行復雜任務的自主或半自主機械設備。
- 自然語言處理:使機器能夠理解和生成自然語言,以實現人機交互。
- 計算機視覺:使機器能夠理解和解釋視覺信息,如圖像和視頻。
- 專家系統:開發能夠模擬人類專家決策過程的系統。
分類:
- 弱人工智能:專注于特定任務,無法進行真正的理解和推理,只能在預設范圍內有效工作。
- 強人工智能:具有與人類同等的智能水平,能夠進行自主推理、思考和解決問題,目前仍處于理論和探索階段。
人工智能關鍵技術
- 自然語言處理(NLP)。研究實現人與計算機之間用自然語言進行有效通信的各種理論和方法。主要包括機器翻譯(從一種自然語言到另外一種自然語言的翻譯)、語義理解(利用計算機理解文本篇章內容,并回答相關問題)和問答系統(讓計算機像人類一樣用自然語言與人交流)等。比如機器翻譯是NLP的一個經典應用
- 計算機視覺。是使用計算機模仿人類視覺系統的科學,讓計算機擁有類似人類提取、處理、理解和分析圖像以及圖像序列的能力,將圖像分析任務分解為便于管理的小塊任務。比如車牌識別、人臉識別
- 知識圖譜。就是把所有不同種類的信息連接在一起而得到的一個關系網絡,提供了從"關系"的角度去分析問題的能力,谷歌知識圖譜是一個大規模的知識圖譜,它將世界上的各種信息組織成一個關系網絡,例如,當您在Google搜索中查找有關某個名人的信息時,知識圖譜可以提供與該名人相關的詳細信息、事件和關系,以幫助您更好地理解。
- 人機交互(HCI)。主要研究人和計算機之間的信息交換,比如觸摸屏界面是一種常見的人機交互方式
- 虛擬現實或增強現實(VR/AR)。以計算機為核心的新型視聽技術。結合相關科學技術,在一定范圍內生成與真實環境在視覺、聽覺等方面高度近似的數字化環境
- 機器學習(ML)。是以數據為基礎,通過研究樣本數據尋找規律,并根據所得規律對未來數據進行預測,目前,機器學習廣泛應用于數據挖掘、計算機視覺、自然語言處理、生物特征識別等領域。比如垃圾郵件過濾器
機器學習的分類及方法
按學習模式的不同,機器學習可分為
- 監督學習:需要提供標注的樣本集。
- 無監督學習:不需要提供標注的樣本集。
- 半監督學習:需要提供少量標注的樣本。
- 強化學習:需要反饋機制,根據環境反饋進行學習。
按學習方法的不同,機器學習可分為
- 傳統機器學習:領域特征需要手動完成,且需要大量領域專業知識。
- 深度學習:基于多層神經網絡,不需要人工特征提取,但需要大量的訓練數據集以及強大的GPU服務器來提供算力。更注重特征學習的重要性。
機器學習的常見算法
- 遷移學習:在某些領域無法取得足夠多的數據進行模型訓練時,利用另一領域數據獲得的關系進行的學習。
- 主動學習:通過一定的算法查詢最有用的未標記樣本,并交由專家進行標記,然后用這些樣本訓練分類模型來提高模型的精度。
- 演化學習:基于演化算法提供的優化工具設計機器學習算法,應用于分類、聚類、規則發現、特征選擇等機器學習與數據挖掘問題中。
人工智能目前典型應用:chatgpt、deepseek、豆包、grok
機器人
機器人技術已經準備進入4.0時代。所謂機器人4.0時代,就是把云端大腦分布在各個地方,充分利用邊緣計算的優勢,提供高性價比的服務,把要完成任務的記憶場景的知識和常識很好地組合起來,實現規模化部署。特別強調機器人除了具有感知能力實現智能協作,還應該具有一定的理解和決策能力,進行更加自主的服務。
我們目前的服務機器人大多可以做到物體識別和人臉識別。在機器人4.0時代,我們需要加上更強的自適應能力。
機器人4.0的核心技術
- 云﹣邊﹣端的無縫協同計算。云﹣邊﹣端一體的機器人系統是面向大規模機器人的服務平臺,信息處理和生成主要在云邊﹣端上分布處理完成。通常情況下,云側可以提供高性能的計算和知識存儲,邊緣側用來進一步處理數據并實現協同和共享。機器人端只用完成實時操作的功能。
- 持續學習與協同學習。希望機器人可以通過少量數據來建立基本的識別能力,然后可以自主地去找到更多的相關數據并進行自動標注,然后用這些自主得到的數據來對自己已有的模型進行重新訓練來提高性能。
- 知識圖譜,需要更加動態和個性化的知識;需要和機器人的感知與決策能力相結合。
- 場景自適應。主動觀察場景內人和物之間的變化,預測可能發生的事件,從而影響之后的行動模式,這個技術的關鍵問題在于場景預測能力。就是機器人通過對場景內的各種人和物進行細致的觀察,結合相關的知識和模型進行分析,并預測之后事件即將發生的時間,改變自己的行為模式。
- 數據安全,既要保證端到端的安全傳輸,也要保障服務器端的安全存儲。
如果按照要求的控制方式分類,機器人可分為操作機器人、程序機器人、示教再現機器人、智能機器人和綜合機器人。
- 操作機器人,典型代表是在核電站處理放射性物質時遠距離進行操作的機器人。
- 程序機器人,可以按預先給定的程序、條件、位置進行作業。比如工業生產線上的焊接機器人。
- 示教再現機器人。機器人可以將所教的操作過程自動地記錄在磁盤、磁帶等存儲器中,當需要再現操作時,可重復所教過的動作過程。示教方法有直接示教與遙控示教兩種。比如醫療手術機器人,外科醫生可以使用機器人執行復雜的手術,并將這些操作記錄下來。當需要再次執行相同的手術時,機器人可以重復之前示教的動作過程,以保持手術的準確性和精確性。
- 智能機器人。既可以進行預先設定的動作,還可以按照工作環境的改變而變換動作。比如家用掃地機器人是智能機器人的一個示例。它們可以根據環境的改變自主決策和動作。這些機器人配備了傳感器和算法,可以避開障礙物、自動充電并根據不同的房間布局規劃清掃路徑。
- 綜合機器人,由操縱機器人、示教再現機器人、智能機器人組合而成的機器人,如火星機器人,整個系統可以看作是由地面指令操縱的操作機器人。
如果按照應用行業來分,機器人可分為工業機器人、服務機器人和特殊領域機器人。
邊緣計算
邊緣計算是一種分布式計算模型,其核心理念是將計算資源和數據存儲放置在物理世界的邊緣,靠近數據源和終端設備。這種方式旨在降低延遲、提高性能,并更好地滿足實時性需求。
主要目標
- 降低延遲:通過在本地處理數據,減少與遠程云計算的通信時間。
- 提高性能:將計算功能放置在接近數據源的位置,提高數據處理的效率和實時性。
- 滿足實時性要求:實現高效的本地數據處理,滿足實時應用需求。
應用場景舉例:智能城市中的交通管理
-
場景描述:
傳感器和攝像頭:安裝在交通信號燈附近,用于監測交通流量和交通情況。 邊緣計算設備:如邊緣服務器,安裝在信號燈控制器旁邊,實時分析和處理傳感器和攝像頭捕獲的數據。
-
功能實現:
實時數據分析:邊緣計算設備能夠實時分析交通流量和情況。 智能調整信號燈:根據實時數據,智能地調整交通信號的時序,優化交通流量,減少擁堵。
邊緣計算將數據的處理、應用程序的運行甚至一些功能服務的實現,由網絡中心下放到網絡邊緣的節點上。在網絡邊緣側的智能網關上就近采集并且處理數據,不需要將大量未處理的原生數據上傳到遠處的大數據平臺。
采用邊緣計算的方式,海量數據能夠就近處理,大量的設備也能實現高效協同的工作,諸多問題迎刃而解。因此,邊緣計算理論上可滿足許多行業在敏捷性、實時性、數據優化、應用智能,以及安全與隱私保護等方面的關鍵需求。
邊緣計算的業務本質是云計算在數據中心之外匯聚節點的延伸和演進,主要包括云邊緣、邊緣云和云化網關三類落地形態;以"邊云協同"和"邊緣智能"為核心能力發展方向。
云邊緣:是指在邊緣設備(例如傳感器、攝像頭、工業機器等)附近部署的小型計算節點,通常位于數據源的最近位置,這些節點可以處理、分析和存儲數據,并執行本地計算任務。比如智能監控攝像頭可以檢測異常情況,如交通事故或可疑行為,而無需將所有數據傳輸到遠程云數據中心。這減少了通信延遲,提高了響應速度。
邊緣云:是一種云計算模型,將云服務部署到靠近數據源和終端設備的邊緣位置。邊緣云通常包括較大規模的計算資源,可以處理多個邊緣設備的數據,比如邊緣數據中心。
注意:云邊緣更側重于在邊緣設備上執行實時計算和響應,而邊緣云是將云計算資源推送到離數據源更近的位置,以處理更大規模的邊緣計算任務。
云化網關:以云化技術與能力重構原有嵌入式網關系統(是一種將網絡功能虛擬化并將其作為云服務提供的網關),比如工廠自動化控制系統,云化網關可以用于連接和控制各種工廠備。這些網關設備位于工廠內部,負責與各種傳感器、機器和生產設備通信。它們將實時數據傳輸到本地邊緣計算節點,這些節點可以進行實時數據分析和設備控制。同時,云化網關還將數據上傳到遠程云平臺,用于生產計劃、維護管理和質量控制。這種方式實現了工廠自動化的高效運營,并滿足了實時監控和長期數據分析的需求。
邊緣計算具有以下特點:
- 聯接性:聯接性是邊緣計算的基礎。所聯接物理對象的多樣性及應用場景的多樣性,需要邊緣計算具備豐富的聯接功能。
- 數據第一入口:邊緣計算作為物理世界到數字世界的橋梁,是數據的第一人口,擁有大量、實時、完整的數據,可基于數據全生命周期進行管理與價值創造,將更好的支撐預測性維護、資產效率與管理等創新應用。
- 約束性:邊緣計算產品需適配工業現場相對惡劣的工作條件與運行環境,如防電磁、防塵.防爆、抗振動、抗電流/電壓波動等,在工業互聯場景下,對邊緣計算設備的功耗、成本、空間也有較高的要求。
- 分布性:邊緣計算實際部署天然具備分布式特征,這要求邊緣計算支持分布式計算與存儲、實現分布式資源的動態調度與統一管理、支撐分布式智能,具備分布式安全等能力。
邊云協同:邊緣計算與云計算各有所長,云計算擅長全局性、非實時、長周期的大數據處理與分析,能夠在長周期維護、業務決策支撐等領域發揮優勢:邊緣計算更適用局部性、實時、短周期數據的處理與分析,能更好地支撐本地業務的實時智能化決策與執行。
邊緣計算既靠近執行單元,更是云端所需高價值數據的采集和初步處理單元,可以更好地支撐云端應用,而云計算則是通過大數據分析優化輸出的業務規則或模型可以下發到邊緣側,邊緣計算基于新的業務規則或模型運行,兩者相輔相成,主要包括六種協同:
- 資源協同:邊緣節點提供計算、存儲、網絡、虛擬化等基礎設施資源、具有本地資源調度管理能力,同時可與云端協同,接受并執行云端資源調度管理策略,包括邊緣節點的設備管理、資源管理以及網絡連接管理。
- 數據協同:邊緣節點主要負責現場/終端數據的采集,按照規則或數據模型對數據進行初步處理與分析,并將處理結果以及相關數據上傳給云端:云端提供海量數據的存儲、分析與價值挖掘。
- 智能協同:邊緣節點按照A模型執行推理,實現分布式智能:云端開展AI的集中式模型訓練,并將模型下發邊緣節點。
- 應用管理協同:邊緣節點提供應用部署與運行環境,并對本節點多個應用的生命周期進行管理調度:云端主要提供應用開發、測試環境,以及應用的生命周期管理能力。
- 業務管理協同:邊緣節點提供模塊化、微服務化的應用/數字孿生/網絡等應用實例:云端主要提供按照客戶需求實現應用、數字孿生、網絡等的業務編排能力,
- 服務協同:邊緣節點按照云端策略實現部分ECSaaS服務,通過ECSaas與云端Saas的協同實現面向客戶的按需Saas服務:云端主要提供Saas服務在云端和邊緣節點的服務分布策略,以及云端承擔的Saas服務能力。
邊緣計算的應用場合(既有中央控制中心,又有分支設備):智慧園區、安卓云與云游戲、視頻監控、工業互聯網、智慧醫療。
邊云協同架構通常包括以下幾層:
- 邊緣層:位于網絡邊緣,負責收集數據、進行初步處理和存儲。
- 霧層:位于邊緣層和云層之間,負責數據的聚合、轉發和處理。
- 云層:位于網絡中心,負責提供強大的計算、存儲和網絡資源。
邊云協同架構設計面臨以下幾個挑戰:
- 異構性:邊緣設備、網絡和云平臺存在異構性,需要統一管理和調度。
- 延遲:邊緣計算需要滿足低延遲要求,需要優化網絡架構和數據處理流程。
- 安全性:邊云協同系統需要保障數據安全和隱私。
針對上述挑戰,可以采取以下解決方案:
- 虛擬化:將邊緣計算資源虛擬化,以便于統一管理和調度。
- 容器化:將應用打包成容器,以便于在不同平臺上部署和運行。
- 微服務:將應用拆解成微服務,以便于彈性擴展和故障處理.
- 軟件定義網絡(SDN):使用SDN技術可以靈活控制網絡流量,降低延遲。
- 安全技術:使用安全技術保障數據安全和隱私,例如加密、身份認證、訪問控制等。
數字孿生體
數字孿生體技術是通過創建虛擬的物理對象的數字模型,并使用實時數據對其進行更新,以反映物理對象的真實狀態,從而實現跨層級、跨尺度的現實世界和虛擬世界的溝通橋梁。
數字孿生體是現有或將有的物理實體對象的數字模型,通過實測、仿真和數據分析來實時感知、診斷、預物理實體對象的狀態,通過優化和指令來調控物理實體對象的行為,通過相關數字模型間的相互學習來進化自身,同時改進利益相關方在物理實體對象生命周期內的決策。
關鍵技術:
- 建模,建模的目的是將我們對物理世界的理解進行簡化和模型化,而數字孿生體的目的或本質是通過數字化和模型化,用信息換能量,以使少的能量消除各種物理實體、特別是復雜系統的不確定性,需求指標、生存期階段和空間尺度構成了數字孿生體建模技術體系的三維空間。
- 仿真,如果說建模是模型化我們對物理世界或問題的理解,那么仿真就是驗證和確認這種理解的正確性和有效性。所以,數字化模型的仿真技術是創建和運行數字孿生體、保證數字孿生體與對應物理實體實現有效閉環的核心技術。仿真是將包含了確定性規律和完整機理的模型轉化成軟件的方式來模擬物理世界的一種技術。只要模型正確,并擁有了完整的輸入信息和環境數據,就可以基本準確地反映物理世界的特性和參數。
數字孿生體的應用:
- 制造業:用于產品設計、制造、維護等環節,例如,在產品設計階段,可以利用數字孿生技術進行虛擬樣機測試,以減少設計缺陷;在制造階段,可以利用數字孿生技術進行生產過程監控,以提高生產效率;在維護階段,可以利用數字孿生技術進行故障預測,以降低維護成本。
- 能源:用于電網、風力發電等設施的管理,例如,在電網管理中,可以利用數字孿生技術進行電網運行模擬,以提高電網的穩定性和安全性:在風力發電中,可以利用數字孿生技術進行風力發電機組的故障預測,以提高發電效率。
- 醫療:用于手術規劃、康復治療等環節。例如,在手術規劃中,可以利用數字孿生技術進行虛擬手術,以提高手術的成功率;在康復治療中,可以利用數字孿生技術進行康復訓練,以提高康復效果。
云計算
云計算是一種通過互聯網(云)提供計算資源和服務的模式,用戶可以通過互聯網按需獲取和使用計算資源,而無需自行建立和維護物理硬件設備。云計算基于虛擬化技術,通過將計算、存儲、網絡等資源集中管理和分配,為用戶提供靈活、可擴展、按需付費的計算服務。
特點:
- 按需自助服務:用戶可以根據需要自主獲取、配置和使用計算資源,無需依賴供應商或管理員進行手動干預。
- 廣泛網絡訪問:用戶可以通過互聯網隨時隨地訪問云計算資源和服務,無需局限于特定地點或設備。
- 資源共享:云計算通過資源共享和多租戶模式,使得多個用戶可以共享同一組計算資源,提高資源利用率和成本效益。
- 快速彈性:用戶可以根據業務需求快速調整計算資源的規模和容量,實現快速擴展或縮減,以適應業務的變化和波動。
- 可度量服務:云計算提供了精確的計費和計量機制,用戶只需支付實際使用的資源量,避免了不必要的浪費和額外開支。
- 服務模式多樣:云計算提供了各種服務模式,包括基礎設施即服務(IaaS)、平臺即服務(PaaS)、軟件即服務(SaaS)等,滿足不同用戶的需求。
概念的內涵
平臺
基礎設施:云計算平臺相當于PC上的操作系統,是云計算應用程序運行的基礎。
構建依賴:云計算應用程序需要構建在云計算平臺之上。
應用
計算與存儲:云計算應用所需的計算與存儲資源通常在“云端”完成。
訪問方式:客戶端通過互聯網訪問云端的計算與存儲能力。
服務方式
基礎設施即服務(IaaS)
IaaS模式下,服務提供商將服務器組成的“云端”基礎設施作為計量服務提供給客戶。
服務內容:包括內存、IO設備、存儲和計算能力等,整合為一個虛擬資源池,提供存儲資源、虛擬化服務器等服務。
示例:選擇云端不同配置的服務器。
平臺即服務(PaaS)
PaaS模式下,服務提供商將分布式開發環境與平臺作為一種服務提供。
服務內容:提供開發環境、服務器平臺、硬件資源等服務,客戶在服務提供商平臺上定制開發自己的應用程序,并通過其服務器和互聯網傳遞給其他客戶。
示例:在線編程、在線辦公軟件。
軟件即服務(SaaS)
SaaS模式下,服務提供商將應用軟件統一部署在云計算平臺上,客戶通過互聯網訂購應用軟件服務。
服務內容:根據客戶訂購的軟件數量、時間長短等收費,通過標準瀏覽器向客戶提供應用服務。
示例:百度云盤等。
三者比較:
- 靈活性: SaaS < PaaS < IaaS(靈活性依次增強)
- 方便性: IaaS < PaaS < SaaS(方便性依次增強)
部署模式
公有云 (Public Cloud)
定義:云基礎設施是公開的,可以自由地分配給公眾使用。
適用對象:企業、學術界、政府機構等。
特點:低廉的價格、廣泛的可用性。
優點:為最終用戶提供有吸引力的服務,創造新的業務價值。
社區云 (Community Cloud)
定義:云基礎設施專屬于一些社區組織,這些組織具有共同的任務、安全需求、政策等信息。
管理方式:由社區內的一個或多個組織擁有、管理及操作。
特點:為特定社區提供定制化服務,是公有云的一個組成部分。
私有云 (Private Cloud)
定義:云基礎設施分配給單個組織使用,包含多種用戶。
管理方式:可以由該組織或其他第三方組織擁有、管理及操作。
特點:提供更高的安全性和控制,適合需要嚴格數據保護的企業。
混合云 (Hybrid Cloud)
定義:公有云、私有云和社區云的組合。
適用場景:由于安全和控制原因,并非所有企業信息都能放置在公有云上,因此企業通常使用混合云模式。
優點:結合了公有云的靈活性與私有云的安全性,滿足不同業務需求。
大數據
大數據是指其大小或復雜性無法通過現有常用的軟件工具,以合理的成本并在可接受的時限內對其進行捕獲.管理和處理的數據集。這些困難包括數據的收入、存儲、搜索、共享、分析和可視化。
大數據的特點:大規模、高速度、多樣化、可變性、復雜性等。
大數據分析的分析步驟:
- 數據獲取/記錄:從各種來源收集原始數據,并對其進行記錄和存儲。
- 信息抽取/清洗:從原始數據中提取有用信息,并對數據進行清洗和注解,使之標準化和結構化。
- 數據集成/聚集/表現:將來自不同來源的數據進行整合、聚集,并以合適的形式表現出來。
- 數據分析/建模:對整理后的數據進行深入分析和建模,挖掘數據中的模式和關聯。
- 數據解釋:對分析結果進行解讀,得出實際意義和業務洞見,幫助決策制定。
大數據分析的步驟包括數據獲取/記錄、信息抽取/清洗/注記、數據集成/聚集/表現、數據分析/建模和數據解釋五個主要階段。每個階段都有特定的任務和工具,幫助從數據中提取有價值的洞見,輔助決策制定和業務優化。
大數據應用領域:制造業、服務業、交通行業、醫療行業。
區塊鏈
區塊鏈是一種分布式數據庫技術,以區塊的形式按時間順序鏈接在一起,形成了一個不斷增長的、不可篡改的記錄鏈。
每個區塊包含了一批數據(區塊頭:包含區塊的版本號、時間戳、上一個區塊的哈希值等信息,交易信息:包含交易雙方、交易時間、交易內容等信息.),這些數據通過密碼學(哈希函數)技術連接在一起,形成一個鏈條。這個技術最初是為了支持比特幣這種加密貨幣而設計的,但現在已經被廣泛應用在其他領域。它的核心特性包括:
- 去中心化:區塊鏈的數據不存儲在單一的中心服務器上,而是分布在網絡的各個節點上,每個節點都有該鏈的完整副本,這意味著沒有一個中心機構能夠控制或篡改整個數據庫。
- 不可篡改性:一旦數據被寫入區塊鏈,就幾乎不可能被修改或刪除。這是因為每個區塊都包含了前一個區塊的哈希值,形成了一個不可逆的鏈條結構,任何篡改都會立即被其他節點檢測出來。
- 透明性:區塊鏈中的數據是公開可見的,所有參與者都可以查看和驗證數據,從而增加了數據的透明度和可信度。
- 安全性:區塊鏈使用了加密技術確保數據的安全性,使得交易和信息在傳輸和存儲過程中更加安全可靠。
- 智能合約:智能合約是基于區塊鏈的自動化合約,能夠自動執行合約條款,無需中介機構,提高了交易的效率和可靠性、
區塊鏈的原理:
- 安全性:區塊鏈的安全性是建立在密碼學原理上的,包括哈希函數、非對稱加密等技術,確保數據的完整性和不可篡改性.
- 共識機制:共識機制確保了網絡中各個節點對交易記錄的一致性認可,從而防止了雙重支付等問題.
- 分布式存儲:區塊鏈采用分布式存儲方式,數據存儲在多個節點上,避免了單點故障和數據丟失的風險。
- 智能合約:智能合約是一種在區塊鏈上執行的自動化合約,其中包含了預先編寫好的代碼邏輯,可以自動執行合約條款、
區塊鏈的應用場景:(注重安全和透明)
- 金融:可以用于構建去中心化金融系統,例如數字貨幣、交易所等。
- 供應鏈:可以用于追蹤貨物運輸過程,提高供應鏈透明度.
- 醫療:可以用于存儲和管理醫療數據,保障數據安全和隱私。
- 物聯網:可以用于連接和管理物聯網設備,實現物聯網安全。
數學與經濟管理
最小生成樹
最小生成樹(Minimum Spanning Tree, MST)是圖論中的一個重要概念,主要用于連通圖的邊權重優化問題。具體來說,最小生成樹是一個無向加權連通圖的一個子圖,它具有以下特性:
- 連通性:包含圖中所有的頂點,并確保這些頂點仍然連通。
- 無環性:不包含任何環路(亦即是一個樹結構)。
- 權值最小:在所有可能的生成樹中,其邊的權值總和最小。
最短路徑
最短路徑(Shortest Path)是圖論中的一個重要概念,指的是在一個加權圖中,從起始頂點到目標頂點的路徑中,所有路徑中權重和最小的一條。最短路徑問題在計算機科學、網絡設計、交通規劃和物流管理等領域有廣泛的應用。
最短路徑問題的分類
- 單源最短路徑:找到從單個起始頂點到圖中所有其他頂點的最短路徑。
- 單對最短路徑:找到從一個特定起始頂點到另一個特定目標頂點的最短路徑。
- 多源最短路徑:找到圖中每對頂點之間的最短路徑。
網絡與最大流量
網絡與最大流量問題是圖論中的一個重要概念,主要用于計算在一個流網絡中從源節點(起點)到匯節點(終點)可以傳輸的最大流量。這個問題在交通運輸、計算機網絡、供水系統等領域有廣泛的應用。
- 流網絡:是一個有向圖,其中每條邊都有一個非負容量,表示該邊所能承載的最大流量。
- 源節點(s)和匯節點(t):源節點是流量的起點,匯節點是流量的終點。
- 流量(Flow):是從源節點到匯節點所實際傳輸的量。對于任何一條邊,流量不能超過其容量。
- 容量約束:對于每條邊 (u,v),流量 f(u,v) 必須滿足 f(u,v) ≤ c(u,v),其中 c(u,v) 是邊的容量。
- 流量守恒:對于除源節點和匯節點之外的所有節點,進入該節點的流量之和必須等于離開該節點的流量之和。
線性規劃
線性規劃(Linear Programming, LP)是數學優化問題中的一種特殊形式,它用于在給定約束條件下,最大化或最小化線性目標函數。線性規劃廣泛應用于經濟學、工程學、管理科學、運營研究等領域,用于解決各種優化問題,如資源分配、生產計劃、運輸問題等。
博弈論
博弈論(Game Theory)是一門研究決策者(通常稱為玩家)在相互作用情境中如何做出最佳決策的理論。它涉及數學和經濟學的交叉領域,分析個體或團體在不同策略下的行為和結果。
根據玩家的策略空間、信息的完整性和博弈的次數進行分類:
- 完全信息博弈(Perfect Information Games):所有玩家對博弈的結構和其他玩家的策略完全了解。
- 不完全信息博弈(Imperfect Information Games):玩家對博弈的某些信息不了解,通常涉及概率分布。
- 靜態博弈(Static Games):所有玩家同時選擇策略,不知曉對方的選擇。
- 動態博弈(Dynamic Games):玩家按順序選擇策略,可能觀察到對方的部分或全部選擇。
- 合作博弈(Cooperative Games):玩家可以形成聯盟,共同決定策略以最大化聯盟的總收益。
- 非合作博弈(Non-Cooperative Games):玩家獨立決策,通常假設玩家之間沒有信任和合作。
狀態轉移矩陣
狀態轉移矩陣(Transition Matrix),也叫轉移矩陣,是在馬爾可夫鏈(Markov Chain)等隨機過程的研究中用來描述系統從一個狀態轉移到另一個狀態的概率的矩陣。它在描述離散時間馬爾可夫鏈(DTMC)和連續時間馬爾可夫鏈(CTMC)中廣泛應用。
應用:
- 經濟和金融:用于建模資產價格的變化、信用評級的變化等。
- 計算機科學:用于分析算法性能、網頁排名(如 PageRank 算法)等。
- 生物學:用于基因狀態的轉移、種群動態等。
- 工程:用于可靠性分析、系統仿真等。
排隊論
排隊論(Queueing Theory)是研究排隊系統(或服務系統)性能和行為的數學理論。排隊系統廣泛存在于各類實際場景中,如計算機網絡中的數據包傳輸、銀行或超市的顧客服務、制造系統中的生產線等等。排隊論的目標是分析和優化這些系統,以提高效率和減少等待時間。
決策樹
決策樹(Decision Tree)是一種常用于分類和回歸任務的機器學習模型。它以樹狀結構表示決策過程,其中每個內部節點表示一個特征或屬性的測試,每個分支表示測試結果的輸出,而每個葉節點表示一個類別標簽或回歸值。決策樹的目的是通過一系列的決策將數據集劃分成更小的子集,從而達到分類或預測的目的。
組成部分
- 根節點(Root Node):樹的頂端節點,代表整個數據集。它通過一個特征的測試將數據集劃分到不同的子節點。
- 內部節點(Internal Nodes):表示對某個特征進行的測試,每個內部節點有一個或多個分支。
- 葉節點(Leaf Nodes):表示分類結果或回歸值。樹的末端節點,葉節點沒有子節點。
- 分支(Branches):從一個節點到下一個節點的路徑,表示特征測試的結果。
類型
- 分類樹(Classification Tree):用于分類任務,葉節點表示類別標簽。
- 回歸樹(Regression Tree):用于回歸任務,葉節點表示連續的數值。
知識產權與標準化
知識產權概述
知識產權是指公民、法人、非法人單位對自己的創造性智力成果和其他科技成果依法享有的民事權利。它包括智力成果的創造人依法享有的權利和在生產經營活動中標記所有人依法享有的權利的總稱。知識產權的具體種類包括:
- 著作權
- 專利權
- 商標權
- 商業秘密權
- 植物新品種權
- 集成電路布圖設計權
- 地理標志權
**知識產權的特性:**無體性、專有性、地域性、時間性
權利類型和保護期限
公民作品:署名權、修改權、保護作品完整權;保護期限:沒有限制
公民作品:發表權、使用權和獲得報酬權;保護期限:作者終生及其死亡后的50年(第50年的1 2月31日)
單位作品:發表權、使用權和獲得報酬權;保護期限:50年(首次發表后的第50年的12月31日),若其間未發表,不保護。
公民軟件產品:署名權、修改權 沒有限制 發表權、復制權、發行權、出租權、信息網 絡傳播權、翻譯權、使用許可權、獲得報酬 權、轉讓權;保護期限:作者終生及死后50年(第50年12月31日),合作開發,以最后死亡作 者為準。
單位軟件產品:發表權、復制權、發行權、出租權、信息網 絡傳播權、翻譯權、使用許可權、獲得報酬 權、轉讓權;保護期限:50年(首次發表后的第50年的12月31日),若其間未發表,不保護 。
注冊商標 - 保護期限:有效期10年(若注冊人死亡或倒閉1年后,未轉移則可注銷,期滿后6 個月內必須續注) 。
發明專利權 - 保護期限:保護期為20年(從申請日開始) 。
實用新型和外觀設計專利權 - 保護期限:保護期為10年(從申請日開始) 。
商業秘密 - 保護期限:不確定,公開后公眾可用。
知識產權歸屬
作品:除署名權外其他著作權歸單位
軟件:單位享有著作權
專利權:單位享有著作權
單位和委托的區別在于,當合同中未規定著作權的歸屬時,著作權默認歸于單位,而委托創作中,著作權默認歸屬于創作方個人。
侵權判斷與標準化分
著作權概述:
- 著作權享有:中國公民、法人或者其他組織的作品,不論是否發表,都享有著作權。
- 不受保護的內容:發軟件所用的思想、處理過程、操作方法或者數學概念不受著作權保護。
著作權法不適用的情形:
- 法律和官方文件:法律、法規、國家機關的決議、決定、命令和其他具有立法、行政、司法性質的文件,以及其官方正式譯文。
- 時事新聞:純粹的時事新聞。
- 公共資源:歷法、通用數表、通用表格和公式。
商業秘密:
- 構成條件:未公開、能為權利人帶來利益、保密性.
- 商業秘密無固定的保密時間,一般由企業自行規定,且不能延長
商標權:
"近似商標"是指文字、數字、圖形、三維標志或顏色組合等商標的構成要素的發音、視覺、含義或排列順序及整體結構上雖有一定區別,但又使人難以區分,容易產生混淆的商標。會產生商標侵權,故不能同時注冊。由雙方協商決定,協商未果后采用抽簽方式決定。
引用資料:
- 只能引用發表的作品,不能引用未發表的作品;
- 只能限于介紹、評論作品;
- 只要不構成自己作品的主要部分,可適當引用資料,并且不必征得原作者的同意,不需要向他支付報酬。