全量设备的消息推送方法、装置、设备及存储介质与流程
1.本技术涉及消息推送技术领域,尤其涉及一种全量设备的消息推送方法、装置、设备及存储介质。
背景技术:
2.目前,互联网应用的很多场景中,服务端需要给客户端推送消息,现有的消息推送服务中,客户端上报设备信息(例如,设备id)到服务端的设备圈选服务中,设备圈选服务记录客户端的设备信息。同时客户端也会上报推送信息(例如,推送通道)到服务端的消息推送服务,消息推送服务会记录客户端的推送信息,当业务服务端发送消息推送时,会先到设备圈选服务去圈选需要推送消息的设备,然后再通过消息推送服务对圈选的全量设备进行消息推送。由于消息推送服务在推送消息时需要先圈选设备,而一个app上的全量设备通常很多,推送时会耗费比较长的时间在设备圈选上,且每次进行消息推送之前都需要圈选设备,导致重复操作浪费计算资源且消息推送不及时。
技术实现要素:
3.鉴于以上内容,本技术提供一种全量设备的消息推送方法、装置、设备及存储介质,其目的在于解决上述技术问题。
4.第一方面,本技术提供一种全量设备的消息推送方法,该方法包括:
5.接收业务方发送的全量推送请求;
6.遍历预先生成的全量设备文件,对所述全量设备文件中的设备id执行去重操作得到目标设备id,其中,所述全量设备文件是通过定时扫描数据库中的全量设备id后导入文件得到的;
7.根据所述目标设备id查询多级存储结构,得到目标设备id对应的目标推送信息;
8.向所述目标推送信息对应的设备推送消息。
9.优选地,在根据所述全量设备文件中执行去重操作后的目标设备id查询多级存储结构之前,所述方法还包括:
10.实时监测是否接收到客户端上报的设备推送信息;
11.若是,获取客户端上报的设备推送信息,将客户端上报的设备推送信息存储至所述多级存储结构的每一级存储结构中。
12.优选地,所述根据所述目标设备id查询多级存储结构,得到目标设备id对应的目标推送信息,包括:
13.根据所述目标设备id依次查询本地缓存、分布式缓存及所述数据库,得到所述目标设备id的目标推送信息。
14.优选地,所述根据所述目标设备id依次查询本地缓存、分布式缓存及所述数据库,得到所述目标设备id的目标推送信息,包括:
15.根据所述目标设备id查询所述本地缓存,若在所述本地缓存中查询得到所述目标
设备id的目标推送信息,则不查询所述分布式缓存及所述数据库;
16.若在所述本地缓存中未查询到所述目标设备id的目标推送信息,则根据所述目标设备id查询所述分布式缓存,若在所述分布式缓存中查询得到所述目标设备id的目标推送信息,则不查询所述数据库;
17.若在所述分布式缓存中未查询到所述目标设备id的目标推送信息,则根据所述目标设备id查询所述数据库,得到所述目标设备id的目标推送信息。
18.优选地,在对所述全量设备文件中的设备id执行去重操作之前,所述方法还包括:
19.实时监测是否接收到客户端上报的设备推送信息;
20.若是,获取客户端上报的设备推送信息,并将客户端上报的设备推送信息存储至所述全量设备文件的增量文件中。
21.优选地,所述对所述全量设备文件中的设备id执行去重操作,包括:
22.筛选出所述全量设备文件的存量文件中与所述全量设备文件的增量文件中相同的设备id;
23.对所述相同的设备id执行去重操作。
24.优选地,所述设备推送信息包括设备id、推送通道和推送token。
25.第二方面,本技术提供一种全量设备的消息推送装置,该全量设备的消息推送装置包括:
26.接收模块:用于接收业务方发送的全量推送请求;
27.遍历模块:用于遍历预先生成的全量设备文件,对所述全量设备文件中的设备id执行去重操作得到目标设备id,其中,所述全量设备文件是通过定时扫描数据库中的全量设备id后导入文件得到的;
28.查询模块:用于根据所述目标设备id查询多级存储结构,得到目标设备id对应的目标推送信息;
29.推送模块:用于向所述目标推送信息对应的设备推送消息。
30.第三方面,本技术提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
31.存储器,用于存放计算机程序;
32.处理器,用于执行存储器上所存放的程序时,实现第一方面任一项实施例所述的全量设备的消息推送方法的步骤。
33.第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项实施例所述的全量设备的消息推送方法的步骤。
34.本技术实施例提供的上述技术方案与现有技术相比具有如下优点:
35.由于全量设备文件是定时扫描数据库中的全量设备id后导入文件得到的,在推送消息时直接遍历全量设备文件进行消息推送,不需要每次推送时都重复去圈选设备,节省了计算资源,且遍历文件的速度比遍历分布式数据库的速度快很多,通过遍历预先生成的全量设备文件,对全量设备文件中的设备id进行去重,使得全量设备文件中不存在相同的设备id,可以加快查询速度,根据去重得到的目标设备id查询多级存储结构,避免仅是单一地查询数据库,可以更快地查询到目标设备id对应的目标推送信息,再向目标推送信息对
应的设备推送消息,从而实现消息的及时推送。
附图说明
36.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
37.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
38.图1为本技术全量设备的消息推送方法较佳实施例的流程示意图;
39.图2为本技术的多级存储结构的示意图;
40.图3为本技术全量设备的消息推送装置较佳实施例的模块示意图;
41.图4为本技术电子设备较佳实施例的示意图;
42.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
43.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
44.需要说明的是,本技术实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
45.本技术提供一种全量设备的消息推送方法。参照图1所示,为本技术全量设备的消息推送方法的实施例的方法流程示意图。该方法可以由一个电子设备(例如,服务器)执行,该电子设备可以由软件和/或硬件实现。全量设备的消息推送方法包括:
46.步骤s10:接收业务方发送的全量推送请求;
47.步骤s20:遍历预先生成的全量设备文件,对所述全量设备文件中的设备id执行去重操作得到目标设备id,其中,所述全量设备文件是通过定时扫描数据库中的全量设备id后导入文件得到的;
48.步骤s30:根据所述目标设备id查询多级存储结构,得到目标设备id对应的目标推送信息;
49.步骤s40:向所述目标推送信息对应的设备推送消息。
50.本实施例中,通过定时扫描数据库(例如,分布式数据库)中的全量设备id后,将扫描到的全量设备id导入至文件中得到全量设备文件,推送消息的服务端在接收到业务方发送的全量推送请求时,即需要进行消息推送时,直接遍历全量设备文件来进行消息推送,由于全量设备文件是定时扫描生成的,进行消息推送时不需要每次都重复去圈选设备,且遍历文件的速度比遍历分布式数据库的速度快很多倍,通过遍历预先生成全量设备文件,可以实现消息的及时推送。可以理解的是,由于数据库中的设备id会不定时更新,通过定时扫描数据库,生成的全量设备文件也会相应的更新。生成全量设备文件时仅选择设备id有两
方面原因,一是设备id的字段少,生成的全量设备文件占用的存储空间会少,且可以减少生成文件的时长,二是客户端的设备id是不会变化的,而token等推送信息是会变化的,因此在推送消息时通过设备id到多级存储结构中查询推送信息的速度会更快。
51.进一步地,在对所述全量设备文件中的设备id执行去重操作之前,所述方法还包括:
52.实时监测是否接收到客户端上报的设备推送信息;
53.若是,获取客户端上报的设备推送信息,并将客户端上报的设备推送信息存储至所述全量设备文件的增量文件中。
54.由于客户端不定时地会上报设备推送信息到服务端,客户端上报的设备推送信息包括设备id、推送通道和推送token等,全量设备文件生成后,由于客户端可能上报新的设备推送信息至服务端,因此可以实时监测是否接收到客户端上报的设备推送信息,若客户端上报了设备推送信息,则获取客户端上报的设备推送信息,并将客户端上报的设备推送信息存储至全量设备文件的增量文件中。需要说明的是,客户端上报的设备推送信息也会写入多级存储结构中的每一级存储结构中。
55.全量设备文件由存量文件和增量文件组成,存量文件存储了扫描数据库得到的设备id,增量文件存储了客户端新上报的设备推送信息中的设备id,由于存量文件的生成是定时触发的,所以生成的存量文件和下次消息推送之间会有时间差,增量文件可以使得这个时间差内客户端上传的新的设备推送信息也被选中。全量消息推送前,会选择当前的增量文件和存量文件作为总的全量设备文件,由于存量文件和增量文件中会存在重复的设备id,因此在消息推送前需要执行去重操作。
56.具体地,所述对所述全量设备文件中的设备id执行去重操作,包括:
57.筛选出所述全量设备文件的存量文件中与所述全量设备文件的增量文件中相同的设备id;
58.对所述相同的设备id执行去重操作。
59.筛选出存量文件中与增量文件中相同的设备id后,可以删除存量文件中或者增量文件中的设备id,从而使得全量设备文件中不存在相同的设备id,在后续通过设备id查询最新的设备推送信息时,加快查询速度。
60.对全量设备文件中的设备id执行去重操作后得到的设备id,记为目标设备id,目标设备id表示需要接收推送消息的目标设备的id。根据目标设备id查询多级存储结构,可以得到目标设备id对应的目标推送信息,目标推送信息包括需要接收推送消息的目标设备对应的推送通道和推送token等,得到目标设备id对应的目标推送信息之后,可以向目标推送信息对应的设备推送相关的消息,例如,推送广告信息、新闻信息及应用更新信息等。
61.多级存储结构可以包括内存、缓存、数据库、文件等多级存储体系,优选地,本技术的多级存储结构采用三级存储结构,如图2所示,为本技术的多级存储结构示意图,三级存储结构的数据访问速度从本地缓存、分布式缓存、分布式数据库的访问速度递减,数据存储的有效期从分布式数据库、分布式缓存、本地缓存的有效期递增。全量设备文件可以是定时扫描分布式数据库中的设备id后,将扫描到的设备id导入至文件中得到的。
62.由于在查询多级存储结构之前,客户端可能上报新的设备推送信息至服务端,因此,在根据所述全量设备文件中执行去重操作后的目标设备id查询多级存储结构之前,所
述方法还包括:
63.实时监测是否接收到客户端上报的设备推送信息;
64.若是,获取客户端上报的设备推送信息,将客户端上报的设备推送信息存储至所述多级存储结构的每一级存储结构中。
65.由于客户端不定时地会上报设备推送信息到服务端,客户端上报的设备推送信息包括设备id、推送通道和推送token等,根据全量设备文件中执行去重操作后的目标设备id查询多级存储结构之前,由于客户端可能上报新的设备推送信息至服务端,因此可以实时监测是否接收到客户端上报的设备推送信息,若客户端上报了设备推送信息,则获取客户端上报的设备推送信息,将客户端上报的设备推送信息存储至本地缓存、分布式缓存及分布式数据库中。
66.在一个实施例中,所述根据所述目标设备id查询多级存储结构,得到目标设备id对应的目标推送信息,包括:
67.根据所述目标设备id依次查询本地缓存、分布式缓存及所述数据库,得到所述目标设备id的目标推送信息。
68.由于服务端的本地缓存和分布式缓存中也存储了一定的目标推送信息,因此依次查询本地缓存、分布式缓存及所述数据库,可以加快查询速度,从而得到所有目标设备id对应的目标推送信息。需要说明的是,多级存储结构中只有分布式数据库中存储了完整的目标推送信息。
69.具体地,所述根据所述目标设备id依次查询本地缓存、分布式缓存及所述数据库,得到所述目标设备id的目标推送信息,包括:
70.根据所述目标设备id查询所述本地缓存,若在所述本地缓存中查询得到所述目标设备id的目标推送信息,则不查询所述分布式缓存及所述数据库;
71.若在所述本地缓存中未查询到所述目标设备id的目标推送信息,则根据所述目标设备id查询所述分布式缓存,若在所述分布式缓存中查询得到所述目标设备id的目标推送信息,则不查询所述数据库;
72.若在所述分布式缓存中未查询到所述目标设备id的目标推送信息,则根据所述目标设备id查询所述数据库,得到所述目标设备id的目标推送信息。
73.由于从本地缓存、分布式缓存、分布式数据库的数据访问速度依次递减,因此可以依次查询本地缓存、分布式缓存、分布式数据库。例如,目标设备id包括id1、id2、id3
……
idn,先查询本地缓存,若在本地缓存中查询得到id2的目标推送信息,则在分布式缓存及分布式数据库中不查询id2,若在本地缓存中未查询到id2的目标推送信息,则在分布式缓存中查询id2的目标推送信息,若在分布式缓存查询得到id2的目标推送信息,则在分布式数据库中不查询id2,若在分布式缓存中未查询到id2的目标推送信息,则在分布式数据库中查询查询id2的目标推送信息。从而可以更快地查询得到所有目标设备id对应的目标推送信息。
74.参照图3所示,为本技术全量设备的消息推送装置100的功能模块示意图。
75.本技术所述全量设备的消息推送装置100可以安装于电子设备中。根据实现的功能,所述全量设备的消息推送装置100可以包括接收模块110、遍历模块1/20、查询模块130及推送模块140。本技术所述模块也可以称之为单元,是指一种能够被电子设备处理器所执
行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
76.在本实施例中,关于各模块/单元的功能如下:
77.接收模块110:用于接收业务方发送的全量推送请求;
78.遍历模块120:用于遍历预先生成的全量设备文件,对所述全量设备文件中的设备id执行去重操作得到目标设备id,其中,所述全量设备文件是通过定时扫描数据库中的全量设备id后导入文件得到的;
79.查询模块130:用于根据所述目标设备id查询多级存储结构,得到目标设备id对应的目标推送信息;
80.推送模块140:用于向所述目标推送信息对应的设备推送消息。
81.在一个实施例中,遍历模块120还用于:
82.实时监测是否接收到客户端上报的设备推送信息;
83.若是,获取客户端上报的设备推送信息,并将客户端上报的设备推送信息存储至所述全量设备文件的增量文件中。
84.在一个实施例中,所述设备推送信息包括设备id、推送通道和推送token。
85.在一个实施例中,所述对所述全量设备文件中的设备id执行去重操作,包括:
86.筛选出所述全量设备文件的存量文件中与所述全量设备文件的增量文件中相同的设备id;
87.对所述相同的设备id执行去重操作。
88.在一个实施例中,查询模块130还用于:
89.实时监测是否接收到客户端上报的设备推送信息;
90.若是,获取客户端上报的设备推送信息,将客户端上报的设备推送信息存储至所述多级存储结构的每一级存储结构中。
91.在一个实施例中,所述根据所述目标设备id查询多级存储结构,得到目标设备id对应的目标推送信息,包括:
92.根据所述目标设备id依次查询本地缓存、分布式缓存及所述数据库,得到所述目标设备id的目标推送信息。
93.在一个实施例中,所述根据所述目标设备id依次查询本地缓存、分布式缓存及所述数据库,得到所述目标设备id的目标推送信息,包括:
94.根据所述目标设备id查询所述本地缓存,若在所述本地缓存中查询得到所述目标设备id的目标推送信息,则不查询所述分布式缓存及所述数据库;
95.若在所述本地缓存中未查询到所述目标设备id的目标推送信息,则根据所述目标设备id查询所述分布式缓存,若在所述分布式缓存中查询得到所述目标设备id的目标推送信息,则不查询所述数据库;
96.若在所述分布式缓存中未查询到所述目标设备id的目标推送信息,则根据所述目标设备id查询所述数据库,得到所述目标设备id的目标推送信息。
97.参照图3所示,为本技术电子设备1较佳实施例的示意图。
98.该电子设备1包括但不限于:存储器11、处理器12、显示器13及通信接口14。所述电子设备1通过通信接口14连接网络。其中,所述网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(global system of mobile communication,gsm)、宽带码
分多址(wideband code division multiple access,wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi、通话网络等无线或有线网络。
99.其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子设备1的内部存储单元,例如该电子设备1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述电子设备1的外部存储设备,例如该电子设备1配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,所述存储器11还可以既包括所述电子设备1的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于所述电子设备1的操作系统和各类应用软件,例如全量设备的消息推送程序10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
100.处理器12在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行全量设备的消息推送程序10的程序代码等。
101.显示器13可以称为显示屏或显示单元。在一些实施例中显示器13可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organic light-emitting diode,oled)触摸器等。显示器13用于显示在电子设备1中处理的信息以及用于显示可视化的工作界面。
102.通信接口14可选地可以包括标准的有线接口、无线接口(如wi-fi接口),该通信接口14通常用于在所述电子设备1与其它设备之间建立通信连接。
103.图4仅示出了具有组件11-14以及全量设备的消息推送程序10的电子设备1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
104.可选地,所述电子设备1还可以包括用户接口,用户接口可以包括显示器(display),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organic light-emitting diode,oled)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的界面。
105.该电子设备1还可以包括射频(radio frequency,rf)电路、传感器和音频电路等等,在此不再赘述。
106.在上述实施例中,处理器12执行存储器11中存储的全量设备的消息推送程序10时可以实现如下步骤:
107.接收业务方发送的全量推送请求;
108.遍历预先生成的全量设备文件,对所述全量设备文件中的设备id执行去重操作得到目标设备id,其中,所述全量设备文件是通过定时扫描数据库中的全量设备id后导入文件得到的;
109.根据所述目标设备id查询多级存储结构,得到目标设备id对应的目标推送信息;
110.向所述目标推送信息对应的设备推送消息。
111.所述存储设备可以为电子设备1的存储器11,也可以为与电子设备1通讯连接的其它存储设备。
112.关于上述步骤的详细介绍,请参照上述图3关于全量设备的消息推送装置100实施例的功能模块图以及图1关于全量设备的消息推送方法实施例的流程图的说明。
113.此外,本技术实施例还提出一种计算机可读存储介质,所述计算机可读存储介质可以是非易失性的,也可以是易失性的。该计算机可读存储介质可以是硬盘、多媒体卡、sd卡、闪存卡、smc、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储介质中包括存储数据区和存储程序区,存储程序区存储有全量设备的消息推送程序10,所述全量设备的消息推送程序10被处理器执行时实现如下操作:
114.接收业务方发送的全量推送请求;
115.遍历预先生成的全量设备文件,对所述全量设备文件中的设备id执行去重操作得到目标设备id,其中,所述全量设备文件是通过定时扫描数据库中的全量设备id后导入文件得到的;
116.根据所述目标设备id查询多级存储结构,得到目标设备id对应的目标推送信息;
117.向所述目标推送信息对应的设备推送消息。
118.本技术之计算机可读存储介质的具体实施方式与上述全量设备的消息推送方法的具体实施方式大致相同,在此不再赘述。
119.需要说明的是,上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
120.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,电子装置,或者网络设备等)执行本技术各个实施例所述的方法。
121.以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
技术特征:
1.一种全量设备的消息推送方法,其特征在于,所述方法包括:接收业务方发送的全量推送请求;遍历预先生成的全量设备文件,对所述全量设备文件中的设备id执行去重操作得到目标设备id,其中,所述全量设备文件是通过定时扫描数据库中的全量设备id后导入文件得到的;根据所述目标设备id查询多级存储结构,得到目标设备id对应的目标推送信息;向所述目标推送信息对应的设备推送消息。2.如权利要求1所述的全量设备的消息推送方法,其特征在于,在根据所述全量设备文件中执行去重操作后的目标设备id查询多级存储结构之前,所述方法还包括:实时监测是否接收到客户端上报的设备推送信息;若是,获取客户端上报的设备推送信息,将客户端上报的设备推送信息存储至所述多级存储结构的每一级存储结构中。3.如权利要求1或2所述的全量设备的消息推送方法,其特征在于,所述根据所述目标设备id查询多级存储结构,得到目标设备id对应的目标推送信息,包括:根据所述目标设备id依次查询本地缓存、分布式缓存及所述数据库,得到所述目标设备id的目标推送信息。4.如权利要求3所述的全量设备的消息推送方法,其特征在于,所述根据所述目标设备id依次查询本地缓存、分布式缓存及所述数据库,得到所述目标设备id的目标推送信息,包括:根据所述目标设备id查询所述本地缓存,若在所述本地缓存中查询得到所述目标设备id的目标推送信息,则不查询所述分布式缓存及所述数据库;若在所述本地缓存中未查询到所述目标设备id的目标推送信息,则根据所述目标设备id查询所述分布式缓存,若在所述分布式缓存中查询得到所述目标设备id的目标推送信息,则不查询所述数据库;若在所述分布式缓存中未查询到所述目标设备id的目标推送信息,则根据所述目标设备id查询所述数据库,得到所述目标设备id的目标推送信息。5.如权利要求1所述的全量设备的消息推送方法,其特征在于,在对所述全量设备文件中的设备id执行去重操作之前,所述方法还包括:实时监测是否接收到客户端上报的设备推送信息;若是,获取客户端上报的设备推送信息,并将客户端上报的设备推送信息存储至所述全量设备文件的增量文件中。6.如权利要求1或5所述的全量设备的消息推送方法,其特征在于,所述对所述全量设备文件中的设备id执行去重操作,包括:筛选出所述全量设备文件的存量文件中与所述全量设备文件的增量文件中相同的设备id;对所述相同的设备id执行去重操作。7.如权利要求5所述的全量设备的消息推送方法,其特征在于,所述设备推送信息包括设备id、推送通道和推送token。8.一种全量设备的消息推送装置,其特征在于,所述装置包括:
接收模块:用于接收业务方发送的全量推送请求;遍历模块:用于遍历预先生成的全量设备文件,对所述全量设备文件中的设备id执行去重操作得到目标设备id,其中,所述全量设备文件是通过定时扫描数据库中的全量设备id后导入文件得到的;查询模块:用于根据所述目标设备id查询多级存储结构,得到目标设备id对应的目标推送信息;推送模块:用于向所述目标推送信息对应的设备推送消息。9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现权利要求1至7中任一项所述的全量设备的消息推送方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述全量设备的消息推送方法的步骤。
技术总结
本申请涉及一种全量设备的消息推送方法、装置、设备及存储介质。所述方法包括:接收业务方发送的全量推送请求,遍历预先生成的全量设备文件,对全量设备文件中的设备ID执行去重操作得到目标设备ID,其中,全量设备文件是通过定时扫描数据库中的全量设备ID后导入文件得到的,根据目标设备ID查询多级存储结构,得到目标设备ID对应的目标推送信息,向目标推送信息对应的设备推送消息。本申请不需要每次推送时都重复去圈选设备,节省了计算资源,可以更快地查询到目标设备ID对应的目标推送信息,从而实现消息的及时推送。而实现消息的及时推送。而实现消息的及时推送。