CN112685012A - 基于区块链的微服务架构实现方法、装置、设备及介质 - Google Patents
基于区块链的微服务架构实现方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN112685012A CN112685012A CN202011538699.9A CN202011538699A CN112685012A CN 112685012 A CN112685012 A CN 112685012A CN 202011538699 A CN202011538699 A CN 202011538699A CN 112685012 A CN112685012 A CN 112685012A
- Authority
- CN
- China
- Prior art keywords
- block chain
- architecture
- information
- micro service
- micro
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000008569 process Effects 0.000 claims abstract description 14
- 238000012360 testing method Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 claims description 7
- 239000003999 initiator Substances 0.000 claims description 6
- 238000007726 management method Methods 0.000 description 12
- 238000012827 research and development Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于区块链的微服务架构实现方法、装置、设备及介质,其中,方法包括:第一区块链节点接收客户端上传的架构信息并同步至区块链;分析所述架构信息得到架构的工作流程信息;工作流程信息获取所需的微服务信息;微服务信息以及所述工作流程信息生成对应的虚拟架构条约并同步至所述区块链;虚拟架构条约设定对应的所述微服务区块链节点的调用规则。将各个微服务作为区块链的节点编入至区块链中,使后续接收到客户端上传的架构信息时,根据其工作流程获取对应的微服务区块链节点,并建立虚拟架构条约以调用对应的微服务区块链节点,便于对微服务的管理,也能自动找寻对应的微服务。
Description
技术领域
本发明涉及区块链领域,特别涉及一种基于区块链的微服务架构实现方法、装置、计算机设备及存储介质。
背景技术
随着科技的发展,为了加快研发的速度,微服务架构应运而生,微服务具有逻辑清晰、简化部署、灵活组合等优点,但是随着微服务拆分得越来越细化,微服务应用越来越多,带来的微服务的治理和管理就越来越复杂和繁重,会牵扯到几十个乃至于上百个微服务,研发人员需要根据各微服务的功能自行设置微服务架构,而设置微服务架构也会延误研发人员的设计时间,且由研发人员自行设置微服务架构往往会增加微服务之间的耦合性,因此亟需一种微服务架构实现方法。
发明内容
本发明的主要目的为提供一种基于区块链的微服务架构实现方法、装置、计算机设备及存储介质,旨在解决研发人员自行设置的微服务架构,会导致微服务之间的耦合性增加的技术问题。
本发明提供了一种基于区块链的微服务架构实现方法,包括:
第一区块链节点接收客户端上传的架构信息并同步至区块链;其中,所述区块链包括架构构建发起方的所述第一区块链节点,以及用于构建架构的各个微服务区块链节点;
分析所述架构信息得到架构的工作流程信息;
根据所述工作流程信息获取所需的微服务信息;
根据所述微服务信息以及所述工作流程信息生成对应的虚拟架构条约并同步至所述区块链;
根据所述虚拟架构条约设定对应的所述微服务区块链节点的调用规则;其中,每个所述微服务区块链节点被调用时会产生调用记录并上传至所述区块链中。
进一步地,所述分析所述架构信息得到架构的工作流程信息的步骤,包括:
根据所述架构信息获取架构中各个架构节点的信息;
根据各个架构节点之间的关联关系获取所述架构的工作流程信息,其中所述关联关系预存在所述区块链中。
进一步地,所述根据所述虚拟架构条约设定对应的所述微服务区块链节点的调用规则的步骤,包括:
获取所述虚拟架构条约中的所述工作流程信息;
检测所述工作流程信息中各个步骤所需要使用的微服务;
根据所述微服务挑选出对应的微服务区块链节点,并建立各个步骤与对应的微服务区块链节点的对应关系;
根据所述对应关系为各个微服务区块链节点设定各自对应的调用规则。
进一步地,所述根据所述微服务挑选出对应的微服务区块链节点的步骤,包括:
获取与所述微服务功能相关的多个微服务区块链节点;
接收所述客户端上传的测试数据以及所述测试数据所对应的理想值;
根据各个所述微服务区块链节点的损失值选取对应的微服务区块链节点。
进一步地,所述根据所述虚拟架构条约设定对应的所述微服务区块链节点的调用规则的步骤之后,包括:
接收所述客户端上传的初始数据;
根据所述虚拟架构条约分析各个所述初始数据所对应的微服务区块链节点;
将各所述初始数据发送至对应的微服务区块链节点中。
进一步地,第一区块链节点接收客户端上传的架构信息并同步至区块链的步骤之前,还包括:
利用Go语言创建区块链类,赋予所述区块链类具体参数,从而获得创世区块,并在所述创世区块中将前一区块的哈希值设置为0;
基于所述创世区块,采用预设的区块生成技术生成其他区块,其中所述其他区块记载有前一区块的哈希值;
将所述用户终端作为节点,以搭建所述区块链。
本发明还提供了一种基于区块链的微服务架构实现装置,包括:
架构信息接收模块,用于第一区块链节点接收客户端上传的架构信息并同步至区块链;其中,所述区块链包括架构构建发起方的第一区块链节点,以及用于构建架构的各个微服务区块链节点;
架构信息分析模块,用于分析所述架构信息得到架构的工作流程信息;
信息获取模块,用于根据所述工作流程信息获取所需的微服务信息;
信息生成模块,用于根据所述微服务信息以及所述工作流程信息生成对应的虚拟架构条约并同步至所述区块链;
区块链设定模块,用于根据所述虚拟架构条约设定对应的所述微服务区块链节点的调用规则;其中,每个所述微服务区块链节点被调用时会产生调用记录并上传至所述区块链中。
进一步地,所述架构信息分析模块,包括:
节点获取子模块,用于根据所述架构信息获取架构中各个架构节点的信息;
流程获取子模块,用于根据各个架构节点之间的关联关系获取所述架构的工作流程信息,其中所述关联关系预存在所述区块链中。
本发明还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本发明的有益效果:将各个微服务作为区块链的节点编入至区块链中,使后续接收到客户端上传的架构信息时,根据其工作流程获取对应的微服务区块链节点,并建立虚拟架构条约以调用对应的微服务区块链节点,便于对微服务的管理,也能自动找寻对应的微服务,加快了研发速度,且通过区块链调用各个微服务区块链节点,也不会增加微服务之间的耦合性。
附图说明
图1是本发明一实施例的一种基于区块链的微服务架构实现方法的流程示意图;
图2是本发明一实施例的一种基于区块链的微服务架构实现装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后等)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参照图1,本发明提出一种基于区块链的微服务架构实现方法,包括:
S1:第一区块链节点接收客户端上传的架构信息并同步至区块链;其中,所述区块链包括架构构建发起方的第一区块链节点,以及用于构建架构的各个微服务区块链节点;
S2:分析所述架构信息得到架构的工作流程信息;
S3:根据所述工作流程信息获取所需的微服务信息;
S4:根据所述微服务信息以及所述工作流程信息生成对应的虚拟架构条约并同步至所述区块链;
S5:根据所述虚拟架构条约设定对应的所述微服务区块链节点的调用规则;其中,每个所述微服务区块链节点被调用时会产生调用记录并上传至所述区块链中。
如上述步骤S1所述,第一区块链节点接收客户端上传的架构信息并同步至区块链。其中第一区块链节点在接收到架构的信息后,会在区块链中发起架构构建,然后将上传的架构信息进行保存至区块链,以便于区块链中的各个节点可以基于该架构信息构建对应的微服务架构。其中,架构信息可以是各个微服务之间的连接关系,也可以是基于微服务的流程图,还可以是微服务架构的功能。其中,第一区块链节点可以为区块链中任意一个节点,即也可以是一个微服务区块链节点。
如上述步骤S2所述,分析所述架构信息得到架构的工作流程信息;其中,若架构信息为各个微服务之间的连接关系,可以基于连接关系,根据预设的微服务的数据交换关系,可以得到微服务之间的工作流程,在一个具体地实施例中,架构信息中还可以包含架构的功能,根据功能对工作流程进行设计,例如可以在已有的架构产品中,找出可以实现该功能的步骤,即得到对应的工作流程信息。
如上述步骤S3所述,根据所述工作流程信息获取所需的微服务信息。由于工作流程信息中包含了各个步骤的实现,故而可以得到微服务信息中各个步骤,然后判断各个微服务节点是否可以实现对应的步骤,当实现了对应的步骤之后,由于事先在各个微服务中事先设定了各个微服务可以实现的步骤,故基于各个步骤可以得到实现该步骤对应的微服务,即得到所需的微服务信息。
如上述步骤S5所述,根据所述微服务信息以及所述工作流程信息生成对应的虚拟架构条约并同步至所述区块链。其中,虚拟架构条约为根据工作流程信息为对应的微服务安排对应的调用流程,即为每个微服务安排对应的工作,同步至区块链中,使各个微服务区块链节点可以遵守该虚拟架构条约,基于该虚拟架构条约完成对微服务架构的构建,另外,微服务区块链节点接收第一区块链节点的数据交换方式可以是MQ队列(Message Queue消息队列,是基础数据结构中“先进先出”的一种数据结构。一般用来解决应用解耦,异步消息,流量削峰等问题,实现高性能,高可用,可伸缩和最终一致性架构)的方式。即在架构构建完成后,进行工作的过程中,不会随着工作的进行而增加微服务区块链节点之间的耦合性(一般而言,对于任意的两个微服务在工作过程中会不断加深两个微服务的耦合性)。另外,由于使通过第一区块链节点进行构建,也可以在第一区块链节点中对每个微服务区块链节点处理后的数据进行解耦处理,再根据工作流程信息将解耦后的数据发送给对于的微服务区块链节点。
在一个实施例中,所述分析所述架构信息得到架构的工作流程信息的步骤S2,包括:
S201:根据所述架构信息获取架构中各个架构节点的信息;
S202:根据各个架构节点之间的关联关系获取所述架构的工作流程信息,其中所述关联关系预存在所述区块链中。
如上述步骤S201-S202所述,实现了对工作流程信息的获取,由于架构中包含了各个架构节点,其中各个架构节点有对应的功能,架构节点之间有数据的交互,当前架构节点在接收到上一个架构节点上传的数据后,会根据下一个架构节点所需的数据,进行相应的处理,即架构节点之间的关联关系,每个架构节点至少对应一个微服务,根据架构节点之间的关联关系,可以得到对应的工作流程信息,即基于微服务实现的工作流程信息。
在一个实施例中,所述根据所述虚拟架构条约设定对应的所述微服务区块链节点的调用规则的步骤S5,包括:
S501:获取所述虚拟架构条约中的所述工作流程信息;
S502:检测所述工作流程信息中各个步骤所需要使用的微服务;
S503:根据所述微服务挑选出对应的微服务区块链节点,并建立各个步骤与对应的微服务区块链节点的对应关系;
S504:根据所述对应关系为各个微服务区块链节点设定各自对应的调用规则。
如上述步骤S501-S504所述,实现了对微服务区块链节点的调用规则的设定,即先获取工作流程信息,由于工作流程信息包含了各个步骤所需要使用的微服务,然后根据微服务挑选出对应的微服务节点,建立起各个步骤与对应微服务区块链节点的对应关系,简而言之,就是当工作进行到某一步骤时,调用对应的微服务实现该步骤,即各个步骤与对应微服务区块链节点的对应关系,从而实现了微服务架构的搭建,开发人员无需考虑具体地技术实现和方案,只需要告知对应的架构信息,就可以实现对应的微服务架构。
在一个实施例中,所述根据所述微服务挑选出对应的微服务区块链节点的步骤S503,包括:
S5031:获取与所述微服务功能相关的多个微服务区块链节点;
S5032:接收所述客户端上传的测试数据以及所述测试数据所对应的理想值;
S5033:根据公式计算各个所述微服务区块链节点的损失值;其中,Loss(y,f(x))为所述损失值,yi表示所述理想值,f(xi)为各所述微服务区块链节点根据所述测试数据得到的实际值,xi表示对应的测试数据;
S5034:根据各个所述微服务区块链节点的损失值选取对应的微服务区块链节点。
如上述步骤S5031-S5034所述,实现了对微服务区块链节点的挑选,获取与微服务功能相关的微服务区块链节点,即获取对应的微服务,由于可能会存在很多可以实现对应微服务功能的微服务区块链节点,即实现某一个功能存在多个微服务区块链节点,可以先输入客户端上传的测试数据以及测试数据对应的理想值,其中,理想值为根据测试数据在各个节点处得到的理想值,而不仅仅只最终得到的理想值,因为需要对每个微服务功能进行依次验证,故而将可以根据公式计算对应微服务区块链节点的损失值,根据损失值选取对应的微服务区块链节点,选取的方式可以是选取损失值最小的微服务区块链节点。通过上述方法,可以实现对微服务区块链节点进行选取,使最终形成的调用规则中调用的微服务区块链节点更能贴合客户端上传的架构信息,进一步对形成的架构进行优化。
在一个实施例中,所述根据所述虚拟架构条约设定对应的所述微服务区块链节点的调用规则的步骤S5之后,包括:
S601:接收所述客户端上传的初始数据;
S602:根据所述虚拟架构条约分析各个所述初始数据所对应的微服务区块链节点;
S603:将各所述初始数据发送至对应的微服务区块链节点中。
如上述步骤S601-S603所述,实现了搭建的微服务架构的运行。即接收客户端上传的初始数据,需要对初始数据进行一些微服务的处理,然后根据形成的虚拟架构条约依次分析对应的微服务区块链节点,分析的方式为根据初始数据所对应的步骤,即输入的初始数据可能不是虚拟架构条约中工作流程开始时得到的数据,可能是在工作流程的某一个步骤所得到的数据,因此需要对初始数据进行分析,分析的方法可以是检测初始数据的类型,由于上传的初始数据一般都为表格,而表头一般记载着初始数据的类型,基于表头可以得到初始数据的类型,然后判断初始数据的类型属于工作过程中的哪一步骤得到的数据类型相同,则按照工作流程一次进行下一步,将初始数据发送至对应的微服务区块链节点中进行计算,从而扩大了输入的初始数据的灵活性,用户可以对原始数据进行处理后,再将数据输入至区块链中,可以进一步地提高计算的精度。
在一个实施例中,第一区块链节点接收客户端上传的架构信息并同步至区块链的步骤S1之前,还包括:
S001:利用Go语言创建区块链类,赋予所述区块链类具体参数,从而获得创世区块,并在所述创世区块中将前一区块的哈希值设置为 0;
S002:基于所述创世区块,采用预设的区块生成技术生成其他区块,其中所述其他区块记载有前一区块的哈希值;
S003:将所述用户终端作为节点,以搭建所述区块链。
如上述步骤S001-S003所述,实现了搭建区块链。其中创建区块链类的语言可以为任意可行语言,例如JAVA、C++、Go语言等,本实施方式优选Go语言,从而优化区块链类。其中区块链类(class) 是对区块链的定义,将所述区块链类实例化即是确定区块链的具体参数,从而获得第一个区块(创世区块),从而作为其他区块的生成依据。由于创世区块是第一个区块,实际上没有之前的区块,因此在创世区块中将前一区块的哈希值设置为0。所述预设共识机制可为任意共识机制,例如为工作量证明机制、权益证明机制、拜占庭容错机制等。其中采用预设的区块生成技术例如为,设置区块头、区块体;在所述区块头中前一区块的哈希值,本区块体的哈希值和时间戳;在区块体中存储预先准备的数据,从而所述区块头与所述区块体构成了一个区块。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性 (防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置 (风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
参照图2,本发明还提供了一种基于区块链的微服务架构实现装置,包括:
架构信息接收模块10,用于第一区块链节点接收客户端上传的架构信息并同步至区块链;其中,所述区块链包括架构构建发起方的第一区块链节点,以及用于构建架构的各个微服务区块链节点;
架构信息分析模块20,用于分析所述架构信息得到架构的工作流程信息;
信息获取模块30,用于根据所述工作流程信息获取所需的微服务信息;
信息生成模块40,用于根据所述微服务信息以及所述工作流程信息生成对应的虚拟架构条约并同步至所述区块链;
区块链设定模块50,用于根据所述虚拟架构条约设定对应的所述微服务区块链节点的调用规则;其中,每个所述微服务区块链节点被调用时会产生调用记录并上传至所述区块链中。
在一个实施例中,所述架构信息分析模块20,包括:
节点获取子模块,用于根据所述架构信息获取架构中各个架构节点的信息;
流程获取子模块,用于根据各个架构节点之间的关联关系获取所述架构的工作流程信息,其中所述关联关系预存在所述区块链中。
在一个实施例中,所述信息生成模块,包括:
条约获取子模块,用于获取所述虚拟架构条约中的所述工作流程信息;
信息检测子模块,用于检测所述工作流程信息中各个步骤所需要使用的微服务;
节点建立子模块,用于根据所述微服务挑选出对应的微服务区块链节点,并建立各个步骤与对应的微服务区块链节点的对应关系;
规则设定子模块,用于根据所述对应关系为各个微服务区块链节点设定各自对应的调用规则。
在一个实施例中,所述信息获取模块30,包括:
功能获取子模块,用于获取与所述微服务功能相关的多个微服务区块链节点;
数据接收子模块,用于接收所述客户端上传的测试数据以及所述测试数据所对应的理想值;
损失值计算子模块,用于根据公式计算各个所述微服务区块链节点的损失值;其中,Loss(y,f(x))为所述损失值,yi表示所述理想值,f(xi)为各所述微服务区块链节点根据所述测试数据得到的实际值,xi表示对应的测试数据;
节点选取子模块,用于根据各个所述微服务区块链节点的损失值选取对应的微服务区块链节点。
在一个实施例中,区块链设定模块50,包括:
数据接收子模块,用于接收所述客户端上传的初始数据;
数据分析子模块,用于根据所述虚拟架构条约分析各个所述初始数据所对应的微服务区块链节点;
数据发送子模块,用于将各所述初始数据发送至对应的微服务区块链节点中。
在一个实施例中,所述区块链的微服务架构实现装置,还包括:
区块链创建模块,用于利用Go语言创建区块链类,赋予所述区块链类具体参数,从而获得创世区块,并在所述创世区块中将前一区块的哈希值设置为0;
区块生成模块,用于基于所述创世区块,采用预设的区块生成技术生成其他区块,其中所述其他区块记载有前一区块的哈希值;
区块链搭建模块,用于将所述用户终端作为节点,以搭建所述区块链。
本发明的有益效果:将各个微服务作为区块链的节点编入至区块链中,使后续接收到客户端上传的架构信息时,根据其工作流程获取对应的微服务区块链节点,并建立虚拟架构条约以调用对应的微服务区块链节点,便于对微服务的管理,也能自动找寻对应的微服务,解放了研发人员,使研发人员只需要关注项目的功能实现,加快了研发速度。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储各种微服务等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时可以实现上述任一实施例所述的基于区块链的微服务架构实现方法。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时可以实现上述任一实施例所述的基于区块链的微服务架构实现方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM (EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM一多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM (SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM (RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (10)
1.一种基于区块链的微服务架构实现方法,其特征在于,包括:
第一区块链节点接收客户端上传的架构信息并同步至区块链;其中,所述区块链包括架构构建发起方的所述第一区块链节点,以及用于构建架构的各个微服务区块链节点;
分析所述架构信息得到架构的工作流程信息;
根据所述工作流程信息获取所需的微服务信息;
根据所述微服务信息以及所述工作流程信息生成对应的虚拟架构条约并同步至所述区块链;
根据所述虚拟架构条约设定对应的所述微服务区块链节点的调用规则;其中,每个所述微服务区块链节点被调用时会产生调用记录并上传至所述区块链中。
2.如权利要求1所述的基于区块链的微服务架构实现方法,其特征在于,所述分析所述架构信息得到架构的工作流程信息的步骤,包括:
根据所述架构信息获取架构中各个架构节点的信息;
根据各个架构节点之间的关联关系获取所述架构的工作流程信息,其中所述关联关系预存在所述区块链中。
3.如权利要求1所述的基于区块链的微服务架构实现方法,其特征在于,所述根据所述虚拟架构条约设定对应的所述微服务区块链节点的调用规则的步骤,包括:
获取所述虚拟架构条约中的所述工作流程信息;
检测所述工作流程信息中各个步骤所需要使用的微服务;
根据所述微服务挑选出对应的微服务区块链节点,并建立各个步骤与对应的微服务区块链节点的对应关系;
根据所述对应关系为各个微服务区块链节点设定各自对应的调用规则。
5.如权利要求1所述的基于区块链的微服务架构实现方法,其特征在于,所述根据所述虚拟架构条约设定对应的所述微服务区块链节点的调用规则的步骤之后,包括:
接收所述客户端上传的初始数据;
根据所述虚拟架构条约分析各个所述初始数据所对应的微服务区块链节点;
将各所述初始数据发送至对应的微服务区块链节点中。
6.如权利要求1所述的基于区块链的微服务架构实现方法,其特征在于,第一区块链节点接收客户端上传的架构信息并同步至区块链的步骤之前,还包括:
利用Go语言创建区块链类,赋予所述区块链类具体参数,从而获得创世区块,并在所述创世区块中将前一区块的哈希值设置为0;
基于所述创世区块,采用预设的区块生成技术生成其他区块,其中所述其他区块记载有前一区块的哈希值;
将所述用户终端作为节点,以搭建所述区块链。
7.一种基于区块链的微服务架构实现装置,其特征在于,包括:
架构信息接收模块,用于第一区块链节点接收客户端上传的架构信息并同步至区块链;其中,所述区块链包括架构构建发起方的所述第一区块链节点,以及用于构建架构的各个微服务区块链节点;
架构信息分析模块,用于分析所述架构信息得到架构的工作流程信息;
信息获取模块,用于根据所述工作流程信息获取所需的微服务信息;
信息生成模块,用于根据所述微服务信息以及所述工作流程信息生成对应的虚拟架构条约并同步至所述区块链;
区块链设定模块,用于根据所述虚拟架构条约设定对应的所述微服务区块链节点的调用规则;其中,每个所述微服务区块链节点被调用时会产生调用记录并上传至所述区块链中。
8.如权利要求7所述的基于区块链的微服务架构实现装置,其特征在于,所述架构信息分析模块,包括:
节点获取子模块,用于根据所述架构信息获取架构中各个架构节点的信息;
流程获取子模块,用于根据各个架构节点之间的关联关系获取所述架构的工作流程信息,其中所述关联关系预存在所述区块链中。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011538699.9A CN112685012A (zh) | 2020-12-23 | 2020-12-23 | 基于区块链的微服务架构实现方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011538699.9A CN112685012A (zh) | 2020-12-23 | 2020-12-23 | 基于区块链的微服务架构实现方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112685012A true CN112685012A (zh) | 2021-04-20 |
Family
ID=75451150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011538699.9A Pending CN112685012A (zh) | 2020-12-23 | 2020-12-23 | 基于区块链的微服务架构实现方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685012A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127499A (zh) * | 2021-05-13 | 2021-07-16 | 重庆新致金服信息技术有限公司 | 一种基于区块链的微服务方法、设备及介质 |
CN115437888A (zh) * | 2022-10-24 | 2022-12-06 | 华能信息技术有限公司 | 一种基于微服务的监控预警方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180352033A1 (en) * | 2017-05-30 | 2018-12-06 | Verizon Patent And Licensing Inc. | Blockchain micro-services framework |
CN108989389A (zh) * | 2018-06-11 | 2018-12-11 | 北京航空航天大学 | 一种建立智能合约微服务化的方法 |
CN110659206A (zh) * | 2019-08-30 | 2020-01-07 | 平安普惠企业管理有限公司 | 基于微服务的模拟架构建立方法、装置、介质及电子设备 |
CN110691131A (zh) * | 2019-09-26 | 2020-01-14 | 北京笔新互联网科技有限公司 | 基于智能移动终端的微服务框架系统 |
CN111240732A (zh) * | 2020-01-17 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 分布式微服务的发布方法、装置、设备及存储介质 |
CN111694638A (zh) * | 2020-05-28 | 2020-09-22 | 中国平安人寿保险股份有限公司 | 规则包加载方法、规则包执行方法及终端设备 |
CN111698266A (zh) * | 2020-06-30 | 2020-09-22 | 平安国际智慧城市科技股份有限公司 | 服务节点调用方法、装置、设备及可读存储介质 |
CN111831318A (zh) * | 2020-06-30 | 2020-10-27 | 山东大学 | 一种自动生成代码的微服务管理系统及代码生成方法 |
CN111858001A (zh) * | 2020-07-15 | 2020-10-30 | 武汉众邦银行股份有限公司 | 一种基于服务于微服务架构系统的工作流处理方法 |
-
2020
- 2020-12-23 CN CN202011538699.9A patent/CN112685012A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180352033A1 (en) * | 2017-05-30 | 2018-12-06 | Verizon Patent And Licensing Inc. | Blockchain micro-services framework |
CN108989389A (zh) * | 2018-06-11 | 2018-12-11 | 北京航空航天大学 | 一种建立智能合约微服务化的方法 |
CN110659206A (zh) * | 2019-08-30 | 2020-01-07 | 平安普惠企业管理有限公司 | 基于微服务的模拟架构建立方法、装置、介质及电子设备 |
CN110691131A (zh) * | 2019-09-26 | 2020-01-14 | 北京笔新互联网科技有限公司 | 基于智能移动终端的微服务框架系统 |
CN111240732A (zh) * | 2020-01-17 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 分布式微服务的发布方法、装置、设备及存储介质 |
CN111694638A (zh) * | 2020-05-28 | 2020-09-22 | 中国平安人寿保险股份有限公司 | 规则包加载方法、规则包执行方法及终端设备 |
CN111698266A (zh) * | 2020-06-30 | 2020-09-22 | 平安国际智慧城市科技股份有限公司 | 服务节点调用方法、装置、设备及可读存储介质 |
CN111831318A (zh) * | 2020-06-30 | 2020-10-27 | 山东大学 | 一种自动生成代码的微服务管理系统及代码生成方法 |
CN111858001A (zh) * | 2020-07-15 | 2020-10-30 | 武汉众邦银行股份有限公司 | 一种基于服务于微服务架构系统的工作流处理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127499A (zh) * | 2021-05-13 | 2021-07-16 | 重庆新致金服信息技术有限公司 | 一种基于区块链的微服务方法、设备及介质 |
CN115437888A (zh) * | 2022-10-24 | 2022-12-06 | 华能信息技术有限公司 | 一种基于微服务的监控预警方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109146679A (zh) | 基于区块链的智能合约调用方法及装置、电子设备 | |
CN110602217B (zh) | 基于区块链的联盟管理方法、装置、设备及存储介质 | |
CN110780847B (zh) | 随机数生成方法、随机数生成装置及电子设备 | |
CN112685012A (zh) | 基于区块链的微服务架构实现方法、装置、设备及介质 | |
CN110908812A (zh) | 业务数据处理方法、装置、可读存储介质和计算机设备 | |
CN113872828B (zh) | 区块链预言机状态监控方法 | |
CN112383535B (zh) | 哈希传递攻击行为的检测方法、装置和计算机设备 | |
CN110597541A (zh) | 基于区块链的接口更新处理方法、装置、设备及存储介质 | |
CN115701078B (zh) | 跨链交易处理方法、装置、电子设备以及存储介质 | |
CN110866265A (zh) | 一种基于区块链的数据存储方法、设备及存储介质 | |
CN113435517A (zh) | 异常数据点输出方法、装置、计算机设备和存储介质 | |
CN112364059A (zh) | 多规则场景下关联匹配方法、装置、设备和存储介质 | |
CN112685502A (zh) | 基于物联网的数据获取方法、装置、设备以及存储介质 | |
CN112799970A (zh) | 测试数据处理方法、装置、电子设备及介质 | |
CN114579582B (zh) | 一种基于区块链的资源处理方法和装置 | |
CN114566269B (zh) | 医疗资源请求方法、装置、电子设备以及存储介质 | |
CN113077185B (zh) | 工作量评估方法、装置、计算机设备和存储介质 | |
CN113448924A (zh) | 基于区块链的文件展示方法、装置、设备及存储介质 | |
CN114416875A (zh) | 基于区块链的任务处理方法、装置、设备以及存储介质 | |
CN112632634B (zh) | 签名数据的处理方法、装置、计算机设备和存储介质 | |
CN115225636A (zh) | 请求处理方法、装置、计算机设备和存储介质 | |
CN114547053A (zh) | 基于系统的数据处理方法、装置、计算机设备和存储介质 | |
CN113657549A (zh) | 医疗数据审核方法、装置、设备以及存储介质 | |
CN113609217A (zh) | 数据处理方法和装置 | |
CN114615334B (zh) | 结合rpa和ai的无人值守机器人的部署方法及装置 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210420 |