丢包率获取方法、网关覆盖范围获取方法、介质及设备
文献发布时间:2023-06-19 13:48:08
技术领域
本发明属于网络规划领域,涉及一种丢包率获取方法,特别是涉及一种丢包率获取方法、网关覆盖范围获取方法、介质及设备。
背景技术
LoRa(Long Range Radio,远距离无线电)广域窄带物联技术具有低功耗、低成本、广覆盖的特点,可以实现城市范围内各类传感器数据的汇聚。城市环境中无线信号传播条件复杂,由于城市建筑物的遮蔽等原因,使得LoRa网关与传感器设备进行无线通信时经常出现超出通信范围或信号被遮蔽的问题,导致LoRa网络中的数据包丢失进而导致丢包率上升;或者,由于多个传感器设备对信道的频繁竞争,也会导致数据包丢失进而导致丢包率上升。丢包率会直接影响LoRa网络的性能,因此在LoRa网络的运维过程中需要快速发现丢包率高的设备,进而进行丢包原因分析,开展网络的优化。然而,现有技术中仅仅是将其他网络中的丢包率计算方法应用到LoRa网络中,而没有针对LoRa网络的数据包特点专门设计一种丢包率计算方法。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种丢包率获取方法、网关覆盖范围获取方法、介质及设备,用于解决现有技术中没有针对LoRa网络的数据包特点专门设计一种丢包率计算方法的问题。
为实现上述目的及其他相关目的,本发明的第一方面提供一种丢包率获取方法,用于获取LoRa网络中设备的丢包率;所述丢包率获取方法包括:获取所述设备的多个数据包;根据所述数据包及其上行包计数获取实际包数量和理论包数量;根据所述实际包数量和所述理论包数量获取所述设备的丢包率。
于所述第一方面的一实施例中,根据所述数据包及其上行包计数获取实际包数量和理论包数量的实现方法包括:对所述数据包按接收时间排序;获取所述数据包的数量作为实际包数量;根据所述数据包的上行包计数获取所述理论包数量。
于所述第一方面的一实施例中,所述丢包率获取方法还包括:根据所述数据包的上行包计数获取所述数据包中的重复包。
于所述第一方面的一实施例中,所述丢包率获取方法还包括:根据所述数据包的上行包计数获取所述设备的活跃度。
本发明的第二方面提供一种网关覆盖范围获取方法;所述网关覆盖范围获取方法包括:获取网关的位置信息以及与所述网关相连的设备的位置信息;根据第一方面所述的丢包率获取方法,获取所述设备的丢包率;根据所述网关的位置信息、所述设备的位置信息和丢包率获取所述网关的覆盖范围。
于所述第二方面的一实施例中,根据所述网关的位置信息、所述设备的位置信息和丢包率获取所述网关的覆盖范围的实现方法包括:所述设备的数量为多个;根据一丢包率阈值从所述设备中获取可靠设备;根据所述可靠设备的位置信息和所述网关的位置信息,获取所述网关的覆盖范围。
于所述第二方面的一实施例中,所述网关覆盖范围获取方法还包括:将所述网关的位置信息、所述设备的位置信息和/或丢包率在地图上进行显示。
于所述第二方面的一实施例中,所述网关覆盖范围获取方法还包括:根据所述网关的位置信息和覆盖范围、所述设备的位置信息和丢包率,对LoRa网络进行优化。
本发明的第三方面提供一种计算机可读存储介质,其上存储有计算机程序;该计算机程序被处理器执行时实现第一方面所述的丢包率获取方法,或实现第二方面所述的网关覆盖范围获取方法。
本发明的第四方面提供一种电子设备,所述电子设备包括:存储器,存储有一计算机程序;处理器,与所述存储器通信相连,调用所述计算机程序时执行第一方面所述的丢包率获取方法,或执行第二方面所述的网关覆盖范围获取方法;显示器,与所述处理器和所述存储器通信相连,用于显示所述丢包率获取方法或所述网关覆盖范围获取方法的相关GUI交互界面。
如上所述,本发明所述丢包率获取方法、网关覆盖范围获取方法、介质及设备的一个技术方案,具有以下有益效果:
所述丢包率获取方法能够根据数据包及其上行包计数获取实际包数量和理论包数量,进而获取设备的丢包率。其中,所述上行包计数可以从所述数据包的上行包计数(FcntUp)字段中直接获取,因此,所述丢包率获取方法能够获取LoRa网络中设备的丢包率,从而为LoRa网络提供了一种独特且有效的丢包率计算方法。
附图说明
图1显示为现有LoRa网络的网络架构图。
图2显示为本发明所述丢包率获取方法于一具体实施例中的流程图。
图3显示为本发明所述丢包率获取方法于一具体实施例中S22的流程图。
图4显示为本发明所述丢包率获取方法于一具体实施例中的流程图。
图5显示为本发明所述网关覆盖范围获取方法于一具体实施例中的流程图。
图6显示为本发明所述网关覆盖范围获取方法于一具体实施例中步骤S63的流程图。
图7显示为本发明所述网关覆盖范围获取方法于一具体实施例中获取的覆盖图。
图8显示为本发明所述电子设备于一具体实施例中的结构示意图。
元件标号说明
800 电子设备
810 存储器
820 处理器
830 显示器
S21~S23 步骤
S221~S223 步骤
S41~S51 步骤
S61~S63 步骤
S631~S632 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
如图1所示,LoRa网络主要由设备、网关和服务器组成,其中,所述设备主要是传感器设备,而LoRa网络在实际应用中往往作为物联网来使用。对于LoRa网络来说,设备的丢包率是LoRa网络进行运维或优化时需要考虑的一项重要指标,然而,LoRa网络中数据包的帧结构与其他网络不同,而现有技术中并没有基于LoRa网络中数据包的帧结构特点专门设计一种丢包率的计算方法。针对这一问题,本发明提供一种丢包率获取方法、网关覆盖范围获取方法、介质及设备,所述丢包率获取方法能够根据设备的数据包及其上行包计数获取设备的丢包率;其中,所述上行包计数可以从所述数据包的FcntUp字段直接获取,因此,所述丢包率获取方法充分考虑了LoRa网络中数据包的帧结构。
请参阅图2,于本发明的一实施例中,所述丢包率获取方法包括:
S21,获取所述设备的多个数据包。优选地,所述多个数据包为某一时间段内获取的所有数据包,且所述数据包为设备发送的上行数据包,所述设备例如为传感器。
根据LoRa网络规范可知,LoRa网络数据包的帧结构中包含FcntUp这一字段,具体应用中可以根据该字段获取数据包的上行包计数;该字段由设备所包含的上行链路器产生,且设备每发送一个新的数据包,该字段的数值增加1。因此,正常情况下接收到的数据包的上行包计数应当随时间递增。
S22,根据所述数据包及其上行包计数获取实际包数量和理论包数量。其中,所述实际包数量是指实际获取到的数据包的数量,其数值可以通过对接收到的数据包进行统计获得;所述理论包数量是指在不丢包的情况下应当获取到的数据包;由于设备每发送一个新的数据包,所述上行包计数的数值增加1,因此,可以根据接收到的数据包的上行包计数获取所述理论包数量。
S23,根据所述实际包数量和所述理论包数量获取所述设备的丢包率。例如,可以利用所述实际包数量除以所述理论包数量,所得的商即为所述设备的丢包率。
根据以上描述可知,本实施例所述丢包率获取方法能够根据设备的数据包及其上行包计数获取设备的丢包率。
此外,不同于其他网络中的丢包率计算方法,本实施例所述丢包率获取方法充分利用了LoRa网络中数据包的帧结构,即:所述数据包的帧中包含FcntUp这一字段,而根据这一字段能够直接获取到数据包的上行包计数;基于此,所述丢包率获取方法通过对所述上行包计数进行简单处理即可获取所述理论包数量,进而计算得出所述丢包率,整个过程简单且高效,便于在实际中应用。
请参阅图3,于本发明的一实施例中,根据所述数据包及其上行包计数获取实际包数量和理论包数量的实现方法包括:
S221,对所述多个数据包按接收时间排序;其中,所述数据包可以按照接收时间升序进行排序,也可以按照接收时间降序进行排序。
S222,获取所述多个数据包的数量作为实际包数量。
S223,根据所述数据包的上行包计数获取所述理论包数量。具体地,分别获取时间最早的一个数据包的上行包计数和时间最晚的一个数据包的上行包计数,根据上述两个上行包计数的差值即可获得所述理论包数量。
于本发明的一实施例中,所述丢包率获取方法还包括:根据所述数据包的发送时间和接收时间获取所述数据包中的乱序包。其中,所述发送时间可以根据所述数据包携带的时间戳获得。对于任一数据包1,若该数据包1的发送时间早于另一数据包2的发送时间,而该数据包1的接收时间晚于数据包2的接收时间,则该数据包1为乱序包。
本实施例中,获取所述乱序包的实现方法包括:将所述多个数据包按接收时间从早到晚进行排序;依次遍历所有数据包,若某一数据包的发送时间早于其上一数据包的发送时间,则该数据包为乱序包。或者,将所述多个数据包按照接收时间从晚到早进行排序;依次遍历所有数据包,若某一数据包的发送时间晚于其上一数据包的发送时间,则该数据包为乱序包。
于本发明的一实施例中,所述丢包率获取方法还包括:根据所述数据包的上行包计数获取所述数据包中的重复包。具体地,将所述多个数据包按照时间进行排序;依次遍历所有数据包,若某一数据包的上行包计数与至少一个相邻数据包的上行包计数相同,则该数据包为重复包。
于本发明的一实施例中,所述丢包率获取方法还包括:根据所述数据包的上行包计数获取所述设备的活跃度。具体地,对所述多个数据包按照发送时间进行排序,并根据相邻两个数据包之间的发送时间间隔获取所述设备的活跃度。例如,可以根据所述发送时间间隔中的最大值获取所述设备的活跃度,该最大值越大则所述设备的活跃度越低,当该最大值大于等于3天时认为该设备为不活跃设备。或者,可以根据所述发送时间间隔的平均值获取所述设备的活跃度,此时,所述平均值越大则所述设备的活跃度越低。
请参阅图4,于本发明的一实施例中,所述丢包率获取方法包括:
S41,获取一起始时间和终止时间,并根据所述起始时间和所述终止时间确定统计时间段;
S42,获取所述统计时间段内接收到的所有数据包;
S43,按照接收时间从早到晚对所述统计时间段内接收到的所有数据包进行排序;
S44,选取接收时间最早的一个数据包作为当前数据包,且将实际包数量和理论包数量均设置为1;
S45,将当前数据包的下一个数据包作为当前数据包,并获取当前数据包的上行包计数F和发送时间;其中,所述上行包计数F可以从当前数据包中的FcntUp字段获取,所述发送时间可以从当前数据包中的time(时间戳)字段获取;
S46,若当前数据包的发送时间与上一数据包的发送时间之差大于等于一时间阈值,则将所述设备标记为不活跃设备;其中,所述不活跃设备是指长时间不发送数据包的设备,所述时间阈值例如为3天。其后,执行步骤S47。
S47,若当前数据包的上行计数值F小于上一数据包的上行计数值F1,则将当前数据包标记为乱序包,并跳转至步骤S50;否则执行步骤S48;
S48,若当前数据包的上行计数值F等于上一数据包的上行计数值F1,则将当前数据包标记为重复包,忽略该数据包并执行步骤S50;否则,执行步骤S49;
S49,所述实际包数量增加1,且所述理论数据包数量增加(F-F1);其中,F为当前数据包的上行计数值,F1为上一数据包的上行计数值;
S50,若当前数据包不是所述统计时间段内接收时间最晚的数据包,跳转至步骤S45;否则,执行步骤S51;
S51,利用所述实际数据包数量除以所述理论包数量,即可获得所述丢包率。
基于以上对所述丢包率获取方法的描述,本发明还提供一种网关覆盖范围获取方法。请参阅图5,于本发明的一实施例中,所述网关覆盖范围获取方法包括:
S61,获取所述网关的位置信息以及与所述网关相连的设备的位置信息。其中,所述网关的位置信息包括所述网关的ID和网关的经纬度,所述设备的位置信息包括所述设备的ID和经纬度;所述设备的数量可以为1个、2个或多个。
S62,根据本发明所述的丢包率获取方法,获取所述设备的丢包率。当所述设备的数量大于1时,本步骤获取各所述设备的丢包率。
S63,根据所述网关的位置信息、所述设备的位置信息和丢包率获取所述网关的覆盖范围。理想状况下,只要设备位于所述网关的覆盖范围内,所述网关就能保证该设备的通信质量;其中,所述通信质量可以通过所述设备的丢包率描述。因此,实际应用中可以根据设备的丢包率获取所述网关的覆盖范围,即:若某一设备的丢包率能够满足通信要求,则认为所述网关能够覆盖该设备;进一步的,可以认为所述网关能够覆盖所述网关与该设备之间的所有区域。
根据以上描述可知,本实施例所述网关覆盖范围获取方法能够根据设备的位置信息和网关的位置信息,以及设备的丢包率获取所述网关的覆盖范围。
于本发明的一实施例中,所述设备的数量为多个;请参阅图6,在本实施例中,根据所述网关的位置信息、所述设备的位置信息和丢包率获取所述网关的覆盖范围的实现方法包括:
S631,根据一丢包率阈值从所述设备中获取可靠设备;其中,所述丢包率阈值可以根据实际需求设置,例如为5%。所述可靠设备是指丢包率小于所述丢包率阈值的所有设备。
S632,根据所述可靠设备的位置信息和所述网关的位置信息,获取所述网关的覆盖范围。具体地,可以根据所述可靠设备的位置信息和所述网关的位置信息,分别计算各可靠设备到所述网关的距离,并根据该距离确定所述网关的覆盖半径;此时,所述网关的覆盖范围是以所述网关为圆心、以所述网关的覆盖半径为半径的一个圆。所述覆盖半径的一种获取方法为:对每个可靠设备到所述网关的距离取平均值,该平均值即为所述覆盖半径。或者,所述覆盖半径的另一种获取方法为:从每个可靠设备到所述网关的距离中取最大值,该最大值与0之间的任一数值均可作为所述覆盖半径。
于本发明的一实施例中,所述设备的数量为1个。根据所述网关的位置信息、所述设备的位置信息和丢包率获取所述网关的覆盖范围的实现方法包括:获取该设备到所述网关的距离,根据该距离即可获取所述网关的覆盖半径;此时,所述网关的覆盖半径可以为小于该距离的任一数值。
于本发明的一实施例中,所述网关覆盖范围获取方法还包括:将所述网关的位置信息、所述设备的位置信息和/或丢包率在地图上进行显示,从而获得某一区域的覆盖图。实际应用中,可以利用地图Web服务的API将所述网关的位置信息、所述设备的位置信息和/或丢包率进行发布,并赋予实例值位置、宽度、颜色等属性。例如,对于网关实例值,其位置属性为网关的位置,其宽度属性为网关的覆盖范围;对于设备实例值,其位置属性为设备的位置,其颜色属性可以用来表征该设备的丢包率。请参阅图7,显示为本实施例中涉及的一幅覆盖图,根据该覆盖图可以方便地分析当前网络丢包率高的设备和需要补充网关的地理区域。
于本发明的一实施例中,所述网关覆盖范围获取方法还包括:根据所述网关的位置信息和覆盖范围、所述设备的位置信息和丢包率,对LoRa网络进行优化。具体地,当设备位于任一网关的覆盖范围之内时,可以认为该设备是比较安全的,其丢包率较低;而位于所有网关的覆盖范围之外的设备,其丢包率往往较高。因此,可以在所有网关的覆盖范围之外考虑增加网关,以便增强网络的覆盖效果。此外,新增网关的位置可以根据现有网关的位置信息和覆盖范围来确定。
基于以上对所述丢包率获取方法和/或网关覆盖范围获取方法的描述,本发明还提供一种计算机可读存储介质,其上存储有计算机程序;该计算机程序被处理器执行时实现本发明所述的丢包率获取方法,或实现本发明所述的网关覆盖范围获取方法。
基于以上对所述丢包率获取方法和/或网关覆盖范围获取方法的描述,本发明还提供一种电子设备。请参阅图8,所述电子设备800包括:存储器810,存储有一计算机程序;处理器820,与所述存储器810通信相连,调用所述计算机程序时执行本发明所述的丢包率获取方法,或执行本发明所述的网关覆盖范围获取方法;显示器830,与所述处理器820和所述存储器810通信相连,用于显示所述丢包率获取方法或所述网关覆盖范围获取方法的相关GUI交互界面。
本发明所述的丢包率获取方法和/或网关覆盖范围获取方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
针对现有技术中缺少针对LoRa网络中设备丢包率的计算方法这一问题,本发明提供了一种丢包率获取方法、网关覆盖范围获取方法、介质及设备。其中,所述丢包率获取方法能够根据LoRa网络中设备的数据包及其上行包计数获取设备的丢包率。
不同于其他网络中的丢包率计算方法,本发明所述丢包率获取方法充分利用了LoRa网络的帧结构,即:所述数据包的数据帧中包含FcntUp这一字段,根据该字段能够直接获取所述数据包的上行包计数;基于此,所述丢包率获取方法通过对所述上行包计数进行简单处理即可获取所述理论包数量,进而计算得出所述丢包率,整个过程简单且高效,便于在实际中应用。
此外,通过所述丢包率获取方法,用户能够及时了解设备的丢包率,增强工程的监管力度并排除丢包率高的设备,有利于提高后续对设备进行数据分析的可靠性。
基于所述丢包率获取方法,本发明还提供了一种网关覆盖范围获取方法。所述网关覆盖范围获取方法能够以可视化的形式对网关的位置信息和覆盖范围、设备的位置信息和丢包率进行显示,便于用户清晰地看到物联网设备的分布、丢包程度以及有效的传输范围,进而为网络维护和优化提供依据。
综上所述,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
需要说明的是,尽管本发明所述丢包率计算方法是针对LoRa网络中的数据包特点而设计,但是任何熟悉此技术的人士也可以根据其他网络的数据包特点在本发明的精神及范畴下对所述丢包率计算方法进行改进,以便应用到LoRa之外的网络中。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
- 丢包率获取方法、网关覆盖范围获取方法、介质及设备
- 获取网关接入数据的方法、装置、电子设备及存储介质