基于MQ的移动设备数据处理方法及系统与流程

文档序号:16589069发布日期:2019-01-14 18:57阅读:161来源:国知局
基于MQ的移动设备数据处理方法及系统与流程

本发明涉及数据处理技术领域,尤其涉及一种基于mq的移动设备数据处理方法及系统。



背景技术:

消息队列(messagequeue,mq)是ibm公司于20世纪世纪80年代推出的一款消息中间件,目的是在任意两个分布式进程之间进行可靠的数据传输。mq支持异步数据传输,并支持多种底层通信协议,如tcp/ip。mq有许多显著的优点,可在不同的平台上使用相同的应用程序接口,实现跨平台通信,对消息的创建和发送不依赖于时间,增加了处理的灵活性。

在许多重要环境中,都需要进行可靠的文件数据交换,采用传统的通讯手段(比如http、ftp、e-mail等),可靠性、安全性得不到充分保证。

而且,在现有技术中,移动设备原始数据接收环节与质控算法环节未分离,从而导致实际应用端获取数据较慢。



技术实现要素:

本发明的目的是针对现有技术中存在的缺陷,提供一种基于mq的移动设备数据处理方法及系统。

为实现上述目的,第一方面,本发明提供了一种基于mq的移动设备数据处理方法,包括:

多个移动设备采集大气环境监测数据,并将所述大气环境监测数据发送至第一消息队列mq服务器;

所述第一mq服务器将所述大气环境监测数据发送到第二mq服务器,所述第二mq服务器将所述大气环境监测数据进行转换处理,得到大气环境监测数据json字符串;

所述第二mq服务器将所述大气环境监测数据json字符串发送至redis集群,所述redis集群存储所述大气环境监测数据json字符串;

所述质控服务器从所述第二mq服务器中获取所述大气环境监测数据json字符串,将所述大气环境监测数据json字符串进行反编译处理,并提取对象数据;

将所述对象数据与标准环境数据进行比对,得到比对结果,并将所述比对结果存储到所述redis集群;

当所述比对结果在所述redis集群中存储失败时,将存储失败的比对结果生成csv文件并存储到本地;

所述备份服务器按照预设周期查询是否存在csv文件,如果是,则读取所述csv文件,执行所述csv文件中的sql语句,将执行结果存储到所述redis集群。

进一步的,在多个移动设备采集大气环境监测数据,并将所述大气环境监测数据发送至消息队列第一mq服务器之前,所述方法还包括:

所述移动设备向所述第一mq服务器发送第一注册请求信息;

所述第一mq服务器将所述第一注册请求信息存储到第一注册信息数据库,并向所述移动设备发送第一注册成功通知信息。

进一步的,在所述第一mq服务器将所述大气环境监测数据发送到第二mq服务器之前,所述方法还包括:

所述第二mq服务器向所述第一mq服务器发送第二注册请求信息;

所述第一mq服务器将所述第二注册请求信息存储到注册信息数据库,并向所述移动设备发送第二注册成功通知信息。

进一步的,在所述将所述对象数据与标准环境数据进行比对,得到比对结果之后,所述方法还包括:

所述质控服务器将所述比对结果对应的所述大气环境监测数据json字符串进行标记处理。

进一步的,所述redis集群存储所述大气环境监测数据json字符串具体包括:

所述redis集群中的多个redis存储器同步存储所述大气环境监测数据json字符串。

进一步的,所述第二mq服务器将所述大气环境监测数据进行转换处理,得到大气环境监测数据json字符串具体包括:

所述第二mq服务器将所述大气环境监测数据从二进制数据转换成json字符串。

进一步的,在所述第一mq服务器将所述大气环境监测数据发送到第二mq服务器之前,所述方法还包括:

所述第二mq服务器向所述第一mq服务器发送第一数据获取请求,所述第一数据获取请求中包含数据主题信息;

所述第一mq服务器根据所述数据主题信息调用对应的大气环境监测数据。

进一步的,所述将所述大气环境监测数据json字符串进行反编译处理,并提取对象数据具体还包括:

所述质控服务器将所述大气环境监测数据json字符串进行反编译处理,得到大气环境监测实体数据;

根据预设的提取条件从所述大气环境监测实体数据中提取所述对象数据。

