本技术属于产品生产分析,尤其涉及一种数据传输方法、设备、客户端以及检测系统。
背景技术:
1、区块链,就是一个又一个区块组成的链条。每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链条。区块链具有两大核心特点:一是数据难以篡改、二是去中心化。基于这两个特点,区块链所记录的信息更加真实可靠,可以帮助解决人们互不信任的问题。因此区块链为人们提供了一种安全的数据存储方式。
2、在实际开发中,数据量少的溯源系统常常会在区块链网络层与业务层之间加一级数据库全量保存区块信息,当业务系统请求查看相关数据信息时,则直接查询数据库中区块信息,以提升查询速度,此处的数据库作用则相当于一级简易的缓存系统。
3、现有一种数据预缓存查询需要依靠区块链网络中的记账结点即peer结点去区块链上操作数据。这种方式在数据量较小的数据库(例如mysql之类的数据库)作为全量缓存能在数据量不大的区块链系统中,能够提升查询效率。但是在海量数据场景下,数据库相当于是区块链数据的全量备份,因数据较多,导致这种方式对查询速度提升效果不佳。
技术实现思路
1、本技术实施例提供一种数据预缓存查询方法、装置、设备及计算机存储介质,提高了数据预缓存的查询速度。
2、根据本技术的第一个方面,本技术实施例提供一种数据预缓存查询方法,应用于区块链网络,区块链网络包括区块缓存节点和记账节点;该方法包括:
3、响应于区块查询方发起的查询第一区块的区块查询请求,在区块缓存节点中查询是否存在第一区块的区块信息;
4、在区块缓存节点中不存在第一区块的区块信息的情况下,通过记账节点获取第一区块的区块信息;
5、根据第一区块的区块信息,确定预测区块,预测区块的数量大于或等于1;
6、将预测区块输入至决策树系统,通过决策树系统对每个预测区块是否会被请求查询进行预测,将被预测为被请求查询的预测区块确定为预缓存区块;决策树系统是根据目标数据集中的多个区块信息样本进行构建得到的,每个区块信息样本至少包括是否会被请求查询的标识信息、多个区块关键特征及其对应的特征值;
7、将预缓存区块的区块信息缓存至区块缓存节点;
8、向区块查询方返回预缓存区块的区块信息。
9、可选地,第一区块的区块信息包括第一区块所在的位置;根据第一区块的区块信息,确定预测区块,包括:
10、以第一区块所在的位置为预测原点,根据预测半径,构建预测区间;
11、将预测区间内的区块确定为预测区块。
12、可选地,将预测区块输入至决策树系统之前,方法还包括:
13、获取目标数据集;
14、递归执行下述操作,直至满足递归停止条件,得到决策树系统:
15、针对目标数据集中的每个区块信息样本的每个区块关键特征,分别执行以下步骤a至步骤c:
16、步骤a:判断该区块关键特征的特征值是否为第一特征预设阈值,得到判断结果;
17、步骤b:根据判断结果,将目标数据集划分为第一数据集和第二数据集;
18、步骤c:根据第一数据集和第二数据集各自对应总样本数量、第一样本数量和第二样本数量,确定区块关键特征对目标数据集的基尼指数;第一样本数量为所属数据集中会被请求的样本数量,第二样本数量为所属数据集中不会被请求的样本数量;
19、从各个区块关键特征对目标数据集的基尼指数中,选取基尼指数最小的区块关键特征作为当前最优特征;
20、根据目标数据集中的区块信息样本按照当前最优特征的特征值是否为第二特征预设阈值的判断结果,将目标数据集中的样本分配到决策树的两个子节点上;
21、根据决策树的两个子节点中每个子节点上的样本,分别生成对应的目标数据集,并将决策树的两个子节点更新为父节点。
22、可选地,步骤c包括:
23、根据区块信息样本中的是否已被请求的标识信息,分别统计第一数据集和第二数据集中会被请求的第一样本数量以及不会被请求的第二数量;
24、针对第一数据集和第二数据集,分别执行:根据目标数据集中的第一样本数量、第二样本数量以及目标数据集中的总样本数量,确定目标数据集的基尼指数;
25、根据第一数据集和第二数据集的基尼指数,确定区块关键特征对目标数据集的基尼指数。
26、可选地,递归停止条件包括下述任一项:
27、决策树中存在目标节点,目标节点中的样本数量小于预设样本阈值;
28、目标数据集的基尼指数小于预设指数阈值;
29、目标数据集中的样本全部划分到决策树中。
30、可选地,多个区块关键特征包括以下至少两项:通道名、链码名、链码版本号、事件名、区块高度、上链时间。
31、可选地,得到决策树系统之后,方法还包括:
32、对决策树系统中的各节点,按照决策树系统中节点的自上而下的顺序,分别执行以下操作,直至得到的剪枝剩余子树为由根节点单独构成的决策树,并得到包括至少一个剪枝剩余子树构成的子树序列;
33、确定该节点对应的目标数据集的预测误差、以该节点为根节点的子树的叶子节点数量;
34、根据预测误差、预设参数的当前取值、叶子节点数量,确定以该节点为根节点的子树的第一损失函数,以及以节点为单节点的第二损失函数;
35、根据第一损失函数、第二损失函数以及以该节点为根节点的子树的叶子节点数量,确定以该节点为根节点的子树被剪枝后,决策树系统的整体损失函数减少程度;
36、根据整体损失函数减少程度和预设参数的当前取值大小关系,更新预设参数的当前取值;
37、在整体损失函数减少程度等于更新后的预设参数的当前取值的情况下,从决策树系统中将以该节点为根节点的子树进行剪枝,得到剪枝剩余子树;
38、根据多数表决法,确定剪枝剩余子树中的叶子节点所属的节点类别,得到剪枝后的决策树;
39、在剪枝剩余的子树不是由根节点单独构成的决策树的情况下,将决策树系统更新为剪枝剩余的子树;
40、采用交叉验证法从子树序列中选取最优剪枝剩余子树,并将其作为最终的决策树系统。
41、可选地,将预缓存区块的区块信息缓存至区块缓存节点,包括:
42、将预缓存区块的区块信息以键值对的结构缓存至区块缓存节点;键值对中的关键字包括区块标识;键值对中的数值包括以下至少一个区块参数对应的数值;
43、计数器,用于指示预缓存区块被请求查询的次数;
44、区块缓存至缓存节点的加入时间;
45、区块在缓存节点中的存活时间;
46、区块的数据信息。
47、可选地,方法还包括:
48、在缓存节点为满存的情况下,需要缓存到缓存节点的新缓存区块替换缓存节点中计数器的数值最小的缓存区块。
49、可选地,述方法还包括:
50、获取当前时间、第一缓存区块的加入时间和存活时间;第一缓存区块为缓存在缓存节点上的任一缓存区块;
51、根据第一缓存区块的加入时间和存活时间,确定第一缓存区块的缓存截止时间;
52、在当前时间大于缓存截止时间的情况下,从缓存节点中删除第一缓存区块。
53、根据本技术的第二个方面,本技术实施例提供了一种数据预缓存查询装置,该装置包括:
54、查询模块,用于响应于区块查询方发起的查询第一区块的区块查询请求,在区块缓存节点中查询是否存在第一区块的区块信息;
55、第一获取模块,用于在区块缓存节点中不存在第一区块的区块信息的情况下,通过记账节点获取第一区块的区块信息;
56、确定模块,用于根据第一区块的区块信息,确定预测区块,预测区块的数量大于或等于1;
57、输入模块,用于将预测区块输入至决策树系统,通过决策树系统对每个预测区块是否会被请求查询进行预测,将被预测为被请求查询的预测区块确定为预缓存区块;决策树系统是根据目标数据集中的多个区块信息样本进行构建得到的,每个区块信息样本至少包括是否会被请求查询的标识信息、多个区块关键特征及其对应的特征值;
58、缓存模块,用于将预缓存区块的区块信息缓存至区块缓存节点;
59、返回模块,用于向区块查询方返回预缓存区块的区块信息。
60、根据本技术的第三个方面,提供一种数据预缓存查询设备,该设备包括:处理器以及存储有计算机程序指令的存储器;
61、处理器执行计算机程序指令时实现第一个方面中任意一项的数据预缓存查询方法。
62、根据本技术的第四个方面,本技术实施例提供了一种计算机存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一个方面中任意一项的数据预缓存查询方法。
63、根据本技术的第五个方面,本技术实施例提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行第一个方面中任意一项的数据预缓存查询方法。
64、本技术实施例的数据预缓存查询方法、装置、设备及计算机存储介质,通过在区块缓存节点中查询是否存在第一区块的区块信息,可以快速响应查询请求,避免了对主链的频繁访问,从而提高了查询效率如果第一区块的区块信息不存在于区块缓存节点中,系统会通过记账节点获取该区块的信息。这样,当需要查询某个区块的信息时,不需要通过网络进行数据传输,减少了网络传输的开销根据第一区块的区块信息,可以确定预测区块。这些预测区块的数量大于或等于1。通过决策树系统对每个预测区块是否会被请求查询进行预测,将被预测为被请求查询的预测区块确定为预缓存区块。这种策略可以更准确地预测哪些区块会被请求查询,从而更有效地缓存这些区块的信息。将预缓存区块的区块信息缓存至区块缓存节点可以确保数据的私密性和安全性,防止未经授权的访问和泄露。通过将预缓存区块的信息缓存至区块缓存节点,可以减少对主链的访问次数,从而减轻主链的负担。向区块查询方返回预缓存区块的区块信息可以更快地满足查询请求,提供更快速的服务响应。基于此,通过利用决策树系统对每个预测区块可能被请求查询概率进行预测,由此设置高效、准确且安全的区块查询和预缓存策略,有助于提高在区块链系统中对数据预缓存的查询速度和查询效率。
1.一种数据预缓存查询方法,应用于区块链网络,所述区块链网络包括区块缓存节点和记账节点;其特征在于,
2.如权利要求1所述的方法,其特征在于,所述第一区块的区块信息包括所述第一区块所在的位置;所述根据所述第一区块的区块信息,确定预测区块,包括:
3.如权利要求1所述的方法,其特征在于,所述将所述预测区块输入至决策树系统之前,所述方法还包括:
4.如权利要求3所述的方法,其特征在于,所述步骤c包括:
5.如权利要求3或4中任一项所述的方法,其特征在于,所述递归停止条件包括下述任一项:
6.如权利要求1-4中任一项所述的方法,其特征在于,所述多个区块关键特征包括以下至少两项:通道名、链码名、链码版本号、事件名、区块高度、上链时间。
7.如权利要求3或4中任一项所述的方法,其特征在于,所述得到决策树系统之后,所述方法还包括:
8.如权利要求1-4中任一项所述的方法,其特征在于,将所述预缓存区块的区块信息缓存至所述区块缓存节点,包括:
9.如权利要求8所述的方法,其特征在于,所述方法还包括:
10.如权利要求8所述的方法,其特征在于,所述方法还包括:
11.一种数据预缓存查询装置,其特征在于,所述装置包括:
12.一种数据预缓存查询设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-8中任意一项所述的方法。