基于区间树查找算法的结算周期生成方法及系统与流程

文档序号:12906183阅读:500来源:国知局
基于区间树查找算法的结算周期生成方法及系统与流程

本发明涉及财务结算领域,特别涉及一种基于区间树查找算法的结算周期生成方法及系统。



背景技术:

目前,财务结算中一般根据不同供应商的资质情况需要进行相关结算来规避风险,如结算要求一般有按周结、按月结、按年结,甚至还有要求一周内多次结算、一月内多结算、一年内多结算等情形,这时就需要结算周期及结算日期都能够灵活地定制化配置,从而让结算员能简单、直观、快速地获得所关注的结算周期及结算日期。

区间树是基于红黑树扩展得到的支持以区间为元素的动态集合的操作,区间树左侧的节点区间都小于其父节点的区间、右侧的节点区间都大于其父节点的区间,另外区间树查找算法一般从根节点开始遍历,区间元素的查找和插入都可以在时间复杂度o(lgn)所表示的时间内完成,n为区间树节点数。因此,区间树非常适合用于如结算周期、结算时间的灵活配置和查找。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术中不能灵活地定制化配置结算周期以及不便于查找结算周期的缺陷,提供一种基于区间树查找算法的结算周期生成方法及系统。

本发明是通过下述技术方案来解决上述技术问题:

一种基于区间树查找算法的结算周期生成方法,所述方法包括以下步骤:

s1、接收结算配置数据,所述结算配置数据包括结算区间、结算日,所述结算区间包括起始日、截止日,所述起始日早于所述截止日,所述结算日不早于所述截止日;

s2、将所述结算配置数据生成结算周期区间树的根节点,所述根节点包括节点颜色、查找键值、区间左值、区间右值、区间返回值,所述节点颜色为黑色,所述查找键值在所述结算区间内,所述区间左值为所述起始日,所述区间右值为所述截止日,所述区间返回值为所述结算日;

s3、利用所述根节点生成所述结算周期区间树,所述结算周期区间树为区间树,所述结算周期区间树包括若干节点。

较佳地,所述结算区间的跨度可任意配置。

较佳地,所述结算区间的跨度可配置为一星期、一个月或一年。

一种基于区间树查找算法的结算周期生成系统,所述系统包括接收模块、根节点生成模块、区间树生成模块,

所述接收模块用于接收结算配置数据,所述结算配置数据包括结算区间、结算日,所述结算区间包括起始日、截止日,所述起始日早于所述截止日,所述结算日不早于所述截止日;

所述根节点生成模块用于将所述结算配置数据生成结算周期区间树的根节点,所述根节点包括节点颜色、查找键值、区间左值、区间右值、区间返回值,所述节点颜色为黑色,所述查找键值在所述结算区间内,所述区间左值为所述起始日,所述区间右值为所述截止日,所述区间返回值为所述结算日;

所述区间树生成模块用于利用所述根节点生成所述结算周期区间树,所述结算周期区间树为区间树,所述结算周期区间树包括若干节点。

较佳地,所述结算区间的跨度可任意配置。

较佳地,所述结算区间的跨度可配置为一星期、一个月或一年。

本发明的积极进步效果在于:本发明提供的基于区间树查找算法的结算周期生成方法及系统,其中所述方法中只需结算员简单配置结算区间及结算日,通过所述方法就能自动建立起结算周期区间树,从而基于区间树查找算法,结算员就能简单、直观、快速地获得所关注的结算周期及结算日期。

附图说明

图1为本发明的实施例1的基于区间树查找算法的结算周期生成方法的流程图。

图2为本发明的实施例1的基于区间树查找算法的结算周期生成方法的四天一结的结算周期区间树的示意图。

图3为本发明的实施例2的基于区间树查找算法的结算周期生成方法的一周一结的结算周期区间树的示意图。

图4为本发明的实施例2的基于区间树查找算法的结算周期生成方法的一月一结的结算周期区间树的示意图。

图5为本发明的实施例2的基于区间树查找算法的结算周期生成方法的一年一结的结算周期区间树的示意图。

图6为本发明的实施例3的基于区间树查找算法的结算周期生成方法的一周两结的结算周期区间树的示意图。

图7为本发明的实施例4的基于区间树查找算法的结算周期生成系统的示意图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

实施例1

如图1所示,本实施例提供的基于区间树查找算法的结算周期生成方法,所述方法包括以下步骤:

101、接收结算配置数据,所述结算配置数据包括结算区间、结算日,所述结算区间包括起始日、截止日,所述起始日早于所述截止日,所述结算日不早于所述截止日;

102、将所述结算配置数据生成结算周期区间树的根节点,所述根节点包括节点颜色、查找键值、区间左值、区间右值、区间返回值,所述节点颜色为黑色,所述查找键值在所述结算区间内,所述区间左值为所述起始日,所述区间右值为所述截止日,所述区间返回值为所述结算日;

