CN109408501B - 一种位置数据的处理方法、装置、服务器及存储介质 - Google Patents
一种位置数据的处理方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN109408501B CN109408501B CN201811317436.8A CN201811317436A CN109408501B CN 109408501 B CN109408501 B CN 109408501B CN 201811317436 A CN201811317436 A CN 201811317436A CN 109408501 B CN109408501 B CN 109408501B
- Authority
- CN
- China
- Prior art keywords
- data
- position data
- digital identifier
- database
- same
- 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
Abstract
本发明公开了一种位置数据的处理方法、装置、服务器及存储介质。该方法包括:获取当前位置数据,所述当前位置数据包括位置和时间戳;根据所述时间戳计算所述当前位置数据的数字标识;如果所述位置与数据库中历史位置数据的位置相同,并且所述数字标识与数据库中历史位置数据的数字标识相同,则将当前位置数据的时间戳覆盖历史位置数据的时间戳。通过上述技术方案,实现了以较低的数据量实时记录位置数据的变化,提高位置数据的处理效率。
Description
技术领域
本发明实施例涉及大数据技术领域,尤其涉及一种位置数据的处理方法、装置、服务器及存储介质。
背景技术
在当今的移动互联网时代,智能手机、平板电脑等移动终端的应用越来越广泛,已经成为人们生活和工作中必不可少的通讯工具,为了全面管理移动终端的信息、保证移动终端的使用安全,需要通过基站采集移动终端的位置数据,对其进行定位或位置轨迹分析。通常情况下,基站与移动终端的交互在秒级,一个移动终端每天会产生大量的数据,需要占用很大的存储空间,并且很多数据都是重复的、无意义的。为此,需要对移动终端的位置数据进行压缩处理。
目前,对于移动终端位置数据的压缩处理方法为:使用Spark或MapReduce集群技术,将海量数据按照时间进行排序,将若干连续的基站和移动终端的数据合并为一条。此方法的实时性较差,需要积攒一定时间的数据才能进行去重或压缩处理,如果积攒时间太短,位置数据变化小,会导致处理后仍有许多重复或相近的数据;如果积攒时间太长,去重过程会执行很长时间,集群处理数据的压力大,并且会导致处理数据的时间延迟大,造成位置数据严重失真,无法跟踪到详细的位置轨迹。
发明内容
本发明提供了一种位置数据的处理方法、装置、服务器及存储介质,以实现以较低的数据量实时记录位置数据的变化,提高位置数据的处理效率。
第一方面,本发明实施例提供了一种位置数据的处理方法,包括:
获取当前位置数据,所述当前位置数据包括位置和时间戳;
根据所述时间戳计算所述当前位置数据的数字标识;
如果所述位置与数据库中历史位置数据的位置相同,且,所述数字标识与数据库中历史位置数据的数字标识相同,则将当前位置数据的时间戳覆盖历史位置数据的时间戳。
进一步的,还包括:
如果所述位置与数据库中历史位置数据的位置不相同,或者,所述数字标识与数据库中历史位置数据的数字标识不相同,则将当前位置数据和所述数字标识写入所述数据库。
进一步的,所述获取当前位置数据,包括:
实时采集位置数据并存储至消息中间件;
采用流式计算框架从所述消息中间件中读取所述当前位置数据。
进一步的,所述根据所述时间戳计算所述当前位置数据的数字标识,包括:
设定转换参数;
将所述时间戳转换为以秒为单位的数值,所述数值对所述转换参数取余,得到余数值;
根据所述数值与所述余数值的差值生成数字标识。
进一步的,所述历史位置数据以数据表的形式存储在数据库中,所述数据表以日期为单位建立,所述数据表的行键值为所述位置,所述数据表的列中存储了所述历史位置数据的数字标识和对应的时间戳。
进一步的,所述位置包括:基站ID和移动终端ID。
第二方面,本发明实施例提供了一种位置数据的处理装置,包括:
数据获取模块,用于获取当前位置数据,所述当前位置数据包括位置和时间戳;
标识生成模块,用于根据所述时间戳计算所述当前位置数据的数字标识;
覆盖模块,用于如果所述位置与数据库中历史位置数据的位置相同,且,所述数字标识与数据库中历史位置数据的数字标识相同,则将当前位置数据的时间戳覆盖历史位置数据的时间戳。
进一步的,所述标识生成模块,包括:
配置单元,用于设定转换参数;
计算单元,用于将所述时间戳转换为以秒为单位的数值,所述数值对所述转换参数取余,得到余数值;
生成单元,用于根据所述数值与所述余数值的差值生成数字标识。
第三方面,本发明实施例提供了一种服务器,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的位置数据的处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的位置数据的处理方法。
本发明实施例提供了一种位置数据的处理方法、装置、服务器及存储介质。该方法包括:获取当前位置数据,所述当前位置数据包括位置和时间戳;根据所述时间戳计算所述当前位置数据的数字标识;如果所述位置与数据库中历史位置数据的位置相同,并且所述数字标识与数据库中历史位置数据的数字标识相同,则将当前位置数据的时间戳覆盖历史位置数据的时间戳。通过上述技术方案,实现了以较低的数据量实时记录位置数据的变化,提高位置数据的处理效率。
附图说明
图1为本发明实施例一提供的一种位置数据的处理方法的流程图;
图2为本发明实施例二提供的一种位置数据的处理方法的流程图;
图3为本发明实施例二提供的一种位置数据传输路径的示意图;
图4为本发明实施例三提供的一种位置数据的处理装置的结构示意图;
图5为本发明实施例四提供的一种服务器的硬件结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种位置数据的处理方法的流程图,本实施例可适用于对移动终端的位置数据进行实时压缩处理的情况。具体的,该位置数据的处理方法可以由位置数据的处理装置执行,该位置数据的处理装置可以通过软件和/或硬件的方式实现,并集成在服务器中。进一步的,服务器包括但不限定于:工业集成服务器、系统后台服务器以及云端服务器。
需要说明的是,本发明是基于Hadoop平台,支持海量数据的存储,同时使用流式计算框架Storm对位置数据进行逐条的流式处理。Storm作为实时的、分布式的以及具备高容错的流式计算系统,相比于对海量数据进行批处理的方式,不仅简化了数据流相关的并行编程的复杂度,也具有数据处理的实时性、可靠性和集群节点动态伸缩的特性。
参考图1,该方法具体包括如下步骤:
S110、获取当前位置数据,所述当前位置数据包括位置和时间戳。
具体的,服务器通过基站实时获取移动终端的当前位置数据,位置数据包括位置和时间戳,其中,位置可以为移动终端的ID(手机号)、该移动终端所处覆盖范围的基站ID、MAC地址等,用于表示移动终端所在的地理位置;时间戳指基站获取移动终端的位置数据的时间。在实际应用中,基站与移动终端的数据交互在秒级,因此一个移动终端每天会产生大量的位置数据。
示例性的,当前位置数据包括:移动终端ID:13812345678,基站ID:Jizhan1以及时间戳:2018/11/01 01:01:00。所述当前位置数据可表示ID号为13812345678的移动终端在当前时刻正位于Jizhan1的覆盖范围内。通过实时获取位置数据,可以记录移动终端实时的位置,形成位置轨迹,但由于数据量巨大,需要进行位置数据的压缩处理。
S120、根据所述时间戳计算所述当前位置数据的数字标识;
具体的,对时间戳按照一定的规则进行计算,得到当前位置数据对应的数字标识,该规则必须能够保证在移动终端的位置(移动终端ID和基站ID)未发生变化的一段时间内,根据时间戳计算出来的数字标识也相同,其达到的效果是,同一数字标识表示移动终端在对应的时间段内位于同一位置,而当移动终端的位置发生变化时,数字标识也必然会变化,从而使得每次移动终端的位置发生变化时都能够通过数字标识的变化及时记录。示例性的,表1为移动终端在一段时间内的位置数据及对应的数字标识。
移动终端ID | 基站ID | 时间戳 | 数字标识 |
13812345678 | Jizhan1 | 2018/09/01 01:01:00 | Colx |
13812345678 | Jizhan1 | 2018/09/01 01:02:00 | Colx |
13812345678 | Jizhan1 | 2018/09/01 01:03:00 | Colx |
13812345678 | Jizhan1 | 2018/09/01 01:04:00 | Colx |
13812345678 | Jizhan1 | 2018/09/01 01:05:00 | Coly |
13812345678 | Jizhan1 | 2018/09/01 01:06:00 | Coly |
13812345678 | Jizhan1 | 2018/09/01 01:07:00 | Coly |
13812345678 | Jizhan2 | 2018/09/01 01:07:00 | Colz |
表1移动终端在一段时间内的位置数据及对应的数字标识
如表1所示,该移动终端(13812345678)在2018/09/01 01:01:00至018/09/01 01:07:00这段时间内一直位于Jizhan1,而在2018/09/01 01:07:00的时刻其位置改变到了Jizhan2,因此,根据时间戳计算数字标识的规则必须满足:2018/09/01 01:01:00至018/09/01 01:07:00这段时间对应的数字标识相同(也可将这段时间再分为若干个时间段,各时间段内的时间戳对应的数字标识分别相同,如表1中,2018/09/01 01:01:00至2018/09/01 01:04:00为第一个时间段,对应的数字标识为Colx,2018/09/01 01:05:00至2018/09/01 01:07:00为第二个时间段,对应的数字标识为Coly,即从2018/09/01 01:00:00起,以5分钟为一个时间段进行划分,最后一个时间段可以不足5分钟),并且,该规则还要满足,2018/09/01 01:01:00至018/09/01 01:07:00这段时间对应的数字标识与2018/09/01 01:07:00对应的数字标识必须不同,以此来区分移动终端位置发生了变化。
需要说明的是,所述位置和数字标识之间是一对多的关系,即同一位置对应的数字标识可以有多个,如在Jizhan1对应的数字标识可能为Colx或Coly,但一个数字标识只能表示一个位置。按照这样的规则进行计算得到数字标识,能够保证当移动终端的位置发生改变时,数字标识也一定会改变,从而及时跟踪移动终端位置的变化,而对于同一数字标识,可以只保留靠后的、最新的时间戳作为当前位置数据,例如对于Colx,只保留2018/09/01 01:04:00时刻的位置数据,对于Coly,只保留2018/09/01 01:07:00时刻的位置数据,不保留除这些时刻以外的中间过程的位置数据,从而实现以较低的数据量实时记录移动终端的位置变化,达到了数据压缩的目的。
S130、如果所述位置与数据库中历史位置数据的位置相同,且,所述数字标识与数据库中历史位置数据的数字标识相同,则将当前位置数据的时间戳覆盖历史位置数据的时间戳。
具体的,历史位置数据保存在数据库中,且保存的时候包括了历史位置数据的位置、历史位置数据的时间戳和对应的计算得到的数字标识。如果所述位置与数据库中历史位置数据的位置相同,且,所述数字标识与数据库中历史位置数据的数字标识相同,说明该移动终端的位置没有发生变化,且同一数字标识之前已经对应了一个时间戳,那么当前位置数据的时间戳就是靠后的、最新的时间戳,需要保留,而之前的时间戳无需保留,因此,将当前位置数据的时间戳覆盖历史位置数据的时间戳。
示例性的,表2为数据库中存储的历史位置数据及对应的数字标识。
移动终端ID | 基站ID | 时间戳 | 数字标识 |
13812345678 | Jizhan1 | 2018/09/01 01:04:00 | Colx |
13812345678 | Jizhan1 | 2018/09/01 01:06:00 | Coly |
表2数据库中存储的历史位置数据及对应的数字标识
如果当前位置数据为:位置为移动终端ID(13812345678)、基站ID(Jizhan1),时间戳为2018/09/01 01:07:00,根据时间戳计算得到的数字标识为Coly,则所述位置与数据库中历史位置数据的位置相同,且,所述数字标识与数据库中历史位置数据的数字标识相同,则将当前位置数据的时间戳覆盖历史位置数据的时间戳。表3为当前位置数据的时间戳覆盖历史位置数据的时间戳的结果。
移动终端ID | 基站ID | 时间戳 | 数字标识 |
13812345678 | Jizhan1 | 2018/09/01 01:04:00 | Colx |
13812345678 | Jizhan1 | 2018/09/01 01:07:00 | Coly |
表3当前位置数据的时间戳覆盖历史位置数据的时间戳的结果
如表3所示,对应于同一位置(13812345678、Jizhan1)和数字标识(Coly),当前位置数据的时间戳2018/09/01 01:07:00覆盖了历史位置数据的时间戳2018/09/01 01:06:00。通过将当前位置数据的时间戳覆盖历史位置数据的时间戳,一方面实现了对于同一位置和同一数字标识实时更新到最新的时间戳,保证对于一段时间内的同一位置只保留一条最新的位置数据,另一方面,采用覆盖的方式可以节省数据占用的存储空间,达到数据压缩的目的,以较低的数据量即可实现移动终端位置数据的记录。
进一步的,如果所述位置与数据库中历史位置数据的位置不相同,或者,所述数字标识与数据库中历史位置数据的数字标识不相同,则将当前位置数据和所述数字标识写入所述数据库。
具体的,如果所述位置与数据库中历史位置数据的位置不相同,或者,所述数字标识与数据库中历史位置数据的数字标识不相同,说明移动终端的位置发生变化,或者数字标识发生变化,则当前位置数据对于记录移动终端的位置轨迹是有意义的,此时,将当前位置数据和所述数字标识写入所述数据库,不进行覆盖的操作,避免错过重要的信息。
示例性的,在表3的基础上继续获取当前位置数据,如果当前位置数据为:位置为移动终端ID(13812345678)、基站ID(Jizhan2),时间戳为2018/09/01 01:07:00,根据时间戳计算得到的数字标识为Colz,其位置和数字标识都与历史位置数据所存储的内容不同,则将当前位置数据和所述数字标识写入所述数据库。表4为将当前位置数据写入数据库的结果。
移动终端ID | 基站ID | 时间戳 | 数字标识 |
13812345678 | Jizhan1 | 2018/09/01 01:04:00 | Colx |
13812345678 | Jizhan1 | 2018/09/01 01:07:00 | Coly |
13812345678 | Jizhan2 | 2018/09/01 01:07:00 | Colz |
表4将当前位置数据写入数据库的结果
需要说明的是,如表3和表4所示,每当获取到当前位置数据,就计算一次数字标识,并根据位置和数字标识是否与数据库中历史位置数据存储的内容相同,将当前位置数据和所述数字标识覆盖或写入数据库中,可以保证对于同一位置和同一数字标识,只保留一条最新的有意义的数据,而对于位置或数字标识发生变化的数据及时写入数据库,可以避免错过关键的信息,从而实现以较低的数据量记录移动终端位置数据的变化,保证了位置数据的准确率,提高位置数据的处理效率。
本发明实施例一提供的一种位置数据的处理方法,通过获取当前位置数据,所述当前位置数据包括位置和时间戳;根据所述时间戳计算所述当前位置数据的数字标识;如果所述位置与数据库中历史位置数据的位置相同,并且所述数字标识与数据库中历史位置数据的数字标识相同,则将当前位置数据的时间戳覆盖历史位置数据的时间戳,实现了以较低的数据量实时记录位置数据的变化,提高位置数据的处理效率。
实施例二
图2为本发明实施例二提供的一种位置数据的处理方法的流程图,本实施例是在上述实施例的基础上,进行具体化。具体的,参考图2,该方法具体包括如下步骤:
S210、实时采集位置数据并存储至消息中间件;
具体的,基站实时采集移动终端的位置数据后,将其暂时缓存至消息中间件,便于服务器实时从中读取数据并逐条进行处理。其中,消息中间件可以为Kafka。Kafka是一种开源流处理平台,具有吞吐量高的特点,可用于处理动作流数据。本实施例是基于Hadoop平台,但不采取批量处理数据的方式,而是采用Kafka利用Hadoop的并行加载机制来统一线上和离线的消息处理,通过集群来实时地提供当前位置数据。
S220、采用流式计算框架从所述消息中间件中读取所述当前位置数据。
具体的,采用流式计算框架Storm从Kafka中实时地读取当前位置数据。其中,流式计算框架Storm可用于信息流处理(例如使用Storm处理新的数据和快速更新数据库)和连续性的计算,通过采用Storm可从Kafka中实时读取位置数据并进行计算,从而保证Kafka中的每条位置数据都会逐条得到快速的处理。
图3为本发明实施例二提供的一种位置数据传输路径的示意。参考图3,基站实时采集到的位置数据都缓存在Kafka中,采用Storm从Kafka中实时读取当前位置数据并进行逐条、快速的流式处理,处理后的位置数据存储在数据库Hbase中。
S230、设定转换参数;
具体的,在服务器的配置文件中设定转换参数,转换参数是指根据时间戳计算数字标识过程中的基准数值,可以理解为位置数据的时间间隔,表示一个移动终端在一个基站下,间隔多长时间更换一次数字标识,例如,设置为300(单位为秒),表示5分钟更换一次数字标识。转换参数的值越大,说明同一数字标识对应的时间段越长,由于同一数字标识只保留靠后的、最新的位置数据,因此数据的压缩率越高,这会导致移动终端的位置轨迹记录不详细、失真严重。在实际应用中,需要根据移动终端的移动趋势、基站的分布密度、覆盖范围大小等因素综合进行考虑,设定合适的转换参数,也可将其设置为可自适应调整的转换参数。本实施例中示例性地将转换参数设置为300。
S240、将所述时间戳转换为以秒为单位的数值,所述数值对所述转换参数取余,得到余数值。
具体的,将时间戳转换为以秒为单位的数值(与转换参数单位一致)。例如:获取到的当前位置数据的时间戳为:2018/09/01 01:01:00,将其中的时刻01:01:00转换为以秒为单位的数值:3660,用该数值对转换参数300取余,得到的余数值为60。
S250、根据所述数值与所述余数值的差值生成数字标识。
具体的,为所述数值与所述余数值的差值加上前缀或后缀作为数字标识。示例性的,所述数值为3660,余数值为60,所述数值与余数值的差值为:3660-3660%300=3600,在此差值前加固定前缀“Col”,以区分所得结果与数据库中存储的其他数字,最终得到的数字标识为:Col3600。
需要说明的是,根据时间戳计算数字表标识的方法不唯一,除了数值的单位、转换参数的数值大小、数字标识的表示方法可变以外,也可能存在其他的计算方式和公式,只要其满足上述实施例中所述的规则,即能够保证同一数字标识表示移动终端在对应的时间段内位于同一位置,而当移动终端的位置发生变化时,数字标识也必然会变化,所述位置和数字标识之间是一对多的关系即可。
S260、所述位置与数据库中历史位置数据的位置相同,且,所述数字标识与数据库中历史位置数据的数字标识相同。如果是,则执行步骤S270,如果否,则执行步骤S280。
S270、将当前位置数据的时间戳覆盖历史位置数据的时间戳。
具体的,如果所述位置与数据库中历史位置数据的位置相同,且,所述数字标识与数据库中历史位置数据的数字标识相同,说明该移动终端的位置没有发生变化,则将当前位置数据的时间戳覆盖历史位置数据的时间戳。需要说明的是,未在本实施例中相信描述的技术细节可参见上述任意实施例。
S280、将当前位置数据和所述数字标识写入所述数据库。
具体的,如果所述位置与数据库中历史位置数据的位置不相同,或者,所述数字标识与数据库中历史位置数据的数字标识不相同,说明位置有变化,或者数字标识有变化,此时,将当前位置数据和所述数字标识写入所述数据库。
进一步的,所述历史位置数据和所述数字标识以数据表的形式存储在数据库中,所述数据表以日期为单位建立,所述数据表的行键值为所述位置,所述数据表的列中存储了所述历史位置数据的数字标识和对应的时间戳。
具体的,历史位置数据以数据表的形式存储在数据库中,所述数据表以日期为单位建立,即为每一个日期都建立一个数据表,数据表的行键值为位置(移动终端ID和基站ID),列中存储数字标识和对应的时间戳,每次对当前位置数据进行处理后,将结果覆盖或写入到对应日期的表中。示例性的,对于日期2018/09/01建立一个数据表,该数据表的名称为data20180901,该数据表中的所有位置数据对应的都是2018/09/01当天的。表5为data20180901数据表。
表5 data20180901数据表
如表5所示,数据表的行键值为位置(移动终端ID和基站ID),列中存储了对应于该位置的数字标识和对应的时间戳。需要说明的是,由于该数据表是为日期2018/09/01建立的,因此存储数据时,可对原始的时间戳进行简化,即只存储时刻值即可,无需再存储日期。在此基础上,每次获得当前位置数据后,对其进行流式计算得到数字标识,如果当前位置数据的位置与数据表中已存储的位置相同,且,当前位置数据的数字标识与数据表中已存储的数字标识相同,则将当前位置数据的时间戳覆盖在数据表中对应位置,即同一位置、同一数字标识只保留靠后的、最新的时间戳,以达到对位置数据进行压缩处理的目的。如果当前位置数据的位置与数据表中已存储的位置不相同,或者,当前位置数据的数字标识与数据表中已存储的数字标识不相同,说明位置有变化,或者数字标识有变化,则当前位置数据对于记录移动终端的位置轨迹是有意义的,此时,将当前位置数据和所述数字标识写入所述数据表。
需要说明的是,采用上述数据表的形式存储位置数据,是基于Hbase数据库的宽列技术,即数据表依据行键值建立,列的数量是可变的,在建立数据表时不需要设定该数据表的列的数量,在需要写入新的数据时,数据表可自动增加列以存储新的数据;而当需要覆盖已存储的数据时,利用Hbase中相同rowkey写入相同列名的数据会自动覆盖的优势,可实现数据的自动去重,不但不会降低数据的入库效率,反而因为数据的合并,可以大大提高数据的查询性能,并且有效的降低数据的存储空间,节省大量资源。在本实施例中,在实时获取移动终端位置数据的过程中,将基站ID、移动终端ID、时间戳等关键信息提取出来,以基站ID和移动终端ID为rowkey,根据一定规则计算得到数字标识,并实时将数字标识(相当于Hbase中的列名)和对应的时间戳覆盖或写入到与rowkey对应的位置,以达到对数据进行压缩处理的目的。
进一步的,上述实施例中的表1中包含了移动终端在一段时间内的位置数据,如果将这些数据都存储会占用很大的存储空间,并且会存储许多无意义的数据;如果对这些数据等间隔合并,又可能错失重要的数据,造成位置轨迹失真。而通过本实施例的方法,对每一条数据进行流式计算得到数字标识,并依据位置和数字标识来覆盖或写入数据表,最终能够得到如表5所示的结果。移动终端的位置数据由原来的8条压缩为3条数据,去除了无意义的数据,节省存储空间,并且能够保证记录到移动终端所有发生变化的关键点,在所经位置轨迹不丢失的前提下,以较低的数据量实现了实时记录位置数据的变化,提高位置数据的处理效率。
进一步的,所述位置包括:基站ID和移动终端ID。
具体的,通过基站ID和移动终端ID可以表示移动终端所处的位置。所述位置也可以包括MAC地址等信息。
本发明实施例二提供的一种位置数据的处理方法,在上述实施例的基础上进行优化,通过实时采集位置数据并存储至消息中间件,采用流式计算框架从所述消息中间件中读取所述当前位置数据,实现了位置数据的实时计算和流式处理;通过根据时间戳计算当前位置数据的数字标识,并依据位置和数字标识将当前位置数据和所述数字标识覆盖或写入数据表中,实现了以较低的数据量实时记录位置数据的变化,提高位置数据的处理效率,并且能够保证记录准确的位置轨迹。
实施例三
图4为本发明实施例三提供的一种位置数据的处理装置的结构示意图。本实施例提供的位置数据的处理装置包括:
数据获取模块310,用于获取当前位置数据,所述当前位置数据包括位置和时间戳;
标识生成模块320,用于根据所述时间戳计算所述当前位置数据的数字标识;
覆盖模块330,用于如果所述位置与数据库中历史位置数据的位置相同,且,所述数字标识与数据库中历史位置数据的数字标识相同,则将当前位置数据的时间戳覆盖历史位置数据的时间戳。
本发明实施例四提供的一种位置数据的处理装置,通过数据获取模块获取当前位置数据,所述当前位置数据包括位置和时间戳;通过标识生成模块根据所述时间戳计算所述当前位置数据的数字标识;通过覆盖模块如果所述位置与数据库中历史位置数据的位置相同,并且所述数字标识与数据库中历史位置数据的数字标识相同,则将当前位置数据的时间戳覆盖历史位置数据的时间戳。通过上述技术方案,实现了以较低的数据量实时记录位置数据的变化,提高位置数据的处理效率。
在上述实施例的基础上,所述装置还包括:
写入模块,用于如果所述位置与数据库中历史位置数据的位置不相同,或者,所述数字标识与数据库中历史位置数据的数字标识不相同,则将当前位置数据和所述数字标识写入所述数据库。
进一步的,所述数据获取模块,包括:
缓存单元,用于实时采集位置数据并存储至消息中间件;
流式读取单元,用于采用流式计算框架从所述消息中间件中读取所述当前位置数据。
进一步的,所述标识生成模块320,包括:
配置单元,用于设定转换参数;
计算单元,用于将所述时间戳转换为以秒为单位的数值,所述数值对所述转换参数取余,得到余数值;
生成单元,用于根据所述数值与所述余数值的差值生成数字标识。
进一步的,所述历史位置数据以数据表的形式存储在数据库中,所述数据表以日期为单位建立,所述数据表的行键值为所述位置,所述数据表的列中存储了所述历史位置数据的数字标识和对应的时间戳。
进一步的,所述位置包括:基站ID和移动终端ID。
本发明实施例四提供的位置数据的处理装置可以用于执行上述任意实施例提供的位置数据的处理方法,具备相应的功能和有益效果。
实施例四
图5为本发明实施例四提供的一种服务器的硬件结构示意图。如图5所示,本实施例提供的一种服务器,包括:处理器410和存储装置420。该服务器中的处理器可以是一个或多个,图5中以一个处理器410为例,所述服务器中的处理器410和存储装置420可以通过总线或其他方式连接,图5中以通过总线连接为例。
所述一个或多个程序被所述一个或多个处理器410执行,使得所述一个或多个处理器实现上述实施例中任意所述的位置数据的处理方法。
该服务器中的存储装置420作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中位置数据的处理方法对应的程序指令/模块(例如,附图4所示的位置数据的处理装置中的模块,包括:数据获取模块310、标识生成模块320以及覆盖模块330)。处理器410通过运行存储在存储装置420中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的位置数据的处理方法。
存储装置420主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据服务器的使用所创建的数据等(如上述实施例中的位置、时间戳等)。此外,存储装置420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
并且,当上述服务器中所包括一个或者多个程序被所述一个或者多个处理器410执行时,程序进行如下操作:
获取当前位置数据,所述当前位置数据包括位置和时间戳;根据所述时间戳计算所述当前位置数据的数字标识;如果所述位置与数据库中历史位置数据的位置相同,且,所述数字标识与数据库中历史位置数据的数字标识相同,则将当前位置数据的时间戳覆盖历史位置数据的时间戳。
本实施例提出的设备与上述实施例提出的位置数据的处理方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述任意实施例,并且本实施例具备与执行位置数据的处理方法相同的有益效果。
在上述实施例的基础上,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被位置数据的处理装置执行时实现本发明上述任意实施例中的位置数据的处理方法,该方法包括:
获取当前位置数据,所述当前位置数据包括位置和时间戳;根据所述时间戳计算所述当前位置数据的数字标识;如果所述位置与数据库中历史位置数据的位置相同,且,所述数字标识与数据库中历史位置数据的数字标识相同,则将当前位置数据的时间戳覆盖历史位置数据的时间戳。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的位置数据的处理方法操作,还可以执行本发明任意实施例所提供的位置数据的处理方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的位置数据的处理方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种位置数据的处理方法,其特征在于,包括:
获取当前位置数据,所述当前位置数据包括位置和时间戳;
根据所述时间戳计算所述当前位置数据的数字标识,其中,所述数字标识满足:对于相同的位置,根据一段时间内相应的时间戳计算得到的数字标识也相同;对于不同的位置,根据相应的时间戳计算得到的数字标识也不同;
如果所述位置与数据库中历史位置数据的位置相同,且,所述数字标识与数据库中历史位置数据的数字标识相同,则将当前位置数据的时间戳覆盖历史位置数据的时间戳。
2.根据权利要求1所述的方法,其特征在于,还包括:
如果所述位置与数据库中历史位置数据的位置不相同,或者,所述数字标识与数据库中历史位置数据的数字标识不相同,则将当前位置数据和所述数字标识写入所述数据库。
3.根据权利要求1所述的方法,其特征在于,所述获取当前位置数据,包括:
实时采集位置数据并存储至消息中间件;
采用流式计算框架从所述消息中间件中读取所述当前位置数据。
4.根据权利要求1所述的方法,其特征在于,所述根据所述时间戳计算所述当前位置数据的数字标识,包括:
设定转换参数;
将所述时间戳转换为以秒为单位的数值,所述数值对所述转换参数取余,得到余数值;
根据所述数值与所述余数值的差值生成数字标识。
5.根据权利要求1所述的方法,其特征在于,所述历史位置数据以数据表的形式存储在数据库中,所述数据表以日期为单位建立,所述数据表的行键值为所述位置,所述数据表的列中存储了所述历史位置数据的数字标识和对应的时间戳。
6.根据权利要求1所述的方法,其特征在于,所述位置包括:基站ID和移动终端ID。
7.一种位置数据的处理装置,其特征在于,包括:
数据获取模块,用于获取当前位置数据,所述当前位置数据包括位置和时间戳;
标识生成模块,用于根据所述时间戳计算所述当前位置数据的数字标识,其中,所述数字标识满足:对于相同的位置,根据一段时间内相应的时间戳计算得到的数字标识也相同;对于不同的位置,根据相应的时间戳计算得到的数字标识也不同;
覆盖模块,用于如果所述位置与数据库中历史位置数据的位置相同,且,所述数字标识与数据库中历史位置数据的数字标识相同,则将当前位置数据的时间戳覆盖历史位置数据的时间戳。
8.根据权利要求7所述的装置,其特征在于,所述标识生成模块,包括:
配置单元,用于设定转换参数;
计算单元,用于将所述时间戳转换为以秒为单位的数值,所述数值对所述转换参数取余,得到余数值;
生成单元,用于根据所述数值与所述余数值的差值生成数字标识。
9.一种服务器,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的位置数据的处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的位置数据的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811317436.8A CN109408501B (zh) | 2018-11-07 | 2018-11-07 | 一种位置数据的处理方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811317436.8A CN109408501B (zh) | 2018-11-07 | 2018-11-07 | 一种位置数据的处理方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109408501A CN109408501A (zh) | 2019-03-01 |
CN109408501B true CN109408501B (zh) | 2020-12-29 |
Family
ID=65471769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811317436.8A Active CN109408501B (zh) | 2018-11-07 | 2018-11-07 | 一种位置数据的处理方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408501B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694801A (zh) * | 2019-03-14 | 2020-09-22 | 北京沃东天骏信息技术有限公司 | 一种应用于故障恢复的数据去重方法和装置 |
CN110209673B (zh) * | 2019-05-31 | 2022-01-28 | 四川长虹电器股份有限公司 | 定位数据存储、转换和查询方法 |
CN110457401B (zh) * | 2019-07-08 | 2022-11-08 | 南京苏宁软件技术有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN110879804A (zh) * | 2019-11-20 | 2020-03-13 | 珠海格力电器股份有限公司 | 一种流式定位数据处理方法、系统、处理装置及存储介质 |
CN111600774B (zh) * | 2020-05-13 | 2021-11-12 | 北京奇艺世纪科技有限公司 | 消费延迟确定方法、系统、装置、设备及可读存储介质 |
CN112489396B (zh) * | 2020-11-16 | 2022-12-16 | 中移雄安信息通信科技有限公司 | 一种行人尾随行为检测方法、装置、电子设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158798A (zh) * | 2011-01-27 | 2011-08-17 | 深圳市美赛达科技有限公司 | 驾驶数据统计方法、系统以及用于驾驶数据统计的终端 |
CN102595323A (zh) * | 2012-03-20 | 2012-07-18 | 北京交通发展研究中心 | 基于手机定位数据的居民出行特征参数的获取方法 |
CN103607463A (zh) * | 2013-11-25 | 2014-02-26 | 中国电信集团系统集成有限责任公司 | 定位数据存储系统和存储方法 |
CN104767534A (zh) * | 2014-12-30 | 2015-07-08 | 中移全通系统集成有限公司 | 一种误差可控的车辆轨迹点压缩存储方法及系统 |
CN106686523A (zh) * | 2015-11-06 | 2017-05-17 | 华为终端(东莞)有限公司 | 数据处理方法及装置 |
CN107193968A (zh) * | 2017-05-25 | 2017-09-22 | 努比亚技术有限公司 | 一种位置信息存储的方法、装置及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160259820A1 (en) * | 2015-03-04 | 2016-09-08 | Caterpillar Inc. | Systems and methods for processing non-similar data |
-
2018
- 2018-11-07 CN CN201811317436.8A patent/CN109408501B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158798A (zh) * | 2011-01-27 | 2011-08-17 | 深圳市美赛达科技有限公司 | 驾驶数据统计方法、系统以及用于驾驶数据统计的终端 |
CN102595323A (zh) * | 2012-03-20 | 2012-07-18 | 北京交通发展研究中心 | 基于手机定位数据的居民出行特征参数的获取方法 |
CN103607463A (zh) * | 2013-11-25 | 2014-02-26 | 中国电信集团系统集成有限责任公司 | 定位数据存储系统和存储方法 |
CN104767534A (zh) * | 2014-12-30 | 2015-07-08 | 中移全通系统集成有限公司 | 一种误差可控的车辆轨迹点压缩存储方法及系统 |
CN106686523A (zh) * | 2015-11-06 | 2017-05-17 | 华为终端(东莞)有限公司 | 数据处理方法及装置 |
CN107193968A (zh) * | 2017-05-25 | 2017-09-22 | 努比亚技术有限公司 | 一种位置信息存储的方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109408501A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109408501B (zh) | 一种位置数据的处理方法、装置、服务器及存储介质 | |
CN110321387B (zh) | 数据同步方法、设备及终端设备 | |
CN106940679B (zh) | 数据处理方法及装置 | |
CN109918349B (zh) | 日志处理方法、装置、存储介质和电子装置 | |
CN106777093B (zh) | 基于空间时序数据流应用的Skyline查询系统 | |
CN108900619B (zh) | 一种独立访客统计方法及装置 | |
CN110727727B (zh) | 一种数据库的统计方法及装置 | |
CN110213203B (zh) | 网络调度方法、装置及计算机存储介质 | |
CN113391973B (zh) | 一种物联网云容器日志收集方法及装置 | |
CN111949389B (zh) | 基于Slurm的信息采集方法和装置、服务器、计算机可读存储介质 | |
CN110955704A (zh) | 一种数据管理方法、装置、设备及存储介质 | |
US20240022876A1 (en) | Data processing method and apparatus, server, and computer-readable storage medium | |
CN105162622A (zh) | 一种存储方法和系统 | |
CN114398520A (zh) | 数据检索方法、系统、装置、电子设备及存储介质 | |
CN113468226A (zh) | 一种业务处理方法、装置、电子设备和存储介质 | |
CN111666260A (zh) | 数据处理方法及装置 | |
CN111082956B (zh) | 一种事件流处理方法、电子设备和可读存储介质 | |
CN110377757B (zh) | 一种实时知识图谱构建系统 | |
CN104811349A (zh) | 一种访问统计的方法和装置 | |
CN115576973B (zh) | 一种业务部署方法、装置、计算机设备和可读存储介质 | |
CN105095224A (zh) | 一种在移动通信网络中进行olap分析的方法、装置和系统 | |
CN116186053A (zh) | 一种数据处理方法、装置及存储介质 | |
CN112486676B (zh) | 一种基于边缘计算的数据共享分发装置 | |
CN114153714A (zh) | 基于日志信息的容量调整方法、装置、设备及存储介质 | |
CN109828968B (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 |