计算机系统应用  2018, Vol. 27 Issue (7): 224-229   PDF    
面向物联网的高速数据交换节点设计方法
张杰, 申晋祥     
山西大同大学 数学与计算机科学学院, 大同 037009
摘要:针对当前高速数据交换节点设计方法存在功耗高、整体性能低下的问题, 提出一种新的面向物联网的高速数据交换节点设计方法. 设计了节点所处物联网的拓扑结构, 并分析设计了调制模块、码字相加模块和解调模块. 令每个和高速数据交换节点的IP模块经输入端口与输出端口和交换节点相连, 在各输入端口处设置一个缓冲队列, 通过调制模块读取数据, 传输至码字加法器模块进行加法运算, 将计算结果发送至各个解调模块进行处理后, 把数据传输至目的IP模块. 通过码分多址技术实现高速数据交换节点的软件设计. 实验结果表明, 所提方法带宽使用率高、传输速度快、响应能力强.
关键词: 物联网    高速    数据交换节点    设计    
Design Method of High Speed Data Exchange Node for Internet of Things
ZHANG Jie, SHEN Jin-Xiang     
School of Mathematics and Computer Science, Shanxi Datong University, Datong 037009, China
Foundation item: Key Research and Develpment Project of Datong Industry (2017011); Scientific Research Fundation of Shanxi Datong University (2017K7, 2017K12)
Abstract: Aiming at the problem of high power consumption and low overall performance, a new design method of high speed data exchange node for Internet of Things (IoT) is proposed. The topology of IoT at the node is designed, and the modulation module, codeword addition module, and demodulation module are designed. Make each node IP and high speed data exchange module through the input port and the output port and the switching node, set a buffer queue at each input port, read data through the modulation module, transmit to code adder module for the addition operation. Results will be sent to each demodulation module after processing, and the data is transmitted to the destination IP module. The software design of high speed data exchange node is realized by Code Division Multiple Access (CDMA) technology. The experimental results show that the proposed method has high bandwidth utilization, fast transmission speed, and strong response ability.
Key words: Internet of Things (IoT)     high speed     data exchange nodes     design    

物联网使用户不仅可访问虚拟资源, 还可以和物理世界中的实体互动, 具有减少运营成本、提高产品竞争力等优势, 被广泛应用于各个领域[13]. 当前物联网通常是专有应用, 系统较为封闭, 存在差异的系统使用的数据格式也存在差异, 造成不同系统之间无法进行自由的数据交换, 是物联网发展的瓶颈[46]. 数据交换节点指的是通信数据进行传输中, 需要进行数据转换或交换, 由此在数据交换的过程中, 需要设计适应数据交换的节点. 由于计算机具有不同操作系统, 或者具有不同网段的系统. 所以需要设计一种高效的数据交换节点, 以实现不同系统之间的通信[7,8].

文献[9]提出一种基于可靠数据传输协议的数据交换节点设计方法, 利用本地缓存与转发机制实现链路之间的数据交换. 该方法链路利用率较高, 但适应能力较差; 文献[10]依据数据缓冲、转发及分布式路由思想, 设计了依据数据流转发的数据交换节点, 为节点设置组网功能, 结合路由机制, 减少数据延迟, 实时性较高, 但容易出现数据丢失的情况; 文献[11]提出一种基于轻量级物联网数据交换协议的数据交换节点设计方法, 针对请求数据, 首先通过三级压缩机制对其进行压缩处理, 然后通过上报模式实现数据交换节点的设计. 该方法计算量小, 但实现过程较为复杂, 不适于实际应用.

针对上述方法的弊端, 提出一种新的面向物联网的高速数据交换节点设计方法, 介绍了节点所处物联网的拓扑结构, 给出高速数据交换节点内部结构, 详细设计了调制模块、码字相加模块和解调模块. 通过码分多址技术实现高速数据交换节点的软件设计. 实验结果表明, 所提方法带宽使用率高、传输速度快、响应能力强.

