程序的更新方法以及更新系统技术方案

技术编号:32561612 阅读:25 留言:0更新日期:2022-03-09 16:45
本发明专利技术提供程序的更新方法以及更新系统,该更新系统包括:第1服务器,存储控制程序;第2服务器,存储共通程序;差分提取装置,生成共通程序与控制程序的差分数据;以及重新编程工具,向搭载更新对象的ECU的车辆发送差分数据。差分提取装置按每个检索单位,以检索范围为对象来对在共通程序中是否包含控制程序的检索对象数据进行检索,生成差分数据。检索范围例如包括检索对象的数据在控制程序中的地址以及比该地址靠后方的地址。在共通程序的开头区域设置有偏移区域。域设置有偏移区域。域设置有偏移区域。

【技术实现步骤摘要】
程序的更新方法以及更新系统


[0001]本公开涉及程序的更新方法以及更新系统。

技术介绍

[0002]例如,公知有如下方法:在更新控制装置等的程序的情况下,并不是将更新程序(新文件)的全部数据发送至更新对象的控制装置,而是生成更新程序与成为基础的程序(旧文件)的差分数据,并将该差分数据发送至更新对象的控制装置。作为差分数据的生成手法,例如在日本特开2003-337723中公开了一种从新文件的开头起按规定数据单位(例如1字节单位)将数据与旧文件依次进行比较来生成差分数据的手法(参照日本特开2003-337723)。
[0003]这里,若将旧文件的整个范围作为对象来对检索对象的数据(检索对象数据)进行检索,则存在处理需要大量的时间的可能性。鉴于此,存在对于旧文件设定检索范围的情况。在旧文件中,例如有时将重点放到比检索对象数据在新文件上的地址靠后方的地址来设定检索范围。这样一来,例如在进行程序追加的情况下,因在比自身靠前方的地址追加了程序而在新文件中可能存在位于比旧文件中的地址靠后方的数据。换言之,由于这样的数据在旧文件中位于比新文件中的地址靠前方,所以脱离检索对象,导致被作为差分而提取。若存在大量的这样的数据,则差分数据的容量变大,存在程序的更新所需时间增加的可能性。

技术实现思路

