一种交易的处理方法、交易网关、交易服务器及交易系统与流程

文档序号:17362808发布日期:2019-04-09 22:12阅读:321来源:国知局
一种交易的处理方法、交易网关、交易服务器及交易系统与流程

本说明书涉及计算机技术领域,尤其涉及一种交易的处理方法、交易网关、交易服务器及交易系统。



背景技术:

随着计算机技术的不断发展,金融交易通过与计算机技术的结合,实现了电子化交易,促进了当前金融业的快速发展。随着交易人数、交易数量的不断增加,交易系统承受的压力也越来越大,如果在交易期间交易系统发生故障,则造成的损失往往不可估量,因此,更可靠更高效的金融交易系统己经成为金融交易领域中需要解决的重要问题,而基于此,撮合交易在金融交易系统中扮演着非常重要的角色。

在金融交易系统中,对于包括多台交易服务器的情况,其中的每台交易服务器是无状态的,在初始状态下,每台交易服务器中的数据是一致的,在撮合交易的过程中,如果所有交易服务器都返回一致的交易结果,则表示数据是一致的,如果有某个交易结果与其它交易结果不一致,则需要重新同步数据甚至是人工介入,从而使得交易的处理较复杂,甚至需要中断交易等,这样,需要提供一种在电子交易或撮合交易的过程中交易系统的数据一致性的方案,使得电子交易或撮合交易更加的快速、安全、便捷。



技术实现要素:

本说明书实施例的目的是提供一种交易的处理方法、交易网关、交易服务器及交易系统,以提供一种在电子交易或撮合交易的过程中交易系统的数据一致性的方案,使得电子交易或撮合交易更加的快速、安全、便捷。

为了实现上述技术方案,本说明书实施例是这样实现的:

本说明书实施例提供的一种交易的处理方法,所述方法包括:

从交易服务器获取与接收的撮合交易请求相匹配的候选交易单;

从所述候选交易单中选取满足所述撮合交易请求对应的撮合规则的目标交易单;

向存储有所述目标交易单的目标交易服务器发送交易确认消息,以使所述目标交易服务器达成所述撮合交易请求对应的交易;

如果接收到所述目标交易服务器发送的未能达成所述交易的通知消息,则控制存储有所述目标交易单的目标交易服务器进行交易回滚处理。

可选地,所述撮合交易请求中包括待撮合交易单,所述方法还包括:

如果从所述交易服务器中未获取到与接收的撮合交易请求相匹配的候选交易单,则将所述待撮合交易单发送给多个所述交易服务器,以使每个所述交易服务器将所述待撮合交易单存储在交易单队列中。

可选地,所述从所述候选交易单中选取满足所述撮合交易请求对应的撮合规则的目标交易单,包括:

获取所述候选交易单中的交易资源数值;

根据所述交易资源数值的大小,对所述候选交易单进行排序;

根据排序结果,从所述候选交易单中选取所述撮合交易请求对应的交易单数量的目标交易单。

可选地,所述候选交易单中还包括交易时间,

所述根据所述交易资源数值的大小,对所述候选交易单进行排序,包括:

所述根据所述交易资源数值的大小,对所述候选交易单进行排序,得到预排序结果;

根据所述交易时间,对所述预排序结果中相同交易资源数值的所述候选交易单的排序进行调整,得到所述排序结果。

可选地,所述方法还包括:

如果所述候选交易单的数量小于所述撮合交易请求对应的交易单数量,则获取第一交易单,所述第一交易单的数量为所述候选交易单的数量与所述撮合交易请求对应的交易单数量的差值,所述第一交易单中的交易资源数值与所述候选交易单中的交易资源数值相等;

将所述第一交易单发送给所述交易服务器进行存储。

可选地,所述从交易服务器获取与接收的撮合交易请求相匹配的候选交易单,包括:

接收终端设备发送的撮合交易请求;

将所述撮合交易请求发送给所述交易服务器,以使所述交易服务器获取与所述撮合交易请求相匹配的候选交易单;

接收所述交易服务器发送的所述候选交易单。

可选地,所述控制存储有所述目标交易单的目标交易服务器进行交易回滚处理,包括:

向所述存储有所述目标交易单的目标交易服务器发送交易回滚请求,以使所述目标交易服务器进行交易回滚处理。

本说明书实施例提供的一种交易的处理方法,所述方法包括:

从交易单队列中获取与交易网关发送的撮合交易请求相匹配的候选交易单;

将所述候选交易单发送给所述交易网关,以使所述交易网关从所述候选交易单中选取满足所述撮合交易请求对应的撮合规则的目标交易单;

当接收到所述交易网关发送的交易确认消息时,对所述交易单队列进行修改;

如果对所述交易单队列的修改失败,则执行交易回滚处理。

可选地,所述如果对所述交易单队列修改失败,则执行交易回滚处理,包括:

如果对所述交易单队列的修改失败,则向所述交易网关发送未能达成所述交易的通知消息;

当接收到所述交易网关发送的交易回滚请求时,执行交易回滚处理。

可选地,所述方法还包括:

如果所述候选交易单的数量小于所述撮合交易请求对应的交易单数量,则生成第一交易单,所述第一交易单的数量为所述候选交易单的数量与所述撮合交易请求对应的交易单数量的差值,所述第一交易单中的交易资源数值与所述候选交易单中的交易资源数值相等;

使用所述第一交易单替换所述交易单队列中的所述目标交易单。

可选地,所述交易单队列中的交易单根据所述交易资源数值的大小进行排序得到,并且,其中相同交易资源数值的交易单通过交易时间进行排序得到。

本说明书实施例提供的一种交易网关,所述交易网关包括:

交易单获取模块,用于从交易服务器获取与接收的撮合交易请求相匹配的候选交易单;

选取模块,用于从所述候选交易单中选取满足所述撮合交易请求对应的撮合规则的目标交易单;

消息发送模块,用于向存储有所述目标交易单的目标交易服务器发送交易确认消息,以使所述目标交易服务器达成所述撮合交易请求对应的交易;

回滚模块,用于如果接收到所述目标交易服务器发送的未能达成所述交易的通知消息,则控制存储有所述目标交易单的目标交易服务器进行交易回滚处理。

可选地,所述撮合交易请求中包括待撮合交易单,所述交易网关还包括:

交易单发送模块,用于如果从所述交易服务器中未获取到与接收的撮合交易请求相匹配的候选交易单,则将所述待撮合交易单发送给多个所述交易服务器,以使每个所述交易服务器将所述待撮合交易单存储在交易单队列中。

