CN115442317B - 报文处理方法、装置、系统、设备及介质 - Google Patents
报文处理方法、装置、系统、设备及介质 Download PDFInfo
- Publication number
- CN115442317B CN115442317B CN202111550671.1A CN202111550671A CN115442317B CN 115442317 B CN115442317 B CN 115442317B CN 202111550671 A CN202111550671 A CN 202111550671A CN 115442317 B CN115442317 B CN 115442317B
- Authority
- CN
- China
- Prior art keywords
- target
- message
- index information
- unit
- target message
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/103—Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9068—Intermediate storage in different physical parts of a node or terminal in the network interface card
- H04L49/9073—Early interruption upon arrival of a fraction of a packet
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及一种报文处理方法、装置、系统、设备及存储介质。其中,报文处理方法包括:将目标报文的目标索引信息发送至目标缓存单元;向目标报文对应的目标接收单元发送中断请求;其中,中断请求用于使目标接收单元响应于中断请求读取目标缓存单元中的目标索引信息,并基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文。根据本公开实施例,可减少报文处理单元获取到目标报文所需的时间。并且,不仅能够省去报文处理单元拷贝目标报文的步骤,减小报文处理单元的CPU负荷,提高对车身的准确控制,还可减少目标报文存储时的传输链路长度,降低报文日志丢失数据的风险。
Description
技术领域
本公开涉及数据处理技术领域,尤其涉及报文处理方法、装置、系统、设备及存储介质。
背景技术
目前,在车辆控制系统中,通常设置有低延迟交互引擎(Low LatencyCommunication Engine,LLCE)、微处理控制单元(Micro Control Unit,MCU)和报文存储处理器,LLCE可以将从控制器局域网络(Controller Area Network,CAN)总线上接收的报文发送至MCU,以供MCU对报文进行解析处理,并且,LLCE还可以将从MCU接收的报文发送至CAN总线,以对车身进行控制。此外,MCU还可以将其接收到的报文以及其生成的报文拷贝在报文日志中,发送给报文存储处理器。
但是,一方面,LLCE和MCU之间传输报文的速度较低,且报文的大小较大,导致它们两者之间的报文传输时间较长,不利于MCU及时解析从CAN传来的报文。另一方面,MCU拷贝报文至报文日志中,也会占用MCU的中央处理器(Central Processing Unit,CPU)资源,从而造成CPU负荷较高,导致CPU对车身控制出现问题的风险较高。并且,CAN总线上传的报文,需要依次通过LLCE、MCU达到报文存储处理器,传输链路较长,某个环节出问题时会造成报文日志数据的丢失。
发明内容
为了解决上述技术问题,本公开提供了报文处理方法、装置、系统、设备及存储介质。
第一方面,本公开提供了一种报文处理方法,包括:
将目标报文的目标索引信息发送至目标缓存单元;
向目标报文对应的目标接收单元发送中断请求;
其中,中断请求用于使目标接收单元响应于中断请求读取目标缓存单元中的目标索引信息,并基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文。
第二方面,本公开还提供了一种报文处理方法,包括:
接收报文转发单元发送的中断请求;
响应于中断请求,读取目标缓存单元中的目标索引信息;
基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文;
将目标报文存储在目标报文日志中。
第三方面,本公开还提供了一种报文处理方法,包括
接收目标报文转发单元发送的中断请求;
响应于中断请求,读取目标缓存单元中的目标索引信息;
基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文;
解析目标报文。
第四方面,本公开还提供了一种报文处理装置,包括:
第一发送模块,用于将目标报文的目标索引信息发送至目标缓存单元;
第二发送模块,用于向目标报文对应的目标接收单元发送中断请求;
其中,中断请求用于使目标接收单元响应于中断请求读取目标缓存单元中的目标索引信息,并基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文。
第五方面,本公开还提供了一种报文处理装置,包括:
第一接收模块,用于接收目标报文转发单元发送的中断请求;
第一读取模块,用于响应于中断请求,读取目标缓存单元中的目标索引信息;
第二读取模块,用于基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文;
第一存储模块,用于将目标报文存储在目标报文日志中。
第六方面,本公开还提供了一种报文处理装置,包括:
第二接收模块,用于接收目标报文转发单元发送的中断请求;
第三读取模块,用于响应于中断请求,读取目标缓存单元中的目标索引信息;
第四读取模块,用于基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文;
解析模块,用于解析目标报文。
第七方面,本公开还提供了一种报文处理系统,包括:
目标报文转发单元,用于将目标报文的目标索引信息发送至目标缓存单元;向目标报文对应的目标接收单元发送中断请求;
报文存储单元,用于接收目标报文转发单元发送的中断请求;响应于中断请求,读取目标缓存单元中的目标索引信息;基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文;将目标报文存储在目标报文日志中;
报文处理单元,用于接收目标报文转发单元发送的中断请求;响应于中断请求,读取目标缓存单元中的目标索引信息;基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文;解析目标报文。
第八方面,本公开还提供了一种计算设备,包括:
处理器;
存储器,用于存储可执行指令;
其中,处理器用于从存储器中读取可执行指令,并执行可执行指令以实现上述报文处理方法。
第九方面,本公开还提供了一种计算机可读存储介质,存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现上述报文处理方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例的报文处理方法、装置、系统、设备及存储介质,能够将目标报文的目标索引信息发送至目标缓存单元;向目标报文对应的目标接收单元发送中断请求;其中,中断请求用于使目标接收单元响应于中断请求读取目标缓存单元中的目标索引信息,并基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文。如此,当目标接收单元为报文处理单元时,报文转发单元只需向报文处理单元发送目标报文的目标索引信息,无需向报文处理单元发送目标报文,报文处理单元根据目标索引信息从共享存储区域中读取目标报文即可,可减少报文处理单元获取到目标报文所需的时间。并且,当目标接收单元为报文存储单元时,报文存储单元可根据目标索引信息直接从共享存储区域中读取目标报文,使得目标报文在存储时可绕过报文处理单元,如此,不仅能够省去报文处理单元拷贝目标报文的步骤,减小报文处理单元的CPU负荷,提高对车身的准确控制,还可减少目标报文存储时的传输链路长度,降低报文日志丢失数据的风险。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为相关技术提供的一种报文处理系统的结构示意图;
图2为本公开实施例提供的一种报文处理系统的结构示意图;
图3为本公开实施例提供的一种报文处理方法的流程示意图;
图4为本公开实施例提供的一种目标报文引用情况的示意图;
图5为本公开实施例提供的另一种目标报文引用情况的示意图;
图6为本公开实施例提供的又一种目标报文引用情况的示意图;
图7为本公开实施例提供的一种报文处理方法的流程示意图;
图8为本公开实施例提供的一种缓存单元的结构示意图;
图9为本公开实施例提供的一种读取目标索引信息的逻辑示意图;
图10为本公开实施例提供的一种报文处理方法的流程示意图;
图11为本公开实施例提供的一种报文处理装置的结构示意图;
图12为本公开实施例提供的一种报文处理装置的结构示意图;
图13为本公开实施例提供的一种报文处理装置的结构示意图;
图14为本公开实施例提供的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
图1为相关技术提供的一种报文处理系统的结构示意图。参见图1,报文处理系统包括低延迟交互引擎(Low Latency Communication Engine,LLCE)110、A53处理器120、以及微控制单元(Microcontroller Unit,MCU)130。对于路由报文103,LLCE110可实现路由转发,路由报文103下发成功后控制器局域网络(Controller Area Network,CAN)总线会向LLCE110发送路由成功反馈105,但是,由于LLCE110与MCU130脱离没有对路由报文103进行日志上报,导致路由报文103无法保存在报文日志中。对于发送报文102,MCU130将发送报文102进行标识信息添加后可以传输至LLCE110,由LLCE110完成发送报文102向CAN总线的下发,发送报文102下发成功后CAN总线会向LLCE110发送带标识信息的发送成功反馈104,LLCE110虽然能够将发送成功反馈传输至MCU130,但是,由于MCU130未存储各发送报文102的标识信息,导致MCU130无法根据返回的发送成功反馈104确定哪些发送报文102发送成功,哪些发送报文102发送失败。
因此,报文日志中可以正常记录接收报文101,但是缺少对路由报文130的记录,并且,报文日志中记载了全部的发送报文102而非发送成功的发送报文102,导致报文日志中记录的报文与真实报文存在误差。此外,由于MCU130承载着将报文拷贝到报文日志中、以及将报文日志传送到A53处理器120的任务,造成MCU的CPU负荷较高,有可能会带来MCU对车身控制实际功能操作的风险。并且,报文日志传输链路过长,当某个环节出问题时会造成报文日志数据的丢失。此外,无论LLCE110向MCU130传输接收报文101,还是MCU130向LLCE110传输发送报文102,均花费较长时间。
有鉴于此,本公开实施例提供了一种报文处理方法、装置、系统、设备及存储介质。
为方便理解报文处理方法,下面先结合图2对本公开实施例提供的报文处理系统进行说明。
图2为本公开实施例提供的一种报文处理系统的结构示意图。
在本公开一些实施例中,图2所示的报文处理系统可以应用于车辆中,用于对报文进行处理。
参见图2,报文处理系统包括:目标报文转发单元、报文存储单元以及报文处理单元;
目标报文转发单元,用于将目标报文的目标索引信息发送至目标缓存单元;向目标报文对应的目标接收单元发送中断请求;
报文存储单元,用于接收目标报文转发单元发送的中断请求;响应于中断请求,读取目标缓存单元中的目标索引信息;基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文;将目标报文存储在目标报文日志中;
报文处理单元,用于接收目标报文转发单元发送的中断请求;响应于中断请求,读取目标缓存单元中的目标索引信息;基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文;解析目标报文。
具体地,报文转发单元可以为任意具有报文转发功能的单元,例如,如图2所示,报文转发单元可以包括LLCE210,但并不限于此。
具体地,报文处理单元可以为任意具有报文解析处理功能的单元,例如,如图2所示,报文处理单元可以包括MCU230,但并不限于此。
具体地,报文存储单元可以为任意具有报文存储功能的单元,例如,如图2所示,报文存储单元可以包括A53处理器220,但并不限于此。
具体地,共享内存区域可以为任意具有存储功能的器件,报文处理单元、报文转发单元、以及报文存储单元均有权访问该共享内存区域。
具体地,报文转发单元可以将其从总线(例如CAN)上接收的接收报文存储在共享内存区域中,并通过向报文处理单元和报文存储单元发送目标报文的目标索引信息的方式使它们获取到目标报文。
在一些实施例中,报文转发单元可以向报文处理单元上传目标报文,以使报文转发单元对目标报文进行解析处理。
具体地,报文转发单元可以将目标报文的目标索引信息发送至报文处理单元对应的目标缓存单元,并向报文处理单元发送中断请求。报文处理单元响应于中断请求,可以读取其对应的目标缓存单元中的目标索引信息,并基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文,并对目标报文进行解析处理。
如此,报文转发单元只需向报文处理单元发送目标报文的目标索引信息,无需向报文处理单元发送目标报文,而相比于目标报文,目标索引信息的大小较小,因此,报文处理单元获取到目标索引信息所需的时间较短,有利于减少报文处理单元获取到目标报文整体所需的时间。
在另一些实施例中,报文转发单元可以向报文存储单元上传目标报文,以使报文存储单元将目标报文存储在报文日志中。
具体地,报文转发单元可以将目标报文的目标索引信息发送至报文存储单元对应的目标缓存单元,并向报文存储单元发送中断请求。报文存储单元响应于中断请求,可以读取其对应的目标缓存单元中的目标索引信息,并基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文,然后将目标报文存储在报文日志中。可选地,报文存储单元还可以将报文日志上传至云端。
如此,报文存储单元可根据目标索引信息直接从共享存储区域中读取目标报文,使得目标报文在存储时可绕过报文处理单元,如此,不仅能够省去报文处理单元拷贝目标报文的步骤,减小报文处理单元的CPU负荷,提高对车身的准确控制,还可减少目标报文存储时的传输链路长度,降低报文日志丢失数据的风险。
还可以理解的是,该报文处理系统将数据处理业务与报文日志存储业务分别部署在MCU和A53处理器两个不同的处理器上,并采用不同的数据访问通道,实现了软件架构层面上的业务解耦,为将来报文日志存储业务独立扩展提供便捷化架构支撑。
基于上述架构,下面结合图3至图10对本公开实施例提供的报文处理方法进行说明。
图3为本公开实施例提供的一种报文处理方法的流程示意图。
在本公开一些实施例中,图3所示的方法可以应用于报文转发单元。在本实施例中,报文转发单元可以为图2中所示的LLCE210。
如图1所示,该报文处理方法可以包括如下步骤。
S310、将目标报文的目标索引信息发送至目标缓存单元。
在本公开实施例中,当报文转发单元想要向报文处理单元或者报文存储单元传输目标报文时,可以将目标报文的目标索引信息发送至目标缓存单元。
具体地,目标报文可以为任意报文。
在一些实施例中,目标报文对应的目标接收单元为报文处理单元。此时,目标报文可以包括接收报文,但并不限于此。
其中,接收报文即为报文转发单元从总线上接收的报文。
在另一些实施例中,目标报文对应的目标接收单元为报文存储单元。此时,目标报文可以包括接收报文、发送成功反馈对应的发送报文、路由成功反馈对应的路由报文等,但并不限于此。
其中,发送报文可以为报文处理单元生成的需要下发至总线的报文,发送成功反馈可以为总线成功接收到发送报文后向报文转发单元发送的反馈。路由报文可以为需要报文转发单元路由转发的报文,路由成功反馈可以为总线成功接收到路由报文后向报文转发单元发送的反馈。
具体地,目标索引信息可以为用于指向目标报文的信息。
可选地,目标索引信息可以包括目标报文在共享内存区域的存储地址。可选地,目标索引信息还可以包括目标报文的时间戳、传输通道等信息,但并不限于此。
具体地,目标缓存单元可以为任意具有存储功能的器件。目标缓存单元可以缓存目标索引信息。
在一些实施例中,报文转发单元将目标报文的目标索引信息发送至报文处理单元。此时,报文处理单元对应的缓存单元为目标缓存单元。
在另一些实施例中,报文转发单元将目标报文的目标索引信息发送至报文存储理单元。此时,报文存储单元对应的缓存单元为目标缓存单元。
S320、向目标报文对应的目标接收单元发送中断请求。
在本公开实施例中,报文转发单元将目标索引信息发送至目标缓存单元中后,可以向目标接收单元发送中断请求,以使目标接收单元响应于中断请求读取目标缓存单元中的目标索引信息,并基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文。
具体地,中断请求可以为任意能够唤起目标接收单元从目标缓存单元中读取目标索引信息的请求。
在一些实施例中,当报文转发单元从总线上接收的接收报文需要上传至报文处理单元时,目标接收单元可以为报文处理单元。
示例性地,继续参见图2,当LLCE210想要向MCU230上传目标报文(例如接收报文201)时,可以将目标报文的目标索引信息发送至MCU230对应的目标缓存单元,并向MCU230发送中断请求,MCU230响应于中断请求,可以读取目标缓存单元中的目标索引信息,并基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文。
在另一些实施例中,当报文转发单元从总线上接收到接收报文时,可以将接收报文存储在报文日志中,此时,可以将接收报文作为目标报文,并且将报文存储单元作为目标接收单元。
在又一些实施例中,当报文转发单元向总线成功发送报文(路由报文或发送报文)时,可以将发送成功的报文存储在报文日志中,此时,可以将发送成功的报文作为目标报文,并且将报文存储单元作为目标接收单元。
示例性地,继续参见图2,当LLCE210想要将目标报文(例如接收报文201、发送成功反馈204对应的发送报文202、或者路由成功反馈205对应的路由报文203)存储在A53处理器220中时,可以将目标报文的目标索引信息发送至A53对应的目标缓存单元,并向A53处理器220发送中断请求,A53处理器220响应于中断请求,可以读取目标缓存单元中的目标索引信息,并基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文。
本公开实施例的报文处理方法,能够将目标报文的目标索引信息发送至目标缓存单元;向目标报文对应的目标接收单元发送中断请求;其中,中断请求用于使目标接收单元响应于中断请求读取目标缓存单元中的目标索引信息,并基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文。如此,当目标接收单元为报文处理单元时,报文转发单元只需向报文处理单元发送目标报文的目标索引信息,无需向报文处理单元发送目标报文,报文处理单元根据目标索引信息从共享存储区域中读取目标报文即可,可减少报文处理单元获取到目标报文所需的时间。并且,当目标接收单元为报文存储单元时,报文存储单元可根据目标索引信息直接从共享存储区域中读取目标报文,使得目标报文在存储时可绕过报文处理单元,如此,不仅能够省去报文处理单元拷贝目标报文的步骤,减小报文处理单元的CPU负荷,提高对车身的准确控制,还可减少目标报文存储时的传输链路长度,降低报文日志丢失数据的风险。
在本公开另一种实施方式中,将目标报文的目标索引信息发送至目标缓存单元包括:在目标报文的数量为多个的情况下,按照目标报文的时间戳的先后顺序,依次将多个目标报文的目标索引信息发送至目标缓存单元。相应地,向目标报文对应的目标接收单元发送中断请求包括:按照目标报文的时间戳的先后顺序,依次将多个目标报文对应的中断请求发送至目标接收单元。
在本公开实施例中,当报文处理单元需要将多个目标报文的目标索引信息发送至目标报文时,可按照目标报文的时间戳的先后顺序,依次将多个目标报文的目标索引信息发送至目标缓存单元,并依次将多个目标报文对应的中断请求发送至目标接收单元,以使目标接收单元依次从共享存储区域中读取该多个目标报文。
具体地,目标报文的时间戳可以为报文处理单元接收到目标报文的时刻,目标报文的时间戳还可以为接收到总线发送的关于目标报文的报文发送成功通知的时刻。
在一些实施例中,目标报文可以包括接收报文,此时,报文处理单元接收到接收报文的时刻即为该接收报文的时间戳。
在另一些实施例中,目标报文可以包括发送报文,此时,报文处理单元接收到发送报文的发送成功反馈(即报文发送成功通知)的时刻即为该发送报文的时间戳。同理,目标报文可以包括路由报文,此时,报文处理单元接收到路由报文的路由成功反馈(即报文发送成功通知)的时刻即为该路由报文的时间戳。
示例性地,参见图2,LLCE210先后接收到10个接收报文201,需要将该10个接收报文201分别上传至MCU230和A53处理器220,则该10个接收报文201均为目标报文。LLCE210将该10个接收报文201上传至MCU230的具体过程可以包括如下步骤:LLCE210将接收到的第一个接收报文201的索引信息发送至MCU230对应的目标缓存单元,并向MCU230发送中断请求;然后,LLCE210将接收到的第二个接收报文201的索引信息发送至MCU230对应的目标缓存单元,并向MCU230发送中断请求;依此次类推,直至LLCE230将最后接收到的接收报文201的索引信息发送至MCU230对应的目标缓存单元,并向MCU230发送中断请求。
可以理解的是,按照目标报文的时间戳的先后顺序,依次将多个目标报文的目标索引信息发送至目标缓存单元,有利于目标接收单元按照目标报文的时间戳的先后顺序获取目标报文,如此,目标接收报文可以按照目标报文的先后顺序解析或存储目标报文。
在本公开又一种实施方式中,将目标报文的目标索引信息发送至目标缓存单元包括:在目标缓存单元存在可用空间时,将目标报文的目标索引信息发送至目标缓存单元。
在本公开实施例中,在目标缓存单元存在可用空间时,报文处理单元可以将目标报文的目标索引信息发送至目标缓存单元;在目标缓存单元不存在可用空间时,报文处理单元可以先将目标报文存储于报文处理单元的缓存区。
具体地,目标缓存单元存在可用空间即目标缓存单元还包括未缓存数据的存储空间。
在一些实施例中,在目标缓存单元存在可用空间时,将目标报文的目标索引信息发送至目标缓存单元包括:在向目标缓存单元累计发送的目标索引信息的大小小于目标缓存单元的存储容量时,将目标报文的目标索引信息发送至目标缓存单元。
具体地,这里所述的“向目标缓存单元累计发送的目标索引信息的大小”指的是,将与当前时刻最邻近的目标缓存单元为空的时刻作为起始时刻,从起始时刻至当前时刻,向目标缓存单元发送的所有目标索引信息的大小之和。
具体地,当向目标缓存单元累计发送的目标索引信息的大小小于目标缓存单元的存储容量时,表明目标缓存单元还存在可用空间,此时,可以向目标缓存单元发送目标索引信息。
在另一些实施例中,在目标缓存单元存在可用空间时,将目标报文的目标索引信息发送至目标缓存单元包括:在接收到目标接收单元发送的清空通知时,响应于清空通知,将目标报文的目标索引信息发送至目标缓存单元。
具体地,当目标接收单元将目标缓存单元中的目标索引信息全部读取出即将目标缓存单元清空时,目标接收单元可向报文处理单元发送清空通知,响应于清空通知,报文处理单元可以将目标报文的目标索引信息发送至目标缓存单元。
可以理解的是,在目标缓存单元存在可用空间时,将目标报文的目标索引信息发送至目标缓存单元,可防止由于目标缓存单元溢出带来的丢失目标索引信息的问题,从而确保目标接收单元接收数据的准确性。
在本公开再一种实施方式中,该方法还可以包括:接收总线发送的目标报文;将目标报文存储在共享存储区域中。
在本公开实施例中,报文转发单元在接收到总线发送的接收报文后,可以将接收报文存储在共享存储区域中,以便报文处理单元或报文存储单元基于接收报文的索引信息(即目标索引信息)读取接收报文(即目标报文)。
在一些实施例中,目标接收单元为报文处理单元。此时,需要报文处理单元处理的接收报文可以作为目标报文。
在另一些实施例中,目标接收单元为报文存储单元。此时,任意接收报文均可以作为目标报文。
可以理解的是,报文处理单元通过将其接收的接收报文存储在共享存储区域中,可使报文处理单元或报文存储单元基于接收报文的索引信息(即目标索引信息)读取接收报文(即目标报文),无需直接向报文处理单元或报文存储单元传输接收报文本身,有利于减少传输接收报文所需的时间。
在本公开又一种实施方式中,该方法还包括:接收报文处理单元发送的目标索引信息;基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文;向总线发送目标报文。
在本公开实施例中,报文处理单元可以生成发送报文,并将发送报文存储在共享内存区域中。当报文处理单元需要向报文转发单元下发发送报文以使报文转发单元将发送报文转发至总线时,报文处理单元可以向报文转发单元下发发送报文的索引信息(即目标报文的目标索引信息),以使报文转发单元基于发送报文的索引信息(即目标报文的目标索引信息),从共享存储区域中读取发送报文的索引信息(即目标报文的目标索引信息)对应的发送报文(即目标报文)后,向总线下发发送报文。
具体地,报文处理单元生成的任意发送报文均可作为目标报文。
示例性,继续参见图2,当MCU230想要向LLCE210下发目标报文(例如接收报文201)时,可以将目标报文的目标索引信息发送至目标缓存单元,并向LLCE210发送中断请求,LLCE210响应于中断请求,可以读取目标缓存单元中的目标索引信息,并基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文。
可以理解的是,报文转发单元基于目标索引信息获取报文处理单元生成的发送报文时,报文转发单元只需接收报文处理单元发送的接收报文(即目标报文)的索引信息(即目标索引信息),无需直接接收发送报文,可减少报文转发单元获取发送报文所需的时间。
在本公开又一种实施方式中,还包括:接收报文发送成功通知;其中,将目标报文的目标索引信息发送至目标缓存单元包括:将报文发送成功通知对应的目标报文的目标索引信息发送至目标缓存单元。
在本公开实施例中,报文处理单元向总线发送报文后,若总线成功接收报文,总线可以向报文处理单元发送报文发送成功通知,此时,报文处理单元可以将报文发送成功通知对应的目标报文的目标索引信息发送至目标缓存单元,以使报文存储单元存储发送成功的目标报文。若总线接收报文失败,总线不向报文处理单元发送报文发送成功通知,此时,报文处理单元不将发送失败的报文的索引信息发送至目标缓存单元,以达到不将发送失败的报文保存在报文日志中的目的。
具体地,报文发送成功通知可以包括发送成功反馈和路由成功反馈。其中,当总线成功接收发送报文时,可以向报文处理单元发送发送成功反馈,当总线成功接收路由报文时,可以向报文处理单元发送路由成功反馈。
在一些实施例中,当报文转发单元从总线上接收到发送成功反馈时,可以将发送成功反馈对应的发送报文存储在报文日志中,此时,可以将发送成功反馈对应的报文作为目标报文,并且将报文存储单元作为目标接收单元。
在又一些实施例中,当报文转发单元从总线上接收到路由成功反馈时,可以将路由成功反馈对应的路由报文存储在报文日志中,此时,可以将路由成功反馈对应的路由报文作为目标报文,并且将报文存储单元作为目标接收单元。
如此,可仅将发送成功的发送报文和发送成功的路由报文记录在报文日志中,避免将发送失败的发送报文和发送失败的路由报文记录在报文日志中,可提高报文日志记录的准确性。
可以理解的是,报文日志中的报文数据,在突发事件发生时刻对车辆当时状态还原以及自动驾驶模型算法训练等场景具有重要意义,因此,准确记录报文日志对车辆状态分析的准确分析、模型算法训练的训练精度等具有有重大贡献。
在本公开再一种实施方式中,在将目标报文的目标索引信息发送至目标缓存单元之后,该方法还包括:将目标报文的引用数加1和/或;接收目标接收单元发送的引用结束通知;响应于引用结束通知,将引用结束通知对应的目标报文的引用数减1;和/或;在检测到目标报文的引用数为0时,将目标报文从共享存储区域中删除。
在本公开实施例中,当报文处理单元将目标报文的目标索引信息发送至目标缓存单元后,后续目标接收单元将基于目标索引信息从共享区域中读取目标报文,并对目标报文进行解析处理或者存储,此时,报文处理单元可以将目标报文的引用数加1。
具体地,目标报文的引用数用于表征目标报文当前被引用的情况。
在一些实施例中,在某时间段内,报文处理单元和报文存储单元均为目标接收单元,即报文处理单元需要对目标单元进行解析处理,同时,报文存储单元需要对目标单元进行存储。此时,目标报文的引用数可以为2。
在另一些实施例中,在某时间段内,目标接收单元仅包括报文处理单元,即报文处理单元需要对目标单元进行解析处理。此时,目标报文的引用数可以为1。
在又一些实施例中,在某时间段内,目标接收单元仅包括报文存储单元,即报文存储单元需要对目标单元进行存储。此时,目标报文的引用数可以为1。
可以理解的是,通过引入目标报文的引用数,可使报文转发单元了解目标报文的引用情况,便于对目标报文的生命周期进行管理。
在本公开实施例中,当报文处理单元对目标报文解析处理完成之后,或者报文存储单元对目标报文存储完成之后,可以向报文转发单元发送引用结束通知,此时,报文处理单元可以将目标报文的引用数减1。
在另一些实施例中,当报文处理单元对目标单元解析处理时,可向报文处理单元发送引用结束通知。此时,可将目标报文的引用数减1。
在另一些实施例中,当报文存储单元对目标单元存储完成时,可向报文处理单元发送引用结束通知。此时,可将目标报文的引用数减1。
可以理解的是,通过设置报文存储单元或报文处理单元对目标报文引用结束后,向报文处理单元发送引用结束通知,可使报文转发单元实时监控目标报文的引用情况,便于对目标报文的生命周期进行管理。
在本公开实施例中,报文处理单元在检测到任意目标报文的引用数为0时,可确定目标报文已经被存储在了报文日志或者被报文处理单元解析处理完成了,目标报文已经老化,可以进行删除。
示例性地,图4为本公开实施例提供的一种目标报文引用情况的示意图。图5为本公开实施例提供的另一种目标报文引用情况的示意图。图6为本公开实施例提供的又一种目标报文引用情况的示意图。如图4所示,MCU在对目标报文进行解析处理,同时,A53处理器在存储目标报文,此时,目标报文的引用数为可以为2,经过一段时间之后,MCU在对目标报文解析处理完成,MCU向LLCE发送引用结束通知,LLCE将目标报文的引用数减1,此时,目标报文的引用数为可以为1,再经过一段时间,A53处理器对目标报文存储完成,A53处理器向LLCE发送引用结束通知,LLCE将目标报文的引用数减1,此时,目标报文的引用数为可以为0,LLCE可以将目标报文从共享内存区域中删除。
可以理解的是,对于目标报文的生命周期维护过程中,采用基于不同引用目的(报文解析处理与报文日志存储)进行引用标记的手法,可在充分实现报文数据共享的同时,保证访问数据时,数据处于可访问有效的生命周期内,如此,可达到确保访问数据的正确性的目的。并且,通过共享内存与引用计数方式最大限度避免报文数据在报文处理单元和报文存储单元之间的拷贝操作,节省它们的系统资源保证处理所需的实时性。并且,当目标报文的引用数为0时,表明目标报文已经老化,将老化的目标报文从共享存储区域中删除可以为新的目标报文腾出空间。
图7为本公开实施例提供的一种报文处理方法的流程示意图。
在本公开一些实施例中,图7所示的方法可以应用于报文存储单元。在本实施例中,报文转发单元可以为图2中所示的A53处理器220。
如图7所示,该报文处理方法可以包括如下步骤。
S710、接收报文转发单元发送的中断请求。
在本公开实施例中,当报文转发单元在报文存储单元对应的目标缓存单元中发送有目标索引信息后,可以向报文存储单元发送中断请求,以使报文存储单元响应于中断请求读取目标缓存单元中的目标索引信息。
具体地,中断请求的解释请见前文,此处不再赘述。
S720、响应于中断请求,读取目标缓存单元中的目标索引信息。
在本公开实施例中,报文存储单元可以响应于中断请求,从目标缓存单元中读取目标索引信息。
具体地,目标缓存单元和目标索引信息的具体解释请参见前文,此处不再赘述。
在一些实施例中,报文存储单元可仅将中断请求对应的目标索引信息读取出出来。
在另一些实施例中,报文存储单元可将目标缓存单元中存储的所有目标索引信息读取出出来,即响应一次中断请求,将目标缓存单元读空。
S730、基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文。
在本公开实施例中,由于目标索引信息对应的目标报文在S730之前已存储在共享存储区域中,因此,报文存储单元基于目标索引信息,即可从共享存储区域中读取目标索引信息对应的目标报文。
在一些实施例中,目标报文可以为任意接收报文。
在另一些实施例中,目标报文可以为任意发送成功的发送报文和路由报文。
S740、将目标报文存储在目标报文日志中。
可以理解的是,报文处理单元对报文处理以及报文转发单元对报文进行日志存储处理使用的是共享内存区域指向的统一个数据地址,通过共享内存的机制实现目标报文传输过程的数据零拷贝,可最大限度节省系统处理资源。
可选地,S740之后,该方法还包括:向报文转发单元发送针对目标报文的引用结束通知,以使报文转发单元响应于引用结束通知,将目标报文的引用数减1。
具体地,报文存储单元将目标报文存储完成后,可向报文转发单元发送针对目标报文的引用结束通知。报文转发单元响应于该引用结束通知,可以将目标报文的引用数减1。如此,可使报文转发单元实时监控目标报文的引用情况,便于对目标报文的生命周期进行管理。
可选地,S740之后,该方法还可以包括:将目标报文日志上传至云端。
本公开实施例的报文处理方法,能够接收报文转发单元发送的中断请求;响应于中断请求,读取目标缓存单元中的目标索引信息;基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文;将目标报文存储在目标报文日志中。如此,报文存储单元可根据目标索引信息直接从共享存储区域中读取目标报文,使得目标报文在存储时可绕过报文处理单元,如此,不仅能够省去报文处理单元拷贝目标报文的步骤,减小报文处理单元的CPU负荷,提高对车身的准确控制,还可减少目标报文存储时的传输链路长度,降低报文日志丢失数据的风险。
在本公开另一种实施方式中,响应于中断请求,读取目标缓存单元中的目标索引信息包括:响应于中断请求,开启中断;在检测到目标缓存单元的状态标志位为存在数据时,读取目标缓存单元中的目标索引信息,直至目标缓存单元的状态标志位为不存在数据;结束中断。
具体地,当目标缓存单元中存储有目标索引信息时,其状态标志位将被置为存在数据,例如,状态标志位被置为1;当目标缓存单元中未存储有目标索引信息时,其状态标志位将被置为不存在数据,例如,状态标志位被置为0。
可选地,目标缓存单元具有先入先出特性。例如,目标缓存单元可以包括先进先出(First Input First Output,FIFO)缓存器。但并不限于此。
示例性地,图8为本公开实施例提供的一种缓存单元的结构示意图。如图8所示,对于接收报文、发送成功反馈、路由成功反馈的3个节点,缓存单元建立与A53处理器的传输通道,并通过FIFO的结构形式保证日志传送通知的顺序性。
可以理解的是,采用先进先出的队列数据结构可以保证从CAN驱动模块不同入口触发的日志存储请求可以按照总线CAN日志的先后顺序进行处理,保证报文日志中日志的顺序与真实总线的一致性,如此,日志回读时可满足恢复当时时间阶段的报文发送情况现场的要求。
示例性地,图9为本公开实施例提供的一种读取目标索引信息的逻辑示意图。如图9所示,充分利用多个A53处理器的架构,抽出1个A53处理器对日志存储做任务隔离设置,确保日志存储的响应能力。并且设置中断触发方式为水平触发,在一次中断触发周期内循环检查FIFO数据状态,连续进行报文存储,避免集中产生FIFO中断处理不及时造成FIFO堆积的现象。
可以理解的是,响应一次中断后,一次性把所有目标索引信息全部拿出来,可以避免频繁开关中断,减少时间损耗,提高报文存储单元获取目标报文的效率。
可选地,报文存储单元在清空目标缓存单元后,可向报文转发单元发送清空通知。如此,可使报文转发单元及时继续向目标缓存单元发送目标索引信息,有利于提高报文存储单元获取目标报文的效率。
图10为本公开实施例提供的一种报文处理方法的流程示意图。
在本公开一些实施例中,图10所示的方法可以应用于报文处理单元。在本实施例中,报文转发处理可以为图2中所示的MCU230。
如图10所示,该报文处理方法可以包括如下步骤。
S1010、接收目标报文转发单元发送的中断请求。
在本公开实施例中,当报文转发单元在报文处理单元对应的目标缓存单元中发送有目标索引信息后,可以向报文处理单元发送中断请求,以使报文处理单元响应于中断请求读取目标缓存单元中的目标索引信息。
具体地,中断请求的解释请见前文,此处不再赘述。
S1020、响应于中断请求,读取目标缓存单元中的目标索引信息。
在本公开实施例中,报文处理单元可以响应于中断请求,从目标缓存单元中读取目标索引信息。
具体地,目标缓存单元和目标索引信息的具体解释请参见前文,此处不再赘述。
在一些实施例中,报文存储单元可仅将中断请求对应的目标索引信息读取出出来。
在另一些实施例中,报文存储单元可将目标缓存单元中存储的所有目标索引信息读取出出来,即响应一次中断请求,将目标缓存单元读空。
S1030、基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文。
在本公开实施例中,由于目标索引信息对应的目标报文在S1030之前已存储在共享存储区域中,因此,报文处理单元基于目标索引信息,即可从共享存储区域中读取目标索引信息对应的目标报文。
在一些实施例中,目标报文可以为任意需要报文处理单元解析处理的接收报文。
S1040、解析目标报文。
具体地,报文处理单元解析目标报文的具体实施方式,本领域技术人员可参照现有技术,此处不再赘述。
可以理解的是,报文处理单元对报文处理以及报文转发单元对报文进行日志存储处理使用的是共享内存区域指向的统一个数据地址,通过共享内存的机制实现目标报文传输过程的数据零拷贝,可最大限度节省系统处理资源。
可选地,S1040后,还包括:向报文转发单元发送针对目标报文的引用结束通知,以使报文转发单元响应于引用结束通知,将目标报文的引用数减1。
具体地,报文处理单元将目标报文处理完成后,可向报文转发单元发送针对目标报文的引用结束通知。报文转发单元响应于该引用结束通知,可以将目标报文的引用数减1。如此,可使报文转发单元实时监控目标报文的引用情况,便于对目标报文的生命周期进行管理。
本公开实施例的报文处理方法,能够接收目标报文转发单元发送的中断请求;响应于中断请求,读取目标缓存单元中的目标索引信息;基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文;解析目标报文。如此,报文转发单元只需向报文处理单元发送目标报文的目标索引信息,无需向报文处理单元发送目标报文,报文处理单元根据目标索引信息从共享存储区域中读取目标报文即可,可减少报文处理单元获取到目标报文所需的时间。
在本公开另一种实施方式中,该方法还包括:将生成的目标报文存储在共享存储区域中;将生成的目标报文的目标索引信息发送至转发单元,以使转发单元基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文,并将目标报文发送至总线。
在本公开实施例中,报文处理单元可以生成发送报文,并将发送报文存储在共享内存区域中。当报文处理单元向要向报文转发单元下发发送报文以使报文转发单元将发送报文转发至总线时,报文处理单元可以向报文转发单元发送目标报文的目标索引信息,以使报文转发单元基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文后,向总线发送目标报文。
具体地,报文处理单元生成的任意发送报文均可作为目标报文。
可以理解的是,报文转发单元基于目标索引信息获取报文处理单元生成的目标报文时,报文转发单元只需接收报文处理单元发送的目标报文的目标索引信息,无需直接接收目标报文,可减少报文转发单元获取目标报文所需的时间。
在本公开另一种实施方式中,响应于中断请求,读取目标缓存单元中的目标索引信息包括:响应于中断请求,开启中断;在检测到目标缓存单元的状态标志位为存在数据时,读取目标缓存单元中的目标索引信息,直至目标缓存单元的状态标志位为不存在数据;结束中断。
具体地,报文处理单元响应于中断请求,读取目标缓存单元中的目标索引信息的具体实施方式与报文存储单元响应于中断请求,读取目标缓存单元中的目标索引信息的具体实施方式类似,可参照前文理解,此次不再赘述。
可以理解的是,响应一次中断后,一次性把所有目标索引信息全部拿出来,可以避免频繁开关中断,减少时间损耗,提高报文处理单元获取目标报文的效率。
可选地,报文处理单元在清空目标缓存单元后,可向报文转发单元发送清空通知。如此,可使报文转发单元及时继续向目标缓存单元发送目标索引信息,有利于提高报文处理单元获取目标报文的效率。
图11为本公开实施例提供的一种报文处理装置的结构示意图。
在本公开一些实施例中,图11所示的装置可以应用于车辆的报文转发单元中。
如图11所示,该报文处理装置可以包括:
第一发送模块1110,用于将目标报文的目标索引信息发送至目标缓存单元;
第二发送模块1120,用于向目标报文对应的目标接收单元发送中断请求;
其中,中断请求用于使目标接收单元响应于中断请求读取目标缓存单元中的目标索引信息,并基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文。
本公开实施例的报文处理装置,能够将目标报文的目标索引信息发送至目标缓存单元;向目标报文对应的目标接收单元发送中断请求;其中,中断请求用于使目标接收单元响应于中断请求读取目标缓存单元中的目标索引信息,并基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文。如此,当目标接收单元为报文处理单元时,报文转发单元只需向报文处理单元发送目标报文的目标索引信息,无需向报文处理单元发送目标报文,报文处理单元根据目标索引信息从共享存储区域中读取目标报文即可,可减少报文处理单元获取到目标报文所需的时间。并且,当目标接收单元为报文存储单元时,报文存储单元可根据目标索引信息直接从共享存储区域中读取目标报文,使得目标报文在存储时可绕过报文处理单元,如此,不仅能够省去报文处理单元拷贝目标报文的步骤,减小报文处理单元的CPU负荷,提高对车身的准确控制,还可减少目标报文存储时的传输链路长度,降低报文日志丢失数据的风险。
在本公开另一种实施方式中,第一发送模块1110包括:第一发送子模块,用于在目标报文的数量为多个的情况下,按照目标报文的时间戳的先后顺序,依次将多个目标报文的目标索引信息发送至目标缓存单元。
在本公开又一种实施方式中,第一发送模块1110包括:第二发送子模块,用于在目标缓存单元存在可用空间时,将目标报文的目标索引信息发送至目标缓存单元。
在本公开再一种实施方式中,第二发送子模块包括:第一发送单元,用于在接收到目标接收单元发送的清空通知时,响应于清空通知,将目标报文的目标索引信息发送至目标缓存单元。
在本公开再一种实施方式中,该装置还包括:
第三接收模块,用于接收总线发送的目标报文;
第二存储模块,用于将目标报文存储在共享存储区域中。
在本公开又一种实施方式中,该装置还包括:
第四接收模块,用于接收报文处理单元发送的目标索引信息;
第五读取模块,用于基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文;
第一发送模块1110,用于向总线发送目标报文。
在本公开再一种实施方式中,该装置还包括:
第四接收模块,用于接收报文发送成功通知;
其中,将目标报文的目标索引信息发送至目标缓存单元包括:
第二发送模块1120,用于将报文发送成功通知对应的目标报文的目标索引信息发送至目标缓存单元。
在本公开再一种实施方式中,该装置还包括:
第一引用模块,用于在将目标报文的目标索引信息发送至目标缓存单元之后,将目标报文的引用数加1;和/或;
第五接收模块,用于接收目标接收单元发送的引用结束通知;
第二引用模块,用于响应于引用结束通知,将引用结束通知对应的目标报文的引用数减1;和/或;
删除模块,用于在检测到目标报文的引用数为0时,将目标报文从共享存储区域中删除。
需要说明的是,图11所示的报文处理装置1100可以执行图3所示的方法实施例中的各个步骤,并且实现图3所示的方法实施例中的各个过程和效果,在此不做赘述。
图12为本公开实施例提供的一种报文处理装置的结构示意图。
在本公开一些实施例中,图12所示的装置可以应用于车辆的报文存储单元中。
如图12所示,该报文处理装置可以包括:
第一接收模块1210,用于接收目标报文转发单元发送的中断请求;
第一读取模块1220,用于响应于中断请求,读取目标缓存单元中的目标索引信息;
第二读取模块1230,用于基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文;
第一存储模块1240,用于将目标报文存储在目标报文日志中。
本公开实施例的报文处理装置,能够接收报文转发单元发送的中断请求;响应于中断请求,读取目标缓存单元中的目标索引信息;基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文;将目标报文存储在目标报文日志中。如此,报文存储单元可根据目标索引信息直接从共享存储区域中读取目标报文,使得目标报文在存储时可绕过报文处理单元,如此,不仅能够省去报文处理单元拷贝目标报文的步骤,减小报文处理单元的CPU负荷,提高对车身的准确控制,还可减少目标报文存储时的传输链路长度,降低报文日志丢失数据的风险。
在本公开另一种实施方式中,第一读取模块1220可以包括:
第一开启子模块,用于响应于中断请求,开启中断;
第一读取子模块,用于在检测到目标缓存单元的状态标志位为存在数据时,读取目标缓存单元中的目标索引信息,直至目标缓存单元的状态标志位为不存在数据;
第一结束子模块,用于结束中断。
在本公开又一种实施方式中,该装置包括第三引用模块,用于基于目标索引信息,从共享存储区域中读取目标索引信息对应的待存储目标报文之后,向报文转发单元发送针对目标报文的引用结束通知,以使报文转发单元响应于引用结束通知,将目标报文的引用数减1。
需要说明的是,图12所示的报文处理装置1200可以执行图7所示的方法实施例中的各个步骤,并且实现图7所示的方法实施例中的各个过程和效果,在此不做赘述。
图13为本公开实施例提供的一种报文处理装置的结构示意图。
在本公开一些实施例中,图13所示的装置可以应用于车辆的报文处理单元中。
如图13所示,该报文处理装置可以包括:
第二接收模块1310,用于接收目标报文转发单元发送的中断请求;
第三读取模块1320,用于响应于中断请求,读取目标缓存单元中的目标索引信息;
第四读取模块1330,用于基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文;
解析模块1340,用于解析目标报文。
本公开实施例的报文处理装置,能够接收目标报文转发单元发送的中断请求;响应于中断请求,读取目标缓存单元中的目标索引信息;基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文;解析目标报文。如此,报文转发单元只需向报文处理单元发送目标报文的目标索引信息,无需向报文处理单元发送目标报文,报文处理单元根据目标索引信息从共享存储区域中读取目标报文即可,可减少报文处理单元获取到目标报文所需的时间。
在本公开另一种实施方式中,该装置还包括:
第三存储模块,用于将生成的目标报文存储在共享存储区域中;
第三发送模块,用于将生成的目标报文的目标索引信息发送至转发单元,以使转发单元基于目标索引信息,从共享存储区域中读取目标索引信息对应的目标报文,并将目标报文发送至总线。
在本公开又一种实施方式中,第三读取模块1320包括:
第二开启子模块,用于响应于中断请求,开启中断;
第二读取子模块,用于在检测到目标缓存单元的状态标志位为存在数据时,读取目标缓存单元中的目标索引信息,直至目标缓存单元的状态标志位为不存在数据;
第二结束子模块,用于结束中断。
在本公开再一种实施方式中,该装置还包括:第四引用模块,用于在基于目标索引信息,从共享存储区域中读取目标索引信息对应的待存储目标报文之后,向报文转发单元发送针对目标报文的引用结束通知,以使报文转发单元响应于引用结束通知,将目标报文的引用数减1。
需要说明的是,图13所示的报文处理装置1300可以执行图11所示的方法实施例中的各个步骤,并且实现图10所示的方法实施例中的各个过程和效果,在此不做赘述。
图14为本公开实施例提供的一种计算设备的结构示意图。
在本公开一些实施例中,图14所示的计算设备可以为报文处理单元、也可以为报文存储单元、也可以为报文处理单元。
如图14所示,该计算设备可以包括处理器1401以及存储有计算机程序指令的存储器1402。
具体地,上述处理器1401可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器1402可以包括用于信息或指令的大容量存储器。举例来说而非限制,存储器1402可以包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个及其以上这些的组合。在合适的情况下,存储器1402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器1402可在综合网关设备的内部或外部。在特定实施例中,存储器1402是非易失性固态存储器。在特定实施例中,存储器1402包括只读存储器(Read-Only Memory,ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable ROM,PROM)、可擦除PROM(Electrical Programmable ROM,EPROM)、电可擦除PROM(Electrically ErasableProgrammable ROM,EEPROM)、电可改写ROM(Electrically Alterable ROM,EAROM)或闪存,或者两个或及其以上这些的组合。
处理器1401通过读取并执行存储器1402中存储的计算机程序指令,可以执行图3、图7和图10所示的方法实施例中的各个步骤。
在一个示例中,该计算设备还可包括收发器1403和总线1404。其中,如图14所示,处理器1401、存储器1402和收发器1403通过总线1404连接并完成相互间的通信。
总线1404包括硬件、软件或两者。举例来说而非限制,总线可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(ExtendedIndustry Standard Architecture,EISA)总线、前端总线(Front Side BUS,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(Industrial Standard Architecture,ISA)总线、无限带宽互连、低引脚数(Low Pin Count,LPC)总线、存储器总线、微信道架构(MicroChannel Architecture,MCA)总线、外围控件互连(Peripheral Component Interconnect,PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial Advanced TechnologyAttachment,SATA)总线、视频电子标准协会局部(Video Electronics StandardsAssociation Local Bus,VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线1404可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
本公开实施例还提供了一种计算机可读存储介质,该存储介质可以存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现本公开实施例所提供的报文处理方法。
上述的存储介质可以例如包括计算机程序指令的存储器1402,上述指令可由计算设备的处理器1401执行以完成本公开实施例所提供的报文处理方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(Compact DiscROM,CD-ROM)、磁带、软盘和光数据存储设备等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (17)
1.一种报文处理方法,其特征在于,应用于报文转发单元,所述方法包括:
将目标报文的目标索引信息发送至目标缓存单元;
向所述目标报文对应的目标接收单元发送中断请求;
其中,所述中断请求用于使所述目标接收单元响应于所述中断请求读取所述目标缓存单元中的所述目标索引信息,并基于所述目标索引信息,从共享存储区域中读取所述目标索引信息对应的所述目标报文;
该方法还包括:在所述将目标报文的目标索引信息发送至目标缓存单元之后,将所述目标报文的引用数加1;
接收所述目标接收单元发送的引用结束通知;响应于所述引用结束通知,将所述引用结束通知对应的所述目标报文的引用数减1;
在检测到所述目标报文的引用数为0时,将所述目标报文从所述共享存储区域中删除。
2.根据权利要求1所述的方法,其特征在于,所述将目标报文的目标索引信息发送至目标缓存单元包括:
在所述目标报文的数量为多个的情况下,按照所述目标报文的时间戳的先后顺序,依次将多个所述目标报文的所述目标索引信息发送至所述目标缓存单元。
3.根据权利要求1所述的方法,其特征在于,所述将目标报文的目标索引信息发送至目标缓存单元包括:
在所述目标缓存单元存在可用空间时,将所述目标报文的所述目标索引信息发送至所述目标缓存单元。
4.根据权利要求3所述的方法,其特征在于,所述在所述目标缓存单元存在可用空间时,将所述目标报文的所述目标索引信息发送至所述目标缓存单元包括:
在接收到所述目标接收单元发送的清空通知时,响应于所述清空通知,将所述目标报文的所述目标索引信息发送至所述目标缓存单元。
5.根据权利要求1所述的方法,其特征在于,还包括:
接收总线发送的所述目标报文;
将所述目标报文存储在所述共享存储区域中。
6.根据权利要求1所述的方法,其特征在于,还包括:
接收报文处理单元发送的所述目标索引信息;
基于所述目标索引信息,从所述共享存储区域中读取所述目标索引信息对应的所述目标报文;
向总线发送所述目标报文。
7.根据权利要求1或3所述的方法,其特征在于,还包括:
接收报文发送成功通知;
其中,所述将目标报文的目标索引信息发送至目标缓存单元包括:
将所述报文发送成功通知对应的所述目标报文的所述目标索引信息发送至目标缓存单元。
8.一种目标报文处理方法,其特征在于,应用于报文存储单元,所述方法包括:
接收报文转发单元发送的中断请求;
响应于所述中断请求,读取目标缓存单元中的目标索引信息;
基于所述目标索引信息,从共享存储区域中读取所述目标索引信息对应的目标报文;
将所述目标报文存储在目标报文日志中;
所述基于所述目标索引信息,从共享存储区域中读取所述目标索引信息对应的待存储目标报文之后,还包括:
向所述报文转发单元发送针对所述目标报文的引用结束通知,以使所述报文转发单元响应于所述引用结束通知,将所述目标报文的引用数减1。
9.一种目标报文处理方法,其特征在于,应用于报文处理单元,所述方法包括:
接收目标报文转发单元发送的中断请求;
响应于所述中断请求,读取目标缓存单元中的目标索引信息;
基于所述目标索引信息,从共享存储区域中读取所述目标索引信息对应的目标报文;
解析所述目标报文;
所述基于所述目标索引信息,从共享存储区域中读取所述目标索引信息对应的待存储目标报文之后,还包括:
向所述报文转发单元发送针对所述目标报文的引用结束通知,以使所述报文转发单元响应于所述引用结束通知,将所述目标报文的引用数减1。
10.根据权利要求9所述的方法,其特征在于,还包括:
将生成的所述目标报文存储在所述共享存储区域中;
将生成的所述目标报文的所述目标索引信息发送至所述转发单元,以使所述转发单元基于所述目标索引信息,从共享存储区域中读取所述目标索引信息对应的所述目标报文,并将所述目标报文发送至总线。
11.根据权利要求8或9所述的方法,其特征在于,所述响应于所述中断请求,读取目标缓存单元中的目标索引信息包括:
响应于所述中断请求,开启中断;
在检测到所述目标缓存单元的状态标志位为存在数据时,读取所述目标缓存单元中的所述目标索引信息,直至所述目标缓存单元的状态标志位为不存在数据;
结束中断。
12.一种目标报文处理装置,其特征在于,包括:
第一发送模块,用于将目标报文的目标索引信息发送至目标缓存单元;
第二发送模块,用于向所述目标报文对应的目标接收单元发送中断请求;
其中,所述中断请求用于使所述目标接收单元响应于所述中断请求读取所述目标缓存单元中的所述目标索引信息,并基于所述目标索引信息,从共享存储区域中读取所述目标索引信息对应的所述目标报文;
该装置还包括:第一引用模块,用于在所述将目标报文的目标索引信息发送至目标缓存单元之后,将所述目标报文的引用数加1;
第五接收模块,用于接收所述目标接收单元发送的引用结束通知;第二引用模块,用于响应于所述引用结束通知,将所述引用结束通知对应的所述目标报文的引用数减1;
删除模块,用于在检测到所述目标报文的引用数为0时,将所述目标报文从所述共享存储区域中删除。
13.一种目标报文处理装置,其特征在于,包括:
第一接收模块,用于接收目标报文转发单元发送的中断请求;
第一读取模块,用于响应于所述中断请求,读取目标缓存单元中的目标索引信息;
第二读取模块,用于基于所述目标索引信息,从共享存储区域中读取所述目标索引信息对应的目标报文;
第一存储模块,用于将所述目标报文存储在目标报文日志中;
该装置还包括:第三引用模块,用于在所述基于所述目标索引信息,从共享存储区域中读取所述目标索引信息对应的待存储目标报文之后,向所述报文转发单元发送针对所述目标报文的引用结束通知,以使所述报文转发单元响应于所述引用结束通知,将所述目标报文的引用数减1。
14.一种目标报文处理装置,其特征在于,包括:
第二接收模块,用于接收目标报文转发单元发送的中断请求;
第三读取模块,用于响应于所述中断请求,读取目标缓存单元中的目标索引信息;
第四读取模块,用于基于所述目标索引信息,从共享存储区域中读取所述目标索引信息对应的目标报文;
解析模块,用于解析所述目标报文;
该装置还包括:第三引用模块,用于在所述基于所述目标索引信息,从共享存储区域中读取所述目标索引信息对应的待存储目标报文之后,向所述报文转发单元发送针对所述目标报文的引用结束通知,以使所述报文转发单元响应于所述引用结束通知,将所述目标报文的引用数减1。
15.一种目标报文处理系统,其特征在于,包括:
目标报文转发单元,用于将目标报文的目标索引信息发送至目标缓存单元;向所述目标报文对应的目标接收单元发送中断请求;
报文存储单元,用于接收目标报文转发单元发送的中断请求;响应于所述中断请求,读取目标缓存单元中的目标索引信息;基于所述目标索引信息,从共享存储区域中读取所述目标索引信息对应的目标报文;将所述目标报文存储在目标报文日志中;
报文处理单元,用于接收目标报文转发单元发送的中断请求;响应于所述中断请求,读取目标缓存单元中的目标索引信息;基于所述目标索引信息,从共享存储区域中读取所述目标索引信息对应的目标报文;解析所述目标报文;
所述目标报文转发单元,还用于在所述将目标报文的目标索引信息发送至目标缓存单元之后,将所述目标报文的引用数加1;接收所述目标接收单元发送的引用结束通知;响应于所述引用结束通知,将所述引用结束通知对应的所述目标报文的引用数减1;在检测到所述目标报文的引用数为0时,将所述目标报文从所述共享存储区域中删除;
所述报文存储单元,还用于在所述基于所述目标索引信息,从共享存储区域中读取所述目标索引信息对应的待存储目标报文之后,向所述报文转发单元发送针对所述目标报文的引用结束通知,以使所述报文转发单元响应于所述引用结束通知,将所述目标报文的引用数减1;
所述报文处理单元,还用于在所述基于所述目标索引信息,从共享存储区域中读取所述目标索引信息对应的待存储目标报文之后,向所述报文转发单元发送针对所述目标报文的引用结束通知,以使所述报文转发单元响应于所述引用结束通知,将所述目标报文的引用数减1。
16.一种计算设备,其特征在于,包括:
处理器;
存储器,用于存储可执行指令;
其中,所述处理器用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述权利要求1-11中任一项所述的目标报文处理方法。
17.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得处理器实现上述权利要求1-11中任一项所述的目标报文处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111550671.1A CN115442317B (zh) | 2021-12-17 | 2021-12-17 | 报文处理方法、装置、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111550671.1A CN115442317B (zh) | 2021-12-17 | 2021-12-17 | 报文处理方法、装置、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115442317A CN115442317A (zh) | 2022-12-06 |
CN115442317B true CN115442317B (zh) | 2023-10-10 |
Family
ID=84239787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111550671.1A Active CN115442317B (zh) | 2021-12-17 | 2021-12-17 | 报文处理方法、装置、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115442317B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5548728A (en) * | 1994-11-04 | 1996-08-20 | Canon Information Systems, Inc. | System for reducing bus contention using counter of outstanding acknowledgement in sending processor and issuing of acknowledgement signal by receiving processor to indicate available space in shared memory |
JP2004264956A (ja) * | 2003-02-28 | 2004-09-24 | Kanazawa Inst Of Technology | キャッシュ管理方法、およびその方法を利用可能なキャッシュサーバ |
CN101917396A (zh) * | 2010-06-25 | 2010-12-15 | 清华大学 | 一种网络文件系统中数据的实时去重和传输方法 |
CN103559079A (zh) * | 2013-11-15 | 2014-02-05 | 深圳市道通科技有限公司 | 一种基于共享内存的数据存取方法及装置 |
CN105205011A (zh) * | 2014-06-25 | 2015-12-30 | 华为技术有限公司 | 一种获取文件块引用计数的方法、普通客户端和管理客户端 |
CN106445628A (zh) * | 2015-08-11 | 2017-02-22 | 华为技术有限公司 | 一种虚拟化方法、装置和系统 |
CN108008918A (zh) * | 2017-11-30 | 2018-05-08 | 联想(北京)有限公司 | 数据处理方法、存储节点及分布式存储系统 |
CN110764708A (zh) * | 2019-10-25 | 2020-02-07 | 北京浪潮数据技术有限公司 | 一种数据读取方法、装置、设备及存储介质 |
CN111949568A (zh) * | 2020-07-31 | 2020-11-17 | 新华三半导体技术有限公司 | 一种报文处理方法、装置及网络芯片 |
CN112104572A (zh) * | 2020-09-11 | 2020-12-18 | 北京天融信网络安全技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112688846A (zh) * | 2020-12-31 | 2021-04-20 | 北京物芯科技有限责任公司 | 一种can报文的路由方法、装置、设备及存储介质 |
-
2021
- 2021-12-17 CN CN202111550671.1A patent/CN115442317B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5548728A (en) * | 1994-11-04 | 1996-08-20 | Canon Information Systems, Inc. | System for reducing bus contention using counter of outstanding acknowledgement in sending processor and issuing of acknowledgement signal by receiving processor to indicate available space in shared memory |
JP2004264956A (ja) * | 2003-02-28 | 2004-09-24 | Kanazawa Inst Of Technology | キャッシュ管理方法、およびその方法を利用可能なキャッシュサーバ |
CN101917396A (zh) * | 2010-06-25 | 2010-12-15 | 清华大学 | 一种网络文件系统中数据的实时去重和传输方法 |
CN103559079A (zh) * | 2013-11-15 | 2014-02-05 | 深圳市道通科技有限公司 | 一种基于共享内存的数据存取方法及装置 |
CN105205011A (zh) * | 2014-06-25 | 2015-12-30 | 华为技术有限公司 | 一种获取文件块引用计数的方法、普通客户端和管理客户端 |
CN106445628A (zh) * | 2015-08-11 | 2017-02-22 | 华为技术有限公司 | 一种虚拟化方法、装置和系统 |
CN108008918A (zh) * | 2017-11-30 | 2018-05-08 | 联想(北京)有限公司 | 数据处理方法、存储节点及分布式存储系统 |
CN110764708A (zh) * | 2019-10-25 | 2020-02-07 | 北京浪潮数据技术有限公司 | 一种数据读取方法、装置、设备及存储介质 |
CN111949568A (zh) * | 2020-07-31 | 2020-11-17 | 新华三半导体技术有限公司 | 一种报文处理方法、装置及网络芯片 |
CN112104572A (zh) * | 2020-09-11 | 2020-12-18 | 北京天融信网络安全技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112688846A (zh) * | 2020-12-31 | 2021-04-20 | 北京物芯科技有限责任公司 | 一种can报文的路由方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115442317A (zh) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108062285B (zh) | 一种访问NVMe存储设备的方法和NVMe存储设备 | |
EP3260971A1 (en) | Data processing method and nvme storage | |
JP6750646B2 (ja) | 車載装置、情報処理方法、および、情報処理プログラム | |
US20150281100A1 (en) | Apparatus and method for selecting a flow to be changed upon congestion occurrence | |
AU2020214661B2 (en) | Handling an input/output store instruction | |
CN106921665B (zh) | 一种报文处理方法及网络设备 | |
WO2018095110A1 (zh) | 一种图片存储方法、装置及视频监控系统 | |
CN110855738B (zh) | 一种用于多源设备的通讯处理系统 | |
US20120158957A1 (en) | Relay apparatus and communication method | |
CN115442317B (zh) | 报文处理方法、装置、系统、设备及介质 | |
CN112261142B (zh) | 一种rdma网络的数据重传方法、装置及fpga | |
KR101499890B1 (ko) | Low Latency 프레임워크 시스템 | |
US10009151B2 (en) | Packet storage method, information processing apparatus, and non-transitory computer-readable storage medium | |
CN115344522B (zh) | 消息转换通道、消息转换装置、电子设备和交换设备 | |
CN112612677A (zh) | 日志存储方法、装置、电子设备及可读存储介质 | |
WO2012071810A1 (zh) | 网管性能非粒度数据快速存储的方法及装置 | |
CN111404842A (zh) | 数据传输方法、装置及计算机存储介质 | |
CN114666289B (zh) | 一种基于电磁屏蔽体的数据传输方法及系统 | |
US9338219B2 (en) | Direct push operations and gather operations | |
CN116382839A (zh) | 虚拟机的状态检测方法、装置、电子设备及存储介质 | |
CN116405377B (zh) | 网络状态检测方法、协议转换组件、设备及存储介质 | |
US9674282B2 (en) | Synchronizing SLM statuses of a plurality of appliances in a cluster | |
CN110580202A (zh) | 服务器系统内消息的处理方法、装置及系统 | |
CN109327402B (zh) | 拥塞管理方法及装置 | |
US20240056228A1 (en) | Network system and communication control method |
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 |