快速灵活定义时间周期的方法_2

文档序号:9235818阅读:来源:国知局
业数据。从企业的运营角度,时间周期通常包括小时、班、日、周、旬、月、季度、半年、年等。
[0043]本发明适用于企业信息系统设计和企业日常运营,适用于需要处理大量不同时间粒度或企业软件产品化时需要提供时间粒度配置以适应不同需求的场景,并特别适用于一种时间粒度对应多个周期的复杂情况。
[0044]本发明所述一种灵活定义时间周期的方法,包括两个部分:定义模型、序列生成算法,其原理为:根据企业需要建立各种不同的时间周期,来考核一段时间上的运营在数据域上的表现,这种考核具有有限性、周期循环性和共同性等特点。通过对这些特性进行归类建模,抽取有效的参数,我们可以建立起一套有效的模型。
[0045]定义模型部分用来根据需要建立一个可控的有时间范围的区间,并以此区分于其他管理方式。通过建立模型的定义,制定模型的基础参数信息,并作为序列生成算法的基础依据。
[0046]序列生成算法则通过模型定义的参数作为输入,经过不同的控制逻辑,最终输出不同需求下的时间序列,这些序列定义了企业工作区间的起始、介质、类型等信息。时间序列提供了时间周期序列的外部接口,一方面指导和反应企业的人员和岗位的轮转规律,另一方面用于企业的日常数据结算和汇总。该算法还提供了不同的时间周期之间的数据换算方法,以便在企业基础数据采集的基础上,形成不同时间粒度上的统计数据和趋势,用于中长期分析或短期的预测等应用。
[0047]定义的模型的参数包括:时间周期的所属粒度、循环类型、间隔、间隔周期、起始和截止格式、附加序列、是否为默认序列等。其中基础划分包括年、月、日、小时,用来定位时间周期和日常周期的关联,以便为建立该模型的人员快速理解提供依据。间隔和间隔周期用来描述换算关系,如一周包含的间隔和间隔周期可以定义为7天,或者168小时。起始和截止格式反应了截止到秒的格式化字符串,用来对时间和截止时间进行统一的格式化。
[0048]循环类型字段包括三种模式:固定间隔、固定循环、固定时间。
[0049]如对于常规的结算日,其基本模型定义结构类似于(所属粒度、循环类型、间隔、间隔周期、起始和截止格式、附加序列)=(曰,固定间隔,24,小时,yyyyMMddO 10000,yyyyMMdd235959,“ ”),通过基础的序列可以制定一个固定的时间周期。而对于月份、年份等非等长周期,可以借用操作系统的计算能力,如对于常规的早中晚班轮转,其基本模型定义结构可以定义为(所属粒度、循环类型、间隔、间隔周期、起始和截止格式、附加序列)=(天,固定循环,8,小时,yyyyMMddO 10000, yyyyMMddHH5959, “早班,中班,晚班”),表示根据当前的时间进行循环累加,每7日一个循环算作一个周期。企业还存在一种常见的财务结算周期,即从每月的26日至下月的26日作为一个固定的周期,基于此可以定义的基本模型定义结构为(所属粒度、循环类型、间隔、间隔周期、起始和截止格式、附加序列)=(月,固定时间,1,月,yyyyMM26010000,yyyyMM25235959,“”)。时间跨度仍然为I个月,再借助格式化字符串将相应的起始和截止时间对应到相应的准确时间。
[0050]通过定义模型的参数附加序列能够辅助完成非整齐周期的表示方法。如对于旬,其基本模型定义结构可以定义为(所属粒度,循环类型,间隔,间隔周期,起始和截止格式,附加序列)=(月,固定循环,10,日,yyyyMMdd010000,yyyyMMdd235959,“上旬,中旬,下旬”),通过每次10日进行处理,每当序列即将超出所属粒度——月时,考察最后一个序列的范围,将不满10或者超出10日的划作一个周期。而对于前述的周的处理,其附加序列需要制定该年的所有周的列表,从第一周到第N周,如果计算到当年最后一周时,根据其在两年的跨度和制定的附加序列长度进行判定,当将最后一周根据所在年天数的长短进行划归。
[0051]本发明能够实现对多周期的支持。当企业因历史或管理等各类原因在运行中存在多个概念相同但跨度不同的结算周期时,能够保持良好的兼容性。只需要定义多个模型,即可反应不同的结算周期,在最终使用时建立必要的关联关系就可以在数据计算、汇总处理时使用。
[0052]本发明能够实现周期表达的时间格式的统一性。在完整的年-月-日-时-分-秒的表现格式上,将时间周期的时间和截止时间全部格式为统一的yyyyMMddHHmmss格式。此格式作为通用时间格式,具有地域、操作系统、开发平台、数据库环境的无关性,能够在不同的系统间通行使用,并可以作为时间的通用表达方式被不同的程序格式化,对于终端维护人员也具有较高的可读性和易操作性。
[0053]本发明能够在系统中存在多个概念相同但跨度不同的结算周期时能够制定一个时间周期定义作为默认周期,以便减少系统的运算量,无须进行多次判定。
[0054]本发明所述的灵活定义时间周期的序列生成算法,即为在定义模型的基础上,根据定义模型的主要参数,动态的生成时间周期对应的序列。其包括以下步骤:
[0055]步骤1:提供企业时间粒度的配置方案,该方案包括时间粒度的代码、命名信息。通过该方案可以定义企业需要的所有时间粒度,如日、月、年等,乃至班、旬、周等不规则或非常用的粒度。
[0056]步骤2:根据时间粒度配置方案,逐个的建立时间周期定义模型,该定义描述了以下信息:所属粒度、循环类型、间隔、间隔周期、起始和截止格式、附加序列、是否为默认序列。
[0057]步骤3:根据各时间序列定义,生成实际的时间序列。格式为:所属时间粒度、所属序列定义代码、是否粒度默认序列、起始时间、结束时间、目标时间等。
[0058]所述步骤2和步骤3中,由于周、旬等时间粒度的表示、循环存在多种难以处理的情况,根据循环类型进行以下的划分,其具体的计算方法和参数要求如下:
[0059]步骤il:按固定时间制定:针对类似每月固定日结算的情况,如每月26日进行结算。使用按固定时间制定序列定义时,需要指明正确的起始格式,如yyyyMM26000000,表示从每月26日O点O分O秒开始,然后设置正确的间隔粒度和间隔,如当时间粒度为月,间隔为1,对应的截止时间可以被自动识别为yyyyMM27000000,即下一个月的的26日的最后一秒,是为截止时间;
[0060]步骤i2:按固定循环制定:适用于各类固定长度的周期,如自然日、自然月等,是比较常用的周期类型。需要指明正确的起始格式、间隔粒度和间隔。如对于自然月,当指定起始时间为yyyyMM01000000,表示从当月的I日开始,时间跨度一个月时,自动截止到下一个月的I日表示一个月份。依此类推,生成后续的时间序列。
[0061]步骤i3:按固定间隔制定:用来解决诸如周、旬等类似的时间粒度的周期设定问题,需要借助所属粒度和附加序列说明来定义。如设定起始格式为yyyyMMO 1000000,设定间隔粒度为天,间隔为10,所属粒度为月,附加序列说明为“上旬、中旬、下旬”,则该定义最终会每月生产三个序列,前两个序列为10天,后一个序列为当月天数减去20天;
[0062]本发明生成的数据结构具有
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1