CN111176674A - 一种osgi插件升级的方法、装置、电子设备及存储介质 - Google Patents

一种osgi插件升级的方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111176674A
CN111176674A CN201811340401.6A CN201811340401A CN111176674A CN 111176674 A CN111176674 A CN 111176674A CN 201811340401 A CN201811340401 A CN 201811340401A CN 111176674 A CN111176674 A CN 111176674A
Authority
CN
China
Prior art keywords
intelligent gateway
upgrading
upgrade
upgraded
service platform
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.)
Granted
Application number
CN201811340401.6A
Other languages
English (en)
Other versions
CN111176674B (zh
Inventor
李赓
李峰
张海
李坤艳
程剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Hangzhou Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201811340401.6A priority Critical patent/CN111176674B/zh
Publication of CN111176674A publication Critical patent/CN111176674A/zh
Application granted granted Critical
Publication of CN111176674B publication Critical patent/CN111176674B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种OSGI插件升级的方法、装置、电子设备及存储介质,所述方法包括第一智能网关接收与其连接的第二智能网关发送的第一升级指令,向所述第二智能网关请求升级文件;根据获取到的所述第二智能网关发送的升级文件进行升级;如果升级成功,向服务平台发送升级成功的第一响应信息;这样无需服务平台控制全部的智能网关进行OSGI插件升级,智能网关之间可以进行OSGI插件升级,从而可以降低服务平台的负载,提高OSGI插件升级效率。

Description

一种OSGI插件升级的方法、装置、电子设备及存储介质
技术领域
本发明涉及网络及计算机技术领域,尤其涉及一种OSGI(Open Service GatewayInitiative,开放服务网关协议)插件升级的方法、装置、电子设备及存储介质。
背景技术
随着科技的发展,智能网关越来越普及,为了提高智能网关的使用体验,对智能网关中的OSGI插件进行升级也越来越重要了。目前大多数的OSGI插件升级管理都是基于服务平台进行升级管理的。
现有技术在进行OSGI插件升级时,采用的方法包括:基于服务平台进行智能网关OSGI插件升级的方法,具体的统一数字管理平台下发升级指令对大规模联网智能网关OSGI插件进行升级,这种智能网关升级模式,一旦平台因为硬件错误、网络拥塞或中断、遭受恶意攻击等事件,会造成OSGI插件升级失败;人工升级智能网关OSGI插件的方式,每次只能对一台网关进行OSGI插件升级,无法对网络中其他需要升级的智能网关同时进行OSGI插件升级;用户通过APP中的推送消息触发OSGI插件升级的方式,必须依赖用户的取向,无法形成规模化的OSGI插件升级,限制了OSGI插件升级的可控性。
目前绝大多数的OSGI插件升级的管理方案必须要保证在Client-Server(客户-服务器)模型中,智能网关和服务平台都可以正常工作,且服务平台的负载巨大,从而使得服务平台需要控制全部的智能网关进行OSGI插件升级,这样耗费时间多,效率低下,并且服务平台的负载很大。然而,现有技术中并没有降低服务平台的负载,提高OSGI插件升级效率的实现方案。
发明内容
本发明实施例提供了一种OSGI插件升级的方法、装置、电子设备及存储介质,用以现有技术中无法降低服务平台的负载,提高OSGI插件升级效率的问题。
本发明实施例提供了一种OSGI插件升级的方法,所述方法包括:
第一智能网关接收与其连接的第二智能网关发送的第一升级指令,向所述第二智能网关请求升级文件;
根据获取到的所述第二智能网关发送的升级文件进行升级;
如果升级成功,向服务平台发送升级成功的第一响应信息。
进一步地,所述第一升级指令中携带有任务号及验证码;
所述向所述第二智能网关请求升级文件之前,所述方法还包括:
将所述任务号及验证码发送给所述服务平台,使所述服务平台根据所述验证码和任务号验证所述第一升级指令是否合法;
接收所述服务平台返回的验证通过信息。
进一步地,所述升级文件为分块升级文件,并且包括完整性加密文件;
确定升级成功包括:
针对已经下载的每个分块升级文件,及所述完整性加密文件,对已经下载的升级文件进行完整性校验,如果校验通过,确定升级成功。
进一步地,所述方法还包括:
如果升级失败,向所述服务平台返回升级失败的第二响应信息。
进一步地,所述方法还包括:
接收服务平台广播的任务状态信息,其中所述任务状态信息中包含待升级的智能网关所在的第二子任务级别;
当确定自身的第一子任务级别为待升级的智能网关的第二子任务级别的上一级别时,根据自身保存的第一子任务级别的每个第三智能网关的标识信息,向所述每个第三智能网关发送第二升级指令。
本发明实施例提供了一种OSGI插件升级的方法,所述方法包括:
服务平台广播第一任务状态信息,其中所述第一任务状态信息中包含待升级的智能网关所在的第一子任务级别;
接收待升级的智能网关发送的升级成功的第一响应信息。
进一步地,所述接收待升级的智能网关发送的升级成功的第一响应信息之前,所述方法还包括:
接收待升级的第一智能网关发送的任务号及验证码;
判断所述任务号是否为所述第一智能网关所在的子任务级别对应的任务号,且所述验证码是否为向所述第一智能网关发送第一升级指令的第二智能网关对应的验证码;
如果均为是,向所述第一智能网关发送验证通过信息。
进一步地,所述方法还包括:
根据保存的待升级的智能网关的第一数量,以及接收到的发送第一响应信息的第二数量,得到该子任务级别的升级成功率;
判断所述升级成功率是否达到设定的阈值;
如果否,继续广播所述第一任务状态信息;
如果是,生成第二任务状态信息并广播,所述第二任务状态信息中包含待升级的智能网关所在的第二子任务级别,所述第二子任务级别为所述第一子任务级别的下一级别。
进一步地,所述方法还包括:
判断当前是否出现网络拥塞;
如果是,向智能网关设备发送拥塞消息,通知所述智能网关设备暂停消息接收。
进一步地,所述方法还包括:
如果检测到拥塞的网络顺畅时,向智能网关设备发送解禁消息,通知所述智能网关设备监听消息并接收。
本发明实施例提供了一种OSGI插件升级的装置,所述装置包括:
请求模块,用于接收与其连接的第二智能网关发送的第一升级指令,向所述第二智能网关请求升级文件;
升级模块,用于根据获取到的所述第二智能网关发送的升级文件进行升级;
发送模块,用于如果升级成功,向服务平台发送升级成功的第一响应信息。
本发明实施例提供了一种OSGI插件升级的装置,所述装置包括:
广播模块,用于广播第一任务状态信息,其中所述第一任务状态信息中包含待升级的智能网关所在的第一子任务级别;
接收模块,用于接收待升级的智能网关发送的升级成功的第一响应信息。
本发明实施例提供了一种电子设备,包括第一处理器、第一存储器和第一收发机;所述第一存储器中存储有计算机程序,所述程序被所述第一处理器执行;
所述第一收发机,用于接收与其连接的第二智能网关发送的第一升级指令;
所述第一处理器,用于向所述第二智能网关请求升级文件,根据获取到的所述第二智能网关发送的升级文件进行升级;如果升级成功,控制所述第一收发机向服务平台发送升级成功的第一响应信息。
进一步地,所述第一处理器,还用于在向所述第二智能网关请求升级文件之前,控制所述第一收发机将所述第一升级指令中携带的任务号及验证码发送给所述服务平台;
所述第一收发机,还用于接收所述服务平台返回的验证通过信息。
进一步地,所述第一处理器,具体用于针对已经下载的升级文件,及所述完整性加密文件,对已经下载的升级文件进行完整性校验,如果校验通过,确定升级成功。
进一步地,所述第一处理器,还用于如果升级失败,控制所述第一收发机向所述服务平台返回升级失败的第二响应信息。
进一步地,所述第一收发机,还用于接收服务平台广播的任务状态信息,其中所述任务状态信息中包含待升级的智能网关所在的第二子任务级别;
所述第一处理器,还用于当确定自身的第一子任务级别为待升级的智能网关的第二子任务级别的上一级别时,根据自身保存的第一子任务级别的每个第三智能网关的标识信息,控制所述第一收发机向所述每个第三智能网关发送第二升级指令。
本发明实施例提供了一种电子设备,包括第二处理器、第二存储器和第二收发机;所述第二存储器中存储有计算机程序,所述程序被所述第二处理器执行;
所述第二处理器,用于广播第一任务状态信息,其中所述第一任务状态信息中包含待升级的智能网关所在的第一子任务级别;
所述第二收发机,用于接收待升级的智能网关发送的升级成功的第一响应信息。
进一步地,所述第二收发机,还用于接收待升级的第一智能网关发送的任务号及验证码;
所述第二处理器,还用于判断所述任务号是否为所述第一智能网关所在的子任务级别对应的任务号,且所述验证码是否为向所述第一智能网关发送第一升级指令的第二智能网关对应的验证码;如果均为是,控制所述第二收发机向所述第一智能网关发送验证通过信息。
进一步地,所述第二处理器,还用于根据保存的待升级的智能网关的第一数量,以及接收到的发送第一响应信息的第二数量,得到该子任务级别的升级成功率;判断所述升级成功率是否达到设定的阈值;如果否,广播所述第一任务状态信息;如果是,生成第二任务状态信息并广播,所述第二任务状态信息中包含待升级的智能网关所在的第二子任务级别,所述第二子任务级别为所述第一子任务级别的下一级别。
进一步地,所述第二处理器,还用于判断当前是否出现网络拥塞;如果是,控制所述第二收发机向智能网关设备发送拥塞消息,通知所述智能网关设备暂停消息接收。
进一步地,所述第二处理器,还用于如果检测到拥塞的网络顺畅时,控制所述第二收发机向智能网关设备发送解禁消息,通知所述智能网关设备监听消息并接收。
本发明实施例提供了一种电子设备,包括第三处理器、第三存储器和第三收发机,
所述第三存储器中存储有计算机程序,当所述程序被所述第三处理器执行时,使得所述第三处理器执行上述所述方法的步骤。
本发明实施例提供了一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行上述所述方法的步骤。
本发明实施例提供了一种电子设备,包括第四处理器、第四存储器和第四收发机,
所述第四存储器中存储有计算机程序,当所述程序被所述第四处理器执行时,使得所述第四处理器执行上述所述方法的步骤。
本发明实施例提供了一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行上述所述方法的步骤。
本发明实施例提供了一种OSGI插件升级的方法、装置、电子设备及存储介质,所述方法包括第一智能网关接收与其连接的第二智能网关发送的第一升级指令,向所述第二智能网关请求升级文件;根据获取到的所述第二智能网关发送的升级文件进行升级;如果升级成功,向服务平台发送升级成功的第一响应信息。
由于本发明实施例中完成升级的第二智能网关可以向第一智能网关发送第一升级指令,从而将自身保存的升级文件发送给第一智能网关,使其升级,因此无需服务平台控制全部的智能网关进行OSGI插件升级,智能网关之间可以进行OSGI插件升级,从而可以降低服务平台的负载,提高OSGI插件升级效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种OSGI插件升级的方法流程图;
图2为本发明实施例6提供的一种OSGI插件升级的方法流程图;
图3为本发明实施例8提供的一种OSGI插件升级的方法流程图;
图4为本发明实施例9提供的智能网关OSGI插件升级的系统结构图;
图5为本发明实施例10提供的一种OSGI插件升级的装置的结构示意图;
图6为本发明实施例11提供的一种OSGI插件升级的装置的结构示意图;
图7为本发明实施例12提供的一种电子设备的结构示意图;
图8为本发明实施例13提供的一种电子设备的结构示意图;
图9为本发明实施例14提供的一种电子设备的结构示意图;
图10为本发明实施例16提供的一种电子设备的结构示意图。
具体实施方式
下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例1:
图1为本发明实施例提供的一种OSGI插件升级的方法流程图,所述方法包括:
S101:第一智能网关接收与其连接的第二智能网关发送的第一升级指令,向所述第二智能网关请求升级文件。
第二智能网关是已经完成了OSGI插件升级的智能网关,第二智能网关中的升级文件可以是服务平台发送给第二智能网关的,也可以是其他智能网关发送给第二智能网关的。
升级成功的第二智能网关可以向与其连接的第一智能网关发送第一升级指令,以使第一智能网关接收到该第一升级指令,向该第二智能网关请求升级文件。
第二智能网关接收到服务平台发送的任务状态信息,其中该任务状态信息中包含待升级的智能网关所在的子任务级别,根据该任务状态信息,确定自身的子任务级别为待升级的第一智能网关的子任务级别的上一级别时,向与其连接的第一智能网关发送第一升级指令。
S102:根据获取到的所述第二智能网关发送的升级文件进行升级。
第二智能网关接收到第一智能网关请求升级文件的信息,向与其连接的第一智能网关发送升级文件,第一智能网关根据获取到的该升级文件进行升级。
S103:如果升级成功,向服务平台发送升级成功的第一响应信息。
为了方便服务平台统计记录升级成功的智能网关,以便进行后续的操作,第一智能网关升级成功后,则向服务平台发送升级成功的第一响应消息,该第一响应消息不仅仅包含该第一智能网关升级成功的信息,还可以包含其他的信息,如第一智能网关的标识信息等。
由于本发明实施例中完成升级的第二智能网关可以向第一智能网关发送第一升级指令,从而将自身保存的升级文件发送给第一智能网关,使其升级,因此无需服务平台控制全部的智能网关进行OSGI插件升级,智能网关之间可以进行OSGI插件升级,从而可以降低服务平台的负载,提高OSGI插件升级效率。
实施例2:
为了更加合理高效地进行全部智能网关的OSGI插件升级,在上述实施例的基础上,所述第一升级指令中携带有任务号及验证码;
所述向所述第二智能网关请求升级文件之前,所述方法还包括:
将所述任务号及验证码发送给所述服务平台,使所述服务平台根据所述验证码和任务号验证所述第一升级指令是否合法;
接收所述服务平台返回的验证通过信息。
第一升级指令中可以携带有任务号及验证码,该任务号可以是区别智能网关进行升级的子任务级别的标识信息,验证码可以是验证该第一升级指令是否为与第一智能网关连接的第二智能网关发送的。
第一智能网关在向与其连接的第二智能网关请求升级文件之前,需要将该任务号和验证码发送给服务平台,以使服务平台根据该任务号和验证码验证第一升级指令是否合法,服务平台根据该任务号,可以判断出该任务号是否为接收到该第一升级指令的第一智能网关所在的任务级别对应的任务号,并且判断验证码是否为向所述第一智能网关发送第一升级指令的第二智能网关对应的验证码,如果均为是,服务平台将会发送一个验证通过的信息给该第一智能网关,该第一智能网关接收该验证通过的信息,进行后续操作。
由于本发明实施例中第一升级指令中携带的任务号及验证码,服务平台根据该验证码和任务号验证该第一升级指令是否合法,并在验证合法时,返回验证通过信息,以便第一智能网关进行后续操作,这样可以保证升级的合法性,更加合理高效地进行全部智能网关的OSGI插件升级。
实施例3:
为了更加精准地确定第一智能网关OSGI插件升级是否成功,在上述各个实施例的基础上,所述升级文件为分块升级文件,并且包括完整性加密文件;
确定升级成功包括:
针对已经下载的每个分块升级文件,及所述完整性加密文件,对已经下载的升级文件进行完整性校验,如果校验通过,确定升级成功。
由于本发明实施例提供的OSGI插件升级的方法是基于分布式技术的OSGI插件升级方法,涉及智能网关的数据层、网络层、会话层、应用层,服务平台在接收到人为指定的OSGI插件升级任务,广播任务状态信息之前,对OSGI插件升级文件进行分块、标记和完整性加密处理,具体地,可以根据OSGI插件的不同功能对该OSGI插件升级文件进行分块、标记处理,生成不同的分块升级文件。
第一智能网关下载每个分块升级文件及完整性加密文件,然后针对已经下载的每个分块升级文件及完整性加密文件,对已经下载的升级文件进行完整性校验,如果校验通过,则确定第一智能网关升级成功,否则,确定第一智能网关升级失败,第一智能网关可以将升级成功与否的信息发送给服务平台,以便于进行后续操作。
由于本发明实施例中第一智能网关可以针对已经下载的每个分块升级文件,及完整性加密文件,对已经下载的升级文件进行完整性校验,如果校验通过,确定升级成功,这样可以更加精准地确定第一智能网关OSGI插件升级是否成功。
实施例4:
为了进一步确保全部的智能网关实现OSGI插件升级,在上述各个实施例的基础上,所述方法还包括:
接收服务平台广播的任务状态信息,其中所述任务状态信息中包含待升级的智能网关所在的第二子任务级别;
当确定自身的第一子任务级别为待升级的智能网关的第二子任务级别的上一级别时,根据自身保存的第一子任务级别的每个第三智能网关的标识信息,向所述每个第三智能网关发送第二升级指令。
为了实现分布式升级管理,在本发明实施例中可以预先将不同的智能网关分配到不同的子任务级别中,并且每个智能网关只能位于一个子任务级别,并确定子任务级别之间的上下级关系,位于上一级的智能网关可以向位于下一级的智能网关提供升级文件,并且在进行OSGI插件升级时,也是根据智能网关所在的子任务级别,按照级别的高低依次完成的OSGI插件升级。
具体的,位于上一子任务级别的智能网关中保存有与其存在升级关系的下一级子任务级别的智能网关的标识信息,每个下一子任务级别的智能网关连接一个上一子任务级别的智能网关,上一子任务级别的智能网关可以连接多个下一子任务级别的智能网关。通过智能网关之间的连接,可以实现对所有智能网关的OSGI插件升级。
对于位于第一个子任务级别的智能网关,服务平台在接收到升级文件后,直接将升级文件发送给每个位于第一个子任务级别的智能网关,待第一个子任务级别的智能网关完成OSGI插件升级后,位于第一个子任务级别的智能网关可以向位于第二个子任务级别的智能网关发送升级指令,通知第二个子任务级别的智能网关进行OSGI插件升级,如果还存在待升级的智能网关,待第二个子任务级别的智能网关完成OSGI插件升级后,位于第二个子任务级别的智能网关可以向位于第三个子任务级别的智能网关发送升级指令,通知第三个子任务级别的智能网关进行OSGI插件升级,以此类推,直至系统中的所有智能网关全部升级成功。
另外,为了方便对所有智能网关的管理,对智能网关进行升级的进度由服务平台控制,服务平台中预先保存有子任务级别的总数量,每个子任务级别包含的智能网关数量,还可以保存每个子任务级别包含的智能网关,以及智能网关之间的连接关系,因此当完成了第一个子任务级别的智能网关的升级后,广播任务状态信息,其中所述任务状态信息中包含的子任务级别为第二子任务级别。
接收到该状态信息的智能网关根据自身的子任务级别,如果识别到自身的子任务级别为第一子任务级别,则根据自身保存的第二子任务级别的每个智能网关的标识信息,向该第二子任务级别的每个智能网关发送升级指令。
后续的升级过程也是同样的,例如第二子任务级别的智能网关完成了升级,则服务平台广播状态信息,所述任务状态信息中包含第三子任务级别,如果接收到该状态信息的智能网关根据自身的子任务级别,识别到自身的子任务级别为第二子任务级别,则根据自身保存的第三子任务级别的每个智能网关的标识信息,向每个第三子任务级别的智能网关发送升级指令。第三子任务级别的智能网关以及后续级别的智能网关都是按照此方法进行升级,直至系统中的智能网关都完成升级。
由于本发明实施例中接收服务平台广播的任务状态信息,当确定自身的第一子任务级别为待升级的智能网关的第二子任务级别的上一级别时,根据自身保存的第一子任务级别的每个第三智能网关的标识信息,向所述每个第三智能网关发送第二升级指令,从而进行后续的待升级的智能网关的升级任务,这样可以进一步确保全部的智能网关实现OSGI插件升级。
实施例5:
为了方便服务平台对智能网关进行管理,在上述各个实施例的基础上,所述方法还包括:
如果升级失败,向所述服务平台返回升级失败的第二响应信息。
导致第一智能网关升级失败的原因有很多种,例如由于网络链路拥塞,第一智能网关接收不到服务平台返回的验证通过的消息,无法进行后续操作;由于在升级文件传输过程中,升级文件中的数据被损坏了,导致升级失败;或者第一智能网关安装下载的升级文件时安装出错,导致升级失败。
这时,第一智能网关需要生成关于自身升级失败的第二响应信息,其中,第二响应信息包含第一智能网关的标识信息,升级失败的信息,以使服务平台可以获知智能网关升级情况。或者服务平台中每个升级文件进行升级的时长是确定的,如果在设定的时长内没有收到智能网关发送的升级成功的响应信息,也可以认为该智能网关升级失败。
由于本发明实施例中如果第一智能网关升级失败,向所述服务平台返回升级失败的第二响应信息,以使服务平台获知智能网关升级情况,方便对智能网关进行管理。
实施例6:
在上述各个实施例的基础上,图2为本实施例提供的一种OSGI插件升级的方法流程图,如图2所示,所述方法包括:
S201:服务平台广播第一任务状态信息,其中所述第一任务状态信息中包含待升级的智能网关所在的第一子任务级别;
为了降低服务平台的负载,提高OSGI插件升级效率,在本发明实施例中服务平台可以预先将不同的智能网关分配到不同的子任务级别中,并且使每个智能网关只能位于一个子任务级别,并确定子任务级别之间的上下级关系,进而使得位于上一级的智能网关可以向位于下一级的智能网关提供升级文件,并且在进行OSGI插件升级时,也是智能网关可以根据服务平台广播的任务状态信息获知自身所在的子任务级别,按照级别的高低依次完成的OSGI插件升级。
具体地,服务平台在对第一个子任务级别的智能网关升级时,直接将接收到的升级文件发送给位于第一个子任务级别的智能网关,并根据第一个子任务级别的智能网关的升级完成情况,确定是否进行下一级别的智能网关的升级。
针对除第一个子任务级别之外的其他子任务级别的智能网关进行升级时,服务平台广播第一任务状态信息,其中所述第一任务状态信息中包含待升级的智能网关所在的第一子任务级别,使得位于第一子任务级别的上一级别的智能网关可以向位于第一子任务级别的智能网关发送升级指令,通知第一子任务级别的智能网关进行OSGI插件升级,该第一子任务级别为任一子任务级别。
S202:接收待升级的智能网关发送的升级成功的第一响应信息。
在本发明实施例中,假设步骤S201中的第一任务级别为第二个子任务级别,上述实施例中的第二智能网关是位于第一个子任务级别并且已升级成功的智能网关,待升级的智能网关是第一智能网关,并且该第一智能网关位于第二个子任务级别,在这个假设的基础上,待第二智能网关升级成功之后,该智能网关向与其连接的第一智能网关发送第一升级指令,通知该第一智能网关进行OSGI插件升级,具体的第一智能网关进行OSGI插件升级的过程已在上述实施例阐述过了,在此不再赘述。待第一智能网关升级成功之后,向服务平台发送其升级成功的第一响应信息,服务平台接收到该第一响应信息,进行后续操作。
本发明实施例中提到的技术手段还可以作为一种辅助的技术手段,并不会影响现有技术中服务平台通过统一下发OSGI插件升级指令,对全部智能网关进行OSGI插件升级的方案,具体的,上述技术手段可以根据实际情况加以运用。
由于本实施例中服务平台广播第一任务状态信息,其中该第一任务状态信息中包含待升级的智能网关所在的第一子任务级别,使得除第一个子任务级别之外的其他子任务级别的智能网关可以根据任务状态信息进行后续的OSGI插件升级,这样不需要服务平台控制全部的智能网关进行OSGI插件升级,智能网关之间可以进行OSGI插件升级,从而可以降低服务平台的负载,提高OSGI插件升级效率。
实施例7:
为了提高智能网关OSGI插件升级的准确度,在上述各个实施例的基础上,所述接收待升级的智能网关发送的升级成功的第一响应信息之前,所述方法还包括:
接收待升级的第一智能网关发送的任务号及验证码;
判断所述任务号是否为所述第一智能网关所在的子任务级别对应的任务号,且所述验证码是否为向所述第一智能网关发送第一升级指令的第二智能网关对应的验证码;
如果均为是,向所述第一智能网关发送验证通过信息。
服务平台接收到待升级的智能网关发送的升级成功的第一响应信息,说明第一智能网关已经升级成功了,但是,在第一智能网关升级成功之前,为了提高第一智能网关OSGI插件升级的准确性,服务平台还会接收到第一智能网关发送的任务号及验证码,进而判断该任务号是否为该第一智能网关所在的子任务级别对应的任务号,且该验证码是否为向该第一智能网关发送第一升级指令的第二智能网关对应的验证码,如果均为是,则服务平台向该第一智能网关发送验证消息,以使第一智能网关进行后续的OSGI插件升级操作。
为了确保其他子任务级别的智能网关进行OSGI插件升级的准确性,上述的方法也适用于其他子任务级别的智能网关。
由于本发明实施例中服务平台在接收待升级的智能网关发送的升级成功的第一响应信息之前,接收待升级的第一智能网关发送的任务号及验证码;判断该任务号是否为该第一智能网关所在的子任务级别对应的任务号,且该验证码是否为向该第一智能网关发送第一升级指令的第二智能网关对应的验证码;如果均为是,向该第一智能网关发送验证通过信息,这样可以提高第一智能网关OSGI插件升级的准确度。
实施例8:
为了进一步确保全部的智能网关实现OSGI插件升级,在上述各个实施例的基础上,所述方法还包括:
根据保存的待升级的智能网关的第一数量,以及接收到的发送第一响应信息的第二数量,得到该子任务级别的升级成功率;
判断所述升级成功率是否达到设定的阈值;
如果否,继续广播所述第一任务状态信息;
如果是,生成第二任务状态信息并广播,所述第二任务状态信息中包含待升级的智能网关所在的第二子任务级别,所述第二子任务级别为所述第一子任务级别的下一级别。
为了确保全部的智能网关实现OSGI插件升级,服务平台需要得到每个子任务级别的升级成功率,以便于进行后续的操作,具体地,服务平台根据保存的待升级的子任务级别的智能网关的第一数量,以及接收到的发送第一响应信息的第二数量,得到该子任务级别的升级成功率,进而判断该子任务级别的升级成功率是否达到设定的阈值。其中,第一数量可以是实际待升级的全部智能网关的数量,也可以是发送第一响应信息的智能网关所在子任务级别的智能网关的数量,第二数量是该子任务级别中发送升级成功的响应信息的智能网关的数量,在本发明实施例中假设第一智能网关向服务平台发送升级成功的第一响应信息,因此,第二数量可以是发送第一响应信息的第一智能网关的数量,第一数量可以是第一智能网关所在子任务级别的智能网关的数量,也可以是实际待升级的全部智能网关的数量。如果该子任务级别的升级成功率没有达到设定的阈值,服务平台将继续广播第一任务状态信息,直到该子任务级别的升级成功率达到设定的阈值;如果该升级成功率达到设定的阈值,这说明位于第一子任务级别的智能网关已全部升级成功,服务平台将生成第二任务状态信息并广播,所述第二任务状态信息中包含待升级的智能网关所在的第二子任务级别,所述第二子任务级别为所述第一子任务级别的下一级别,以便于其他待升级的智能网关进行后续的升级,具体的升级方法与上述的第一智能网关与第二智能网关之间的升级方法相同,在此不再赘述。
基于上述实施例,图3为本发明实施例提供的一种OSGI插件升级的方法流程图,该方法的具体步骤可以为:
S301:服务平台接收指定的OSGI插件升级任务。
S302:服务平台对OSGI插件升级文件进行分块、标记、加密处理,生成不同的分块升级文件和完整性加密文件。
S303:服务平台向第二智能网关发送每个分块升级文件和完整性加密文件。
在本发明实施例中,假设第二智能网关为位于第一个子任务级别的智能网关,服务平台直接向每个第二智能网关发送每个分块升级文件和完整性加密文件。也可以认为第二智能网关是第一批进行升级的网关。
S304:第二智能网关根据接收到的每个分块升级文件和完整性加密文件进行升级,并返回相应的升级情况给服务平台。
第二智能网关根据接收到的每个分块升级文件和完整性加密文件进行升级,如果升级成功,向服务平台返回升级成功的第三响应信息,如果升级失败,则向服务平台返回升级失败的响应信息。
S305:服务平台广播第一任务状态信息,第二智能网关根据第一任务状态信息向第一智能网关发送第一升级指令。
服务平台广播第一任务状态信息,说明服务平台根据保存的待升级的第二智能网关的第一数量,以及接收到的第二智能网关发送第三响应信息的第三数量,得到第一个子任务级别的升级成功率已达到设定的阈值。
在本发明实施例中,假设该步骤中的第一任务状态信息包含待升级的智能网关所在的第二个子任务级别,第一智能网关则是位于第二个子任务级别的待升级的智能网关,也就是进行第二批升级的智能网关,升级成功的第二智能网关根据第一任务状态信息,确定自身的第一个子任务级别为第一智能网关所在的子任务级别的上一级别时,向第一智能网关发送第一升级指令。
S306:第一智能网关进行升级,并向服务平台返回相应的响应信息。
第一智能网关进行升级的过程为:第一智能网关接收与其连接的第二智能网关发送的第一升级指令,向该第二智能网关请求升级文件,将该第一升级指令中携带的任务号及验证码发送给服务平台,使服务平台根据所述验证码和任务号验证所述第一升级指令是否合法;接收所述服务平台返回的验证通过信息后,根据获取到的第二智能网关发送的升级文件进行升级;如果升级成功,向服务平台发送升级成功的第一响应信息,如果升级失败,向服务平台返回升级失败的第二响应信息,如对应的错误码。
S307:执行第三个子任务级别的待升级的智能网关的升级任务。
服务平台根据保存的待升级的第一智能网关的第一数量,以及接收到的发送第一响应信息的第二数量,得到该子任务级别的升级成功率;如果是,生成第三任务状态信息并广播,第三任务状态信息中包含待升级的智能网关所在的第三个子任务级别,也就是第三批进行升级的智能网关,第三个任务级别为所述第一智能网关所在子任务级别的下一级别。执行第三个子任务级别的待升级的智能网关的升级任务的具体过程可以为:
第一智能网关确定自身的第二个子任务级别为待升级的智能网关的第三个子任务级别的上一级别时,根据自身保存的每个第三智能网关的标识信息,向每个第三智能网关发送第二升级指令,后续的步骤与第一智能网关进行升级的过程相同,在此不再赘述。
S308:服务平台根据最后一个子任务级别的智能网关完成OSGI插件升级情况,判断是否发出升级结束指令。
服务平台根据保存的最后一个子任务级别的智能网关的第四数量,以及接收到的最后一个子任务级别的智能网关发送响应信息的第五数量,得到最后一个子任务级别的升级成功率;如果该升级成功率达到设定的阈值,发出升级结束指令,若该升级成功率没有达到设定的阈值,则广播相应的任务状态信息,执行新一轮的待升级的智能网关的升级任务,该新一轮的待升级的智能网关是该任务状态信息携带的子任务级别对应的智能网关,具体的过程与步骤S307相同,在此不再赘述。
由于本发明实施例中根据保存的待升级的智能网关的第一数量,以及接收到的发送第一响应信息的第二数量,得到该子任务级别的升级成功率;判断所述升级成功率是否达到设定的阈值;如果否,继续广播所述第一任务状态信息;如果是,生成第二任务状态信息并广播,以便于其他待升级的智能网关进行升级,从而进一步确保全部的智能网关实现OSGI插件升级。
实施例9:
为了更加有效地避免在网络拥塞的状态下,智能网关中的OSGI插件升级失败,在上述各个实施例的基础上,所述方法还包括:
判断当前是否出现网络拥塞;
如果是,向智能网关设备发送拥塞消息,通知所述智能网关设备暂停消息接收。
如果检测到拥塞的网络顺畅时,向智能网关设备发送解禁消息,通知所述智能网关设备监听消息并接收。
根据图4所示的智能网关OSGI插件升级的系统结构可知,服务平台通过一个专用网络与N个智能网关进行通信,智能网关之间采用分布式数据存储、点对点传输、共识机制、加密算法等计算服务,并且在OSGI插件升级的过程中,由服务平台确定任务生命周期,即在对每一级别的智能网关升级时,该级别的智能网关在多长时间内完成升级,由智能网关监听该网络内的最新的任务状态消息。
在执行上述实施例中所述的OSGI插件升级方法的过程中,可能出现网络拥塞的状态,进而导致智能网关中的OSGI插件升级失败,为了避免网络拥塞导致升级失败,服务平台判断当前出现网络拥塞时,向智能网关发送网络拥塞的消息,通知该智能网关暂停消息的接收,直到服务平台检测到网络顺畅,服务平台向智能网关发送解禁消息,通知智能网关设备监听并接收消息。具体地,当出现网络拥塞时,服务平台发出N1次周期为F的拥塞消息,其中,N1、F的具体取值不做限定,收到该拥塞信息的智能网关停止收发消息;当检测到网络顺畅时,服务平台发出N2次周期为G的解禁消息,其中,N2、G的具体取值不做限定,通知该智能网关设备监听消息并接收。若智能网关在设定的阈值时间H后,没有收到任何消息,自动回复解禁状态,监听并接收网络消息,其中该阈值时间H的取值不做限定,较优地,该阈值时间H要大于服务平台发送拥塞消息和解禁消息的时间,这样,可以提高智能网关OSGI插件升级的系统内对每个智能网关的OSGI插件升级状态的监控能力。
为了降低服务平台的负载,提高智能网关的利用率,位于上一子任务级别的智能网关可以对于其连接的下一子任务级别的智能网关的升级状态进行监听,辅助服务平台进行管控进度,若下一子任务级别的智能网关升级失败,该智能网关相应的消息给与其对应的上一子任务级别的智能网关和服务平台,例如,该智能网关安装失败了,返回错误编码表对应的编码,通知该智能网关对应的上一子任务级别的智能网关及服务平台。
由于本发明实施例中服务平台判断当前是否出现网络拥塞;如果是,向智能网关设备发送拥塞消息,通知智能网关设备暂停消息接收,如果否,向智能网关设备发送解禁消息,通知智能网关设备监听消息并接收,这样可以更加有效地避免在网络拥塞的状态下,智能网关中的OSGI插件升级失败。
实施例10:
在上述各个实施例的基础上,图5为本发明实施例提供的一种OSGI插件升级的装置的结构示意图,如图5所示,所述装置包括:
请求模块501,用于接收与其连接的第二智能网关发送的第一升级指令,向所述第二智能网关请求升级文件;
升级模块502,用于根据获取到的所述第二智能网关发送的升级文件进行升级;
第一发送模块503,用于如果升级成功,向服务平台发送升级成功的第一响应信息。
进一步地,所述请求模块,还用于在向所述第二智能网关请求升级文件之前,将所述第一升级指令中携带的任务号及验证码发送给所述服务平台,使所述服务平台根据所述验证码和任务号验证所述第一升级指令是否合法;接收所述服务平台返回的验证通过信息。
进一步地,所述升级模块,具体用于针对已经下载的升级文件,及所述完整性加密文件,对已经下载的升级文件进行完整性校验,如果校验通过,确定升级成功。
进一步地,所述第一发送模块,还用于如果升级失败,向所述服务平台返回升级失败的第二响应信息。
进一步地,所述装置还包括:
所述请求模块,还用于接收服务平台广播的任务状态信息,其中所述任务状态信息中包含待升级的智能网关所在的第二子任务级别;
第二发送模块,用于当确定自身的第一子任务级别为待升级的智能网关的第二子任务级别的上一级别时,根据自身保存的第一子任务级别的每个第三智能网关的标识信息,向所述每个第三智能网关发送第二升级指令。
由于本发明实施例中升级模块502可以根据获取到完成升级的第二智能网关发送的升级文件进行升级,这样服务平台就不需要控制全部的智能网关进行OSGI插件升级,从而可以降低服务平台的负载,提高OSGI插件升级效率。
实施例11:
在上述各个实施例的基础上,图6为本发明实施例提供的一种OSGI插件升级的装置的结构示意图,如图6所示,所述装置包括:
广播模块601,用于广播第一任务状态信息,其中所述第一任务状态信息中包含待升级的智能网关所在的第一子任务级别;
接收模块602,用于接收待升级的智能网关发送的升级成功的第一响应信息。
进一步地,所述接收模块,还用于在接收待升级的智能网关发送的升级成功的第一响应信息之前,接收待升级的第一智能网关发送的任务号及验证码;
第一判断模块,用于判断所述任务号是否为所述第一智能网关所在的子任务级别对应的任务号,且所述验证码是否为向所述第一智能网关发送第一升级指令的第二智能网关对应的验证码;
第三发送模块,用于如果所述任务号为所述第一智能网关所在的子任务级别对应的任务号,且所述验证码为向所述第一智能网关发送第一升级指令的第二智能网关对应的验证码,向所述第一智能网关发送验证通过信息。
进一步地,所述装置还包括:
得到模块,用于根据保存的待升级的智能网关的第一数量,以及接收到的发送第一响应信息的第二数量,得到该子任务级别的升级成功率;
第二判断模块,用于判断所述升级成功率是否达到设定的阈值;
所述广播模块,用于如果所述升级成功率没有达到设定的阈值,继续广播所述第一任务状态信息;如果所述升级成功率达到设定的阈值,生成第二任务状态信息并广播,所述第二任务状态信息中包含待升级的智能网关所在的第二子任务级别,所述第二子任务级别为所述第一子任务级别的下一级别。
进一步地,所述装置还包括:
第三判断模块,用于判断当前是否出现网络拥塞;
通知模块,用于如果当前出现网络拥塞,向智能网关设备发送拥塞消息,通知所述智能网关设备暂停消息接收。
进一步地,所述通知模块,还用于如果检测到拥塞的网络顺畅时,向智能网关设备发送解禁消息,通知所述智能网关设备监听消息并接收。
由于本实施例中广播模块601广播第一任务状态信息,其中该第一任务状态信息中包含待升级的智能网关所在的第一子任务级别;接收待升级的智能网关发送的升级成功的第一响应信息,这样服务平台就不需要控制全部的智能网关进行OSGI插件升级,智能网关之间可以进行OSGI插件升级,从而可以降低服务平台的负载,提高OSGI插件升级效率。
实施例12:
在上述各个实施例的基础上,本发明实施例提供了一种电子设备,如图7所示,包括第一处理器701、第一存储器702和第一收发机703;
所述第一存储器702中存储有计算机程序,所述程序被所述第一处理器701执行;
所述第一收发机703,用于接收与其连接的第二智能网关发送的第一升级指令,
所述第一处理器701,用于向所述第二智能网关请求升级文件,根据获取到的所述第二智能网关发送的升级文件进行升级;如果升级成功,控制所述第一收发机703向服务平台发送升级成功的第一响应信息。
进一步地,所述第一处理器701,还用于在向所述第二智能网关请求升级文件之前,控制所述第一收发机703将所述第一升级指令中携带的任务号及验证码发送给所述服务平台;
所述第一收发机703,还用于接收所述服务平台返回的验证通过信息。
进一步地,所述第一处理器701,具体用于针对已经下载的升级文件,及所述完整性加密文件,对已经下载的升级文件进行完整性校验,如果校验通过,确定升级成功。
进一步地,所述第一处理器701,还用于如果升级失败,控制所述第一收发机703向所述服务平台返回升级失败的第二响应信息。
进一步地,所述第一收发机703,还用于接收服务平台广播的任务状态信息,其中所述任务状态信息中包含待升级的智能网关所在的第二子任务级别;
所述第一处理器701,还用于当确定自身的第一子任务级别为待升级的智能网关的第二子任务级别的上一级别时,根据自身保存的第一子任务级别的每个第三智能网关的标识信息,控制所述第一收发机703向所述每个第三智能网关发送第二升级指令。
实施例13:
在上述各个实施例的基础上,本发明实施例提供了一种电子设备,如图8所示,包括第二处理器801、第二存储器802和第二收发机803;所述第二存储器802中存储有计算机程序,所述程序被所述第二处理器801执行;
所述第二处理器801,用于广播第一任务状态信息,其中所述第一任务状态信息中包含待升级的智能网关所在的第一子任务级别;
所述第二收发机803,用于接收待升级的智能网关发送的升级成功的第一响应信息。
进一步地,所述第二收发机803,还用于接收待升级的第一智能网关发送的任务号及验证码;
所述第二处理器801,还用于判断所述任务号是否为所述第一智能网关所在的子任务级别对应的任务号,且所述验证码是否为向所述第一智能网关发送第一升级指令的第二智能网关对应的验证码;如果均为是,控制所述第二收发机向所述第一智能网关发送验证通过信息。
进一步地,所述第二处理器801,还用于根据保存的待升级的智能网关的第一数量,以及接收到的发送第一响应信息的第二数量,得到该子任务级别的升级成功率;判断所述升级成功率是否达到设定的阈值;如果否,广播所述第一任务状态信息;如果是,生成第二任务状态信息并广播,所述第二任务状态信息中包含待升级的智能网关所在的第二子任务级别,所述第二子任务级别为所述第一子任务级别的下一级别。
进一步地,所述第二处理器801,还用于判断当前是否出现网络拥塞;如果是,控制所述第二收发机向智能网关设备发送拥塞消息,通知所述智能网关设备暂停消息接收。
进一步地,所述第二处理器801,还用于如果检测到拥塞的网络顺畅时,控制所述第二收发机向智能网关设备发送解禁消息,通知所述智能网关设备监听消息并接收。
实施例14:
在上述各个实施例的基础上,本发明实施例提供了一种电子设备,如图9所示,包括第三处理器901、第三存储器902和第三收发机903,
所述第三存储器902中存储有计算机程序,当所述程序被所述第三处理器901执行时,使得所述第三处理器901执行如下步骤:
当第三收发机接收与其连接的第二智能网关发送的第一升级指令时,向所述第二智能网关请求升级文件,根据获取到的所述第二智能网关发送的升级文件进行升级;如果升级成功,控制所述第三收发机903向服务平台发送升级成功的第一响应信息。
基于同一发明构思,本发明实施例中还提供了一种电子设备,由于上述电子设备解决问题的原理与实施例1-5所述的OSGI插件升级的方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
在图9中,总线架构可以包括任意数量的互联的总线和桥,第三处理器901代表的一个或多个处理器和第三存储器902代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。第三收发机903可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。第三处理器901负责管理总线架构和通常的处理,第三存储器902可以存储第三处理器901和第三收发机903在执行操作时所使用的数据。
可选的,第三处理器901可以是CPU(中央处埋器)、ASIC(Application SpecificIntegrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)。
第三处理器901,还用于在向第二智能网关请求升级文件之前,控制第三收发机903将第一升级指令中携带的任务号及验证码发送给服务平台;
第三收发机903,还用于接收服务平台返回的验证通过信息。
进一步地,第三处理器901,具体用于针对已经下载的每个分块升级文件,及完整性加密文件,对已经下载的升级文件进行完整性校验,如果校验通过,确定升级成功。
进一步地,第三处理器901,还用于如果升级失败,控制第三收发机903向服务平台返回升级失败的第二响应信息。
进一步地,第三收发机903,还用于接收服务平台广播的任务状态信息,其中任务状态信息中包含待升级的智能网关所在的第二子任务级别;
第三处理器901,还用于当确定自身的第一子任务级别为待升级的智能网关的第二子任务级别的上一级别时,根据自身保存的第一子任务级别的每个第三智能网关的标识信息,控制第三收发机903向所述每个第三智能网关发送第二升级指令。
实施例15:
在上述各实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行如下步骤:
接收与其连接的第二智能网关发送的第一升级指令,向所述第二智能网关请求升级文件;
根据获取到的所述第二智能网关发送的升级文件进行升级;
如果升级成功,向服务平台发送升级成功的第一响应信息。
进一步地,在向所述第二智能网关请求升级文件之前,将所述第一升级指令中携带的任务号及验证码发送给所述服务平台,使所述服务平台根据所述验证码和任务号验证所述第一升级指令是否合法;
接收所述服务平台返回的验证通过信息。
进一步地,针对已经下载的每个分块升级文件,及所述完整性加密文件,对已经下载的升级文件进行完整性校验,如果校验通过,确定升级成功。
进一步地,如果升级失败,向所述服务平台返回升级失败的第二响应信息。
进一步地,接收服务平台广播的任务状态信息,其中所述任务状态信息中包含待升级的智能网关所在的第二子任务级别;
当确定自身的第一子任务级别为待升级的智能网关的第二子任务级别的上一级别时,根据自身保存的第一子任务级别的每个第三智能网关的标识信息,向所述每个第三智能网关发送第二升级指令。
上述计算机可读存储介质可以是网络侧设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD)等。
实施例16:
在上述各个实施例的基础上,本发明实施例提供了一种电子设备,如图10所示,包括第四处理器1001、第四存储器1002和第四收发机1003,
所述第四存储器1002中存储有计算机程序,当所述程序被所述第四处理器1001执行时,使得所述第四处理器1001执行如下步骤:
广播第一任务状态信息,其中所述第一任务状态信息中包含待升级的智能网关所在的第一子任务级别;
第四收发机1003接收待升级的智能网关发送的升级成功的第一响应信息。
基于同一发明构思,本发明实施例中还提供了一种电子设备,由于上述电子设备解决问题的原理与实施例6-9所述的OSGI插件升级的方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
在图10中,总线架构可以包括任意数量的互联的总线和桥,第四处理器1001代表的一个或多个处理器和第四存储器1002代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。第四收发机1003可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。第四处理器1001负责管理总线架构和通常的处理,第四存储器1002可以存储第四处理器1001和第四收发机1003在执行操作时所使用的数据。
可选的,第四处理器1001可以是CPU(中央处埋器)、ASIC(Application SpecificIntegrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)。
第四收发机1003,用于在接收待升级的智能网关发送的升级成功的第一响应信息之前,接收待升级的第一智能网关发送的任务号及验证码。
所述第四处理器1001,还用于判断所述任务号是否为所述第一智能网关所在的子任务级别对应的任务号,且所述验证码是否为向所述第一智能网关发送第一升级指令的第二智能网关对应的验证码;如果均为是,向所述第一智能网关发送验证通过信息。
进一步地,所述第四处理器1001,还用于根据保存的待升级的智能网关的第一数量,以及接收到的发送第一响应信息的第二数量,得到该子任务级别的升级成功率;判断所述升级成功率是否达到设定的阈值;如果否,继续广播所述第一任务状态信息;如果是,生成第二任务状态信息并广播,所述第二任务状态信息中包含待升级的智能网关所在的第二子任务级别,所述第二子任务级别为所述第一子任务级别的下一级别。
进一步地,所述第四处理器1001,还用于判断当前是否出现网络拥塞;如果是,向智能网关设备发送拥塞消息,通知所述智能网关设备暂停消息接收。
进一步地,所述第四处理器1001,还用于如果检测到拥塞的网络顺畅时,向智能网关设备发送解禁消息,通知所述智能网关设备监听消息并接收。
实施例17:
在上述各实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行如下步骤:
广播第一任务状态信息,其中所述第一任务状态信息中包含待升级的智能网关所在的第一子任务级别;
接收待升级的智能网关发送的升级成功的第一响应信息。
进一步地,在所述接收待升级的智能网关发送的升级成功的第一响应信息之前,接收待升级的第一智能网关发送的任务号及验证码;
判断所述任务号是否为所述第一智能网关所在的子任务级别对应的任务号,且所述验证码是否为向所述第一智能网关发送第一升级指令的第二智能网关对应的验证码;
如果均为是,向所述第一智能网关发送验证通过信息。
进一步地,根据保存的待升级的智能网关的第一数量,以及接收到的发送第一响应信息的第二数量,得到该子任务级别的升级成功率;
判断所述升级成功率是否达到设定的阈值;
如果否,继续广播所述第一任务状态信息;
如果是,生成第二任务状态信息并广播,所述第二任务状态信息中包含待升级的智能网关所在的第二子任务级别,所述第二子任务级别为所述第一子任务级别的下一级别。
进一步地,判断当前是否出现网络拥塞;
如果是,向智能网关设备发送拥塞消息,通知所述智能网关设备暂停消息接收。
进一步地,如果检测到拥塞的网络顺畅时,向智能网关设备发送解禁消息,通知所述智能网关设备监听消息并接收。
上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD)等。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者一个操作与另一个实体或者另一个操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全应用实施例、或结合应用和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (26)

