System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及物联网,特别涉及一种物联网云服务器、消息推送方法及装置。
技术介绍
1、随着物联网的不断发展,用户对物联网设备的需求日益复杂,对物联网设备变化的实时性要求日益增长。而物联网设备的变化,需要通过消息推送,通过用户终端通知给用户,因此,消息推送的效率和精确成了极为重要的关注点。
2、物联网设备与用户终端建立连接之后,连接维护就会形成一个配置,用于关联用户终端的身份标识以及物联网设备生成的推送消息,使得物联网设备的推送消息在生成之后,可以准确地确定待接收的用户终端。随着云服务的兴起,用户终端与物联网设备之间的连接,更多的需要物联网云服务来支撑和维护,正式稳定环境的服务往往需要将负责特定功能的微服务平行复制多份,保持多实例部署,而当维护连接的服务形成多实例之后,出于负载均衡的要求,就需要允许用户端终端可以等效的与每一个实例进行连接建立,此种情况使得确认用户终端具体连接的实例变得非常困难,目前,为保持架构简单,通常将物联网设备生成的推送消息完整的发送给每一个实例,由每个实例进行消息的筛选、处理以及转发。
3、此种处理方式虽然稳定简单,但会导致推送消息重复发送至各个节点实例,使得没有与用户终端建立连接的节点实例,也需要完整的进行一遍消息的处理,但是此类节点实例并未与用户终端建立连接,其没有对应的消息接收方,不能进行消息的发送,那么其对消息的处理,不仅会造成计算资源的浪费,而且其对计算资源的占用,会使得系统的总抗压能力成倍的下降。
技术实现思路
1、本申请的目的
2、第一方面,本申请提供一种物联网云服务器,包括:消息生成组件,中转组件,推送组件和配置组件;其中,
3、所述消息生成组件,与物联网设备通信连接,用于在检测到所述物联网设备的状态变化时,生成推送消息,并确定所述物联网设备关联的用户终端的终端标识,基于所述终端标识,从所述配置组件预先存储的当前接入的所有用户终端的连接记录中,获取所述用户终端当前接入的推送节点所连接的中转分区的分区标识,将所述推送消息发送至所述分区标识对应的中转分区;
4、所述中转组件,包括多个中转分区,每个中转分区用于将接收到的推送消息转发至相连接的推送节点;
5、所述推送组件,包括多个与用户终端连接的推送节点,所述推送节点用于将从中转分区接收到的推送消息,发送至所述终端标识对应的用户终端。
6、上述技术方案中,在物联网设备的状态发生变化,生成推送消息之后,首先确定与物联网设备关联的用户终端,然后从配置组件预先存储的当前接入的所有用户终端的连接记录中,获取用户终端当前接入的推送节点所连接的中转分区,进而将推送消息发送至该中转分区,并由该中转分区将推送消息转发至连接的推送节点,最终由推送节点将推送消息发送至用户终端,此过程中,通过预先存储的当前接入的所有用户终端的连接记录,可以准确的确定出物联网设备关联的用户终端当前接入的中转分区和推送节点,从而使得推送消息可以通过确定出的中转分区和推送节点准确的发送至用户终端,如此,在推送消息发送至用户终端的过程中,只需一个中转分区和一个推送节点对推送消息进行处理,与现有技术中每个节点实例均需要对推送消息进行处理相比,这将大大节省计算量,减少计算资源的浪费,同时节省的计算资源可用于系统其他方面的运算,提高系统的抗压能力。
7、在一种可能的实现方式中,所述推送节点还用于,在检测到用户终端接入本推送节点时,将本推送节点连接的中转分区的分区标识、本推送节点的标识信息与所述用户终端的终端标识建立关联关系,并将所述关联关系作为所述用户终端对应的连接记录上报给所述配置组件;
8、所述配置组件,用于接收并存储所述推送节点上报的连接记录。
9、在一种可能的实现方式中,所述配置组件,还用于在检测到用户终端与推送节点断开连接时,删除所述用户终端对应的连接记录。
10、上述技术方案中,通过配置组件,在用户终端接入推送节点时,记录用户终端的连接记录,以及在用户终端与推送节点断开连接时,删除已存储的用户终端对应的连接记录,使得配置组件中存储的所有用户终端的连接记录,可以根据用户终端与推送节点的连接情况实时更新,确保存储的用户终端的连接记录均是准确的,依此保证能够将推送消息准确的发送至用户终端。
11、在一种可能的实现方式中,所述消息生成组件,具体用于:
12、基于所述终端标识,向所述配置组件发送用于查询所述终端标识对应的连接记录的查询请求;
13、接收所述配置组件发送的包含所述用户终端对应的连接记录的查询结果,并从所述用户终端对应的连接记录中,获取所述用户终端当前接入的推送节点所连接的中转分区的分区标识,所述连接记录是所述配置组件基于所述终端标识,从预先存储的当前接入的所有用户终端对应的连接记录中查询得到的。
14、在一种可能的实现方式中,所述中转组件的每个中转分区与所述推送组件的每个推送节点一一对应连接,每个推送节点与至少一个用户终端通信连接。
15、第二方面,本申请实施例提供一种消息推送方法,应用于如本申请实施例第一方面所述的物联网云服务器,包括:
16、在检测到物联网设备的状态变化时,生成推送消息;
17、确定所述物联网设备关联的用户终端的终端标识,基于所述终端标识,从预先存储的当前接入的所有用户终端的连接记录中,获取所述用户终端当前接入的推送节点所连接的中转分区的分区标识;
18、将所述推送消息发送至所述物联网云服务器中分区标识对应的中转分区,以使所述中转分区将所述推送消息转发至相连接的推送节点,并由所述推送节点将所述推送消息发送至所述终端标识对应的用户终端。
19、在一种可能的实现方式中,所述方法还包括:
20、在检测到用户终端接入推送节点时,建立推送节点连接的中转分区的分区标识、推送节点的标识信息与所述用户终端的终端标识之间的关联关系,并将所述关联关系作为所述用户终端对应的连接记录进行存储。
21、在一种可能的实现方式中,所述方法还包括:
22、在检测到用户终端与推送节点断开连接时,删除所述用户终端对应的连接记录。
23、在一种可能的实现方式中,所述基于所述终端标识,获取所述用户终端当前接入的推送节点所连接的中转分区的分区标识,包括:
24、基于所述终端标识,在预先存储的当前接入的所有用户终端对应的连接记录中查询所述终端标识对应的连接记录;
25、从查询到的所述终端标识对应的连接记录中,获取所述用户终端当前接入的推送节点所连接的中转分区的分区标识。
26、第三方面,本申请实施例提供一种消息推送装置,包括:
27、消息生成单元,用于在检测物联网设备的状态变化时,生成推送消息;
28、处理单元,本文档来自技高网...
【技术保护点】
1.一种物联网云服务器,其特征在于,包括:消息生成组件,中转组件,推送组件和配置组件;其中,
2.根据权利要求1所述的物联网云服务器,其特征在于,所述推送节点还用于,在检测到用户终端接入本推送节点时,将本推送节点连接的中转分区的分区标识、本推送节点的标识信息与所述用户终端的终端标识建立关联关系,并将所述关联关系作为所述用户终端对应的连接记录上报给所述配置组件;
3.根据权利要求1所述的物联网云服务器,其特征在于,所述配置组件,还用于在检测到用户终端与推送节点断开连接时,删除所述用户终端对应的连接记录。
4.根据权利要求1所述的物联网云服务器,其特征在于,所述消息生成组件,具体用于:
5.根据权利要求1-4中任一项所述的物联网云服务器,其特征在于,所述中转组件的每个中转分区与所述推送组件的每个推送节点一一对应连接,每个推送节点与至少一个用户终端通信连接。
6.一种消息推送方法,其特征在于,包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所
9.根据权利要求7所述的方法,其特征在于,所述基于所述终端标识,获取所述用户终端当前接入的推送节点所连接的中转分区的分区标识,包括:
10.一种消息推送装置,其特征在于,包括:
...【技术特征摘要】
1.一种物联网云服务器,其特征在于,包括:消息生成组件,中转组件,推送组件和配置组件;其中,
2.根据权利要求1所述的物联网云服务器,其特征在于,所述推送节点还用于,在检测到用户终端接入本推送节点时,将本推送节点连接的中转分区的分区标识、本推送节点的标识信息与所述用户终端的终端标识建立关联关系,并将所述关联关系作为所述用户终端对应的连接记录上报给所述配置组件;
3.根据权利要求1所述的物联网云服务器,其特征在于,所述配置组件,还用于在检测到用户终端与推送节点断开连接时,删除所述用户终端对应的连接记录。
4.根据权利要求1所述的物联网云服务器,其特征在于,所述消息生...
【专利技术属性】
技术研发人员:刘文超,夏章抓,吴超,赵希枫,
申请(专利权)人:海信家电集团股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。