差分脚本自动生成方法与装置、存储介质、计算机设备与流程

文档序号:30493526发布日期:2022-06-22 02:49阅读:152来源:国知局
差分脚本自动生成方法与装置、存储介质、计算机设备与流程

1.本发明涉及计算机技术领域,尤其涉及一种用于车辆软件升级的差分脚本自动生成方法、一种计算机可读存储介质、一种计算机设备和一种用于车辆软件升级的差分脚本自动生成装置。


背景技术:

2.目前,市场上智能化移动终端产品越来越多,如汽车、空调、冰箱、洗衣机、和扫地机器人等都具有连网的功能。通过空中下载软件升级可以为这些产品的等提供固件升级服务,让系统的更新和优化变得更加的方便和快捷。
3.现有fota(firmware over-the-air,移动终端的空中下载)升级方案,建立一系列云端fota升级管理流程。为进一步提升操作效率,简化操作流程,优化软件包制作方式,特提出在线制作软件包(包含整包和差分包)方式,支持ota(over-the-air,空中下载)管理平台直接调用在线做包服务,完成软件包制作,新增固件后仅需开发差分脚本直接调用差分工具制作差分包,而不需要通过差分应用等操作来达到这一目的。
4.但是脚本开发也需要耗费很大的精力,并且脚本的开发容易出错,调试也相对比较麻烦,需要上传脚本,通过链接下载,最后进行测试等。可见,现有技术对脚本的开发仍然缺乏有效地解决方法。


技术实现要素:

5.本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种用于车辆软件升级的差分脚本自动生成方法,能够有效提高用户的编译效率,降低工作人员的工作量,同时提高脚本书写的准确度。
6.本发明的第二个目的在于提出一种计算机可读存储介质。
7.本发明的第三个目的在于提出一种计算机设备。
8.本发明的第四个目的在于提出一种用于车辆软件升级的差分脚本自动生成装置。
9.为达上述目的,本发明第一方面实施例提出了一种用于车辆软件升级的差分脚本自动生成方法,该方法包括以下步骤:生成顶层源代码文件,并对所述顶层源代码文件进行识别以获得所述顶层源代码文件中的头文本;向与所述头文本相关联的目录添加编译脚本,并根据所述头文本的引用结构生成脚本链接;根据所述顶层源代码文件和所述脚本链接生成差分脚本文件。
10.本发明实施例的差分脚本自动生成方法首先生成顶层源代码文件,并对该顶层源代码文件进行识别以获得顶层源代码文件中的头文本,再向与该头文本相关联的目录添加编译脚本,并根据头文本的引用结构生成脚本链接,然后根据顶层源代码文件和脚本链接生成差分脚本文件。本实施例中的用于车辆软件升级的差分脚本自动生成方法在用户写好程序之后,调用一次即可完成编译脚本的自动配置,从而能够有效提高用户的编译效率,降低工作人员的工作量,同时提高脚本书写的准确度。
11.在本发明的一些示例中,向与所述头文本相关联的目录添加编译脚本,包括:向所述头文本所在的目录添加编译脚本,并向所述头文本的父目录逐级添加编译脚本,直至添加到顶层目录。
12.在本发明的一些示例中,在向所述头文本的顶层目录添加编译脚本之前,还包括:根据所述顶层源代码文件中源代码的扩展名指定编译工具,并利用所述编译工具,根据用户自定义修改项生成顶层编译脚本。
13.在本发明的一些示例中,所述用户自定义修改项包括库路径、目标文件名和目标文件类型。
14.在本发明的一些示例中,采用代码解析器对所述顶层源代码文件进行识别时,以用户设定的主函数入口的文件作为起点,开始检查并识别。
15.在本发明的一些示例中,在所述层源代码文件中识别到多个头文本时,采用递归算法并根据深度优先策略对所述多个头文件进行编译脚本添加操作。
16.在本发明的一些示例中,在生成所述脚本链接时,如果需要使用自定义库,则通过配置界面发出自定义库链接提示信息。
17.为达上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有用于车辆软件升级的差分脚本自动生成程序,该用于车辆软件升级的差分脚本自动生成程序被处理器执行时实现如上述实施例所述的用于车辆软件升级的差分脚本自动生成方法。
18.根据本发明实施例的计算机可读存储介质,处理器执行存储在该存储介质上的用于车辆软件升级的差分脚本自动生成程序,能够有效提高用户的编译效率,降低工作人员的工作量,同时提高脚本书写的准确度。
19.为达上述目的,本发明第三方面实施例提出了一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的用于车辆软件升级的差分脚本自动生成程序,所述处理器执行所述用于车辆软件升级的差分脚本自动生成程序时,实现如上述实施例所述的用于车辆软件升级的差分脚本自动生成方法。
20.本发明实施例的计算机设备包括存储器和处理器,处理器执行存储在存储器上的用于车辆软件升级的差分脚本自动生成程序,能够有效提高用户的编译效率,降低工作人员的工作量,同时提高脚本书写的准确度。
21.为达上述目的,本发明第四方面实施例提出了一种用于车辆软件升级的差分脚本自动生成装置,该差分脚本自动生成装置包括:第一生成模块,用于生成顶层源代码文件;识别模块,用于对所述顶层源代码文件进行识别以获得所述顶层源代码文件中的头文本;添加模块,用于向与所述头文本相关联的目录添加编译脚本;第二生成模块,用于根据所述头文本的引用结构生成脚本链接,并根据所述顶层源代码文件和所述脚本链接生成差分脚本文件。
22.本发明实施例的用于车辆软件升级的差分脚本自动生成装置包括第一生成模块、识别模块、添加模块和第二生成模块,其中,第一生成模块用于生成顶层源代码文件,然后通过识别模块识别该顶层源代码文件以获得顶层源代码文件中的头文本,再利用添加模块向与头文本相关联的目录添加编译脚本,最后利用第二生成模块根据头文本的引用结构生成脚本链接,并根据顶层源代码文件和脚本链接生成差分脚本文件。由此,该用于车辆软件
升级的差分脚本自动生成装置能够有效提高用户的编译效率,降低工作人员的工作量,同时提高脚本书写的准确度。
23.本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
24.图1是本发明实施例的用于车辆软件升级的差分脚本自动生成方法的流程图;
25.图2是本发明实施例的计算机设备的结构框图;
26.图3是本发明实施例的用于车辆软件升级的差分脚本自动生成装置的结构框图。
具体实施方式
27.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
28.下面参考附图描述本发明实施例的差分脚本自动生成方法与装置、存储介质、计算机设备。
29.图1是本发明实施例的用于车辆软件升级的差分脚本自动生成方法的流程图。
30.首先,需要说明的是,本实施例中的差分脚本自动生成方法可以应用于车辆的软件升级,在程序开发的过程中,程序员一般都是手动编写顶级编译脚本(如makefile和链接配置文件),并且在编写程序的过程中需要不断完善编译脚本文件和链接内容,有时如果用户的程序发生改变时,还需要修改对应的编译脚本,并且如果配置不正确,则会编译提示出错。本发明实施例的差分脚本自动生成方法可以自动生成编译脚本,当程序员写好程序之后,只要调用一次即可完成编译脚本的自动配置,极大的提高了用户的编译效率,还能够降低工作人员的工作量,同时提高脚本书写的准确度。
31.如图1所示,用于车辆软件升级的差分脚本自动生成方法包括以下步骤:
32.s10,生成顶层源代码文件,并对顶层源代码文件进行识别以获得顶层源代码文件中的头文本。
33.具体地,本实施例的差分脚本自动生成方法首先生成顶层源代码文件,可以理解的是,该顶层源代码中包含有头文本,头文本是程序编程中非常重要的文件,其能够提供保密和代码复用的手段,减少代码的重复书写度,从而提高程序的编写效率和修改效率。在生成顶层源代码文件之后,则对该顶层源代码文件进行识别以获得顶层源代码文件中的头文本。
34.s20,向与头文本相关联的目录添加编译脚本,并根据头文本的引用结构生成脚本链接。
35.具体地,在获取到顶层源代码文件中的头文本之后,则向与头文本相关联的目录添加编译脚本,并根据头文本的引用结构生成脚本链接。在本发明的一些示例中,如果在层源代码文件中识别到多个头文本时,则采用递归算法并根据深度优先策略对多个头文件进行编译脚本添加操作。举例而言,如果识别到顶层源代码文件中有多个头文本,则可以根据深度优先策略定义不同头文本之间的优先级,例如,越底层的优先级越高,即首先添加最底
层头文本所对应的目录,然后再网上一层继续添加,以此类推,知道最顶层。
36.在本发明的一些实施例中,向与头文本相关联的目录添加编译脚本,包括:向头文本所在的目录添加编译脚本,并向头文本的父目录逐级添加编译脚本,直至添加到顶层目录。
37.具体地,在该实施例中,当完成向头文本所在的目录添加编译脚本时,则可以向该头文本所在目录的上一层目录即父目录再次进行添加编译脚本,并在该头文本的父目录添加完编译脚本之后,则可以再次向该头文本所在的父目录的上一层目录添加编译脚本,以此类推,知道在该头文本的顶层目录添加编译脚本。
38.需要说明的是,在一些示例中,在向头文本的顶层目录添加编译脚本之前,还包括:根据顶层源代码文件中源代码的扩展名指定编译工具,并利用编译工具,根据用户自定义修改项生成顶层编译脚本。
39.具体地,在该实施例中,可以根据不同的顶层源代码文件中源代码的扩展名指定编译工具,举例而言,如果顶层源代码文件中的源代码扩展名为“.java”,则选择javac编译器;如果顶层源代码文件中的源代码扩展名为“.c”,则选择gcc(gnu compiler collection,gnu编译器套件)编译器。在选择编译工具之后,则可以根据用户自定义修改项生成顶层编译脚本。在一些示例中,用户自定义修改项包括库路径、目标文件名和目标文件类型。
40.在本发明的一些示例中,在采用代码解析器对顶层源代码文件进行识别时,以用户设定的主函数入口的文件作为起点,开始检查并识别。
41.具体地,在本发明实施例中,用户可以自定义一个主函数入口的文件作为识别起点,当代码解析器对顶层源代码文件进行识别时,则可以由该起点开始检查并识别。可选地,在识别到头文本之后,可以停止识别,并在该头文本所在的目录中添加编译脚本,然后再进一步识别该头文本的父目录中的源代码文件,可以理解的是,用户也可以在该头文本的父目录的源代码文件中设定主函数入口的文件作为起点,并从该起点开始检查并识别。
42.在该实施例中,当识别完工程上所有目录的头文本并添加编译脚本完成之后,则可以根据头文本的引用结构生成一个脚本链接。
43.s30,根据顶层源代码文件和脚本链接生成差分脚本文件。
44.在脚本链接生成之后,则可以根据顶层源代码文件和脚本链接生成一个相对应的差分脚本文件,当程序员写好程序之后,则可以调用该差分脚本文件以完成编译脚本的自动配置,极大的提高了用户的编译效率,还能够降低工作人员的工作量,同时提高脚本书写的准确度。
45.在本发明的一些示例中,在生成脚本链接时,如果需要使用自定义库,则通过配置界面发出自定义库链接提示信息。
46.具体地,由于用户的使用习惯或者工程要求等原因,有些用户需要将脚本链接存放在自定义库中,从而本发明实施例的用于车辆软件升级的差分脚本自动生成方法在生成脚本链接之后,用户可以根据配置界面发出的自定义库链接提示信息进行相对应的操作,以使脚本链接存放在自定义库中。
47.综上,该实施例的用于车辆软件升级的差分脚本自动生成方法能够有效提高用户的编译效率,降低工作人员的工作量,同时提高脚本书写的准确度。
48.进一步地,本发明提出了一种计算机可读存储介质,其上存储有用于车辆软件升级的差分脚本自动生成程序,该用于车辆软件升级的差分脚本自动生成程序被处理器执行时实现如上述实施例中的用于车辆软件升级的差分脚本自动生成方法。
49.本发明实施例的计算机可读存储介质通过处理器执行存储在该存储介质上的用于车辆软件升级的差分脚本自动生成程序,能够有效提高用户的编译效率,降低工作人员的工作量,同时提高脚本书写的准确度。
50.图2是本发明实施例的计算机设备的结构框图。
51.进一步地,如图2所示,本发明提出了一种计算机设备10,该计算机设备10包括存储器11、处理器12及存储在存储器11上并可在处理器12上运行的用于车辆软件升级的差分脚本自动生成程序,处理器12执行用于车辆软件升级的差分脚本自动生成程序时,实现如上述实施例中的用于车辆软件升级的差分脚本自动生成方法。
52.本发明实施例的计算机设备包括存储器和处理器,处理器执行存储在存储器上的用于车辆软件升级的差分脚本自动生成程序,能够有效提高用户的编译效率,降低工作人员的工作量,同时提高脚本书写的准确度。
53.图3是本发明实施例的用于车辆软件升级的差分脚本自动生成装置的结构框图。
54.进一步地,如图3所示,本发明提出了一种用于车辆软件升级的差分脚本自动生成装置100,该用于车辆软件升级的差分脚本自动生成装置100包括第一生成模块101、识别模块102、添加模块103和第二生成模块104。
55.其中,第一生成模块101用于生成顶层源代码文件;识别模块102用于对顶层源代码文件进行识别以获得顶层源代码文件中的头文本;添加模块103用于向与头文本相关联的目录添加编译脚本;第二生成模块104用于根据头文本的引用结构生成脚本链接,并根据顶层源代码文件和脚本链接生成差分脚本文件。
56.首先,需要说明的是,本实施例中的差分脚本自动生成方法可以应用于车辆的软件升级,在程序开发的过程中,程序员一般都是手动编写顶级编译脚本(如makefile和链接配置文件),并且在编写程序的过程中需要不断完善编译脚本文件和链接内容,有时如果用户的程序发生改变时,还需要修改对应的编译脚本,并且如果配置不正确,则会编译提示出错。本发明实施例的差分脚本自动生成方法可以自动生成编译脚本,当程序员写好程序之后,只要调用一次即可完成编译脚本的自动配置,极大的提高了用户的编译效率,还能够降低工作人员的工作量,同时提高脚本书写的准确度。
57.如图3所示,第一生成模块101首先生成顶层源代码文件,可以理解的是,该顶层源代码中包含有头文本,头文本是程序编程中非常重要的文件,其能够提供保密和代码复用的手段,减少代码的重复书写度,从而提高程序的编写效率和修改效率。在第一生成模块101生成顶层源代码文件之后,则利用识别模块102对该顶层源代码文件进行识别以获得顶层源代码文件中的头文本。在识别模块102识别获取到顶层源代码文件中的头文本之后,则利用添加模块103向与头文本相关联的目录添加编译脚本,并根据头文本的引用结构生成脚本链接。
58.在该实施例中,当识别模块102识别完工程上所有目录的头文本,并且添加模块103添加编译脚本完成之后,则可以利用第二生成模块104根据头文本的引用结构生成一个脚本链接,并在脚本链接生成之后,第二生成模块104可以根据顶层源代码文件和脚本链接
生成一个相对应的差分脚本文件,当程序员写好程序之后,则可以调用该差分脚本文件以完成编译脚本的自动配置,极大的提高了用户的编译效率,还能够降低工作人员的工作量,同时提高脚本书写的准确度。
59.在本发明的一些示例中,添加模块用于向与头文本相关联的目录添加编译脚本,包括:向头文本所在的目录添加编译脚本,并向头文本的父目录逐级添加编译脚本,直至添加到顶层目录。
60.具体地,在该实施例中,当添加模块完成向头文本所在的目录添加编译脚本时,则可以向该头文本所在目录的上一层目录即父目录再次进行添加编译脚本,并在该头文本的父目录添加完编译脚本之后,则可以再次向该头文本所在的父目录的上一层目录添加编译脚本,以此类推,知道在该头文本的顶层目录添加编译脚本。
61.在本发明的一些示例中,添加模块在向头文本的顶层目录添加编译脚本之前,还包括:根据顶层源代码文件中源代码的扩展名指定编译工具,并利用编译工具,根据用户自定义修改项生成顶层编译脚本。
62.具体地,在该实施例中,可以根据不同的顶层源代码文件中源代码的扩展名指定编译工具,举例而言,如果顶层源代码文件中的源代码扩展名为“.java”,则选择javac编译器;如果顶层源代码文件中的源代码扩展名为“.c”,则选择gcc(gnu compiler collection,gnu编译器套件)编译器。在选择编译工具之后,则可以根据用户自定义修改项生成顶层编译脚本。
63.在本发明的一些示例中,用户自定义修改项包括库路径、目标文件名和目标文件类型。
64.在本发明的一些示例中,识别模块采用代码解析器对顶层源代码文件进行识别时,以用户设定的主函数入口的文件作为起点,开始检查并识别。
65.具体地,在本发明实施例中,用户可以自定义一个主函数入口的文件作为识别模块的识别起点,当代码解析器对顶层源代码文件进行识别时,则可以由该起点开始检查并识别。可选地,在识别模块识别到头文本之后,可以停止识别,并在该头文本所在的目录中添加编译脚本,然后再进一步识别该头文本的父目录中的源代码文件,可以理解的是,用户也可以在该头文本的父目录的源代码文件中设定主函数入口的文件作为起点,并从该起点开始检查并识别。
66.在本发明的一些示例中,识别模块在层源代码文件中识别到多个头文本时,采用递归算法并根据深度优先策略对多个头文件进行编译脚本添加操作。
67.举例而言,如果识别模块识别到顶层源代码文件中有多个头文本,则可以根据深度优先策略定义不同头文本之间的优先级,例如,越底层的优先级越高,即首先添加最底层头文本所对应的目录,然后再网上一层继续添加,以此类推,知道最顶层。
68.在本发明的一些示例中,第二生成模块在生成脚本链接时,如果需要使用自定义库,则通过配置界面发出自定义库链接提示信息。
69.具体地,由于用户的使用习惯或者工程要求等原因,有些用户需要将脚本链接存放在自定义库中,从而本发明实施例的用于车辆软件升级的差分脚本自动生成装置在第二生成模块104生成脚本链接之后,用户可以根据配置界面发出的自定义库链接提示信息进行相对应的操作,以使脚本链接存放在自定义库中。
70.需要说明的是,本实施例的用于车辆软件升级的差分脚本自动生成装置的其他具体实施方式,可以参照上述实施例中的用于车辆软件升级的差分脚本自动生成方法的具体实施例。
71.综上,该实施例的用于车辆软件升级的差分脚本自动生成装置能够有效提高用户的编译效率,降低工作人员的工作量,同时提高脚本书写的准确度。
72.需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
73.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
74.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
75.在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
76.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
77.在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等
术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
78.在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
79.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1