103、利用所述根节点生成所述结算周期区间树,所述结算周期区间树为区间树,所述结算周期区间树包括若干节点。

其中,所述结算周期区间树各节点均包括节点颜色、查找键值、区间左值、区间右值和区间返回值,所述节点颜色为红色或黑色,具体为红色还是黑色应满足区间树特性,所述查找键值一般可设置为区间左值更简单、直观。

进一步,所述结算区间的跨度可任意配置。

本实施例在在具体实施中,比如如图2所示,将所述结算区间设置为四天一结算,然后通过上述步骤101-103将结算员所关注的自2017年5月28日至2017年6月22日这段时间内的每四天一结算的结算区间及其结算日自动建立起所述结算周期区间树,这时就能很简单、直观、快速地获得各结算周期及其结算日期。为提高所述结算周期区间树的生成速度及查找效率,可以将所述结算周期区间树存放于缓存中。另外,基于所述结算周期区间树,通过区间树查找算法,结算员就能简单、直观、快速地查找到所关注的结算周期及结算日期,比如想知道2017年6月20日所对应的结算区间及其结算日,根据区间树查找算法,就能快速地查找到结算区间为20170619-20170622和结算日为20170623。再比如,想知道2017年7月10日所对应的结算周期及其结算日期,由于所述结算周期区间树仅有截止日为2017年6月22日的结算区间及其结算日,这时需根据对应的结算周期配置,推算出所需查询时间2017年7月10日对应的结算周期为20170709-20170712,结算日为20170713。因该结算周期为临时查找,不会构造为结算周期区间树,也不放入缓存从而节约构造时间和缓存。

实施例2

本实施例的基于区间树查找算法的结算周期生成方法与实施例1的基于区间树查找算法的结算周期生成方法基本相同,不同之处在于,所述结算区间的跨度可配置为一星期、一个月或一年。其中,跨度不必从周期的第一天开始,可以从中间开始定义,只需满足一个周期的时间即可,但为了通俗易懂,本实施例中一般将跨度设为从第一天开始到周期结束日。如图3所示的结算周期区间树就为一周一结,这里仅将所关注的自2017年5月22日至2017年6月25日这段时间内每个星期的结算区间及其结算日按实施例1所述步骤101-103生成了相应的结算周期区间树;如图4所示的结算周期区间树就为一个月一结,这里仅将所关注的自2016年12月至2017年6月这段时间内每个月的结算区间及其结算日按实施例1所述步骤101-103生成了相应的结算周期区间树;如图5所示的结算周期区间树就为一年一结,这里仅将所关注的自2016年至2018年这三年的每年结算区间及其结算日按实施例1所述步骤101-103生成了相应的结算周期区间树。另外,想知道哪天所对应的结算区间及其结算日,比如是属于哪周的周结区间及其结算日、或者属于哪月的月结区间及其结算日,或属于哪年的年结区间及其结算日,查找方法及其过程描述与实施例1中相应所述内容相同,此处不再累述。

实施例3

本实施例的基于区间树查找算法的结算周期生成方法为一周两结的情况。本实施例中将所述结算区间配置为一周,并在一周内进行两次结算,所以本实施例仍与实施例1基本相同,不同之处在于,由于一周为七天,若在一周内进行两次结算,则可获得两个新的结算区间,比如如图6所示那样,将一周七天分成前四天和后三天这样的两种新的结算区间,当然新的结算区间也可以有其他不同分法,这里不再展开叙述。这时,将所关注的自2017年5月29日至2017年6月21日这段时间内各个星期的前四天和后三天分别形成的新的结算区间生成出相应的结算周期区间树。另外,对于想知道哪天所对应的结算区间到底属于哪周的前四天还是后三天及其结算日,查找方法及其过程描述与实施例1中相应所述内容相同,此处不再累述。

当然,其他一个结算周期内进行多次结算的情形可自行类推,此处不再累述。

实施例4

如图7所示,本实施例提供的基于区间树查找算法的结算周期生成系统,所述系统包括接收模块1、根节点生成模块2、区间树生成模块3,

所述接收模块1用于接收结算配置数据,所述结算配置数据包括结算区间、结算日,所述结算区间包括起始日、截止日,所述起始日早于所述截止日,所述结算日不早于所述截止日;

所述根节点生成模块2用于将所述结算配置数据生成结算周期区间树的根节点,所述结算周期区间树为区间树,所述根节点包括节点颜色、查找键值、区间左值、区间右值、区间返回值,所述节点颜色为黑色,所述查找键值在所述结算区间内,所述区间左值为所述起始日,所述区间右值为所述截止日,所述区间返回值为所述结算日;

所述区间树生成模块3用于利用所述根节点生成所述结算周期区间树,所述结算周期区间树包括若干节点。

进一步,所述结算区间的跨度可任意配置。

进一步,所述结算区间的跨度可配置为一星期、一个月或一年。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1