一种数据传输系统、数据传输方法,智能车以及装置与流程

文档序号:24727976发布日期:2021-04-16 16:38阅读:102来源:国知局
一种数据传输系统、数据传输方法,智能车以及装置与流程

1.本申请涉及车辆网络技术领域,尤其涉及一种数据传输系统、数据传输方法,智能车以及装置。


背景技术:

2.汽车开放系统架构(automotive open system architecture,autosar),是由全球汽车制造商、部件供应商及电子软件系统公司联合建立,是一个开放的、标准化的软件架构。是对汽车技术开发一百多年来的经验总结。autosar定义了一系列系统服务接口,利用这些接口可以实现不同软件的兼容互通和互操作,简化了汽车软件的开发,方便软件在不同车型上的部署。
3.在autosar中,可以通过空中下载(over the air,ota)技术实现汽车内软件的升级。可以通过ota技术将云端服务器中的软件包下载到本地。由于汽车内包括多个电子控制单元(electronic control unit,ecu),多个ecu都有软件升级的需求,需要在多个ecu中的至少一个ecu上安装升级配置管理主控(update and configuration management master,ucm master)模块,在其它有软件升级需求的ecu上安装升级配置管理(update and configuration management,ucm)模块。通过ota技术将云端服务器中的软件包下载到安装有ucm master模块的ecu,再通过安装有ucm master模块的ecu将软件包分发给多个安装有ucm模块的ecu,以完成整车的软件升级。


技术实现要素:

4.本申请实施例提供一种数据传输系统,数据传输方法,智能车以及装置。通过本申请提供的方案,在通过ota技术实现车内软件升级的过程中,减少对主ecu的存储能力以及处理能力的依赖,提升升级的效率。
5.为达到上述目的,本申请实施例提供如下技术方案:
6.本申请第一方面提供一种数据传输系统,该数据传输系统包括空中下载ota服务器、主电子控制单元ecu和节点ecu。ota服务器,用于调用主ecu的第一接口。可以将接口理解为第一设备与第二设备之间的交互方法和规则。主ecu,用于响应于ota服务器调用第一接口,获取目标软件包的大小,本申请有时也将目标软件包简称为软件包,或者将目标软件包称为升级包或者软件升级包,软件包中包括用于节点ecu升级的数据。即ota服务器通过调用主ecu的第一接口,可以将目标软件包的大小向主ecu发送。主ecu,还用于调用节点ecu的第二接口。节点ecu,用于响应于主ecu调用第二接口,获取目标软件包的大小,并检查节点ecu的剩余存储空间,剩余存储空间不小于目标软件包的大小时,接收ota服务器发送的目标软件包。本申请提供的数据传输系统可以是autosar,当本申请提供的数据传输系统是autosar时,主ecu是指车内ecu中安装有ucm master模块的ecu,节点ecu是指车内ecu中安装有ucm模块的ecu,接口也可以理解为第一设备的第一模块与第二设备的第二模块之间的交互方法和规则。在本申请提供的方案中,ota服务器可以通过多种方式获知是否向第一
ecu发送第一ecu的软件包。由第一方面可知,第一方面提供的方案节点ecu的目标软件包由ota服务器直接发送给节点ecu,不再需要主ecu缓存节点ecu的软件包,也无需主ecu转发节点ecu的升级包,通过这样的方式,主ecu无需有较高的存储空间和处理性能。在通过ota技术实现车内软件升级的过程中,减少对主ecu的存储能力以及处理能力的依赖。
7.可选地,结合上述第一方面,在第一种可能的实施方式中,节点ecu,还用于向主ecu返回第一调用结果,第一调用结果包括第一参数值,第一参数值用于指示节点ecu的剩余存储空间不小于目标软件包的大小。主ecu,还用于获取到第一参数值时,调用ota服务器的第三接口。ota服务器,还用于响应于主ecu调用第三接口,向节点ecu发送目标软件包。由第一方面第一种可能的实施方式可知,给出了一种具体的方式使ota服务器获知直接向节点ecu发送目标软件包。可以通过在第一调用结果中增加第一参数值的方式,使ota服务器获知直接向节点ecu发送目标软件包。
8.可选地,结合上述第一方面第一种可能的实施方式,在第二种可能的实施方式中,第二接口是开始传输transferstart接口。transferstart接口是autosar中定义的接口。在第一方面第二种可能的实施方式中,在现有的autosar定义的transferstart接口的调用结果中增加一个参数,可以通过该参数指示ota服务器向节点ecu发送目标软件包。由第一方面第二种可能的实施方式可知,这种方案对现有的autosar规定的软件升级的流程改动很小,在节点ecu的transferstart接口的调用结果中增加一个参数,并将该参数反馈给ota服务器,使ota服务器获知可以进行分布式下载,将节点ecu的目标软件包直接发送给节点ecu,无需经过主ecu。
9.可选地,结合上述第一方面或第一方面第一种或第一方面第二种可能的实施方式,在第三种可能的实施方式中,节点ecu的数量为n,n为大于1的整数。主ecu,具体用于获取到n个第一参数值时,调用ota服务器的第三接口。由第一方面第三种可能的实施方式可知,当数据传输系统中包括多个节点ecu时,主ecu获取到多个节点ecu中的每个节点ecu的剩余存储空间均不小于各自的软件包的大小时,才调用ota服务器的第三接口,使ota服务器向节点ecu发送各自的软件包。ota服务器的第三接口被调用后,可以分别向每个节点ecu发送各自的软件包,也可以同时向多个节点ecu发送各自的软件包。通过第一方面第三种可能的实施方式可知,使主ecu提前获取所有的节点ecu的剩余存储空间是否都足够,当所有的节点ecu的剩余存储空间都足够存储各自的软件包时,再传输软件包,防止下载过程中由于部分节点ecu的资源不足导致升级失败,减少由此导致的用户流量消耗和资源浪费。此外,在这种实施方式中,可以将第二接口理解为本方案在autosar中新定义的一个接口,主ecu可以第一调用多个节点ecu的第二接口,一次获取多个第一调用结果。
10.可选地,结合上述第一方面或第一方面第一种或第一方面第二种可能的实施方式,在第四种可能的实施方式中,节点ecu的数量为n,n为大于1的整数。主ecu,具体用于获取到m个第一参数值时,不调用ota服务器的第三接口,m为小于n且大于1的整数。由第一方面第三种可能的实施方式可知,主ecu没有获取到多个节点ecu中的每个节点ecu的剩余存储空间都不小于各自的软件包大小时,就不再调用ota服务器的第三接口,即如果多个节点ecu中有部分节点ecu的剩余存储空间不足以存储其软件包时,ota服务器不向多个节点ecu中的任何一个节点ecu发送器软件包。防止下载过程中由于部分节点ecu的资源不足导致升级失败,减少由此导致的用户流量消耗和资源浪费。
11.可选地,结合上述第一方面,在第五种可能的实施方式中,主ecu,还用于响应于ota服务器调用第一接口,获取目标软件包的下载地址。节点ecu,还用于向主ecu返回第一调用结果,第一调用结果包括第一参数值,第一参数值用于指示节点ecu的剩余存储空间不小于目标软件包的大小。由第一方面第四种可能的实施方式可知,给出了一种具体的方式使ota服务器获知直接向节点ecu发送目标软件包,ota服务器可以向主ecu发送节点ecu的目标软件包的下载地址,当节点ecu的剩余存储空间足够存储其目标软件包时,主ecu向节点ecu发送下载地址,使节点ecu可以根据下载地址请求ota服务器发送该节点ecu的目标软件包。
12.可选地,结合上述第一方面第五种可能的实施方式,在第六种可能的实施方式中,第一接口是传输整车软件包transfervehiclepackage接口。transfervehiclepackage接口是autosar中定义的接口。第一方面第六种可能的实施方式中,本方案在现有的transfervehiclepackage接口中增加目标软件包的下载地址,使主ecu可以通过transfervehiclepackage接口获取到目标软件包的下载地址。给出了一种具体的基于autosar,实现ota服务器直接向节点ecu发送软件包的方式,增加方案的多样性。
13.可选地,结合上述第一方面第五种或第一方面第六种可能的实施方式,在第七种可能的实施方式中,节点ecu的数量为n,n为大于1的整数。主ecu,具体用于获取到n个第一参数值时,调用节点ecu的第四接口。由第一方面第七种可能的实施方式可知,当数据传输系统中包括多个节点ecu时,主ecu获取到多个节点ecu中的每个节点ecu的剩余存储空间均不小于各自的软件包的大小时,才调用节点ecu的第四接口,使节点ecu获取其软件包的下载地址。主ecu获取到多个节点ecu中的每个节点ecu的剩余存储空间均不小于各自的软件包的大小时,可以按照从ota处获取的发送软件包的顺序依次使每个节点ecu获取其软件包的下载地址,也可以同时向多个节点ecu发送各自的软件包的下载地址。由第一方面第七种可能的实施方式可知,当所有的节点ecu的剩余存储空间都足够存储各自的软件包时,再传输软件包,防止下载过程中由于部分节点ecu的资源不足导致升级失败,减少由此导致的用户流量消耗和资源浪费。
14.可选地,结合上述第一方面第五种或第一方面第六种可能的实施方式,在第八种可能的实施方式中,节点ecu的数量为n,n为大于1的整数。主ecu,具体用于获取到m个第一参数值时,不调用节点ecu的第四接口,m为小于n且大于1的整数。由第一方面第八种可能的实施方式可知,主ecu没有获取到多个节点ecu中的每个节点ecu的剩余存储空间都不小于各自的软件包大小时,就不再节点ecu的第四接口,即如果多个节点ecu中有部分节点ecu的剩余存储空间不足以存储其软件包时,主ecu不向多个节点ecu中的任何一个节点发送其软件包的下载地址,防止下载过程中由于部分节点ecu的资源不足导致升级失败,减少由此导致的用户流量消耗和资源浪费。
15.可选地,结合上述第一方面或第一方面第一种至第一方面第六种可能的实施方式,在第九种可能的实施方式中,数据传输系统是基于autosar的数据传输系统。
16.可选地,结合上述第一方面或第一方面第一种至第一方面第六种可能的实施方式,在第十种可能的实施方式中,节点ecu,还用于发送提示消息,所述提示消息用于指示所述节点ecu从ota服务器中下载所述目标软件包。
17.可选地,结合上述第一方面或第一方面第一种至第一方面第六种可能的实施方
式,在第十一种可能的实施方式中,主ecu,还用于发送提示消息,提示消息用于指示节点ecu从ota服务器中下载目标软件包。
18.本申请第二方面提供一种空中下载ota服务器,ota服务器包括升级配置管理ucm模块,ucm模块,用于调用主ecu的第一接口,以使主ecu响应于ota服务器调用第一接口,获取目标软件包的大小,并调用节点ecu的第二接口,以使节点ecu响应于主ecu调用第二接口,获取目标软件包的大小,并检查节点ecu的剩余存储空间,剩余存储空间不小于目标软件包的大小时,接收ota服务器发送的目标软件包。
19.可选地,结合上述第二方面,在第一种可能的实施方式中,ucm模块,还用于响应于主ecu调用ucm模块的第三接口,向节点ecu发送目标软件包,第三接口是主ecu在获取到第一参数值时调用的ucm模块的接口,第一参数值是节点ecu向主ecu返回的第一调用结果中包括的参数值,第一参数值用于指示节点ecu的剩余存储空间不小于目标软件包的大小。
20.可选地,结合上述第二方面,在第二种可能的实施方式中,ucm模块,还用于调用主ecu的第一接口,以使主ecu响应于ota服务器调用第一接口,获取目标软件包的下载地址,以使节点ecu响应于主ecu调用第四接口,获取目标软件包的下载地址,并调用ota服务器的第五接口。ucm模块,还用于响应于节点ecu调用ucm模块的第五接口,接收目标软件包的下载地址,并根据下载地址向节点ecu发送目标软件包。
21.本申请第三方面提供一种主电子控制单元ecu,主ecu包括升级配置管理主控ucm master模块,ucm master模块,用于响应于ota服务器调用ucm master模块的第一接口,获取目标软件包的大小。ucm master模块,还用于调用节点ecu的第二接口,以使节点ecu响应于第二接口被调用,获取目标软件包的大小,并检查节点ecu的剩余存储空间,剩余存储空间不小于目标软件包的大小时,节点ecu接收ota服务器发送的目标软件包。
22.可选地,结合上述第三方面,在第一种可能的实施方式中,ucm master模块,还用于获取到第一参数值时,调用ota服务器的第三接口,以使ota服务器响应于第三接口被调用,向节点ecu发送目标软件包,第一参数值是节点ecu向主ecu返回的第一调用结果中包括的参数值,第一参数值用于指示节点ecu的剩余存储空间不小于目标软件包的大小。
23.可选地,结合上述第三方面第一种可能的实施方式,在第二种可能的实施方式中,节点ecu的数量为n,n为大于1的整数。ucm master模块,具体用于获取到n个第一参数值时,调用ota服务器的第三接口。
24.可选地,结合上述第三方面,在第三种可能的实施方式中,ucm master模块,还用于响应于ota服务器调用第一接口,获取目标软件包的下载地址。ucm master模块,还用于获取到第一参数值时,调用节点ecu的第四接口,以使节点ecu响应于第四接口被调用,获取下载地址,并调用ota服务器的第五接口,以使ota服务器响应于第五接口被调用,接收下载地址,并根据下载地址向节点ecu发送目标软件包,第一参数值是节点ecu向主ecu返回的第一调用结果中包括的参数值,第一参数值用于指示节点ecu的剩余存储空间不小于目标软件包的大小。
25.可选地,结合上述第三方面第三种可能的实施方式,在第四种可能的实施方式中,节点ecu的数量为n,n为大于1的整数。ucm master模块,具体用于获取到n个第一参数值时,调用节点ecu的第四接口。
26.本申请第四方面提供一种节点电子控制单元ecu,节点ecu包括升级配置管理ucm
模块,ucm模块,用于响应于主ecu在被调用第一接口后调用ucm模块的第二接口,获取目标软件包的大小,并检查节点ecu的剩余存储空间,剩余存储空间不小于目标软件包的大小时,接收ota服务器发送的目标软件包,主ecu的第一接口被ota服务器调用,以使主ecu响应于第一接口被调用,获取目标软件包的大小。
27.可选地,结合上述第四方面,在第一种可能的实施方式中,ucm模块,还用于向主ecu返回第一调用结果,第一调用结果包括第一参数值,第一参数值用于指示节点ecu的剩余存储空间不小于目标软件包的大小,以使主ecu获取到第一参数值时,调用ota服务器的第三接口,以使ota服务器响应于主ecu调用第三接口,向节点ecu发送目标软件包。
28.可选地,结合上述第四方面,在第二种可能的实施方式中,ucm模块,还用于向主ecu返回第一调用结果,第一调用结果包括第一参数值,第一参数值用于指示节点ecu的剩余存储空间不小于目标软件包的大小,以使主ecu获取到第一参数值时,调用节点ecu的第四接口。ucm模块,还用于响应于主ecu调用第四接口,获取目标软件包的下载地址,并调用ota服务器的第五接口,以使ota服务器响应于第五接口被调用,接收下载地址,并根据下载地址向节点ecu发送目标软件包。
29.本申请第五方面提供一种数据传输方法,包括:ota服务器调用主ecu的第一接口,以使主ecu响应于ota服务器调用第一接口,获取目标软件包的大小,并调用节点ecu的第二接口,以使节点ecu响应于主ecu调用第二接口,获取目标软件包的大小,并检查节点ecu的剩余存储空间,剩余存储空间不小于目标软件包的大小时,接收ota服务器发送的目标软件包。
30.可选地,结合上述第五方面,在第一种可能的实施方式中,该方法还包括:ota服务器响应于主ecu调用ucm模块的第三接口,向节点ecu发送目标软件包,第三接口是主ecu在获取到第一参数值时调用的ota服务器的接口,第一参数值是节点ecu向主ecu返回的第一调用结果中包括的参数值,第一参数值用于指示节点ecu的剩余存储空间不小于目标软件包的大小。
31.可选地,结合上述第五方面,在第二种可能的实施方式中,该方法还包括:ota服务器调用主ecu的第一接口,以使主ecu响应于ota服务器调用第一接口,获取目标软件包的下载地址,以使节点ecu响应于主ecu调用第四接口,获取目标软件包的下载地址,并调用ota服务器的第五接口。ota服务器响应于节点ecu调用ucm模块的第五接口,接收目标软件包的下载地址,并根据下载地址向节点ecu发送目标软件包。
32.本申请第六方面提供一种数据传输方法,包括:主ecu响应于ota服务器调用ucm master模块的第一接口,获取目标软件包的大小。主ecu调用节点ecu的第二接口,以使节点ecu响应于第二接口被调用,获取目标软件包的大小,并检查节点ecu的剩余存储空间,剩余存储空间不小于目标软件包的大小时,节点ecu接收ota服务器发送的目标软件包。
33.可选地,结合上述第六方面,在第一种可能的实施方式中,该方法还包括:主ecu获取到第一参数值时,调用ota服务器的第三接口,以使ota服务器响应于第三接口被调用,向节点ecu发送目标软件包,第一参数值是节点ecu向主ecu返回的第一调用结果中包括的参数值,第一参数值用于指示节点ecu的剩余存储空间不小于目标软件包的大小。
34.可选地,结合上述第六方面第一种可能的实施方式,在第二种可能的实施方式中,节点ecu的数量为n,n为大于1的整数。主ecu获取到第一参数值时,调用ota服务器的第三接
口,包括:主ecu获取到n个第一参数值时,调用ota服务器的第三接口。
35.可选地,结合上述第六方面,在第三种可能的实施方式中,该方法还包括:主ecu响应于ota服务器调用第一接口,获取目标软件包的下载地址。主ecu获取到第一参数值时,调用节点ecu的第四接口,以使节点ecu响应于第四接口被调用,获取下载地址,并调用ota服务器的第五接口,以使ota服务器响应于第五接口被调用,接收下载地址,并根据下载地址向节点ecu发送目标软件包,第一参数值是节点ecu向主ecu返回的第一调用结果中包括的参数值,第一参数值用于指示节点ecu的剩余存储空间不小于目标软件包的大小。
36.可选地,结合上述第六方面第三种可能的实施方式,在第四种可能的实施方式中,节点ecu的数量为n,n为大于1的整数。主ecu获取到第一参数值时,调用节点ecu的第四接口,包括:主ecu获取到n个第一参数值时,调用节点ecu的第四接口。
37.本申请第七方面提供一种数据传输方法,包括:节点ecu响应于主ecu在被调用第一接口后调用ucm模块的第二接口,获取目标软件包的大小,并检查节点ecu的剩余存储空间,剩余存储空间不小于目标软件包的大小时,接收ota服务器发送的目标软件包,主ecu的第一接口被ota服务器调用,以使主ecu响应于第一接口被调用,获取目标软件包的大小。
38.可选地,结合上述第七方面,在第一种可能的实施方式中,该方法还包括:节点ecu向主ecu返回第一调用结果,第一调用结果包括第一参数值,第一参数值用于指示节点ecu的剩余存储空间不小于目标软件包的大小,以使主ecu获取到第一参数值时,调用ota服务器的第三接口,以使ota服务器响应于主ecu调用第三接口,向节点ecu发送目标软件包。
39.可选地,结合上述第七方面,在第二种可能的实施方式中,该方法还包括:节点ecu向主ecu返回第一调用结果,第一调用结果包括第一参数值,第一参数值用于指示节点ecu的剩余存储空间不小于目标软件包的大小,以使主ecu获取到第一参数值时,调用节点ecu的第四接口。节点ecu响应于主ecu调用第四接口,获取目标软件包的下载地址,并调用ota服务器的第五接口,以使ota服务器响应于第五接口被调用,接收下载地址,并根据下载地址向节点ecu发送目标软件包。
40.本申请第八方面提供一种ota服务器,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现第五方面或第五方面任意一种可能的实施方式中的方法。
41.本申请第九方面提供一种ecu,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现第六方面或第六方面任意一种可能的实施方式中的方法。
42.本申请第十方面提供一种ecu,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现第七方面或第七方面任意一种可能的实施方式中的方法。
43.本申请第十一方面提供一种计算机可读存储介质,可以包括程序,当其在计算机上运行时,使得计算机执行如第五方面或第五方面任意一种可能的实施方式中的方法。
44.本申请第十二方面提供一种计算机可读存储介质,可以包括程序,当其在计算机上运行时,使得计算机执行如第六方面或第六方面任意一种可能的实施方式中的方法。
45.本申请第十三方面提供种计算机可读存储介质,可以包括程序,当其在计算机上运行时,使得计算机执行第七方面或第七方面任意一种可能的实施方式中的方法。
46.本申请第十四方面提供一种芯片系统,该芯片系统可以包括处理器,用于支持车辆实现上述第六方面或第六方面任意一种可能的实施方式中所描述的方法中所涉及的功能。
47.本申请第十五方面提供一种芯片系统,该芯片系统可以包括处理器,用于支持车辆实现上述第七方面或第七方面任意一种可能的实施方式中所描述的方法中所涉及的功能。
48.本申请第十六面提供一种计算机程序产品,当该计算机程序产品在设备上运行时,使得设备执行如第五方面或第五方面任意一种可能的实现方式所描述的方法。
49.本申请第十七面提供一种计算机程序产品,当该计算机程序产品在设备上运行时,使得设备执行如第六方面或第六方面任意一种可能的实现方式所描述的方法。
50.本申请第十八面提供一种计算机程序产品,当该计算机程序产品在设备上运行时,使得设备执行如第七方面或第七方面任意一种可能的实现方式所描述的方法。
51.本申请第十九方面提供一种智能汽车,智能汽车可以包括主ecu和节点ecu,主ecu是第三方面或第三方面任意一种可能的实施方式中描述的ecu,节点ecu为第四方面或第四方面任意一种可能的实施方式中描述的ecu。
52.本申请第二十方面提供一种智能汽车,智能汽车包括处理电路和存储电路,处理电路和存储电路被配置为执行如第六方面或第六方面任意一种可能的实现方式所描述的方法。
53.本申请第二十一方面提供一种智能汽车,智能汽车包括处理电路和存储电路,处理电路和存储电路被配置为执行如第七方面或第七方面任意一种可能的实现方式所描述的方法。
54.本申请提供一种数据传输系统,数据传输方法,智能车以及装置。通过本申请提供的方案,主ecu仍然对各个节点ecu的升级过程进行控制,但是各个节点ecu的软件包由ota服务器直接发送给各个节点ecu上,不再需要主ecu缓存每个节点ecu的软件包,也无需主ecu转发每个节点ecu的升级包,通过这样的方式,主ecu无需有较高的存储空间和处理性能,还可以提升升级的效率。此外,本申请提供的数据传输系统,定义了新的接口,当全部的节点ecu均有足够的存储空间存储各自的软件包时,再向各个节点ecu发送各自的软件包,防止下载过程中由于部分节点ecu的资源不足导致升级失败,减少由此导致的用户流量消耗和资源浪费。可以进一步提升升级的效率。
附图说明
55.图1为autosar的示意图;
56.图2为autosarr中实现软件升级的架构示意图;
57.图3为autosar中软件升级的流程示意图;
58.图4为本申请实施例提供的一种数据传输方法的流程示意图;
59.图5为本申请实施例提供的另一种数据传输方法的流程示意图;
60.图6为本申请实施例提供的另一种数据传输方法的流程示意图;
61.图7a为本申请实施例提供的另一种数据传输方法的流程示意图;
62.图7b为本申请实施例提供的另一种数据传输方法的流程示意图
63.图8为本申请实施例提供的一种数据传输系统的结构示意图;
64.图9为本申请实施例提供的一种通信设备的结构示意图;
65.图10为本申请实施例提供的一种车辆的结构示意图;
66.图11为本申请实施例提供的一种应用场景示意图。
具体实施方式
67.下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
68.本申请的说明书和权利要求书及上述附图中的术语“第一”,“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程,方法,系统,产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程,方法,产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些端口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
69.autosar是由全球汽车制造商、部件供应商及电子软件系统公司联合建立,是一个开放的、标准化的软件架构。是对汽车技术开发一百多年来的经验总结。autosar定义了一系列系统服务接口,利用这些接口可以实现不同软件的兼容互通和互操作,简化了汽车软件的开发,方便软件在不同车型上的部署。autosar主要具备以下特点:
70.a、autosar致力于解决硬件平台不同带来的软件开发的困难,使开发者能够专注于汽车软件功能上的创新。
71.b、autosar提供标准的软件接口定义,工程师可以根据实际需求将所需要的软件组件分配到汽车的电子控制单元(electronic control unit,ecu)中,实现标准软件组件的可重用性。
72.c、autosar的应用层软件组件是独立于硬件的,应用开发者可以在应用软件中指定各个车辆功能的细节,而不用担心底层软件服务和硬件接口不兼容的问题。
73.参阅图1,为autosar的示意图。通常可以认为autosar包括应用软件层(application layer)和系统服务层(services layer)。
74.应用软件层封装了部分或全部汽车电子的功能与行为,包括对具体模块功能的实
现以及对应描述,对外界仅开放定义好的接口。
75.系统服务层主要服务包括通信管理服务(communication management,com)、加密服务(cryptography,crypto)、日志服务(log ging&tracing,log)、诊断服务(diagnostics service,diag)、持久化存储服务(persistency,per)、状态管理服务(state management,sm)、执行管理服务(execution management,exec)、时间同步服务(time synchronization,tsync)、升级配置管理服务(update and configuration management,ucm),升级配置管理主控服务(update and configuration management master,ucm master)等。本申请提供的方案主要涉及系统服务层中的ucm和ucm master。本申请提供的实施例主要关注autosar中的系统服务层中的ucm和ucm master。ucm和ucm master负责管理汽车软件在车内的更新和升级,现有的标准中定义了ucm服务和ucm master服务的接口以及交互的流程,汽车用户或厂商通过使用这些接口就可以方便地在autosar系统内安装、更新和卸载软件。下面结合图2和图3对autosar中通过ucm实现汽车软件在车内的升级过程进行说明。
76.参阅图2,为autosar中实现软件升级的架构示意图。在autosar中,可以通过ota技术实现汽车内软件的升级。ota是指通过无线保真(wireless fidelity,wifi),长期演进(long term evolution,lte),第五代移动通信(5th generation,5g)等空中通讯接口完成对汽车软件的更新或升级。由于不再依托固定的场所或固定的线路,ota升级具有传统汽车软件升级方式不具备的灵活性和便利性。可以通过ota技术将云端服务器中的软件升级包下载到本地。本申请有时也将云端服务器称为ota服务器或者ota云或者ota云服务器,这些词语表示相同的意思,本申请中的本地是指车内的ecu。由于车内包括多个ecu,多个ecu的软件都有升级的需求,并且多个ecu的升级顺序可能存在依赖关系,即需要控制多个ecu的软件升级的顺序,此外,还可能对升级的条件进行限定,比如是否可以在驾驶状态升级软件,是否需要征得用户的同意之后才能升级软件,等等。所以,需要在多个ecu中的至少一个ecu上安装控制模块,来协调多个ecu的软件升级,在autosar中,这个模块是ucm主控(ucm master)模块。通常情况下,可以在网关或者车载通讯终端(telematic box,tbox)上安装ucm master模块。此外,在车内的其他ecu上安装ucm模块,以通过安装了ucm master的ecu控制和协调其它需要升级的ecu上的ucm模块,以完成整车的软件升级。下面结合图3对autosar中软件升级下载的交互过程进行说明。以下将安装有ucm master模块的ecu称为主ecu,将安装有ucm模块的ecu称为节点ecu。
77.参阅图3,为autosar中软件升级的流程示意图。如图3中所示,传输系统包括ota服务器,主ecu,以及多个节点ecu,示例性的,图3中展示了两个节点ecu,分别是节点ecu1以及节点ecu2。主ecu是指车内ecu中安装有ucm master模块的ecu,节点ecu是指车内ecu中安装有ucm模块的ecu。autosar中软件升级的流程可以包括以下步骤:
78.301、ota服务器调用主ecu的transfervehiclepackage接口。
79.ota服务器调用主ecu的ucm master模块的transfervehiclepackage接口。需要说明的是,本申请有时也将ucm maste模块称为ucm master服务。此外,需要说明的是,本申请中主ecu的接口是指主ecu的ucm master模块的接口,以下对此不再重复说明。
80.整车升级包中主要包括升级策略等控制信息,主ecu可以根据这些信息控制各个节点ecu的升级更新的过程。比如主ecu可以根据控制信息控制各个节点ecu的升级顺序以
及升级条件。升级条件可以包括是否允许在驾驶状态中升级软件,是否需要征得用户的同意之后才能升级软件,等等。
81.在autosar中,定义了ucm master模块的整车升级包下载(transfervehiclepackage)接口,ota服务器可以调用主ecu的transfervehiclepackage接口,以将升级策略等控制信息发送给主ecu。具体的,将升级策略等控制信息发送给ucm master模块。
82.整车升级包还包括各个ecu的软件包的信息,比如软件包的信息可以包括包名称和大小信息。
83.302、ota服务器调用主ecu的transferstart接口。
84.ota服务器调用主ecu的ucm master服务的transferstart接口。
85.本申请有时也将软件包称为软件升级包或者升级包,他们表示相同的意思,均表示ecu需要更新的软件代码或数据。在autosar中,定义了ucm master服务的启动传输(transferstart)接口,ota服务器可以调用主ecu的ucm master服务的transferstart接口,以将各个节点ecu的软件升级包的名称发送给主ecu。
86.303、主ecu调用节点ecu1的transferstart接口。
87.主ecu调用节点ecu1的ucm模块的transferstart接口。需要说明的是,本申请中的节点ecu的接口,均指节点ecu的ucm模块的接口,以下对此不再重复说明。
88.比如节点ecu包括节点ecu1。
89.主ecu调用节点ecu1的transferstart接口,节点ecu1的transferstart接口的参数值是节点ecu1的软件升级包的大小。ecu1响应于transferstart接口被调用,检测剩余存储空间,确定剩余空间是否足够存ecu1的升级包。
90.304、节点ecu1返回节点ecu1的transferstart接口的调用结果。
91.节点ecu1的ucm模块响应于主ecu调用transferstart接口,向主ecu返回transferstart接口的调用结果,该调用结果可以指示节点ecu1是否有足够的剩余存储空间存储节点ecu1的升级包。
92.305、主ecu将获取到的节点ecu1的transferstart接口的调用结果反馈给ota服务器。
93.306、ota服务器调用主ecu的transferdata接口。
94.ota服务器调用主ecu的ucm master模块的transferdata接口。
95.如果ota服务器根据步骤305可以确定节点ecu1有足够的存储空间,则ota服务器将ecu1的升级包发送给主ecu。ecu1的升级包可以包括ecu1需要更新的软件代码或数据。
96.autosar定义了ucm master模块的数据传输(transferdata)接口和ucm服务的数据传输(transferdata)接口,ota服务器调用主ecu的ucm master服务的transferdata接口,transferdata接口的参数值是ecu1的软件包,以将节点ecu1的软件包发送给主ecu。
97.307、主ecu调用节点ecu1的transferdata接口。
98.主ecu调用节点ecu1的ucm模块的transferdata接口,transferdata接口的参数值是ecu1的软件包,以将节点ecu1的软件包发送给节点ecu1。
99.308、节点ecu1返回节点ecu1的transferdata接口的调用结果。
100.响应于主ecu调用节点ecu1的transferdata接口,节点ecu1的ucm模块可以返回调
用结果,用于通知主ecu已经接收成功或者接收失败。
101.309、主ecu调用节点ecu2的transferstart接口。
102.主ecu调用节点ecu2的ucm模块的transferstart接口,节点ecu2的transferstart接口的参数值是节点ecu2的软件升级包的大小。ecu2响应于transferstart接口被调用,检测剩余存储空间,确定剩余空间是否足够存ecu2的升级包。
103.310、节点ecu2返回节点ecu2的transferstart接口的调用结果。
104.节点ecu2的ucm模块响应于主ecu调用transferstart接口,向主ecu返回transferstart接口的调用结果,该调用结果可以指示节点ecu2是否有足够的剩余存储空间存储节点ecu2的升级包。
105.311、主ecu将获取到的节点ecu2的transferstart接口的调用结果反馈给ota服务器。
106.312、ota服务器调用主ecu的transferdata接口。
107.如果ota服务器根据步骤309可以确定节点ecu2有足够的存储空间,则ota服务器将ecu2的升级包发送给主ecu。ecu2的升级包包括ecu2需要更新的软件代码或数据。
108.ota服务器调用主ecu的transferdata接口,以将节点ecu2的升级包发送给主ecu。
109.313、主ecu调用节点ecu2的transferdata接口。
110.比如节点ecu还包括节点ecu2。
111.主ecu调用节点ecu2的transferdata接口,transferdata接口的参数值是ecu2的软件包,以将节点ecu2的软件包发送给节点ecu2。
112.在一个可能的实施方式中,还可以包括步骤314、节点ecu2返回节点ecu2的transferdata接口的调用结果。
113.响应于主ecu调用节点ecu2调用节点ecu2的transferdata接口,节点ecu2可以返回调用结果,用于通知主ecu已经接收成功或者接收失败。
114.如果还包括其他升级包的下载,比如还包括其他节点ecu,则下载升级包的过程与节点ecu1和ecu2的下载升级包的过程相同,参照步骤303至步骤308进行理解,或者参照步骤309至步骤314进行理解。步骤303至步骤314旨在表达主ecu向每个节点ecu发送各自的软件升级包的大小,使节点ecu检查是否有足够的可用内存的大小。
115.申请人发现上述autosar中软件升级的流程存在缺陷,在上述升级包的传输流程中,主ecu需要缓存所有节点ecu的软件包,再将节点ecu的软件包转发给对应的节点ecu,比如步骤306和步骤307,以及步骤312和步骤313。这种设计是为了使主ecu可以根据控制信息控制各个节点ecu的升级,协调多个节点ecu的升级过程。比如控制各个节点ecu的升级顺序,包括控制各个节点ecu的下载升级包的顺序,安装升级包的顺序,激活升级包的顺序等等。但是,这种设计对主ecu的存储空间和处理性能要求较高,如果主ecu的存储空间不足,可能会存在下载升级包失败的情况,如果主ecu的处理性能不高的话,会影响下载的效率,即传输升级包的速度会比较慢,从而影响整车升级的效率。此外,申请人发现,上述设计在某些节点ecu没有足够的存储空间时,有足够存储空间的节点ecu仍然要下载各自的软件包,在这种情况下,如果没有足够的存储空间的节点ecu和有足够存储空间的节点ecu在升级顺序上存在依赖关系,则有足够的存储空间的节点即使下载了升级包也可能升级失败,浪费存储资源,影响升级的效率。举例说明,比如节点ecu1有足够的存储空间,从主ecu中下
载了节点ecu1的软件包,节点ecu2没有足够的存储空间,主ecu不会给节点ecu2发送节点ecu2的软件包,如果节点ecu1和节点ecu2在升级上存在依赖关系,则节点ecu1即使下载了节点ecu1的软件包,也可能升级失败,浪费了节点ecu1的存储空间,也影响了升级的效率。需要说明的是,除了节点ecu在升级顺序上存在依赖关系可能导致升级失败,还可能有其他因为部分节点ecu没有足够的存储空间导致的升级失败。
116.为了解决上述问题,本申请提供一种数据传输系统。主ecu仍然对各个节点ecu的升级过程进行控制,比如主ecu可以获知每一个节点ecu的升级状态,具体的,在本申请中主ecu仍然可以获知节点ecu的下载状态,比如控制某个节点ecu下载软件包,控制某个节点ecu不下载软件包,控制多个节点ecu下载各自的软件包的顺序等等。换句话说,主ecu可以控制多个节点ecu同时下载软件包,还是按照一定的下载顺序下载软件包。或者说主ecu可以控制是否使节点ecu下载软件包。在此基础上,即在主ecu仍然对各个节点ecu的升级过程进行控制的基础上,各个节点ecu的软件包由ota服务器直接发送给各个节点ecu上,不再需要主ecu缓存每个节点ecu的软件包,也无需主ecu转发每个节点ecu的升级包。通过这样的方式,主ecu无需有较高的存储空间和处理性能,还可以提升升级的效率。此外,本申请提供的数据传输系统,定义了新的接口,当全部的节点ecu均有足够的存储空间存储各自的软件包时,再向各个节点ecu发送各自的软件包,可以进一步提升升级的效率。
117.需要说明的是,本申请实施例提供的数据传输系统可以基于autosar,也可以基于其他用于车辆内ecu升级的数据传输系统,本申请以基于autosar为例进行说明。
118.基于上面的研究思路,下面对本申请提供的技术方案进行具体的介绍。
119.参阅图4,为本申请实施例提供的一种数据传输方法的流程示意图。
120.本申请实施例提供的一种数据传输方法,可以包括以下步骤:
121.401、ota服务器调用主ecu的transfervehiclepackage接口。
122.步骤401可以参照图3对应的方案中的步骤301进行理解,这里不再重复赘述。
123.402、ota服务器调用主ecu的transferstart接口。
124.步骤402可以参照图3对应的方案中的步骤302进行理解,这里不再重复赘述。
125.403、主ecu调用节点ecu1的transferstart接口。
126.步骤403可以参照图3对应的方案中的步骤303进行理解,这里不再重复赘述。
127.404、节点ecu1返回节点ecu1的transferstart接口的调用结果。
128.节点ecu1响应于主ecu调用transferstart接口,向主ecu返回transferstart接口的调用结果,该调用结果可以指示节点ecu1是否有足够的剩余存储空间存储节点ecu1的升级包。
129.此外,在本申请提供的方案中,调用结果中还可以包括第一参数,通过第一参数值指示ota服务器直接向节点ecu1发送节点ecu1的软件包,以下结合几个具体的实施方式进行说明。
130.在一个可能的实施方式中,若节点ecu1有足够的剩余存储空间存储节点ecu1的升级包,则调用结果还包括第一参数值。主ecu可以将该第一参数值反馈给ota服务器,ota服务器获取第一参数值后,可以直接向节点ecu1发送软件包,而不再经过主ecu。
131.在一个可能的实施方式中,在调用结果中增加第一参数,若节点ecu1有足够的剩余存储空间存储节点ecu1的升级包,第一参数的取值为a,若节点ecu1没有足够的剩余存储
空间存储节点ecu1的升级包,则第一参数的取值为b。这里的a和b是为了举例说明节点ecu1确定有足够的剩余存储空间,以及没有足够的剩余存储空间两种情况下,第一参数的取值不同。节点ecu1可以通过反馈第一参数,使ota服务器获取是否可以直接向节点ecu1发送软件包。比如若ota服务器获取到第一参数的取值为a,则可以直接向节点ecu1发送软件包,而不再经过主ecu。
132.405、主ecu将获取到的节点ecu1的transferstart接口的调用结果反馈给ota服务器。
133.主ecu的ucm master模块将获取到的节点ecu1的transferstart接口的调用结果反馈给ota服务器的ucm模块。
134.在本方案中,如果节点ecu1有足够的剩余存储空间存储节点ecu1的升级包,则反馈给ota服务器的调用包括第一参数。
135.在一个可能的实施方式中,主ecu可以调用ota服务器的一个接口,以将获取到的节点ecu1的transferstart接口的调用结果发送给ota服务器,以使ota服务器响应于该接口被调用,向节点ecu发送软件包。需要说明的是,本申请中通常将一个设备向另一个设备发送信息,或者指示另一个设备执行动作描述为一个设备调用另一个设备的接口,即一个设备调用另一个设备的接口,以向另一个设备发送信息,或者指示另一个设备执行某些动作,本申请实施例对此不再重复说明。
136.406、ota服务器调用节点ecu1的transferdata接口。
137.如果节点ecu1有足够的剩余存储空间存储节点ecu1的升级包,ota服务器可以直接向节点ecu1发送节点ecu1的软件包,而不需通过主ecu进行转发。具体的ota服务器根据第一参数获取是否可以直接向节点ecu1发送节点ecu1的软件包,第一参数是节点ecu1的transferstart接口的调用结果包括的参数。
138.比如,在autosar中,ota服务器可以调用节点ecu1的transferdata接口,transferdata接口的参数值是ecu1的软件包,以将节点ecu1的软件包发送给节点ecu1。
139.在一个可能的实施方式中,还可以包括步骤407、节点ecu1返回节点ecu1的transferdata接口的调用结果。
140.响应于ota服务器调用节点ecu1调用节点ecu1的transferdata接口,节点ecu1可以返回调用结果,用于通知ota服务器已经接收成功或者接收失败。
141.408、主ecu调用节点ecu2的transferstart接口。
142.比如节点ecu还包括节点ecu2,则主ecu调用节点ecu2的transferstart接口。
143.409、节点ecu2返回节点ecu2的transferstart接口的调用结果。
144.410、主ecu将获取到的节点ecu2的transferstart接口的调用结果反馈给ota服务器。
145.411、ota服务器调用节点ecu2的transferdata接口。
146.节点ecu2的transferdata接口的参数值是节点ecu2的软件包。
147.在一个可能的实施方式中,还可以包括步骤412、节点ecu2返回节点ecu2的transferdata接口的调用结果。
148.步骤408至步骤412可以参照步骤403至步骤407进行理解,这里不再重复赘述。如果还包括其他的节点ecu,下载升级包的过程也可以参照ecu1下载升级包的过程进行理解,
即参照步骤403至步骤407进行理解。
149.由图4对应的实施例可知,这种方案对现有的autosar规定的软件升级的流程改动很小,在节点ecu的transferstart接口的调用结果中增加一个参数,并将该参数反馈给ota服务器,使ota服务器获知可以进行分布式下载,将节点ecu的升级包直接发送给对应的节点ecu,无需经过主ecu。通过这种方案减少对主ecu的存储空间以及处理性能的依赖,且通过本申请提供的方案,可以多个节点ecu同时下载,提升下载的效率。
150.需要说明的是,除了图4对应的实施例中提供的方案,本申请还提供了其他方案可以基于autosar,实现ota服务器直接向节点ecu发送升级包。此外,本申请提供的方案可以使主ecu提前获取所有的节点ecu的剩余存储空间是否都足够,当所有的节点ecu的剩余存储空间都足够存储各自的软件包时,再传输软件包,防止下载过程中由于部分节点ecu的资源不足导致升级失败,减少由此导致的用户流量消耗和资源浪费。下面结合几个具体的实施例进行说明。
151.参阅图5,为本申请实施例提供的一种数据传输方法的流程示意图。
152.501、ota服务器调用主ecu的transfervehiclepackage接口。
153.ota服务器调用主ecu的transfervehiclepackage接口,以将升级策略等控制信息以及各个节点ecu的软件升级包的名称和大小发送给主ecu。比如通过调用主ecu的transfervehiclepackage接口,将节点ecu1的软件包的名称和大小,节点ecu2的软件包的名称和大小发送给主ecu。
154.502、主ecu调用节点ecu1的目标接口。
155.本申请提供的实施方式中,定义了一个新的接口,使主ecu可以集中获取所有节点ecu的剩余存储空间是否足够存储各自的软件包。
156.目标接口的参数值可以是每个节点ecu的软件包的大小。示例性的,表1给出了一种目标接口的定义方式。假设目标接口的名称是transfercheck,目标接口的输入参数值是软件包的大小(size),目标接口的返回值是ture或者false。其中ture可以代表节点ecu的剩余存储空间足够存储其软件包,false可以代表节点ecu的剩余存储空间不足够存储其软件包。
157.表1:
158.接口名称transfercheck输入参数size返回值ture/false
159.节点ecu响应于主ecu调用目标接口,检查各自的存储空间是否足够存储各自的软件包。
160.以ecu1为例,即主ecu调用节点ecu1的目标接口,目标接口的参数值包括节点ecu1的软件包的大小。节点ecu1响应于目标接口被调用,检测剩余存储空间,确定剩余空间是否足够存节点ecu1的升级包。
161.503、节点ecu1返回节点ecu1的目标接口的调用结果。
162.节点ecu1响应于主ecu调用目标接口,向主ecu返回目标接口的调用结果,该调用结果可以指示节点ecu1是否有足够的剩余存储空间存储节点ecu1的升级包。比如返回调用结果时true或者false。
163.504、主ecu调用节点ecu2的目标接口。
164.比如,节点ecu还包括节点ecu2,则主ecu调用节点ecu2的目标接口,目标接口的参数值包括ecu2的软件包的大小。ecu2响应于目标接口被调用,检测剩余存储空间,确定剩余空间是否足够存ecu2的升级包。
165.505、节点ecu2返回节点ecu2的目标接口的调用结果。
166.节点ecu2响应于主ecu调用目标接口,向主ecu返回目标接口的调用结果,该调用结果可以指示节点ecu2是否有足够的剩余存储空间存储节点ecu2的升级包。比如返回调用结果时true或者false。
167.506、主ecu根据获取到的节点ecu的目标接口的调用结果向ota服务器发送反馈信息。
168.以上步骤502至步骤506以节点ecu包括节点ecu1和节点ecu2进行了说明,如果还包括其他的节点ecu,调用目标接口的过程也可以参照步骤502至步骤506进行理解。
169.如果主ecu根据所有节点ecu的目标接口的调用结果确定所有节点ecu均有足够的存储空间存储各自的软件包时,则向ota服务器发送反馈消息,该反馈信息用于指示ota进行分布式下载,即指示ota服务器将每个节点ecu的软件包发送给对应的节点ecu。举例说明,比如节点ecu只包括节点ecu1和节点ecu2,有以下三种情况:
170.1、ecu1返回的目标接口的调用结果指示ecu1有足够的存储空间存储ecu1的软件包,并且ecu2返回的目标接口的调用结果指示ecu2有足够的存储空间存储ecu2的软件包时,主ecu向ota服务器发送反馈消息。
171.2、ecu1返回的目标接口的调用结果指示ecu1有足够的存储空间存储ecu1的软件包,并且ecu2返回的目标接口的调用结果指示ecu2没有足够的存储空间存储ecu2的软件包时,则主ecu不向ota服务器发送反馈消息。在这种情况下,ota服务器也不会向ecu1发送ecu1的软件包。
172.3、ecu1返回的目标接口的调用结果指示ecu1没有足够的存储空间存储ecu1的软件包,并且ecu2返回的目标接口的调用结果指示ecu2有足够的存储空间存储ecu2的软件包时,则主ecu不向ota服务器发送反馈消息。在这种情况下,ota服务器也不会向ecu2发送ecu1的软件包。
173.在一个可能的实施方式中,主ecu可以在发送状态信息时向ota服务器发送反馈信息。在autosar中,规定了主ecu向ota服务器发送状态信息,用于通知ota服务器目前的升级状态,比如升级状态可以包括处于下载升级包阶段,处于安装升级包的阶段,处于激活升级包的阶段等等。在本申请实施例中的这种实施方式中,可以增加新的状态信息,比如增加第一状态信息。如果主ecu根据所有节点ecu的目标接口的调用结果确定所有节点ecu均有足够的存储空间存储各自的软件包时,在主ecu向ota服务器发送状态信息时,发送第一状态信息,该第一状态信息用于通知ota服务器可以进行分布式下载,ota服务器收到第一状态信息后,直接将每个节点ecu的软件包发送给对应的节点ecu,不再经过主ecu转发。
174.507、ota服务器调用节点ecu1的transferdata接口。
175.如果ota服务器根据反馈消息确定可以将节点ecu的软件包发送给各自的节点ecu时,则ota服务器调用各个节点的transferdata接口发送给各自的节点ecu。
176.该反馈消息可以是主ecu发送的状态信息,该状态信息用于指示ota服务器可以进
行分布式下载,ota服务器收到该状态信息后,直接将每个节点ecu的软件包发送给对应的节点ecu,不再经过主ecu转发。
177.节点ecu包括节点ecu1时,ota服务器可以调用节点ecu1的transferdata接口,transferdata接口的参数值是ecu1的软件包,以将节点ecu1的软件包发送给节点ecu1。
178.在一个可能的实施方式中,还可以包括508、节点ecu1返回节点ecu1的transferdata接口的调用结果。
179.响应于ota服务器调用节点ecu1调用节点ecu1的transferdata接口,节点ecu1可以返回调用结果,用于通知ota服务器已经接收成功或者接收失败。
180.509、ota服务器调用节点ecu2的transferdata接口。
181.如果节点ecu还包括节点ecu2,则ota服务器调用节点ecu2的transferdata接口。
182.在一个可能的实施方式中,还可以包括510、节点ecu2返回节点ecu2的transferdata接口的调用结果。
183.步骤509和步骤510可以参照步骤507和步骤508进行理解,需要说明的是,如果还包括其他的节点ecu,也可以参照ecu1与oat服务器或者ecu2与ota服务器的交互的过程进行理解,即参照步骤502至步骤509进行理解。
184.由图5对应的实施例可知,给出了一种方式可以使主ecu提前获取所有的节点ecu的剩余存储空间是否都足够,当所有的节点ecu的剩余存储空间都足够存储各自的软件包时,再传输软件包,防止下载过程中由于部分节点ecu的资源不足导致升级失败,减少由此导致的用户流量消耗和资源浪费。具体的,图5对应的实施方式中,可以在autosar中新定义一个接口,比如目标接口,使主ecu可以获取所有的节点ecu的剩余存储空间是否都足够,并且可以增加新的状态信息,主ecu可以通过新的状态信息通知ota服务器可以进行分布式下载,即直接将每个节点ecu的软件包发送给各自的节点ecu。
185.图5对应的实施例中,主ecu可以通过新的状态信息通知ota服务器可以进行分布式下载,即直接将每个节点ecu的软件包发送给各自的节点ecu。在一些其他的实施方式中,还可以通过其他方式实现ota服务器可以进行分布式下载,即直接将每个节点ecu的软件包发送给各自的节点ecu。下面结合一个具体的实施例进行说明。
186.参阅图6,为本申请实施例提供的一种数据传输方法的流程示意图。
187.601、ota服务器调用主ecu的transfervehiclepackage接口。
188.ota服务器调用主ecu的transfervehiclepackage接口,以将升级策略等控制信息、各个节点ecu的软件升级包的名称和大小,以及各个节点ecu的软件包的下载地址发送给主ecu。比如通过调用主ecu的transfervehiclepackage接口,将节点ecu1的软件包的名称、大小以及节点ecu1的软件包的下载地址,节点ecu2的软件包的名称、大小以及节点ecu2的软件包的下载地址发送给主ecu。
189.在一个可能的实施方式中,下载地址可以是统一资源定位符(uniform resoure locator,url)的形式。
190.602、主ecu调用节点ecu1的目标接口。
191.603、节点ecu1返回节点ecu1的目标接口的调用结果。
192.604、主ecu调用节点ecu2的目标接口。
193.605、节点ecu2返回节点ecu2的目标接口的调用结果。
194.步骤602至步骤605可以参照图5对应的实施例中的步骤502至步骤505进行理解,这里不再重复赘述。
195.606、主ecu向节点ecu1发送节点ecu1的软件包的下载地址。
196.如果主ecu根据所有节点ecu的目标接口的调用结果确定,所有的节点ecu均有足够的存储空间存储各自的软件包时,则主ecu向各个节点ecu发送各自的软件包的下载地址。
197.比如,节点ecu包括节点ecu1和节点ecu2,节点ecu1和节点ecu2均有足够的存储空间存储各自的软件包时,则主ecu向节点ecu1发送节点ecu1的软件包的下载地址。主ecu向节点ecu2发送节点ecu2的软件包的下载地址。
198.在一个可能的实施方式中,也可以主ecu获取到节点ecu1有足够的存储空间时,就向节点ecu1发送节点ecu1的软件包的下载地址。
199.在一个可能的实施方式中,主ecu可以在调用节点ecu的transferstart接口时,在transferstart接口新增输入参数,该新增输入参数是各个节点ecu的软件包的下载地址。比如,主ecu调用节点ecu1的transferstart接口,transferstart接口时包括新增参数,新增参数的取值是节点ecu1的软件包的下载地址,再比如,主ecu调用节点ecu2的transferstart接口,transferstart接口时包括新增参数,新增参数的取值是节点ecu2的软件包的下载地址。
200.607、节点ecu1根据获取到的节点ecu1的软件包的下载地址向ota服务器发送请求消息。
201.比如,节点ecu1接收到ecu1的软件包的下载地址后,向ota服务器发送请求消息,该请求消息中携带ecu1的软件包的下载地址,该请求消息用于请求ota服务器将节点ecu1的软件包发送给节点ecu1。
202.在一个可能的实施方式中,可以定义一个新的接口,比如第二接口,第二接口的参数是软件包的下载地址,当ota服务器的第二接口被调用时,ota服务器可以将节点ecu的软件包发送给对应的节点ecu。比如,节点ecu1可以调用ota服务器的第二接口,第二接口的参数是节点ecu1的软件包的下载地址,ota服务器响应于第二接口被调用,可以根据第二接口的参数值,将节点ecu1的软件包发给节点ecu1。需要说明的是,本申请中的ota服务器的接口均指ota服务器的ucm接口,本申请对此不再重复说明。
203.示例性的,表2给出了一种第二接口的定义方式。假设第二接口的名称是gettransferstart,第二接口的输入参数包括软件包的下载地址,在一些可能的实施方式中,第二接口的输入参数还可以包括软件包的名称或者软件包的标识id。
204.接口名称gettransferstart输入参数1软件包的名称输入参数2软件包的标识id输入参数2软件包的下载地址
205.608、ota服务器调用节点ecu1的transferdata接口。
206.响应于节点ecu1发送的请求消息,ota服务器向节点ecu1发送节点ecu1的软件包。
207.比如,ota服务器可以调用节点ecu1的transferdata接口,将ecu1的软件包发送给节点ecu1。
208.在一个可能的实施方式中,还可以包括步骤609、节点ecu1返回节点ecu1的transferdata接口的调用结果。
209.响应于ota服务器调用节点ecu1调用节点ecu1的transferdata接口,节点ecu1可以返回调用结果,用于通知ota服务器已经接收成功或者接收失败。
210.610、主ecu向节点ecu2发送节点ecu2的软件包的下载地址。
211.如果主ecu根据所有节点ecu的目标接口的调用结果确定,所以的节点ecu均有足够的存储空间存储各自的软件包时,则主ecu向各个节点ecu发送各自的软件包的下载地址。
212.比如,节点ecu包括节点ecu2,则主ecu向节点ecu2发送节点ecu2的软件包的下载地址。
213.611、节点ecu2根据获取到的节点ecu2的软件包的下载地址向ota服务器发送请求消息。
214.612、ota服务器调用节点ecu2的transferdata接口。
215.在一个可能的实施方式中,还可以包括步骤613、节点ecu2返回节点ecu2的transferdata接口的调用结果。
216.步骤610至步骤613可以参照步骤606至步骤609进行理解。如果还包括其他的节点ecu,也可以参照ecu1与oat服务器的交互的过程进行理解,即参照步骤602至步骤609进行理解。
217.以上基于autosar,对本申请实施例提供的方案进行了介绍,主ecu仍然对各个节点ecu的升级过程进行控制,比如控制各个节点ecu的下载软件包的顺序,但是各个节点ecu的软件包由ota服务器直接发送给各个节点ecu上,不再需要主ecu缓存每个节点ecu的软件包,也无需主ecu转发每个节点ecu的升级包,通过这样的方式,主ecu无需有较高的存储空间和处理性能,还可以提升升级的效率。并且,支持本申请提供的方案支持多个节点ecu同时下载,提升下载效率。并且不影响后续的主ecu控制各个节点ecu的安装过程以及激活过程。此外,本申请提供的数据传输系统,定义了新的接口,当全部的节点ecu均有足够的存储空间存储各自的软件包时,再向各个节点ecu发送各自的软件包,可以进一步提升升级的效率。
218.除了上述提到的基于autosar,对上述autosar中软件升级的流程进行改进,解决现有的autosar中,在软件升级过程中,对主ecu的存储空间和处理性能的依赖的问题。本申请提供的方案还可以采用其他的方式解决对ecu的存储空间和处理性能的依赖问题。以下结合几个具体的实施方式进行说明。
219.参阅图7a,为本申请实施例提供的一种数据传输方法的流程示意图。
220.701、节点ecu1将节点ecu1的剩余存储空间的大小发送给主ecu。
221.702、节点ecu2将节点ecu2的剩余存储空间的大小发送给主ecu。
222.703、主ecu将各个节点ecu的剩余存储空间的大小向ota服务器发送。
223.表3:
224.节点id剩余的存储空间的大小ecu1的idecu1的剩余的存储空间的大小ecu2的idecu2的剩余的存储空间的大小
225.如表3所示,主ecu可以通过表格的方式将各个节点ecu的剩余存储空间的大小发送给ota服务器。
226.在一个可能的实施方式中,节点ecu也可以直接将各自的剩余存储空间的大小向ota服务器发送,不经过主ecu转发。
227.704、ota服务器调用主ecu的transfervehiclepackage接口。
228.如果ota服务器根据各个节点ecu的剩余存储空间的大小和各个节点ecu的软件包的大小确定,各个节点ecu均有足够的存储空间存储各自的软件包时,ota服务器调用主ecu的transfervehiclepackage接口。举例3说明,假设节点ecu只包括节点ecu1和节点ecu2。则可能有以下三种情况:
229.1、ota服务器获取到的节点ecu1的剩余存储空间不小于ecu1的软件包的大小,且获取到的ecu2的剩余存储空间不小于ecu2的软件包的大小,则ota服务器调用主ecu的transfervehiclepackage接口,以将升级策略等控制信息发送给主ecu。
230.2、ota服务器获取到的节点ecu1的剩余存储空间不小于节点ecu1的软件包的大小,且获取到的节点ecu2的剩余存储空间小于节点ecu2的软件包的大小,则ota服务器确定当前无法升级成功,不启动升级软件包的程序。
231.3、ota服务器获取到的节点ecu1的剩余存储空间小于节点ecu1的软件包的大小,且获取到的节点ecu2的剩余存储空间不小于节点ecu2的软件包的大小,则ota服务器确定当前无法升级成功,不启动升级软件包的程序。
232.705、ota服务器调用节点ecu1的transferdata接口。
233.在一个可能的实施方式中,还可以包括步骤706、节点ecu1返回节点ecu1的transferdata接口的调用结果。
234.707、ota服务器调用节点ecu2的transferdata接口。
235.在一个可能的实施方式中,还可以包括步骤708、节点ecu2返回节点ecu2的transferdata接口的调用结果。
236.步骤705至步骤708可以参照图4对应的实施例中的步骤406,步骤407以及步骤411和步骤412进行理解。
237.需要说明的是,如果还包括其他的节点ecu,可以参照节点ecu1和节点ecu2执行的步骤进行理解,这里不再重复赘述。
238.参阅图7b,为本申请实施例提供的一种数据传输方法的流程示意图。
239.801、节点ecu1将节点ecu1的剩余存储空间的大小发送给主ecu。
240.802、节点ecu2将节点ecu2的剩余存储空间的大小发送给主ecu。
241.803、ota服务器调用主ecu的transfervehiclepackage接口。
242.ota服务器调用主ecu的transfervehiclepackage接口,以将所有节点ecu的软件包的大小发送给主ecu。需要说明的是,本实施例中以节点ecu1和节点ecu2为例进行说明,如果还包括其他节点节点ecu,可以参照节点ecu1和节点ecu2执行的步骤进行理解,本文不再重复赘述。
243.804、主ecu根据节点ecu的软件包的大小和节点ecu的剩余存储空间的关系,向ota服务器发送通知消息。
244.如果主ecu根据各个节点ecu的剩余存储空间的大小和各个节点ecu的软件包的大
小确定,各个节点ecu均有足够的存储空间存储各自的软件包时,主ecu向ota服务器发送通知消息,使ota服务器向节点ecu发送软件包。
245.举例说明,假设节点ecu只包括节点ecu1和节点ecu2。则可能有以下三种情况:
246.1、主ecu获取到的节点ecu1的剩余存储空间不小于节点ecu1的软件包的大小,且获取到的ecu2的剩余存储空间不小于ecu2的软件包的大小,则主ecu向ota服务器发送通知消息,使ota服务器向节点ecu1发送节点ecu1的软件包,使ota服务器向节点ecu2发送节点ecu2的软件包。
247.2、主ecu获取到的节点ecu1的剩余存储空间不小于节点ecu1的软件包的大小,且获取到的节点ecu2的剩余存储空间小于节点ecu2的软件包的大小,则主ecu不向ota服务器发送通知消息,即不启动下载软件包的流程。
248.3、主ecu获取到的节点ecu1的剩余存储空间小于节点ecu1的软件包的大小,且获取到的节点ecu2的剩余存储空间不小于节点ecu2的软件包的大小,则主ecu不向ota服务器发送通知消息,即不启动下载软件包的流程。
249.805、ota服务器调用节点ecu1的transferdata接口。
250.在一个可能的实施方式中,还可以包括步骤806、节点ecu1返回节点ecu1的transferdata接口的调用结果。
251.807、ota服务器调用节点ecu2的transferdata接口。
252.在一个可能的实施方式中,还可以包括步骤808、节点ecu2返回节点ecu2的transferdata接口的调用结果。
253.步骤805至步骤808可以参照图4对应的实施例中的步骤406,步骤408以及步骤411和步骤412进行理解。
254.以上对本申请实施例提供的一种数据传输方法进行了介绍,本申请实施例还提供一种数据传输系统,该数据传输系统包括ota服务器,主ecu以及多个节点ecu。其中ota服务器为图4至图7b所述对应的实施例中描述的ota服务器,主ecu为图4至图7b所述对应的实施例中描述的主ecu,节点ecu为图4至图7b所述对应的实施例中描述的节点ecu,比如可以参照节点ecu1和节点ecu2进行理解。此外,基于上述实施例相同的发明构思,本申请实施例还提供一种ota云服务器,主ecu,节点ecu。下面结合几个具体的实施方式对本申请实施例提供的一种数据传输系统进行说明。
255.参照图8,为本申请实施例提供的一种数据传输系统的架构示意图。该数据传输系统包括ota服务器,主ecu以及多个节点ecu。
256.其中,节点ecu可以包括升级配置管理ucm模块,节点ecu的ucm模块,用于获取到该节点ecu的目标接口被调用时,检查剩余存储空间,并返回第一调用结果,目标接口的参数值可以包括该节点ecu的软件包的大小,第一调用结果指示剩余存储空间是否不小于该节点ecu的软件包的大小。节点ecu的ucm模块,还用于剩余存储空间不小于该节点ecu的软件包的大小时,接收ota服务器发送的该节点ecu的软件包。
257.在一个可能的实施方式中,目标接口是transferstart接口,剩余存储空间不小于该节点ecu的软件包的大小时,第一调用结果可以包括第一参数值,第一参数用于指示ota服务器向该节点ecu发送该节点ecu的软件包。
258.在一个可能的实施方式中,节点ecu的ucm模块,还用于获取该节点ecu的软件包的
下载地址。根据获取到的下载地址,调用ota服务器的接口,接口的参数值是该节点ecu的软件包的下载地址,以使ota服务器响应于接口被调用,向ucm模块发送该节点ecu的软件包。
259.在一个可能的实施方式中,ota服务器可以包括升级配置管理ucm模块,ota服务器的ucm模块,用于确定节点ecu的剩余存储空间不小于该节点ecu的软件包的大小时,调用该节点ecu的transferdata接口,以向该节点ecu发送该节点ecu的软件包。
260.在一个可能的实施方式中,ota服务器的ucm模块具体用于获取到第一参数值时,调用该节点ecu的transferdata接口,第一参数值是该节点ecu响应于transferstart接口被调用,返回的第一调用结果中可以包括的参数值,第一参数值用于指示该节点ecu的剩余存储空间不小于该节点ecu的软件包的大小。
261.在一个可能的实施方式中,ota服务器的ucm模块还用于调用主ecu的整车软件包transfervehiclepackage接口,transfervehiclepackage接口的参数值可以包括多个节点ecu中的每个节点ecu的软件包的下载地址,以使主ecu向该节点ecu发送该节点ecu的软件包的下载地址,以使该节点ecu根据该节点ecu的下载地址调用ucm模块的接口,接口的参数可以包括该节点ecu的软件包的下载地址。ucm模块,具体用于响应于该节点ecu调用接口,向该节点ecu发送该节点ecu的软件包。
262.在一个可能的实施方式中,主ecu可以包括ucm master模块,ucm master模块,用于调用该节点ecu的目标接口,目标接口的参数值可以包括该节点ecu的软件包的大小,以使该节点ecu响应于主ecu调用目标接口,检查该节点ecu的剩余存储空间。ucm master模块,还用于接收该节点ecu发送的目标接口的第一调用结果,第一调用结果指示该节点ecu的剩余存储空间是否不小于该节点ecu的软件包的大小。
263.在一个可能的实施方式中,该节点ecu的剩余存储空间不小于该节点ecu的软件包的大小时,第一调用结果可以包括第一参数值,ucm master模块,还用于向ota服务器发送第一反馈消息,第一反馈消息可以包括第一参数值,以使ota服务器获取到第一参数值时,调用该节点ecu的transferdata接口,以向该节点ecu发送该节点ecu的软件包。
264.在一个可能的实施方式中,ucm master模块还用于接收多个节点ecu中的每个节点ecu的第一调用结果,该节点ecu是多个节点ecu中的任意一个ecu。根据第一调用结果确定每个节点ecu的剩余存储空间均不小于各自的软件包的大小时,向ota服务器发送第二参数值,以使ota服务器获取到第二参数值时,调用该节点ecu的transferdata接口。
265.本申请实施例还提供一种ecu,该ecu是上述图8对应的实施例中节点ecu。可以参照图4至图7b所述对应的实施例中描述的节点ecu进行理解。
266.本申请实施例还提供一种ecu,该ecu是上述图8对应的实施例中的主ecu。可以参照图4至图7b所述对应的实施例中描述的主ecu进行理解。
267.本申请实施例还提供一种ota服务器,该ota服务器是上述图8对应的实施例中的ota服务器。可以参照图4至图7b所述对应的实施例中描述的ota服务器进行理解。
268.参阅图9,本申请实施例还提供一种通信设备。该通信设备可以是图4至图7b对应的实施例中的节点ecu,该通信设备还可以是图4至图7b对应的实施例中的主ecu,该通信设备还可以是图4至图7b对应的实施例中的ota服务器。
269.该通信设备可以包括处理器1001,处理器1001和存储器1002耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时,执行图4至图7b对应的实施例中的主
ecu执行的步骤。或者当存储器存储的程序指令被处理器执行时,执行图4至图7b对应的实施例中的节点ecu执行的步骤。或者当存储器存储的程序指令被处理器执行时,执行图4至图7b对应的实施例中的ota服务器执行的步骤。
270.本申请实施例还提供了一种车辆,参阅图10,图10为本申请实施例提供的一种车辆的结构示意图。其中,车辆上可以部署有图4至图7b对应的实施例中所描述的节点ecu和主ecu。
271.在一个可能的实施方式中,如图10,该车辆可以包括显示屏1101和ecu1102。其中,ecu1102为上述图4至图7b对应的实施例中所描述的节点ecu和主ecu。车辆可以通过显示屏与用户进行交互,比如可以通过显示器发送提示消息,提示消息用于指示节点ecu从ota服务器下载所述第一ecu的软件包。参阅图11,为本申请实施例提供的一种数据传输方法的应用场景的示意图。本申请实施例提供的方案,允许用户选择是否对车内的软件进行升级,也可以默认直接对车内的软件进行升级。在车内的各个设备进行升级时,具体的各个ecu的软件下载升级包的过程中,发送提示消息,提示各个设备正在从ota服务器中下载软件包。
272.上述车辆可以为轿车、卡车、摩托车、公共汽车、船、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车等,本申请实施例不做特别的限定。
273.需要说明的是,对于ecu、车辆执行数据传输方法的具体实现方式以及带来的有益效果,均可以参考图4至图7b对应的各个方法实施例中的叙述,此处不再一一赘述。
274.本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于下载软件包的程序,当其在计算机上行驶时,使得计算机执行如前述图4至图7b所示实施例描述的方法中ecu所执行的步骤。
275.本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于下载软件包的程序,当其在计算机上行驶时,使得计算机执行如前述图4至图7b所示实施例描述的方法中ota所执行的步骤。
276.本申请实施例中还提供一种包括计算机程序产品,当其在计算机上行驶时,使得计算机执行如前述图4至图7b所示实施例描述的方法中ecu所执行的步骤。或者当其在计算机上行驶时,使得计算机执行如前述图4至图7b所示实施例描述的方法中ota所执行的步骤。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
277.本申请实施例中还提供一种电路系统,所述电路系统包括处理电路和存储电路,所述处理电路和存储电路配置为执行如前述图4至图7b所示实施例描述的方法中ecu或者ota服务器所执行的步骤。其中,处理电路可以是任意合适类型的计算单元,例如微处理器、
数字信号处理器(digital signal processor dsp)、现场可编程门阵列(field programmable gate array,fpga)或专用集成电路(application specific integrated circuit fpga,asic)或任意其他形式的电路。存储电路可以是易失型(volatile)和/或非易失型(non

volatile)。比如该存储电路可以是寄存器或者缓存等。具体的,易失型存储电路可以包括cache存储器,非易失型存储电路可以包括flash存储器。
278.本申请实施例提供的ecu或ota服务器具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使服务器内的芯片执行上述图4至图7b所示实施例描述的数据传输方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read

only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)等。
279.另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
280.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用clu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、u盘、移动硬盘、rom、ram、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1