CN111381981B - 小程序消息的推送方法、装置、设备及存储介质 - Google Patents
小程序消息的推送方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111381981B CN111381981B CN202010142322.5A CN202010142322A CN111381981B CN 111381981 B CN111381981 B CN 111381981B CN 202010142322 A CN202010142322 A CN 202010142322A CN 111381981 B CN111381981 B CN 111381981B
- Authority
- CN
- China
- Prior art keywords
- message
- applet
- pushing
- client
- user identity
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/549—Remote execution
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及消息推送领域,公开了一种小程序消息的推送方法、装置、设备及存储介质,用于实现小程序消息的实时推送,并且减少推送过程中的带宽资源消耗。该方法包括:在小程序客户端启用时,建立与小程序客户端之间的websocket连接;通过websocket连接,接收小程序客户端发送的用户身份信息;对用户身份信息进行校验,当用户身份信息校验通过时,根据用户身份信息查询预设的消息订阅数据库,判断消息订阅数据库中是否存在与用户身份信息对应的消息订阅主题;若存在,则对消息订阅主题下的消息发布事件进行监测;当监测到消息订阅主题下的消息发布事件时,获取消息发布事件所发布的消息内容,通过websocket连接,将消息内容推送给小程序客户端。
Description
技术领域
本发明涉及消息推送技术领域,尤其涉及小程序消息的推送方法、装置、设备及存储介质。
背景技术
小程序是一种不需要下载安装即可使用的应用,其运行于宿主应用提供的环境下,只需要在宿主应用中动态加载即可运行。由于小程序随时可用又无需安装卸载,因而得到了越来越广泛的应用。
在用户使用小程序时,商家在一些情况下需要向使用小程序的用户推送消息,比如支付完成消息、优惠提醒消息等。目前,小程序消息的推送方式为:运行在宿主应用上的小程序客户端启用后,通过轮询的方式,按照预定的时间间隔向小程序的服务器端发起超文本传输协议(hyper text transfer protocol,HTTP)请求,小程序的服务器端响应该HTTP请求,返回最新消息数据给小程序客户端。
为了及时获取到最新消息数据,小程序客户端需要不断地向小程序的服务器端发起HTTP请求,这一过程会消耗大量的带宽资源,而且每次发起HTTP请求时,小程序客户端和小程序的服务器端都需要进行三次握手,这一过程耗时较长,无法实现小程序消息的实时推送。
发明内容
本发明的主要目的在于提出一种小程序消息的推送方法、装置、设备及存储介质,旨在实现小程序消息的实时推送,并且减少推送过程中的带宽资源消耗。
本发明第一方面提供了一种小程序消息的推送方法,所述小程序消息的推送方法包括:
在小程序客户端启用时,建立与所述小程序客户端之间的websocket连接,所述websocket连接为基于全双工通信协议websocket的网络连接;
通过所述websocket连接,接收所述小程序客户端发送的用户身份信息;
对所述用户身份信息进行校验,当所述用户身份信息校验通过时,根据所述用户身份信息查询预设的消息订阅数据库,判断所述消息订阅数据库中是否存在与所述用户身份信息对应的消息订阅主题;
若所述消息订阅数据库中存在与所述用户身份信息对应的消息订阅主题,则对所述消息订阅主题下的消息发布事件进行监测;
当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容,通过所述websocket连接,将所述消息内容推送给所述小程序客户端。
可选的,在本发明第一方面的第一种实现方式中,所述在小程序客户端启用时,建立与所述小程序客户端之间的websocket连接,所述websocket连接为基于全双工通信协议websocket的网络连接的步骤包括:
在小程序客户端启用时,接收所述小程序客户端发起的基于超文本传输协议HTTP的连接请求;
判断所述连接请求中是否携带预设的标识信息,所述预设的标识信息用于标识所述小程序客户端请求建立websocket连接,所述websocket连接为基于全双工通信协议websocket的网络连接;
若所述连接请求中携带预设的标识信息,则根据所述预设的标识信息响应所述连接请求,以建立与所述小程序客户端之间的websocket连接。
可选的,在本发明第一方面的第二种实现方式中,所述当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容,通过所述websocket连接,将所述消息内容推送给所述小程序客户端的步骤包括:
当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容和预设的展示模板,所述预设的展示模板用于表示所述消息内容在所述小程序客户端上的展示样式;
通过所述websocket连接,将所述消息内容和所述预设的展示模板推送给所述小程序客户端。
可选的,在本发明第一方面的第三种实现方式中,所述当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容,通过所述websocket连接,将所述消息内容推送给所述小程序客户端的步骤包括:
当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容,并从所述消息订阅数据库中获取与所述消息订阅主题对应的预设消息推送频率;
通过所述websocket连接,将所述消息内容按照所述预设消息推送频率推送给所述小程序客户端。
可选的,在本发明第一方面的第四种实现方式中,所述当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容,通过所述websocket连接,将所述消息内容推送给所述小程序客户端的步骤之后,还包括:
通过所述websocket连接,接收所述小程序客户端发送的消息订阅主题修改指令;
根据所述消息订阅主题修改指令,对与所述用户身份信息对应的消息订阅主题进行修改,所述修改包括新增消息订阅主题、删除消息订阅主题或修改与消息订阅主题对应的消息推送频率;
将修改后的消息订阅主题保存在所述消息订阅数据库中。
本发明第二方面提供了一种小程序消息的推送装置,所述小程序消息的推送装置包括:
建立模块,用于在小程序客户端启用时,建立与所述小程序客户端之间的websocket连接,所述websocket连接为基于全双工通信协议websocket的网络连接;
第一接收模块,用于通过所述websocket连接,接收所述小程序客户端发送的用户身份信息;
判断模块,用于对所述用户身份信息进行校验,当所述用户身份信息校验通过时,根据所述用户身份信息查询预设的消息订阅数据库,判断所述消息订阅数据库中是否存在与所述用户身份信息对应的消息订阅主题;
监测模块,用于若所述消息订阅数据库中存在与所述用户身份信息对应的消息订阅主题,则对所述消息订阅主题下的消息发布事件进行监测;
推送模块,用于当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容,通过所述websocket连接,将所述消息内容推送给所述小程序客户端。
可选的,在本发明第二方面的第一种实现方式中,所述建立模块还用于:
在小程序客户端启用时,接收所述小程序客户端发起的基于超文本传输协议HTTP的连接请求;
判断所述连接请求中是否携带预设的标识信息,所述预设的标识信息用于标识所述小程序客户端请求建立websocket连接,所述websocket连接为基于全双工通信协议websocket的网络连接;
若所述连接请求中携带预设的标识信息,则根据所述预设的标识信息响应所述连接请求,以建立与所述小程序客户端之间的websocket连接。
可选的,在本发明第二方面的第二种实现方式中,所述推送模块还用于:
当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容和预设的展示模板,所述预设的展示模板用于表示所述消息内容在所述小程序客户端上的展示样式;
通过所述websocket连接,将所述消息内容和所述预设的展示模板推送给所述小程序客户端。
可选的,在本发明第二方面的第三种实现方式中,所述推送模块还用于:
当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容,并从所述消息订阅数据库中获取与所述消息订阅主题对应的预设消息推送频率;
通过所述websocket连接,将所述消息内容按照所述预设消息推送频率推送给所述小程序客户端。
可选的,在本发明第二方面的第四种实现方式中,所述小程序消息的推送装置还包括:
第二接收模块,用于通过所述websocket连接,接收所述小程序客户端发送的消息订阅主题修改指令;
修改模块,用于根据所述消息订阅主题修改指令,对与所述用户身份信息对应的消息订阅主题进行修改,所述修改包括新增消息订阅主题、删除消息订阅主题或修改与消息订阅主题对应的消息推送频率;
保存模块,用于将修改后的消息订阅主题保存在所述消息订阅数据库中。
本发明第三方面提供了一种小程序消息的推送设备,所述小程序消息的推送设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述小程序消息的推送设备执行上述的小程序消息的推送方法。
本发明的第四方面提供了一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的小程序消息的推送方法。
本发明在小程序客户端启用时,建立与小程序客户端之间的websocket连接,websocket连接为基于全双工通信协议websocket的网络连接;通过websocket连接,接收小程序客户端发送的用户身份信息;对用户身份信息进行校验,当用户身份信息校验通过时,根据用户身份信息查询预设的消息订阅数据库,判断消息订阅数据库中是否存在与用户身份信息对应的消息订阅主题;若消息订阅数据库中存在与用户身份信息对应的消息订阅主题,则对消息订阅主题下的消息发布事件进行监测;当监测到消息订阅主题下的消息发布事件时,获取消息发布事件所发布的消息内容,通过websocket连接,将消息内容推送给小程序客户端。本发明小程序的服务器端通过采用websocket连接向小程序客户端推送消息,由于websocket连接是长连接且能够实现实时通讯,因此本发明实现了小程序消息的实时推送,并且减少了推送过程中的带宽资源消耗。
附图说明
图1为本发明小程序消息的推送方法的一个实施例的流程示意图;
图2为本发明小程序消息的推送装置的一个实施例的模块示意图;
图3为本发明实施例提供的小程序消息的推送设备的结构示意图。
具体实施方式
本发明实施例提供了一种小程序消息的推送方法、装置、设备及存储介质,通过小程序的服务器端采用websocket连接向小程序客户端推送消息,由于websocket连接是长连接且能够实现实时通讯,因此本发明实施例实现了小程序消息的实时推送,并且减少了推送过程中的带宽资源消耗。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明小程序消息的推送方法实施例的具体流程进行描述。
参照图1,图1为本发明小程序消息的推送方法的一个实施例的流程示意图,该方法包括:
步骤101,在小程序客户端启用时,建立与小程序客户端之间的websocket连接,websocket连接为基于全双工通信协议websocket的网络连接;
可以理解的是,本发明的执行主体可以为小程序消息的推送装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明,该服务器具体指代小程序的服务器端。
在本实施例中,小程序指的是一种不需要下载安装即可使用的应用,其运行于宿主应用提供的环境下,只需要在宿主应用中动态加载即可运行,用户在使用小程序时,需要先打开宿主应用,再在宿主应用中打开小程序客户端,此时小程序客户端会请求与小程序的服务器端建立连接。
为了实现将小程序服务器端的消息实时推送至小程序客户端,首先,在小程序客户端启用时,服务器建立与该小程序客户端之间的websocket连接,该websocket连接为基于全双工通信协议websocket的网络连接。websocket是一种在单个传输控制协议(transmission control protocol,TCP)连接上进行全双工通信的协议,websocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。
具体地,上述步骤101可以包括:在小程序客户端启用时,接收小程序客户端发起的基于超文本传输协议HTTP的连接请求;判断连接请求中是否携带预设的标识信息,预设的标识信息用于标识小程序客户端请求建立websocket连接,websocket连接为基于全双工通信协议websocket的网络连接;若连接请求中携带预设的标识信息,则根据预设的标识信息响应连接请求,以建立与小程序客户端之间的websocket连接。
本实施例中,服务器和小程序的客户端在建立websocket连接时,首先需要通过HTTP协议进行握手,具体握手方式为:在小程序客户端启用时,服务器接收该小程序客户端发起的基于超文本传输协议,即HTTP协议的连接请求,判断该连接请求中是否携带预设的标识信息,该标识信息用于标识小程序客户端请求建立与服务器端的websocket连接,若该连接请求中携带预设的标识信息,则服务器根据该标识信息响应客户端的连接请求,以建立与小程序客户端之间的websocket连接。
比如,上述标识信息可以是附加头信息“Upgrade:websocket”,该附加头信息表明当前小程序客户端发起的HTTP请求是一个申请协议升级的HTTP请求,服务器解析该附加头信息并生成对应的应答信息返回客户端,客户端与服务器端的websocket连接就建立起来了,此时双方可以通过该websocket连接自由传递信息,并且该websocket连接会持续直到客户端和服务器端的某一方主动关闭连接。
步骤102,通过websocket连接,接收小程序客户端发送的用户身份信息;
该步骤中,服务器可以通过建立好的websocket连接,接收小程序客户端发送的用户身份信息,该用户身份信息可以包含账号和密码,也可以仅包含账号,其中账号可以是用户名、手机号等,当然,用户身份信息也可以是其它能够唯一标识用户身份的信息,如人脸图像信息、声纹信息等,本实施例对此不作限定。
步骤103,对用户身份信息进行校验,当用户身份信息校验通过时,根据用户身份信息查询预设的消息订阅数据库,判断消息订阅数据库中是否存在与用户身份信息对应的消息订阅主题;
服务器对客户端发送的用户身份信息进行校验,比如当用户身份信息为用户名时,服务器可以查询预先保存的注册用户信息数据库,若注册用户信息库中存在与该用户名匹配的用户名,则判定用户身份信息校验通过。
在本实施例中,考虑到小程序推送消息的类型各式各样,不同用户希望接收到的小程序推送消息的类型不同,比如有的用户只想接收到交易支付类的消息,有的用户除了想接收到交易支付类的消息外,还想接收小程序推送的商品活动类、广告类消息等,为满足用户的个性化需求,服务器提供消息订阅功能,不同的用户可以基于该功能订阅自己想要的消息订阅主题,该消息订阅主题用于表示消息的类型,其包括但不限于交易支付类消息、商品活动类、广告类消息、业务进展类消息等。服务器将用户选定的消息订阅主题和用户身份信息进行关联后,保存在预设的消息订阅数据库中。
当用户身份信息校验通过后,服务器进一步根据该用户身份信息查询预设的消息订阅数据库,判断该消息订阅数据库中是否存在该用户身份信息对应的消息订阅主题,若该消息订阅数据库中不存在与该用户身份信息对应的消息订阅主题,则服务器可以根据默认的消息订阅主题向小程序客户端推送对应的消息。
步骤104,若消息订阅数据库中存在与用户身份信息对应的消息订阅主题,则对消息订阅主题下的消息发布事件进行监测;
若消息订阅数据库中存在与该用户身份信息对应的消息订阅主题,则服务器可以调用与该消息订阅主题对应的接口,以对该消息订阅主题下的消息发布事件进行监测。比如,当与用户身份信息对应的消息订阅主题为商品活动类消息时,商家一旦在服务器上发布了新的商品促销消息,该消息发布事件即可被服务器监测到。
步骤105,当监测到消息订阅主题下的消息发布事件时,获取消息发布事件所发布的消息内容,通过websocket连接,将消息内容推送给小程序客户端。
当服务器监测到消息订阅主题下的消息发布事件时,获取该消息发布事件所发布的消息内容,比如当消息订阅主题为商品活动消息时,服务器获取对应的商品名称、图片、折扣、活动截止时间等,当消息订阅主题为业务进展消息时,服务器获取对应的订单量、目标值、已达成率等。之后,服务器通过websocket连接,将该消息内容推送给小程序客户端。由于websocket连接支持实时的数据传输,且一旦连接建立后,小程序客户端无需再不停地向服务器端发送连接请求,因此实现了将服务器端的消息内容实时推送到小程序客户端,且大大降低了带宽资源的消耗。
本实施例中,在小程序客户端启用时,服务器建立与小程序客户端之间的websocket连接,websocket连接为基于全双工通信协议websocket的网络连接;通过websocket连接,接收小程序客户端发送的用户身份信息;对用户身份信息进行校验,当用户身份信息校验通过时,根据用户身份信息查询预设的消息订阅数据库,判断消息订阅数据库中是否存在与用户身份信息对应的消息订阅主题;若消息订阅数据库中存在与用户身份信息对应的消息订阅主题,则对消息订阅主题下的消息发布事件进行监测;当监测到消息订阅主题下的消息发布事件时,获取消息发布事件所发布的消息内容,通过websocket连接,将消息内容推送给小程序客户端。本实施例小程序的服务器端通过采用websocket连接向小程序客户端推送消息,由于websocket连接是长连接且能够实现实时通讯,因此本实施例实现了小程序消息的实时推送,并且减少了推送过程中的带宽资源消耗。
进一步地,基于本发明小程序消息的推送方法第一实施例,提出本发明小程序消息的推送方法第二实施例。
在本实施例中,上述步骤105还可以包括:当监测到消息订阅主题下的消息发布事件时,获取消息发布事件所发布的消息内容和预设的展示模板,预设的展示模板用于表示消息内容在小程序客户端上的展示样式;通过websocket连接,将消息内容和预设的展示模板推送给小程序客户端。
在本实施例中,小程序的服务器端可以为所有的推送消息设置一个统一的展示模板,该展示模板用于表示消息内容在小程序客户端上的展示样式,比如,展示模板可以为一个小卡片,该小卡片上包括标题、内容、详情链接等展示项。当服务器监测到消息订阅主题下的消息发布事件时,首先获取该消息发布事件所发布的消息内容和预设的展示模板,然后通过websocket连接,将该消息内容和预设的展示模板推送给小程序客户端,以使小程序客户端根据展示模板对消息内容进行提取和组装,并最终展示在用户界面(userinterface,UI)上。
通过上述方式,实现了按照小程序服务器端设计的展示模板,将推送的消息内容在小程序客户端进行展示,小程序开发人员可以根据业务需求灵活设置或修改展示模板,从而提高了推送消息展示的灵活性。
进一步地,基于本发明小程序消息的推送方法第一实施例,提出本发明小程序消息的推送方法第三实施例。
在本实施例中,上述步骤105还可以包括:当监测到消息订阅主题下的消息发布事件时,获取消息发布事件所发布的消息内容,并从消息订阅数据库中获取与消息订阅主题对应的预设消息推送频率;通过websocket连接,将消息内容按照预设消息推送频率推送给小程序客户端。
在本实施例中,小程序的服务器端可以基于不同的消息订阅主题设置不同的消息推送频率,比如对于商品活动类消息,可以设置消息推送频率为在活动截止之前的12小时内,每隔2小时推送一次,对于支付提醒类消息,可以设置消息推送频率为仅在支付成功时推送一次等,设置信息保存在消息订阅数据库中。当服务器监测到消息订阅主题下的消息发布事件时,首先获取该消息发布事件所发布的消息内容,并从消息订阅数据库中获取与该消息订阅主题对应的预设消息推送频率,然后通过websocket连接,将消息内容按照预设消息推送频率推送给小程序客户端。
通过上述方式,不同的消息类型可以按照不同的消息推送频率推送给小程序客户端,从而提高了消息推送的灵活性。
进一步地,基于本发明小程序消息的推送方法第一、第二和第三实施例,提出本发明小程序消息的推送方法第四实施例。
在本实施例中,上述步骤105之后,还可以包括:通过websocket连接,接收小程序客户端发送的消息订阅主题修改指令;根据消息订阅主题修改指令,对与用户身份信息对应的消息订阅主题进行修改,修改包括新增消息订阅主题、删除消息订阅主题或修改与消息订阅主题对应的消息推送频率;将修改后的消息订阅主题保存在消息订阅数据库中。
在本实施例中,用户可以在小程序客户端触发消息订阅主题修改指令,以修改自己想要接收推送消息的消息订阅主题。服务器通过websocket连接,接收小程序客户端发送的消息订阅主题修改指令,根据该消息订阅主题修改指令,对与用户身份信息对应的消息订阅主题进行修改,其中,修改包括新增消息订阅主题、删除消息订阅主题或修改与消息订阅主题对应的消息推送频率,之后,服务器将修改后的消息订阅主题保存在消息订阅数据库中。通过这种方式,进一步满足了用户的个性化需求,提高了消息推送的灵活性。
本发明实施例还提供一种小程序消息的推送装置。
参照图2,图2为本发明小程序消息的推送装置的一个实施例的模块示意图。本实施例中,所述小程序消息的推送装置包括:
建立模块201,用于在小程序客户端启用时,建立与所述小程序客户端之间的websocket连接,所述websocket连接为基于全双工通信协议websocket的网络连接;
第一接收模块202,用于通过所述websocket连接,接收所述小程序客户端发送的用户身份信息;
判断模块203,用于对所述用户身份信息进行校验,当所述用户身份信息校验通过时,根据所述用户身份信息查询预设的消息订阅数据库,判断所述消息订阅数据库中是否存在与所述用户身份信息对应的消息订阅主题;
监测模块204,用于若所述消息订阅数据库中存在与所述用户身份信息对应的消息订阅主题,则对所述消息订阅主题下的消息发布事件进行监测;
推送模块205,用于当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容,通过所述websocket连接,将所述消息内容推送给所述小程序客户端。
可选的,所述建立模块201还用于:
在小程序客户端启用时,接收所述小程序客户端发起的基于超文本传输协议HTTP的连接请求;
判断所述连接请求中是否携带预设的标识信息,所述预设的标识信息用于标识所述小程序客户端请求建立websocket连接,所述websocket连接为基于全双工通信协议websocket的网络连接;
若所述连接请求中携带预设的标识信息,则根据所述预设的标识信息响应所述连接请求,以建立与所述小程序客户端之间的websocket连接。
可选的,所述推送模块205还用于:
当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容和预设的展示模板,所述预设的展示模板用于表示所述消息内容在所述小程序客户端上的展示样式;
通过所述websocket连接,将所述消息内容和所述预设的展示模板推送给所述小程序客户端。
可选的,所述推送模块205还用于:
当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容,并从所述消息订阅数据库中获取与所述消息订阅主题对应的预设消息推送频率;
通过所述websocket连接,将所述消息内容按照所述预设消息推送频率推送给所述小程序客户端。
可选的,所述小程序消息的推送装置还包括:
第二接收模块,用于通过所述websocket连接,接收所述小程序客户端发送的消息订阅主题修改指令;
修改模块,用于根据所述消息订阅主题修改指令,对与所述用户身份信息对应的消息订阅主题进行修改,所述修改包括新增消息订阅主题、删除消息订阅主题或修改与消息订阅主题对应的消息推送频率;
保存模块,用于将修改后的消息订阅主题保存在所述消息订阅数据库中。
上述小程序消息的推送装置中各个模块的功能实现及有益效果与上述小程序消息的推送方法实施例中各步骤相对应,此处不再赘述。
上面从模块化功能实体的角度对本发明实施例中的小程序消息的推送装置进行了详细描述,下面从硬件处理的角度对本发明实施例中小程序消息的推送设备进行详细描述。
参照图3,图3为本发明实施例提供的小程序消息的推送设备的结构示意图。该小程序消息的推送设备300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)310(例如,一个或一个以上处理器)和存储器320,一个或一个以上存储应用程序333或数据332的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器320和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对小程序消息的推送设备300中的一系列指令操作。更进一步地,处理器310可以设置为与存储介质330通信,在小程序消息的推送设备300上执行存储介质330中的一系列指令操作。
小程序消息的推送设备300还可以包括一个或一个以上电源340,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口360,和/或,一个或一个以上操作系统331,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图3示出的小程序消息的推送设备结构并不构成对小程序消息的推送设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种存储介质,该存储介质可以为非易失性存储介质,也可以为易失性存储介质,所述存储介质中存储有小程序消息的推送程序,所述小程序消息的推送程序被处理器执行时实现如上所述的小程序消息的推送方法的步骤。
其中,在所述处理器上运行的小程序消息的推送程序被执行时所实现的方法及有益效果可参照本发明小程序消息的推送方法的各个实施例,此处不再赘述。
本领域技术人员可以理解,上述集成的模块或单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种小程序消息的推送方法,其特征在于,所述小程序消息的推送方法包括如下步骤:
在小程序客户端启用时,建立与所述小程序客户端之间的websocket连接,所述websocket连接为基于全双工通信协议websocket的网络连接;
通过所述websocket连接,接收所述小程序客户端发送的用户身份信息;
对所述用户身份信息进行校验,当所述用户身份信息校验通过时,根据所述用户身份信息查询预设的消息订阅数据库,判断所述消息订阅数据库中是否存在与所述用户身份信息对应的消息订阅主题;
若所述消息订阅数据库中存在与所述用户身份信息对应的消息订阅主题,则对所述消息订阅主题下的消息发布事件进行监测;
当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容,通过所述websocket连接,将所述消息内容推送给所述小程序客户端;
所述当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容,通过所述websocket连接,将所述消息内容推送给所述小程序客户端的步骤包括:
当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容和预设的展示模板,所述预设的展示模板用于表示所述消息内容在所述小程序客户端上的展示样式;
通过所述websocket连接,将所述消息内容和所述预设的展示模板推送给所述小程序客户端。
2.如权利要求1所述的小程序消息的推送方法,其特征在于,所述在小程序客户端启用时,建立与所述小程序客户端之间的websocket连接,所述websocket连接为基于全双工通信协议websocket的网络连接的步骤包括:
在小程序客户端启用时,接收所述小程序客户端发起的基于超文本传输协议HTTP的连接请求;
判断所述连接请求中是否携带预设的标识信息,所述预设的标识信息用于标识所述小程序客户端请求建立websocket连接,所述websocket连接为基于全双工通信协议websocket的网络连接;
若所述连接请求中携带预设的标识信息,则根据所述预设的标识信息响应所述连接请求,以建立与所述小程序客户端之间的websocket连接。
3.如权利要求1所述的小程序消息的推送方法,其特征在于,所述当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容,通过所述websocket连接,将所述消息内容推送给所述小程序客户端的步骤包括:
当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容,并从所述消息订阅数据库中获取与所述消息订阅主题对应的预设消息推送频率;
通过所述websocket连接,将所述消息内容按照所述预设消息推送频率推送给所述小程序客户端。
4.如权利要求1-3中任一项所述的小程序消息的推送方法,其特征在于,所述当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容,通过所述websocket连接,将所述消息内容推送给所述小程序客户端的步骤之后,还包括:
通过所述websocket连接,接收所述小程序客户端发送的消息订阅主题修改指令;
根据所述消息订阅主题修改指令,对与所述用户身份信息对应的消息订阅主题进行修改,所述修改包括新增消息订阅主题、删除消息订阅主题或修改与消息订阅主题对应的消息推送频率;
将修改后的消息订阅主题保存在所述消息订阅数据库中。
5.一种小程序消息的推送装置,其特征在于,所述小程序消息的推送装置包括:
建立模块,用于在小程序客户端启用时,建立与所述小程序客户端之间的websocket连接,所述websocket连接为基于全双工通信协议websocket的网络连接;
第一接收模块,用于通过所述websocket连接,接收所述小程序客户端发送的用户身份信息;
判断模块,用于对所述用户身份信息进行校验,当所述用户身份信息校验通过时,根据所述用户身份信息查询预设的消息订阅数据库,判断所述消息订阅数据库中是否存在与所述用户身份信息对应的消息订阅主题;
监测模块,用于若所述消息订阅数据库中存在与所述用户身份信息对应的消息订阅主题,则对所述消息订阅主题下的消息发布事件进行监测;
推送模块,用于当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容,通过所述websocket连接,将所述消息内容推送给所述小程序客户端;
所述推送模块还用于:
当监测到所述消息订阅主题下的消息发布事件时,获取所述消息发布事件所发布的消息内容和预设的展示模板,所述预设的展示模板用于表示所述消息内容在所述小程序客户端上的展示样式;
通过所述websocket连接,将所述消息内容和所述预设的展示模板推送给所述小程序客户端。
6.如权利要求5所述的小程序消息的推送装置,其特征在于,所述建立模块还用于:
在小程序客户端启用时,接收所述小程序客户端发起的基于超文本传输协议的连接请求;
判断所述连接请求中是否携带预设的标识信息,所述标识信息用于标识所述小程序客户端请求建立websocket连接,所述websocket连接为基于全双工通信协议websocket的网络连接;
若所述连接请求中携带预设的标识信息,则根据所述标识信息响应所述连接请求,以建立与所述小程序客户端之间的websocket连接。
7.一种小程序消息的推送设备,其特征在于,所述小程序消息的推送设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述小程序消息的推送设备执行如权利要求1-4中任一项所述的小程序消息的推送方法。
8.一种存储介质,所述存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任一项所述的小程序消息的推送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010142322.5A CN111381981B (zh) | 2020-03-04 | 2020-03-04 | 小程序消息的推送方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010142322.5A CN111381981B (zh) | 2020-03-04 | 2020-03-04 | 小程序消息的推送方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111381981A CN111381981A (zh) | 2020-07-07 |
CN111381981B true CN111381981B (zh) | 2023-07-11 |
Family
ID=71217139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010142322.5A Active CN111381981B (zh) | 2020-03-04 | 2020-03-04 | 小程序消息的推送方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111381981B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565214A (zh) * | 2020-11-26 | 2021-03-26 | 中国船舶工业系统工程研究院 | 基于WebSocket的数据传输方法、系统和介质 |
CN112835531B (zh) * | 2021-02-25 | 2024-06-25 | 平安银行股份有限公司 | 数据推送方法、装置、设备及存储介质 |
CN113259258B (zh) * | 2021-05-12 | 2022-11-04 | 广东美房智高机器人有限公司 | 机器人状态信息实时显示方法、系统、设备及介质 |
CN113411250B (zh) * | 2021-06-03 | 2023-01-24 | 重庆锐云科技有限公司 | 一种实时消息处理方法、系统、设备及存储介质 |
CN113360810B (zh) * | 2021-07-02 | 2022-03-01 | 北京容联七陌科技有限公司 | 一种在线客服主动会话邀请方法 |
CN113839987B (zh) * | 2021-08-24 | 2024-04-30 | 广州市瑞立德信息系统有限公司 | 一种基于消息队列的消息分发方法、门禁系统及存储介质 |
CN114338635A (zh) * | 2021-12-31 | 2022-04-12 | 江苏银承网络科技股份有限公司 | 基于WebSocket的前端消息提醒方法以及装置、存储介质、电子装置 |
CN115378989B (zh) * | 2022-08-10 | 2023-08-15 | 深圳华芯信息技术股份有限公司 | 基于唤醒通道的mqtt主题订阅系统、方法、终端及介质 |
CN115914393A (zh) * | 2022-11-29 | 2023-04-04 | 北京科银京成技术有限公司 | 一种通信方法、装置、设备和介质 |
CN117520021B (zh) * | 2024-01-08 | 2024-04-16 | 成都安世赛斯特软件技术有限公司 | 一种Java系统消息推送方法、装置、设备及介质 |
CN117876079A (zh) * | 2024-03-08 | 2024-04-12 | 花瓣支付(深圳)有限公司 | 一种信息提醒方法、信息提醒系统及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012103121A1 (en) * | 2011-01-25 | 2012-08-02 | Cyandia, Inc. | Information delivery system for, and methods of, interaction with multiple information forms across multiple types and/or brands of electronic devices, such as televisions, mobile phones, and computing devices |
CN104796473A (zh) * | 2015-04-21 | 2015-07-22 | 努比亚技术有限公司 | 一种跨平台的信息推送方法及系统 |
CN104811459A (zh) * | 2014-01-23 | 2015-07-29 | 阿里巴巴集团控股有限公司 | 用于消息服务的处理方法、装置及系统、消息服务系统 |
CN108124007A (zh) * | 2017-12-19 | 2018-06-05 | 深圳交控科技有限公司 | 消息数据实时传输的方法与装置 |
CN110300056A (zh) * | 2019-06-28 | 2019-10-01 | 四川长虹电器股份有限公司 | 一种实时响应式api网关及其请求处理方法 |
CN110351288A (zh) * | 2019-07-17 | 2019-10-18 | 河北源达信息技术股份有限公司 | 一种一个产品含有多个栏目的数据推送方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7836123B2 (en) * | 2008-05-13 | 2010-11-16 | International Business Machines Corporation | System and method for non-HTTP session based publish/subscribe support using pre-emptive subscriptions |
US10645181B2 (en) * | 2016-12-12 | 2020-05-05 | Sap Se | Meta broker for publish-subscribe-based messaging |
-
2020
- 2020-03-04 CN CN202010142322.5A patent/CN111381981B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012103121A1 (en) * | 2011-01-25 | 2012-08-02 | Cyandia, Inc. | Information delivery system for, and methods of, interaction with multiple information forms across multiple types and/or brands of electronic devices, such as televisions, mobile phones, and computing devices |
CN104811459A (zh) * | 2014-01-23 | 2015-07-29 | 阿里巴巴集团控股有限公司 | 用于消息服务的处理方法、装置及系统、消息服务系统 |
CN104796473A (zh) * | 2015-04-21 | 2015-07-22 | 努比亚技术有限公司 | 一种跨平台的信息推送方法及系统 |
CN108124007A (zh) * | 2017-12-19 | 2018-06-05 | 深圳交控科技有限公司 | 消息数据实时传输的方法与装置 |
CN110300056A (zh) * | 2019-06-28 | 2019-10-01 | 四川长虹电器股份有限公司 | 一种实时响应式api网关及其请求处理方法 |
CN110351288A (zh) * | 2019-07-17 | 2019-10-18 | 河北源达信息技术股份有限公司 | 一种一个产品含有多个栏目的数据推送方法 |
Non-Patent Citations (1)
Title |
---|
于毅 ; 黄传真 ; 牛佳慧 ; 徐龙华 ; .基于消息队列遥测传输协议的切削数据主动推送系统设计.工具技术.2019,(05),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111381981A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111381981B (zh) | 小程序消息的推送方法、装置、设备及存储介质 | |
WO2018019139A1 (zh) | 信息推送方法和装置 | |
RU2188450C2 (ru) | Способ и устройство для создания интерактивной гиперсреды | |
CN106357699B (zh) | 网络系统、服务平台、服务平台登录方法及系统 | |
JPH11288407A (ja) | 遠隔通知を使用するクライエントソフトウェアの構成 | |
CN108377247B (zh) | 一种消息推送方法和装置 | |
US20060009198A1 (en) | Apparatus and method for delivering messages to a mobile information terminal | |
EP0894392A2 (en) | System and method for data access | |
CN108076110B (zh) | 电子数据交换系统和包含电子数据交换系统的装置 | |
CN113765774A (zh) | 消息实时同步方法、装置、电子设备及介质 | |
CN115951923B (zh) | 订阅事件管理方法、显示系统、设备和存储介质 | |
CN107977380B (zh) | 用于生成页面的方法和装置 | |
CN113986582A (zh) | 一种实时数据推送方法、装置、设备及存储介质 | |
CN111784429B (zh) | 信息推送方法和装置 | |
CN111125676B (zh) | 联合授权方法和装置 | |
CN113824625B (zh) | 信息交互的方法和装置 | |
US20240152504A1 (en) | Data interaction method, apparatus, and electronic device | |
CN114302250B (zh) | 一种资源处理方法、装置、系统、设备及存储介质 | |
CN115604041B (zh) | 安全代理方法、系统、装置、计算机设备和存储介质 | |
CN113934383B (zh) | 将云打印机与业务绑定的方法、装置、服务器及存储介质 | |
CN112508505A (zh) | 一种合同的信息监控方法、装置和电子设备 | |
AU737604B2 (en) | A method for making a hypermedium interactive | |
CN118118542A (zh) | 信息推送方法和装置 | |
CN112348546A (zh) | 信息处理方法和装置 | |
CN114881602A (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 |