CN114641033B - 5g消息推送速度控制方法、装置、设备及介质 - Google Patents

5g消息推送速度控制方法、装置、设备及介质 Download PDF

Info

Publication number
CN114641033B
CN114641033B CN202210495875.8A CN202210495875A CN114641033B CN 114641033 B CN114641033 B CN 114641033B CN 202210495875 A CN202210495875 A CN 202210495875A CN 114641033 B CN114641033 B CN 114641033B
Authority
CN
China
Prior art keywords
speed control
token bucket
speed
channel
control center
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
Application number
CN202210495875.8A
Other languages
English (en)
Other versions
CN114641033A (zh
Inventor
高比布
赵鸿
曾斯生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Dahan Tricom Communication Co ltd
Original Assignee
Shanghai Dahan Tricom Communication Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Dahan Tricom Communication Co ltd filed Critical Shanghai Dahan Tricom Communication Co ltd
Priority to CN202210495875.8A priority Critical patent/CN114641033B/zh
Publication of CN114641033A publication Critical patent/CN114641033A/zh
Application granted granted Critical
Publication of CN114641033B publication Critical patent/CN114641033B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0273Traffic management, e.g. flow control or congestion control adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种5G消息推送速度控制方法、装置、设备及介质,应用于推送系统,其中,推送系统位于5G消息平台;并且,5G消息平台中包括若干数量个推送系统,包括:向速度控制中心系统发起针对目标通道速度策略的注册请求,并在注册成功后生成相应的目标通道实例;获取速度控制中心系统发送的针对目标通道实例相应令牌桶的令牌桶参数;基于令牌桶参数获取相应的令牌数量,以便目标通道实例基于令牌数量推送5G消息。本申请通过5G消息平台中的推送系统注册速度控制中心系统的通道速度策略,并生成相应的通道实例共享该通道总速度以完成5G消息的推送,并且,通过令牌桶参数的设置能够限制流量,通过速度控制中心系统能够集中管理通道速度策略。

Description

5G消息推送速度控制方法、装置、设备及介质
技术领域
本发明涉及计算机技术领域,特别涉及一种5G消息推送速度控制方法、装置、设备及介质。
背景技术
随着5G时代的来临,5G消息平台需实现分布式、多任务、多进程推送5G消息到全国各省各通信运营商的5G消息网关,并最终送达至5G终端手机。每个运营商网关都会对企业侧的每一条通道进行限速,并且每个运营商的每条通道速度可能都不同。而5G消息平台需同时对接多个运营商通道,实现全国、全网(如移动、联通、电信)5G消息推送覆盖,其中,所有通道可能会同时推送各种5G消息,但是5G消息平台要保证每条通道的推送速度不大于其速度上限。
当前,主要通过Redis的集中式方案和1/n方案实现对分布式5G消息进行限流,前者中的令牌桶模型存储于Redis中,或者直接利用Redis的事件循环机制来实现计数。但该方案严重依赖Redis的机制和性能,所有速度执行服务模块需频繁和Redis通信,随着服务数量和规模不断变大,服务和Redis的通信成为瓶颈点;后者根据服务器台数直接分割速度,但该方案简单粗暴,直接将总速度按一定分割方法,分派给每台服务,缺乏对服务可用性检测、速度动态分配等功能,且难以适应当前微服务架构要求。
综上,如何实现5G消息推送过程中对推送速度进行控制是目前有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种5G消息推送速度控制方法、装置、设备及介质,能够实现5G消息推送过程中对推送速度进行控制。其具体方案如下:
第一方面,本申请公开了一种5G消息推送速度控制方法,应用于推送系统,其中,所述推送系统位于5G消息平台;并且,所述5G消息平台中包括若干数量个所述推送系统,包括:
向速度控制中心系统发起针对目标通道速度策略的注册请求,并在注册成功后生成相应的目标通道实例;
获取所述速度控制中心系统发送的针对所述目标通道实例相应令牌桶的令牌桶参数;
基于所述令牌桶参数获取相应的令牌数量,以便所述目标通道实例基于所述令牌数量推送5G消息。
可选的,所述向速度控制中心系统发起针对目标通道的速度策略的注册请求之前,还包括:
向速度控制中心系统发起建立TCP连接的连接请求;
若连接建立成功,则执行所述向速度控制中心系统发起针对目标通道的速度策略的注册请求的步骤;
若连接建立失败,则等待第一预设时间间隔后重新执行所述向速度控制中心系统发起建立TCP连接的连接请求的步骤。
可选的,所述5G消息推送速度控制方法,还包括:
若所述TCP连接建立成功,则初始化连接监测时间,并基于所述连接监测时间针对所述TCP连接是否处于传输数据状态进行监测;
若监测到所述TCP连接在第二预设时间间隔内未处于所述传输数据状态,则向所述速度控制中心系统发送心跳检测包;
在所述第一预设时间间隔内获取所述速度控制中心系统发送的针对所述心跳检测包的响应信息,并利用获取所述响应信息的时刻更新所述连接监测时间,以重新执行基于所述连接监测时间针对所述TCP连接是否处于传输数据状态进行监测的步骤。
可选的,所述在所述第一预设时间间隔内获取所述速度控制中心系统发送的针对所述心跳检测包的响应信息的过程中,还包括:
若在所述第一预设时间间隔内未获取到所述速度控制中心系统发送的针对所述心跳检测包的响应信息,则断开本次TCP连接,并重新执行所述向速度控制中心系统发起建立TCP连接的连接请求的步骤。
可选的,所述获取所述速度控制中心系统发送的针对所述目标通道实例相应令牌桶的令牌桶参数之前,还包括:
通过所述速度控制中心系统每隔第三预设时间间隔对所有通道速度策略进行遍历,并根据每个通道速度策略的总速度、每个所述推送系统的预设优先级计算出每个所述推送系统中通道实例的令牌桶参数;其中,所述令牌桶参数包括通道标识、令牌桶编号、令牌桶容量和令牌桶有效期。
可选的,所述基于所述令牌桶参数获取相应的令牌数量,包括:
从本地筛选出与所述通道标识和所述令牌桶编号对应的目标通道实例中的目标令牌桶,并利用所述令牌桶参数中的所述令牌桶容量和所述令牌桶有效期对所述目标令牌桶的相应参数信息进行更新,以获取相应的令牌数量。
可选的,所述从本地筛选出与所述通道标识和所述令牌桶编号对应的目标通道实例中的目标令牌桶的过程中,还包括:
若从本地未筛选出与所述通道标识和所述令牌桶编号对应的目标通道实例中的目标令牌桶,则新建初始令牌桶,并获取相应的令牌数量。
可选的,所述通过所述速度控制中心系统每隔第三预设时间间隔对所有通道速度策略进行遍历的过程之前,还包括:
若通过所述速度控制中心系统在第四预设间隔时间内未接收到所述心跳检测包,则断开本次TCP连接,并移除相应的通道速度策略;
若通过所述速度控制中心系统获取到其余所述推送系统发起的新注册请求,则在当前所有通道速度策略加入所述新注册请求对应的通道速度策略。
第二方面,本申请公开了一种5G消息推送速度控制装置,应用于推送系统,其中,所述推送系统位于5G消息平台;并且,所述5G消息平台中包括若干数量个所述推送系统,包括:
请求注册模块,用于向速度控制中心系统发起针对目标通道速度策略的注册请求,并在注册成功后生成相应的目标通道实例;
参数获取模块,用于获取所述速度控制中心系统发送的针对所述目标通道实例相应令牌桶的令牌桶参数;
消息推送模块,用于基于所述令牌桶参数获取相应的令牌数量,以便所述目标通道实例基于所述令牌数量推送5G消息。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的5G消息推送速度控制方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的5G消息推送速度控制方法的步骤。
可见,本申请首先向速度控制中心系统发起针对目标通道速度策略的注册请求,并在注册成功后生成相应的目标通道实例;然后获取所述速度控制中心系统发送的针对所述目标通道实例相应令牌桶的令牌桶参数;最后基于所述令牌桶参数获取相应的令牌数量,以便所述目标通道实例基于所述令牌数量推送5G消息。由此可见,本申请通过5G消息平台中的推送系统向速度控制中心发起注册目标通道速度策略的注册请求,以完成目标通道速度策略的注册,并生成相应的通道实例共享该通道总速度以完成5G消息的推送,实现5G消息推送过程中对推送速度进行控制。其中,在推送5G消息前,需要根据获取到的令牌桶参数以获取相应的令牌数量,通过这种方式可以保证推送速度小于等于令牌生成的速度,以达到限制流量的目的,通过速度控制中心系统能够集中管理所有通道速度策略,并分配令牌桶参数。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的5G消息推送速度控制方案所适用的系统框架示意图;
图2为本申请公开的一种5G消息推送速度控制方法流程图;
图3为本申请公开的一种TCP连接建立和发送注册请求流程图;
图4为本申请公开的一种具体的速度控制中心系统与推送系统之间的通信过程图;
图5为本申请公开的一种传输数据状态监测流程图;
图6为本申请公开的一种心跳检测流程图;
图7为本申请公开的一种具体的5G消息推送速度控制方法流程图;
图8为本申请公开的一种令牌桶参数推送流程图;
图9为本申请公开的一种5G消息推送速度控制装置结构示意图;
图10为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,在实现5G消息推送的过程中,所有通道可能会同时推送各种5G消息,但是5G消息平台要保证每条通道的推送速度不大于其速度上限。为此,本申请实施例公开了一种5G消息推送速度控制方法、装置、设备及介质,能够实现5G消息推送过程中对推送速度进行控制。
本申请的5G消息推送速度控制方案中,采用的速度控制系统框架可以参见图1所示,具体可以包括速度控制中心系统01、5G消息平台02和运营商5G消息网关03。
其中,速度控制中心系统01用于通道速度策略的管理(通道速度策略的增、删、改、查等);通道速度策略配置(注册到同一个通道速度策略的5G消息平台推送系统通道实例,共享该策略总速度,单位为条/每秒);令牌桶有效期设置;通道实例管理,如推送系统注册信息管理,各策略里注册的所有推送系统通道实例当前状态、心跳状态、分配的令牌桶信息等管理;以一定频率遍历所有通道速度策略,为每个策略中所有活跃通道实例动态计算并分配令牌桶参数(每秒令牌容量,令牌桶有效期),并推送到对应推送系统。
5G消息平台02中包括若干数量个推送系统,其中的推送系统用于执行5G消息推送速度控制方法步骤,包括向速度控制中心系统发起针对目标通道速度策略的注册请求,并在注册成功后生成相应的目标通道实例;获取所述速度控制中心系统发送的针对所述目标通道实例相应令牌桶的令牌桶参数;基于所述令牌桶参数获取相应的令牌数量,以便所述目标通道实例基于所述令牌数量推送5G消息。进一步的,推送系统还可以用于建立通道实例,将5G消息推送到运营商网关的分布式通信系统;访问控制中心系统并注册参与对应的通道速度策略;定期主动和控制中心系统保持心跳;接收并更新本地通道令牌桶参数,在有效期内,根据令牌桶参数以一定频率往本地令牌桶里放置令牌;各通道实例的消息推送多线程,抢到令牌则执行推送,令牌桶空则阻塞等待。运营商5G消息网关03中包括各运营商(移动、联通、电信)内部开放给消息服务商或者企业侧的5G消息通信网元。
在一种具体实施例中,假设速度控制中心系统中的通道速度策略为3,分别为通道1速度策略、通道2速度策略和通道3速度策略,5G消息平台中则包含3条消息推送通道;假设推送系统数量为3台,分别为推送子系统A、推送子系统B、推送子系统C,那么每台推送子系统可包含最大3条通道实例,即每台推送子系统都可能建立了所有通道的实例,即整个装置中可能包括最大3×3个通道推送实例。推送子系统A访问速度控制中心系统,注册参与通道1和通道2的速度策略,本地会建立通道1和通道2的实例;推送子系统B访问速度控制中心系统,注册参与通道1和通道3的速度策略,本地会建立通道1和通道3的实例;推送子系统C访问速度控制中心系统,注册参与通道2和通道3的速度策略,本地会建立通道2和通道3的实例。推送子系统A的通道1实例和推送子系统B中的通道1实例共享通道1速度策略的总速度;推送子系统A中的通道2实例和推送子系统C中的通道2实例共享通道2速度策略的总速度;推送子系统B中的通道3实例和推送子系统C中的通道3实例共享通道3速度策略的总速度。
参见图2所示,本申请实施例公开了一种5G消息推送速度控制方法,应用于推送系统,其中,所述推送系统位于5G消息平台;并且,所述5G消息平台中包括若干数量个所述推送系统,包括:
步骤S11:向速度控制中心系统发起针对目标通道速度策略的注册请求,并在注册成功后生成相应的目标通道实例。
本实施例中,参见图3所示,上述向速度控制中心系统发起针对目标通道的速度策略的注册请求之前,还包括:向速度控制中心系统发起建立TCP连接的连接请求;若连接建立成功,则执行所述向速度控制中心系统发起针对目标通道的速度策略的注册请求的步骤;若连接建立失败,则等待第一预设时间间隔后重新执行所述向速度控制中心系统发起建立TCP连接的连接请求的步骤。可以理解的是,在向速度控制中心系统发起注册请求之前,推送系统还需要与速度控制中心系统建立TCP连接,只有连接建立成功后才能向控制中心发起注册请求,而当连接建立失败时,则需等待第一预设时间间隔后重新向速度控制中心系统发起建立TCP连接的连接请求,直到连接建立成功。并且,当注册失败后,也需断开本次TCP连接,并等待第一预设时间间隔后重新向速度控制中心系统发起建立TCP连接的连接请求。需要指出的是,上述第一预设时间间隔可以设为5秒;并且注册请求参数包括:推送系统ID、推送系统key、申请注册的通道速度策略list(通道标识、本推送系统的预设优先级)。
步骤S12:获取所述速度控制中心系统发送的针对所述目标通道实例相应令牌桶的令牌桶参数。
本实施例中,当注册成功后,则接收速度控制中心系统发送的令牌桶参数,该令牌桶参数与本地生成的目标通道实例相对应。
步骤S13:基于所述令牌桶参数获取相应的令牌数量,以便所述目标通道实例基于所述令牌数量推送5G消息。
本实施例中,基于令牌桶参数获取相应的令牌数量,并从令牌桶中取出相应数量个令牌以便目标通道实例完成5G消息的推送。可以理解的是,令牌桶可以看作是一个存放令牌的容器,预先设定一定的容量。系统按设定的速度向桶中放置令牌,当桶中令牌满时,多余的令牌溢出。令牌桶是目前最常采用的一种流量测量方法,用来评估流量速率是否超过了规定值。5G消息平台在推送消息前,从令牌桶中取出所需的令牌数量,如果牌桶中的令牌数量不够,则请求会被阻塞直到新令牌出现。这就可以保证推送速度只能小于等于令牌生成的速度,达到限制流量的目的。
可见,本申请首先向速度控制中心系统发起针对目标通道速度策略的注册请求,并在注册成功后生成相应的目标通道实例;然后获取所述速度控制中心系统发送的针对所述目标通道实例相应令牌桶的令牌桶参数;最后基于所述令牌桶参数获取相应的令牌数量,以便所述目标通道实例基于所述令牌数量推送5G消息。由此可见,本申请通过5G消息平台中的推送系统向速度控制中心发起注册目标通道速度策略的注册请求,以完成目标通道速度策略的注册,并生成相应的通道实例共享该通道总速度以完成5G消息的推送,实现5G消息推送过程中对推送速度进行控制。其中,在推送5G消息前,需要根据获取到的令牌桶参数以获取相应的令牌数量,通过这种方式可以保证推送速度小于等于令牌生成的速度,以达到限制流量的目的,通过速度控制中心系统能够集中管理所有通道速度策略,并分配令牌桶参数。
参见图4所示,本申请实施例公开了一种具体的速度控制中心系统与推送系统之间的通信过程图,双方以客户-服务器方式建立一个TCP连接,由推送系统充当客户端,速度控制中心为服务端,以用于双方注册通道、心跳保持、推送令牌桶的信息交互。需要指出的是,当TCP信道上没有数据传输时,客户端每隔时间C发送心跳检测包以维持此信道,服务端收到心跳包后立即响应。当心跳检测包发出超过时间T后未收到响应,则断开此连接,重新发起连接。其中,参数C、T可配置,本实施例中将初始取值为:C=30秒,T=5秒。具体的,参见图5和图6所示,本实施例还可以进一步包括:
步骤S21:若所述TCP连接建立成功,则初始化连接监测时间,并基于所述连接监测时间针对所述TCP连接是否处于传输数据状态进行监测。
本实施例中,当TCP连接建立成功之后,则初始化连接检测时间,并监测当前TCP连接是否处于传输数据状态,也即判断当前TCP信道上是否在进行数据传输。
步骤S22:若监测到所述TCP连接在第二预设时间间隔内未处于所述传输数据状态,则向所述速度控制中心系统发送心跳检测包。
本实施例中,若监测到推送系统和速度控制中心系统之间的TCP连接在第二预设时间间隔内都没有进行数据传输,则向速度控制中心系统发送心跳检测包。可以理解的是,若推送系统和速度控制中心系统之间的TCP连接上长时间内都未发生数据传输,则相当于每隔第二预设时间间隔向速度控制中心系统发送心跳检测包。需要指出的是,上述第二预设时间为C=30秒,并且,心跳检测包中还可以包括推送系统ID和推送系统key。
步骤S23:在所述第一预设时间间隔内获取所述速度控制中心系统发送的针对所述心跳检测包的响应信息,并利用获取所述响应信息的时刻更新所述连接监测时间,以重新执行基于所述连接监测时间针对所述TCP连接是否处于传输数据状态进行监测的步骤。
本实施例中,若在第一预设时间间隔T=5秒内获取到速度控制中心系统发送的针对所述心跳检测包的响应信息,则更新链路状态,利用获取响应信息的时刻更新连接监测时间,也即重置连接监测时间为当前时间,并结束本轮心跳,以重新执行基于所述连接监测时间针对所述TCP连接是否处于传输数据状态进行监测的步骤。需要指出的是,上述响应信息中还可以包括推送系统ID和推送系统key。
上述在所述第一预设时间间隔内获取所述速度控制中心系统发送的针对所述心跳检测包的响应信息的过程中,还包括:若在所述第一预设时间间隔内未获取到所述速度控制中心系统发送的针对所述心跳检测包的响应信息,则断开本次TCP连接,并重新执行所述向速度控制中心系统发起建立TCP连接的连接请求的步骤。可以理解的是,若在第一预设时间间隔T=5秒内未获取到速度控制中心系统发送的针对心跳检测包的响应信息,例如,当连接发送超时、请求连接异常等情况下,5秒内无法接收到响应信息,则需断开当前的TCP连接,并重新发起新的TCP连接,也即重新执行所述向速度控制中心系统发起建立TCP连接的连接请求的步骤。
可见,本申请实施例中,若所述TCP连接建立成功,则初始化连接监测时间,并基于所述连接监测时间针对所述TCP连接是否处于传输数据状态进行监测;若监测到所述TCP连接在第二预设时间间隔内未处于所述传输数据状态,则向所述速度控制中心系统发送心跳检测包;在所述第一预设时间间隔内获取所述速度控制中心系统发送的针对所述心跳检测包的响应信息,并利用获取所述响应信息的时刻更新所述连接监测时间,以重新执行基于所述连接监测时间针对所述TCP连接是否处于传输数据状态进行监测的步骤。通过上述技术方案能够监测TCP连接是否正常,并在连接异常后,重新向速度控制中心系统发起建立新的TCP连接的连接请求。
参见图7所示,本申请实施例公开了一种具体的5G消息推送速度控制方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体包括:
步骤S31:向速度控制中心系统发起针对目标通道速度策略的注册请求,并在注册成功后生成相应的目标通道实例。
步骤S32:通过所述速度控制中心系统每隔第三预设时间间隔对所有通道速度策略进行遍历,并根据每个通道速度策略的总速度、每个所述推送系统的预设优先级计算出每个所述推送系统中通道实例的令牌桶参数;其中,所述令牌桶参数包括通道标识、令牌桶编号、令牌桶容量和令牌桶有效期。
本实施例中,参见图8所示,速度控制中心系统需要取出当前所有通道速度策略数据,按照第三预设时间间隔对每个通道速度策略进行遍历,主要是根据每个通道速度策略的总速度、每个所述推送系统的预设优先级等参数计算出每个所述推送系统中通道实例的令牌桶参数,并将令牌桶参数推送到相应的推送系统中的通道实例中。在推送成功后,通过异步线程等待5秒,以及判断令牌桶是否在有效期内,如果推送系统中某个通道实例的令牌桶有效期失效,即由于某些异常导致新的令牌桶参数没有送达,则停止该通道实例推送5G消息,并重新向速度控制中心系统发起注册请求,注册成功后,等待接收控制中心分配新的令牌桶,然后恢复推送。上述令牌桶参数中可以包括但不限于通道标识、令牌桶编号、令牌桶容量和令牌桶有效期,可以理解的是,高优先级的推送系统,其令牌桶容量会更多。需要指出的是,上述第三预设时间间隔可以配置,但需小于令牌桶有效期,本实施例中,将第三预设时间间隔设置为30分钟。
需要注意的是,上述通过所述速度控制中心系统每隔第三预设时间间隔对所有通道速度策略进行遍历的过程之前,还包括:若通过所述速度控制中心系统在第四预设间隔时间内未接收到所述心跳检测包,则断开本次TCP连接,并移除相应的通道速度策略;若通过所述速度控制中心系统获取到其余所述推送系统发起的新注册请求,则在当前所有通道速度策略加入所述新注册请求对应的通道速度策略。也即,若某台推送系统发送链路断开,那么速度控制中心系统超过第四预设时间间隔都未接收到某台推送系统发送的心跳检测包,则断开与该推送系统的TCP连接,并在通道速度策略中移除该推送系统的注册信息,也即移除该推送系统通道实例参与的所有通道速度策略,再重新遍历和计算通道速度策略;若速度控制中心系统接收到区域推送系统发起的新注册请求,则在当前所有通道速度策略加入新注册请求对应的通道速度策略。需要指出的是,上述第四预设时间间隔可以设置为2*C,即60秒。
上述每个推送系统的通道令牌桶参数中,令牌桶有效期可以通过人工配置获得,而令牌桶容量(TPC,每秒生成的令牌数)则需要经过计算获得。针对某条通道的令牌桶容量,计算所需参数包括:通道策略总速度ST(条每秒)、当前活跃的推送系统数量N、各通道预设优先级PS、各推送系统稳定性W(推送系统稳定性参数,稳定性越高的推送系统,在同等优先级下、分到的推送速度越大)、通道实际优先级AP。
如果一个通道速度策略中N>ST,说明总速度值小于注册的推送系统数量,每条通道分配的速度小于1条每秒,不符合常规,这种情况下,保证每条通道能被分配到1条每秒的速度,则随机选出ST个推送系统,令N=ST,多余的推送系统不纳入推送,不参与计算令牌桶。这样保证每个被选中的推送系统,获得的令牌桶容量为最小值1。
推送系统i稳定性W i 的计算方法为:Wi∈(0,1],不包括0,初始值为0.1,最大值1。当推送系统i每次发起注册成功时,设置初始值,即W i =0.1,之后每隔时间C后W i +=0.1,直到W i =1后不再增加。推送系统i中通道j的实际优先级AP计算方法:AP ij =PS ij *W i 。其中预设优先级PS ij 在推送系统中人工预先配置,代表在推送系统i中通道j的预设优先级。
则推送系统i中通道j的令牌桶容量TCP ij 的计算公式为:
Figure 981320DEST_PATH_IMAGE001
经过简化可以得到:
Figure 632881DEST_PATH_IMAGE002
公式中
Figure 756826DEST_PATH_IMAGE003
代表一个通道速度策略j中所有推送系统实际优先级之和, AP ij 分子代表当前推送系统i中通道j的实际优先级,两者相除后代表当在该速度策略中,当前推送系统的优先级占比,即可获得通道总速度的占比。ST j 代表通道速度策略j的总速度。
步骤S33:获取所述速度控制中心系统发送的针对所述目标通道实例相应令牌桶的令牌桶参数。
步骤S34:从本地筛选出与所述通道标识和所述令牌桶编号对应的目标通道实例中的目标令牌桶,并利用所述令牌桶参数中的所述令牌桶容量和所述令牌桶有效期对所述目标令牌桶的相应参数信息进行更新,以获取相应的令牌数量,以便所述目标通道实例基于所述令牌数量推送5G消息。
本实施例中,如果接收到本地已存在的通道实例令牌桶参数,则利用令牌桶参数中的通道标识和令牌桶编号从本地筛选出对应的目标令牌桶,并利用令牌桶参数中的令牌桶容量和令牌桶有效期对目标令牌桶的相应参数信息进行更新。上述从本地筛选出与所述通道标识和所述令牌桶编号对应的目标通道实例中的目标令牌桶的过程中,还包括:若从本地未筛选出与所述通道标识和所述令牌桶编号对应的目标通道实例中的目标令牌桶,则新建初始令牌桶,并获取相应的令牌数量。可以理解的是,如果是初次接收某条通道实例令牌桶参数,这无法从本地筛选出与通道标识和令牌桶编号对应的目标通道实例中的目标令牌桶,则新建一个本地令牌桶实例,启动对应通道实例推送线程,按令牌桶规则获取令牌,推送5G消息。
需要指出的是,推送系统接收到从速度控制中心系统推送过来的某通道实例令牌桶参数后,在利用令牌桶容量和令牌桶有效期获取相应的令牌数量时,为了能在更小的毫秒级频率下放置令牌,使通道实例每秒发送5G消息的速度相对均匀地分布在一秒钟的时长内,需将放置令牌的频率做变频处理,从秒变成毫秒。假设本地获得的令牌桶容量为P个/秒,即保证每秒将P个令牌放置到令牌桶中,使推送系统能控制通道以最大P条每秒速度发送消息;设变频后的频率为T毫秒(可配置),0<T<=1000,且1000modT=0,即T能被1000毫秒整除。变频后,按间隔频率=T毫秒放置数量=Q个令牌到通道令牌桶,保证“每T毫秒放置Q个令牌”和原始“每秒放置P个令牌”时效等价,变频计算需通过P求出T和Q的值,计算步骤如下:
设期望频率变频为A毫秒,0<A<1000,且1000modA=0;然后求取P和1000(毫秒)的公约数集合:B={P和1000的公约数},数量为N;再获取一个最优公约数B i ,(i∈N),使得T(1000/Bi)的值最接近或者等于期望A,即从公约数集合B中找到B i ,使得Min((A–1000/B i )2),(i∈N);最后求得Q=P/Bi。例如,假设P=400,A=200,则按照上述方案得到最优公约数B i =5,那么Q=400/5=80,则可以得到每200ms放置80个令牌,这与每1000ms放置400个令牌等价。
其中,关于上述步骤S31和S33更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例中,速度控制中心系统在向推送系统发送令牌桶参数之前,需要通过所述速度控制中心系统每隔第三预设时间间隔对所有通道速度策略进行遍历,并根据每个通道速度策略的总速度、每个推送系统的预设优先级计算出每个推送系统中通道实例的令牌桶参数;其中,令牌桶参数包括通道标识、令牌桶编号、令牌桶容量和令牌桶有效期。并且,当推送系统收到令牌桶参数后,需要判断本地是否有与通道标识和令牌桶编号对应的目标通道实例中的目标令牌桶,若有,则利用令牌桶参数中的令牌桶容量和令牌桶有效期对目标令牌桶的相应参数信息进行更新;若没有,则需在本地新建初始令牌桶,并获取相应的令牌数量。
参见图9所示,本申请实施例公开了一种5G消息推送速度控制装置,应用于推送系统,其中,所述推送系统位于5G消息平台;并且,所述5G消息平台中包括若干数量个所述推送系统,包括:
请求注册模块11,用于向速度控制中心系统发起针对目标通道速度策略的注册请求,并在注册成功后生成相应的目标通道实例;
参数获取模块12,用于获取所述速度控制中心系统发送的针对所述目标通道实例相应令牌桶的令牌桶参数;
消息推送模块13,用于基于所述令牌桶参数获取相应的令牌数量,以便所述目标通道实例基于所述令牌数量推送5G消息。
可见,本申请首先向速度控制中心系统发起针对目标通道速度策略的注册请求,并在注册成功后生成相应的目标通道实例;然后获取所述速度控制中心系统发送的针对所述目标通道实例相应令牌桶的令牌桶参数;最后基于所述令牌桶参数获取相应的令牌数量,以便所述目标通道实例基于所述令牌数量推送5G消息。由此可见,本申请通过5G消息平台中的推送系统向速度控制中心发起注册目标通道速度策略的注册请求,以完成目标通道速度策略的注册,并生成相应的通道实例共享该通道总速度以完成5G消息的推送,实现5G消息推送过程中对推送速度进行控制。其中,在推送5G消息前,需要根据获取到的令牌桶参数以获取相应的令牌数量,通过这种方式可以保证推送速度小于等于令牌生成的速度,以达到限制流量的目的,通过速度控制中心系统能够集中管理所有通道速度策略,并分配令牌桶参数。
图10为本申请实施例提供的一种电子设备的结构示意图。具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由计算机设备执行的5G消息推送速度控制方法中的相关步骤。
本实施例中,电源23用于为计算机设备20上的各硬件设备提供工作电压;通信接口24能够为计算机设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制计算机设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由计算机设备20执行的5G消息推送速度控制方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括计算机设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的由5G消息推送速度控制过程中执行的方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种5G消息推送速度控制方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (11)

1.一种5G消息推送速度控制方法,其特征在于,应用于推送系统,其中,所述推送系统位于5G消息平台;并且,所述5G消息平台中包括若干数量个所述推送系统,包括:
向速度控制中心系统发起针对目标通道速度策略的注册请求,并在注册成功后生成相应的目标通道实例;
获取所述速度控制中心系统发送的针对所述目标通道实例相应令牌桶的令牌桶参数;
基于所述令牌桶参数获取相应的令牌数量,以便所述目标通道实例基于所述令牌数量推送5G消息。
2.根据权利要求1所述的5G消息推送速度控制方法,其特征在于,所述向速度控制中心系统发起针对目标通道的速度策略的注册请求之前,还包括:
向速度控制中心系统发起建立TCP连接的连接请求;
若连接建立成功,则执行所述向速度控制中心系统发起针对目标通道的速度策略的注册请求的步骤;
若连接建立失败,则等待第一预设时间间隔后重新执行所述向速度控制中心系统发起建立TCP连接的连接请求的步骤。
3.根据权利要求2所述的5G消息推送速度控制方法,其特征在于,还包括:
若所述TCP连接建立成功,则初始化连接监测时间,并基于所述连接监测时间针对所述TCP连接是否处于传输数据状态进行监测;
若监测到所述TCP连接在第二预设时间间隔内未处于所述传输数据状态,则向所述速度控制中心系统发送心跳检测包;
在所述第一预设时间间隔内获取所述速度控制中心系统发送的针对所述心跳检测包的响应信息,并利用获取所述响应信息的时刻更新所述连接监测时间,以重新执行基于所述连接监测时间针对所述TCP连接是否处于传输数据状态进行监测的步骤。
4.根据权利要求3所述的5G消息推送速度控制方法,其特征在于,所述在所述第一预设时间间隔内获取所述速度控制中心系统发送的针对所述心跳检测包的响应信息的过程中,还包括:
若在所述第一预设时间间隔内未获取到所述速度控制中心系统发送的针对所述心跳检测包的响应信息,则断开本次TCP连接,并重新执行所述向速度控制中心系统发起建立TCP连接的连接请求的步骤。
5.根据权利要求4所述的5G消息推送速度控制方法,其特征在于,所述获取所述速度控制中心系统发送的针对所述目标通道实例相应令牌桶的令牌桶参数之前,还包括:
通过所述速度控制中心系统每隔第三预设时间间隔对所有通道速度策略进行遍历,并根据每个通道速度策略的总速度、每个所述推送系统的预设优先级计算出每个所述推送系统中通道实例的令牌桶参数;其中,所述令牌桶参数包括通道标识、令牌桶编号、令牌桶容量和令牌桶有效期。
6.根据权利要求5所述的5G消息推送速度控制方法,其特征在于,所述基于所述令牌桶参数获取相应的令牌数量,包括:
从本地筛选出与所述通道标识和所述令牌桶编号对应的目标通道实例中的目标令牌桶,并利用所述令牌桶参数中的所述令牌桶容量和所述令牌桶有效期对所述目标令牌桶的相应参数信息进行更新,以获取相应的令牌数量。
7.根据权利要求6所述的5G消息推送速度控制方法,其特征在于,所述从本地筛选出与所述通道标识和所述令牌桶编号对应的目标通道实例中的目标令牌桶的过程中,还包括:
若从本地未筛选出与所述通道标识和所述令牌桶编号对应的目标通道实例中的目标令牌桶,则新建初始令牌桶,并获取相应的令牌数量。
8.根据权利要求5所述的5G消息推送速度控制方法,其特征在于,所述通过所述速度控制中心系统每隔第三预设时间间隔对所有通道速度策略进行遍历的过程之前,还包括:
若通过所述速度控制中心系统在第四预设间隔时间内未接收到所述心跳检测包,则断开本次TCP连接,并移除相应的通道速度策略;
若通过所述速度控制中心系统获取到其余所述推送系统发起的新注册请求,则在当前所有通道速度策略加入所述新注册请求对应的通道速度策略。
9.一种5G消息推送速度控制装置,其特征在于,应用于推送系统,其中,所述推送系统位于5G消息平台;并且,所述5G消息平台中包括若干数量个所述推送系统,包括:
请求注册模块,用于向速度控制中心系统发起针对目标通道速度策略的注册请求,并在注册成功后生成相应的目标通道实例;
参数获取模块,用于获取所述速度控制中心系统发送的针对所述目标通道实例相应令牌桶的令牌桶参数;
消息推送模块,用于基于所述令牌桶参数获取相应的令牌数量,以便所述目标通道实例基于所述令牌数量推送5G消息。
10.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至8任一项所述的5G消息推送速度控制方法的步骤。
11.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的5G消息推送速度控制方法的步骤。
CN202210495875.8A 2022-05-09 2022-05-09 5g消息推送速度控制方法、装置、设备及介质 Active CN114641033B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210495875.8A CN114641033B (zh) 2022-05-09 2022-05-09 5g消息推送速度控制方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210495875.8A CN114641033B (zh) 2022-05-09 2022-05-09 5g消息推送速度控制方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN114641033A CN114641033A (zh) 2022-06-17
CN114641033B true CN114641033B (zh) 2022-08-30

Family

ID=81952913

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210495875.8A Active CN114641033B (zh) 2022-05-09 2022-05-09 5g消息推送速度控制方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN114641033B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104980367A (zh) * 2014-04-03 2015-10-14 深圳市中兴微电子技术有限公司 一种令牌桶限速方法和装置
CN108418766A (zh) * 2018-03-05 2018-08-17 京信通信系统(中国)有限公司 带宽控制方法、装置和系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102487322B (zh) * 2010-12-03 2015-10-14 腾讯科技(深圳)有限公司 实现动态口令认证的注册方法、装置和系统
US8407776B2 (en) * 2011-02-11 2013-03-26 Good Technology Corporation Method, apparatus and system for provisioning a push notification session
CN102148830B (zh) * 2011-03-31 2014-03-26 杭州华三通信技术有限公司 控制认证服务器流量的方法及认证接入设备
US9178827B2 (en) * 2013-08-05 2015-11-03 Globalfoundries U.S. 2 Llc Rate control by token buckets
CN107395670A (zh) * 2017-06-08 2017-11-24 百度在线网络技术(北京)有限公司 消息推送方法、装置、设备及计算机可读存储介质
CN110138677A (zh) * 2019-05-15 2019-08-16 极智(上海)企业管理咨询有限公司 请求流量控制方法、系统、终端及介质
CN113783703B (zh) * 2021-11-10 2022-02-25 清华大学 一种卫星网络终端安全接入认证方法、装置及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104980367A (zh) * 2014-04-03 2015-10-14 深圳市中兴微电子技术有限公司 一种令牌桶限速方法和装置
CN108418766A (zh) * 2018-03-05 2018-08-17 京信通信系统(中国)有限公司 带宽控制方法、装置和系统

Also Published As

Publication number Publication date
CN114641033A (zh) 2022-06-17

Similar Documents

Publication Publication Date Title
EP3648401B1 (en) Method, device, and computer readable storage medium for managing network slice
US10389801B2 (en) Service request processing method, related apparatus, and system
EP3547625B1 (en) Method and system for sending request for acquiring data resource
CN110519183B (zh) 一种节点限速的方法、装置、电子设备及存储介质
CN111338773A (zh) 一种分布式定时任务调度方法、调度系统及服务器集群
CN109428926B (zh) 一种调度任务节点的方法和装置
CN113238861A (zh) 一种任务执行方法和装置
CN114338063A (zh) 消息队列系统、业务处理方法及计算机可读存储介质
CN109947081B (zh) 网联车辆控制方法及装置
CN116418876A (zh) 一种算力网络服务的迁移方法、系统及云管理平台
CN112448987A (zh) 一种熔断降级的触发方法、系统和存储介质
CN114598484B (zh) 一种证书更新方法、装置、集群及存储介质
CN109413117B (zh) 分布式数据计算方法、装置、服务器及计算机存储介质
CN114641033B (zh) 5g消息推送速度控制方法、装置、设备及介质
CN107918877B (zh) 数据获取方法及装置
CN116455830A (zh) 实现存储网关高可用分布式qos的方法
CN116346728A (zh) 低代码平台限流方法及装置
CN113965538B (zh) 设备状态消息处理方法、装置及存储介质
CN115580618A (zh) 一种负载均衡方法、装置、设备及介质
CN115225645A (zh) 一种服务更新方法、装置、系统和存储介质
CN117914856A (zh) 一种请求处理方法、装置、存储介质及电子设备
CN112532450B (zh) 一种数据流分发进程配置的动态更新方法及系统
US11477044B2 (en) Device notification groupings
CN117520362B (zh) 一种基于分布式锁的数据管理系统、方法、设备及存储介质
CN117112185B (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