一种IoT数据采集系统的工作方法及系统与流程

文档序号:16672991发布日期:2019-01-18 23:43阅读:478来源:国知局
一种IoT数据采集系统的工作方法及系统与流程

本发明涉及食品安全的物联网应用领域,特别是一种iot数据采集系统的工作方法及系统。



背景技术:

食品安全问题一直是社会关注的热点,食品质量问题影响食品行业的发展。食品质量检测作为食品质量安全监测的重要一环,有效地保障食品质量监测的有效性、准确性尤为重要。传统数据采集方法是通过人工读取仪器数据,记录后再将数据输入相应业务系统,且当数据量较大时,数据的传输成本和存储成本也将大幅度提高,其工作效率极低且容易产生失误。另外,随着大数据技术的日趋成熟,食品安全大数据也影响着食品质量安全,传统的人工数据读取方法将不能满足海量的食品安全数据采集,影响食品安全数据分析,最终影响食品质量安全监测。



技术实现要素:

本发明的目的在于,提供一种iot数据采集系统的工作方法及系统。本发明能够满足高效率的数据采集、传输、存储,有助于食品安全监测。

本发明的技术方案:一种iot数据采集系统的工作方法,按下述步骤进行:

a.http服务群接收来自前置机的设备输出数据,并将设备输出数据组装成数据信息,将数据信息传给分布式消息服务模块,由分布式消息服务模块产生消息服务;

http服务群将来自前置机的数据文件传给dfs系统和oss系统,将数据信息传给分布式消息服务模块;

b.检测机构的mysql服务器将仪器信息传至iot数据采集系统的mysql服务器;

c.dfs系统将数据文件传至dataprocessor模块;同时,数据信息也经分布式消息服务模块传至dataprocessor模块;

所述的消息服务作为系统总线,生成业务组定阅对应的消息;

dataprocessor模块根据业务组定阅对应的消息,对数据文件实时处理,产生最终业务数据;

d.最终业务数据经分布式消息服务模块形成另一消息服务;

http服务群分别形成数据结果和系统设置信息,经前置机推送给互联网上的应用,达到系统间互动;

e.将http服务群中的数据文件、日志和前置机状态信息存储于iot数据采集系统的mysql服务器中;

将所述的数据、日志和前置机状态信息通过webapi提供给运营人员、dataprocessor模块及监控中心进行操作;

f.监控中心通过webapi对平台各模块进行监控,提供前置机与http服务群的状态、分布式消息服务模块性能进程以及dfs系统状态的监控信息;

g.将dataprocessor模块中分析处理后的所有数据上传至外部lims系统。

前述的iot数据采集系统的工作方法所述步骤c中,最终业务数据的产生如下:在dataprocessor模块中,运营人员通过webapi设置规则引擎进行和数据分析规则;线程池通过规则引擎调用数据分析规则,经由messagelistener进行分布式存储和分布式计算,实时地对数据进行分析,并产生最终业务数据。

前述的iot数据采集系统的工作方法中,所述的http服务群的工作方法如下:

a1.接收到前置机的状态汇报,查询前置机信息表,记录汇报次数与时间,前置机状态信息存入监控数据库influxdb,返回给前置机机构代码;

b1.接收来自前置机的正常任务和补采任务,接收文件或json数据,解压数据文件,上传到dfs系统和oss中,并记录上传路径,存入文件表中;同时,把该文件的上传路径与记录id存入json数据中构成iot数据采集系统id,成功后发送200状态码给前置机;

c1.创建iot数据采集系统任务;

d1.把组装好的步骤b1中的json串即数据信息发送给分布式消息服务队列;

e1.记录日志和日志详情。

前述的iot数据采集系统的工作方法所述的步骤c1中,当iot数据采集系统任务的状态需修改时,需记录日志并发送解析完成之后的json数据到前置机;修改流程如下:

a2.从分布式消息服务模块中获取消息接受者存入的json数据;

b2.根据json数据中的iot数据采集系统id获取任务表中的任务;

c2.从任务表中获取http服务器创建任务时存入mysql的last_send2kafka_json字段;

