CN114598669B - 一种报文的存储方法、装置及设备 - Google Patents
一种报文的存储方法、装置及设备 Download PDFInfo
- Publication number
- CN114598669B CN114598669B CN202210223979.3A CN202210223979A CN114598669B CN 114598669 B CN114598669 B CN 114598669B CN 202210223979 A CN202210223979 A CN 202210223979A CN 114598669 B CN114598669 B CN 114598669B
- Authority
- CN
- China
- Prior art keywords
- field
- storage
- structures
- message
- information field
- 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 54
- 230000005540 biological transmission Effects 0.000 claims description 17
- 239000004744 fabric Substances 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 239000000872 buffer Substances 0.000 abstract description 27
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- 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/9042—Separate storage for different parts of the packet, e.g. header and payload
-
- 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/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
- H04L49/9052—Buffering arrangements including multiple buffers, e.g. buffer pools with buffers of different sizes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种报文的存储方法、装置及设备,该方法包括:获取需要存储的目标报文,该目标报文中包括第一信息字段。然后基于第一信息字段的长度,获取目标结构体数组,该目标结构体数组中包括一个或多个结构体。即可以根据报文中数据的长度选择相应的结构体数组进行存储,例如,当第一信息字段的长度小于或等于单个结构体所能存储的数据的最大长度时,获取一个结构体即可存储目标报文;当第一信息字段的长度大于单个结构体所能存储的数据的最大长度时,需要获取多个结构体存储目标报文。利用结构体将原始的缓存空间划分为多个小的缓存空间,根据报文的数据长度选择合适的结构体数组进行存储,可以提高缓存空间的利用率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种报文的存储方法、装置及设备。
背景技术
控制器局域网络(Controller Area Network,CAN)总线协议是一种国际标准化的串行通信协议,与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性,被广泛应用与各个领域。CAN总线以报文为单位进行数据传送,一条CAN报文的数据部分最长有8个字节。
随着汽车的智能化,各控制器需要交换的数据越来越多,频次也越来越高。传统CAN受限于物理特性,传输速率最大为1Mbps,甚至CAN总线上只有一半以下的报文为真正的数据信息,其他都是用于协议控制的非数据信息,导致CAN总线的数据传输效率较低。在此种情况下,将CAN进行升级得到了具有可变数据速率的控制器局域网络(Controller AreaNetwork With Flexible Data-Rate,CAN FD)。CAN FD与CAN相比,具有更高的数据传输速率,并且一条CAN FD报文最长可以传输64字节的数据。
在数据传输过程中,当CAN报文与CAN FD报文同时使用时,用来存储报文的缓冲寄存器buffer中的数据部分均需要设置为64字节,保证可以存储CAN FD最长字节的报文,这样当存储普通CAN报文时,只利用8个字节就可以完成存储,造成缓存空间的极大浪费。
发明内容
有鉴于此,本申请实施例提供了一种报文的存储方法、装置及设备,以便提高缓存空间的利用率。
第一方面,本申请实施例提供了一种报文的存储方法,所述方法包括:
获取目标报文,其中,所述目标报文包括第一信息字段;
基于所述第一信息字段的长度,获取目标结构体数组,其中,所述目标结构体数组中包括一个或多个结构体;
利用所述一个或多个结构体存储所述目标报文。
在一种可能的实现方式中,当所述第一信息字段的长度小于或等于所述一个或多个结构体的第一存储字段的长度时,所述目标结构体数组中包括一个结构体;
所述利用所述一个或多个结构体存储所述目标报文包括:
利用所述一个结构体的第一存储字段存储所述第一信息字段中的数据。
在一种可能的实现方式中,当所述第一信息字段的长度大于所述一个或多个结构体的第一存储字段的长度时,所述目标结构体数组中包括多个结构体,所述多个结构体为连续的结构体;
所述利用所述一个或多个结构体存储所述目标报文包括:
利用所述多个结构体中的第一个结构体的第一存储字段,以及除所述第一个结构体外的其他结构体的第一存储字段和第二存储字段存储所述第一信息字段中的数据,所述第一个结构体为所述多个结构体中排在第一位的结构体。
在一种可能的实现方式中,所述目标报文还包括第二信息字段,所述利用所述一个或多个结构体存储所述目标报文包括:
利用所述一个结构体的第二存储字段存储所述第二信息字段中的信息。
在一种可能的实现方式中,所述目标报文还包括第二信息字段,所述利用所述一个或多个结构体存储所述目标报文包括:
利用所述多个结构体中的所述第一个结构体的第二存储字段存储所述第二信息字段中的信息,所述第一个结构体为所述多个结构体中排在第一位的结构体。
在一种可能的实现方式中,所述利用所述多个结构体中的第一个结构体的第一存储字段,以及除所述第一个结构体外的其他结构体的第一存储字段和第二存储字段存储所述第一信息字段中的数据,包括:
基于所述第一信息字段中的数据的顺序以及所述多个结构体中各个结构体的顺序,利用所述多个结构体中的第一个结构体的第一存储字段,以及除所述第一个结构体外的其他结构体的第一存储字段和第二存储字段依次存储所述第一信息字段中的数据。
在一种可能的实现方式中,所述第二信息字段中的信息包括所述目标报文的传输通道、类型和传输周期中的至少一种。
第二方面,本申请实施例提供了一种报文的存储装置,所述装置包括:第一获取单元、第二获取单元以及存储单元;
所述第一获取单元,用于获取目标报文,其中,所述目标报文包括第一信息字段;
所述第二获取单元,用于基于所述第一信息字段的长度,获取目标结构体数组,其中,所述目标结构体数组中包括一个或多个结构体;
所述存储单元,用于利用所述一个或多个结构体存储所述目标报文。
第三方面,本申请实施例提供了一种报文的存储设备,所述设备包括:存储器以及处理器;
所述存储器用于存储相关的程序代码;
所述处理器用于调用所述程序代码,执行上述第一方面任意一种实现方式所述的报文的存储方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面任意一种实现方式所述的报文的存储方法。
由此可见,本申请实施例具有如下有益效果:
在本申请实施例的上述实现方式中,首先获取需要存储的目标报文,该目标报文中包括第一信息字段。然后基于第一信息字段的长度,获取目标结构体数组,该目标结构体数组中包括一个或多个结构体。即可以根据报文中数据的长度选择相应数目的结构体进行存储,例如,当第一信息字段的长度小于或等于结构体所能存储的数据的最大长度时,获取一个结构体即可存储目标报文;当第一信息字段的长度大于结构体所能存储的数据的最大长度时,需要获取多个结构体存储目标报文。本申请实施例所提供的报文的存储方法,利用结构体将原始的缓存空间划分为多个小的缓存空间,根据报文的数据长度选择合适的结构体数组进行存储,提高缓存空间的利用率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见,下面描述中的附图仅仅是本申请中提供的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种报文的存储方法的流程图;
图2为本申请实施例提供的一种报文的存储方法的原理图;
图3为本申请实施例提供的另一种报文的存储方法的原理图;
图4为本申请实施例提供的又一种报文的存储方法的原理图;
图5为本申请实施例提供的一种报文的存储装置的结构示意图;
图6为本申请实施例提供的一种报文的存储设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,所描述的实施例仅为本申请示例性的实施方式,并非全部实现方式。本领域技术人员可以结合本申请的实施例,在不进行创造性劳动的情况下,获得其他的实施例,而这些实施例也在本申请的保护范围之内。
在网络通信中,为了使不同的网络设备实现信息交换和资源共享,它们之间必须具有共同的语言,而通信协议则规定了完成通信或服务的设备必须遵守的规则和约定,通过通信协议确保网络中数据的顺利传输。其中,CAN总线协议是一种国际标准化的串行通信协议,与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性,被广泛应用与各个领域。
CAN总线以报文为单位进行数据传输,一条CAN报文主要包括两个部分,分别为信息部分和数据部分,信息部分中包括了CAN报文的类型、标识等信息,数据部分为CAN报文中所携带的数据,一条CAN报文所能传输的数据的最大长度为8个字节。
传统CAN受限于物理特性,传输速率最大为1Mbps,甚至CAN总线上只有一半以下的报文为真正的数据信息,其他都是用于协议控制的非数据信息,基于此,将CAN进行升级得到了CAN FD,CAN FD与CAN相比,具有更高的数据传输速率,并且一条CAN FD报文最长可以传输64字节的数据。
在数据传输过程中,当CAN报文与CAN FD报文同时使用时,用来存储报文的缓冲寄存器buffer中的数据部分均需要设置为64字节,保证可以存储CAN FD最长字节的报文,这样当存储普通CAN报文时,只利用8个字节就可以完成存储,造成缓存空间的极大浪费。
基于此,本申请实施例提供了一种报文的存储方法,以便提高缓存空间的利用率。具体实现时,首先获取需要存储的目标报文,该目标报文中包括第一信息字段。然后基于第一信息字段的长度,获取目标结构体数组,该目标结构体数组中包括一个或多个结构体。即可以根据报文中数据的长度选择相应数目的结构体进行存储,例如,当第一信息字段的长度小于或等于结构体所能存储的数据的最大长度时,获取一个结构体即可存储目标报文;当第一信息字段的长度大于结构体所能存储的数据的最大长度时,需要获取多个结构体存储目标报文。本申请实施例所提供的报文的存储方法,利用结构体将原始的缓存空间划分为多个小的缓存空间,根据报文的数据长度选择合适的结构体数组进行存储,提高了缓存空间的利用率。
下面将结合附图对本申请实施例所提供的报文的存储方法进行介绍。
参见图1,图1为本申请实施例提供的一种报文的存储方法的流程图。
该方法主要包括以下步骤:
S101:获取目标报文,其中,该目标报文中包括第一信息字段。
首先需要获取需要存储的目标报文,该目标报文中包括第一信息字段。其中,在目标报文的第一信息字段包括需要进行存储的数据。
S102:基于第一信息字段的长度,获取目标结构体数组,其中,该目标结构体数组中包括一个或多个结构体。
结构体是由一批数据组合而成的结构型数据,组成结构型数据的每个数据称为结构型数据的元素,其描述了一块内存区间的大小及意义。在本实施例中,利用结构体数组将原始的buffer缓存空间划分为多个不同的缓存空间,然后根据目标报文的大小将其存储在相应的结构体数组中,也就是,可以利用不同大小的缓存空间存储不同类型的目标报文。
在一种可能的实现方式中,步骤S101所获取的目标报文可以包括CAN报文和CANFD报文等,CAN报文的第一信息字段所能携带的数据的最大长度为8个字节,CAN FD报文的第一信息字段所能携带的数据的最大长度为64个字节,因此需要根据目标报文的类型获取对应的结构体数组,即根据目标报文中数据的长度,获取对应的一个或多个结构体来存储目标报文。
S103:利用一个或多个结构体存储目标报文。
下面将根据目标报文中数据的不同长度,对本实施例所提供的报文的存储方法进行具体介绍。
在实际应用中,通常目标报文中包括第一信息字段和第二信息字段,第一信息字段中包括目标报文需要传输的数据,第二信息字段中包括目标报文的基本信息,例如报文的标识、类型、传输通道以及传输周期等。针对目标报文中所包含的第一信息字段和第二信息字段,可以将结构体划分为第一存储字段和第二存储字段,用来存储目标报文。其中,第一存储字段的长度表示单个结构体所能存储的数据的最大长度,所以可以根据目标报文中第一信息字段和结构体中第一存储字段的长度关系,对目标报文的存储方法分别进行介绍。
(一)第一信息字段的长度小于或等于第一存储字段的长度
当第一信息字段的长度小于或等于结构体中第一存储字段的长度时,表明结构体的第一存储字段可以存储目标报文中第一信息字段的数据,所以获取一个结构体即可存储目标报文。具体实现时,可以利用结构体的第一存储字段存储目标报文中第一信息字段包含的数据,然后利用结构体的第二存储字段存储目标报文中第二信息字段包含的信息,从而实现目标报文的存储。
(二)第一信息字段的长度大于第一存储字段的长度
当第一信息字段的长度大于结构体中第一存储字段的长度时,表明利用一个结构体的第一存储字段无法存储第一信息字段中的数据,所以需要获取包括多个结构体的目标结构体数组存储目标报文,上述多个结构体可以为连续的结构体,从而可以保证目标报文存储的连续性。具体实现时,获取多个连续的结构体作为目标结构体数组,利用目标结构体数组中第一个结构体的第二存储字段存储目标报文中第二信息字段中的信息,该第一个结构体为多个连续的结构体中排在第一位的结构体,然后利用第一个结构体的第一存储字段、以及目标结构体数组中除第一个结构体以外的其他结构体的第一存储字段和第二存储字段存储目标报文中第一信息字段中的数据,也就是说,除了第一个结构体中的第二存储字段用于存储第二信息字段中的信息外,目标结构体数组中的其余存储字段均用来存储第一信息字段中的数据,从而实现目标报文的存储。
上述实施例中选取了多个连续的结构体存储目标报文,为了进一步保证目标报文中数据存储的连续性,一种可能的实现方式为,当获取多个连续的结构体作为目标结构体数组后,利用第一个结构体的第二存储字段存储第二信息字段中的信息,然后基于第一信息字段中数据的顺序以及多个结构体的顺序,利用一个结构体的第一存储字段、以及除第一个结构体外的其他结构体的第一存储字段和第二存储字段依次存储第一信息字段中的数据,实现目标报文中数据的连续存储。
本申请实施例所提供的报文的存储方法,利用结构体将原始的缓存空间划分为多个小的缓存空间,根据报文的数据长度选择合适的结构体数组进行存储,提高缓存空间的利用率。还可以根据报文中数据的原始顺序,选择连续的多个结构体进行存储,保证数据存储的连续性。
下面将结合具体的应用场景对本申请实施例所提供的报文的存储方法进行介绍。
参见图2,图2为本申请实施例提供的一种报文的存储方法的原理图。
在该应用场景中,需要存储的目标报文为CAN报文,CAN报文所能传输数据的最大长度为8个字节,即第一信息字段的长度最长为8个字节,CAN报文中第二信息字段的长度为12个字节,所以可以将结构体的第一存储字段和第二存储字段分别划分为8个字节和12个字节,即一个结构体所能存储的信息字段为20个字节。然后利用第一存储字段存储第一信息字段中的数据,第二存储字段存储第二信息字段中的信息,实现CAN报文的存储。
当需要存储的目标报文为CAN FD报文时,由于CAN FD报文所能传输的数据的最大长度为64个字节,所以需要根据CAN FD报文中第一信息字段的长度确定相应的目标结构体数组。如图3所示,图3为本申请实施例提供的另一种报文的存储方法的原理图。在该应用场景中,需要存储的目标报文为CAN FD报文,CAN FD报文中第一信息字段的长度为35个字节,第二信息字段的长度为12个字节。当存储CAN FD报文时,利用目标结构体数组中第一个结构体的第二存储字段存储CAN FD报文的第二信息字段,目标结构体数组中的其他存储字段均用来存储CAN FD报文的第一信息字段中的数据,即利用第一个结构体的第一存储字段、以及除第一个结构体外的其他结构体的第一存储字段和第二存储字段来存储CAN FD报文的第一信息字段中的数据。根据图2所述的实施例可知,每个结构体的长度为20个字节,所以需要获取三个结构体来存储CAN FD报文。为了保证CAN FD报文中数据存储的连续性,可以根据数据的原始顺序以及目标结构体数组中各个结构体的顺序,依次存储第一信息字段中的数据。
当目标结构体数组存储CAN FD报文之后,还有剩余的缓存空间,但是本实施例中所获取的目标结构体数组中结构体的数量为可以存储CAN FD报文的最小数量,所以相比现有技术中利用固定长度为64个字节的buffer存储报文的方案,本实施例提供的方法可以减少缓存空间的浪费,提升缓存空间的利用率。
当获取的目标报文中既包括CAN报文又包括CAN FD报文时,存储多种目标报文的方法与存储单个目标报文的方法类似,下面将结合附图4对该方法进行介绍。
如图4所示,所获取的目标报文中包括CAN 1报文、CAN FD报文以及CAN 2报文,其中,CAN 1报文和CAN 2报文中第一信息字段的长度均为8个字节,CAN FD报文中第一信息字段的长度为25个字节,根据获取的报文的顺序,利用目标结构体数组中的结构体依次存储目标报文。第一个报文为CAN报文,所以可以利用一个结构体进行存储。第二个报文为CANFD报文,第一信息字段的长度为25个字节,所以利用两个结构体存储CAN FD报文,也就是,利用第二个结构体的第一存储字段以及第三个结构体的第一存储字段和第二存储字段存储第一信息字段,利用第一个结构体的第二存储字段存储第二信息字段。第三个报文为CAN报文,所以也可以利用一个结构体进行存储。
上述实施例所提供的报文的存储方法,利用结构体组成的结构体数组将原始缓存空间划分为多个不同的缓存空间,可以存储不同大小的报文,提升缓存空间的利用率。
基于上述方法实施例,本申请实施例还提供一种报文的存储装置,下面将结合附图介绍该装置的工作原理。
参见图5,图5为本申请实施例提供的一种报文的存储装置的结构示意图。
该装置500包括:第一获取单元501、第二获取单元502以及存储单元503;
所述第一获取单元501,用于获取目标报文,其中,所述目标报文包括第一信息字段;
所述第二获取单元502,用于基于所述第一信息字段的长度,获取目标结构体数组,其中,所述目标结构体数组中包括一个或多个结构体;
所述存储单元503,用于利用所述一个或多个结构体存储所述目标报文。
在一种可能的实现方式中,当所述第一信息字段的长度小于或等于所述一个或多个结构体的第一存储字段的长度时,所述目标结构体数组中包括一个结构体;
所述存储单元503,具体用于利用所述一个结构体的第一存储字段存储所述第一信息字段中的数据。
在一种可能的实现方式中,当所述第一信息字段的长度大于所述一个或多个结构体的第一存储字段的长度时,所述目标结构体数组中包括多个结构体,所述多个结构体为连续的结构体;
所述存储单元503,具体用于利用所述多个结构体中的第一个结构体的第一存储字段,以及除所述第一个结构体外的其他结构体的第一存储字段和第二存储字段存储所述第一信息字段中的数据,所述第一个结构体为所述多个结构体中排在第一位的结构体。
在一种可能的实现方式中,所述目标报文还包括第二信息字段;所述存储单元503,具体用于利用所述一个结构体的第二存储字段存储所述第二信息字段中的信息。
在一种可能的实现方式中,所述目标报文还包括第二信息字段;所述存储单元503,具体用于利用所述多个结构体中的所述第一个结构体的第二存储字段存储所述第二信息字段中的信息,所述第一个结构体为所述多个结构体中排在第一位的结构体。
在一种可能的实现方式中,所述存储单元503,具体用于基于所述第一信息字段中的数据的顺序以及所述多个结构体中各个结构体的顺序,利用所述多个结构体中的第一个结构体的第一存储字段,以及除所述第一个结构体外的其他结构体的第一存储字段和第二存储字段依次存储所述第一信息字段中的数据。
在一种可能的实现方式中,所述第二信息字段中的信息包括所述目标报文的传输通道、类型和传输周期中的至少一种。
本申请实施例提供的报文的存储装置所具有的有益效果参见上述方法实施例,在此不再赘述。
基于上述方法实施例和装置实施例,本申请实施例还提供一种报文的存储设备。参见图6,图6为本申请实施例提供的一种报文的存储设备的结构示意图。
该设备600包括:存储器601以及处理器602;
所述存储器601用于存储相关的程序代码;
所述处理器602用于调用所述程序代码,执行上述方法实施例所述的报文的存储方法。
此外,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方法实施例所述的报文的存储方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。尤其,对于装置实施例而言,由于其基本类似于方法实施例,所以描述得比较简单,相关部分参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元或模块可以是或者也可以不是物理上分开的,作为单元或模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上,可以根据实际需要选择其中的部分或者全部单元或模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、缓存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种报文的存储方法,其特征在于,所述方法包括:
获取目标报文,其中,所述目标报文包括第一信息字段;所述第一信息字段包括需要进行存储的数据;
基于所述第一信息字段的长度,获取目标结构体数组,其中,所述目标结构体数组中包括一个或多个结构体;所述结构体为由数据组合而成的结构型数据;所述结构体包括第一存储字段和第二存储字段;
利用所述一个或多个结构体存储所述目标报文;
其中,所述目标报文还包括第二信息字段;所述第二信息字段包括所述目标报文的基本信息;当所述第一信息字段的长度大于所述结构体的第一存储字段的长度时,所述目标结构体数组中包括多个结构体,所述多个结构体为连续的结构体;
所述利用所述一个或多个结构体存储所述目标报文包括:
利用所述多个结构体中的第一个结构体的第一存储字段,以及除所述第一个结构体外的其他结构体的第一存储字段和第二存储字段存储所述第一信息字段中的数据,所述第一个结构体为所述多个结构体中排在第一位的结构体;利用所述多个结构体中的所述第一个结构体的第二存储字段存储所述第二信息字段中的信息;
其中,所述利用所述多个结构体中的第一个结构体的第一存储字段,以及除所述第一个结构体外的其他结构体的第一存储字段和第二存储字段存储所述第一信息字段中的数据,包括:
基于所述第一信息字段中的数据的顺序以及所述多个结构体中各个结构体的顺序,利用所述多个结构体中的第一个结构体的第一存储字段,以及除所述第一个结构体外的其他结构体的第一存储字段和第二存储字段依次存储所述第一信息字段中的数据。
2.根据权利要求1所述的方法,其特征在于,当所述第一信息字段的长度小于或等于所述结构体的第一存储字段的长度时,所述目标结构体数组中包括一个结构体;
所述利用所述一个或多个结构体存储所述目标报文包括:
利用所述一个结构体的第一存储字段存储所述第一信息字段中的数据。
3.根据权利要求2所述的方法,其特征在于,所述目标报文还包括第二信息字段,所述利用所述一个或多个结构体存储所述目标报文包括:
利用所述一个结构体的第二存储字段存储所述第二信息字段中的信息。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述第二信息字段中的信息包括所述目标报文的传输通道、类型和传输周期中的至少一种。
5.一种报文的存储装置,其特征在于,所述装置包括:第一获取单元、第二获取单元以及存储单元;
所述第一获取单元,用于获取目标报文,其中,所述目标报文包括第一信息字段;所述第一信息字段包括需要进行存储的数据;所述目标报文还包括第二信息字段;所述第二信息字段包括所述目标报文的基本信息;
所述第二获取单元,用于基于所述第一信息字段的长度,获取目标结构体数组,其中,所述目标结构体数组中包括一个或多个结构体;所述结构体为由数据组合而成的结构型数据;所述结构体包括第一存储字段和第二存储字段;
所述存储单元,用于利用所述一个或多个结构体存储所述目标报文;
当所述第一信息字段的长度大于所述结构体的第一存储字段的长度时,所述目标结构体数组中包括多个结构体,所述多个结构体为连续的结构体;
所述存储单元,具体用于利用所述多个结构体中的第一个结构体的第一存储字段,以及除所述第一个结构体外的其他结构体的第一存储字段和第二存储字段存储所述第一信息字段中的数据,所述第一个结构体为所述多个结构体中排在第一位的结构体;利用所述多个结构体中的所述第一个结构体的第二存储字段存储所述第二信息字段中的信息;
其中,所述利用所述多个结构体中的第一个结构体的第一存储字段,以及除所述第一个结构体外的其他结构体的第一存储字段和第二存储字段存储所述第一信息字段中的数据,包括:
基于所述第一信息字段中的数据的顺序以及所述多个结构体中各个结构体的顺序,利用所述多个结构体中的第一个结构体的第一存储字段,以及除所述第一个结构体外的其他结构体的第一存储字段和第二存储字段依次存储所述第一信息字段中的数据。
6.一种报文的存储设备,其特征在于,所述设备包括:存储器以及处理器;
所述存储器用于存储相关的程序代码;
所述处理器用于调用所述程序代码,执行权利要求1至3任一项所述的报文的存储方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1至3任一项所述的报文的存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210223979.3A CN114598669B (zh) | 2022-03-07 | 2022-03-07 | 一种报文的存储方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210223979.3A CN114598669B (zh) | 2022-03-07 | 2022-03-07 | 一种报文的存储方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114598669A CN114598669A (zh) | 2022-06-07 |
CN114598669B true CN114598669B (zh) | 2024-03-19 |
Family
ID=81815149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210223979.3A Active CN114598669B (zh) | 2022-03-07 | 2022-03-07 | 一种报文的存储方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114598669B (zh) |
Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1780254A (zh) * | 2004-11-17 | 2006-05-31 | 华为技术有限公司 | 网络处理器中使用缓冲区的方法 |
CN101226553A (zh) * | 2008-02-03 | 2008-07-23 | 中兴通讯股份有限公司 | 一种嵌入式数据库变长字段存储的实现方法及装置 |
CN102006226A (zh) * | 2010-11-19 | 2011-04-06 | 福建星网锐捷网络有限公司 | 报文缓存管理方法、装置及网络设备 |
CN102457442A (zh) * | 2010-10-29 | 2012-05-16 | 金蝶软件(中国)有限公司 | 一种消息发送和读取方法、装置及中间件系统 |
CN102780620A (zh) * | 2012-07-24 | 2012-11-14 | 中兴通讯股份有限公司 | 一种网络处理器和报文处理方法 |
CN103595653A (zh) * | 2013-11-18 | 2014-02-19 | 福建星网锐捷网络有限公司 | 一种缓存分配方法、装置及设备 |
US9276851B1 (en) * | 2011-12-20 | 2016-03-01 | Marvell Israel (M.I.S.L.) Ltd. | Parser and modifier for processing network packets |
CN106657097A (zh) * | 2016-12-29 | 2017-05-10 | 浙江大华技术股份有限公司 | 一种数据发送方法及装置 |
WO2017114551A1 (en) * | 2015-12-28 | 2017-07-06 | Nokia Solutions And Networks Oy | Pdu formats with fixed-size sdus for wireless networks |
CN106951182A (zh) * | 2017-02-24 | 2017-07-14 | 深圳市中博睿存信息技术有限公司 | 一种块设备缓存方法和装置 |
CN107526691A (zh) * | 2016-06-21 | 2017-12-29 | 深圳市中兴微电子技术有限公司 | 一种缓存管理方法及装置 |
CN107547454A (zh) * | 2017-09-07 | 2018-01-05 | 郑州云海信息技术有限公司 | 基于特定传输协议的网络控制芯片中报文拆分处理方法 |
KR20180021418A (ko) * | 2016-08-22 | 2018-03-05 | 한양대학교 에리카산학협력단 | 캐시 데이터 제어 장치 및 방법 |
CN109656479A (zh) * | 2018-12-11 | 2019-04-19 | 湖南国科微电子股份有限公司 | 一种构建存储器命令序列的方法及装置 |
CN109960662A (zh) * | 2017-12-25 | 2019-07-02 | 华为技术有限公司 | 一种内存回收方法及设备 |
CN110532237A (zh) * | 2019-09-05 | 2019-12-03 | 恒生电子股份有限公司 | 格式数据文件的并发处理方法、装置及系统 |
CN110830380A (zh) * | 2018-08-09 | 2020-02-21 | 华为技术有限公司 | 确定报文出队的速率的方法及装置 |
CN111245776A (zh) * | 2019-10-10 | 2020-06-05 | 中国第一汽车股份有限公司 | 车载数据传输方法、装置、设备和存储介质 |
CN111800353A (zh) * | 2020-06-30 | 2020-10-20 | 翱捷科技股份有限公司 | 一种嵌入式系统内存零拷贝的方法及装置 |
CN111865811A (zh) * | 2020-06-24 | 2020-10-30 | 浪潮(北京)电子信息产业有限公司 | 一种数据处理方法、装置、设备及介质 |
CN112506918A (zh) * | 2020-11-03 | 2021-03-16 | 深圳市宏电技术股份有限公司 | 数据存取方法、终端及计算机可读存储介质 |
CN112671810A (zh) * | 2021-03-18 | 2021-04-16 | 紫光恒越技术有限公司 | 一种数据处理方法、装置、电子设备、服务器及存储设备 |
CN113595932A (zh) * | 2021-08-06 | 2021-11-02 | 上海金仕达软件科技有限公司 | 数据乱序报文的处理方法及专用集成电路 |
CN113973085A (zh) * | 2020-07-22 | 2022-01-25 | 华为技术有限公司 | 一种拥塞控制方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11474865B2 (en) * | 2019-08-23 | 2022-10-18 | Micron Technology, Inc. | Allocation schema for a scalable memory area |
-
2022
- 2022-03-07 CN CN202210223979.3A patent/CN114598669B/zh active Active
Patent Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1780254A (zh) * | 2004-11-17 | 2006-05-31 | 华为技术有限公司 | 网络处理器中使用缓冲区的方法 |
CN101226553A (zh) * | 2008-02-03 | 2008-07-23 | 中兴通讯股份有限公司 | 一种嵌入式数据库变长字段存储的实现方法及装置 |
CN102457442A (zh) * | 2010-10-29 | 2012-05-16 | 金蝶软件(中国)有限公司 | 一种消息发送和读取方法、装置及中间件系统 |
CN102006226A (zh) * | 2010-11-19 | 2011-04-06 | 福建星网锐捷网络有限公司 | 报文缓存管理方法、装置及网络设备 |
US9276851B1 (en) * | 2011-12-20 | 2016-03-01 | Marvell Israel (M.I.S.L.) Ltd. | Parser and modifier for processing network packets |
CN102780620A (zh) * | 2012-07-24 | 2012-11-14 | 中兴通讯股份有限公司 | 一种网络处理器和报文处理方法 |
CN103595653A (zh) * | 2013-11-18 | 2014-02-19 | 福建星网锐捷网络有限公司 | 一种缓存分配方法、装置及设备 |
WO2017114551A1 (en) * | 2015-12-28 | 2017-07-06 | Nokia Solutions And Networks Oy | Pdu formats with fixed-size sdus for wireless networks |
CN107526691A (zh) * | 2016-06-21 | 2017-12-29 | 深圳市中兴微电子技术有限公司 | 一种缓存管理方法及装置 |
KR20180021418A (ko) * | 2016-08-22 | 2018-03-05 | 한양대학교 에리카산학협력단 | 캐시 데이터 제어 장치 및 방법 |
CN106657097A (zh) * | 2016-12-29 | 2017-05-10 | 浙江大华技术股份有限公司 | 一种数据发送方法及装置 |
CN106951182A (zh) * | 2017-02-24 | 2017-07-14 | 深圳市中博睿存信息技术有限公司 | 一种块设备缓存方法和装置 |
CN107547454A (zh) * | 2017-09-07 | 2018-01-05 | 郑州云海信息技术有限公司 | 基于特定传输协议的网络控制芯片中报文拆分处理方法 |
CN109960662A (zh) * | 2017-12-25 | 2019-07-02 | 华为技术有限公司 | 一种内存回收方法及设备 |
CN110830380A (zh) * | 2018-08-09 | 2020-02-21 | 华为技术有限公司 | 确定报文出队的速率的方法及装置 |
CN109656479A (zh) * | 2018-12-11 | 2019-04-19 | 湖南国科微电子股份有限公司 | 一种构建存储器命令序列的方法及装置 |
CN110532237A (zh) * | 2019-09-05 | 2019-12-03 | 恒生电子股份有限公司 | 格式数据文件的并发处理方法、装置及系统 |
CN111245776A (zh) * | 2019-10-10 | 2020-06-05 | 中国第一汽车股份有限公司 | 车载数据传输方法、装置、设备和存储介质 |
CN111865811A (zh) * | 2020-06-24 | 2020-10-30 | 浪潮(北京)电子信息产业有限公司 | 一种数据处理方法、装置、设备及介质 |
CN111800353A (zh) * | 2020-06-30 | 2020-10-20 | 翱捷科技股份有限公司 | 一种嵌入式系统内存零拷贝的方法及装置 |
CN113973085A (zh) * | 2020-07-22 | 2022-01-25 | 华为技术有限公司 | 一种拥塞控制方法和装置 |
CN112506918A (zh) * | 2020-11-03 | 2021-03-16 | 深圳市宏电技术股份有限公司 | 数据存取方法、终端及计算机可读存储介质 |
CN112671810A (zh) * | 2021-03-18 | 2021-04-16 | 紫光恒越技术有限公司 | 一种数据处理方法、装置、电子设备、服务器及存储设备 |
CN113595932A (zh) * | 2021-08-06 | 2021-11-02 | 上海金仕达软件科技有限公司 | 数据乱序报文的处理方法及专用集成电路 |
Non-Patent Citations (3)
Title |
---|
Impact of Message Based Fault Detectors on Applications Messages in a Network on Chip;Arne Garbade ect.;《2013 21st Euromicro International Conference on Parallel, Distributed, and Network-Based Processing》;全文 * |
基于信号组结构体的CAN信号封装及解析设计;马建辉;慕永云;胡代荣;;电子测量技术(17);全文 * |
宽带接入系统中以太网业务的适配;高青海, 邱智亮, 王泳, 李健;电信快报;20020225(02);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114598669A (zh) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080148013A1 (en) | RDMA Method for MPI_REDUCE/MPI_ALLREDUCE on Large Vectors | |
CN105704252B (zh) | 低功耗蓝牙设备数据传输方法及装置 | |
Kang et al. | Low-complexity learning for dynamic spectrum access in multi-user multi-channel networks | |
CN110597887B (zh) | 一种基于区块链网络的数据管理方法、装置及存储介质 | |
CN109547574A (zh) | 一种数据传输方法及相关装置 | |
CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
CN114598669B (zh) | 一种报文的存储方法、装置及设备 | |
CN103178943A (zh) | 用于链路自适应的方法、装置和系统 | |
CN100578484C (zh) | 用于自适应组播文件传输的方法和装置 | |
Georgiou et al. | Implementing three exchange read operations for distributed atomic storage | |
US11330596B2 (en) | Method and device for indicating transmission resources and storage medium | |
CN109543123A (zh) | 一种短网址生成方法、装置、系统、设备及可读存储介质 | |
CN112688870B (zh) | 一种路由方法、路由装置及节点设备 | |
CN109428861A (zh) | 网络通信方法及设备 | |
CN112188562B (zh) | 中继基站的多播调度方法和装置、存储介质及电子装置 | |
CN115204399A (zh) | 一种量子计算任务计算方法、装置及量子计算机操作系统 | |
CN115271080B (zh) | 量子计算任务执行方法、装置及量子计算机操作系统 | |
CN110738017A (zh) | 分布式集成电路仿真方法、装置、计算设备及存储介质 | |
Yongkang et al. | Improvement on RFID-based binary anti-collision algorithm | |
CN113157610B (zh) | 数据保存方法及装置、存储介质、电子装置 | |
CN102984084A (zh) | 计算机集群中节点间数据传输方法和系统 | |
CN111343612B (zh) | 一种物联网数据方法及系统 | |
JP7427134B1 (ja) | 通信装置、パラメータ生成装置、通信システム、方法及びコンピュータプログラム | |
CN110278171B (zh) | 一种帧同步头检测方法及装置 | |
Lei et al. | Decoupling channel contention and data transmission in dense wireless infrastructure network |
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 |