MTOM以及在WCF中的應用

2021-09-05 23:21:28 字數 1860 閱讀 6073

關於mtom的基本概念

提到mtom訊息優化傳輸機制,通常的實驗結果是使用mtom傳輸資料會提高大約33%的效能。 訊息傳輸優化機制 (mtom) 標準允許將訊息中包含的大型資料元素外部化,並將其作為無任何特殊編碼的二進位制資料隨訊息一起傳送。mtom 訊息會打包為多部分/相關 mime 序列,放在soap 訊息中一起傳送。

我們需要了解一些相關的概念。什麼是base64編碼、mtom訊息優化傳輸機制、mime。這些對於我們理解mtom訊息優化傳輸機制問題非常的必要。下面就來做下介紹。

1.1 base64編碼

base64編碼 的原理很簡單,其方法是,將輸入資料流每次取6 bit(每bit代表1位二進位制),不足6bit的補0,這樣,每3個8位位元組將編碼為4個6位位元組(3×8 → 4×6);不滿4個位元組的以「=」填充。其實這4個六位位元組 仍然是8位,只不過高兩位被設定為0。當乙個位元組只有6位有效時,它的取值空間為0 到 2的6次方減1 即63,也就是說被轉換的base64編碼的每乙個編碼的取值空間為(0~63)。這樣就可以將3個8位位元組,轉換為4個位元組,這4個轉換的位元組都可以對映到字元中。也即資料都可以使用字元編碼代替。 因為轉換後的字串要比原來的多乙個位元組,長1/3。因此編碼後的資料長度增加到4/3倍。這裡也是為什麼使用soap訊息效率比mtom低的原因。因為soap使用xml語言進行訊息傳遞,xml是基於base64編碼的語言。

1. 2mime

mime表示多用途internet郵件擴允協議。mime擴允了基本的面向文字的internet郵件系統,以便可以在訊息中包含二進位制附件。mime(multipurpose internet mail extentions),一般譯作"多用途的網路郵件擴充協議"。顧名思義,它可以傳送多**檔案。 mime (multipurpose internet mail extensions,多目的internet郵件擴充套件)是建立用於電子郵件交換,網路文件,及企業網和internet上的其他應用程式中的檔案格式的規範。

1.3 mtom訊息優化傳輸

mtom 全稱message transmission optimization mechanism,即訊息傳輸優化機制。它提出的模型適用於大量資料的互動情況。針對base64編碼情況帶來的開銷提出的解決方案。當資料量小的時候,soap依然使用xml進行訊息的傳遞。

但是在大量資料情況下,如果資料依然進行base64編碼,會帶來33%的額外開銷,這樣的情況對於大量資料交換的情況是無法容忍的。mtom 就是針對soap 訊息傳輸的基礎上提出的改進辦法。對於大量資料的傳遞,不會進行進行base64編碼,而是直接以附件的二進位制原始資料的形式封裝在soap訊息的mime 部分,進行傳輸。soap 訊息通過指向隨其傳送的 mime 部分來引用二進位制內容,另外包括soap基本的xml 資料,這些還是base64編碼。因為此模型與簡單郵件協議smtp 模型基本一致。

mtom通過簡化大量資料的編碼過程,從而提高資料的處理效率。因為soap訊息等必要的資訊,mtom 也有一些必要的開銷。mtom僅在二進位制資料元素的大小超過大約 1 kb 時,才能體現出其優勢

如何在wcf中使用mtom

其實很簡單,只要設定binding的messageencoding為mtom即可。無語了吧

MTOM以及在WCF中的應用

關於mtom的基本概念 提到mtom訊息優化傳輸機制,通常的實驗結果是使用mtom傳輸資料會提高大約33 的效能。訊息傳輸優化機制 mtom 標準允許將訊息中包含的大型資料元素外部化,並將其作為無任何特殊編碼的二進位制資料隨訊息一起傳送。mtom 訊息會打包為多部分 相關 mime 序列,放在soa...

在WAS中承載WCF服務

假設iis站點下已有class1.svc檔案和web.config檔案,如下圖 1 在控制面板的 啟用或關閉windows功能 中勾選圖中紅色標記 2 下一步我們需要新增繫結到web站點,如上圖中的ww站點,我們將向ww站點新增tcp協議作為例項,開始 所有程式 附件 右鍵以管理員身份執行命令列工具...

MQTT詳解以及在IoT中的應用

mqtt message queuing telemetry transport,訊息佇列遙測傳輸 是ibm開發的乙個即時通訊協議,有可能成為物聯網的重要組成部分。該協議支援所有平台,幾乎可以把所有聯網物品和外部連線起來,被用來當做感測器和制動器的通訊協議。mqtt是基於客戶端 伺服器的二進位制的發...