一种基于LORA协议的补丁升级方法、装置和系统与流程

文档序号:16262637发布日期:2018-12-14 21:42阅读:201来源:国知局
一种基于LORA协议的补丁升级方法、装置和系统与流程

本申请涉及计算机技术领域,尤其涉及一种基于lora协议的补丁升级方法、装置和系统。

背景技术

由于具备远距离、低功耗、多节点及低成本的特性,lora技术的应用越来越广泛。

然而,现有的lora协议产品在功能升级或问题修复时,需派遣维护人员或者工程师到现场,对产品进行现场修复或者是直接更换产品,导致产品修复和功能升级速度很慢,且增加了人力成本,如果直接更换产品,还会造成资源上的浪费。



技术实现要素:

本申请实施例提供了一种基于lora协议的补丁升级方法、装置和系统,使得可以远程完成lora协议产品的功能升级或问题修复,极大地提升了产品修复和功能升级速度,并节省了成本。

有鉴于此,本申请第一方面提供了一种基于lora协议的补丁升级方法,应用于服务器,包括:

发送校验指令至节点,使得所述校验指令、所述节点根据自身存储的版本号和密钥进行校验,所述校验指令中包括待校验版本号和待校验密钥;

在接收到所述节点发送的校验成功信息后,将数据命令下发至所述节点,使得所述节点将所述数据命令中的升级数据写入相应空间并使能,以完成补丁升级。

优选地,

将数据命令发送至所述节点,使得所述节点将所述数据命令中的升级数据存储至相应空间并使能,以完成补丁升级具体包括:

将一批数据命令重复多次发送至所述节点,使得所述节点在每次接收到一批数据命令后,将接收到的一批数据命令和自身已存在的数据命令进行比较,并保存自身不存在的数据命令,然后在接收次数达到预置次数后对保存的所有数据命令中的升级数据写入相应空间并使能,以完成补丁升级。

优选地,

在接收所述节点发送的校验成功信息后,在将数据命令发送至所述节点之前,还包括:

发送协议商定请求至所述节点以进行协议商定,并在接收到所述节点发送的协议商定成功信息后,根据协议商定的内容切换信道,以便通过切换后的信道与所述节点进行下一次通信。

本申请第二方面提供了一种基于lora协议的补丁升级装置,应用于服务器,包括:

第一校验单元,用于发送校验指令至节点,使得所述节点根据自身存储的版本号和密钥进行校验,所述校验指令中包括待校验版本号和待校验密钥;

命令下发单元,用于在接收到所述节点发送的校验成功信息后,将数据命令下发至所述节点,使得所述节点将所述数据命令中的升级数据写入相应空间并使能,以完成补丁升级。

优选地,

所述命令下发单元,具体用于将一批数据命令重复多次发送至所述节点,使得所述节点在每次接收到一批数据命令后,将接收到的一批数据命令和自身已存在的数据命令进行比较,并保存自身不存在的数据命令,然后在接收次数达到预置次数后对保存的所有数据命令中的升级数据写入相应空间并使能,以完成补丁升级。

优选地,

所述基于lora协议的补丁升级装置,还包括:

第一协议商定单元,用于发送协议商定请求至所述节点以进行协议商定,并在接收到所述节点发送的协议商定成功信息后,根据协议商定的内容切换信道,以便通过切换后的信道与所述节点进行下一次通信。

本申请第三方面提供了一种基于lora协议的补丁升级方法,应用于节点,包括:

接收服务器发送的校验指令,然后根据所述校验指令、所述节点根据自身存储的版本号和密钥进行校验,并在校验成功后发送校验成功信息至所述服务器,使得所述服务器下发相应的数据命令,所述校验指令中包括待校验版本号和待校验密钥;

在接收到所述服务器下发的所述数据命令后,将所述数据命令中的升级数据写入相应空间并使能,以完成补丁升级。

优选地,

若所述服务器重复多次发送一批数据命令,则在接收到所述服务器下发的所述数据命令后,将所述数据命令中的升级数据写入相应空间并使能,以完成补丁升级具体包括:

在每次接收到一批数据命令后,将接收到的一批数据命令和自身已存在的数据命令进行比较,并保存自身不存在的数据命令,然后在接收次数达到预置次数后对保存的所有数据命令中的升级数据写入相应空间并使能,以完成补丁升级。

优选地,

在发送校验成功信息至所述服务器后,在接收所述服务器下发的所述数据命令前,还包括:

接收所述服务器发送的协议商定请求,然后发送协议商定成功信息至所述服务器,使得所述服务器在接收到所述节点发送的协议商定成功信息后,根据协议商定的内容切换信道,以便通过切换后的信道与所述服务器进行下一次通信。

优选地,

在接收到所述服务器下发的所述数据命令后,在将所述数据命令中的升级数据写入相应空间并使能之前,还包括:

根据所述数据命令中的升级数据序号对所述数据命令中的升级数据进行整合,并根据所述数据命令中的升级数据数量判断是否有升级数据丢失;

若没有升级数据丢失,则对所有升级数据进行安全校验,以便在安全校验成功后将所述数据命令中的升级数据写入相应空间并使能。

本申请第四方面一种基于lora协议的补丁升级装置,应用于节点,包括:

第二校验单元,用于接收服务器发送的校验指令,然后根据所述校验指令、所述节点根据自身存储的版本号和密钥进行校验,并在校验成功后发送校验成功信息至所述服务器,使得所述服务器下发相应的数据命令,所述校验指令中包括待校验版本号和待校验密钥;

升级单元,用于在接收到所述服务器下发的所述数据命令后,将所述数据命令中的升级数据写入相应空间并使能,以完成补丁升级。

优选地,

若所述服务器重复多次发送一批数据命令,则所述升级单元具体用于:

在每次接收到一批数据命令后,将接收到的一批数据命令和自身已存在的数据命令进行比较,并保存自身不存在的数据命令,然后在接收次数达到预置次数后对保存的所有数据命令中的升级数据写入相应空间并使能,以完成补丁升级。

优选地,

所述基于lora协议的补丁升级装置,还包括:

第二协议商定单元,用于接收所述服务器发送的协议商定请求,然后发送协议商定成功信息至所述服务器,使得所述服务器在接收到所述节点发送的协议商定成功信息后,根据协议商定的内容切换信道,以便通过切换后的信道与所述服务器进行下一次通信。

优选地,

所述基于lora协议的补丁升级装置,还包括:

整合单元,根据所述数据命令中的升级数据序号对所述数据命令中的升级数据进行整合,并根据所述数据命令中的升级数据数量判断是否有升级数据丢失;

安全校验单元,用于当没有升级数据丢失时,对所有升级数据进行安全校验,以便在安全校验成功后将所述数据命令中的升级数据写入相应空间并使能。

本申请第五方面提供了一种系统,包括服务器和节点;

所述服务器,用于发送校验指令至节点,使得所述校验指令、所述节点根据自身存储的版本号和密钥进行校验,所述校验指令中包括待校验版本号和待校验密钥;

在接收到所述节点发送的校验成功信息后,将数据命令下发至所述节点,使得所述节点将所述数据命令中的升级数据写入相应空间并使能,以完成补丁升级;

所述节点,用于接收服务器发送的校验指令,然后根据所述校验指令、所述节点根据自身存储的版本号和密钥进行校验,并在校验成功后发送校验成功信息至所述服务器,使得所述服务器下发相应的数据命令,所述校验指令中包括待校验版本号和待校验密钥;

在接收到所述服务器下发的所述数据命令后,将所述数据命令中的升级数据写入相应空间并使能,以完成补丁升级。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请实施例中,提供了一种基于lora协议的补丁升级方法、装置和系统,服务器发送校验指令至节点,然后节根据校验指令、节点根据自身存储的版本号和密钥进行校验,并在校验成功后向服务器发送校验成功信息,校验指令中包括待校验版本号和待校验密钥;服务器在接收到节点发送的校验成功信息后,将数据命令下发至节点,使得节点将数据命令中的升级数据写入相应空间并使能,以完成补丁升级,所以本申请实施例可以远程完成lora协议产品的功能升级或问题修复,不需要维护人员或工程师到现场对lora协议产品进行功能升级或问题修复,极大地提升了产品修复和功能升级速度,提高了用户体验度,也不需要更换已有的lora协议产品,节省了成本。

