CN106484752A - 基于大数据的高效实时电子地图围栏实现 - Google Patents
基于大数据的高效实时电子地图围栏实现 Download PDFInfo
- Publication number
- CN106484752A CN106484752A CN201610354385.0A CN201610354385A CN106484752A CN 106484752 A CN106484752 A CN 106484752A CN 201610354385 A CN201610354385 A CN 201610354385A CN 106484752 A CN106484752 A CN 106484752A
- Authority
- CN
- China
- Prior art keywords
- fence
- information
- electronic chart
- user terminal
- big data
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明采用大数据的架构实现高效实时电子地图围栏信息的分布式存储以及采用分布式计算搜索电子地图围栏信息并触发用户终端进入或退出电子地图消息。其包括以下步骤:当在该系统添加至电子地图围栏信息时,该电子围栏信息存储在分布式存储部件Hadoop并为该电子地图围栏信息添加索引;当系统的消息队列接收用户终端位置信息时,位置信息递交至分布式计算部件Spark处理和分布式存储部件Hadoop进行信息备份;当分布式计算部件Spark接收用户终端位置信息,将快速搜索该用户周围的电子地图围栏信息并生成相应的临时文件;当系统检测当某用户终端进入或退出某电子地图围栏,将触发相应的消息发送至该用户终端。
Description
技术领域
本发明涉及大数据、云计算以及位置服务领域,具体而言涉及一种基于大数据的高效实时可后台管理的电子地图围栏实现方法。
背景技术
在位置服务系统中,电子地图围栏是个相当重要的功能,即在在线地图或GIS地图上划定一个特定区域,该区域形状往往是圆形、矩形、三角形以及多边形,当系统录入的用户终端进入或退出该区域,系统将产生并推送各类消息。
电子地图围栏是应用极为广泛的功能,包括重要物件保存、老人小孩防丢失、危化品管理、防空防暴、电子导游。
目前大部分位置系统电子地图围栏主要是以离线方式存储在终端上,若电子地图围栏信息变更,则需要用户主动下载电子地图围栏信息,往往都是通过更新离线地图时附带下载电子地图围栏信息。
电子地图围栏更新往往即依赖信息提供者定时发布电子围栏信息,也依赖用户主动或被动下载。
这种数据更新方式效率低下,实时性低下,用户体验差,往往更新一两条告警信息或提示信息需要下载整个区域的电子地图围栏信息。另外,信息更新依赖用户的主动或被动下载,这将导致系统还需要监控用户的下载行为,确认哪些用户没更新,提高了位置服务系统开发成本。
导致电子地图围栏采用上述方式原因主要是受限于传统关系数据库技术。位置服务系统存储的电子地图围栏信息高达十几万行,而一个用户进入或退出电子地图围栏区域,系统就需要在这十几万行数据中进行大规模查询,极大消耗服务器的性能,若用户数成千上万的时候,这个位置服务系统将会崩溃。
而目前大数据计算大规模数据快速处理能力,是可以实现后台可控的实时高效电子地图围栏功能。
另外,大数据还具备数据深度加工功能,通过大数据的分析可以扩展电子地图围栏功能,提升数据的价值,如某个区域某个时段用户进入较多,可以实现对该区域的精准销售。
因此大数据方式实现电子地图围栏较传统数据库有巨大优势。
发明内容
本发明目的在于提供基于大数据的高效电子地图围栏实现方法,利用该技术不但可以让通过后台实现高效实时电子地图围栏,还可以充分发挥电子地图围栏数据的价值。
为达成上述目的,本发明所采用的技术方案如下:
本发明采用大数据的架构实现电子地图围栏信息的分布式存储以及采用分布式计算搜索电子地图围栏信息并触发用户终端进入或退出电子地图消息。
如图1所示本发明的大数据平台包括如下部分:
l MQ: 即为消息队列部件,用于接收终端通过互联网上报的位置信息。
l Spring框架WEB系统:主要作用是提供人机交互的界面,即可以通过WEB界面设置管理电子地图围栏信息,也可以通过界面查询各终端进出电子围栏情况。
l 传统数据库:即传统的关系数据库,一般为MySQL和Oralce,主要考虑到部分位置服务系统的数据仍采用传统数据库方式,因此采用本专利仍采用传统数据库是方便传统的位置服务系统向大数据迁移。
l Hadoop:分布式存储部件。主要作用是对大数据进行分布式存储,是系统的核心存储部件。
l Spark:分布式计算部件。用于对用户终端信息和电子地图围栏信息进行各类计算。
l OpenStack:主要作用将计算器群虚拟化成多个可弹性的虚拟主机,通过虚拟化计算机群可以避免一两个主机宕机而造成系统不能使用。
具体包括如下步骤:
步骤1 制作电子地图围栏。系统接收并存储电子地图围栏信息,同时对该电子地图围栏信息建立索引。
步骤2接收位置信息。用户通过移动互联网向系统上报位置信息,系统的接收用户终端发过来的位置信息。
步骤3 快速搜索电子地图围栏。当系统接收用户上报的电子地图围栏信息,系统通过已建立的电子地图围栏信息索引对该用户附近的电子地图围栏进行快速查找。
步骤4 触发消息。当系统监测到用户存在进入或退出电子地图围栏行为,将发送消息至该终端。
其中,其中信息存储和信息处理都在大数据系统上进行。
为方便数据查找电子地图围栏信息,本专利采用建立索引快速查找数据库。
在分布式存储部件Hadoop中存储用户上报位置信息文本和电子围栏区域信息文本,并生成文件存储离用户较近的电子围栏。
本发明具有以下有益效果:
1)本发明通过大数据处理的方式实现后台可实时管理的高效电子地图围栏,提升了位置服务系统的效率和灵活性,不再需要频繁的向终端发布更新电子围栏信息,减少位置服务系统维护成本。
2本发明通过大数据处理的方式避免了用户终端频繁更新电子围栏信息,完全是通过后台“保姆式”的服务,增加了用户体验。同时也减少了用户终端性能的开销,降低了用户终端采购成本。
本发明通过大数据处理方式,使系统对电子围栏位置数据进行深加工成为可能,提升了系统将数据转换成金钱的能力,为系统运营商增加收入提供了更多的渠道。
附图说明
图1系统架构图。
图2区域分隔图。
图3区域索引模板。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
本实施例中,如图1所示,大数据平台如下部分:
MQ: 即为系统的消息队列部件,用于接收终端通过互联网上报的位置信息。
Spring框架WEB系统:主要作用是提供人机交互的界面,即可以通过WEB界面设置管理电子地图围栏信息,也可以通过界面查询各终端进出电子围栏情况。
传统数据库:即传统的关系数据库,一般为MySQL和Oralce,主要考虑到部分位置服务系统的数据仍采用传统数据库方式,因此采用本专利仍采用传统数据库是方便传统的位置服务系统向大数据迁移。
Hadoop:分布式存储部件。主要作用是对大数据进行分布式存储,是系统的核心存储部件。
Spark:分布式计算部件。用于对用户终端信息和电子地图围栏信息计算。
OpenStack:主要作用将计算器群虚拟化成多个可弹性的虚拟主机,通过虚拟化计算机群可以避免一两个主机宕机而造成系统不能使用。
在本实施例中,电子地图围栏区域信息存储具体步骤如下:
步骤1 用户通过Spring框架的WEB系统进行人机交互添加电子地图围栏信息。
步骤2 系统将电子地图围栏信息存储在分布式存储部件Hadoop上。
步骤3 系统通过分布式计算部件Spark为新添加的电子地图围栏信息添加索引。
其中,电子围栏区域信息按一定格式存储。在实际使用中,电子围栏信息格式可在本发明格式基础上进行扩展。
圆形电子围栏区域信息存储格式:
围栏编号 (圆心坐标) 半径形状类型(填写圆形)存入时间
圆形电子围栏区域信息存储样例:
113(217.3,226.5) 5 圆形 2015072432
三角形、矩形及多边形区域存储格式:
围栏编号 (顶点1坐标)(顶点2坐标)(顶点3坐标)…形状类型存入时间
围栏编号是用来标识围栏信息且不重复的数字。区域形状有几个顶点,就填写几个顶点坐标。应注意顶点顺序,区域是按照顶点填写顺序依次连线形成。
如三角形电子围栏区域信息存储样例:
273(213.5,213.6)(188,6,188,9)(230.8,230.9) 三角形 2015072433
本发明的坐标举例默认是经度东经,纬度是北纬。
其中,为方便电子围栏区域快速搜索,需要对电子地图区域信息制作索引。
本实施例中,系统通过R树生成索引。
即开始划定一大片区域,如中国区域,该区域做为树的根结点,其中坐标范围为区域对角线坐标即左上角坐标(a,b),右下角坐标(c,d),即矩阵坐标范围为经度(a~c),维度(b~d)。平均将矩阵分为四个子区域分别是R1、R2、R3、R4,如图2所示,将这四个子区域分别作为顶点四个叶子结点,划分的子区域仍将继续划分,如图2所示R1区域被平均划分R5、R6、R7、R8, R1平均划分的四个区域作为R1的也子节点,依次类推区域矩阵不断划分,最终区域矩阵精度范围在数公里以内并形成图3所示区域索引模版树。
其中索引树结点数据结构如下:
struct Node
{
Node *left;//指向左结点
Node *cleft;//指向左中结点
Node *right;//指向右结点
Node *cright;//指向右中结点
int addr[200]; //指向弟子地图围栏信息
}
当系统添加电子围栏区域时,通过上述索引树对新添加的电子地图围栏数据建立索引。具体算法如下:
while(电子地图围栏在该区域范围内或结点无子结点)
{
1)该区域节点指向该电子地图围栏
2)依次判断电子围栏是否在该区域的四个子区域
}
如上述算法,假设某新添加的电子围栏区域属于R1区域,具体算法过程示例如下:
步骤1读取电子地图围栏的坐标范围。
步骤2 计算电子围栏区域所属范围,如图3所示,判断电子围栏位置属于R1、R2、R3、R4中其中一个区域,若都不属于,则根结点区域R指向该电子地图围栏区域。
步骤3 若假设电子围栏区域在R1区域范围内,则继续判断电子围栏区域是否所属R5、R6、R7、R8其中一个区域,若不属于其中任一一块区域,R1结点指向该电子围栏区域。
步骤4 若假设电子围栏区域在R5范围内,且R5没有根叶子结点,则R5结点指向该电子围栏区域。
电子地图围栏信息索引树也可以加载中在内存中运行,进一步加快系统使用效率。
在本实施例中,提供接收位置信息的方法。
为避免多个终端同时提交位置信息导致信息丢失,本发明采用消息队列机制对位置信息进行接收和下发。具体步骤如下:
步骤1系统的消息队列部件MQ接收移动终端的位置信息
步骤2 系统的消息队列部件MQ将位置信息加入消息队列。
步骤3 消息队列部件MQ将位置消息按接收时间的先后顺序将消息递交至系统的分布式计算部件Spark进行处理,并同时递交至分布式存储部件Hadoop进行用户终端位置信息备份。
消息队列算法属于通用算法本文不多做阐述。
在本实施例中,系统快速搜索某用户周围的电子地图围栏信息。具体方法如下。
步骤1 分布式计算部件Spark接收MQ部件递交的用户位置信息。
步骤2 系统针对该用户位置信息快速搜索该用户附近所有的电子地图围栏信息并将该信息存入临时文件。
其中,快速搜索电子围栏区域是基于电子地图围栏区域索引实现的。
当分布式计算部件Spark接收到用户位置信息时,通过电子地图围栏信息的索引快速搜索到用户附近的电子地图围栏信息。即通过上述的R树搜索用户位置所属的最小子区域,搜索该子区域以及临近子区域的所有电子地图围栏信息,并计算用户位置与已搜索到的电子地图围栏距离,过滤较远的电子地图围栏区域后获取该用户位置周围的电子地图围栏信息列表。
具体算法如下(以获取离用户位置距离5公里以内的电子地图围栏信息为例):
while(结点无叶子结点)
{
1)计算结点指向的电子地图围栏区域与用户位置的距离,若小于5公里记录电子地图围栏信息。
2)搜索用户位置所属划分的子区域,指向该区域叶子结点。
}
3)计算该叶子结点左右相邻叶子结点所指向电子地图围栏区域与用户位置的距离,若小于5公里记录电子地图围栏信息
以图3索引树为例,获取范围5公里内的电子地图围栏信息,具体步骤示例如下。
步骤1 检测根节点是否指向电子地图围栏区域信息。若存在,计算目标用户与电子围栏距离,小于5公里记录该电子地图围栏区域信息。
步骤2 检测目标用户所属区域,即判断目标用户位置所属R1、R2、R3、R4中的哪一块区域。
步骤3 假设用户位置属于R1区域,检测R1区域所指向的电子地图围栏区域,计算目标用户与电子围栏距离,若小于5公里记录该电子地图围栏区域信息。
步骤4 进一步检测目标用户位置所属R1的子区域R5、R6、R7、R8中的其中一块区域。
步骤5 假设用户位置属于R5,检测R5区域所指向电子地图围栏区域,计算目标用户与电子围栏距离,若小于5公里记录该电子地图围栏区域信息。
步骤6 检测R5临近区域R6所指向电子地图围栏区域,计算目标用户与电子围栏距离,若小于5公里记录该电子地图围栏区域信息。
计算某坐标点与某区域的距离算法属于通用算法,本文不多做阐述。
本实施例中,系统可以根据用户进出电子地图围栏行为触发消息。具体步骤如下:
步骤1 当分布式计算部件Spark实时计算检测某用户终端上一时刻在某区域内,下一时刻在某区域外或上一时刻在某区域外,下一时刻在某区域内。
步骤2 产生相应的消息提交至消息队列MQ。
步骤3 消息队列MQ按消息提交时间的先后顺序通过移动互联网发送至相应的移动终端。
步骤4 用户通过Spring框架的WEB页面可以直观的查看各个用户触发电子地图围栏的详细信息。
监测某坐标点进出某区域算法属于通用算法,本文不多做阐述。
Claims (4)
1.基于大数据的高效实时电子地图围栏实现,特征在于,采用大数据的架构实现电子地图围栏信息的分布式存储以及采用分布式计算搜索电子地图围栏信息并触发用户终端进入或退出电子地图消息;当在该系统添加至电子地图围栏信息时,该电子围栏信息存储在分布式存储部件Hadoop并为该电子地图围栏信息添加索引;当系统的消息队列接收用户终端位置信息时,位置信息递交至分布式计算部件Spark处理和分布式存储部件Hadoop进行信息备份;当分布式计算部件Spark接收用户终端位置信息,将快速搜索该用户周围的电子地图围栏信息并生成相应的临时文件;当系统检测当某用户终端进入或退出某电子地图围栏,将触发相应的消息发送至该用户终端。
2.根据权利要求1所述支撑电子地图围栏信息的大数据架构,其特征在于专门针对电子地图围栏信息的存储与读取的实时高效的以及数据迁移需求;大数据平台包括如下部分:MQ: 即为消息队列部件,用于接收的位置信息;Spring框架WEB系统:主要作用是提供人机交互的界面,即可以通过WEB界面设置管理电子地图围栏信息,也可以通过界面查询各终端进出电子围栏情况;传统数据库:即传统的关系数据库,一般为MySQL和Oralce,主要考虑到部分位置服务系统的数据仍采用传统数据库方式,因此采用本专利仍采用传统数据库是方便传统的位置服务系统向大数据迁移;Hadoop:分布式存储部件,主要作用是对大数据进行分布式存储,是系统的核心存储部件;Spark:分布式计算部件,用于对用户终端信息和电子地图围栏信息计;OpenStack:主要作用将计算器群虚拟成多个可弹性的虚拟主机,通过虚拟化计算机群可以避免一两个主机宕机而造成系统不能使用。
3.根据权利要求1所述添加电子地图围栏信息索引,其特征在于系统通过R树将电子地图围栏信息指向该围栏所在范围几公里的区域;即将一块大的区域平均分解4块子区域,在将各个子区域平均分解成范围更小的16块子区域,依次类推,最终获得范围大致在数公里内的若干子区域,区域与子区域间采用树形表示;当系统添加电子围栏区域信息时,通过对上述R树的搜索将电子围栏所在范围几公里的最小子区域指向该电子地图围栏,形成电子地图围栏索引。
4.根据权利要求1所述快速搜索该用户周围的电子地图围栏信息,其特征在于当分布式计算部件Spark接收到用户位置信息时,通过电子地图围栏信息的R树索引快速搜索到用户附近的电子地图围栏信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610354385.0A CN106484752A (zh) | 2016-05-25 | 2016-05-25 | 基于大数据的高效实时电子地图围栏实现 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610354385.0A CN106484752A (zh) | 2016-05-25 | 2016-05-25 | 基于大数据的高效实时电子地图围栏实现 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106484752A true CN106484752A (zh) | 2017-03-08 |
Family
ID=58238149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610354385.0A Pending CN106484752A (zh) | 2016-05-25 | 2016-05-25 | 基于大数据的高效实时电子地图围栏实现 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106484752A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106961670A (zh) * | 2017-05-02 | 2017-07-18 | 千寻位置网络有限公司 | 基于分布式架构的地理围栏系统及工作方法 |
CN108346282A (zh) * | 2018-04-20 | 2018-07-31 | 杭州骑迹科技有限公司 | 共享单车的停车监控方法、计算设备及存储介质 |
CN108648294A (zh) * | 2018-04-18 | 2018-10-12 | 中建八局第建设有限公司 | 一种线性工程劳务监管系统 |
CN108965401A (zh) * | 2018-06-25 | 2018-12-07 | 千寻位置网络有限公司 | 支持水平扩展的地理围栏系统及工作方法 |
CN111614836A (zh) * | 2020-05-21 | 2020-09-01 | 斑马网络技术有限公司 | 基于车机终端屏保的互动方法 |
CN112712690A (zh) * | 2019-10-24 | 2021-04-27 | 浙江大搜车软件技术有限公司 | 车辆电子围栏方法、装置、电子设备 |
-
2016
- 2016-05-25 CN CN201610354385.0A patent/CN106484752A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106961670A (zh) * | 2017-05-02 | 2017-07-18 | 千寻位置网络有限公司 | 基于分布式架构的地理围栏系统及工作方法 |
CN106961670B (zh) * | 2017-05-02 | 2019-03-12 | 千寻位置网络有限公司 | 基于分布式架构的地理围栏系统及工作方法 |
CN108648294A (zh) * | 2018-04-18 | 2018-10-12 | 中建八局第建设有限公司 | 一种线性工程劳务监管系统 |
CN108346282A (zh) * | 2018-04-20 | 2018-07-31 | 杭州骑迹科技有限公司 | 共享单车的停车监控方法、计算设备及存储介质 |
CN108346282B (zh) * | 2018-04-20 | 2020-11-06 | 杭州骑迹科技有限公司 | 共享单车的停车监控方法、计算设备及存储介质 |
CN108965401A (zh) * | 2018-06-25 | 2018-12-07 | 千寻位置网络有限公司 | 支持水平扩展的地理围栏系统及工作方法 |
CN112712690A (zh) * | 2019-10-24 | 2021-04-27 | 浙江大搜车软件技术有限公司 | 车辆电子围栏方法、装置、电子设备 |
CN112712690B (zh) * | 2019-10-24 | 2022-09-30 | 浙江大搜车软件技术有限公司 | 车辆电子围栏方法、装置、电子设备 |
CN111614836A (zh) * | 2020-05-21 | 2020-09-01 | 斑马网络技术有限公司 | 基于车机终端屏保的互动方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106484752A (zh) | 基于大数据的高效实时电子地图围栏实现 | |
CN104050196B (zh) | 一种兴趣点数据冗余检测方法及装置 | |
CN103218435B (zh) | 一种中文文本数据聚类方法及系统 | |
CN103514243A (zh) | 时空数据管理系统、时空数据管理方法及其程序 | |
JP6713238B2 (ja) | 電子装置、小売店舗評価モデルを構築する方法、システム及び記憶媒体 | |
CN102880719A (zh) | 基于位置社交网络的用户轨迹相似性挖掘方法 | |
JP2019512764A (ja) | ユーザ地理的ロケーションのタイプを識別するための方法および装置 | |
CN102521364B (zh) | 一种图上两点间最短路径查询方法 | |
CN104915334A (zh) | 一种基于语义分析的招投标项目关键信息自动化提取方法 | |
CN104035954A (zh) | 一种基于Hadoop的套牌车识别方法 | |
CN106210163B (zh) | 基于ip地址的定位方法及装置 | |
WO2017063531A1 (zh) | 一种基于地址信息的账户映射方法及装置 | |
CN108806254B (zh) | 城市交通走廊的识别方法、装置及计算机可读存储介质 | |
CN108600172A (zh) | 撞库攻击检测方法、装置、设备及计算机可读存储介质 | |
CN109635063A (zh) | 地址库的信息处理方法、装置、电子设备和存储介质 | |
CN107122415A (zh) | 地名地址库数据融合集成的系统 | |
CN116401417A (zh) | 一种基于海量农产品数据的分级存储方法 | |
CN105242873B (zh) | 云计算系统的性能数据的采集与存储方法及装置 | |
CN106980029B (zh) | 车辆超速判断方法及其系统 | |
Zhao et al. | Extracting and classifying typhoon disaster information based on volunteered geographic information from Chinese Sina microblog | |
CN110659320A (zh) | 一种职住地分布的解析方法、解析装置及可读存储介质 | |
CN111338805B (zh) | 架空输电线路激光雷达点云数据并行分析处理方法与系统 | |
CN111314102A (zh) | 群组识别方法、装置、电子设备及计算机可读存储介质 | |
CN104899935B (zh) | 手机考勤点名自动控制统计系统 | |
CN104581633B (zh) | 支持隐私保护的障碍空间内的区域最近邻查询系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170308 |
|
WD01 | Invention patent application deemed withdrawn after publication |