CN113395671A - 消息推送速率的调节方法、装置和服务器 - Google Patents

消息推送速率的调节方法、装置和服务器 Download PDF

Info

Publication number
CN113395671A
CN113395671A CN202110693153.9A CN202110693153A CN113395671A CN 113395671 A CN113395671 A CN 113395671A CN 202110693153 A CN202110693153 A CN 202110693153A CN 113395671 A CN113395671 A CN 113395671A
Authority
CN
China
Prior art keywords
time period
push
pushing
rate
network bandwidth
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.)
Granted
Application number
CN202110693153.9A
Other languages
English (en)
Other versions
CN113395671B (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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202110693153.9A priority Critical patent/CN113395671B/zh
Publication of CN113395671A publication Critical patent/CN113395671A/zh
Application granted granted Critical
Publication of CN113395671B publication Critical patent/CN113395671B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • 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/0231Traffic management, e.g. flow control or congestion control based on communication conditions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供一种消息推送速率的调节方法、装置和服务器,其中,该方法包括:获取服务器下发的待推送消息和待推送终端,根据待推送终端的数量和当前时间周期的预设推送速率,确定目标推送终端的数量,将待推送消息推送至各个目标推送终端,确定消息送达数量,根据目标推送终端对服务器反馈的推送访问请求,确定服务器的网络带宽占用变化,根据消息送达数量、网络带宽占用变化和预设推送速率,计算得到下一时间周期的推送速率,对预设推送速率进行更新。该技术方案中,能够自动准确的计算出下一时间周期的推送速率,对当前时间周期的推送速率进行自动的动态调整,能够有效的适应于多变的网络环境,提高推送速率的调节效果。

Description

消息推送速率的调节方法、装置和服务器
技术领域
本申请涉及消息推送技术领域,尤其涉及一种消息推送速率的调节方法、装置和服务器。
背景技术
移动终端上可以搭载有各种各样的应用程序(Application、APP),APP的业务人员可以通过业务方资源服务器向APP用户推送消息,例如可以大范围的向APP用户推送公告、生日祝福等,APP用户在打开APP并接收到推送消息之后,会通过消息中携带的地址,向业务方资源服务器发起访问,如此会出现大量用户同时访问业务方资源服务器的情况,增大业务方资源服务器的网络带宽压力,降低APP的服务能力。
现有技术中,为了避免大量用户同时访问,造成业务方资源服务器的网络带宽不足的问题,主要是按照消息对应业务类型的不同,将消息的推送速率设置为预设数值,避免大量的消息集中被推送至APP用户,实现限流限速。
但是,现有技术的这种方法需要人工监控网络带宽情况,并由人工手动设置推送速率的数值,人工手动设置的方式无法实时适应于多变的网络环境,推送速率的调节效果差。
发明内容
本申请提供一种消息推送速率的调节方法、装置和服务器,用于解决现有的推送速率调节效果差的问题。
第一方面,本申请实施例提供一种消息推送速率的调节方法,包括:
获取服务器下发的待推送消息和待推送终端,根据所述待推送终端的数量和当前时间周期的预设推送速率,确定目标推送终端的数量;
将所述待推送消息推送至各个目标推送终端,确定消息送达数量,所述消息送达数量用于指示读取所述待推送消息的目标推送终端的数量;
根据所述目标推送终端对所述服务器反馈的推送访问请求,确定所述服务器的网络带宽占用变化;
根据所述消息送达数量、网络带宽占用变化和预设推送速率,计算得到下一时间周期的推送速率,对所述预设推送速率进行更新。
在第一方面的一种可能设计中,所述根据所述待推送终端的数量和当前时间周期的预设推送速率,确定目标推送终端的数量,包括:
根据所述当前时间周期的预设推送速率,在当前时间周期生成相应数量的令牌;
将所述待推送终端的数量与所述当前时间周期生成的令牌的数量进行对比;
若所述待推送终端的数量大于所述当前时间周期生成的令牌的数量,则从所述待推送终端中选取出与所述令牌的数量对应数量的目标推送终端;
若所述待推送终端的数量不大于所述令牌的数量,则确定所述待推送终端作为所述目标推送终端。
在第一方面的另一种可能设计中,所述将所述待推送消息推送至各个目标推送终端,包括:
将所述待推送消息和目标推送终端封装至消息体,存入待推送消息队列;
获取与各个目标推送终端的连接状态,根据所述连接状态,将所述待推送消息队列的待推送消息推送至各个目标推送终端。
在第一方面的再一种可能设计中,所述根据所述连接状态,将所述待推送消息队列的待推送消息推送至各个目标推送终端,包括:
若与目标推送终端的连接状态为长连接,则将所述待推送消息推送至所述目标推送终端;
若与目标推送终端的连接状态为非长连接,则利用预设第三方服务,将消息通知推送至所述目标推送终端,所述消息通知用于指示所述目标推送终端从所述服务器拉取所述待推送消息。
在第一方面的又一种可能设计中,所述确定消息送达数量,包括:
获取将所述待推送消息推送至第一目标推送终端的数量和从服务器拉取得到待推送消息的第二目标推送终端的数量;
根据所述第一目标推送终端的数量和所述第二目标推送终端的数量,确定所述消息送达数量。
在第一方面的又一种可能设计中,所述根据所述消息送达数量、网络带宽占用变化和预设推送速率,计算得到下一时间周期的推送速率,包括:
根据所述网络带宽占用变化,确定下一时间周期的推送访问请求的最大网络带宽占用和下一时间周期的单笔推送访问请求的预期网络带宽占用;
根据所述消息送达数量,确定下一时间周期的预期转化率,所述预期转化率用于指示消息送达数量与待推送消息的推送量的比值;
根据所述下一时间周期的推送访问请求的最大网络带宽占用、下一时间周期的单笔推送访问请求的预期网络带宽占用、下一时间周期的预期转化率和所述预设推送速率,计算得到下一时间周期的推送速率。
在第一方面的又一种可能设计中,所述根据所述网络带宽占用变化,确定下一时间周期的推送访问请求的最大网络带宽占用,包括:
根据所述网络带宽占用变化,获取N个时间周期中各个时间周期的非推送访问请求的网络带宽占用率,N为大于1的正整数;
根据各个时间周期的非推送访问请求的网络带宽占用率,确定各个时间周期的非推送访问请求的网络带宽占用率变化值;
计算N个时间周期的非推送访问请求的网络带宽占用率变化值的平均值,作为下一时间周期的非推送访问请求的预期网络带宽占用率的变化量;
根据当前时间周期的非推送访问请求的网络带宽占用率和下一时间周期的非推送访问请求的预期网络带宽占用率的变化量,计算得到下一时间周期的非推送访问请求的预期网络带宽占用率;
根据所述服务器的网络带宽占用率上限阈值和下一个时间周期的非推送访问请求的预期网络带宽占用率,确定下一个时间周期的推送访问请求的最大占用带宽。
在第一方面的又一种可能设计中,所述确定下一时间周期的单笔推送访问请求的预期网络带宽占用,包括:
根据所述网络带宽占用变化,获取各个时间周期的所述推送访问请求的网络带宽占用率;
根据各个时间周期的所述推送访问请求的网络带宽占用率,确定各个时间周期的所述推送访问请求的网络带宽占用率变化值;
根据各个时间周期的所述推送访问请求的网络带宽占用率变化值和所述消息送达量,计算得到各个时间周期的单笔推送访问请求的预期网络带宽占用;
根据各个时间周期的单笔推送访问请求的预期网络带宽占用,计算得到N个时间周期的单笔推送访问请求的预期网络带宽占用的平均值,作为下一时间周期的单笔推送访问请求的预期网络带宽占用。
在第一方面的又一种可能设计中,所述根据所述消息送达数量,确定下一时间周期的预期转化率,包括:
获取N个时间周期中各个时间周期的待推送消息的推送量,N为大于1的正整数;
根据各个时间周期的待推送消息的推送量和所述消息送达数的比值,计算得到各个时间周期的转化率;
根据各个时间周期的转化率,计算得到N个时间周期的转化率的平均值,作为下一个时间周期的预期转化率。
在第一方面的又一种可能设计中,所述根据所述下一时间周期的推送访问请求的最大网络带宽占用、下一时间周期的单笔推送访问请求的预期网络带宽占用、下一时间周期的预期转化率和所述预设推送速率,计算得到下一时间周期的推送速率,包括:
根据所述下一时间周期的推送访问请求的最大网络带宽占用、下一时间周期的单笔推送访问请求的预期网络带宽占用、下一时间周期的预期转化率和时间周期,计算得到下一时间周期的预期最大推送速率;
根据所述预期最大推送速率、预设推送速率和预设幅度因子,计算得到下一时间周期的推送速率。
在第一方面的又一种可能设计中,所述根据所述下一时间周期的推送访问请求的最大网络带宽占用、下一时间周期的单笔推送访问请求的预期网络带宽占用、下一时间周期的预期转化率和时间周期,计算得到下一时间周期的预期最大推送速率,包括:
Figure BDA0003126944470000041
上式中,Rm为下一时间周期的预期最大推送速率,Bm为网络带宽占用率上限阈值,
Figure BDA0003126944470000042
为下一时间周期的非推送访问请求的预期网络带宽占用率,Δt为时间周期,
Figure BDA0003126944470000051
为下一个时间周期的预期转化率,
Figure BDA0003126944470000052
为下一时间周期的单笔推送访问请求的预期网络带宽占用。
在第一方面的又一种可能设计中,所述根据所述预期最大推送速率、预设推送速率和预设幅度因子,计算得到下一时间周期的推送速率,包括:
R’=kRm+(1-k)Rc
上式中,R’为下一时间周期的推送速率,k为大于零,且不大于1的预设速率调节幅度调节因子,Rm为下一时间周期的预期最大推送速率,Rc为预设推送速率。
第二方面,本申请实施例提供一种消息推送速率的调节装置,包括:
获取模块,用于获取服务器下发的待推送消息和待推送终端,根据所述待推送终端的数量和当前时间周期的预设推送速率,确定目标推送终端的数量;
推送模块,用于将所述待推送消息推送至各个目标推送终端,确定消息送达数量,所述消息送达数量用于指示读取所述待推送消息的目标推送终端的数量;
确定模块,用于根据所述目标推送终端对所述服务器反馈的推送访问请求,确定所述服务器的网络带宽占用变化;
更新模块,用于根据所述消息送达数量、网络带宽占用变化和预设推送速率,计算得到下一时间周期的推送速率,对所述预设推送速率进行更新。
第三方面,本申请实施例提供一种服务器,包括存储器和至少一个处理器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上述的方法。
第四方面,本申请实施例提供一种可读存储介质,所述可读存储介质中存储有计算机指令,所述计算机指令被处理器执行时用于实现如上述的方法。
第五方面,本申请实施例提供一种程序产品,包括计算机指令,该计算机指令被处理器执行时实现上述的方法。
本申请实施例提供的消息推送速率的调节方法、装置和服务器,通过将消息推送至目标推送终端,并根据目标推送终端根据推送消息反馈至服务器的推送访问请求,确定服务器的网络带宽占用变化,能够自动准确的计算出下一时间周期的推送速率,对当前时间周期的推送速率进行调整,实现消息推送速率的自动调整,能够有效的适应于多变的网络环境,提高推送速率的调节效果。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理;
图1为本申请实施提供的消息推送速率的调节方法的场景示意图;
图2为本申请实施例提供的消息推送系统的框架示意图;
图3为本申请实施例提供的消息推送速率的调节方法的流程示意图;
图4为本申请实施例提供的消息推送速率的调节装置的结构示意图;
图5为本申请实施例提供的服务器的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先对本申请所涉及的名词进行解释:
消息推送:指运营人员通过自己的产品或第三方工具对用户移动设备进行的主动消息推送。用户可以在移动设备锁定屏幕和通知栏看到消息通知,通知栏点击可唤起APP并去往相应页面。
并发量:指同时访问服务器站点的连接数。
网络流量:指能够连接网络的设备在网络上访问或下载数据时所产生的数据量。
网络带宽:指在单位时间(如1秒钟)内能传输的数据量。带宽越大,数据的通行能力越强。
图1为本申请实施提供的消息推送速率的调节方法的场景示意图,该方法可以应用于服务器中,如图1所示,服务器11可以是推送业务方服务器和业务方资源服务器,终端设备12可以是手机或者电脑等,其中,终端设备12中安装有应用APP,不同的应用APP之间对应有不同的业务方资源服务器。应用APP的运营人员可以通过业务方资源服务器来推送消息给应用APP,实现运营人员与应用APP用户的互动,提升应用APP的用户留存率和活跃度。
在实际生活应用中,随着应用APP用户的增多和业务的扩展,消息推送在触发用户激活APP访问的同时,也为相应的业务方资源服务器的网络带宽带来了巨大的压力。对于一些集中大范围推送的场景,如公告、生日祝福等,如果消息推送处理速度很快,引发大量用户访问应用APP,同时会使得业务方资源服务器的请求数和流量激增,占据大量网络带宽,间接导致应用APP其他主要业务的资源数据交换可用通道狭窄,降低了应用APP的服务能力和用户体验。
现有技术主要是按照消息对应业务类型的不同,分别进行限流限速,降低带宽不足的可能性。但是这种方案需要移动程度的人为干预,人工监控网络情况进而对消息推送速率进行调整。在实际使用过程中,由于网络环境的多变性,人工调整消息推送速率往往效果较差。
针对上述问题,本申请实施例提供了一种消息推送速率的调节方法、装置和服务器,通过将待推送消息推送给目标推送终端,根据目标推送终端根据推送消息反馈至服务器的推送访问请求,确定服务器的网络带宽占用变化,能够自动准确的计算出下一时间周期的推送速率,对当前时间周期的推送速率进行调整,实现消息推送速率的自动调整,避免使用人工调整,提高消息推送效率的调节效果,同时动态计算待更新的推送速率,达到流量整形、缓解网络压力的作用。
下面,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请实施例提供的消息推送系统的框架示意图,如图2所示,该消息推送系统20可以集成于服务器上,其包括有消息推送接入模块21、消息推送分发模块22、离线消息拉取模块23、限速控制模块24、消息推送统计模块25和网络带宽监控模块26。
其中,消息推送接入模块21与推送业务方服务器28连接,获取推送业务方服务发送的请求,请求将待推送消息发送至指定的一名或多名用户。
消息推送接入模块21向限速控制模块24请求与指定用户数量相同的令牌,令牌由限速控制模块24根据预设推送速率生成,在一个时间周期内能生成的令牌的数量有限,从而达到控制目标推送终端数量的目的。
消息推送接入模块21获取到所需数量的令牌之后,按照一定的格式封装的消息体放入到待推送消息队列中,消息推送分发模块22从待推送消息队列中获取待推送的消息体,解析获得待推送用户。
消息推送分发模块22可以根据用户的在线状态,来进行不同的推送处理,示例性的,当用户在线(即用户的手机与消息推送系统保持长连接),则直接推送消息通知和消息体给用户,同时向消息推送统计模块25请求记录消息送达情况。
示例性的,当用户不在线时,则通过第三方推送服务,例如小米推送、华为推送将消息通知发送至该手机应用APP上,触发用户打开应用APP上线,应用APP向离线消息拉取模块23请求获取离线的未读消息,离线消息拉取模块23向用户的收集返回消息体,同时向消息推送统计模块25请求记录消息送达情况。
当用户获取到消息体,并根据消息体中包含的地址向业务方资源服务器27访问实际的数据资源时,会引发网络带宽占用的变化,可以通过网络带宽监控模块26监测。
限速控制模块24定时(例如每经过一个时间周期)向消息推送统计模块25和网络带宽监控模块26获取记录的消息送达数量和网络带宽占用变化,结合当前时间周期的预设推送速率,计算得到下一个时间周期的推送速率,应用于后续的消息推送业务中。
图3为本申请实施例提供的消息推送速率的调节方法的流程示意图,该方法可以应用于服务器,示例性的,该服务器可以包括推送业务方服务器和业务方资源服务器,其中,推送业务方服务器用于下发待推送消息和待推送终端,业务方资源服务器用于接收目标终端反馈的推送访问请求。如图3所示,该方法包括如下步骤:
S301、获取服务器下发的待推送消息和待推送终端,根据待推送终端的数量和当前时间周期的预设推送速率,确定目标推送终端的数量。
在本实施例中,待推送消息可以是运营人员编辑的消息,例如公告、生日祝福等。待推送终端中安装有应用APP,应用APP后台设置有服务器,运营人员通过该服务器推送待推送消息至应用APP,供用户查看阅读,实现运营人员与用户之间的交互。
示例性的,待推送终端可以是用户的手机或者电脑。
示例性的,待推送终端的数量可以是一个或多个,例如若今天是某一个用户的生日,待推送消息可以是生日祝福,服务器需要将待推送消息发送至该用户手机的应用APP上,供用户查看。
示例性的,时间周期可以是1分钟,预设推送速率可以是运营人员设置的初始值,例如每秒100个,在该时间周期可以推送100*60条待推送消息,每一条消息分别推送至一个对应的目标推送终端。
具体的,待推送终端的数量可以大于或等于目标推送终端的数量,当待推送终端的数量过大,例如今天有10000人生日,需要推送10000条生日祝福至每一个用户手机的应用APP上,若当前时间周期的预设推送速率只能够支持推送100*60条待推送消息,则确定目标终端数量为100*60个。
S302、将待推送消息推送至各个目标推送终端,确定消息送达数量。
其中,消息送达数量用于指示读取待推送消息的目标推送终端的数量。示例性的,当待推送消息被推送至目标推送终端时,有的用户可能正处于忙碌状态,没有点击手机来读取该推送消息,则该推送消息视为未送达,若用户点击手机读取该推送消息,则该推送消息视为送达。
在本实施例中,可以在服务器中设置消息推送统计模块,当有一个用户的手机读取了待推送消息时,则进行一次计数,最终统计得到所有推送出去的消息的送达量。
S303、根据目标推送终端对服务器反馈的推送访问请求,确定服务器的网络带宽占用变化。
在本实施例中,待推送消息中包括地址,在用户手机读取待推送消息之后,将根据该地址向服务器访问实际的数据资源,在此过程中会造成服务器的网络带宽占用变化。
示例性的,可以在服务器中设置网络带宽监控模块,通过网络带宽监控模块对网络带宽占用变化进行监控。
示例性的,应用APP除了可以执行消息推送业务之外,还支持其他的业务,例如账号登录,用户在进行账号登录时也会对服务器发起访问,该访问可以称为非推送访问请求,以区分于推送访问请求。
S304、根据消息送达数量、网络带宽占用变化和预设推送速率,计算得到下一时间周期的推送速率,对预设推送速率进行更新。
在本实施例中,服务器可以设置限速控制模块,通过限速控制模块获取消息送达数量、网络带宽占用变化和预设推送速率,并根据预设的计算公式,计算得到下一时间周期的推送速率。
示例性的,预设的计算公式如下:
Figure BDA0003126944470000101
R’=kRm+(1-k)Rc
上式中,Rm为下一时间周期的预期最大推送速率,Bm为网络带宽占用率上限阈值,
Figure BDA0003126944470000102
为下一时间周期的非推送访问请求的预期网络带宽占用率,Δt为时间周期,
Figure BDA0003126944470000103
为下一个时间周期的预期转化率,
Figure BDA0003126944470000104
为下一时间周期的单笔推送访问请求的预期网络带宽占用,R’为下一时间周期的推送速率,k为大于零,且不大于1的预设速率调节幅度调节因子,Rm为下一时间周期的预期最大推送速率,Rc为预设推送速率。
示例性的,还可以根据消息送达数量和网络带宽占用变化,确定当前时间周期内向服务器发起推送访问请求的目标推送终端所占用的比例,根据该比例和预设推送数量的乘积,计算得到下一时间周期的推送速率。
本申请实施例通过将待推送消息推送给各个目标推送终端,在各个目标推送终端的用户查看消息并根据消息中的地址向服务器反馈推送访问请求时,可以得到此时服务器的网络带宽占用变化,从而自动计算得到下一时间周期的推送速率,对当前时间周期的推送速率进行动态更新,缓解服务器的压力,提高推送速率的调节效果。
在一些实施例中,上述步骤S301具体可以通过如下步骤实现:
根据当前时间周期的预设推送速率,在当前时间周期生成相应数量的令牌;
将待推送终端的数量与当前时间周期生成的令牌的数量进行对比;
若待推送终端的数量大于当前时间周期生成的令牌的数量,则从待推送终端中选取出与令牌的数量对应数量的目标推送终端;
若待推送终端的数量不大于令牌的数量,则确定待推送终端作为目标推送终端。
在本实施例中,预设推送速率可以作为令牌的生成速率,生成的令牌可以存入到令牌桶中,令牌桶中的存入的令牌的数量就是目标推送终端的数量。当进行消息推送时,每从令牌桶中取出一个令牌,则将待推送消息推送至一个目标推送终端,当令牌桶中的令牌被取完之后,则需要等待令牌生成才可以继续进行消息推送。
本申请实施例通过分布式令牌桶进行消息推送速率的限制,确保消息推送接入模块集群各处理节点在请求令牌时,保证令牌桶参数及状态的节点间同步。同时,该令牌桶支持按不同业务接入种类维护各自的状态和参数,保证各接入业务之间隔离管理、互不干扰。
在一些实施例中,上述步骤S302中“将待推送消息推送至各个目标推送终端”,具体可以通过如下步骤实现:
将待推送消息和目标推送终端封装至消息体,存入待推送消息队列;
获取与各个目标推送终端的连接状态,根据连接状态,将待推送消息队列的待推送消息推送至各个目标推送终端。
在本实施例中,每一个目标推送终端与消息推送系统的连接状态可以是不同的,例如当用户正在使用应用APP时,目标推送终端与消息推送系统的连接状态为长连接。当用户长时间未使用应用APP时,目标推送终端与消息推送系统的连接状态为非长连接。
示例性的,不同的连接状态,待推送消息的推送方式不相同。
进一步的,在一些实施中,上述“根据连接状态,将待推送消息队列的待推送消息推送至各个目标推送终端”具体可以通过如下步骤实现:
若与目标推送终端的连接状态为长连接,则将待推送消息推送至目标推送终端;
若与目标推送终端的连接状态为非长连接,则利用预设第三方服务,将消息通知推送至目标推送终端。
其中,消息通知用于指示目标推送终端从服务器拉取待推送消息。
在本实施例中,长连接是指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。
示例性的,非长连接可以是指的短连接,短连接是指是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。
示例性的,预设第三方服务可以是小米推送、华为推送等。
本申请实施例通过确定目标终端的连接状态,根据目标推送终端不同的连接状态,直接推送待推送消息至目标推送终端或者第三方服务,能够在用户在线或不在线时都可以获取到待推送消息,提高消息推送的稳定性。
进一步的,在一些实施例中,上述步骤S302中“确定消息送达数量”,具体可以通过如下步骤实现:
获取将待推送消息推送至第一目标推送终端的数量和从服务器拉取得到待推送消息的第二目标推送终端的数量;
根据第一目标推送终端的数量和第二目标推送终端的数量,确定消息送达数量。
在本实施例中,在消息推送到目标推送终端之后,有的用户可能没有去查看待推送消息,则该待推送消息视为未送达,有的用户可能在消息推送到目标推送终端的同时就查看了待推送消息,则该待推送消息视为送达,还有的用户可能在消息推送到目标推送终端之后,经过一段时间间隔之后才看到消息通知,并根据消息通知从消息推送系统拉取得到待推送消息,则该待推送消息视为送达。
本申请实施例通过统计第一目标推送终端的数量和第二目标推送终端的数量,能够准确的计算出消息送达数量,方便后续准确的计算得到下一时间周期的消息推送速率,保证消息推送速率的准确性,减轻服务器的压力。
示例性的,在一些实施例中,上述步骤S304具体可以通过如下步骤实现:
根据网络带宽占用变化,确定下一时间周期的推送访问请求的最大网络带宽占用和下一时间周期的单笔推送访问请求的预期网络带宽占用;
根据消息送达数量,确定下一时间周期的预期转化率;
根据下一时间周期的推送访问请求的最大网络带宽占用、下一时间周期的单笔推送访问请求的预期网络带宽占用、下一时间周期的预期转化率和预设推送速率,计算得到下一时间周期的推送速率。
其中,预期转化率用于指示消息送达数量与待推送消息的推送量的比值。示例性的,消息推送系统可以向100个目标推送终端分别推送一条待推送消息,例如生日祝福,其中有50条生日祝福被用户查看。此时,待推送消息的推送量取值为100,消息送达数量取值为50。
在本实施例中,业务方资源服务器的网络带宽存在有一个网络带宽占用率上限阈值Bm,在应用APP对业务方资源服务器进行访问时,访问可以分为两种类型,一种为推送访问请求,推送访问请求是指当推送业务方服务器推送消息给应用APP时,应用APP获得推送消息中的地址以向业务方资源服务器访问实际的数据资源;另一种为非推送访问请求,非推送访问请求是指用户在使用应用APP提供的其他业务,例如账号登录、信息查询时,应用APP向业务方资源服务器访问数据资源。
单笔推送访问请求是指推送业务方服务器推送消息给一个单独的目标推送终端时,该目标推送终端的应用APP获得推送消息中的地址以向业务方资源服务器访问实际的数据资源。
示例性的,消息推送系统的网络带宽检测模块可以监测到当前时间周期的前N(N为大于1的正整数)个时间周期的网络带宽占用变化,确定出前N个时间周期中,每一个时间周期的业务方资源服务器的网络带宽占用率B、每一个时间周期的推送访问请求的网络带宽占用率B1、每一个时间周期的非推送访问请求的网络带宽占用率B2,并计算出每一个时间周期的业务方资源服务器的网络带宽占用率变化值ΔB、每一个时间周期的推送访问请求的网络带宽占用率变化值ΔB1、每一个时间周期的非推送访问请求的网络带宽占用率变化值ΔB2
然后根据每一个时间周期的非推送访问请求的网络带宽占用率变化值ΔB2,可以计算得到N个时间周期的ΔB2的平均值,作为下一个时间周期的非推送访问请求的预期网络带宽占用率的变化量
Figure BDA0003126944470000131
然后根据当前时间周期的非推送访问请求的网络带宽占用率B0和下一时间周期的非推送访问请求的预期网络带宽占用率的变化量
Figure BDA0003126944470000141
计算得到下一个时间周期的非推送访问请求的预期网络带宽占用率
Figure BDA0003126944470000142
Figure BDA0003126944470000143
再根据网络带宽占用率上限阈值Bm和下一个时间周期的非推送访问请求的预期网络带宽占用率
Figure BDA0003126944470000144
计算得到下一时间周期的推送访问请求的最大网络带宽占用为
Figure BDA0003126944470000145
示例性的,下一时间周期的单笔推送访问请求的预期网络带宽占用
Figure BDA0003126944470000146
可以根据前N个时间周期中各个时间周期的单笔推送访问请求的网络带宽占用b、消息送达数量P计算得到。
具体的,前N个时间周期中各个时间周期的单笔推送访问请求的网络带宽占用b=ΔB1/P。将各个时间周期的单笔推送访问请求的网络带宽占用b的平均值作为下一时间周期的单笔推送访问请求的预期网络带宽占用
Figure BDA0003126944470000147
示例性的,可以根据消息送达数量P、待推送消息的推送量M计算得到每一个时间周期的转化率a=P/M。
上式中,N为不小于1的正整数。
通过每一个时间周期的转化率a,计算得到N个时间周期的转化率a的平均值作为下一时间周期的预期转化率
Figure BDA0003126944470000148
示例性的,可以根据下一时间周期的推送访问请求的最大网络带宽占用
Figure BDA0003126944470000149
下一时间周期的单笔推送访问请求的预期网络带宽占用
Figure BDA00031269444700001410
下一时间周期的预期转化率
Figure BDA00031269444700001411
计算得到下一时间周期的预期最大推送速率Rm
Figure BDA00031269444700001412
上式中,Δt为时间周期,示例性的,时间周期可以为1分钟。
下一时间周期的推送速率可以通过如下公式计算得到:
R’=kRm+(1-k)Rc
上式中,R’为下一时间周期的推送速率,k为大于零,且不大于1的预设速率调节幅度调节因子,Rm为下一时间周期的预期最大推送速率,Rc为预设推送速率。
在上述实施例中,R’与k值为线性关系,在其他实施例中,还可以采用其他非线性函数进行映射,示例性的,R’与k值可以为指数函数、反比例函数的映射关系。
可选的,在一些实施例中,上述实施例中的数值
Figure BDA00031269444700001413
可以采用时间衰减加权平均值的计算方式替代均值进行量化,距离当前时间周期越早的时间周期的数据对预计数值的影响越小,越接近当前时间周期的时间周期的数据对预计数值的影响越大。
在一些实施例中,上述“根据网络带宽占用变化,确定下一时间周期的推送访问请求的最大网络带宽占用”,可以通过如下步骤实现:
根据网络带宽占用变化,获取N个时间周期中各个时间周期的非推送访问请求的网络带宽占用率;
根据各个时间周期的非推送访问请求的网络带宽占用率,确定各个时间周期的非推送访问请求的网络带宽占用率变化值;
计算N个时间周期的非推送访问请求的网络带宽占用率变化值的平均值,作为下一时间周期的非推送访问请求的预期网络带宽占用率的变化量;
根据当前时间周期的非推送访问请求的网络带宽占用率和下一时间周期的非推送访问请求的预期网络带宽占用率的变化量,计算得到下一时间周期的非推送访问请求的预期网络带宽占用率;
根据服务器的网络带宽占用率上限阈值和下一个时间周期的非推送访问请求的预期网络带宽占用率,确定下一个时间周期的推送访问请求的最大占用带宽。
其中,N为大于1的正整数。
在一些实施例中,上述“确定下一时间周期的单笔推送访问请求的预期网络带宽占用”,具体可以通过如下步骤实现:
根据网络带宽占用变化,获取各个时间周期的推送访问请求的网络带宽占用率;
根据各个时间周期的推送访问请求的网络带宽占用率,确定各个时间周期的推送访问请求的网络带宽占用率变化值;
根据各个时间周期的推送访问请求的网络带宽占用率变化值和消息送达数量,计算得到各个时间周期的单笔推送访问请求的预期网络带宽占用;
根据各个时间周期的单笔推送访问请求的预期网络带宽占用,计算得到N个时间周期的单笔推送访问请求的预期网络带宽占用平均值,作为下一时间周期的单笔推送访问请求的预期网络带宽占用。
在一些实施例中,上述步骤“根据消息送达数量,确定下一时间周期的预期转化率”,具体可以通过如下步骤实现:
获取N个时间周期中各个时间周期的待推送消息的推送量;
根据各个时间周期的待推送消息的推送量和消息送达数的比值,计算得到各个时间周期的转化率;
根据各个时间周期的转化率,计算得到N个时间周期的转化率的平均值,作为下一个时间周期的预期转化率。
在一些实施例中,上述步骤“根据下一时间周期的推送访问请求的最大网络带宽占用、下一时间周期的单笔推送访问请求的预期网络带宽占用、下一时间周期的预期转化率和预设推送速率,计算得到下一时间周期的推送速率”,具体可以通过如下步骤实现:
根据下一时间周期的推送访问请求的最大网络带宽占用、下一时间周期的单笔推送访问请求的预期网络带宽占用、下一时间周期的预期转化率和时间周期,计算得到下一时间周期的预期最大推送速率;
根据预期最大推送速率、预设推送速率和预设幅度因子,计算得到下一时间周期的推送速率。
图4为本申请实施例提供的消息推送速率的调节装置的结构示意图,该消息推送速率的调节装置可以集成在服务上。如图4所示,该消息推送速率的调节装置40包括获取模块41、推送模块42、确定模块43、更新模块44。
其中,获取模块41用于获取服务器下发的待推送消息和待推送终端,根据待推送终端的数量和当前时间周期的预设推送速率,确定目标推送终端的数量。推送模块42用于将待推送消息推送至各个目标推送终端,确定消息送达数量。确定模块43用于根据目标推送终端对服务器反馈的推送访问请求,确定服务器的网络带宽占用变化。更新模块44用于根据消息送达数量、网络带宽占用变化和预设推送速率,计算得到下一时间周期的推送速率,对预设推送速率进行更新。
其中,消息送达数量用于指示读取待推送消息的目标推送终端的数量。
在一些实施例中,上述获取模块41具体可以用于:
根据当前时间周期的预设推送速率,在当前时间周期生成相应数量的令牌;
将待推送终端的数量与当前时间周期生成的令牌的数量进行对比;
若待推送终端的数量大于当前时间周期生成的令牌的数量,则从待推送终端中选取出与令牌的数量对应数量的目标推送终端;
若待推送终端的数量不大于令牌的数量,则确定待推送终端作为目标推送终端。
在一些实施例中,上述推送模块42具体可以用于:
将待推送消息和目标推送终端封装至消息体,存入待推送消息队列;
获取与各个目标推送终端的连接状态,根据连接状态,将待推送消息队列的待推送消息推送至各个目标推送终端。
可选的,在一些实施例中,上述推送模块42具体可以用于:
若与目标推送终端的连接状态为长连接,则将待推送消息推送至目标推送终端;
若与目标推送终端的连接状态为非长连接,则利用预设第三方服务,将消息通知推送至目标推送终端,消息通知用于指示目标推送终端从服务器拉取待推送消息。
可选的,在一些实施例中,上述推送模块42具体可以用于:
获取将待推送消息推送至第一目标推送终端的数量和从服务器拉取得到待推送消息的第二目标推送终端的数量;
根据第一目标推送终端的数量和第二目标推送终端的数量,确定消息送达数量。
在一些实施例中,上述更新模块44具体可以用于:
根据网络带宽占用变化,确定下一时间周期的推送访问请求的最大网络带宽占用和下一时间周期的单笔推送访问请求的预期网络带宽占用;
根据消息送达数量,确定下一时间周期的预期转化率,预期转化率用于指示消息送达数量与待推送消息的推送量的比值;
根据下一时间周期的推送访问请求的最大网络带宽占用、下一时间周期的单笔推送访问请求的预期网络带宽占用、下一时间周期的预期转化率和预设推送速率,计算得到下一时间周期的推送速率。
可选的,在一些实施例中,上述更新模块44具体可以用于:
根据网络带宽占用变化,获取N个时间周期中各个时间周期的非推送访问请求的网络带宽占用率;
根据各个时间周期的非推送访问请求的网络带宽占用率,确定各个时间周期的非推送访问请求的网络带宽占用率变化值;
计算N个时间周期的非推送访问请求的网络带宽占用率变化值的平均值,作为下一时间周期的非推送访问请求的预期网络带宽占用率的变化量;
根据当前时间周期的非推送访问请求的网络带宽占用率和下一时间周期的非推送访问请求的预期网络带宽占用率的变化量,计算得到下一时间周期的非推送访问请求的预期网络带宽占用率;
根据服务器的网络带宽占用率上限阈值和下一个时间周期的非推送访问请求的预期网络带宽占用率,确定下一个时间周期的推送访问请求的最大占用带宽。
其中,N为大于1的正整数。
可选的,在一些实施例中,上述更新模块44具体可以用于:
根据网络带宽占用变化,获取各个时间周期的推送访问请求的网络带宽占用率;
根据各个时间周期的推送访问请求的网络带宽占用率,确定各个时间周期的推送访问请求的网络带宽占用率变化值;
根据各个时间周期的推送访问请求的网络带宽占用率变化值和消息送达量,计算得到各个时间周期的单笔推送访问请求的预期网络带宽占用;
根据各个时间周期的单笔推送访问请求的预期网络带宽占用,计算得到N个时间周期的单笔推送访问请求的预期网络带宽占用平均值,作为下一时间周期的单笔推送访问请求的预期网络带宽占用。
可选的,在一些实施例中,上述更新模块44具体可以用于:
获取N个时间周期中各个时间周期的推送消息的待推送量,N为大于1的正整数;
根据各个时间周期的待推送消息的推送量和消息送达数的比值,计算得到各个时间周期的转化率;
根据各个时间周期的转化率,计算得到N个时间周期的转化率的平均值,作为下一个时间周期的预期转化率。
可选的,在一些实施例中,上述更新模块44具体可以用于:
根据下一时间周期的推送访问请求的最大网络带宽占用、下一时间周期的单笔推送访问请求的预期网络带宽占用、下一时间周期的预期转化率和时间周期,计算得到下一时间周期的预期最大推送速率;
根据预期最大推送速率、预设推送速率和预设幅度因子,计算得到下一时间周期的推送速率。
可选的,在一些实施例中,上述更新模块44具体可以用于:根据如下公式计算得到下一时间周期的预期最大推送速率:
Figure BDA0003126944470000191
上式中,Rm为下一时间周期的预期最大推送速率,Bm为网络带宽占用率上限阈值,
Figure BDA0003126944470000192
为下一时间周期的非推送访问请求的预期网络带宽占用率,Δt为时间周期,
Figure BDA0003126944470000193
为下一个时间周期的预期转化率,
Figure BDA0003126944470000194
为下一时间周期的单笔推送访问请求的预期网络带宽占用。
可选的,在一些实施例中,上述更新模块44具体可以用于:根据如下公式计算得到下一时间周期的推送速率R’:
R’=kRm+(1-k)Rc
上式中,R’为下一时间周期的推送速率,k为大于零,且不大于1的预设速率调节幅度调节因子,Rm为下一时间周期的预期最大推送速率,Rc为预设推送速率。
图5为本申请实施例提供的服务器的结构示意图。如图5所示,该服务器50包括:至少一个处理器51、存储器52、总线53。
其中:处理器51以及存储器52通过总线53完成相互间的通信。
处理器51,用于执行存储器52存储的计算机执行指令,具体可以执行上述实施例中所描述的方法中的相关步骤。
处理器51可能是中央处理器。服务器包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器52,用于存放计算机执行指令。存储器52可能包含高速RAM存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
本实施例还提供一种可读存储介质,可读存储介质中存储有计算机指令,当服务器的至少一个处理器执行该计算机指令时,服务器执行上述的各种实施方式提供的消息推送速率的调节方法。
本实施例还提供一种程序产品,该程序产品包括计算机指令,该计算机指令存储在可读存储介质中。服务器的至少一个处理器可以从可读存储介质读取该计算机指令,至少一个处理器执行该计算机指令使得服务器实施上述的各种实施方式提供的消息推送速率的调节方法。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中,a,b,c可以是单个,也可以是多个。
可以理解的是,在本申请实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (16)

1.一种消息推送速率的调节方法,其特征在于,包括:
获取服务器下发的待推送消息和待推送终端,根据所述待推送终端的数量和当前时间周期的预设推送速率,确定目标推送终端的数量;
将所述待推送消息推送至各个目标推送终端,确定消息送达数量,所述消息送达数量用于指示读取所述待推送消息的目标推送终端的数量;
根据所述目标推送终端对所述服务器反馈的推送访问请求,确定所述服务器的网络带宽占用变化;
根据所述消息送达数量、网络带宽占用变化和预设推送速率,计算得到下一时间周期的推送速率,对所述预设推送速率进行更新。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待推送终端的数量和当前时间周期的预设推送速率,确定目标推送终端的数量,包括:
根据所述当前时间周期的预设推送速率,在当前时间周期生成相应数量的令牌;
将所述待推送终端的数量与所述当前时间周期生成的令牌的数量进行对比;
若所述待推送终端的数量大于所述当前时间周期生成的令牌的数量,则从所述待推送终端中选取出与所述令牌的数量对应数量的目标推送终端;
若所述待推送终端的数量不大于所述令牌的数量,则确定所述待推送终端作为所述目标推送终端。
3.根据权利要求1所述的方法,其特征在于,所述将所述待推送消息推送至各个目标推送终端,包括:
将所述待推送消息和目标推送终端封装至消息体,存入待推送消息队列;
获取与各个目标推送终端的连接状态,根据所述连接状态,将所述待推送消息队列的待推送消息推送至各个目标推送终端。
4.根据权利要求3所述的方法,其特征在于,所述根据所述连接状态,将所述待推送消息队列的待推送消息推送至各个目标推送终端,包括:
若与目标推送终端的连接状态为长连接,则将所述待推送消息推送至所述目标推送终端;
若与目标推送终端的连接状态为非长连接,则利用预设第三方服务,将消息通知推送至所述目标推送终端,所述消息通知用于指示所述目标推送终端从所述服务器拉取所述待推送消息。
5.根据权利要求4所述的方法,其特征在于,所述确定消息送达数量,包括:
获取将所述待推送消息推送至第一目标推送终端的数量和从服务器拉取得到待推送消息的第二目标推送终端的数量;
根据所述第一目标推送终端的数量和所述第二目标推送终端的数量,确定所述消息送达数量。
6.根据权利要求1所述的方法,其特征在于,所述根据所述消息送达数量、网络带宽占用变化和预设推送速率,计算得到下一时间周期的推送速率,包括:
根据所述网络带宽占用变化,确定下一时间周期的推送访问请求的最大网络带宽占用和下一时间周期的单笔推送访问请求的预期网络带宽占用;
根据所述消息送达数量,确定下一时间周期的预期转化率,所述预期转化率用于指示消息送达数量与待推送消息的推送量的比值;
根据所述下一时间周期的推送访问请求的最大网络带宽占用、下一时间周期的单笔推送访问请求的预期网络带宽占用、下一时间周期的预期转化率和所述预设推送速率,计算得到下一时间周期的推送速率。
7.根据权利要求6所述的方法,其特征在于,所述根据所述网络带宽占用变化,确定下一时间周期的推送访问请求的最大网络带宽占用,包括:
根据所述网络带宽占用变化,获取N个时间周期中各个时间周期的非推送访问请求的网络带宽占用率,N为大于1的正整数;
根据各个时间周期的非推送访问请求的网络带宽占用率,确定各个时间周期的非推送访问请求的网络带宽占用率变化值;
计算N个时间周期的非推送访问请求的网络带宽占用率变化值的平均值,作为下一时间周期的非推送访问请求的预期网络带宽占用率的变化量;
根据当前时间周期的非推送访问请求的网络带宽占用率和下一时间周期的非推送访问请求的预期网络带宽占用率的变化量,计算得到下一时间周期的非推送访问请求的预期网络带宽占用率;
根据所述服务器的网络带宽占用率上限阈值和下一个时间周期的非推送访问请求的预期网络带宽占用率,确定下一个时间周期的推送访问请求的最大占用带宽。
8.根据权利要求7所述的方法,其特征在于,所述确定下一时间周期的单笔推送访问请求的预期网络带宽占用,包括:
根据所述网络带宽占用变化,获取各个时间周期的所述推送访问请求的网络带宽占用率;
根据各个时间周期的所述推送访问请求的网络带宽占用率,确定各个时间周期的所述推送访问请求的网络带宽占用率变化值;
根据各个时间周期的所述推送访问请求的网络带宽占用率变化值和所述消息送达量,计算得到各个时间周期的单笔推送访问请求的预期网络带宽占用;
根据各个时间周期的单笔推送访问请求的预期网络带宽占用,计算得到N个时间周期的单笔推送访问请求的预期网络带宽占用的平均值,作为下一时间周期的单笔推送访问请求的预期网络带宽占用。
9.根据权利要求6所述的方法,其特征在于,所述根据所述消息送达数量,确定下一时间周期的预期转化率,包括:
获取N个时间周期中各个时间周期的待推送消息的推送量,N为大于1的正整数;
根据各个时间周期的待推送消息的推送量和所述消息送达数的比值,计算得到各个时间周期的转化率;
根据各个时间周期的转化率,计算得到N个时间周期的转化率的平均值,作为下一个时间周期的预期转化率。
10.根据权利要求6所述的方法,其特征在于,所述根据所述下一时间周期的推送访问请求的最大网络带宽占用、下一时间周期的单笔推送访问请求的预期网络带宽占用、下一时间周期的预期转化率和所述预设推送速率,计算得到下一时间周期的推送速率,包括:
根据所述下一时间周期的推送访问请求的最大网络带宽占用、下一时间周期的单笔推送访问请求的预期网络带宽占用、下一时间周期的预期转化率和时间周期,计算得到下一时间周期的预期最大推送速率;
根据所述预期最大推送速率、预设推送速率和预设幅度因子,计算得到下一时间周期的推送速率。
11.根据权利要求10所述的方法,其特征在于,所述根据所述下一时间周期的推送访问请求的最大网络带宽占用、下一时间周期的单笔推送访问请求的预期网络带宽占用、下一时间周期的预期转化率和时间周期,计算得到下一时间周期的预期最大推送速率,包括:
Figure FDA0003126944460000041
上式中,Rm为下一时间周期的预期最大推送速率,Bm为网络带宽占用率上限阈值,
Figure FDA0003126944460000042
为下一时间周期的非推送访问请求的预期网络带宽占用率,Δt为时间周期,
Figure FDA0003126944460000043
为下一个时间周期的预期转化率,
Figure FDA0003126944460000044
为下一时间周期的单笔推送访问请求的预期网络带宽占用。
12.根据权利要求11所述的方法,其特征在于,所述根据所述预期最大推送速率、预设推送速率和预设幅度因子,计算得到下一时间周期的推送速率,包括:
R’=kRm+(1-k)Rc
上式中,R’为下一时间周期的推送速率,k为大于零,且不大于1的预设速率调节幅度调节因子,Rm为下一时间周期的预期最大推送速率,Rc为预设推送速率。
13.一种消息推送速率的调节装置,其特征在于,包括:
获取模块,用于获取服务器下发的待推送消息和待推送终端,根据所述待推送终端的数量和当前时间周期的预设推送速率,确定目标推送终端的数量;
推送模块,用于将所述待推送消息推送至各个目标推送终端,确定消息送达数量,所述消息送达数量用于指示读取所述待推送消息的目标推送终端的数量;
确定模块,用于根据所述目标推送终端对所述服务器反馈的推送访问请求,确定所述服务器的网络带宽占用变化;
更新模块,用于根据所述消息送达数量、网络带宽占用变化和预设推送速率,计算得到下一时间周期的推送速率,对所述预设推送速率进行更新。
14.一种服务器,其特征在于,包括存储器和至少一个处理器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-12任一项所述的方法。
15.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机指令,所述计算机指令被处理器执行时用于实现如权利要求1-12任一项所述的方法。
16.一种程序产品,包括计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-12任一项所述的方法。
CN202110693153.9A 2021-06-22 2021-06-22 消息推送速率的调节方法、装置和服务器 Active CN113395671B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110693153.9A CN113395671B (zh) 2021-06-22 2021-06-22 消息推送速率的调节方法、装置和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110693153.9A CN113395671B (zh) 2021-06-22 2021-06-22 消息推送速率的调节方法、装置和服务器

Publications (2)

Publication Number Publication Date
CN113395671A true CN113395671A (zh) 2021-09-14
CN113395671B CN113395671B (zh) 2022-04-26

Family

ID=77623402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110693153.9A Active CN113395671B (zh) 2021-06-22 2021-06-22 消息推送速率的调节方法、装置和服务器

Country Status (1)

Country Link
CN (1) CN113395671B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979169A (zh) * 2022-05-27 2022-08-30 山东派盟网络科技有限公司 一种网络资源推送方法、装置、存储介质及电子设备
CN115174667A (zh) * 2022-06-24 2022-10-11 平安银行股份有限公司 大数据的推送方法、系统和电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6341304B1 (en) * 1999-09-23 2002-01-22 International Business Machines Corporation Data acquisition and distribution processing system
CN102638849A (zh) * 2011-02-14 2012-08-15 中国移动通信集团公司 一种控制业务推送的方法、系统及装置
CN106033419A (zh) * 2015-03-10 2016-10-19 深圳市腾讯计算机系统有限公司 一种消息实时推送方法、装置及系统
CN107172182A (zh) * 2017-06-06 2017-09-15 深圳市金立通信设备有限公司 一种消息推送方法、消息推送服务器及终端
CN107528922A (zh) * 2017-09-29 2017-12-29 深圳市金立通信设备有限公司 一种消息推送方法、终端及计算机可读存储介质
CN109194765A (zh) * 2018-09-26 2019-01-11 中国平安人寿保险股份有限公司 请求控制方法、装置、计算机设备和存储介质
CN112398752A (zh) * 2020-11-16 2021-02-23 广州华多网络科技有限公司 消息推送控制方法及其装置、设备、介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6341304B1 (en) * 1999-09-23 2002-01-22 International Business Machines Corporation Data acquisition and distribution processing system
CN102638849A (zh) * 2011-02-14 2012-08-15 中国移动通信集团公司 一种控制业务推送的方法、系统及装置
CN106033419A (zh) * 2015-03-10 2016-10-19 深圳市腾讯计算机系统有限公司 一种消息实时推送方法、装置及系统
CN107172182A (zh) * 2017-06-06 2017-09-15 深圳市金立通信设备有限公司 一种消息推送方法、消息推送服务器及终端
CN107528922A (zh) * 2017-09-29 2017-12-29 深圳市金立通信设备有限公司 一种消息推送方法、终端及计算机可读存储介质
CN109194765A (zh) * 2018-09-26 2019-01-11 中国平安人寿保险股份有限公司 请求控制方法、装置、计算机设备和存储介质
CN112398752A (zh) * 2020-11-16 2021-02-23 广州华多网络科技有限公司 消息推送控制方法及其装置、设备、介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979169A (zh) * 2022-05-27 2022-08-30 山东派盟网络科技有限公司 一种网络资源推送方法、装置、存储介质及电子设备
CN114979169B (zh) * 2022-05-27 2024-03-29 山东派盟网络科技有限公司 一种网络资源推送方法、装置、存储介质及电子设备
CN115174667A (zh) * 2022-06-24 2022-10-11 平安银行股份有限公司 大数据的推送方法、系统和电子设备
CN115174667B (zh) * 2022-06-24 2023-08-08 平安银行股份有限公司 大数据的推送方法、系统和电子设备

Also Published As

Publication number Publication date
CN113395671B (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
CN109684358B (zh) 数据查询的方法和装置
CN108513271B (zh) 基于多个短信通道的短信分发方法和设备
CN113395671B (zh) 消息推送速率的调节方法、装置和服务器
CN110138756B (zh) 一种限流方法及系统
CN104604189A (zh) 大型企业的高效状态发布机制
CN109660467B (zh) 用于控制流量的方法和装置
CN108540400A (zh) 一种数据传输控制方法、控制装置、终端及可读存储介质
US20160294569A1 (en) Quota control policy
US8725868B2 (en) Interactive service management
CN113328906B (zh) 一种流量实时监控方法、装置、存储介质及电子设备
CN109587068B (zh) 流量切换方法、装置、设备及计算机可读存储介质
WO2024088079A1 (zh) 请求处理方法以及系统
CN108023938B (zh) 一种消息发送方法及服务器
CN111897659B (zh) 业务处理频率的控制方法、系统、装置、电子设备
CN108076443B (zh) 一种在线计费系统中流量的分配方法及在线计费系统
CN110336884B (zh) 服务器集群更新方法和装置
CN106793093B (zh) 一种业务处理方法及装置
CN117278482A (zh) 令牌桶的实现方法及装置
CN110838989B (zh) 一种用于基于令牌进行网络限流的方法和装置
CN111092819A (zh) 一种收发组播业务报文的方法及设备
CN111698677A (zh) 用户面统计信息的上报、接收方法及网络设备
CN111737297B (zh) 链路聚合调用信息的处理方法及装置
TW201800963A (zh) 資料處理方法及裝置
CN107786765B (zh) 一种信息交互方法和装置
US20160295028A1 (en) Tracking usage window for quota control policy

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