1. 程式人生 > >Atitit 遠端儲存與協議 mtp ptp rndis midi nfs smb webdav ftp hdfs v3 Atitit mtp ptp rndis midi協議的不同區別

Atitit 遠端儲存與協議 mtp ptp rndis midi nfs smb webdav ftp hdfs v3 Atitit mtp ptp rndis midi協議的不同區別

Atitit 遠端儲存與協議   mtp ptp rndis midi nfs smb webdav ftp hdfs  v3

 

 

Atitit mtp ptp rndis midi協議的不同區別

 

1. Ver histroy 1

2. PTP: 圖片傳輸協議的 縮寫,全稱為:picture transfer protocol;  2

3. MTP:媒體傳輸協議,是基於PTP(Picture Transfer Protocol)協議的擴充套件,主要用於傳輸媒體檔案 2

3.1. Mtp 與usb區別 3

3.2. 不過和UMS相比,MTP也有不足之處: 4

3.3.  MTP協議介紹 4

3.4. Atitit java讀寫 ptp mtp 9

3.5. 類庫與工具 9

3.6. Java library for USB portable devices 9

3.6.1. Description 9

3.6.2. Quick Install and Use 10

4. rndis既是RemoteNDIS,既是遠端網路驅動介面規範。 10

5. 參考資料 11

5.1. 論MTP模式與USB儲存模式(MTP in Android)!-魅族手機-魅族社群.html 11

5.2. dministrator>cd C:\Users\Administrator\Desktop\遠端儲存資料包 11

5.3. 11

5.4. dministrator\Desktop\遠端儲存資料包>dir /b 11

5.5. a讀寫 ptp mtp.docx 11

5.6. ptp rndis midi協議的不同區別.docx.txt 11

5.7. 手機 與磁碟同步 v2.docx 11

5.8. 件服務與遠端檔案互操作相關的協議 ftp http nfs smb webdav 的區別與總結.docx 11

5.9. 絡檔案共享解決方案webdav nfs vpn smb.docx 11

 

  1. Ver histroy

V3 add hdfs docx,webdav docx ref

  1. PTP: 圖片傳輸協議的 縮寫,全稱為:picture transfer protocol;


 圖片傳輸協議的 縮寫,全稱為:picture transfer protocol;
PTP是最早由柯達與微軟協商制定的一種標準,符合這種標準的影象裝置在接入Windows XP系統之後可以更好地被系統和應用程式所共享,尤其在網路傳輸方面,系統可以直接訪問這些裝置用於建立網路相簿時圖片的上傳、網上聊天時圖片的傳送等

  1. MTP:媒體傳輸協議,是基於PTP(Picture Transfer Protocol)協議的擴充套件,主要用於傳輸媒體檔案

MTP in Android

MTP的全稱是Media Transfer Protocol(媒體傳輸協議),它是微軟公司提出的一套媒體檔案傳輸協議。Android從3.0開始支援MTP。不過,在今天的智慧手機領域內,Google和微軟是一對冤家


 媒體傳輸協議,是基於PTP(Picture Transfer Protocol)協議的擴充套件,主要用於傳輸媒體檔案,其中有價值的應用就是同步DRM檔案的license。目前支援MTP協議的只有 WMP10(Windows Media Player 10)和WMP11(Windows Media Player 11)兩個版本,WMP11加入了對Playlist和Album art的支援,在獲取媒體檔案資訊的時候GetObjectPropList代替了WMP10的GetObjectInfo命令。
MTP支援對數字音訊播放器的音樂檔案和移動媒體播放器上的電影檔案的傳輸,它是 Windows Media框架的一部分,因此與Windows Media Player緊密相關。Windows Vista內建了對MTP的支援,在Windows XP中支援MTP需要安裝Window Media Player 10或以上的版本。Mac和Linux有支援MTP的軟體包。
MTP的應用分兩種角色,一個是作為Initiator,另一個作為Responder。例如:WMP(Windows Media Player)就是Initiator,而portable media player裝置就是作為Responder。Responder都是被動的回覆Initiator的命令,不會主動發命令。主要的用途是傳輸媒體檔案(Media File),並從(向)裝置關聯元資料,對裝置的遠端控制有可選的額外支援,讀取和設定裝置引數,如特別的DRM相關的受限內容裝置引數。裝置也可向主機發送事件(event)。
MTP既可以實現在USB協議上,也可以實現在TCP/IP協議上,它屬於上層的應用協議,而不關心底層傳輸協議。目前大部分裝置的應用都是基於USB協議。市場上支援MTP的裝置有Motorola的Z6, U9, E8等,還有索尼NWZ-A81X系列。總之有越

    1. Mtp 與usb區別

 

 背景知識介紹

筆者相信《程式設計師》雜誌的絕大多數讀者或多或少都使用過MTP。因為早在智慧手機普及前,數碼相機和MP3播放器等都使用了MTP的前身PTP(Picture Transfer Protocol)進行媒體檔案傳輸。那時,只要通過USB資料線把它們連線上Windows作業系統,就能在“我的電腦“中見到這些裝置了。此後,使用者可以把它們當做U盤一樣使用,例如對其進行目錄、檔案的瀏覽和拷貝等操作。

