接口版本部署的方法及装置、电子设备及存储介质与流程

文档序号:22175386发布日期:2020-09-11 21:28阅读:158来源:国知局
接口版本部署的方法及装置、电子设备及存储介质与流程

本申请涉及电子信息领域,尤其涉及一种接口版本部署的方法及装置、电子设备及存储介质。



背景技术:

随着公司业务的发展,需要更新对外提供的api接口版本。由于公司设有多个不同的数据中心,所以需将新的api接口版本部署至多个不同的数据中心节点中。

现有技术中,通常是将大量不同的需要进行部署的接口版本放置在单个数据中心节点中,在预设固定时间段或者接口版本达到一定的数量后,再将接口版本发布至其他数据中心节点进行接口版本的部署,导致其他节点无法及时部署新的接口版本。



技术实现要素:

本申请提供了一种方法及装置,目的在于解决如何实现各个数据中心的节点可以及时部署新的接口版本的问题。

为了实现上述目的,本申请提供了以下技术方案:

一种接口版本部署的方法,包括:

第二节点接收到第一节点广播的接口版本配置信息请求上链的消息后,执行第一操作;所述第一节点为预先构建的联盟链中的任意一个节点,所述第二节点为所述联盟链中除所述第一节点之外的任意一个节点,所述第一节点在接收到所述接口版本配置信息的情况下,广播所述接口版本配置信息请求上链的消息,所述第一操作为:验证所述接口版本配置信息是否满足预设的目标条件,并广播验证结果;所述目标条件,至少包括所述联盟链存储的历史接口版本配置信息的中不包括所述接口版本配置信息;任意一个所述历史接口版本配置信息为历史已部署的接口版本配置信息;

所述第二节点获取验证节点的验证结果,确定所述验证结果为验证通过的节点的数量,在所述数量不小于阈值的情况下,发布接口版本部署指令,并广播所述接口版本配置信息有效的消息,使所述联盟链中其余的各个节点在接收到所述接口版本配置信息有效的消息后,发布所述接口版本部署指令,所述接口版本部署指令用于指示用户对本节点进行接口版本部署,所述验证节点不包括所述第一节点。

上述的方法,可选的,还包括:所述第二节点确定所述验证结果为验证通过的节点的数量不小于阈值的情况下,将所述接口版本配置信息存储至所述联盟链中。

上述的方法,可选的,所述第一节点在接收到接口版本配置信息的情况下,广播所述接口版本配置信息请求上链的消息,包括:

所述第一节点生成所述接口版本配置信息对应的第一交易,并广播所述第一交易请求上链的消息;所述第一交易中至少包括所述接口版本配置信息以及所述接口版本配置信息对应的哈希值。

上述的方法,可选的,所述第二节点验证所述接口版本配置信息是否满足预设的目标条件,包括:

判断所述联盟链上存储的所有交易的哈希值中是否存在所述第一交易中包括的哈希值,如果不存在,则确定所述联盟链存储的历史接口版本配置信息的中不包括所述接口版本配置信息,并确定所述接口版本配置信息满足所述目标条件。

上述的方法,可选的,所述目标条件还包括,所述接口版本配置信息为未被篡改的信息;

所述第二节点验证所述接口版本配置信息是否满足预设的目标条件,还包括:

所述第二节点对所述第一交易中包括的所述接口版本配置信息进行哈希运算,得到第一哈希值;

判断所述第一哈希值与所述第一交易中包括的哈希值是否相同,如果相同,确定所述接口版本配置信息为未被篡改的信息;并确定所述接口版本配置信息满足所述目标条件。

上述的方法,可选的,所述发布接口版本部署指令,包括:

将所述的接口版本配置信息的状态标记为待更新状态,使智能合约发布所述接口版本部署指令,其中,所述智能合约预先部署于所述联盟链的各个节点中。

一种接口版本部署的装置,应用于节点,包括:

第一单元,用于接收到第一节点广播的接口版本配置信息请求上链的消息后,执行第一操作;所述第一节点为预先构建的联盟链中的任意一个节点,,所述第一节点在接收到所述接口版本配置信息的情况下,广播所述接口版本配置信息请求上链的消息,所述第一操作为:验证所述接口版本配置信息是否满足预设的目标条件,并广播验证结果;所述目标条件,至少包括所述联盟链存储的历史接口版本配置信息的中不包括所述接口版本配置信息;任意一个所述历史接口版本配置信息为历史已部署的接口版本配置信息;

第二单元,用于获取验证节点的验证结果,确定所述验证结果为验证通过的节点的数量,在所述数量不小于阈值的情况下,发布接口版本部署指令,并广播所述接口版本配置信息有效的消息,使所述联盟链中其余的各个节点在接收到所述接口版本配置信息有效的消息后,发布所述接口版本部署指令,所述接口版本部署指令用于指示用户对本节点进行接口版本部署,所述验证节点不包括所述第一节点。

上述的装置,可选的,所述第二单元,还用于确定所述验证结果为验证通过的节点的数量不小于阈值的情况下,将所述接口版本配置信息存储至所述联盟链中。

一种电子设备,包括存储器和处理器,所述存储器用于存储程序,所述处理器用于运行所述程序,以实现上述的接口版本部署的方法。

一种存储介质,用于存储程序,所述程序在计算机上运行时,实现上述接口版本部署的方法。

本申请所述的方法及装置,第一节点在接收到接口版本配置信息的情况下,广播接口版本配置信息请求上链的消息,因为第一节点为联盟链中的任意一个节点,所以,联盟链的任意一个节点接收到接口版本配置信息后,联盟链的每个第二节点都可以实时的获知全网接收到的接口版本配置信息,使全网节点可以实时共享接口版本配置信息,提高后续部署接口版本配置信息的及时性;

因为目标条件,至少包括联盟链存储的历史接口版本配置信息的中不包括接口版本配置信息,任意一个历史接口版本配置信息为历史已部署的接口版本配置信息,所以第二节点广播验证结果为验证通过,说明第二节点确定第一节点发送的接口版本配置信息是历史没有部署的接口版本配置信息,所以验证结果为验证通过的节点的数量不小于阈值,表明联盟链中节点达到验证通过的共识,所以,在这样的情况下,第二节点发布接口版本部署指令,并广播接口版本配置信息有效的消息,使联盟链的全部节点都发布接口版本部署指令,不仅可以确保接口版本配置信息是历史没有部署的接口版本配置信息,也可以及时的指示用户对本节点进行接口版本部署,从而可以实现了各个节点及时部署新的接口版本的目标。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种接口版本部署的方法的流程图;

图2为本申请实施例提供的又一种接口版本部署的方法的流程图;

图3为本申请实施例提供的一种接口版本部署的装置的结构示意图;

图4为本申请实施提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1为本申请实施例提供的一种接口版本部署的方法,可以包括以下步骤:

s101、第一节点接收接口版本配置信息。

版本库管理员在需要更新接口版本的情况下,将接口版本配置信息输入第一节点。第一节点为预先构建的联盟链的所有节点中任意的一个节点,接口版本配置信息包括,版本号、以及版本修订内容。

s102、第一节点生成接口版本配置信息对应的第一交易,并在全网广播区第一交易请求上链的消息。

具体为:第一节点对接口版本配置信息进行哈希运算,生成接口版本配置信息对应的哈希值,采用预先配置的私钥对哈希值进行加密,生成数字签名,并将哈希值发送至时间戳服务器,使时间戳服务器对哈希值和日期时间记录进行签名生成时间戳后,将时间戳和哈希值绑定返还至第一节点。

第一节点将接口版本配置信息、哈希值、时间戳以及数字签名封装为第一交易,并在全网中广播第一交易请求上链的消息。

