基于位图的库存数据同步方法、装置、电子设备和介质制造方法及图纸

技术编号:34097377 阅读:13 留言:0更新日期:2022-07-11 22:38
本申请公开了一种基于位图的库存数据同步方法、装置、电子设备和介质,涉及数据处理技术领域。所述方法包括:获取至少一个商品库存覆盖的一个或多个城市的城市信息;根据所有所述城市创建城市字典,所述城市字典包括一个或多个字典下标,每个所述城市对应唯一一个所述字典下标;基于BitSet位图将所述城市字典根据所述商品库存聚合为库存数据,并存储至分布式搜索引擎中;每间隔预设时间对所述库存数据进行数据同步,以更新所述库存数据。本申请能够改变库存信息的存储结构,采用BitSet位图存储实现轻量级的字典存储方式,并减少库存操作的时间复杂度,提供更加实时的库存搜索功能。提供更加实时的库存搜索功能。提供更加实时的库存搜索功能。

【技术实现步骤摘要】
基于位图的库存数据同步方法、装置、电子设备和介质


[0001]本申请涉及数据处理
,特别是涉及一种基于位图的库存数据同步方法、装置、电子设备和介质。

技术介绍

[0002]随着互联网应用的发展,对网络应用服务的性能效率以及数据安全的要求也越来越高,网络应用服务交互使用BitSet数据结构的场景越来越多。而BitSet位图,是一种可以用非常紧凑的格式来表示给定范围的连续数据,经常出现在各种算法设计中。在商品库存的服务环节中,对于庞大库存的储存空间和实时库存搜索的应用场景,需要可靠且高效的轻量级存储技术,便于减少库存系统的复杂度,减少内存的使用率,以适用更多的储存场景,从而保障应用服务质量。
[0003]目前针对每一个商品,都存在不同的城市库存。一个城市具体通过固定的标识来表示,例如:字母、文字、数字或者复杂的组合形式等来代表不同的城市。其次判断商品在某一个城市下是否有库存,则需要查找到该商品对应的城市当中是否存在该城市。
[0004]而全国有库存或者局部地区有库存的情况下,都需要存储所有的城市,那么占用内存空间就极其大。伴随库存的上下架动态更新,都需要操作城市列表的动态维护,这大大增加了时间复杂度。

技术实现思路

