CN115202708A - 更新方法、装置、介质及车辆 - Google Patents

更新方法、装置、介质及车辆 Download PDF

Info

Publication number
CN115202708A
CN115202708A CN202210834001.0A CN202210834001A CN115202708A CN 115202708 A CN115202708 A CN 115202708A CN 202210834001 A CN202210834001 A CN 202210834001A CN 115202708 A CN115202708 A CN 115202708A
Authority
CN
China
Prior art keywords
version
file
character string
version file
operation path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210834001.0A
Other languages
English (en)
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.)
Xiaomi Automobile Technology Co Ltd
Original Assignee
Xiaomi Automobile 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 Xiaomi Automobile Technology Co Ltd filed Critical Xiaomi Automobile Technology Co Ltd
Priority to CN202210834001.0A priority Critical patent/CN115202708A/zh
Publication of CN115202708A publication Critical patent/CN115202708A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及一种更新方法、装置、介质及车辆,其中,获取第一版本文件与第二版本文件的差异信息;依据所述差异信息,获取所述第二版本文件变更为所述第一版本文件的操作路径,所述操作路径具有所述第二版本文件变更为所述第一版本文件的最小编辑距离,所述编辑距离为文件元信息的偏移量;将所述操作路径存储为更新文件,通过不同版本文件的差异信息获取操作路径,将操作路径作为更新文件,能够最大限度的减少更新包的大小,减少更新过程中的流量消耗,减少了更新成本,提高更新效率。

Description

