CN117768541A - 一种信息推送方法、系统、装置、设备及存储介质 - Google Patents
一种信息推送方法、系统、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117768541A CN117768541A CN202311816748.4A CN202311816748A CN117768541A CN 117768541 A CN117768541 A CN 117768541A CN 202311816748 A CN202311816748 A CN 202311816748A CN 117768541 A CN117768541 A CN 117768541A
- Authority
- CN
- China
- Prior art keywords
- information
- target
- user terminal
- equipment
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012795 verification Methods 0.000 claims description 49
- 238000004458 analytical method Methods 0.000 claims description 42
- 230000004048 modification Effects 0.000 claims description 37
- 238000012986 modification Methods 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Abstract
本发明实施例公开了一种信息推送方法、系统、装置、设备及存储介质,本发明实施例中与每个用户信息相对应的信息订阅权限的粒度范围包括每台设备或一个空间范围内所属的所有设备。当用户信息所对应的信息订阅权限为一个空间范围时,只需要确定出预先与该空间范围相绑定的目标设备,并将与目标设备相对应的目标设备信息推送至与用户信息相对应的用户终端即可,不必再依次遍历每个对象以确定用户是否具备信息订阅权限,提高了信息的推送效率,解决了现有技术中MQTT消息服务器在推送信息时,存在着信息推送效率低下的技术问题。
Description
技术领域
本申请实施例涉及计算机领域,尤其涉及一种信息推送方法、系统、装置、设备及存储介质。
背景技术
MQTT(Message Queuing Telemetry Transport)是由IBM开发的物联网传输协议。它采用了一种轻量级的订阅/发布模式来进行消息传输。MQTT针对低带宽,低计算能力,以及不稳定的网络环境做了特殊的优化,可以适用于针对嵌入式智能终端和移动终端的消息推送,能够有效节省终端的耗电量和流量。而现有技术中在利用MQTT消息服务器进行消息推送时,一般需要用户对每个对象的消息信息订阅权限进行设置,使得MQTT消息服务器在推送消息时,需要查询每个对象的消息信息订阅权限,在对象较多的情况下,MQTT消息服务器需要依次遍历每个对象以确定用户是否具备信息订阅权限,严重降低信息推送的效率。
综上所述,现有技术中MQTT消息服务器在推送信息时,存在着信息推送效率低下的技术问题。
发明内容
本发明实施例提供了一种信息推送方法、系统、装置、设备及存储介质,解决了现有技术中MQTT消息服务器在推送信息时,存在着信息推送效率低下的技术问题。
第一方面,本发明实施例提供了一种信息推送方法,包括:
实时接收消息解析服务所推送的每个设备的设备信息,并保存所述设备信息;
响应于用户终端的连接请求,与所述用户终端相连接并获取所述用户终端的用户信息;
响应于所述用户终端的信息获取请求,在数据库中查询与所述用户信息相对应的信息订阅权限;所述信息订阅权限预先存储在所述数据库中并实时更新,每个所述用户信息的信息订阅权限包括至少一个粒度范围的设备相对应的设备信息,所述粒度范围包括每台设备或一个空间范围内所属的所有设备,所述空间范围下所属的所有设备预先与所述空间范围相对应的编号进行绑定,所述空间范围预先进行划分,且每个所述空间范围对应一个编号;
当所述用户信息的信息订阅权限的粒度范围为每台设备时,根据所述信息订阅权限确定所述用户终端具有信息订阅权限的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将所述目标设备信息推送至所述用户终端;
当所述用户信息的信息订阅权限的粒度范围为一个空间范围下所属的所有设备时,根据所述信息订阅权限确定所述用户终端具有信息订阅权限的目标空间范围,确定所述目标空间范围内的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将所述目标设备信息推送至所述用户终端。
第二方面,本发明实施例提供了一种信息推送系统,包括:
前端模块,用于提供操作界面,以及用于响应于作用于所述操作界面的权限设置操作,设置信息订阅权限,并将所述信息订阅权限同步至数据库;
消息服务器,用于实时接收消息解析服务所推送的每个设备的设备信息,并保存所述设备信息;响应于用户终端的连接请求,与所述用户终端相连接并获取所述用户终端的用户信息;响应于所述用户终端的信息获取请求,在数据库中查询与所述用户信息相对应的信息订阅权限;所述信息订阅权限预先存储在所述数据库中并实时更新,每个所述用户信息的信息订阅权限包括至少一个粒度范围的设备相对应的设备信息,所述粒度范围包括每台设备或一个空间范围内所属的所有设备,所述空间范围下所属的所有设备预先与所述空间范围相对应的编号进行绑定,所述空间范围预先进行划分,且每个所述空间范围对应一个编号;当所述用户信息的信息订阅权限的粒度范围为每台设备时,根据所述信息订阅权限确定所述用户终端具有信息订阅权限的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将所述目标设备信息推送至所述用户终端;当所述用户信息的信息订阅权限的粒度范围为一个空间范围下所属的所有设备时,根据所述信息订阅权限确定所述用户终端具有信息订阅权限的目标空间范围,确定所述目标空间范围内的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将所述目标设备信息推送至所述用户终端;
消息解析模块,包括有消息解析服务,所述消息解析服务用于与设备通信连接,接收所述设备发送的消息并进行解析,得到设备信息,并将所述设备信息推送至所述消息服务器;
用户终端,用于向所述消息服务器发送连接请求;用于在与所述消息服务器相连接后,向所述消息服务器发送信息获取请求;以及用于接收所述消息服务器发送的目标设备信息并进行可视化;
数据库,用于存储所述信息订阅权限。
第三方面,本发明实施例提供了一种信息推送装置,包括:
信息接收模块,用于实时接收消息解析服务所推送的每个设备的设备信息,并保存所述设备信息;
连接响应模块,用于响应于用户终端的连接请求,与所述用户终端相连接并获取所述用户终端的用户信息;
权限查询模块,用于响应于所述用户终端的信息获取请求,在数据库中查询与所述用户信息相对应的信息订阅权限;所述信息订阅权限预先存储在所述数据库中并实时更新,每个所述用户信息的信息订阅权限包括至少一个粒度范围的设备相对应的设备信息,所述粒度范围包括每台设备或一个空间范围内所属的所有设备,所述空间范围下所属的所有设备预先与所述空间范围相对应的编号进行绑定,所述空间范围预先进行划分,且每个所述空间范围对应一个编号;
第一信息推送模块,用于当所述用户信息的信息订阅权限的粒度范围为每台设备时,根据所述信息订阅权限确定所述用户终端具有信息订阅权限的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将所述目标设备信息推送至所述用户终端;
第二信息推送模块,用于当所述用户信息的信息订阅权限的粒度范围为一个空间范围下所属的所有设备时,根据所述信息订阅权限确定所述用户终端具有信息订阅权限的目标空间范围,确定所述目标空间范围内的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将所述目标设备信息推送至所述用户终端。
第四方面,本发明实施例提供了一种信息推送设备,所述信息推送设备包括处理器以及存储器;
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行如第一方面所述的一种信息推送方法。
第五方面,本发明实施例提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的一种信息推送方法。
上述,本发明实施例提供了及一种信息推送方法、系统、装置、设备及存储介质,本发明实施例中与每个用户信息相对应的信息订阅权限的粒度范围包括每台设备或一个空间范围内所属的所有设备。当用户信息所对应的信息订阅权限为一个空间范围时,只需要确定出预先与该空间范围相绑定的目标设备,并将与目标设备相对应的目标设备信息推送至与用户信息相对应的用户终端即可,不必再依次遍历每个对象以确定用户是否具备信息订阅权限,提高了信息的推送效率,解决了现有技术中MQTT消息服务器在推送信息时,存在着信息推送效率低下的技术问题。另外,本发明实施例中管理员在设置与用户信息相对应的信息订阅权限时,只需要将空间范围相对应的编号与用户信息进行绑定即可,无需将空间范围内的设备一个个与用户信息进行绑定,也提高了管理员对信息订阅权限进行配置的效率。
附图说明
图1为本发明实施例提供的一种信息推送方法的流程示意图。
图2为本发明实施例提供的一种确定是否向用户终端推送目标设备信息的流程示意图。
图3为本发明实施例提供的将新的目标设备信息以及权限修改信息推送至用户终端的流程示意图。
图4为本发明实施例提供的用户终端显示权限修改信息的界面示意图。
图5为本发明实施例提供的一种信息推送系统的结构示意图。
图6为本发明实施例提供的另一种信息推送系统的结构示意图。
图7为本发明实施例提供的另一种信息推送装置的结构示意图。
图8为本发明实施例提供的另一种信息推送设备的结构示意图。
具体实施方式
以下描述和附图充分地示出本申请的具体实施方案,以使本领域的技术人员能够实践它们。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本申请的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,各实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。本文中,诸如第一和第二等之类的关系术语仅仅用于将一个实体或者操作与另一个实体或操作区分开来,而不要求或者暗示这些实体或操作之间存在任何实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素。本文中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的结构、产品等而言,由于其与实施例公开的部分相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
如图1所示,图1为本发明实施例提供的一种信息推送方法的流程图。本发明实施例提供的信息推送方法可以由信息推送设备执行,该信息推送设备可以通过软件和/或硬件的方式实现,该信息推送设备可以是两个或多个物理实体构成,也可以由一个物理实体构成。例如信息推送设备可以是服务器或上位机等设备。本实施例中以信息推送设备为消息服务器为例进行说明,且消息服务器为MQTT消息服务器,本发明实施例提供的信息推送方法包括以下步骤:
步骤101、实时接收消息解析服务所推送的每个设备的设备信息,并保存设备信息。
本实施例中,MQTT消息服务器预先与消息解析服务建立通信连接,MQTT消息消息服务器实时接收消息解析服务所推送的每个设备的设备信息。其中消息解析服务预先与每个设备建立通信连接,实时接收每个设备推送的消息并对消息进行解析,得到与每个设备相对应的设备信息,例如设备信息可以包括设备的硬件信息以及设备当前的状态信息等。消息解析服务在解析得到设备的设备信息后,会实时将设备信息推送至MQTT消息服务器中,MQTT将每个设备对应的设备信息保存,其中设备信息可以保存在MQTT消息服务器本地,也可以保存至数据库中。
步骤102、响应于用户终端的连接请求,与用户终端相连接并获取用户终端的用户信息。
本实施例中,当用户需要获取设备的设备信息时,用户可以在用户终端上的应用程序登陆自身的账号,并在应用程序上控制用户终端向MQTT消息服务器发送连接请求,连接请求用于请求与MQTT消息服务器建立连接。MQTT消息服务器在接收到连接请求后,对连接请求进行响应,与发起连接请求的用户终端建立通信连接,之后MQTT消息服务器会从用户终端中获取相对应的用户信息,即当前使用用户终端的用户的相关信息,例如用户信息可以是用户的账号信息。
步骤103、响应于用户终端的信息获取请求,在数据库中查询与用户信息相对应的信息订阅权限;信息订阅权限预先存储在数据库中并实时更新,每个用户信息的信息订阅权限包括至少一个粒度范围的设备相对应的设备信息,粒度范围包括每台设备或一个空间范围内所属的所有设备,空间范围下所属的所有设备预先与空间范围相对应的编号进行绑定,空间范围预先进行划分,且每个空间范围对应一个编号。
当MQTT消息服务器与用户终端相连接后,用户终端可以向MQTT消息服务器发起信息获取请求,其中信息获取请求用于请求获取MQTT消息服务器所保存的设备信息。MQTT消息服务器在接收到信息获取请求后,对信息获取请求进行响应。首先MQTT消息服务器根据用户终端上的用户信息,在数据库中查询与用户信息相对应的信息订阅权限。本实施例中,与每个用户信息相对应的信息订阅权限预先由管理员设置并存储在数据库中,且信息订阅权限会实时根据管理员的修改进行更新。
需要说明的是,本实施例中与用户信息相对应的信息订阅权限包括至少一个粒度范围的设备相对应的设备信息。其中粒度范围用于表征与用户信息相对应的用户终端所能够获取的设备信息所属的设备数量。本实施例中粒度范围包括每台设备或一个空间范围内所属的所有设备,其中空间范围可预先进行划分,例如管理员可以预先将一个房间或者一栋住宅划分为一个空间范围等,具体划分方式可根据实际需要进行设置,本实施例不进行具体限定。在划分出一个空间范围后,管理员需要为该空间范围设置一个唯一的编号,同时将该空间范围内所有的设备与该空间范围相对应的编号进行绑定,例如当空间范围为一个住宅时,则可以将该住宅内的电视、空调、热水器、洗衣机、冰箱等设备的设备编号与空间范围的编号进行绑定,以便后续根据空间范围的编号能够查找到空间范围内的所有设备。
当与用户信息相对应的信息订阅权限的粒度范围为每台设备时,管理员可预先设置与该用户信息相对应的用户对每台设备的信息订阅权限,例如对空调的设备信息或者电视机的设备信息的信息订阅权限,并赋予该用户相对应的信息订阅权限。而当与用户信息相对应的信息订阅权限的粒度范围为空间范围时,管理员可预先设置与该用户信息相对应的用户具有信息订阅权限的空间范围,例如对一个住宅内或者一个教室具有信息订阅权限等,并将该用户信息与该空间范围的编号进行绑定,从而赋予该用户该空间范围内所有设备相对应的设备信息的信息订阅权限。
步骤104、当用户信息的信息订阅权限的粒度范围为每台设备时,根据信息订阅权限确定用户终端具有信息订阅权限的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将目标设备信息推送至用户终端。
MQTT消息服务器在确定了用户信息相对应的信息订阅权限后,当用户信息的信息订阅权限的粒度范围为每台设备时,MQTT消息服务器则根据信息订阅权限确定用户终端具有信息订阅权限的目标设备,获取与目标设备相对应的设备信息,并根据与目标设备相对应的设备信息确定所需要推送的目标设备信息,之后将目标设备信息推送至用户终端,用户终端再对目标设备信息进行可视化显示,从而使得用户能够通过用户终端查看目标设备信息。
步骤105、当用户信息的信息订阅权限的粒度范围为一个空间范围下所属的所有设备时,根据信息订阅权限确定用户终端具有信息订阅权限的目标空间范围,确定目标空间范围内的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将目标设备信息推送至用户终端。
而当MQTT消息服务器确定用户信息的信息订阅权限的粒度范围为一个空间范围时,则MQTT消息服务器则可以根据用户信息的信息订阅权限,确定出用户终端具有信息订阅权限的目标空间范围,根据目标空间范围的编号确定相绑定的目标设备,即目标空间范围内所有的设备。之后MQTT消息服务器获取与目标设备相对应的设备信息,并根据与目标设备相对应的设备信息确定所需要推送的目标设备信息后,进一步将目标设备信息推送至用户终端中进行展示。
上述,本发明实施例提供了一种信息推送方法,本发明实施例中与每个用户信息相对应的信息订阅权限的粒度范围包括每台设备或一个空间范围内所属的所有设备。当用户信息所对应的信息订阅权限为一个空间范围时,只需要确定出预先与该空间范围相绑定的目标设备,并将与目标设备相对应的目标设备信息推送至与用户信息相对应的用户终端即可,不必再依次遍历每个对象以确定用户是否具备信息订阅权限,提高了信息的推送效率,解决了现有技术中MQTT消息服务器在推送信息时,存在着信息推送效率低下的技术问题。另外,本发明实施例中管理员在设置与用户信息相对应的信息订阅权限时,只需要将空间范围相对应的编号与用户信息进行绑定即可,无需将空间范围内的设备一个个与用户信息进行绑定,也提高了管理员对信息订阅权限进行配置的效率。
在上述实施例的基础上,步骤101中实时接收消息解析服务所推送的每个设备的设备信息,包括:
步骤1011、接收消息解析服务发送的登录信息,根据登录信息进行验证,在验证通过后获取与登录信息相对应的信息推送权限,信息推送权限预先存储在本地且与不同消息解析服务的登录信息进行绑定。
本实施例中,消息解析服务在向MQTT消息服务器推送信息之前,会向MQTT消息服务器发送登录信息,登陆信息用于登陆至MQTT消息服务器,例如登陆信息包括消息解析服务的登录账号和登录密码。MQTT消息服务器在接收到登录信息后,则对登录信息进行验证,确定登录信息是否正确。一个实施例中,所有消息解析服务的登录信息可保存在MySQL仓库中,MQTT消息服务器在接收到登录信息后,将接收到的登录信息和MySQL仓库中的登录信息进行匹配,若能够匹配上,则验证通过,反之则无法验证通过。
若验证通过后,则MQTT消息服务器根据登录信息获取相对应的信息推送权限,信息推送权限即为向MQTT消息服务器推送不同消息的权限,本实施例中信息推送权限可由管理员预先进行设置并存储至MQTT消息服务器中,且不同消息解析服务的登录信息与不同的信息推送权限进行绑定。
步骤1012、根据信息推送权限确定消息解析服务所能够推送的第一设备信息。
在获取到信息推送权限后,MQTT消息服务器即可根据推送权限,确定出消息解析服务所能够推送的第一设备信息。
步骤1013、接收消息解析服务推送的第一设备信息。
在确定出消息解析服务所能够推送的第一设备信息后,则MQTT消息服务器只接收消息解析服务推送的第一设备信息,对于消息解析服务推送的其他设备信息,则可以忽略或者拒收。
上述,本发明实施例中信息推送设备可以根据预设的信息推送权限,只接收消息解析服务推送的第一设备信息,从而能够避免接收过多的无效信息占用过多的资源,提高资源的利用率。
在上述实施例的基础上,用户信息还包括角色类型。
本实施例中,用户信息还包括有角色类型,其中角色类型用于表征与用户信息相对应的用户的身份,例如角色类型可以是管理员、访客或者运维人员等,角色类型在用户注册时申请或可由管理员分配。
步骤104以及步骤105中根据与目标设备相对应的设备信息确定目标设备信息,将目标设备信息推送至用户终端,包括:
步骤1051、根据用户信息确定角色类型,根据角色类型确定权限等级。
一个实施例中,MQTT消息服务器在获取到目标设备的设备信息后,并不会直接将目标设备的设备消息直接推送给相对应的用户终端,而是会进一步根据用户终端的用户信息,确定与用户信息相对应的角色类型。在确定出角色类型后,还需要进一步确定与角色类型相对应的权限等级,其中不同的角色类型对应有不同的权限等级,例如管理员对应最高级别的权限等级,对应第一权限等级;运维人员的权限等级次之,对应第二权限等级;访客的权限等级最低,对应第三权限等级。本实施例中权限等级限定了不同角色类型所能够获取到的每个目标设备的设备信息中的内容。
步骤1052、根据权限等级在与目标设备相对应的设备信息中,确定出用户终端具有信息订阅权限的目标子设备信息,一个设备的设备信息包括多个子设备信息。
在确定出与用户信息相对应的权限等级后,MQTT消息服务器即可根据权限等级,与目标设备相对应的设备信息中,确定出用户信息相对应的用户终端具有信息订阅权限的目标子设备信息。本实施例中一个设备的设备信息包括多个子设备信息,例如目标设备的子设备信息包括硬件信息、状态信息、网络连接信息以及设备标识信息。对于管理员,则其能够获取到目标设备的所有子设备信息,即目标子设备信息包括所有子设备信息。对于运维人员,则其可以获取到目标设备的子设备信息为硬件信息、状态信息以及网络连接信息,即目标子设备信息包括硬件信息、状态信息以及网络连接信息;对于访客,则其只可以获取到目标设备的子设备信息只有状态信息,即目标子设备信息只包括状态信息。
步骤1053、将目标子信息作为目标设备信息并推送至用户终端。
在确定出用户终端具有信息订阅权限的目标子设备信息后,即可将目标子信息作为目标设备信息并推送至相对应的用户终端中进行显示。
上述,本发明实施例中信息推送设备在向用户终端推送设备信息时,还会根据用户终端相对应的用户信息确定出角色类型,并根据角色类型确定出相对应的权限等级后,根据权限等级确定向用户终端所推送的目标子信息。本实施例中通过配置与不同用户信息相对应的角色类型,可以灵活配置不同用户信息能够获取到的设备子信息,进一步提高了对用户权限进行配置的灵活性,同时能够提高信息安全,避免信息泄露。
在上述实施例的基础上,在将目标子信息作为目标设备信息并推送至用户终端之前,还包括:
步骤1054、确定权限等级是否位于预设权限等级范围内,预设权限等级范围包括至少一个权限等级。
一个实施例中,在确定了目标子信息后,在将目标子信息作为目标设备信息并推送至用户终端之前,还需要确定出与用户信息相对应的权限等级是否位于预设权限等级范围内,预设权限等级范围包括至少一个权限等级,示例性的,一个实施例中可以设置预设权限等级范围包括第三权限等级,即若用户信息相对应的角色类型为访客时,则该用户信息的权限等级位于预设权限等级范围内。
步骤1055、若是,向目标用户信息相对应的目标用户终端发送验证消息,目标用户信息为权限等级为目标权限等级的角色类型相对应的用户信息。
如果权限等级在预设权限等级范围内时,则MQTT消息服务器还需要向目标用户信息相对应的目标用户终端发送验证消息,其中目标用户信息为权限等级为目标权限等级的角色类型相对应的用户信息,例如本实施例中可以将目标权限等级设置为第一权限等级,即向与用户信息为管理员的目标用户终端发送验证消息。另外,本实施例中验证消息用于询问是否允许向权限等级为预设权限等级范围内相对应的用户终端推送目标设备信息。
步骤1056、根据所监听到的目标用户终端反馈的验证通过消息,确定是否向用户终端推送目标设备信息,验证通过消息由目标用户终端确定向用户终端推送目标设备信息时生成。
MQTT消息服务器在向目标用户终端发送验证消息后,目标用户终端会对验证消息进行响应,例如目标用户终端在本地显示确认框,确认框用户供管理员确认是否允许向用户终端推送目标设备信息。若管理员确认后,目标用户终端确定向用户终端推送目标设备信息,向MQTT消息服务器反馈验证通过消息。MQTT消息服务器则可以根据监听到的验证通过消息确定是否向用户终端推送目标设备信息。一个实施例中,MQTT消息服务器则可以根据预设时长内监听到的验证通过消息的数量,来确定是否向用户终端推送目标设备信息。
在上述实施例的基础上,根据所监听到的目标用户终端反馈的验证通过消息,确定是否向用户终端推送目标设备信息,包括:
步骤10561、当第一预设时长内监听到反馈验证通过消息的目标用户终端的数量超过预设比例时,确定向用户终端推送目标设备信息。
一个实施例中,在向目标用户终端发送验证消息后,若在第一预设时长内监听到反馈验证通过消息的目标用户终端的数量占所有目标用户终端的比例超过预设比例时,确定向用户终端推送目标设备信息。其中第一预设时长可以根据实际需要进行设置,例如可以设置为3分钟或者5分钟等,本实施例中不进行具体限定。预设比例也可以根据实际需要进行设置,例如可以将预设比例设置为50%,若当第一预设时长内监听到反馈验证通过消息的目标用户终端的数量,超过所有目标用户终端数量的50%(不为整数的四舍五入)时,则确定向用户终端推送目标设备信息。
步骤10562、当第一预设时长内监听到反馈验证通过消息的目标用户终端的数量小于预设比例且大于零时,若历史上曾向用户信息相对应的用户终端推送过设备信息,则确定向用户终端推送目标设备信息。
而当第一预设时长内监听到反馈验证通过消息的目标用户终端的数量小于预设比例且大于零时,则可以判断历史上是否向用户信息相对应的用户终端推送过设备信息,从而确定用户信息历史上是否受过信任。若历史曾向用户信息相对应的用户终端推送过设备信息,则说明该用户信息为信任的用户,可以确定向用户终端推送目标设备信息。在其余的情况下,则可以确定不向用户终端推送目标设备信息。一个实施例中,确定是否向用户终端推送目标设备信息的过程如图2所示。
在上述实施例的基础上,还包括:
接收目标用户终端发送的权限修改指令。
确定目标用户终端的目标用户信息相对应的第一空间范围,确定信息订阅权限的粒度范围为第一空间范围内,且权限等级小于目标权限等级的第一用户信息。
确定权限修改指令所指向的第一目标用户信息。
在数据库中修改与第一目标用户信息相对应的信息订阅权限。
一个实施例中,对于具有目标权限等级的目标用户信息所对应的目标用户,其还可以通过使用的目标用户终端向MQTT消息服务器发送权限修改指令的方式,来修改信息订阅权限的粒度范围为同一空间范围内,权限等级较低的用户信息的信息订阅权限。具体的,目标用户在目标用户终端上对权限等级较低的用户信息的信息订阅权限进行修改后,通过目标用户终端向MQTT消息服务器发送权限修改指令。当MQTT消息服务器接收到目标用户终端发送的权限修改指令后,MQTT消息服务器会确定与目标用户终端的目标用户信息具有信息订阅权限的第一空间范围,在确定出第一空间范围后,进一步确定信息订阅权限的粒度范围为第一空间范围内,且权限等级小于目标权限等级的第一用户信息。
在确定出第一用户信息后,在第一用户信息中进一步确定权限修改指令所指向的第一目标用户信息,之后即可根据权限修改指令在数据库中修改与第一目标用户信息相对应的信息订阅权限。可理解,本实施例中,信息订阅权限的粒度范围为相同空间范围内的目标权限等级的用户只能修改该空间范围内权限等级较低的用户信息的信息订阅权限,无法修改其他空间范围的用户信息的信息订阅权限。另外,当目标用户信息相对应的信息订阅权限的粒度范围为每台设备时,则目标用户终端无法修改其他用户信息的订阅权限,MQTT消息服务器拒收权限修改指令即可。
在上述实施例的基础上,数据库实时根据信息订阅权限的增加或删减实时对信息订阅权限进行更新,方法还包括:
106、当检测到信息订阅权限被修改时,根据修改后的信息订阅权限,重新确定用户终端所能够订阅的新的目标设备信息,同时生成权限修改信息。
107、将新的目标设备信息以及权限修改信息推送至用户终端。
在另一个实施例中,若MQTT消息服务器在向用户终端推送了目标设备信息后,MQTT消息服务器会实时监测数据库中信息订阅权限的变动,若管理员修改了数据库中与用户终端相对应的用户信息的信息订阅权限后,例如对信息订阅权限进行增加或者删除后,数据库会实时对信息订阅权限进行更新,MQTT消息服务器可检测到数据库中的信息订阅权限发生变动。此时,MQTT消息服务器会根据修改后的信息订阅权限,重新确定出用户终端所能够订阅的新的目标设备信息,同时生成权限修改信息,并将新的目标设备信息以及权限修改信息推送至用户终端中进行显示,其中权限修改信息用于提示使用用户终端的用户信息订阅权限已经被修改,具体过程如图3所示,用户终端显示权限修改信息的界面示意图如图4所示。
上述,本发明实施例在向用户终端推送目标设备信息之前,若用户终端的权限等级是位于预设权限等级范围内,则信息推送设备还会向目标用户终端发送验证消息,若第一预设时长内监听到反馈验证通过消息的目标用户终端的数量超过预设比例,或者历史上曾向用户信息相对应的用户终端推送过设备信息,则确定向用户终端推送目标设备信息。本发明实施例通过询问与目标权限等级的角色类型相对应的用户终端后,才确定向用户终端的推送目标设备信息,进一步提高了信息安全,防止设备信息被不信任的用户所获取。
本发明实施例还提供了一种信息推送系统,如图5所示,图5为本发明实施例提供的一种信息推送系统的结构示意图,本发明实施例提供的信息推送系统包括:
前端模块201,用于提供操作界面,以及用于响应于作用于操作界面的权限设置操作,设置信息订阅权限,并将信息订阅权限同步至数据库205。
本实施例中,信息推送系统包括前端模块201,前端模块201用于提供与管理员进行交互的操作界面,管理员可通过与操作界面进行交互的方式,在操作界面上执行权限设置操作,权限设置操作用于设置与不同用户信息相对应的信息订阅权限。前端模块201在检测到作用于操作界面的权限设置操作后,即可对权限设置操作进行响应,设置相对应的信息订阅权限,并将设置完成的信息订阅权限同步到数据库205中。
消息服务器202,用于实时接收消息解析服务所推送的每个设备的设备信息,并保存设备信息;响应于用户终端204的连接请求,与用户终端204相连接并获取用户终端204的用户信息;响应于用户终端204的信息获取请求,在数据库205中查询与用户信息相对应的信息订阅权限;信息订阅权限预先存储在数据库205中并实时更新,每个用户信息的信息订阅权限包括至少一个粒度范围的设备相对应的设备信息,粒度范围包括每台设备或一个空间范围内所属的所有设备,空间范围下所属的所有设备预先与空间范围相对应的编号进行绑定,空间范围预先进行划分,且每个空间范围对应一个编号;当用户信息的信息订阅权限的粒度范围为每台设备时,根据信息订阅权限确定用户终端204具有信息订阅权限的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将目标设备信息推送至用户终端204;当用户信息的信息订阅权限的粒度范围为一个空间范围下所属的所有设备时,根据信息订阅权限确定用户终端204具有信息订阅权限的目标空间范围,确定目标空间范围内的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将目标设备信息推送至用户终端204。
消息解析模块203,包括有消息解析服务,消息解析服务用于与设备通信连接,接收设备发送的消息并进行解析,得到设备信息,并将设备信息推送至消息服务器202。
本实施例中,消息解析模块203内包括有消息解析服务,消息解析服务用于与设备进行通信连接,以接收设备上传的消息并采用相对应的协议对消息进行解析后,得到设备消息,并将设备消息推送至消息服务器202中。
用户终端204,用于向消息服务器202发送连接请求;用于在与消息服务器202相连接后,向消息服务器202发送信息获取请求;以及用于接收消息服务器202发送的目标设备信息并进行可视化。
信息推送系统中还包括有用户终端204,其中用户终端204为供各个用户使用的终端,例如用户终端204可以是手机、平板电脑、智能手表或者笔记本电脑等便携式设备。本实施例中用户可通过用户终端204向消息服务器202发送连接请求,以请求与消息服务器202相连接。当用户终端204与消息服务器202相连接后,用户终端204会进一步向消息服务器202发送信息获取请求,以请求获取目标设备信息。后续当用户终端204接收到消息服务器202发送的目标设备信息后,用户终端204即可对目标设备进行在本地中进行可视化,从而供用户查看。
数据库205,用于存储信息订阅权限。
而本实施例中数据库205则用于存储管理员所设置的信息订阅权限。
在上述实施例的基础上,消息服务器202还用于接收消息解析服务发送的登录信息,根据登录信息进行验证,在验证通过后获取与登录信息相对应的信息推送权限,信息推送权限预先存储在本地且与不同消息解析服务的登录信息进行绑定;根据信息推送权限确定消息解析服务所能够推送的第一设备信息;接收消息解析服务推送的第一设备信息。
在上述实施例的基础上,用户信息还包括角色类型;
消息服务器202具体用于根据用户信息确定角色类型,根据角色类型确定权限等级;根据权限等级在与目标设备相对应的设备信息中,确定出用户终端204具有信息订阅权限的目标子设备信息,一个设备的设备信息包括多个子设备信息;将目标子信息作为目标设备信息并推送至用户终端204。
在上述实施例的基础上,消息服务器202具体用于在将目标子信息作为目标设备信息并推送至用户终端204之前,还用于:
确定权限等级是否位于预设权限等级范围内,预设权限等级范围包括至少一个权限等级;若是,向目标用户信息相对应的目标用户终端204发送验证消息,目标用户信息为权限等级为目标权限等级的角色类型相对应的用户信息;根据所监听到的目标用户终端204反馈的验证通过消息,确定是否向用户终端204推送目标设备信息,验证通过消息由目标用户终端204确定向用户终端204推送目标设备信息时生成。
在上述实施例的基础上,消息服务器202具体用于当第一预设时长内监听到反馈验证通过消息的目标用户终端204的数量超过预设比例时,确定向用户终端204推送目标设备信息;当第一预设时长内监听到反馈验证通过消息的目标用户终端204的数量小于预设比例且大于零时,若历史上曾向用户信息相对应的用户终端204推送过设备信息,则确定向用户终端204推送目标设备信息。
在上述实施例的基础上,消息服务器202还用于接收目标用户终端发送的权限修改指令;确定目标用户终端的目标用户信息相对应的第一空间范围,确定信息订阅权限的粒度范围为第一空间范围内,且权限等级小于目标权限等级的第一用户信息;确定权限修改指令所指向的第一目标用户信息;在数据库中修改与第一目标用户信息相对应的信息订阅权限。
在上述实施例的基础上,数据库具体用于实时根据信息订阅权限的增加或删减实时对信息订阅权限进行更新;
消息服务器202还用于当检测到信息订阅权限被修改时,根据修改后的信息订阅权限,重新确定用户终端所能够订阅的新的目标设备信息,同时生成权限修改信息;将新的目标设备信息以及权限修改信息推送至用户终端。
在上述实施例的基础上,还包括:
监控模块206,用于对消息服务器202的运行状态、信息订阅情况以及性能参数进行监控。
一个实施例中,如图6所示,信息推送系统还包括有监控模块206,监控模块206用于对消息服务器202的运行状态、信息订阅详情以及性能参数进行监控,其中运行状态包括有当前消息服务器202的运行情况,例如消息服务器202的运行模式以及运行参数等。信息请阅详情包括有当前各个用户终端204对设备消息的订阅情况。而性能参数则包括有当前消息服务器202的性能相关的各项参数。监控模块206可实时对消息服务器202进行监控,并在消息服务器202发生异常时,及时发出警报并通知管理员。一个实施例中,监控模块可以选择EMQX控制台。
在上述实施例的基础上,还包括:
终端服务模块207,用于响应于用户终端204的登陆请求,与用户终端204相连接并向用户终端204发送第一令牌;以及用于接收用户终端204发送的第二令牌,当第一令牌与第二令牌匹配时,向用户终端204发送目标令牌。
用户终端204还用于向终端服务模块207发起登陆请求,以及用于终端服务模块207相连接后,接收终端服务模块207发送第一令牌,并向终端服务模块207反馈第一令牌,以及用于接收终端服务模块207发送的目标令牌,向消息服务器202发送连接请求,连接请求携带有目标令牌。
消息服务器202还用于对目标令牌鉴权后,与用户终端204相连接。
本实施例中,如图6所示,信息推送系统还包括有终端服务模块207,当用户终端204需要连接至消息服务器202时,用户终端204需要从终端服务模块207中获取目标令牌以证明自身的身份合法。具体的,用户终端204首先需要向终端服务模块207发起登录请求,登陆请求用于请求登录至终端服务模块207。终端服务模块207在接收到登录请求后,与用户终端204相连接,并向用户终端204发送第一令牌。用户终端204在接收到第一令牌后,重新将第一令牌发送给终端服务模块207。终端服务模块207则接收用户终端204发送的第二令牌,将第一令牌和第二令牌进行比较,当第一令牌与第二令牌匹配时,则用户终端204的身份验证通过,终端服务模块207再向用户终端204发送目标令牌,例如目标令牌可以是JWTTOKEN。
用户终端在获取到目标令牌后,则在连接请求中携带目标令牌,并将目标令牌发送至消息服务器,消息服务器接收连接请求并解析连接请求中的目标令牌,之后对目标令牌进行鉴权,若鉴权通过后,则与用户终端相连接,若鉴权不通过,则不与用户终端相连接。本发明实施例终端服务模块通过向用户终端发送第一令牌后,接收用户终端反馈的第二令牌,并将第一令牌和第二令牌进行匹配的方式,能够对用户终端的身份进行验证,避免不信任的用户终端与消息服务器相连接,进一步提高了信息的安全性。
另一个实施例中,还可以以双节点集群的方式设置信息推送系统,从而为确保MQTT消息服务器的性能、准确性和时效性,提高信息传输的稳定性。
本发明实施例还提供了一种信息推送装置,如图7所示,图7为本发明实施例提供的一种信息推送装置的结构示意图,本发明实施例的一种信息推送装置包括:
信息接收模块301,用于实时接收消息解析服务所推送的每个设备的设备信息,并保存设备信息。
连接响应模块302,用于响应于用户终端的连接请求,与用户终端相连接并获取用户终端的用户信息。
权限查询模块303,用于响应于用户终端的信息获取请求,在数据库中查询与用户信息相对应的信息订阅权限;信息订阅权限预先存储在数据库中并实时更新,每个用户信息的信息订阅权限包括至少一个粒度范围的设备相对应的设备信息,粒度范围包括每台设备或一个空间范围内所属的所有设备,空间范围下所属的所有设备预先与空间范围相对应的编号进行绑定,空间范围预先进行划分,且每个空间范围对应一个编号。
第一信息推送模块304,用于当用户信息的信息订阅权限的粒度范围为每台设备时,根据信息订阅权限确定用户终端具有信息订阅权限的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将目标设备信息推送至用户终端;
第二信息推送模块305,用于当用户信息的信息订阅权限的粒度范围为一个空间范围下所属的所有设备时,根据信息订阅权限确定用户终端具有信息订阅权限的目标空间范围,确定目标空间范围内的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将目标设备信息推送至用户终端。
在上述实施例的基础上,信息接收模块301包括:
登录信息验证子模块,用于接收消息解析服务发送的登录信息,根据登录信息进行验证,在验证通过后获取与登录信息相对应的信息推送权限,信息推送权限预先存储在本地且与不同消息解析服务的登录信息进行绑定。
第一设备信息确定子模块,用于根据信息推送权限确定消息解析服务所能够推送的第一设备信息。
第一设备信息接收子模块,用于接收消息解析服务推送的第一设备信息。
在上述实施例的基础上,用户信息还包括角色类型,第一信息推送模块304和第二信息推送模块305均包括:
权限等级确定子模块,用于根据用户信息确定角色类型,根据角色类型确定权限等级。
目标子设备信息确定子模块,用于根据权限等级在与目标设备相对应的设备信息中,确定出用户终端具有信息订阅权限的目标子设备信息,一个设备的设备信息包括多个子设备信息。
设备信息推送子模块,用于将目标子信息作为目标设备信息并推送至用户终端。
在上述实施例的基础上,还包括:
权限等级确定模块,用于在将目标子信息作为目标设备信息并推送至用户终端之前,确定权限等级是否位于预设权限等级范围内,预设权限等级范围包括至少一个权限等级。
验证消息发送模块,用于若权限等级位于预设权限等级范围内,向目标用户信息相对应的目标用户终端发送验证消息,目标用户信息为权限等级为目标权限等级的角色类型相对应的用户信息。
消息监听模块,用于根据所监听到的目标用户终端反馈的验证通过消息,确定是否向用户终端推送目标设备信息,验证通过消息由目标用户终端确定向用户终端推送目标设备信息时生成。
在上述实施例的基础上,消息监听模块包括:
第一确定子模块,用于当第一预设时长内监听到反馈验证通过消息的目标用户终端的数量超过预设比例时,确定向用户终端推送目标设备信息。
第一确定子模块,用于当第一预设时长内监听到反馈验证通过消息的目标用户终端的数量小于预设比例且大于零时,若历史上曾向用户信息相对应的用户终端推送过设备信息,则确定向用户终端推送目标设备信息。
在上述实施例的基础上,还包括:
修改指令接收模块,用于接收目标用户终端发送的权限修改指令;
第一用户信息确定模块,用于确定目标用户终端的目标用户信息相对应的第一空间范围,确定信息订阅权限的粒度范围为第一空间范围内,且权限等级小于目标权限等级的第一用户信息;
第一目标信息确定模块,用于确定权限修改指令所指向的第一目标用户信息;
权限修改模块,用于在数据库中修改与第一目标用户信息相对应的信息订阅权限。
在上述实施例的基础上,数据库实时根据信息订阅权限的增加或删减实时对信息订阅权限进行更新,还包括:
修改检测模块,用于当检测到信息订阅权限被修改时,根据修改后的信息订阅权限,重新确定用户终端所能够订阅的新的目标设备信息,同时生成权限修改信息;
修改信息推送模块,用于将新的目标设备信息以及权限修改信息推送至用户终端。
本发明实施例提供的信息推送装置包含在信息推送设备中,且可用于执行上述实施例中提供的信息推送方法,具备相应的功能和有益效果。
值得注意的是,上述信息推送装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
本实施例还提供了一种信息推送设备,如图8所示,信息推送设备40包括处理器400以及存储器401;
存储器401用于存储计算机程序402,并将计算机程序402传输给处理器400;
处理器400用于根据计算机程序402中的指令执行上述的一种信息推送方法实施例中的步骤。
示例性的,计算机程序402可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器401中,并由处理器400执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序402在信息推送设备40中的执行过程。
信息推送设备40可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。信息推送设备40可包括,但不仅限于,处理器400、存储器401。本领域技术人员可以理解,图8仅仅是信息推送设备40的示例,并不构成对信息推送设备40的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如信息推送设备40还可以包括输入输出设备、网络接入设备、总线等。
所称处理器400可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器401可以是信息推送设备40的内部存储单元,例如信息推送设备40的硬盘或内存。存储器401也可以是信息推送设备40的外部存储设备,例如信息推送设备40上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器401还可以既包括信息推送设备40的内部存储单元也包括外部存储设备。存储器401用于存储计算机程序以及信息推送设备40所需的其他程序和数据。存储器401还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种信息推送方法,该方法包括以下步骤:
实时接收消息解析服务所推送的每个设备的设备信息,并保存设备信息;
响应于用户终端的连接请求,与用户终端相连接并获取用户终端的用户信息;
响应于用户终端的信息获取请求,在数据库中查询与用户信息相对应的信息订阅权限;信息订阅权限预先存储在数据库中并实时更新,每个用户信息的信息订阅权限包括至少一个粒度范围的设备相对应的设备信息,粒度范围包括每台设备或一个空间范围内所属的所有设备,空间范围下所属的所有设备预先与空间范围相对应的编号进行绑定,空间范围预先进行划分,且每个空间范围对应一个编号;
当用户信息的信息订阅权限的粒度范围为每台设备时,根据信息订阅权限确定用户终端具有信息订阅权限的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将目标设备信息推送至用户终端;
当用户信息的信息订阅权限的粒度范围为一个空间范围下所属的所有设备时,根据信息订阅权限确定用户终端具有信息订阅权限的目标空间范围,确定目标空间范围内的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将目标设备信息推送至用户终端。
注意,上述仅为本发明实施例的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明实施例不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明实施例的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明实施例构思的情况下,还可以包括更多其他等效实施例,而本发明实施例的范围由所附的权利要求范围决定。
Claims (19)
1.一种信息推送方法,其特征在于,包括:
实时接收消息解析服务所推送的每个设备的设备信息,并保存所述设备信息;
响应于用户终端的连接请求,与所述用户终端相连接并获取所述用户终端的用户信息;
响应于所述用户终端的信息获取请求,在数据库中查询与所述用户信息相对应的信息订阅权限;所述信息订阅权限预先存储在所述数据库中并实时更新,每个所述用户信息的信息订阅权限包括至少一个粒度范围的设备相对应的设备信息,所述粒度范围包括每台设备或一个空间范围内所属的所有设备,所述空间范围下所属的所有设备预先与所述空间范围相对应的编号进行绑定,所述空间范围预先进行划分,且每个所述空间范围对应一个编号;
当所述用户信息的信息订阅权限的粒度范围为每台设备时,根据所述信息订阅权限确定所述用户终端具有信息订阅权限的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将所述目标设备信息推送至所述用户终端;
当所述用户信息的信息订阅权限的粒度范围为一个空间范围下所属的所有设备时,根据所述信息订阅权限确定所述用户终端具有信息订阅权限的目标空间范围,确定所述目标空间范围内的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将所述目标设备信息推送至所述用户终端。
2.根据权利要求1所述的一种信息推送方法,其特征在于,所述实时接收消息解析服务所推送的每个设备的设备信息,包括:
接收消息解析服务发送的登录信息,根据所述登录信息进行验证,在验证通过后获取与所述登录信息相对应的信息推送权限,所述信息推送权限预先存储在本地且与不同消息解析服务的登录信息进行绑定;
根据所述信息推送权限确定所述消息解析服务所能够推送的第一设备信息;
接收所述消息解析服务推送的第一设备信息。
3.根据权利要求1所述的一种信息推送方法,其特征在于,所述用户信息还包括角色类型;
所述根据与目标设备相对应的设备信息确定目标设备信息,将所述目标设备信息推送至所述用户终端,包括:
根据所述用户信息确定所述角色类型,根据所述角色类型确定权限等级;
根据所述权限等级在与所述目标设备相对应的设备信息中,确定出所述用户终端具有信息订阅权限的目标子设备信息,所述一个设备的设备信息包括多个子设备信息;
将所述目标子信息作为目标设备信息并推送至所述用户终端。
4.根据权利要求3所述的一种信息推送方法,其特征在于,在将所述目标子信息作为目标设备信息并推送至所述用户终端之前,还包括:
确定所述权限等级是否位于预设权限等级范围内,所述预设权限等级范围包括至少一个权限等级;
若是,向目标用户信息相对应的目标用户终端发送验证消息,所述目标用户信息为权限等级为目标权限等级的角色类型相对应的用户信息;
根据所监听到的所述目标用户终端反馈的验证通过消息,确定是否向所述用户终端推送所述目标设备信息,所述验证通过消息由所述目标用户终端确定向所述用户终端推送所述目标设备信息时生成。
5.根据权利要求4所述的一种信息推送方法,其特征在于,所述根据所监听到的所述目标用户终端反馈的验证通过消息,确定是否向所述用户终端推送所述目标设备信息,包括:
当第一预设时长内监听到反馈所述验证通过消息的目标用户终端的数量超过预设比例时,确定向所述用户终端推送所述目标设备信息;
当所述第一预设时长内监听到反馈所述验证通过消息的目标用户终端的数量小于预设比例且大于零时,若历史上曾向所述用户信息相对应的用户终端推送过设备信息,则确定向所述用户终端推送所述目标设备信息。
6.根据权利要求4所述的一种信息推送方法,其特征在于,还包括:
接收所述目标用户终端发送的权限修改指令;
确定所述目标用户终端的目标用户信息相对应的第一空间范围,确定所述信息订阅权限的粒度范围为所述第一空间范围内,且所述权限等级小于所述目标权限等级的第一用户信息;
确定所述权限修改指令所指向的第一目标用户信息;
在所述数据库中修改与所述第一目标用户信息相对应的信息订阅权限。
7.根据权利要求1所述的一种信息推送方法,其特征在于,所述数据库实时根据所述信息订阅权限的增加或删减实时对所述信息订阅权限进行更新,所述方法还包括:
当检测到所述信息订阅权限被修改时,根据修改后的信息订阅权限,重新确定所述用户终端所能够订阅的新的目标设备信息,同时生成权限修改信息;
将所述新的目标设备信息以及所述权限修改信息推送至所述用户终端。
8.一种信息推送系统,其特征在于,包括:
前端模块,用于提供操作界面,以及用于响应于作用于所述操作界面的权限设置操作,设置信息订阅权限,并将所述信息订阅权限同步至数据库;
消息服务器,用于实时接收消息解析服务所推送的每个设备的设备信息,并保存所述设备信息;响应于用户终端的连接请求,与所述用户终端相连接并获取所述用户终端的用户信息;响应于所述用户终端的信息获取请求,在数据库中查询与所述用户信息相对应的信息订阅权限;所述信息订阅权限预先存储在所述数据库中并实时更新,每个所述用户信息的信息订阅权限包括至少一个粒度范围的设备相对应的设备信息,所述粒度范围包括每台设备或一个空间范围内所属的所有设备,所述空间范围下所属的所有设备预先与所述空间范围相对应的编号进行绑定,所述空间范围预先进行划分,且每个所述空间范围对应一个编号;当所述用户信息的信息订阅权限的粒度范围为每台设备时,根据所述信息订阅权限确定所述用户终端具有信息订阅权限的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将所述目标设备信息推送至所述用户终端;当所述用户信息的信息订阅权限的粒度范围为一个空间范围下所属的所有设备时,根据所述信息订阅权限确定所述用户终端具有信息订阅权限的目标空间范围,确定所述目标空间范围内的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将所述目标设备信息推送至所述用户终端;
消息解析模块,包括有消息解析服务,所述消息解析服务用于与设备通信连接,接收所述设备发送的消息并进行解析,得到设备信息,并将所述设备信息推送至所述消息服务器;
用户终端,用于向所述消息服务器发送连接请求;用于在与所述消息服务器相连接后,向所述消息服务器发送信息获取请求;以及用于接收所述消息服务器发送的目标设备信息并进行可视化;
数据库,用于存储所述信息订阅权限。
9.根据权利要求8所述的一种信息推送系统,其特征在于,所述消息服务器还用于接收消息解析服务发送的登录信息,根据所述登录信息进行验证,在验证通过后获取与所述登录信息相对应的信息推送权限,所述信息推送权限预先存储在本地且与不同消息解析服务的登录信息进行绑定;根据所述信息推送权限确定所述消息解析服务所能够推送的第一设备信息;接收所述消息解析服务推送的第一设备信息。
10.根据权利要求8所述的一种信息推送系统,其特征在于,所述用户信息还包括角色类型;
所述消息服务器具体用于根据所述用户信息确定所述角色类型,根据所述角色类型确定权限等级;根据所述权限等级在与所述目标设备相对应的设备信息中,确定出所述用户终端具有信息订阅权限的目标子设备信息,所述一个设备的设备信息包括多个子设备信息;将所述目标子信息作为目标设备信息并推送至所述用户终端。
11.根据权利要求10所述的一种信息推送系统,其特征在于,所述消息服务器具体用于在将所述目标子信息作为目标设备信息并推送至所述用户终端之前,还用于:
确定所述权限等级是否位于预设权限等级范围内,所述预设权限等级范围包括至少一个权限等级;若是,向目标用户信息相对应的目标用户终端发送验证消息,所述目标用户信息为权限等级为目标权限等级的角色类型相对应的用户信息;根据所监听到的所述目标用户终端反馈的验证通过消息,确定是否向所述用户终端推送所述目标设备信息,所述验证通过消息由所述目标用户终端确定向所述用户终端推送所述目标设备信息时生成。
12.根据权利要求11所述的一种信息推送系统,其特征在于,所述消息服务器具体用于当第一预设时长内监听到反馈所述验证通过消息的目标用户终端的数量超过预设比例时,确定向所述用户终端推送所述目标设备信息;当所述第一预设时长内监听到反馈所述验证通过消息的目标用户终端的数量小于预设比例且大于零时,若历史上曾向所述用户信息相对应的用户终端推送过设备信息,则确定向所述用户终端推送所述目标设备信息。
13.根据权利要求11所述的一种信息推送系统,其特征在于,所述消息服务器还用于接收所述目标用户终端发送的权限修改指令;确定所述目标用户终端的目标用户信息相对应的第一空间范围,确定所述信息订阅权限的粒度范围为所述第一空间范围内,且所述权限等级小于所述目标权限等级的第一用户信息;确定所述权限修改指令所指向的第一目标用户信息;在所述数据库中修改与所述第一目标用户信息相对应的信息订阅权限。
14.根据权利要求8所述的一种信息推送系统,其特征在于,所述数据库具体用于实时根据所述信息订阅权限的增加或删减实时对所述信息订阅权限进行更新;
所述消息服务器还用于当检测到所述信息订阅权限被修改时,根据修改后的信息订阅权限,重新确定所述用户终端所能够订阅的新的目标设备信息,同时生成权限修改信息;将所述新的目标设备信息以及所述权限修改信息推送至所述用户终端。
15.根据权利要求8所述的一种信息推送系统,其特征在于,还包括:
监控模块,用于对所述消息服务器的运行状态、信息订阅详情以及性能参数进行监控。
16.根据权利要求8所述的一种信息推送系统,其特征在于,还包括:
终端服务模块,用于响应于所述用户终端的登陆请求,与所述用户终端相连接并向所述用户终端发送第一令牌;以及用于接收所述用户终端发送的第二令牌,当所述第一令牌与所述第二令牌匹配时,向所述用户终端发送目标令牌;
所述用户终端还用于向所述终端服务模块发起所述登陆请求,以及用于所述终端服务模块相连接后,接收所述终端服务模块发送第一令牌,并向所述终端服务模块反馈所述第一令牌,以及用于接收所述终端服务模块发送的目标令牌,向所述消息服务器发送所述连接请求,所述连接请求携带有所述目标令牌;
所述消息服务器还用于对所述目标令牌鉴权后,与所述用户终端相连接。
17.一种信息推送装置,其特征在于,包括:
信息接收模块,用于实时接收消息解析服务所推送的每个设备的设备信息,并保存所述设备信息;
连接响应模块,用于响应于用户终端的连接请求,与所述用户终端相连接并获取所述用户终端的用户信息;
权限查询模块,用于响应于所述用户终端的信息获取请求,在数据库中查询与所述用户信息相对应的信息订阅权限;所述信息订阅权限预先存储在所述数据库中并实时更新,每个所述用户信息的信息订阅权限包括至少一个粒度范围的设备相对应的设备信息,所述粒度范围包括每台设备或一个空间范围内所属的所有设备,所述空间范围下所属的所有设备预先与所述空间范围相对应的编号进行绑定,所述空间范围预先进行划分,且每个所述空间范围对应一个编号;
第一信息推送模块,用于当所述用户信息的信息订阅权限的粒度范围为每台设备时,根据所述信息订阅权限确定所述用户终端具有信息订阅权限的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将所述目标设备信息推送至所述用户终端;
第二信息推送模块,用于当所述用户信息的信息订阅权限的粒度范围为一个空间范围下所属的所有设备时,根据所述信息订阅权限确定所述用户终端具有信息订阅权限的目标空间范围,确定所述目标空间范围内的目标设备,根据与目标设备相对应的设备信息确定目标设备信息,将所述目标设备信息推送至所述用户终端。
18.一种信息推送设备,其特征在于,所述信息推送设备包括处理器以及存储器;
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行如权利要求1-8中任一项所述的一种信息推送方法。
19.一种存储计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-8中任一项所述的一种信息推送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311816748.4A CN117768541A (zh) | 2023-12-26 | 2023-12-26 | 一种信息推送方法、系统、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311816748.4A CN117768541A (zh) | 2023-12-26 | 2023-12-26 | 一种信息推送方法、系统、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117768541A true CN117768541A (zh) | 2024-03-26 |
Family
ID=90316073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311816748.4A Pending CN117768541A (zh) | 2023-12-26 | 2023-12-26 | 一种信息推送方法、系统、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117768541A (zh) |
-
2023
- 2023-12-26 CN CN202311816748.4A patent/CN117768541A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112367246B (zh) | 消息推送方法、装置、电子设备及存储介质 | |
CN108366105B (zh) | 跨区块链的数据访问方法、装置、系统及计算机可读介质 | |
CN113079164B (zh) | 堡垒机资源的远程控制方法、装置、存储介质及终端设备 | |
EP2985730A1 (en) | Method and device for partially-upgrading | |
CN104980421B (zh) | 一种批量请求处理方法及系统 | |
CN108123961B (zh) | 信息处理方法、装置及系统 | |
CN111104675A (zh) | 系统安全漏洞的检测方法和装置 | |
CN109491733B (zh) | 基于可视化的界面显示方法及相关设备 | |
CN112202747A (zh) | 目标设备的绑定方法和装置、存储介质及电子装置 | |
CN105827406A (zh) | 一种身份验证方法、装置和系统 | |
CN111343048A (zh) | 压力测试方法及装置、计算机装置及存储介质 | |
CN109726545B (zh) | 一种信息显示方法、设备、计算机可读存储介质和装置 | |
CN113204599A (zh) | 基于物联网的设备监测方法及装置、监测设备和存储介质 | |
JP6523581B2 (ja) | 情報提供装置、情報提供システム、情報提供方法および情報提供プログラム | |
CN112995357B (zh) | 基于云托管服务的域名管理方法、装置、介质及电子设备 | |
CN112181599B (zh) | 模型训练方法、装置及存储介质 | |
CN112491625A (zh) | 基于即时通讯平台的运维告警方法、装置及设备 | |
CN112087455A (zh) | 一种waf站点防护规则生成方法、系统、设备及介质 | |
CN108713199B (zh) | 权限管理方法、系统、移动终端、共享充电设备及服务器 | |
CN110730063B (zh) | 安全验证方法、系统、物联网平台、终端和可读存储介质 | |
CN108156071B (zh) | 向社区添加成员的方法、终端设备及计算机可读存储介质 | |
CN110888716A (zh) | 一种数据处理的方法、装置、存储介质和电子设备 | |
CN110677423A (zh) | 基于客户代理端的数据采集方法、装置、及计算机设备 | |
CN117768541A (zh) | 一种信息推送方法、系统、装置、设备及存储介质 | |
CN111953633A (zh) | 基于终端环境的访问控制方法及访问控制装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |