CN109729117A - 一种报文处理的方法、芯片系统以及计算机存储介质 - Google Patents
一种报文处理的方法、芯片系统以及计算机存储介质 Download PDFInfo
- Publication number
- CN109729117A CN109729117A CN201711039366.XA CN201711039366A CN109729117A CN 109729117 A CN109729117 A CN 109729117A CN 201711039366 A CN201711039366 A CN 201711039366A CN 109729117 A CN109729117 A CN 109729117A
- Authority
- CN
- China
- Prior art keywords
- message
- information
- read
- write equipment
- source
- 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
Landscapes
- Information Transfer Between Computers (AREA)
- Multi Processors (AREA)
Abstract
本申请实施例公开了一种报文处理的方法、芯片系统以及计算机存储介质的方案:芯片系统可以包括报文处理设备,报文处理设备可以包括至少两个读写装置,该至少两个读写装置与至少两个源头一一对应,报文处理设备接收每个源头发送的报文信息,该报文信息可以包括目标报文以及针对目标报文的处理信息,其中,第一读写装置接收对应的第一源头发送的第一报文信息后,判断关联源头发送的至少一个第二报文信息是否都已被接收,该关联源头为至少两个源头中除第一源头之外的所有源头,该至少一个第二报文信息为该报文信息中除第一报文信息外的信息;若所有的第二报文信息都已被接收,则该第一读写装置触发报文处理装置根据处理信息处理目标报文。
Description
技术领域
本申请涉及电子领域,特别涉及一种报文处理的方法、芯片系统以及计算机存储介质。
背景技术
随着技术的发展,各种网络设备以及智能设备在生活中使用的频率也越高,对网络设备以及智能设备的功能需求也越来越多。当网络设备以及智能设备使用到的功能越多,产生的需要处理的数据也就越多。网络设备以及智能设备内部主要依靠芯片控制,芯片需要处理的报文也越来越多,这些报文可以来自于芯片内部,也可以来自于芯片外部,可以是在网络设备以及智能设备进行业务时产生,也可以是网络设备以及智能设备内部运行时产生。因此,产生报文的源头(source,SRC)也越来越多。芯片内部包含了报文处理设备,能够进行各种报文处理。一个报文可以有多个源头,包括微控制单元(Micro Control Unit,MCU),片外中央处理器(Central Processing Unit,CPU)等。例如,一个报文需要经过解压,删除或重组等操作后才能正常使用,接收该报文的源头没有解压,删除或重组等权限或功能,无法生成解压,删除或重组的处理信息,则需要有解压,删除或重组等权限或功能的源头生成该报文的处理信息。
报文的多个处理信息可以来自于多个不同的SRC,例如一个SRC负责转发报文,一个SRC负责生成删除命令,一个SRC负责生成重组命令等。报文处理设备需要接收到报文的所有报文信息,包括处理信息以及报文后才能对报文进行处理,因此需要确认报文信息的发送顺序,确认所有的报文信息都已接收到,并在接收到最后一条报文信息后,报文处理设备才能对报文进行。现有方案中提供了多源头的报文处理流程,以一个需要两个SRC的报文的处理流程为例,该报文需要2个SRC,即SRC1与SRC2。SRC1负责接收报文,但不能生成该报文的处理信息,SRC1接收到该报文后,通知SRC2该报文的到来,SRC2生成该报文的处理信息,例如,删除该报文中的某一段数据,在该报文中添加一段数据,或重组该报文等。SRC2将该报文的处理信息发送至芯片内部的报文处理设备,报文处理设备接收到该处理信息后,有不同处理方式,包括:报文处理设备向SRC2发送反馈信息,反馈已收到该处理信息,SRC2向SRC1发送反馈信息,反馈报文处理设备已接收到该报文处理信息,或报文处理设备向SRC1发送反馈信息,反馈报文处理设备已接收到该报文处理信息。然后SRC1将报文发送至报文处理设备,报文处理设备接收到该报文后根据SRC2发送的处理信息处理该报文。
当报文处理设备接收到多个SRC发送的报文信息,包括该报文或针对该报文的处理信息,还需要向该多个SRC发送反馈信息,以确保收到报文或针对该报文的处理信息,增加了报文处理的流程,进而造成报文处理的延迟。
发明内容
本申请实施例提供了一种报文处理的方法、芯片系统以及计算机存储介质,用于处理有多个源头的报文,减少该报文的处理流程,减少报文的处理时间,提高该报文的处理效率。
有鉴于此,本申请第一方面提供一种报文处理的方法,该方法应用于芯片系统中,该芯片系统可以包括报文处理设备,该报文处理设备用于接收至少两个源头发送的报文信息,该报文信息可以包括目标报文以及针对该目标报文的处理信息,该至少两个源头中的一个源头接收到该目标报文,该至少两个源头中除该一个源头外的其他源头生成该针对该目标报文的处理信息,该处理信息用于指示对该目标报文的处理方式,该报文处理设备可以包括报文处理装置以及至少两个读写装置,该至少两个读写装置的每个读写装置与该至少两个源头中每个源头一一对应,该方法可以包括:
第一读写装置接收第一源头发送的第一报文信息,该第一报文信息可以是目标报文或针对该目标报文的处理信息,该第一源头为该至少两个源头中与该第一读写装置对应的一个源头,该第一读写装置判断关联源头发送的至少一个第二报文信息是否都已被对应的读写装置接收到,该关联源头为该至少两个源头中除第一源头外的所有源头,该至少一个第二报文信息为该目标报文的报文信息中除第一报文信息外的所有报文信息,若第一报文信息为目标报文,则该至少一个第二报文信息为针对目标报文的处理信息,若第一报文信息为目标报文的处理信息,则该至少一个第二报文信息可以包括目标报文和/或针对该目标报文的处理信息。若该至少一个第二报文信息中的所有第二报文信息都已被对应的读写装置接收,则第一读写装置触发报文处理装置处理目标报文。
在本申请实施例中,第一读写装置接收到第一源头发送的第一报文信息后,首先判断报文信息中除第一报文信息外的其他报文信息,即至少一个第二报文信息是否被对应的读写装置接收到,若该至少一个第二报文信息都已被对应的读写装置接收到,则第一读写装置触发报文处理装置处理目标报文,无需向源头发送反馈信息,减少了报文处理的延迟。
结合本申请第一方面,在本申请第一方面的第一种实施方式中,第一读写装置判断关联源头发送的至少一个第二报文信息是否都已被接收,可以包括:
第一读写装置获取接收状态信息集合,该接收状态信息包含多个状态信息,每个状态信息都用于标识每个第二报文信息的接收状态。若该接收状态信息集合中的每个状态信息都表征对应的第二报文信息未已接收状态,则第一读写装置确定关联源头发送的该至少一个第二报文信息都已被对应的读写装置接收。
在本申请实施例中,第一读写装置通过获取接收状态信息集合中的每个状态信息,该每个状态信息可以标识对应的第二报文信息的接收状态,第一读写装置可以通过该每个状态信息确认每个第二报文信息的接收状态。
结合本申请第一方面的第一种实施方式,在本申请第二方面的第二种实施方式中,报文处理装置还可以包括至少两个状态存储器,该至少两个状态存储器与该至少两个源头一一对应,该第一读写装置获取接收状态信息集合,可以包括:
第一读写装置从与管理源头对应的每个状态存储器中获取初始状态信息集合,该初始状态信息集合中可以包括每个第二报文信息的状态信息,第一读写装置从该每个状态存储器对应的队列中确定待更改状态的第二报文信息,该待更改状态的第二报文信息为该关联源头已发送,且未在该每个状态存储器中完成接收状态信息修改的第二报文信息,该第一读写装置根据该待更改状态的第二报文信息,更新该初始状态信息集合中与该待更改状态的第二报文信息对应的状态信息,以得到该接收状态信息集合。
在本申请实施例中,除了从状态存储器中获取第二报文信息的初始状态信息,还可以从状态存储器对应的队列中获取即将被更改的第二报文信息,并更新第二报文信息的初始状态信息,能提高读出的第二报文信息的准确率,若两个第二报文信息同时被对应的读写装置接收,则第一读写装置可以根据状态存储器的队列,获取最新的第二报文信息的状态信息,防止因改写第二报文信息的状态信息的延迟导致读出的第二报文信息的状态信息数据不准确。
结合本申请第一方面的第一种实施方式或本申请第一方面的第二种实施方式,在本申请第一方面的第三种实施方式中,可以包括:
第一读写装置获取目标报文的报文识别号PAC_ID,该PAC_ID用于在每个状态存储器中标识所述每个状态信息,每个状态信息所在的存储单元可通过该PAC_ID查找到,第一读写装置根据该PAC_ID从该每个状态存储器的存储单元中获取该至少一个第二报文信息中每个第二报文信息的接收状态,以得到接收状态信息集合。
在本申请实施例中,通过目标报文的PAC_ID可以在状态存储器中查找到第二报文信息对应的存储单元,并从该存储单元中获取第二报文信息的状态信息,增加了获取接收状态信息集合的方式。
结合本申请第一方面的第一种实施方式至本申请第一方面的第三种方式中任意一种实施方式,在本申请第一方面的第四种实施方式中,在第一读写装置出发报文处理装置根据针对目标报文的处理信息处理目标报文后,该第一读写装置将该至少一个第二报文信息的接收状态修改为未接收状态,即清除该至少一个第二报文信息的接收状态。
在本申请实施例中,第一读写装置出发报文处理装置处理目标报文后,还将该至少一个第二报文信息的接收状态改写为未接收,存储该接收状态的存储器可以继续被使用。
本申请第二方面提供一种芯片系统,应用于终端设备,该芯片系统可以包括报文处理设备,该报文处理设备可以包括至少两个读写装置以及报文处理装置,该至少两个读写装置与至少两个源头一一对应,该至少两个源头中的其中一个接收到目标报文后,该至少两个源头中除该其中一个外的其他源头生成针对该目标报文的处理信息,该处理信息用于只是对目标报文的处理方式,该至少两个源头将报文信息发送至对应的读写装置,该报文信息可以包括目标报文或针对该目标报文的处理信息,其中:
第一读写装置,为该至少两个读写装置中的其中一个,用于接收第一源头发送的第一报文信息,该第一报文信息可以包括目标报文或者该目标报文的处理信息,该第一源头为该至少两个源头中与该第一读写装置对应的一个;
该第一读写装置,还用于判断关联源头发送的至少一个第二报文信息是否都已被接收,该关联源头为该至少两个源头中除该第一源头外的所有源头,该至少一个第二报文信息为该报文处理信息中除该第一报文信息外的所有信息;
该第一读写装置,还用于当该至少一个第二报文信息都已被接收时,触发该报文处理装置根据该处理信息处理所在目标报文;
该报文处理装置,用于当被该至少两个读写装置触发时,根据该目标报文的处理信息处理该目标报文。
在本申请实施例中,该至少两个源头可以位于芯片系统中内,也可以位于芯片系统外,还可以其中至少一个源头位于芯片系统内,其他源头位于芯片系统外,具体此处不作限定。
第一读写装置在接收到第一源头发送的第一报文信息后,还需要判断至少一个第二报文信息是否都已被对应的读写装置接收,若该至少一个第二报文信息中的每个第二报文信息都已被对应的读写装置接收,则第一读写装置触发报文处理装置根据针对目标报文的处理信息处理目标报文。当目标报文的报文信息都已被对应的读写装置接收,即报文处理设备已接收到目标报文所有的报文信息,则可以由接收到最后一个报文信息的读写装置触发报文处理装置处理目标报文,无需向源头发送反馈信息,在接收到目标报文所有的报文信息后,可由报文处理装置直接处理目标报文。
结合本申请第二方面,在本申请第二方面的第一种实施方式中,
第一读写装置,具体用于获取接收状态信息集合,该接收状态信息集合中的每个状态信息分别用于标识每个第二报文信息的接收状态;若该每个状态信息表征对应的所述第二报文信息为已接收状态,则该第一读写装置确定该至少一个第二报文信息中的每一个第二报文信息都已被接收。
在本申请实施例中,通过状态信息标识第二报文信息的接收状态,若状态信息表征第二报文信息的接收状态为已接收状态,则第一读写装置确定该状态信息对应的第二报文信息已被对应的读写装置接收。若接收状态信息集合中的每个状态信息都表征对应的第二报文信息为已接收状态,则第一读写装置确定该至少一个第二报文信息中的每一个第二报文信息都已被对应的读写装置接收。为第一读写装置判断所有第二报文信息是否都已被对应的读写装置接收的一种方式。
结合本申请第二方面的第一种实施方式,在本申请第二方面的第二种实施方式中,
所述第一读写装置,还用于若该至少一个第二报文信息中存在未被接收的第二报文信息,将所述第一报文信息的接收状态修改为已接收状态。
当第一装置确定该至少一个第二报文信息中存在至少一个未被对应的读写装置接收的第二报文信息,则第一读写装置将第一报文信息的接收状态修改为已接收状态,当目标报文所有的报文信息都为已接收状态时,由接收到最后一个报文信息的读写装置触发报文处理装置处理目标报文。
结合本申请第二方面的第二种实施方式,在本申请第二方面的第三种实施方式中,报文处理设备还可以包括:至少两个状态存储器,该至少两个状态存储器分别与所述至少两个源头一一对应;
与关联源头对应的每个状态存储器,分别用于存储对应的第二报文信息的状态信息;
该状态存储器中的目标状态存储器,用于存储该目标状态信息;
第一读写装置,具体用于从与该关联源头对应的每个状态存储器中获取初始状态信息集合,该初始状态信息集合中可以包括该至少一个第二报文信息中每个第二报文信息的接收状态;从该每个状态存储器对应的队列中确定待更改状态的第二报文信息,该待更改状态的第二报文信息为该关联源头已发送,且未在该每个状态存储器中完成接收状态信息修改的第二报文信息;根据该待更改状态的第二报文信息,更新该初始状态信息集合中与该待更改状态的第二报文信息对应的状态信息,以得到该接收状态信息集合。
第一读写装置从关联源头对应的每个状态存储器中读取了初始状态信息集合后,该初始状态信息集合中的每个状态信息都用于标识至少一个第二报文信息中的每个报文信息的接收状态,还需要从该每个状态存储器的队列中获取待更改状态的第二报文信息,并更新初始状态信息集合,得到接收状态信息集合,若存在两个同时被接收的第二报文信息,在其中一个读写装置进行状态信息改写时,若另外一个读写装置正在从状态存储中进行状态信息读取,那么,该另外一个读写装置可以从状态存储器的队列中读取该其中一个读写装置的操作命令,可以获取到第二报文信息最新的接收状态。应理解,为进一步提高报文处理的效率,该状态存储器也可以是寄存器。
结合本申请第二方面的第三种实施方式,在本申请第二方面的第四种实施方式中,
该第一读写装置,具体用于获取该目标报文的PAC_ID,该PAC_ID用于在该每个存储器中标识该每个状态信息所在的存储单元;
根据该PAC_ID从该每个状态存储器中获取该每个状态信息,以得到该状态信息集合。
为每个报文分配一个PAC_ID,该PAC_ID可以在每个状态存储器中标识存储单元,该存储单元存储了对应报文的报文信息的状态信息,第一读写装置可以通过该PAC_ID查找到存储了对应报文的状态信息的存储单元,为第一读写装置获取第二报文信息的状态信息的其中一种方式。
结合本申请第二方面、结合本申请第二方面的第一种实施方式至第四种实施方式中的任意一种实施方式,在本申请第二方面的第五种实施方式中,第一读写装置触发报文处理装置处理目标报文后,还可以将该至少一个第二报文信息的接收状态修改为未接收状态。
在本申请实施例中,第一读写装置出发报文处理装置处理目标报文后,还将该至少一个第二报文信息的接收状态改写为未接收,存储该接收状态的存储器可以继续被使用。
本申请第三方面提供一种读写装置,应用于芯片系统中,该芯片系统可以包括报文处理设备,该报文处理设备可以包括报文处理装置以及至少两个读写装置,该至少两个读写装置的每个读写装置与该至少两个源头中每个源头一一对应,分别用于接收至少两个源头发送的报文信息,该报文信息可以包括目标报文以及针对该目标报文的处理信息,该至少两个源头中的一个源头接收到该目标报文,该至少两个源头中除该一个源头外的其他源头生成该针对该目标报文的处理信息,该处理信息用于指示对该目标报文的处理方式,该读写装置可以包括:
接收模块,用于接收第一源头发送的第一报文信息,该第一源头为该至少两个源头中与该读写装置对应的一个源头,该第一报文信息可以包括该目标报文或者该目标报文的处理信息;
判断模块,用于判断关联源头发送的至少一个第二报文信息是否都已被接收,该关联源头为该至少两个源头中除该第一源头之外的所有源头,该至少一个第二报文信息为该报文信息中除该第一报文信息之外的信息;
触发模块,用于若该至少一个第二报文信息都已被接收,触发报文处理装置根据该目标报文的处理信息处理该目标报文。
结合本申请第三方面,在本申请第三方面的第一种实施方式中,该接收模块可以包括:
获取子模块,用于获取接收状态信息集合,该接收状态信息集合中的每个状态信息分别用于标识每个第二报文信息的接收状态;
确定子模块,用于若该每个状态信息都表征对应的该第二报文信息为已接收状态,该确定该至少一个第二报文信息都已被接收。
结合本申请第三方面的第一种实施方式,在本申请第三方面的第二种实施方式中,该读写装置还可以包括:
修改模块,用于若该至少一个第二报文信息中存在未被接收的第二报文信息,将该第一报文信息的接收状态修改为已接收状态。
结合本申请第三方面的第一种实施方式或第二中实施方式,在本申请第三方面的第三种实施方式中,该报文处理设备还可以包括至少两个状态存储器,该至少两个状态存储器与该至少两个源头一一对应,该接收模块还可以包括:更新子模块;
该获取子模块,还用于从与该关联源头对应的每个状态存储器中获取初始状态信息集合,该初始状态信息集合中可以包括该至少一个第二报文信息中每个第二报文信息的状态信息;
该确定子模块,还用于从该每个状态存储器对应的队列中确定待更改状态的第二报文信息,该待更改状态的第二报文信息为该关联源头已发送,且未在该每个状态存储器中完成接收状态信息修改的第二报文信息;
该更新子模块,用于根据该待更改状态的第二报文信息,更新该初始状态信息集合中与该待更改状态的第二报文信息对应的状态信息,以得到该接收状态信息集合。
结合本申请第三方面的第三种实施方式,在本申请第三方面的第四种实施方式中,
该获取子模块,还用于获取该目标报文的报文识别号PAC_ID,该PAC_ID用于在该每个状态存储器中标识该每个状态信息;
该获取子模块,还用于根据该PAC_ID从该每个状态存储器中获取该至少一个第二报文信息中每个第二报文信息的接收状态,以得到该接收状态信息集合。
本申请第四方面提供一种报文处理设备,该报文处理设备可以包括至少两个读写装置与报文处理装置,该至少两个读写装置用于执行第一方面至第二方面中任一项所述读写装置执行的步骤,该报文处理装置用于执行第一方面至第二方面中任一项中任一项所述报文处理装置执行的步骤。
本申请第五方面提供一种存储介质,需要说明的是,本发的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产口的形式体现出来,该计算机软件产品存储在一个存储介质中,用于储存为上述设备所用的计算机软件指令,其包含用于执行上述第一方面、第二方面或第三方面为芯片系统所设计的程序。
该存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例第六方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如本申请第一方面或第一方面任一可选实现方式中所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例在芯片系统中的报文处理设备中增加了至少两个读写装置,该至少两个读写装置分别与至少两个源头一一对应,读写装置用于接收对应的源头发送的报文信息,该报文信息为目标报文以及针对该目标报文的处理信息,当读写装置接收到对应的源头发送的第一报文信息后。该读写装置判断关联源头发送的至少一个第二报文信息是否都已被接收,该关联源头为该第一报文信息对应的目标报文的多个源头中除目标源头外的其他源头。若该第二报文信息中的每个报文信息都已被接收,即该目标报文的每个报文信息都已被报文处理设备接收到,则该读写装置可触发报文处理装置根据针对该目标报文的处理信息处理该目标报文。无需向源头发送反馈信息,减少了报文的处理流程,提高了报文处理效率。
附图说明
图1为本申请实施例中芯片系统的一种实施例示意图;
图2为本申请实施例中芯片系统的另一种实施例示意图;
图3为本申请实施例中芯片系统的另一种实施例示意图;
图4为本申请实施例中芯片系统的另一种实施例示意图;
图5为本申请实施例中芯片系统的另一种实施例示意图;
图6为本申请实施例中芯片系统的另一种实施例示意图;
图7为本申请实施例中芯片系统的另一种实施例示意图;
图8为本申请实施例中芯片系统的另一种实施例示意图;
图9为本申请实施例中芯片系统的另一种实施例示意图;
图10为本申请实施例中报文处理方法的一种实施例示意图;
图11为本申请实施例中报文处理方法的另一种实施例示意图;
图12为本申请实施例中报文处理方法的另一种实施例示意图;
图13为本申请实施例中读写装置的一种实施例示意图。
具体实施方式
本申请实施例提供了一种报文处理的方法、芯片系统以及计算机存储介质,用于处理有多个源头的报文,减少该报文的处理流程,进而减少该报文的处理时长,提高报文处理的效率。
报文可以是数据包,也可以是信息段等,报文处理是芯片系统中的一个或多个模块之间或者不同芯片之间常见的处理事件。在报文处理过程中,报文的处理信息可以由多个源头向报文处理设备发送,因此报文的处理过程可以有多个源头参与,在本申请实施例中的芯片系统中,SRC可以位于芯片系统内,也可以位于芯片系统外,具体此处不做限定,下面以3个源头为例,进行详细阐述。请参阅图1,本申请实施例中芯片系统的一种实施例示意图。
在本申请实施例中的芯片系统内,首先,SRC1接收一个目标报文,该目标报文可以是一段数据或一段信息等,SRC1将该目标报文发送至报文处理设备。目标报文的处理还需要其他源头的参与,因此还需要SRC2以及SRC3生成目标报文的处理信息,例如,删除该目标报文中的其中一段,在该目标报文中插入一段数据,或将该目标报文与其他目标报文重组为一个目标报文等针对目标报文的处理信息,并将该处理信息发送至报文处理设备中。报文处理设备接收到所有该目标报文的处理信息,以及该目标报文之后,根据该所有的处理信息处理该目标报文,例如,删除目标报文中的其中一段,在该目标报文中插入一段数据,或将该目标报文与其他目标报文进行重组得到一个新的目标报文等。应理解,除了SRC1、SRC2以及SRC3,报文处理过程还可以包括更多的SRC参与,例如,4个SRC,7个SRC,具体源头数不作限定,此处仅以3个SRC为例进行说明。
在本申请实施例中,报文处理设备接收到多个源头发送的报文信息,可以包括目标报文以及针对目标报文的处理信息等,直接处理目标报文。无需向源头发送反馈信息,也无需确认报文信息的发送顺序,源头也无需等待接收报文处理设备发送反馈信息,可直接将报文信息发送至报文处理设备,减少目标报文处理的延迟,提高目标报文处理的效率。
例如,当前需要处理的目标报文是一段加密后的数据段,SRC1接收到该目标报文后,SRC1分别向SRC2以及SRC3发送信息,用于通知SRC2以及SRC3该目标报文的到来,SRC1还需要将该目标报文发送至报文处理设备。SRC2以及SRC3中已经包含了关于该目标报文的处理方式或处理算法,SRC2中存储了该目标报文的解压权限,SRC3中存储了该目标报文的有效数据提取方式,SRC2生成该目标报文的解压命令,并发送至报文处理设备,SRC3生成该目标报文的数据提取信息,并发送至报文处理设备,报文处理设备接收SRC1发送的目标报文,SRC2发送的解压命令,SRC3发送的数据提取信息,然后报文处理设备根据该解压命令对目标报文进行解压,根据该数据提取信息,提取该目标报文内的有效数据。
具体地,报文处理设备可以包括至少两个读写装置以及报文处理装置。读写装置的数量可以根据SRC的数量调整,例如,若有3个SRC,则报文处理设备内至少有3个读写装置,每个读写装置对应一个SRC,若有5个SRC,则报文处理设备内至少有5个读写装置,每个读写装置对应一个SRC。下面具体以3个读写装置为例,请参阅图2,本申请实施例中芯片系统的另一种实施例示意图。
在本申请实施例中,芯片系统中的报文处理设备可以包括三个读写装置以及一个报文处理装置,该读写装置即图中所示读写装置1、读写装置2以及读写装置3,即第一读写装置、第二读写装置以及第三读写装置。SRC1接收到目标报文后,将该目标报文发送至读写装置1。SRC2以及SRC3分别生成该针对目标报文的处理信息。例如,删除该目标报文的其中一段,在该目标报文中增加一段数据,将目标报文重组等。然后SRC2以及SRC3分别将所生成的处理信息发送至读写装置2以及读写装置3,本申请实施例对SRC2以及SRC3发送针对目标报文的处理信息的先后顺序不作限定。读写装置1、读写装置2以及读写装置3在接收到目标报文的报文信息后,可以将该报文信息存储在本地存储器中。
读写装置1、读写装置2以及读写装置3中收到最后一个报文信息的读写装置,触发报文处理装置根据收到的处理信息处理该目标报文,触发方式可以是向该报文处理装置发送处理信息,通过该处理信息指示报文处理装置处理该目标报文。例如,读写装置1与读写装置3都收到目标报文的报文信息之后,读写装置2收到最后一个目标报文的报文信息,那么由读写装置2触发报文处理装置根据目标报文的报文信息处理目标报文。例如,删除报文中的一段数据,在报文中增加一段数据等。
在本申请实施例中,芯片系统内的报文处理设备可以包括至少两个读写装置以及报文处理装置,该至少两个读写装置中的每一个读写装置对应一个SRC。当其中一个SRC接收到目标报文后,关联SRC生成该针对目标报文的处理信息,并将该处理信息发送至对应的读写装置。最后一个收到该目标报文的报文信息的读写装置,即由最后一个收到该目标报文或该针对目标报文的处理信息的读写装置,触发报文处理装置处理目标报文。当报文处理设备接收到所有的报文信息后处理目标报文,无需向SRC发送反馈信息,减少了向SRC反馈之后接收报文信息的流程,减少报文处理的延迟。
在具体应用场景中,一个网络芯片内包括一个MCU,一个网络模块,一个报文处理设备,报文处理设备内包括多个读写装置以及一个报文处理装置,MCU对应读写装置1,网络模块对应读写装置2。网络模块通过网络接收到其他芯片或其他设备发送的报文,该报文为一段文字信息经加权运算后得到的数据包。网络模块向MCU发送通知信息,该通知信息包括了报文的来源以及标识号等,通知MCU接收到该报文,同时将该报文发送至读写装置2。MCU接收到网络模块发送的通知信息后,根据该通知信息生成该报文的处理命令,该处理命令可以是用于指示报文处理装置经过计算得到该报文所包括的一段文字信息,并且MCU将生成的处理命令发送至读写装置1。当读写装置1接收到该处理命令后,判断该报文是否已接收到,因读写装置2已接收到该报文,读写装置确定该报文已接收到,向报文处理装置发送信息,触发报文处理装置根据处理命令处理报文,将报文经过计算后得到该报文包括的文字信息。
对于读写装置判断目标报文的报文信息是否已接收到的方式,下面进行更进一步的说明,请参阅图3,本申请实施例中芯片系统的另一种实施例示意图。
报文处理设备除了可以包括至少两个读写装置以及报文处理装置外,还可以包括至少两个状态存储器,每个读写装置对应一个状态存储器,该两个状态存储器用于存储对应的读写装置接收的报文信息的状态信息,该状态信息用于标识该报文信息的接收状态。本申请实施例以3个读写装置为例,读写装置1对应状态存储器1,读写装置2对应状态存储器2,读写装置3对应状态存储器3。目标报文的报文信息发送过程与前述图2所述实施例中类似,具体此处不再赘述。本申请具体对读写装置接收到目标报文后的处理过程进行详细说明。此处可以将目标报文作为报文信息1,将SRC2生成的针对目标报文的处理信息作为报文信息2,将SRC3生成的针对目标报文的处理信息作为报文信息3。状态存储器分为多个存储单元,每个存储单元可以存储一个报文信息的状态信息。状态存储器1中的其中一个存储单元存储了报文信息1的状态信息,状态存储器2中的其中一个存储单元存储了报文信息2的状态信息,状态存储器3中的其中一个存储单元存储了报文信息3的状态信息。每个状态存储器中的多个存储单元,可以存储多个报文的报文信息的接收状态信息。可以为每个存储单元分配一个报文标识号(Packet identification,PAC_ID),该PAC_ID为报文的标识号,可通过此PAC_ID查找状态存储器中存储的相同PAC_ID的报文信息的状态信息。
以读写装置1侧的处理流程为例,读写装置1接收到目标报文的报文信息1后,获取报文信息2的状态信息2以及报文信息3的状态信息3,该状态信息2存储于状态存储器2,该状态信息3存储于状态存储器3,根据状态信息2以及状态信息3判断报文信息2以及报文信息3是否全都为已接收状态,若报文信息2以及报文信息3都为已接收状态,即报文信息2以及报文信息3都已分别被读写装置2以及读写装置3接收到,则读写装置1向报文处理装置发起报文处理,若报文信息2以及报文信息3其中的至少一个为未接收状态,例如,仅接收报文信息2,或仅接收报文信息3,或报文信息2与报文信息3都未接收等,则将状态存储器1中存储的状态信息1修改为已接收状态,该状态信息1用于标识报文信息1的接收状态。报文处理装置接收读写装置1发起的报文处理后,根据报文信息2以及报文信息3处理目标报文,例如在目标报文中增加一段数据,删除目标报文中的一段数据,重组该目标报文等。在读写装置1向报文处理装置发起报文处理的同时或之后,清除状态信息2以及状态信息3占用的存储单元,即将状态信息2以及状态信息3改写为未接收状态,可以保留该存储单元的PAC_ID,接收到相同PAC_ID的报文时,可以继续使用该存储单元,也可以不保留该PAC_ID,重新分配不同的PAC_ID。
若由读写装置2或读写装置3接收到最后一份到来的报文信息,也可以由读写装置2或读写装置3发起报文处理装置处理目标报文。读写装置2侧以及读写装置3侧的报文处理流程与读写装置1的处理流程类似,具体此处不作赘述。
在本申请实施例中,报文处理设备中添加了状态存储器,用于存储目标报文的报文信息的状态信息,读写装置可以通过读取状态存储器中对应存储单元存储的状态信息,判断是否接收到该存储单元对应的目标报文的报文信息。当目标报文的所有报文信息都已接收到,接收到最后一条报文信息的读写装置向报文处理装置发起报文处理。本申请实施例对报文信息的发送顺序不作限定,报文处理设备无需在接收到报文信息后,发送反馈信息才能接收下一条报文信息,SRC可以直接将报文信息发送至报文处理设备,减少了报文处理的延时。
在具体应用场景中,一个网络服务器,作为一个购物网站的处理枢纽,对该服务器的处理效率需求较高,而网络服务器主要是内部的网络芯片运行,并处理多种数据,该网络芯片相当于该服务器的大脑。网络芯片内部包括了,网络接收模块,MCU以及报文处理装置,该报文处理装置内部包括了多个读写装置以及报文处理装置,该网络接收模块对应一个读写装置。当用户A需要进行购物时,用户A用自己的电脑在网站上提交了交易申请,电脑将交易申请的交易数据发送至网络服务器的网络接收模块,该交易数据包括了用户的用户信息,校验信息以及商品信息等,且该交易数据对应一个交易ID。当网络接收模块接收到交易数据,网络接收模块向MCU发送通知信息,通知MCU接收到该交易数据,网络接收模块还可以向服务器内部的用户管理模块发送通知信息,同时,还将交易数据发送至报文处理设备内与该网络接收模块对应的读写装置1。MCU接收到通知信息后,生成交易数据的处理命令,例如,校验命令或查询命令等,并将该处理命令发送至与该MCU对应的读写装置2。用户管理模块接收到通知信息后,提取关于用户A的用户数据,可以包括对比信息以及校验信息,并将该对比信息以及校验信息发送至于该用户管理模块对应的读写装置3。其中,读写装置1接收到网络接收模块发送的交易数据后,读取到该交易数据的交易ID,通过该交易ID从状态存储器2以及状态存储器3中获取对应该交易ID的存储单元中存储的状态信息2以及状态信息3,状态存储器2与读写装置2对应,状态存储器3与读写装置3对应。读写装置1通过状态信息2以及状态信息3判断处理命令以及用户数据是否都为已接收状态。若都为已接收状态,则向报文处理装置发起报文处理,即处理用户A的交易数据;若不都为已接收状态,例如,用户数据未接收到,处理命令未接收到,或用户数据与处理命令都未接收到。则将读写装置1对应的状态存储器1中对应交易ID的存储单元中存储的状态信息修改为已接收状态。读写装置2以及读写装置3的处理流程与读写装置1的处理流程类似,具体此处不再赘述。
本申请实施例提供的报文处理的具体示意图请参阅图4,本申请实施例中芯片系统的另一个实施例示意图。报文处理设备可以包括多个读写装置,下面继续以3个读写装置为例进行说明。报文处理设备可以包括3个读写装置,分别为读写装置1、读写装置2以及读写装置3,以及分别对应状态存储器1、状态存储器2以及状态存储器3,还可以包括报文处理设备。读写装置1、读写装置2以及读写装置3分别接收SRC1、SRC2以及SRC3发送的报文信息,以SRC1为例,读写装置1接收SRC1发送的目标报文的报文信息1,然后从状态存储器2和状态存储器3中读取SRC2发送的报文信息2以及SRC3发送报文信息3的状态信息,报文信息2以及报文信息3都为目标报文的报文信息,若报文信息2以及报文信息3的状态都为已接收状态,那么读写装置1触发报文处理设备处理目标报文,若报文信息2以及报文信息3的状态不都为已接收状态,可以包括仅接收报文信息2、仅接收报文信息3,或报文信息2以及报文信息3都未接收到,则读写装置1将状态存储器1中存储的状态信息1改写为已接收状态,该状态信息1存储于对应目标报文的PAC_ID的存储单元,例如,可以将该状态信息由0改写为1,其中,0标识未接收状态,1标识已接收状态。之后,由读写装置2或读写装置3中最后一个接收到报文信息的读写装置触发报文处理装置处理目标报文。读写装置2以及读写装置3的报文信息处理流程与读写装置1的处理流程类似。应理解,SRC1、SRC2以及SRC3中仅有一个SRC触发报文处理设备处理目标报文。如图5所示,由SRC1触发报文处理后,或触发报文处理的同时,SRC1还需要清除状态存储器2中对应PAC_ID的存储单元存储的状态信息2,以及状态存储器3中对应PAC_ID的存储单元存储的状态信息3,例如,将状态存储器2中对应PAC_ID的存储单元存储的状态信息由1回写为0,以及将状态存储器3中对应PAC_ID的存储单元存储的状态信息由1回写为0。该PAC_ID对应的存储单元在回写完成后,可继续供后续待处理的报文使用,由SRC2或SRC3触发报文处理设备处理目标报文时,与SRC1的回写流程类似,具体此处不再赘述。
寄存器是一种高速存储部件,主要由锁存器与触发器组成,通常应用于CPU或处理器等对读写速度需求高的装置中。寄存器可以嵌入于CPU或处理器中,也可以作为独立的部件使用。在本申请的另一种报文处理装置中,为进一步提高报文处理的效率,状态存储器可以通过寄存器实现,SRC也可以包括多个,以下具体以4个SRC为例进行详细说明,其中,SRC1、SRC2以及SRC3位于芯片系统的内部,SRC4位于芯片系统的外部。请参阅图6,本申请实施例中芯片系统的另一种实施例示意图。
首先,SRC1接收目标报文后,SRC1将目标报文,即报文信息1发送至对应的报文处理设备内的读写装置1。SRC2、SRC3以及SRC4分别生成目标报文的报文信息2、报文信息3以及报文信息4,该报文信息2、报文信息3以及报文信息4可以是针对目标报文的处理信息,SRC2将该报文信息2发送至报文处理设备内对应的读写装置2,SRC3将该报文信息3发送至报文处理设备内对应的读写装置3,SRC4将该报文信息4发送至报文处理设备内对应的读写装置4。需要说明的是,本申请实施例对报文信息1、报文信息2、报文信息3以及报文信息4的发送顺序不作限定,可以先发送报文信息1,也可以先发送报文信息2,还可以先发送报文信息4,具体此处不作限定。
状态寄存器也可以分为多个存储单元,每个存储单元对应一个PAC_ID,每个PAC_ID对应一个报文,该每个存储单元中存储了对应PAC_ID的报文信息的状态信息,例如,一个报文的PAC_ID为3333,那么,状态寄存器1、状态寄存器2、状态寄存器3以及状态寄存器4中都有一个存储单元对应3333,分别存储报文信息1、报文信息2、报文信息3以及报文信息4。
读写装置1接收到该报文信息1后,分别从状态寄存器2、状态存储器3以及状态寄存器4中获取报文信息2、报文信息3以及报文信息4的状态信息,然后根据该状态信息判断报文信息2、报文信息3以及报文信息4的接收状态是否都为已接收状态,即报文信息2、报文信息3以及报文信息4是否都已被对应的读写装置接收到。若报文信息2、报文信息3以及报文信息4都为已接收状态,则读写装置1触发报文处理装置处理目标报文,并分别将状态寄存器2、状态寄存器3以及状态寄存器4中存储的报文信息2、报文信息3以及报文信息4的状态信息清除,即将报文信息2、报文信息3以及报文信息4的状态信息改写为未接收状态。若报文信息2、报文信息3以及报文信息4不都为已接收状态,包括报文信息2、报文信息3以及报文信息4都未接收到、仅接收到报文信息2、仅接收到报文信息3、仅接收到报文信息4、仅接收到报文信息2与报文信息3、仅接收到报文信息2与报文信息4或仅接收到报文信息3与报文信息4,则读写装置1将状态存储器中对应报文信息1的状态修改为已接收状态。接收到报文信息2、报文信息3或报文信息4中最后一个报文信息的读写装置触发报文处理装置处理目标报文。
读写装置2、读写装置3以及读写装置4的处理流程与读写装置1的处理流程类似,读写装置2、读写装置3以及读写装置4都可以触发报文处理装置处理目标报文,且读写装置1、读写装置2、读写装置3以及读写装置4中仅需要一个读写装置触发报文处理装置处理同一报文,可参照读写装置1接收到报文信息1的处理流程,具体此处不再赘述。
在本申请实施例中,可以使用寄存器存储报文信息的状态信息,若一个目标报文有多个报文信息,当其中一个读写装置收到目标报文的一个报文信息后,通过该报文的PAC_ID读取状态寄存器中存储的多个状态信息,判断该多个状态信息是否都为已接收状态,若该多个状态信息都表征对应的报文信息为已接收状态,则表示报文处理设备已接收到目标报文对应的所有报文信息,此时,收到最后一个报文信息的读写装置触发报文处理装置处理报文,无需向SRC发送反馈信息,目标报文的所有报文信息都已接收到后,可以根据该所有报文信息处理目标报文。使用寄存器存储报文信息的状态信息,还可以进一步地提升读取状态信息的速度,进一步地减少报文处理的延时。
在实际应用场景中,用户A的手机内部有一个网络芯片,处理手机上进行的各种业务以及操作等,网络芯片需要接收手机内多个模块发送的报文。用户B向用户A发送一个消息,即目标消息,用户B的手机将目标消息加密后通过网络发送至用户A的手机。用户A的手机内部的网络模块接收到该目标消息后,确定该目标信息的ID为0xE001将该目标消息发送至网络芯片内部的消息接收模块,该消息接收模块接收到该目标消息后,通知处理器消息接收模块已接收到该消息,并将该目标消息发送至消息处理装置。然后处理器生成消息处理命令,并发送至消息处理装置,同时,处理器还向解密模块发送信息,通知该解密模块生成解密信息。解密模块收到处理器的通知信息后,根据运算生成解密信息,并将该解密信息发送至消息处理装置。
消息处理装置内部可以包括多个读写装置、对应的状态寄存器以及消息处理模块,读写装置1接收消息接收模块发送的目标消息,读写装置2接收处理器发送的消息处理命令,读写装置3接收解密模块发送的解密信息。状态寄存器1中对应0xE001的存储单元存储目标消息的第一状态信息,状态寄存器2中对应0xE001的存储单元存储消息处理命令的第二状态信息,状态寄存器3中对应0xE001的存储单元存储解密信息的第三状态信息。
读写装置1收到目标消息后,从状态寄存器2获取第二状态信息以及从状态寄存器3中获取第三状态信息,若此时第二状态信息与第三状态信息不都为已接收状态,则读写装置1将第一状态信息修改为已接收状态。读写装置2收到消息处理命令后,从状态寄存器1获取第一状态信息以及从状态寄存器3中获取第三状态信息,若此时第一状态信息为已接收状态,第三状态信息不为已接收状态,即已接收到目标消息,未接收到解密信息,则读写装置2将第二状态信息修改为已接收状态。读写装置3接收到解密信息后,从状态寄存器1获取第一状态信息以及从状态寄存器2中获取第二状态信息,若此时第一状态信息与第二状态信息都为已接收状态,则读写装置3触发消息处理模块处理目标消息,将目标消息解压后在显示屏上显示。
前述对本申请实施例提供的芯片系统中报文处理流程进行了详细说明,存在一种可能,例如,若读写装置1在读取状态寄存器2中的存储的报文信息2的状态信息2时,因读写装置2写入状态寄存器2的延迟,此时改写状态信息2的命令还在状态寄存器2的改写对列中,但实际已接收到报文信息2。因此读写装置1读取的数据会存在不准确的情况,还需要考虑到读写装置读取与写入的延迟。还存在一种情况,若两个报文信息同时接收到,即读写装置1与读写装置2分别同时接收到报文信息1与报文信息2,并同时分别对状态寄存器2与状态寄存器1进行读取。那么,此时读写装置1与读写装置2读取到的状态信息都为未接收状态。因此,还需要考虑到同时读取状态信息的情况。下面以两个读写装置为例进行具体说明,请参阅图7,本申请实施例中芯片系统的另一种实施例示意图。
读写装置还需要判断第一预置时钟周期内的状态信息是否被改写,若读写装置写入状态信息的延迟为N个时钟周期,则读写装置还需要判断N个时钟周期内状态信息是否被改写,即该第一预置时钟周期为N个时钟周期。
读写装置1中的接收模块接收到SRC1发送的目标报文的报文信息1,然后向状态存储器2(也可以是状态寄存器2)发送读取命令,读取状态存储器2中存储的报文信息2的第二状态信息。在读出第二状态信息时,通过寄存器1-1至寄存器1-N获取N个时钟周期内状态存储器2接收到的改写命令,并使用选择器将读出数据分别与改写命令作对比。因改写命令与读取数据中都指示了需要读取或改写的数据在状态存储器2中的存储地址,因此可以将改写命令与读取数据的存储地址进行对比,若在某一时钟周期,改写命令与读取数据指示的存储地址相同,则将改写命令中即将被改写的数据作为最新的读取数据,然后对比下一时钟周期的数据。需要说明的是,若N个时钟周期内的其中一个时钟周期内得到的读取数据中第二状态信息为已接收状态,那么,若有剩余的时钟周期还未读取,也可以不继续进行对比,将已接收状态作为第二状态信息。
读写装置2与读写装置1的流程类似,读写装置2中的接收模块接收到SRC2发送的目标报文的报文信息2,然后向状态存储器1(也可以是状态寄存器1)发送读取命令,读取状态存储器1中存储的报文信息1的第一状态信息。在读出第一状态信息时,通过寄存器2-1至寄存器2-N获取N个时钟周期内状态存储器1接收到的改写命令,并使用选择器将读出数据分别与改写命令作对比。因改写命令与读取数据中都指示了需要读取或改写的数据在状态存储器1中的存储地址,因此可以将改写命令与读取数据的存储地址做对比,若在某一时钟周期,改写命令与读取数据指示的存储地址相同,则将改写命令中即将被改写的数据作为最新的读取数据,然后对比下一时钟周期的数据。需要说明的是,若N个时钟周期内的其中一个时钟周期内得到的读取数据中第一状态信息为已接收状态,那么,若N个时钟周期还有剩余的时钟周期还未读取,即读写装置还未读取N个周期,也可以不继续进行对比,将已接收状态作为第一状态信息。
还存在一种可能,若读写装置1与读写装置2同时接收报文信息1以及报文信息2,并同时分别读取状态存储器2以及状态存储器1中存储的第二状态信息与第一状态信息,则最后读到的第二状态信息与第一状态信息都为未接收状态。因此,读写装置1对比状态存储器2中第一预置时钟周期的正在执行的改写命令中的数据之后,还需要对比第一预置时钟周期后的第二预置时钟周期内的被读写装置2向状态存储器2发送的改写命令,若改写命令与读取数据指示的存储地址相同,则将改写命令中即将被改写的数据作为最新的读取数据;或读写装置2对比状态存储器1中第一预置时钟周期的正在执行的改写命令中的数据之后,还需要对比当前时钟周期后的第二预置时钟周期内的被读写装置1向状态存储器1发送的改写命令,若改写命令与读取数据指示的存储地址相同,则将改写命令中即将被改写的数据作为最新的读取数据。
以读写装置1为例,在对比完第一预置时钟周期内状态存储器2中正在执行的改写命令后,还需要对比读取数据与第一预置时钟周期后的第二预置时钟周期内即将被读写装置2向状态存储器2发送的改写命令中的数据,并将该改写命令中与读取数据中存储地址相同的改写命令中的数据作为最新的读取数据,即,将改写命令中与读取数据中存储地址相同的改写命令中的数据作为第二状态信息。应理解,读写装置1与读写装置2中只需要有一个对比读取数据与第一预置时钟周期后的第二预置时钟周期的改写命令。需要说明的是,本申请实施例中的第一预置时钟周期与第二预置时钟周期可以相同,也可以不相同,具体此处不作限定。
例如,读写装置1读取的具体过程如图8所示,读写装置2在向状态存储器2中写入数据时,发送即将被执行的改写命令,正在执行的命令区域中的改写命令1至改写命令N为正在执行写入状态存储器2操作的命令。读写装置1向状态存储器读命令后,状态存储器2返回一个读取数据,对比模块1将读取数据与正在执行的改写命令1至改写命令N分别作对比,具体可以是,将改写命令1至改写命令N中指示改写的存储地址与读取数据读出的存储地址作对比,若改写命令1至改写命令N中有改写命令的地址与读取数据的地址相同,则将该改写命令指示改写的数据作为该读取数据,然后继续进行对比。除了正在通过改写命令被写入的数据,还需要对比即将被写入的数据,例如,可以在对比完正在执行的改写命令后,对比读写装置2发出的即将被执行的改写命令,可以逐一对比M个时钟周期(即第二预置时钟周期)内读写装置2发出的改写命令,若读写装置2发出的改写命令的地址与读取数据的地址相同,则将该改写命令指示改写的数据作为该读取数据。即该读取数据即为读写装置1读取到的报文信息2的状态信息。
读写装置1读取到第二状态信息后,若确定报文信息2的接收状态为已接收状态,则功能选择模块触发报文处理装置处理目标报文,并清除状态存储器2中存储的报文信息2的接收状态;若确定报文信息2为未接收状态,则向状态存储器1发送改写命令,将状态存储器1中存储的第一状态信息改写为已接收状态。若读写装置2接收到目标报文后,读取到第一状态信息为已接收状态,则触发报文处理装置处理目标报文;若读写装置2接收到目标报文后,读取到第一状态信息为未接收状态,则向状态存储器2发送改写命令,将状态存储器2中存储的第二状态信息改写为已接收状态。
在本申请实施例中,当有两个读写装置时,仅需要有一个读写装置对比读出数据与第一预置时钟周期后的第二预置时钟周期内的改写命令,若有3个读写装置时,仅需要最多两个读写装置对比读出数据与第二预置时钟周期内的改写命令,以此类推,至少有一个读写装置不需要对比读出数据与第二预置时钟周期内的改写命令。3个读写装置的处理流程如图9所示,本申请实施例中芯片系统的另一种实施例示意图。
3个读写装置的处理流程与前述图7中所示的两个读写装置的处理流程类似,读写装置1除了读取状态存储器2中存储的第二状态信息外,还需要读取状态存储器3中存储的第三状态信息。对比读取数据与改写命令的流程与前述图7类似,具体此处不再赘述。在本申请实施例中,读写装置1判断第二预置时钟周期内第二状态信息以及第三状态信息是否被改写,读写装置2判断第二预置时钟周期内第三状态信息是否被改写,此处因图中没有读写装置4,读写装置3无需判断第二预置时钟周期内其他读写装置的状态信息是否被改写。需要说明的是,除了读写装置1判断第二预置时钟周期内第二状态信息是否被改写,第二预置时钟周期内第三状态信息是否被改写,读写装置2判断第二预置时钟周期内第三状态信息是否被改写,也可以是读写装置2判断第二预置时钟周期内第一状态信息与第三状态信息是否被改写,读写装置1判断第二预置周期内第三状态信息是否被改写,读写装置3无需判断,此处不作限定。
需要说明的是,在第一预置时钟周期与第一预置时钟周期后的第二预置时钟周期内,若读写装置1在其中一个周期内对比得到的第二状态信息指示报文信息2的接收状态为已接收状态,则可以直接将该已接收状态作为报文信息2的状态信息,剩余未对比的周期可以无需再对比读取数据与改写命令。
在本申请实施例中,当一个读写装置接收到目标报文的报文信息后,读取其他报文信息的状态信息,还可以获取第一预置时钟周期后的第二预置时钟周期内的该状态信息是否被改写,若被改写,将使用最新的数据作为该状态信息。之后,若所有的报文信息都为已接收状态,则读取到所有报文信息都为已状态信息的读写装置触发报文处理装置处理根据报文信息处理目标报文。
在具体应用场景中,网络芯片中包括一个源头A,一个源头B,以及一个报文编辑装置C,报文编辑装置C中包括一个读写装置A,该读写装置A与源头A对应,一个读写装置B,该读写装置B与源头B对应,以及一个报文编辑模块。源头A接收到一个报文,该报文为一段数据,源头B生成一个该报文的插入命令,即在该报文中插入一段数据。源头A将该报文发送至读写装置A,源头B将该插入命令发送至读写装置B。读写装置A接收到源头A发送的一个报文,然后读写装置A判断插入命令的状态信息是否为已收到状态,若是,则读写装置A触发报文编辑模块处理该报文,若否,则读写装置A将该报文的接收状态修改为已接收状态。当读写装置B接收到插入命令后,判断该报文的接收状态是否为已接收,若为已接收状态,则读写装置B触发报文编辑模块处理该报文,即在该报文中插入一段数据。
下面对本申请实施例提供的报文处理的方法中的读写装置的步骤进行说明,请参阅图10,本申请实施例中报文处理方法的一个实施例示意图,可以包括:
1001、第一读写装置接收第一源头发送的第一报文信息;
第一读写装置接收对应的第一源头发送的目标报文的第一报文信息,该第一读写装置与该第一源头对应,第一源头将目标报文的报文信息发送至该读写装置,该第一报文信息可以是该目标报文,也可以是该针对目标报文的处理信息。
1002、第一读写装置确定关联源头分别对应的每个状态存储器;
该关联源头为该目标报文的至少两个源头中除第一源头外的所有源头,该关联源头中的每一个源头都分别与每个状态存储器一一对应,该每个状态存储器存储了该目标报文的第二报文信息的状态信息,该状态信息用于标识对应的第二报文信息的接收状态,该第二报文信息为目标报文或针对目标报文的处理信息,应理解,若第一报文信息为目标报文,则第二报文信息不包括目标报文,若第一报文信息为针对目标报文的处理信息,则第二报文信息包括目标报文,该第二报文信息由关联源头发送至对应的读写装置。应理解,状态存储器可以是存储器,也可以是寄存器,具体此处不作限定。
1003、第一读写装置从每个状态存储器中获取初始状态信息集合;
第一读写装置确定关联源头对应的每个状态存储器后,从该每个状态存储器中获取每个第二报文信息的状态信息,得到初始状态信息集合。获取初始状态信息集合的具体方法可以是,每个报文对应一个PAC_ID,关联源头对应的每个状态存储器中都有通过PAC_ID对应该目标报文的存储单元,该存储单元中存储了对应的第二报文信息的状态信息,获取初始状态信息集合的具体方法可以是,首先确定目标报文的PAC_ID,利用该PAC_ID从每个状态存储器中确定与目标报文对应的存储单元,之后从该存储单元中获取存储的状态信息,以得到初始状态信息集合。
例如,有4个源头,该4个源头分别对应4个状态存储器,该4个状态存储器中的每个状态存储器中都有一个存储单元与目标报文的PAC_ID对应,分别存放对应的源头发送报文信息的接收状态,具体以其中一个源头1为例,源头1对应一个状态存储器1,状态存储器中包含多个存储单元,其中一个存储单元与目标报文的PAC_ID对应,用于存放源头1对应的报文信息的状态信息。
1004、第一读写装置从每个状态存储器对应的队列中确定待更改状态的第二报文信息;
第一读写装置从关联源头对应的每个状态存储器中的存储单元中获取每个第二报文信息的状态信息后,还需要判断每个状态存储器的队列中是存在有待更改状态的第二报文信息,可以包括对比队列中的操作命令中的操作地址,若存在操作地址与从状态存储器中读出的第二报文信息的状态信息一致的操作命令,且该操作命令中的操作结果与读出的第二报文信息的状态信息不一致,则确定该第二报文信息的状态待更改。
例如,第一读写装置还判断第一预置时钟周期和/或第二预置时钟周期内该第二报文信息的状态信息是否被改写,可以包括读取第一预置时钟周期内状态存储器的队列中是否存在改写第二报文信息的状态信息的第一操作命令,以及第二预置时钟周期内读写装置发出的改写第二报文信息的状态信息的第二操作命令,根据该第一操作命令与第二操作命令判断第二报文信息的状态信息是否被改写,若第一操作命令或第二操作命令中的存在指示操作对象为第二报文信息的状态信息的命令,则确定该第二报文信息在预置时钟周期内被改写。若报文处理设备内有多个读写装置,则无需所有读写装置都判断预置时钟周期内该状态信息是否被改写,避免形成逻辑错误的环路。
1005、第一读写装置根据待更改状态的第二报文信息,更新初始状态信息集合中与待更改状态的第二报文信息对应的状态信息,以得到接收状态信息集合;
第一读写装置从关联源头对应的每个状态存储器中的存储单元中获取每个第二报文信息的状态信息后,还需要判断每个状态存储器的队列中是存在有待更改状态的第二报文信息,若存在待更改状态的第二报文信息,则更新初始状态信息集合,得到接收状态信息集合。
例如,目标报文的第一报文信息与一个第二报文信息,同一时刻分别被第一源头以及关联源头发送至第一读写装置与关联读写装置,第一读写装置接收第一报文信息后,获取该第二报文信息的状态信息,从关联源头对应的关联状态存储器中的存储单元中获取该状态信息后,还需通过从关联状态存储器的队列中获取N个时钟周期内的读改写命令,通过该读改写命令更新第二报文信息的状态信息,具体可以包括,确定第二报文信息的状态信息的存储地址,获取读改写命令的操作地址,将操作与该存储地址一致的读改写命令中的操作结果作为第二报文信息的状态信息,。例如,该存储地址为0x0000,取出的结果为0,的读改写操作队列中有一个改写操作,对应的操作地址为0x0000,结果为1,那么将1作为该第二报文信息的状态信息。
1006、第一读写装置判断接收状态信息集合中的每个状态信息是否都表征对应的第二报文信息为已接收状态,若是,则执行步骤1007,若否,则执行步骤1009;
第一读写装置判断接收状态信息集合中的每个状态信息是否都表征对应的第二报文信息都已被对应的读写装置接收,若所有的第二报文信息都已被对应的读写装置接收,则执行步骤1007,若存在至少一个第二报文信息未被对应的读写装置接收,则执行步骤1009。
1007、第一读写装置触发报文处理装置处理目标报文;
若每个第二报文信息都已接收到,则第一读写装置触发报文处理装置处理根据处理信息处理目标报文,例如,删除目标报文中的其中一段数据,或将该目标报文重组等。
1008、第一读写装置将接收状态信息集合中的每个状态信息改写为未接收状态;
当第一读写装置确定每个第二报文信息都已被对应的读写装置后,清除接收状态信息集合中的状态信息,即将接收状态信息集合中的每个状态信息改写为未接收状态,状态存储器中对应目标报文的PAC_ID的存储单元可以继续被其他报文标识号相同的报文使用。
需要说明的是,本申请实施例对步骤1007与步骤1008的执行顺序,可以先执行步骤1007,也可以先执行步骤1008,还可以同时执行步骤1007与步骤1008,具体此处不作限定。
1009、第一读写装置获取第一源头对应的状态存储器;
若接收状态集合中的状态信息表征有至少一个第二报文信息的接收状态为未接收,即第二报文信息没有都已被接收到,那么读写装置获取第一源头对应的状态存储器,可以通过报文的PAC_ID的查找到第一源头对应的状态存储器中与目标报文对应的存储单元。
1010、第一读写装置将第一报文信息的接收状态修改为已接收状态。
第一源头对应的状态存储器中存储了第一报文信息的状态信息,用于标识第一报文信息的接收状态,第一读写装置在确定存在至少一个第二报文信息没有被对应的读写装置接收到后,将第一报文信息的接收状态修改为已接收状态。应理解,在第一读写装置将第一报文信息的接收状态修改为已接收状态后,可以由接收到目标报文的最后一个报文信息的读写装置触发报文处理装置处理目标报文。
在本申请实施例中,报文处理设备中可以包括至少两个读写装置,一个读写装置对应一个源头,目标报文有至少两个源头,第一读写装置接收到第一源头发送的到第一报文信息后,获取关联源头发送的至少一个第二报文信息的状态信息,该至少一个第二报文的状态信息存储于关联源头对应的每个状态存储器中,还可以根据该每个状态存储器的队列更新第二报文的状态信息。若该至少一个第二报文信息的状态信息表征该至少一个第二报文信息中的每个第二报文信息都为已接收状态,那么该第一读写装置触发报文处理装置根据处理信息处理目标报文,若该至少一个第二报文信息的状态信息表征有至少一个第二报文信息为未接收状态,那么读写装置将第一报文信息的接收状态改写为已接收状态,当目标报文的所有报文信息都被对应的读写装置接收到,那么,接收到最后一个报文信息的读写装置将触发报文处理设备处理目标报文。当报文与报文信息都已报文处理设备接收后,报文处理设备直接处理报文,无需向源头发送反馈,减少报文处理流程。
在具体应用场景中,手机内部的芯片内可以包括MCU,报文接收模块,以及报文处理设备。报文接收模块接收到报文后,将报文转发至报文处理设备,同时向MCU发送通知信息,以通知MCU接收到该报文。MCU接收到通知信息后,生成报文的修改命令,直接发送至报文处理设备。报文处理设备内有多个读写装置,读写装置1与报文接收模块对应,接收报文接收模块转发的报文,读写装置2与MCU对应,接收MCU发送的修改命令。读写装置1接收到报文后,从状态存储器2中读取修改命令的状态信息,1代表已接收,0代表未接收。若读出的状态信息为1,则代表读写装置2已接收到修改命令,读写装置1可直接出发报文处理装置处理报文。若读出的数据为0,则代表读写装置2未接收到MCU发送的修改命令,将状态存储器1中存储的报文的状态信息修改为1。读写装置2接收到MCU发送的修改命令后,读取状态存储器1中存储的报文的状态信息。若读出的状态信息为0,则读写装置2将状态存储器2中存储的修改命令的状态信息修改为1。若读写的状态信息为1,则读写装置2触发报文处理装置处理报文。可以包括修改报文中的一位或多位,或删除报文中的一位或多位等。
下面以网络处理器中一个具体地应用场景对本申请实施例提供的报文处理的方法进行详细说明。网络处理器中存在报文重组模块(RB)、MCU、报文编辑模块(PE)。首先说明报文的整体处理流程,请参阅图11,本申请实施例中报文处理方法的另一个实施例示意图,可以包括:
1101、RB接收报文;
首先RB接收一个报文,该报文可以来自于网络处理器内部,也可以来自于网络处理器外部,例如,来自于网络,服务器,终端设备等。
1102、RB重组报文;
RB具有报文重组功能,RB接收到报文后,对报文进行重组,以得到重组后的报文。
1103、RB将重组后的报文发送至PE;
RB将重组后的报文发送至PE,使PE得到重组后的报文。
1104、PE存储重组后的报文;
PE将重组后的报文存储于本地存储器内。
1105、RB向MCU发送通知信息;
RB向MCU发送通知信息,以通知MCU该报文的到来。该通知信息中还可以包括报文的相关信息,例如,报文的长度,报文的PAC_ID等,以使MCU获取后得到报文的相关信息。
需要说明的是,本申请对步骤1103与1105的执行顺序不作限定,可以先执行步骤1103,也可以先执行步骤1105,还可以同时执行步骤1103与步骤1105,具体此处不作限定。
1106、PE查看编辑命令的接收状态;
PE接收到重组后的报文后,在编辑命令对应的状态存储器中查看编辑命令的接收状态。
1107、PE将报文标记为已接收状态;
若报文的编辑命令为未接收状态,则PE将报文对应的状态存储器中存储的报文的接收状态标记为已接收状态,表示已接收到报文,若报文的编辑命令为已接收状态,PE直接处理报文。
1108、MCU生成报文编辑命令;
MCU接收到RB发送的通知信息后,获知报文的到来,以及报文的相关信息,例如,报文的长度,报文的PAC_ID等。MCU根据报文的相关信息生成编辑命令,该编辑命令可以是,删除命令(指示PE删除报文中某一段数据),增加命令(指示PE在报文中增加一段数据)等。
1109、MCU向PE发送编辑命令;
MCU生成报文的编辑命令后,将该编辑命令发送至PE,以使得PE可以根据该编辑命令处理报文。
1110、PE存储编辑命令;
PE接收到编辑命令后,将该编辑命令存储至本地存储器。
1111、PE查看报文的接收状态;
PE查看报文的接收状态,若已接收到报文,则报文的接收状态为已接收状态。
1112、PE处理报文。
若报文与报文的编辑命令都已接收到,则PE根据该编辑命令处理报文。例如,删除报文中的某一段数据,在报文中增加一段数据等。同时还清除报文的状态信息。
需要说明的是,在本申请实施例中,若先接收到报文编辑命令,后接收到报文,则PE在接收到报文编辑命令后查看报文的接收状态,若为未接收,则将编辑命令的接收状态修改为已接收状态,等待接收到报文后,再根据编辑命令处理报文。
前述对本申请实施例中报文的整体处理流程进行了说明,PE内部还可以包括多个读写装置与报文处理装置,在本申请实施例中,RB与PE内部的读写装置1对应,MCU与PE内部的读写装置2对应,由报文处理装置根据编辑命令处理报文,下面对PE内部的处理流程进行详细说明,请参阅图11,本申请实施例中报文处理方法的另一个实施例示意图,可以包括:
1201、读写装置1接收到RB发送的报文;
PE中有多个读写装置,每个读写装置对应一个SRC,RB与读写装置1对应,因此读写装置1接收RB发送的报文。
1202、读写装置1存储报文;
读写装置1接收到RB发送的报文后,将该报文存储至本地存储器中。
1203、读写装置1向状态存储器2发送读命令;
读写装置1向状态存储器2发送读命令,该读命令用于读取状态存储器2中存储的编辑命令的状态信息。状态存储器2中有多个存储单元,用于存储读写装置2接收的不同报文的报文信息的状态信息,每个存储单元可以对应一个报文的PAC_ID,用于存储该报文的报文信息,因此,该读命令中可以包含该PAC_ID,也可以包含该存储单元的存储地址。状态存储器2也可以是寄存器,存储方式与存储器类似。
1204、读写装置1获取到编辑命令的接收状态;
读写装置1向状态存储器2发送读命令后,可以获取到状态存储器2中存储的编辑命令状态信息。
1205、读写装置1向状态存储器1发送改写命令;
状态存储器1中可以包括多个存储单元,用于存储读写装置1接收的不同报文的报文信息的状态信息。读写装置1向状态存储器1发送改写命令,该改写命令用于将状态存储器1中存储的报文的状态信息改写为已接收状态。该改写命令中可以包括报文的PAC_ID或与该PAC_ID对应的存储单元的存储地址,还可以包括报文的接收标识。
1206、状态存储器1中的报文接收状态修改为已接收状态;
状态存储器1中可以包括多个存储单元,每个存储单元分别存储了不同报文的报文信息的接收状态,每个报文都对应一个不同的PAC_ID,可通过PAC_ID获取报文信息的状态信息。状态存储器1中存储的状态信息,可以取以为用于标识接收状态,可以用1标识已接收状态,可以用0标识未接收状态。
1207、读写装置2接收MCU发送的编辑命令;
读写装置2与MCU对应,MCU发送的编辑命令由读写装置2接收。
1208、读写装置2存储编辑命令;
读写装置2接收到MCU发送的编辑命令后,可以将该编辑命令存储至本地存储器中。
1209、读写装置2向状态存储器1发送读命令;
读写装置2接收到编辑命令后,向状态存储器1发送读命令,读取状态存储器1中存储的报文的状态信息。
1210、读写装置2获取到报文的接收状态;
读写装置2向状态存储器1发送读命令后,读取到状态存储器1中存储的报文的状态信息,若报文已接收到,则为已接收状态,若报文未接收到,则为未接收状态。
1211、读写装置2发起报文处理装置处理报文;
若报文的接收状态为已接收状态,则读写装置2确认已接收报文,此时,报文与编辑命令都已接收到,因此读写装置2发起报文处理装置根据编辑命令处理报文。
需要说明的是,读写装置1接收到报文后,若读取到的编辑命令的状态信息为已收到状态,则可以由读写装置1发起报文处理装置根据编辑命令处理报文。
1212、读写装置2清除状态存储器1中存储的报文的接收状态;
在读写装置2确认已接收报文时,还向状态存储器1发送回写命令,清除状态存储器1中存储的报文的状态信息。
1213、报文处理装置处理报文。
报文处理装置可以根据编辑命令处理报文,例如,删除报文中的某一段数据,在报文中增加一段数据。
在本申请实施例中,PE可以包括至少两个读写装置以及报文处理设备,目标报文可以有多个报文信息,每个报文信息对应一个读写装置。当其中一个读写装置接收到目标报文的一个第一报文信息后,该读写装置判断该目标报文的多个报文信息中除该一个第一报文信息外的报文信息的状态信息是否都为已接收状态,即该目标报文的所有报文信息是否都已接收到。若是,则读写装置可以发起报文处理设备处理该目标报文,若否,即所有报文信息不都为已接收状态,则读写装置将该第一报文信息的状态信息修改为已接收状态。当报文处理设备内的读写装置接收到该目标报文的最后一条报文信息,即该目标报文的所有报文信息除该最后一条报文信息外的其余报文信息都已接收到,则接收该最后一条报文信息的读写装置可以发起报文处理设备处理该目标报文,无需向RB或MCU发送反馈信息,减少报文处理的流程。
在具体应用场景中,RB接收到一段报文,该报文为一段数据,内容为“0001 10100110”,RB将该报文重组为“1010 0110 0001”,并将重组后的报文发送至PE。RB还通知MCU该报文的到来,将该报文的内容同时转发至MCU,MCU生成该报文的删除命令,例如,删除该报文的第4位。MCU将该删除命令发送至PE。PE内部可以包括读写装置1、状态存储器1、读写装置2、状态存储器2以及报文处理装置。读写装置1接收到报文“1010 0110 0001”,从状态存储器2中读取删除命令是否已接收到,因读写装置读取与改写状态存储器中的数据都有延迟,若改写的延迟为10个时钟周期,即改写命令可能还处于状态存储器的改写队列中,读写装置1还要从改写队列中判断10个时钟周期前状态存储器2中的删除命令的接收状态是否被改写。若读写装置1读取到删除命令的接收状态为未接收状态,则将状态存储器1中存储的报文的状态信息修改为已接收状态。若读写装置1读取到删除命令的接收状态为已接收状态,则向报文处理装置发起报文处理。读写装置2的处理流程与读写装置1的处理流程类似。若读写装置2读取到报文的接收状态为未接收状态,则将状态存储器2中存储的删除命令的状态信息修改为已接收状态。若读写装置2读取到报文的接收状态为已接收状态,则向报文处理装置发起报文处理。报文处理装置根据删除命令处理报文,处理后的报文为“1010011 0001”。
前述对本申请中的芯片系统以及报文处理方法进行了详细阐述,下面对本申请实施例中的读写装置进行具体说明,请参阅图13,本申请实施例中的读写装置的一种实施例示意图,可以包括:
接收模块1301,用于接收第一源头发送的第一报文信息,该第一源头为该至少两个源头中与该读写装置对应的一个源头,该第一报文信息包括该目标报文或者该针对目标报文的处理信息;
判断模块1302,用于判断关联源头发送的至少一个第二报文信息是否都已被接收,该关联源头为该至少两个源头中除该第一源头之外的所有源头,该至少一个第二报文信息为该报文信息中除该第一报文信息之外的信息;
触发模块1303,用于若该至少一个第二报文信息都已被接收,触发报文处理装置根据该针对目标报文的处理信息处理该目标报文。
在一些可能的设计中,该接收模块1301可以包括:
获取子模块13011,用于获取状态信息集合,该状态信息集合中的每个状态信息分别用于标识每个第二报文信息的接收状态;
确定子模块13012,用于若该每个状态信息都表征对应的该第二报文信息为已接收状态,该确定该至少一个第二报文信息都已被接收。
在一些可能的设计中,该读写装置还可以包括:
修改模块1304,用于若该至少一个第二报文信息中存在未被接收的第二报文信息,将该第一报文信息的接收状态修改为已接收状态。
在一些可能的设计中,该报文处理设备还可以包括至少两个状态存储器,该至少两个状态存储器与该至少两个源头一一对应,该接收模块1301还可以包括:更新子模块13013;
该获取子模块13011,还用于从与该关联源头对应的每个状态存储器中获取初始状态信息集合,该初始状态信息集合中包括该至少一个第二报文信息中每个第二报文信息的状态信息;
该确定子模块13012,还用于从该每个状态存储器对应的队列中确定待更改状态的第二报文信息,该待更改状态的第二报文信息为该关联源头已发送,且未在该每个状态存储器中完成状态信息修改的第二报文信息;
该更新子模块13013,用于根据该待更改状态的第二报文信息,更新该初始状态信息集合中与该待更改状态的第二报文信息对应的状态信息,以得到该接收状态信息集合。
在一些可能的设计中,该获取子模块13011,还用于获取该目标报文的报文识别号PAC_ID,该PAC_ID用于在该每个状态存储器中标识该每个状态信息;
该获取子模块13011,还用于根据该PAC_ID从该每个状态存储器中获取该至少一个第二报文信息中每个第二报文信息的接收状态,以得到该接收状态信息集合。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (12)
1.一种报文处理的方法,应用于芯片系统中,所述芯片系统包括报文处理设备,所述报文处理设备用于接收至少两个源头发送的报文信息,所述报文信息包括目标报文以及针对所述目标报文的处理信息,所述至少两个源头中的一个源头接收到所述目标报文,所述至少两个源头中除所述一个源头外的其他源头生成所述针对所述目标报文的处理信息,所述处理信息用于指示对所述目标报文的处理方式,其特征在于,所述报文处理设备包括报文处理装置以及至少两个读写装置,所述至少两个读写装置的每个读写装置与所述至少两个源头中每个源头一一对应,所述方法包括:
第一读写装置接收第一源头发送的第一报文信息,所述第一读写装置为所述至少两个读写装置中的一个,所述第一源头为所述至少两个源头中与所述第一读写装置对应的一个源头,所述第一报文信息包括所述目标报文或者所述目标报文的处理信息;
所述第一读写装置判断关联源头发送的至少一个第二报文信息是否都已被接收,所述关联源头为所述至少两个源头中除所述第一源头之外的所有源头,所述至少一个第二报文信息为所述报文信息中除所述第一报文信息之外的信息;
若所述至少一个第二报文信息都已被接收,则所述第一读写装置触发报文处理装置根据所述目标报文的处理信息处理所述目标报文。
2.根据权利要求1所述的方法,其特征在于,所述第一读写装置判断关联源头发送的至少一个第二报文信息是否都已被接收,包括:
所述第一读写装置获取接收状态信息集合,所述接收状态信息集合中的每个状态信息分别用于标识每个第二报文信息的接收状态;
若所述每个状态信息都表征对应的所述第二报文信息为已接收状态,则所述第一读写装置确定所述至少一个第二报文信息都已被接收。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述至少一个第二报文信息中存在未被接收的第二报文信息,则所述第一读写装置将所述第一报文信息的接收状态修改为已接收状态。
4.根据权利要求2或3所述的方法,其特征在于,所述报文处理设备还包括至少两个状态存储器,所述至少两个状态存储器与所述至少两个源头一一对应,所述第一读写装置获取接收状态信息集合,包括:
所述第一读写装置从与所述关联源头对应的每个状态存储器中获取初始状态信息集合,所述初始状态信息集合中包括所述至少一个第二报文信息中每个第二报文信息的状态信息;
所述第一读写装置从所述每个状态存储器对应的队列中确定待更改状态的第二报文信息,所述待更改状态的第二报文信息为所述关联源头已发送,且未在所述每个状态存储器中完成接收状态信息修改的第二报文信息;
所述第一读写装置根据所述待更改状态的第二报文信息,更新所述初始状态信息集合中与所述待更改状态的第二报文信息对应的状态信息,以得到所述接收状态信息集合。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述第一读写装置获取所述目标报文的报文识别号PAC_ID,所述PAC_ID用于在所述每个状态存储器中标识所述每个状态信息;
所述第一读写装置从与所述关联源头对应的每个状态存储器中获取初始状态信息集合,包括:
所述第一读写装置根据所述PAC_ID从所述每个状态存储器中获取所述至少一个第二报文信息中每个第二报文信息的接收状态,以得到所述接收状态信息集合。
6.一种芯片系统,其特征在于,包括:应用于终端设备,所述芯片系统包括报文处理设备,所述报文处理设备包括至少两个读写装置以及报文处理装置,所述至少两个读写装置分别与至少两个源头对应,所述至少两个源头中的一个源头接收到所述目标报文,所述至少两个源头中除所述一个源头外的其他源头生成针对所述目标报文的处理信息,所述处理信息用于指示对所述目标报文的处理方式,所述至少两个源头将报文信息分别发送至对应的读写装置,所述报文信息包括所述目标报文以及所述处理信息,其中:
第一读写装置,为所述至少两个读写装置中的其中一个,用于接收第一源头发送的第一报文信息,所述第一报文信息包括目标报文或者所述目标报文的处理信息,所述第一源头为所述至少两个源头中与所述第一读写装置对应的一个;
所述第一读写装置,还用于判断关联源头发送的至少一个第二报文信息是否都已被接收,所述关联源头为所述至少两个源头中除所述第一源头外的所有源头,所述至少一个第二报文信息为所述报文处理信息中除所述第一报文信息外的所有信息;
所述第一读写装置,还用于当所述至少一个第二报文信息都已被接收时,触发所述报文处理装置根据所述处理信息处理所在目标报文;
所述报文处理装置,用于当被所述至少两个读写装置触发时,根据所述目标报文的处理信息处理所述目标报文。
7.根据权利要求6所述的芯片系统,其特征在于,
所述第一读写装置,具体用于获取接收状态信息集合,所述接收状态信息集合中的每个状态信息分别用于标识每个第二报文信息的接收状态;
若所述每个状态信息表征对应的所述第二报文信息为已接收状态,则所述第一读写装置确定所述至少一个第二报文信息都已被接收。
8.根据权利要求7所述的芯片系统,其特征在于,
所述第一读写装置,还用于若所述至少一个第二报文信息中存在未被接收的第二报文信息,将所述第一报文信息的接收状态修改为已接收状态。
9.根据权利要求8所述的芯片系统,其特征在于,所述报文处理设备还包括:至少两个状态存储器,所述至少两个状态存储器分别与所述至少两个源头一一对应;
所述状态存储器中与所述关联源头对应的每个状态存储器,分别用于存储所述每个状态信息;
所述状态存储器中的目标状态存储器,用于存储所述目标状态信息;
所述第一读写装置,具体用于从与所述关联源头对应的每个状态存储器中获取初始状态信息集合,所述初始状态信息集合中包括所述至少一个第二报文信息中每个第二报文信息的接收状态;
从所述每个状态存储器对应的队列中确定待更改状态的第二报文信息,所述待更改状态的第二报文信息为所述关联源头已发送,且未在所述每个状态存储器中完成接收状态信息修改的第二报文信息;
根据所述待更改状态的第二报文信息,更新所述初始状态信息集合中与所述待更改状态的第二报文信息对应的状态信息,以得到所述接收状态信息集合。
10.根据权利要求9所述的芯片系统,其特征在于,
所述第一读写装置,具体用于获取所述目标报文的PAC_ID,所述PAC_ID用于在所述每个存储器中标识所述每个状态信息所在的存储单元;
根据所述PAC_ID从所述每个状态存储器中获取所述每个状态信息,以得到所述状态信息集合。
11.一种报文处理设备,其特征在于,所述报文处理设备包括至少两个读写装置与报文处理装置,所述至少两个读写装置用于执行如权利要求1-5中任一项所述第一读写装置执行的步骤,所述报文处理装置用于执行如权利要求1-5中任一项所述报文处理装置执行的步骤。
12.一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711039366.XA CN109729117B (zh) | 2017-10-30 | 2017-10-30 | 一种报文处理的方法、芯片系统以及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711039366.XA CN109729117B (zh) | 2017-10-30 | 2017-10-30 | 一种报文处理的方法、芯片系统以及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109729117A true CN109729117A (zh) | 2019-05-07 |
CN109729117B CN109729117B (zh) | 2020-10-27 |
Family
ID=66292794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711039366.XA Active CN109729117B (zh) | 2017-10-30 | 2017-10-30 | 一种报文处理的方法、芯片系统以及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109729117B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022110174A1 (zh) * | 2020-11-30 | 2022-06-02 | 华为技术有限公司 | 一种编辑报文的方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618265A (zh) * | 2014-12-30 | 2015-05-13 | 华为技术有限公司 | 一种报文转发方法和装置 |
CN105765613A (zh) * | 2013-07-10 | 2016-07-13 | 964比德科有限公司 | 用于数据处理的设备、系统和方法 |
CN106095713A (zh) * | 2016-06-06 | 2016-11-09 | 深圳市硅格半导体股份有限公司 | 报文通信方法及装置 |
CN106330519A (zh) * | 2015-07-01 | 2017-01-11 | 中兴通讯股份有限公司 | 一种网管系统间报文的通信方法及系统 |
CN106850442A (zh) * | 2013-01-29 | 2017-06-13 | 华为技术有限公司 | 报文处理方法和转发设备 |
CN107171861A (zh) * | 2017-06-29 | 2017-09-15 | 联想(北京)有限公司 | 一种信息处理方法、电子设备和计算机存储介质 |
KR101944744B1 (ko) * | 2017-10-31 | 2019-02-01 | 삼성에스디에스 주식회사 | 메시지 처리 장치 |
-
2017
- 2017-10-30 CN CN201711039366.XA patent/CN109729117B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850442A (zh) * | 2013-01-29 | 2017-06-13 | 华为技术有限公司 | 报文处理方法和转发设备 |
CN105765613A (zh) * | 2013-07-10 | 2016-07-13 | 964比德科有限公司 | 用于数据处理的设备、系统和方法 |
CN104618265A (zh) * | 2014-12-30 | 2015-05-13 | 华为技术有限公司 | 一种报文转发方法和装置 |
CN106330519A (zh) * | 2015-07-01 | 2017-01-11 | 中兴通讯股份有限公司 | 一种网管系统间报文的通信方法及系统 |
CN106095713A (zh) * | 2016-06-06 | 2016-11-09 | 深圳市硅格半导体股份有限公司 | 报文通信方法及装置 |
CN107171861A (zh) * | 2017-06-29 | 2017-09-15 | 联想(北京)有限公司 | 一种信息处理方法、电子设备和计算机存储介质 |
KR101944744B1 (ko) * | 2017-10-31 | 2019-02-01 | 삼성에스디에스 주식회사 | 메시지 처리 장치 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022110174A1 (zh) * | 2020-11-30 | 2022-06-02 | 华为技术有限公司 | 一种编辑报文的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109729117B (zh) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107911249B (zh) | 一种网络设备的命令行发送方法、装置和设备 | |
TWI670623B (zh) | 獲取設備指紋的方法及裝置 | |
KR102172903B1 (ko) | 블록체인 기술 기반 데이터 베이스 관리 시스템 | |
CN109949108A (zh) | 基于区块链的发票创建方法和装置、电子设备 | |
CN106155775A (zh) | 消息处理方法、设备及系统 | |
CN104484132B (zh) | 数据缩减的方法及装置 | |
CN104881454A (zh) | 参数的更新方法及系统 | |
CN106875262B (zh) | 用于订单处理的方法、装置和计算机可读存储介质 | |
CN104572917A (zh) | 数据锁定方法、装置及分布式存储系统 | |
CN104468330A (zh) | 分布式消息队列系统的数据处理方法和装置 | |
CN107562478A (zh) | 一种基于Web技术的移动软件开发系统及方法 | |
US9921871B2 (en) | Event processing systems and methods | |
CN109729117A (zh) | 一种报文处理的方法、芯片系统以及计算机存储介质 | |
TWI736608B (zh) | 便於支付主體擴展的方法和裝置 | |
CN104077053B (zh) | 终端信息的操作方法、装置及移动终端 | |
CN115409507A (zh) | 区块处理方法、区块处理装置、计算机设备及存储介质 | |
CN106202456B (zh) | 发送图片的方法及装置 | |
CN104714883B (zh) | 用于通过动态地分配时间戳计数器来提高跟踪阵列的效率的方法和设备 | |
CN104023056B (zh) | 更新数据的方法和相关设备 | |
CN114253920A (zh) | 一种交易重新排序方法、装置、设备及可读存储介质 | |
CN109241381A (zh) | 信息匹配方法及装置 | |
CN107038617A (zh) | 支付订单的预创建方法及装置 | |
WO2017097047A1 (zh) | 一种移动终端的无痕使用方法和移动终端 | |
CN110443560B (zh) | 一种协议数据管理方法、装置、计算机设备及存储介质 | |
CN102929657A (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 |