时间的所属时间片段的确定方法和装置与流程

文档序号:12464732阅读:475来源:国知局
时间的所属时间片段的确定方法和装置与流程

本申请涉及计算机领域,具体而言,涉及一种时间的所属时间片段的确定方法和装置。



背景技术:

在实时流处理的分析业务中,对时间的处理是很常见的。其中,现有技术中处理时间的方法为按着时间片的方式对时间进行处理,比如,任意一天的时间可以按照单位秒统计为24*60*60=86400秒,用户需要对这86400秒按照时间片进行划分,可以按照30s为一个时间片段进行划分,还可以按照50s为一个时间片段进行划分。若一个时间片段为按照30s进行划分的,则该时间段内的时间片段的数量为:86400/30=2880个,这种时间片段适合组织在分布式下存储的数据。

现用户指定一个时间点,需查找该指定时间点属于多个时间片段中的哪一个片段。若通过现有技术中人工查找的方法查询指定时间点所属的时间片段,效率慢,精确度低,极大的影响了处理效率。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请实施例提供了一种时间的所属时间片段的确定方法和装置,以至少解决现有技术中待确定时间所属时间片段查找精度较低的技术问题。

根据本申请实施例的一个方面,提供了一种时间的所属时间片段的确定方法,包括:获取用户选取的待确定时间;查询目标时间段,其中,所述目标时间段为用于确定所述待确定时间所属时间片段的时间段;以及根据所述目标时间段计算所述待确定时间的所述所属时间片段,其中,所述目标时间段包括至少一个时间片段。

进一步地,所述方法还包括:将所述目标时间段的格式转化为目标格式,得到转化格式之后的所述目标时间段;以及根据所述目标时间段计算所述待确定时间的所述所属时间片段包括:根据转化格式之后的所述目标时间段确定所述所属时间片段。

进一步地,根据转化格式之后的所述目标时间段确定所述所属时间片段包括:获 取所述目标时间段的起始时间;根据所述起始时间和所述待确定时间计算片段标识;以及将转化格式之后的所述目标时间段与所述片段标识进行聚合,得到所述所属时间片段。

进一步地,根据所述起始时间和所述待确定时间计算片段标识包括:计算所述待确定时间和所述起始时间的时间差;计算所述时间差和预设时间长度的比值,其中,所述预设时间长度为所述目标时间段内任一时间片段的时间长度,所述目标时间段内每个时间片段的时间长度相同;以及计算所述比值与预设数值的和,得到所述片段标识。

进一步地,获取用户选取的待确定时间包括:接收来自用户的输入指令,其中,所述输入指令为输入所述待确定时间的指令。

根据本申请实施例的另一方面,还提供了一种时间的所属时间片段的确定装置,包括:获取单元,用于获取用户选取的待确定时间;查询单元,用于查询目标时间段,其中,所述目标时间段为用于确定所述待确定时间所属时间片段的时间段;以及计算单元,用于根据所述目标时间段计算所述待确定时间的所述所属时间片段,其中,所述目标时间段包括至少一个时间片段。

进一步地,所述装置还包括:转化单元,用于将所述目标时间段的格式转化为目标格式,得到转化格式之后的所述目标时间段;以及所述计算单元包括:确定子单元,用于根据转化格式之后的所述目标时间段确定所述所属时间片段。

进一步地,所述确定子单元包括:获取模块,用于获取所述目标时间段的起始时间;确定模块,用于根据所述起始时间和所述待确定时间计算片段标识;以及聚合模块,用于将转化格式之后的所述目标时间段与所述片段标识进行聚合,得到所述所属时间片段。

进一步地,所述确定模块包括:第一计算子模块,用于计算所述待确定时间和所述起始时间的时间差;第二计算子模块,用于计算所述时间差和预设时间长度的比值,其中,所述预设时间长度为所述目标时间段内任一时间片段的时间长度,所述目标时间段内每个时间片段的时间长度相同;以及第三计算子模块,用于计算所述比值与预设数值的和,得到所述片段标识。

进一步地,所述获取单元包括:接收模块,用于接收来自用户的输入指令,其中,所述输入指令为输入所述待确定时间的指令。

在本申请实施例中,采用获取用户选取的待确定时间;查询目标时间段,其中,所述目标时间段为用于确定所述待确定时间所属时间片段的时间段;以及根据所述目标时间段计算所述待确定时间的所述所属时间片段,其中,所述目标时间段包括至少一个时间片段的方式。通过用户选取的待确定时间,在目标时间段内查找该待确定时间的起始时间,通过对起始时间和待确定时间进行处理,即可确定待确定时间的所属时间片段,相对于现有技术中通过人工查找待确定时间的所属时间片段的方法,提高了查找的准确度,并提高了查找速度,达到了准确查找待确定时间在目标时间段内所属时间片段的目的,进而解决了现有技术中待确定时间所属时间片段查找精度较低的技术问题,从而实现了快速并准确查找待确定时间所属时间片段的技术效果。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的一种时间的所属时间片段的确定方法的流程图;以及

