具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
如前述,现有技术中大量数据处理任务采用日终任务的方式,由于日终任务的大规模数据处理特点,技术选型上通常会采用数据仓库离线计算(属于数据处理)。以存款的利息计提为例,离线计算的主干流程如下:1.业务日终状态稳定,例如存款当日的各种异步任务已经执行完成,存单单据的当日状态和余额已经稳定;2.同步在线数据到离线平台作为计算的数据输入,例如存款单据的状态、上次结息日期、余额和利率条件;3.开始执行全量业务数据的离线计算任务,例如通过计息公式和输入数据计算每笔存款的应付未付利息;4.汇总单笔存款的计算结果生成统计结果,例如汇总所有存款的应付未付利息,得到总的应付利息。在上述方案中,需要在业务日终状态稳定后才能进行计算任务;由于要执行全量业务数据的计算,因而数据计算量巨大,且计算数据量出现快速增长,从而数据计算资源占用短时间内快速增加。采用上述方案,若要提升日终任务的时效性,只能采用提升数据仓库的计算能力的方式。当输入数据准备、计算能力分配或计算逻辑发生问题时,日终任务的时效保障会非常困难。
如图1所示,本说明书的第一个实施例提供了数据处理系统,具体的,数据处理系统确定目标数据的预测处理结果;数据处理系统确定所述目标数据相对于指定数据的数据变化;数据处理系统根据所述数据变化和所述预测处理结果确定所述目标数据的实际处理结果。
在本实施例中,预测处理结果的得出不依赖于目标数据是否全部确定,因而也就不限定于固定的时间点和时间段,即可以自由选择预测处理结果的确定时间;由于预测处理结果的得出时间可以自由选择,因而可以充分利用数据处理资源(例如机器内存或运行资源或者系统内存或运行资源,下同)相对空闲或者占用相对较少的时间来确定预测处理结果,即实现预测处理结果、确定数据变化、得出实际处理结果等步骤在时间、资源等方面的更均衡分配,从而提高数据资源使用的均衡性和使用效率,数据处理能力或数据处理逻辑更有保障,更不易出现问题或错误;将预测处理结果和数据动态变化相结合,根据数据变化情况,可以在预测处理结果基础上进行修正或调整等来得到实际处理结果,即可以不每次都对目标数据重新进行全量处理,从而能够有效降低数据处理量,提高数据处理效率和时效性。
从程序角度而言,上述流程的执行主体可以为计算机或者服务器或者相应的数据处理系统等。另外,也可以由第三方应用客户端协助所述执行主体执行上述流程。
图2是本说明书第二个实施例中的数据处理方法的流程示意图,图3是本说明书第二个实施例中的数据处理过程示意。结合图2和图3,本实施例中,数据处理方法包括:
S101:确定目标数据的预测处理结果。
需要说明的是,在本说明书中,所述的“数据”可以基于(或建立于或定义于)某个或某些业务平台或业务系统,即所述的“数据”可以是由某个或某些业务平台或业务系统产生或者处理的。
在本实施例中,可以确定目标数据的预测处理结果(即预测目标数据的处理结果,所预测的处理结果为“预测处理结果”),不论目标数据是否已经产生或者全部产生。具体的,可以根据已知的数据处理结果确定目标数据的预测处理结果。
在本实施例中,所述的“已知的数据处理结果”可以是针对“已知数据”(以下简称“第一基准数据集”或第一数据集合)的数据处理结果,本说明书中的“已知数据”可以为目标数据全部确定前的已存在或已确定数据。所述第一基准数据集可以是指定的数据,例如由于可能每天都会有数据产生,如果将某天或某时间段或某时间点产生的数据作为目标数据,则第一基准数据集可以是目标数据之前或之后的某天或某时间段或某时间点产生的数据。在一些情况下,目标数据可以是指某个或某些时间段或时间点所产生的全体数据(例如第一时间段内产生的所有数据),也可以是某个时间点所积累的全体数据,例如某支付平台在XXXX年X月X日24时这一时间点时所积累的全体存款数据。以下,将每次确定的需要处理的目标数据称为目标数据集。
具体的,在本实施例中,可以预先确定上述第一基准数据集以及目标数据集的选择标准,包括但不限于时间标准、数据类型标准、数据量标准。例如将某个或某些时间段或时间点的已知数据作为第一基准数据集,这可以作为时间标准;例如将某种或某些种类型的已知数据作为目标数据集,这可以作为数据类型标准;例如选取一定数据作为目标数据集,这些数据达到指定的数据量,这可以作为数据量标准;也可以将不同的选择标准结合,例如将指定时间段内产生的指定类型数据作为第一基准数据集,就是时间标准与数据类型标准的结合。同样的,对于目标数据集来说,例如将每天24小时产生的数据作为目标数据集,或者将某些天中每天24小时产生的数据作为目标数据集,或者将某个或某些时间段产生的数据作为目标数据集,或者将某个或某些时间点产生的数据作为目标数据集,这些可以作为时间标准;例如将某种或某些种类型的数据作为目标数据集,这可以作为数据类型标准。当然,也可以将不同的选择标准结合,例如将指定时间段内产生的指定类型数据作为目标数据集,就是时间标准与数据类型标准的结合。上述的时间段、时间点以及数据类型等都可以根据需要指定或者变化。
由上可知,依据所确定的目标数据集的选择标准,目标数据集可以是从当前已知的数据中产生的,例如将过去24小时产生的数据作为目标数据集;可以是包括已知数据和未来产生的数据,例如将过去12小时以及未来24小时(即预期时间,下同)产生的数据作为目标数据集;可以是未来产生的数据,例如将未来24小时产生的数据作为目标数据集。可见,目标数据集可以包括已知数据和/或未来产生的数据(未来产生的数据以下简称“预期数据”,在预期时间内是否一定会有数据产生则不限定)。当然,在此基础上还可以再限定数据类型。
需要说明的是,在本实施例中目标数据集不一定只确定一次或不发生变化,例如将每天0-24小时产生的数据作为目标数据集,则目标数据集就是每天都会产生或确定,进而确定每个目标数据集的处理结果,且每天产生或确定的目标数据集不一定相同。相应的,第一基准数据集也不一定只确定一次或不发生变化,例如将每天0-24小时产生的数据作为目标数据集,则对于某日来说,在该日零点时,该日零点之前的数据可以作为已知数据,也就可以用来作为第一基准数据集,该日0-24小时产生的数据作为目标数据集;到了该日24点,即该日后一日零点时,该日0-24小时产生的数据可以作为已知数据,也就可以用来作为第一基准数据集。由于目标数据集可以在已知数据中选择,可见,第一基准数据集和目标数据集可以相互转化。
在本实施例中,可以根据已知的数据处理结果确定目标数据集的预测处理结果,比如可以将已知的数据处理结果作为目标数据集的预测处理结果,或者依据已知的数据处理规则或规律等将已知的数据处理结果进行操作(例如运算),从而确定目标数据集的预测处理结果。确定目标数据集的预测处理结果可以包括确定目标数据集中每个数据单元的预测处理结果,其中数据单元可以是单个或多个数据,每个数据的内容根据实际情景确定或变化。
目标数据集的预测处理结果的产生不依赖于目标数据集是否已被完全确定,即可以在目标数据集确定前、部分确定时或全部确定后确定目标数据集的预测处理结果。例如若将XXXX年X月X日某业务系统XXXX年X月X日全天24小时产生的数据作为目标数据集,则可以在该日前、该日中或者该日后根据已知的数据处理结果确定目标数据集的预测处理结果;同样的,若将某业务系统在XXXX年X月X日24时这一时间点时所积累的全体数据作为目标数据集,则可以在该时间点前、该时间点时或该时间点后根据已知的数据处理结果确定目标数据集的预测处理结果。
S102:确定所述目标数据集相对于指定数据的数据变化。
在本实施例中,所述的“指定数据”(以下简称“第二基准数据集”或第二数据集合)的选择标准可以同第一基准数据集。第一基准数据集和第二基准数据集可以是相同或包含关系,即第一基准数据集可以包含第二基准数据集或者第二基准数据集可以包含第一基准数据集。
所述的“数据变化”可以是数据的增减或者数据数量的改变,例如目标数据集相对于第二基准数据集出现了新类型的数据,或者第二基准数据集中的一些数据没有在目标数据集中出现;可以是数据类型的改变,例如某些数据在第二基准数据集中是某种类型,而在目标数据集中则为另一种类型;可以是数据参数的改变,例如某些数据自身在第二基准数据集中对应一个或多个参数,而在目标数据集中所对应的参数发生了改变,包括对应的参数类型或者参数数量的改变,也可以包括具体的参数值的改变;可以是数据之间对应关系的改变,例如在第二基准数据集中,某些数据之间具有映射关系,而在目标数据集中数据之间的映射关系发生了改变,包括新建映射关系、删除原有映射关系,改变原有映射关系等。所述的“数据变化”不限于以上列举的情况,且“数据变化”也可能是以上列举的情况以及其他可能出现的情况之间的组合。
在确定目标数据集相对于指定数据的数据变化时,可以采用下面列举的情况(本实施例不限于下面列举的情况):
1.1、将目标数据集分为若干个数据分段
在本实施例中,可以将目标数据集进行分段,即将目标数据集分成若干个数据分段。例如若确定目标数据集包括数据a、数据b、数据c、数据d、数据e、数据f,则可以将目标数据集分成abc、de、f,即将目标数据集分成3个分段,abc、de、f分别称为数据分段。
数据的分段标准包括但不限于数据量标准、时间标准、数据类型标准。例如每个数据分段不大于第一数据量,将每隔第一时间段产生的目标数据集作为一个数据分段,将属于同一数据类型的目标数据集作为一个数据分段。各种分段标准可以结合使用,且各种分段标准对于已知数据和/或预期数据均适用。
由上可知,对于单个目标数据集来说,该目标数据集的数据分段可以确定多次,沿用上例,将每天0至24时产生的数据作为目标数据集,这样对于某日来说,该日的目标数据集只确定一次即可(比如在该日的24时或者第二天的某时刻确定该日的目标数据集),但数据分段却要确定24次。需要说明的是,确定数据的分段标准和确定目标数据集的选择标准没有绝对的先后顺序,比如将每天0至24时之间每个一小时产生的数据作为一个数据分段,数据分段的数量为24个,这样既确定了数据分段标准,又确定了目标数据集选择标准(每天0至24时产生的数据作为目标数据集),即数据分段标准可以在目标数据集产生前确定(例如目标数据集全部为预期数据),可以在目标数据集产生过程中确定(例如目标数据集包括预期数据),可以在目标数据集产生后确定。
在进行了数据分段后,可以确定第一个数据分段相对于第二基准数据集的数据变化,作为第一类数据变化;确定每两个相邻数据分段之间的数据变化,作为第二类数据变化,直至最后一个数据分段,如图4所示;根据所述第一类和第二类数据变化确定所述目标数据集相对于第二基准数据集的数据变化,如图5所示。可见,第一类数据变化只需确定一次,而第二类数据变化的确定次数则取决于数据分段的数量。
在本实施例中,可以累积上述第一类数据变化和第二类数据变化,将累积结果作为目标数据集相对于第二基准数据集的数据变化。沿用上例,将每天0至24时产生的数据作为目标数据集,每个一小时产生的数据作为一个数据分段,这样对于某日来说,确定该日0至1时的数据分段相对于第二基准数据集的数据变化,作为第一类数据变化;将1至2时相对于0至1时的数据变化、2至3时相对于1至2时的数据变化、……、23至24时相对于22至23时的数据变化均作为第二类数据变化。累积第一类数据变化和第二类数据变化,经累积结果作为该日产生的目标数据集相对于第二基准数据集的数据变化。例如对于第二基准数据集中的数据a来说,数据a经过第一类数据变化变成了数据b,数据b经过23次第二类数据变化之后最终变成了数据c,则累计结果中就包含了数据a变成了数据c。
1.2、确定目标数据集的各个产生阶段
在某些情况下,目标数据集的产生会有一定的规律性,比如将每天0至24时产生的数据作为目标数据集,则在0至24时中,某些时间段目标数据集的产生会频繁一些,某些时间段目标数据集的产生会稀疏一些;或者某些时间段产生某些种类型的目标数据集,某些时间段产生另一些类型的目标数据集。在本实施例中,可以将目标数据集的产生划分为若干阶段,即目标数据集会按阶段产生,从而会有第一阶段、第二阶段、……,每一阶段产生一定的目标数据。可见,分为哪些阶段更多的是根据目标数据集自身的生成特点。
同1.1,阶段的划分也可以有多种标准,包括但不限于数据变动频次标准、数据量标准、时间标准、数据类型标准。例如将目标数据集的产生频率小于第一阈值作为一个阶段,大于等于第一阈值,小于第二阈值作为一个阶段,大于等于第二阈值,小于第三阈值作为一个阶段,以此类推,这可以作为数据变动频次或者数据量标准;可以根据目标数据集的产生频率划分时间段,以划分出的时间段来作为阶段,这可以作为时间标准;可以根据产生的数据类型来划分阶段,这可以作为数据类型标准。各种阶段的划分标准可以结合使用,且各种阶段划分标准对于已知数据和/或预期数据均适用。
阶段的划分和数据分段两者有相通之处,划分了阶段后,每阶段产生的目标数据集就相当于一个数据分段;同样的,划分了数据分段后,每个数据分段可以看作是一个阶段内产生的目标数据集。但是,对于数据分段来说,可以指定每个数据分段的数据量,对于阶段划分来说,虽然也可以采用数据量标准,但是每个阶段真正产生多少数据量不一定是完全确定的。
对于单个目标数据集来说,该目标数据集的产生阶段可以划分为多个。同1.1,确定目标数据的产生阶段和确定目标数据集的选择标准没有绝对的先后顺序,比如将每天0至24时产生的数据作为目标数据集,并将0至24时划分为3个阶段,这样既确定了阶段划分标准,又确定了目标数据集选择标准。
在划分了产生阶段后,可以确定第一阶段目标数据相对于指定数据的数据变化,作为第三类数据变化;确定每两个相邻阶段目标数据之间的数据变化,作为第四类数据变化,直至最后一个阶段,如图6所示;根据所述第三类和第四类数据变化确定所述目标数据集相对于指定数据的数据变化,如图7所示。同1.1,第三类数据变化只需确定一次,而第四类数据变化的确定次数则取决于阶段数量。同样,可以累积上述第三类数据变化和第四类数据变化,将累积结果作为目标数据集相对于第二基准数据集的数据变化。
总之,通过S102,可以确定目标数据集相对于第二基准数据集的数据变化,特别是目标数据集中包含预期数据来说,所确定的是数据的动态变化。
S103:根据所述数据变化和所述预测处理结果确定所述目标数据的实际处理结果。
在确定了目标数据集相对于第二基准数据集的数据变化后,就可以根据所述数据变化和得到的针对目标数据集的预测处理结果得到目标数据集的实际处理结果。确定实际处理结果的标准比如,对于目标数据集中的某些数据,若其相对于第二基准数据集没有发生变化或者发生的变化符合预设条件(不妨称为第一类预设条件),则可以将其预测处理结果作为实际处理结果;对于目标数据集中的某些数据,若其属于新增数据或者其相对于第二基准数据集发生的变化符合预设条件(不妨称为第二类预设条件),则重新对其进行处理,确定其实际处理结果。重新确定实际处理结果包括对数据进行重新处理,或者根据数据变化对预测处理结果进行修正或调整或合并。可见,对于目标数据集来说,可以不对其所包含的数据全体(或全量)进行处理。
特别的,若是采用了数据分段的方式,则可以确定第一个数据分段相对于指定数据的数据变化,根据所述第一个数据分段相对于指定数据的数据变化和所述预测处理结果确定所述第一个数据分段的实际处理结果;确定每两个相邻数据分段之间的数据变化,根据该两个相邻分段之间的数据变化以及该两个相邻分段中前一个数据分段的实际处理结果,确定该两个相邻分段中后一个数据分段的实际处理结果,即根据第一个数据分段的实际处理结果和第二个数据分段相对于第一个数据分段的数据变化确定第二个数据分段的实际处理结果,根据第二个数据分段的实际处理结果和第三个数据分段相对于第二个数据分段的数据变化确定第三个数据分段的实际处理结果,以此类推,直至根据倒数第二个数据分段的实际处理结果和最后一个数据分段相对于倒数第二个数据分段的数据变化确定最后一个数据分段的实际处理结果,如图8所示;根据各个数据分段的实际处理结果确定所述目标数据的实际处理结果,如图8所示。具体的,可以将最后一个数据分段的实际处理结果作为所述目标数据的实际处理结果。确定实际处理结果的标准同上。
特别的,若是采用了划分数据产生阶段的方式,则可以确定第一阶段目标数据相对于指定数据的数据变化,根据所述数据变化和所述预测处理结果确定所述第一阶段数据的实际处理结果;确定每两个相邻阶段目标数据之间的数据变化,根据该两个相邻阶段之间的数据变化以及该两个相邻阶段中前一阶段目标数据的实际处理结果,确定该两个相邻阶段中后一阶段目标数据的实际处理结果,即根据第一阶段的实际处理结果和第二阶段相对于第一阶段的数据变化确定第二阶段的实际处理结果,根据第二阶段的实际处理结果和第三阶段相对于第二阶段的数据变化确定第三阶段的实际处理结果,以此类推,直至根据倒数第二阶段目标数据的实际处理结果和最后一个阶段目标数据相对于倒数第二阶段目标数据的数据变化确定最后一个阶段的实际处理结果,如图9所示;根据各阶段目标数据的实际处理结果确定所述目标数据的实际处理结果,如图9所示;具体的,将最后一个阶段目标数据的实际处理结果作为所述目标数据的实际处理结果。确定实际处理结果的标准同上。
在本实施例中,预测处理结果的得出不依赖于目标数据相对于指定数据的实际变化情况,也不依赖于目标数据是否全部确定,因而也就不限定于固定的时间点和时间段,即可以自由选择预测处理结果的确定时间,从而可以充分利用数据处理资源相对空闲或者占用相对较少的时间来确定预测处理结果,即实现预测处理结果、确定数据变化、得出实际处理结果等步骤在时间、资源等方面的更均衡分配,从而提高数据资源使用的均衡性和使用效率,数据处理能力或数据处理逻辑更有保障,更不易出现问题或错误;将数据处理拆分为预测数据处理结果和针对数据动态变化的处理,将预测处理结果和数据动态变化相结合,根据数据变化情况,可以在预测处理结果基础上进行修正或调整等来得到实际处理结果,即可以不每次都对目标数据重新进行全量处理,从而能够有效降低数据处理量,提高数据处理效率和时效性。
特别是对于日终任务来说,通常其需要在目标数据集确定后的一定时间内确定数据处理结果,利用本实施例,先确定预测处理结果和数据变化,进而确定实际处理结果,可以有效缩短数据处理时间,更快地得到目标数据集的数据处理结果。
如图10所示,本说明书的第三个实施例提供了数据计算系统,具体的,数据计算系统确定目标数据的预测计算结果;数据计算系统确定所述目标数据相对于指定数据的数据变化;数据计算系统根据所述数据变化和所述预测计算结果确定所述目标数据的实际计算结果。
从程序角度而言,上述流程的执行主体可以为计算机或者服务器或者相应的数据计算系统等。另外,也可以由第三方应用客户端协助所述执行主体执行上述流程。
图11是本说明书第四个实施例中的数据计算方法的流程示意图,图12是本说明书第四个实施例中的数据处理过程示意。结合图11和图12,本实施例中,数据计算方法包括:
S201:确定目标数据的预测计算结果。
本步骤可参照A101,其中可以根据已知的数据计算结果确定目标数据的预计计算结果,不过本步骤中的数据处理限定为数据计算。
以某金融系统的存贷款为例,存贷款业务存在的日终利息计提、贷款的日终拨备或者费用摊销都需要数据计算,即数据处理。以下不妨假定该金融系统的数据包括用户、用户存款或贷款金额以及存款或贷款利率,数据计算包括存款或贷款利息计提。由于利息计提为日终任务,因而可以将一天的24时该金融系统的所有用户、用户存款和贷款金额以及存款和贷款利率作为确定的目标数据,将一天的存款和贷款利息计提作为需要确定的数据计算结果,这样,每天目标数据都会重新确定一次,并在确定一天的目标数据后对目标数据进行数据计算。将目标数据前一天24时该金融系统的所有用户、用户存款和贷款金额以及存款和贷款利率作为第一基准数据集,这样,每天目标数据也都会重新确定一次。
假设某金融系统截止到T日24时共有用户A、用户B用户C三个用户,用户A存款I元,存款利率为J,T日的利息计提为K;用户B贷款L元,贷款利率为M,T日的利息计提为N;用户C存款P元,存款利率为Q,T日的存款利息计提为R,同时贷款S元,贷款利率为U,T日的贷款利息计提为V。通常情况下,T日的全部用户的利息计提会在T日后一日(以下称为T+1日)得出。
在确定了K、N、R、V后,对于T+1日来说,假定用户A的I、J不变,将K作为用户A已知的数据计算结果,利用I、J、K可以预计算出T+1日用户A的预测存款利息计提,即作为T+1日用户A的预测计算结果(用户A的第一基准数据集为I、J、K);假定用户B的L、M不变,将N作为用户B已知的数据计算结果,利用L、M、N可以预计算出T+1日用户B的预测贷款利息计提,即作为T+1日用户B的预测计算结果(用户B的第一基准数据集为L、M、N);假定用户C的P、Q和S、U不变,将R作为用户C已知的数据计算结果,利用P、Q、R可以预计算出T+1日用户C的预测存款利息计提;将V作为用户C已知的数据计算结果,利用S、U、V可以预计算出T+1日用户C的预测贷款利息计提,预测存款利息计提和预测贷款利息计提即作为T+1日用户C的预测计算结果(用户C的存款利息计提的第一基准数据集为P、Q、R,贷款利息计提的第一基准数据集为S、U、V)。这里的预测计算结果可以在T+1日0至24时(例如0至24时数据计算资源占用量较少的时间)或者T+1日24时之后得出。
S202:确定所述目标数据相对于指定数据的数据变化。
本实施例中,可以确定目标数据相对于指定数据的数据变化。沿用上例,将第二基准数据选择为与第一基准数据相同,从而可以确定出每天24时相对于前一天24时该金融系统的数据变化,即T+1日24时相对于T日24时该金融系统的数据变化,包括用户的增减、用户存贷款金额的变化、用户存贷款利率的变化等。
在上例中,可以将T+1日从0时开始,每隔第一时间段作为一个阶段,例如每个1小时作为一个阶段,从而可以得到T+1日1时该金融系统的所有用户、用户存款和贷款金额以及存款和贷款利率,并作为第一个阶段的目标数据;T+1日2时该金融系统的所有用户、用户存款和贷款金额以及存款和贷款利率作为第二个阶段的目标数据;……;T+1日24时该金融系统的所有用户、用户存款和贷款金额以及存款和贷款利率做诶第二十四个阶段的目标数据。相应的,这二十四个阶段的目标数据都可以作为数据分段。
可以计算出T+1日1时相对于T日24时的数据变化,T+1日2时相对于T+1日1时的数据变化,……,T+1日24时相对于T+1日23时的数据变化,数据变化包括用户的增减、用户存贷款金额的变化、用户存贷款利率的变化等,进而如第二个实施例得到T+1日24时相对于T日24时的数据变化,即目标数据相对于指定数据的数据变化。
S203:根据所述数据变化和所述预测计算结果确定所述目标数据的实际计算结果。
在本实施例中,可以根据所述数据变化和得到的针对目标数据集的预测计算结果得到目标数据集的实际计算结果。沿用上例,实际计算结果包括每个用户在T+1日24时实际的存款或贷款利息计提。
例如,T+1日24时该金融系统相对于T日24时该金融系统的数据变化包括:增加用户D,用户D存款W元,存款利率为X;用户A存款金额变动至I1;用户C的存款利率变动至Q1,则在T+1日24时后,可以根据用户A的I1、J、K确定用户A在T+1日的实际存款利息计提;可以根据用户C的P、Q1、R确定用户C在T+1日的实际存款利息计提;可以根据用户D的W、X得到用户D在T+1日的实际存款利息计提。对于用户B,将其前述的预测贷款利息计提作为其在T+1日的实际贷款利息计提,即实际计算结果;对于用户C,将其前述的预测贷款利息计提作为其在T+1日的实际贷款利息计提,即实际计算结果。这样,可以得到全部目标数据的实际结算结果。若目标数据每天都确定,则上述实际处理结果的确定过程可以每次在确定目标数据后都进行。
在本实施例中,预测计算结果的得出不依赖于目标数据相对于指定数据的实际变化情况,也不依赖于目标数据是否全部确定,因而也就不限定于固定的时间点和时间段,即可以自由选择预测计算结果的确定时间,从而实现预测计算结果、确定数据变化、得出实际计算结果等步骤在时间、资源等方面的更均衡分配(比如充分利用数据计算资源相对空闲或者占用相对较少的时间来确定预测计算结果,在确定了S202中的数据变化后再确定实际计算结果),从而提高数据资源使用的均衡性和使用效率,数据计算能力或数据计算逻辑更有保障,更不易出现问题或错误;将数据计算拆分为预测数据计算结果和针对数据动态变化的计算,将预测计算结果和数据动态变化相结合,根据数据变化情况,可以在预测计算结果基础上进行修正或调整等来得到实际计算结果,即可以不每次都对目标数据重新进行全量计算,从而能够有效降低数据计算量,提高数据计算效率和时效性。如上例,用户B和用户C对应的贷款金额和利率没有发生变化,因而就可以直接使用预测计算结果作为两者的贷款利息计提,而不需要在T+1日24时后重新计算用户B和用户C的贷款利息计提。由于只需要在T+1日24时后对用户A、C、D的存款利息计提重新计算,而不需要对用户A、B、C、D对应的全部数据都进行计算,从而有效降低T+1日24时后需要重新计算利息计提的用户数或者数据量,提高全部用户的利息计提的计算效率,缩短T+1日24时后对T+1日所有用户的利息计提的计算时间。实际上,对于存贷款业务来说,通常存款数据(包括金额和利率)的变化频率较贷款数据(包括金额和利率)的变化频率要快,因而本实施例对于贷款利息计提这种每天数据变化可能较少的计算情景尤其适用,可以直接把后一天或后若干天的贷款利息计提都预计算出来,只要实际贷款数据确实没有变化,则可以利用预计算结果作为当天的实际计算结果,从而提高计算时效性。
如图13所示,对应于第二个实施例,本说明书第五个实施例提供了一种数据处理装置,包括:
结果预测模块301,用于确定目标数据的预测处理结果;
变化确定模块302,用于确定所述目标数据相对于指定数据的数据变化;
结果确定模块303,用于根据所述数据变化和所述预测处理结果确定所述目标数据的实际处理结果。
可选的,确定所述目标数据相对于指定数据的数据变化包括:
将所述目标数据分为若干个数据分段;
确定第一个数据分段相对于指定数据的数据变化,作为第一类数据变化;
确定每两个相邻数据分段之间的数据变化,作为第二类数据变化;
根据所述第一类和第二类数据变化确定所述目标数据相对于指定数据的数据变化。
可选的,根据所述第一类和第二类数据变化确定所述目标数据相对于指定数据的数据变化包括:
累积所述第一类数据变化和第二类数据变化,将累积结果作为所述目标数据相对于指定数据的数据变化。
可选的,根据所述数据变化和所述预测处理结果确定所述目标数据的实际处理结果包括:
将所述目标数据分为若干个数据分段;
确定第一个数据分段相对于指定数据的数据变化,根据所述第一个数据分段相对于指定数据的数据变化和所述预测处理结果确定所述第一个数据分段的实际处理结果;
确定每两个相邻数据分段之间的数据变化,根据该两个相邻分段之间的数据变化以及该两个相邻分段中前一个数据分段的实际处理结果,确定该两个相邻分段中后一个数据分段的实际处理结果;
根据各个数据分段的实际处理结果确定所述目标数据的实际处理结果。
可选的,根据各个数据分段的实际处理结果确定所述目标数据的实际处理结果包括:
将最后一个数据分段的实际处理结果作为所述目标数据的实际处理结果。
可选的,确定所述目标数据的各个产生阶段;
确定所述目标数据相对于指定数据的数据变化包括:
确定第一阶段目标数据相对于指定数据的数据变化,作为第三类数据变化;
确定每两个相邻阶段目标数据之间的数据变化,作为第四类数据变化;
根据所述第三类和第四类数据变化确定所述目标数据相对于指定数据的数据变化。
可选的,根据所述第三类和第四类数据变化确定所述目标数据相对于指定数据的数据变化包括:
累积所述第三类数据变化和第四类数据变化,将累积结果作为所述目标数据相对于指定数据的数据变化。
可选的,确定所述目标数据的各个产生阶段;
根据所述数据变化和所述预测处理结果确定所述目标数据的实际处理结果包括:
确定第一阶段目标数据相对于指定数据的数据变化,根据所述数据变化和所述预测处理结果确定所述第一阶段数据的实际处理结果;
确定每两个相邻阶段目标数据之间的数据变化,根据该两个相邻阶段之间的数据变化以及该两个相邻阶段中前一阶段目标数据的实际处理结果,确定该两个相邻阶段中后一阶段目标数据的实际处理结果;
根据各阶段目标数据的实际处理结果确定所述目标数据的实际处理结果。
可选的,根据各阶段目标数据的实际处理结果确定所述目标数据的实际处理结果包括:
将最后一个阶段目标数据的实际处理结果作为所述目标数据的实际处理结果。
可选的,将第一时间段内产生的数据作为所述目标数据。
可选的,在所述目标数据全部确定前或全部确定后,确定所述预测处理结果。
可选的,确定目标数据的预测处理结果包括:
根据已知的数据处理结果确定目标数据的预测处理结果。
可选的,所述已知的数据处理结果为所述目标数据确定前已知的第一数据集合的数据处理结果;
和/或,
将所述目标数据确定前已知的第二数据集合作为所述指定数据。
可选的,所述第一数据集合和所述第二数据集合为同一数据集合;
和/或,
所述第一数据集合和所述第二数据集合包含相同的数据。
可选的,根据所述数据变化和所述预测处理结果确定所述目标数据的实际处理结果包括:
根据所述数据变化调整所述预测处理结果,以得到所述实际处理结果。
如图14所示,对应于第四个实施例,本说明书第六个实施例提供了一种数据计算装置,包括:
结果预测模块401,用于确定目标数据的预测计算结果;
变化确定模块402,用于确定所述目标数据相对于指定数据的数据变化;
结果确定模块403,用于根据所述数据变化和所述预测计算结果确定所述目标数据的实际计算结果。
可选的,确定目标数据的预测计算结果包括:
根据已知的数据计算结果确定目标数据的预测计算结果。
本说明书第七个实施例提供了一种数据处理设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
确定目标数据的预测处理结果;
确定所述目标数据相对于指定数据的数据变化;
根据所述数据变化和所述预测处理结果确定所述目标数据的实际处理结果。
本说明书第八个实施例提供了一种数据计算设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
确定目标数据的预测计算结果;
确定所述目标数据相对于指定数据的数据变化;
根据所述数据变化和所述预测计算结果确定所述目标数据的实际计算结果。
本说明书第九个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如下的步骤:
确定目标数据的预测处理结果;
确定所述目标数据相对于指定数据的数据变化;
根据所述数据变化和所述预测处理结果确定所述目标数据的实际处理结果。
本说明书第十个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如下的步骤:
确定目标数据的预测计算结果;
确定所述目标数据相对于指定数据的数据变化;
根据所述数据变化和所述预测计算结果确定所述目标数据的实际计算结果。
上述各实施例可以结合使用。
上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,附图中描绘的过程不一定必须按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供的装置、设备、非易失性计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware DescrIP地址tion Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescrIP地址tion Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware DescrIP地址tion Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware DescrIP地址tion Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware DescrIP地址tion Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、MicrochIP地址PIC18F26K20以及Silicone LabsC8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。