一种基于空中下载OTA技术的文件传输方法及装置与流程

文档序号:16775425发布日期:2019-02-01 18:41阅读:312来源:国知局
一种基于空中下载OTA技术的文件传输方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种基于空中下载ota技术的文件传输方法及装置。



背景技术:

在物联网场景下,需要在物联网云平台接入海量终端设备,这些终端设备很多都是资源受限类型的,即只有少量的内存空间和有限的计算能力,特别是nb-iot窄带物联网设备,这些设备常常被安放在各种不同的网络信号较差的环境下,比如:针对智慧森林需要放置到深山的防山林火灾设备,针对智慧停车需要买入地下的地磁设备,针对水利需要放入水下的设备等等,这些设备一旦被置入,一般取出都比较困难。由于这种场景的设备大多数都是资源受限型设备,在进行软件升级空中下载ota技术的文件传输的过程中,需要合理的利用资源,但传统的文件传输方式一旦开启下载时,就必须把整个文件下载完整结束,若网络信号较弱,容易造成升级中断,已经下载的不完整的文件需要重复下载,服务器端不能根据设备端的需求,从对应的文件位置开始传输文件,造成资源和网络带宽的浪费。并且目前的收费方式有两种:按流量收费和按次数收费,无论哪种收费方式,上述问题都会造成不必要的开销,所以在物联网应用场景下,需要解决固件ota升级时资源和网络带宽的合理使用的难题。



技术实现要素:

本发明提供一种基于空中下载ota技术的文件传输方法及装置,解决在物联网云平台中接入海量设备时,在进行设备升级时的ota文件传输问题。

为了解决上述的技术问题,本发明提供了一种基于空中下载ota技术的文件传输方法及装置,具体方法包括:

依照本发明第一方面,提供一种基于空中下载ota文件传输的方法,该方法包括:

对于服务器端,该方法包括:

接收设备端发送的ota下载请求信息,上述ota下载请求信息包括文件存放地址、数据块大小、数据块块号;

根据上述文件存放地址查找到对应的ota文件,并根据上述数据块大小将上述ota文件分割成与上述数据块大小相同大小的的携带数据块块号的数据块文件;

根据上述数据块块号从上述数据块文件中查找对应的数据块文件,向上述设备端传输查找到的与上述数据块块号对应的数据块文件。

对于上述设备端,该方法包括:

向服务器端发送ota下载请求信息,上述ota下载请求信息包括下文件存放地址、数据块大小、数据块块号;

接收服务器端传输的查找到的与所述数据块块号对应的数据块文件。

依照本发明第二方面,提供一种基于空中下载ota技术的文件传输的装置,包括:

对于服务器端,该装置包括:

下载请求接收单元,用于接收设备端发送的ota下载请求信息,上述ota下载请求信息包括文件存放地址、数据块大小、数据块块号;

文件分割单元,用于根据上述文件存放地址查找到对应的ota文件,并根据上述数据块大小将上述ota文件分割成与上述数据块大小相同大小的携带数据块块号的数据块文件;

文件发送单元,用于根据上述数据块块号从上述数据块文件中查找对应的数据块文件,向上述设备端传输查找到的与上述数据块块号对应的数据块文件。

对于上述设备端,该装置包括:

下载请求发送单元,用于向服务器端发送ota下载请求信息,上述ota下载请求信息包括下文件存放地址、数据块大小、数据块块号;

文件接收单元,用于接收服务器端传输的查找到的与上述数据块块号对应的数据块文件。

本发明提供的一种基于空中下载ota文件传输的方法,与现有技术相比,具有以下有益效果:

在上述方法中,接入上述物联网平台下的设备端在进行ota文件下载时,向服务器端发送带有数据块块号和数据块大小的ota文件下载请求信息,向服务器直接请求上述数据块块号对应的数据块文件,并从上述数据块文件开始下载数据块文件,这样的方法,可以让上述服务器端根据设备端的需求,从对应的位置开始下载,可以灵活满足设备端的下载需求从而节约网络带宽和资源,减少上述nb-iot设备端存储资源的浪费等。

附图说明

图1为本发明实施例一提供的一种基于空中下载ota文件传输的方法的示意图;

图2为本发明实施例二提供的物联网nb-iot设备进行空中下载软件升级fota中请求下载ota文件的示意图;

图3为实施例三提供的ota文件传输的设备端的方法的示意图;

图4为实施例三提供的ota文件传输的方法的服务器端的示意图;

图5为本发明实施例三提供的一种基于空中下载ota文件传输装置的装置图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

实施例一:

本发明提供一种基于空中下载ota文件传输的方法,物联网平台下包括服务器端和设备端,本实施例从服务器端和设备端配合的角度,说明基于物联网平台的ota文件传输的方法的具体实施例,如图1所示,其具体过程如下:

步骤101,设备端向服务器端发送ota下载请求信息,上述ota下载请求信息包括文件存放地址、数据块大小、数据块块号;

具体实施方式中,设备端以预选协议接入上述物联网平台,上述预选协议包括coap协议或者其他可以用来传输文件的网络协议,本领域的技术人员可根据实际情况设定。

上述coap协议,即constrainedapplicationprotocol,一种基于rest构架的传输协议,针对于物联网场景中资源受限型设备而制定的协议;由于物联网场景中,很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能力,所以传统的http协议应用在物联网上就显的过于庞大而不适用,上述的coap协议更适用于上述物联网的应用。

上述ota下载请求信息的数据块大小可由以下几种方式或其他可以实现的具体方式确定,包括:设备端在向服务器端发送ota下载请求信息前,与服务器端协商好的数据块大小并记录;或者接入上述物联网平台的预选协议规定的数据块大小,或者设备端根据自身存储空间限制计算出的数据块大小。

具体实施方式中,设备端初始进行ota文件下载时向服务器端发送初始ota下载请求信息,上述初始ota下载请求信息携带的数据块块号为默认的数据块块号;

设备端确定上述ota文件下载未完成时,向服务器端发送再次ota下载请求信息,上述再次ota下载请求信息为向服务器端发送的除初始ota下载请求信息外的ota下载请求信息,上述再次ota下载请求信息中的数据块块号,为设备端发送再次ota下载请求信息之前接收的最后一个数据块文件或其下一个数据块文件的数据块块号。

步骤102,服务器端接收设备端发送的ota下载请求信息,上述ota下载请求信息包括文件存放地址、数据块大小、数据块块号;

具体实施方式中,服务器端以与设备端接入上述物联网平台一致的预选协议接入上述物联网平台,上述预选协议包括coap协议。

在实施中,服务器端接收设备端初始进行ota文件下载时发送的初始ota下载请求信息,上述初始ota下载请求信息携带的数据块块号为默认的数据块块号;

服务器端接收设备端发送的再次ota下载请求信息,上述再次ota下载请求信息为设备端发送的除初始ota下载请求信息外的ota下载请求信息,上述再次ota下载请求信息中的数据块块号,为设备端发送再次ota下载请求信息之前接收的最后一个数据块文件或其下一个数据块文件的数据块块号。

服务器端解析ota文件下载请求信息,得出文件存放地址、数据块大小、数据块块号;在本实施例中,依据所选用的上述预选协议,利用coap协议进行上述数据块文件的传输的ota文件下载请求信息可为以下形式:coap://123.123.123.12:5685/ota/6/128;其中123.123.123.12为上述的文件存放地址,6为上述的数据块块号,128为上述数据块大小。

步骤103,服务器端根据上述文件存放地址查找到对应的ota文件,并根据上述数据块大小将上述ota文件分割成与上述数据块大小相同大小的的携带数据块块号的数据块文件;

步骤104,服务器端根据上述数据块块号从上述数据块文件查找对应的数据块文件,向上述设备端传输查找到的与上述数据块块号对应的数据块文件;

具体实施方式中,服务器端接收设备端成功收到每个数据块文件后的反馈确认信息。

步骤105,设备端接收服务器端传输的查找到的与上述数据块块号对应的数据块文件;

具体实施方式中,设备端将服务器端传输的数据块文件写入预设存储空间,并将上述数据块文件的数据块块号写入预设存储空间;

在实施中,上述设备端在成功接收服务器端传输的每个数据块文件后,向服务器端发送反馈确认信息。更新相应的下载状态标志位,根据上述下载状态标志位确定上述ota文件下载未完成时,继续向服务器端发送ota下载请求信息;确定上述ota文件下载完成时,停止向服务器端发送ota下载请求信息。

对上述下载标志位的具体形式和内容不做过多限制,本领域的技术人员可根据实际情况设置;

当上述设备端进行ota文件传输的过程中,出现网络中断的情况,则上述ota文件传输过程出现下载中断,则进行如下步骤:

步骤106,服务器端向上述设备端传输数据块文件时,确定与设备端间的网络连接断开时,停止采用ota方式向上述设备端传输数据块文件;

上述网络中断的情况包括:设备端与服务器端断开网络连接如上述物联网平台受环境影响,网络传输信号突然变差甚至消失等,或者设备端或服务器端本地的网络连接状态为断开时,即设备端或服务器端的网络连接设置出现错误,或突然断电等。

