OD数据的存储及读取方法、装置、存储介质及计算机设备制造方法及图纸

技术编号:33700772 阅读:25 留言:0更新日期:2022-06-06 08:09
本发明专利技术实施例公开了一种OD数据的存储方法、装置、存储介质及计算机设备,该方法首先获取批量OD数据;然后对每个OD数据的起点网格数据及终点网格数据进行编码整合,得到起终点网格数据编码,起终点网格数据编码为64位整数的编码;再对所有OD数据的ETA距离数据进行缩减;最后存储所有的起终点网格编码及缩减后的ETA距离数据。由此该方法通过将每个OD数据的起点网格数据及终点网格数据进行编码整合,以得到64位整数的起终点网格数据编码,并且通过对所有OD数据的ETA距离数据进行缩减,进而大大降低了大量OD数据所占用的存储空间,减小访问OD数据的耗时,降低IO吞吐量,能够满足快速查询到相应的OD数据的需求。到相应的OD数据的需求。到相应的OD数据的需求。

【技术实现步骤摘要】
OD数据的存储及读取方法、装置、存储介质及计算机设备


[0001]本专利技术涉及计算机领域,具体而言涉及一种OD数据的存储及读取方法、装置、存储介质及计算机设备。

技术介绍

[0002]随着互联网技术的发展,需要采用配送方式提供的服务也日益增多,给配送业务带来很大压力。
[0003]目前,配送业务多为用户主动下单,服务提供方获得服务订单后分派配送资源进行配送。尤其是针对餐品配送的场景,服务订单及时配送就非常重要,其中预计达到时间(estimated time of arrival,ETA)是尤为重要的指标。
[0004]预计到达时间是给定地图上的线路和出发时间,预估走完该路线的所属要的时间。而确定预计到达时间就需要获得相应的路线的距离,即ETA距离数据,由此每个服务订单都需要查询到相应的OD(Origin

Destination,起点及终点)数据,其中,OD数据包括起点信息、终点信息及起点与终点之间的ETA距离数据。由于服务订单的数量庞大及业务范围较广,就会产生大量的OD数据,例如,全国范围的服务订单所需的OD数据大概为330亿对,在现有技术中,这些大量的OD数据存储在redis数据库内,而在服务订单较多的情况下,OD数据的访问量较大,从而导致访问耗时较长,IO吞吐量很高,不能满足快速查询到相应的OD数据的需求。

技术实现思路

