CN117707651B - 基于嵌入式Linux系统的接口资源操作方法及系统 - Google Patents
基于嵌入式Linux系统的接口资源操作方法及系统 Download PDFInfo
- Publication number
- CN117707651B CN117707651B CN202311704309.4A CN202311704309A CN117707651B CN 117707651 B CN117707651 B CN 117707651B CN 202311704309 A CN202311704309 A CN 202311704309A CN 117707651 B CN117707651 B CN 117707651B
- Authority
- CN
- China
- Prior art keywords
- equipment
- interface
- function
- connection
- target
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000006870 function Effects 0.000 claims abstract description 181
- 238000001514 detection method Methods 0.000 claims description 37
- 230000002159 abnormal effect Effects 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 30
- 238000012544 monitoring process Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 9
- 230000005856 abnormality Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 239000011800 void material Substances 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000001105 regulatory effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Telephonic Communication Services (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种基于嵌入式Linux系统的接口资源操作方法及系统,其接口资源操作方法包括:接收设备连接请求;根据设备连接请求针对设备进行接口目标信息配置,确定目标初始化函数,并基于目标初始化函数确定虚函数;将目标初始化函数结合虚函数进行初始化处理,并创建连接设置,实现设备与接口连接;读写接口数据,获取设备操作请求,并针对设备操作请求形成待处理队列;按照待处理队列控制接口进行设备操作请求响应。本发明提出一种基于嵌入式Linux系统的接口资源操作方法及系统,将嵌入式Linux系统的接口虚拟化,采用了统一的流程与编程风格,能够基于同一框架针对不同设备适用,降低了开发人员的学习难度,减少了工作量。
Description
技术领域
本发明涉及信息技术领域,特别涉及一种基于嵌入式Linux系统的接口资源操作方法及系统。
背景技术
嵌入式Linux系统是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统,接口是实现Linux系统通信的串口。
目前,基于嵌入式Linux系统大多采用原生接口,但是原生接口在将嵌入式Linux系统与设备进行通信时,需要开发人员针对不同的设备进行开放,开放人员要求高,工作量也多,因此,本发明提出一种基于嵌入式Linux系统的接口资源操作方法及系统,将嵌入式Linux系统的接口虚拟化,采用了统一的流程与编程风格,能够基于同一框架针对不同设备适用,降低了开发人员的学习难度,减少了工作量。
发明内容
本发明的目的在于提供一种基于嵌入式Linux系统的接口资源操作方法及系统,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于嵌入式Linux系统的接口资源操作方法,包括:
接收设备连接请求;
根据设备连接请求针对设备进行接口目标信息配置,确定目标初始化函数,并基于目标初始化函数确定虚函数;
将目标初始化函数结合虚函数进行初始化处理,并创建连接设置,实现设备与接口连接;
读写接口数据,获取设备操作请求,并针对设备操作请求形成待处理队列;
按照待处理队列控制接口进行设备操作请求响应。
进一步地,根据设备连接请求针对设备进行接口配置时,获取设备信息根据设备信息匹配设备在信息存储数据模块中进行接口目标信息匹配,其中,信息存储模块中存储预先创建的所有设备的基类和成员函数。
进一步地,所述虚函数是目标初始函数中的内调函数,基于目标初始化函数确定虚函数时,包括:
根据目标初始函数确定目标初始函数的内调函数,并将内调函数作为虚函数;
结合目标初始函数针对虚函数进行分析判断,得到虚函数分析判断结果,根据目标初始函数中的隐藏指针的指向判断虚函数的地址是否被重写,从而得到虚函数分析判断结果;
按照虚函数分析判断结果,在虚函数的地址被重写时,将重写的虚函数的地址添加到虚函数表中。
进一步地,创建连接设置时,启动所述目标初始化函数,在目标初始化函数中针对设备填充工作内容,从而创建连接设置,其中,创建连接设置包括:创建超时定时器、创建连接和设置连接参数。
进一步地,所述创建连接,包括:
创建连接链接;
基于连接链接到远程主机上进行连接,确定连接关系;
针对连接关系进行检测,获取连接检测信息;
根据连接检测信息分析连接关系是否存在异常,得到连接检测结果;
按照连接检测结果,在连接关系存在异常时进行异常处理。
进一步地,所述读写接口数据,获取设备操作请求时,基于设备与接口的连接关系针对设备进行设备操作请求监测,获取设备操作请求,并分析设备操作请求的数目,当设备操作请求的数目不唯一时,根据设备操作请求的获取时间按照先后顺序导入待处理队列,形成待处理队列。
进一步地,基于设备与接口的连接关系针对设备进行设备操作请求监测时,还根据连接设置针对连接关系进行关闭连接、停止重连定时器、停止超时定时器和取消发送队列。
进一步地,读写接口数据时,采用读写函数进行设备操作请求获取,包括:
针对接口进行数据读取,获取读取信息;
根据读取信息进行分析,确定读取信息中是否存在设备操作请求,得到第一分析结果;
按照第一分析结果在读取信息中存在设备操作请求时,分析设备操作请求是否完整,当设备操作请求完整时,接口接收设备操作请求成功,否则接口接收设备操作请求失败,得到第二分析结果;
基于第二分析结果通过接口向所述设备进行接收反馈。
进一步地,按照待处理队列控制接口进行设备操作请求响应之后还通过接口将设备操作响应结果发送至所述设备,并获取发送结果,当发送结果为发送成功时,完成发送,当发送结果为发送失败时,针对设备操作响应结果按照预设模式进行拆解,得到拆解后的设备操作响应结果,然后将拆解后的设备操作响应结果发送至所述设备,并基于拆解后的设备操作响应结果进行组合,在设备端得到设备操作响应结果。
一种基于嵌入式Linux系统的接口资源操作系统,包括:接收模块、配置模块、连接模块、监测模块和处理模块;
所述接收模块,用于接收设备连接请求;
所述配置模块,用于根据设备连接请求针对设备进行接口目标信息配置,确定目标初始化函数,并基于目标初始化函数确定虚函数;
所述连接模块,用于将目标初始化函数结合虚函数进行初始化处理,并创建连接设置,实现设备与接口连接;
所述监测模块,用于读写接口数据,获取设备操作请求,并针对设备操作请求形成待处理队列;
所述处理模块,用于按照待处理队列控制接口进行设备操作请求响应。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在申请文件中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明所述的一种基于嵌入式Linux系统的接口资源操作方法的步骤示意图;
图2为本发明所述的一种基于嵌入式Linux系统的接口资源操作方法中步骤二的步骤示意图;
图3为本发明所述的一种基于嵌入式Linux系统的接口资源操作方法中步骤三的步骤示意图;
图4为本发明所述的一种基于嵌入式Linux系统的接口资源操作方法中步骤四的步骤示意图;
图5为本发明所述的一种基于嵌入式Linux系统的接口资源操作系统的示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
如图1所示,本发明实施例提供了一种基于嵌入式Linux系统的接口资源操作方法,包括:
步骤一、接收设备连接请求;
步骤二、根据设备连接请求针对设备进行接口目标信息配置,确定目标初始化函数,并基于目标初始化函数确定虚函数;
步骤三、将目标初始化函数结合虚函数进行初始化处理,并创建连接设置,实现设备与接口连接;
步骤四、读写接口数据,获取设备操作请求,并针对设备操作请求形成待处理队列;
步骤五、按照待处理队列控制接口进行设备操作请求响应。
上述技术方案中,初始化函数式是基类Object中的成员函数void run(),虚函数是函数内调virtual void on_run()函数。
上述技术方案中,根据设备连接请求针对设备进行接口目标信息配置时,创建串口与设备通信接口的代码,包括:创建并初始化串口通信,bit、校验位、停止位等使用默认值,亦可传入其他值。
上述技术方案实现了接口虚拟化操作,使得设备在与嵌入式Linux系统连接时无需必须使用Linux原始接口,提高了嵌入式Linux系统的应用灵活性,而且在嵌入式Linux系统的虚拟化接口中隐藏了不同设备的配置信息,从而使得嵌入式Linux系统在连接不同设备时都能够实现目标信息的配置,进而降低接口资源操作的难度,并且嵌入式Linux系统的虚拟化接口采用了统一的流程与编程风格,能够基于同一框架针对不同设备适用,降低了开发人员的学习难度,减少了工作量。
本发明提供的一个实施例中,根据设备连接请求针对设备进行接口配置时,获取设备信息,并根据设备信息匹配设备在信息存储数据模块中进行接口目标信息匹配,其中,信息存储模块中存储预先创建的所有设备的基类和成员函数。
上述技术方案中,设备与基类和成员函数之间存在映射关系。
上述技术方案中,所有的设备派生于object基类,以树状结构组织成完整系统,每个设备节点可通过std::shared_ptr<T>parent(const std::string&name)函数访问父节点,可以通过std::shared_ptr<T>get(const std::string&name)函数获取子节点。
上述技术方案通过根据设备信息匹配设备在信息存储数据模块中进行接口目标信息匹配从而实现嵌入式Linux系统的接口对设备的适配,使得设备与嵌入式Linux系统的接口之间能够进行通信,而且预先创建的所有设备的基类和成员函数存储在信息存储模块中,不仅方便调取匹配,信息存储模块中的信息还能够重复使用,使得开发人员能够直接进行调用,有效节省开发时间,同时也能够使得后续开发人员直接应用,降低了开发人员的学习难度。
如图2所示,本发明提供的一个实施例中,所述虚函数是目标初始函数中的内调函数,基于目标初始化函数确定虚函数时,包括:
A1、根据目标初始函数确定目标初始函数的内调函数,并将内调函数作为虚函数;
A2、结合目标初始函数针对虚函数进行分析判断,得到虚函数分析判断结果,根据目标初始函数中的隐藏指针的指向判断虚函数的地址是否被重写,从而得到虚函数分析判断结果;
A3、按照虚函数分析判断结果,在虚函数的地址被重写时,将重写的虚函数的地址添加到虚函数表中。
上述技术方案中,将内调函数作为虚函数时,将函数内调virtual void on_run()函数作为虚函数。
上述技术方案中,编译器处理虚函数时,编译器会给类的每个实例(对象)设置一个隐藏成员,该隐藏成员中保存的内容是一个指向地址数组的指针,这个地址数组即为虚函数表。
上述技术方案中,根据目标初始函数中的隐藏指针的指向判断虚函数的地址是否被重写时,目标初始函数中的隐藏指针指向的虚函数地址表中该虚函数的地址进行分析,如果隐藏指针成员指向的虚函数地址表中该虚函数的地址被重写为新定义的虚函数地址,则虚函数进行了重新定义,虚函数的地址被重写,如果隐藏指针成员指向的虚函数地址表中该虚函数的地址未被重写为新定义的虚函数地址,则虚函数未进行重新定义,虚函数的地址未被重写。
上述技术方案中,在虚函数的地址未被重写时,无需针对虚函数表进行更新。
上述技术方案通过确定虚函数使得在将目标初始化函数结合虚函数进行初始化处理时,利用虚函数实现运行时多态,从而使得基于嵌入式Linux系统的接口资源操作方法能够适用于多种设备,进而提高嵌入式Linux系统的接口的应用范围。
本发明提供的一个实施例中,创建连接设置时,启动所述目标初始化函数,在目标初始化函数中针对设备填充工作内容,从而创建连接设置,其中,创建连接设置包括:创建超时定时器、创建连接和设置连接参数。
上述技术方案中,启动所述目标初始化函数时,创建并初始嵌入式Linux系统的接口和设备通信接口,例如,针对嵌入式Linux系统的接口通过“1./*创建并初始化串口通信,bit、校验位、停止位等使用默认值,亦可传入其他值*/;
2.object_root->create<Serial>(“user com 0”,串口号,波特率)->run();”进行处理;针对TCP通信接口通过“3./*创建并初始化TCP通信*/;
4.object_root->create<TCP>(“user tcp 0”,IP地址,重连时间,超时时间)->run();”进行处理。
上述技术方案中,在目标初始化函数中针对设备填充工作内容时,通过填充函数进行填充内容填充,填充函数包括:on_run、on_halt、async_write和on_recv,不同设备填充函数填充内容不同,例如:在接口中,on_run填充内容为打开、初始化串口设备,初始化定时器,on_halt填充内容为关闭串口设备,关闭定时器,async_write填充内容为发送数据,on_recv填充内容为接收数据,并调用用户回调函数;在音频设备中,on_run填充内容为打开音频接口,初始化解码器、配置功放,on_halt填充内容为关闭功放、关闭解码器,关闭音频设备,async_write填充内容为打开并加载音频文件,开启帧循环,on_recv无此功能,保持为空;在扫码枪中,on_run填充内容为打开、初始化设备,on_halt填充内容为关闭设备,async_write无此功能,保持为空,on_recv填充内容为接收扫码数据;在GPIO中,on_run填充内容为初始化对应引脚,on_halt填充内容为关闭对应引脚,async_write填充内容为写入引脚状态,on_recv填充内容为读取引脚状态。
上述技术方案通过创建连接设置为设备与接口之间的通信提供前提,使得嵌入式Linux系统在与设备进行接口通信时能够更好的进行信息交互。
如图3所示,本发明提供的一个实施例中,所述创建连接,包括:
S1、创建连接链接;
S2、基于连接链接到远程主机上进行连接,确定连接关系;
S3、针对连接关系进行检测,获取连接检测信息;
S4、根据连接检测信息分析连接关系是否存在异常,得到连接检测结果;
S5、按照连接检测结果,在连接关系存在异常时进行异常处理。
上述技术方案中,在连接检测结果为连接关系不存在异常时,完成连接链接的连接。
上述技术方案中,根据连接检测信息分析连接关系是否存在异常时,将连接检测信息按照预设监测节点进行拆分,得到监测节点的连接检测信息,然后按照监测节点的顺序针对最后一个监测节点进行连接检测信息分析,判断最后一个监测节点的连接检测信息是否异常,得到连接检测结果,如果最后一个监测节点的连接检测信息异常,连接检测结果为连接关系存在异常,如果最后一个监测节点的连接检测信息不异常,连接检测结果为连接关系不存在异常。
上述技术方案中,按照连接检测结果,在连接关系存在异常时进行异常处理,包括:调取监测节点的连接检测信息,并针对监测节点依次进行连接检测信息分析,将监测节点的连接检测信息与监测节点的理想状态信息进行比较,从而确定连接检测信息异常的首个监测节点,得到出现异常的位置,然后基于出现异常的位置进行异常原因匹配,确定出现异常的位置的异常原因,接着,根据异常原因进行调整,然后基于调整后的连接关系重新进行检测,获得新的连接检测信息,进而针对新的连接检测信息重新进行连接检测结果确定,在连接结果仍然为连接关系存在异常时继续进行异常处理,直至新的连接检测结果为连接关系不存在异常,即可完成连接链接的连接。
上述技术方案通过针对连接关系进行检测发现连接关系的异常,从而确保连接关系能够实现设备的接口与嵌入式Linux系统的接口之间能够正常进行通信,避免连接关系异常导致嵌入式Linux系统的接口资源无法与设备进行通信,同时也保障了创建的连接链接的有效性。此外,在根据连接检测信息分析连接关系是否存在异常时时,通过针对最后一个监测节点进行连接检测信息分析能够在较短时间内确定连接检测结果,提高连接检测结果的确定效率,使得能够在连接关系存在异常时及时进行异常处理,并且在进行异常处理时,以监测节点为单元依次进行异常分析,从而使得在存在多个异常位置时也能够逐步解决异常,保障了异常处理的有序性,进而异常处理的全面性,使得最终得到连接关系是不存在任何异常的。
本发明提供的一个实施例中,所述读写接口数据,获取设备操作请求时,基于设备与接口的连接关系针对设备进行设备操作请求监测,获取设备操作请求,并分析设备操作请求的数目,当设备操作请求的数目不唯一时,根据设备操作请求的获取时间按照先后顺序导入待处理队列,形成待处理队列。
上述技术方案中,基于设备与接口的连接关系针对设备进行设备操作请求监测时,针对设备进行实时监测,获取连续的监测信号,根据监测信号进行分析确定是否产生了设备操作请求的输送,从而得到设备操作请求。
上述技术方案中,当设备操作请求的数目唯一时,之间将设备操作请求进行响应。
上述技术方案通过基于设备与接口的连接关系针对设备进行设备操作请求监测,使得能够在出现设备操作请求时能够及时发现,从而及时针对设备操作请求进行响应,而且通过分析设备操作请求的数目,使得在连续得到多个设备操作请求时,能够按照设备操作请求的顺序在待处理队列中依次进行响应,避免出现接口堵塞影响接口的正常运行。
本发明提供的一个实施例中,基于设备与接口的连接关系针对设备进行设备操作请求监测时,还根据连接设置针对连接关系进行关闭连接、停止重连定时器、停止超时定时器和取消发送队列。
上述技术方案中,通过停止函数void on_halt()针对基于连接关系正在进行操作进行关闭连接、停止重连定时器、停止超时定时器和取消发送队列等处理。
上述技术方案在基于设备与接口的连接关系进行接口资源操作过程中能够进行关闭连接、停止重连定时器、停止超时定时器和取消发送队列等处理,提高了接口资源操作的灵活性,方便在面对突发状况时针对正在进行资源操作的接口进行干预。
如图4所示,本发明提供的一个实施例中,读写接口数据时,采用读写函数进行设备操作请求获取,包括:
C1、针对接口进行数据读取,获取读取信息;
C2、根据读取信息进行分析,确定读取信息中是否存在设备操作请求,得到第一分析结果;
C3、按照第一分析结果在读取信息中存在设备操作请求时,分析设备操作请求是否完整,当设备操作请求完整时,接口接收设备操作请求成功,否则接口接收设备操作请求失败,得到第二分析结果;
C4、基于第二分析结果通过接口向所述设备进行接收反馈。
上述技术方案中,读写函数采用回调方式。
上述技术方案中,当设备操作请求不完整时,针对读取信息进行持续分析,直至设备操作请求完整,在针对读取信息进行持续分析时,针对持续分析过程进行时间计量,如果在预设时间界值内,设备操作请求依然不完整,则停止持续分析,将该设备操作请求的第二分析结果判断为接口接收设备操作请求失败。
上述技术方案中,基于第二分析结果通过接口向所述设备进行接收反馈时,如果第二分析结果为接口接收设备操作请求成功,则将接口接收设备操作请求成功反馈至对应的设备,如果第二分析结果为接口接收设备操作请求失败,则分析是否在针对读取信息进行持续分析过程中得到的第二分析结果,如果是,则暂时进行等待,如果不是,则将接口接收设备操作请求失败反馈至对应的设备。
上述技术方案通过第一分析结果和第二分析结果实现对读取信息的进一步分析,避免针对无效的读取信息进行分析造成资源浪费,同时也能够实现对读取信息的筛序,只在读取信息中提取设备操作请求,减少无关信息的赘余,进而降低根据读取信息进行分析的复杂程度,并且通过基于第二分析结果通过接口向所述设备进行接收反馈,借助回调方式使得设备能够知晓嵌入式Linux系统的接口是否收到设备操作请求,避免设备操作请求丢失使得设备无法得到嵌入式Linux系统的接口针对设备操作请求的响应。
本发明提供的一个实施例中,按照待处理队列控制接口进行设备操作请求响应之后还通过接口将设备操作响应结果发送至所述设备,并获取发送结果,当发送结果为发送成功时,完成发送,当发送结果为发送失败时,针对设备操作响应结果按照预设模式进行拆解,得到拆解后的设备操作响应结果,然后将拆解后的设备操作响应结果发送至所述设备,并基于拆解后的设备操作响应结果进行组合,在设备端得到设备操作响应结果。
上述技术方案中,预设模式是根据传输情况确定的拆解规则。
上述技术方案中,拆解后的设备操作响应结果包括:设备操作响应结果片段、设备操作响应结果片段之间的关系和进行自动组合的控制信息。
上述技术方案中,在嵌入式Linux系统的接口和设备的接口分别采用填充发送函数auto async_write(MessageType&&msg__,CompletionToken token__)与接收函数voidon_recv(const char*p__,size_t len__,std::function<void(const std::system_error&)>token__)进行发送和接收。
上述技术方案只有在设备操作响应结果发送结果失败时才针对设备操作响应结果按照预设模式进行拆解,使得针对设备操作响应结果在不必要时能够直接进行发送从而完成发送,提高了发送效率,减少不必要的麻烦,而在设备操作响应结果发送结果失败时,通过针对设备操作响应结果按照预设模式进行拆解,使得无法整体发送的设备操作响应结果也能够通过处理实现成功发送。
本发明实施例提供了一种基于嵌入式Linux系统的接口资源操作系统,包括:接收模块、配置模块、连接模块、监测模块和处理模块;
所述接收模块,用于接收设备连接请求;
所述配置模块,用于根据设备连接请求针对设备进行接口目标信息配置,确定目标初始化函数,并基于目标初始化函数确定虚函数;
所述连接模块,用于将目标初始化函数结合虚函数进行初始化处理,并创建连接设置,实现设备与接口连接;
所述监测模块,用于读写接口数据,获取设备操作请求,并针对设备操作请求形成待处理队列;
所述处理模块,用于按照待处理队列控制接口进行设备操作请求响应。
如图5所示,上述技术方案中,接收模块、配置模块、连接模块、监测模块和处理模块依次连接。
上述技术方案中,基于嵌入式Linux系统的接口资源操作系统与基于嵌入式Linux系统的接口资源操作方法是对应的。
上述技术方案实现了接口虚拟化操作,使得设备在与嵌入式Linux系统连接时无需必须使用Linux原始接口,提高了嵌入式Linux系统的应用灵活性,而且在配置模块中引入信息存储模块,使得嵌入式Linux系统的虚拟化接口中隐藏了不同设备的配置信息,从而使得嵌入式Linux系统在连接不同设备时都能够实现目标信息的配置,进而降低接口资源操作的难度,并且嵌入式Linux系统的虚拟化接口采用了统一的流程与编程风格,能够基于同一框架针对不同设备适用,降低了开发人员的学习难度,减少了工作量。
本领域技术人员应当理解的是,本发明中的第一、第二仅仅指的是不同应用阶段而已。
本领域技术客户员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (7)
1.一种基于嵌入式Linux系统的接口资源操作方法,其特征在于,包括:
接收设备连接请求;
根据设备连接请求针对设备进行接口目标信息配置,确定目标初始化函数,并基于目标初始化函数确定虚函数;根据设备连接请求针对设备进行接口目标信息配置时,获取设备信息,并根据设备信息在信息存储数据模块中进行接口目标信息匹配,其中,信息存储数据模块中存储预先创建的所有设备的基类和成员函数,设备与基类和成员函数之间存在映射关系;所述虚函数是目标初始函数中的内调函数,基于目标初始化函数确定虚函数时,包括:根据目标初始函数确定目标初始函数的内调函数,并将内调函数作为虚函数;结合目标初始函数针对虚函数进行分析判断,得到虚函数分析判断结果,根据目标初始函数中的隐藏指针的指向判断虚函数的地址是否被重写,从而得到虚函数分析判断结果;按照虚函数分析判断结果,在虚函数的地址被重写时,将重写的虚函数的地址添加到虚函数表中;
将目标初始化函数结合虚函数进行初始化处理,并创建连接设置,实现设备与接口连接;创建连接设置时,启动所述目标初始化函数,在目标初始化函数中针对设备填充工作内容,从而创建连接设置,其中,创建连接设置包括:创建超时定时器、创建连接和设置连接参数;
读写接口数据,获取设备操作请求,并针对设备操作请求形成待处理队列;
按照待处理队列控制接口进行设备操作请求响应。
2.根据权利要求1所述的接口资源操作方法,其特征在于,所述创建连接,包括:
创建连接链接;
基于连接链接到远程主机上进行连接,确定连接关系;
针对连接关系进行检测,获取连接检测信息;
根据连接检测信息分析连接关系是否存在异常,得到连接检测结果;
按照连接检测结果,在连接关系存在异常时进行异常处理。
3.根据权利要求1所述的接口资源操作方法,其特征在于,所述读写接口数据,获取设备操作请求时,基于设备与接口的连接关系针对设备进行设备操作请求监测,获取设备操作请求,并分析设备操作请求的数目,当设备操作请求的数目不唯一时,根据设备操作请求的获取时间按照先后顺序导入待处理队列,形成待处理队列。
4.根据权利要求3所述的接口资源操作方法,其特征在于,基于设备与接口的连接关系针对设备进行设备操作请求监测时,还根据连接设置针对连接关系进行关闭连接、停止重连定时器、停止超时定时器和取消发送队列。
5.根据权利要求1所述的接口资源操作方法,其特征在于,读写接口数据时,采用读写函数进行设备操作请求获取,包括:
针对接口进行数据读取,获取读取信息;
根据读取信息进行分析,确定读取信息中是否存在设备操作请求,得到第一分析结果;
按照第一分析结果在读取信息中存在设备操作请求时,分析设备操作请求是否完整,当设备操作请求完整时,接口接收设备操作请求成功,否则接口接收设备操作请求失败,得到第二分析结果;
基于第二分析结果通过接口向所述设备进行接收反馈。
6.根据权利要求5所述的接口资源操作方法,其特征在于,按照待处理队列控制接口进行设备操作请求响应之后还通过接口将设备操作响应结果发送至所述设备,并获取发送结果,当发送结果为发送成功时,完成发送,当发送结果为发送失败时,针对设备操作响应结果按照预设模式进行拆解,得到拆解后的设备操作响应结果,然后将拆解后的设备操作响应结果发送至所述设备,并基于拆解后的设备操作响应结果进行组合,在设备端得到设备操作响应结果。
7.一种基于嵌入式Linux系统的接口资源操作系统,其特征在于,所述接口资源操作系统,包括:接收模块、配置模块、连接模块、监测模块和处理模块;
所述接收模块,用于接收设备连接请求;
所述配置模块,用于根据设备连接请求针对设备进行接口目标信息配置,确定目标初始化函数,并基于目标初始化函数确定虚函数;根据设备连接请求针对设备进行接口目标信息配置时,获取设备信息,并根据设备信息在信息存储数据模块中进行接口目标信息匹配,其中,信息存储数据模块中存储预先创建的所有设备的基类和成员函数,设备与基类和成员函数之间存在映射关系;所述虚函数是目标初始函数中的内调函数,基于目标初始化函数确定虚函数时,包括:根据目标初始函数确定目标初始函数的内调函数,并将内调函数作为虚函数;结合目标初始函数针对虚函数进行分析判断,得到虚函数分析判断结果,根据目标初始函数中的隐藏指针的指向判断虚函数的地址是否被重写,从而得到虚函数分析判断结果;按照虚函数分析判断结果,在虚函数的地址被重写时,将重写的虚函数的地址添加到虚函数表中;
所述连接模块,用于将目标初始化函数结合虚函数进行初始化处理,并创建连接设置,实现设备与接口连接;创建连接设置时,启动所述目标初始化函数,在目标初始化函数中针对设备填充工作内容,从而创建连接设置,其中,创建连接设置包括:创建超时定时器、创建连接和设置连接参数;
所述监测模块,用于读写接口数据,获取设备操作请求,并针对设备操作请求形成待处理队列;
所述处理模块,用于按照待处理队列控制接口进行设备操作请求响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311704309.4A CN117707651B (zh) | 2023-12-12 | 2023-12-12 | 基于嵌入式Linux系统的接口资源操作方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311704309.4A CN117707651B (zh) | 2023-12-12 | 2023-12-12 | 基于嵌入式Linux系统的接口资源操作方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117707651A CN117707651A (zh) | 2024-03-15 |
CN117707651B true CN117707651B (zh) | 2024-05-14 |
Family
ID=90159972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311704309.4A Active CN117707651B (zh) | 2023-12-12 | 2023-12-12 | 基于嵌入式Linux系统的接口资源操作方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117707651B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206566A (zh) * | 2006-12-21 | 2008-06-25 | 中兴通讯股份有限公司 | 一种嵌入式软件驱动管理方法 |
CN108446149A (zh) * | 2018-02-28 | 2018-08-24 | 北京凌宇智控科技有限公司 | 一种第三方动态库接口拦截方法及系统 |
CN110798464A (zh) * | 2019-10-28 | 2020-02-14 | 东风电子科技股份有限公司 | 基于uds协议通信的客户端通用系统 |
WO2023143503A1 (zh) * | 2022-01-29 | 2023-08-03 | 阿里云计算有限公司 | 资源调度系统及方法 |
-
2023
- 2023-12-12 CN CN202311704309.4A patent/CN117707651B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206566A (zh) * | 2006-12-21 | 2008-06-25 | 中兴通讯股份有限公司 | 一种嵌入式软件驱动管理方法 |
CN108446149A (zh) * | 2018-02-28 | 2018-08-24 | 北京凌宇智控科技有限公司 | 一种第三方动态库接口拦截方法及系统 |
CN110798464A (zh) * | 2019-10-28 | 2020-02-14 | 东风电子科技股份有限公司 | 基于uds协议通信的客户端通用系统 |
WO2023143503A1 (zh) * | 2022-01-29 | 2023-08-03 | 阿里云计算有限公司 | 资源调度系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117707651A (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5276863A (en) | Computer system console | |
CN105183675B (zh) | 对usb设备的访问方法、装置、终端、服务器及系统 | |
US7552217B2 (en) | System and method for Automatic firmware image recovery for server management operational code | |
US20100242031A1 (en) | Systems and Methods for Dynamically Linking Application Software into a Running Operating System Kernel | |
US20120089994A1 (en) | Object oriented component and framework architecture for signal processing | |
US7716642B1 (en) | Techniques for detecting coding incompatibilities | |
CN112416453B (zh) | 一种面向信创环境下国产化外部设备统一数据集成的方法和存储设备 | |
US7469359B2 (en) | Method and apparatus for testing communication software | |
CN110825412A (zh) | 基于LabVIEW的控制器程序的刷写系统及方法 | |
CN112688915A (zh) | 跨协议通信方法、装置及服务器 | |
US7996524B2 (en) | Controlling external communication of embedded device using proxy server | |
CN117707651B (zh) | 基于嵌入式Linux系统的接口资源操作方法及系统 | |
CN113114580A (zh) | 面向5g网络拥塞控制的用户态传输协议开发框架及方法 | |
US6467041B1 (en) | Third party host packet replication | |
CN112035270A (zh) | 接口适配方法、系统、装置、计算机可读介质及电子设备 | |
CN1988479A (zh) | 一种记录系统信息的方法和对象桩 | |
CN114915651B (zh) | WebSocket的管理方法、装置、电子设备及存储介质 | |
CN114948203B (zh) | 一种可以远程调用机械臂控制功能的方法及电子设备 | |
CN108415858B (zh) | 一种通用的ups驱动模型结构及实现方法 | |
CN117648211B (zh) | 人工智能框架的运行时统一接口、服务器及调用方法 | |
CN113760577B (zh) | 一种动态连接答题装置及处理方法、控制装置、存储介质 | |
CN116610516B (zh) | 一种基于设备数字孪生的物联网编程运维底座系统及方法 | |
CN113163420B (zh) | 一种用于模拟多ap上线的测试方法 | |
CN117978792A (zh) | 应用程序与Web端的交互方法、装置、设备及介质 | |
US11429457B2 (en) | System and method to securely exchange system diagnostics information between firmware, operating system and payload |
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 |