更新方法、装置、介质及车辆
技术领域
本公开涉及增量更新技术领域,尤其涉及一种更新方法、装置、介质及车辆。
背景技术
相关技术中,当需要对软件进行更新如对如对终端上的软件进行升级或者降级时,需要将软件整包下载至本地,才能进行更新,耗费时间长、消耗流量大。例如,自动驾驶技术研究越来越广泛,随着汽车行业的迅速发展,车辆本身配置不断增强,尤其体现在自动驾驶领域,各个智能驾驶厂商,研发了功能强大的智能驾驶软硬件、车载软件、算法,而这些都需要不断迭代更新,如果都采用上述整包更新的方法,更新效率低,成本高。
发明内容
为克服相关技术中存在的问题,本公开提供一种更新方法、装置、介质及车辆。
根据本公开实施例的第一方面,提供一种更新方法,包括:获取第一版本文件与第二版本文件的差异信息;依据所述差异信息,获取所述第二版本文件变更为所述第一版本文件的操作路径,所述操作路径具有所述第二版本文件变更为所述第一版本文件的最小编辑距离,所述编辑距离为文件元信息的偏移量;将所述操作路径存储为更新文件。
可选的,所述方法还包括:获取提交文件;当所述提交文件的版本号与指定文件的版本号不一致时,确定所述提交文件为所述第一版本文件及所述指定文件为所述第二版本文件。
可选的,所述获取第一版本文件与第二版本文件的差异信息,还包括:分别获取所述第一版本文件下的每一子文件、所述第二版本文件中的每一子文件;对于每一第一版本子文件,判断所述第一版本子文件的哈希值是否与对应的第二版本子文件的哈希值相同;当所述第一版本子文件的哈希值不与对应的第二版本子文件的哈希值相同,生成所述第一版本子文件的差异信息。
可选的,所述获取第一版本文件与第二版本文件的差异信息,包括:分别获取所述第一版本文件下的每一字符串、所述第二版本文件中的每一字符串;对于每一第一版本字符串,获取所述第一版本字符串与对应的第二版本字符串之间的差异字符。
可选的,依据所述差异信息,获取所述第二版本文件变更为所述第一版本文件的操作路径,包括:依据所述差异字符,使用预设的优化算法对所述第二版本字符串变更为第一版本字符串的操作序列进行迭代,所述迭代的结束条件为编辑距离最小;将所述优化算法输出的操作序列确定为所述操作路径。
根据本公开实施例的第二方面,提供一种更新装置,包括:差异信息获取模块,被配置为获取第一版本文件与第二版本文件的差异信息;操作路径获取模块,被配置为依据所述差异信息,获取所述第二版本文件变更为所述第一版本文件的操作路径,所述操作路径具有所述第二版本文件变更为所述第一版本文件的最小编辑距离,所述编辑距离为文件元信息的偏移量;更新文件生成模块,被配置为将所述操作路径存储为更新文件。
可选的,所述差异信息获取模块,具体被配置为分别获取所述第一版本文件下的每一字符串、所述第二版本文件中的每一字符串;对于每一第一版本字符串,获取所述第一版本字符串与对应的第二版本字符串之间的差异字符。
可选的,所述操作路径获取模块,具体被配置为依据所述差异字符,使用预设的优化算法对所述第二版本字符串变更为第一版本字符串的操作序列进行迭代,所述迭代的结束条件为编辑距离最小;将所述优化算法输出的操作序列确定为所述操作路径。
根据本公开实施例的第三方面,提供一种更新装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:本公开第一方面所提供的更新方法的步骤。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的更新方法的步骤。
根据本公开实施例的第五方面,提供一种车辆,所述车辆用于执行本公开第一方面所提供的更新方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:通过不同版本文件的差异信息获取操作路径,将操作路径作为更新文件,能够最大限度的减少更新包的大小,减少更新过程中的流量消耗,减少了更新成本,提高更新效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种更新方法的流程图。
图2是根据一示例性实施例示出的一种更新装置的框图。
图3是根据一示例性实施例示出的一种更新装置的框图。
图4是一示例性实施例示出的一种车辆的功能框图示意图。
图5是一示例性实施例示出的一种更新装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
需要说明的是,本申请中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
图1是根据一示例性实施例示出的一种更新方法的流程图,如图1所示,所述更新方法用于终端中,包括以下步骤。
在步骤S101中,获取第一版本文件与第二版本文件的差异信息。
获取原文件,即第二版本文件,获取需要更新的文件,即第一版本文件,获取第一版本文件与第二版本文件的差异信息,所述差异信息表示了第一版本文件与第二版本文件之间的不同,示例的,对比所述第一版本文件与所述第二版本文件,获取不同的字符。
可选的,所述方法还包括:获取提交文件;当所述提交文件的版本号与指定文件的版本号不一致时,确定所述提交文件为所述第一版本文件及所述指定文件为所述第二版本文件。
终端获取一个提交文件,提交文件是用于对用户终端的软件进行升级或降级的文件,对于升级所使用的提交文件可以采用以下步骤生成:研发人员提交代码、配置等文件至制品库,制品库在开发阶段为使用各种开发语言的微服务开发者提供依赖解析的唯一入口。制品是指软件交付的成果性产物,通常是可运行的二进制形式,因此制品库通常也被称之为二进制制品仓库。在制品库中对提交的文件进行打包,生成软件整包,对软件整包进行测试。在实施环境中对整包进行测试完成后,将整包作为提交文件上传到终端上。对于上传终端的每一提交文件,终端为其生成唯一指定版本号。
终端获取一个提交文件后,获取该文件的版本号,再获取指定文件的版本号,指定文件是指用户终端上当前所使用的软件,获取该文件的版本号。
判断提交文件的版本号是否与指定文件的版本号不一致,
当所述提交文件的版本号与指定文件的版本号不一致时,说明二者确实是不相同的两个文件,可以确定所述提交文件为所述第一版本文件及所述指定文件为所述第二版本文件。
可选的,所述获取第一版本文件与第二版本文件的差异信息,还包括:分别获取所述第一版本文件下的每一子文件、所述第二版本文件中的每一子文件;对于每一第一版本子文件,判断所述第一版本子文件的哈希值是否与对应的第二版本子文件的哈希值相同;当所述第一版本子文件的哈希值不与对应的第二版本子文件的哈希值相同,生成所述第一版本子文件的差异信息。
对于软件更新包来说,通常包含了多个子文件,一次更新可能指改变里面的部分子文件的内容。因此,可以分别获取所述第一版本文件下的每一子文件、所述第二版本文件中的每一子文件;
对于每一新版本子文件,找到与它对应的第二版本文件中的子文件,对应关系可是名字相同、路径相同。计算第一版本子文件的哈希值和第二版本子文件的哈希值,判断二者是否相同,如果相同则说明这一子文件在第一版本、第二版本中相同,不存在修改,如果不同,则说明该子文件有变化,需要生成差异信息。示例的,第一版本包括一个名为A的文件1,在第二版本文件中查找同样名为A的文件如文件2,通过MD5算法(MD5 Message-DigestAlgorithm,MD5信息摘要算法)计算得到的文件1和文件2的哈希值,判断二者是否相同。如果不同,则说明第一版本中的A文件相对于用户终端中的文件,发生了更改,需要生成差异信息以进行更新。
可选的,所述获取第一版本文件与第二版本文件的差异信息,包括:分别获取所述第一版本文件下的每一字符串、所述第二版本文件中的每一字符串;对于每一第一版本字符串,获取所述第一版本字符串与对应的第二版本字符串之间的差异字符。
在本申请的一个实施例中,第一版本文件的差异信息采用以下方式获取:
获取第一版本文件中的每一个字符串,字符串是由数字、字母、下划线组成的一串字符,在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字),通常以字符串的整体作为操作对象。
同样的,再获取第一版本文件对应的第二版本文件中的每一个字符串,
将每一个第一版本字符串与对应第二版本字符串进行比较,对应关系可以是字符串所在位置相同,例如第一版本的字符串位于第一行的首位,则获取第二版本中位于第一行首位的字符串。将二者进行比较,如第一版本的字符串为“ABC”,第一版本的字符串为“ACD”,进行比较得到二者在字符上的不同,该不同可以表示为映射矩阵形式如(2,B C,3,CD),这一不同就是差异信息。
在步骤S102中,依据所述差异信息,获取所述第二版本文件变更为所述第一版本文件的操作路径,所述操作路径具有所述第二版本文件变更为所述第一版本文件的最小编辑距离,所述编辑距离为文件元信息的偏移量。
基于所述差异信息,获取所述第二版本文件变更为第一版本文件需要进行的操作的序列,本申请获取具有最小编辑距离的操作序列,将这一操作序列称为操作路径。
示例,如上述字符串为“ABC”变为“ACD”,操作序列可以是:先删除第二位的B,再在C后插入一个D,也可以是:将第二位B置换为C,再将第三位C置换为D。判断每一操作序列的编辑距离,所述编辑距离指文件元信息的偏移量,文件元信息指字符串在计算机系统中的底层编码方式如二进制、十进制等。文件元信息的偏移量指一个字符的元信息变为另一字符的元信息的改变量如“B”的二进制编码为01100010,而“C”的二进制编码为01100011,则“B”到“C”的编辑距离就是“01100011”减去“01100010”得到的值如“1”。
计算操作序列的编辑距离中每一操作的编辑距离,相加得到操作序列的编辑距离,如操作序列:先删除第二位的B,再在C后插入一个D,将删除B的编辑距离与插入D的编辑距离相加就是该操作序列的编辑距离。
可选的,依据所述差异信息,获取所述第二版本文件变更为所述第一版本文件的操作路径,包括:依据所述差异字符,使用预设的优化算法对所述第二版本字符串变更为第一版本字符串的操作序列进行迭代,所述迭代的结束条件为编辑距离最小;将所述优化算法输出的操作序列确定为所述操作路径。
在本申请一个实施例中,得到差异信息后获取操作路径的方式可以是:使用预设的优化算法对第二版本字符串依据差异信息变更为第一版本字符串的操作序列进行迭代更新,该优化算法是一种寻找优化路径的概率型算法,迭代更新直到编辑距离最小,将此时输出的操作序列是一个最优组合,其拥有最小的编辑距离。示例的,“ABC”变为“ACD”,依据差异信息需要对第二位的“B”和第三位的“C”进行更改,使用迭代算法对这两个位置操作进行迭代更新,获得最佳路径,如:将第二位B置换为C,再将第三位C置换为D。
将所述优化算法输出的操作序列确定为所述操作路径。
在步骤S103中,将所述操作路径存储为更新文件。
将得到的操作路径存储为更新文件,用户文件可以依据该文件生成新版本的文件,以实现增量更新。
示例的,当第一版本文件为对车辆进行更新的目标文件时,第二版本文件为车端当前使用的软件的文件时,对比第一版本的子文件与第二版本子文件的MD5值,获取第一版本的改变文件,获取每一改变文件的所有操作路径,将所有操作路径进行封装打包成OTA(Over-the-Air Technology,空中下载技术)包,当车端进行升级时间,终端根据下发OTA包,车端获取到OTA后先进行文件解析,获取变更映射文件列表,车端根据旧版文件与映射文件生成新版文件,然后进行编译打包,打包完成后将升级包下发到车端电子控制单元(Electronic Control Unit)中进行软件/驱动以及算法更新,更新完成后将软件重新启动。
上述更新方法,通过不同版本文件的差异信息获取操作路径,将操作路径作为更新文件,能够最大限度的减少更新包的大小,减少更新过程中的流量消耗,减少了更新成本,提高更新效率。
通过上述更新方法,用户终端的产品可以高效快速迭代、提升产品体验,而且所述方法可以通过远程快速的通过数据包的形式完成软件缺陷的修复,大大避免了持续数月的进厂召回带来的风险。
图2是根据一示例性实施例示出的一种更新装置框图。参照图2,该装置包括差异信息获取模块21,操作路径获取模块22和更新文件生成模块23。
差异信息获取模块21,置为获取第一版本文件与第二版本文件的差异信息;
操作路径获取模块22,置为依据所述差异信息,获取所述第二版本文件变更为所述第一版本文件的操作路径,所述操作路径具有所述第二版本文件变更为所述第一版本文件的最小编辑距离,所述编辑距离为文件元信息的偏移量。
更新文件生成模块23,置为将所述操作路径存储为更新文件。
可选的,所述差异信息获取模块,具体被配置为分别获取所述第一版本文件下的每一字符串、所述第二版本文件中的每一字符串;对于每一第一版本字符串,获取所述第一版本字符串与对应的第二版本字符串之间的差异字符。
可选的,所述操作路径获取模块,具体被配置为依据所述差异字符,使用预设的优化算法对所述第二版本字符串变更为第一版本字符串的操作序列进行迭代,所述迭代的结束条件为编辑距离最小;将所述优化算法输出的操作序列确定为所述操作路径。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的更新方法的步骤。
图3是根据一示例性实施例示出的一种用于实现上述更新方法的装置300的框图。例如,装置300可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图3,装置300可以包括以下一个或多个组件:第一处理组件302,第一存储器304,第一电源组件306,第一多媒体组件308,第一音频组件310,第一输入/输出接口312,传感器组件314,以及通信组件316。
第一处理组件302通常控制装置300的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。第一处理组件302可以包括一个或多个第一处理器320来执行指令,以完成上述的方法的全部或部分步骤。此外,第一处理组件302可以包括一个或多个模块,便于第一处理组件302和其他组件之间的交互。例如,第一处理组件302可以包括多媒体模块,以方便多媒体组件308和处理组件302之间的交互。
第一存储器304被配置为存储各种类型的数据以支持在装置300的操作。这些数据的示例包括用于在装置300上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。第一存储器304可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
第一电源组件306为装置300的各种组件提供电力。电源组件306可以包括电源管理系统,一个或多个电源,及其他与为装置300生成、管理和分配电力相关联的组件。
多媒体组件308包括在所述装置300和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件308包括一个前置摄像头和/或后置摄像头。当装置300处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件310被配置为输出和/或输入音频信号。例如,音频组件310包括一个麦克风(MIC),当装置300处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在第一存储器304或经由通信组件316发送。在一些实施例中,音频组件310还包括一个扬声器,用于输出音频信号。
第一输入/输出接口312为第一处理组件302和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件314包括一个或多个传感器,用于为装置300提供各个方面的状态评估。例如,传感器组件314可以检测到装置300的打开/关闭状态,组件的相对定位,例如所述组件为装置300的显示器和小键盘,传感器组件314还可以检测装置300或装置300一个组件的位置改变,用户与装置300接触的存在或不存在,装置300方位或加速/减速和装置300的温度变化。传感器组件314可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件314还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件314还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件316被配置为便于装置300和其他设备之间有线或无线方式的通信。装置300可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件316经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件316还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置300可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述更新方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的第一存储器304,上述指令可由装置300的第一处理器320执行以完成上述更新方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
上述装置除了可以是独立的电子设备外,也可是独立电子设备的一部分,例如在一种实施例中,该装置可以是集成电路(Integrated Circuit,IC)或芯片,其中该集成电路可以是一个IC,也可以是多个IC的集合;该芯片可以包括但不限于以下种类:GPU(GraphicsProcessing Unit,图形处理器)、CPU(Central Processing Unit,中央处理器)、FPGA(Field Programmable Gate Array,可编程逻辑阵列)、DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、SOC(System on Chip,SoC,片上系统或系统级芯片)等。上述的集成电路或芯片中可以用于执行可执行指令(或代码),以实现上述的更新方法。其中该可执行指令可以存储在该集成电路或芯片中,也可以从其他的装置或设备获取,例如该集成电路或芯片中包括处理器、存储器,以及用于与其他的装置通信的接口。该可执行指令可以存储于该存储器中,当该可执行指令被处理器执行时实现上述的更新方法;或者,该集成电路或芯片可以通过该接口接收可执行指令并传输给该处理器执行,以实现上述的更新方法。
参阅图4,图4是一示例性实施例示出的一种车辆400的功能框图示意图。车辆400可以被配置为完全或部分自动驾驶模式。例如,车辆400可以通过感知系统420获取其周围的环境信息,并基于对周边环境信息的分析得到自动驾驶策略以实现完全自动驾驶,或者将分析结果呈现给用户以实现部分自动驾驶。
车辆400可包括各种子系统,例如,信息娱乐系统410、感知系统420、决策控制系统430、驱动系统440以及计算平台450。可选的,车辆400可包括更多或更少的子系统,并且每个子系统都可包括多个部件。另外,车辆400的每个子系统和部件可以通过有线或者无线的方式实现互连。
在一些实施例中,信息娱乐系统410可以包括通信系统411,娱乐系统412以及导航系统413。
通信系统411可以包括无线通信系统,无线通信系统可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统可使用3G蜂窝通信,例如CDMA、EVD0、GSM/GPRS,或者4G蜂窝通信,例如LTE。或者5G蜂窝通信。无线通信系统可利用WiFi与无线局域网(wireless local area network,WLAN)通信。在一些实施例中,无线通信系统可利用红外链路、蓝牙或ZigBee与设备直接通信。其他无线协议,例如各种车辆通信系统,例如,无线通信系统可包括一个或多个专用短程通信(dedicated short range communications,DSRC)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。
娱乐系412可以包括显示设备,麦克风和音响,用户可以基于娱乐系统在车内收听广播,播放音乐;或者将手机和车辆联通,在显示设备上实现手机的投屏,显示设备可以为触控式,用户可以通过触摸屏幕进行操作。
在一些情况下,可以通过麦克风获取用户的语音信号,并依据对用户的语音信号的分析实现用户对车辆400的某些控制,例如调节车内温度等。在另一些情况下,可以通过音响向用户播放音乐。
导航系统413可以包括由地图供应商所提供的地图服务,从而为车辆400提供行驶路线的导航,导航系统413可以和车辆的全球定位系统421、惯性测量单元422配合使用。地图供应商所提供的地图服务可以为二维地图,也可以是高精地图。
感知系统420可包括感测关于车辆400周边的环境的信息的若干种传感器。例如,感知系统420可包括全球定位系统421(全球定位系统可以是GPS系统,也可以是北斗系统或者其他定位系统)、惯性测量单元(inertial measurement unit,IMU)422、激光雷达423、毫米波雷达424、超声雷达425以及摄像装置426。感知系统420还可包括被监视车辆400的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是车辆400的安全操作的关键功能。
全球定位系统421用于估计车辆400的地理位置。
惯性测量单元422用于基于惯性加速度来感测车辆400的位姿变化。在一些实施例中,惯性测量单元422可以是加速度计和陀螺仪的组合。
激光雷达423利用激光来感测车辆400所位于的环境中的物体。在一些实施例中,激光雷达423可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。
毫米波雷达424利用无线电信号来感测车辆400的周边环境内的物体。在一些实施例中,除了感测物体以外,毫米波雷达424还可用于感测物体的速度和/或前进方向。
超声雷达425可以利用超声波信号来感测车辆400周围的物体。
摄像装置426用于捕捉车辆400的周边环境的图像信息。摄像装置426可以包括单目相机、双目相机、结构光相机以及全景相机等,摄像装426获取的图像信息可以包括静态图像,也可以包括视频流信息。
决策控制系统430包括基于感知系统420所获取的信息进行分析决策的计算系统431,决策控制系统430还包括对车辆400的动力系统进行控制的整车控制器432,以及用于控制车辆400的转向系统433、油门434和制动系统435。
计算系统431可以操作来处理和分析由感知系统420所获取的各种信息以便识别车辆400周边环境中的目标、物体和/或特征。目标可以包括行人或者动物,物体和/或特征可包括交通信号、道路边界和障碍物。计算系统431可使用物体识别算法、运动中恢复结构(Structure from Motion,SFM)算法、视频跟踪等技术。在一些实施例中,计算系统431可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。计算系统431可以将所获取的各种信息进行分析并得出对车辆的控制策略。
整车控制器432可以用于对车辆的动力电池和引擎441进行协调控制,以提升车辆400的动力性能。
转向系统433可操作来调整车辆400的前进方向。例如在一个实施例中可以为方向盘系统。
油门434用于控制引擎6441的操作速度并进而控制车辆400的速度。
制动系统435用于控制车辆400减速。制动系统435可使用摩擦力来减慢车轮444。在一些实施例中,制动系统435可将车轮444的动能转换为电流。制动系统435也可采取其他形式来减慢车轮444转速从而控制车辆400的速度。
驱动系统440可包括为车辆400提供动力运动的组件。在一个实施例中,驱动系统440可包括引擎441、能量源442、传动系统443和车轮444。引擎441可以是内燃机、电动机、空气压缩引擎或其他类型的引擎组合,例如汽油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎441将能量源442转换成机械能量。
能量源442的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源442也可以为车辆400的其他系统提供能量。
传动系统443可以将来自引擎441的机械动力传送到车轮444。传动系统443可包括变速箱、差速器和驱动轴。在一个实施例中,传动系统443还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮444的一个或多个轴。
车辆400的部分或所有功能受计算平台450控制。计算平台450可包括至少一个第二处理器451,第二处理器451可以执行存储在例如第二存储器452这样的非暂态计算机可读介质中的指令453。在一些实施例中,计算平台450还可以是采用分布式方式控制车辆400的个体组件或子系统的多个计算设备。
第二处理器451可以是任何常规的处理器,诸如商业可获得的CPU。可替换地,第二处理器451还可以包括诸如图像处理器(Graphic Process Unit,GPU),现场可编程门阵列(FieldProgrammable Gate Array,FPGA)、片上系统(Sysem on Chip,SOC)、专用集成芯片(Application Specific Integrated Circuit,ASIC)或它们的组合。尽管图4功能性地图示了处理器、存储器、和在相同块中的计算机的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机、或存储器实际上可以包括可以或者可以不存储在相同的物理外壳内的多个处理器、计算机、或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机的外壳内的其它存储介质。因此,对处理器或计算机的引用将被理解为包括对可以或者可以不并行操作的处理器或计算机或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,处理器只执行与特定于组件的功能相关的计算。
在本公开实施方式中,第二处理器451可以执行上述的更新方法。
在此处所描述的各个方面中,第二处理器451可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
在一些实施例中,第二存储器452可包含指令453(例如,程序逻辑),指令453可被处理器451执行来执行车辆400的各种功能。存储器452也可包含额外的指令,包括向信息娱乐系统410、感知系统420、决策控制系统430、驱动系统440中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
除了指令453以外,第二存储器452还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在车辆400在自主、半自主和/或手动模式中操作期间被车辆400和计算平台450使用。
计算平台450可基于从各种子系统(例如,驱动系统440、感知系统420和决策控制系统430)接收的输入来控制车辆400的功能。例如,计算平台450可利用来自决策控制系统430的输入以便控制转向系统433来避免由感知系统420检测到的障碍物。在一些实施例中,计算平台450可操作来对车辆400及其子系统的许多方面提供控制。
可选地,上述这些组件中的一个或多个可与车辆400分开安装或关联。例如,第二存储器452可以部分或完全地与车辆400分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图4不应理解为对本公开实施例的限制。
在道路行进的自动驾驶汽车,如上面的车辆400,可以识别其周围环境内的物体以确定对当前速度的调整。物体可以是其它车辆、交通控制设备、或者其它类型的物体。在一些示例中,可以独立地考虑每个识别的物体,并且基于物体的各自的特性,诸如它的当前速度、加速度、与车辆的间距等,可以用来确定自动驾驶汽车所要调整的速度。
可选地,车辆400或者与车辆400相关联的感知和计算设备(例如计算系统431、计算平台450)可以基于所识别的物体的特性和周围环境的状态(例如,交通、雨、道路上的冰、等等)来预测识别的物体的行为。可选地,每一个所识别的物体都依赖于彼此的行为,因此还可以将所识别的所有物体全部一起考虑来预测单个识别的物体的行为。车辆400能够基于预测的识别的物体的行为来调整它的速度。换句话说,自动驾驶汽车能够基于所预测的物体的行为来确定车辆将需要调整到(例如,加速、减速、或者停止)何种稳定状态。在这个过程中,也可以考虑其它因素来确定车辆400的速度,诸如,车辆400在行驶的道路中的横向位置、道路的曲率、静态和动态物体的接近度等等。
除了提供调整自动驾驶汽车的速度的指令之外,计算设备还可以提供修改车辆400的转向角的指令,以使得自动驾驶汽车遵循给定的轨迹和/或维持与自动驾驶汽车附近的物体(例如,道路上的相邻车道中的车辆)的安全横向和纵向距离。
上述车辆400可以为各种类型的行驶工具,例如,轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、娱乐车、火车等等,本公开实施例不做特别的限定。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的更新方法的代码部分。
图5是根据一示例性实施例示出的一种用于实现上述更新方法的装置500的框图。例如,装置500可以被提供为一服务器。参照图5,装置500包括第三处理组件522,其进一步包括一个或多个处理器,以及由第三存储器532所代表的存储器资源,用于存储可由第三处理组件522的执行的指令,例如应用程序。第三存储器532中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,第三处理组件522被配置为执行指令,以执行上述更新方法
装置500还可以包括一个第三电源组件526被配置为执行装置500的电源管理,一个有线或无线网络接口550被配置为将装置500连接到网络,和一个第三输入/输出接口558。装置500可以操作基于存储在存储器532的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (11)