图2是根据本申请实施例的一种时间的所属时间片段的确定装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本申请实施例,提供了一种时间的所属时间片段的确定方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算 机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本申请实施例的一种时间的所属时间片段的确定方法的流程图,如图1所示,该方法包括如下步骤S102至步骤S106:

步骤S102,获取用户选取的待确定时间。

具体地,用户可以根据需要设置指定时间assignTime(即,待确定时间)。例如,用户设置的assignTime可以为2015.10.11.13:15,该时间表示为2015年10月11日13时15分。

步骤S104,查询目标时间段,其中,目标时间段为用于确定待确定时间所属时间片段的时间段。

具体地,通过目标时间段确定assignTime的所属时间片段,其中,目标时间段可以选取为一个月、两天,还可以选取为一天。假设,用户设置目标时间段为一天,若assignTime为2015年10月11日13时15分,则该目标时间段为2015年10月11日零时至2015年10月11日24时,此时,将目标时间段可以表示为2015.10.11即可。若针对该待确定时间用户设置的目标时间段为两天,则目标时间段为2015年10月10日零时至2015年10月11日24时这一段时间,则目标时间段可以表示为2015.10.10-2015.10.11。

步骤S106,根据目标时间段计算待确定时间的所属时间片段,其中,目标时间段包括至少一个时间片段。

在本申请实施例中,通过用户选取的待确定时间,在目标时间段内查找该待确定时间的起始时间,通过对起始时间和待确定时间进行处理,即可确定待确定时间的所属时间片段,相对于现有技术中通过人工查找待确定时间的所属时间片段的方法,提高了查找的准确度,并提高了查找速度,达到了准确查找待确定时间在目标时间段内所属时间片段的目的,进而解决了现有技术中待确定时间所属时间片段查找精度较低的技术问题,从而实现了快速并准确查找待确定时间所属时间片段的技术效果。

在本申请下述实施例中,目标时间段均以一天为例进行说明。

可选的,本申请中时间的所属时间片段的确定方法还包括如下步骤S1:

步骤S1,将目标时间段的格式转化为目标格式,得到转化格式之后的目标时间段。

具体地,若用户设置的assignTime为2015.10.11.13:15,则通过该时间即可确定目 标时间段为2015年10月11日零时至2015年10月11日24时。系统中获取到的该目标时间段可能为2015.10.11,还可能为2015-10-11,即目标时间段的格式不统一。因此,通过时间格式化类(DateFormat)对获取到的目标时间段进行格式转化,转化为统一的格式。例如,转化之后的目标格式为yyyyMMdd格式,则将获取到的目标时间段2015.10.11转化为20151011即可,其中,yyyy表示为年份,MM表示为月份,dd表示为日。

根据目标时间段计算待确定时间的所属时间片段包括步骤S3:根据转化格式之后的目标时间段确定所属时间片段。

进一步地,根据转化格式之后的目标时间段确定所属时间片段包括步骤S31至步骤S35:

步骤S31,获取目标时间段的起始时间。

步骤S33,根据起始时间和待确定时间计算片段标识。

步骤S35,将转化格式之后的目标时间段与片段标识进行聚合,得到所属时间片段。

具体地,若目标时间段为2015.10.11.00:00-2015.10.11.24:00(也即2015年10月11日),则该目标时间段的起始时间startTime为2015.10.11.00:00。

将起始时间startTime 2015.10.11.00:00和指定时间assignTime(即,待确定时间)进行处理,即可计算出指定时间assignTime的片段标识。其中,片段标识可以为目标时间段内每个时间片段的顺序符号,例如目标时间段内的第一个时间片段用“1”表示,第二个时间片段用“2”表示,……,第i个时间片段用“i”表示。片段标识还可以用其它符号来表示,例如,“a”、“b”、“c”等符号。在本申请实施例中,片段标识用阿拉伯数字来表示,即,第一个时间片段用“1”表示,第二个时间片段用“2”表示,…,第i个时间片段用“i”表示。

若步骤S33中计算出的片段标识为200,则将200与转化格式之后的目标时间段(例如,20151011)进行聚合,得到所属时间片段(例如,20151011200)。其中,所属时间片段包括转化格式之后的目标时间段(例如,20151011)和片段标识(例如,200)两部分。

需要说明的是,在本申请中,起始时间startTime和指定时间assignTime(即,待确定时间)的单位可以选取为分、秒,还可以选取为毫秒。作为优选,在实施例中,设定起始时间startTime和指定时间assignTime的单位均为毫秒。

可选的,根据起始时间和待确定时间计算片段标识包括如下步骤S331至步骤S335:

步骤S331,计算待确定时间和起始时间的时间差。

步骤S333,计算时间差和预设时间长度的比值,其中,预设时间长度为目标时间段内任一时间片段的时间长度,目标时间段内每个时间片段的时间长度相同。

步骤S335,计算比值与预设数值的和,得到片段标识。

具体地,计算指定时间assignTime和起始时间startTime的差值,得到时间差即(assignTime-startTime)。求取时间差和预设时间长度slice的比值,即(assignTime-startTime)/slice,再对计算得到的比值进行加预设数值的运算,得到片段标识,其中,预设数值的选取为1。

上述计算过程可以用下述公式来表示:sequence=(assignTime-startTime)/slice+1,其中,sequence为片段标识,slice为预设时间长度,assignTime为指定时间(即,待确定时间),1为预设数值。

需要说明的是,目标时间段内时间片段的数量的计算方法为:目标时间段内的总毫秒数/slice。其中,slice的单位为毫秒,并且该slice与公式sequence=(assignTime-startTime)/slice+1中的slice的取值相同。

例如,起始时间startTime为2015.10.11.00:00,指定时间assignTime为2015.10.11.13:00,计算assignTime和startTime的差值为,得到时间差为13小时,即13×60×60×1000=46800000ms。选取slice的数值为30s,即30000ms,计算46800000ms和30000ms的比值等于1560,再对1560进行加1运算,得到1561,其中,1561即为片段标识。

可选的,获取用户选取的待确定时间包括如下步骤S1021:

步骤S1021,接收来自用户的输入指令,其中,输入指令为输入待确定时间的指令。

具体地,用户可根据实际需要在系统中输入待确定时间,其中,待确定时间的数量可以为一个,还可以为多个。当用户输入待确定时间之后,通过日历类实例Calendar可以根据输入的待确定时间确定目标时间段。若待确定时间为2015.10.11.13:15,则通过日历类实例Calendar即可确定待确定时间的当前日期为2015年10月11日,进而可以根据该日期查询目标时间段。例如,若用户设定的目标时间段为一天,则查询到该待确定时间的目标时间段即为2015年10月11日;若用户设定的目标时间段为两天,则查询到该待确定时间的目标时间段为2015.10.10.00:00-2015.10.11.24:00。

本申请实施例还提供了一种时间的所属时间片段的确定装置,该确定装置主要用于执行本申请实施例上述内容所提供的时间的所属时间片段的确定方法,以下对本申请实施例送提供的时间的所属时间片段的确定装置做具体介绍。

图2是根据本申请实施例的一种时间的所属时间片段的确定装置的示意图,如图2所示,该网页中指标的处理装置主要包括获取单元10、查询单元20和计算单元30,其中:

获取单元10,用于获取用户选取的待确定时间。

具体地,用户可以根据需要设置指定时间assignTime(即,待确定时间)。例如,用户设置的assignTime可以为2015.10.11.13:15,该时间表示为2015年10月11日13时15分。

查询单元20,用于查询目标时间段,其中,目标时间段为用于确定待确定时间所属时间片段的时间段。

具体地,通过目标时间段确定assignTime的所属时间片段,其中,目标时间段可以选取为一个月、两天,还可以选取为一天。假设,用户设置目标时间段为一天,若assignTime为2015年10月11日13时15分,则该目标时间段为2015年10月11日零时至2015年10月11日24时,此时,将目标时间段可以表示为2015.10.11即可。若针对该待确定时间用户设置的目标时间段为两天,则目标时间段为2015年10月10日零时至2015年10月11日24时这一段时间,则目标时间段可以表示为2015.10.10-2015.10.11。

计算单元30,用于根据目标时间段计算待确定时间的所属时间片段,其中,目标时间段包括至少一个时间片段。

在本申请实施例中,通过用户选取的待确定时间,在目标时间段内查找该待确定时间的起始时间,通过对起始时间和待确定时间进行处理,即可确定待确定时间的所属时间片段,相对于现有技术中通过人工查找待确定时间的所属时间片段的装置,提高了查找的准确度,并提高了查找速度,达到了准确查找待确定时间在目标时间段内所属时间片段的目的,进而解决了现有技术中待确定时间所属时间片段查找精度较低的技术问题,从而实现了快速并准确查找待确定时间所属时间片段的技术效果。

可选的,时间的所属时间片段的确定装置还包括:转化单元,用于将目标时间段的格式转化为目标格式,得到转化格式之后的目标时间段。计算单元包括:确定子单元,用于根据转化格式之后的目标时间段确定所属时间片段。

具体地,若用户设置的assignTime为2015.10.11.13:15,则通过该时间即可确定目标时间段为2015年10月11日零时至2015年10月11日24时。系统中获取到的该目标时间段可能为2015.10.11,还可能为2015-10-11,即目标时间段的格式不统一。因此,通过转化单元将获取到的目标时间段进行格式转化,转化为统一的格式。例如,转化之后的目标格式为yyyyMMdd格式,则将获取到的目标时间段2015.10.11转化为20151011即可,其中,yyyy表示为年份,MM表示为月份,dd表示为日。并根据确定子单元确定转化格式之后的目标时间段确定所属时间片段。

进一步地,确定子单元包括:获取模块,用于获取目标时间段的起始时间;确定模块,用于根据起始时间和待确定时间计算片段标识;聚合模块,用于将转化格式之后的目标时间段与片段标识进行聚合,得到所属时间片段。

具体地,若目标时间段为2015.10.11.00:00-2015.10.11.24:00(也即2015年10月11日),则通过获取单元获取到的该目标时间段的起始时间startTime为2015.10.11.00:00。

通过计算单元将起始时间startTime 2015.10.11.00:00和指定时间assignTime(即,待确定时间)进行计算,即可计算出指定时间assignTime的片段标识。其中,片段标识可以为目标时间段内每个时间片段的顺序符号,例如目标时间段内的第一个时间片段用“1”表示,第二个时间片段用“2”表示,……,第i个时间片段用“i”表示。片段标识还可以用其它符号来表示,例如,“a、“b”、“c”等符号。在本申请实施例中,片段标识用阿拉伯数字来表示,即,第一个时间片段用“1”表示,第二个时间片段用“2”表示,……,第i个时间片段用“i”表示。

若确定模块中计算出的片段标识为200,则通过聚合模块将200与转化格式之后的目标时间段(例如,20151011)进行聚合,得到所属时间片段(例如,20151011200)。其中,所属时间片段包括转化格式之后的目标时间段(例如,20151011)和片段标识(例如,200)两部分。

需要说明的是,在本申请中,起始时间startTime和指定时间assignTime(即,待确定时间)的单位可以选取为分、秒,还可以选取为毫秒。作为优选,在实施例中,设定起始时间startTime和指定时间assignTime的单位均为毫秒。

可选的,确定模块包括:第一计算子模块,用于计算待确定时间和起始时间的时间差;第二计算子模块,用于计算时间差和预设时间长度的比值,其中,预设时间长度为目标时间段内任一时间片段的时间长度,目标时间段内每个时间片段的时间长度相同;第三计算子模块,用于计算比值与预设数值的和,得到片段标识。

具体地,通过第一计算子模块计算指定时间assignTime和起始时间startTime的差值,得到时间差即(assignTime-startTime)。通过第二计算子模块计算时间差和预设时间长度的比值,即(assignTime-startTime)/slice,再通过第三计算子模块对计算得到的比值进行加预设数值的运算,得到片段标识,其中,预设数值的选取为1。

上述计算过程可以用下述公式来表示:sequence=(assignTime-startTime)/slice+1,其中,sequence为片段标识,slice为预设时间长度,assignTime为指定时间(即,待确定时间),1为预设数值。

需要说明的是,目标时间段内时间片段的数量的计算方法为:目标时间段内的总毫秒数/slice=时间片段的数量。其中,slice的单位为毫秒,并且该slice与公式sequence=(assignTime-startTime)/slice+1中的slice的取值相同。

可选的,获取单元包括:接收模块,用于接收来自用户的输入指令,其中,输入指令为输入待确定时间的指令。

具体地,用户可根据实际需要在系统中输入待确定时间,其中,待确定时间的数量可以为一个,还可以为多个。当用户输入待确定时间之后,通过日历类实例Calendar可以根据输入的待确定时间确定目标时间段。若待确定时间为2015.10.11.13:15,则通过日历类实例Calendar即可确定待确定时间的当前日期为2015年10月11日,进而可以根据该日期查询目标时间段。例如,若用户设定的目标时间段为一天,则查询到该待确定时间的目标时间段即为2015年10月11日;若用户设定的目标时间段为两天,则查询到该待确定时间的目标时间段为2015.10.10.00:00-2015.10.11.24:00。

所述时间的所属时间片段的确定装置包括处理器和存储器,上述获取单元、查询单元和计算单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来准确查找待确定时间在目标时间段内所属时间片段,进而解决了现有技术中待确定时间所属时间片段查找精度较低的技术问题。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:获取用户选取的待确定时间;查询目标时间段,其中,所述目标时间段为用于确定所述待确定时间所属时间片段的时间段;以及根据所 述目标时间段计算所述待确定时间的所述所属时间片段,其中,所述目标时间段包括至少一个时间片段。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

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