式。其中sequence是数据库系统按照一定规则自动增加的数字序列。
[0120]生成的唯一标识中除了包括可用数据库的标识信息,还可以包括其他信息。例如,唯一标识中处理标识信息,还可以包括以下信息中的至少一种:
[0121]当前日期、数据版本、系统版本、业务号、业务扩展标识位、随机位、分库分表位、和分库分表预留位。
[0122]S305:通过发送异步可靠消息,将生成的唯一标识与计算出的手续费、订单金额、收款方的账户信息对应保存在可用数据库中。
[0123]在执行完步骤S304后,可以通过开启另外一个线程执行步骤S305的保存操作,而原线程继续执行步骤S306。
[0124]S306:收费模块向收银台模块返回唯一标识、手续费和订单金额,以使得付款方将实际应付额对应的资金转入至第三方系统的临时账户。其中实际应付额为手续费与订单金额之和。
[0125]收费模块向收银台模块返回手续费和订单金额后,收银台模块向付款方显示。付款方如果确认该金额无误,则通过打款操作将对应的资金转入到第三方系统的临时账户代为保管。此时订单状态从未付款修改为已付款,收款方会针对付款方支付的订单进行发货等操作。
[0126]需要说明的是,在本实施例中以将唯一标识返回至收银台模块为例加以说明,也就是说由收银台模块根据付款方的确认而被动发送付款确认请求,而在其他实施例中,可以将唯一标识返回至支付确认模块,由支付确认模块在判断出距订单的某一状态,比如收款方发货达到一定时间后,主动发送付款确认请求。
[0127]S307:收费模块接收到收银台模块发送的付款确认请求。所述付款确认请求中包括所述唯一标识。所述唯一标识中包括可用数据库的标识信息。
[0128]当付款方接收到收款方发送的货物并进行确认支付操作时,收银台模块会向收费模块发送付款确认请求。其中付款确认请求中包括收费模块返回至收银台模块的唯一标识。
[0129]若步骤S306中收费模块将唯一标识返回至支付确认模块,则该步骤由支付确认模块在判断出距订单的某一状态,比如收款方发货达到一定时间后,主动向收费模块发送付款确认请求。
[0130]S308:收费模块基于唯一标识所包括的标识信息确定所述可用数据库。
[0131]S309:收费模块循环执行从可用数据库中获取与唯一标识对应保存的手续费、订单金额以及收款方的账户信息,直至获取到与唯一标识对应保存的上述内容。
[0132]S310:收费模块将订单金额对应的资金从第三方系统的临时账户转入至收款方,将手续费对应的数值转入至第三方系统的固定账户中。其中收款方根据收款方的账户信息确认。
[0133]如图4所示,对应上述方法实施例,本申请还提供了数值信息转移装置的具体实施例。
[0134]本实施例包括:计算单元401、保存单元402、返回单元403、接收单元404、获取单元405和转入单元406。
[0135]计算单元401用于接收转出方的转出请求,基于所述转出请求中的转出方信息和原始转出值计算消耗值。
[0136]当转出方需要将一定的数值信息转移到转入方时,会通过转出方的客户端,如计算机、智能手机等,向第三方系统发送转出请求。本实施例的装置可以为第三方系统的账户管理模块,由账户管理模块中的计算单元401接收转出方发送的转出请求。需要说明的是,一般情况下,第三方系统中由用户接口模块专门负责与用户之间的信息交互,因定账户管理模块接收经用户接口模块转发的转出请求。通常,第三方系统的账户管理模块、用户接口模块可以设置在第三方系统的服务器内。
[0137]其中,转出请求中至少包括转出方信息和原始转出值,转出方信息指的是转出方用于保存其数值信息的账户信息,而原始转出值则表示需要将原始转出值对应的数值信息转入至转入方。当本实施例具体应用于网上支付过程时,转出方信息指的是付款方的账户信息,原始转出值为付款方需要向收款方支付的订单金额,消耗值具体为第三方系统向付款方收取的手续费。
[0138]保存单元402用于生成唯一标识,将生成的唯一标识与计算单元401计算出的消耗值对应保存在可用数据库中。
[0139]唯一标识指的是与消耗值具有一一对应关系,即具有唯一性的标识。在本申请实施例中,不再是仅仅将消耗值保存在数据库中,而是生成唯一标识,将唯一标识与消耗值对应保存在可用数据库中。可用数据库指的是保存单元402在执行保存的过程时,处于可用状态的数据库。其中可用数据库可以是从多个数据库中选取出的、一个或多个处于可用状态的数据库。唯一标识不仅与消耗值具有唯一对应关系,也能够唯一的标识出消耗值所保存的可用数据库。可见,本申请实施例中保证了将消耗值保存在处于可用状态的可用数据库,因此在获取消耗值时该可用数据库处于可用状态的机率也会比较大。
[0140]在本申请实施例中,为了确保在可用数据库中成功保存消耗值,具体可以是通过发送可靠消息,将唯一标识和消耗值对应保存在可用数据库中。而且其中可靠消息具体可以为异步可靠消息。
[0141]返回单元403用于在保存单元402生成所述唯一标识之后,返回所述消耗值与所述唯一标识,以使得所述转出方将实际转出值对应的数值信息转入至第三方系统的临时账户;所述实际转出值为所述原始转出值与所述消耗值之和。
[0142]本申请实施例中,数值信息指的是能够表示数值大小的数据信息,例如资金等价值息、或者资源大小息都是常见的数值息。
[0143]本申请实施例中,返回单元403可以是将消耗值返回至用户接口模块,从而使得用户接口模块显示消耗值,当转出方确认该消耗值后,会将实际转出值对应的数值信息转入至第三方系统的临时账户进行保存。
[0144]本申请实施例中,返回单元403可以是将唯一标识返回至第三方系统的转出确认模块,当转出确认模块判断出满足转出确认条件后,会向第三方系统的账户管理模块发送包括唯一标识的转出确认请求。
[0145]接收单元404用于接收转出确认请求;所述转出确认请求中包括所述唯一标识。
[0146]该步骤中接收单元404可以接收转出确认模块发送的转出确认请求。其中转出确认模块可以是根据用户的请求被动发送转出确认请求,此时转出确认模块具体为用户接口模块;转出确认模块还可以是主动发送转出确认请求,例如当转出确认模块判断出满足转出确认条件时,主动向接收单元404发送转出确认请求。
[0147]获取单元405用于接收单元404接收到转出确认请求后,循环执行从所述可用数据库中获取与所述唯一标识对应保存的所述消耗值,直至获取到所述消耗值。
[0148]在本申请实施例中当接收到转出确认请求后,会根据转出确认请求中的唯一标识,从可用数据库中获取唯一标识对应保存的消耗值,如果此时可用数据库处于可用状态,也就是说能够成功获取到消耗值,则转入单元406开始执行对应的功能。而如果可用数据库处于不可用状态,则循环上述获取步骤,也就是说直至等待可用数据库处于可用状态时,获取对应保存的消耗值。
[0149]其中在获取消耗值之前,获取单元405可以是先根据唯一标识从多个数据库中确定出可用数据库,之后再从可用数据库中获取消耗值。
[0150]转入单元406用于获取单元405获取到所述消耗值后,将所述原始转出值和所述消耗值对应的数值信息分别从所述第三方系统的临时账户转到转入方和所述第三方系统的固定账户中。
[0151]其中,转入方根据转入方信息确定,而转入单元406可以通过多种方式获取转入方信息和原始转出值,在本申请实施例中不加限定。例如,在转出请求中还包括转入方信息,在保存单元402中保存唯一标识和消耗值时,还可以在可用数据库与唯一标识对应保存原始转出值和/或转入方信息。获取单元405在从可用数据库中获取消耗值时,还获取到对应保存的原始转出值和/或转入方信息。又例如,转出确认请求中还包括原始转出值和/或转入方信息,因此转入单元406从转出确认请求中获取原始转出值和/或转入方信肩、Ο
[0152]在本申请实施例中,具体选取可用数据库时,可以是由数据库连接池维护至少一个数据库,从数据库连接池中选取出可用数据库。具体地,数据库连接池中包括至少一个数据库;本实施例的装置还包括选取单元,用于从数据库连接池中选取所述可用数据库;保存单元402用于生成唯一标识包括:保存单元402用于生成包括所述可用数据库的标识信息的唯一标识;本实施例的装置还包括:确定单元,用于在获取单元405从可用数据库中获取与所述唯一标识对应的所述消耗值之前,基于所述唯一标识所包括的标识信息确定所述可用数据库。其中本申请实施例的装置还可以包括检测单元,检测单元用于实时检测所述数据库连接池中的各个数据库是否可用,动态删除不可用的数据库。
[0153]在本申请实施例中,还可以在数据库连接池的各个数据库中分别存储有互不重复的标识信息段;选取单元用于从数据库连接池中选取所述可用数据库以及保存单元402用于生成包括所述可用数据库的标识信息的唯一标识,包括:
[0154]选取单元用于若从数据库连接池中成功获取到一个或多个数据库的标识信息段,将所述一个或多个数据库作为所述可用数据库;所述保存单元402用于从所述可用数据库存储的标识信息段中获取未被选取的标识信息,生成包括所述未被选取的标识信息的唯—标识。
[0155]在上述选取可