CN115866059A - 一种区块链节点调度方法和装置 - Google Patents
一种区块链节点调度方法和装置 Download PDFInfo
- Publication number
- CN115866059A CN115866059A CN202310058530.0A CN202310058530A CN115866059A CN 115866059 A CN115866059 A CN 115866059A CN 202310058530 A CN202310058530 A CN 202310058530A CN 115866059 A CN115866059 A CN 115866059A
- Authority
- CN
- China
- Prior art keywords
- node
- block chain
- scheduling
- deployment
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种区块链节点调度方法和装置,属于区块链技术领域。其方法包括发送节点创建请求至区块链节点管理模块;区块链节点管理模块发送节点调度请求至区块链节点调度模块;区块链节点调度模块接收节点调度请求,并通过规则运算,获取节点部署的资源信息,并将节点部署的资源信息返回给区块链节点管理模块;区块链节点管理模块根据节点与资源的对应管理,发送节点部署请求至区块链节点部署模块;区块链节点部署模块根据节点部署请求将节点部署到相应的服务器上,并将节点部署结果返回给区块链节点管理模块。通过本发明解决了节点部署时,系统资源没有得到充分利用或剩余资源不足的问题。
Description
技术领域
本发明涉及区块链技术领域,更具体的说是涉及一种区块链节点调度方法和装置。
背景技术
BaaS(Blockchain as a Service),“区块链即服务”,是指将区块链框架嵌入云计算平台,利用云服务基础设施的部署和管理优势,为开发者提供便捷、高性能的区块链生态环境和生态配套服务,支持开发者的业务拓展及运营支持的区块链开放平台。通常情况下,一套完整的 BaaS 解决方案包括设备接入、访问控制、服务监控和区块链平台四个主要环节。
目前,使用BaaS(Blockchain as a Service,区块链即服务)对区块链进行管理时,会涉及对区块链节点的管理。如何选择区块链节点部署在哪台服务器上,是一个系统调度的问题。已有的容器化或微服务架构具有调度的能力,但其调度策略属于通用算法,未针对区块链的部署场景进行定制化的设计,存在调度资源方面的不足。
现有技术中,我国发明专利(CN202010076306.0)公开了一种用于区块链平台资源调度的方法,该方法通过使用基于谱聚类的资源调度算法实现平台下Peer Pod的调度,在调度将Peer Pod视为无向带权图中的节点,用Jaccard距离描述节点间带权的边,首先构造相似矩阵,然后依次构造度矩阵、拉普拉斯矩阵,求取拉普拉斯矩阵的前k (人为设定簇的数量)个特征向量,采用传统的k-means聚类算法加以聚类。然而上述方案仅考虑节点与通道的解耦问题,并未解决部署资源的充分利用问题,按照距离计算,再部署不属于同一通道的节点时,很可能把以有的pod资源(不一定是pod,也可能是虚拟机等)优先占领使用,导致每个pod(或虚拟机)对剩余资源不足,再部署节点时产生无足够资源部署的情况。
因此,如何解决部署区块链节点时,既满足区块链系统节点部署特性要求,又可以充分利用系统资源,是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种区块链节点调度方法和装置,用于解决背景技术中存在的技术问题。
为了实现上述目的,本发明采用如下技术方案:
本发明一方面公开了一种区块链节点调度方法,包括:
发送节点创建请求至区块链节点管理模块,所述区块链节点管理模块用于创建节点并存储管理区块链联盟链和节点信息;
区块链节点管理模块发送节点调度请求至区块链节点调度模块;
区块链节点调度模块接收节点调度请求,并通过规则运算,获取节点部署的资源信息,并将节点部署的资源信息返回给区块链节点管理模块;
区块链节点管理模块根据节点与资源的对应管理,发送节点部署请求至区块链节点部署模块;
区块链节点部署模块根据节点部署请求将节点部署到相应的服务器上,并将节点部署结果返回给区块链节点管理模块。
优选的,上述方法还包括:
区块链节点管理模块根据节点部署结果更新节点状态信息和运行环境信息,并输出节点创建结果。
优选的,所述节点信息包括节点基本信息和节点状态信息。
优选的,所述区块链节点调度模块满足最优资源匹配调度策略或最大剩余资源调度策略;
所述最优资源匹配调度策略包括,满足节点部署资源的前提下,分配剩余资源最小的服务器进行节点部署;所述剩余资源包括服务器的CPU数量、内存和磁盘;
所述最大剩余资源调度策略包括,选择当前剩余资源最大的服务器进行节点部署。
优选的,所述规则运算具体包括:
循环调用资源占用加权排序算法,依次对节点资源进行分配,包括,
共识节点调度:将同一个区块链的共识节点统一分配,结合K8S Node单链共识节点个数和最高优先级加权值,对共识节点进行分布式分配部署;
同步节点调度:将同一个区块链的同步节点统一分配,根据集群机器的加权值和部署的同步节点数量,循环调度并将同步节点进行分配部署。
优选的,对同步节点进行部署包括,分布式分配部署或将同一条链不同组织的同步节点可以部署在同一个Node上。
本发明另一方面公开了一种执行上述区块链节点调度方法的装置,包括区块链节点管理模块、区块链节点调度模块和区块链节点部署模块。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种区块链节点调度方法和装置,具有以下有益效果:
本发明基于区块链的特性,针对不同链的节点,在符合资源分配的前提下,优先采用节点解耦的方式进行部署,能够合理利用系统资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的方法流程框架示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例一方面公开了一种区块链节点调度方法,包括:
发送节点创建请求至区块链节点管理模块,所述区块链节点管理模块用于创建节点并存储管理区块链联盟链和节点信息;
区块链节点管理模块发送节点调度请求至区块链节点调度模块;
区块链节点调度模块接收节点调度请求,并通过规则运算,获取节点部署的资源信息,并将节点部署的资源信息返回给区块链节点管理模块;
区块链节点管理模块根据节点与资源的对应管理,发送节点部署请求至区块链节点部署模块;
区块链节点部署模块根据节点部署请求将节点部署到相应的服务器上,并将节点部署结果返回给区块链节点管理模块。
作为优选,区块链节点管理模块还能够根据节点部署结果更新节点状态信息和运行环境信息,并输出节点创建结果。
本实施例中,节点信息包括节点基本信息和节点状态信息,具体的节点基本信息包括节点名称、所属组织、CPU占用数量、内存占用大小、磁盘占用大小、节点类型等;节点状态信息包括节点部署中、节点部署失败、运行中、运行异常、已关闭等;节点管理包括操作节点监控、节点日志、节点退出等。
本发明实施例中,区块链节点调度模块满足最优资源匹配调度策略或最大剩余资源调度策略;
所述最优资源匹配调度策略包括,满足节点部署资源的前提下,分配剩余资源最小的服务器进行节点部署;所述剩余资源包括服务器的CPU数量、内存和磁盘;
所述最大剩余资源调度策略包括,选择当前剩余资源最大的服务器进行节点部署。
本发明实施例中规则运算具体包括:
循环调用资源占用加权排序算法,依次对节点资源进行分配,包括,
共识节点调度:将同一个区块链的共识节点统一分配,结合K8S Node单链共识节点个数和最高优先级加权值,对共识节点进行分布式分配部署;
同步节点调度:将同一个区块链的同步节点统一分配,根据集群机器的加权值和部署的同步节点数量,循环调度并将同步节点进行分配部署。
其中,对同步节点进行部署包括,分布式分配部署或将同一条链不同组织的同步节点可以部署在同一个Node上两种不同的部署方式。
本发明中,同步节点指区块链中,同步共识节点提交的区块,其区块高度、账本数据和共识节点保持一致。
本发明实施例另一方面公开了一种执行上述区块链节点调度方法的装置,包括区块链节点管理模块、区块链节点调度模块和区块链节点部署模块。
下面通过更为具体形象的实施例对本发明的实施过程和原理进行阐述。
首先进行BaaS系统设计:
BaaS系统包含3个核心模块,即:区块链节点管理模块、区块链节点调度模块、区块链节点部署模块。
区块链节点管理模块,负责管理区块链联盟链和节点信息,管理某条联盟链与节点的对应关系。同时,也包含节点的基本信息和状态信息管理等。
区块链节点调度模块,作为本发明的核心模块,提供基于资源和链节点维度的调度计算功能。通过入参的参数计算并返回本次创建节点的适合部署资源的服务器信息。其中,区块链节点调度模块的入参包括但不限于:节点个数、节点类型、集群资源列表、每台机器资源情况等;
区块链节点调度模块的返回参数包括但不限于:节点和资源对应列表;因一条区块链网络上有多个节点,所以返回以列表形式返回,返回每个节点和资源的对应关系,返回参数返回给本发明的节点管理模块。
区块链节点部署模块,根据区块链节点调度模块的调度结果,将节点部署到相应的服务器上。
区块链节点调度模块设计:
节点调度模块支持两种策略,即最优资源匹配和最大剩余资源,两种策略在进行节点调度部署时可以根据需要进行选择。
最优资源匹配,即满足节点部署资源的前提下,分配剩余资源(CPU数量、内存和磁盘)最小的服务器进行节点部署,将集群服务器资源利用率提升到最高;
最优资源匹配:是在将集群机器资源的利用率提到最高的条件下使用,即部署的区块链网络,使用集群机器,就要将机器资源尽量用完,不要浪费;不使用的集群机器,将机器用于部署其它区块链网络。
最大剩余资源,即选择当前剩余资源(CPU数量、内存和磁盘)最大的服务器进行节点部署分配,将节点平均的部署到集群服务器上,将集群服务器都使用起来;
最大剩余资源:是指在资源充分的条件下,部署区块链网络的共识节点和同步节点都可以使用集群机器,不在乎资源的浪费。
无论上述那种策略,均需要考虑节点类型的分布式部署要求,即共识节点必须分散在不同的资源上部署(资源不足的情况除外)。
区块链节点调度模块工作原理:
BaaS系统的区块链节点调度模块通过调用K8S API获取所有Node的CPU总数、内存Memory总量和磁盘空间Disk总量。
获取区块链节点Pod所在Node。
获取区块链节点Pod的CPU、 Memory和Disk的占用量。
综合以上数据获取机制,可以动态统计出节点Pod所在Node的CPU、 Memory和Disk使用率。
本发明中区块链节点调度模块采用分类预分配机制,即将不同区块链节点分别进行调度,其中共识节点按照服务器资源和不在同一个服务器部署进行调度,同步节点按照服务器的资源进行调度,可以部署在同一个服务器上,处理全局预留区块链节点。
调度是指通过在每个链节点分配资源时,循环调用资源占用加权排序算法,依次分配节点资源;其中占用加权排序算法是对服务器资源是否部署节点进行占用统计,如果部署了节点,占用加权值会增加,根据占用加权值进行排序,以此来分配节点资源,包括共识节点和同步节点。
共识节点调度,同一个链的共识节点统一分配,结合K8S Node单链共识节点个数,最高优先级加权值,实现共识排序分散,实现共识节点分布式分配部署,避免同一条链共识节点部署到同一个Node上。
同步节点调度,同一个链的同步节点统一分配,根据集群机器的加权值和部署节点数量,循环调度和部署同步节点,同一条链的同步节点在优先满足资源充分利用的前提下,可以部署到相同的Node上。
本发明的工作流程如下:
操作人员触发创建区块链节点请求至区块链节点管理模块,区块链节点管理模块记录涉及的区块链网络和区块链节点的信息;
区块链节点管理模块请求区块链节点调度模块,为需要创建的区块链节点调度相应的部署资源;
区块链节点调度模块通过规则运算得出节点部署的资源信息,并返回给区块链节点管理模块;
区块链节点管理模块根据节点与资源的对应管理,请求区块链节点部署模块,进行区块链节点部署;
区块链节点部署模块完成节点部署后,返回部署结果给区块链节点管理模块;
区块链节点管理模块更新节点状态和运行环境信息,即节点占用的CPU数量、内存和磁盘大小,返回区块链节点创建结果(区块链节点创建结果包括节点是否部署成功,如果成功状态为运行中,如果失败状态为节点部署失败)给操作人员。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种区块链节点调度方法,其特征在于,所述方法包括以下步骤:
发送节点创建请求至区块链节点管理模块,所述区块链节点管理模块用于创建节点并存储管理区块链联盟链和节点信息;
区块链节点管理模块发送节点调度请求至区块链节点调度模块;
区块链节点调度模块接收节点调度请求,并通过规则运算,获取节点部署的资源信息,并将节点部署的资源信息返回给区块链节点管理模块;
区块链节点管理模块根据节点与资源的对应管理,发送节点部署请求至区块链节点部署模块;
区块链节点部署模块根据节点部署请求将节点部署到相应的服务器上,并将节点部署结果返回给区块链节点管理模块。
2.根据权利要求1所述的区块链节点调度方法,其特征在于,还包括,
区块链节点管理模块根据节点部署结果更新节点状态信息和运行环境信息,并输出节点创建结果。
3.根据权利要求1所述的区块链节点调度方法,其特征在于,所述节点信息包括节点基本信息和节点状态信息。
4.根据权利要求1所述的区块链节点调度方法,其特征在于,所述区块链节点调度模块满足最优资源匹配调度策略或最大剩余资源调度策略;
所述最优资源匹配调度策略包括,满足节点部署资源的前提下,分配剩余资源最小的服务器进行节点部署;所述剩余资源包括服务器的CPU数量、内存和磁盘;
所述最大剩余资源调度策略包括,选择当前剩余资源最大的服务器进行节点部署。
5.根据权利要求1所述的区块链节点调度方法,其特征在于,所述规则运算具体包括:
循环调用资源占用加权排序算法,依次对节点资源进行分配,包括,
共识节点调度:将同一个区块链的共识节点统一分配,结合K8S Node单链共识节点个数和最高优先级加权值,对共识节点进行分布式分配部署;
同步节点调度:将同一个区块链的同步节点统一分配,根据集群机器的加权值和部署的同步节点数量,循环调度并将同步节点进行分配部署。
6.根据权利要求5所述的区块链节点调度方法,其特征在于,对同步节点进行部署包括,分布式分配部署或将同一条链不同组织的同步节点可以部署在同一个Node上。
7.一种区块链节点调度装置,其特征在于,所述装置用于执行权利要求1-6任意一项所述的区块链节点调度方法,所述装置包括区块链节点管理模块、区块链节点调度模块和区块链节点部署模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310058530.0A CN115866059B (zh) | 2023-01-13 | 2023-01-13 | 一种区块链节点调度方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310058530.0A CN115866059B (zh) | 2023-01-13 | 2023-01-13 | 一种区块链节点调度方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115866059A true CN115866059A (zh) | 2023-03-28 |
CN115866059B CN115866059B (zh) | 2023-08-01 |
Family
ID=85657512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310058530.0A Active CN115866059B (zh) | 2023-01-13 | 2023-01-13 | 一种区块链节点调度方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115866059B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117041264A (zh) * | 2023-10-08 | 2023-11-10 | 广东省科技基础条件平台中心 | 一种基于数据处理的区块链资源管理系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587200A (zh) * | 2017-09-29 | 2019-04-05 | 中兴通讯股份有限公司 | 一种区块链即服务平台及系统 |
US20200104177A1 (en) * | 2017-05-30 | 2020-04-02 | Nec Corporation | Resource allocation system, management device, method, and program |
CN112887160A (zh) * | 2021-04-29 | 2021-06-01 | 杭州链城数字科技有限公司 | 区块链一体机及其多节点部署方法、装置、存储介质 |
CN113612854A (zh) * | 2021-08-16 | 2021-11-05 | 中国联合网络通信集团有限公司 | 基于区块链的通信方法、服务器和终端 |
CN113742031A (zh) * | 2021-08-27 | 2021-12-03 | 北京百度网讯科技有限公司 | 节点状态信息获取方法、装置、电子设备及可读存储介质 |
-
2023
- 2023-01-13 CN CN202310058530.0A patent/CN115866059B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200104177A1 (en) * | 2017-05-30 | 2020-04-02 | Nec Corporation | Resource allocation system, management device, method, and program |
CN109587200A (zh) * | 2017-09-29 | 2019-04-05 | 中兴通讯股份有限公司 | 一种区块链即服务平台及系统 |
CN112887160A (zh) * | 2021-04-29 | 2021-06-01 | 杭州链城数字科技有限公司 | 区块链一体机及其多节点部署方法、装置、存储介质 |
CN113612854A (zh) * | 2021-08-16 | 2021-11-05 | 中国联合网络通信集团有限公司 | 基于区块链的通信方法、服务器和终端 |
CN113742031A (zh) * | 2021-08-27 | 2021-12-03 | 北京百度网讯科技有限公司 | 节点状态信息获取方法、装置、电子设备及可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117041264A (zh) * | 2023-10-08 | 2023-11-10 | 广东省科技基础条件平台中心 | 一种基于数据处理的区块链资源管理系统及方法 |
CN117041264B (zh) * | 2023-10-08 | 2024-01-12 | 广东省科技基础条件平台中心 | 一种基于数据处理的区块链资源管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115866059B (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112187545B (zh) | 一种网络切片的部署方法及装置 | |
CN108337109B (zh) | 一种资源分配方法及装置和资源分配系统 | |
CN112153700B (zh) | 一种网络切片资源管理方法及设备 | |
CN107463582B (zh) | 分布式部署Hadoop集群的方法及装置 | |
CN111880936B (zh) | 资源调度方法、装置、容器集群、计算机设备和存储介质 | |
CN101291245B (zh) | 一种分布式处理方法、系统及其装置 | |
CN105049268A (zh) | 分布式计算资源分配系统和任务处理方法 | |
US8381222B2 (en) | Policy driven automation—specifying equivalent resources | |
CN110221920B (zh) | 部署方法、装置、存储介质及系统 | |
CN111459641B (zh) | 一种跨机房的任务调度和任务处理的方法及装置 | |
CN114090176A (zh) | 一种基于Kubernetes的容器调度方法 | |
CN110795202B (zh) | 一种虚拟化集群资源管理系统的资源分配方法以及装置 | |
CN112073532B (zh) | 一种资源分配的方法及装置 | |
CN115866059B (zh) | 一种区块链节点调度方法和装置 | |
KR20170014804A (ko) | 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법 | |
WO2023185390A1 (zh) | 基站版本下载的方法、网管服务器、基站、设备和介质 | |
CN113301087A (zh) | 资源调度方法、装置、计算设备和介质 | |
CN111782363A (zh) | 一种支持多业务场景调用的方法和流程系统 | |
CN110190988A (zh) | 一种业务部署方法及装置 | |
CN113867736B (zh) | 部署方案生成方法及装置 | |
CN110209475B (zh) | 数据采集方法及装置 | |
CN112788768A (zh) | 一种通信资源分配方法及装置 | |
CN103562852B (zh) | 一种保障云应用程序服务质量的方法和装置 | |
CN107590003B (zh) | 一种Spark任务分配方法和系统 | |
CN113190356A (zh) | 一种静态nfv应用资源优化调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |