服务的部署方法、装置、存储介质及电子装置与流程
未命名
10-21
阅读:68
评论:0
1.本发明实施例涉及计算机领域,具体而言,涉及一种服务的部署方法、装置、存储介质及电子装置。
背景技术:
2.如今云原生技术日益火热,在实现容器化部署某个服务的过程中,为了保护应用软件版权需要为应用程序实现一种软件许可授权机制。而对于多节点的分布式集群,为了提高系统整体的高可用性,往往会选择其中多个关键节点来做软件许可验证检查,从而确保其中一个节点故障时,另外一个节点的许可还能验证通过,使整个系统得以继续运行。然而在项目部署过程中发现,节点故障恢复或集群重组等情况下,经常会导致系统中残留一些历史机器码,且无法判断哪个机器码是有效的,哪个机器码可以被删除。
3.传统做法则需要开发人员人工对所有机器码进行一一识别核对,将无效的机器码和授权信息删除,再为有效的机器码申请新的授权信息实现系统的恢复运行。若没有保存机器码对应的关联信息,则只能清理所有的机器码和授权信息,再重新部署服务,重新进行授权。
4.由于硬件机器码往往是采集了硬盘、主板等各类硬件信息经过哈希算法生成,一段机器码字符串无法精确定位到某个物理服务器节点。故人工处理则需要在数据库中保存更多的相关信息才能判定。该工作处理复杂度高,且容易出错,导致集群关键节点一旦故障较难恢复,软件许可高可用方案的适用性和效率均大大降低。
5.针对相关技术中分布式集群在故障恢复过程中产生了机器码残留,导致服务部署的效率较低的问题,目前尚未提出有效的解决方案。
技术实现要素:
6.本发明实施例提供了一种服务的部署方法、装置、存储介质及电子装置,以至少解决相关技术中存分布式集群在故障恢复过程中产生了机器码残留,导致服务部署的效率较低的问题。
7.根据本发明的一个实施例,提供了一种服务的部署方法,包括:获取待部署在目标分布式集群的目标服务,其中,所述目标分布式集群包括目标节点,所述目标节点用于接收与所述目标服务关联的请求;在所述目标节点上调用清理程序删除失效机器码,其中,所述目标服务预先为第一组机器码进行了授权,所述清理程序用于将所述第一组机器码中与目标机器码不同的机器码确定为所述失效机器码,所述目标机器码是与所述目标节点对应的机器码;在所述失效机器码已被清理的情况下,对所述目标机器码的授权进行验证,并在验证通过的情况下,在所述目标节点上开始提供所述目标服务。
8.根据本发明的另一个实施例,提供了一种服务的部署装置,包括:
9.获取模块,用于获取待部署在目标分布式集群的目标服务,其中,所述目标分布式集群包括目标节点,所述目标节点用于接收与所述目标服务关联的请求;
10.删除模块,用于在所述目标节点上调用清理程序删除失效机器码,其中,所述目标服务预先为第一组机器码进行了授权,所述清理程序用于将所述第一组机器码中与目标机器码不同的机器码确定为所述失效机器码,所述目标机器码是与所述目标节点对应的机器码;
11.验证模块,用于在所述失效机器码已被清理的情况下,对所述目标机器码的授权进行验证,并在验证通过的情况下,在所述目标节点上开始提供所述目标服务。
12.可选地,所述装置用于通过如下方式在所述目标节点上调用清理程序删除失效机器码:获取与第一组节点对应的所述第一组机器码,其中,所述第一组节点是所述目标分布式集群中预先设置的允许提供所述目标服务的节点;遍历所述第一组机器码,将所述第一组机器码中与所述目标机器码不同的机器码添加至待删除列表;根据所述待删除列表删除所述失效机器码以及与所述失效机器码对应的数据库记录。
13.可选地,所述装置用于通过如下方式获取与第一组节点对应的所述第一组机器码:获取第一组网络地址,其中,所述第一组网络地址包括所述第一组节点中各个节点关联的宿主机网络地址;根据所述第一组网络地址确定所述第一组机器码。
14.可选地,所述装置用于通过如下方式遍历所述第一组机器码,将所述第一组机器码中与所述目标机器码不同的机器码添加至待删除列表:调用目标接口获取与第二组节点对应的第二组网络地址,其中,所述目标接口是所述目标分布式集群中用于获取集群节点信息的接口,所述第二组节点是所述目标分布式集群中当前标记的允许提供所述目标服务的节点;遍历所述第一组机器码,确定所述第一组网络地址中各个网络地址是否属于所述第二组网络地址;将与第一网络地址对应的第一机器码与所述目标机器码进行比对,在所述第一机器码与所述目标机器码不同的情况下,将所述第一机器码添加至所述待删除列表,其中,所述第一网络地址表示所述第一组网络地址中不属于所述第二组网络地址的网络地址,所述第一组机器码包括所述第一机器码;将与第二网络地址对应的第二机器码与所述目标机器码进行比对,在所述第二网络地址与目标网络地址相同,且所述第二机器码与所述目标机器码不同的情况下,将所述第二机器码添加至所述待删除列表,其中,所述第二网络地址表示所述第一组网络地址中属于所述第二组网络地址的网络地址,所述目标网络地址是所述目标节点关联的宿主机网络地址,所述第一组机器码包括所述第二机器码。
15.可选地,所述装置还用于:所述调用目标接口获取第二组节点以及与所述第二组节点对应的第二组网络地址之前,在所述目标分布式集群中选择并标记n个节点,其中,n为正整数;在所述目标服务的副本数设置为n个的情况下,为所述n个节点中每个节点按照与节点对应的机器码进行所述目标服务的授权,并配置与机器码对应的所述目标服务的许可信息,将所述n个节点确定为所述第二组节点。
16.可选地,所述装置用于通过如下方式根据所述待删除列表删除所述失效机器码以及与所述失效机器码对应的数据库记录:在目标数据库中根据所述待删除列表确定与所述失效机器码分别对应的第一数据结构、第二数据结构以及第三数据结构,其中,所述第一数据结构记录有一一对应的机器码和网络地址,所述第二数据结构记录有一一对应的机器码和宿主机硬件信息,所述第三数据结构记录有一一对应的机器码和所述目标服务的许可信息;在所述目标数据库中删除所述第一数据结构、所述第二数据结构以及所述第三数据结构关联的数据库记录。
17.可选地,所述装置用于通过如下方式在所述失效机器码已被清理的情况下,对所述目标机器码的授权进行验证,并在验证通过的情况下,在所述目标节点上开始提供所述目标服务:获取所述目标机器码、目标网络地址以及目标宿主机硬件信息,其中,所述目标机器码、所述目标网络地址以及所述目标宿主机硬件信息均与所述目标节点对应,所述目标宿主机硬件信息表示所述目标节点关联的宿主机的硬件信息,所述目标网络地址表示所述目标节点关联的宿主机的网络地址;在所述目标数据库中查询所述目标机器码,确定所述目标机器码的存在状态;在所述存在状态指示所述目标数据库包括所述目标机器码的情况下,基于所述目标网络地址以及所述目标宿主机硬件信息更新与所述目标机器码对应的所述第一数据结构和所述第二数据结构;在所述存在状态指示所述目标数据库未包括所述目标机器码的情况下,基于所述目标网络地址以及所述目标宿主机硬件信息增加与所述目标机器码对应的所述第一数据结构和所述第二数据结构以及所述第三数据结构,其中,所述第三数据结构被设置为空表示所述目标节点未预先设置为允许提供所述目标服务的节点;读取所述目标机器码对应的所述第三数据结构进行验证,并在验证通过的情况下,在所述目标节点上开始提供所述目标服务。
18.根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
19.根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
20.通过本发明,可以采用获取待部署在目标分布式集群的目标服务,其中,目标分布式集群包括目标节点,目标节点用于接收与目标服务关联的请求,在目标节点上调用清理程序删除失效机器码,其中,目标服务预先为第一组机器码进行了授权,清理程序用于将第一组机器码中与目标机器码不同的机器码确定为失效机器码,目标机器码是与目标节点对应的机器码,在失效机器码已被清理的情况下,对目标机器码的授权进行验证,并在验证通过的情况下,在目标节点上开始提供目标服务的方式,通过根据节点标签获取集群节点的网络地址列表,再通过与数据库中记录的网络地址和机器码进行比对,实现了自动化的无效机器码和无效授权信息的清理,从而简化了分布式集群发生变化后的部署和运维工作,解决了相关技术中分布式集群在故障恢复过程中产生了机器码残留,导致服务部署的效率较低的问题,达到提高服务的部署效率,简化了服务的部署流程的技术效果。
附图说明
21.图1是本发明实施例的一种服务的部署方法的移动终端的硬件结构框图;
22.图2是根据本发明实施例的一种服务的部署方法的流程图;
23.图3是根据本发明实施例的一种服务的部署方法的具体示例示意图;
24.图4是根据本发明实施例的一种服务的部署方法的执行流程示意图;
25.图5是根据本发明实施例的另一种服务的部署方法的执行流程示意图;
26.图6是根据本发明实施例的又一种服务的部署方法的执行流程示意图;
27.图7是根据本发明实施例的一种服务的部署装置的结构框图。
具体实施方式
28.下文中将参考附图并结合实施例来详细说明本发明的实施例。
29.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
30.本技术实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种服务的部署方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
31.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的服务的部署方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
32.传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
33.在本实施例中提供了一种服务的部署方法,图2是根据本发明实施例的服务的部署方法的流程图,如图2所示,该流程包括如下步骤:
34.s202,获取待部署在目标分布式集群的目标服务,其中,目标分布式集群包括目标节点,目标节点用于接收与目标服务关联的请求;
35.可选地,在本实施例中,上述目标分布式集群可以包括但不限于各种通过部署容器方式实现,用于管理云平台中多个主机上的容器化的应用的分布式集群。
36.示例性地,可以包括但不限于kubernetes,kubernetes的目标是让部署容器化的应用简单并且高效,kubernetes提供了应用部署,规划,更新,维护的一种机制。
37.kubernetes通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移。
38.容器占用资源少、部署快,每个应用可以被打包成一个容器镜像,每个应用与容器间成一对一关系也使容器有更大优势,使用容器可以在build或release的阶段,为应用创建容器镜像,因为每个应用不需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,
这使得从研发到测试、生产能提供一致环境。类似地,容器比虚拟机轻量、更“透明”,这更便于监控和管理。
39.需要说明的是,云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术,是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
40.云计算(cloud computing)指it基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是it和软件、互联网相关,也可是其他服务。云计算是网格计算(grid computing)、分布式计算(distributedcomputing)、并行计算(parallel computing)、效用计算(utility computing)、网络存储(network storage technologies)、虚拟化(virtualization)、负载均衡(load balance)等传统计算机和网络技术发展融合的产物。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
41.云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
42.数据库(database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
43.数据库管理系统(英语:database management system,简称dbms)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、xml(extensible markup language,即可扩展标记语言);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如sql(结构化查询语言(structured query language)、xquery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些dbms能够跨类别,例如,同时支持多种查询语言。
44.在一个示例性的实施例中,上述服务的部署方法可以应用于包括但不限于云游戏领域,其中,云游戏(cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设
备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
45.在一个示例性的实施例中,上述服务的部署方法可以应用于包括但不限于云教育领域,云教育(cloud computing education简称:ccedu),是指基于云计算商业模式应用的教育平台服务。在云平台上,所有的教育机构,培训机构,招生服务机构,宣传机构,行业协会,管理机构,行业媒体,法律结构等都集中云整合成资源池,各个资源相互展示和互动,按需交流,达成意向,从而降低教育成本,提高效率。
46.在一个示例性的实施例中,上述服务的部署方法可以应用于包括但不限于云会议领域,云会议是基于云计算技术的一种高效、便捷、低成本的会议形式。使用者只需要通过互联网界面,进行简单易用的操作,便可快速高效地与全球各地团队及客户同步分享语音、数据文件及视频,而会议中数据的传输、处理等复杂技术由云会议服务商帮助使用者进行操作。
47.目前国内云会议主要集中在以saas(software as a service,软件即服务)模式为主体的服务内容,包括电话、网络、视频等服务形式,基于云计算的视频会议就叫云会议。
48.在云会议时代,数据的传输、处理、存储全部由视频会议厂家的计算机资源处理,用户完全无需再购置昂贵的硬件和安装繁琐的软件,只需打开浏览器,登录相应界面,就能进行高效的远程会议。
49.云会议系统支持多服务器动态集群部署,并提供多台高性能服务器,大大提升了会议稳定性、安全性、可用性。近年来,视频会议因能大幅提高沟通效率,持续降低沟通成本,带来内部管理水平升级,而获得众多用户欢迎,已广泛应用在交通、运输、运营商、教育、企业等各个领域。毫无疑问,视频会议运用云计算以后,在方便性、快捷性、易用性上具有更强的吸引力,必将激发视频会议应用新高潮的到来。
50.在一个示例性的实施例中,上述服务的部署方法可以应用于包括但不限于云社交领域,云社交(cloud social)是一种物联网、云计算和移动互联网交互应用的虚拟社交应用模式,以建立著名的“资源分享关系图谱”为目的,进而开展网络社交,云社交的主要特征,就是把大量的社会资源统一整合和评测,构成一个资源有效池向用户按需提供服务。参与分享的用户越多,能够创造的利用价值就越大。
51.例如,以云会议为例,图3是根据本发明实施例的一种服务的部署方法的具体示例示意图,如图3所示,视频会议系统包含了mcu(multipoint control unit多点控制单元,即视频会议服务器)及软、硬终端、录播服务器等各类参与设备。终端采集图像声音并经过编码发送给mcu。mcu则根据会议要求将多个终端发送的图像进行融合或不进行融合,声音混音或不混音后发送给各个参与终端,从而实现多方与会人的音视频通话。如今云原生技术日益火热,视频会议系统服务端软件也可通过kubernetes等容器编排基础设施软件实现容器化部署,从而获得运行环境的容器化隔离、系统资源的限制使用以及系统运维便捷性等收益。
52.需要说明的是,上述目标服务即为图3所示的任一种或多种注册服务,例如,注册服务1、注册服务2等。
53.可选地,在本实施例中,上述目标节点即为目标分布式集群为目标服务所关联的应用程序预先设置的节点,该节点可以通过ingress等技术进行负载均衡来接受终端的注册请求。
54.s204,在目标节点上调用清理程序删除失效机器码,其中,目标服务预先为第一组机器码进行了授权,清理程序用于将第一组机器码中与目标机器码不同的机器码确定为失效机器码,目标机器码是与目标节点对应的机器码;
55.可选地,在本实施例中,上述清理程序可以包括但不限于在目标服务的启动脚本中增加的清理程序,通过在目标服务启动脚本中增加机器码清理程序调用,当目标服务启动部署时,可以调用该清理程序完成失效机器码的清理,当清理完成则退出清理程序,继续启动目标服务。
56.需要说明的是,在与目标分布式集群连接的目标数据库中存储有预先授权的第一组节点,该第一组节点对应的机器码即为上述第一组机器码,通过比对上述第一组机器码是否包括上述目标节点对应的目标机器码,即可确定出上述第一组机器码中的失效机器码。
57.其中,上述失效机器码表示节点故障恢复或集群重组等情况下,目标分布式集群中残留的历史机器码,该类机器码对应的节点已不能作为用于进行软件许可验证检查的节点,因此,需要进行清理。
58.需要说明的是,上述目标节点的数量由系统预先设置,可以为一个或多个。
59.s206,在失效机器码已被清理的情况下,对目标机器码的授权进行验证,并在验证通过的情况下,在目标节点上开始提供目标服务。
60.可选地,在本实施例中,上述失效机器码已被清理可以理解为上述第一组机器码均与目标机器码完成了比对,且根据比对结果删除了失效机器码。
61.需要说明的是,上述对目标机器码的授权进行验证可以理解为在使用目标服务之前,需要完成上述验证,上述目标节点才能够接收来自于外部关于上述目标服务的请求消息。
62.通过本实施例,可以采用获取待部署在目标分布式集群的目标服务,其中,目标分布式集群包括目标节点,目标节点用于接收与目标服务关联的请求,在目标节点上调用清理程序删除失效机器码,其中,目标服务预先为第一组机器码进行了授权,清理程序用于将第一组机器码中与目标机器码不同的机器码确定为失效机器码,目标机器码是与目标节点对应的机器码,在失效机器码已被清理的情况下,对目标机器码的授权进行验证,并在验证通过的情况下,在目标节点上开始提供目标服务的方式,通过根据节点标签获取集群节点的网络地址列表,再通过与数据库中记录的网络地址和机器码进行比对,实现了自动化的无效机器码和无效授权信息的清理,从而简化了分布式集群发生变化后的部署和运维工作,解决了相关技术中分布式集群在故障恢复过程中产生了机器码残留,导致服务部署的效率较低的问题,达到提高服务的部署效率,简化了服务的部署流程的技术效果。
63.作为一种可选的方案,在目标节点上调用清理程序删除失效机器码,包括:获取与第一组节点对应的第一组机器码,其中,第一组节点是目标分布式集群中预先设置的允许提供目标服务的节点;遍历第一组机器码,将第一组机器码中与目标机器码不同的机器码添加至待删除列表;根据待删除列表删除失效机器码以及与失效机器码对应的数据库记
录。
64.可选地,在本实施例中,上述第一组节点表示节点故障恢复或集群重组等情况之前预先设置的允许提供目标服务的节点。
65.需要说明的是,上述遍历第一组机器码可以理解为使用目标机器码依次与第一组机器码中的各个机器码进行比对,将比对结果指示不相等的机器码均添加至上述待删除列表。
66.可选地,在本实施例中,上述与失效机器码对应的数据库记录可以包括但不限于如下内容:
67.hashset,key:code2ip,field:hw_code(hash机器码),value:pod_host_ip(节点宿主机内网ip);
68.hashset,key:code2hw,field:hw_code(hash机器码),value:hw_code2(原始机器码,包含硬件原始序列号信息,用于人工定位排查无效机器码);
69.hashset,key:code2license,field:hw_code(hash机器码),value:license string(license软件许可字符串)包含了授权信息,例如,有效期,授权内容,签名等。
70.作为一种可选的方案,获取与第一组节点对应的第一组机器码,包括:获取第一组网络地址,其中,第一组网络地址包括第一组节点中各个节点关联的宿主机网络地址;根据第一组网络地址确定第一组机器码。
71.可选地,在本实施例中,上述宿主机网络地址可以理解为各个节点所部署的物理机在内网中的ip地址,一个物理机允许部署多个节点,换言之,多个节点的物理机地址可能相同或不同。
72.作为一种可选的方案,遍历第一组机器码,将第一组机器码中与目标机器码不同的机器码添加至待删除列表,包括:调用目标接口获取与第二组节点对应的第二组网络地址,其中,目标接口是目标分布式集群中用于获取集群节点信息的接口,第二组节点是目标分布式集群中当前标记的允许提供目标服务的节点;遍历第一组机器码,确定第一组网络地址中各个网络地址是否属于第二组网络地址;将与第一网络地址对应的第一机器码与目标机器码进行比对,在第一机器码与目标机器码不同的情况下,将第一机器码添加至待删除列表,其中,第一网络地址表示第一组网络地址中不属于第二组网络地址的网络地址,第一组机器码包括第一机器码;将与第二网络地址对应的第二机器码与目标机器码进行比对,在第二网络地址与目标网络地址相同,且第二机器码与目标机器码不同的情况下,将第二机器码添加至待删除列表,其中,第二网络地址表示第一组网络地址中属于第二组网络地址的网络地址,目标网络地址是目标节点关联的宿主机网络地址,第一组机器码包括第二机器码。
73.可选地,在本实施例中,上述第而组节点表示节点故障恢复或集群重组等情况之后目标分布式集群标记的允许提供目标服务的节点。
74.在一个示例性的实施例中,通过如下方式遍历第一组机器码,确定第一组网络地址中各个网络地址是否属于第二组网络地址;将与第一网络地址对应的第一机器码与目标机器码进行比对:
75.s1,调用接口获取自身hash机器码,为x;
76.s2,获取自身节点宿主机内网ip,为hip;
77.s3,调用kubernetes api client获取集群内打了li=true标签的节点列表以及对应的宿主机内网ip列表,为lips;
78.s4,访问数据库,获取code2ip列表;
79.s5,遍历code2ip列表,hash机器码为y,对应ip为yip:
80.遍历lips列表,包括如下步骤:
81.s5-1,若yip不在lips列表中,则判断机器码y与x是否相等,不相等则将对应机器码y加入待删除列表;
82.s5-2,若yip在lips列表中,自身ip即hip等于yip且机器码y不等于机器码x,则将y加入待删除列表;
83.s6,结束遍历;
84.s7,遍历待删除列表,执行hdel删除code2ip、code2hw、code2license中的记录;
85.s8,机器码清理结束。
86.作为一种可选的方案,调用目标接口获取第二组节点以及与第二组节点对应的第二组网络地址之前,上述方法还包括:在目标分布式集群中选择并标记n个节点,其中,n为正整数;在目标服务的副本数设置为n个的情况下,为n个节点中每个节点按照与节点对应的机器码进行目标服务的授权,并配置与机器码对应的目标服务的许可信息,将n个节点确定为第二组节点。
87.可选地,在本实施例中,上述目标服务的许可信息可以包括但不限于目标服务的有效期时长、有效期开始时刻、有效期结束时刻、签名信息等授权内容。
88.在一个示例性的实施例中,可以通过如下方式在目标分布式集群中选择并标记n个节点,在目标服务的副本数设置为n个的情况下,为n个节点中每个节点按照与节点对应的机器码进行目标服务的授权,并配置与机器码对应的目标服务的许可信息,将n个节点确定为第二组节点:
89.s1,选定分布式集群中合适的n个节点,打上标签li=true;
90.s2,注册服务的调度策略为:节点必须包含li=true的标签;
91.s3,将注册服务的副本数设置为n,并通过ingress等技术进行负载均衡来接受终端的注册请求;
92.s4,设置注册服务的服务就绪探针readinessprobe和服务存活探针livenessprobe,针对注册服务监听端口进行检测;示例:httpget,path:/,port:8191。从而确保注册服务在未通过license检查时,不对外提供服务。
93.s5,设置数据库,其中,数据库服务可以是key-value型数据库(例如redis),或者关系型数据(例如mysql),不做限定;
94.s6,为注册服务的容器设置合适的集群内访问权限,包括serviceaccount、clusterrole、clusterrolebinding信息等,使其可以获取集群节点信息。
95.s7,为每个注册服务的副本按对应节点的机器码进行软件许可授权,配置对应的license字符串。
96.作为一种可选的方案,根据待删除列表删除失效机器码以及与失效机器码对应的数据库记录,包括:在目标数据库中根据待删除列表确定与失效机器码分别对应的第一数据结构、第二数据结构以及第三数据结构,其中,第一数据结构记录有一一对应的机器码和
网络地址,第二数据结构记录有一一对应的机器码和宿主机硬件信息,第三数据结构记录有一一对应的机器码和目标服务的许可信息;在目标数据库中删除第一数据结构、第二数据结构以及第三数据结构关联的数据库记录。
97.示例性地,上述第一数据结构可以但不限于为:hashset,key:code2ip,field:hw_code(hash机器码),value:pod_host_ip(节点宿主机内网ip);
98.上述第二数据结构可以但不限于为:hashset,key:code2hw,field:hw_code(hash机器码),value:hw_code2(原始机器码,包含硬件原始序列号信息,用于人工定位排查无效机器码);
99.上述第三数据结构可以但不限于为:hashset,key:code2license,field:hw_code(hash机器码),value:license string(license软件许可字符串)包含了授权信息,例如,有效期,授权内容,签名等。
100.作为一种可选的方案,在失效机器码已被清理的情况下,对目标机器码的授权进行验证,并在验证通过的情况下,在目标节点上开始提供目标服务,包括:获取目标机器码、目标网络地址以及目标宿主机硬件信息,其中,目标机器码、目标网络地址以及目标宿主机硬件信息均与目标节点对应,目标宿主机硬件信息表示目标节点关联的宿主机的硬件信息,目标网络地址表示目标节点关联的宿主机的网络地址;在目标数据库中查询目标机器码,确定目标机器码的存在状态;在存在状态指示目标数据库包括目标机器码的情况下,基于目标网络地址以及目标宿主机硬件信息更新与目标机器码对应的第一数据结构和第二数据结构;在存在状态指示目标数据库未包括目标机器码的情况下,基于目标网络地址以及目标宿主机硬件信息增加与目标机器码对应的第一数据结构和第二数据结构以及第三数据结构,其中,第三数据结构被设置为空表示目标节点未预先设置为允许提供目标服务的节点;读取目标机器码对应的第三数据结构进行验证,并在验证通过的情况下,在目标节点上开始提供目标服务。
101.可选地,在本实施例中,上述对目标机器码的授权进行验证可以包括但不限于如下内容:
102.s1,获取自身节点(对应于前述的目标节点)的机器码x(对应于前述目标机器码)、节点宿主机ip为mip,节点原始机器码hw2;
103.s2,读取数据库中code2ip field值为机器码x的记录,其中:
104.a)若数据库中已存在机器码x,则使用mip和hw2更新code2ip,code2hw记录;
105.b)若数据库中不存在机器码x,则使用x、mip、hw2全新写入code2ip、code2hw、code2license记录;code2license记录中license为空,表示未设定license;
106.s3,启动license合法性检查循环:
107.a)注册服务读取code2license记录,并获取自身机器码x对应的license;
108.b)进行license合法性验证,包括数字签名是否合法,时间有效性是否合法等;
109.c)若不合法,则等待若干秒,跳转a(为什么要等待若干秒?重试);
110.d)若合法,则退出循环。
111.s4,打开注册服务监听端口8191,开始对外提供服务。
112.显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。
113.下面结合具体实施例对本发明进行具体说明:
114.视频会议系统包含了mcu(multipoint control unit多点控制单元,即视频会议服务器)及软、硬终端、录播服务器等各类参与设备。终端采集图像声音并经过编码发送给mcu。mcu则根据会议要求将多个终端发送的图像进行融合或不进行融合,声音混音或不混音后发送给各个参与终端,从而实现多方与会人的音视频通话。如今云原生技术日益火热,视频会议系统服务端软件也可通过kubernetes等容器编排基础设施软件实现容器化部署,从而获得运行环境的容器化隔离、系统资源的限制使用以及系统运维便捷性等收益。为了保护应用软件版权,势必需要为视频会议软件实现一种软件许可授权机制。而视频会议系统往往是一个多节点的分布式集群,为了提高系统整体的高可用性,往往会选择其中多个关键节点来做软件许可验证检查,即license合法性检查,从而确保其中一个节点故障时,另外一个节点的许可还能验证通过,使整个系统得以继续运行。然而在项目部署过程中发现,节点故障恢复或集群重组等情况下,经常会导致系统中残留一些历史机器码,且无法判断哪个机器码是有效的,哪个机器码可以被删除。这就给kubernetes集群软件许可部署或者故障恢复造成了困扰。本技术旨在提供一种基于kubernetes的集群应用软件许可实现方法,以期解决kubernetes集群软件许可多节点高可用部署故障恢复时所遇到的机器码残留问题,以便简化应用部署过程,加速系统故障恢复过程。
115.图4是根据本发明实施例的一种服务的部署方法的执行流程示意图,如图4所示,kubernetes集群配置流程包括但不限于如下内容:
116.s402,选定分布式集群中合适的n个节点,打上标签li=true;
117.s404,注册服务的调度策略为:节点必须包含li=true的标签;
118.s406,将注册服务的副本数设置为n,并通过ingress等技术进行负载均衡来接受终端的注册请求;
119.s408,设置注册服务的服务就绪探针readinessprobe和服务存活探针livenessprobe,针对注册服务监听端口进行检测;示例:httpget,path:/,port:8191。从而确保注册服务在未通过license检查时,不对外提供服务。
120.s410,设置数据库,其中,数据库服务可以是key-value型数据库(例如redis),或者关系型数据(例如mysql),不做限定;
121.s412,为注册服务的容器设置合适的集群内访问权限,包括serviceaccount、clusterrole、clusterrolebinding信息等,使其可以获取集群节点信息。
122.s414,为每个注册服务的副本按对应节点的机器码进行软件许可授权,配置对应的license字符串。
123.其中,以redis数据库存储结构为例,redis数据结构定义如下:
124.hashset,key:code2ip,field:hw_code(hash机器码),value:pod_host_ip(节点宿主机内网ip);
125.hashset,key:code2hw,field:hw_code(hash机器码),value:hw_code2(原始机器码,包含硬件原始序列号信息,用于人工定位排查无效机器码);
126.hashset,key:code2license,field:hw_code(hash机器码),value:license string(license软件许可字符串)包含了授权信息,例如,有效期,授权内容,签名等。
127.会控服务逻辑包括但不限于如下内容:从数据库服务中读取所有code2license记录;提供机器码和license查询接口;提供按机器码设置license接口。
128.图5是根据本发明实施例的另一种服务的部署方法的执行流程示意图,如图5所示,注册服务逻辑包括但不限于如下内容:
129.s502,注册服务启动脚本中增加机器码清理程序sc调用,清理完成则sc退出,继续启动注册服务;
130.s504,注册服务获取自身节点的机器码x、节点宿主机ip为mip,节点原始机器码hw2;
131.s506,注册服务读取数据库中code2ip field值为机器码x的记录,若数据库中已存在机器码x,则使用mip和hw2更新code2ip、code2hw记录;若数据库中不存在机器码x,则使用x、mip、hw2全新写入code2ip、code2hw、code2license记录;code2license记录中license为空,表示未设定license;
132.s508,启动license合法性检查循环:
133.s508-1,注册服务读取code2license记录,并获取自身机器码x对应的license;
134.s508-2,进行license合法性验证,包括数字签名是否合法,时间有效性是否合法等;
135.s508-3,若不合法,则等待若干秒,跳转s508-1;
136.s508-4,若合法,则退出循环;
137.s510,打开注册服务监听端口8191,开始对外提供服务。
138.图6是根据本发明实施例的又一种服务的部署方法的执行流程示意图,如图6所示,机器码清理程序sc逻辑包括但不限于如下内容:
139.s602,调用接口获取自身hash机器码,为x;
140.s604,获取自身节点宿主机内网ip,为hip;
141.s606,调用kubernetes api client获取集群内打了li=true标签的节点列表以及对应的宿主机内网ip列表,为lips;
142.s608,访问数据库,获取code2ip列表;
143.s610,遍历code2ip列表,hash机器码为y,对应ip为yip:
144.s610-1,遍历lips列表,包括如下步骤:
145.s610-1-1,若yip不在lips列表中,则判断机器码y与x是否相等,不相等则将对应机器码y加入待删除列表;
146.s610-1-2,若yip在lips列表中,自身ip即hip等于yip且机器码y不等于机器码x,则将y加入待删除列表;
147.s612,结束遍历;
148.s614,遍历待删除列表,执行hdel删除code2ip、code2hw、code2license中的记录;
149.s616,机器码清理结束。
150.通过本实施例,由于利用了机器码清理程序通过根据节点标签获取集群节点ip列表,再通过与数据库中记录的ip和机器码进行一个比对算法的比对,实现了自动化的无效机器码和license相关信息清理,从而简化了集群发生变化后的部署和运维工作,可以在注册服务节点缩减、注册服务节点迁移、注册服务节点异常恢复、注册服务节点异常替换、多个kubernetes集群重组等多种场景下,只需要在li=true标签调整完成后,重新部署注册服务的工作负载,即可实现自动化清理无效的机器码及license相关信息,从而简化了集群
部署复杂度,简化了集群日常运维的复杂度,加速了集群故障恢复、集群重组的过程,并且支持注册服务的任意副本数的高可用负载均衡部署,如1个、2个、3个等,此外,还可以支持注册服务节点替换时,宿主机ip不变,机器码发生变化的异常恢复场景。
151.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
152.在本实施例中还提供了一种服务的部署装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
153.图7是根据本发明实施例的服务的部署装置的结构框图,如图7所示,该装置包括:
154.获取模块702,用于获取待部署在目标分布式集群的目标服务,其中,所述目标分布式集群包括目标节点,所述目标节点用于接收与所述目标服务关联的请求;
155.删除模块704,用于在所述目标节点上调用清理程序删除失效机器码,其中,所述目标服务预先为第一组机器码进行了授权,所述清理程序用于将所述第一组机器码中与目标机器码不同的机器码确定为所述失效机器码,所述目标机器码是与所述目标节点对应的机器码;
156.验证模块706,用于在所述失效机器码已被清理的情况下,对所述目标机器码的授权进行验证,并在验证通过的情况下,在所述目标节点上开始提供所述目标服务。
157.作为一种可选的方案,所述装置用于通过如下方式在所述目标节点上调用清理程序删除失效机器码:获取与第一组节点对应的所述第一组机器码,其中,所述第一组节点是所述目标分布式集群中预先设置的允许提供所述目标服务的节点;遍历所述第一组机器码,将所述第一组机器码中与所述目标机器码不同的机器码添加至待删除列表;根据所述待删除列表删除所述失效机器码以及与所述失效机器码对应的数据库记录。
158.作为一种可选的方案,所述装置用于通过如下方式获取与第一组节点对应的所述第一组机器码:获取第一组网络地址,其中,所述第一组网络地址包括所述第一组节点中各个节点关联的宿主机网络地址;根据所述第一组网络地址确定所述第一组机器码。
159.作为一种可选的方案,所述装置用于通过如下方式遍历所述第一组机器码,将所述第一组机器码中与所述目标机器码不同的机器码添加至待删除列表:调用目标接口获取与第二组节点对应的第二组网络地址,其中,所述目标接口是所述目标分布式集群中用于获取集群节点信息的接口,所述第二组节点是所述目标分布式集群中当前标记的允许提供所述目标服务的节点;遍历所述第一组机器码,确定所述第一组网络地址中各个网络地址是否属于所述第二组网络地址;将与第一网络地址对应的第一机器码与所述目标机器码进行比对,在所述第一机器码与所述目标机器码不同的情况下,将所述第一机器码添加至所述待删除列表,其中,所述第一网络地址表示所述第一组网络地址中不属于所述第二组网络地址的网络地址,所述第一组机器码包括所述第一机器码;将与第二网络地址对应的第
二机器码与所述目标机器码进行比对,在所述第二网络地址与目标网络地址相同,且所述第二机器码与所述目标机器码不同的情况下,将所述第二机器码添加至所述待删除列表,其中,所述第二网络地址表示所述第一组网络地址中属于所述第二组网络地址的网络地址,所述目标网络地址是所述目标节点关联的宿主机网络地址,所述第一组机器码包括所述第二机器码。
160.作为一种可选的方案,所述装置还用于:所述调用目标接口获取第二组节点以及与所述第二组节点对应的第二组网络地址之前,在所述目标分布式集群中选择并标记n个节点,其中,n为正整数;在所述目标服务的副本数设置为n个的情况下,为所述n个节点中每个节点按照与节点对应的机器码进行所述目标服务的授权,并配置与机器码对应的所述目标服务的许可信息,将所述n个节点确定为所述第二组节点。
161.作为一种可选的方案,所述装置用于通过如下方式根据所述待删除列表删除所述失效机器码以及与所述失效机器码对应的数据库记录:在目标数据库中根据所述待删除列表确定与所述失效机器码分别对应的第一数据结构、第二数据结构以及第三数据结构,其中,所述第一数据结构记录有一一对应的机器码和网络地址,所述第二数据结构记录有一一对应的机器码和宿主机硬件信息,所述第三数据结构记录有一一对应的机器码和所述目标服务的许可信息;在所述目标数据库中删除所述第一数据结构、所述第二数据结构以及所述第三数据结构关联的数据库记录。
162.作为一种可选的方案,所述装置用于通过如下方式在所述失效机器码已被清理的情况下,对所述目标机器码的授权进行验证,并在验证通过的情况下,在所述目标节点上开始提供所述目标服务:获取所述目标机器码、目标网络地址以及目标宿主机硬件信息,其中,所述目标机器码、所述目标网络地址以及所述目标宿主机硬件信息均与所述目标节点对应,所述目标宿主机硬件信息表示所述目标节点关联的宿主机的硬件信息,所述目标网络地址表示所述目标节点关联的宿主机的网络地址;在所述目标数据库中查询所述目标机器码,确定所述目标机器码的存在状态;在所述存在状态指示所述目标数据库包括所述目标机器码的情况下,基于所述目标网络地址以及所述目标宿主机硬件信息更新与所述目标机器码对应的所述第一数据结构和所述第二数据结构;在所述存在状态指示所述目标数据库未包括所述目标机器码的情况下,基于所述目标网络地址以及所述目标宿主机硬件信息增加与所述目标机器码对应的所述第一数据结构和所述第二数据结构以及所述第三数据结构,其中,所述第三数据结构被设置为空表示所述目标节点未预先设置为允许提供所述目标服务的节点;读取所述目标机器码对应的所述第三数据结构进行验证,并在验证通过的情况下,在所述目标节点上开始提供所述目标服务。
163.需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
164.本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
165.在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为
ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
166.本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
167.在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
168.本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
169.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
170.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种服务的部署方法,其特征在于,包括:获取待部署在目标分布式集群的目标服务,其中,所述目标分布式集群包括目标节点,所述目标节点用于接收与所述目标服务关联的请求;在所述目标节点上调用清理程序删除失效机器码,其中,所述目标服务预先为第一组机器码进行了授权,所述清理程序用于将所述第一组机器码中与目标机器码不同的机器码确定为所述失效机器码,所述目标机器码是与所述目标节点对应的机器码;在所述失效机器码已被清理的情况下,对所述目标机器码的授权进行验证,并在验证通过的情况下,在所述目标节点上开始提供所述目标服务。2.根据权利要求1所述的方法,其特征在于,所述在所述目标节点上调用清理程序删除失效机器码,包括:获取与第一组节点对应的所述第一组机器码,其中,所述第一组节点是所述目标分布式集群中预先设置的允许提供所述目标服务的节点;遍历所述第一组机器码,将所述第一组机器码中与所述目标机器码不同的机器码添加至待删除列表;根据所述待删除列表删除所述失效机器码以及与所述失效机器码对应的数据库记录。3.根据权利要求2所述的方法,其特征在于,所述获取与第一组节点对应的所述第一组机器码,包括:获取第一组网络地址,其中,所述第一组网络地址包括所述第一组节点中各个节点关联的宿主机网络地址;根据所述第一组网络地址确定所述第一组机器码。4.根据权利要求3所述的方法,其特征在于,所述遍历所述第一组机器码,将所述第一组机器码中与所述目标机器码不同的机器码添加至待删除列表,包括:调用目标接口获取与第二组节点对应的第二组网络地址,其中,所述目标接口是所述目标分布式集群中用于获取集群节点信息的接口,所述第二组节点是所述目标分布式集群中当前标记的允许提供所述目标服务的节点;遍历所述第一组机器码,确定所述第一组网络地址中各个网络地址是否属于所述第二组网络地址;将与第一网络地址对应的第一机器码与所述目标机器码进行比对,在所述第一机器码与所述目标机器码不同的情况下,将所述第一机器码添加至所述待删除列表,其中,所述第一网络地址表示所述第一组网络地址中不属于所述第二组网络地址的网络地址,所述第一组机器码包括所述第一机器码;将与第二网络地址对应的第二机器码与所述目标机器码进行比对,在所述第二网络地址与目标网络地址相同,且所述第二机器码与所述目标机器码不同的情况下,将所述第二机器码添加至所述待删除列表,其中,所述第二网络地址表示所述第一组网络地址中属于所述第二组网络地址的网络地址,所述目标网络地址是所述目标节点关联的宿主机网络地址,所述第一组机器码包括所述第二机器码。5.根据权利要求4所述的方法,其特征在于,所述调用目标接口获取第二组节点以及与所述第二组节点对应的第二组网络地址之前,所述方法还包括:在所述目标分布式集群中选择并标记n个节点,其中,n为正整数;
在所述目标服务的副本数设置为n个的情况下,为所述n个节点中每个节点按照与节点对应的机器码进行所述目标服务的授权,并配置与机器码对应的所述目标服务的许可信息,将所述n个节点确定为所述第二组节点。6.根据权利要求2所述的方法,其特征在于,所述根据所述待删除列表删除所述失效机器码以及与所述失效机器码对应的数据库记录,包括:在目标数据库中根据所述待删除列表确定与所述失效机器码分别对应的第一数据结构、第二数据结构以及第三数据结构,其中,所述第一数据结构记录有一一对应的机器码和网络地址,所述第二数据结构记录有一一对应的机器码和宿主机硬件信息,所述第三数据结构记录有一一对应的机器码和所述目标服务的许可信息;在所述目标数据库中删除所述第一数据结构、所述第二数据结构以及所述第三数据结构关联的数据库记录。7.根据权利要求6所述的方法,其特征在于,所述在所述失效机器码已被清理的情况下,对所述目标机器码的授权进行验证,并在验证通过的情况下,在所述目标节点上开始提供所述目标服务,包括:获取所述目标机器码、目标网络地址以及目标宿主机硬件信息,其中,所述目标机器码、所述目标网络地址以及所述目标宿主机硬件信息均与所述目标节点对应,所述目标宿主机硬件信息表示所述目标节点关联的宿主机的硬件信息,所述目标网络地址表示所述目标节点关联的宿主机的网络地址;在所述目标数据库中查询所述目标机器码,确定所述目标机器码的存在状态;在所述存在状态指示所述目标数据库包括所述目标机器码的情况下,基于所述目标网络地址以及所述目标宿主机硬件信息更新与所述目标机器码对应的所述第一数据结构和所述第二数据结构;在所述存在状态指示所述目标数据库未包括所述目标机器码的情况下,基于所述目标网络地址以及所述目标宿主机硬件信息增加与所述目标机器码对应的所述第一数据结构和所述第二数据结构以及所述第三数据结构,其中,所述第三数据结构被设置为空表示所述目标节点未预先设置为允许提供所述目标服务的节点;读取所述目标机器码对应的所述第三数据结构进行验证,并在验证通过的情况下,在所述目标节点上开始提供所述目标服务。8.一种服务的部署装置,其特征在于,包括:获取模块,用于获取待部署在目标分布式集群的目标服务,其中,所述目标分布式集群包括目标节点,所述目标节点用于接收与所述目标服务关联的请求;删除模块,用于在所述目标节点上调用清理程序删除失效机器码,其中,所述目标服务预先为第一组机器码进行了授权,所述清理程序用于将所述第一组机器码中与目标机器码不同的机器码确定为所述失效机器码,所述目标机器码是与所述目标节点对应的机器码;验证模块,用于在所述失效机器码已被清理的情况下,对所述目标机器码的授权进行验证,并在验证通过的情况下,在所述目标节点上开始提供所述目标服务。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至7任一项中所述的方法的步骤。
10.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至7任一项中所述的方法的步骤。
技术总结
本发明实施例提供了一种服务的部署方法、装置、存储介质及电子装置,该方法包括:获取待部署在目标分布式集群的目标服务,在目标节点上调用清理程序删除失效机器码,其中,目标服务预先为第一组机器码进行了授权,清理程序用于将第一组机器码中与目标机器码不同的机器码确定为失效机器码,目标机器码是与目标节点对应的机器码,在失效机器码已被清理的情况下,对目标机器码的授权进行验证,并在验证通过的情况下,在目标节点上开始提供目标服务,解决了相关技术中分布式集群在故障恢复过程中产生了机器码残留,导致服务部署的效率较低的问题,达到提高服务的部署效率,简化了服务的部署流程的技术效果。的部署流程的技术效果。的部署流程的技术效果。
技术研发人员:孙俊伟 王克彦 曹亚曦 俞鸣园 费敏健 吕少卿
受保护的技术使用者:浙江华创视讯科技有限公司
技术研发日:2023.08.08
技术公布日:2023/10/19
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/