一种数据处理方法、装置及计算机存储介质转让专利

申请号 : CN201911276968.6

文献号 : CN110717761B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李茂材朱耿良杨常青刘区城蓝虎刘攀周开班时一防王宗友张劲松黄焕坤孔利

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明实施例提供了一种数据处理方法、装置及计算机存储介质,其中方法包括:当接收到目标用户账号提交的交易时,获取目标用户账号的账号等级和该目标用户账号在预设时长内提交的交易的特征信息,如果账号等级不是限制等级且特征信息满足预警条件,则将目标用户账号的账号等级更新为限制等级,从多种交易池类型中确定出与账号等级匹配的目标交易池类型,多种交易池类型包括优先池、普通池和限制池中的一种或多种,并将交易添加到目标交易池类型对应的交易池中,以供交易池对该交易进行处理,从而可以对用户账号的账号等级进行有效控制,使得用户账号的交易进入相应的交易池中进行处理,实现了对交易的差异化处理。

权利要求 :

1.一种数据处理方法,其特征在于,应用于区块链网络的节点,所述方法包括:当接收到目标用户账号提交的交易时,获取所述目标用户账号的账号等级和所述目标用户账号在预设时长内提交的交易的特征信息,所述特征信息包括无效交易的数量和/或发送交易的速度;

若所述目标用户账号的账号等级不是限制等级且所述特征信息满足预警条件,则将所述目标用户账号的账号等级更新为限制等级;

从多种交易池类型中确定出与所述目标用户账号的账号等级匹配的目标交易池类型,其中,所述多种交易池类型包括优先池、普通池和限制池中的一种或多种,并且所述优先池配置成以比所述普通池更快的速度处理交易,所述限制池配置成与所述限制等级匹配并且以比所述优先池和所述普通池更慢的速度处理交易;

将所述交易添加到所述目标交易池类型对应的交易池中,以供所述交易池对所述交易进行处理。

2.根据权利要求1所述的方法,其特征在于,所述当接收到目标用户账号提交的交易时,获取所述目标用户账号在预设时长内提交的交易的特征信息,包括:当接收到目标用户账号提交的交易时,检测所述交易是否是无效交易,并且当所述交易是无效交易时更新无效交易的数量;和/或当接收到目标用户账号提交的交易时,统计在预设时长内收到的交易的数量,并且更新发送交易的速度。

3.根据权利要求1或2所述的方法,其特征在于,所述若所述目标用户账号的账号等级不是限制等级且所述特征信息满足预警条件,则将所述目标用户账号的账号等级更新为限制等级包括:将所述特征信息与预设数量阈值和/或预设速度阈值进行比较;

若所述特征信息包括的无效交易的数量达到预设数量阈值,和/或,所述特征信息包括的发送交易的速度达到预设速度阈值,则确定所述特征信息满足预警条件。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

获取针对所述目标用户账号提交的账号升级请求,所述账号升级请求包括优先等级;

在检测到针对所述账号升级请求完成付费后,将所述目标用户账号的账号等级更新为优先等级;

将所述目标用户账号的账号标识和所述目标用户账号的账号等级写入区块链的智能合约中。

5.根据权利要求1或4所述的方法,其特征在于,所述当接收到目标用户账号提交的交易时,获取所述目标用户账号的账号等级,包括:当接收到目标用户账号提交的交易时,获取所述目标用户账号的账号标识;

根据所述目标用户账号的账号标识从区块链的智能合约中查询所述目标用户账号的账号等级。

6.根据权利要求1所述的方法,其特征在于,所述将所述交易添加到所述目标交易池类型对应的交易池中之后,所述方法还包括:若所述交易池为优先池,则以第一广播速度向所述区块链网络中的其他节点广播所述交易;

若所述交易池为限制池,则根据令牌数量对所述目标用户账号提交的交易进行阻塞,并以第二广播速度向所述区块链网络中的其他节点广播所述交易;

若所述交易池为普通池,则以第三广播速度向所述区块链网络中的其他节点广播所述交易,其中,所述第一广播速度大于所述第三广播速度,并且所述第三广播速度大于所述第二广播速度。

7.根据权利要求1所述的方法,其特征在于,所述将所述交易添加到所述目标交易池类型对应的交易池中之后,所述方法还包括:若所述交易池为优先池,则向所述区块链网络中第一数量的其他节点发送所述交易;

若所述交易池为限制池,则根据令牌数量对所述目标用户账号提交的交易进行阻塞,并向所述区块链网络中第二数量的其他节点发送所述交易;

若所述交易池为普通池,则向所述区块链网络中第三数量的其他节点发送所述交易,其中,所述第一数量大于所述第三数量,并且所述第三数量大于所述第二数量。

8.一种数据处理装置,其特征在于,应用于区块链网络的节点,所述装置包括:获取模块,用于当接收到目标用户账号提交的交易时,获取所述目标用户账号的账号等级和所述目标用户账号在预设时长内提交的交易的特征信息,所述特征信息包括无效交易的数量和/或发送交易的速度;

更新模块,用于若所述目标用户账号的账号等级不是限制等级且所述特征信息满足预警条件,则将所述目标用户账号的账号等级更新为限制等级;

确定模块,用于从多种交易池类型中确定出与所述目标用户账号的账号等级匹配的目标交易池类型,其中,所述多种交易池类型包括优先池、普通池和限制池中的一种或多种,并且所述优先池配置成以比所述普通池更快的速度处理交易,所述限制池配置成与所述限制等级匹配并且以比所述优先池和所述普通池更慢的速度处理交易;

处理模块,用于将所述交易添加到所述目标交易池类型对应的交易池中,以供所述交易池对所述交易进行处理。

9.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有程序指令,所述程序指令被执行时,用于实现权利要求1 7中任一项所述的数据处理方法。

~

说明书 :

一种数据处理方法、装置及计算机存储介质

技术领域

[0001] 本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置及计算机存储介质。

背景技术

[0002] 目前,区块链网络的节点收到用户账号提交的交易后,直接将交易放入交易池中等待处理。但如果有些用户账号的交易希望被更快地广播出去,更快地被处理,而有些用户账号的交易中可能存在较多无效交易,处理这些无效交易会浪费区块链网络的大量资源,导致交易处理的策略难以体现差异性,不够灵活,不利于区块链网络的健康、高效运行。

发明内容

[0003] 本发明实施例提供一种数据处理方法、装置及计算机存储介质,可以对用户账号的账号等级进行有效控制,使得用户账号的交易进入相应的交易池中进行处理,实现了对交易的差异化处理,有利于区块链网络的健康、高效运行。
[0004] 第一方面,本发明实施例提供了一种数据处理方法,应用于区块链网络的节点,所述方法包括:
[0005] 当接收到目标用户账号提交的交易时,获取所述目标用户账号的账号等级和所述目标用户账号在预设时长内提交的交易的特征信息;
[0006] 若所述目标用户账号的账号等级不是限制等级且所述特征信息满足预警条件,则将所述目标用户账号的账号等级更新为限制等级;
[0007] 从多种交易池类型中确定出与所述目标用户账号的账号等级匹配的目标交易池类型,其中,所述多种交易池类型包括优先池、普通池和限制池中的一种或多种,并且所述优先池配置成以比所述普通池更快的速度处理交易,所述限制池配置成与所述限制等级匹配并且以比所述优先池和所述普通池更慢的速度处理交易;
[0008] 将所述交易添加到所述目标交易池类型对应的交易池中,以供所述交易池对所述交易进行处理。
[0009] 第二方面,本发明实施例提供了一种数据处理装置,应用于区块链网络的节点,所述装置包括:
[0010] 获取模块,用于当接收到目标用户账号提交的交易时,获取所述目标用户账号的账号等级和所述目标用户账号在预设时长内提交的交易的特征信息;
[0011] 更新模块,用于若所述目标用户账号的账号等级不是限制等级且所述特征信息满足预警条件,则将所述目标用户账号的账号等级更新为限制等级;
[0012] 确定模块,用于从多种交易池类型中确定出与所述目标用户账号的账号等级匹配的目标交易池类型,其中,所述多种交易池类型包括优先池、普通池和限制池中的一种或多种,并且所述优先池配置成以比所述普通池更快的速度处理交易,所述限制池配置成与所述限制等级匹配并且以比所述优先池和所述普通池更慢的速度处理交易;
[0013] 处理模块,用于将所述交易添加到所述目标交易池类型对应的交易池中,以供所述交易池对所述交易进行处理。
[0014] 第三方面,本发明实施例提供了一种节点设备,应用于区块链网络,所述节点设备包括处理器、网络接口和存储装置,所述处理器、所述网络接口和所述存储装置相互连接,其中,所述网络接口受所述处理器的控制用于收发数据,所述存储装置用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,用于执行第一方面所述的数据处理方法。
[0015] 第四方面,本发明实施例提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,该程序指令被执行时,用于实现第一方面所述的数据处理方法。
[0016] 本发明实施例可以当接收到目标用户账号提交的交易时,获取目标用户账号的账号等级和该目标用户账号在预设时长内提交的交易的特征信息,如果账号等级不是限制等级且特征信息满足预警条件,则将目标用户账号的账号等级更新为限制等级,从多种交易池类型中确定出与账号等级匹配的目标交易池类型,多种交易池类型包括优先池、普通池和限制池中的一种或多种,并且优先池配置成以比普通池更快的速度处理交易,限制池配置成与所述限制等级匹配并且以比优先池和普通池更慢的速度处理交易,进而将交易添加到目标交易池类型对应的交易池中,以供交易池对该交易进行处理,从而可以对用户账号的账号等级进行有效控制,使得用户账号的交易进入相应的交易池中进行处理,实现了对交易的差异化处理,并且可以识别和处理异常账户的交易,有利于区块链网络的健康、高效运行。