1.一种开放服务网关协议OSGI插件升级的方法,其特征在于,所述方法包括:
第一智能网关接收与其连接的第二智能网关发送的第一升级指令,向所述第二智能网关请求升级文件;
根据获取到的所述第二智能网关发送的升级文件进行升级;
如果升级成功,向服务平台发送升级成功的第一响应信息。
2.如权利要求1所述的方法,其特征在于,所述第一升级指令中携带有任务号及验证码;
所述向所述第二智能网关请求升级文件之前,所述方法还包括:
将所述任务号及验证码发送给所述服务平台,使所述服务平台根据所述验证码和任务号验证所述第一升级指令是否合法;
接收所述服务平台返回的验证通过信息。
3.如权利要求1所述的方法,其特征在于,所述升级文件为分块升级文件,并且包括完整性加密文件;
确定升级成功包括:
针对已经下载的每个分块升级文件,及所述完整性加密文件,对已经下载的升级文件进行完整性校验,如果校验通过,确定升级成功。
4.如权利要求1或3所述的方法,其特征在于,所述方法还包括:
如果升级失败,向所述服务平台返回升级失败的第二响应信息。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收服务平台广播的任务状态信息,其中所述任务状态信息中包含待升级的智能网关所在的第二子任务级别;
当确定自身的第一子任务级别为待升级的智能网关的第二子任务级别的上一级别时,根据自身保存的第一子任务级别的每个第三智能网关的标识信息,向所述每个第三智能网关发送第二升级指令。
6.一种OSGI插件升级的方法,其特征在于,所述方法包括:
服务平台广播第一任务状态信息,其中所述第一任务状态信息中包含待升级的智能网关所在的第一子任务级别;
接收待升级的智能网关发送的升级成功的第一响应信息。
7.如权利要求6所述的方法,其特征在于,所述接收待升级的智能网关发送的升级成功的第一响应信息之前,所述方法还包括:
接收待升级的第一智能网关发送的任务号及验证码;
判断所述任务号是否为所述第一智能网关所在的子任务级别对应的任务号,且所述验证码是否为向所述第一智能网关发送第一升级指令的第二智能网关对应的验证码;
如果均为是,向所述第一智能网关发送验证通过信息。
8.如权利要求6所述的方法,其特征在于,所述方法还包括:
根据保存的待升级的智能网关的第一数量,以及接收到的发送第一响应信息的第二数量,得到该子任务级别的升级成功率;
判断所述升级成功率是否达到设定的阈值;
如果否,继续广播所述第一任务状态信息;
如果是,生成第二任务状态信息并广播,所述第二任务状态信息中包含待升级的智能网关所在的第二子任务级别,所述第二子任务级别为所述第一子任务级别的下一级别。
9.如权利要求6所述的方法,其特征在于,所述方法还包括:
判断当前是否出现网络拥塞;
如果是,向智能网关设备发送拥塞消息,通知所述智能网关设备暂停消息接收。
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
如果检测到拥塞的网络顺畅时,向智能网关设备发送解禁消息,通知所述智能网关设备监听消息并接收。
11.一种OSGI插件升级的装置,其特征在于,所述装置包括:
请求模块,用于接收与其连接的第二智能网关发送的第一升级指令,向所述第二智能网关请求升级文件;
升级模块,用于根据获取到的所述第二智能网关发送的升级文件进行升级;
发送模块,用于如果升级成功,向服务平台发送升级成功的第一响应信息。
12.一种OSGI插件升级的装置,其特征在于,所述装置包括:
广播模块,用于广播第一任务状态信息,其中所述第一任务状态信息中包含待升级的智能网关所在的第一子任务级别;
接收模块,用于接收待升级的智能网关发送的升级成功的第一响应信息。
13.一种电子设备,其特征在于,包括第一处理器、第一存储器和第一收发机;所述第一存储器中存储有计算机程序,所述程序被所述第一处理器执行;
所述第一收发机,用于接收与其连接的第二智能网关发送的第一升级指令;
所述第一处理器,用于向所述第二智能网关请求升级文件,根据获取到的所述第二智能网关发送的升级文件进行升级;如果升级成功,控制所述第一收发机向服务平台发送升级成功的第一响应信息。
14.如权利要求13所述的电子设备,其特征在于,所述第一处理器,还用于在向所述第二智能网关请求升级文件之前,控制所述第一收发机将所述第一升级指令中携带的任务号及验证码发送给所述服务平台;
所述第一收发机,还用于接收所述服务平台返回的验证通过信息。
15.如权利要求13所述的电子设备,其特征在于,所述第一处理器,具体用于针对已经下载的升级文件,及所述完整性加密文件,对已经下载的升级文件进行完整性校验,如果校验通过,确定升级成功。
16.如权利要求13或15所述的电子设备,其特征在于,所述第一处理器,还用于如果升级失败,控制所述第一收发机向所述服务平台返回升级失败的第二响应信息。
17.如权利要求13所述的电子设备,其特征在于,所述第一收发机,还用于接收服务平台广播的任务状态信息,其中所述任务状态信息中包含待升级的智能网关所在的第二子任务级别;
所述第一处理器,还用于当确定自身的第一子任务级别为待升级的智能网关的第二子任务级别的上一级别时,根据自身保存的第一子任务级别的每个第三智能网关的标识信息,控制所述第一收发机向所述每个第三智能网关发送第二升级指令。
18.一种电子设备,其特征在于,包括第二处理器、第二存储器和第二收发机;所述第二存储器中存储有计算机程序,所述程序被所述第二处理器执行;
所述第二处理器,用于广播第一任务状态信息,其中所述第一任务状态信息中包含待升级的智能网关所在的第一子任务级别;
所述第二收发机,用于接收待升级的智能网关发送的升级成功的第一响应信息。
19.如权利要求18所述的电子设备,其特征在于,所述第二收发机,还用于接收待升级的第一智能网关发送的任务号及验证码;
所述第二处理器,还用于判断所述任务号是否为所述第一智能网关所在的子任务级别对应的任务号,且所述验证码是否为向所述第一智能网关发送第一升级指令的第二智能网关对应的验证码;如果均为是,控制所述第二收发机向所述第一智能网关发送验证通过信息。
20.如权利要求18所述的电子设备,其特征在于,所述第二处理器,还用于根据保存的待升级的智能网关的第一数量,以及接收到的发送第一响应信息的第二数量,得到该子任务级别的升级成功率;判断所述升级成功率是否达到设定的阈值;如果否,广播所述第一任务状态信息;如果是,生成第二任务状态信息并广播,所述第二任务状态信息中包含待升级的智能网关所在的第二子任务级别,所述第二子任务级别为所述第一子任务级别的下一级别。
21.如权利要求18所述的电子设备,其特征在于,所述第二处理器,还用于判断当前是否出现网络拥塞;如果是,控制所述第二收发机向智能网关设备发送拥塞消息,通知所述智能网关设备暂停消息接收。
22.如权利要求21所述的电子设备,其特征在于,所述第二处理器,还用于如果检测到拥塞的网络顺畅时,控制所述第二收发机向智能网关设备发送解禁消息,通知所述智能网关设备监听消息并接收。
23.一种电子设备,其特征在于,包括第三处理器、第三存储器和第三收发机,
所述第三存储器中存储有计算机程序,当所述程序被所述第三处理器执行时,使得所述第三处理器执行权利要求1-5任一项所述方法的步骤。
24.一种计算机可读存储介质,其特征在于,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行权利要求1-5任一项所述方法的步骤。
25.一种电子设备,其特征在于,包括第四处理器、第四存储器和第四收发机,
所述第四存储器中存储有计算机程序,当所述程序被所述第四处理器执行时,使得所述第四处理器执行权利要求6-10任一项所述方法的步骤。
26.一种计算机可读存储介质,其特征在于,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行权利要求6-10任一项所述方法的步骤。
CN201811340401.6A 2018-11-12 2018-11-12 一种osgi插件升级的方法、装置、电子设备及存储介质 Active CN111176674B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811340401.6A CN111176674B (zh) 2018-11-12 2018-11-12 一种osgi插件升级的方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811340401.6A CN111176674B (zh) 2018-11-12 2018-11-12 一种osgi插件升级的方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111176674A true CN111176674A (zh) 2020-05-19
CN111176674B CN111176674B (zh) 2023-04-28

Family

ID=70648055

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811340401.6A Active CN111176674B (zh) 2018-11-12 2018-11-12 一种osgi插件升级的方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111176674B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115766897A (zh) * 2022-11-09 2023-03-07 中国联合网络通信集团有限公司 网关管理方法、装置、智能网关及存储介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722420A (zh) * 2011-10-25 2012-10-10 中国电力科学研究院 一种自诊断终端、检测方法及远程维护系统
CN103209362A (zh) * 2013-04-12 2013-07-17 深圳市共进电子股份有限公司 一种无源光网络设备间多设备之间升级的方法
US20130215900A1 (en) * 2012-02-21 2013-08-22 Entropic Communications, Inc. Software Upgrade Using Layer-2 Management Entity Messaging
CN103685487A (zh) * 2013-12-02 2014-03-26 宁波三星电气股份有限公司 无线通信网络中的子节点升级方法
CN105450455A (zh) * 2015-12-11 2016-03-30 上海市共进通信技术有限公司 工厂中网络设备批量自动升级的系统及方法
CN105763345A (zh) * 2014-12-15 2016-07-13 中兴通讯股份有限公司 一种网元升级管理方法、装置及系统
CN106375122A (zh) * 2016-08-31 2017-02-01 上海澳润信息科技有限公司 一种基于lamp下的智能网关策略升级方法
CN106612192A (zh) * 2015-10-22 2017-05-03 阿里巴巴集团控股有限公司 设备的升级方法、装置和系统
CN107329741A (zh) * 2017-06-12 2017-11-07 北京北信源软件股份有限公司 一种基于指纹识别的软件分布式升级方法与装置
CN107465539A (zh) * 2017-07-25 2017-12-12 北京康得新创科技股份有限公司 固件的升级方法、终端及固件的升级系统
CN107682197A (zh) * 2017-10-17 2018-02-09 锐捷网络股份有限公司 设备升级方法、网络设备及服务器
CN108376078A (zh) * 2018-02-26 2018-08-07 广东美的制冷设备有限公司 设备的升级方法、装置以及家电设备
CN108737178A (zh) * 2018-05-21 2018-11-02 珠海中慧微电子有限公司 无线网络中子节点的升级方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722420A (zh) * 2011-10-25 2012-10-10 中国电力科学研究院 一种自诊断终端、检测方法及远程维护系统
US20130215900A1 (en) * 2012-02-21 2013-08-22 Entropic Communications, Inc. Software Upgrade Using Layer-2 Management Entity Messaging
CN103209362A (zh) * 2013-04-12 2013-07-17 深圳市共进电子股份有限公司 一种无源光网络设备间多设备之间升级的方法
CN103685487A (zh) * 2013-12-02 2014-03-26 宁波三星电气股份有限公司 无线通信网络中的子节点升级方法
CN105763345A (zh) * 2014-12-15 2016-07-13 中兴通讯股份有限公司 一种网元升级管理方法、装置及系统
CN106612192A (zh) * 2015-10-22 2017-05-03 阿里巴巴集团控股有限公司 设备的升级方法、装置和系统
CN105450455A (zh) * 2015-12-11 2016-03-30 上海市共进通信技术有限公司 工厂中网络设备批量自动升级的系统及方法
CN106375122A (zh) * 2016-08-31 2017-02-01 上海澳润信息科技有限公司 一种基于lamp下的智能网关策略升级方法
CN107329741A (zh) * 2017-06-12 2017-11-07 北京北信源软件股份有限公司 一种基于指纹识别的软件分布式升级方法与装置
CN107465539A (zh) * 2017-07-25 2017-12-12 北京康得新创科技股份有限公司 固件的升级方法、终端及固件的升级系统
CN107682197A (zh) * 2017-10-17 2018-02-09 锐捷网络股份有限公司 设备升级方法、网络设备及服务器
CN108376078A (zh) * 2018-02-26 2018-08-07 广东美的制冷设备有限公司 设备的升级方法、装置以及家电设备
CN108737178A (zh) * 2018-05-21 2018-11-02 珠海中慧微电子有限公司 无线网络中子节点的升级方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谭亚科: "电信设备软件自动升级设计与实现", 《电子技术》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115766897A (zh) * 2022-11-09 2023-03-07 中国联合网络通信集团有限公司 网关管理方法、装置、智能网关及存储介质

