张 杰, 申晋祥
(山西大同大学 数学与计算机科学学院, 大同 037009)
物联网使用户不仅可访问虚拟资源, 还可以和物理世界中的实体互动, 具有减少运营成本、提高产品竞争力等优势, 被广泛应用于各个领域[1–3]. 当前物联网通常是专有应用, 系统较为封闭, 存在差异的系统使用的数据格式也存在差异, 造成不同系统之间无法进行自由的数据交换, 是物联网发展的瓶颈[4–6]. 数据交换节点指的是通信数据进行传输中, 需要进行数据转换或交换, 由此在数据交换的过程中, 需要设计适应数据交换的节点. 由于计算机具有不同操作系统, 或者具有不同网段的系统. 所以需要设计一种高效的数据交换节点, 以实现不同系统之间的通信[7,8].
文献[9]提出一种基于可靠数据传输协议的数据交换节点设计方法, 利用本地缓存与转发机制实现链路之间的数据交换. 该方法链路利用率较高, 但适应能力较差; 文献[10]依据数据缓冲、转发及分布式路由思想, 设计了依据数据流转发的数据交换节点, 为节点设置组网功能, 结合路由机制, 减少数据延迟, 实时性较高, 但容易出现数据丢失的情况; 文献[11]提出一种基于轻量级物联网数据交换协议的数据交换节点设计方法, 针对请求数据, 首先通过三级压缩机制对其进行压缩处理, 然后通过上报模式实现数据交换节点的设计.该方法计算量小, 但实现过程较为复杂, 不适于实际应用.
针对上述方法的弊端, 提出一种新的面向物联网的高速数据交换节点设计方法, 介绍了节点所处物联网的拓扑结构, 给出高速数据交换节点内部结构, 详细设计了调制模块、码字相加模块和解调模块. 通过码分多址技术实现高速数据交换节点的软件设计. 实验结果表明, 所提方法带宽使用率高、传输速度快、响应能力强.
节点所处物联网的拓扑结构如图1所示, 通过上行通道将采集到的数据经数据交换节点发送至更高级的节点进行处理, 通过下行通道对采集数据进行管理[12–14].
图1 节点所处物联网的拓扑结构
1.2.1 高速数据交换节点内部结构
图2描述的是高速数据交换节点内部方框图, 其主要由码字相加模块、调制模块、缓存模块和解调模块构成, 每个和高速数据交换节点的IP模块均经输入端口与输出端口和交换节点相连, 在各输入端口处设置一个缓冲队列, 通过调制模块读取数据, 传输至码字加法器模块进行加法运算, 将计算结果发送至各个解调模块进行处理后, 把数据传输至目的IP模块.
1.2.2 调制模块设计
图2 交换节点的内部方框图
调制模块接口信号框图如图3所示, 在调制模块中安装一个寄存器对从FIFO读入的数据包进行读取,利用目的IP模块的地址选择相应的8bite Walsh正交码完成扩展处理, 将扩展数据传输至码字相加模块. 调制模块的目的是在码字相加模块处理数据前, 对数据进行预处理, 调制模块可以对不同输入数据进行扩展处理, 经过数据扩展后, 可以实现最小化总功率的目的,降低数据传输能耗.
图3 调制模块的接口信号框图
1.2.3 码字相加模块设计
码字相加模块可以对经过预处理的数据进行码字相加, 其可以将特定含义的输入数据信号转换为二进制代码, 有助于统一规划处理数据.
码字相加模块门级电路图如图4所示, 将从调制模块接收到的扩展数据在码字相加模块中进行处理,将处理结果传输至解调模块[15–17].
图4 码字相加模块的门级电路图
1.2.4 解调模块设计
解调模块主要负责对码字相加模块传输的数据进行还原. 利用码字相加后, 数据变成二进制代码形式,其处理与传输较为方便快捷, 响应能力较高, 但最终传输数据还是需要以数据信号的形式. 因此需要解调模块, 对二进制代码形式的数据进行还原. 解调模块接口信号框图如图5所示.
图5 解调模块的接口信号框图
本节通过码分多址技术实现高速数据交换节点的软件设计. 在发送物联网高速数据前, 节点利用唯一的扩展码对数据进行扩展处理, 接收节点通过相应的接收器对其中的数据进行采集[18–20]. 由于扩展码存在正交性, 因此接收节点能够有效获取原始数据.
在整个高速数据交换周期中, 硬件首先对所有数据包的头部进行检测, 得到其地址信息, 再通过高速序列对待发送数据进行扩展, 数据抵达目的地后, 接收节点通过其唯一码字对数据进行提取, 实现高速数据交换. 本节选用的扩展码为Walsh正交码, 主要是由于该种扩展码的正交性较好. 而扩展码存在正交性可以保证接收节点能够有效获取原始数据. 原始数据的获取有助于提高数据的响应能力. 通过哈达码矩阵产生Walsh函数. 哈达码矩阵是一个方阵, 其中的元素均为+1 和–1, 通过逻辑值{0, l}对哈达码矩阵进行描述,则2×2的2阶哈达码矩阵可描述成:
将上式中的 1 变成 0, –1 变成 1, 则有:
上式即为设计高速数据交换节点时所用的Walsh正交码, 本节将的行向量看作扩展码.
码分多址的调制算法: 如果需传输的数据是0, 则传输扩展码的原码; 反之, 传输扩展码的反码.
为了验证本文提出的面向物联网的高速数据交换节点设计方法的有效性, 需要进行相关的实验分析. 实验将基于ZigBee的数据交换节点设计方法和基于UDP协议的数据交换节点设计方法作为对比, 通过Java实现设计的节点原型, 将4台PC服务器看作交换节点服务器, 采集5000个数据进行实验.
带宽使用率是设计的数据交换节点资源利用率的体现, 带宽使用率越高, 则设计节点的资源利用率越高,其可通过下式求出:
将消息型数据源传输至设计的数据交换节点, 通过节点进行数据交换后传输至主机, 对得到的数据进行测试, 本文方法、ZigBee方法和UDP协议方法的带宽使用率比较结果如图6所示.
图6 三种方法针对消息型数据的带宽使用率比较结果
分析图6可以看出, 随着数据量的逐渐增多, 本文方法、ZigBee方法和UDP协议方法的带宽使用率均呈上升趋势, 这主要是因为在待处理数据量逐渐增大的情况下, 系统对服务器CPU资源的需求量大大增加,使得带宽利用率增加. 然而本文方法针对消息型数据的带宽利用率曲线一直高于ZigBee方法和UDP协议方法, 说明本文方法针对消息型数据的资源利用率较高.
图7描述的是本文方法、ZigBee方法和UDP协议方法针对文件型数据的带宽使用率比较结果.
图7 三种方法针对文件型数据的带宽使用率比较结果
分析图7可以看出, 随着文件型数据大小的逐渐增加, 本文方法、ZigBee方法和UDP协议方法的带宽使用率均呈先升高再平缓的趋势, 这是因为当文件型数据达到一定量的情况下, 系统对CPU 资源的需求过大, 导致带宽产生瓶颈. 但本文方法的带宽使用率一直高于其它两种方法, 进一步验证了本文方法的性能.
表1描述的是针对消息型数据和文件型数据的综合体, 本文方法、ZigBee方法和UDP协议方法的带宽使用率比较结果.
表1 三种方法带宽使用率比较结果
分析表1可以看出, 在有效帧长度从1000 B增加至5000 B的过程中, 本文方法的带宽利用率一直高于相同有效帧长度下的ZigBee方法和UDP协议方法,进一步验证了本文方法的性能.
在物联网中, 数据流在交换的过程中会在一定程度上产生效率损耗, 本节通过数据传输速度的变化情况对效率损耗进行衡量. 图9描述的是高速数据交换延迟示意图.
图8 高速数据交换延迟示意图
如图8所示, 在第一个数据包依次从节点1传输至节点n的过程中, 假设第一个数据包经过相邻节点所需的转发时间用进行描述, 物联网带宽用进行描述, 所需传输的数据大小用进行描述, 数据包大小用进行描述, 数据通过节点完成交换的总用时用进行描述, 则传输速度可通过下式求出:
其中,
传输速度越快, 说明设计的节点处理能力越强, 性能越高.
表2描述的是本文方法、ZigBee方法和UDP协议方法在传输数据量逐渐增加的情况下的传输速度比较结果.
表2 三种方法传输速度比较结果
分析表2可知, 随着传输数据量的逐渐增加, 本文方法的传输速度越来越快, 在传输数据是50 KB的情况下, 传输速度是 1/3 B, 在传输速度是 5000 KB 的情况下, 传输效率超过带宽的 99%, 趋于带宽饱满. 而在数据量相同的情况下, 本文方法的传输速度一直高于ZigBee方法和UDP协议方法, 说明本文方法的传输速度最快, 使得节点交换效率高, 能够满足系统对传输速度的要求.
在待处理数据量不同的情况下, 分别采用本文方法、ZigBee方法和UDP协议方法对其进行处理, 三种方法的响应效率比较结果用表3进行描述.
表3 三种方法的响应效率比较结果
分析表3可知, 与ZigBee方法和UDP协议方法相比, 在数据量相同的情况下, 本文方法的响应效率一直最高, 说明本文方法实时性强, 响应性能高.
出现以上实验结果的原因主要是: ZigBee技术是一种短距离、低功耗的无线通信技术. UDP提供无连接通信, 且不对传送数据包进行可靠性保证, 适合于一次传输少量数据. 该两种技术均是目前常用的通信技术. ZigBee 技术虽能耗较低, 但其最适合短距离, 对长距离数据传输的过程适应性较差, 使其性能不好.UDP协议适合少量数据传输, 若需要传输的数据量较大, 极易导致其性能下降. 而本文方法将数据进行预处理, 化为二进制代码传输, 增加其效率, 最后进行解调,提高了其带宽利用率等.
本文提出一种新的面向物联网的高速数据交换节点设计方法, 介绍了节点所处物联网的拓扑结构, 给出高速数据交换节点内部结构, 详细设计了调制模块、码字相加模块和解调模块. 通过码分多址技术实现高速数据交换节点的软件设计, 实现调制模块和解调模块的基本功能. 实验结果表明, 所提方法带宽使用率高、传输速度快、响应能力强.