余额查询方法、装置及设备与流程

文档序号:14120464阅读:256来源:国知局
余额查询方法、装置及设备与流程

本说明书涉及数据处理领域,尤其涉及余额查询方法、装置及设备。



背景技术:

随着支付时代迈向金融时代,品类丰富的金融产品出现。例如,用户可以通过客户端购买基金、招财宝等进行投资,通过客户端进行资金拆借实现融资等,用户的投资和融资最终都会形成用户的资产。余额可以用于表示资产的金额或基金份额等。余额可能应用在多种应用场景中,例如,接收到用户触发生成的查询请求,根据查询请求查询余额。又如,余额作为计算收益的重要因子,在需要进行收益计算时进行余额查询等。

在涉及到余额变动时可以记录余额变动记录。其中,余额变动记录可以包括资产标识、余额类型、币种、入账数据、出账数据和当前余额等属性。目前可以针对每笔资产查询小于或等于指定日期的最近一条余额变动记录,从而从余额变动记录中获得该笔资产的余额。由于每笔资产的余额变动记录在有余额变动时才会更新,不同笔资产的余额变动日期可能不同,因此针对每笔资产需要分别生成查询语句进行查询,查询效率低。

鉴于此,提供一种快速的查询余额的方案显得尤为重要。



技术实现要素:

为克服相关技术中存在的问题,本说明书提供了余额查询方法、装置及设备。

一种余额查询方法,所述方法包括:

接收查询请求,所述查询请求用于查询至少两笔目标资产在指定日期的余额,所述至少两笔目标资产的指定日期相同;

根据所述指定日期以及查询请求中至少两笔目标资产的资产标识构建一条查询语句,用于查询至少两笔目标资产在小于或等于指定日期内发生余额变动时的入账数据和出账数据;

根据每笔目标资产的入账数据与出账数据进行余额计算,获得每笔目标资产在指定日期的余额。

在一个可选的实现方式中,所述指定日期以日为最小时间单位,若一笔资产在同一日内首次发生余额变动时,新建入账数据和/或出账数据;若一笔资产在同一日内非首次发生余额变动时,更新已建立的入账数据和/或出账数据,以使一笔资产在同一日内最多包含一笔入账数据和/或一笔出账数据。

在一个可选的实现方式中,基于余额变动记录预先构建索引表,所述索引表包含资产标识、余额变动日期、余额变动时的入账数据和出账数据四个属性,所述余额变动记录在余额发生变动时进行更新;

所述根据所述指定日期以及查询请求中至少两笔目标资产的资产标识构建一条查询语句,用于查询至少两笔目标资产在小于或等于指定日期内发生余额变动时的入账数据和出账数据,包括:

基于所述查询请求中至少两笔目标资产的资产标识以及小于或等于指定日期构建一条查询语句;

根据所构建的查询语句从索引表中一次查询出小于或等于指定日期的余额变动日期、且资产标识为目标资产的资产标识对应的入账数据和出账数据。

在一个可选的实现方式中,所述根据每笔目标资产的入账数据与出账数据进行余额计算,获得每笔目标资产在指定日期的余额,包括:

根据每笔目标资产的资产标识,将查询获得的入账数据和出账数据进行分组;

将每组数据中入账数据的总和与出账数据的总和求差值,获得该组数据对应的目标资产在指定日期的余额。

在一个可选的实现方式中,所述方法还包括:

若目标资产在小于或等于指定日期内不存在入账数据或出账数据,则将目标资产在指定日期的余额设置为零。

一种余额查询装置,所述装置包括:

请求接收模块,用于接收查询请求,所述查询请求用于查询至少两笔目标资产在指定日期的余额,所述至少两笔目标资产的指定日期相同;

数据查询模块,用于根据所述指定日期以及查询请求中至少两笔目标资产的资产标识构建一条查询语句,用于查询至少两笔目标资产在小于或等于指定日期内发生余额变动时的入账数据和出账数据;

