System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及区块链,尤其涉及一种基于交易量预测的区块链系统分层协同调度优化方法。
技术介绍
1、由于区块链系统在无信任的环境下以共识为目标,相比于传统的中心化系统,吞吐量低且延迟较高。区块链的低性能始终被人诟病,对于提高区块链性能的研究是十分必要的。提高区块链系统的吞吐量和响应速度一直都是一项具有挑战性的任务。随着区块链系统越来越多地部署在容器中,如何管理集群中的这些容器,合理分配集群资源以提高区块链系统的性能是需要研究的问题。
2、区块链系统性能优化领域的研究较多,这些研究专注于共识机制和智能合约,通常都只聚焦于一个方面,如交易执行模型的重建(如fabricsharp和fabric++通过对交易的重排序以解决交易间读冲突的问题)、控制参数优化和智能合约优化等。而整合各个层次的协同优化方案的策略还是缺失的。
3、现有的关于容器资源管理的研究有kubernetes默认调度策略,基于阈值的调度策略和基于多目标优化的调度策略。kubernetes是目前广泛使用的容器管理工具,kubernetes默认调度策略,通过节点评估选择最适合当前服务部署的节点。调度器通过kubernetes的监测(watch)机制来发现集群中新创建且尚未被调度到节点上的pod。调度器会将所发现的每一个未调度的pod调度到一个合适的节点上来运行。调度器会依据下文的调度原则来做出调度选择,但在多服务场景未能考虑集群资源状况。
4、常用的调度策略有还基于阈值的调度策略和基于多目标优化的调度策略,基于阈值的调度策略结合集群的实际部署
5、基于多目标优化的调度策略,多目标优化调度在决定如何在集群中的节点上分配资源和调度容器时考虑了多个目标或准则。这种方法在复杂的分布式系统中特别有用,其中存在多个竞争目标,需要平衡以实现最佳的整体性能。在多目标优化调度方法中,调度器同时考虑多个目标,例如最小化响应时间,最大化资源利用率和降低能耗。调度器使用优化算法来找到平衡这些目标的最佳解决方案。常用的多目标优化算法有遗传算法、粒子群优化和蚁群优化。粒子群算法和遗传算法在调度过程中经常出现局部解,在解决调度问题时,通常会导致集群负载波动较大等问题,通常需要结合其他算法进行优化。
6、综上所述,现有的技术方案主要存在以下缺陷:
7、(1)现有对区块链性能优化的研究通常都只聚焦于一个层级,交易执行模型优化、智能合约优化和单一参数优化,而一个整合各个层级的优化策略是缺失的。
8、(2)基于简单阈值的调整策略,针对区块链系统中交易量变化突然频繁的情况,在遇到响应时间敏感的交易时无法及时或提前响应,存在滞后性的特点,对区块链系统的整体造成一定影响。
9、(3)kubernetes原生调度策略中的默认评分函数仅利用cpu和内存利用率两种资源的差值,忽略了集群中其他资源性能指标对于调度任务的影响,并且在资源对象请求申请资源时,只是按照资源请求量决定进行调度的优先级顺序,不考虑当前集群环境中的资源实际情况,缺少合理分配资源的灵活性。
10、(4)基于简单阈值的调度策略对于资源需求变化突然频繁的任务,却未能达到预期的效果。而且,随着任务类型的增加,待确定的阈值也增加,这增加了操作和维护的工作量。
11、(5)资源调度是一个np(non-deterministic polynomial,非确定性多项式)hard类型的问题。现有的多目标优化方法经常会陷入局部优化,很难达到全局优化,优化效果较差。
技术实现思路
1、针对现有技术的不足,本专利技术提供一种基于交易量预测的区块链系统分层协同调度优化方法,以解决由于区块链是一种去中心化的分布式数据库,在无信任的环境下以共识为目标,使得整个区块链系统在处理交易和数据时的相对低速度和吞吐量,可能会对区块链系统的实际应用造成一些限制和挑战的问题。
2、本专利技术的技术方案为:
3、一种基于交易量预测的区块链系统分层协同调度优化方法,包括以下步骤:
4、步骤1:在区块链系统中增加区块链系统的性能指标、交易信息指标和区块链系统部署在容器中所使用的资源情况指标,实时收集区块链系统的性能指标和交易信息指标,将交易信息指标存储到时序数据库influxdb,使用前端可视化技术对交易信息指标中的提交的交易数量、区块链的区块高度进行可视化;
5、所述区块链系统的性能指标包括区块链的吞吐量和延迟;所述交易信息指标包括区块链交易发送率、区块链交易接收率、提交的交易数量和区块链的区块高度;所述区块链系统部署在容器中所使用的资源情况指标包括cpu使用量、内存使用量和网络传输带宽;
6、步骤2:使用负载测试工具对区块链系统进行装载测试,然后使用采集区块链系统的交易发送量数据并存储到时序数据库influxdb中;所述交易发送量数据为客户端发送到区块链系统中的交易的数据量;
7、步骤3:利用时间序列预测模型对交易发送量数据进行预测,得到预测的区块链系统的交易发送量数据;所述时间序列预测模型为lstm长短期记忆网络模型;
8、步骤3.1:对时序数据库influxdb中的交易发送量数据进行数据清洗,得到清洗后的交易发送量数据;
9、步骤3.2:将清洗后的交易发送量数据按照时间顺序划分为训练序列和测试序列;具体的,对于每个交易发送量数据,设置划分时间点,将划分时间点前的设定长度的交易发送量数据作为训练序列,将划分时间点后的设定长度的交易发送量数据作为测试序列;
10、步骤3.3:对训练序列和测试序列进行归一化处理,得到归一化后的训练序列和测试序列;
11、步骤3.4:利用归一化后的训练序列对lstm长短期记忆网络模型进行训练,在训练过程中,通过反向传播算法不断调整模型的参数,得到训练完成的lstm长短期记忆网络模型;
12、步骤3.5:使用归一化后的测试序列对训练完成的lstm长短期记忆网络模型进行验证,将归一化后的测试序列中的划分时间点前的设定长度的交易发送量数据输入到lstm长短期记忆网络模型中,得到对划分时间点后的设定长度的交易发送量数据的预测结果,使用评估指标mse和r2分数评估lstm长短期记忆网络模型的预测性能,根据评估结果调整模型的参数,得到最终的lstm长短期记忆网络模型;
13、步骤3.6:获取当前时刻前设定长度的交易发送量数据并利用最终的lstm长短期记忆网络模型预测当前时刻后的设定长度的交易发送量数据;
14、步骤4:通过控制变量的方法对区块本文档来自技高网...
【技术保护点】
1.一种基于交易量预测的区块链系统分层协同调度优化方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于交易量预测的区块链系统分层协同调度优化方法,其特征在于,步骤1中所述区块链系统的性能指标包括区块链的吞吐量和延迟;所述交易信息指标包括区块链交易发送率、区块链交易接收率、提交的交易数量和区块链的区块高度;所述区块链系统部署在容器中所使用的资源情况指标包括CPU使用量、内存使用量和网络传输带宽。
3.根据权利要求1所述的一种基于交易量预测的区块链系统分层协同调度优化方法,其特征在于,步骤3具体包括:
4.根据权利要求1所述的一种基于交易量预测的区块链系统分层协同调度优化方法,其特征在于,步骤4具体包括:
5.根据权利要求4所述的一种基于交易量预测的区块链系统分层协同调度优化方法,其特征在于,步骤4.1中根据区块链系统的性能指标,计算衡量系统性能的指标power的方法为:
6.根据权利要求1所述的一种基于交易量预测的区块链系统分层协同调度优化方法,其特征在于,步骤5具体包括:
7.根据权利要求6所述
...【技术特征摘要】
1.一种基于交易量预测的区块链系统分层协同调度优化方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于交易量预测的区块链系统分层协同调度优化方法,其特征在于,步骤1中所述区块链系统的性能指标包括区块链的吞吐量和延迟;所述交易信息指标包括区块链交易发送率、区块链交易接收率、提交的交易数量和区块链的区块高度;所述区块链系统部署在容器中所使用的资源情况指标包括cpu使用量、内存使用量和网络传输带宽。
3.根据权利要求1所述的一种基于交易量预测的区块链系统分层协同调度优化方法,其特征在于,步骤3具体包括:...
【专利技术属性】
技术研发人员:赵相国,聂虎林,要鑫,袁野,毕鑫,
申请(专利权)人:东北大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。