一种交易数据处理方法及装置与流程

文档序号:20018174发布日期:2020-02-25 11:01阅读:113来源:国知局
一种交易数据处理方法及装置与流程

本申请涉及互联网技术领域,尤其涉及一种交易数据处理方法及装置。



背景技术:

区块链技术因为其具备去中心化、信息不可篡改、开放性等特点,在工业制造、交通、金融和保险、零售等行业获得了广泛应用。在区块链系统中,各类业务涉及的所有交易的交易数据通过运行在服务器端的服务端节点进行处理。

目前,服务端节点通常按照时间顺序对交易数据进行处理,而实际应用中,不同类型的业务的重要程度不同,针对较为重要的业务,目前的这种交易数据处理方法可能会影响对该类业务的交易数据的处理效率,如何提升对重要业务的交易数据的处理效率是当前需要考虑的问题。



技术实现要素:

本申请实施例提供了一种交易数据处理方法及装置,用以解决现有技术中的交易数据处理方法存在对重要业务的交易数据的处理效率较低的问题。

本申请实施例提供的技术方案如下:

一方面,本申请实施例提供了一种交易数据处理方法,应用于区块链系统中的服务端节点,该交易数据处理方法包括:

获取待处理的交易数据和交易数据对应的智能合约的合约标识;

根据智能合约的合约标识,确定智能合约的合约优先级为目标合约优先级;

将交易数据存储至目标合约优先级对应的交易数据处理队列;

获取目标合约优先级对应的交易处理限速信息,其中,交易处理限速信息包含限速周期内的交易处理量上限;

根据交易处理限速信息,对交易数据处理队列中的交易数据进行处理。

在一种可能的实施方式中,获取待处理的交易数据和交易数据对应的智能合约的合约标识,包括:

若服务端节点为背书节点,则从接收到的交易背书请求中获取待处理的交易数据和交易数据对应的智能合约的合约标识;

若服务端节点为排序节点,则从接收到的交易排序请求中获取待处理的交易数据和交易数据对应的智能合约的合约标识。

在一种可能的实施方式中,获取目标合约优先级对应的交易处理限速信息之前,还包括:

确定目标合约优先级不低于优先级阈值。

在一种可能的实施方式中,本申请实施例提供的交易数据处理方法还包括:

若确定目标合约优先级低于优先级阈值,则确定不低于优先级阈值的各个合约优先级对应的交易数据处理队列为空时,对目标合约优先级对应的交易数据处理队列中的交易数据进行处理。

在一种可能的实施方式中,对目标合约优先级对应的交易数据处理队列中的交易数据进行处理时,还包括:

确定不低于优先级阈值的任一合约优先级对应的交易数据处理队列不为空时,暂停对目标合约优先级对应的交易数据处理队列中交易数据的处理,并根据任一合约优先级对应的交易处理限速信息,对任一合约优先级对应的交易数据处理队列中的交易数据进行处理。

在一种可能的实施方式中,根据交易处理限速信息,对交易数据处理队列中的交易数据进行处理,包括:

根据交易处理限速信息,确定目标合约优先级对应的交易处理量上限;

确定当前限速周期内目标合约优先级对应的当前交易处理量未超出交易处理量上限时,从交易数据处理队列中获取交易数据进行处理。

在一种可能的实施方式中,本申请实施例提供的交易数据处理方法还包括:

若确定当前限速周期内目标合约优先级对应的当前交易处理量超出交易处理量上限,则在下一个限速周期到来时,从交易数据处理队列中获取交易数据进行处理。

另一方面,本申请实施例提供了一种交易数据处理装置,应用于区块链系统中的服务端节点,本申请实施例提供的交易数据处理装置包括:

获取模块,用于获取待处理的交易数据和交易数据对应的智能合约的合约标识;

确定模块,用于根据智能合约的合约标识,确定智能合约的合约优先级为目标合约优先级;

存储模块,用于将交易数据存储至目标合约优先级对应的交易数据处理队列;

限速模块,用于获取目标合约优先级对应的交易处理限速信息,并根据交易处理限速信息,对交易数据处理队列中的交易数据进行处理,其中,交易处理限速信息包含限速周期内的交易处理量上限。

