CN109840120B - 解耦微服务发布方法、电子装置及计算机可读存储介质 - Google Patents
解耦微服务发布方法、电子装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109840120B CN109840120B CN201811574914.3A CN201811574914A CN109840120B CN 109840120 B CN109840120 B CN 109840120B CN 201811574914 A CN201811574914 A CN 201811574914A CN 109840120 B CN109840120 B CN 109840120B
- Authority
- CN
- China
- Prior art keywords
- micro
- services
- service
- registry
- dependency relationship
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000008859 change Effects 0.000 claims abstract description 45
- 230000001419 dependent effect Effects 0.000 claims abstract description 22
- 238000012216 screening Methods 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Telephonic Communication Services (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及云技术,提供一种解耦微服务发布方法,包括:将资源按照设定的规则进行分类,设定为对象存储到微服务;根据不同对象之间依赖关系按照资源目录层级存储为关联表;每个对象为一个子类,在子类声明中加入依赖服务名的注解;将已经发布微服务存储到注册中心;当一个微服务变动时,查找子类注解中依赖所述微服务的其他微服务;在注册中心查找所述其他微服务;若找到,判定在所述微服务变动时,其他微服务与预变动的微服务存在依赖关系;若未找到,判定在所述微服务变动时,其他微服务与预变动的微服务不存在依赖关系。本发明还提出了一种电子装置及计算机可读存储介质。本发明能够适应更加灵活的业务场景。
Description
技术领域
本发明涉及云技术领域,更为具体地,涉及一种解耦微服务发布方法、电子装置及计算机可读存储介质。
背景技术
随着云技术的发展,微服务越来越多的收到了人们的灌注,微服务是用一组小服务的方式来构建一个应用,服务之间通过轻量的通讯机制来交互。云门户在删除资源时,需要查询出是否有依赖该资源的对象。依赖该资源的各类对象是分布在不同的微服务中的,通过remote接口调用返回。如果发布A的服务,有B的对象依赖A服务的资源,则必须将B服务一并发布。此种现状,无法适应无需B服务功能的某些业务场景。
发明内容
鉴于上述问题,本发明的目的是提供一种更加灵活适应各种业务场景的解耦微服务发布方法、电子装置及计算机可读存储介质。
为了实现上述目的,本发明提供一种电子装置,所述电子装置包括存储器和处理器,所述存储器中包括解耦微服务发布程序,所述解耦微服务发布程序被所述处理器执行时实现如下步骤:
将资源按照设定的规则进行分类,分类后资源设定为对象存储到微服务中;
根据不同对象之间的依赖关系按照资源的目录层级存储为关联表:
每一个对象作为一个子类,在子类的声明中加入依赖服务名的注解,所述服务名是依赖的微服务的标识符;
将已经发布的微服务存储到注册中心;
当一个微服务变动时,查找子类注解中依赖所述微服务的其他微服务,所述微服务变动包括删除资源、移动资源、更新资源;
在注册中心查找所述其他微服务;
如果在注册中心找到所述其他微服务,判定在所述微服务变动时,所述其他微服务与预变动的微服务存在依赖关系,所述其他微服务也做出相应的变动;
如果在注册中心找不到所述其他微服务,判定在所述微服务变动时,所述其他微服务与预变动的微服务不存在依赖关系,所述其他微服务不变动。
优选地,在所述解耦微服务程序中,所述预发布的微服务根据与其他微服务依赖关系的大小发布已经公开的其他微服务,依赖关系越大,被同时发布的可行性越高。
此外,为了实现上述目的,本发明还提供一种解耦微服务发布方法,包括:
将资源按照设定的规则进行分类,分类后资源设定为对象存储到微服务中;
根据不同对象之间的依赖关系按照资源的目录层级存储为关联表;
每一个对象作为一个子类,在子类的声明中加入依赖服务名的注解,所述服务名是依赖的微服务的标识符;
将已经发布的微服务存储到注册中心;
当一个微服务变动时,查找子类注解中依赖所述微服务的其他微服务,所述微服务变动包括删除资源、移动资源、更新资源;
在注册中心查找所述其他微服务;
如果在注册中心找到所述其他微服务,判定在所述微服务变动时,所述其他微服务与预变动的微服务存在依赖关系,所述其他微服务也做出相应的变动;
如果在注册中心找不到所述其他微服务,判定在所述微服务变动时,所述其他微服务与预变动的微服务不存在依赖关系,所述其他微服务不变动。
优选地,还包括:判定不同微服务之间依赖关系的大小,在发布一个微服务时,同时发布已经公开的依赖关系大的其他微服务。
进一步,优选地,所述依赖关系由大到小为完全依赖、部分依赖和传递依赖,在发布一个微服务时,同时发布已经公开的完全依赖的其他微服务。
此外,为了实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括解耦微服务发布程序,所述解耦微服务发布程序被处理器执行时,实现上述的解耦微服务发布方法的步骤。
本发明所述解耦微服务发布方法、电子装置及计算机可读存储介质根据其他微服务是否够发布确定所述其他微服务与一个微服务是否耦合,适应更加灵活的业务场景。
附图说明
通过参考以下结合附图的说明,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
图1是本发明解耦微服务发布方法较佳实施例的应用环境示意图;
图2是图1中解耦微服务发布程序较佳实施例的模块示意图;
图3是本发明解耦微服务发布方法较佳实施例的流程图。
在所有附图中相同的标号指示相似或相应的特征或功能。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下将结合附图对本发明的具体实施例进行详细描述。
本发明提供一种解耦微服务发布方法,应用于一种电子装置1。参照图1所示,为本发明解耦微服务发布方法较佳实施例的应用环境示意图。
在本实施例中,电子装置1可以是服务器、手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端设备。
该电子装置1包括存储器11、处理器12、网络接口13及通信总线14。
存储器11包括至少一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器11等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘。在另一些实施例中,所述可读存储介质也可以是所述电子装置1的外部存储器11,例如所述电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本实施例中,所述存储器11的可读存储介质通常用于存储安装于所述电子装置1的解耦微服务发布程序10。所述存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行解耦微服务发布程序10等。
网络接口13可包括无线网络接口或有线网络接口,该网络接口13通常用于在所述电子装置1与其他电子装置之间建立通信连接。例如,所述网络接口13用于通过网络将所述电子装置1与外部终端相连,在所述电子装置1与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Intemet)、全球移动通讯***(Global System of Mobile communication,GSM)、宽带码分多址(WidebandCodeDivision Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
通信总线14用于实现这些组件之间的连接通信。
图1仅示出了具有组件11-14的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,该电子装置1还可以包括用户接口,用户接口可以包括输入单元比如键盘(Keyboard)、语音输入装置比如麦克风(microphone)等具有语音识别功能的设备、语音输出装置比如音响、耳机等,可选地用户接口还可以包括标准的有线接口、无线接口。
可选地,该电子装置1还可以包括显示器,显示器也可以称为显示屏或显示单元。
在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。显示器用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
可选地,该电子装置1还包括触摸传感器。所述触摸传感器所提供的供用户进行触摸操作的区域称为触控区域。此外,这里所述的触摸传感器可以为电阻式触摸传感器、电容式触摸传感器等。而且,所述触摸传感器不仅包括接触式的触摸传感器,也可包括接近式的触摸传感器等。此外,所述触摸传感器可以为单个传感器,也可以为例如阵列布置的多个传感器。
在图1所示的装置实施例中,作为一种计算机存储介质的存储器11中可以包括操作***以及解耦微服务发布程序10,处理器12执行存储器11中存储的解耦微服务发布程序10时实现如下步骤:
将资源按照设定的规则(例如,业务模型)进行分类,分类后资源设定为对象存储到微服务中;
根据不同对象之间的依赖关系(例如,对象之间的相互引用关系)按照资源的目录层级存储为关联表;
每一个对象作为一个子类,在子类的声明中加入依赖服务名的注解,所述服务名是依赖的微服务的标识符;
将已经发布的微服务存储到注册中心;
当一个微服务变动时,查找子类注解中依赖所述微服务的其他微服务,所述微服务变动包括删除资源、移动资源、更新资源;
在注册中心查找所述其他微服务;
如果在注册中心找到所述其他微服务,判定在所述微服务变动时,所述其他微服务与预变动的微服务存在依赖关系,所述其他微服务也做出相应的变动;
如果在注册中心找不到所述其他微服务,判定在所述微服务变动时,所述其他微服务与预变动的微服务不存在依赖关系,所述其他微服务不变动。
上述电子装置通过简单配置即可实现微服务的解耦,解耦之后,节省不必要的服务发布带来的开支,更为重要的,计算资源依赖时,根据发布的服务进行计算,未发布的服务不计算依赖,适应更加灵活的业务场景。
优选地,在所述解耦微服务程序中,所述预发布的微服务根据与其他微服务依赖关系的大小发布已经公开的其他微服务,依赖关系越大,被同时发布的可行性越高。
在其他实施例中,所述解耦微服务发布程序10还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由处理器12执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。参照图2所示,为图1中解耦微服务发布程序10较佳实施例的功能模块图。所述解耦微服务发布程序10可以被分割为:
第一存储模块110,将资源按照设定的规则进行分类,分类后资源设定为对象存储到微服务中;
关联表生成模块120,根据第一存储模块110中不同对象之间的依赖关系按照资源的目录层级存储为关联表;
注解模块130,每一个对象作为一个子类,在子类的声明中加入依赖服务名的注解,所述服务名是依赖的微服务的标识符;
第二存储模块140,将已经发布的微服务存储到注册中心;
第一筛选模块150,当一个微服务变动时,查找注解模块130的子类注解中依赖所述微服务的其他微服务,所述微服务变动包括删除资源、移动资源、更新资源;
第二筛选模块160,在第二存储模块140的注册中心查找所述其他微服务;
判断模块170,判断在注册中心是否找到所述其他微服务,如果找到所述其他微服务,发送信号给变动模块180,所述信号包括所述其他微服务的标识符;
变动模块180,接收判断模块170的信号,对信号中对应的其他微服务和预变动的微服务同时做出变动。
此外,本发明还提供一种解耦微服务发布方法。参照图3所示,为本发明解耦微服务发布方法较佳实施例的流程图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,解耦微服务发布方法包括:
步骤S1,将资源按照设定的规则进行分类,分类后资源设定为对象存储到微服务中;
步骤S2,根据不同对象之间的依赖关系按照资源的目录层级存储为关联表;
步骤S3,每一个对象作为一个子类,在子类的声明中加入依赖服务名的注解,所述服务名是依赖的微服务的标识符;
步骤S4,将已经发布的微服务存储到注册中心;
当一个微服务变动时,在步骤S5中,查找子类注解中依赖所述微服务的其他微服务,所述微服务变动包括删除资源、移动资源、更新资源;
步骤S6,在注册中心查找所述其他微服务,也就是说判断所述其他微服务是否发布;
如果在注册中心找到所述其他微服务,在步骤S7中,判定在所述微服务变动时,所述其他微服务与预变动的微服务存在依赖关系,所述其他微服务也做出相应的变动;
如果在注册中心找不到所述其他微服务,在步骤S8中,判定在所述微服务变动时,所述其他微服务与预变动的微服务不存在依赖关系,所述其他微服务不变动。
例如,当发布A服务时,查找子类注解中依赖A服务的微服务,例如B服务的对象中存在依赖A服务的子类注解,从注册中心查找B服务,若能够查到B服务,则在公布A服务时公布B服务,如果未找到B服务,则在公布A服务时,不公布B服务。
优选地,在步骤S7中,判定不同微服务之间依赖关系的大小,在发布一个微服务时,同时发布已经公开的依赖关系大的其他微服务,可以发布依赖关系最大的其他微服务,也可以发布依赖关系从大到小排序的设定数量的其他微服务,例如,所述依赖关系由大到小为完全依赖、部分依赖和传递依赖,在发布一个微服务时,同时发布已经公开的完全依赖的其他微服务。
在一个可选实施例中,所述判定不同微服务之间依赖关系的大小的方法包括:
注册中心还存储每个微服务变动时,相应变动的其他微服务;
当一个微服务变动时,查找子类注解中依赖所述微服务的其他微服务,根据下式(1)获得所述一个微服务和每个其他微服务同时变动的支持度,支持度越大依赖关系越大,
其中,Fi为预变动的一个微服务,Fj为子类注解中依赖Fi的一个其他微服务,support(Fj,Fi)为Fi和Fj同时变动的支持度,|Fj|为注册中心中Fi和Fj同时变动出现的次数,∑|Fj|为注册中心中注解中依赖Fi的其他微服务与Fi同时变动出现的次数的总和。
在第二可选实施例中,所述判定不同微服务之间依赖关系的大小的方法包括:
当一个微服务预变动时,筛选出于所述微服务存在依赖关系的其他微服务;
按照完全依赖、部分依赖和传递依赖赋予对所述其他微服务赋予从大到小的不同的权重;
注册中心还存储每个微服务变动时,相应变动的其他微服务;
根据下式(2)获得所述一个微服务和每个其他微服务同时变动的支持度,支持度越大依赖关系越大,
其中,Fi为预变动的一个微服务,Fj为子类注解中依赖Fi的一个其他微服务,support(Fj,Fi)为Fi和Fj同时变动的支持度,|Fj|为注册中心中Fi和Fj同时变动出现的次数,wj为Fj依赖Fi的权值,∑wj|Fj|为注册中心中注解中依赖Fi的其他微服务与Fi同时变动出现的次数与所述其他微服务的权值的乘积的总和。
在第三可选实施例中,所述判定不同微服务之间依赖关系的大小的方法包括:根据客户不同的需求判断不同微服务之间的依赖关系的大小,进行不同微服务组合的发布,具体地,包括:
所述注册中心存储客户需求关键字及其对应的已经发布的微服务,所述关键字作为第一关键字;
提取预变动的一个微服务的客户需求的关键字,所述关键字作为第二关键字;
将所述预变动的一个微服务的客户需求的关键字与所述注册中心存储的关键字进行相似度匹配,例如,基于词典(hownet、wordnet和同义词词林词典)或某种分类体系计算词语相似度,又如基于向量空间模型(word2vec)的方法计算词语相似度;
筛选出符合相似度阈值要求且对应的已发布的微服务中存在预变动的微服务的第二关键字,组成关键字组;
根据下式(3)确定预变动的微服务与其他微服务的支持度,从而确定所述微服务与每个其他微服务的依赖关系大小,支持度越大,依赖关系越大,
其中,Fi′为预变动的一个微服务,Fj′为子类注解中依赖Fi的一个其他微服务,support(Fj′,Fi′)为Fi′和Fj′同时变动的支持度,|Fj′|为注册中心的所述关键字组对应的Fi′和Fj′同时变动出现的次数,∑|Fj′|为注册中心的所述关键字组对应的注解中依赖Fi′的其他微服务与Fi′同时变动出现的次数的总和。
在第四可选实施例中,所述判定不同微服务之间依赖关系的大小的方法包括:
所述注册中心存储客户需求关键字及其对应的已经发布的微服务,所述关键字作为第一关键字;
提取预变动的一个微服务的客户需求的关键字,所述关键字作为第二关键字;
将所述预变动的一个微服务的客户需求的关键字与所述注册中心存储的关键字进行相似度匹配;
筛选出对应的已发布的微服务中存在预变动的微服务的第二关键字,组成关键字组;
在所述关键字组对应的不同于预变动的微服务的其他微服务根据相似度的不同赋予不同的权值,相似度越高权值越大;
根据下式(4)确定预变动的微服务与其他微服务的支持度,从而确定所述微服务与每个其他微服务的依赖关系大小,支持度越大,依赖关系越大,
其中,Fi′为预变动的一个微服务,Fj′为子类注解中依赖Fi的一个其他微服务,support(Fj′,Fi′)为Fi′和Fj′同时变动的支持度,|Fj′|为注册中心的所述关键字组对应的Fi′和Fj′同时变动出现的次数wj′为根据相似度赋予的Fj′依赖Fi′的权值,∑wj′|Fj′|为注册中心的所述关键字组对应的注解中依赖Fi的其他微服务与Fi同时变动出现的次数与所述其他微服务的权值的乘积的总和。
上述给出了判定不同微服务之间依赖关系的大小的多个实施例,但是本发明并不限于此,可以是上述各种实施例的任意结合形式。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质中包括解耦微服务发布程序,所述解耦微服务发布程序被处理器执行时实现如下步骤:
将资源按照设定的规则进行分类,分类后资源设定为对象存储到微服务中;
根据不同对象之间的依赖关系按照资源的目录层级存储为关联表;
每一个对象作为一个子类,在子类的声明中加入依赖服务名的注解,所述服务名是依赖的微服务的标识符;
将已经发布的微服务存储到注册中心;
当一个微服务变动时,查找子类注解中依赖所述微服务的其他微服务,所述微服务变动包括删除资源、移动资源、更新资源;
在注册中心查找所述其他微服务;
如果在注册中心找到所述其他微服务,判定在所述微服务变动时,所述其他微服务与预变动的微服务存在依赖关系,所述其他微服务也做出相应的变动;
如果在注册中心找不到所述其他微服务,判定在所述微服务变动时,所述其他微服务与预变动的微服务不存在依赖关系,所述其他微服务不变动。
本发明之计算机可读存储介质的具体实施方式与上述解耦微服务发布方法、电子装置的具体实施方式大致相同,在此不再赘述。
在上述各实施例中,给出了通过子类的声明中加入依赖服务名的注解,使得微服务解耦动态化的多个实施例,但是本发明并不限于此,通过添加其他配置项使得微服务解耦动态化的实施例也在本发明的保护范围内。
在上述各实施例中,给出了一个预变动微服务与其他微服务的解耦方法,但是本发明并不限于此,有多个预变动微服务时,可以同时对多个预变动微服务进行解耦发布分析,也可以依次对多个预变动微服务进行解耦发布分析,还可以先判断多个预变动的微服务是否存在依赖关系,存在依赖关系的预变动的微服务组成预变动微服务组合进行上述各实施例的解耦发布分析。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种解耦微服务发布方法,其特征在于,包括:
将资源按照设定的规则进行分类,分类后资源设定为对象存储到微服务中;
根据不同对象之间的依赖关系按照资源的目录层级存储为关联表;
每一个对象作为一个子类,在子类的声明中加入依赖服务名的注解,所述服务名是依赖的微服务的标识符;
将已经发布的微服务存储到注册中心;
当一个微服务变动时,查找子类注解中依赖所述微服务的其他微服务,所述微服务变动包括删除资源、移动资源、更新资源;
在注册中心查找所述其他微服务;
如果在注册中心找到所述其他微服务,判定在所述微服务变动时,所述其他微服务与预变动的微服务存在依赖关系,所述其他微服务也做出相应的变动;
如果在注册中心找不到所述其他微服务,判定在所述微服务变动时,所述其他微服务与预变动的微服务不存在依赖关系,所述其他微服务不变动;
以及,
判定不同微服务之间依赖关系的大小,在发布一个微服务时,同时发布已经公开的依赖关系大的其他微服务;其中,所述判定不同微服务之间依赖关系的大小的方法包括:根据客户不同的需求判断不同微服务之间的依赖关系的大小,进行不同微服务组合的发布,包括:
所述注册中心存储客户需求关键字及其对应的已经发布的微服务,所述关键字作为第一关键字;
提取预变动的一个微服务的客户需求的关键字,所述关键字作为第二关键字;
将所述预变动的一个微服务的客户需求的关键字与所述注册中心存储的关键字进行相似度匹配;
筛选出符合相似度阈值要求且对应的已经发布的微服务中存在预变动的微服务的第二关键字,组成关键字组;
根据下式(3)确定预变动的微服务与其他微服务的支持度,从而确定所述微服务与每个其他微服务的依赖关系大小,支持度越大,依赖关系越大,
其中,Fi′为预变动的一个微服务,Fj′为子类注解中依赖Fi的一个其他微服务,support(Fj′,Fi′)为Fi′和Fj′同时变动的支持度,|Fj′|为注册中心的所述关键字组对应的Fi′和Fj′同时变动出现的次数,∑|Fj′|为注册中心的所述关键字组对应的子类注解中依赖Fi′的其他微服务与Fi′同时变动出现的次数的总和。
2.根据权利要求1所述的解耦微服务发布方法,其特征在于,所述依赖关系由大到小为完全依赖、部分依赖和传递依赖,在发布一个微服务时,同时发布已经公开的完全依赖的其他微服务。
3.根据权利要求1所述的解耦微服务发布方法,其特征在于,所述判定不同微服务之间依赖关系的大小的方法包括:
注册中心还存储每个微服务变动时,相应变动的其他微服务;
当一个微服务变动时,查找子类注解中依赖所述微服务的其他微服务,根据下式(1)获得所述一个微服务和每个其他微服务同时变动的支持度,支持度越大依赖关系越大,
其中,Fi为预变动的一个微服务,Fj为子类注解中依赖Fi的一个其他微服务,support(Fj,Fi)为Fi和Fj同时变动的支持度,|Fj|为注册中心中Fi和Fj同时变动出现的次数,∑|Fj|为注册中心中的子类注解中依赖Fi的其他微服务与Fi同时变动出现的次数的总和。
4.根据权利要求1所述的解耦微服务发布方法,其特征在于,所述判定不同微服务之间依赖关系的大小的方法包括:
当一个微服务预变动时,筛选出于所述微服务存在依赖关系的其他微服务;
按照完全依赖、部分依赖和传递依赖赋予对所述其他微服务赋予从大到小的不同的权重;
注册中心还存储每个微服务变动时,相应变动的其他微服务;
根据下式(2)获得所述一个微服务和每个其他微服务同时变动的支持度,支持度越大依赖关系越大,
其中,Fi为预变动的一个微服务,Fj为子类注解中依赖Fi的一个其他微服务,support(Fj,Fi)为Fi和Fj同时变动的支持度,|Fj|为注册中心中Fi和Fj同时变动出现的次数,wj为Fj依赖Fi的权值,∑wj|Fj|为注册中心中的子类注解中依赖Fi的其他微服务与Fi同时变动出现的次数与所述其他微服务的权值的乘积的总和。
5.根据权利要求1所述的解耦微服务发布方法,其特征在于,所述判定不同微服务之间依赖关系的大小的方法包括:
所述注册中心存储客户需求关键字及其对应的已经发布的微服务,所述关键字作为第一关键字;
提取预变动的一个微服务的客户需求的关键字,所述关键字作为第二关键字;
将所述预变动的一个微服务的客户需求的关键字与所述注册中心存储的关键字进行相似度匹配;
筛选出对应的已经发布的微服务中存在预变动的微服务的第二关键字,组成关键字组;
在所述关键字组对应的不同于预变动的微服务的其他微服务根据相似度的不同赋予不同的权值,相似度越高权值越大;
根据下式(4)确定预变动的微服务与其他微服务的支持度,从而确定所述微服务与每个其他微服务的依赖关系大小,支持度越大,依赖关系越大,
其中,Fi′为预变动的一个微服务,Fj′为子类注解中依赖Fi的一个其他微服务,support(Fj′,Fi′)为Fi′和Fj′同时变动的支持度,|Fj′|为注册中心的所述关键字组对应的Fi′和Fj′同时变动出现的次数,w′j为根据相似度赋予的Fj′依赖Fi′的权值,∑w′j|Fj′|为注册中心的所述关键字组对应的子类注解中依赖Fi的其他微服务与Fi同时变动出现的次数与所述其他微服务的权值的乘积的总和。
6.一种电子装置,其特征在于,所述电子装置包括存储器和处理器,所述存储器中包括解耦微服务发布程序,所述解耦微服务发布程序被所述处理器执行时实现如下步骤:
将资源按照设定的规则进行分类,分类后资源设定为对象存储到微服务中;
根据不同对象之间的依赖关系按照资源的目录层级存储为关联表:
每一个对象作为一个子类,在子类的声明中加入依赖服务名的注解,所述服务名是依赖的微服务的标识符;
将已经发布的微服务存储到注册中心;
当一个微服务变动时,查找子类注解中依赖所述微服务的其他微服务,所述微服务变动包括删除资源、移动资源、更新资源;
在注册中心查找所述其他微服务;
如果在注册中心找到所述其他微服务,判定在所述微服务变动时,所述其他微服务与预变动的微服务存在依赖关系,所述其他微服务也做出相应的变动;
如果在注册中心找不到所述其他微服务,判定在所述微服务变动时,所述其他微服务与预变动的微服务不存在依赖关系,所述其他微服务不变动;
以及,
判定不同微服务之间依赖关系的大小,在发布一个微服务时,同时发布已经公开的依赖关系大的其他微服务;其中,所述判定不同微服务之间依赖关系的大小的方法包括:根据客户不同的需求判断不同微服务之间的依赖关系的大小,进行不同微服务组合的发布,包括:
所述注册中心存储客户需求关键字及其对应的已经发布的微服务,所述关键字作为第一关键字;
提取预变动的一个微服务的客户需求的关键字,所述关键字作为第二关键字;
将所述预变动的一个微服务的客户需求的关键字与所述注册中心存储的关键字进行相似度匹配;
筛选出符合相似度阈值要求且对应的已经发布的微服务中存在预变动的微服务的第二关键字,组成关键字组;
根据下式(3)确定预变动的微服务与其他微服务的支持度,从而确定所述微服务与每个其他微服务的依赖关系大小,支持度越大,依赖关系越大,
其中,Fi′为预变动的一个微服务,Fj′为子类注解中依赖Fi的一个其他微服务,support(Fj′,Fi′)为Fi′和Fj′同时变动的支持度,|Fj′|为注册中心的所述关键字组对应的Fi′和Fj′同时变动出现的次数,∑|Fj′|为注册中心的所述关键字组对应的子类注解中依赖Fi′的其他微服务与Fi′同时变动出现的次数的总和。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括解耦微服务发布程序,所述解耦微服务发布程序被处理器执行时,实现如权利要求1至5中任一项所述的解耦微服务发布方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811574914.3A CN109840120B (zh) | 2018-12-21 | 2018-12-21 | 解耦微服务发布方法、电子装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811574914.3A CN109840120B (zh) | 2018-12-21 | 2018-12-21 | 解耦微服务发布方法、电子装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109840120A CN109840120A (zh) | 2019-06-04 |
CN109840120B true CN109840120B (zh) | 2024-04-16 |
Family
ID=66883231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811574914.3A Active CN109840120B (zh) | 2018-12-21 | 2018-12-21 | 解耦微服务发布方法、电子装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109840120B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112540749B (zh) * | 2020-11-16 | 2023-10-24 | 南方电网数字平台科技(广东)有限公司 | 微服务划分方法、装置、计算机设备和可读存储介质 |
CN112416459B (zh) * | 2020-11-23 | 2024-03-01 | 杭州当虹科技股份有限公司 | 一种解决微服务之间版本强依赖的*** |
CN115733750A (zh) * | 2022-11-25 | 2023-03-03 | 中国工商银行股份有限公司 | 微服务网关中元数据更新方法、装置、设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610836A (zh) * | 2016-12-23 | 2017-05-03 | 国网信息通信产业集团有限公司 | 一种微服务运行管理工具 |
CN107872525A (zh) * | 2017-11-09 | 2018-04-03 | 杭州东方通信软件技术有限公司 | 一种微服务调用架构 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10242073B2 (en) * | 2016-07-27 | 2019-03-26 | Sap Se | Analytics mediation for microservice architectures |
-
2018
- 2018-12-21 CN CN201811574914.3A patent/CN109840120B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610836A (zh) * | 2016-12-23 | 2017-05-03 | 国网信息通信产业集团有限公司 | 一种微服务运行管理工具 |
CN107872525A (zh) * | 2017-11-09 | 2018-04-03 | 杭州东方通信软件技术有限公司 | 一种微服务调用架构 |
Non-Patent Citations (1)
Title |
---|
基于微服务架构的基础设施设计;蒋勇;;软件;20160515;第37卷(第5期);第93-97页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109840120A (zh) | 2019-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10360307B2 (en) | Automated ontology building | |
CN107967135B (zh) | 计算引擎实现方法、电子装置及存储介质 | |
US20180157636A1 (en) | Methods and systems for language-agnostic machine learning in natural language processing using feature extraction | |
US8688702B1 (en) | Techniques for using dynamic data sources with static search mechanisms | |
US9218568B2 (en) | Disambiguating data using contextual and historical information | |
US20090089279A1 (en) | Method and Apparatus for Detecting Spam User Created Content | |
CN109840120B (zh) | 解耦微服务发布方法、电子装置及计算机可读存储介质 | |
US20110136542A1 (en) | Method and apparatus for suggesting information resources based on context and preferences | |
WO2021164231A1 (zh) | 公文摘要提取方法、装置、设备及计算机可读存储介质 | |
US10552497B2 (en) | Unbiasing search results | |
US20210110111A1 (en) | Methods and systems for providing universal portability in machine learning | |
WO2020003109A1 (en) | Facet-based query refinement based on multiple query interpretations | |
CN113626223A (zh) | 一种接口调用方法和装置 | |
CN114385780A (zh) | 程序接口信息推荐方法、装置、电子设备和可读介质 | |
CN110674087A (zh) | 文件查询方法、装置及计算机可读存储介质 | |
CN110059172B (zh) | 基于自然语言理解的推荐答案的方法和装置 | |
CN113434582B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN110895587B (zh) | 用于确定目标用户的方法和装置 | |
KR102277240B1 (ko) | 키워드 관계 구조를 이용한 동의어 추출 방법 및 시스템 | |
US20140095527A1 (en) | Expanding high level queries | |
CN112749258A (zh) | 数据搜索的方法和装置、电子设备和存储介质 | |
US9965558B2 (en) | Cross-channel social search | |
CN111858617A (zh) | 用户查找方法和装置、计算机可读存储介质、电子设备 | |
CN110674383A (zh) | 舆情查询方法、装置及设备 | |
CN109471969A (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 |