CN117527140A - 报文处理方法及装置、设备、计算机可读存储介质 - Google Patents
报文处理方法及装置、设备、计算机可读存储介质 Download PDFInfo
- Publication number
- CN117527140A CN117527140A CN202210902475.4A CN202210902475A CN117527140A CN 117527140 A CN117527140 A CN 117527140A CN 202210902475 A CN202210902475 A CN 202210902475A CN 117527140 A CN117527140 A CN 117527140A
- Authority
- CN
- China
- Prior art keywords
- byte length
- message
- standard
- length
- updated
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 53
- 230000003287 optical effect Effects 0.000 claims abstract description 50
- 238000001514 detection method Methods 0.000 claims abstract description 35
- 230000015654 memory Effects 0.000 claims description 23
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 17
- 238000004590 computer program Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请的实施例揭示了一种报文处理方法及装置、设备、计算机可读存储介质。该方法应用于光网络单元设备,通过接收第一报文,并获取第一报文的字节长度;检测第一报文的字节长度与标准字节长度的关系,得到检测结果;若检测结果表征第一报文的字节长度小于标准字节长度,则对标准字节长度进行实时更新,得到更新后的标准字节长度,通过减小修改标准字节长度的大小,无需在报文中添加VLAN字段,就能使报文符合光网络单元设备发送报文的条件;同时也无需等待接收到下一报文,将报文合并后再发送,避免了报文发送延迟的情况,从而可以提升报文的发送效率。
Description
技术领域
本申请涉及通信领域,具体涉及一种报文处理方法及装置、设备、计算机可读存储介质。
背景技术
ONU(Optical Network Unit,光网络单元)设备普遍只允许大于或等于标准字节长度的报文进行直接传输,若报文的字节长度小于标准字节长度,需要通过添加报文的VLAN(Virtual Local Area Networ,虚拟局域网)字段,以使报文的字节长度大于或等于标准字节长度,满足发送报文的要求。
若ONU设备接收到多个报文,并且各报文长度不一致,则无法通过固定VLAN字段将它们的字节长度统一增加至标准字节长度,并且在后续报文处理过程中需要剥离VLAN字段,致使报文处理过程繁琐,耗时较长。
另外,ONU设备接收到超短字节长度的报文时,添加VLAN的方法不一定适用,需要采用“添0补齐”的方法,并且需要遍历报文两遍才能完成操作,致使报文处理过程繁琐且耗时较长。
或者,若当前报文的字节长度小于标准字节长度,需要等待接收到下一报文,若两组报文的字节长度之和大于或等于标准字节长度,再将它们一起发送,致使报文发送延迟。
发明内容
为解决上述技术问题,本申请的实施例分别提供了一种报文处理方法及装置、设备、计算机可读存储介质,实时更新标准字节长度,以使报文符合光网络单元设备发送报文的条件。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种报文处理方法,应用于光网络单元设备,包括:接收第一报文,并获取所述第一报文的字节长度;检测所述第一报文的字节长度与标准字节长度的关系,得到检测结果;若所述检测结果表征所述第一报文的字节长度小于所述标准字节长度,则对所述标准字节长度进行更新,得到更新后的标准字节长度;其中,所述更新后的标准字节长度小于更新前的标准字节长度。
根据本申请实施例的一个方面,提供了一种报文处理装置,应用于光网络单元设备,包括:接收模块,被配置为接收第一报文,并获取所述第一报文的字节长度;检测模块,被配置为检测所述第一报文的字节长度与标准字节长度的关系,得到检测结果;处理模块,被配置为若所述检测结果表征所述第一报文的字节长度小于所述标准字节长度,则对所述标准字节长度进行更新,得到更新后的标准字节长度;其中,所述更新后的标准字节长度小于更新前的标准字节长度。
在另一实施例中,所述报文处理装置还包括:第二报文接收模块,被配置为接收第二报文,并获取所述第二报文的字节长度;第二报文检测模块,被配置为若检测到所述第二报文的字节长度大于所述更新后的标准字节长度,则对所述第二报文进行外发操作。
在另一实施例中,所述处理模块包括:第一处理单元,被配置为根据所述第一报文的字节长度更新所述标准字节长度,得到更新后的标准字节长度;或者,第二处理单元,被配置为获取指定字节长度,根据所述指定字节长度更新所述标准字节长度,得到更新后的标准字节长度。
在另一实施例中,所述第一处理单元包括:第一处理版块,被配置为用所述第一报文的字节长度替换所述标准字节长度,得到所述更新后的标准字节长度;所述第二处理单元包括:第二处理版块,被配置为将所述标准字节长度与所述指定字节长度进行求差运算,得到运算结果,并将所述运算结果作为所述更新后的标准字节长度。
在另一实施例中,所述接收模块包括:创建单元,被配置为创建报文地址指针;确定单元,被配置为通过所述报文地址指针遍历所述第一报文的字节,得到所述第一报文的字节长度。
在另一实施例中,所述确定单元包括:遍历版块,被配置为将所述报文地址指针所遍历到所述第一报文对应的第一个字节作为初始字节,并将所述报文地址指针遍历到所述第一报文对应的最后的一个字节作为末尾字节;确定版块,被配置为根据所述初始字节和所述末尾字节,得到所述第一报文的字节长度。
在另一实施例中,所述光网络单元设备包括第一存储区和第二存储区,所述第一存储区用于存储所获取到的报文的字节长度,所述第二存储区用于存储所述标准字节长度;所述检测模块包括:提取单元,被配置为从所述第一存储区中获取所述第一报文的字节长度,并从所述第二存储区中获取所述标准字节长度;检测结果单元,被配置为检测所述第一报文的字节长度与所述标准字节长度的关系,得到检测结果。
根据本申请实施例的一个方面,提供了一种电子设备,包括:控制器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述控制器执行时,以执行上述的报文处理方法。
根据本申请实施例的一个方面,还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述的报文处理方法。
根据本申请实施例的一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的方法。
在本申请的实施例所提供的技术方案中,应用于光网络单元设备,通过接收第一报文,并获取第一报文的字节长度;检测第一报文的字节长度与标准字节长度的关系,得到检测结果;若检测结果表征第一报文的字节长度小于标准字节长度,则对标准字节长度进行实时更新,得到更新后的标准字节长度,通过减小修改标准字节长度的大小,无需在报文中添加VLAN字段,就能使报文符合光网络单元设备发送报文的条件;同时也无需等待接收到下一报文,将报文合并后再发送,避免了报文发送延迟的情况,从而可以提升报文的发送效率。
应理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是现有技术中添加VLAN字段以满足光网络单元设备发送报文的条件的过程示意图;
图2是本申请涉及的一种实施环境的示意图;
图3为本申请一示例性实施例中采集第一报文的字节长度的场景示意图;
图4是本申请一示例性实施例示出的一种报文处理方法的流程图;
图5是基于图4所示实施例提出的另一报文处理方法的流程图;
图6是基于图4所示实施例提出的另一报文处理方法的流程图;
图7是基于图6所示实施例提出的另一报文处理方法的流程图;
图8是基于图4至图7任一所示实施例提出的另一报文处理方法的流程图;
图9基于图8所示实施例提出的另一报文处理方法的流程图;
图10是基于图4至图7中任一所示实施例提出的另一报文处理方法的流程图;
图11是本申请一示例性实施例示出的报文处理装置的结构示意图;
图12本申请的一示例性实施例示出的电子设备的计算机系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
请参阅图1,图1是现有技术中添加VLAN字段以满足光网络单元设备发送报文的条件的过程示意图。其中,进一步介绍了如何利用现有技术对报文进行处理,以使其满足光网络单元设备发送报文的条件,从而使光网络单元设备将其直接传送。
在工业PON(Passive Optical Network,无源光纤网络)场景中,当对接工业控制设备时,所承载业务流主要为工业协议报文,例如主流工业协议Profinet,由于其帧长不固定,且其字节长度大多为小于64字节,如图8所示的60字节为主。目前只能将小型ONU更换为中型MDU(Multiple Dwelling Unit,多用户居住单元),并如图8所示,通过添加报文的VLAN字段,即添加4个字节,将报文补齐到64字节,从而将其进行外发操作。另外,遇到超短字节长度的报文时,添加VLAN的方法也不一定适用,需要采用“添0补齐”的方法,并且需要遍历报文两遍才能完成操作,致使报文处理过程繁琐且耗时较长。
采用本申请下述各个实施例中的报文处理方法进行技术改进,具体涉及图2所示的实施环境的示意图,图2是本申请涉及的一种实施环境的示意图。其中,ONU设备包括报文地址指针210、Buffer 220(缓存区),即虚拟内存,MAC(Media Access Control,介质访问控制)寄存器230和服务器240。
在数据帧长度不符合标准的时候,即报文长度不符合标准字节长度时,不能通过MAC核,但是能够到达接收端的rgmii_rx部分。经检查,发现MAC核接收数据文件mac_rx_ctrl.v后,对接收到的数据帧进行了字节长度的判断,把不满足64字节的数据帧给过滤掉了。本申请将图2结合图3进行说明,图3为本申请一示例性实施例中采集第一报文的字节长度的场景示意图。其中,在ONU设备接收到工业业务流后,内部创建一个报文地址指针210和一个定长buffer 220,用于记录报文长度;主要分为3个步骤,第一步骤:利用报文地址指针210,确定出第一报文的字节长度;第二步骤:将第一报文的字节长度格式化后写入Buffer220中,用于与MAC寄存器230中的Min_LTU(标准字节长度)进行比较;步骤3:分别从Buffer220和MAC寄存器230中获取第一报文的字节长度和当前Min_LTU值进行大小比较,若第一报文的字节长度小于当前Min_LTU值,则更新Min_LTU值,具体调用函数change_MinLTU在MAC寄存器230中的reg_init更改允许的最小值数值为当前报文长度,在报文完成MAC寄存器230内部回环后,等待下一次的报文传输。如果下一次传输的报文的字节比当前Buffer 220中的值更小,则更新Buffer220中的数值,并替换MAC寄存器230reg_init中的值。如此以来,就完成了ONU不间断自动更新内部接收的最短报文长度,实现工业ONU不间断的报文传输。
本实施例通过MAC寄存器230可以配置LTU和MTU大小,通过函数change_MinLTU替换MAC寄存器230reg_init中的值,以实现更新最小允许通过的报文字节长度,该函数自动触发的条件是下一组的报文字节长度小于当前Min LTU的数值。例如,MAC寄存器230作为第一MAC寄存器,为了使第二MAC寄存器能接收到长度为40的数据帧,进行了如下修改:payload=40-4=36,由于接收控制的最小帧长信号是在寄存器组里配置,所以需要在reg_init中更改。修改完之后,第二MAC寄存器就能接收到40字节的以太网帧了。
报文地址指针210对第一报文进行遍历,并记录得到第一报文的字节长度,将其格式化后存储于Buffer 220中,MAC寄存器230中存储有当前最小值Min_LTU,即标准字节长度。其中,Buffer 220所占用的内存空间较小,不会影响报文处理的过程的正常运行。
在后续报文处理过程中,服务器240通过调用函数自动调取MAC寄存器230中存储的Min_LTU值与Buffer 220中第一报文的字节长度格式化后的数值进行实时大小比对,若第一报文的字节长度格式化后的数值小于当前MAC寄存器230中存储的Min_LTU值,则利用第一报文的字节长度格式化后的数值更新MAC寄存器中当前的Min_LTU值,从而对MAC寄存器230中的Min_LTU值进行实时更新,即对标准字节长度进行实时更新。
本实施例通过将报文地址指针遍历得到的第一报文的字节长度格式化后,存储于Buffer中,服务器分别从Buffer和MAC寄存器中获取第一报文的字节长度和标准字节长度的相关数值进行比较,将小于标准字节长度的第一报文的字节长度作为新的标准字节长度,从而实时地对标准字节长度进行更新,以使报文符合ONU发送报文的条件。本实施例仅需利用报文地址指针对第一报文进行一次遍历,无需采用“添0补齐”的方式,对第一报文进行两次遍历,以完成字节长度的补齐操作;同时,本申请在不需要更换ONU类型的前提下,基于C语言指针的主动识别,解决短报文的不同工业协议在ONU中不能直接传输的技术问题,因为无需用MDU替换小型ONU,从而节省了设备成本;另外,在本实施例中的报文处理过程中,消耗内存空间小,只需通过C语言的malloc函数分配的一个不定长的Buffer,用以存储第一报文的字节长度,不会占用过多的内存空间。
如上所述,现有技术一般是针对报文进行相关的技术改进,从而使得报文符合ONU外发报文的条件,但存在上述诸多弊端,本申请一示例性实施例示出了一种报文处理方法,实时更新标准字节长度,以使报文符合光网络单元设备发送报文的条件。
具体请参阅图4,图4是本申请一示例性实施例示出的一种报文处理方法的流程图。如图4所示,该方法应用于光网络单元设备,至少包括S410至S430,详细介绍如下:
S410:接收第一报文,并获取第一报文的字节长度。
第一报文可以默认为初始报文,即光网络单元设备接收到的初始报文;其不一定是真正意义上的初始报文,可以是开始进行本申请报文处理方法时,光网络单元设备接收到的第一个报文,默认为初始报文。
字节长度可以是报文字节的多少或者大小等,例如64字节的报文表示其报文的长度为64,或者表示报文的自己大小为64,或者报文的字节数量为64。
S420:检测第一报文的字节长度与标准字节长度的关系,得到检测结果。
标准字节长度是预设的字节长度,例如标准字节长度为64,则光网络单元设备允许发送的报文的字节长度需要大于64,即只有报文的字节长度大于64,光网络单元设备才会发送该报文。
本实施例可以通过检测第一报文的字节长度与标准字节长度的大小关系、或数量关系等,判断第一报文的字节长度与标准字节长度之间的关系,从而得到相应的检测结果。
S430:若检测结果表征第一报文的字节长度小于标准字节长度,则对标准字节长度进行更新,得到更新后的标准字节长度;其中,更新后的标准字节长度小于更新前的标准字节长度。
若第一报文的字节长度小于标准字节长度,则光网络单元设备无法将字节长度小于标准字节长度的第一报文进行直接发送,对标准字节长度进行更新,修改标准字节长度,即通过修改光网络单元设备发送报文的条件,以使报文满足光网络单元设备发送报文的条件,以使光网络单元设备将报文外发。
更新后的标准字节长度减小了字节长度,例如更新前的标准字节长度为128,更新后的标准字节长度必定是小于128的,例如更新后的标准字节长度为64。
本实施例通过光网络单元设备接收第一报文,并获取第一报文的字节长度;检测第一报文的字节长度与标准字节长度的关系,得到检测结果;若检测结果表征第一报文的字节长度小于标准字节长度,则对标准字节长度进行实时更新,得到更新后的标准字节长度,通过减小修改标准字节长度的大小,无需在报文中添加VLAN字段,就能使报文符合光网络单元设备发送报文的条件;同时也无需等待接收到下一报文,将报文合并后再发送,避免了报文发送延迟的情况,从而可以提升报文的发送效率。
请参阅图5,图5是基于图4所示实施例提出的另一报文处理方法的流程图。其阐明了更新标准字节长度后,下一报文需经过ONU设备怎样的处理才能进行外发操作。如图5所示,该方法在图4所示S430之后还包括S510至S520,详细介绍如下:
S510:接收第二报文,并获取第二报文的字节长度。
第二报文是光网络单元设备接收到的报文,光网络单元设备接收第二报文的时刻晚于接收第一报文的时刻,即光网络单元设备接收第一报文后,才接收到第二报文。同理,通过获取第二报文的字节长度与更新后的标准字节长度进行比较。
S520:若检测到第二报文的字节长度大于更新后的标准字节长度,则对第二报文进行外发操作。
通过比较第二报文的字节长度与更新后的标准字节长度的大小关系,确定光网络单元设备是否能将其进行外发操作。
示例性地,更新后的标准字节长度为40,第二报文的字节长度为46,即第二报文的字节长度大于更新后的标准字节长度,光网络单元设备对第二报文进行外发操作。
本实施例以更新后的标准字节长度作为是否能直接发送第二报文的判断条件,若第二报文的字节长度大于更新后的标准字节长度,光网络单元设备直接对第二报文进行外发操作。更新标准字节长度后,无需繁琐的判断和操作,就能及时的发送第二报文,即更新标准字节长度后,以使光网络单元设备接收到的字节长度小于更新前的标准字节长度且大于更新后的标准字节长度的第二报文,快速通过光网络单元设备检测,及时将其外发。
如何对标准字节长度进行更新,是本领域技术人员无法知晓的,请参阅图6,图6是基于图4所示实施例提出的另一报文处理方法的流程图,其具体阐明了如何对标准字节长度进行更新,得到更新后的标准字节长度。该方法在图4所示S430中还包括S610或者S620,下面进行详细介绍:
S610:根据第一报文的字节长度更新标准字节长度,得到更新后的标准字节长度。
本实施例阐明了两种更新标准字节长度的方式,在本步骤中,将第一报文的字节长度作为更新后的标准字节长度,示例性地,第一报文字节长度为40,标准字节长度为64,则将标准字节长度更新为第一报文字节长度,即更新后的标准字节长度为40;或将标准字节长度更新为0.8倍的第一报文字节长度,即更新后的标准字节长度为32。
S620:获取指定字节长度,根据指定字节长度更新标准字节长度,得到更新后的标准字节长度。
本实施例的第二种更新标准字节长度的方式则是利用指定字节长度对其进行更新,指定字节长度是固定的字节长度,例如10字节长度、20字节长度、30字节长度等。示例性地,获取到指定字节长度为10,标准字节长度为64,将3-6倍的指定字节长度作为更新后的标准字节长度,即更新后的字节长度为30、40、50、60中的一个。
本实施例进一步阐明了如何对标准字节长度进行更新,本实施例通过根据第一报文的字节长度更新标准字节长度,或根据指定字节长度更新标准字节长度,以使标准字节长度得到实时更新,确保报文符合光网络单元设备发送报文的条件,及时发送符合条件的报文。
在另一示例性实施例中,进一步限定了如何对标准字节长度进行更新,请参阅图7,图7是基于图6所示实施例提出的另一报文处理方法的流程图。该方法在如图6所示的S610中包括S710,S620中包括S720,下面进行详细介绍:
S710:用第一报文的字节长度替换标准字节长度,得到更新后的标准字节长度。
本步骤进一步限定了根据第一报文的字节长度更新标准字节长度的方式,即将第一报文的字节长度替换标准字节长度,得到更新后的标准字节长度。示例性地,第一报文字节长度为50,标准字节长度为64,则将标准字节长度更新为第一报文字节长度,即更新后的标准字节长度为50。
S720:将标准字节长度与指定字节长度进行求差运算,得到运算结果,并将运算结果作为更新后的标准字节长度。
本实施例进一步限定了利用指定字节长度对标准字节长度进行更新的方式,即将标准字节长度减去指定字节长度,并将得到的差值作为更新后的标准字节长度。示例性地,指定字节长度为20字节长度。更新前的标准字节长度为64,将标准字节长度减去指定字节长度的差值作为更新后的标准字节长度的值,即差值为64-20=44,更新后的字节长度为44。
如何获得第一报文的字节长度也是本领域技术人员亟需解决的技术问题,若进行人工记录,可能会造成数据不准确,且需花费大量人工。请参阅图8,图8是基于图4至图7中任一所示实施例提出的另一报文处理方法的流程图。该方法S410中包括S810至S820,下面进行详细介绍:
S810:创建报文地址指针。
报文地址指针是具有遍历报文功能的指针,报文地址指针能指向一个地址,即变量的内存地址,其里面的值是一个地址值。
S820:通过报文地址指针遍历第一报文的字节,得到第一报文的字节长度。
在遍历过程中,能够记录得到第一报文的字节长度,并需要将第一报文的字节长度存储至一个虚拟内存中。
本实施例说明如何获取第一报文的字节长度,利用构建报文地址指针对第一报文进行遍历,在遍历过程中记录第一报文的字节长度,用于后续的检测比较。通过报文地址指针能自动的对接收到的报文进行快速遍历,并能快速获得报文的字节长度,加快了后续报文处理过程的进度。
基于图8所示的实施例,本领域技术人员难以知晓如何利用报文地址指针准确获得第一报文的字节长度,在本申请另一示例性实施例中,提出了另一报文处理方法,具体请参阅图9,图9基于图8所示实施例提出的另一报文处理方法的流程图。该方法在如图8所示的S820中包括S910至S920,下面进行详细介绍:
S910:将报文地址指针所遍历到第一报文对应的第一个字节作为初始字节,并将报文地址指针遍历到第一报文对应的最后的一个字节作为末尾字节。
报文地址指针对第一报文进行遍历,其遍历到的第一个字节为初始字节,其最后遍历到的字节为末尾字节。
S920:根据初始字节和末尾字节,得到第一报文的字节长度。
报文地址指针每遍历到第一报文的一个字节,则第一报文的字节数量增加一次。示例性的,初始字节对应的第一报文的字节为10,后续每遍历到一个字节,第一报文的字节数量增加1,遍历到末尾字节时,第一报文的字节对应为19,则第一报文的字节长度为19-10=9。
本实施例进一步限定了根据初始字节和末尾字节,得到第一报文的字节长度。通过报文地址指针在遍历第一报文的过程中,快速准确地确定出第一报文的初始字节和末尾字节,并根据初始字节和末尾字节,方便准确地得到第一报文的字节长度。
现有技术中一般获取到第一报文的字节长度后不对其进行记录保存,即不将其进行缓存,或者,采用固定容量的数据库存储诸如第一报文的字节长度的数据,需要占用ONU设备的内存空间,若光网络单元设备同时需要处理多个报文,其所需内存空间较多,因数据库占有了不可忽略的内存空间,从而可能会影响光网络单元设备处理报文的进程。
因此,本申请一示例性实施例中提出了另一报文处理方法,具体请参阅图10,图10是基于图4至图7中任一所示实施例提出的另一报文处理方法的流程图。其中,光网络单元设备包括第一存储区和第二存储区,第一存储区用于存储所获取到的报文的字节长度,第二存储区用于存储标准字节长度;该方法在S420中包括S1010至S1020,下面进行详细介绍:
S1010:从第一存储区中获取第一报文的字节长度,并从第二存储区中获取标准字节长度。
第一存储区存储报文的字节长度,例如,报文地址指针在遍历第一报文的过程中,若每遍历到一个字节,则增加第一存储区内的第一报文的字节长度,即第一存储区用于实时存放第一报文的字节长度。另外,第一存储区可以是光网络单元设备的临时buffer,其消耗的内存空间较小,可通过C语言的malloc函数进行分配得到,无需占用过多的内存资源,以保证整个光网络单元设备的报文处理过程中所需内存资源充足。
第二存储区可以是光网络单元设备中的MAC寄存器,其存储有发送报文条件对应的标准字节长度。
S1020:检测第一报文的字节长度与标准字节长度的关系,得到检测结果。
示例性性地,检测第一报文的字节长度与标准字节长度的大小关系,得到第一报文长度大于或等于标准字节长度的检测结果,以及第一报文长度小于标准字节长度的检测结果。
本实施例进一步说明了利用第一存储区对报文字节长度进行实时存储,标准字节长度存储于第二存储区,方便后续获取第一报文的字节长度和标准字节长度,便于后续将两者进行大小比较。
本申请的另一方面还提供了一种报文处理装置,如图11所示,图11是本申请一示例性实施例示出的报文处理装置的结构示意图。其中,报文处理装置应用于光网络单元设备,包括:
接收模块1110,被配置为接收第一报文,并获取第一报文的字节长度。
检测模块1130,被配置为检测第一报文的字节长度与标准字节长度的关系,得到检测结果。
处理模块1150,被配置为若检测结果表征第一报文的字节长度小于标准字节长度,则对标准字节长度进行更新,得到更新后的标准字节长度;其中,更新后的标准字节长度小于更新前的标准字节长度。
在另一实施例中,报文处理装置还包括:
第二报文接收模块,被配置为接收第二报文,并获取第二报文的字节长度。
第二报文检测模块,被配置为若检测到第二报文的字节长度大于更新后的标准字节长度,则对第二报文进行外发操作。
在另一实施例中,处理模块1150包括:
第一处理单元,被配置为根据第一报文的字节长度更新标准字节长度,得到更新后的标准字节长度。
或者,
第二处理单元,被配置为获取指定字节长度,根据指定字节长度更新标准字节长度,得到更新后的标准字节长度。
在另一实施例中,第一处理单元包括:第一处理版块,被配置为用第一报文的字节长度替换标准字节长度,得到更新后的标准字节长度。
第二处理单元包括:第二处理版块,被配置为将标准字节长度与指定字节长度进行求差运算,得到运算结果,并将运算结果作为更新后的标准字节长度。
在另一实施例中,接收模块1110包括:
创建单元,被配置为创建报文地址指针。
确定单元,被配置为通过报文地址指针遍历第一报文的字节,得到第一报文的字节长度。
在另一实施例中,确定单元包括:
遍历版块,被配置为将报文地址指针所遍历到第一报文对应的第一个字节作为初始字节,并将报文地址指针遍历到第一报文对应的最后的一个字节作为末尾字节。
确定版块,被配置为根据初始字节和末尾字节,得到第一报文的字节长度。
在另一实施例中,光网络单元设备包括第一存储区和第二存储区,第一存储区用于存储所获取到的报文的字节长度,第二存储区用于存储标准字节长度;检测模块1130包括:
提取单元,被配置为从第一存储区中获取第一报文的字节长度,并从第二存储区中获取标准字节长度。
检测结果单元,被配置为检测第一报文的字节长度与标准字节长度的关系,得到检测结果。
需要说明的是,上述实施例所提供的报文处理装置与前述实施例所提供的报文处理方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,这里不再赘述。
本申请的另一方面还提供了一种电子设备,包括:控制器;存储器,用于存储一个或多个程序,当一个或多个程序被控制器执行时,以执行上述的报文处理方法。
请参阅图12,图12是本申请的一示例性实施例示出的电子设备的计算机系统的结构示意图,其示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图12示出的电子设备的计算机系统1200仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图12所示,计算机系统1200包括中央处理单元(Central Processing Unit,CPU)1201,其可以根据存储在只读存储器(Read-Only Memory,ROM)1202中的程序或者从存储部分1208加载到随机访问存储器(Random Access Memory,RAM)1203中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 1203中,还存储有系统操作所需的各种程序和数据。CPU 1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(Input/Output,I/O)接口1205也连接至总线1204。
以下部件连接至I/O接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(CPU)1201执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不相同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前的报文处理方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的报文处理方法。
根据本申请实施例的一个方面,还提供了一种计算机系统,包括中央处理单元(Central Processing Unit,CPU),其可以根据存储在只读存储器(Read-Only Memory,ROM)中的程序或者从存储部分加载到随机访问存储器(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM中,还存储有系统操作所需的各种程序和数据。CPU、ROM以及RAM通过总线彼此相连。输入/输出(Input/Output,I/O)接口也连接至总线。
以下部件连接至I/O接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。
Claims (10)
1.一种报文处理方法,其特征在于,应用于光网络单元设备,包括:
接收第一报文,并获取所述第一报文的字节长度;
检测所述第一报文的字节长度与标准字节长度的关系,得到检测结果;
若所述检测结果表征所述第一报文的字节长度小于所述标准字节长度,则对所述标准字节长度进行更新,得到更新后的标准字节长度;其中,所述更新后的标准字节长度小于更新前的标准字节长度。
2.根据权利要求1所述的方法,其特征在于,在所述对所述标准字节长度进行更新,得到更新后的标准字节长度之后,所述方法还包括:
接收第二报文,并获取所述第二报文的字节长度;
若检测到所述第二报文的字节长度大于所述更新后的标准字节长度,则对所述第二报文进行外发操作。
3.根据权利要求1所述的方法,其特征在于,所述对所述标准字节长度进行更新,得到更新后的标准字节长度,包括:
根据所述第一报文的字节长度更新所述标准字节长度,得到更新后的标准字节长度;
或者,
获取指定字节长度,根据所述指定字节长度更新所述标准字节长度,得到更新后的标准字节长度。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一报文的字节长度更新所述标准字节长度,得到更新后的标准字节长度,包括:
用所述第一报文的字节长度替换所述标准字节长度,得到所述更新后的标准字节长度;
所述根据所述指定字节长度更新所述标准字节长度,得到更新后的标准字节长度,包括:
将所述标准字节长度与所述指定字节长度进行求差运算,得到运算结果,并将所述运算结果作为所述更新后的标准字节长度。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述获取所述第一报文的字节长度,包括:
创建报文地址指针;
通过所述报文地址指针遍历所述第一报文的字节,得到所述第一报文的字节长度。
6.根据权利要求5所述的方法,其特征在于,所述通过所述报文地址指针遍历所述第一报文的字节,得到所述第一报文的字节长度,包括:
将所述报文地址指针所遍历到所述第一报文对应的第一个字节作为初始字节,并将所述报文地址指针遍历到所述第一报文对应的最后的一个字节作为末尾字节;
根据所述初始字节和所述末尾字节,得到所述第一报文的字节长度。
7.根据权利要求1至4中任一项所述的方法,其特征在于,所述光网络单元设备包括第一存储区和第二存储区,所述第一存储区用于存储所获取到的报文的字节长度,所述第二存储区用于存储所述标准字节长度;所述检测所述第一报文的字节长度与标准字节长度的关系,得到检测结果,包括:
从所述第一存储区中获取所述第一报文的字节长度,并从所述第二存储区中获取所述标准字节长度;
检测所述第一报文的字节长度与所述标准字节长度的关系,得到检测结果。
8.一种报文处理装置,其特征在于,应用于光网络单元设备,包括:
接收模块,被配置为接收第一报文,并获取所述第一报文的字节长度;
检测模块,被配置为检测所述第一报文的字节长度与标准字节长度的关系,得到检测结果;
处理模块,被配置为若所述检测结果表征所述第一报文的字节长度小于所述标准字节长度,则对所述标准字节长度进行更新,得到更新后的标准字节长度;其中,所述更新后的标准字节长度小于更新前的标准字节长度。
9.一种电子设备,其特征在于,包括:
控制器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述控制器执行时,使得所述控制器实现如权利要求1至7中任一项所述的报文处理方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1至7中任一项所述的报文处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210902475.4A CN117527140A (zh) | 2022-07-28 | 2022-07-28 | 报文处理方法及装置、设备、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210902475.4A CN117527140A (zh) | 2022-07-28 | 2022-07-28 | 报文处理方法及装置、设备、计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117527140A true CN117527140A (zh) | 2024-02-06 |
Family
ID=89755499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210902475.4A Pending CN117527140A (zh) | 2022-07-28 | 2022-07-28 | 报文处理方法及装置、设备、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117527140A (zh) |
-
2022
- 2022-07-28 CN CN202210902475.4A patent/CN117527140A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7831711B2 (en) | Method and apparatus for packet analysis in a network | |
KR101745456B1 (ko) | HiL 시뮬레이션 환경에서 대용량 데이터를 전송하기 위한 전자제어 장치, 이를 포함하는 시스템 및 그 방법 | |
US6697366B1 (en) | Ethernet memory management system and methods for operation thereof | |
CN112039796B (zh) | 数据包传输方法和装置、存储介质和电子设备 | |
CN110719215B (zh) | 虚拟网络的流信息采集方法及装置 | |
CN108616402B (zh) | 一种远端设备的管理方法及系统 | |
EP2985968A1 (en) | Method and apparatus for processing messages | |
US7840655B2 (en) | Address resolution protocol change enabling load-balancing for TCP-DCR implementations | |
CN113709810B (zh) | 一种网络服务质量的配置方法、设备和介质 | |
CN111382115B (zh) | 一种用于片上网络的路径创建方法、装置及电子设备 | |
CN112416632B (zh) | 事件通信方法、装置、电子设备和计算机可读介质 | |
CN111953568A (zh) | 丢包信息管理方法与装置 | |
CN113595927A (zh) | 一种旁路模式下镜像流量的处理方法和装置 | |
CN111064788A (zh) | 信号传输方法、机器人及计算机可读存储介质 | |
CN112422485A (zh) | 一种传输控制协议的通信方法及装置 | |
CN107666401A (zh) | 一种配置信息获取方法及终端 | |
WO2024103716A1 (zh) | 一种链路中子网管理的方法、装置、设备及可读介质 | |
CN113783913A (zh) | 一种消息推送管理方法和装置 | |
CN115580497B (zh) | 容器环境下数据传输控制方法、设备及存储介质 | |
CN117527140A (zh) | 报文处理方法及装置、设备、计算机可读存储介质 | |
CN111786859A (zh) | 丢包检测方法、装置及存储介质 | |
WO2020220987A1 (zh) | 数据包传输、管理方法、装置及数据转发设备、存储介质 | |
CN113381928A (zh) | 网关请求链的管理方法、装置、电子设备及计算机介质 | |
US9674282B2 (en) | Synchronizing SLM statuses of a plurality of appliances in a cluster | |
JPS6393235A (ja) | アドレス変換機能付きバスアダプタ |
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 |