物联网内的数据上报方法和装置与流程

文档序号:23981885发布日期:2021-02-20 10:33阅读:154来源:国知局
物联网内的数据上报方法和装置与流程

[0001]
本发明涉及物联网技术领域,特别涉及一种物联网内的数据上报方法和装置。


背景技术:

[0002]
现在家庭智能设备越来越多,需要联网的设备也越来越多。每个家庭的智能设备可达几十个,基本上每个设备都是独立地连接服务器,以上报自己采集的信息。比如空调,洗衣机,冰箱,安防摄像头,热水器等。
[0003]
随着设备的增多,服务器的负担越来越重,需要不停的增加分布式服务器,提高负载和并发处理能力,来适应业务的需求。


技术实现要素:

[0004]
基于此,有必要提供一种物联网内的数据上报方法和装置,在不改变服务器的负载能力,不增加硬件成本的情况下,减轻服务器的负担。
[0005]
为实现上述发明目的,本发明采用以下技术方案。
[0006]
本发明提供一种物联网内的数据上报方法,所述物联网由至少一个服务器和分别连接到该服务器的多个智能设备组成,所述服务器用于接收并处理所述智能设备上报的数据,所述方法包括:
[0007]
当某一智能设备有数据需要上报时,判断是否存在代理记录;
[0008]
若不存在,判断物联网内是否有代理服务器;
[0009]
若有,将数据发送给所述代理服务器;
[0010]
通过所述代理服务器将数据发送给所述服务器。
[0011]
上述方法中,所述判断物联网内是否有代理服务器的步骤具体包括:
[0012]
获取所述智能设备在所述物联网内组播的评分;
[0013]
判断最高的评分是否大于己方的评分;
[0014]
若是,判定物联网内有代理服务器,并将所述最高评分对应的智能设备设为代理服务器;否则,判定物联网内没有代理服务器。
[0015]
上述方法中,所述判断物联网内是否有代理服务器的步骤具体包括:
[0016]
获取愿意成为代理服务器的智能设备在所述物联网内组播的评分;
[0017]
判断最高的评分是否大于己方的评分;
[0018]
若是,判定物联网内有代理服务器,并将所述最高评分对应的智能设备设为代理服务器;
[0019]
否则,判定物联网内没有代理服务器。
[0020]
上述方法中,所述评分由以下方式评定:
[0021]
设所述智能设备的联网频度为f,设备的dmips值为d,存储大小为s,则评分sum=0.4f+0.3d+0.3s+x,其中,f分为三个等级,频度越高,f值越大;存储大小以mb为单位计算;x为不大于1的随机小数。
[0022]
上述方法中,所述判断是否存在代理记录的步骤之后,还包括步骤:
[0023]
若存在,检测代理服务器是否在线;
[0024]
若是,则将数据发送给所述代理服务器,否则,清除代理记录。
[0025]
上述方法中,所述判断是否存在代理记录的步骤之后,还包括步骤:
[0026]
若存在,检测代理服务器是否在线;
[0027]
若否,每隔一段时间重复检测一次;
[0028]
判断重复次数是否达到3次,若是,则清除代理记录。
[0029]
上述方法中,所述判断物联网内是否有代理服务器的步骤之后,还包括步骤:
[0030]
若无,将数据直接发送给所述服务器。
[0031]
上述方法中,通过所述代理服务器将数据发送给所述服务器的步骤具体包括:
[0032]
连接服务器后,判断是否连接成功;
[0033]
若连接成功,则将所述数据上报给所述服务器;
[0034]
若未连接成功,则缓存所述数据,并在预定时间内再次连接服务器。
[0035]
本发明还提供一种物联网内的数据上报装置,所述物联网由至少一个服务器和分别连接到该服务器的多个智能设备组成,所述服务器用于接收并处理所述智能设备上报的数据,所述装置包括:
[0036]
第一判断模块,用于当某一智能设备有数据需要上报时,判断是否存在代理记录;
[0037]
第二判断模块,用于若不存在,则判断物联网内是否有代理服务器;
[0038]
数据发送模块,用于若有,则将数据发送给所述代理服务器;
[0039]
数据上报模块,用于通过所述代理服务器将数据发送给所述服务器。
[0040]
上述装置中,所述第二判断模块具体包括:
[0041]
评分获取模块,用于获取所述智能设备在所述物联网内组播的评分;
[0042]
第三判断模块,用于判断最高的评分是否大于己方的评分;
[0043]
代理判定模块,用于若是,则判定物联网内有代理服务器,并将所述最高评分对应的智能设备设为代理服务器;否则,判定物联网内没有代理服务器。
[0044]
本发明通过将物联网内的任意一个符合条件的智能设备变成代理服务器,由代理服务器收集智能设备上报的数据,从而减轻服务器的负担,使得即使物联网内的设备不断增多,也可以在不增加硬件成本的情况下,减轻服务器的负担。
附图说明
[0045]
图1为本实施例中物联网内的数据上报方法的流程示意图;
[0046]
图2为本实施例中物联网内的数据上报装置的方框结构图。
[0047]
本发明目的的实现及其功能、原理将在具体实施方式中结合附图作进一步阐述。
具体实施方式
[0048]
下面结合附图及具体实施例做进一步说明。
[0049]
如图1所示,本实施例提供一种物联网内的数据上报方法,其中,该物网联由至少一个服务器和分别连接到该服务器的多个智能设备组成,该服务器用于接收并处理上述智能设备上报的数据,本实施例的方法主要包括以下步骤:
[0050]
s1:当某一智能设备有数据需要上报时,判断是否存在代理记录;
[0051]
s2:若不存在,判断物联网内是否有代理服务器;
[0052]
s3:若有,将数据发送给该代理服务器;
[0053]
s4:通过该代理服务器将数据发送给上述服务器。
[0054]
步骤s1用于检测是否存在代理记录,即判断智能设备之前上报数据时,是直接上报给服务器,还是上报给代理服务器。因此,如果存在代理记录,说明之前是上报给代理服务器的,否则,之前是直接上报给服务器的。
[0055]
若检测到不存在代理记录,则表明该智能设备之前是直接上报给服务器的,此时,需要重新检测是否存在代理服务器,以便决定上报数据的对象。
[0056]
若检测到存在代理记录,则表明该智能设备之前是上报给代理服务器的,此时,需要检测该代理服务器是否在线,以便决定上报数据的对象。
[0057]
在判断是否存在代理记录的步骤s1之后,还包括以下步骤:
[0058]
s11:若存在,检测代理服务器是否在线;
[0059]
s12:若否,则清除代理记录。
[0060]
为了避免因网络故障导致代理服务器掉线,本实施例设置一阈值,连续检测三次均不存在代理服务器时,再清除该代理记录。
[0061]
其中,如果当前存在代理服务器且代理服务器在线,则该智能设备将直接向代理服务器上报数据,再通过代理服务器将数据传送给服务器。
[0062]
而如果当前存在代理服务器但代理服务器不在线,则清除该代理记录,取消该代理服务器的资格,重新查找是否有符合条件的智能设备作为代理服务器。优选地,为了避免因网络故障导致代理服务器掉线,可设置一阈值,例如,连续检测到三次代理服务器均不在线时,再清除该代理记录。
[0063]
如果既不存在代理记录,且重新检测后发现当前也不存在代理服务器,则该智能设备直接将数据上报给服务器。
[0064]
本实施例中,判断物联网内是否有代理服务器的步骤s2具体包括:
[0065]
s21:获取上述智能设备在物联网内组播的评分;
[0066]
s22:判断最高的评分是否大于己方的评分;
[0067]
s23:若是,判定物联网内有代理服务器,并将所述最高评分对应的智能设备设为代理服务器;否则,判定物联网内没有代理服务器。
[0068]
首先在物联网内发送一个组播包,网内的所有智能设备在收到组播包后,都会回复自己的评分,该评分由以下方式评定:
[0069]
设智能设备的联网频度为f,设备的dmips(dhrystone million instructions executed per second,处理器整数计算能力)值为d,存储大小为s,则评分sum=0.4f+0.3d+0.3s+x,其中,f分为三个等级,频度越高,f值越大;存储大小以mb为单位计算;x为不大于1的随机小数。
[0070]
需要上报数据的智能设备获取到上述评分后,选取最高评分与自己的评分进行比较,判断是否大于己方的评分,若大于,则表明该智能设备有能力作为代理服务器,此时,可将该智能设备设为代理服务器;若不大于,则表明该智能设备不能作为代理服务器,此时,判定物联网内没有代理服务器,需要上报数据的智能设备则直接将数据上报给服务器。
[0071]
在本发明的其它实施例中,判断物联网内是否有代理服务器的步骤s2具体包括:
[0072]
s24:获取愿意成为代理服务器的智能设备在所述物联网内组播的评分;
[0073]
s25:判断最高的评分是否大于己方的评分;
[0074]
s26:若是,判定物联网内有代理服务器,并将所述最高评分对应的智能设备设为代理服务器;否则,判定物联网内没有代理服务器。
[0075]
在物联网中,有些智能设备不能成为代理服务器或者不愿意成为代理服务器,此时,需要上报数据的智能设备在物联网内发送一个组播包后,网内的所有智能设备在收到组播包后,都会回复是否愿意成为代理服务器的标志,且对于不能成为代理服务器或者不愿意成为代理服务器的智能设备,不回复评分。需要上报数据的智能设备获取到上述评分后,选取最高评分且与自己的评分进行比较,判断是否大于己方的评分。若大于,则表明该智能设备有能力作为代理服务器,此时,可将该智能设备设为代理服务器;若不大于,则表明该智能设备不能作为代理服务器,此时,判定物联网内没有代理服务器,需要上报数据的智能设备则直接将数据上报给服务器。
[0076]
在判断物联网内是否有代理服务器的步骤s2之后,还包括以下步骤:
[0077]
s27:若无,将数据直接发送给所述服务器。
[0078]
本实施例的通过所述代理服务器将数据发送给所述服务器的步骤s4具体包括:
[0079]
s41:连接服务器后,判断是否连接成功;
[0080]
s42:若连接成功,则将数据上报给服务器;
[0081]
s43:若未连接成功,则缓存数据,并在预定时间内再次连接服务器。
[0082]
本实施例的代理服务器的评分规则中对智能设备的存储能力作了要求,因此,它必须有一定的缓存能力,在服务器暂时无法连接的情况下,能缓存数据,等待下一个周期再次连接服务器进行上报,从而避免出现数据丢失的情况。
[0083]
同时,代理服务器在收到其它任何设备的数据后,不再执行查找其它代理服务器的步骤,而是直接连接服务器进行上报操作,以免造成数据丢失。
[0084]
通过以上方法,可在不改变服务器的负载能力,不增加硬件成本的情况下,减轻服务器的负担。
[0085]
参照图2所示,本实施例提供一种物联网内的数据上报装置100,所述物联网由至少一个服务器和分别连接到该服务器的多个智能设备组成,所述服务器用于接收并处理所述智能设备上报的数据,该数据上报装置100主要包括:
[0086]
第一判断模块10,用于当某一智能设备有数据需要上报时,判断是否存在代理记录;
[0087]
第二判断模块20,用于若不存在,则判断物联网内是否有代理服务器;
[0088]
数据发送模块30,用于若有,则将数据发送给所述代理服务器;
[0089]
数据上报模块40,用于通过所述代理服务器将数据发送给所述服务器。
[0090]
其中,所述第二判断模块20具体包括:
[0091]
评分获取模块21,用于获取所述智能设备在所述物联网内组播的评分;
[0092]
第三判断模块22,用于判断最高的评分是否大于己方的评分;
[0093]
代理判定模块23,用于若是,则判定物联网内有代理服务器,并将所述最高评分对应的智能设备设为代理服务器;否则,判定物联网内没有代理服务器。
[0094]
本实施例的上述各模块的功能和特点可参照图1所示实施例中所述,此处不再赘述。
[0095]
本发明所述的物联网可以是家庭局域网,所述的智能设备为智能家具,包括但不限于冰箱、空调、洗衣机、电视机和安防摄像头等智能终端产品。
[0096]
综上所述,本发明通过将物联网内的任意一个符合条件的智能设备变成代理服务器,由代理服务器收集智能设备上报的数据,从而减轻服务器的负担,使得即使物联网内的设备不断增多,也可以在不增加硬件成本的情况下,减轻服务器的负担。
[0097]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0098]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1