CN106961670B - 基于分布式架构的地理围栏系统及工作方法 - Google Patents
基于分布式架构的地理围栏系统及工作方法 Download PDFInfo
- Publication number
- CN106961670B CN106961670B CN201710302574.8A CN201710302574A CN106961670B CN 106961670 B CN106961670 B CN 106961670B CN 201710302574 A CN201710302574 A CN 201710302574A CN 106961670 B CN106961670 B CN 106961670B
- Authority
- CN
- China
- Prior art keywords
- fence
- server
- memory
- determining
- management server
- 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
Classifications
-
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于分布式架构的地理围栏系统及工作方法,地理围栏系统包括围栏管理服务器和N台围栏判定服务器,N至少为1;围栏管理服务器和围栏判定服务器组成一个集群;围栏判定服务器向围栏管理服务器上报自身的内存使用率;新增围栏时,围栏管理服务器选取剩余内存最多的围栏判定服务器,并将新增围栏下发给所述围栏判定服务器。海量围栏可以全部被加载在围栏判定服务器内存中,当全部围栏所需的内存超出系统的总内存时,可以通过增加围栏判定服务器,简单的水平扩展,即可存储全部围栏。本发明解决;了海量虚拟围栏,无法全部放入单台服务器内存中,从而导致PTP查询低效的问题,具有高效方便的效果。
Description
技术领域
本发明涉及终端应用技术领域,特别涉及一种基于分布式架构的地理围栏系统及工作方法。
背景技术
地理围栏:地理围栏(Geo-fencing)是LBS的一种应用,就是用一个虚拟的栅栏围出一个虚拟地理边界。当物体进入或离开某个特定地理区域,或在该区域内活动时,可以判断该物体和地理区域的空间关系。
基于地理围栏搭建的应用系统,即地理围栏系统,其响应速度是衡量系统优劣的重要指标。例如,在地理围栏系统中以实际地理区域的边界坐标创建虚拟的栅栏,并且手机定期上报位置,则当手机进入指定地理区域时,手机可以接收自动通知或警告,该接收时间如果较大,则会失去实时通知的意义。
地理围栏系统的核心,是对手机和指定地理区域进行PIP(Point in Polygon)判定,即根据一批坐标点创建多边形(即围栏),并判断某一点(如手机)是否落入其中。此结果是后续业务行为的基础,其执行时间的长短至关重要。地理围栏的应用,本质上归结于判断点是否在多边形内,基于此空间关系开发业务场景。
为了提高PIP判定的效率,现有技术通常可以提前将围栏预先加载在服务器的内存中,目的是减少从磁盘读取围栏坐标信息的时间损耗。但是现有技术的问题在于,当虚拟围栏的数目非常多时,将会达到一台服务器的内存上限。继续增加围栏时,无法在一台服务器的内存中放下所有围栏。
发明内容
基于此,本发明提出了一种基于分布式架构的地理围栏系统及工作方法,解决了地理围栏系统里海量虚拟围栏,无法全部放入单台服务器内存中,从而导致PIP查询低效的技术问题。
本发明采用的技术方案是:
一种基于分布式架构的地理围栏系统,包括围栏管理服务器和N台围栏判定服务器,N至少为1;围栏判定服务器向围栏管理服务器上报自身的内存使用率;新增围栏时,围栏管理服务器选取剩余内存最多的围栏判定服务器,并将新增围栏下发给所述围栏判定服务器。
进一步地,所述围栏判定服务器将所归属的所有围栏加载在程序的内存中。
进一步地,所述围栏管理服务器收取围栏判定服务器上报的内存使用率,并记录在内存使用表中。
进一步地,所述围栏管理服务器将新增围栏和对应的围栏判定服务器记录在围栏寻址表中。
进一步地,所述围栏管理服务器绑定物体和围栏的关系,并记录在物体围栏关系表中。
进一步地,当物体上报了实时位置时,围栏管理服务器从物体围栏关系表中查找到与所述物体对应的围栏,然后从围栏寻址表中查找到围栏所在的围栏判定服务器,最后在所述围栏判定服务器上进行PIP判定。
一种基于分布式架构的地理围栏系统工作方法,包括以下步骤:
步骤S1,围栏判定服务器向围栏管理服务器上报自身的内存使用率,围栏管理服务器将围栏判定服务器上报的内存使用率记录在内存使用表中;
步骤S2,新增围栏时,围栏管理服务器从内存使用表中选取剩余内存最多的围栏判定服务器,并将新增围栏下发给所述围栏判定服务器,由所述围栏判定服务器在内存中加载新增围栏;所述围栏管理服务器将新增围栏和对应的围栏判定服务器记录在围栏寻址表中;
步骤S3,围栏管理服务器绑定物体和围栏的关系,并记录在物体围栏关系表中;
步骤S4,围栏管理服务器进行PIP判定。
进一步地,所述围栏管理服务器进行PIP判定,步骤如下:
步骤S41,物体上报实时位置至围栏管理服务器;
步骤S42,围栏管理服务器从物体围栏关系表中查找到与所述物体对应的围栏;
步骤S43,根据围栏查找围栏寻址表,从围栏寻址表中查找到围栏所在的围栏判定服务器;
步骤S44,下发物体实时位置到围栏判定服务器上,完成PIP判定。
进一步地,所述的基于分布式架构的地理围栏系统工作方法还包括步骤S5,当围栏判定服务器内存使用率达到预设的阈值时,增加围栏判定服务器的数量。
进一步地,所述步骤S5中预设的阈值为,所有围栏判定服务器的平均内存使用率达到70%;增加围栏判定服务器的数量为,现存围栏判定服务器数量的1/3。
本发明采用分布式架构设计,有益效果在于,在海量虚拟围栏中高效、快速地进行PIP判定。
附图说明
图1是本发明地理围栏系统结构图。
图2是本发明PIP判定流程图
具体实施方式
本发明采用分布式架构设计了一种地理围栏系统,利用一组服务器的内存来存储海量围栏,并通过一台管理服务器来协调这一组服务器。所谓分布式架构,是指在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。系统中存在一个以全局的方式管理计算机资源的管理者。
下文中,结合附图和实施例对本发明作进一步阐述。
图1是本发明一种基于分布式架构的地理围栏系统总体结构图,每个服务器都是一台独立的机器,所述基于分布式架构的地理围栏系统共有一台围栏管理服务器11和N台围栏判定服务器12,组成一个集群,N至少为1。
各服务器的功能如下:
1、围栏判定服务器12:
a)每台围栏判定服务器12,将归属它的所有虚拟围栏加载在程序的内存中。
b)每台围栏判定服务器12,定期(如1分钟)向围栏管理服务器11上报自身的内存使用率。
2、围栏管理服务器11:
a)收取集群内围栏判定服务器12上报的内存使用率,并记录在内存使用表中。
b)新增围栏时,从内存使用表中选取剩余内存最多的围栏判定服务器12,并将新增围栏下发给该围栏判定服务器12,由其加载在内存中。同时,将该围栏和对应的围栏判定服务器12,记录在围栏寻址表中。
c)绑定物体和围栏的关系,并记录在物体围栏关系表中。(例如:手机A和围栏a有关系,手机B和围栏b有关系,则手机A的实时位置,只需要和围栏a进行PTP判定即可。)
d)当物体上报了实时位置时,从物体围栏关系表中,查找到与该物体对应的围栏,继而从围栏寻址表中,查找到围栏所在的围栏判定服务器12,最终在该围栏判定服务器12上进行PTP判定。
本发明一种基于分布式结构的地理围栏系统工作方法和实现细节如下:
步骤S1,地理围栏系统启动后,围栏判定服务器12定期向围栏管理服务器11上报自身的内存使用率,围栏管理服务器11将该数值记录在内存使用表中。
a)定期上报的周期为1分钟。
b)内存使用表的结构如下:
列名 | 数据类型 | 取值示例 | 备注 |
idAddr | String | 127.0.0.1 | 围栏判定服务器的ip地址 |
memoryUsage | Double | 0.35 | 服务器使用了35%的内存 |
步骤S2,地理围栏系统运行过程中,新增围栏时,围栏管理服务器11从所述内存使用表中选取memoryUsage(内存使用率)最小的围栏判定服务器12,由其在内存中加载所述新增围栏。同时,将所述新增围栏围栏和对应的围栏判定服务器12,记录在围栏寻址表中。
围栏寻址表的结构如下:
列名 | 数据类型 | 取值示例 | 备注 |
FenceId | Long | 100001 | 围栏在系统中的唯一ID |
FenceName | String | 上海市 | 围栏名称 |
idAddr | String | 127.0.0.1 | 围栏判定服务器的ip地址 |
步骤S3,地理围栏系统运行过程中,绑定某个物体和某个围栏的关系时,围栏管理服务器11将两者的关系记录在物体围栏关系表中。
物体围栏关系表的结构如下:
列名 | 数据类型 | 取值示例 | 备注 |
EntityID | Long | 20 | 物体在系统中的唯一ID |
EntityName | String | 张三 | 物体名称,如手机号,车牌号,人 |
FenceId | Long | 100001 | 围栏在系统中的唯一ID |
步骤S4,地理围栏系统运行过程中,围栏管理服务器11进行PIP判定,如图2所示,步骤如下:
步骤S41,物体上报实时位置至围栏管理服务器11;
步骤S42,围栏管理服务器12从物体围栏关系表中查找到与所述物体对应的围栏;
步骤S43,根据围栏查找围栏寻址表,从围栏寻址表中查找到围栏所在的围栏判定服务器12;
步骤S44,下发物体实时位置到围栏判定服务器12上,完成PIP判定。
步骤S5,地理围栏系统运行过程中,随着围栏数量的增长,各个围栏判定服务器12的内存使用率也会增长。当到达预设阈值时,在地理围栏系统中增加数台新的围栏判定服务器12,用以均衡负载。
a)预设阈值为,所有围栏判定服务器12的平均内存使用率达到70%;
b)增加围栏判定服务器12的数量为,现存围栏判定服务器12数量的1/3。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (5)
1.一种基于分布式架构的地理围栏系统,其特征在于,包括围栏管理服务器(11)和N台围栏判定服务器(12),N至少为1;围栏判定服务器(12)向围栏管理服务器(11)上报自身的内存使用率;新增围栏时,围栏管理服务器(11)选取剩余内存最多的围栏判定服务器(12),并将新增围栏下发给所述围栏判定服务器(12);
所述围栏判定服务器(12)将所归属的所有围栏加载在程序的内存中;
所述围栏管理服务器(11)将新增围栏和对应的围栏判定服务器(12)记录在围栏寻址表中;
所述围栏管理服务器(11)绑定物体和围栏的关系,并记录在物体围栏关系表中;
当物体上报了实时位置时,围栏管理服务器(11)从物体围栏关系表中查找到与所述物体对应的围栏,然后从围栏寻址表中查找到围栏所在的围栏判定服务器(12),最后在所述围栏判定服务器(12)上进行PIP判定。
2.如权利要求1所述的一种基于分布式架构的地理围栏系统,其特征在于,所述围栏管理服务器(11)收取围栏判定服务器(11)上报的内存使用率,并记录在内存使用表中。
3.一种基于分布式架构的地理围栏系统工作方法,其特征在于,包括以下步骤:
步骤S1,围栏判定服务器(12)向围栏管理服务器(11)上报自身的内存使用率,围栏管理服务器(11)将围栏判定服务器(12)上报的内存使用率记录在内存使用表中;
步骤S2,新增围栏时,围栏管理服务器(11)从内存使用表中选取剩余内存最多的围栏判定服务器(12),并将新增围栏下发给所述围栏判定服务器(12),由所述围栏判定服务器(12)在内存中加载新增围栏;所述围栏管理服务器(11)将新增围栏和对应的围栏判定服务器(12)记录在围栏寻址表中;
步骤S3,围栏管理服务器(11)绑定物体和围栏的关系,并记录在物体围栏关系表中;
步骤S4,围栏管理服务器(11)进行PIP判定,步骤如下:
步骤S41,物体上报实时位置至围栏管理服务器(11);
步骤S42,围栏管理服务器(11)从物体围栏关系表中查找到与所述物体对应的围栏;
步骤S43,根据围栏查找围栏寻址表,从围栏寻址表中查找到围栏所在的围栏判定服务器(12);
步骤S44,下发物体实时位置到围栏判定服务器(12)上,完成PIP判定。
4.如权利要求3所述的一种基于分布式架构的地理围栏系统工作方法,其特征在于,还包括步骤S5,当围栏判定服务器(12)内存使用率达到预设阈值时,增加围栏判定服务器(12)的数量。
5.如权利要求4所述的一种基于分布式架构的地理围栏系统工作方法,其特征在于,所述步骤S5中预设阈值为,所有围栏判定服务器(12)的平均内存使用率达到70%;增加围栏判定服务器(12)的数量为,现存围栏判定服务器(12)数量的1/3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710302574.8A CN106961670B (zh) | 2017-05-02 | 2017-05-02 | 基于分布式架构的地理围栏系统及工作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710302574.8A CN106961670B (zh) | 2017-05-02 | 2017-05-02 | 基于分布式架构的地理围栏系统及工作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106961670A CN106961670A (zh) | 2017-07-18 |
CN106961670B true CN106961670B (zh) | 2019-03-12 |
Family
ID=59482882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710302574.8A Active CN106961670B (zh) | 2017-05-02 | 2017-05-02 | 基于分布式架构的地理围栏系统及工作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106961670B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965401A (zh) * | 2018-06-25 | 2018-12-07 | 千寻位置网络有限公司 | 支持水平扩展的地理围栏系统及工作方法 |
CN111132023A (zh) * | 2019-12-27 | 2020-05-08 | 深圳市星砺达科技有限公司 | 地理围栏的分布式实现方法、装置、设备及可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843419A (zh) * | 2012-07-03 | 2012-12-26 | 广东电网公司信息中心 | 一种服务资源分配方法及系统 |
CN104270412A (zh) * | 2014-06-24 | 2015-01-07 | 南京邮电大学 | 一种基于Hadoop分布式文件系统的三级缓存方法 |
CN105491138A (zh) * | 2015-12-15 | 2016-04-13 | 国网智能电网研究院 | 一种基于负载率分级触发的分布式负载调度方法 |
CN106484752A (zh) * | 2016-05-25 | 2017-03-08 | 杨庆磊 | 基于大数据的高效实时电子地图围栏实现 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136179A (zh) * | 2010-01-27 | 2011-07-27 | 鲜于缨缨 | 儿童电子围栏系统 |
US9191832B2 (en) * | 2013-06-06 | 2015-11-17 | Apple Inc. | Category-based fence |
-
2017
- 2017-05-02 CN CN201710302574.8A patent/CN106961670B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843419A (zh) * | 2012-07-03 | 2012-12-26 | 广东电网公司信息中心 | 一种服务资源分配方法及系统 |
CN104270412A (zh) * | 2014-06-24 | 2015-01-07 | 南京邮电大学 | 一种基于Hadoop分布式文件系统的三级缓存方法 |
CN105491138A (zh) * | 2015-12-15 | 2016-04-13 | 国网智能电网研究院 | 一种基于负载率分级触发的分布式负载调度方法 |
CN106484752A (zh) * | 2016-05-25 | 2017-03-08 | 杨庆磊 | 基于大数据的高效实时电子地图围栏实现 |
Also Published As
Publication number | Publication date |
---|---|
CN106961670A (zh) | 2017-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6803403B2 (ja) | 専属エージェントプール配分方法、電子装置及びコンピューター読取可能な記憶媒体 | |
CN109729131B (zh) | 一种应用请求的处理方法、装置和路由器 | |
CN104702625B (zh) | 一种cdn网络中访问请求调度方法及装置 | |
CN104462314B (zh) | 电网数据处理方法及装置 | |
CN102566928A (zh) | 自动管理移动终端桌面应用程序图标的系统及方法 | |
CN102129442A (zh) | 一种分布式数据库系统和数据访问方法 | |
CN105989087B (zh) | 一种确定热点区域的方法和装置 | |
CN106210163B (zh) | 基于ip地址的定位方法及装置 | |
CN109981702B (zh) | 一种文件存储方法及系统 | |
CN106535204A (zh) | 一种业务覆盖质量评估方法及装置 | |
CN107291539B (zh) | 基于资源重要程度的集群程序调度方法 | |
CN105592123A (zh) | 存储管理系统、管理装置及方法 | |
CN106961670B (zh) | 基于分布式架构的地理围栏系统及工作方法 | |
CN107623732A (zh) | 一种基于云平台的数据存储方法、装置、设备及存储介质 | |
CN107678972A (zh) | 一种测试用例的评估方法及相关装置 | |
CN103399791A (zh) | 一种基于云计算的虚拟机迁移方法和装置 | |
CN103500177A (zh) | 一种用户激活数的统计方法及装置 | |
CN103034267A (zh) | 用于控制设施装置的设备和方法 | |
CN103713852B (zh) | 一种信息处理方法、服务平台及电子设备 | |
CN105933154A (zh) | 一种云计算资源的管理方法 | |
CN108334549A (zh) | 一种设备数据存储方法、提取方法、存储平台及提取平台 | |
CN107357686A (zh) | 一种日志删除方法及装置 | |
CN103034733A (zh) | 一种用于呼叫中心的数据监控统计方法 | |
CN105653463A (zh) | 存储管理系统、管理装置及方法 | |
CN116703132B (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 | ||
CP02 | Change in the address of a patent holder |
Address after: 200438 9 / F, 10 / F, 11 / F, 12 / F, 38 Lane 1688, Guoquan North Road, Yangpu District, Shanghai Patentee after: QIANXUN SPATIAL INTELLIGENCE Inc. Address before: Room j165, 1st floor, building 64, 1436 Jungong Road, Yangpu District, Shanghai, 200433 Patentee before: QIANXUN SPATIAL INTELLIGENCE Inc. |
|
CP02 | Change in the address of a patent holder |