CN107634993B - 一种信息推送事件处理方法、装置及电子设备 - Google Patents
一种信息推送事件处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN107634993B CN107634993B CN201710791308.6A CN201710791308A CN107634993B CN 107634993 B CN107634993 B CN 107634993B CN 201710791308 A CN201710791308 A CN 201710791308A CN 107634993 B CN107634993 B CN 107634993B
- Authority
- CN
- China
- Prior art keywords
- event
- time
- information push
- information
- push event
- 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
Abstract
本发明提供一种信息推送事件处理方法、装置及电子设备,该方法包括:获取待执行的信息推送事件;确定所述信息推送事件的执行时间;根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽;在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件;执行所述目标存储槽中所存储的各个标识对应的信息推送事件。通过本发明提供的信息推送事件处理方法,无需定时扫描存储的所有的待执行的信息推送事件的执行时间,从而可以减少扫描所需的耗时,提高信息推送事件执行的实时性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种信息推送事件处理方法、装置及电子设备。
背景技术
目前,一些应用程序可以基于用户的操作,通过信息推送的形式与用户进行互动,例如,一些游戏应用程序可以基于用户在游戏内的行为,向用户推送信息。以游戏应用程序为例,一些情况下在实时捕获到用户在游戏内的游戏事件后,并不需要立即向用户推送信息,而是需要间隔一段时间后在向用户推送与该游戏事件相关的信息。例如,英雄联盟游戏的首胜任务,在用户首胜任务重置时需要给用户发送一条信息,以提醒用户首胜任务已经重置,由于无法获取到用户游戏首胜任务重置的事件,仅可以获取到用户完成首胜任务的事件,而根据游戏规则可知用户完成首胜任务到下一次首胜任务重置中间间隔22个小时,因此,可以在获取到用户完成游戏首胜任务的事件后间隔22小时向用户推送首胜任务已经重置的信息。
针对上述情况,现有技术通过在服务器中存储各个需要定时向用户推送的信息的推送时间,并定时扫描所保存的全部数据,获取当前符合推送条件的信息推送给对应的用户。由于上述方式需要在每个定时间隔扫描全部用户的数据,在数据量较大的情况下,需要较长时间才能扫描一次,影响实时性。
发明内容
本发明实施例提供一种信息推送事件处理方法、装置及电子设备,以解决现有技术中需要定时扫描所存储的所有待执行的信息推送事件的执行时间,较为耗时的问题。
第一方面,本发明实施例提供了一种信息推送事件处理方法。该方法包括:
获取待执行的信息推送事件;确定所述信息推送事件的执行时间;根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽;在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件;执行所述目标存储槽中所存储的各个标识对应的信息推送事件,其中,对于所述目标存储槽中所存储的各个标识对应的信息推送事件中对应于同一用户标识的多个信息推送事件,执行满足第一预设条件的目标信息推送事件。
第二方面,本发明实施例还提供一种信息推送事件处理装置。该装置包括:第一获取模块,用于获取待执行的信息推送事件;第一确定模块,用于确定所述信息推送事件的执行时间;添加模块,用于根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽;第二获取模块,用于在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件;执行模块,用于执行所述目标存储槽中所存储的各个标识对应的信息推送事件,其中,对于所述目标存储槽中所存储的各个标识对应的信息推送事件中对应于同一用户标识的多个信息推送事件,执行满足第一预设条件的目标信息推送事件。
第三方面,本发明实施例还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的信息推送事件处理方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的信息推送事件处理方法。
这样,本发明实施例中,通过获取待执行的信息推送事件;确定所述信息推送事件的执行时间;根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽;在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件;执行所述目标存储槽中所存储的各个标识对应的信息推送事件,其中,对于所述目标存储槽中所存储的各个标识对应的信息推送事件中对应于同一用户标识的多个信息推送事件,执行满足第一预设条件的目标信息推送事件。
本发明实施例通过时间轮对待执行的信息推送事件进行定时,以确定当前需要执行的信息推送事件,而无需定时扫描存储的所有的待执行的信息推送事件的执行时间,从而可以减少扫描所需的耗时,提高信息推送事件执行的实时性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的信息推送事件处理方法的硬件环境的示意图;
图2是本发明实施例提供的信息推送事件处理方法的流程图;
图3是本发明又一实施例提供的信息推送事件处理方法的流程图;
图4是本发明又一实施例提供的信息推送事件处理方法的流程图;
图5是本发明实施例提供的信息推送事件处理系统的结构图;
图6是本发明实施例提供的信息推送事件处理装置的结构图之一;
图7是本发明实施例提供的信息推送事件处理装置的结构图之二;
图8是本发明实施例提供的信息推送事件处理装置的结构图之三;
图9是本发明实施例提供的信息推送事件处理装置的结构图之四;
图10是本发明实施例提供的电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明实施例,提供了一种信息推送事件处理方法,通过时间轮的存储槽存储各个待执行的信息推送事件的标识,并在某个存储槽对应的时间超时时,执行该存储槽中所存储的各个标识对应的信息推送事件,由于通过时间轮定时无需定时扫描存储的所有的待执行的信息推送事件的执行时间,从而可以减少扫描所需的耗时,提高信息推送事件执行的实时性。
可选的,在本实施例中,上述信息推送事件处理方法可以应用于如图1所示的由客户端01和服务器02所构成的硬件环境中。如图1所示,客户端01和服务器02可以通过网络进行连接,上述网络包括但不限于:广域网、城域网或局域网。客户端01可以是PC、手机、平板电脑等。具体的,上述信息推送事件处理方法可以由服务器02执行。
具体的,服务器02可以响应于客户端01的操作,生成待执行的信息推送事件,并根据该信息推送事件的执行时间将该信息推送事件的标识添加至时间轮上对应的存储槽,从而可以通过时间轮对该信息推送事件进行定时。在确定时间轮的指针所指向的目标存储槽对应的时间超时时,则可以获取所述目标存储槽中所存储的各个标识对应的信息推送事件,并执行所述目标存储槽中所存储的各个标识对应的信息推送事件,即服务器02向对应的客户端01推送信息,从而可以减少扫描所需的耗时,提高信息推送事件执行的实时性。此外,对于目标存储槽中所存储的各个标识对应的信息推送事件中对应于同一用户标识的多个信息推送事件,执行满足第一预设条件的目标信息推送事件,从而可以减少同一时间向同一用户推送不同信息的数量,从而减少过多推送信息对用户的干扰。
需要说明的是,图1所示的硬件环境还可以根据需求包含其他的硬件模块,本发明实施例的信息推送事件处理方法也可以由其他的硬件模块执行,本实施例对此不做限定。
参见图2,图2是本发明实施例提供的信息推送事件处理方法的流程图,如图2所示,包括以下步骤:
步骤201、获取待执行的信息推送事件。
本实施例中,服务器可以响应于客户端的操作,生成待执行的信息推送事件。以英雄联盟游戏应用为例,当用户在英雄联盟游戏中开始一局游戏时,服务器需要向用户发送一条对战助手的推送;当用户在英雄联盟游戏中发挥良好,获得MVP时,服务器需要向用户发送一条MVP推送;用户在英雄联盟游戏中完成某些官方指定任务时,服务器需要向用户发送一条APP推送;当用户在英雄联盟游戏中的好友上线时,服务器需要向用户发送一条好友上线提醒;当用户在英雄联盟游戏中的首胜任务重置时,服务器需要向用户发送一条首胜提醒;当用户在英雄联盟游戏中段位即将下降时,服务器需要向用户发送一条段位下降提醒。
步骤202、确定所述信息推送事件的执行时间。
本实施例中,可以根据该信息推送事件的生成时间和延时执行时间,确定该信息推送事件的执行时间。例如,英雄联盟游戏中首胜提醒事件,用户获得首胜后,将用户标识(即用户ID)和首胜时间戳T0发送到服务器,根据游戏规则可知用户完成首胜任务到下一次刷新首胜任务中间间隔22个小时,即延时执行时间为22小时,从而服务器通过用户的首胜时间戳T0和延时执行时间可以计算出用户下一次刷新首胜任务的时间T1,也即首胜提醒事件的执行时间为T1。
步骤203、根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽。
本实施例中,时间轮可以是一种数据存储结构,包含若干个存储槽和一个指针,并且定向匀速转动。所述时间轮对应于两个维度的信息,一个维度是时间精度,即当一个时间轮平均分成若干个存储槽时,时间轮每转过一个存储槽的时间间隔即为所述时间轮最小的定时单位,可以是秒、分、时、日、月、年等任意时间单位;另一个维度是时间宽度,即时间轮匀速转动一周的时间,具体的,当所述时间轮是匀速转动时,所以时间轮转过一个存储槽的时间与所述时间轮的存储槽数量的乘积即为所述时间轮转动一周的时间。需要说明的是,上述时间轮最小的定时单位和时间轮转动一周的时间可以根据实际情况进行设置。
具体的,本实施例可以基于信息推送事件的执行时间、时间轮的时间精度和时间宽度等信息,确定该信息推送事件对应的存储槽。
例如,待执行的信息推送事件的执行时间为T1(单位为秒),时间轮的时间精度为秒,存储槽的个数为M,则该待执行的信息推送事件对应的存储槽的下标n可以为:n=T1modM,其中,mod为求余函数,也即可以将该待执行的信息推送事件的标识添加至下标为n的存储槽中。
可选的,在将信息推送事件的标识添加至时间轮对应的存储槽时,可以先判断该存储槽是否为空,在该存储槽为空时,则可以将该信息推送事件的执行时间写入存储槽,并创建该存储槽的首节点,以存储该信息推送事件的标识;在该存储槽为不空时,则可以直接将该信息推送事件的标识放入该存储槽的队列的尾端。
步骤204、在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件。
步骤205、执行所述目标存储槽中所存储的各个标识对应的信息推送事件,其中,对于所述目标存储槽中所存储的各个标识对应的信息推送事件中对应于同一用户标识的多个信息推送事件,执行满足第一预设条件的目标信息推送事件。
本实施例中,对于上述步骤204和步骤205,在时间轮的指针所指向的目标存储槽对应的时间超时时,可以获取目标存储槽中所存储的各个标识对应的信息推送事件并执行,也即向用户推送信息。进一步的,对于所述目标存储槽中所存储的各个标识对应的信息推送事件中对应于同一用户标识的多个信息推送事件,执行满足第一预设条件的目标信息推送事件,从而可以减少同一时间向同一用户推送不同信息的数量,从而减少过多推送信息对用户的干扰。
具体的,信息推送事件对应的用户标识用于表征执行该信息推送事件时推送信息的推送对象,即向该用户标识对应的用户推送信息。具体的,不同的信息推送事件可以对应于相同的用户标识,也可以对应于不同的用户标识。本实施例可以预先将各个信息推送事件及其对应的用户标识(例如,用户ID)关联存储,在执行某一信息推送事件时,可以根据用户标识向对应的用户推送信息。需要说明的是,上述信息推送事件的标识用于唯一识别各个信息推送事件,通过信息推送事件的标识可以唯一的查找到其对应的信息推送事件。
具体的,本实施例可以在目标存储槽对应的时间超时时,获取该目标存储槽所存储的所有的标识,并根据标识从数据存储结构中获取对应的信息推送事件,如果存在对应于同一用户标识的多个信息推送事件,也即需要向同一用户推送信息的多个信息推送事件,则可以获取这些对应于同一用户标识的多个信息推送事件,并从中获取满足第一预设条件的目标信息推送事件,如果不存在对应于同一用户标识的多个信息推送事件,则可以直接执行目标存储槽中所存储的各个标识对应的各个信息推送事件。
上述第一预设条件可以是优先级相关的条件,具体的,本实施例可以预先对各个待执行的信息推送事件设置优先级。具体的,各个信息推送事件的优先级可以根据实际需求进行设置,例如,可以根据统计的用户对于不同推送信息的关注度设置不同信息推送事件的优先级,关注度越高的推送信息对应的信息推送事件的优先级越高。
具体的,本实施例可以从多个信息推送事件中获取优先级最高的信息推送事件作为目标信息推送事件,也可以获取优先级大于预设优先级的信息推送事件作为目标信息推送事件。
例如,目标存储槽中存储有信息推送事件a的标识、信息推送事件b的标识、信息推送事件c的标识和信息推送事件d的标识,其中,信息推送事件a和信息推送事件b均对应于用户标识ID1,信息推送事件c对应于用户标识ID2,信息推送事件d对应于用户标识ID3,信息推送事件a的优先级高于信息推送事件b的优先级,则可以在目标存储槽对应的时间超时时,分别执行信息推送事件a、信息推送事件c和信息推送事件d。
需要说明的是,本实施例可以将待执行的信息推送事件存储于不同于时间轮的数据存储结构中,例如,哈希表、跳表等,从而可以通过信息推送事件的标识从该数据存储结构中快速查找对应的信息推送事件。
本发明实施例的信息推送事件处理方法,通过获取待执行的信息推送事件;确定所述信息推送事件的执行时间;根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽;在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件;执行所述目标存储槽中所存储的各个标识对应的信息推送事件,其中,对于所述目标存储槽中所存储的各个标识对应的信息推送事件中对应于同一用户标识的多个信息推送事件,执行满足第一预设条件的目标信息推送事件。本发明实施例通过时间轮对待执行的信息推送事件进行定时,以确定当前需要执行的信息推送事件,而无需定时扫描存储的所有的待执行的信息推送事件的执行时间,从而可以减少扫描所需的耗时,提高信息推送事件执行的实时性。此外,本实施例通过对对应于同一用户标识的多个信息推送事件进行筛选,可以减少同一时间向同一用户推送不同信息的数量,从而减少过多推送信息对用户的干扰。
参见图3,图3是本发明又一实施例提供的信息推送事件处理方法的流程图。本实施例与上一实施例的区别在于上一实施例仅在需要执行信息推送事件时执行信息推送事件筛选处理,而本实施例在向时间轮添加信息推送事件的标识后也执行信息推送事件筛选处理。
如图3所示,本发明实施例提供的信息推送事件处理方法包括以下步骤:
步骤301、获取待执行的信息推送事件。
该步骤同上述步骤201,在此不再赘述。
步骤302、确定所述信息推送事件的执行时间。
该步骤同上述步骤202,在此不再赘述。
步骤303、根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽。
该步骤同上述步骤203,在此不再赘述。
步骤304、从所述信息推送事件的标识所在的存储槽中删除目标标识,其中,所述目标标识为与所述信息推送事件对应于同一用户标识,且满足第二预设条件的目标信息推送事件的标识。
本实施例中,可以在向存储槽添加信息推送事件的标识后,进行筛选处理,以删除同一存储槽中对应于同一用户标识,且满足第二预设条件的目标信息推送事件的标识,从而在该存储槽对应的时间超时时,可以减少同一时间向同一用户推送信息的数量。
具体的,上述第二预设条件可以是优先级相关的条件,具体的,本实施例可以预先对各个待执行的信息推送事件设置优先级。具体的,各个信息推送事件的优先级可以根据实际需求进行设置,例如,可以根据统计的用户对于不同推送信息的关注度设置不同信息推送事件的优先级,关注度越高的推送信息对应的信息推送事件的优先级越高。
具体的,本实施例可以从多个信息推送事件中获取除优先级最高的信息推送事件之外的信息推送事件作为目标信息推送事件,也可以获取优先级小于预设优先级的信息推送事件作为目标信息推送事件。
例如,存储槽中存储有信息推送事件a的标识、信息推送事件b的标识、信息推送事件c的标识和信息推送事件d的标识,其中,信息推送事件a和信息推送事件b均对应于用户标识ID1,信息推送事件c对应于用户标识ID2,信息推送事件d对应于用户标识ID3,信息推送事件a的优先级高于信息推送事件b的优先级,则可以从存储槽中删除信息推送事件b的标识。
步骤305、在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件。
该步骤同上述步骤204,在此不再赘述。
步骤306、执行所述目标存储槽中所存储的各个标识对应的信息推送事件,其中,对于所述目标存储槽中所存储的各个标识对应的信息推送事件中对应于同一用户标识的多个信息推送事件,执行满足第一预设条件的目标信息推送事件。
该步骤同上述步骤205,在此不再赘述。
本发明实施例的信息推送事件处理方法,通过获取待执行的信息推送事件;确定所述信息推送事件的执行时间;根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽;从所述信息推送事件的标识所在的存储槽中删除目标标识,其中,所述目标标识为与所述信息推送事件对应于同一用户标识,且满足第二预设条件的目标信息推送事件的标识;在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件;执行所述目标存储槽中所存储的各个标识对应的信息推送事件,其中,对于所述目标存储槽中所存储的各个标识对应的信息推送事件中对应于同一用户标识的多个信息推送事件,执行满足第一预设条件的目标信息推送事件。本实施例通过对对应于同一用户标识的多个信息推送事件进行筛选,可以减少同一时间向同一用户推送不同信息的数量,从而减少过多推送信息对用户的干扰。
参见图4,图4是本发明实施例提供的信息推送事件处理方法的流程图。本实施例与上一实施例的区别在于上一实施例在向时间轮添加信息推送事件的标识后执行信息推送事件筛选处理,而本实施例在向时间轮添加信息推送事件的标识时执行信息推送事件筛选处理。
如图4所示,本发明实施例提供的信息推送事件处理方法包括以下步骤:
步骤401、获取待执行的信息推送事件。
该步骤同上述步骤201,在此不再赘述。
步骤402、确定所述信息推送事件的执行时间。
该步骤同上述步骤202,在此不再赘述。
步骤403、根据所述信息推送事件的用户标识,从数据存储结构中获取与所述用户标识对应的目标信息推送事件。
本实施例中,将待执行的信息推送事件均存储于数据存储结构中,其中,在数据存储结构中可以将待执行的信息推送事件、其标识及其对应的用户标识关联存储。可选的,为了提高查询速度,数据存储结构可以是满足预设时间复杂度的数据存储结构,例如,预设时间复杂度可以是O(lgn)或者O(1)。可选的,本实施例的数据存储结构可以是多阶哈希表、红黑树、AVL树、跳表等。
具体的,本实施例可以从数据存储结构中获取与待执行的信息推送事件的用户标识对应的所有的信息推送事件,作为目标信息推送事件。例如,待执行的信息推送事件的用户标识为ID1,则可以从数据存储结构中获取用户标识为ID1的所有的信息推送事件,作为目标信息推送事件。
步骤404、在所述信息推送事件的执行时间和所述目标信息推送事件的执行时间的时间间隔小于预设时间,和/或所述信息推送事件的优先级高于所述目标信息推送事件的优先级时,根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽中,并将所述信息推送事件存储到所述存储结构。
本实施例中,上述预设时间可以根据实际情况进行设置,例如,10秒、20秒等。具体的,若对应于同一用户标识的两个信息推送事件的执行时间相近,为了避免短时间内向同一用户推送多条信息,可以仅推送其中优先级较高的推送信息,以减少对用户的干扰。
可选的,在所述信息推送事件的执行时间和所述目标信息推送事件的执行时间的时间间隔大于预设时间时,可以将所述信息推送事件的标识添加至时间轮上对应的存储槽中,并将所述信息推送事件存储到所述存储结构;在所述信息推送事件的执行时间和所述目标信息推送事件的执行时间的时间间隔小于预设时间,且所述信息推送事件的优先级低于所述目标信息推送事件的优先级时,则可以不将所述信息推送事件的标识添加至时间轮上对应的存储槽中,也可以不将所述信息推送事件存储到所述存储结构。
例如,当前获取的信息推送事件为信息推送事件a,执行时间为ta,目标信息推送事件为信息推送事件b,执行时间为tb,预设时间为t0,若ta-tb的绝对值小于t0,且信息推送事件a的优先级高于信息推送事件b,则将信息推送事件a的标识添加至时间轮对应的存储槽,若ta-tb的绝对值小于t0,且信息推送事件a的优先级低于信息推送事件b,则不将信息推送事件a的标识添加至时间轮对应的存储槽;若ta-tb的绝对值大于或等于t0,同样的,需要将信息推送事件a的标识添加至时间轮对应的存储槽。
由上可知,本实施例通过在向存储槽添加信息推送事件的标识时执行筛选处理,从而可以避免执行时间相近且对应于同一用户标识的信息推送事件的标识均添加至存储槽中,进一步的可以减少同一时间向同一用户推送不同信息的数量,从而减少过多推送信息对用户的干扰。
步骤405、在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件。
该步骤同上述步骤204,在此不再赘述。
步骤406、执行所述目标存储槽中所存储的各个标识对应的信息推送事件,其中,对于所述目标存储槽中所存储的各个标识对应的信息推送事件中对应于同一用户标识的多个信息推送事件,执行满足第一预设条件的目标信息推送事件。
该步骤同上述步骤205,在此不再赘述。
本发明实施例的信息推送事件处理方法,通过获取待执行的信息推送事件;确定所述信息推送事件的执行时间;根据所述信息推送事件的用户标识,从数据存储结构中获取与所述用户标识对应的目标信息推送事件;在所述信息推送事件的执行时间和所述目标信息推送事件的执行时间的时间间隔小于预设时间,和/或所述信息推送事件的优先级高于所述目标信息推送事件的优先级时,根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽中,并将所述信息推送事件存储到所述存储结构;在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件;执行所述目标存储槽中所存储的各个标识对应的信息推送事件,其中,对于所述目标存储槽中所存储的各个标识对应的信息推送事件中对应于同一用户标识的多个信息推送事件,执行满足第一预设条件的目标信息推送事件。本实施例通过对对应于同一用户标识的多个信息推送事件进行筛选,可以减少同一时间向同一用户推送不同信息的数量,从而减少过多推送信息对用户的干扰。
可选的,所述获取待执行的信息推送事件之后,所述方法还包括:根据所述信息推送事件的用户标识,从数据存储结构中获取与所述用户标识对应的目标信息推送事件;在所述信息推送事件的执行时间和所述目标信息推送事件的执行时间的时间间隔小于预设时间,且所述信息推送事件的优先级高于所述目标信息推送事件的优先级时,则在所述数据存储结构中存储所述信息推送事件,并删除所述目标信息推送事件。
本实施例中,将待执行的信息推送事件均存储于数据存储结构中,其中,在数据存储结构中可以将待执行的信息推送事件、其标识及其对应的用户标识关联存储。可选的,为了提高查询速度,数据存储结构可以是满足预设时间复杂度的数据存储结构,例如,预设时间复杂度可以是O(lgn)或者O(1)。可选的,本实施例的数据存储结构可以是多阶哈希表、红黑树、AVL树、跳表等。
具体的,本实施例可以从数据存储结构中获取与待执行的信息推送事件的用户标识对应的所有的信息推送事件,作为目标信息推送事件。例如,待执行的信息推送事件的用户标识为ID1,则可以从数据存储结构中获取用户标识为ID1的所有的信息推送事件,作为目标信息推送事件。
上述预设时间可以根据实际情况进行设置,例如,10秒、20秒等。本实施例在所述信息推送事件的执行时间和所述目标信息推送事件的执行时间的时间间隔小于预设时间,且所述信息推送事件的优先级高于所述目标信息推送事件的优先级时,则在所述数据存储结构中存储所述信息推送事件,并删除所述目标信息推送事件。
需要说明的是,在所述信息推送事件的执行时间和所述目标信息推送事件的执行时间的时间间隔大于预设时间时,则将所述信息推送事件存储到所述存储结构;在所述信息推送事件的执行时间和所述目标信息推送事件的执行时间的时间间隔小于预设时间,且所述信息推送事件的优先级低于所述目标信息推送事件的优先级时,则可以不将所述信息推送事件存储到所述存储结构。
例如,当前获取的信息推送事件为信息推送事件a,执行时间为ta,目标信息推送事件为信息推送事件b,执行时间为tb,预设时间为t0,若ta-tb的绝对值小于t0,且信息推送事件a的优先级高于信息推送事件b,则在数据存储结构中存储信息推送事件a,并从中删除存储的信息推送事件b;若ta-tb的绝对值小于t0,且信息推送事件a的优先级低于信息推送事件b,则不在数据存储结构中存储信息推送事件a;若ta-tb的绝对值大于或等于t0,则在数据存储结构中存储信息推送事件a。
本实施例对于执行时间相近的信息推送事件,仅在数据存储结构中存储优先级较高的信息推送事件,从而可以减少同一时间向同一用户推送不同信息的数量,从而减少过多的推送信息对用户的干扰。
可选的,所述在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件之后,所述方法还包括:清空所述目标存储槽,并将所述时间轮的指针指向所述目标存储槽的后一个存储槽。
本实施例通过清空目标存储槽,可以避免已经执行的信息推送事件再次执行。此外,通过将时间轮的指针指向目标存储槽的后一个存储槽,保证时间轮继续进行定时操作。
可选的,所述在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件之前,所述方法还包括:在所述时间轮的指针指向所述目标存储槽时,获取所述目标存储槽对应的时间和当前系统时间;在所述目标存储槽对应的时间早于或等于当前系统时间,则确定所述时间轮的指针所指向的目标存储槽对应的时间超时;在所述目标存储槽对应的时间晚于当前系统时间,则确定所述时间轮的指针所指向的目标存储槽对应的时间未超时。
本实施例中,目标存储槽对应的时间即该目标存储槽中所存储的信息推送事件的执行时间。例如,目标存储槽对应的时间为T1,当前系统时间为T2,若T1小于或等于T2,则确定目标存储槽对应的时间超时,若T1大于T2,则确定目标存储槽对应的时间未超时。
需要说明的是,本实施例也可以对对应于同一用户标识且执行时间相近的多条信息推送事件进行合并,例如,将信息推送事件a所推送的信息和信息推送事件b所推送的信息合并成一条信息进行推送,以减少向同一用户推送信息的数量,减少对用户的干扰。
需要说明的是,上述所有可选技术方案可以任意结合形成本发明的可选实施例,在此不再一一赘述。
以下结合图5对本发明实施例进行说明:
参见图5,本实施例的信息推送事件处理系统包括:客户端01、逻辑服务器021、定时器模块022和推送服务器023,其中,逻辑服务器021可以经由事件代理模块03响应客户端的操作,生成待执行的信息推送事件,定时器模块022用于存储待执行的信息推送事件,并对待执行的信息推送事件进行定时,具体的,本实施例利用时间轮对待执行的信息推送事件进行定时,利用多阶哈希表进行待执行的信息推送事件的存储。定时器模块022还连接至外部接口04,具体的,外部接口04为待执行的信息推送事件的依赖接口,在信息推送事件执行时需要依赖其对应的外部接口进行信息推送。推送服务器023用于向客户端01推送信息,也即执行上述信息推送事件。
具体的,本实施例可以在逻辑服务器021生成待执行的信息推送事件后,传输给定时器模块022,定时器模块022可以利用时间轮和多阶哈希表对对应于同一用户标识的不同优先级的信息推送事件进行合并,例如,丢弃优先级低的信息推送事件,仅执行优先级高的信息推送事件。定时器模块022在确定出需要执行某个信息推送事件时,通过信息推送服务器023执行该信息推送事件。
由上可知,本发明通过时间轮进行定时,可以保证应用程序与用户互动过程的实时性,同时通过多阶哈希表可以解决应用程序与用户互动过程中频繁推送所带来的骚扰问题。
参见图6,图6是本发明实施例提供的信息推送事件处理装置的结构图,如图6所示,信息推送事件处理装置600包括第一获取模块601、第一确定模块602、添加模块603、第二获取模块604和执行模块605,其中:
第一获取模块601,用于获取待执行的信息推送事件;
第一确定模块602,用于确定所述信息推送事件的执行时间;
添加模块603,用于根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽;
第二获取模块604,用于在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件;
执行模块605,用于执行所述目标存储槽中所存储的各个标识对应的信息推送事件,其中,对于所述目标存储槽中所存储的各个标识对应的信息推送事件中对应于同一用户标识的多个信息推送事件,执行满足第一预设条件的目标信息推送事件。
可选的,参见图7,所述装置还包括:删除模块606,用于所述根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽之后,从所述信息推送事件的标识所在的存储槽中删除目标标识,其中,所述目标标识为与所述信息推送事件对应于同一用户标识,且满足第二预设条件的目标信息推送事件的标识。
可选的,参见图8,所述添加模块603包括:获取单元6031,用于根据所述信息推送事件的用户标识,从数据存储结构中获取与所述用户标识对应的目标信息推送事件;添加单元6032,用于在所述信息推送事件的执行时间和所述目标信息推送事件的执行时间的时间间隔小于预设时间,和/或所述信息推送事件的优先级高于所述目标信息推送事件的优先级时,根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽中,并将所述信息推送事件存储到所述存储结构。
可选的,参见图9,所述装置还包括:第三获取模块607,用于所述获取待执行的信息推送事件之后,根据所述信息推送事件的用户标识,从数据存储结构中获取与所述用户标识对应的目标信息推送事件;存储模块608,用于在所述信息推送事件的执行时间和所述目标信息推送事件的执行时间的时间间隔小于预设时间,且所述信息推送事件的优先级高于所述目标信息推送事件的优先级时,则在所述数据存储结构中存储所述信息推送事件,并删除所述目标信息推送事件。
可选的,所述数据存储结构满足预设时间复杂度。
可选的,所述装置还包括:清空模块,用于所述在所述时间轮的指针所指向的目标存储槽对应的时间超时时,执行所述目标存储槽中所存储的各个标识对应的信息推送事件之后,清空所述目标存储槽,并将所述时间轮的指针指向所述目标存储槽的后一个存储槽。
可选的,所述装置还包括:第四获取模块,用于所述在所述时间轮的指针所指向的目标存储槽对应的时间超时时,执行所述目标存储槽中所存储的各个标识对应的信息推送事件之前,在所述时间轮的指针指向所述目标存储槽时,获取所述目标存储槽对应的时间和当前系统时间;第二确定模块,用于在所述目标存储槽对应的时间早于或等于当前系统时间,则确定所述时间轮的指针所指向的目标存储槽对应的时间超时;第三确定模块,用于在所述目标存储槽对应的时间晚于当前系统时间,则确定所述时间轮的指针所指向的目标存储槽对应的时间未超时。
信息推送事件处理装置600能够实现图2至图4的方法实施例中的各个过程,为避免重复,这里不再赘述。
本发明实施例的信息推送事件处理装置600,通过第一获取模块601获取待执行的信息推送事件;第一确定模块602确定所述信息推送事件的执行时间;添加模块603,用于根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽;第二获取模块604在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件;执行模块605执行所述目标存储槽中所存储的各个标识对应的信息推送事件,其中,对于所述目标存储槽中所存储的各个标识对应的信息推送事件中对应于同一用户标识的多个信息推送事件,执行满足第一预设条件的目标信息推送事件。本发明实施例通过时间轮对待执行的信息推送事件进行定时,以确定当前需要执行的信息推送事件,而无需定时扫描存储的所有的待执行的信息推送事件的执行时间,从而可以减少扫描所需的耗时,提高信息推送事件执行的实时性。
参见图10,图10是本发明实施例提供的电子设备的结构图,如图10所示,电子设备1000包括:至少一个处理器1001、存储器1002、至少一个网络接口1004和用户接口1003。电子设备1000中的各个组件通过总线系统1005耦合在一起。可理解,总线系统1005用于实现这些组件之间的连接通信。总线系统1005除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图10中将各种总线都标为总线系统1005。
其中,用户接口1003可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器1002可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本文描述的系统和方法的存储器1002旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器1002存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统10021和应用程序10022。
其中,操作系统10021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序10022,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序10022中。
在本发明实施例中,通过调用存储器1002存储的程序或指令,具体的,可以是应用程序10022中存储的程序或指令,处理器1001用于:获取待执行的信息推送事件;确定所述信息推送事件的执行时间;根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽;在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件;执行所述目标存储槽中所存储的各个标识对应的信息推送事件,其中,对于所述目标存储槽中所存储的各个标识对应的信息推送事件中对应于同一用户标识的多个信息推送事件,执行满足第一预设条件的目标信息推送事件。
上述本发明实施例揭示的方法可以应用于处理器1001中,或者由处理器1001实现。处理器1001可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1001中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1001可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1002,处理器1001读取存储器1002中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选的,处理器1001还用于:所述根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽之后,从所述信息推送事件的标识所在的存储槽中删除目标标识,其中,所述目标标识为与所述信息推送事件对应于同一用户标识,且满足第二预设条件的目标信息推送事件的标识。
可选的,处理器1001执行所述根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽,包括:根据所述信息推送事件的用户标识,从数据存储结构中获取与所述用户标识对应的目标信息推送事件;在所述信息推送事件的执行时间和所述目标信息推送事件的执行时间的时间间隔小于预设时间,和/或所述信息推送事件的优先级高于所述目标信息推送事件的优先级时,根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽中,并将所述信息推送事件存储到所述存储结构。
可选的,处理器1001还用于:所述获取待执行的信息推送事件之后,根据所述信息推送事件的用户标识,从数据存储结构中获取与所述用户标识对应的目标信息推送事件;在所述信息推送事件的执行时间和所述目标信息推送事件的执行时间的时间间隔小于预设时间,且所述信息推送事件的优先级高于所述目标信息推送事件的优先级时,则在所述数据存储结构中存储所述信息推送事件,并删除所述目标信息推送事件。
可选的,所述数据存储结构满足预设时间复杂度。
可选的,处理器1001还用于:所述在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件之后,清空所述目标存储槽,并将所述时间轮的指针指向所述目标存储槽的后一个存储槽。
可选的,处理器1001还用于:所述在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件之前,在所述时间轮的指针指向所述目标存储槽时,获取所述目标存储槽对应的时间和当前系统时间;在所述目标存储槽对应的时间早于或等于当前系统时间,则确定所述时间轮的指针所指向的目标存储槽对应的时间超时;在所述目标存储槽对应的时间晚于当前系统时间,则确定所述时间轮的指针所指向的目标存储槽对应的时间未超时。
电子设备1000能够实现前述实施例中的各个过程,为避免重复,这里不再赘述。
本发明实施例的电子设备1000,获取待执行的信息推送事件;确定所述信息推送事件的执行时间;根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽;在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件;执行所述目标存储槽中所存储的各个标识对应的信息推送事件,其中,对于所述目标存储槽中所存储的各个标识对应的信息推送事件中对应于同一用户标识的多个信息推送事件,执行满足第一预设条件的目标信息推送事件。本发明实施例通过时间轮对待执行的信息推送事件进行定时,以确定当前需要执行的信息推送事件,而无需定时扫描存储的所有的待执行的信息推送事件的执行时间,从而可以减少扫描所需的耗时,提高信息推送事件执行的实时性。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一方法实施例的信息推送事件处理方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种信息推送事件处理方法,其特征在于,包括:
获取待执行的信息推送事件;
确定所述信息推送事件的执行时间;
根据所述信息推送事件的用户标识,从数据存储结构中获取与所述用户标识对应的所有的信息推送事件,作为目标信息推送事件;
在所述信息推送事件的执行时间和所述目标信息推送事件的执行时间的时间间隔小于预设时间,和所述信息推送事件的优先级高于所述目标信息推送事件的优先级时,根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽中,并将所述信息推送事件存储到所述存储结构;在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件;
执行所述目标存储槽中所存储的各个标识对应的信息推送事件,其中,对于所述目标存储槽中所存储的各个标识对应的信息推送事件中对应于同一用户标识的多个信息推送事件,执行满足第一预设条件的目标信息推送事件,所述第一预设条件为预设优先等级;对于对应同一用户标识且执行时间相近的多个信息推送事件执行合并推送。
2.根据权利要求1所述的方法,其特征在于,所述根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽之后,所述方法还包括:
从所述信息推送事件的标识所在的存储槽中删除目标标识,其中,所述目标标识为与所述信息推送事件对应于同一用户标识,且满足第二预设条件的目标信息推送事件的标识。
3.根据权利要求1所述的方法,其特征在于,所述获取待执行的信息推送事件之后,所述方法还包括:
根据所述信息推送事件的用户标识,从数据存储结构中获取与所述用户标识对应的目标信息推送事件;
在所述信息推送事件的执行时间和所述目标信息推送事件的执行时间的时间间隔小于预设时间,且所述信息推送事件的优先级高于所述目标信息推送事件的优先级时,则在所述数据存储结构中存储所述信息推送事件,并删除所述目标信息推送事件。
4.根据权利要求3所述的方法,其特征在于,所述数据存储结构满足预设时间复杂度。
5.根据权利要求1至2中任一项所述的方法,其特征在于,所述在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件之后,所述方法还包括:清空所述目标存储槽,并将所述时间轮的指针指向所述目标存储槽的后一个存储槽。
6.根据权利要求1至2中任一项所述的方法,其特征在于,所述在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件之前,所述方法还包括:
在所述时间轮的指针指向所述目标存储槽时,获取所述目标存储槽对应的时间和当前系统时间;
在所述目标存储槽对应的时间早于或等于当前系统时间,则确定所述时间轮的指针所指向的目标存储槽对应的时间超时;
在所述目标存储槽对应的时间晚于当前系统时间,则确定所述时间轮的指针所指向的目标存储槽对应的时间未超时。
7.一种信息推送事件处理装置,其特征在于,包括:
第一获取模块,用于获取待执行的信息推送事件;
第一确定模块,用于确定所述信息推送事件的执行时间;
添加模块,包括:获取单元,用于根据所述信息推送事件的用户标识,从数据存储结构中获取与所述用户标识对应的所有的信息推送事件,作为目标信息推送事件;
添加单元,用于在所述信息推送事件的执行时间和所述目标信息推送事件的执行时间的时间间隔小于预设时间,和所述信息推送事件的优先级高于所述目标信息推送事件的优先级时,根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽中,并将所述信息推送事件存储到所述存储结构;
第二获取模块,用于在所述时间轮的指针所指向的目标存储槽对应的时间超时时,获取所述目标存储槽中所存储的各个标识对应的信息推送事件;
执行模块,用于执行所述目标存储槽中所存储的各个标识对应的信息推送事件,其中,对于所述目标存储槽中所存储的各个标识对应的信息推送事件中对应于同一用户标识的多个信息推送事件,执行满足第一预设条件的目标信息推送事件,所述第一预设条件为预设优先等级;对于对应同一用户标识且执行时间相近的多个信息推送事件执行合并推送。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
删除模块,用于所述根据所述信息推送事件的执行时间,将所述信息推送事件的标识添加至时间轮上对应的存储槽之后,从所述信息推送事件的标识所在的存储槽中删除目标标识,其中,所述目标标识为与所述信息推送事件对应于同一用户标识,且满足第二预设条件的目标信息推送事件的标识。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于所述获取待执行的信息推送事件之后,根据所述信息推送事件的用户标识,从数据存储结构中获取与所述用户标识对应的目标信息推送事件;
存储模块,用于在所述信息推送事件的执行时间和所述目标信息推送事件的执行时间的时间间隔小于预设时间,且所述信息推送事件的优先级高于所述目标信息推送事件的优先级时,则在所述数据存储结构中存储所述信息推送事件,并删除所述目标信息推送事件。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述的信息推送事件处理方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至6任一项所述的信息推送事件处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710791308.6A CN107634993B (zh) | 2017-09-05 | 2017-09-05 | 一种信息推送事件处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710791308.6A CN107634993B (zh) | 2017-09-05 | 2017-09-05 | 一种信息推送事件处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107634993A CN107634993A (zh) | 2018-01-26 |
CN107634993B true CN107634993B (zh) | 2019-08-13 |
Family
ID=61100513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710791308.6A Active CN107634993B (zh) | 2017-09-05 | 2017-09-05 | 一种信息推送事件处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107634993B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108449405B (zh) * | 2018-03-13 | 2021-06-22 | 平安科技(深圳)有限公司 | 事件提醒方法、装置、计算机设备和存储介质 |
CN109254839B (zh) * | 2018-08-24 | 2021-08-06 | 上海哔哩哔哩科技有限公司 | 确定任务触发时间的方法、构建任务定时器的方法及系统 |
CN109697592B (zh) * | 2018-12-21 | 2021-04-30 | 江苏满运软件科技有限公司 | 基于环形数组的货源下架方法、系统、设备及存储介质 |
CN110061902B (zh) * | 2019-03-12 | 2022-07-15 | 平安科技(深圳)有限公司 | 一种定时发送消息的方法、装置及存储介质 |
CN110852880A (zh) * | 2019-09-24 | 2020-02-28 | 威富通科技有限公司 | 交易数据推送方法、装置、系统、计算机设备及存储介质 |
CN111311426A (zh) * | 2020-01-19 | 2020-06-19 | 深圳市云歌人工智能技术有限公司 | 对私域流量管理的方法、装置以及存储介质 |
CN111324621B (zh) * | 2020-02-19 | 2023-06-20 | 中国银联股份有限公司 | 事件处理方法、装置、设备及存储介质 |
CN112104519B (zh) * | 2020-08-06 | 2022-07-19 | 北京健康之家科技有限公司 | 延迟消息的投递方法及装置、存储介质、计算机设备 |
CN111973985B (zh) * | 2020-08-26 | 2024-02-09 | 网易(杭州)网络有限公司 | 基于序列的事件处理方法、装置、电子设备及存储介质 |
CN113010786B (zh) * | 2021-03-19 | 2024-01-09 | 北京百度网讯科技有限公司 | 信息推送的方法、装置、设备以及存储介质 |
CN113360267B (zh) * | 2021-06-23 | 2023-02-14 | 平安普惠企业管理有限公司 | 基于时间轴的任务执行方法、装置、设备及介质 |
CN113434301A (zh) * | 2021-07-19 | 2021-09-24 | 深圳市链融科技股份有限公司 | 信息推送方法、装置、计算机设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105050060A (zh) * | 2015-06-19 | 2015-11-11 | 上海卓悠网络科技有限公司 | 一种发送信息的方法、服务器及移动终端 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828541A (zh) * | 2006-04-07 | 2006-09-06 | 浙江大学 | Java操作系统中定时任务的实现方法 |
CN103106222B (zh) * | 2011-11-15 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 定时器的处理方法及装置 |
CN104503761A (zh) * | 2014-12-30 | 2015-04-08 | 浪潮(北京)电子信息产业有限公司 | 一种利用时间转盘处理定时任务的方法和装置 |
CN104899040B (zh) * | 2015-06-12 | 2017-01-25 | 安徽游艺道网络科技有限公司 | 一种游戏后台程序生成系统及生成方法 |
-
2017
- 2017-09-05 CN CN201710791308.6A patent/CN107634993B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105050060A (zh) * | 2015-06-19 | 2015-11-11 | 上海卓悠网络科技有限公司 | 一种发送信息的方法、服务器及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN107634993A (zh) | 2018-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107634993B (zh) | 一种信息推送事件处理方法、装置及电子设备 | |
CN105302721B (zh) | 云计算平台中实现集中模拟服务器集成测试的系统及方法 | |
CN109936511A (zh) | 一种令牌获取方法、装置、服务器、终端设备及介质 | |
CN107404481B (zh) | 用户信息识别方法及装置 | |
CN106155699B (zh) | 一种后台进程的管理方法及移动终端 | |
CN108711067A (zh) | 电销时间段的选取方法、终端设备及介质 | |
CN109949108A (zh) | 基于区块链的发票创建方法和装置、电子设备 | |
CN109634607A (zh) | 一种代码自动生成的方法及装置 | |
CN110046730A (zh) | 自动订餐方法、装置、服务器及可读存储介质 | |
CN105975323A (zh) | 应用管理方法、装置以及终端 | |
CN106066894A (zh) | 数据全缓存方法和数据全缓存装置 | |
CN103646169B (zh) | 一种游戏的提醒方法和装置 | |
CN110110306A (zh) | 数据展示方法、装置、终端及计算机可读存储介质 | |
CN113391901A (zh) | Rpa机器人的管理方法、装置、设备及存储介质 | |
CN104765792B (zh) | 一种维度数据存储的方法、装置及系统 | |
CN105468699A (zh) | 去重数据统计方法及设备 | |
CN110502716A (zh) | 一种车辆信息的展示方法、服务器、终端设备 | |
CN110231923A (zh) | 数据管理方法和装置 | |
CN107943912B (zh) | 一种响应式资源目录数据可视化管理方法、终端及装置 | |
CN113778878A (zh) | 接口测试方法、装置、电子设备及存储介质 | |
CN108959229A (zh) | 基于客户信息的策划报告生成方法、终端及存储介质 | |
CN112529641A (zh) | 基于区块链的开票方法、装置、设备 | |
CN107679222A (zh) | 图片处理方法、移动终端及计算机可读存储介质 | |
CN110264083A (zh) | 一种日程管理方法、装置及计算机可读存储介质 | |
CN109460193A (zh) | 一种存储系统中io处理方法、装置及终端 |
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 |