在一种可能的实施方式中,在获取待处理的交易数据和交易数据对应的智能合约的合约标识时,获取模块具体用于:

若服务端节点为背书节点,则从接收到的交易背书请求中获取待处理的交易数据和交易数据对应的智能合约的合约标识;

若服务端节点为排序节点,则从接收到的交易排序请求中获取待处理的交易数据和交易数据对应的智能合约的合约标识。

在一种可能的实施方式中,本申请实施例提供的交易数据处理装置还包括:

检查模块,用于在限速模块获取目标合约优先级对应的交易处理限速信息之前,对目标合约优先级进行阈值检测,并确定目标合约优先级不低于优先级阈值。

在一种可能的实施方式中,限速模块还用于:

若检查模块确定目标合约优先级低于优先级阈值,则确定不低于优先级阈值的各个合约优先级对应的交易数据处理队列为空时,对目标合约优先级对应的交易数据处理队列中的交易数据进行处理。

在一种可能的实施方式中,在对目标合约优先级对应的交易数据处理队列中的交易数据进行处理时,限速模块还用于:

确定不低于优先级阈值的任一合约优先级对应的交易数据处理队列不为空时,暂停对目标合约优先级对应的交易数据处理队列中交易数据的处理,并根据任一合约优先级对应的交易处理限速信息,对任一合约优先级对应的交易数据处理队列中的交易数据进行处理。

在一种可能的实施方式中,在根据交易处理限速信息,对交易数据处理队列中的交易数据进行处理时,限速模块具体用于:

根据交易处理限速信息,确定目标合约优先级对应的交易处理量上限;

确定当前限速周期内目标合约优先级对应的当前交易处理量未超出交易处理量上限时,从交易数据处理队列中获取交易数据进行处理。

在一种可能的实施方式中,限速模块还用于:

若确定当前限速周期内目标合约优先级对应的当前交易处理量超出交易处理量上限,则在下一个限速周期到来时,从交易数据处理队列中获取交易数据进行处理。

另一方面,本申请实施例提供了一种区块链系统中智能合约处理设备,包括:存储器、处理器和存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现本申请实施例提供的交易数据处理方法。

另一方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令被处理器执行时实现本申请实施例提供的交易数据处理方法。

本申请实施例的有益效果如下:

本申请实施例中,通过为不同的智能合约配置合约优先级,可以实现对不同优先级业务的交易数据进行处理,从而在不增加新的服务端节点的前提下,解决了按照时间顺序处理交易数据的方法存在对重要业务的交易数据的处理效率较低的问题,避免了因新增服务端节点导致的资源浪费、运维成本和难度提升的问题。而且,通过为不同的合约优先级配置对应的交易处理限速信息,可以实现利用不同的处理速度,对不同优先级业务的交易数据进行处理,从而在保证了重要业务的交易数据的处理效率的同时,提升了区块链系统中交易数据处理的灵活性。

附图说明

图1为本申请实施例中区块链的区块结构示意图;

图2a为本申请实施例中区块链系统的系统架构示意图;

图2b为本申请实施例中各类服务端节点之间的通信交互示意图;

图3为本申请实施例中合约优先级与交易数据处理队列和交易处理限速信息的对应关系示意图;

图4为本申请实施例中交易数据处理方法的流程示意图;

图5a为本申请实施例中背书节点和排序节点处理交易数据的概况示意图;

图5b为本申请实施例中交易数据处理方法的具体流程示意图;

图6为本申请实施例中交易数据处理装置的功能结构示意图;

图7为本申请实施例中交易数据处理设备的硬件结构示意图。

具体实施方式

为了使本申请的目的、技术方案及有益效果更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为便于本领域技术人员更好地理解本申请,下面先对本申请涉及的技术用语进行简单介绍。

1、区块链(blockchain),为分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的区块,每一个区块中记录了一批次网络交易的交易数据,用于验证其交易数据的有效性(防伪)和生成下一个区块。参阅图1所示,为本申请中区块结构(blockstructure)的一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。

实际应用中,区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。其中:

区块链底层平台,可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。具体的,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。

平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。

应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。

实际应用中,根据访问权限和管理权限的不同,区块链可以分为公有链、私有链和联盟链三大类。其中:

公有链,为所有人都可读取的、任何人都能发起交易且交易能获得有效确认的、任何人都能参与记账、共识过程的区块链;

私有链,为使用区块链技术作为底层记账技术,记账节点为私人或者私人机构,不对外开放的区块链;

联盟链,为针对某个特定群体和有限的第三方使用的区块链,其内部指定多个预选节点为记账节点,每个块的生成由所有的预选节点共同决定,通常联盟链对于共识或验证节点的配置和网络环境有一定要求。

2、区块链系统,为由客户端节点、多个服务端节点通过网络通信的形式连接形成的分布式系统。参阅图2a所示,区块链系统中,服务端节点之间组成点对点(peertopeer,p2p)网络,p2p协议是一个运行在传输控制协议(transmissioncontrolprotocol,tcp)协议之上的应用层协议。其中:

客户端节点,为可以支持用户注册区块链服务,并且可以根据用户操作,向区块链网络发起服务请求的一种应用程序(application,app)或软件开发工具包(softwaredevelopmentkit,sdk)。

服务端节点,为运行在服务器端,并且可以为客户端节点提供区块链服务的计算设备,可以是但不限于是:服务器、用户终端等,实际应用中,任何计算设备如服务器、用户终端等都可以加入区块链网络而成为服务端节点。

参阅图2b所示,区块链系统中可以包括不同功能的服务端节点,例如:背书节点、排序节点和记账节点等,其中,背书节点主要负责对客户端节点发送的交易提案等交易数据进行检查和背书,并将背书结果和背书签名返回给客户端节点;排序节点主要负责对客户端节点发送的具有背书结果和背书签名的交易结果等交易数据进行全局排序及打包区块,并将产生的区块广播给背书节点和记账节点;记账节点主要负责对排序节点广播的区块进行验证(包括但不限于背书策略验证、读写集验证等),并将验证通过的区块提交到区块链中,以及更新数据库、维护状态数据和账本的副本。

3、智能合约,为一种计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。

4、合约优先级,本申请中,为根据业务的重要程度,为该业务对应的智能合约配置的优先级,可通过区块链系统中的各个用户进行协商确定,并且,可以在用户上传、安装、实例化智能合约时,对智能合约的合约优先级进行配置及关联存储。

本申请中,不同合约优先级可以对应不同的交易数据处理队列和交易处理限速信息,其中,交易数据处理队列用于存储相应合约优先级下各个业务的交易数据;交易处理限速信息为根据服务端节点的最大负载能力,为相应合约优先级配置的,用于限制该合约优先级下各个业务的交易数据的处理速度的信息,可以包含但不限于:限速周期内的交易处理量上限,实际应用中,在限速周期内各个合约优先级对应的交易处理量上限的总和不超过服务端节点的最大负载能力。

例如:参阅图3所示,在用户上传、安装、实例化智能合约时,可以对智能合约的合约优先级进行配置,合约优先级可以包括但不限于:高优先级、普通优先级和低优先级,实际应用中,高优先级、普通优先级和低优先级可以分别对应一个交易数据处理队列,依次可以为高优先级处理队列、普通优先级处理队列和低优先级处理队列,并且,高优先级、普通优先级和低优先级分别对应一个交易处理限速信息,假设各个服务端节点的最大负载能力相同,则高优先级、普通优先级和低优先级各自对应的交易处理限速信息,依次可以为限速周期1秒内最高处理600笔交易数据、最高处理300笔交易数据和最高处理100笔交易数据,这样,服务端节点就可以根据各个合约优先级对应的交易处理限速信息,对相应合约优先级对应的交易数据处理队列中的交易数据进行处理。

5、交易数据,本申请中,根据服务端节点的功能不同,交易数据的内容不同,具体的,若服务端节点为背书节点,则交易数据可以包括但不限于:客户端发送的交易背书请求中的交易提案等;若服务端节点为排序节点,则交易数据可以包括但不限于:客户端发送的交易排序请求中的交易结果、背书结果和背书签名等。

在介绍了本申请涉及的技术用语后,接下来,对本申请实施例的应用场景和设计思想进行简单介绍。

目前,在区块链系统中,通常通过调用智能合约完成交易数据上链过程,所有业务的智能合约都是平等的,对于公有链来说,如果希望重要业务的交易数据快速上链,可以通过提升交易手续费的方式,加快重要业务的交易数据快速上链的可能性,而对于联盟链来说,通过提升交易手续费的方式并不能有效地解决重要业务的交易数据快速上链的问题。为此,现有技术中提出了一种交易数据处理方法,即在区块链系统中新增服务端节点,并利用新增服务端节点,处理重要业务的交易数据,对于整个区块链系统来说,重要业务的交易数据的处理效率的提升效果有限,而且,随着新增服务端节点的数量的增加,区块链系统的运维难度和成本也随之提升。

因此,针对上述问题,本申请实施例中提出了一种交易数据的处理方法,具体为,根据业务的重要程度,为对应的智能合约配置合约优先级,并为不同的合约优先级配置对应的交易处理限速信息,服务端节点在处理交易数据时,可以根据该交易数据对应的智能合约的合约标识,确定该智能合约的合约优先级为目标合约优先级,并将该交易数据存储至目标合约优先级对应的交易数据处理队列,以及获取目标合约优先级对应的交易处理限速信息,并根据该交易处理限速信息,对交易数据处理队列中的交易数据进行处理。这样,通过为不同的智能合约配置合约优先级,可以实现对不同优先级业务的交易数据进行处理,从而在不增加新的服务端节点的前提下,解决了按照时间顺序处理交易数据的方法存在对重要业务的交易数据的处理效率较低的问题,避免了因新增服务端节点导致的资源浪费、运维成本和难度提升的问题。而且,通过为不同的合约优先级配置对应的交易处理限速信息,可以实现利用不同的处理速度,对不同优先级业务的交易数据进行处理,从而在保证了重要业务的交易数据的处理效率的同时,提升了区块链系统中交易数据处理的灵活性。

下面对本申请实施例提供的应用于区块链系统中的服务端节点的交易数据处理方法进行具体说明。参阅图4所示,本申请实施例提供的交易数据处理方法的流程如下:

步骤401:获取待处理的交易数据和该交易数据对应的智能合约的合约标识。

实际应用中,若服务端节点为背书节点,则可以从接收到的交易背书请求中获取待处理的交易数据和该交易数据对应的智能合约的合约标识;若服务端节点为排序节点,则可以从接收到的交易排序请求中获取待处理的交易数据和该交易数据对应的智能合约的合约标识。

步骤402:根据该智能合约的合约标识,确定该智能合约的合约优先级为目标合约优先级。

实际应用中,在用户上传、安装、实例化智能合约时,在根据区块链系统中的各个用户基于业务的重要程度协商出的优先级结果,对智能合约的合约优先级进行配置后,可以对智能合约的合约标识和合约优先级进行关联存储,这样,服务端节点在获取到交易数据对应的智能合约的合约标识后,可以根据合约标识和合约优先级的关联关系,获得该智能合约的合约优先级并确定为目标合约优先级。

步骤403:将该交易数据存储至目标合约优先级对应的交易数据处理队列。

实际应用中,为了能够对不同优先级对应的各个业务的交易数据进行快速处理,提高交易数据的处理效率,服务端节点在获取到待处理的交易数据,并在将该交易数据对应的智能合约的合约优先级确定为目标合约优先级后,可以将该交易数据存储至目标合约优先级对应的交易数据处理队列。

步骤404:获取该目标合约优先级对应的交易处理限速信息,其中,该交易处理限速信息包含限速周期内的交易处理量上限。

为了提高资源利用率,本申请实施例中,针对合约优先级较低的业务的交易数据,可以在闲时处理,具体的,服务端节点在获取目标合约优先级对应的交易处理限速信息之前,还可以先检查目标合约优先级是否不低于优先级阈值,若确定目标合约优先级不低于优先级阈值,则可以直接获取该目标合约优先级对应的交易处理限速信息,并根据该交易处理限速信息,对该目标合约优先级对应的交易数据处理队列中的交易数据进行处理,从而确保了高优先级业务的交易数据的实时处理,提升了高优先级业务的交易数据的处理效率。

值得说的是,服务端节点若确定目标合约优先级低于优先级阈值,则可以进一步检测不低于优先级阈值的各个合约优先级对应的交易数据处理队列是否均为空,若是,则可以直接对目标合约优先级对应的交易数据处理队列中的交易数据进行处理,若否,则可以不对目标合约优先级对应的交易数据处理队列中的交易数据进行处理,并实时监测不低于优先级阈值的各个合约优先级对应的交易数据处理队列,当监测到不低于优先级阈值的各个合约优先级对应的交易数据处理队列均为空时,再对目标合约优先级对应的交易数据处理队列中的交易数据进行处理,从而实现了在闲时处理低优先级业务的交易数据的功能,节省了服务端节点的处理资源。

进一步的,服务端节点在闲时对低合约优先级的交易数据处理队列中的交易数据进行处理时,若监测到不低于优先级阈值的任一合约优先级对应的交易数据处理队列不为空,则可以暂停对低合约优先级的交易数据处理队列中的交易数据的处理,并根据该任一合约优先级对应的交易处理限速信息,对该任一合约优先级对应的交易数据处理队列中的交易数据进行处理,从而进一步确保了高优先级业务的交易数据的实时处理,提升了高优先级业务的交易数据的处理效率。

步骤405:根据该交易处理限速信息,对该交易数据处理队列中的交易数据进行处理。

本申请实施例中,服务端节点在执行步骤405时,可以采用但不限于以下方式:根据交易处理限速信息,确定目标合约优先级在限速周期内的交易处理量上限,并根据目标合约优先级在限速周期内的交易处理量上限,周期性地从目标合约优先级对应的交易数据处理队列中获取交易数据进行处理,并且,在每个限速周期内,若确定当前限速周期内目标合约优先级对应的当前交易处理量未超出交易处理量上限,则直接从交易数据处理队列中获取交易数据进行处理;若确定当前限速周期内目标合约优先级对应的当前交易处理量超出交易处理量上限,则在下一个限速周期到来时,从交易数据处理队列中获取交易数据进行处理。

值得说的是,根据实际需求和应用场景的不同,区块链系统中,可以是所有类型的服务端节点均采用本申请实施例提供的交易数据处理方法对交易数据进行处理,也可以是部分类型的服务端节点采用本申请实施例提供的交易数据处理方法对交易数据进行处理。例如:参阅图5a所示,针对用户通过客户端节点向排序节点发送的交易背书请求,背书节点可以采用本申请实施例提供的交易数据处理方法,对交易背书请求中的交易数据进行检查和背书,针对用户通过客户端节点向排序节点发送的交易排序请求,排序节点也可以采用本申请实施例提供的交易数据处理方法,对交易排序请求中的交易数据进行排序并打包区块。

下面以“区块链系统中的背书节点和排序节点采用本申请实施例提供的交易数据处理方法对交易数据进行处理”为具体应用场景,对本申请实施例提供的交易数据处理方法作进一步详细说明。参阅图5b所示,本申请实施例提供的交易数据处理方法的具体流程如下:

步骤501:客户端节点针对用户发起的交易,向背书节点发送交易背书请求,其中,交易背书请求中至少携带有交易提案等交易数据、智能合约的合约标识和用户签名等。

步骤502:背书节点从交易背书请求中获取交易提案等交易数据、智能合约的合约标识和用户签名。

步骤503:背书节点对用户签名进行验证,确定验证通过后,根据该智能合约的合约标识,确定该智能合约的合约优先级为目标合约优先级。

步骤504:背书节点将交易提案等交易数据存储至目标合约优先级对应的交易数据处理队列。

步骤505:背书节点检查目标合约优先级是否不低于优先级阈值,若是,则执行步骤507;若否,则执行步骤506。

步骤506:背书节点在确定不低于优先级阈值的各个合约优先级对应的交易数据处理队列均为空时,对目标合约优先级对应的交易数据处理队列中的交易数据进行处理。

步骤507:背书节点获取该目标合约优先级对应的交易处理限速信息,并根据该交易处理限速信息,确定目标合约优先级在限速周期内的交易处理量上限。

步骤508:背书节点根据目标合约优先级在限速周期内的交易处理量上限,周期性地从目标合约优先级对应的交易数据处理队列中获取交易提案等交易数据,对获得的交易提案等交易数据进行检查和背书,得到背书结果并签名。

步骤509:背书节点将背书结果和签名等信息携带在交易背书响应中返回至客户端节点。

步骤510:客户端节点对各个背书节点返回的交易背书响应中的背书结果和签名等信息进行检查。

步骤511:客户端节点确定有效的背书结果和签名的数量达到设定数量时,向排序节点发送交易排序请求,其中,交易排序请求中至少携带有交易结果等交易数据、智能合约的合约标识、背书结果和签名等。

步骤512:排序节点从交易排序请求中获取交易结果等交易数据、智能合约的合约标识、背书结果和签名等。

步骤513:排序节点根据该智能合约的合约标识,确定该智能合约的合约优先级为目标合约优先级。

步骤514:排序节点将交易结果、背书结果和签名等交易数据存储至目标合约优先级对应的交易数据处理队列。

步骤515:排序节点检查目标合约优先级是否不低于优先级阈值,若是,则执行步骤517;若否,则执行步骤516。

步骤516:排序节点在确定不低于优先级阈值的各个合约优先级对应的交易数据处理队列均为空时,对目标合约优先级对应的交易数据处理队列中的交易数据进行处理。

步骤517:排序节点获取该目标合约优先级对应的交易处理限速信息,并根据该交易处理限速信息,确定目标合约优先级在限速周期内的交易处理量上限。

步骤518:排序节点根据目标合约优先级在限速周期内的交易处理量上限,周期性地从目标合约优先级对应的交易数据处理队列中获取交易数据,并多获得的交易数据进行全局排序及打包区块。

步骤519:排序节点将生成的区块广播给记账节点和背书节点。

步骤520:记账节点对排序节点广播的区块进行背书策略验证、读写集验证等各项验证,并将验证通过的区块提交到区块链中。

基于上述实施例,本申请实施例提供了一种应用于区块链系统中的服务端节点的交易数据处理装置,参阅图6所示,本申请实施例提供的交易数据处理600至少包括:

获取模块601,用于获取待处理的交易数据和交易数据对应的智能合约的合约标识;

确定模块602,用于根据智能合约的合约标识,确定智能合约的合约优先级为目标合约优先级;

存储模块603,用于将交易数据存储至目标合约优先级对应的交易数据处理队列;

限速模块604,用于获取目标合约优先级对应的交易处理限速信息,并根据交易处理限速信息,对交易数据处理队列中的交易数据进行处理,其中,交易处理限速信息包含限速周期内的交易处理量上限。

在一种可能的实施方式中,在获取待处理的交易数据和交易数据对应的智能合约的合约标识时,获取模块601具体用于:

若服务端节点为背书节点,则从接收到的交易背书请求中获取待处理的交易数据和交易数据对应的智能合约的合约标识;

若服务端节点为排序节点,则从接收到的交易排序请求中获取待处理的交易数据和交易数据对应的智能合约的合约标识。

在一种可能的实施方式中,本申请实施例提供的交易数据处理装置还包括:

检查模块605,用于在限速模块604获取目标合约优先级对应的交易处理限速信息之前,对目标合约优先级进行阈值检测,并确定目标合约优先级不低于优先级阈值。

在一种可能的实施方式中,限速模块604还用于:

若检查模块605确定目标合约优先级低于优先级阈值,则确定不低于优先级阈值的各个合约优先级对应的交易数据处理队列为空时,对目标合约优先级对应的交易数据处理队列中的交易数据进行处理。

在一种可能的实施方式中,在对目标合约优先级对应的交易数据处理队列中的交易数据进行处理时,限速模块604还用于:

确定不低于优先级阈值的任一合约优先级对应的交易数据处理队列不为空时,暂停对目标合约优先级对应的交易数据处理队列中交易数据的处理,并根据任一合约优先级对应的交易处理限速信息,对任一合约优先级对应的交易数据处理队列中的交易数据进行处理。

