发明内容
基于此,本说明书提供了一种资金核对方法、装置、计算机设备及***架构。
根据本说明书实施例的第一方面,提供一种资金核对方法,所述方法包括:
生成编辑界面,以使用户在所述编辑界面编辑与业务类型匹配的资金流图,所述资金流图用于描述账户主体之间的资金流转关系;
根据所述资金流图生成核对配置表并存储;其中,所述核对配置表用于描述不同业务类型关联的账户主体、以及账户主体之间的资金流转方向;
当接收到核对请求时,基于待核对的业务交易的业务类型确定所述业务交易的核对配置表,并基于所述核对配置表对所述业务交易的资金进行核对。
根据本说明书实施例的第二方面,提供一种资金核对装置,所述装置包括:
界面展示模块,生成编辑界面,以使用户在所述编辑界面编辑与业务类型匹配的资金流图,所述资金流图用于描述账户主体之间的资金流转关系;
配置模块,根据所述资金流图生成核对配置表并存储;其中,所述核对配置表用于描述不同业务类型关联的账户主体、以及账户主体之间的资金流转方向;
核对模块,当接收到核对请求时,基于待核对的业务交易的业务类型确定所述业务交易的核对配置表,并基于所述核对配置表对所述业务交易的资金进行核对。
根据本说明书实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一实施例所述的方法。
根据本说明书实施例的第四方面,提供一种用于资金核对的***架构,包括:账务数据库、核对***,
所述账务数据库用于存储账户主体的账务流水,当所述账务流水发生变更时,则触发核对请求并发送给所述核对***;
所述核对***用于生成编辑界面,以使用户在所述编辑界面编辑与业务类型匹配的资金流图,所述资金流图用于描述账户主体之间的资金流转关系;根据所述资金流图生成核对配置表并存储;其中,所述核对配置表用于描述不同业务类型关联的账户主体、以及账户主体之间的资金流转方向;当接收到所述核对请求时,基于待核对的业务交易的业务类型确定所述业务交易的核对配置表,并基于所述核对配置表对所述业务交易的资金进行核对。
应用本说明书实施例方案,通过生成编辑界面,以便用户在所述编辑界面编辑与业务类型匹配的资金流图,并根据用户编辑的资金流图生成用于描述不同业务类型关联的账户主体、以及账户主体之间的资金流转方向的核对配置表并存储;当接收到核对请求时,基于待核对的业务交易的业务类型确定所述业务交易的核对配置表,并基于所述核对配置表对所述业务交易的资金进行核对。通过本说明书实施例提供的方法,只需资金核对人员根据具体业务在编辑界面编辑好资金流图,便可以自动生成核对配置表,用于对业务资金进行核对,核对人员无需自己编写核对代码,采用资金流图来表达核对逻辑,更加直观高效,且易于维护。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
银行、企业以及一些第三方平台等都需要对每一笔业务交易的流转资金进行核对,以保证业务交易资金的安全。以支付宝为例,当用户使用支付宝完成一笔业务交易时需要根据业务交易的业务类型确定业务交易关联的账户主体,账户主体之间的资金流转方向,并且核对业务交易的交易数据中的账户主体以及账户主体之间的资金流转方向是否正确。比如,用户在淘宝购物,使用余额宝向淘宝商家付款,那么这一类的业务交易所关联的账户主体即为用户的余额宝账户以及淘宝商家账户,资金流转方向为用户余额宝账户资金流入淘宝商家账户。同时,每一笔业务交易发生后,账户主体对应的账务***中也会生成相应的账务流水并存储到相应的账务数据库,所以还需要核对业务交易中的交易数据与账务数据库中的账务流水是否一致。比如,用户使用余额宝向淘宝商家付款,那么用户的余额宝账户肯定会有相应的账务流水,淘宝商家的账户也会有相应的账务流水,即每一笔业务交易发生后,账户***中产生的账务流水与业务***中产生的交易数据也必须一致。目前,在对每一笔业务交易的资金进行核对时,都要靠核对人员根据对业务的理解和经验去编写核对代码,来对业务资金进行核对。由于业务交易涉及到的账户主体数目较多,且账户主体的进出业务和资金流都非常复杂,光靠核对人员对业务理解来编写核对代码可能不够全面,无法覆盖整条业务链,且核对代码也不好理解,不易于管理和维护。另外,采用这种核对方式还要求核对人员既对业务非常熟悉,又要会编写代码,带来诸多不便。
基于此,本说明书实例提供了一种资金核对方法,资金核对人员只需在编辑界面编辑好与业务类型匹配的资金流图,便可以根据编辑好的资金流图自动生成核对配置表,当接收到核对请求时,根据待核对的业务交易的业务类型确定核对配置表,然后基于核对配置表自动对业务交易的资金进行核对。通过用图形来表达业务的核对逻辑,然后自动生成核对配置表,更加简洁直观,且核对人员只需熟悉业务逻辑,不需要自己编写核对代码,使得资金核对更加方便。具体的,所述方法如图1所示,包括以下步骤:
S102、生成编辑界面,以使用户在所述编辑界面编辑与业务类型匹配的资金流图,所述资金流图用于描述账户主体之间的资金流转关系;
S104、根据所述资金流图生成核对配置表并存储;其中,所述核对配置表用于描述不同业务类型关联的账户主体、以及账户主体之间的资金流转方向;
S106、当接收到核对请求时,基于待核对的业务交易的业务类型确定所述业务交易的核对配置表,并基于所述核对配置表对所述业务交易的资金进行核对。
本说明书实施例提供的资金核对方法可以用于各种对业务交易的资金进行核对的核对***或核对平台。该核对***可以生成一个可视化的编辑界面,用户可以通过该编辑界面绘制资金流图,资金流图用于表示业务交易的资金流转情况,资金流图描述了一笔业务交易所关联的账户主体,以及账户主体之间的资金流转关系。通常情况下,同一种业务类型所关联的账户主体和账户主体之间的资金流转关系都是一样的,因而,在绘制资金流图时可以按照业务类型划分,一种业务类型匹配一种资金流图。比如,用户使用余额宝向淘宝商家付款这一类型的业务,其涉及的账户主体都是“用户余额宝账户”以及“淘宝商家账户”,资金的流转方向都是从用户余额宝账户流入淘宝商家账户。一般针对某一种业务都有相应的业务标识,因而可以采用业务标识来区分业务类型。以支付宝的业务为例,一般一个具体的业务都通过产品码、事件码和流水号三者组合起来标识。产品码是将按照产品将业务分成若干大类,一类对应一个产品码,事件码则是将每一个产品码下的业务进一步细分成小类,而流水号则具体到了每一笔具体的业务交易。所以,可以按照产品码或者产品码加事件码的组合来划分业务类型,并编辑资金流图。比如,一个产品码对应一个资金流图,或者产品码+事件码对应一个资金流图,当然,如果产品码和事件码不足以区分业务类型,还可以加入其它字段加以区分。总之,可以针对业务类型绘制相匹配的资金流图,业务类型可以根据具体需求去灵活划分。
在某些实施例中,如图2所示,可以预先设置好业务可能涉及到的各种类型的账户主体,然后编辑界面中可以提供指定的控件,比如“添加账户主体控件”,通过该指定的控件从预先设置好的账户主体中选择所需要的账户主体添加到资金流图中,资金流图中可以采用箭头的指向来表示账户主体之间的资金流转方向。比如,采用余额宝和花呗同时向淘宝商家付款的情形,即可以用图2所示的资金流图来表示账户主体之间的资金流转关系。
当用户绘制好一种业务类型的资金流图后,可以通过点击编辑界面的保存控件,保存绘制的资金流图。用户点击保存资金流图后,核对***会根据该资金流图生成核对配置表,核对配置表用于描述不同业务类型关联的账户主体以及账户主体之间的资金流转方向。其中,核对配置表中记录了业务类型,业务类型可以用业务的产品码+事件码表示;还记录了业务类型关联的账户主体,比如余额宝、花呗、淘宝商家账户等,以及这些账户主体对应的账务***、记账方式、存储账务流水的账务数据库等信息,便于根据这些信息查询到账户主体的账务流水,核对配置表还记录了账户主体之间的资金流转方向。根据资金流图生成核对配置表后,可以将核对配置表存储到数据库中。
当核对***接收到对业务交易的资金进行核对的核对请求后,可以先确定待核对的业务交易的业务类型,然后去存储核对配置表的数据库中查询到该业务类型对应的核对配置表,并根据核对配置表对该笔业务交易的资金进行核对。在某些实施例中,核对请求可以是完成业务交易的业务统向核对***发送,比如,业务***每完成一笔业务交易,就向核对***发送一次核对请求。当然,业务***也可以定期向核对***发送核对请求,一个核对请求用于请求核对***对多笔业务交易进行核对。在某些实施例中,核对请求中会携带这笔业务交易的详细的交易数据,比如核对请求中携带有业务交易的流水号、交易的账户主体、资金的流转方向、交易金额、交易时间等详细的信息。在某些实施例中,核对请求也可以只包含标识该业务交易的业务标识,比如说流水号,核对***接收到核对请求后,获取到业务标识,再根据业务标识去业务***中获取详细的交易数据。比如说,核对***可以根据业务交易的流水号到业务***获取该流水号对应的交易数据。
由于核对***要核对很多业务***的数据,如果采用业务***向核对***发送核对请求的方式,那么核对***需要逐个跟业务***对接,并根据各个业务***的特性来考虑接入方式,由于要考虑核对***与每一个业务***的对接方式,这在一定程度上会使得资金核对变得繁琐。所以,在某些实施例中,核对***可以订阅账务数据库,核对请求可以由账务数据库中的数据变更事件触发。由于业务***中每完成一笔业务交易,业务交易关联的账户主体的会生成相应的账务流水,并存储到对应的账务数据库中。所以,只要账务数据库中的数据发生变更,则说明有新的业务交易发生,这时便可以自动触发核对请求。通过核对***订阅账务数据库,账户数据库的数据变更自动触发核对请求的方式,核对***无需逐一通过代码接入业务***,这在一定程度上也减小了业务***的压力。
核对***在接收到核对请求后,可以根据待核对业务交易的业务类型确定核对配置表,然后获取该业务交易的交易数据,从交易数据中提取关联的账户主体,并根据核对配置表确定该账户主体对应的账务***、记账方式、存储账务流水的账务数据库等信息,然后根据这些信息查询到该账户主体这一笔业务交易对应的账务流水。由于核对配置表中圈定了这一笔业务交易应当关联的账户主体以及资金的流转方向,是对这笔业务交易的预期,所以在核对的时候可以将交易数据中描述的这笔业务交易的账户主体、账户主体的资金流转方向与核对配置表所描述的账户主体以及资金流转方向比对,核对两者是否一致,其次,还需核对交易数据中描述的账户主体的资金流向以及金额与账户流水中记载的账户主体的资金流向和金额是否一致,如果上述两部分内容都一致,则说明这笔业务交易的资金未出现问题,如果不一致,则说明这笔业务交易的资金出现问题。核对完成后,可以输出核对结果。举个例子,假设用户使用余额宝和花呗共同向淘宝商家付款,余额宝支付200元,花呗支付100元,当用户完成付款后,淘宝***就会生成这笔交易的交易数据,交易数据中包含这笔交易的交易时间、交易流水号、交易账户主体(用户余额宝账号、花呗账号、淘宝商家账号)以及交易的资金流向和金额(用户余额宝账号向商家账号支付200元,用户花呗账户向商家账号支付100元)。核对***可以根据核对请求携带的这笔交易的流水号获取这些交易数据。然后核对***还可以根据这笔业务的而业务类型确定核对配置表。核对配置表中记录了这一类的业务交易所关联的账户主体(用户余额宝、用户花呗、淘宝商家账号),并记录各账户主体对应账务***、记账方式等相关信息。核对***可以根据核对配置表记录的这些信息去获取这三个账户主体的账务流水,比如用户余额宝的账务流水,用户花呗的账务流水、淘宝商家的账务流水。然后核对***会核对交易数据中涉及的账户主体、资金流向与核对配置表中记载的是否一致,即是否都包含用户余额宝、用户花呗、淘宝商家账号这三个账户主体,然后交易数据中的资金流向与核对配置表中记录的是否一致,即用户余额宝流入淘宝商家账号,用户花呗流入淘宝商家账号。然后,核对***还需核对交易数据的信息与账户流水的信息是否一致,比如用户余额宝是否出账200元至淘宝商家账号,用户花呗是否出账100元至淘宝商家账号,淘宝商家账号是否从用户余额宝入账200元,从用户花呗入账100元,如果这两部分信息一致,则说明这笔业务交易的资金没有问题。
现有技术中,由于业务交易的资金核对都是通过核对人员编写代码来完成,因而,当某种类型的业务的账户主体或者资金流转关系发生变更后,则需要重新去修改代码,以便符合目前的业务逻辑。代码的维护和管理非常的不便。而本说明书的某些实施例中,如果业务的逻辑发生变更,比如一种业务交易中,增加或减少了关联的账户主体,或者资金的流转关系发生了变化,则可以直接对该业务匹配的资金流图进行修改,然后核对***可以根据修改后的资金流图更新核对配置表并存储。采用本说明书提供的核对方法,可以方便对业务的核对配置表进行修改,无需直接去修改核对代码,便于维护和管理。
为了进一步解释本说明书提供的资金核对方法,以下再以一个具体的实施例加以说明。
支付宝作为一个第三方支付平台,每天都涉及大量的业务资金流转。为了保证资金安全,必须对每一笔业务资金进行核对。本说明书实施例提供一种资金核对***和资金核对方法,只需资金核对人员根据业务逻辑在编辑界面编辑业务的资金流图,然后便可以自动生成核对配置表并存储,当核对***接收到核对请求时,可以根据待核对业务交易的类型确定核对配置表,并根据核对配置表对业务交易进行核对。
如图3所示,核对***会提供一个编辑界面,用户可以通过该编辑界面绘制资金流图,编辑界面中包含了预先设置的业务交易可能关联的账户主体,编辑界面上还包括“添加参与者”的控件,用户可以通过这个控件添加账户主体,当然,用户也可以直接将编辑界面左侧显示的账户主体拖动到资金流图绘制区域,资金流图描述了业务交易关联的账户主体和账户主体之间的资金流转方向,其中资金流转方向可以用箭头的指向来表示。由于一般同种业务类型的资金流图都是一样的,因此,在绘制资金流图时,可以按照业务类型划分,业务类型可以用产品码+事件码来表示,一个产品码组合一个事件码作为一类业务,并匹配一个资金流图。绘制好资金流图后,用户可以点击编辑界面的保存按钮,则可以保存资金流图。
同时,核对***会基于用户绘制的资金流图生成核对配置表并保存,核对配置表如图4所示,其中,“资金流配置”记录了主要字段,各字段的内容又通过延伸出来的表来记录,整体来说,核对配置表记录了业务类型,其中业务类型用产品码、事件码表示,核对配置表还记录了业务交易关联的账户主体,具体包括关联了哪些账户主体,以及账户主体相关的一些信息,比如账户主体对应的账务***、记账方式等,根据这些信息可以查询到账户主体的账务流水。核对配置表还记录了账户主体之间的资金流转方向。
如图5所示,当业务***51中完成一笔业务交易后,业务交易关联的账户主体就会新增账务流水,账务流水存储在账务数据库52中。业务交易完成后,账务数据库52中便会新增该业务交易对应账务流水。核对***53可以订阅账务数据库52,当账务数据库52中的数据发生变更,即新增账务流水后,便可以自动触发核对请求,并发送给核对***53,核对请求中携带有该笔业务交易的流水号。核对***53接收到该核对请求后,根据流水号去业务***51中获取该笔交易的交易数据,从交易数据中提取关联的账户主体,然后确定该笔业务交易的产品码和事件码获取预先存储的核对配置表,根据核对配置表中记录的账户主体的账务***等信息去获取账户主体的账务流水。然后核对***53会核对交易数据中记录的账户主体、账户主体资金流转方向是否符合核对配置表中记录的账户主体,以及资金流转方向,同时核对***53还需核对交易数据中的账户主体的资金流向以及金额与账户主体的账务流水是否一致。核对完成后,即向用户输出核对结果。
由于支付宝中涉及的资产类的账户主体比较多,比如余额宝、余额、花呗、红包、集分宝、***等等,在绘制资金流图时,这些资产类的账户主体要组合的话,组合方式达上百种,为了将这些账户主体简便化,避免绘制上百种资金流图,可以将这些资产类的账户主体统称为资产,如图6所示,将这些账户主体以及它们的各种组合都用资产代替。然后专门用一个资产的核对配置表来记录这些资产的相关信息,核对配置表则只记录内部中间账户以及收款用户账户的相关信息。当接收到核对请求后,一方面可以从业务交易的交易数据提取关联的资产有哪些,然后根据资产的标识去寻找资产的核对配置表,并对资产进行核对。另一方面还可以从交易数据中提取除资产外的其他关联账户主体,根据业务交易的类型确定核对配置表,并根据核对配置表去核对其他的关联账户主体。
以上实施例中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本说明书公开的范围。
如图7所示,是与上述资金核对方法相对应的资金核对装置,所述装置70可包括:
界面展示模块71,生成编辑界面,以使用户在所述编辑界面编辑与业务类型匹配的资金流图,所述资金流图用于描述账户主体之间的资金流转关系;
配置模块72,根据所述资金流图生成核对配置表并存储;其中,所述核对配置表用于描述不同业务类型关联的账户主体、以及账户主体之间的资金流转方向;
核对模块73,当接收到核对请求时,基于待核对的业务交易的业务类型确定所述业务交易的核对配置表,并基于所述核对配置表对所述业务交易的资金进行核对。
在一个实施例中,基于所述核对配置表对所述业务交易的资金进行核对包括:
从所述业务交易的交易数据中提取所述业务交易关联的账户主体;
基于所述核对配置表获取所述账户主体的账务流水;
核对所述核对配置表所描述的账户主体、账户主体之间的资金流转方向与所述交易数据是否一致,以及所述账务流水与所述交易数据是否一致。
在一个实施例中,所述核对请求携带有所述业务交易的业务标识,所述交易数据基于所述业务标识获取。
在一个实施例中,所述核对请求基于账务数据库中的数据变更事件触发,所述账务数据库用于存储所述账户主体的账务流水。
在一个实施例中,当所述资金流图被更新后,则基于更新后的资金流图更新所述资金流图对应的核对配置表。
在一个实施例中,所述编辑界面包括指定控件,用于添加所述账户主体,所述账户主体之间的资金流转方向通过箭头指向表示。
上述装置中各个模块的功能和作用的实现过程具体详情见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本说明书装置的实施例可以应用在计算机设备上,例如服务器或智能终端。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在文件处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,为本说明书装置所在计算机设备的一种硬件结构图,除了图8所示的处理器802、内存804、网络接口806、以及非易失性存储器808之外,实施例中装置所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
相应地,本说明书实施例还提供一种计算机存储介质,所述存储介质中存储有程序,所述程序被处理器执行时实现上述任一实施例中的方法。
相应地,本说明书实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例中的方法。
本申请可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
此外,本申请还提供了一种用于资金核对的***架构,如图9A所示,所述***架构包括:账务数据库91以及核对***92,
所述账务数据库91用于存储账户主体的账务流水,当所述账务流水发生变更时,则触发核对请求并发送给所述核对***92;
所述核对***92用于生成编辑界面921,以使用户在所述编辑界面921编辑与业务类型匹配的资金流图,所述资金流图用于描述账户主体之间的资金流转关系;根据所述资金流图生成核对配置表并存储;其中,所述核对配置表用于描述不同业务类型关联的账户主体、以及账户主体之间的资金流转方向;当接收到所述核对请求时,基于待核对的业务交易的业务类型确定所述业务交易的核对配置表,并基于所述核对配置表对所述业务交易的资金进行核对。
在一个实施例中,如图9B,所述***架构还包括:业务***93,所述业务***93用于在完成一笔业务交易后,生成所述业务交易的交易数据并存储,所述核对***收到所述核对请求后,从所述业务***获取所述交易数据,从所述业务交易的交易数据中提取所述业务交易关联的账户主体;基于所述核对配置表获取所述账户主体的账务流水;核对所述核对配置表所描述的账户主体、账户主体之间的资金流转方向与所述交易数据是否一致,以及所述账务流水与所述交易数据是否一致。
本领域技术人员在考虑说明书及实践这里公开的说明书后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。