s103、第二节点接收到第一交易请求上链的消息后,对第一交易进行验证,并广播验证结果。

第二节点为联盟链的节点中,除第一节点之外的任意一个节点。第二节点对第一交易进行验证的过程为,对第一交易中包括的接口版本配置信息进行哈希运算,得到第一哈希值,若第一哈希值和第一交易中的哈希值一致,则确定接口版本配置信息为完整有效未被篡改的信息,否则,确定第一交易进行验证不通过。确定第一哈希值和第一交易中的哈希值一致后,再将第一交易的哈希值与联盟链上存储的所有交易的哈希值进行比较,若联盟链上存储的所有交易的哈希值中不存在第一交易的哈希值,则确定第一交易进行验证,否则,确定第一交易进行验证不通过。

本实施例中,若第一哈希值和第一交易中的哈希值不一致,说明接口版本配置信息被篡改,则向全网节点广播第一交易验证不通过的信息,若联盟链的中已经存在第一交易的哈希值,则说明本节点已部署第一交易中的接口版本配置信息,无需再次进行部署,则向全网节点广播第一交易验证不通过的信息,表征接口版本配置信息已经部署。

若联盟链的中不存在第一交易的哈希值,且接口版本配置信息未被篡改,则向全网节点发送第一交易验证通过的信息,表征本节点同意部署接口版本配置信息。

需要说明的是,第二节点为除第一节点之外的任意一个节点,本实施例中,第一节点在全网广播区第一交易请求上链的消息后,联盟链中的每个第二节点都需执行步骤s103。

s104、第二节点根据接收到的其他节点广播的验证结果,确定第一交易是否有效,如果无效,则执行s105。如果有效,则执行s106。

本实施例中,联盟链的各个节点互之间可以进行有效的并且稳定的通信。第二节点接收到各个节点广播第一交易的验证结果后,统计广播验证结果为验证通过的节点数量,并在验证结果为验证通过的节点(包括第二节点本身)数量,等于联盟链的所有第二节点数量的情况下,确定第一交易有效,否则确定第一交易无效。

s105、第二节点将第一交易作为无效交易。

本实施例中,若对第一交易验证通过的节点数量,小于所有第二节点的数量,说明存在至少一个第二节点对第一交易的验证结果为验证不通过,则将第一交易作为无效交易,不对第一交易进行上链处理。

s106、第二节点将第一交易的接口版本配置信息的状态标记为待更新状态,触发智能合约发布版本部署指令,并将第一交易打包为区块上传至联盟链中。

智能合约预先部署于联盟链的各个节点中,第二节点将第一交易的状态标记为待更新状态,使智能合约发布部署版本指令。发布部署版本指令是为了提醒运维人员根据部署版本指令,进行接口版本配置信息的部署,部署版本指令中包括版本号、以及版本修订内容。

第二节点将第一交易打包为区块上传至联盟链,是为了后期各个节点从联盟链中查找到接口版本配置信息对应的哈希值,避免二次部署,同时可以实现采用区块链对接口版本配置信息进永久且不可篡改的记录。

s107、第二节点在全网广播第一交易有效的消息。

第二节点在全网广播第一交易有效的消息,相当于在全网公布对第一交易中包括的接口版本配置信息进行部署的消息。

s108、联盟链的其余节点接收到第一交易有效的消息后,将第一交易的接口版本配置信息的状态标记为待更新状态,触发智能合约发布版本部署指令。

本实施例提供的方法,在第一节点接收到接口版本配置信息后,生成接口版本配置信息对应的第一交易,并向全网广播第一交易的上链的消息,使全网的节点对接口版本配置信息进行共识验证,共识验证通过后,通过自动触发智能合约发布版本部署指令,使运维人员可以根据版本部署指令及时的进行接口版本配置信息的部署,从而实现各个节点可以快速同步部署接口版本配置信息。

