CN109982248B - 一种基于地理围栏的消息推送方法、装置及可读存储介质 - Google Patents
一种基于地理围栏的消息推送方法、装置及可读存储介质 Download PDFInfo
- Publication number
- CN109982248B CN109982248B CN201910120607.6A CN201910120607A CN109982248B CN 109982248 B CN109982248 B CN 109982248B CN 201910120607 A CN201910120607 A CN 201910120607A CN 109982248 B CN109982248 B CN 109982248B
- Authority
- CN
- China
- Prior art keywords
- target
- active terminal
- active
- message
- terminal
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- 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/52—Network services specially adapted for the location of the user terminal
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/021—Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提出一种基于地理围栏的消息推送方法、装置及可读存储介质,该方法包括:接收通过目标APP推送地理围栏消息的消息推送指令;根据消息推送指令,确定与目标APP相对应的活跃终端,其中,活跃终端为在预设时间段内通过目标APP上传过活跃信息的移动终端;根据消息推送指令确定与消息推送范围相对应的目标区域,并从活跃终端中确定位于目标区域内的目标活跃终端;根据消息推送指令向目标活跃终端推送地理围栏消息,以使目标活跃终端通过目标APP展示地理围栏消息。本方案能够提高推送地理围栏消息的精准度。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种基于地理围栏的消息推送方法、装置及可读存储介质。
背景技术
地理围栏(Geo-fencing)技术是基于移动位置服务(Location Based Service,LBS)的一种新应用,就是用一个虚拟的栅栏围出一个虚拟地理边界,从而当手机进入、离开一个由地理围栏确定的地理区域,或在该区域内活动时,手机可以接收自动通知和警告。基于地理围栏技术,当手机进入特定的地理区域后,可以通过手机上安装的特定APP向用户推送通知、广告等地理围栏消息,实现消息的精准推送。
目前,在基于地理围栏技术通过某一个APP向用户推送地理围栏消息时,根据手机上该APP上传至后台服务器上的经纬度信息确定手机是否位于目标地理区域内,当确定手机位于目标地理区域内时,通过该APP向用户推送地理围栏消息。
针对目前基于地理围栏技术向用户推送地理围栏消息的方法,由于手机上APP上传至后台服务器的经纬度信息为该APP最近一次运行时手机所处的位置,在该APP的进程被终止后将无法对手机的所处位置的经纬度信息进行更新,因此后台服务器上所存储的经纬度信息可能与手机的实际位置可能不符,这样在根据后台服务器上所存储的经纬度信息向位于目标地理区域内的手机推送地理围栏消息时,会出现接收到地理围栏消息的手机并不位于目标地理区域内的情况,导致推送地理围栏消息的精准度较差。
发明内容
本发明提供一种基于地理围栏的消息推送方法、装置及可读存储介质,其主要目的在于将最近一段时间上传过经纬度消息的移动终端确定为活跃终端,在需要推送地理围栏消息时从活跃终端中确定位于目标地理区域内的移动终端进行地理围栏消息推送,保证接收到所推送地理围栏消息的移动终端位于目标地理区域内,从而提高推送地理围栏消息的精准度。
第一方面,本发明实施例提供了一种基于地理围栏的消息推送方法,包括:
接收通过目标APP推送地理围栏消息的消息推送指令;
根据所述消息推送指令,确定与所述目标APP相对应的活跃终端,其中,所述活跃终端为在预设时间段内通过所述目标APP上传过活跃信息的移动终端;
根据所述消息推送指令确定与消息推送范围相对应的目标区域,并从所述活跃终端中确定位于所述目标区域内的目标活跃终端;
根据所述消息推送指令向所述目标活跃终端推送地理围栏消息,以使所述目标活跃终端通过所述目标APP展示所述地理围栏消息。
可选地,在所述根据所述消息推送指令确定与所述目标APP相对应的活跃终端之前,进一步包括:
在接收到安装有所述目标APP的移动终端上传的活跃信息后,将该移动终端的身份信息存储到预先创建的对应于所述目标APP的活跃终端库中;
在预设时间段内检查是否接收到所述身份信息对应的所述移动终端再次上传的活跃信息,根据检查结果判断是否将所述身份信息存储在所述活跃终端库中;
所述根据所述消息推送指令确定与所述目标APP相对应的活跃终端,包括:
根据所述消息推送指令确定与所述目标APP相对应的所述活跃终端库;
将与所述活跃终端库中存储的所述身份信息对应的移动终端确定为与所述目标APP相对应的活跃终端。
可选地,在所述根据所述消息推送指令向所述目标活跃终端推送地理围栏消息之后,进一步包括:
在所述消息推送指令的有效期内,每经过一个预设的补发周期,获取与所述目标APP相对应的所述活跃终端库中新增的身份信息;
针对获取到的每一个所述新增的身份信息,在确定该身份信息对应的移动终端位于所述目标区域内之后,根据所述消息推送指令向该身份信息对应的移动终端推送地理围栏消息。
可选地,在所述根据所述消息推送指令确定与所述目标APP相对应的活跃终端之前,进一步包括:
检测与所述目标APP共享后台进程的同系APP,如果所述同系APP上传活跃信息,将所述同系APP所在移动终端的身份信息存储到对应于所述目标APP的活跃终端库中。
可选地,所述从所述活跃终端中确定位于所述目标区域内的目标活跃终端,包括:
针对每一个所述活跃终端,根据该活跃终端最新一次上传的经纬度信息和所述目标区域的中心点的经纬度信息,通过如下公式计算该活跃终端与所述目标区域的中心点之间的距离;
其中,所述R表征地球的平均半径,所述d表征所述活跃终端与所述目标区域的中心点之间的距离,所述表征所述目标区域的中心点的纬度,所述表征所述活跃终端的纬度,所述Δλ表征所述目标区域的中心点的经度与所述活跃终端的经度之间的差值;
针对每一个所述活跃终端,根据该活跃终端与所述目标区域的中心点之间的距离以及所述目标区域的边界分布确定该活跃终端是否位于所述目标区域内,如果是,将该活跃终端确定为一个所述目标活跃终端。
可选地,所述根据该活跃终端与所述目标区域的中心点之间的距离以及所述目标区域的边界分布确定该活跃终端是否位于所述目标区域内,包括:
确定在该活跃终端与所述目标区域的中心点之间连线的方向上,所述目标区域的中心点与所述目标区域的边界之间的参考距离;
判断该活跃终端与所述目标区域的中心点之间的距离是否小于所述参考距离;
如果是,确定该活跃终端位于所述目标区域内。
可选地,所述根据所述消息推送指令向所述目标活跃终端推送地理围栏消息,包括:
从所述目标活跃终端对应的身份信息中获取该目标活跃终端的设备ID,根据获取到的所述设备ID向所述目标活跃终端发送与所述消息推送指令相对应的地理围栏消息。
第二方面,本发明实施例还提供了一种基于地理围栏的消息推送装置,包括:指令接收单元、第一终端筛选单元、第二终端筛选单元和消息推送单元;
所述指令接收单元,用于接收通过目标APP推送地理围栏消息的消息推送指令;
所述第一终端筛选单元,用于根据所述指令接收单元接收到的所述消息推送指令,确定与所述目标APP相对应的活跃终端,其中,所述活跃终端为在预设时间段内通过所述目标APP上传过活跃信息的移动终端;
所述第二终端筛选单元,用于根据所述指令接收单元接收到的所述消息推送指令确定与消息推送范围相对应的目标区域,并从所述第一终端筛选单元确定出的所述活跃终端中确定位于所述目标区域内的目标活跃终端;
所述消息推送单元,用于根据所述指令接收单元接收到的所述消息推送指令向所述第二终端筛选单元确定出的所述目标活跃终端推送地理围栏消息,以使所述目标活跃终端通过所述目标APP展示所述地理围栏消息。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一所述的基于地理围栏的消息推送方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的基于地理围栏的消息推送方法。
本发明实施例提供的基于地理围栏的信息推送方法、装置及可读存储介质,在接收到需要通过目标APP推送地理围栏消息的消息推送指令后,首先确定安装有目标APP且在预设时间段内通过目标APP上传过活跃信息的活跃终端,之后根据消息推送指令确定与消息推送范围相对应的目标区域,之后从活跃终端中确定位于目标区域内的目标活跃终端,之后根据消息推送指令向目标活跃终端推送地理围栏消息。由此可见,活跃终端可以是最近一段时间内通过目标APP上传过活跃信息的移动终端,保证了活跃终端上传的位置信息与其实际位置相符,而目标活跃终端是根据所上传的位置信息从活跃终端中确定出来的,从而可以保证在推送地理围栏消息时目标活跃终端位于与消息推送范围相对应的目标区域内,从而可以提高推送地理围栏消息的精准度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种基于地理围栏的消息推送方法的流程图;
图2为本发明一个实施例提供的另一种基于地理围栏的消息推送方法的流程图;
图3是本发明一个实施例提供的一种基于地理围栏的消息推送装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明一个实施例提供了一种基于地理围栏的消息推送方法,该方法可以包括以下步骤:
步骤101:接收通过目标APP推送地理围栏消息的消息推送指令;
步骤102:根据消息推送指令,确定与目标APP相对应的活跃终端,其中,活跃终端为在预设时间段内通过目标APP上传过活跃信息的移动终端;
步骤103:根据消息推送指令确定与消息推送范围相对应的目标区域;
步骤104:从活跃终端中确定位于目标区域内的目标活跃终端;
步骤105:根据消息推送指令向目标活跃终端推送地理围栏消息,以使目标活跃终端通过目标APP展示地理围栏消息。
本发明实施例提供的基于地理围栏的消息推送方法,在接收到需要通过目标APP推送地理围栏消息的消息推送指令后,首先确定安装有目标APP且在预设时间段内通过目标APP上传过活跃信息的活跃终端,之后根据消息推送指令确定与消息推送范围相对应的目标区域,之后从活跃终端中确定位于目标区域内的目标活跃终端,之后根据消息推送指令向目标活跃终端推送地理围栏消息。由此可见,活跃终端可以是最近一段时间内通过目标APP上传过活跃信息的移动终端,保证了活跃终端上传的位置信息与其实际位置相符,而目标活跃终端是根据所上传的位置信息从活跃终端中确定出来的,从而可以保证在推送地理围栏消息时目标活跃终端位于与消息推送范围相对应的目标区域内,从而可以提高推送地理围栏消息的精准度。
可选地,在图1所示消息推送方法的基础上,针对不同的APP,可以预先对该APP对应的活跃终端进行周期性更新,以在需要通过该APP推送地理围栏消息时可以直接从活跃终端中确定目标活跃终端,提升地理围栏消息推送的效率。以目标APP为例,对APP对应的活跃终端进行周期性更新可以通过如下方式实现:
针对每一个安装有目标APP的移动终端,在接收到该移动终端上传的活跃信息后,将该移动终端的身份信息存储到预先创建的与目标APP相对应的活跃终端库中;
针对每一个存储在活跃终端库中的身份信息,如果在最新一次接收到该身份信息对应的移动终端所上传活跃信息之后的预设等待时间内没有接收到该身份信息对应的移动终端再次上传的活跃信息,则将该身份信息从活跃终端库中删除。
针对于安装有目标APP的移动终端,如果目标APP在该移动终端上处于运行状态,则目标APP会不断通过该移动终端上传活跃信息。预先针对目标APP创建相对应的活跃终端库,在接收到目标APP通过一个移动终端上传的活跃信息后,将该移动终端的身份信息存储到活跃终端库中。针对任意一个相对应身份信息存储在活跃终端库中的移动终端,如果该移动终端最新一次上传活跃信息的时间距当前时间的时间间隔小于预设的等待时间,则继续保留该移动终端的身份信息在活跃终端库中,如果该移动终端最新一次上传活跃信息的时间距当前时间的时间间隔大于或等于预设的等到时间,则将该移动终端的身份信息从活跃终端库中删除。
通过设定等待时间,如果移动终端上传活跃信息的时间间隔大于或等于等待时间,则该移动终端上的目标APP可能已经停止运行或者该移动终端的网络无法连通,如果基于该移动终端此前上传的经纬度信息来确定该移动终端所处的位置,所确定出的位置很可能与该移动终端实际所处的位置不同。因此,根据移动终端上传活跃信息的间隔时间来判定移动终端是否处于“活跃状态”,认为上传活跃信息的时间间隔小于等待时间为处于“活跃状态”,在活跃终端库中仅存储处于“活跃状态”的移动终端的身份信息,进而在需要推送地理围栏消息时可以将活跃终端库中所存储身份信息对应的移动终端确定为活跃终端,保证活跃终端实际所处的位置与其最新所上传的经纬度信息相符。
例如,预先设定等待时间为5分钟,在接收到一个移动终端通过目标APP上传的活跃信息之后,将该移动终端的身份信息存储到活跃终端库中,如果此后5分钟之后没有再次接收到该移动终端通过目标APP上传的活跃信息,则将该移动终端的身份信息从活跃终端库中删除。
相应地,步骤102根据消息推送指令确定与目标APP相对应的活跃终端时,首先可以根据消息推送指令确定推送地理围栏消息所针对的目标APP,进而确定与目标APP相对应的活跃终端库,之后将与所确定出的活跃终端库中存储的各个身份信息对应的移动终端确定为与目标APP相对应的活跃终端。
针对每一个APP,周期性对该APP对应的活跃终端库进行更新,当接收到针对该APP进行地理围栏消息推送的消息推送指令后,直接将相应活跃终端库中所存储的身份信息对应的移动终端确定为该APP对应的活跃终端,从而可以缩短确定活跃终端所需的时间,进而提升进行地理围栏消息推送的效率。
需要说明的是,存储在活跃终端库中的身份信息可以包括相应移动终端的设备ID以及相应移动终端上传的经纬度信息,而身份信息可以从移动终端上传的活跃信息中获取。另外,针对相应身份信息已经存储在活跃终端库中的移动终端,再次接收到该移动终端上传的活跃信息后,从所接收到的活跃信息中获取经纬度信息对已经存储的身份信息包括的经纬度信息进行更新。
可选地,在上述通过更新活跃终端库来确定活跃终端的基础上,由于消息推送指令具有一定的有效期,而在该有效期内可能会有其他所安装目标APP处于“活跃状态”的移动终端进入目标区域。因此,在步骤105之后,需要向上述新增的移动终端推送地理围栏消息,具体可以通过如下方式实现:
在消息推送指令的有效期内,每经过一个预设的补发周期,获取与目标APP相对应的活跃终端库中新增的身份信息;
针对获取到的每一个新增的身份信息,确定该身份信息对应的移动终端是否位于目标区域内,如果是,则根据消息推送指令向该身份信息对应的移动终端推送地理围栏消息。
例如,消息推送指令的有效期为30分钟,预先设定的补发周期为30秒,则在向目标活跃终端推送地理围栏消息后,每经过30秒执行一次如下操作:从目标APP对应的活跃终端库中获取新增的身份信息,确定与新增的身份信息相对应的各个新增移动终端是否位于目标区域内,根据消息推送指令向位于目标区域内的新增移动终端推送地理围栏消息。这样,在首次向目标活跃终端推送地理围栏消息后,每经过30秒执行一次上述操作,共计会执行59次向新增移动终端推送地理围栏消息的操作。
针对存在有效期的消息推送指令,在消息推送指令的有效期内不断确定新进入目标区域内的活跃终端,并向确定出的新进入目标区域内的活跃终端推送地理围栏消息,保证推送地理围栏消息的全面性。
可选地,在上述通过更新活跃终端库来确定活跃终端的基础上,针对安装有与目标APP共享后台进程的同系APP的移动终端,在接收到该移动终端通过同系APP上传的活跃信息后,将该移动终端的身份信息存储到对应于目标APP的活跃终端库中。
如果两个APP共享后台进程,在安装有这两个APP的移动终端上,如果其中第一APP处于运行状态而第二APP处于非运行状态,在针对第二APP所推送的地理围栏消息被推送到该移动终端上时,基于第一APP与第二APP共享的后台进程,该移动终端可以调用第二APP对地理围栏消息进行展示。
基于上述理由,当安装有与目标APP共享后台进程的同系APP的移动终端上传活跃信息后,一方面将该移动终端的身份信息存储到同系APP对应的活跃终端库中,另一方面将该移动终端的身份信息存储到目标APP对应的活跃终端库中。这样,当接收到通过目标APP推送地理围栏消息的消息推送指令后,可以将位于目标区域内且在预设时间段内通过同系APP上传过活跃信息的移动终端确定为目标活跃终端,进而向该移动终端推送针对目标APP的地理围栏消息,如果该移动终端上安装有目标APP,则目标APP会对所推送的地理围栏消息进行展示。
针对共享后台进程的两个或两个以上APP,移动终端通过其中一个APP上传活跃信息后,将该移动终端的身份信息分别存储到各个APP各自对应的活跃终端库中,在需要通过其中任意一个APP推送地理围栏消息时,如果该移动终端位于目标区域内则向其推送地理围栏消息,保证在其上安装有相应APP时可以对地理围栏消息进行展示,提升地理围栏消息推送的有效性。
可选地,在图1所示消息推送方法的基础上,步骤104确定目标活跃终端时,具体可以通过如下方式实现:
S1:针对每一个活跃终端,根据该活跃终端最新一次上传的经纬度信息和目标区域的中心点的经纬度信息,通过如下公式计算该活跃终端与目标区域的中心点之间的距离;
S2:针对每一个活跃终端,根据该活跃终端与目标区域的中心点之间的距离以及目标区域的边界分布,确定该活跃终端是否位于目标区域内,如果是,将该活跃终端确定为一个目标活跃终端。
从接收到的消息推送指令中可以获取目标区域的边界分布情况以及目标区域的中心点的经纬度信息,分别将每一个活跃终端的经纬度信息和目标区域的中心点的经纬度信息代入上述公式,可以分别计算出每一个活跃终端与目标区域的中心点之间的距离,进而可以根据计算出的距离以及目标区域的中心点与边界分布来确定各个活跃终端是否位于目标区域内,并将位于目标位于内的活跃终端确定为目标活跃终端进行地理围栏消息推送,保证了目标活跃终端选择的准确性。
可选地,在上述实施例步骤S2确定活跃终端是否位于目标区域内时,针对任意一个活跃终端,具体可以通过如下方式实现:
S21:确定在该活跃终端与目标区域的中心点之间连线的方向上,目标区域的中心点与目标区域的边界之间的参考距离;
S22:判断该活跃终端与目标表区域的中心点之间的距离是否小于参考距离,如果是,执行S23,否则执行S34;
S23:确定该活跃终端位于目标区域内,并结束当前流程;
S24:确定该活跃终端位于目标区域外。
从接收到的消息推送指令可以获取目标区域的边界分布信息和目标区域的中心点的经纬度信息,由于目标区域为连续的区域,在计算出每一个活跃终端与目标区域的中心点之间的距离后,可以确定从目标区域的中心点至每一个活跃终端的射线方向上目标区域的中心点与目标区域边界之间的距离,通过比较上述两个距离便可以确定各个活跃终端是否位于目标区域内,保证结果的准确性和方便性。
具体地,如果目标区域为圆形,目标区域的中心点可以为其圆心,此时仅需将每一个活跃终端与目标区域的中心点之间的距离与目标区域的半径进行比较,如果活跃终端与目标区域的中心点之间的距离小于目标区域的半径,则确定活跃终端位于目标区域内,否则确定活跃终端位于目标区域外。如果目标区域为非圆形,则需要分别计算从目标区域的中心点至每一个活跃终端的射线方向上目标区域的中心点与目标区域边界之间的距离,然后将计算结果与目标区域的中心点与相应活跃终端之间的距离进行比较,以此来确定活跃终端是否位于目标区域内。
可选地,在图1所示消息推送方法的基础上,步骤105中根据消息推送指令向目标活跃终端推送地理围栏消息时,针对每一个目标活跃终端,可以从存储在活跃终端库中的与该目标活跃终端相对应的身份信息中获取该目标活跃终端的设备ID,进而根据获取到的设备ID向该目标活跃终端发送地理围栏消息,而所发送的地理围栏消息的内容可以从消息推送指令中获得。
将移动终端的设备ID作为身份信息的一部分存储到活跃终端库中,在确定一个移动终端为目标活跃终端后,可以方便地从活跃终端库中获取其设备ID,进而根据获取到的设备ID推送地理围栏消息,保证根据设备ID可以准确地推送地理围栏消息。
需要说明的是,在上述各个实施例所提供的消息推送方法中,移动终端、活跃终端、目标活跃终端和新增活跃终端均可以是手机、平板电脑、智能手表等可以运行APP的智能移动设备。
下面结合上述各个实施例提供的基于地理围栏的消息推送方法,对本发明实施例提供的基于地理围栏的消息推送方法作进一步详细说明,如图2所示,该方法可以包括以下步骤:
步骤201:接收消息推送指令。
在本发明实施例中,接收用户发送的消息推送指令,其中,消息推送指令中携带有目标APP信息、与消息推送范围相对应的目标区域信息、目标区域的中心点的经纬度信息、消息推送指令有效期以及地理围栏消息的内容。
步骤202:根据与目标APP相对应的活跃终端库中存储的身份信息,确定活跃终端。
在本发明实施例中,从消息推送指令中获取到推送地理围栏消息所针对的目标APP后,确定与目标APP相对应的活跃终端库,读取确定出的活跃终端库中的存储的身份信息,根据读取到的各个身份信息对应的移动终端确定为活跃终端。
例如,与目标APP相对应的活跃终端库中存储有100个身份信息,将这100个身份信息对应的100个移动终端确定为对应于目标APP的活跃终端。
步骤203:从活跃终端中确定目标活跃终端。
在本发明实施例中,在确定出对应于目标APP的各个活跃终端后,将每一个活跃终端最新一次上传的经纬度信息以及目标区域的中心点的经纬度信息代入如下公式,计算出每一个活跃终端与目标区域的中心点之间的距离,进而根据活跃终端与目标区域的中心点之间的距离以及目标区域的中心点相对应边界分布的关系,确定出位于目标区域内的活跃终端,将位于目标区域内的活跃终端确定为对应于目标APP的目标活跃终端。
其中,用于计算活跃终端与目标区域的中心点之间距离的公式如下:
其中,R表征地球的平均半径,d表征活跃终端与目标区域的中心点之间的距离,表征目标区域的中心点的纬度,表征活跃终端的纬度,Δλ表征目标区域的中心点的经度与活跃终端的经度之间的差值。地球的平均半径可以取值3671km。
例如,通过计算100个活跃终端与目标区域的中心点之间的距离,确定出这100个活跃终端中有60个活跃终端位于目标区域内,从而将这60个位于目标区域内的活跃终端确定为对应于目标APP的目标活跃终端。
步骤204:向目标活跃终端推送地理围栏消息。
在本发明实施例中,针对确定出的每一个目标活跃终端,从对应于目标APP的活跃终端库中读取该目标活跃终端的设备ID,并根据消息推送指令包括的地理围栏消息的内容生成地理围栏消息,进而根据该目标活跃设备的设备ID将地理围栏消息推送给该目标活跃终端,该目标活跃终端在接收到地理围栏信息后,可以通过目标APP对接收到的地理围栏消息进行展示。
例如,针对60个目标活跃终端中的每一个目标活跃终端,根据该目标活跃终端的设备ID,向该目标活跃终端推送地理围栏消息。
步骤205:在推送指令的有效期内,每经过一个补发周期确定新进入目标区域的活跃终端,并向确定出的新进入目标区域的活跃终端推送地理围栏消息。
在本发明实施例中,在向各个目标活跃终端推送地理围栏消息后,在消息推送指令的有效期内,每经过一个预先设定的补发周期,获取目标APP对应的活跃终端库中新增的身份信息,进而确定与新增的身份信息相对应的新增活跃终端是否位于目标区域内,之后向位于目标区域内的新增活跃终端推送地理围栏消息。其中,确定与新增的身份信息相对应的新增活跃终端是否位于目标区域内的方法,与确定目标活跃终端的方法相同,具体可参见前述实施例的描述。
例如,根据消息推送指令携带的内容确定消息推送指令的有效期为30min,预先设定的补发周期为30s,则每经过30s对与目标APP相对应的活跃终端库进行一次检查,确定这30s内新增到活跃终端库中的身份信息,进而确定与新增的身份信息相对应的新增活跃终端是否位于目标区域内,并向位于目标区域内的新增活跃终端推送地理围栏消息。这样,在向目标活跃终端推送地理围栏信息后,还需要进行59次消息推送。
如图3所示,本发明一个实施例提供了一种基于地理围栏的消息推送装置,包括:指令接收单元301、第一终端筛选单元302、第二终端筛选单元303和消息推送单元304;
指令接收单元301,用于接收通过目标APP推送地理围栏消息的消息推送指令;
第一终端筛选单元302,用于根据指令接收单元301接收到的消息推送指令,确定与目标APP相对应的活跃终端,其中,活跃终端为在预设时间段内通过目标APP上传过活跃信息的移动终端;
第二终端筛选单元303,用于根据指令接收单元301接收到的消息推送指令确定与消息推送范围相对应的目标区域,并从第一终端筛选单元302确定出的活跃终端中确定位于目标区域内的目标活跃终端;
消息推送单元304,用于根据指令接收单元301接收到的消息推送指令向第二终端筛选单元303确定出的目标活跃终端推送地理围栏消息,以使目标活跃终端通过目标APP展示地理围栏消息。
在本发明实施例中,指令接收单元301可用于执行上述方法实施例中的步骤101和步骤201,第一终端筛选单元302可用于执行上述方法实施例中的步骤102和步骤202,第二终端筛选单元303可用于执行上述方法实施例中的步骤103、步骤104和步骤203,消息推送单元304可用于执行上述方法实施例中的步骤105和步骤204。
需要说明的是,本装置实施例所包括的各个单元之间的信息交互、执行过程等内容,由于与上述方法实施例基于同一发明构思,具体内容可以参见上述方法实施例中的叙述,此处不再赘述。另外,本装置实施例还可以包括其他的单元模块,用于执行上述方法实施例中的各个步骤。
本发明实施例还提供了一种计算机设备,包括有存储器和处理器,存储器上存储有计算机程序,当处理器执行存储器上所存储的计算机程序是可以实现上述各个实施例所提供的基于地理围栏的消息推送方法。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,在其所存储的计算机存储被执行时可以实现上述各个实施例提供的基于地理围栏的消息推送方法。
综上所述,本发明各个实施例提供的基于地理围栏的消息推送方法、装置以及计算机设备和计算机可读存储介质,至少具有如下有益效果:
1、在本发明实施例中,在接收到需要通过目标APP推送地理围栏消息的消息推送指令后,首先确定安装有目标APP且在预设时间段内通过目标APP上传过活跃信息的活跃终端,之后根据消息推送指令确定与消息推送范围相对应的目标区域,之后从活跃终端中确定位于目标区域内的目标活跃终端,之后根据消息推送指令向目标活跃终端推送地理围栏消息。由此可见,活跃终端可以是最近一段时间内通过目标APP上传过活跃信息的移动终端,保证了活跃终端上传的位置信息与其实际位置相符,而目标活跃终端是根据所上传的位置信息从活跃终端中确定出来的,从而可以保证在推送地理围栏消息时目标活跃终端位于与消息推送范围相对应的目标区域内,从而可以提高推送地理围栏消息的精准度。
2、在本发明实施例中,通过设定等待时间,如果移动终端上传活跃信息的时间间隔大于或等于等待时间,则该移动终端上的目标APP可能已经停止运行或者该移动终端的网络无法连通,如果基于该移动终端此前上传的经纬度信息来确定该移动终端所处的位置,所确定出的位置很可能与该移动终端实际所处的位置不同。因此,根据移动终端上传活跃信息的间隔时间来判定移动终端是否处于“活跃状态”,认为上传活跃信息的时间间隔小于等待时间为处于“活跃状态”,在活跃终端库中仅存储处于“活跃状态”的移动终端的身份信息,进而在需要推送地理围栏消息时可以将活跃终端库中所存储身份信息对应的移动终端确定为活跃终端,保证活跃终端实际所处的位置与其最新所上传的经纬度信息相符。
3、在本发明实施例中,针对每一个APP,周期性对该APP对应的活跃终端库进行更新,当接收到针对该APP进行地理围栏消息推送的消息推送指令后,直接将相应活跃终端库中所存储的身份信息对应的移动终端确定为该APP对应的活跃终端,从而可以缩短确定活跃终端所需的时间,进而提升进行地理围栏消息推送的效率。
4、在本发明实施例中,针对存在有效期的消息推送指令,在消息推送指令的有效期内不断确定新进入目标区域内的活跃终端,并向确定出的新进入目标区域内的活跃终端推送地理围栏消息,保证推送地理围栏消息的全面性。
5、在本发明实施例中,针对共享后台进程的两个或两个以上APP,移动终端通过其中一个APP上传活跃信息后,将该移动终端的身份信息分别存储到各个APP各自对应的活跃终端库中,在需要通过其中任意一个APP推送地理围栏消息时,如果该移动终端位于目标区域内则向其推送地理围栏消息,保证在其上安装有相应APP时可以对地理围栏消息进行展示,提升地理围栏消息推送的有效性。
6、在本发明实施例中,从接收到的消息推送指令中可以获取目标区域的边界分布情况以及目标区域的中心点的经纬度信息,分别将每一个活跃终端的经纬度信息和目标区域的中心点的经纬度信息代入上述公式,可以分别计算出每一个活跃终端与目标区域的中心点之间的距离,进而可以根据计算出的距离以及目标区域的中心点与边界分布来确定各个活跃终端是否位于目标区域内,并将位于目标位于内的活跃终端确定为目标活跃终端进行地理围栏消息推送,保证了目标活跃终端选择的准确性。
7、在本发明实施例中,从接收到的消息推送指令可以获取目标区域的边界分布信息和目标区域的中心点的经纬度信息,由于目标区域为连续的区域,在计算出每一个活跃终端与目标区域的中心点之间的距离后,可以确定从目标区域的中心点至每一个活跃终端的射线方向上目标区域的中心点与目标区域边界之间的距离,通过比较上述两个距离便可以确定各个活跃终端是否位于目标区域内,保证结果的准确性和方便性。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种基于地理围栏的消息推送方法,其特征在于,包括:
接收通过目标APP推送地理围栏消息的消息推送指令;
根据所述消息推送指令,确定与所述目标APP相对应的活跃终端,其中,所述活跃终端为在预设时间段内通过所述目标APP上传过活跃信息的移动终端;
根据所述消息推送指令确定与消息推送范围相对应的目标区域,并从所述活跃终端中确定位于所述目标区域内的目标活跃终端;
根据所述消息推送指令向所述目标活跃终端推送地理围栏消息,以使所述目标活跃终端通过所述目标APP展示所述地理围栏消息;
所述从所述活跃终端中确定位于所述目标区域内的目标活跃终端,包括:
针对每一个所述活跃终端,根据该活跃终端最新一次上传的经纬度信息和所述目标区域的中心点的经纬度信息,通过如下公式计算该活跃终端与所述目标区域的中心点之间的距离;
其中,所述R表征地球的平均半径,所述d表征所述活跃终端与所述目标区域的中心点之间的距离,所述表征所述目标区域的中心点的纬度,所述表征所述活跃终端的纬度,所述Δλ表征所述目标区域的中心点的经度与所述活跃终端的经度之间的差值;
针对每一个所述活跃终端,根据该活跃终端与所述目标区域的中心点之间的距离以及所述目标区域的边界分布确定该活跃终端是否位于所述目标区域内,如果是,将该活跃终端确定为一个所述目标活跃终端。
2.根据权利要求1所述的方法,其特征在于,
在所述根据所述消息推送指令确定与所述目标APP相对应的活跃终端之前,进一步包括:
在接收到安装有所述目标APP的移动终端上传的活跃信息后,将该移动终端的身份信息存储到预先创建的对应于所述目标APP的活跃终端库中;
在预设时间段内检查是否接收到所述身份信息对应的所述移动终端再次上传的活跃信息,根据检查结果判断是否将所述身份信息存储在所述活跃终端库中;
所述根据所述消息推送指令确定与所述目标APP相对应的活跃终端,包括:
根据所述消息推送指令确定与所述目标APP相对应的所述活跃终端库;
将与所述活跃终端库中存储的所述身份信息对应的移动终端确定为与所述目标APP相对应的活跃终端。
3.根据权利要求2所述的方法,其特征在于,在所述根据所述消息推送指令向所述目标活跃终端推送地理围栏消息之后,进一步包括:
在所述消息推送指令的有效期内,每经过一个预设的补发周期,获取与所述目标APP相对应的所述活跃终端库中新增的身份信息;
针对获取到的每一个所述新增的身份信息,在确定该身份信息对应的移动终端位于所述目标区域内之后,根据所述消息推送指令向该身份信息对应的移动终端推送地理围栏消息。
4.根据权利要求2所述的方法,其特征在于,在所述根据所述消息推送指令确定与所述目标APP相对应的活跃终端之前,进一步包括:
检测与所述目标APP共享后台进程的同系APP,如果所述同系APP上传活跃信息,将所述同系APP所在移动终端的身份信息存储到对应于所述目标APP的活跃终端库中。
5.根据权利要求1所述的方法,其特征在于,所述根据该活跃终端与所述目标区域的中心点之间的距离以及所述目标区域的边界分布确定该活跃终端是否位于所述目标区域内,包括:
确定在该活跃终端与所述目标区域的中心点之间连线的方向上,所述目标区域的中心点与所述目标区域的边界之间的参考距离;
判断该活跃终端与所述目标区域的中心点之间的距离是否小于所述参考距离;
如果是,确定该活跃终端位于所述目标区域内。
6.根据权利要求1至5中任一所述的方法,其特征在于,所述根据所述消息推送指令向所述目标活跃终端推送地理围栏消息,包括:
从所述目标活跃终端对应的身份信息中获取该目标活跃终端的设备ID,根据获取到的所述设备ID向所述目标活跃终端发送与所述消息推送指令相对应的地理围栏消息。
7.一种基于地理围栏的消息推送装置,其特征在于,包括:指令接收单元、第一终端筛选单元、第二终端筛选单元和消息推送单元;
所述指令接收单元,用于接收通过目标APP推送地理围栏消息的消息推送指令;
所述第一终端筛选单元,用于根据所述指令接收单元接收到的所述消息推送指令,确定与所述目标APP相对应的活跃终端,其中,所述活跃终端为在预设时间段内通过所述目标APP上传过活跃信息的移动终端;
所述第二终端筛选单元,用于根据所述指令接收单元接收到的所述消息推送指令确定与消息推送范围相对应的目标区域,并从所述第一终端筛选单元确定出的所述活跃终端中确定位于所述目标区域内的目标活跃终端;
所述消息推送单元,用于根据所述指令接收单元接收到的所述消息推送指令向所述第二终端筛选单元确定出的所述目标活跃终端推送地理围栏消息,以使所述目标活跃终端通过所述目标APP展示所述地理围栏消息;
所述从所述活跃终端中确定位于所述目标区域内的目标活跃终端,包括:
针对每一个所述活跃终端,根据该活跃终端最新一次上传的经纬度信息和所述目标区域的中心点的经纬度信息,通过如下公式计算该活跃终端与所述目标区域的中心点之间的距离;
其中,所述R表征地球的平均半径,所述d表征所述活跃终端与所述目标区域的中心点之间的距离,所述表征所述目标区域的中心点的纬度,所述表征所述活跃终端的纬度,所述Δλ表征所述目标区域的中心点的经度与所述活跃终端的经度之间的差值;
针对每一个所述活跃终端,根据该活跃终端与所述目标区域的中心点之间的距离以及所述目标区域的边界分布确定该活跃终端是否位于所述目标区域内,如果是,将该活跃终端确定为一个所述目标活跃终端。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910120607.6A CN109982248B (zh) | 2019-02-18 | 2019-02-18 | 一种基于地理围栏的消息推送方法、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910120607.6A CN109982248B (zh) | 2019-02-18 | 2019-02-18 | 一种基于地理围栏的消息推送方法、装置及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109982248A CN109982248A (zh) | 2019-07-05 |
CN109982248B true CN109982248B (zh) | 2022-10-21 |
Family
ID=67076961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910120607.6A Active CN109982248B (zh) | 2019-02-18 | 2019-02-18 | 一种基于地理围栏的消息推送方法、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109982248B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111405008B (zh) * | 2020-03-06 | 2021-04-06 | 精英数智科技股份有限公司 | 一种煤矿数据传输方法、装置及系统 |
CN113469741A (zh) * | 2021-06-30 | 2021-10-01 | 杭州云深科技有限公司 | App地域分布等级确定方法、装置、计算机设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108737535A (zh) * | 2018-05-14 | 2018-11-02 | 平安科技(深圳)有限公司 | 一种消息推送方法、存储介质和服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2515522A (en) * | 2013-06-26 | 2014-12-31 | Ibm | Mobile network based geofencing |
CN106327113A (zh) * | 2015-06-23 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 自动推送配送信息、提供揽收信息的方法、终端和服务器 |
-
2019
- 2019-02-18 CN CN201910120607.6A patent/CN109982248B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108737535A (zh) * | 2018-05-14 | 2018-11-02 | 平安科技(深圳)有限公司 | 一种消息推送方法、存储介质和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN109982248A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190342742A1 (en) | Real-time over the top 9-1-1 caller location data | |
US9307362B2 (en) | Systems and methods for optimizing message notification timing based on geographic location | |
EP3525410B1 (en) | Account login method, apparatus, and server | |
US9479900B2 (en) | Geographic location-based communications method, mobile terminal, server, and geographic location-based communications system | |
US9386409B2 (en) | LBS-based prompt information output method and system, and storage medium | |
US10834698B2 (en) | Systems and methods for optimizing message notification based on geographic location and time | |
CN109982248B (zh) | 一种基于地理围栏的消息推送方法、装置及可读存储介质 | |
US11501280B2 (en) | Joint payment method and system based on binding relationship | |
CN110677810B (zh) | 用于生成地理围栏的方法和装置 | |
CN113489636A (zh) | 针对人工对话实体的基于位置的访问控制 | |
US20150131648A1 (en) | Internet Protocol Communication Accessibility Improvement | |
EP3968663A1 (en) | Message reminding method and apparatus, control device, and storage medium | |
CN112737921A (zh) | 消息交互方法、客户端及通信系统 | |
US20140351135A1 (en) | Registration process | |
CN106407372B (zh) | 信息处理方法及装置 | |
CN110035108B (zh) | 一种信息推送方法及系统 | |
CN105191365A (zh) | 本地化安全用户平面定位(supl)应急会话 | |
KR20060023483A (ko) | 위치기반서비스를 이용한 근접 알림 서비스 시스템 및 그방법 | |
US20110275387A1 (en) | Communication gateway | |
CN110996260B (zh) | 一种离线地图的获取方法、系统及存储介质 | |
US20240127689A1 (en) | Alarm method and apparatus for digital enhanced cordless telecommunications (dect) terminal, and storage medium | |
CA2990295C (en) | Mobile terminal position storage method and device | |
CN108123816B (zh) | 系统升级方法及装置 | |
KR20120065825A (ko) | 모바일 실시간 위치 추적방법 | |
CN115189751A (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 |