数据处理方法、装置及设备、介质、产品与流程

文档序号:36788036发布日期:2024-01-23 12:05阅读:21来源:国知局
数据处理方法、装置及设备、介质、产品与流程

本技术涉及区块链,尤其涉及一种数据处理方法、一种数据处理装置、一种计算机设备、一种计算机可读存储介质及一种计算机程序产品。


背景技术:

1、一个区块可以由多个交易数据构成,当打包节点将该区块写入区块链之前,需要通过共识网络中的共识节点分别对该区块进行共识,即需要这些共识节点分别对该区块中的每个交易数据进行交易验证。

2、目前,当这些共识节点对该区块中的这些交易数据进行交易验证时,往往需要将这些交易数据(例如,交易数据1、交易数据2和交易数据3)统一打包到区块中。在共识过程中,也一般是串行处理,确保每个交易数据都会被处理到,例如,每个共识节点均需要先执行完交易数据1之后,再执行交易数据2,且在执行完交易数据2之后,再继续执行交易数据3。

3、共识节点通过串行执行区块中的这些交易数据的方式,不够灵活,不能很好地对某些情况下存在并行处理的交易数据进行处理,目前笼统地进行交易数据打包以便于串行进行共识处理的方式,降低了这些共识节点的共识性能,以至于降低了区块链的吞吐量。


技术实现思路

1、本技术实施例提出了一种数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品,可以提高数据处理的效率,以及提高系统的呑吐量。

2、一方面,本技术实施例提供了一种数据处理方法,该方法包括:

3、获取待处理的n个交易数据,并执行n个交易数据,n为正整数;

4、根据每个交易数据的交易执行结果,从n个交易数据中确定出满足并行执行条件的m个第一交易数据,m为正整数且m≤n;

5、打包n个交易数据,生成待共识区块,在待共识区块中基于区别记录规则记录了m个第一交易数据和除m个第一交易数据以外的n-m个第二交易数据;

6、将待共识区块广播至共识节点集合,以使共识节点集合中的共识节点基于区别记录规则对待共识区块中的m个第一交易数据进行并行共识处理,对n-m 个第二交易数据进行串行共识处理。

7、一方面,本技术实施例提供了一种数据处理方法,该方法包括:

8、获取打包节点发送的待共识区块,待共识区块是所述打包节点对待处理的n 个交易数据打包后生成的,待共识区块中基于区别记录规则记录了m个第一交易数据和n-m个第二交易数据,m个第一交易数据是在对n个交易数据并行执行后,根据每个交易数据的交易执行结果确定出来的,n、m均为正整数,且m ≤n;

9、对待共识区块中的m个第一交易数据进行并行共识处理,得到每个第一交易数据的第一交易执行结果;

10、对待共识区块中的n-m个第二交易数据进行串行共识处理,得到每个第二交易数据的第二交易执行结果;

11、对各个第一交易执行结果和各个第二交易执行结果进行合并处理,得到交易合并执行结果。

12、一方面,本技术实施例提供了一种数据处理装置,该装置包括:

13、获取单元,用于获取待处理的n个交易数据,并执行n个交易数据,n为正整数;

14、处理单元,用于根据每个交易数据的交易执行结果,从n个交易数据中确定出满足并行执行条件的m个第一交易数据,m为正整数且m≤n;

15、处理单元,还用于打包n个交易数据,生成待共识区块,在待共识区块中基于区别记录规则记录了m个第一交易数据和除m个第一交易数据以外的n-m 个第二交易数据;

16、发送单元,用于将待共识区块广播至共识节点集合,以使共识节点集合中的共识节点基于区别记录规则对待共识区块中的m个第一交易数据进行并行共识处理,对n-m个第二交易数据进行串行共识处理。

17、在一种可能的实现方式中,区别记录规则包括:排列规则和标签设置规则;处理单元打包n个交易数据,生成待共识区块,用于执行以下操作:

18、按照排列规则打包n个交易数据,生成待共识区块;

19、其中,基于排列规则打包n个交易数据之后,待共识区块中任意一个第一交易数据会优先于任一个第二交易数据被执行共识处理;

20、并且,标签设置规则用于指示被打包至待共识区块中的任一个第二交易数据被设置有目标标签。

21、在一种可能的实现方式中,处理单元执行n个交易数据之前,还用于执行以下操作:

22、为n个交易数据中的每个交易数据创建对应的交易读缓存、交易写缓存;

23、其中,交易读缓存用于存储任一个交易数据的读数据集,读数据集用于指示执行交易数据所对应的智能合约的调用信息;交易写缓存用于存储任一个交易数据的写数据集,写数据集用于存储调用智能合约执行交易数据后得到的交易执行结果。

24、在一种可能的实现方式中,处理单元还用于执行以下操作:

25、从交易读缓存中获取目标交易数据的读数据集,并基于目标交易数据的读数据集中的调用信息,获取用于执行目标交易数据的目标智能合约;

26、调用目标智能合约执行目标交易数据,得到目标交易执行结果,目标交易执行结果被作为目标交易数据的写数据集。

27、在一种可能的实现方式中,任一个交易数据的执行结果是以键key-值value 对的形式存储至相应的交易写缓存中的;处理单元还用于执行以下操作:

28、从交易写缓存中获取每个交易数据的写关键字key,并对每个交易数据的写关键字key进行哈希运算,得到每个交易数据的第一哈希字符串;

29、将每个交易数据的第一哈希字符串写入至布隆过滤器中。

30、在一种可能的实现方式中,任一个交易数据的读数据集是以键key-值value 对的形式存储至相应的交易读缓存中的;

31、处理单元根据每个交易数据的交易执行结果,从n个交易数据中确定出满足并行执行条件的m个第一交易数据,用于执行以下操作:

32、遍历每个交易数据的读数据集,并对每个交易数据的读关键字key进行哈希运算,得到每个交易数据的第二哈希字符串;

33、对每个交易数据的第二哈希字符串,与所述布隆过滤器中的各个第一哈希字符串进行匹配处理,并根据匹配结果从n个交易数据中确定出满足并行执行条件的m个第一交易数据。

34、在一种可能的实现方式中,处理单元根据匹配结果从n个交易数据中确定出满足并行执行条件的m个第一交易数据,用于执行以下操作:

35、对目标交易数据的第二哈希字符串,与布隆过滤器中的各个第一哈希字符串进行匹配处理;

36、若匹配结果为匹配不成功,则确定目标交易数据满足并行执行条件,并将目标交易数据确定为第一交易数据;

37、若匹配结果为匹配成功,则确定目标交易数据不满足并行执行条件,并将目标交易数据确定为第二交易数据。

38、在一种可能的实现方式中,在发送单元将待共识区块广播至共识节点集合之后,处理单元还用于执行以下操作:

39、串行执行n个交易数据中的n-m个第二交易数据,得到每个第二交易数据的第二交易执行结果;

40、从每个交易数据的交易执行结果中获取m个第一交易数据的第一交易执行结果;

41、对各个第一交易执行结果和各个第二交易执行结果进行合并处理,得到交易合并执行结果。

42、一方面,本技术实施例提供了一种数据处理装置,该装置包括:

43、获取单元,用于获取打包节点发送的待共识区块,待共识区块是所述打包节点对待处理的n个交易数据打包后生成的,待共识区块中基于区别记录规则记录了m个第一交易数据和n-m个第二交易数据,m个第一交易数据是在对n 个交易数据并行执行后,根据每个交易数据的交易执行结果确定出来的,n、m 均为正整数,且m≤n;

44、处理单元,用于对待共识区块中的m个第一交易数据进行并行共识处理,得到每个第一交易数据的第一交易执行结果;

45、处理单元,还用于对待共识区块中的n-m个第二交易数据进行串行共识处理,得到每个第二交易数据的第二交易执行结果;

46、处理单元,还用于对各个第一交易执行结果和各个第二交易执行结果进行合并处理,得到交易合并执行结果。

47、在一种可能的实现方式中,处理单元对待共识区块中的m个第一交易数据进行并行共识处理,得到每个第一交易数据的第一交易执行结果之后,还用于执行以下操作:

48、对并行共识处理过程进行有效性验证,若验证不通过,则删除各个第一交易执行结果和各个第二交易执行结果;

49、对n个交易数据进行串行共识处理,得到每个交易数据的交易执行结果。

50、在一种可能的实现方式中,处理单元对并行共识处理过程进行有效性验证,用于执行以下操作:

51、遍历目标第二交易数据的交易读缓存,获取目标第二交易数据的读数据集,读数据集是以键key-值value对的形式存储至交易读缓存中的;

52、对目标第二交易数据的读关键字key进行哈希运算,得到目标第二交易数据的验证哈希字符串;

53、基于布隆过滤器保存的第一哈希字符串对验证哈希字符串进行匹配处理,若匹配成功,则确定对并行执行过程验证通过。

54、一方面,本技术实施例提供一种计算机设备,该计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述的数据处理方法。

55、一方面,本技术实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被计算机设备的处理器读取并执行时,使得计算机设备执行上述的数据处理方法。

56、一方面,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的数据处理方法。

57、本技术实施例中,可以获取待共识的n个交易数据,并执行这n个交易数据,n为正整数;然后,根据每个交易数据的交易执行结果,从n个交易数据中确定出满足并行执行条件的m个第一交易数据,m为正整数且m≤n。接下来,打包n个交易数据,生成待共识区块,待共识区块中包括m个第一交易数据和除m个第一交易数据以外的n-m个第二交易数据;最后,可以将待共识区块广播至共识节点集合,以使共识节点集合中的共识节点对待共识区块中的m 个第一交易数据进行并行共识处理,对n-m个第二交易数据进行串行共识处理。由此可见,本技术实施例中可以预先执行多个交易数据,然后按照交易执行结果识别出可并行的交易数据,然后再将这些交易数据中可并行的交易数据(即第一交易数据)和不可并行的交易数据(即第二交易数据)打包至区块中,最后将打包好的区块广播至多个共识节点,使得共识节点可以并行执行第一交易数据,然后串行执行第二交易数据,这种共识方式可以对可并行执行的部分交易数据进行并行共识处理,相比于对所有的交易数据均串行执行而言,本技术可以提高数据处理的效率,从而提高系统的呑吐量。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1