一种基于NB-IoT技术的物联网数据传输方法
技术领域
本发明涉及一种仪表数据传输方法,具体涉及一种基于NB-IoT技术的物联网数据传输方法。
背景技术
随着科技进步,燃气化工程迅速发展,燃气的计量目前主要由燃气表来进行,基于GPRS的物联网燃气表是其中的新兴产品,由于GPRS技术功耗较大、典型场景的网络覆盖能力不足和无法长期存在等因素,使得其发展有一定的局限性。公开号为CN205451458U的发明创造,公开了一种基于NB-IoT的燃气计量装置,所述燃气计量装置包括电子计数装置、NB-IoT模块和微处理器,所述电子计数装置、NB-IoT模块同时与所述微处理器连接;所述电子计数装置用于将燃气表的计量数据转换为电子数据并传输至所述微处理器;所述NB-IoT模块用于将所述电子数据通过蜂窝网络传输至远程服务器。该发明创造网络覆盖能力不足和无法长期存在等问题,但未公开NB-IoT模块如何通过蜂窝网络将数据传输至远程服务器,而目前NB-IoT技术带宽窄,单次传输数据大小有限制,存在当传输数据的数据长度超过最大传输数据长度时会导致传输失败的技术问题。
发明内容
本发明旨在提供一种基于NB-IoT技术的物联网数据传输方法,解决现有技术中当传输数据的数据长度超过最大传输数据长度时会导致传输失败的技术问题。
为了实现所述目的,本发明一种基于NB-IoT技术的物联网数据传输方法,NB-IoT模块预上报数据给应用服务端时,判断数据是否需要分帧,如果数据需要分帧,则执行如下步骤:
步骤S11:NB-IoT模块将数据拆分为若干数据帧;
步骤S12:NB-IoT模块将数据帧逐帧通过IoT平台传输到应用服务端;
步骤S13:应用服务端接收到全部数据帧后合并所述数据帧。
在上述的一种基于NB-IoT技术的物联网数据传输方法中,所述判断数据是否需要分帧包括:获取数据的数据长度,如果数据长度大于预设阈值,则数据需要分帧,否则数据不需要分帧。
在上述的一种基于NB-IoT技术的物联网数据传输方法中,所述将数据帧逐帧通过IoT平台传输到应用服务端包括:
步骤S121:NB-IoT模块将数据帧通过IoT平台发送到应用服务端;
步骤S122:应用服务端接收数据帧,并根据接收的数据帧反馈数据应答给NB-IoT模块;
步骤S123:NB-IoT模块接收数据应答,并根据数据应答发送下一帧数据帧;
步骤S124:重复步骤S122至步骤S123,直到应用服务端接收到全部所述数据帧。
在上述的一种基于NB-IoT技术的物联网数据传输方法中,所述应用服务端包括转换服务器和应用服务器,所述转换服务器通过Https协议与IoT平台通信,所述转换服务器通过TCP协议与应用服务器通信。
在上述的一种基于NB-IoT技术的物联网数据传输方法中,将数据帧逐帧通过IoT平台传输到应用服务端过程中,数据帧传输到IoT平台时,IoT平台对数据帧进行加密和组装,并将加密和组装后的数据帧传输到应用服务端;应用服务端接收到IoT平台传输的数据帧后对数据帧进行解析和解密。
作为本发明的另一方面,一种基于NB-IoT技术的物联网数据传输方法,应用服务端下发指令给NB-IoT模块时,判断数据是否需要分帧,如果数据需要分帧,则执行如下步骤:
步骤S21:应用服务端将数据拆分为若干数据帧;
步骤S21:应用服务端将数据帧逐帧通过IoT平台传输到NB-IoT模块;
步骤S22:NB-IoT模块接收到全部所述数据帧后合并所述数据帧。
在上述的一种基于NB-IoT技术的物联网数据传输方法中,所述判断数据是否需要分帧包括:获取数据的数据长度,如果数据长度大于预设阈值,则数据需要分帧,否则数据不需要分帧。
在上述的一种基于NB-IoT技术的物联网数据传输方法中,所述将数据帧逐帧通过IoT平台传输到NB-IoT模块包括:
步骤S221:应用服务端将帧数据帧通过IoT平台发送到NB-IoT模块;
步骤S222:NB-IoT模块接收数据帧,并根据接收的数据帧反馈数据应答;
步骤S223:应用服务端接收数据应答,并根据数据应答发送下一帧数据帧;
步骤S224:重复步骤S232至步骤S233,直到NB-IoT模块接收到全部所述数据帧。
在上述的一种基于NB-IoT技术的物联网数据传输方法中,所述应用服务端包括转换服务器和应用服务器,所述转换服务器通过Https协议与IoT平台通信,所述转换服务器通过TCP协议与应用服务器通信。
在上述的一种基于NB-IoT技术的物联网数据传输方法中,将数据帧逐帧通过IoT平台依次传输到NB-IoT模块过程中,应用服务端对数据帧进行加密和组装,并将加密和组装后的数据帧传输到IoT平台,数据帧从应用服务端传输到IoT平台时,IoT平台对数据帧进行解析和解密,并将解析和解密后的数据帧传输到NB-IoT模块。
通过实施本发明可以取得以下有益技术效果:
1.NB-IoT模块预上报数据给应用服务端时,判断数据是否需要分帧,如果数据需要分帧,则执行如下步骤:步骤S11:NB-IoT模块将数据拆分为若干数据帧;步骤S12:NB-IoT模块将数据帧逐帧通过IoT平台传输到应用服务端;步骤S13:应用服务端接收到全部数据帧后合并所述数据帧。当数据需要分帧时,NB-IoT模块将数据拆分为若干数据帧使其符合NB-IoT传输数据的长度要求,当数据帧传输到应用服务端后,由应用服务端对数据进行合并,进而克服现有技术中当传输数据的数据长度超过最大传输数据长度时会导致传输失败的技术问题,保证了数据的有效传输。
2.所述判断数据是否需要分帧包括:获取数据的数据长度,如果数据长度大于预设阈值,则数据需要分帧,否则数据不需要分帧。根据数据长度与预设阈值进行比较,快速判断数据是否需要分帧。
3.所述将数据帧逐帧通过IoT平台传输到应用服务端包括:步骤S121:NB-IoT模块将数据帧通过IoT平台发送到应用服务端;步骤S122:应用服务端接收数据帧,并根据接收的数据帧反馈数据应答给NB-IoT模块;步骤S123:NB-IoT模块接收数据应答,并根据数据应答发送下一帧数据帧;步骤S124:重复步骤S122至步骤S123,直到应用服务端接收到全部所述数据帧。应用服务端接收数据帧后反馈数据应答,NB-IoT模块根据数据应答进行下一帧数据帧的发送,进而保证数据帧的逐帧发送和数据发送接收的完整性。
4.所述应用服务端包括转换服务器和应用服务器,所述转换服务器通过Https协议与IoT平台通信,所述转换服务器通过TCP协议与应用服务器通信。通过转换服务器进行中转,将其从IoT平台接收的数据转发给多个应用服务器,使得多个应用服务器由一个转换服务器进行数据转换。
5.将数据帧逐帧通过IoT平台传输到应用服务端过程中,数据帧传输到IoT平台时,IoT平台对数据帧进行加密和组装,并将加密和组装后的数据帧传输到应用服务端;应用服务端接收到IoT平台传输的数据帧后对数据帧进行解析和解密。通过IoT平台对数据帧进行加密和组装,在数据传输过程中保证数据的秘密性,进一步的,由应用服务端的转换服务对数据帧进行所述的解析和解密,由应用服务端进行统一解析和解密,达到更高效解析和解密的目的。
6.一种基于NB-IoT技术的物联网数据传输方法,应用服务端下发指令给NB-IoT模块时,判断数据是否需要分帧,如果数据需要分帧,则执行如下步骤:步骤S21:应用服务端将数据拆分为若干数据帧;步骤S21:应用服务端将数据帧逐帧通过IoT平台传输到NB-IoT模块;步骤S22:NB-IoT模块接收到全部所述数据帧后合并所述数据帧。当数据需要分帧时,应用服务端将数据拆分为若干数据帧使其符合NB-IoT传输数据的长度要求,当数据帧传输到NB-IoT模块后,由NB-IoT模块对数据进行合并,进而克服现有技术中当传输数据的数据长度超过最大传输数据长度时会导致传输失败的技术问题,保证了数据的有效传输。
7.所述判断数据是否需要分帧包括:获取数据的数据长度,如果数据长度大于预设阈值,则数据需要分帧,否则数据不需要分帧。根据数据长度与预设阈值进行比较,快速判断数据是否需要分帧。
8.所述将数据帧逐帧通过IoT平台传输到NB-IoT模块包括:步骤S221:应用服务端将帧数据帧通过IoT平台发送到NB-IoT模块;步骤S222:NB-IoT模块接收数据帧,并根据接收的数据帧反馈数据应答;步骤S223:应用服务端接收数据应答,并根据数据应答发送下一帧数据帧;步骤S224:重复步骤S232至步骤S233,直到NB-IoT模块接收到全部所述数据帧。NB-IoT模块接收数据帧后反馈数据应答,应用服务端根据数据应答进行下一帧数据帧的发送,进而保证数据帧的逐帧发送和数据发送接收的完整性。
9.所述应用服务端包括转换服务器和应用服务器,所述转换服务器通过Https协议与IoT平台通信,所述转换服务器通过TCP协议与应用服务器通信。通过转换服务器进行中转,将其从各个应用服务器接收的数据转发给IoT平台,使得多个应用服务器由一个转换服务器进行数据转换。
10.将数据帧逐帧通过IoT平台依次传输到NB-IoT模块过程中,应用服务端对数据帧进行加密和组装,并将加密和组装后的数据帧传输到IoT平台,数据帧从应用服务端传输到IoT平台时,IoT平台对数据帧进行解析和解密,并将解析和解密后的数据帧传输到NB-IoT模块。通过应用服务端对数据帧进行加密和组装,在数据传输过程中保证数据的秘密性,进一步的,本发明由应用服务端的转换服务对数据帧进行所述加密和组装,达到更高效加密和组装的目的。
附图说明
图1为本发明实施例1的流程图;
图2为本发明实施例1中将数据帧逐帧通过IoT平台传输到应用服务端的流程图;
图3为本发明实施例2的流程图;
图4为本发明实施例2中将数据帧逐帧通过IoT平台传输到NB-IoT模块的流程图。
具体实施方式
为了便于本领域技术人员的理解,下面结合具体实施例对本发明作进一步的说明:
本申请中,NB-IoT表示基于蜂窝的窄带物联网;IoT平台表示物联网平台,例如华为的物联网联接管理平台。本发明的数据传输方法适用于仪表数据的传输,特别适用于燃气表数据的传输。
实施例1:
本发明提供了一种基于NB-IoT技术的物联网数据传输方法,NB-IoT模块预上报数据给应用服务端时,判断数据是否需要分帧,如果数据需要分帧,则执行如图1所示的步骤:
步骤S11:NB-IoT模块将数据拆分为若干数据帧;
步骤S12:NB-IoT模块将数据帧逐帧通过IoT平台传输到应用服务端;
步骤S13:应用服务端接收到全部数据帧后合并所述数据帧。
当数据需要分帧时,NB-IoT模块将数据拆分为若干数据帧使其符合NB-IoT传输数据的长度要求,当数据帧传输到应用服务端后,由应用服务端对数据进行合并,进而克服了现有技术中当传输数据的数据长度超过最大传输数据长度时会导致传输失败的技术问题,使得数据从NB-IoT模块通过IoT平台传输到应用服务端过程中无需因为数据长度过长而进行其他的特殊处理。
上述一种基于NB-IoT技术的物联网数据传输方法中,判断数据是否需要分帧时,如果数据不需要分帧,则NB-IoT模块将数据以数据帧的形式通过IoT平台传输到应用服务端。
上述一种基于NB-IoT技术的物联网数据传输方法中,将数据拆分为若干数据帧的方法可以为:将数据拆分若干份,将拆分后的数据加上帧头和帧尾进而形成数据帧,每份数据的大小可以根据NB-IoT传输数据的限制大小进行设置。
如表1所示,上述数据帧可包括:包头、总帧数、当前帧、数据和校验位,还可包括数据长度等。
表1
其中包头用于表示数据帧是否已经分帧,数据长度用于表示有效数据的长度,有效数据为需要传输的实际数据,检验位为检验数据或数据帧是否完整的检验码。
作为一种基于NB-IoT技术的物联网数据传输方法的可选实施方式,判断数据是否需要分帧的方法为:获取数据的数据长度,如果数据长度大于预设阈值,则数据需要分帧,否则数据不需要分帧。本方法根据数据长度与预设阈值进行比较,快速判断数据是否需要分帧,其中预设阈值可以根据实际情况进行设置。
作为一种基于NB-IoT技术的物联网数据传输方法的可选实施方式,如图2所示,所述将数据帧逐帧通过IoT平台传输到应用服务端包括:
步骤S121:NB-IoT模块将数据帧通过IoT平台发送到应用服务端;
步骤S122:应用服务端接收数据帧,并根据接收的数据帧反馈数据应答给NB-IoT模块;
步骤S123:NB-IoT模块接收数据应答,并根据数据应答发送下一帧数据帧;
步骤S124:重复步骤S122至步骤S123,直到应用服务端接收到全部所述数据帧。
上述基于NB-IoT技术的物联网数据传输方法中,应用服务端在接收数据帧后反馈数据应答,NB-IoT模块根据数据应答进行下一帧数据帧的发送,进而保证数据帧的逐帧发送和数据发送接收的完整性。可以知道的,上述步骤S121中,NB-IoT模块所发送的数据帧为数据的第一帧数据。
作为一种基于NB-IoT技术的物联网数据传输方法的可选实施方式,步骤S122中,应用服务端接收数据帧时,先对接收的数据帧进行校验,如果校验通过,则根据接收的数据帧反馈数据应答给NB-IoT模块;如果校验不通过,则反馈重发信号给NB-IoT模块,由NB-IoT模块重新发送该数据帧,直到检验成功后,再根据接收的数据帧反馈数据应答给NB-IoT模块。作为检验位的一种设置方案,所述校验位为数据帧中校验位前所有数据值的总和。步骤S122中,应用服务端接收到数据帧后,根据接收的数据帧中校验位前所有数据值的总和与校验位进行比较以实现对数据帧的检验,如果接收的数据帧中校验位前所有数据值的总和与校验位的数值相同,则校验通过,否则校验不通过。
作为上述一种基于NB-IoT技术的物联网数据传输方法的另一种可选实施方式,校验位为数据拆分为数据帧前该数据中各个数据值的总和。应用服务端接收到全部数据帧并合并所述数据帧后,计算合并后的数据中各个数据值的总和并将其与校验位进行比对,判断数据是否完整,如果数据不完整,则通知NB-IoT模块重新发送该数据。这样的方式优点在于,无需每个数据帧都进行校验,只需对数据本身进行校验即可,提高了校验效率。
为了便于服务端进行数据应答,数据帧还包括帧类型,用于表示数据帧是普通数据帧还是响应帧,可以用0表示普通数据帧,用1表示响应帧;当应用服务端接收数据帧需要反馈数据应答时,数据应答无需特殊生成,只需将接收的数据帧中的帧类型从普通数据帧修改为响应帧后再反馈给NB-IoT模块。
步骤S124中,可以由应用服务端判断应用服务端接收到全部所述数据帧,也可以由NB-IoT模块判断应用服务端接收到全部所述数据帧。
如果由应用服务端判断应用服务端是否接收到全部所述数据帧,则可以通过如下方式判断:通过应用服务端判断应用服务端所接收的数据帧是否为最后一帧,如果是最后一帧,则判断应用服务端接收到全部所述数据帧。其中,服务端判断所接收的数据帧是否是最后一帧可以根据数据帧中总帧数与当前帧是否相同进行判断,如果总帧数与当前帧相同,则服务端判断所接收的数据帧是最后一帧。
如果由NB-IoT模块判断应用服务端是否接收到全部所述数据帧,则可以通过如下方式判断:通过NB-IoT模块判断NB-IoT模块接收的应答是否为最后一帧数据的应答,如果是最后一帧数据的应答,则判断应用服务端接收到全部所述数据帧。其中,判断NB-IoT模块接收的应答是否为最后一帧数据的应答可以根据应答的总帧数与当前帧是否相同进行判断,如果总帧数与当前帧相同,则判断NB-IoT模块接收的应答为最后一帧数据的应答。
步骤S122中,如果应用服务端接收的数据帧不是最后一帧,且应用服务端反馈数据应答给NB-IoT模块后设定时间内未接收到下一帧数据帧,则重新反馈数据应答给NB-IoT模块。本方法通过建立重发机制,保证数据的完整性,其中,设定时间可设置为30秒,也可根据实际情况进行调整。
作为一种基于NB-IoT技术的物联网数据传输方法的一种实施方式,所述应用服务端包括转换服务器和应用服务器,所述转换服务器通过Https协议与IoT平台通信,所述转换服务器通过TCP协议与应用服务器通信。通过转换服务器进行中转,将其从IoT平台接收的数据转发给多个应用服务器,使得多个应用服务器由一个转换服务器进行数据转换。
作为一种基于NB-IoT技术的物联网数据传输方法的一种实施方式,将数据帧逐帧通过IoT平台传输到应用服务端过程中,数据帧传输到IoT平台时,IoT平台对数据帧进行加密和组装,并将加密和组装后的数据帧传输到应用服务端;应用服务端接收到IoT平台传输的数据帧后对数据帧进行解析和解密。通过IoT平台对数据帧进行加密和组装,在数据传输过程中保证数据的秘密性,其中,可以由转换服务器对数据帧依次进行解析、解密和合并,将解析、解密和合并后的数据再通过TCP协议发送到应用服务器上,通过由转换服务器进行统一解析、解密以及合并,减少应用服务器的工作量。本实施例中,组装可以为将数据帧转化为json格式字符串,而解析则相反;加密和解密可以用常规的加密和解密方法,本实施例不再进行详细描述。
实施例2:
一种基于NB-IoT技术的物联网数据传输方法,应用服务端下发指令给NB-IoT模块时,判断数据是否需要分帧,如果数据需要分帧,则执行如图3所示的步骤:
步骤S21:应用服务端将数据拆分为若干数据帧;
步骤S21:应用服务端将数据帧逐帧通过IoT平台传输到NB-IoT模块;
步骤S22:NB-IoT模块接收到全部所述数据帧后合并所述数据帧。
当数据需要分帧时,应用服务端将数据拆分为若干数据帧使其符合NB-IoT传输数据的长度要求,当数据帧传输到NB-IoT模块后,由NB-IoT模块对数据进行合并,进而克服了现有技术中当传输数据的数据长度超过最大传输数据长度时会导致传输失败的技术问题,使得数据从应用服务端通过IoT平台传输到NB-IoT模块过程中无需因为数据长度过长而进行其他的特殊处理。
上述一种基于NB-IoT技术的物联网数据传输方法中,判断数据是否需要分帧时,如果数据部不需要分帧,则应用服务端将数据以数据帧的形式通过IoT平台传输到NB-IoT模块。
上述一种基于NB-IoT技术的物联网数据传输方法中,将数据拆分为若干数据帧的方法可以为:将数据拆分若干份,将拆分后的数据加上帧头和帧尾进而形成数据帧,每份数据的大小可以根据NB-IoT传输数据的限制大小进行设置。
如表2所示,上述数据帧可包括:包头、总帧数、当前帧、数据和校验位,还可包括数据长度等。
表2
其中包头用于表示数据帧是否已经分帧,数据长度用于表示有效数据的长度,有效数据为需要传输的实际数据,检验位为检验数据或数据帧是否完整的检验码。
作为一种基于NB-IoT技术的物联网数据传输方法的可选实施方式,判断数据是否需要分帧的方法为:获取数据的数据长度,如果数据长度大于预设阈值,则数据需要分帧,否则数据不需要分帧。根据数据长度与预设阈值进行比较,快速判断数据是否需要分帧。本方法根据数据长度与预设阈值进行比较,快速判断数据是否需要分帧,其中预设阈值可以根据实际情况进行设置。
作为一种基于NB-IoT技术的物联网数据传输方法的可选实施方式,如图4所示,所述将数据帧逐帧通过IoT平台传输到NB-IoT模块包括:
步骤S221:应用服务端将帧数据帧通过IoT平台发送到NB-IoT模块;
步骤S222:NB-IoT模块接收数据帧,并根据接收的数据帧反馈数据应答;
步骤S223:应用服务端接收数据应答,并根据数据应答发送下一帧数据帧;
步骤S224:重复步骤S232至步骤S233,直到NB-IoT模块接收到全部所述数据帧。
上述基于NB-IoT技术的物联网数据传输方法中,NB-IoT模块在接收数据帧后反馈数据应答,应用服务端根据数据应答进行下一帧数据帧的发送,进而保证数据帧的逐帧发送和数据发送接收的完整性。可以知道的,上述步骤S221中,应用服务端所发送的数据帧为数据的第一帧数据。
作为一种基于NB-IoT技术的物联网数据传输方法的可选实施方式,步骤S222中,NB-IoT模块接收数据帧时,对接收的数据帧进行校验,如果校验通过,则根据接收的数据帧反馈数据应答给应用服务端;如果校验不通过,则反馈重发信号给应用服务端,由应用服务端重新发送该数据帧,直到检验成功。作为检验位的一种设置方案,所述校验位为数据帧中校验位前所有数据值的总和。步骤S222中,NB-IoT模块接收到数据帧后,根据接收的数据帧中校验位前所有数据值的总和与校验位进行比较以实现对数据帧的检验,如果接收的数据帧中校验位前所有数据值的总和与校验位的数值相同,则校验通过,否则校验不通过。
作为上述一种基于NB-IoT技术的物联网数据传输方法的另一种可选实施方式,校验位为数据拆分为数据帧前该数据中各个数据值的总和。NB-IoT模块接收到全部数据帧并合并所述数据帧后,计算合并后的数据中各个数据值的总和并将其与校验位进行比对,判断数据是否完整,如果数据不完整,则通知应用服务端重新发送该数据。这样的方式优点在于,无需每个数据帧都进行校验,只需对数据本身进行校验即可,提高了校验效率。
为了便于服务端进行数据应答,数据帧还包括帧类型,用于表示数据帧是普通数据帧还是响应帧,可以用0表示普通数据帧,用1表示响应帧;当NB-IoT模块接收数据帧需要反馈数据应答时,数据应答无需特殊生成,只需将接收的数据帧中的帧类型从普通数据帧修改为响应帧后再反馈给应用服务端。
步骤S124中,可以由应用服务端判断NB-IoT模块接收到全部所述数据帧,也可以由NB-IoT模块判断NB-IoT模块接收到全部所述数据帧。
如果由NB-IoT模块判断NB-IoT模块是否接收到全部所述数据帧,则可以通过如下方式判断:通过NB-IoT模块判断NB-IoT模块所接收的数据帧是否为最后一帧,如果是最后一帧,则判断NB-IoT模块接收到全部所述数据帧。其中,NB-IoT模块判断所接收的数据帧是最后一帧可以根据数据帧中总帧数与当前帧是否相同进行判断,如果总帧数与当前帧相同,则表示服务端判断所接收的数据帧是最后一帧。
如果由应用服务端判断NB-IoT模块是否接收到全部所述数据帧,则可以通过如下方式判断:通过应用服务端判断应用服务端接收的应答是否为最后一帧数据的应答,如果是最后一帧数据的应答,则判断NB-IoT模块接收到全部所述数据帧。其中,判断应用服务端接收的应答是否为最后一帧数据的应答可以根据应答的总帧数与当前帧是否相同进行判断,如果总帧数与当前帧相同,则判断应用服务端接收的应答为最后一帧数据的应答。
步骤S222中,如果NB-IoT模块接收的数据帧不是最后一帧,且NB-IoT模块反馈数据应答给应用服务端后设定时间内未接收到下一帧数据帧,则重新反馈数据应答给应用服务端。本方法通过建立重发机制,保证数据的完整性,其中,设定时间可设置为30秒,也可根据实际情况进行调整。
作为一种基于NB-IoT技术的物联网数据传输方法的可选实施方式,所述应用服务端包括转换服务器和应用服务器,所述转换服务器通过Https协议与IoT平台通信,所述转换服务器通过TCP协议与应用服务器通信。通过转换服务器进行中转,将其从各个应用服务器接收的数据转发给IoT平台,使得多个应用服务器由一个转换服务器进行数据转换。
作为一种基于NB-IoT技术的物联网数据传输方法的一种实施方式,将数据帧逐帧通过IoT平台依次传输到NB-IoT模块过程中,应用服务端对数据帧进行加密和组装,并将加密和组装后的数据帧传输到IoT平台,数据帧从应用服务端传输到IoT平台时,IoT平台对数据帧进行解析和解密,并将解析和解密后的数据帧传输到NB-IoT模块。通过应用服务端对数据帧进行加密和组装,在数据传输过程中保证数据的秘密性,进一步的,由应用服务端的转换服务对数据帧进行所述加密和组装,达到更高效加密和组装的目的。本实施例中,组装可以为将数据帧转化为json格式字符串,而解析则相反,将json格式字符串转化为数据帧;加密和解密可以用常规的加密和解密方法,本实施例不再进行详细描述。
实施例3:
以将本发明方法运用于燃气远程抄表系统为例进行进一步阐述:
燃气远程抄表系统通过计量单元采集燃气表的读数,表端汇总计量、阀门、表状态等数据并通过NB-IoT模块连接互联网将数据传输到服务端;服务端结算后将剩余金额和实时单价传输到表端,达到远程抄表、阶梯气价实时调整、远程阀门控制、大数据收集及分析的目的。
其数据传输过程如下:
NB-IoT模块预上报数据给应用服务端时,判断数据是否需要分帧,如果数据需要分帧,则执行如下步骤:
步骤S11:NB-IoT模块将数据拆分为若干数据帧;
步骤S12:NB-IoT模块将数据帧逐帧通过IoT平台传输到应用服务端;
步骤S13:应用服务端接收到全部数据帧后合并所述数据帧。
应用服务端下发指令给NB-IoT模块时,判断数据是否需要分帧,如果数据需要分帧,则执行如下步骤:
步骤S21:应用服务端将数据拆分为若干数据帧;
步骤S21:应用服务端将数据帧逐帧通过IoT平台传输到NB-IoT模块;
步骤S22:NB-IoT模块接收到全部所述数据帧后合并所述数据帧。
其中,判断数据是否需要分帧的方法为:获取数据的数据长度,如果数据长度大于预设阈值,则数据需要分帧,否则数据不需要分帧。
其中,将数据帧逐帧通过IoT平台传输到应用服务端的步骤为:
步骤S121:NB-IoT模块将数据帧通过IoT平台发送到应用服务端;
步骤S122:应用服务端接收数据帧,并根据接收的数据帧反馈数据应答给NB-IoT模块;
步骤S123:NB-IoT模块接收数据应答,并根据数据应答发送下一帧数据帧;
步骤S124:重复步骤S122至步骤S123,直到应用服务端接收到全部所述数据帧。
其中,将所述将数据帧逐帧通过IoT平台传输到NB-IoT模块包括:
步骤S221:应用服务端将帧数据帧通过IoT平台发送到NB-IoT模块;
步骤S222:NB-IoT模块接收数据帧,并根据接收的数据帧反馈数据应答;
步骤S223:应用服务端接收数据应答,并根据数据应答发送下一帧数据帧;
步骤S224:重复步骤S232至步骤S233,直到NB-IoT模块接收到全部所述数据帧。
其中,将数据帧逐帧通过IoT平台传输到应用服务端过程中,数据帧传输到IoT平台时,IoT平台对数据帧进行加密和组装,并将加密和组装后的数据帧传输到应用服务端;应用服务端接收到IoT平台传输的数据帧后对数据帧进行解析和解密。将数据帧逐帧通过IoT平台依次传输到NB-IoT模块过程中,应用服务端对数据帧进行加密和组装,并将加密和组装后的数据帧传输到IoT平台,数据帧从应用服务端传输到IoT平台时,IoT平台对数据帧进行解析和解密,并将解析和解密后的数据帧传输到NB-IoT模块。
其中,应用服务端包括转换服务器和应用服务器,所述转换服务器通过Https协议与IoT平台通信,所述转换服务器通过TCP协议与应用服务器通信。
以上所述仅为本发明的具体实施例,但本发明的技术特征并不局限于此,任何本领域的技术人员在本发明的领域内,所作的变化或修饰皆涵盖在本发明的专利范围之中。