附图说明

图1为本申请实施例中基于lora协议的补丁升级方法的第一实施例的方法流程图;

图2为本申请实施例中基于lora协议的补丁升级方法的第二实施例的方法流程图;

图3为本申请实施例中基于lora协议的补丁升级装置的一个结构示意图;

图4为本申请实施例中基于lora协议的补丁升级方法的第三实施例的方法流程图;

图5为本申请实施例中基于lora协议的补丁升级方法的第四实施例的方法流程图;

图6为本申请实施例中基于lora协议的补丁升级装置的一个结构示意图;

图7为本申请实施例中系统的一个实施例示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了便于对本申请实施例的技术方案进行理解,特进行以下说明:

在本身实施例中,服务器和节点间的通信都是基于lora协议进行的,对于lora协议产品,目前是通过人工现场进行功能升级及问题修复的,而本申请实施例可以远程完成lora协议产品的功能升级或问题修复,极大地提升了产品修复和功能升级速度,并节省了成本。

请参阅图1,图1为本申请实施例中基于lora协议的补丁升级方法的第一实施例的方法流程图。

本申请实施例提供了一种基于lora协议的补丁升级方法的第一实施例,应用于服务器,包括:

步骤101,发送校验指令至节点,使得校验指令、节点根据自身存储的版本号和密钥进行校验,校验指令中包括待校验版本号和待校验密钥。

在本申请实施例中,发送校验指令给节点的目的是请求功能升级或问题修复;而本申请实施例中的校验包括版本号校验和密钥校验两部分,需要说明的是,这两个校验过程的先后顺序不做限定,而且只有当版本号校验和密钥校验均成功后,节点才会让服务器发送校验成功信息。

在本申请实施例中,假设先进行版本号校验,如果校验成功则进行密钥校验,如果校验不成功,则代表此次补丁升级的对象不是节点中的lora协议产品。

步骤102,在接收到节点发送的校验成功信息后,将数据命令下发至节点,使得节点将数据命令中的升级数据写入相应空间并使能,以完成补丁升级。

在本申请实施例中,升级数据写入的空间可以是flash空间,也可以是其他存储空间,可以理解的是,还需将升级数据的代码执行地址等信息写入注册表,然后再使得,使得原有的lora协议产品执行到预留口后,程序会自动地跳转到代码执行地址以执行升级数据,从而完成补丁升级。

另外,为了便于再次进行补丁升级,还可以更新节点本地存储的版本号。

可以理解的是,在本申请实施例中,为了实现产品的批量升级,服务器还可以通过相应的网关同时向多个节点发送指令。

请参阅图2,图2为本申请实施例中基于lora协议的补丁升级方法的第二实施例的方法流程图。

本申请实施例提供了一种基于lora协议的补丁升级方法的第一实施例,应用于服务器,包括:

步骤201,发送校验指令至节点,使得校验指令、节点根据自身存储的版本号和密钥进行校验,校验指令中包括待校验版本号和待校验密钥。

步骤201与本申请第一实施例中步骤101的内容相同,具体描述可以参见第一实施例步骤101的内容,在此不再赘述。

步骤202,在接收到节点发送的校验成功信息后,发送协议商定请求至节点以进行协议商定,并在接收到节点发送的协议商定成功信息后,根据协议商定的内容切换信道,以便通过切换后的信道与节点进行下一次通信。

需要说明的是,一般情况下,节点上的多个产品与服务器通信都共用一个信道,为了避免补丁升级对该节点上的其他产品运行造成不良影响,本申请实施例在服务器下方数据命令前切换了信道,使得服务器通过切换后的信道下发数据命令。

