本技术涉及区块链,尤其涉及一种基于区块链的请求处理方法、装置以及设备。
背景技术:
1、区块链作为一种新的分布式账本技术逐渐得到了广泛的应用。比如,在跨金融机构间进行交互时,基于区块链,需要对所接收到的请求进行处理。
2、现有技术中,采用串行处理的方式,即基于区块链,依次对所接收的每一请求中的交互数据进行共识处理和执行处理,生成并反馈每一请求的执行结果。
3、但是上述方式中,区块链需要对每一请求中的所有数据进行共识并存储处理,待处理的数据量较大,且基于串行处理的方式,需要耗费大量处理时间,进而导致区块链的请求处理效率较低。
技术实现思路
1、本技术提供一种基于区块链的请求处理方法、装置以及设备,用以解决区块链需要对每一请求中的所有数据进行处理导致请求处理效率较低的技术问题。
2、第一方面,本技术提供一种基于区块链的请求处理方法,所述方法包括:
3、接收终端设备发送的至少一个请求,其中,所述请求用于指示区块链对请求中的交互数据进行处理;并对各所述请求进行依赖分析处理,得到各所述请求对应的依赖图集合;其中,所述依赖图集合包括至少一个第一局部依赖图,所述第一局部依赖图表征各个请求中每两个请求之间的执行依赖关系;
4、根据所述依赖图集合,对各所述请求进行聚合处理,得到并存储各所述请求对应的聚合信息集合;其中,所述聚合信息集合包括至少一个聚合信息,所述聚合信息为至少一个请求中的交互数据的特征聚合数据;
5、确定目标请求集合,并对所述目标请求集合进行依赖分析处理,得到所述目标请求集合对应的第二局部依赖图;其中,所述目标请求集合中包括各所述请求中已被存储处理的至少一个请求、当前处于执行处理中的请求、以及当前处于待执行处理中的请求;所述第二局部依赖图表征目标请求集合中每两个请求之间的执行依赖关系;
6、基于区块链,根据所述第二局部依赖图,对所述目标请求集合进行并行处理,得到所述目标请求集合对应的第一执行结果集合,并将所述第一执行结果集合发送至所述终端设备;其中,所述第一执行结果集合包括目标请求集合中每一请求的执行结果。
7、一个示例中,根据所述依赖图集合,对各所述请求进行聚合处理,得到并存储各所述请求对应的聚合信息集合,包括:
8、对所述请求中的交互数据进行特征处理,得到所述请求对应的标识特征;其中,所述标识特征为请求中的交互数据的数据特征;所述标识特征中包括请求的请求指纹信息,所述请求指纹信息表征请求的唯一标识;
9、确定所述区块链当前的上链处理信息;其中,所述区块链包括至少一个区块链节点,所述上链处理信息表征区块链中各个区块链节点的请求上链处理情况;
10、根据所述依赖图集合和所述上链处理信息,对各所述标识特征进行分批聚合处理,得到所述聚合信息集合;其中,所述聚合信息集合中包括第一聚合数据和至少一个第二聚合数据,所述第一聚合数据的生成时刻在各所述第二聚合数据的生成时刻之前;
11、将所述聚合信息集合上链存储至所述区块链的各个区块链节点中。
12、一个示例中,所述上链处理信息包括密集程度信息和时序特征因子,所述密集程度信息表征当前区块链需要上链处理的请求的密集程度,所述时序特征因子表征当前区块链需要上链处理的请求的处理时序;
13、根据所述依赖图集合和所述上链处理信息,对各所述标识特征进行分批聚合处理,得到所述聚合信息集合,包括:
14、根据所述依赖图集合,对各所述请求进行划分处理,得到各所述请求对应的第一请求集合和第二请求集合;其中,所述第一请求集合中包括在各所述第一局部依赖图中处于被依赖地位的请求;所述第二请求集合中包括各所述请求中不属于所述第一请求集合中的请求;
15、对所述第一请求集合中的请求的标识特征进行特征聚合处理,得到所述第一聚合数据;
16、根据所述密集程度信息和所述时序特征因子,对所述第二请求集合中的请求的标识特征进行分批特征聚合处理,得到所述至少一个第二聚合数据。
17、一个示例中,根据所述上链处理信息,将所述聚合信息集合分批上链存储至所述区块链的各个区块链节点中,包括:
18、基于各所述区块链节点,对所述第一聚合数据进行共识处理,得到处理后的第一聚合数据;并对所述第二聚合数据进行共识处理,得到处理后的第二聚合数据;
19、对所述处理后的第一聚合数据、以及各所述处理后的第二聚合数据进行存储处理。
20、一个示例中,对所述目标请求集合进行依赖分析处理,得到所述目标请求集合对应的第二局部依赖图,包括:
21、基于预设分析模型,对所述目标请求集合进行依赖分析处理,得到所述目标请求集合中对应的第二分析结果;其中,所述第二分析结果表征目标请求集合中每两个请求之间的依赖关系;
22、根据所述第二分析结果,生成所述第二局部依赖图。
23、一个示例中,所述方法还包括:
24、对所述请求进行增量分析处理,得到所述请求的增量分析结果;其中,所述增量分析结果表征请求的分析因子的新增情况,所述分析因子表征用于对请求进行依赖分析处理的维度数据;
25、根据各所述增量分析结果,对所述预设分析模型进行更新处理。
26、一个示例中,所述区块链包括n个区块链节点,n为大于或者等于1的正整数;基于区块链,根据所述第二局部依赖图,对所述目标请求集合进行并行处理,得到所述目标请求集合对应的第一执行信息集合,包括;
27、根据所述第二局部依赖图,确定所述目标请求集合对应的顺序信息;其中,所述顺序信息表征目标请求集合中各个请求的执行顺序;
28、基于所述n个区块链节点,根据所述顺序信息,对所述目标请求集合进行执行处理,得到所述目标请求集合对应的第二执行结果集合;其中,所述第二执行结果集合包括目标请求集合中每一请求对应的n个节点处理结果;
29、对所述目标请求集合中每一请求的n个节点处理结果进行合并处理,得到所述目标请求集合中每一请求的执行结果。
30、一个示例中,对所述目标请求集合中每一请求的n个节点处理结果进行合并处理,得到所述目标请求集合中每一请求的执行结果,包括:
31、针对所述目标请求集合中的每一请求,将所述n个节点处理结果进行对比;
32、若确定所述n个节点处理结果之间不一致,则对所述n个区块链节点进行纠错处理,得到处理后的n个节点处理结果;
33、对所述目标请求集合中每一请求的处理后的n个节点处理结果进行合并处理,得到所述目标请求集合中每一请求的执行结果。
34、一个示例中,对各所述请求进行依赖分析处理,得到各所述请求对应的依赖图集合,包括:
35、对所述请求进行执行规划处理,确定所述请求的执行规划信息;其中,所述执行规划信息包括范围信息、处理信息以及类别信息,所述范围信息表征请求中的交互数据的数据量范围,所述处理信息表征用于处理请求中的交互数据的处理方式;所述类别信息表征请求中的交互数据所属的数据类别;
36、基于预设分析模型,根据各所述执行规划信息,对各所述请求进行依赖分析处理,得到各所述请求对应的第一分析结果;其中,所述第一分析结果表征各个请求中每两个请求之间的依赖关系;
37、根据所述第一分析结果,生成所述依赖图集合。
38、一个示例中,所述方法还包括:
39、对所述请求进行合法性校验处理,得到合法性校验结果;
40、若所述合法性校验结果表征所述请求合法有效,则对所述请求进行防重校验处理,得到防重校验结果;
41、若确定所述防重校验结果表征所述请求不存在重复请求记录,则确定所述请求的标识,并对所述请求进行安全验证处理,得到安全验证结果;
42、若确定所述安全验证结果表征所述请求验证通过,则执行所述对各所述请求进行依赖分析处理,得到各所述请求对应的依赖图集合的步骤。
43、一个示例中,所述方法还包括:
44、根据所述聚合信息,对所述请求进行勾兑验证,得到勾兑验证结果;
45、若确定所述勾兑验证结果表征所述请求的交互数据未被篡改,则执行所述确定目标请求集合的步骤。
46、一个示例中,所述聚合信息中包括每一请求的请求指纹信息,所述请求指纹信息表征请求的唯一标识;根据所述聚合信息,对所述请求进行勾兑验证,得到勾兑验证结果,包括:
47、对所述请求中的交互数据和所述请求的请求指纹信息进行验证计算处理,得到所述请求的处理结果;
48、若确定所述请求的处理结果表征所述请求与所述请求的请求指纹信息匹配,则确定所述勾兑验证结果表征所述请求的交互数据未被篡改;
49、若确定所述请求的处理结果表征所述请求与所述请求的请求指纹信息不匹配,则确定所述勾兑验证结果表征所述请求的交互数据已被篡改。
50、第二方面,本技术提供一种基于区块链的请求处理装置,所述装置包括:
51、第一处理单元,用于接收终端设备发送的至少一个请求,其中,所述请求用于指示区块链对请求中的交互数据进行处理;并对各所述请求进行依赖分析处理,得到各所述请求对应的依赖图集合;其中,所述依赖图集合包括至少一个第一局部依赖图,所述第一局部依赖图表征各个请求中每两个请求之间的执行依赖关系;
52、聚合单元,用于根据所述依赖图集合,对各所述请求进行聚合处理,得到并存储各所述请求对应的聚合信息集合;其中,所述聚合信息集合包括至少一个聚合信息,所述聚合信息为至少一个请求中的交互数据的特征聚合数据;
53、第二处理单元,用于确定目标请求集合,并对所述目标请求集合进行依赖分析处理,得到所述目标请求集合对应的第二局部依赖图;其中,所述目标请求集合中包括各所述请求中已被存储处理的至少一个请求、当前处于执行处理中的请求、以及当前处于待执行处理中的请求;所述第二局部依赖图表征目标请求集合中每两个请求之间的执行依赖关系;
54、执行单元,用于基于区块链,根据所述第二局部依赖图,对所述目标请求集合进行并行处理,得到所述目标请求集合对应的第一执行结果集合,并将所述第一执行结果集合发送至所述终端设备;其中,所述第一执行结果集合包括目标请求集合中每一请求的执行结果。
55、第三方面,本技术提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
56、所述存储器存储计算机执行指令;
57、所述处理器执行所述存储器存储的计算机执行指令,以实现第一方面所述的方法。
58、第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面所述的方法。
59、第五方面,本技术提供一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序,使得电子设备执行第一方面所述的方法。
60、本技术提供的基于区块链的请求处理方法、装置以及设备,通过根据各个请求之间的依赖关系,对各个请求进行聚合处理,得到对应的一个或者多个聚合特征,将所得到的聚合特征进行上链存储;基于区块链,根据所得到的聚合特征对应的请求之间的依赖关系,对对应的各个请求进行并行执行处理,并反馈执行结果;进而,可以减少上链存储处理的请求数据量,以提高区块链处理请求的效率。
1.一种基于区块链的请求处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据所述依赖图集合,对各所述请求进行聚合处理,得到并存储各所述请求对应的聚合信息集合,包括:
3.根据权利要求2所述的方法,其特征在于,所述上链处理信息包括密集程度信息和时序特征因子,所述密集程度信息表征当前区块链需要上链处理的请求的密集程度,所述时序特征因子表征当前区块链需要上链处理的请求的处理时序;
4.根据权利要求2所述的方法,其特征在于,将所述聚合信息集合上链存储至所述区块链的各个区块链节点中,包括:
5.根据权利要求1所述的方法,其特征在于,对所述目标请求集合进行依赖分析处理,得到所述目标请求集合对应的第二局部依赖图,包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述区块链包括n个区块链节点,n为大于或者等于1的正整数;基于区块链,根据所述第二局部依赖图,对所述目标请求集合进行并行处理,得到所述目标请求集合对应的第一执行信息集合,包括:
8.根据权利要求7所述的方法,其特征在于,对所述目标请求集合中每一请求的n个节点处理结果进行合并处理,得到所述目标请求集合中每一请求的执行结果,包括:
9.根据权利要求1所述的方法,其特征在于,对各所述请求进行依赖分析处理,得到各所述请求对应的依赖图集合,包括:
10.根据权利要求1-9中任一项所述的方法,其特征在于,所述方法还包括:
11.根据权利要求1-9中任一项所述的方法,其特征在于,所述方法还包括:
12.根据权利要求11所述的方法,其特征在于,所述聚合信息中包括每一请求的请求指纹信息,所述请求指纹信息表征请求的唯一标识;根据所述聚合信息,对所述请求进行勾兑验证,得到勾兑验证结果,包括:
13.一种基于区块链的请求处理装置,其特征在于,所述装置包括:
14.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至12中任一项所述的方法。
16.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法。