CN110995473B - 一种业务节点的控制方法及相关设备 - Google Patents
一种业务节点的控制方法及相关设备 Download PDFInfo
- Publication number
- CN110995473B CN110995473B CN201911132639.4A CN201911132639A CN110995473B CN 110995473 B CN110995473 B CN 110995473B CN 201911132639 A CN201911132639 A CN 201911132639A CN 110995473 B CN110995473 B CN 110995473B
- Authority
- CN
- China
- Prior art keywords
- service
- script
- image file
- mirror image
- running
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/0826—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for reduction of network costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种业务节点的控制方法及相关设备,所述方法包括:获取业务镜像文件,所述业务镜像文件包含业务节点控制脚本、业务运行脚本和基础镜像文件,所述业务节点控制脚本包含循环脚本;获取容器配置文件,所述容器配置文件包含执行脚本标识;运行基础镜像文件,创建第一容器,所述执行脚本标识,在所述第一容器内加载所述业务节点控制脚本,启动所述业务节点控制脚本对应的第一控制进程;基于所述第一控制进程的启动,接收针对所述业务运行脚本的操作指令,所述第一控制进程针对所述业务运行脚本执行所述操作指令对应的操作。通过本发明可以减少在对计算机中部署的业务节点的控制管理过程中系统资源的浪费。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种业务节点的控制方法及相关设别。
背景技术
现在,虚拟化技术已经成为一种被大家广泛认可的服务器资源共享方式,容器技术作为其中的一种,可以有效地将单个操作系统的资源划分到孤立的组中,实现更好地在孤立的组之间平衡有冲突的资源使用需求。例如,我们期望在一台计算机中部署不同的业务节点,如区块链节点、游戏节点等,我们就可以在一台计算机上针对这些业务节点创建不同的容器,然后在创建的容器中运行这些业务节点的业务进程。在对这些运行了业务进程的容器进行管理时,常用的做法是将容器的生命周期与其运行的业务进程进行绑定,当运行的业务进程停止运行时,为其创建的容器也会被销毁。在对业务节点进行业务运维的过程中,通常会遇到暂停业务进程以进行业务节点的管理、业务服务的调整等操作,当容器中的业务进程被暂停后,容器也会随着业务进程的暂停而销毁。当业务节点的运维恢复正常时,就需要重新为业务进程建立容器,针对同一业务节点的业务进程反复进行容器的建立和销毁,导致计算机系统资源的额外浪费。
发明内容
本申请提供一种业务节点的控制方法及相关设备,通过本发明可以减少在对计算机中部署的业务节点的控制管理过程中系统资源的浪费。
本发明实施例第一方面提供了一种业务节点的控制方法,包括:
获取业务镜像文件,所述业务镜像文件包含业务节点控制脚本、业务运行脚本和基础镜像文件,所述业务节点控制脚本包含循环脚本;
获取所述业务镜像文件对应的容器配置文件,所述容器配置文件包含执行脚本标识,所述执行脚本标识为用户预先配置的用于指示在所述业务镜像文件对应的运行容器建立完成后运行脚本的脚本标识;
运行所述基础镜像文件,创建第一容器,根据所述执行脚本标识,在所述第一容器内加载所述业务节点控制脚本,启动所述业务节点控制脚本对应的第一控制进程,所述第一控制进程基于所述循环脚本的加载处于持续运行的状态,所述第一容器基于所述第一控制进程的持续运行保持持续运行状态;
基于所述第一控制进程的启动,接收针对所述业务运行脚本的操作指令,所述第一控制进程针对所述业务运行脚本执行所述操作指令对应的操作,所述操作指令为启动加载操作指令或停止加载操作指令中的一种。
其中,所述方法还包括:
获取用户指定的构建所述业务镜像文件的基础镜像文件,运行所述基础镜像文件;
基于运行的所述基础镜像文件,接收用户针对所述基础镜像文件的修改操作指令,所述修改操作指令中携带在所述基础镜像文件中插入所述业务节点控制脚本和所述业务运行脚本的指令;
根据所述修改操作指令对所述基础镜像文件进行更新,在接收到用户的镜像打包指令后,将更新后的所述基础镜像文件打包成所述业务镜像文件。
其中,所述方法还包括:
获取镜像构建文件,所述镜像构建文件为用户针对所述业务镜像文件的构建而提交的文件,所述镜像构建文件包含多条指令,多条指令包含运行基础镜像文件的指令,以及添加并运行所述业务节点控制脚本和所述业务运行脚本的指令;
根据所述运行基础镜像文件的指令,获取所述基础镜像文件,并运行所述基础镜像文件;
根据添加所述业务节点控制脚本和所述业务运行脚本的指令,获取所述业务节点控制脚本和所述业务运行脚本,执行所述业务节点控制脚本对应的第二控制进程的运行,以及所述业务运行脚本对应的第二业务进程的运行;
在所述镜像构建文件中的指令运行完成的情况下得到所述业务镜像文件。
其中,所述方法还包括:
若在加载所述业务运行脚本后,接收到针对所述业务运行脚本的停止加载操作指令,则在接收到所述停止加载操作指令时,启动针对所述业务运行脚本的停止状态计时;
在停止状态计时大于预设的停止时间阈值的情况下,停止运行所述第一控制进程。
其中,所述获取业务镜像文件包括:
向所述业务镜像文件的发布方发送镜像获取权限申请,所述镜像获取权限申请携带权限验证信息,以使所述业务镜像文件的发布方根据所述权限验证信息进行权限验证,并在验证通过后生成资源获取令牌并返回所述资源获取令牌,所述业务镜像文件的发布方还将所述资源获取令牌发送给镜像仓库设备;
向所述镜像仓库设备发送镜像文件获取申请,所述镜像获取申请携带所述业务镜像文件的发布方返回的资源获取令牌和所述业务镜像文件的第一镜像标识,以使所述镜像仓库设备根据所述业务镜像文件的发布方发送的资源获取令牌,对所述镜像文件获取申请中的资源获取令牌进行验证,并在验证通过后获取所述第一镜像标识对应的业务镜像文件,并响应所述镜像文件获取申请返回所述业务镜像文件。
其中,所述方法还包括:
根据所述执行脚本标识,周期性地检测所述第一控制进程是否停止;
在未停止的情况下,检测针对所述业务运行脚本的操作指令;
在停止的情况下,停止运行所述第一业务进程,并将所述第一容器关闭。
其中,所述方法还包括:
将所述第一控制进程确定为所述第一容器的守护进程,周期性地检测所述第一控制进程是否停止;
在未停止的情况下,检测针对所述业务运行脚本的操作指令;
在停止的情况下,重启所述第一容器,以使所述第一控制进程重新运行,并基于所述第一控制进程的重新运行,并重新执行所述第一控制进程在停止前对所述业务运行脚本执行的操作。
本发明实施例第二方面提供了一种业务节点的控制装置,包括:
镜像文件获取模块,用于获取业务镜像文件,所述业务镜像文件包含业务节点控制脚本、业务运行脚本和基础镜像文件,所述业务节点控制脚本包含循环脚本;
配置文件获取模块,用于获取所述业务镜像文件对应的容器配置文件,所述容器配置文件包含执行脚本标识,所述执行脚本标识为用户预先配置的用于指示在所述业务镜像文件对应的运行容器建立完成后运行脚本的脚本标识;
脚本加载模块,用于运行所述基础镜像文件,创建第一容器,根据所述执行脚本标识,在所述第一容器内加载所述业务节点控制脚本,启动所述业务节点控制脚本对应的第一控制进程,所述第一控制进程基于所述循环脚本的加载处于持续运行的状态,所述第一容器基于所述第一控制进程的持续运行保持持续运行状态;
节点控制模块,用于基于所述第一控制进程的启动,接收针对所述业务运行脚本的操作指令,所述第一控制进程针对所述业务运行脚本执行所述操作指令对应的操作,所述操作指令为启动加载操作指令或停止加载操作指令中的一种。
其中,所述装置还包括,第一镜像构建模块,用于:
获取用户指定的构建所述业务镜像文件的基础镜像文件,运行所述基础镜像文件;
基于运行的所述基础镜像文件,接收用户针对所述基础镜像文件的修改操作指令,所述修改操作指令中携带在所述基础镜像文件中插入所述业务节点控制脚本和所述业务运行脚本的指令;
根据所述修改操作指令对所述基础镜像文件进行更新,在接收到用户的镜像打包指令后,将更新后的所述基础镜像文件打包成所述业务镜像文件。
其中所述装置还包括,第二镜像构建模块,用于:
获取镜像构建文件,所述镜像构建文件为用户针对所述业务镜像文件的构建而提交的文件,所述镜像构建文件包含多条指令,多条指令包含运行基础镜像文件的指令,以及添加并运行所述业务节点控制脚本和所述业务运行脚本的指令;
根据所述运行基础镜像文件的指令,获取所述基础镜像文件,并运行所述基础镜像文件;
根据添加所述业务节点控制脚本和所述业务运行脚本的指令,获取所述业务节点控制脚本和所述业务运行脚本,执行所述业务节点控制脚本对应的第二控制进程的运行,以及所述业务运行脚本对应的第二业务进程的运行;
在所述镜像构建文件中的指令运行完成的情况下得到所述业务镜像文件。
其中,所述节点控制模块,还用于:
若在加载所述业务运行脚本后,接收到针对所述业务运行脚本的停止加载操作指令,则在接收到所述停止加载操作指令时,启动针对所述业务运行脚本的停止状态计时;
在停止状态计时大于预设的停止时间阈值的情况下,停止运行所述第一控制进程。
其中,所述镜像文件获取模块,具体用于:
向所述业务镜像文件的发布方发送镜像获取权限申请,所述镜像获取权限申请携带权限验证信息,以使所述业务镜像文件的发布方根据所述权限验证信息进行权限验证,并在验证通过后生成资源获取令牌并返回所述资源获取令牌,所述业务镜像文件的发布方还将所述资源获取令牌发送给镜像仓库设备;
向所述镜像仓库设备发送镜像文件获取申请,所述镜像获取申请携带所述业务镜像文件的发布方返回的资源获取令牌和所述业务镜像文件的第一镜像标识,以使所述镜像仓库设备根据所述业务镜像文件的发布方发送的资源获取令牌,对所述镜像文件获取申请中的资源获取令牌进行验证,并在验证通过后获取所述第一镜像标识对应的业务镜像文件,并响应所述镜像文件获取申请返回所述业务镜像文件。
其中,所述装置还包括第一容器控制模块,用于:
根据所述执行脚本标识,周期性地检测所述第一控制进程是否停止;
在未停止的情况下,检测针对所述业务运行脚本的操作指令;
在停止的情况下,停止运行所述第一业务进程,并将所述第一容器关闭。
其中,所述装置还包括第二容器控制模块,用于:
将所述第一控制进程确定为所述第一容器的守护进程,周期性地检测所述第一控制进程是否停止;
在未停止的情况下,检测针对所述业务运行脚本的操作指令;
在停止的情况下,重启所述第一容器,以使所述第一控制进程重新运行,并基于所述第一控制进程的重新运行,并重新执行所述第一控制进程在停止前对所述业务运行脚本执行的操作。
本发明实施例第三方面提供了一种业务节点的控制装置,包括:处理器和存储器;
所述处理器与存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行本发明实施例中上述任一方面中的方法。
本发明实施例第四方面提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述任一方面中的方法。
本发明实施例中,获取业务镜像文件后,获取业务镜像文件对应的容器配置文件,运行业务镜像文件中的基础镜像文件,创建第一容器,根据容器配置文件中的执行脚本标识,在第一容器内加载业务节点控制脚本,启动业务节点控制脚本对应的第一控制进程,基于第一控制进程的启动,接收针对业务运行脚本的操作指令,第一控制进程针对业务运行脚本执行操作指令对应的操作。第一进程基于业务节点控制脚本中循环脚本的加载处于持续运行的状态,实现了在第一控制进程加载业务运行脚本使得业务节点启动工作时,或第一控制进程停止加载业务运行脚本使得业务节点停止工作时,第一容器均基于第一控制进程的持续运行保持持续运行的状态,避免了在对业务节点进行管理控制的过程中第一容器的反复销毁和重建,节约了设备的系统资源。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的Docker的架构示意图;
图1b是本发明实施例提供的k8s系统的架构示意图;
图2a是本发明实施例提供的一种区块链系统的示意图;
图2b为本发明实施例提供的另一种区块链系统的示意图;
图3为本发明实施例提供的一种业务节点的控制方法的流程示意图;
图4为本发明实施例提供的另一种业务节点的控制方法的流程示意图;
图5为本发明实施例提供的一种生成业务镜像文件的示意图;
图6为本发明实施例提供的又一种业务节点的控制方法的流程示意图;
图7为本发明实施例提供的一种业务节点的控制装置;
图8是本发明实施例提供的另一种业务节点的控制装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先就本发明实施例中的业务节点的控制方法中涉及到的镜像、容器、Docker、Kubernetes进行简单的介绍:
1、镜像
镜像是一种文件存储形式,是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。镜像是一个应用轻量级独立可执行软件包,包含运行它时所需的一切代码、系统工具、库、环境变量等等。
2、容器
容器是通过一种虚拟化技术来隔离运行在主机上不同进程,从而达到进程之间、进程和宿主操作系统相互隔离、互不影响的技术。这种相互孤立进程就叫容器,它有自己的一套文件系统资源和从属进程。容器是镜像的运行实例,有了镜像才能启动容器。
3、Docker
Docker是一个开源的应用容器引擎,是一种创建容器的工具。可参见图1a,图1a是本发明实施例提供的Docker的架构示意图,如图所示,Docker包含主机、后台进程dockerdaemon、客户端和容器,docker daemon运行在主机上,通过socket连接接受各个客户端的访问,并根据从客户端接收的命令管理运行在主机上的容器。
4、Kubernetes
Kubernetes(简称k8s)是一个自动化部署、伸缩和操作应用程序容器的开源平台。可参见图1b,图1b是本发明实施例提供的k8s系统的架构示意图,如图所示,一个k8s系统通常包含一个主节点(master)和多个计算节点(node)。Master节点包括API Server、Scheduler、Controller manager、etcd。API Server是整个系统的对外接口,供客户端和其他组件调用,Scheduler负责对集群内部的资源内进行调度,Controller manager是负责管理的控制器,etcd是分布式可靠的键值存储,用于存储数据。Node节点包括Pod、Docker、kubelet、kube-proxy、Fluentd。Pod是k8s最基本的操作单元,一个Pod代表着集群中运行的一个进程,它内部封装了一个或多个紧密相关的容器,Docker用于创建容器,kubelet负责监视指派到它所在Node上的Pod,包括创建、修改、监控、删除等,kube-proxy负责为Pod对象提供代理,Fluentd负责日志收集、存储与查询。
下面介绍本发明实施例的应用场景,本发明实施例提供的业务节点的控制方法可以适用在区块链服务供应商对基于k8s上部署的区块链节点进行控制管理的场景中,如在区块链服务的用户从区块链服务供应商购买了区块链服务后,区块链供应商可以在k8s平台上部署并启动该用户的区块链节点,在该用户的维护费用到期后,区块链服务供应商可以停止该用户的区块链服务,暂停为该用户启动的区块链节点,在用户续费后可以重启该用户的区块链节点。
本发明实施例提供的业务节点的控制方法还可以适用在游戏供应商对游戏节点控制管理的场景中,如在游戏供应商在游戏完成开发投入生产环境中后,游戏供应商维护游戏节点的持续运行,在游戏需要版本升级或漏洞修复时,游戏供应商需要暂停该游戏节点的运行,在对游戏底层脚本完善后,恢复游戏节点的正常运行。
本发明实施例提供的业务节点的控制方法可以示例性的使用在上述场景中,上述场景并非本发明实施例适用的全部场景。这里,以本发明实施例提供的业务节点的控制方法中,业务节点为区块链节点的场景进行示例性的介绍:参见图2a,图2a是本发明实施例提供的一种区块链系统的示意图,区块链系统有多个区块链节点,图2a中示例性地画出了第一节点002、第二节点003、第三节点004和第四节点005,上述四个节点之间形成点对点(P2P,Peer To Peer)网络。在分布式系统中,任何机器如服务器、终端都可以加入而成为区块链节点,区块链节点包括硬件层、中间层、操作系统层和应用层。第一节点002、第二节点003、第三节点004和第四节点005可以基于以下功能共同维护通一条目标区块链:
1)路由功能,是区块链节点具有的基本功能,用于支持节点之间的通信。
2)应用功能,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他区块链节点,供其他区块链节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。应用功能实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他区块链节点,其他区块链节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,是一种计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链维护,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
业务节点设备001可以为一台计算机设备,通过本发明实施例提供的业务节点的控制方法,可以控制在业务节点设备001上部署的区块链节点的运行,使业务节点设备001具备上述1)~3)的功能,实现将业务节点设备001上部署的区块链节点作为目标区块链中的一个区块链节点,与第一节点002、第二节点003、第三节点004和第四节点005共同维护目标区块链。参见图2b,图2b为本发明实施例提供的另一种区块链系统的示意图,如图所示,图2b所示的区块链系统为业务节点设备001上部署的区块链节点启动运行,加入图2a中的区块链系统之后,构成的区块链系统。通过本发明实施例提供的业务节点的控制方法,可以控制业务节点设备001中区块链节点的开启,使其作为目标区块链中的一个区块链节点,也可以控制业务节点设备001中的区块链节点的关闭,使其退出目标区块链的维护。
接下来介绍本发明实施例提供的业务节点的控制方法,参见图3,图3为本发明实施例提供的一种业务节点的控制方法的流程示意图,如图所示,所述方法可以包括以下步骤:
S101,获取业务镜像文件。
本发明实施例提供的业务节点的控制方法可以在业务节点设备上执行,业务节点设备可以是用户的平板电脑、手机、个人计算机、笔记本电脑等设备,也可以是容器化的节点部署平台的设备,如k8s平台的设备。
这里,节点部署镜像文件可以预先存储在镜像仓库(repository)设备中,业务节点设备在接收到用户的业务部署指令后,向镜像仓库设备请求业务镜像文件,镜像仓库设备向业务节点设备返回业务镜像文件。业务镜像文件也可以被用户存储在硬盘、U盘、光盘等外部存储设备中,业务节点设备可以从连接的外部存储设备中拷贝业务镜像文件。
所述业务镜像文件包含业务节点控制脚本、业务运行脚本和基础镜像文件,所述业务节点控制脚本包含循环脚本,各个脚本的功能将在后续加载时具体介绍。
若业务镜像文件预先存储在镜像仓库设备中,业务节点设备获取业务镜像文件的方式具体为:业务节点设备向所述业务镜像文件的发布方发送镜像获取权限申请,所述镜像获取权限申请携带权限验证信息,所述业务镜像文件的发布方根据所述权限验证信息进行权限验证,并在验证通过后生成资源获取令牌并返回所述资源获取令牌,所述业务镜像文件的发布方还将所述资源获取令牌发送给镜像仓库设备;业务节点设备向所述镜像仓库设备发送镜像文件获取申请,所述镜像获取申请携带所述业务镜像文件的发布方返回的资源获取令牌和所述业务镜像文件的第一镜像标识,所述镜像仓库设备根据所述业务镜像文件的发布方发送的资源获取令牌,对所述镜像文件获取申请中的资源获取令牌进行验证,并在验证通过后获取所述第一镜像标识对应的业务镜像文件,并响应所述镜像文件获取申请返回所述业务镜像文件。
一种实现方式中,业务节点设备发送的权限验证信息可以是业务节点设备的登录ID和登录密码,业务节点设备在获取业务镜像文件之前,向业务镜像文件的发布方注册,业务镜像文件的发布方记录业务节点设备注册时的登录ID和登录密码,而后业务节点设备根据注册时的登录ID和登录密码,对权限验证信息中的登录ID和登录密码进行验证,在验证通过的情况下,确定业务节点设备具有获取业务镜像文件的权限,生成对应的资源获取令牌并返回。另一种实现方式中,业务节点设备发送的权限验证信息可以是业务节点设备的数字证书和针对指定消息的数字签名,业务镜像文件的发布方验证数字证书的发放对象是否是业务节点设备、数字证书是否过期、以及证书发布方是否是官方可信任发布方等等,在数字证书无异常情况时,对指定消息的数字签名进行验签,以验证镜像获取权限申请的发送者是否确实是业务节点设备,在验证均通过的情况下,生成对应的资源获取令牌并返回。
S102,获取所述业务镜像文件对应的容器配置文件。
其中,容器配置文件可以为用户配置的用于使业务节点设备进行资源管理构建业务镜像文件对应的运行容器的配置文件,容器配置文件可以包括用户配置的业务镜像文件的第一镜像标识,以使业务节点设备根据容器配置文件拉取业务镜像文件;还可以包括执行脚本标识,所述执行脚本标识为用户预先配置的用于指示在所述业务镜像文件对应的运行容器建立完成后运行脚本的脚本标识,以使业务节点设备在运行容器建立完成后执行运行所述执行脚本标识对应的脚本的命令,业务镜像文件对应的容器配置文件中执行脚本标识的取值为所述业务节点控制脚本的标识,使得运行容器构建完成后,运行业务节点控制脚本;还可以包括容器的目录和宿主机的目录之间的映射关系,以使业务节点设备根据该映射关系在获取业务镜像文件等数据在宿主机的实际存放目录;还可以包括运行容器对外的端口号,以使业务节点设备将该端口号分配给运行容器,等等。
S103,运行所述基础镜像文件,创建第一容器,根据所述执行脚本标识,在所述第一容器内加载所述业务节点控制脚本,启动所述业务节点控制脚本对应的第一控制进程。
其中,基础镜像文件(base image)针对业务节点的部署提供了一个基本的操作系统环境,基础镜像文件有官方发布的多种类型基础镜像文件,也有用户自定义的基础镜像文件,基础镜像文件业务镜像文件在构建时,用户指定的依赖运行文件。基础镜像文件运行后,基于基础镜像文件的运行生成第一容器,第一容器即为用户运行业务节点的容器。根据容器配置文件中取值为业务节点控制脚本的脚本标识的执行脚本标识,在第一容器内加载业务节点控制脚本,启动业务节点控制脚本对应的第一控制进程。
其中,业务节点控制脚本为控制业务节点运行或停止运行的脚本,也是维持第一容器持续运行的脚本,业务运行脚本为承载业务节点运行的脚本,相应的,业务节点控制脚本包含控制业务运行脚本加载或停止加载的管理脚本,以及维持第一控制进程持续运行的循环脚本。第一控制进程基于所述循环脚本的加载处于持续运行的状态,所述第一容器基于所述第一控制进程的持续运行保持持续运行状态,即只要第一控制进程处于运行状态,第一容器即不会被业务节点设备销毁。
可选的,在第一控制进程启动后,可以根据容器配置文件中的执行脚本标识,周期性地检测第一控制进程是否停止,在未停止的情况下,检测是否接收到针对业务运行脚本的操作指令,在停止的情况下,停止运行第一业务进程,并将第一容器关闭。例如,区块链服务供应商在确定区块链服务的某一用户不再使用区块链供应商为其部署的区块链节点后,区块链供应商可以通过kill(杀死)第一业务进程的方式销毁第一容器,业务节点设备在检测到第一业务进程停止后,可以关闭第一业务进程并销毁第一容器。
进一步可选的,在第一控制进程控制业务运行脚本加载后,若接收到针对业务运行脚本的停止加载操作指令,则业务节点设备在接收到针对业务运行脚本的停止加载操作指令时,启动针对业务运行脚本的停止状态计时,并检测停止状态计时是否大于预设的停止时间阈值,在大于的情况下,业务节点设备停止运行第一控制进程,并将第一容器关闭。例如区块链服务供应商在区块链服务用户的费用缴纳完成后才维护区块链用户的区块链节点运行,若用户去区块链节点对应账户一直处于欠费状态,在欠费状态超过停止时间阈值的情况下,说明用户可能不再使用该区块链节点,就可以停止第一控制进程,实现第一容器的销毁关闭。
S104,基于所述第一控制进程的启动,接收针对所述业务运行脚本的操作指令,所述第一控制进程针对所述业务运行脚本执行所述操作指令对应的操作。
其中,业务运行脚本为承载用户部署的业务节点中业务服务的脚本,例如用户部署的业务节点为区块链节点,业务运行脚本中可以携带区块链中的共识机制、区块链中账本的同步方式等,用户部署的业务节点为游戏节点,业务运行脚本中可以携带游戏中的各种游戏场景、各个游戏角色的功能、以及基于用户对各个游戏角色的操作产生的游戏效果等。
这里,可以预先在第一控制进程中写入控制业务运行脚本在第一控制进程启动后,默认自动重启的逻辑脚本,那么第一控制进程启动后,业务节点设备默认加载业务运行脚本,使业务运行脚本对应的第一业务进程启动,并基于第一业务进程的启动,为用户提供业务服务。也可以在第一控制进程启动后,业务节点设备接收用户针对业务运行脚本的操作指令,所述操作指令为启动加载操作指令或停止加载操作指令中的一种。若业务运行脚本对应的第一业务进程处于运行状态,则第一控制进程仅响应接收到的停止加载操作指令,若业务运行脚本对应的第一业务进程处于停止运行状态,则第一控制进程仅响应接收到的启动加载操作指令。
若业务节点设备为图2a中的业务节点设备001,在接收到用户的启动加载操作指令后,第一控制进程可以响应启动加载操作指令,启动业务运行脚本,使业务节点设备001加入目标区块链的维护。例如,若图2a中的目标区块链为虚拟资产数据链,业务节点设备001接收到用户携带虚拟资产发行的抵押物凭证信息以及虚拟资产发行数量的虚拟资产发行请求后,业务节点设备001根据虚拟资产发布请求,生成包含业务节点设备001中部署的区块链节点的钱包地址、抵押物凭证信息以及虚拟资产发行数量的资产发布事务申请,业务节点设备001将资产发布事务申请发送给目标区块链在当前共识周期内的领导节点(假设当前的领导节点是第一节点002),第一节点002针对资产发布事务申请生成资产发行区块,并将资产发行区块发送给目标区块链的各个区块链节点进行共识验证,第一节点002在共识验证通过的情况下,将资产发行区块上传目标目标区块链。相应的,若业务节点设备为图2b中的业务节点设备001,在接收到用户的停止加载操作指令,第一控制进程可以响应停止加载操作指令,停止业务运行脚本的加载,使业务节点设备001退出目标区块链。
本发明实施例中,获取业务镜像文件后,获取业务镜像文件对应的容器配置文件,运行业务镜像文件中的基础镜像文件,创建第一容器,根据容器配置文件中的执行脚本标识,在第一容器内加载业务节点控制脚本,启动业务节点控制脚本对应的第一控制进程,基于第一控制进程的启动,接收针对业务运行脚本的操作指令,第一控制进程针对业务运行脚本执行操作指令对应的操作。第一进程基于业务节点控制脚本中循环脚本的加载处于持续运行的状态,实现了在第一控制进程加载业务运行脚本使得业务节点启动工作时,或第一控制进程停止加载业务运行脚本使得业务节点停止工作时,第一容器均基于第一控制进程的持续运行保持持续运行的状态,避免了在对业务节点进行管理控制的过程中第一容器的反复销毁和重建,节约了设备的系统资源。
参见图4,图4为本发明实施例提供的另一种业务节点的控制方法的流程示意图,如图所示,所述方法可以包括以下步骤:
S201,获取用户指定的构建所述业务镜像文件的基础镜像文件,运行所述基础镜像文件。
这里,首先接收用户提交的基础镜像指令,基础镜像指令中携带用户指定的构建业务镜像文件的基础镜像文件,根据基础镜像指令获取并运行基础镜像文件。具体在Docker平台上,用户可以通过docker run指令来运行该基础镜像文件。基础镜像文件在运行时,首先运行基础镜像文件对应的UnionFS(Union File System,联合文件系统)中的BootFS(Boot File System,启动文件系统),BootFS包括Bootloader(引导加载程序)和kernel(内核),通过运行Bootloader引导设备加载kernel,BootFS加载完毕后,运行基础镜像文件的内核就加载在设备的内存了。然后在系统准备的内核之上加载UnionFS中的RootFS(Root File System,根文件系统),RootFS是不同操作系统的精简版,可基于加载的RootFS进行读写操作。RootFS加载完成后基础镜像文件加载完成。
S202,基于运行的所述基础镜像文件,接收用户针对所述基础镜像文件的修改操作指令。
其中,所述修改操作指令中携带在所述基础镜像文件中插入所述业务节点控制脚本和所述业务运行脚本的指令。
S203,根据所述修改操作指令对所述基础镜像文件进行更新,在接收到用户的镜像打包指令后,将更新后的所述基础镜像文件打包成所述业务镜像文件。
在接收到用户的修改操作指令后,基于S201中加载的RootFS,对基础镜像文件进行修改,将RootFS之上构建运行业务节点控制脚本和业务运行脚本的新的镜像层,进而将新的镜像层与该镜像层下方的各层文件进行打包,得到业务镜像文件。在Docker平台上,用户可以通过docker commit指令来触发本步骤的操作。具体可以参加图5,图5为本发明实施例提供的一种生成业务镜像文件的示意图,经过如图所示的三个步骤得到业务镜像文件。
S204,获取业务镜像文件。
S205,获取所述业务镜像文件对应的容器配置文件。
所述容器配置文件包含执行脚本标识,所述执行脚本标识为用户预先配置的用于指示在所述业务镜像文件对应的运行容器建立完成后运行脚本的脚本标识。
S206,运行所述基础镜像文件,创建第一容器,根据所述执行脚本标识,在所述第一容器内加载所述业务节点控制脚本,启动所述业务节点控制脚本对应的第一控制进程。
S207,基于所述第一控制进程的启动,接收针对所述业务运行脚本的操作指令,所述第一控制进程针对所述业务运行脚本执行所述操作指令对应的操作。
所述操作指令为启动加载操作指令或停止加载操作指令中的一种。
步骤S204~步骤S207的具体实现方式可以参阅图1a对应的实施例中步骤S101~步骤S104的具体实现方式,此处不再赘述。
本发明实施例中,通过对运行用户指定的基础镜像文件进行更新,在基础镜像文件中插入业务节点控制脚本和业务运行脚本,并在接收到用户的镜像打包指令后,将更新后的基础镜像文件打包成业务镜像文件。进而在用户进行业务节点部署时,在针对业务节点的第一容器创建之后,通过业务镜像文件中的业务节点控制脚本对应的第一控制进程持续运行,将第一容器的生命周期与第一控制进程进行绑定,实现第一容器处于持续运行状态,避免了在对业务节点进行管理控制的过程中第一容器的反复销毁和重建,节约了设备的系统资源。
参见图6,图6为本发明实施例提供的又一种业务节点的控制方法的流程示意图,如图所示,所述方法可以包括以下步骤:
S301,获取镜像构建文件。
其中,所述镜像构建文件为用户针对所述业务镜像文件的构建而提交的文件,所述镜像构建文件包含多条指令,多条指令包含运行基础镜像文件的指令,以及添加并运行所述业务节点控制脚本和所述业务运行脚本的指令。在Docker平台,镜像构建文件可以为Docker file文件,在Docker file文件中用户写入了多种构建业务镜像文件的指令,例如FROM image name指令、用于给业务镜像文件命名的指令,MAINTAINER name指令,用于指明业务镜像文件的构建方的指令,ADD filename目录指令或COPY fileName目录指令,都是用于将宿主机中的指定的filename的文件添加到镜像的指定目录的指令,等等。这里,可以通过FROM image name指令构建运行基础镜像文件的指令,通过ADD filename目录指令或COPY fileName目录指令,构建添加并运行所述业务节点控制脚本和所述业务运行脚本的指令。
S302,运行所述镜像构建文件中的各个指令,在所述镜像构建文件中的指令运行完成的情况下得到所述业务镜像文件。
这里,按照镜像构建文件中各个指令的排序,执行各个指令,包括根据所述运行基础镜像文件的指令,获取所述基础镜像文件,并运行所述基础镜像文件;以及根据添加所述业务节点控制脚本和所述业务运行脚本的指令,获取所述业务节点控制脚本和所述业务运行脚本,执行所述业务节点控制脚本对应的第二控制进程的运行,以及所述业务运行脚本对应的第二业务进程的运行。在Docker平台,用户可以通过docker build触发Docker file文件的运行。
S303,获取业务镜像文件。
S304,获取所述业务镜像文件对应的容器配置文件,所述容器配置文件包含执行脚本标识,所述执行脚本标识为用户预先配置的用于指示在所述业务镜像文件对应的运行容器建立完成后运行脚本的脚本标识。
S305,运行所述基础镜像文件,创建第一容器,根据所述执行脚本标识,在所述第一容器内加载所述业务节点控制脚本,启动所述业务节点控制脚本对应的第一控制进程。
S306,基于所述第一控制进程的启动,接收针对所述业务运行脚本的操作指令,所述第一控制进程针对所述业务运行脚本执行所述操作指令对应的操作。
步骤S303~步骤S306的具体实现方式可以参阅图1a对应的实施例中步骤S101~步骤S104的具体实现方式,此处不再赘述。
可选的,可以将第一控制进程设置为第一容器中进程编号为1的进程,通过将所述第一控制进程确定为所述第一容器的守护进程,周期性地检测所述第一控制进程是否停止;在未停止的情况下,检测针对所述业务运行脚本的操作指令;在停止的情况下,重启所述第一容器,以使所述第一控制进程重新运行,并基于所述第一控制进程的重新运行,并重新执行所述第一控制进程在停止前对所述业务运行脚本执行的操作。通过将第一控制进程作为第一容器的守护进程,实现在第一控制进程由于自身异常情况导致停止运行时,重启第一容器,使得第一控制进程重新启动运行,防止第一容器因第一控制进程的异常停止而被系统销毁,保证了业务节点的正常运行。
本发明实施例中,通过运行用户配置的镜像构建文件得到业务镜像文件,进而在用户进行业务节点部署时,在针对业务节点的第一容器创建之后,通过业务镜像文件中的业务节点控制脚本对应的第一控制进程持续运行,将第一容器的生命周期与第一控制进程进行绑定,实现第一容器处于持续运行状态,避免了在对业务节点进行管理控制的过程中第一容器的反复销毁和重建,节约了设备的系统资源。
参加图7,图7为本发明实施例提供的一种业务节点的控制装置,如图所示,所述业务节点的控制装置70包括:
镜像文件获取模块701,用于获取业务镜像文件,所述业务镜像文件包含业务节点控制脚本、业务运行脚本和基础镜像文件,所述业务节点控制脚本包含循环脚本;
配置文件获取模块702,用于获取所述业务镜像文件对应的容器配置文件,所述容器配置文件包含执行脚本标识,所述执行脚本标识为用户预先配置的用于指示在所述业务镜像文件对应的运行容器建立完成后运行脚本的脚本标识;
脚本加载模块703,用于运行所述基础镜像文件,创建第一容器,根据所述执行脚本标识,在所述第一容器内加载所述业务节点控制脚本,启动所述业务节点控制脚本对应的第一控制进程,所述第一控制进程基于所述循环脚本的加载处于持续运行的状态,所述第一容器基于所述第一控制进程的持续运行保持持续运行状态;
节点控制模块704,用于基于所述第一控制进程的启动,接收针对所述业务运行脚本的操作指令,所述第一控制进程针对所述业务运行脚本执行所述操作指令对应的操作,所述操作指令为启动加载操作指令或停止加载操作指令中的一种。
可选的,所述装置70还包括,第一镜像构建模块705,用于:
获取用户指定的构建所述业务镜像文件的基础镜像文件,运行所述基础镜像文件;
基于运行的所述基础镜像文件,接收用户针对所述基础镜像文件的修改操作指令,所述修改操作指令中携带在所述基础镜像文件中插入所述业务节点控制脚本和所述业务运行脚本的指令;
根据所述修改操作指令对所述基础镜像文件进行更新,在接收到用户的镜像打包指令后,将更新后的所述基础镜像文件打包成所述业务镜像文件。
可选的,所述装置70还包括,第二镜像构建模块706,用于:
获取镜像构建文件,所述镜像构建文件为用户针对所述业务镜像文件的构建而提交的文件,所述镜像构建文件包含多条指令,多条指令包含运行基础镜像文件的指令,以及添加并运行所述业务节点控制脚本和所述业务运行脚本的指令;
根据所述运行基础镜像文件的指令,获取所述基础镜像文件,并运行所述基础镜像文件;
根据添加所述业务节点控制脚本和所述业务运行脚本的指令,获取所述业务节点控制脚本和所述业务运行脚本,执行所述业务节点控制脚本对应的第二控制进程的运行,以及所述业务运行脚本对应的第二业务进程的运行;
在所述镜像构建文件中的指令运行完成的情况下得到所述业务镜像文件。
可选的,所述节点控制模块704,还用于:
若在加载所述业务运行脚本后,接收到针对所述业务运行脚本的停止加载操作指令,则在接收到所述停止加载操作指令时,启动针对所述业务运行脚本的停止状态计时;
在停止状态计时大于预设的停止时间阈值的情况下,停止运行所述第一控制进程。
可选的,所述镜像文件获取模块701,具体用于:
向所述业务镜像文件的发布方发送镜像获取权限申请,所述镜像获取权限申请携带权限验证信息,以使所述业务镜像文件的发布方根据所述权限验证信息进行权限验证,并在验证通过后生成资源获取令牌并返回所述资源获取令牌,所述业务镜像文件的发布方还将所述资源获取令牌发送给镜像仓库设备;
向所述镜像仓库设备发送镜像文件获取申请,所述镜像获取申请携带所述业务镜像文件的发布方返回的资源获取令牌和所述业务镜像文件的第一镜像标识,以使所述镜像仓库设备根据所述业务镜像文件的发布方发送的资源获取令牌,对所述镜像文件获取申请中的资源获取令牌进行验证,并在验证通过后获取所述第一镜像标识对应的业务镜像文件,并响应所述镜像文件获取申请返回所述业务镜像文件。
可选的,所述装置70还包括第一容器控制模块707,用于:
根据所述执行脚本标识,周期性地检测所述第一控制进程是否停止;
在未停止的情况下,检测针对所述业务运行脚本的操作指令;
在停止的情况下,停止运行所述第一业务进程,并将所述第一容器关闭。
可选的,所述装置70还包括第二容器控制模块708,用于:
将所述第一控制进程确定为所述第一容器的守护进程,周期性地检测所述第一控制进程是否停止;
在未停止的情况下,检测针对所述业务运行脚本的操作指令;
在停止的情况下,重启所述第一容器,以使所述第一控制进程重新运行,并基于所述第一控制进程的重新运行,并重新执行所述第一控制进程在停止前对所述业务运行脚本执行的操作。
具体实现中,所述业务节点的控制装置70可以通过其内置的各个功能模块执行如图3、图4和图6的业务节点的控制方法中的各个步骤,具体实施细节可参阅图3、图4和图6对应的实施例中各个步骤的实现细节,此处不再赘述。
本发明实施例中,镜像文件获取模块获取业务镜像文件后,配置文件获取模块获取业务镜像文件对应的容器配置文件,脚本加载模块运行业务镜像文件中的基础镜像文件,创建第一容器,根据容器配置文件中的执行脚本标识,在第一容器内加载业务节点控制脚本,启动业务节点控制脚本对应的第一控制进程,节点控制模块基于第一控制进程的启动,接收针对业务运行脚本的操作指令,第一控制进程针对业务运行脚本执行操作指令对应的操作。第一进程基于业务节点控制脚本中循环脚本的加载处于持续运行的状态,实现了在第一控制进程加载业务运行脚本使得业务节点启动工作时,或第一控制进程停止加载业务运行脚本使得业务节点停止工作时,第一容器均基于第一控制进程的持续运行保持持续运行的状态,避免了在对业务节点进行管理控制的过程中第一容器的反复销毁和重建,节约了设备的系统资源。
参见图8,图8是本发明实施例提供的另一种业务节点的控制装置的结构示意图。如图8所示,所述业务节点的控制装置80可以包括:至少一个处理器801,例如CPU,至少一个网络接口804,用户接口803,存储器805,至少一个通信总线802。其中,通信总线802用于实现这些组件之间的连接通信。其中,用户接口803可以包括显示屏(Display)、键盘(Keyboard),可选用户接口803还可以包括标准的有线接口、无线接口。网络接口804可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器805可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器805可选地还可以是至少一个位于远离前述处理器801的存储装置。如图8所示,作为一种计算机存储介质的存储器805中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图8所示的业务节点的控制装置80中,网络接口804可以用于连接k8s平台中的master节点;而用户接口803主要用于为用户提供输入的接口;而处理器801可以用于调用存储器805中存储的设备控制应用程序,以实现:
获取业务镜像文件,所述业务镜像文件包含业务节点控制脚本、业务运行脚本和基础镜像文件,所述业务节点控制脚本包含循环脚本;
获取所述业务镜像文件对应的容器配置文件,所述容器配置文件包含执行脚本标识,所述执行脚本标识为用户预先配置的用于指示在所述业务镜像文件对应的运行容器建立完成后运行脚本的脚本标识;
运行所述基础镜像文件,创建第一容器,根据所述执行脚本标识,在所述第一容器内加载所述业务节点控制脚本,启动所述业务节点控制脚本对应的第一控制进程,所述第一控制进程基于所述循环脚本的加载处于持续运行的状态,所述第一容器基于所述第一控制进程的持续运行保持持续运行状态;
基于所述第一控制进程的启动,接收针对所述业务运行脚本的操作指令,所述第一控制进程针对所述业务运行脚本执行所述操作指令对应的操作,所述操作指令为启动加载操作指令或停止加载操作指令中的一种。
应当理解,本发明实施例中所描述的业务节点的控制装置80可执行前文图3、图4或图6所对应实施例中对所述业务节点的控制方法的描述,也可执行前文图7所对应实施例中对所述业务节点的控制装置70的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的业务节点的控制装置70所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图3、图4或图6所对应实施例中对所述业务节点的控制方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种业务节点的控制方法,其特征在于,包括:
获取业务镜像文件,所述业务镜像文件包含业务节点控制脚本、业务运行脚本和基础镜像文件,所述业务节点控制脚本包含循环脚本;
获取所述业务镜像文件对应的容器配置文件,所述容器配置文件包含执行脚本标识,所述执行脚本标识为用户预先配置的用于指示在所述业务镜像文件对应的运行容器建立完成后运行脚本的脚本标识;
运行所述基础镜像文件,创建第一容器,根据所述执行脚本标识,在所述第一容器内加载所述业务节点控制脚本,启动所述业务节点控制脚本对应的第一控制进程,所述第一控制进程基于所述循环脚本的加载处于持续运行的状态,所述第一容器基于所述第一控制进程的持续运行保持持续运行状态;
基于所述第一控制进程的启动,接收针对所述业务运行脚本的操作指令,所述第一控制进程针对所述业务运行脚本执行所述操作指令对应的操作,所述操作指令为启动加载操作指令或停止加载操作指令中的一种。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取用户指定的构建所述业务镜像文件的基础镜像文件,运行所述基础镜像文件;
基于运行的所述基础镜像文件,接收用户针对所述基础镜像文件的修改操作指令,所述修改操作指令中携带在所述基础镜像文件中插入所述业务节点控制脚本和所述业务运行脚本的指令;
根据所述修改操作指令对所述基础镜像文件进行更新,在接收到用户的镜像打包指令后,将更新后的所述基础镜像文件打包成所述业务镜像文件。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取镜像构建文件,所述镜像构建文件为用户针对所述业务镜像文件的构建而提交的文件,所述镜像构建文件包含多条指令,多条指令包含运行基础镜像文件的指令,以及添加并运行所述业务节点控制脚本和所述业务运行脚本的指令;
根据所述运行基础镜像文件的指令,获取所述基础镜像文件,并运行所述基础镜像文件;
根据添加所述业务节点控制脚本和所述业务运行脚本的指令,获取所述业务节点控制脚本和所述业务运行脚本,执行所述业务节点控制脚本对应的第二控制进程的运行,以及所述业务运行脚本对应的第二业务进程的运行;
在所述镜像构建文件中的指令运行完成的情况下得到所述业务镜像文件。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若在加载所述业务运行脚本后,接收到针对所述业务运行脚本的停止加载操作指令,则在接收到所述停止加载操作指令时,启动针对所述业务运行脚本的停止状态计时;
在停止状态计时大于预设的停止时间阈值的情况下,停止运行所述第一控制进程。
5.根据权利要求3所述的方法,其特征在于,所述获取业务镜像文件包括:
向所述业务镜像文件的发布方发送镜像获取权限申请,所述镜像获取权限申请携带权限验证信息,以使所述业务镜像文件的发布方根据所述权限验证信息进行权限验证,并在验证通过后生成资源获取令牌并返回所述资源获取令牌,所述业务镜像文件的发布方还将所述资源获取令牌发送给镜像仓库设备;
向所述镜像仓库设备发送镜像文件获取申请,所述镜像获取申请携带所述业务镜像文件的发布方返回的资源获取令牌和所述业务镜像文件的第一镜像标识,以使所述镜像仓库设备根据所述业务镜像文件的发布方发送的资源获取令牌,对所述镜像文件获取申请中的资源获取令牌进行验证,并在验证通过后获取所述第一镜像标识对应的业务镜像文件,并响应所述镜像文件获取申请返回所述业务镜像文件。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述执行脚本标识,周期性地检测所述第一控制进程是否停止;
在未停止的情况下,检测针对所述业务运行脚本的操作指令;
在停止的情况下,停止运行所述业务运行脚本对应的第一业务进程,并将所述第一容器关闭。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述第一控制进程确定为所述第一容器的守护进程,周期性地检测所述第一控制进程是否停止;
在未停止的情况下,检测针对所述业务运行指令;
在停止的情况下,重启所述第一容器,以使所述第一控制进程重新运行,并基于所述第一控制进程的重新运行,并重新执行所述第一控制进程在停止前对所述业务运行脚本执行的操作。
8.一种业务节点的控制装置,其特征在于,包括:
镜像文件获取模块,用于获取业务镜像文件,所述业务镜像文件包含业务节点控制脚本、业务运行脚本和基础镜像文件,所述业务节点控制脚本包含循环脚本;
配置文件获取模块,用于获取所述业务镜像文件对应的容器配置文件,所述容器配置文件包含执行脚本标识,所述执行脚本标识为用户预先配置的用于指示在所述业务镜像文件对应的运行容器建立完成后运行脚本的脚本标识;
脚本加载模块,用于运行所述基础镜像文件,创建第一容器,根据所述执行脚本标识,在所述第一容器内加载所述业务节点控制脚本,启动所述业务节点控制脚本对应的第一控制进程,所述第一控制进程基于所述循环脚本的加载处于持续运行的状态,所述第一容器基于所述第一控制进程的持续运行保持持续运行状态;
节点控制模块,用于基于所述第一控制进程的启动,接收针对所述业务运行脚本的操作指令,所述第一控制进程针对所述业务运行脚本执行所述操作指令对应的操作,所述操作指令为启动加载操作指令或停止加载操作指令中的一种。
9.一种业务节点的控制装置,其特征在于,包括:处理器和存储器;
所述处理器与存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911132639.4A CN110995473B (zh) | 2019-11-18 | 2019-11-18 | 一种业务节点的控制方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911132639.4A CN110995473B (zh) | 2019-11-18 | 2019-11-18 | 一种业务节点的控制方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110995473A CN110995473A (zh) | 2020-04-10 |
CN110995473B true CN110995473B (zh) | 2021-08-24 |
Family
ID=70084897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911132639.4A Active CN110995473B (zh) | 2019-11-18 | 2019-11-18 | 一种业务节点的控制方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110995473B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111510333B (zh) * | 2020-04-15 | 2023-04-18 | 中国工商银行股份有限公司 | 基于k3s平台的联盟区块链系统、实现方法及装置 |
CN111506657B (zh) * | 2020-04-17 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 一种区块链节点设备部署的方法 |
CN111506412B (zh) * | 2020-04-22 | 2023-04-25 | 上海德拓信息技术股份有限公司 | 基于Airflow的分布式异步任务构建、调度系统及方法 |
CN111596928B (zh) * | 2020-05-19 | 2021-08-13 | 吉林大学 | 一种应用控制方法、装置及电子设备 |
CN111782498A (zh) * | 2020-07-29 | 2020-10-16 | 杭州玳数科技有限公司 | 基于kuberntes的flink任务日志elk采集方法和系统 |
CN114157569A (zh) * | 2020-08-17 | 2022-03-08 | 中国电信股份有限公司 | 集群系统及其构建方法和构建装置 |
CN114168203B (zh) * | 2020-09-10 | 2024-02-13 | 成都鼎桥通信技术有限公司 | 双系统运行状态控制方法、装置和电子设备 |
CN112181512B (zh) * | 2020-09-14 | 2022-11-11 | 锐捷网络股份有限公司 | 一种业务进程管理方法、装置、电子设备及存储介质 |
CN113032104A (zh) * | 2021-04-19 | 2021-06-25 | 广州欢网科技有限责任公司 | 一种部署k8s容器应用的方法和装置 |
CN113934564A (zh) * | 2021-09-26 | 2022-01-14 | 聚好看科技股份有限公司 | 一种集群日志的存储方法及装置 |
CN114531443B (zh) * | 2022-02-18 | 2024-05-17 | 京东科技信息技术有限公司 | 基于集群的容器控制方法及系统 |
CN114610446B (zh) * | 2022-03-11 | 2023-01-03 | 北京基调网络股份有限公司 | 一种自动注入探针的方法、装置及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942052A (zh) * | 2014-04-17 | 2014-07-23 | 中国联合网络通信集团有限公司 | 一种业务容器引擎 |
CN103986608A (zh) * | 2014-05-29 | 2014-08-13 | 浪潮电子信息产业股份有限公司 | 一种基于安腾Linux应用容器的J2EE应用虚拟化管理方法 |
CN107844539A (zh) * | 2017-10-19 | 2018-03-27 | 广州阿里巴巴文学信息技术有限公司 | 隔离数据管理方法、装置、系统、计算设备及存储介质 |
CN107948035A (zh) * | 2017-11-28 | 2018-04-20 | 广州供电局有限公司 | 基于私有云大数据交互的企业数据服务总线构建方法 |
CN108874498A (zh) * | 2017-05-09 | 2018-11-23 | 上海秦苍信息科技有限公司 | 一种集中式的定时任务管理方法 |
CN110286930A (zh) * | 2019-06-27 | 2019-09-27 | 腾讯科技(深圳)有限公司 | 一种云平台升级方法、装置、终端及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9396251B1 (en) * | 2016-01-07 | 2016-07-19 | International Business Machines Corporation | Detecting and tracking virtual containers |
-
2019
- 2019-11-18 CN CN201911132639.4A patent/CN110995473B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942052A (zh) * | 2014-04-17 | 2014-07-23 | 中国联合网络通信集团有限公司 | 一种业务容器引擎 |
CN103986608A (zh) * | 2014-05-29 | 2014-08-13 | 浪潮电子信息产业股份有限公司 | 一种基于安腾Linux应用容器的J2EE应用虚拟化管理方法 |
CN108874498A (zh) * | 2017-05-09 | 2018-11-23 | 上海秦苍信息科技有限公司 | 一种集中式的定时任务管理方法 |
CN107844539A (zh) * | 2017-10-19 | 2018-03-27 | 广州阿里巴巴文学信息技术有限公司 | 隔离数据管理方法、装置、系统、计算设备及存储介质 |
CN107948035A (zh) * | 2017-11-28 | 2018-04-20 | 广州供电局有限公司 | 基于私有云大数据交互的企业数据服务总线构建方法 |
CN110286930A (zh) * | 2019-06-27 | 2019-09-27 | 腾讯科技(深圳)有限公司 | 一种云平台升级方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110995473A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110995473B (zh) | 一种业务节点的控制方法及相关设备 | |
EP4047487B1 (en) | File storage method, terminal, and storage medium | |
CN107562513B (zh) | 一种基于java的智能合约生命周期的管理方法 | |
CN106528224B (zh) | 一种Docker容器的内容更新方法、服务器及系统 | |
US11385903B2 (en) | Firmware update patch | |
CN110597916B (zh) | 基于区块链的数据处理方法、装置、存储介质及终端 | |
CN111639309B (zh) | 一种数据处理方法、装置、节点设备及存储介质 | |
CN112861191B (zh) | 一种应用程序监控方法及装置 | |
CN110601896A (zh) | 一种基于区块链节点的数据处理方法以及设备 | |
CN112395039A (zh) | 一种Kubernetes集群的管理方法和装置 | |
CN110222535A (zh) | 区块链配置文件的处理装置、方法及存储介质 | |
CN116028163A (zh) | 一种容器组的动态链接库调度方法、装置及存储介质 | |
US11360966B2 (en) | Information processing system and method of controlling information processing system | |
WO2021169124A1 (zh) | 安装软件包至目标主机的方法、装置和计算机设备 | |
CN113888173A (zh) | 基于区块链的智能合约调用方法、装置及设备 | |
EP4130982A1 (en) | Network-based solution module deployment platform | |
CN114006815A (zh) | 云平台节点的自动化部署方法、装置、节点及存储介质 | |
CN112564979B (zh) | 构建任务的执行方法、装置、计算机设备和存储介质 | |
US11573975B2 (en) | Data migration method, data migration system, and node | |
CN102378964B (zh) | 创建虚拟进程的进程内中介 | |
CN116521509A (zh) | 智能合约测试方法、装置、设备、存储介质及产品 | |
CN112598394A (zh) | 用户权限管理方法、装置、区块链网络节点及存储介质 | |
KR102435357B1 (ko) | 블록체인 네트워크 트윈을 이용한 블록체인 통합 개발 및 관리 방법 및 시스템 | |
WO2021125106A1 (ja) | 制御方法、装置、および、プログラム | |
CN112541756B (zh) | 区块链合约升级方法、装置、计算机设备及可读存储介质 |
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 |