1 面向物联网的高速数据交换节点设计方法 1.1 节点所处物联网的拓扑结构

节点所处物联网的拓扑结构如图1所示, 通过上行通道将采集到的数据经数据交换节点发送至更高级的节点进行处理, 通过下行通道对采集数据进行管理[1214].

图 1 节点所处物联网的拓扑结构

1.2 高速数据交换节点硬件设计 1.2.1 高速数据交换节点内部结构

图2描述的是高速数据交换节点内部方框图, 其主要由码字相加模块、调制模块、缓存模块和解调模块构成, 每个和高速数据交换节点的IP模块均经输入端口与输出端口和交换节点相连, 在各输入端口处设置一个缓冲队列, 通过调制模块读取数据, 传输至码字加法器模块进行加法运算, 将计算结果发送至各个解调模块进行处理后, 把数据传输至目的IP模块.

图 2 交换节点的内部方框图

1.2.2 调制模块设计

调制模块接口信号框图如图3所示, 在调制模块中安装一个寄存器对从FIFO读入的数据包进行读取, 利用目的IP模块的地址选择相应的8bite Walsh正交码完成扩展处理, 将扩展数据传输至码字相加模块. 调制模块的目的是在码字相加模块处理数据前, 对数据进行预处理, 调制模块可以对不同输入数据进行扩展处理, 经过数据扩展后, 可以实现最小化总功率的目的, 降低数据传输能耗.

图 3 调制模块的接口信号框图

1.2.3 码字相加模块设计

码字相加模块可以对经过预处理的数据进行码字相加, 其可以将特定含义的输入数据信号转换为二进制代码, 有助于统一规划处理数据.

码字相加模块门级电路图如图4所示, 将从调制模块接收到的扩展数据在码字相加模块中进行处理, 将处理结果传输至解调模块[1517].

图 4 码字相加模块的门级电路图

1.2.4 解调模块设计

解调模块主要负责对码字相加模块传输的数据进行还原. 利用码字相加后, 数据变成二进制代码形式, 其处理与传输较为方便快捷, 响应能力较高, 但最终传输数据还是需要以数据信号的形式. 因此需要解调模块, 对二进制代码形式的数据进行还原. 解调模块接口信号框图如图5所示.

图 5 解调模块的接口信号框图

1.3 高速数据交换节点软件设计

本节通过码分多址技术实现高速数据交换节点的软件设计. 在发送物联网高速数据前, 节点利用唯一的扩展码对数据进行扩展处理, 接收节点通过相应的接收器对其中的数据进行采集[1820]. 由于扩展码存在正交性, 因此接收节点能够有效获取原始数据.

在整个高速数据交换周期中, 硬件首先对所有数据包的头部进行检测, 得到其地址信息, 再通过高速序列对待发送数据进行扩展, 数据抵达目的地后, 接收节点通过其唯一码字对数据进行提取, 实现高速数据交换. 本节选用的扩展码为Walsh正交码, 主要是由于该种扩展码的正交性较好. 而扩展码存在正交性可以保证接收节点能够有效获取原始数据. 原始数据的获取有助于提高数据的响应能力. 通过哈达码矩阵产生Walsh函数. 哈达码矩阵是一个方阵, 其中的元素均为+1和–1, 通过逻辑值{0, l}对哈达码矩阵进行描述, 则2×2的2阶哈达码矩阵可描述成:

${{\rm H}_2} = \left( {\begin{array}{*{20}{c}}1 & 1\\1 & 1\end{array}} \right) = \left( {\begin{array}{*{20}{c}}0 & 0\\0 & 1\end{array}} \right)$ (1)

${{\rm H}_n}$ $N \times N$ 哈达码矩阵, 则有:

${{\rm H}_N}{\rm H}_N^{\rm T} = N{{\rm I}_N}$ (2)

