CN111679846B - 应用的更新方法和装置 - Google Patents

应用的更新方法和装置 Download PDF

Info

Publication number
CN111679846B
CN111679846B CN202010428798.5A CN202010428798A CN111679846B CN 111679846 B CN111679846 B CN 111679846B CN 202010428798 A CN202010428798 A CN 202010428798A CN 111679846 B CN111679846 B CN 111679846B
Authority
CN
China
Prior art keywords
application
instruction
ecu
upper computer
information
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
Application number
CN202010428798.5A
Other languages
English (en)
Other versions
CN111679846A (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.)
Beijing Hyperstrong Technology Co Ltd
Original Assignee
Beijing Hyperstrong 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 Beijing Hyperstrong Technology Co Ltd filed Critical Beijing Hyperstrong Technology Co Ltd
Priority to CN202010428798.5A priority Critical patent/CN111679846B/zh
Publication of CN111679846A publication Critical patent/CN111679846A/zh
Application granted granted Critical
Publication of CN111679846B publication Critical patent/CN111679846B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种应用的更新方法和装置。该方法包括:通过判断ECU中的应用是否需要更新,并基于判断结果,分别设置ECU进入两种不同的状态,其中一种状态使得不需要更新的ECU可以接收上位机发送的用于更新的指令,但不执行该指令相应的更新操作,另一种状态使得需要更新的ECU可以接收上位机发送的用于更新的指令,并执行该指令相应更新操作。在完成ECU的状态的配置后,上位机可以向全部ECU广播更新的指令,ECU结合本身的状态,基于更新的指令执行相应的操作。从而,提高了ECU的应用的升级效率。

Description

