一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种网络检测丢包方法、电子设备及计算机可读存储介质与流程

2022-06-08 19:33:45 来源:中国专利 TAG:


1.本发明涉及通信领域,尤其涉及一种网络检测丢包方法、电子设备及计算机可读存储介质。


背景技术:

2.在ptn(packet transport network,分组传送网)网络中,如果端到端隧道的数据在传输过程中出现了丢包现象,那么承载在该隧道上的业务将会受到影响;并且一但丢包,短时间内难以确定是“发送端设备”、“接收端设备”还是“中间路由设备”出了问题。
3.市面上流行的方案能够通过通信隧道两端的发包和收包统计来确定隧道中是否出现丢包现象。但是,现有的方案无法定位出引发故障的网元、丢包的时间段,以至于难以准确、快捷地的排查和解决网络的故障,影响了业务的正常运行以及用户的良好体验。


技术实现要素:

4.为了解决现有技术存在的缺陷,本发明的目的在于提供了一种网络检测丢包方法、电子设备及计算机可读存储介质,可以快速的找到故障点。
5.为达到上述目的,本发明实施例提供的网络检测丢包方法,包括:为每个分组数据包分配唯一的序号后进行发送;接收分组数据包,并解析出其对应的序号和包信息;根据解析出的序号对分组数据包进行分析;将分析结果进行展示。
6.为达到上述目的,本发明实施例还提供一种网络检测丢包系统,包括:序号生成器、发送器、接收器、统计器、分析器及其展示器;序号生成器,为发出的每一个分组数据包分配一个唯一的序号;发送器,从序号生成器中获取一个新的序号,并将序号写入当前数据包中,序号随数据包一同发送出去;接收器,接收数据包,并解析数据包中的序号;统计器,将序号生成器维护的序号分成等长的序号段,并分段统计接收到的数据包的信息;分析器,检测和分析每个序号段内、时间段内是否出现数据包异常,并将分析结果缓存到分段分析表中,供展示器展示;展示器,将统计器统计的数据和分析器分析的数据展示出来。
7.为达到上述目的,本发明实施例还提供一种电子设备,包括,处理器;以及被安排成存储计算机可执行指令的存储器,可执行指令在被执行时使处理器执行上述网络检测丢包方法的步骤。
8.为达到上述目的,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储一个或多个程序,一个或多个程序当被包括多个应用程序的电子设备执行时,
使得电子设备执行上述网络检测丢包方法的步骤。
9.本发明实施例的网络检测丢包方法,通过数据包序号变量,可以知道发送端发送数据包的总数;通过分段统计分析,可以快速的获知丢包点以及具体的丢包时间段;通过分段统计分析,可以知道某个序号段收到的数据包个数、丢失的数据包个数以及丢包比率和丢包频率;通过分段统计分析,可以知道在某个时间段收到的数据包个数、丢失的数据包个数以及丢包比率和丢包频率;通过分段统计分析,可以知道系统的整体发包速率以及某个时间段的发包速率;通过分段统计分析,可以知道在某个序号段以及某个时间段是否存在数据包重传现象;通过分段统计分析,可以知道在某个序号段以及某个时间段是否存在数据包乱序现象;通过对序号跳变的分析,可以知道是发送端设备、接收端设备还是中间路由设备发生了重启等重大故障。
附图说明
10.图1为根据本发明实施例的网络检测丢包方法工作流程图;图2为根据本发明实施例的序号分段表;图3为根据本发明实施例的序号分段统计表;图4为根据本发明实施例的数据包重传检测示意图;图5为根据本发明实施例的数据包乱序检测示意图;图6为根据本发明实施例的丢包检测分析示意图;图7为根据本发明实施例的网络检测丢包系统结构示意图;图8为根据本发明的一个实施例电子设备的结构示意图。
具体实施方式
11.以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
12.本发明实施例中,网络检测丢包方法是指通过序列号分段统计的方式来判定某个序号段或时间段是否出现过丢包、重传、乱序、系统重启等故障,以及快速的获知故障点。
13.实施例1图1为根据本发明实施例的网络检测丢包方法工作流程图,下面将参考图1,对本发明实施例的一种网络检测丢包方法进行详细描述。
14.首先,在步骤101,为每个分组数据包分配唯一的序号后进行发送。
15.本发明实施例中,为发出的每一个分组数据包分配一个唯一的、且顺序递增的序号变量;每次生成的序号都是在前一个序号基础上加1,以确保序号顺序递增。
16.本发明实施例中,序号变量的取值范围可分配,为了描述方便,下面以0-99999999连续一亿个序号为例进行描述。
17.本发明实施例中,将该序号写入当前数据包中,随数据包一同发送给数据包接收端。
18.本发明实施例中,发送端将序号变量初始化为0,并在发送每个分组数据包之前,获取一个连续且顺序递增的序号,并将其填入数据包预留的“包序号”字段中,然后将该分组数据包发送出去。
19.在步骤102,接收分组数据包,并解析出其对应的序号和包信息。
20.本发明实施例中,每收到一个数据包后,解析出该数据包中的序号和该数据包到达时间等包信息。
21.本发明实施例中,接收端设备启动时,将“序号分段统计表”数据初始化,“分析器”将“序号分段分析表”数据初始化。
22.在步骤103,根据解析出的序号对分组数据包进行分析。
23.本发明实施例中,根据解析出的序号以及数据包到达时间,对该数据包进行分析。
24.本发明实施例中,序号按照100万为一个粒度切成等长小段,并且以段为单位进行统计(粒度可以分配,每个粒度大小称为段长),序号分布情况参照图2,序号分段表。
25.本发明实施例中,采用分段统计的方式分析数据包是否存在异常情况,以及何种情况的异常。
26.本发明实施例中,根据当前序号计算出该包落入的序号段,然后查找本地缓存的“序号缓冲表”分析出数据包是否发生重传,根据序号大小以及当前段中已有的统计数据分析出数据包是否发生乱序,最后更新“序号分段统计表”中的如下统计信息:当前段收到的最小序号、最大序号、序号总数、最小序号到达时间、最大序号到达时间、重传标记、乱序标记等。根据统计信息中当前段的“序号总数”判断当前序号是否为该段收到的首个序号,若不是则忽略该步骤后续操作;若是则触发对前面第n个段(如n=2)的统计数据进行进一步分析,最后将分析结果保存到“序号分段分析表”中,供展示使用。
27.在步骤104,将分析结果进行展示。
28.本发明实施例中,将分析器分析的结果通过展示器展示给用户。
29.本发明实施例中,从“序号分段统计表”和“序号分段分析表”中获取相关信息,同时获取系统“当前序号”,然后根据用户的需要将相关信息展示给用户。
30.实施例2图2为根据本发明实施例的序号分段表,下面将参考图2,对本发明实施例的序号分段表进行详细描述。
31.本发明实施例中,将序号按照100万为一个粒度切成等长小段,并且以段为单位进行统计(粒度可以分配,每个粒度大小称为段长)。
32.本发明实施例中,当解析出数据包的序号落入某个段的时候,该段序号总数计数器加1,并修正该段中当前收到的最小序号、最大序号、最小序号到达时间、最大序号到达时间。
33.实施例3图3为根据本发明实施例的序号分段统计表,下面将参考图3,对本发明实施例的序号分段统计表进行详细描述。
34.本发明实施例中,将序号按照100万为一个粒度切成等长小段,初始序号段为0号段,最小序号为0;即,0号段为0-999999,以此类推,1号段为1000000-1999999。
35.本发明实施例中,对每个号段的最小序号到达时间、最大序号到达时间均标记为实际值;对重传所在段出现的重传,标记为实际值;对乱序所在段出现的乱序,标记为实际值。
36.本发明实施例中,对于还未统计的段,所有数据均设为初始值,即为0。
37.实施例4图4为根据本发明实施例的数据包重传检测示意图,下面将参考图4,对本发明实施例的数据包重传检测进行详细描述。
38.首先,在步骤401,开始。
39.本发明实施例中,开始对数据包进行重传检测。
40.在步骤402,查序号缓冲表。
41.本发明实施例中,对序号缓冲表进行查询。
42.在步骤403,当前序号在缓冲表中。
43.本发明实施例中,判定当前序号是否在序号缓冲表中;若判定结果为是,则进入步骤404;若判定结果为否,则进入步骤406。
44.在步骤404,判定数据包重传。
45.本发明实施例中,当前序号已在缓冲表中出现时,判定当前的数据包为重传数据包。
46.在步骤405,更新分段统计表中当前段的重传标记为真。
47.本发明实施例中,当出现数据包重传时,更新序号分段统计表中当前段的重传标记为真。
48.在步骤406,判定数据包非重传。
49.本发明实施例中,当前序号未在缓冲表中出现时,即当前序号为首次出现,判定当前序号所属的数据包为非重传数据包。
50.在步骤407,将当前序号更新到序号缓冲表中。
51.本发明实施例中,当前序号所属数据包为非重传数据包时,将该序号更新到序号缓冲表中。
52.在步骤408,结束。
53.本发明实施例中,当出现数据包重传,更新分段统计表中当前段的重传标记为真,步骤结束。
54.本发明实施例中,当数据包为非重传时,将当前序号更新到序号缓冲表中以后,步骤结束。
55.实施例5图5为根据本发明实施例的数据包乱序检测示意图,下面将参考图5,对本发明实施例的数据包乱序检测算法进行详细描述。
56.首先,在步骤501,开始。
57.本发明实施例中,开始对数据包是否出现乱序进行检测。
58.在步骤502,计算当前序号所在的段号。
59.本发明实施例中,计算当前序号所在的段号。
60.在步骤503,获取分段统计表中当前号段收到数据包的最大序号。
61.本发明实施例中,获取分段统计表中当前序号段所收到的数据包解析出的最大序号。
62.在步骤504,当前序号小于所在段中最大序号。
63.本发明实施例中,判定当前序号是否小于当前序号所处序号段中最大的序号;若
判定结果为是,则进入步骤505;若判定结果为否,则进入步骤507。
64.在步骤505,判定数据包乱序。
65.本发明实施例中,分配给数据包的序号为递增,所以,当解析出序号小于当前序号所处序号段中最大的序号时,则表明该数据包为乱序数据包。
66.在步骤506,更新分段统计表中当前段的乱序标记为真。
67.本发明实施例中,当出现数据包乱序时,更新分段统计表中当前段的乱序标记为真,并进入步骤508,结束。
68.在步骤507,判定数据包没乱序。
69.本发明实施例中,分配给数据包的序号为递增,所以,当解析出序号大于当前序号所处序号段中最大的序号时,则表明该数据包为非乱序数据包,并进入步骤508,结束。
70.在步骤508,结束。
71.本发明实施例中,结束对数据包乱序的检测。
72.实施例6图6为根据本发明实施例的丢包检测分析示意图,下面将参考图6,对本发明实施例的丢包检测分析进行详细描述。
73.首先,在步骤601,开始。
74.本发明实施例中,开始对数据包进行丢包检测分析。
75.在步骤602,序号发生跳变。
76.本发明实施例中,判定序号是否发生跳变;若判定结果为否,则进入步骤603;若判定结果为是,则进入步骤607。
77.在步骤603,当前分析段收包数等于段长。
78.本发明实施例中,判定当前分析的序号段收到的数据包数量是否等于该序号段的长度;即,判定是否出现数据包丢包现象。
79.本发明实施例中,若判定结果为是,则进入步骤604;若判定结果为否,则进入步骤605。
80.在步骤604,判定当前段未丢包。
81.本发明实施例中,若判定当前分析段未出现数据包丢包现象,则进入步骤612,结束。
82.在步骤605,判定当前段已丢包。
83.本发明实施例中,若判定当前序号段内出现数据包丢包现象,则进入步骤606。
84.在步骤606,判定中间设备异常。
85.本发明实施例中,若判定当前数据包出现丢包现象,则判定为中间设备异常导致的数据包丢包,此时,进入步骤612,结束。
86.在步骤607,当前包落入0号段。
87.本发明实施例中,若发生序号跳变,则进入步骤607,判定当前数据包解析出来的序号是否落入0号段,即是否落入初始号段;若判定结果为是,则进入步骤608;若判定结果为否,则进入步骤609。
88.在步骤608,判定发送端重启。
89.本发明实施例中,若出现当前数据包解析出来的序号落入0号段,则判定发送端出
现重启现象;此时,进入步骤612,结束。
90.在步骤609,序号段统计数据为初始值。
91.本发明实施例中,若当前数据包解析出的序号未落入0号段 ,则继续判定序号段统计的数据是否为初始值;若判定结果为是,则进入步骤610;若判定结果为否,则进入步骤611。
92.在步骤610,判定接收端重启。
93.本发明实施例中,若判定序号段统计数据为初始值,则判定数据包接收端出现重启现象,此时进入步骤612,结束。
94.在步骤611,判定中间设备异常。
95.本发明实施例中,若判定序号段统计数据为非初始值,则判定该异常为中间设备所引起,此时进入步骤612。
96.在步骤612,结束。
97.本发明实施例中,结束对数据包丢包现象的检测分析。
98.实施例7图7为根据本发明实施例的网络检测丢包系统结构示意图,下面将参考图7,对本发明实施例的网络检测丢包系统结构示意图进行详细描述。
99.序号生成器701,为发出的每一个分组数据包分配一个唯一的序号。
100.本发明实施例中,序号生成器置于数据包的发送端设备内,主要用于维护一个在该设备的通信隧道内,唯一的、连续的,且顺序递增的序号变量,并为发送器发出的每一个分组数据包分配一个唯一的序号;序号生成器每次生产的序号都是在前一个序号基础上加1,以确保序号顺序递增。
101.本发明实施例中,序号变量的取值范围可分配,为了描述方便,下面以0-99999999连续一亿个序号为例进行描述。
102.本发明实施例中,发送端设备启动时,序号生成器将序号变量初始化为0。
103.发送器702,从序号生成器中获取一个新的序号,并将序号写入当前数据包中,序号随数据包一同发送出去。
104.本发明实施例中,发送器每发送一个数据包前,从序号生成器中获取一个新的序号,并将该序号写入当前数据包中,随数据包一同发送给数据包接收端。
105.中间设备703,处于发送端与接收端的中继。
106.本发明实施例中,中间设备为路由设备,用于将发送端发出的数据包中继给接收端。
107.接收器704,接收数据包,并解析所述数据包中的序号。
108.本发明实施例中,接收器每收到一个数据包后,负责将该数据包中的序号解析出来。
109.本发明实施例中,接收器在收到每个分组数据包之后,从数据包中解析出该数据包对应的序号,同时获取该数据包的到达时间等信息,并将这些包信息传递给统计器。
110.统计器705,将序号生成器维护的序号分成等长的序号段,并分段统计接收到的数据包的信息。
111.本发明实施例中,统计器主要用于分段统计接收到的每个数据包的相关信息,同
component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
124.存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
125.处理器从非易失性存储器中读取对应的计算机程序到存储器中然后运行,在逻辑层面上形成共享资源访问控制装置。处理器,执行存储器所存放的程序,并具体用于执行上述网络检测丢包方法的步骤。
126.实施例9本发明实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行附图中所示实施例的方法,并具体用于执行上述网络检测丢包方法的步骤。
127.虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献