System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及车辆,尤其涉及一种车辆故障检测方法、装置、电子设备及机器可读存储介质。
技术介绍
1、车辆检测技术是凭借仪器设备对汽车进行性能测试和故障检查的方法和手段。
2、在目前的技术中,通常由开发人员将用于进行车辆检测的检测规则通过硬编码的方式写入用于检测车辆故障的程序对应的代码中。
3、一方面,由于目前的技术中针对所述检测规则只能由开发人员进行配置,同时开发人员需要与业务人员反复沟通确认检测规则针对的车辆故障是否一致,导致检测规则的配置效率低;另一方面,通过硬编码的方式配置故障检测规则,灵活性较低,从而导致故障检测的效率不高。
技术实现思路
1、本申请提供一种车辆故障检测方法,应用于服务端;所述服务端维护了针对文本的语法解析规则;其中,所述语法解析规则用于将所述文本转化为与基于预设的编程语言的代码对应的语法结构;所述方法包括:
2、获取用于描述针对车辆的故障检测规则的目标文本;
3、基于所述语法解析规则,对所述目标文本进行语法解析,以将所述目标文本转化为与基于所述编程语言的代码对应的语法结构;
4、根据所述语法结构,生成与所述语法结构对应的基于所述编程语言的目标代码,并对所述目标代码进行存储,以通过执行所述目标代码对所述车辆进行故障检测。
5、可选的,所述文本包括表达式文本。
6、可选的,所述编程语言为java。
7、可选的,所述语法结构为语法树。
8、可选的,所述语法解析
9、所述基于所述语法解析规则,对所述目标文本进行语法解析,以将所述目标文本转化为与基于所述编程语言的代码对应的语法结构,包括:
10、基于所述词法定义子规则,对所述目标文本进行词法分析,以将所述目标文本拆解为至少一个单词;
11、基于所述语法组织子规则,对拆解得到的所述至少一个单词进行语法组织,以将所述至少一个单词组织成与基于所述编程语言的代码对应的语法结构。
12、可选的,所述基于所述语法解析规则,对所述目标文本进行语法解析,以将所述目标文本转化为与基于所述编程语言的代码对应的语法结构,包括:
13、基于所述语法解析规则,对所述目标文本进行语法解析,并对语法解析过程中产生的中间结果进行校验;
14、如果校验通过,则进一步将所述目标文本转化为与基于所述编程语言的代码对应的语法结构;
15、如果校验不通过,则停止将所述目标文本转化为与基于所述编程语言的代码对应的语法结构,并输出指示校验不通过的提示信息。
16、可选的,在以下示出的三种情况中的任意一种情况下,确定校验不通过:
17、所述中间结果指示所述目标文本中包含非法字符;
18、所述中间结果指示所述目标文本中包含不合法的表达式;
19、所述中间结果指示所述语法结构中包含数据类型不匹配的数据。
20、可选的,所述服务端维护有文本与基于所述编程语言的代码之间的对应关系;
21、所述方法还包括:
22、查询所述对应关系,确定与所述目标文本对应的目标代码。
23、可选的,所述方法还包括:
24、获取目标车辆的车况信息;
25、基于所述目标代码以及所述车况信息,对所述目标车辆进行故障检测,并基于所述故障检测结果,确定所述目标车辆是否发生故障。
26、可选的,所述车况信息包括针对所述目标车辆采集的传感数据;
27、基于所述目标代码以及所述车况信息,对所述目标车辆进行故障检测,并基于所述故障检测结果,确定所述目标车辆是否发生故障,包括:
28、将所述传感数据作为所述目标代码的输入参数,执行所述目标代码,并基于执行结果,确定所述目标车辆是否发生故障。
29、可选的,在基于所述目标代码以及所述车况信息,对所述目标车辆进行故障检测,并基于所述故障检测结果,确定所述目标车辆是否发生故障之前,所述方法还包括:
30、针对所述目标代码进行动态编译,以得到与所述目标代码对应的字节码,并将所述字节码加载到所述服务端上运行的针对所述目标车辆的故障检测程序中,以通过运行加载了所述字节码的所述故障检测程序,对所述目标车辆进行故障检测。
31、本申请还提供一种车辆故障检测装置,应用于服务端;所述服务端维护了针对文本的语法解析规则;其中,所述语法解析规则用于将所述文本转化为与基于预设的编程语言的代码对应的语法结构;所述装置包括:
32、获取单元,用于获取用于描述针对车辆的故障检测规则的目标文本;
33、转化单元,用于基于所述语法解析规则,对所述目标文本进行语法解析,以将所述目标文本转化为与基于所述编程语言的代码对应的语法结构;
34、生成单元,用于根据所述语法结构,生成与所述语法结构对应的基于所述编程语言的目标代码,并对所述目标代码进行存储,以通过执行所述目标代码对所述车辆进行故障检测。
35、本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
36、所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行所述车辆故障检测方法。
37、本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现所述车辆故障检测方法。
38、本申请提供的技术方案至少可以包括以下有益效果:
39、通过以上实施例,由于所述服务端可以维护有针对文本的语法解析规则;其中,所述语法解析规则可以用于将文本转化为与基于预设的编程语言的代码对应的语法结构;所述服务端可以获取用于描述针对车辆的故障检测规则的目标文本;并基于所述语法解析规则,对所述目标文本进行语法解析,以将所述目标文本转化为与基于所述编程语言的代码对应的语法结构;可以根据所述语法结构,生成与所述语法结构对应的基于所述编程语言的目标代码,并对所述目标代码进行存储,以通过执行所述目标代码对所述车辆进行故障检测。因此,所述服务端能够将获取到的用于描述针对车辆的故障检测规则的目标文本转化为计算机可读的代码,一方面,使得业务人员也可以进行车辆故障规则的配置,无需业务人员与开发人员双方协商处理,提高了车辆故障规则的配置效率,从而提高了故障检测的效率,另一方面,将所述代码进行存储,以便于后续可以通过加载所述目标代码进行车辆故障检测,提高了故障检测的灵活性。
本文档来自技高网...【技术保护点】
1.一种车辆故障检测方法,应用于服务端;所述服务端维护了针对文本的语法解析规则;其中,所述语法解析规则用于将所述文本转化为与基于预设的编程语言的代码对应的语法结构;所述方法包括:
2.根据权利要求1所述的方法,所述文本包括表达式文本。
3.根据权利要求1所述的方法,所述编程语言为Java。
4.根据权利要求1所述的方法,所述语法结构为语法树。
5.根据权利要求1所述的方法,所述语法解析规则包括词法定义子规则和语法组织子规则;其中,所述词法定义子规则用于将文本拆解为至少一个单词;所述语法组织子规则用于将所述至少一个单词组织成与基于所述编程语言的代码对应的语法结构;
6.根据权利要求1所述的方法,所述基于所述语法解析规则,对所述目标文本进行语法解析,以将所述目标文本转化为与基于所述编程语言的代码对应的语法结构,包括:
7.根据权利要求6所述的方法,在以下示出的三种情况中的任意一种情况下,确定校验不通过:
8.根据权利要求1所述的方法,所述服务端维护有文本与基于所述编程语言的代码之间的对应关系;
...【技术特征摘要】
1.一种车辆故障检测方法,应用于服务端;所述服务端维护了针对文本的语法解析规则;其中,所述语法解析规则用于将所述文本转化为与基于预设的编程语言的代码对应的语法结构;所述方法包括:
2.根据权利要求1所述的方法,所述文本包括表达式文本。
3.根据权利要求1所述的方法,所述编程语言为java。
4.根据权利要求1所述的方法,所述语法结构为语法树。
5.根据权利要求1所述的方法,所述语法解析规则包括词法定义子规则和语法组织子规则;其中,所述词法定义子规则用于将文本拆解为至少一个单词;所述语法组织子规则用于将所述至少一个单词组织成与基于所述编程语言的代码对应的语法结构;
6.根据权利要求1所述的方法,所述基于所述语法解析规则,对所述目标文本进行语法解析,以将所述目标文本转化为与基于所述编程语言的代码对应的语法结构,包括:
7.根据权利要求6所述的方法,在以下示出的三种情况中的任意一种情况下,确定校验不通过:
8.根据权利要求...
【专利技术属性】
技术研发人员:赵斌艳,
申请(专利权)人:浙江极氪智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。