车辆数据联调测试方法、装置、电子设备及存储介质与流程

未命名 08-29 阅读:92 评论:0


1.本技术涉及新能源汽车技术领域,尤其涉及一种车辆数据联调测试方法、装置、电子设备及存储介质。


背景技术:

2.随着车联网的发展,越来越多的数据开始在车端、云端以及各业务系统进行交互,由于各端使用技术编程语言差异性大,比如车端通常使用c语言,云端通常是java,大数据平台通常是python,通过数据传输协议实现各个系统之间的交互。
3.然而,在协议版本迭代过程中需要将最新的协议文件和协议相关变更描述文档同步到车端、云端以及各业务端。在系统持续迭代的过程中,协议经常会有新增和修改,而云端就要持续更新并且同步到车端、云端和各业务端,如果哪一端比如业务系统端没有同步最新协议,那么在项目运行过程就没办法接收和处理协议最新变化部分数据,并且线上各个环境具体使用哪一版本协议不好排查。
4.在现有的技术实践中,目前的协议版本管理方法存在以下问题:系统更新会导致协议变更,难以维护和追踪多个版本及其变更记录。当前通过人工同步协议文件,效率低且难以比较版本变更;不同系统的需求输入可能导致协议理解和实现的差异,增加了维护和沟通成本;当前在线系统使用的协议版本可能不明确,可能导致数据丢失或解析错误;不同系统的开发速度可能不同,导致阻塞和联调困难。


技术实现要素:

5.有鉴于此,本技术实施例提供了一种车辆数据联调测试方法、装置、电子设备及存储介质,以解决现有技术存在的同步协议文件效率低,增加维护和沟通成本,容易导致数据丢失或解析错误,导致阻塞和联调困难的问题。
6.本技术实施例的第一方面,提供了一种车辆数据联调测试方法,包括:创建车辆项目协议,基于web页面对车辆项目协议中的类型字段以及字段描述进行处理,利用处理后的类型字段以及字段描述生成协议文件;获取利用协议文件生成的协议数据,将协议数据中的字段与预设的协议版本对应的字段进行比对,依据比对结果确定协议数据对应的协议版本;确定作为联调测试对象的目标系统,并选择用于联调测试的目标协议版本,利用目标协议版本以及预定的测试数据生成规则,生成与目标协议版本相对应的测试数据;将测试数据通过http通信接口或者消息中间件传递给目标系统,以使目标系统依据测试数据执行相应的业务处理,以便进行车辆数据的联调测试。
7.本技术实施例的第二方面,提供了一种车辆数据联调测试装置,包括:创建模块,被配置为创建车辆项目协议,基于web页面对车辆项目协议中的类型字段以及字段描述进行处理,利用处理后的类型字段以及字段描述生成协议文件;比对模块,被配置为获取利用协议文件生成的协议数据,将协议数据中的字段与预设的协议版本对应的字段进行比对,依据比对结果确定协议数据对应的协议版本;生成模块,被配置为确定作为联调测试对象
的目标系统,并选择用于联调测试的目标协议版本,利用目标协议版本以及预定的测试数据生成规则,生成与目标协议版本相对应的测试数据;测试模块,被配置为将测试数据通过http通信接口或者消息中间件传递给目标系统,以使目标系统依据测试数据执行相应的业务处理,以便进行车辆数据的联调测试。
8.本技术实施例的第三方面,提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述方法的步骤。
9.本技术实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
10.本技术实施例采用的上述至少一个技术方案能够达到以下有益效果:
11.通过创建车辆项目协议,基于web页面对车辆项目协议中的类型字段以及字段描述进行处理,利用处理后的类型字段以及字段描述生成协议文件;获取利用协议文件生成的协议数据,将协议数据中的字段与预设的协议版本对应的字段进行比对,依据比对结果确定协议数据对应的协议版本;确定作为联调测试对象的目标系统,并选择用于联调测试的目标协议版本,利用目标协议版本以及预定的测试数据生成规则,生成与目标协议版本相对应的测试数据;将测试数据通过http通信接口或者消息中间件传递给目标系统,以使目标系统依据测试数据执行相应的业务处理,以便进行车辆数据的联调测试。本技术提高协议管理效率,增强协议版本比对功能,提高联调测试效率和准确性,提高测试灵活性。
附图说明
12.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
13.图1是本技术实施例提供的车辆数据联调测试方法的流程示意图;
14.图2是本技术实施例提供的车辆数据联调测试装置的结构示意图;
15.图3是本技术实施例提供的电子设备的结构示意图。
具体实施方式
16.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
17.依据背景技术所描述的内容,随着车联网的发展,越来越多的数据开始在车端、云端以及各业务系统进行交互,由于各端使用技术编程语言差异性大,比如车端通常使用c语言,云端通常是java,大数据平台通常是python,交互过程中数据传输协议使用最广的是protocol buffers。protocol buffers是一种语言无关、平台无关、可扩展的序列化结构数据的方法,用于数据通信协议和数据存储等,体积小,编解码速度快。
18.通常来讲,云端tsp开发人员充当proto协议文件编写工作,在迭代过程中将最新proto协议文件和协议相关变更描述文档同步到车端、云端以及各业务端。在系统持续迭代
的过程中,协议经常会有新增、修改,而云端tsp就要持续更新并且同步到车端、云端、各业务端,如果哪一端比如业务系统端没有同步最新协议,那么在项目运行过程就没办法接收和处理协议最新变化部分数据,并且线上各个环境具体使用哪一版本协议不好排查。
19.由于车载系统、云端和业务系统的开发进度和协议理解可能存在差异,因此在协议版本管理和同步方面存在一些显著的技术问题,具体包括:
20.(1)协议版本的维护和追踪问题:协议版本越来越多难以维护、历史变更不好记录。通过以协议文件的方式同步给各个端侧,这种人工同步方式重复性高而且效率不高,再者想进行任意两个版本变更比对很不方便。
21.(2)协议内容对齐和理解问题:各个端的协议内容不容易对齐、具体协议字段描述在各个端理解不一致。需求的输入有时来自tbox有时来自app或者其它需求方,协议制定后人工同步给各端侧维护成本高、沟通成本高、而且各个端未必能实时对齐。
22.(3)在线系统协议版本的追踪问题:目前在线上交互的各个系统使用的哪个协议版本不清楚。比如tbox使用了v1.0.1协议,而云端使用了新版的v1.0.2,两者区别在于v1.0.2多了一些内容字段,那么再由tbox上报数据给tsp的时候就会造成这些新内容的缺失,反过来也有同样的情况由v1.0.2向版本v1.0,1发出数据对方也无法正常解析。出现这种数据确实问题首先考虑协议版本,但目前没有工具对数据进行版本定位。
23.(4)开发进度不一致问题:各个端开发进度不一致、往往造成互相阻塞,难以统一联调。比如新增了一些功能,涉及到app端、tsp端、tbox端,通常来讲各个端研发进度是不一致的,那么就会造成一端比如tbox开发好了想拉通联调,但是其他端又在开发中。
24.鉴于上述现有技术中存在的问题,本技术实施例提供一种车辆数据联调测试方法。本技术通过基于web页面的方式对车辆项目协议进行处理和生成,协议的创建、查看、新增、编辑或比对操作更加便捷和直观,从而显著提高了协议管理的效率。同时,通过为协议文件设置新的协议版本标识,可以明确追踪和管理各个协议版本。本技术可以轻松比较相邻协议版本或非相邻协议版本之间的差异,提升了协议版本比对和管理的便利性,有助于更好地理解和跟踪协议的变化,增强协议版本比对功能。本技术通过预定的测试数据生成规则和目标协议版本,生成相应的测试数据,可通过http通信接口或者消息中间件传递给目标系统,进行联调测试;并且,本技术技术方案使得测试更为灵活,可以更准确地进行联调测试,从而提高了联调测试的效率和准确性。
25.下面结合附图以及具体实施例对本技术技术方案的内容进行详细描述。
26.图1是本技术实施例提供的车辆数据联调测试方法的流程示意图。图1的车辆数据联调测试方法可以由服务器来执行。如图1所示,该车辆数据联调测试方法具体可以包括:
27.s101,创建车辆项目协议,基于web页面对车辆项目协议中的类型字段以及字段描述进行处理,利用处理后的类型字段以及字段描述生成协议文件;
28.s102,获取利用协议文件生成的协议数据,将协议数据中的字段与预设的协议版本对应的字段进行比对,依据比对结果确定协议数据对应的协议版本;
29.s103,确定作为联调测试对象的目标系统,并选择用于联调测试的目标协议版本,利用目标协议版本以及预定的测试数据生成规则,生成与目标协议版本相对应的测试数据;
30.s104,将测试数据通过http通信接口或者消息中间件传递给目标系统,以使目标
系统依据测试数据执行相应的业务处理,以便进行车辆数据的联调测试。
31.protocol buffers(通常缩写为protobuf)是一种数据格式,可用于数据的序列化和反序列化。序列化就是把数据结构或者对象转换成可以存储或传输的二进制或文本格式,而反序列化则是将这些数据重新转换回原来的对象或数据结构。
32.protocol buffers在新能源汽车技术领域中的应用主要集中在车联网和自动驾驶等领域。这些场景中需要在不同的设备、平台和编程语言之间进行数据通信和交互,例如在车辆控制单元(ecu)、云端服务、用户端应用等之间。
33.具体来说,protocol buffers有以下主要优点:
34.平台无关和语言无关:protocol buffers定义了一种中立的接口描述语言(idl),用来描述数据结构。通过protobuf编译器,可以将这些接口描述编译成多种语言的代码,包括c++、java、python等。这使得protobuf非常适合用于不同系统和语言之间的数据通信。
35.效率高,数据体积小:protocol buffers序列化后的数据非常紧凑,通常比xml、json等格式的数据小得多。同时,编码和解码的效率也非常高。
36.兼容性强:protocol buffers的设计允许向前兼容和向后兼容。这意味着你可以在不中断服务的情况下,逐步更新数据结构和接口。
37.明确的数据模型:protocol buffers使用明确的数据模型和类型系统,可以更好地保证数据的完整性和准确性。
38.因此,protocol buffers在新能源汽车领域的数据交互中起到了关键的作用。
39.在一些实施例中,创建车辆项目协议,基于web页面对车辆项目协议中的类型字段以及字段描述进行处理,包括:利用web页面根据车辆所属的车型创建车辆项目协议,并在web页面中对车辆项目协议中的协议字段以及字段描述进行查看、新增、编辑或比对操作。
40.具体地,本技术实施例的协议管理系统提供以车型项目协议(即车辆项目协议)在线创建、编辑、历史版本比对的能力。本技术实施例可以基于web页面对车辆项目协议进行创建和管理。首先,利用web页面根据车辆所属的车型创建车辆项目协议。例如,假设一个车型为“x1”的项目,可以在web页面上创建一个名为“x1项目协议”的新协议项目。
41.进一步地,可以在web页面中对该“x1项目协议”中的协议字段以及字段描述进行查看、新增、编辑或比对操作。例如:假设一份简单的协议包括车门和车窗,用户可以在web页面上输入相关的协议字段和描述。具体操作可以通过拖拉拽文本框的方式,因此非常直观便捷。
42.在一个具体示例中,用户可以添加以下协议字段和描述:
43.{
44.message msgtop{
45.msgdoor door;//车门
46.msgwindow window;//车窗
47.}
48.message msgdoor{
49.string left_front_door;//左前门
50.string right_front_door;//右前门
51.string left_behind_door;//左后门
52.string right_behind_door;//右后门
53.}
54.message msgwindow{
55.string left_front_window;//左前窗
56.string right_front_window;//右前窗
57.string left_behind_window;//左后窗
58.string right_behind_window;//右后窗
59.}
60.}
61.当用户完成编辑后,选择保存,系统后台会自动保存用户所编辑的协议信息、编辑时间等。此外,用户还可以点击下载,系统后台会根据用户所编辑的协议信息生成一个名为“x1_v1.0.1.proto”的协议文件,并下载下来。该协议文件是protobuf的序列化文件,包含了用户所编辑的协议字段和描述,可用于数据通信或数据存储。
62.通过以上实施例可以看出,本技术能够在线创建、编辑、查看和下载车辆项目协议,提供了一个非常便利的工具,可以提高车辆项目协议的管理效率,降低了管理成本。同时,由于本技术的方法支持在线比对协议版本,还可以有效地追踪和管理协议版本,减少了因协议版本不一致所可能导致的问题。
63.在一些实施例中,在利用处理后的类型字段以及字段描述生成协议文件之后,该方法还包括:为协议文件设置新的协议版本标识,建立协议文件中的各个字段与协议版本标识之间的映射关系;当比较相邻协议版本之间的差异时,基于协议版本标识确定相邻协议版本之间发生变更的字段;当比较非相邻协议版本之间的差异时,依次确定两个非相邻协议版本之间的相邻协议版本之间发生变更的字段,将全部相邻协议版本之间发生变更的字段的总和作为两个非相邻协议版本之间的差异。
64.具体地,本技术实施例的协议管理系统还实现了基于web页面的车辆项目协议版本管理和比对。在利用处理后的类型字段以及字段描述生成协议文件之后,系统将为协议文件设置新的协议版本标识,例如“v1.0.1”。此版本标识会与协议文件中的每一个字段关联起来,形成一种字段与协议版本标识之间的映射关系。这种映射关系可以方便地追踪每一个字段的版本历史和变更。
65.在版本比对过程中,用户可以选择两个版本进行比对,系统会基于协议版本标识来确定相邻版本之间发生变更的字段。例如,当用户选择比对“v1.0.1”和“v1.0.2”这两个版本时,系统会显示出这两个版本之间所有发生变更的字段。
66.如果用户需要比较两个非相邻的版本,比如“v1.0.1”和“v1.0.4”,系统则会依次比较相邻的中间版本之间的差异信息,包括“v1.0.1”与“v1.0.2”、“v1.0.2”与“v1.0.3”和“v1.0.3”与“v1.0.4”的差异。系统会将全部的差异信息汇总,作为“v1.0.1”与“v1.0.4”之间的差异,方便用户了解两个非相邻版本之间的全面变化。
67.在一个示例中,协议版本变更的差异比对方式的具体实现逻辑如下:
68.首先,系统会将每个协议文件存储到数据库中。每个协议文件中的字段都对应各自的协议版本标识,例如“v1.0.1”。当后续对版本进行变更时,系统会根据新增字段对应的版本标识来判断属于哪个版本。
69.其次,当用户请求比对两个版本时,系统会从数据库中查询这两个版本的所有字段,以及每个字段对应的版本标识。
70.然后,系统会比较两个版本的字段和版本标识,找出这两个版本之间的差异字段。如果两个版本是相邻版本,系统直接显示出差异字段;如果是非相邻版本,系统则需要依次比较每个相邻的中间版本之间的差异,然后将全部的差异字段汇总。
71.最后,系统将比对结果展示在web页面上,供用户查看。
72.在另一个实施例中,系统还可以为每个版本提供一个详细的版本描述,包括版本变更的原因、涉及的功能模块、变更的影响等信息。用户在进行版本比对时,除了看到版本之间的差异字段,还可以看到这些详细的版本描述,更全面地理解版本变更的内容和意义。
73.在另一个实施例中,系统还可以提供版本回退功能。如果用户发现新版本有问题,可以直接回退到旧版本,无需手动修改协议文件。这种功能可以大大提高版本管理的效率,减少因版本问题导致的业务影响。
74.根据本技术实施例提供的技术方案,本技术实施例的方法能够方便地管理和比对协议版本,帮助用户快速了解不同版本之间的差异,降低了因版本不一致导致的问题。
75.在一些实施例中,本技术实施例的协议管理系统还提供协议版本校验(即对数据进行版本定位)的功能,在实际应用中,通过获取利用协议文件生成的协议数据,将协议数据中的字段与预设的协议版本对应的字段进行比对,依据比对结果确定协议数据对应的协议版本。下面结合具体实施例对协议版本校验的具体实现过程及原理进行详细说明,具体可以包括以下内容:
76.本技术实施例的协议管理系统不仅能进行协议版本的创建、编辑、比对,还具有协议版本校验的功能,即能根据数据包的内容确定其对应的协议版本。当系统接收到一个数据包(即协议数据)时,会获取数据包中的各个字段。然后,系统会将这些字段与存储在数据库中的不同版本的协议文件中的字段进行比对。通过比对,系统能确定数据包对应的proto协议版本。为了优化比对效率,比对过程通常从最新的协议版本开始,逐一向前比对,直到找到与数据包字段完全匹配的协议版本。
77.在一个示例中,如果数据包中包含一个在v1.0.2版本中新增的字段“天窗”,那么系统就会确定这个数据包对应的协议版本至少是v1.0.2。如果数据包中没有在v1.0.3及以后版本中新增的字段,那么系统就会确定这个数据包对应的协议版本就是v1.0.2。
78.本技术实施例提供的协议版本校验功能对于排查线上问题非常有用。例如:如果在数据传输过程中发生了数据丢失,通过版本校验,可以快速定位到出问题的数据包对应的协议版本,从而更准确地定位和解决问题。此外,这种协议版本校验功能也可以帮助维护团队更好地管理和监控系统中使用的各种协议版本,及时发现和处理版本不一致的问题。并且,本技术实施例还进一步提高了协议管理系统的智能化和实用性,使其能更好地满足用户的需求,提高工作效率。
79.在一些实施例中,利用目标协议版本以及预定的测试数据生成规则,生成与目标协议版本相对应的测试数据,包括:根据为目标协议版本配置的测试数据生成规则,获取测试数据生成规则中的默认字段以及字段类型,依据字段类型对默认字段的值进行随机填充,或者在web页面中为默认字段指定数值,以便生成与目标协议版本相对应的测试数据。
80.具体地,本技术实施例的协议管理系统还能生成模拟测试数据,从而帮助用户更
有效地进行系统的联调测试。在实际应用中,系统提供模拟数据生成模块,根据预设的测试数据生成规则,可以为指定的协议版本生成相应的测试数据。测试数据生成规则可以包括默认字段、字段类型、数据生成方式等信息。
81.在一个示例中,对于固定值类型的字段,如“车型”、“车系”、“车辆属性”等,系统可以预设一些硬编码值(如“m7”等)。对于整型数值类的字段,如车窗开度、速度、续航等,系统可以预设一个取值范围,并在这个范围内随机生成值,例如:车窗开度约束0到100,速度约束0到120,续航约束0到2000。对于枚举数值类的字段,如灯光开关、车门开关、档位等,系统可以从预设的枚举值中随机选取值。对于时间类型的字段,系统可以生成实时时间,或根据业务需求自行设置时间。
82.此外,除了随机生成数据,系统还提供用户针对具体协议的web端数据录入功能。用户可以在web页面中为默认字段指定数值,从而生成特定的测试数据。这种功能特别适用于联调模拟时,需要固定一些数据的情况,比如设备号、车架号等。
83.本技术的这一实施例提高了协议管理系统的实用性,可以更好地支持系统的联调测试,提升测试效率和准确性。
84.在一些实施例中,将测试数据通过http通信接口传递给目标系统,并进行车辆数据的联调测试,包括:获取动态输入的目标系统的url地址,调用目标系统的url地址,向目标系统的url地址发送http请求,以便将目标协议版本对应的测试数据发送给目标系统,以使目标系统依据测试数据进行联调测试。
85.具体地,为了解决不同系统开发进度不一致,无法集成联调的问题,本技术实施例的协议管理系统进一步提供模拟联调功能。在实际应用中,系统提供了数据接收和发送模块。数据接收模块可以通过http方式接收测试数据,数据接收后,会将数据信息、数据所属版本信息等全部输出供用户查看。数据发送模块可以根据用户选择的协议版本,生成对应的测试数据,并发送给用户自身的系统进行交互。
86.本系统兼容不同的数据交互方式,包括http接口方式,以及通过消息中间件(如kafka、emq等)方式。对于采用http接口方式的系统,用户可以在web端动态输入目标系统的url地址,选择协议版本,以及设定模拟数据生成规则。系统后台会根据用户提供的url地址,和生成的模拟数据,向目标系统发送http请求。
87.在一个示例中,对于数据输入方式为http请求的目标系统,用户可以选择最新的协议版本,生成测试数据。系统根据目标系统的url地址,协议版本,以及模拟数据生成规则,自动生成相应版本的测试数据,并发送给目标系统。目标系统在收到协议后台系统发送的测试数据后,可以根据这些测试数据进行业务匹配。
88.本实施例提供的测试方式可以选择协议的任意历史版本,非常灵活,并且不依赖任何其他系统,可以独立进行反复测试。此外,用户还可以配置单位时间内发送次数,进行简单的压力测试。此外,当生成新的协议文件时,系统可以将新协议文件同步给各个系统。即将根据最新协议版本生成的测试数据,根据各个系统的数据输入方式,发送给对应的系统。这样,可以实现端对端的不同协议、不同模式的联调。因此,本技术上述实施例提供了灵活的测试方式,能够有效地支持不同系统的联调测试。
89.在一些实施例中,将测试数据通过消息中间件传递给目标系统,并进行车辆数据的联调测试,包括:获取用户输入的消息中间件服务器地址以及消息对应的主题,依据消息
中间件服务器地址连接到消息中间件服务器,并将测试数据传递至消息中间件服务器,以使目标系统利用消息中间件服务器中的测试数据进行联调测试。
90.具体地,本技术实施例的协议管理系统也可通过消息中间件向目标系统传递测试数据,进行车辆数据的联调测试。在使用消息中间件进行联调测试时,用户首先在web端选择消息中间件类型。目前,本系统支持多种常见的消息中间件,如kafka、emq等。然后,用户需要输入消息中间件服务器的地址,以及消息对应的主题。这些信息对于系统后台连接到消息中间件服务器,以及向相应主题发送消息至关重要。
91.在获取这些信息后,系统后台将开始处理。首先,根据用户提供的消息中间件服务器地址,系统后台将尝试连接到该服务器。在成功建立连接后,系统后台将开始生成测试数据。这些测试数据将根据用户指定的协议版本,以及模拟数据生成规则生成。
92.接着,系统后台将将这些测试数据封装成消息,然后发布到用户指定的主题上。在这个过程中,系统后台将根据消息中间件的类型,使用适当的发布方法。例如,如果消息中间件是kafka,系统后台将使用kafka的生产者api进行发布;如果消息中间件是emq,系统后台将使用mqtt协议进行发布。
93.可选地,目标系统可以通过订阅相应的主题,从消息中间件服务器接收到这些测试数据。然后,目标系统可以根据接收到的测试数据,进行联调测试。通过这种方法,本技术实施例的协议管理系统可以支持通过消息中间件进行联调测试,增加了测试的灵活性,且更好地满足了不同系统的联调需求。
94.可选地,本技术实施例中的协议文件为proto协议文件,协议版本为proto协议版本,协议数据及测试数据均为proto协议数据。
95.根据本技术实施例提供的技术方案,本技术提供一套协议管理系统,通过直观的方式新增和编辑协议,对每个字段都加以备注,包括由什么时间、由谁输入、作用是什么等,并记录变更。再能根据以上编辑动态生成proto协议文件并对外提供下载、提供协议版本校验、提供协议数据模拟、提供协议历史版本管理,以及提供协议联调支撑的能力,因此将会提高研发质量以及研发效率。本技术系统化地管理了协议的创建、编辑、查看、版本比对和测试,采用web页面对车辆项目协议进行处理,使得协议管理更为直观和方便;同时,结合预定的测试数据生成规则和目标协议版本生成测试数据,并根据系统需求选择合适的测试方式,从而提高了联调测试的效率和准确性。
96.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
97.图2是本技术实施例提供的车辆数据联调测试装置的结构示意图。如图2所示,该车辆数据联调测试装置包括:
98.创建模块201,被配置为创建车辆项目协议,基于web页面对车辆项目协议中的类型字段以及字段描述进行处理,利用处理后的类型字段以及字段描述生成协议文件;
99.比对模块202,被配置为获取利用协议文件生成的协议数据,将协议数据中的字段与预设的协议版本对应的字段进行比对,依据比对结果确定协议数据对应的协议版本;
100.生成模块203,被配置为确定作为联调测试对象的目标系统,并选择用于联调测试的目标协议版本,利用目标协议版本以及预定的测试数据生成规则,生成与目标协议版本相对应的测试数据;
101.测试模块204,被配置为将测试数据通过http通信接口或者消息中间件传递给目标系统,以使目标系统依据测试数据执行相应的业务处理,以便进行车辆数据的联调测试。
102.在一些实施例中,图2的创建模块201利用web页面根据车辆所属的车型创建车辆项目协议,并在web页面中对车辆项目协议中的协议字段以及字段描述进行查看、新增、编辑或比对操作。
103.在一些实施例中,在利用处理后的类型字段以及字段描述生成协议文件之后,图2的比对模块202为协议文件设置新的协议版本标识,建立协议文件中的各个字段与协议版本标识之间的映射关系;当比较相邻协议版本之间的差异时,基于协议版本标识确定相邻协议版本之间发生变更的字段;当比较非相邻协议版本之间的差异时,依次确定两个非相邻协议版本之间的相邻协议版本之间发生变更的字段,将全部相邻协议版本之间发生变更的字段的总和作为两个非相邻协议版本之间的差异。
104.在一些实施例中,图2的生成模块203根据为目标协议版本配置的测试数据生成规则,获取测试数据生成规则中的默认字段以及字段类型,依据字段类型对默认字段的值进行随机填充,或者在web页面中为默认字段指定数值,以便生成与目标协议版本相对应的测试数据。
105.在一些实施例中,图2的测试模块204获取动态输入的目标系统的url地址,调用目标系统的url地址,向目标系统的url地址发送http请求,以便将目标协议版本对应的测试数据发送给目标系统,以使目标系统依据测试数据进行联调测试。
106.在一些实施例中,图2的测试模块204获取用户输入的消息中间件服务器地址以及消息对应的主题,依据消息中间件服务器地址连接到消息中间件服务器,并将测试数据传递至消息中间件服务器,以使目标系统利用消息中间件服务器中的测试数据进行联调测试。
107.在一些实施例中,协议文件为proto协议文件,协议版本为proto协议版本,协议数据及测试数据均为proto协议数据。
108.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
109.图3是本技术实施例提供的电子设备3的结构示意图。如图3所示,该实施例的电子设备3包括:处理器301、存储器302以及存储在该存储器302中并且可以在处理器301上运行的计算机程序303。处理器301执行计算机程序303时实现上述各个方法实施例中的步骤。或者,处理器301执行计算机程序303时实现上述各装置实施例中各模块/单元的功能。
110.示例性地,计算机程序303可以被分割成一个或多个模块/单元,一个或多个模块/单元被存储在存储器302中,并由处理器301执行,以完成本技术。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序303在电子设备3中的执行过程。
111.电子设备3可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备3可以包括但不仅限于处理器301和存储器302。本领域技术人员可以理解,图3仅仅是电子设备3的示例,并不构成对电子设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,电子设备还可以包括输入输出设备、网络接入设
备、总线等。
112.处理器301可以是中央处理单元(central processing unit,cpu),也可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
113.存储器302可以是电子设备3的内部存储单元,例如,电子设备3的硬盘或内存。存储器302也可以是电子设备3的外部存储设备,例如,电子设备3上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器302还可以既包括电子设备3的内部存储单元也包括外部存储设备。存储器302用于存储计算机程序以及电子设备所需的其它程序和数据。存储器302还可以用于暂时地存储已经输出或者将要输出的数据。
114.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
115.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
116.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
117.在本技术所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
118.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
119.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
120.集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
121.以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。