1.一种更新方法,其特征在于,包括:
获取第一版本文件与第二版本文件的差异信息;
依据所述差异信息,获取所述第二版本文件变更为所述第一版本文件的操作路径,所述操作路径具有所述第二版本文件变更为所述第一版本文件的最小编辑距离,所述编辑距离为文件元信息的偏移量;
将所述操作路径存储为更新文件。
2.根据权利要求1所述的更新方法,其特征在于,所述方法还包括:
获取提交文件;
当所述提交文件的版本号与指定文件的版本号不一致时,确定所述提交文件为所述第一版本文件及所述指定文件为所述第二版本文件。
3.根据权利要求1所述的更新方法,其特征在于,所述获取第一版本文件与第二版本文件的差异信息,还包括:
分别获取所述第一版本文件下的每一子文件、所述第二版本文件中的每一子文件;
对于每一第一版本子文件,判断所述第一版本子文件的哈希值是否与对应的第二版本子文件的哈希值相同;
当所述第一版本子文件的哈希值不与对应的第二版本子文件的哈希值相同,生成所述第一版本子文件的差异信息。
4.根据权利要求1所述的更新方法,其特征在于,所述获取第一版本文件与第二版本文件的差异信息,包括:
分别获取所述第一版本文件下的每一字符串、所述第二版本文件中的每一字符串;
对于每一第一版本字符串,获取所述第一版本字符串与对应的第二版本字符串之间的差异字符。
5.根据权利要求4所述的更新方法,其特征在于,依据所述差异信息,获取所述第二版本文件变更为所述第一版本文件的操作路径,包括:
依据所述差异字符,使用预设的优化算法对所述第二版本字符串变更为第一版本字符串的操作序列进行迭代,所述迭代的结束条件为编辑距离最小;
将所述优化算法输出的操作序列确定为所述操作路径。
6.一种更新装置,其特征在于,包括:
差异信息获取模块,被配置为获取第一版本文件与第二版本文件的差异信息;
操作路径获取模块,被配置为依据所述差异信息,获取所述第二版本文件变更为所述第一版本文件的操作路径,所述操作路径具有所述第二版本文件变更为所述第一版本文件的最小编辑距离,所述编辑距离为文件元信息的偏移量;
更新文件生成模块,被配置为将所述操作路径存储为更新文件。
7.根据权利要求6所述的更新装置,其特征在于,所述差异信息获取模块,具体被配置为分别获取所述第一版本文件下的每一字符串、所述第二版本文件中的每一字符串;对于每一第一版本字符串,获取所述第一版本字符串与对应的第二版本字符串之间的差异字符。
8.根据权利要求7所述的更新装置,其特征在于,所述操作路径获取模块,具体被配置为依据所述差异字符,使用预设的优化算法对所述第二版本字符串变更为第一版本字符串的操作序列进行迭代,所述迭代的结束条件为编辑距离最小;将所述优化算法输出的操作序列确定为所述操作路径。
9.一种更新装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
实现权利要求1~5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时实现权利要求1~5中任一项所述方法的步骤。
11.一种车辆,其特征在于,所述车辆用于执行权利要求1~5中任一项所述的方法。
CN202210834001.0A 2022-07-14 2022-07-14 更新方法、装置、介质及车辆 Pending CN115202708A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210834001.0A CN115202708A (zh) 2022-07-14 2022-07-14 更新方法、装置、介质及车辆

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210834001.0A CN115202708A (zh) 2022-07-14 2022-07-14 更新方法、装置、介质及车辆

