一种监控物联设备控制状态的方法技术

技术编号:21139918 阅读:17 留言:0更新日期:2019-05-18 04:50
本发明专利技术公开了一种监控物联设备控制状态的方法,包括移动端APP、连接器、云端服务器,通过将移动端APP发送的控制命令、连接器发送的回复命令及连接器上报状态的反馈命令通过MQTT转发至云端服务器,由云端服务器进行解析并处理,具体通过命令中字段去判断本次控制的状态,最后再通过云端服务器将汇总的最终的控制结果进行反馈及展示。通过本发明专利技术的方法可以使开发人员快速发现设备控制的问题,从而准确定位并且解决问题,可节约时间成本,且控制结果可通过图表展示,可以清楚的给客户展示设备的情况,提高客户对设备的了解。

【技术实现步骤摘要】
一种监控物联设备控制状态的方法
本专利技术涉及智慧家庭监控物联设备的控制
,特别涉及一种监控物联设备控制状态的方法。
技术介绍
物联设备对智慧家庭作用至关重要,智能家居越来越受到人们的关注,但是目前缺乏有效的手段直观正确的看到设备的控制情况。对于开发人员来说不能非常明显的看到设备的情况,然后去完善设备端的开发,此时,则需要通过监控平台收集控制信息,进行一系列的处理以使开发人员快速定位问题和评估设备,使物联设备更加完善。
技术实现思路
本专利技术的目的是克服上述
技术介绍
中不足,提供一种监控物联设备控制状态的方法,可以使开发人员快速发现设备控制的问题,从而准确定位并且解决,节约时间成本,且控制结果可通过图表展示,可以清楚的给客户展示设备的情况,提高客户对设备的了解。为了达到上述的技术效果,本专利技术采取以下技术方案:一种监控物联设备控制状态的方法,主要是将移动端APP发送的控制命令、连接器发送的回复命令及连接器上报状态的反馈命令通过MQTT转发至云端服务器,由云端服务器进行解析并处理,具体通过命令中字段去判断本次控制的状态,最后再通过云端服务器将汇总的最终的控制结果显示在浏览器中,且优选以图表的形式对设备的状态进行显示。本方法中,一条移动端APP发送的控制命令即会触发生成一条与之对应的连接器发送的回复命令及一条与上述两条命令对应的连接器上报状态的反馈命令,即上述三条命令即构成了一组完整的控制命令。具体的,所述移动端APP发送的控制命令是指移动端APP发出的告知连接器需要控制的设备的指令,该命令由移动端APP发送至MQTT,由MQTT转发至云端服务器并同时转发至对应的连接器;其中,移动端APP发送的控制命令中带有移动端APP生成的一个唯一标识及需要控制的设备的设备ID;连接器发送的回复命令则是指由连接器控制设备后需要回复给移动端APP的消息,具体也是由连接器发送至MQTT,由MQTT转发至云端服务器并同时转发至对应的移动端APP,其中,连接器发送的回复命令中也带有唯一标识,该唯一标识与其对应收到的移动端APP发送的控制命令中带有的唯一标识一致,且连接器发送的回复命令中也带有其控制的设备的设备ID;连接器上报状态的反馈命令则是指连接器上报至云端服务器本次控制结果的反馈信息,连接器上报状态的反馈命令中也带有与上述两条命令的唯一标识一致的唯一标识及被反馈状态的设备的设备ID。即本方法中,每组控制命令内的三条命令均具有一个相同的唯一标识,即三条命令中均需要包含这个唯一标识。由于移动端APP会将向连接器发出的控制命令实时上传至云端服务器的MQTT,同时,连接器也会将其反馈给移动端APP的信息以及相应的控制结果实时上传至云端服务器的MQTT,为了减轻服务器压力,本专利技术中通过高吞吐量的分布式发布订阅消息系统Kafka对上传至云端服务器的命令进行缓冲,同时,使用基于分布式文件存储的数据库mogodb存储云端服务器的最终处理结果,从而实现以减轻存储压力的效果,在云端服务器中,收到的所有命令在处理时将会封装为一个JAVABean然后再进行相应的业务处理。为了加快命令的处理效率,本方法中采用通过使用多线程的方式对命令进行解析处理,将每一个控制命令的业务分为一个线程进行处理,即分别在单独的线程中处理移动端APP发送的控制命令、连接器发送的回复命令及连接器上报状态的反馈命令。为了解决因为网络等原因导致的命令到来的先后顺序发生乱序的问题,主要为连接器上报状态的反馈命令的乱序,如从逻辑上来说,连接器上报状态的反馈命令应是一组完整的控制命令中最后上报及处理的命令,如果出现乱序会导致不能正确判断控制状态,则本方法中,通过在处理命令线程中加入redis缓存来解决乱序问题,具体为,云端服务器在处理连接器上报状态的反馈命令时,先从momgodb通过唯一标识查询是否存在其他相应的记录(如是否存在包含同一唯一标识的移动端APP发送的控制命令或连接器发送的回复命令),如果不存在则表示该连接器上报状态的反馈命令出现了乱序,则存入缓存中,然后,当处理移动端APP发送的控制命令和连接器发送的回复命令时,则先从缓存中查找是否有对应的(唯一标识相同的)连接器上报状态的反馈命令,若有,则对该连接器上报状态的反馈命令进行下一步处理。在本专利技术的方法中,云端服务器根据各控制命令即可对当前被控制设备的状态做出相应的判断,从而得出各被控制设备的状态,并生成相应的反馈,被控制设备的状态一般包含以下几种:连接器超时、连接器回复超时、控制成功、控制失败、冲离。其中,当云端服务器处理各组控制命令时,发现一组控制命令中缺少连接器发送的回复命令时,则该被控制设备(通过移动端APP发送的控制命令或连接器上报状态的反馈命令中包含的设备ID确定)的状态即可被判定为连接器超时;当云端服务器处理各组控制命令时,发现一组控制命令中缺少连接器上报状态的反馈命令时,则该被控制设备的状态即可被判定为连接器回复超时;当云端服务器处理了一组完整的控制命令(即包含三条相应的命令),且在连接器上报状态的反馈命令中有控制设备成功的表示,则该控制设备为控制成功的状态;当云端服务器处理的连接器上报状态的反馈命令中,有控制设备失败的表示,则该控制设备为控制失败的状态;若在T秒内,云端服务器处理了多条相同的移动端APP发送的控制命令,即指移动端APP在T秒内多次发出了告知连接器控制同一设备的同一控制指令,则该控制设备为冲离的状态,T的具体取值可视具体情况而定,如一般取值为1。因为网络和处理业务的速度原因,可能会导致一组控制命令中三条命令处理的间隔时间过长,若按正常判定,则该现象可能会被误判为连接器回复超时,为了解决上述问题,本专利技术中通过加入定时任务来定时处理这种情况,每m秒执行一次定时任务,即将被判定为连接器回复超时状态的命令才从mongodb中取出,通过设备ID查询被控制设备目前是否在线,如果被控制设备在线,则可确认该设备状态为连接器回复超时,如果设备不在线,则可在设备的状态反馈中加上设备未在线的提示,从而使处理结果展示的时候更为清晰。由于使用多线程处理命令的方法,因此可能会出现一组控制命令的移动端APP发送的控制命令、连接器发送的回复命令及连接器上报状态的反馈命令被同时处理而导致判断结果出现异常的情况,为了解决上述问题,本方法中通过使用锁lock来实现流程,具体是根据唯一标识来获得锁,一组控制命令的三条命令的唯一标识一样,则使用同一把锁,这样当云端服务器处理一组控制命令的一条命令时,则其他使用这把锁的命令的业务将会等待。作为优选,所述唯一标识由移动端APP根据发送控制命令时的时间戳生成。进一步的,由于不同的唯一标识获得不同的锁,而锁过多的使用可能会导致效率低下,本专利技术的方法中通过指定唯一标识中的某一位数字(一般为时间戳的最后一位)来限制锁的数量,即该指定位的数字相同的,则使用同一把锁,从而将锁的数量限制为10个(因为数字的变化范围为0-9共10种)。进一步的,本专利技术中还通过mongodb将所有源数据进行保存,则对处理结果出现疑问时,可以去查看源数据以解决疑问。本专利技术与现有技术相比,具有以下的有益效果:通过本专利技术的监控物联设备控制状态的方法,可以使开发人员快速发现设备控制的问题,从而准确定位并且解决问题,可节约时间本文档来自技高网...