余额获得模块,用于根据每笔目标资产的入账数据与出账数据进行余额计算,获得每笔目标资产在指定日期的余额。

在一个可选的实现方式中,所述指定日期以日为最小时间单位,所述装置还包括数据记录模块,用于:若一笔资产在同一日内首次发生余额变动时,新建入账数据和/或出账数据;若一笔资产在同一日内非首次发生余额变动时,更新已建立的入账数据和/或出账数据,以使一笔资产在同一日内最多包含一笔入账数据和/或一笔出账数据。

在一个可选的实现方式中,基于余额变动记录预先构建索引表,所述索引表包含资产标识、余额变动日期、余额变动时的入账数据和出账数据四个属性,所述余额变动记录在余额发生变动时进行更新;

所述数据查询模块具体用于:

基于所述查询请求中至少两笔目标资产的资产标识以及小于或等于指定日期构建一条查询语句;

根据所构建的查询语句从索引表中一次查询出小于或等于指定日期的余额变动日期、且资产标识为目标资产的资产标识对应的入账数据和出账数据。

在一个可选的实现方式中,所述余额获得模块具体用于:

根据每笔目标资产的资产标识,将查询获得的入账数据和出账数据进行分组;

将每组数据中入账数据的总和与出账数据的总和求差值,获得该组数据对应的目标资产在指定日期的余额。

在一个可选的实现方式中,所述余额获得模块还用于:

若目标资产在小于或等于指定日期内不存在入账数据或出账数据,则将目标资产在指定日期的余额设置为零。

一种计算机设备,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

接收查询请求,所述查询请求用于查询至少两笔目标资产在指定日期的余额,所述至少两笔目标资产的指定日期相同;

根据所述指定日期以及查询请求中至少两笔目标资产的资产标识构建一条查询语句,用于查询至少两笔目标资产在小于或等于指定日期内发生余额变动时的入账数据和出账数据;

根据每笔目标资产的入账数据与出账数据进行余额计算,获得每笔目标资产在指定日期的余额。

周期性余额表征资产在指定周期最后一刻的持有数量。

本说明书的实施例提供的技术方案可以包括以下有益效果:

本说明书实施例在接收到用于查询至少两笔目标资产在同一指定日期的余额时,根据指定日期以及目标资产的资产标识构建一条查询语句,实现一次查询获得至少两笔目标资产在小于或等于指定日期内发生余额变动时的入账数据和出账数据,根据每笔目标资产的入账数据与出账数据进行余额计算,获得每笔目标资产在指定日期的余额。可见,针对至少两笔资产,只需构建一条查询语句实现一次查询,无需针对每笔目标资产分别构建查询语句,避免多次查询导致查询耗时累计,因此提高了查询效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。

图1为本说明书根据一示例性实施例示出的一种余额查询方法的流程图。

图2为本说明书根据一示例性实施例示出的另一种余额查询方法的示意图。

图3为本说明书余额查询装置所在计算机设备的一种硬件结构图。

图4是本说明书根据一示例性实施例示出的一种余额查询装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。

在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

随着支付时代迈向金融时代,品类丰富的金融产品出现。例如,用户可以通过客户端购买基金、招财宝等进行投资,通过客户端进行资金拆借实现融资等,用户的投资和融资最终都会形成用户的资产。余额可以用于表示资产的金额或基金份额等。余额可能应用在多种应用场景中,例如,接收到用户触发生成的查询请求,根据查询请求查询资产在指定日期的余额。又如,余额作为计算收益的重要因子,在需要进行收益计算时进行余额查询等。

其中,资产收益是用户持有资产的增值部分。资产主要有两种增值形式:一种是资产的时间成本形式,例如用户存放在银行的活期存款,按照存款利率和持有天数进行增值;另一种是资产对标公允价值变化形式,例如用户购买股票型基金,基金投资的股票的市值上涨,则对应的基金资产也会增值获得收益。