具体地,服务器端接收设备端接收到每个数据块文件后反馈的确认信息,上述确认信息用于确定与设备端间的网络连接断开,上述服务器端超过设定时间未收到设备端反馈的确认信息时,确定与设备端间的网络连接断开;或者,根据本地的网络连接状态指示,在指示的网络连接状态为断开时,确定网络断开。

设备端在ota文件下载中断后,上述设备端以网络中断前一致的预定协议接入到物联网云平台,并向服务器端发送再次ota下载请求信息。

在具体的实施方式中,设备端根据下载状态标志位判断网络中断前的上述ota文件下载是否完成,确定上述ota文件下载完成时,停止向服务器端发送ota下载请求信息,确定上述ota文件下载未完成时,向服务器端发送再次ota下载请求信息,上述再次ota下载请求信息为向服务器端发送的除初始ota下载请求信息外的ota下载请求信息,上述再次ota下载请求信息中的数据块块号,为设备端发送再次ota下载请求信息之前接收的最后一个数据块文件或其下一个数据块文件的数据块块号。

实施例二:

本实施例的应用场景为在进行空中下载软件升级fota的过程,fota为firmover-the-air移动终端的空中下载软件升级,指通过云端升级技术,为具有连网功能的设备提供固件升级服务。上述的foat包括交互过程,下载过程和设备升级过程,其中在交互过程和下载过程中用本发明上述的方法进行ota文件的传输。

设备端为连接在物联网平台的设备如手机、平板电脑、便携式媒体播放器、移动互联网设备、窄带物联网nb-iot设备等。

上述nb-iot设备和服务器端以预选协议接入物联网平台,本实施例中的预选协议为lwm2m协议和coap协议,nb-iot设备和服务器端以lwm2m协议接入到物联网云平台,以coap协议进行文件传输,上述lwm2m协议,即lightweightmachinetomachine,一种物联网协议,主要使用在资源受限(包括存储,功耗等方面)的嵌入式设备上,本具体实现方式如下,参见图2:

1)nb-iot设备与服务器端交互协商,确定数据块大小;

在本实施例中,确定数据块大小为64kb。

2)上述nb-iot设备向服务器端发送初始ota下载请求信息;

在本实施例中,根据所选用的coap传输协议及实际情况设定,上述nb-iot设备在初始进行ota文件下载时向服务器端发送coap://url:port/ota/n/m格式的初始ota下载请求信息为coap://123.123.123.12:5685/ota/1/64,其表示的意义为:上述nb-iot设备请求下载的ota文件的文件存放地址url为123.123.123.12,采用的传输协议为coap协议,当前上述nb-iot设备进行ota文件下载时的每块数据块文件的大小m为64kb,即数据块大小为64,文件传输的端口号port为5685,当前上述nb-iot设备已经下载的数据块文件的数据块块号为0,申请下载的数据块文件的块号n为1,即表示上述nb-iot设备当前还未下载上述ota文件,此刻开始向服务器端申请下载上述ota文件,申请上述ota文件按数据块大小为64kb分割的第一个数据块文件。

3)服务器端接收以预定协议接入到物联网云平台下的上述nb-iot设备发送的ota下载请求信息;

服务器端接收上述nb-iot设备发送的ota下载请求信息即coap://123.123.123.12:5685/ota/1/64,获得此刻上述nb-iot设备请求的ota文件的下载地址为123.123.123.12,上述ota文件分割文件的数据块大小为64kb,上述nb-iot设备申请下载的数据块文件为第一个数据块文件,上述ota下载的方式为coap协议规定的下载方式;

4)服务器端根据上述文件下载地址123.123.123.12查找到对应的ota文件,并根据上述数据块大小64将上述ota文件分割成64kb大小的携带数据块块号的block数据块文件;

在本实施例中,假设上述ota文件的大小为1024kb,则此时服务器端根据上述文件的大小和数据块大小将上述ota文件分割成16个携带数据块块号(从1到16)的数据块文件;

5)上述服务器端根据携带数据块块号的ota下载请求信息,从上述ota文件中查找到第1个block数据块文件,并采用coap协议规定的下载方式向上述nb-iot设备端传输该数据块文件,如图2中ackblock1所示。

6)上述nb-iot设备接收服务器端发送的第1个数据块文件,将上述第1个数据块文件和数据块块号1写入预设存储空间,并向服务器端上报反馈确认信息,报告上述nb-iot设备已成功接收第一个数据块文件;