d2.从last_send2kafka_json中获取前置机的ip;

e2.将从分布式消息服务模块中获取的json数据发送到前置机;

f2.前置机返回状态码和接收到数据的任务结束时间;

g2.根据状态码以及json数据中的任务状态判断任务成功和失败:若前置机返回200,且json数据中issuccess=1,任务成功;若前置机返回200,且json数据中issuccess=0,任务失败;若前置机返回400,任务失败;

h2.根据前置机返回的时间设置任务结束时间和任务结束状态isend=1;

i2.更新任务表;

j2.写入日志。

前述的iot数据采集系统的工作方法中,所述的分布式消息服务模块包括brokercluster、partition备份模块、数据多分片存储单元和消费端;所述的分布式消息服务模块的工作方法如下:

a3.利用多brokercluster接收由http服务集群发送来的数据信息,管理消息服务;

b3.在消费端的作用下,brokercluster组织消息,采用spark支持与消息服务的实时流接入,形成满足消费者需求的订阅信息;

c3.订阅信息经数据多分片存储单元存储;

d3.将数据文件发送至业务方,经由业务方多进程/线程接收数据并处理,形成最终数据;

e3.利用partition备份模块,对处理后的最终数据、经brokercluster组织管理形成的订阅消息进行备份;

f3.业务方将最终数据,通过消息服务推送给互联网上的相关应用。

前述的iot数据采集系统的工作方法中,所述的dataprocessor模块采用messagelistener对分布式消息服务模块中的数据信息进行处理,messagelistener的框架如下:

a4.messagelistener对分布式消息服务模块进行监听,获取来源于分布式消息服务模块的数据信息;

b4.由messagelistener判断数据信息;

b41.若数据信息属于仪器数据文件解析者,判断仪器数据文件类型;

若文件类型出错,则形成错误报告信息,接收并记录最终处理结果,将最终的任务状态通知分布式消息服务模块;

若文件类型正确,将数据储于habase中;

b42.若数据信息属于解析者信息,无需判断文件类型,通过threadpool调用ruleengine,应用业务方选择设置的rule,将数据文件存储于habase中;

b43.若数据信息不属于解析者信息,则形成错误报告信息,接收并记录最终处理结果,将最终的任务状态通知分布式消息服务模块;

c4.数据处理者对hbase中的数据进行处理;

若处理出错,则形成错误报告信息,由messagelistener接收并记录最终处理结果,将最终的任务状态通知分布式消息服务模块;

若处理正确,获取目标数据,将其输出或保存,并将处理的数据保存到oss系统中;

d4.在步骤c4操作完成后,接收并记录最终处理结果,将最终的任务状态通知分布式消息服务模块。

前述的iot数据采集系统的工作方法中,所述的messagelistener对数据进行处理的方法如下:

a5.messagelistener对分布式消息服务模块进行监听,传入数据信息,在日志表中记录一条日志;

b5.messagelistener根据规则多线程指定处理者;

c5.处理者根据传入的文件信息,在dfspath或osspath上下载文件;

若dfspath为空或者dfs下载失败,则根据osspath去下载文件,且能下载数据文件或一个甚至多个图谱;

d5.步骤b5中所调用的指定处理者根据规则,对不同文件进行字段数据的解析,以及字段类型指定,组装为指定json;

e5.步骤b5中所调用的指定处理者根据再计算规则进行入库计算;

f5.步骤b5中所调用的指定处理者根据规则,将解析获取的json合并成发送地址的指定格式,并以指定方式进行传输或保存,并将最后结果存入hbase,用于页面展示;

g5.将步骤d5~f5的处理结果,包括全部的解析结果、计算结果以及封装结果全部存储于habase;

h5.在步骤d5~f5完成后,按照发送规则,发送数据至相应的应用中;

i5.若步骤c5~f5在处理期间发生的任何异常都记录,将经由messagelistener统一处理,并对处理中的任何异常进行日志存储;

j5.messagelistener将产生的消息发送给分布式消息服务模块,汇报任务处理状态;

k5.将数据和图谱文件保存至oss中;

l5.将封装日志结果发送至messagelistener,并返回封装结果给messagelistener。

前述的iot数据采集系统,包括http服务群、分布式消息服务模块、数据处理模块、分布式存储系统、对象存储服务系统、mysql服务器和其他应用接口;

所述的http服务群,用于接收前置机发送来的数据文件,经过简单处理后发送给系统内部处理程序;同时,接收系统内部处理程序对数据文件的处理结果,并反馈给前置机;

所述的分布式消息服务模块,用于数据传递;

所述的数据处理模块,用于数据传递;数据处理模块包括消息接收单元,线程池,结构化数据分布存储系统和规则引擎;

所述的分布式存储系统,用于文件存储;

所述的象存储服务系统,用于文件存储;

所述的mysql服务器,用于存储来源于http服务群的业务相关数据的关系型数据;

所述的其他应用接口,包括外部检测机构接口,监控中心和lims系统;所述的外部检测机构接口,通过web通讯实现iot数据采集系统与检测机构之间的交互;所述的监控中心,以webapi的形式为系统各模块提供监控信息;所述的lims系统,用于获取数据处理模块的相关数据,实现备份和数据共享。

前述的iot数据采集系统中,所述的http服务群包括loadbalance集群和httplistener集群;所述的loadbalance集群由多台计算机组成,用于对接互联网,共同分担来自互联网的数据提交请求,根据未来业务情况进行自由扩展;

所述的httplistener用于接收来自于互联网的数据后,提交给局域网里的消息服务集群;同时用于接收最终业务数据,并提交给互联网中的相关应用。

前述的iot数据采集系统中,所述的分布式消息服务模块包括brokercluster、partition备份模块、数据多分片存储单元和消费端;

所述的brokercluster,用于接收由http服务集群发送来的数据信息,管理消息服务;

所述的partition备份模块,用于对数据、经brokercluster组织管理形成的订阅消息进行备份;

所述的数据多分片存储单元,用于存储订阅信息;

所述的消费端,用作用户与iot数据采集系统交互的端口。

有益效果

与现有技术相比,本发明具有以下有益效果:

本发明将iot(internetofthings,即物联网)技术应用于食品安全数据采集,形成数据采集智能网络系统构建,建立核心大数据中心,有力推动数据采集业务、数据分析应用和智能决策深远发展。

本发明将iot技术与食品、药品安全大数据融合,提升了食品和药品的生产、流通、检测等整个产业链的监督管理效率。同时,iot技术能更快速、更高效、更智能的从仪器终端获取数据,保证数据信息更全面、来源可保障、内容更丰富、信息更加真实可靠。

本发明通过iot技术将不同的业务检测系统互联,保障各系统数据的集中不分散,实现不同业务系统的数据整合与分析。

本发明通过iot技术,将各检测仪器设备互联,不仅能保证仪器数据实时采集解析,还能对仪器设备进行实时监控,提升了使用机构对仪器的跟踪管理力度。

本发明通过iot技术,能够实现检测仪器设备或系统以及间的互联,利于仪器设备间的交互,促进数据信息共享。

综上所述,本发明不仅能为检验检测机构等多行业用户提供高效的自动数据采集方案,而且针对不同的数据源,均可通过系统配置,实现包括实验室检测数据、设备参数等在内的多种类型数据的自动采集。另外,通过本发明的采集平台,可对数据进行解析、存储、合成,有力提高工作效率和数据存取准确性,进一步拓展数据分析应用。

本发明采用http服务集群、分布式消息服务、messagelistener等搭建iot数据采集系统,在http服务集群的工作步骤中,融合了http服务集群数据高,吞吐量、稳健性高和可靠性高的特点提高了数据采集的效率。

本发明在分布式消息服务集群的工作步骤中,采用了多broker管理消息服务以及partition备份机制、spark支持的消息服务实时接入以及数据多分片存储,体现了高效率的数据传输。

本发明在dataprocessor模块的工作步骤中,分布式计算、分布式存储以及多线程数据处理等,提高了数据存储效率。

附图说明

图1为本发明的工作流程图;

图2为本发明的结构框架图;

图3为前置机的结构框架图;

图4为http服务集群的结构框架图;