可选地,所述选取模块,包括:

资源值获取单元,用于获取所述候选交易单中的交易资源数值;

排序单元,用于根据所述交易资源数值的大小,对所述候选交易单进行排序;

选取单元,用于根据排序结果,从所述候选交易单中选取所述撮合交易请求对应的交易单数量的目标交易单。

可选地,所述候选交易单中还包括交易时间,

所述排序单元,用于所述根据所述交易资源数值的大小,对所述候选交易单进行排序,得到预排序结果;根据所述交易时间,对所述预排序结果中相同交易资源数值的所述候选交易单的排序进行调整,得到所述排序结果。

可选地,所述交易网关还包括:

第一交易单获取模块,用于如果所述候选交易单的数量小于所述撮合交易请求对应的交易单数量,则获取第一交易单,所述第一交易单的数量为所述候选交易单的数量与所述撮合交易请求对应的交易单数量的差值,所述第一交易单中的交易资源数值与所述候选交易单中的交易资源数值相等;

存储模块,用于将所述第一交易单发送给所述交易服务器进行存储。

可选地,所述交易单获取模块,包括:

撮合请求接收单元,用于接收终端设备发送的撮合交易请求;

请求发送单元,用于将所述撮合交易请求发送给所述交易服务器,以使所述交易服务器获取与所述撮合交易请求相匹配的候选交易单;

交易单接收单元,用于接收所述交易服务器发送的所述候选交易单。

可选地,所述回滚模块,用于向所述存储有所述目标交易单的目标交易服务器发送交易回滚请求,以使所述目标交易服务器进行交易回滚处理。

本说明书实施例提供的一种交易服务器,所述交易服务器包括:

交易单获取模块,用于从交易单队列中获取与交易网关发送的撮合交易请求相匹配的候选交易单;

交易单发送模块,用于将所述候选交易单发送给所述交易网关,以使所述交易网关从所述候选交易单中选取满足所述撮合交易请求对应的撮合规则的目标交易单;

修改模块,用于当接收到所述交易网关发送的交易确认消息时,对所述交易单队列进行修改;

回滚模块,用于如果对所述交易单队列的修改失败,则执行交易回滚处理。

可选地,所述回滚模块,包括:

通知发送单元,用于如果对所述交易单队列的修改失败,则向所述交易网关发送未能达成所述交易的通知消息;

回滚单元,用于当接收到所述交易网关发送的交易回滚请求时,执行交易回滚处理。

可选地,所述交易服务器还包括:

第一交易单生成模块,用于如果所述候选交易单的数量小于所述撮合交易请求对应的交易单数量,则生成第一交易单,所述第一交易单的数量为所述候选交易单的数量与所述撮合交易请求对应的交易单数量的差值,所述第一交易单中的交易资源数值与所述候选交易单中的交易资源数值相等;

替换模块,用于使用所述第一交易单替换所述交易单队列中的所述目标交易单。

可选地,所述交易单队列中的交易单根据所述交易资源数值的大小进行排序得到,并且,其中相同交易资源数值的交易单通过交易时间进行排序得到。

本说明书实施例提供的一种交易网关,所述交易网关包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:

从交易服务器获取与接收的撮合交易请求相匹配的候选交易单;

从所述候选交易单中选取满足所述撮合交易请求对应的撮合规则的目标交易单;

向存储有所述目标交易单的目标交易服务器发送交易确认消息,以使所述目标交易服务器达成所述撮合交易请求对应的交易;

如果接收到所述目标交易服务器发送的未能达成所述交易的通知消息,则控制存储有所述目标交易单的目标交易服务器进行交易回滚处理。

本说明书实施例提供的一种交易服务器,所述交易服务器包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:

从交易单队列中获取与交易网关发送的撮合交易请求相匹配的候选交易单;

将所述候选交易单发送给所述交易网关,以使所述交易网关从所述候选交易单中选取满足所述撮合交易请求对应的撮合规则的目标交易单;

当接收到所述交易网关发送的交易确认消息时,对所述交易单队列进行修改;

如果对所述交易单队列的修改失败,则执行交易回滚处理。

本说明书实施例提供的一种交易系统,所述交易系统包括至少一个如上述实施例提供的交易网关和多个如上述实施例提供的交易服务器,其中:

所述交易网关分别与每个所述交易服务器相连接。

由以上本说明书实施例提供的技术方案可见,本说明书实施例通过从交易服务器获取与接收的撮合交易请求相匹配的候选交易单,然后,从候选交易单中选取满足撮合交易请求对应的撮合规则的目标交易单,并向存储有目标交易单的目标交易服务器发送交易确认消息,以使目标交易服务器达成撮合交易请求对应的交易,并在接收到目标交易服务器发送的未能达成该交易的通知消息时,控制存储有目标交易单的目标交易服务器进行交易回滚处理,这样,先由交易服务器提供与撮合交易请求相匹配的候选交易单,然后,在从中选取满足撮合交易请求的目标交易单,以此进行撮合交易,并在无法达成撮合交易请求对应的交易时,相应的交易服务器可以及时进行交易回滚处理,使得交易服务器的状态恢复到上一个状态,从而保证交易服务器中的数据一致性,实现了交易系统的数据一致性,进而使得电子交易或撮合交易可以更加的快速、安全、便捷。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本说明书一种交易的处理方法实施例;

图2为本说明书另一种交易的处理方法实施例;

图3为本说明书一种交易单队列示意图;

图4为本说明书又一种交易的处理方法实施例;

图5为本说明书一种交易的处理系统的结构示意图;

图6为本说明书一种交易网关实施例;

图7为本说明书一种交易服务器实施例;

图8为本说明书另一种交易网关实施例;

图9为本说明书另一种交易服务器实施例。

具体实施方式

本说明书实施例提供一种交易的处理方法、交易网关、交易服务器及交易系统。

为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。

实施例一

如图1所示,本说明书实施例提供一种交易的处理方法,该方法的执行主体可以为交易网关,其中,该交易网关可以由一个或多个网关设备构成。该方法可以用于进行电子交易或撮合交易等处理中。该方法具体可以包括以下步骤:

在步骤s102中,从交易服务器获取与接收的撮合交易请求相匹配的候选交易单。

其中,交易服务器可以是交易撮合的引擎或交易撮合机制所在的服务器,交易服务器可以是交易系统中的核心部分,可以用于接收交易单,并可以根据交易系统中的业务逻辑实现该交易单或达成该交易单对应的交易等,交易服务器在进行交易撮合的过程中,可以生成相应的交易记录,并可以为用户反馈相应的交易结果等,交易服务器可以包括多个。撮合交易请求可以是用于请求进行交易撮合的消息,撮合交易请求中可以包括待撮合的交易单,交易单可以是卖方交易单或买方交易单等。候选交易单可以包括一个或多个,候选交易单可以包括卖方交易单和/或买方交易单等。

在实施中,随着信息技术的日新月异和金融业务的快速发展,金融交易领域对于核心技术的要求也在不断增强,国内外金融交易模式已经从传统的人工叫价的方式变成了由高度电子化交易系统撮合交易单的方式。传统的金融交易通常发生在有型的金融交易市场中,进行金融交易的买卖双方通过叫价的方式进行价格协商,直到双方最终达成一致,从而形成一笔交易,产生相应的交易单,然后按照交易单到指定的交割地点进行实物交割,从而完成该笔交易。由于交易的整个过程主要依靠人工来执行,因此,交易效率低、速度慢、交易时间限制较大、交易空间限制也较大、交易成本高、交易扩展性差、交易易出错、资金安全性差、交易公平性差(容易产生内幕交易等)。

随着计算机技术的不断发展,金融交易通过与计算机技术的结合,实现了电子化交易,这样,不仅消除了传统的金融交易的种种弊端,还促进了当前金融业的快速发展。电子金融交易可以使得交易效率高、速度快、交易透明度高、交易成本低、系统安全性高、不受交易时间的限制、不受交易空间的限制、可以进行多方位的扩展等。因此,电子金融交易己经成为金融交易市场的主流交易方式。随着交易人数、交易数量的不断增加,交易系统承受的压力也越来越大,如果在交易期间交易系统发生故障,则造成的损失往往不可估量,因此,更可靠更高效的金融交易系统己经成为金融交易领域中需要解决的重要问题,而基于此,撮合交易在金融交易系统中扮演着非常重要的角色。

在金融交易系统中可以包括终端设备、交易网关、交易服务器(撮合引擎)和数据库等。其中,终端设备可以是用户使用的终端设备,如手机、平板电脑等,终端设备可以获取用户输入的委托交易及其数量,并生成相应的交易单发送给交易网关。交易网关可以用于收集终端设备的交易单,并可以将其派发给交易服务器。数据库可以用于存储交易过程中的交易单和交易记录,从而实现数据的持久化。金融交易系统中的交易服务器可以包括多个,从而交易网关和交易服务器可以构成分布式系统。

撮合交易可以是指销售方在金融交易市场委托销售交易单(或称为销售订单等)、购买方在金融交易市场委托购买交易单(或称为购买订单等),金融交易市场按照预定的原则确定双方成交的交易资源数值(如价格等),并可以生成电子交易合同,按交易单指定的交割仓库进行实物交割的交易。撮合交易可以应用于多种不同的场景下,例如网络购物的场景和转账等业务场景下等。

当需要进行撮合交易时,用户或商户可以通过相应的应用程序触发终端设备生成撮合交易请求,该撮合交易请求中可以包括用户或商户选取或确定的待撮合交易单,其中待撮合交易单可以是上述的销售交易单,也可以是上述的购买交易单等。可以将该撮合交易请求发送给每一个交易服务器,交易服务器接收到该撮合交易请求后,可以从中提取待撮合交易单等。交易服务器中可以存储有交易单队列,即销售交易单队列(或卖出交易单队列)和购买交易单队列(或买入交易单队列)。交易服务器提取到待撮合交易单后,可以在上述交易单队列中查找与待撮合交易单相匹配的交易单作为候选交易单,例如,如果待撮合交易单为销售交易单,则交易服务器可以在购买交易单队列中查找与待撮合交易单相匹配的购买交易单作为候选交易单,如果待撮合交易单为购买交易单,则交易服务器可以在销售交易单队列中查找与待撮合交易单相匹配的销售交易单作为候选交易单等。然后,交易服务器可以将得到的候选交易单发送给交易网关。

在实际应用中,除了可以通过上述数据交互的方式请求交易服务器发送候选交易单外,还可以通过交易网关直接进行数据拉取的方式从交易服务器中拉取候选交易单等。

在步骤s104中,从上述候选交易单中选取满足上述撮合交易请求对应的撮合规则的目标交易单。

其中,撮合规则可以是对某销售交易单和某购买交易单撮合为一个交易的规则,撮合规则可以多种多样,具体可以根据实际情况设定,本说明书实施例对此不做限定。

在实施中,考虑到交易服务器可能会较多,这样,交易服务器提供的候选交易单的数量可能会更多,为了为撮合交易请求中的待撮合交易单匹配到较佳的候选交易单,交易网关中可以设置有撮合交易请求对应的撮合规则,该撮合规则可以是携带于撮合交易请求中,还可以是预先设置于交易网关中,还可以是一种通用的撮合规则等。交易网关获取到候选交易单后,可以获取上述撮合交易请求对应的撮合规则,然后,可以在上述候选交易单中进行选取,从而可以得到一个或多个满足该撮合规则的候选交易单,并可以将选取的一个或多个候选交易单作为目标交易单。

在步骤s106中,向存储有目标交易单的目标交易服务器发送交易确认消息,以使目标交易服务器达成上述撮合交易请求对应的交易。

在实施中,交易网关可以确定存储有目标交易单的目标交易服务器,然后,可以向存储有目标交易单的目标交易服务器发送交易确认消息,目标交易服务器接收到交易确认消息后,可以对其存储的交易单队列进行修改,即可以从交易单队列中删除目标交易单,同时,目标交易服务器还可以将目标交易单与上述撮合交易请求中的待撮合交易单撮合为一笔交易。如果目标交易服务器完成对其存储的交易单队列的修改,则表明上述撮合交易请求对应的交易已达成,此时可以向交易网关发送交易达成的通知消息,如果目标交易服务器未完成对其存储的交易单队列的修改(如修改失败等),则可以执行下述步骤s108的处理。

在步骤s108中,如果接收到目标交易服务器发送的未能达成上述交易的通知消息,则控制存储有目标交易单的目标交易服务器进行交易回滚处理。

在实施中,如果目标交易服务器未完成对其存储的交易单队列的修改(如修改失败等),则可以向交易网关发送未能达成上述撮合交易请求对应的交易的通知消息,交易网关接收到该通知消息后,为了保证交易服务器中的数据一致性,可以分别向存储有目标交易单的目标交易服务器发送控制指令,以使每个目标交易服务器将其交易状态回滚到上一个数据一致的状态下,完成上述交易回滚处理后,可以通知目标交易服务器或用户稍后再次尝试进行撮合交易。