上述nb-iot设备同时将下载状态标志位的值更新为0,确定上述ota文件下载未完成时,继续向服务器端发送ota下载请求信息即发送再次请求为coap://123.123.123.12:5685/ota/1/64;

在本实施例中设置下载状态标志位的值为0时表示上述ota文件正在下载且未完成,下载状态标志位的值为1时表示上述ota文件下载已完成;

在进行ota下载的过程中,某一时刻由于环境原因,上述nb-iot设备端与服务器端的网络连接中断,断网前上述nb-iot设备记录的已经下载的数据块块号为8,即图2中断网时设备端发送的下载请求信息中的n的值为8,此时则进行以下步骤进行上述ota文件的继续下载:

7)服务器端接收不到上述nb-iot设备端确认的反馈信息,确定与nb-iot设备间的网络连接断开,停止采用ota方式向上述nb-iot设备端传输数据块文件;

8)上述nb-iot设备端以coap协议重新连接入上述物联网平台,发送ota下载请求信息:coap://123.123.123.12:5685/ota/9/64,向服务器申请上述ota文件按64kb的大小分割成携带数据块块号的第9个数据块文件。

进而进入上述第3步到第6步的循环,服务器接收到coap://123.123.123.12:5685/ota/9/64,采用coap协议规定的下载方式向上述nb-iot设备端传输上述ota文件按64kb的大小分割成携带数据块块号的第9个数据块文件,进而再次发送ota下载请求信息至上述ota文件的16个数据块文件的下载完成。

9)上述ota文件下载完成后,上述nb-iot设备开始进行自升级,完成后重新启动进行注册,连接入上述物联网平台。

在上述方法中,接入上述物联网平台下的设备端在进行固件升级时ota文件下载时,当遭遇网络断点时,设备端直接进行重连,向服务器端发送带有数据块文件块号的ota文件下载请求信息,向服务器直接请求网络断点前已下载的ota分割的数据块文件的下一个数据块文件,节约了网络带宽和资源,减少了上述设备端的存储空间。

实施例三:

本实施例分别从服务器端和设备端的角度,说明一种基于物联网平台的空中下载ota文件传输方法具体实施例,其具体过程如下:

对于设备端,如图3所示,该方法包括:

步骤310,设备端向服务器端发送ota下载请求信息,上述ota下载请求信息包括下文件存放地址、数据块大小、数据块块号;

具体实施方式中,还包括,设备端以预选协议接入上述物联网平台,上述预选协议包括coap协议或者其他可以用来传输文件的网络协议,本领域的技术人员可根据实际情况设定;

上述ota下载请求信息的数据块大小可由以下几种方式或其他可以实现的具体方式确定,包括:设备端在向服务器端发送ota下载请求信息前,与服务器端协商好的数据块大小并记录;或者接入上述物联网平台的预选协议规定的;或者设备端根据自身存储空间限制计算出的数据块大小。

具体实施方式中,初始进行ota文件下载时向服务器端发送的初始ota下载请求信息,上述初始ota下载请求信息携带的数据块块号为默认的数据块块号;

确定上述ota文件下载未完成时,向服务器端发送再次ota下载请求信息,上述再次ota下载请求信息为向服务器端发送的除初始ota下载请求信息外的ota下载请求信息,上述再次ota下载请求信息中的数据块块号,为设备端发送再次ota下载请求信息之前接收的最后一个数据块文件或其下一个数据块文件的数据块块号。

步骤320,接收服务器端传输的查找到的与上述数据块块号对应的数据块文件。

具体实施方式中,将服务器端传输的数据块文件写入预定的存储空间,并将上述数据块文件的数据块块号写入预定的存储空间;

还包括,上述设备端成功接收服务器端传输的每个数据块文件后,向服务器端发送反馈确认信息,并更新相应的下载状态标志位,根据上述下载状态标志位确定上述ota文件下载未完成时,继续向服务器端发送ota下载请求信息;确定上述ota文件下载完成时,停止向服务器端发送ota下载请求信息。

对上述下载标志位的具体形式和内容不做过多限制,本领域的技术人员可根据实际情况设置。

对于服务器端,如图4所示,该方法包括:

步骤410,服务器端接收设备端发送的ota下载请求信息,上述ota下载请求信息包括文件存放地址、数据块大小、数据块块号;

具体实施方式中,还包括,服务器端以与设备端接入上述物联网平台一致的预选协议接入上述物联网平台,上述预选协议包括coap协议。

具体实施方式中,接收设备端初始进行ota文件下载时发送的初始ota下载请求信息,上述初始ota下载请求信息携带的数据块块号为默认的数据块块号;

