CN107451831B - 任务推送方法、装置及存储介质 - Google Patents
任务推送方法、装置及存储介质 Download PDFInfo
- Publication number
- CN107451831B CN107451831B CN201610369414.0A CN201610369414A CN107451831B CN 107451831 B CN107451831 B CN 107451831B CN 201610369414 A CN201610369414 A CN 201610369414A CN 107451831 B CN107451831 B CN 107451831B
- Authority
- CN
- China
- Prior art keywords
- task
- data
- pushed
- information table
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0254—Targeted advertisements based on statistics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
-
- 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
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种任务推送方法,具有表(T1)、表(T2)和表(T3),表(T3)以表(T2)中的用户唯一标识以及表(T1)中的任务渠道类型为唯一索引,该方法包括:步骤(S1),在表(T1)中创建待过滤任务数据;步骤(S2),在表(T1)中查找与当天待过滤任务数据的任务渠道类型相同的已推送且过时的过时任务数据,从表(T3)中删除与过时任务数据对应的过时推送情况数据,将当天待过滤任务数据与根据当天待过滤任务数据而从用户信息表中筛选出的用户数据相结合,写入将过时推送情况数据删除后的表(T3),将当天待过滤任务数据变更为待推送任务数据;步骤(S3),从表(T1)中读取待推送任务数据,并从表(T3)中获取对应的用户,将待推送任务数据推送给该用户。
Description
技术领域
本发明涉及一种任务推送方法,特别涉及基于唯一索引的任务推送方法。
背景技术
近年,随着网络技术的飞速发展及便携式终端的大量普及,通过短信、邮件等网络进行任务(消息)的推送也更为普及。在短信、邮件等网络任务推送过程中,为了需要避免对用户的过度打扰,而需要控制好任务推送的频度,即在一定时间内同一个用户只能收到一次任务信息。此时,系统需要对一段时间内已经接收过任务信息的用户做过滤。即,这类用户如果在运营人员想要推送任务的人群中间,则系统需要将他们识别出来并且不再发送相应任务信息。
目前,用于过滤用户的方案一般都是采用布隆过滤器。所谓布隆过滤器,具体而言,先创建一个巨大的hash表(hash table),然后,查出在一段时间内已经推送过的用户,对每一个用户我们使用八个不同的hash算法,产生八个hash值,再将这八个hash值映射到hash表中八个坐标上,且将这八个坐标的值全部设置为“1”。当有新用户需要推送时,对该用户同样使用八个不同的hash算法,产生八个hash值,将这个八个hash值映射到hash表中八个坐标上,当每个坐标都为“1”时,表示该用户已被推送过,需要放弃,如果有不为“1”的坐标,即表示该用户未被推送过,则将八个坐标值设为“1”,且将该用户加入到任务推送列表中。
其中,hash算法是将任意长度的字符映射为较短的固定长度的字符,这个较短的字符称为hash值。hash值是一段数据唯一且极其紧凑的数值表示形式。原字符变化时,hash值也将变化。Hash表是一种利用hash算法实现快速定位和查询的“key-value”一对一数据结构。
但是,在现有这样的采用布隆过滤器的任务推送方法中,存在如下的问题。
(1)布隆过滤器有误判的风险。当用户存在于hash表中时,布隆过滤器会返回“存在”,但如果某个用户对应的八个坐标都恰好被设置成了“1”,该用户也会被判断为存在。
(2)布隆过滤器无法删除数据。如果某些原因(例如,运营人员取消了此次任务推送活动)导致用户并未接收到任务信息,想要将此次的用户从布隆过滤器中删除,只能重新加载所有数据。
(3)当同一种任务渠道(邮件、短信为两种不同任务渠道)有多个类型且每个类型过滤天数(即,多少天内只收到一次任务信息)不尽相同时,需要不断增加hash表的数量。
(4)需要将用户唯一标识放入内存中进行比较,会占用较多内存。
发明内容
本发明是鉴于现有采用布隆过滤器的任务推送方法中的上述问题而做出的。其目的在于提供一种基于唯一索引的任务推送方法、装置及存储介质,能够准确识别用户在一段时间内是否收到过任务信息,且当用户已经在某个任务推送活动的人群中,但由于某种原因而未被推送时能够迅速识别,并且能被后续的任务推送活动使用,而且,当同一种任务渠道有多种类型且可能增加新的类型时,操作简便,只需加一个类型即可,另外,无需大量内存来存放用户信息,从而能够节省资源。
其中,所谓唯一索引是指:在数据库中可以确保索引列不出现重复的值。数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度的特点、且与应用程序彼此独立的数据集合。
本发明的一个方面的任务推送方法,具有:用于管理所述任务的任务信息表;用于管理所述用户的用户信息表;和用于管理向所述用户推送所述任务的推送情况的推送情况信息表,所述推送情况信息表以所述用户信息表中的用户唯一标识、以及所述任务信息表中的任务渠道类型作为唯一索引,该任务推送方法包括:任务创建步骤,在所述任务信息表中创建待过滤任务数据;任务过滤步骤,在所述任务信息表中查找与所述待过滤任务数据中的当天待过滤任务数据的任务渠道类型相同的已推送且过时的过时任务数据,从所述推送情况信息表中删除与所述过时任务数据对应的过时推送情况数据,将所述当天待过滤任务数据与根据所述当天待过滤任务数据而从所述用户信息表中筛选出的用户数据相结合,写入将所述过时推送情况数据删除后的推送情况信息表,且将所述当天待过滤任务数据变更为待推送任务数据;和任务推送步骤,从所述任务信息表中读取所述待推送任务数据,并从所述推送情况信息表中获取对应的待推送用户,将所述待推送任务数据推送给所述待推送用户,且将所述待推送任务数据变更为已推送任务数据。
根据本发明的一个方面的任务推送方法,所述用户唯一标识是所述用户信息表中的手机号或电子邮箱地址。
根据本发明的一个方面的任务推送方法,所述任务信息表包括:任务渠道类型字段,其用于记录向所述用户推送所述任务时的推送渠道类型,所述任务渠道类型是所述任务渠道类型字段的内容。
根据本发明的一个方面的任务推送方法,所述推送渠道类型字段的内容包括:手机短信或电子邮件。
根据本发明的一个方面的任务推送方法,所述任务信息表还包括:任务状态字段,其用于记录所述任务的当前状态,所述待过滤任务数据是所述任务状态字段的内容为待过滤的任务数据,所述待推送任务数据是所述任务状态字段的内容为待推送的任务数据,所述已推送任务数据是所述任务状态字段的内容为已推送的任务数据。
根据本发明的一个方面的任务推送方法,所述任务信息表还包括:推送日期字段,其用于记录所述任务的推送日期,在所述任务被推送之前,所述推送日期是所述任务将要推送的日期,在所述任务被推送之后,所述推送日期是所述任务已推送的日期。
根据本发明的一个方面的任务推送方法,所述当天待过滤任务数据是所述任务状态字段的内容为待过滤、且所述推送日期为当天日期的任务数据。
根据本发明的一个方面的任务推送方法,所述任务信息表还包括:过滤天数字段,其用于记录所述任务的可再次推送的间隔天数,所述已推送且过时是指所述任务状态字段的内容为已推送、且所述推送日期早于当前日期减去所述间隔天数。
根据本发明的一个方面的任务推送方法,所述任务信息表还包括:作为主键的任务ID字段。
根据本发明的一个方面的任务推送方法,所述推送情况信息表还包括:用户标识字段,其与所述用户信息表中的所述用户唯一标识相对应;任务标识字段,其作为外键而与所述任务信息表中的任务ID字段相对应;推送状态字段,其记录所述任务的推送状态;和推送日期字段,其记录所述任务的推送日期。
根据本发明的一个方面的任务推送方法,所述过时推送情况数据是所述推送情况信息表中的所述任务标识字段的内容与所述过时任务数据的所述任务ID相一致的推送情况数据。
根据本发明的一个方面的任务推送方法,所述任务信息表还包括:筛选用户规则字段,其用于记录针对所述任务所要筛选出的用户的类型,所述用户信息表还包括:
购买记录字段,其用于记录所述用户的购买记录,
所述用户信息表中的所述购买记录字段与所述任务信息表中的所述筛选用户规则字段是相关联的。
根据本发明的一个方面的任务推送方法,所述任务过滤步骤中的所述用户数据的筛选是通过所述购买记录字段与所述筛选用户规则字段相关联来进行的。
根据本发明的一个方面的任务推送方法,在所述任务过滤步骤中,在对所述推送情况信息表进行写入时,所写入的推送情况数据的所述推送状态字段的内容为待推送。
根据本发明的一个方面的任务推送方法,在所述任务推送步骤中,在所述任务的推送完成时,将所述推送情况信息表中的与所述已推送任务数据相应的推送情况数据的所述推送状态字段的内容设定为已推送,且将相应的推送情况数据的所述推送日期字段的内容设定为当天的推送日期。
根据本发明的另一方面的任务推送装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行所述一个方面的任务推送方法。
根据本发明的另一方面的计算机可读存储介质,存储有计算机指令,所述指令被处理器执行时实现所述一个方面的任务推送方法。
根据本发明的任务推送方法、装置及存储介质,能够准确识别用户在一段时间内是否收到过任务信息;当用户已经在某个任务推送活动的人群中但由于某种原因而未被推送时,能够迅速识别,并且能被后续的任务推送活动使用;当同一种任务渠道有多种类型且可能增加新的类型时,操作简便,只需加一个类型即可;无需大量内存来存放用户信息,能够节省资源。
附图说明
图1是本发明的任务推送方法的整体流程概略框图。
图2是本发明的任务推送方法的任务过滤步骤S2的流程图。
图3是本发明的任务推送方法的任务推送步骤S3的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进行详细说明。
首先,对本发明的任务推送方法所使用的各个信息表的结构进行说明。
表1所示的是对任务进行管理的任务信息表T1的结构。
【表1】
任务ID | 任务渠道类型 | 任务状态 | 任务内容 | 过滤天数 | 筛选用户规则 | 推送日期 |
其中,“任务ID”字段是该任务信息表T1的主键,以标识该任务。“任务渠道类型”字段用于标识该任务通过网络推送的渠道类型。例如,“1”表示该任务的渠道类型为手机短信;“2”表示该任务的渠道类型为电子邮件等。“任务状态”字段用于标识该任务的当前状态,例如,“待过滤”、“待推送”、“已推送”等。“任务内容”字段用于记录该任务的具体内容(即,推送内容)。“过滤天数”字段用于记录该任务的可再次推送的间隔天数。例如,当某一任务较重要,需较频繁地推送给用户时,过滤天数可设为“3天”等较小的间隔天数,当某一任务不重要,无需频繁地推送给用户时,过滤天数可设为“10天”等较大的间隔天数。“筛选用户规则”字段用于记录针对该任务所要筛选出的用户的类型。例如,“购买过空调”、“购买过洗衣机”、“购买过冰箱”等。“推送日期”字段用于记录该任务将要被推送的日期(当该任务尚未推送时)、或者该任务已推送的日期(当该任务已经被推送时)。
表2所示的是对用户信息进行管理的用户信息表T2的结构。
【表2】
用户ID | 用户名称 | 手机号 | 电子邮箱地址 | 购买记录 |
其中,“用户ID”字段是该用户信息表T2的主键,用于标识该用户。“用户名称”字段用于记录该用户的名称。“手机号”字段用于记录该用户的手机号,且作为用户唯一标识之一。“电子邮箱地址”字段用于记录该用户的电子邮箱地址,且作为用户唯一标识之一。“购买记录”字段用于记录该用户的购买记录。例如,“购买过空调”、“购买过洗衣机”、“购买过冰箱”等。该“购买记录”字段与上述任务信息表T1中的“筛选用户规则”字段相对应。在此,所谓的“用户唯一标识”是指可以唯一确定用户的标识,例如,通过手机号或电子邮箱地址就可以唯一确定用户。
表3所示的是对推送情况进行管理的推送情况信息表T3的结构。
【表3】
自增长ID | 用户标识 | 任务渠道类型 | 任务标识 | 推送状态 | 推送日期 |
其中,“自增长ID”字段是该推送情况信息表T3的随着记录的写入而自动递增地对每条记录赋予的ID,以作为该信息表的主键(自增长键)。“用户标识”字段用于记录上述表2所示的用户信息表T2中的作为用户唯一标示之一的“手机号”或“电子邮箱地址”作为外键,以与用户信息表T2相关联。“任务渠道类型”字段用于标识任务推送时的渠道,其与上述。例如,手机短信时为“1”、电子邮件时为“2”等。“任务标识”字段用于记录上述表1所示的任务信息表T1中的任务ID作为外键,以与任务信息表T1相关联。“推送状态”字段标识该任务的当前推送状态,例如,“待推送”、“已推送”等。要注意,该“推送状态”字段的数据一般与上述任务信息表1的“任务状态”的数据相一致,但没有“待过滤”这一状态。“推送日期”字段用于记录该任务被推送的日期,当该任务尚未推送时记录为空,当该任务已经被推送时记录该任务已推送的日期。此外,在该推送情况信息表T3中,将“用户标识”字段和“任务渠道类型”字段作为唯一索引。
图1是本发明的任务推送方法的整体流程的概要框图。
如图1所示,在本发明的任务推送方法中,包括:任务创建步骤S1;任务过滤步骤S2以及任务推送步骤S3。
首先,在任务创建步骤S1中,根据实际推送任务的需要,创建任务数据,写入到既存的任务信息表T1中作为新的记录(任务数据)。例如,根据实际推送任务的需要,创建一个任务数据如下:“任务ID”设定为“0003”,“任务渠道类型”设定为“1”(即,手机短信),“推送内容”记入具体要推送的内容(例如,为方便起见,假设为“这是任务3”),“过滤天数”设定为“2”(即,推送间隔天数为2天),“筛选用户规则”设定为“购买过冰箱”,“推送日期”设定为“2016-1-1”(将要推送的日期),最后,将“任务状态”设定为“待过滤”。具体而言,例如,如下表1A所示,得到任务信息表T1中除了既存记录以外而创建的一条新的记录。其中,粗体字表述新的记录,非粗体字表示既存的记录。
【表1A】
任务ID | 任务渠道类型 | 任务状态 | 任务内容 | 过滤天数 | 筛选用户规则 | 推送日期 |
0001 | 1 | 已推送 | 这是任务1 | 2 | 购买过空调 | 2015-12-29 |
0002 | 1 | 已推送 | 这是任务2 | 2 | 购买过洗衣机 | 2015-12-31 |
0003 | 1 | 待过滤 | 这是任务3 | 2 | 购买过冰箱 | 2016-1-1 |
接着,反复进行上述任务创建步骤,直至根据需要而创建完所有要推送的任务。
然后,进入任务过滤步骤S2。
图2是本发明的任务推送方法的任务过滤步骤S2的流程图。
如图2所示,在上述任务过滤步骤S2中,首先,从任务信息表T1中读取“任务状态”为“待过滤”且“推送日期”为当天的任务数据(步骤S2-1)。
以上述表1A为例,假设当天为2016-1-1,于是,读取到“待过滤”的任务ID“0003”作为待过滤任务数据(本例中,为了简化而仅读取到一个待过滤任务数据,实际上读取到待过滤任务数据的个数通常为多个)。
接着,遍历所读取的任务数据(步骤S2-2)。
然后,查找在任务信息表T1中是否存在已推送且过时的任务数据(步骤S2-3)。
具体而言,在步骤S2-3中,根据该任务数据的“任务渠道类型”、“过滤天数”、“任务状态”及“推送日期”,从任务信息表T1中查找是否存在“任务渠道类型”与当前待过滤任务一致(即“任务渠道类型”为“1”)且“任务状态”为“已推送”且“推送日期”小于当前日期减去“过滤天数”的这个时间点(即,2016-1-1减去2天等于2015-12-30)之前的任务,在查找结果为“是”时,进入步骤S2-4,在查找结果为“否”时,进入步骤S2-5。
在此,继续以上述表1A为例,如上所述,在任务信息表T1中可查找到任务ID为“0001”的任务数据相应的已推送且过时的任务数据。
然后,在步骤S2-4中,根据所查找到的上述已推送且过时的任务数据的“任务ID”,从推送情况信息表T3中删除与上述已推送且过时的任务数据相应的推送情况数据。
在此,假设与上述表1A所示的任务信息表T1对应的推送情况信息表T3如以下表3A所示。在此,用户标识以手机号为例。
【表3A】
自增长ID | 用户标识 | 任务渠道类型 | 任务标识 | 推送状态 | 推送日期 |
1 | AAAAAA | 1 | 0001 | 已推送 | 2015-12-29 |
2 | BBBBBB | 1 | 0001 | 已推送 | 2015-12-29 |
3 | CCCCCC | 1 | 0002 | 已推送 | 2015-12-31 |
这样,如上所述,在步骤S2-4中,删除表3A所示的推送情况信息表T3中的“任务标识”为“0001”(即,用户标识为“AAAAAA”、“BBBBBB”)的两个用户的推送情况数据(推送记录)。删除后的推送情况信息表T3的数据如下表3B所示。
【表3B】
自增长ID | 用户标识 | 任务渠道类型 | 任务标识 | 推送状态 | 推送日期 |
3 | CCCCCC | 1 | 0002 | 已推送 | 2015-12-31 |
也就是说,根据任务数据的“推送日期”及“过滤天数”,上述两个用户在2015年12月29日收到过推送信息,“过滤天数”是2天,今天是2016年1月1日,他们已经可以再次接受新的推送信息了。此外,推送情况信息表T3中记录的“推送状态”和“推送日期”,一般与任务信息表T1中的“任务状态”和“推送日期”是一致的,但注意“推送状态”字段没有“待过滤”这一上述“任务状态”字段所特有的状态。
然后,在步骤S2-5中,生成写入推送情况信息表T3中的数据。具体而言,根据所遍历的待过滤任务数据中的“筛选用户规则”,去用户信息表T2中利用与该“筛选用户规则”字段相关联的“购买记录”字段来筛选出相应的用户。例如,若“筛选用户规则”是“购买过空调”的用户,则从用户信息表T2中将在“购买记录”字段中记录有“购买过空调”的用户的“用户ID”和其所对应的“手机号”/“电子邮箱地址”筛选出来,且加上任务信息表T1中该任务数据的“任务ID”、“任务渠道类型”,并将“任务状态”设定为“待推送”,而生成整个要写入到推送情况信息表T3中的记录数据。
具体而言,假设用户信息表T2如下表2A所示。
【表2A】
用户ID | 用户名称 | 手机号 | 电子邮箱地址 | 购买记录 |
A | 用户A | AAAAAA | AA@AA | 购买过冰箱 |
B | 用户B | BBBBBB | BB@BB | 购买过空调 |
C | 用户C | CCCCCC | CC@CC | 购买过冰箱 |
D | 用户D | DDDDDD | DD@DD | 购买过冰箱 |
于是,如上所述生成的要写入推送情况信息表T3中的记录数据如下表3C所示。
【表3C】
自增长ID | 用户标识 | 任务渠道类型 | 任务标识 | 推送状态 | 推送日期 |
AAAAAA | 1 | 0003 | 待推送 | ||
CCCCCC | 1 | 0003 | 待推送 | ||
DDDDDD | 1 | 0003 | 待推送 |
接着,在步骤S2-6中,将所生成的上述表3C所示的记录数据写入到如上述表3B所示的删除了已推送且过时的任务数据的推送情况信息表T3中。此时,由于该推送情况信息表T3是以“用户标识”和“任务渠道类型”为唯一索引,“任务标识”为“0003”的用户C的用户标识和任务渠道类型与“任务标识”为“0002”的用户C的用户标识和任务渠道类型相同,因此唯一索引会生效,而阻止“任务标识”为“0003”的用户C的数据写入。具体而言,写入后的推送情况信息表T3如下表3D所示。
【表3D】
自增长ID | 用户标识 | 任务渠道类型 | 任务标识 | 推送状态 | 推送日期 |
3 | CCCCCC | 1 | 0002 | 已推送 | 2015-12-31 |
4 | AAAAAA | 1 | 0003 | 待推送 | |
5 | DDDDDD | 1 | 0003 | 待推送 |
然后,在步骤S2-7中,针对所遍历的待过滤任务数据,在任务信息表T1中将其“任务状态”从“待过滤”变更为“待推送”,完成该待过滤任务数据的推送准备。具体而言,将如表1A所示的任务信息表T1变更后,如下表1B所示。
【表1B】
任务ID | 任务渠道类型 | 任务状态 | 任务内容 | 过滤天数 | 筛选用户规则 | 推送日期 |
0001 | 1 | 已推送 | 这是任务1 | 2 | 购买过空调 | 2015-12-29 |
0002 | 1 | 已推送 | 这是任务2 | 2 | 购买过洗衣机 | 2015-12-31 |
0003 | 1 | 待推送 | 这是任务3 | 2 | 购买过冰箱 | 2016-1-1 |
然后,在步骤S2-8中,判断所有待过滤任务数据是否遍历完毕。当判断结果为“否”(即未完毕)时,遍历下一条待过滤任务数据,并返回步骤S2-3。当判断结果为“是”(即遍历完毕)时,进入下一步骤S3(即,任务推送步骤S3)。
图3是本发明的任务推送方法的任务推送步骤S3的流程图。
如图3所示,在任务推送步骤S3中,首先,从任务信息表T1中读取“任务状态”为“待推送”的任务数据,作为待推送任务数据(步骤S3-1)。
以上述表1B为例,就读取到任务ID为“0003”的待推送任务数据。即,ID为“0003”、“任务渠道类型”为“1”(即手机短信)、“推送内容”为“这是推送任务3”的待推送任务数据。注意,这里为了说明方便起见,仅读取到一条待推送任务数据,实际上一般会读取到很多条待推送任务数据。
接着,在步骤S3-2中,遍历所读取的上述待推送任务数据。
然后,在步骤S3-3中,根据所遍历的待推送任务数据的“任务ID”,从推送情况信息表T3获取对应的“用户标识”,(例如,手机号/电子邮箱地址)。
以上述表3D及表2A为例,就获得待推送任务数据(任务ID为“0003”)对应的两个“用户标识”(“手机号”为“AAAAAA”、以及“手机号”为“DDDDDD”)。
接着,在步骤S3-4中,根据所获取的上述用户数据及上述待推送任务数据,按照“任务渠道类型”(例如,本示例中为“1”的手机短信)向上述用户数据对应的用户(例如,本示例中为手机号“AAAAAA”和“DDDDDD”)分别推送上述待推送任务数据的“推送内容”(本示例中为手机号“我是任务A”和“我是任务D”)。
然后,在步骤S3-5中,进行推送后处理。具体而言,在完成所遍历的上述待推送任务数据的推送之后,分别相应地将任务信息表T1中所对应的“任务状态”和推送情况信息表T3中所对应的“推送状态”更新为“已推送”,并将“推送日期”设定为当前的日期。
以上述表3D和表1B为例,则推送后处理之后的任务信息表T1和推送情况信息表T3如下表3E和表1C所示。
【表3E】
自增长ID | 用户标识 | 任务渠道类型 | 任务标识 | 推送状态 | 推送日期 |
3 | CCCCCC | 1 | 0002 | 已推送 | 2015-12-31 |
4 | AAAAAA | 1 | 0003 | 已推送 | 2016-1-1 |
5 | DDDDDD | 1 | 0003 | 已推送 | 2016-1-1 |
【表1C】
任务ID | 任务渠道类型 | 任务状态 | 任务内容 | 过滤天数 | 筛选用户规则 | 推送日期 |
0001 | 1 | 已推送 | 这是任务1 | 2 | 购买过空调 | 2015-12-29 |
0002 | 1 | 已推送 | 这是任务2 | 2 | 购买过洗衣机 | 2015-12-31 |
0003 | 1 | 已推送 | 这是任务3 | 2 | 购买过冰箱 | 2016-1-1 |
然后,在步骤S3-6中,判断所有待推送任务数据是否遍历完毕。当判断结果为“否”(即未完毕)时,遍历下一条待推送任务数据,并返回步骤S3-3。当判断结果为“是”(即遍历完毕)时,整个推送任务处理结束。
根据本发明的上述实施例所述的任务推送方法,能够准确识别用户在一段时间内是否收到过任务信息;当用户已经在某个任务推送活动的人群中但由于某种原因而未被推送时,能够迅速识别,并且能被后续的任务推送活动使用;当同一种任务渠道有多种类型且可能增加新的类型时,操作简便,只需加一个类型即可;无需大量内存来存放用户信息,能够节省资源。
以上,针对本发明的任务推送方法的技术方案,以实施例为例进行了详细说明。虽然在上述的实施例中是通过软件流程的方式进行了说明,但就本领域技术人员而言,这些技术方案的一部分或全部均可以由硬件、软件或硬件与软件的组合来实现,这是不言而喻的。
另外,以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体示例而已,并不用于限制本发明。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种任务推送方法,具有:
用于管理所述任务的任务信息表;
用于管理用户的用户信息表;和
用于管理向所述用户推送所述任务的推送情况的推送情况信息表,
所述推送情况信息表以所述用户信息表中的用户唯一标识、以及所述任务信息表中的任务渠道类型作为唯一索引,
该任务推送方法包括:
任务创建步骤,在所述任务信息表中创建待过滤任务数据;
任务过滤步骤,在所述任务信息表中查找与所述待过滤任务数据中的当天待过滤任务数据的任务渠道类型相同的已推送且过时的过时任务数据,从所述推送情况信息表中删除与所述过时任务数据对应的过时推送情况数据,将所述当天待过滤任务数据与根据所述当天待过滤任务数据而从所述用户信息表中筛选出的用户数据相结合,写入将所述过时推送情况数据删除后的推送情况信息表,且将所述当天待过滤任务数据变更为待推送任务数据;和
任务推送步骤,从所述任务信息表中读取所述待推送任务数据,并从所述推送情况信息表中获取对应的待推送用户,将所述待推送任务数据推送给所述待推送用户,且将所述待推送任务数据变更为已推送任务数据。
2.根据权利要求1所述的任务推送方法,其特征在于,
所述用户唯一标识是所述用户信息表中的手机号或电子邮箱地址。
3.根据权利要求1所述的任务推送方法,其特征在于,
所述任务信息表包括:
任务渠道类型字段,其用于记录向所述用户推送所述任务时的推送渠道类型,
所述任务渠道类型是所述任务渠道类型字段的内容。
4.根据权利要求3所述的任务推送方法,其特征在于,
所述推送渠道类型字段的内容包括:手机短信或电子邮件。
5.根据权利要求1所述的任务推送方法,其特征在于,
所述任务信息表还包括:
任务状态字段,其用于记录所述任务的当前状态,
所述待过滤任务数据是所述任务状态字段的内容为待过滤的任务数据,
所述待推送任务数据是所述任务状态字段的内容为待推送的任务数据,
所述已推送任务数据是所述任务状态字段的内容为已推送的任务数据。
6.根据权利要求5所述的任务推送方法,其特征在于,
所述任务信息表还包括:
推送日期字段,其用于记录所述任务的推送日期,
在所述任务被推送之前,所述推送日期是所述任务将要推送的日期,
在所述任务被推送之后,所述推送日期是所述任务已推送的日期。
7.根据权利要求6所述的任务推送方法,其特征在于,
所述当天待过滤任务数据是所述任务状态字段的内容为待过滤、且所述推送日期为当天日期的任务数据。
8.根据权利要求7所述的任务推送方法,其特征在于,
所述任务信息表还包括:
过滤天数字段,其用于记录所述任务的可再次推送的间隔天数,
所述已推送且过时是指所述任务状态字段的内容为已推送、且所述推送日期早于当前日期减去所述间隔天数。
9.根据权利要求8所述的任务推送方法,其特征在于,
所述任务信息表还包括:作为主键的任务ID字段。
10.根据权利要求9所述的任务推送方法,其特征在于,
所述推送情况信息表还包括:
用户标识字段,其与所述用户信息表中的所述用户唯一标识相对应;
任务标识字段,其作为外键而与所述任务信息表中的任务ID字段相对应;
推送状态字段,其记录所述任务的推送状态;和
推送日期字段,其记录所述任务的推送日期。
11.根据权利要求10所述的任务推送方法,其特征在于,
所述过时推送情况数据是所述推送情况信息表中的所述任务标识字段的内容与所述过时任务数据的所述任务ID相一致的推送情况数据。
12.根据权利要求11所述的任务推送方法,其特征在于,
所述任务信息表还包括:
筛选用户规则字段,其用于记录针对所述任务所要筛选出的用户的类型,
所述用户信息表还包括:
购买记录字段,其用于记录所述用户的购买记录,
所述用户信息表中的所述购买记录字段与所述任务信息表中的所述筛选用户规则字段是相关联的。
13.根据权利要求12所述的任务推送方法,其特征在于,
所述任务过滤步骤中的所述用户数据的筛选是通过所述购买记录字段与所述筛选用户规则字段相关联来进行的。
14.根据权利要求13所述的任务推送方法,其特征在于,
在所述任务过滤步骤中,
在对所述推送情况信息表进行写入时,所写入的推送情况数据的所述推送状态字段的内容为待推送。
15.根据权利要求14所述的任务推送方法,其特征在于,
在所述任务推送步骤中,
在所述任务的推送完成时,将所述推送情况信息表中的与所述已推送任务数据相应的推送情况数据的所述推送状态字段的内容设定为已推送,且将相应的推送情况数据的所述推送日期字段的内容设定为当天的推送日期。
16.一种任务推送装置,其特征在于,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1至15中任一项所述的任务推送方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如权利要求1至15中任一项所述的任务推送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610369414.0A CN107451831B (zh) | 2016-05-30 | 2016-05-30 | 任务推送方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610369414.0A CN107451831B (zh) | 2016-05-30 | 2016-05-30 | 任务推送方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107451831A CN107451831A (zh) | 2017-12-08 |
CN107451831B true CN107451831B (zh) | 2020-06-30 |
Family
ID=60484825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610369414.0A Active CN107451831B (zh) | 2016-05-30 | 2016-05-30 | 任务推送方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107451831B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108460115B (zh) * | 2018-02-10 | 2020-06-23 | 深圳壹账通智能科技有限公司 | 消息推送方法、装置、计算机设备及存储介质 |
CN109587038A (zh) * | 2018-11-30 | 2019-04-05 | 深圳市买买提信息科技有限公司 | 消息推送方法及装置 |
CN109743378B (zh) * | 2018-12-27 | 2021-08-13 | 北京爱奇艺科技有限公司 | 信息推送系统、信息推送方法及电子设备 |
CN111666484B (zh) * | 2019-03-07 | 2023-10-13 | 腾讯科技(深圳)有限公司 | 内容推送方法、推送装置及计算机可读存储介质 |
CN110708360A (zh) * | 2019-09-17 | 2020-01-17 | Oppo广东移动通信有限公司 | 一种信息处理方法、系统和电子设备 |
CN110795220B (zh) * | 2019-10-25 | 2022-04-22 | 北京浪潮数据技术有限公司 | 一种任务合并方法、装置和计算机可读存储介质 |
CN111698280A (zh) * | 2020-04-24 | 2020-09-22 | 杭州传化智能制造科技有限公司 | 跨通信平台的运维方法、系统、计算机设备和存储介质 |
CN111770182B (zh) * | 2020-06-30 | 2022-05-31 | 北京百度网讯科技有限公司 | 数据推送方法和装置 |
CN112187903B (zh) * | 2020-09-22 | 2022-08-26 | 华云工业互联网有限公司 | 一种消息推送方法、装置及消息服务系统 |
CN113420218A (zh) * | 2021-06-30 | 2021-09-21 | 北京百度网讯科技有限公司 | 信息匹配方法、装置、设备、存储介质及计算机程序产品 |
CN115514731B (zh) * | 2022-09-22 | 2024-09-17 | 中国农业银行股份有限公司 | 一种消息推送方法、装置、介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102916867A (zh) * | 2012-10-12 | 2013-02-06 | 北京百度网讯科技有限公司 | 一种消息推送方法及系统 |
CN103368992A (zh) * | 2012-03-28 | 2013-10-23 | 阿里巴巴集团控股有限公司 | 一种信息推送方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150093887A (ko) * | 2014-02-07 | 2015-08-19 | 엔에이치엔엔터테인먼트 주식회사 | 모바일 게임 프로모션을 위한 푸쉬 시스템 및 푸쉬 서비스 방법 |
-
2016
- 2016-05-30 CN CN201610369414.0A patent/CN107451831B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103368992A (zh) * | 2012-03-28 | 2013-10-23 | 阿里巴巴集团控股有限公司 | 一种信息推送方法及装置 |
CN102916867A (zh) * | 2012-10-12 | 2013-02-06 | 北京百度网讯科技有限公司 | 一种消息推送方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107451831A (zh) | 2017-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107451831B (zh) | 任务推送方法、装置及存储介质 | |
TWI735537B (zh) | 計算機可讀取儲存介質及資料清理裝置 | |
CN111639066A (zh) | 一种数据清洗的方法和装置 | |
CN108021590B (zh) | 一种目标对象属性确定方法、属性更新方法及装置 | |
CN106095789B (zh) | 一种消息订阅管理装置及方法 | |
CN109918386B (zh) | 一种数据恢复方法和装置、计算机可读存储介质 | |
CN107015987B (zh) | 一种更新和搜索数据库的方法及设备 | |
EP3788505B1 (en) | Storing data items and identifying stored data items | |
CN112307297B (zh) | 一种基于优先级规则的用户标识统一方法及系统 | |
CN106161193B (zh) | 一种邮件处理方法、装置和系统 | |
CN114064705A (zh) | 多层关联下的用户信息融合方法、终端、存储介质及系统 | |
CN113127848A (zh) | 一种权限系统数据的存储方法及相关设备 | |
WO2016197814A1 (zh) | 垃圾文件识别及管理方法、识别装置、管理装置和终端 | |
CN108876644B (zh) | 一种基于社交网络的相似账号计算方法及装置 | |
CN106649602A (zh) | 业务对象数据处理方法、装置和服务器 | |
US11829377B2 (en) | Efficient storage method for time series data | |
CN113779286B (zh) | 管理图数据的方法及装置 | |
KR101171551B1 (ko) | 이벤트 이력 기억 장치, 이벤트 이력 추적 장치, 이벤트 이력 기억 방법, 이벤트 이력 기억 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 데이터 구조를 기록한 컴퓨터 판독 가능한 기록 매체 | |
CN111782728A (zh) | 一种数据同步方法、装置、电子设备及介质 | |
CN107016548B (zh) | 客户系统、信息处理方法和读写方法及装置 | |
CN108073712B (zh) | 信息系统中的主数据删除方法、装置和计算机设备 | |
CN112817980B (zh) | 一种数据索引处理方法、装置、设备及存储介质 | |
US20170262439A1 (en) | Information processing apparatus and non-transitory computer readable medium | |
CN102662995A (zh) | 一种快速定位手机应用数据更新的方法 | |
CN113934742A (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 |