既然可以通過MTP把智慧裝置當作U盤使用,那麼它和我們常用的USB大容量儲存(USB Mass Storage,簡稱UMS)有何不同呢?

  • UMS模式下,PC操作儲存裝置的粒度是裝置塊(FAT block),而非檔案系統。什麼意思?此處舉一個簡單例子。當Android手機通過UMS將sdcard掛載到PC後,PC就擁有對sdcard的絕對控制權。這樣,手機就無法同時訪問sdcard了。這種做法帶來的後果就是Camera或Music程式將因沒有外部儲存空間而提示無法進行操作(注意,有些廠商的手機對此進行過修改,使得Camera能短時間錄製一部分視訊到內部儲存空間)。這也是Android早期版本中一個很明顯的特點。另外,由於PC在操作sdcard時可能弄壞其檔案系統,這將導致sdcard重新掛載到手機後不能被識別。

 

如果Android手機的sdcard以MTP模式掛載到PC機上,sdcard的控制權其實還是屬於手機。只不過智慧手機通過MTP協議向PC機構建了一個虛擬檔案系統。PC機操作其中的檔案時,都會通過標準MTP協議向智慧手機發起請求。另外,Android把MTP功能整合在MediaProvider[1]中,其好處是PC機操作(例如拷貝或刪除等)媒體檔案時,媒體資料都會及時更新到媒體資料庫中。而UMS模式下,當sdcard掛載回手機後,Android還得花較長時間重新掃描媒體檔案以更新媒體資料庫。

 

    1. 不過和UMS相比,MTP也有不足之處:
  • 傳輸大檔案的速度較慢。
  • MTP不能直接修改檔案本身。只能先拷貝到本地修改,完畢後再拷貝回去。
  • 除了Windows外,Linux和MacOS對MTP支援還不是很完善。

 

    1.  MTP協議介紹

根據協議,MTP的使用者包括兩個部分,分別是Initiator和Responder。如圖1-1所示:

圖1-1 Initiator和Responder圖示

由圖1-1可知:

  • Initiator:主要是指USB Host,例如PC機,筆記本等。協議規定所有MTP操作只能由Initator發起。
  • Responder:一般是諸如數碼相機、智慧手機等儲存媒體檔案的裝置。Responder在MTP中的作用就是處理Initator發起的請求。同時,它還會根據自身狀態的變化傳送Event以通知Initiator。

注意:後文我們將統一以PC代表Initiator,Android手機代表Responder。

與很多協議一樣,MTP也有自己的協議棧,如圖1-2所示:

圖1-2 MTP協議棧

由圖1-2可知,MTP協議棧由下到上分別是:

  • Pyshical Layer(物理層):物理層在MTP協議中用來傳輸資料。目前有三種物理層可供MTP使用。它們分別是USB:其主要特點是傳輸檔案,同步媒體檔案時速度快,而且可以邊工作邊充電,這是目前用的最多的一種方式;IP:基於IP的MTP(簡稱MTP/IP)將通過UPnP來匹配和發現裝置。它是家庭網路中是最理想的傳輸方式;Bluetooth:MTP/BT是最省電,同時也是速度最慢的一種傳輸方式,用處較少。
  • 傳輸層:MTP中,資料傳輸格式遵循PTP協議
  • 命令層:實現了MTP協議中的各種命令。

如上文所述,MTP採用命令-應答方式來工作(Initator傳送命令給Responder處理,Responser反饋處理結果),這種方式的主要特點有:

  • 所有MTP命令均以Package(資料包)的方式在裝置兩端進行傳遞。
  • Initiator必須接收到前一條訊息的處理結果(不論是成功還是超時)後,才能傳送下一條訊息。

下面我們將以PC通過MTP開啟一個檔案為例,按順序介紹其中涉及到幾個主要MTP命令:

  • 當裝置第一次連線上PC後,Initiator(即PC)首先會發送一個名為GetDeviceInfo的請求以獲取裝置的資訊,這些資訊包括裝置所支援PTP版本的程度,以百分號表示(預設是100)、所支援的MTP命令(Operation Supported)、所支援的Event型別等。
  • 接著PC端會發送OpenSession命令以建立一個會話,該會話一直保持到裝置從PC上斷開為止。此後所有命令(除GetDeviceInfo命令外)必須在此會話存活期間才能傳送。會話在MTP協議中由SessionID來標識,它是一個32位的無符號整型,由PC選擇並傳給手機。
  • PC端如果要進行檔案操作的話,必須從根目錄開始定位目標檔案。由於Windows的特殊性,手機內部儲存卡在windows系統中顯示為碟符。注意,如果手機內部有兩塊儲存卡的話(如內部儲存卡和外部sd卡),Windows中會顯示為兩個碟符。PC端需要通過GetStorageIDs命令返回某個碟符對應的StorageID。在MTP中,StorageID是一個32位無符號整型,每一個StorageID代表了一個邏輯碟符。
  • PC端可以根據上一步的StorageID號,利用GetStorageInfo操作去獲取儲存裝置的資訊,例如剩餘儲存空間、檔案系統型別、訪問許可權等。
  • 接著,PC就會通過GetObjectHandles命令來獲取此碟符下的檔案和子目錄的Object Handles(一個Object Handle代表一個檔案或目錄。該值由Responder生成並保證唯一性)。有了Object Handle,PC就可以操作這些檔案或目錄了,例如繼續通過GetObjectHandles獲取某個目錄中子檔案和子目錄的資訊。
  • 假設現在需拷貝一個檔案到手機上,那麼PC會通過SendObjectInfo命令將檔案資訊(如檔名、檔案大小)等傳遞給手機。而手機需要檢查目標目錄是否有足夠的空間和對應許可權。
  • 如果一切正常,PC將通過SendObject把資料傳遞給手機。真正寫檔案到裝置儲存空間的則是手機中的Responder。Android實現的MTP還會在媒體檔案傳輸完畢後,將資訊更新到媒體資料庫中。
  • 除此之外,PC還可利用SetObjectPropValue 命令來設定檔案的各種屬性值,如Audio BitRate(位元率),Sample Rate(取樣率),Number Of Channels(聲道)等。

以上為讀者描述了MTP使用的一個簡單案例。至於其中的各種MTP命令,讀者不妨閱讀參考文獻1,即《MTP Specification v1.0.pdf》。協

 

 

 

 

    1. Atitit java讀寫 ptp mtp

 

USB-MTP(Media Transfer Protocol媒體傳輸協議)
MTP是微軟免費向數碼相機,媒體裝置等廠商公開的連線技術,這些廠商可以將其寫入自己裝置的“韌體” 當中。MTP的基礎是“照片傳輸協議”(PTP)。

MTP支援將通過升級或者作業系統換代整合進未來的微軟作業系統當中。數碼相機使用者不用再額外安裝驅動程式就能夠將自己的數碼裝置連線至微軟作業系統的電腦。
利用MTP,數碼相機將被Windows識別為和USB快閃記憶體驅動器一樣的裝置,這樣,攝影師就能夠將自己的作品和外界分享了。

 

MTP既可以實現在USB協議上,也可以實現在TCP/IP協議上,它屬於上層的應用協議,而不關心底層傳輸協議。目前大部分裝置的應用都是基於USB協議

    1. 類庫與工具

 

Java讀寫mtp貌似找不到

Com mtp有的,但是沒找到。。

 

ptp4j

A Java library implementing the PTP/MTP/PTP2 protocol

...This is a platform independent library Java library implementing the PTP/MTP/P

 

 

    1. Java library for USB portable devices
      1. Description

Jusbpmp is a Java library that allows to communicate with portable USB players (supporting MSC or MTP) on Linux or Windows.

It offers features like sending and reading files to / from the USB device, device folder management, MTP metadata management.

      1. Quick Install and Use

(1) copy jar file to your application lib directory

(2) copy native library files to your application running directory or in the java.library.path

 

 

 

PowerShell訪問行動式媒體裝置(MTP)檔案系統 - PowerShell 中文部落格.html

mtp - Java access to lib - Stack Overflow.html

 

  1. rndis既是RemoteNDIS,既是遠端網路驅動介面規範

Remote Network Driver Interface Specification,既是RemoteNDIS,既是遠端網路驅動介面規範。基於USB實現RNDIS實際上就是TCP/IP over USB,就是在USB裝置上跑TCP/IP,讓USB裝置看上去像一塊網絡卡。[1] 

 

NDIS是Network Driver Interface Specification,即網路驅動介面規範。NDIS的主要目的就 是為NIC(網路介面卡,Network Interface Cards)制定出標準的API介面。MAC(介質訪問控制,Media Access Controller)裝置驅動封裝了所有的NIC硬體 實現,這樣一來所有的使用相同介質的NIC就可以通過通用的程式設計介面被訪問。 NDIS同時也提供一個函式庫(有時也稱作wrapper),這個庫中的函式可以被MAC驅動呼叫,也可以被高層的協議(例如TCP/IP)驅動呼叫。這些wrapper函式使得MAC驅動和協議驅動的開發變得更加容易。

 

 

  1. 參考資料
    1. 論MTP模式與USB儲存模式(MTP in Android)!-魅族手機-魅族社群.html
    2. dministrator>cd C:\Users\Administrator\Desktop\遠端儲存資料包
    3. dministrator\Desktop\遠端儲存資料包>dir /b
    4. a讀寫 ptp mtp.docx
    5.  ptp rndis midi協議的不同區別.docx.txt
    6.  手機 與磁碟同步 v2.docx
    7. 件服務與遠端檔案互操作相關的協議 ftp http nfs smb webdav 的區別與總結.docx
    8. 絡檔案共享解決方案webdav nfs vpn smb.docx

Atittit HDFS hadoop 大資料檔案系統java使用總結 v3.docx

作者:: 綽號:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿爾 拉帕努伊 ) 

漢字名:艾提拉(艾龍)   EMAIL:[email protected]

轉載請註明來源: http://blog.csdn.net/attilax

Atiend