[0005]为了解决上述
技术介绍
中提到的至少一个问题,本申请提供了一种基于位图的库存数据同步方法、装置、电子设备和介质,能够改变库存信息的存储结构,采用BitSet位图存储实现轻量级的字典存储方式,并减少库存操作的时间复杂度,提供更加实时的库存搜索功能。
[0006]本申请实施例提供的具体技术方案如下:
[0007]第一方面,提供一种基于位图的库存数据同步方法,包括:
[0008]获取至少一个商品库存覆盖的一个或多个城市的城市信息;
[0009]根据所有所述城市创建城市字典,所述城市字典包括一个或多个字典下标,每个所述城市对应唯一一个所述字典下标;
[0010]基于BitSet位图将所述城市字典根据所述商品库存聚合为库存数据,并存储至分布式搜索引擎中;
[0011]每间隔预设时间对所述库存数据进行数据同步,以更新所述库存数据。
[0012]进一步的,所述每间隔预设时间对所述库存数据进行数据同步,以更新所述库存数据,具体包括:
[0013]对所述商品库存的库存消息进行监控;
[0014]每间隔第一预设时间,根据所述库存消息判断所述库存数据是否存在变动;
[0015]每间隔第二预设时间,根据所述库存消息对所述库存数据进行全量的数据同步。
[0016]进一步的,若所述库存数据存在变动,所述每间隔预设时间对所述库存数据进行数据同步,以更新所述库存数据,还包括:
[0017]对变更的商品库存对应的库存数据进行更新,包括:
[0018]将所述变更的商品库存对应的库存数据根据所述城市字典转为BitSet数据结构;
[0019]判断所述变更的商品库存在任一所述城市中是否均有库存,得到第一判断结果;
[0020]判断所述变更的商品库存在任一所述城市中是否均无库存,得到第二判断结果;
[0021]根据所述第一判断结果和所述第二判断结果,执行数据同步指令。
[0022]进一步的,所述根据所述第一判断结果和所述第二判断结果,执行数据同步指令,包括:
[0023]若所述第一判断结果为是,所述数据同步指令为清空生成的所述BitSet数据结构并进行存储;
[0024]若所述第一判断结果为否,所述第二判断结果为是,所述数据同步指令为设置所述BitSet数据结构为空值,并生成long数组进行存储;
[0025]若所述第一判断结果和所述第二判断结果均为否,所述数据同步指令为对所述BitSet数据结构进行更新,并生成long数组进行存储。
[0026]进一步的,所述基于BitSet位图将所述城市字典根据所述商品库存聚合为库存数据,并存储至分布式搜索引擎中,包括:
[0027]基于BitSet位图将所述城市字典设置为BitSet数据结构;
[0028]将所述BitSet数据结构聚合为long数组;
[0029]将所述long数组存储至分布式搜索引擎中。
[0030]进一步的,在所述基于BitSet位图将所述城市字典根据所述商品库存聚合为库存数据,并存储至分布式搜索引擎中之后,所述方法还包括:
[0031]根据所述分布式搜索引擎搜索所述商品库存;
[0032]根据BitSet.and逻辑判断对应的商品是否在所述城市中存在库存,生成并返回搜索结果。
[0033]进一步的,所述分布式搜索引擎包括分布式全文搜索引擎elasticsearch。
[0034]第二方面,提供一种基于位图的库存数据同步装置,所述装置包括:
[0035]通信模块,用于获取至少一个商品库存覆盖的一个或多个城市的城市信息;
[0036]城市字典模块,用于根据所有所述城市创建城市字典,所述城市字典包括一个或多个字典下标,每个所述城市对应唯一一个所述字典下标;
[0037]BitSet位图模块,用于基于BitSet位图将所述城市字典根据所述商品库存聚合为库存数据,并存储至分布式搜索引擎中;
[0038]数据同步模块,用于每间隔预设时间对所述库存数据进行数据同步,以更新所述库存数据。
[0039]第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述基于位图的库存数据同步方法。
[0040]第四方面,提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行所述基于位图的库存数据同步方法。
[0041]本申请实施例具有如下有益效果:
[0042]本申请实施例提供的一种基于位图的库存数据同步方法、装置、电子设备和介质,能够通过bitset位图更改商品库存的数据存储结构,从而大大减少了应用占用的内存并且降低时间复杂度,能够提升库存系统的扩展性,缩短了响应时间,使得库存更加具有实时性;同时,将库存数据存储至分布式搜索引擎中,通过分布式搜索引擎中分片的能力能够提升商品库存的实时搜索效率,保障应用服务的质量,提升用户的体验感。
附图说明
[0043]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044]图1示出本申请实施例提供的基于位图的库存数据同步方法的总流程图;
[0045]图2示出根据本申请一个实施例的基于位图的库存数据同步方法的具体流程图;
[0046]图3示出本申请实施例提供的基于位图的库存数据同步装置的结构示意图;
[0047]图4示出可被用于实施本申请中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于位图的库存数据同步方法,其特征在于,包括:获取至少一个商品库存覆盖的一个或多个城市的城市信息;根据所有所述城市创建城市字典,所述城市字典包括一个或多个字典下标,每个所述城市对应唯一一个所述字典下标;基于BitSet位图将所述城市字典根据所述商品库存聚合为库存数据,并存储至分布式搜索引擎中;每间隔预设时间对所述库存数据进行数据同步,以更新所述库存数据。2.根据权利要求1所述的基于位图的库存数据同步方法,其特征在于,所述每间隔预设时间对所述库存数据进行数据同步,以更新所述库存数据,具体包括:对所述商品库存的库存消息进行监控;每间隔第一预设时间,根据所述库存消息判断所述库存数据是否存在变动;每间隔第二预设时间,根据所述库存消息对所述库存数据进行全量的数据同步。3.根据权利要求2所述的基于位图的库存数据同步方法,其特征在于,若所述库存数据存在变动,所述每间隔预设时间对所述库存数据进行数据同步,以更新所述库存数据,还包括:对变更的商品库存对应的库存数据进行更新,包括:将所述变更的商品库存对应的库存数据根据所述城市字典转为BitSet数据结构;判断所述变更的商品库存在任一所述城市中是否均有库存,得到第一判断结果;判断所述变更的商品库存在任一所述城市中是否均无库存,得到第二判断结果;根据所述第一判断结果和所述第二判断结果,执行数据同步指令。4.根据权利要求3所述的基于位图的库存数据同步方法,其特征在于,所述根据所述第一判断结果和所述第二判断结果,执行数据同步指令,包括:若所述第一判断结果为是,所述数据同步指令为清空生成的所述BitSet数据结构并进行存储;若所述第一判断结果为否,所述第二判断结果为是,所述数据同步指令为设置所述BitSet数据结构为空值,并生成long数组进行存储;若所述第一判断结果和所述第二判断结果均为否,所述数据同步指令为对所述BitSet数据结构进行更新...

【专利技术属性】
技术研发人员:倪志耿
申请(专利权)人:唯品会广州软件有限公司
类型:发明
国别省市:

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

1