其中, ${{\rm I}_N}$ 用于描述 $N \times N$ 单位矩阵. 假设 $N \geqslant 1$ 是哈达码矩阵的阶数, 则 $N$ 的可能取值是 $1t$ $2t$ $4t$ , $t$ 代表正整数. 分别用 ${{\rm H}_a}$ ${{\rm H}_b}$ 描述 $a$ 阶与 $b$ 阶的哈达码矩阵, 则 ${{\rm H}_a} \times {{\rm H}_b} = {{\rm H}_{ab}}$ 的阶数是 $ab$ , 则有:

${{\rm H}_{2N}} = \left( {\begin{array}{*{20}{c}}{{{\rm H}_N}} & {{{\rm H}_N}}\\{{{\rm H}_N}} & {\overline {{{\rm H}_N}} }\end{array}} \right)$ (3)

其中, $\overline {{{\rm H}_N}} $ 用于描述 ${{\rm H}_N}$ 的补码值. $N = {2^t}$ 阶的哈达玛矩阵可通过 $N = 2$ 的哈达码矩阵连乘获取, 公式描述如下:

${{\rm H}_8} = {{\rm H}_2} \times {{\rm H}_4} = \left(\!\! {\begin{array}{*{20}{c}}1 & \;\;\,1 & \;\;\,1 & \;\;\,1 & \;\;\,1 & \;\;\,1 & \;\;\,1 & \;\;\,1\\1 & { - 1} & \;\;\,1 & { - 1} & \;\;\,1 & { - 1} & \;\;\,1 & { - 1}\\1 & \;\;\,1 & { - 1} & { - 1} & \;\;\,1 & \;\;\,1 & { - 1} & { - 1}\\1 & { - 1} & { - 1} & \;\;\,1 & \;\;\,1 & { - 1} & { - 1} & \;\;\,1\\1 & \;\;\,1 & \;\;\,1 & \;\;\,1 & { - 1} & { - 1} & { - 1} & { - 1}\\1 & { - 1} & \;\;\,1 & { - 1} & { - 1} & \;\;\,1 & { - 1} & \;\;\,1\\1 & \;\;\,1 & { - 1} & { - 1} & { - 1} & { - 1} & \;\;\,1 & \;\;\,1\\1 & { - 1} & { - 1} & \;\;\,1 & { - 1} & \;\;\,1 & \;\;\,1 & { - 1}\end{array}} \!\!\right)$ (4)

将上式中的1变成0, –1变成1, 则有:

${{\rm H}_8} = {{\rm H}_2} \times {{\rm H}_4} = \left( {\begin{array}{*{20}{c}}0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\0 & 1 & 0 & 1 & 0 & 1 & 0 & 1\\0 & 0 & 1 & 1 & 0 & 0 & 1 & 1\\0 & 1 & 1 & 0 & 0 & 1 & 1 & 0\\0 & 0 & 0 & 0 & 1 & 1 & 1 & 1\\0 & 1 & 0 & 1 & 1 & 0 & 1 & 0\\0 & 0 & 1 & 1 & 1 & 1 & 0 & 0\\0 & 1 & 1 & 0 & 1 & 0 & 0 & 1\end{array}} \right)\left( \begin{array}{l}{C_0}\\{C_1}\\{C_2}\\{C_3}\\{C_4}\\{C_5}\\{C_6}\\{C_7}\end{array} \right)$ (5)

上式即为设计高速数据交换节点时所用的Walsh正交码, 本节将 ${{\rm H}_8}$ 的行向量看作扩展码.

码分多址的调制算法: 如果需传输的数据是0, 则传输扩展码的原码; 反之, 传输扩展码的反码.

码分多址的解调算法: 求出各中间变量 $D\left[ i \right]$ . 将 $D\left[ i \right]$ 的和与码字长度数 $N$ 相除, 若结果是1, 则接收到的原始数据是1; 否则, 接收到的原始数据是0.

2 实验结果分析 2.1 测试环境

为了验证本文提出的面向物联网的高速数据交换节点设计方法的有效性, 需要进行相关的实验分析. 实验将基于ZigBee的数据交换节点设计方法和基于UDP协议的数据交换节点设计方法作为对比, 通过Java实现设计的节点原型, 将4台PC服务器看作交换节点服务器, 采集5000个数据进行实验.

2.2 带宽使用率测试

带宽使用率是设计的数据交换节点资源利用率的体现, 带宽使用率越高, 则设计节点的资源利用率越高, 其可通过下式求出:

$ZY = \eta \times XD$ (6)

其中, $XD$ 用于描述信道带宽; $\eta $ 可通过下式求出:

$\eta = \frac{{Payload\;Size}}{{Frame\;Size}}$ (7)

式中, $Payload \; Size$ 用于描述有效负荷; $Frame \; Size$ 用于描述缓冲区大小.

将消息型数据源传输至设计的数据交换节点, 通过节点进行数据交换后传输至主机, 对得到的数据进行测试, 本文方法、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协议方法, 进一步验证了本文方法的性能.

2.3 传输速度测试

在物联网中, 数据流在交换的过程中会在一定程度上产生效率损耗, 本节通过数据传输速度的变化情况对效率损耗进行衡量. 图9描述的是高速数据交换延迟示意图.

图 8 高速数据交换延迟示意图

图8所示, 在第一个数据包依次从节点1传输至节点n的过程中, 假设第一个数据包经过相邻节点所需的转发时间用 $\Delta t$ 进行描述, 物联网带宽用 $B$ 进行描述, 所需传输的数据大小用 $D$ 进行描述, 数据包大小用 $d$ 进行描述, 数据通过节点完成交换的总用时用 $T$ 进行描述, 则传输速度 $S$ 可通过下式求出:

$S = \frac{D}{T} = \frac{D}{{\frac{D}{B} + n\Delta t}} = \frac{D}{{\frac{D}{B} + \frac{{nd}}{B}}} = \frac{1}{{\frac{1}{B} + \frac{{nd}}{{BD}}}}$ (8)

其中,

$\Delta t = d/B$ (9)
$T = \frac{D}{B} + n\Delta t$ (10)

传输速度越快, 说明设计的节点处理能力越强, 性能越高.

表2描述的是本文方法、ZigBee方法和UDP协议方法在传输数据量逐渐增加的情况下的传输速度比较结果.

表 2 三种方法传输速度比较结果

分析表2可知, 随着传输数据量的逐渐增加, 本文方法的传输速度越来越快, 在传输数据是50 KB的情况下, 传输速度是1/3 B, 在传输速度是5000 KB的情况下, 传输效率超过带宽的99%, 趋于带宽饱满. 而在数据量相同的情况下, 本文方法的传输速度一直高于ZigBee方法和UDP协议方法, 说明本文方法的传输速度最快, 使得节点交换效率高, 能够满足系统对传输速度的要求.

2.4 响应性能测试

在待处理数据量不同的情况下, 分别采用本文方法、ZigBee方法和UDP协议方法对其进行处理, 三种方法的响应效率比较结果用表3进行描述.

表 3 三种方法的响应效率比较结果

分析表3可知, 与ZigBee方法和UDP协议方法相比, 在数据量相同的情况下, 本文方法的响应效率一直最高, 说明本文方法实时性强, 响应性能高.

出现以上实验结果的原因主要是: ZigBee技术是一种短距离、低功耗的无线通信技术. UDP提供无连接通信, 且不对传送数据包进行可靠性保证, 适合于一次传输少量数据. 该两种技术均是目前常用的通信技术. ZigBee技术虽能耗较低, 但其最适合短距离, 对长距离数据传输的过程适应性较差, 使其性能不好. UDP协议适合少量数据传输, 若需要传输的数据量较大, 极易导致其性能下降. 而本文方法将数据进行预处理, 化为二进制代码传输, 增加其效率, 最后进行解调, 提高了其带宽利用率等.

3 结论

