一种计息数据处理方法及装置
技术领域
本说明书实施例涉及数据处理技术领域,尤其涉及一种计息数据处理方法及装置。
背景技术
在银行、信托投资公司等金融机构中,计息(利息计算,如存款利息计算、贷款利息计算)一般是基本业务需求之一,计息往往涉及到的用户数量非常庞大,尤其对于上亿级别的用户计息需要耗费较长的时间,而如果计息时间过长,对于后续金融机构的各种监管报表产出、用户业务办理等都可能产生影响,因此如何减少计息时间以提高时效性是当前急需解决的问题。
而目前金融机构为了减少计息时间以提高时效性,一般是通过夜间的批处理任务遍历全量用户账户,即计息平台需要从远程数据源(例如数据库)获取当前全量用户的产品、合约、账户等计息数据,并根据这些计息数据为每个用户进行利息计算,其中计息平台与远程数据源相互独立。
目前计息平台为每个用户进行利息计算直接从远程数据源获取当前全量用户的计息数据,由于计息数据数据量庞大,获取数据的耗时比较长,后续导致计息时间较长,时效性较低。
发明内容
针对上述技术问题,本说明书实施例提供一种计息数据处理方法及装置,技术方案如下:
一种计息数据处理方法,应用于计息平台,在所述计息平台中每次计息时记录当次全量用户以及对应的计息数据,该方法包括:
确定增量用户,所述增量用户包括:新增加的用户和/或计息数据存在变动的用户;
从远程获取增量用户的最新计息数据;
从本地获取非增量用户的历史计息数据;
将所获取的增量用户的最新计息数据与所获取的非增量用户的历史计息数据进行整合,得到当前全量用户所对应的计息数据;
根据所述当前全量用户所对应的计息数据,计算每个用户当前利息。
一种计息数据处理装置,应用于计息平台,该装置包括:
记录模块,用于在所述计息平台中每次计息时记录当次全量用户以及对应的计息数据;
用户确定模块,用于确定增量用户,所述增量用户包括:新增加的用户和/或计息数据存在变动的用户;
第一数据获取模块,用于从远程获取增量用户的最新计息数据;
第二数据获取模块,用于从本地获取非增量用户的历史计息数据;
数据整合模块,用于将所获取的增量用户的最新计息数据与所获取的非增量用户的历史计息数据进行整合,得到当前全量用户所对应的计息数据;
数据处理模块,用于根据所述当前全量用户所对应的计息数据,计算每个用户当前利息。
本说明书实施例所提供的技术方案,通过确定增量用户,从远程获取该增量用户对应的计息数据,从本地获取非增量用户对应的历史计息数据,将所获取的增量用户的最新计息数据与所获取的非增量用户的历史计息数据进行整合,得到当前全量用户所对应的计息数据,根据该当前全量用户所对应的计息数据,计算每个用户当前利息。如此一来仅仅需要从远程获取增量用户所对应的计息数据,由于增量用户所对应的计息数据相对较小,获取数据的耗时会减少,由此可以减少计息时间,提高时效性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本说明书实施例的计息数据处理方法的流程示意图;
图2是本说明书实施例的计息数据处理装置的结构示意图;
图3是用于配置本说明书实施例装置的一种设备的结构示意图。
具体实施方式
一般在银行、信托投资公司等金融机构中,利息计算往往涉及到的用户数量非常庞大,对于上亿级别的用户进行利息计算需要耗费较长的时间,如何减少利息计算时间提高时效性是当前急需解决的问题。
目前金融机构一般是通过夜间的批处理任务遍历全量用户账户来进行计息,即在夜间某个时间,计息平台一次性从远程数据源(例如数据库)获取当前全量用户的产品、合约、账户等计息数据,并根据这些计息数据为每个用户进行利息计算,由于计息平台与远程数据源相互独立,属于两个不同的平台,从远程数据源获取的是全量用户的产品、合约、账户等计息数据,数据量庞大,获取数据的耗时比较长,导致计息时间较长,时效性较低。
通过对现有技术方案的分析,申请人发现并不需要一次性从远程数据源获取全量用户的产品、合约、账户等计息数据,仅仅只需要获取增量用户所对应的计息数据即可,因为对于大部分用户来说,在短时间内用户的产品、合约、账户等计息数据并不会改变,重复获取这些数据毫无意义,只会增加时长。为此,本说明书实施例提供一种技术方案,通过确定增量用户,从远程获取该增量用户对应的计息数据,从本地获取非增量用户对应的历史计息数据,将所获取的增量用户的最新计息数据与所获取的非增量用户的历史计息数据进行整合,得到当前全量用户所对应的计息数据,根据该当前全量用户所对应的计息数据,计算每个用户当前利息。如此一来仅仅需要从远程获取增量用户所对应的计息数据,由于增量用户所对应的计息数据相对较小,获取数据的耗时会减少,由此可以减少计息时间,提高时效性。
具体的,本说明书实施例提供的技术方案如下:
确定增量用户,所述增量用户包括:新增加的用户和/或计息数据存在变动的用户;从远程获取增量用户的最新计息数据;从本地获取非增量用户的历史计息数据;将所获取的增量用户的最新计息数据与所获取的非增量用户的历史计息数据进行整合,得到当前全量用户所对应的计息数据;根据所述当前全量用户所对应的计息数据,计算每个用户当前利息。
在本说明书中,计息平台是一种利息计算的平台,在计息平台中包含SPARK/ODPS等大数据平台,其可以并行高效的进行亿级用户的利息计算,其中在该计息平台中每次进行利息计算时记录当次全量用户以及对应的计息数据。另外计息数据,为用户的产品、合约、账户等数据,产品一般指用户购买的哪类产品,例如可以是某个理财产品,或者可以是定期存款、活期存款,合约一般指用户与金融机构签约的年限,并包含利率,例如用户购买某个理财产品,与金融机构签合约,期限五年,回报利率为3.5%,账户一般指用户账户中余额(即本金)。
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
参见图1所示,为本说明书实施例提供的一种计息数据处理方法的实施流程图,其具体可以包括以下步骤:
S101,确定增量用户,所述增量用户包括:新增加的用户和/或计息数据存在变动的用户;
在本说明书中,从远程数据源,例如从远程数据库中获取增量用户所对应的计息数据,前提是需要确定增量用户,其中增量用户为新增加的用户和/或计息数据存在变动的用户。
新增加的用户,顾名思义,即金融机构中新开户的用户,计息数据存在变动的用户,意味着用户的产品、合约、账户等计息数据存在变动,例如对于活期存款,用户的本金、利率可能随时变动。例如对于某个银行,在一天之内有100个新用户开户,然后有50个用户更改了产品、合约、账户等计息数据,则可以确定这150个用户为增量用户。另外还可以确定减量用户,该减量用户为金融机构中减少的用户,即金融机构中进行销户的用户。
一般地,金融机构会将用户的一些信息存储到数据库中,即将用户的一些信息存储到上述所说的远程数据源中,例如每次有新用户开户,相应的会在数据库中进行记录,为此在本说明书提供的技术方案中可以在远程数据源中生成数据变动日志,用于记录新开户的用户和/或更改了产品、合约、账户等计息数据的用户,即记录增量用户。基于上述数据变动日志,本说明书实施例提供一种确定增量用户的实现方式,具体为:监听远程数据源中是否存在数据变动日志;若存在,则获取该数据变动日志;解析该数据变动日志中的增量用户记录,确定增量用户;若不存在,则表示不存在增量用户。其中也可以通过上述实现方式确定减量用户,本说明书实施例在此不再一一赘述。
值得注意的是上述实现方式只是众多实现方式的一种,也可以在线监听,确定新开户的用户和/或更改了产品、合约、账户等计息数据的用户,本说明书实施例在此不再一一赘述。
S102,从远程获取增量用户的最新计息数据;
针对S101中确定的增量用户,获取与其对应的最新计息数据。其中若确定的增量用户为新增加的用户,获取新增加的用户当前所对应的最新计息数据;若确定的增量用户为计息数据存在变动的用户,获取计息数据存在变动的用户当前所对应的最新计息数据;若确定的增量用户为新增加的用户以及计息数据存在变动的用户,获取新增加的用户当前所对应的计息数据以及计息数据存在变动的用户当前所对应的最新计息数据。
其中可以在预设的时间段内分批次从远程数据源中获取该增量用户当前所对应的最新计息数据,也可以一次性从远程数据源中获取该增量用户当前所对应的最新计息数据,具体的实现方式有很多种,本说明书实施例在此不再一一赘述。
S103,从本地获取非增量用户的历史计息数据;
其中在计息平台中每次进行利息计算时都会记录当次全量用户以及所对应的计息数据,后续为了得到当前全量用户所对应的计息数据,需要从本地获取非增量用户的历史计息数据,其中非增量用户因增量用户的不同而不同。
具体的,若所确定的增量用户为新增加的用户,则获取本地上一次的全量用户历史记录,确定本地上一次的全量用户历史记录的所有用户为非增量用户,从本地获取非增量用户的历史计息数据。例如若所确定的增量用户为新增加的用户F,则获取上一次的全量用户历史记录,记录着上一次的全量用户:用户A、用户B、用户C、用户D、用户E,则可以确定上一次的全量用户历史记录中的所有用户(即上一次的全量用户)为非增量用户,从本地获取用户A、用户B、用户C、用户D、用户E的历史计息数据。
若所确定的增量用户为计息数据存在变动的用户,则获取本地上一次的全量用户历史记录,从本地上一次的全量用户历史记录中剔除所述增量用户,确定本地上一次的全量用户历史记录中剩余用户为非增量用户,从本地获取非增量用户的历史计息数据。例如若所确定的增量用户为计息数据存在变动的用户E,则获取上一次的全量用户历史记录,记录着上一次的全量用户:用户A、用户B、用户C、用户D、用户E,从本地上一次的全量用户历史记录中剔除用户E,确定上一次的全量用户历史记录中剩余用户为非增量用户,即确定用户A、用户B、用户C、用户D为非增量用户,从本地获取用户A、用户B、用户C、用户D的历史计息数据。
若所确定的增量用户为新增加的用户以及计息数据存在变动的用户,则获取本地上一次的全量用户历史记录,从本地上一次的全量用户历史记录中剔除所述增量用户,确定本地上一次的全量用户历史记录中剩余用户为非增量用户,从本地获取非增量用户的历史计息数据。例如若所确定的增量用户为新增加的用户F以及计息数据存在变动的用户E,则获取上一次的全量用户历史记录,记录着上一次的全量用户:用户A、用户B、用户C、用户D、用户E,从本地上一次的全量用户历史记录中剔除用户E,确定上一次的全量用户历史记录中剩余用户为非增量用户,即确定用户A、用户B、用户C、用户D为非增量用户,从本地获取用户A、用户B、用户C、用户D的历史计息数据。
S104,将所获取的增量用户的最新计息数据与所获取的非增量用户的历史计息数据进行整合,得到当前全量用户所对应的计息数据;
在得到增量数据之后,增量数据即增量用户所对应的最新计息数据,将得到的增量用户所对应的最新计息数据与获取的非增量用户的历史计息数据进行整合,得到当前全量用户所对应的计息数据。
其中为了避免不必要的计算,优选的可以从本地获取的非增量用户的历史计息数据中剔除减量用户所对应的计息数据,然后与增量用户所对应的最新计息数据进行整合,得到当前全量用户所对应的计息数据。
若所确定的增量用户为新增加的用户,则从远程数据源所获取的最新计息数据为新增加的用户所对应的最新计息数据,将所获取的增量用户的最新计息数据直接与所获取的非增量用户的历史计息数据进行整合,得到当前全量用户所对应的计息数据,即在所获取的非增量用户的历史计息数据的基础之上直接添加所获取的增量用户的最新计息数据即可得到当前全量用户的计息数据。例如,若所确定的增量用户为新增加的用户F,从远程数据源所获取的最新计息数据为新增加的用户F所对应的最新计息数据,非增量用户的历史计息数据为用户A、用户B、用户C、用户D、用户E的历史计息数据,两者进行整合,得到当前全量用户(用户A、用户B、用户C、用户D、用户E、用户F)的计息数据。
若所确定的增量用户为计息数据存在变动的用户,则从远程数据源所获取的最新计息数据为计息数据存在变动的用户所对应的最新计息数据,将所获取的最新计息数据直接与所获取的非增量用户的历史计息数据进行整合,得到当前全量用户所对应的计息数据,即在所获取的非增量用户的历史计息数据的基础之上直接添加所获取的增量用户的最新计息数据即可得到当前全量用户的计息数据。例如,若所确定的增量用户为计息数据存在变动的用户E,从远程数据源获取用户E的最新计息数据,非增量用户的历史计息数据为用户A、用户B、用户C、用户D的历史计息数据,两者进行整合,得到当前全量用户(用户A、用户B、用户C、用户D、用户E)的计息数据。
若所确定的增量用户为新增加的用户以及计息数据存在变动的用户,则从远程数据源所获取的最新计息数据为新增加的用户以及计息数据存在变动的用户对应的最新计息数据,将所获取的增量用户的最新计息数据与所获取的非增量用户的历史计息数据进行整合,得到当前全量用户的计息数据。例如,若所确定的增量用户为新增加的用户F以及计息数据存在变动的用户E,则获取的增量用户的最新计息数据为用户F以及用户E的最新计息数据,非增量用户的历史计息数据为用户A、用户B、用户C、用户D的历史计息数据,两者进行整合,得到当前全量用户(用户A、用户B、用户C、用户D、用户E、用户F)的计息数据。
S105,根据所述当前全量用户所对应的计息数据,计算每个用户当前利息。
在得到当前全量用户所对应的计息数据之后,可以根据SPARK/ODPS等大数据平台,并行高效的进行用户的利息计算,可以计算出当前每一个用户的利息。例如,一条计息数据为“产品:理财产品,合约:一年、利率3.5%,用户账户:1200……,账户余额:10000”,根据这条计息数据可以计算出这个用户的当前利息。
在计算完每个用户当前利息之后,生成计息报表,基于该计息报表,可以对每个用户进行结息,即利息结算,把每个用户的当前利息放入到用户的个人账户中。具体的可以基于结息主体机构、货币类型以及用户账户等维度将该计息报表分发到实际服务器集群中,由服务器集群真正做到利息落入到用户个人账户中。其中结息主体机构,例如对于某个银行,结息主体机构可以是某个分行,货币类型,即币种,例如人民币、美元等,用户账户即用户个人账户,在金融机构中的个人开户账号。
通过上述对本说明实施例提供的技术方案的描述,通过确定增量用户,从远程获取该增量用户对应的计息数据,从本地获取非增量用户对应的历史计息数据,将所获取的增量用户的最新计息数据与所获取的非增量用户的历史计息数据进行整合,得到当前全量用户所对应的计息数据,根据该当前全量用户所对应的计息数据,计算每个用户当前利息。如此一来仅仅需要从远程获取增量用户所对应的计息数据,由于增量用户所对应的计息数据相对较小,获取数据的耗时会减少,由此可以减少计息时间,提高时效性。
与上述方法实施例相对应,本说明书实施例还提供一种计息数据处理装置,参见图2所示,可以包括:记录模块210、用户确定模块220、第一数据获取模块230、第二数据获取模块240、数据整合模块250、数据处理模块260。
记录模块210,用于在所述计息平台中每次计息时记录当次全量用户以及对应的计息数据;
用户确定模块220,用于确定增量用户,所述增量用户包括:新增加的用户和/或计息数据存在变动的用户;
第一数据获取模块230,用于从远程获取增量用户的最新计息数据;
第二数据获取模块240,用于从本地获取非增量用户的历史计息数据;
数据整合模块250,用于将所获取的增量用户的最新计息数据与所获取的非增量用户的历史计息数据进行整合,得到当前全量用户所对应的计息数据;
数据处理模块260,用于根据所述当前全量用户所对应的计息数据,计算每个用户当前利息。
在本说明书的一种具体实施方式中,所述用户确定模块220具体用于:
监听是否存在数据变动日志;
若是,则获取所述数据变动日志;
解析所述数据变动日志中的增量用户记录,确定增量用户。
在本说明书的一种具体实施方式中,所述第二数据获取模块240具体用于:
若所确定的增量用户为新增加的用户,则获取本地上一次的全量用户历史记录;
确定本地上一次的全量用户历史记录的所有用户为非增量用户;
从本地获取非增量用户的历史计息数据。
在本说明书的一种具体实施方式中,所述第二数据获取模块240具体用于:
若所确定的增量用户为计息数据存在变动的用户,则获取本地上一次的全量用户历史记录;
从本地上一次的全量用户历史记录中剔除所述增量用户,确定本地上一次的全量用户历史记录中剩余用户为非增量用户;
从本地获取非增量用户的历史计息数据。
在本说明书的一种具体实施方式中,所述第二数据获取模块240具体用于:
若所确定的增量用户为新增加的用户以及计息数据存在变动的用户,则获取本地上一次的全量用户历史记录;
从本地上一次的全量用户历史记录中剔除所述增量用户,确定本地上一次的全量用户历史记录中剩余用户为非增量用户;
从本地获取非增量用户的历史计息数据。
在本说明书的一种具体实施方式中,所述装置还包括:
结息模块270,用于在计算完每个用户当前利息之后,生成计息报表;
基于所述计息报表,对每个用户进行结息。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
通过上述对本说明实施例提供的技术方案的描述,通过确定增量用户,从远程获取该增量用户对应的计息数据,从本地获取非增量用户对应的历史计息数据,将所获取的增量用户的最新计息数据与所获取的非增量用户的历史计息数据进行整合,得到当前全量用户所对应的计息数据,根据该当前全量用户所对应的计息数据,计算每个用户当前利息。如此一来仅仅需要从远程获取增量用户所对应的计息数据,由于增量用户所对应的计息数据相对较小,获取数据的耗时会减少,由此可以减少计息时间,提高时效性。
本说明书实施例还提供一种计算机设备,如图3所示,该设备可以包括:处理器310、存储器320、输入/输出接口330、通信接口340和总线350。其中处理器310、存储器320、输入/输出接口330和通信接口340通过总线350实现彼此之间在设备内部的通信连接。
处理器310可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器320可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器320可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器320中,并由处理器310来调用执行。
输入/输出接口330用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口340用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线350包括一通路,在设备的各个组件(例如处理器310、存储器320、输入/输出接口330和通信接口340)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器310、存储器320、输入/输出接口330、通信接口340以及总线350,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的计息数据处理方法。该方法至少包括:
一种计息数据处理方法,应用于计息平台,在所述计息平台中每次计息时记录当次全量用户以及对应的计息数据,该方法包括:
确定增量用户,所述增量用户包括:新增加的用户和/或计息数据存在变动的用户;
从远程获取增量用户的最新计息数据;
从本地获取非增量用户的历史计息数据;
将所获取的增量用户的最新计息数据与所获取的非增量用户的历史计息数据进行整合,得到当前全量用户所对应的计息数据;
根据所述当前全量用户所对应的计息数据,计算每个用户当前利息。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。