CN111181874A - 一种报文处理方法、装置及存储介质 - Google Patents
一种报文处理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111181874A CN111181874A CN201811333635.8A CN201811333635A CN111181874A CN 111181874 A CN111181874 A CN 111181874A CN 201811333635 A CN201811333635 A CN 201811333635A CN 111181874 A CN111181874 A CN 111181874A
- Authority
- CN
- China
- Prior art keywords
- pointer
- memory
- module
- message
- commands
- 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
-
- 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/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Bus Control (AREA)
Abstract
本发明公开了一种报文处理方法,包括:接收多个操作命令,为所述多个操作命令分别设置指针标识;所述指针标识表征相应操作命令的接收顺序;采用多个传输通道将所述多个操作命令发送给第一存储器;接收所述第一存储器通过所述多个传输通道返回的响应于各操作命令的报文;将各报文按照各操作命令的指针标识对应的接收顺序存储至第二存储器。本发明还同时公开了一种报文处理装置、以及存储介质。
Description
技术领域
本发明涉及数字通讯领域及缓存管理技术,尤其涉及一种报文处理方法和装置。
背景技术
在数字通讯领域中,诸如网络处理器一类的数据报文处理装置通常需要大容量存储器以存储数据报文,随着信息化的发展及数据量的增加,存储器也从片内缓存逐渐过渡为片外缓存,在工作过程中,缓存管理模块会根据特定的地址来对存储器进行写入和读出操作,以实现报文的传递。
典型的存储器,如双倍速率同步动态随机存储器DDR,存在多组或多通道的概念,通常由四通道或八通道构成,当对存储器进行写入和读出操作时,由于存储器只能保证单个通道内的命令是顺序传递的,而无法保证各通道之间返回的数据(写入时返回写释放数据,读出时返回读报文数据)是严格按照时间顺序排列的,所以在进行多通道的返回数据汇总时,会出现乱序的情况,也即,先发送的读/写命令,返回的读报文/写释放数据可能会滞后,不能相互对应,导致返回的数据失去价值,缓存管理模块无法正常工作。
现有技术中,解决上述乱序问题的方法是,在往存储器发送读/写命令时,同时将通道号等相关信息存储在一个保序先入先出存储器FIFO中,形成一个队列,当后方的储存器多通道返回数据时,为提高资源使用率,通常将所有通道的数据汇总到一个共享随机存取存储器RAM中,传统方法需要空闲指针FIFO和多个地址指针FIFO来管理RAM的空间。写入时,从空闲指针FIFO中取一个地址,按照地址将数据写入RAM,再将这个地址写入对应通道的地址指针FIFO;读出时,按照保序FIFO的队列,从某个地址指针FIFO取出地址,按照地址读出RAM的数据,并将指针回收到空闲指针FIFO,如此反复,就实现了共享写入,保序读出。但是,现有技术中,保序FIFO、空闲指针FIFO和地址指针FIFO占用了较多的资源,在逻辑实现上也较为复杂,所以设计一种便捷高效的报文处理方法对于共享缓存管理具有重要的意义。
发明内容
有鉴于此,本发明实施例期望提供一种报文处理方法和装置,能够以很小的资源消耗实现报文保序功能,提高工作效率,降低成本需求。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供一种报文处理方法,所述方法包括:
接收多个操作命令,为所述多个操作命令分别设置指针标识;所述指针标识表征相应操作命令的接收顺序;
采用多个传输通道将所述多个操作命令发送给第一存储器;
接收所述第一存储器通过所述多个传输通道返回的响应于各操作命令的报文;
将各报文按照各操作命令的指针标识对应的接收顺序存储至第二存储器。
本发明实施例还提供一种报文处理装置,应用于第二存储器,所述装置包括:第一接收模块、发送模块、第二接收模块、存储模块;其中,
所述第一接收模块,用于接收多个操作命令,为所述多个操作命令分别设置指针标识;所述指针标识表征相应操作命令的接收顺序;
所述发送模块,用于采用多个传输通道将所述多个操作命令发送给第一存储器;
所述第二接收模块,用于接收所述第一存储器通过所述多个传输通道返回的响应于各操作命令的报文;
所述存储模块,用于将各报文按照各操作命令的指针标识对应的接收顺序进行存储。
本发明实施例还提供一种存储介质,其上存储有可执行程序,所述可执行程序被处理器执行时实现前述任意一种报文处理方法。
本发明实施例还提供一种报文处理装置,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序,所述处理器运行所述可执行程序时执行前述任意一种报文处理方法。
本发明实施例所提供的报文处理方法和装置,接收多个操作命令,为所述多个操作命令分别设置指针标识;所述指针标识表征相应操作命令的接收顺序;采用多个传输通道将所述多个操作命令发送给第一存储器;接收所述第一存储器通过所述多个传输通道返回的响应于各操作命令的报文;将各报文按照各操作命令的指针标识对应的接收顺序存储至第二存储器。如此,采用指针管理的方式,为操作命令设置指针标识,将各报文按照各操作命令的指针标识对应的接收顺序存储至第二存储器,从而实现了自然按序输出报文,本发明实施例以很小的资源消耗实现了报文保序功能,且逻辑实现简单,提高了工作效率,降低了成本需求。
附图说明
图1为本发明实施例一提供的报文处理方法的实现流程示意图;
图2为本发明实施例一提供的报文处理方法的流向示意图;
图3为本发明实施例二提供的报文处理方法的具体实现流程示意图;
图4为本发明实施例二提供的报文处理方法的流向示意图;
图5为本发明实施例二提供的利用指针实现报文保序的原理图;
图6为本发明实施例三提供的报文处理装置的组成结构示意图;
图7为本发明实施例四提供的报文处理装置的硬件结构示意图。
具体实施方式
为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。
实施例一
如图1所示,本发明实施例中报文处理方法的实现流程,包括以下步骤:
本实施例可以参看图2的报文处理方法的流向示意图。
步骤101:接收多个操作命令,为所述多个操作命令分别设置指针标识;所述指针标识表征相应操作命令的接收顺序。
本步骤中,当第二存储器接收到报文源发送的多个操作命令时,将多个操作命令进行缓存,并按照操作命令的接收顺序,通过计数器计数的方式为多个操作命令分别设置指针标识,这里,操作命令可以为读命令或写命令。
具体地,第二存储器预先设置计数器,针对每个操作命令,获取计数器的相应计数值,将获取的计数值作为操作命令的指针标识,即通过计数器计数给每个操作命令打上0、1、2...511的9bit指针标识;计数器到特定值翻转,这里,特征值可以为511,即计数器超过511时会翻转,继续从0开始计数。
步骤102:采用多个传输通道将所述多个操作命令发送给第一存储器。
本步骤中,第二存储器利用各操作命令的通道号信息,确定各操作命令对应的传输通道;通过确定的至少两个传输通道向第一存储器发送所述多个操作命令;其中,同一个传输通道传输的多个操作命令按照命令的接收顺序向所述存储器发送。
具体地,第二存储器利用各操作命令的通道号信息,将每个操作命令分发并按通道号信息进行缓存,同时指针标识也会随路传递,并在此按顺序缓存在队列中,之后将多个操作命令通过多个传输通道发送给第一存储器;其中,这些操作命令在通道内是保序的,通道间已经乱序。
步骤103:接收所述第一存储器通过所述多个传输通道返回的响应于各操作命令的报文。
具体地,第二存储器向第一存储器发送操作命令后,第一存储器可以通过多个传输通道返回响应于各操作命令的报文(写命令对应写释放数据,读命令对应读报文数据);这些报文在通道内是保序的,通道间已经乱序,此时,按照队列的顺序,将多个传输通道缓存的指针标识,依次赋给返回的报文,实现指针标识的传递。
步骤104:将各报文按照各操作命令的指针标识对应的接收顺序存储至第二存储器。
具体地,第二存储器将各报文按照各操作命令的指针标识对应的接收顺序存储至相应的共享缓存模块,同时将指针标识存储至相应的指针保序模块,针对每个存储的报文,在对应的指针地址设置第一标记,所述第一标记表征所述报文已返回;当确定在起始指针地址设置了所述第一标记时,则按照所述指针标识的顺序依次输出所述报文;确定所述报文输出,在对应的指针地址设置第二标记,所述第二标记表征所述报文已输出;其中,所述第二标记将所述第一标记覆盖,需要说明的是,第一标记和第二标记不会同时出现。
这里,将每四个指针标识拼接成一个指针地址的数据;按照指针地址顺序同时读取两个指针地址的数据,确定在起始指针地址中的四个指针标识对应的报文均已返回,则按照所述指针标识的顺序依次输出所述报文;之所以将四个指针标识拼接成一个指针地址的数据,且同时读取两个指针地址的数据,是为了进行“预取”的逻辑,由于存储器读出有延迟,每次读一个指针标识再对第一标记或第二标记的信息进行判断,会造成空拍的产生,严重影响效率;而在每次读出四个指针标识的情况下,已经获得了四个指针标识的第一标记或第二标记的信息,指针保序模块就可以连续对共享缓存模块发送输出命令,这样,共享缓存模块就可以连续输出四个报文,同时又因为指针保序模块预读了下个指针地址的数据,因此,在指针地址切换时也不会产生空拍,从而节省了逻辑实现的资源,同时提高了报文保序输出的效率。
实施例二
下面对本发明实施例报文处理方法的具体实现过程做进一步地详细说明。
图3给出了本发明实施例报文处理方法的具体实现流程示意图,参看图4本实施例以第二存储器向四通道的第一存储器发出读命令为例,包括以下步骤:
步骤301:接收多个读命令,为所述多个读命令分别设置指针标识;所述指针标识表征相应读命令的接收顺序。
本步骤中,当第二存储器接收到报文源发送的多个读命令时,将多个读命令进行缓存,并按照读命令的接收顺序,通过计数器计数的方式为多个读命令分别设置指针标识。
具体地,第二存储器预先设置计数器,针对每个读命令,获取计数器的相应计数值,将获取的计数值作为读命令的指针标识,即通过计数器计数给每个读命令打上0、1、2...511的9bit指针标识;计数器到特定值翻转,这里,特征值可以为511,即计数器超过511时会翻转,继续从0开始计数。
步骤302:采用四个传输通道将所述多个读命令发送给第一存储器。
本步骤中,第二存储器利用各读命令的通道号信息,确定各读命令对应的传输通道;通过确定的至少两个传输通道向第一存储器发送所述多个读命令;其中,同一个传输通道传输的多个读命令按照命令的接收顺序向所述存储器发送。
具体地,由于第一存储器由四通道构成,因此,第二存储器采用四个传输通道将每个读命令分发并按照通道号信息进行缓存,同时指针标识也会随路传递,并在此按顺序缓存在队列中,之后将多个读命令通过四个传输通道发送给第一存储器;其中,这些读命令在通道内是保序的,通道间已经乱序;这里,可以将四个传输通道命名为通道0、1、2、3,如图4所示。
步骤303:接收所述第一存储器通过所述四个传输通道返回的响应于各读命令的读报文数据。
具体地,第二存储器向第一存储器发送读命令后,第一存储器可以通过四个传输通道返回响应于各读命令的读报文数据;这些读报文数据在通道内是保序的,通道间已经乱序,此时,按照队列的顺序,将四个传输通道缓存的指针标识,依次赋给返回的读报文数据,实现指针标识的传递。
步骤304:将各读报文数据按照各读命令的指针标识对应的接收顺序存储至第二存储器。
具体地,第二存储器将各读报文数据按照各读命令的指针标识对应的接收顺序存储至相应的共享缓存模块,此模块的设计深度是512,表示0-511的地址;同时,将随路传递的指针标识存储至相应的指针保序模块,此模块的设计深度是128,表示0-127的地址,是共享缓存模块深度的四分之一。
参照图5,可以将每四个指针标识拼接成“一行”,形成4bit的指针保序模块的数据,即0、1、2、3指针标识拼接成指针地址0的数据,4、5、6、7指针标识拼接成指针地址1的数据,依此类推。针对每个存储的读报文数据,在对应的指针地址设置第一标记,所述第一标记表征所述读报文数据已返回,这里,利用存储器按bit写的特征,可以是在对应的指针地址写上FLAG=1,例如,首先返回的读报文数据所对应的指针标识为2,这就会使指针保序模块的指针地址0的数据变为“0010”,其次返回的读报文数据所对应的指针标识为3时,这就会使指针保序模块的指针地址0的数据变为“0011”。当确定在起始指针地址设置了所述第一标记时,则按照所述指针标识的顺序依次输出所述读报文数据;确定所述读报文数据输出,在对应的指针地址设置第二标记,所述第二标记表征所述读报文数据已输出,这里,可以是在对应的指针地址覆盖为FLAG=0。
参照图5,通过计数器控制按地址顺序读取指针保序模块的数据,再在每一行内通过计数器按顺序读出指针标识;例如,读报文数据按照指针标识为2、3、1、0的顺序返回,则通过计数器控制从指针地址0开始读出,四次读出的数据依次是“0010”“0011”“0111”“1111”,此时,应当保序出的指针标识为0,那么到第四次读出时,发现指针标识0已返回,便可向共享缓存模块发送输出命令,共享缓存模块接收到输出命令后,便可输出指针标识0对应的读报文数据,同时将指针地址0对应的数据写为“0111”;与此同时,也读出指针地址1的4bit数据,进行缓存。之所以将四个指针标识拼接成一个指针地址且同时读出两个指针地址的数据,是为了进行“预取”的逻辑,若每次读一个指针标识再对FLAG信息进行判断,会造成空拍的产生,严重影响效率,而在每次读出一行四个指针标识的情况下,已经获得了一行所有指针标识的FLAG信息,就可以连续对共享缓存模块发送输出命令;在上述“1111”的情形下,共享缓存模块就可以连续输出四个读报文数据,同时又因为指针保序模块预读了下个指针地址的数据,因此,在指针地址切换时也不会产生空拍,从而节省了逻辑实现的资源,同时提高了报文保序输出的效率。
实施例三
为实现上述方法,本发明实施例还提供了一种报文处理装置,所述装置应用于第二存储器,如图6所示,该装置包括:第一接收模块601、发送模块602、第二接收模块603、存储模块604、第一设置模块605、确定模块606、输出模块607、第二设置模块608;其中,
所述第一接收模块601,用于接收多个操作命令,为所述多个操作命令分别设置指针标识;所述指针标识表征相应操作命令的接收顺序;
所述第一接收模块601具体用于:设置计数器;针对每个操作命令,获取计数器的相应计数值,将获取的计数值作为操作命令的指针标识;所述计数器到特定值翻转。
所述发送模块602,用于采用多个传输通道将所述多个操作命令发送给第一存储器;
所述发送模块602具体用于:利用各操作命令的通道号信息,确定各操作命令对应的传输通道;通过确定的至少两个传输通道向所述第一存储器发送所述多个操作命令;其中,同一个传输通道传输的多个操作命令按照命令的接收顺序向所述存储器发送。
所述第二接收模块603,用于接收所述第一存储器通过所述多个传输通道返回的响应于各操作命令的报文。
所述存储模块604,用于将各报文按照各操作命令的指针标识对应的接收顺序进行存储;
其中,所述存储模块604包括共享缓存模块609和指针保序模块610,共享缓存模块609用于存储各读报文数据,指针保序模块610用于存储各指针标识。
所述第一设置模块605,用于针对每个存储的报文,在对应的指针地址设置第一标记;所述第一标记表征所述报文已返回。
所述确定模块606,用于确定在起始指针地址设置了所述第一标记,则触发输出模块607;
所述确定模块606具体用于:将每四个指针标识拼接成一个指针地址的数据;按照指针地址顺序同时读取两个指针地址的数据,确定在起始指针地址中的四个指针标识对应的报文均已返回,则触发所述输出模块607按照所述指针标识的顺序依次输出所述报文。
所述输出模块607,用于按照所述指针标识的顺序依次输出所述报文;
所述第二设置模块608,用于确定所述报文输出,在对应的指针地址设置第二标记;所述第二标记表征所述报文已输出;其中,所述第二标记将所述第一标记覆盖。
在实际应用中,所述第一接收模块601、发送模块602、第二接收模块603、存储模块604、第一设置模块605、确定模块606、输出模块607、第二设置模块608均可由位于存储器上的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro Processor Unit)、数字信号处理器(DSP,Digital Signal Processor)、或现场可编程门阵列(FPGA,FieldProgrammable Gate Array)等实现。
需要说明的是:上述实施例提供的报文处理装置在进行报文处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的报文处理装置与报文处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
为实现上述方法,本发明实施例还提供了另一种报文处理装置,应用于第二存储器,该装置包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序,所述处理器运行所述可执行程序时,执行以下操作:
接收多个操作命令,为所述多个操作命令分别设置指针标识;所述指针标识表征相应操作命令的接收顺序;
采用多个传输通道将所述多个操作命令发送给第一存储器;
接收所述第一存储器通过所述多个传输通道返回的响应于各操作命令的报文;
将各报文按照各操作命令的指针标识对应的接收顺序进行存储。
所述处理器还用于运行所述可执行程序时,执行以下操作:
针对每个存储的报文,在对应的指针地址设置第一标记;所述第一标记表征所述报文已返回。
所述处理器还用于运行所述可执行程序时,执行以下操作:
确定在起始指针地址设置了所述第一标记,则按照所述指针标识的顺序依次输出所述报文;
确定所述报文输出,在对应的指针地址设置第二标记;所述第二标记表征所述报文已输出;其中,所述第二标记将所述第一标记覆盖。
所述处理器还用于运行所述可执行程序时,执行以下操作:
设置计数器;
针对每个操作命令,获取计数器的相应计数值,将获取的计数值作为操作命令的指针标识。
所述处理器还用于运行所述可执行程序时,执行以下操作:
利用各操作命令的通道号信息,确定各操作命令对应的传输通道;
通过确定的至少两个传输通道向所述第一存储器发送所述多个操作命令;其中,同一个传输通道传输的多个操作命令按照命令的接收顺序向所述存储器发送。
所述处理器还用于运行所述可执行程序时,执行以下操作:
将每四个指针标识拼接成一个指针地址的数据;
按照指针地址顺序同时读取两个指针地址的数据,确定在起始指针地址中的四个指针标识对应的报文均已返回,则按照所述指针标识的顺序依次输出所述报文。
实施例四
下面以报文处理装置实施为用于报文处理的存储器为例,对该报文处理装置的硬件结构做进一步说明。
图7给出了本发明实施例的报文处理装置的硬件结构示意图,图7所示的报文处理装置700包括:至少一个处理器701、存储器702、和至少一个网络接口703。所述报文处理装置700中的各个组件通过总线系统704耦合在一起。可理解,总线系统704用于实现这些组件之间的连接通信。总线系统704除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统704。
可以理解,存储器702可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。
本发明实施例中的存储器702用于存储各种类型的数据以支持报文处理装置700的操作。这些数据的示例包括:用于在报文处理装置700上操作的任何计算机程序,如可执行程序7021,实现本发明实施例方法的程序可以包含在可执行程序7021中。
上述本发明实施例揭示的方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器701可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,本发明实施例还提供了一种存储介质,其上存储有可执行程序,所述可执行程序被报文处理装置700的处理器701运行时,执行以下操作:
接收多个操作命令,为所述多个操作命令分别设置指针标识;所述指针标识表征相应操作命令的接收顺序;
采用多个传输通道将所述多个操作命令发送给第一存储器;
接收所述第一存储器通过所述多个传输通道返回的响应于各操作命令的报文;
将各报文按照各操作命令的指针标识对应的接收顺序进行存储。
所述可执行程序被报文处理装置700的处理器701运行时,还执行以下操作:
针对每个存储的报文,在对应的指针地址设置第一标记;所述第一标记表征所述报文已返回。
所述可执行程序被报文处理装置700的处理器701运行时,还执行以下操作:
确定在起始指针地址设置了所述第一标记,则按照所述指针标识的顺序依次输出所述报文;
确定所述报文输出,在对应的指针地址设置第二标记;所述第二标记表征所述报文已输出;其中,所述第二标记将所述第一标记覆盖。
所述可执行程序被报文处理装置700的处理器701运行时,还执行以下操作:
设置计数器;
针对每个操作命令,获取计数器的相应计数值,将获取的计数值作为操作命令的指针标识。
所述可执行程序被报文处理装置700的处理器701运行时,还执行以下操作:
利用各操作命令的通道号信息,确定各操作命令对应的传输通道;
通过确定的至少两个传输通道向所述第一存储器发送所述多个操作命令;其中,同一个传输通道传输的多个操作命令按照命令的接收顺序向所述存储器发送。
所述可执行程序被报文处理装置700的处理器701运行时,还执行以下操作:
将每四个指针标识拼接成一个指针地址的数据;
按照指针地址顺序同时读取两个指针地址的数据,确定在起始指针地址中的四个指针标识对应的报文均已返回,则按照所述指针标识的顺序依次输出所述报文。
本发明实施例所提供的报文处理方法和装置,接收多个操作命令,为所述多个操作命令分别设置指针标识;所述指针标识表征相应操作命令的接收顺序;采用多个传输通道将所述多个操作命令发送给第一存储器;接收所述第一存储器通过所述多个传输通道返回的响应于各操作命令的报文;将各报文按照各操作命令的指针标识对应的接收顺序存储至第二存储器。如此,采用指针管理的方式,为操作命令设置指针标识,将各报文按照各操作命令的指针标识对应的接收顺序存储至第二存储器,从而实现了自然按序输出报文,本发明实施例以很小的资源消耗实现了报文保序功能,且逻辑实现简单,提高了工作效率,降低了成本需求。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或可执行程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的可执行程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和可执行程序产品的流程图和/或方框图来描述的。应理解可由可执行程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些可执行程序指令到通用计算机、专用计算机、嵌入式处理机或参考可编程数据处理设备的处理器以产生一个机器,使得通过计算机或参考可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些可执行程序指令也可存储在能引导计算机或参考可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些可执行程序指令也可装载到计算机或参考可编程数据处理设备上,使得在计算机或参考可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或参考可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种报文处理方法,其特征在于,所述方法包括:
接收多个操作命令,为所述多个操作命令分别设置指针标识;所述指针标识表征相应操作命令的接收顺序;
采用多个传输通道将所述多个操作命令发送给第一存储器;
接收所述第一存储器通过所述多个传输通道返回的响应于各操作命令的报文;
将各报文按照各操作命令的指针标识对应的接收顺序存储至第二存储器。
2.根据权利要求1所述的方法,其特征在于,所述将各报文按照各操作命令的指针标识对应的接收顺序存储至第二存储器时,所述方法还包括:
针对每个存储的报文,在对应的指针地址设置第一标记;所述第一标记表征所述报文已返回。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
确定在起始指针地址设置了所述第一标记,则按照所述指针标识的顺序依次输出所述报文;
确定所述报文输出,在对应的指针地址设置第二标记;所述第二标记表征所述报文已输出;其中,所述第二标记将所述第一标记覆盖。
4.根据权利要求1所述的方法,其特征在于,所述设置指针标识,包括:
设置计数器;
针对每个操作命令,获取计数器的相应计数值,将获取的计数值作为操作命令的指针标识。
5.根据权利要求4所述的方法,其特征在于,所述计数器到特定值翻转。
6.根据权利要求1所述的方法,其特征在于,所述采用多个传输通道将所述多个操作命令发送给第一存储器,包括:
利用各操作命令的通道号信息,确定各操作命令对应的传输通道;
通过确定的至少两个传输通道向所述第一存储器发送所述多个操作命令;其中,同一个传输通道传输的多个操作命令按照命令的接收顺序向所述存储器发送。
7.根据权利要求2所述的方法,其特征在于,所述确定在起始指针地址设置了所述第一标记,则按照所述指针标识的顺序依次输出所述报文,包括:
将每四个指针标识拼接成一个指针地址的数据;
按照指针地址顺序同时读取两个指针地址的数据,确定在起始指针地址中的四个指针标识对应的报文均已返回,则按照所述指针标识的顺序依次输出所述报文。
8.一种报文处理装置,其特征在于,应用于第二存储器,所述装置包括:第一接收模块、发送模块、第二接收模块、存储模块;其中,
所述第一接收模块,用于接收多个操作命令,为所述多个操作命令分别设置指针标识;所述指针标识表征相应操作命令的接收顺序;
所述发送模块,用于采用多个传输通道将所述多个操作命令发送给第一存储器;
所述第二接收模块,用于接收所述第一存储器通过所述多个传输通道返回的响应于各操作命令的报文;
所述存储模块,用于将各报文按照各操作命令的指针标识对应的接收顺序进行存储。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括第一设置模块,用于针对每个存储的报文,在对应的指针地址设置第一标记;所述第一标记表征所述报文已返回。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:确定模块、输出模块、第二设置模块;其中,
所述确定模块,用于确定在起始指针地址设置了所述第一标记,则触发输出模块;
所述输出模块,用于按照所述指针标识的顺序依次输出所述报文;
所述第二设置模块,用于确定所述报文输出,在对应的指针地址设置第二标记;所述第二标记表征所述报文已输出;其中,所述第二标记将所述第一标记覆盖。
11.根据权利要求8所述的装置,其特征在于,所述第一接收模块具体用于:
设置计数器;
针对每个操作命令,获取计数器的相应计数值,将获取的计数值作为操作命令的指针标识。
12.根据权利要求11所述的装置,其特征在于,所述计数器到特定值翻转。
13.根据权利要求8所述的装置,其特征在于,所述发送模块具体用于:
利用各操作命令的通道号信息,确定各操作命令对应的传输通道;
通过确定的至少两个传输通道向所述第一存储器发送所述多个操作命令;其中,同一个传输通道传输的多个操作命令按照命令的接收顺序向所述存储器发送。
14.根据权利要求9所述的装置,其特征在于,所述确定模块具体用于:
将每四个指针标识拼接成一个指针地址的数据;
按照指针地址顺序同时读取两个指针地址的数据,确定在起始指针地址中的四个指针标识对应的报文均已返回,则触发所述输出模块按照所述指针标识的顺序依次输出所述报文。
15.一种存储介质,其上存储有可执行程序,其特征在于,所述可执行程序被处理器执行时实现如权利要求1至7任一项所述报文处理方法的步骤。
16.一种报文处理装置,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序,其特征在于,所述处理器运行所述可执行程序时执行如权利要求1至7任一项所述报文处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811333635.8A CN111181874B (zh) | 2018-11-09 | 2018-11-09 | 一种报文处理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811333635.8A CN111181874B (zh) | 2018-11-09 | 2018-11-09 | 一种报文处理方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111181874A true CN111181874A (zh) | 2020-05-19 |
CN111181874B CN111181874B (zh) | 2023-10-10 |
Family
ID=70649899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811333635.8A Active CN111181874B (zh) | 2018-11-09 | 2018-11-09 | 一种报文处理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111181874B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113157611A (zh) * | 2021-02-26 | 2021-07-23 | 山东英信计算机技术有限公司 | 一种数据传输控制方法、装置、设备及可读存储介质 |
CN114020665A (zh) * | 2021-11-03 | 2022-02-08 | 联想(北京)有限公司 | 一种信息传输方法、装置及传输系统 |
CN114268412A (zh) * | 2021-11-18 | 2022-04-01 | 岚图汽车科技有限公司 | 车辆通信方法、装置、存储介质及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1230402A (en) * | 1984-12-27 | 1987-12-15 | Wayne D. Grover | Multiple channel depacketizer |
CN1855881A (zh) * | 2005-04-28 | 2006-11-01 | 华为技术有限公司 | 动态共享存储器存储空间的实现方法 |
CN101681313A (zh) * | 2008-02-29 | 2010-03-24 | 株式会社东芝 | 存储器系统 |
US20100262979A1 (en) * | 2009-04-08 | 2010-10-14 | Google Inc. | Circular command queues for communication between a host and a data storage device |
US8255618B1 (en) * | 2011-10-06 | 2012-08-28 | Google Inc. | Performance isolation in a shared memory device |
WO2016202120A1 (zh) * | 2015-06-17 | 2016-12-22 | 深圳市中兴微电子技术有限公司 | 一种队列存储空间管理方法及装置、计算机存储介质 |
-
2018
- 2018-11-09 CN CN201811333635.8A patent/CN111181874B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1230402A (en) * | 1984-12-27 | 1987-12-15 | Wayne D. Grover | Multiple channel depacketizer |
CN1855881A (zh) * | 2005-04-28 | 2006-11-01 | 华为技术有限公司 | 动态共享存储器存储空间的实现方法 |
CN101681313A (zh) * | 2008-02-29 | 2010-03-24 | 株式会社东芝 | 存储器系统 |
US20100262979A1 (en) * | 2009-04-08 | 2010-10-14 | Google Inc. | Circular command queues for communication between a host and a data storage device |
US8255618B1 (en) * | 2011-10-06 | 2012-08-28 | Google Inc. | Performance isolation in a shared memory device |
WO2016202120A1 (zh) * | 2015-06-17 | 2016-12-22 | 深圳市中兴微电子技术有限公司 | 一种队列存储空间管理方法及装置、计算机存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113157611A (zh) * | 2021-02-26 | 2021-07-23 | 山东英信计算机技术有限公司 | 一种数据传输控制方法、装置、设备及可读存储介质 |
CN114020665A (zh) * | 2021-11-03 | 2022-02-08 | 联想(北京)有限公司 | 一种信息传输方法、装置及传输系统 |
CN114268412A (zh) * | 2021-11-18 | 2022-04-01 | 岚图汽车科技有限公司 | 车辆通信方法、装置、存储介质及设备 |
CN114268412B (zh) * | 2021-11-18 | 2023-10-13 | 岚图汽车科技有限公司 | 车辆通信方法、装置、存储介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111181874B (zh) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10860493B2 (en) | Method and apparatus for data storage system | |
US8499105B2 (en) | Buffer manager and buffer management method based on address pointer linked list | |
US8325603B2 (en) | Method and apparatus for dequeuing data | |
WO2021209051A1 (zh) | 片上缓存装置、片上缓存读写方法、计算机可读介质 | |
US10248350B2 (en) | Queue management method and apparatus | |
US20090119460A1 (en) | Storing Portions of a Data Transfer Descriptor in Cached and Uncached Address Space | |
US7203889B2 (en) | Error correction for memory | |
CN111181874A (zh) | 一种报文处理方法、装置及存储介质 | |
US20160330128A1 (en) | Queue scheduling method and device, and computer storage medium | |
CN107783727B (zh) | 一种内存设备的访问方法、装置和系统 | |
JP2007233522A (ja) | Dmaデータ転送装置及びdmaデータ転送方法 | |
US11425057B2 (en) | Packet processing | |
CN115080455B (zh) | 一种计算机芯片、计算机板卡、存储空间分配方法及装置 | |
CN103986585A (zh) | 报文预处理方法及其装置 | |
CN109800558B (zh) | 密码服务板卡以及密码服务装置 | |
CN113126911A (zh) | 基于ddr3 sdram的队列管理方法、介质、设备 | |
US10031884B2 (en) | Storage apparatus and method for processing plurality of pieces of client data | |
CN117499351A (zh) | 报文转发装置及方法、通信芯片及网络设备 | |
CN112035866B (zh) | 一种数据加密方法、装置、设备和计算机可读存储介质 | |
CN111694777B (zh) | 基于PCIe接口的DMA传输方法 | |
US10067690B1 (en) | System and methods for flexible data access containers | |
CN111506521B (zh) | 一种存储器、数据请求写入方法及控制器 | |
CN111526091B (zh) | 存储器执行写操作的方法以及存储器 | |
CN109413122B (zh) | 一种数据处理方法、网络处理器及计算机存储介质 | |
CN111143897B (zh) | 数据安全处理装置、系统及处理方法 |
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 |