如图2所示,本说明书实施例提供一种交易的处理方法,该方法的执行主体可以为交易服务器,其中,该交易服务器可以是由多个服务器组成的服务器集群,该交易服务器可以是交易系统中具备撮合引擎的服务器,而且,该交易服务器可以是某项金融业务或购物业务等的后台服务器,也可以是某网站(如网络购物网站或支付应用等)的后台服务器等。该方法可以用于进行电子交易或撮合交易等处理中。该方法具体可以包括以下步骤:

在步骤s202中,从交易单队列中获取与交易网关发送的撮合交易请求相匹配的候选交易单。

在实施中,想要达成一笔交易,需要一个购买交易单和一个销售交易单,且该购买交易单与该销售交易单相互匹配。如图3所示,在交易服务器的内存中,可以保存有两个队列,即销售交易单队列(或卖出交易单队列或卖方委托交易单队列等)和购买交易单队列(或买入交易单队列或买方委托交易单队列等),其中,未能达成一笔交易的交易单都可以临时保存在上述两个队列中,上述两个队列中的交易单可以按照一定的排序规则(如通过交易资源数值的大小(如价格等)等)进行排列。在实际应用中,购买交易单队列中的交易单可以按照委托价格从低到高的顺序排列,销售交易单队列中的交易单可以按照委托价格从低到高的顺序排列。为了防止交易服务器宕机导致的数据丢失,每笔交易的相关数据(包括交易单等)可以同时存储在多台交易服务器的内存中。

如果撮合交易请求中的待撮合交易单为购买交易单,则交易服务器可以在销售交易单队列的头部查找是否存在符合撮合交易请求(或价格规则等)的销售交易单,如果存在,则从销售交易单队列中取出上述销售交易单,作为与撮合交易请求相匹配的候选交易单。如果销售交易单队列为空或销售交易单队列头部不存在符合撮合交易请求(或价格规则等)的销售交易单,则可以将待撮合交易单插入购买交易单队列中,由于购买交易单队列是存在排序的,因此,待撮合交易单可以经过一次排序处理插入到购买交易单队列的相应位置。

如果撮合交易请求中的待撮合交易单为销售交易单,则交易服务器可以在购买交易单队列的头部查找是否存在符合撮合交易请求(或价格规则等)的购买交易单,如果存在,则从购买交易单队列中取出上述购买交易单,作为与撮合交易请求相匹配的候选交易单。如果购买交易单队列为空或购买交易单队列头部不存在符合撮合交易请求(或价格规则等)的购买交易单,则可以将待撮合交易单插入销售交易单队列中,由于销售交易单队列是存在排序的,因此,待撮合交易单可以经过一次排序处理插入到销售交易单队列的相应位置。

在步骤s204中,将上述候选交易单发送给交易网关,以使交易网关从候选交易单中选取满足上述撮合交易请求对应的撮合规则的目标交易单。

在步骤s206中,当接收到交易网关发送的交易确认消息时,对上述交易单队列进行修改。

在步骤s208中,如果对上述交易单队列的修改失败,则执行交易回滚处理。

本说明书实施例提供一种交易的处理方法,通过从交易服务器获取与接收的撮合交易请求相匹配的候选交易单,然后,从候选交易单中选取满足撮合交易请求对应的撮合规则的目标交易单,并向存储有目标交易单的目标交易服务器发送交易确认消息,以使目标交易服务器达成撮合交易请求对应的交易,并在接收到目标交易服务器发送的未能达成该交易的通知消息时,控制存储有目标交易单的目标交易服务器进行交易回滚处理,这样,先由交易服务器提供与撮合交易请求相匹配的候选交易单,然后,在从中选取满足撮合交易请求的目标交易单,以此进行撮合交易,并在无法达成撮合交易请求对应的交易时,相应的交易服务器可以及时进行交易回滚处理,使得交易服务器的状态恢复到上一个状态,从而保证交易服务器中的数据一致性,实现了交易系统的数据一致性,进而使得电子交易或撮合交易可以更加的快速、安全、便捷。

实施例二

如图4所示,本说明书实施例提供一种交易的处理方法,该方法可以由交易网关和交易服务器共同执行,交易的处理系统的结构可以参见图5。其中,该交易网关可以由一个或多个网关设备构成。该交易服务器可以是由多个服务器组成的服务器集群,该交易服务器可以是交易系统中具备撮合引擎的服务器,而且,该交易服务器可以是某项金融业务或购物业务等的后台服务器,也可以是某网站(如网络购物网站或支付应用等)的后台服务器等。该方法可以用于进行电子交易或撮合交易等处理中。该方法具体可以包括以下步骤:

本实施例中,可以将撮合交易的交易过程划分为两个阶段,第一阶段可以是确定满足撮合交易请求的目标交易单的过程,具体可以参见下述步骤s402~步骤s414的处理,第二阶段可以是交易确认的过程,具体可以参见下述步骤s416~步骤s424的处理。

在步骤s402中,交易网关接收终端设备发送的撮合交易请求。

其中,终端设备可以是用户或商户使用的设备,或者是交易发起的终端设备等,该终端设备可以是手机、平板电脑、个人计算机或服务器等。

在实施中,终端设备中可以安装有某应用程序,如购物应用或金融类应用等。当用户需要进行购物或办理某金融业务(如转账业务等)时,可以启动该应用程序,通过该应用程序提供的信息,用户可以选择需要购买的物品或相应的业务入口,选择完成后,用户可以通过终端设备生成相应的交易单(或订单),并可以基于该交易单生成撮合交易请求,其中该交易单可以为待撮合交易单。然后,终端设备可以向交易网关发送该撮合交易请求,交易网关可以接收该撮合交易请求。

在步骤s404中,交易网关将上述撮合交易请求发送给交易服务器。

在实施中,交易服务器可以包括多个,在实际应用中,该交易服务器可以是相应的业务集群中的多个服务器,则交易网关可以将上述撮合交易请求转发给上述业务集群中的每个交易服务器,或者,可以将上述撮合交易请求转发给上述业务集群中的指定交易服务器等。

在步骤s406中,交易服务器从交易单队列中获取与撮合交易请求相匹配的候选交易单。

