mtp简介
Posted pinkpink
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mtp简介相关的知识,希望对你有一定的参考价值。
1.定义
MTP(Media Transfer Protocol),即媒体传输协议,由微软(Microsoft)开发。Linux有支持MTP的软件包。
根据MTP协议,MTP的使用者包括两个部分,分别是Initiator和Responder
Initiator:主要是指USB Host,例如PC机,笔记本等。协议规定所有MTP操作只能由Initator发起。
Responder:一般是诸如数码相机、智能手机等存储媒体文件的设备。Responder在MTP中的作用就是处理Initator发起的请求。
同时,它还会根据自身状态的变化发送Event以通知Initiator。
2.mtp的协议栈
与很多协议一样,MTP也有自己的协议栈, MTP协议栈由下到上分别是:
a. 物理层:物理层在MTP协议中用来传输数据。目前有三种物理层可供MTP使用:
USB:其主要特点是传输文件,同步媒体文件时速度快,而且可以边工作边充电,这是目前用的最多的一种方式;
IP:基于IP的MTP(简称MTP/IP)将通过UPnP来匹配和发现设备。它是家庭网络中是最理想的传输方式;
Bluetooth:MTP/BT是最省电,同时也是速度最慢的一种传输方式,用处较少。
b. 传输层:MTP中,数据传输格式遵循PTP协议(PTP协议是MTP协议前身)
c. 命令层:实现了MTP协议中的各种命令。
3.mtp运行规则
mtp采用命令----应答方式来工作,(Initator发送命令给Responder处理,Responser反馈处理结果),这种方式的主要特点有:
所有MTP命令均以Package(数据包)的方式在设备两端进行传递。 Initiator必须接收到前一条消息的处理结果(不论是成功还是超时)后,才能发送下一条消息。
扩展 :微服务架构和MTP架构的比较如下:
MTP架构的不足之处:
代码庞杂,理解困难,上手也困难;
维护困难,如果应用越大,则维护的人越多,效率也会越低下;
启动一般较慢;
持续部署困难:每一次小改动都需要重新部署整个应用;
技术堆栈固化:尝试新技术的代价太高;
扩展困难:应用某些部分偏IO密集型、某些部分却偏CPU密集型,但应用却只部署在一台机器上,很难用单一硬件来满足应用各部分对硬件资源的不同要求;
微服务架构的优点:
每个微服务功能简单,代码量也不多,新人上手容易;
每个微服务可以由不同团队开发;
系统稳定性增强,单个服务的失效不会影响其他服务,可以一定程度实现服务降级;
容易尝试技术创新,甚至每个微服务都可以采用不同的编程语言编写,只要对外提供约定好的接口就行。
以上是关于mtp简介的主要内容,如果未能解决你的问题,请参考以下文章