CN111274454B - 时空数据的处理方法、装置、电子设备和存储介质 - Google Patents
时空数据的处理方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN111274454B CN111274454B CN202010039271.3A CN202010039271A CN111274454B CN 111274454 B CN111274454 B CN 111274454B CN 202010039271 A CN202010039271 A CN 202010039271A CN 111274454 B CN111274454 B CN 111274454B
- Authority
- CN
- China
- Prior art keywords
- data
- space
- target
- storage
- time 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.)
- Active
Links
Images
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/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/909—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种时空数据的处理方法、装置、电子设备和存储介质,该方法包括:对多条时空数据中每条时空数据的经纬度信息进行编码,得到每条时空数据对应的第一编码数据;为每条时空数据对应的第一编码数据添加时间戳信息,得到每条时空数据对应的第二编码数据;对所述多条时空数据对应的所有第二编码数据进行排序,并根据排序结果生成多个第一存储文件;在未合并的所述第一存储文件的数量达到指定个数时,将所述未合并的所述第一存储文件合并为一个第二存储文件;对每个所述第二存储文件中的所有第二编码数据进行重新排序。以此能够改善传统的随机存储方式不便于对大量的时空数据进行管理的问题。
Description
技术领域
本申请涉及大数据处理技术领域,具体而言,涉及一种时空数据的处理方法、装置、电子设备和存储介质。
背景技术
时空数据是指同时具有时间、空间维度信息的数据,实际生活中产生的时空数据具有多源、海量、更新快的特点。而随着互联网的高速发展、智能设备的完善,产生的时空数据将越来越多。
在大数据环境下,传统的随机存储方式不便于对大量的时空数据进行管理。
发明内容
本申请实施例的目的在于提供一种时空数据的处理方法、装置、电子设备和存储介质,用以改善传统的随机存储方式不便于对大量的时空数据进行管理的问题。
第一方面,实施例提供一种时空数据的处理方法,所述方法包括:
对多条时空数据中每条时空数据的经纬度信息进行编码,得到每条时空数据对应的第一编码数据;
为每条时空数据对应的第一编码数据添加时间戳信息,得到每条时空数据对应的第二编码数据;
对所述多条时空数据对应的所有第二编码数据进行排序,并根据排序结果生成多个第一存储文件;
在未合并的所述第一存储文件的数量达到指定个数时,将所述未合并的所述第一存储文件合并为一个第二存储文件;
对每个所述第二存储文件中的所有第二编码数据进行重新排序。
通过上述方法,对于大量的时空数据,能够依据经纬度、时间戳进行编码,从而可以将得到的第二编码数据作为用于实现数据过滤的索引内容。当对这些第二编码数据进行排序并生成第一存储文件后,可以实现基于索引内容的序列划分,划分的内容即为每个第一存储文件中的内容。当包含大量第二编码数据的多个第一存储文件被合并为第二存储文件,并进行重新排序后,可以实现对于各个第一存储文件内的内容更新,从而使得每个第二存储文件内的各个第一存储文件之间也实现有序存储。由于对时空数据的索引内容进行了有序存储,可以较为方便地基于有序的索引内容对大量时空数据进行管理,有利于数据的快速加载。
在可选的实施方式中,所述对多条时空数据中每条时空数据的经纬度信息进行编码,得到每条时空数据对应的第一编码数据,包括:
将多条时空数据中的每条时空数据的经纬度信息映射为小区号,并对所述小区号进行编码,得到所述时空数据的第一编码数据。
通过上述实施方式,在存储过程中的编码阶段由于将经纬度信息映射为小区号并对小区号进行编码,有利于实现数据分类,在后续基于存储结果进行数据查询时能够快速得到所查询的数据的空间属性。
在可选的实施方式中,所述对所述多条时空数据对应的所有第二编码数据进行排序,并根据排序结果生成多个第一存储文件,包括:
对所述多条时空数据对应的所有第二编码数据进行排序,并根据排序结果以及预设的字节长度,对所述多条时空数据对应的所有第二编码数据进行打包,得到所述多条时空数据对应的多个第一存储文件。
通过上述实施方式,可以使得大量时空数据对应的每个第一存储文件中,各编码数据是按照第二编码数据的排序结果进行存储的,通过索引数据的有序存储能够实现时空数据特征的有序存储,便于后续查询。
在可选的实施方式中,所述对所述多条时空数据对应的所有第二编码数据进行排序,并根据排序结果以及预设的字节长度,对所述多条时空数据对应的所有第二编码数据进行打包,得到所述多条时空数据对应的多个第一存储文件,包括:
将所述多条时空数据对应的所有第二编码数据写入跳跃表;
每当所述跳跃表中的第二编码数据达到预设的字节长度时,将所述跳跃表中的第二编码数据打包生成一个所述第一存储文件,以得到所述多条时空数据对应的多个第一存储文件。
通过上述实施方式,基于跳跃表实现排序,能够快速对大量的第二编码数据进行处理,从而快速生成大量的第一存储文件。
在可选的实施方式中,所述方法还包括:
获取查询指令,所述查询指令中包括目标经纬度;
通过布隆过滤器判断多个第二存储文件中是否存在所述目标经纬度对应的目标编码数据;
当通过所述布隆过滤器判定所述多个第二存储文件中存在所述目标经纬度对应的目标编码数据时,从所述多个第二存储文件中获取所述目标编码数据;
根据所述目标编码数据得到与所述目标编码数据对应的时空数据,作为查询结果。
通过上述实施方式,对于用户输入经纬度信息后得到的查询指令,先根据查询指令中的目标经纬度先调用布隆过滤器判断出已存储的各个第二存储文件中是否存储用户所需的数据,能够在布隆过滤器判断出多个第二存储文件中存在目标经纬度对应的目标编码数据时,访问相应的第二存储文件,以从相应的第二存储文件中获取到目标编码数据。然后根据目标编码数据得到与该目标编码数据对应的时空数据,作为查询结果。以此可以避免无效访问,还能提升数据加载、查询效率。
在可选的实施方式中,所述从所述多个第二存储文件中获取所述目标编码数据,包括:
从所述多个第二存储文件中确定出所述目标经纬度对应的第二存储文件,作为目标存储文件;
根据所述目标存储文件中已存储的所有第二编码数据对应的排序结果,从所述目标存储文件中获取所述目标编码数据。
通过上述实施方式,由于同一目标存储文件中的编码内容相近,对于用户输入的目标经纬度有利于获取到批量的目标编码数据,例如,在根据经纬度信息进行查询时,上述方法有利于快速返回一定范围内的所有时间数据,从而有利于快速得到相关的时空数据。
第二方面,实施例提供一种时空数据的处理装置,所述装置包括:
编码模块,用于对多条时空数据中每条时空数据的经纬度信息进行编码,得到每条时空数据对应的第一编码数据;
所述编码模块,还用于为每条时空数据对应的第一编码数据添加时间戳信息,得到每条时空数据对应的第二编码数据;
处理模块,用于对所述多条时空数据对应的所有第二编码数据进行排序,并根据排序结果生成多个第一存储文件;
所述处理模块,还用于在未合并的所述第一存储文件的数量达到指定个数时,将所述未合并的所述第一存储文件合并为一个第二存储文件;
所述处理模块,还用于对每个所述第二存储文件中的所有第二编码数据进行重新排序。
通过上述装置可以执行前述第一方面提供的方法,可以较为方便地基于有序的索引内容对大量时空数据进行管理,有利于数据的快速加载,便于数据查询。
在可选的实施方式中,所述装置还包括:
获取模块,用于获取查询指令,所述查询指令中包括目标经纬度;
判断模块,用于通过布隆过滤器判断多个第二存储文件中是否存在所述目标经纬度对应的目标编码数据;
查询模块,用于在通过所述布隆过滤器判定所述多个第二存储文件中存在所述目标经纬度对应的目标编码数据时,从所述多个第二存储文件中获取所述目标编码数据;
所述查询模块,还用于根据所述目标编码数据得到与所述目标编码数据对应的时空数据,作为查询结果。
第三方面,实施例提供一种电子设备,包括:
存储器;
处理器;
所述存储器上存储有所述处理器可执行的计算机程序,所述计算机程序被所述处理器执行时执行前述第一方面提供的方法。
第四方面,实施例提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时执行前述第一方面提供的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种时空数据的处理方法的流程图。
图2为本申请实施例提供的一种时空数据的处理装置的功能模块框图。
图3为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
请参阅图1,图1为本申请实施例提供的一种时空数据的处理方法的流程图,该方法可应用于服务器,用于对大量的时空数据进行高效处理。
如图1所示,该方法包括步骤:S11-S15。
S11:对多条时空数据中每条时空数据的经纬度信息进行编码,得到每条时空数据对应的第一编码数据。
其中,在对时空数据的经纬度信息进行编码后可以将与实际地理位置有关的所有数据映射为对应的编码,避免数据遗漏。
作为一种实现方式,可将经纬度信息先映射到一条希尔伯特曲线上再进行编码。该希尔伯特曲线能够遍历正方形中所有的点,是一条连续而又不可导的曲线,以此映射方式可以避免遗漏经纬度信息。
S12:为每条时空数据对应的第一编码数据添加时间戳信息,得到每条时空数据对应的第二编码数据。
作为一种实现方式,可以将时空数据本身携带的时间信息作为时间戳信息,以进行高效编码存储。
作为另一种实现方式,也可以将根据时空数据携带的时间信息进行时间换算后得到的时间信息作为时间戳信息,以进行编码存储,以此可以使得多种时空数据能够以统一的时间戳格式进行编码,能够将编码格式统一化,利于对不同种类(不同经纬度范围下的不同时区等)时空数据进行处理。
作为再一种实现方式,可以将按照用户自定义规则生成的时间信息作为时间戳信息进行添加。
S13:对所述多条时空数据对应的所有第二编码数据进行排序,并根据排序结果生成多个第一存储文件。
其中,在对各个第二编码数据进行排序后,对于有序排列的各个第二编码数据,可以将多个第二编码数据打包生成一个第一存储文件。在第二编码数据的数量非常大的情况下(例如过万、过亿的数据量),可以为大量的时空数据生成多个第一存储文件。
S14:在未合并的所述第一存储文件的数量达到指定个数时,将所述未合并的所述第一存储文件合并为一个第二存储文件。
其中,可以定期对未合并的第一存储文件进行数量检测,当未合并的第一存储文件的数量达到指定个数时,按照该指定个数对未合并的各个第一存储文件进行合并。对于批量的时空数据可以生成多个第二存储文件。
本领域技术人员可以根据实际需要对指定个数进行设置,例如指定个数可以是512、1024、3000、5000等。
S15:对每个所述第二存储文件中的所有第二编码数据进行重新排序。
其中,在S13的排序基础上,各个第一存储文件内的编码已经是有序的,当多个第一存储文件在S14中被合并为第二存储文件后,由于第二存储文件内的各个第一存储文件中的所有编码仍然是有序的,此时执行S15可以实现二次排序,且该二次排序是无需遍历完所有的编码就可以实现的,仅需通过少量的比较次数能够实现高效排序。当进行重新排序后,同一第二存储文件中的各个第一存储文件内的所有编码仍然是有序排列的。
其中,生成的每个第二存储文件可以被记录、存储到数据库中,以便于后续查询。
在上述方法中,对于大量的时空数据,能够依据经纬度、时间戳进行编码,从而可以将得到的第二编码数据作为用于实现数据过滤的索引内容。当对这些第二编码数据进行排序并生成第一存储文件后,可以实现基于索引内容的序列划分,划分的内容即为每个第一存储文件中的内容。当包含大量第二编码数据的多个第一存储文件被合并为第二存储文件,并进行重新排序后,可以实现对于各个第一存储文件内的内容更新,从而使得每个第二存储文件内的各个第一存储文件之间也是有序存储。由于对时空数据的索引内容进行了有序存储,可以较为方便地基于有序的索引内容对大量时空数据进行管理,有利于数据的快速加载,可以提供离线查询。
可选地,上述S11可以包括子步骤S111。
S111:将多条时空数据中的每条时空数据的经纬度信息映射为小区号,并对所述小区号进行编码,得到所述时空数据的第一编码数据。
作为一种实现方式,可以通过多维空间点索引算法(例如Google S2技术)将经纬度信息映射为小区号(cell id),然后对映射得到的小区号(cell id)进行编码。
例如,可以采用base系列编码方式(例如base32编码方式)对小区号(cell id)进行编码,以将小区号(cell id)转换为字符串。
以常见的base32编码方式为例,base32编码使用了ASCII编码中可打印的32个字符(大写字母A~Z和数字2~7)对任意字节数据进行编码。Base32将字符串的二进制数据按照5个二进制位为一组的方式进行分组,由于传输数据的单位是字节(即8个二进制位),因此字符串的二进制数据在被分割之前的二进制位数是40的倍数(40是5和8的最小公倍数)。如果未编码部分的字符串的二进制数据不足40位,则在编码后数据补充"=”,一个“=”符号视为一个组(5个二进制位)。
通过上述实施方式,在存储过程中的编码阶段由于利用了小区号映射以及对小区号的编码,有利于实现数据分类,在后续基于存储结果进行数据查询时能够快速得到所查询的数据的空间属性。
对于通过映射、编码得到的第一编码数据,可以在第一编码数据与时间戳信息之间通过设定的字符串进行拼接,以生成第二编码数据。
假设生成的第一编码数据为“GE2TILRROTA55562NZF5RUYTECQ=”。时间戳信息为“01157603372200”,则生成的第二编码数据可以是“GE2TILRROTA55562NZF5RUYTECQ=_01157603372200”,生成的第二编码数据可以写入日志中。
可选地,作为上述S13的一种实现方式,可以对所述多条时空数据对应的所有第二编码数据进行排序,并根据排序结果以及预设的字节长度,对所述多条时空数据对应的所有第二编码数据进行打包,得到所述多条时空数据对应的多个第一存储文件。
其中,对于同一次处理过程获取到的所有时空数据,当完成编码和排序后,可以根据排序结果进行数据打包,按照数据排序顺序,每检测到预设字节长度的编码内容可确定一个打包节点,打包生成一个第一存储文件。对于大量的时空数据,在检测出多个打包节点的情况下,则按照预设的字节长度生成多个第一存储文件。每个第一存储文件中可以设置用于实现间隔的文件结束符。第一存储文件可以命名为“block”。
在每个第一存储文件中包括多条KV数据。每条KV数据中包括属性为“key”的第二编码内容,以及与key对应的属性为“value”的时空数据特征。时空数据特征是每条时空数据经过特征提取后得到的需要存储的特征。
在一个实例中,一个“key”对应的“value”可以包括“{“name”:“W市”,“type”:“区域”,“case”:“M”}”,实际应用中的value可以json字符串组成的二进制流的形式呈现。
作为一种block文件的文件格式,可以按照“key;value的长度;value”的方式进行存储,通过第二编码数据的内容可以查询到每个key的位置,从而获取相应的value内容。
通过上述实施方式,可以使得大量时空数据对应的每个第一存储文件中,各KV数据是按照第二编码数据的排序结果进行存储的,以索引数据的有序存储实现时空数据特征的有序存储,便于后续查询。
作为上述S13的一种实现方式,可以将所述多条时空数据对应的所有第二编码数据写入跳跃表(SkipList),以通过跳跃表实现快速查找与快速排序,降低数据处理复杂度。每当所述跳跃表中的第二编码数据达到预设的字节长度时,将所述跳跃表中的第二编码数据打包生成一个所述第一存储文件,以得到所述多条时空数据对应的多个第一存储文件。
其中,跳跃表是增加了指针的链表,是一个随机化的数据结构,实质是一种便于进行二分查找的有序链表。
本领域技术人员可以根据实际需要对字节长度进行设置,例如,预设的字节长度可以是128字节、512字节、1024字节等。
以128个字节作为预设的字节长度为例,当跳跃表中的第二编码数据达到128字节时,可以组成一个block文件。以此对大量的第二编码数据进行处理后,可以得到多个block文件。
通过上述实施方式,由于是基于跳跃表实现的排序,能够快速对大量的第二编码数据进行处理,从而快速生成大量的第一存储文件。
以每512个block文件组成一个第二存储文件为例,在每个第二存储文件中的存储单元是block文件,在对第二存储文件内的所有key进行重新排序后,各个block内的所有key是有序的,且各个block之间也是有序的。每个第二存储文件中记录了每个block文件的开始key和结束key。
本申请实施例中,根据第二存储文件的所有key为存储第二存储文件的数据库构建了布隆过滤器,布隆过滤器用于根据用户输入的查询指令确定数据库中是否存在用户所需的数据,当根据用户输入的查询指令确定出数据库中不存在用户所需的数据时,无需读取第二存储文件的内容。
为了便于数据查询,在上述S15之后,方法还包括步骤:S16-S19。
S16:获取查询指令,所述查询指令中包括目标经纬度。
S17:通过布隆过滤器判断多个第二存储文件中是否存在所述目标经纬度对应的目标编码数据。
可选地,查询指令中还可以包括目标时间(时间段或时间点),目标编码数据可以是目标经纬度以及目标时间对应的编码。
S18:当通过所述布隆过滤器判定所述多个第二存储文件中存在所述目标经纬度对应的目标编码数据时,从所述多个第二存储文件中获取所述目标编码数据。
其中,目标编码数据是一个或多个编码数据。
S19:根据所述目标编码数据得到与所述目标编码数据对应的时空数据,作为查询结果。
其中,布隆过滤器可以表示为一组二进制向量,当通过前述的方法生成第二编码数据后,可以为每个第一编码数据或第二编码数据生成至少一个元素(每个元素非0即1),这些元素在二进制向量中的位置可以用于查询匹配。
对于查询指令中的目标经纬度,对该经纬度按照布隆过滤器的计算方式计算出该目标经纬度对应的元素位置后,将该目标经纬度对应的元素位置与预先为每个编码数据生成的各个元素位置进行匹配,从而根据匹配结果确定数据库中是否有用户所需的数据,以此可以避免对数据库的无效访问。
通过上述实施方式,对于用户输入经纬度信息后得到的查询指令,可以先根据查询指令中的目标经纬度先调用布隆过滤器判断数据库中已存储的各个第二存储文件中是否存储用户所需的数据。在布隆过滤器判断出数据库的多个第二存储文件中存在目标经纬度对应的目标编码数据时,访问数据库中相应的第二存储文件,以从相应的第二存储文件中获取到目标编码数据。然后根据目标编码数据得到与该目标编码数据对应的时空数据,作为查询结果。
可选地,从所述多个第二存储文件中获取所述目标编码数据的过程可以包括:从所述多个第二存储文件中确定出所述目标经纬度对应的第二存储文件,作为目标存储文件。根据所述目标存储文件中已存储的所有第二编码数据对应的排序结果,从所述目标存储文件中获取所述目标编码数据。
其中,可以先从多个第二存储文件中确定出所述目标经纬度对应的第二存储文件,以此得到与目标经纬度相关的目标存储文件。
在确定目标存储文件的情况下,可以依据该目标存储文件中的所有第二编码数据的排序结果,从该目标存储文件中的所有第一存储文件中,确定出与目标经纬度相关的第一存储文件。
由于同一目标存储文件中的编码内容相近,对于用户输入的目标经纬度可以快速获取到批量的目标编码数据,例如,在根据经纬度信息进行查询时,上述方法可以快速返回一定范围内的所有时间数据,以此能够快速得到相关的时空数据。
上述方式可以满足基于区域、时间条件的数据查询,适用于读多写少并依据时间、空间进行条件过滤的应用场景。有利于针对大量时空数据对应存储在数据库中的各个第二存储文件进行离线计算,也可以在确定目标存储文件后对目标存储文件进行分裂计算,从目标存储文件中快速提取用户所需的数据,保证数据库中个第二存储文件内的编码数据全局有序。
在一个实例中,通过上述方法,在面临十亿级别的数据量的情况下,根据经纬度、时间戳快速过滤出5万条数据,能够达到秒级响应。
在一个应用场景下,对于每天得到的大量时空数据,可以在每天晚上执行前述的S11-S15的存储过程,例如,可以在每天凌晨1点对大量时空数据的编码进行排序、合并,并将合并的第二存储文件中的起始编码数据、终止编码数据记录在数据库中,以便于能够提供离线查询。使得用户可以在第二天早上上班时就能够进行数据查询,得到前一天及之前的数据内容。
基于同一发明构思,请参阅图2,本申请实施例还提供一种时空数据的处理装置200,所述装置包括:编码模块201、处理模块202。
编码模块201,用于对多条时空数据中每条时空数据的经纬度信息进行编码,得到每条时空数据对应的第一编码数据。
所述编码模块201,还用于为每条时空数据对应的第一编码数据添加时间戳信息,得到每条时空数据对应的第二编码数据。
处理模块202,用于对所述多条时空数据对应的所有第二编码数据进行排序,并根据排序结果生成多个第一存储文件。
所述处理模块202,还用于在未合并的所述第一存储文件的数量达到指定个数时,将所述未合并的所述第一存储文件合并为一个第二存储文件。
所述处理模块202,还用于对每个所述第二存储文件中的所有第二编码数据进行重新排序。
通过上述装置可以执行前述第一方面提供的方法,针对大量的时空数据,能够依据经纬度、时间戳进行编码,从而可以将得到的第二编码数据作为用于实现数据过滤的索引内容。当对这些第二编码数据进行排序并生成第一存储文件后,可以实现基于索引内容的序列划分,划分的内容即为每个第一存储文件中的内容。当包含大量第二编码数据的多个第一存储文件被合并为第二存储文件,并进行重新排序后,可以实现对于各个第一存储文件内的内容更新,从而使得每个第二存储文件内的各个第一存储文件之间也是有序存储。由于对时空数据的索引内容进行了有序存储,可以较为方便地基于有序的索引内容对大量时空数据进行管理,有利于数据的快速加载,便于数据查询。
可选地,该编码模块201还用于将多条时空数据中的每条时空数据的经纬度信息映射为小区号,并对所述小区号进行编码,得到所述时空数据的第一编码数据。
可选地,该处理模块202还用于:对所述多条时空数据对应的所有第二编码数据进行排序,并根据排序结果以及预设的字节长度,对所述多条时空数据对应的所有第二编码数据进行打包,得到所述多条时空数据对应的多个第一存储文件。
可选地,该处理模块202还用于:将所述多条时空数据对应的所有第二编码数据写入跳跃表;每当所述跳跃表中的第二编码数据达到预设的字节长度时,将所述跳跃表中的第二编码数据打包生成一个所述第一存储文件,以得到所述多条时空数据对应的多个第一存储文件。
可选地,所述装置还可以包括获取模块203、判断模块204、查询模块205。
获取模块203,用于获取查询指令,所述查询指令中包括目标经纬度。
判断模块204,用于通过布隆过滤器判断多个第二存储文件中是否存在所述目标经纬度对应的目标编码数据。
查询模块205,用于在通过所述布隆过滤器判定所述多个第二存储文件中存在所述目标经纬度对应的目标编码数据时,从所述多个第二存储文件中获取所述目标编码数据。
所述查询模块205,还用于根据所述目标编码数据得到与所述目标编码数据对应的时空数据,作为查询结果。
可选地,该获取模块203还可用于:从所述多个第二存储文件中确定出所述目标经纬度对应的第二存储文件,作为目标存储文件;根据所述目标存储文件中已存储的所有第二编码数据对应的排序结果,从所述目标存储文件中获取所述目标编码数据。
关于本申请实施例提供的时空数据的处理装置200的其他细节,请进一步参考前述方法中的相关描述,在此不再赘述。
基于同一发明构思,请参阅图3,本申请实施例还提供一种电子设备,该电子设备具有运算处理能力,用于执行前述的方法。该电子设备可以是服务器。
如图3所示,该电子设备包括:存储器301、处理器302、通信单元303。存储器301、处理器302、通信单元303之间通过通讯总线直接或间接连接,以实现数据交互。
存储器301是一种存储介质,可以是高速RAM存储器,也可以是非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器301可用于存储本申请实施例提供的方法对应的计算机程序。存储器301除了可以存储计算机程序,也可以作为本地数据库,用于存储编码、文件等。
处理器302具有运算处理能力,可以是中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等通用处理器。处理器302可以实现本申请实施例提供的方法、步骤及逻辑框图。
当存储器301上存储的计算机程序被处理器302运行时,可以实现本申请实施例提供的时空数据的处理方法。
通信单元303可以包括通信总线、通信芯片等通信所需的介质。该电子设备可以通过通信单元303实现与外部设备的有线或无线通信连接,从而实现数据交互。例如,电子设备可通过通信单元303接收外部设备发送的时空数据,还可以通过通信单元303向作为数据库的设备进行数据交互,可以实现分布式存储。
可以理解的是,图3所示的结构仅作为示意,具体应用时,电子设备还可以有更多的组件,或具有与图3所示所不同的配置方式。例如,该电子设备还可以包括显示单元,用于为用户提供交互界面,或展示本申请实施例提供的方法中的一些计算结果。
除了上述实施例以外,本申请实施例还提供一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器执行时执行前述的时空数据的处理方法。
存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种时空数据的处理方法,其特征在于,所述方法包括:
对多条时空数据中每条时空数据的经纬度信息进行编码,得到每条时空数据对应的第一编码数据;
为每条时空数据对应的第一编码数据添加时间戳信息,得到每条时空数据对应的第二编码数据;
对所述多条时空数据对应的所有第二编码数据进行排序,并根据排序结果生成多个第一存储文件;
在未合并的所述第一存储文件的数量达到指定个数时,将所述未合并的所述第一存储文件合并为一个第二存储文件;
对每个所述第二存储文件中的所有第二编码数据进行重新排序;
其中,所述对所述多条时空数据对应的所有第二编码数据进行排序,并根据排序结果生成多个第一存储文件包括:
将所述多条时空数据对应的所有第二编码数据写入跳跃表;
每当所述跳跃表中的第二编码数据达到预设的字节长度时,将所述跳跃表中的第二编码数据打包生成一个所述第一存储文件,以得到所述多条时空数据对应的多个第一存储文件。
2.根据权利要求1所述的方法,其特征在于,所述对多条时空数据中每条时空数据的经纬度信息进行编码,得到每条时空数据对应的第一编码数据,包括:
将多条时空数据中的每条时空数据的经纬度信息映射为小区号,并对所述小区号进行编码,得到所述时空数据的第一编码数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取查询指令,所述查询指令中包括目标经纬度;
通过布隆过滤器判断多个第二存储文件中是否存在所述目标经纬度对应的目标编码数据;
当通过所述布隆过滤器判定所述多个第二存储文件中存在所述目标经纬度对应的目标编码数据时,从所述多个第二存储文件中获取所述目标编码数据;
根据所述目标编码数据得到与所述目标编码数据对应的时空数据,作为查询结果。
4.根据权利要求3所述的方法,其特征在于,所述从所述多个第二存储文件中获取所述目标编码数据,包括:
从所述多个第二存储文件中确定出所述目标经纬度对应的第二存储文件,作为目标存储文件;
根据所述目标存储文件中已存储的所有第二编码数据对应的排序结果,从所述目标存储文件中获取所述目标编码数据。
5.一种时空数据的处理装置,其特征在于,所述装置包括:
编码模块,用于对多条时空数据中每条时空数据的经纬度信息进行编码,得到每条时空数据对应的第一编码数据;
所述编码模块,还用于为每条时空数据对应的第一编码数据添加时间戳信息,得到每条时空数据对应的第二编码数据;
处理模块,用于对所述多条时空数据对应的所有第二编码数据进行排序,并根据排序结果生成多个第一存储文件;
所述处理模块,还用于在未合并的所述第一存储文件的数量达到指定个数时,将所述未合并的所述第一存储文件合并为一个第二存储文件;
所述处理模块,还用于对每个所述第二存储文件中的所有第二编码数据进行重新排序;
其中,在所述对所述多条时空数据对应的所有第二编码数据进行排序,并根据排序结果生成多个第一存储文件的过程中,所述处理模块还具体用于:将所述多条时空数据对应的所有第二编码数据写入跳跃表;每当所述跳跃表中的第二编码数据达到预设的字节长度时,将所述跳跃表中的第二编码数据打包生成一个所述第一存储文件,以得到所述多条时空数据对应的多个第一存储文件。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
获取模块,用于获取查询指令,所述查询指令中包括目标经纬度;
判断模块,用于通过布隆过滤器判断多个第二存储文件中是否存在所述目标经纬度对应的目标编码数据;
查询模块,用于在通过所述布隆过滤器判定所述多个第二存储文件中存在所述目标经纬度对应的目标编码数据时,从所述多个第二存储文件中获取所述目标编码数据;
所述查询模块,还用于根据所述目标编码数据得到与所述目标编码数据对应的时空数据,作为查询结果。
7.一种电子设备,其特征在于,包括:
存储器;
处理器;
所述存储器上存储有所述处理器可执行的计算机程序,所述计算机程序被所述处理器执行时执行权利要求1-4任一项所述的方法。
8.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时执行权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010039271.3A CN111274454B (zh) | 2020-01-14 | 2020-01-14 | 时空数据的处理方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010039271.3A CN111274454B (zh) | 2020-01-14 | 2020-01-14 | 时空数据的处理方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111274454A CN111274454A (zh) | 2020-06-12 |
CN111274454B true CN111274454B (zh) | 2023-03-21 |
Family
ID=71001659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010039271.3A Active CN111274454B (zh) | 2020-01-14 | 2020-01-14 | 时空数据的处理方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111274454B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181427B (zh) * | 2020-09-24 | 2022-10-11 | 乐思灯具(上海)有限公司 | 一种编码创建方法、装置、系统及存储介质 |
CN112333238A (zh) * | 2020-10-09 | 2021-02-05 | 北京达佳互联信息技术有限公司 | 数据的处理方法、装置、设备及存储介质 |
CN112380222B (zh) * | 2020-11-26 | 2023-08-29 | 吉林师范大学 | 地理空间数据全局唯一标识生成处理方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107153711A (zh) * | 2017-05-19 | 2017-09-12 | 北京旋极伏羲大数据技术有限公司 | 地理信息数据处理方法及装置 |
CN109992636A (zh) * | 2019-03-22 | 2019-07-09 | 中国人民解放军战略支援部队信息工程大学 | 时空编码方法、时空索引及查询方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11204896B2 (en) * | 2017-08-18 | 2021-12-21 | International Business Machines Corporation | Scalable space-time density data fusion |
-
2020
- 2020-01-14 CN CN202010039271.3A patent/CN111274454B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107153711A (zh) * | 2017-05-19 | 2017-09-12 | 北京旋极伏羲大数据技术有限公司 | 地理信息数据处理方法及装置 |
CN109992636A (zh) * | 2019-03-22 | 2019-07-09 | 中国人民解放军战略支援部队信息工程大学 | 时空编码方法、时空索引及查询方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111274454A (zh) | 2020-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111274454B (zh) | 时空数据的处理方法、装置、电子设备和存储介质 | |
JP4785833B2 (ja) | 永続的でユーザアクセス可能なビットマップ値を有するデータベース管理システム | |
CN109952568B (zh) | 用于高速搜索或过滤大数据集的系统和方法 | |
US8924373B2 (en) | Query plans with parameter markers in place of object identifiers | |
WO2018167235A1 (en) | Efficient use of trie data structure in databases | |
CN111629081B (zh) | 互联网协议ip地址数据处理方法、装置及电子设备 | |
CN109144964A (zh) | 基于机器学习的日志解析方法和装置 | |
CN111258819A (zh) | MySQL数据库备份文件的数据获取方法、装置和系统 | |
CN110633261A (zh) | 一种图片存储方法、图片查询方法及装置 | |
CN111190896B (zh) | 数据处理方法、装置、存储介质和计算机设备 | |
US20180349443A1 (en) | Edge store compression in graph databases | |
CN110389953B (zh) | 基于压缩图的数据存储方法、存储介质、存储装置和服务器 | |
CN116561181A (zh) | 数据查询方法、装置、计算机设备及计算机可读存储介质 | |
CN108376054B (zh) | 一种对标识数据进行索引的处理方法及装置 | |
CN108647243B (zh) | 基于时间序列的工业大数据存储方法 | |
CN115794861A (zh) | 基于特征摘要的离线数据查询复用方法及其应用 | |
CN113297204B (zh) | 索引生成方法及装置 | |
JP4914117B2 (ja) | データ処理システム | |
CN111538730B (zh) | 一种基于哈希桶算法的数据统计的方法及其系统 | |
CN107861956B (zh) | 一种卡口过车数据记录的查询方法及装置 | |
US10325106B1 (en) | Apparatus and method for operating a triple store database with document based triple access security | |
JP2015022723A (ja) | 文書を検索する装置及び方法 | |
Kumar et al. | Compendious and Optimized Succinct Data Structures for Big Data Store | |
CN103544224A (zh) | 一种收养关系信息存储表示方法、系统及设备 | |
CN115809248A (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 |