技术特征:
1.一种车辆数据联调测试方法,其特征在于,包括:创建车辆项目协议,基于web页面对所述车辆项目协议中的类型字段以及字段描述进行处理,利用处理后的类型字段以及字段描述生成协议文件;获取利用所述协议文件生成的协议数据,将所述协议数据中的字段与预设的协议版本对应的字段进行比对,依据比对结果确定所述协议数据对应的协议版本;确定作为联调测试对象的目标系统,并选择用于联调测试的目标协议版本,利用所述目标协议版本以及预定的测试数据生成规则,生成与所述目标协议版本相对应的测试数据;将所述测试数据通过http通信接口或者消息中间件传递给所述目标系统,以使所述目标系统依据所述测试数据执行相应的业务处理,以便进行车辆数据的联调测试。2.根据权利要求1所述的方法,其特征在于,所述创建车辆项目协议,基于web页面对所述车辆项目协议中的类型字段以及字段描述进行处理,包括:利用所述web页面根据车辆所属的车型创建所述车辆项目协议,并在所述web页面中对所述车辆项目协议中的协议字段以及字段描述进行查看、新增、编辑或比对操作。3.根据权利要求1所述的方法,其特征在于,在所述利用处理后的类型字段以及字段描述生成协议文件之后,所述方法还包括:为所述协议文件设置新的协议版本标识,建立所述协议文件中的各个字段与所述协议版本标识之间的映射关系;当比较相邻协议版本之间的差异时,基于所述协议版本标识确定相邻协议版本之间发生变更的字段;当比较非相邻协议版本之间的差异时,依次确定两个非相邻协议版本之间的相邻协议版本之间发生变更的字段,将全部相邻协议版本之间发生变更的字段的总和作为两个非相邻协议版本之间的差异。4.根据权利要求1所述的方法,其特征在于,所述利用所述目标协议版本以及预定的测试数据生成规则,生成与所述目标协议版本相对应的测试数据,包括:根据为所述目标协议版本配置的所述测试数据生成规则,获取所述测试数据生成规则中的默认字段以及字段类型,依据所述字段类型对所述默认字段的值进行随机填充,或者在所述web页面中为所述默认字段指定数值,以便生成与所述目标协议版本相对应的测试数据。5.根据权利要求4所述的方法,其特征在于,将所述测试数据通过http通信接口传递给所述目标系统,并进行车辆数据的联调测试,包括:获取动态输入的所述目标系统的url地址,调用所述目标系统的url地址,向所述目标系统的url地址发送http请求,以便将所述目标协议版本对应的测试数据发送给所述目标系统,以使所述目标系统依据所述测试数据进行联调测试。6.根据权利要求4所述的方法,其特征在于,将所述测试数据通过消息中间件传递给所述目标系统,并进行车辆数据的联调测试,包括:获取用户输入的消息中间件服务器地址以及消息对应的主题,依据所述消息中间件服务器地址连接到消息中间件服务器,并将所述测试数据传递至所述消息中间件服务器,以使所述目标系统利用所述消息中间件服务器中的测试数据进行联调测试。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述协议文件为proto协议文件,所述协议版本为proto协议版本,所述协议数据及所述测试数据均为proto协议数据。8.一种车辆数据联调测试装置,其特征在于,包括:创建模块,被配置为创建车辆项目协议,基于web页面对所述车辆项目协议中的类型字段以及字段描述进行处理,利用处理后的类型字段以及字段描述生成协议文件;比对模块,被配置为获取利用所述协议文件生成的协议数据,将所述协议数据中的字段与预设的协议版本对应的字段进行比对,依据比对结果确定所述协议数据对应的协议版本;生成模块,被配置为确定作为联调测试对象的目标系统,并选择用于联调测试的目标协议版本,利用所述目标协议版本以及预定的测试数据生成规则,生成与所述目标协议版本相对应的测试数据;测试模块,被配置为将所述测试数据通过http通信接口或者消息中间件传递给所述目标系统,以使所述目标系统依据所述测试数据执行相应的业务处理,以便进行车辆数据的联调测试。9.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至7中任一项所述的方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法。

技术总结
本申请提供一种车辆数据联调测试方法、装置、电子设备及存储介质。该方法包括:创建车辆项目协议,基于web页面对车辆项目协议中的类型字段以及字段描述进行处理,并生成协议文件;获取利用协议文件生成的协议数据,将协议数据中的字段与预设的协议版本对应的字段进行比对,确定协议数据对应的协议版本;确定作为联调测试对象的目标系统,并选择目标协议版本,利用目标协议版本以及测试数据生成规则生成测试数据;将测试数据通过HTTP通信接口或者消息中间件传递给目标系统,以使目标系统依据测试数据执行相应的业务处理,以便进行车辆数据的联调测试。本申请提高协议管理效率,增强协议版本比对功能,提高联调测试效率和准确性,提高测试灵活性。提高测试灵活性。提高测试灵活性。


技术研发人员:王翊 叶松林
受保护的技术使用者:成都赛力斯科技有限公司
技术研发日:2023.05.29
技术公布日:2023/8/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