接收设备端发送的再次ota下载请求信息,上述再次ota下载请求信息为设备端发送的除初始ota下载请求信息外的ota下载请求信息,上述再次ota下载请求信息中的数据块块号,为设备端发送再次ota下载请求信息时接收的最后一个数据块文件的数据块块号,或上述设备端申请下载的数据块文件的数据块块号。

步骤420,服务器端根据上述文件存放地址查找到对应的ota文件,并根据上述数据块大小将上述ota文件分割成与上述数据块大小相同大小的的携带数据块块号的数据块文件;

步骤430,服务器端根据上述数据块块号从上述数据块文件查找对应的数据块文件,向上述设备端传输查找到的与上述数据块块号对应的数据块文件;

具体实施方式中,还包括,服务器端接收设备端成功收到每个数据块文件后发送的反馈确认信息;上述确认信息用于确定与设备端间的网络连接断开,包括:上述服务器端超过设定时间未收到设备端反馈的确认信息时,确定与设备端间的网络连接断开;或者,确定与设备端间的网络连接断开,如:根据本地的网络连接状态指示,在指示的网络连接状态为断开时,确定网络断开。

本发明实施例中应用于服务器端和设备端的一种基于空中下载ota文件传输的方法中,各个步骤实施方式参见实施例一对应的描述,这里不再详述。

实施例四:

本发明提供一种基于空中下载ota文件传输装置,如图5所示,包括:

对于服务器端,该装置包括:

下载请求接收单元510,用于接收设备端发送的ota下载请求信息,所述ota下载请求信息包括文件存放地址、数据块大小、数据块块号;

具体的实施方式中,还包括,协议接入单元,用于以预选协议接入所述物联网平台,所述预选协议包括coap协议。

具体的实施方式中,接收设备端初始进行ota文件下载时发送的初始ota下载请求信息,所述初始ota下载请求信息携带的数据块块号为默认的数据块块号;

接收设备端发送的再次ota下载请求信息,所述再次ota下载请求信息为设备端发送的除初始ota下载请求信息外的ota下载请求信息,所述再次ota下载请求信息中的数据块块号;为设备端发送再次ota下载请求信息之前接收的最后一个数据块文件或其下一个数据块文件的数据块块号。

文件分割单元520,用于根据所述文件存放地址查找到对应的ota文件,并根据所述数据块大小将所述ota文件分割成与所述数据块大小相同大小的携带数据块块号的数据块文件;

文件发送单元530,用于根据上述数据块块号从所述数据块文件中查找对应的数据块文件,向所述设备端传输查找到的与所述数据块块号对应的数据块文件。

还包括,反馈信息接收单元540,用于接收设备端接收到每个数据块文件后发送的反馈确认信息;所述终止文件发送单元确定与设备端间的网络连接断开,包括:超过设定时间未收到设备端反馈的确认信息时,确定与设备端间的网络连接断开;或者,所述终止文件发送单元确定与设备端间的网络连接断开,包括:根据本地的网络连接状态指示,在指示的网络连接状态为断开时,确定网络断开。

具体的实施方式中,还包括,终止文件发送单元550,用于向所述设备端传输数据块文件时,确定与设备端间的网络连接断开时,停止向所述设备端传输数据块文件。

对于设备端,该装置包括:

下载请求发送单元560,用于向服务器端发送ota下载请求信息,所述ota下载请求信息包括下文件存放地址、数据块大小、数据块块号;

具体的实施方式中,还包括,协议接入单元,用于以与服务器端接入所述物联网平台一致的预选协议接入所述物联网平台,所述预选协议包括coap协议。

具体的实施方式中,初始进行ota文件下载时向服务器端发送的初始ota下载请求信息,所述初始ota下载请求信息携带的数据块块号为默认的数据块块号;

确定所述ota文件下载未完成时,向服务器端发送再次ota下载请求信息,所述再次ota下载请求信息为向服务器端发送的除初始ota下载请求信息外的ota下载请求信息,所述再次ota下载请求信息中的数据块块号;为设备端发送再次ota下载请求信息之前接收的最后一个数据块文件或其下一个数据块文件的数据块块号。

文件接收单元570,用于接收服务器端传输的查找到的与所述数据块块号对应的数据块文件。

具体的实施方式中,接收服务器端传输的数据块文件后,向服务器端发送反馈确认信息,并更新相应的下载状态标志位,根据所述下载状态标志位确定所述ota文件下载未完成时,继续向服务器端发送ota下载请求信息;确定所述ota文件下载完成时,停止向服务器端发送ota下载请求信息。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1