[0004]本公开是为了解决上述课题而完成的,其目的在于,在使用了差分数据的程序的更新中抑制差分数据的容量增加。
[0005]本公开所涉及的程序的更新方法是从第1装置向第2装置发送第1程序与第2程序的差分数据、并基于上述差分数据来将安装于第2装置的控制程序更新为第2程序的程序的更新方法。该更新方法在第1装置中包括:取得第1程序的步骤;取得第2程序,并以检索范围为对象来对第1程序中是否包含按检索单位分割的检索对象数据进行检索的步骤;当第1程序中包含检索对象数据的情况下,不提取该检索对象数据作为差分,当第1程序中不包含检索对象数据的情况下,提取该检索对象数据作为差分来生成差分数据的步骤;以及向第2装置输出所生成的差分数据的步骤。检索范围在第1程序中被设定为和位于比与第2程序的检索对象数据相同的地址靠前方的地址的数据相比,包括更多位于后方的地址的数据。在第1程序的开头区域设置有不包含作为程序的数据的偏移区域。
[0006]本公开的其他方面所涉及的更新系统是将第1程序与第2程序的差分数据发送至更新对象装置、并基于上述差分数据来将安装于更新对象装置的控制程序更新为第2程序的更新系统。更新系统具备:第1存储装置,存储第1程序;第2存储装置,存储第2程序;以及差分提取装置,生成上述差分数据并发送至更新对象装置。差分提取装置从第1存储装置以及第2存储装置分别取得第1程序以及第2程序,按每个检索单位以检索范围为对象来检索
第1程序中是否包含第2程序的检索对象数据,在第1程序中包含检索对象数据的情况下,不提取该检索对象数据作为差分,在第1程序中不包含检索对象数据的情况下,提取该检索对象数据作为差分来生成差分数据。检索范围在第1程序中被设定为和位于比与第2程序的检索对象数据相同的地址靠前方的地址的数据相比,包括更多位于后方的地址的数据。在第1程序的开头区域设置有不包含作为程序的数据的偏移区域。
[0007]根据上述结构,检索范围在第1程序中被设定为和位于比与第2程序的检索对象数据相同的地址靠前方的地址的数据相比,包括更多位于后方的地址的数据。而且,在第1程序的开头区域设置有不包含作为程序的数据的偏移区域。通过设置偏移区域,例如即便在进行程序追加并因此存在地址被变更了的数据的情况下,也可抑制第2程序中的该数据的地址比第1程序中的该数据的地址位于靠后方的情况。因而,检索该数据的情况下的检索范围能够包含该数据。因此,能够抑制将检索对象数据提取为差分这一情况,能够抑制差分数据的容量增加。
[0008]在某个实施方式中,第1程序是为了更新控制程序而安装于第2装置且不被更新的程序。
[0009]根据上述结构,由于在差分数据的生成中,使用作为不被更新的程序的第1程序,所以能够抑制处理复杂化。
[0010]在某个实施方式中,上述控制程序是第1程序。第1程序是第2程序的前1个版本的程序。
[0011]根据上述结构,差分数据是作为第2程序的前1个版本的第1程序与第2程序的差分。因此,由于差分数据是1次更新量的容量,所以能够使差分数据的容量比较小。
[0012]在某个实施方式中,第1程序是第2程序的前1个版本的程序,在从第1程序向第2程序的更新中包括数据的追加的情况下,在第2程序中以缩小偏移区域的方式追加上述数据。
[0013]根据上述结构,在因程序的更新而追加数据的情况下,在第2程序中以缩小偏移区域的方式追加上述数据。通过以缩小偏移区域的方式追加数据,由此在第2程序中,位于比所追加的数据所处的地址靠后方的地址的数据的地址不被变更。另外,在第2程序中,位于比所追加的数据所处的地址靠前方的地址的数据的地址向前方侧移动。因此,在第1程序中的数据与第2程序中的数据的对应的数据彼此中,能够抑制第1程序中的数据的地址因数据的追加而成为比对应的第2程序中的数据的地址靠前方的地址。因此,即便因程序的更新而追加了数据,也能够抑制检索对象数据脱离检索范围。
[0014]在某个实施方式中,第1程序以及第2程序分别被分割为规定的数据尺寸的分割数据。分割数据的容量大于检索单位。检索范围在第1程序中包括位于与第2程序的包括检索对象数据的分割数据相同的地址的分割数据、以及位于比该分割数据靠后方的地址的分割数据。
[0015]根据上述结构,检索范围在第1程序中包括位于与第2程序的包括检索对象数据的分割数据相同的地址的分割数据以及位于比该分割数据靠后方的地址的分割数据。通过在第1程序的开头区域设置有偏移区域,即便在进行程序追加并因此存在地址被变更了的数据的情况下,也可抑制第2程序中的该数据的地址位于比第1程序中的该数据的地址靠后方。因此,能够使检索对象的数据包含在检索范围。因而,能够抑制检索对象的数据被提取为差分,能够抑制差分数据的容量增加。
[0016]在某个实施方式中,基于可能对于安装于第2装置的程序进行的设计变更的预测来设定偏移区域的容量。
[0017]根据上述结构,由于基于可能对于安装于第2装置的程序进行的设计变更的预测来设定偏移区域的容量,所以能够抑制设定过度的偏移区域。
[0018]根据本公开,在使用了差分数据的程序的更新中能够抑制差分数据的容量增加。
附图说明
[0019]以下,参照附图对本专利技术的示例性实施例的特征、优点、技术及工业重要性进行说明,在附图中相同的附图标记表示相同的构成要素,其中:
[0020]图1是简要地表示实施方式1所涉及的软件更新系统的整体结构的图。
[0021]图2是用于对差分提取的手法进行说明的图。
[0022]图3是用于对通过逻辑追加更新了控制程序的情况下的差分提取进行说明的图。
[0023]图4是用于对配合控制程序的更本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种程序的更新方法,从第1装置向第2装置发送第1程序与第2程序的差分数据,并基于所述差分数据将安装于所述第2装置的控制程序更新为所述第2程序,其中,在所述第1装置中包括如下步骤:取得所述第1程序的步骤;取得所述第2程序,并以检索范围为对象来对在所述第1程序中是否包含按检索单位分割的检索对象数据进行检索的步骤;当在所述第1程序包含所述检索对象数据的情况下,不提取该检索对象数据作为差分,当在所述第1程序不包含所述检索对象数据的情况下,提取该检索对象数据作为差分来生成差分数据的步骤;以及向所述第2装置输出所生成的所述差分数据的步骤,所述检索范围在所述第1程序中被设定为和位于比与所述第2程序的所述检索对象数据相同的地址靠前方的地址的数据相比,包括更多位于后方的地址的数据,在所述第1程序的开头区域设置有不包含作为程序的数据的偏移区域。2.根据权利要求1所述的程序的更新方法,其中,所述第1程序是为了更新所述控制程序而安装于所述第2装置且不被更新的程序。3.根据权利要求1所述的程序的更新方法,其中,所述控制程序是所述第1程序,所述第1程序是所述第2程序的前1个版本的程序。4.根据权利要求3所述的程序的更新方法,其中,当在从所述第1程序向所述第2程序的更新中包括数据的追加的情况下,在所述第2程序中以缩小所述偏移区域的方式追加所述数据。5.根据权利要求1~4中任一项所述的程序的更新方法,其中,所述第1程序以及所述第2程序分别被分割...

【专利技术属性】
技术研发人员:藤井正伦
申请(专利权)人:丰田自动车株式会社
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1