[0005]有鉴于此,本专利技术实施例提供了一种OD数据的存储及读取方法、装置、存储介质及计算机设备,以解决在现有技术中,大量的OD数据存储在redis数据库内,而在服务订单较多的情况下,OD数据的访问量剧增,从而导致访问耗时较长,IO吞吐量很高,不能满足快速查询到相应的OD数据的需求的问题。
[0006]第一方面,本专利技术实施例提供了一种OD数据的存储方法,包括:获取批量OD数据,其中,每个所述OD数据包括起点网格数据、终点网格数据以及起点与终点之间的ETA距离数据,所述起点网格数据为所述起点所在网格的网格数据,所述终点网格数据为所述终点所在网格的网络数据;对每个所述OD数据的起点网格数据及终点网格数据进行编码整合,得到起终点网格数据编码,所述起终点网格数据编码为64位整数的编码;对所有所述OD数据的ETA距离数据进行缩减;存储所有所述的起终点网格编码及缩减后的ETA距离数据。
[0007]在一种可能的实现方式中,所述对所有所述OD数据的ETA距离数据进行缩减,包括:对所有所述OD数据的ETA距离数据进行剪枝,得到剪枝后的ETA距离数据;对所述剪枝后的ETA距离数据进行离散化处理,以将所述剪枝后的ETA距离数据划
分到多个区间内;对满足条件的区间内的ETA距离数据进行分组压缩,得到多个ETA距离数据压缩组。
[0008]在一种可能的实现方式中,对所有所述OD数据的ETA距离数据进行剪枝,得到剪枝后的ETA距离数据,包括:基于每个所述OD数据的起点网格数据及终点网格数据,计算每个所述OD数据的曼哈顿距离;将每个所述OD数据的ETA距离数据与相应的曼哈顿距离进行比较,去除与所述曼哈顿距离相近的ETA距离数据。
[0009]在一种可能的实现方式中,所述将每个所述OD数据的ETA距离数据与相应的曼哈顿距离进行比较,去除与所述曼哈顿距离相近的ETA距离数据,包括:基于每个所述OD数据的ETA距离数据与相应的曼哈顿距离,按照如下公式,得到距离误差,所述距离误差为ETA距离数据与相应的曼哈顿距离之间的误差;,其中,K为所述距离误差,L1为每个所述OD数据的ETA距离数据,L2为所述ETA距离数据对应的曼哈顿距离;判断所述误差是否小于或等于预设误差阈值,若是,则将所述ETA距离数据去除。
[0010]在一种可能的实现方式中,所述对满足条件的区间内的ETA距离数据进行分组压缩,得到多个ETA距离数据压缩组,包括:将所述距离误差在预设误差范围内的ETA距离数据所在的区间确定为目标区间;对所述目标区间进行分组,生成多个ETA距离数据组;对每个ETA距离数据组进行压缩,得到多个压缩的ETA距离数据组。
[0011]在一种可能的实现方式中,所述对每个所述ETA距离数据组进行压缩,得到多个ETA距离数据压缩组,包括:基于每个所述ETA距离数据组进行位图压缩,以得到多个ETA距离数据压缩组。
[0012]在一种可能的实现方式中,所述对每个所述ETA距离数据组进行位图压缩,得到多个压缩ETA距离数据组之后,还包括:确定每个所述ETA距离数据压缩组的数据占比量;将数据占比量高于预设数据量阈值的ETA距离数据压缩组进行拆分,得到多个子ETA距离数据压缩组,以使各子ETA距离数据压缩组与其他ETA距离数据压缩的数量占比量相近。
[0013]在一种可能的实现方式中,所述对每个所述ETA距离数据组进行压缩,得到多个ETA距离数据压缩组,包括:对每个所述ETA距离数据组进行高效位图压缩,以得到多个ETA距离数据压缩组。
[0014]在一种可能的实现方式中,所述对每个所述OD数据的起点网格数据及终点网格数据进行编码整合,得到起终点网格数据编码,包括:将所有所述OD数据的起点网络数据及终点网格数据进行排序去重,得到所有所述起点网格数据及终点网格数据所涉及网格的网格数据;
对所有所述起点网格数据及终点网格数据所涉及网格的网格数,得到网格数据编码,所述网格数据编码为32位整数的编码;确定每个所述OD数据的起点网格数据对应的网格数据编码,以及终点网格数据对应的网格数据编码;将每个所述OD数据的起点网格数据对应的网格数据编码与终点网格数据对应的网格数据编码进行拼接,得到起终点网格数据编码。
[0015]第二方面,本专利技术实施例提供了一种OD数据的读取方法,包括:获取待读取的OD数据的地理位置数据及所述地理位置数据与起终点网格数据编码的映射关系,所述地理位置数据包括起点地理位置数据及终点地理位置数据,所述起终点网格数据编码为64位整数的编码;基于所述待读取的OD数据的地理位置数据及所述地理位置数据与起终点网格数据编码的映射关系,查找到所述待读取的OD数据的地理位置数据对应的起终点网格数据编码;查找与所述起终点网格数据编码对应的ETA距离数据;判断是否查找到与所述起终点网格数据编码对应的ETA距离数据,若是,则将查找到的ETA距离数据确定为所述待读取的OD数据的ETA距离数据,若否,则基于所述待读取的OD数据的地理位置数据,按照预设算法计算得到所述待读取的OD数据的ETA距离数据。
[0016]在一种可能的实现方式中,所述查找与所述起终点网格数据编码对应的ETA距离数据,包括:在预设范围内,按照预设顺序或者通过多线程并行的方式遍历各目标ETA距离数据压缩组内的ETA距离数据,所述目标ETA距离数据压缩组为ETA距离数据在所述预设范围内的ETA距离数据压缩组;如果在所述目标ETA距离数据压缩组内没有查找到所述待读取的OD数据的地理位置数据对应的ETA距离数据,则按照预设顺序或者通过多线程并行的方式遍历剩余ETA距离数据压缩组内的ETA距离数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种OD数据的存储方法,其特征在于,包括:获取批量OD数据,其中,每个所述OD数据包括起点网格数据、终点网格数据以及起点与终点之间的ETA距离数据,所述起点网格数据为所述起点所在网格的网格数据,所述终点网格数据为所述终点所在网格的网络数据;对每个所述OD数据的起点网格数据及终点网格数据进行编码整合,得到起终点网格数据编码,所述起终点网格数据编码为64位整数的编码;对所有所述OD数据的ETA距离数据进行缩减;存储所有所述的起终点网格编码及缩减后的ETA距离数据。2.根据权利要求1所述的方法,其特征在于,所述对所有所述OD数据的ETA距离数据进行缩减,包括:对所有所述OD数据的ETA距离数据进行剪枝,得到剪枝后的ETA距离数据;对所述剪枝后的ETA距离数据进行离散化处理,以将所述剪枝后的ETA距离数据划分到多个区间内;对满足条件的区间内的ETA距离数据进行分组压缩,得到多个ETA距离数据压缩组。3.根据权利要求2所述的方法,其特征在于,对所有所述OD数据的ETA距离数据进行剪枝,得到剪枝后的ETA距离数据,包括:基于每个所述OD数据的起点网格数据及终点网格数据,计算每个所述OD数据的曼哈顿距离;将每个所述OD数据的ETA距离数据与相应的曼哈顿距离进行比较,去除与所述曼哈顿距离相近的ETA距离数据。4.根据权利要求2所述的方法,其特征在于,所述将每个所述OD数据的ETA距离数据与相应的曼哈顿距离进行比较,去除与所述曼哈顿距离相近的ETA距离数据,包括:基于每个所述OD数据的ETA距离数据与相应的曼哈顿距离,按照如下公式,得到距离误差,所述距离误差为ETA距离数据与相应的曼哈顿距离之间的误差;,其中,K为所述距离误差,L1为每个所述OD数据的ETA距离数据,L2为所述ETA距离数据对应的曼哈顿距离;判断所述误差是否小于或等于预设误差阈值,若是,则将所述ETA距离数据去除。5.根据权利要求2所述的方法,其特征在于,所述对满足条件的区间内的ETA距离数据进行分组压缩,得到多个ETA距离数据压缩组,包括:将所述距离误差在预设误差范围内的ETA距离数据所在的区间确定为目标区间;对所述目标区间进行分组,生成多个ETA距离数据组;对每个ETA距离数据组进行压缩,得到多个压缩的ETA距离数据组。6.根据权利要求5所述的方法,其特征在于,所述对每个所述ETA距离数据组进行压缩,得到多个ETA距离数据压缩组,包括:对每个所述ETA距离数据组进行位图压缩,以得到多个ETA距离数据压缩组。7.根据权利要求6所述的方法,其特征在于,所述对每个所述ETA距离数据组进行位图
压缩,得到多个压缩ETA距离数据组之后,还包括:确定每个所述ETA距离数据压缩组的数据占比量;将数据占比量高于预设数据量阈值的ETA距离数据压缩组进行拆分,得到多个子ETA距离数据压缩组,以使各子ETA距离数据压缩组与其他ETA距离数据压缩的数量占比量相近。8.根据权利要求5所述的方法,其特征在于,所述对每个所述ETA距离数据组进行压缩,得到多个ETA距离数据压缩组,包括:对每个所述ETA距离数据组进行高效位图压缩,以得到多个ETA距离数据压缩组。9.根据权利要求1所述的方法,其特征在于,所述对每个所述OD数据的起点网格数据及终点网格数据进行编码整合,得到起终点网格数据编码,包括:将所有所述OD数据的起点网络数据及终点网格数据进行排序去重,得到所有所述起点网格数据及终点网格数据所涉及网格的网格数据;对所有所述起点网格数据及终点网格数据所涉及网格的网格数据进行编码,得到网格数据编码,所述网格数据编码为32位整数的编码;确定每个所述OD数据的起点网格数据对应的网格数据编码,以及终点网格数据对应的网格数据编码;将每个所述OD数据的起点网格数据对应的网格数据编码与终点网格数据对应的网格数据编码进行拼接,得到起终点网格数据编码。10.一种OD数据的读取方法,其特征在于,包括:获取待读取的OD...

【专利技术属性】
技术研发人员:魏晓旭张振姜泰旭朱兴
申请(专利权)人:浙江口碑网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1