区块链网络交易方法、装置、存储介质及电子设备与流程

    专利2022-07-08  157


    本公开涉及区块链技术领域,具体地,涉及一种区块链网络交易方法、装置、存储介质及电子设备。



    背景技术:

    区块链是一种能够通过去中心化和去信任的方式集体维护一个可靠数据库的技术。其能够把一段时间内发生的事务以区块为单位进行存储,并以密码学算法将区块按时间先后顺序连接,形成类似链条的一种数据结构。由于区块链技术具有分布式账本、去中心化以及不可篡改等特点,其在诸多方面都有着较高的应用前景。

    相关场景中,区块链节点在进行跨链交易时,可能会出现交易失败的现象,从而导致事务回滚,进而降低整个跨链系统的性能。



    技术实现要素:

    本公开的目的是提供一种区块链网络交易方法、装置、存储介质及电子设备,以解决上述相关技术问题。

    为了实现上述目的,根据本公开实施例的第一方面,提供一种区块链网络交易方法,包括:

    响应于目标节点获取到交易请求,获取所述目标节点的目标历史交易对应的状态数据,所述目标历史交易为所述目标节点在当前时刻之前的预设时长内产生的历史交易,或者所述目标历史交易为所述目标节点在获取到所述交易请求之前最新产生的预设数量个历史交易;

    将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签,所述环境预测模型的训练样本是基于区块链网络中产生的历史交易的状态数据得到的,每一所述训练样本标记有类型标签;

    根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率;

    根据所述目标交易成功率与成功率阈值的大小关系,确定是否执行所述交易请求对应的交易操作。

    可选地,所述状态数据包括所述目标历史交易的交易状态数据,所述环境预测模型包括交易状态预测模型,相应地:

    所述将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签,包括:

    将所有所述目标历史交易的交易状态数据作为所述交易状态预测模型的一个输入量,输入所述交易状态预测模型,得到所述交易状态预测模型输出的表征交易状态类型的第一目标类型标签,所述交易状态预测模型的训练样本与所述区块链网络的历史交易时间段一一对应,一个历史时间段内的同一区块链节点的所有历史交易对应的交易状态数据作为一个训练样本;

    所述根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率,包括:

    根据标记有所述第一目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第一目标类型标签的训练样本中所占的比例,确定所述交易请求的第一交易成功率,所述目标交易成功率包括所述第一交易成功率。

    可选地,所述状态数据包括系统状态数据,用于表征在所述目标历史交易的发生时刻的系统状态,所述环境预测模型包括系统状态聚类模型,相应地:

    所述将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签,包括:

    将所有所述目标历史交易的系统状态数据,以一条目标历史交易的系统状态数据作为一个输入量的方式,输入所述系统状态聚类模型,得到所述系统状态聚类模型输出的表征每一条所述目标历史交易的系统状态类型的第二目标类型标签,所述系统状态聚类模型的训练样本为所述区块链网络每一历史交易对应的系统状态数据,所述系统状态聚类模型在训练过程中,针对所有训练样本聚类为多个类簇,所述第二目标类型标签为表征所述目标历史交易的系统状态数据所属的目标类簇;

    所述根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率,包括:

    根据标记有所述第二目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第二目标类型标签的训练样本中所占的比例,确定所述交易请求的第二交易成功率,所述目标交易成功率包括所述第二交易成功率。

    可选地,所述根据标记有所述第二目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第二目标类型标签的训练样本中所占的比例,确定所述交易请求的第二交易成功率,包括:

    针对每一种所述第二目标类型标签,确定标记有该种第二目标类型标签的训练样本在所有训练样本中的第一占比;

    针对每一种所述第二目标类型标签,在所有所述目标历史交易对应的状态数据中,确定属于该种第二目标类型标签的系统状态数据的第二占比;

    根据每一种所述第二目标类型标签的第一占比以及第二占比确定各所述目标历史交易的系统状态数据所对应第二目标类型标签的权重;

    将每一所述目标历史交易的系统状态数据所对应的权重种第二目标类型标签的权重,以及标记有该系统状态数据的第二目标类型标签所对应的目标比例,进行加权求和,得到所述第二交易成功率;

    其中,所述目标比例为标记有该第二目标类型标签且交易状态为成功状态的训练样本,在所有标记有该第二目标类型标签的训练样本中所占的比例。

    可选地,所述状态数据包括所述目标历史交易的系统状态数据,所述环境预测模型包括系统状态预测模型,相应地:

    所述将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签,包括:

    将所有所述目标历史交易的系统状态数据作为所述系统状态预测模型的一个输入量,输入所述系统状态预测模型,得到所述系统状态预测模型输出的表征系统状态类型的第三目标类型标签,所述系统状态预测模型的训练样本与所述区块链网络的历史交易时间段一一对应,一个历史时间段内的同一区块链节点的所有历史交易对应的系统状态数据作为一个训练样本;

    所述根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率,包括:

    根据标记有所述第三目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第三目标类型标签的训练样本中所占的比例,确定所述交易请求的第三交易成功率,所述目标交易成功率包括所述第三交易成功率。

    可选地,所述状态数据包括所述目标历史交易的交易状态数据,所述环境预测模型包括交易状态聚类模型,相应的:

    所述将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签,包括:

    将所有所述目标历史交易的交易状态数据,以一条目标历史交易的交易状态数据作为一个输入量的方式,输入所述交易状态聚类模型,得到所述交易状态聚类模型输出的表征每一条所述目标历史交易的交易状态类型的第四目标类型标签,所述交易状态聚类模型的训练样本为所述区块链网络每一历史交易对应的交易状态数据,所述交易状态聚类模型在训练过程中,针对所有训练样本聚类为多个类簇,所述第四目标类型标签为表征所述目标历史交易的交易状态数据所属的目标类簇;

    所述根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率,包括:

    根据标记有所述第四目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第四目标类型标签的训练样本中所占的比例,确定所述交易请求的第四交易成功率,所述目标交易成功率包括所述第四交易成功率。

    可选地,所述状态数据包括所述目标历史交易的交易状态数据以及系统状态数据,所述系统状态数据用于表征在所述目标历史交易的发生时刻的系统状态,所述环境预测模型包括交易状态预测模型、系统状态聚类模型、交易状态聚类模型以及系统状态预测模型;相应地:

    所述目标交易成功率包括:

    基于所述交易状态数据和所述交易状态预测模型得到的第一交易成功率;

    基于所述系统状态数据和所述系统状态聚类模型得到的第二交易成功率;

    基于所述系统状态数据和所述系统状态预测模型得到的第三交易成功率;

    基于所述交易状态数据和所述交易状态聚类模型得到的第四交易成功率;

    所述根据所述目标交易成功率与成功率阈值的大小关系,确定是否执行所述交易请求对应的交易操作,包括:

    对所述第一交易成功率、所述第二交易成功率、所述第三交易成功率以及所述第三交易成功率进行加权求和,得到和值;

    在所述和值大于所述成功率阈值的情况下,执行所述交易请求对应的交易操作;

    在所述和值小于或等于所述成功率阈值的情况下,撤销所述交易请求。

    可选地,所述交易状态数据包括交易并发数、交易响应时间、交易吞吐量、交易超时设置时间、出块时间设置信息、区块大小设置信息、上次交易结果标识以及本次交易结果标识中的一者或多者。

    可选地,所述系统状态数据包括中央处理器cpu占用率、网络占用带宽、内存占用率、磁盘使用率、cpu占用变化率、网络占用带宽变化率、内存占用变化率、磁盘使用变化率中的一者或多者。

    可选地,通过如下方式得到所述系统状态聚类模型或所述交易状态聚类模型的目标聚类数:

    设定多个候选聚类数;

    针对每一所述候选聚类数,根据该候选聚类数对待聚类数据进行聚类,直至聚类中心收敛;

    计算对应于每一候选聚类数的多个聚类类别的类间间距值以及每一所述聚类类别中的各数据的类内间距值;

    将类间间距值与类内间距值的差值中的最大值所对应的候选聚类数作为所述目标聚类数。

    可选地,所述交易请求为跨链交易请求,相应地,所述目标历史交易为所述目标节点在当前时刻之前的预设时长内产生的历史跨链交易,或者所述目标历史交易为所述目标节点在获取到所述交易请求之前最新产生的预设数量个历史跨链交易,所述环境预测模型的训练样本是基于区块链网络中产生的历史跨链交易的状态数据得到的。

    根据本公开实施例的第二方面,提供一种区块链网络交易装置,包括:

    第一获取模块,用于响应于目标节点获取到交易请求,获取所述目标节点的目标历史交易对应的状态数据,所述目标历史交易为所述目标节点在当前时刻之前的预设时长内产生的历史交易,或者所述目标历史交易为所述目标节点在获取到所述交易请求之前最新产生的预设数量个历史交易;

    第一输入模块,用于将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签,所述环境预测模型的训练样本是基于区块链网络中产生的历史交易的状态数据得到的,每一所述训练样本标记有类型标签;

    第一确定模块,用于根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率;

    第二确定模块,用于根据所述目标交易成功率与成功率阈值的大小关系,确定是否执行所述交易请求对应的交易操作。

    根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。

    根据本公开实施例的第四方面,提供一种电子设备,包括:

    存储器,其上存储有计算机程序;

    处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面中任一项所述方法的步骤。

    上述技术方案中,区块链网络中的目标节点在获取到交易请求时可以获取所述目标节点的目标历史交易所对应的状态数据。这样,可以通过将所述状态数据输入至环境预测模型从而得到对应于所述状态数据的目标类型标签,并根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率。也就是说,上述技术方案能够在交易进行前对交易的成功率进行预测,进而可以撤销成功率较低的交易。因此,采用上述技术方案能够提升交易成功的概率,并降低交易失败对网络性能的影响。

    本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

    附图说明

    附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

    图1是本公开一示例性实施例所示出的一种区块链网络交易方法的流程图。

    图2是本公开一示例性实施例所示出的一种区块链网络交易方法的流程图。

    图3是本公开一示例性实施例所示出的一种区块链网络交易方法的流程图。

    图4是本公开一示例性实施例所示出的一种区块链网络交易方法的流程图。

    图5是本公开一示例性实施例所示出的一种区块链网络交易方法的流程图。

    图6是本公开一示例性实施例所示出的一种聚类模型的聚类数的确定流程图。

    图7是本公开一示例性实施例所示出的一种区块链网络交易装置的框图。

    图8是本公开一示例性实施例示出的一种电子设备的框图。

    具体实施方式

    以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

    在介绍本公开的区块链网络交易方法、装置、存储介质及电子设备之前,首先对本公开所提供的各实施例的应用场景进行介绍,本公开所提供的各实施例例如可以应用于区块链节点的交易场景,这些交易例如可以是在同一区块链网络中的交易也可以是属于不同区块链网络的节点之间所进行的跨链交易。

    相关场景中,区块链节点在进行跨链交易时,可能会出现交易失败的现象,从而导致事务回滚,进而降低整个跨链系统的性能。

    为此,本公开提供一种区块链网络交易方法,图1是本公开一示例性实施例所示出的一种区块链网络交易方法的流程图,所述方法包括:

    在步骤s11中,响应于目标节点获取到交易请求,获取所述目标节点的目标历史交易对应的状态数据。

    具体来讲,所述区块链网络交易方法可以应用于交易接收方,即所述目标节点可以作为交易接收方。所述目标节点在接收到所述交易请求后,可以获取所述目标节点的目标历史交易对应的状态数据。

    关于所述目标历史交易,所述目标历史交易可以是所述目标节点在当前时刻之前的预设时长内产生的历史交易,预设时长例如可以是一小时、一天等等。在一些实施例中,所述目标历史交易也可以是所述目标节点在获取到所述交易请求之前最新产生的预设数量个历史交易,例如最新产生的10笔交易、15笔交易等等。

    在s12中,将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签。

    所述环境预测模型的训练样本例如可以基于区块链网络中产生的历史交易的状态数据得到,应当理解,所述训练样本的组成结构可以与输入至环境预测模型的所述状态数据相一致。举例来讲,若输入至所述环境预测模型的状态数据为历史最新产生的10笔历史交易所对应的状态数据,则在训练所述环境状态模型时,可以将所述区块链网络中的历史交易按照时序进行排列,将相邻的10笔历史交易所对应的状态数据作为一个训练样本。

    此外,每一所述训练样本还可以标记有类型标签。这样,通过对比所述类型标签以及所述环境预测模型输出的预测标签,可以确定所述环境预测模型的损失值,以便根据所述损失值调整模型参数,起到训练模型的效果。

    这样,可以将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签。

    在步骤s13中,根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率。

    应当理解,由于训练样本是基于历史交易所对应的状态数据得到,因此每一训练样本可以对应有真实的交易结果,例如交易成功或交易失败。因此,在通过所述环境预测模型得到所述目标历史交易所对应地目标类型标签之后,可以基于所述历史数据确定所述交易请求所对应地交易成功率。例如,将标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例作为所述交易请求的目标交易成功率。

    在步骤s14中,根据所述目标交易成功率与成功率阈值的大小关系,确定是否执行所述交易请求对应的交易操作。

    举例来讲,在一些实施场景中,所述目标交易成功率大于成功率阈值,在这种情况下,可以执行所述交易。在另一些实施场景中,所述目标交易成功率也可能小于所述成功率阈值,在这种情况下则可以撤销/拒绝所述交易请求。此外,所述成功率阈值可以根据应用需求进行设置,例如60%,80%等等。

    上述技术方案中,区块链网络中的目标节点在获取到交易请求时可以获取所述目标节点的目标历史交易所对应的状态数据。这样,可以通过将所述状态数据输入至环境预测模型从而得到对应于所述状态数据的目标类型标签,并根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率。也就是说,上述技术方案能够在交易进行前对交易的成功率进行预测,进而可以撤销成功率较低的交易。因此,采用上述技术方案能够提升交易成功的概率,并降低交易失败对网络性能的影响。

    值得说明的是,上述实施例中以所述方法应用于交易接收方为例对所述方法进行了说明,但在一些实施场景中,所述方法也可以应用于交易的发起方、中继方等等。同时,所述交易的发起方以及接收方可以处以同一区块链网络也可以分属于不同的区块链网络。

    例如,在一种可能的实施方式中,所述交易请求为跨链交易请求,相应地,所述目标历史交易为所述目标节点在当前时刻之前的预设时长内产生的历史跨链交易,或者所述目标历史交易为所述目标节点在获取到所述交易请求之前最新产生的预设数量个历史跨链交易,所述环境预测模型的训练样本是基于区块链网络中产生的历史跨链交易的状态数据得到的。也就是说,上述技术方案能够对跨链交易的成功率进行预测,从而降低跨链交易失败这一现象对系统性能的影响。

    此外,在一些实施场景中,所述状态数据还可以包括各交易方所对应的目标历史交易的状态数据。例如,在所述方法执行在交易接收方时,所述交易接收方不仅可以根据自身节点的目标历史交易所对应的状态数据确定出所述目标交易成功率,还可以获取交易发起方的目标历史交易所对应的状态数据,并通过本公开所提供的区块链网络交易方法确定出另一目标交易成功率。这样,可以综合交易各方分别的目标交易成功率确定所述交易的最终成功率,并进而确定交易的执行策略。当然,在一些实施场景中,所述交易方也可以包括交易的中继方,本公开对此不做限定。

    在一种可能的实施方式中,所述状态数据包括所述目标历史交易的交易状态数据,所述环境预测模型包括交易状态预测模型。参照图2所示出的一种区块链网络交易方法的流程图,所述方法在图1的基础上,所述将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签,包括:

    s121,将所有所述目标历史交易的交易状态数据作为所述交易状态预测模型的一个输入量,输入所述交易状态预测模型,得到所述交易状态预测模型输出的表征交易状态类型的第一目标类型标签。

    其中,交易状态数据可以表征每一所述目标历史交易所对应的交易状态,其可以包括交易并发数、交易响应时间、交易吞吐量、交易超时设置时间、出块时间设置信息、区块大小设置信息、上次交易结果标识(例如成功标识或失败标识)以及本次交易结果标识(例如成功标识或失败标识)中的一者或多者。

    所述交易状态预测模型的训练样本与所述区块链网络的历史交易时间段一一对应,一个历史时间段内的同一区块链节点的所有历史交易对应的交易状态数据作为一个训练样本。

    举例来讲,所述交易状态预测模型例如可以基于lstm(longshort-termmemory,长短期记忆网络)构建。其中,所述lstm的时间步长例如可以基于区块链网络的交易状态确定。例如,可以选取时间t秒,并计算t秒内产生的平均交易数作为所述lstm的时间步长nt。这样,可以基于所述时间步长nt以及所述区块链节点的历史交易对应的交易状态数据确定训练样本。

    示例地,可以基于同一节点的多个历史交易所对应的交易状态数据确定所述训练样本。以所述交易状态数据包括交易并发数tc、交易响应时间tr、交易吞吐量ttps、交易超时设置时间to、出块时间设置信息bt、区块大小设置信息bs、上次交易结果标识next以及本次交易结果标识current八个特征为例,若该节点包括100个历史交易所对应的100个交易状态数据,所述时间步长tn为20,则可以得到训练样本[5,20,8]。其中,20为时间步长,5为样本数量,8为样本特征数({tc,tr,ttps,to,bt,bs,next,current}),与交易状态数据相对应。

    当然,在一些实施场景中,基于起始时间点的选取差异,同样的数据集也可能生成不同的训练样本。例如,对于按照时序排列的交易状态数据1-11,在时间步长为10的情况下,可以将交易状态数据1-10作为一个训练样本,也可以将交易状态数据2-11作为一个训练样本。

    在一些实施方式中,所述lstm例如可以包括nt*32*64*128*256个神经元。针对隐藏层的lstm单元,还可以为所述lstm单元设置相应的权值。

    举例来讲,可以计算第t个时间点及之前所有时间点的隐藏状态得分,

    et=wtht

    其中,时间点与交易相对应,wt=(h1,h2...,ht,...,hnt)t,t∈{1,2,…,nt},nt为时间点总数,wt为所有时间点的状态,ht为时间点t的状态。

    进一步的,可以基于softmax函数对每一时间点的隐藏状态得分进行归一化,得到第t个时间点的隐藏状态相对于第s个时间点的隐藏状态分配的注意力值为:

    其中,ets为et中的第t个元素,s∈{1,2,…,nt}。这样,可以确定自注意力机制(self-attention)下第t个时间点的隐藏层输出为

    在构建所述lstm后,可以将确定的训练样本数据输入至所述lstm,得到所述lstm的预测结果。沿用上述例子,若输入至所述交易状态预测模型的训练样本为交易状态数据1-10,则可以将交易状态数据11的类型标签作为所述训练样本的类型标签。这样,可以通过对比所述交易状态模型输出的预测标签以及所述训练样本的类型标签,从而对所述交易状态预测模型的预测结果的正确性进行判定,并进而对lstm的相关网络参数进行更新,直至模型收敛,完成训练。

    仍参照图1和图2,在这种情况下,所述根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率,包括:

    s131,根据标记有所述第一目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第一目标类型标签的训练样本中所占的比例,确定所述交易请求的第一交易成功率,所述目标交易成功率包括所述第一交易成功率。

    举例来讲,若所述交易状态预测模型输出的第一目标类型标签为a,在所述交易状态预测模型的训练样本中,标签为a的样本为10000个,其中交易成功的样本为7000个,则可以确定所述第一目标类型标签a所对应的交易成功率为70%,即所述交易请求所对应的第一交易成功率为70%。

    在这种情况下,可以基于所述第一交易成功率与成功率阈值的大小关系,确定是否执行所述交易请求对应的交易操作,具体策略请参照关于步骤s14的实施例说明,本公开在此不做赘述。

    上述技术方案中,通过基于目标历史交易的交易状态数据,可以对所述交易请求所对应的交易的成功率进行预测,从而能够降低交易失败现象的发生频率。

    关于所述训练样本的类型标签,在一些实施方式中,可以基于聚类的方式确定。例如,可以通过聚类模型对所有训练样本进行聚类,从而得到多个聚类簇,相应地,所述训练样本的类型标签可以对应于所述多个聚类簇中的任一个。

    在另一些实施例中,所述状态数据包括系统状态数据,用于表征在所述目标历史交易的发生时刻的系统状态,所述环境预测模型包括系统状态聚类模型。在这种情况下,也可以基于聚类模型来确定所述交易的成功率。例如,参照图3所示出的一种区块链网络交易方法的流程图,所述方法在图1的基础上,所述将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签,包括:

    s122,将所有所述目标历史交易的系统状态数据,以一条目标历史交易的系统状态数据作为一个输入量的方式,输入所述系统状态聚类模型,得到所述系统状态聚类模型输出的表征每一条所述目标历史交易的系统状态类型的第二目标类型标签。

    其中,所述系统状态数据例如包括中央处理器cpu占用率、网络占用带宽、内存占用率、磁盘使用率、cpu占用变化率、网络占用带宽变化率、内存占用变化率、磁盘使用变化率中的一者或多者。所述cpu占用变化率、网络占用带宽变化率、内存占用变化率、磁盘使用变化率例如可以根据相邻交易所对应的时刻的cpu占用率、网络占用带宽、内存占用率、磁盘使用率来确定。在一些场景中,也可以选取阈值时间内的平均cpu占用变化率、平均网络占用带宽变化率、平均内存占用变化率、平均磁盘使用变化率。

    所述系统状态聚类模型的训练样本为所述区块链网络每一历史交易对应的系统状态数据,所述系统状态聚类模型在训练过程中,针对所有训练样本聚类为多个类簇,所述第二目标类型标签为表征所述目标历史交易的系统状态数据所属的目标类簇。

    举例来讲,可以针对所有训练样本,设定聚类数k,通过选取聚类中心以及更新聚类中心,最终得到k个聚类簇。这样,可以将每一聚类簇作为一种第二目标类型标签。

    这样,可以将所有所述目标历史交易的系统状态数据,以一条目标历史交易的系统状态数据作为一个输入量的方式,输入所述系统状态聚类模型,得到所述系统状态聚类模型输出的表征每一条所述目标历史交易的系统状态类型的第二目标类型标签。

    举例来讲,所述目标历史交易例如可以为10个(即系统状态数据1-10),则上述步骤可以是指,分别将系统状态数据1、系统状态数据2……系统状态数据10作为一个输入量的方式,输入所述系统状态聚类模型,得到分别对应于系统状态数据1-10中的每一个系统状态数据的第二目标类型标签。

    在这种情况下,所述根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率,包括:

    s132,根据标记有所述第二目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第二目标类型标签的训练样本中所占的比例,确定所述交易请求的第二交易成功率,所述目标交易成功率包括所述第二交易成功率。

    举例来讲,若所述交易状态预测模型输出的第二目标类型标签为b,在所述系统状态预测模型的训练样本中,标签为b的样本为10000个,其中交易成功的样本为1500个,则可以确定所述第一目标类型标签b所对应的交易成功率为15%,即所述交易请求所对应的第二交易成功率为15%。

    在这种情况下,可以基于所述第二交易成功率与成功率阈值的大小关系,确定是否执行所述交易请求对应的交易操作,具体策略请参照关于步骤s14的实施例说明,本公开在此不做赘述。

    上述技术方案中,通过基于目标历史交易的系统状态数据,可以对所述交易请求所对应的交易的成功率进行预测,从而能够降低交易失败现象的发生频率。

    在一种可能的实施方式中,所述根据标记有所述第二目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第二目标类型标签的训练样本中所占的比例,确定所述交易请求的第二交易成功率(s132),包括:

    针对每一种所述第二目标类型标签,确定标记有该种第二目标类型标签的训练样本在所有训练样本中的第一占比。

    举例来讲,所述目标历史交易的数量为10个,其中系统状态数据的第二目标类型标签为a的目标历史交易的数量为3、系统状态数据的第二目标类型标签为b的目标历史交易的数量为4、系统状态数据的第二目标类型标签为c的目标历史交易的数量为3。

    则在确定所述第二交易成功率时,对于第二目标类型标签为a,可以将所有训练样本中第二目标类型标签为a的样本,与所有训练样本的数量的比值作为所述第一占比。类似的,也可以确定对应于第二目标类型标签b、第二目标类型标签c的第一占比。

    此外,针对每一种所述第二目标类型标签,在所有所述目标历史交易对应的状态数据中,确定属于该种第二目标类型标签的系统状态数据的第二占比。

    沿用上述例子,对于第二目标类型标签为a,还可以将所述目标历史交易中系统状态数据的第二类型标签为a的状态数据的数量与所述目标历史交易中系统状态数据的总数量的比值作为所述第二目标类型标签a的第二占比。沿用上述例子可知,第二目标类型标签a的第二占比为30%。类似的,可以确定第二目标类型标签b的第二占比为40%,第二目标类型标签c的第二占比为30%。

    当然,在一些实施方式,也可以通过如下公式确定所述第二占比f2:

    其中,f2a为第二目标类型标签a的第二占比,x为目标历史交易对应的状态数据的总数,xa为第二目标类型标签a的系统状态数据的数量。

    这样,可以根据每一种所述第二目标类型标签的第一占比以及第二占比确定各所述目标历史交易的系统状态数据所对应的权重。例如,可以通过如下公式计算各系统状态数据所对应的权重:

    其中,ft=ft1×ft2,ft1为系统状态数据t所对应的第二目标类型标签的第一占比,ft2为系统状态数据t所对应的第二目标类型标签的第二占比。at为系统状态数据t所对应的权重,nt为时间步长,在这种情况下即为输入至所述系统状态聚类模型的系统状态数据的数量。

    在确定每一目标历史交易的系统状态数据的权重之后,参照下式:

    可以将每一所述目标历史交易的系统状态数据所对应的权重,以及该系统状态数据的第二目标类型标签所对应的目标比例,进行加权求和,得到所述第二交易成功率。其中,所述目标比例为标记有该第二目标类型标签且交易状态为成功状态的训练样本,在所有标记有该第二目标类型标签的训练样本中所占的比例。pt为所述第二交易成功率,pw1为目标比例,针对不同的状态数据,pw1可以不同。

    采用上述技术方案,能够基于目标历史交易的系统状态数据对所述交易请求所对应的交易的成功率进行预测,从而能够降低交易失败现象的发生频率。

    此外,在一些实施场景中,也可以根据历史交易的系统状态数据建立系统状态预测模型,从而可以根据所述目标历史交易所对应的系统状态数据以及所述系统状态预测模型对所述交易的成功率进行预测。

    图4是本公开一示例性实施例所示出的一种区块链网络交易方法的流程图,所述方法在图1的基础上,所述状态数据包括所述目标历史交易的系统状态数据,所述环境预测模型包括系统状态预测模型,所述将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签,包括:

    s123,将所有所述目标历史交易的系统状态数据作为所述系统状态预测模型的一个输入量,输入所述系统状态预测模型,得到所述系统状态预测模型输出的表征系统状态类型的第三目标类型标签。

    其中,关于系统状态数据,以及lstm的构建,请参照图2以及图3中对于相关内容的实施例说明,为了说明书的简洁,本公开对此不做限定。

    关于训练样本,所述系统状态预测模型的训练样本与所述区块链网络的历史交易时间段一一对应,一个历史时间段内的同一区块链节点的所有历史交易对应的系统状态数据作为一个训练样本。

    在构建基于lstm的系统状态预测模型后,可以将确定的训练样本数据输入至所述lstm,得到所述lstm的预测结果。示例地,对于系统状态数据1-11,若输入至所述系统状态预测模型的训练样本为系统状态数据1-10,则可以将系统状态数据11的类型标签作为所述训练样本的类型标签。这样,可以通过对比所述系统状态模型输出的预测标签以及所述训练样本的类型标签,从而对所述系统状态预测模型的预测结果的正确性进行判定,并进而对lstm的相关网络参数进行更新,直至模型收敛,完成训练。

    所述根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率,包括:

    s133,根据标记有所述第三目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第三目标类型标签的训练样本中所占的比例,确定所述交易请求的第三交易成功率。其中,所述目标交易成功率包括所述第三交易成功率。

    在这种情况下,可以基于所述第三交易成功率与成功率阈值的大小关系,确定是否执行所述交易请求对应的交易操作,具体策略请参照关于步骤s14的实施例说明,本公开在此不做赘述。

    上述技术方案能够基于系统状态数据以及基于系统状态数据构建的系统状态预测模型,对交易的结果进行预测,从而能够降低交易失败现象的发生率。

    图5是本公开一示例性实施例所示出的一种区块链网络交易方法的流程图,所述方法在图1的基础上,所述状态数据包括所述目标历史交易的交易状态数据,所述环境预测模型包括交易状态聚类模型,所述将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签,包括:

    s124,将所有所述目标历史交易的交易状态数据,以一条目标历史交易的交易状态数据作为一个输入量的方式,输入所述交易状态聚类模型,得到所述交易状态聚类模型输出的表征每一条所述目标历史交易的交易状态类型的第四目标类型标签。

    所述交易状态聚类模型的训练样本为所述区块链网络每一历史交易对应的交易状态数据,所述交易状态聚类模型在训练过程中,针对所有训练样本聚类为多个类簇,所述第四目标类型标签为表征所述目标历史交易的交易状态数据所属的目标类簇。

    关于交易状态数据以及聚类方法,请参照图2和图3的实施例说明,本公开在此不做赘述。

    所述根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率,包括:

    s134,根据标记有所述第四目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第四目标类型标签的训练样本中所占的比例,确定所述交易请求的第四交易成功率,所述目标交易成功率包括所述第四交易成功率。

    在这种情况下,可以基于所述第四交易成功率与成功率阈值的大小关系,确定是否执行所述交易请求对应的交易操作,具体策略请参照关于步骤s14的实施例说明,本公开在此不做赘述。

    上述技术方案能够基于交易状态数据以及基于交易状态数据构建的交易状态预测模型,对交易的结果进行预测,从而能够降低交易失败现象的发生率。

    值得说明的是,上述实施例中分别以交易状态数据以及系统状态数据对交易的成功率进行了预测,但本领域技术人员应当知晓,在具体实施时,也可以将图2和3所示的方法结合使用。例如,可以通过交易状态数据以及交易状态预测模型获得第一交易成功率pw2,并通过系统状态数据以及系统状态聚类模型获得第二交易成功率pw1。这样,可以通过为所述第一交易成功率以及第二交易成功率分别设置权重,从而得到最终的交易成功率作为所述目标交易成功率。例如,目标交易成功率p可以为:

    p=αpw2 (1-α)pw1

    其中,α可以根据应用需求进行设置,本公开对此不做限定。类似的,也可以结合图4和图5所示的方法,综合所述第三交易成功率以及第四交易成功率来对待进行交易的成功率进行预测。

    此外,关于上述实施例中的训练样本,在一些可能的场景中,上述实施例中所描述的各类模型也可以基于输入的数据持续训练。例如,对于本次输入至模型的状态数据,在下一次输入状态数据并计算交易成功率时,也可以将本次输入的状态数据视为上述实施例中的训练样本,本公开对此不做限定。

    在一种可能的实施方式中,还可以结合图2至图5所示的方法来综合预测所述交易的成功率,在这种情况下,所述状态数据包括所述目标历史交易的交易状态数据以及系统状态数据,所述系统状态数据用于表征在所述目标历史交易的发生时刻的系统状态,所述环境预测模型包括交易状态预测模型、系统状态聚类模型、交易状态聚类模型以及系统状态预测模型;相应地:

    所述目标交易成功率包括:

    基于所述交易状态数据和所述交易状态预测模型得到的第一交易成功率;基于所述系统状态数据和所述系统状态聚类模型得到的第二交易成功率;基于所述系统状态数据和所述系统状态预测模型得到的第三交易成功率;基于所述交易状态数据和所述交易状态聚类模型得到的第四交易成功率;所述根据所述目标交易成功率与成功率阈值的大小关系,确定是否执行所述交易请求对应的交易操作,包括:

    对所述第一交易成功率、所述第二交易成功率、所述第三交易成功率以及所述第三交易成功率进行加权求和,得到和值;

    在所述和值大于所述成功率阈值的情况下,执行所述交易请求对应的交易操作;

    在所述和值小于或等于所述成功率阈值的情况下,撤销所述交易请求。

    关于本实施例中的各类模型以及各交易成功率的计算方式,请参照图2至图5的实施例说明,为了说明书的简洁,本公开对此不做赘述。

    此外,在一些实施场景中,也可以分别为第一交易成功率至第四交易成功率设置相应的阈值数据,并通过对比各交易成功率与对应的阈值数据确定交易的策略。例如,进行交易、撤销交易等等。

    上述实施例分别通过交易状态数据、系统状态数据以及四种模型对交易成功率进行了预测,有助于提升预测结果的准确度。

    此外值得说明的是,关于上述实施例中的第一交易成功率、第三交易成功率以及第四交易成功率的计算方法,参照上述关于步骤s132的实施例说明,在一些实施方式中也可以基于同样的发明构思对所述第一交易成功率、第三交易成功率以及第四交易成功率进行计算,本公开在此不做赘述。

    图6是本公开一示例性实施例所示出的一种聚类模型的聚类数的确定方法的流程图,如图6所示,通过如下方式得到所述系统状态聚类模型或所述交易状态聚类模型的目标聚类数,所述方法包括:

    在s61中,设定多个候选聚类数。

    例如,可以确定候选聚类数范围[k,k],得到循环次数k-k。

    在s62中,针对每一所述候选聚类数,根据该候选聚类数对待聚类数据进行聚类,直至聚类中心收敛。

    示例地,针对包括n个交易系统状态数据的聚类样本集d={x1,x2,x3,...,xi,...,xn},可以定义聚类中心个数为k,从而可以随机选取k个样本作为聚类中心,选取的聚类中心例如可以为(μ1,μ2,μ3,...,μk)。

    在选取出聚类中心之后,可以计算各聚类样本到各聚类中心的距离,例如:dij=||xi-μj||2。其中,dij为样本xi相对聚类中心μj的距离。这样,对于聚类中心μj,j=1,2,3,...,k,可以重新计算聚类中心:

    这样,通过迭代上述聚类中心的更新过程,最终可以得到收敛后的聚类中心,并根据收敛后的聚类中心输出聚类簇划分结果c={c1,c2,...,ck}。

    在s63中,计算对应于每一候选聚类数的多个聚类类别的类间间距值以及每一所述聚类类别中的各数据的类内间距值。

    沿用上述例子,对应该聚类数k,类内间距可以为:

    其中,d为对应该聚类数k的类间间距值,其等于第j类的第i个样本到该类中所有样本的平均距离,与该第i个样本与第j类聚类簇的聚类中心的距离之和,的最大值。为第j类的第m个样本,为第j类的第i个样本,μj为第j类聚类簇的聚类中心,nj为第j类聚类簇的样本数量,j=1,2,3,...,k。

    此外,对应该聚类数k,类间间距可以为:

    其中,d为对应该聚类数k的类间间距值,其等于第j类的第i个样本到其他类中样本的平均距离和聚类中心距离之和,的最小值。为第k类的第m个样本,为第j类的第i个样本,μk为第k类聚类簇的聚类中心,nk为第k类聚类簇的样本数量,j=1,2,3,...,k。

    在s64中,将类间间距值与类内间距值的差值中的最大值所对应的候选聚类数作为所述目标聚类数。

    例如,针对候选聚类数k,可以计算对应于该类候选聚类数的类间间距值与对应于该类候选聚类数的类内间距值的差值dk

    dk=d-d

    这样,针对候选聚类数k,k 1,…,k,可以得到差值列表d=[dk,dk 1,...,dk],从而可以将类间间距值与类内间距值的差值中的最大值所对应的候选聚类数作为所述目标聚类数。当然,在一些实施方式中,也可以将类内间距值与类间间距值的差值中的最小值所对应的候选聚类数作为所述目标聚类数,本公开对此不做限定。在确定目标聚类数后,可以根据所述目标聚类数对待局类数据(例如系统状态数据、交易状态数据)进行聚类,从而得到对应于各待聚类数据的类型标签。

    上述技术方案通过设定多个候选聚类数,以及分别计算对应于各聚类数的类间距离以及类内距离的方式,能够从多个候选聚类数中确定聚类效果更优的目标聚类数。这样,采用所述目标聚类数对待聚类进行聚类,能够提升聚类结果的准确度。

    基于同样的发明构思,本公开还提供一种区块链网络交易装置,参照图7所示出的一种区块链网络交易装置的框图,所述装置700包括:

    第一获取模块701,用于响应于目标节点获取到交易请求,获取所述目标节点的目标历史交易对应的状态数据,所述目标历史交易为所述目标节点在当前时刻之前的预设时长内产生的历史交易,或者所述目标历史交易为所述目标节点在获取到所述交易请求之前最新产生的预设数量个历史交易;

    第一输入模块702,用于将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签,所述环境预测模型的训练样本是基于区块链网络中产生的历史交易的状态数据得到的,每一所述训练样本标记有类型标签;

    第一确定模块703,用于根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率;

    第二确定模块704,用于根据所述目标交易成功率与成功率阈值的大小关系,确定是否执行所述交易请求对应的交易操作。

    上述技术方案中,区块链网络中的目标节点在获取到交易请求时可以获取所述目标节点的目标历史交易所对应的状态数据。这样,可以通过将所述状态数据输入至环境预测模型从而得到对应于所述状态数据的目标类型标签,并根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率。也就是说,上述技术方案能够在交易进行前对交易的成功率进行预测,进而可以撤销成功率较低的交易。因此,采用上述技术方案能够提升交易成功的概率,并降低交易失败对网络性能的影响。

    可选地,所述状态数据包括所述目标历史交易的交易状态数据,所述环境预测模型包括交易状态预测模型,相应地:

    所述第一输入模块702,包括:

    第一输入子模块,用于将所有所述目标历史交易的交易状态数据作为所述交易状态预测模型的一个输入量,输入所述交易状态预测模型,得到所述交易状态预测模型输出的表征交易状态类型的第一目标类型标签,所述交易状态预测模型的训练样本与所述区块链网络的历史交易时间段一一对应,一个历史时间段内的同一区块链节点的所有历史交易对应的交易状态数据作为一个训练样本;

    所述第一确定模块703,包括:

    第一确定子模块,用于根据标记有所述第一目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第一目标类型标签的训练样本中所占的比例,确定所述交易请求的第一交易成功率,所述目标交易成功率包括所述第一交易成功率。

    可选地,所述状态数据包括系统状态数据,用于表征在所述目标历史交易的发生时刻的系统状态,所述环境预测模型包括系统状态聚类模型,相应地:

    所述第一输入模块702,包括:

    第二输入子模块,用于将所有所述目标历史交易的系统状态数据,以一条目标历史交易的系统状态数据作为一个输入量的方式,输入所述系统状态聚类模型,得到所述系统状态聚类模型输出的表征每一条所述目标历史交易的系统状态类型的第二目标类型标签,所述系统状态聚类模型的训练样本为所述区块链网络每一历史交易对应的系统状态数据,所述系统状态聚类模型在训练过程中,针对所有训练样本聚类为多个类簇,所述第二目标类型标签为表征所述目标历史交易的系统状态数据所属的目标类簇;

    所述第一确定模块703,包括:

    第二确定子模块,用于根据标记有所述第二目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第二目标类型标签的训练样本中所占的比例,确定所述交易请求的第二交易成功率,所述目标交易成功率包括所述第二交易成功率。

    可选地,所述第二确定子模块,包括:

    第一确定子单元,用于针对每一种所述第二目标类型标签,确定标记有该种第二目标类型标签的训练样本在所有训练样本中的第一占比;

    第二确定子单元,用于针对每一种所述第二目标类型标签,在所有所述目标历史交易对应的状态数据中,确定属于该种第二目标类型标签的系统状态数据的第二占比;

    第三确定子单元,用于根据每一种所述第二目标类型标签的第一占比以及第二占比确定各所述目标历史交易的系统状态数据所对应的权重;

    计算子单元,用于将每一所述目标历史交易的系统状态数据所对应的权重,以及该系统状态数据的第二目标类型标签所对应的目标比例,进行加权求和,得到所述第二交易成功率;

    其中,所述目标比例为标记有该第二目标类型标签且交易状态为成功状态的训练样本,在所有标记有该第二目标类型标签的训练样本中所占的比例。

    可选地,所述状态数据包括所述目标历史交易的系统状态数据,所述环境预测模型包括系统状态预测模型,相应地:

    所述第一输入模块702,包括:

    第三输入子模块,用于将所有所述目标历史交易的系统状态数据作为所述系统状态预测模型的一个输入量,输入所述系统状态预测模型,得到所述系统状态预测模型输出的表征系统状态类型的第三目标类型标签,所述系统状态预测模型的训练样本与所述区块链网络的历史交易时间段一一对应,一个历史时间段内的同一区块链节点的所有历史交易对应的系统状态数据作为一个训练样本;

    所述第一确定模块703,包括:

    第三确定子模块,用于根据标记有所述第三目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第三目标类型标签的训练样本中所占的比例,确定所述交易请求的第三交易成功率,所述目标交易成功率包括所述第三交易成功率。

    可选地,所述状态数据包括所述目标历史交易的交易状态数据,所述环境预测模型包括交易状态聚类模型,相应的:

    所述第一输入模块702,包括:

    第四输入子模块,用于将所有所述目标历史交易的交易状态数据,以一条目标历史交易的交易状态数据作为一个输入量的方式,输入所述交易状态聚类模型,得到所述交易状态聚类模型输出的表征每一条所述目标历史交易的交易状态类型的第四目标类型标签,所述交易状态聚类模型的训练样本为所述区块链网络每一历史交易对应的交易状态数据,所述交易状态聚类模型在训练过程中,针对所有训练样本聚类为多个类簇,所述第四目标类型标签为表征所述目标历史交易的交易状态数据所属的目标类簇;

    所述第一确定模块703,包括:

    第四确定子模块,用于根据标记有所述第四目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第四目标类型标签的训练样本中所占的比例,确定所述交易请求的第四交易成功率,所述目标交易成功率包括所述第四交易成功率。

    可选地,所述状态数据包括所述目标历史交易的交易状态数据以及系统状态数据,所述系统状态数据用于表征在所述目标历史交易的发生时刻的系统状态,所述环境预测模型包括交易状态预测模型、系统状态聚类模型、交易状态聚类模型以及系统状态预测模型;相应地:

    所述目标交易成功率包括:

    基于所述交易状态数据和所述交易状态预测模型得到的第一交易成功率;

    基于所述系统状态数据和所述系统状态聚类模型得到的第二交易成功率;

    基于所述系统状态数据和所述系统状态预测模型得到的第三交易成功率;

    基于所述交易状态数据和所述交易状态聚类模型得到的第四交易成功率;

    所述第二确定模块,包括:

    第一计算子模块,用于对所述第一交易成功率、所述第二交易成功率、所述第三交易成功率以及所述第三交易成功率进行加权求和,得到和值;

    第一执行子模块,用于在所述和值大于所述成功率阈值的情况下,执行所述交易请求对应的交易操作;

    第二执行子模块,用于在所述和值小于或等于所述成功率阈值的情况下,撤销所述交易请求。

    可选地,所述交易状态数据包括交易并发数、交易响应时间、交易吞吐量、交易超时设置时间、出块时间设置信息、区块大小设置信息、上次交易结果标识以及本次交易结果标识中的一者或多者。

    可选地,所述系统状态数据包括中央处理器cpu占用率、网络占用带宽、内存占用率、磁盘使用率、cpu占用变化率、网络占用带宽变化率、内存占用变化率、磁盘使用变化率中的一者或多者。

    可选地,所述装置还包括:执行模块,用于确定所述系统状态聚类模型或所述交易状态聚类模型的目标聚类数,所述执行模块包括:

    设定子模块,用于设定多个候选聚类数;

    聚类子模块,用于针对每一所述候选聚类数,根据该候选聚类数对待聚类数据进行聚类,直至聚类中心收敛;

    第二计算子模块,用于计算对应于每一候选聚类数的多个聚类类别的类间间距值以及每一所述聚类类别中的各数据的类内间距值;

    第三执行子模块,用于将类间间距值与类内间距值的差值中的最大值所对应的候选聚类数作为所述目标聚类数。

    可选地,所述交易请求为跨链交易请求,相应地,所述目标历史交易为所述目标节点在当前时刻之前的预设时长内产生的历史跨链交易,或者所述目标历史交易为所述目标节点在获取到所述交易请求之前最新产生的预设数量个历史跨链交易,所述环境预测模型的训练样本是基于区块链网络中产生的历史跨链交易的状态数据得到的。

    关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

    本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开所提供的区块链网络交易方法的步骤。

    本公开还提供一种电子设备,包括:

    存储器,其上存储有计算机程序;

    处理器,用于执行所述存储器中的所述计算机程序,以实现本公开所提供的区块链网络交易方法的步骤。

    图8是根据一示例性实施例示出的一种电子设备800的框图,所述电子设备800例如可以作为区块链节点。如图8所示,该电子设备800可以包括:处理器801,存储器802。该电子设备800还可以包括多媒体组件803,输入/输出(i/o)接口804,以及通信组件805中的一者或多者。

    其中,处理器801用于控制该电子设备800的整体操作,以完成上述的区块链网络交易方法中的全部或部分步骤。存储器802用于存储各种类型的数据以支持在该电子设备800的操作,这些数据例如可以包括用于在该电子设备800上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如区块数据、证书、图片、视频等等。该存储器802可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件803可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器802或通过通信组件805发送。音频组件可以至少一个扬声器,用于输出音频信号。i/o接口804为处理器801和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件805用于该电子设备800与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件805可以包括:wi-fi模块,蓝牙模块,nfc模块等等。

    在一示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的区块链网络交易方法。

    在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的区块链网络交易方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器802,上述程序指令可由电子设备800的处理器801执行以完成上述的区块链网络交易方法。

    在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的区块链网络交易方法的代码部分。

    以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

    另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

    此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。


    技术特征:

    1.一种区块链网络交易方法,其特征在于,包括:

    响应于目标节点获取到交易请求,获取所述目标节点的目标历史交易对应的状态数据,所述目标历史交易为所述目标节点在当前时刻之前的预设时长内产生的历史交易,或者所述目标历史交易为所述目标节点在获取到所述交易请求之前最新产生的预设数量个历史交易;

    将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签,所述环境预测模型的训练样本是基于区块链网络中产生的历史交易的状态数据得到的,每一所述训练样本标记有类型标签;

    根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率;

    根据所述目标交易成功率与成功率阈值的大小关系,确定是否执行所述交易请求对应的交易操作。

    2.根据权利要求1所述的方法,其特征在于,所述状态数据包括所述目标历史交易的交易状态数据,所述环境预测模型包括交易状态预测模型,相应地:

    所述将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签,包括:

    将所有所述目标历史交易的交易状态数据作为所述交易状态预测模型的一个输入量,输入所述交易状态预测模型,得到所述交易状态预测模型输出的表征交易状态类型的第一目标类型标签,所述交易状态预测模型的训练样本与所述区块链网络的历史交易时间段一一对应,一个历史时间段内的同一区块链节点的所有历史交易对应的交易状态数据作为一个训练样本;

    所述根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率,包括:

    根据标记有所述第一目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第一目标类型标签的训练样本中所占的比例,确定所述交易请求的第一交易成功率,所述目标交易成功率包括所述第一交易成功率。

    3.根据权利要求1所述的方法,其特征在于,所述状态数据包括系统状态数据,用于表征在所述目标历史交易的发生时刻的系统状态,所述环境预测模型包括系统状态聚类模型,相应地:

    所述将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签,包括:

    将所有所述目标历史交易的系统状态数据,以一条目标历史交易的系统状态数据作为一个输入量的方式,输入所述系统状态聚类模型,得到所述系统状态聚类模型输出的表征每一条所述目标历史交易的系统状态类型的第二目标类型标签,所述系统状态聚类模型的训练样本为所述区块链网络每一历史交易对应的系统状态数据,所述系统状态聚类模型在训练过程中,针对所有训练样本聚类为多个类簇,所述第二目标类型标签为表征所述目标历史交易的系统状态数据所属的目标类簇;

    所述根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率,包括:

    根据标记有所述第二目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第二目标类型标签的训练样本中所占的比例,确定所述交易请求的第二交易成功率,所述目标交易成功率包括所述第二交易成功率。

    4.根据权利要求3所述的方法,其特征在于,所述根据标记有所述第二目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第二目标类型标签的训练样本中所占的比例,确定所述交易请求的第二交易成功率,包括:

    针对每一种所述第二目标类型标签,确定标记有该种第二目标类型标签的训练样本在所有训练样本中的第一占比;

    针对每一种所述第二目标类型标签,在所有所述目标历史交易对应的状态数据中,确定属于该种第二目标类型标签的系统状态数据的第二占比;

    根据每一种所述第二目标类型标签的第一占比以及第二占比确定各所述目标历史交易的系统状态数据所对应的权重;

    将每一所述目标历史交易的系统状态数据所对应的权重,以及该系统状态数据的第二目标类型标签所对应的目标比例,进行加权求和,得到所述第二交易成功率;

    其中,所述目标比例为标记有该第二目标类型标签且交易状态为成功状态的训练样本,在所有标记有该第二目标类型标签的训练样本中所占的比例。

    5.根据权利要求1所述的方法,其特征在于,所述状态数据包括所述目标历史交易的系统状态数据,所述环境预测模型包括系统状态预测模型,相应地:

    所述将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签,包括:

    将所有所述目标历史交易的系统状态数据作为所述系统状态预测模型的一个输入量,输入所述系统状态预测模型,得到所述系统状态预测模型输出的表征系统状态类型的第三目标类型标签,所述系统状态预测模型的训练样本与所述区块链网络的历史交易时间段一一对应,一个历史时间段内的同一区块链节点的所有历史交易对应的系统状态数据作为一个训练样本;

    所述根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率,包括:

    根据标记有所述第三目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第三目标类型标签的训练样本中所占的比例,确定所述交易请求的第三交易成功率,所述目标交易成功率包括所述第三交易成功率。

    6.根据权利要求1所述的方法,其特征在于,所述状态数据包括所述目标历史交易的交易状态数据,所述环境预测模型包括交易状态聚类模型,相应的:

    所述将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签,包括:

    将所有所述目标历史交易的交易状态数据,以一条目标历史交易的交易状态数据作为一个输入量的方式,输入所述交易状态聚类模型,得到所述交易状态聚类模型输出的表征每一条所述目标历史交易的交易状态类型的第四目标类型标签,所述交易状态聚类模型的训练样本为所述区块链网络每一历史交易对应的交易状态数据,所述交易状态聚类模型在训练过程中,针对所有训练样本聚类为多个类簇,所述第四目标类型标签为表征所述目标历史交易的交易状态数据所属的目标类簇;

    所述根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率,包括:

    根据标记有所述第四目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述第四目标类型标签的训练样本中所占的比例,确定所述交易请求的第四交易成功率,所述目标交易成功率包括所述第四交易成功率。

    7.根据权利要求1所述的方法,其特征在于,所述状态数据包括所述目标历史交易的交易状态数据以及系统状态数据,所述系统状态数据用于表征在所述目标历史交易的发生时刻的系统状态,所述环境预测模型包括交易状态预测模型、系统状态聚类模型、交易状态聚类模型以及系统状态预测模型;相应地:

    所述目标交易成功率包括:

    基于所述交易状态数据和所述交易状态预测模型得到的第一交易成功率;

    基于所述系统状态数据和所述系统状态聚类模型得到的第二交易成功率;

    基于所述系统状态数据和所述系统状态预测模型得到的第三交易成功率;

    基于所述交易状态数据和所述交易状态聚类模型得到的第四交易成功率;

    所述根据所述目标交易成功率与成功率阈值的大小关系,确定是否执行所述交易请求对应的交易操作,包括:

    对所述第一交易成功率、所述第二交易成功率、所述第三交易成功率以及所述第三交易成功率进行加权求和,得到和值;

    在所述和值大于所述成功率阈值的情况下,执行所述交易请求对应的交易操作;

    在所述和值小于或等于所述成功率阈值的情况下,撤销所述交易请求。

    8.一种区块链网络交易装置,其特征在于,包括:

    第一获取模块,用于响应于目标节点获取到交易请求,获取所述目标节点的目标历史交易对应的状态数据,所述目标历史交易为所述目标节点在当前时刻之前的预设时长内产生的历史交易,或者所述目标历史交易为所述目标节点在获取到所述交易请求之前最新产生的预设数量个历史交易;

    第一输入模块,用于将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签,所述环境预测模型的训练样本是基于区块链网络中产生的历史交易的状态数据得到的,每一所述训练样本标记有类型标签;

    第一确定模块,用于根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率;

    第二确定模块,用于根据所述目标交易成功率与成功率阈值的大小关系,确定是否执行所述交易请求对应的交易操作。

    9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。

    10.一种电子设备,其特征在于,包括:

    存储器,其上存储有计算机程序;

    处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-7中任一项所述方法的步骤。

    技术总结
    本公开涉及一种区块链网络交易方法、装置、存储介质及电子设备,所述方法包括:响应于目标节点获取到交易请求,获取所述目标节点的目标历史交易对应的状态数据;将所述状态数据输入至环境预测模型,得到所述环境预测模型输出的所述状态数据的目标类型标签;根据标记有所述目标类型标签且交易状态为成功状态的训练样本,在所有标记有所述目标类型标签的训练样本中所占的比例,确定所述交易请求的目标交易成功率;根据所述目标交易成功率与成功率阈值的大小关系,确定是否执行所述交易请求对应的交易操作。

    技术研发人员:牟童;王诗鈞;徐石成;何光宇
    受保护的技术使用者:东软集团股份有限公司
    技术研发日:2020.11.20
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-17056.html

    最新回复(0)