CN110599136B - 区块链交易池流量管控方法以及装置 - Google Patents
区块链交易池流量管控方法以及装置 Download PDFInfo
- Publication number
- CN110599136B CN110599136B CN201910894520.4A CN201910894520A CN110599136B CN 110599136 B CN110599136 B CN 110599136B CN 201910894520 A CN201910894520 A CN 201910894520A CN 110599136 B CN110599136 B CN 110599136B
- Authority
- CN
- China
- Prior art keywords
- user
- transaction
- data
- flow
- pool
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请实施例提供了一种区块链交易池流量管控方法以及装置,该方法包括:获取区块链节点对应的用户集合,以及区块链节点对应的交易池的最大缓存容量;交易池用于缓存区块链节点接收到的交易数据,交易数据与用户集合中所包含的用户相关联;根据最大缓存容量与用户集合中的用户总数量,为用户集合中的每个用户分别配置与交易池相关联的流量阈值;当交易池中与目标用户相关联的交易数据的总流量大于或等于所属流量阈值时,停止将目标用户对应的待缓存交易数据添加至交易池;目标用户为用户集合中的任一用户。采用本申请实施例,可以提高交易池资源的利用率。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种区块链交易池流量管控方法以及装置。
背景技术
区块链网络中,区块链节点接收到交易数据后,可以将交易数据放入交易池中进行缓存,并对交易池中的部分交易数据进行打包生成区块。
现有技术中,对于区块链节点接收到的交易数据,可以根据接收到的时间将交易数据依次存入交易池,当交易池中缓存的交易数据达到交易池的最大容量时,该交易池拒绝添加新的交易数据。然而,若区块链网络中的某些区块链节点被同一用户攻击(即该用户可能为非法用户),则该交易池中缓存的交易数据可能均为该用户的交易数据,且可能为无效数据,即交易池的容量被该用户的无效交易数据所占用,进而导致交易池的资源利用率过低。
发明内容
本申请实施例提供一种区块链交易池流量管控方法以及装置,可以提高交易池资源的利用率。
本申请实施例一方面提供了一种区块链交易池流量管控方法,包括:
获取区块链节点对应的用户集合,以及所述区块链节点对应的交易池的最大缓存容量;所述交易池用于缓存所述区块链节点接收到的交易数据,所述交易数据与所述用户集合中所包含的用户相关联;
根据所述最大缓存容量与所述用户集合中的用户总数量,为所述用户集合中的每个用户分别配置与所述交易池相关联的流量阈值;
当所述交易池中与目标用户相关联的交易数据的总流量大于或等于所属流量阈值时,停止将所述目标用户对应的待缓存交易数据添加至所述交易池;所述目标用户为所述用户集合中的任一用户。
其中,所述根据所述最大缓存容量与所述用户集合中的用户总数量,为所述用户集合中的每个用户分别配置与所述交易池相关联的流量阈值,包括:
根据所述最大缓存容量确定所述交易池对应的待分配缓存容量;所述待分配缓存容量小于或等于所述最大缓存容量;
获取所述用户集合中的用户总数量,根据所述待分配缓存容量与所述用户总数量,确定所述每个用户分别与所述交易池相关联的容量平均值,将所述容量平均值确定为所述流量阈值;所述每个用户分别对应的流量阈值均相等。
其中,所述根据所述最大缓存容量与所述用户集合中的用户总数量,为所述用户集合中的每个用户分别配置与所述交易池相关联的流量阈值,包括:
根据所述最大缓存容量确定所述交易池对应的待分配缓存容量;所述待分配缓存容量小于或等于所述最大缓存容量;
获取所述每个用户针对所述交易池的业务行为属性参数,基于所述业务行为属性参数,确定所述每个用户分别对应的流量分配权重;
根据所述流量分配权重、所述用户集合中的用户总数量以及所述待分配缓存容量,为所述每个用户分别配置与所述交易池相关联的流量阈值;所述每个用户分别对应的流量阈值之间的比例,与所述每个用户分别对应的流量分配权重之间的比例相同。
其中,所述基于所述业务行为属性参数,确定所述每个用户分别对应的流量分配权重,包括:
从所述用户集合中选择任一用户作为待处理用户;
若所述待处理用户对应的业务行为属性参数属于第一参数范围,则将属于所述第一参数范围的业务行为属性参数确定为第一属性等级,将所述第一属性等级确定为所述待处理用户对应的流量分配权重;
若所述待处理用户对应的业务行为属性参数属于第二参数范围,则将属于所述第二参数范围的业务行为属性参数确定为第二属性等级,将所述第二属性等级确定为所述待处理用户对应的流量分配权重。
其中,所述方法还包括:
基于时间频率参数,获取所述目标用户针对所述交易池的实时行为属性参数;
若所述目标用户对应的业务行为属性参数小于所述实时行为属性参数,则增加所述目标用户与所述交易池相关联的流量阈值;
若所述目标用户对应的业务行为属性参数大于所述实时行为属性参数,则减少所述目标用户与所述交易池相关联的流量阈值。
其中,所述获取所述每个用户针对所述交易池的业务行为属性参数,包括:
分别统计所述每个用户对应的交易数据上传至所述交易池的上传频率;
基于所述上传频率确定所述每个用户分别对应的活跃度,将所述活跃度确定为所述业务行为属性参数。
其中,所述获取所述每个用户针对所述交易池的业务行为属性参数,包括:
在所述交易池中,获取所述每个用户分别对应的交易总数据;所述交易总数据包括无效数据和有效数据;所述每个用户分别对应的交易总数据为所述交易池中分别与所述每个用户相关联的交易数据;
分别确定所述每个用户对应的所述无效数据与所述交易总数据之间的无效比值;
基于所述无效比值确定所述每个用户分别对应的信用度,将所述信用度确定为所述业务行为属性参数。
其中,所述方法还包括:
当检测到所述交易池中存在针对新用户的数据添加行为时,将所述新用户添加至所述用户集合,并更新所述用户集合中的用户总数量;
基于更新后的用户总数量与所述交易池对应的所述最大缓存容量,为添加后的用户集合中每个用户分别重新配置与所述交易池相关联的流量阈值。
其中,所述当所述交易池中与目标用户相关联的交易数据的总流量大于或等于所属流量阈值时,停止将所述目标用户对应的待缓存交易数据添加至所述交易池,包括:
将所述交易池中与所述目标用户相关联的交易数据确定为交易总数据,并统计所述交易总数据对应的所述总流量;
若所述总流量大于或等于所述目标用户对应的流量阈值,则对所述交易总数据进行异常检测;
当所述交易总数据中存在异常交易数据时,从所述交易总数据中删除所述异常交易数据,将所述缓存交易数据添加至所述交易池;
当所述交易总数据中不存在异常交易数据时,停止将所述目标用户对应的待缓存交易数据添加至所述交易池。
本申请实施例一方面提供了一种区块链交易池流量管控装置,包括:
获取模块,用于获取区块链节点对应的用户集合,以及所述区块链节点对应的交易池的最大缓存容量;所述交易池用于缓存所述区块链节点接收到的交易数据,所述交易数据与所述用户集合中所包含的用户相关联;
配置模块,用于根据所述最大缓存容量与所述用户集合中的用户总数量,为所述用户集合中的每个用户分别配置与所述交易池相关联的流量阈值;
判断模块,用于当所述交易池中与目标用户相关联的交易数据的总流量大于或等于所属流量阈值时,停止将所述目标用户对应的待缓存交易数据添加至所述交易池;所述目标用户为所述用户集合中的任一用户。
其中,所述配置模块包括:
待分配容量确定单元,用于根据所述最大缓存容量确定所述交易池对应的待分配缓存容量;所述待分配缓存容量小于或等于所述最大缓存容量;
第一流量阈值确定单元,用于获取所述用户集合中的用户总数量,根据所述待分配缓存容量与所述用户总数量,确定所述每个用户分别与所述交易池相关联的容量平均值,将所述容量平均值确定为所述流量阈值;所述每个用户分别对应的流量阈值均相等。
其中,所述配置模块包括:
所述待分配容量确定单元,用于根据所述最大缓存容量确定所述交易池对应的待分配缓存容量;所述待分配缓存容量小于或等于所述最大缓存容量;
权重确定单元,用于获取所述每个用户针对所述交易池的业务行为属性参数,基于所述业务行为属性参数,确定所述每个用户分别对应的流量分配权重;
第二流量阈值确定单元,用于根据所述流量分配权重、所述用户集合中的用户总数量以及所述待分配缓存容量,为所述每个用户分别配置与所述交易池相关联的流量阈值;所述每个用户分别对应的流量阈值之间的比例,与所述每个用户分别对应的流量分配权重之间的比例相同。
其中,所述权重确定单元包括:
选择子单元,用于从所述用户集合中选择任一用户作为待处理用户;
第一比较子单元,用于若所述待处理用户对应的业务行为属性参数属于第一参数范围,则将属于所述第一参数范围的业务行为属性参数确定为第一属性等级,将所述第一属性等级确定为所述待处理用户对应的流量分配权重;
第二比较子单元,用于若所述待处理用户对应的业务行为属性参数属于第二参数范围,则将属于所述第二参数范围的业务行为属性参数确定为第二属性等级,将所述第二属性等级确定为所述待处理用户对应的流量分配权重。
其中,所述装置还包括:
参数获取模块,用于基于时间频率参数,获取所述目标用户针对所述交易池的实时行为属性参数;
流量增加模块,用于若所述目标用户对应的业务行为属性参数小于所述实时行为属性参数,则增加所述目标用户与所述交易池相关联的流量阈值;
流量减少模块,用于若所述目标用户对应的业务行为属性参数大于所述实时行为属性参数,则减少所述目标用户与所述交易池相关联的流量阈值。
其中,所述权重确定单元包括:
频率统计子单元,用于分别统计所述每个用户对应的交易数据上传至所述交易池的上传频率;
活跃度确定子单元,用于基于所述上传频率确定所述每个用户分别对应的活跃度,将所述活跃度确定为所述业务行为属性参数。
其中,所述权重确定单元包括:
总数据获取子单元,用于在所述交易池中,获取所述每个用户分别对应的交易总数据;所述交易总数据包括无效数据和有效数据;所述每个用户分别对应的交易总数据为所述交易池中分别与所述每个用户相关联的交易数据;
比值确定子单元,用于分别确定所述每个用户对应的所述无效数据与所述交易总数据之间的无效比值;
信用度确定子单元,用于基于所述无效比值确定所述每个用户分别对应的信用度,将所述信用度确定为所述业务行为属性参数。
其中,所述装置还包括:
用户添加模块,用于当检测到所述交易池中存在针对新用户的数据添加行为时,将所述新用户添加至所述用户集合,并更新所述用户集合中的用户总数量;
重新配置模块,用于基于更新后的用户总数量与所述交易池对应的所述最大缓存容量,为添加后的用户集合中每个用户分别重新配置与所述交易池相关联的流量阈值。
其中,所述判断模块包括:
总流量统计单元,用于将所述交易池中与所述目标用户相关联的交易数据确定为交易总数据,并统计所述交易总数据对应的所述总流量;
异常检测单元,用于若所述总流量大于或等于所述目标用户对应的流量阈值,则对所述交易总数据进行异常检测;
删除单元,用于当所述交易总数据中存在异常交易数据时,从所述交易总数据中删除所述异常交易数据,将所述缓存交易数据添加至所述交易池;
停止添加单元,用于当所述交易总数据中不存在异常交易数据时,停止将所述目标用户对应的待缓存交易数据添加至所述交易池。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本申请实施例中一方面中所述方法的步骤。
本申请实施例一方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如本申请实施例中一方面中所述方法的步骤。
本申请实施例可以通过获取区块链节点对应的用户集合,以及区块链节点对应的交易池的最大缓存容量,进而基于交易池的最大缓存容量与用户集合中的用户总数量,为用户集合中的每个用户分别配置与交易池相关联的流量阈值,当交易池中与目标用户相关联的交易数据的总流量大于该目标用户对应的流量阈值时,停止将该目标用户对应的待缓存交易数据添加至交易池。可见,在区块链节点的交易池中,通过为不同用户设置不同的流量阈值,可以避免区块链节点被同一个用户攻陷,进而可以提高交易池资源的利用率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块链交易池的数据处理场景示意图;
图2是本申请实施例提供的一种区块链交易池流量管控方法的流程示意图;
图3是本申请实施例提供的一种交易数据的验签示意图;
图4是本申请实施例提供的另一种区块链交易池流量管控方法的流程示意图;
图5是本申请实施例提供的另一种区块链交易池流量管控方法的流程示意图;
图6是本申请实施例提供的一种训练初始生成模型的示意图;
图7是本申请实施例提供的一种区块链交易池流量管控装置的结构示意图;
图8是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
区块链(Blockchain)是一种分布式数据存储、点对点传输(P2P传输)、共识机制、加密算法等计算机技术的新型应用模式,其本质上是一个去中心化的数据库;区块链可由多个借由密码学串接并保护内容的串连交易记录(又称区块)构成,用区块链所串接的分布式账本能让多方有效记录交易,且可永久查验此交易(不可篡改)。其中,共识机制是指区块链网络中实现不同节点之间建立信任、获取权益的数学算法;换言之,共识机制是区块链各网络节点共同认可的一种数学算法。
交易池(txpool)是指用于暂存尚未被加入到区块的交易记录,交易池也可以称为内存池。区块链网络中的每个节点均存在对应的交易池,当有新交易产生时,可以将产生的新交易发送至区块链网络中临近的节点,进而使得该交易可以在区块链网络中进行传播。该临近节点接收到新交易后,需要对新交易进行验证,将验证通过后的新交易加入该临近节点对应的交易池,与此同时,该临近节点还可以将该新交易广播到区块链网络中,区块链网络中的其他节点同样需要对该新交易进行验证,确认无误以后也加入到各自的交易池里。换言之,区块链网络中的节点在接收到交易数据后,并不会立即将接收到的交易数据打包成区块,而是将交易数据暂时存储在交易池中,进而可以按照数据选取规则(如按照手续费的排序)从交易池中提取一部分数据打包成区块,区块达成共识后,将该区块进行添加至区块链中,完成交易的上链过程。
请参见图1,是本申请实施例提供的一种区块链交易池的数据处理场景示意图。该区块链交易池的数据处理过程可以运用到不同的应用场景中,例如游戏资源的交易场景、电子票据的交易场景、用户购房数据的上链场景,等等。为便于描述,本申请实施例以游戏资源的交易场景为例,对交易池的数据处理过程进行具体说明。如图1所示,服务器10a可以表示为区块链网络中的任一区块链节点,终端设备10b、终端设备10c以及终端设备10d均可以表示为上传交易数据的用户终端,即终端设备10b、终端设备10c以及终端设备10d均可以将产生的交易数据发送给区块链网络中的区块链节点,即服务器10a。若账号为bbb123的用户1想从账号为aaa123的用户2处购买游戏币,则用户1可以和用户2达成交易意向。用户2可以通过终端设备10b创建第一交易数据,并将第一交易数据上传至区块链网络中,即将第一交易数据发送至服务器10a,第一交易数据中可以包括发起方(即创建第一交易数据的终端设备10b所对应的用户2,如用户2的账号)、接收方(即购买游戏币的用户1,如用户1的账号)以及交易内容(如将10个游戏币从发起方的账户转移至接收方的账户),第一交易数据用于指示区块链网络将10个游戏币从用户2的账户转移至用户1的账户。同理,当账号为bbb456的用户3想从账户为aaa456的用户4处购买游戏币时,在双方达成交易意向后,可以由终端设备10c创建第二交易数据,并将第二交易数据上传至服务器10a,以指示区块链网络将100个游戏币从用户4的账户转移至用户3的账户,该第二交易数据中同样可以包括发起方、接收方以及交易内容;当账号为bbb789的用户5想从账号为aaa789的用户6处购买游戏币时,同样可以在双方达成交易意向后,由终端设备10d创建第三交易数据,并将第三交易数据上传至服务器10a,以指示区块链网络将5个游戏币从用户6的账户中转移至用户5的账户中。可以理解的是,上述第一交易数据、第二交易数据以及第三交易数据可以在同一时间上传至服务器10a,也可以在不同的时间上传至服务器10a,这与每条交易数据创建的时间相关联。例如,上述第一交易数据、第二交易数据以及第三交易数据若在同一时间创建,则可以由相应的终端设备在同一时间上传至服务器10a。
服务器10a在接收到终端设备上传的交易数据后,可以对交易数据进行验证,如服务器10a在接收到第一交易数据后,需要对第一交易数据进行验证,验证的目的主要在于确定该第一交易数据在上传的过程中是否被恶意篡改,如验证服务器10a接收到的第一交易数据是否为终端设备10b实际上传的第一交易数据,或者接收到的第一交易数据中的交易双方是否为终端设备10b实际上传第一交易数据中的交易双方,等等。当第一交易数据验证通过后,服务器10a可以对第一交易数据进行流量统计,得到第一交易数据的流量统计值为2兆,进而可以从服务器10a对应的交易池10e中,获取账号aaa123对应的用户2(即第一交易数据中的发起方)在交易池10a中的可用流量为10兆,由于可用流量大于第一交易数据的流量统计值,则可以将第一交易数据添加至交易池10e,得到交易池10e中的第n+1条交易数据记录(在接收第一交易数据之前,交易池10e中已经存储有n条交易数据的记录),并在交易池10e中对账号aaa123对应的用户2的可用流量进行更新。同理,服务器10a可以对验证通过的第二交易数据进行流量统计,得到的流量统计值为3兆,从交易池10e中获取到账号aaa456对应用户4的可用流量为1兆,由于可用流量小于第二交易数据的流量统计值,则将第二交易数据确定为无效数据,不添加至交易池10e;服务器10a可以对验证通过的第三交易数据进行流量统计,得到的流量统计值为2.5兆,从交易池10e中获取到账号aaa789对应用户6的可用流量为20兆,由于可用流量大于第三交易数据的流量统计值,则可以将第三交易数据添加至交易池10e,得到交易池10e中的第n+2条交易数据记录(默认服务器10a接收到第一交易数据的时间早于接收到第二交易数据的时间),并在交易池10e中对账号aaa789对应用户6的可用流量进行更新。
其中,基于交易池10e中存储的交易数据历史记录,可以获取得到服务器10a对应的所有用户,进而可以为每个用户分配与该交易池10e相关联的流量阈值,当某用户在交易池10e中的交易数据总量超过该用户分配的流量阈值时,停止将该用户对应的新交易数据添加至交易池10e,这样可以避免交易池10e被某一用户恶意攻陷。当交易池10e中加入了新的交易数据,或者交易池中有数据打包成区块时,需要对交易池10e中用户的流量缓存概况进行实时更新。其中,每个用户分别对应的流量阈值可以相同,也可以不同,这里不做限定。
请参见图2,是本申请实施例提供的一种区块链交易池流量管控方法的流程示意图。如图2所示,该区块链交易池流量管控方法可以包括:
步骤S101,获取区块链节点对应的用户集合,以及所述区块链节点对应的交易池的最大缓存容量;所述交易池用于缓存所述区块链节点接收到的交易数据,所述交易数据与所述用户集合中所包含的用户相关联;
具体的,节点服务器(对应于上述图1所对应实施例中的服务器10a)可以获取区块链节点对应的用户集合,并获取该区块链节点对应的交易池的最大缓存容量。应当理解,在区块链网络中,每个区块链节点可以接收来自不同用户(对于区块链节点而言,可以基于用户账号或者用户网络地址来确定不同用户,即同一个账号对应一个用户,或者同一个网络地址对应一个用户)的交易数据,并将接收到的交易数据暂时存储在交易池中,即每个区块链节点对应的交易池均是用于缓存该区块链节点接收到的交易数据的,且区块链网络平台对交易池设置了一个最大缓存容量。交易池中存储的交易数据可以包括该区块链节点创建的交易数据,以及其他区块链节点通过广播得到的交易数据,通过交易池中存储的交易数据记录,获取每条交易数据记录中的发起用户,将交易发起用户添加至用户集合,进而获取到该区块链节点对应的用户集合。可选的,还可以根据交易池中存储的交易数据记录,获取每条交易数据分别对应的上传客户端,根据上传客户端确定用户集合,也就是将同一个客户端上传的交易数据理解为同一个用户的交易数据。
步骤S102,根据所述最大缓存容量与所述用户集合中的用户总数量,为所述用户集合中的每个用户分别配置与所述交易池相关联的流量阈值;
具体的,节点服务器可以根据交易池的最大缓存容量与用户集合中的用户总数量,为用户集合中的每个用户分别配置与交易池相关联的流量阈值。交易池中的用户流量阈值配置准则可以包括:根据交易池对应的最大缓存容量确定交易池对应的待分配缓存容量;该待分配缓存容量小于或等于最大缓存容量;获取用户集合中的用户总数量,根据待分配缓存容量与用户总数量,确定每个用户分别与交易池相关联的容量平均值,将容量平均值确定为流量阈值;每个用户分别对应的流量阈值均相等。换言之,将交易池对应的最大缓存容量划分为两部分,将其中一部分确定为待分配缓存容量,另一部分作为待使用容量;将待分配缓存容量除以用户集合中的用户总数量,得到每个用户对应的容量平均值,并将容量平均值确定为每个用户分别对应的流量阈值。应当理解,当交易池中有新用户的交易数据添加进来时,可以将该用户添加至用户集合,并更新用户集合对应的用户总数量,将上述待分配缓存容量除以更新后的用户总数量,将重新得到的容量平均值作为每个用户分别对应的流量阈值,即当用户总数量发生变化时,每个用户对应的流量阈值均发生变化;或者,从待使用容量中获取与已分配流量用户(即用户集合中除新用户之外的其余用户)相同的流量阈值作为该新用户的流量阈值,即存在新用户添加至用户集合时,每个用户对应的流量阈值不发生变化,从待使用容量中为新用户分配流量阈值。
举例来说,若某区块链节点对应的交易池的最大缓存容量为100兆,该区块链节点对应的用户集合中的用户总数量为7,则节点服务器可以将交易池的最大缓存容量划分为两部分,第一部分为最大缓存容量的70%,即70兆,第二部分为最大缓存容量的30%,即30兆;可以将第一部分确定为待分配缓存容量,将第二部分确定为待使用容量,将待分配缓存容量除以用户总数量,得到每个用户分别对应的流量阈值为10兆。当交易池中有新用户的交易数据添加进来时,用户总数量由7更新为8,则可以将待分配缓存容量70兆除以用户总数据8,将8.6兆作为每个用户更新之后的流量阈值。可选的,当交易池中有新用户的交易数据添加进来时,可以从待使用容量中分配10兆流量作为新用户对应的流量阈值。
步骤S103,当所述交易池中与目标用户相关联的交易数据的总流量大于或等于所属流量阈值时,停止将所述目标用户对应的待缓存交易数据添加至所述交易池;所述目标用户为所述用户集合中的任一用户。
具体的,当交易池中存储的与目标用户相关联的交易数据的总流量大于或等于该目标用户的流量阈值时,停止将该目标用户对应的待缓存交易数据(即节点服务器经过验证还未被添加至交易池的交易数据)添加至交易池,其中,目标用户可以是指上述用户集合中的任一用户。当节点服务器接收到目标用户的待缓存交易数据时,首先需要对接收到的待缓存交易数据进行验签,验签的具体过程可以参见图3,是本申请实施例提供的一种交易数据的验签示意图。如图3所示,节点服务器10a接收到客户端上传的待缓存交易数据20a(即目标用户对应的待缓存交易数据)后,可以获取待缓存交易数据20a携带的数字签名20b,并采用上传待缓存交易数据20a的客户端所对应的公钥20c,对数字签名20b进行解密,可以得到哈希值1,进而节点服务器10a可以使用哈希算法20d(该哈希算法20d即为客户端生成数字签名所采用的的哈希算法)对待缓存交易数据20a进行哈希运算,得到待缓存交易数据20a对应的哈希值2,若哈希值1与哈希值2相等,则表示待缓存交易数据20a在上传过程中没有被篡改,验签通过;若哈希值1与哈希值2不相等,则表示待缓存交易数据20a中的实际交易数据在上传过程中可能存在篡改,验签不通过,将待缓存交易数据20a进行删除。应当理解,客户端在上传待缓存交易数据20a之前,已经将公钥20c与生成数字签名20b使用的哈希算法20d通知给节点服务器10a,若待缓存交易数据20a在上传过程中被篡改,节点服务器10a接收到的数字签名20b并不是上述客户端原本生成的数字签名,则节点服务器10a采用上述客户端对应的公钥20c对数字签名20b进行解密时,无法进行求解。其中,哈希算法20d可以包括但不限于SHA-1、SHA-224、SHA-256、SHA-384以及SHA-512。
当待缓存交易数据通过验签后,节点服务器可以将交易池中与目标用户相关联的交易数据确定为交易总数据,并统计交易总数据对应的总流量;若总流量大于或等于目标用户对应的流量阈值,即交易池中目标用户对应的可用流量(即目标用户对应的流量阈值与总流量的差值)小于待缓存交易数据的流量,则对交易总数据进行异常检测;当交易总数据中存在异常交易数据(异常交易数据可以包括非法交易数据、已经上链的交易数据等)时,从交易总数据中删除异常交易数据,仅当删除异常数据后目标用户的可用流量大于待缓存交易数据对应的流量时,方可将缓存交易数据添加至交易池;当交易总数据中不存在异常交易数据,或者删除交易数据后,目标用户对应的可用流量仍然小于待缓存交易数据对应的流量时,停止将目标用户对应的待缓存交易数据添加到交易池中。
本申请实施例可以通过获取区块链节点对应的用户集合,以及区块链节点对应的交易池的最大缓存容量,进而基于交易池的最大缓存容量与用户集合中的用户总数量,为用户集合中的每个用户分别配置与交易池相关联的流量阈值,当交易池中与目标用户相关联的交易数据的总流量大于该目标用户对应的流量阈值时,停止将该目标用户对应的待缓存交易数据添加至交易池。可见,在区块链节点的交易池中,通过为不同用户设置不同的流量阈值,可以避免区块链节点被同一个用户攻陷,进而可以提高交易池资源的利用率。
请参见图4,是本申请实施例提供的另一种区块链交易池流量管控方法的流程示意图。上述图2所对应的实施例中描述了根据待分配缓存容量为每个用户分配相同的流量阈值,在本申请实施例中,可以基于每个用户在交易池中的历史交易数据记录,为每个用户分别设置不同的流量阈值。如图4所示,该区块链交易池流量管控方法可以包括:
步骤S201,获取区块链节点对应的用户集合,以及所述区块链节点对应的交易池的最大缓存容量;所述交易池用于缓存所述区块链节点接收到的交易数据,所述交易数据与所述用户集合中所包含的用户相关联;
步骤S202,根据所述最大缓存容量确定所述交易池对应的待分配缓存容量;所述待分配缓存容量小于或等于所述最大缓存容量;
其中,步骤S201-步骤S202的具体实现方式可以参见上述图2所对应实施例中对步骤S101-步骤S102的描述,这里不再进行赘述。
步骤S203,获取所述每个用户针对所述交易池的业务行为属性参数,基于所述业务行为属性参数,确定所述每个用户分别对应的流量分配权重;
具体的,节点服务器可以根据交易池中每个用户上传交易数据的历史记录,获取每个用户针对交易池的业务行为属性参数,并基于业务行为属性参数,为每个用户分别确定流量分配权重,其中,业务行为属性参数可以包括活跃度和/或可信度。
当业务行为属性参数为活跃度时,可以分别统计每个用户对应的交易数据上传至交易池的上传频率,根据上传频率确定每个用户分别对应的活跃度,在相同的统计时间段内,用户对应的客户端上传交易数据的次数越多,用户对应的上传频率就越大,用户的活跃度也随着变大,进而用户对应的流量分配权重也随之增加。流量分配权重的确定过程可以为:节点服务器可以从用户集合中选择任一用户作为待处理用户;若待处理用户对应的活跃度属于第一参数范围,则将属于第一参数范围的活跃度确定为第一属性等级,将第一属性等级确定为待处理用户对应的流量分配权重;若待处理用户对应的活跃度属于第二参数范围,则将属于第二参数范围的活跃度确定为第二属性等级,将第二属性等级确定为待处理用户对应的流量分配权重。应当理解,节点服务器可以将用户对应的活跃度划分为多个参数范围,每个参数范围对应一个等级,该等级即可确定为用户的流量分配权重。
举例来说,若将用户对应的活跃度划分为三个参数范围,分别为第一参数范围0至0.4,第二参数范围0.4至0.7,第三参数范围0.7至1.0。从用户集合中选择任一用户作为待处理用户,若该待处理用户对应的活跃度为0.22,则该待处理用户对应的活跃度属于第一参数范围,即该待处理用户对应的活跃度为第一等级,可以将数值1作为该待处理用户对应的流量分配权重;若该待处理用户对应的活跃度为0.50,则该待处理用户对应的活跃度属于第二参数范围,即该待处理用户对应的活跃度为第二等级,可以将数值2作为该待处理用户对应的流量分配权重;若该待处理用户对应的活跃度为0.85,则该待处理用户对应的活跃度属于第三参数范围,即该待处理用户对应的活跃度为第三等级,可以将数值3作为该待处理用户对应的流量分配权重。换言之,活跃度属于相同参数范围的用户具有相同的流量分配权重。当然,节点服务器还可以根据每个用户对应的活跃度为每个用户设置流量分配权重,即只有活跃度相同的用户才具有相同的流量分配权重。对于上述活跃度等级的划分(包括划分为多少个等级,以及每个等级对应的参数范围等),可以根据实际应用进行设置,这里不做限定。
节点服务器可以根据时间频率参数,获取用户集合中的每个用户针对交易池的实时活跃度,即每隔一段时间(如每3个小时)统计一次所有用户的活跃度,可以根据获取到的实时活跃度对用户的流量分配权重进行动态调整,如用户1的活跃度从第一参数范围上升至第二参数范围,则可以提高用户1对应的流量分配权重;用户2的活跃度从第三参数范围下降至第二参数范围,则可以降低用户2对应的流量分配权重。
请一并参见图5,是本申请实施例提供的一种区块链交易池流量分配方法的示意图。以业务行为属性参数为活跃度为例,对用户集合中的每个用户分配流量阈值,如图5所示,节点服务器10a通过对交易池中近5个小时存储的n条交易数据记录进行统计,统计得到用户1共上传112次交易数据,最终计算得到用户1对应的活跃度为0.85;统计得到用户2共上传90次交易数据,最终计算得到用户2对应的活跃度为0.69;一直统计得到用户集合中每个用户分别对应的活跃度(用户集合中的用户总数量为m,即直至计算得到用户m对应的活跃度),若近5个小时内,存在用户未上传交易数据,则将该用户的流量阈值设置为最低流量阈值标准(如5兆等)。基于每个用户分别对应的活跃度、交易池的待分配缓存容量以及用户总数量,可以为用户1配置30兆的流量阈值,为用户2配置25兆的流量阈值,等等。
可选的,当业务行为属性参数为信用度时,可以在交易池中获取每个用户分别对应的交易总数据;交易总数据中可以包括无效数据和无效数据,每个用户分别对应的交易总数据为交易池中分别与每个用户相关联的交易数据;分别确定每个用户对应的无效数据与交易总数据之间的无效比值;基于无效比值确定每个用户分别对应的信用度。其中,有效数据是指交易池中可以用于指示区块链网络执行发起方与接收方之间的交易的数据;无效数据是指交易池中不能指示区块链网络完成发起方与接收方之间的交易的数据,或者已经打包写入区块链中的数据,例如,某交易数据为:将10个游戏币从用户1的账户转移至用户2的账户,但用户1的账户余额中不足10个游戏币,则该交易数据可以确定为无效数据。
可以理解的是,用户对应的无效比值越大,用户的信用度就越小,进而用户对应的流量分配权重也随之变小。流量分配权重的确定过程可以为:节点服务器可以从用户集合中选择任一用户作为待处理用户;若待处理用户对应的信用度属于第一参数范围,则将属于第一参数范围的信用度确定为第一属性等级,将第一属性等级确定为待处理用户对应的流量分配权重;若待处理用户对应的信用度属于第二参数范围,则将属于第二参数范围的信用度确定为第二属性等级,将第二属性等级确定为待处理用户对应的流量分配权重。应当理解,节点服务器可以将用户对应的信用度划分为多个参数范围,每个参数范围对应一个等级,该等级即可确定为用户的流量分配权重。
举例来说,若将用户对应的信用度划分为三个参数范围,分别为第一参数范围0.7至1.0,第二参数范围0.4至0.7,第三参数范围0至0.4。从用户集合中选择任一用户作为待处理用户,若该待处理用户对应的信用度为0.75,则该待处理用户对应的信用度属于第一参数范围,即该待处理用户对应的信用度为第一等级,可以将数值1作为该待处理用户对应的流量分配权重;若该待处理用户对应的信用度为0.50,则该待处理用户对应的信用度属于第二参数范围,即该待处理用户对应的信用度为第二等级,可以将数值2作为该待处理用户对应的流量分配权重;若该待处理用户对应的信用度为0.1,则该待处理用户对应的信用度属于第三参数范围,即该待处理用户对应的信用度为第三等级,可以将数值3作为该待处理用户对应的流量分配权重。换言之,信用度属于相同参数范围的用户具有相同的流量分配权重。当然,节点服务器还可以根据每个用户对应的信用度为每个用户设置流量分配权重,即只有信用度相同的用户才具有相同的流量分配权重。对于上述信用度等级的划分(包括划分为多少个等级,以及每个等级对应的参数范围等),可以根据实际应用进行设置,这里不做限定。
节点服务器可以根据时间频率参数,统计用户集合中的每个用户针对交易池的实时信用度,即每隔一段时间(如每3个小时)统计一次所有用户的信用度,可以根据获取到的实时信用度对用户的流量分配权重进行动态调整,如用户1的信用度从第一参数范围下降至第二参数范围,则可以提高用户1对应的流量分配权重;用户2的信用度从第三参数范围上升至第二参数范围,则可以降低用户2对应的流量分配权重。
请一并参见图6,是本申请实施例提供的另一种区块链交易池流量分配方法的示意图。以业务行为属性参数为信用度为例,对用户集合中的每个用户分配流量阈值,如图6所示,节点服务器10a通过对交易池中近5个小时存储的n条交易数据记录进行统计,统计得到用户1共上传120次交易数据,其中有18次无效数据,最终计算得到用户1对应的信用度为0.85;统计得到用户2共上传90次交易数据,其中6次无效数据,最终计算得到用户2对应的信用度为0.93;直至统计得到用户集合中每个用户分别对应的信用度(用户集合中的用户总数量为m,即直至计算得到用户m对应的信用度),若近5个小时内,存在用户未上传交易数据,则可以随机选择一个容量值作为该用户的流量阈值,或者将其余用户流量阈值的平均值确定为该用户的流量阈值等。基于每个用户分别对应的信用度、交易池的待分配缓存容量以及用户总数量,可以为用户1配置30兆的流量阈值,为用户2配置40兆的流量阈值,等等。
可选的,当业务行为属性参数为活跃度和信用度时,不仅需要分别统计每个用户对应的交易数据上传至交易池的上传频率,以得到每个用户分别对应的活跃度,还需要分别统计每个用户对应的无效数据与交易总数据之间的无效比值,以得到每个用户分别对应的信用度,基于活跃度和信用度确定每个用户分别对应的流量分配权重。流量分配权重的确定过程同上述描述过程类似,只是在业务行为属性参数为活跃度和信用度的情形下,只有用户的活跃度与信用度均满足各自的参数范围时,才会配置相应的流量分配权重。同理,可以根据时间频率参数,统计用户集合中每个用户针对交易池的实时活跃度和实时信用度,根据实时活跃度和实时信用度对用户的流量分配权重进行动态调整。当实时活跃度增大且实时信用度升高时,可以提升用户对应的流量分配权重;当实时活跃度降低且实时信用度降低时,可以降低用户对应的流量分配权重;当实时活跃度和实时信用度两者中只有一项增加或者减少时,用户的流量分配权重均不会发生变化。
步骤S204,根据所述流量分配权重、所述用户集合中的用户总数量以及所述待分配缓存容量,为所述每个用户分别配置与所述交易池相关联的流量阈值;所述每个用户分别对应的流量阈值之间的比例,与所述每个用户分别对应的流量分配权重之间的比例相同;
具体的,节点服务器可以根据流量分配权重、用户集合中的用户总数量以及交易池对应的待分配缓存容量,为每个用户分别配置与交易池相关联的流量阈值,其中,用户集合中所有用户对应的流量阈值之和小于或等于交易池中的待分配缓存容量,且每个用户分别对应的流量阈值之间的比例,与每个用户分别对应的流量分配权重之间的比例相同。例如,交易池对应的待分配缓存容量为60兆,用户集合中的用户总数量为3,分别为用户A、用户B以及用户B;用户A对应的流量分配权重为1,用户B对应的流量分配权重为2,用户C对应的流量分配权重为3。节点服务器可以基于用户A、用户B以及用户B分别对应的流量分配权重、待分配缓存容量60兆以及用户总数量3,确定用户A对应的流量阈值为10兆,用户B对应的流量阈值为20兆,用户C对应的流量阈值为30兆。
在基于实时活跃度和/或实时信用度调节流量分配权重,并根据流量分配权重调控用户对应的流量阈值时,要以交易池的待分配缓存容量作为参考,若所有用户的流量阈值的总和小于待分配缓存容量,则可以直接允许提高用户的流量阈值,但提高的上限要以最大容量为参考;若所有用户的流量阈值的总和等于待分配缓存容量,则需要等到有用户的流量阈值降低了,才允许其他用户的流量阈值提高,提高的上限也要以最大容量为参考。例如,当某些用户活跃度降低时,可以提高那些活跃度高的用户的流量(也就是相当于降低活跃度低的用户的流量阈值,同时提高活跃度高的用户的流量阈值),以达到资源充分利用的作用。
可选的,节点服务器还可以检测自己的硬件状况和网络状况,若硬件状况和网络状况比较良好,则可以提高交易池的最大缓存容量,同时基于提高后的最大缓存容量也相应提高交易池对应的待分配缓存容量,进而可以提高用户的流量阈值;若硬件状况和网络状况比较差,则可以降低最大缓存容量,同时基于降低后的最大缓存容量也相应降低交易池对应的待分配缓存容量,进而可以降低用户的流量阈值。
步骤S205,当所述交易池中与目标用户相关联的交易数据的总流量大于或等于所属流量阈值时,停止将所述目标用户对应的待缓存交易数据添加至所述交易池;所述目标用户为所述用户集合中的任一用户。
其中,步骤S205的具体实现方式可以参见上述图2所对应实施例中对步骤S103的描述,这里不再进行赘述。
本申请实施例可以通过获取区块链节点对应的用户集合,以及区块链节点对应的交易池的最大缓存容量,进而基于交易池的最大缓存容量与用户集合中的用户总数量,为用户集合中的每个用户分别配置与交易池相关联的流量阈值,当交易池中与目标用户相关联的交易数据的总流量大于该目标用户对应的流量阈值时,停止将该目标用户对应的待缓存交易数据添加至交易池。可见,在区块链节点的交易池中,通过为不同用户设置不同的流量阈值,可以避免区块链节点被同一个用户攻陷,进而可以提高交易池资源的利用率。
请参见图7,是本申请实施例提供的一种区块链交易池流量管控装置的结构示意图。如图7所示,该区块链交易池流量管控装置1可以包括:获取模块11,配置模块12,判断模块13;
获取模块11,用于获取区块链节点对应的用户集合,以及所述区块链节点对应的交易池的最大缓存容量;所述交易池用于缓存所述区块链节点接收到的交易数据,所述交易数据与所述用户集合中所包含的用户相关联;
配置模块12,用于根据所述最大缓存容量与所述用户集合中的用户总数量,为所述用户集合中的每个用户分别配置与所述交易池相关联的流量阈值;
判断模块13,用于当所述交易池中与目标用户相关联的交易数据的总流量大于或等于所属流量阈值时,停止将所述目标用户对应的待缓存交易数据添加至所述交易池;所述目标用户为所述用户集合中的任一用户。
其中,获取模块11,配置模块12,判断模块13的具体功能实现方式可以参见上述图2所对应实施例中的步骤S101-步骤S103,这里不再进行赘述。
请一并参见图7,所述区块链交易池流量管控装置1还可以包括:参数获取模块14,流量增加模块15,流量减少模块16,用户添加模块17,重新配置模块18;
参数获取模块14,用于基于时间频率参数,获取所述目标用户针对所述交易池的实时行为属性参数;
流量增加模块15,用于若所述目标用户对应的业务行为属性参数小于所述实时行为属性参数,则增加所述目标用户与所述交易池相关联的流量阈值;
流量减少模块16,用于若所述目标用户对应的业务行为属性参数大于所述实时行为属性参数,则减少所述目标用户与所述交易池相关联的流量阈值;
用户添加模块17,用于当检测到所述交易池中存在针对新用户的数据添加行为时,将所述新用户添加至所述用户集合,并更新所述用户集合中的用户总数量;
重新配置模块18,用于基于更新后的用户总数量与所述交易池对应的所述最大缓存容量,为添加后的用户集合中每个用户分别重新配置与所述交易池相关联的流量阈值。
其中,参数获取模块14,流量增加模块15,流量减少模块16,用户添加模块17,重新配置模块18的具体功能实现方式可以参见上述图4所对应实施例中的步骤S204,这里不再进行赘述。其中,流量增加模块15,流量减少模块16是独立执行相应操作的,即当流量增加模块15在执行相应操作时,流量减少模块16暂停执行操作;当流量减少模块16在执行相应操作时,流量增加模块15暂停执行操作。
请一并参见图7,所述配置模块12可以包括:待分配容量确定单元121,第一流量阈值确定单元122,权重确定单元123,第二流量阈值确定单元124;
待分配容量确定单元121,用于根据所述最大缓存容量确定所述交易池对应的待分配缓存容量;所述待分配缓存容量小于或等于所述最大缓存容量;
第一流量阈值确定单元122,用于获取所述用户集合中的用户总数量,根据所述待分配缓存容量与所述用户总数量,确定所述每个用户分别与所述交易池相关联的容量平均值,将所述容量平均值确定为所述流量阈值;所述每个用户分别对应的流量阈值均相等;
权重确定单元123,用于获取所述每个用户针对所述交易池的业务行为属性参数,基于所述业务行为属性参数,确定所述每个用户分别对应的流量分配权重;
第二流量阈值确定单元124,用于根据所述流量分配权重、所述用户集合中的用户总数量以及所述待分配缓存容量,为所述每个用户分别配置与所述交易池相关联的流量阈值;所述每个用户分别对应的流量阈值之间的比例,与所述每个用户分别对应的流量分配权重之间的比例相同。
其中,待分配容量确定单元121,第一流量阈值确定单元122的具体功能实现方式可以参见上述图2所对应实施例中的步骤S102,权重确定单元123,第二流量阈值确定单元124的具体功能实现方式可以参见上述图4所对应实施例中的步骤S203-步骤S204,这里不再进行赘述。其中,当第一流量阈值确定单元122在执行相应操作时,权重确定单元123,第二流量阈值确定单元124均暂停执行相应操作;当权重确定单元123,第二流量阈值确定单元124在执行相应操作时,第一流量阈值确定单元122暂停执行相应操作。其中,第一流量阈值确定单元122和第二流量阈值确定单元124可以合并成一个流量阈值确定单元。
请一并参见图7,判断模块13可以包括:总流量统计单元131,异常检测单元132,删除单元133,停止添加单元134;
总流量统计单元131,用于将所述交易池中与所述目标用户相关联的交易数据确定为交易总数据,并统计所述交易总数据对应的所述总流量;
异常检测单元132,用于若所述总流量大于或等于所述目标用户对应的流量阈值,则对所述交易总数据进行异常检测;
删除单元133,用于当所述交易总数据中存在异常交易数据时,从所述交易总数据中删除所述异常交易数据,将所述缓存交易数据添加至所述交易池;
停止添加单元134,用于当所述交易总数据中不存在异常交易数据时,停止将所述目标用户对应的待缓存交易数据添加至所述交易池。
其中,总流量统计单元131,异常检测单元132,删除单元133,停止添加单元134的具体功能实现方式可以参见上述图2所对应实施例中的步骤S103,这里不再进行赘述。
请一并参见图7,权重确定单元123可以包括:频率统计子单元1231,活跃度确定子单元1232,总数据获取子单元1233,比值确定子单元1234,信用度确定子单元1235,选择子单元1236,第一比较子单元1237,第二比较子单元1238;
频率统计子单元1231,用于分别统计所述每个用户对应的交易数据上传至所述交易池的上传频率;
活跃度确定子单元1232,用于基于所述上传频率确定所述每个用户分别对应的活跃度,将所述活跃度确定为所述业务行为属性参数;
总数据获取子单元1233,用于在所述交易池中,获取所述每个用户分别对应的交易总数据;所述交易总数据包括无效数据和有效数据;所述每个用户分别对应的交易总数据为所述交易池中分别与所述每个用户相关联的交易数据;
比值确定子单元1234,用于分别确定所述每个用户对应的所述无效数据与所述交易总数据之间的无效比值;
信用度确定子单元1235,用于基于所述无效比值确定所述每个用户分别对应的信用度,将所述信用度确定为所述业务行为属性参数;
选择子单元1236,用于从所述用户集合中选择任一用户作为待处理用户;
第一比较子单元1237,用于若所述待处理用户对应的业务行为属性参数属于第一参数范围,则将属于所述第一参数范围的业务行为属性参数确定为第一属性等级,将所述第一属性等级确定为所述待处理用户对应的流量分配权重;
第二比较子单元1238,用于若所述待处理用户对应的业务行为属性参数属于第二参数范围,则将属于所述第二参数范围的业务行为属性参数确定为第二属性等级,将所述第二属性等级确定为所述待处理用户对应的流量分配权重。
其中,频率统计子单元1231,活跃度确定子单元1232,总数据获取子单元1233,比值确定子单元1234,信用度确定子单元1235,选择子单元1236,第一比较子单元1237,第二比较子单元1238的具体功能实现方式可以参见上述图4所对应实施例中的步骤S203,这里不再进行赘述。其中,当频率统计子单元1231,活跃度确定子单元1232在执行相应操作时,总数据获取子单元1233,比值确定子单元1234,信用度确定子单元1235均暂停执行操作;当总数据获取子单元1233,比值确定子单元1234,信用度确定子单元1235在执行相应操作时,频率统计子单元1231,活跃度确定子单元1232均暂停执行操作。
本申请实施例可以通过获取区块链节点对应的用户集合,以及区块链节点对应的交易池的最大缓存容量,进而基于交易池的最大缓存容量与用户集合中的用户总数量,为用户集合中的每个用户分别配置与交易池相关联的流量阈值,当交易池中与目标用户相关联的交易数据的总流量大于该目标用户对应的流量阈值时,停止将该目标用户对应的待缓存交易数据添加至交易池。可见,在区块链节点的交易池中,通过为不同用户设置不同的流量阈值,可以避免区块链节点被同一个用户攻陷,进而可以提高交易池资源的利用率。
请参见图8,是本申请实施例提供的一种计算机设备的结构示意图。如图8所示,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图8所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取区块链节点对应的用户集合,以及所述区块链节点对应的交易池的最大缓存容量;所述交易池用于缓存所述区块链节点接收到的交易数据,所述交易数据与所述用户集合中所包含的用户相关联;
根据所述最大缓存容量与所述用户集合中的用户总数量,为所述用户集合中的每个用户分别配置与所述交易池相关联的流量阈值;
当所述交易池中与目标用户相关联的交易数据的总流量大于或等于所属流量阈值时,停止将所述目标用户对应的待缓存交易数据添加至所述交易池;所述目标用户为所述用户集合中的任一用户。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图2、图4任一个所对应实施例中对所述区块链交易池流量管控方法的描述,也可执行前文图7所对应实施例中对所述区块链交易池流量管控装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且所述计算机可读存储介质中存储有前文提及的区块链交易池流量管控装置1所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图2、图4任一个所对应实施例中对所述区块链交易池流量管控方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储存储器(Read-Only Memory,ROM)或随机存储存储器(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (10)
1.一种区块链交易池流量管控方法,其特征在于,包括:
获取区块链节点对应的用户集合,以及所述区块链节点对应的交易池的最大缓存容量;所述交易池用于缓存所述区块链节点接收到的交易数据,所述交易数据与所述用户集合中所包含的用户相关联;
根据所述用户集合中每个用户上传交易数据的历史记录,获取所述每个用户对应的业务行为属性参数,根据所述最大缓存容量、所述用户集合中的用户总数量以及所述业务行为属性参数,为所述每个用户分别配置与所述交易池相关联的流量阈值;所述流量阈值是基于所述业务行为属性参数的变更进行实时调控的,所述业务行为属性参数包括活跃度和/或可信度;
若接收到目标用户的待缓存交易数据,则采用所述目标用户对应的公钥对所述待缓存交易数据携带的数字签名进行验证,得到所述待缓存交易数据对应的验签结果;所述目标用户为所述用户集合中的任一用户;
若所述验签结果指示验签通过,则将所述交易池中与所述目标用户相关联的交易数据确定为交易总数据,当所述交易总数据对应的总流量大于或等于所述目标用户对应的流量阈值时,停止将所述待缓存交易数据添加至所述交易池;
当检测到所述交易池中存在针对新用户的数据添加行为时,将所述新用户添加至所述用户集合,并更新所述用户集合中的用户总数量;
基于更新后的用户总数量与待分配缓存容量,对所述用户集合中的每个用户的流量阈值均进行更新;或者,
从待使用容量中为所述新用户分配流量阈值,对所述用户集合中除所述新用户之外的用户的流量阈值保持不变;所述最大缓存容量包括所述待分配缓存容量和所述待使用容量。
2.根据权利要求1所述的方法,其特征在于,所述根据所述最大缓存容量、所述用户集合中的用户总数量以及所述业务行为属性参数,为所述每个用户分别配置与所述交易池相关联的流量阈值,包括:
根据所述最大缓存容量确定所述交易池对应的待分配缓存容量;所述待分配缓存容量小于或等于所述最大缓存容量;
基于所述业务行为属性参数,确定所述每个用户分别对应的流量分配权重;
根据所述流量分配权重、所述用户集合中的用户总数量以及所述待分配缓存容量,为所述每个用户分别配置与所述交易池相关联的流量阈值;所述每个用户分别对应的流量阈值之间的比例,与所述每个用户分别对应的流量分配权重之间的比例相同。
3.根据权利要求2所述的方法,其特征在于,所述基于所述业务行为属性参数,确定所述每个用户分别对应的流量分配权重,包括:
从所述用户集合中选择任一用户作为待处理用户;
若所述待处理用户对应的业务行为属性参数属于第一参数范围,则将属于所述第一参数范围的业务行为属性参数确定为第一属性等级,将所述第一属性等级确定为所述待处理用户对应的流量分配权重;
若所述待处理用户对应的业务行为属性参数属于第二参数范围,则将属于所述第二参数范围的业务行为属性参数确定为第二属性等级,将所述第二属性等级确定为所述待处理用户对应的流量分配权重。
4.根据权利要求2所述的方法,其特征在于,还包括:
基于时间频率参数,获取所述目标用户针对所述交易池的实时行为属性参数;
若所述目标用户对应的业务行为属性参数小于所述实时行为属性参数,则增加所述目标用户与所述交易池相关联的流量阈值;
若所述目标用户对应的业务行为属性参数大于所述实时行为属性参数,则减少所述目标用户与所述交易池相关联的流量阈值。
5.根据权利要求1所述的方法,其特征在于,所述根据所述用户集合中每个用户上传交易数据的历史记录,获取所述每个用户对应的业务行为属性参数,包括:
根据所述用户集合中每个用户上传交易数据的历史记录,分别统计所述每个用户对应的交易数据上传至所述交易池的上传频率;
基于所述上传频率确定所述每个用户分别对应的活跃度,将所述活跃度确定为所述业务行为属性参数。
6.根据权利要求1所述的方法,其特征在于,所述根据所述用户集合中每个用户上传交易数据的历史记录,获取所述每个用户对应的业务行为属性参数,包括:
根据所述用户集合中每个用户上传交易数据的历史记录,在所述交易池中获取所述每个用户分别对应的交易总数据;所述交易总数据包括无效数据和有效数据;所述每个用户分别对应的交易总数据为所述交易池中分别与所述每个用户相关联的交易数据;
分别确定所述每个用户对应的所述无效数据与所述交易总数据之间的无效比值;
基于所述无效比值确定所述每个用户分别对应的信用度,将所述信用度确定为所述业务行为属性参数。
7.根据权利要求1所述的方法,其特征在于,所述当所述交易总数据对应的总流量大于或等于所述目标用户对应的流量阈值时,停止将所述目标用户对应的待缓存交易数据添加至所述交易池,包括:
统计所述交易总数据对应的总流量;
若所述总流量大于或等于所述目标用户对应的流量阈值,则对所述交易总数据进行异常检测;
当所述交易总数据中存在异常交易数据时,从所述交易总数据中删除所述异常交易数据,将所述缓存交易数据添加至所述交易池;
当所述交易总数据中不存在异常交易数据时,停止将所述目标用户对应的待缓存交易数据添加至所述交易池。
8.一种区块链交易池流量管控装置,其特征在于,包括:
获取模块,用于获取区块链节点对应的用户集合,以及所述区块链节点对应的交易池的最大缓存容量;所述交易池用于缓存所述区块链节点接收到的交易数据,所述交易数据与所述用户集合中所包含的用户相关联;
配置模块,用于根据所述用户集合中每个用户上传交易数据的历史记录,获取所述每个用户对应的业务行为属性参数,根据所述最大缓存容量、所述用户集合中的用户总数量以及所述业务行为属性参数,为所述每个用户分别配置与所述交易池相关联的流量阈值;所述流量阈值是基于所述业务行为属性参数的变更进行实时调控的,所述业务行为属性参数包括活跃度和/或可信度;
判断模块,用于若接收到目标用户的待缓存交易数据,则采用所述目标用户对应的公钥对所述待缓存交易数据携带的数字签名进行验证,得到所述待缓存交易数据对应的验签结果;所述目标用户为所述用户集合中的任一用户;
所述判断模块,还用于若所述验签结果指示验签通过,则将所述交易池中与所述目标用户相关联的交易数据确定为交易总数据,当所述交易总数据对应的总流量大于或等于所述目标用户对应的流量阈值时,停止将所述目标用户对应的待缓存交易数据添加至所述交易池;
用户添加模块,用于当检测到所述交易池中存在针对新用户的数据添加行为时,将所述新用户添加至所述用户集合,并更新所述用户集合中的用户总数量;
重新配置模块,用于基于更新后的用户总数量与待分配缓存容量,对所述用户集合中的每个用户的流量阈值均进行更新;或者,
用于从待使用容量中为所述新用户分配流量阈值,对所述用户集合中除所述新用户之外的用户的流量阈值保持不变;所述最大缓存容量包括所述待分配缓存容量和所述待使用容量。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910894520.4A CN110599136B (zh) | 2019-09-20 | 2019-09-20 | 区块链交易池流量管控方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910894520.4A CN110599136B (zh) | 2019-09-20 | 2019-09-20 | 区块链交易池流量管控方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110599136A CN110599136A (zh) | 2019-12-20 |
CN110599136B true CN110599136B (zh) | 2023-07-25 |
Family
ID=68862069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910894520.4A Active CN110599136B (zh) | 2019-09-20 | 2019-09-20 | 区块链交易池流量管控方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110599136B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111222882A (zh) * | 2020-01-03 | 2020-06-02 | 腾讯科技(深圳)有限公司 | 基于区块链的数据传输方法、装置、设备及可读存储介质 |
CN113141264B (zh) * | 2020-01-16 | 2023-12-08 | 北京京东振世信息技术有限公司 | 高并发访问处理方法、装置以及存储介质 |
CN111478878B (zh) * | 2020-02-28 | 2022-10-21 | 新华三技术有限公司 | 一种防攻击方法及装置 |
CN111461691B (zh) * | 2020-04-17 | 2020-12-11 | 支付宝(杭州)信息技术有限公司 | 基于区块链的流量统计系统、方法及装置 |
CN111638963A (zh) * | 2020-06-08 | 2020-09-08 | 杭州复杂美科技有限公司 | 交易池动态控制方法、设备和存储介质 |
CN111638962A (zh) * | 2020-06-08 | 2020-09-08 | 杭州复杂美科技有限公司 | 交易池动态伸缩方法、设备和存储介质 |
CN112565104B (zh) * | 2020-12-01 | 2021-11-05 | 腾讯科技(深圳)有限公司 | 区块链系统的流量控制方法、装置、介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103415006A (zh) * | 2013-07-26 | 2013-11-27 | 中国联合网络通信集团有限公司 | 流量计费业务信用控制方法及装置 |
CN110032865A (zh) * | 2019-03-28 | 2019-07-19 | 腾讯科技(深圳)有限公司 | 一种权限管理方法、装置和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8321584B2 (en) * | 2003-04-04 | 2012-11-27 | Ellacoya Networks, Inc. | Method and apparatus for offering preferred transport within a broadband subscriber network |
KR20130085570A (ko) * | 2011-12-22 | 2013-07-30 | 한국전자통신연구원 | 단말 중심 사이버 공격 방지 방법 및 그에 따른 단말 장치 |
CN107707488A (zh) * | 2017-10-25 | 2018-02-16 | 北京数码视讯支付技术有限公司 | 支付联机交易流量控制方法、限流服务端及客户端 |
CN108712350B (zh) * | 2018-06-05 | 2022-04-05 | 中国农业银行股份有限公司 | 基于自定义规则可实时自动调控的流量控制方法及装置 |
-
2019
- 2019-09-20 CN CN201910894520.4A patent/CN110599136B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103415006A (zh) * | 2013-07-26 | 2013-11-27 | 中国联合网络通信集团有限公司 | 流量计费业务信用控制方法及装置 |
CN110032865A (zh) * | 2019-03-28 | 2019-07-19 | 腾讯科技(深圳)有限公司 | 一种权限管理方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110599136A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110599136B (zh) | 区块链交易池流量管控方法以及装置 | |
US11095432B2 (en) | System for processing data based on blockchain and operating method thereof | |
CN111030936B (zh) | 网络访问的限流控制方法、装置及计算机可读存储介质 | |
CN110708171A (zh) | 区块链共识投票方法、装置、设备以及存储介质 | |
US9703980B2 (en) | Centralized throttling service | |
CN103329113B (zh) | 配置用于分级高速缓存的代理服务器以及动态站点加速和自定义对象和相关的方法 | |
Huang et al. | Resource allocation and consensus on edge blockchain in pervasive edge computing environments | |
Li et al. | Blockchain-based security architecture for distributed cloud storage | |
JP2018508054A (ja) | ファイルベースコンテンツが持つリスク判定のための統計分析手法 | |
Huang et al. | Resource allocation and consensus of blockchains in pervasive edge computing environments | |
CN111478857B (zh) | 一种接口限流控制方法、装置以及电子设备 | |
CN111641563B (zh) | 基于分布式场景的流量自适应方法与系统 | |
CN103944988A (zh) | 一种适用于云存储的重复数据删除系统和方法 | |
KR101738978B1 (ko) | 설정변경가능-품질 랜덤 데이터 서비스 | |
CN202663444U (zh) | 一种云安全数据迁移模型 | |
US20160260089A1 (en) | Secure account management using tokens | |
WO2017107812A1 (zh) | 一种用户日志存储方法及设备 | |
CN106850509A (zh) | 网络访问控制方法及装置 | |
CN110851535A (zh) | 基于区块链的数据处理方法、装置、存储介质及终端 | |
CN113255004A (zh) | 一种安全且高效的联邦学习内容缓存方法 | |
CN114422439A (zh) | 接口限流方法、装置、计算机设备和存储介质 | |
WO2014138892A1 (en) | Method and apparatus for peer-to-peer file sharing | |
US20210382872A1 (en) | Blockchain-based Data Storage Method, Related Device and Storage Medium | |
US20090282269A1 (en) | Methods, systems and computer program products for detecting tampering of electronic equipment based on constrained time to obtain computational result | |
CN114707134A (zh) | 一种高性能密码卡安全管理方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40016949 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |