CN111193789B - 订阅信息推送方法、装置、计算机设备和可读存储介质 - Google Patents
订阅信息推送方法、装置、计算机设备和可读存储介质 Download PDFInfo
- Publication number
- CN111193789B CN111193789B CN201911354884.XA CN201911354884A CN111193789B CN 111193789 B CN111193789 B CN 111193789B CN 201911354884 A CN201911354884 A CN 201911354884A CN 111193789 B CN111193789 B CN 111193789B
- Authority
- CN
- China
- Prior art keywords
- subscription
- configuration item
- client
- content
- information
- 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
-
- 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/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种订阅信息推送方法、装置、计算机设备和可读存储介质,所述方法包括:获取第一订阅配置项以及对应的第一订阅配置项内容;获取所述第一订阅配置项对应的客户端标识集;通过流式调用方式向所述客户端标识集中的每个客户端标识对应的客户端,推送所述第一订阅配置项以及对应的第一订阅配置项内容。采用本申请的方法能够提高数据传输效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种订阅信息推送方法、装置、计算机设备和计算机可读存储介质。
背景技术
在进行信息推送时,传统的方式是客户端通过HTTP(Hypertext TransferProtocol,超文本传输协议)从服务器获取配置数据,并按照约定的报文格式进行解析,存储配置数据,使用管理后台进行配置数据的更新。然而,目前的订阅信息推送方法,存在传输效率不高的问题。
发明内容
基于此,有必要针对目前的订阅信息推送方法存在传输效率不高的技术问题,提供一种订阅信息推送方法、装置、计算机可读存储介质和计算机设备。
一种订阅信息推送方法,所述方法包括:
获取第一订阅配置项以及对应的第一订阅配置项内容;
获取所述第一订阅配置项对应的客户端标识集;
通过流式调用方式向所述客户端标识集中的每个客户端标识对应的客户端,推送所述第一订阅配置项以及对应的第一订阅配置项内容。
一种订阅信息接收方法,应用于客户端,所述方法包括:
获取订阅的配置项;
向服务端发送流式调用请求,所述流式调用请求中包含所述订阅的配置项;
接收所述服务端返回的所述订阅的配置项对应的订阅内容,并存储所述订阅的配置项以及对应的所述订阅内容。
一种订阅信息推送装置,所述装置包括:
第一获取模块,用于获取第一订阅配置项以及对应的第一订阅配置项内容;
第二获取模块,用于获取所述第一订阅配置项对应的客户端标识集;
内容推送模块,用于向所述客户端标识集中的每个客户端标识推送所述第一订阅配置项以及对应的第一订阅配置项内容。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
获取第一订阅配置项以及对应的第一订阅配置项内容;
获取所述第一订阅配置项对应的客户端标识集;
通过流式调用方式向所述客户端标识集中的每个客户端标识对应的客户端,推送所述第一订阅配置项以及对应的第一订阅配置项内容。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
获取第一订阅配置项以及对应的第一订阅配置项内容;
获取所述第一订阅配置项对应的客户端标识集;
通过流式调用方式向所述客户端标识集中的每个客户端标识对应的客户端,推送所述第一订阅配置项以及对应的第一订阅配置项内容。
上述订阅信息推送方法、装置、计算机可读存储介质和计算机设备,获取第一订阅配置项以及对应的第一订阅配置项内容,获取第一订阅配置项对应的客户端标识集,通过流式调用方式向客户端标识集中每个客户端标识对应的客户端,推送第一订阅配置项以及对应的第一订阅配置项内容,能够保持客户端和服务端之间的长连接,实现订阅信息的实时推送,提高信息传输效率并且仅推送到客户端标识集中对应的客户端,能够避免不必要的数据推送。
附图说明
图1为一个实施例中订阅信息推送方法的应用环境图;
图2为一个实施例中订阅信息推送方法的流程示意图;
图3(a)为一个实施例中通过第一线程向消息队列发送配置项内容的流程示意图;
图3(b)为一个实施例中通过第二线程推送第一订阅配置项以及对应的第一配置内容的流程示意图;
图4为另一个实施例中订阅信息推送方法的应用场景图;
图5为一个实施例中获取订阅内容的流程示意图;
图6为一个实施例中目标客户端中断连接的处理流程示意图;
图7为一个实施例中配置项以及依赖该配置项的服务数量的界面示意图;
图8为一个实施例中订阅信息推送方法的交互示意图;
图9为一个实施例中信息接收方法的流程示意图;
图10为一个实施例中订阅信息推送装置的结构框图;
图11为一个实施例中信息接收装置的结构框图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中订阅信息推送方法的应用环境图。该订阅信息推送方法应用于信息推送系统。该信息推送系统包括客户端110和服务端120。客户端110和服务端120通过网络连接。具体地,客户端110和服务端120进行长连接。例如客户端110和服务端120可通过TCP(Transmission Control Protocol,传输控制协议)长连接。长连接能够使得服务端和客户端保持连接的状态,能够实现实时发送数据,而不需要轮询。服务端120具体可以使用RPC(Remote Procedure Calls,远程过程调用)的服务框架实现TCP长连接。客户端110的数量和服务端120的数量均不限。客户端110具体应用在台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种,或者用独立的服务器或者多个服务器组成的服务器集群实现。服务端120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,为一个实施例中订阅信息推送方法的流程示意图,提供了一种订阅信息推送方法。本实施例主要以该方法应用于上述图1中的服务端120来举例说明。参照图2,该订阅信息推送方法具体包括如下步骤:
步骤202,获取第一订阅配置项以及对应的第一订阅配置项内容。
其中,配置项是指用于运行程序的某一项配置。配置项内容为指定程序运行行为的内容。第一订阅配置项可以是动态配置项,动态配置项即在程序运行时可以进行调整的配置。可用key=A表示A配置项。Value=Y表示配置项内容为Y。第一订阅配置项可以是与业务相关的订阅配置项。例如,保单金额、支付金额、服务条款、商品信息等不限于此。一个服务可以有多个配置项,同样地,一个配置项也可以被多个服务依赖。第一订阅配置项是客户端订阅的配置项,其中可以是客户端订阅的配置项但经过服务端更新后的配置项。
具体地,服务端可通过流式调用方式从客户端获取订阅的第一订阅配置项以及该第一订阅配置项对应的第一订阅配置项内容。
或者,服务端从数据库中获取客户端订阅的第一订阅配置项以及对应的第一订阅配置项内容。
或者,服务端从具有管理权限的客户端获取第一订阅配置项以及对应的第一订阅配置项内容。其中,第一订阅配置项可以是已更新的配置项,例如增加的配置项、修改的配置项等不限于此。第一订阅配置项内容可以是已更新的配置项内容。
步骤204,获取第一订阅配置项对应的客户端标识集。
其中,客户端标识用于唯一标识客户端。每个客户端的客户端标识不相同。客户端标识可以由文字、数字、字母、符号中至少一种组成。例如客户端标识可以是IP(InternetProtocol,网络协议)地址、MAC(Media Access Control,媒体访问控制)地址等不限于此。客户端标识集中的客户端标识数量不限。
具体地,服务端获取已订阅第一订阅配置项的客户端标识集。
步骤206,通过流式调用方式向客户端标识集中的每个客户端标识对应的客户端,推送第一订阅配置项以及对应的第一订阅配置项内容。
其中,流式调用(Streaming RPC,Streaming Remote Procedure Calls)适用于从对端持续读取或者向对端持续发送数据的场景。流式调用的方式是客户端和服务端都能同时发送或接收流式数据流,而且请求和响应的数量不要求一致。客户端和服务端通过TCP长连接,保持客户端和服务端之间的通信。
具体地,服务端通过流式调用方式向客户端标识集中每个客户端标识对应的客户端,推送第一订阅配置项以及对应的第一订阅配置项内容。例如,第一订阅配置项对应的客户端标识集中包含X、Y和Z三个客户端标识,那么,服务端只向X、Y和Z对应的客户端推送第一订阅配置项以及对应的第一订阅配置项内容。
上述订阅信息推送方法,获取第一订阅配置项以及对应的第一订阅配置项内容,获取第一订阅配置项对应的客户端标识集,通过流式调用方式向客户端标识集中每个客户端标识对应的客户端,推送第一订阅配置项以及对应的第一订阅配置项内容,能够保持客户端和服务端之间的长连接,实现信息的实时推送,并且仅推送到客户端标识集中对应的客户端,能够避免不必要的订阅数据推送,提高信息传输效率。
在一个实施例中,在应用程序注册场景下,服务端获取第一订阅配置项,例如与某应用程序相关的服务条款。服务端获取订阅该服务条款的客户端标识集。通过流式调用方式,主动向客户端标识集中每个客户端标识对应的客户端,推送该服务条款,以使客户端更新服务条款。上述订阅信息推送方式,能够保持客户端和服务端之间的长连接,实现订阅信息例如服务条款的实时推送和更新;并且仅推送到客户端标识集中对应的客户端,能够避免不必要的数据推送,提高信息传输效率。
在一个实施例中,在书报订阅等场景下,服务端获取第一订阅配置项,例如与书籍A相关的文字配置项以及文字内容。服务端获取订阅该书籍A的客户端标识集。通过流式调方式,向客户端标识集中每个客户端标识对应的客户端,推送该书籍A相关的文字配置项以及文字内容。上述订阅信息推送方式,能够保持客户端和服务端之间的长连接,实现订阅信息例如书报信息的实时推送和更新,避免因信息延迟而在阅读中出现文字错误等;并且仅推送到客户端标识集中对应的客户端,能够避免不必要的数据推送,提高信息传输效率。
在一个实施例中,获取第一订阅配置项以及对应的配置项内容,包括:通过第一线程获取第一订阅配置项以及对应的第一订阅配置项内容,其中,第一订阅配置项内容为已更新的配置项内容;通过第一线程向消息队列发送第一订阅配置项以及对应的第一订阅配置项内容;通过第二线程从消息队列中接收第一订阅配置项以及对应的第一订阅配置项内容。
其中,消息队列是指在消息的传输过程中保存消息的容器。消息队列可用于触发配置项内容的推送。线程是指是操作系统能够进行运算调度的最小单位。线程是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流。一个进程中可以并发多个线程,每条线程并行执行不同的任务。已更新的配置项内容是指具有管理员权限的终端对配置项进行更新后的配置项内容。第一线程可以是生成者线程,第二线程可以是消费者线程。
具体地,服务端先通过第一线程用于执行获取第一订阅配置项以及对应的第一订阅配置项内容。服务端通过第二线程从消息队列中获取第一订阅配置项以及对应的第一订阅配置项内容,获取第一订阅配置项对应的客户端标识集,通过流式调用方式向客户端标识集中每个客户端标识对应的客户端,推送第一订阅配置项以及对应的第一订阅配置项内容。
上述订阅信息推送方法,通过第一线程获取第一订阅配置项以及已更新的配置项内容,通过第一线程向消息队列发送第一订阅配置项以及对应的第一订阅配置项内容,通过第二线程从消息队列中接收第一订阅配置项以及对应的第一订阅配置项内容,能够使用两个线程以及消息队列对配置项以及配置项内容进行异步处理,将可能的短时间高并发产生的配置项存储在消息队列中,从而减少并发,提高信息推送效率。
在一个实施例中,在通过第一线程获取第一订阅配置项以及对应的第一订阅配置项内容之后,方法还包括:当缓存中存在第一订阅配置项以及对应的第二订阅配置项内容时,通过第一线程清除第二订阅配置项内容,其中,第二订阅配置项内容为未更新的配置项内容。在通过第二线程接收第一订阅配置项以及对应的第一订阅配置项内容之后,该订阅信息推送方法还包括:通过第二线程根据第一订阅配置项以及对应的第一订阅配置项内容更新缓存。
具体地,第二订阅配置项内容为更新前的内容。当缓存中存在第一订阅配置项以及第一订阅配置项对应的第二订阅配置项内容时,通过第一线程清除第二订阅配置项内容。在通过第二线程接收第一订阅配置项以及对应的第一订阅配置项内容之后,服务端通过第二线程根据第一订阅配置项以及对应的第一订阅配置项内容更新缓存。
上述订阅信息推送方法,当缓存中存在第一订阅配置项以及对应的第二订阅配置项内容时,通过第一线程清除第二订阅配置项内容,其中,第二订阅配置项内容为未更新的配置项内容,通过第二线程根据第一订阅配置项以及对应的第一订阅配置项内容更新缓存,能够保证缓存中的配置项内容为最新的配置项内容,从缓存中读取数据,能够提高信息推送效率且当数据库等不可用时,可以使用缓存实现信息推送。
在一个实施例中,如图3(a)所示,为一个实施例中通过第一线程向消息队列发送配置项内容的流程示意图,包括:
步骤302,获取第一订阅配置项以及已更新的第一订阅配置项内容。
步骤304,将第一订阅配置项内容对应写入数据库中。
步骤306,判断缓存中是否存在第一订阅配置项对应的未更新的第二订阅配置项内容?
步骤308,若是,则清除第二订阅配置项内容,再执行步骤310。
步骤310,若否,则向消息队列推送更新事件。
如图3(b)所示,为一个实施例中通过第二线程推送第一订阅配置项以及对应的第一配置内容的流程示意图,包括:
步骤312,从消息队列中获取第一订阅配置项对应的更新事件。
其中,更新事件是指更新通知,可以不包括更新的具体内容。例如,通过第一线程在数据库中更新了第一订阅配置项内容“Value=Z”,那么在消息队列中对应的更新事件可以是“在数据中更新了第一订阅配置项内容”。
步骤314,根据更新事件从数据库中获取第一订阅配置项对应的第一订阅配置项内容。
步骤316,根据第一订阅配置项以及对应的第一订阅配置项内容更新缓存。
步骤318,从订阅列表中查找订阅第一订阅配置项的客户端标识集。
步骤320,通过流式调用方式向客户端标识集中每个客户端标识对应的客户端,推送第一订阅配置项以及对应的第一订阅配置项内容。
上述订阅信息推送方法,通过第一线程获取第一订阅配置项以及已更新的配置项内容,通过第一线程向消息队列发送第一订阅配置项以及对应的第一订阅配置项内容,通过第二线程从消息队列中接收第一订阅配置项以及对应的第一订阅配置项内容,能够使用两个线程以及消息队列对配置项以及配置项内容进行异步处理,将可能的短时间高并发产生的配置项存储在消息队列中,从而减少并发,提高信息推送效率;当缓存中存在第一订阅配置项以及对应的第二订阅配置项内容时,通过第一线程清除第二订阅配置项内容,其中,第二订阅配置项内容为未更新的配置项内容,通过第二线程根据第一订阅配置项以及对应的第一订阅配置项内容更新缓存,能够保证缓存中的配置项内容为最新的配置项内容,从缓存中读取数据,能够提高信息推送效率且当数据库等不可用时,可以使用缓存实现双向流的信息推送,并且仅推送到客户端标识集中对应的客户端,能够避免不必要的数据推送。
在一个实施例中,如图4所示,为另一个实施例中订阅信息推送方法的应用场景图。配置中心可用于服务配置、访问策略、认证信息、消息模版等内容。使用RPC服务器可以减少服务端资源的消耗,一个客户端对应一个长连接。在RPC服务器底层可使用HTTP/2协议,其两个突出的特性是通过分帧实现多路复用以提升传输效率,以及通过头部压缩减少冗余数据在网络上传输。多路复用是指在数据通信系统或计算机网络系统中,传输媒体的带宽或容量往往会大于传输单一信号的需求,为了有效地利用通信线路,希望一个信道同时传输多路信号的技术。HTTP/2是超文本传输协议2.0,相比于HTTP/1.0,协议设计更加高效。使用Protobuf作为数据交换格式。使用二进制替代文本编码,编码效率更高。基于HTTP/2协议构建,默认使用PB(Protocol Buffers,协议缓冲区)进行数据交换。PB是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于数据通信协议、数据存储等。服务端按照业务场景定义PB协议文件,编译成目标语言的源码。服务端可按照业务场景定义PB协议文件,编译成目标语言的源码。配置中心引入RPC服务端框架源码,替换原有的HTTP服务器。业务层使用RPC客户端框架源码,替换原有的HTTP客户端。例如,使用PB协议文件定义接口的名字,请求和响应中的包含哪些字段名。使用PB协议文件生成的源码可以直接在项目中直接使用,不需要人工编写。服务端源码和客户端源码需要引入自动生成的源码。自动生成的源码会处理PB数据的序列化及反序列化。序列化是指将结构数据或对象转换成能够被存储和传输的格式,同时应当要保证这个序列化结果在之后能够被重建回原来的结构数据或对象。
在一个实施例中,该订阅信息推送方法还包括:获取接入的客户端信息以及客户端信息对应的订阅配置项集,客户端信息包括客户端标识;从缓存中获取订阅配置项集中每个配置项所对应的订阅内容;向客户端标识对应的客户端实时推送订阅内容。
其中,订阅配置项集中包括该客户端订阅的至少一个配置项。接入的客户端信息可以是新接入的客户端信息。新接入的客户端信息即在此之前该客户端未接入过服务端;或者该客户端曾接入服务端,但服务端已将该客户端的信息删除。
具体地,服务端检测到接入的客户端,并获取接入的客户端信息以及客户端信息对应订阅的配置项集。客户端信息中包括客户端标识。服务端根据客户端订阅的配置项集,在对应的配置项下添加客户端信息。例如,该客户端信息对应的订阅的配置项为E、F和G,那么在服务端中的E配置项下添加该客户端信息,F配置项下添加该客户端信息,以及在G配置项下添加该客户端信息。服务端从缓存中获取订阅的配置项集中每个配置项所对应的订阅内容。服务端向客户端标识对应的客户端实时推送订阅内容。即,当达到某一时间点时,无需客户端向服务端发起请求,服务端自动通过流式调用的方式向客户端标识对应的客户端实时推送订阅内容。或者,当检测到更新的内容时,无需客户端向服务端发起请求,服务端自动通过流式调用的方式向客户端标识对应的客户端实时推送更新的内容。客户端只需要向服务端发送一次连接请求即可实现客户端和服务端的长连接。
上述订阅信息推送方法,通过获取接入的客户端信息以及客户端对应的配置项集,客户端信息包括客户端标识,从缓存中获取配置项集中每个配置项所对应的订阅内容,向客户端标识对应的客户端实时推送订阅内容,能够快速获取配置项所对应的订阅内容,并且在数据库不可用的情况下还可从缓存中获取订阅内容,提高信息推送的安全性,以及信息推送的实时性。
在一个实施例中,该订阅信息推送方法还包括:当在缓存中未获取到订阅的配置项集中第二订阅配置项所对应的订阅内容时,从数据库中获取第二订阅配置项对应的订阅内容;将第二订阅配置项对应的订阅内容更新到缓存中。
具体地,当在缓存中未获取到订阅内容时,其中该订阅内容为订阅的配置项集中第二订阅配置项所对应的订阅内容,则服务端从数据库中获取第二订阅配置项对应的订阅内容,服务端将第二订阅配置项对应的订阅内容更新到缓存中。
上述订阅信息推送方法,当在缓存中未获取到订阅的配置项集中第二订阅配置项所对应的订阅内容时,从数据库中获取第二订阅配置项对应的订阅内容,将第二订阅配置项对应的订阅内容更新到缓存中,能够使缓存中的订阅内容更新为最新的订阅内容,并且使得所有配置项以及对应的订阅内容均可保存在缓存中,便于后续使用,从而提高信息推送效率。
在一个实施例中,如图5所示,为一个实施例中获取订阅内容的流程示意图,包括:
步骤502,获取接入的客户端信息,以及该客户端信息对应的订阅配置项集,其中,客户端信息中包括客户端标识。
步骤504,将客户端信息添加到订阅列表。
其中,订阅列表可用于存储服务与配置项之间的对应关系。订阅列表还可以用于存储客户端标识与配置项之间的对应关系、业务服务的元信息例如IP地址、启动时间等。通过这些数据,在运维管理系统构建出可视化的关系图,为配置中心的精细化运营打下基础。
步骤506,判断从缓存中是否能获取到订阅配置项集中每个配置项所对应的订阅内容?
步骤508,若是,则从缓存中获取订阅配置项集中每个配置项所对应的订阅内容。
步骤510,若在缓存中未获取到订阅配置项集中第二订阅配置项所对应的订阅内容时,则从数据库中获取第二订阅配置项对应的订阅内容。
步骤512,将第二订阅配置项对应的订阅内容更新到缓存中,并执行步骤508。
步骤514,向客户端标识对应的客户端实时推送该订阅内容。
上述订阅信息推送方法,通过获取接入的客户端信息以及客户端对应的配置项集,客户端信息包括客户端标识,从缓存中获取配置项集中每个配置项所对应的订阅内容,向客户端标识对应的客户端实时推送订阅内容,能够快速获取配置项所对应的订阅内容,并且在数据库不可用的情况下还可从缓存中获取订阅内容,提高信息推送的安全性,以及信息推送的实时性;当在缓存中未获取到订阅的配置项集中第二订阅配置项所对应的订阅内容时,从数据库中获取第二订阅配置项对应的订阅内容,将第二订阅配置项对应的订阅内容更新到缓存中,能够使缓存中的订阅内容为最新的订阅内容,并且使得所有配置项以及对应的订阅内容均可保存在缓存中,便于后续使用,从而提高信息推送效率。
在一个实施例中,该订阅信息推送方法还包括:当检测到中断连接的目标客户端时,获取目标客户端的目标客户端标识,根据目标客户端标识遍历订阅列表;当从订阅列表中检测到目标客户端标识对应的目标客户端信息时,删除目标客户端信息。
其中,订阅列表中可存储客户端标识与对应的订阅配置项之间的对应关系。
如图6所示,为一个实施例中目标客户端中断连接的处理流程示意图,包括:
步骤602,当检测到与服务端中断连接的目标客户端时,获取目标客户端的目标客户端标识。
具体地,当客户端处于宕机状态,或者客户端重新启动,或者服务端无法接收到响应消息时,确定目标客户端与服务端中断连接。服务端获取目标客户端对应的目标客户端标识。
步骤604,根据目标客户端标识按照配置项顺序遍历订阅列表。
具体地,订阅列表中的存储方式可为配置项A对应的客户端信息为a、b、c等,配置项B对应的客户端信息为b、c、e等。服务端可根据目标客户端的客户端标识,按照配置项的顺序遍历订阅列表,从订阅列表中查找配置项下是否有该目标客户端的客户端标识对应的目标客户端信息。例如,订阅列表中的配置项包括A、B、C、D和E,那么服务端查找A对应的客户端信息中是否有目标客户端信息,再查找B对应的客户端信息中是否有目标客户端信息…直至遍历完成。
步骤606,判断配置项下是否有该目标客户端标识?若是,则执行步骤610。
步骤608,若是,则删除该目标客户端标识对应的目标客户端信息。
具体地,当服务端从订阅列表中检测到目标客户端标识对应的目标客户端信息时,删除目标客户端信息。
步骤610,判断订阅列表是否遍历结束?若否,则执行步骤604。
步骤612,当订阅列表遍历结束时,流程结束。
上述订阅信息推送方法,当检测到中断连接的目标客户端时,获取目标客户端的目标客户端标识,根据目标客户端标识遍历订阅列表,当从订阅列表中检测到目标客户端标识对应的目标客户端信息时,删除目标客户端信息,能够避免当该目标客户端再次接入服务端时,订阅的配置项不同而造成的信息混乱。
在一个实施例中,服务端可根据目标客户端标识,从订阅列表中查找到该目标客户端标识以及该目标客户端标识对应的目标客户端信息,并删除该目标客户端信息。上述订阅信息推送方法,能够避免当该目标客户端再次接入服务端时,订阅的配置项不同而造成的信息混乱。
在一个实施例中,该订阅信息推送方法还包括:从订阅列表中获取任意配置项以及依赖配置项的服务数量;向具有管理员权限的客户端发送配置项以及依赖配置项的服务数量,并展示。
其中,具有管理员权限的客户端可以是管理员账号所在的客户端。配置项可以是指配置项名称。一个配置项可被多个服务依赖。订阅列表中可存储服务与依赖的配置项之间的对应关系。
具体地,服务端从订阅列表中获取任意配置项以及依赖该配置项的服务数量。服务端向具有管理员权限的客户端发送该配置项依赖该配置项的服务数量,并将该配置项以及依赖该配置项的服务数量展示在具有管理员权限的客户端。
如图7所示,为一个实施例中配置项以及依赖该配置项的服务数量的界面示意图。其中,key可以表示配置项或者配置项名称。Value用于表示配置项内容。依赖服务数即为依赖该配置项的服务数量。具有管理员权限的客户端可对该配置项进行修改操作,并发布。当接收到对“修改”控件的操作时,修改某个配置项对应的配置项内容。当接收到对“发布”控件的操作时,实时下发配置项内容到该配置项对应的服务。在如图7所示的界面图中,可以配置项当前正在被哪些服务使用。
上述订阅信息推送方法,从订阅列表中获取任意配置项以及依赖配置项的服务数量,向具有管理员权限的客户端发送配置项以及依赖配置项的服务数量,并展示,能够更加直观地展示配置项以及依赖该配置项的服务数量,便于后续维护。
在一个实施例中,在业务场景下,服务端通过第一线程从终端获取第一订阅配置项,第一订阅配置项可为第一保险配置项。第一订阅配置项内容为已更新的配置项内容。例如第一配置项的内容可以是保险配置项内容。内容具体可以包括保险资源数据、保险类型数据、业务流程方案、保险服务条款中至少一种但不限于此。服务器通过第一线程向消息队列发送第一保险配置项以及对应的保险配置项内容。当缓存中存在第一保险配置项以及对应的第一保险配置项内容时,通过第一线程清除第二保险配置项内容,其中,第二保险配置项内容为未更新的配置项内容。通过第二线程从消息队列中接收第一保险配置项以及对应的第一保险配置项内容。通过第二线程根据第一保险配置项以及对应的保险配置项内容更新缓存。服务器获取订阅该保险配置项的客户端标识集。通过流式调用方式,向客户端标识集中每个客户端标识对应的客户端,推送该保险配置项以及对应的保险配置项内容。
服务端获取接入的客户端信息以及客户端信息对应的保险配置项集,其中客户端信息包括客户端标识。服务器从缓存中获取保险配置项集中每个保险配置项所对应的保险内容,向客户端标识对应的客户端实时推送该保险内容。当在缓存中未获取到保险配置项集中第二保险配置项所对应的保险内容时,从数据库中获取第二保险配置项对应的保险内容。将第二保险配置项对应的保险内容更新到缓存中。
当检测到中断连接的目标客户端时,获取目标客户端的目标客户端标识,根据目标客户端标识遍历保险订阅列表;当从保险订阅列表中检测到目标客户端标识对应的目标客户端信息时,删除目标客户端信息。
从保险订阅列表中获取任意保险配置项以及依赖该保险配置项的服务数量;向具有管理员权限的客户端发送保险配置项以及依赖该保险配置项的服务数量,并展示。
上述订阅信息推送方式,能够保持客户端和服务端之间的长连接,实现保险配置项信息的实时推送和更新,避免因信息延迟而造成损失;并且仅推送到客户端标识集中对应的客户端,能够避免不必要的保险数据推送,提高保险信息传输效率。
在一个实施例中,如图8所示,为一个实施例中订阅信息推送方法的交互示意图。图中包括具有管理员权限的终端、运营管理系统、客户端A、客户端B和配置中心。配置中心可包括RPC服务器、缓存、消息队列、数据库、订阅列表等不限于此。
步骤802,客户端A向配置中心订阅Key=A配置项。
其中,A配置项可以是保险配置项。
步骤804,配置中心向客户端A返回Key=A对应的配置项内容Value=X。
其中,X配置项内容可以是保险配置项内容。保险配置项内容具体可以包括保险资源数据、保险类型数据、业务流程方案、保险服务条款中至少一种但不限于此。
步骤806,客户端B向配置中心订阅Key=B的配置项。
同样地,A配置项可以是保险配置项。
步骤808,配置中心向客户端B返回Key=B对应的配置项内容Value=Y。
其中,Y配置项内容可以是保险配置项内容。保险配置项内容具体可以包括保险资源数据、保险类型数据、业务流程方案、保险服务条款中至少一种但不限于此。
步骤810,具有管理员权限的终端在运营管理系统上将Key=A对应的配置项内容修改为Value=Z。
例如,保险配置项为保险资源配置项,其中Y为100,Z为200。具有管理员权限的终端在运营管理系统上将保险配置项对应的内容从100修改为200。
步骤812,运营管理系统调用管理接口修改配置中心中的数据。
步骤814,配置中心更新成功,更新配置项进入待处理消息队列。
步骤816,配置中心向运营管理系统返回修改成功的信息。
步骤818,运营管理系统向具有管理员权限的客户端返回修改成功的信息。
步骤820,配置中心从待处理消息队列中接收Key=A的更新事件。
具体地,配置中心监听消息队列,取出更新事件,从订阅列表中查找订阅Key=A对应的客户端标识集。
步骤822,配置中心向客户端A推送Key=A对应的配置项内容Value=Z。
上述订阅信息推送方法,能够实时推送配置项内容,提高信息推送效率。
在一个实施例中,如图9所示,为一个实施例中订阅信息接收方法的流程示意图。一种订阅信息接收方法,应用于客户端,该订阅信息接收方法包括:
步骤902,获取订阅的配置项。
步骤904,向服务端发送流式调用请求,该流式调用请求包括订阅的配置项。
具体地,在服务启动时,根据业务需要,客户端向服务端发送一次流式调用(StreamingRPC)请求,该流式调用请求中包含订阅的配置项。在向服务端发送流式调用请求之后,服务端和客户端保持长连接,不需要客户端再向服务端发起请求,服务端可主动向客户端推送配置项内容。
步骤906,接收服务端返回的订阅的配置项对应的订阅内容,并存储订阅的配置项以及对应的订阅内容。
具体地,客户端接收服务端返回的订阅的配置项对应的订阅内容,并存储订阅的配置项以及对应的订阅内容。客户端的线程阻塞在当前流,等待服务端的推送内容。其中,阻塞是指当前的线程等待下一次的数据到来,不会执行后续的代码。当接收到服务端推送的新的配置项内容时,更新本地内存。线程回到当前流,继续等待新的推送内容。
上述订阅信息接收方法,获取订阅的配置项,向服务端发送流式调用请求,该流式调用请求包括订阅的配置项,接收服务端返回的订阅的配置项对应的订阅内容,并存储订阅的配置项以及对应的订阅内容,能够使用双向流的方式接收服务端主动推送的配置项以及对应的订阅内容,提高信息接收效率。
图2、3(a)、3(b)、5、6、8和9为一个实施例中订阅信息推送方法的流程示意图。应该理解的是,虽然图2、3(a)、3(b)、5、6、8和9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、3(a)、3(b)、5、6、8和9中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图10为一个实施例中订阅信息推送装置的结构框图。一种订阅信息推送装置,包括第一获取模块1002、第二获取模块1004和内容推送模块1006,其中:
第一获取模块1002,用于获取第一订阅配置项以及对应的第一订阅配置项内容;
第二获取模块1004,用于获取第一订阅配置项对应的客户端标识集;
内容推送模块1006,用于向客户端标识集中的每个客户端标识推送第一订阅配置项以及对应的第一订阅配置项内容。
上述订阅信息推送装置,获取第一订阅配置项以及对应的第一订阅配置项内容,获取第一订阅配置项对应的客户端标识集,通过流式调用方式向客户端标识集中每个客户端标识对应的客户端,推送第一订阅配置项以及对应的第一订阅配置项内容,能够保持客户端和服务端之间的长连接,实现信息的实时推送,并且仅推送到客户端标识集中对应的客户端,能够避免不必要的数据推送,提高信息传输效率。
在一个实施例中,第一获取模块1002用于通过第一线程获取第一订阅配置项以及对应的第一订阅配置项内容,其中,第一订阅配置项内容为已更新的配置项内容;通过第一线程向消息队列发送第一订阅配置项以及对应的第一订阅配置项内容;通过第二线程从消息队列中接收第一订阅配置项以及对应的第一订阅配置项内容。
上述订阅信息推送装置,通过第一线程获取第一订阅配置项以及已更新的配置项内容,通过第一线程向消息队列发送第一订阅配置项以及对应的第一订阅配置项内容,通过第二线程从消息队列中接收第一订阅配置项以及对应的第一订阅配置项内容,能够使用两个线程以及消息队列对配置项以及配置项内容进行异步处理,将可能的短时间高并发产生的配置项存储在消息队列中,从而减少并发,提高信息推送效率。
在一个实施例中,第一获取模块1002还用于当缓存中存在第一订阅配置项以及对应的第二订阅配置项内容时,通过第一线程清除第二订阅配置项内容,其中,第二订阅配置项内容为未更新的配置项内容;通过第二线程根据第一订阅配置项以及对应的第一订阅配置项内容更新缓存。
上述订阅信息推送装置,当缓存中存在第一订阅配置项以及对应的第二订阅配置项内容时,通过第一线程清除第二订阅配置项内容,其中,第二订阅配置项内容为未更新的配置项内容,通过第二线程根据第一订阅配置项以及对应的第一订阅配置项内容更新缓存,能够保证缓存中的配置项内容为最新的配置项内容,从缓存中读取数据,能够提高信息推送效率且当数据库等不可用时,可以使用缓存实现信息推送。
在一个实施例中,第二获取模块1004用于获取接入的客户端信息以及客户端信息对应的订阅配置项集,客户端信息包括客户端标识。第一获取模块1002用于从缓存中获取订阅配置项集中每个配置项所对应的订阅内容。内容推送模块1006用于向客户端标识对应的客户端实时推送订阅内容。
上述订阅信息推送装置,通过获取接入的客户端信息以及客户端对应的配置项集,客户端信息包括客户端标识,从缓存中获取配置项集中每个配置项所对应的订阅内容,向客户端标识对应的客户端实时推送订阅内容,能够快速获取配置项所对应的订阅内容,并且在数据库不可用的情况下还可从缓存中获取订阅内容,提高信息推送的安全性,以及信息推送的实时性。
在一个实施例中,订阅信息推送装置还包括更新模块。第一获取模块1002用于当在缓存中未获取到订阅的配置项集中第二订阅配置项所对应的订阅内容时,从数据库中获取第二订阅配置项对应的订阅内容。更新模块用于将第二订阅配置项对应的订阅内容更新到缓存中。
上述订阅信息推送装置,当在缓存中未获取到订阅的配置项集中第二订阅配置项所对应的订阅内容时,从数据库中获取第二订阅配置项对应的订阅内容,将第二订阅配置项对应的订阅内容更新到缓存中,能够使缓存中的订阅内容更新为最新的订阅内容,并且使得所有配置项以及对应的订阅内容均可保存在缓存中,便于后续使用,从而提高信息推送效率。
在一个实施例中,第二获取模块1004用于当检测到中断连接的目标客户端时,获取目标客户端的目标客户端标识,根据目标客户端标识遍历订阅列表;当从订阅列表中检测到目标客户端标识对应的目标客户端信息时,删除目标客户端信息。
上述订阅信息推送装置,当检测到中断连接的目标客户端时,获取目标客户端的目标客户端标识,根据目标客户端标识遍历订阅列表,当从订阅列表中检测到目标客户端标识对应的目标客户端信息时,删除目标客户端信息,能够避免当该目标客户端再次接入服务端时,订阅的配置项不同而造成的信息混乱。
在一个实施例中,第一获取模块1002用于从订阅列表中获取任意配置项以及依赖配置项的服务数量。内容推送模块1006用于向具有管理员权限的客户端发送配置项以及依赖配置项的服务数量,并展示。
上述订阅信息推送装置,从订阅列表中获取任意配置项以及依赖配置项的服务数量,向具有管理员权限的客户端发送配置项以及依赖配置项的服务数量,并展示,能够更加直观地展示配置项以及依赖该配置项的服务数量,便于后续维护。
图11为一个实施例中订阅信息接收装置的结构框图。一种订阅信息接收装置,包括配置项获取模块1102、请求发送模块1104和内容接收模块1106,其中:
配置项获取模块1102用于获取订阅的配置项;
请求发送模块1104用于向服务端发送流式调用请求,该流式调用请求包括订阅的配置项;
内容接收模块1106用于接收服务端返回的订阅的配置项对应的订阅内容,并存储订阅的配置项以及对应的订阅内容。
上述订阅信息接收装置,获取订阅的配置项,向服务端发送流式调用请求,该流式调用请求包括订阅的配置项,接收服务端返回的订阅的配置项对应的订阅内容,并存储订阅的配置项以及对应的订阅内容,能够使用双向流的方式接收服务端主动推送的配置项以及对应的订阅内容,提高信息接收效率。
图12示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务端120。如图12所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现订阅信息推送方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行订阅信息推送方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的订阅信息推送装置可以实现为一种计算机程序的形式,计算机程序可在如图12所示的计算机设备上运行。计算机设备的存储器中可存储组成该订阅信息推送装置的各个程序模块,比如,图10所示的第一获取模块、第二获取模块和内容推送模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的订阅信息推送方法中的步骤。
例如,图12所示的计算机设备可以通过如图10所示的订阅信息推送装置中的第一获取模块执行获取第一订阅配置项以及对应的第一订阅配置项内容。计算机设备可通过第二获取模块执行获取第一订阅配置项对应的客户端标识集。计算机设备可通过内容推送模块执行向客户端标识集中的每个客户端标识推送第一订阅配置项以及对应的第一订阅配置项内容。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述订阅信息推送方法的步骤。此处订阅信息推送方法的步骤可以是上述各个实施例的订阅信息推送方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述订阅信息推送方法的步骤。此处订阅信息推送方法的步骤可以是上述各个实施例的订阅信息推送方法中的步骤。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述订阅信息推送方法的步骤。此处订阅信息推送方法的步骤可以是上述各个实施例的信息接收方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述订阅信息接收方法的步骤。此处订阅信息接收方法的步骤可以是上述各个实施例的信息接收方法中的步骤。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述订阅信息接收方法的步骤。此处订阅信息接收方法的步骤可以是上述各个实施例的订阅信息接收方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种订阅信息推送方法,其特征在于,所述方法包括:
响应于针对配置平台界面中修改控件的触发操作,获取第一订阅配置项以及对应的已更新第一订阅配置项内容;所述第一订阅配置项是在程序运行时动态调整的业务相关配置项;
若缓存中存在第一订阅配置项对应的未更新的第二订阅配置项内容,清除所述第二订阅配置项内容并向消息队列推送更新事件;
从所述消息队列中获取所述第一订阅配置项对应的更新事件;
根据更新事件将所述第一订阅配置项以及所述第一订阅配置项内容更新至所述缓存;
获取所述第一订阅配置项对应的客户端标识集;
通过与客户端间建立的长连接,按照流式调用方式主动向所述客户端标识集中的每个客户端标识对应的客户端,推送从所述缓存中读取的所述第一订阅配置项以及对应的第一订阅配置项内容;所述流式调用方式为用于从对端持续读取或者向对端持续发送数据的调用方式;
当在所述客户端中检测到中断连接的目标客户端时,获取所述目标客户端的目标客户端标识,根据所述目标客户端标识遍历订阅列表;所述订阅列表用于存储服务与配置项之间的对应关系、客户端标识与所述配置项之间的对应的关系以及业务服务的元信息;
当从所述订阅列表中检测到所述目标客户端标识对应的目标客户端信息时,删除所述目标客户端信息。
2.根据权利要求1所述的方法,其特征在于,所述获取第一订阅配置项以及对应的已更新第一订阅配置项内容,包括:
通过第一线程获取所述第一订阅配置项以及对应的已更新第一订阅配置项内容;
通过所述第一线程向消息队列发送所述第一订阅配置项以及对应的所述第一订阅配置项内容;
通过第二线程从所述消息队列中接收所述第一订阅配置项以及对应的所述第一订阅配置项内容。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一订阅配置项以及所述第一订阅配置项内容更新至所述缓存包括:
通过所述第二线程,将所述第一订阅配置项以及对应的所述第一订阅配置项内容更新至所述缓存。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取接入的客户端信息以及所述客户端信息对应的订阅配置项集,所述客户端信息包括客户端标识;
从缓存中获取所述订阅配置项集中每个配置项所对应的订阅内容;
向所述客户端标识对应的客户端实时推送所述订阅内容。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当在所述缓存中未获取到所述订阅配置项集中第二订阅配置项所对应的订阅内容时,从数据库中获取所述第二订阅配置项对应的订阅内容;
将所述第二订阅配置项对应的订阅内容更新到所述缓存中。
6.根据权利要求1所述的方法,其特征在于,所述当在所述客户端中检测到中断连接的目标客户端时,获取所述目标客户端的目标客户端标识包括:
当检测到所述客户端中的目标客户端处于宕机状态,或者所述目标客户端重新启动,或者服务端未接收到所述目标客户端的响应消息时,确定所述目标客户端与服务端中断连接,获取所述目标客户端的目标客户端标识。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从订阅列表中获取任意配置项以及依赖所述配置项的服务数量;
向具有管理员权限的客户端发送所述配置项以及依赖所述配置项的服务数量,并展示。
8.一种订阅信息接收方法,其特征在于,应用于客户端,所述方法包括:
获取订阅的配置项;所述订阅的配置项是在程序运行时动态调整的业务相关配置项;
向服务端发送流式调用请求,所述流式调用请求中包含所述订阅的配置项;
接收所述服务端通过建立的长连接,按照流式调用方式主动推送的所述订阅的配置项对应的订阅内容,并存储所述订阅的配置项以及对应的所述订阅内容;所述流式调用方式为用于从对端持续读取或者向对端持续发送数据的调用方式;所述订阅内容为所述服务端响应于针对配置平台界面中修改控件的触发操作,根据从消息队列中获取的更新事件更新至缓存中的已更新订阅内容;所述更新事件是所述服务端在确定所述缓存中存在所述订阅配置项对应的未更新的订阅内容并将所述未更新的订阅内容清除后推送至所述消息队列的;
当与服务端中断连接时,使所述服务端获取所述客户端的目标客户端标识,并根据所述目标客户端标识遍历订阅列表,以在从所述订阅列表中检测到所述目标客户端标识对应的目标客户端信息时,删除所述目标客户端信息;所述订阅列表用于存储服务与配置项之间的对应关系、客户端标识与所述配置项之间的对应关系以及业务服务的元信息。
9.一种订阅信息推送装置,其特征在于,所述装置包括:
第一获取模块,用于响应于针对配置平台界面中修改控件的触发操作,获取第一订阅配置项以及对应的已更新第一订阅配置项内容;所述第一订阅配置项是在程序运行时动态调整的业务相关配置项;若缓存中存在第一订阅配置项对应的未更新的第二订阅配置项内容,清除所述第二订阅配置项内容并向消息队列推送更新事件;从所述消息队列中获取所述第一订阅配置项对应的更新事件;
更新模块,用于根据更新事件从数据库中获取第一订阅配置项对应的第一订阅配置项内容,并将所述第一订阅配置项以及所述第一订阅配置项内容更新至所述缓存;
第二获取模块,用于获取所述第一订阅配置项对应的客户端标识集;
内容推送模块,用于利用与客户端间建立的长连接,按照流式调用方式主动向所述客户端标识集中的每个客户端标识,推送从所述缓存中读取的所述第一订阅配置项以及对应的第一订阅配置项内容;所述流式调用方式为用于从对端持续读取或者向对端持续发送数据的调用方式;
所述第二获取模块,还用于当在所述客户端中检测到中断连接的目标客户端时,获取所述目标客户端的目标客户端标识,根据所述目标客户端标识遍历订阅列表;所述订阅列表用于存储服务与配置项之间的对应关系、客户端标识与所述配置项之间的对应的关系以及业务服务的元信息;
当从所述订阅列表中检测到所述目标客户端标识对应的目标客户端信息时,删除所述目标客户端信息。
10.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述方法的步骤。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911354884.XA CN111193789B (zh) | 2019-12-25 | 2019-12-25 | 订阅信息推送方法、装置、计算机设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911354884.XA CN111193789B (zh) | 2019-12-25 | 2019-12-25 | 订阅信息推送方法、装置、计算机设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111193789A CN111193789A (zh) | 2020-05-22 |
CN111193789B true CN111193789B (zh) | 2023-07-11 |
Family
ID=70709358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911354884.XA Active CN111193789B (zh) | 2019-12-25 | 2019-12-25 | 订阅信息推送方法、装置、计算机设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111193789B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881340B (zh) * | 2020-06-11 | 2024-05-10 | 国家电网有限公司 | 一种基于数字化审计平台的智能推送方法、装置及设备 |
CN113779054A (zh) * | 2021-02-24 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 数据更新方法、装置、服务端、存储介质及程序产品 |
CN113132347B (zh) * | 2021-03-08 | 2022-11-15 | 微梦创科网络科技(中国)有限公司 | Rpc服务的配置方法、装置以及系统 |
CN113836183A (zh) * | 2021-09-10 | 2021-12-24 | 济南浪潮数据技术有限公司 | 将逻辑流表推送到客户端的方法、系统、设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106612301A (zh) * | 2015-10-22 | 2017-05-03 | 招商局国际信息技术有限公司 | 更新数据的推送方法和装置 |
CN110417646A (zh) * | 2019-08-01 | 2019-11-05 | 北京吉旗咨询服务有限公司 | 基于rpc应用程序推送订阅消息的方法以及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8495941B2 (en) * | 2008-02-01 | 2013-07-30 | Tariq Farid | Sectioning device and method of use |
CN104092718B (zh) * | 2013-12-12 | 2017-10-24 | 腾讯数码(天津)有限公司 | 分布式系统及分布式系统中配置信息的更新方法 |
CN107241204A (zh) * | 2016-03-28 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 配置信息推送方法及装置 |
CN107295040A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 数据上传方法、装置及系统 |
CN109005240B (zh) * | 2018-08-21 | 2021-05-18 | 浙江浙大中控信息技术有限公司 | 基于http协议的实时数据订阅方法 |
CN109885320A (zh) * | 2018-12-29 | 2019-06-14 | 深圳云天励飞技术有限公司 | 一种配置信息的更新方法、装置及电子设备 |
CN110177127B (zh) * | 2019-04-15 | 2021-12-07 | 创新先进技术有限公司 | 基于grpc框架的数据传输方法、装置及设备 |
-
2019
- 2019-12-25 CN CN201911354884.XA patent/CN111193789B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106612301A (zh) * | 2015-10-22 | 2017-05-03 | 招商局国际信息技术有限公司 | 更新数据的推送方法和装置 |
CN110417646A (zh) * | 2019-08-01 | 2019-11-05 | 北京吉旗咨询服务有限公司 | 基于rpc应用程序推送订阅消息的方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111193789A (zh) | 2020-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111193789B (zh) | 订阅信息推送方法、装置、计算机设备和可读存储介质 | |
CN107861686B (zh) | 文件存储方法、服务端和计算机可读存储介质 | |
US10579595B2 (en) | Method and device for calling a distributed file system | |
US9785664B2 (en) | Gathering transaction data associated with locally stored data files | |
RU2471227C2 (ru) | Содействуемая обслуживающим узлом и одноранговая синхронизация | |
US9191347B2 (en) | Methods of routing messages using a listener registry | |
CN111200657B (zh) | 一种管理资源状态信息的方法和资源下载系统 | |
US20150237113A1 (en) | Method and system for file transmission | |
US20130346539A1 (en) | Client side cache management | |
CN112118315A (zh) | 数据处理系统、方法、装置、电子设备和存储介质 | |
KR20040111156A (ko) | 통지 본드를 사용하여 캐싱된 오브젝트를 관리하는 시스템및 방법 | |
CN108093015B (zh) | 文件传输系统 | |
US8467815B2 (en) | Mobile address book population using SMS polling | |
US11218371B2 (en) | Method and apparatus for performing communication in internet of things | |
CN114338604A (zh) | 一种dns配置更新方法及系统 | |
US11444998B2 (en) | Bit rate reduction processing method for data file, and server | |
US11206302B2 (en) | Method and device for feeding back a resource file | |
CN110798495B (zh) | 用于在集群架构模式下端到端的消息推送的方法和服务器 | |
CN117278628B (zh) | 数据传输方法、装置、系统、计算机设备和存储介质 | |
CN113342764A (zh) | 不同云端服务器之间的数据同步方法及装置 | |
CN114402577A (zh) | 单页应用的缓存能力 | |
CN113612811B (zh) | 一种在多通道中客户端挂载的方法、系统、设备及介质 | |
CN110196842A (zh) | 文件存储方法、管理方法、装置、服务器及存储介质 | |
CN115297105A (zh) | 文件传输方法、装置、计算机设备及存储介质 | |
US10237592B2 (en) | Method and apparatus for video transmission |
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 |