【技术保护点】
1.一种监控物联设备控制状态的方法,其特征在于,包括移动端APP、连接器、云端服务器,通过将移动端APP发送的控制命令、连接器发送的回复命令及连接器上报状态的反馈命令通过MQTT转发至云端服务器,由云端服务器进行解析并处理,具体通过命令中字段去判断本次控制的状态,最后再通过云端服务器将汇总的最终的控制结果进行反馈及展示。

【技术特征摘要】
1.一种监控物联设备控制状态的方法,其特征在于,包括移动端APP、连接器、云端服务器,通过将移动端APP发送的控制命令、连接器发送的回复命令及连接器上报状态的反馈命令通过MQTT转发至云端服务器,由云端服务器进行解析并处理,具体通过命令中字段去判断本次控制的状态,最后再通过云端服务器将汇总的最终的控制结果进行反馈及展示。2.根据权利要求1所述的一种监控物联设备控制状态的方法,其特征在于,所述移动端APP发送的控制命令是指移动端APP发出的告知连接器需要控制的设备的指令,连接器发送的回复命令是指由连接器控制设备后需要回复给移动端APP的消息,连接器上报状态的反馈命令是指连接器上报至云端服务器本次控制结果的反馈信息,一条移动端APP发送的控制命令即会触发生成一条与之对应的连接器发送的回复命令及一条与上述两条命令对应的连接器上报状态的反馈命令;三条命令即构成了一组完整的控制命令。3.根据权利要求2所述的一种监控物联设备控制状态的方法,其特征在于,所述移动端APP发送的控制命令、连接器发送的回复命令及连接器上报状态的反馈命令均包含唯一标识及设备ID,一组控制命令的三条命令的唯一标识相同,且所述唯一标识由移动端APP生成。4.根据权利要求3所述的一种监控物联设备控制状态的方法,其特征在于,所述云端服务器根据对控制命令的分析来对当前被控制设备的状态做出相应的判断,从而得出各被控制设备的状态,并生成相应的反馈,其中,被控制设备的状态至少包含以下几种:连接器超时、连接器回复超时、控制成功、控制失败、冲离;且当云端服务器处理各组控制命令时,若一组控制命令中缺少连接器发送的回复命令时,则该被控制设备的状态即被判定为连接器超时;若一组控制命令中缺少连接器上报状态的反馈命令时,则该被控制设备的状态即被判定为连接器回复超时;若一组完整的控制命令中,连接器上报状态的反馈命令中有控制设备成功的表示,则该控制设备为控制成功的状态;若一组控制命令中,连接器上报状态的反馈命令中有控制设备失败的表示,则该控制设备为控制失败的状态;若在T秒内,云端服务器处理了多条相同的移动端APP发送的相...

【专利技术属性】
技术研发人员:李晨心
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川,51

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

1