CN113992352B - 一种消息推送方法、装置、电子设备及存储介质 - Google Patents
一种消息推送方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113992352B CN113992352B CN202111136650.5A CN202111136650A CN113992352B CN 113992352 B CN113992352 B CN 113992352B CN 202111136650 A CN202111136650 A CN 202111136650A CN 113992352 B CN113992352 B CN 113992352B
- Authority
- CN
- China
- Prior art keywords
- message
- target
- information
- pushing
- type
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000012550 audit Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 17
- 238000012795 verification Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 238000007781 pre-processing Methods 0.000 claims description 8
- 230000002093 peripheral effect Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012797 qualification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000283973 Oryctolagus cuniculus Species 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种消息推送方法、装置、电子设备及存储介质,包括:获取前端写入的来自目标设备的第一信息,其中,目标设备是在前端注册成功的设备,第一信息包括目标消息类型、目标消息对应的接口信息和接口信息对应的加密信息;基于第一信息中的目标消息类型,从消息中间件中获取目标消息类型对应的目标消息,其中,消息中间件接收并存储数据模块发送的各个类型的消息;基于第一信息中的接口信息对应的加密信息,对目标消息进行加密处理,得到加密后的目标消息;基于第一信息中的目标消息对应的接口信息,将加密后的目标消息推送给目标设备。本发明的方法,可以实现消息的加密推送,提高消息推送的安全性。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种消息推送方法、装置、电子设备及存储介质。
背景技术
随着计算机和互联网技术的快速发展,各行各业对跨***间消息推送业务的需求在不断增长。
目前,现有技术中,常用的消息推送方法是在本***与对方***之间引入消息中间件(Message Queue,MQ)的方式,本***作为生产者将数据以消息的形式发送到MQ,对方***作为消费者从MQ消费数据,然而,***间通过中间件MQ进行消息的准实时推送,存在安全性低的问题。
因此,如何更好地实现跨***间的消息推送已成为业界亟待解决的问题。
发明内容
本发明提供一种消息推送方法、装置、电子设备及存储介质,用以更好地实现跨***间的消息推送。
本发明提供一种消息推送方法,包括:
获取前端写入的来自目标设备的第一信息,其中,所述目标设备是在所述前端注册成功的设备,所述第一信息包括目标消息类型、目标消息对应的接口信息和所述接口信息对应的加密信息;
基于所述第一信息中的目标消息类型,从消息中间件中获取所述目标消息类型对应的目标消息,其中,所述消息中间件接收并存储数据模块发送的各个类型的消息;
基于所述第一信息中的接口信息对应的加密信息,对所述目标消息进行加密处理,得到加密后的所述目标消息;
基于所述第一信息中的目标消息对应的接口信息,将加密后的所述目标消息推送给所述目标设备。
根据本发明提供的一种消息推送方法,在所述基于所述第一信息中的目标消息对应的接口信息,将加密后的所述目标消息推送给所述目标设备之后,还包括:
接收所述目标设备反馈的消息推送结果;
在所述消息推送结果为第一类型的目标子消息推送失败的情况下,从后端的备份数据库中获取所述第一类型的目标子消息,其中,所述备份数据库存储有从所述消息中间件中获取的各个类型消息,所述第一类型是所述目标消息类型中的一种类型或多种类型;
将所述第一类型的目标子消息重新推送给所述目标设备。
根据本发明提供的一种消息推送方法,在所述将所述第一类型的目标子消息重新推送给所述目标设备之后,还包括:
接收所述目标设备反馈的消息重推结果;
在所述消息重推结果为所述第一类型的目标子消息重新推送失败的情况下,将所述消息重推结果发送给所述数据模块,以供所述数据模块根据所述消息重推结果,将所述第一类型的目标子消息发送给所述消息中间件;
从所述消息中间件中获取所述第一类型的目标子消息;
将所述第一类型的目标子消息重新推送给所述目标设备。
根据本发明提供的一种消息推送方法,所述第一信息还包括第一数据格式信息,所述从消息中间件中获取所述目标消息类型对应的目标消息,包括:
从所述消息中间件中获取所述目标消息类型对应的初始消息;
调用所述第一数据格式信息对应的数据预处理服务,对所述初始消息进行数据格式处理,得到目标消息。
根据本发明提供的一种消息推送方法,所述基于所述第一信息中的接口信息对应的加密信息,对所述目标消息进行加密处理,得到加密后的所述目标消息,包括:
基于所述加密信息中的验签信息,确定所述目标消息的签名;
基于所述加密信息中的密钥信息,将所述目标消息和所述目标消息的签名进行加密,得到加密后的所述目标消息。
根据本发明提供的一种消息推送方法,所述基于所述第一信息中的目标消息对应的接口信息,将加密后的所述目标消息推送给所述目标设备,包括:
基于所述第一信息中的目标消息对应的接口信息,确定所述目标设备接收所述目标消息的第一接口;
将加密后的所述目标消息推送给所述第一接口,以供所述目标设备接收所述目标消息。
根据本发明提供的一种消息推送方法,在所述获取前端写入的来自目标设备的第一信息之前,还包括:
获取前端写入的来自第一网络设备的审核信息;
对所述审核信息进行分析,在所述审核信息满足预设审核条件的情况下,确定所述第一网络设备为所述目标设备。
本发明还提供一种消息推送装置,包括:
第一获取单元,用于获取前端写入的来自目标设备的第一信息,其中,所述目标设备是在所述前端注册成功的设备,所述第一信息包括目标消息类型、目标消息对应的接口信息和所述接口信息对应的加密信息;
第二获取单元,用于基于所述第一信息中的目标消息类型,从消息中间件中获取所述目标消息类型对应的目标消息,其中,所述消息中间件接收并存储数据模块发送的各个类型的消息;
加密单元,用于基于所述第一信息中的接口信息对应的加密信息,对所述目标消息进行加密处理,得到加密后的所述目标消息;
推送单元,用于基于所述第一信息中的目标消息对应的接口信息,将加密后的所述目标消息推送给所述目标设备。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述消息推送方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述消息推送方法的步骤。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述消息推送方法的步骤。
本发明提供的一种消息推送方法、装置、电子设备及存储介质,通过将消息中间件设置于本地内网环境中,避免暴露到公网,提高消息存储的安全性,同时通过获取前端写入的来自目标设备的第一信息,第一信息包括目标设备所订阅的目标消息的类型、目标设备接收目标消息的接口信息和该接口信息对应的加密信息,进而可以根据目标消息的类型从消息中间件中获取目标消息,通过接口信息对应的加密信息对目标消息进行加密处理,根据接口信息将加密后的目标消息发送到接口信息对应的目标设备接口,以保证目标设备可以通过该接口对加密后的目标消息进行对称解密,从而获取到目标消息的内容,实现消息的加密推送,提高了消息推送的安全性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的消息推送方法的流程示意图;
图2是本发明提供的消息推送方法的整体***结构示意图;
图3是本发明提供的消息推送装置的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图4描述本发明的一种消息推送方法、装置、电子设备及存储介质。
需要说明的是,跨***间的数据推送,一般的方式是由对方***提供接口,本地***通过该接口将本地***的数据实时推送到对方***,但这种方式是将两个或者多个***耦合到了一起,其中任一***的稳定性出现问题,都将直接影响到本地***的稳定性。
为了解决***间耦合的问题,一种解决方案是在本地***和对方***之间引入消息中间件(Message Queue,MQ),这样***间就没有直接关联,实现了解耦合,但该种方案需要将MQ暴露到公网,存在安全隐患,同时MQ也无法处理一些数据加密传输、验签等场景。
对于通过消息中间件MQ进行***间消息推送的方式,由于中间件MQ自身的功能所致,其不具备自定义加密、数据验签,且需要暴露到公网等因素,导致消息推送安全性较差。
图1是本发明提供的消息推送方法的流程示意图,该方法的执行主体可以为本地消息推送***的后端,如图1所示,该方法包括:
步骤S1,获取前端写入的来自目标设备的第一信息,其中,所述目标设备是在所述前端注册成功的设备,所述第一信息包括目标消息类型、目标消息对应的接口信息和所述接口信息对应的加密信息;
具体地,在本发明的实施例中,本地***是可以生产消息的***,其可以是订单***,用于生产订单、支付、退换货等消息,也可以是其他可以生产消息,实现跨***间消息推送的***,本发明不作具体限定。本地消息推送***与本地***可以处于同一网络环境中。
本发明所描述的目标设备指的是在本地消息推送***的前端注册成功,并与本地***建立消息订阅关系的******网络设备,其可以是***物流***端网络设备,也可以是***库存***端的网络设备,或者是其他能够消费本地消息数据的******网络设备。
本发明所描述的第一信息包括目标消息类型、目标消息对应的接口信息和所述接口信息对应的加密信息,其可以是基于目标设备在前端注册成功后的注册信息生成的信息,也可以是基于目标设备在前端注册成功后发送的请求信息生成的信息。
其中,本发明所描述的目标消息类型指的是目标设备订阅的所需数据类型,示例性地,若目标设备为物流端网络设备,目标消息类型可以是订单类型的消息、支付类型消息和逆向类型消息等其中的一种类型或多种类型,其中,逆向类型消息指的是退换货类型消息。
本发明所描述的目标消息对应的接口信息指的是目标设备用于接收目标消息的接口的IP地址信息,其可以是符合超文本传输协议(HyperText Transfer Protocol,HTTP)接口属性的接口信息,具体可以是目标设备专门用于接收订单类信息对应的接口信息,也可以是专门用于接收支付类型消息对应的接口信息,也可以是上述几种接口信息等。通过接口信息,可以锁定目标设备用于接收目标消息的硬件接口。
本发明所描述的接口信息对应的加密信息指的是目标设备选择接口加密方式的信息。在本发明的实施例中,目标设备可以选择本地消息推送***默认的消息加密方式,也可以选择自定义的消息加密方式。
进一步地,在目标设备在前端注册成功后,本地消息推送***前端生成第一信息,并将第一信息写入本地消息推送***后端,因此,后端可以获取到第一信息。
步骤S2,基于所述第一信息中的目标消息类型,从消息中间件中获取所述目标消息类型对应的目标消息,其中,所述消息中间件接收并存储数据模块发送的各个类型的消息;
具体地,本发明所描述的消息中间件(Message Queue,MQ)指的是基于队列与消息传递技术,在网络环境中为应用***提供同步或异步、可靠的消息传输的支撑性软件***,其可以是采用目前业界使用最广泛的是卡夫卡消息中间件(Kafka MQ)、兔子消息中间件(RabbitMQ)以及火箭消息中间件(Rocket MQ)等消息中间件,可以根据实际需求选择合适的MQ,本发明不作具体限定。
在本发明的实施例中,将MQ设置在本地内网环境中,避免现有技术中MQ暴露在公网带来的安全隐患,通过采用消息中间件机制,使得不同的对象之间通过传递消息来激活对方的事件,完成相应的操作。本地***作为消息发送者,通过本地数据模块生产消息,可以从本地数据模块中,将各个类型的消息发送给MQ的消息服务器,消息服务器将各个类型的消息存放在若干队列中。
在本发明的实施例中,本地消息推送***作为本地***与目标设备进行消息推送的中间媒介,设置于MQ与目标设备之间,本地消息推送***从MQ获取消息,再将消息转发给作为消息消费者的目标设备。
本发明所描述的目标消息指的是目标设备订阅所需的目标消息类型对应的消息数据。
进一步,基于第一信息中的目标消息类型,可以从MQ中获取目标消息类型对应的目标消息。
步骤S3,基于所述第一信息中的接口信息对应的加密信息,对所述目标消息进行加密处理,得到加密后的所述目标消息;
具体地,在获取到第一信息中的接口信息对应的加密信息后,可以确定出目标设备选择的消息加密方式,进而根据该加密方式信息,对目标消息进行加密处理,得到加密后的目标消息。
在本发明的实施例中,当目标设备选择本地消息推送***默认的消息加密方式时,在目标设备注册成功后会收到本地消息推送***发送的加密密钥,以供目标设备在后续解密目标消息时使用;当目标设备选择自定义的消息加密方式时,其需要将自定义加密方式的密钥或者加密验签方式发送给本地消息推送***,以供本地消息推送***按照该自定义加密方式对目标消息进行加密处理,得到加密后的目标消息。
步骤S4,基于所述第一信息中的目标消息对应的接口信息,将加密后的所述目标消息推送给所述目标设备。
具体地,基于第一信息中的目标消息对应的接口信息,可以确定出目标设备用于接收目标消息对应的接口,通过该接口,可以将加密后的目标消息推送给目标设备。
示例性地,当目标设备为物流端网络设备时,其注册的目标消息类型是订单类型的消息,注册的目标消息对应的接口信息为专门用于接收订单类消息的接口,基于目标消息对应的接口信息,可以确定目标设备用于接收订单类消息的接口,进而将加密后的订单类型的消息推送给目标设备该接口,目标设备通过该接口,可以将加密后的订单消息进行对称解密,进而目标设备可以读取到该订单类型消息的具体内容,最终完成消息的推送过程。
本发明实施例提供的消息推送方法,通过将消息中间件设置于本地内网环境中,避免暴露到公网,提高消息存储的安全性,同时通过获取前端写入的来自目标设备的第一信息,第一信息包括目标设备所需目标消息的类型、目标设备接收目标消息的接口信息和该接口信息对应的加密信息,进而可以根据目标消息的类型从消息中间件中获取目标消息,通过接口信息对应的加密信息对目标消息进行加密处理,根据接口信息将加密后的目标消息发送到接口信息对应的目标设备接口,以保证目标设备可以通过该接口对加密后的目标消息进行对称解密,从而获取到目标消息的内容,实现消息的加密推送,提高了消息推送的安全性。
可选地,在所述基于所述第一信息中的目标消息对应的接口信息,将加密后的所述目标消息推送给所述目标设备之后,还包括:
接收所述目标设备反馈的消息推送结果;
在所述消息推送结果为第一类型的目标子消息推送失败的情况下,从后端的备份数据库中获取所述第一类型的目标子消息,其中,所述备份数据库存储有从所述消息中间件中获取的各个类型消息,所述第一类型是所述目标消息类型中的一种类型或多种类型;
将所述第一类型的目标子消息重新推送给所述目标设备。
具体地,本发明所描述的消息推送结果指的是本地消息推送***将目标消息推送给目标设备后,目标设备是否成功接收目标消息的结果。
本发明所描述的第一类型指的是目标消息类型中的一种类型或多种类型,目标子消息指的是目标消息类型对应的目标消息中第一类型的消息。
因此,在本发明的实施例中,消息推送结果可以包括目标消息推送成功、目标消息推送失败、某一类或几类目标子信息推送成功或失败。
在本发明的实施例中,在从消息中间件中获取到目标消息之后,后端会将获取的目标消息存储到后端的备份数据库中,对目标消息进行备份和记录,以提供消息查询和消息重推的效果。
本发明所描述的备份数据库指的是本地消息推送***后端中设置的数据库,其存储有从消息中间件中获取的各个类型的消息数据。
这样,在消息推送结果为目标消息推送失败或某类目标子消息推送失败的情况下,可以从备份数据库中重新获取目标消息或该类目标子消息,进而将目标消息或该类目标子消息重新推送给目标设备。
示例性地,若目标设备所需目标消息类型对应的目标消息为订单类消息和支付类消息,通过本地消息推送***进行目标消息推送后,当目标设备接收订单类消息和支付类消息均失败时,目标设备反馈消息推送结果为订单类消息和支付类消息推送失败,此时,需要重新推送目标消息,由此,本地消息推送***将从后端的备份数据库中获取订单类消息和支付类消息,进而将订单类消息和支付类消息重新推送给所述目标设备;当目标设备成功接收订单类消息,但接收支付类消息失败时,目标设备反馈消息推送结果为订单类消息推送成功,支付类消息推送失败,此时,需要重新推送的第一类型的目标子消息为支付类消息,由此,本地消息推送***从后端的备份数据库中获取支付类消息,进而将支付类消息重新推送给所述目标设备。
本发明实施例的方法,通过设定备份数据库和消息推送结果反馈,在消息推送失败时,可以从备份数据库中获取推送失败的消息,对推送失败的消息进行重新推送,实现了消息推送的失败重传效果。
可选地,在所述将所述第一类型的目标子消息重新推送给所述目标设备之后,还包括:
接收所述目标设备反馈的消息重推结果;
在所述消息重推结果为所述第一类型的目标子消息重新推送失败的情况下,将所述消息重推结果发送给所述数据模块,以供所述数据模块根据所述消息重推结果,将所述第一类型的目标子消息发送给所述消息中间件;
从所述消息中间件中获取所述第一类型的目标子消息;
将所述第一类型的目标子消息重新推送给所述目标设备。
具体地,本发明所描述的消息重推结果指的是将第一类型的目标子消息重新推送给目标设备后,目标设备反馈的是否成功接收目标子消息的结果。
在本发明的实施例中,本地***设置有回调接口,通过调用本地***的回调接口,本地消息推送***可以将消息重推结果发送给本地***的数据模块。
进一步地,在消息重推结果为第一类型的目标子消息重新推送失败的情况下,本地消息推送***通过调用本地***的回调接口,将消息重推结果发送给数据模块,进而数据模块根据消息重推结果,将第一类型的目标子消息再次发送给MQ,本地消息推送***从MQ中重新获取第一类型的目标子消息,从而将第一类型的目标子消息重新推送给目标设备。
在本发明的实施例中,本地***通过回调接口,接收到消息重推结果的通知后,还会进行其他操作。示例性地,当接收到订单类消息推送成功的通知时,本地***可以对本地数据模块中订单类消息推送的记录状态进行更新,对订单类消息中的商品进行线上上架等;当接收到支付类消息多次重推失败的通知时,本地***可以将支付类消息多次重推失败的信息以聊天信息或短信的形式通知给网络管理人员,提醒网络管理人员人工介入处理等。
本发明实施例的方法,通过消息重推机制,利用本利***回调接口,将消息重推结果通知给本地***,以便本地***可以根据通知进行有针对性的操作,实现消息推送结果回调的效果。
可选地,所述第一信息还包括第一数据格式信息,所述从消息中间件中获取所述目标消息类型对应的目标消息,包括:
从所述消息中间件中获取所述目标消息类型对应的初始消息;
调用所述第一数据格式信息对应的数据预处理服务,对所述初始消息进行数据格式处理,得到目标消息。
具体地,本发明所描述的初始消息指的是从消息中间件中获取的目标消息类型对应的消息,其未经过任何数据处理。
本发明所描述的第一数据格式信息指的是目标设备在本地消息推送***所需消息的数据格式信息。
本发明所描述的数据预处理服务指的是一种分布式框架服务,具体可以是本地***业务模块中的Dubbo/HTTP类型的服务,用于对消息进行数据格式转化。
在本发明的实施例中,基于第一信息中的目标消息类型,从消息中间件中获取到初始消息后,本地消息推送***可以根据第一信息中的第一数据格式信息,调用第一数据格式信息对应的数据预处理服务,即本地业务模块中的Dubbo/HTTP类型的服务,进而将初始消息的数据格式转换为第一数据格式信息指示的数据格式,从而得到目标消息。
本发明实施例的方法,通过本地数据预处理服务,可以将从MQ中获取的初始消息数据格式进一步处理为目标设备所需的数据格式,从而得到目标消息,实现了消息推送和消息处理逻辑上的解耦,有利于提高消息推送的效率。
可选地,所述基于所述第一信息中的接口信息对应的加密信息,对所述目标消息进行加密处理,得到加密后的所述目标消息,包括:
基于所述加密信息中的验签信息,确定所述目标消息的签名;
基于所述加密信息中的密钥信息,将所述目标消息和所述目标消息的签名进行加密,得到加密后的所述目标消息。
具体地,在本发明的实施例中,对于消息的加密方式,目标设备可以选择选择自定义的加密方式。
本发明所描述的验签信息指的是目标设备提供的接口信息对应的验签方式信息,通过验签信息,目标设备在对接收到的加密目标消息进行解密时,可以验证目标消息签名的真实性,以确保目标消息的完整性。
本发明所描述的密钥信息指的是目标设备提供的接口信息对应的密钥信息,根据目标设备提供的密钥信息,对目标消息进行加密处理,以供目标设备在接收到加密后的目标消息后可以顺利进行解密,获取到目标消息。
在本发明的实施例中,可以首先通过哈希算法,提取目标消息的消息摘要,基于加密信息中的验签信息,对目标消息的消息摘要进行加密,生成目标消息的签名;
进一步地,使用加密信息中的密钥信息,将目标消息的签名和目标消息一起进行加密,从而得到加密后的目标消息。
本发明实施例的方法,通过第一信息中接口信息对应的加密信息对目标消息进行加密和验签处理,以保证目标设备可以通过接收目标消息的接口,对加密后的目标消息进行对称解密,从而获取到目标消息的内容,实现消息的加密推送,有利于提高消息推送的安全性。
可选地,所述基于所述第一信息中的目标消息对应的接口信息,将加密后的所述目标消息推送给所述目标设备,包括:
基于所述第一信息中的目标消息对应的接口信息,确定所述目标设备接收所述目标消息的第一接口;
将加密后的所述目标消息推送给所述第一接口,以供所述目标设备接收所述目标消息。
具体地,本发明所描述的第一接口指的是目标设备用于接收目标消息的接口,其是基于第一信息中的目标消息对应的接口信息确定的。
示例性的,若目标消息属于订单类消息,目标设备中用于接收订单类消息的是其消息接口模块的2号接口,则可以根据目标消息对应的接口IP地址信息,锁定目标设备的2号接口,以将订单类消息推送给目标设备的2号接口。若目标消息属于订单类、支付类两类消息,目标设备中用于接收订单类消息的是其消息接口模块的2号接口,用于接收支付类消息的是其消息接口模块的3号接口,则可以根据接口IP地址信息,同时锁定目标设备的2号接口和3号接口,以将订单类消息和支付类消息分别推送给目标设备的2号接口和3号接口。
进一步地,将加密后的目标消息推送给第一接口,使得第一接口在接收到按照其接口加密方式进行加密的目标消息,可以对加密后的目标消息进行对称解密,从而使目标设备更加安全地获取到目标消息。
本发明实施例的方法,通过目标设备在前端设置的自定义加密方式,使目标消息可以按照目标设备自定义的加密方式进行加密,有利于提高目标设备获取目标消息的便利性和安全性。
可选地,在所述获取前端写入的来自目标设备的第一信息之前,还包括:
获取前端写入的来自第一网络设备的审核信息;
对所述审核信息进行分析,在所述审核信息满足预设审核条件的情况下,确定所述第一网络设备为所述目标设备。
具体地,本发明所描述的第一网络设备指的是有消费本地***消息数据需求,在本地消息推送***的前端进行注册的******设备。
本发明所描述的审核信息指的是第一网络设备在前端注册信息时录入的信息,其是需要本地消息推送***进行资格审核的信息。
本发明所描述的预设审核条件指的是用于判定第一网络设备是否满足获取本地***推送消息资格的预设条件。
在本发明的实施例中,若第一网络设备录入的审核信息满足预设审核条件,则说明第一网络设备具有获取本地***推送的消息的资格,即可以判定第一网络设备是目标设备。
进一步地,通过获取前端写入的来自第一网络设备的审核信息,对该审核信息进行分析,判断该审核信息是否满足预设审核条件,在满足的情况下,确定第一网络设备为目标设备。
本发明实施例的方法,通过设定信息审核的机制,对***网络设备进行资格核查,有利于进一步提高本地消息推送的安全性。
需要说明的是,对于通过消息中间件MQ进行***间消息推送的方式,其还需要通过专门的软件开发工具包(Software Development Kit,SDK),采用传输控制协议(Transmission Control Protocol,TCP)的通信方式,开发过程繁琐,***稳定性也不高。为此,本发明提供下述实施例以解决现有技术中消息推送***开发过程繁琐,***稳定性不高的问题。
图2是本发明提供的消息推送方法的整体***结构示意图,如图2所示,该方法包括:
步骤S210,订阅:******目标设备先到本地消息推送***前端注册信息,在目标设备注册成功后,前端根据注册信息生成第一信息,第一信息包括目标设备需要消费的目标消息类型,目标设备用于接收目标消息的HTTP协议接口信息,及该接口的加密、验签方式信息;
步骤S220,写入:本地消息推送***前端将第一信息写入消息推送***后端的备份数据库中,此时便建立了本地***和******之间的消息订阅关系;
步骤S230,发送:本地***通过数据模块,将消息发送到消息中间件MQ相应的Topic,MQ中可以存储数据模块中各个类型的消息,之后本地***可以继续处理其他业务,无需等待;
步骤S240,消费:本地消息推送***后端根据第一信息中的目标消息类型,消费MQ中相应Topic的消息,获取初始消息;在将初始消息处理为目标消息后,将目标消息写入备份数据库进行备份存储和记录,以便于后续消息查询及重推;
步骤S250,调用:根据第一信息中的第一数据格式信息,消息推送***调用第一数据格式信息对应的本地***业务模块的数据预处理服务,即Dubbo/HTTP类型的服务,将初始消息的数据格式进一步处理,得到目标消息,可实现消息发送和消息处理逻辑的解耦;
步骤S260,推送:消息推送***后端将目标消息,通过调用******目标设备提供的HTTP协议接口,根据第一信息中目标设备选择的加密、验签方式信息,对目标消息进行加密,将加密后的目标消息推送给******的目标设备;
步骤S270,结果回传:******目标设备接收目标消息之后,返回消息推送结果,消息推送***后端根据消息推送结果,来判断是否对目标消息或第一类型的目标子消息进行重推以及重推的次数;
步骤S280,回调:消息推送***调用本地***提供的回调接口,通知本地***目标消息或第一类型的目标子消息是否推送成功。
本发明实施例的方法,整个***的每一部分,都可实现集群化部署,无单点故障,消息推送***会处理消息的推送记录、失败重传、历史消息重推、自定义加密传输、数据验签、推送结果回调等问题,实现本地***与******双方***解耦的同时,还提高了整个***的安全性和稳定性。
本发明实施例的方法,******可以自助订阅需要的消息,仅提供用于接收消息的HTTP协议接口即可,本地***也不需要处理消息推送失败、重传等逻辑,简化了开发流程;提供回调功能,可通知本地***,以便本地***进行后续数据处理;在消息推送前,可调用本地***服务,将消息进一步处理成******需要的数据格式,再进行消息推送,实现本地***将消息发送和消息处理的逻辑解耦。
下面对本发明提供的消息推送装置进行描述,下文描述的消息推送装置与上文描述的消息推送方法可相互对应参照。
图3是本发明提供的消息推送装置的结构示意图,如图3所示,包括:
第一获取单元310,用于获取前端写入的来自目标设备的第一信息,其中,所述目标设备是在所述前端注册成功的设备,所述第一信息包括目标消息类型、目标消息对应的接口信息和所述接口信息对应的加密信息;
第二获取单元320,用于基于所述第一信息中的目标消息类型,从消息中间件中获取所述目标消息类型对应的目标消息,其中,所述消息中间件接收并存储数据模块发送的各个类型的消息;
加密单元330,用于基于所述第一信息中的接口信息对应的加密信息,对所述目标消息进行加密处理,得到加密后的所述目标消息;
推送单元340,用于基于所述第一信息中的目标消息对应的接口信息,将加密后的所述目标消息推送给所述目标设备。
本发明实施例所述的装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
本发明提供的消息推送装置,通过将消息中间件设置于本地内网环境中,避免暴露到公网,提高消息存储的安全性,同时通过获取前端写入的来自目标设备的第一信息,第一信息包括目标设备所需目标消息的类型、目标设备接收目标消息的接口信息和该接口信息对应的加密信息,进而可以根据目标消息的类型从消息中间件中获取目标消息,通过接口信息对应的加密信息对目标消息进行加密处理,根据接口信息将加密后的目标消息发送到接口信息对应的目标设备接口,以保证目标设备可以通过该接口对加密后的目标消息进行对称解密,从而获取到目标消息的内容,实现消息的加密推送,提高了消息推送的安全性。
图4是本发明提供的电子设备的结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行上述各方法所提供的消息推送方法,该方法包括:获取前端写入的来自目标设备的第一信息,其中,所述目标设备是在所述前端注册成功的设备,所述第一信息包括目标消息类型、目标消息对应的接口信息和所述接口信息对应的加密信息;基于所述第一信息中的目标消息类型,从消息中间件中获取所述目标消息类型对应的目标消息,其中,所述消息中间件接收并存储数据模块发送的各个类型的消息;基于所述第一信息中的接口信息对应的加密信息,对所述目标消息进行加密处理,得到加密后的所述目标消息;基于所述第一信息中的目标消息对应的接口信息,将加密后的所述目标消息推送给所述目标设备。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的消息推送方法,该方法包括:获取前端写入的来自目标设备的第一信息,其中,所述目标设备是在所述前端注册成功的设备,所述第一信息包括目标消息类型、目标消息对应的接口信息和所述接口信息对应的加密信息;基于所述第一信息中的目标消息类型,从消息中间件中获取所述目标消息类型对应的目标消息,其中,所述消息中间件接收并存储数据模块发送的各个类型的消息;基于所述第一信息中的接口信息对应的加密信息,对所述目标消息进行加密处理,得到加密后的所述目标消息;基于所述第一信息中的目标消息对应的接口信息,将加密后的所述目标消息推送给所述目标设备。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的消息推送方法,该方法包括:获取前端写入的来自目标设备的第一信息,其中,所述目标设备是在所述前端注册成功的设备,所述第一信息包括目标消息类型、目标消息对应的接口信息和所述接口信息对应的加密信息;基于所述第一信息中的目标消息类型,从消息中间件中获取所述目标消息类型对应的目标消息,其中,所述消息中间件接收并存储数据模块发送的各个类型的消息;基于所述第一信息中的接口信息对应的加密信息,对所述目标消息进行加密处理,得到加密后的所述目标消息;基于所述第一信息中的目标消息对应的接口信息,将加密后的所述目标消息推送给所述目标设备。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种消息推送方法,其特征在于,包括:
获取前端写入的来自目标设备的第一信息,其中,所述目标设备是在所述前端注册成功的设备,所述第一信息包括目标消息类型、目标消息对应的接口信息和所述接口信息对应的加密信息;所述目标设备为与本地***建立消息订阅关系的设备,所述本地***为生产消息的***;
基于所述第一信息中的目标消息类型,从消息中间件中获取所述目标消息类型对应的目标消息,其中,所述消息中间件接收并存储数据模块发送的各个类型的消息,所述本地***包括所述数据模块;
基于所述第一信息中的接口信息对应的加密信息,对所述目标消息进行加密处理,得到加密后的所述目标消息;
基于所述第一信息中的目标消息对应的接口信息,将加密后的所述目标消息推送给所述目标设备;
所述第一信息还包括第一数据格式信息,所述从消息中间件中获取所述目标消息类型对应的目标消息,包括:
从所述消息中间件中获取所述目标消息类型对应的初始消息;
调用所述第一数据格式信息对应的数据预处理服务,对所述初始消息进行数据格式处理,得到目标消息。
2.根据权利要求1所述的消息推送方法,其特征在于,在所述基于所述第一信息中的目标消息对应的接口信息,将加密后的所述目标消息推送给所述目标设备之后,还包括:
接收所述目标设备反馈的消息推送结果;
在所述消息推送结果为第一类型的目标子消息推送失败的情况下,从后端的备份数据库中获取所述第一类型的目标子消息,其中,所述备份数据库存储有从所述消息中间件中获取的各个类型消息,所述第一类型是所述目标消息类型中的一种类型或多种类型;
将所述第一类型的目标子消息重新推送给所述目标设备。
3.根据权利要求2所述的消息推送方法,其特征在于,在所述将所述第一类型的目标子消息重新推送给所述目标设备之后,还包括:
接收所述目标设备反馈的消息重推结果;
在所述消息重推结果为所述第一类型的目标子消息重新推送失败的情况下,将所述消息重推结果发送给所述数据模块,以供所述数据模块根据所述消息重推结果,将所述第一类型的目标子消息发送给所述消息中间件;
从所述消息中间件中获取所述第一类型的目标子消息;
将所述第一类型的目标子消息重新推送给所述目标设备。
4.根据权利要求1所述的消息推送方法,其特征在于,所述基于所述第一信息中的接口信息对应的加密信息,对所述目标消息进行加密处理,得到加密后的所述目标消息,包括:
基于所述加密信息中的验签信息,确定所述目标消息的签名;
基于所述加密信息中的密钥信息,将所述目标消息和所述目标消息的签名进行加密,得到加密后的所述目标消息。
5.根据权利要求1所述的消息推送方法,其特征在于,所述基于所述第一信息中的目标消息对应的接口信息,将加密后的所述目标消息推送给所述目标设备,包括:
基于所述第一信息中的目标消息对应的接口信息,确定所述目标设备接收所述目标消息的第一接口;
将加密后的所述目标消息推送给所述第一接口,以供所述目标设备接收所述目标消息。
6.根据权利要求1所述的消息推送方法,其特征在于,在所述获取前端写入的来自目标设备的第一信息之前,还包括:
获取前端写入的来自第一网络设备的审核信息;
对所述审核信息进行分析,在所述审核信息满足预设审核条件的情况下,确定所述第一网络设备为所述目标设备。
7.一种消息推送装置,其特征在于,包括:
第一获取单元,用于获取前端写入的来自目标设备的第一信息,其中,所述目标设备是在所述前端注册成功的设备,所述第一信息包括目标消息类型、目标消息对应的接口信息和所述接口信息对应的加密信息;所述目标设备为与本地***建立消息订阅关系的设备,所述本地***为生产消息的***;
第二获取单元,用于基于所述第一信息中的目标消息类型,从消息中间件中获取所述目标消息类型对应的目标消息,其中,所述消息中间件接收并存储数据模块发送的各个类型的消息,所述本地***包括所述数据模块;
加密单元,用于基于所述第一信息中的接口信息对应的加密信息,对所述目标消息进行加密处理,得到加密后的所述目标消息;
推送单元,用于基于所述第一信息中的目标消息对应的接口信息,将加密后的所述目标消息推送给所述目标设备;
所述第二获取单元,具体用于从所述消息中间件中获取所述目标消息类型对应的初始消息;调用所述第一数据格式信息对应的数据预处理服务,对所述初始消息进行数据格式处理,得到目标消息。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述消息推送方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述消息推送方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111136650.5A CN113992352B (zh) | 2021-09-27 | 2021-09-27 | 一种消息推送方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111136650.5A CN113992352B (zh) | 2021-09-27 | 2021-09-27 | 一种消息推送方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113992352A CN113992352A (zh) | 2022-01-28 |
CN113992352B true CN113992352B (zh) | 2024-06-25 |
Family
ID=79736871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111136650.5A Active CN113992352B (zh) | 2021-09-27 | 2021-09-27 | 一种消息推送方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113992352B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117614751B (zh) * | 2024-01-24 | 2024-04-02 | 上海银基信息安全技术股份有限公司 | 内网访问方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143444A (zh) * | 2010-09-02 | 2011-08-03 | 华为技术有限公司 | 一种业务分发平台消息推送方法、相关设备及*** |
CN107026824A (zh) * | 2016-02-02 | 2017-08-08 | 腾讯科技(深圳)有限公司 | 一种消息加密、解密方法和装置 |
CN112491998A (zh) * | 2020-11-18 | 2021-03-12 | 平安消费金融有限公司 | 消息推送方法及相关设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141251B (zh) * | 2006-09-08 | 2012-05-23 | 华为技术有限公司 | 通信***中消息加密签名的方法及***和设备 |
-
2021
- 2021-09-27 CN CN202111136650.5A patent/CN113992352B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143444A (zh) * | 2010-09-02 | 2011-08-03 | 华为技术有限公司 | 一种业务分发平台消息推送方法、相关设备及*** |
CN107026824A (zh) * | 2016-02-02 | 2017-08-08 | 腾讯科技(深圳)有限公司 | 一种消息加密、解密方法和装置 |
CN112491998A (zh) * | 2020-11-18 | 2021-03-12 | 平安消费金融有限公司 | 消息推送方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113992352A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110336833B (zh) | 基于区块链的图片内容共识方法、服务器 | |
US8837739B1 (en) | Encryption messaging system | |
CN114826733B (zh) | 文件传输方法、装置、***、设备、介质以及程序产品 | |
CN108833443B (zh) | 一种消息传输方法及***、计算机设备 | |
CN112653556A (zh) | 一种基于token的微服务安全认证方法、装置、存储介质 | |
CN113992352B (zh) | 一种消息推送方法、装置、电子设备及存储介质 | |
CN113765968A (zh) | 一种文件传输方法、装置和*** | |
CN114780982A (zh) | 一种流程业务流转方法、装置和*** | |
JP7247332B2 (ja) | ブロックチェーンを用いたメッセージの伝送および取得のためのシステムおよび方法 | |
CN109600722B (zh) | 短信接收验证方法及装置、电子设备、存储介质 | |
CN115952475A (zh) | 文件处理方法、装置、存储介质和服务器 | |
US20210243036A1 (en) | Blockchain network communication management | |
CN110933017B (zh) | 访问请求的处理方法、终端、服务器及可读存储介质 | |
CN112333262A (zh) | 数据更新提示方法、装置、计算机设备及可读存储介质 | |
CN110912974A (zh) | 资源处理方法、装置、电子设备及计算机可读取存储介质 | |
CN114339630B (zh) | 一种用于短信保护的方法和装置 | |
WO2021004353A1 (zh) | 基于区块链的短信验证方法 | |
CN114095254B (zh) | 报文加密方法、服务端设备、客户端设备及存储介质 | |
CN109889590B (zh) | 消息处理方法、装置、客户端和计算机可读介质 | |
CN114793220B (zh) | 即时消息通信方法、装置、程序、介质及设备 | |
CN118427805A (zh) | 安全认证方法、装置、设备、存储介质和程序产品 | |
Ferdiyan et al. | Pekanbaru City Election Recapitulation Information System uses Input from Telegram API | |
CN117010896A (zh) | 基于实时流的交易运作方法、装置、设备及存储介质 | |
CN115955340A (zh) | 一种不同客户端之间页面行为的交互方法及*** | |
CN114238803A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |