CN110225102B - 推送信息的方法、设备及系统 - Google Patents
推送信息的方法、设备及系统 Download PDFInfo
- Publication number
- CN110225102B CN110225102B CN201910435777.3A CN201910435777A CN110225102B CN 110225102 B CN110225102 B CN 110225102B CN 201910435777 A CN201910435777 A CN 201910435777A CN 110225102 B CN110225102 B CN 110225102B
- Authority
- CN
- China
- Prior art keywords
- push
- task
- pushing
- information
- user
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供推送信息的方法、设备及系统,推送信息的方法包括:确定状态参数,所述状态参数用于指示当前时刻的未完成任务量;若所述未完成任务量小于预设的任务量,则读取推送任务队列中的首条推送任务;其中,所述推送任务队列包括K条推送任务,K≥1,所述K条推送任务分别用于指示K个推送用户集以及各自对应的第一待推送信息;向目标设备推送对应的所述第一待推送信息。采用该技术方案,在未完成的任务量大于一定限度时从节点继续执行当前的推送任务而不领取新的推送任务,可防止从节点出现任务积压。在未完成的任务量小于一定限度时从节点领取新的推送任务,可防止从节点出现闲置而导致资源浪费。
Description
技术领域
本公开涉及通信技术领域,尤其涉及推送信息的方法、设备及系统。
背景技术
服务器在向用户终端设备推送信息时,服务器主节点向若干个从节点分别分配推送任务,由从节点执行主节点分配的推送任务。
通常,需推送的终端设备往往数量庞大,从节点在执行一个推送任务的过程中,如果收到主节点分配的新的推送任务,往往造成任务积压,影响推送的效率。
发明内容
本公开的实施例提供推送信息的方法、设备及系统,技术方案如下:
根据本公开实施例的第一方面,提供一种推送信息的方法,包括:
确定状态参数,所述状态参数用于指示当前时刻的未完成任务量;
若所述未完成任务量小于预设的任务量,则读取推送任务队列中的首条推送任务;其中,所述推送任务队列包括K条推送任务,K≥1,所述K 条推送任务分别用于指示K个推送用户集以及各自对应的第一待推送信息;
向目标设备推送对应的所述第一待推送信息;其中,所述目标设备为所述首条推送任务指示的推送用户集所对应的用户设备。
本公开提供的技术方案,可应用于从节点服务器,从节点在确定当前时刻的未完成任务量小于一定限度时,读取推送任务队列中的推送任务,向推送任务所指示的推送用户集推送对应的待推送信息,即在未完成的任务量较少时,从推送任务队列中领取新的推送任务并执行,由此防止因为主节点在短时间内向从节点分配多个推送任务而造成从节点任务积压。
在未完成的任务量大于一定限度时从节点继续执行当前的推送任务而不领取新的推送任务,可防止从节点出现任务积压。在未完成的任务量小于一定限度时从节点领取新的推送任务,可防止从节点资源浪费。
当从节点的数量有多个时,多个从节点可并发执行推送任务。采用本公开的技术方案,可防止部分从节点出现任务积压而部分从节点处于空闲状态造成资源浪费,在使得各个从节点的资源充分利用的同时,避免部分从节点上的任务积压,从而在整体上提高推送效率。
在一个实施例中,所述推送信息的方法还包括:
接收目标用户集的标识信息以及所述目标用户集所对应的第二待推送信息;
根据所述标识信息将所述目标用户集拆分成所述K个推送用户集;
根据所述第二待推送信息以及所述K个推送用户集,生成所述K条推送任务,所述K条推送任务均包括所述第二待推送信息;
按照所述K条推送任务的优先级生成所述推送任务队列,其中优先级越高的推送任务插入位置越接近所述推送任务队列的队首。
在一个实施例中,所述推送信息的方法还包括:
获取所述首条推送任务指示的推送用户集对应的用户画像数据;
根据所述首条推送任务指示的推送用户集对应的用户画像数据,对所述第二待推送信息打分;
向所述目标设备推送打分超过预设阈值的待推送信息。
在一个实施例中,所述推送信息的方法还包括:
获取所述目标用户集对应的用户画像数据,将所述目标用户集对应的用户画像数据拆分成所述K个推送用户集对应的用户画像数据并保存;
所述获取所述首条推送任务指示的推送用户集的用户画像数据,包括:读取已保存的所述首条推送任务指示的推送用户集的用户画像数据。
根据本公开实施例的第二方面,提供一种推送信息的设备,包括:
判定模块,用于确定状态参数,所述状态参数用于指示当前时刻的未完成任务量;
触发模块,用于在确定所述未完成任务量小于预设的任务量时,则读取推送任务队列中的首条推送任务;其中,所述推送任务队列包括K条推送任务,K≥1,所述K条推送任务分别用于指示K个推送用户集以及各自对应的第一待推送信息;
推送模块,用于向目标设备推送对应的所述第一待推送信息;其中,所述目标设备为所述首条推送任务指示的推送用户集所对应的用户设备。
在一个实施例中,还包括:
任务模块,用于接收目标用户集的标识信息以及所述目标用户集所对应的第二待推送信息;
拆分模块,用于根据所述标识信息将所述目标用户集拆分成所述K个推送用户集;
生成模块,用于根据所述第二待推送信息以及所述K个推送用户集,生成所述K条推送任务,所述K条推送任务均包括所述第二待推送信息;
队列模块,用于按照所述K条推送任务的优先级生成所述推送任务队列,其中优先级越高的推送任务插入位置越接近所述推送任务队列的队首。
在一个实施例中,还包括:
数据模块,用于获取所述首条推送任务指示的推送用户集对应的用户画像数据;
筛选模块,用于根据所述首条推送任务指示的推送用户集对应的用户画像数据,对所述第二待推送信息打分;
所述推送模块,用于向所述目标设备推送打分超过预设阈值的待推送信息。
在一个实施例中,所述数据模块包括:
管理子模块,用于获取所述目标用户集对应的用户画像数据,将所述目标用户集对应的用户画像数据拆分成所述K个推送用户集对应的用户画像数据并保存;
读取子模块,用于读取已保存的所述首条推送任务指示的推送用户集的用户画像数据。
根据本公开实施例的第三方面,提供一种推送设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
确定状态参数,所述状态参数用于指示当前时刻的未完成任务量;
若所述未完成任务量小于预设的任务量,则读取推送任务队列中的首条推送任务;其中,所述推送任务队列包括K条推送任务,K≥1,所述K 条推送任务分别用于指示K个推送用户集以及各自对应的第一待推送信息;
向目标设备推送对应的所述第一待推送信息;其中,所述目标设备为所述首条推送任务指示的推送用户集所对应的用户设备。
根据本公开实施例的第四方面,提供一种推送信息的系统,所述系统包括主节点服务器和从节点服务器:
所述从节点服务器,被配置为确定状态参数,所述状态参数用于指示所述从节点服务器当前时刻的未完成任务量;
所述主节点服务器,被配置为向推送任务队列中写入K条推送任务, K≥1,所述K条推送任务分别用于指示K个推送用户集以及各自对应的第一待推送信息;
所述从节点服务器,被配置为在所述未完成任务量小于预设的任务量时,读取所述推送任务队列中的首条推送任务,并向目标设备推送对应的所述第一待推送信息;其中,所述目标设备为所述首条推送任务指示的推送用户集所对应的用户设备。
根据本公开实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现第一方面所提供推送信息的方法的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的推送信息的方法的流程图。
图2是根据一示例性实施例示出的推送信息的方法的流程图。
图3是根据一示例性实施例示出的推送信息的方法的说明示意图。
图4是根据一示例性实施例示出的电子设备的框图。
图5是根据一示例性实施例示出的电子设备的框图。
图6是根据一示例性实施例示出的电子设备的框图。
图7是根据一示例性实施例示出的电子设备的框图。
图8是根据一示例性实施例示出的电子设备的框图。
图9是根据一示例性实施例示出的推送信息的系统的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的设备和方法的例子。
从节点在执行一个推送任务的过程中,如果收到主节点分配的新的推送任务,往往造成任务积压,影响推送的效率。当从节点数量有多个时,可能出现部从节点出现任务积压而部从节点处于空闲状态的情形,任务积压会影响推送时效,而从节点空闲又会造成资源浪费。
本公开的实施例提供一种推送信息的方法,由从节点主动从任务序列中领取推送任务。在未完成的任务量大于一定限度时从节点继续执行当前的推送任务而不领取新的推送任务,可防止从节点出现任务积压。在未完成的任务量小于一定限度时从节点领取新的推送任务,可防止从节点资源浪费。
图1是根据一示例性实施例示出的一种推送信息的方法的流程图,本实施例以推送信息的方法应用于从节点的情形为例说明。推送信息的方法包括步骤101-103:
在步骤101中,确定状态参数。
状态参数用于指示从节点当前时刻的未完成任务量。
在一个实施例中,状态参数是尚未完成推送的用户数量。例如,从节点正在执行的推送任务是向10万个用户推送内容,当前时刻已经完成了 9.5万个用户的推送,剩余0.5万个用户尚未完成推送。则从节点当前时刻的状态参数是0.5万。
在一个实施例中,状态参数是完成当前推送任务所需时间的预测值。例如,从节点正在执行的推送任务是向10万个用户推送内容,完成该推送任务所需的时间是1000秒,当前时刻该推送任务已经启动了900秒,还需要100秒完成。则从节点当前时刻的状态参数是100秒。
在步骤102中,若未完成任务量小于预设的任务量,则读取推送任务队列中的首条推送任务。
从节点确定状态参数所指示的未完成任务量小于预设的任务量时,读取推送任务队列中的首条推送任务。
在一个实施例中,状态参数为尚未完成推送的用户数量。预设的任务量以尚未完成推送的用户数量表示。
以该数量为设为0.1万的情形为例,从节点在尚未完成推送的用户数量小于0.1万时,读取推送任务队列中的首条推送任务。进一步地,该数量可以设为0,即当前推送任务完成时,读取推送任务队列中的首条推送任务。
在一个实施例中,状态参数为完成当前推送任务所需时间的预测值。预设的任务量以完成当前推送任务所需的时间长度表示。
以该时间长度设为10秒的情形为例,从节点在完成当前推送任务所需时间小于10秒时,读取推送任务队列中的首条推送任务。进一步地,该时间长度可以设为0,即当前推送任务完成时,读取推送任务队列中的首条推送任务。
推送任务队列包括K条推送任务,K≥1,K条推送任务分别用于指示K个推送用户集以及各自对应的第一待推送信息。一个推送用户集对应的待推送信息,是指候选的需推送给该用户集内用户的信息。
推送任务队列中的推送任务按照一定次序排列。推送任务队列中的首条推送任务,可以是推送任务队列所包括的推送任务中,最早写入的一条推送任务。例如,推送任务队列可以为一个先进先出的队列,越早写入的推送任务排序越靠前。
进一步地,推送任务队列中的首条推送任务,可以是优先级最高的推送任务。例如,不同推送任务可对应不同的优先级,优先级越高的推送任务排序越靠前,相同优先级的推送任务越早写入排序越靠前。
从节点读取推送任务时,读取推送任务队列中的首条推送任务。
以推送任务队列包括两条推送任务的情形为例,在T1时刻第一条推送任务为首条推送任务,第二条推送任务为相邻的下一条推送任务。
当从节点在T1时刻读取推送任务时,读取第一条推送任务。从节点读取第一条推送任务后,第二条推送任务顺延成为首条推送任务,此时从节点读取推送任务时,读取第二条推送任务。
在步骤103中,向目标设备推送对应的第一待推送信息。
其中,目标设备为首条推送任务指示的推送用户集所对应的用户设备。
为便于描述,将首条推送任务所指示的推送用户集称为首用户集。从节点读取首条推送任务后,向首用户集所对应的用户设备推送对应的待推送信息。
在一个实施例中,从节点获取推送用户集对应的用户画像数据,以及推送用户集对应的第一待推送信息。从节点根据首用户集对应的用户画像数据对第一待推送信息打分,向目标设备推送打分超过预设阈值的待推送信息。
本公开实施例提供的推送信息的方法,从节点在确定当前时刻的未完成任务量小于一定限度时,读取推送任务队列中的推送任务,向目标设备推送第一待推送信息,即在未完成的任务量较少时,从推送任务队列中领取新的推送任务并执行。
在未完成的任务量大于一定限度时从节点继续执行当前的推送任务而不领取新的推送任务,可防止从节点出现任务积压。在未完成的任务量小于一定限度时从节点领取新的推送任务,可防止从节点出现闲置而导致资源浪费。
当从节点的数量有多个时,多个从节点可并发执行推送任务。采用本公开的技术方案,可防止部分从节点出现任务积压而部分从节点处于空闲状态造成资源浪费,在使得各个从节点的资源充分利用的同时,避免部分从节点上的任务积压,从而在整体上提高推送效率。
基于上述图1对应的实施例提供的推送信息的方法,图2是根据一示例性实施例示出的一种推送信息的方法的流程图,图2对应的实施例以推送任务队列为redis优先级队列的情形为例说明本公开实施例提供的推送信息的方法。
参照图3所示,主节点31在接收到推送请求消息时,根据推送请求消息将推送任务拆分为多个子任务,每个子任务以redis优先级队列中的一条推送任务标识。
从节点32的数量可以为多个,从节点32读取redis优先级队列中的一条推送任务,根据该推送任务执行一个子任务。
图2对应的实施例中,部分步骤中的内容与图1对应的实施例中的步骤相同或类似,以下只对步骤中不同之处做详细说明。参照图2所示,本实施例提供的推送信息的方法包括步骤201-208:
在步骤201中,主节点确定目标用户集,接收目标用户集所对应的待推送信息。
在一个实施例中,服务器设置一接口用于接收推送请求消息,推送请求消息包括目标用户集的标识信息以及目标用户集所对应的待推送信息。
服务器可接收多条推送请求消息,分别对应不同的目标用户集和待推送信息。例如,服务器接收到两条推送请求消息,则目标用户集的数量为 2,每个目标用户集可各自对应不同的待推送信息。例如,待推送信息包括第一待推送信息和第二待推送信息。参照表1,目标用户集记作目标用户集A和目标用户集B,目标用户集A对应第一待推送信息(表1以及后续表格中均记作待推送信息A),目标用户集B对应第二待推送信息(表 1以及后续表格中均记作待推送信息B)。
表1
在步骤202中,主节点将目标用户集拆分成K个推送用户集。
参照表2 ,主节点可将目标用户集A拆分成K个推送用户集,K个推送用户集包括推送用户集A1,推送用户集A2,推送用户集A3,其中K=K1≥1。
主节点将目标用户集B拆分成K个推送用户集,包括推送用户集B1,推送用户集B2,推送用户集B3,其中K=K2≥1。
在拆分不同的目标用户集时,对应K的取值可以相同也可以不同。例如,目标用户集A拆分为K=K1个推送用户集,目标用户集B拆分为K=K2个推送用户集,K1与K2没有固定大小关系。
表2
在步骤203中,主节点根据目标用户集所对应的待推送信息以及K个推送用户集生成K条推送任务。
在一个实施例中,K条推送任务均包括目标用户集所对应的待推送信息。以推送用户集A1为例,用户集A1对应的推送任务可包括用户集A1的标识信息以及A。
参照表3 ,推送用户集与推送任务一一对应,推送用户集A1对应的推送任务为推送任务A1,依次类推。
表3
在步骤204中,主节点按照K条推送任务的优先级生成推送任务队列。
在一个实施例中,主节点按照K条推送任务的优先级将K条推送任务排序,生成推送任务队列。
例如,参照图3所示,服务器收到第一条推送请求消息,第一条推送请求消息包括目标用户集A的标识信息以及待推送信息A。主节点生成推送任务A1、推送任务A2、推送任务A3后,将推送任务A1、推送任务A2、推送任务A3依次写入redis优先级队列,优先级等级设为低优先级。
服务器接收到第二条推送请求消息,第二条推送请求消息包括目标用户集B的标识信息以及待推送信息B。主节点生成推送任务B1、推送任务 B2、推送任务B3后,将推送任务B1、推送任务B2、推送任务B3依次写入 redis优先级队列,优先级等级设为高优先级。可选的,优先级越高的推送任务插入位置越接近推送任务队列的队首,即推送任务B1、推送任务B2、推送任务B3可以插入推送任务A1、推送任务A2、推送任务A3之前更接近队首的位置。
在步骤205中,主节点获取目标用户集对应的用户画像数据,将目标用户集对应的用户画像数据拆分成K个推送用户集对应的用户画像数据并保存。
步骤205可在步骤202后执行。
在一个实施例中,服务器通过分布式文件系统(英文全称:Hadoop DistributedFile System,英文简称:HDFS)预先存储目标用户集对应的用户画像数据。在接收到推送请求消息时,可读取已存储的目标用户集对应的用户画像数据。
主节点将目标用户集拆分成K个推送用户集,将目标用户集对应的用户画像数据拆分成K个推送用户集对应的用户画像数据。主节点可将K 个推送用户集对应的用户画像数据通过HDFS存储。
在步骤206中,从节点确定状态参数。
状态参数用于指示从节点当前时刻的未完成任务量。
在步骤207中,从节点确定状态参数所指示的未完成任务量小于预设的任务量时,读取推送任务队列中的首条推送任务。
其中,推送任务队列包括由主节点写入的推送任务。一条推送任务指示一个推送用户集以及该推送用户集所对应的待推送信息。参照表3,推送任务A1指示推送用户集A1以及对应的待推送信息A。
在步骤208中,从节点向推送用户集推送对应的待推送信息。
在一个实施例中,从节点获取推送用户集对应的用户画像数据,根据推送用户集对应的用户画像数据对推送用户集所对应的待推送信息打分,向推送用户集推送打分超过预设阈值的待推送信息。
参照图3以及表3 ,以执行推送任务B1的情形为例,从节点32读取 redis优先级队列中的推送任务B1,读取通过HDFS存储的推送用户集B1对应的用户画像数据,根据推送用户集B1对应的用户画像数据对待推送信息B打分,将待推送信息B中打分超过预设阈值的推送内容向推送用户集B1推送。
在一个实施例中,用户画像数据包括用于描述用户特征的各种数据。例如,性别、年龄、学历、关注的话题等等。待推送信息B可包括若干条待推送信息,可预先设置各条待推送信息与各种用户特征之间的匹配度权重值。
根据某一用户的画像数据,对待推送信息B进行打分,可以为根据该用户的画像数据,计算待推送信息B中每一条待推送信息所对应的权重值之和。
例如,一条待推送信息为体育类信息,用户A的画像数据包括:男性, 20岁,本科,关注体育类信息,用户B的画像数据包括:女性,21岁,本科,关注时尚类信息。
对应用户A的各种特征,该条体育类信息的权重值分比为W1、W2、 W3。对应用户B的各种特征,该条体育类信息的权重值分比为W4、W5、 W6。若W1、W2、W3之和超过预设阈值,则向用户A推送该条待推送信息。若W4、W5、W6之和小于预设阈值,则不向用户B推送该条待推送信息。
本公开实施例提供的推送信息的方法,从节点在确定当前时刻的未完成任务量小于一定限度时,读取推送任务队列中的推送任务,向目标设备推送第一待推送信息,即在未完成的任务量较少时,从推送任务队列中领取新的推送任务并执行。
在未完成的任务量大于一定限度时从节点继续执行当前的推送任务而不领取新的推送任务,可防止从节点出现任务积压。在未完成的任务量小于一定限度时从节点领取新的推送任务,可防止从节点出现闲置而导致资源浪费。
当从节点的数量有多个时,多个从节点可并发执行推送任务。采用本公开的技术方案,可防止部分从节点出现任务积压而部分从节点处于空闲状态造成资源浪费,在使得各个从节点的资源充分利用的同时,避免部分从节点上的任务积压,从而在整体上提高推送效率。
上述图1-图2对应的实施例,结合主节点和从节点对推送信息的方法做了示例性解释说明。特别指出的是,主节点和从节点可以指两个分立的服务器,也可以指一个服务器的两个功能模块,例如通过虚拟化技术实现的实例化的服务器,这些实例化的服务器可以集中部署,或者分布式部署并通过软件定义网络互相连接,以实现本公开的实施例所描述的推送信息的方法。
上述实施例中,主节点和从节点各自所执行的步骤,仅仅是对推送信息的方法步骤的一种示例性的、逻辑性的划分,并不表示某些步骤只能由从节点执行或者只能由主节点执行,也不排除还有其他的划分方式。
例如,在一个实施例中,主节点用作接收推送任务指示的统一的接口,而由从节点完成推送任务的拆分、推送任务队列的管理以及推送任务的执行。
在一种具体的应用场景中,需要推送信息的商家服务器(例如一个应用程序的运营商服务器)将信息推送服务外包,在需要向其服务的用户推送信息时,向用于承接推送任务的主节点发送推送请求消息。该主节点可以作为统一的提供推送服务的服务接口,接收来自多个商家服务器各自发送的推送请求消息。
主节点接收到推送请求消息时,可将推送请求消息转发至某个或者某些从节点。一个从节点接收到推送请求消息时,根据推送请求消息将目标用户集拆分成K个推送用户集,并根据目标用户集所对应的待推送信息以及K个推送用户集生成K条推送任务,将K条推送任务写入待执行的推送任务队列。
K条推送任务可以按照写入时间排序,或者按照优先级排序。写入时间越早或者优先级越高的推送任务越接近推送任务队列的队首。
从节点的数量有多个时,可以有部分从节点或者全部从节点具备管理推送任务队列的权限,即向推送任务队列写入待执行推送任务的权限。这些具备权限的从节点均可以向推送任务队列中插入新的推送任务。
所有从节点均可以从推送任务队列中读取推送任务。一个从节点在确定当前未完成任务量小于预设的任务量时,从推送任务队列中读取首条推送任务,向推送用户集对应的用户设备推送待推送信息。
可选的,主节点还可以接收商家服务器发送的目标用户集对应的用户画像数据,将接收到的用户画像数据转发至从节点。从节点可以将目标用户集对应的用户画像数据拆分成K个推送用户集对应的用户画像数据并保存,已保存的用户画像数据可以在多个从节点之间共享。一个从节点在执行推送任务时可读取已存的拆分好的用户画像数据,根据用户画像数据对待推送信息打分,然后推送打分超过预设阈值的待推送信息。
采用本公开的技术方案,可由主节点作为统一的提供推送服务的服务接口,接收来自多个商家服务器各自发送的推送请求消息。从节点可以集中或者分布式部署,并通过软件定义网络连接,用于完成推送任务的拆分、推送任务队列的管理以及推送任务的执行。从节点分布式部署时,可方便地向位于不同地区的用户提供推送服务。从节点在未完成的任务量大于一定限度时从推送任务队列读取新的推送任务,可防止部分从节点出现任务积压而部分从节点处于空闲状态造成资源浪费,在使得各个从节点的资源充分利用的同时,避免部分从节点上的任务积压,从而在整体上提高推送效率。
下述为本公开设备实施例,可以用于执行本公开方法实施例。
图4是根据一示例性实施例示出的一种电子设备的框图,该设备可以通过软件、硬件或者两者的结合实现其部分或者全部功能,用于执行图1- 图3对应的实施例中所描述的推送信息的方法。如图4所示,电子设备包括:
判定模块41,用于确定状态参数,状态参数用于指示当前时刻的未完成任务量。
触发模块42,用于在确定未完成任务量小于预设的任务量时,则读取推送任务队列中的首条推送任务。其中,推送任务队列包括K条推送任务, K≥1,K条推送任务分别用于指示K个推送用户集以及各自对应的第一待推送信息。
推送模块43,用于向目标设备推送对应的第一待推送信息。其中,目标设备为首条推送任务指示的推送用户集所对应的用户设备。
如图5所示,在一个实施例中,还包括:
任务模块44,用于接收目标用户集的标识信息以及目标用户集所对应的第二待推送信息。
拆分模块45,用于根据标识信息将目标用户集拆分成K个推送用户集。
生成模块46,用于根据第二待推送信息以及K个推送用户集,生成K 条推送任务,K条推送任务均包括第二待推送信息。
队列模块47,用于按照K条推送任务的优先级生成推送任务队列,其中优先级越高的推送任务插入位置越接近推送任务队列的队首。
如图6所示,在一个实施例中,还包括:
数据模块48,用于获取首条推送任务指示的推送用户集对应的用户画像数据。
加载模块49,用于根据首条推送任务指示的推送用户集对应的用户画像数据,对第二待推送信息打分。
推送模块43,用于向目标设备推送打分超过预设阈值的待推送信息。
如图7所示,在一个实施例中,数据模块48包括:
管理子模块481,用于获取目标用户集对应的用户画像数据,将目标用户集对应的用户画像数据拆分成K个推送用户集对应的用户画像数据并保存。
读取子模块482,用于读取已保存的首条推送任务指示的推送用户集的用户画像数据。
本公开实施例提供的电子设备,从节点在确定当前时刻的未完成任务量小于一定限度时,读取推送任务队列中的推送任务,向目标设备推送第一待推送信息,即在未完成的任务量较少时,从推送任务队列中领取新的推送任务并执行。
在未完成的任务量大于一定限度时从节点继续执行当前的推送任务而不领取新的推送任务,可防止从节点出现任务积压。在未完成的任务量小于一定限度时从节点领取新的推送任务,可防止从节点出现闲置而导致资源浪费。
当从节点的数量有多个时,多个从节点可并发执行推送任务。采用本公开的技术方案,可防止部分从节点出现任务积压而部分从节点处于空闲状态造成资源浪费,在使得各个从节点的资源充分利用的同时,避免部分从节点上的任务积压,从而在整体上提高推送效率。
图8是根据一示例性实施例示出的一种电子设备的框图,该设备可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部,该电子设备用于执行上述图1-图3对应的实施例中所描述的推送信息的方法。如图8所示,电子设备80包括:
处理器801。
用于存储处理器801可执行指令的存储器802。
其中,处理器801被配置为:
确定状态参数,状态参数用于指示当前时刻的未完成任务量。
若未完成任务量小于预设的任务量,则读取推送任务队列中的首条推送任务。其中,推送任务队列包括K条推送任务,K≥1,K条推送任务分别用于指示K个推送用户集以及各自对应的第一待推送信息。
向目标设备推送对应的第一待推送信息。其中,目标设备为首条推送任务指示的推送用户集所对应的用户设备。
在一个实施例中,上述处理器801还可被配置为:
接收目标用户集的标识信息以及目标用户集所对应的第二待推送信息。
根据标识信息将目标用户集拆分成K个推送用户集。
根据第二待推送信息以及K个推送用户集,生成K条推送任务,K 条推送任务均包括第二待推送信息。
按照K条推送任务的优先级生成推送任务队列,其中优先级越高的推送任务插入位置越接近推送任务队列的队首。
在一个实施例中,上述处理器801还可被配置为:
获取首条推送任务指示的推送用户集对应的用户画像数据。
根据首条推送任务指示的推送用户集对应的用户画像数据,对第二待推送信息打分。
向目标设备推送打分超过预设阈值的待推送信息。
在一个实施例中,上述处理器801还可被配置为:
获取目标用户集对应的用户画像数据,将目标用户集对应的用户画像数据拆分成K个推送用户集对应的用户画像数据并保存。
获取首条推送任务指示的推送用户集的用户画像数据,包括:读取已保存的首条推送任务指示的推送用户集的用户画像数据。
本公开实施例提供的电子设备,从节点在确定当前时刻的未完成任务量小于一定限度时,读取推送任务队列中的推送任务,向目标设备推送第一待推送信息,即在未完成的任务量较少时,从推送任务队列中领取新的推送任务并执行。
在未完成的任务量大于一定限度时从节点继续执行当前的推送任务而不领取新的推送任务,可防止从节点出现任务积压。在未完成的任务量小于一定限度时从节点领取新的推送任务,可防止从节点出现闲置而导致资源浪费。
当从节点的数量有多个时,多个从节点可并发执行推送任务。采用本公开的技术方案,可防止部分从节点出现任务积压而部分从节点处于空闲状态造成资源浪费,在使得各个从节点的资源充分利用的同时,避免部分从节点上的任务积压,从而在整体上提高推送效率。
图9是根据一示例性实施例示出的一种推送信息的系统的示意图,该系统用于执行上述图1-图3对应的实施例中所描述的推送信息的方法。如图9所示,推送信息的系统包括主节点服务器91、从节点服务器92:
从节点服务器92,被配置为确定状态参数,状态参数用于指示从节点服务器92当前时刻的未完成任务量。
主节点服务器91,被配置为向推送任务队列中写入K条推送任务,K ≥1,K条推送任务分别用于指示K个推送用户集以及各自对应的第一待推送信息。
从节点服务器92,被配置为在未完成任务量小于预设的任务量时,读取推送任务队列中的首条推送任务,并向目标设备推送对应的第一待推送信息。其中,目标设备为首条推送任务指示的推送用户集所对应的用户设备93。
在一个实施例中,主节点服务器91接收推送请求消息,推送请求消息包括目标用户集的标识信息以及目标用户集所对应的待推送信息。主节点服务器91将目标用户集拆分成K个推送用户集,并根据目标用户集所对应的待推送信息以及K个推送用户集生成K条推送任务,按照K条推送任务的优先级生成推送任务队。
从节点服务器92确定状态参数,根据状态参数确定未完成任务量小于预设的任务量时,读取推送任务队列中的首条推送任务,并向目标设备推送待推送信息。
在一个实施例中,主节点服务器91获取目标用户集对应的用户画像数据,将目标用户集对应的用户画像数据拆分成K个推送用户集对应的用户画像数据并保存。从节点服务器92读取已保存的首条推送任务指示的推送用户集的用户画像数据,根据用户画像数据对待推送信息打分,向目标设备推送打分超过预设阈值的待推送信息。
本公开实施例提供的推送信息的系统,由主节点进行推送任务的拆分,管理推送任务队列,从节点从推送任务队列读取推送任务并执行。
从节点在未完成的任务量大于一定限度时从节点继续执行当前的推送任务而不领取新的推送任务,可防止从节点出现任务积压。在未完成的任务量小于一定限度时从节点领取新的推送任务,可防止从节点出现闲置而导致资源浪费。
当从节点的数量有多个时,多个从节点可并发执行推送任务。采用本公开的技术方案,可防止部分从节点出现任务积压而部分从节点处于空闲状态造成资源浪费,在使得各个从节点的资源充分利用的同时,避免部分从节点上的任务积压,从而在整体上提高推送效率。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由服务器的处理组件执行以完成图1-图3对应的实施例中所描述的推送信息的方法。
例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器 (英文全称:Random Access Memory,英文简称:RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
服务器的处理组件可以被一个或多个应用专用集成电路(英文全称:Application Specific Integrated Circuit,英文简称:ASIC)、数字信号处理器(英文全称:Digital Signal Processing,英文简称:DSP)、数字信号处理设备(英文全称:DigitalSignal Processing Device,英文简称:DSPD)、可编程逻辑器件(英文全称:ProgrammableLogic Device,英文简称:PLD)、现场可编程门阵列(英文全称:Field Programmable GateArray,英文简称: FPGA)、控制器、微控制器、微处理器或其他电子元件实现。
当存储介质中的指令由服务器的处理组件执行时,使得服务器能够执行上述图1-图3对应的实施例中所描述的推送信息的方法,服务器包括主节点和从节点,该方法包括:
确定状态参数,状态参数用于指示当前时刻的未完成任务量。
若未完成任务量小于预设的任务量,则读取推送任务队列中的首条推送任务。其中,推送任务队列包括K条推送任务,K≥1,K条推送任务分别用于指示K个推送用户集以及各自对应的第一待推送信息。
向目标设备推送对应的第一待推送信息。其中,目标设备为首条推送任务指示的推送用户集所对应的用户设备。
在一个实施例中,该方法包括:
接收目标用户集的标识信息以及目标用户集所对应的第二待推送信息。
根据标识信息将目标用户集拆分成K个推送用户集。
根据第二待推送信息以及K个推送用户集,生成K条推送任务,K 条推送任务均包括第二待推送信息。
按照K条推送任务的优先级生成推送任务队列,其中优先级越高的推送任务插入位置越接近推送任务队列的队首。
在一个实施例中,该方法包括:
获取首条推送任务指示的推送用户集对应的用户画像数据。
根据首条推送任务指示的推送用户集对应的用户画像数据,对第二待推送信息打分。
向目标设备推送打分超过预设阈值的待推送信息。
在一个实施例中,该方法包括:
获取目标用户集对应的用户画像数据,将目标用户集对应的用户画像数据拆分成K个推送用户集对应的用户画像数据并保存。
读取已保存的首条推送任务指示的推送用户集的用户画像数据。
本公开实施例提供的终端设备以及存储介质,从节点在确定当前时刻的未完成任务量小于一定限度时,读取推送任务队列中的推送任务,向目标设备推送第一待推送信息,即在未完成的任务量较少时,从推送任务队列中领取新的推送任务并执行。
在未完成的任务量大于一定限度时从节点继续执行当前的推送任务而不领取新的推送任务,可防止从节点出现任务积压。在未完成的任务量小于一定限度时从节点领取新的推送任务,可防止从节点出现闲置而导致资源浪费。
当从节点的数量有多个时,多个从节点可并发执行推送任务。采用本公开的技术方案,可防止部分从节点出现任务积压而部分从节点处于空闲状态造成资源浪费,在使得各个从节点的资源充分利用的同时,避免部分从节点上的任务积压,从而在整体上提高推送效率。
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,因此,本公开的保护范围应以权利要求的保护范围为准。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围应以权利要求的保护范围为准。
Claims (11)
1.一种推送信息的方法,其特征在于,应用于从节点服务器,包括:
确定状态参数,所述状态参数用于指示所述从节点服务器当前时刻的未完成任务量;
若所述未完成任务量小于预设的任务量,则读取推送任务队列中的首条推送任务;其中,所述推送任务队列是由主节点服务器按照K条推送任务的优先级生成的,K≥1,所述K条推送任务分别用于指示K个推送用户集以及各自对应的第一待推送信息;
向目标设备推送对应的所述第一待推送信息;其中,所述目标设备为所述首条推送任务指示的推送用户集所对应的用户设备。
2.根据权利要求1所述的推送信息的方法,其特征在于,所述推送信息的方法还包括:
接收目标用户集的标识信息以及所述目标用户集所对应的第二待推送信息;
根据所述标识信息将所述目标用户集拆分成所述K个推送用户集;
根据所述第二待推送信息以及所述K个推送用户集,生成所述K条推送任务,所述K条推送任务均包括所述第二待推送信息;
按照所述K条推送任务的优先级生成所述推送任务队列,其中优先级越高的推送任务插入位置越接近所述推送任务队列的队首。
3.根据权利要求2所述的推送信息的方法,其特征在于,所述推送信息的方法还包括:
获取所述首条推送任务指示的推送用户集对应的用户画像数据;
根据所述首条推送任务指示的推送用户集对应的用户画像数据,对所述第二待推送信息打分;
向所述目标设备推送打分超过预设阈值的待推送信息。
4.根据权利要求3所述的推送信息的方法,其特征在于,所述推送信息的方法还包括:
获取所述目标用户集对应的用户画像数据,将所述目标用户集对应的用户画像数据拆分成所述K个推送用户集对应的用户画像数据并保存;
所述获取所述首条推送任务指示的推送用户集的用户画像数据,包括:读取已保存的所述首条推送任务指示的推送用户集的用户画像数据。
5.一种推送信息的设备,其特征在于,应用于从节点服务器,包括:
判定模块,用于确定状态参数,所述状态参数用于指示所述从节点服务器当前时刻的未完成任务量;
触发模块,用于在确定所述未完成任务量小于预设的任务量时,则读取推送任务队列中的首条推送任务;其中,所述推送任务队列是由主节点服务器按照K条推送任务的优先级生成的,K≥1,所述K条推送任务分别用于指示K个推送用户集以及各自对应的第一待推送信息;
推送模块,用于向目标设备推送对应的所述第一待推送信息;其中,所述目标设备为所述首条推送任务指示的推送用户集所对应的用户设备。
6.根据权利要求5所述的推送信息的设备,其特征在于,还包括:
任务模块,用于接收目标用户集的标识信息以及所述目标用户集所对应的第二待推送信息;
拆分模块,用于根据所述标识信息将所述目标用户集拆分成所述K个推送用户集;
生成模块,用于根据所述第二待推送信息以及所述K个推送用户集,生成所述K条推送任务,所述K条推送任务均包括所述第二待推送信息;
队列模块,用于按照所述K条推送任务的优先级生成所述推送任务队列,其中优先级越高的推送任务插入位置越接近所述推送任务队列的队首。
7.根据权利要求6所述的推送信息的设备,其特征在于,还包括:
数据模块,用于获取所述首条推送任务指示的推送用户集对应的用户画像数据;
筛选模块,用于根据所述首条推送任务指示的推送用户集对应的用户画像数据,对所述第二待推送信息打分;
所述推送模块,用于向所述目标设备推送打分超过预设阈值的待推送信息。
8.根据权利要求7所述的推送信息的设备,其特征在于,所述数据模块包括:
管理子模块,用于获取所述目标用户集对应的用户画像数据,将所述目标用户集对应的用户画像数据拆分成所述K个推送用户集对应的用户画像数据并保存;
读取子模块,用于读取已保存的所述首条推送任务指示的推送用户集的用户画像数据。
9.一种推送信息的设备,其特征在于,应用于从节点服务器,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
确定状态参数,所述状态参数用于指示所述从节点服务器当前时刻的未完成任务量;
若所述未完成任务量小于预设的任务量,则读取推送任务队列中的首条推送任务;其中,所述推送任务队列是由主节点服务器按照K条推送任务的优先级生成的,K≥1,所述K条推送任务分别用于指示K个推送用户集以及各自对应的第一待推送信息;
向目标设备推送对应的所述第一待推送信息;其中,所述目标设备为所述首条推送任务指示的推送用户集所对应的用户设备。
10.一种推送信息的系统,其特征在于,所述系统包括主节点服务器和从节点服务器:
所述从节点服务器,被配置为确定状态参数,所述状态参数用于指示所述从节点服务器当前时刻的未完成任务量;
所述主节点服务器,被配置为按照K条推送任务的优先级生成推送任务队列,K≥1,所述K条推送任务分别用于指示K个推送用户集以及各自对应的第一待推送信息;
所述从节点服务器,被配置为在所述未完成任务量小于预设的任务量时,读取所述推送任务队列中的首条推送任务,并向目标设备推送对应的所述第一待推送信息;其中,所述目标设备为所述首条推送任务指示的推送用户集所对应的用户设备。
11.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-4任一项所述推送信息的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910435777.3A CN110225102B (zh) | 2019-05-23 | 2019-05-23 | 推送信息的方法、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910435777.3A CN110225102B (zh) | 2019-05-23 | 2019-05-23 | 推送信息的方法、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110225102A CN110225102A (zh) | 2019-09-10 |
CN110225102B true CN110225102B (zh) | 2022-06-03 |
Family
ID=67817873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910435777.3A Active CN110225102B (zh) | 2019-05-23 | 2019-05-23 | 推送信息的方法、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110225102B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708360A (zh) * | 2019-09-17 | 2020-01-17 | Oppo广东移动通信有限公司 | 一种信息处理方法、系统和电子设备 |
CN113807621B (zh) * | 2020-06-12 | 2024-03-19 | 北京四维图新科技股份有限公司 | 数据处理方法、装置及设备 |
CN112966185B (zh) * | 2021-03-23 | 2022-12-13 | 云账户技术(天津)有限公司 | 信息推送方法、装置和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104901817A (zh) * | 2014-03-07 | 2015-09-09 | 腾讯科技(北京)有限公司 | 目标信息推送方法及装置 |
CN105610886A (zh) * | 2014-11-25 | 2016-05-25 | 腾讯科技(深圳)有限公司 | 信息推送的控制方法及信息推送平台 |
CN106127504A (zh) * | 2016-06-12 | 2016-11-16 | 北京三快在线科技有限公司 | 电子物品券的推送方法、生成方法、装置、用户终端及服务器 |
CN107395689A (zh) * | 2017-06-28 | 2017-11-24 | 湖南统科技有限公司 | 消防信息的分类推送方法及系统 |
CN107743138A (zh) * | 2017-07-24 | 2018-02-27 | 上海壹账通金融科技有限公司 | 推送服务器分配方法、装置、计算机设备和存储介质 |
CN108965935A (zh) * | 2018-07-31 | 2018-12-07 | 山东广电网络有限公司 | 多终端广电业务的数据采集分析和信息推送的方法及设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006005479B4 (de) * | 2006-02-03 | 2021-04-08 | Nec Corporation | Verfahren zur Verbreitung von Inhalten an mehrere Nutzer |
CN102915254B (zh) * | 2011-08-02 | 2018-04-06 | 中兴通讯股份有限公司 | 任务管理方法及装置 |
CN107613529B (zh) * | 2017-07-31 | 2021-06-01 | 上海华为技术有限公司 | 消息处理方法以及基站 |
CN109542595B (zh) * | 2017-09-21 | 2023-02-24 | 阿里巴巴集团控股有限公司 | 一种数据采集方法、装置和系统 |
-
2019
- 2019-05-23 CN CN201910435777.3A patent/CN110225102B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104901817A (zh) * | 2014-03-07 | 2015-09-09 | 腾讯科技(北京)有限公司 | 目标信息推送方法及装置 |
CN105610886A (zh) * | 2014-11-25 | 2016-05-25 | 腾讯科技(深圳)有限公司 | 信息推送的控制方法及信息推送平台 |
CN106127504A (zh) * | 2016-06-12 | 2016-11-16 | 北京三快在线科技有限公司 | 电子物品券的推送方法、生成方法、装置、用户终端及服务器 |
CN107395689A (zh) * | 2017-06-28 | 2017-11-24 | 湖南统科技有限公司 | 消防信息的分类推送方法及系统 |
CN107743138A (zh) * | 2017-07-24 | 2018-02-27 | 上海壹账通金融科技有限公司 | 推送服务器分配方法、装置、计算机设备和存储介质 |
CN108965935A (zh) * | 2018-07-31 | 2018-12-07 | 山东广电网络有限公司 | 多终端广电业务的数据采集分析和信息推送的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110225102A (zh) | 2019-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110225102B (zh) | 推送信息的方法、设备及系统 | |
US8266289B2 (en) | Concurrent data processing in a distributed system | |
US9448861B2 (en) | Concurrent processing of multiple received messages while releasing such messages in an original message order with abort policy roll back | |
US20150363229A1 (en) | Resolving task dependencies in task queues for improved resource management | |
JP2004056517A (ja) | トランザクション振り分けプログラム | |
CN107832143B (zh) | 一种物理机资源的处理方法和装置 | |
CN112148468B (zh) | 一种资源调度方法、装置、电子设备及存储介质 | |
CN106775948B (zh) | 一种基于优先级的云任务调度方法及装置 | |
US10437645B2 (en) | Scheduling of micro-service instances | |
CN111274021B (zh) | 一种gpu集群任务调度分配方法 | |
CN109840149B (zh) | 任务调度方法、装置、设备及存储介质 | |
CN110673959A (zh) | 用于处理任务的系统、方法和装置 | |
US20110131288A1 (en) | Load-Balancing In Replication Engine of Directory Server | |
CN113327053A (zh) | 任务处理方法及装置 | |
US20150365474A1 (en) | Computer-readable recording medium, task assignment method, and task assignment apparatus | |
CN111679900A (zh) | 任务处理方法和装置 | |
CA2631255A1 (en) | Scalable scheduling of tasks in heterogeneous systems | |
CN111143063B (zh) | 任务的资源预约方法及装置 | |
CN103299298B (zh) | 处理业务的方法和系统 | |
CN111124708B (zh) | 面向微服务的批推理方法、服务器和计算机可读存储介质 | |
CN113326150A (zh) | 一种联机小批量消息处理方法和装置 | |
US20150254102A1 (en) | Computer-readable recording medium, task assignment device, task execution device, and task assignment method | |
CN109426561A (zh) | 一种任务处理方法、装置及设备 | |
CN112181645A (zh) | 一种资源调度的方法、装置、设备及存储介质 | |
US20170147962A1 (en) | Method and system for assigning service requests |
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 |