CN112596929A - 基于命令事件转换的微服务注册、调用方法及相关装置 - Google Patents

基于命令事件转换的微服务注册、调用方法及相关装置 Download PDF

Info

Publication number
CN112596929A
CN112596929A CN202011580290.3A CN202011580290A CN112596929A CN 112596929 A CN112596929 A CN 112596929A CN 202011580290 A CN202011580290 A CN 202011580290A CN 112596929 A CN112596929 A CN 112596929A
Authority
CN
China
Prior art keywords
event
service
meta
information
command
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.)
Granted
Application number
CN202011580290.3A
Other languages
English (en)
Other versions
CN112596929B (zh
Inventor
徐进
石磊
张亮
李宁叠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hundsun Technologies Inc
Original Assignee
Hundsun Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hundsun Technologies Inc filed Critical Hundsun Technologies Inc
Priority to CN202011580290.3A priority Critical patent/CN112596929B/zh
Publication of CN112596929A publication Critical patent/CN112596929A/zh
Application granted granted Critical
Publication of CN112596929B publication Critical patent/CN112596929B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于命令事件转换的微服务注册、调用方法及相关装置,可以对用于域外访问的命令事件携带的事件描述注解和事件入口描述注解进行解析,获得事件元信息和事件入口并依此构建第一映射关系表,再根据预设的事件‑服务映射表,确定与事件元信息对应的服务元信息以及与事件入口对应的服务入口,并根据服务员信息与服务入口构建第二映射关系表,从而对命令事件匹配的微服务进行注册。本发明实施例通过事件元信息与服务元信息和事件入口与服务入口之间的对应关系,将命令事件与服务入口进行对应封装完成微服务注册,无需额外设计业务服务层,减少了后续对微服务进行维护和更新所耗用的计算机资源,并提高了对微服务进行维护和更新的效率。

Description

基于命令事件转换的微服务注册、调用方法及相关装置
技术领域
本发明涉及微服务技术领域和领域驱动设计技术领域,尤其涉及一种基于命令事件转换的微服务注册、调用方法及相关装置。
背景技术
在当前微服务技术领域中,微服务的拆分与设计主要采用领域驱动设计方法进行。对于复杂的领域模型,领域驱动设计推荐采用事件驱动架构(Event DrivenArchitecture,EDA)实现领域层业务逻辑,再在应用层通过领域服务向外提供业务逻辑对应的业务功能,即微服务。
当前,使用事件驱动架构完成对外输出的业务功能时,需要技术工程师编程设计完成服务入口到命令事件的转换和路由工作的业务服务层,由于领域模型的变更会影响到上层的领域服务。因此,多一层业务服务层将直接增加对微服务进行维护和更新所耗用的计算机资源,并降低对微服务进行维护和更新的效率。
发明内容
鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的一种基于命令事件转换的微服务注册、调用方法及相关装置,技术方案如下:
一种基于命令事件转换的微服务注册方法,包括:
获得用于域外访问的命令事件,其中,所述命令事件携带有事件描述注解和事件入口描述注解;
对所述事件描述注解进行解析,获得与所述事件描述注解对应的事件元信息;对所述事件入口描述注解进行解析,获得与所述事件入口描述注解对应的事件入口;
根据所述事件元信息与所述事件入口构建第一映射关系表,其中,所述第一映射关系表保存有所述事件元信息与所述事件入口之间的映射关系;
根据预设的事件-服务映射表,确定所述第一映射关系表中:与所述事件元信息对应的服务元信息和与所述事件入口对应的服务入口;
根据所述服务元信息与所述服务入口,构建第二映射关系表,其中,所述第二映射关系表保存有所述服务元信息与所述服务入口之间的映射关系;
根据所述第二映射关系表,对与所述命令事件匹配的微服务进行注册。
可选的,所述根据所述第二映射关系表,对与所述命令事件匹配的微服务进行注册,包括:
对所述第二映射关系表进行登记,并将与所述命令事件对应的服务映射状态设置为已完成;
当监听到所述命令事件对应的服务映射状态为已完成时,对已登记的所述第二映射关系表进行扫描,获得所述第二映射关系表中的所述服务元信息;
将所述服务元信息传输至注册中心,由所述注册中心根据所述服务元信息,对与所述命令事件匹配的微服务进行注册。
可选的,所述微服务注册方法还包括:
构建用于调用所述命令事件的代理服务;
为所述代理服务添加与所述服务元信息对应的服务描述注解。
可选的,在所述获得用于域外访问的命令事件之前,所述方法还包括:
确定领域事件中用于域外访问的所述命令事件;
对所述命令事件添加所述事件描述注解和所述事件入口描述注解,其中,所述事件描述注解与所述命令事件的所述事件元信息对应,所述事件入口描述注解与所述命令事件的所述事件入口相对应。
可选的,所述事件元信息包括:事件分类、事件名称、版本标识和事件描述定义包路径。
可选的,所述服务元信息包括:服务组、服务名称、服务版本和服务路径,其中,所述服务组与所述事件分类对应,所述服务名称与所述事件名称对应,所述服务版本与所述版本标识对应,所述服务路径与所述事件描述定义包路径对应。
一种基于命令事件转换的微服务调用方法,包括:
获得用户对微服务的调用请求;
根据所述调用请求,确定与所述微服务对应的服务元信息;
根据预先构建的第二映射关系表,确定与所述服务元信息对应的服务入口,其中,所述第二映射关系表保存有所述服务元信息与所述服务入口之间的映射关系;
根据预设的事件-服务映射表,确定与所述服务元信息对应的事件元信息,确定与所述服务入口对应的事件入口;
根据所述事件元信息和所述事件入口,在预先构建的第一映射关系表中确定与所述微服务匹配的命令事件,其中,所述第一映射关系表保存有所述事件元信息与所述事件入口之间的映射关系;
调用所述命令事件,向所述用户提供所述微服务。
可选的,所述调用所述命令事件,包括:
根据所述服务元信息,确定携带有与所述服务元信息对应的服务描述注解的代理服务;
通过所述代理服务调用所述命令事件。
一种基于命令事件转换的微服务注册装置,包括:命令事件获得单元、注解解析单元、第一映射关系表构建单元、关系对应单元、第二映射关系表构建单元和微服务注册单元,
所述命令事件获得单元,用于获得用于域外访问的命令事件,其中,所述命令事件携带有事件描述注解和事件入口描述注解;
所述注解解析单元,用于对所述事件描述注解进行解析,获得与所述事件描述注解对应的事件元信息;对所述事件入口描述注解进行解析,获得与所述事件入口描述注解对应的事件入口;
所述第一映射关系表构建单元,用于根据所述事件元信息与所述事件入口构建第一映射关系表,其中,所述第一映射关系表保存有所述事件元信息与所述事件入口之间的映射关系;
所述关系对应单元,用于根据预设的事件-服务映射表,确定所述第一映射关系表中:与所述事件元信息对应的服务元信息和与所述事件入口对应的服务入口;
所述第二映射关系表构建单元,用于根据所述服务元信息与所述服务入口,构建第二映射关系表,其中,所述第二映射关系表保存有所述服务元信息与所述服务入口之间的映射关系;
所述微服务注册单元,用于根据所述第二映射关系表,对与所述命令事件匹配的微服务进行注册。
一种基于命令事件转换的微服务调用装置,包括:调用请求获得单元、服务元信息确定单元、服务入口确定单元、事件入口确定单元、命令事件确定单元和命令事件调用单元,
所述调用请求获得单元,用于获得用户对微服务的调用请求;
所述服务元信息确定单元,用于根据所述调用请求,确定与所述微服务对应的服务元信息;
所述服务入口确定单元,用于根据预先构建的第二映射关系表,确定与所述服务元信息对应的服务入口,其中,所述第二映射关系表保存有所述服务元信息与所述服务入口之间的映射关系;
所述事件入口确定单元,用于根据预设的事件-服务映射表,确定与所述服务元信息对应的事件元信息,确定与所述服务入口对应的事件入口;
所述命令事件确定单元,用于根据所述事件元信息和所述事件入口,在预先构建的第一映射关系表中确定与所述微服务匹配的命令事件,其中,所述第一映射关系表保存有所述事件元信息与所述事件入口之间的映射关系;
所述命令事件调用单元,用于调用所述命令事件,向所述用户提供所述微服务。
一种存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的基于命令事件转换的微服务注册方法。
一种存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的基于命令事件转换的微服务调用方法。
一种电子设备,所述电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述任一项所述的基于命令事件转换的微服务注册方法。
一种电子设备,所述电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述任一项所述的基于命令事件转换的微服务调用方法。
借由上述技术方案,本发明提供的一种基于命令事件转换的微服务注册、调用方法及相关装置,可以对用于域外访问的命令事件携带的事件描述注解和事件入口描述注解进行解析,获得事件元信息和事件入口并依此构建第一映射关系表,再根据预设的事件-服务映射表,确定与事件元信息对应的服务元信息以及与事件入口对应的服务入口,并根据服务员信息与服务入口构建第二映射关系表,从而对命令事件匹配的微服务进行注册。本发明实施例通过事件元信息与服务元信息和事件入口与服务入口之间的对应关系,将命令事件与服务入口进行对应封装完成微服务注册,无需额外设计业务服务层,减少了后续对微服务进行维护和更新所耗用的计算机资源,并提高了对微服务进行维护和更新的效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种基于命令事件转换的微服务注册方法的流程示意图;
图2示出了本发明实施例提供的另一种基于命令事件转换的微服务注册方法的流程示意图;
图3示出了本发明实施例提供的一种基于命令事件转换的微服务调用方法的流程示意图;
图4示出了本发明实施例提供的一种基于命令事件转换的微服务注册装置的结构示意图;
图5示出了本发明实施例提供的一种基于命令事件转换的微服务调用装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本发明实施例提供的一种基于命令事件转换的微服务注册方法,可以包括:
S100、获得用于域外访问的命令事件,其中,命令事件携带有事件描述注解和事件入口描述注解。
本发明实施例可以预先将领域事件划分为用于域内交互的普通事件层和用于域外访问的命令事件层。其中,领域事件是一个领域模型中极其重要的部分,用来表示领域中发生的事件,忽略不相关的领域活动,同时明确领域专家要跟踪或希望被通知的事情,或与其他模型对象中的状态更改相关联。
本发明实施例可以在命令事件层对命令事件进行统一的定义。
可选的,本发明实施例可以在获得用于域外访问的命令事件之前,确定领域事件中用于域外访问的命令事件。对命令事件添加事件描述注解和事件入口描述注解,其中,事件描述注解与命令事件的事件元信息对应,事件入口描述注解与命令事件的事件入口相对应。
其中,事件描述注解和事件入口描述注解为对命令事件的定义注解,是命令事件的开发者对该命令事件对应的业务设计设置的分类描述。
可选的,在实际过程中,普通事件的事件描述注解可以为“@Event”,普通事件的事件入口描述注解可以为“@EventHandler”,命令事件的事件描述注解可以为“@Command”,命令事件的事件入口描述注解可以为“@CommandHandler”。
具体的,开发者可以对需经业务系统定义的对外服务接口交互的事件设计为命令事件,对需经业务系统定义的内部访问API(Application Programming Interface,应用程序接口)交互的事件设计为普通事件。
可选的,事件元信息包括:事件分类、事件名称、版本标识和事件描述定义包路径。
可选的,事件入口是可调用与该事件对应的事件处理方法的程序。
本发明实施例可以通过SDK(Software Development Kit,软件开发工具包)的方式将领域事件引入应用微服务工程。本发明实施例可以通过扫描领域事件中的命令事件层,获得命令事件并读取命令事件携带的事件描述注解和事件入口描述注解。
S200、对事件描述注解进行解析,获得与事件描述注解对应的事件元信息;对事件入口描述注解进行解析,获得与事件入口描述注解对应的事件入口。
具体的,本发明实施例可以对事件描述注解进行解析获得注解内容,并将该注解内容转换为事件元信息。本发明实施例可以对事件入口描述注解进行解析,获取可调用与该事件对应的事件处理方法的程序。
S300、根据事件元信息与事件入口构建第一映射关系表,其中,第一映射关系表保存有事件元信息与事件入口之间的映射关系。
S400、根据预设的事件-服务映射表,确定第一映射关系表中:与事件元信息对应的服务元信息和与事件入口对应的服务入口。
可以理解的是,事件是指在领域驱动设计下,基于事件处理平台(EDA)描述的命令契约。服务是指一个传统微服务系统中基于RPC或REST方式明确描述的、注册至服务注册中心的、提供对外交互的接口契约。事件和服务属于不同的设计框架,本发明实施例通过预设的事件-服务映射表,可以将属于不同的设计框架的事件和服务的元信息进行适配。
可选的,服务元信息包括:服务组、服务名称、服务版本和服务路径,其中,服务组与事件分类对应,服务名称与事件名称对应,服务版本与版本标识对应,服务路径与事件描述定义包路径对应。
S500、根据服务元信息与服务入口,构建第二映射关系表,其中,第二映射关系表保存有服务元信息与服务入口之间的映射关系。
可选的,本发明实施例还可以构建用于调用命令事件的代理服务;为代理服务添加与服务元信息对应的服务描述注解。
具体的,本发明实施例可以通过第二映射关系表中命令事件与微服务的映射关系、事件入口以及服务元信息生成的命令事件转换到微服务的实现构建代理服务。
本发明实施例通过添加服务描述注解的代理服务,使得在与命令事件对应的微服务被调用时,可以通过微服务对应的服务元信息,确定携带有与该服务元信息对应的服务描述注解的代理服务调用命令事件,向调用该微服务的用户提供微服务。
S600、根据第二映射关系表,对与命令事件匹配的微服务进行注册。
具体的,基于图1所示的方法,如图2所示,本发明实施例提供的另一种基于命令事件转换的微服务注册方法,步骤S600可以包括:
S610、对第二映射关系表进行登记,并将与命令事件对应的服务映射状态设置为已完成。
可以理解的是,本发明实施例可以对命令事件维护一个服务映射状态,以便确定对该命令事件的服务映射是否完成,在服务映射完成时将该服务映射状态设置为已完成。
S620、当监听到命令事件对应的服务映射状态为已完成时,对已登记的第二映射关系表进行扫描,获得第二映射关系表中的服务元信息。
S630、将服务元信息传输至注册中心,由注册中心根据服务元信息,对与命令事件匹配的微服务进行注册。
本发明提供的一种基于命令事件转换的微服务注册方法,可以对用于域外访问的命令事件携带的事件描述注解和事件入口描述注解进行解析,获得事件元信息和事件入口并依此构建第一映射关系表,再根据预设的事件-服务映射表,确定与事件元信息对应的服务元信息以及与事件入口对应的服务入口,并根据服务员信息与服务入口构建第二映射关系表,从而对命令事件匹配的微服务进行注册。本发明实施例通过事件元信息与服务元信息和事件入口与服务入口之间的对应关系,将命令事件与服务入口进行对应封装完成微服务注册,无需额外设计业务服务层,减少了后续对微服务进行维护和更新所耗用的计算机资源,并提高了对微服务进行维护和更新的效率。
如图3所示,本发明实施例提供的一种基于命令事件转换的微服务调用方法,可以包括:
S10、获得用户对微服务的调用请求。
S20、根据调用请求,确定与微服务对应的服务元信息。
S30、根据预先构建的第二映射关系表,确定与服务元信息对应的服务入口,其中,第二映射关系表保存有服务元信息与服务入口之间的映射关系。
S40、根据预设的事件-服务映射表,确定与服务元信息对应的事件元信息,确定与服务入口对应的事件入口。
S50、根据事件元信息和事件入口,在预先构建的第一映射关系表中确定与微服务匹配的命令事件,其中,第一映射关系表保存有事件元信息与事件入口之间的映射关系。
S60、调用命令事件,向用户提供微服务。
可选的,本发明实施例可以根据服务元信息,确定携带有与服务元信息对应的服务描述注解的代理服务;通过代理服务调用命令事件。
本发明实施例提供的一种基于命令事件转换的微服务调用方法,可以获得用户对微服务的调用请求;根据调用请求,确定与微服务对应的服务元信息;根据预先构建的第二映射关系表,确定与服务元信息对应的服务入口,其中,第二映射关系表保存有服务元信息与服务入口之间的映射关系;根据预设的事件-服务映射表,确定与服务元信息对应的事件元信息,确定与服务入口对应的事件入口;根据事件元信息和事件入口,在预先构建的第一映射关系表中确定与微服务匹配的命令事件,其中,第一映射关系表保存有事件元信息与事件入口之间的映射关系;调用命令事件,向用户提供微服务。本发明实施例通过事件元信息与服务元信息和事件入口与服务入口之间的对应关系,可以对微服务对应的命令事件进行调用,为用户提供微服务。
与上述一种基于命令事件转换的微服务注册方法实施例相对应的,本发明实施例还提供了一种基于命令事件转换的微服务注册装置,其结构如图4所示,可以包括:命令事件获得单元100、注解解析单元200、第一映射关系表构建单元300、关系对应单元400、第二映射关系表构建单元500和微服务注册单元600。
命令事件获得单元100,用于获得用于域外访问的命令事件,其中,命令事件携带有事件描述注解和事件入口描述注解。
注解解析单元200,用于对事件描述注解进行解析,获得与事件描述注解对应的事件元信息;对事件入口描述注解进行解析,获得与事件入口描述注解对应的事件入口。
第一映射关系表构建单元300,用于根据事件元信息与事件入口构建第一映射关系表,其中,第一映射关系表保存有事件元信息与事件入口之间的映射关系。
关系对应单元400,用于根据预设的事件-服务映射表,确定第一映射关系表中:与事件元信息对应的服务元信息和与事件入口对应的服务入口。
第二映射关系表构建单元500,用于根据服务元信息与服务入口,构建第二映射关系表,其中,第二映射关系表保存有服务元信息与服务入口之间的映射关系。
微服务注册单元600,用于根据第二映射关系表,对与命令事件匹配的微服务进行注册。
可选的,微服务注册单元600可以包括:关系表登记子单元、服务元信息获得子单元以及注册子单元。
关系表登记子单元,用于对第二映射关系表进行登记,并将与命令事件对应的服务映射状态设置为已完成;
服务元信息获得子单元,用于当监听到命令事件对应的服务映射状态为已完成时,对已登记的第二映射关系表进行扫描,获得第二映射关系表中的服务元信息;
注册子单元,用于将服务元信息传输至注册中心,由注册中心根据服务元信息,对与命令事件匹配的微服务进行注册。
可选的,本发明实施例提供的另一种基于命令事件转换的微服务注册装置,还可以包括:代理服务构建单元和第一注解添加单元。
代理服务构建单元,用于构建用于调用命令事件的代理服务;
第一注解添加单元,用于为代理服务添加与服务元信息对应的服务描述注解。
可选的,本发明实施例提供的另一种基于命令事件转换的微服务注册装置,还可以包括:命令事件确定单元和第二注解添加单元。
命令事件确定单元,用于确定领域事件中用于域外访问的命令事件;
第二注解添加单元,用于对命令事件添加事件描述注解和事件入口描述注解,其中,事件描述注解与命令事件的事件元信息对应,事件入口描述注解与命令事件的事件入口相对应。
本发明提供的一种基于命令事件转换的微服务注册装置,可以对用于域外访问的命令事件携带的事件描述注解和事件入口描述注解进行解析,获得事件元信息和事件入口并依此构建第一映射关系表,再根据预设的事件-服务映射表,确定与事件元信息对应的服务元信息以及与事件入口对应的服务入口,并根据服务员信息与服务入口构建第二映射关系表,从而对命令事件匹配的微服务进行注册。本发明实施例通过事件元信息与服务元信息和事件入口与服务入口之间的对应关系,将命令事件与服务入口进行对应封装完成微服务注册,无需额外设计业务服务层,减少了后续对微服务进行维护和更新所耗用的计算机资源,并提高了对微服务进行维护和更新的效率。
与上述一种基于命令事件转换的微服务调用方法实施例相对应的,本发明实施例还提供了一种基于命令事件转换的微服务调用装置,其结构如图5所示,可以包括:调用请求获得单元10、服务元信息确定单元20、服务入口确定单元30、事件入口确定单元40、命令事件确定单元50和命令事件调用单元60。
调用请求获得单元10,用于获得用户对微服务的调用请求。
服务元信息确定单元20,用于根据调用请求,确定与微服务对应的服务元信息。
服务入口确定单元30,用于根据预先构建的第二映射关系表,确定与服务元信息对应的服务入口,其中,第二映射关系表保存有服务元信息与服务入口之间的映射关系。
事件入口确定单元40,用于根据预设的事件-服务映射表,确定与服务元信息对应的事件元信息,确定与服务入口对应的事件入口。
命令事件确定单元50,用于根据事件元信息和事件入口,在预先构建的第一映射关系表中确定与微服务匹配的命令事件,其中,第一映射关系表保存有事件元信息与事件入口之间的映射关系。
命令事件调用单元60,用于调用命令事件,向用户提供微服务。
可选的,命令事件调用单元60可以包括:代理服务确定子单元和命令事件调动子单元。
代理服务确定子单元,用于根据服务元信息,确定携带有与服务元信息对应的服务描述注解的代理服务;
命令事件调动子单元,用于通过代理服务调用命令事件。
本发明实施例提供的一种基于命令事件转换的微服务调用装置,可以获得用户对微服务的调用请求;根据调用请求,确定与微服务对应的服务元信息;根据预先构建的第二映射关系表,确定与服务元信息对应的服务入口,其中,第二映射关系表保存有服务元信息与服务入口之间的映射关系;根据预设的事件-服务映射表,确定与服务元信息对应的事件元信息,确定与服务入口对应的事件入口;根据事件元信息和事件入口,在预先构建的第一映射关系表中确定与微服务匹配的命令事件,其中,第一映射关系表保存有事件元信息与事件入口之间的映射关系;调用命令事件,向用户提供微服务。本发明实施例通过事件元信息与服务元信息和事件入口与服务入口之间的对应关系,可以对微服务对应的命令事件进行调用,为用户提供微服务。
所述基于命令事件转换的微服务注册装置包括处理器和存储器,上述命令事件获得单元100、注解解析单元200、第一映射关系表构建单元300、关系对应单元400、第二映射关系表构建单元500和微服务注册单元600等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来通过事件元信息与服务元信息和事件入口与服务入口之间的对应关系,将命令事件与服务入口进行对应封装完成微服务注册,无需额外设计业务服务层,减少了后续对微服务进行维护和更新所耗用的计算机资源,并提高了对微服务进行维护和更新的效率。
所述基于命令事件转换的微服务调用装置包括处理器和存储器,上述调用请求获得单元10、服务元信息确定单元20、服务入口确定单元30、事件入口确定单元40、命令事件确定单元50和命令事件调用单元60等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来通过事件元信息与服务元信息和事件入口与服务入口之间的对应关系,可以对微服务对应的命令事件进行调用,为用户提供微服务。
本发明实施例提供的一种存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的基于命令事件转换的微服务注册方法。
本发明实施例提供的一种存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的基于命令事件转换的微服务调用方法。
本发明实施例提供的一种电子设备,所述电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述任一项所述的基于命令事件转换的微服务注册方法。
本发明实施例提供的一种电子设备,所述电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述任一项所述的基于命令事件转换的微服务调用方法。
本文中的电子设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在电子设备上执行时,适于执行初始化有上述任一项所述的基于命令事件转换的微服务注册方法步骤的程序。
本申请还提供了一种计算机程序产品,当在电子设备上执行时,适于执行初始化有上述任一项所述的基于命令事件转换的微服务调用方法步骤的程序。
本申请是参照根据本申请实施例的方法、装置、电子设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,电子设备包括一个或多个处理器(CPU)、存储器和总线。电子设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种基于命令事件转换的微服务注册方法,其特征在于,包括:
获得用于域外访问的命令事件,其中,所述命令事件携带有事件描述注解和事件入口描述注解;
对所述事件描述注解进行解析,获得与所述事件描述注解对应的事件元信息;对所述事件入口描述注解进行解析,获得与所述事件入口描述注解对应的事件入口;
根据所述事件元信息与所述事件入口构建第一映射关系表,其中,所述第一映射关系表保存有所述事件元信息与所述事件入口之间的映射关系;
根据预设的事件-服务映射表,确定所述第一映射关系表中:与所述事件元信息对应的服务元信息和与所述事件入口对应的服务入口;
根据所述服务元信息与所述服务入口,构建第二映射关系表,其中,所述第二映射关系表保存有所述服务元信息与所述服务入口之间的映射关系;
根据所述第二映射关系表,对与所述命令事件匹配的微服务进行注册。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第二映射关系表,对与所述命令事件匹配的微服务进行注册,包括:
对所述第二映射关系表进行登记,并将与所述命令事件对应的服务映射状态设置为已完成;
当监听到所述命令事件对应的服务映射状态为已完成时,对已登记的所述第二映射关系表进行扫描,获得所述第二映射关系表中的所述服务元信息;
将所述服务元信息传输至注册中心,由所述注册中心根据所述服务元信息,对与所述命令事件匹配的微服务进行注册。
3.根据权利要求1所述的方法,其特征在于,还包括:
构建用于调用所述命令事件的代理服务;
为所述代理服务添加与所述服务元信息对应的服务描述注解。
4.根据权利要求1所述的方法,其特征在于,在所述获得用于域外访问的命令事件之前,所述方法还包括:
确定领域事件中用于域外访问的所述命令事件;
对所述命令事件添加所述事件描述注解和所述事件入口描述注解,其中,所述事件描述注解与所述命令事件的所述事件元信息对应,所述事件入口描述注解与所述命令事件的所述事件入口相对应。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述事件元信息包括:事件分类、事件名称、版本标识和事件描述定义包路径。
6.根据权利要求5所述的方法,其特征在于,所述服务元信息包括:服务组、服务名称、服务版本和服务路径,其中,所述服务组与所述事件分类对应,所述服务名称与所述事件名称对应,所述服务版本与所述版本标识对应,所述服务路径与所述事件描述定义包路径对应。
7.一种基于命令事件转换的微服务调用方法,其特征在于,包括:
获得用户对微服务的调用请求;
根据所述调用请求,确定与所述微服务对应的服务元信息;
根据预先构建的第二映射关系表,确定与所述服务元信息对应的服务入口,其中,所述第二映射关系表保存有所述服务元信息与所述服务入口之间的映射关系;
根据预设的事件-服务映射表,确定与所述服务元信息对应的事件元信息,确定与所述服务入口对应的事件入口;
根据所述事件元信息和所述事件入口,在预先构建的第一映射关系表中确定与所述微服务匹配的命令事件,其中,所述第一映射关系表保存有所述事件元信息与所述事件入口之间的映射关系;
调用所述命令事件,向所述用户提供所述微服务。
8.根据权利要求7所述的方法,其特征在于,所述调用所述命令事件,包括:
根据所述服务元信息,确定携带有与所述服务元信息对应的服务描述注解的代理服务;
通过所述代理服务调用所述命令事件。
9.一种基于命令事件转换的微服务注册装置,其特征在于,包括:命令事件获得单元、注解解析单元、第一映射关系表构建单元、关系对应单元、第二映射关系表构建单元和微服务注册单元,
所述命令事件获得单元,用于获得用于域外访问的命令事件,其中,所述命令事件携带有事件描述注解和事件入口描述注解;
所述注解解析单元,用于对所述事件描述注解进行解析,获得与所述事件描述注解对应的事件元信息;对所述事件入口描述注解进行解析,获得与所述事件入口描述注解对应的事件入口;
所述第一映射关系表构建单元,用于根据所述事件元信息与所述事件入口构建第一映射关系表,其中,所述第一映射关系表保存有所述事件元信息与所述事件入口之间的映射关系;
所述关系对应单元,用于根据预设的事件-服务映射表,确定所述第一映射关系表中:与所述事件元信息对应的服务元信息和与所述事件入口对应的服务入口;
所述第二映射关系表构建单元,用于根据所述服务元信息与所述服务入口,构建第二映射关系表,其中,所述第二映射关系表保存有所述服务元信息与所述服务入口之间的映射关系;
所述微服务注册单元,用于根据所述第二映射关系表,对与所述命令事件匹配的微服务进行注册。
10.一种基于命令事件转换的微服务调用装置,其特征在于,包括:调用请求获得单元、服务元信息确定单元、服务入口确定单元、事件入口确定单元、命令事件确定单元和命令事件调用单元,
所述调用请求获得单元,用于获得用户对微服务的调用请求;
所述服务元信息确定单元,用于根据所述调用请求,确定与所述微服务对应的服务元信息;
所述服务入口确定单元,用于根据预先构建的第二映射关系表,确定与所述服务元信息对应的服务入口,其中,所述第二映射关系表保存有所述服务元信息与所述服务入口之间的映射关系;
所述事件入口确定单元,用于根据预设的事件-服务映射表,确定与所述服务元信息对应的事件元信息,确定与所述服务入口对应的事件入口;
所述命令事件确定单元,用于根据所述事件元信息和所述事件入口,在预先构建的第一映射关系表中确定与所述微服务匹配的命令事件,其中,所述第一映射关系表保存有所述事件元信息与所述事件入口之间的映射关系;
所述命令事件调用单元,用于调用所述命令事件,向所述用户提供所述微服务。
11.一种存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现如权利要求1至6中任一项所述的基于命令事件转换的微服务注册方法,和/或,如权利要求7至8中任一项所述的基于命令事件转换的微服务调用方法。
12.一种电子设备,所述电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1至6中任一项所述的基于命令事件转换的微服务注册方法,和/或,如权利要求7至8中任一项所述的基于命令事件转换的微服务调用方法。
CN202011580290.3A 2020-12-28 2020-12-28 基于命令事件转换的微服务注册、调用方法及相关装置 Active CN112596929B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011580290.3A CN112596929B (zh) 2020-12-28 2020-12-28 基于命令事件转换的微服务注册、调用方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011580290.3A CN112596929B (zh) 2020-12-28 2020-12-28 基于命令事件转换的微服务注册、调用方法及相关装置

Publications (2)

Publication Number Publication Date
CN112596929A true CN112596929A (zh) 2021-04-02
CN112596929B CN112596929B (zh) 2022-02-11

Family

ID=75202724

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011580290.3A Active CN112596929B (zh) 2020-12-28 2020-12-28 基于命令事件转换的微服务注册、调用方法及相关装置

Country Status (1)

Country Link
CN (1) CN112596929B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080133515A1 (en) * 2006-12-01 2008-06-05 Industrial Technology Research Institute Method and system for executing correlative services
US20110131316A1 (en) * 2009-11-30 2011-06-02 James Michael Ferris Methods and systems for detecting events in cloud computing environments and performing actions upon occurrence of the events
CN106603465A (zh) * 2015-10-14 2017-04-26 阿里巴巴集团控股有限公司 服务账号关联方法、装置、系统及终端设备
CN106603601A (zh) * 2015-10-15 2017-04-26 阿里巴巴集团控股有限公司 服务处理方法、装置、系统及终端设备
CN109271143A (zh) * 2018-08-20 2019-01-25 中国平安人寿保险股份有限公司 基于云服务的微服务架构
CN110162405A (zh) * 2019-05-31 2019-08-23 福建南威软件有限公司 一种自动服务发现与负载均衡的方法及系统
CN110489520A (zh) * 2019-07-08 2019-11-22 平安科技(深圳)有限公司 基于知识图谱的事件处理方法、装置、设备和存储介质
CN111008008A (zh) * 2019-11-27 2020-04-14 广州润普网络科技有限公司 一种基于微服务架构的应用开发方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080133515A1 (en) * 2006-12-01 2008-06-05 Industrial Technology Research Institute Method and system for executing correlative services
US20110131316A1 (en) * 2009-11-30 2011-06-02 James Michael Ferris Methods and systems for detecting events in cloud computing environments and performing actions upon occurrence of the events
CN106603465A (zh) * 2015-10-14 2017-04-26 阿里巴巴集团控股有限公司 服务账号关联方法、装置、系统及终端设备
CN106603601A (zh) * 2015-10-15 2017-04-26 阿里巴巴集团控股有限公司 服务处理方法、装置、系统及终端设备
CN109271143A (zh) * 2018-08-20 2019-01-25 中国平安人寿保险股份有限公司 基于云服务的微服务架构
CN110162405A (zh) * 2019-05-31 2019-08-23 福建南威软件有限公司 一种自动服务发现与负载均衡的方法及系统
CN110489520A (zh) * 2019-07-08 2019-11-22 平安科技(深圳)有限公司 基于知识图谱的事件处理方法、装置、设备和存储介质
CN111008008A (zh) * 2019-11-27 2020-04-14 广州润普网络科技有限公司 一种基于微服务架构的应用开发方法及系统

Also Published As

Publication number Publication date
CN112596929B (zh) 2022-02-11

Similar Documents

Publication Publication Date Title
US11210070B2 (en) System and a method for automating application development and deployment
CN109002362B (zh) 一种服务方法、装置、系统以及电子设备
CN108156022B (zh) 一种服务调用方法、装置及电子设备
US9235380B2 (en) Software modeling framework
WO2022007638A1 (zh) 一种数据处理方法、装置、设备及系统
US11537367B1 (en) Source code conversion from application program interface to policy document
CN110737425B (zh) 一种计费平台系统的应用程序的建立方法及装置
CN112930530B (zh) 用于网络应用程序执行的客户端应用程序
CN113722114A (zh) 一种数据服务的处理方法、装置、计算设备及存储介质
CN114610598A (zh) 测试方法、装置、电子设备及计算机可读存储介质
CN112596929B (zh) 基于命令事件转换的微服务注册、调用方法及相关装置
CN114675982A (zh) 一种业务集成系统的数据获取通用方法及系统
CN112491943A (zh) 数据请求方法、装置、存储介质和电子设备
CN113515271B (zh) 服务代码生成方法、装置、电子设备及可读存储介质
CN111652580B (zh) 一种对节点的数据处理方法及装置
CN106548331B (zh) 一种确定发布顺序的方法及装置
CN113807969A (zh) 一种业务系统并行验证方法及相关设备
CN103257911A (zh) 一种基于soa架构的模型检验工具集成方法
CN110955430A (zh) 应用程序原生能力的调用方法、装置及电子设备
CN112506781A (zh) 测试监控方法、装置、电子设备、存储介质及程序产品
CN111314493A (zh) 异构云存储系统的数据处理方法及其可读介质和系统
US7779430B2 (en) Method, system, and article of manufacture for providing service components
KR20200123624A (ko) 클라우드 기반 어플리케이션 개발 플랫폼
CN117056317B (zh) 数据处理方法、装置、设备及计算机可读存储介质
CN111143327B (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