基于缓冲技术的无线电监测数据查询方法技术

技术编号:13735005 阅读:55 留言:0更新日期:2016-09-21 23:52
本发明专利技术公开了一种基于缓冲技术的无线电监测数据查询方法,包括通用接口模块、数据传输模块、HBase数据库和历史数据编排模块和缓冲模块;通用接口模块、数据传输模块、HBase数据库依次连接,HBase数据库、缓冲模块均与历史数据编排模块连接,本发明专利技术具有查询速度快、查询精度高,可对海量半结构化或者非结构化数据进行快速实时回放的特点。

【技术实现步骤摘要】

本专利技术涉及无线电历史监测数据回放
,尤其是涉及一种可对海量半结构化或者非结构化数据进行快速实时回放的基于缓冲技术的无线电监测数据查询方法
技术介绍
无线电监测是大型运动会、国际会议等活动的安全保障和实时监督检查的重要手段,无线电监测工作用于掌握频率情况、保障无线电频率,迅速查处有害干扰。随着监测设备的发展和监测需求的细化,无线电监测数据的数量呈爆炸式增长,通常一台设备在几个月内的监测数据可达到TB数据级,并且为非结构化或者半结构化监控记录,运用传统的存储和处理方法已经无法满足数据查询的需要;其次,为了节省存储空间,无线电监控数据通常采用字节流的形式进行存储,而观测人员需要在第一时间定位并显示监测数据。目前,无线电监测数据的历史实时回放,通常有以下两种方案:采用分布式的Sqlite数据库的形式对监测数据进行逐条存储,每个分布式的Sqlite大小为2G。该方法适用于低频采样的数据设备,且存储监测数据的历史跨度很小,往往只有几台设备几天的数据量。采用文件系统映射的方法,历史监测数据以文件的形式保存,文件的路径保存于关系型数据库并显示给用户,用户通过文件逐条查询记录。观测人员在查找数据时,需要逐条观测数据,从而定位到需要的观测点,需耗费大量的人力精力,观测人员事先无法概览整个观测数据。可见,目前无线电监测方法不能有效的对海量的半结构化或者非结构化的数据进行快速实时回放。
技术实现思路
本专利技术的专利技术目的是为了克服现有技术中的无线电监测方法对海量半结构化或者非结构化数据进行快速实时回放的不足,提供了一种可对海量半结构化或者非结构化数据进行快速实时回放的基于缓冲技术的无线电监测数据查询方法。为了实现上述目的,本专利技术采用以下技术方案:一种基于缓冲技术的无线电监测数据查询方法,包括通用接口模块、数据传输模块、HBase数据库和历史数据编排模块和缓冲模块;通用接口模块、数据传输模块、HBase数据库依次连接,HBase数据库、缓冲模块、数据传输模块均与历史数据编排模块连接,所述查询方法包括如下步骤:(1-1)历史数据编排模块将原始监测数据的每条记录解封后,读取与每条记录对应的数据帧的帧头,根据帧头信息生成rowkey索引,历史数据编排模块通过API接口将每个数据帧、与每个数据帧关联的rowkey索引批量导入HBase数据库;HBase数据库中设有若干
个设备表;(1-2)通用接口模块接收用户的查询请求,并将查询请求发送给数据传输模块;(1-3)数据传输模块收到查询请求后,以queryid+”query”字段查询数据传输模块的消息表,如果查到消息表,则转入步骤(1-4);如果消息表不存在,数据传输模块生成消息表,消息表包括传输集群kafka的生产者p1、消费者c1、订阅消息queryid+”query”、生产者p2、消费者c2和订阅消息queryid+“request”;(1-4)数据传输模块的kafka集群将查询内容通过p1发送到c1,c1接收到查询内容后,查询HBase的各个设备表中与查询内容的查询设备ID相对应的设备表,如果没找到设备表,则返回一个查询失败的消息格式;历史数据编排模块利用公式计算数据帧的延迟时间m;其中,n为查询内容中的用户查询参数,B为标准延迟毫秒数;(1-4-1)如果找到设备表,以查询内容的查询内容的记录开始时间T1、记录结束时间T2、服务ID和查询频率查询rowkey索引;如果找不到与服务ID或者查询频率匹配的rowkey索引,则返回查询失败的消息;(1-4-2)如果找到与服务ID和查询频率匹配并且T1≤记录时间≤T2的p个rowkey索引构成的rowkey索引组;(1-4-3)选择p个rowkey索引中的记录时间最接近T1的rowkey
索引A,提取HBase数据库的与rowkey索引A对应的数据帧,数据编排模块收到数据帧后,将数据帧存入缓冲模块中;(1-5)查询消息表,通过c1查询与其对应的p2,p2接收历史记录后,达到延迟时间m后,将所述数据帧发给c2,c2将数据帧发送给查询用户;(1-5-1)当p>0,使p值减少1,将rowkey索引A从rowkey索引组中去除,转入步骤(1-4-3)。本专利技术通过独特设计的rowkey索引,将无线电监测数据逐条载入HBase数据库中,并有效防止监测设备过快时在时间重复时记录的重复,支持用户逐记录快速查询;通过数据传输模块的查询条件与rowkey的对应,实现了用户的任意、快速实时的定位并回放数据。作为优选,所述rowkey索引包括1个字节的散列字段、4个字节的时间戳字段、1个字节的监测服务编码字段、4个字节的监测频率字段和4个字节的负载字段。本专利技术通过rowkey索引生成算法控制rowkey索引的长度和内容,在满足区分各条记录的同时,又通过缩短rowkey索引的各个字段,有效降低了存储空间,使历史数据的查询效率有效提升。作为优选,所述时间戳字段利用如下步骤生成:历史数据编排模块读取每帧数据的帧头,获取每帧数据的记录时间,并将记录时间转化为毫秒数,将毫秒数存入时间戳字段。将记录时间的毫秒数保存于rowkey的时间戳字段4个字节中,使精确到毫秒的时间戳保存从17字节下降到4个字节,有效节约了
rowkey的字节空间,提高了查询效率。作为优选,所述散列字段利用如下步骤生成:历史数据编排模块将毫秒数以256取余,其结果保存于散列字段中。作为优选,所述监测服务编码字段利用如下步骤生成:历史数据编排模块获取每帧数据的监测服务编码,将监测服务编码保存在监测服务编码字段中。根据国家标准规定,无线电监测需要满足26种监测服务,分别从1到26开始编码,存入监测服务编码字段中;27至265可用于后续扩展。作为优选,所述负载编码字段利用如下步骤生成:历史数据编排模块获取每帧数据的帧负载,读取帧负载每个字段的值L;利用公式S=2L-1计算每个字段值的变换值S,将各个字段的S相加得到S′,将S′写入rowkey索引的负载编码字段中。根据国家标准规定,无线电监测帧负载中需要实现18个选项。因此只需要占用18位,空余的14位后续扩展用。作为优选,所述步骤(1-2)中,通用接口模块将查询请求以XML的形式发送给数据传输模块。因此,本专利技术具有如下有益效果:查询速度快、查询精度高,可对海量半结构化或者非结构化数据进行快速实时回放。附图说明图1是本专利技术的一种原理示意图;图2是本专利技术的一种流程图。图中:通用接口模块1、数据传输模块2、HBase数据库3、历史数据编排模块4、消息表5、kafka集群6、缓冲模块7。具体实施方式下面结合附图和具体实施方式对本专利技术做进一步的描述。如图1所示的实施例是一种基于缓冲技术的无线电监测数据查询方法,包括通用接口模块1、数据传输模块2、HBase数据库3和历史数据编排模块4和缓冲模块7;通用接口模块、数据传输模块、HBase数据库依次连接,HBase数据库、缓冲模块、数据传输模块均与历史数据编排模块连接,如图2所示,查询方法包括如下步骤:步骤100,生成rowkey索引并将原始监测数据导入HBase数据库历史数据编排模块将原始监测数据的每条记录解封后,读取与每条记录对应的数据帧的帧头,根据帧头信息生成rowkey索本文档来自技高网
...

