雲端運算

分散式儲存

螢幕擷取畫面 (397)

租約: 解決分散式快取一致性問題

介紹

儲存: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

制定策略

確定關鍵區域

數據定位

蒐集+分析

將洞察轉為行動

以數據推動決策

深度學習屬於機器學習,不過更複雜。它類似給機器裝了一個大腦,這個大腦裡也有由大量的神經元組成的多層系統,可以通過大量的數據訓練來處理複雜的機器學習任務