CN109889349A - 一种app广播消息推送方法、装置及可读存储介质 - Google Patents
一种app广播消息推送方法、装置及可读存储介质 Download PDFInfo
- Publication number
- CN109889349A CN109889349A CN201910182058.5A CN201910182058A CN109889349A CN 109889349 A CN109889349 A CN 109889349A CN 201910182058 A CN201910182058 A CN 201910182058A CN 109889349 A CN109889349 A CN 109889349A
- Authority
- CN
- China
- Prior art keywords
- facility information
- message
- file
- information file
- app
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000010354 integration Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012512 characterization method Methods 0.000 claims description 9
- 101150053844 APP1 gene Proteins 0.000 description 14
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 14
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 14
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提出一种APP广播消息推送方法、装置及可读存储介质,该方法包括:针对任意一个目标APP,从数据库中查找与所述目标APP相关联的设备ID,并将查找到的各个所述设备ID存储到与所述目标APP相对应的至少一个设备信息文件中;接收针对所述目标APP的广播消息推送指令;根据所述广播消息推送指令,获取与所述目标APP相对应的至少一个所述设备信息文件;根据获取到的每一个所述设备信息文件中存储的所述设备ID,向与所述设备ID相对应的手机设备推送广播消息。该装置包括:存储模块、接收模块、获取模块和推送模块。本方案能够提高通过APP向用户推送广播消息的效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种APP广播消息推送方法、装置及可读存储介质。
背景技术
随着手机的智能化程度不断提升,手机已经不再是简单的通信工具,用户可以在手机上安装各种类型的APP(Application,手机软件),通过APP进行社交、购物、运动、游戏、影视观看等多种活动。由此同时,各种类型APP的运营商为了达到推销产品、提升用户使用体验、维护已有用户、开发新用户等目的,会通过APP向用户推送广播消息,即向安装有特定APP的手机设备上推送广播消息。
目前在通过APP向用户推送广播消息时,首先需要确定推送广播消息所针对的目标APP,然后从数据库中查找与目标APP存在关联关系的设备ID,进而根据所查找到的设备ID向安装有目标APP的手机设备推送广播消息。
由于同一APP运营商旗下可能有多个APP,而不同APP与设备ID的关联关系均存储在同一数据库中,因此数据库中所存储APP与设备ID之间关联关系的数据量较大,在查找与目标APP存在关联关系的设备ID时需要耗费较长时间,进而导致通过APP向用户推送广播消息的效率较低。
发明内容
本发明提供一种APP广播消息推送方法、装置及可读存储介质,预先将与同一个APP相关联的各个设备ID存储到一个或多个设备信息文件中,在接收到针对该APP的广播消息推送指令后,直接根据该APP对应的各个设备信息文件中存储的设备ID向相对应的手机设备推送广播消息,无需在接收到广播消息推送指令之后再临时从数据库中查找与APP相关联的设备ID,从而可以提高通过APP向用户推送广播消息的效率。
第一方面,本发明实施例提供了一种APP广播消息推送方法,包括:
针对任意一个目标APP,从数据库中查找与所述目标APP相关联的设备ID,并将查找到的各个所述设备ID存储到与所述目标APP相对应的至少一个设备信息文件中;
接收针对所述目标APP的广播消息推送指令;
根据所述广播消息推送指令,获取与所述目标APP相对应的至少一个所述设备信息文件;
根据获取到的每一个所述设备信息文件中存储的所述设备ID,向与所述设备ID相对应的手机设备推送广播消息。
可选地,所述根据获取到的每一个所述设备信息文件中存储的所述设备ID,向与所述设备ID相对应的手机设备推送广播消息,包括:
针对获取到的每一个所述设备信息文件创建相对应的消息推送线程;
同时对所创建的各个所述消息推送线程进行运行,以使每一个所述消息推送线程根据相对应的所述设备信息文件中存储的所述设备ID,向相对应的所述手机设备推送广播消息。
可选地,在所述从数据库中查找与所述目标APP相关联的设备ID之后,且在将查找到的各个所述设备ID存储到与所述目标APP相对应的至少一个设备信息文件中之前,进一步包括:
根据从所述数据库中查找到的与所述目标APP相关联的所述设备ID的个数,通过如下公式确定所需设备信息文件的个数;
其中,所述M表征所述所需设备信息文件的个数;所述x表征从所述数据库中查找到的与所述目标APP相关联的所述设备ID的个数;所述X表征预先设定的个数阈值;所述m表征一个广播消息推送设备所能运行所述消息推送线程的最大个数;所述k表征根据一个所述设备信息文件所能存储所述设备ID的最大个数而确定的常数;所述
根据所确定出的所述所需设备信息文件的个数,创建相应个数的所述设备信息文件。
可选地,所述将查找到的各个所述设备ID存储到与所述目标APP相对应的至少一个设备信息文件中,包括:
对查找到的各个所述设备ID的优先级进行统计,确定查找到的各个所述设备ID的优先级分布信息;
根据所述优先级分布信息分别为每一个所述设备信息文件设置相对应的优先级文件占比;
根据查找到的各个所述设备ID的优先级以及每一个所述设备信息文件对应的所述优先级文件占比,将查找到的各个所述设备ID存储到各个所述设备信息文件中,使得每一个所述设备信息文件中不同优先级的所述设备ID的占比符合相对应的所述优先级文件占比。
可选地,在所述将查找到的各个所述设备ID存储到与所述目标APP相对应的至少一个设备信息文件中之后,进一步包括:
每经过一个预先设定的更新周期,从所述数据库中查找与所述目标APP相关联的新增设备ID,其中,所述新增设备ID是在所述更新周期内新增到所述数据库中的设备ID;
创建与所述目标APP相对应的至少一个新增设备信息文件;
将查找到的各个所述新增设备ID存储到所述至少一个新增设备信息文件中。
可选地,在所述将查找到的各个所述新增设备ID存储到所述至少一个新增设备信息文件中之前,进一步包括:
分别为查找到的每一个所述新增设备ID配置优先级。
可选地,该APP广播消息推送方法进一步包括:
每经过一个预先设定的整合周期,查询该整合周期内所创建的各个所述新增设备信息文件;
将查询到的各个所述新增设备信息文件中存储的所述新增设备ID整合到至少一个设备信息文件中,并将查询到的各个所述新增设备信息文件删除。
第二方面,本发明还提供了一种APP广播消息推送装置,包括:存储模块、接收模块、获取模块和推送模块;
所述存储模块,用于针对任意一个目标APP,从数据库中查找与所述目标APP相关联的设备ID,并将查找到的各个所述设备ID存储到与所述目标APP相对应的至少一个设备信息文件中;
所述接收模块,用于接收针对所述目标APP的广播消息推送指令;
所述获取模块,用于根据所述接收模块接收到的所述广播消息推送指令,获取由所述存储模块生成且与所述目标APP相对应的至少一个所述设备信息文件;
所述推送模块,用于根据所述获取模块获取到的每一个所述设备信息文件中存储的所述设备ID,向与所述设备ID相对应的手机设备推送广播消息。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一所述的APP广播消息推送方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的APP广播消息推送方法。
本发明实施例提供的APP广播消息推送方法、装置以及计算机设备和计算机可读存储介质,预先将数据库中存储的与目标APP相关联的各个设备ID存储到一个或多个与目标APP相对应的设备信息文件中,当接收到针对目标APP的广播消息推送指令后,获取与目标APP相对应的各个设备信息文件,之后根据获取到的各个设备信息文件中存储的设备ID向相对应的手机设备推送广播消息。由此可见,预先将与同一个APP相关联的各个设备ID存储到一个或多个设备信息文件中,在接收到针对该APP的广播消息推送指令后,直接根据该APP对应的各个设备信息文件中存储的设备ID向相对应的手机设备推送广播消息,无需在接收到广播消息推送指令之后再临时从数据库中查找与APP相关联的设备ID,从而可以提高通过APP向用户推送广播消息的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种APP广播消息推送方法的流程图;
图2是本发明一个实施例提供的一种所需设备信息文件数量确定方法的流程图;
图3是本发明一个实施例提供的一种设备ID存储方法的流程图;
图4是本发明一个实施例提供的一种设备信息文件更新方法的流程图;
图5是本发明一个实施例提供的另一种APP广播消息推送方法的流程图;
图6是本发明一个实施例提供的一个APP广播消息推送装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明一个实施例提供了一种APP广播消息推送方法,该方法可以包括以下步骤:
步骤101:针对任意一个目标APP,从数据库中查找与目标APP相关联的设备ID,并将查找到的各个设备ID存储到与目标APP相对应的至少一个设备信息文件中;
步骤102:接收针对目标APP的广播消息推送指令;
步骤103:根据广播消息推送指令,获取与目标APP相对应的至少一个设备信息文件;
步骤104:根据获取到的每一个设备信息文件中存储的设备ID,向与设备ID相对应的手机设备推送广播消息。
本发明实施例提供的APP广播消息推送方法,预先将数据库中存储的与目标APP相关联的各个设备ID存储到一个或多个与目标APP相对应的设备信息文件中,当接收到针对目标APP的广播消息推送指令后,获取与目标APP相对应的各个设备信息文件,之后根据获取到的各个设备信息文件中存储的设备ID向相对应的手机设备推送广播消息。由此可见,预先将与同一个APP相关联的各个设备ID存储到一个或多个设备信息文件中,在接收到针对该APP的广播消息推送指令后,直接根据该APP对应的各个设备信息文件中存储的设备ID向相对应的手机设备推送广播消息,无需在接收到广播消息推送指令之后再临时从数据库中查找与APP相关联的设备ID,从而可以提高通过APP向用户推送广播消息的效率。
在本发明实施例中,数据库中存储有与APP相关联的设备ID,同一个APP可以与多个设备ID相关联,同一设备ID也可以与多个APP相关联。针对任意一个APP,与该APP相关联的设备ID是指安装有该APP的手机设备的身份标识,不同手机设备具有不同的设备ID(身份标识),根据设备ID可以唯一确定一个相对应的手机设备,从而根据设备ID可以准确地向相应的手机设备发送信息。另外,数据库中存储有APP与设备ID的关联关系,手机设备首次运行相应APP时,APP可以上传手机设备的设备ID,进而可以根据APP上传的设备ID创建APP与设备ID之前的关联关系,之后将所创建的关联关系存储到数据库中。
另外,在根据设备信息文件中的设备ID向相应的手机设备推送广播消息时,所推送广播消息的内容可以从广播消息推送指令中获取。
可选地,在图1所示APP广播消息推送方法的基础上,步骤104根据设备信息文件向手机设备推送广播消息时,可以利用多个线程同时进行广播消息推送,具体过程可以通过如下方式实现:
针对获取到的每一个设备信息文件,创建对该设备信息文件相对应的一个消息推送线程;
同时对所创建的各个消息推送线程进行运行,使得每一个消息推送线程均能够根据其所对应的设备信息文件中存储的设备ID向相应的手机设备推送广播消息。
例如,共计获取到10个与目标APP相对应的设备信息文件,则创建10个消息推送线程,使得每一个设备信息文件可以独立对应一个消息推送线程。之后使10个消息推送线程并行,每一个消息推送线程在运行过程中可以从其所对应的设备信息文件中依次读取设备ID,从而根据所读取到的设备ID依次向相对应的手机设备推送广播消息。
针对获取到的每一个设备信息文件创建相对应的消息推送线程,对所创建的各个消息推送线程同时运行,使得各个消息推送线程可以同时根据其所对应的设备信息文件中的设备ID向手机设备推送广播消息,从而在同一时间可以向多个手机设备推送广播消息,进一步提高了通过APP向用户推送广播消息的效率。
可选地,在图1所示APP广播消息推送方法的基础上,将在查找到的各个设备ID存储到与目标APP相对应的设备信息文件中之前,首先需要创建一定数量的设备信息文件。如图2所示,创建设备信息文件的过程具体可以包括如下步骤:
步骤201:获取从数据库中查找到的与目标APP相关联的设备ID的个数;
步骤202:将获取到的设备ID的个数代入如下公式,计算出所需设备信息文件的个数;
在上述公式中,M表征所需设备信息文件的个数;x表征从数据库中查找到的与目标APP相关联的设备ID的个数;X表征预先设定的个数阈值;m表征一个广播消息推送设备所能运行消息推送线程的最大个数;k表征根据一个设备信息文件所能存储设备ID的最大个数而确定的常数;
步骤203:根据计算出的所需设备信息文件的个数,创建相应数量的设备信息文件。
在本发明实施例中,向手机设备推送广播消息需要依靠广播消息推送设备实现,而每一个广播消息推送设备所能够支持的消息推送线程的个数是有最大值限制的,而在利用消息推送线程向手机设备推送广播消息时每一个消息推送线程对应一个设备信息文件,且不同消息推送线程对应不同的设备信息文件。因此需要根据所获取到设备ID的个数来确定所需设备信息文件的个数,在保证推送广播消息效率的同时保证广播消息推送设备具有较高的利用率。
当所查找到的设备ID的个数x小于预先设定的个数阈值X时,直接创建固定个数(m个)的设备信息文件作为对应于目标APP的设备信息文件,而m是一个广播消息推送设备所能运行消息推动线程的最大个数,从而在仅使用一个广播消息推送设备的前提下具有较高的消息推送效率。
当所查找到的设备ID的个数x大于或等于预先设定的个数阈值X时,根据所查找到的设备ID的个数x和根据一个设备信息文件所能存储设备ID的最大个数而确定的常数k,计算出所需创建设备信息文件的个数保证所创建的各个设备信息文件可以对所查找到的所有设备ID进行存储。其中,且是指x与k的比值向上取整。
在上述公式中,预先设定的个数阈值X可以等于或小于一个设备信息文件所能存储设备ID的最大个数与m的乘积,此时可以避免将设备ID存储到设备信息文件中后各个设备信息文件均处于满载状态,保证所创建的各个设备信息文件能够存储得下所查找到的各个设备ID。另外,常数k可以等于或小于一个设备信息文件所能存储设备ID的最大个数,当k小于一个设备信息文件所能存储设备ID的最大个数时可以使得每一个设备信息文件均不会处于满载状态。
在查询到的与目标APP相关联的设备ID的个数较少时,创建固定数量的设备信息文件对查询到的设备ID进行存储,使得一个广播消息推送设备便可以同时运行分别与每一个设备信息文件相对应的多个消息推送线程进行广播消息推送,在保证广播消息推送效率的同时避免启用多个广播消息推送设备而造成资源浪费。在查询到与目标APP相关联的设备ID的个数较多时,按照实际需求创建多个设备信息文件对查询到的设备ID进行存储,进而通过多个广播消息推送设备同时运行多个消息推送线程进行广播消息推送,保证广播消息推送的效率。
可选地,在图1所示APP广播消息推送方法的基础上,步骤101在将查找到的设备ID存储到设备信息文件中时,可以根据各个设备ID的优先级将各个设备ID存储到对应的设备信息文件中。如图3所示,将设备ID存储到设备信息文件中的方法具体可以包括如下步骤:
步骤301:对查找到的各个设备ID的优先级进行统计,确定查找到的各个设备ID的优先级分布信息;
步骤302:根据确定出的优先级分布信息,分别为每一个设备信息文件设备相对应的优先级文件占比;
步骤303:根据查找到的各个设备ID的优先级以及每一个设备信息文件对应的优先级文件占比,将查找到的各个设备ID存储到各个设备信息文件中,使得每一个设备信息文件中不同优先级的设备ID的占比符合该设备信息文件对应的优先级文件占比。
在本发明实施例中,从数据库中查找到的与目标APP相关联的每一个设备ID具有相对应的优先级,通过对所查找到的各个设备ID的优先级进行统计,可以确定所查找到的各个设备ID的优先级分布信息,即每一个优先级所对应设备ID的个数。在确定出设备ID的优先级分布信息之后,可以根据优先级分布信息分别为每一个设备信息文件设置相对应的优先级文件占比,即设置设备信息文件所能存储的每一个优先级的设备ID的个数。之后根据各个设备ID的优先级以及各个设备信息文件对应的优先级占比,将各个设备ID存储到各个设备信息文件中,存储完成后保证各个设备信息文件中不同优先级的设备ID的个数符合相对应的优先级文件占比。
例如,针对目标APP共计创建了3个设备信息文件,分别为设备信息文件1、设备信息文件2和设备信息文件3,根据对设备ID的优先级进行统计分析而获得的优先级分布信息,将设备信息文件1的优先级文件占比设置为高优先级:中优先级:低优先级=1:0:0,将设备信息文件2的优先级文件占比设置为高优先级:中优先级:低优先级=0.7:0.3:0,将设备信息文件3的优先级文件占比设置为高优先级:中优先级:低优先级=0:0.4:0.6。之后根据3个设备信息文件各自对应的优先级文件占比,将查找到的各个设备ID分配到3个设备信息文件中进行存储。存储完成后,设备信息文件1中全部为高优先级的设备ID;设备信息文件2中仅包括高优先级和中优先级的设备ID,且高优先级的设备ID与中优先级的设备ID的个数比等于0.7:0.3;设备信息文件3中仅包括中优先级和低优先级的设备ID,且中优先级的设备ID与低优先级的设备ID的个数比等于0.4:0.6。
根据各个设备信息文件对应的优先级文件占比将各个设备ID存储到各个设备信息文件中,在根据设备信息文件中存储到设备ID向手机设备推送广播消息时,针对每一个设备信息文件,可以按照该设备信息文件中设备ID的优先级顺序向相对应的手机设备推送广播消息,以优先向设备ID优先级较高的手机设备推送广播消息,实现分阶段向手机设备推送广播消息,提升了该APP广播消息推送方法的适用性。
另外,不同设备信息文件所对应的优先级文件占比可以不同,在需要向设备ID为特定优先级的手机设备推送广播消息时,仅需对相应优先级文件占比中该特定优先级不为零的设备信息文件进行读取,进而根据读取出的优先级为该特定优先级的设备ID向手机设备推送广播消息,从而可以方便地对特定优先级设备ID的手机设备推送广播消息,满足不同用户的个性化需求。
需要说明的是,设备ID的优先级可以在将设备ID存储到数据库中时设置,也可以在从数据库中查找到设备ID之后根据用户的指令而设置。
可选地,在图1所示APP广播消息推送方法的基础上,步骤101将查找到的设备ID存储到设备信息文件中之后,可以将新增到数据库中的与目标APP相关联的设备ID也存储到设备信息文件中,如图4所示,具体过程可以包括如下步骤:
步骤401:每经过一个预先设定的更新周期,从数据库中查找与目标APP相关联的新增设备ID,其中,新增设备ID是指在该更新周期内新增到数据库中的设备ID;
步骤402:创建与目标APP相对应的至少一个新增设备信息文件;
步骤403:将查找到的新增设备ID存储到所创建的至少一个新增设备信息文件中。
在首次从数据库中查找与目标APP相关联的设备ID,并将所查找到的设备ID存储到与目标APP相对应的设备信息文件中之后,数据库中可能会新增与目标APP相关联的设备ID,为了在针对目标APP推送广播消息时可以向新增设备ID对应的手机设备推送广播消息,需要将数据库中新增的与目标APP相关联的设备ID也存储到设备信息文件中。为此,每经过一个更新周期,从数据库中查找与目标APP相关联的新增设备ID,并新创建一个或多个与目标APP相对应的设备信息文件对查找到的新增设备ID进行存储。
每经过一个更新周期,从数据库中查找在该更新周期新增到数据库中且与目标APP相关联的新增设备ID,并将查找到的新增设备ID存储到新创建的新增设备信息文件中,之后将新增设备信息文件与此前生成的与目标APP相对应的设备信息文件一同存储,当需要再次针对目标APP推送广播消息时,也会根据新增设备信息文件中存储的设备ID向手机设备推送广播消息,从而保证推送广播消息能够覆盖到所有安装目标APP的手机设备,提升推送广播消息的全面性。
需要说明的是,由于从数据库中查找新增设备ID时需要遍历数据库,会占用较多的计算资源,为了避免查找新增设备ID影响对数据库的正常访问,可以在数据库的空闲时间查找新增设备ID。比如,可以在每天凌晨一点开始查询数据库中新增的设备ID。
可选地,在图4所示存储新增设备ID方法的基础上,步骤401从数据库中查找到与目标APP相关联的新增设备ID之后,可以分别为查找的每一个新增设备ID配置优先级。
在为新增设备ID配置优先级并将新增设备ID存储到新增设备信息文件中之后,在需要针对具有特定优先级设备ID的手机设备推送广播消息时,可以根据新增设备信息文件中具有特定优先级的设备ID向相对应的手机设备推送广播消息,从而可以保证向具有特定优先级的手机设备推送广播消息时可以覆盖所有具有该特定优先级的手机设备,进而保证推送广播消息的全面性。
可选地,在图4所示存储新增设备ID方法的基础上,可以对在该整合周期内形成的所有新增设备文件进行整合。具体地,每经过一个预先设定的整合周期,查询该整合周期内所创建的对应于目标APP的各个新增设备信息文件,之后将查询到的各个新增设备信息文件中存储的新增设备ID整合到一个或多个设备信息文件中,之后将查询到的各个新增设备信息文件删除。
由于每经过一个更新周期都可能生成一个或多个对应于目标APP的新增设备信息文件,随着时间的推移会生成很多所存储设备ID个数较少的新增设备信息文件,这些新增设备信息文件作为碎片文件会占据较多的存储空间,并会影响推送广播消息的速度。每经过一个整合周期,将该整合周期内所生成的对应于目标APP的各个新增设备信息文件中存储的设备ID整合到一个或少数几个设备信息文件中,之后将对应于目标APP的各个新增设备信息文件删除,从而可以减少碎片文件的数量,在节约存储资源的同时可以保证推送广播消息的速度。
下面结合具体实例,对本发明实施例提供的APP广播消息推送方法作进一步详细说明,如图5所示,该方法可以包括以下步骤:
步骤501:从数据库中查找与目标APP相关联的设备ID。
在本发明实施例中,数据库中存储有不同APP与设备ID的关联关系,与一个APP存在关联关系的设备ID对应的手机设备上安装有该APP。根据数据库中查找设计目标APP的关联关系,从而将所查找到的各个关联关系对应的设备ID确定为与目标APP相关联的设备ID。
例如,数据库中存储有10个不同APP与设备ID的关联关系。现将APP1作为目标APP,从数据库中查找涉及APP1的关联关系,共查询到2000万条设备ID与APP1之间的关联关系,从而根据这2000万条关联关系确定出2000万个与APP1相对应的设备ID。
步骤502:根据所查询到设备ID的个数创建与目标APP相对应的设备信息文件。
在本发明实施例中,在查询到与目标APP相关联的设备ID之后,根据所查询到设备ID的个数,确定所需创建设备信息文件的个数,之后创建相应数量的设备信息文件。具体地,可以按照如下公式确定所需创建设备信息文件的个数;
其中,M表征所需设备信息文件的个数;x表征从数据库中查找到的与目标APP相关联的设备ID的个数;X表征预先设定的个数阈值;m表征一个广播消息推送设备所能运行消息推送线程的最大个数;k表征根据一个设备信息文件所能存储设备ID的最大个数而确定的常数;
例如,上述公式中X取值100万,k取值9.8万,由于所查找到与APP1相关联的设备ID的个数x等于2000万,从而即创建205个单个最多能存储10万个设备ID的设备信息文件作为与APP1相对应的设备信息文件。
步骤503:将查询到的各个设备ID存储到所创建的各个设备信息文件中。
在本发明实施例中,在创建对应于目标APP的设备信息文件后,将与目标APP相关联的各个设备ID存储到与目标APP相对应的各个设备信息文件中,之后对存储有设备ID的各个设备信息文件进行统一存储。具体地,可以根据所查找到的与目标APP相关联的各个设备ID的优先级分析统计出优先级分布信息,进而根据优先级分布信息为所创建的各个设备信息文件设置相对应的优先级文件占比,之后根据各个设备ID的优先级和各个设备信息文件的优先级文件占比,将各个设备ID存储到各个设备信息文件中,以使每一个设备信息文件中不同优先级的设备ID的占据符合该设备信息文件对应的优先级文件占比。
例如,将与APP1相关联的2000万个设备ID存储到与APP1相对应的205个设备信息文件中。
步骤504:周期性将数据库中新增的且与目标APP相关联的设备ID存储到新创建的设备信息文件中。
在本发明实施例中,在首次将与目标APP相关联的设备ID存储到与目标APP相对应的设备信息文件中之后,每经过一个更新周期从数据库中查找新增到数据库中的与目标APP相关联的新增设备ID,并将查找到的新增设备ID存储到一个或多个新创建的新增设备信息文件中,之后将存储有新增设备ID的新增设备信息文件与此前创建的对应于目标APP的设备信息文件存储到一起。另外,每经过一个比更新周期时间跨度大的整合周期,将该整合周期内所创建的新增设备信息文件中存储的新增设备ID整合到一个或多个设备信息文件中,之后将整合后获得的设备信息文件进行存储,并将已整合过的新增设备信息文件删除。
例如,每天凌晨1点从数据库中查找前一天新添加到数据库中的与APP1相关联的设备ID,并将查找到的设备ID存储到一个新创建的新增设备信息文件中,之后将该新增设备信息文件与此前获得的与APP1相对应的各个设备信息文件一同存储。另外,每经过1个星期,对上一星期所创建的所有与APP1相对应的新增设备信息文件进行整合,将各个新增设备信息文件中存储的设备ID整合到少数几个设备信息文件中,之后将经过整合的各个新增设备信息文件删除,并对整合后获得的设备信息文件进行存储。
步骤505:接收针对目标APP的广播消息推送指令。
在本发明实施例中,接收用户针对目标APP的广播消息推送指令,即用户需要通过手机上安装的目标APP向用户推送广播消息。
步骤506:根据与目标APP相对应的设备信息文件的个数,创建相对应数量的消息推送线程。
在本发明实施例中,在接收到针对目标APP的广播消息推送指令之后,根据已经存储的与目标APP相对应的设备信息文件的个数,创建相应数量的消息推送线程。
例如,在接收到针对APP1的广播消息推送指令后,确定与APP1相对应的设备信息文件共计有210个,则创建210个消息推送线程。
步骤507:同时对各个消息推送线程进行运行,以分别根据每一个设备信息文件中存储的设备ID向手机设备推送广播消息。
在本发明实施例中,在创建多个消息推送线程后,同时对所创建的各个消息推送线程进行运行,使得各个消息推送线程并行。每一个消息推送线程在运行开始后,从其相对应的设备信息文件中依次读取设备ID,根据所读取到的设备ID向相对应的手机设备推送广播消息,而广播消息的具体内容可以从接收到的广播消息推送指令中获取。
例如,所创建的210个消息推送线程对应210个与APP1相对应的设备信息文件,每个消息推送线程对应一个设备信息文件,且不同消息推送线程对应不同设备信息文件。每一个消息推送线程从相对应的设备信息文件中依次读取设备ID,并根据所读取到的设备ID向相对应的手机设备推送广播消息。
如图6所示,本发明一个实施例提供了一种APP广播消息推送装置,包括:存储模块601、接收模块602、获取模块603和推送模块604;
存储模块601,用于针对任意一个目标APP,从数据库中查找与目标APP相关联的设备ID,并将查找到的各个设备ID存储到与目标APP相对应的至少一个设备信息文件中;
接收模块602,用于接收针对目标APP的广播消息推送指令;
获取模块603,用于根据接收模块602接收到的广播消息推送指令,获取由存储模块601生成且与目标APP相对应的至少一个设备信息文件;
推送模块604,用于根据获取模块603获取到的每一个设备信息文件中存储的设备ID,向与设备ID相对应的手机设备推送广播消息。
在本发明实施例中,存储模块601可用于执行上述方法实施例中的步骤101、步骤201至203、步骤301至303以及步骤501至503,接收模块602可用于执行上述方法实施例中的步骤102和步骤505,获取模块603可用于执行上述方法实施例中的步骤103,推送模块604可用于执行上述方法实施例中的步骤104和步骤506至507。
需要说明的是,本装置实施例所包括的各个模块之间的信息交互、执行过程等内容,由于与上述方法实施例基于同一发明构思,具体内容可以参见上述方法实施例中的叙述,此处不再赘述。另外,本装置实施例还可以包括其他的模块,用于执行上述方法实施例中的各个步骤。
本发明实施例还提供了一种计算机设备,包括有存储器和处理器,存储器上存储有计算机程序,当处理器执行存储器上所存储的计算机程序时可以实现上述各个实施例所提供的APP广播消息推送方法。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,在其所存储的计算机存储被执行时可以实现上述各个实施例提供的APP广播消息推送方法。
综上所述,本发明各个实施例提供的APP广播消息推送方法、装置以及计算机设备和计算机可读存储介质,预先将数据库中存储的与目标APP相关联的各个设备ID存储到一个或多个与目标APP相对应的设备信息文件中,当接收到针对目标APP的广播消息推送指令后,获取与目标APP相对应的各个设备信息文件,之后根据获取到的各个设备信息文件中存储的设备ID向相对应的手机设备推送广播消息。由此可见,预先将与同一个APP相关联的各个设备ID存储到一个或多个设备信息文件中,在接收到针对该APP的广播消息推送指令后,直接根据该APP对应的各个设备信息文件中存储的设备ID向相对应的手机设备推送广播消息,无需在接收到广播消息推送指令之后再临时从数据库中查找与APP相关联的设备ID,从而可以提高通过APP向用户推送广播消息的效率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种APP广播消息推送方法,其特征在于,针对任意一个目标APP,从数据库中查找与所述目标APP相关联的设备ID,并将查找到的各个所述设备ID存储到与所述目标APP相对应的至少一个设备信息文件中,还包括:
接收针对所述目标APP的广播消息推送指令;
根据所述广播消息推送指令,获取与所述目标APP相对应的至少一个所述设备信息文件;
根据获取到的每一个所述设备信息文件中存储的所述设备ID,向与所述设备ID相对应的手机设备推送广播消息。
2.根据权利要求1所述的方法,其特征在于,所述根据获取到的每一个所述设备信息文件中存储的所述设备ID,向与所述设备ID相对应的手机设备推送广播消息,包括:
针对获取到的每一个所述设备信息文件创建相对应的消息推送线程;
同时对所创建的各个所述消息推送线程进行运行,以使每一个所述消息推送线程根据相对应的所述设备信息文件中存储的所述设备ID,向相对应的所述手机设备推送广播消息。
3.根据权利要求2所述的方法,其特征在于,在所述从数据库中查找与所述目标APP相关联的设备ID之后,且在将查找到的各个所述设备ID存储到与所述目标APP相对应的至少一个设备信息文件中之前,进一步包括:
根据从所述数据库中查找到的与所述目标APP相关联的所述设备ID的个数,通过如下公式确定所需设备信息文件的个数;
其中,所述M表征所述所需设备信息文件的个数;所述x表征从所述数据库中查找到的与所述目标APP相关联的所述设备ID的个数;所述X表征预先设定的个数阈值;所述m表征一个广播消息推送设备所能运行所述消息推送线程的最大个数;所述k表征根据一个所述设备信息文件所能存储所述设备ID的最大个数而确定的常数;所述
根据所确定出的所述所需设备信息文件的个数,创建相应个数的所述设备信息文件。
4.根据权利要求1所述的方法,其特征在于,所述将查找到的各个所述设备ID存储到与所述目标APP相对应的至少一个设备信息文件中,包括:
对查找到的各个所述设备ID的优先级进行统计,确定查找到的各个所述设备ID的优先级分布信息;
根据所述优先级分布信息分别为每一个所述设备信息文件设置相对应的优先级文件占比;
根据查找到的各个所述设备ID的优先级以及每一个所述设备信息文件对应的所述优先级文件占比,将查找到的各个所述设备ID存储到各个所述设备信息文件中,使得每一个所述设备信息文件中不同优先级的所述设备ID的占比符合相对应的所述优先级文件占比。
5.根据权利要求1至4中任一所述的方法,其特征在于,在所述将查找到的各个所述设备ID存储到与所述目标APP相对应的至少一个设备信息文件中之后,进一步包括:
每经过一个预先设定的更新周期,从所述数据库中查找与所述目标APP相关联的新增设备ID,其中,所述新增设备ID是在所述更新周期内新增到所述数据库中的设备ID;
创建与所述目标APP相对应的至少一个新增设备信息文件;
将查找到的各个所述新增设备ID存储到所述至少一个新增设备信息文件中。
6.根据权利要求5所述的方法,其特征在于,在所述将查找到的各个所述新增设备ID存储到所述至少一个新增设备信息文件中之前,进一步包括:
分别为查找到的每一个所述新增设备ID配置优先级。
7.根据权利要求5所述的方法,其特征在于,进一步包括:
每经过一个预先设定的整合周期,查询该整合周期内所创建的各个所述新增设备信息文件;
将查询到的各个所述新增设备信息文件中存储的所述新增设备ID整合到至少一个设备信息文件中,并将查询到的各个所述新增设备信息文件删除。
8.一种APP广播消息推送装置,其特征在于,包括:存储模块、接收模块、获取模块和推送模块;
所述存储模块,用于针对任意一个目标APP,从数据库中查找与所述目标APP相关联的设备ID,并将查找到的各个所述设备ID存储到与所述目标APP相对应的至少一个设备信息文件中;
所述接收模块,用于接收针对所述目标APP的广播消息推送指令;
所述获取模块,用于根据所述接收模块接收到的所述广播消息推送指令,获取由所述存储模块生成且与所述目标APP相对应的至少一个所述设备信息文件;
所述推送模块,用于根据所述获取模块获取到的每一个所述设备信息文件中存储的所述设备ID,向与所述设备ID相对应的手机设备推送广播消息。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910182058.5A CN109889349B (zh) | 2019-03-11 | 2019-03-11 | 一种app广播消息推送方法、装置及可读存储介质 |
PCT/CN2019/117727 WO2020181812A1 (zh) | 2019-03-11 | 2019-11-13 | 一种app广播消息推送方法、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910182058.5A CN109889349B (zh) | 2019-03-11 | 2019-03-11 | 一种app广播消息推送方法、装置及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109889349A true CN109889349A (zh) | 2019-06-14 |
CN109889349B CN109889349B (zh) | 2022-02-25 |
Family
ID=66931648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910182058.5A Active CN109889349B (zh) | 2019-03-11 | 2019-03-11 | 一种app广播消息推送方法、装置及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109889349B (zh) |
WO (1) | WO2020181812A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020181812A1 (zh) * | 2019-03-11 | 2020-09-17 | 平安科技(深圳)有限公司 | 一种app广播消息推送方法、装置及可读存储介质 |
CN114006939A (zh) * | 2021-11-03 | 2022-02-01 | 中国银行股份有限公司 | 消息推送方法及装置 |
CN115623063A (zh) * | 2022-09-26 | 2023-01-17 | 北京奇艺世纪科技有限公司 | 全量设备的消息推送方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105530108A (zh) * | 2016-02-04 | 2016-04-27 | 海信集团有限公司 | 信息推送方法及装置 |
CN106973109A (zh) * | 2017-03-31 | 2017-07-21 | 努比亚技术有限公司 | 广播消息推送控制方法及装置 |
CN107135086A (zh) * | 2017-05-26 | 2017-09-05 | 努比亚技术有限公司 | 一种广播推送方法及设备、计算机可读存储介质 |
CN108460115A (zh) * | 2018-02-10 | 2018-08-28 | 深圳壹账通智能科技有限公司 | 消息推送方法、装置、计算机设备及存储介质 |
CN108881345A (zh) * | 2017-05-12 | 2018-11-23 | 国基电子(上海)有限公司 | 消息推送方法及路由设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130318114A1 (en) * | 2012-05-13 | 2013-11-28 | Harry E. Emerson, III | Discovery of music artist and title by broadcast radio receivers |
CN107182054A (zh) * | 2017-07-07 | 2017-09-19 | 广州视源电子科技股份有限公司 | 无线热点连接控制方法、装置、设备及计算机存储介质 |
CN109889349B (zh) * | 2019-03-11 | 2022-02-25 | 平安科技(深圳)有限公司 | 一种app广播消息推送方法、装置及可读存储介质 |
-
2019
- 2019-03-11 CN CN201910182058.5A patent/CN109889349B/zh active Active
- 2019-11-13 WO PCT/CN2019/117727 patent/WO2020181812A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105530108A (zh) * | 2016-02-04 | 2016-04-27 | 海信集团有限公司 | 信息推送方法及装置 |
CN106973109A (zh) * | 2017-03-31 | 2017-07-21 | 努比亚技术有限公司 | 广播消息推送控制方法及装置 |
CN108881345A (zh) * | 2017-05-12 | 2018-11-23 | 国基电子(上海)有限公司 | 消息推送方法及路由设备 |
CN107135086A (zh) * | 2017-05-26 | 2017-09-05 | 努比亚技术有限公司 | 一种广播推送方法及设备、计算机可读存储介质 |
CN108460115A (zh) * | 2018-02-10 | 2018-08-28 | 深圳壹账通智能科技有限公司 | 消息推送方法、装置、计算机设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020181812A1 (zh) * | 2019-03-11 | 2020-09-17 | 平安科技(深圳)有限公司 | 一种app广播消息推送方法、装置及可读存储介质 |
CN114006939A (zh) * | 2021-11-03 | 2022-02-01 | 中国银行股份有限公司 | 消息推送方法及装置 |
CN115623063A (zh) * | 2022-09-26 | 2023-01-17 | 北京奇艺世纪科技有限公司 | 全量设备的消息推送方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109889349B (zh) | 2022-02-25 |
WO2020181812A1 (zh) | 2020-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109889349A (zh) | 一种app广播消息推送方法、装置及可读存储介质 | |
CN104518887B (zh) | 一种套餐推荐方法及装置 | |
US20140328478A1 (en) | Method and system for identifying prank call, client, server, and storage medium | |
CN109756417B (zh) | 离线消息分发方法、服务器及存储介质 | |
CN110012364B (zh) | 主播推荐方法、装置及存储介质 | |
CN103561354B (zh) | 视频流畅度计算处理方法和装置 | |
CN110311959A (zh) | 消息推送与页面更新的方法、装置及数据处理*** | |
CN102868936B (zh) | 存储视频日志的方法和*** | |
CN104052779B (zh) | 一种信息推荐的方法、***及智能终端 | |
CN109191246A (zh) | 一种租用智能快递柜的方法及其*** | |
CN109685429A (zh) | 配送能力确定方法、装置、电子设备及存储介质 | |
CN106874273A (zh) | 渠道信息统计方法、装置和*** | |
CN104092724B (zh) | 歌曲数据拉取的方法、终端及服务器 | |
CN110365747A (zh) | 网络请求的处理方法、装置、服务器及计算机可读存储介质 | |
CN107196848A (zh) | 消息推送方法及装置 | |
CN103326925A (zh) | 一种消息推送方法及装置 | |
CN105045911A (zh) | 一种用于用户进行标记的标签生成方法及设备 | |
CN115222456A (zh) | 基于大数据用户消费偏好的营销方法、平台、设备及介质 | |
CN110858332A (zh) | 订单生产方法和装置 | |
CN104038842B (zh) | 一种在cdn网络中预取点播节目信息的方法与设备 | |
CN106874079A (zh) | 一种任务执行的方法及装置 | |
CN109657164B (zh) | 发布消息的方法、装置及存储介质 | |
CN104168174A (zh) | 一种传输信息的方法及装置 | |
CN104917906B (zh) | 信息获取方法、信息推荐方法、电子设备及网络服务器 | |
CN104320463A (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 |