本申请涉及防空防灾警报技术,特别是涉及一种防空防灾警报的播报方法、装置、电子设备及存储介质。
背景技术:
防空防灾警报设备是城市防空防灾工程的重要组成部分,平时用于抗灾救灾和突发事故情况下的灾情预报和紧急报知,战时用于人民防空,是各级人民政府实施人民防空指挥,组织人员疏散的基本手段。
现有的防空防灾警报设备是通过扩音设备对城市进行声音覆盖,由于声音能够传达的信息简易而单一,在空袭或灾难发生时,防空防灾警报的通知效果较差。
技术实现要素:
有鉴于此,本申请的主要目的在于提供一种防空防灾警报的播报方法、装置、电子设备及存储介质,该方法应用于移动设备,平时可以用于抗灾救灾和突发事故情况下的灾情预报和紧急报知,战时用于人民防空疏散掩蔽、实时信息推送告知及战时指挥调度,采用数字化的手段传递防灾信息数据,大大提升了防空防灾警报的通知效果。
为了达到上述目的,本申请提出的技术方案为:
第一方面,本申请实施例提供了一种防空防灾警报的播报方法,包括:
搜索蓝牙信号,当获取到所述蓝牙信号时,对蓝牙数据进行接收;所述蓝牙数据为所述蓝牙信号携带的防灾信息数据;所述蓝牙数据包括蓝牙名称数据或蓝牙广播数据中至少一种;所述蓝牙信号,为单向广播发送的蓝牙信号;
在一轮蓝牙信号接收完毕之后,验证接收到的所述蓝牙数据是否完整;如果所述蓝牙数据不完整,回到搜索蓝牙信号的步骤,接收所述蓝牙数据中缺失的部分;
如果所述蓝牙数据完整,对所述蓝牙数据进行安全性验证,并执行通过安全性验证的蓝牙数据中的指令。
一种可能的实施方式中,在所述蓝牙数据为蓝牙名称数据的情况下,所述对蓝牙数据进行接收的步骤,包括:
判断获取到的所述蓝牙名称数据与现有的蓝牙名称是否相同,如果获取到的所述蓝牙名称数据与现有的蓝牙名称不相同,将获取到的所述蓝牙名称数据作为蓝牙数据进行接收。
一种可能的实施方式中,在所述蓝牙数据为蓝牙广播数据的情况下,所述对蓝牙数据进行接收的步骤,包括:
每接收到一个字节的蓝牙广播数据后,对通信空闲时间进行计时;
当所述通信空闲时间超过预设的时间阈值时,停止接收所述蓝牙广播数据,进入所述验证接收到的所述蓝牙广播数据是否完整的步骤。
一种可能的实施方式中,所述验证接收到的所述蓝牙数据是否完整的步骤,包括:
根据每个数据帧中携带的帧结束标识,将接收到的所述蓝牙广播数据划分为至少一个数据帧;其中,每个所述数据帧中最多包含预设数量个字节;
针对每个数据帧,根据该数据帧携带的字节数量信息,校验该帧是否完整;
当该帧完整时,提取该帧的帧号,并根据所述该帧的帧号判断该帧是否为首帧首个数据帧;
如果该帧为首帧首个数据帧,提取所述蓝牙广播数据的总帧数;根据所述总帧数判断所述蓝牙广播数据是单帧数据,还是多帧数据;
如果该帧不是首帧首个数据帧,判断所述蓝牙广播数据中是否存在首帧首个数据帧;如果存在首帧首个数据帧,根据每个数据帧的帧号和所述总帧数,判断所述蓝牙广播数据是否完整。
一种可能的实施方式中,所述对所述蓝牙数据进行安全性验证,包括:
根据预设的密钥,对所述蓝牙数据进行校验;
通过密钥校验的蓝牙数据,通过了所述安全性验证。
一种可能的实施方式中,所述对所述蓝牙数据进行安全性验证的步骤包括:
从所述蓝牙广播数据的首个数据帧中,提取第一内容校验码;
根据所述蓝牙广播数据中的每个字节进行计算,得到第二内容校验码;
如果所述第一内容校验码和所述第二内容校验码相同,则所述蓝牙广播数据通过所述安全性验证。
一种可能的实施方式中,所述对所述蓝牙数据进行安全性验证的步骤包括:
从所述蓝牙名称数据中,提取第一内容校验码;
根据所述蓝牙名称数据中的每个字节进行计算,得到第二内容校验码;
如果所述第一内容校验码和所述第二内容校验码相同,则所述蓝牙名称数据通过所述安全性验证。
一种可能的实施方式中,所述对所述蓝牙数据进行安全性验证的步骤包括:
从所述蓝牙广播数据的首个数据帧中提取去重标识码;
在所述执行通过安全性验证的蓝牙数据中的指令之后,存储所述去重标识码;
在所述执行通过安全性验证的蓝牙数据中的指令之前,执行所述对所述蓝牙数据进行安全性验证的步骤时,根据所述去重标识码进行判断,如果所述去重标识码未被存储,则执行通过安全性验证的蓝牙广播数据中的指令。
一种可能的实施方式中,所述对所述蓝牙数据进行安全性验证的步骤包括:
从所述蓝牙名称数据中提取去重标识码;
在所述执行通过安全性验证的蓝牙数据中的指令之后,存储所述去重标识码;
在所述执行通过安全性验证的蓝牙数据中的指令之前,执行所述对所述蓝牙数据进行安全性验证的步骤时,根据所述去重标识码进行判断,如果所述去重标识码未被存储,则执行通过安全性验证的蓝牙名称数据中的指令。
一种可能的实施方式中,所述执行通过安全性验证的蓝牙数据中的指令的步骤,包括:
如果所述指令为警报播报指令,从所述蓝牙数据中获取语音播报文本,使用所述语音播报文本进行语音播报。
一种可能的实施方式中,所述使用所述语音播报文本进行语音播报的步骤,为:
使用语音合成tts将所述语音播报文本转换为语音信息;
播放所述语音信息。
一种可能的实施方式中,所述执行通过安全性验证的蓝牙数据中的指令的步骤,包括:
如果所述指令为疏散指令,获取用户选择的疏散方式;所述疏散指令为:为所述用户提供引导信息,引导所述用户前往疏散地点进行疏散的指令;所述疏散方式包括:自行前往和统一前往;
根据所述疏散方式,从所述蓝牙数据中提取所述疏散方式对应的疏散地点;
以所述疏散地点为目的地,启动导航。
一种可能的实施方式中,确定所述疏散方式对应的疏散地点的步骤,包括:当所述疏散方式为自行前往时,所述疏散方式对应的疏散地点为疏散地的地址;
当所述疏散方式为统一前往时,所述疏散方式对应的疏散地点为疏散集结地的地址。
一种可能的实施方式中,在获得所述疏散地点之后,在所述启动导航之前,包括:
验证是否能够连接到民用网络;
如果能够连接到民用网络,询问用户是否选择第三方导航工具,并在所述用户选择第三方导航工具的时,打开所述第三方导航工具,利用所述第三方导航工具进行导航。
一种可能的实施方式中,在所述从所述蓝牙数据中提取所述疏散方式对应的疏散地点之后,在所述启动导航之前,还包括:
判断所述蓝牙数据中,是否存在所述疏散地点对应的第一疏散人员信息;其中,所述第一疏散人员信息包括所述疏散地点的已有人数;
如果存在,存储所述第一疏散人员信息,并弹出包含所述第一疏散人员信息的提醒信息。
一种可能的实施方式中,在所述启动导航之后,还包括:
判断能否连接到服务器,如果能够连接到服务器,将所述疏散地点对应的第二疏散人员信息上报至服务器;其中,所述第二疏散人员信息为,用户正在前往所述疏散地点的信息。
一种可能的实施方式中,所述执行通过安全性验证的蓝牙数据中的指令的步骤,包括:
如果所述指令为掩蔽指令,从所述蓝牙数据中提取掩蔽地点;所述掩蔽指令为:为所述用户提供引导信息,引导所述用户去往掩蔽地点进行掩蔽的指令;
以所述掩蔽地点为目的地,启动导航。
一种可能的实施方式中,所述执行通过安全性验证的蓝牙数据中的指令的步骤,包括:
如果所述指令为警报试鸣指令,启动评测问卷程序,并获取用户根据所述评测问卷程序形成的评测结果;
并将所述评测结果上传至服务器。
一种可能的实施方式中,所述执行通过安全性验证的蓝牙数据中的指令的步骤,包括:
如果所述指令为人防知识推荐,从所述蓝牙数据中提取人防知识推荐数据,并将所述人防知识推荐推送给用户;所述人防知识推荐数据包括人防知识推荐目录。
第二方面,本申请实施例还提供一种防空防灾警报的播报装置,包括:
接收模块,用于搜索蓝牙信号,当获取到所述蓝牙信号时,对蓝牙数据进行接收;所述蓝牙数据为所述蓝牙信号携带的防灾信息数据;所述蓝牙数据,包括:蓝牙名称数据或蓝牙广播数据中至少一种;所述蓝牙信号,为单向广播发送的蓝牙信号;还用于在所述蓝牙数据不完整时,接收所述蓝牙数据中缺失的部分;
验证模块,用于在一轮蓝牙信号接收完毕之后,验证接收到的所述蓝牙数据是否完整;如果所述蓝牙数据完整,对所述蓝牙数据进行安全性验证;
执行模块,用于执行通过安全性验证的蓝牙数据中的指令。第三方面,本申请实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面及第一方面中任一可能的实施方式中的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面及第一方面中任一可能的实施方式中的步骤。
综上所述,本申请提出的一种防空防灾警报的播报方法、装置、电子设备及存储介质,提供了数字化的防空防灾警报的播报手段,通过接收蓝牙信号中携带的防灾信息数据,可以更方便的进行防空防灾警报的播报,从而大大提升防空防灾警报的通知效果。
附图说明
图1为本申请实施例的应用场景示意图;
图2为本申请实施例一提供的方法的流程示意图;
图3为本申请实施例二提供的方法中,蓝牙数据的接收和验证的流程示意图;
图4为本申请实施例三提供的方法中,蓝牙数据的接收和验证的流程示意图;
图5为本申请实施例三提供的方法中,蓝牙数据接收方法的原理示意图;
图6为本申请实施例四提供的方法中,执行警报播报指令的流程示意图;
图7为本申请实施例四提供的方法中,警报播报的流程示意图;
图8为本申请实施例五提供的方法中,执行疏散指令的流程示意图;
图9为本申请实施例六提供的方法中,执行掩蔽指令的流程示意图;
图10为本申请实施例七提供的方法中,使用蓝牙信号,进行疏散人员信息的传输的流程示意图;
图11为本申请实施例八提供的方法中,使用蓝牙信号,进行掩蔽人员信息的传输的流程示意图;
图12为本申请实施例九提供的方法中,警报试鸣操作的流程示意图;
图13为本申请实施例十提供的方法中,人防知识推荐操作的流程示意图;
图14为本申请实施例十一提供的装置的结构示意图;
图15为本申请实施例十二提供的电子设备的结构示意图。
具体实施方式
防空防灾警报设备是城市防空防灾工程的重要组成部分,现有的防空防灾警报设备是通过扩音设备对城市进行声音覆盖,由于声音能够传达的信息简易而单一,在空袭或灾难发生时,防空防灾警报的通知效果较差。
有鉴于此,本申请实施例提供的防空防灾警报的播报方法的核心在于以下几个方面:
1、由于目前市面上的移动终端流行的android和ios两大操作系统对系统级权限都控制得比较严谨,且普通的蓝牙传输需要配对连接,配对过程无法满足防空防灾警报的及时性需求。因此,采用蓝牙名数据称和/或蓝牙广播数据进行防空防灾警报的发送。
2、如果采用蓝牙技术传输数据通用性较高,但安全性较低,由于人防应用领域的特殊性,对通信安全要求极高,因此,需要进行加密和内容验证,防范安全隐患于未然。
3、为了完整获取蓝牙数据,需要不断轮询蓝牙数据,因此,需要进行去重校验,从而达到精准接收蓝牙数据的目的。
4、接收到的广播内容有防空防灾警报、智能语音文本、地域/集结点疏散人员信息及周边工程掩蔽人员信息,在收到广播内容之后,需要执行疏散引导及掩蔽导航等后续业务操作,让整个系统形成一个闭环。
如图1所示,本申请实施例应用于带有蓝牙模块的移动设备102,例如手机、平板电脑、掌上电脑、电视机、家庭警报终端、汽车多媒体屏等。本申请实施例接收蓝牙模块101发送的蓝牙信号,采用蓝牙信号作为播报手段,可以将防空防灾警报发送给任一个带有蓝牙模块的移动设备102,提供了数字化的防空防灾警报的播报手段,通过接收蓝牙信号中携带的防灾信息数据,可以更方便的进行防空防灾警报的播报,从而大大提升防空防灾警报的通知效果。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本申请作进一步地详细描述。
实施例一
图2为本申请实施例一提供的一种防空防灾警报的播报方法的流程示意图,如图2所示,该实施例主要包括:
s201:搜索蓝牙信号,当获取到所述蓝牙信号时,对蓝牙数据进行接收;所述蓝牙数据为所述蓝牙信号携带的防灾信息数据;所述蓝牙数据,包括:蓝牙名称数据或蓝牙广播数据中至少一种;所述蓝牙信号,为单向广播发送的蓝牙信号。
在灾时和战时,民用网络是不可靠的,需要在人防多模通讯专网模式下,及时进行防空防灾警报的播报和人员的疏散或掩蔽,因此,本申请实施例的蓝牙信号,为单向广播发送的蓝牙信号。本申请实施例一提供的方法,需要以移动终端打开本机蓝牙模块且蓝牙模块能正常收发数据为前提。移动终端不断搜索蓝牙信号,当获取到蓝牙信号时,接收蓝牙信号中携带的蓝牙数据。
由于蓝牙数据传输需要配对连接,配对过程无法满足防空防灾警报的及时性需求,并且一般的蓝牙设备建立连接之后,可双向通信,会危及防空防灾警报系统的安全。为了解决这一问题,可以采用以下三种可能的实施方式:
a:在一种可能的实施方式中,将蓝牙模块设置为广播工作模式,使用蓝牙广播数据进行防空防灾警报的播报,只要进入蓝牙信号的覆盖范围,都将收到蓝牙广播数据的内容。由于蓝牙模块的广播工作模式是单向通信的,可以保障防空防灾警报系统的安全。
b:在另一种可能的实施方式中,通过修改蓝牙名称的方式进行蓝牙数据的发送。只要进入蓝牙信号的覆盖范围,都可以收到修改蓝牙名称的指令,也就能收到蓝牙名称数据携带的蓝牙数据,并且,搜索蓝牙名称数据的过程也是单向的,可以保障防空防灾警报系统的安全。
c:在另一种可能的实施方式中,采用具有广播工作模式的蓝牙模块。既通过修改蓝牙名称的方式通过蓝牙名称数据进行防灾信息数据的发送,又使用蓝牙广播数据进行防空防灾警报的播报。
s202:在一轮蓝牙信号接收完毕之后,验证接收到的所述蓝牙数据是否完整;如果所述蓝牙数据不完整,回到搜索蓝牙信号的步骤,接收所述蓝牙数据中缺失的部分。
在所述蓝牙数据为蓝牙名称数据的情况下,可以根据蓝牙名称数据携带的字节数量信息,校验蓝牙名称数据是否完整。由于蓝牙名称数据较短,也可以直接对蓝牙名称数据进行安全性验证,通过安全性验证来验证上述蓝牙名称数据是否完整。
在所述蓝牙数据为蓝牙广播数据的情况下,在接收到蓝牙广播数据之后,首先需要验证接受到的蓝牙广播数据是否完整,具体的,可以采用下述步骤1-步骤5对接收到的所述蓝牙广播数据进行完整性验证:
步骤1、根据每个数据帧中携带的帧结束标识,将接收到的所述蓝牙广播数据划分为至少一个数据帧;其中,每个所述数据帧中最多包含预设数量个字节。
步骤2、针对每个数据帧,根据该数据帧携带的字节数量信息,校验该帧是否完整。
步骤3、当该帧完整时,提取该帧的帧号,并根据所述该帧的帧号判断该帧是否为首个数据帧。
步骤4、如果该帧为首个数据帧,提取所述蓝牙广播数据的总帧数;根据所述总帧数判断所述蓝牙广播数据是单帧数据,还是多帧数据。
这里,如果该帧为首个数据帧、且该蓝牙广播数据是单帧数据,由于首个数据帧的单帧完整性已经通过了验证,所以这一帧的单帧数据一定是完整的。可以直接进行蓝牙广播数据的验证步骤。
步骤5、如果该帧不是首个数据帧,判断所述蓝牙广播数据中是否存在首个数据帧;如果存在首个数据帧,根据每个数据帧的帧号和所述总帧数,判断所述蓝牙广播数据是否完整。
这里,如果多帧的蓝牙广播数据不完整,记录下数据完整的数据帧的帧号和总帧数,并根据数据完整的数据帧的帧号和总帧数得到数据不完整的数据帧的帧号,之后回到搜索蓝牙信号的步骤。当获取到所述蓝牙信号时,根据数据不完整的数据帧的帧号,接收不完整的数据帧,直至多帧的蓝牙广播数据中的每个数据帧全部接收完毕为止。如果蓝牙广播数据不存在首个数据帧,则蓝牙广播数据一定不完整,记录下数据完整的数据帧的帧号,并回到搜索蓝牙信号的步骤。当获取到所述蓝牙信号时,根据数据完整的数据帧的帧号,接收不完整的数据帧,直至多帧的蓝牙广播数据中的每个数据帧全部接收完毕为止。
s203:如果所述蓝牙数据完整,对所述蓝牙数据进行安全性验证,并执行通过安全性验证的蓝牙数据中的指令。
这里,对所述蓝牙数据进行安全性验证可以包括:密钥校验、内容校验和重复性验证中的至少一种。
通过上述多重验证,得到的蓝牙数据为完整、合法的蓝牙数据,上述蓝牙数据可以被执行。
对于本申请实施例一提供的方法,最重要的功能是提供防空防灾警报的播报功能。由于蓝牙信号的通信包大小有限,且在灾时或战时需要快速将防空防灾警报通知到位,因此,无法直接传送数据量较大的语音信息给移动终端。具体的,需要从所述蓝牙数据中获取语音播报文本,使用所述语音播报文本进行语音播报。进一步的,可以使用语音合成(texttospeech,tts)将所述语音播报文本转换为语音信息;并对转换得到的语音信息进行播放。从而达到快速传输、及时播报的目的。
在一种可能的实施方式中,防空防灾警报的播报,需要在移动终端上记录播放日志,并在民用网络可用、能够通过民用网络连接到服务器时,上报到服务器,从而作为人防指挥中心指挥调度的决策依据。
由于在灾时或者战时,民用网络并不可靠,因此,还需要通过蓝牙信号指挥民众进行疏散或掩蔽。
在通过蓝牙信号指挥民众进行疏散时,需要通过蓝牙信号发送疏散指令,之后,获取用户选择的疏散方式;并根据所述疏散方式,从所述蓝牙数据中提取所述疏散方式对应的疏散地点。具体的,当所述疏散方式为自行前往时,所述疏散方式对应的疏散地点为疏散地的地址;当所述疏散方式为统一前往时,所述疏散方式对应的疏散地点为疏散集结地的地址。
由于在灾时或者战时,民用网络并不可靠,在进行疏散引导时,需要提供本地导航功能,可以在本地计算导航路径,以所述疏散地点为目的地,启动导航。这里,可以以最近的疏散地点为目的地,也可以以用户选择的疏散地点为目的地。另外,此时也可以验证是否能够连接到民用网络,如果可以连接到民用网络,也可以由用户选择第三方导航工具进行导航。
并且,在灾时或者战时,由于民用网络的断开,移动终端暂时无法获取到疏散地点中的疏散人员信息,需要通过蓝牙信号来推送此类信息,作为疏散引导的依据。具体的,可以判断所述蓝牙数据中,是否存在所述疏散地点对应的第一疏散人员信息;其中,所述第一疏散人员信息包括所述疏散地点的已有人数;如果存在,存储所述第一疏散人员信息,并提醒用户查看。由此,可以提醒用户每个疏散地点的人数,并根据每个疏散地点的人数进行疏散引导,避免用户前往人数已满的疏散地点。
进一步的,在执行疏散引导业务功能时,还可以判断能否通过民用网络,如果能够连接到服务器,将所述疏散地点对应的第二疏散人员信息上报至服务器;其中,所述第二疏散人员信息为,用户正在前往所述疏散地点的信息。
进行掩蔽引导的方式与进行疏散引导的方式类似。具体的,如果蓝牙数据中的指令为掩蔽指令,从所述蓝牙数据中提取掩蔽地点;以所述掩蔽地点为目的地,启动导航。同样的,掩蔽地点可以自动选择最近的掩蔽地点,也可以使用用户选择的掩蔽地点。并且,在能够通过连接到民用网络的情况下,可以允许用户选择第三方的导航工具进行导航。并且,通过蓝牙信号来推送掩蔽地点的掩蔽人员信息,作为掩蔽引导的依据。具体的,可以判断所述蓝牙数据中,是否存在所述掩蔽地点对应的第一掩蔽人员信息;其中,所述第一掩蔽人员信息包括所述掩蔽地点的已有人数;如果存在,存储所述第一掩蔽人员信息,并提醒用户查看。由此,可以提醒用户每个掩蔽地点的人数,并根据每个掩蔽地点的人数进行掩蔽引导,避免用户前往人数已满的掩蔽地点。进一步的,在执行掩蔽引导业务功能时,还可以判断能否通过民用网络,如果能够连接到服务器,将所述掩蔽地点对应的第二掩蔽人员信息上报至服务器;其中,所述第二掩蔽人员信息为,用户正在前往所述掩蔽地点的信息。
目前的防空防灾警报系统,由于仅仅通过扩音设备对城市进行声音覆盖,在每年的人防警报试鸣时,人防部门无法掌握试鸣效果。因此,本申请实施例一提供的防空防灾警报播报系统可以提供警报试鸣功能,具体的,当所述指令为警报试鸣指令时,启动评测问卷程序,并获取用户根据所述评测问卷程序形成的评测结果;并将所述评测结果上传至服务器。这样可以为警报整体规划建设提供依据,让警报试鸣到民众反响形成一个闭环。
另外,在平时进行人防知识宣传,以及在灾时或战时进行必要的人防知识的宣传和引导时,均可以通过蓝牙数据携带人防知识推荐指令,在蓝牙数据中,携带推荐用户阅读和了解的人防知识目录,引导用户进行阅读和学习存储在移动设备中的人防知识。并且,可以将用户的浏览记录通过民用网络上报到服务器,使人防办可以实时掌握人防宣传教育的效果。
实施例二
如图3所示,本申请实施例二提供了防空防灾警报的播报方法中,在所述蓝牙数据为蓝牙名称数据的情况下,对蓝牙数据进行接收和安全性验证的步骤,包括:
s301:不断搜索蓝牙信号。
为了解决及时性通信和安全性问题,通过修改蓝牙名称的方式进行蓝牙数据的发送。只要进入蓝牙信号的覆盖范围,都可以收到修改蓝牙名称的指令,也就能收到蓝牙名称数据携带的防灾信息数据。
s302:当获取到蓝牙信号时,判断蓝牙信号中,是否存在蓝牙名称数据。
s303:接收蓝牙名称数据,直至通信空闲时间达到预设的时间阈值。
在使用蓝牙名称数据作为蓝牙数据,通过修改蓝牙名称的方式进行防灾信息数据的发送时,不断搜索蓝牙信号携带的蓝牙名称数据,具体包括:
判断获取到的所述蓝牙名称数据与现有的蓝牙名称是否相同,如果获取到的所述蓝牙名称数据与现有的蓝牙名称不相同,将获取到的所述蓝牙名称数据作为蓝牙数据。
在使用蓝牙名称数据作为蓝牙数据,通过修改蓝牙名称的方式进行防灾信息数据的发送时,蓝牙名称数据是一个字节一个字节进行接收的,蓝牙名称的长度通常为16个字节,不超过16个字节的防灾信息数据可以通过蓝牙名称数据进行发送。每接收到一个字节的蓝牙名称数据后,对通信空闲时间进行计时;一般情况下,每接收到一个字节的蓝牙名称数据后,从0开始对通信空闲时间进行计时。另外,计时时可以采用毫秒ms作为计时单位。当所述通信空闲时间超过预设的时间阈值时,例如,100ms,停止接收所述蓝牙名称数据,进入所述验证接收到的所述蓝牙名称数据是否完整的步骤。
s304:验证蓝牙名称数据是否完整。
可以根据蓝牙名称数据携带的字节数量信息,校验蓝牙名称数据是否完整。由于蓝牙名称数据较短,也可以直接对蓝牙名称数据进行安全性验证,通过安全性验证来验证上述蓝牙名称数据是否完整。
s305:蓝牙名称数据收全后,进行密钥校验,判断蓝牙名称数据的安全性。
优选的可以采用非对称加密技术对蓝牙名称数据进行加密,在获取蓝牙名称数据后,首选可以根据预设的密钥,对所述蓝牙名称数据进行密钥校验。
s306:若蓝牙名称数据通过密钥校验之后,确定为合法的蓝牙名称数据,则进行根据第一内容校验码和第二内容校验码进行内容校验。
除了密钥校验,另外一种增加蓝牙信号发送安全性的方法,是对蓝牙名称数据进行内容校验,具体的,通过下述步骤1到步骤3对蓝牙名称数据进行内容校验:
步骤1、从所述蓝牙名称数据中,提取第一内容校验码;
步骤2、根据所述蓝牙名称数据中的每个字节进行计算,得到第二内容校验码;
步骤3、如果所述第一内容校验码和所述第二内容校验码相同,则所述蓝牙名称数据通过安全性验证。
s307:内容校验合法之后,根据去重标识码进行去重校验。
为了防止已经播报过的防空防灾警报重复播报,可以对蓝牙名称数据进行进行重复性验证,可以采用下述步骤1-步骤3进行:
步骤1、从蓝牙名称数据中提取去重标识码;
步骤2、在执行通过重复性验证的蓝牙名称数据中的指令之后,存储去重标识码;
步骤3、在执行通过重复性验证的蓝牙名称数据中的指令之前,执行对蓝牙名称数据进行重复性验证的步骤时,根据去重标识码进行判断,如果所述去重标识码未被存储,则执行所述通过重复性验证的蓝牙名称数据中的指令。
s308:去重校验确定为未执行广播内容时,执行通过安全性验证的蓝牙名称数据中的指令。
实施例三
如图4所示,本申请实施例三提供了防空防灾警报的播报方法中,在所述蓝牙数据为蓝牙名称数据的情况下,蓝牙广播数据进行接收和验证的步骤,包括:
s401:不断搜索蓝牙信号。
将蓝牙模块设置为广播工作模式,使用蓝牙广播数据进行防空防灾警报的播报,只要进入蓝牙信号的覆盖范围,都将收到蓝牙广播数据的内容。由于蓝牙模块的广播工作模式是单向通信的,可以保障防空防灾警报系统的安全。
s402:当获取到蓝牙信号时,判断蓝牙信号中,是否存在蓝牙广播数据。
s403:接收蓝牙广播数据,直至通信空闲时间达到预设的时间阈值。
在使用蓝牙广播数据作为蓝牙数据,通过蓝牙广播数据进行防灾信息数据的发送时,对蓝牙广播数据的接收是一个字节一个字节进行的,每接收到一个字节的蓝牙广播数据后,对通信空闲时间进行计时;一般情况下,每接收到一个字节的蓝牙广播数据后,从0开始对通信空闲时间进行计时。另外,计时时可以采用毫秒ms作为计时单位。
当所述通信空闲时间超过预设的时间阈值时,停止接收所述蓝牙广播数据,进入所述验证接收到的所述蓝牙广播数据是否完整的步骤。例如,如果通信空闲时间达到100ms,就停止接收蓝牙广播数据,进入验证接收到的蓝牙广播数据是否完整的步骤。
s404:根据每个数据帧中携带的帧结束标识,将接收到的所述蓝牙广播数据划分为至少一个数据帧;其中,每个所述数据帧中最多包含预设数量个字节,并校验每帧是否完整。
在使用蓝牙广播数据作为蓝牙数据,通过蓝牙广播数据进行防灾信息数据的发送时,通常是以数据帧为单位进行的,不同的蓝牙模块,一个数据帧的长度不同。如果蓝牙广播数据较长、内容较多,需要使用多个数据帧进行蓝牙广播数据的发送。
而在蓝牙广播数据接收过程中,蓝牙广播数据是一个字节一个字节进行接收的,并且,由于使用蓝牙信号进行数据的通信,因此,在数据通信过程中,由于蓝牙信号强度问题、或者用户处于移动过程中的问题,可能存在数据丢失、损坏等情况,造成蓝牙广播数据接收不全。
因此,为了保证蓝牙信号覆盖范围之内的所有安装了移动终端都能接收到完整的信息,需要在接收过程中执行补包及组包操作。
首先,需要根据每个数据帧中携带的帧结束标识,将接收到的所述蓝牙广播数据划分为至少一个数据帧。如果蓝牙广播数据为单帧数据,上述数据帧只有一个,并且这一帧单帧数据的长度不固定,最多包含预设数量个字节。不同的蓝牙模块,预设数量个字节的个数不同。如果蓝牙广播数据为多帧数据,上述数据帧为至少两个,最后一帧数据的长度不固定,最多包含预设数量个字节。其余帧数据的长度固定,为预设数量个字节。不同的蓝牙模块,预设数量个字节的个数不同。
并且,针对每个数据帧,根据该数据帧携带的字节数量信息,校验该帧是否完整。
s405:获取蓝牙广播数据的首个数据帧,提取蓝牙广播数据的总帧数,判断蓝牙广播数据是单帧数据还是多帧数据;若蓝牙广播数据为单帧数据,则直接进入校验步骤,判断蓝牙广播数据的安全性。
s406:若蓝牙广播数据为多帧数据,则轮询接收多帧数据,当通信空闲时间达到预设的时间阈值时,判断多帧数据的蓝牙广播数据内容是否收全,若未收全,则进行补包操作,补包操作即为轮询接收多帧数据中未接收到的空缺帧,每次通信空闲时间达到预设的时间阈值时,重复上述操作,直到多帧内容收全为止。
s407:蓝牙广播数据收全后,进行密钥校验,判断蓝牙广播数据的安全性。
蓝牙信号可能会被空中截获,也有可能遭到反编译,从而导致通信协议泄露,让非法人员扰乱防空防灾警报的正常发送过程,造成警报误鸣,扰乱社会秩序,甚至发生传递违法违规信息等重大群体性安全隐患。综上,人防应用领域对通信安全要求极高,因此,需要采用密钥校验,防范安全隐患于未然。优选的可以采用非对称加密技术对蓝牙广播数据进行加密,在获取蓝牙广播数据后,首选可以根据预设的密钥,对所述蓝牙广播数据进行密钥校验。
s408:若蓝牙广播数据通过密钥校验之后,确定为合法,则进行根据第一内容校验码和第二内容校验码进行内容校验。
除了密钥校验,另外一种增加蓝牙信号发送安全性的方法,是对蓝牙广播数据进行内容校验,可以采用下述步骤1-步骤3进行:
步骤1、从所述蓝牙广播数据的首个数据帧中,提取第一内容校验码;具体的,可以采用校验和的方式计算得到第一内容校验码。
步骤2、根据所述蓝牙广播数据中的每个字节进行计算,得到第二内容校验码;具体的,可以采用校验和的方式计算得到第二内容校验码,由于计算方式相同,因此,如果蓝牙广播数据正确,第一校验码和第二校验码会相同。
步骤3、如果所述第一内容校验码和所述第二内容校验码相同,则所述蓝牙广播数据通过安全性验证。
s409:内容校验合法之后,根据去重标识码进行去重校验。
为了保证在防空防灾警报的响应周期,无论远距离还是近距离的移动设备都能接收到防空防灾警报,因此,在整个相应周期,蓝牙信号进行循环广播,并且每一次循环都要分两次蓝牙信号发射,以较高功率发射一次蓝牙信号,再以较低功率发射一次蓝牙信号。并且,如图5所示,如果蓝牙信号覆盖了相邻的a、b两个小区,当移动终端在高速运动状态时,有可能在响应周期内跨越两个小区,甚至更多小区。为了防止已经播报过的防空防灾警报重复播报,可以对蓝牙广播数据进行重复性验证,具体的,可以采用下述步骤1-步骤3进行:
步骤1、从蓝牙广播数据提取去重标识码。
步骤2、在执行通过重复性验证的蓝牙广播数据中的指令之后,存储去重标识码。
步骤3、在执行通过重复性验证的蓝牙广播数据中的指令之前,根据去重标识码进行判断,如果去重标识码未被存储,则执行通过重复性验证的蓝牙广播数据中的指令。
如图5所示,蓝牙覆盖相邻的a、b两个小区,当移动终端在高速行驶状态,会有可能在响应周期内跨越两个小区,甚至更多小区;当移动终端在a小区已经收到蓝牙信息中的蓝牙广播数据并播报了防空防灾警报,会记录已播报的蓝牙广播数据的去重标识码,漫游到b小区时,收到携带同样的去重标识码的防灾信息数据不会重复播报;当移动终端在a小区收到蓝牙信息中的蓝牙广播数据,但未将蓝牙广播数据接收全,漫游到b小区时,会继续接收蓝牙广播数据补全蓝牙广播数据中携带的防灾信息数据内容,然后进行播报。
s410:去重校验确定为未执行广播内容时,执行通过安全性验证的蓝牙广播数据中的指令。
实施例四
如图6所示,本申请实施例四提供了防空防灾警报的播报方法中,执行通过安全性验证的蓝牙数据中的指令的步骤,包括:
s601:收到合法需执行的警报播报指令。
s602:直接播放警报,同时记录播放日志并上报到服务器。
具体的,可以采用图7所示的警报播报步骤:
s701:收到合法需执行的智能语音文件;
s702:通过tts语音解析成音频并播放;
s703:记录播放日志并上报到服务器。
s603:警报播放并且用户知悉之后,系统自动判断是否有后续需要关联执行的指令。
s604:若有关联指令,如疏散引导/掩蔽引导等,直接启动关联指令的执行。
实施例五
如图8所示,本申请实施例五提供了防空防灾警报的播报方法中,执行通过验证的蓝牙数据中的疏散指令的步骤,包括:
s801:当收到携带有疏散指令的蓝牙数据,或执行播放操作之后,蓝牙数据还携带有疏散引导的关联指令时,执行疏散引导操作。
这里,疏散指令为:为所述用户提供引导信息,引导所述用户前往疏散地点进行疏散的指令
s802:获取用户选择的疏散方式。
具体的,疏散方式包括:自行前往和统一前往。这里,也可以接收蓝牙数据中携带的疏散方式。
s803:当所述疏散方式为统一前往时,则自动启动导航到疏散集结地的地址,同时若能连通民用网络服务则上报疏散人员信息。
s804:当所述疏散方式为自行前往时,则自动启动导航到疏散地的地址,同时若能连通民用网络服务则上报疏散人员信息。
s805:然后判断系统是否能够连接民用网络,例如因特网。
s806:如果未能连接民用网络,则自动启用本地导航服务,以疏散地点为目的地,进行导航。
s807:若能连接民用网络,则由用户选择是否使用第三方导航工具。
这里,也可以由用户选择使用何种第三方导航工具进行导航。
s808:在用户进行选择后,打开第三方导航工具,使用用户选择的第三方导航工具,以疏散地点为目的地,进行导航。
第三方导航工具的应用内容更丰富,也更适合用户平时的使用习惯。
实施例六
如图9所示,本申请实施例六提供了防空防灾警报的播报方法中,执行通过验证的蓝牙数据中的掩蔽指令的步骤,包括:
s901:当收到携带有掩蔽指令的蓝牙数据,或执行播放操作之后,蓝牙数据还携带有掩蔽引导的关联指令时,执行掩蔽引导操作。
具体的,掩蔽指令为:为所述用户提供引导信息,引导所述用户去往掩蔽地点进行掩蔽的指令;
s902:自动判断是否能连接民用网络,例如因特网,如能民用网络则上报掩蔽人员信息。
s903:若能连接民用网络,则由用户选择是否使用第三方导航工具,也可以由用户选择使用何种第三方导航工具进行导航。
s904:如果未能连接民用网络,或用户选择不使用第三方导航工具,则自动启用本地导航服务,以掩蔽地点为目的地,进行导航。
s905:如果能连接民用网络,且用户选择使用第三方导航工具,在用户进行选择后,使用用户选择的第三方导航工具,以掩蔽地点为目的地,进行导航。
实施例七
如图10所示,本申请实施例七提供的防空防灾警报的播报方法中,在执行疏散指令时,还可以使用蓝牙信号,进行疏散人员信息的传输,包括:
s1001:在通过蓝牙数据收到合法需执行的疏散地点,例如疏散地和/或疏散集结地,的疏散人员信息时,执行疏散人员信息的存储和展示操作。本地存储上述疏散人员信息,作为疏散引导的依据。
s1002:同时弹出包含所述第一疏散人员信息的提醒信息,采用消息提醒的方式提醒用户查阅疏散人员信息详情。
s1003:若用户需要查询疏散人员信息详情,则直接跳到浏览页面,为用户提供每个疏散地和/或疏散集结地的疏散人员信息详情。
实施例八
如图11所示,本申请实施例八提供的防空防灾警报的播报方法中,在执行掩蔽指令时,还可以使用蓝牙信号,进行掩蔽人员信息的传输,包括:
s1101:在通过蓝牙数据收到合法需执行的掩蔽地点的掩蔽人员信息时,执行掩蔽人员信息的存储和展示操作。本地存储上述掩蔽人员信息,作为掩蔽引导的依据。
s1102:同时弹出包含所述掩蔽人员信息的提醒信息,采用消息提醒的方式提醒用户查阅掩蔽人员信息详情。
s1103:若用户需要查询掩蔽人员信息详情,则直接跳到浏览页面,为用户提供每个掩蔽地点的掩蔽人员信息详情。
实施例九
如图12所示,本申请实施例九提供的防空防灾警报的播报方法中,还可以通过蓝牙数据进行警报试鸣操作,警报试鸣功能主要应用于平时,用于进行增强公民的防空防灾意识,增长公民的防空防灾技能,提高公民参与人防建设的自觉性,包括:
s1201:人防办每年一度的警报试鸣时,获取用户当前的地理位置信息,根据地理位置信息和预设的与上述地理位置信息对应的当地试鸣时间,自动启动评测程序,接收蓝牙数据,并执行蓝牙数据中的警报试鸣指令,直接进入当地的警报试鸣评测。
这里,用户的地理位置信息可以包括:用户当前的地理位置定位信息,或用户自行输入的地理位置信息。
s1202:根据警报试鸣指令,启动评测问卷程序。
s1203:获取用户根据所述评测问卷程序形成的评测结果,并将所述评测结果通过民用网络上传至服务器。
后续服务器端可以依据评测结果进行警报试鸣效果的统计分析,从而为防空警报建设提供实际依据,使防空警报试鸣形成一个闭环。
实施例十
本申请实施例十提供的防空防灾警报的播报方法中,还可以通过蓝牙数据进行人防知识的宣传操作,人防知识推荐功能主要应用于平时,用于进行增强公民的防空防灾意识,增长公民的防空防灾知识和技能,服务器端会不断更新人防知识,并通过软件更新等方式,将人防知识发送给移动设备,并存储在移动设备本地,用户在移动设备中,可以随时根据目录选择或通过检索进行人防知识的浏览和学习,如图13所示,人防知识推荐操作包括:
s1301:从所述蓝牙数据中提取人防知识推荐数据,并将所述人防知识推荐推送给用户;所述人防知识推荐数据包括人防知识推荐目录。
s1302:在用户根据目录选择或检索后,向用户展示对应的人防知识。浏览学习记录会自动上报到服务器,以便人防办随时统计分析人防宣传教育投放效果。
基于相同的设计构思,本申请实施例还提供一种防空防灾警报的播报装置、电子设备和可读存储介质。
实施例十一
如图14所示,本申请实施例提供的一种防空防灾警报的播报装置1400,包括:
接收模块1401,用于搜索蓝牙信号,当获取到所述蓝牙信号时,对蓝牙数据进行接收;所述蓝牙数据为所述蓝牙信号携带的防灾信息数据;所述蓝牙数据,包括:蓝牙名称数据或蓝牙广播数据中至少一种;所述蓝牙信号,为单向广播发送的蓝牙信号;还用于在所述蓝牙数据不完整时,接收所述蓝牙数据中缺失的部分。
在一种可能的实施方式中,在所述蓝牙数据为蓝牙名称数据的情况下,接收模块1401,具体用于:
判断获取到的所述蓝牙名称数据与现有的蓝牙名称是否相同,如果获取到的所述蓝牙名称数据与现有的蓝牙名称不相同,将获取到的所述蓝牙名称数据作为蓝牙数据进行接收。
在一种可能的实施方式中,在所述蓝牙数据为蓝牙广播数据的情况下,接收模块1401,具体用于:每接收到一个字节的蓝牙广播数据后,对通信空闲时间进行计时;当所述通信空闲时间超过预设的时间阈值时,停止接收所述蓝牙广播数据,进入所述验证接收到的所述蓝牙广播数据是否完整的步骤。
在一种可能的实施方式中,接收模块1401,还包括:完整性验证模块1411,具体用于:
根据每个数据帧中携带的帧结束标识,将接收到的所述蓝牙广播数据划分为至少一个数据帧;其中,每个所述数据帧中最多包含预设数量个字节;针对每个数据帧,根据该数据帧携带的字节数量信息,校验该帧是否完整;当该帧完整时,提取该帧的帧号,并根据所述该帧的帧号判断该帧是否为首个数据帧;如果该帧为首个数据帧,提取所述蓝牙广播数据的总帧数;根据所述总帧数判断所述蓝牙广播数据是单帧数据,还是多帧数据;如果该帧不是首个数据帧,判断所述蓝牙广播数据中是否存在首个数据帧;如果存在首个数据帧,根据每个数据帧的帧号和所述总帧数,判断所述蓝牙广播数据是否完整。
验证模块1402,用于在一轮蓝牙信号接收完毕之后,验证接收到的所述蓝牙数据是否完整;如果所述蓝牙数据完整,对所述蓝牙数据进行安全性验证。
在一种可能的实施方式中,验证模块1402,包括以下至少一个:密钥验证模块1421、内容验证模块1422或去重验证模块1423。
在一种可能的实施方式中,其中,密钥验证模块1421,用于:根据预设的密钥,对所述蓝牙数据进行校验;通过密钥校验的蓝牙数据,通过了所述安全性验证。
在一种可能的实施方式中,内容验证模块1422,用于:从所述蓝牙广播数据的首个数据帧中,提取第一内容校验码;根据所述蓝牙广播数据中的每个字节进行计算,得到第二内容校验码;如果所述第一内容校验码和所述第二内容校验码相同,则所述蓝牙广播数据通过所述安全性验证。
在一种可能的实施方式中,内容验证模块1422,还用于:从所述蓝牙名称数据中,提取第一内容校验码;根据所述蓝牙名称数据中的每个字节进行计算,得到第二内容校验码;如果所述第一内容校验码和所述第二内容校验码相同,则所述蓝牙名称数据通过所述安全性验证。
在一种可能的实施方式中,去重验证模块1423,用于:从所述蓝牙广播数据的首个数据帧中提取去重标识码;在所述执行通过安全性验证的蓝牙数据中的指令之后,存储所述去重标识码;在所述执行通过安全性验证的蓝牙数据中的指令之前,执行所述对所述蓝牙数据进行安全性验证的步骤时,根据所述去重标识码进行判断,如果所述去重标识码未被存储,则执行所述通过安全性验证的蓝牙广播数据中的指令。
在一种可能的实施方式中,去重验证模块1423,还用于:从所述蓝牙名称数据中提取去重标识码;在所述执行通过安全性验证的蓝牙数据中的指令之后,存储所述去重标识码;在所述执行通过安全性验证的蓝牙数据中的指令之前,执行所述对所述蓝牙数据进行安全性验证的步骤时,根据所述去重标识码进行判断,如果所述去重标识码未被存储,则执行所述通过安全性验证的蓝牙名称数据中的指令。
执行模块1403,用于执行通过安全性验证的蓝牙数据中的指令。
在一种可能的实施方式中,执行模块1403,包括以下至少一个:警报播报模块1431、疏散模块1432、掩蔽模块1433、警报试鸣模块1434或人防知识模块1435。
一种可能的实施方式中,其中,警报播报模块1431,用于:
如果所述指令为警报播报指令,从所述蓝牙数据中获取语音播报文本,使用所述语音播报文本进行语音播报。
一种可能的实施方式中,警报播报模块1431,还用于:
使用语音合成tts将所述语音播报文本转换为语音信息;
播放所述语音信息。
一种可能的实施方式中,疏散模块1432,用于:
如果所述指令为疏散指令,获取用户选择的疏散方式;所述疏散指令为:为所述用户提供引导信息,引导所述用户前往疏散地点进行疏散的指令;所述疏散方式包括:自行前往和统一前往;
根据所述疏散方式,从所述蓝牙数据中提取所述疏散方式对应的疏散地点;
以所述疏散地点为目的地,启动导航。
一种可能的实施方式中,疏散模块1432,具体用于:
当所述疏散方式为自行前往时,所述疏散方式对应的疏散地点为疏散地的地址;
当所述疏散方式为统一前往时,所述疏散方式对应的疏散地点为疏散集结地的地址。
一种可能的实施方式中,疏散模块1432,还用于:
验证是否能够连接到民用网络;
如果能够连接到民用网络,询问用户是否选择第三方导航工具,并在所述用户选择第三方导航工具的时,打开所述第三方导航工具,利用所述第三方导航工具进行导航。
一种可能的实施方式中,疏散模块1432,还用于:
判断所述蓝牙数据中,是否存在所述疏散地点对应的第一疏散人员信息;其中,所述第一疏散人员信息包括所述疏散地点的已有人数;
如果存在,存储所述第一疏散人员信息,并弹出包含所述第一疏散人员信息的提醒信息。
一种可能的实施方式中,疏散模块1432,还用于:
判断能否连接到服务器,如果能够连接到服务器,将所述疏散地点对应的第二疏散人员信息上报至服务器;其中,所述第二疏散人员信息为,用户正在前往所述疏散地点的信息。
掩蔽模块1433,用于:
如果所述指令为掩蔽指令,从所述蓝牙数据中提取掩蔽地点;所述掩蔽指令为:为所述用户提供引导信息,引导所述用户去往掩蔽地点进行掩蔽的指令;
以所述掩蔽地点为目的地,启动导航。
警报试鸣模块1434,用于:
如果所述指令为警报试鸣指令,启动评测问卷程序,并获取用户根据所述评测问卷程序形成的评测结果;
并将所述评测结果上传至服务器。
包括人防知识模块1435,用于:
如果所述指令为人防知识推荐,从所述蓝牙数据中提取人防知识推荐数据,并将所述人防知识推荐推送给用户;所述人防知识推荐数据包括人防知识推荐目录。
实施例十二
如图15所示,本申请实施例十二还提供一种电子设备1500,例如移动设备,包括:存储器1501、处理器1502及存储在存储器1501上并可在处理器1502上运行的计算机程序,所述处理器1502执行所述程序时实现实施例一到实施例十任一种可能的实施方式中的步骤。
存储器1501中存储的计算机程序,实现了本申请实施例九提供的模块,包括:接收模块1401、验证模块1402和执行模块1403。其中,验证模块1402,可以包括以下至少一个:密钥验证模块1421、内容验证模块1422或去重验证模块1423。执行模块1403,可以包括以下至少一个:警报播报模块1431、疏散模块1432、掩蔽模块1433、警报试鸣模块1434或人防知识模块1435。
实施例十三
本申请实施例十三还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例一到实施例十任一种可能的实施方式中的步骤。
本申请实施例一至实施例十任一种可能的实施方式提供的方法,可以以软件的形式实现,且目前已经形成智慧人防app产品发布。
综上所述,以上仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。