CN107977382B - 用于推送信息的方法和装置 - Google Patents
用于推送信息的方法和装置 Download PDFInfo
- Publication number
- CN107977382B CN107977382B CN201610939812.1A CN201610939812A CN107977382B CN 107977382 B CN107977382 B CN 107977382B CN 201610939812 A CN201610939812 A CN 201610939812A CN 107977382 B CN107977382 B CN 107977382B
- Authority
- CN
- China
- Prior art keywords
- user information
- pushed
- pushing
- target user
- information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了用于推送信息的方法和装置。所述方法的一具体实施方式包括:接收信息推送请求,其中,所述信息推送请求包括拟推送数目和待推送信息;确定用于对至少一个用户信息组进行指示的相应索引,其中,一个索引用于指示一个用户信息组;从所述相应索引中随机选取索引作为目标索引;从所述目标索引所指示的目标用户信息组中随机选取所述拟推送数目条目标用户信息;向所述目标用户信息所指示的用户终端推送所述待推送信息。该实施方式实现了实时高效的信息推送。
Description
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及用于推送信息的方法和装置。
背景技术
随着移动互联网的日益普及,网络已成为人们生活中不可缺少的一部分。通常,客户可以通过网络主动地向用户推送用户感兴趣的信息,帮助用户高效率地发掘有价值的信息;也可以通过向用户推送信息(例如调研问卷)来做市场调研。
然而现有的信息推送方法通常是先读取所有的用户信息,之后在所有的用户信息中随机选取目标用户信息,然后向目标用户信息所指示的用户终端推送信息。上述信息推送方法虽然可以实现信息推送,但存在不能实时高效地完成信息推送的缺陷。
发明内容
第一方面,本申请提供了一种用于推送信息的方法,所述方法包括:接收信息推送请求,其中,所述信息推送请求包括拟推送数目和待推送信息;确定用于对至少一个用户信息组进行指示的相应索引,其中,一个索引用于指示一个用户信息组;从所述相应索引中随机选取索引作为目标索引;从所述目标索引所指示的目标用户信息组中随机选取所述拟推送数目条目标用户信息;向所述目标用户信息所指示的用户终端推送所述待推送信息。
在一些实施例中,所述确定用于对至少一个用户信息组进行指示的相应索引,包括:从所连接的数据库获取所有用户信息;将所获取的用户信息划分成所述至少一个用户信息组,并设置用于对所述至少一个用户信息组进行指示的相应索引,其中,所述至少一个用户信息组中的每一个用户信息组包含的用户信息的数目不大于预置用户信息数目。
在一些实施例中,所述推送请求包括推送方式;以及所述从所述目标索引所指示的目标用户信息组中随机选取所述拟推送数目条目标用户信息,包括:计算所述推送方式的数目与所述拟推送数目的乘积,将预置用户信息数目与所述乘积的比值作为第一计算值;从零至所述第一计算值的数值范围中产生一个随机数作为随机对比值,其中,零至所述第一计算值的数值范围包括所述第一计算值,不包括零;执行以下步骤来选取每一条目标用户信息,直至所选取的目标用户信息的数目达到所述拟推送数目:将所述目标用户信息组当前包含的用户信息的数目与所述拟推送数目的比值作为第二计算值;从零至所述第二计算值的数值范围中产生一个随机数作为候选值,其中,零至所述第二计算值的数值范围包括所述第二计算值,不包括零;响应于所述候选值等于所述随机对比值,选取所述候选值所指示的用户信息作为目标用户信息,记录所选取的目标用户信息并将所选取的目标用户信息从所述目标用户信息组中移除。
在一些实施例中,所述向所述目标用户信息所指示的用户终端推送所述待推送信息,包括:从所述推送方式中为所述用户终端随机分配推送方式;采用所分配的推送方式向所述用户终端推送所述待推送信息。
在一些实施例中,所述数据库为支持通过分布式结构化查询语言查询引擎进行数据查询的数据库。
第二方面,本申请提供了一种用于推送信息的装置,所述装置包括:接收单元,配置用于接收信息推送请求,其中,所述信息推送请求包括拟推送数目和待推送信息;确定单元,配置用于确定用于对至少一个用户信息组进行指示的相应索引,其中,一个索引用于指示一个用户信息组;第一选取单元,配置用于从所述相应索引中随机选取索引作为目标索引;第二选取单元,配置用于从所述目标索引所指示的目标用户信息组中随机选取所述拟推送数目条目标用户信息;推送单元,配置用于向所述目标用户信息所指示的用户终端推送所述待推送信息。
在一些实施例中,所述确定单元包括:获取子单元,配置用于从所连接的数据库获取所有用户信息;设置子单元,配置用于将所获取的用户信息划分成所述至少一个用户信息组,并设置用于对所述至少一个用户信息组进行指示的相应索引,其中,所述至少一个用户信息组中的每一个用户信息组包含的用户信息的数目不大于预置用户信息数目。
在一些实施例中,所述推送请求包括推送方式;以及所述第二选取单元包括:第一计算值确定子单元,配置用于计算所述推送方式的数目与所述拟推送数目的乘积,将预置用户信息数目与所述乘积的比值作为第一计算值;随机对比值确定子单元,配置用于从零至所述第一计算值的数值范围中产生一个随机数作为随机对比值,其中,零至所述第一计算值的数值范围包括所述第一计算值,不包括零;目标用户信息选取子单元,配置用于执行以下步骤来选取每一条目标用户信息,直至所选取的目标用户信息的数目达到所述拟推送数目:将所述目标用户信息组当前包含的用户信息的数目与所述拟推送数目的比值作为第二计算值;从零至所述第二计算值的数值范围中产生一个随机数作为候选值,其中,零至所述第二计算值的数值范围包括所述第二计算值,不包括零;响应于所述候选值等于所述随机对比值,选取所述候选值所指示的用户信息作为目标用户信息,记录所选取的目标用户信息并将所选取的目标用户信息从所述目标用户信息组中移除。
在一些实施例中,所述推送单元包括:分配子单元,配置用于从所述推送方式中为所述用户终端随机分配推送方式;推送子单元,配置用于采用所分配的推送方式向所述用户终端推送所述待推送信息。
在一些实施例中,所述数据库为支持通过分布式结构化查询语言查询引擎进行数据查询的数据库。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当上述一个或多个程序被上述一个或多个处理器执行,使得上述一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,上述程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
本申请提供的用于推送信息的方法和装置,通过在接收到信息推送请求后确定用于对至少一个用户信息组进行指示的相应索引,以便在上述相应索引中随机选取索引作为目标索引,之后从上述目标索引所指示的目标用户信息组中随机选取拟推送数目条目标用户信息,最后向上述目标用户信息所指示的用户终端推送待推送信息,从而有效利用了目标用户信息组以及目标用户信息的等概率选取,实现了实时高效的信息推送。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性***架构图;
图2是根据本申请的用于推送信息的方法的一个实施例的流程图;
图3是根据本申请的用于推送信息的方法的一个应用场景的示意图;
图4是根据本申请的用于推送信息的方法的又一个实施例的流程图;
图5是根据本申请的用于推送信息的装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的服务器的计算机***的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于推送信息的方法或用于推送信息的装置的实施例的示例性***架构100。
如图1所示,***架构100可以包括客户端101、102、103,网络104和服务器105。网络104用以在客户端101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
客户可以使用客户端101、102、103通过网络104与服务器105交互,以接收或发送消息等。客户端101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、问卷调研应用、即时通信工具、邮箱客户端、社交平台软件等。
客户端101、102、103可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对客户端101、102、103发来的信息推送请求提供支持的后台服务器。后台服务器可以根据接收到的信息推送请求来自动地选取目标用户信息,并将上述请求包含的待推送信息推送给上述目标用户信息所指示的用户终端(图中未示出)。
需要说明的是,本申请实施例所提供的用于推送信息的方法一般由服务器105执行,相应地,用于推送信息的装置一般设置于服务器105中。
应该理解,图1中的客户端、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端、网络和服务器。
继续参考图2,示出了根据本申请的用于推送信息的方法的一个实施例的流程200。所述的用于推送信息的方法,包括以下步骤:
步骤201,接收信息推送请求。
在本实施例中,用于推送信息的方法运行于其上的电子设备(例如图1所示的服务器105)可以通过有线连接方式或者无线连接方式从客户利用其进行信息推送的终端(例如图1所示的客户端101、102、103)接收信息推送请求,其中,上述信息推送请求可以包括拟推送数目和待推送信息。这里,拟推送数目为待选取的目标用户信息的数目;待推送信息的格式可以为html、txt、doc等。需要说明的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
步骤202,确定用于对至少一个用户信息组进行指示的相应索引。
在本实施例中,如果与上述电子设备进行网络连接的数据库中已存储有上述相应索引,上述电子设备可以直接从上述数据库中读取上述相应索引。其中,一个索引用于指示一个用户信息组。这里,上述数据库可以为本地数据库,也可以为与上述电子设备远程连接的数据库。
在本实施例的一些可选的实现方式中,如果上述数据库中未存储上述相应索引,上述电子设备可以从所连接的数据库获取所有用户信息,将所获取的用户信息划分成至少一个用户信息组,并设置用于对所划分的至少一个用户信息组进行指示的相应索引。其中,上述至少一个用户信息组中的每一个用户信息组包含的用户信息的数目不大于预置用户信息数目(例如10万)。作为示例,如果所获取的用户信息为1000万,预置用户信息数目为10万,则上述电子设备可以将所获取的用户信息划分成100个用户信息组,每个用户信息组包含10万条用户信息。
需要说明的是,上述预置用户信息数目可以是人为设置的,并且可以根据实际需求进行调整。可选地,对于上述至少一个用户信息组中的每一个用户信息组,该用户信息组中的用户信息可以按照创建时间进行排序,上述电子设备可以将该用户信息组的起始用户信息的标识和结束用户信息的标识分别作为用于对该用户信息组进行指示的索引的起始索引号和结束索引号。这里,上述电子设备还可以将所设置的索引存储在本地数据库或与上述电子设备远程连接的数据库。
需要指出的是,上述所连接的数据库可以为支持通过分布式结构化查询语言(Structured Query Language,SQL)查询引擎Presto进行数据查询的数据库。Presto可以适用于交互式分析查询,可对250PB(Petabytes,拍字节)以上的数据进行快速地交互式分析。这里,上述电子设备可以将所获取的所有用户信息存储在上述电子设备的内存中。
在本实施例的一些可选的实现方式中,上述电子设备可以在每一个更新周期(例如7天为一个更新周期)执行一次对上述相应索引进行设置的流程。其中,更新周期可以是人为设置的,每一个更新周期的时长可以根据实际需求进行调整。可选地,在每个新的更新周期到来时,内存中所存储的在前一个更新周期获取的所有用户信息会被自动清除。
步骤203,从相应索引中随机选取索引作为目标索引。
在本实施例中,上述电子设备可以从上述相应索引中随机选取索引作为目标索引。作为示例,如果上述相应索引的数目为5,与上述相应索引分别对应的标识为1、2、3、4和5,上述电子设备可以利用随机数发生器(random)在零至5的数值范围中产生一个随机整数,例如所产生的随机整数为5,那么上述电子设备可以选取标识为5的索引作为目标索引。其中,零至5的数值范围可以包括5,不包括零。
步骤204,从目标索引所指示的目标用户信息组中随机选取拟推送数目条目标用户信息。
在本实施例中,上述电子设备可以利用随机数发生器在零至上述目标用户信息组包含的用户信息的数目的数值范围中产生上述拟推送数目个互不相同的随机数,并选取所产生的随机数所指示的用户信息作为目标用户信息。其中,零至上述目标用户信息组包含的用户信息的数目的数值范围可以包括上述目标用户信息组包含的用户信息的数目,不包括零。
步骤205,向目标用户信息所指示的用户终端推送待推送信息。
在本实施例中,上述电子设备可以采用默认的推送方式向上述目标用户所指示的用户终端推送上述待推送信息。其中,默认的信息推送方式可以是短信推送、应用消息、邮件推送等。
继续参见图3,图3是根据本实施例的用于推送信息的方法的应用场景的一个示意图。在图3的应用场景中,客户首先发起一个信息推送请求,其中,上述信息推送请求可以包括拟推送数目200和待推送信息;之后,如标号301所示,后台服务器可以接收上述信息推送请求;然后,如标号302所示,上述后台服务器可以在本地数据库中读取出已存储的用于对5个用户信息组进行指示的相应索引;接着,如标号303所示,上述后台服务器可以利用随机数发生器在零至5的数值范围中产生一个随机整数,例如所产生的随机整数为5,上述电子设备可以选取随机整数5所指示的用户信息组作为目标用户信息组,其中,零至5的数值范围可以包括5,不包括零;再接着,如标号304所示,上述电子设备可以利用随机数发生器在零至上述目标用户信息组包含的用户信息的数目(例如10万)的数值范围中产生200个互不相同的随机数,并选取所产生的200个互不相同的随机数所指示的用户信息作为目标用户信息,其中,零至10万的数值范围可以包括10万,不包括零;最后,如标号305所示,上述电子设备可以采用默认的推送方式向所选取的200条目标用户信息所指示的用户终端推送上述待推送信息。
本申请的上述实施例提供的方法通过在所确定的用于对至少一个用户信息组进行指示的相应索引中随机选取索引作为目标索引,之后在目标索引所指示的用户信息组中随机选取拟推送数目条用户信息作为目标用户信息,然后向目标用户信息所指示的用户终端推送待推送信息,避免了在每一次进行目标用户信息选取时都要读取所有的用户信息,提高了用户信息读取的实时性,从而有效利用了目标用户信息组以及目标用户信息的等概率选取,实现了实时高效的信息推送。
进一步参考图4,其示出了用于推送信息的方法的又一个实施例的流程400。该用于推送信息的方法的流程400,包括以下步骤:
步骤401,接收信息推送请求。
在本实施例中,用于推送信息的方法运行于其上的电子设备(例如图1所示的服务器105)可以通过有线连接方式或者无线连接方式从客户利用其进行信息推送的终端(例如图1所示的客户端101、102、103)接收信息推送请求,其中,上述信息推送请求可以包括拟推送数目和待推送信息。这里,拟推送数目为待选取的目标用户信息的数目;待推送信息的格式可以为html、txt、doc等。
步骤402,确定用于对至少一个用户信息组进行指示的相应索引。
在本实施例中,如果与上述电子设备进行网络连接的数据库中已存储有上述相应索引,上述电子设备可以直接从上述数据库中读取上述相应索引。其中,一个索引用于指示一个用户信息组。这里,上述数据库可以为本地数据库,也可以为与上述电子设备远程连接的数据库。
步骤403,从相应索引中随机选取索引作为目标索引。
在本实施例中,上述电子设备可以从上述相应索引中随机选取索引作为目标索引。作为示例,如果上述相应索引的数目为5,与上述相应索引分别对应的标识为1、2、3、4和5,上述电子设备可以利用随机数发生器在零至5的数值范围中产生一个随机整数,例如所产生的随机整数为5,那么上述电子设备可以选取标识为5的索引作为目标索引。其中,零至5的数值范围可以包括5,不包括零。
步骤404,计算推送方式的数目与拟推送数目的乘积,将预置用户信息数目与上述乘积的比值作为第一计算值。
在本实施例中,上述电子设备可以计算出上述推送方式的数目与上述拟推送数目的乘积,并将预置用户信息数目与上述乘积的比值作为第一计算值。之后上述电子设备可以执行步骤405。
在本实施例的一些可选的实现方式中,上述预置用户信息数目与上述乘积的比值可以为取整后的比值。
步骤405,从零至第一计算值的数值范围中产生一个随机数作为随机对比值。
在本实施例中,上述电子设备可以利用随机数发生器从零至上述第一计算值的数值范围中产生一个随机数作为随机对比值。其中,零至上述第一计算值的数值范围可以包括上述第一计算值,不包括零。之后,上述电子可以执行步骤406。
步骤406,执行以下步骤来选取每一条目标用户信息,直至所选取的目标用户信息的数目达到拟推送数目。
在本实施例中,上述电子设备可以执行以下步骤来选取每一条目标用户信息,直至所选取的目标用户信息的数目达到上述拟推送数目:上述电子设备可以先将上述目标用户信息组当前包含的用户信息的数目与上述拟推送数目的比值作为第二计算值;之后,上述电子设备可以从零至上述第二计算值的数值范围中产生一个随机数作为候选值,其中,零至上述第二计算值的数值范围可以包括上述第二计算值,不包括零;响应于上述候选值等于上述随机对比值,上述电子设备可以选取上述候选值所指示的用户信息为目标用户信息,记录所选取的目标用户信息并将所选取的目标用户信息从上述目标用户信息组中移除。
步骤407,从上述推送方式中为上述用户终端随机分配推送方式。
在本实施例中,上述电子设备可以从上述推送方式中为上述用户终端随机分配推送方式。作为示例,上述用户终端可以有与其对应的编号,例如001、002和003,其中,上述用户终端的编号可以为与其对应的用户信息的标识;上述推送方式可以有与其对应的编号,例如1、2和3;如果上述电子设备要为编号为001的用户终端分配推送方式,上述电子设备可以在零至3的数值范围中产生一个随机数,例如所产生的随机数为2,则上述电子设备可以将随机数2所指示的编号为2的推送方式分配给编号为001的用户终端,其中,零至3的数值范围可以包括3,不包括零。
步骤408,采用所分配的推送方式向上述用户终端推送待推送信息。
在本实施例中,上述电子设备可以采用所分配的推送方式向上述用户终端推送待推送信息。作为示例,如果上述用户终端分别为编号为001、002、003和004的用户终端,随机分配给编号为001的用户终端的推送方式为短信推送,随机分配给编号为002的用户终端的推送方式为邮件推送,随机分配给编号为003以及编号为004的用户终端的推送方式都为应用消息,则上述电子设备可以采用短信推送向编号为001的用户终端推送待推送信息,可以采用邮件推送向“编号为002的用户终端推送待推送信息,可以采用应用消息向编号为003以及编号为004的用户终端推送待推送信息。
从图4中可以看出,与图2对应的实施例相比,本实施例中的用于推送信息的方法的流程400突出了对目标用户信息进行选取的步骤以及向用户终端推送待推送信息的步骤。由此,本实施例描述的方案可以实现对用户信息的实时查询并避免相同数据的重复查询,可以进一步地实现对目标用户信息的高效等概率选取,通过为每一条目标用户信息所指示的用户终端随机分配推送方式可以保证推送结果的公平性和随机性。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于推送信息的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例所述的用于推送信息的装置500包括:接收单元501、确定单元502,第一选取单元503、第二选取单元504和推送单元505。其中,接收单元501配置用于接收信息推送请求,其中,上述信息推送请求包括拟推送数目和待推送信息;确定单元502配置用于确定用于对至少一个用户信息组进行指示的相应索引,其中,一个索引用于指示一个用户信息组;第一选取单元503配置用于从上述相应索引中随机选取索引作为目标索引;第二选取单元504配置用于从上述目标索引所指示的目标用户信息组中随机选取上述拟推送数目条目标用户信息;而推送单元505配置用于向上述目标用户信息所指示的用户终端推送上述待推送信息。
在本实施例中,用于推送信息的装置500中:接收单元501、确定单元502,第一选取单元503、第二选取单元504和推送单元505的具体处理及其带来的有益效果可参看图2对应实施例中的步骤201、步骤202、步骤203、步骤204和步骤205的实现方式的相关描述,在此不再赘述。
在本实施例的一些可选的实现方式中,上述确定单元502可以包括:获取子单元(图中未示出),配置用于从所连接的数据库获取所有用户信息;设置子单元(图中未示出),配置用于将所获取的用户信息划分成上述至少一个用户信息组,并设置用于对上述至少一个用户信息组进行指示的相应索引,其中,上述至少一个用户信息组中的每一个用户信息组包含的用户信息的数目不大于预置用户信息数目。
在本实施例的一些可选的实现方式中,上述推送请求可以包括推送方式;以及上述第二选取单元504可以包括:第一计算值确定子单元(图中未示出),配置用于计算上述推送方式的数目与上述拟推送数目的乘积,将预置用户信息数目与上述乘积的比值作为第一计算值;随机对比值确定子单元(图中未示出),配置用于从零至上述第一计算值的数值范围中产生一个随机数作为随机对比值,其中,零至上述第一计算值的数值范围可以包括上述第一计算值,不包括零;目标用户信息选取子单元(图中未示出),配置用于执行以下步骤来选取每一条目标用户信息,直至所选取的目标用户信息的数目达到上述拟推送数目:将上述目标用户信息组当前包含的用户信息的数目与上述拟推送数目的比值作为第二计算值;从零至上述第二计算值的数值范围中产生一个随机数作为候选值,其中,零至上述第二计算值的数值范围可以包括上述第二计算值,不包括零;响应于上述候选值等于上述随机对比值,选取上述候选值所指示的用户信息作为目标用户信息,记录所选取的目标用户信息并将所选取的目标用户信息从上述目标用户信息组中移除。
在本实施例的一些可选的实现方式中,上述推送单元505可以包括:分配子单元(图中未示出),配置用于从上述推送方式中为上述用户终端随机分配推送方式;推送子单元(图中未示出),配置用于采用所分配的推送方式向上述用户终端推送上述待推送信息。
在本实施例的一些可选的实现方式中,上述数据库为支持通过分布式结构化查询语言查询引擎进行数据查询的数据库。
下面参考图6,其示出了适于用来实现本申请实施例的服务器的计算机***600的结构示意图。
如图6所示,计算机***600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有***600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、确定单元、第一选取单元、第二选取单元和推送单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收信息推送请求的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:接收信息推送请求,其中,上述信息推送请求包括拟推送数目和待推送信息;确定用于对至少一个用户信息组进行指示的相应索引,其中,一个索引用于指示一个用户信息组;从上述相应索引中随机选取索引作为目标索引;从上述目标索引所指示的目标用户信息组中随机选取上述拟推送数目条目标用户信息;向上述目标用户信息所指示的用户终端推送上述待推送信息。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种用于推送信息的方法,其特征在于,所述方法包括:
接收信息推送请求,其中,所述信息推送请求包括拟推送数目、待推送信息和推送方式;
确定用于对至少一个用户信息组进行指示的相应索引,其中,一个索引用于指示一个用户信息组;
从所述相应索引中随机选取索引作为目标索引;
从所述目标索引所指示的目标用户信息组中随机选取条数为所述拟推送数目的目标用户信息;
向所述目标用户信息所指示的用户终端推送所述待推送信息;其中,
所述从所述目标索引所指示的目标用户信息组中随机选取条数为所述拟推送数目的目标用户信息,包括:
计算所述推送方式的数目与所述拟推送数目的乘积,将预置用户信息数目与所述乘积的比值作为第一计算值;
从零至所述第一计算值的数值范围中产生一个随机数作为随机对比值,其中,零至所述第一计算值的数值范围包括所述第一计算值,不包括零;
执行以下步骤来选取每一条目标用户信息,直至所选取的目标用户信息的数目达到所述拟推送数目:将所述目标用户信息组当前包含的用户信息的数目与所述拟推送数目的比值作为第二计算值;从零至所述第二计算值的数值范围中产生一个随机数作为候选值,其中,零至所述第二计算值的数值范围包括所述第二计算值,不包括零;响应于所述候选值等于所述随机对比值,选取所述候选值所指示的用户信息作为目标用户信息。
2.根据权利要求1所述的方法,其特征在于,所述确定用于对至少一个用户信息组进行指示的相应索引,包括:
从所连接的数据库获取所有用户信息;
将所获取的用户信息划分成所述至少一个用户信息组,并设置用于对所述至少一个用户信息组进行指示的相应索引,其中,所述至少一个用户信息组中的每一个用户信息组包含的用户信息的数目不大于预置用户信息数目。
3.根据权利要求1-2之一所述的方法,其特征在于,所述执行以下步骤来选取每一条目标用户信息,直至所选取的目标用户信息的数目达到所述拟推送数目,还包括:记录所选取的目标用户信息并将所选取的目标用户信息从所述目标用户信息组中移除。
4.根据权利要求3所述的方法,其特征在于,所述向所述目标用户信息所指示的用户终端推送所述待推送信息,包括:
从所述推送方式中为所述用户终端随机分配推送方式;
采用所分配的推送方式向所述用户终端推送所述待推送信息。
5.根据权利要求2所述的方法,其特征在于,所述数据库为支持通过分布式结构化查询语言查询引擎进行数据查询的数据库。
6.一种用于推送信息的装置,其特征在于,所述装置包括:
接收单元,配置用于接收信息推送请求,其中,所述信息推送请求包括拟推送数目、待推送信息和推送方式;
确定单元,配置用于确定用于对至少一个用户信息组进行指示的相应索引,其中,一个索引用于指示一个用户信息组;
第一选取单元,配置用于从所述相应索引中随机选取索引作为目标索引;
第二选取单元,配置用于从所述目标索引所指示的目标用户信息组中随机选取条数为所述拟推送数目的目标用户信息;
推送单元,配置用于向所述目标用户信息所指示的用户终端推送所述待推送信息;其中,
所述第二选取单元包括:
第一计算值确定子单元,配置用于计算所述推送方式的数目与所述拟推送数目的乘积,将预置用户信息数目与所述乘积的比值作为第一计算值;
随机对比值确定子单元,配置用于从零至所述第一计算值的数值范围中产生一个随机数作为随机对比值,其中,零至所述第一计算值的数值范围包括所述第一计算值,不包括零;
目标用户信息选取子单元,配置用于执行以下步骤来选取每一条目标用户信息,直至所选取的目标用户信息的数目达到所述拟推送数目:将所述目标用户信息组当前包含的用户信息的数目与所述拟推送数目的比值作为第二计算值;从零至所述第二计算值的数值范围中产生一个随机数作为候选值,其中,零至所述第二计算值的数值范围包括所述第二计算值,不包括零;响应于所述候选值等于所述随机对比值,选取所述候选值所指示的用户信息作为目标用户信息。
7.根据权利要求6所述的装置,其特征在于,所述确定单元包括:
获取子单元,配置用于从所连接的数据库获取所有用户信息;
设置子单元,配置用于将所获取的用户信息划分成所述至少一个用户信息组,并设置用于对所述至少一个用户信息组进行指示的相应索引,其中,所述至少一个用户信息组中的每一个用户信息组包含的用户信息的数目不大于预置用户信息数目。
8.根据权利要求6-7之一所述的装置,其特征在于,所述目标用户信息选取子单元进一步配置用于执行以下步骤来选取每一条目标用户信息,直至所选取的目标用户信息的数目达到所述拟推送数目:记录所选取的目标用户信息并将所选取的目标用户信息从所述目标用户信息组中移除。
9.根据权利要求8所述的装置,其特征在于,所述推送单元包括:
分配子单元,配置用于从所述推送方式中为所述用户终端随机分配推送方式;
推送子单元,配置用于采用所分配的推送方式向所述用户终端推送所述待推送信息。
10.根据权利要求7所述的装置,其特征在于,所述数据库为支持通过分布式结构化查询语言查询引擎进行数据查询的数据库。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610939812.1A CN107977382B (zh) | 2016-10-25 | 2016-10-25 | 用于推送信息的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610939812.1A CN107977382B (zh) | 2016-10-25 | 2016-10-25 | 用于推送信息的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107977382A CN107977382A (zh) | 2018-05-01 |
CN107977382B true CN107977382B (zh) | 2022-02-01 |
Family
ID=62004108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610939812.1A Active CN107977382B (zh) | 2016-10-25 | 2016-10-25 | 用于推送信息的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107977382B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101184019A (zh) * | 2006-11-14 | 2008-05-21 | 中兴通讯股份有限公司 | 一种向多终端动态推送业务信息的*** |
CN101520878A (zh) * | 2009-04-03 | 2009-09-02 | 华为技术有限公司 | 向用户进行广告推送的方法、装置和*** |
CN101866341A (zh) * | 2009-04-17 | 2010-10-20 | 华为技术有限公司 | 一种信息推送方法、装置及*** |
CN103530339A (zh) * | 2013-10-08 | 2014-01-22 | 北京百度网讯科技有限公司 | 移动应用信息推送方法和装置 |
CN104579912A (zh) * | 2013-10-29 | 2015-04-29 | 深圳市腾讯计算机***有限公司 | 数据推送的方法及装置 |
CN104917834A (zh) * | 2015-06-09 | 2015-09-16 | 北京金山安全软件有限公司 | 信息推送方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902616B (zh) * | 2012-12-28 | 2017-04-12 | 腾讯科技(深圳)有限公司 | 一种推送网页应用消息的方法、装置和*** |
-
2016
- 2016-10-25 CN CN201610939812.1A patent/CN107977382B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101184019A (zh) * | 2006-11-14 | 2008-05-21 | 中兴通讯股份有限公司 | 一种向多终端动态推送业务信息的*** |
CN101520878A (zh) * | 2009-04-03 | 2009-09-02 | 华为技术有限公司 | 向用户进行广告推送的方法、装置和*** |
CN101866341A (zh) * | 2009-04-17 | 2010-10-20 | 华为技术有限公司 | 一种信息推送方法、装置及*** |
CN103530339A (zh) * | 2013-10-08 | 2014-01-22 | 北京百度网讯科技有限公司 | 移动应用信息推送方法和装置 |
CN104579912A (zh) * | 2013-10-29 | 2015-04-29 | 深圳市腾讯计算机***有限公司 | 数据推送的方法及装置 |
CN104917834A (zh) * | 2015-06-09 | 2015-09-16 | 北京金山安全软件有限公司 | 信息推送方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107977382A (zh) | 2018-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107944481B (zh) | 用于生成信息的方法和装置 | |
CN107967284B (zh) | 用于存储、查询订单信息的方法和装置 | |
CN107315824B (zh) | 用于生成热力图的方法和装置 | |
CN107885873B (zh) | 用于输出信息的方法和装置 | |
CN108984553B (zh) | 缓存方法和装置 | |
US11244153B2 (en) | Method and apparatus for processing information | |
CN107918617B (zh) | 数据查询方法和装置 | |
CN113656179A (zh) | 云计算资源的调度方法及装置、电子设备和存储介质 | |
CN111324786A (zh) | 咨询问题信息的处理方法和装置 | |
CN108737486B (zh) | 信息推送方法和装置 | |
CN110866040A (zh) | 用户画像生成方法、装置和*** | |
CN114328632A (zh) | 基于位图的用户数据分析方法、装置及计算机设备 | |
CN109117448B (zh) | 热力图生成方法和装置 | |
CN109409419B (zh) | 用于处理数据的方法和装置 | |
CN111062572A (zh) | 任务分配的方法和装置 | |
CN108764866B (zh) | 用于分配资源、领取资源的方法和设备 | |
CN110740418A (zh) | 用于生成用户到访信息的方法和装置 | |
CN114297476A (zh) | 基于用户标签的问卷调查方法、***、电子设备及存储介质 | |
CN107330087B (zh) | 页面文件生成方法和装置 | |
CN108667875B (zh) | 信息更新方法和装置 | |
CN110909072B (zh) | 一种数据表建立方法、装置及设备 | |
CN107977382B (zh) | 用于推送信息的方法和装置 | |
CN107679096B (zh) | 数据集市间指标共享的方法和装置 | |
CN108363707B (zh) | 用于生成网页的方法和装置 | |
CN107193891B (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 |