CN113740781A - 一种接口松动检测方法、装置、交通工具及存储介质 - Google Patents
一种接口松动检测方法、装置、交通工具及存储介质 Download PDFInfo
- Publication number
- CN113740781A CN113740781A CN202111002612.0A CN202111002612A CN113740781A CN 113740781 A CN113740781 A CN 113740781A CN 202111002612 A CN202111002612 A CN 202111002612A CN 113740781 A CN113740781 A CN 113740781A
- Authority
- CN
- China
- Prior art keywords
- file
- interface
- equipment
- symbolic link
- symbolic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/50—Testing of electric apparatus, lines, cables or components for short-circuits, continuity, leakage current or incorrect line connections
- G01R31/66—Testing of connections, e.g. of plugs or non-disconnectable joints
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种接口松动检测方法、装置、交通工具及存储介质,方法包括:配置udev规则文件,设备管理器udev通过udev规则文件并生成匹配设备属性的设备文件和符号链接;通过符号链接访问对应的设备文件;判断符号链接对应的设备文件是否发生变化;如果发生变化,确认符号链接对应的接口发生松动。通过本发明实施例,对符号链接和设备文件的对应关系发生变化进行检测来确定接口发生松动,能够及时发现接口松动问题,提醒用户对松动的接口进行维护,从而提高了无人驾驶系统的可维护性。
Description
技术领域
本发明涉及交通工具技术领域,尤其涉及一种接口松动检测方法、装置、交通工具及存储介质。
背景技术
目前,无人驾驶汽车上主机系统一般为linux系统。无人驾驶系统通过udev的配置规则,给相应USB或串口设备配置一个设备映射规则,应用程序通过访问配置规则中配置的符号链接,在操作系统为串口设备分配的文件句柄发生变化时,仍能够进行正确访问。而操作系统为串口设备分配的文件句柄发生变化往往是由于设备接口松动导致,而接口松动在无人驾驶中,需要提前进行预防和维护。如果当设备接口发生松动后,无法及时检测到并进行维护,则该设备在后续运行过程中有可能会断开无法再连接或造成数据丢失。
发明内容
本发明的主要目的在于提供一种接口松动检测方法、装置、交通工具及存储介质,旨在解决现有技术中无人驾驶系统在接口发生松动时,无法及时检测到并进行维护,导致该设备在后续运行过程中有可能会断开无法再连接或造成数据丢失的问题。
为实现上述目的,本发明提供了一种接口松动检测方法,所述方法包括以下步骤:
配置udev规则文件,设备管理器udev读取所述udev规则文件并生成匹配设备属性的设备文件和符号链接;
通过所述符号链接访问对应的所述设备文件;
判断所述符号链接对应的所述设备文件是否发生变化;如果发生变化,确认所述符号链接对应的接口发生松动。
可选地,判断所述符号链接对应的所述设备文件是否发生变化,通过以下步骤进行判断:
系统启动后,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第一设备映射关系;
启动定时器,所述定时器超时后,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第二设备映射关系;
判断所述第二设备映射关系的所述设备文件与所述第一设备映射关系的所述设备文件是否相同;如果不同,所述符号链接对应的所述设备文件发生变动;如果相同,所述符号链接对应的所述设备文件没有发生变动。
可选地,判断所述符号链接对应的所述设备文件是否发生变化,通过以下步骤进行判断:
系统启动后,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第一设备映射关系;
通过所述符号链接读取或发送数据时,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第二设备映射关系;
判断所述第二设备映射关系的所述设备文件与所述第一设备映射关系的所述设备文件是否相同;如果不同,所述符号链接对应的所述设备文件发生变动;如果相同,所述符号链接对应的所述设备文件没有发生变动。
可选地,所述方法还包括以下步骤:
所述设备文件对应的接口发生松动后,获取所述设备文件对应的所述设备属性;
发送所述设备属性和接口松动事件给本地系统和/或远程系统。
可选地,在所述发送所述设备属性和接口松动事件给本地系统和/或远程系统之前,还包括以下步骤;
统计所述符号链接对应的接口发生松动的次数;
判断所述次数是否大于某个设定值;如果大于,发送所述设备属性和接口松动事件给本地系统和/或远程系统;如果小于,不发送所述设备属性和接口松动事件给本地系统和/或远程系统。
可选地,所述设备属性包括:
内核设备名称、厂商名称、型号、序列号中的至少一个。
可选地,所述方法还包括以下步骤:
所述设备文件对应的接口发生松动后,如果所述接口存在备份接口,则将所述接口的业务切换到所述备份接口进行处理。
此外,为实现上述目的,本发明还提出一种接口松动检测装置,所述接口松动检测装置包括:
配置单元,用于配置udev规则文件,设备管理器udev读取所述udev规则文件并生成匹配设备属性的设备文件和符号链接;
访问单元,用于通过所述符号链接访问对应的所述设备文件;
判断单元,用于判断所述符号链接对应的所述设备文件是否发生变化;如果发生变化,确认所述符号链接对应的接口发生松动。
此外,为实现上述目的,本发明还提出一种交通工具,所述交通工具包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的接口松动检测程序,所述接口松动检测程序配置为实现如上文所述接口松动检测方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的接口松动检测方法的步骤。
本发明通过对符号链接和设备文件的对应关系是否发生变化进行检测来判断接口是否发生松动,能够及时发现接口松动问题,提醒用户对松动的接口进行维护,从而提高了无人驾驶系统的可维护性。
附图说明
图1为本发明提供的一种接口松动检测方法的一个流程示意图。
图2为本发明提供的一种接口松动检测上报的一个流程示意图。
图3为本发明提供的一种接口松动检测切换备份接口的一个流程示意图。
图4为本发明提供的定时检测接口松动的一个流程示意图。
图5为本发明提供的收发数据时检测接口松动的一个流程示意图。
图6为本发明接口松动检测装置实施例的结构框图。
图7是本发明实施例方案涉及的硬件运行环境的交通工具结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在一个实施例中,如图1所示,本发明提供接口松动检测方法,所述方法包括:
步骤101、配置udev规则文件,设备管理器udev读取所述udev规则文件并生成匹配设备属性的设备文件和符号链接。
自动驾驶汽车的主机需要插单路pcan和六路pcan,主机系统对端口顺序进行随机分配,但自动驾驶程序需要通过访问固定通道进行数据处理。当前单路pcan识别成/dev/pcanusb32,六路pcan识别成/dev/pcanusbfd33-38;但某些时候,会发生单路pcan识别成/dev/pcanusb38,六路pcan识别成/dev/pcanusbfd32-37,由于pcan传递着dbw和radar信息,错误的端口号,会对数据传输产生影响。因此自动驾驶程序需要端口固定。
为了实现端口固定,需要配置udev规则文件。配置udev规则步骤如下:
一、单路pcan配置udev规则
第一步:udevadm info查看设备属性信息,获得内核设备名称、序列号、厂商名称、型号等信息。
第二步:配置udev规则文件,如:47-pcan.rules。把udev规则文件47-pcan.rules保存到/etc/udev/rules.d目录下。udev规则文件47-pcan.rules内容如下:
LABEL="lbl_udev_pcanl"
KERNEL=="pcanusb*",ATTR{ctrlr_number}=="0",SYMLINK+="pcan32",MODE="0666"
LABEL="lbl_udevl_end"
二、六路pcan配置udev规则
第一步:udevadm info查看设备属性信息,获得内核设备名称、序列号、厂商名称、型号等信息。
第二步:配置udev规则文件48-pcan.rules,保存到/etc/udev/rules.d目录下,udev规则文件48-pcan.rules内容如下:
LABEL="lbl_udev_pcan"
KERNEL=="pcanpci*",SYMLINK+="pcan%m",MODE="0666"
KERNEL=="pcanpccard*",SYMLINK+="pcan%m",MODE="0666"
KERNEL=="pcanisa*",SYMLINK+="pcan%m",MODE="0666"
KERNEL=="pcanepp*",SYMLINK+="pcan%m",MODE="0666"
KERNEL=="pcansp*",SYMLINK+="pcan%m",MODE="0666"
KERNEL=="pcanusbfd*",ATTRS{ctrlr_number}=="0",SYMLINK+="pcan33",MODE="0666"
KERNEL=="pcanusbfd*",ATTRS{ctrlr_number}=="1",SYMLINK+="pcan34",MODE="0666"
KERNEL=="pcanusbfd*",ATTRS{ctrlr_number}=="2",SYMLINK+="pcan35",MODE="0666"
KERNEL=="pcanusbfd*",ATTRS{ctrlr_number}=="3",SYMLINK+="pcan36",MODE="0666"
KERNEL=="pcanusbfd*",ATTRS{ctrlr_number}=="4",SYMLINK+="pcan37",MODE="0666"
KERNEL=="pcanusbfd*",ATTRS{ctrlr_number}=="5",SYMLINK+="pcan38",MODE="0666"
自动驾驶车辆系统启动后,获得设备文件和符号链接的对应关系如下表:
步骤102、通过所述符号链接访问对应的所述设备文件。
自动驾驶程序通过符号链接访问对应的设备文件,如访问单路pcan设备,可以通过符号链接pcan32进行访问。后续,单路pcan设备的设备文件发生变化,如单路pcan设备被识别成/dev/pcanusb38,自动驾驶程序通过访问/dev/pcan32也可以正确访问单路pcan设备。
步骤103、判断所述符号链接对应的所述设备文件是否发生变化;如果发生变化,确认所述符号链接对应的接口发生松动。
自动驾驶程序通过如图4所示流程判断符号链接对应的设备文件是否发生变化。如判断单路pcan设备的符号链接pcan32对应的设备文件是否发生变化。
步骤201、系统启动后,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第一设备映射关系。
自动驾驶主机系统启动后,自动驾驶程序获取符号链接和对应的设备文件信息。如获取单路pcan设备的符号链接和对应的设备文件信息,通过调用ls-l/dev/pcan32,得到如下表所示信息:
序号 | 符号链接 | 设备文件 |
1 | pcan32 | pcanusb32 |
把获取的符号链接和对应的设备文件信息保存到数据库中,作为第一设备映射关系。
步骤202、启动定时器,所述定时器超时后,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第二设备映射关系。
自动驾驶程序在程序启动后,启动一个周期定时器A,定时器A的超时时长可以根据检测精度要求进行设置,如每60秒检测一次,则定时器A的超时时长设置为60秒。
定时器A超时后,获取单路pcan设备的符号链接和对应的设备文件信息,如调用ls-l/dev/pcan32,得到如下表所示信息:
序号 | 符号链接 | 设备文件 |
1 | pcan32 | pcanusb38 |
把获取的符号链接和对应的设备文件信息保存到数据库中,作为第二设备映射关系。
步骤203、判断所述第二设备映射关系的所述设备文件与所述第一设备映射关系的所述设备文件是否相同;如果不同,所述符号链接对应的所述设备文件发生变动;如果相同,所述符号链接对应的所述设备文件没有发生变动。
自动驾驶程序在定时器A超时后,获取到第二设备映射关系后,和系统启动时获取的第一设备映射关系进行比较。
第一设备映射关系:
序号 | 符号链接 | 设备文件 |
1 | pcan32 | pcanusb32 |
第二设备映射关系:
序号 | 符号链接 | 设备文件 |
1 | pcan32 | pcanusb38 |
通过比较,第二设备关系的设备文件pcanusb38和第一设备映射关系的设备文件pcanusb32不相同,则符号链接pcan32对应设备文件发生了变动。如果第二设备关系的设备文件pcanusb32和第一设备映射关系的设备文件pcanusb32相同,则符号链接pcan32对应设备文件发生没有变动。
自动驾驶程序在定时器A超时后,可以对多个符号链接对应的设备进行检测,如分别检测单路pcan设备、六路pcan设备等。
自动驾驶程序还可以通过如图5所示流程判断符号链接对应的设备文件是否发生变化。如判断单路pcan设备的符号链接pcan32对应的设备文件是否发生变化。
步骤301、系统启动后,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第一设备映射关系。
自动驾驶主机系统启动后,自动驾驶程序获取符号链接和对应的设备文件信息。如获取单路pcan设备的符号链接和对应的设备文件信息,通过调用ls-l/dev/pcan32,得到如下表所示信息:
序号 | 符号链接 | 设备文件 |
1 | pcan32 | pcanusb32 |
把获取的符号链接和对应的设备文件信息保存到数据库中,作为第一设备映射关系。
步骤302、通过所述符号链接读取或发送数据时,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第二设备映射关系。
自动驾驶程序在程序启动后,根据业务处理触发通过符号链接访问(接收或发送数据)对应设备。如当业务需要通过单路pcan设备的符号链接pcan32读取单路pcan设备的数据或发送数据给单路pcan设备。在读取完数据或发送完数据后,获取单路pcan设备的符号链接和对应的设备文件信息,如调用ls-l/dev/pcan32,得到如下表所示信息:
序号 | 符号链接 | 设备文件 |
1 | pcan32 | pcanusb38 |
把获取的符号链接和对应的设备文件信息保存到数据库中,作为第二设备映射关系。
步骤303、判断所述第二设备映射关系的所述设备文件与所述第一设备映射关系的所述设备文件是否相同;如果不同,所述符号链接对应的所述设备文件发生变动;如果相同,所述符号链接对应的所述设备文件没有发生变动。
自动驾驶程序在根据业务处理触发通过符号链接访问(接收或发送数据)对应设备后,获取到第二设备映射关系后,和系统启动时获取的第一设备映射关系进行比较。
第一设备映射关系:
序号 | 符号链接 | 设备文件 |
1 | pcan32 | pcanusb32 |
第二设备映射关系:
通过比较,第二设备关系的设备文件pcanusb38和第一设备映射关系的设备文件pcanusb32不相同,则符号链接pcan32对应设备文件发生了变动。如果第二设备关系的设备文件pcanusb32和第一设备映射关系的设备文件pcanusb32相同,则符号链接pcan32对应设备文件发生没有变动。
自动驾驶程序通过判断第二设备关系的设备文件pcanusb38和第一设备映射关系的设备文件pcanusb32不相同,从而得到符号链接pcan32对应的单路pcan设备的接口发生松动。接口松动时,类似单路pcan设备重新拔插,linux操作系统无法及时释放资源,从而导致linux为单路pcan设备分配的设备文件和之前的设备文件不同(之前的设备文件没有及时释放)。所以,通过判断设备文件是否发生变化,可以判断对应的设备接口是否发生松动现象。
在本实施例中,通过对符号链接和设备文件的对应关系是否发生变化进行检测来判断接口是否发生松动,能够及时发现接口松动问题,提醒用户对松动的接口进行维护,从而提高了无人驾驶系统的可维护性。
在一个实施例中,图2提供了图1实施例103步骤后上报接口松动事件的具体过程。
步骤104、所述符号链接对应的接口发生松动后,获取所述符号链接对应的设备属性。
自动驾驶程序通过符号链接对应的设备文件判断接口发生松动后,获取符号链接对应的设备的设备属性。如单路pcan设备接口发生松动,使用udevadm命令获取符号链接pcanusb32的设备属性。获取设备属性后,保存到数据库中。
获取的设备属性包括:内核设备名称、厂商名称、型号、序列号。
步骤105、统计所述符号链接对应的接口发生松动的次数。
自动驾驶程序在符号链接对应设备的接口发生松动后,对松动次数进行累加。如符号链接pcanusb32的设备接口发生松动,松动次数统计如下:
步骤106、判断所述次数是否大于某个设定值;如果大于,发送所述设备属性和接口松动事件给本地系统和/或远程系统;如果小于,不发送所述设备属性和接口松动事件给本地系统和/或远程系统。
自动驾驶程序对接口松动进行检测时,需要设置一个接口松动阈值。当某个设备在系统启动后,接口松动次数达到设置的阈值后,需要把该设备的接口松动事件上报给本地系统(如自动驾驶本地系统)和自动驾驶后台系统。
自动驾驶程序设置接口松动阈值是为防止检测过程存在误判,如操作系统可能存在误判,因此需要把松动阈值设置为大于1的值。也可以根据业务需要,把松动阈值设置为1,只要检测到接口松动就给本地系统和/或远程系统发送设备属性和接口松动事件。接口事件包括符号链接、检测到接口松动的时间、接口松动次数等信息。
接口事件上报后,自动驾驶程序可以清除松动次数,防止后续设备只要发生接口松动,就上报接口松动事件。
在本实施例中,检测到接口松动事件后,给本地系统和后台系统上报接口松动事件,可以使用户收到接口松动事件后及时进行松动设备维护。同时上报设备属性,便于用户对松动设备进行维护,提升设备可维护性。
在一个实施例中,图3提供了图1实施例103步骤后备份接口切换的具体过程。
步骤107、所述符号链接对应的接口发生松动后,如果所述接口存在备份接口,则将所述接口的业务切换到所述备份接口进行处理。
自动驾驶程序在判断接口发生松动后,判断该接口是否存在备份接口。如无人驾驶系统中,导航数据传输装置通过USB转串口设备和USB1.1设备和主机系统进行连接,USB转串口设备为主设备,USB1.1设备为备份设备。当前导航数据传输装置通过USB转串口设备传输惯性导航数据给主机系统;当USB转串口设备故障时,导航数据传输装置通过USB1.1设备传输惯性导航数据给主机系统。
自动驾驶程序在检测到USB转串口设备发生接口松动后,主动通知导航数据传输装置切换到备份接口USB1.1设备传输惯性导航数据给主机系统。而不需要等USB转串口设备发生故障(如无法传输数据,或数据丢失)后才切换到备份接口进行数据传输。
在本实施例中,检测到接口松动事件后,把发生接口松动的设备处理的业务切换到备份接口进行处理。防止接口故障后才进行业务切换到备份接口进行处理,避免业务处理中断或数据丢失,从而提升了自动驾驶程序的可靠性。
此外,本发明实施例还提出一种接口松动检测装置,参照图6,所述接口松动检测装置包括:
配置单元,用于配置udev规则文件,设备管理器udev读取所述udev规则文件并生成匹配设备属性的设备文件和符号链接;
访问单元,用于通过所述符号链接访问对应的所述设备文件;
判断单元,用于判断所述符号链接对应的所述设备文件是否发生变化;如果发生变化,确认所述设备文件对应的接口发生松动。
在本实施例中,通过对符号链接和设备文件的对应关系是否发生变化进行检测来判断接口是否发生松动,能够及时发现接口松动问题,提醒用户对松动的接口进行维护,从而提高了无人驾驶系统的可维护性。
需要说明的是,上述装置中的各单元可用于实现上述方法中的各个步骤,同时达到相应的技术效果,本实施例在此不再赘述。
参照图7,图7为本发明实施例方案涉及的硬件运行环境的交通工具的结构示意图。
如图7所示,该交通工具可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI、4G、5G接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图7中示出的结构并不构成对交通工具的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图7所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及接口松动检测程序。
在图7所示的交通工具中,网络接口1004主要用于与外部网络进行数据通信;用户接口1003主要用于接收用户的输入指令;交通工具通过处理器1001调用存储器1005中存储的接口松动检测程序,并执行以下操作:
配置udev规则文件,设备管理器udev读取所述udev规则文件并生成匹配设备属性的设备文件和符号链接;
通过所述符号链接访问对应的所述设备文件;
判断所述符号链接对应的所述设备文件是否发生变化;如果发生变化,判断所述符号链接对应的接口发生松动。
可选地,判断所述符号链接对应的所述设备文件是否发生变化,通过以下步骤进行判断:
系统启动后,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第一设备映射关系;
启动定时器,所述定时器超时后,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第二设备映射关系;
判断所述第二设备映射关系的所述设备文件与所述第一设备映射关系的所述设备文件是否相同;如果不同,所述符号链接对应的所述设备文件发生变动;如果相同,所述符号链接对应的所述设备文件没有发生变动。
可选地,判断所述符号链接对应的所述设备文件是否发生变化,通过以下步骤进行判断:
系统启动后,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第一设备映射关系;
通过所述符号链接读取或发送数据时,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第二设备映射关系;
判断所述第二设备映射关系的所述设备文件与所述第一设备映射关系的所述设备文件是否相同;如果不同,所述符号链接对应的所述设备文件发生变动;如果相同,所述符号链接对应的所述设备文件没有发生变动。
可选地,所述方法还包括以下步骤:
所述设备文件对应的接口发生松动后,获取所述设备文件对应的设备属性;
发送所述设备属性和接口松动事件给本地系统和/或远程系统。
可选地,在所述发送所述设备属性和接口松动事件给本地系统和/或远程系统之前,还包括以下步骤;
统计所述符号链接对应的接口发生松动的次数;
判断所述次数是否大于某个设定值;如果大于,发送所述设备属性和接口松动事件给本地系统和/或远程系统;如果小于,不发送所述设备属性和接口松动事件给本地系统和/或远程系统。
可选地,所述设备属性包括:
内核设备名称、厂商名称、型号、序列号中的至少一个。
可选地,所述方法还包括以下步骤:
所述设备文件对应的接口发生松动后,如果所述接口存在备份接口,则将所述接口的业务切换到所述备份接口进行处理。
在本实施例中,通过对符号链接和设备文件的对应关系是否发生变化进行检测来判断接口是否发生松动,能够及时发现接口松动问题,提醒用户对松动的接口进行维护,从而提高了无人驾驶系统的可维护性。
此外,本发明实施例还提出一种计算机可读存储介质,计算机可读存储介质上存储有接口松动检测程序,接口松动检测程序被处理器执行时实现如下操作:
配置udev规则文件,设备管理器udev读取所述udev规则文件并生成匹配设备属性的设备文件和符号链接;
通过所述符号链接访问对应的所述设备文件;
判断所述符号链接对应的所述设备文件是否发生变化;如果发生变化,判断所述符号链接对应的接口发生松动。
可选地,判断所述符号链接对应的所述设备文件是否发生变化,通过以下步骤进行判断:
系统启动后,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第一设备映射关系;
启动定时器,所述定时器超时后,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第二设备映射关系;
判断所述第二设备映射关系的所述设备文件与所述第一设备映射关系的所述设备文件是否相同;如果不同,所述符号链接对应的所述设备文件发生变动;如果相同,所述符号链接对应的所述设备文件没有发生变动。
可选地,判断所述符号链接对应的所述设备文件是否发生变化,通过以下步骤进行判断:
系统启动后,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第一设备映射关系;
通过所述符号链接读取或发送数据时,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第二设备映射关系;
判断所述第二设备映射关系的所述设备文件与所述第一设备映射关系的所述设备文件是否相同;如果不同,所述符号链接对应的所述设备文件发生变动;如果相同,所述符号链接对应的所述设备文件没有发生变动。
可选地,所述方法还包括以下步骤:
所述设备文件对应的接口发生松动后,获取所述设备文件对应的设备属性;
发送所述设备属性和接口松动事件给本地系统和/或远程系统。
可选地,在所述发送所述设备属性和接口松动事件给本地系统和/或远程系统之前,还包括以下步骤;
统计所述符号链接对应的接口发生松动的次数;
判断所述次数是否大于某个设定值;如果大于,发送所述设备属性和接口松动事件给本地系统和/或远程系统;如果小于,不发送所述设备属性和接口松动事件给本地系统和/或远程系统。
可选地,所述设备属性包括:
内核设备名称、厂商名称、型号、序列号中的至少一个。
可选地,所述方法还包括以下步骤:
所述设备文件对应的接口发生松动后,如果所述接口存在备份接口,则将所述接口的业务切换到所述备份接口进行处理。
在本实施例中,通过对符号链接和设备文件的对应关系是否发生变化进行检测来判断接口是否发生松动,能够及时发现接口松动问题,提醒用户对松动的接口进行维护,从而提高了无人驾驶系统的可维护性。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,控制器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种接口松动检测方法,其特征在于,所述方法包括以下步骤:
配置udev规则文件,设备管理器udev读取所述udev规则文件并生成匹配设备属性的设备文件和符号链接;
通过所述符号链接访问对应的所述设备文件;
判断所述符号链接对应的所述设备文件是否发生变化;如果发生变化,确认所述符号链接对应的接口发生松动。
2.根据权利要求1所述方法,其特征在于,判断所述符号链接对应的所述设备文件是否发生变化,通过以下步骤进行判断:
系统启动后,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第一设备映射关系;
启动定时器,所述定时器超时后,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第二设备映射关系;
判断所述第二设备映射关系的所述设备文件与所述第一设备映射关系的所述设备文件是否相同;如果不同,所述符号链接对应的所述设备文件发生变动;如果相同,所述符号链接对应的所述设备文件没有发生变动。
3.根据权利要求1所述方法,其特征在于,判断所述符号链接对应的所述设备文件是否发生变化,通过以下步骤进行判断:
系统启动后,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第一设备映射关系;
通过所述符号链接读取或发送数据时,获取所述符号链接和对应的所述设备文件,保存所述符号链接和对应的所述设备文件为第二设备映射关系;
判断所述第二设备映射关系的所述设备文件与所述第一设备映射关系的所述设备文件是否相同;如果不同,所述符号链接对应的所述设备文件发生变动;如果相同,所述符号链接对应的所述设备文件没有发生变动。
4.根据权利要求1所述方法,其特征在于,所述方法还包括以下步骤:
所述设备文件对应的接口发生松动后,获取所述设备文件对应的所述设备属性;
发送所述设备属性和接口松动事件给本地系统和/或远程系统。
5.根据权利要求4所述方法,其特征在于,在所述发送所述设备属性和接口松动事件给本地系统和/或远程系统之前,还包括以下步骤;
统计所述符号链接对应的接口发生松动的次数;
判断所述次数是否大于某个设定值;如果大于,发送所述设备属性和接口松动事件给本地系统和/或远程系统;如果小于,不发送所述设备属性和接口松动事件给本地系统和/或远程系统。
6.根据权利要求1所述方法,其特征在于,所述设备属性包括:
内核设备名称、厂商名称、型号、序列号中的至少一个。
7.根据权利要求1所述方法,其特征在于,所述方法还包括以下步骤:
所述设备文件对应的接口发生松动后,如果所述接口存在备份接口,则将所述接口的业务切换到所述备份接口进行处理。
8.一种接口松动检测装置,其特征在于,所述接口松动检测装置包括:
配置单元,用于配置udev规则文件,设备管理器udev读取所述udev规则文件并生成匹配设备属性的设备文件和符号链接;
访问单元,用于通过所述符号链接访问对应的所述设备文件;
判断单元,用于判断所述符号链接对应的所述设备文件是否发生变化;如果发生变化,确认所述符号链接对应的接口发生松动。
9.一种交通工具,其特征在于,所述交通工具包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的接口松动检测程序,所述接口松动检测程序配置为实现根据权利要求1至7中任一项所述接口松动检测方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的接口松动检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111002612.0A CN113740781B (zh) | 2021-08-30 | 2021-08-30 | 一种接口松动检测方法、装置、交通工具及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111002612.0A CN113740781B (zh) | 2021-08-30 | 2021-08-30 | 一种接口松动检测方法、装置、交通工具及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113740781A true CN113740781A (zh) | 2021-12-03 |
CN113740781B CN113740781B (zh) | 2022-05-24 |
Family
ID=78733732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111002612.0A Active CN113740781B (zh) | 2021-08-30 | 2021-08-30 | 一种接口松动检测方法、装置、交通工具及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113740781B (zh) |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503135A (zh) * | 2002-11-21 | 2004-06-09 | 威盛电子股份有限公司 | 计算机主机板输出入端口的测试方法 |
KR20090010660A (ko) * | 2007-07-24 | 2009-01-30 | 에스케이 텔레콤주식회사 | 다양한 사용자 인터페이스에 독립적인 통신 기능을 구비한임베디드 리눅스 장치 |
CN101460910A (zh) * | 2006-04-11 | 2009-06-17 | 因文西斯系统公司 | 现场设备编辑工具 |
RU91183U1 (ru) * | 2009-09-21 | 2010-01-27 | Общество с ограниченной ответственностью "Научно-производственное предприятие "АДВЕНТ" | Автоматизированная система диагностирования цифровых устройств |
WO2011130975A1 (zh) * | 2010-04-21 | 2011-10-27 | 中兴通讯股份有限公司 | 一种linux系统数据卡设备端口识别的方法及装置 |
CN102724305A (zh) * | 2012-06-13 | 2012-10-10 | 华东师范大学 | 一种远程访问终端u盘的方法 |
CN103414597A (zh) * | 2013-08-30 | 2013-11-27 | 上海寰创通信科技股份有限公司 | 一种逻辑端口的状态更新系统和方法 |
CN103699846A (zh) * | 2013-12-25 | 2014-04-02 | 浪潮(北京)电子信息产业有限公司 | 一种linux系统中变化文件的截获方法及装置 |
CN106933583A (zh) * | 2017-03-06 | 2017-07-07 | 联想(北京)有限公司 | 操作系统中识别硬件设备的方法及计算机设备 |
KR20170090206A (ko) * | 2016-01-28 | 2017-08-07 | 주식회사 우리넷 | 리눅스 기반 패킷 프로세서를 이용하는 분산 패킷 전송 네트워크의 프로토콜 패킷 송수신 방법 |
WO2017193898A1 (zh) * | 2016-05-09 | 2017-11-16 | 广州广电运通金融电子股份有限公司 | 一种基于Linux或Unix内核操作系统的串口映射方法及装置 |
CN107918550A (zh) * | 2016-10-08 | 2018-04-17 | 中标软件有限公司 | 一种在Linux系统下审计USB设备历史使用情况的方法 |
CN108572895A (zh) * | 2018-04-02 | 2018-09-25 | 郑州云海信息技术有限公司 | 一种Linux下自动检查软硬件配置的稳定性测试方法 |
CN109062576A (zh) * | 2018-07-18 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种通过initramfs修复文件系统的方法及装置 |
CN109683053A (zh) * | 2018-12-20 | 2019-04-26 | 四川天邑康和通信股份有限公司 | 一种基于接口设备出厂测试的接口测试系统及测试方法 |
CN110908609A (zh) * | 2019-11-22 | 2020-03-24 | 苏州浪潮智能科技有限公司 | 一种磁盘处理的方法、系统、设备及可读存储介质 |
CN111124864A (zh) * | 2019-12-24 | 2020-05-08 | 深圳我家云网络科技有限公司 | 一种接口自动化测试方法及相关设备 |
CN112035063A (zh) * | 2020-08-28 | 2020-12-04 | 浪潮云信息技术股份公司 | 一种基于云平台的硬盘及文件系统热扩容的方法 |
CN112100058A (zh) * | 2020-08-19 | 2020-12-18 | 展讯半导体(南京)有限公司 | 一种接口规范检测方法及其装置 |
CN112148917A (zh) * | 2019-06-28 | 2020-12-29 | 西安诺瓦星云科技股份有限公司 | 媒体播放控制方法、装置及系统和计算机可读存储介质 |
CN112306855A (zh) * | 2019-08-02 | 2021-02-02 | 北大方正集团有限公司 | 接口自动化测试方法、装置、终端和存储介质 |
-
2021
- 2021-08-30 CN CN202111002612.0A patent/CN113740781B/zh active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503135A (zh) * | 2002-11-21 | 2004-06-09 | 威盛电子股份有限公司 | 计算机主机板输出入端口的测试方法 |
CN101460910A (zh) * | 2006-04-11 | 2009-06-17 | 因文西斯系统公司 | 现场设备编辑工具 |
KR20090010660A (ko) * | 2007-07-24 | 2009-01-30 | 에스케이 텔레콤주식회사 | 다양한 사용자 인터페이스에 독립적인 통신 기능을 구비한임베디드 리눅스 장치 |
RU91183U1 (ru) * | 2009-09-21 | 2010-01-27 | Общество с ограниченной ответственностью "Научно-производственное предприятие "АДВЕНТ" | Автоматизированная система диагностирования цифровых устройств |
WO2011130975A1 (zh) * | 2010-04-21 | 2011-10-27 | 中兴通讯股份有限公司 | 一种linux系统数据卡设备端口识别的方法及装置 |
CN102724305A (zh) * | 2012-06-13 | 2012-10-10 | 华东师范大学 | 一种远程访问终端u盘的方法 |
CN103414597A (zh) * | 2013-08-30 | 2013-11-27 | 上海寰创通信科技股份有限公司 | 一种逻辑端口的状态更新系统和方法 |
CN103699846A (zh) * | 2013-12-25 | 2014-04-02 | 浪潮(北京)电子信息产业有限公司 | 一种linux系统中变化文件的截获方法及装置 |
KR20170090206A (ko) * | 2016-01-28 | 2017-08-07 | 주식회사 우리넷 | 리눅스 기반 패킷 프로세서를 이용하는 분산 패킷 전송 네트워크의 프로토콜 패킷 송수신 방법 |
WO2017193898A1 (zh) * | 2016-05-09 | 2017-11-16 | 广州广电运通金融电子股份有限公司 | 一种基于Linux或Unix内核操作系统的串口映射方法及装置 |
CN107918550A (zh) * | 2016-10-08 | 2018-04-17 | 中标软件有限公司 | 一种在Linux系统下审计USB设备历史使用情况的方法 |
CN106933583A (zh) * | 2017-03-06 | 2017-07-07 | 联想(北京)有限公司 | 操作系统中识别硬件设备的方法及计算机设备 |
CN108572895A (zh) * | 2018-04-02 | 2018-09-25 | 郑州云海信息技术有限公司 | 一种Linux下自动检查软硬件配置的稳定性测试方法 |
CN109062576A (zh) * | 2018-07-18 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种通过initramfs修复文件系统的方法及装置 |
CN109683053A (zh) * | 2018-12-20 | 2019-04-26 | 四川天邑康和通信股份有限公司 | 一种基于接口设备出厂测试的接口测试系统及测试方法 |
CN112148917A (zh) * | 2019-06-28 | 2020-12-29 | 西安诺瓦星云科技股份有限公司 | 媒体播放控制方法、装置及系统和计算机可读存储介质 |
CN112306855A (zh) * | 2019-08-02 | 2021-02-02 | 北大方正集团有限公司 | 接口自动化测试方法、装置、终端和存储介质 |
CN110908609A (zh) * | 2019-11-22 | 2020-03-24 | 苏州浪潮智能科技有限公司 | 一种磁盘处理的方法、系统、设备及可读存储介质 |
CN111124864A (zh) * | 2019-12-24 | 2020-05-08 | 深圳我家云网络科技有限公司 | 一种接口自动化测试方法及相关设备 |
CN112100058A (zh) * | 2020-08-19 | 2020-12-18 | 展讯半导体(南京)有限公司 | 一种接口规范检测方法及其装置 |
CN112035063A (zh) * | 2020-08-28 | 2020-12-04 | 浪潮云信息技术股份公司 | 一种基于云平台的硬盘及文件系统热扩容的方法 |
Non-Patent Citations (2)
Title |
---|
QINGNING WANG 等: "Linux QT based configuration software development for mobile electric energy efficiency detection system", 《2016 CHINESE CONTROL AND DECISION CONFERENCE (CCDC)》 * |
韩旭 等: "VXI-11协议的完整开发与库的实现", 《现代电子技术》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113740781B (zh) | 2022-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150212772A1 (en) | Information processing apparatus, method, system, and medium, with setup page that shows information indicating functions | |
CN101594376B (zh) | 向cimom注册cim提供器的方法和相应的装置 | |
CN103560922A (zh) | 一种容灾方法及系统 | |
CN102387034A (zh) | 网络设备管理系统及网络设备管理方法 | |
CN108156252B (zh) | 一种数据访问方法、装置、服务器及客户端 | |
US20120047292A1 (en) | Monitoring System, Device Server, Host Computer, Monitoring Method, and Storage Medium | |
US20080177827A1 (en) | Software operation results management system, method, and program | |
US20230412742A1 (en) | Apparatus, method, and system for monitoring image-forming apparatus, and storage medium | |
CN111159269A (zh) | 一种数据处理方法、装置及系统 | |
CN113740781B (zh) | 一种接口松动检测方法、装置、交通工具及存储介质 | |
CN109271059B (zh) | 屏幕的防误触方法、终端以及计算机可读存储介质 | |
US8447928B2 (en) | Electronic apparatus, server, and method for controlling electronic apparatus | |
CN111182536A (zh) | Sim卡状态检测方法、装置、网络设备及存储介质 | |
CN111625264A (zh) | 一种多级管理系统的升级方法、装置、设备及介质 | |
US7778660B2 (en) | Mobile communications terminal, information transmitting system and information receiving method | |
CN108683584B (zh) | 一种消息提醒的方法、装置、设备及存储介质 | |
CN107171915B (zh) | 一种通信协议的变更方法及装置 | |
CN107766232B (zh) | 一种插件管理方法及装置 | |
CN112685613B (zh) | 一种资源包查询的方法、装置及信息处理系统 | |
CN112235630B (zh) | 一种数据备份传输方法、led网状环路备份系统及电子设备 | |
CN103608771A (zh) | 对本地设备的共享访问 | |
CN103095948A (zh) | 图像形成系统、图像形成装置和图像形成方法 | |
CN109254855B (zh) | 一种参数传输协议的注册方法、装置及电子设备 | |
CN106713058B (zh) | 一种基于云端卡资源的测试方法、设备及系统 | |
JP3022467B2 (ja) | インタフェース装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |