基于驱动函数的设备诊断方法及装置制造方法及图纸

技术编号:36255213 阅读:19 留言:0更新日期:2023-01-07 09:50
本发明专利技术公开了一种基于驱动函数的设备诊断方法及装置,该方法包括:当检测到客户端发送的关于目标设备的诊断业务请求时,从设备服务端对应的动态链接库中加载与诊断业务请求相匹配的至少一个驱动文件,每个驱动文件包括至少一个驱动函数;执行每个驱动函数对应的业务,以对目标设备进行诊断,得到诊断业务请求对应的诊断结果。可见,实施本发明专利技术能够将用于诊断设备的驱动函数编写在动态链接库中,在接收到诊断业务请求时通过将动态链接库中的驱动文件调用至设备服务端并在设备服务端中直接执行驱动文件中的驱动函数来满足设备的诊断需求,从而在降低诊断程序的开发难度的同时提高诊断函数的调用效率。提高诊断函数的调用效率。提高诊断函数的调用效率。

【技术实现步骤摘要】
基于驱动函数的设备诊断方法及装置


[0001]本专利技术涉及设备故障诊断
,尤其涉及一种基于驱动函数的设备诊断方法及装置。

技术介绍

[0002]在设备诊断领域中,通常是通过预先编写的诊断程序中的诊断函数对采集到的设备数据进行分析进而实现对设备的诊断。在诊断程序的编写过程中,若将需执行的所有诊断函数编写在同一个诊断程序中,会导致整个诊断程序的代码非常复杂,且当需要开发诊断程序的新功能时,需要开发人员了解每个诊断函数的内容及其之间的逻辑关系,增大了诊断程序的开发难度,降低了诊断程序的开发效率,难以扩展诊断程序的新功能。
[0003]为了降低诊断程序的开发难度,可以将不同的诊断函数编写成不同的诊断程序,并通过进程间通信(IPC)或网络协议通信(RPC等)来实现不同诊断程序内诊断函数的调用,例如,诊断程序A用于采集设备数据,并通过网络协议通信接口将设备数据传输至诊断程序B,再由诊断程序B分析设备数据得到诊断结果。然而,实践发现,不同诊断程序内诊断函数之间的相互调用涉及到的进程数量较多,尤其是当不同诊断程序的编程语言不匹配时,会进一步增大诊断函数的调用难度,进而降低诊断函数的调用效率。
[0004]可见,如何在降低诊断程序的开发难度的同时提高诊断函数的调用效率显得尤为重要。

技术实现思路

[0005]本专利技术所要解决的技术问题在于,提供一种基于驱动函数的设备诊断方法及装置,能够在降低诊断程序的开发难度的同时提高诊断函数的调用效率。
[0006]为了解决上述技术问题,本专利技术第一方面公开了一种基于驱动函数的设备诊断方法,所述方法应用于设备服务端,所述方法包括:
[0007]当检测到客户端发送的关于目标设备的诊断业务请求时,从所述设备服务端对应的动态链接库中加载与所述诊断业务请求相匹配的至少一个驱动文件,每个所述驱动文件包括至少一个驱动函数;
[0008]执行每个所述驱动函数对应的业务,以对所述目标设备进行诊断,得到所述诊断业务请求对应的诊断结果。
[0009]作为一种可选的实施方式,在本专利技术第一方面中,所述方法还包括:
[0010]确定所述诊断业务请求对应的诊断主进程以及所述诊断主进程对应的一个或多个子进程;
[0011]从所有所述子进程中确定当前需启动的目标子进程;
[0012]所述从所述设备服务端对应的动态链接库中加载与所述诊断业务请求相匹配的至少一个驱动文件,包括:
[0013]从所述设备服务端对应的动态链接库中加载与所述目标子进程相匹配的至少一
个驱动文件。
[0014]作为一种可选的实施方式,在本专利技术第一方面中,所述方法还包括:
[0015]在所述诊断主进程以及至少一个所述子进程启动之后,对于已启动的每个所述子进程,当所述诊断主进程向该子进程发起数据通信时,执行该子进程对应的反馈检测操作,得到检测结果,所述反馈检测操作用于检测是否接收到该子进程返回的进程处理结果;
[0016]对于已启动的每个所述子进程,当所述检测结果表示未接收到该子进程返回的进程处理结果时,判断最新一次所述反馈检测操作的执行时刻与当前时刻的间隔时长是否大于等于预先设定的该子进程对应的轮巡监听周期,当判断结果为是时,重新执行该子进程对应的反馈检测操作,直至得到该子进程返回的进程处理结果。
[0017]作为一种可选的实施方式,在本专利技术第一方面中,所述从所述设备服务端对应的动态链接库中加载与所述目标子进程相匹配的至少一个驱动文件,包括:
[0018]基于所述设备服务端对应的函数调用工具,从所述设备服务端对应的动态链接库中加载与所述目标子进程相匹配的至少一个驱动文件,其中,所述函数调用工具用于所述设备服务端与基于任意编写语言编写的所述动态链接库之间的交互;
[0019]以及,所述方法还包括:
[0020]在所述函数调用工具对应的类库中将每个所述驱动函数映射成函数类型为预设类型的映射函数;
[0021]将每个所述驱动函数更新为该驱动函数映射而成的映射函数,并触发执行所述的执行每个所述驱动函数对应的业务,以对所述目标设备进行诊断,得到所述诊断业务请求对应的诊断结果的操作。
[0022]作为一种可选的实施方式,在本专利技术第一方面中,所述基于所述设备服务端对应的函数调用工具,从所述设备服务端对应的动态链接库中加载与所述目标子进程相匹配的至少一个驱动文件,包括:
[0023]确定所述目标子进程需调用的所有驱动文件;
[0024]当所有所述驱动文件中包括至少一个独立驱动文件时,基于所述设备服务端对应的函数调用工具以及预先确定出的所述独立驱动文件在所述动态链接库中的路径地址,从所述动态链接库中加载所述独立驱动文件,其中,所述独立驱动文件为所有所述驱动文件中与其他所述驱动文件均不存在关联关系的驱动文件;和/或,
[0025]当所有所述驱动文件中包括至少一个驱动文件组合时,基于所述设备服务端对应的函数调用工具以及预先确定出的所述驱动文件组合对应的环境变量,从所述动态链接库中加载所述驱动文件组合中的所有驱动文件,其中,所述驱动文件组合包括存在关联关系的至少两个所述驱动文件,所述环境变量用于指向所述驱动文件组合对应的目标文件夹在所述动态链接库中的路径地址,所述目标文件夹为包含所述驱动文件组合中所有所述驱动文件的文件夹。
[0026]作为一种可选的实施方式,在本专利技术第一方面中,所述在所述函数调用工具对应的类库中将每个所述驱动函数映射成函数类型为预设类型的映射函数,包括:
[0027]确定每个所述驱动函数中需保留的函数属性;
[0028]根据每个所述驱动函数中需保留的函数属性,在所述函数调用工具对应的类库中将该驱动函数映射成函数类型为预设类型的映射函数,其中,每个所述驱动函数映射而成
的映射函数的函数属性与该驱动函数需保留的函数属性相匹配。
[0029]作为一种可选的实施方式,在本专利技术第一方面中,所述根据每个所述驱动函数中需保留的函数属性,在所述函数调用工具对应的类库中将该驱动函数映射成函数类型为预设类型的映射函数,包括:
[0030]对于每个所述驱动函数,根据该驱动该函数需保留的函数属性,在所述函数调用工具对应的类库中生成该驱动函数对应的属性声明代码,并基于所述属性声明代码,在所述类库中将该驱动函数映射而成的映射函数映射成函数类型为预设类型的映射函数;或者,
[0031]对于每个所述驱动函数,在所述函数调用工具对应的类库中将该驱动函数映射成函数类型为预设类型的初始映射函数,并在所述初始映射函数插入该驱动该函数对应的属性声明代码,得到该驱动函数映射而成的映射函数,其中,每个所述驱动函数对应的属性声明代码用于声明该驱动函数需保留的函数属性。
[0032]作为一种可选的实施方式,在本专利技术第一方面中,所有所述驱动函数中包括用于启动通信业务的第一类驱动函数、用于采集诊断数据的第二类驱动函数、用于分析诊断数据的第三类驱动函数中的一种或多种;
[0033]所述执本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于驱动函数的设备诊断方法,其特征在于,所述方法应用于设备服务端,所述方法包括:当检测到客户端发送的关于目标设备的诊断业务请求时,从所述设备服务端对应的动态链接库中加载与所述诊断业务请求相匹配的至少一个驱动文件,每个所述驱动文件包括至少一个驱动函数;执行每个所述驱动函数对应的业务,以对所述目标设备进行诊断,得到所述诊断业务请求对应的诊断结果。2.根据权利要求1所述的基于驱动函数的设备诊断方法,其特征在于,所述方法还包括:确定所述诊断业务请求对应的诊断主进程以及所述诊断主进程对应的一个或多个子进程;从所有所述子进程中确定当前需启动的目标子进程;所述从所述设备服务端对应的动态链接库中加载与所述诊断业务请求相匹配的至少一个驱动文件,包括:从所述设备服务端对应的动态链接库中加载与所述目标子进程相匹配的至少一个驱动文件。3.根据权利要求2所述的基于驱动函数的设备诊断方法,其特征在于,所述方法还包括:在所述诊断主进程以及至少一个所述子进程启动之后,对于已启动的每个所述子进程,当所述诊断主进程向该子进程发起数据通信时,执行该子进程对应的反馈检测操作,得到检测结果,所述反馈检测操作用于检测是否接收到该子进程返回的进程处理结果;对于已启动的每个所述子进程,当所述检测结果表示未接收到该子进程返回的进程处理结果时,判断最新一次所述反馈检测操作的执行时刻与当前时刻的间隔时长是否大于等于预先设定的该子进程对应的轮巡监听周期,当判断结果为是时,重新执行该子进程对应的反馈检测操作,直至得到该子进程返回的进程处理结果。4.根据权利要求2或3所述的基于驱动函数的设备诊断方法,其特征在于,所述从所述设备服务端对应的动态链接库中加载与所述目标子进程相匹配的至少一个驱动文件,包括:基于所述设备服务端对应的函数调用工具,从所述设备服务端对应的动态链接库中加载与所述目标子进程相匹配的至少一个驱动文件,其中,所述函数调用工具用于所述设备服务端与基于任意编写语言编写的所述动态链接库之间的交互;以及,所述方法还包括:在所述函数调用工具对应的类库中将每个所述驱动函数映射成函数类型为预设类型的映射函数;将每个所述驱动函数更新为该驱动函数映射而成的映射函数,并触发执行所述的执行每个所述驱动函数对应的业务,以对所述目标设备进行诊断,得到所述诊断业务请求对应的诊断结果的操作。5.根据权利要求4中所述的基于驱动函数的设备诊断方法,其特征在于,所述基于所述设备服务端对应的函数调用工具,从所述设备服务端对应的动态链接库中加载与所述目标
子进程相匹配的至少一个驱动文件,包括:确定所述目标子进程需调用的所有驱动文件;当所有所述驱动文件中包括至少一个独立驱动文件时,基于所述设备服务端对应的函数调用工具以及预先确定出的所述独立驱动文件在所述动态链接库中的路径地址,从所述动态链接库中加载所述独立驱动文件,其中,所述独立驱动文件为所有所述驱动文件中与其他所述驱动文件均不存在关联关系的驱动文件;和/或,当所有所述驱动文件中包括至少一个驱动文件组合时,基于所述设备服务端对应的函数调用工具以及预先确定出的所述驱动文件组合对应的环境变量,从所述动态链接库中加载所述驱动文件组合中的所有驱动文件,其中,所述驱动文件组合包括存在关联关系的至少两个所述驱动文件,所述环境变量用于指向所述驱动文件组合对应的目标文件夹在所述动态链接库...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:深圳顶匠科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1