zoukankan      html  css  js  c++  java
  • 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密集型,但应用却只部署在一台机器上,很难用单一硬件来满足应用各部分对硬件资源的不同要求;

    微服务架构的优点:

    每个微服务功能简单,代码量也不多,新人上手容易;

    每个微服务可以由不同团队开发;

    系统稳定性增强,单个服务的失效不会影响其他服务,可以一定程度实现服务降级;

    容易尝试技术创新,甚至每个微服务都可以采用不同的编程语言编写,只要对外提供约定好的接口就行。

    有的内容是自己平日积累的与工作上遇到的,有的是摘抄其他博主的精彩好文(会附上作者),愿大家共同成长。
  • 相关阅读:
    GitHub之fetch:更新fork后的项目
    实验二 结对编程 第一阶段
    博客园之鼠标点击特效
    博客园之鼠标粒子吸附特效
    实验五 单元测试
    实验四 代码评审
    第三次实验 UML 建模工具的安装与使用
    结对编程(阶段二)
    结对编程第一阶段
    实验一 GIT 代码版本管理
  • 原文地址:https://www.cnblogs.com/PinkPink/p/9262586.html
Copyright © 2011-2022 走看看