CN111817956A - 接入应用重启的方法、存储介质 - Google Patents
接入应用重启的方法、存储介质 Download PDFInfo
- Publication number
- CN111817956A CN111817956A CN202010459279.5A CN202010459279A CN111817956A CN 111817956 A CN111817956 A CN 111817956A CN 202010459279 A CN202010459279 A CN 202010459279A CN 111817956 A CN111817956 A CN 111817956A
- Authority
- CN
- China
- Prior art keywords
- access application
- routing
- restart
- access
- application
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种接入应用重启的方法、存储介质,方法包括:触发对应一接入应用的重启指令;依据所述重启指令,剔除路由列表中所述一接入应用的路由地址;发送长链接转移消息至所述一接入应用;依据所述长链接转移消息,所述一接入应用向与其连接的客户端发起长链接转移命令;当所述一接入应用的已接入客户端数量为零,执行重启。本发明能够最大程度缩短因应用重启而导致客户端断连的时间,确保消息推送的及时性;能够提升用户体验;能提高重启效率;能避免影响主线程,确保系统运行顺畅;另外,本发明还具有易于实施且成本低廉的特点。
Description
技术领域
本发明涉及消息推送领域,具体涉及接入应用重启的方法、存储介质。
背景技术
在现在很多系统或者APP中,普遍需要使用到消息推送功能。一般APP系统的客户端数量会达到几十上百万之多。如此多的APP每一个均需要与服务器保持有一个长链接,这样就有几十上百万的长链接连接到服务器上。同时,已建立长链接的APP需要每隔一定时间发送心跳包给服务器,由服务端来明确该APP设备是否已经断线。
而客户端与服务器建立长链接之前,一般场景之下为客户端预先请求服务端的路由模块接口,获取可以正常接入的路由地址列表,然后按照一定的选取规则,选择其中一个服务端地址,进行长链接的建立。建立长链接之后,就可以正常地进行消息发送等功能了。我们称这个服务端的应用为接入应用,客户端通过路由模块获取可以正常接入的接入应用地址,之后与真正的接入应用建立起长链接,进行消息地通信。
正常场景之下,接入应用能够正常提供服务。但是,当接入应用需要重启时,现有的系统基本上就是直接重启该接入应用,而这样将导致已经建立的长链接断开。当客户端检测到长链接断开后会再次尝试进行本台接入应用的继续接入,直到多次失败后,才会使用别台接入应用地址进行接入。在这个过程中,即重启的场景之下,如果有消息发送,客户端将会有一段时间无法正常接收到消息。直到该重启的接入应用重启成功后,客户端通过重连机制再次连接到本台接入应用,或者是接入其他台接入应用,重新建立起长链接时,才能正常接收消息。
因此,有必要提供一种能够解决上述接入应用重启导致客户端长时间断连问题的方案。
发明内容
本发明所要解决的技术问题是:提供一种接入应用重启的方法、存储介质,最大程度地缩短客户端无法正常接收消息的时间窗口,提升用户体验。
为了解决上述技术问题,本发明采用的技术方案为:
一种接入应用重启的方法,包括:
触发对应一接入应用的重启指令;
依据所述重启指令,剔除路由列表中所述一接入应用的路由地址;
发送长链接转移消息至所述一接入应用;
依据所述长链接转移消息,所述一接入应用向与其连接的客户端发起长链接转移命令;
当所述一接入应用的已接入用户数为零,执行重启。
本发明提供的另一个技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能够实现上述一种接入应用重启的方法所包含的步骤。
本发明的有益效果在于:在接入应用进入重启流程之前,先将其路由地址从路由列表中剔除,避免接入新的客户端;同时,对已接入的客户端进行转移;在接入用户全部清零后,再进入重启流程。由此,能够省去反复尝试再接入待重启的接入应用的时间,而直接请求与其他接入应用链接。因此,本发明能最大程度上缩短因应用重启而导致客户端无法正常接收消息的时间窗口,减少对客户端的影响,确保消息推送的及时性,从而提高用户体验。
附图说明
图1为本发明一实施例一种接入应用重启的方法的流程示意图;
图2为本发明实施例一的一具体实例的系统架构示意图;
图3位本发明实施例一的接入应用重启的方法的流程示意图。
标号说明:
1、客户端;2、路由集群;3、接入应用集群;4、异步处理模块;
5、MQ;6、后台管理。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:重启之前,先将待重启接入应用的路由地址从路由列表中剔除;同时,对已接入的客户端进行转移;在接入用户全部清零后,再进入重启流程。
请参照图1,本发明提供一种接入应用重启的方法,包括:
触发对应一接入应用的重启指令;
依据所述重启指令,剔除路由列表中所述一接入应用的路由地址;
发送长链接转移消息至所述一接入应用;
依据所述长链接转移消息,所述一接入应用向与其连接的客户端发起长链接转移命令;
当所述一接入应用的已接入客户端数量为零,执行重启。
从上述描述可知,本发明的有益效果在于:能够省去反复尝试再接入待重启的接入应用的时间,而直接请求与其他接入应用链接。因此,本发明能最大程度上缩短因应用重启而导致客户端无法正常接收消息的时间窗口,减少对客户端的影响,确保消息推送的及时性,从而提高用户体验。
进一步地,所述依据所述重启指令,剔除路由列表中所述一接入应用的路由地址,包括:
依据所述重启指令,发送对应所述一接入应用的重启消息至MQ;
一异步线程监听到MQ中的所述重启消息后,剔除路由集群的路由列表中所述一接入应用的路由地址。
由上述描述可知,通过消息中间件来进行重启消息的推送,能确保消息传送和处理的及时。
进一步地,所述一接入应用向与其连接的客户端发起长链接转移命令,之后,包括:
客户端接收到所述长链接转移命令后,重新向路由集群请求接入。
由上述描述可知,以高效地方式对待重启接入应用上已接入客户端进行快速转移,缩短客户端断连时间的同时,提高重启效率。
进一步地,所述剔除路由列表中所述一接入应用的路由地址,之后,还包括:
启动一异步监控线程,定时监控所述一接入应用的已接入客户端数量。
由上述描述可知,以异步监控的方式,避免对主线程造成影响,确保其运行顺畅。
进一步地,还包括:
成功重启后的所述一接入应用重新向路由集群注册,添加其路由地址至路由列表中。
由上述描述可知,重启的接入应用将能尽快重新投入使用,确保至此,一个完整的接入应用重启流程结束。
本发明提供的另一个技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能够实现上述一种接入应用重启的方法所包含的步骤。
从上述描述可知,对应本领域普通技术人员可以理解实现上述技术方案中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来实现的,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时,可包括如上述各方法的流程。所述程序在被处理器执行后,同样能够实现对应各方法的有益效果。
其中,所述的存储介质可以是磁盘、光碟、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
实施例一
请参照图2和图3,本实施例提供一种接入应用重启的优化方法,能够最大程度上缩短因应用重启而导致客户端无法正常接收消息的时间窗口,减少对客户端的影响,确保消息推送的及时性,从而提高用户体验。
所述方法包括:
一、客户端建立长链接的流程:
客户端预先访问路由集群,获取到路由列表,所述路由列表为可以正常接入的接入应用地址列表;客户端依据预设策略抽取其中一个接入应用地址,进行长链接的建立。
二、接入应用重启流程:
S1:当某个接入应用需要重启时,触发对应待重启接入应用的重启指令;
在一实例中,由运维人员在后台管理6的界面执行触发所述重启指令的操作;所述操作将向MQ5(消息中间件,可以使用如rabbitmq,kafka等)中发送一条重启接入应用的消息,该消息的格式为:消息ID、接入应用ID以及时间戳。
S2:依据所述重启指令,剔除路由列表中待重启接入应用的路由地址;
对应上述实例,存在一个一异步处理模块4,其一异步监控线程将监听MQ中的消息,当接收到上述S1的重启指令后,将调用路由集群2中提供的接口,剔除路由列表中待重启接入应用的路由地址。以此有效防止新的客户端连接到待重启接入应用上,即待重启的接入应用,从“入口”拦截,避免重启任务影响到其他客户端。
S3:依据所述重启指令,发送长链接转移消息至待重启接入应用;
S4:依据所述长链接转移消息,待重启接入应用向与其连接的客户端1发起长链接转移命令;
S5:客户端1接收到所述长链接转移命令后,重新向路由集群2请求接入。
在步骤S2执行完毕后再执行S3,能确保待客户端重新请求得到的路由列表中不包含待重启的接入应用。
在一实例中,在S2后,将向该接入应用发送长链接转移消息,该消息的格式为:消息ID和消息类型。接入应用接收到长链接转移消息后,将会向该接入应用已经建立起长链接的客户端发送长链接转移的命令,当与该接入应用长链接的客户端接收到该命令后,将会向路由集群重新请求获取路由列表(此时该列表中已剔除了待重启接入应用的路由地址),然后断开与待重启接入应用的连接,依据预设策略从路由列表中择一进行长链接的建立。
S6:当待重启接入应用的已接入客户端数量为零,执行重启。
在一实例中,存在另一个独立的异步监控线程,在S2步骤之后通过异步处理模块启动,启动后,该异步线程将每间隔预设时长(如10秒)监测一次待重启接入应用当前的已接入用户数,即统计当前与待重启接入应用依然建立长链接的客户端数量;当步骤S5执行完毕后,一般情况下待重启接入应用的已接入用户数应该为零,此时便可执行待重启接入应用的重启操作。
S7:成功重启后的接入应用将重新向路由集群注册,添加其路由地址至路由列表中。至此一个完整的接入应用重启流程结束。
实施例二
请参阅图2,本实施例对应实施例一,提供一具体运用场景:
场景为APP客户端与服务端推送业务场景。客户端与服务端进行消息推送需要预先建立起长链接,而建立长链接的主要流程为:客户端预先访问路由集群提供的获取路由地址列表接口,获取到可以正常接入的接入应用地址列表,随机选择其中一个接入应用地址,进行长链接的建立。当建立起长链接后,客户端即可与服务端进行消息的通信。
假设存在A、B、C和D共4个客户端1,接入应用集3中的接入应用有2个,分别为接入应用-1(称为access_1)和接入应用-2(称为access_2),其中A客户端接入在access_1上,B、C和D接入在access_2上。此时路由集群2中的路由地址列表接口返回的地址列表存在2个路由地址,即access_1与access_2的路由地址。若此时需要重启access_2接入应用,需要进行如下操作步骤:
1、运维人员在后台管理6的界面中,点击触发access_2的重启命令,该操作会向MQ5中发送一条重启access_2接入应用的消息,该消息的格式为:消息ID,接入应用ID,时间戳。
2、存在一个异步处理模块4,通过其一个异步监听程序,该模块监听MQ中消息,当收到步骤1中重启消息时,预先调用路由集群2中提供的删除接入应用地址接口,剔除路由列表中该台需要重启的接入应用地址,即access_2的路由地址。步骤1发出的消息中是access_2的接入应用ID,则步骤2执行完毕后,路由集群将只会返回access_1的地址,即后续需要建立长链接的客户端将只会连接到access_1上。
3、步骤2完成后,异步监听程序将向需要重启的接入应用(即access_2)发送长链接转移消息(该消息格式:消息ID和消息类型);Access_2接收到该消息后,会向本应用已经建立起长链接的客户端B、C和D发送长链接转移命令。当客户端B、C和D收到长链接转移命令后,会分别重新获取路由集群中的接入应用地址列表,此时将只会获取到access_1的地址,则客户端B、C和D会与access_1重新建立起长链接。
4、当步骤3执行成功后,异步处理模块会启动另一个独立的异步线程,每隔10秒钟监控一次access_2信息,主要监控该应用的已接入用户数。该数值表示客户端与服务端成功建立长链接的数量。当客户端B、C和D均已与别的接入应用重新建立起长链接后,access_2的已接入用户数应该为0。此时,可以执行access_2的重启操作。
5、当access_2重启成功后,会向路由集群重新注册,在路由集群的可接入应用列表中添加本应用的地址,此时,路由集群的获取路由地址列表接口将会返回access_1和access_2的地址,则表示一次完整的接入应用重启流程已结束。
实施例三
本实施例对应实施例一和实施例二,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能够实现上述实施例一或实施例二所述的一种接入应用重启的方法所包含的步骤。具体的步骤内容在此不进行复述,详情请参阅实施例一和实施例二的记载。
综上所述,本发明提供的一种接入应用重启的方法、存储介质,能够最大程度缩短因应用重启而导致客户端断连的时间,确保消息推送的及时性;能够提升用户体验;能提高重启效率;能避免影响主线程,确保系统运行顺畅;另外,本发明还具有易于实施且成本低廉的特点。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种接入应用重启的方法,其特征在于,包括:
触发对应一接入应用的重启指令;
依据所述重启指令,剔除路由列表中所述一接入应用的路由地址;
发送长链接转移消息至所述一接入应用;
依据所述长链接转移消息,所述一接入应用向与其连接的客户端发起长链接转移命令;
当所述一接入应用的已接入客户端数量为零,执行重启。
2.如权利要求1所述的一种接入应用重启的方法,其特征在于,所述依据所述重启指令,剔除路由列表中所述一接入应用的路由地址,包括:
依据所述重启指令,发送对应所述一接入应用的重启消息至MQ;
一异步线程监听到MQ中的所述重启消息后,剔除路由集群的路由列表中所述一接入应用的路由地址。
3.如权利要求1所述的一种接入应用重启的方法,其特征在于,所述一接入应用向与其连接的客户端发起长链接转移命令,之后,包括:
客户端接收到所述长链接转移命令后,重新向路由集群请求接入。
4.如权利要求1所述的一种接入应用重启的方法,其特征在于,所述剔除路由列表中所述一接入应用的路由地址,之后,还包括:
启动一异步监控线程,定时监控所述一接入应用的已接入客户端数量。
5.如权利要求1所述的一种接入应用重启的方法,其特征在于,还包括:
成功重启后的所述一接入应用重新向路由集群注册,添加其路由地址至路由列表中。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序在被处理器执行时,能够实现上述权利要求1-5任意一项所述的一种接入应用重启的方法所包含的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010459279.5A CN111817956A (zh) | 2020-05-27 | 2020-05-27 | 接入应用重启的方法、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010459279.5A CN111817956A (zh) | 2020-05-27 | 2020-05-27 | 接入应用重启的方法、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111817956A true CN111817956A (zh) | 2020-10-23 |
Family
ID=72848336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010459279.5A Pending CN111817956A (zh) | 2020-05-27 | 2020-05-27 | 接入应用重启的方法、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111817956A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130117231A1 (en) * | 2011-11-04 | 2013-05-09 | Symantec Corporation | Application protection through a combined functionality failure manager |
CN106230918A (zh) * | 2016-07-26 | 2016-12-14 | 努比亚技术有限公司 | 一种建立连接的方法及装置 |
CN108733466A (zh) * | 2017-04-19 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 重启分布式系统中的应用系统实例的方法、装置及设备 |
CN110109772A (zh) * | 2018-02-01 | 2019-08-09 | 中兴通讯股份有限公司 | 一种cpu的重启方法、通信设备及可读存储介质 |
CN110445834A (zh) * | 2019-07-03 | 2019-11-12 | 福建天泉教育科技有限公司 | 一种解决推送数据丢失的方法及系统 |
-
2020
- 2020-05-27 CN CN202010459279.5A patent/CN111817956A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130117231A1 (en) * | 2011-11-04 | 2013-05-09 | Symantec Corporation | Application protection through a combined functionality failure manager |
CN106230918A (zh) * | 2016-07-26 | 2016-12-14 | 努比亚技术有限公司 | 一种建立连接的方法及装置 |
CN108733466A (zh) * | 2017-04-19 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 重启分布式系统中的应用系统实例的方法、装置及设备 |
CN110109772A (zh) * | 2018-02-01 | 2019-08-09 | 中兴通讯股份有限公司 | 一种cpu的重启方法、通信设备及可读存储介质 |
CN110445834A (zh) * | 2019-07-03 | 2019-11-12 | 福建天泉教育科技有限公司 | 一种解决推送数据丢失的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180324266A1 (en) | Server cluster and method for push notification service | |
CN115002924A (zh) | 一种上行小数据的传输方法、网络侧du和网络侧cu | |
CN107528891B (zh) | 一种基于WebSocket的自动集群方法及其系统 | |
WO2004036344A2 (en) | System and method for the optimization of database | |
WO2017185615A1 (zh) | 一种业务处理设备的业务状态确定方法及调度设备 | |
CN107529229B (zh) | 数据传输的方法,装置及系统 | |
CN111092934B (zh) | 更新客户端路由的方法、存储介质 | |
CN113986501A (zh) | 实时数据库api无中断调用方法、系统、存储介质及服务器 | |
CN109088918B (zh) | 一种交互方法、客户端设备及服务端设备 | |
CN112492030B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
WO2014108862A2 (en) | Method and system for the handling of redundant long poll | |
CN116048538B (zh) | 用于dpu的服务网格部署方法及装置 | |
CN111817956A (zh) | 接入应用重启的方法、存储介质 | |
CN114268631B (zh) | 低延迟网络系统及其通信连接方法及可读存储介质 | |
CN115412974A (zh) | 分流通信方法、装置、设备及可读存储介质 | |
CN112100556B (zh) | 优化消息推送方式的方法及其系统 | |
CN106357744A (zh) | Smb客户端重连集群的方法、系统及smb客户端 | |
CN110890989A (zh) | 一种通道连接方法及装置 | |
CN114363204A (zh) | 请求监控方法、网络设备及存储介质 | |
CN112714181A (zh) | 一种数据传输方法及装置 | |
CN110798512A (zh) | 一种集中式数据推送方法、智能终端及存储介质 | |
CN116828022B (zh) | 管理与服务器的连接关系的方法、装置、设备和介质 | |
CN113746574B (zh) | 一种信息交互方法、系统及设备 | |
CN116347467B (zh) | 5g网络中udr进行用户数据管理方法及系统 | |
CN115643237B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201023 |