本发明涉及计算机
技术领域:
,尤其涉及一种生成账务记录方法及装置。
背景技术:
:在交易过程中,资金从一方账户支付并转入另一方账户,对双方账户而言,都会涉及一个生成账务记录的过程。有时候双方账户中会存在热点账户,例如,淘宝官方会设置一个担保交易中间账户,诸如支付宝账户,当用户对某一商品进行在线支付时,用户可以利用自己的支付账户向担保交易中间账户支付该商品的金额。在此次交易中,一共涉及两个账户,包括用户的支付账户和担保交易中间账户。其中,每个用户都具有自己的支付账户,且每个用户的支付账户都不相同。当时每一用户在进行在线支付时都会涉及到担保交易中间账户,当短时间内大量的用户进行在线支付时,担保交易中间账户就会成为热点账户。其中,服务器每次接收到用户发送的支付请求都会分别记录与该支付请求相关联的所有账户的账务记录,服务器根据一个支付请求在本地分别生成与该一个支付请求相关联的所有账户的账务记录之后,才能再根据下一支付请求在本地分别生成与该下一支付请求相关联的所有账户的账务记录。这样,当海量用户同时向服务器发送支付请求时,服务器无法在短时间内生成完所有账务记录,记账效率较低。技术实现要素:为克服相关技术中存在的问题,本发明提供一种生成账务记录方法及装置。根据本发明实施例的第一方面,提供一种生成账务记录方法,应用于分布式系统的控制端,所述分布式系统中包括多个服务器,所述分布式系统中的每个服务器均与至少一个账户的账户标识绑定;所述方法包括:接收支付请求,所述支付请求至少携带用户账户的账户标识和第三方热点账户的账户标识;获取与所述用户账户的账户标识绑定的服务器;在所述服务器中生成与所述支付请求相关联的所述用户账户的账务记录以及与所述支付请求相关联的所述第三方热点账户的账务记录。进一步地,所述方法还包括:将生成的账务记录存储在所述服务器中。其中,所述获取与所述用户账户的账户标识绑定的服务器,包括:获取所述用户账户的账户标识所属的账户类别的类别标识;获取已存储的类别标识与服务器标识之间的对应关系;在所述对应关系中查找与所述获取的类别标识相对应的服务器标识;将所述查找到的服务器标识对应的服务器确定为与所述用户账户的账户标识绑定的服务器。进一步地,所述方法还包括:获取所述第三方热点账户的账户标识以及每个用户账户的账户标识;将所述获取的账户标识进行归类,得到目标个数个类别的账户标识;获取所述目标个数个服务器;对于每一类别的账户标识,将所述类别的账户标识与所述获取的一个服务器绑定;每个服务器仅绑定一个类别的账户标识;不同的服务器绑定的账户标识为不同类别的账户标识。其中,所述将所述类别的账户标识与所述获取的一个服务器绑定,包括:获取所述类别的类别标识;将所述类别标识与所述获取的一个服务器的服务器标识组成一条记录存储在所述类别标识与服务器标识之间的对应关系中,以实现将所述类别的账户标识与所述获取的一个服务器绑定。根据本发明实施例的第二方面,提供一种生成账务记录装置,应用于分布式系统的控制端,所述分布式系统中包括多个服务器,所述分布式系统中的每个服务器均与至少一个账户的账户标识绑定;所述装置包括:接收模块,用于接收支付请求,所述支付请求至少携带用户账户的账户标识和第三方热点账户的账户标识;获取模块,用于获取与所述用户账户的账户标识绑定的服务器;生成模块,用于在所述服务器中生成与所述支付请求相关联的所述用户账户的账务记录以及与所述支付请求相关联的所述第三方热点账户的账务记录。进一步地,所述装置还包括:存储模块,用于将生成的账务记录存储在所述服务器中。其中,所述获取模块包括:第一获取单元,用于获取所述用户账户的账户标识所属的账户类别的类别标识;第二获取单元,用于获取已存储的类别标识与服务器标识之间的对应关系;查找单元,用于在所述对应关系中查找与所述获取的类别标识相对应的服务器标识;确定单元,用于将所述查找到的服务器标识对应的服务器确定为与所述用户账户的账户标识绑定的服务器。进一步地,所述获取模块还包括:第三获取单元,用于获取所述第三方热点账户的账户标识以及每个用户账户的账户标识;归类单元,用于将所述获取的账户标识进行归类,得到目标个数个类别的账户标识;第四获取单元,用于获取所述目标个数个服务器;绑定单元,用于对于每一类别的账户标识,将所述类别的账户标识与所述获取的一个服务器绑定;每个服务器仅绑定一个类别的账户标识;不同的服务器绑定的账户标识为不同类别的账户标识。其中,所述绑定单元包括:获取子单元,用于获取所述类别的类别标识;存储子单元,用于将所述类别标识与所述获取的一个服务器的服务器标识组成一条记录存储在所述类别标识与服务器标识之间的对应关系中,以实现将所述类别的账户标识与所述获取的一个服务器绑定。本发明的实施例提供的技术方案可以包括以下有益效果:在本发明中,事先将第三方热点账户的账户标识以及每一用户的用户账户的账户标识进行归类,将以及每一类别的账户标识与一个服务器绑定,不同的服务器绑定的账户标识为不同类别的账户标识,从而实现将第三方热点账户的账户标识以及每一用户的用户账户的账户标识打散,每一服务器中仅仅存储了一个类别账户标识,一个类别的账户标识的个数相对于每一用户的用户账户的账户标识以及第三方热点账户的账户标识的个数要低很多。当分布式系统的控制端短时间内接收到大量的支付请求时,为了能够尽快生成完与每一支付请求相关联的账务记录,对于任一支付请求,可以获取与该支付请求携带的用户账户的账户标识绑定的服务器,然后在该服务器中生成与该支付请求相关联的账务记录;对于其他每一支付请求同样如此。如此使得每一服务器只需生成与大量的支付请求中的一部分支付请求相关联的账务记录,且多个服务器同时生成账务记录,如此,相对于现有技术,本发明可以在短时间内生成完与大量的支付请求中的每一支付请求相关联的账务记录,从而提高记账效率。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。图1是根据一示例性实施例示出的一种分布式系统的示意图;图2是根据一示例性实施例示出的一种生成账务记录的方法的流程图;图3是根据一示例性实施例示出的一种生成账务记录的方法的流程图;图4是根据一示例性实施例示出的一种生成账务记录的方法的流程图;图5是根据一示例性实施例示出的一种生成账务记录的装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。图1是本发明实施例示出的一种分布式系统的示意图。参见图1,分布式系统1中包括多个服务器2,分布式系统1的控制端3可以为一个应用程序等,分布式系统1的控制端3可以集成在分布式系统1中的一个服务器中,该一个服务器与分布式系统1中的其他服务器分别相连,分布式系统1的控制端3可以对分布式系统1中的所有服务器2进行控制,例如,分布式系统1的控制端3可以删除分布式系统1 中的任一服务器2中存储的数据,可以从分布式系统1中的任一服务器2中获取数据,可以在分布式系统1中的任一服务器2中存储数据,以及可以在分布式系统1中的任一服务器2中生成数据等等。图2是根据一示例性实施例示出的一种生成账务记录的方法的流程图,如图2所示,该方法应用于图1所示的分布式系统1的控制端3,该方法包括以下步骤。在步骤S101中,获取第三方热点账户的账户标识以及每个用户账户的账户标识;第三方热点账户为一个担保交易中间账户,例如淘宝官方设置的支付宝账户等。用户账户可以为用户的支付账户,例如用户的银行卡账户、信用卡账户或者其他可用于支付的账户等。每一个用户都有自己的用户账户,且不同的用户的用户账户不同。例如,当一个用户在淘宝上购买了某一商品时,用户需要利用自己的用户账户对该商品进行支付,一般情况下,用户无需将该商品的金额支付给商户的账户,而是先将该商品的金额支付给第三方账户,待用户收到该商品之后,第三方账户再将该商品的金额支付给商户的账户。此时,该笔交易就会涉及至少两个账户,包括用户的用户账户以及第三方账户。当其他每一用户需要对购买的商品进行在线支付时,都会涉及到至少两个账户,包括其他用户的用户账户以及第三方账户。当不同用户进行在线支付时,虽然不同的用户所使用的用户账户不同,但每一用户进行在线支付时都会利用到第三方账户,这样,当短时间内大量的用户进行在线支付时,此时第三方账户就会成为热点账户,因此,在本发明实施例中,可以将第三方账户称为第三方热点账户。在本发明另一实施例中,有时候还存在第四方账户,第四方账户可以为向用户提供优惠的账户,例如,为了向广大用户提供优惠,淘宝官方还会设置一个集分宝账户,这样,当用户对该商品进行支付时,集分宝账户可以帮助用户支付该商品的金额中的一部分金额,从而对用户提供优惠。其中,当任一用户需要对购买的商品进行在线支付时,第四方账户都可以帮助该用户向第三方账户支付该商品的金额中的一部分金额,该用户还需要利用自己的用户账户向第三方账户支付该商品的金额中的另一部分金额,此时,该笔交易就会涉及三个账户,该用户的用户账户,第三方账户以及第四方账户。例如,用户在淘宝购买某一商品,假设该商品价值10元,集分宝账户可以帮助用户向淘宝官方设置的担保交易中间账户支付0.5元,用户还需利用自己的支付账户向担保交易中间账户支付9.5元。当其他每一用户需要对购买的商品进行在线支付时,都会涉及到三个账户,其他用户 的用户账户,第三方账户以及第四方账户。当不同用户进行在线支付时,虽然不同的用户所使用的用户账户不同,但每一用户进行在线支付时都会利用到第三方账户和第四方账户,这样,当短时间内大量的用户进行在线支付时,此时第三方账户和第四方账户均会成为热点账户。因此,在本发明实施例中,可以将第三方账户称为第三方热点账户,以及将第四方账户称为第四方热点账户。在步骤S102中,将获取的所有账户标识进行归类,得到目标个数个类别的账户标识;其中,将获取的账户标识进行归类的方法有很多中,本发明对此不加以限定。在本发明实施例中,可以将每一个账户标识都作为一个类别账户标识,此时每一类别账户标识中仅仅包括一个账户标识,任意两个账户标识属于不同类别的账户标识。这样,目标个数即为获取的所有账户标识的总个数。在本发明另一实施例中,也可以按照账户标识的某一特征对获取的所有账户标识进行归类。例如,当获取的所有账户标识中均包括英文字母A~Z,且所有账户标识的第预设位都为英文字母时,可以按照第预设位的字母将获取的所有账户标识进行归类。假设账户标识的第预设位为账户标识的最后一位,将最后一位为A的账户标识作为一个类别的账户标识,将最后一位为B的账户标识作为一个类别的账户标识,以及将最后一位为C的账户标识作为一个类别的账户标识等等,由于英文字母A~Z中包括26个英文字母,因此最终可以得到26个类别的账户标识。再例如,当获取的所有账户标识中均包括数字0~9,且所有账户标识的第预设位都为数字时,可以按照第预设位的数字将获取的所有账户标识进行归类。假设账户标识的第预设位为账户标识的首位,将首位为0的账户标识作为一个类别的账户标识,将首位为1的账户标识作为一个类别的账户标识,以及将首位为2的账户标识作为一个类别账户标识等等,由于数字0~9中包括10个数字,因此最终可以得到10个类别的账户标识。又例如,当获取的所有账户标识中均包括数字0~9,且所有账户标识的第预设位都为数字时,可以按照第预设位的数字将获取的所有账户标识进行归类。假设账户标识的第预设位为账户标识的最后两位,将最后两位为00~04的账户标识作为一个类别的账户标识,将最后两位为05~09的账户标识作为一个类别的账户标识,将最后两位为10~14的账户标识作为一个类别的账户标识,以及将最后两位为95~99的账户标识作为一个类别的账户标识等等,最终得到19个类别的账户标识。在步骤S103中,获取目标个数个服务器;在本步骤中,从图1所示的分布式系统1中获取目标个数个服务器2。在本发明实施例中,可以从图1所示的分布式系统1中随机获取目标个数个服务器,或者,从图1所示的分布式系统1中获取存储的数据较少的目标个数个服务器。在步骤S104中,对于每一类别的账户标识,将该类别的账户标识与获取的一个服务器绑定。每个服务器仅绑定一个类别的账户标识;不同的服务器绑定的账户标识为不同类别的账户标识;也即,任意两个服务器绑定的账户标识不相同。在图1所示的分布式系统1中,任意两个服务器的服务器标识不同。因此,对于任一类别的账户标识,在将该类别的账户标识与获取的一个服务器绑定时,可以获取该类别的类别标识,然后将该类别的类别标识与获取的该服务器的服务器标识组成一条记录存储在已存储的类别标识与服务器标识之间的对应关系中,以实现将该类别的账户标识与获取的一个服务器绑定。对于其他每一类别的账户标识,均执行上述操作。类别标识用于唯一标识类别,可以为用于标识类别的名称或编号等,本发明对此不加以限定。例如,在步骤S102的例子中,将最后两位为00~04的账户标识作为一个类别的账户标识,将最后两位为05~09的账户标识作为一个类别的账户标识,将最后两位为10~14的账户标识作为一个类别的账户标识,以及将最后两位为95~99的账户标识作为一个类别的账户标识等等,最终得到19个类别的账户标识。对于最后两位为00~04的这一类别的账户标识,可以将“00~04”作为该类别的类别标识,对于最后两位为05~09的这一类别的账户标识,可以将“05~09”作为该类别的类别标识,对于最后两位为10~14的这一类别的账户标识,可以将“10~14”作为该类别的类别标识,以及对于最后两位为95~99的这一类别的账户标识,可以将“95~99”作为该类别的类别标识。这样,通过步骤S101至步骤S104的流程完成了将获取的所有账户标识进行归类,并将每一类别的账户标识与分布式系统中的一个服务器绑定。之后当用户需要进行在线支付时,可以通过终端向分布式系统的控制端发送支付请求;当分布式系统的控制端接收到支付请求时,分布式系统的控制端就可以通过如下步骤S201至步骤S203的流程生成该支付请求相关联的账务记录。参见图3,该方法包括:在步骤S201中,检测是否接收到支付请求,支付请求至少携带用户账户的账户标识以及第三方热点账户的账户标识;当用户需要对某一商品进行在线支付时,可以在用户使用的终端上输入用户的用户账户的账户标识,其次一般分布式系统的控制端会向用户提供一个第三方热点账户的账户标 识以供用户选择。当用户从多个第三方热点账户的账户标识中选择了该第三方热点账户的账户标识之后,终端会生成支付请求,并将用户输入的用户账户的账户标识作为付款账户的账户标识添加在支付请求中,以及将用户选择的第三方热点账户的账户标识作为收款账户的账户标识添加在支付请求中,然后将支付请求发送给分布式系统的控制端。在本发明另一实施例中,当用户需要对某一商品进行在线支付时,如果支持用户可以利用向用户提供优惠的第四方热点账户,则分布式系统的控制端还会向用户提供一个第四方热点账户的账户标识以供用户选择。例如,当用户对该商品进行支付时,为了对用户提供优惠,因此支持用户可以利用集分宝账户帮助用户支付该商品的金额中的一部分金额,此时分布式系统的控制端还会提供一个集分宝账户的账户标识以供用户选择。这样,当终端生成支付请求后,终端会将用户输入的用户账户的账户标识作为付款账户的账户标识添加在支付请求中,将用户选择的第四方热点账户的账户标识作为付款账户的账户标识添加在支付请求中,以及将用户选择的第三方热点账户的账户标识作为收款账户的账户标识添加在支付请求中。然后将支付请求发送给分布式系统的控制端。在本发明又一实施例中,用户还可以在终端中输入需要支付的支付金额等,相应地,终端也会将用户输入的支付金额添加在创建的支付请求中。当接收到支付请求时,在步骤S202中,获取与用户账户的账户标识绑定的服务器;在本步骤中,当接收到支付请求时,可以从支付请求中提取中用户账户的账户标识,在步骤S104中已经将每一类别的账户标识与一个服务器绑定,因此,在本步骤中,参见图4,可以通过如下流程获取与用户账户的账户标识绑定的服务器,包括:S2021:获取用户账户的账户标识所属的账户类别的类别标识;在本步骤中,首先需要确定出用户账户的账户标识所属的账户类别,然后获取该账户类别的类别标识。其中,在步骤S102中已经将第三方热点账户的账户标识以及每一用户的用户账户的账户标识进行了归类,且归类的方法有很多中。因此,在本步骤中,可以利用步骤S102中的将获取的所有账户标识进行归类的方法确定出用户账户的账户标识所属的账户类别。例如,在步骤S102的例子中,将最后两位为00~04的账户标识作为一个类别的账户标识,将最后两位为05~09的账户标识作为一个类别的账户标识,将最后两位为10~14的账户标识作为一个类别的账户标识,以及将最后两位为95~99的账户标识作为一个类别的账户标识等等,最终得到19个类别的账户标识。则在本步骤中,首先确定出用户账户的账户标识的最后两位的数字,进而根据确定出 的最后两位的数字就可以确定出用户账户的账户标识所属的账户类别。例如,用户账户的账户标识的最后两位的数字为11,则可以确定出用户账户的账户标识为最后两位为10~14的这一类别的账户标识。由于该类别的类别标识为“10~14”,因此,可以将“10~14”作为用户账户的账户标识所属的账户类别的类别标识。S2022:获取已存储的类别标识与服务器标识之间的对应关系;例如,假设,已存储的类别标识与服务器标识之间的对应关系如下表1所示。表1类别标识服务器标识00~040105~090210~1403…………95~9919S2023:在对应关系中查找与获取的类别标识相对应的服务器标识;例如,在表1所示的对应关系中查找与类别标识10~14相对应的服务器标识,且查找到的服务器标识为03。S2024:将查找到的服务器标识对应的服务器确定为与用户账户的账户标识绑定的服务器。例如,将服务器标识03对应的服务器确定为与用户账户的账户标识绑定的服务器。在步骤S203中,在服务器中生成与支付请求相关联的用户账户的账务记录以及与支付请求相关联的第三方热点账户的账务记录。在本发明实施例中,当支付请求中还携带第四方热点账户时,则还需要生成与支付请求相关联的第四方热点账户的账务记录。进一步地,将生成的账务记录存储在服务器中。账务记录至少包括付款账户的账户标识、每一付款账户的账户标识对应的付款金额,收款账户的账户标识、每一收款账户的账户标识对应的收款金额。当然,账户记录还可以包括接收到支付请求的接收时间等,本发明对此不加以限定。之后,当服务器处于空闲状态时,分布式系统的控制端获取服务器中存储的账务记录, 对于任一账务记录,获取该账务记录中包括的付款账户的账户标识、每一付款账户的账户标识对应的付款金额,收款账户的账户标识、每一收款账户的账户标识对应的收款金额,然后,对于任一付款账户的账户标识,从该账户标识对应的付款账户中扣除该付款账户的账户标识对应的付款金额,对于其他每一付款账户的账户标识,均执行上述操作;对于每一收款账户的账户标识,在该账户标识对应的收款账户中添加收款账户的账户标识对应的收款金额,对于其他每一收款账户的账户标识,均执行上述操作。然后,对于每一账户记录,同样执行上述操作。在本发明实施例中,事先将第三方热点账户的账户标识以及每一用户的用户账户的账户标识进行归类,将以及每一类别的账户标识与一个服务器绑定,不同的服务器绑定的账户标识为不同类别的账户标识,从而实现将第三方热点账户的账户标识以及每一用户的用户账户的账户标识打散,每一服务器中仅仅存储了一个类别账户标识,一个类别的账户标识的个数相对于每一用户的用户账户的账户标识以及第三方热点账户的账户标识的个数要低很多。当分布式系统的控制端短时间内接收到大量的支付请求时,为了能够尽快生成完与每一支付请求相关联的账务记录,对于任一支付请求,可以获取与该支付请求携带的用户账户的账户标识绑定的服务器,然后在该服务器中生成与该支付请求相关联的账务记录;对于其他每一支付请求同样如此。如此使得每一服务器只需生成与大量的支付请求中的一部分支付请求相关联的账务记录,且多个服务器同时生成账务记录,如此,相对于现有技术,本发明实施例可以在短时间内生成完与大量的支付请求中的每一支付请求相关联的账务记录,从而提高记账效率。图5是根据一示例性实施例示出的一种生成账务记录装置的框图。参照图5,所述装置应用于分布式系统的控制端,所述分布式系统中包括多个服务器,所述分布式系统中的每个服务器均与至少一个账户的账户标识绑定;所述装置包括:接收模块11,用于接收支付请求,所述支付请求至少携带用户账户的账户标识和第三方热点账户的账户标识;获取模块12,用于获取与所述用户账户的账户标识绑定的服务器;生成模块13,用于在所述服务器中生成与所述支付请求相关联的所述用户账户的账务记录以及与所述支付请求相关联的所述第三方热点账户的账务记录。进一步地,所述装置还包括:存储模块,用于将生成的账务记录存储在所述服务器中。其中,所述获取模块12包括:第一获取单元,用于获取所述用户账户的账户标识所属的账户类别的类别标识;第二获取单元,用于获取已存储的类别标识与服务器标识之间的对应关系;查找单元,用于在所述对应关系中查找与所述获取的类别标识相对应的服务器标识;确定单元,用于将所述查找到的服务器标识对应的服务器确定为与所述用户账户的账户标识绑定的服务器。进一步地,所述获取模块12还包括:第三获取单元,用于获取所述第三方热点账户的账户标识以及每个用户账户的账户标识;归类单元,用于将所述获取的账户标识进行归类,得到目标个数个类别的账户标识;第四获取单元,用于获取所述目标个数个服务器;绑定单元,用于对于每一类别的账户标识,将所述类别的账户标识与所述获取的一个服务器绑定;每个服务器仅绑定一个类别的账户标识;不同的服务器绑定的账户标识为不同类别的账户标识。其中,所述绑定单元包括:获取子单元,用于获取所述类别的类别标识;存储子单元,用于将所述类别标识与所述获取的一个服务器的服务器标识组成一条记录存储在所述类别标识与服务器标识之间的对应关系中,以实现将所述类别的账户标识与所述获取的一个服务器绑定。在本发明实施例中,事先将第三方热点账户的账户标识以及每一用户的用户账户的账户标识进行归类,将以及每一类别的账户标识与一个服务器绑定,不同的服务器绑定的账户标识为不同类别的账户标识,从而实现将第三方热点账户的账户标识以及每一用户的用户账户的账户标识打散,每一服务器中仅仅存储了一个类别账户标识,一个类别的账户标识的个数相对于每一用户的用户账户的账户标识以及第三方热点账户的账户标识的个数要低很多。当分布式系统的控制端短时间内接收到大量的支付请求时,为了能够尽快生成完与每一支付请求相关联的账务记录,对于任一支付请求,可以获取与该支付请求携带的用户账户的账户标识绑定的服务器,然后在该服务器中生成与该支付请求相关联的账务记录;对于其他每一支付请求同样如此。如此使得每一服务器只需生成与大量的支付请求中的一部分支付请求相关联的账务记录,且多个服务器同时生成账务记录,如此,相对于现有技术,本发明实施例可以在短时 间内生成完与大量的支付请求中的每一支付请求相关联的账务记录,从而提高记账效率。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本
技术领域:
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的权利要求指出。应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。当前第1页1 2 3