可以理解的是,协议商定的内容包括协议的配置参数,可以通过更改协议的配置参数来达到更换信道的目的。

步骤203,将一批数据命令重复多次发送至节点,使得节点在每次接收到一批数据命令后,将接收到的一批数据命令和自身已存在的数据命令进行比较,并保存自身不存在的数据命令,然后在接收次数达到预置次数后对保存的所有数据命令中的升级数据写入相应空间并使能,以完成补丁升级。

需要说明的是,基于lora协议进行的通讯是无线通信,而无线通信为了避免丢包对补丁升级过程的影响,每一批数据指令重复发送多次,节点每次接收到一批数据命令后,只需保存自身不存在的数据命令,对于已经存在的数据命令可以放弃。

另外,一批数据命令重复发送的次数可以根据实际情况具体设置。

请参阅图3,图3为本申请实施例中基于lora协议的补丁升级装置的一个结构示意图。

本申请实施例提供了一种基于lora协议的补丁升级装置,应用于服务器,包括:

第一校验单元100,用于发送校验指令至节点,使得节点根据自身存储的版本号和密钥进行校验,校验指令中包括待校验版本号和待校验密钥;

命令下发单元200,用于在接收到节点发送的校验成功信息后,将数据命令下发至节点,使得节点将数据命令中的升级数据写入相应空间并使能,以完成补丁升级。

进一步地,命令下发单元200,可以具体用于将一批数据命令重复多次发送至节点,使得节点在每次接收到一批数据命令后,将接收到的一批数据命令和自身已存在的数据命令进行比较,并保存自身不存在的数据命令,然后在接收次数达到预置次数后对保存的所有数据命令中的升级数据写入相应空间并使能,以完成补丁升级。

进一步地,基于lora协议的补丁升级装置,还可以包括:

第一协议商定单元300,用于发送协议商定请求至节点以进行协议商定,并在接收到节点发送的协议商定成功信息后,根据协议商定的内容切换信道,以便通过切换后的信道与节点进行下一次通信。

请参阅图4,图4为本申请实施例中基于lora协议的补丁升级方法的第三实施例的方法流程图。

本申请实施例提供了一种基于lora协议的补丁升级方法的第一实施例,应用于节点,包括:

步骤301,接收服务器发送的校验指令,然后根据校验指令、节点根据自身存储的版本号和密钥进行校验,并在校验成功后发送校验成功信息至服务器,使得服务器下发相应的数据命令,校验指令中包括待校验版本号和待校验密钥。

步骤301与本申请第一实施例中步骤101的内容相同,具体描述可以参见第一实施例步骤101的内容,在此不再赘述。

步骤302,在接收到服务器下发的数据命令后,将数据命令中的升级数据写入相应空间并使能,以完成补丁升级。

步骤302与本申请第一实施例中步骤102的内容相同,具体描述可以参见第一实施例步骤102的内容,在此不再赘述。

请参阅图5,图5为本申请实施例中基于lora协议的补丁升级方法的第四实施例的方法流程图。

本申请实施例提供了一种基于lora协议的补丁升级方法的第二实施例,应用于节点,包括:

步骤401,接收服务器发送的校验指令,然后根据校验指令、节点根据自身存储的版本号和密钥进行校验,并在校验成功后发送校验成功信息至服务器,使得服务器下发相应的数据命令,校验指令中包括待校验版本号和待校验密钥。

步骤401与本申请第二实施例中步骤201的内容相同,具体描述可以参见第二实施例步骤201的内容,在此不再赘述。

步骤402,接收服务器发送的协议商定请求,然后发送协议商定成功信息至服务器,使得服务器在接收到节点发送的协议商定成功信息后,根据协议商定的内容切换信道,以便通过切换后的信道与服务器进行下一次通信。

步骤402与本申请第二实施例中步骤202的内容相同,具体描述可以参见第二实施例步骤202的内容,在此不再赘述。

步骤403,在每次接收到一批数据命令后,将接收到的一批数据命令和自身已存在的数据命令进行比较,并保存自身不存在的数据命令。

需要说明的是,步骤403的执行是建议在服务器重复多次发送一批数据命令的前提下。

步骤404,在接收次数达到预置次数后,根据数据命令中的升级数据序号对数据命令中的升级数据进行整合,并根据数据命令中的升级数据数量判断是否有升级数据丢失。

步骤405,若没有升级数据丢失,则对所有升级数据进行安全校验,以便在安全校验成功后将数据命令中的升级数据写入相应空间并使能。

若升级数据丢失,可以直接删除已经接收到的所有数据指令,并等待下一次的补丁升级,从而不会影响节点上已有的lora协议产品的正常运行。

安全校验的目的是验证接收到的所有数据的完整性,若安全校验失败,也可以直接删除已经接收到的所有数据指令,并等待下一次的补丁升级,从而不会影响节点上已有的lora协议产品的正常运行。

步骤406,对保存的所有数据命令中的升级数据写入相应空间并使能,以完成补丁升级。

步骤406与本申请第二实施例中步骤203的内容相同,具体描述可以参见第二实施例步骤203的内容,在此不再赘述。

请参阅图6,本申请实施例中基于lora协议的补丁升级装置的一个结构示意图。

本申请第四方面一种基于lora协议的补丁升级装置,应用于节点,包括:

第二校验单元400,用于接收服务器发送的校验指令,然后根据校验指令、节点根据自身存储的版本号和密钥进行校验,并在校验成功后发送校验成功信息至服务器,使得服务器下发相应的数据命令,校验指令中包括待校验版本号和待校验密钥。

升级单元500,用于在接收到服务器下发的数据命令后,将数据命令中的升级数据写入相应空间并使能,以完成补丁升级。

进一步地,若服务器重复多次发送一批数据命令,则升级单元500可以具体用于:

在每次接收到一批数据命令后,将接收到的一批数据命令和自身已存在的数据命令进行比较,并保存自身不存在的数据命令,然后在接收次数达到预置次数后对保存的所有数据命令中的升级数据写入相应空间并使能,以完成补丁升级。

进一步地,基于lora协议的补丁升级装置,还可以包括:

第二协议商定单元600,用于接收服务器发送的协议商定请求,然后发送协议商定成功信息至服务器,使得服务器在接收到节点发送的协议商定成功信息后,根据协议商定的内容切换信道,以便通过切换后的信道与服务器进行下一次通信。

进一步地,基于lora协议的补丁升级装置,还可以包括:

整合单元700,根据数据命令中的升级数据序号对数据命令中的升级数据进行整合,并根据数据命令中的升级数据数量判断是否有升级数据丢失。

安全校验单元800,用于当没有升级数据丢失时,对所有升级数据进行安全校验,以便在安全校验成功后将数据命令中的升级数据写入相应空间并使能。

请参阅图7,图7为本申请实施例中系统的一个实施例示意图。

本申请实施例还提供了一种系统,包括服务器10和节点20;

服务器10,用于发送校验指令至节点,使得校验指令、节点根据自身存储的版本号和密钥进行校验,校验指令中包括待校验版本号和待校验密钥;

在接收到节点发送的校验成功信息后,将数据命令下发至节点,使得节点将数据命令中的升级数据写入相应空间并使能,以完成补丁升级;

节点20,用于接收服务器发送的校验指令,然后根据校验指令、节点根据自身存储的版本号和密钥进行校验,并在校验成功后发送校验成功信息至服务器,使得服务器下发相应的数据命令,校验指令中包括待校验版本号和待校验密钥;

在接收到服务器下发的数据命令后,将数据命令中的升级数据写入相应空间并使能,以完成补丁升级。

本申请实施例可以远程完成lora协议产品的功能升级或问题修复,不需要维护人员或工程师到现场对lora协议产品进行功能升级或问题修复,极大地提升了产品修复和功能升级速度,提高了用户体验度,也不需要更换已有的lora协议产品,节省了成本。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-onlymemory,英文缩写:rom)、随机存取存储器(英文全称:randomaccessmemory,英文缩写:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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