第二方面,本发明提供了一种基于mq的移动设备数据处理系统,包括本发明实施例中涉及的移动设备、第一mq服务器、第二mq服务器、redis集群、质控服务器和备份服务器。

本发明提供的基于mq的移动设备数据处理方法及系统,多个移动设备采集大气环境监测数据,第一mq服务器进行数据缓存,第二mq服务器进行数据处理后存储到redis集群,质控服务器从redis集群中获取数据进行质控运算,然后存储到redis集群,当存储失败时,将存储失败的数据生成csv文件并存储到本地,备份服务器按照预设周期查询本地是否存在csv文件,如果是,则读取csv文件,执行csv文件中的sql语句,将执行结果存储到所述redis集群。本发明提供的方法及系统,将大气环境监测数据在第一mq服务器进行缓存,第二mq服务器进行处理,增加了数据处理的灵活性和安全性;将数据接收环节与质控算法环节分开进行,提高了数据获取的速度。

附图说明

图1为本发明实施例一提供的基于mq的移动设备数据处理方法流程图;

图2为本发明实施例二提供的基于mq的移动设备数据处理系统示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

图1为本发明实施例一涉及的基于mq的移动设备数据处理方法流程图。如图1所示,具体包括如下步骤:

步骤101,多个移动设备采集大气环境监测数据,并将大气环境监测数据发送至消息队列第一mq服务器;

其中,移动设备为可移动的大气环境数据采集设备,在污染监测区域不同的监测点设置多个移动设备,移动采集大气环境监测数据并发送到第一mq服务器进行缓存。

在多个移动设备采集大气环境监测数据,并将大气环境监测数据发送至消息队列第一mq服务器之前,所有移动设备需要向第一mq服务器进行注册,移动设备向第一mq服务器发送第一注册请求信息;第一mq服务器将第一注册请求信息存储到第一注册信息数据库,并向移动设备发送第一注册成功通知信息。注册成功之后,移动设备才可以和第一mq服务器进行数据交互。

步骤102,第一mq服务器将大气环境监测数据发送到第二mq服务器,第二mq服务器将大气环境监测数据进行转换处理,得到大气环境监测数据js对象简谱(javascriptobjectnotation,json)字符串;

第二mq服务器向第一mq服务器发送第一数据获取请求,第一数据获取请求中包含数据主题信息;第一mq服务器根据数据主题信息调用对应的大气环境监测数据发送到第二mq服务器。

第二mq服务器将第一mq服务器发送的大气环境监测数据从二进制数据转换成json字符串,目的是易于机器解析和生成,有效地提升网络传输效率。

在第一mq服务器将大气环境监测数据发送到第二mq服务器之前,第二mq服务器需要向第一mq服务器进行注册,第二mq服务器向第一mq服务器发送第二注册请求信息;第一mq服务器将第二注册请求信息存储到注册信息数据库,并向移动设备发送第二注册成功通知信息。注册成功之后,第二mq服务器才可以和第一mq服务器进行数据交互。

步骤103,第二mq服务器将大气环境监测数据json字符串发送至redis集群,redis集群存储大气环境监测数据json字符串;

具体的,第二mq服务器将处理后的大气环境监测数据json字符串发送到redis集群进行存储,redis集群包括多个redis存储器,所有redis存储器通过同步策略同步存储大气环境监测数据json字符串,分布式同步存储的目的是避免造成数据丢失。

步骤104,质控服务器从第二mq服务器中获取大气环境监测数据json字符串,将大气环境监测数据json字符串进行反编译处理,并提取对象数据;

具体的,质控服务器将大气环境监测数据json字符串进行反编译处理,得到大气环境监测实体数据;根据预设的提取条件从大气环境监测实体数据中提取对象数据。其中,对象数据为大气中的污染物,包括pm2.5、pm10、co、o3等能够造成空气污染的有害物质。提取条件根据待提取的对象数据进行设定。

步骤105,将对象数据与标准环境数据进行比对,得到比对结果,并将比对结果存储到redis集群;

质控服务器分别将各项污染物浓度数据与对应的各项污染物排放标准进行比对,标准环境数据依据国家规定的污染物排放标准数据进行设定。将采集到的大气环境监测数据中的污染物数据与国家标准进行比对,根据比对结果来确定是否存在污染物排放超标的问题,并将得到的比对结果存储到redis集群。

