● 摘要
伴随着移动互联网和社交网络的迅速兴起,人们使用移动设备进行数据传输和信息交流的需要越发迫切。通信协议作为数据传输的基础,其重要性也日益凸显。目前移动设备广泛使用的通信协议种类众多,诸如Wi-Fi,蓝牙等,他们各有优势和不足。但是各种协议之间存在着许多差异,给开发人员带来了很多不便。因此诺基亚北京研究院决定开发UAL(Unified Access Layer)协议屏蔽这些差异,提供一套统一的通信接口。本文旨在设计一套运用于移动设备的通信协议,使之能够兼容目前最为流行的Wi-Fi和蓝牙协议,同时在Android系统上给出协议的具体实现。本论文首先对统一通信协议的研究现状进行了分析,然后阐述了UAL协议的功能需求和性能要求。之后,本文比较了Wi-Fi和蓝牙协议,并在此基础上结合功能需求,提出了协议的总体架构,划分了协议的模块,介绍了各个模块的功能和交互。接下来本文还分析了实现协议时需要用到的关键技术。之后本文针对主要模块,依次介绍了模块的工作流程,实现中遇到的技术难点以及解决方案。为了屏蔽下层通信协议的差异,UAL协议设计并实现了一套自己的Socket API,使用它可以将应用程序的数据封装成统一的UAL数据帧。同时协议还设计了针对不同下层协议的包装器,通过包装器屏蔽不同协议在地址格式等方面的差异,统一地传输UAL数据帧。通过这些机制,协议达到了提供统一的通信接口的目标。最后,本文还介绍了对协议的测试过程并给出了评估结果。