论文部分内容阅读
2009年,中本聪提出了比特币的相关理念。自此,区块链技术开始慢慢渗透到中国的各个行业。开源社区为了更好的利用和推广这门技术,提出将区块链应用运行在云平台上,即Blockchain as a Service(BaaS)。在BaaS平台技术发展初级阶段,区块链私有链在云平台上的资源调度问题显得尤为突出。本文面向区块链PBFT共识算法和区块链本身特性提出了静态调度算法和自适应调度算法,用来解决现有的资源调度问题。本文中资源调度算法的解决思路及主要创新成果如下:(1)静态调度算法引入资源平衡度分析和亲和性分析,保证了资源分配均衡、服务高可用和物理容灾。其各个流程创新点可简述为:第一,在算法执行前先执行输入数据预处理,即根据区块链本身特性对算法输入参数进行预估计,此步能够保证输入的资源需求矢量更贴合实际资源使用矢量;第二,平衡度分析中Best-Balanced算法从三个角度考虑资源分配的平衡性,包括LB(Load Balance)、RRB(Remaining Resources’Balance)和 RB(Resource’s Balance)算法;第三,针对区块链私有链特性,提出了用来解决区块链应用间亲和性问题的亲和性分析与重排序算法。(2)自适应调度算法从预警和迁移入手,解决了由云计算平台资源使用量动态变化而导致的服务崩溃问题。其创新点可以概括为:预警中的预测模型基于ARIMA时间序列实现,并引入了对预测结果计量矫正概念;迁移筛选采用FBP(Filtering Based On Priority)算法来保证迁移某个节点后不会对区块链应用服务造成任何破坏性的伤害,迁移过程考虑了有状态安全迁移。最后,进行了系统实验分析以及算法部分的模拟实验分析。实验分析结果表明静态调度算法和自适应调度能有效解决区块链应用在云平台上的平衡调度、亲和调度和动态调度问题,而系统实验分析进一步验证了算法的实用性。