在质控服务器将对象数据与标准环境数据进行比对,得到比对结果之后,质控服务器将比对结果对应的大气环境监测数据json字符串进行标记处理。将比对处理之后已经产生比对结果的原始大气环境监测数据进行标记,避免重复处理。

步骤106,当比对结果在redis集群中存储失败时,将存储失败的比对结果生成逗号分隔值(comma-separatedvalues,csv)文件并存储到本地;

当出现网络中断或者延迟的情况下,质控服务器处理之后的比对结果没有成功存储到redis集群的数据库中,则将这些数据生成csv文件存储到本地,后续通过备份服务器进行处理。

步骤107,备份服务器按照预设周期查询是否存在csv文件,如果是,则读取csv文件,执行csv文件中的sql语句,将执行结果存储到redis集群。

备份服务器定期查询是否存在csv文件,如果存在,则说明存在没有成功写入redis集群的数据库中的数据,通过程序读取csv文件,并执行csv文件中的sql语句,得到执行结果存储到redis集群的数据库中,从而避免数据丢失,保证所有比对结果都存储到redis集群的数据库中。执行完毕后清除之前保存的csv文件。

本发明提供的基于mq的移动设备数据处理方法,多个移动设备采集大气环境监测数据,第一mq服务器进行数据缓存,第二mq服务器进行数据处理后存储到redis集群,质控服务器从redis集群中获取数据进行质控运算,然后存储到redis集群,当存储失败时,将存储失败的数据生成csv文件并存储到本地,备份服务器按照预设周期查询本地是否存在csv文件,如果是,则读取csv文件,执行csv文件中的sql语句,将执行结果存储到所述redis集群。本发明提供的方法及系统,将大气环境监测数据在第一mq服务器进行缓存,第二mq服务器进行处理,增加了数据处理的灵活性和安全性;将数据接收环节与质控算法环节分开进行,提高了数据获取的速度。

图2为本发明实施例二提供的基于mq的移动设备数据处理系统示意图。如图2所示,系统包括:多个移动设备1(移动设备11、移动设备12、…移动设备1n)、第一mq服务器2、第二mq服务器3、redis集群4(redis存储器41、redis存储器42、…redis存储器4n)、质控服务器5和备份服务器6。

多个移动设备1采集大气环境监测数据,并将大气环境监测数据发送至第一消息队列mq服务器;第一mq服务器2将大气环境监测数据发送到第二mq服务器3,第二mq服务器3将大气环境监测数据进行转换处理,得到大气环境监测数据json字符串;第二mq服务器3将大气环境监测数据json字符串发送至redis集群4,redis集群4存储大气环境监测数据json字符串;质控服务器5从第二mq服务器3中获取大气环境监测数据json字符串,将大气环境监测数据json字符串进行反编译处理,并提取对象数据;将对象数据与标准环境数据进行比对,得到比对结果,并将比对结果存储到redis集群4;当比对结果在redis集群4中存储失败时,将存储失败的比对结果生成csv文件并存储到本地;备份服务器6按照预设周期查询是否存在csv文件,如果是,则读取csv文件,执行csv文件中的sql语句,将执行结果存储到redis集群4。

本申请实施例二提供的基于mq的移动设备数据处理系统的具体工作过程和实施例一提供的基于mq的移动设备数据处理方法对应,此处不再赘述。

本发明提供的基于mq的移动设备数据处理系统,多个移动设备采集大气环境监测数据,第一mq服务器进行数据缓存,第二mq服务器进行数据处理后存储到redis集群,质控服务器从redis集群中获取数据进行质控运算,然后存储到redis集群,当存储失败时,将存储失败的数据生成csv文件并存储到本地,备份服务器按照预设周期查询本地是否存在csv文件,如果是,则读取csv文件,执行csv文件中的sql语句,将执行结果存储到所述redis集群。本发明提供的方法及系统,将大气环境监测数据在第一mq服务器进行缓存,第二mq服务器进行处理,增加了数据处理的灵活性和安全性;将数据接收环节与质控算法环节分开进行,提高了数据获取的速度。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1