收益计算是用户持有资产的增值部分的计算确认过程,以资产收益的两种增值形式进行说明收益计算的定义:针对时间成本增值型的活期存款利息,收益计算可以是结合日终余额、利率(成本率)和存期(时间长度)等因子计算最终利息值的过程;对标公允价值变化增值型的基金收益,收益计算可以是结合用户持有的基金份额(日终余额)和基金净值等因子,计算最终收益的过程。资产的收益是资产质量的重要衡量指标,是用户购买资产的主要参照之一。而日终余额表示资产在对应日期最后一刻的持有金额或数量,此处所指最后一刻和资产品类相关,并非完全和自然日最后一刻(24点)对等。在时间成本增值型的活期存款利息中对应到活期存款的24点的余额,则最后一刻可以为24点;在对标公允价值变化增值型的基金收益中对应到基金的15点的份额,则最后一刻可以为15点。

可见,在需要进行收益计算时可以进行余额查询。查询余额还可以应用在其他应用场景中,在此不一一赘述。随着品类丰富的金融产品出现,不仅可能由于不同用户持有不同资产导致存在余额批量查询的需求,还可能由于同一用户持有多个资产导致存在余额批量查询的需求。因此需要提供一种余额批量查询的方案。

由于固定周期记载余额变动记录会存在对存储资源的大量浪费,因此,只有在余额变动时才会记载余额变动记录。其中,余额变动记录可以包括资产标识、余额类型、币种、入账数据、出账数据和当前余额等属性。

目前,查询一笔资产在指定日期的余额时,可以查询指定日期是否存在余额变动记录,如果存在,从该余额日变动记录中获取余额,并将获取的余额确定为资产在指定日期的余额;如果不存在余额变动记录,以指定日期为时间基线,回溯余额变动记录,将余额变动记录按时间顺序进行排列,获取最新一条余额变动记录,进而获得资产在指定日期的余额。

然而针对至少两个资产进行余额查询时,由于每笔资产的余额变动记录只在有余额变动时才会记录(即余额变更记录并非每天存在),不同笔资产的余额变动日期可能不同,因此针对每笔资产需要分别生成查询语句进行查询,服务的耗时会随着资产数量的增加而线性增加,查询效率低。

鉴于此,本说明书实施例提供一种快速查询余额的方案。本说明书实施例在接收到用于查询至少两笔目标资产在同一指定日期的余额时,根据指定日期以及目标资产的资产标识构建一条查询语句,实现一次查询获得至少两笔目标资产在小于或等于指定日期内发生余额变动时的入账数据和出账数据,根据每笔目标资产的入账数据与出账数据进行余额计算,获得每笔目标资产在指定日期的余额。可见,针对至少两笔资产,只需构建一条查询语句实现一次查询,无需针对每笔目标资产分别构建查询语句,避免多次查询导致查询耗时累计,因此提高了查询效率。

如图1所示,图1为本说明书根据一示例性实施例示出的一种余额查询方法的流程图,该方法可以用于数据库中,该方法可以包括步骤102、104和106。

在步骤102中,接收查询请求,所述查询请求用于查询至少两笔目标资产在指定日期的余额,所述至少两笔目标资产的指定日期相同。

在步骤104中,根据所述指定日期以及查询请求中至少两笔目标资产的资产标识构建一条查询语句,用于查询至少两笔目标资产在小于或等于指定日期内发生余额变动时的入账数据和出账数据。

在步骤106中,根据每笔目标资产的入账数据与出账数据进行余额计算,获得每笔目标资产在指定日期的余额。

其中,在不同的应用场景中,发送查询请求的执行主体可以不同,步骤102至步骤106的执行主体也可以不同。例如,在用户需要查询目标资产在指定日期的余额的场景中,用户可以通过客户端向服务端发送查询请求,由服务端执行步骤102至106,并将查询结果返回至客户端。又如,在需要计算收益的场景中,资产收益计算模块可以向数据库发送查询请求,由数据库执行步骤102至步骤106,并将查询结果返回至资产收益计算模块。

查询请求可以用于查询至少两笔目标资产在指定日期的余额。本方案的应用场景可以是涉及查询多笔目标资产的余额的情况,可以理解的是,查询一笔目标资产的余额时也可以采用本说明书实施例方案。多笔目标资产可以是同一用户的资产,也可以是不同用户的资产。在查询请求中可以携带有目标资产的资产标识以及指定日期。资产标识是用于标识目标资产的标识,不同资产的资产标识不同,以实现利用资产标识区分不同资产。同一用户账号下可能存在多个资产,为了区分同一用户账号下的不同资产,可以在所述用户账号的基础上,结合不同资产,生成不同资产的资产标识,该资产标识可以是资产账号、资产账户等。

关于指定日期,指定日期为历史日期。指定日期可以以指定周期为最小时间单位,例如,指定日期可以以秒、分、时、日、周、月或年等指定周期为最小时间单位。例如,指定日期以日为最小时间单位时,指定日期的格式可以是00年00月00日或者0000-00-00等格式,如指定日期可以是20170501,则可以查询资产在2017年5月1日的余额。又如,指定日期以年为最小时间单位时,指定日期可以是2016年,则可以查询资产在2016年的余额。

相应的,指定日期的余额可以是周期末余额,例如,秒终余额、分终余额、时终余额、日终余额、周终余额、月终余额或年终余额等。所谓周期末余额,表示资产在指定周期内最后一时刻的金额或份额。以日终余额为例,日终余额表示资产在一天中最后时刻的金额或份额。

而实际应用中,在余额变动时才会将变动数据记录在余额变动记录中。变动数据可以包括入账数据、出账数据、当前余额等信息。其中,入账数据是流入账户的数据,又可以称为流入数据。例如,可以是流入金额,流入基金份额等。出账数据是流出账户的数据,又可以称为流出数据。例如,可以是流出金额,流出基金份额等。

作为一种记录方式,每次发生余额变动时均生成一条余额变动记录,当指定日期的余额为周期末余额时,可以获取小于或等于该指定日期内所有余额变动记录,进而获得至少两笔目标资产在小于或等于指定日期内发生余额变动时的入账数据和出账数据。

为了提高后续查询效率,同一周期内的变动数据记录在同一条余额变动记录中,不同周期内的变动数据记录在不同条余额变动记录中。若一笔资产在一周期内首次发生余额变动,新建该周期的余额变动记录;若一笔资产在同一周期内非首次发生余额变动时,更新该周期的余额变动记录,以使一笔资产在同一周期内最多包含一条余额变动记录。其中,由于余额变动往往是入账数据或出账数据导致的,因此可以将入账数据或出账数据、以及更新后的余额记录在该周期对应的余额变动记录中。变动数据至少包括入账数据和出账数据。

将指定日期以日为最小时间单位进行示例说明,资产在同一日内发生余额变动时,将变动数据记录在同一条余额变动记录中;资产在不同日内发生余额变动时,将变动数据记录在不同条余额变动记录中。具体的,若一笔资产在同一日内首次发生余额变动时,新建入账数据和/或出账数据;若一笔资产在同一日内非首次发生余额变动时,更新已建立的入账数据和/或出账数据,以使一笔资产在同一日内最多包含一笔入账数据和/或一笔出账数据。

其中,所述同一日可以根据资产品类所规定的最后一刻进行划分获得。例如,若最后一刻为24点,则一日划分方式为:当日的0点至24点。如果最后一刻为15点,则一日划分方式为:前一天的15点至当天的15点。

在同一周期内进行多次余额变动,将每次余额变动获得的变动数据进行更新替换,从而使余额变动记录中每个属性最多只有一个赋值。更新替换时会对变动数据进行累计。例如,同一周期内,若第一次余额变动为入账1万人民币,则建立该周期的余额变动记录,余额变动记录可以包括:

资产标识(xxxx)、入账数据(1万元)、出账数据(0)、余额(上周期余额+1万)、币种(人民币)……;

若第二次余额变动为入账2万人民币,则将余额变动记录中的入账数据和余额进行更新,余额变动记录更新为:

资产标识(xxxx)、入账数据(3万元)、出账数据(0)、余额(上周期余额+3万)、币种(人民币)……。

由于查询请求中多笔目标资产的指定日期相同,因此,可以将指定日期作为时间线进行一次查询,例如,可以基于指定日期以及查询请求中至少两笔目标资产的资产标识构建一条查询语句,用于查询至少两笔目标资产在小于或等于指定日期内发生余额变动时的入账数据和出账数据。

在一个例子中,由于在余额变动时会进行余额变动记录,而余额变动记录中至少包括资产标识、余额变动日期、入账数据、出账数据以及当前余额,因此,可以根据目标资产的资产标识以及指定日期进行查询,查询获得小于或等于指定日期的余额变动日期、且资产标识为目标资产的资产标识的余额变动记录,并从余额变动记录中获得入账数据和出账数据。

然而,在查询获得小于或等于指定日期的余额变动日期、且资产标识为目标资产的资产标识的余额变动记录,需要通过回表的方式,从余额变动记录中获取入账数据和出账数据,因此,为了进一步提高查询效率,基于余额变动记录预先构建索引表。其中,所述索引表包含资产标识、余额变动日期、余额变动时的入账数据和出账数据四个属性,所述余额变动记录在余额发生变动时进行更新。鉴于此,基于所述查询请求中至少两笔目标资产的资产标识以及小于或等于指定日期构建一条查询语句;根据所构建的查询语句从索引表中一次查询出小于或等于指定日期的余额变动日期、且资产标识为目标资产的资产标识对应的入账数据和出账数据。

由于索引表中已经包含了资产标识、余额变动日期、余额变动时的入账数据和出账数据四个属性,则可以将目标资产的资产标识、以及小于或等于指定日期作为索引条件,从索引表中查询获得入账数据和出账数据,减少索引回表,提高查询效率。

在获得入账数据和出账数据后,由于存在至少两笔目标资产,目标是为了获得每笔目标资产在指定日期的余额,因此,可以根据每笔目标资产的资产标识,将查询获得的入账数据和出账数据进行分组;基于每组数据中的入账数据和出账数据进行余额计算,获得每笔目标资产在指定日期的余额。作为其中一种余额计算方法,可以将每组数据中入账数据的总和与出账数据的总和求差值,获得该组数据对应的目标资产在指定日期的余额。

可见,通过一条时间线(指定日期)一次获取目标资产的过程数据,进行实时累加计算获得每笔资本在指定日期的余额,通过对齐数据和实时计算,解决多次查询的主要耗时瓶颈,保证查询服务的性能稳定。

进一步的,若目标资产在小于或等于指定日期内不存在入账数据或出账数据,即目标资产在小于或等于指定日期内不存在余额变动,则将目标资产在指定日期的余额设置为零。

其中,根据所述指定日期以及查询请求中至少两笔目标资产的资产标识构建一条查询语句,基于查询语句没有查找到入账数据或出账数据,则目标资产在指定日期的余额为零。

以上实施方式中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本说明书公开的范围。以下以其中一种组合以及结合其中一种应用场景进行示例说明。

