汽车诊断数据查询方法及装置与流程

文档序号:16435578发布日期:2018-12-28 20:28阅读:362来源:国知局
汽车诊断数据查询方法及装置与流程

本申请涉及通信技术领域,具体而言,涉及一种汽车诊断数据查询方法及装置、汽车诊断设备、计算机可读存储介质。

背景技术

随着汽车诊断技术的不断发展,车辆可通过配置的车载自动诊断系统进行故障诊断,并将诊断结果发送至诊断客户端供用户获取。

诊断客户端可以通过诊断服务器调用第三方网站服务器提供的数据查询接口,从提供服务的第三方网站进行数据查询。在实际应用中,诊断客户端向第三方网站进行数据查询的频率极高,导致诊断服务器需频繁地调用第三方网站服务器的数据查询接口,使得第三方网站服务器负载过高,数据调用接口响应很慢甚至无响应。

并且,由于第三方网站服务器的数据查询接口响应很慢甚至无响应,诊断服务器负载也会相应升高,诊断服务器负载升高对会其整体性能产生较大影响,严重时则会影响整个汽车诊断过程的正常进行。

因此,亟待解决诊断服务器频繁调用第三方网站服务器的数据查询接口,导致第三方网站服务器负载过高的问题。



技术实现要素:

基于上述技术问题,本申请的一个目的在于提供一种汽车诊断数据查询方法及装置、汽车诊断设备、计算机可读存储介质。

其中,本申请所采用的技术方案为:

一种汽车诊断数据查询方法,包括:诊断服务器通过诊断客户端触发进行的汽车诊断获得诊断车辆的车辆识别信息;根据所述车辆识别信息在所述诊断服务器相对于车辆查询服务器扩展的内存数据库查询所述诊断车辆对应的用户信息;所述诊断服务器向所述诊断客户端返回所述用户信息。

进一步地,在所述根据所述车辆识别信息在所述诊断服务器相对于车辆查询服务器扩展的内存数据查询所述诊断车辆对应的用户信息之前,所述方法还包括:所述诊断服务器控制进行所述车辆查询服务器向所述内存数据库的全量同步。

进一步地,在所述诊断服务器控制进行所述车辆查询服务器向所述内存数据库的全量同步之后,所述方法还包括:根据所述车辆查询服务器中的更新,所述诊断服务器控制进行所述车辆查询服务器向所述内存数据库的增量同步。

进一步地,所述诊断服务器控制进行所述车辆查询服务器向所述内存数据库的全量同步,包括:所述诊断服务器调用所述车辆查询服务器的全量数据同步接口,从所述车辆查询服务器中获取对应于所述车辆识别信息和所述用户信息的全量数据;将获取的所述全量数据发送至所述内存数据库进行所述车辆识别信息和所述用户信息的关联存储。

进一步地,所述根据所述车辆查询服务器中的更新,所述诊断服务器控制进行所述车辆查询服务器向所述内存数据库的增量同步,包括:所述诊断服务器接收所述车辆诊断查询服务器发送的更新数据,所述更新数据包括所述车辆查询服务器对所述全量数据进行更新的标识信息;根据所述更新数据中的标识信息,对所述内存数据库中存储的所述全量数据进行更新。

一种汽车诊断数据查询装置,包括:车辆识别信息获取模块,用于控制诊断服务器通过诊断客户端触发进行的汽车诊断获得诊断车辆的车辆识别信息;用户信息查询模块,用于根据所述车辆识别信息在所述诊断服务器相对于车辆查询服务器扩展的内存数据库查询所述诊断车辆对应的用户信息;用户信息返回模块,用于控制所述诊断服务器向所述诊断客户端返回所述用户信息。

进一步地,所述汽车诊断数据查询装置还包括数据全量同步模块,其中,数据全量同步模块用于控制诊断服务器控制进行车辆查询服务器向内存数据库的全量同步。

进一步地,所述汽车诊断数据查询装置还包括数据增量同步模块,用于根据所述车辆查询服务器中的更新,控制所述诊断服务器进行所述车辆查询服务器向所述内存数据库的增量同步。

进一步地,所述汽车诊断数据查询装置的数据全量同步模块具体包括全量数据获取单元和全量数据存储单元。

进一步地,所述全量数据获取单元用于控制诊断服务器调用车辆查询服务器的全量数据同步接口,从车辆查询服务器中获取对应于车辆识别信息和用户信息的全量数据。

进一步地,所述全量数据存储单元用于控制诊断服务器将获取的全量数据发送至内存数据库进行所述车辆识别信息和所述用户信息的关联存储。

进一步地,所述数据增量同步模块具体包括更新数据获取单元和数据更新单元。

进一步地,所述更新数据获取单元用于控制诊断服务器接收车辆诊断查询服务器发送的更新数据,更新数据包括所述车辆查询服务器对全量数据进行更新的标识信息。

进一步地,所述数据更新单元用于控制诊断服务器根据更新数据中的标识信息,对车辆查询服务器中存储的全量数据进行更新。

一种汽车诊断设备,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的方法。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。

在上述技术方案中,车辆查询服务器是用于提供车辆查询服务的第三方网站服务器,其中包括进行关联存储的车辆识别信息以及用户信息。内存数据库是相对于车辆查询服务器所扩展的数据库,用于存储车辆查询服务器中所进行关联存储的车辆识别信息和用户信息。因此,车辆查询服务器和内存数据库中存储有相同的车辆识别信息和用户信息。

与现有技术相比,本申请设置有相对于车辆查询服务器所扩展的内存数据库,诊断服务器在获取诊断车辆的车辆识别信息后,直接访问内存数据库进行诊断车辆对应用户信息的查询,而不对车辆查询服务器的数据查询接口进行调用,从而有效地避免了诊断服务器频繁调用车辆查询服务器的数据查询接口而导致车辆查询服务器负载过高的问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并于说明书一起用于解释本申请的原理。

图1是根据本申请所涉及的一种实施环境的示意图;

图2是根据一示例性实施例示出的一种汽车诊断数据查询方法的流程图;

图3是根据另一示例性实施例示出的一种汽车诊断数据查询方法的流程图;

图4是根据另一示例性实施例示出的一种汽车诊断数据查询方法的流程图;

图5是根据一示例性实施例示出的一种汽车诊断数据查询装置的框图;

图6是根据另一示例性实施例示出的一种汽车诊断数据查询装置的框图;

图7是根据另一示例性实施例示出的一种汽车诊断数据查询装置的框图。

通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

图1是本申请所涉及的一种汽车诊断系统的示意图。如图1所示,该汽车诊断系统包括诊断车辆100、诊断设备200、诊断服务器300、车辆查询服务器400和扩展服务器500。

诊断车辆100中配置有车载自动诊断系统(obd,on-boarddiagnostics),以利用车载自动诊断系统对诊断车辆100中发生的故障进行自诊断,并将诊断报告发送至诊断设备200,用户可通过在诊断设备200查看诊断报告,从而获知诊断车辆100所发生的故障。

诊断设备200中运行有诊断客户端,以根据诊断客户端中触发的相应操作与诊断车辆100以及诊断服务器300之间进行数据交互。其中,诊断设备200可以是智能手机、平板电脑、笔记本电脑、计算机或者其他任何能够提供诊断客户端运行的电子设备。

诊断服务器300用于为诊断客户端提供后台服务,例如,诊断服务器300能够对诊断客户端发送的诊断数据进行存储,也能够根据诊断客户端发送的数据查询请求从提供服务的第三方网站服务器中查询相关数据,并将查询到的数据返回给诊断客户端。

在图1所示的汽车诊断系统中,车辆查询服务器400为一示例的第三方网站服务器,诊断客户端通过诊断服务器300调用车辆查询服务器400的数据查询接口,查询与诊断车辆100对应的用户信息。诊断服务器300还可以从车辆查询服务器400中查询其他数据,并不仅限于一种数据的查询。

在实际的汽车诊断系统应用中,进行汽车诊断的诊断车辆100的数量往往是庞大的(图1中仅示出2个),它们分别由不同诊断设备200中运行的诊断客户端进行汽车诊断操作,由于诊断客户端向诊断服务器300发送大量的数据查询请求,诊断服务器300需频繁地调用车辆查询服务器400的数据查询接口,导致车辆查询服务器400负载过高,诊断服务器300的负载也会升高。

因此,图1所示的汽车诊断系统中,相对于车辆查询服务器400增设了扩展服务器500,以将车辆查询服务器400中所存储的特定数据复制到扩展服务器500中进行存储,诊断服务器300在接收诊断客户端发送的数据查询请求后,从扩展服务器500中查询相关数据。

图2是根据一示例性实施例示出的一种汽车诊断数据查询方法的流程图,该方法适用于图1所示的诊断服务器300。如图2所示,该方法可以包括以下步骤:

在步骤110中,诊断服务器通过诊断客户端触发进行的汽车诊断获得诊断车辆的车辆识别信息。

其中,诊断客户端触发所进行的汽车诊断操作为,诊断客户端响应用户的触发操作,从诊断车辆获取车载自动诊断系统对诊断车辆进行故障自诊断所得的诊断报告。

车辆识别信息包括诊断车辆的vin(vehicleidentificationnumber,车辆识别号码)信息,vin信息包含有诊断车辆的生产商、引擎、底盘序号及其他性能参数,不同诊断车辆的vin信息各不相同。

每一诊断车辆经由车载自动诊断系统进行故障诊断所得的诊断报告中包括有该诊断车辆对应的vin信息。因此,诊断服务器接收诊断客户端发送的诊断报告后,能够从诊断报告中获取诊断车辆的车辆识别信息。

在步骤130中,根据车辆识别信息在诊断服务器相对于车辆查询服务器扩展的内存数据库查询诊断车辆对应的用户信息。

其中,内存数据库是相对于车辆查询服务器所增设的数据库,存储车辆查询服务器中关联存储的车辆识别信息以及用户信息。将车辆识别信息和用户信息进行关联存储可理解为,对应同一诊断车辆,将该诊断车辆的车辆识别信息和用户信息之间建立映射关系,根据所建立的映射关系,可由该诊断车辆的车辆识别信息查找到该诊断车辆的用户信息。

因此,内存数据库中所存储的车辆识别信息和用户信息与车辆查询服务器中存储的车辆识别信息和用户信息对应相同。

在一实施例中,内存数据库可以设置于诊断服务器中。由于车辆查询服务器中存储的车辆识别信息和用户信息的数据量往往很大,内存数据库需要占用诊断服务器中较大的存储资源,会影响诊断服务器的整体性能。

而在另一实施例中,内存数据库设置于另一服务器中,例如设置于图1所示的扩展服务器中。相比上述实施例,本实施例将内存数据库设置于诊断服务器之外的服务器中,不会对诊断服务器的整体性能产生影响。

内存数据库可以选自本领域普遍使用的mysql、oracle、sqlserver、redis等数据库中的任意一种,本实施例可以是redis数据库。redis数据库是一种非关系型的内存数据库,采用key-value(键-值)存储系统对数据进行存储,选用redis数据库作为相对于车辆查询服务器所扩展的内存数据库时,将车辆识别信息作为key(键)、将用户信息作为value(值)进行关联存储。

因此,诊断服务器在获取车辆识别信息后,能够从内存数据库中的查询到与该车辆识别信息相对应的用户信息。

需要说明的是,本实施例中,内存数据库除了用于存储车辆查询服务器中关联存储车辆识别信息及用户信息之外,同时还可以存储有车辆查询服务器中存储的其他数据,或者存储有诊断服务器中的部分数据,本实施例不进行限定。

在步骤150中,诊断服务器向诊断客户端返回用户信息。

诊断服务器从内存数据中查询到相应的用户信息后,将所查询到的用户信息返回至诊断客户端,以通过诊断客户端向用户展示查询结果。

在本实施例中,诊断服务器查询与车辆识别信息相对应的用户信息是从相对于车辆查询服务器扩展的内存数据库中进行的,而不需要直接调用车辆查询服务器的数据查询接口,从而有效地避免了诊断服务器频繁调用车辆查询服务器的数据查询接口而导致车辆查询服务器负载过高的问题。相应的,诊断服务器的整体性能也不会受到影响。

如图3所示,在一示例性实施例中,在步骤130前,上述汽车诊断数据查询方法还可以包括以下步骤:

在步骤120中,诊断服务器控制进行车辆查询服务器向内存数据库的全量同步。

其中,要使内存数据中存储有车辆查询服务器中进行关联存储的诊断车辆的车辆识别信息以及诊断车辆对应的用户信息,需经由诊断服务器控制车辆查询服务器将其相应存储的车辆识别信息以及用户信息全量同步至内存数据库中。

服务器的数据库同步有增量同步和全量同步两种方式,其中,全量同步是一次性同步全部数据,增量同步则只同步两个数据库不同的部分。在本实施例中,诊断服务器控制车辆查询服务器向内存数据库进行全量同步的数据为,车辆查询服务器中对应于车辆识别信息和用户信息的全量数据。

具体地,诊断服务器调用车辆查询服务器所提供的全量数据同步接口,从车辆查询服务器中获取对应于车辆识别信息和用户信息的全量数据,并将获取的全量数据存储至内存数据库中。

便于理解的,对应于车辆识别信息和用户信息的全量数据包括,车辆查询服务器中所进行关联存储的全部车辆识别信息和用户信息。将获取的全量数据存储至内存数据库中后,车辆识别信息和用户信息仍按照原有的对应关系关联存储。

诊断服务器获取全量数据后,可以直接将全量数据全部覆盖内存数据库中原本存储的数据,或者在进行数据全部覆盖之前判断内存数据库中原本存储的数据是否和全量数据一致,如果不一致,再对内存数据库进行全量数据的覆盖。

在一实施例中,诊断服务器控制每天定时或者周期性地将车辆查询服务器中的全量数据同步至内存数据库中存储,例如,诊断服务器控制每周一凌晨3点将车辆查询服务器中的全量数据进行同步。

开发人员也可以手动控制诊断服务器调用全量数据同步接口,以将车辆查询服务器中存储的全量数据同步至内存数据库中,本实施例并不对此进行限定。

因此,在本示例中,可将车辆查询服务器中存储的车辆识别信息以及用户信息全量同步至内存数据库中,以保证诊断服务器从内存数据库中进行车辆识别信息所对应用户信息的查询结果与诊断服务器直接从车辆查询服务器进行用户信息查询的结果一致。

如图4所示,在一示例性实施例中,在步骤120之后,上述汽车诊断数据查询方法还可以包括以下步骤

在步骤121中,根据车辆查询服务器中的更新,诊断服务器控制进行车辆查询服务器向内存数据库的增量同步。

其中,车辆查询服务器中的数据是不断变化的,要想保持内存数据库中存储的数据与车辆查询服务器中对应的数据保持一致,必须将车辆查询服务器中更新的数据及时同步至内存数据库中。

由于上述车辆查询服务器中全量数据的数据量往往很大,进行数据全量同步的过程耗时较长,对于车辆查询服务器中不断变换的数据来说,频繁地进行数据全量同步会极大增加诊断服务器的负载,仍会影响诊断服务器的整体性能。

因此,在车辆查询服务器进行数据更新后,只需针对车辆查询服务器中的更新数据增量同步至内存数据库中即可解决上述问题。

具体地,诊断服务器向车辆查询服务器提供增量更新内存数据库的通知接口,当车辆查询服务器中存储的上述全量数据进行了新增、修改、删除等更新操作时,车辆查询服务器会将更新数据通过通知接口主动发送至诊断服务器。车辆查询服务器向诊断服务器发送的更新数据包括车辆查询服务器中全量数据所进行更新的标识信息。车辆查询服务器检测到其存储的全量数据进行更新操作后,根据所进行的更新操作生成标识信息,通过此标识信息标记车辆查询服务器中所进行的数据更新。

在一实施例中,车辆查询服务器周期性地对其存储的全量数据进行更新操作的检测,例如,车辆查询服务器可以每天定时、多次地进行更新操作的检测,以保证对内存数据库中的全量数据及时更新。

在一实施例中,标识信息包括对全量数据更新的类型、对全量数据更新的数据、对全量数据更新的车辆识别信息、对全量数据更新的用户信息。其中,对全量数据更新的类型包括新增、修改、删除中的至少一种,对全量数据更新的数据为具体的更新数据。

诊断服务器接收上述标识信息后,能够根据对全量数据更新的车辆识别信息和用户信息查找到内存数据库中的相应数据,并根据对全量数据更新的类型获取对内存数据库中相应数据进行的更新操作,按照此更新操作以及对全量数据更新的数据,诊断服务器对内存数据库中的相应数据进行更新,使得内存数据库中所存储的全量数据与车辆查询服务器中存储的全量数据保持一致。

