CN112600926A - 一种消息推送方法、装置及计算机可读存储介质 - Google Patents
一种消息推送方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112600926A CN112600926A CN202011488753.3A CN202011488753A CN112600926A CN 112600926 A CN112600926 A CN 112600926A CN 202011488753 A CN202011488753 A CN 202011488753A CN 112600926 A CN112600926 A CN 112600926A
- Authority
- CN
- China
- Prior art keywords
- client
- identifier
- server
- message
- node server
- 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 57
- 230000007246 mechanism Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012790 confirmation Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000007405 data analysis Methods 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/327—Short range or proximity payments by means of M-devices
- G06Q20/3274—Short range or proximity payments by means of M-devices using a pictured code, e.g. barcode or QR-code, being displayed on the M-device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- 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/10—Protocols in which an application is distributed across nodes in the network
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例涉及数据分析技术领域,提供一种消息推送方法、装置及计算机可读存储介质,包括:后台服务器从第一客户端获取第一请求信息,第一请求信息包括第一标识,第一标识为第一客户端的标识,第一客户端为与后台服务器建立连接的任一客户端;所述后台服务器根据第一标识和存储的连接信息确定第二标识,连接信息包括客户端的标识与节点服务器的标识之间的对应关系,第二标识为第一节点服务器的标识,第一客户端与第一节点服务器通过websocket连接;所述后台服务器根据第二标识向第一节点服务器发送指示信息,指示信息用于第一节点服务器向第一客户端推送交易消息。本申请实施例,可以降低推送消息的时延。
Description
技术领域
本申请实施例涉及数据分析技术领域,尤其涉及一种消息推送方法、装置及计算机可读存储介质。
背景技术
二维码扫码付款是当前社会比较流行的一种支付方式,针对于二维码扫码付款需要实时反馈交易结果的需求,服务器通常在交易结束时立即向用户推送交易结果。具体的实现方式是:所有的用户设备与一个单独的服务器连接,这样只需要管理单个服务器就可以实现消息对所有的用户的分发。但是,当用户过多时,由于服务器的负载过大,从而会导致推送消息的延迟时间较长。
发明内容
本申请实施例提供了一种消息推送方法、装置及计算机可读存储介质,用于降低推送消息的时延。
第一方面,本申请实施例提供了一种消息推送方法,可以包括:后台服务器从第一客户端获取第一请求信息,所述第一请求信息包括第一标识,所述第一标识为所述第一客户端的标识,所述第一客户端为与后台服务器建立连接的任一客户端;所述后台服务器根据所述第一标识和存储的连接信息确定第二标识,所述连接信息包括客户端的标识与节点服务器的标识之间的对应关系,所述第二标识为第一节点服务器的标识,所述第一客户端与所述第一节点服务器通过websocket连接;所述后台服务器根据所述第二标识向所述第一节点服务器发送指示信息,所述指示信息用于所述第一节点服务器向所述第一客户端推送交易消息。
在本申请实施例中,后台服务器可以从第一客户端获取第一请求信息,第一请求信息包括第一标识,第一标识为第一客户端的标识,第一客户端为与后台服务器建立连接的任一客户端;根据第一标识和存储的连接信息确定第二标识,连接信息包括客户端的标识与节点服务器的标识之间的对应关系,第二标识为第一节点服务器的标识,第一客户端与第一节点服务器通过websocket连接;根据第二标识向第一节点服务器发送指示信息,指示信息用于第一节点服务器向第一客户端推送交易消息。这样,可以基于分布式系统实现服务器向客户端实时推送消息,可以降低推送消息的时延。
在一种可能的实现方式中,该消息推送方法还包括:
所述后台服务器通过redis存储所述连接信息。
在本申请实施例中,可以通过redis来进行存储连接信息,由于redis存储的数据是半结构化的,所以计算机在读入内存中有更少的规则,读入速度更快。
在一种可能的实现方式中,所述从第一客户端获取第一请求信息包括:所述后台服务器监听消息队列,所述消息队列用于存储来自客户端的请求信息;当监听到所述消息队列中有新消息时,所述后台服务器从所述消息队列获取所述第一请求信息,所述第一请求信息为所述消息队列中所述新消息对应的请求信息。
在本申请实施例中,当多个客户端向后台服务器发送请求信息后,可以先通过消息队列将一个或多个请求信息进行缓存,当后台服务器处理完当前正在处理的请求后,监听消息队列,当监听到消息队列中有新消息时,从消息队列中获取第一请求信息。这样,可以减少由于消息拥堵而造成的服务器负载过大,进而可以降低推送消息的时延。
在一种可能的实现方式中,所述后台服务器通过redis存储所述连接信息之前,所述方法还包括:所述后台服务器建立所述第一节点服务器和所述第一客户端之间的websocket连接;所述后台服务器确定所述第一标识和所述第二标识之间的对应关系。
在本申请实施例中,后台服务器可以建立第一节点服务器与第一客户端的websocket连接。第一节点服务器与第一客户端的websocket连接之后,第一方面,可以实现服务端向客户端实时推送消息,并不需要轮询的方式,这样可以降低消息推送的时延;第二方面,可以使得后台服务器通过redis存储节点服务器与客户端的连接对应关系,从而实现根据第一标识确定与之对应的第一节点服务器,第一节点服务器可以准确的将交易消息发送至第一客户端。因此,可以提高交易消息推送的准确性。
在一种可能的实现方式中,所述后台服务器根据所述第二标识向所述第一节点服务器发送指示信息之后,所述方法还包括:所述后台服务器向所述第一节点服务器广播确认消息;当在预设时间内未接收到来自所述第一节点服务器的响应消息时,所述后台服务器重新建立与所述第一节点服务器的连接。
在本申请实施例中,后台服务器可以通过实时或定时向节点服务器广播确认消息,该确认消息用于确认与节点服务器是否断开连续。这样,可以使得后台服务器及时地知道节点服务器是否异常断开,可以降低交易消息推送的时延,保证了交易消息推送的实时性。
在一种可能的实现方式中,当所述第一节点服务器与多个客户端websocket连接时,所述指示信息包括所述第一标识和所述交易消息;所述指示信息用于所述第一节点服务器向所述第一客户端推送交易消息包括:所述指示信息用于所述第一节点服务器根据所述第一标识向所述第一客户端推送所述交易消息。
在本申请实施例中,第一节点服务器可以与多个客户端进行websocket连接,第一节点服务器接收来自后台服务器的指示信息后,可以根据指示信息包括的第一标识和交易消息,向第一客户端发送交易消息。这样,通过一个节点服务器同时向多个客户端推送交易消息,可以提高交易消息推送的时延。
在一种可能的实现方式中,所述第一节点服务器与所述多个客户端通过心跳机制检测websocket在线长连接。
在本申请实施例中,节点服务器与客户端之间可以通过心跳机制检测websocket在线长连接。心跳检测的发包方可以是服务器,也可以是客户端。
第二方面,本申请实施例提供了提供了一种消息推送装置,可以包括:
获取单元,用于后台服务器从第一客户端获取第一请求信息,所述第一请求信息包括第一标识,所述第一标识为所述第一客户端的标识,所述第一客户端为与后台服务器建立连接的任一客户端;
确定单元,用于所述后台服务器根据所述第一标识和存储的连接信息确定第二标识,所述连接信息包括客户端的标识与节点服务器的标识之间的对应关系,所述第二标识为第一节点服务器的标识,所述第一客户端与所述第一节点服务器通过websocket连接;
发送单元,用于所述后台服务器根据所述第二标识向所述第一节点服务器发送指示信息,所述指示信息用于所述第一节点服务器向所述第一客户端推送交易消息。
在一种可能的实现方式中,该消息推送装置还包括:
存储单元,用于所述后台服务器通过redis存储所述连接信息。
在一种可能的实现方式中,所述获取单元从第一客户端获取第一请求信息具体用于:
所述后台服务器监听消息队列,所述消息队列用于存储来自客户端的请求信息;
当监听到所述消息队列中有新消息时,所述后台服务器从所述消息队列获取所述第一请求信息,所述第一请求信息为所述消息队列中所述新消息对应的请求信息。
在一种可能的实现方式中,该消息推送装置还可以包括:
建立单元,用于在所述后台服务器通过redis存储所述连接信息之前,建立所述第一节点服务器和所述第一客户端之间的websocket连接;
所述确定单元,还用于所述后台服务器确定所述第一标识和所述第二标识之间的对应关系。
在一种可能的实现方式中,该消息推送装置还可以包括:
广播单元,用于所述后台服务器根据所述第二标识向所述第一节点服务器发送指示信息之后,所述后台服务器向所述第一节点服务器广播确认消息;
所述建立单元,还用于当在预设时间内未接收到来自所述第一节点服务器的响应消息时,所述后台服务器重新建立与所述第一节点服务器的连接。
在一种可能的实现方式中,当所述第一节点服务器与多个客户端websocket连接时,所述指示信息包括所述第一标识和所述交易消息;
所述指示信息用于所述第一节点服务器向所述第一客户端推送交易消息包括:
所述指示信息用于所述第一节点服务器根据所述第一标识向所述第一客户端推送所述交易消息。
在一种可能的实现方式中,所述第一节点服务器与所述多个客户端通过心跳机制检测websocket在线长连接。
第三方面提供一种消息推送装置,该消息推送装置包括处理器和存储器,所述处理器和存储器耦合,其中,所述存储器用于存储计算机指令,所述处理器通过执行所述存储器存储的计算机指令,使得该消息推送装置执行第一方面或第一方面的任一种实施例所提供的消息推送方法。
第四方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序或计算机指令,当该计算机程序或该计算机指令被计算机设备运行时,使得该计算机设备实现如第一方面或第一方面的任一种实施例所提供的消息推送方法。
第五方面提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面或第一方面的任一可能实现方式所提供的消息推送方法。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种消息推送的应用场景示意图;
图2是本申请实施例提供的一种消息推送的系统架构示意图;
图3是本申请实施例提供的一种消息推送方法的流程示意图;
图4是本申请实施例提供的另一种消息推送方法的流程示意图;
图5是本申请实施例提供的一种消息推送装置的结构示意图;
图6是本申请实施例提供的另一种消息推送装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例进行描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
为了便于理解本申请,首先在此介绍本申请实施例涉及的相关技术知识。
1、websocket
websocket是一种在单个传输控制协议(transmission control protocol,TCP)连接上进行全双工通信的协议。websocket通信协议于2011年被国际互联网工程任务组(the internet engineering task force,IETF)定为标准请求评议(request forcomments,RFC)6455,并由RFC7936补充规范。websocket应用程序接口(applicationprogramming interface,API)也被网际网路联盟(world wide web consortium,W3C)定为标准。
websocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在websocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
websocket是独立的、创建在TCP上的协议。连接创建后,服务器和客户端之间交换数据时,用于协议控制的数据包头部相对较小。在不包含扩展的情况下,对于服务器到客户端的内容,此头部大小可以有2至10字节(和数据包长度有关):对于客户端到服务器的内容,此头部还需要加上额外的4字节的掩码。相对于超文本传送协议(hypertext transportprotocol,HTTP)请求每次都要携带完整的头部,此项开销显著减少了。由于协议是全双工的,所以服务器可以随时主动给客户端下发数据。相对于HTTP请求需要等待客户端发起请求服务端才能响应,延迟明显更少;即使是和Comet等类似的长轮询比较,其也能在短时间内更多次地传递数据。与HTTP不同的是,websocket需要先创建连接,这就使得其成为一种有状态的协议,之后通信时可以省略部分状态信息。而HTTP请求可能需要在每个请求都携带状态信息(如身份认证等)。websocket定义了扩展,用户可以扩展协议、实现部分自定义的子协议。如部分浏览器支持压缩等,相对于HTTP压缩,websocket在适当的扩展支持下,可以沿用之前内容的上下文,在传递类似的数据时可以显著地提高压缩率。
2、redis
redis(remote cictionaryserver),即远程字典服务,是一个开源的使用美国国家标准学会(American national standards institute,ANSI)C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。redis是一个key-value存储系统,它支持存储的value类型相对更多,包括字符串(string)、链表(list)、集合(set)、有序集合(sorted set)和哈希类型(hash)。redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了主从(master-slave)同步。
3、stomp协议
Stomp提供了客户端和代理之间进行广泛消息传输的框架,是一个简单的可互操作的协议,被用于通过中间服务器在客户端之间进行异步消息传递。它定义了一种在客户端与服务端进行消息传递的文本格式。
4、消息队列
消息队列(message queue,MQ)是基础数据结构中“先进先出”的一种数据结构,一般用来解决应用解耦,异步消息,流量削峰等问题,实现高性能、高可用、可伸缩和最终一致性架构。具体是指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递—生产者产生消息并把消息放入队列,然后由消费者去处理。消费者可以到指定队列拉取消息,或者订阅相应的队列,有MQ服务端给其推送消息。
针对于二维码扫码付款时效性和实时反馈交易结果的需求,通常使用轮询的方式来轮询支付结果,轮询是由中央处理器(central processing unit,CPU)定时发出询问,依序询问每一个周边用户设备是否需要其服务,有即给予服务,服务结束后再问下一个周边,接着不断周而复始。但是,轮询方式会存在一定弊端:如服务器和浏览器资源开销都比较大、传输数据量存在瓶颈等,以致推送数据延迟时间较长。另一种实现方式可以采用一个单独的websocket服务器来传输数据,具体实施方式是搭建一个单独的websocket服务器,然后所有的用户设备websocket连接请求该服务器,从而实现所有用户设备websocket连接到该服务器,这样只需要管理单个websocket服务器从而可以实现消息对所有的用户的分发,但是,这种实现方式的扩展性较差且性能有一定瓶颈,以致推送数据延迟时间较长。
本申请实施例提供了一种消息推送方法、装置及计算机可读存储介质,通过从第一客户端获取第一请求信息,第一请求信息包括第一标识,第一标识为第一客户端的标识,第一客户端为与后台服务器建立连接的任一客户端;根据第一标识和存储的连接信息确定第二标识,连接信息包括客户端的标识与节点服务器的标识之间的对应关系,第二标识为第一节点服务器的标识,第一客户端与第一节点服务器通过websocket连接;根据第二标识向第一节点服务器发送指示信息,指示信息用于第一节点服务器向第一客户端推送交易消息。本申请实施例,是采用分布式的系统进行交易消息的实时推送,从而可以降低推送消息的时延。
为了更好地理解本申请实施例提供的一种消息推送方法,下面先对本申请实施例的其中一种应用场景进行描述。请参阅图1,图1是本申请实施例提供的一种消息推送的应用场景示意图。如图1的(a)所示,用户可以通过客户端的“扫一扫”101来扫拍二维码或商家使用电子支付工具扫描用户的付款码102,可以实现用户与商家账户的支付结算,在用户与商家账户的支付结算之后,客户端会立即向用户显示如图1的(b)所示的交易结果。交易结果消息的推送需要满足实时性以使得用户可以立即知道支付的结果。
请参阅图2,图2是本申请实施例提供的一种消息推送的系统架构示意图。如图2所示,本申请中的消息推送的系统架构可以包括节点服务器201、后台服务器202和客户端203。其中,节点服务器201与客户端203之间、客户端203与后台服务器202之间、后台服务器202与节点服务器201之间可以通过网络进行通信,通信可以基于任何有线和无线网络,包括但不限于因特网、广域网、城域网、局域网、虚拟专用网络(virtual private network,VPN)和无线通信网络等等。
节点服务器201和后台服务器202可以包括但不限于后台服务器、组件服务器、数据处理服务器、处理插件等,所述节点服务器201可以通过互联网与一个或多个客户端203进行通信,节点服务器201上也需要运行有相应的服务器端程序来提供相应数据处理服务。例如,节点服务器201可以与客户端203之间建立websocket连接,通过websocket服务将消息推送至客户端203等。所述后台服务器202可以通过互联网与节点服务器201进行通信,后台服务器202上也需要运行有相应的服务器端程序来提供相应数据处理服务。例如,后台服务器202可以向第一节点服务器发送指示信息,第一节点服务器可以是节点服务器201中的任意一个节点服务器,指示信息可以用于指示第一节点服务器向第一客户端推送交易消息,第一客户端是与第一节点服务器建立websocket连接的客户端。
客户端203可以安装并运行相关的应用。应用是指与服务端相对应,为客户提供本地服务的程序。这里,该本地服务可包括但不限于向服务端发送消息。本方案实施例中的客户端可以包括但不限于任何一种基于智能操作系统的电子产品,其可与用户通过键盘、虚拟键盘、触摸板、触摸屏以及声控设备等输入设备来进行人机交互,诸如智能手机、平板电脑、个人电脑等。
可以理解,图2的消息推送的系统架构只是本申请实施例中的部分示例性的实施方式,本申请实施例中的交易消息推送的系统架构包括但不仅限于以上交易消息推送的系统架构。
基于图2所示的消息推送的系统架构,请参见图3,图3是本申请实施例提供的一种消息推送方法的流程示意图。其中,该消息推送方法是从后台服务器的角度来描述的。如图3所示,该消息推送方法可以包括以下步骤。
301、后台服务器从第一客户端获取第一请求信息,第一请求信息包括第一标识。
后台服务器可以从第一客户端获取第一请求信息,该第一请求信息可以是第一客户端用于请求推送交易消息的请求信息,可以包括第一标识,第一标识为第一客户端的标识,第一客户端为与后台服务器建立连接的任一客户端。具体的:当用户进行二维码扫码付款后,第一客户端接收来自用户的操作指令,向后台服务器发送交易消息的处理请求和请求推送交易消息的第一请求信息。当多个客户端向后台服务器发送请求信息后,可以先通过消息队列将一个或多个请求信息进行缓存,当后台服务器处理完当前正在处理的请求后,监听消息队列,当监听到消息队列中有新消息时,从消息队列中获取第一请求信息,第一请求信息为消息队列中新消息对应的请求信息。其中,消息队列可以是后台服务器中的消息队列,也可以是单独于后台服务器的消息队列,本申请对此不作限定。
本申请实施例,可以基于stomp协议,通过每个客户端的标识区分用户特定的标签,以保证节点服务器将交易消息推送到指定用户的客户端。
在一种可能的实施方式中,后台服务器可以根据第一请求信息确定第一标识。具体的:后台服务器从第一客户端获取到第一请求信息之后,可以过滤该第一请求信息,从第一请求信息中筛选出第一标识信息,用以确定第一标识。后台服务器从第一客户端获取到第一请求信息之后,可以对该第一请求信息进行文本识别,确定出第一标识。或者,第一客户端向后台服务器发送的请求信息中,直接携带自身标识,后台服务器从第一客户端获取到第一请求信息之后,可以直接根据第一请求信息中携带的标识信息确定第一标识。
302、后台服务器根据第一标识和存储的连接信息确定第二标识。
后台服务器确定第一标识之后,可以根据第一标识和存储的连接信息,从连接信息中确定与第一客户端有连接关系的对应的第二标识,第二标识为第一节点服务器的标识。其中,连接信息包括客户端的标识与节点服务器的标识之间的对应关系,客户端与节点服务器通过websocket连接。
303、后台服务器根据第二标识向第一节点服务器发送指示信息。
相应的,第一节点服务器接收来自后台服务器的指示信息。
后台服务器确定第二标识之后,第二标识为第一节点服务器的标识,可以根据第二标识确定第一客户端对应的第一节点服务器,向该第一节点服务器发送指示信息,该指示信息用于指示后台服务器向第一客户端推送交易消息。第一节点服务器可以根据指示信息向第一客户端发送交易消息。在第一节点服务器与多个客户端进行websocket连接时,该指示信息可以包括第一标识和交易消息,第一节点服务器接收来自后台服务器的指示信息后,根据第一标识向第一客户端发送交易消息。
可选的,分布式系统中,一个或多个节点服务器可以同时向一个或多个客户端推送交易消息,从而实现单个推送或群体推送。
在步骤301-步骤303的实现中,后台服务器可以向第一节点服务器实时或定时广播确认消息,该确认消息用于确认与第一节点服务器是否断开连接,在预设时间内未收到来自第一节点服务器的响应消息,即当确认与第一节点服务器断开连接的情况下,后台服务器可以重新建立与第一节点服务器的连接。
可选的,多个节点服务器之间可以通过心跳机制进行在线长链接。在分布式系统中,分布在不同主机上的节点服务器需要检测其他节点服务器的状态,例如节点服务器需要检测其他节点服务器是否失效。为了检测对方节点服务器的有效性,每隔固定时间就发送一个固定信息给对方节点服务器,对方节点服务器回复一个固定信息,如果长时间没有收到对方节点服务器的回复,则可以断开与对方节点服务器的连接,也可以重新建立与对方节点服务器的连接。
第一节点服务器与多个客户端建立websocket连接后,第一客户端与第一节点服务器之间可以通过心跳机制进行在线长链接。可选的,当服务器和客户端采用websocket长链接交互时,若客户端有错误回调,可以重新建立连接,进而可以减少心跳检测对服务器的压力。心跳检测的发包方既可以是服务端,也可以是客户端,可以根据具体实现来作以确定。在一个实施例中,客户端主动向服务器发送心跳包,可以减少由于服务器向客户端发送心跳包而对服务器的性能的影响。
由于是每隔固定时间发送一次,类似心跳,所以发送的固定信息称为心跳包。例如,客户端可以定时每X秒(例如60s)向服务器发送特定数据,服务器可以设定如果X秒没有收到客户端心跳,则认为客户端掉线,并关闭连接触发回调。这样即通过心跳检测请求维持了连接(避免连接因长时间不活跃而被网关防火墙关闭),也能让服务器比较及时地知道客户端是否异常掉线。
在本申请实施例中,可以同时基于websocket连接、stomp协议、redis和消息队列,达到分布式系统的交易消息的实时推送,以使得消息推送的实时性高,可拓展强。
基于图2所示的消息推送的系统架构,请参见图4,图4是本申请实施例提供的另一种消息推送方法的流程示意图。其中,该消息推送方法是从第一节点服务器、第一客户端和后台服务器的角度来描述的。如图4所示,该消息推送法可以包括以下步骤。
401、第一节点服务器和第一客户端之间进行websocket连接。
后台服务器可以建立第一节点服务器与第一客户端的websocket连接。后台服务器可以向多个节点服务器中的每个节点服务器发送周边的客户端标识以及客户端的运行状态,由节点服务器自行判断与哪些客户端进行websocket连接。
第一节点服务器和第一客户端之间进行websocket连接,具体的:第一节点服务器是多个节点服务器中的任一一个节点服务器,第一客户端是多个客户端中的任一一个客户端。多个节点服务器可以与多个客户端进行websocket连接,一个节点服务器可以连接一个客户端,也可以连接多个客户端。基于分布式的系统,多个节点服务器中的任一节点服务器和多个客户端中的任一客户端可以进行单独的websocket连接。
第一节点服务器和第一客户端之间进行websocket连接,具体的:第一客户端可以向第一节点服务器发送一个HTTP请求,这个请求可以和通常的HTTP请求不同,可以包含一些附加头信息,其中附加头信息“upgrade:websocket”表明这是一个申请协议升级的HTTP请求,第一节点服务器接收HTTP请求之后,可以解析HTTP携带的附加头信息,产生应答信息并将应答信息返回给第一客户端。这样,第一客户端和第一节点服务器的websocket连接就建立起来了,两端可以通过连接实时传递信息,并且这个连接可以持续存在,直到第一客户端或者第一节点服务器的主动关闭。
本申请实施例,采用websocket服务器主要可以解决客户端接收消息的时效性问题,建立连接后,客户端可以在第一时间收到消息,并且websocket可以兼容H5、PC、Android和IOS客户端,扩展性更强。其中,websocket可以使得客户端和服务器之间的数据变换变得更加简单,允许服务器主动向客户端推送数据。消息的包头部分较小,可以减少开销。
402、后台服务器通过redis存储连接信息。
后台服务器可以通过redis存储客户端与节点服务器的websocket连接信息,例如,该连接信息可以包括第一标识、第二标识以及第一标识和第二标识的websocket连接对应关系。其中,第一标识为第一客户端的标识,第二标识为第一节点服务器的标识,第一客户端与第一节点服务器通过websocket连接。
在一个实施例中,后台服务器可以保存建立websocket连接的第一标识与第二标识(websocketsession)的对应关系,即Map<String,WebSocketSession>。第二标识可以是节点服务器的用户身份标识(user identification,UID)。
对于分布式系统,通过redis保存建立websocket连接的第一标识与第二标识的对应关系,在推送交易消息时,可以通过第一标识找到与其对应的第二标识,然后根据第二标识将交易消息发送给第一节点服务器,第一节点服务器可以将交易消息发送给第一客户端,以保证交易消息可以准确地发送到指定的客户端上。
本申请实施例,可以基于stomp协议,通过每个客户端的标识区分用户特定的标签,以保证节点服务器将交易消息推送到指定用户的客户端。后台服务器可以基于stomp协议,通过每个客户端的标识区分向每个客户端推送交易消息的节点服务器,这样可以保证节点服务器将消息推送到指定用户的客户端,提高消息推送的准确性。
本申请实施例中,可以使用redis进行存储,redis是一个数据库存储系统,由于其可以支持消息队列的功能,所以可以当做一个轻量级的队列服务来使用。例如,可以采用redis中的incrBy、decrBy、decr、incr、append等高并发API处理。
403、第一客户端向后台服务器发送第一请求信息,第一请求信息包括第一标识。
相应的,后台服务器从第一客户端获取第一请求信息,第一请求信息包括第一标识。
应理解,步骤403与步骤301对应,步骤403中的相关描述可以参见上述步骤301的描述,此处为了避免重复,不再赘述。
404、后台服务器根据第一标识和存储的连接信息确定第二标识。
应理解,步骤404与步骤302对应,步骤404中的相关描述可以参见上述步骤302的描述,此处为了避免重复,不再赘述。
405、后台服务器根据第二标识向第一节点服务器发送指示信息。
应理解,步骤405与步骤303对应,步骤405中的相关描述可以参见上述步骤303的描述,此处为了避免重复,不再赘述。
406、第一节点服务器向第一客户端发送交易消息。
相应的,第一客户端接收来自第一节点服务器的交易消息。
第一节点服务器接收到来自后台服务器的指示信息之后,可以根据指示信息和第一标识向第一客户端发送交易消息。第一客户端接收到交易消息后,通过终端设备向用户显示该交易消息。
同样的,在步骤401-步骤406的实现中,后台服务器可以向第一节点服务器实时或定时广播确认消息,该确认消息用于确认与第一节点服务器是否断开连接,在预设时间内未收到来自第一节点服务器的响应消息,即当确认与第一节点服务器断开连接的情况下,后台服务器可以重新建立与第一节点服务器的连接。
可选的,多个节点服务器之间可以通过心跳机制进行在线长链接。在分布式系统中,分布在不同主机上的节点服务器需要检测其他节点服务器的状态,例如节点服务器需要检测其他节点服务器是否失效。为了检测对方节点服务器的有效性,每隔固定时间就发送一个固定信息给对方节点服务器,对方节点服务器回复一个固定信息,如果长时间没有收到对方节点服务器的回复,则可以断开与对方节点服务器的连接,也可以重新建立与对方节点服务器的连接。
第一客户端与第一节点服务器之间可以通过心跳机制进行在线长链接。可选的,当服务器和客户端采用websocket长链接交互时,若客户端有错误回调,可以重新建立连接,进而可以减少心跳检测对服务器的压力。心跳检测的发包方既可以是服务端,也可以是客户端,可以根据具体实现来作以确定。在一个实施例中,客户端主动向服务器发送心跳包,可以减少由于服务器向客户端发送心跳包而对服务器的性能的影响。
由于是每隔固定时间发送一次,类似心跳,所以发送的固定信息称为心跳包。例如,客户端可以定时每X秒(例如60s)向服务器发送特定数据,服务器可以设定如果X秒没有收到客户端心跳,则认为客户端掉线,并关闭连接触发回调。这样即通过心跳检测请求维持了连接(避免连接因长时间不活跃而被网关防火墙关闭),也能让服务器比较及时的知道客户端是否异常掉线。
在本申请实施例中,可以同时基于websocket连接、stomp协议、redis和消息队列,达到分布式系统的交易消息的实时推送,以使得消息推送的实时性高,可拓展强。
请参阅图5,图5是本申请实施例提供的一种消息推送装置的结构示意图。如图5所示,该消息推送装置可以包括:
获取单元501,用于后台服务器从第一客户端获取第一请求信息,所述第一请求信息包括第一标识,所述第一标识为所述第一客户端的标识,所述第一客户端为与后台服务器建立连接的任一客户端;
确定单元502,用于所述后台服务器根据所述第一标识和存储的连接信息确定第二标识,所述连接信息包括客户端的标识与节点服务器的标识之间的对应关系,所述第二标识为第一节点服务器的标识,所述第一客户端与所述第一节点服务器通过websocket连接;
发送单元503,用于所述后台服务器根据所述第二标识向所述第一节点服务器发送指示信息,所述指示信息用于所述第一节点服务器向所述第一客户端推送交易消息。
在一个实施例中,该消息推送装置还包括:
存储单元504,用于所述后台服务器通过redis存储所述连接信息。
在一个实施例中,所述获取单元501从第一客户端获取第一请求信息包括:
所述后台服务器监听消息队列,所述消息队列用于存储来自客户端的请求信息;
当监听到所述消息队列中有新消息时,所述后台服务器从所述消息队列获取所述第一请求信息,所述第一请求信息为所述消息队列中所述新消息对应的请求信息。
在一个实施例中,该消息推送装置还可以包括:
建立单元505,用于在所述后台服务器通过redis存储所述连接信息之前,建立所述第一节点服务器和所述第一客户端之间的websocket连接;
所述确定单元502,还用于所述后台服务器确定所述第一标识和所述第二标识之间的对应关系。
在一个实施例中,该消息推送装置还可以包括:
广播单元506,用于所述后台服务器根据所述第二标识向所述第一节点服务器发送指示信息之后,所述后台服务器向所述第一节点服务器广播确认消息;
所述建立单元505,还用于当在预设时间内未接收到来自所述第一节点服务器的响应消息时,所述后台服务器重新建立与所述第一节点服务器的连接。
在一个实施例中,当所述第一节点服务器与多个客户端websocket连接时,所述指示信息包括所述第一标识和所述交易消息;
所述指示信息用于所述第一节点服务器向所述第一客户端推送交易消息包括:
所述指示信息用于所述第一节点服务器根据所述第一标识向所述第一客户端推送所述交易消息。
在一个实施例中,所述第一节点服务器与所述多个客户端通过心跳机制检测websocket在线长连接。
有关上述获取单元501、确定单元502、发送单元503、存储单元504、建立单元505和广播单元506详细的描述可以直接参考上述图3和图4所示的方法实施例中的相关描述直接得到,这里不加赘述。
请参阅图6,图6是本申请实施例提供的另一种消息推送装置的结构示意图。如图6所示,该消息推送装置可以包括:存储器601、收发器602及与所述存储器601和收发器602耦合的处理器603。此外,该设备还可以包括天线等通用部件,在此不再详述。
存储器601可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
收发器602可以是通信接口、收发电路等,其中,通信接口是统称,可以包括一个或多个接口,例如消息推送装置与终端之间的接口。通信接口用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),核心网,无线局域网(Wireless Local Area Networks,WLAN)等。
处理器603可以是中央处理器(central processing unit,CPU)、通用处理器、数据信号处理器(digital signal processor,DSP)、专用集成电路(application-specificintegrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其他任意组合。其可以实现或执行结合本发明提供内容所描述的各种示例性的逻辑方框、模板和电路。处理器603也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合得到。
其中,存储器601用于存储计算机程序,所述计算机程序包括程序指令,处理器603用于执行存储器601存储的程序指令,收发器602用于在处理器603的控制下与其他设备进行通信。当处理器603在执行指令时可根据程序指令执行消息推送方法。
可选的,消息推送装置还可以包括总线604,其中,存储器601、收发器602以及处理器603可以通过总线604相互连接。总线604可以是外设部件互联标准(peripheralcomponent interconnect,PCI)总线或扩展工业标准结构(extended industry standardarchitecture,EISA)总线等。总线604可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
除了图6所示的存储器601、收发器602、处理器603以及上述总线604之外,实施例中消息推送装置还可以包括其他硬件,对此不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或计算机指令,当所述计算机程序或计算机指令被计算机设备运行时,可以实现如图3和图4所示的消息推送方法。
本申请实施例还提供一种计算机程序产品,当其在计算机上运行时,使得计算机实现如图3和图4所示的消息推送方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务端或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(Read-OnlyMemory,缩写:ROM)或者随机存取存储器(RandomAccessMemory,缩写:RAM)等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种消息推送方法,其特征在于,包括:
后台服务器从第一客户端获取第一请求信息,所述第一请求信息包括第一标识,所述第一标识为所述第一客户端的标识,所述第一客户端为与后台服务器建立连接的任一客户端;
所述后台服务器根据所述第一标识和存储的连接信息确定第二标识,所述连接信息包括客户端的标识与节点服务器的标识之间的对应关系,所述第二标识为第一节点服务器的标识,所述第一客户端与所述第一节点服务器通过websocket连接;
所述后台服务器根据所述第二标识向所述第一节点服务器发送指示信息,所述指示信息用于所述第一节点服务器向所述第一客户端推送交易消息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述后台服务器通过redis存储所述连接信息。
3.根据权利要求1所述的方法,其特征在于,所述从第一客户端获取第一请求信息包括:
所述后台服务器监听消息队列,所述消息队列用于存储来自客户端的请求信息;
当监听到所述消息队列中有新消息时,所述后台服务器从所述消息队列获取所述第一请求信息,所述第一请求信息为所述消息队列中所述新消息对应的请求信息。
4.根据权利要求2所述的方法,其特征在于,所述后台服务器通过redis存储所述连接信息之前,所述方法还包括:
所述后台服务器建立所述第一节点服务器和所述第一客户端之间的websocket连接;
所述后台服务器确定所述第一标识和所述第二标识之间的对应关系。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述后台服务器根据所述第二标识向所述第一节点服务器发送指示信息之后,所述方法还包括:
所述后台服务器向所述第一节点服务器广播确认消息;
当在预设时间内未接收到来自所述第一节点服务器的响应消息时,所述后台服务器重新建立与所述第一节点服务器的连接。
6.根据权利要求1-4任一项所述的方法,其特征在于,当所述第一节点服务器与多个客户端websocket连接时,所述指示信息包括所述第一标识和所述交易消息;
所述指示信息用于所述第一节点服务器向所述第一客户端推送交易消息包括:
所述指示信息用于所述第一节点服务器根据所述第一标识向所述第一客户端推送所述交易消息。
7.根据权利要求6所述的方法,其特征在于,所述第一节点服务器与所述多个客户端通过心跳机制检测websocket在线长连接。
8.一种消息推送装置,其特征在于,包括:
获取单元,用于后台服务器从第一客户端获取第一请求信息,所述第一请求信息包括第一标识,所述第一标识为所述第一客户端的标识,所述第一客户端为与后台服务器建立连接的任一客户端;
确定单元,用于所述后台服务器根据所述第一标识和存储的连接信息确定第二标识,所述连接信息包括客户端的标识与节点服务器的标识之间的对应关系,所述第二标识为第一节点服务器的标识,所述第一客户端与所述第一节点服务器通过websocket连接;
发送单元,用于所述后台服务器根据所述第二标识向所述第一节点服务器发送指示信息,所述指示信息用于所述第一节点服务器向所述第一客户端推送交易消息。
9.一种消息推送装置,其特征在于,包括处理器和存储器,所述处理器和存储器耦合,其中,所述存储器用于存储计算机指令,所述处理器通过执行所述存储器存储的计算机指令实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或计算机指令,当所述计算机程序或计算机指令被计算机设备运行时,实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011488753.3A CN112600926A (zh) | 2020-12-16 | 2020-12-16 | 一种消息推送方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011488753.3A CN112600926A (zh) | 2020-12-16 | 2020-12-16 | 一种消息推送方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112600926A true CN112600926A (zh) | 2021-04-02 |
Family
ID=75196749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011488753.3A Pending CN112600926A (zh) | 2020-12-16 | 2020-12-16 | 一种消息推送方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112600926A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112991023A (zh) * | 2021-04-22 | 2021-06-18 | 深圳华锐金融技术股份有限公司 | 订单数据处理方法、装置、计算机设备和存储介质 |
CN113222565A (zh) * | 2021-04-22 | 2021-08-06 | 深圳华锐金融技术股份有限公司 | 交易系统、交易方法、装置、计算机设备和存储介质 |
CN113329062A (zh) * | 2021-05-10 | 2021-08-31 | 灵羲科技(北京)有限公司 | 数据共享方法、装置、电子设备和存储介质 |
CN113382050A (zh) * | 2021-05-27 | 2021-09-10 | 北京皮尔布莱尼软件有限公司 | 一种消息传输方法、系统、计算设备及存储介质 |
CN113535862A (zh) * | 2021-07-20 | 2021-10-22 | 江苏创源电子有限公司 | 一种业务数据的推送方法、装置、电子设备及存储介质 |
CN114124891A (zh) * | 2021-10-25 | 2022-03-01 | 青岛海尔科技有限公司 | 网络请求的处理方法和装置、存储介质及电子装置 |
CN114189507A (zh) * | 2021-12-09 | 2022-03-15 | 北京思明启创科技有限公司 | 一种应用屏幕控制方法、装置、电子设备及存储介质 |
CN114900510A (zh) * | 2022-03-29 | 2022-08-12 | 北京沃东天骏信息技术有限公司 | 一种信息推送方法及服务器、客户端、存储介质 |
CN114968611A (zh) * | 2021-07-13 | 2022-08-30 | 中移互联网有限公司 | 消息传输方法、消息服务器、终端及电子设备 |
CN115168438A (zh) * | 2022-09-07 | 2022-10-11 | 中国中金财富证券有限公司 | 成交回报数据整合方法及相关装置 |
CN115514746A (zh) * | 2022-09-21 | 2022-12-23 | 平安银行股份有限公司 | 即时通信方法、装置、系统、设备和存储介质 |
CN115567575A (zh) * | 2022-11-07 | 2023-01-03 | 中国电子科技集团公司第十五研究所 | 多窗口消息实时触发的方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140280522A1 (en) * | 2011-02-02 | 2014-09-18 | Imvu Inc. | System and method for providing an actively invalidated client-side network resource cache |
CN111970315A (zh) * | 2019-05-20 | 2020-11-20 | 北京车和家信息技术有限公司 | 推送消息的方法、装置及系统 |
-
2020
- 2020-12-16 CN CN202011488753.3A patent/CN112600926A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140280522A1 (en) * | 2011-02-02 | 2014-09-18 | Imvu Inc. | System and method for providing an actively invalidated client-side network resource cache |
CN111970315A (zh) * | 2019-05-20 | 2020-11-20 | 北京车和家信息技术有限公司 | 推送消息的方法、装置及系统 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112991023A (zh) * | 2021-04-22 | 2021-06-18 | 深圳华锐金融技术股份有限公司 | 订单数据处理方法、装置、计算机设备和存储介质 |
CN113222565A (zh) * | 2021-04-22 | 2021-08-06 | 深圳华锐金融技术股份有限公司 | 交易系统、交易方法、装置、计算机设备和存储介质 |
CN112991023B (zh) * | 2021-04-22 | 2021-11-02 | 深圳华锐金融技术股份有限公司 | 订单数据处理方法、装置、计算机设备和存储介质 |
CN113329062A (zh) * | 2021-05-10 | 2021-08-31 | 灵羲科技(北京)有限公司 | 数据共享方法、装置、电子设备和存储介质 |
CN113329062B (zh) * | 2021-05-10 | 2022-11-01 | 灵羲科技(北京)有限公司 | 数据共享方法、装置、电子设备和存储介质 |
CN113382050A (zh) * | 2021-05-27 | 2021-09-10 | 北京皮尔布莱尼软件有限公司 | 一种消息传输方法、系统、计算设备及存储介质 |
CN113382050B (zh) * | 2021-05-27 | 2022-11-11 | 北京皮尔布莱尼软件有限公司 | 一种消息传输方法、系统、计算设备及存储介质 |
CN114968611A (zh) * | 2021-07-13 | 2022-08-30 | 中移互联网有限公司 | 消息传输方法、消息服务器、终端及电子设备 |
CN114968611B (zh) * | 2021-07-13 | 2023-10-27 | 中移互联网有限公司 | 消息传输方法、消息服务器、终端及电子设备 |
CN113535862A (zh) * | 2021-07-20 | 2021-10-22 | 江苏创源电子有限公司 | 一种业务数据的推送方法、装置、电子设备及存储介质 |
CN114124891A (zh) * | 2021-10-25 | 2022-03-01 | 青岛海尔科技有限公司 | 网络请求的处理方法和装置、存储介质及电子装置 |
CN114124891B (zh) * | 2021-10-25 | 2023-12-19 | 青岛海尔科技有限公司 | 网络请求的处理方法和装置、存储介质及电子装置 |
CN114189507A (zh) * | 2021-12-09 | 2022-03-15 | 北京思明启创科技有限公司 | 一种应用屏幕控制方法、装置、电子设备及存储介质 |
CN114189507B (zh) * | 2021-12-09 | 2024-03-01 | 北京思明启创科技有限公司 | 一种应用屏幕控制方法、装置、电子设备及存储介质 |
CN114900510A (zh) * | 2022-03-29 | 2022-08-12 | 北京沃东天骏信息技术有限公司 | 一种信息推送方法及服务器、客户端、存储介质 |
CN115168438A (zh) * | 2022-09-07 | 2022-10-11 | 中国中金财富证券有限公司 | 成交回报数据整合方法及相关装置 |
CN115168438B (zh) * | 2022-09-07 | 2022-11-18 | 中国中金财富证券有限公司 | 成交回报数据整合方法及相关装置 |
CN115514746A (zh) * | 2022-09-21 | 2022-12-23 | 平安银行股份有限公司 | 即时通信方法、装置、系统、设备和存储介质 |
CN115514746B (zh) * | 2022-09-21 | 2024-05-24 | 平安银行股份有限公司 | 即时通信方法、装置、系统、设备和存储介质 |
CN115567575B (zh) * | 2022-11-07 | 2023-04-04 | 中国电子科技集团公司第十五研究所 | 多窗口消息实时触发的方法及系统 |
CN115567575A (zh) * | 2022-11-07 | 2023-01-03 | 中国电子科技集团公司第十五研究所 | 多窗口消息实时触发的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112600926A (zh) | 一种消息推送方法、装置及计算机可读存储介质 | |
US7962127B2 (en) | System and method for asynchronous wireless services using reverse service schema generation | |
KR100359366B1 (ko) | 자각-개시 푸시를 제공하기 위한 방법 및 장치 | |
US7761522B2 (en) | System and method for providing asynchronous notifications using synchronous data sources | |
CN102546800B (zh) | 一种网关握手、通信方法、网关及Web通信系统 | |
US8032609B2 (en) | Dynamic endpoint aggregator for web services | |
JP2015130199A (ja) | ウェブソケット通信の分散エミュレーションを通してウェブアプリケーションサポートを提供する企業クライアント/サーバーシステム及び方法 | |
EP2745467A1 (en) | Method for flow control and for reliable communication in a collaborative environment | |
WO2014172893A1 (zh) | 一种心跳信号的发送控制方法及装置 | |
CN103607423A (zh) | 一种基于WebSocket协议的分布式广播系统 | |
CN108228625B (zh) | 一种推送消息处理方法及装置 | |
US11956300B2 (en) | Message switching | |
CN103873443A (zh) | 信息处理方法、本地代理服务器和网络代理服务器 | |
CN115514682B (zh) | 一种数据传输方法、装置、设备及存储介质 | |
CN112689020A (zh) | 一种消息传输方法、消息中间件、电子设备及存储介质 | |
CN113810264B (zh) | 信息传输方法、装置、电子设备和存储介质 | |
US20090325610A1 (en) | Adapter for synchronizing data over different networks | |
CN113411228B (zh) | 一种网络状况的确定方法及服务器 | |
CN112769741B (zh) | 一种消息通信方法及电子设备 | |
CN109688432B (zh) | 信息传输方法、装置和系统 | |
WO2020001410A1 (zh) | 一种数据上报方法及装置 | |
EP1865424B1 (en) | Dynamic aggregation of web services | |
EP2079218B1 (en) | Method and system for displaying remote cache information | |
CN113114606B (zh) | 配送数据采集的方法和装置 | |
CN115086425B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210402 |