Also Published As

Publication number Publication date
CN111176674B (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
CN108011935B (zh) 一种nb-iot设备的程序升级方法、服务器及nb-iot设备
WO2019062304A1 (zh) 用于管理区块链节点的计算资源的方法、设备和系统
CN110209405B (zh) 分布式系统的自动化升级方法及装置
CN111399884A (zh) 一种车辆组件的升级方法、装置及电子设备
US9032388B1 (en) Authorizing or preventing deployment of update information based on deployment parameters
US11323317B1 (en) Software capabilities management from a service provider environment
US8583783B1 (en) Method and system for adaptive recovery of heap memory
CN109391673A (zh) 一种管理更新文件的方法、系统及终端设备
EP4066441B1 (en) Management of iot devices in wireless communication networks
CN108279916A (zh) 电子控制单元程序更新方法和装置
CN109753300B (zh) 一种算法升级方法、计算任务发送方法及相关装置
CN112698857B (zh) 一种数据刷写的方法及设备
CN110865819B (zh) 一种os的安装方法、服务器和系统
CN110875838B (zh) 一种资源部署方法、装置和存储介质
US20220014910A1 (en) Secure Handling of Hardware Activation Codes
WO2016026329A1 (zh) 终端的升级方法及装置
CN105045640A (zh) 一种软件升级方法、装置及智能设备
AU2020403120A1 (en) Package-based remote firmware update
CN111176674B (zh) 一种osgi插件升级的方法、装置、电子设备及存储介质
CN115134684A (zh) 水表集抄设备的远程升级方法、系统以及装置
US20200280858A1 (en) Radio access resource sharing
CN111200833B (zh) 一种网元状态的确定方法及装置
CN116257270A (zh) 一种车辆、车辆的升级方法和装置
CN114840238A (zh) 软件升级方法、装置、电子设备及计算机可读存储介质
CN113721938A (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
GR01 Patent grant
GR01 Patent grant