附图说明

[0017] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018] 图1a是本发明实施例提供的一种数据处理系统的架构示意图;
[0019] 图1b是本发明实施例提供的一种区块链的结构示意图;
[0020] 图1c是本发明实施例提供的一种产生新区块的过程示意图;
[0021] 图2是本发明实施例提供的一种数据处理方法的流程示意图;
[0022] 图3是本发明实施例提供的另一种数据处理方法的流程示意图;
[0023] 图4是本发明实施例提供的一种数据处理装置的结构示意图;
[0024] 图5是本发明实施例提供的一种节点设备的结构示意图。

具体实施方式

[0025] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026] 针对目前对交易处理的策略难以体现差异性,不够灵活,区块链资源利用率不高等问题,本发明实施例提供了一种数据处理方法,可以对用户账号的账号等级进行有效控制,使得用户账号的交易进入相应的交易池中进行处理,实现了对交易的差异化处理,有利于区块链网络的健康、高效运行。
[0027] 请参见图1a,是本发明实施例提供的一种数据处理系统的架构示意图,该数据处理系统包括区块链网络10和终端设备20,其中:
[0028] 区块链网络10是指用于进行节点与节点之间数据共享的网络,区块链网络中可以包括多个节点101。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护区块链网络内的共享数据(即区块链)。为了保证区块链网络内的信息互通,每个节点之间可以存在信息连接,任意两个节点之间可以实现点对点(Peer To Peer,P2P)通信,具体可以通过有线通信链路或无线通信链路进行P2P通信。例如,当区块链网络中的任意节点接收到输入信息时,其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链网络中全部节点上存储的数据均一致。
[0029] 终端设备20可以接入该区块链网络,并可以与区块链网络中的节点进行通信,例如,向节点提交待上链的交易,从节点获取数据,等等。其中,终端设备20具体可以是智能手机、平板电脑、笔记本电脑、台式电脑、车载智能终端等,本发明实施例不做限定。
[0030] 需要说明的是,图1a中所示的节点的数目仅仅是示意性的,根据实际需要,可以部署任意数目的节点。
[0031] 其中,对于区块链网络中的每个节点,均具有与其对应的节点标识,而且区块链网络中的每个节点均可以存储有区块链网络中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至区块链网络中的其他节点。每个节点中可维护节点名称和节点标识之间的对应关系,其中,节点标识可为互联网协议(Internet Protocol,IP)地址以及其他任一种能够用于标识该节点的信息,以下以IP地址为例进行说明。节点名称:节点1,节点标识:117.114.151.174;节点名称:节点2,节点标识:117.116.189.145;……;节点名称:节点N,节点标识:119.123.789.258。
[0032] 其中,区块链网络中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图1b,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
[0033] 其中,在生成区块链中的各个区块时,参见图1c,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
[0034] SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))
[0036] 这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据区块链网络中其他节点的节点标识,将新生成的区块分别发送给其所在的区块链网络中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
[0037] 其中,区块链网络的节点上可以运行智能合约,智能合约是用于在满足一定条件时而执行的代码实现,开发人员可以通过编程语言定义合约逻辑,发布到区块链上(智能合约注册),根据合约条款的逻辑,调用密钥或者其他的事件触发执行,完成合约逻辑,同时还提供对智能合约升级、注销的功能。
[0038] 在一些可行的实施方式中,区块链网络的某一节点101可以当接收到目标用户账号通过终端设备20提交的交易时,获取目标用户账号的账号等级和目标用户账号在预设时长内提交的交易的特征信息,如果账号等级不是限制等级且特征信息满足预警条件,则将目标用户账号的账号等级更新为限制等级,并从多种交易池类型中确定出与该目标用户账号的账号等级匹配的目标交易池类型,多种交易池类型包括优先池、普通池和限制池中的一种或多种,并且优先池配置成以比普通池更快的速度处理交易,限制池配置成与所述限制等级匹配并且以比优先池和普通池更慢的速度处理交易,进而将交易添加到目标交易池类型对应的交易池中,以供交易池对该交易进行处理,从而可以对用户账号的账号等级进行有效控制,使得用户账号的交易进入相应的交易池中进行处理,实现了对交易的差异化处理,有利于区块链网络的健康、高效运行。
[0039] 以下对本发明实施例的技术方案的实现细节进行详细阐述:
[0040] 请参见图2,是本发明实施例基于图1a所示的数据处理系统提供的一种数据处理方法的流程示意图,本发明实施例的数据处理方法主要是从节点一侧进行描述的,该数据处理方法应用于区块链网络的节点,该数据处理方法包括如下步骤:
[0041] 201、当接收到目标用户账号提交的交易时,节点获取所述目标用户账号的账号等级和所述目标用户账号在预设时长内提交的交易的特征信息。
[0042] 其中,目标用户账号可以是用户在区块链上注册的账号,用户可以在终端设备上登录该目标用户账号,并通过终端设备向区块链网络的节点发送该目标用户账号的交易。特征信息可以包括无效交易的数量和/或发送交易的速度。
[0043] 其中,一个用户账号的账号等级具体可以划分为三个等级,即:优先等级、普通等级和限制等级。当然,也可以根据实际需求将账号等级划分成两个等级或者三个以上等级,本发明实施例不做限定。
[0044] 具体的,区块链网络的节点在接收到用户通过终端设备提交的目标用户账号的交易时,获取该目标用户账号的账号等级,并可以从交易是否是无效交易或者发送交易的快慢等维度来定义目标用户账号在预设时长(例如1个小时)内提交的交易的特征信息。
[0045] 202、若所述目标用户账号的账号等级不是限制等级且所述特征信息满足预警条件,则所述节点将所述目标用户账号的账号等级更新为限制等级。
[0046] 其中,预警条件用来评价一个用户账号是否存在异常,如果一个用户账号在预设时长内提交的交易的特征信息满足该预警条件,则表明该用户账号存在异常,需对其账号等级进行限制。
[0047] 具体的,如果目标用户账号的账号等级当前不是限制等级,并且目标用户账号对应的特征信息满足上述预警条件,则节点可以判定该目标用户账号存在异常,并可以将目标用户账号的账号等级更新为限制等级,即对用户账号的账号等级进行降级处理。例如,目标用户账号的账号等级当前是优先等级或者普通等级,则节点在目标用户账号的账号等级对应的特征信息满足预警条件时,可以直接将目标用户账号的账号等级从优先等级或者普通等级降级为限制等级。
[0048] 203、所述节点从多种交易池类型中确定出与所述目标用户账号的账号等级匹配的目标交易池类型,其中,所述多种交易池类型包括优先池、普通池和限制池中的一种或多种,并且所述优先池配置成以比所述普通池更快的速度处理交易,所述限制池配置成与所述限制等级匹配并且以比所述优先池和所述普通池更慢的速度处理交易。
[0049] 其中,本发明实施例中的交易池可以分为多种类型,包括优先池、普通池和限制池等,并为不同的账号等级匹配不同的交易池类型,例如,优先等级的用户账号可以匹配优先池这一交易池类型,普通等级的用户账号可以匹配普通池这一交易池类型,限制等级的用户账号可以匹配限制池这一交易池类型。
[0050] 其中,不同交易池类型的交易池中的交易对应着不同的处理策略,例如优先池可配置成以比普通池更快的速度处理交易,限制池可配置成以比优先池和普通池都更慢的速度处理交易。例如,优先池可配置成使用比普通池和限制池更快的广播速度向区块链网络中的其他节点广播交易,和/或使用比普通池和限制池更多的节点来处理交易。而限制池可配置成使用比普通池和优先池更慢的广播速度向区块链网络中的其他节点广播交易,和/或使用比普通池和优先池更少的节点来处理交易,和/或根据令牌数量对提交的交易进行阻塞。
[0051] 具体的,节点确定目标用户账号的账号等级后,可以从定义的多种交易池类型中确定出与该目标用户账号的账号等级匹配的目标交易池类型。
[0052] 204、所述节点将所述交易添加到所述目标交易池类型对应的交易池中,以供所述交易池对所述交易进行处理。
[0053] 具体的,节点可以确定目标交易池类型对应的交易池,并将交易添加到该交易池中,从而该交易池可以对该交易进行相应的处理。例如,目标交易池类型为限制池,则节点可以将该目标用户账号的交易添加到限制池中。
[0054] 本发明实施例中,节点可以当接收到目标用户账号提交的交易时,获取目标用户账号的账号等级和该目标用户账号在预设时长内提交的交易的特征信息,如果账号等级不是限制等级且特征信息满足预警条件,则将目标用户账号的账号等级更新为限制等级,从多种交易池类型中确定出与账号等级匹配的目标交易池类型,多种交易池类型包括优先池、普通池和限制池中的一种或多种,并且优先池配置成以比普通池更快的速度处理交易,限制池配置成与所述限制等级匹配并且以比优先池和普通池更慢的速度处理交易,进而将交易添加到目标交易池类型对应的交易池中,以供交易池对该交易进行处理,从而可以对用户账号的账号等级进行有效控制,使得用户账号的交易进入相应的交易池中进行处理,通过建立对满足预警条件的用户账号进行降级处理的机制实现对用户账号的惩罚,从而实现了对用户账号对应的交易的差异化处理,有利于区块链网络的健康、高效运行。
[0055] 请参见图3,是本发明实施例基于图1a所示的数据处理系统提供的又一种数据处理方法的流程示意图,本发明实施例的数据处理方法主要是从节点一侧进行描述的,该数据处理方法包括如下步骤:
[0056] 301、当接收到目标用户账号提交的交易时,节点获取所述目标用户账号的账号等级和所述目标用户账号在预设时长内提交的交易的特征信息。
[0057] 其中,特征信息包括无效交易的数量和/或发送交易的速度。
[0058] 具体的,用户账号的账号等级具体可以存储在区块链的智能合约中,通过智能合约的方式可以使得用户账号的账号等级在全网范围内生效,各个节点之间维护的用户账号的账号等级都是同步更新的。当接收到目标用户账号提交的交易时,节点可以获取目标用户账号的账号标识,根据目标用户账号的账号标识从区块链的智能合约中即可查询到该目标用户账号的账号等级,并且可以检测该交易是否是无效交易(例如重复交易等),并且当交易是无效交易时更新无效交易的数量,和/或,统计在预设时长内收到的交易的数量,并且更新发送交易的速度,从而得到最新的该目标用户账号在预设时长内提交的交易的特征信息。
[0059] 302、所述节点将所述特征信息与预设数量阈值和/或预设速度阈值进行比较,若所述特征信息包括的无效交易的数量达到预设数量阈值,和/或,所述特征信息包括的发送交易的速度达到预设速度阈值,则确定所述特征信息满足预警条件。
[0060] 其中,预警条件用来评价一个用户账号是否存在异常,如果一个用户账号在预设时长内提交的交易的特征信息满足该预警条件,则表明该用户账号存在异常,需对其账号等级进行限制。预警条件包括无效交易的数量达到预设数量阈值,和/或,发送交易的速度达到预设速度阈值。
[0061] 具体的,节点将特征信息与预设数量阈值和/或预设速度阈值进行比较,如果无效交易的数量达到预设数量阈值,和/或,发送交易的速度达到预设速度阈值,则确定目标用户账号对应的特征信息满足预警条件,即表明该目标用户账号存在异常,需对其账号等级进行限制。
[0062] 303、若所述目标用户账号的账号等级不是限制等级且所述特征信息满足预警条件,则所述节点将所述目标用户账号的账号等级更新为限制等级。
[0063] 具体的,如果目标用户账号的账号等级当前不是限制等级,并且目标用户账号对应的特征信息满足上述预警条件,则节点可以判定该目标用户账号存在异常,并可以将目标用户账号的账号等级更新为限制等级,即对目标用户账号的账号等级进行降级处理,实现对目标用户账号的惩罚。
[0064] 在一些可行的实施方式中,当接收到目标用户账号提交的交易时,节点可以先获取目标用户账号的账号等级,如果目标用户账号的账号等级不是限制等级,则才需要进一步获取目标用户账号在预设时长内提交的交易的特征信息,并将特征信息与预设数量阈值和/或预设速度阈值进行比较以判断特征信息是否满足预警条件;如果目标用户账号的账号等级是限制等级,则可以不进一步获取目标用户账号在预设时长内提交的交易的特征信息,并判断特征信息是否满足预警条件,以减少节点的数据处理负担。
[0065] 在一些可行的实施方式中,节点将目标用户账号的账号等级更新为限制等级之后,可以将目标用户账号的账号标识和目标用户账号的账号等级(即限制等级)写入区块链的智能合约中,以便于该节点或者区块链网络中的其他节点在后续接收到该目标用户账号提交的交易时,可以从区块链的智能合约获取该目标用户账号最新的账号等级。
[0066] 304、所述节点从多种交易池类型中确定出与所述目标用户账号的账号等级匹配的目标交易池类型,其中,所述多种交易池类型包括优先池、普通池和限制池中的一种或多种,并且所述优先池配置成以比所述普通池更快的速度处理交易,所述限制池配置成与所述限制等级匹配并且以比所述优先池和所述普通池更慢的速度处理交易。
[0067] 305、所述节点将所述交易添加到所述目标交易池类型对应的交易池中,以供所述交易池对所述交易进行处理。
[0068] 其中,不同交易池类型的交易池中的交易对应着不同的处理策略,例如优先池配置成以比普通池更快的速度处理交易,限制池配置成以比优先池和普通池都更慢的速度处理交易,意味着在优先池、普通池和限制池这三种类型的交易池中,进入优先池的交易会以最快的速度进行处理,进入限制池的交易会以最慢的速度进行处理,进入普通池的交易会以介于优先池和限制池之间的的速度进行处理。
[0069] 306、若所述交易池为优先池,则所述节点以第一广播速度向所述区块链网络中的其他节点广播所述交易。
[0070] 307、若所述交易池为限制池,则所述节点根据令牌数量对所述目标用户账号提交的交易进行阻塞,并以第二广播速度向所述区块链网络中的其他节点广播所述交易。
[0071] 308、若所述交易池为普通池,则所述节点以第三广播速度向所述区块链网络中的其他节点广播所述交易,其中,所述第一广播速度大于所述第三广播速度,并且所述第三广播速度大于所述第二广播速度。
[0072] 具体的,节点将交易添加到目标交易池类型对应的交易池之后,可以按照交易池相对应的处理策略对该交易进行处理,处理策略可以是指向区块链网络中的其他节点广播该交易的速度,即:如果目标交易池类型对应的交易池为优先池,则节点可以以第一广播速度向区块链网络中的其他节点广播该交易;如果目标交易池类型对应的交易池为限制池,则节点一方面可以根据令牌数量对目标用户账号后续提交的交易进行阻塞,另一方面会以第二广播速度向区块链网络中的其他节点广播限制池中的交易;如果目标交易池类型对应的交易池为普通池,则节点可以以第三广播速度向区块链网络中的其他节点广播该交易,其中,第一广播速度大于第三广播速度,并且第三广播速度大于第二广播速度,从而可以使得优先池中的交易更快地被广播出去,普通池中的交易以慢于优先池的速度被广播出去,限制池中的交易以相对优先池和普通池都更慢的速度被广播出去。例如,第一广播速度为每秒广播5个交易,第二广播速度为每秒广播1个交易,第三广播速度可以是设置的默认广播速度,例如每秒广播3个交易。
[0073] 需要说明的是,第一广播速度、第二广播速度、第三广播速度的具体数值可以根据实际需求、节点的硬件性能、当前的负载情况等因素进行设置,本发明实施例不做限定。
[0074] 在一些可行的实施方式中,上述处理策略还可以是指处理该交易的节点数量不同,即:如果目标交易池类型对应的交易池为优先池,则节点向区块链网络中第一数量的其他节点发送该交易;如果目标交易池类型对应的交易池为限制池,则节点一方面可以根据令牌数量对目标用户账号后续提交的交易进行阻塞,另一方面会向区块链网络中第二数量的其他节点发送已添加到限制池的交易;如果目标交易池类型对应的交易池为普通池,则节点向区块链网络中第三数量的其他节点发送该交易,其中,第一数量大于第三数量,并且第三数量大于第二数量,从而可以使得优先池中的交易被较多的节点接收并处理,普通池中的交易被数量居中的节点接收并处理,而限制池中的交易被数量相对优先池和普通池都较少的节点接收并处理。例如,第一数量为全部节点的80%,第二数量为全部节点的50%,第三数量可以是设置的默认数量,例如为全部节点的65%。当然,第一数量、第二数量、第三数量也可以是具体的数值,例如,第一数量为10,第二数量为5,第三数量为7。
[0075] 需要说明的是,第一数量、第二数量、第三数量的具体数值可以根据实际需求、节点的总数等因素进行设置,本发明实施例不做限定。
[0076] 在一些可行的实施方式中,上述处理策略还可以是指广播交易的延迟时间不同,即:如果目标交易池类型对应的交易池为优先池,则节点可以不加任何延迟直接向区块链网络中的其他节点广播该交易;如果目标交易池类型对应的交易池为限制池,则节点可以在延迟第一时长后向区块链网络中的其他节点广播限制池中的交易;如果目标交易池类型对应的交易池为普通池,则节点可以在延迟第二时长后向区块链网络中的其他节点广播该交易,其中,第一时长大于第二时长,例如第一时长为3秒,第二时长为1秒,从而可以使得优先池中的交易较早被广播出去,限制池中的交易相对优先池和普通池都较晚被广播出去。
[0077] 在一些可行的实施方式中,可以允许用户通过付费的方式来更新用户账号的账号等级。具体的,节点可以获取针对目标用户账号提交的账号升级请求,账号升级请求包括优先等级,并根据优先等级对应的收费标准向对应的终端设备发送支付链接,用户可以通过支付链上资产(例如虚拟币)完成支付,或者通过银行系统等支付平台完成支付,节点在检测到针对账号升级请求完成付费后,将目标用户账号的账号等级更新为优先等级,并将目标用户账号的账号标识和目标用户账号的账号等级(即优先等级)写入区块链的智能合约中。
[0078] 本发明实施例中,节点可以当接收到目标用户账号的交易时,获取目标用户账号的账号等级和目标用户账号在预设时长内提交的交易的特征信息,并将特征信息与预设数量阈值和/或预设速度阈值进行比较,如果无效交易的数量达到预设数量阈值,和/或,发送交易的速度达到预设速度阈值,则确定目标用户账号对应的特征信息满足预警条件,可以将目标用户账号的账号等级更新为限制等级,以对用户账号的账号等级进行降级处理,然后可以从多种交易池类型中确定出与该目标用户账号的账号等级匹配的目标交易池类型,将该交易添加到目标交易池类型对应的交易池中,并且如果目标交易池类型对应的交易池为优先池,则可以以较快的广播速度向区块链网络中的其他节点广播该交易,如果目标交易池类型对应的交易池为普通池,则可以以相对优先池较慢的广播速度向区块链网络中的其他节点广播该交易,如果目标交易池类型对应的交易池为限制池,则可以根据令牌数量对目标用户账号提交的交易进行阻塞,并可以以相对优先池和普通池都较慢的广播速度向区块链网络中的其他节点广播该交易,从而可以对用户账号的账号等级进行有效控制,使得用户账号的交易进入相应的交易池中进行处理,通过建立对满足预警条件的用户账号进行降级处理的机制实现对用户账号的惩罚,从而实现了对交易的差异化处理,有利于区块链网络的健康、高效运行。
[0079] 请参见图4,是本发明实施例的一种数据处理装置的结构示意图,本发明实施例的所述数据处理装置应用于区块链网络的节点,所述装置包括:
[0080] 获取模块401,用于当接收到目标用户账号提交的交易时,获取所述目标用户账号的账号等级和所述目标用户账号在预设时长内提交的交易的特征信息;
[0081] 更新模块402,用于若所述目标用户账号的账号等级不是限制等级且所述特征信息满足预警条件,则将所述目标用户账号的账号等级更新为限制等级;
[0082] 确定模块403,用于从多种交易池类型中确定出与所述目标用户账号的账号等级匹配的目标交易池类型,其中,所述多种交易池类型包括优先池、普通池和限制池中的一种或多种,并且所述优先池配置成以比所述普通池更快的速度处理交易,所述限制池配置成与所述限制等级匹配并且以比所述优先池和所述普通池更慢的速度处理交易;
[0083] 处理模块404,用于将所述交易添加到所述目标交易池类型对应的交易池中,以供所述交易池对所述交易进行处理。
[0084] 可选的,所述特征信息包括无效交易的数量和/或发送交易的速度。
[0085] 可选的,所述获取模块401,具体用于:
[0086] 当接收到目标用户账号提交的交易时,检测所述交易是否是无效交易,并且当所述交易是无效交易时更新无效交易的数量;和/或
[0087] 当接收到目标用户账号提交的交易时,统计在预设时长内收到的交易的数量,并且更新发送交易的速度。
[0088] 可选的,所述确定模块403,还用于将所述特征信息与预设数量阈值和/或预设速度阈值进行比较,若所述特征信息包括的无效交易的数量达到预设数量阈值,和/或,所述特征信息包括的发送交易的速度达到预设速度阈值,则确定所述特征信息满足预警条件。
[0089] 可选的,所述获取模块401,还用于获取针对所述目标用户账号提交的账号升级请求,所述账号升级请求包括优先等级;
[0090] 所述更新模块402,还用于在检测到针对所述账号升级请求完成付费后,将所述目标用户账号的账号等级更新为优先等级;
[0091] 所述更新模块402,还用于将所述目标用户账号的账号标识和所述目标用户账号的账号等级写入区块链的智能合约中。
[0092] 可选的,所述获取模块401,具体用于:
[0093] 当接收到目标用户账号提交的交易时,获取所述目标用户账号的账号标识;
[0094] 根据所述目标用户账号的账号标识从区块链的智能合约中查询所述目标用户账号的账号等级。
[0095] 可选的,所述装置还包括通信模块405,其中:
[0096] 所述通信模块405,用于若所述交易池为优先池,则以第一广播速度向所述区块链网络中的其他节点广播所述交易;
[0097] 所述通信模块405,还用于若所述交易池为限制池,则根据令牌数量对所述目标用户账号提交的交易进行阻塞,并以第二广播速度向所述区块链网络中的其他节点广播所述交易;
[0098] 所述通信模块405,还用于若所述交易池为普通池,则以第三广播速度向所述区块链网络中的其他节点广播所述交易,其中,所述第一广播速度大于所述第三广播速度,并且所述第三广播速度大于所述第二广播速度。
[0099] 可选的,所述通信模块405,还用于若所述交易池为优先池,则向所述区块链网络中第一数量的其他节点发送所述交易;
[0100] 所述通信模块405,还用于若所述交易池为限制池,则根据令牌数量对所述目标用户账号提交的交易进行阻塞,并向所述区块链网络中第二数量的其他节点发送所述交易;
[0101] 所述通信模块405,还用于若所述交易池为普通池,则向所述区块链网络中第三数量的其他节点发送所述交易,其中,所述第一数量大于所述第三数量,并且所述第三数量大于所述第二数量。
[0102] 需要说明的是,本发明实施例的数据处理装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
[0103] 请参见图5,是本发明实施例的一种节点设备的结构示意图,本发明实施例的所述节点设备包括供电模块等结构,并包括处理器501、存储装置502以及网络接口503。所述处理器501、存储装置502以及网络接口503之间可以交互数据。
[0104] 所述存储装置502可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储装置502也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;所述存储装置502还可以包括上述种类的存储器的组合。
[0105] 所述处理器501可以是中央处理器501(central processing unit,CPU)。在一个实施例中,所述处理器501还可以是图形处理器501(Graphics Processing Unit,GPU)。所述处理器501也可以是由CPU和GPU的组合。在一个实施例中,所述存储装置502用于存储程序指令。所述处理器501可以调用所述程序指令,执行如下操作:
[0106] 当接收到目标用户账号提交的交易时,获取所述目标用户账号的账号等级和所述目标用户账号在预设时长内提交的交易的特征信息;
[0107] 若所述目标用户账号的账号等级不是限制等级且所述特征信息满足预警条件,则将所述目标用户账号的账号等级更新为限制等级;
[0108] 从多种交易池类型中确定出与所述目标用户账号的账号等级匹配的目标交易池类型,其中,所述多种交易池类型包括优先池、普通池和限制池中的一种或多种,并且所述优先池配置成以比所述普通池更快的速度处理交易,所述限制池配置成与所述限制等级匹配并且以比所述优先池和所述普通池更慢的速度处理交易;
[0109] 将所述交易添加到所述目标交易池类型对应的交易池中,以供所述交易池对所述交易进行处理。
[0110] 可选的,所述特征信息包括无效交易的数量和/或发送交易的速度。
[0111] 可选的,所述处理器501,具体用于:
[0112] 当接收到目标用户账号提交的交易时,检测所述交易是否是无效交易,并且当所述交易是无效交易时更新无效交易的数量;和/或
[0113] 当接收到目标用户账号提交的交易时,统计在预设时长内收到的交易的数量,并且更新发送交易的速度。
[0114] 可选的,所述处理器501,还用于将所述特征信息与预设数量阈值和/或预设速度阈值进行比较,若所述特征信息包括的无效交易的数量达到预设数量阈值,和/或,所述特征信息包括的发送交易的速度达到预设速度阈值,则确定所述特征信息满足预警条件。
[0115] 可选的,所述处理器501,还用于获取针对所述目标用户账号提交的账号升级请求,所述账号升级请求包括优先等级;
[0116] 所述处理器501,还用于在检测到针对所述账号升级请求完成付费后,将所述目标用户账号的账号等级更新为优先等级;
[0117] 所述处理器501,还用于将所述目标用户账号的账号标识和所述目标用户账号的账号等级写入区块链的智能合约中。
[0118] 可选的,所述处理器501,具体用于:
[0119] 当接收到目标用户账号提交的交易时,获取所述目标用户账号的账号标识;
[0120] 根据所述目标用户账号的账号标识从区块链的智能合约中查询所述目标用户账号的账号等级。
[0121] 可选的,所述处理器501,还用于若所述交易池为优先池,则以第一广播速度向所述区块链网络中的其他节点广播所述交易;
[0122] 所述处理器501,还用于若所述交易池为限制池,则根据令牌数量对所述目标用户账号提交的交易进行阻塞,并以第二广播速度向所述区块链网络中的其他节点广播所述交易;
[0123] 所述处理器501,还用于若所述交易池为普通池,则以第三广播速度向所述区块链网络中的其他节点广播所述交易,其中,所述第一广播速度大于所述第三广播速度,并且所述第三广播速度大于所述第二广播速度。
[0124] 可选的,所述处理器501,还用于若所述交易池为优先池,则向所述区块链网络中第一数量的其他节点发送所述交易;
[0125] 所述处理器501,还用于若所述交易池为限制池,则根据令牌数量对所述目标用户账号提交的交易进行阻塞,并向所述区块链网络中第二数量的其他节点发送所述交易;
[0126] 所述处理器501,还用于若所述交易池为普通池,则向所述区块链网络中第三数量的其他节点发送所述交易,其中,所述第一数量大于所述第三数量,并且所述第三数量大于所述第二数量。
[0127] 具体实现中,本发明实施例中所描述的处理器501、存储装置502以及网络接口503可执行本发明实施例图2或图3提供的一种数据处理方法的相关实施例中所描述的实现方式,也可执行本发明实施例图4提供的一种数据处理装置的相关实施例中所描述的实现方式,在此不再赘述。
[0128] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0129] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0130] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
[0131] 上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0132] 另外,在本发明各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0133] 上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本发明各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(英文:Read-Only Memory,缩写:ROM)或者随机存取存储器(英文:Random Access Memory,缩写:RAM)等各种可以存储程序代码的介质。
[0134] 以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。