1.本发明涉及汽车检测的技术领域,特别涉及一种软件故障反馈处理方法、装置、介质及设备。
背景技术:2.汽车诊断设备是一款专门针对汽车检测的专业仪器,可实时检测车辆的性能,并对车辆故障进行检测,是检测车辆必备的一种工具。现今,随着汽车技术越来越复杂,导致汽车诊断设备上软件的功能越来越多,在实际的应用场景中经常会出现软件故障问题。
3.目前汽车诊断设备在处理客户反馈的软件故障问题,主要依赖于软件开发工程师去现场采集车辆故障数据,再使用诊断设备和车辆专检设备对汽车进行实测,查找分析软件问题原因,该种方法会耗费大量的人力和时间,存在维修成本高和维修效率较慢的问题。
技术实现要素:4.为解决上述现有技术中软件故障反馈效率低的不足,本发明提供一种软件故障反馈处理方法,包括以下步骤:步骤s100,第一移动端与汽车通信连接以进行交互,所述第一移动端内置有汽车的诊断软件;步骤s200,所述第一移动端的诊断软件发生故障时,第一移动端向服务器发起请求连接指令,所述服务器根据连接指令进行身份验证,以与所述第一移动端建立通信连接;步骤s300,所述第一移动端根据所述诊断软件的进程生成诊断报告和日志数据并反馈给所述服务器;步骤s400,所述服务器根据反馈的诊断报告解析得到车辆信息,根据反馈的日志数据解析得到可读文本,并对可读文本进行处理以得到通讯数据文本;步骤s500,选用第二移动端和专检设备并根据车辆信息在车辆仿真平台上对通讯数据文本进行测试以得到比对的分析报告,根据所述分析报告定位诊断软件的故障所在,并对所述诊断软件进行修复升级以得到升级包,再将升级包发送至所述第一移动端进行升级使用;其中,所述第二移动端为与所述第一移动端相同型号且内置有汽车的诊断软件的设备。
5.在一实施例中,在步骤s300中,所述第一移动端根据诊断软件的进程生成日志数据,还包括以下步骤:先将日志数据按照车辆功能进行数据分类处理,再将实际车辆测试出现异常所涉及的部分日志数据提取并生成待反馈的日志数据,以传输至所述服务器。
6.在一实施例中,在步骤s200中,所述服务器与所述第一移动端建立通信连接后,所述第一移动端向服务器提交远程诊断请求,所述服务器根据预设条件判定是否接受所述诊断请求;若接受请求,所述服务器将分别与第二移动端或专检设备进行连接,利用第二移动端或专检设备对汽车进行远程诊断;待所述第一移动端的诊断软件完成修复后,再使得所
述第一移动端恢复诊断。
7.在一实施例中,所述第一移动端周期性向服务器发送所述诊断软件的工作状态信息,所述工作状态信息包含车辆信息;若服务器在预设时间内未接收到所述工作状态信息,则选用第二移动端和专检设备并根据车辆信息在车辆仿真平台上进行测试生成测试报告,并对所述第一移动端进行故障排查和修复。
8.在一实施例中,还包括以下步骤:所述服务器端还建立有故障存储库,所述故障存储库用于收集用户反馈的软件故障信息并按照车辆功能进行数据分类存储;所述服务器端还建立有修复数据库,所述修复数据库内存储有与常规故障相匹配的修复升级包;当所述服务器判定反馈的故障与修复数据库存有的修复升级包相匹配时,所述服务器将自动发送相应的修复升级包给所述第一移动端。
9.在一实施例中,根据用户实际反馈的故障信息或软件更新信息,对所述服务器中的修复数据库进行定期更新补充相应的修复升级包,并广播给所有的第一移动端进行同步升级。
10.在一实施例中,在步骤s400中,对可读文本进行处理以得到通讯数据文本,包括以下步骤:所述服务器根据不同的诊断功能对可读文本进行标记,再分别提取与通讯协议相关的数据以得到适用于仿真平台可用的通讯数据文本。
11.本发明还提供一种软件故障反馈处理装置,包括:交互模块,第一移动端与汽车通信连接以进行交互,所述第一移动端内置有汽车的诊断软件;通信模块,所述第一移动端的诊断软件发生故障时,第一移动端向服务器发起请求连接指令,所述服务器根据连接指令进行身份验证,以与所述第一移动端建立通信连接;再通过所述第一移动端反馈所述诊断软件的故障问题,所述第一移动端根据所述诊断软件的进程生成诊断报告和日志数据并反馈给所述服务器;处理模块,所述服务器根据反馈的诊断报告解析得到车辆信息,根据反馈的日志数据解析得到可读文本,并对可读文本进行处理以得到通讯数据文本;分析模块,选用第二移动端和专检设备并根据车辆信息在车辆仿真平台上对通讯数据文本进行测试以得到比对的分析报告;其中,所述第二移动端为与所述第一移动端相同型号且内置有汽车的诊断软件的设备;反馈模块,根据所述分析报告定位诊断软件的故障所在,并对所述诊断软件进行修复升级以得到升级包,再将升级包发送至所述第一移动端进行升级使用。
12.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机被处理器执行时实现如上所述的软件故障反馈处理方法。
13.本发明还提供一种电子设备,包括至少一个处理器、及与所述处理器通信连接的存储器,其中所述存储器存储可被至少一个处理器执行的指令,所述指令被至少一个处理器执行,以使所述处理器执行如上所述的软件故障反馈处理方法。
14.基于上述,与现有技术相比,本发明提供的软件故障反馈处理方法能够针对用户对软件的实时反馈,在出现故障时及时将相关数据发送至服务器,由服务器端的软件开发人员利用仿真平台模拟汽车诊断场景以快速定位故障问题并及时修复软件,能够实现软件
的远程修复,有效提高维修效率,快速解决用户问题,提高用户体验感。
15.本发明的其它特征和有益效果将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他有益效果可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
16.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图;在下面描述中附图所述的位置关系,若无特别指明,皆是图示中组件绘示的方向为基准。
17.图1为本发明提供的软件故障反馈处理方法的流程图;图2为软件故障反馈处理过程中各装置的连接关系图;图3为用户反馈故障问题的图形界面示意图;图4为通讯数据文本中获得的读vin码指令标记内容的示意图;图5为本发明提供的软件故障反馈处理装置的结构示意图;图6为本发明提供的计算机设备的结构示意图。
具体实施方式
18.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例;下面所描述的本发明不同实施方式中所设计的技术特征只要彼此之间未构成冲突就可以相互结合;基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
19.在本发明的描述中,需要说明的是,本发明所使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域的普通技术人员通常所理解的含义相同的含义,不能理解为对本发明的限制;应进一步理解,本发明所使用的术语应被理解为具有与这些术语在本说明书的上下文和相关领域中的含义一致的含义,并且不应以理想化或过于正式的意义来理解,除本发明中明确如此定义之外。
20.注意,在此使用的术语“设备”可以是硬件设备,也可以软件设备,本发明的范围在此方面不受限制。在此使用的术语“故障”是指影响或者潜在影响系统正常运行的任何问题、失效、异常等等。另外,在此使用的术语“装置”(apparatus) 既可以指基于硬件构成的设备或模块,也可以是基于软件构成的模块。
21.请参阅图1、图2所示,本发明提供一种软件故障反馈处理方法,应用于服务器和移动端;服务器与移动端可远程通信连接,服务器具备向相关联的设备或系统发送控制命令、获取数据、管理等功能(例如,可以是一台远程服务器),能够与移动端保持长连接,并能够为用户提供相关服务,移动端为任意具有通信诊断功能的智能终端;具体地,该软件反馈方法包括以下步骤:
步骤s100,第一移动端与汽车通信连接以进行交互,所述第一移动端内置有汽车的诊断软件;其中,第一移动端与汽车之间可通过obd诊断线或者obd接头建立通信连接,还可通过蓝牙、wifi等实现无线通信连接。
22.步骤s200,第一移动端的诊断软件发生故障时,第一移动端向服务器发起请求连接指令,所述服务器根据连接指令进行身份验证,以与所述第一移动端建立通信连接;其中,服务器根据连接指令进行身份验证的方式包括判定其是否为已注册的用户或不限于其他预设的权限条件等;若达到条件,则执行相应的连接工作,反之,拒绝其连接。
23.步骤s300,所述第一移动端根据所述诊断软件的进程生成诊断报告和日志数据并反馈给所述服务器;较佳地,为了服务器端能够更全面地判断诊断软件的故障,用户还可通过所述第一移动端的反馈界面向服务器反馈所述诊断软件的故障问题,其中,用户反馈的故障问题可包含在使用诊断设备对汽车进行诊断过程中,出现无法读取汽车故障码、读取故障码为无效码、数据流异常、编程失败等问题。具体可参照图3所示,汽车诊断软件可通过图形界面来提示用户对故障问题进行反馈,并授权其上传相关的诊断报告和日志数据。
24.步骤s400,所述服务器根据反馈的诊断报告解析得到车辆信息,根据反馈的日志数据解析得到可读文本,并对可读文本进行处理以得到通讯数据文本。
25.具体地,其诊断报告为车辆的诊断报告,通过解析可得到车辆的车辆识别号,通过车辆识别号即可在服务器的数据中查找得到该汽车的车辆信息(包括:车辆品牌、车型、年款、发动机型号、排放标准等)。该车辆信息可应用于后续的车辆仿真平台上模拟用户的车辆。较佳地,其日志数据通过加密的方式由第一移动端传输给服务器,因此,服务器需要对日志数据进行解密分析。
26.步骤s500,选用第二移动端和专检设备并根据车辆信息在车辆仿真平台上对通讯数据文本进行测试以得到比对的分析报告,根据所述分析报告定位诊断软件的故障所在,并对所述诊断软件进行修复升级以得到升级包,再将升级包发送至所述第一移动端进行升级使用;其中,所述第二移动端为与第一移动端相同型号且内置有汽车的诊断软件的设备。
27.作为一种优选方案,所述分析报告包括软件的发送指令、数据帧间隔和字节间隔的时序对比等信息,车辆仿真平台将第二移动端和专检设备的分析报告进行差异化标注,从而便于软件开发人员快速定位第一移动端的软件故障所在。
28.应当说明的是,所述车辆仿真平台为仿照汽车模拟搭建的一个数据平台,其相当于汽车的ecu,存取了大量的车辆ecu数据,可根据不同的车辆信息以及得到的通讯数据文本放进数据平台中进行模拟仿真实验。通过采用上述与第一移动端相同型号的第二移动端以及专检设备分别与车辆仿真平台进行交互实现诊断,能够复现确认用户反馈的问题现象,从而有效确保判断软件故障的准确性,为后续正确修复软件故障提供保障。其中,所述专检设备为汽车生产商原厂诊断设备,通过二者的比对模拟分析能够准确获取诊断的差异化信息,从而快速、准确地得到软件故障问题。
29.针对目前车辆诊断软件的软件故障反馈信息数据文件较大,车辆通讯数据有较多冗余内容,导致加载、传输不易的问题,本实施例在步骤s300中,将所述第一移动端根据诊断软件的进程生成日志数据,包括以下步骤:先将日志数据按照车辆功能进行数据分类处理,再将实际车辆测试出现异常所涉及的部分日志数据提取出并生成待反馈的日志数据,以传输至所述服务器。
30.具体而言,可按照版本信息功能、读故障码功能、清除故障码功能、读数据流功能、动作测试功能和特殊功能等功能进行数据分类,仅选取故障所在功能的日志数据进行反馈,从而使得生成的日志数据小而精准,有效减小数据文件的大小和数据冗余。通过上述设置方式,能够保证日志数据加载、传输快,以及后续进行服务器解析、车辆仿真分析的运行负担大大减小,从而提高整个软件故障反馈的效率。
31.在一些具体的实施例中,若产生的日志数据较多,则可将日志数据的文件采用分段法进行自动划分,并将一部分保留在汽车诊断设备上,一部分传给服务器,若服务器无法从现有的日志文件中解析到故障信息时,再通知保留在汽车诊断设备的部分日志数据进行发送,再进行解析判断,从而进一步提高反馈过程的效率。
32.优选地,在步骤s200中,所述服务器与所述第一移动端建立通信连接后,第一移动端向服务器提交远程诊断请求,服务器根据预设条件判定是否接受所述诊断请求;若接受请求,所述服务器将与第二移动端或专检设备进行连接,利用第二移动端或专检设备对汽车进行远程诊断;待诊断软件修复后,再使得所述第一移动端恢复诊断。
33.具体实施时,为了数据安全以及隐私问题,当软件出现异常故障导致无法进行车辆诊断时,软件需要主动通知用户是否向服务器提交远程诊断请求,在获得用户许可后,才能进行相应的远程诊断过程。同时,服务器还需要对该远程诊断请求进行验证,其预设条件可以为判定该其故障类型是否符合远程诊断要求,若符合要求,第一诊断软件通过服务器分别与第二移动端、专检设备进行通信连接,以进行远程诊断任务。其通信连接可借助于网络通信机制。其网络例如可以包括有线网络、无线网络或其组合,包括但不限于以下至少一个 :蜂窝电话网络,以太网,基于 ieee802.11、802.16、802.20 等的无线局域网 (wlan),和 / 或全球微波接入互操作性 (wimax) 网络。此外,网络可以是公共网络 ( 诸如,因特网 )、专用网络 ( 诸如,企业内部网 ) 或其组合。利用上述网络,第一移动端与服务器、第二移动端、专检设备可以基于 syslog,snmp and https 等各种适当的协议通信。备选地或附加地,也可以使用总线、线缆、光纤等机制实现信息通信。
34.优选地,所述服务器端还建立有故障存储库,所述故障存储库用于收集用户反馈的软件故障信息并按照车辆功能进行数据分类存储,从而形成可溯源的记录,不仅便于维护、分析,还能软件的进一步研发提供参考依据。
35.为了避免第一移动端由于硬件问题,导致无法工作,无法主动将诊断软件的异常信息告知服务器,本发明实施例还提供了一种解决方法,即所述第一移动端周期性向服务器发送所述诊断软件的工作状态信息,所述工作状态信息包含车辆信息;若服务器在预设时间内未接收到所述工作状态信息,则选用第二移动端和专检设备并根据车辆信息在车辆仿真平台上进行测试生成测试报告,并对所述第一移动端进行故障排查和修复。通过上述方案,服务器可以有效的检测到第一移动端出现异常时,导致无法主动上报诊断软件出现问题的情况。
36.对于一般较为常规的软件故障问题,为了避免每次都要将日志数据转为通讯数据文本再在仿真平台上进行测试得到分析报告的步骤,导致过程繁琐且费时、费资源的问题。本发明实施例中,还包括以下步骤:所述服务器端还建立有修复数据库,所述修复数据库内存储有与常规故障相匹配的修复升级包;当所述服务器判定反馈的故障与修复数据库存有的修复升级包相匹配时,所述服务器将自动发送相应的修复升级包给第一移动端。即,用户
反馈的故障解析后能够与修复数据库内的相关信息相匹配时,则直接根据该故障信息,调用数据库内的修复升级包发送给用户,从而实现软件系统故障的智能诊断与修复,大大提高了软件故障修复的效率和自动化程度。
37.进一步地,若所述服务器判定反馈的故障与修复数据库存有的修复升级包匹配不成功时,服务器再将该日志数据转为通讯数据文本,并执行步骤500,由软件开发人员进行辅助分析。
38.可选地,所述修复数据库可根据现存的故障问题与对应的修复升级包组合建立映射关系,并将该映射关系建模和入库,从而形成完整的修复数据库。
39.可选地,可以利用数据挖掘和训练的方法来管理修复数据库。例如,基于先前已经发生过的故障的相关信息,可以采用各种目前已知或者将来的技术对修复数据库进行训练,从而得到“故障问题-解决方案”和“解决方案-修复升级包”的映射关系。在此方面,通常的训练过程可以包括以下主要步骤 :数据挑选 ;预处理 ;变换、数据挖掘以及解释 / 评估。数据挖掘技术的示例可以包括关联规则、聚类分析、半超学习 (semi-super learning)、数据分类技术等等。本发明的范围在此方面不受限制。
40.优选地,根据用户实际反馈的故障信息或软件更新信息,可对所述服务器中的修复数据库进行定期更新补充相应的修复升级包,并广播给所有的移动端进行同步升级。
41.优选地,在步骤s500中,对可读文本进行处理以得到通讯数据文本,包括以下步骤:所述服务器根据不同的诊断功能对可读文本进行标记,再分别提取与通讯协议相关的数据以得到适用于仿真平台可用的通讯数据文本。
42.具体地,由于用户反馈的数据是对车辆某些功能反复操作,因此生成的通讯数据文本较多,这将导致其占用空间较大,且有冗余的情况不便于查询和运行的问题。为解决上述问题,本实施例可根据读车辆vin、版本信息功能、读故障码功能、清除故障码功能、读数据流功能、动作测试功能和特殊功能等对可读文本进行数据优化标记。对数据进行标记后,一方面可便于查看和阅读,方便开发人员快速定位到存在问题的通讯命令数据中;另一方面则是方便提取相关功能的通讯数据,方便后续的测试。具体为从可读文本提取关于通讯协议相关的数据(例如16进制的数据),使其适用于仿真平台可使用的通讯数据文本。示例性地,可参照图4中为读vin码指令的通讯数据文本。
43.如图5所示,本发明还提供一种软件故障反馈处理装置,包括:交互模块,第一移动端与汽车通信连接以进行交互,所述第一移动端内置有汽车的诊断软件;通信模块,所述第一移动端的诊断软件发生故障时,第一移动端向服务器发起请求连接指令,所述服务器根据连接指令进行身份验证,以与所述第一移动端建立通信连接;再通过所述第一移动端反馈所述诊断软件的故障问题,所述第一移动端根据所述诊断软件的进程生成诊断报告和日志数据并反馈给所述服务器;处理模块,所述服务器根据反馈的诊断报告解析得到车辆信息,根据反馈的日志数据解析得到可读文本,并对可读文本进行处理以得到通讯数据文本;分析模块,选用第二移动端和专检设备并根据车辆信息在车辆仿真平台上对通讯数据文本进行测试以得到比对的分析报告;其中,所述第二移动端为与所述第一移动端相
同型号且内置有汽车的诊断软件的设备;反馈模块,根据所述分析报告定位诊断软件的故障所在,并对所述诊断软件进行修复升级以得到升级包,再将升级包发送至所述第一移动端进行升级使用。
44.进一步地,还可包括远程修复模块,即,当检测到软件发送故障时,用户可根据需求向服务器提交远程诊断请求,服务器根据预设条件判定是否接受所述诊断请求;若接受请求,所述服务器将分别与第二移动端或专检设备进行连接,利用第二移动端或专检设备对汽车进行远程诊断。
45.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机被处理器执行时实现如上任一项所述的软件故障反馈处理方法。
46.具体实施时,计算机可读存储介质为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等;计算机可读存储介质还可以包括上述种类的存储器的组合。
47.本发明还提供一种电子设备,如图6所示,该电子设备包括至少一个处理器、及与所述处理器通信连接的存储器,其中所述存储器存储可被至少一个处理器执行的指令,所述指令被至少一个处理器执行,以使所述处理器执行如上所述的软件故障反馈处理方法。
48.具体实施时,处理器的数量可以是一个或多个,处理器可以为中央处理器,(central processing unit,cpu)。处理器还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
49.存储器与处理器可以通过总线或其他方式通信连接,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使处理器执行如上实施例中所述的软件故障反馈处理方法。
50.综上所述,与现有技术相比,本发明提供的软件故障反馈处理方法、装置、介质及设备能够针对用户对软件的实时反馈,在出现故障时及时将相关数据发送至服务器,由服务器直接反馈修复升级包或利用仿真平台模拟汽车诊断场景以快速定位故障问题并及时反馈修复升级包给用户的方式,来实现软件的远程修复,不仅能节省人力,降低维修成本,还能够有效提高软件故障的维修效率和自动化程度,提高用户体验感。
51.另外,本领域技术人员应当理解,尽管现有技术中存在许多问题,但是,本发明的每个实施例或技术方案可以仅在一个或几个方面进行改进,而不必同时解决现有技术中或者背景技术中列出的全部技术问题。本领域技术人员应当理解,对于一个权利要求中没有提到的内容不应当作为对于该权利要求的限制。
52.尽管本文中较多的使用了诸如第一移动端、服务器、第二移动端、专检设备、车辆仿真平台等术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的;本发明实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”、等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
53.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。