本发明涉及物联网,尤其涉及一种基于物联网平台的海量规则处理方法、系统及存储介质。
背景技术:
1、物联网平台一般具备终端接入、终端管理、消息推送、规则引擎等通用基础能力。物联网终端接入物联网平台后,由消息推送模块根据用户消息推送规则,将终端上报的消息推送给物联网应用;或者由规则引擎模块基于用户定制处理规则,对终端上报信息进行清洗、过滤和处理。
2、物联网平台消息推送模块和规则引擎模块,一般会将用户配置的规则加载到内存来提高规则计算处理效率。随着物联网的规模化发展,接入物联网平台的终端和应用数量不断增长,终端上报消息、用户定制的消息推送规则、规则引擎处理规则都在不断增加。规则处理服务采用集群方式部署,一般会将上报消息随机发送给一个规则处理服务进行处理,为了确保业务正常,规则处理服务需要将全量规则加载到内存,而海量规则内存加载会导致服务器内存容量受限,降低规则处理的效率。
技术实现思路
1、本发明实施例提供了一种基于物联网平台的海量规则处理方法、系统及存储介质,旨在提高现有物联网平台中海量规则的处理效率。
2、第一方面,本发明实施例提供了一种基于物联网平台的海量规则处理方法,其包括:
3、规则分发管理服务从数据库规则表中获取用户标识,并根据所述用户标识及预设规则哈希上限值计算各规则的规则哈希值,并将所述规则哈希值保存至所述数据库规则表;
4、所述规则分发管理服务根据所述预设哈希分片规则以条带化方式生成各规则处理服务所需加载的规则哈希分区列表,并进行保存以得到规则配置信息;
5、所述规则分发管理服务将所述规则配置信息发送至相应所述规则处理服务,并将全量规则配置信息发送至消息分派服务;
6、所述规则处理服务根据所述规则配置信息从所述数据库规则表中获取与所述规则哈希分区列表相对应的规则进行加载;
7、所述消息分派服务若接收到上报信息,则根据所述全量规则配置信息及所述上报信息中的所述用户标识对所述上报信息进行分配。
8、第二方面,本发明实施例还提供了一种基于物联网平台的海量规则处理系统,其包括:配置于规则分发管理服务中的获取计算单元及生成第一发送单元,配置于规则处理服务中的第一获取加载单元以及配置于消息分派服务中的分配单元,其中,
9、所述获取计算单元用于规则分发管理服务从数据库规则表中获取用户标识,并根据所述用户标识及预设规则哈希上限值计算各规则的规则哈希值,并将所述规则哈希值保存至所述数据库规则表;
10、所述生成保存单元用于所述规则分发管理服务根据所述预设哈希分片规则以条带化方式生成各规则处理服务所需加载的规则哈希分区列表,并进行保存以得到规则配置信息;
11、所述第一发送单元用于所述规则分发管理服务将所述规则配置信息发送至相应所述规则处理服务,并将全量规则配置信息发送至消息分派服务;
12、所述第一获取加载单元用于所述规则处理服务根据所述规则配置信息从所述数据库规则表中获取与所述规则哈希分区列表相对应的规则进行加载;
13、所述分配单元用于所述消息分派服务若接收到上报信息,则根据所述全量规则配置信息及所述上报信息中的所述用户标识对所述上报信息进行分配。
14、第三方面,本发明实施例还提供了一种基于物联网平台的海量规则处理系统,其包括规则分发管理服务、规则处理服务以及消息分派服务,所述规则分发管理服务、规则处理服务以及消息分派服务均包括存储器及处理器,所述存储器上存储有计算机程序,所述规则分发管理服务、规则处理服务以及消息分派服务的所述处理器执行所述计算机程序时实现上述方法。
15、第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现上述方法。
16、本发明实施例提供了一种基于物联网平台的海量规则处理方法、系统及存储介质。其中,所述方法包括:规则分发管理服务从数据库规则表中获取用户标识,并根据所述用户标识及预设规则哈希上限值计算各规则的规则哈希值,并将所述规则哈希值保存至所述数据库规则表;所述规则分发管理服务根据所述预设哈希分片规则以条带化方式生成各规则处理服务所需加载的规则哈希分区列表,并进行保存以得到规则配置信息;所述规则分发管理服务将所述规则配置信息发送至相应所述规则处理服务,并将全量规则配置信息发送至消息分派服务;所述规则处理服务根据所述规则配置信息从所述数据库规则表中获取与所述规则哈希分区列表相对应的规则进行加载;所述消息分派服务若接收到上报信息,则根据所述全量规则配置信息及所述上报信息中的所述用户标识对所述上报信息进行分配。本发明实施例的技术方案,规则分发管理服务根据预设规则哈希上限值生成各规则处理服务所需加载的规则哈希分区列表,并进行保存得到规则配置信息,使得各规则处理服务只需加载一部分规则到内存,无需加载全量规则;在消息分派服务接收到上报信息时,根据全量规则配置信息及上报信息中的用户标识对上报信息进行分配,使得只有具有用户标识的规则处理服务在对上报信息进行处理,因此可提高海量规则的处理效率。
1.一种基于物联网平台的海量规则处理方法,其特征在于,包括:
2.根据权利要求1所述的基于物联网平台的海量规则处理方法,其特征在于,所述根据所述用户标识及预设规则哈希上限值计算规则哈希值的步骤,包括:
3.根据权利要求1所述的基于物联网平台的海量规则处理方法,其特征在于,所述规则分发管理服务根据所述预设哈希分片规则以条带化方式生成各规则处理服务所需加载的规则哈希分区列表,并进行保存以得到规则配置信息的步骤,包括:
4.根据权利要求1所述的基于物联网平台的海量规则处理方法,其特征在于,所述规则处理服务根据所述规则配置信息从所述数据库规则表中获取与所述规则哈希分区列表相对应的规则进行加载的步骤,包括:
5.根据权利要求1所述的基于物联网平台的海量规则处理方法,其特征在于,根据所述全量规则配置信息及所述上报信息中的所述用户标识对所述上报信息进行分配的步骤,包括:
6.根据权利要求1所述的基于物联网平台的海量规则处理方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的基于物联网平台的海量规则处理方法,其特征在于,所述规则分发管理服务对所述规则处理服务进行扩容得到变更规则配置信息列表的步骤,包括:
8.一种基于物联网平台的海量规则处理系统,其特征在于,包括:配置于规则分发管理服务中的获取计算单元、生成保存单元以及第一发送单元,配置于规则处理服务中的第一获取加载单元以及配置于消息分派服务中的分配单元,其中,
9.一种基于物联网平台的海量规则处理系统,其特征在于,包括规则分发管理服务、规则处理服务以及消息分派服务,所述规则分发管理服务、规则处理服务以及消息分派服务均包括存储器及处理器,所述存储器上存储有计算机程序,所述规则分发管理服务、规则处理服务以及消息分派服务的所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-7中任一项所述的方法。