基于时间轮的货源信息更新方法、系统、设备和存储介质技术方案

技术编号:20391499 阅读:19 留言:0更新日期:2019-02-20 03:29
本发明专利技术提供一种基于时间轮的货源信息更新方法、系统、设备和存储介质,其中方法包括:获取货源信息和每个货源信息的更新周期;设置多级时间轮,每级时间轮按照各自的单位时间值分成首尾相接的单元格队列,后级时间轮的单位时间值等于相邻前级时间轮的总时间值;每级时间轮设置有循环指针,各级时间轮的循环指针每隔各自的单位时间值向前移动一个单元格;将货源信息的更新事件添加至匹配的时间轮的单元格内;以及,执行单位时间值最小的时间轮的循环指针当前指向的单元格的更新事件。本发明专利技术采用多级时间轮实现少量存储空间存储大量更新事件;每次执行仅需处理部分任务,减少了不必要的计算,节省了系统资源。

【技术实现步骤摘要】
基于时间轮的货源信息更新方法、系统、设备和存储介质
本专利技术涉及物流
,具体地说,涉及一种基于时间轮的货源信息更新方法、系统、设备和存储介质。
技术介绍
在货源发布后,至货源失效前,需要定期对货源进行自动更新,使用户能随时查看到最新有效的货源。传统方案会为每个货源在系统中添加一个定时任务,定时任务到目标时间点自动触发来更新货源。这种方案会在系统中生成大量的定时任务,定时任务对于资源的消耗较大,系统无法支撑大量的定时任务同时进行。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本专利技术的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
有鉴于此,本专利技术提供一种基于时间轮的货源信息更新方法、系统、设备和存储介质,解决现有技术中货源更新占用大量系统资源,系统无法支撑大量定时任务同时进行的问题。根据本专利技术的一个方面,提供一种基于时间轮的货源信息更新方法,包括:获取货源信息和每个货源信息的更新周期;设置多级时间轮,每级时间轮按照各自的单位时间值分成首尾相接的单元格队列,后级时间轮的单位时间值等于相邻前级时间轮的总时间值;为每级时间轮设置一循环指针,各级时间轮的循环指针每隔各自的单位时间值向前移动一个单元格;将货源信息的更新周期与匹配的单位时间值求模,根据求模结果将货源信息的更新事件添加至对应时间轮中自循环指针当前指向的单元格起排序等于其求模结果的单元格内;以及,执行单位时间值最小的时间轮的循环指针当前指向的单元格内的更新事件。优选地,上述的货源信息更新方法还包括:将单位时间值最小的时间轮的循环指针当前指向的单元格内的更新事件,添加至对应时间轮中自循环指针当前指向的单元格的下个单元格起排序等于其求模结果的单元格内。优选地,上述的货源信息更新方法还包括:前级时间轮的循环指针遍历其单元格队列后,相邻后级时间轮的循环指针向前移动一个单元格。优选地,上述的货源信息更新方法还包括:将后级时间轮的循环指针当前指向的单元格内的更新事件迁移至相邻前级时间轮的各单元格内,直至迁移至单位时间值最小的时间轮的各单元格内。优选地,上述的货源信息更新方法中,将后级时间轮的循环指针当前指向的单元格内的更新事件作为待迁移的更新事件,待迁移的更新事件迁移至相邻前级时间轮的各单元格内的步骤包括:将待迁移的更新事件的更新周期减去其所在单元格的累积时间值,得到剩余时间值;将所述剩余时间值与相邻前级时间轮的单位时间值求模;以及,根据求模结果将待迁移的更新事件迁移至相邻前级时间轮中自循环指针当前指向的单元格起排序等于其求模结果的单元格内。优选地,上述的货源信息更新方法中,单元格的累积时间值等于其所在时间轮的单位时间值与其自队首单元格起的排序的乘积。优选地,上述的货源信息更新方法中,将货源信息的更新周期与匹配的单位时间值求模前还包括:获得货源信息的更新周期的最大时间单位;将具有相同时间单位的单位时间值作为与货源信息的更新周期相匹配的单位时间值。优选地,上述的货源信息更新方法中,所述对应时间轮是与货源信息的更新周期相匹配的单位时间值所对应的时间轮。优选地,上述的货源信息更新方法中,所述多级时间轮包括单位时间值的时间单位为分钟的前级时间轮和单位时间值的时间单位为若干小时的相邻后级时间轮。优选地,上述的货源信息更新方法中,前级时间轮的单位时间值为1分钟,相邻后级时间轮的单位时间值为1小时。根据本专利技术的另一个方面,提供一种基于时间轮的货源信息更新系统,包括:获取模块,用于获取货源信息和每个货源信息的更新周期;时间轮设置模块,用于设置多级时间轮,每级时间轮按照各自的单位时间值分成首尾相接的单元格队列,后级时间轮的单位时间值等于相邻前级时间轮的总时间值;指针设置模块,用于为每级时间轮设置一循环指针,各级时间轮的循环指针每隔各自的单位时间值向前移动一个单元格;初始分配模块,用于将货源信息的更新周期与匹配的单位时间值求模,根据求模结果将货源信息的更新事件添加至对应时间轮中自循环指针当前指向的单元格起排序等于其求模结果的单元格内;以及执行模块,用于执行单位时间值最小的时间轮的循环指针当前指向的单元格内的更新事件。优选地,上述的货源信息更新系统还包括:再分配模块,用于将单位时间值最小的时间轮的循环指针当前指向的单元格内的更新事件,添加至对应时间轮中自循环指针当前指向的单元格的下个单元格起排序等于其求模结果的单元格内。优选地,上述的货源信息更新系统还包括:迁移模块,用于当后级时间轮的循环指针向前移动时,将后级时间轮的循环指针当前指向的单元格内的更新事件迁移至相邻前级时间轮的各单元格内,直至迁移至单位时间值最小的时间轮的各单元格内。根据本专利技术的一个方面,提供一种基于时间轮的货源信息更新设备,包括处理器和存储器,存储器用于存储可执行指令,处理器配置为经由执行所述可执行指令来执行上述的基于时间轮的货源信息更新方法的步骤。根据本专利技术的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于时间轮的货源信息更新方法的步骤。本专利技术与现有技术相比的有益效果在于:本专利技术通过设置多级时间轮,每级时间轮存储更新周期相匹配的货源信息的更新事件,通过内层单时间轮、外层复合时间轮相结合,仅使用少量的存储空间就可存储大量的货源信息的更新事件。每次执行更新事件时仅需检查最内层时间轮的循环指针当前指向的单元格,相当于将大量货源信息的更新任务进行了分割,每次只处理必要的部分任务,减少了不必要的计算,节省了系统资源。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本专利技术。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出本专利技术实施例中一种基于时间轮的货源信息更新方法的步骤示意图;图2示出本专利技术实施例中设置的一种多级时间轮;图3示出本专利技术实施例中设置的又一种多级时间轮;图4示出本专利技术实施例中将更新事件从后级时间轮迁移至相邻前级时间轮的步骤示意图;图5示出本专利技术实施例中设置的又一种多级时间轮;图6示出本专利技术实施例中一种基于时间轮的货源信息更新系统的模块示意图;图7示出本专利技术实施例中一种基于时间轮的货源信息更新设备的示意图;图8示出本专利技术实施例中一种计算机可读存储介质的示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式。相反,提供这些实施方式使得本专利技术将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。结合图1和图2所示,本实施例中基于时间轮的货源信息更新方法包括但不限于以下步骤:S10、获取货源信息和每个货源信息的更新周期。其中,每个货源信息具有各自的更新周期,例如有些货源信息需要每隔几秒更新一次,有些货源信息需要每隔几分钟更新一次,有些货源信息每隔几小时更新一次。S20、设置多级时间轮,每级时间轮按照各自的本文档来自技高网...

【技术保护点】
1.一种基于时间轮的货源信息更新方法,其特征在于,包括:获取货源信息和每个货源信息的更新周期;设置多级时间轮,每级时间轮按照各自的单位时间值分成首尾相接的单元格队列,后级时间轮的单位时间值等于相邻前级时间轮的总时间值;为每级时间轮设置一循环指针,各级时间轮的循环指针每隔各自的单位时间值向前移动一个单元格;将货源信息的更新周期与匹配的单位时间值求模,根据求模结果将货源信息的更新事件添加至对应时间轮中自循环指针当前指向的单元格起排序等于其求模结果的单元格内;以及执行单位时间值最小的时间轮的循环指针当前指向的单元格内的更新事件。

【技术特征摘要】
1.一种基于时间轮的货源信息更新方法,其特征在于,包括:获取货源信息和每个货源信息的更新周期;设置多级时间轮,每级时间轮按照各自的单位时间值分成首尾相接的单元格队列,后级时间轮的单位时间值等于相邻前级时间轮的总时间值;为每级时间轮设置一循环指针,各级时间轮的循环指针每隔各自的单位时间值向前移动一个单元格;将货源信息的更新周期与匹配的单位时间值求模,根据求模结果将货源信息的更新事件添加至对应时间轮中自循环指针当前指向的单元格起排序等于其求模结果的单元格内;以及执行单位时间值最小的时间轮的循环指针当前指向的单元格内的更新事件。2.如权利要求1所述的货源信息更新方法,其特征在于,还包括:将单位时间值最小的时间轮的循环指针当前指向的单元格内的更新事件,添加至对应时间轮中自循环指针当前指向的单元格的下个单元格起排序等于其求模结果的单元格内。3.如权利要求1所述的货源信息更新方法,其特征在于,还包括:前级时间轮的循环指针遍历其单元格队列后,相邻后级时间轮的循环指针向前移动一个单元格。4.如权利要求3所述的货源信息更新方法,其特征在于,还包括:将后级时间轮的循环指针当前指向的单元格内的更新事件迁移至相邻前级时间轮的各单元格内,直至迁移至单位时间值最小的时间轮的各单元格内。5.如权利要求4所述的货源信息更新方法,其特征在于,将后级时间轮的循环指针当前指向的单元格内的更新事件作为待迁移的更新事件,待迁移的更新事件迁移至相邻前级时间轮的各单元格内的步骤包括:将待迁移的更新事件的更新周期减去其所在单元格的累积时间值,得到剩余时间值;将所述剩余时间值与相邻前级时间轮的单位时间值求模;根据求模结果将待迁移的更新事件迁移至相邻前级时间轮中自循环指针当前指向的单元格起排序等于其求模结果的单元格内。6.如权利要求5所述的货源信息更新方法,其特征在于,单元格的累积时间值等于其所在时间轮的单位时间值与其自队首单元格起的排序的乘积。7.如权利要求1或2所述的货源信息更新方法,其特征在于,将货源信息的更新周期与匹配的单位时间值求模前还包括:获得货源信息的更新周期的最大时间单位;将具有相同时间单位...

【专利技术属性】
技术研发人员:刘天飞
申请(专利权)人:江苏满运软件科技有限公司
类型:发明
国别省市:江苏,32

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

1