应用的更新方法和装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用的更新方法和装置。
背景技术
随着经济的快速发展,对电力的需求急速增长,储能电站也应运而生。储能电站由一个上位机和多个电池簇组成,每个电池簇中包括多个单体电池和每个单体电池对应的电子控制单元ECU。其中,单体电池用于储存电能,ECU用于控制单体电池,并与上位机进行通讯。
在实际使用中,ECU的应用的版本更新速度较快,需要频繁的对储能电站的所有ECU的应用进行更新。在现有技术中,上位机每次对储能电站的一个ECU的应用进行更新。如果需要对储能电站的所有ECU的应用进行操作,则需要使用上位机,逐一对ECU的应用进行更新操作。
然而,在上述方法中,存在ECU的应用的更新效率低的问题。
发明内容
本申请提供一种应用的更新方法和装置,用以解决在现有技术中,ECU的应用的更新效率低的问题。
第一方面,本发明提供一种应用的更新方法,所述方法包括:
上位机获取更新的应用的第一版本信息、安装所述应用的硬件的第一信息以及M个电子控制单元ECU各自的所述应用的第二版本信息和安装所述应用的硬件的第二信息,M为正整数;
所述上位机将所述第一信息与所述第二信息不同的ECU,或者,所述第一信息与所述第二信息相同且所述第一版本信息与所述第二版本信息相同的ECU确定为P个ECU,以及将所述第一信息与所述第二信息相同且所述第一版本信息与所述第二版本信息不同的ECU确定为Q个ECU,其中P和Q之和等于M,P和Q为正整数;
所述上位机向P个ECU分别发送第一指令,其中所述第一指令用于指示ECU不可执行更新操作;
所述上位机向M个ECU广播第二指令,其中所述第二指令用于指示M个ECU执行所述应用的更新操作,其中,Q个ECU分别执行所述应用的更新操作,且P个ECU不执行所述应用的更新操作;
所述上位机向M个ECU广播第三指令,其中所述第三指令用于指示M个ECU重新启动。
可选地,所述上位机获取M个电子控制单元ECU各自的所述应用的第二版本信息和所述安装所述应用的硬件的第二信息,包括:
所述上位机向M个ECU广播第四指令,其中所述第四指令用于指示M个ECU向所述上位机发送所述第二版本信息和所述第二信息;
所述上位机从M个ECU分别接收第五指令,其中每个第五指令中包括:ECU的标识、所述ECU的应用的第二版本信息和安装所述应用的硬件的第二信息。
可选地,所述第二指令中包括:所述应用的更新数据。
可选地,所述方法还包括:
所述上位机向M个ECU广播第六指令,其中所述第六指令用于指示M个ECU向所述上位机发送所述应用的第三版本信息;
所述上位机从M个ECU分别接收第七指令,其中每个第七指令中包括:ECU的标识和所述ECU的应用的第三版本信息;
所述上位机基于所述第一版本信息和M个第三版本信息,确定M个ECU的更新结果。
可选地,所述方法还包括:
所述上位机输出所述更新结果。
第二方面,本发明提供一种应用的更新方法,应用于第一ECU,在所述第一ECU中,安装应用的硬件的第一信息与安装所述应用的硬件的第二信息不同,或者,安装应用的硬件的第一信息与安装所述应用的硬件的第二信息相同且所述应用的第一版本信息与所述应用的第二版本信息相同;
所述方法包括:
所述第一ECU从上位机接收第一指令,其中所述第一指令用于指示所述第一ECU不可执行更新操作;
所述第一ECU从所述上位机接收第二指令,其中所述第二指令用于指示所述第一ECU执行所述应用的更新操作;
所述第一ECU基于所述第一指令和所述第二指令,不执行所述应用的更新操作;
所述第一ECU从所述上位机接收第三指令,其中所述第三指令用于指示所述第一ECU重新启动;
所述第一ECU基于所述第三指令重新启动。
可选地,所述方法还包括:
所述第一ECU从所述上位机接收第四指令,其中所述第四指令用于指示所述第一ECU向所述上位机发送所述第二版本信息和所述第二信息;
所述第一ECU向所述上位机发送第五指令,其中第五指令中包括:所述第一ECU的标识、所述第二版本信息和所述第二信息。
可选地,所述方法还包括:
所述第一ECU从所述上位机接收第六指令,其中所述第六指令用于指示所述第一ECU向所述上位机发送所述应用的第三版本信息;
所述第一ECU向所述上位机发送第七指令,其中第七指令中包括:所述第一ECU的标识和所述第三版本信息。
第三方面,本发明提供一种应用的更新方法,应用于第二ECU,在所述第二ECU中,安装应用的硬件的第一信息与安装所述应用的硬件的第二信息相同且所述应用的第一版本信息与所述应用的第二版本信息不同;
所述方法包括:
所述第二ECU从上位机接收第二指令,其中所述第二指令用于指示所述第二ECU执行所述应用的更新操作;
所述第二ECU基于所述第二指令,执行所述应用的更新操作;
所述第二ECU从所述上位机接收第三指令,其中所述第三指令用于指示所述第二ECU重新启动;
所述第二ECU基于所述第三指令重新启动。
可选地,所述第二指令中包括:所述应用的更新数据时,所述第二ECU基于所述第二指令,执行所述应用的更新操作,包括:
所述第二ECU基于所述应用的更新数据,依次执行重启、所述硬件的解密、所述应用的更新以及所述应用的校验的操作。
可选地,所述第二ECU基于所述第二ECU基于所述应用的更新数据,执行所述硬件的解密的操作,包括:
所述第二ECU在接收到所述应用的更新数据时,向所述上位机发送目标参数;
所述第二ECU基于预设算法,对所述目标参数进行计算,得到第一结果;
所述第二ECU从所述上位机接收第二结果,所述第二结果为所述上位机根据所述预设算法对所述目标参数进行计算得到的;
所述第二ECU比较所述第一结果和所述第二结果,确定所述硬件的解密是否成功。
可选地,所述方法还包括:
所述第二ECU从所述上位机接收第四指令,其中所述第四指令用于指示所述第二ECU向所述上位机发送所述第二版本信息和所述第二信息;
所述第二ECU向所述上位机发送第五指令,其中第五指令中包括:所述第二ECU的标识、所述第二版本信息和所述第二信息。
可选地,所述方法还包括:
所述第二ECU从所述上位机接收第六指令,其中所述第六指令用于指示所述第二ECU向所述上位机发送所述第三版本信息;
所述第二ECU向所述上位机发送第七指令,其中第七指令中包括:所述第二ECU的标识和所述第三版本信息。
第四方面,本申请提供一种应用的更新装置,应用于上位机,所述装置包括:
获取模块,用于获取更新的应用的第一版本信息、安装所述应用的硬件的第一信息以及M个电子控制单元ECU各自的所述应用的第二版本信息和所述安装所述应用的硬件的第二信息,M为正整数;
确定模块,用于将所述第一信息与所述第二信息不同的ECU,或者,所述第一信息与所述第二信息相同且所述第一版本信息与所述第二版本信息相同的ECU确定为P个ECU,以及将所述第一信息与所述第二信息相同且所述第一版本信息与所述第二版本信息不同的ECU确定为Q个ECU,其中P和Q之和等于M,P和Q为正整数;
发送模块,用于向P个ECU分别发送第一指令,其中所述第一指令用于指示ECU不可执行更新操作;
所述发送模块,还用于向M个ECU广播第二指令,其中所述第二指令用于指示M个ECU执行所述应用的更新操作,其中,Q个ECU分别执行所述应用的更新操作,且P个ECU不执行所述应用的更新操作;
所述发送模块,还用于向M个ECU广播第三指令,其中所述第三指令用于指示M个ECU重新启动。
所述发送模块,还用于向M个ECU广播第四指令,其中所述第四指令用于指示M个ECU向所述上位机发送所述第二版本信息和所述第二信息;
所述获取模块,用于从M个ECU分别接收第五指令,其中每个第五指令中包括:ECU的标识、所述ECU的应用的第二版本信息和ECU的硬件的第二信息。
可选地,所述第二指令中包括:所述应用的更新数据。
所述发送模块,还用于向M个ECU广播第六指令,其中所述第六指令用于指示M个ECU向所述上位机发送所述应用的第三版本信息;
所述获取模块,还用于从M个ECU分别接收第七指令,其中每个第七指令中包括:ECU的标识和所述ECU的应用的第三版本信息;
所述确定模块,还用于基于所述第一版本信息和M个第三版本信息,确定M个ECU的更新结果。
可选地,所述装置还包括:
输出模块,用于输出所述更新结果。
第五方面,本申请提供一种应用的更新装置,应用于第一ECU,在所述第一ECU中,安装应用的硬件的第一信息与安装所述应用的硬件的第二信息不同,或者,安装应用的硬件的第一信息与安装所述应用的硬件的第二信息相同且所述应用的第一版本信息与所述应用的第二版本信息相同;
所述装置包括:
第一接收模块,用于从上位机接收第一指令,其中所述第一指令用于指示所述第一ECU不可执行更新操作;
所述第一接收模块,还用于从所述上位机接收第二指令,其中所述第二指令用于指示所述第一ECU执行所述应用的更新操作;
第一执行模块,用于基于所述第一指令和所述第二指令,不执行所述应用的更新操作;
所述第一接收模块,还用于从所述上位机接收第三指令,其中所述第三指令用于指示所述第一ECU重新启动;
所述第一执行模块,还用于基于所述第三指令重新启动。
所述第一接收模块,还用于从所述上位机接收第四指令,其中所述第四指令用于指示所述第一ECU向所述上位机发送所述第二版本信息和所述第二信息;
第一发送模块,用于向所述上位机发送第五指令,其中第五指令中包括:所述第一ECU的标识、所述第二版本信息和所述第二信息。
所述第一接收模块,还用于从所述上位机接收第六指令,其中所述第六指令用于指示所述第一ECU向所述上位机发送所述应用的第三版本信息;
所述第一发送模块,还用于向所述上位机发送第七指令,其中第七指令中包括:所述第一ECU的标识和所述第三版本信息。
第六方面,本申请提供一种应用的更新装置,应用于第二ECU,在所述第二ECU中,安装应用的硬件的第一信息与安装所述应用的硬件的第二信息相同且所述应用的第一版本信息与所述应用的第二版本信息不同;
所述装置包括:
第二接收模块,用于从上位机接收第二指令,其中所述第二指令用于指示所述第二ECU执行所述应用的更新操作;
第二执行模块,用于基于所述第二指令,执行所述应用的更新操作;
所述第二接收模块,还用于从所述上位机接收第三指令,其中所述第三指令用于指示所述第二ECU重新启动;
所述第二执行模块,还用于基于所述第三指令重新启动。
可选地,所述第二指令中包括:所述应用的更新数据时,所述第二ECU基于所述第二指令,执行所述应用的更新操作,包括:
所述第二执行模块,用于基于所述应用的更新数据,依次执行重启、所述硬件的解密、所述应用的更新以及所述应用的校验的操作。
可选地,所述装置基于所述应用的更新数据,执行所述硬件的解密的操作,包括:
所述第二发送模块,用于在接收到所述应用的更新数据时,向所述上位机发送目标参数;
所述第二执行模块,用于基于预设算法,对所述目标参数进行计算,得到第一结果;
所述第二接收模块,用于从所述上位机接收第二结果,所述第二结果为所述上位机根据所述预设算法对所述目标参数进行计算得到的;
所述第二执行模块,用于比较所述第一结果和所述第二结果,确定所述硬件的解密是否成功。
可选地,所述装置还包括:
所述第二接收模块,还用于从所述上位机接收第四指令,其中所述第四指令用于指示所述第二ECU向所述上位机发送所述第二版本信息和所述第二信息;
所述第二发送模块,还用于向所述上位机发送第五指令,其中第五指令中包括:所述第二ECU的标识、所述第二版本信息和所述第二信息。
可选地,所述装置还包括:
所述第二接收模块,还用于从所述上位机接收第六指令,其中所述第六指令用于指示所述第二ECU向所述上位机发送所述第三版本信息;
所述第二发送模块,还用于向所述上位机发送第七指令,其中第七指令中包括:所述第二ECU的标识和所述第三版本信息
第七方面,本申请提供一种***,包括:上述第四方面以及第四方面所述的应用的更新装置、第五方面以及第五方面所述的应用的更新装置和第六方面以及第六方面所述的应用的更新装置。
第八方面,本申请提供一种上位机,包括:存储器、处理器、显示器和通信接口;
存储器用于存储程序指令;
显示器用于显示处理器的处理结果;
通信接口用于根据处理器的指令接收或者发送执行指令;
处理器用于调用存储器中的程序指令执行第一方面及第一方面任一种可能的设计中的应用的更新方法。
第九方面,本申请提供一种ECU,包括:存储器、处理器、传感器和通信接口;
存储器用于存储程序指令;
传感器用于获取电池的温度、电压以及电流等信息;
通信接口用于根据处理器的指令接收或者发送执行指令;
处理器用于调用存储器中的程序指令执行第二方面以及第二方面任一种可能的设计中的应用的更新方法;或者,处理器用于调用存储器中的程序指令执行第三方面以及第三方面任一种可能的设计中的应用的更新方法。
第十方面,本申请提供一种可读存储介质,可读存储介质中存储有执行指令,当电子设备的至少一个处理器执行该执行指令时,电子设备执行第一方面及第一方面任一种可能的设计中的应用的更新方法;或者,电子设备执行第二方面以及第二方面任一种可能的设计中的应用的更新方法;或者,电子设备执行第三方面以及第三方面任一种可能的设计中的应用的更新方法。
本申请提供的应用的更新方法和装置,通过获取更新的应用的第一版本信息和第一信息,以及M个ECU各自的第二版本信息和第二信息,判断每个ECU的应用是否需要更新。根据该判断结果,上位机分别设置M个ECU进入两种不同的状态,其中一种状态使得P个不需要更新的ECU接收上位机发送的用于更新的指令,但不执行该指令相应的更新操作,另一种状态使得M个需要更新的ECU接收上位机发送的用于更新的指令,并执行该指令相应更新操作。在完成ECU的状态的配置后,上位机可以向M个ECU广播更新的指令,其中,P个ECU在接收到第二指令时,不执行第二指令,Q个ECU在接收到第二指令时,根据第二指令,分别执行更新操作。上位机可以向M个ECU广播第三指令。M个ECU根据第三指令,分别完成M个ECU的重启操作,从而实现了应用的更新过程,提高了应用的更新效率,减少升级过程中人力资源和时间资源的消耗。
另外,进一步地,本申请中,Q个ECU还可以分别向上位机发送目标参数。Q个ECU分别通过预设算法,根据各自的目标参数,计算得到第一结果。上位机根据预设算法,计算每一个目标参数的第二结果,并将该第二结果发送给对应的ECU。Q个ECU分别比较第一结果和第二结果,确定该ECU的硬件的解密是否成功。通过该方法,避免了非法上位机对ECU进行非法操作,提高ECU的应用的更新的安全性。进一步地,上位机通过获取更新后,每个ECU的第三信息,确认该ECU的应用的更新结果,进而,根据该更新结果,管理员确认此次更新的效果。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的应用的更新***的场景示意图;
图2为本申请一实施例提供的应用的更新方法的流程图;
图3为本申请一实施例提供的应用的更新方法的信令交互图;
图4为本申请一实施例提供的应用的更新方法的流程图;
图5为本申请一实施例提供的应用的更新***的界面示意图;
图6为本申请一实施例提供的应用的更新装置的结构示意图;
图7为本申请一实施例提供的应用的更新装置的结构示意图;
图8为本申请一实施例提供的应用的更新装置的结构示意图;
图9为本申请一实施例提供的上位机的硬件结构示意图;
图10为本申请一实施例提供的ECU的硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
图1示出了一种应用的更新***的场景示意图。如图1所示,该应用的更新***10包括:上位机11、M个ECU12和M个电池13,M为正整数。
上位机11与M个ECU12连接,用于与M个ECU12进行通讯,可以向M个ECU12中的部分或者全部分别发送指令,或者向M个ECU广播指令。上位机11还可以用于接收M个ECU12分别发送的响应信息。在应用的更新***10中,包含至少一个上位机11。
其中,指令可以为控制指令、请求指令或者更新指令等,本实施例对此不做限制。
其中,响应信息中可以包括一个ECU的指令的执行情况,或者上位机向一个ECU请求的信息。
上位机11还可以在接收到响应信息后,根据该响应信息,生成相应的结果,并将该结果发送给管理员。当上位机11中包括屏幕时,该上位机11可以通过屏幕,向管理员显示该结果。上位机还可以通过邮件、短信等方式向管理员发送该结果。
本实施例中,应用的更新***10中有M个ECU12。通常,一个ECU12与一个电池13连接,此时,应用的更新***10中有M个电池13。一个ECU12还可以与多个电池13连接。ECU12可以用于向一个或多个电池13发送指令,一个电池13根据该指令执行相应的操作。
其中,该指令可以用于指示一个电池13进行上电、下电、蓄电、放点、电池均衡、电池热管理等操作。
一个ECU12与上位机11连接,可以用于接收上位机11发送的指令,以及向上位机11发送响应信息。
通常,每个ECU12上均设置有应用。该应用可以用于根据上位机11发送的指令执行相应的操作。该操作可以为向电池13发送指令,该操作还可以用于控制该ECU12。
在实际应用过程中,应用的更新速度比较快,为了保证一个ECU的正常运行,需要频繁的对该ECU的应用进行更新。通常,管理员控制上位机,一次对一个ECU进行更新。在该更新过程中,由于需要管理员控制上位机逐一对ECU的应用进行更新,因此存在耗费人力资源多,时间成本大的缺陷。且该更新过程中,由于人工干预过多,加大了更新过程的不可测风险,间接增加了后期的工作量。
针对上述问题,可以根据预设的ECU列表,对列表中的ECU进行逐一的应用的更新操作,减少人工操作带来的不可测风险,降低人工成本。然而,由于储能电站的应用的更新***中,ECU的数量较多,在使用该方法对全部ECU的应用进行更新时,仍然存在耗费的时间长,更新的效率低的问题。
为了解决上述问题,本申请提供一种应用的更新方法和装置,基于对每个ECU中的应用是否需要更新的判断的结果,分别设置ECU进入两种不同的状态,其中一种状态使得不需要更新的ECU接收上位机发送的用于更新的指令,但不执行该指令相应的更新操作,另一种状态使得需要更新的ECU接收上位机发送的用于更新的指令,并执行该指令相应更新操作。在完成ECU的状态的设置后,上位机可以向全部ECU广播更新的指令,每个ECU结合本身的状态,基于更新的指令执行相应的操作。本申请通过设置每个ECU进入相应的状态,使每个ECU在接收到更新的指令后,执行不同的操作。其中,需要进行更新的ECU,在接收到更新的指令后,根据该指令,执行该指令相应更新操作,提高了ECU的应用的更新效率,减少升级过程中人力资源和时间资源的消耗。
下面,以图1中的上位机和M个ECU为执行主体,结合图2,采用具体的实施例,对本申请的应用的更新方法的具体实现过程进行详细说明。
图2示出了本申请一实施例提供的应用的更新方法的流程图。如图2所示,本实施例的方法可以包括:
S101、上位机获取更新的应用的第一版本信息、安装应用的硬件的第一信息以及M个ECU各自的应用的第二版本信息和安装应用的硬件的第二信息,M为正整数。
在对每个ECU的应用进行更新前,上位机基于该应用的更新文件,可以获取该应用的第一版本信息和安装该应用的硬件的第一信息。
其中,该应用的第一版本信息可以为该应用的软件版本信息,用于指示该应用的软件版本。本申请中,该第一版本信息可以采用字符串的表示方式,例如,QQ-2007-Beta,V1.2.1等。
其中,该第一信息可以为安装该应用的硬件的版本信息,用于指示安装该应用的硬件的版本需求。该第一信息中可以包括一个或多个硬件的版本信息。当该第一信息中包含多个硬件的版本信息时,该应用可以在多个版本的硬件上进行安装。当该第一信息中包含一个硬件版本信息时,该应用只能在该版本的硬件上进行安装。本申请中,该第一信息可以采用字符串的表示方式,例如,TL-WR841N-V12,Ver1.8等。
另外,针对M个ECU各自的应用,上位机还可以获取每个ECU的应用的第二版本信息和安装应用的硬件的第二信息。
其中,每个ECU的应用的第二版本信息与第一版本信息类似,可以为该应用的软件版本信息,用于指示该应用的软件版本。
其中,每个ECU的安装应用的硬件的第二信息为该ECU的硬件的版本信息。该第二信息的表示方式与第一信息类似。
S102、上位机将第一信息与第二信息不同的ECU,或者,第一信息与第二信息相同且第一版本信息与第二版本信息相同的ECU确定为P个ECU,以及将第一信息与第二信息相同且第一版本信息与第二版本信息不同的ECU确定为Q个ECU,其中P和Q之和等于M,P和Q为正整数。
上位机基于S101中获取到的第一版本信息和第一信息,以及第二版本信息和第二信息,判断每个ECU的应用是否需要更新。
当第一信息与第二信息不同时,说明安装该更新的应用的硬件版本与该ECU的硬件版本不匹配,因此,上位机可以确定无法在该ECU中安装该应用,从而,无法对该ECU的应用进行更新。
当第一信息与第二信息相同,且第一版本信息与第二版本信息相同时,说明安装该更新的应用所需要的硬件版本,与该ECU的硬件版本匹配,但该ECU的当前的应用的软件版本已经为最新的版本,不需要再次更新,即该ECU的应用不需要进行更新。
其中,P个ECU为上述两种不需要更新的ECU。
当第一信息与第二信息相同,且第一版本信息与第二版本信息不同时,说明安装该更新的应用所需要的硬件版本,与该ECU的硬件版本匹配,且ECU的当前的应用的软件版本,低于更新的应用的软件版本,即需要对ECU的应用进行更新。
其中,Q个ECU为上述需要更新的ECU。
根据是否需要对ECU的应用进行更新,上位机将M个ECU分成P个不需要更新的ECU,和Q个需要更新的ECU,P和Q的和等于M。
S103、上位机向P个ECU分别发送第一指令,其中第一指令用于指示ECU不可执行更新操作。
在S102确定每个ECU是否需要更新后,上位机向不需要更新的P个ECU分别发送第一指令,使得P个ECU均进入可以接收上位机发送的用于更新的指令,但不执行该指令相应的更新操作的状态。P个ECU中的每个ECU,在完成状态的设置后,向上位机发送响应信息,告知上位机完成状态设置。
针对未接收到第一指令的Q个ECU,每个ECU均进入可以接收上位机发送的用于更新的指令,并执行该指令相应更新操作的状态。
S104、上位机向M个ECU广播第二指令,其中第二指令用于指示M个ECU执行应用的更新操作,其中,Q个ECU分别执行应用的更新操作,且P个ECU不执行应用的更新操作。
上位机向M个ECU广播第二指令,M个ECU全部接收到第二指令。因为,P个ECU均已进入可以接收上位机发送的用于更新的指令,但不执行该指令相应的更新操作的状态。所以,该P个ECU分别接收上位机发送的第二指令,但不执行与第二指令相应的更新操作。
Q个ECU全部接收上位机发送的第二指令,并执行与第二指令相应更新操作。Q个ECU分别根据第二指令,对该ECU的应用进行更新。Q个ECU中的每个ECU,在完成更新操作后,向上位机发送响应信息,告知上位机完成更新操作。
S105、上位机向M个ECU广播第三指令,其中第三指令用于指示M个ECU重新启动。
上位机向M个ECU广播第三指令,根据该第三指令,M个ECU分别进行重启,并完成应用的更新操作。其中,Q个ECU在重启时,加载的应用为更新的应用。
在一个具体的实施例中,假设应用的更新***中包括一个上位机以及ECU_1、ECU_2和ECU_3三个ECU,该应用的更新方法的具体步骤如下:
步骤1:上位机获取更新的应用的第一版本信息、安装应用的硬件的第一信息,以及3个ECU各自的应用的第二版本信息和安装应用的硬件的第二信息。
步骤2:上位机比较第一信息和ECU_1的第二信息。当第一信息与第二信息不同时,上位机认为该更新的应用的硬件版本与ECU_1的硬件版本不匹配,因此,上位机可以确定无法在ECU_1中安装该应用,从而,无法对ECU_1的应用进行更新
步骤3:上位机比较第一信息和ECU_2的第二信息,确定该更新的应用可以在ECU_2上进行安装。上位机比较第一版本信息和安装ECU_2的应用的硬件的第二版本信息。当第一版本信息与第二版本信息一致时,上位机认为该ECU_2上的应用为最新的软件版本的应用,因此,判断该ECU_2不需进行更新。
步骤4:上位机比较第一信息和ECU_3的第二信息,确定该更新的应用可以在ECU_3上进行安装。上位机比较第一版本信息和安装ECU_3的应用的硬件的第二版本信息。当第一版本信息与第二版本信息不一致时,上位机确定该ECU_3的应用需要更新。
步骤5:根据步骤2-4的比较结果,上位机可以向ECU_1和ECU_2分别发送第一指令,使ECU_1和ECU_2进入监听状态。ECU_3没有接收到第一指令,默认进入更新状态。其中,监听状态用于指示ECU_1和ECU_2进入可以接收上位机发送的用于更新的指令,但不执行该指令相应的更新操作的状态。其中,更新状态用于指示ECU_3进入可以接收上位机发送的用于更新的指令,并执行该指令相应更新操作的状态。
步骤6:上位机向3个ECU广播第二指令。其中,ECU_1和ECU_2处于监听状态,因此,ECU_1和ECU_2接收第二指令,但不执行。ECU_3在接收到第二指令后,根据第二指令,执行相应的更新操作,对ECU_3的应用进行更新。
步骤7:上位机向3个ECU广播第三指令。3个ECU分别根据第三指令执行重启操作,结束应用的更新。其中,ECU_1和ECU_2在重启之后,退出监听状态,完成此次更新。ECU_3在重启时,加载的应用为更新的应用。
本申请提供的应用的更新方法,通过获取更新的应用的第一版本信息和第一信息,以及M个ECU各自的第二版本信息和第二信息,判断每个ECU的应用是否需要更新。根据该判断结果,上位机向P个不需要更新的ECU发送第一指令,使得该P个ECU均进入可以接收上位机发送的用于更新的指令,但不执行该指令相应的更新操作的状态。Q个ECU均进入接收上位机发送的用于更新的指令,并执行该指令相应更新操作的状态。进而上位机通过广播的方式,向M个ECU发送第二指令。Q个ECU接收上位机发送的第二指令,并执行第二指令的操作,完成更新。P个ECU接收上位机发送的第二指令,但不执行第二指令的更新操作。M个ECU根据第三指令,分别对ECU进行重启,完成应用的更新操作。本申请通过设置每个ECU进入相应的状态,使每个ECU在接收到更新的指令后,执行不同的操作。其中,需要进行更新的ECU,在接收到更新的指令后,根据该指令,执行该指令相应更新操作,提高了ECU的应用的更新效率,减少升级过程中人力资源和时间资源的消耗。
在判断每个ECU是否需要更新前,上位机需要获取每个ECU的第二版本信息和第二信息。上位机获取每个ECU的第二版本信息和第二信息的方式包括多种,下面采用两种可行的实现方式进行举例。
一种可行的实现方式中,上位机可以通过存储器,获取每个ECU的第二版本信息和第二信息。其中,存储器可以为该上位机内设的存储器,也可以为与该上位机通信连接的外部存储器。
另一种可行的实现方式中,上位机可以分别向M个ECU发送查询指令,该查询指令使得M个ECU分别向上位机发送响应信息,该响应信息中包括该ECU第二版本信息和第二信息。
下面,结合图3,对上位机从M个ECU中分别获取第二版本信息和第二信息的具体实现过程进行详细说明。
图3示出了本申请一实施例提供的应用的更新方法的信令交互图。如图3所示,以上位机和M个ECU为执行主体,本申请的应用的更新方法可以包括:
S2001、上位机向M个ECU广播第四指令,其中第四指令用于指示M个ECU向上位机发送第二版本信息和第二信息。
本申请中,上位机向M个ECU广播第四指令,该第四指令可以为查询指令,用于向每个ECU请求第二版本信息和第二信息。
S2002、M个ECU分别向上位机发送第五指令,其中每个第五指令中包括:ECU的标识、ECU的应用的第二版本信息和ECU的硬件的第二信息。
本申请中,M个ECU在接收到上位机发送的第四指令时,根据第四指令,M个ECU分别向上位机发送第五指令。
其中,第五指令为每个ECU根据第四指令,生成的响应信息,该响应信息中包括该ECU的应用的第二版本信息、安装应用的硬件的第二信息和该ECU的标识。
其中,ECU的标识可以用于唯一标识该ECU,例如,ECU_1。
S201、上位机获取更新的应用的第一版本信息、安装应用的硬件的第一信息以及M个电子控制单元ECU各自的应用的第二版本信息和ECU的硬件的第二信息,M为正整数。
S202、上位机将第一信息与第二信息不同的ECU,或者,第一信息与第二信息相同且第一版本信息与第二版本信息相同的ECU确定为P个ECU,以及将第一信息与第二信息相同且第一版本信息与第二版本信息不同的ECU确定为Q个ECU,其中P和Q之和等于M,P和Q为正整数。
S2003、上位机向P个ECU分别发送第一指令,其中第一指令用于指示ECU不可执行更新操作。
S2004、上位机向M个ECU广播第二指令,其中第二指令用于指示M个ECU执行应用的更新操作。
S203、Q个ECU分别执行应用的更新操作,P个ECU不执行应用的更新操作。
S2005、上位机向M个ECU广播第三指令,其中第三指令用于指示M个ECU重新启动。
其中,S201、S202、S2003、S2004、S203和S2005分别与图2实施例中的S101、S102、S103、S104和S105实现方式类似,本实施例此处不再赘述。
本申请中,上位机从存储器中读取每个ECU的第二版本信息和第二信息,或者从每个ECU中获取该ECU的第二版本信息和第二信息。上位机比较第一信息和第二信息以及第一版本信息和第二版本信息,判断每个ECU的应用是否需要更新。根据该判断结果,上位机向P个不需要对应用进行更新的ECU发送第一指令,使得该P个ECU均进入可以上位机发送的用于更新的指令,但不执行该指令相应的更新操作,Q个ECU均进入接收上位机发送的用于更新的指令,并执行该指令相应更新操作的状态。进而,上位机通过广播的方式,向M个ECU发送第二指令。Q个ECU接收上位机发送的第二指令,并执行第二指令的更新操作,完成更新。M个ECU根据第三指令,分别完成ECU的重启操作,完成应用的更新。本申请通过设置每个ECU进入相应的状态,使每个ECU在接收到更新的指令后,执行不同的操作。其中,需要进行更新的ECU,在接收到更新的指令后,根据该指令,执行该指令相应更新操作,提高了ECU的应用的更新效率,减少升级过程中人力资源和时间资源的消耗。
在应用的更新***中,包括M个ECU,其中,P个ECU为不需要对应用进行更新的ECU,将该P个ECU命名为第一ECU。其中,Q个ECU为需要对应用进行更新的ECU,将该Q个ECU命名为第二ECU。
第二ECU在接收到第二指令后,根据第二指令,执行更新操作。其中,第二指令中包括:应用的更新数据时,第二ECU基于第二指令,执行应用的更新操作。第二ECU基于应用的更新数据,依次执行重启、硬件的解密、应用的更新以及应用的校验的操作。
第二ECU在接收到第二指令后,分别从第二指令中获取更新数据。根据该更新数据,第二ECU分别执行应用的更新操作。其中,更新数据用于对第二ECU分别执行重启、硬件的解密、应用的更新以及应用的校验等操作。基于数据灵活性,该更新数据可以采用多种方法实现,下面采用三种可行的实现方式进行举例。
一种可行的实现方式中,更新数据中包含用于指示第二ECU中每个ECU进行重启、硬件的解密、应用的更新以及应用的校验的操作的指令,该指令所指示的更新步骤如下:
步骤1、上位机广播重启指令,指示第二ECU重启。
本步骤中,第二ECU接收到重启指令后,根据该重启指令,执行重启操作。每个ECU在重启后,均进入bootloader状态。每个ECU需要在该bootloader状态下,对应用的数据进行读写,以实现应用的更新。
每个ECU在完成重启,并进入bootloader状态后,向上位机发送响应信息,以告知上位机该ECU完成重启操作。
步骤2、上位机广播解密指令,指示第二ECU的硬件进行解密。
本步骤中,一个ECU通过获取上位机发送的解密指令,解密该ECU的硬件,使该硬件进入可读写状态,在该状态中,上位机可以对该ECU的硬件执行擦除flash,写入升级数据等操作。该硬件的解密的操作的具体步骤包括:
步骤2.1、第二ECU在接收到应用的更新数据时,向上位机发送目标参数。
本步骤中,一个ECU在接收到更新数据时,生成目标参数,并将该目标参数发送给上位机。
其中,目标参数可以为使用随机算法计算得到的数值,还可以为从预设的固定的数据集中随机获取的数值,还可以为预设的数值,本实施例对此不作限制。
步骤2.2、第二ECU基于预设算法,对目标参数进行计算,得到第一结果。
本步骤中,一个ECU根据步骤2.1中得到的目标参数,使用预设算法,对目标参数进行解密。
其中,预设算法为预先设定的算法,该算法可以为固定的算法,还可以为定期更新替换的算法,还可以为动态变化的算法,本实施例对此不作限制。
其中,第一结果为一个ECU使用预设算法对目标参数进行解密后,得到的解密结果。
步骤2.3、第二ECU从上位机接收第二结果,第二结果为上位机根据预设算法对目标参数进行计算得到的。
上位机使用与第二ECU相同的算法,对接收到的目标参数进行解密,得到第二结果,并将解密得到的第二结果发送给目标参数对应的第二ECU。
步骤2.4、第二ECU比较第一结果和第二结果,确定硬件的解密是否成功。
第二ECU中每个ECU比较第一结果和第二结果。如果第一结果和第二结果一致,则说明该上位机是匹配该ECU的正确的上位机。此时,该ECU对硬件进行解密,使其可以执行擦除flash,接受升级数据等操作。如果第一结果和第二结果不一致,则说明该上位机可能是非法上位机,应停止并结束更新操作,避免非法上位机对该ECU进行非法的更新操作。
步骤3:上位机广播升级数据,指示第二ECU接收更新的应用的数据。
本步骤中,一个ECU通过重启的方式,进入bootloader状态,且该ECU的硬件完成解密,可以执行擦除flash,接受升级数据等操作。该ECU接收到上位机发送的更新的应用的数据后,擦除该应用的原始数据的flash,并将更新的应用的数据写入。
该ECU接收更新的应用的数据后,向上位机发送响应信息,指示上位机更新的应用的数据接收完成。
步骤4:上位机广播验证指令,指示第二ECU对更新的应用的数据进行验证。
本步骤中,一个ECU在接收到上位机发送的验证指令时,对ECU接收到的更新的应用的数据进行验证。如果验证通过,则该ECU确认使用该数据为新的应用的数据,并向上位机发送响应信息,指示上位机,更新的应用的数据验证成功,且该第二指令执行完成。否则,该ECU中应用的软件版本回退,并向上位机发送响应信息,指示上位机,ECU的应用更新失败。
其中,验证方法包括但不限于CRC32校验方法,本实施例对此不作限制。
另一种可行的实现方式中,更新数据中的指令可以以部分指令组合的形式进行发送。例如,该指令的执行过程可以包括:
步骤1、上位机广播重启指令,指示第二ECU重启。
步骤2、上位机广播解密指令,指示第二ECU的硬件进行解密。
步骤3:上位机广播升级数据,指示第二ECU接收更新的应用的数据,并对该升级数据进行验证。
另一种可行的实现方式中,更新数据中的指令可以以全部指令组合的形式进行发送。例如,该更新数据可以为一个包括所有指令的脚本文件。
综上,上述举例了更新数据的指令的三种实现方式。更新数据中包括重启、硬件的解密、应用的更新以及应用的校验等操作指令。该操作指令可以通过逐条发送的方式,将指令发送给每个第二ECU进行执行,或者,还可以通过将其中的部分或者全部指令组合发送的方式,将指令发送给每个第二ECU进行执行。当更新数据中存在大量重复指令,或对指令的交互要求较低时,通过组合发送的方式,可以减少上位机和ECU收发信息的频率,提高ECU的指令执行效率,并提高ECU的应用的更新的效率。
本申请中,第二ECU在接收到第二指令后,第二ECU中的每个ECU,从第二指令中获取更新数据,并根据该更新数据,依次执行重启、硬件的解密、应用的更新以及应用的校验等操作。其中,解密指令通过使用预设的算法对目标参数进行计算,并比较上位机的第二结果和一个ECU的第一结果是否一致,确定该ECU的硬件的解密是否成功。通过该硬件的解密过程,提高了ECU的更新的安全性,避免了非法上位机对ECU进行非法操作,有效保证了ECU的应用的数据不被误擦除,避免ECU遭遇恶意破坏。
在上述实施例的基础上,结合图4,对上位机验证每个ECU的应用的更新结果的方法进行举例。
图4为应用的更新方法的流程示意图。如图4所示,以上位机和M个ECU为执行主体,本实施例的方法可以包括:
S301、上位机向M个ECU广播第六指令,其中第六指令用于指示M个ECU向上位机发送应用的第三版本信息。
在全部ECU的更新操作结束后,上位机从每个ECU中,获取该ECU的第三版本信息,根据第一版本信息和该ECU的第三版本信息,确定该ECU是否更新成功。
其中,第六指令可以为请求指令,用于向每个ECU请求第三版本信息。
其中,第三版本信息可以为软件版本信息,用于指示ECU的应用的软件版本信息。
S302、上位机从M个ECU分别接收第七指令,其中每个第七指令中包括:ECU的标识和ECU的应用的第三版本信息。
每个ECU在接收到上位机发送的第六指令后,根据第六指令,向上位机发送第七指令。
S303、上位机基于第一版本信息和M个第三版本信息,确定M个ECU的更新结果。
上位机在收到每个ECU发送的第三版本信息后,比较该第三版本信息和第一版本信息,如果两个版本一致,则确定该ECU是更新成功,否则,该ECU更新失败。
S304、上位机输出更新结果。
本实施例中,上位机根据S303中比较得到M个ECU的更新结果,将该更新结果进行输出。管理员根据该输出的更新结果,可以了解到M个ECU的更新情况。
当上位机中包括显示器时,该更新结果的输出方式可以为在上位机的显示器中,输出该更新结果。在该更新结果中,更新成功的ECU和未更新成功的ECU可以被分别标记,以便于管理员获取到该更新结果。
该更新结果还可以通过邮件、短信或者网页等方式进行输出,并使用表格或者列表的方式,对该更新结果进行显示。
其中,步骤S304为可选地。
图5示出了本申请一实施例提供的应用的更新***的界面示意图。结合图5,对上位机的显示器中显示该更新结果进行举例。
如图5所示,通过点击按钮,可以获取ECU的更新结果的列表。其中,按钮可以为“ECU的更新结果”、“ECU更新成功”或者“ECU更新失败”等等,本申请对按钮的名称不作限制。通过点击图5所示的三个按钮,可以分别获得全部的ECU的更新结果的列表、更新成功的ECU的更新结果的列表、以及更新失败的ECU的更新结果的列表。在本申请中,对于按钮的数量以及按钮所对应的列表的内容不作限制。
如图5所示,当选择的按钮为“ECU的更新结果”时,页面显示每页显示条数、全部ECU的个数、当前页码以及全部页数。当共有57个ECU,且每页显示6条时,第一页中,可以看到全部的ECU的更新结果中的前6条。全部的ECU的更新结果的排序方式,可以为根据ECU标识从小到大排序。其中,每页显示条数和/或当前页码还可以为可选项,可以动态调整每页显示的信息条数,和/或当前的页码。其中,列表中全部的ECU的更新结果的还可以使用随机排序、根据更新结果排序或者动态选择排序字段等方式进行排序,本申请对此不作限制。
如图5所示,列表中,以字段的方式输出更新结果。其中,字段可以包括序号、ECU标识、是否需要更新、更新结果以及更新失败原因等,本申请对字段名称、字段的内容、字段数量等不作限制。为了便于表示,在下文中,使用第一字段、第二字段、第三字段、第四字段和第五字段表示列表中的各个字段。
其中,第一字段可以为序号,用于指示一个ECU的更新结果在该列表中的序号。第二字段可以为ECU标识,用于输出该ECU的标识。第三字段可以用于指示该ECU是否需要更新,当该ECU需要更新时,该字段输出“是”,否则,该字段输出“否”。第四字段可以用于指示该ECU的更新结果,当该ECU更新成功时,该字段输出“是”,否则,该字段输出“否”。第五字段可以用于指示该ECU更新失败的原因,当该ECU更新成功时,该字段输出“无”,否则,输出该ECU更新失败的原因。其中,更新失败的原因包括但不限于,硬件版本不一致、硬件解密失败以及数据验证失败等。
本申请中,上位机完成对每个ECU的更新后,上位机向每个ECU发送第六指令,获取更新后,每个ECU的第三版本信息。上位机比较该第三版本信息与第一版本信息,确认每个ECU的更新结果。上位机还可以输出该ECU的更新结果的列表,以便于管理员获取到该更新结果。
图6示出了本申请一实施例提供的应用的更新装置的结构示意图,如图6所示,本实施例的应用的更新装置20用于实现上述任一方法实施例中对应于上位机的操作,本实施例的应用的更新装置20可以包括:
获取模块21,用于获取更新的应用的第一版本信息、安装应用的硬件的第一信息以及M个电子控制单元ECU各自的应用的第二版本信息和ECU的硬件的第二信息,M为正整数;
确定模块22,用于将第一信息与第二信息不同的ECU,或者,第一信息与第二信息相同且第一版本信息与第二版本信息相同的ECU确定为P个ECU,以及将第一信息与第二信息相同且第一版本信息与第二版本信息不同的ECU确定为Q个ECU,其中P和Q之和等于M,P和Q为正整数;
发送模块23,用于向P个ECU分别发送第一指令,其中第一指令用于指示ECU不可执行更新操作;
发送模块23,还用于向M个ECU广播第二指令,其中第二指令用于指示M个ECU执行应用的更新操作,其中,Q个ECU分别执行应用的更新操作,且P个ECU不执行应用的更新操作;
发送模块23,还用于向M个ECU广播第三指令,其中第三指令用于指示M个ECU重新启动。
发送模块23,还用于向M个ECU广播第四指令,其中第四指令用于指示M个ECU向上位机发送第二版本信息和第二信息;
获取模块21,用于从M个ECU分别接收第五指令,其中每个第五指令中包括:ECU的标识、ECU的应用的第二版本信息和ECU的硬件的第二信息。
可选地,第二指令中包括:应用的更新数据。
发送模块23,还用于向M个ECU广播第六指令,其中第六指令用于指示M个ECU向上位机发送应用的第三版本信息;
输出模块21,还用于从M个ECU分别接收第七指令,其中每个第七指令中包括:ECU的标识和ECU的应用的第三版本信息;
确定模块22,还用于基于第一版本信息和M个第三版本信息,确定M个ECU的更新结果。
可选地,应用的更新装置还包括:
输出模块24,用于输出更新结果
本申请实施例提供的应用的更新装置20,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
图7示出了本申请一实施例提供的应用的更新装置的结构示意图,如图7所示,本实施例的应用的更新装置30用于实现上述任一方法实施例中对应于第一ECU的操作,在第一ECU中,安装应用的硬件的第一信息与安装应用的硬件的第二信息不同,或者,安装应用的硬件的第一信息与安装应用的硬件的第二信息相同且应用的第一版本信息与应用的第二版本信息相同,本实施例的应用的更新装置30可以包括:
第一接收模块31,用于从上位机接收第一指令,其中第一指令用于指示第一ECU不可执行更新操作;
第一接收模块31,还用于从上位机接收第二指令,其中第二指令用于指示第一ECU执行应用的更新操作;
第一执行模块32,用于基于第一指令和第二指令,不执行应用的更新操作;
第一接收模块31,还用于从上位机接收第三指令,其中第三指令用于指示第一ECU重新启动;
第一执行模块32,还用于基于第三指令重新启动。
第一接收模块31,还用于从上位机接收第四指令,其中第四指令用于指示第一ECU向上位机发送第二版本信息和第二信息;
第一发送模块33,用于向上位机发送第五指令,其中第五指令中包括:第一ECU的标识、第二版本信息和第二信息。
第一接收模块31,还用于从上位机接收第六指令,其中第六指令用于指示第一ECU向上位机发送应用的第三版本信息;
第一发送模块33,还用于向上位机发送第七指令,其中第七指令中包括:第一ECU的标识和第三版本信息。
本申请实施例提供的应用的更新装置30,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
图8示出了本申请一实施例提供的应用的更新装置的结构示意图,如图8所示,本实施例的应用的更新装置40用于实现上述任一方法实施例中对应于第二ECU的操作,在第二ECU中,安装应用的硬件的第一信息与安装应用的硬件的第二信息相同且应用的第一版本信息与应用的第二版本信息不同,本实施例的应用的更新装置40可以包括:
第二接收模块41,用于从上位机接收第二指令,其中第二指令用于指示第二ECU执行应用的更新操作;
第二执行模块42,用于基于第二指令,执行应用的更新操作;
第二接收模块41,还用于从上位机接收第三指令,其中第三指令用于指示第二ECU重新启动;
第二执行模块42,还用于基于第三指令重新启动。
可选地,第二指令中包括:应用的更新数据时,第二ECU基于第二指令,执行应用的更新操作,包括:
第二执行模块42,用于基于应用的更新数据,依次执行重启、硬件的解密、应用的更新以及应用的校验的操作。
第二发送模块43,用于在接收到应用的更新数据时,向上位机发送目标参数;
第二执行模块42,用于基于预设算法,对目标参数进行计算,得到第一结果;
第二接收模块41,用于从上位机接收第二结果,第二结果为上位机根据预设算法对目标参数进行计算得到的;
第二执行模块42,用于比较第一结果和第二结果,确定硬件的解密是否成功。
第二接收模块41,还用于从上位机接收第四指令,其中第四指令用于指示第二ECU向上位机发送第二版本信息和第二信息;
第二发送模块43,还用于向上位机发送第五指令,其中第五指令中包括:第二ECU的标识、第二版本信息和第二信息。
第二接收模块41,还用于从上位机接收第六指令,其中第六指令用于指示第二ECU向上位机发送第三版本信息;
第二发送模块43,还用于向上位机发送第七指令,其中第七指令中包括:第二ECU的标识和第三版本信息
本申请实施例提供的应用的更新装置40,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
本申请中可以根据上述方法示例对应用的更新装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请各实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图9示出了本申请一实施例提供的上位机的硬件结构示意图。如图9所示,该上位机50,用于实现上述任一方法实施例中对应于上位机的操作,本实施例的上位机50可以包括:存储器51、处理器52、通信接口54和显示器55。
存储器51,用于存储程序指令;
显示器55,用于显示处理器的处理结果;
通信接口54,用于根据处理器的指令接收或者发送执行指令,该通信接口可以通过无线连接,如蓝牙或者无线网络,该通信接口还可以通过有线连接,如can总线;
处理器52,用于执行存储器存储的计算机程序,以实现上述实施例中的应用的更新方法。具体可以参见前述方法实施例中的相关描述。
可选地,存储器51既可以是独立的,也可以跟处理器52集成在一起。
当存储器51是独立于处理器52之外的器件时,上位机50还可以包括:
总线53,用于连接存储器51和处理器52。
本实施例提供的上位机可用于执行上述的应用的更新方法,其实现方式和技术效果类似,本实施例此处不再赘述。
图10示出了本申请一实施例提供的ECU的硬件结构示意图。如图10所示,该ECU60,用于实现上述任一方法实施例中对应于ECU的操作,本实施例的ECU60可以包括:存储器61、处理器62、通信接口64和传感器65。
存储器61,用于存储程序指令;
传感器65,用于接收电池的温度、电压以及电流等信息;
通信接口64,用于根据处理器的指令接收或者发送执行指令,该通信接口可以通过无线连接,如蓝牙或者无线网络,该通信接口还可以通过有线连接,如can总线;
处理器62,用于执行存储器存储的计算机程序,以实现上述实施例中的应用的更新方法。具体可以参见前述方法实施例中的相关描述。
可选地,存储器61既可以是独立的,也可以跟处理器62集成在一起。
当存储器61是独立于处理器62之外的器件时,ECU60还可以包括:
总线63,用于连接存储器61和处理器62。
本实施例提供的ECU可用于执行上述的应用的更新方法,其实现方式和技术效果类似,本实施例此处不再赘述。
本申请还提供一种应用的更新***,应用的更新***包括:如图9所示的上位机和图10所示的ECU,应用的更新***如图1所示。该应用的更新***用于实现上述图2至图5所示的实施例中的应用的更新方法,其实现方式和技术效果类似,本实施例此处不再赘述。
本申请还提供一种计算机可读存储介质,计算机可读存储介质包括计算机程序,计算机程序用于实现如上实施例中的应用的更新方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:CentralProcessingUnit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignalProcessor,简称:DSP)、专用集成电路(英文:ApplicationSpecificIntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(IndustryStandardArchitecture,ISA)总线、外部设备互连(PeripheralComponent,PCI)总线或扩展工业标准体系结构(ExtendedIndustryStandardArchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤。而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (9)

1.一种应用的更新方法,其特征在于,所述方法包括:
上位机获取应用的第一版本信息、安装所述应用的硬件的第一信息以及M个电子控制单元ECU各自的所述应用的第二版本信息和安装所述应用的硬件的第二信息,M为正整数;
所述上位机将M个ECU中所述第一信息与所述第二信息不同的ECU,或者,M个ECU中所述第一信息与所述第二信息相同且所述第一版本信息与所述第二版本信息相同的ECU确定为P个ECU,以及将M个ECU中所述第一信息与所述第二信息相同且所述第一版本信息与所述第二版本信息不同的ECU确定为Q个ECU,其中P和Q之和等于M,P和Q为正整数;
所述上位机向P个ECU分别发送第一指令,其中所述第一指令用于指示ECU不可执行更新操作;
所述上位机向M个ECU广播第二指令,其中所述第二指令用于指示M个ECU执行所述应用的更新操作,其中,Q个ECU分别执行所述应用的更新操作,且P个ECU不执行所述应用的更新操作;
所述上位机向M个ECU广播第三指令,其中所述第三指令用于指示M个ECU重新启动;其中,所述Q个ECU在重启时,加载的应用为更新的应用;
所述上位机向M个ECU广播第六指令,其中所述第六指令用于指示M个ECU向所述上位机发送所述应用的第三版本信息;
所述上位机从M个ECU分别接收第七指令,其中每个第七指令中包括: ECU的标识和所述ECU的应用的第三版本信息;
所述上位机基于所述第一版本信息和M个第三版本信息,确定M个ECU的更新结果;
所述上位机获取M个电子控制单元ECU各自的所述应用的第二版本信息和安装所述应用的硬件的第二信息,包括:
所述上位机向M个ECU广播第四指令,其中所述第四指令用于指示M个ECU向所述上位机发送所述第二版本信息和所述第二信息;
所述上位机从M个ECU分别接收第五指令,其中每个第五指令中包括: ECU的标识、所述ECU的应用的第二版本信息和安装所述ECU的应用的硬件的第二信息;
所述第二指令中包括:所述应用的更新数据,以使第二ECU基于所述应用的更新数据,依次执行重启、所述硬件的解密、所述应用的更新以及所述应用的校验的操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述上位机输出所述更新结果。
3.一种应用的更新方法,其特征在于,应用于第一ECU,在所述第一ECU中,安装应用的硬件的第一信息与安装所述应用的硬件的第二信息不同,或者,安装应用的硬件的第一信息与安装所述应用的硬件的第二信息相同且所述应用的第一版本信息与所述应用的第二版本信息相同;
所述方法包括:
所述第一ECU从上位机接收第一指令,其中所述第一指令用于指示所述第一ECU不可执行更新操作;
所述第一ECU从所述上位机接收第二指令,其中所述第二指令用于指示所述第一ECU执行所述应用的更新操作;
所述第一ECU基于所述第一指令和所述第二指令,不执行所述应用的更新操作;
所述第一ECU从所述上位机接收第三指令,其中所述第三指令用于指示所述第一ECU重新启动;
所述第一ECU基于所述第三指令重新启动;
所述方法还包括:
所述第一ECU从所述上位机接收第四指令,其中所述第四指令用于指示所述第一ECU向所述上位机发送所述第二版本信息和所述第二信息;
所述第一ECU向所述上位机发送第五指令,其中第五指令中包括:所述第一ECU的标识、所述第二版本信息和所述第二信息;
所述第一ECU从所述上位机接收第六指令,其中所述第六指令用于指示所述第一ECU向所述上位机发送所述应用的第三版本信息;
所述第一ECU向所述上位机发送第七指令,其中第七指令中包括:所述第一ECU的标识和所述第三版本信息。
4.一种应用的更新方法,其特征在于,应用于第二ECU,在所述第二ECU中,安装应用的硬件的第一信息与安装所述应用的硬件的第二信息相同且所述应用的第一版本信息与所述应用的第二版本信息不同;
所述方法包括:
所述第二ECU从上位机接收第二指令,其中所述第二指令用于指示所述第二ECU执行所述应用的更新操作;
所述第二ECU基于所述第二指令,执行所述应用的更新操作;
所述第二ECU从所述上位机接收第三指令,其中所述第三指令用于指示所述第二ECU重新启动;
所述第二ECU基于所述第三指令重新启动;
所述第二指令中包括:所述应用的更新数据时,所述第二ECU基于所述第二指令,执行所述应用的更新操作,包括:
所述第二ECU基于所述应用的更新数据,依次执行重启、所述硬件的解密、所述应用的更新以及所述应用的校验的操作;
所述第二ECU从所述上位机接收第四指令,其中所述第四指令用于指示所述第二ECU向所述上位机发送所述第二版本信息和所述第二信息;
所述第二ECU向所述上位机发送第五指令,其中第五指令中包括:所述第二ECU的标识、所述第二版本信息和所述第二信息;
所述方法还包括:
所述第二ECU从所述上位机接收第六指令,其中所述第六指令用于指示所述第二ECU向所述上位机发送第三版本信息;
所述第二ECU向所述上位机发送第七指令,其中第七指令中包括:所述第二ECU的标识和第三版本信息。
5.根据权利要求4所述的方法,其特征在于,所述第二ECU基于所述应用的更新数据,执行所述硬件的解密的操作,包括:
所述第二ECU在接收到所述应用的更新数据时,向所述上位机发送目标参数;
所述第二ECU基于预设算法,对所述目标参数进行计算,得到第一结果;
所述第二ECU从所述上位机接收第二结果,所述第二结果为所述上位机根据所述预设算法对所述目标参数进行计算得到的;
所述第二ECU比较所述第一结果和所述第二结果,确定所述硬件的解密是否成功。
6.一种应用的更新装置,其特征在于,应用于上位机,所述装置包括:
获取模块,用于获取更新的应用的第一版本信息、安装所述应用的硬件的第一信息以及M个电子控制单元ECU各自的所述应用的第二版本信息和所述ECU的硬件的第二信息,M为正整数;
确定模块,用于将所述第一信息与所述第二信息不同的ECU,或者,所述第一信息与所述第二信息相同且所述第一版本信息与所述第二版本信息相同的ECU确定为P个ECU,以及将所述第一信息与所述第二信息相同且所述第一版本信息与所述第二版本信息不同的ECU确定为Q个ECU,其中P和Q之和等于M,P和Q为正整数;
发送模块,用于向P个ECU分别发送第一指令,其中所述第一指令用于指示ECU不可执行更新操作;
所述发送模块,还用于向M个ECU广播第二指令,其中所述第二指令用于指示M个ECU执行所述应用的更新操作,其中,Q个ECU分别执行所述应用的更新操作,且P个ECU不执行所述应用的更新操作;
所述发送模块,还用于向M个ECU广播第三指令,其中所述第三指令用于指示M个ECU重新启动;其中,所述Q个ECU在重启时,加载的应用为更新的应用;
所述获取模块,具体用于向M个ECU广播第四指令,其中所述第四指令用于指示M个ECU向所述上位机发送所述第二版本信息和所述第二信息;
从M个ECU分别接收第五指令,其中每个第五指令中包括: ECU的标识、所述ECU的应用的第二版本信息和安装所述ECU的应用的硬件的第二信息;
所述第二指令中包括:所述应用的更新数据,以使第二ECU基于所述应用的更新数据,依次执行重启、所述硬件的解密、所述应用的更新以及所述应用的校验的操作;
所述发送模块,还用于向M个ECU广播第六指令,其中所述第六指令用于指示M个ECU向所述上位机发送所述应用的第三版本信息;
所述获取模块,还用于从M个ECU分别接收第七指令,其中每个第七指令中包括: ECU的标识和所述ECU的应用的第三版本信息;
所述确定模块,还用于基于所述第一版本信息和M个第三版本信息,确定M个ECU的更新结果。
7.一种应用的更新装置,其特征在于,应用于第一ECU,在所述第一ECU中,安装应用的硬件的第一信息与安装所述应用的硬件的第二信息不同,或者,安装应用的硬件的第一信息与安装所述应用的硬件的第二信息相同且所述应用的第一版本信息与所述应用的第二版本信息相同;
所述装置包括:
第一接收模块,用于从上位机接收第一指令,其中所述第一指令用于指示所述第一ECU不可执行更新操作;
所述第一接收模块,还用于从所述上位机接收第二指令,其中所述第二指令用于指示所述第一ECU执行所述应用的更新操作;
第一执行模块,用于基于所述第一指令和所述第二指令,不执行所述应用的更新操作;
所述第一接收模块,还用于从所述上位机接收第三指令,其中所述第三指令用于指示所述第一ECU重新启动;
所述第一执行模块,还用于基于所述第三指令重新启动;
所述第一接收模块,还用于从所述上位机接收第四指令,其中所述第四指令用于指示所述第一ECU向所述上位机发送所述第二版本信息和所述第二信息;
还包括:第一发送模块,用于向所述上位机发送第五指令,其中第五指令中包括:所述第一ECU的标识、所述第二版本信息和所述第二信息;
所述第一接收模块,还用于从所述上位机接收第六指令,其中所述第六指令用于指示所述第一ECU向所述上位机发送所述应用的第三版本信息;
所述第一发送模块,还用于向所述上位机发送第七指令,其中第七指令中包括:所述第一ECU的标识和所述第三版本信息。
8.一种应用的更新装置,其特征在于,应用于第二ECU,在所述第二ECU中,安装应用的硬件的第一信息与安装所述应用的硬件的第二信息相同且所述应用的第一版本信息与所述应用的第二版本信息不同;
所述装置包括:
第二接收模块,用于从上位机接收第二指令,其中所述第二指令用于指示所述第二ECU执行所述应用的更新操作;
第二执行模块,用于基于所述第二指令,执行所述应用的更新操作;
所述第二接收模块,还用于从所述上位机接收第三指令,其中所述第三指令用于指示所述第二ECU重新启动;
所述第二执行模块,还用于第二ECU基于所述第三指令重新启动;
所述第二执行模块,具体用于所述第二指令中包括所述应用的更新数据时,所述第二ECU基于所述应用的更新数据,依次执行重启、所述硬件的解密、所述应用的更新以及所述应用的校验的操作;
所述第二接收模块,还用于从所述上位机接收第四指令,其中所述第四指令用于指示所述第二ECU向所述上位机发送所述第二版本信息和所述第二信息;
还包括,第二发送模块,还用于向所述上位机发送第五指令,其中第五指令中包括:所述第二ECU的标识、所述第二版本信息和所述第二信息;
所述第二接收模块,还用于从所述上位机接收第六指令,其中所述第六指令用于指示所述第二ECU向所述上位机发送第三版本信息;
所述第二发送模块,还用于向所述上位机发送第七指令,其中第七指令中包括:所述第二ECU的标识和所述第三版本信息。
9.一种应用的更新***,其特征在于,包括:如权利要求6所述的应用的更新装置、P个如权利要求7所述的应用的更新装置以及Q个如权利要求8所述的应用的更新装置,P和Q之和为M,P、Q、M均为正整数。
CN202010428798.5A 2020-05-20 2020-05-20 应用的更新方法和装置 Active CN111679846B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010428798.5A CN111679846B (zh) 2020-05-20 2020-05-20 应用的更新方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010428798.5A CN111679846B (zh) 2020-05-20 2020-05-20 应用的更新方法和装置

Publications (2)

Publication Number Publication Date
CN111679846A CN111679846A (zh) 2020-09-18
CN111679846B true CN111679846B (zh) 2024-05-28

Family

ID=72452402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010428798.5A Active CN111679846B (zh) 2020-05-20 2020-05-20 应用的更新方法和装置

Country Status (1)

Country Link
CN (1) CN111679846B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103377057A (zh) * 2012-04-20 2013-10-30 上海通用汽车有限公司 一种刷新用户车辆电子控制模块的软件的***和方法
CN205899529U (zh) * 2016-06-30 2017-01-18 武汉英泰斯特电子技术有限公司 一种车辆ecu远程更新设备
CN106528240A (zh) * 2016-11-18 2017-03-22 安徽江淮汽车集团股份有限公司 一种ecu的应用程序写入方法及***
CN108388441A (zh) * 2017-12-29 2018-08-10 北京智行鸿远汽车有限公司 远程程序更新方法、***及计算机可读存储介质
CN108920168A (zh) * 2018-06-15 2018-11-30 先进储能材料国家工程研究中心有限责任公司 支持多个同类ECU同时升级且具防程序不匹配功能的Bootloader方法
CN109828935A (zh) * 2019-01-17 2019-05-31 重庆菲斯塔新能源汽车科技有限公司 一种基于can fd总线的并行刷写方法
CN110032382A (zh) * 2019-03-25 2019-07-19 深圳猛犸电动科技有限公司 一种汽车电子控制单元升级方法、***及终端设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110092007A (ko) * 2010-02-08 2011-08-17 주식회사 만도 차량의 소프트웨어 다운로드 시스템 및 방법
EP3416052B1 (en) * 2016-02-11 2020-11-25 Hyundai Motor Company Method and device for wirelessly updating software for vehicle

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103377057A (zh) * 2012-04-20 2013-10-30 上海通用汽车有限公司 一种刷新用户车辆电子控制模块的软件的***和方法
CN205899529U (zh) * 2016-06-30 2017-01-18 武汉英泰斯特电子技术有限公司 一种车辆ecu远程更新设备
CN106528240A (zh) * 2016-11-18 2017-03-22 安徽江淮汽车集团股份有限公司 一种ecu的应用程序写入方法及***
CN108388441A (zh) * 2017-12-29 2018-08-10 北京智行鸿远汽车有限公司 远程程序更新方法、***及计算机可读存储介质
CN108920168A (zh) * 2018-06-15 2018-11-30 先进储能材料国家工程研究中心有限责任公司 支持多个同类ECU同时升级且具防程序不匹配功能的Bootloader方法
CN109828935A (zh) * 2019-01-17 2019-05-31 重庆菲斯塔新能源汽车科技有限公司 一种基于can fd总线的并行刷写方法
CN110032382A (zh) * 2019-03-25 2019-07-19 深圳猛犸电动科技有限公司 一种汽车电子控制单元升级方法、***及终端设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
仿真技术在硬件加密技术的开发应用;陆泳;徐伟卿;裴飞飞;;北京汽车;20171225(第06期);全文 *

Also Published As

Publication number Publication date
CN111679846A (zh) 2020-09-18

Similar Documents

Publication Publication Date Title
US20170255459A1 (en) Embedded device and program updating method
EP1519268B1 (en) Communication terminal and communication network for partially updating software, software update method, and software creation device and method therefor
CN105138347A (zh) 一种差分升级包生成方法、软件升级方法及相应装置
EP2293216A1 (en) Information processing device, information processing method, and computer program and integrated circuit for the realization thereof
CN107341003B (zh) 定制***实现方法、计算机设备和存储介质
WO2016062146A1 (zh) 序列号信息的更新方法、装置及终端
CN106210877A (zh) 智能电视的***升级方法及装置
CN105700918A (zh) 一种***升级方法及装置
CN105354059A (zh) 空调***的控制器的升级方法及装置
CN114116305A (zh) 基于pfr的bios固件恢复方法、***、终端及存储介质
CN105677409A (zh) 一种***升级方法及装置
CN102314355A (zh) 电子书阅读器及其升级方法
CN109375953B (zh) 一种操作***启动方法及装置
CN113885907A (zh) 一种固件升级***及方法
CN103455750A (zh) 一种嵌入式设备的高安验证方法及装置
CN103119559A (zh) 信息生成***及其方法
CN111679846B (zh) 应用的更新方法和装置
CN110493644B (zh) 电视应用升级方法、电视终端及服务器
CN111385613B (zh) 一种电视***修复方法、存储介质及应用服务器
CN111984287A (zh) 设备升级方法及***
US20060020819A1 (en) Information processing apparatus and system startup method
CN108595292B (zh) 一种***的优化方法、移动终端及计算机存储介质
CN110928734A (zh) 一种初始化bios选项的方法、装置、设备及存储介质
CN114625399A (zh) ***升级方法及相关装置、设备和存储介质
CN112650513A (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