其中,在某一时刻,交易单队列中可以包括交易单,也可以不包含交易单,若交易单队列中包含交易单,则交易单队列中具体可以包括一个或多个交易单,交易单队列中的交易单可以根据交易资源数值的大小进行排序得到。其中的交易资源数值可以是某指定的一个或多个与交易资源相关的参数的数值,例如价格等参数的数值等。想要达成一笔交易,需要一个购买交易单和一个销售交易单,且该购买交易单与该销售交易单相互匹配。在交易服务器的内存中,可以保存有两个队列,即销售交易单队列(或卖出交易单队列或卖方委托交易单队列等)和购买交易单队列(或买入交易单队列或买方委托交易单队列等),购买交易单队列中的交易单可以按照委托价格从低到高的顺序排列,销售交易单队列中的交易单可以按照委托价格从低到高的顺序排列。

例如,交易单队列中包括交易单1、交易单2、交易单3、交易单4和交易单5,其中。交易单1的价格为100、交易单2的价格为120、交易单3的价格为150、交易单4的价格为120和交易单5的价格为200,如果该交易单队列为购买交易单队列,则购买交易单队列为:交易单1、交易单2、交易单4、交易单3和交易单5,如果该交易单队列为销售交易单队列,则销售交易单队列为:交易单5、交易单3、交易单4、交易单2和交易单1。上述交易单队列中包含相同交易资源数值的交易单,即交易单2和交易单4,上述排序的过程中,相同交易资源数值的交易单可以通过随机排列的方式排序,在实际应用中,相同交易资源数值的交易单可以通过交易时间进行排序得到,即可以获取交易单2和交易单4的交易时间,可以根据交易时间的前后,调整相同交易资源数值的交易单的排列顺序,以销售交易单队列为例,如果交易单2的交易时间早于交易单4的交易时间,则上述销售交易单队列变为:交易单5、交易单3、交易单2、交易单4和交易单1。

上述步骤s406的具体处理过程可以参见上述实施例一中步骤s202的相关内容,在此不再赘述。

在步骤s408中,交易服务器将候选交易单发送给交易网关。

此外,如果从交易服务器中未获取到与撮合交易请求相匹配的候选交易单,则将待撮合交易单发送给多个交易服务器,以使每个交易服务器将待撮合交易单存储在交易单队列中。

在实施中,如果从交易服务器中未获取到与撮合交易请求相匹配的候选交易单,则表明交易服务器中不存在与待撮合交易单相匹配的交易单,此时,可以将待撮合交易单发送给多个交易服务器,每个交易服务器将待撮合交易单存储在交易单队列中,这样可以保证业务系统的高可用性,即当多个交易服务器中的某一个交易服务器宕机,则业务系统还可以通过其它交易服务器完成后续的撮合交易。

需要说明的是,待撮合交易单存储到交易单队列的过程中,可以依据待撮合交易单的交易资源数值和交易时间,将该待撮合交易单插入到交易单队列中的相应位置处。

在步骤s410中,交易网关获取候选交易单中的交易资源数值。

其中,交易资源数值可以是某指定的一个或多个与交易资源相关的参数的数值,例如价格等参数的数值等,在实际应用中,可以不限定于价格参数的数值,还可以是其它指定的参数的数值,本说明书实施例对此不做限定。

在步骤s412中,交易网关根据上述交易资源数值的大小,对候选交易单进行排序。

上述步骤s410和步骤s412的具体处理过程可以参见上述步骤s406和上述实施例一中的相关内容,在此不再赘述。

在实际应用中,考虑到候选交易单中可能会存在具有相同交易资源数值的候选交易单,针对此情况下,可以对具有相同交易资源数值的候选交易单进行随机排列,除了可以通过随机排列的方式处理外,还可以通过其它多种方式处理,以下再提供一种可行的处理方式,具体可以包括以下步骤一和步骤二。

步骤一,根据上述交易资源数值的大小,对候选交易单进行排序,得到预排序结果。

在实施中,可以根据交易资源数值(如价格等)由大到小的顺序,依次对相应候选交易单进行排序,得到预排序结果,其中,在根据上述交易资源数值的大小对候选交易单进行排序时,对于相同交易资源数值的所述候选交易单,可以通过随机排序的方式确定其排列顺序。

步骤二,根据候选交易单的交易时间,对预排序结果中相同交易资源数值的所述候选交易单的排序进行调整,得到排序结果。

在步骤s414中,根据排序结果,交易网关从上述候选交易单中选取撮合交易请求对应的交易单数量的目标交易单。

在实施中,撮合交易请求中可以包括如交易的商品的数量等,例如撮合交易请求中包括用户需要购买的商品的数量为5000,而在商户提供的一个交易单中最多可以容纳的商品的数量为1000,这样,需要进行撮合交易的交易单数量应为5个,则交易网关可以从候选交易单中选取5个容纳的商品的数量为1000的候选交易单作为目标交易单。

此外,如果候选交易单的数量小于撮合交易请求对应的交易单数量,基于上述示例,若容纳的商品的数量为1000的候选交易单的数量只有4个,则可以将匹配到的候选交易单确定为目标交易单,并可以基于目标交易单进行撮合交易,以及进行下述步骤s416~步骤s424的处理。同时,交易网关可以获取第一交易单(或申请一个新的交易单),其中,第一交易单的数量为候选交易单的数量与撮合交易请求对应的交易单数量的差值(基于上述示例,即为5-4=1),第一交易单中的交易资源数值与候选交易单中的交易资源数值相等(即容纳的商品的数量为1000的交易单的交易资源数值)。然后,交易网关可以将第一交易单发送给交易服务器进行存储。

相应的,对于交易服务器来说,如果候选交易单的数量小于撮合交易请求对应的交易单数量,则生成第一交易单,第一交易单的数量为候选交易单的数量与撮合交易请求对应的交易单数量的差值,第一交易单中的交易资源数值与候选交易单中的交易资源数值相等,然后,可以使用第一交易单替换交易单队列中的目标交易单。

另外,交易服务器可以记录上述撮合为一笔交易中来自于该交易服务器中的交易单,以便在后续撮合交易失败时进行数据回滚处理。

在步骤s416中,交易网关向存储有目标交易单的目标交易服务器发送交易确认消息。

在步骤s418中,当接收到交易确认消息时,交易服务器对上述交易单队列进行修改。

如果对上述交易单队列的修改成功,则可以确定已经达成上述撮合交易请求对应的交易,此时,可以向交易网关发送交易达成的通知消息。交易网关接收到交易达成的通知消息后,可以向用户的终端设备发送交易成功的通知消息。

在步骤s420中,如果对上述交易单队列的修改失败,则交易服务器向交易网关发送未能达成上述交易的通知消息。

在步骤s422中,交易网关向存储有目标交易单的目标交易服务器发送交易回滚请求。

在步骤s424中,当接收到交易网关发送的交易回滚请求时,交易服务器执行交易回滚处理。

在实施中,交易回滚请求中可以包括待撮合交易单和撮合交易的过程中来自于交易服务器的交易单等,每个交易单中可以包括单号。交易服务器接收到交易回滚请求后,可以获取交易回滚请求中包含的单号,然后,可以针对交易回滚请求中的任一单号,在其存储的交易单队列中查找是否包括该单号,如果包含,则可以将撮合交易的过程中来自于交易服务器的交易单加入到交易单队列中,如果不包含,则根据撮合交易的过程中来自于交易服务器的交易单的交易资源数值和交易时间,将其插入到交易单队列中的相应位置处。

本说明书实施例提供一种交易的处理方法,通过从交易服务器获取与接收的撮合交易请求相匹配的候选交易单,然后,从候选交易单中选取满足撮合交易请求对应的撮合规则的目标交易单,并向存储有目标交易单的目标交易服务器发送交易确认消息,以使目标交易服务器达成撮合交易请求对应的交易,并在接收到目标交易服务器发送的未能达成该交易的通知消息时,控制存储有目标交易单的目标交易服务器进行交易回滚处理,这样,先由交易服务器提供与撮合交易请求相匹配的候选交易单,然后,在从中选取满足撮合交易请求的目标交易单,以此进行撮合交易,并在无法达成撮合交易请求对应的交易时,相应的交易服务器可以及时进行交易回滚处理,使得交易服务器的状态恢复到上一个状态,从而保证交易服务器中的数据一致性,实现了交易系统的数据一致性,进而使得电子交易或撮合交易可以更加的快速、安全、便捷。

实施例三

以上为本说明书实施例提供的交易的处理方法,基于同样的思路,本说明书实施例还提供一种交易网关,如图6所示。

该交易网关包括:交易单获取模块601、选取模块602、消息发送模块603和回滚模块604,其中:

交易单获取模块601,用于从交易服务器获取与接收的撮合交易请求相匹配的候选交易单;

选取模块602,用于从所述候选交易单中选取满足所述撮合交易请求对应的撮合规则的目标交易单;

消息发送模块603,用于向存储有所述目标交易单的目标交易服务器发送交易确认消息,以使所述目标交易服务器达成所述撮合交易请求对应的交易;

回滚模块604,用于如果接收到所述目标交易服务器发送的未能达成所述交易的通知消息,则控制存储有所述目标交易单的目标交易服务器进行交易回滚处理。

本说明书实施例中,所述撮合交易请求中包括待撮合交易单,所述交易网关还包括:

交易单发送模块,用于如果从所述交易服务器中未获取到与接收的撮合交易请求相匹配的候选交易单,则将所述待撮合交易单发送给多个所述交易服务器,以使每个所述交易服务器将所述待撮合交易单存储在交易单队列中。

本说明书实施例中,所述选取模块602,包括:

资源值获取单元,用于获取所述候选交易单中的交易资源数值;

排序单元,用于根据所述交易资源数值的大小,对所述候选交易单进行排序;

选取单元,用于根据排序结果,从所述候选交易单中选取所述撮合交易请求对应的交易单数量的目标交易单。

本说明书实施例中,所述候选交易单中还包括交易时间,

所述排序单元,用于所述根据所述交易资源数值的大小,对所述候选交易单进行排序,得到预排序结果;根据所述交易时间,对所述预排序结果中相同交易资源数值的所述候选交易单的排序进行调整,得到所述排序结果。

本说明书实施例中,所述交易网关还包括:

第一交易单获取模块,用于如果所述候选交易单的数量小于所述撮合交易请求对应的交易单数量,则获取第一交易单,所述第一交易单的数量为所述候选交易单的数量与所述撮合交易请求对应的交易单数量的差值,所述第一交易单中的交易资源数值与所述候选交易单中的交易资源数值相等;

存储模块,用于将所述第一交易单发送给所述交易服务器进行存储。

本说明书实施例中,所述交易单获取模块601,包括:

撮合请求接收单元,用于接收终端设备发送的撮合交易请求;

请求发送单元,用于将所述撮合交易请求发送给所述交易服务器,以使所述交易服务器获取与所述撮合交易请求相匹配的候选交易单;

交易单接收单元,用于接收所述交易服务器发送的所述候选交易单。

本说明书实施例中,所述回滚模块604,用于向所述存储有所述目标交易单的目标交易服务器发送交易回滚请求,以使所述目标交易服务器进行交易回滚处理。

本说明书实施例提供一种交易网关,通过从交易服务器获取与接收的撮合交易请求相匹配的候选交易单,然后,从候选交易单中选取满足撮合交易请求对应的撮合规则的目标交易单,并向存储有目标交易单的目标交易服务器发送交易确认消息,以使目标交易服务器达成撮合交易请求对应的交易,并在接收到目标交易服务器发送的未能达成该交易的通知消息时,控制存储有目标交易单的目标交易服务器进行交易回滚处理,这样,先由交易服务器提供与撮合交易请求相匹配的候选交易单,然后,在从中选取满足撮合交易请求的目标交易单,以此进行撮合交易,并在无法达成撮合交易请求对应的交易时,相应的交易服务器可以及时进行交易回滚处理,使得交易服务器的状态恢复到上一个状态,从而保证交易服务器中的数据一致性,实现了交易系统的数据一致性,进而使得电子交易或撮合交易可以更加的快速、安全、便捷。

实施例四

基于同样的思路,本说明书实施例还提供一种交易服务器,如图7所示。

该交易服务器包括:交易单获取模块701、交易单发送模块702、修改模块703和回滚模块704,其中:

交易单获取模块701,用于从交易单队列中获取与交易网关发送的撮合交易请求相匹配的候选交易单;

交易单发送模块702,用于将所述候选交易单发送给所述交易网关,以使所述交易网关从所述候选交易单中选取满足所述撮合交易请求对应的撮合规则的目标交易单;

修改模块703,用于当接收到所述交易网关发送的交易确认消息时,对所述交易单队列进行修改;

回滚模块704,用于如果对所述交易单队列的修改失败,则执行交易回滚处理。

本说明书实施例中,所述回滚模块704,包括:

通知发送单元,用于如果对所述交易单队列的修改失败,则向所述交易网关发送未能达成所述交易的通知消息;

回滚单元,用于当接收到所述交易网关发送的交易回滚请求时,执行交易回滚处理。

本说明书实施例中,所述交易服务器还包括:

第一交易单生成模块,用于如果所述候选交易单的数量小于所述撮合交易请求对应的交易单数量,则生成第一交易单,所述第一交易单的数量为所述候选交易单的数量与所述撮合交易请求对应的交易单数量的差值,所述第一交易单中的交易资源数值与所述候选交易单中的交易资源数值相等;

替换模块,用于使用所述第一交易单替换所述交易单队列中的所述目标交易单。

本说明书实施例中,所述交易单队列中的交易单根据所述交易资源数值的大小进行排序得到,并且,其中相同交易资源数值的交易单通过交易时间进行排序得到。

本说明书实施例提供一种交易服务器,通过从交易服务器获取与接收的撮合交易请求相匹配的候选交易单,然后,从候选交易单中选取满足撮合交易请求对应的撮合规则的目标交易单,并向存储有目标交易单的目标交易服务器发送交易确认消息,以使目标交易服务器达成撮合交易请求对应的交易,并在接收到目标交易服务器发送的未能达成该交易的通知消息时,控制存储有目标交易单的目标交易服务器进行交易回滚处理,这样,先由交易服务器提供与撮合交易请求相匹配的候选交易单,然后,在从中选取满足撮合交易请求的目标交易单,以此进行撮合交易,并在无法达成撮合交易请求对应的交易时,相应的交易服务器可以及时进行交易回滚处理,使得交易服务器的状态恢复到上一个状态,从而保证交易服务器中的数据一致性,实现了交易系统的数据一致性,进而使得电子交易或撮合交易可以更加的快速、安全、便捷。

实施例五

以上为本说明书实施例提供的交易服务器,基于同样的思路,本说明书实施例还提供一种交易网关,如图8所示。

交易网关可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器801和存储器802,存储器802中可以存储有一个或一个以上存储应用程序或数据。其中,存储器802可以是短暂存储或持久存储。存储在存储器802的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对交易网关中的一系列计算机可执行指令。更进一步地,处理器801可以设置为与存储器802通信,在交易网关上执行存储器802中的一系列计算机可执行指令。交易网关还可以包括一个或一个以上电源803,一个或一个以上有线或无线网络接口804,一个或一个以上输入输出接口805,一个或一个以上键盘806。

具体在本实施例中,交易网关包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对交易网关中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:

从交易服务器获取与接收的撮合交易请求相匹配的候选交易单;

从所述候选交易单中选取满足所述撮合交易请求对应的撮合规则的目标交易单;

向存储有所述目标交易单的目标交易服务器发送交易确认消息,以使所述目标交易服务器达成所述撮合交易请求对应的交易;

如果接收到所述目标交易服务器发送的未能达成所述交易的通知消息,则控制存储有所述目标交易单的目标交易服务器进行交易回滚处理。

本说明书实施例中,所述撮合交易请求中包括待撮合交易单,还包括:

如果从所述交易服务器中未获取到与接收的撮合交易请求相匹配的候选交易单,则将所述待撮合交易单发送给多个所述交易服务器,以使每个所述交易服务器将所述待撮合交易单存储在交易单队列中。

本说明书实施例中,所述从所述候选交易单中选取满足所述撮合交易请求对应的撮合规则的目标交易单,包括:

获取所述候选交易单中的交易资源数值;

根据所述交易资源数值的大小,对所述候选交易单进行排序;

根据排序结果,从所述候选交易单中选取所述撮合交易请求对应的交易单数量的目标交易单。

本说明书实施例中,所述候选交易单中还包括交易时间,

所述根据所述交易资源数值的大小,对所述候选交易单进行排序,包括:

所述根据所述交易资源数值的大小,对所述候选交易单进行排序,得到预排序结果;

根据所述交易时间,对所述预排序结果中相同交易资源数值的所述候选交易单的排序进行调整,得到所述排序结果。

本说明书实施例中,还包括:

如果所述候选交易单的数量小于所述撮合交易请求对应的交易单数量,则获取第一交易单,所述第一交易单的数量为所述候选交易单的数量与所述撮合交易请求对应的交易单数量的差值,所述第一交易单中的交易资源数值与所述候选交易单中的交易资源数值相等;

将所述第一交易单发送给所述交易服务器进行存储。

本说明书实施例中,所述从交易服务器获取与接收的撮合交易请求相匹配的候选交易单,包括:

接收终端设备发送的撮合交易请求;

将所述撮合交易请求发送给所述交易服务器,以使所述交易服务器获取与所述撮合交易请求相匹配的候选交易单;

接收所述交易服务器发送的所述候选交易单。

本说明书实施例中,所述控制存储有所述目标交易单的目标交易服务器进行交易回滚处理,包括:

向所述存储有所述目标交易单的目标交易服务器发送交易回滚请求,以使所述目标交易服务器进行交易回滚处理。

本说明书实施例提供一种交易网关,通过从交易服务器获取与接收的撮合交易请求相匹配的候选交易单,然后,从候选交易单中选取满足撮合交易请求对应的撮合规则的目标交易单,并向存储有目标交易单的目标交易服务器发送交易确认消息,以使目标交易服务器达成撮合交易请求对应的交易,并在接收到目标交易服务器发送的未能达成该交易的通知消息时,控制存储有目标交易单的目标交易服务器进行交易回滚处理,这样,先由交易服务器提供与撮合交易请求相匹配的候选交易单,然后,在从中选取满足撮合交易请求的目标交易单,以此进行撮合交易,并在无法达成撮合交易请求对应的交易时,相应的交易服务器可以及时进行交易回滚处理,使得交易服务器的状态恢复到上一个状态,从而保证交易服务器中的数据一致性,实现了交易系统的数据一致性,进而使得电子交易或撮合交易可以更加的快速、安全、便捷。

实施例六

基于同样的思路,本说明书实施例还提供一种交易服务器,如图9所示。

交易服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器901和存储器902,存储器902中可以存储有一个或一个以上存储应用程序或数据。其中,存储器902可以是短暂存储或持久存储。存储在存储器902的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对交易服务器中的一系列计算机可执行指令。更进一步地,处理器901可以设置为与存储器902通信,在交易服务器上执行存储器902中的一系列计算机可执行指令。交易服务器还可以包括一个或一个以上电源903,一个或一个以上有线或无线网络接口904,一个或一个以上输入输出接口905,一个或一个以上键盘906。

具体在本实施例中,交易服务器包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对交易服务器中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:

从交易单队列中获取与交易网关发送的撮合交易请求相匹配的候选交易单;

将所述候选交易单发送给所述交易网关,以使所述交易网关从所述候选交易单中选取满足所述撮合交易请求对应的撮合规则的目标交易单;

