CN115499501A - 消息推送方法、系统、服务网关及存储介质 - Google Patents
消息推送方法、系统、服务网关及存储介质 Download PDFInfo
- Publication number
- CN115499501A CN115499501A CN202211066319.5A CN202211066319A CN115499501A CN 115499501 A CN115499501 A CN 115499501A CN 202211066319 A CN202211066319 A CN 202211066319A CN 115499501 A CN115499501 A CN 115499501A
- Authority
- CN
- China
- Prior art keywords
- message
- pushed
- edge gateway
- pushing
- detection data
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书实施例提供了消息推送方法、系统、服务网关及存储介质,其中,所述方法包括:接收待推送消息;获取各边缘网关的健康度检测数据;基于所述健康度检测数据,选取健康度满足预设要求的边缘网关,作为目标边缘网关;将所述待推送消息向所述目标边缘网关推送。采用上述方案能够在保障边缘轻量化的情况下,提高消息传输时的高服务可用性,提升消息推送的成功率。
Description
技术领域
本说明书实施例涉及数据处理技术领域,尤其涉及消息推送方法、系统、服务网关及存储介质。
背景技术
现阶段通信网关服务部分,由于采用了协议与数据解耦的方式,形成了协议层与服务层的解耦模型。通过协议层与服务层的解耦,弱化了协议层对于数据的处理,从一定程度上增强了入口流量的能力。而在通信网关领域,由于协议之间采用了传输控制协议(Transmission Control Protocol,TCP)长连接的方式,因此服务层对应的服务网关只能通过定向网际协议(Internet Protocol,IP)的方式将服务处理的结果传输给协议层对应的边缘网关,由于协议层与服务层完全解耦,经常出现回执推送的目标边缘网关出现服务不可用的情况,同时由于服务网关对边缘网关的负载能力缺乏监听,极易造成边缘网关因流量过大而引发的TCP连接拥堵情况。对于需高时效保障的响应消息,例如回执消息而言,这是不可取的。如何解决响应消息传输时的高服务可用性,提升响应消息推送的成功率,成为亟待解决的难题。
背景技术部分的内容仅仅是公开人所知晓的技术,并不当然代表本领域的现有技术。
发明内容
有鉴于此,本说明书实施例提供一种消息推送方法、系统、服务网关及存储介质,能够在保障边缘轻量化的情况下,提高消息传输时的高服务可用性,提升消息推送的成功率。
首先,本说明书实施例提供了一种消息推送方法,包括:
接收待推送消息;
获取各边缘网关的健康度检测数据;
基于所述健康度检测数据,选取健康度满足预设要求的边缘网关,作为目标边缘网关;
将所述待推送消息向所述目标边缘网关推送。
可选地,所述获取各边缘网关的健康度检测数据,包括:获取各边缘网关的如下至少一种类型的检测数据:
各边缘网关的心跳数据;
各边缘网关对应的用户连接数量数据;
各边缘网关的流量状态数据。
可选地,获取各边缘网关的至少两种类型的检测数据;
所述基于所述健康度检测数据,选取健康度满足预设要求的边缘网关,作为目标边缘网关,包括:
基于各边缘网关对应的各类型的检测数据及预设的相应类型的健康权重因子,得到各边缘网关的健康度检测数据;
选取出健康度检测数据最佳的边缘网关,作为目标边缘网关。
可选地,按照预设的时间间隔获取各边缘网关的健康度检测数据。
可选地,在将所述待推送消息推送至所述目标边缘网关之前,还包括:
对待推送消息按照预设的调度筛选条件进行筛选;
将筛选出的满足预设的调度筛选条件的消息作为当前待推送消息。
可选地,所述对待推送消息按照预设的调度筛选条件进行筛选,包括:
获取所述待推送消息的多个类型的属性信息;
基于所述待推送消息的多个类型的属性信息以及相应类型的属性信息对应的优先级权重因子,得到待推送消息的优先级,并按照优先级顺序进行排序;
将满足预设优先级级别的预设数量的待推送消息作为当前待推送消息。
可选地,所述获取接收到的待推送消息的多个类型的属性信息,包括:
获取所述待推送消息的接收时间信息、类型信息和对应的用户的优先级信息。
可选地,在将所述待推送消息向所述目标边缘网关推送之后,还包括:
在推送异常时,对所述待推送消息按照相应的异常处理策略进行处理。
可选地,所述在推送异常时,对所述待推送消息按照相应的异常处理策略进行处理,包括如下至少一种:
在检测到所述待推送消息对应的服务异常时,则与所述服务重新建立连接,获取所述服务对应的待推送消息并向对应的目标边缘网关推送;
在检测到所述待推送消息对应的用户异常时,基于预设的用户异常处理策略,对所述待推送消息进行相应处理。
相应地,本说明书实施例还提供了一种消息推送系统,包括:
接收单元,适于接收待推送消息;
目标边缘网关确定单元,适于获取各边缘网关的健康度检测数据,并基于所述健康度检测数据,选取出健康度满足预设要求的边缘网关,作为目标边缘网关;
推送单元,适于将所述待推送消息向所述目标边缘网关推送。
可选地,所述系统还包括:
调度筛选单元,适于对待推送消息按照预设的调度筛选条件进行筛选,将筛选出的满足预设的调度筛选条件的消息作为当前待推送消息。
可选地,所述系统还包括:
异常推送处理单元,适于在推送异常时,对所述待推送消息按照相应的异常处理策略进行处理。
相应地,本说明书实施例还提供了一种服务网关,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其中,所述处理器运行所述计算机程序时执行前述任一实施例所述的方法的步骤。
相应地,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序运行时执行前述任一实施例所述的方法的步骤。
采用本说明书实施例的消息推送方法,通过获取各边缘网关的健康度检测数据,并基于所述健康度检测数据,选取健康度满足预设要求的边缘网关,作为目标边缘网关,并将所述待推送消息向目标边缘网关推送,其中,基于健康度检测数据,选取目标边缘网关,可以缓解TCP连接拥堵问题,提升消息推送服务的稳定性,因而可以保障消息传输时的高服务可用性,提升消息推送的成功率;并且由于整个过程仅需要各边缘网关上报健康度检测数据,而无须进行复杂的决策判断,因而可以兼顾边缘网关轻量化的需求,便于边缘的部署实施。
进一步地,获取各边缘网关的心跳数据、对应的用户连接数量数据和各边缘网关的流量状态数据等多个类型的检测数据,进而基于各边缘网关对应的各类型的检测数据及预设的相应类型的健康权重因子,可以更加全面准确地得到各边缘网关的健康度检测数据,因而可以从中选取更加健康的边缘网关,作为目标边缘网关,从而可以提升消息推送服务的稳定性。其中,通过对用户连接数量不同的边缘网关,采取不同的推送策略,可以避免给相应的边缘网关的服务带来压力。
进一步地,按照预设的时间间隔获取各边缘网关的健康度检测数据,因而所获取的健康度检测数据可以更加真实地反映相应的边缘网关的当前健康状况,因而基于按照预设的时间间隔动态获取的各边缘网关的健康度检测数据所选取的目标边缘网关具有更好的可靠性及稳定性,因而可以进一步提高消息推送的可靠性。
进一步地,在将所述待推送消息推送至所述目标边缘网关之前,通过对待推送消息按照预设的调度筛选条件进行筛选,并将筛选出的满足预设的调度筛选条件的消息作为当前待推送消息,在流量激增的情况下,可以保障消息的有序推送。此外,通过调度筛选,可以避免对未完成推送的所有的待推送消息进行存储,因而可以节约存储资源。
进一步地,通过获取所述待推送消息的接收时间信息、类型信息和对应的用户的优先级信息,并基于对应的优先级权重因子,得到待推送消息的优先级,并按照优先级顺序进行排序,将满足预设优先级级别的预设数量的待推送消息作为当前待推送消息,可以从大量的待推送消息中,筛选出更加重要的消息作为当前待推送消息向目标边缘网关进行推送,从而可以提升重要消息的推送效率,提高用户整体体验。
进一步地,在推送异常时,通过对所述待推送消息按照相应的异常处理策略进行处理,可以进一步提升消息推送服务的可靠性。
进一步地,在推送异常时,通过区分异常类型,并对服务异常和用户异常采用不同的处理策略,其中,在确定对应的服务异常时,通过与所述服务重新建立连接,获取所述服务对应的待推送消息并向对应的目标边缘网关推送,可以提高消息推送的服务等级协议所需的时效性保障。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对本说明书实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一种通信系统的模型架构示意图;
图2和图3分别示出了现有技术中两种消息推送方法的场景示例示意图;
图4示出了本说明书实施例中一种消息推送方法的流程图;
图5示出了本说明书实施例中另一种消息推送方法的流程图;
图6示出了本说明书实施例中一种调度筛选方法的流程图;
图7示出了本说明书实施例中一种消息推送方法的场景示例示意图;
图8示出了本说明书实施例中一种消息推送系统的结构示意图;
图9示出了本说明书实施例中一种服务网关的结构示意图。
具体实施方式
如背景部分所述,现阶段通信网关服务部分,由于采用了协议与数据解耦的方式,形成了接入层与服务层的解耦模型。为了使本领域技术人员更加准确地理解现有技术中存在的技术问题,以下首先结合附图对形成的协议层和服务层解耦的模型架构进行详细介绍。
参照图1所示的通信系统的模型架构示意图,其中,通信系统10包括多个客户端11以及与客户端11具有通信连接的边缘网关12和服务网关13,其中:边缘网关12主要通过协议插件与会话管控模块完成与客户端11之间的建立连接及数据传递,而服务网关13则专门负责业务数据处理与数据转化。
通过协议层和服务层的解耦,弱化了边缘网关12对于数据的处理,因而可以从一定程度上增强边缘网关对于入口流量的处理能力。而在边缘网关侧,由于协议之间采用了TCP长连接的方式,因此服务网关13只能通过定向IP的方式将服务处理的结果向边缘网关12传送,如图1中箭头2示意。
然而,在实际应用中,经常出现消息(如回执消息)推送的边缘网关(以下称为目标边缘网关)出现服务不可用的情况,而由于协议层与服务层完全解耦,且服务网关13缺乏对边缘网关12的感知,容易造成协议层因流量过大而引发的TCP拥堵,对于高时效性保障的消息(如回执消息)而言,这是不可取的。
为了解决由于协议层与服务层完全解耦而容易出现的TCP拥堵问题,提高消息传输的高服务可用性,现有技术中有如下两种解决方案。
方案一、基于静态的IP选择策略进行消息推送。具体而言,参照图2所示的一种现有技术中消息推送方法的场景示意示意图,客户端11通过边缘网关集群E0中的某一边缘网关,例如边缘网关E0-1,与服务网关13建立长连接,在数据库DB0中存储长连接的连接信息,以下为描述方便,称为长连接信息LM0。在服务网关13对服务及数据进行处理后,可以通过数据库DB0查询客户端建立的长连接信息,可以通过选择IP将回执消息定向推送至指定的目标边缘网关上,完成回执消息的推送。
然而,发明人经研究发现,数据库DB0中存储的长连接信息是一种静态的信息,其无法反映出对应的边缘网关当前的负载情况,在流量激增的情况下,极易造成边缘网关集群E0的TCP拥堵,影响回执消息的推送。
此外,其对所有的边缘网关均采取同样的推送策略,可能存在某些边缘网关无法在短时间内完成推送消息的处理,因而可能会给边缘网关带来处理压力。
方案二、所有的边缘网关统一订阅回执信息,在边缘网关集群内部进行匹配是否推送消息。具体而言,参照图3,客户端11通过边缘网关集群E0与服务网关13建立连接,可以将需要处理的请求发送至服务网关13。服务网关13在基于请求进行业务处理和数据处理后,可以将处理结果通过回执消息中间件mq异步发送至边缘网关集群E0,在边缘网关集群E012内部进行匹配处理,由匹配的边缘网关推送与其建立长连接的客户端请求对应的结果。
然而,发明人经研究发现,由于边缘网关集群E0中所有设备共享回执消息中间件mq,因此边缘网关集群中所有的边缘网关均需要存储所述回执消息中间件mq,因而会占用大量存储资源。并且,由边缘网关集群12在内部进行逻辑筛选匹配,会导致边缘网关集群过度关注服务相关的逻辑,因而不利于边缘网关的轻量化,因而会增加边缘部署难度。
综上可知,现有的消息推送方案难以在保障边缘轻量化的情况下,提高消息传输时的高服务可用性,提升消息推送的成功率。
针对上述问题,本说明书提供了相应的解决方案,首先,本说明书实施例提供了一种消息推送方法,其通过获取各边缘网关的健康度检测数据,并基于所述健康度检测数据,选取健康度满足预设要求的边缘网关,作为目标边缘网关,并将所述待推送消息向目标边缘网关推送,其中,基于健康度检测数据,选取目标边缘网关,可以缓解TCP连接拥堵问题,提升消息推送服务的稳定性,因而可以保障消息传输时的高服务可用性,提升消息推送的成功率;并且由于整个过程仅需要各边缘网关上报健康度检测数据,而无须进行复杂的决策判断,因而可以兼顾边缘网关轻量化的需求,便于边缘的部署实施。
为使本领域技术人员更好地理解本说明书实施例的技术构思、工作原理及优点,实施本说明书实施例的技术方案,以下参照附图,并结合具体应用场景,对本说明书实施例通过一些具体的可选示例进行详细介绍。
作为一具体应用场景,服务网关基于客户端请求完成相应的服务数据处理后,可以返回相应的处理结果,例如可以向客户端返回回执消息。由于在协议层与服务层解耦后,服务层的服务网关无法感知协议层的边缘网关的状态,因此需要由服务网关先将消息推送至匹配的边缘网关,之后由边缘网关可以将消息通过长连接传输至相应的客户端。在具体实施中,所述客户端可以为网页浏览器客户端,也可以为专门的应用客户端,或者指承载了相应应用或适于运行相应网页的客户端电子设备,例如手机终端、个人电脑、车载电子终端、智能家居终端或者其他物联网终端等,本说明书实施例中并不限定具体的客户端类型。用户可以通过所述客户端获取到相应的服务即可。
参照图4所示的消息推送方法的流程图,在本说明书一些实施例中,服务网关具体可以通过以下步骤完成消息推送:
S11,接收待推送消息。
在具体实施中,服务网关可以为云端或者称为核心网的服务网关或服务网关集群,若是服务网关集群,则可以基于预设的负载均衡策略接收来自核心网的中心云集群的待推送消息,例如回执消息、应答消息、响应消息等,本说明书实施例中并不限定所述消息的具体内容,也不限定所述消息的具体类型。
S12,获取各边缘网关的健康度检测数据。
在具体实施中,可以在边缘网关集群设置相应的监听装置监听各边缘网关的健康状态并上报相应的健康度检测数据,也可以由各边缘网关各自对自身健康状态进行监听并主动上报自身健康度检测数据。
其中,所谓各边缘网关的健康状态是指相应边缘网关是否运行正常并能够为用户提供正常服务。在具体实施中,为了提高消息推送服务的可靠性,所述健康度检测数据适于反映相应边缘网关是否能够正常运行及其处理能力,以避免由于边缘网关处理能力的不足而出现TCP拥塞,导致消息无法及时传输至客户端的问题。
在具体实施中,所述健康度检测数据可以包括一种或多种类型,作为可选示例,可以包括如下至少一种类型的检测数据:
各边缘网关的心跳数据;
各边缘网关对应的用户连接数量数据;
各边缘网关的流量状态数据。
其中,心跳数据适于表征相应的边缘网关是否能够正常运行,例如若心跳数据为1,可以表征相应的边缘网关正常,若心跳数据为0,则表征相应的边缘网关故障或未处理工作状态。一个边缘网关对应的用户连接数量反映了其当前负载量,而各边缘网关的流量状态可以反映其整体流量状况,是否发生拥塞。
由于每个边缘网关的实际负载能力可能不同,因此结合其对应的用户连接数量以及其流量状态数据,可以更加全面地反映其整体健康状况。
在具体实施中,若某边缘网关存在心跳,则可以进一步结合其对应的用户连接数量以及其流量状态数据,确定其健康程度。
在具体实施中,可以按照预设的时间间隔获取各边缘网关的健康度检测数据,从而可以动态获取各边缘网关当前的健康度检测数据。
S13,基于所述健康度检测数据,选取健康度满足预设要求的边缘网关,作为目标边缘网关。
在具体实施中,如步骤S12所述,可以获取各边缘网关的一种类型的检测数据,也可以获取多种类型的检测数据,若获取了两种以上类型的检测数据,则可以基于各边缘网关对应的各类型的检测数据及预设的相应类型的健康权重因子,得到各边缘网关的健康度检测数据。作为可选示例,可以选取出健康度检测数据最佳的边缘网关,作为目标边缘网关。
在具体实施中,可以基于实时获取的各边缘网关当前的健康度检测数据,动态选取出当前最匹配的边缘网关,作为目标边缘网关。
在具体实施中,协议层的多个边缘网关形成的边缘网关集群可以集中部署,也可以分布式部署。作为一可选示例,各边缘网关可以分布部署于靠近其客户端区域,以实现与客户端信息交互的低时延,提高用户体验。此外,为进一步增强服务可靠性,各区域可以设置多个边缘网关,或者对于某一区域的多个客户端,可以分布式部署多个边缘网关。
S14,将所述待推送消息向所述目标边缘网关推送。
在同步步骤S13选取出目标边缘网关后,就可以将所述待推送消息向所述目标边缘网关推送,并由所述目标边缘网关向与其建立长连接的客户端设备传输,最终将消息推送至客户端。
采用上述实施例,通过基于健康度检测数据,选取目标边缘网关,可以缓解TCP连接拥堵问题,提升消息推送服务的稳定性,因而可以保障消息传输时的高服务可用性,提升消息推送的成功率;并且由于整个过程仅需要各边缘网关上报健康度检测数据,而无须进行复杂的决策判断,因而可以兼顾边缘网关轻量化的需求,便于边缘的部署实施。
而通过获取各边缘网关的心跳数据、对应的用户连接数量数据和各边缘网关的流量状态数据等多个类型的检测数据,进而基于各边缘网关对应的各类型的检测数据及预设的相应类型的健康权重因子,可以更加全面准确地得到各边缘网关的健康度检测数据,因而可以从中选取更加健康的目标边缘网关,从而可以提升消息推送服务的稳定性。其中,通过对用户连接数量不同的边缘网关,采取不同的推送策略,可以避免给相应的边缘网关的服务带来压力。
此外,按照预设的时间间隔获取各边缘网关的健康度检测数据,因而可以更加真实地反映相应的边缘网关的当前健康状况,因而基于按照预设的时间间隔动态获取的各边缘网关的健康度检测数据所选取的目标边缘网关具有更好的可靠性及稳定性,因而可以进一步提高消息推送的可靠性。
在具体实施中,还可以对上述实施例作进一步的扩展及优化。以下通过一些具体示例并参照附图进行详细描述。
参照图5所示的消息推送方法的流程图,在本说明书另一些实施例中,与图4所示的推送方法的不同之处在于,在步骤S14之前,还可以包括步骤S15:对待推送消息按照预设的调度筛选条件进行筛选;将筛选出的满足预设的调度筛选条件的消息作为当前待推送消息。
在将所述待推送消息推送至所述目标边缘网关之前,通过对待推送消息按照预设的调度筛选条件进行筛选,并将筛选出的满足预设的调度筛选条件的消息作为当前待推送消息,在流量激增的情况下,可以保障消息的有序推送。此外,通过调度筛选,可以避免对未完成推送的所有的待推送消息进行存储,因而可以节约存储资源。
作为可选示例,参照图6所示的调度筛选方法的流程图,具体可以通过如下方式进行调度筛选:
S151,获取所述待推送消息的多个类型的属性信息。
作为一可选示例,可以获取所述待推送消息的接收时间信息、类型信息和对应的用户的优先级信息。
其中,基于接收时间信息,可以将待推送消息按照接收时间进行排序,可以反映推送消息的接收时序,在没有其他调度优先级差别的情况下,可以完全基于接收时间信息确定的时序调度待推送消息。然而在实际应用中,发明人发现待推送消息可能有很大差异,为了更加有效地利用处理资源,尽可能地满足各种消息的SLA需求,可以设置不同的调度优先级。例如,消息本身的类型可能不同,其可能是验证码、通知、也可能是和服务强相关的展示和推广消息,其中验证码对时效性要求最高,通知次之,展示和推广消息最低,因此可以基于其时效性要求设置相应的优先级,例如:1级、2级、3级。又如,不同用户对服务可靠性和时效性要求可能也有差异,例如企业用户的优先级高于普通用户的优先级,会员用户的优先级高于访客用户的优先级。
S152,基于所述待推送消息的多个类型的属性信息以及相应类型的属性信息对应的优先级权重因子,得到待推送消息的优先级,并按照优先级顺序进行排序。
在具体实施中各个属性信息的优先级权重因子可以相同,也可以不同,可以根据各属性信息的重要程度并结合经验及实验数据进行确定,本说明书实施例中并不限定各优先权权重因子的具体数值及各权重因子之间的比例。
S153,将满足预设优先级级别的预设数量的待推送消息作为当前待推送消息。
通过上述方案,可以从大量的待推送消息中,筛选出更加重要的消息作为当前待推送消息向目标边缘网关进行推送,从而可以提升重要消息的推送效率,提高用户整体体验。
例如,当前待推送的消息有10000条,通过上述方案,可以从中筛选出优先级别最高的1000条消息优先推送,可以提升重要消息的推送效率。
在具体实施中,为进一步提升消息推送服务的可靠性,继续参照图5,还可以执行步骤S16:在推送异常时,对所述待推送消息按照相应的异常处理策略进行处理。
在具体实施中,由于推送异常的原因可能不同,可以采用不同的处理策略。例如,可能是由于服务异常,也可能是由于用户异常,这里的用户可能是客户端用户,也可能是指边缘网关,即待推送消息对应的目标边缘网关。
作为一可选示例,在检测到所述待推送消息对应的服务异常时,则与所述服务重新建立连接,获取所述服务对应的待推送消息并向对应的目标边缘网关推送。
作为另一可选示例,在检测到所述待推送消息对应的用户异常时,可以基于预设的用户异常处理策略,对所述待推送消息进行相应处理。
在具有实施中,考虑到服务异常可能对大量用户产生影响,为此,在发现服务异常时,则可以采用即时重发的处理策略,从而保障消息的SLA能力。
而对于用户,例如,可以基于消息类型,消息对应的用户优先级,用户响应速度等,可以差异化采用不同的异常处理策略。可选地,对于用户优先级别较高的用户,或者对于时效性要求较高的回执消息,如验证码消息,可以采用即时重发的处理策略;而对于用户优先级别较低的用户,或者对于时效性要求不高的通知消息,则可以延时再推送所述消息。
为使本领域技术人员更好地理解及实施,以下结合一具体应用场景进行说明。参照图7所示的场景示例图,客户端CL0与边缘网关集群E0中的边缘网关,例如边缘网关GW0通过握手协议建立长连接后,可以通过所述长连接将请求发送至协议层的边缘网关GW0,并由所述边缘网关GW0进行协议解析及协议重新封装,并传输至服务网关SV0,服务网关SV0进行数据处理后,得到处理结果,通过数据封装,得到待推送消息。
由于在具体实施中,首先,服务网关SV0可以基于获取的健康度检测数据,通过目标边缘网关确定模块D0确定出健康度最佳的边缘网关,作为目标边缘网关,或者确定出健康度满足预设要求的多个边缘网关,并从中选取出一个,作为目标边缘网关,进而通过调度筛选模块S0对获取的多个待推送消息按照预设的调度筛选条件进行筛选,从中选取出符合调度筛选要求的消息作为当前待推送消息,并通过推送模块进行推送。作为可选示例,服务网关SV0中,目标边缘网关确定模块D0可以根据需求预设健康度检测模型,用于边缘网关的确定,所述调度筛选模块S0可以根据需求预设调度筛选模型,用于待推送消息的优先权确定。
可以理解的是,在具体实施中,也可以先根据预设的调度筛选条件选取出待推送消息,再基于获取的健康度检测数据确定待推送消息所发送的目标边缘网关,本说明书中并不对上述目标边缘网关和待推送消息优先级的确定顺序作任何限定。
需要说明的是,本说明书实施例中的消息推送方法适用于多种应用场景,例如回执消息的推送,基于语音会话、视频会话请求等对实时性要求较高的请求的应答消息、响应消息等,本说明书实施例中并不限定客户端请求的类型和形式,只要有消息推送需求即可。为了提高消息服务的SLA能力,均可以采用本说明书实施例方案。
为了能够在保障边缘轻量化的情况下,提高消息传输时的高服务可用性,提升消息推送的成功率,本说明书实施例还提供了相应的消息推送系统,如图8所示的消息推送系统的结构示意图,消息推送系统80可以包括:接收单元81、目标边缘网关确定单元82和推送单元83,其中:
所述接收单元81,适于接收待推送消息;
所述目标边缘网关确定单元82,适于获取各边缘网关的健康度检测数据,并基于所述健康度检测数据,选取出健康度满足预设要求的边缘网关,作为目标边缘网关;
推送单元83,适于将所述待推送消息向所述目标边缘网关推送。
作为可选示例,继续参照图8,消息推送系统80还可以包括:调度筛选单元84,适于对待推送消息按照预设的调度筛选条件进行筛选,将筛选出的满足预设的调度筛选条件的消息作为当前待推送消息。
作为另一可选示例,继续参照图8,消息推送系统80还可以包括:异常推送处理单元85,适于在推送异常时,对所述待推送消息按照相应的异常处理策略进行处理。
消息推送系统的具体实现可以参照前述消息推送方法实施例的原理、具体示例、应用场景进行实施,此处不再展开描述。
相应地,本说明书实施例还提供了一种服务网关,参照图9所示的服务网关的结构示意图,服务网关90可以包括存储器91和处理器92,所述存储器91上存储有可在所述处理器92上运行的计算机程序,其中,所述处理器运行所述计算机程序时执行前述任一实施例所述的消息推送方法的步骤。
在具体实施中,所述服务网关90可以为服务网关或者集群化部署的服务网关集群,所述存储器91可以为分布式存储装置。
所述处理器92可以为单核处理器,也可以为多核处理器,可以为通用的处理器,也可以为能够进行数据量较大处理的专用处理器,这里对处理器的具体构造及实现方式并不做任何限定。
相应地,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序运行时执行前述任一实施例所述的消息推送方法的步骤。
在具体实施中,所述计算机可读存储介质可以是光盘、机械硬盘、固态硬盘等各种适当的可读存储介质。
虽然本说明书实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (14)
1.一种消息推送方法,其中,包括:
接收待推送消息;
获取各边缘网关的健康度检测数据;
基于所述健康度检测数据,选取健康度满足预设要求的边缘网关,作为目标边缘网关;
将所述待推送消息向所述目标边缘网关推送。
2.根据权利要求1所述的方法,其中,所述获取各边缘网关的健康度检测数据,包括:获取各边缘网关的如下至少一种类型的检测数据:
各边缘网关的心跳数据;
各边缘网关对应的用户连接数量数据;
各边缘网关的流量状态数据。
3.根据权利要求2所述的方法,其中,获取各边缘网关的至少两种类型的检测数据;
所述基于所述健康度检测数据,选取健康度满足预设要求的边缘网关,作为目标边缘网关,包括:
基于各边缘网关对应的各类型的检测数据及预设的相应类型的健康权重因子,得到各边缘网关的健康度检测数据;
选取出健康度检测数据最佳的边缘网关,作为目标边缘网关。
4.根据权利要求3所述的方法,其中,按照预设的时间间隔获取各边缘网关的健康度检测数据。
5.根据权利要求1所述的方法,其中,在将所述待推送消息推送至所述目标边缘网关之前,还包括:
对待推送消息按照预设的调度筛选条件进行筛选;
将筛选出的满足预设的调度筛选条件的消息作为当前待推送消息。
6.根据权利要求5所述的方法,其中,所述对待推送消息按照预设的调度筛选条件进行筛选,包括:
获取所述待推送消息的多个类型的属性信息;
基于所述待推送消息的多个类型的属性信息以及相应类型的属性信息对应的优先级权重因子,得到待推送消息的优先级,并按照优先级顺序进行排序;
将满足预设优先级级别的预设数量的待推送消息作为当前待推送消息。
7.根据权利要求6所述的方法,其中,所述获取接收到的待推送消息的多个类型的属性信息,包括:
获取所述待推送消息的接收时间信息、类型信息和对应的用户的优先级信息。
8.根据权利要求1所述的方法,其中,在将所述待推送消息向所述目标边缘网关推送之后,还包括:
在推送异常时,对所述待推送消息按照相应的异常处理策略进行处理。
9.根据权利要求8所述的方法,其中,所述在推送异常时,对所述待推送消息按照相应的异常处理策略进行处理,包括如下至少一种:
在检测到所述待推送消息对应的服务异常时,则与所述服务重新建立连接,获取所述服务对应的待推送消息并向对应的目标边缘网关推送;
在检测到所述待推送消息对应的用户异常时,基于预设的用户异常处理策略,对所述待推送消息进行相应处理。
10.一种消息推送系统,其中,包括:
接收单元,适于接收待推送消息;
目标边缘网关确定单元,适于获取各边缘网关的健康度检测数据,并基于所述健康度检测数据,选取出健康度满足预设要求的边缘网关,作为目标边缘网关;
推送单元,适于将所述待推送消息向所述目标边缘网关推送。
11.根据权利要求10所述的系统,其中,还包括:
调度筛选单元,适于对待推送消息按照预设的调度筛选条件进行筛选,将筛选出的满足预设的调度筛选条件的消息作为当前待推送消息。
12.根据权利要求10或11所述的系统,其中,还包括:
异常推送处理单元,适于在推送异常时,对所述待推送消息按照相应的异常处理策略进行处理。
13.一种服务网关,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其中,所述处理器运行所述计算机程序时执行权利要求1至9任一项所述的方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序运行时执行权利要求1至9任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211066319.5A CN115499501A (zh) | 2022-09-01 | 2022-09-01 | 消息推送方法、系统、服务网关及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211066319.5A CN115499501A (zh) | 2022-09-01 | 2022-09-01 | 消息推送方法、系统、服务网关及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115499501A true CN115499501A (zh) | 2022-12-20 |
Family
ID=84469138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211066319.5A Pending CN115499501A (zh) | 2022-09-01 | 2022-09-01 | 消息推送方法、系统、服务网关及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115499501A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116095164A (zh) * | 2023-01-06 | 2023-05-09 | 东方合智数据科技(广东)有限责任公司 | 基于通信协议的设备连接入网方法、设备及存储介质 |
-
2022
- 2022-09-01 CN CN202211066319.5A patent/CN115499501A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116095164A (zh) * | 2023-01-06 | 2023-05-09 | 东方合智数据科技(广东)有限责任公司 | 基于通信协议的设备连接入网方法、设备及存储介质 |
CN116095164B (zh) * | 2023-01-06 | 2023-12-12 | 东方合智数据科技(广东)有限责任公司 | 基于通信协议的设备连接入网方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3637733A1 (en) | Load balancing engine, client, distributed computing system, and load balancing method | |
US11106479B2 (en) | Virtual provisioning with implementation resource boundary awareness | |
US10013662B2 (en) | Virtual resource cost tracking with dedicated implementation resources | |
WO2018072687A1 (zh) | 一种资源调度的方法、装置和过滤式调度器 | |
CN111459750A (zh) | 基于非扁平网络的私有云监控方法、装置、计算机设备及存储介质 | |
US20190068752A1 (en) | Server request management | |
CN111221793B (zh) | 数据挖掘方法、平台、计算机设备及存储介质 | |
CN107317764B (zh) | 流量负载均衡方法、系统、装置和计算机可读存储介质 | |
CN113742031A (zh) | 节点状态信息获取方法、装置、电子设备及可读存储介质 | |
CN110351366A (zh) | 一种互联网应用的服务调度方法、系统及计算机可读存储介质 | |
CN111200606A (zh) | 深度学习模型任务处理方法、系统、服务器及存储介质 | |
CN115499501A (zh) | 消息推送方法、系统、服务网关及存储介质 | |
CN112783672A (zh) | 一种远程过程调用处理方法及系统 | |
CN112953769B (zh) | 数据传输方法、装置、计算机系统及可读存储介质 | |
CN113254274A (zh) | 消息处理方法、装置、存储介质以及服务器 | |
CN112994934B (zh) | 数据交互方法、装置及系统 | |
US20050265362A1 (en) | Message relay program and message relay device | |
CN111556043B (zh) | 一种报文处理方法、装置、系统、设备及可读存储介质 | |
CN113794755A (zh) | 基于微服务架构的共享服务推送方法及系统 | |
CN116016644A (zh) | 业务请求处理方法、网络设备及计算机可读存储介质 | |
US11362890B2 (en) | System management device, system management method, program, and information processing system | |
CN112769960A (zh) | 一种基于Nginx服务器的主动流量控制方法及系统 | |
US11777878B1 (en) | Message routing based on unavailability | |
CN112511277B (zh) | 数据处理方法及装置 | |
CN113778504B (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 |