如图2所示,图2为本说明书根据一示例性实施例示出的另一种余额查询方法的示意图。资产收益模块在需要进行资产收益时,可以向数据库中的余额查询模块发送查询批量目标资产在指定日期的余额的查询请求(步骤202),其中查询请求中可以携带目标资产的资产账号(可以简称目标资产账号)。指定日期可以是包含年月日的历史日期。余额查询模块从数据库的日变动数据模块中查询满足日期条件和资产账号条件的日变动记录。日期条件:日变动记录的日期小于或等于指定日期,资产账号条件:日变动记录的资产账号为目标资产的资产账号,即相当于从日变动数据模块中,查询日期为小于或等于指定日期、且资产账号为目标资产账号的日变动记录(步骤204)。其中,日变动数据模块中存储有日变动记录,日变动记录是在资产发生余额变动时进行的记录信息。余额查询模块根据日变动数据的响应结果进行日变动记录判定,如果存在日变动记录,根据每笔目标资产的资产标识,将日变动记录中的入账数据和出账数据进行分组;将每组数据中入账数据的总和与出账数据的总和求差值,获得该组数据对应的目标资产在指定日期的余额,该余额可以理解为日终余额(步骤206)。如果其中一个或多个目标资产不存在日变动记录,则将不存在日变动记录的目标资产的余额设置为零(步骤208)。余额查询模块将批量日终余额发送至资产收益计算模块(步骤210)。

以日终余额为例,在账务系统中往往记载有余额日变动记录,主要包括以下属性:资产账户、余额类型、币种、日流入数据、日流出数据和当前余额。在建账和其他涉及到余额变动时可以更新余额日变动记录,以用户购买基金份额为例:

第一笔目标资产:

a1.2016年1月1日开户,资产账户为:2088xxx10156,新增日期为20160101的余额日变动记录,记录当日余额为0.0000(份),流入0.0000(份),流出0.0000(份)。

a2.2016年1月10日申购并确认200.0000(份),新增日期为20160110的余额日变动记录,记录当日余额为200.0000(份),流入200.0000(份),流出0.0000(份)。

a3.2017年1月10日赎回并确认20.0000(份),新增日期为20170110的余额日变动记录,记录当日余额为180.0000(份),流入0.0000(份),流出20.0000(份)。

第二笔目标资产:

b1.2017年5月1日开户,资产账户为:2088xxx20156,新增日期为20170501的余额日变动记录,记录当日余额为0.0000(份),流入0.0000(份),流出0.0000(份)。

b2.2017年5月3日申购并确认100.0000(份),新增日期为20170503的余额日变动记录,记录当日余额为100.0000(份),流入100.0000(份),流出0.0000(份)。

b3.2017年5月10日赎回并确认20.0000(份),新增日期为20170510的余额日变动记录,记录当日余额为80.0000(份),流入0.0000(份),流出20.0000(份)。

b4.2017年5月20日再次申购并确认1000.0000(份),新增日期为20170520的余额日变动记录,记录当日余额为1080.0000(份),流入1000.0000(份),流出0.0000(份)。

余额日变动记录只有在余额发生变动的时候才会进行记载,一方面每日记载日变动记录,在没有余额变动时不具备对应的条件(没有触发事件),另一方面某日不存在日变动时,日终余额可以通过本说明书实施例获得,每天都记载会存在对存储资源的大量浪费。

当要进行指定日期的资产收益计算获取账户的日终余额时,查询步骤可以如步骤204至208。以2017年5月11日为指定日期、以目标资产的资产标识为2088xxx10156和2088xxx20156为例,可以获取2017年5月11日及2017年5月11日以前的入账数据和出账数据,由于资产标识为2088xxx10156的资产在2016年1月1日流入0.0000(份),流出0.0000(份);在2016年1月10日流入200.0000(份),流出0.0000(份);在2017年1月10日流入0.0000(份),流出20.0000(份);且资产标识为2088xxx20156的资产在2017年5月1日流入0.0000(份),流出0.0000(份),2017年5月3日流入100.0000(份),流出0.0000(份);2017年5月10日流入0.0000(份),流出20.0000(份)。因此,根据每笔目标资产的资产标识,将查询获得的入账数据和出账数据进行分组;将每组数据中入账数据的总和与出账数据的总和求差值,获得该组数据对应的目标资产在指定日期的余额,从而获得资产标识为2088xxx10156的资产在2017年5月11日的余额为180.0000(份),资产标识为2088xxx20156的资产在2017年5月11日的余额为80.0000(份)。

