CN112817617B - 软件升级方法、装置和系统 - Google Patents
软件升级方法、装置和系统 Download PDFInfo
- Publication number
- CN112817617B CN112817617B CN201911129069.3A CN201911129069A CN112817617B CN 112817617 B CN112817617 B CN 112817617B CN 201911129069 A CN201911129069 A CN 201911129069A CN 112817617 B CN112817617 B CN 112817617B
- Authority
- CN
- China
- Prior art keywords
- upgrade package
- information
- components
- upgrade
- terminal
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1016—IP multimedia subsystem [IMS]
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Environmental & Geological Engineering (AREA)
- Stored Programmes (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提供了一种软件升级方法、装置和系统,接收终端内至少两个部件的存储资源信息;生成存储资源反馈信息;将所述存储资源反馈信息发送给网络侧设备;接收所述网络侧设备生成的升级包分块信息,所述升级包分块信息至少包括用于终端软件升级的多个升级包分块与用于存储所述多个升级包分块的多个部件的一一对应关系;生成用于向所述多个部件指示获取所述多个升级包分块的至少一个指示信息;向所述多个部件发送所述至少一个指示信息。通过充分利用智能网联车内多个部件的存储资源,提高了软件升级的成功率。
Description
技术领域
本发明涉及终端的软件升级技术,尤其涉及一种智能网联车的软件升级方法、装置和系统。
背景技术
随着智能网联车的发展,通过空中下载技术(Over the Air,OTA)对汽车部件进行在线升级成为了智能网联汽车的重要功能,整车厂商通过OTA功能升级汽车的相关软件,有利于厂商减少召回成本、快速响应需求、提升用户体验。
智能网联车包含多个部件,例如中央网关、T-box(Telematics BOX,车联网车载通信终端)、人机交互控制器(HMI,Human-Machine Interaction)、移动数据中心(MDC,MobileData Controller)、高级驾驶辅助系统(ADAS,Advanced Driving Assistant System),整车OTA升级可能需要对上述多个车内部件进行升级,从而需要下载较大存储量的升级软件。除了智能网联车以外,终端还包括智能手机、工业物联网设备、智能机器人等多种存在形式,并且随着智能化技术的进步,终端实现的功能越来越多、内部结构越来越复杂,因此在升级终端软件时对于终端的存储空间要求越来越高。
现有技术采用单一模块下载的方案,即使用一个升级控制模块来完成终端软件升级包的下载、存储、拆分和分发,并且控制终端内各部件完成升级操作。当软件升级包数据量很大时,这种单一模块下载的策略就会对升级控制模块的存储空间提出较高要求。
当升级控制模块的存储资源充足时,基于单一模块下载终端软件升级包的方法参见图1所示,包括:
①下载阶段:OTA云侧设备启动下载后,升级控制模块检查自身的存储资源,如果满足终端软件升级包的下载要求,则从OTA云侧设备下载全部的软件升级包,并校验下载文件的完整性。
②分发阶段:升级控制模块将软件升级包拆分,并分发给终端内各个需要升级的部件。
③安装阶段:升级控制模块控制各个需要升级的部件安装软件升级包并激活升级软件。
当升级控制模块的存储资源不足时,基于单一模块下载终端软件升级包的方法参见图2所示,包括:OTA云侧设备启动下载后,升级控制模块检查自身的存储资源,如果不满足终端软件升级包的存储要求,则返回资源不足信息,终止下载,导致升级失败。
可见,升级控制模块本地存储资源的不足非常容易导致终端软件升级失败,亟需一种提高终端软件升级成功率的方法。
发明内容
针对现有技术中存在的上述技术问题,本发明实施例提出一种软件升级方法、装置和系统。本发明权利要求书和说明书发明内容部分中的“软件”为广义概念的软件,包括但不限于固件、计算机程序、操作系统、驱动程序、系统软件或应用程序。
第一方面,提供一种软件升级方法,包括:接收终端内至少两个部件的存储资源信息,所述存储资源信息至少包括所述至少两个部件中每个部件的可用存储容量,所述至少两个部件对应于至少两个可用存储容量;根据所述存储资源信息生成存储资源反馈信息,所述存储资源反馈信息至少包括所述每个部件的可用存储容量;将所述存储资源反馈信息发送给网络侧设备;接收所述网络侧设备生成的升级包分块信息,所述升级包分块信息至少包括用于终端软件升级的多个升级包分块与用于存储所述多个升级包分块的多个部件的一一对应关系,所述多个部件是所述至少两个部件中的部分或全部部件;根据所述升级包分块信息,生成用于向多个部件指示获取所述多个升级包分块的至少一个指示信息,其中,所述多个部件与所述多个可用存储容量一一对应;向所述多个部件发送所述至少一个指示信息。
上述方法为终端侧执行的软件升级方法。其中,“至少部分”等同于“部分或者全部”。可选地,所述存储资源反馈信息还包括所述至少部分所述至少两个部件中每个部件的标识。至少两个部件可能是终端内的全部部件,也可能仅是终端内的部分部件,这是因为可能存在存储资源已全部用完或者为其他操作预留存储资源的部件。所述接收终端内至少两个部件的存储资源信息,可以通过一种或多种接收方式,所述接收方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,WorldwideInteroperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线接收,或者从软件模块获取参数,或者从存储器件读取信息。所述存储资源信息除了包括所述至少两个部件中每个部件的可用存储容量以外,还可能包括其它信息,例如所述至少两个部件的数量、标识或总的可用存储容量。所述至少两个部件中每个部件的可用存储容量可能不会全部放入所述存储资源反馈信息中,因为可能会在终端侧根据所述存储资源信息中的所述可用存储容量,确定所述至少两个部件中的一个或多个联网模块不用于存储终端的软件升级包;当然,也可能不在终端侧而在网络侧网络侧执行上述确定操作。由于可能升级软件不需要占用全部的所述至少两个部件,因此所述多个部件可能是所述至少两个部件中的部分部件。所述发送所述至少一个指示信息,可以通过一种或多种发送方式,所述发送方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线发送,或者向软件模块输入参数,或者向存储器写入信息。通过将终端的存储资源信息上报给网络侧设备,由网络侧设备根据终端存储资源的实际情况适应性地进行多个升级包分块的划分,充分利用了终端内多个部件的存储资源,相对现有技术降低了终端侧部件的软件包存储压力;另外,由于对较大数据包拆分需要占用较多的随机存储资源,因此由网络侧对升级包划分分块,也能够降低对终端侧部件的存储资源要求,最终能够提高软件升级的成功率,更适用于终端(尤其是智能网联车)的软件升级。
根据第一方面,在所述软件升级方法的第一种可能的实现方式中,所述升级包分块信息还包括所述多个升级包分块中每个升级包分块的下载地址,所述至少一个指示信息中的每个指示信息包括所述多个升级包分块中至少一个升级包分块的下载地址。终端软件可以集中存储于网络侧的一个设备,也可以分布式存储于网络侧的多个设备,从而可选地,所述多个升级包分块的下载地址为一个或者多个,或者所述多个升级包分块中的至少部分升级包分块共享一个下载地址。所述下载地址用于向部件指示与所述部件对应的升级包分块所位于的网络侧设备。
根据第一方面或第一方面的第一种可能的实现方式,在所述软件升级方法的第二种可能的实现方式中,所述升级包分块信息还包括所述多个升级包分块中每个升级包分块的校验信息,所述至少一个指示信息中的每个指示信息包括所述多个升级包分块中至少一个升级包分块的校验信息。每个升级包分块独立校验可以进一步充分利用终端内设备的运算资源。可选地,所述升级包分块信息还包括所述多个升级包分块的数量,所述方法还包括步骤:根据所述每个升级包分块的校验结果和所述多个升级包分块的数量进行整体校验。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第三种可能的实现方式中,所述至少一个指示信息包括所述多个部件用于获取所述多个升级包分块中至少一个升级包分块的对外通信资源。所述对外通信资源是终端内的部件用于与所述终端外部的设备进行通信的通信资源(例如应用于车外网通信的蜂窝通信资源),包括但不限于:所述对外通信资源包括但不限于蜂窝通信、卫星通信、蓝牙通信、Wifi(WirelessFidelity,无线局域网)或有线通信所需的通信器件、通信信道或通信接口等通信资源。可选地,所述对外通信资源包括所述多个部件中每个部件自身的对外通信资源,或者所述终端内除所述多个部件以外的一个或多个其他部件的对外通信资源。可选地,所述多个部件中的每个部件通过自身的对外通信资源,或者通过除所述自身的对外通信资源以外的终端的其它对外通信资源获取所述多个升级包分块中的一个升级包分块。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第四种可能的实现方式中,所述至少一个指示信息包括所述多个部件用于获取所述多个升级包分块中至少一个升级包分块的时间信息。可选地,所述时间信息指示多个部件同时或者按顺序依次获取所述多个升级包分块。可选地,所述时间信息指示所述多个部件定时地获取所述至少一个升级包分块。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第五种可能的实现方式中,在所述生成存储资源反馈信息之前,所述方法还包括:根据所述至少两个部件中每个部件的可用存储容量,确定终端内的可用存储资源满足所述终端软件升级的存储需求。在网络侧设备向终端设备启动下载时,将待下载的多个终端软件升级包的存储需求发送给终端设备,由终端设备判断终端内可用存储资源是否满足多个终端软件升级包的存储需求,赋予终端设备更高的自主性和私密性。可选地,如果可用存储容量之和减去软件升级包占用存储空间之和的差超过预定阈值,则确定终端内的可用存储资源满足所述终端软件升级的存储需求。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第六种可能的实现方式中,所述至少一个指示信息为多个指示信息,并且所述多个指示信息与所述多个部件一一对应,所述向所述多个部件发送所述至少一个指示信息包括:分别向所述多个部件中的每个部件发送与所述每个部件对应的所述多个指示信息中的一个指示信息。可选地,所述多个指示信息同时或者按顺序依次被发送。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第七种可能的实现方式中,所述至少一个指示信息为一个指示信息,所述向所述多个部件发送所述至少一个指示信息包括:向所述多个部件中的每个部件发送所述一个指示信息。在这种方式下,所述一个指示信息包括所述多个部件中每个部件获取所述多个升级包分块中的一个升级包分块的相关信息。可选地,向所述多个部件中的每个部件同时或者按顺序依次发送所述一个指示信息。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第八种可能的实现方式中,所述至少一个指示信息为一个指示信息,所述向所述多个部件发送所述至少一个指示信息包括:向所述多个部件中的一个部件发送所述一个指示信息。在这种方式下,所述多个部件之间可相互传输所述一个指示信息。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第九种可能的实现方式中,所述方法还包括:向所述多个部件发送下载指令,所述下载指令用于指示所述多个部件获取与所述多个部件一一对应的多个升级包分块。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第十种可能的实现方式中,所述方法还包括:向所述多个部件发送升级包分发指令,所述升级包分发指令用于指示所述多个部件向所述终端内除所述多个部件以外的至少一个部件发送所述多个升级包分块中一个或多个升级包分块,其中所述一个或多个升级包分块由所述多个部件通过解析与所述多个部件一一对应的多个升级包分块得到。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第十一种可能的实现方式中,所述方法还包括:向所述多个部件发送安装激活指令,所述安装激活指令用于指示所述多个部件中安装并激活至少一个升级软件,其中所述至少一个升级软件由所述多个部件通过解析与所述多个部件一一对应的多个升级包分块得到。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第十二种可能的实现方式中,所述可用存储容量包括随机存储器RAM中的可用存储容量或只读存储器ROM中的可用存储容量中的至少一种。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第十三种可能的实现方式中,所述多个升级包分块中的每个升级包分块包括所述终端内至少一个部件升级所需的全部或部分升级软件包。
第二方面,提供一种软件升级方法,所述方法为网络侧网络侧执行的软件升级方法,包括:从终端设备接收存储资源反馈信息,所述存储资源反馈信息至少包括所述终端设备内可用于存储多个升级包分块的多个部件中每个部件的可用存储容量;根据所述存储资源反馈信息,将一个或多个软件升级包划分为多个升级包分块,所述多个升级包分块与至少部分所述每个部件的可用存储容量一一对应;生成升级包分块信息,所述升级包分块信息至少包括所述多个升级包分块与所述至少部分所述每个部件的可用存储容量的对应关系;将所述升级包分块信息发送给所述终端设备。
可选地,将一个或多个软件升级包划分为多个升级包分块包括:将一个占用存储容量较大的软件升级包(例如整车升级包)分割并重新封装为多个升级包分块,或者将多个软件升级包(例如一个软件升级包对应一个升级软件)分组并重新封装为多个升级包分块。通过将一个或多个软件升级包划分为与所述至少部分部件一一对应多个升级包分块,充分利用了终端内多个部件的存储资源,相对现有技术降低了终端侧部件的软件包存储压力;另外,由于对较大数据包拆分需要占用较多的随机存储资源,因此由网络侧对升级包划分分块,也能够降低对终端侧部件的存储资源要求,最终能够提高软件升级的成功率,更适用于终端(尤其是智能网联车)的软件升级。
根据第二方面,在所述软件升级方法的第一种可能的实现方式中,所述升级包分块信息包括所述多个升级包分块中每个升级包分块的校验信息、每个升级包分块下载地址或所述多个升级包分块的数量中的至少一项。所述升级包分块信息包括每个升级包分块的校验信息,可以使每个升级包分块独立校验,从而充分利用终端内多个可用部件的运算资源;所述升级包分块信息包括每个升级包分块下载地址,可以向终端内多个部件指示用于获取与所述多个升级包分块的网络侧设备;所述升级包分块信息包括升级包分块的数量,可用于所述多个升级包分块整体的数据完整性校验。
根据第二方面或第二方面的第一种可能的实现方式,在所述软件升级方法的第二种可能的实现方式中,在所述从终端设备接收存储资源反馈信息之前,所述方法还包括:向终端设备发送软件升级启动消息。除了由网络侧设备启动所述软件升级以外,还可由终端设备启动所述软件升级。
根据第二方面,或以上第二方面的任意一种实现方式,在所述软件升级方法的第三种可能的实现方式中,在所述将一个或多个软件升级包划分为多个升级包分块之前,所述方法还包括:根据所述存储资源反馈信息,确定所述终端设备内的可用存储资源满足所述软件升级的存储需求。可选地,如果可用存储容量之和减去软件升级包占用存储空间之和的差超过预定阈值,则确定所述终端设备内的可用存储资源满足所述软件升级的存储需求。
根据第二方面,或以上第二方面的任意一种实现方式,在所述软件升级方法的第四种可能的实现方式中,所述将一个或多个软件升级包划分为多个升级包分块包括:优先把占用存储空间较大的一个软件升级包划分到与可用存储容量较大的一个部件对应的一个升级包分块中。所述多个升级包分块与多个部件一一对应,该方式可以尽量避免因为个别软件升级包过大而无法划分到所述多个升级包分块中任何一个软件升级包的情况。
根据第二方面,或以上第二方面的任意一种实现方式,在所述软件升级方法的第五种可能的实现方式中,所述方法还包括:向至少一个网络侧的升级软件存储装置发送升级包分发指令,所述升级包分发指令用于指示所述至少一个网络侧的升级软件存储装置将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备。
根据第二方面,或以上第二方面的任意一种实现方式,在所述软件升级方法的第六种可能的实现方式中,所述方法还包括:将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备。
根据第二方面的第六种可能的实现方式,在所述软件升级方法的第七种可能的实现方式中,在所述将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备之前,所述方法还包括:从至少一个网络侧的升级软件存储装置接收所述多个升级包分块中的至少一个升级包分块。
根据第二方面,或以上第二方面的任意一种实现方式,在所述软件升级方法的第八种可能的实现方式中,所述可用存储容量包括随机存储器RAM中的可用存储容量或只读存储器ROM中的可用存储容量中的至少一种。
根据第二方面,或以上第二方面的任意一种实现方式,在所述软件升级方法的第九种可能的实现方式中,所述多个升级包分块中的每个升级包分块包括所述终端内至少一个部件升级所需的全部或部分升级软件包。
第三方面,提供一种软件升级装置,包括:接收单元,用于接收终端内至少两个部件的存储资源信息,所述存储资源信息至少包括所述至少两个部件中每个部件的可用存储容量,所述至少两个部件对应于至少两个可用存储容量;处理单元,用于根据所述存储资源信息生成存储资源反馈信息,所述存储资源反馈信息至少包括所述每个部件的可用存储容量;发送单元,用于将所述存储资源反馈信息发送给网络侧设备;所述接收单元还用于接收所述网络侧设备生成的升级包分块信息,所述升级包分块信息至少包括用于终端软件升级的多个升级包分块与所述至少两个可用存储容量中多个可用存储容量的一一对应关系;所述处理单元还用于根据所述升级包分块信息,生成用于向多个部件指示获取所述多个升级包分块的至少一个指示信息,其中,所述多个部件与所述多个可用存储容量一一对应;所述发送单元,还用于向所述多个部件发送所述至少一个指示信息。
所述装置是终端侧的软件升级装置。其中,“至少部分”等同于“部分或者全部”。可选地,所述存储资源反馈信息还包括所述至少部分所述至少两个部件中每个部件的标识。所述部件指连接到终端内部网络(如车内网)的部件。至少两个部件可能是终端内的全部部件,也可能仅是终端内的部分部件,这是因为可能存在存储资源已全部用完或者为其他操作预留存储资源的部件。所述接收终端内至少两个部件的存储资源信息,可以通过一种或多种接收方式,所述接收方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for MicrowaveAccess)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线接收,或者从软件模块获取参数,或者从存储器件读取信息。所述存储资源信息除了包括所述至少两个部件中每个部件的可用存储容量以外,还可能包括其它信息,例如所述至少两个部件的数量、标识或总的可用存储容量。所述至少两个部件中每个部件的可用存储容量可能不会全部放入所述存储资源反馈信息中,因为可能会在终端侧根据所述存储资源信息中的所述可用存储容量,确定所述至少两个部件中的一个或多个联网模块不用于存储终端的软件升级包;当然,也可能不在终端侧而在网络侧网络侧执行上述确定操作。由于可能升级软件不需要占用全部的所述至少两个部件,因此所述多个部件可能是所述至少两个部件中的部分部件。所述发送所述至少一个指示信息,可以通过一种或多种发送方式,所述发送方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,WorldwideInteroperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线发送,或者向软件模块输入参数,或者向存储器写入信息。通过将终端的存储资源信息上报给网络侧设备,由网络侧设备根据终端存储资源的实际情况适应性地进行多个升级包分块的划分,充分利用了终端内多个部件的存储资源,相对现有技术降低了终端侧部件的软件包存储压力;另外,由于对较大数据包拆分需要占用较多的随机存储资源,因此由网络侧对升级包划分分块,也能够降低对终端侧部件的存储资源要求,最终能够提高软件升级的成功率,更适用于终端(尤其是智能网联车)的软件升级。
可选地,所述接收单元包括多个子接收单元,所述多个子接收单元分别用于接收终端内所述至少两个部件中至少一个部件的存储资源信息。可选地,所述多个子接收单元位于终端内不同的多个部件之中。可选地,所述多个子接收单元通过至少一种接收方式接收所述存储资源信息,所述接收方式包括但不限于通过蜂窝通信、Wifi(WirelessFidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability forMicrowave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线接收,或者从软件模块获取参数,或者从存储器件读取信息。
可选地,所述存储资源反馈信息还包括与多个部件中至少部分部件的可用存储容量一一对应的至少一个部件的标识,所述至少一个部件是所述至少两个部件的部分或者全部部件。
可选地,所述发送单元包括多个子发送单元,所述多个子发送单元分别用于向所述多个部件发送所述至少一个指示信息。可选地,所述多个子发送单元位于终端内不同的多个部件之中。可选地,所述多个子发送单元通过至少一种发送方式发送所述存储资源信息,所述发送方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线发送,或者向软件模块输入参数,或者向存储器写入信息。
根据第三方面,在所述软件升级装置的第一种可能的实现方式中,所述升级包分块信息还包括所述多个升级包分块中每个升级包分块的下载地址,所述至少一个指示信息中的每个指示信息包括所述多个升级包分块中至少一个升级包分块的下载地址。终端软件可以集中存储于网络侧的一个设备,也可以分布式存储于网络侧的多个设备,从而可选地,所述多个升级包分块的下载地址为一个或者多个,或者所述多个升级包分块中的至少部分升级包分块共享一个下载地址。所述下载地址用于向部件指示与所述部件对应的升级包分块所位于的网络侧设备。
根据第三方面或第三方面的第一种可能的实现方式,在所述软件升级装置的第二种可能的实现方式中,所述升级包分块信息还包括所述多个升级包分块中每个升级包分块的校验信息,所述至少一个指示信息中的每个指示信息包括所述多个升级包分块中至少一个升级包分块的校验信息。每个升级包分块独立校验可以进一步充分利用终端内设备的运算资源。可选地,所述升级包分块信息还包括所述多个升级包分块的数量,所述装置还包括步骤:根据所述每个升级包分块的校验结果和所述多个升级包分块的数量进行整体校验。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第三种可能的实现方式中,所述至少一个指示信息包括所述多个部件用于获取所述多个升级包分块中至少一个升级包分块的对外通信资源。所述对外通信资源是终端内的部件用于与所述终端外部的设备进行通信的通信资源(例如应用于车外网通信的蜂窝通信资源),包括但不限于:所述对外通信资源包括但不限于蜂窝通信、卫星通信、蓝牙通信、Wifi(WirelessFidelity,无线局域网)或有线通信所需的通信器件、通信信道或通信接口等通信资源。可选地,所述对外通信资源包括所述多个部件中每个部件自身的对外通信资源,或者所述终端内除所述多个部件以外的一个或多个其他部件的对外通信资源。可选地,所述多个部件中的每个部件通过自身的对外通信资源,或者通过除所述自身的对外通信资源以外的终端的其它对外通信资源获取所述多个升级包分块中的一个升级包分块。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第四种可能的实现方式中,所述至少一个指示信息包括所述多个部件用于获取所述多个升级包分块中至少一个升级包分块的时间信息。可选地,所述时间信息指示多个部件同时或者按顺序依次获取所述多个升级包分块。可选地,所述时间信息指示所述多个部件定时地获取所述至少一个升级包分块。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第五种可能的实现方式中,所述处理单元还用于:根据所述至少两个部件中每个部件的可用存储容量,确定终端内的可用存储资源满足所述终端软件升级的存储需求。在网络侧设备向终端设备启动下载时,将待下载的多个终端软件升级包的存储需求发送给终端设备,由终端设备判断终端内可用存储资源是否满足多个终端软件升级包的存储需求,赋予终端设备更高的自主性和私密性。可选地,如果可用存储容量之和减去软件升级包占用存储空间之和的差超过预定阈值,则确定终端内的可用存储资源满足所述终端软件升级的存储需求。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第六种可能的实现方式中,所述至少一个指示信息为多个指示信息,并且所述多个指示信息与所述多个部件一一对应,所述向所述多个部件发送所述至少一个指示信息包括:分别向所述多个部件中的每个部件发送与所述每个部件对应的所述多个指示信息中的一个指示信息。可选地,所述多个指示信息同时或者按顺序依次被发送。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第七种可能的实现方式中,所述至少一个指示信息为一个指示信息,所述向所述多个部件发送所述至少一个指示信息包括:向所述多个部件中的每个部件发送所述一个指示信息。在这种方式下,所述一个指示信息包括所述多个部件中每个部件获取所述多个升级包分块中的一个升级包分块的相关信息。可选地,向所述多个部件中的每个部件同时或者按顺序依次发送所述一个指示信息。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第八种可能的实现方式中,所述至少一个指示信息为一个指示信息,所述向所述多个部件发送所述至少一个指示信息包括:向所述多个部件中的一个部件发送所述一个指示信息。在这种方式下,所述多个部件之间可相互传输所述一个指示信息。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第九种可能的实现方式中,所述发送单元还用于:向所述多个部件发送下载指令,所述下载指令用于指示所述多个部件获取与所述多个部件一一对应的多个升级包分块。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第十种可能的实现方式中,所述发送单元还用于:向所述多个部件发送升级包分发指令,所述升级包分发指令用于指示所述多个部件向所述终端内除所述多个部件以外的至少一个部件发送所述多个升级包分块中一个或多个升级包分块,其中所述一个或多个升级包分块由所述多个部件通过解析与所述多个部件一一对应的多个升级包分块得到。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第十一种可能的实现方式中,所述发送单元还用于:向所述多个部件发送安装激活指令,所述安装激活指令用于指示所述多个部件中安装并激活至少一个升级软件,其中所述至少一个升级软件由所述多个部件通过解析与所述多个部件一一对应的多个升级包分块得到。
可选地,所述多个子发送单元分别用于向所述多个部件发送所述下载指令、所述升级包分发指令或所述安装激活指令。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第十二种可能的实现方式中,所述可用存储容量包括随机存储器RAM中的可用存储容量或只读存储器ROM中的可用存储容量中的至少一种。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第十三种可能的实现方式中,所述多个升级包分块中的每个升级包分块包括所述终端内至少一个部件升级所需的全部或部分升级软件包。
第四方面,提供一种软件升级装置,所述软件升级装置位于网络侧网络侧,包括:接收单元,用于从终端设备接收存储资源反馈信息,所述存储资源反馈信息至少包括所述终端设备内可用于存储多个升级包分块的多个部件中每个部件的可用存储容量;处理单元,用于根据所述存储资源反馈信息,将一个或多个软件升级包划分为多个升级包分块,所述多个升级包分块与至少部分所述每个部件的可用存储容量一一对应;所述处理单元还用于生成升级包分块信息,所述升级包分块信息至少包括所述多个升级包分块与所述至少部分所述每个部件的可用存储容量的对应关系;发送单元,用于将所述升级包分块信息发送给所述终端设备。通过将一个或多个软件升级包划分为与所述至少部分部件一一对应多个升级包分块,充分利用了终端内多个部件的存储资源,相对现有技术降低了终端侧部件的软件包存储压力;另外,由于对较大数据包拆分需要占用较多的随机存储资源,因此由网络侧对升级包划分分块,也能够降低对终端侧部件的存储资源要求,最终能够提高软件升级的成功率,更适用于终端(尤其是智能网联车)的软件升级。
所述接收单元可以使用一种或多种接收方式,所述接收方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,WorldwideInteroperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线接收,或者从软件模块获取参数,或者从存储器件读取信息。
可选地,所述接收单元包括多个子接收单元,所述多个子接收单元分别用于接收终端内所述至少两个部件中至少一个部件的存储资源信息。可选地,所述多个子接收单元位于终端内不同的多个部件之中。可选地,所述多个子接收单元通过至少一种接收方式接收所述存储资源信息,所述接收方式包括但不限于通过蜂窝通信、Wifi(WirelessFidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability forMicrowave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线接收,或者从软件模块获取参数,或者从存储器件读取信息。
所述发送单元可以使用一种或多种发送方式,所述发送方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,WorldwideInteroperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线发送,或者向软件模块输入参数,或者向存储器写入信息。
可选地,所述发送单元包括多个子发送单元,所述多个子发送单元分别用于向所述多个部件发送所述至少一个指示信息。可选地,所述多个子发送单元位于终端内不同的多个部件之中。可选地,所述多个子发送单元通过至少一种发送方式发送所述存储资源信息,所述发送方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线发送,或者向软件模块输入参数,或者向存储器写入信息。
可选地,将一个或多个软件升级包划分为多个升级包分块包括:将一个占用存储容量较大的软件升级包(例如整车升级包)分割并重新封装为多个升级包分块,或者将多个软件升级包(例如一个软件升级包对应一个升级软件)分组并重新封装为多个升级包分块。通过将一个或多个软件升级包划分为与所述至少部分部件一一对应多个升级包分块,可以充分利用终端的存储资源,提高终端的软件升级成功率,更适用于终端(尤其是智能网联车)的软件升级。
根据第四方面,在所述软件升级装置的第一种可能的实现方式中,所述升级包分块信息包括所述多个升级包分块中每个升级包分块的校验信息、每个升级包分块下载地址或所述多个升级包分块的数量中的至少一项。所述升级包分块信息包括每个升级包分块的校验信息,可以使每个升级包分块独立校验,从而充分利用终端内多个可用部件的运算资源;所述升级包分块信息包括每个升级包分块下载地址,可以向终端内多个部件指示用于获取与所述多个升级包分块的网络侧设备;所述升级包分块信息包括升级包分块的数量,可用于所述多个升级包分块整体的数据完整性校验。
根据第四方面或第四方面的第一种可能的实现方式,在所述软件升级装置的第二种可能的实现方式中,所述发送单元还用于:向终端设备发送软件升级启动消息。除了由网络侧设备启动所述软件升级以外,还可由终端设备启动所述软件升级。
根据第四方面,或以上第四方面的任意一种实现方式,在所述软件升级装置的第三种可能的实现方式中,所述处理单元还用:根据所述存储资源反馈信息,确定所述终端设备内的可用存储资源满足所述软件升级的存储需求。可选地,如果可用存储容量之和减去软件升级包占用存储空间之和的差超过预定阈值,则确定所述终端设备内的可用存储资源满足所述软件升级的存储需求。
根据第四方面,或以上第四方面的任意一种实现方式,在所述软件升级装置的第四种可能的实现方式中,所述将一个或多个软件升级包划分为多个升级包分块包括:优先把占用存储空间较大的一个软件升级包划分到与可用存储容量较大的一个部件对应的一个升级包分块中。所述多个升级包分块与多个部件一一对应,该方式可以尽量避免因为个别软件升级包过大而无法划分到所述多个升级包分块中任何一个软件升级包的情况。
根据第四方面,或以上第四方面的任意一种实现方式,在所述软件升级装置的第五种可能的实现方式中,所述发送单元还用于:向至少一个网络侧的升级软件存储装置发送升级包分发指令,所述升级包分发指令用于指示所述至少一个网络侧的升级软件存储装置将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备。
根据第四方面,或以上第四方面的任意一种实现方式,在所述软件升级装置的第六种可能的实现方式中,所述发送单元还用于:将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备。
根据第四方面的第六种可能的实现方式,在所述软件升级装置的第七种可能的实现方式中,所述接收单元还用于:从至少一个网络侧的升级软件存储装置接收所述多个升级包分块中的至少一个升级包分块。
根据第四方面,或以上第四方面的任意一种实现方式,在所述软件升级装置的第八种可能的实现方式中,所述可用存储容量包括随机存储器RAM中的可用存储容量或只读存储器ROM中的可用存储容量中的至少一种。
根据第四方面,或以上第四方面的任意一种实现方式,在所述软件升级装置的第九种可能的实现方式中,所述多个升级包分块中的每个升级包分块包括所述终端内至少一个部件升级所需的全部或部分升级软件包。
第五方面,提供一种软件升级装置,包括存储器和处理器,所述存储器存储计算机程序指令,所述处理器运行所述计算机程序指令以执行第一方面或以上第一方面的任意一种实现方式的操作。
根据第五方面,在所述软件升级装置的第一种可能的实现方式中,所述装置还包括收发器,用于用于接收所述存储资源信息或所述升级包分块信息,或者用于发送所述存储资源反馈信息、所述至少一个指示信息、所述下载指令、所述升级包分发指令和所述安装激活指令中的至少一项。
上述第三或第五方面,或以上第三或第五方面的任意一种实现方式所描述的软件升级装置,可应用于包括但不限于智能网联车、机器人和智能家居等形式的终端设备。当应用于智能网联车时,所述软件升级装置可以智能网联车本身,或者是智能网联车的一个部件,例如中央网关、T-box(Telematics BOX,车联网车端通信终端)、人机交互控制器(HMI,Human-Machine Interaction)、移动数据中心(MDC,Mobile Data Controller)、高级驾驶辅助系统(ADAS,Advanced Driving Assistant System)或电子控制单位(ECU,ElectronicControl Unit),又或者是上述部件内的一个子装置,还可以是除了上述部件以外智能网联车内的一个独立的装置。
第六方面,提供一种软件升级装置,包括存储器和处理器,所述存储器存储计算机程序指令,所述处理器运行所述计算机程序指令以执行第二方面或以上第二方面的任意一种实现方式的操作。
根据第六方面,在所述软件升级装置的第一种可能的实现方式中,所述装置还包括收发器,用于接收所述存储资源反馈信息或所述多个升级包分块中的至少一个升级包分块,或者用于发送所述升级包分块信息、所述软件升级启动消息、所述升级包分发指令和所述至少一个升级包分块中的至少一项。
上述第四或第六方面,或以上第四或第六方面的任意一种实现方式所描述的软件升级装置,可应用于网络侧,例如以网络侧的一个服务器形式存在。
第七方面,提供一种终端软件升级系统,包括第三方面或以上第三方面的任意一种实现方式的软件升级装置和第四方面或以上第四方面的任意一种实现方式的软件升级装置。
第八方面,提供一种终端软件升级系统,包括第五方面或以上第五方面的任意一种实现方式的软件升级装置和第六方面或以上第六方面的任意一种实现方式的软件升级装置。
第九方面,提供一种计算机存储介质,包括计算机指令,当所述计算机指令在被处理器运行时,使得所述软件升级装置执行第一方面或以上第一方面的任意一种实现方式的方法。
第十方面,提供一种计算机存储介质,包括计算机指令,当所述计算机指令在被处理器运行时,使得所述软件升级装置执行第二方面或以上第二方面的任意一种实现方式的方法。
第十一方面,提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,使得所述软件升级装置执行第一方面或以上第一方面的任意一种实现方式的方法。
第十二方面,提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,使得所述软件升级装置执行第二方面或以上第二方面的任意一种实现方式的方法。
第十三方面,提供一种车载软件升级方法,包括:接收车内至少两个部件的存储资源信息,所述存储资源信息至少包括所述至少两个部件中每个部件的可用存储容量;向车内多个部件发送至少一个指示信息,所述至少一个指示信息用于向所述多个部件指示获取多个升级包分块,其中,所述多个升级包分块是根据所述存储资源信息通过划分一个或多个升级软件包得到的,所述多个部件与至少部分所述至少两个部件中每个部件的可用存储容量一一对应。
第十四方面,提供一种车载软件升级装置,包括:接收单元,用于接收车内至少两个部件的存储资源信息,所述存储资源信息至少包括所述至少两个部件中每个部件的可用存储容量;发送单元,用于向车内多个部件发送至少一个指示信息,所述至少一个指示信息用于向所述多个部件指示获取多个升级包分块,其中,所述多个升级包分块是根据所述存储资源信息通过划分一个或多个升级软件包得到的,所述多个部件与至少部分所述至少两个部件中每个部件的可用存储容量一一对应。
第十五方面,提供一种车载软件升级方法,包括:将车内的存储资源反馈信息发送给网络侧设备,所述存储资源反馈信息至少包括所述车内至少两个部件中每个部件的可用存储容量;从所述网络侧设备接收所述网络侧设备生成的升级包分块信息,所述升级包分块信息至少包括用于车载软件升级的多个升级包分块与至少部分所述每个部件的可用存储容量的一一对应关系。
第十六方面,提供一种车载软件升级装置,包括:发送单元,用于将车内的存储资源反馈信息发送给网络侧设备,所述存储资源反馈信息至少包括所述车内至少两个部件中每个部件的可用存储容量;接收单元,用于从所述网络侧设备接收所述网络侧设备生成的升级包分块信息,所述升级包分块信息至少包括用于车载软件升级的多个升级包分块与至少部分所述每个部件的可用存储容量的一一对应关系。
第十七方面,提供一种车载软件升级方法,包括:从车接收存储资源反馈信息,所述存储资源反馈信息至少包括所述车内可用于存储多个升级包分块的多个部件中每个部件的可用存储容量;将升级包分块信息发送给所述终端设备,所述升级包分块信息至少包括多个升级包分块与至少部分所述每个部件的可用存储容量的一一对应关系。
第十八方面,提供一种车载软件升级装置,包括:接收单元,用于从车接收存储资源反馈信息,所述存储资源反馈信息至少包括所述车内可用于存储多个升级包分块的多个部件中每个部件的可用存储容量;发送单元,用于将升级包分块信息发送给所述终端设备,所述升级包分块信息至少包括多个升级包分块与至少部分所述每个部件的可用存储容量的一一对应关系。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中存储资源充足时的软件升级方法的流程图;
图2为现有技术中存储资源不足时的软件升级方法的流程图;
图3为本发明的一个典型应用场景的示意图;
图4为本发明实施例提供终端侧的软件升级装置的第一种存在形式的示意图;
图5为本发明实施例提供终端侧的软件升级装置的第二种和第三种存在形式的示意图;
图6为本发明实施例提供终端侧的软件升级装置的第四种存在形式的示意图;
图7为本发明实施例提供网络侧网络侧的软件升级装置的第一种工作方式的示意图;
图8为本发明实施例提供网络侧网络侧的软件升级装置的第二种工作方式的示意图;
图9为本发明实施例提供网络侧网络侧的软件升级装置的第三种工作方式的示意图;
图10为本发明实施例提供网络侧网络侧的软件升级装置的第四种工作方式的示意图;
图11为本发明实施例提供网络侧网络侧的软件升级装置的第五种工作方式的示意图;
图12为本发明实施例一提供的终端侧的软件升级方法的流程图;
图13为本发明实施例二提供的网络侧网络侧的软件升级方法的流程图;
图14为本发明实施例三提供的软件升级方法中终端存储资源查询及上报阶段的流程图;
图15为本发明实施例三提供的软件升级方法中软件升级包分块阶段的流程图;
图16为本发明实施例三提供的软件升级方法中升级包分块信息和指示信息发送阶段的第一种流程图;
图17为本发明实施例三提供的软件升级方法中升级包分块信息和指示信息发送阶段的第二种流程图;
图18为本发明实施例三提供的软件升级方法中升级包分块信息和指示信息发送阶段的第三种流程图;
图19为本发明实施例三提供的软件升级方法中升级包分块信息和指示信息发送阶段的第四种流程图;
图20为本发明实施例四和实施例五提供的软件升级装置的结构框图;
图21为本发明实施例六提供的软件升级系统的结构框图;
图22为本发明实施例七和实施例八提供的软件升级装置的结构框图;
图23为本发明实施例七提供的终端侧的软件升级装置在T-box上实现的示意图;
图24为本发明实施例七提供的终端侧的软件升级装置在人机交互控制器上实现的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例可应用于升级终端(包括但不限于智能网联车、机器人或智能家居)内多个部件的应用场景。图3为本发明的一个典型应用场景的示意图,其中智能网联汽车通过无线通信信道与OTA云相连接,从而上传或下载车载软件升级相关的消息和数据。所述无线通信信道包括但不限于2G(第二代移动通信技术)、3G(第三代移动通信技术)、4G(第四代移动通信技术)、5G(第五代移动通信技术)、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光传输、卫星通信或者红外线通信等形式的无线通信信道。所述智能网联车内部件包括中央网关、T-box(Telematics BOX,车联网车载通信终端)、人机交互控制器(HMI,Human-Machine Interaction)、移动数据中心(MDC,MobileData Controller)、高级驾驶辅助系统(ADAS,Advanced Driving Assistant System)以及多个电子控制单位(ECU,Electronic Control Unit)等部件。
下面以智能网联车的应用场景为例,介绍本发明实施例提供终端侧的软件升级装置的四种典型存在形式(实际情况不限于这四种典型存在形式),包括:
第一种,所述软件升级装置可在智能网联车内作为一个独立的部件存在(参见图4中的软件升级装置401),兼具车外网和车内网通信功能,用于与网络侧设备交互信令或数据以及协调车内其他部件存储、分发、安装或激活升级软件,并且软件升级装置401本身也可能是需要升级的车内部件,从网络侧设备接收并存储软件升级包。
第二种和第三种,所述软件升级装置可以是智能网联车内的一个常规部件(例如图5中的T-box 501),或者是所述常规部件内的一个子装置,兼具车外网和车内网通信功能,用于与网络侧设备交互信令或数据以及协调车内其他部件存储、分发、安装或激活升级软件,并且此时T-box 501本身也可能是需要升级的车内部件,从网络侧设备接收并存储软件升级包。
第四种,所述软件升级装置可以是智能网联车本身(例如图6中的智能网联车601),通过其中多个部件(例如图6中的T-box 602和MDC 603)的配合完成本发明实施例提供的终端侧的软件升级方法。例如,MDC 603不具备车外网通信功能,通过T-box 602与网络侧设备交互信令或数据,并且通过MDC 603自身的车内网通信功能协调车内其他部件存储、分发、安装或激活升级软件。
下面以智能网联车的应用场景为例,介绍本发明实施例提供的网络侧网络侧的软件升级装置的五种典型工作方式(实际情况不限于这五种典型工作方式),包括:
第一种(参见图7),智能车网联车704内的部件软件升级所需的所有升级包分块均集中存储于网络侧的服务器701内,服务器701即为本发明实施例提供的网络侧网络侧的软件升级装置。服务器701从智能车网联车704接收存储资源反馈信息,并向智能车网联车704发送升级包分块信息和多个升级包分块中的每个升级包分块。
第二种(参见图8),服务器801为本发明实施例提供的网络侧网络侧的软件升级装置,智能车网联车804内的部件软件升级所需的多个升级包分块在网络侧多个服务器(例如包括服务器802和803,可能包括也可能不包括服务器801)上分布式存储。服务器801从智能车网联车804接收存储资源反馈信息,分别从服务器802和803接收至少一个升级包分块,并向智能车网联车804发送升级包分块信息和多个升级包分块中的每个升级包分块。
第三种(参见图9),服务器901为本发明实施例提供的网络侧网络侧的软件升级装置,智能车网联车904内的部件软件升级所需的多个升级包分块在网络侧多个服务器(例如包括服务器902和903,但是不包括服务器901)上分布式存储。服务器901从智能车网联车904接收存储资源反馈信息,并向智能车网联车804发送升级包分块信息。服务器902和903接收到服务器901发送的升级包分发指令后,分别发送自身存储的至少一个升级包分块给智能车网联车904。
第四种(参见图10),服务器1001为本发明实施例提供的网络侧网络侧的软件升级装置,智能车网联车1004内的部件软件升级所需的多个升级包分块在网络侧多个服务器(例如包括服务器1002、1003和1001)上分布式存储。服务器1001从智能车网联车1004接收存储资源反馈信息,并向智能车网联车1004发送升级包分块信息。服务器1002、1003接收到服务器1001发送的升级包分发指令后,分别发送自身存储的至少一个升级包分块给智能车网联车1004,服务器1001也将自身存储的至少一个升级包分块给智能车网联车1004。
第五种(参见图11),服务器1101为本发明实施例提供的网络侧网络侧的软件升级装置,智能车网联车1104内的部件软件升级所需的多个升级包分块在网络侧多个服务器(例如包括服务器1102和1103,可能包括也可能不包括服务器1101)上分布式存储。服务器1101从智能车网联车1104接收存储资源反馈信息,并向智能车网联车1104发送升级包分块信息。服务器1102接收到服务器1101发送的升级包分发指令后,将自身存储的至少一个升级包分块发送给智能车网联车1104。服务器1103将自身存储的至少一个升级包分块发送给服务器1101。服务器1101发送至少一个升级包分块(包括服务器1103存储的至少一个升级包分块)到智能车网联车1104。
本发明实施例一提供了一种终端侧的软件升级方法,该方法由终端侧的软件升级装置(例如前述软件升级装置401、T-box 501、T-box 501内的一个子装置或智能网联车601)执行,参见图12,包括:
步骤1201,接收终端内至少两个部件的存储资源信息,所述存储资源信息至少包括所述至少两个部件中每个部件的可用存储容量,所述至少两个部件对应于至少两个可用存储容量。
可选地,本发明实施例一包括步骤1202,根据所述至少两个部件中每个部件的可用存储容量,确定终端内的可用存储资源满足所述终端软件升级的存储需求。
步骤1203,根据所述存储资源信息生成存储资源反馈信息,所述存储资源反馈信息至少包括所述每个部件的可用存储容量。
步骤1204,将所述存储资源反馈信息发送给网络侧设备。
步骤1205,接收所述网络侧设备生成的升级包分块信息,所述升级包分块信息至少包括用于终端软件升级的多个升级包分块与用于存储所述多个升级包分块的多个部件的一一对应关系,所述多个部件是所述至少两个部件中的部分或全部部件。
步骤1206,根据所述升级包分块信息,生成用于向多个部件指示获取所述多个升级包分块的至少一个指示信息,其中,所述多个部件与所述多个可用存储容量一一对应。
步骤1207,向所述多个部件发送所述至少一个指示信息。
可选地,本发明实施例一包括步骤1208,向所述多个部件发送下载指令,所述下载指令用于指示所述多个部件获取与所述多个部件一一对应的多个升级包分块。
可选地,本发明实施例一包括步骤1209,向所述多个部件发送升级包分发指令,所述升级包分发指令用于指示所述多个部件向所述终端内除所述多个部件以外的至少一个部件发送所述多个升级包分块中一个或多个升级包分块,其中所述一个或多个升级包分块由所述多个部件通过解析与所述多个部件一一对应的多个升级包分块得到。
可选地,本发明实施例一包括步骤1210,向所述多个部件发送安装激活指令,所述安装激活指令用于指示所述多个部件中安装并激活至少一个升级软件,其中所述至少一个升级软件由所述多个部件通过解析与所述多个部件一一对应的多个升级包分块得到。
本发明实施例二提供了一种网络侧网络侧的软件升级方法,该方法由网络侧网络侧的软件升级装置(例如前述软件升级装置701、801、901、1001或1101)执行,参见图13,包括:
可选地,本发明实施例二包括步骤1301,向终端设备发送软件升级启动消息。
步骤1302,从终端设备接收存储资源反馈信息,所述存储资源反馈信息至少包括所述终端设备内可用于存储多个升级包分块的多个部件中每个部件的可用存储容量。
步骤1303,根据所述存储资源反馈信息,确定所述终端设备内的可用存储资源满足所述软件升级的存储需求。
步骤1304,根据所述存储资源反馈信息,将一个或多个软件升级包划分为多个升级包分块,所述多个升级包分块与至少部分所述每个部件的可用存储容量一一对应。
步骤1305,生成升级包分块信息,所述升级包分块信息至少包括所述多个升级包分块与所述至少部分所述每个部件的可用存储容量的对应关系。
步骤1306,将所述升级包分块信息发送给所述终端设备。
可选地,本发明实施例二包括步骤1307,从至少一个网络侧的升级软件存储装置接收所述多个升级包分块中的至少一个升级包分块。
可选地,本发明实施例二包括步骤1308,将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备。
可选地,本发明实施例二包括步骤1309,向至少一个网络侧的升级软件存储装置发送升级包分发指令,所述升级包分发指令用于指示所述至少一个网络侧的升级软件存储装置将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备。
本发明实施例一和实施例二提供的软件升级方法充分利用终端内多个部件的存储资源,提高了下载成功率,更适合于较复杂终端(尤其是智能网联车)的软件升级需求。另外,可以使用终端内多个部件的对外通信资源下载多个升级包分块,充分利用了终端的通信资源,提高了下载速度和下载可靠性;多个升级包分块还可由多个部件独立校验,充分利用了终端内的计算资源,并且不会因为个别部件的升级软件分块数据不完整而影响其他部件的升级。
本发明实施例一和实施例二是分别关于网络侧或终端单侧的软件升级方法,本发明实施例三提供了一种网络侧与终端之间双侧的软件升级方法,其可以基于本发明实施例一和实施例二提供的网络侧和终端单侧的两个软件升级方法结合实现。由于其中终端存储资源查询及上报阶段、软件升级包分块阶段以及升级包分块信息和指示信息发送阶段有较多的并列方案,下面通过图14-19对上述几个阶段进行详细介绍。需要说明的是,本发明实施例一、实施例二与实施例三之间可以相互参考借鉴,图14-图19中涉及的终端侧或网络侧网络侧的单侧操作步骤也可应用于本发明实施例一和实施例二的单侧操作方法。
本发明实施例三中的终端存储资源查询及上报阶段的流程图如图14所示,包括以下步骤:
步骤1401,网络侧软件升级装置向终端软件升级装置发送用于启动终端软件升级的消息;
步骤1402,终端软件升级装置检查自身可用存储资源(记为t1);
步骤1403,终端软件升级装置向终端部件1和终端部件2发起存储资源查询请求;
步骤1404,终端部件1和终端部件2检查自身可用存储资源;
步骤1405,终端部件1和终端部件2将自身可用存储资源(分别记为t2和t3)报告给终端软件升级装置;
步骤1406,终端软件升级装置计算终端内可用存储资源总和,即计算t1+t2+t3,从而判断终端内可用存储资源是否满足终端软件升级的存储要求;
如果终端内可用存储资源满足终端软件升级的存储要求,则进一步执行步骤1407a,终端软件升级装置生成存储资源反馈信息,以及执行1408a,终端软件升级装置将所述存储资源反馈信息发送给网络侧软件升级装置。
如果终端内可用存储资源不满足终端软件升级的存储要求,则进一步执行步骤1407b,终端软件升级装置向网络侧软件升级装置返回错误,终止终端的软件升级。
需要说明的是,关于所述终端内可用存储资源是否满足终端软件升级的存储要求,既可以由终端设备判断,也可以由网络侧设备判断。
在软件升级包分块阶段,网络侧软件升级装置收到终端软件升级装置发来的存储资源反馈信息后,将多个终端软件升级包划分成多个带有哈希校验值的升级包分块,分块流程如图15所示,包括以下步骤:
步骤1501,构造N个空集合,分别记为I1,…,IN,并使用N个变量s1,…,sN标记每个集合的容量最大值,其中si=ti-C,ti是终端第i个部件的可用存储资源,C是哈希校验值所占用的存储空间;
步骤1502,将M个软件升级包按照从大到小的顺序排列,得到package1,package2,…,packageM,每个软件升级包含一个终端部件软件升级所需的数据,占用存储空间为Pi。
步骤1503,从最大的软件升级包(即package1)开始,将packagei放入当前剩余可用容量最大的集合Iu中,1≤u≤N,然后令su=su-Pi;
若此时su<0,则说明分块失败,进一步执行步骤1505,返回分块失败信息,终止下载;
若此时su≥0,则依次对package2到packageM执行步骤1503,直到package2到packageM都能成功加入集合,执行步骤1504,将每个非空集合及对应的哈希值打包,得到升级包分块,记为J1,…,JK。其中,K为非空集合的数量,Ji=Iu||Hu,1≤i≤K,Hu为Iu对应的哈希校验值,计算方法为Hu=Hash(Iu||keyu)。网络侧软件升级装置保存着终端内多个部件(Idu)对应的设备密钥(keyu),且与各部件本地存储的设备密钥相同。
步骤1506,网络侧软件升级装置生成分块信息包J0。分块信息包J0的内容包括:分块数量K,每个分块Ji的下载地址Addressi、对应的下载部件Idu以及哈希校验值H0。
软件升级包分块阶段以终端单个升级部件所需的软件升级包为最小单位,优先考虑占用空间最大的软件升级包,将其分配给剩余空间最大的分块,通过迭代完成分块,随后为每个分块数据计算哈希校验值,为后续数据完整性校验作准备。
下面介绍升级包分块信息和指示信息发送阶段的执行流程,包括四种并列的技术方案。
第一种方案参见图16,包括:
步骤1601,终端软件升级装置从网络侧软件升级装置接收升级包分块信息。
步骤1602,终端软件升级装置为终端部件1生成用于指示终端部件1获取与终端部件1对应的一个升级包分块的第一指示信息,并且为终端部件2生成用于指示终端部件2获取与终端部件2对应的一个升级包分块的第二指示信息。
步骤1603,终端软件升级装置分别向终端部件1和终端部件2发送第一指示信息和第二指示信息。
第二种方案参见图17,包括:
步骤1701,终端软件升级装置从网络侧软件升级装置接收升级包分块信息。
步骤1702,终端软件升级装置为终端部件1和终端部件2生成用于指示终端部件1和终端部件2分别获取与自身对应的一个升级包分块的一个指示信息。
步骤1703,终端软件升级装置分别向终端部件1和终端部件2发送所述一个指示信息。可选地,终端软件升级装置向终端部件1和终端部件2发送所述一个指示信息可以同时发送,也可以按照顺序依次发送。
第三种方案参见图18,包括:
步骤1801,终端软件升级装置从网络侧软件升级装置接收升级包分块信息。
步骤1802,终端软件升级装置为终端部件1和终端部件2生成用于指示终端部件1和终端部件2分别获取与自身对应的一个升级包分块的第一指示信息。
步骤1803,终端软件升级装置向终端部件1发送所述第一指示信息。
步骤1804,终端部件1向终端部件2转发所述第一指示信息。
第四种方案参见图19,包括:
步骤1901,终端软件升级装置从网络侧软件升级装置接收升级包分块信息。
步骤1902,终端软件升级装置为终端部件1和终端部件2生成用于指示终端部件1和终端部件2分别获取与自身对应的一个升级包分块的第一指示信息。
步骤1903,终端软件升级装置向终端部件1发送所述第一指示信息。
步骤1904,终端部件1从所述第一指示信息中删除与自身获取升级包分块相关的信息,根据所述第一指示信息中剩余的信息生成第二指示信息。
步骤1905,终端部件1向终端部件2发送所述第二指示信息。
本发明实施例四和实施例五分别提供终端侧和网络侧网络侧的软件升级装置,参见图20。
本发明实施例四提供的终端侧的软件升级装置20包括:
接收单元2001,用于接收终端内至少两个部件的存储资源信息和所述网络侧设备生成的升级包分块信息,所述存储资源信息至少包括所述至少两个部件中每个部件的可用存储容量,所述升级包分块信息至少包括用于终端软件升级的多个升级包分块与用于存储所述多个升级包分块的多个部件的一一对应关系,所述多个部件是所述至少两个部件中的部分或全部部件;
处理单元2002,用于根据所述存储资源信息生成存储资源反馈信息,以及根据所述升级包分块信息,生成用于向多个部件指示获取所述多个升级包分块的至少一个指示信息,其中,所述多个部件与所述多个可用存储容量一一对应,所述存储资源反馈信息至少包括所述至少两个部件中每个部件的可用存储容量;
发送单元2003,用于将所述存储资源反馈信息发送给网络侧设备,以及向所述多个部件发送所述至少一个指示信息。
本发明实施例四提供的终端侧的软件升级装置20例如是前述软件升级装置401、T-box501、T-box 501内的一个子装置或智能网联车601。
本发明实施例五提供的网络侧网络侧的软件升级装置20包括:
接收单元2001,用于从终端设备接收存储资源反馈信息,所述存储资源反馈信息至少包括所述终端设备内可用于存储多个升级包分块的多个部件中每个部件的可用存储容量;
处理单元2002,用于根据所述存储资源反馈信息,将一个或多个软件升级包划分为多个升级包分块,以及生成升级包分块信息,所述多个升级包分块与所述多个部件中的至少部分部件一一对应,所述升级包分块信息至少包括所述多个升级包分块与所述至少部分部件的对应关系;
发送单元2003,用于将所述升级包分块信息发送给所述终端设备。
本发明实施例五提供的网络侧网络侧的软件升级装置20例如是前述软件升级装置701、801、901、1001或1101。
以上实施例四和实施例五中的各个单元的只一个或多个可以软件、硬件、固件或其结合实现。所述软件或固件包括但不限于计算机程序指令或代码,并可以被硬件处理器所执行。所述硬件包括但不限于各类集成电路,如中央处理单元(CPU,Central ProcessingUnit)、数字信号处理器(DSP,Digital Signal Processor)、现场可编程门阵列(FPGA,Field Programmable Gate Array)或专用集成电路(ASIC,Application SpecificIntegrated Circuit)。
可选地,以上实施例四和实施例五中的接收单元2001可以使用一种或多种接收方式,所述接收方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线接收,或者从软件模块获取参数,或者从存储器件读取信息。
可选地,以上实施例四和实施例五中的接收单元2001包括多个子接收单元,所述多个子接收单元分别用于接收终端内所述至少两个部件中至少一个部件的存储资源信息。可选地,所述多个子接收单元位于终端内不同的多个部件之中。可选地,所述多个子接收单元通过至少一种接收方式接收所述存储资源信息,所述接收方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,WorldwideInteroperability forMicrowave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线接收,或者从软件模块获取参数,或者从存储器件读取信息。
可选地,以上实施例四和实施例五中的发送单元2003可以使用一种或多种发送方式,所述发送方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线发送,或者向软件模块输入参数,或者向存储器写入信息。
可选地,以上实施例四和实施例五中的发送单元2003包括多个子发送单元,所述多个子发送单元分别用于向所述多个部件发送所述至少一个指示信息。可选地,所述多个子发送单元位于终端内不同的多个部件之中。可选地,所述多个子发送单元通过至少一种发送方式发送所述存储资源信息,所述发送方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,WorldwideInteroperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线发送,或者向软件模块输入参数,或者向存储器写入信息。
本发明实施例六提供了一种软件升级系统,参见图21,其包括网络侧软件升级装置2101和终端软件升级装置2105。其中,网络侧软件升级装置2101包括接收单元2102、处理单元2103和发送单元2104,终端软件升级装置2105包括发送单元2106、处理单元2107和接收单元2108,并且网络侧软件升级装置2101和终端软件升级装置2105可分别参考本发明实施例四和实施例五实现。
本发明实施例七提供了又一种终端侧的软件升级装置,参见图22,包括存储器2201、处理器2202和收发器2203,所述存储器2201存储计算机程序指令,所述处理器2202运行所述计算机程序指令以执行实施例一所描述的终端侧的软件升级方法,所述收发器2203用于接收所述存储资源信息或所述升级包分块信息,或者用于发送所述存储资源反馈信息、所述至少一个指示信息、所述下载指令、所述升级包分发指令和所述安装激活指令中的至少一项。
本发明实施例七提供的终端侧的软件升级装置例如是前述软件升级装置401、T-box 501、T-box 501内的一个子装置或智能网联车601。下面分别以所述软件升级装置在T-box(参见图23)和人机交互控制器(参见图24)上实现为例,介绍本发明实施例七在智能终端内具体部件上的实现方式。
T-box的一个示例性内部组成结构如图23中的T-box23所示。T-box23包括:GPS(Global Positioning System,全球定位系统)天线、3G/4G天线、C-V2X(CellularVehicle-to-Everything,蜂窝车联)天线、WLAN(Wireless Local Area Network,无线局域网)天线和多个射频单元,用于车外网通信;片上系统(SOC,System On Chip)集成了处理器、存储器、系统级芯片控制逻辑模块、多种接口控制模块和多种互联总线,为T-box23提供控制、运算或存储等功能;微控制单元作为处理器的一种实现形式,也可以为T-box23提供控制或运算功能;智能网联车作为一种移动通信终端接入蜂窝通信网络时,使用T-box23中的嵌入式SIM(Subscriber Identification Module,用户身份识别)卡标识身份;嵌入式多媒体卡为T-box23提供存储功能;安全硬件模块为智能网联车接入车外网提供安全保护功能;电源管理单元为T-box23的提供供电管理;另外,T-box23还通过多个总线(例如CAN总线、以太网总线)和接口(例如麦克风接口、扬声器接口)与车内其他部件进行交互。
实施例七中的存储器2201可依托图23中的片上系统内集成的存储器或者其他内部存储单元(如嵌入式多媒体卡)实现,处理器2202可依托图23中的微控制单元或者片上系统内集成的处理器实现,收发器2203可依托图23中的射频单元、GPS天线、3G/4G天线、C-V2X天线、WLAN天线、CAN(Controller Area Network,控制器局域网络)总线、以太网总线或插脚连接器实现。
人机交互控制器的一个示例性内部组成结构如图24中的人机交互控制器24,包括:Wifi(Wireless Fidelity,无线局域网)通信模块和蓝牙通信模块用于车外网通信;片上系统(SOC,System On Chip)集成了处理器、存储器、系统级芯片控制逻辑模块、多种接口控制模块和多种互联总线,为人机交互控制器24提供控制、运算或存储等功能;微控制单元作为处理器的一种实现形式,也可以为人机交互控制器24提供控制或运算功能;多媒体处理器针对图像、音频和视频等多媒体信息提供数据处理功能;人机交互控制器24通过LVDS(Low-Voltage Differential Signaling,低电平差分信号)接口从多种摄像头传感器获取信号输入,以及通过模拟信号接口从麦克风获取数据输入;人机交互控制器24通过USB(Universal Serial Bus,通用串行总线)或LVDS接口向USB面板、中控屏、控制屏、仪表屏和风挡式抬头显示器提供信号输出;另外,人机交互控制器24还与车内网网关相连,从而与T-box等车内部件进行车内网通信。
实施例七中的存储器2201可依托图24中的片上系统内集成的存储器或者其他内部存储单元(如嵌入式多媒体卡)实现,处理器2202可依托图24中的微控制器或者片上系统内集成的处理器实现,收发器2203可依托图24中的Wifi(Wireless Fidelity,无线局域网)通信模块、蓝牙通信模块或者与车内网网关之间的通信总线实现。
本发明实施例八提供了又一种网络侧网络侧的软件升级装置,参见图22,包括存储器2201、处理器2202和收发器2203,所述存储器2201存储计算机程序指令,所述处理器2202运行所述计算机程序指令以执行实施例二所描述的网络侧网络侧的软件升级方法,用于接收所述存储资源反馈信息或所述多个升级包分块中的至少一个升级包分块,或者用于发送所述升级包分块信息、所述软件升级启动消息、所述升级包分发指令和所述至少一个升级包分块中的至少一项。
本发明实施例八提供的网络侧网络侧的软件升级装置例如是前述软件升级装置701、801、901、1001或1101。
本发明实施例七和实施例八中的处理器包括但不限于各类CPU、DSP、微控制器、微处理器或人工智能处理器。
本发明实施例七和实施例八中的收发器包括但不限于通信接口或通信模块或通信连接器,所述收发器的通信形式包括但不限于2G(第二代移动通信技术)、3G(第三代移动通信技术)、4G(第四代移动通信技术)、5G(第五代移动通信技术)、Wifi(WirelessFidelity,无线局域网)、Wimax(Worldwide Interoperability for Microwave Access,全球互通微波访问)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信或者红外线通信等。
本领域的技术人员可以清楚地了解到,本申请提供的各实施例的描述可以相互参照,为描述的方便和简洁,例如关于本申请实施例提供的各装置、设备的功能以及执行的步骤可以参照本申请方法实施例的相关描述,各方法实施例之间、各装置实施例之间也可以互相参照。
本领域技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的全部或部分步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,在没有超过本申请的范围内,可以通过其他的方式实现。例如,以上所描述的实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
另外,所描述系统、装置和方法以及不同实施例的示意图,在不超出本申请的范围内,可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电子、机械或其它的形式。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (11)
1.一种软件升级方法,其特征在于,包括:
接收来自多个部件的多个存储资源信息,所述多个存储资源信息用于指示所述多个部件中每个部件的可用存储容量,并基于所述多个存储资源信息生成存储资源反馈信息;
将存储资源反馈信息发送给网络侧设备,所述存储资源反馈信息用于指示终端中所述多个部件中每个部件的可用存储容量;
接收来自所述网络侧设备的升级包分块信息,所述升级包分块信息用于指示用于所述终端软件升级的至少两个升级包分块与所述多个部件中的至少两个的一一对应关系,所述多个部件中的至少两个用于存储所述至少两个升级包分块,所述升级包分块信息包括所述至少两个升级包分块中每个升级包分块的校验信息;
向所述多个部件中的至少两个发送指示信息,所述指示信息用于所述多个部件中的至少两个获取所述至少两个升级包分块,所述指示信息基于所述升级包分块信息生成。
2.根据权利要求1所述的方法,其特征在于,所述升级包分块信息还包括以下中的至少一项:
所述至少两个升级包分块中每个升级包分块的下载地址;
所述至少两个升级包分块的数量。
3.根据权利要求1所述的方法,其特征在于,所述指示信息包括以下中的至少一项:
所述升级包分块的下载地址;
所述升级包分块的校验信息;
所述部件用于获取所述升级包分块的对外通信资源;
获取所述升级包分块的时间信息。
4.根据权利要求1所述的方法,其特征在于,所述指示信息为多个指示信息,并且所述多个指示信息与所述多个部件中的至少两个一一对应,所述向所述多个部件中的至少两个发送指示信息包括:分别向所述多个部件中的至少两个部件发送与所述至少两个部件对应的所述多个指示信息中的每个指示信息。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述指示信息为一个指示信息,所述向所述多个部件中的至少两个发送指示信息包括:向所述多个部件中的至少两个部件中的每个部件发送所述一个指示信息,或者,向所述多个部件中的至少两个部件中的一个部件发送所述一个指示信息。
6.一种软件升级装置,其特征在于,包括:
接收单元,用于接收来自多个部件的多个存储资源信息,所述多个存储资源信息用于指示所述多个部件中每个部件的可用存储容量;
处理单元,用于基于所述多个存储资源信息生成存储资源反馈信息;
发送单元,用于将存储资源反馈信息发送给网络侧设备,所述存储资源反馈信息用于指示终端中所述多个部件中每个部件的可用存储容量;
所述接收单元,还用于接收来自所述网络侧设备的升级包分块信息,所述升级包分块信息用于指示用于所述终端软件升级的至少两个升级包分块与所述多个部件中的至少两个的一一对应关系,所述多个部件中的至少两个用于存储所述至少两个升级包分块,所述升级包分块信息包括所述至少两个升级包分块中每个升级包分块的校验信息;
所述发送单元,还用于向所述多个部件中的至少两个发送指示信息,所述指示信息用于所述多个部件中的至少两个获取所述至少两个升级包分块,所述指示信息基于所述升级包分块信息生成。
7.根据权利要求6所述的装置,其特征在于,所述升级包分块信息还包括以下中的至少一项:
所述至少两个升级包中每个升级包分块的下载地址;
所述至少两个升级包分块的数量。
8.根据权利要求6所述的装置,其特征在于,所述指示信息包括以下中的至少一项:
所述升级包分块的下载地址;
所述升级包分块的校验信息;
所述部件用于获取所述升级包分块的对外通信资源;
获取所述升级包分块的时间信息。
9.根据权利要求6所述的装置,其特征在于,所述指示信息为多个指示信息,并且所述多个指示信息与所述多个部件中的至少两个一一对应,所述向所述多个部件中的至少两个发送指示信息包括:分别向所述多个部件中的至少两个部件发送与所述至少两个部件对应的所述多个指示信息中的每个指示信息。
10.根据权利要求6-9任一项所述的装置,其特征在于,所述指示信息为一个指示信息,所述向所述多个部件中的至少两个发送指示信息包括:向所述多个部件中的至少两个部件中的每个部件发送所述一个指示信息,或者,向所述多个部件中的至少两个部件中的一个部件发送所述一个指示信息。
11.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在被处理器运行时,使得如权利要求1-5任一项所述的方法被执行。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911129069.3A CN112817617B (zh) | 2019-11-18 | 2019-11-18 | 软件升级方法、装置和系统 |
KR1020227019294A KR102720909B1 (ko) | 2019-11-18 | 2020-06-28 | 소프트웨어 업그레이드 방법, 장치 및 시스템 |
JP2022528690A JP7562661B2 (ja) | 2019-11-18 | 2020-06-28 | ソフトウェアアップグレード方法、装置、およびシステム |
PCT/CN2020/098352 WO2021098212A1 (zh) | 2019-11-18 | 2020-06-28 | 软件升级方法、装置和系统 |
EP20890139.7A EP4044024A4 (en) | 2019-11-18 | 2020-06-28 | METHOD OF UPGRADE OF SOFTWARE AND ASSOCIATED APPARATUS AND SYSTEM |
US17/745,580 US11972247B2 (en) | 2019-11-18 | 2022-05-16 | Software upgrading method, apparatus, and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911129069.3A CN112817617B (zh) | 2019-11-18 | 2019-11-18 | 软件升级方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112817617A CN112817617A (zh) | 2021-05-18 |
CN112817617B true CN112817617B (zh) | 2024-11-01 |
Family
ID=75852585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911129069.3A Active CN112817617B (zh) | 2019-11-18 | 2019-11-18 | 软件升级方法、装置和系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11972247B2 (zh) |
EP (1) | EP4044024A4 (zh) |
JP (1) | JP7562661B2 (zh) |
KR (1) | KR102720909B1 (zh) |
CN (1) | CN112817617B (zh) |
WO (1) | WO2021098212A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115378750B (zh) * | 2021-05-20 | 2023-09-19 | 海信集团控股股份有限公司 | 一种电子家居设备的ota升级方法及设备 |
CN113590156A (zh) * | 2021-07-30 | 2021-11-02 | 佛山市顺德区美的电子科技有限公司 | 多联机的程序升级方法、运行控制装置及多联机 |
CN113778490A (zh) * | 2021-09-16 | 2021-12-10 | 深圳市易平方网络科技有限公司 | 基于智能终端的软件升级处理方法、装置、智能终端 |
CN113986277A (zh) * | 2021-09-24 | 2022-01-28 | 成都市卡蛙科技有限公司 | 一种基于终端状态进行固件升级的方法 |
CN113867764B (zh) * | 2021-09-28 | 2024-05-03 | 重庆长安汽车股份有限公司 | 一种多通道升级车机mcu的方法及系统 |
CN114756321B (zh) * | 2022-04-28 | 2024-02-06 | 重庆长安汽车股份有限公司 | 一种基于车机实现仪表交互界面并显示的系统及方法 |
CN119585708A (zh) * | 2022-07-11 | 2025-03-07 | Oppo广东移动通信有限公司 | 设备升级方法、装置、设备、存储介质及程序产品 |
CN115314486A (zh) * | 2022-07-20 | 2022-11-08 | 交控科技股份有限公司 | 列车控制系统的软件升级方法及装置 |
US12019618B2 (en) * | 2022-09-19 | 2024-06-25 | Rubrik, Inc. | Prechecking for non-disruptive update of a data management system |
CN116132975A (zh) * | 2023-01-17 | 2023-05-16 | 青岛海尔智能家电科技有限公司 | 用于节点设备网络中空中下载的方法、设备及存储介质 |
WO2025032734A1 (ja) * | 2023-08-08 | 2025-02-13 | 日立Astemo株式会社 | 車両制御装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016071527A (ja) * | 2014-09-29 | 2016-05-09 | 株式会社オートネットワーク技術研究所 | 通信システム、車載装置、通信装置、及びコンピュータプログラム |
CN105843656A (zh) * | 2016-04-22 | 2016-08-10 | Tcl集团股份有限公司 | 磁盘空间不足的系统升级方法、终端设备及服务器 |
JP2019074800A (ja) * | 2017-10-12 | 2019-05-16 | 日立オートモティブシステムズ株式会社 | 情報更新装置、情報更新方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH086796A (ja) * | 1994-06-15 | 1996-01-12 | Nec Corp | ダウンロード方法、そのネットワークシステム、及びデータファイル更新方法 |
JP2005092330A (ja) * | 2003-09-12 | 2005-04-07 | Olympus Corp | ソフトウエア更新プログラム |
JP4698182B2 (ja) * | 2003-09-16 | 2011-06-08 | 株式会社リコー | 電子装置、ネットワーク機器、管理方法、ソフトウェア更新方法、管理プログラム、ソフトウェア更新プログラム及び記録媒体 |
US7536687B1 (en) * | 2004-06-23 | 2009-05-19 | Emc Corporation | System and method for automatic installation of embedded software packages |
CN101344906B (zh) * | 2008-05-19 | 2010-06-23 | 北京深思洛克软件技术股份有限公司 | 一种分块式的远程更新方法 |
JP2010079720A (ja) * | 2008-09-26 | 2010-04-08 | Kyocera Corp | 通信端末 |
CN103019767B (zh) * | 2012-11-16 | 2016-08-24 | 深圳市多尼卡电子技术有限公司 | 一种系统升级的方法、装置及机载娱乐系统 |
CN103455348B (zh) * | 2013-08-27 | 2016-07-06 | 小米科技有限责任公司 | 分区调整方法、装置、终端、服务器及系统 |
JP6314893B2 (ja) * | 2015-03-31 | 2018-04-25 | コニカミノルタ株式会社 | 画像処理システム、画像処理装置、配信サーバー、管理サーバー、および、プログラム |
CA3019911A1 (en) * | 2015-07-27 | 2017-02-02 | Datagrid Systems, Inc. | Techniques for evaluating server system reliability, vulnerability and component compatibility using crowdsourced server and vulnerability data |
KR102423084B1 (ko) * | 2016-04-26 | 2022-07-19 | 삼성에스디에스 주식회사 | P2P를 이용한 IoT 기기의 펌웨어 업데이트 방법 및 그 장치 |
US10140116B2 (en) * | 2016-09-26 | 2018-11-27 | Ford Global Technologies, Llc | In-vehicle auxiliary memory storage |
EP3399410A1 (en) * | 2017-05-04 | 2018-11-07 | Volvo Car Corporation | Method and system for software installation in a vehicle |
CN108959122A (zh) * | 2017-05-17 | 2018-12-07 | 中兴通讯股份有限公司 | 一种升级包下载的保存方法、装置和终端 |
EP3698253A4 (en) * | 2017-10-17 | 2021-08-04 | Argus Cyber Security Ltd | SYSTEM AND METHOD FOR MANAGING A PROGRAM MEMORY ON A MEMORY DEVICE |
CN107682210A (zh) * | 2017-11-10 | 2018-02-09 | 北京明朝万达科技股份有限公司 | 一种基于混合传输模式的数据升级方法及系统 |
CN109992291A (zh) * | 2018-01-02 | 2019-07-09 | 中兴通讯股份有限公司 | 一种终端软件升级方法、装置、系统以及存储介质 |
-
2019
- 2019-11-18 CN CN201911129069.3A patent/CN112817617B/zh active Active
-
2020
- 2020-06-28 KR KR1020227019294A patent/KR102720909B1/ko active Active
- 2020-06-28 JP JP2022528690A patent/JP7562661B2/ja active Active
- 2020-06-28 WO PCT/CN2020/098352 patent/WO2021098212A1/zh unknown
- 2020-06-28 EP EP20890139.7A patent/EP4044024A4/en active Pending
-
2022
- 2022-05-16 US US17/745,580 patent/US11972247B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016071527A (ja) * | 2014-09-29 | 2016-05-09 | 株式会社オートネットワーク技術研究所 | 通信システム、車載装置、通信装置、及びコンピュータプログラム |
CN105843656A (zh) * | 2016-04-22 | 2016-08-10 | Tcl集团股份有限公司 | 磁盘空间不足的系统升级方法、终端设备及服务器 |
JP2019074800A (ja) * | 2017-10-12 | 2019-05-16 | 日立オートモティブシステムズ株式会社 | 情報更新装置、情報更新方法 |
Also Published As
Publication number | Publication date |
---|---|
EP4044024A1 (en) | 2022-08-17 |
KR20220092617A (ko) | 2022-07-01 |
JP2023501823A (ja) | 2023-01-19 |
CN112817617A (zh) | 2021-05-18 |
US11972247B2 (en) | 2024-04-30 |
EP4044024A4 (en) | 2022-12-07 |
US20220276856A1 (en) | 2022-09-01 |
JP7562661B2 (ja) | 2024-10-07 |
KR102720909B1 (ko) | 2024-10-24 |
WO2021098212A1 (zh) | 2021-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112817617B (zh) | 软件升级方法、装置和系统 | |
US20230289174A1 (en) | Vehicle upgrade method and apparatus | |
CN113094062A (zh) | 升级方法及装置 | |
WO2022165711A1 (zh) | 基于空中下载技术ota的升级方法及装置 | |
CN111464419B (zh) | 一种基于总线网络通信的数据传输控制方法 | |
WO2024007987A1 (zh) | 数字钥匙系统的车端固件升级方法、装置、设备及介质 | |
US20240127635A1 (en) | Expansion unit, in-vehicle device unit, and vehicle system | |
CN113608483A (zh) | 获取车辆信号值方法、电子设备及电子控制单元 | |
CN114064091A (zh) | Ota升级控制方法、装置、电子设备及自动驾驶车辆 | |
CN117376339A (zh) | 基于ota的车辆ecu升级方法、装置、设备及介质 | |
CN118233742A (zh) | 车载摄像系统配置方法、微控制器及车载摄像系统 | |
CN113791792B (zh) | 应用调用信息的获取方法、设备以及存储介质 | |
CN112671547B (zh) | 车内业务切片的资源配置方法及装置、系统 | |
CN113170004B (zh) | 数据传输方法、装置及系统 | |
CN115955669A (zh) | 一种基于ota的车辆数据升级方法、装置及车载终端 | |
CN114765753A (zh) | 一种车载终端的通信方法、装置、终端设备及存储介质 | |
CN115617370B (zh) | 数据刷新方法、装置、电子设备及存储介质 | |
EP4439279A1 (en) | Upgrading method based on over-the-air (ota) technology, and communication apparatus | |
WO2022062857A1 (zh) | 资源请求方法、资源配置方法及相关产品 | |
US20240127637A1 (en) | Data processing method and communication system | |
CN112526972B (zh) | 自标定方法、自标定装置、可读存储介质及电子设备 | |
CN116546112A (zh) | 一种混合组网协议设计方法、装置、电子设备及存储介质 | |
CN119255213A (zh) | 移动终端与车载终端互联的方法及装置 | |
WO2021197327A1 (zh) | 信号处理方法及相关设备 | |
WO2024016251A1 (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 |