本文提出一种新的面向物联网的高速数据交换节点设计方法, 介绍了节点所处物联网的拓扑结构, 给出高速数据交换节点内部结构, 详细设计了调制模块、码字相加模块和解调模块. 通过码分多址技术实现高速数据交换节点的软件设计, 实现调制模块和解调模块的基本功能. 实验结果表明, 所提方法带宽使用率高、传输速度快、响应能力强.

参考文献
[1]
何康力, 陈仪香, 王江涛. 面向物联网的智能传感器节点系统设计. 单片机与嵌入式系统应用, 2015, 15(8): 74-77.
[2]
杨斌, 郝杨杨, 李军军. 面向监测应用的物联网节点布局方法研究. 计算机工程与科学, 2014, 36(7): 1255-1261.
[3]
陈作聪. 面向海洋环境数据采集和动态监控的物联网节点设计. 河北工业科技, 2015, 32(4): 342-346.
[4]
Sheng ZG, Fan J, Liu CH, et al. Energy-efficient relay selection for cooperative relaying in wireless multimedia networks. IEEE Transactions on Vehicular Technology, 2015, 64(3): 1156-1170.
[5]
Zhong DX, Lv HQ, Han JQ, et al. A practical application combining wireless sensor networks and Internet of Things: Safety management system for tower crane groups. Sensors, 2014, 14(8): 13794-13814.
[6]
侯陈达, 李栋, 邱杰凡, 等. EasiDEF: 一种水平化轻量级物联网数据交换协议. 计算机学报, 2015, 38(3): 602-613.
[7]
张溪, 王伟, 黄递全. 面向智慧城市的物联网服务平台设计与应用. 地理空间信息, 2016, 14(3): 13-14.
[8]
朱磊, 董亮, 夏颖, 等. 基于ZigBee嵌入式双网路由交换节点的设计. 电子技术应用, 2015, 41(7): 144-145, 149.
[9]
都牧, 胡祥培, 周宽久, 等. 基于物联网的蔬果网上直销" 农-宅”配送系统. 系统工程学报, 2014, 29(2): 215-222.
[10]
Van Den Abeele F, Hoebeke J, Moerman I, et al. Integration of heterogeneous devices and communication models via the cloud in the constrained Internet of Things. International Journal of Distributed Sensor Networks, 2015, 2015: 683425.
[11]
Yang S, Li JP, Cai JJ, et al. Data-oriented method to big data standard system creation: A case of Chinese financial industry. Annals of Data Science, 2014, 1(3-4): 325-338.
[12]
李娜, 薛建生. 基于物联网感知层的节点连通算法. 传感器与微系统, 2014, 33(11): 139-141, 148.
[13]
彭小梅. 物联网高速传感器中的异常节点通信定位仿真. 计算机仿真, 2015, 32(7): 307-310.
[14]
钱春阳, 陆文龙, 王建春, 等. 基于物联网的设施温室监控系统中无线传感器节点设计. 计算机测量与控制, 2015, 23(2): 673-676.
[15]
Kumar A, Gopal K, Aggarwal A. Design and analysis of lightweight trust mechanism for accessing data in MANETs. KSII Transactions on Internet and Information Systems, 2014, 8(3): 1119-1143.
[16]
Jing X, Cimino JJ. A complementary graphical method for reducing and analyzing large data sets. Case studies demonstrating thresholds setting and selection. Methods of Information in Medicine, 2014, 53(3): 173-185.
[17]
郑笔耕, 王恒. 面向智能家居和改进UDP协议的低能耗物联网网关设计. 科学技术与工程, 2014, 14(7): 253-256, 260.
[18]
陈军. 基于物联网的道路监控调度系统设计与实现. 科技通报, 2015, 31(10): 55-57.
[19]
曹源, 徐晓辉, 王停, 等. 面向多传感器接入的无线传感器节点的研究. 电子设计工程, 2016, 24(15): 135-137.
[20]
Al-fuqaha A, Guizani M, Mohammadi M, et al. Internet of Things: A survey on enabling technologies, protocols, and applications. IEEE Communications Surveys & Tutorials, 2015, 17(4): 2347-2376.