CN114666311A - 一种工程机械、工程机械软件升级方法及装置 - Google Patents
一种工程机械、工程机械软件升级方法及装置 Download PDFInfo
- Publication number
- CN114666311A CN114666311A CN202210306968.1A CN202210306968A CN114666311A CN 114666311 A CN114666311 A CN 114666311A CN 202210306968 A CN202210306968 A CN 202210306968A CN 114666311 A CN114666311 A CN 114666311A
- Authority
- CN
- China
- Prior art keywords
- fragment
- node
- upgrade package
- node set
- downloaded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 239000012634 fragment Substances 0.000 claims abstract description 200
- 230000015654 memory Effects 0.000 claims abstract description 26
- 238000013467 fragmentation Methods 0.000 claims description 12
- 238000006062 fragmentation reaction Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 12
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种工程机械、工程机械软件升级方法及装置,其中方法包括:当工程机械接收到升级命令时,在预设的路由表中寻找与工程机械的距离在第一范围内的节点,得到待查询节点集合;针对任一升级包分片,根据该升级包分片的分片信息在待查询节点集合中寻找包括该升级包分片的节点,得到分片节点集合,并在分片节点集合中的节点下载该升级包分片;遍历升级命令中所有的分片信息,得到与升级命令相对应的所有升级包分片;将下载的所有升级包分片进行组装得到需要下载的升级包。也就是说,引入了P2P下载升级包的方案,每个节点都可以成为下载源,能够降低服务器的带宽、内存、硬盘的需求,减小服务器的压力。
Description
技术领域
本发明涉及软件升级技术领域,具体涉及一种工程机械、工程机械软件升级方法及装置。
背景技术
随着工程机械设备普遍具有通信联网功能,通过OTA(over-the-air,空中升级)升级软硬件已经成为一种普遍选择。这是因为OTA技术可以通过远程快速的数据包形式完成缺陷的修复、不断开启新功能、优化产品体验。工程机械设备智能网联化的渗透使其搭载运行的应用软件数量骤增,软件更新迭代速度加快,对于OTA升级的要求也就更高,通常大家更希望升级时间更短,减少不必要的等待时间;升级过程更稳定可靠,不会频繁中断失败。
现有的物联网OTA技术,大都是由网络端给设备端发送升级指令,设备端根据指令中的升级包地址,从文件服务器上下载升级包,然后设备端解压文件升级软件。这种升级方式简单易行,但是当数以万计的设备需要同时升级时,对服务器就要求有更高的性能、带宽、稳定性,否则很容易出现性能瓶颈甚至故障。
业界处理这种突发状况的一般解决方法是增加带宽、采用固态硬盘、扩大内存或者增加文件服务器数据量,但这样成本会增加并且会有上限,在没有升级任务或者升级任务较少时,这些增加的资源、成本就显得有些浪费。
发明内容
有鉴于此,本发明实施例提供了一种工程机械、工程机械软件升级方法及装置,以解决为了应对服务器出现的瓶颈或故障,采用的增加带宽、采用固态硬盘、扩大内存或者增加文件服务器数据量等措施导致的成本增加的问题。
根据第一方面,本发明实施例提供了一种工程机械软件升级方法,包括以下步骤:当工程机械接收到升级命令时,在预设的路由表中寻找与所述工程机械的距离在第一范围内的节点,得到待查询节点集合,其中所述升级命令中包括需要下载的升级包中每个升级包分片的分片信息;针对任一升级包分片,根据该升级包分片的分片信息在所述待查询节点集合中寻找包括该升级包分片的节点,得到分片节点集合,并在所述分片节点集合中的节点下载该升级包分片;遍历所述升级命令中所有的分片信息,得到与所述升级命令相对应的所有升级包分片;将下载的所有升级包分片进行组装得到需要下载的升级包。
本发明实施例提供的工程机械软件升降方法,引入了P2P下载升级包的方案,每个节点都可以成为下载源,能够降低服务器的带宽、内存、硬盘的需求,减小服务器的压力,并且就算文件服务器崩溃,升级任务也可以正常进行下去。
结合第一方面,在第一方面第一实施方式中,在预设的路由表中寻找与所述工程机械的距离在第一范围内的节点,得到节点集合之前,还包括:设置所述工程机械与种子服务器之间的距离小于所述第一距离并根据种子服务器创建所述路由表。
结合第一方面第一实施方式,在第一方面第二实施方式中,所述根据种子服务器创建所述路由表包括:向所述种子服务器发送第一FIND_NODE请求消息;接收所述种子服务器返回的第一应答消息,组成当前节点集合;其中所述种子服务器根据K个距离所述工程机械最近的节点生成所述第一应答消息;将所述当前节点集合中的节点加入到所述路由表中;向所述当前节点集合中的每个节点发送第二FIND_NODE请求消息;获取所述当前节点集合中的每个节点针对所述第二FIND_NODE请求消息的第二应答消息,组成下一节点集合;其中对于所述当前节点集合中任一节点,根据K个距离该节点最近的节点生成所述第二应答消息;将所述下一节点集合加入到所述路由表中;判断加入所述下一节点集合后的所述路由表是否满足预设要求,当不满足时,将所述下一节点集合作为当前节点集合,并返回向所述当前节点集合发送第二FIND_NODE请求消息的步骤。
结合第一方面,在第一方面第三实施方式中,所述在所述分片节点集合中的节点下载该升级包分片包括:在所述分片节点集合中选取一个节点下载该升级包分片。
结合第一方面,在第一方面第四实施方式中,所述分片信息包括目标分片哈希值,在在所述分片节点集合中的节点下载该升级包分片之后,还包括:计算下载的该升级包分片的哈希值,得到下载分片哈希值;当所述下载分片哈希值与所述目标分片哈希值一致时,判定该升级包分片下载成功;当所述下载分片哈希值与所述目标分片哈希值不一致时,需要在所述分片节点集合中的节点重新下载该升级包分片。
结合第一方面第四实施方式,在第一方面第五实施方式中,所述分片信息还包括分片序号和分片长度,在判定该升级包分片下载成功之后,还包括:根据所述分片信息对下载成功的该升级包分片的分片序号和分片长度进行标注。
结合第一方面第五实施方式,在第一方面第六实施方式中,所述将下载的所有升级包分片进行组装得到需要下载的升级包包括:按照下载的所有升级包分片的分片序号将下载的所有升级包分片进行排序;按照下载的所有升级包分片的分片长度在排序好的所有升级包分片中割出相应位置流并按照分片算法重新组合包装得到需要下载的升级包。
结合第一方面第一实施方式,在第一方面第七实施方式中,在所述分片节点集合中的节点下载该升级包分片之前,还包括:针对所述分片节点集合中的任一节点,获取该节点的标识信息和加密秘钥;根据所述加密秘钥对所述标识信息进行解密,如果解密成功则判定该节点属于有效节点;否则判定该节点属于无效节点,并在所述分片节点集合中剔除该节点;遍历所述分片节点集合中所有节点,得到修正后的分片节点集合。
根据第二方面,本发明实施例还提供了一种工程机械软件升级装置,包括节点查询模块、下载模块和组装模块;当工程机械接收到升级命令时,所述节点查询模块用于在预设的路由表中寻找与所述工程机械的距离在第一范围内的节点,得到待查询节点集合,其中所述升级命令中包括需要下载的升级包中每个升级包分片的分片信息;所述下载模块用于针对任一升级包分片,根据该升级包分片的分片信息在所述待查询节点集合中寻找包括该升级包分片的节点,得到分片节点集合,并在所述分片节点集合中的节点下载该升级包分片;遍历所述升级命令中所有的分片信息,得到与所述升级命令相对应的所有升级包分片;所述组装模块,用于将下载的所有升级包分片进行组装得到需要下载的升级包。
根据第三方面,本发明实施例提供了一种工程机械,包括存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的工程机械软件升级方法。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1为kad算法中二叉树示意图;
图2为kad算法中k-桶示意图;
图3为本发明实施例1中工程机械软件升级方法的流程示意图;
图4为工程机械与种子文件服务器组成的P2P网络示意图;
图5为本发明实施例2中工程机械软件升级装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例1提供了一种工程机械软件升级方法。本发明实施例1的工程机械软件升级方法基于P2P网络。P2P网络包括四个发展阶段:集中式网络,纯分布式网络,混合式网络,结构化网络。
结构化网络也是一种分布式网络结构,但又与纯分布式网络有所区别。纯分布式网络就是一个随机网络,而结构化网络则将所有节点按照某种结构有序的组织起来,比如形成一个环状网络或者树状的网络。结构化网络的具体实现上普遍都是基于DHT(Distributed Hash Table,分布式哈希表)算法,具体的实现方案包括Chord、Pastry、CAN、Kademlia等算法。
在本发明实施例1中采用Kademlia算法构建P2P网络,也可称为Kad网络。在Kad网络中每个节点都有一个随机产生的160bit的标识符作为节点ID,Kad算法通过计算节点ID间的距离来快速路由和定位资源。需要说明的是,Kad算法通过异或节点ID来计算节点之间的距离,这个距离是逻辑上的距离并不是节点间物理上的距离。
在Kad算法中,根据每个节点的ID按照映射规则映射到二叉树中。具体的,映射规则包括:Step1:先把key(如节点ID)以二进制形式表示,然后从高位到地位依次按Step2~Step3处理。Step2:二进制的第n位对应二叉树的第n层。Step3:如果当前位是1,进入右子树,如果是0则进入左子树(人为设定,可以反过来)。Step4:按照高位到地位处理完后,这个Key值就对应于二叉树上的某个叶子节点。当把所有节点ID都按照上述步骤操作后,会发现,这些节点形成一颗二叉树,如图1所述。
每一个节点都可以从自己的视角来对二叉树进行拆分。拆分规则是从根节点开始,把不包含自己的子树拆分出来,然后在剩下的子树再拆分不包含自己的下一层子树,以此类推,直到最后只剩下自己。如上图1所示,以节点ID为6(110)为视角进行拆分,可以得到3个子树(灰色圆圈)。
假设每个节点ID是N bits。每个节点按照自己视角拆分完子树后,一共可以得到N个子树。只要知道每个子树里的一个节点就可以实现所有节点的遍历。但是,在实际使用过程中,考虑到健壮性(每个节点可能推出或者宕机),只知道一个节点是不够的,需要之多多几个节点才比较保险。所以,在Kad算法中使用了K-桶的概念来存储其他邻近节点的状态信息(节点ID、IP和端口)。也就是说,每个节点在完成拆分子树以后,要记录每个子树里面K个节点。这里K是一个系统级常量,例如K取8。
K桶实际上就是路由表。每个节点按照自己视角拆分完子树后,可以得到N个子树,那么就需要维护N个路由表(对应N个K-桶)。如下图2所示,对于160bit的节点ID,就有160个K-桶,对于每一个K-桶i会存储与自己距离在区间[2i,2i+1)范围内的K个节点的信息。
图3为本发明实施例1中工程机械软件升级方法的流程示意图,如图3所示,本发明实施例1的工程机械软件升级方法包括以下步骤:
S101:当工程机械接收到升级命令时,在预设的路由表中寻找与所述工程机械的距离在第一范围内的节点,得到待查询节点集合,其中所述升级命令中包括需要下载的升级包中每个升级包分片的分片信息。
在本发明实施例1中,每个升级包分片的分片信息包括以下中一项或多项:目标分片哈希值、分片序号、分片长度。
在本发明实施例1中,可以利用多个工程机械(例如图4所示的机械1、机械2、机械3和机械4)和种子服务器(也可称为种子文件服务器)组成P2P网络。每个工程机械可以看成是P2P网络中的一个节点。
在本发明实施例1中,第一距离为逻辑上的距离并不是节点间物理上的距离,利用异或运算规则进行计算。
具体的,在预设的路由表中寻找与所述工程机械的距离在第一范围内的节点,得到节点集合之前,还包括:设置所述工程机械与种子服务器之间的距离小于所述第一距离并根据种子服务器创建所述路由表。由此可以将种子服务器加入到所述工程机械的K桶中。这是因为,种子服务器肯定是拥有全部升级包分片的节点,由此可以增加寻找节点的效率,加快下载速度。
更加具体的,所述根据种子服务器创建所述路由表可以采用以下方案:向所述种子服务器发送第一FIND_NODE请求消息;接收所述种子服务器返回的第一应答消息,组成当前节点集合;其中所述种子服务器根据K个距离所述工程机械最近的节点生成所述第一应答消息;将所述当前节点集合中的节点加入到所述路由表中;向所述当前节点集合中的每个节点发送第二FIND_NODE请求消息;获取所述当前节点集合中的每个节点针对所述第二FIND_NODE请求消息的第二应答消息,组成下一节点集合;其中对于所述当前节点集合中任一节点,根据K个距离该节点最近的节点生成所述第二应答消息;将所述下一节点集合加入到所述路由表中;判断加入所述下一节点集合后的所述路由表是否满足预设要求,当不满足时,将所述下一节点集合作为当前节点集合,并返回向所述当前节点集合发送第二FIND_NODE请求消息的步骤。
需要说明的是,在本发明实施例1中,K为系统常量,例如K可以为8。示例的,路由表的创建方法包括以下步骤:
1、Node Root(即种子服务器)在收到Node A(即工程机械)的第一FIND_NODE请求后,会根据第一FIND_NODE请求的约定,找到最多8个距离Node A最近的节点,假设为Node1、Node 2、Node 3、Node 4、Node 5、Node 6、Node 7、Node 8,并返回给Node A;
2、Node A收到这些节点后会将它们加入到K-桶中;
3、Node A继续向Node 1、Node 2、Node 3、Node 4、Node 5、Node 6、Node 7、Node 8分别发起第二FIND_NODE请求;下面以Node 1为例进行说明,Node 1在收到Node A的第二FIND_NODE请求后,会根据第二FIND_NODE请求的约定,找到最多8个距离Node 1最近的节点,假设为Node 11、Node12、Node 13、Node 14、Node15、Node 16、Node 17、Node18,并返回给Node A,Node A收到这些节点后会将他们加入到K-桶……直到Node A的路由表中每个K-Buckets中最多8个节点或者遍历完整个网络为止。需要说明的是,Node A在建立路由表的同时,其他车辆也能够使用Node A的路由表更新它们的路由表。
S102:针对任一升级包分片,根据该升级包分片的分片信息在所述待查询节点集合中寻找包括该升级包分片的节点,得到分片节点集合,并在所述分片节点集合中的节点下载该升级包分片;遍历所述升级命令中所有的分片信息,得到与所述升级命令相对应的所有升级包分片。
作为具体的实施方式,所述在所述分片节点集合中的节点下载该升级包分片可以采用如下方案:在所述分片节点集合中选取一个节点下载该升级包分片。
进一步的,在本发明实施例1中,按照最少优先原则确定需要下载的升级包中每个升级包分片的下载顺序。最少优先选择可以理解为:分别获取与每个升级包分片相对应的分片节点集合中分片节点的数量,按照分片节点的数量由少到多的顺序确定升级包分片的下载顺序。示例的,假设有两个升级包分片A和B,其中与升级包分片A相对应的分片节点集合中分片节点的数量为3个,也就是说,有3个节点中包含升级包分片A;与升级包分片B相对应的分片节点集合中分片节点的数量为1个,也就是说,有1个节点中包含升级包分片B,那么先下载升级包分片B,再下载升级包分片A。
进一步的,在所述分片节点集合中的节点下载该升级包分片之前,还包括:针对所述分片节点集合中的任一节点,获取该节点的标识信息和加密秘钥;根据所述加密秘钥对所述标识信息进行解密,如果解密成功则判定该节点属于有效节点;否则判定该节点属于无效节点,并在所述分片节点集合中剔除该节点;遍历所述分片节点集合中所有节点,得到修正后的分片节点集合。由此可以防止未授权的用户加入到P2P网络,上传非法文件或者下载机密文件。
进一步的,在在所述分片节点集合中的节点下载该升级包分片之后,还包括以下步骤:计算下载的该升级包分片的哈希值,得到下载分片哈希值;当所述下载分片哈希值与所述目标分片哈希值一致时,判定该升级包分片下载成功;当所述下载分片哈希值与所述目标分片哈希值不一致时,需要在所述分片节点集合中的节点重新下载该升级包分片。
更进一步的,在判定该升级包分片下载成功之后,还包括:根据所述分片信息对下载成功的该升级包分片的分片序号和分片长度进行标注。
S103:将下载的所有升级包分片进行组装得到需要下载的升级包。
作为具体的实施方式,所述将下载的所有升级包分片进行组装得到需要下载的升级包可以采用如下方案:按照下载的所有升级包分片的分片序号将下载的所有升级包分片进行排序;按照下载的所有升级包分片的分片长度在排序好的所有升级包分片中割出相应位置流并按照分片算法重新组合包装得到需要下载的升级包。
示例的,工程机械软件升级方法可以采用如下步骤:
1、在云控平台注册工程车辆。
2、接入工程车辆,车辆鉴权。鉴权成功后云控平台返回使用DES加密算法通过设备ip,port加密得到的authentication Id,车辆需要保存鉴权成功的信息authenticationId。
3、云控平台创建升级任务,上传升级版本包,云控平台将升级包制作成种子文件后上传到种子文件服务器(中心文件服务器)。制作得到的种子记录每个分片信息(包括文件名、长度、编号和哈希值)以及种子文件服务器Node root的信息(IP,port,Node Id,种子标记)。种子标记标识此节点是种子节点,无需鉴权。
4、触发升级任务,云控平台将携带升级包种子的升级命令下发到目标车辆Node A(Node Id=160bits),此时Node A得到种子就表示其拥有了升级包分片的所有信息,NodeA如果没有路由表K-Buckets,则先根据种子服务器创建路由表,之后在路由表中寻找20个距离自身最近的节点(文件服务器设置为一定包含在路由表中),之后Node A根据加密authentication Id的算法逆向解密,如果解密成功则认为鉴权成功。
5、下载升级包,Node A从鉴权成功的节点中寻找升级包分片,在这些节点中查找是否有升级包分片,有哪些分片,如果有则开始下载。Node A从鉴权成功的节点中随机下载没有的分块,如果下载成功,则通知其他下载节点。下载完成一个分片后,会校验分片的hash值是否与种子中的一致,一致才是有效的升级包分片,下载完成校验完整性后,只要按照分片所属位置排好序,按照文件长度从分片组合中割出相应位置流并按照分片算法重新组合包装为文件就行了。合并完成后开始升级。如果没有则在这些节点中的路由表中递归查找。
本发明实施例1提供的工程机械软件升降方法,引入了P2P下载升级包的方案,每个节点都可以成为下载源,能够降低服务器的带宽、内存、硬盘的需求,减小服务器的压力,并且就算文件服务器崩溃,升级任务也可以正常进行下去。
实施例2
与本发明实施例1相对应,本发明实施例2提供了一种工程机械软件升级装置。图5为本发明实施例2中工程机械软件升级装置的结构示意图,如图5所示,本发明实施例2的工程机械软件升级装置包括节点查询模块20、下载模块21和组装模块22。
具体的,节点查询模块20,当工程机械接收到升级命令时,用于在预设的路由表中寻找与所述工程机械的距离在第一范围内的节点,得到待查询节点集合,其中所述升级命令中包括需要下载的升级包中每个升级包分片的分片信息;
下载模块21,用于针对任一升级包分片,根据该升级包分片的分片信息在所述待查询节点集合中寻找包括该升级包分片的节点,得到分片节点集合,并在所述分片节点集合中的节点下载该升级包分片;遍历所述升级命令中所有的分片信息,得到与所述升级命令相对应的所有升级包分片;
组装模块22,用于将下载的所有升级包分片进行组装得到需要下载的升级包。
上述工程机械软件升级装置具体细节可以对应参阅图1至图4所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
实施例3
本发明实施例还提供了一种工程机械,该工程机械可以包括处理器和存储器,其中处理器和存储器可以通过总线或者其他方式连接。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的工程机械软件升级方法对应的程序指令/模块(例如,图4所示的节点查询模块20、下载模块21和组装模块22)。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的工程机械软件升级方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器中,当被所述处理器执行时,执行如图1至图4所示实施例中的工程机械软件升级方法。
上述电子设备具体细节可以对应参阅图1至图5所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种工程机械软件升级方法,其特征在于,包括:
当工程机械接收到升级命令时,在预设的路由表中寻找与所述工程机械的距离在第一范围内的节点,得到待查询节点集合,其中所述升级命令中包括需要下载的升级包中每个升级包分片的分片信息;
针对任一升级包分片,根据该升级包分片的分片信息在所述待查询节点集合中寻找包括该升级包分片的节点,得到分片节点集合,并在所述分片节点集合中的节点下载该升级包分片;遍历所述升级命令中所有的分片信息,得到与所述升级命令相对应的所有升级包分片;
将下载的所有升级包分片进行组装得到需要下载的升级包。
2.根据权利要求1所述的方法,其特征在于,在预设的路由表中寻找与所述工程机械的距离在第一范围内的节点,得到节点集合之前,还包括:
设置所述工程机械与种子服务器之间的距离小于所述第一距离并根据种子服务器创建所述路由表。
3.根据权利要求2所述的方法,其特征在于,所述根据种子服务器创建所述路由表包括:
向所述种子服务器发送第一FIND_NODE请求消息;
接收所述种子服务器返回的第一应答消息,组成当前节点集合;其中所述种子服务器根据K个距离所述工程机械最近的节点生成所述第一应答消息;
将所述当前节点集合中的节点加入到所述路由表中;
向所述当前节点集合中的每个节点发送第二FIND_NODE请求消息;
获取所述当前节点集合中的每个节点针对所述第二FIND_NODE请求消息的第二应答消息,组成下一节点集合;其中对于所述当前节点集合中任一节点,根据K个距离该节点最近的节点生成所述第二应答消息;
将所述下一节点集合加入到所述路由表中;
判断加入所述下一节点集合后的所述路由表是否满足预设要求,当不满足时,将所述下一节点集合作为当前节点集合,并返回向所述当前节点集合发送第二FIND_NODE请求消息的步骤。
4.根据权利要求1所述的方法,其特征在于,所述在所述分片节点集合中的节点下载该升级包分片包括:
在所述分片节点集合中选取一个节点下载该升级包分片。
5.根据权利要求1所述的方法,其特征在于,所述分片信息包括目标分片哈希值,在在所述分片节点集合中的节点下载该升级包分片之后,还包括:
计算下载的该升级包分片的哈希值,得到下载分片哈希值;
当所述下载分片哈希值与所述目标分片哈希值一致时,判定该升级包分片下载成功;
当所述下载分片哈希值与所述目标分片哈希值不一致时,需要在所述分片节点集合中的节点重新下载该升级包分片。
6.根据权利要求5所述的方法,其特征在于,所述分片信息还包括分片序号和分片长度,在判定该升级包分片下载成功之后,还包括:
根据所述分片信息对下载成功的该升级包分片的分片序号和分片长度进行标注。
7.根据权利要求6所述的方法,其特征在于,所述将下载的所有升级包分片进行组装得到需要下载的升级包包括:
按照下载的所有升级包分片的分片序号将下载的所有升级包分片进行排序;
按照下载的所有升级包分片的分片长度在排序好的所有升级包分片中割出相应位置流并按照分片算法重新组合包装得到需要下载的升级包。
8.根据权利要求2所述的方法,其特征在于,在所述分片节点集合中的节点下载该升级包分片之前,还包括:
针对所述分片节点集合中的任一节点,获取该节点的标识信息和加密秘钥;
根据所述加密秘钥对所述标识信息进行解密,如果解密成功则判定该节点属于有效节点;否则判定该节点属于无效节点,并在所述分片节点集合中剔除该节点;
遍历所述分片节点集合中所有节点,得到修正后的分片节点集合。
9.一种工程机械软件升级装置,其特征在于,包括:
节点查询模块,当工程机械接收到升级命令时,用于在预设的路由表中寻找与所述工程机械的距离在第一范围内的节点,得到待查询节点集合,其中所述升级命令中包括需要下载的升级包中每个升级包分片的分片信息;
下载模块,用于针对任一升级包分片,根据该升级包分片的分片信息在所述待查询节点集合中寻找包括该升级包分片的节点,得到分片节点集合,并在所述分片节点集合中的节点下载该升级包分片;遍历所述升级命令中所有的分片信息,得到与所述升级命令相对应的所有升级包分片;
组装模块,用于将下载的所有升级包分片进行组装得到需要下载的升级包。
10.一种工程机械,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-8中任一项所述的工程机械软件升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210306968.1A CN114666311A (zh) | 2022-03-25 | 2022-03-25 | 一种工程机械、工程机械软件升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210306968.1A CN114666311A (zh) | 2022-03-25 | 2022-03-25 | 一种工程机械、工程机械软件升级方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114666311A true CN114666311A (zh) | 2022-06-24 |
Family
ID=82032702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210306968.1A Pending CN114666311A (zh) | 2022-03-25 | 2022-03-25 | 一种工程机械、工程机械软件升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114666311A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277414A (zh) * | 2022-07-26 | 2022-11-01 | 白犀牛智达(北京)科技有限公司 | 一种车辆自动升级系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008145066A1 (fr) * | 2007-05-31 | 2008-12-04 | Huawei Technologies Co, . Ltd. | Procédé de chargement de logiciel, système et équipement pour réseau de communication |
CN101478446A (zh) * | 2008-12-30 | 2009-07-08 | 华为技术有限公司 | 网络设备版本加载方法、装置和系统 |
CN102868731A (zh) * | 2012-08-27 | 2013-01-09 | 济南大学 | 软件在线升级及加速下载的方法和装置 |
CN109120677A (zh) * | 2018-07-25 | 2019-01-01 | Oppo广东移动通信有限公司 | 文件下载方法及相关产品 |
CN109885536A (zh) * | 2019-02-26 | 2019-06-14 | 深圳众享互联科技有限公司 | 一种基于分布式数据分片存储和模糊查找方法 |
CN110336741A (zh) * | 2019-08-20 | 2019-10-15 | 深圳市中仁信息科技有限公司 | 一种适于P2P即时通信的Kad算法的优化方法 |
CN110839235A (zh) * | 2018-08-17 | 2020-02-25 | 中兴通讯股份有限公司 | 一种终端升级方法、装置、设备及计算机可读介质 |
WO2021146896A1 (zh) * | 2020-01-21 | 2021-07-29 | 华为技术有限公司 | 文件分享方法、装置及系统 |
CN113572618A (zh) * | 2021-08-10 | 2021-10-29 | 东北大学 | 结合Fabric和IPFS的去中心化存储系统及其数据存储方法 |
-
2022
- 2022-03-25 CN CN202210306968.1A patent/CN114666311A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008145066A1 (fr) * | 2007-05-31 | 2008-12-04 | Huawei Technologies Co, . Ltd. | Procédé de chargement de logiciel, système et équipement pour réseau de communication |
CN101478446A (zh) * | 2008-12-30 | 2009-07-08 | 华为技术有限公司 | 网络设备版本加载方法、装置和系统 |
CN102868731A (zh) * | 2012-08-27 | 2013-01-09 | 济南大学 | 软件在线升级及加速下载的方法和装置 |
CN109120677A (zh) * | 2018-07-25 | 2019-01-01 | Oppo广东移动通信有限公司 | 文件下载方法及相关产品 |
CN110839235A (zh) * | 2018-08-17 | 2020-02-25 | 中兴通讯股份有限公司 | 一种终端升级方法、装置、设备及计算机可读介质 |
CN109885536A (zh) * | 2019-02-26 | 2019-06-14 | 深圳众享互联科技有限公司 | 一种基于分布式数据分片存储和模糊查找方法 |
CN110336741A (zh) * | 2019-08-20 | 2019-10-15 | 深圳市中仁信息科技有限公司 | 一种适于P2P即时通信的Kad算法的优化方法 |
WO2021146896A1 (zh) * | 2020-01-21 | 2021-07-29 | 华为技术有限公司 | 文件分享方法、装置及系统 |
CN113572618A (zh) * | 2021-08-10 | 2021-10-29 | 东北大学 | 结合Fabric和IPFS的去中心化存储系统及其数据存储方法 |
Non-Patent Citations (1)
Title |
---|
佘维等: "基于区块链的物联网节点位置隐私保护模型", 应用科学学报, no. 01, pages 1 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277414A (zh) * | 2022-07-26 | 2022-11-01 | 白犀牛智达(北京)科技有限公司 | 一种车辆自动升级系统 |
CN115277414B (zh) * | 2022-07-26 | 2023-10-27 | 白犀牛智达(北京)科技有限公司 | 一种车辆自动升级系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109889505B (zh) | 数据持有性验证方法及终端设备 | |
CN110489059B (zh) | 数据集群存储的方法、装置及计算机设备 | |
US10897431B2 (en) | Cloud resource processing method and physical node | |
CN109067930B (zh) | 域名接入方法、域名解析方法、服务器、终端及存储介质 | |
US7526530B2 (en) | System and method for cacheing web files | |
CN109246190B (zh) | 网络寻址方法、数据编辑方法、装置及存储介质 | |
CN110737663B (zh) | 一种数据存储方法、装置、设备及存储介质 | |
CN109542851A (zh) | 文件更新方法、装置及系统 | |
US10735308B2 (en) | Attestation based routing | |
CN112699094B (zh) | 文件存储方法、数据检索方法、相应装置及系统 | |
CN112968907B (zh) | 数据传输方法、数据存储方法、数据查询方法、介质及设备 | |
CN108881261B (zh) | 一种容器环境下基于区块链技术的服务认证方法及系统 | |
US20130198262A1 (en) | Management of communications between a client equipment and a server equipment providing to the client equipment computer resources represented according to a file system | |
CN103369002A (zh) | 一种资源下载的方法及系统 | |
CN114666311A (zh) | 一种工程机械、工程机械软件升级方法及装置 | |
US8984100B2 (en) | Data downloading method, terminal, server, and system | |
CN114731297B (zh) | 用于计算设备对等方匹配的消息限制的自组织网络组 | |
CN110855627B (zh) | 应用部署方法、装置、设备及介质 | |
US20170170958A1 (en) | Communication control device, communication control method, and computer program product | |
WO2020010906A1 (zh) | 操作系统os批量安装方法、装置和网络设备 | |
CN112187743B (zh) | 一种基于ip地址最长前缀的网络策略匹配方法及系统 | |
CN107395772B (zh) | 一种重复数据的管理方法及管理系统 | |
CN103746768A (zh) | 一种数据包的识别方法及设备 | |
CN114900497B (zh) | 一种标识序号生成方法、装置、电子设备及存储介质 | |
CN113420241A (zh) | 页面访问方法及装置、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220624 |