图5为http服务集群的工作流程图;

图6为iot平台任务状态修改,记录日志并发送解析完成后的json数据到前置机工作流程图;

图7为分布式消息服务模块的结构框架图;

图8为分布式消息服务模块的工作流程图;

图9为dataprocessor模块结构框架图;

图10为messagelistener结构功能框架图;

图11为messagelistener数据处理流程图。

具体实施方式

下面结合附图和实施例对本发明作进一步的说明,但并不作为对本发明限制的依据。

实施例1。一种iot数据采集系统的工作方法,如图1所示,按下述步骤进行:

a.http服务群接收来自前置机的设备输出数据,并将设备输出数据组装成数据信息,将数据信息传给分布式消息服务模块,由分布式消息服务模块产生消息服务;所述的数据信息,是数据文件在经由http服务群处理后,http服务群组装的json数据。

http服务群将来自前置机的数据文件传给dfs系统(分布式存储系统)和oss系统(对象存储服务系统),将数据信息传给分布式消息服务模块;

前置机通过互联网将数据文件和前置机状态信息提交至http服务群;所述的前置机设置于检测机构内部,带有内外双网卡,并与检测机构的工作站仪器相连接;前置机负责将工作站仪器数据文件采集后发送到iot数据采集系统,并接收来自于iot数据采集系统的数据。前置机同时提供web应用给实验人员使用,如方便用户查询各数据文件的处理结果及“重采集”操作等。

前置机通过检测机构的客户端与检测机构的mysql服务器及实验人员进行交互;前置机通过客户端将检测机构的仪器信息存储于检测机构的mysql服务器或供实验人员查询,mysql服务器生成的日志数据通过客户端供实验人员查询;

b.检测机构的mysql服务器与iot数据采集系统的mysql服务器通过互联网进行信息交互,检测机构的mysql服务器将仪器信息传至iot数据采集系统的mysql服务器;该步骤的作用是:实现两服务器之间的数据共享;

c.上dfs系统(分布式存储系统)将数据文件传至dataprocessor模块(数据处理模块);同时,数据信息也经分布式消息服务模块传至dataprocessor模块;

所述的消息服务作为系统总线,生成业务组定阅对应的消息;消息服务作为系统总线,最大化地形成不同的消息服务,满足来自消费端用户对数据不同的处理需求;

dataprocessor模块根据业务组定阅对应的消息,对数据文件实时处理,产生最终业务数据;

d.最终业务数据经分布式消息服务模块形成另一消息服务;该步骤的作用是:将业务数据通过分布式消息服务,形成订阅消息,推送至各数据求端;

http服务群分别形成数据结果和系统设置信息,经前置机推送给互联网上的相关应用(如客户端),达到系统间互动;系统间互动的目的是为了使得前置机端的用户也能通过相关应用,查看前置机状态信息、iot数据采集系统的状态信息等;

e.将http服务群中的数据文件、日志和前置机状态信息存储于iot数据采集系统的mysql服务器;所述的日志来源于mysql服务器,日志是指数据存储于mysql服务器由mysql服务器产生的反馈信息,包括存储时间节点等;

将存储于mysql服务器的数据、日志和前置机状态信息通过webapi供运营人员、dataprocessor模块及监控中心进行操作,实现mysql服务器与运营人员、dataprocessor模块及监控中心之间的交互;该步骤的作用是:为了将mysql服务器中的数据进行共享,在平台oss、dfs系统出现故障时,mysql服务器可给dataprocessor模块提供数据,以便其进行处理,形成最终业务数据;另外,mysql服务器存储了关于前置机、http服务集群、分布式消息服务集群和dataprocessor模块的状态信息以及日志数据,便于运营人员和监控中心进行查询;

f.监控中心通过平台设置的webapi对平台各模块(各模块指前置机、http服务集群、分布式消息服务集群和dataprocessor模块)进行监控,提供前置机与http服务群的状态、分布式消息服务模块性能进程以及dfs系统状态等监控信息;该步骤的作用是:便于运营人员实时监控所述各模块运行状态;

g.将dataprocessor模块中分析处理后的所有数据上传至外部lims系统,实现数据共享。

