雲端運算
分散式儲存
租約: 解決分散式快取一致性問題
介紹
儲存:HDD+ nonvolatile memory+ RAID
file system:Microsoft FAT+ NTFS+ under Linux
NFS: Network FileSystem 的縮寫,透過網路,讓不同的機器、不同的作業系統、可以彼此分享個別的檔案 (share files)看做是一個檔案伺服器 (file server)
讓你的 PC 來將網路遠端的 NFS 伺服器分享的目錄,掛載到本地端的機器當中, 在本地端的機器看起來,那個遠端主機的目錄就好像是自己的一個磁碟分割槽一樣 (partition)
GFS=google file system:專有分散式檔案系統,由Google公司開發,運行於Linux平台上
專為google app,can't use microsoft system
了解客戶端模式
5種觀念
大型檔案存取
現成檔案但須新增東東在結尾:block connect block
串流閱讀
高容錯率
重產量,可延遲
5種設計
fix size(64MB):chunk存取
存一個chunk複製3個在不同server 裡面,防止遺失
不須data caching,因為串流
單一master+keep metadata+ mutiple chunkserver
simple like:delete
名詞解釋
存取巨量資料塊的程式首先查詢主伺服器得到所要資料塊的位置,如果巨量資料塊沒有進行操作(沒有重要的租約),主伺服器回答巨量資料塊的位置,然後程式就可以直接與chunkserver進行聯絡接收資料
metadata
元資料、中介資料、中繼資料、後設資料,為描述資料的資料
T1~100,if T60 is dead,consider T61 以後
mutation
寫或附加
將master involvement 最小化
描述資料屬性(property)的資訊,用來支援如指示儲存位置、歷史資料、資源尋找、檔案記錄
lease mechanism: 租約機制
master責任
store metadata
garbage collection
stale replica deietion: 回收到期的租約
一致性問題(consistency)是獨立的節點間如何達成決議的問題,選出大家都認可的leader本質上也是一致性問題,因而如何應對當機恢復、網路分化等在leader選舉中也需要考量。
Bully演算法 [1]是最常見的選舉演算法,其要求每個節點對應一個序號,序號最高的節點為leader。leader當機後次高序號的節點被重選為leader
網路分化的場景下以上Bully演算法會遇到一個問題,被分隔的節點都認為自己具有最大的序號、將產生多個leader,這時候就需要引入多數派(quorum)
假如節點總數為2f+1,則一項決議得到多於 f 節點贊成則獲得通過。leader選舉中,網路分化場景下只有具備多數派節點的部分才可能選出leader,這避免了多leader的產生
是每次租約時長內只有一個節點獲得租約、到期後必須重新頒發租約。假設我們有租約頒發節點Z,節點0、1和2競選leader,租約過程如下:
(a). 節點0、1、2在Z上註冊自己,Z根據一定的規則(例如先到先得)頒發租約給節點,該租約同時對應一個有效時長;這裡假設節點0獲得租約、成為leader
(b). leader當機時,只有租約到期(timeout)後才重新發起選舉,這裡節點1獲得租約、成為leader
租約機制確保了一個時刻最多隻有一個leader,避免只使用心跳機制產生雙主的問題。在實踐應用中,zookeeper、ectd可用於租約頒發
在分散式系統理論和實踐中,常見leader、quorum和lease的身影。分散式系統內不一定事事協商、事事民主,leader的存在有助於提升決議效率
人工智慧
BDI應用:掃地機器人
螞蟻演算法
最有效率途徑
一種舊式AI
KOLB 循環:從經驗中學習
reflective observation
concrete experience
抽象
active experience
machine learning
從資料中學習,找出規律
目的:解決問題的函數
input+output一對一或多對一
artificial intelligence向下machine learning向下deep learning
use 演算法
嘗試+評估+改善方法
設定要學習的範圍:函數集合
從錯誤中淘汰不是用的解決方法
選擇最佳結果
監督式學習: 會給正確解答=從測驗卷:過去收盤價/答案:標籤明收盤價=有參考資料=題目與解答間的關係=學生學習方式
透過關係來預測
淺層:支持向量機,低維度資料拉到高維度便可切分
階層式分群法:不須標籤
K-means分群法:從點之間的距離判斷
AI_深度學習
LOSS最低:最佳函數
定義函數值
evaluate and search:loss為學習指標
連鎖率:反向傳播
梯度下降
應用
convolution:CNN處理圖像編碼+LSTM註解:圖像轉文字敘述
表徵學習+物件辨識
專案上線: 軟硬整合/小心偏見
雲端2
微服務架構
更敏捷彈性+ 基於分散式架構之上
軟體開發流程
軟體架構風格
單體式VS 微服務
拆解: 在微服務切分時,技術議題不放在第一位。或許,有些服務可能在不同流程或階段需求會被重複利用,但在微服務的架構設計實務上,不會過早討論技術上重複利用(Reusable)的議題
Docker VS k8s:kubernetes
軟體工程: 延伸自建築工程,寫程式只是一環
產生軟體危機: 時間+經費+不可控因素+刁難要求
goal: 提升產能+改善品質+ 團隊合作
瀑布式: 從客戶角度思考軟體需求+ 系統架構模組資料庫+交給工程師寫code+測試+系統維護
V MODEL: 開發者對應測試者的life cycle
solve 需求在開發過程中被扭曲:敏捷宣言
重視與客戶互動
回應變化
軟體可行性
AGILE: 分解成不同週期,固定與客戶確認
scrum: finished+ doing+future故事卡
kanban
extreme programming
定義: 元件間如何互動,可重複使用
高內聚力
microkernel:模組間透過介面溝通
可測試,找出潛在錯誤
優點:易擴充+易改變
功能性需求VS 好或不好
多層次
server through internet give client
logic tier: 處理指令+查詢
儲存資料庫回傳前端:last
peer to peer: 檔案分散各地,某一節點斷裂還可聯繫
event driven: like Line,不須即時回應
service be developed by different language
own itself database
微優點: 避免資源需求的聯集造成的浪費+ 應用模組化,各對應API+獨立部署
scale cube:XYZ軸,對X軸做副本
SOA: (服務導向架構)透過服務介面讓軟體元件可重複使用的方式。 這些介面利用共同的通訊標準,讓它們能夠快速併入新應用程式,無需每次執行深度整合。
SOA 中的每一項服務都包含執行完整的個別商業功能(例如,檢查客戶的信用、計算每月的貸款支付,或處理抵押貸款申請)
數位科技參與+商業環境分析
商業創新: 以消費者的角度思考
自動化轉型: 提升效率+產生價值
數位化轉型:創新模式+產生價值
social
mobility
cloud
analyze
解決痛點
陳述方案:模仿做事的方法+ 探索痛點: 改進優化+ 引領思路: 沒有人試過
不為過去沾沾自喜
Don't limit the future
期貨對沖,降低風險
工業4.0
趨勢整合
cyber physical system: 卓越營運
digital transformation:顧客關係
digital twin: 產品領導
系統性自主生產
可與人合作: OSP
在什麼情況下造成危害
精確模擬
判斷是否因惡劣環境影響
功能整合
整合方式
水平:全球供應鏈
垂直:彈性生產+及時下單
一致性:貫穿生命週期的系統工程
5願景
自主化:機器人+SAL=整體上跨物流+內部物流
smart product: 可識別性+隨時定位
value-added:VBS=value base service
以人為本
訊息透明化:TAP=transparency of product
SP2:智慧工廠生產智慧產品+IPD: 創新產品開發,且用對的方法
CRE: 循環經濟
RAMI 4.0
reference architecture model for industrie: CPPS偕同生產
CPPS結構層
資產層
integration:類比訊號轉數位訊號
通訊層: 及時OPCUA串聯,將下面資訊傳上去
information
產品生命週期
AAS架構
組件
用於描述的統一模型
管理外殼:中央數據庫來存取
safe 通訊介面
admistration shell
3.0 :自動化 VS 4.0 :AI多樣少量+智慧化+服務化
企業數位轉型+人才需求
運用數位技術幫組織達成永續經營
三階段
數位化: data save in cloud
數位優化: 順著環境調整過程
數位轉型: 須修正作業流程,例如麥當勞點餐機從點餐到取餐不需經店員之手,有需求就使用
智慧製造:工廠+生產+物流
製造業
iMESH: 聯網+ 無線場域
MES+APS: 排程最佳化+人員產值
NIP: 遠端監控+ 生產可視化
數據分析
IT+OT:資訊整合
AIOT
artificial inteiligence
推理+知識+規劃+溝通+感知
基礎+技術:Tensorflow+應用層
big data
制定策略
確定關鍵區域
數據定位
蒐集+分析
將洞察轉為行動
以數據推動決策
深度學習屬於機器學習,不過更複雜。它類似給機器裝了一個大腦,這個大腦裡也有由大量的神經元組成的多層系統,可以通過大量的數據訓練來處理複雜的機器學習任務