可见,第一笔目标资产和第二笔目标资产的日变动时间不一致,则两笔目标资产的目标数据无规律离散分布,本实施例通过以指定日期为一条时间线,获取两笔目标资产的所有中间数据(流入数据和流出数据),从而化零为整,有效减少查询次数,从而提高查询效率。

与前述余额查询方法的实施例相对应,本说明书还提供了余额查询装置及其所应用的电子设备的实施例。

本说明书余额查询装置的实施例可以应用在计算机设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在计算机设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本说明书余额查询装置所在计算机设备的一种硬件结构图,除了图3所示的处理器310、内存330、网络接口320、以及非易失性存储器340之外,实施例中装置331所在的计算机设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。

如图4所示,是本说明书根据一示例性实施例示出的一种余额查询装置的框图,所述装置包括:

请求接收模块410,用于接收查询请求,所述查询请求用于查询至少两笔目标资产在指定日期的余额,所述至少两笔目标资产的指定日期相同;

数据查询模块420,用于根据所述指定日期以及查询请求中至少两笔目标资产的资产标识构建一条查询语句,用于查询至少两笔目标资产在小于或等于指定日期内发生余额变动时的入账数据和出账数据;

余额获得模块430,用于根据每笔目标资产的入账数据与出账数据进行余额计算,获得每笔目标资产在指定日期的余额。

在一个可选的实现方式中,所述指定日期以日为最小时间单位,所述装置还包括数据记录模块(图4未示出),用于:若一笔资产在同一日内首次发生余额变动时,新建入账数据和/或出账数据;若一笔资产在同一日内非首次发生余额变动时,更新已建立的入账数据和/或出账数据,以使一笔资产在同一日内最多包含一笔入账数据和/或一笔出账数据。

在一个可选的实现方式中,基于余额变动记录预先构建索引表,所述索引表包含资产标识、余额变动日期、余额变动时的入账数据和出账数据四个属性,所述余额变动记录在余额发生变动时进行更新;

所述数据查询模块420具体用于:

基于所述查询请求中至少两笔目标资产的资产标识以及小于或等于指定日期构建一条查询语句;

根据所构建的查询语句从索引表中一次查询出小于或等于指定日期的余额变动日期、且资产标识为目标资产的资产标识对应的入账数据和出账数据。

在一个可选的实现方式中,所述余额获得模块430具体用于:

根据每笔目标资产的资产标识,将查询获得的入账数据和出账数据进行分组;

将每组数据中入账数据的总和与出账数据的总和求差值,获得该组数据对应的目标资产在指定日期的余额。

在一个可选的实现方式中,所述余额获得模块430还用于:

若目标资产在小于或等于指定日期内不存在入账数据或出账数据,则将目标资产在指定日期的余额设置为零。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

相应的,本说明书实施例还提供一种计算机设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:

接收查询请求,所述查询请求用于查询至少两笔目标资产在指定日期的余额,所述至少两笔目标资产的指定日期相同;

根据所述指定日期以及查询请求中至少两笔目标资产的资产标识构建一条查询语句,用于查询至少两笔目标资产在小于或等于指定日期内发生余额变动时的入账数据和出账数据;

根据每笔目标资产的入账数据与出账数据进行余额计算,获得每笔目标资产在指定日期的余额。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

一种计算机存储介质,所述存储介质中存储有程序指令,所述程序指令包括:

接收查询请求,所述查询请求用于查询至少两笔目标资产在指定日期的余额,所述至少两笔目标资产的指定日期相同;

根据所述指定日期以及查询请求中至少两笔目标资产的资产标识构建一条查询语句,用于查询至少两笔目标资产在小于或等于指定日期内发生余额变动时的入账数据和出账数据;

根据每笔目标资产的入账数据与出账数据进行余额计算,获得每笔目标资产在指定日期的余额。

本说明书实施例可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。

应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。

以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

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