System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于OTA的设备在线升级以及实时获取文件传输进度的方法技术_技高网

基于OTA的设备在线升级以及实时获取文件传输进度的方法技术

技术编号:41210872 阅读:3 留言:0更新日期:2024-05-09 23:33
一种基于OTA的设备在线升级以及实时获取文件传输进度的方法,包括以下步骤:数据服务器对web端发送的报文进行校验,符合报文规范即进行报文切割解析,拿到设备编号及升级文件所在的地址,按升级文件所在的地址将文件分割转化为多个字节数组;对字节数组拼接,获得升级帧数据;数据服务端将所有升级帧数据,按顺序向低压设备逐条发送,低压设备向数据服务器响应相同序号特征的响应帧,响应帧与发送帧进行对比,若两个帧序号特征相同,重复发送升级帧、接收响应帧、对比帧序号特征直至所有升级帧数据传输完成;只要低压设备在线就可以在任何有网络的地方对低压设备进行升级迭代,有利于降低低压设备的运维成本。

【技术实现步骤摘要】

本专利技术涉及在线升级以及实时查看进度的方法领域,更具体地说,涉及一种基于ota的设备在线升级以及实时获取文件传输进度的方法。


技术介绍

1、传统上,升级固件或软件需要通过有线连接或可移动存储设备进行,这种方式存在很多局限性,例如:

2、1.受到地理位置限制:需要人员前往设备所在地进行升级。

3、2.时间限制:需要等待设备离线或者非工作时间进行升级。

4、3.安全性问题:通过usb或其他有线方式进行升级可能会带来潜在的风险。

5、4.效率低下:需要耗费大量的时间和人力进行升级。

6、为了保证低压设备版本迭代,需要回收低压设备,传统方法不仅耗时还有可能导致低压设备在运输的途中受到损害进而造成巨大的损失,鉴于此,本专利可以实现低压设备在线升级并实时获取低压设备升级进度,避免了因为低压设备版本迭代而造成的不必要的经济损失。


技术实现思路

1、为解决上述技术问题,本专利技术提供了一种基于ota的设备在线升级以及实时获取文件传输进度的方法,有利于降低低压设备的运维成本,通过记录文件传输的进度返回给用户,便于用户能够更加直接的了解低压设备在线升级迭代的进度。

2、一种基于ota的设备在线升级以及实时获取文件传输进度的方法,包括如下步骤:

3、(1)低压设备通过socket协议向数据服务器发送登录报文,在数据服务器验证报文的正确性之后将低压设备与数据服务器通过socket1连接;

4、(2)数据服务器与web端通过socket建立持久化连接socket2,并定时发送心跳数据包确认连接状态,用户操作web端上传升级文件,web端将升级文件保存到指定位置;

5、(3)应用web端通过socket2发送升级文件的报文给数据服务器,数据服务器对报文进行校验,若符合报文规范即进行报文切割解析处理,若不符合报文规范则返回给应用web端操作异常提醒;

6、对报文切割解析拿到设备编号及升级文件所在的地址,在用于保存低压设备状态的concurrenthashmap1(一种存储键值对的数据结构,绝对的统一性,多线程访问安全)中,根据设备编号作为键去查询该设备编号所对应低压设备是否在升级中,若当前低压设备正在升级中则会返回报文告知应用web端,若当前低压设备未在升级中则将当前socket2放入以设备编号为键的用于保存低压设备状态的concurrenthashmap1中;

7、(4)按升级文件所在的地址将文件分割转化为多个字节数组,数组总数记为m;

8、(5)将每个字节数组按照376.1协议拼接起来,在每个字节数组前添加设备编号及帧序号,每个字节数组后添加时间戳,组成m条升级帧数据,按帧序号对m条升级帧数据进行排序,同时创建以设备编号为键、以当前已向设备发送的帧条数及总帧数据条数为值的用于保存当前发送帧数的concurrenthashmap2;

9、(6)基于376.1协议,数据服务器向低压设备发送升级文件前需多发送一帧特定的重置帧,用以通知低压设备即将进行升级;

10、(7)数据服务端将步骤(5)获取的所有升级帧数据,按顺序向低压设备逐条发送;

11、在按顺序向低压设备发送升级帧数据时,当前升级帧条数记为n,将当前升级帧条数n跟升级帧数据的总条数m对比,如果当前升级帧条数n小于升级帧数据的总条数m,就将第n条数据发送给低压设备,并将n加1存入步骤(5)中创建的concurrenthashmap2中,用于防止重复发送或漏发;

12、(8)基于协议,低压设备在收到数据服务器发送的每条升级帧数据之后会向数据服务器响应相同序号特征的响应帧;数据服务器的响应线程将拿到的响应帧填入以低压设备编号为键的用于保存设备响应数据的concurrenthashmap3中,数据服务器的设备升级线程在用于保存设备响应数据的concurrenthashmap3中根据设备编号对应的拿到设备的响应帧,与发送帧进行对比,若两个帧序号特征相同且n小于m则将n加1;

13、(9)重复步骤(7)~(8),直到n不小于m传输结束。

14、步骤(8)还包括以下处理:

15、在将n加1的同时,不断将更新已发送帧数n+1 存入步骤(5)创建的用以保存当前发送帧数的concurrenthashmap2中,数据服务器将n+1与m+1的商作为升级迭代进度百分比通过socket2将升级迭代进度百分比发送到应用web端,进而在应用web端完成升级迭代进度展示,在n与m相等即完成升级时,在步骤(3)创建的用于保存低压设备状态的concurrenthashmap1中删除当前升级完成设备的id。

16、步骤(6)还包括以下处理:在将重置帧发送给设备时,若在传输的过程中低压设备与数据服务器断开连接,数据服务器会等待设备预设时间,若低压设备重新通过登录报文上线则数据服务端会重连socket1,并重新发送给设备。

17、步骤(7)还包括以下处理:当将n加1存入步骤(5)中创建的concurrenthashmap2中时,若低压设备与数据服务器断开连接,数据服务器会等待预设时间,若设备重新上线则根据concurrenthashmap2中记录的值,重新将对应帧数据通过socket1发送给设备,若设备没有上线,数据服务器则会生成传输超时的报文通过socket2返回给应用web端,进而反馈给用户升级异常。

18、预设时间为30s。

19、步骤(6)具体包括以下步骤:

20、数据服务器按协议,生成携带有序号、时间戳、设备编号数据的重置帧,并发给低压设备,低压设备将响应带有特征的响应帧给数据服务器,数据服务器收到响应帧后进行校验,校验成功后,将设备编号作键,1作为值存入步骤(5)创建的用以保存当前发送帧数的concurrenthashmap2中,此时低压设备的更新进度为1,总进度为步骤(5)中生成的所有帧数据总条数m加1,将进度使用socket2发送给web端,web端响应用户的查询进度请求,将进度展示给用户。

21、步骤(6)中,添加重置帧条数时,首条记作1。

22、步骤(7)中,将设备编号为键的用以保存当前发送帧数的concurrenthashmap2的值赋值为当前帧条数(n+1)时,首次n记作1,存入值为2。

23、实施本专利技术的基于ota的设备在线升级以及实时获取文件传输进度的方法,具有如下技术效果:本专利技术结合ota升级技术可对低压设备进行远程升级迭代,同时通过记录文件传输进度以返回文件传输情况,只要低压设备在线就可以在任何有网络的地方对低压设备进行升级迭代,有利于降低低压设备的运维成本,通过记录文件传输的进度返回给用户,便于用户能够更加直接的了解低压设备在线升级迭代的进度。

本文档来自技高网...

【技术保护点】

1.一种基于OTA的设备在线升级以及实时获取文件传输进度的方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种基于OTA的设备在线升级以及实时获取文件传输进度的方法,其特征在于,步骤(8)还包括以下处理:

3.根据权利要求1所述的一种基于OTA的设备在线升级以及实时获取文件传输进度的方法,其特征在于,步骤(6)还包括以下处理:在将重置帧发送给设备时,若在传输的过程中低压设备与数据服务器断开连接,数据服务器会等待设备预设时间,若低压设备重新通过登录报文上线则数据服务端会重连socket1,并重新发送给设备。

4.根据权利要求1所述的一种基于OTA的设备在线升级以及实时获取文件传输进度的方法,其特征在于,步骤(7)还包括以下处理:当将n加1存入步骤(5)中创建的ConcurrentHashMap2中时,若低压设备与数据服务器断开连接,数据服务器会等待预设时间,若设备重新上线则根据ConcurrentHashMap2中记录的值,重新将对应帧数据通过socket1发送给设备,若设备没有上线,数据服务器则会生成传输超时的报文通过socket2返回给应用web端,进而反馈给用户升级异常。

5.根据权利要求3或4所述的一种基于OTA的设备在线升级以及实时获取文件传输进度的方法,其特征在于,所述预设时间为30s。

6.根据权利要求1所述的一种基于OTA的设备在线升级以及实时获取文件传输进度的方法,其特征在于,步骤(6)具体包括以下步骤:

7.根据权利要求1或6所述的一种基于OTA的设备在线升级以及实时获取文件传输进度的方法,其特征在于,步骤(6)中,添加重置帧条数时,首条记作1。

8.根据权利要求1所述的一种基于OTA的设备在线升级以及实时获取文件传输进度的方法,其特征在于,步骤(7)中,将设备编号为键的用以保存当前发送帧数的ConcurrentHashMap2的值赋值为当前帧条数(n+1)时,首次n记作1,存入值为2。

...

【技术特征摘要】

1.一种基于ota的设备在线升级以及实时获取文件传输进度的方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种基于ota的设备在线升级以及实时获取文件传输进度的方法,其特征在于,步骤(8)还包括以下处理:

3.根据权利要求1所述的一种基于ota的设备在线升级以及实时获取文件传输进度的方法,其特征在于,步骤(6)还包括以下处理:在将重置帧发送给设备时,若在传输的过程中低压设备与数据服务器断开连接,数据服务器会等待设备预设时间,若低压设备重新通过登录报文上线则数据服务端会重连socket1,并重新发送给设备。

4.根据权利要求1所述的一种基于ota的设备在线升级以及实时获取文件传输进度的方法,其特征在于,步骤(7)还包括以下处理:当将n加1存入步骤(5)中创建的concurrenthashmap2中时,若低压设备与数据服务器断开连接,数据服务器会等待预设时间,若设备重新上线则根据concurrenthashma...

【专利技术属性】
技术研发人员:成诚凌在汛李昇崔一铂陈文张煜凝代雅雯李中元
申请(专利权)人:国网湖北省电力有限公司电力科学研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1