Publications (1)

Publication Number Publication Date
CN115202708A true CN115202708A (zh) 2022-10-18

Family

ID=83582167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210834001.0A Pending CN115202708A (zh) 2022-07-14 2022-07-14 更新方法、装置、介质及车辆

Country Status (1)

Country Link
CN (1) CN115202708A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140033188A1 (en) * 2012-07-26 2014-01-30 Microsoft Corporation System updates from cloud blob storage using vhd differentials
US20140304697A1 (en) * 2011-12-01 2014-10-09 Tencent Technology (Shenzhen) Company Limited Method and system for upgrading software
CN111522574A (zh) * 2020-03-04 2020-08-11 平安科技(深圳)有限公司 差分包生成方法及相关设备
US20200326930A1 (en) * 2019-04-12 2020-10-15 Dell Products, Lp System and Method for Modular Patch based Firmware Update
CN113094076A (zh) * 2021-03-16 2021-07-09 杭州电魂网络科技股份有限公司 基于版本控制的版本迭代方法、装置、设备及介质
CN113326058A (zh) * 2021-07-01 2021-08-31 苏州好玩友网络科技有限公司 一种应用的版本更新方法、装置、设备及介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140304697A1 (en) * 2011-12-01 2014-10-09 Tencent Technology (Shenzhen) Company Limited Method and system for upgrading software
US20140033188A1 (en) * 2012-07-26 2014-01-30 Microsoft Corporation System updates from cloud blob storage using vhd differentials
US20200326930A1 (en) * 2019-04-12 2020-10-15 Dell Products, Lp System and Method for Modular Patch based Firmware Update
CN111522574A (zh) * 2020-03-04 2020-08-11 平安科技(深圳)有限公司 差分包生成方法及相关设备
CN113094076A (zh) * 2021-03-16 2021-07-09 杭州电魂网络科技股份有限公司 基于版本控制的版本迭代方法、装置、设备及介质
CN113326058A (zh) * 2021-07-01 2021-08-31 苏州好玩友网络科技有限公司 一种应用的版本更新方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN114882464B (zh) 多任务模型训练方法、多任务处理方法、装置及车辆
CN114935334A (zh) 车道拓扑关系的构建方法、装置、车辆、介质及芯片
US20210404839A1 (en) Systems and methods for navigational map version management
CN114771539B (zh) 车辆变道决策方法、装置、存储介质及车辆
CN114842455B (zh) 障碍物检测方法、装置、设备、介质、芯片及车辆
CN115170630B (zh) 地图生成方法、装置、电子设备、车辆和存储介质
CN115297461B (zh) 数据交互方法、装置、车辆、可读存储介质及芯片
CN115203457B (zh) 图像检索方法、装置、车辆、存储介质及芯片
CN115164910B (zh) 行驶路径生成方法、装置、车辆、存储介质及芯片
CN114880408A (zh) 场景构建方法、装置、介质以及芯片
CN115202708A (zh) 更新方法、装置、介质及车辆
CN114937351A (zh) 车队控制方法、装置、存储介质、芯片、电子设备及车辆
CN114863717A (zh) 车位推荐方法、装置、存储介质及车辆
CN114973178A (zh) 模型训练方法、物体识别方法、装置、车辆及存储介质
CN114911630B (zh) 数据处理方法、装置、车辆、存储介质及芯片
CN114842454B (zh) 障碍物检测方法、装置、设备、存储介质、芯片及车辆
CN115221260B (zh) 数据处理方法、装置、车辆及存储介质
CN114821511B (zh) 杆体检测方法、装置、车辆、存储介质及芯片
US20230415570A1 (en) Vehicle control method and vehicle, non-transitory storage medium and chip
CN114789723B (zh) 车辆行驶控制方法、装置、车辆、存储介质及芯片
CN115042813B (zh) 车辆控制方法、装置、存储介质及车辆
CN117492782A (zh) 车辆升级方法、装置、车辆、存储介质及芯片
CN115080788A (zh) 音乐推送方法、装置、存储介质及车辆
CN115052019A (zh) 磁盘数据的上传方法、装置、车辆、存储介质及芯片
CN116543138A (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