在一种可能的实施方式中,在根据交易处理限速信息,对交易数据处理队列中的交易数据进行处理时,限速模块604具体用于:

根据交易处理限速信息,确定目标合约优先级对应的交易处理量上限;

确定当前限速周期内目标合约优先级对应的当前交易处理量未超出交易处理量上限时,从交易数据处理队列中获取交易数据进行处理。

在一种可能的实施方式中,限速模块604还用于:

若确定当前限速周期内目标合约优先级对应的当前交易处理量超出交易处理量上限,则在下一个限速周期到来时,从交易数据处理队列中获取交易数据进行处理。

需要说明的是,本申请实施例提供的交易数据处理装置600解决技术问题的原理与本申请实施例提供的交易数据处理方法相似,因此,本申请实施例提供的交易数据处理装置600的实施可以参见本申请实施例提供的交易数据处理方法的实施,重复之处不再赘述。

在介绍了本申请实施例提供的交易数据处理方法和装置之后,接下来,对本申请实施例提供的交易数据处理设备进行简单介绍。

本申请实施例提供的交易数据处理设备700可以是但不限于是服务器、用户终端等计算设备,参阅图7所示,本申请实施例提供的交易数据处理设备700至少包括:处理器701、存储器702和存储在存储器702上并可在处理器701上运行的计算机程序,处理器701执行计算机程序时实现本申请实施例提供的交易数据处理方法。

需要说明的是,如图7所示的交易数据处理设备700仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

本申请实施例提供的交易数据处理设备700还可以包括连接不同组件(包括处理器701和存储器702)的总线703。其中,总线703表示几类总线结构中的一种或多种,包括存储器总线、外围总线、局域总线等。

存储器702可以包括易失性存储器形式的可读介质,例如随机存储器(randomaccessmemory,ram)7021和/或高速缓存存储器7022,还可以进一步包括只读存储器(readonlymemory,rom)7023。

存储器702还可以包括具有一组(至少一个)程序模块7024的程序工具7025,程序模块7024包括但不限于:操作子系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

交易数据处理设备700也可以与一个或多个外部设备704(例如键盘、遥控器等)通信,还可以与一个或者多个使得用户能与交易数据处理设备700交互的设备通信(例如手机、电脑等),和/或,与使得交易数据处理设备700与一个或多个其它交易数据处理设备700进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入/输出(input/output,i/o)接口705进行。并且,交易数据处理设备700还可以通过网络适配器706与一个或者多个网络(例如局域网(localareanetwork,lan),广域网(wideareanetwork,wan)和/或公共网络,例如因特网)通信。如图7所示,网络适配器706通过总线703与交易数据处理设备700的其它模块通信。应当理解,尽管图7中未示出,可以结合交易数据处理设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、磁盘阵列(redundantarraysofindependentdisks,raid)子系统、磁带驱动器以及数据备份存储子系统等。

下面对本申请实施例提供的计算机可读存储介质进行介绍。本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,计算机指令被处理器执行时实现本申请实施例提供的交易数据处理方法。具体地,该可执行程序可以内置或者安装在交易数据处理设备700中,这样,交易数据处理设备700就可以通过执行内置或者安装的可执行程序实现本申请实施例提供的交易数据处理方法。

此外,本申请实施例提供的交易数据处理方法还可以实现为一种程序产品,该程序产品包括程序代码,当该程序产品可以在交易数据处理设备700上运行时,该程序代码用于使交易数据处理设备700执行本申请实施例提供的交易数据处理方法。

本申请实施例提供的程序产品可以采用一个或多个可读介质的任意组合,其中,可读介质可以是可读信号介质或者可读存储介质,而可读存储介质可以是但不限于是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合,具体地,可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、ram、rom、可擦式可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、光纤、便携式紧凑盘只读存储器(compactdiscread-onlymemory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

本申请实施例提供的程序产品可以采用cd-rom并包括程序代码,还可以在计算设备上运行。然而,本申请实施例提供的程序产品不限于此,在本申请实施例中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。

此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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