CN106447426A - 分账结算方法和装置 - Google Patents
分账结算方法和装置 Download PDFInfo
- Publication number
- CN106447426A CN106447426A CN201610811778.XA CN201610811778A CN106447426A CN 106447426 A CN106447426 A CN 106447426A CN 201610811778 A CN201610811778 A CN 201610811778A CN 106447426 A CN106447426 A CN 106447426A
- Authority
- CN
- China
- Prior art keywords
- account
- point
- money
- equations
- amount
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种分账结算方法和装置,该方法包括:根据订单的当前状态和订单详情信息确定多个分账账户;获取与订单的当前状态对应的结算策略;根据结算策略向多个分账账户分别记账对应的分账金额。本发明实施例中,服务平台能够根据接收到的订单的详情信息以及当前订单所处的处理状态确定当前需要向哪些分账账户分别分账多少金额,从而能够实现以订单状态的维度,实时地完成向相应分账账户的分账处理,以便于不同分账账户对应的用户能够实时了解分账情况,提高了分账处理的实时性。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种分账结算方法和装置。
背景技术
O2O(Online To Offline,线上到线下)作为一种新型的电子商务模式,将线下的商务机会与互联网结合,让互联网成为了线下交易的平台。越来越多的服务提供商,比如餐饮商户等,通过借助电子商务服务平台进行线上交易。
由于用户购买商品的过程,可能涉及到多个角色参与,比如服务平台、商户、物流等等,从而,用户购买商品的付款,需要在这些角色间分配。目前常用的一种结算方式是:由服务平台将用户的付款向其他角色进行支付,即与其他角色进行分账结算。
但是目前,服务平台采用的分账结算机制是T+1天分账结算机制。服务平台每天会统计前一天的订单,并以订单维度给商户、物流等角色计算所需结算的分账金额,以完成分账记账处理。
发明内容
当采用T+1天分账结算机制时,服务平台向比如商户、物流等其他角色进行分账结算具有明显的延时特征,使得不论是服务平台还是其他参与角色,都不能实时地获知订单的分账结算结果。
而对于商户、物流等角色来说,实时地获知自己的营收状况的需求可能会比较强烈。比如,对于骑士来说,其可能在很想实时知道其接单量、收入情况;对于商户来说,其可能一方面想要知道当天的收入情况,另一方面,还想进一步了解当天不同时段的收入情况,比如中午、晚上分别的收入情况。
而上述的实时性需求,需要建立在服务平台对订单进行实时分账处理的前提下,也就是说,服务平台在接收到用户触发提交的订单时,即实时地进行分账结算处理。
有鉴于此,本发明实施例提供一种分账结算方法和装置,用以实现对订单的实时性分账结算处理。
本发明实施例提供一种分账结算方法,包括:
根据订单的当前状态和订单详情信息,确定多个分账账户;
获取与所述订单的当前状态对应的结算策略;
根据所述结算策略,向所述多个分账账户分别记账对应的分账金额。
可选地,所述确定多个分账账户之后,还包括:
确定所述多个分账账户中的第一类分账账户和第二类分账账户;
若所述多个分账账户中包括至少一个第一类分账账户和至少一个第二类分账账户,则所述根据所述结算策略,向所述多个分账账户分别记账对应的分账金额,包括:
根据所述结算策略,获取每个第一类分账账户对应的分账金额和每个第二类分账账户对应的分账金额;
分别向所述至少一个第一类分账账户和所述至少一个第二类分账账户记账对应的分账金额。
可选地,所述分别向所述至少一个第一类分账账户记账对应的分账金额,包括:
生成所述至少一个第一类分账账户分别对应的结算任务,所述结算任务中包括对应的第一类分账账户和分账金额;
将生成的结算任务发送至第一类分账账户对应的任务队列中;
遍历所述任务队列,根据遍历获得的结算任务,向对应的第一类分账账户记账对应的分账金额。
可选地,所述分别向所述至少一个第二类分账账户记账对应的分账金额,包括:
对于所述至少一个第二类分账账户中的任一第二类分账账户Hi,若当前所述第二类分账账户Hi对应有一个分账金额,则根据所述一个分账金额更新所述第二类分账账户Hi的余额,并更新所述第二类分账账户Hi对应的标号,所述标号用于标记一次记账操作。
可选地,所述分别向所述至少一个第二类分账账户记账对应的分账金额,包括:
对于所述至少一个第二类分账账户中的任一第二类分账账户Hi,若当前所述第二类分账账户Hi对应有多个分账金额,则获取所述第二类分账账户Hi对应的第一标号和余额;
分别针对所述多个分账金额进行如下的处理:
根据对应的分账金额和所述第一标号更新所述第二类分账账户Hi的余额;
若所述余额更新成功,则更新所述第二类分账账户Hi当前对应的标号为第二标号;
其中,余额更新成功的条件为所述第一标号与所述第二类分账账户Hi当前对应的标号一致。
本发明实施例提供一种分账结算装置,包括:
第一确定模块,用于根据订单的当前状态和订单详情信息,确定多个分账账户;
获取模块,用于获取与所述订单的当前状态对应的结算策略;
处理模块,用于根据所述结算策略,向所述多个分账账户分别记账对应的分账金额。
可选地,该分账结算装置还包括:
第二确定模块,用于确定所述多个分账账户中的第一类分账账户和第二类分账账户;
所述处理模块,用于若所述第二确定模块确定所述多个分账账户中包括至少一个第一类分账账户和至少一个第二类分账账户,则根据所述结算策略,获取每个第一类分账账户对应的分账金额和每个第二类分账账户对应的分账金额;分别向所述至少一个第一类分账账户和所述至少一个第二类分账账户记账对应的分账金额。
可选地,所述处理模块包括:
第二生成子模块,用于生成所述至少一个第一类分账账户分别对应的结算任务,所述结算任务中包括对应的第一类分账账户和分账金额;
第二发送子模块,用于将生成的结算任务发送至第一类分账账户对应的任务队列中;
第二处理子模块,用于遍历所述任务队列,根据遍历获得的结算任务,向对应的第一类分账账户记账对应的分账金额。
可选地,所述处理模块包括:
第一更新子模块,用于对于所述至少一个第二类分账账户中的任一第二类分账账户Hi,若当前所述第二类分账账户Hi对应有一个分账金额,则根据所述一个分账金额更新所述第二类分账账户Hi的余额,并更新所述第二类分账账户Hi对应的标号,所述标号用于标记一次记账操作。
可选地,所述处理模块包括:
第一获取子模块,用于对于所述至少一个第二类分账账户中的任一第二类分账账户Hi,若当前所述第二类分账账户Hi对应有多个分账金额,则获取所述第二类分账账户Hi对应的第一标号和余额;
第二更新子模块,用于分别针对所述多个分账金额进行如下的处理:
根据对应的分账金额和所述第一标号更新所述第二类分账账户Hi的余额;
若所述余额更新成功,则更新所述第二类分账账户Hi当前对应的标号为第二标号;
其中,余额更新成功的条件为所述第一标号与所述第二类分账账户Hi当前对应的标号一致。
本发明实施例提供的分账结算方法和装置,当服务平台接收到订单后,随即根据该订单的当前状态和订单详情信息,确定当前对应的分账账户,并获取与该订单的当前状态对应的结算策略,进而根据该结算策略向确定出的分账账户分别记账对应的分账金额。本发明实施例中,服务平台能够根据接收到的订单的详情信息以及当前订单所处的处理状态确定当前需要向哪些分账账户分别分账多少金额,从而能够实现以订单状态的维度,实时地完成向相应分账账户的分账处理,以便于不同分账账户对应的用户能够实时了解分账情况,提高了分账处理的实时性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的分账结算方法实施例一的流程图;
图2为本发明实施例提供的分账结算方法实施例二的流程图;
图3为图2所示实施例中步骤205的一种可选实现方式的流程图;
图4为图2所示实施例中步骤205的另一种可选实现方式的流程图;
图5为图1所示实施例中步骤103的一种可选实现方式的流程图;
图6为图1所示实施例中步骤103的另一种可选实现方式的流程图;
图7为本发明实施例提供的分账结算方法实施例七的流程图;
图8为本发明实施例提供的分账结算装置实施例一的结构示意图;
图9为本发明实施例提供的分账结算装置实施例二的结构示意图;
图10为本发明实施例提供的分账结算装置实施例三的结构示意图;
图11为本发明实施例提供的分账结算装置实施例四的结构示意图;
图12为本发明实施例提供的分账结算装置实施例五的结构示意图;
图13为本发明实施例提供的分账结算装置实施例六的结构示意图;
图14为本发明实施例提供的分账结算装置实施例七的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述XXX,但这些XXX不应限于这些术语。这些术语仅用来将XXX彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一XXX也可以被称为第二XXX,类似地,第二XXX也可以被称为第一XXX。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
图1为本发明实施例提供的分账结算方法实施例一的流程图,本实施例提供的该分账结算方法可以由一分账结算装置来执行,该分账结算装置可以实现为软件,或者实现为软件和硬件的组合,该分账结算装置可以集成设置在服务平台侧的设备中,比如服务器中,以下在不引起歧义的情况下,将集成该分账结算装置的设备称为服务平台。如图1所示,该方法包括如下步骤:
步骤101、根据订单的当前状态和订单详情信息,确定多个分账账户。
步骤102、获取与订单的当前状态对应的结算策略。
步骤103、根据结算策略向多个分账账户分别记账对应的分账金额。
本实施例中的订单可以是对应于不同业务的订单,比如物流类业务的订单、外卖类业务的订单等等,也就是说,来自不同业务的订单都可以适用于本发明实施例提供的分账结算方法。
对于任意一个订单来说,从终端用户完成在线购买、支付而形成一个订单开始,到该订单最终被完成或取消为止,可能经历到多个不同的处理阶段,从而该订单可能会具有多种不同的状态,比如商家接单、骑士接单、完成等。由于订单处于不同的状态时参与订单处理的角色可能不同,而每个处理角色可能对应于一个分账账户,需要对订单分账,因此,本实施例中,可以考虑订单的当前状态来对订单进行实时分账处理。
具体来说,要实现对订单的分账处理,一方面需要知道分账账户是什么,另一方面需要知道向每个分账账户分账多少金额。
针对第一方面,即针对分账账户的确定:本实施例中,根据订单的当前状态和订单详情信息来确定在当前订单状态下参与分账的至少一个分账账户。
其中,订单的当前状态比如为用户下单、商户接单、骑士接单、取消订单、完成订单等多种可能的状态。订单的可能状态可以根据不同业务可能涉及到的处理环节确定。
其中,订单详情信息中比如可以包括商户标识、业务标识、购买物品信息、用户付款金额等信息。
另外,可选地,服务平台中可以预先存储有订单处于不同状态时,需要向哪些分账账户进行分账,即存储有订单状态与分账账户类别间的对应关系。另外可选地,在服务平台集成提供多种不同业务类型的业务服务时,服务平台可以针对每种业务类型分别进行上述对应关系的存储。值得说明的是,此时的“哪些分账账户”不是具体的分账账户标识,而应理解为哪些类别的分账账户。
因此,实际应用中,可选地,可以根据接收到的订单的当前状态,确定与之对应的对应关系,从而获知需要向哪些类别的分账账户分账,另外,根据订单详情信息确定对应的具体的分账账户,即分账账户标识。
举例来说,假设针对订单1来说,其当前处于状态1,此时对应的订单详细信息中包含有业务标识1,商户1。基于此,服务平台根据状态1和业务标识1确定当前需要向某平台账户和商户账户进行分账处理,进而,结合订单详情信息中包含的商户1,确定商户账户为账户1,根据本地存储的某平台账户的账户标识确定账户2。该举例中的某平台账户是指服务平台的某个账户,因为一般而言,服务平台为商户、终端用户提供服务,也需要对终端用户的付款金额进行分账。
综上,可选地,服务平台可以基于订单的当前状态确定向哪些类别的账户分账,基于订单详情信息确定该“哪些类别”对应的具体分账账户标识;或者,可选地,服务平台可以基于订单的当前状态和订单的业务标识确定向哪些类别的账户分账,基于订单详情信息确定该“哪些类别”对应的具体分账账户标识。
针对第二方面,即针对分账金额的确定:本实施例中,服务平台中预先存储有与各订单状态对应的结算策略,从而,基于当前的订单状态,获取与之对应的结算策略,从而,根据该结算策略可以计算确定每个分账账户的分账金额。
其中,结算策略可以简单理解为,其描述了向不同类别的分账账户分账多少金额的计算方式。仍以上述举例来说,与订单1的当前状态1对应的结算策略中描述了向某平台账户分账的计算方式,以及向商户账户分账的计算方式。
实际应用中,当获取与订单当前状态对应的结算策略后,可以将订单详情信息中的用户付款金额作为输入,即可根据该结算策略得到向各类别分账账户记账多少分账金额。
由于已经根据订单的当前状态和订单详情信息确定了参与分账的各分账账户,从而,在根据上述获取的结算策略得到向各类别分账账户记账多少分账金额之后,即可确定每个具体的分账账户对应的分账金额,向每个分账账户记账相对应的分账金额,即完成了当前订单在当前状态的分账结算处理。
本发明实施例中,可选地,可以针对订单的不同状态,制定相应的结算策略,将每个结算策略封装为一个功能函数,提供一个结算函数接口供服务平台调用,服务平台中从而可以存储有订单状态与结算接口间的对应关系。从而,服务平台可以根据接收到的订单的当前状态,确定与订单的当前状态对应的结算接口,调用该结算接口,以获取与订单的当前状态对应的结算策略。
另外,值得说明的是,当服务平台提供了多种不同的业务时,不同的业务下可能具有相同的订单状态。因此,为了兼顾不同业务的同一订单状态,在同一订单状态对应的结算策略中,可以包含不同业务的结算子策略,相当于每个业务对应有一个函数分支。从而,获取与订单的当前状态对应的结算策略可以实现为:根据订单对应的业务标识以及订单状态,获取对应的结算策略。
本实施例中,当服务平台接收到订单后,随即根据该订单的当前状态和订单详情信息,确定当前对应的分账账户,并获取与该订单的当前状态对应的结算策略,进而根据该结算策略向确定出的分账账户分别记账对应的分账金额。从而,本实施例中,服务平台能够根据接收到的订单的详情信息以及当前订单所处的处理状态确定当前需要向哪些分账账户分别分账多少金额,从而能够实现以订单状态的维度,实时地完成向相应分账账户的分账处理,以便于不同分账账户对应的用户能够实时了解分账情况,提高了分账处理的实时性。
实际应用中,由于服务平台基本上针对所有订单都会进行分账,即相当于抽取一部分佣金,因此,当服务平台接收到大量的订单时,相对于各个商户、骑士等其他角色来说,向服务平台的分账结算数量是与接收到的订单数量相当的。举例来说,假设服务平台先后接收到1000个订单,在对这1000个订单进行分账处理时,服务平台可能累计至少需要1000次分账到平台账户,而这1000个订单对应于同一个商户的概率基本是不太可能的。因此,针对平台账户和非平台账户(比如商户账户、骑士账户等)来说,平台账户的分账并发数据量是很大的,相反地,非平台账户的分账并发数据量不大。
基于此,本发明实施例提出了基于分账账户的类型,采用不同的记账方式向各分账账户进行记账的处理方式。其中,分账账户的类型包括两种类型,分别为以下实施例提及的第一类分账账户和第二类分账账户。值得说明的是,此处所说的账户类型与图1所示实施例中提及的“哪些类别的分账账户”不同,具体可以结合上下文来理解。
在不引起歧义的情况下,可以理解第一类分账账户为平台账户、第二类分账账户为非平台账户,比如商户的账户、骑士的账户、供应商的账户、代理商的账户等等。另外可选地,平台账户还可以基于订单的不同状态、对应业务标识具体分为多种不同的账户。
下面,首先结合图2所示实施例,概述在考虑分账账户类型的情况下,分别针对不同类型的分账账户进行分账记账处理,进而,结合图3-图4详细介绍分别针对不同类型的分账账户进行分账记账处理的过程。
图2为本发明实施例提供的分账结算方法实施例二的流程图,如图2所示,该方法包括如下步骤:
步骤201、根据订单的当前状态和订单详情信息,确定多个分账账户。
步骤202、获取与订单的当前状态对应的结算策略。
前述步骤与图1所示实施例相同,不再赘述。
步骤203、确定多个分账账户中的第一类分账账户和第二类分账账户。
具体来说,当根据订单的当前状态和订单详情信息确定多个具体的分账账户之后,由于服务平台中可以存储有第一类即平台类账户,因此,可以从多个分账账户中确定出第一类分账账户,那么多个分账账户中剩下的分账账户即为第二类分账账户。
步骤204、若多个分账账户中包括至少一个第一类分账账户和至少一个第二类分账账户,则根据结算策略,获取每个第一类分账账户对应的分账金额和每个第二类分账账户对应的分账金额。
步骤205、分别向至少一个第一类分账账户和至少一个第二类分账账户记账对应的分账金额。
值得说明的是,步骤204中,若多个分账账户中包括至少一个第一类分账账户和至少一个第二类分账账户的限制条件仅仅是为了说明当分账账户中存在第一类和第二类分账账户时,需要针对每类分账账户进行后续的分账处理。而实际应用中,可能当前的订单状态对应的分账账户仅为某一类分账账户,此时,则仅针对该类分账账户进行后续的分账处理即可,比如假设多个分账账户都为第二类分账账户,则步骤204和步骤205适应性变为:根据结算策略,获取每个第二类分账账户对应的分账金额,分别向各第二类分账账户记账对应的分账金额。
下面在假设多个分账账户中包含至少一个第一类分账账户和至少一个第二类分账账户的情况下,结合图3和图4具体说明图2所示实施例中步骤205的实现方式。
图3为图2所示实施例中步骤205的一种可选实现方式的流程图,如图3所示,可以包括如下步骤:
步骤301、生成至少一个第一类分账账户分别对应的结算任务,至少一个第二类分账账户分别对应的结算任务,每个结算任务中包括对应的分账账户和分账金额。
步骤302、将至少一个第一类分账账户分别对应的结算任务发送至第一任务队列中,将至少一个第二类分账账户分别对应的结算任务发送至第二任务队列中。
步骤303、分别遍历第一任务队列和第二任务队列,根据遍历获得的结算任务,向对应的分账账户记账对应的分账金额。
本实施例中,针对第一类分账账户和第二类分账账户都是采用任务队列的机制进行分账处理,其中,任务队列的机制可以理解为缓存机制。
具体来说,因为服务平台可能同一时间或很短时间内可能接收到大量的订单,因此第一类即平台类的分账账户可能面临高并发数据量的分账处理任务。为了对大量的分账任务进行有效的管理,同时为了避免同时的大量分账任务对存储有平台账户的数据库的写入而容易引起写入失败、数据遗漏等问题,本实施例中针对第一类分账账户提供了任务队列的机制。
另外,虽然实际应用中,相对于作为平台类分账账户的第一类分账账户,诸如商户、供应商、骑士等第二类分账账户的并发分账数据量低很多,但是,还是会存在基本同一时间面向同一第二类分账账户的多个分账处理任务的情况,因此,可选地,本实施例中针对第二类分账账户也提供了任务队列的分账处理机制。
具体来说,当服务平台确定出多个分账账户中的各第一类分账账户和各第二类分账账户后,生成每个第一类分账账户对应的结算任务以及每个第二类分账账户对应的结算任务,其中,每个结算任务中包括对应的分账账户和分账金额。进而,将各第一类分账账户分别对应的结算任务发送至第一任务队列中,将各第二类分账账户分别对应的结算任务发送至第二任务队列中。
其中,可选地,可以是每个分账账户对应于一个任务队列,也可以是一类分账账户对应于一个任务队列。
本实施例中,第一类分账账户对应于第一任务队列,第二类分账账户对应于第二任务队列,即将各第一类分账账户对应的全部结算任务发送至第一队列,将各第二类分账账户对应的全部结算任务发送至第二任务队列。
可选地,也可以每一个第一类分账账户对应于一个任务队列,全部第二类分账账户对应于一个任务队列。
服务平台可以通过不同的线程分别遍历第一任务队列和第二任务队列,根据遍历获得的结算任务,向对应的分账账户记账对应的分账金额。可选地,针对同时有多个结算任务进入到同一任务队列的情况,服务平台可以随机地取出一个结算任务。
本实施例中,通过任务队列机制,可以保证即使是同时到来的多个订单,甚至是针对同一分账账户的多个结算任务,也会被逐个被进行处理,因为任务队列是逐个输出结算任务的,避免多个结算任务同时记账写入同一分账账户容易引起的错误。
图3所示实施例中,对于第一类分账账户和第二类分账账户使用了相同的分账处理机制,即任务队列机制。实际应用中,正如前述所说,第二类分账账户的并发分账数据量相对于第一类分账账户来说少很多很多,基于此,可以对第一类分账账户和第二类分账账户采用差异化的分账处理机制进行处理。图4所示实施例即为分别针对第一类分账账户和第二类分账账户进行差异化分账处理的一种可选实现方式。
图4为图2所示实施例中步骤205的另一种可选实现方式的流程图,如图4所示,可以包括如下步骤:
步骤401、生成至少一个第一类分账账户分别对应的结算任务,结算任务中包括对应的第一类分账账户和分账金额。
步骤402、将生成的结算任务发送至第一类分账账户对应的任务队列中。
步骤403、遍历任务队列,根据遍历获得的结算任务向对应的第一类分账账户记账对应的分账金额。
步骤401-403为分别向各第一类分账账户记账对应的分账金额的处理过程,本实施例中,对于第一类分账账户来说,仍采用任务队列的机制。
可选地,可以针对每个第一类分账账户设置一一对应的任务队列,也可以针对多个第一类分账账户设置一个任务队列。本实施例中,以至少一个第一类分账账户对应于同一个任务队列为例,但是并不以此为限。
对于各第一类分账账户的处理参见图3所示实施例,在此不再赘述。
如下的步骤404-406为分别向各第二类分账账户记账对应的分账金额的处理过程,本实施例中,对于每个第二类分账账户,采用乐观锁的机制进行分账处理。
步骤404、对于至少一个第二类分账账户中的任一第二类分账账户Hi,若当前第二类分账账户Hi对应有一个分账金额,则根据一个分账金额更新第二类分账账户Hi的余额,并更新第二类分账账户Hi对应的标号,标号用于标记一次记账操作。
本实施例中,针对各个第二类分账账户进行并行的分账处理,可以理解为服务平台为每个第二类分账账户配置一个线程进行分账处理。
针对任一第二类分账账户Hi来说,如果同一时刻,仅有一个订单需要向该第二类分账账户Hi进行分账,则直接执行更新该第二类分账账户Hi的余额的过程即可。
具体举例来说,此时余额更新过程为:将第二类分账账户Hi对应的分账金额50元写入到第二类分账账户Hi中,使得第二类分账账户Hi中的余额进行加50元的运算,从之前的X元变为更新后的X+50元。
另外,本实施例中,为了避免多个订单同时向同一第二类分账账户的分账所引起的记账错误,为每个第二类分账账户设置一个标号位,用于标记每一次的记账操作。该标号位可以实现为编号,即没完成一次记账操作,编号执行加一操作。从而,上述举例过程中,在进行分账金额更新第二类分账账户Hi的余额之后,随即更新当前第二类分账账户Hi的标号。
具体地,上述余额更新过程在实际应用中可以实现为:首先,读取第二类分账账户Hi的当前余额X元以及当前的标号Y,其次,执行余额更新和标号更新的操作,即当前余额X+50,标号Y+1,之后,将更新后的结果写入第二类分账账户Hi中,完成记账。
步骤405、对于至少一个第二类分账账户中的任一第二类分账账户Hi,若当前第二类分账账户Hi对应有多个分账金额,则获取第二类分账账户Hi对应的第一标号和余额。
步骤406、分别针对多个分账金额进行如下的处理:根据对应的分账金额和第一标号更新第二类分账账户Hi的余额;若余额更新成功,则更新第二类分账账户Hi当前对应的标号为第二标号。
其中,余额更新成功的条件为第一标号与第二类分账账户Hi当前对应的标号一致。
针对任一第二类分账账户Hi来说,如果同一时刻,有多个订单需要向该第二类分账账户Hi进行分账,则多个订单更新该第二类分账账户Hi的余额的过程如下:
首先,读取当前第二类分账账户Hi的余额和第一标号,进而,针对多个分账金额来说,分别进行尝试更新第二类分账账户Hi的余额和第一标号的处理。
值得说明的是,第二类分账账户Hi存储于某数据库中,对该第二类分账账户Hi进行读取、写入的操作受限于数据库的访问限制。一般来说,数据库可以允许同时读取操作,但是不允许同时写入操作。因此,当存在多个订单需要向同一第二类分账账户Hi进行分账时,从多个订单的角度来说,可以同时读取到相同的第二类分账账户Hi的余额和第一标号,但是这多个订单不能同时对该第二类分账账户Hi执行余额和标号更新操作,即不能同时执行写入的操作。也就是说,该多个订单对应的上述多个分账金额不能被同时执行更新第二类分账账户Hi的余额和第一标号的操作。
可选地,对于上述多个分账金额来说,同一时刻,可以基于一定的竞争策略从中选择一个分账金额进行对第二类分账账户Hi的更新操作,也可以随机从中选择一个分账金额对第二类分账账户Hi进行更新操作。从而控制同一时刻只有一个分账金额能够更新成功,其他分账金额的更新操作将会失败。
对于当前时刻竞争到一个分账金额来说,其更新操作的过程为:以获取到的第二类分账账户Hi的余额和第一标号尝试更新第二类分账账户Hi,如果第一标号与当前时刻第二类分账账户Hi的标号一致,则将第二类分账账户Hi的余额加上该分账金额,并更新当前第二类分账账户Hi的标号为第二标号。
下面针对本实施例中的多个分账金额同时要对同一第二类分账账户Hi进行分账的过程进行举例说明。
假设同一时刻服务平台接收到需要向同一第二类分账账户Hi进行分账处理的两个订单,分别为订单1、订单2,并且假设订单1向第二类分账账户Hi的分账金额为A,订单2向第二类分账账户Hi的分账金额为B。服务平台在确定上述两个分账金额之后,读取第二类分账账户Hi的当前余额为X,标号位Y。在上述假设条件下,正常情况下,第二类分账账户Hi的最终余额更新结果应该为X+A+B。
为了能够更直观地理解本实施例中标号的作用,首先说明在不考虑标号的情况下,可能会出现的第二类分账账户Hi余额更新错误情况:由于分账金额A和分账金额B同时达到,如果这两个分账金额同时更新第二类分账账户Hi成功,那么对于分账金额A来说,第二类分账账户Hi的余额更新结果为X+A,对于分账金额B来说,第二类分账账户Hi的余额更新结果为X+B。也就是说,这两个分账金额都是基于X进行余额更新的,那么最终第二类分账账户Hi的余额更新结果不管是X+A,还是X+B,都是错误的。
本实施例中,在引入标号之后,更新过程为:针对分账金额A和分账金额B来说,当服务平台读取到第二类分账账户Hi的当前余额X和第一标号Y之后,可以视为服务平台将分账金额A,当前余额X和第一标号Y关联在一起,作为分账金额A的结算任务;将分账金额B,当前余额X和第一标号Y关联在一起,作为分账金额B的结算任务。
假设分账金额A对应的结算任务优先竞争到更新第二类分账账户Hi的余额的机会,或者说服务平台首先确定分账金额A对应的结算任务优先进行更新第二类分账账户Hi的余额的操作。那么针对分账金额A来说,在进行更新操作的过程中,首先比较分账金额A的结算任务中包含的第一标号Y与第二类分账账户Hi的当前标号是否一致,由于第一标号Y是服务平台确定存在同时向同一第二类分账账户Hi进行分账的分账金额A和分账金额B的情况下随即读取到的,而分账金额A又获得优先更新操作的权限,因此,第二类分账账户Hi的当前标号仍为第一标号Y,因此,分账金额A更新第二类分账账户Hi的余额X将会成功,将第二类分账账户Hi的余额更新为X+A,标号更新为第二标号Y+1。
之后对于分账金额B来说,其以包含分账金额B、余额X、第一标号Y的结算任务更新第二类分账账户Hi时,比较发现其结算任务中的第一标号Y与当前第二类分账账户Hi的第二标号Y+1不一致,因此,其以分账金额B更新余额X为X+B的操作不成功。
此时,针对分账金额B来说,当其更新操作不成功时,可以重新读取第二类分账账户Hi的当前余额和标号,即读取到余额为X+A,标号为Y+1,进而,更新分账金额B的结算任务为包含分账金额B,第二类分账账户Hi的当前余额为X+A,第二类分账账户Hi的标号为Y+1,以更新后的结算任务再更新第二类分账账户Hi的余额。由于此时分账金额B对应的读取到的标号为Y+1,与当前第二类分账账户Hi的标号一致,则更新成功,第二类分账账户Hi的余额被更新为X+A+B。
综上,本实施例中,针对第一类分账账户和第二类分账账户进行差异化的分账处理,即针对第一类分账账户存在高并发分账数据量的情况,采用任务队列的机制进行分账处理,针对第二类分账账户存在少量并发分账数据量的情况,采用标号校验或者说采用乐观锁的机制进行分账处理,保证了分账账户记账结果的准确、可靠。
图2-图4所示实施例中,对与当前接收到的订单相对应的多个分账账户,从区分账户类型的角度,说明了对每种账户类型的分账账户进行差异化分账处理的过程。但是,上述区分账户类型,仅为本发明实施例中的一种可选的实现方式,实际上,对于多个分账账户,也可以进行无差异化的分账处理,即不分区账户类型的分账处理。
下面结合图5和图6实施例,介绍两种对多个分账账户进行无差异化分账处理的可选实现方式。
图5为图1所示实施例中步骤103的一种可选实现方式的流程图,如图5所示,包括如下步骤:
步骤501、根据结算策略,计算多个分账账户分别对应的分账金额。
步骤502、生成与多个分账账户分别对应的结算任务,每个结算任务中包括对应的分账账户和分账金额。
步骤503、将多个结算任务发送至任务队列中。
步骤504、遍历任务队列,根据遍历获得的结算任务,向对应的分账账户记账对应的分账金额。
本实施例中,采用任务队列的机制,对面向每个分账账户的结算任务进行统一的处理,以保证对每个分账账户的分账处理结果准确、可靠。具体地处理过程可以参见图3所示实施例中的描述,在此不再赘述,区别仅在于不区分多个分账账户的账户类型。
图6为图1所示实施例中步骤103的另一种可选实现方式的流程图,如图6所示,包括如下步骤:
步骤601、根据结算策略,计算多个分账账户对应的分账金额。
步骤602、对于多个分账账户中的任一分账账户Hi,若当前分账账户Hi对应有一个分账金额,则根据一个分账金额更新分账账户Hi的余额,并更新分账账户Hi对应的标号,标号用于标记一次记账操作。
步骤603、若当前分账账户Hi对应有多个分账金额,则获取分账账户Hi对应的第一标号和余额。
步骤604、分别针对多个分账金额进行如下的处理:根据对应的分账金额和第一标号更新分账账户Hi的余额;若余额更新成功,则更新分账账户Hi当前对应的标号为第二标号。
其中,余额更新成功的条件为第一标号与分账账户Hi当前对应的标号一致。
本实施例中,采用标号的机制对每个分账账户进行分账处理,以保证对每个分账账户的分账处理结果准确、可靠。具体地处理过程可以参见图4所示实施例中的描述,在此不再赘述,区别仅在于不区分多个分账账户的账户类型。
图7为本发明实施例提供的分账结算方法实施例七的流程图,如图7所示,在图1所示实施例基础上,步骤103之后,该方法还可以包括如下步骤:
步骤701、生成与多个分账账户分别对应的记账明细。
步骤702、将记账明细分别存储到第一数据库和第二数据库,其中,第一数据库具有预设时间长度的存储时效。
本实施例中,为了便于后续的对账、查询等处理,可以记录每次分账操作,即生成与多个分账账户分别对应的记账明细。其中,记账明细中比如可以包括记账时间、金额以及订单相关信息等等。
可选地,可以将每个分账账户对应的记账明细集中存储在同一数据库中,在该数据库中,不同分账账户对应的记账明细分别存储。
另外可选地,本实施例中,可以设置两个不同的数据库来存储各分账账户的分账明细,其中一个数据库用于近乎永久性存储分账明细,另一个数据库用于短时间内存储分账明细。
其中可选地,用于短时间存储分账明细的第一数据库可以实现为mysql数据库,该数据库中存储的数据的存储时效比如为1个月。第二数据库比如可以实现为Elasticsearch数据库。
当生成一个分账明细时,将该分账明细同时存入第一数据库和第二数据库,即存入第一数据库中与对应的分账账户相应的存储空间中,存入第二数据库中与对应的分账账户相应的存储空间中。
步骤703、接收查询请求,查询请求中包括查询时间段。
步骤704、根据查询时间段从第一数据库和第二数据库中确定目标数据库。
当以上述第一数据库和第二数据库存储各分账账户的分账明细时,比如商户、骑士等用户想要查询某时间段内其收入情况时,触发向服务平台发送查询请求。该查询请求中可以包含需要查询的账户标识以及想要查询的时间段,即查询哪个账户的哪个时间段内的分账明细。
服务平台继而根据查询请求中携带的查询时间段,以及当前第一数据库中存储的分账明细的存储时效,确定从哪个数据库中获取相应的分账明细来响应该查询请求。具体地,如果查询时间段是距当前时刻一个月内的时间段,则确定第一数据库为目标数据库,从第一数据库中查询获得对应的分账明细,相反地,若查询时间段超出了距当前时刻的一个月时限,则确定第二数据库为目标数据库,从第二数据库中查询获得对应的分账明细。
本实施例中,设置两种具有不同存储时效的数据库来存储各分账账户的分账明细。由于一般地,用户想要查询的是短时间内的收入情况,通过这两种数据库的设置,可以提高用户查询短时间内收入情况的查询处理效率。
以下将详细描述本发明的一个或多个实施例的分账结算装置。这些分账结算装置可以被实现在服务器的基础架构中,也可以被实现在服务器和客户端的交互系统中。本领域技术人员可以理解,这些分账结算装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图8为本发明实施例提供的分账结算装置实施例一的结构示意图,如图8所示,该分账结算装置包括:第一确定模块11、获取模块12、处理模块13。
第一确定模块11,用于根据订单的当前状态和订单详情信息,确定多个分账账户。
获取模块12,用于获取与所述订单的当前状态对应的结算策略。
处理模块13,用于根据所述结算策略,向所述多个分账账户分别记账对应的分账金额。
其中,可选地,所述获取模块12具体用于:确定与所述订单的当前状态对应的结算接口;调用所述结算接口,获取与所述订单的当前状态对应的结算策略。
图8所示装置可以执行图1所示实施例的方法,本实施例未详细描述的部分,可参考对图1所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1所示实施例中的描述,在此不再赘述。
图9为本发明实施例提供的分账结算装置实施例二的结构示意图,如图9所示,该分账结算装置还包括:第二确定模块21。
第二确定模块21,用于确定所述多个分账账户中的第一类分账账户和第二类分账账户。
所述处理模块13,用于若第二确定模块21确定所述多个分账账户中包括至少一个第一类分账账户和至少一个第二类分账账户,则根据所述结算策略,获取每个第一类分账账户对应的分账金额和每个第二类分账账户对应的分账金额;分别向所述至少一个第一类分账账户和所述至少一个第二类分账账户记账对应的分账金额。
图9所示装置可以执行图2所示实施例的方法,本实施例未详细描述的部分,可参考对图2所示实施例的相关说明。该技术方案的执行过程和技术效果参见图2所示实施例中的描述,在此不再赘述。
图10为本发明实施例提供的分账结算装置实施例三的结构示意图,如图10所示,在图9所示实施例基础上,所述处理模块13包括:第一生成子模块131、第一发送子模块132、第一处理子模块133。
第一生成子模块131,用于生成所述至少一个第一类分账账户分别对应的结算任务,所述至少一个第二类分账账户分别对应的结算任务,每个结算任务中包括对应的分账账户和分账金额。
第一发送子模块132,用于将所述至少一个第一类分账账户分别对应的结算任务发送至第一任务队列中,将所述至少一个第二类分账账户分别对应的结算任务发送至第二任务队列中。
第一处理子模块133,用于分别遍历所述第一任务队列和所述第二任务队列,根据遍历获得的结算任务,向对应的分账账户记账对应的分账金额。
图10所示装置可以执行图3所示实施例的方法,本实施例未详细描述的部分,可参考对图3所示实施例的相关说明。该技术方案的执行过程和技术效果参见图3所示实施例中的描述,在此不再赘述。
图11为本发明实施例提供的分账结算装置实施例四的结构示意图,如图11所示,在图9所示实施例基础上,所述处理模块13包括:第二生成子模块134、第二发送子模块135、第二处理子模块136、第一更新子模块137、第一获取子模块138、第二更新子模块139。
第二生成子模块134,用于生成所述至少一个第一类分账账户分别对应的结算任务,所述结算任务中包括对应的第一类分账账户和分账金额。
第二发送子模块135,用于将生成的结算任务发送至第一类分账账户对应的任务队列中。
第二处理子模块136,用于遍历所述任务队列,根据遍历获得的结算任务,向对应的第一类分账账户记账对应的分账金额。
第一更新子模块137,用于对于所述至少一个第二类分账账户中的任一第二类分账账户Hi,若当前所述第二类分账账户Hi对应有一个分账金额,则根据所述一个分账金额更新所述第二类分账账户Hi的余额,并更新所述第二类分账账户Hi对应的标号,所述标号用于标记一次记账操作。
第一获取子模块138,用于对于所述至少一个第二类分账账户中的任一第二类分账账户Hi,若当前所述第二类分账账户Hi对应有多个分账金额,则获取所述第二类分账账户Hi对应的第一标号和余额。
第二更新子模块139,用于分别针对所述多个分账金额进行如下的处理:
根据对应的分账金额和所述第一标号更新所述第二类分账账户Hi的余额;若所述余额更新成功,则更新所述第二类分账账户Hi当前对应的标号为第二标号;其中,余额更新成功的条件为所述第一标号与所述第二类分账账户Hi当前对应的标号一致。
图11所示装置可以执行图4所示实施例的方法,本实施例未详细描述的部分,可参考对图4所示实施例的相关说明。该技术方案的执行过程和技术效果参见图4所示实施例中的描述,在此不再赘述。
图12为本发明实施例提供的分账结算装置实施例五的结构示意图,如图12所示,在图9所示实施例基础上,所述处理模块13包括:第一计算子模块1310、第三生成子模块1311、第三发送子模块1312、第三处理子模块1313。
第一计算子模块1310,用于根据所述结算策略,计算所述多个分账账户分别对应的分账金额。
第三生成子模块1311,用于生成与所述多个分账账户分别对应的结算任务,每个结算任务中包括对应的分账账户和分账金额。
第三发送子模块1312,用于将多个结算任务发送至任务队列中。
第三处理子模块1313,用于遍历所述任务队列,根据遍历获得的结算任务,向对应的分账账户记账对应的分账金额。
图12所示装置可以执行图5所示实施例的方法,本实施例未详细描述的部分,可参考对图5所示实施例的相关说明。该技术方案的执行过程和技术效果参见图5所示实施例中的描述,在此不再赘述。
图13为本发明实施例提供的分账结算装置实施例六的结构示意图,如图13所示,在图9所示实施例基础上,所述处理模块13包括:第二计算子模块1314、第三更新子模块1315、第二获取子模块1316、第四更新子模块1317。
第二计算子模块1314,用于根据所述结算策略,计算所述多个分账账户对应的分账金额。
第三更新子模块1315,用于对于所述多个分账账户中的任一分账账户Hi,若当前所述分账账户Hi对应有一个分账金额,则根据所述一个分账金额更新所述分账账户Hi的余额,并更新所述分账账户Hi对应的标号,所述标号用于标记一次记账操作。
第二获取子模块1316,用于若当前所述分账账户Hi对应有多个分账金额,则获取所述分账账户Hi对应的第一标号和余额;
第四更新子模块1317,用于分别针对所述多个分账金额进行如下的处理:根据对应的分账金额和所述第一标号更新所述分账账户Hi的余额;若所述余额更新成功,则更新所述分账账户Hi当前对应的标号为第二标号;其中,余额更新成功的条件为所述第一标号与所述分账账户Hi当前对应的标号一致。
图13所示装置可以执行图6所示实施例的方法,本实施例未详细描述的部分,可参考对图6所示实施例的相关说明。该技术方案的执行过程和技术效果参见图6所示实施例中的描述,在此不再赘述。
图14为本发明实施例提供的分账结算装置实施例七的结构示意图,如图14所示,在图8至图13任一所示实施例基础上,可选地,该装置还包括:生成模块31、存储模块32。
生成模块31,用于生成与所述多个分账账户分别对应的记账明细。
存储模块32,用于将所述记账明细分别存储到第一数据库和第二数据库,其中,第一数据库具有预设时间长度的存储时效。
可选地,所述装置还包括:接收模块33、查询模块34。
接收模块33,用于接收查询请求,所述查询请求中包括查询时间段。
查询模块34,用于根据所述查询时间段从所述第一数据库和所述第二数据库中确定目标数据库。
图14所示装置可以执行图7所示实施例的方法,本实施例未详细描述的部分,可参考对图7所示实施例的相关说明。该技术方案的执行过程和技术效果参见图7所示实施例中的描述,在此不再赘述。
以上描述了分账结算装置的内部功能和结构,实际中,该分账结算装置可实现为服务器,包括:输入设备、处理器;
所述输入设备,用于接收订单;
所述处理器,耦合到所述输入设备,用于根据订单的当前状态和订单详情信息确定多个分账账户;获取与所述订单的当前状态对应的结算策略;根据所述结算策略,向所述多个分账账户分别记账对应的分账金额。
可选地,所述处理器还用于执行上述图1至图7所示方法步骤中的全部或部分步骤。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以产品的形式体现出来,该计算机产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (24)
1.一种分账结算方法,其特征在于,包括:
根据订单的当前状态和订单详情信息,确定多个分账账户;
获取与所述订单的当前状态对应的结算策略;
根据所述结算策略,向所述多个分账账户分别记账对应的分账金额。
2.根据权利要求1所述的方法,其特征在于,所述获取与所述订单的当前状态对应的结算策略,包括:
确定与所述订单的当前状态对应的结算接口;
调用所述结算接口,获取与所述订单的当前状态对应的结算策略。
3.根据权利要求1所述的方法,其特征在于,所述确定多个分账账户之后,还包括:
确定所述多个分账账户中的第一类分账账户和第二类分账账户;
若所述多个分账账户中包括至少一个第一类分账账户和至少一个第二类分账账户,则所述根据所述结算策略,向所述多个分账账户分别记账对应的分账金额,包括:
根据所述结算策略,获取每个第一类分账账户对应的分账金额和每个第二类分账账户对应的分账金额;
分别向所述至少一个第一类分账账户和所述至少一个第二类分账账户记账对应的分账金额。
4.根据权利要求3所述的方法,其特征在于,所述分别向所述至少一个第一类分账账户和所述至少一个第二类分账账户记账对应的分账金额,包括:
生成所述至少一个第一类分账账户分别对应的结算任务,所述至少一个第二类分账账户分别对应的结算任务,每个结算任务中包括对应的分账账户和分账金额;
将所述至少一个第一类分账账户分别对应的结算任务发送至第一任务队列中,将所述至少一个第二类分账账户分别对应的结算任务发送至第二任务队列中;
分别遍历所述第一任务队列和所述第二任务队列,根据遍历获得的结算任务,向对应的分账账户记账对应的分账金额。
5.根据权利要求3所述的方法,其特征在于,所述分别向所述至少一个第一类分账账户记账对应的分账金额,包括:
生成所述至少一个第一类分账账户分别对应的结算任务,所述结算任务中包括对应的第一类分账账户和分账金额;
将生成的结算任务发送至第一类分账账户对应的任务队列中;
遍历所述任务队列,根据遍历获得的结算任务,向对应的第一类分账账户记账对应的分账金额。
6.根据权利要求3所述的方法,其特征在于,所述分别向所述至少一个第二类分账账户记账对应的分账金额,包括:
对于所述至少一个第二类分账账户中的任一第二类分账账户Hi,若当前所述第二类分账账户Hi对应有一个分账金额,则根据所述一个分账金额更新所述第二类分账账户Hi的余额,并更新所述第二类分账账户Hi对应的标号,所述标号用于标记一次记账操作。
7.根据权利要求3所述的方法,其特征在于,所述分别向所述至少一个第二类分账账户记账对应的分账金额,包括:
对于所述至少一个第二类分账账户中的任一第二类分账账户Hi,若当前所述第二类分账账户Hi对应有多个分账金额,则获取所述第二类分账账户Hi对应的第一标号和余额;
分别针对所述多个分账金额进行如下的处理:
根据对应的分账金额和所述第一标号更新所述第二类分账账户Hi的余额;
若所述余额更新成功,则更新所述第二类分账账户Hi当前对应的标号为第二标号;
其中,余额更新成功的条件为所述第一标号与所述第二类分账账户Hi当前对应的标号一致。
8.根据权利要求1所述的方法,其特征在于,所述根据所述结算策略,向所述多个分账账户分别记账对应的分账金额,包括:
根据所述结算策略,计算所述多个分账账户分别对应的分账金额;
生成与所述多个分账账户分别对应的结算任务,每个结算任务中包括对应的分账账户和分账金额;
将多个结算任务发送至任务队列中;
遍历所述任务队列,根据遍历获得的结算任务,向对应的分账账户记账对应的分账金额。
9.根据权利要求1所述的方法,其特征在于,所述根据所述结算策略,向所述多个分账账户分别记账对应的分账金额,包括:
根据所述结算策略,计算所述多个分账账户对应的分账金额;
对于所述多个分账账户中的任一分账账户Hi,若当前所述分账账户Hi对应有一个分账金额,则根据所述一个分账金额更新所述分账账户Hi的余额,并更新所述分账账户Hi对应的标号,所述标号用于标记一次记账操作。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
若当前所述分账账户Hi对应有多个分账金额,则获取所述分账账户Hi对应的第一标号和余额;
分别针对所述多个分账金额进行如下的处理:
根据对应的分账金额和所述第一标号更新所述分账账户Hi的余额;
若所述余额更新成功,则更新所述分账账户Hi当前对应的标号为第二标号;
其中,余额更新成功的条件为所述第一标号与所述分账账户Hi当前对应的标号一致。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述根据所述结算策略,向所述多个分账账户分别记账对应的分账金额之后,还包括:
生成与所述多个分账账户分别对应的记账明细;
将所述记账明细分别存储到第一数据库和第二数据库,其中,第一数据库具有预设时间长度的存储时效。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
接收查询请求,所述查询请求中包括查询时间段;
根据所述查询时间段从所述第一数据库和所述第二数据库中确定目标数据库。
13.分账结算装置,其特征在于,包括:
第一确定模块,用于根据订单的当前状态和订单详情信息,确定多个分账账户;
获取模块,用于获取与所述订单的当前状态对应的结算策略;
处理模块,用于根据所述结算策略,向所述多个分账账户分别记账对应的分账金额。
14.根据权利要求13所述的装置,其特征在于,所述获取模块具体用于:
确定与所述订单的当前状态对应的结算接口;
调用所述结算接口,获取与所述订单的当前状态对应的结算策略。
15.根据权利要求13所述的装置,其特征在于,还包括:
第二确定模块,用于确定所述多个分账账户中的第一类分账账户和第二类分账账户;
所述处理模块,用于若所述第二确定模块确定所述多个分账账户中包括至少一个第一类分账账户和至少一个第二类分账账户,则根据所述结算策略,获取每个第一类分账账户对应的分账金额和每个第二类分账账户对应的分账金额;分别向所述至少一个第一类分账账户和所述至少一个第二类分账账户记账对应的分账金额。
16.根据权利要求15所述的装置,其特征在于,所述处理模块包括:
第一生成子模块,用于生成所述至少一个第一类分账账户分别对应的结算任务,所述至少一个第二类分账账户分别对应的结算任务,每个结算任务中包括对应的分账账户和分账金额;
第一发送子模块,用于将所述至少一个第一类分账账户分别对应的结算任务发送至第一任务队列中,将所述至少一个第二类分账账户分别对应的结算任务发送至第二任务队列中;
第一处理子模块,用于分别遍历所述第一任务队列和所述第二任务队列,根据遍历获得的结算任务,向对应的分账账户记账对应的分账金额。
17.根据权利要求15所述的装置,其特征在于,所述处理模块包括:
第二生成子模块,用于生成所述至少一个第一类分账账户分别对应的结算任务,所述结算任务中包括对应的第一类分账账户和分账金额;
第二发送子模块,用于将生成的结算任务发送至第一类分账账户对应的任务队列中;
第二处理子模块,用于遍历所述任务队列,根据遍历获得的结算任务,向对应的第一类分账账户记账对应的分账金额。
18.根据权利要求15所述的装置,其特征在于,所述处理模块包括:
第一更新子模块,用于对于所述至少一个第二类分账账户中的任一第二类分账账户Hi,若当前所述第二类分账账户Hi对应有一个分账金额,则根据所述一个分账金额更新所述第二类分账账户Hi的余额,并更新所述第二类分账账户Hi对应的标号,所述标号用于标记一次记账操作。
19.根据权利要求15所述的装置,其特征在于,所述处理模块包括:
第一获取子模块,用于对于所述至少一个第二类分账账户中的任一第二类分账账户Hi,若当前所述第二类分账账户Hi对应有多个分账金额,则获取所述第二类分账账户Hi对应的第一标号和余额;
第二更新子模块,用于分别针对所述多个分账金额进行如下的处理:
根据对应的分账金额和所述第一标号更新所述第二类分账账户Hi的余额;
若所述余额更新成功,则更新所述第二类分账账户Hi当前对应的标号为第二标号;
其中,余额更新成功的条件为所述第一标号与所述第二类分账账户Hi当前对应的标号一致。
20.根据权利要求13所述的装置,其特征在于,所述处理模块包括:
第一计算子模块,用于根据所述结算策略,计算所述多个分账账户分别对应的分账金额;
第三生成子模块,用于生成与所述多个分账账户分别对应的结算任务,每个结算任务中包括对应的分账账户和分账金额;
第三发送子模块,用于将多个结算任务发送至任务队列中;
第三处理子模块,用于遍历所述任务队列,根据遍历获得的结算任务,向对应的分账账户记账对应的分账金额。
21.根据权利要求13所述的装置,其特征在于,所述处理模块包括:
第二计算子模块,用于根据所述结算策略,计算所述多个分账账户对应的分账金额;
第三更新子模块,用于对于所述多个分账账户中的任一分账账户Hi,若当前所述分账账户Hi对应有一个分账金额,则根据所述一个分账金额更新所述分账账户Hi的余额,并更新所述分账账户Hi对应的标号,所述标号用于标记一次记账操作。
22.根据权利要求21所述的装置,其特征在于,所述装置还包括:
第二获取子模块,用于若当前所述分账账户Hi对应有多个分账金额,则获取所述分账账户Hi对应的第一标号和余额;
第四更新子模块,用于分别针对所述多个分账金额进行如下的处理:
根据对应的分账金额和所述第一标号更新所述分账账户Hi的余额;
若所述余额更新成功,则更新所述分账账户Hi当前对应的标号为第二标号;
其中,余额更新成功的条件为所述第一标号与所述分账账户Hi当前对应的标号一致。
23.根据权利要求13至22中任一项所述的装置,其特征在于,还包括:
生成模块,用于生成与所述多个分账账户分别对应的记账明细;
存储模块,用于将所述记账明细分别存储到第一数据库和第二数据库,其中,第一数据库具有预设时间长度的存储时效。
24.根据权利要求23所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收查询请求,所述查询请求中包括查询时间段;
查询模块,用于根据所述查询时间段从所述第一数据库和所述第二数据库中确定目标数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610811778.XA CN106447426A (zh) | 2016-09-08 | 2016-09-08 | 分账结算方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610811778.XA CN106447426A (zh) | 2016-09-08 | 2016-09-08 | 分账结算方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106447426A true CN106447426A (zh) | 2017-02-22 |
Family
ID=58165461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610811778.XA Pending CN106447426A (zh) | 2016-09-08 | 2016-09-08 | 分账结算方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106447426A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106960376A (zh) * | 2017-03-30 | 2017-07-18 | 福建中金在线信息科技有限公司 | 一种订单结算方法及装置 |
CN107123038A (zh) * | 2017-03-14 | 2017-09-01 | 北京小度信息科技有限公司 | 账务数据处理方法及装置 |
CN107563881A (zh) * | 2017-08-04 | 2018-01-09 | 阿里巴巴集团控股有限公司 | 记账方法和装置、服务器 |
CN109146654A (zh) * | 2018-07-09 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 一种记账方法、系统及电子设备 |
CN109829801A (zh) * | 2018-12-28 | 2019-05-31 | 易票联支付有限公司 | 一种分账方法、系统及存储介质 |
CN110443598A (zh) * | 2019-08-08 | 2019-11-12 | 上海中通吉网络技术有限公司 | 账户结算方法和装置 |
CN110728506A (zh) * | 2019-10-21 | 2020-01-24 | 中国民航信息网络股份有限公司 | 交易数据处理的方法及装置 |
CN110728574A (zh) * | 2018-07-16 | 2020-01-24 | 深圳市于易点科技有限公司 | 一种利用二维码实现交易分账的方法和系统 |
CN111833169A (zh) * | 2020-07-01 | 2020-10-27 | 中国建设银行股份有限公司 | 一种分账管理方法和装置 |
CN112308513A (zh) * | 2020-10-30 | 2021-02-02 | 广州市汇聚支付电子科技有限公司 | 一种基于大数据自动对账系统及方法 |
CN112365314A (zh) * | 2020-11-05 | 2021-02-12 | 深圳市极致科技股份有限公司 | 一种分账方法、装置,电子设备及存储介质 |
CN113139843A (zh) * | 2020-01-20 | 2021-07-20 | 菜鸟智能物流控股有限公司 | 物流、家装、旅游数据的处理方法、装置及电子设备 |
CN115545871A (zh) * | 2022-11-25 | 2022-12-30 | 广东通莞科技股份有限公司 | 分账结算方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060287894A1 (en) * | 2005-06-17 | 2006-12-21 | Weiss Sanford B | Life settlement business method and program based on actuarial/expectancy data |
CN102034189A (zh) * | 2009-09-29 | 2011-04-27 | 深圳市摩财宝网络技术有限公司 | 四十八小时多方结算系统 |
CN104217362A (zh) * | 2014-09-29 | 2014-12-17 | 深圳市淘淘谷信息技术有限公司 | 基于互联网通讯的清分系统及线下交易、在线即时分账的方法 |
CN104700263A (zh) * | 2015-02-12 | 2015-06-10 | 深圳市淘淘谷信息技术有限公司 | 一种基于赋值加载的线上销售即时结算的通讯方法 |
-
2016
- 2016-09-08 CN CN201610811778.XA patent/CN106447426A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060287894A1 (en) * | 2005-06-17 | 2006-12-21 | Weiss Sanford B | Life settlement business method and program based on actuarial/expectancy data |
CN102034189A (zh) * | 2009-09-29 | 2011-04-27 | 深圳市摩财宝网络技术有限公司 | 四十八小时多方结算系统 |
CN104217362A (zh) * | 2014-09-29 | 2014-12-17 | 深圳市淘淘谷信息技术有限公司 | 基于互联网通讯的清分系统及线下交易、在线即时分账的方法 |
CN104700263A (zh) * | 2015-02-12 | 2015-06-10 | 深圳市淘淘谷信息技术有限公司 | 一种基于赋值加载的线上销售即时结算的通讯方法 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107123038A (zh) * | 2017-03-14 | 2017-09-01 | 北京小度信息科技有限公司 | 账务数据处理方法及装置 |
CN106960376A (zh) * | 2017-03-30 | 2017-07-18 | 福建中金在线信息科技有限公司 | 一种订单结算方法及装置 |
CN107563881A (zh) * | 2017-08-04 | 2018-01-09 | 阿里巴巴集团控股有限公司 | 记账方法和装置、服务器 |
CN109146654B (zh) * | 2018-07-09 | 2021-10-15 | 创新先进技术有限公司 | 一种记账方法、系统及电子设备 |
CN109146654A (zh) * | 2018-07-09 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 一种记账方法、系统及电子设备 |
CN110728574A (zh) * | 2018-07-16 | 2020-01-24 | 深圳市于易点科技有限公司 | 一种利用二维码实现交易分账的方法和系统 |
CN109829801A (zh) * | 2018-12-28 | 2019-05-31 | 易票联支付有限公司 | 一种分账方法、系统及存储介质 |
CN109829801B (zh) * | 2018-12-28 | 2023-05-30 | 易票联支付有限公司 | 一种分账方法、系统及存储介质 |
CN110443598A (zh) * | 2019-08-08 | 2019-11-12 | 上海中通吉网络技术有限公司 | 账户结算方法和装置 |
CN110443598B (zh) * | 2019-08-08 | 2023-03-28 | 上海中通吉网络技术有限公司 | 账户结算方法和装置 |
CN110728506A (zh) * | 2019-10-21 | 2020-01-24 | 中国民航信息网络股份有限公司 | 交易数据处理的方法及装置 |
CN113139843A (zh) * | 2020-01-20 | 2021-07-20 | 菜鸟智能物流控股有限公司 | 物流、家装、旅游数据的处理方法、装置及电子设备 |
CN111833169A (zh) * | 2020-07-01 | 2020-10-27 | 中国建设银行股份有限公司 | 一种分账管理方法和装置 |
CN112308513B (zh) * | 2020-10-30 | 2021-08-03 | 广州市汇聚支付电子科技有限公司 | 一种基于大数据自动对账系统及方法 |
CN112308513A (zh) * | 2020-10-30 | 2021-02-02 | 广州市汇聚支付电子科技有限公司 | 一种基于大数据自动对账系统及方法 |
CN112365314A (zh) * | 2020-11-05 | 2021-02-12 | 深圳市极致科技股份有限公司 | 一种分账方法、装置,电子设备及存储介质 |
CN115545871A (zh) * | 2022-11-25 | 2022-12-30 | 广东通莞科技股份有限公司 | 分账结算方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106447426A (zh) | 分账结算方法和装置 | |
De Prado | Advances in financial machine learning | |
US11030692B2 (en) | System and method for a semi-lit market | |
US11562382B2 (en) | System and method for providing data science as a service | |
Aldridge et al. | Real-time risk: What investors should know about FinTech, high-frequency trading, and flash crashes | |
KR101834102B1 (ko) | 전자 거래 촉진을 위한 기법 | |
Schiller | Digital depression: Information technology and economic crisis | |
KR102029290B1 (ko) | 전송 레이턴시 평준화 장치, 방법 및 시스템 | |
Linton et al. | Implications of high-frequency trading for security markets | |
US10621666B2 (en) | System and method for facilitation cross orders | |
US20010042037A1 (en) | Internet-based system for identification, measurement and ranking of investment portfolio management, and operation of a fund supermarket, including "best investor" managed funds | |
CN105654331A (zh) | 一种共享有奖促销的网络系统及其实施方法 | |
Turi | Financial technologies and DeFi: A revisit to the digital finance revolution | |
AU2001257079B2 (en) | Internet-based system for identification, measurement and ranking of investment portfolio management, and operation of a fund supermarket, including "best investor" managed funds | |
KR20150015163A (ko) | 금융 자동화 기기를 이용하여 상담 도중에 다른 상담원에게 추가 상담을 이관시키는 서버 및 그 서버를 이용한 서비스 제공 방법 | |
KR20160026477A (ko) | 사용자 맞춤 주식투자정보 제공방법, 장치 및 시스템 | |
Brown | Financial Accounting and Equity Markets: Selected Essays of Philip Brown | |
Virgilio | Is high-frequency trading tiering the financial markets? | |
Donadio et al. | Developing High-Frequency Trading Systems: Learn how to implement high-frequency trading from scratch with C++ or Java basics | |
Kingsly | Disruptive Technology: Blockchain: The Crystal Ball: Advancing Financial Trust, Inclusion, and Simplicity Through the Blockchain | |
WO2020086851A1 (en) | System and method for providing data science as a service | |
CN111079992A (zh) | 数据处理方法、装置和存储介质 | |
Gandy | Information technology & financial services: the new partnership | |
MANTA et al. | The impact of digitalization on financial stability and the role of innovative blockchain technologies | |
Özelli | The conundrum of neoclassical economic theory and quantitative finance induced 2008 financial crisis and the great financial crisis enabled transition from cheap oil based mass-production economy to the emergence of cheap microchip enabled information economy [attention merchants’ surveillance capitalism] |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100085 Beijing, Haidian District on the road to the information on the ground floor of the 1 to the 3 floor of the 2 floor, room 11, 202 Applicant after: Beijing Xingxuan Technology Co., Ltd. Address before: 100085 Beijing, Haidian District on the road to the information on the ground floor of the 1 to the 3 floor of the 2 floor, room 11, 202 Applicant before: BEIJING XIAODU INFORMATION TECHNOLOGY CO., LTD. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170222 |
|
RJ01 | Rejection of invention patent application after publication |