当接收到所述交易网关发送的交易确认消息时,对所述交易单队列进行修改;

如果对所述交易单队列的修改失败,则执行交易回滚处理。

本说明书实施例中,所述如果对所述交易单队列修改失败,则执行交易回滚处理,包括:

如果对所述交易单队列的修改失败,则向所述交易网关发送未能达成所述交易的通知消息;

当接收到所述交易网关发送的交易回滚请求时,执行交易回滚处理。

本说明书实施例中,还包括:

如果所述候选交易单的数量小于所述撮合交易请求对应的交易单数量,则生成第一交易单,所述第一交易单的数量为所述候选交易单的数量与所述撮合交易请求对应的交易单数量的差值,所述第一交易单中的交易资源数值与所述候选交易单中的交易资源数值相等;

使用所述第一交易单替换所述交易单队列中的所述目标交易单。

本说明书实施例中,所述交易单队列中的交易单根据所述交易资源数值的大小进行排序得到,并且,其中相同交易资源数值的交易单通过交易时间进行排序得到。

本说明书实施例提供一种交易服务器,通过从交易服务器获取与接收的撮合交易请求相匹配的候选交易单,然后,从候选交易单中选取满足撮合交易请求对应的撮合规则的目标交易单,并向存储有目标交易单的目标交易服务器发送交易确认消息,以使目标交易服务器达成撮合交易请求对应的交易,并在接收到目标交易服务器发送的未能达成该交易的通知消息时,控制存储有目标交易单的目标交易服务器进行交易回滚处理,这样,先由交易服务器提供与撮合交易请求相匹配的候选交易单,然后,在从中选取满足撮合交易请求的目标交易单,以此进行撮合交易,并在无法达成撮合交易请求对应的交易时,相应的交易服务器可以及时进行交易回滚处理,使得交易服务器的状态恢复到上一个状态,从而保证交易服务器中的数据一致性,实现了交易系统的数据一致性,进而使得电子交易或撮合交易可以更加的快速、安全、便捷。

实施例七

基于同样的思路,本说明书实施例还提供一种交易系统,如图5所示。

该交易系统包括至少一个交易网关和多个交易服务器,其中:

所述交易网关分别与每个所述交易服务器相连接。

其中,所述交易网关,用于从交易服务器获取与接收的撮合交易请求相匹配的候选交易单;从所述候选交易单中选取满足所述撮合交易请求对应的撮合规则的目标交易单;向存储有所述目标交易单的目标交易服务器发送交易确认消息,以使所述目标交易服务器达成所述撮合交易请求对应的交易;如果接收到所述目标交易服务器发送的未能达成所述交易的通知消息,则控制存储有所述目标交易单的目标交易服务器进行交易回滚处理。

所述交易网关,还用于如果从所述交易服务器中未获取到与接收的撮合交易请求相匹配的候选交易单,则将所述待撮合交易单发送给多个所述交易服务器,以使每个所述交易服务器将所述待撮合交易单存储在交易单队列中。

所述交易网关,还用于获取所述候选交易单中的交易资源数值;根据所述交易资源数值的大小,对所述候选交易单进行排序;根据排序结果,从所述候选交易单中选取所述撮合交易请求对应的交易单数量的目标交易单。

此外,所述候选交易单中还包括交易时间,所述交易网关,还用于所述根据所述交易资源数值的大小,对所述候选交易单进行排序,得到预排序结果;根据所述交易时间,对所述预排序结果中相同交易资源数值的所述候选交易单的排序进行调整,得到所述排序结果。

所述交易网关,还用于如果所述候选交易单的数量小于所述撮合交易请求对应的交易单数量,则获取第一交易单,所述第一交易单的数量为所述候选交易单的数量与所述撮合交易请求对应的交易单数量的差值,所述第一交易单中的交易资源数值与所述候选交易单中的交易资源数值相等;将所述第一交易单发送给所述交易服务器进行存储。

所述交易网关,还用于接收终端设备发送的撮合交易请求;将所述撮合交易请求发送给所述交易服务器,以使所述交易服务器获取与所述撮合交易请求相匹配的候选交易单;接收所述交易服务器发送的所述候选交易单。

所述交易网关,还用于向所述存储有所述目标交易单的目标交易服务器发送交易回滚请求,以使所述目标交易服务器进行交易回滚处理。

其中,所述交易服务器,用于从交易单队列中获取与交易网关发送的撮合交易请求相匹配的候选交易单;将所述候选交易单发送给所述交易网关,以使所述交易网关从所述候选交易单中选取满足所述撮合交易请求对应的撮合规则的目标交易单;当接收到所述交易网关发送的交易确认消息时,对所述交易单队列进行修改;如果对所述交易单队列的修改失败,则执行交易回滚处理。

所述交易服务器,还用于如果对所述交易单队列的修改失败,则向所述交易网关发送未能达成所述交易的通知消息;当接收到所述交易网关发送的交易回滚请求时,执行交易回滚处理。

所述交易服务器,还用于如果所述候选交易单的数量小于所述撮合交易请求对应的交易单数量,则生成第一交易单,所述第一交易单的数量为所述候选交易单的数量与所述撮合交易请求对应的交易单数量的差值,所述第一交易单中的交易资源数值与所述候选交易单中的交易资源数值相等;使用所述第一交易单替换所述交易单队列中的所述目标交易单。

其中,所述交易单队列中的交易单根据所述交易资源数值的大小进行排序得到,并且,其中相同交易资源数值的交易单通过交易时间进行排序得到。

本说明书实施例提供一种交易的处理系统,通过从交易服务器获取与接收的撮合交易请求相匹配的候选交易单,然后,从候选交易单中选取满足撮合交易请求对应的撮合规则的目标交易单,并向存储有目标交易单的目标交易服务器发送交易确认消息,以使目标交易服务器达成撮合交易请求对应的交易,并在接收到目标交易服务器发送的未能达成该交易的通知消息时,控制存储有目标交易单的目标交易服务器进行交易回滚处理,这样,先由交易服务器提供与撮合交易请求相匹配的候选交易单,然后,在从中选取满足撮合交易请求的目标交易单,以此进行撮合交易,并在无法达成撮合交易请求对应的交易时,相应的交易服务器可以及时进行交易回滚处理,使得交易服务器的状态恢复到上一个状态,从而保证交易服务器中的数据一致性,实现了交易系统的数据一致性,进而使得电子交易或撮合交易可以更加的快速、安全、便捷。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书的实施例是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1