技术领域
[0001] 本
发明涉及互联网技术领域,具体涉及一种交易信息查询方法、装置及系统。
背景技术
[0002] 在
比特币网络中,完全
节点保存着网络上完整的
区块链,它可以通过遍历整条区块链上的
交易记录来获取某个账户的所有交易信息。而在区块链网络上,为了方便用户,提供了一种不完全节点,也称为SPV(简单支付验证,Simplified Payment Verification)节点,即简单支付验证节点。通过SPV节点,用户只要保存所有的
区块头信息,即使不运行完全节点也可验证支付。
[0003] SPV节点的出现,给普通用户参与比特币网络交易提供了很大的方便。用户虽然无法直接验证交易,但如果能够从区块链的某处找到相符的交易,就可以确认网络已经认可了这笔交易,而且得到了网络的多个节点的认可。也就是说,SPV节点不在其节点本身上进行验证,而是借助相关联的完全节点去完成验证,SPV节点本身只维护用户所需的特定数据。
[0004] 也就是说,SPV节点需要接收完全节点所查询的交易信息,就会存在完全节点发送的交易信息的数据量过大,而导致SPV节点超负荷运行,增加了无效交易信息的传输。
发明内容
[0005] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的交易信息查询方法、交易信息查询装置和相应的交易信息查询系统。
[0006] 根据本发明的一个方面,提供了一种交易信息查询方法,方法应用于SPV节点,包括:
[0007] 向完全节点发送携带有第一匹配规则的交易信息查询
请求,以供完全节点根据第一匹配规则查询与第一匹配规则相匹配的第一交易信息,并统计第一交易信息的数据量;
[0008] 接收完全节点发送的数据量,并判断数据量是否大于SPV节点对应的第一预设
阈值;
[0009] 若数据量大于第一预设阈值,则动态调整第一匹配规则,得到第二匹配规则;
[0010] 向完全节点发送携带有第二匹配规则的交易信息查询请求,以供完全节点根据第二匹配规则查询与第二匹配规则相匹配的第二交易信息;
[0011] 接收完全节点发送的第二交易信息。
[0012] 根据本发明的另一方面,提供了一种交易信息查询装置,装置应用于SPV节点,包括:
[0013] 发送模块,用于向完全节点发送携带有第一匹配规则的交易信息查询请求,以供完全节点根据第一匹配规则查询与第一匹配规则相匹配的第一交易信息,并统计第一交易信息的数据量;
[0014] 接收模块,用于接收完全节点发送的数据量;
[0015] 判断模块,用于判断数据量是否大于SPV节点对应的第一预设阈值;
[0016] 调整模块,用于在数据量大于第一预设阈值的情况下,动态调整第一匹配规则,得到第二匹配规则;
[0017] 发送模块进一步用于:向完全节点发送携带有第二匹配规则的交易信息查询请求,以供完全节点根据第二匹配规则查询与第二匹配规则相匹配的第二交易信息;
[0018] 接收模块进一步用于:接收完全节点发送的第二交易信息。
[0019] 根据本发明的另一方面,提供了一种交易信息查询系统,系统包括:交易信息查询装置和完全节点。
[0020] 根据本发明提供的方案,向完全节点发送携带有第一匹配规则的交易信息查询请求,以供完全节点根据第一匹配规则查询与第一匹配规则相匹配的第一交易信息,并统计第一交易信息的数据量,接收完全节点发送的数据量,并判断数据量是否大于SPV节点对应的第一预设阈值,若数据量大于第一预设阈值,则动态调整第一匹配规则,得到第二匹配规则,向完全节点发送携带有第二匹配规则的交易信息查询请求,以供完全节点根据第二匹配规则查询与第二匹配规则相匹配的第二交易信息,接收完全节点发送的第二交易信息,减少了无效的交易信息的传输,避免了SPV节点因接收过多的交易信息而超负荷运行的
缺陷。
[0021] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照
说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
[0022] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0023] 图1示出了根据本发明一个
实施例的交易信息查询方法的流程示意图;
[0024] 图2示出了根据本发明另一个实施例的交易信息查询方法的流程示意图;
[0025] 图3示出了根据本发明一个实施例的交易信息查询装置的结构示意图;
[0026] 图4示出了根据本发明一个实施例的交易信息查询系统的结构示意图。
具体实施方式
[0027] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0028] 图1示出了根据本发明一个实施例的交易信息查询方法的流程示意图。该方法应用于SPV节点,如图1所示,该方法包括以下步骤:
[0029] 步骤S100,向完全节点发送携带有第一匹配规则的交易信息查询请求,以供完全节点根据第一匹配规则查询与第一匹配规则相匹配的第一交易信息,并统计第一交易信息的数据量。
[0030] SPV(Simplified Payment Verification)节点,亦成为简单支付验证节点,该节点不需要储存完整的区块链,仅保存所有的区块头(block header)就可以进行完整支付验证的轻节点。
[0031] 完全节点为区块链网络中的节点,其中,完全节点存储有完整的区块链副本。区块链包括但不限于比特币(bitcoin)区块链、以太坊(ethereum)区块链和超级账本(hyperledger)区块链。
[0032] 当SPV节点需要查询交易信息时,可以向完全节点发送交易信息查询请求,该交易信息查询请求中携带有第一匹配规则,其中,第一匹配规则定义了匹配条件,完全节点在接收到SPV节点发送的携带有第一匹配规则的交易信息查询请求后,可以根据第一匹配规则查询与第一匹配规则相匹配的第一交易信息。完全节点在查询到与第一匹配规则相匹配的第一交易信息后,对第一交易信息的数据量进行统计,并将统计后的数据量发送给SPV节点。
[0033] 步骤S101,接收完全节点发送的数据量。
[0034] SPV节点接收完全节点发送的数据量,由于每个节点所能接收的交易信息的数据量是有限的,若发送给SPV节点的交易信息过多,很容易造成SPV节点超负荷运行,从而影响传输速率,因此,在本实施例中,接收完全节点发送的数据量,而不是直接将完全节点所查询到第一交易信息发送给SPV节点。
[0035] 步骤S102,判断数据量是否大于SPV节点对应的第一预设阈值,若数据量大于第一预设阈值,则执行步骤S103。
[0036] SPV节点所能接收的数据量是有一最大值的,这里称为第一预设阈值,在接收到完全节点发送的数据量后,判断数据量是否大于SPV节点对应的第一预设阈值,主要是为了确定完全节点所查询到的第一交易信息的数据量是否大于SPV节点所能接收的数据量,即,数据量是否大于第一预设阈值,进而确定是否需要对第一匹配规则进行调整。
[0037] 步骤S103,动态调整第一匹配规则,得到第二匹配规则。
[0038] 在判断出完全节点发送的数据量大于第一预设阈值的情况下,需要对第一匹配规则进行动态调整,目的是减少完全节点查询到的交易信息的数据量。
[0039] 步骤S104,向完全节点发送携带有第二匹配规则的交易信息查询请求,以供完全节点根据第二匹配规则查询与第二匹配规则相匹配的第二交易信息。
[0040] 在对第一匹配规则进行动态调整,得到第二匹配规则后,SPV节点将向完全节点发送携带有第二匹配规则的交易信息查询请求,完全节点根据第二匹配规则查询与第二匹配规则相匹配的第二交易信息,并将第二交易信息发送给SPV节点。
[0041] 步骤S105,接收完全节点发送的第二交易信息。
[0042] 根据本发明上述实施例提供的方法,向完全节点发送携带有第一匹配规则的交易信息查询请求,以供完全节点根据第一匹配规则查询与第一匹配规则相匹配的第一交易信息,并统计第一交易信息的数据量,接收完全节点发送的数据量,并判断数据量是否大于SPV节点对应的第一预设阈值,若数据量大于第一预设阈值,则动态调整第一匹配规则,得到第二匹配规则,向完全节点发送携带有第二匹配规则的交易信息查询请求,以供完全节点根据第二匹配规则查询与第二匹配规则相匹配的第二交易信息,接收完全节点发送的第二交易信息,减少了无效的交易信息的传输,避免了SPV节点因接收过多的交易信息而超负荷运行的缺陷。
[0043] 图2示出了根据本发明另一个实施例的交易信息查询方法的流程示意图。该方法应用于SPV节点,如图2所示,该方法包括以下步骤:
[0044] 步骤S200,向完全节点发送携带有第一匹配规则的交易信息查询请求,以供完全节点根据第一匹配规则查询与第一匹配规则相匹配的第一交易信息,并统计第一交易信息的数据量。
[0045] SPV(Simplified Payment Verification)节点,亦成为简单支付验证节点,该节点不需要储存完整的区块链,仅保存所有的区块头(block header)就可以进行完整支付验证的轻节点。
[0046] 完全节点为区块链网络中的节点,其中,完全节点存储有完整的区块链副本。区块链包括但不限于比特币(bitcoin)区块链、以太坊(ethereum)区块链和超级账本(hyperledger)区块链。
[0047] 当SPV节点需要查询交易信息时,可以向完全节点发送交易信息查询请求,该交易信息查询请求中携带有第一匹配规则,其中,第一匹配规则定义了匹配条件,完全节点在接收到SPV节点发送的携带有第一匹配规则的交易信息查询请求后,可以根据第一匹配规则查询与第一匹配规则相匹配的第一交易信息。完全节点在查询到与第一匹配规则相匹配的第一交易信息后,对第一交易信息的数据量进行统计,并将统计后的数据量发送给SPV节点。
[0048] 其中,第一匹配规则为根据关键字和计数布隆
过滤器生成的。更为具体地,关键字包括区块链账户地址信息。
[0049] 具体地,布隆过滤器是一个很长的二进制向量和一系列随机映射函数。假设布隆过滤器是一个十六位数组和三个哈希函数,三个哈希函数分别为哈希函数K1、哈希函数K2和哈希函数K3,布隆过滤器的十六位数组里的每一个数的初始值均为零,第一匹配规则生成的过程可为:将区块链账户地址信息作为关键字通过哈希函数K1进行运算,经哈希函数K1运算后得到一个在1和16之间的数,将它在该十六位数组中所对应的
位置为1,从而把哈希函数K1的输出记录下来,接着按照同样方式将哈希函数K2的输出和哈希函数K3的输出记录下来。
[0050] 那么完全节点在匹配交易信息的过程中,将存储的历史交易信息中的交易发起地址信息和交易目的地址信息分别作为关键字分别经这三个哈希函数运算后得到两个以上输出,如果这两个以上输出中的任一输出中设置为1的位置在十六位数组中被设置为1,则说明该历史交易信息为与第一匹配规则匹配的交易信息;否则说明该历史交易信息不是与第一匹配规则匹配的交易信息。
[0051] 假设根据SPV节点的区块链账户地址信息和三个哈希函数运算后得到十六位数组中的第1位、第3位和第14位被置为1,如果完全节点存储的历史交易信息1中的交易发起地址信息和交易目的地址信息分别作为关键字分别经这三个哈希函数运算后得到的输出为1、3和14与2、4、10,则说明历史交易信息1为与第一匹配规则匹配的交易信息,虽然历史交易信息1为与第一匹配规则匹配的交易信息,但是,历史交易信息1不一定是与SPV节点相关的交易信息;如果完全节点存储的历史交易信息2中的交易发起地址信息和交易目的地址信息作为关键字分别经这三个哈希函数运算后得到的输出为1、2和14与2、4、10,则说明历史交易信息2不是与第一匹配规则匹配的交易信息。
[0052] 需要注意的是,当增加关键词时,在对关键字进行哈希处理后得到输出值的位可能已经是1了,这种情况下,该位不会再次改变,也就导致在删减关键字时,无法直接
修改位数组中相应位的值。也就是说,随着更多的关键字指向了重复的位,布隆过滤器随着位1的增加而饱和,准确性也降低了。因此,在M和N不变的条件下,关键字越多,完全节点根据第一匹配规则能够匹配成功的交易信息就越多,则可能导致完全节点发送给SPV节点的交易信息的数据量过大甚至超过了SPV节点可接收的交易信息的数据量。就有可能造成SPV节点超负荷运行,而且还会导致无效的数据传输。当需要增加或删减关键字时,需要根据增加后或删减后的关键字和布隆过滤器重新生成一新的匹配规则。
[0053] 计数布隆过滤器是对布隆过滤器的一种改进,计数布隆过滤器是将原来的位数组中的每一位由bit扩展为n-bit计数器,也就是说,当多个关键字指向重复的位时,会在n-bit的位计数器加1,在匹配时检查位数组非零即可,当需要删减关键字时,只需把位数组的该关键字对应位减1;同理,当需要添加关键字时,在对添加的关键字进行哈希处理得到输出值后,只需在位数组对应的位加1,而不需要重新生成新的匹配规则。
[0054] 步骤S201,接收完全节点发送的数据量。
[0055] SPV节点接收完全节点发送的数据量,由于每个节点所能接收的交易信息的数据量是有限的,若发送给SPV节点的交易信息过多,很容易造成SPV节点超负荷运行,从而影响传输速率,因此,在本实施例中,接收完全节点发送的数据量,而不是直接将完全节点所查询到第一交易信息发送给SPV节点。
[0056] 步骤S202,判断数据量是否大于SPV节点对应的第一预设阈值,若数据量大于第一预设阈值,则执行步骤S203;若数据量小于第一预设阈值,则执行步骤S204。
[0057] SPV节点所能接收的数据量是有一最大值的,这里称为第一预设阈值,在接收到完全节点发送的数据量后,判断数据量是否大于SPV节点对应的第一预设阈值,主要是为了确定完全节点所查询到的第一交易信息的数据量是否大于SPV节点所能接收的数据量,即,数据量是否大于第一预设阈值,进而确定是否需要对第一匹配规则进行调整。
[0058] 步骤S203,对关键字进行删减,并根据删减后的关键字和计数布隆过滤器动态调整第一匹配规则,得到第二匹配规则。
[0059] 在数据量大于SPV节点对应的第一预设阈值的情况下,说明完全节点所查询到的第一交易信息的数据量大于SPV节点所能接收的交易信息的数据量的最大值,就会导致部分交易信息无法被接收,而出现无效的交易信息被传输,因此,需要对关键字进行删减,根据删减后的关键字和计数布隆过滤器动态调整第一匹配规则,得到第二匹配规则,具体地,可以将计数布隆过滤器中位数组的该关键字对应位减1。
[0060] 步骤S204,判断数据量是否小于SPV节点对应的第二预设阈值,若数据量小于第二预设阈值,则执行步骤S205;若数据量大于第二预设阈值,则执行步骤S208;其中,第二预设阈值小于第一预设阈值。
[0061] 在数据量小于第一预设阈值的情况下,本实施例还可以判断数据量是否小于SPV节点对应的第二预设阈值,这里的第二预设阈值可以根据实际经验进行设定,限定了SPV接收交易信息的数据量的最小值,以避免资源浪费。若数据量小于第二预设阈值,说明根据第一匹配规则所查询到第一交易信息的数据量过小,可以适当增加数据量,若数据量大于第二预设阈值,且小于第一预设阈值,则说明完全节点所查询到的第一交易信息的数据量合适,可以接收第一交易信息。
[0062] 步骤S205,添加新的关键字,并根据添加后的关键字和计数布隆过滤器动态调整第一匹配规则,得到第二匹配规则。
[0063] 在数据量小于SPV节点对应的第二预设阈值的情况下,说明完全节点所查询到的第一交易信息的数据量小于SPV节点所能接收的交易信息的数据量的最小值,就会导致资源浪费,因此,需要添加新的关键字,并根据添加后的关键字和计数布隆过滤器动态调整第一匹配规则,得到第二匹配规则,具体地,可以将计数布隆过滤器中位数组的该关键字对应位加1。
[0064] 步骤S206,向完全节点发送携带有第二匹配规则的交易信息查询请求,以供完全节点根据第二匹配规则查询与第二匹配规则相匹配的第二交易信息。
[0065] 在对第一匹配规则进行动态调整,得到第二匹配规则后,SPV节点将向完全节点发送携带有第二匹配规则的交易信息查询请求,完全节点根据第二匹配规则查询与第二匹配规则相匹配的第二交易信息,并将第二交易信息发送给SPV节点。
[0066] 步骤S207,接收完全节点发送的第二交易信息。
[0067] 步骤S208,向完全节点发送交易信息接收请求。
[0068] 在确定出数据量大于第二预设阈值,且小于第一预设阈值的情况下,说明完全节点所查询到的第一交易信息的数据量合适,可以接收第一交易信息。此时,SPV节点可以向完全节点发送交易信息接收请求,请求接收第一交易信息。
[0069] 步骤S209,接收完全节点响应交易信息接收请求而发送的第一交易信息。
[0070] 完全节点在接收到SPV节点发送的交易信息接收请求后,将查询匹配到的第一交易信息发送给SPV节点,SPV节点接收完全节点响应交易信息接收请求而发送的第一交易信息。
[0071] 根据本发明上述实施例提供的方法,通过添加或删减关键字修改计数布隆过滤器位数组的该关键字对应位,来动态调整第一匹配规则,可以减少无效的交易信息的传输,避免了SPV节点因接收过多的交易信息而超负荷运行的缺陷,而且无需再根据添加或删减后的关键字重新生成新的匹配规则。
[0072] 图3示出了根据本发明一个实施例的交易信息查询装置的结构示意图。该装置应用于SPV节点,如图3所示,该装置300包括:发送模块310、接收模块320、判断模块330、调整模块340。
[0073] 发送模块310,用于向完全节点发送携带有第一匹配规则的交易信息查询请求,以供完全节点根据第一匹配规则查询与第一匹配规则相匹配的第一交易信息,并统计第一交易信息的数据量。
[0074] 接收模块320,用于接收完全节点发送的数据量。
[0075] 判断模块330,用于判断数据量是否大于SPV节点对应的第一预设阈值。
[0076] 调整模块340,用于在数据量大于第一预设阈值的情况下,动态调整第一匹配规则,得到第二匹配规则。
[0077] 发送模块310进一步用于:向完全节点发送携带有第二匹配规则的交易信息查询请求,以供完全节点根据第二匹配规则查询与第二匹配规则相匹配的第二交易信息。
[0078] 接收模块320进一步用于:接收完全节点发送的第二交易信息。
[0079] 可选地,第一匹配规则和第二匹配规则为根据关键字和计数布隆过滤器生成的。其中,关键字包括区块链账户地址信息。
[0080] 可选地,调整模块340进一步用于:在数据量大于第一预设阈值的情况下,对关键字进行删减,并根据删减后的关键字和计数布隆过滤器动态调整第一匹配规则,得到第二匹配规则。
[0081] 可选地,判断模块330进一步用于:在数据量小于第一预设阈值的情况下,判断数据量是否小于SPV节点对应的第二预设阈值,其中,第二预设阈值小于第一预设阈值;
[0082] 调整模块340进一步用于:在数据量小于第二预设阈值的情况下,动态调整第一匹配规则,得到第二匹配规则。
[0083] 可选地,调整模块340进一步用于:添加新的关键字,并根据添加后的关键字和计数布隆过滤器动态调整第一匹配规则,得到第二匹配规则。
[0084] 可选地,发送模块310进一步用于:在数据量小于第一预设阈值且大于第二预设阈值的情况下,向完全节点发送交易信息接收请求;
[0085] 接收模块320进一步用于:接收完全节点响应交易信息接收请求而发送的第一交易信息。
[0086] 根据本发明上述实施例提供的装置,向完全节点发送携带有第一匹配规则的交易信息查询请求,以供完全节点根据第一匹配规则查询与第一匹配规则相匹配的第一交易信息,并统计第一交易信息的数据量,接收完全节点发送的数据量,并判断数据量是否大于SPV节点对应的第一预设阈值,若数据量大于第一预设阈值,则动态调整第一匹配规则,得到第二匹配规则,向完全节点发送携带有第二匹配规则的交易信息查询请求,以供完全节点根据第二匹配规则查询与第二匹配规则相匹配的第二交易信息,接收完全节点发送的第二交易信息,减少了无效的交易信息的传输,避免了SPV节点因接收过多的交易信息而超负荷运行的缺陷。
[0087] 图4示出了根据本发明一个实施例的交易信息查询系统的结构示意图。如图4所示,该系统400包括:交易信息查询装置300和完全节点410。
[0088] 在此提供的
算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0089] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0090] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个
权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0091] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、
摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0092] 此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0093] 本发明的各个部件实施例可以以
硬件实现,或者以在一个或者多个处理器上运行的
软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用
微处理器或者数字
信号处理器(DSP)来实现根据本发明实施例的交易信息查询设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,
计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网
网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0094] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0095] 本发明公开了:
[0096] A1、一种交易信息查询方法,其特征在于,所述方法应用于SPV节点,包括:
[0097] 向完全节点发送携带有第一匹配规则的交易信息查询请求,以供所述完全节点根据所述第一匹配规则查询与所述第一匹配规则相匹配的第一交易信息,并统计所述第一交易信息的数据量;
[0098] 接收所述完全节点发送的数据量,并判断所述数据量是否大于所述SPV节点对应的第一预设阈值;
[0099] 若所述数据量大于所述第一预设阈值,则动态调整所述第一匹配规则,得到第二匹配规则;
[0100] 向所述完全节点发送携带有所述第二匹配规则的交易信息查询请求,以供所述完全节点根据所述第二匹配规则查询与所述第二匹配规则相匹配的第二交易信息;
[0101] 接收所述完全节点发送的第二交易信息。
[0102] A2、根据A1所述的方法,其特征在于,所述第一匹配规则和第二匹配规则为根据关键字和计数布隆过滤器生成的。
[0103] A3、根据A2所述的方法,其特征在于,所述关键字包括区块链账户地址信息。
[0104] A4、根据A2或A3所述的方法,其特征在于,若所述数据量大于所述第一预设阈值,所述动态调整所述第一匹配规则,得到第二匹配规则进一步包括:
[0105] 对所述关键字进行删减,并根据删减后的关键字和计数布隆过滤器动态调整所述第一匹配规则,得到第二匹配规则。
[0106] A5、根据A2或A3所述的方法,其特征在于,若所述数据量小于所述第一预设阈值,所述方法还包括:判断所述数据量是否小于所述SPV节点对应的第二预设阈值,其中,所述第二预设阈值小于所述第一预设阈值;
[0107] 若所述数据量小于所述第二预设阈值,则动态调整所述第一匹配规则,得到第二匹配规则。
[0108] A6、根据A5所述的方法,其特征在于,所述动态调整所述第一匹配规则,得到第二匹配规则进一步包括:
[0109] 添加新的关键字,并根据添加后的关键字和计数布隆过滤器动态调整所述第一匹配规则,得到第二匹配规则。
[0110] A7、根据A5所述的方法,其特征在于,若所述数据量小于所述第一预设阈值且大于所述第二预设阈值,所述方法还包括:向所述完全节点发送交易信息接收请求,并接收所述完全节点响应所述交易信息接收请求而发送的第一交易信息。
[0111] B8、一种交易信息查询装置,其特征在于,所述装置应用于SPV节点,包括:
[0112] 发送模块,用于向完全节点发送携带有第一匹配规则的交易信息查询请求,以供所述完全节点根据所述第一匹配规则查询与所述第一匹配规则相匹配的第一交易信息,并统计所述第一交易信息的数据量;
[0113] 接收模块,用于接收所述完全节点发送的数据量;
[0114] 判断模块,用于判断所述数据量是否大于所述SPV节点对应的第一预设阈值;
[0115] 调整模块,用于在所述数据量大于所述第一预设阈值的情况下,动态调整所述第一匹配规则,得到第二匹配规则;
[0116] 所述发送模块进一步用于:向所述完全节点发送携带有所述第二匹配规则的交易信息查询请求,以供所述完全节点根据所述第二匹配规则查询与所述第二匹配规则相匹配的第二交易信息;
[0117] 所述接收模块进一步用于:接收所述完全节点发送的第二交易信息。
[0118] B9、根据B8所述的装置,其特征在于,所述第一匹配规则和第二匹配规则为根据关键字和计数布隆过滤器生成的。
[0119] B10、根据B9所述的装置,其特征在于,所述关键字包括区块链账户地址信息。
[0120] B11、根据B9或B10所述的装置,其特征在于,所述调整模块进一步用于:在所述数据量大于所述第一预设阈值的情况下,对所述关键字进行删减,并根据删减后的关键字和计数布隆过滤器动态调整所述第一匹配规则,得到第二匹配规则。
[0121] B12、根据B9或B10所述的装置,其特征在于,所述判断模块进一步用于:在所述数据量小于所述第一预设阈值的情况下,判断所述数据量是否小于所述SPV节点对应的第二预设阈值,其中,所述第二预设阈值小于所述第一预设阈值;
[0122] 所述调整模块进一步用于:在所述数据量小于所述第二预设阈值的情况下,动态调整所述第一匹配规则,得到第二匹配规则。
[0123] B13、根据B12所述的装置,其特征在于,所述调整模块进一步用于:添加新的关键字,并根据添加后的关键字和计数布隆过滤器动态调整所述第一匹配规则,得到第二匹配规则。
[0124] B14、根据B12所述的装置,其特征在于,所述发送模块进一步用于:在所述数据量小于所述第一预设阈值且大于所述第二预设阈值的情况下,向所述完全节点发送交易信息接收请求;
[0125] 所述接收模块进一步用于:接收所述完全节点响应所述交易信息接收请求而发送的第一交易信息。
[0126] C15、一种交易信息查询系统,其特征在于,所述系统包括:B8-B14任一项所述的交易信息查询装置和完全节点。