应当说明的是,车辆查询服务器向诊断服务器发送的更新数据中还应当包括其他必要的数据信息,例如进行车辆查询服务器向诊断服务器发送数据的必要数据,本处不进行赘述。

在本实施例中,通过诊断服务器控制进行车辆查询服务器向内存数据库的增量同步,能够将车辆查询服务器中更新的数据及时同步更新至内存数据库中,进一步确保诊断服务器在内存数据库中进行查询的结果与诊断服务器直接在车辆查询服务器中进行查询的结果一致。

如图5所示,在一示例性实施例中,一种汽车诊断数据查询装置包括车辆识别信息获取模块210、用户信息查询模块230和用户信息返回模块250。

车辆识别信息获取模块210用于控制诊断服务器通过诊断客户端触发进行的汽车诊断获得诊断车辆的车辆识别信息。

用户信息查询模块230用于根据车辆识别信息在诊断服务器相对于车辆查询服务器扩展的内存数据库查询诊断车辆对应的用户信息。

用户信息返回模块250用于控制诊断服务器向诊断客户端返回用户信息。

如图6所示,在一示例性实施例中,上述汽车诊断数据查询装置还包括数据全量同步模块220,其中,数据全量同步模块220用于控制诊断服务器控制进行车辆查询服务器向内存数据库的全量同步。

如图7所示,在一示例性实施例中,上述汽车诊断数据查询装置还包括数据增量同步模块221,其中,增量同步模块221用于根据车辆查询服务器中的更新,控制诊断服务器进行车辆查询服务器向内存数据库的增量同步。

在一示例性实施例中,数据全量同步模块220具体包括全量数据获取单元和全量数据存储单元。

全量数据获取单元用于控制诊断服务器调用车辆查询服务器的全量数据同步接口,从车辆查询服务器中获取对应于车辆识别信息和用户信息的全量数据。

全量数据存储单元用于控制诊断服务器将获取的全量数据发送至内存数据库进行所述车辆识别信息和所述用户信息的关联存储。

在一示例性实施例中,数据增量同步模块221具体包括更新数据获取单元和数据更新单元。

更新数据获取单元用于控制诊断服务器接收车辆诊断查询服务器发送的更新数据,更新数据包括所述车辆查询服务器对全量数据进行更新的标识信息。

数据更新单元用于控制诊断服务器根据更新数据中的标识信息,对车辆查询服务器中存储的全量数据进行更新。

需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。

在一个示例性实施例中,一种汽车诊断设备,包括:

处理器;及

存储器,其中,存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时实现以下步骤:

诊断服务器通过诊断客户端触发进行的汽车诊断获得诊断车辆的车辆识别信息;

根据所述车辆识别信息在所述诊断服务器相对于车辆查询服务器扩展的内存数据库查询所述诊断车辆对应的用户信息;

所述诊断服务器向所述诊断客户端返回所述用户信息。

进一步地,在所述根据所述车辆识别信息在所述诊断服务器相对于车辆查询服务器扩展的内存数据查询所述诊断车辆对应的用户信息之前,所述方法还包括:

所述诊断服务器控制进行所述车辆查询服务器向所述内存数据库的全量同步。

进一步地,在所述根据所述车辆识别信息在所述诊断服务器相对于车辆查询服务器扩展的内存数据查询所述诊断车辆对应的用户信息之前,所述方法还包括:

所述诊断服务器控制进行所述车辆查询服务器向所述内存数据库的全量同步。

进一步地,所述诊断服务器控制进行所述车辆查询服务器向所述内存数据库的全量同步,包括:

所述诊断服务器调用所述车辆查询服务器的全量数据同步接口,从所述车辆查询服务器中获取对应于所述车辆识别信息和所述用户信息的全量数据;

将获取的所述全量数据发送至所述内存数据库进行所述车辆识别信息和所述用户信息的关联存储。

进一步地,所述根据所述车辆查询服务器中的更新,所述诊断服务器控制进行所述车辆查询服务器向所述内存数据库的增量同步,包括:

所述诊断服务器接收所述车辆诊断查询服务器发送的更新数据,所述更新数据包括所述车辆查询服务器对所述全量数据进行更新的标识信息;

根据所述更新数据中的标识信息,对所述内存数据库中存储的所述全量数据进行更新。

在一示例性实施例中,一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例中的汽车诊断数据查询方法。

上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1