CN101854276B - 一种检测报文量的方法、装置和系统 - Google Patents
一种检测报文量的方法、装置和系统 Download PDFInfo
- Publication number
- CN101854276B CN101854276B CN201010188446.3A CN201010188446A CN101854276B CN 101854276 B CN101854276 B CN 101854276B CN 201010188446 A CN201010188446 A CN 201010188446A CN 101854276 B CN101854276 B CN 101854276B
- Authority
- CN
- China
- Prior art keywords
- business
- message
- accessing points
- external equipment
- service identification
- 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.)
- Expired - Fee Related
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明实施例涉及数据通信领域技术,特别涉及一种检测报文量的方法、装置和系统,该方法包括:处理报文时,对处理报文的业务对应的业务标识位进行标识;选择访问点,通过所述访问点访问的外部设备的数量小于访问量上限;通过所述访问点,根据所述业务标识位的标识,在所述业务对应的外部设备的计数地址对应的存储空间中进行计数。通过本发明实施例提供的方法、装置和系统,在访问点空闲时进行计数操作,有效的避免需要访问的外部设备超出I/O访问点能够访问的范围,这样在业务正常进行的情况下,较好的实现检测报文量的计数功能。
Description
技术领域
本发明涉及数据通信技术领域,特别涉及一种检测报文量的方法、装置和系统。
背景技术
网络处理器接收报文后,该报文一般要经过多个业务处理过程,为了跟踪报文处理过程以便调试,当接收后的报文被发送到某个业务进行处理时,网络处理器通过I/O(In/Out,输入输出)访问点对该业务对应的外部设备中计数地址对应的存储空间内保存的报文量数据进行数值更改,以表示该报文已经过该业务的处理。
比如,当报文进入URPF(Unicast Reverse Path Forwarding,单播逆向路径转发)业务进行处理时,通过I/O访问点读取该业务对应的外部设备中计数地址对应的存储空间内保存的数据,然后对该数据进行数值+1处理,最后再写入到计数地址对应的存储空间内。
网络处理器只能通过I/O访问点访问外部设备,但是每个I/O访问点同时能够访问的外部设备个数是有限的。
按照现有的计数方式,正常的业务处理需要访问外部设备,对报文进行计数操作也需要访问外部设备,两者同时进行时,很有可能导致需要访问的外部设备超出I/O访问点能够访问的范围,从而影响业务处理的效果,并且增加了对业务处理的编码难度,降低了业务处理的性能。
发明内容
本发明实施例提供了一种检测报文量的方法、装置和系统,可以有效的避免需要访问的外部设备超出I/O访问点能够访问的范围,进而在不影响业务处理效果的情况下,较好的实现检测报文量的计数功能。
本发明实施例提供了一种检测报文量的方法,该方法包括:
处理报文时,对处理报文的业务对应的业务标识位进行标识;
从网络处理器的I/O访问点组中选择访问点,通过所述访问点访问的具有存储功能的外部设备的数量小于访问量上限值;
通过所述访问点,根据所述业务标识位的标识,在所述业务对应的所述外部设备的计数地址对应的存储空间中进行计数。
本发明实施例提供了一种检测报文量的装置,包括:
标识模块,用于处理报文时,对处理报文的业务对应的业务标识位进行标识;
选择模块,用于从网络处理器的I/O访问点组中选择访问点,通过所述访问点访问的具有存储功能的外部设备的数量小于访问量上限值;
处理模块,用于通过所述访问点,根据所述业务标识位的标识,在所述业务对应的所述外部设备的计数地址对应的存储空间中进行计数。
本发明实施例提供了一种检测报文量的系统,包括:网络处理器和存储报文量数据的外部设备;
所述网络处理器,用于处理报文时,对处理报文的业务对应的业务标识位进行标识;从所述网络处理器的I/O访问点组中选择访问点,通过所述访问点访问的具有存储功能的外部设备的数量小于访问量上限值;通过所述访问点,根据所述业务标识位的标识,在所述业务对应的所述外部设备的计数地址对应的存储空间中进行计数。
本发明实施例提供的检测报文量的方法、装置和系统,用于处理报文时,处理报文时,对处理报文的业务对应的业务标识位进行标识;从所述网络处理器的I/O访问点组中选择访问点,通过所述访问点访问的具有存储功能的外部设备的数量小于访问量上限值;通过所述访问点,根据所述业务标识位的标识,在所述业务对应的所述外部设备的计数地址对应的存储空间中进行计数。本发明实施例提供的检测报文量的方法、装置和系统,在访问点空闲时进行计数操作,有效的避免需要访问的外部设备超出I/O访问点能够访问的范围,这样在业务正常进行的情况下,较好的实现检测报文量的计数功能。
附图说明
图1为本发明实施例中检测报文量的方法流程示意图;
图2为本发明另一实施例中检测报文量的方法流程示意图;
图3为本发明实施例中检测报文量的装置结构示意图;
图4为本发明实施例中检测报文量的系统结构示意图。
具体实施方式
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。
网络处理器接收到报文后,对该报文进行处理,其处理过程需要经过多个业务流程,为了跟踪报文处理过程以便调试,可以通过访问点更改相应业务的报文量数据,通过报文量数据的数值表示报文已经过该业务的处理,例如对数值进行加一操作。其中,业务的报文量数据一般保存在寄存器等具有存储功能的外部设备的计数地址对应的存储空间中。
然而,通过访问点同时访问的外部设备的数量是有限的,若每个访问点可以同时访问2个外部设备,业务处理报文时需要访问2次外部设备,实现计数操作时需要访问1次外部设备,这样就导致一个访问点需要同时访问的外部设备数量超出访问点能够访问的数量的上限。
针对此问题,如图1所示,本发明实施例提供了一种检测报文量的方法,该方法包括以下步骤:
步骤101、处理报文时,对处理报文的业务对应的业务标识位进行标识;
具体的,处理报文前,将处理报文的业务对应的业务标识位中的数值初始化为0;处理报文时,将处理报文的业务对应的业务标识位中的数值置为1;检测到业务标识位中的数值不为0时,确定业务标识位中的数值与初始化后的数值相比已更改,进而确定报文已被处理。
步骤102、选择访问点,通过所述访问点访问的外部设备的数量小于访问量上限;
具体的,获取通过访问点正在访问的外部设备的数量,将该数量与预置的上限值进行比较,若数量小于所述预置的上限值,选择所述访问点作为访问外部设备的访问点。例如,访问点的访问量上限为3,即可以同时访问3个外部设备,通过访问点正在访问的外部设备的数量为2,则可以通过该访问点访问外部设备。当然,在选择访问点时也可以根据用户预先设置的相关配置参数来确定。
除此之外,还需要通过检测业务标识位判断是否需要访问外部设备进行计数操作。该业务标识位可以在业务对应的代码文件中进行定义或修改,并保存在网络处理器内具有存储功能的区域。检测业务标识位时可以依次检测处理报文的各个业务对应的业务标识位,或随机进行检测,
步骤103、通过所述访问点,根据所述业务标识位的标识,在所述业务对应的外部设备的计数地址对应的存储空间中进行计数。
具体的,检测到业务标识位中的数值不为0时,确定业务标识位中的数值与初始化后的数值相比已更改,其中,业务标识位中的数值在报文进入业务进行处理前,被初始化为0,在报文被所述业务处理时,被置为1。该业务标识位中的数值的更改意味着该报文经过了此业务的处理。然后,通过访问点获取该业务在外部设备的计数地址,读取计数地址对应的存储空间中存储的报文量数据,并对报文量数据进行加一操作,将更改后的报文量数据再写入计数地址对应的存储空间内。其中,获取该业务在外部设备的计数地址的过程可以为:获取该业务标识对应的业务,根据该业务获取所述业务在外部设备的计数地址;或者根据该业务标识与所述计数地址的直接映射关系,获取该计数地址。而且,一个业务对应一个计数地址,多个业务对应的各个技术地址可以位于一个外部设备中,也可以位于不同的外部设备中。在进行计数操作时,可以实时计数,也可以定时批量计数。
通过外部设备中计数地址对应的存储空间内存储的报文量数据可以检测报文是否经过某个业务的处理。需要说明的是,当通过访问点正在访问的外部设备的数量已达到访问点的访问量上限时,可以依次检测下一个访问点的访问量情况,或者同时检测多个访问点的访问量情况,选择检测该多个访问点时,可以按照用户设定的规则进行选择,或者随机进行选择。由于本领域的普通技术人员通过现有技术能够实现该访问点的选择,在此不再赘述。而且可以先检测处理报文的业务对应的业务标识位,再检测通过访问点正在访问的外部设备的数量是否小于该访问点的访问量上限。
从以上的描述中,可以看出通过本发明实施例提供的方法,在访问点空闲时进行计数操作,有效的避免需要访问的外部设备超出I/O访问点能够访问的范围,这样在业务正常进行的情况下,较好的实现检测报文量的计数功能。
下面通过另一实施例对本发明提供的一种检测报文量的方法进行详细说明,如图2所示,该方法包括以下步骤:
步骤201、选择访问点,获取通过该访问点正在访问的外部设备的数量;选择访问点时,可以按照访问点的位置顺序依次选择,也可以按照预定的规则进行选择,或随机选择。
步骤202、判断该访问点是否达到访问上限;具体的,将通过该访问点正在访问的外部设备的数量与该访问点的访问上限作比较,若小于访问上限,则说明可以通过该访问点访问外部设备,执行步骤203;否则,返回步骤201选择另一个访问点。
当然,在选择访问点时也可以根据用户预先设置的相关配置参数来确定。
步骤203、检测处理报文的业务对应的业务标识位中的数值是否更改;若已更改,执行步骤204,否则,无动作。
具体的,该业务标识位可以在业务对应的代码文件中进行定义或修改,并保存在网络处理器内具有存储功能的区域。检测到业务标识位中的数值不为0时,确定业务标识位中的数值与初始化后的数值相比已更改。其中,业务标识位中的数值在报文进入业务进行处理前,被初始化为0,在报文被所述业务处理时,被置为1。检测业务标识位时可以依次检测处理报文的各个业务对应的业务标识位,或随机进行检测。
上述步骤在实际执行时,可以先检测处理报文的业务对应的业务标识位中的数值是否更改,再检测通过访问点正在访问的外部设备的数量是否小于该访问点的访问量上限。
步骤204、通过该访问点读取该业务在外部设备的计数地址对应的存储空间中存储的报文量数据;
具体的,获取该业务在外部设备的计数地址的过程可以为:获取该业务标识对应的业务,根据该业务获取所述业务在外部设备的计数地址;或者根据该业务标识与所述计数地址的直接映射关系,获取该计数地址。然后,读取该计数地址对应的存储空间内中存储的报文量数据。
步骤205、对读取的报文量数据进行计算处理;具体的,可以对该报文量数据进行加一操作,或者其他可以达到计数效果的计算操作。
步骤206、将计算处理后的报文量数据写入计数地址对应的存储空间内。具体的,写入该计算处理后的报文量数据时可以覆盖原报文量数据,也可以不覆盖原报文量数据。
通过外部设备中计数地址对应的存储空间内存储的报文量数据可以检测报文是否经过某个业务的处理。需要说明的是,当通过访问点正在访问的外部设备的数量已达到访问点的访问量上限时,可以依次检测下一个访问点的访问量情况,或者同时检测多个访问点的访问量情况,选择检测该多个访问点时,可以按照用户设定的规则进行选择,或者随机进行选择。由于本领域的普通技术人员通过现有技术能够实现该访问点的选择,在此不再赘述。而且,一个业务对应一个计数地址,多个业务对应的各个技术地址可以位于一个外部设备中,也可以位于不同的外部设备中。在进行计数操作时,可以实时计数,也可以定时批量计数。
从以上的描述中,可以看出通过本发明实施例提供的方法,在访问点空闲时进行计数操作,有效的避免需要访问的外部设备超出I/O访问点能够访问的范围,这样在业务正常进行的情况下,较好的实现检测报文量的计数功能。
相应的,本发明实施例还提供了一种检测报文量的装置,如图3所示,包括:
标识模块301,用于处理报文时,对处理报文的业务对应的业务标识位进行标识;
选择模块302,用于选择访问点,通过所述访问点访问的外部设备的数量小于访问量上限;
处理模块303,用于通过所述访问点,根据所述业务标识位的标识,在所述业务对应的外部设备的计数地址对应的存储空间中进行计数。
较佳的,在本发明另一实施例中,标识模块301具体用于用于处理报文前,将所述处理报文的业务对应的业务标识位中的数值初始化为0;处理所述报文时,将所述处理报文的业务对应的业务标识位中的数值置为1。
较佳的,在本发明另一实施例中,选择模块302可以包括:
数量获取子模块,用于获取通过访问点访问的外部设备的数量;
比较子模块,用于将所述数量与预置的上限值进行比较,若所述数量小于所述预置的上限值,选择所述访问点作为访问外部设备的访问点。
较佳的,在本发明另一实施例中,处理模块303可以包括:
获取子模块,用于获取所述业务标识对应的业务,根据所述业务获取所述业务在外部设备的计数地址;或者根据所述业务标识与所述计数地址的直接映射关系,获取所述计数地址;
读取子模块,用于读取所述计数地址对应的存储空间中存储的报文量数据;
计算子模块,用于对所述报文量数据进行加一操作;
写入子模块,用于将更改后的报文量数据写入所述计数地址对应的存储空间。
从以上的描述中,可以看出,根据本发明实施例提出的装置,在访问点空闲时进行计数操作,有效的避免需要访问的外部设备超出I/O访问点能够访问的范围,这样在业务正常进行的情况下,较好的实现检测报文量的计数功能。
相应的,本发明实施例还提供了一种检测报文量的系统,如图4所示,包括:网络处理器401和存储报文量数据的外部设备402;
其中,该网络处理器401,用于处理报文时,对处理报文的业务对应的业务标识位进行标识;选择访问点,通过所述访问点访问的外部设备的数量小于访问量上限;通过所述访问点,根据所述业务标识位的标识,在所述业务对应的外部设备的计数地址对应的存储空间中进行计数。
从以上的描述中,可以看出,根据本发明实施例提出的方法、装置和系统,在访问点空闲时进行计数操作,有效的避免需要访问的外部设备超出I/O访问点能够访问的范围,这样在业务正常进行的情况下,较好的实现检测报文量的计数功能。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种检测报文量的方法,其特征在于,该方法包括:
处理报文时,对处理报文的业务对应的业务标识位进行标识;
从网络处理器的I/O访问点组中选择访问点,通过所述访问点访问的具有存储功能的外部设备的数量小于访问量上限值;
通过所述访问点,根据所述业务标识位的标识,在所述业务对应的所述外部设备的计数地址对应的存储空间中进行计数。
2.如权利要求1所述的方法,其特征在于,所述处理报文时,对处理报文的业务对应的业务标识位进行标识,包括:
处理报文前,将所述处理报文的业务对应的业务标识位中的数值初始化为0;
处理所述报文时,将所述处理报文的业务对应的业务标识位中的数值置为1;
检测到所述业务标识位中的数值不为0时,确定所述业务标识位中的数值与初始化后的数值相比已更改,进而确定所述报文已被处理。
3.如权利要求1所述的方法,其特征在于,选择正在访问的所述外部设备的数量小于所述访问量上限值的所述访问点,包括:
获取通过所述访问点访问的所述外部设备的数量;
将所述数量与所述访问量上限值进行比较,若所述数量小于所述访问量上限值,选择所述访问点作为访问所述外部设备的访问点。
4.如权利要求1所述的方法,其特征在于,所述在所述业务对应的所述外部设备的计数地址对应的存储空间中进行计数,包括:
获取所述业务在所述外部设备的计数地址;
读取所述计数地址对应的存储空间中存储的报文量数据;
对所述报文量数据进行加一操作;
将更改后的所述报文量数据写入所述计数地址对应的存储空间。
5.如权利要求4所述的方法,其特征在于,所述获取所述业务在所述外部设备的计数地址,包括:
获取所述业务标识对应的业务,根据所述业务获取所述业务在所述外部设备的计数地址;或者
根据所述业务标识与所述计数地址的直接映射关系,获取所述计数地址。
6.一种检测报文量的装置,其特征在于,包括:
标识模块,用于处理报文时,对处理报文的业务对应的业务标识位进行标识;
选择模块,用于从网络处理器的I/O访问点组中选择访问点,通过所述访问点访问的具有存储功能的外部设备的数量小于访问量上限值;
处理模块,用于通过所述访问点,根据所述业务标识位的标识,在所述业务对应的所述外部设备的计数地址对应的存储空间中进行计数。
7.如权利要求6所述的装置,其特征在于,所述标识模块,具体用于处理报文前,将所述处理报文的业务对应的业务标识位中的数值初始化为0;处理所述报文时,将所述处理报文的业务对应的业务标识位中的数值置为1。
8.如权利要求6所述的装置,其特征在于,所述选择模块,包括:
数量获取子模块,用于获取通过所述访问点访问的所述外部设备的数量;
比较子模块,用于将所述数量与所述访问量上限值进行比较,若所述数量小于所述访问量上限值,选择所述访问点作为访问所述外部设备的访问点。
9.如权利要求6所述的装置,其特征在于,所述处理模块模块,包括:
获取子模块,用于获取所述业务标识对应的业务,根据所述业务获取所述业务在所述外部设备的计数地址;或者根据所述业务标识与所述计数地址的直接映射关系,获取所述计数地址;
读取子模块,用于读取所述计数地址对应的存储空间中存储的报文量数据;
计算子模块,用于对所述报文量数据进行加一操作;
写入子模块,用于将更改后的报文量数据写入所述计数地址对应的存储空间。
10.一种检测报文量的系统,包括:网络处理器和存储报文量数据的外部设备,其特征在于,
所述网络处理器,用于处理报文时,对处理报文的业务对应的业务标识位进行标识;从所述网络处理器的I/O访问点组中选择访问点,通过所述访问点访问的具有存储功能的外部设备的数量小于访问量上限值;通过所述访问点,根据所述业务标识位的标识,在所述业务对应的所述外部设备的计数地址对应的存储空间中进行计数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010188446.3A CN101854276B (zh) | 2010-05-28 | 2010-05-28 | 一种检测报文量的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010188446.3A CN101854276B (zh) | 2010-05-28 | 2010-05-28 | 一种检测报文量的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101854276A CN101854276A (zh) | 2010-10-06 |
CN101854276B true CN101854276B (zh) | 2014-12-10 |
Family
ID=42805554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010188446.3A Expired - Fee Related CN101854276B (zh) | 2010-05-28 | 2010-05-28 | 一种检测报文量的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101854276B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1402480B (zh) * | 2001-08-07 | 2010-04-21 | 株式会社藤仓 | 介质访问控制桥路的地址管理方法和该桥路 |
CN100477643C (zh) * | 2006-09-22 | 2009-04-08 | 中国科学院计算技术研究所 | 基于共享内存实现的数据包捕获方法 |
CN101355567B (zh) * | 2008-09-03 | 2012-05-09 | 中兴通讯股份有限公司 | 一种对交换路由设备中央处理器进行安全保护的方法 |
CN101488921B (zh) * | 2009-02-24 | 2011-09-14 | 华为技术有限公司 | 报文轨迹记录方法及报文轨迹记录装置 |
-
2010
- 2010-05-28 CN CN201010188446.3A patent/CN101854276B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101854276A (zh) | 2010-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213068B (zh) | 一种消息中间件的监控方法及相关设备 | |
CN102362464B (zh) | 内存访问监测方法和装置 | |
CN107590099B (zh) | 一种多主机访问从机的方法、扩展装置及存储介质 | |
CN107678800B (zh) | 后台应用清理方法、装置、存储介质及电子设备 | |
CN105183565A (zh) | 计算机、服务质量控制方法及装置 | |
EP3657337A1 (en) | Method, apparatus, device and storage medium for accessing static random access memory | |
CN110061930B (zh) | 一种数据流量的限制、限流值的确定方法和装置 | |
CN104699422A (zh) | 缓存数据的确定方法及装置 | |
CN107944000A (zh) | 航班运价更新方法、装置、电子设备、存储介质 | |
CN107909234A (zh) | 工作流数据的时限提醒方法、处理方法及其装置、设备 | |
CN104111870A (zh) | 一种中断处理装置及中断处理方法 | |
CN109254839A (zh) | 确定任务触发时间的方法、构建任务定时器的方法及系统 | |
CN106649210B (zh) | 一种数据转换方法及装置 | |
CN111813517A (zh) | 任务队列的分配方法、装置、计算机设备及介质 | |
CN103543901A (zh) | 生成菜单的方法和装置 | |
CN110837511A (zh) | 一种数据处理方法、系统及相关设备 | |
CN101364215B (zh) | 一种用于节省存储空间的数据处理装置及方法 | |
CN106358220B (zh) | 异常联系人信息的检测方法、装置及系统 | |
CN103581024A (zh) | Mac地址硬件与软件相结合的学习方法及装置 | |
CN101854276B (zh) | 一种检测报文量的方法、装置和系统 | |
CN101520769B (zh) | 一种数据处理的方法和系统 | |
CN112817516A (zh) | 数据读写控制方法、装置、设备和存储介质 | |
CN115811483A (zh) | 一种网络状态监测方法、装置、电子设备和存储介质 | |
CN111782561B (zh) | 一种sram的存储空间分配方法、装置及芯片 | |
CN113657635B (zh) | 一种预测通信用户流失的方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141210 Termination date: 20170528 |
|
CF01 | Termination of patent right due to non-payment of annual fee |