【技术保护点】
一种基于缓冲技术的无线电监测数据查询方法,其特征是,包括通用接口模块(1)、数据传输模块(2)、HBase数据库(3)和历史数据编排模块(4)和缓冲模块(7);通用接口模块、数据传输模块、HBase数据库依次连接,HBase数据库、缓冲模块、数据传输模块均与历史数据编排模块连接,所述查询方法包括如下步骤:(1‑1)历史数据编排模块将原始监测数据的每条记录解封后,读取与每条记录对应的数据帧的帧头,根据帧头信息生成rowkey索引,历史数据编排模块通过API接口将每个数据帧、与每个数据帧关联的rowkey索引批量导入HBase数据库;HBase数据库中设有若干个设备表;(1‑2)通用接口模块接收用户的查询请求,并将查询请求发送给数据传输模块;(1‑3)数据传输模块收到查询请求后,以queryid+”query”字段查询数据传输模块的消息表,如果查到消息表,则转入步骤(1‑4);如果消息表不存在,数据传输模块生成消息表(5),消息表包括传输集群kafka的生产者p1、消费者c1、订阅消息queryid+”query”、生产者p2、消费者c2和订阅消息queryid+“request”;(1‑4)数据传输模块的kafka集群(6)将查询内容通过p1发送到c1,c1接收到查询内容后,查询HBase的各个设备表中与查询内容的查询设备ID相对应的设备表,如果没找到设备表,则返回一个查询失败的消息格式;历史数据编排模块利用公式计算数据帧的延迟时间m;其中,n为查询内容中的用户查询参数,B为标准延迟毫秒数;(1‑4‑1)如果找到设备表,以查询内容的查询内容的记录开始时间T1、记录结束时间T2、服务ID和查询频率查询rowkey索引;如果找不到与服务ID或者查询频率匹配的rowkey索引,则返回查询失败的消息;(1‑4‑2)如果找到与服务ID和查询频率匹配并且T1≤记录时间≤T2的p个rowkey索引构成的rowkey索引组;(1‑4‑3)选择p个rowkey索引中的记录时间最接近T1的rowkey索引A,提取HBase数据库的与rowkey索引A对应的数据帧,数据编排模块收到数据帧后,将数据帧存入缓冲模块中;(1‑5)查询消息表,通过c1查询与其对应的p2,p2接收历史记录后,达到延迟时间m后,将所述数据帧发给c2,c2将数据帧发送给查询用户;(1‑5‑1)当p>0,使p值减少1,将rowkey索引A从rowkey索引组中去除,转入步骤(1‑4‑3)。...

【技术特征摘要】
1.一种基于缓冲技术的无线电监测数据查询方法,其特征是,包括通用接口模块(1)、数据传输模块(2)、HBase数据库(3)和历史数据编排模块(4)和缓冲模块(7);通用接口模块、数据传输模块、HBase数据库依次连接,HBase数据库、缓冲模块、数据传输模块均与历史数据编排模块连接,所述查询方法包括如下步骤:(1-1)历史数据编排模块将原始监测数据的每条记录解封后,读取与每条记录对应的数据帧的帧头,根据帧头信息生成rowkey索引,历史数据编排模块通过API接口将每个数据帧、与每个数据帧关联的rowkey索引批量导入HBase数据库;HBase数据库中设有若干个设备表;(1-2)通用接口模块接收用户的查询请求,并将查询请求发送给数据传输模块;(1-3)数据传输模块收到查询请求后,以queryid+”query”字段查询数据传输模块的消息表,如果查到消息表,则转入步骤(1-4);如果消息表不存在,数据传输模块生成消息表(5),消息表包括传输集群kafka的生产者p1、消费者c1、订阅消息queryid+”query”、生产者p2、消费者c2和订阅消息queryid+“request”;(1-4)数据传输模块的kafka集群(6)将查询内容通过p1发送到c1,c1接收到查询内容后,查询HBase的各个设备表中与查询内容的查询设备ID相对应的设备表,如果没找到设备表,则返回一
\t个查询失败的消息格式;历史数据编排模块利用公式计算数据帧的延迟时间m;其中,n为查询内容中的用户查询参数,B为标准延迟毫秒数;(1-4-1)如果找到设备表,以查询内容的查询内容的记录开始时间T1、记录结束时间T2、服务ID和查询频率查询rowkey索引;如果找不到与服务ID或者查询频率匹配的rowkey索引,则返回查询失败的消息;(1-4-2)如果找到与服务ID和查询频率匹配并且T1≤记录时间≤T2的p个rowkey索引构成的rowkey索引组;(1-4-3)选择...

【专利技术属性】
技术研发人员:马高峰黄剑琪凌文杰吕灵通赵智航
申请(专利权)人:华信咨询设计研究院有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1