一种交易清算方法和交易清算系统
技术领域
本说明书实施例涉及互联网技术领域,尤其涉及一种交易清算方法和交易清算系统。
背景技术
随着互联网的快速发展,促进了互联网业务系统的不断普及,为人们的生活带来极大的便利。目前,各金融机构系统(包括但不限于银行、第三方支付机构等)为用户提供各种的业务服务以满足用户的需求,其中,网上支付为金融机构为用户提供的一种较为常用的业务,网上支付一般具有跨机构和跨境交易的属性,交易的收款方和付款方账户可能开立在不同的机构或者国家,交易资金需要在多个机构之间进行流动。为了确保资金调拨的准确性,涉及金融机构间的交易清算,所以,亟需一种简单高效的交易清算方式。
发明内容
本说明书实施例提供及一种交易清算方法、清算参与服务器、清算服务器及交易清算系统。
第一方面,本说明书实施例提供一种交易清算方法,应用于清算参与服务器,所述方法包括:在接收到清算服务器发送的与目标批次交易对应的目标散列值情况下,从本地数据库提取与所述目标批次交易对应的本地清算文件,其中,所述目标散列值为所述清算服务器基于预设散列算法对所述目标批次交易对应的目标清算文件计算获得,所述目标清算文件包括所述清算服务器记录的与所述目标批次交易对应的交易信息,所述本地清算文件包括所述清算参与服务器记录的与所述目标批次交易对应的交易信息;基于所述预设散列算法计算获得与所述本地清算文件对应的本地散列值;将所述目标批次本地散列值与所述目标批次目标散列值进行比较,获得针对所述目标批次交易的清算结果。
第二方面,本说明书实施例提供一种交易清算方法,应用于清算服务器,所述方法包括:在针对目标批次交易进行清算情况下,确定与所述目标批次交易对应的目标清算文件,其中,所述目标清算文件包括所述清算服务器记录的与所述目标批次交易对应的交易信息;基于预设散列算法计算获得与所述目标清算文件对应的目标散列值;将所述目标散列值发送至与所述目标批次交易对应的清算参与服务器,以使得所述清算参与服务器从本地数据库提取与所述目标批次交易对应的本地清算文件,并基于所述预设散列算法计算获得与所述本地清算文件对应的本地散列值,基于所述目标散列值和所述本地散列值进行交易清算,所述本地清算文件包括所述清算参与服务器记录的与所述目标批次交易对应的交易信息。
第三方面,本说明书实施例提供一种清算参与服务器,包括:接收单元,用于在接收到清算服务器发送的与目标批次交易对应的目标散列值情况下,从本地数据库提取与所述目标批次交易对应的本地清算文件,其中,所述目标散列值为所述清算服务器基于预设散列算法对所述目标批次交易对应的目标清算文件计算获得,所述目标清算文件包括所述清算服务器记录的与所述目标批次交易对应的交易信息,所述本地清算文件包括所述清算参与服务器记录的与所述目标批次交易对应的交易信息;获取单元,用于基于所述预设散列算法计算获得与所述本地清算文件对应的本地散列值;清算单元,用于将所述目标批次本地散列值与所述目标批次目标散列值进行比较,获得针对所述目标批次交易的清算结果。
第四方面,本说明书实施例提供一种清算服务器,包括:确定单元,用于在针对目标批次交易进行清算情况下,确定与所述目标批次交易对应的目标清算文件,其中,所述目标清算文件包括所述清算服务器记录的与所述目标批次交易对应的交易信息;获取单元,用于基于预设散列算法计算获得与所述目标清算文件对应的目标散列值;发送单元,用于将所述目标散列值发送至与所述目标批次交易对应的清算参与服务器,以使得所述清算参与服务器从本地数据库提取与所述目标批次交易对应的本地清算文件,并基于所述预设散列算法计算获得与所述本地清算文件对应的本地散列值,基于所述目标散列值和所述本地散列值进行交易清算,所述本地清算文件包括所述清算参与服务器记录的与所述目标批次交易对应的交易信息。
第五方面,本说明书实施例提供一种交易清算系统,包括上述第三方面的清算服务器和第四方面的清算服务器。
第六方面,本说明书实施例提供一种清算参与服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面交易清算方法的步骤。
第七方面,本说明书实施例提供一种清算服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第二方面交易清算方法的步骤。
第八方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面和第二方面交易清算方法的步骤。
本说明书实施例有益效果如下:
在本说明书实施例提供的交易清算方法,采用清算服务器对金融机构间的交易进行交易清算。在清算服务器在针对目标批次交易进行清算情况下,通知与目标批次交易对应的清算参与服务器,然后确定与目标批次交易对应的目标清算文件,基于预设散列算法计算获得与目标清算文件对应的目标散列值,最后,将目标散列值发送至清算参与服务器,这样,清算参与服务器就可以从本地数据库提取与该目标批次交易对应的本地清算文件,基于预设散列算法计算获得与本地清算文件对应的本地散列值,然后基于目标散列值和本地散列值进行交易清算。交易清算是针对清算服务器中明细文件的散列值和清算参与机构本地明细文件的散列值,所以,清算服务器和清算参与服务器间无需传输明细文件,仅需传输明细文件的散列值,有效降低了占用的传输带宽。并且,清算参与服务器可以在没有明细文件之前就开始交易清算,提高了整体清算的时效性。
附图说明
图1为本说明书实施例第一方面提供的交易清算系统示意图;
图2为本说明书实施例第一方面提供的交易清算系统中交易转接的示意图;
图3为本说明书实施例第一方面提供的交易清算系统中清算过程示意图;
图4为本说明书实施例第一方面提供的交易清算系统中目标散列值分片计算示意图;
图5为本说明书实施例第三方面提供的应用于清算参与服务器的交易清算方法流程图;
图6为本说明书实施例第二方面提供的应用于清算服务器的交易清算方法流程图;
图7为本说明书实施例第四方面提供的清算参与服务器结构示意图;
图8为本说明书实施例第五方面提供的清算服务器结构示意图;
图9为本说明书实施例第六方面提供的清算参与服务器结构示意图;
图10为本说明书实施例第七方面提供的清算服务器结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
第一方面,本说明书实施例提供一种交易清算系统,请参考图1,包括清算服务器101、清算参与服务器102,其中:
清算服务器101在针对目标批次交易进行清算情况下,通知与目标批次交易对应的清算参与服务器102,确定与目标批次交易对应的目标清算文件,基于预设散列算法计算获得与目标清算文件对应的目标散列值,将目标散列值发送至清算参与服务器,目标清算文件包括清算服务器101记录的与目标批次交易对应的交易信息;
清算参与服务器102接收到清算服务器101针对目标批次交易进行清算的通知后,从本地数据库提取与目标批次交易对应的本地清算文件,基于预设散列算法计算获得与本地清算文件对应的本地散列值,接收清算服务器发送的目标散列值,基于目标散列值和本地散列值进行交易清算,获得清算结果,本地清算文件包括清算参与服务器102记录的与目标批次交易对应的交易信息。
具体的,在本实施例中,由于网上支付这种具有跨机构和跨境交易属性的交易,交易的收款方和付款方账户可能开立在不同的机构或者国家,交易资金需要在多个机构之间进行流动。清算服务器101能够有效的解决跨机构间交易的资金清算问题,银联和网联为典型的清算服务器101。清算平台的一般清算模式为,逐笔转接跨机构交易,按照场次对交易明细进行清分,多个场次轧差清算,清算后统一时点提供清算文件给清算的清算参与服务器102。清算参与服务器102可以是银行、支付平台等机构,清算参与服务器102收到清算文件后,需要根据清算文件和资金的入账结果进行资金对账,比较清算的明细与真实交易数据是否一致。资金对账的方式一般为逐笔解析清算文件中的明细,并与清算参与服务器102内部业务数据进行比较。因为清算参与服务器102间交易量比较大,所以清算文件较大,清算文件的传输造成了比较大的带宽消耗。
在支付交易中,在清算服务器101中涉及交易转接,本实施例主要以银行卡支付交易为例,介绍交易转接的详细过程。参考图2,在银行卡支付交易中,收款行一般为商户的收单行,付款行为用户的开卡行。首先,收款行发起交易请求,为每一笔交易请求生成一个符合清算机构标准的唯一单号。在清算服务器中,为每一个笔交易分配一个交易批次号。付款行收到交易之后,对交易进行检查。对于检查通过的交易进行账务处理,并保存该笔交易。处理完成之后,将结果回执给清算服务器,清算服务器将处理结果转接给收款行,收款行更新交易结果并保存交易批次信息。
在现有的交易清算系统中,清算服务器101一般具有清算参与服务器102清算账户的调拨权限,可以按照清算规则将多个交易批次的清分结果进行轧差,根据轧差结果完成真实资金的调拨,完成清算。清算完成后,清算服务器101会生成清算指令对应的清算文件,并传输给清算参与服务器102。上述收款行和付款行均为清算参与服务器102,收款行和付款行会受到清算服务器101的清算文件,对应清算账户的账单。收款行和付款行会比对清算文件汇总结果与清算账户实际的发生额是否一致,并解析清算文件与系统内的交易明细逐笔进行核对。
由于清算文件大,文件传输对网络开销比较大。对于跨境交易,开销尤为明显。并且,对于资金清算依赖清算文件完成,需要逐条进行对比,清算的时效性会比较低。
所以,本实施例中的方案,清算的具体过程可参考图3,清算参与服务器102按照要求发起交易(如:支付交易,转账交易等),交易报文中要有唯一的交易单号,交易金额和交易的币种。清算服务器101会对交易进行确认,并分配交易批次号。对于确认成功的交易持久化到数据库中,并同步到离线的数仓(数据仓库),在数仓中进行清分。持久化就是落地数据库,数据库就是指MySQL这些数仓,是离线的数据存储和计算平台。然后,进行数仓同步,清算服务器101在确认交易后会将交易的批次号回执至清算参与服务器102。清算参与服务器102收到回执后进行内部的记账处理,并同步本地数仓做资金对账的准备。
清算服务器101分批次进行清算,清算服务器101可按时间定义批次,例如:将14:00至15:00间的交易统计为一个批次。清算服务器101可按交易数量定义批次,例如:定义每个批次中包含1000个交易,则按1000的间隔统计交易进行分批次。清算服务器101还可按交易金额定义批次,例如:对交易金额进行累加,达到预设金额(如:10万、20万等)形成一个批次。在具体实施过程中,分批次的方法可根据实际需要进行设定,在此,本申请不做限制。
具体的,在针对目标批次交易进行清算情况下,目标批次的交易均为针对相同清算参与服务器102的交易,例如:A机构系统与B机构系统间的支付交易。此时,清算服务器101发送通知至清算参与服务器102,会将目标批次交易的批次号告知通知至清算参与服务器102。
进而,针对该目标批次交易,清算服务器101会根据对应的数仓中的数据进行清分,确定出目标批次交易对应的目标清算文件。具体的,清分是清算的数据准备阶段,主要是将两个金融机构间的待清分数据按照指定的要素进行汇总、整理和分类,计算该批次交易对应的轧差总金额和总交易笔数。该目标清算文件中包括目标批次交易的交易订单号、流出号、交易明细、交易金额、交易时间、该批次的交易总金额和交易笔数等信息。
进而,在清算服务器101针对该目标批次的交易进行清算时,采用预设散列算法计算与目标清算文件对应的目标散列值(hash值)。具体的,可采用预设散列算法将目标清算文件全部转换为目标散列值。还可以先确定与目标清算文件对应的目标摘要信息,再基于预设散列算法计算获得与目标摘要信息对应的目标散列值,提取的目标摘要信息可以包括目标批次交易的交易明细的流出号、金额、币种等信息,还可以包括该目标批次交易的轧差总金额和总交易笔数等信息。在具体实施过程中,摘要信息可根据实际需要进行设定,在此,本申请不做限制。在具体实施过程中,预设散列算法可以是哈希算法、安全散列SHA算法等,在具体实施过程中,可根据需要进行设定,在此,本申请不做限制。
随着线上交易服务的普及,交易量剧增,每批次的交易量也会较多,所以,为了提高清算的效率,在计算目标批次交易的目标清算文件的目标散列值时,可以采用MapReduce的分布式计算方法。MapReduce是Google公司提出的一种用于大规模并行编程的编程模型,MapReduce模型可以实现大规模数据集的并行计算,并通过把对数据集的大规模操作分发给多个节点进行并行运算,因此被分布式文件系统广泛使用。
具体的,请参考图4,首先,基于MapReduce对目标摘要信息进行排序并分片,获得多个目标分片数据。针对每个目标分片数据,采用预设散列算法计算该目标分片数据的分片散列值。这样,可以获得所有目标分片数据对应的分片散列值。然后,将多个目标分片散列值拼接在一起,形成与目标摘要信息对应的目标散列值。
具体的,首先,进行数据排序和分片算法:可以选用适当的散列函数,对流水号的单号进行散列计算到优先的值区间,然后对该值区间进行分段,每个分段对应一个分片。然后在分片内对明细进行排序。这一阶段的散列算法允许发生碰撞然后,计算分片摘要的hash:对每个分片可以并行的计算hash值,根据确定选取明细的关键要素,按照明细单号排序并进行hash。该阶段的散列算法不允许碰撞。最后,计算这个批次的散列值:将每个分片的散列值拼接起来,进行整体的散列计算。
例如:目标批次的交易分为3个目标分片数据,包括目标分片数据1、目标分片数据2、目标分片数据3。目标分片数据1对应目标分片散列值H1、目标分片数据2对应目标分片散列值H2、目标分片数据3对应目标分片散列值H3。目标摘要信息对应的目标散列值为H1+H2+H3。
进一步,由于目标散列值涉及到两个金融机构间对账的详细信息,涉及金融机构的隐私,所以,为了确保数据的完整性,保障数据安全,清算服务器101还会对该目标散列值进行签名。具体的,采用预设私钥对目标散列值进行数字签名,将签名后的目标散列值发送至清算参与服务器。在具体实施过程中,数字签名的方式可以采用RSA签名、DSA签名等方式,可根据实际需要进行设定,在此本申请不做限制。如果清算服务器101目标散列值进行数字签名,则还会将与该预设私钥对应的预设公钥发送至清算参与服务器102,以便于清算参与服务器102进行验签。引入数字签名后,针对借记指令的场景,增加了整个清算过程的可信性,清算参与服务器102也可以根据验签之后的摘要信息检查指令的正确性。
同理,在清算参与服务器102,在接收到清算服务器101的通知后,同步从本地数据库中提取与目标批次号对应的目标批次交易,清算参与服务器102会根据对应的数仓中的数据进行清分,确定出目标批次交易对应的本地清算文件。具体的,清分的方式跟清算服务器101中清分的方式一致,将本地数据库中的目标批次交易按照指定的要素进行汇总、整理和分类,计算该批次交易对应的轧差总金额和总交易笔数。该本地清算文件中包括目标批次交易的交易订单号、流出号、交易明细、交易金额、交易时间、该批次的交易总金额和交易笔数等信息。
进而,在清算参与服务器102针对该目标批次的交易进行清算时,采用与清算服务器101中同样的预设散列算法计算与本地清算文件对应的本地散列值(hash值)。具体的,可采用预设散列算法将本地清算文件全部转换为本地散列值。还可以先确定与本地清算文件对应的本地摘要信息,再基于预设散列算法计算获得与本地摘要信息对应的本地散列值,提取的本地摘要信息需与清算服务器101提取的目标摘要信息类型一致。可以包括目标批次交易的交易明细的流出号、金额、币种等信息,还可以包括该目标批次交易的轧差总金额和总交易笔数等信息。在具体实施过程中,摘要信息可根据实际需要进行设定,在此,本申请不做限制。在具体实施过程中,预设散列算法可以是哈希算法、安全散列SHA算法等,在具体实施过程中,可根据需要进行设定,在此,本申请不做限制。
随着线上交易服务的普及,交易量剧增,每批次的交易量也会较多,所以,为了提高清算的效率,在计算目标批次交易的本地清算文件的目标散列值时,可以采用与清算服务器101一致的MapReduce的分布式计算方法。分布式的散列值计算方式是依托数仓的分布式计算,提高了散步值计算的时效,进而提高清算的时效。
具体的,首先,基于MapReduce对本地摘要信息进行排序并分片,获得多个本地分片数据。针对每个本地分片数据,采用预设散列算法计算该本地分片数据的分片散列值。这样,可以获得所有本地分片数据对应的分片散列值。然后,将多个本地分片散列值拼接在一起,形成与本地摘要信息对应的本地散列值。
进而,清算参与服务器102如果接收到清算服务器101发送的签名后的目标散列值,还会基于预设公钥进行验签,还原出完整的目标散列值。然后,清算参与服务器102比较本地计算出的目标批次交易对应的本地散列值和清算服务器101对应的目标散列值,如果一致,则清算结果表明对账成功,如果一致,则清算结果表明对账失败。清算参与服务器102会将清算结果反馈至清算服务器101,清算服务器101接收清算参与服务器102反馈的清算结果后,如果清算结果表明清算服务器101中的目标散列值与清算参与服务器102中的本地散列值不一致。则清算服务器101将目标清算文件发送至清算参与服务器102,清算参与服务器102接收该清算服务器101发送的目标清算文件后,基于目标清算文件与本地清算文件,对目标批次交易进行交易明细清算。
在具体实施过程中,清算服务器101与清算参与服务器102间可按场次进行清算,每个场次包含多个批次的交易。清算服务器101与清算参与服务器102针对每个批次交易同步计算各个批次交易对应的目标散列值和本地散列值,清算服务器101中形成目标散列值列表,清算参与服务器102中形成本地散列值列表。然后按场次进行清算。例如:在每天的22:00进行清算,将当日的所有批次的交易进行清算,目标散列值列表包含当日各个批次交易对应的目标散列值,对应的,本地散列值列表包含当日各个批次交易对应的本地散列值。
为了更好地理解本实施例中交易清算系统清算过程,下面以一个完整示例进行详细阐述。
清算参与服务器包括A、B,清算服务器为C。
在C中,A与B间的交易按批次记录,针对批次1的交易(如每批次包含100个交易,或交易额累计达到5万),进行清分,然后清算出该批次的轧差总金额,计算这个批次的摘要hash值HC,通知A和B进行清算准备,将批次1的批次号发送至A和B。
A通过本地数据库,同步计算批次1对应的交易明细的hash值HA,同理,B通过本地数据库,同步计算批次1对应的交易明细的hash值HB。
通过这样的方式,可以得到多个批次的hash值,如果是按每天进行结算,那么在每天结算时,可以获得这一天多个批次的hash值,每个批次的hash值通过C的私钥进行签名。按列表的形式发给A和B,A和B在接收到该列表后,使用清算机构的公钥对摘要信息进行验签,还原出各批次的hash值。A通过本地的各批次的hash值与C发送的列表中各批次的hash值,比较各个批次的hash值是否一致,如果一致,进行资金调拨,如果不一致,假设批次1的hash值与A和B中本地的hash值均不一致,C发送对应批次1的明细至A和B,再进行明细的核对。
本实施例中的交易清算系统,以计算资源换取网络的带宽资源。后续随着数仓技术的普及,单个数据中心的数据计算能力会有比较大的提升,并且采用MapReduce的分布式计算,能够有效的提升散列值的计算时效。而且因为采用按照批次号清分的方式,资金对账的差错并不是很多。如果通过散列值对账成功,就可以完全避免资金明细文件传输的开销,有效节省带宽资源。在时效性方面,清算参与服务器的资金对账可以在没有明细文件之前就开始,提高了整体清算的时效性。
第二方面,基于同一发明构思,本说明书实施例提供一种交易清算方法,应用于清算参与服务器,请参考图5,所述交易清算方法包括如下步骤:
S501:在接收到清算服务器发送的与目标批次交易对应的目标散列值情况下,从本地数据库提取与所述目标批次交易对应的本地清算文件,其中,所述目标散列值为所述清算服务器基于预设散列算法对所述目标批次交易对应的目标清算文件计算获得,所述目标清算文件包括所述清算服务器记录的与所述目标批次交易对应的交易信息,所述本地清算文件包括所述清算参与服务器记录的与所述目标批次交易对应的交易信息;
S502:基于所述预设散列算法计算获得与所述本地清算文件对应的本地散列值;
S503:将所述目标批次本地散列值与所述目标批次目标散列值进行比较,获得针对所述目标批次交易的清算结果。
在一种可选方式中,所述基于所述预设散列算法计算获得与所述本地清算文件对应的本地散列值,包括:
确定与所述本地清算文件对应的本地摘要信息;
基于所述预设散列算法计算获得与所述本地摘要信息对应的本地散列值。
在一种可选方式中,所述基于所述预设散列算法计算获得与所述本地摘要信息对应的本地散列值,包括:
基于MapReduce对所述本地摘要信息进行分片,获得多个本地分片数据;
基于所述预设散列算法计算每个所述本地分片数据的分片散列值,获得与所述多个本地分片数据一一对应的多个本地分片散列值;
拼接所述多个本地分片散列值,形成与所述本地摘要信息对应的本地散列值。
在一种可选方式中,所述将所述目标批次本地散列值与所述目标批次目标散列值进行比较,获得针对所述目标批次交易的清算结果,包括:
如果所述目标散列值为所述清算服务器采用预设私钥进行签名后的散列值,采用与所述预设私钥对应的预设公钥对所述目标散列值进行验签;
将验签后的目标散列值与所述本地散列值进行比较,获得针对所述目标批次交易的清算结果。
在一种可选方式中,在所述获得针对所述目标批次交易的清算结果之后,所述方法包括:
如果所述清算结果表明所述目标散列值与所述本地散列值不一致,反馈所述清算结果至所述清算服务器;
接收所述清算服务器发送的所述目标清算文件;
基于所述目标清算文件与所述本地清算文件,对所述目标批次交易进行交易明细清算。
本实施例中的应用于清算参与服务器的交易清算的详细过程已在前述第一方面实施例中详细阐述,具体可参照第一方面实施例中对应的内容,在此,本申请不做赘述。
第三方面,基于同一发明构思,本说明书实施例提供一种交易清算方法,应用于清算服务器,请参考图6,所述交易清算方法包括如下步骤:
S601:在针对目标批次交易进行清算情况下,确定与所述目标批次交易对应的目标清算文件,其中,所述目标清算文件包括所述清算服务器记录的与所述目标批次交易对应的交易信息;
S602:基于预设散列算法计算获得与所述目标清算文件对应的目标散列值;
S603:将所述目标散列值发送至与所述目标批次交易对应的清算参与服务器,以使得所述清算参与服务器从本地数据库提取与所述目标批次交易对应的本地清算文件,并基于所述预设散列算法计算获得与所述本地清算文件对应的本地散列值,基于所述目标散列值和所述本地散列值进行交易清算,所述本地清算文件包括所述清算参与服务器记录的与所述目标批次交易对应的交易信息。
在一种可选方式中,所述基于预设散列算法计算获得与所述目标清算文件对应的目标散列值,包括:
确定与所述目标清算文件对应的目标摘要信息;
基于所述预设散列算法计算获得与所述目标摘要信息对应的目标散列值。
在一种可选方式中,所述基于所述预设散列算法计算获得与所述目标摘要信息对应的目标散列值,包括:
基于MapReduce对所述目标摘要信息进行分片,获得多个目标分片数据;
基于所述预设散列算法计算每个所述目标分片数据的分片散列值,获得与所述多个目标分片数据一一对应的多个目标分片散列值;
拼接所述多个目标分片散列值,形成与所述目标摘要信息对应的目标散列值。
在一种可选方式中,所述将所述目标散列值发送至所述清算参与服务器,包括:
采用预设私钥对所述目标散列值进行签名,将签名后的目标散列值发送至所述清算参与服务器。
在一种可选方式中,在所述将所述目标散列值发送至所述清算参与服务器之后,所述方法包括:
接收所述清算参与服务器反馈的清算结果;
如果所述清算结果表明所述目标散列值与所述本地散列值不一致,将所述目标清算文件发送至所述清算参与服务器,以使得所述清算参与服务器基于所述目标清算文件进行交易明细清算。
本实施例中的应用于清算服务器的交易清算的详细过程已在前述第一方面实施例中详细阐述,具体可参照第一方面实施例中对应的内容,在此,本申请不做赘述。
第四方面,基于同一发明构思,本说明书实施例提供一种清算参与服务器,请参考图7,包括如下单元:
接收单元701,用于在接收到清算服务器发送的与目标批次交易对应的目标散列值情况下,从本地数据库提取与所述目标批次交易对应的本地清算文件,其中,所述目标散列值为所述清算服务器基于预设散列算法对所述目标批次交易对应的目标清算文件计算获得,所述目标清算文件包括所述清算服务器记录的与所述目标批次交易对应的交易信息,所述本地清算文件包括所述清算参与服务器记录的与所述目标批次交易对应的交易信息;
获取单元702,用于基于所述预设散列算法计算获得与所述本地清算文件对应的本地散列值;
清算单元703,用于将所述目标批次本地散列值与所述目标批次目标散列值进行比较,获得针对所述目标批次交易的清算结果。
在一种可选方式中,所述获取单元702具体用于:
确定与所述本地清算文件对应的本地摘要信息;
基于所述预设散列算法计算获得与所述本地摘要信息对应的本地散列值。
在一种可选方式中,所述获取单元702具体用于:
基于MapReduce对所述本地摘要信息进行分片,获得多个本地分片数据;
基于所述预设散列算法计算每个所述本地分片数据的分片散列值,获得与所述多个本地分片数据一一对应的多个本地分片散列值;
拼接所述多个本地分片散列值,形成与所述本地摘要信息对应的本地散列值。
在一种可选方式中,所述清算单元703具体用于:
如果所述目标散列值为所述清算服务器采用预设私钥进行签名后的散列值,采用与所述预设私钥对应的预设公钥对所述目标散列值进行验签;
将验签后的目标散列值与所述本地散列值进行比较,获得针对所述目标批次交易的清算结果。
在一种可选方式中,所述清算单元703具体用于:
在所述获得针对所述目标批次交易的清算结果之后,如果所述清算结果表明所述目标散列值与所述本地散列值不一致,反馈所述清算结果至所述清算服务器;
接收所述清算服务器发送的所述目标清算文件;
基于所述目标清算文件与所述本地清算文件,对所述目标批次交易进行交易明细清算。
本实施例中的清算参与服务器进行交易清算的详细过程已在前述第一方面实施例中详细介绍,在此,本申请不做赘述。
第五方面,基于同一发明构思,本说明书实施例提供一种清算服务器,请参考图8,包括如下单元:
确定单元801,用于在针对目标批次交易进行清算情况下,确定与所述目标批次交易对应的目标清算文件,其中,所述目标清算文件包括所述清算服务器记录的与所述目标批次交易对应的交易信息;
获取单元802,用于基于预设散列算法计算获得与所述目标清算文件对应的目标散列值;
发送单元803,用于将所述目标散列值发送至与所述目标批次交易对应的清算参与服务器,以使得所述清算参与服务器从本地数据库提取与所述目标批次交易对应的本地清算文件,并基于所述预设散列算法计算获得与所述本地清算文件对应的本地散列值,基于所述目标散列值和所述本地散列值进行交易清算,所述本地清算文件包括所述清算参与服务器记录的与所述目标批次交易对应的交易信息。
在一种可选方式中,所述获取单元802具体用于:
确定与所述目标清算文件对应的目标摘要信息;
基于所述预设散列算法计算获得与所述目标摘要信息对应的目标散列值。
在一种可选方式中,所述获取单元802具体用于:
基于MapReduce对所述目标摘要信息进行分片,获得多个目标分片数据;
基于所述预设散列算法计算每个所述目标分片数据的分片散列值,获得与所述多个目标分片数据一一对应的多个目标分片散列值;
拼接所述多个目标分片散列值,形成与所述目标摘要信息对应的目标散列值。
在一种可选方式中,所述发送单元803具体用于:
采用预设私钥对所述目标散列值进行签名,将签名后的目标散列值发送至所述清算参与服务器。
在一种可选方式中,所述发送单元803具体用于:
在所述将所述目标散列值发送至所述清算参与服务器之后,接收所述清算参与服务器反馈的清算结果;
如果所述清算结果表明所述目标散列值与所述本地散列值不一致,将所述目标清算文件发送至所述清算参与服务器,以使得所述清算参与服务器基于所述目标清算文件进行交易明细清算。
本实施例中的清算服务器进行交易清算的详细过程已在前述第一方面实施例中详细介绍,在此,本申请不做赘述。
第六方面,基于与前述实施例中交易清算方法同样的发明构思,本发明还提供一种清算参与服务器,如图9所示,包括存储器909、处理器902及存储在存储器909上并可在处理器902上运行的计算机程序,处理器902执行程序时实现前文应用于清算参与服务器的交易清算方法的任一方法的步骤。
其中,在图9中,总线架构(用总线900来代表),总线900可以包括任意数量的互联的总线和桥,总线900将包括由处理器902代表的一个或多个处理器和存储器909代表的存储器的各种电路链接在一起。总线900还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本实施例中的方法不再对其进行进一步描述。总线接口906在总线900和接收器901和发送器903之间提供接口。接收器901和发送器903可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器902负责管理总线900和通常的处理,而存储器909可以被用于存储处理器902在执行操作时所使用的数据。
第七方面,基于与前述实施例中交易清算方法同样的发明构思,本发明还提供一种清算参与服务器,如图10所示,包括存储器1009、处理器1002及存储在存储器1009上并可在处理器1002上运行的计算机程序,处理器1002执行程序时实现前文应用于清算参与服务器的交易清算方法的任一方法的步骤。
其中,在图10中,总线架构(用总线1000来代表),总线1000可以包括任意数量的互联的总线和桥,总线1000将包括由处理器1002代表的一个或多个处理器和存储器1009代表的存储器的各种电路链接在一起。总线1000还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本实施例中的方法不再对其进行进一步描述。总线接口1006在总线1000和接收器1001和发送器1003之间提供接口。接收器1001和发送器1003可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器1002负责管理总线1000和通常的处理,而存储器909可以被用于存储处理器1002在执行操作时所使用的数据。
第八方面,基于与前述实施例中交易清算方法的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文交易清算方法的任一方法的步骤。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。