System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于区块链的进程处理方法及相关装置制造方法及图纸_技高网

一种基于区块链的进程处理方法及相关装置制造方法及图纸

技术编号:41268117 阅读:3 留言:0更新日期:2024-05-11 09:23
本申请实施例公开了一种基于区块链的进程处理方法及相关装置,其中的方法包括:获取针对第一智能合约的进程申请请求;若检测到待启动的合约进程的数量S1小于M,则启动S1个合约进程,并将S1个合约进程调度给第一智能合约;S1为整数且S1≥0;将为第二智能合约已分配的合约进程中,处于闲置状态的N‑S1个合约进程调度给第一智能合约;采用为第一智能合约调度的M个合约进程,对第一智能合约对应的合约任务进行任务处理。采用本申请实施例能够实现动态分配合约进程。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及区块链领域,具体涉及一种基于区块链的进程处理方法及相关装置


技术介绍

1、智能合约是区块链的重要特性,允许在没有第三方的情况下对合约任务执行任务处理。目前,是通过为每个智能合约申请一个合约进程,通过申请的一个合约进程对合约任务实现任务处理的。

2、然而,随着区块链网络中部署的智能合约的数量越来越多,这种为每个智能合约均申请合约进程来处理合约任务的方式,导致区块链网络可能会无限制的申请大量合约进程,不仅增大进程资源的生成成本,而且影响区块链网络中的区块链节点的节点性能。


技术实现思路

1、本申请实施例提供一种基于区块链的进程处理方法及相关装置,该方法能够实现对固定总量的合约进程的动态分配。

2、一方面,本申请实施例提供了一种基于区块链的进程处理方法,该方法:

3、获取针对第一智能合约的进程申请请求,进程申请请求用于请求为第一智能合约调度m个合约进程;m为正整数;

4、若检测到待启动的合约进程的数量s1小于m,则启动s1个合约进程,并将s1个合约进程调度给第一智能合约;s1为整数且s1≥0;

5、将为第二智能合约已分配的合约进程中,处于闲置状态的n-s1个合约进程调度给第一智能合约;第二智能合约不同于第一智能合约;

6、采用为第一智能合约调度的m个合约进程,对第一智能合约对应的合约任务进行任务处理。

7、另一方面,本申请实施例提供了一种基于区块链的进程处理装置,该装置包括:</p>

8、获取单元,用于获取针对第一智能合约的进程申请请求,进程申请请求用于请求为第一智能合约调度m个合约进程;m为正整数;

9、处理单元,用于若检测到待启动的合约进程的数量s1小于m,则启动s1个合约进程,并将s1个合约进程调度给第一智能合约;s1为整数且s1≥0;

10、处理单元,还用于将为第二智能合约已分配的合约进程中,处于闲置状态的n-s1个合约进程调度给第一智能合约;第二智能合约不同于第一智能合约;

11、处理单元,还用于采用为第一智能合约调度的m个合约进程,对第一智能合约对应的合约任务进行任务处理。

12、在一种实现方式中,处理单元,用于将为第二智能合约已分配的合约进程中,处于闲置状态的n-s1个合约进程调度给第一智能合约时,具体用于:

13、检测为第二智能合约已分配的各合约进程的进程状态;

14、若进程状态为闲置状态的合约进程的数量为p,且p≥n-s1,则将处于闲置状态的p个合约进程中的n-s1个合约进程调度给第一智能合约。

15、在一种实现方式中,处理单元,还用于:

16、若p<n-s1,则将处于闲置状态的p个合约进程调度给第一智能合约;以及,

17、将进程申请请求存储至申请等待列表,申请等待列表用于按照进程申请请求的申请时间顺序,存储针对各智能合约的进程申请请求;

18、若检测到存在q个可分配的合约进程,q为整数且q≥n-s1-p,则按照申请等待列表为第一智能合约分配n-s1-p个合约进程;

19、其中,可分配的合约进程包括:为第二智能合约已分配的合约进程中,进程状态从工作状态变更为闲置状态的合约进程;为第二智能合约已分配的合约进程被关闭后,允许被启动的合约进程;或者,为第一智能合约已分配的合约进程被关闭后,允许被启动的合约进程。

20、在一种实现方式中,处理单元,还用于:

21、在申请等待列表中存储进程申请请求的过程中,若第一智能合约对应的任务队列所包含的待处理的合约任务的数量,与为第一智能合约已分配的合约进程的数量之间,不满足进程调度条件,则从申请等待列表中删除进程申请请求。

22、在一种实现方式中,为第一智能合约调度的m个合约进程中的任一个合约进程表示为目标合约进程;处理单元用于将目标合约进程调度给第一智能合约时,具体用于:

23、将第一智能合约对应的任务队列所包含的目标合约任务,分配给目标合约进程;

24、基于目标合约任务从区块链中,获取与第一智能合约相关的合约信息;

25、将与第一智能合约相关的合约信息,配置到目标合约进程中。

26、在一种实现方式中,目标合约进程是从为第二智能合约已分配的合约进程中调度得到的,目标合约进程中存储有与第二智能合约相关合约信息;处理单元,还用于:

27、在目标合约进程中,删除与第二智能合约相关的合约信息。

28、在一种实现方式中,处理单元用于获取针对第一智能合约的进程申请请求时,具体用于:

29、若第一智能合约对应的任务队列所包含的待处理的合约任务的数量,与为第一智能合约已分配的合约进程的数量之间,满足进程调度条件,则确定第一智能合约所需分配的合约进程的数量m;

30、基于第一智能合约所需分配的合约进程的数量m,生成进程申请请求。

31、在一种实现方式中,处理单元用于若第一智能合约对应的任务队列所包含的待处理的合约任务的数量,与为第一智能合约已分配的合约进程的数量之间,满足进程调度条件,则确定第一智能合约所需分配的合约进程的数量m时,具体用于:

32、基于合约进程最大允许堆积处理的合约任务的数量k,以及,为第一智能合约已分配的合约进程中,处于闲置状态的合约进程的数量a和处于工作状态的合约进程的数量b,计算为第一智能合约已分配的合约进程最大允许处理的合约任务的数量k*b+(k+1)*a;k、a和b均为正整数;

33、将第一智能合约对应的任务队列所包含的待处理的合约任务的数量n,与,为第一智能合约已分配的合约进程最大允许处理的合约任务的数量k*b+(k+1)*a相减,得到为第一智能合约分配的新的合约进程,所需处理的合约任务的数量为n-(k*b+(k+1)*a);

34、若n-(k*b+(k+1)*a)>0,则确定第一智能合约对应的任务队列所包含的待处理的合约任务的数量,与为第一智能合约已分配的合约进程的数量之间满足进程调度条件;以及,确定第一智能合约所需分配的合约进程的数量m为n-(k*b+(k+1)*a)/k+1。

35、在一种实现方式中,处理单元,还用于:

36、从为第一智能合约已分配的合约进程中,筛选出处于闲置状态的第一合约进程,以及,从为第二智能合约已分配的合约进程中,筛选出处于闲置状态的第二合约进程;

37、根据闲置进程释放规则,对第一合约进程和第二合约进程进行释放处理;

38、其中,闲置进程释放规则包括:若第一合约进程和第二合约进程的数量之和小于等于进程释放阈值,则释放第一合约进程和第二合约进程;若第一合约进程和第二合约进程的数量之和大于进程释放阈值,则按照第一合约进程和第二合约进程被设置为闲置状态的时间顺序,释放进程释放阈值的合约进程。

39、在一种实现方式中,基于区块链的进程处理方法在合本文档来自技高网...

【技术保护点】

1.一种基于区块链的进程处理方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述将为第二智能合约已分配的合约进程中,处于闲置状态的N-S1个合约进程调度给所述第一智能合约,包括:

3.如权利要求2所述的方法,其特征在于,所述方法还包括:

4.如权利要求3所述的方法,其特征在于,所述方法还包括:

5.如权利要求1所述的方法,其特征在于,为所述第一智能合约调度的M个合约进程中的任一个合约进程表示为目标合约进程;将所述目标合约进程调度给所述第一智能合约包括:

6.如权利要求5所述的方法,其特征在于,所述目标合约进程是从为所述第二智能合约已分配的合约进程中调度得到的,所述目标合约进程中存储有与所述第二智能合约相关合约信息;所述方法还包括:

7.如权利要求1所述的方法,其特征在于,所述获取针对第一智能合约的进程申请请求,包括:

8.如权利要求7所述的方法,其特征在于,所述若所述第一智能合约对应的任务队列所包含的待处理的合约任务的数量,与为所述第一智能合约已分配的合约进程的数量之间,满足进程调度条件,则确定所述第一智能合约所需分配的合约进程的数量M,包括:

9.如权利要求1所述的方法,其特征在于,所述方法还包括:

10.如权利要求1所述的方法,其特征在于,所述方法在合约引擎中执行,所述合约引擎最大允许J个合约进程同时执行;J为大于S1的整数;所述合约引擎集成有至少一个区块链任务调度器,合约进程调度器和至少一个合约进程管理器;

11.如权利要求10所述的方法,其特征在于,所述至少一个合约进程管理器中的任一个合约进程管理器表示为目标合约进程管理器;所述目标合约进程管理器包括多个调度状态,所述多个调度状态包括:开始状态、执行状态、就绪状态、闲置状态、切换状态和关闭状态;

12.一种基于区块链的进程处理方法,其特征在于,包括:

13.一种计算机设备,其特征在于,包括:

14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机应用程序,所述计算机应用程序被执行时,实现如权利要求1-11任一项所述的基于区块链的进程处理方法。

15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令被处理器执行时实现如权利要求1-11任一项所述的基于区块链的进程处理方法。

...

【技术特征摘要】

1.一种基于区块链的进程处理方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述将为第二智能合约已分配的合约进程中,处于闲置状态的n-s1个合约进程调度给所述第一智能合约,包括:

3.如权利要求2所述的方法,其特征在于,所述方法还包括:

4.如权利要求3所述的方法,其特征在于,所述方法还包括:

5.如权利要求1所述的方法,其特征在于,为所述第一智能合约调度的m个合约进程中的任一个合约进程表示为目标合约进程;将所述目标合约进程调度给所述第一智能合约包括:

6.如权利要求5所述的方法,其特征在于,所述目标合约进程是从为所述第二智能合约已分配的合约进程中调度得到的,所述目标合约进程中存储有与所述第二智能合约相关合约信息;所述方法还包括:

7.如权利要求1所述的方法,其特征在于,所述获取针对第一智能合约的进程申请请求,包括:

8.如权利要求7所述的方法,其特征在于,所述若所述第一智能合约对应的任务队列所包含的待处理的合约任务的数量,与为所述第一智能合约已分配的合约进程的数量之间,满足进程调度条件,则确定所述第一智能合约所需分配的合约进程的数量...

【专利技术属性】
技术研发人员:卢光宏
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1