进一步的,因为智能合约发布版本部署指令中,携带的信息为第一交易中的接口版本配置信息,所以可以保证各个节点部署的接口版本配置信息的一致性。

进一步的,接口版本配置信息存储至各个节点的区块链中,可以避免将接口版本配置信息只部署在中心节点,在中心节点出现故障的情况下,数据丢失的问题。

进一步的,利用区块链的区块链数据的不可篡改性和可追溯性,可以确保上链的接口版本配置信息的安全可靠性。

上述实施例提供的接口版本部署的方法的流程,可以概括为图2示出的流程。

s201、第一节点广播接口版本配置信息请求上链的消息。

第一节点为联盟链的任意一个节点,第一节点在接收到接口版本配置信息的情况下,广播接口版本配置信息请求上链的消息。接口版本配置信息包括版本号、以及版本修订内容。

第一节点广播接口版本配置信息请求上链的信息的实现方式可以是:第一节点生成接口版本配置信息对应的第一交易,并广播第一交易请求上链的消息,第一交易中包括接口版本配置信息、接口版本配置信息对应的哈希值、时间戳、以及数据签名。其中,第一节点生成接口版本配置信息对应的第一交易的具体实现方式可以查考上述实例的s102。

s202、第二节点接收到接口版本配置信息请求上链的消息后,验证接口版本配置信息是否满足预设的目标条件,并广播验证结果。

第二节点为联盟链中除第一节点外的任意一个节点,第二节点接收到第一节点广播的接口版本配置信息请求上链的消息后,对接口版本配置信息进行验证,并广播验证结果,本实施例中,第二节点也称为验证节点。

第二节点对接口版本配置信息进行验证为,验证接口版本配置信息是否满足预设的目标条件。目标条件包括:联盟链存储的历史接口版本配置信息的中不包括接口版本配置信息,其中,任意一个历史接口版本配置信息为历史已部署的接口版本配置信息。对应的,第二节点验证接口版本配置信息是否满足预设的目标条件的过程为:判断联盟链上存储的所有交易的哈希值中是否存在第一交易中包括的哈希值,如果不存在,则确定联盟链存储的历史接口版本配置信息的中不包括接口版本配置信息,并确定接口版本配置信息满足目标条件。

需要说明的是,本实施例中,联盟链上存储的交易为依据历史接口版本配置信息生成的交易,任意一个交易中都包括历史接口版本配置信息,以及历史接口版本配置信息对应的哈希值。任意两个接口版本配置信息对应哈希值相同,则两个接口版本配置信息为相同的信息。

本实施例中,目标条件还可以包括:接口版本配置信息为未被篡改的信息。对应的,第二节点对接口版本配置信息进行验证,除了验证联盟链存储的历史接口版本配置信息的中是否包括接口版本配置信息之外,还包括:第二节点对第一交易中包括的接口版本配置信息进行哈希运算,得到第一哈希值,判断第一哈希值与第一交易中包括的哈希值是否相同,如果相同,则确定接口版本配置信息未被篡改,反之,则确定定接口版本配置信息被篡改。

需要说明的是,本实施例中,第一节点广播接口版本配置信息请求上链的消息后,联盟链中的每个第二节点都需执行步骤s202。

s203、第二节点获取验证节点的验证结果,确定验证结果为验证通过的节点的数量,在数量不小于阈值的情况下,发布接口版本部署指令,将接口版本配置信息存储至联盟链,并广播接口版本配置信息有效的消息。

需要说明的是,为了保证接口版本配置信息的安全可靠性,预先设定接收接口版本配置信息的第一节点不参与接口版本配置信息的验证过程,所以,验证节点不包括第一节点。

本实施例中,因为第一节点广播接口版本配置信息请求上链的消息后,联盟链中的每个第二节点(也称验证节点)都执行验证过程,并广播验证结果,所以联盟链上所有的节点都可以获知每个验证节点的验证结果。

需要说明的是,本实施例中,为了保证接口版本配置信息的安全可靠性,预先规定广播接口版本配置信息有效的消息只能是第二节点,这样可以防止接收接口版本配置信息的第一节点恶意自行决定接口版本配置信息有效,导致无法保证口版本配置信息安全可靠性的问题。

本步骤的具体实施方式为,第二节点依据接收到各个验证节点广播的验证结果后,获取各个验证节点的验证结果,结合自身的验证结果,确定验证结果为验证通过的所有节点的数量,在数量等于所有第二节点的总数的情况下,也就是联盟链所有第二节点的验证结果都是验证通过的情况下,将接口版本配置信息的状态标记为待更新状态,使智能合约发布接口版本部署指令,将第一交易打包为区块加入联盟链中,并广播接口版本配置信息有效的消息。其中,所述智能合约预先部署于联盟链的各个节点中,接口版本部署指令用于指示用户对本节点进行接口版本部署,接口版本部署指令中包括接口版本配置信息。

因为第一交易中包括接口版本配置信息,所以将第一交易打包为区块加入联盟链中,可以实现将接口版本配置信息存储至联盟链。同时,将接口版本配置信息存储至联盟链,可以避免后续节点对该接口版本配置信息进行二次部署。

s204、联盟链中其余的各个节点在接收到接口版本配置信息有效的消息后,发布接口版本部署指令。

本步骤中,联盟链中其余的各个节点在接收到接口版本配置信息有效的消息后,将接口版本配置信息的状态标记为待更新状态,使智能合约发布接口版本部署指令,指示用户对本节点进行接口版本部署。

本实施例提供的方法,所述第一节点在接收到接口版本配置信息的情况下,广播接口版本配置信息请求上链的消息,因为第一节点为联盟链中的任意一个节点,所以,联盟链的任意一个节点接收到接口版本配置信息后,联盟链的每个第二节点都可以实时的获知全网接收到的接口版本配置信息,使全网节点可以实时共享接口版本配置信息,提高后续部署接口版本配置信息的及时性。

因为目标条件,至少包括联盟链存储的历史接口版本配置信息的中不包括接口版本配置信息,任意一个历史接口版本配置信息为历史已部署的接口版本配置信息,所以第二节点广播验证结果为验证通过,说明第二节点确定第一节点发送的接口版本配置信息是历史没有部署的接口版本配置信息,所以验证结果为验证通过的节点的数量不小于阈值,表明联盟链中节点达到验证通过的共识,所以,在这样的情况下,第二节点发布接口版本部署指令,并广播接口版本配置信息有效的消息,使联盟链的全部节点都发布接口版本部署指令,不仅可以确保接口版本配置信息是历史没有部署的接口版本配置信息,也可以及时的指示用户对本节点进行接口版本部署,从而可以实现了各个节点及时部署新的接口版本的目标。

进一步的,因为版本部署指令中,携带的信息为第一交易中的接口版本配置信息,所以可以保证各个节点部署的接口版本部配置信息的一致性。

进一步的,接口版本配置信息存储至各个节点的区块链中,可以避免将接口版本配置信息只部署在中心节点,在中心节点出现故障的情况下,数据丢失的问题。

进一步的,利用区块链的区块链数据的不可篡改性和可追溯性,可以确保上链的接口版本配置信息的安全可靠性。

本申请实施例,还提供了一种接口版本部署的装置300,应用于节点,其结构示意图如图3所示,包括:

第一单元301,用于接收到第一节点广播的接口版本配置信息请求上链的消息后,执行第一操作;第一节点为预先构建的联盟链中的任意一个节点,第一节点在接收到所述接口版本配置信息的情况下,广播接口版本配置信息请求上链的消息,第一操作为:验证接口版本配置信息是否满足预设的目标条件,并广播验证结果;目标条件,至少包括联盟链存储的历史接口版本配置信息的中不包括接口版本配置信息;任意一个历史接口版本配置信息为历史已部署的接口版本配置信息;

第二单元302,用于获取验证节点的验证结果,确定验证结果为验证通过的节点的数量,在数量不小于阈值的情况下,发布接口版本部署指令,并广播接口版本配置信息有效的消息,使联盟链中其余的各个节点在接收到接口版本配置信息有效的消息后,发布接口版本部署指令,接口版本部署指令用于指示用户对本节点进行接口版本部署,验证节点不包括第一节点。

上述的装置300,还包括,第三单元303,用于接收到接口版本配置信息的情况下,广播接口版本配置信息请求上链的消息,具体实现方式为:生成所述接口版本配置信息对应的第一交易,并广播所述第一交易请求上链的消息;所述第一交易中至少包括所述接口版本配置信息以及所述接口版本配置信息对应的哈希值。

上述的装置300,还包括,第四单元304,用于接收到接口版本配置信息有效的消息后,发布接口版本部署指令。

其中,第二单元302,还用于确定验证结果为验证通过的节点的数量不小于阈值的情况下,将接口版本配置信息存储至联盟链中。

第一单元301用于验证接口版本配置信息是否满足预设的目标条件的具体实现方式为:判断联盟链上存储的所有交易的哈希值中是否存在第一交易中包括的哈希值,如果不存在,则确定联盟链存储的历史接口版本配置信息的中不包括接口版本配置信息,并确定接口版本配置信息满足所述目标条件。

可选的,目标条件还包括,接口版本配置信息为未被篡改的信息;第一单元301用于验证接口版本配置信息是否满足预设的目标条件还包括:对第一交易中包括的接口版本配置信息进行哈希运算,得到第一哈希值;判断第一哈希值与第一交易中包括的哈希值是否相同,如果相同,确定接口版本配置信息为未被篡改的信息;并确定接口版本配置信息满足目标条件。

第二单元302发布接口版本部署指令的具体实现方式为:将接口版本配置信息的状态标记为待更新状态,使智能合约发布接口版本部署指令,其中,智能合约预先部署于联盟链的各个节点中。

本实施例提供的方法,第一节点在接收到接口版本配置信息的情况下,广播接口版本配置信息请求上链的消息,因为第一节点为联盟链中的任意一个节点,所以,联盟链的任意一个节点接收到接口版本配置信息后,联盟链的每个第二节点都可以实时的获知全网接收到的接口版本配置信息,使全网节点可以实时共享接口版本配置信息,提高后续部署接口版本配置信息的及时性。

因为目标条件,至少包括联盟链存储的历史接口版本配置信息的中不包括接口版本配置信息,任意一个历史接口版本配置信息为历史已部署的接口版本配置信息,所以广播验证结果为验证通过,说明确定第一节点发送的接口版本配置信息是历史没有部署的接口版本配置信息,所以验证结果为验证通过的节点的数量不小于阈值,表明联盟链中节点达到验证通过的共识,所以,在这样的情况下,发布接口版本部署指令,并广播接口版本配置信息有效的消息,使联盟链的全部节点都发布接口版本部署指令,不仅可以确保接口版本配置信息是历史没有部署的接口版本配置信息,也可以及时的指示用户对本节点进行接口版本部署,从而可以实现了各个节点及时部署新的接口版本的目标。

进一步的,因为版本部署指令中,携带的信息为第一交易中的接口版本配置信息,所以可以保证各个节点部署的接口版本部配置信息的一致性。

进一步的,接口版本配置信息存储至各个节点的区块链中,可以避免将接口版本配置信息只部署在中心节点,在中心节点出现故障的情况下,数据丢失的问题。

本发明实施例还提供了一种电子设备400,其结构示意图如图4所示,具体包括:处理器401和存储器402,存储器402用于存储程序;处理器401用于运行程序,以实现本申请实施例中接口版本部署的方法。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行本申请实施例中接口版本部署的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1