前述的步骤c中,最终业务数据的产生如下:在dataprocessor模块中,运营人员通过webapi对规则引擎(ruleengine)进行设置,设置数据分析规则,线程池(threadspool)通过规则引擎(ruleengine)调用数据分析规则,经由messagelistener(消息接收者)进行分布式存储和分布式计算,实时地对数据进行分析,并产生最终业务数据。

node.js和java作为前置机内部程序开发语言与sqlite(数据库)一起作为iot数据采集系统的前置机开发基础。前置机的结构框架如图3所示,前置机包括定时扫描服务、压缩发送模块、对内网/外网的api以及与检测仪器工作站、客户端和iot数据采集系统(简称iot平台)的接口;

定时扫描服务用于:根据系统表中策略执行扫描方式,给iot平台汇报前置机的运行状态,根据仪器配置信息执行扫描策略,把扫描匹配上的文件路径及json数据存储到业务信息表中,并创建任务;

压缩发送模块用于:查询业务信息表中数据的文件路径,找到文件并压缩,把压缩后的文件连同json数据一起发送到iot平台;从iot平台返回200状态码后,调用对内网与外网的api该任务的文件状态;

对内网和对外网的api用于:接收来自iot平台的web页面发送到前置机的系统信息api(外网),提供给前置机web客户端的补采api(内网),修改任务的文件状态api(内网)接收来自iot平台的任务反馈api(外网)。

前置机的工作方法如下:

(1)iot平台的web后台通过对内网与外网的api传输系统信息到前置机;

(2)通过web客户端录入仪器信息到前置机同时通过iot平台提供的接口同步到iot平台;

(3)定时扫描服务根据前置机的系统信息执行定时扫描,从仪器表中获取仪器的路径与相应的扫描配置,扫描匹配上的文件信息,存入业务信息表中,并创建任务;

(4)压缩发送模块查询业务信息表,根据需要发送文件的路径取到文件并压缩和json数据一起发送到iot平台;根据返回的状态调用对内网与外网的api修改任务状态;

(5)内网与外网的api接收来自iot平台的任务返回,修改任务状态。

前述的http服务集群,构成如图4所示,http服务集群包括loadbalance(均衡负载)集群和httplistener集群组成。loadbalance集群对接互联网,由多台计算机组成,避免单点失败,共同分担来自互联网的数据提交请求,根据未来业务情况进行自由扩展。每个httplistener接收来自于互联网的数据后,提交给局域网里的消息服务集群;接收来自于iot平台产生的最终业务数据,并提交给互联网中的相关应用,实现各模块间的互动。另外,每台机器上建立“localcluster(局部集群)”,即根据计算机的cpu核数,可启用“cpu核数”个http服务,尽可能的充分利用机器资源,同时满足单机层次上的避免单点失败及负载均衡。

http服务集群是前置机与iot平台间的门户,接收来自前置机的状态汇报信息,把前置机的运行状况信息存入监控数据库influxdb,同时存储前置机的相应回报信息到iot平台的mysql数据库中;把从前置机发送来的文件进行解压上传到dfs和oss中,组装json数据,发送到分布式消息服务队列中;创建iot平台任务,对应的日志、日志详情;接收经过iot平台解析处理的iot平台任务,发送任务状态到各前置机中;提供同步各前置机的仪器信息api,iot平台任务补采api。

前述的http服务群的工作方法如下(参见图5):

a1.接收到前置机的状态汇报,查询前置机信息表,记录汇报次数与时间,前置机状态信息存入监控数据库influxdb,返回给前置机机构代码;

b1.接收来自前置机的正常任务和补采任务,接收文件或json数据(即数据信息),解压数据文件,上传到dfs系统和oss系统中,并记录上传路径,存入文件表(即任务表)中;同时,把该文件的上传路径与记录id存入json数据中即构成iot数据采集系统id,成功后发送200状态码给前置机;

c1.创建iot数据采集系统任务;

d1.把组装好的步骤b1中的json串即数据信息发送给分布式消息服务队列;

e1.记录日志和日志详情。

前述的步骤c1中,当iot数据采集系统任务的状态需修改时,需记录日志并发送解析完成之后的json数据到前置机;修改流程如下(参见图6):

a2.从分布式消息服务模块中获取消息接受者存入的json数据;

b2.根据json数据中的iot数据采集系统id获取任务表中的任务;

c2.从任务表中获取http服务器创建任务时存入mysql的last_send2kafka_json字段;

d2.从last_send2kafka_json中获取前置机的ip;

e2.将从分布式消息服务模块中获取的json数据发送到前置机;

f2.前置机返回状态码和接收到数据的任务结束时间;

g2.根据状态码以及json数据中的任务状态判断任务成功和失败:若前置机返回200,且json数据中issuccess=1,任务成功;若前置机返回200,且json数据中issuccess=0,任务失败;若前置机返回400,任务失败;

h2.根据前置机返回的时间设置任务结束时间和任务结束状态isend=1;

i2.更新任务表;

j2.写入日志。

前述的分布式消息服务模块采用kafka(分布式发布订阅消息系统)搭建分布式消息服务模块,使其具备高吞吐量、可靠性、扩展性等性能;分布式消息服务模块构成如图7所示,包括brokercluster(节点或网状集群)、partition备份模块、数据多分片存储单元和消费端;所述的分布式消息服务模块的工作方法如下(参见图8):

a3.利用多brokercluster接收由http服务集群发送来的数据信息,管理消息服务;这样能够整体提高系统的吞吐量,避免单点失败,易于扩展;

b3.在消费端的作用下,brokercluster组织消息,采用spark支持与消息服务的实时流接入,形成满足消费者需求的订阅信息;这样使得业务方灵活接入,定阅相关主题的数据即实现集成;

c3.订阅信息经数据多分片存储单元存储;通过数据多分片存储单元存储,能够在提高数据写入效率的同时,实现多消费端并行处理数据,更大程度上提高了系统吞吐量;

d3.将数据文件发送至业务方,经由业务方多进程/线程接收数据并处理,形成最终数据;

e3.利用partition备份模块,对处理后的最终数据、经brokercluster组织管理形成的订阅消息进行备份,避免单点失败,提高数据安全性和可靠性;

f3.业务方将最终数据,通过消息服务推送给互联网上的相关应用,实现互动。

前述的dataprocessor模块,构成如图9所示,由messagelistener(消息接收者)、habase数据库、threadspool(线程池)和ruleengine(规则引擎)组成,设置了分布式消息服务模块、lims和oss等接口,实现了该模块与外部各部的信息交互。dataprocessor模块根据业务场景,选择监听程序,或者直接进入分布式计算;使用规则引挚,满足不同业务处理逻辑;同时,为以后用户的配置面预留接口;对于复杂处理场景,dataprocessor模块可选择直接集成分布式计算,以达到近乎实时的计算水平;监听程序可对数据先进行预处理后,再放入数据中心,再由分布式计算框架进行处理。

前述的dataprocessor模块采用messagelistener(消息接收者)对分布式消息服务模块中的数据信息进行处理,messagelistener的框架如图10所示,具体如下(也即是其功能如下):

a4.messagelistener对分布式消息服务模块进行监听,获取来源于分布式消息服务模块的数据信息;

b4.由messagelistener判断数据信息;

b41.若数据信息属于仪器数据文件解析者,判断仪器数据文件类型;

若文件类型出错,则形成错误报告信息,接收并记录最终处理结果,将最终的任务状态通知分布式消息服务模块;

若文件类型正确,将数据储于habase中;

b42.若数据信息属于解析者信息,无需判断文件类型,通过threadpool调用ruleengine,应用业务方选择设置的rule,将数据文件存储于habase中;解析者信息中包含多种关于数据类型的信息,若数据文件类型不属于解析者信息中的数据类型,则如步骤b43所述形成错误报告信息;

b43.若数据信息不属于解析者信息,则形成错误报告信息,接收并记录最终处理结果,将最终的任务状态通知分布式消息服务模块;即,解析者信息中包含多种关于数据类型的信息,若数据文件类型不属于解析者信息中的数据类型,则形成错误报告信息;

c4.数据处理者对hbase中的数据进行处理;

若处理出错,则形成错误报告信息,由messagelistener接收并记录最终处理结果,将最终的任务状态通知分布式消息服务模块;

若处理正确,获取目标数据,将其输出或保存,并将处理的数据保存到oss系统中;

d4.在步骤c4操作完成后,接收并记录最终处理结果,将最终的任务状态通知分布式消息服务模块。

前述的messagelistener对数据进行处理的方法如下(参见图11):

a5.messagelistener对分布式消息服务模块进行监听,传入数据信息,在日志表中记录一条日志;

b5.messagelistener根据规则多线程指定处理者;一般地,一个处理者处理一个任务;

c5.处理者根据传入的文件信息,在dfspath或osspath上下载文件;

若dfspath为空或者dfs下载失败,则根据osspath去下载文件,且能下载数据文件或一个甚至多个图谱;

d5.步骤b5中所调用的指定处理者根据规则,对不同文件进行字段数据的解析,以及字段类型指定,组装为指定json;

e5.步骤b5中所调用的指定处理者根据再计算规则进行入库计算;

f5.步骤b5中所调用的指定处理者根据规则,将解析获取的json合并成发送地址的指定格式,并以指定方式进行传输或保存,并将最后结果存入hbase,用于页面展示;

g5.将步骤d5~f5的处理结果,包括全部的解析结果、计算结果以及封装结果全部存储于habase;

h5.在步骤d5~f5完成后,按照发送规则,发送数据至相应的应用中;

i5.若步骤c5~f5在处理期间发生的任何异常都记录,将经由messagelistener统一处理,并对处理中的任何异常进行日志存储;

j5.messagelistener将产生的消息发送给分布式消息服务模块,汇报任务处理状态,如成功、异常及异常信息等;

k5.将数据和图谱文件保存至oss系统中;

l5.将封装日志结果发送至messagelistener,并返回封装结果给messagelistener。

前述的iot数据采集系统,构成如图2所示,包括http服务群、分布式消息服务模块、数据处理模块、分布式存储系统、对象存储服务系统、mysql服务器和其他应用接口;

所述的http服务群,用于接收前置机发送来的数据文件,经过简单处理后发送给系统内部处理程序(系统内部处理程序包括数据解压、组装json数组以及形成日志等);同时,接收系统内部处理程序对数据文件的处理结果,并反馈给前置机;

所述的分布式消息服务模块,用于数据传递;

所述的数据处理模块,用于数据传递;数据处理模块包括消息接收单元,线程池,结构化数据分布存储系统和规则引擎;

所述的分布式存储系统,用于文件存储;

所述的象存储服务系统,用于文件存储;

所述的mysql服务器,用于存储来源于http服务群的业务相关数据的关系型数据,如仪器信息、日志数据和数据解析规则等;

所述的其他应用接口,包括外部检测机构接口,监控中心和lims系统;所述的外部检测机构接口,通过web通讯实现iot数据采集系统与检测机构之间的交互;所述的监控中心,以webapi的形式为系统各模块提供监控信息;所述的lims系统,用于获取数据处理模块的相关数据,实现备份和数据共享。

前述的http服务群包括loadbalance集群和httplistener集群;所述的loadbalance集群由多台计算机组成,用于对接互联网,共同分担来自互联网的数据提交请求,根据未来业务情况进行自由扩展;

所述的httplistener用于接收来自于互联网的数据后,提交给局域网里的消息服务集群;同时用于接收最终业务数据,并提交给互联网中的相关应用。

前述的分布式消息服务模块包括brokercluster、partition备份模块、数据多分片存储单元和消费端;

所述的brokercluster,用于接收由http服务集群发送来的数据信息,管理消息服务;

所述的partition备份模块,用于对数据、经brokercluster组织管理形成的订阅消息进行备份;

所述的数据多分片存储单元,用于存储订阅信息;

所述的消费端,用作用户与iot数据采集系统交互的端口;即是对iot平台采集的数据有各种需求的用户获取数据,和对数据处理有需求的人员与iot数据采集系统交互的端口。

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