首页 / 专利库 / 电信 / 节点 / 子节点 / 一种软件编辑微服务的可视化方法及系统

一种软件编辑微服务的可视化方法及系统

阅读:795发布:2020-05-08

专利汇可以提供一种软件编辑微服务的可视化方法及系统专利检索,专利查询,专利分析的服务。并且一种 软件 编辑微服务的 可视化 方法及系统,其通过获取软件编辑微服务的子任务的基本数据,以生成与子任务一一对应的 节点 的基本数据,包括名称、版本、类型、 接口 信息;获取软件编辑微服务的架构数据,包括编辑项目的名称、架构方案的文本信息、图片、 用户故事 、软件需求来源和技术选型逻辑;依据架构数据和节点的基本数据建立可视化架构节点,并确定节点关联信息;将软件编辑微服务的所有节点信息从 数据库 中导出,以形成软件编辑微服务的可视化视图,通过将微服务以可视化的方式进行组合,极大的方便了项目开发在启动阶段了解各功能模 块 在可复用和非可复用的情况下提供的接口细节,便于项目验收时对接口和架构图进行核对检查。,下面是一种软件编辑微服务的可视化方法及系统专利的具体信息内容。

1.一种软件编辑微服务的可视化方法,其特征在于,该方法包括如下步骤:
S1.获取软件编辑微服务的子任务的基本数据,以生成与子任务一一对应的节点的基本数据,所述节点的基本数据包括名称、版本、类型、接口信息;获取所述软件编辑微服务的架构数据,所述架构数据包括编辑项目的名称、架构方案的文本信息、图片、用户故事、软件需求来源和技术选型逻辑;
S2.依据所述架构数据和节点的基本数据建立可视化架构节点,并确定节点关联信息;
将所述可视化架构节点及节点关联信息保存到数据库持久层,选择关系型数据库或非关系型数据库进行存储;
S3.将所述软件编辑微服务的所有节点信息从数据库中导出,以形成所述软件编辑微服务的可视化视图,依据所述可视化视图对所述软件编辑微服务进行性能评估和优化。
2.根据权利要求1所述的一种软件编辑微服务架构的可视化方法,其特征在于,所述获取所述软件编辑微服务的架构数据的方式包括:自定义、文件导入、http接口访问、Webservice接口访问、OAuth2鉴权的接口访问和消息中间件传递。
3.根据权利要求1或2所述的一种软件编辑微服务架构的可视化方法,其特征在于,所述可视化架构节点的类型包括微服务、前端、数据库和其他中间件。
4.根据权利要求1或2所述的一种软件编辑微服务架构的可视化方法,其特征在于,所述节点关联信息包括调用链依赖和业务依赖。
5.根据权利要求1或2所述的一种软件编辑微服务架构的可视化方法,其特征在于,通过G6软件搭建可视化操作编辑界面,以实现可视化节点管理操作。
6.根据权利要求1或2所述的一种软件编辑微服务架构的可视化方法,其特征在于,通过Scope负责编辑完成后的展示界面,以实现可视化节点信息查看。
7.根据权利要求1或2所述的一种软件编辑微服务架构的可视化方法,其特征在于,所述方法的应用场景包括项目管理、需求管理、缺陷管理和代码生成。
8.一种软件编辑微服务的可视化系统,该系统包括节点数据生成模、可视化节点生成模块和可视化视图导出模块,其特征在于,
所述节点数据生成模块用于获取软件编辑微服务的子任务的基本数据,以生成与子任务一一对应的节点的基本数据,所述节点的基本数据包括名称、版本、类型、接口信息;其还用于获取所述软件编辑微服务的架构数据,所述架构数据包括编辑项目的名称、架构方案的文本信息、图片、用户故事、软件需求来源和技术选型逻辑;
所述可视化节点生成模块用于依据所述架构数据和节点的基本数据建立可视化架构节点,并确定节点关联信息;其还用于将所述可视化架构节点及节点关联信息保存到数据库持久层,选择关系型数据库或非关系型数据库进行存储;
所述可视化视图导出模块用于将所述软件编辑微服务的所有节点信息从数据库中导出,以形成所述软件编辑微服务的可视化视图,依据所述可视化视图对所述软件编辑微服务进行性能评估和优化,以实现权利要求1-7任一项所述方法的步骤。
9.一种终端设备,其特征在于,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行权利要求1~7任一权利要求所述方法的步骤。
10.一种计算机可读介质,其特征在于,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行权利要求1~7任一权利要求所述方法的步骤。

说明书全文

一种软件编辑微服务的可视化方法及系统

技术领域

[0001] 本发明属于微服务架构领域,具体涉及一种软件编辑微服务的可视化方法及系统。

背景技术

[0002] 微服务架构是一项在中部署应用和服务的新技术。微服务可以在“自己的程序”中运行,并通过“轻量级设备与HTTP型API进行沟通”,该服务可以在自己的程序中运行,应将服务公开与微服务架构(在现有系统中分布一个API)区分开来。在服务公开中,许多服务都可以被内部独立进程所限制。如果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围。而在微服务架构中,只需要在特定的某种服务中增加所需功能,而不影响整体进程的架构。
[0003] 目前,DevOps落地业内方案主要靠两个技术的推进:docker和微服务。Docker技术用于解决应用虚拟化,可以最大化的利用服务器的资源,而微服务的业务拆分能使其成为docker上最适合DevOps的载体。当团队以DevOps进行组织开发的情况下,架构师在项目启动阶段进行架构设计时需要处理一个问题:没有合适的架构工具。
[0004] 传统的单体应用架构,通常不需要在业务拆分时体现其隔离的特点,因此传统的UML工具、或一些简单的绘图工具就可以完成相关的架构绘制。一些开源工具将运行时微服务数据进行抓取(www.weave.works),形成了项目在运行时的架构图;然而这也没有解决在项目启动阶段,架构师如何进行微服务的架构设计问题。

发明内容

[0005] 针对现有技术的以上缺陷或改进需求,本发明提供了一种软件编辑微服务的可视化方法及系统,其通过获取软件编辑微服务的子任务的基本数据以生成节点的基本数据,获取软件编辑微服务的架构数据,依据架构数据和节点的基本数据建立可视化架构节点,并确定节点关联信息,以形成软件编辑微服务的可视化视图,通过将微服务以可视化的方式进行组合,极大的方便了项目开发在启动阶段了解各功能模在可复用和非可复用的情况下提供的接口细节,便于项目验收时对接口和架构图进行核对检查。
[0006] 为实现上述目的,按照本发明的一个方面,提供了一种软件编辑微服务的可视化方法,该方法包括如下步骤:
[0007] S1.获取软件编辑微服务的子任务的基本数据,以生成与子任务一一对应的节点的基本数据,节点的基本数据包括名称、版本、类型、接口信息;获取软件编辑微服务的架构数据,架构数据包括编辑项目的名称、架构方案的文本信息、图片、用户故事、软件需求来源和技术选型逻辑;
[0008] S2.依据架构数据和节点的基本数据建立可视化架构节点,并确定节点关联信息;将可视化架构节点及节点关联信息保存到数据库持久层,选择关系型数据库或非关系型数据库进行存储;
[0009] S3.将软件编辑微服务的所有节点信息从数据库中导出,以形成软件编辑微服务的可视化视图,依据可视化视图对软件编辑微服务进行性能评估和优化。
[0010] 作为本发明的进一步改进,获取所述软件编辑微服务的架构数据的方式包括:自定义、文件导入、http接口访问、Webservice接口访问、OAuth2鉴权的接口访问和消息中间件传递。
[0011] 作为本发明的进一步改进,可视化架构节点的类型包括微服务、前端、数据库和其他中间件。
[0012] 作为本发明的进一步改进,节点关联信息包括调用链依赖和业务依赖。
[0013] 作为本发明的进一步改进,通过G6软件搭建可视化操作编辑界面,以实现可视化节点管理操作。
[0014] 作为本发明的进一步改进,通过Scope负责编辑完成后的展示界面,以实现可视化节点信息查看。
[0015] 为实现上述目的,按照本发明的另一个方面,提供了一种软件编辑微服务的可视化系统,该系统包括节点数据生成模块、可视化节点生成模块和可视化视图导出模块,[0016] 节点数据生成模块用于获取软件编辑微服务的子任务的基本数据,以生成与子任务一一对应的节点的基本数据,节点的基本数据包括名称、版本、类型、接口信息;其还用于获取软件编辑微服务的架构数据,架构数据包括编辑项目的名称、架构方案的文本信息、图片、用户故事、软件需求来源和技术选型逻辑;
[0017] 可视化节点生成模块用于依据架构数据和节点的基本数据建立可视化架构节点,并确定节点关联信息;其还用于将可视化架构节点及节点关联信息保存到数据库持久层,选择关系型数据库或非关系型数据库进行存储;
[0018] 可视化视图导出模块用于将软件编辑微服务的所有节点信息从数据库中导出,以形成软件编辑微服务的可视化视图,依据可视化视图对所述软件编辑微服务进行性能评估和优化,以实现上述方法的步骤。
[0019] 为实现上述目的,按照本发明的另一个方面,提供了一种终端设备,包括至少一个处理单元、以及至少一个存储单元,其中,存储单元存储有计算机程序,当程序被处理单元执行时,使得处理单元执行上述方法的步骤。
[0020] 为实现上述目的,按照本发明的另一个方面,提供了一种计算机可读介质,其特征在于,其存储有可由终端设备执行的计算机程序,当程序在终端设备上运行时,使得终端设备执行上述方法的步骤。
[0021] 总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
[0022] 本发明的一种软件编辑微服务的可视化方法及系统,其通过获取软件编辑微服务的子任务的基本数据以生成节点的基本数据,获取软件编辑微服务的架构数据,依据架构数据和节点的基本数据建立可视化架构节点,并确定节点关联信息,以形成软件编辑微服务的可视化视图,通过将微服务以可视化的方式进行组合,在项目架构阶段通过可视化的方式完成架构,极大的方便了项目开发在启动阶段了解各功能模块在可复用和非可复用的情况下提供的接口细节,便于项目验收时对接口和架构图进行核对检查。
[0023] 本发明的一种软件编辑微服务的可视化方法及系统,由于可视化节点内涵盖针对微服务定制的信息,可通过节点的信息初步判断是否符合业务需求;由于可视化架构保存的了各节点的结构化数据,因此在架构结束后,项目开发阶段,可利用这些结构化的数据优化开发流程,如向PAAS平台发起立项请求,拉取及启动已经完成的相关微服务镜像及中间件镜像,架构结束后,新开发的微服务节点可向代码生成工具发起请求,由代码生成工具生成基础代码,从而提高了微服务开发过程的规范性、完整性、严密性和可追溯性,可适应微服务开发的发展需要,可持续的对开发过程进行相应的管控。附图说明
[0024] 图1是本发明实施例的一种软件编辑微服务的可视化方法的示意图。

具体实施方式

[0025] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0026] 此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面结合具体实施方式对本发明进一步详细说明。
[0027] 图1是本发明实施例的一种软件编辑微服务的可视化方法的示意图。如图1所示,一种软件编辑微服务架构的可视化方法,其包括如下步骤:
[0028] S1.获取软件编辑微服务架构的子任务的基本数据,以生成与子任务一一对应的节点的基本数据,该节点的基本数据包括名称、版本、类型、接口信息;获取软件编辑项目的架构数据,该架构数据包括编辑项目的名称、架构方案的文本信息、图片、用户故事、软件需求来源和技术选型逻辑;
[0029] 作为一个优选的实施例,软件编辑微服务架构的节点用于表示软件编辑的子任务,获取节点的基本数据包括自定义和从其他系统获取,作为一个示例,从其他系统获取节点的基本数据的方式包括:文件导入、数据库导入、http接口访问、Webservice接口访问、OAuth2鉴权的接口访问、消息中间件传递。以采用OAuth2鉴权的接口访问为示例,其由可视化架构系统经OAuth2鉴权的http请求向其他系统获取数据,当然,也存在其他获取方式,只要可视化架构系统可以识别到该节点数据即可。作为一个示例,架构师可在新项目架构时,拉取其他项目完成的具备完整功能的微服务镜像节点,作为新项目中的一个功能模块,如采用其他项目中完成的微服务镜像节点menu、i18n、gateway、security和attachment,warehouse为本项目新开发的微服务。
[0030] 作为一个示例,可视化架构节点的类型包括微服务、前端、数据库和其他中间件,接口信息为微服务的接口信息,该接口信息可以为微服务标准的RESTful接口,该接口为swagger规范或OpenAPI规范,Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful格的Web服务,总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步,Swagger可以使得软件编辑的部署管理和使用功能强大的API变得非常简单。
[0031] Swagger采用OpenAPI规范,OpenAPI规范这类API定义语言能够帮助更简单、快速的表述API,尤其是在API的设计阶段作用特别突出。一旦编写完成,API文档可以作为:需求和系统特性描述的根据;前后台查询、讨论、自测的基础;部分或者全部代码自动生成的根据;其他重要的作用,比如开放平台开发者的手册。
[0032] S2.依据该架构数据和节点的基本数据建立可视化架构节点,并确定节点关联信息;将上述可视化架构节点及节点关联信息保存到数据库持久层,选择关系型数据库或非关系型数据库进行存储;
[0033] 具体为,节点关联关系可根据项目的需要来建立,依赖关系有助于架构师及开发人员理解项目架构,其中,可用参考的规则有:依据调用链依赖或业务依赖,如i18n需要访问security接口时进行关联。可通过G6软件搭建可视化操作编辑界面,拖拽节点,以实现节点管理操作,G6软件为阿里开发的一套前端开源组件;可通过WeaveScope负责编辑完成后的展示界面,WeaveScope是一套开源的docker监控软件,点击节点查看节点相关信息,通过可视化的方式,将节点拖拽到操作区域,添加补充节点信息,将有依赖关系的节点进行关联设置。
[0034] S3.将该微服务的所有节点信息从数据库中导出,以形成该微服务的可视化视图,依据该微服务的可视化视图对该微服务进行性能评估和优化。
[0035] 导出后的材料为项目架构方案,其中包含可视化架构的图片展示,可以让开发者理解整个项目中有多少个微服务,每个微服务的设计目标,多少个中间件,每个中间件的大体作用,开发者可以根据这些材料和项目需求制定更为详细的分解计划。
[0036] 作为一个示例,可视化视图的导出方式包括导出方案文件、导出接口信息文件和导出到其他系统。其中,导出方案文件的格式包括word、pdf和图片,作为一个示例,可将编辑架构信息中保存的数据转换成图片,将架构图转换成图片,将上述图片按照顺序合并,以PDF文件格式输出;导出接口信息文件的常用文档格式包括word、pdf和html,一些开源的工具支持将OpenAPI接口数据导出到word,pdf,html。上述方法的应用场景包括项目管理、需求管理、缺陷管理和代码生成,项目管理通过自动立项并生成每个新建微服务的工单,需求管理通过汇总需求并导出到文件,缺陷管理通过自动立项实现,代码生成根据新建的微服务关键信息如服务名称,在代码生成工具中立项,并生成基础代码。
[0037] 一种软件编辑微服务的可视化系统,该系统包括节点数据生成模块、可视化节点生成模块和可视化视图导出模块,
[0038] 节点数据生成模块用于获取软件编辑微服务的子任务的基本数据,以生成与子任务一一对应的节点的基本数据,节点的基本数据包括名称、版本、类型、接口信息;其还用于获取软件编辑微服务的架构数据,架构数据包括编辑项目的名称、架构方案的文本信息、图片、用户故事、软件需求来源和技术选型逻辑;
[0039] 作为一个优选的实施例,软件编辑微服务架构的节点用于表示软件编辑的子任务,获取节点的基本数据包括自定义和从其他系统获取,作为一个示例,从其他系统获取节点的基本数据的方式包括:文件导入、数据库导入、http接口访问、Webservice接口访问、OAuth2鉴权的接口访问、消息中间件传递。以采用OAuth2鉴权的接口访问为示例,其由可视化架构系统经OAuth2鉴权的http请求向其他系统获取数据,当然,也存在其他获取方式,只要可视化架构系统可以识别到该节点数据即可。
[0040] 作为一个示例,可视化架构节点的类型包括微服务、前端服务、数据库和其他中间件,接口信息为微服务的接口信息,该接口信息可以为微服务标准的RESTful接口,该接口为swagger规范或OpenAPI规范,Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步,Swagger可以使得软件编辑的部署管理和使用功能强大的API变得非常简单。
[0041] Swagger采用OpenAPI规范,OpenAPI规范这类API定义语言能够帮助更简单、快速的表述API,尤其是在API的设计阶段作用特别突出。一旦编写完成,API文档可以作为:需求和系统特性描述的根据;前后台查询、讨论、自测的基础;部分或者全部代码自动生成的根据;其他重要的作用,比如开放平台开发者的手册。
[0042] 可视化节点生成模块用于依据架构数据和节点的基本数据建立可视化架构节点,并确定节点关联信息;其还用于将可视化架构节点及节点关联信息保存到数据库持久层,选择关系型数据库或非关系型数据库进行存储;
[0043] 具体为,节点关联关系可根据项目的需要来建立,依赖关系有助于架构师及开发人员理解项目架构,其中,可用参考的规则有:依据调用链依赖或业务依赖,如i18n需要访问security接口时进行关联。可通过G6软件搭建可视化操作编辑界面,拖拽节点,以实现节点管理操作,G6软件为阿里开发的一套前端开源组件;可通过WeaveScope负责编辑完成后的展示界面,WeaveScope是一套开源的docker监控软件,点击节点查看节点相关信息,通过可视化的方式,将节点拖拽到操作区域,添加补充节点信息,将有依赖关系的节点进行关联设置。
[0044] 可视化视图导出模块用于将软件编辑微服务的所有节点信息从数据库中导出,以形成软件编辑微服务的可视化视图,依据可视化视图对所述软件编辑微服务进行性能评估和优化,以实现上述方法的步骤。
[0045] 导出后的材料为项目架构方案,其中包含可视化架构的图片展示,可以让开发者理解整个项目中有多少个微服务,每个微服务的设计目标,多少个中间件,每个中间件的大体作用,开发者可以根据这些材料和项目需求制定更为详细的分解计划。
[0046] 一种终端设备,包括至少一个处理单元、以及至少一个存储单元,其中,存储单元存储有计算机程序,当程序被处理单元执行时,使得处理单元执行上述方法的步骤。
[0047] 一种计算机可读介质,其特征在于,其存储有可由终端设备执行的计算机程序,当程序在终端设备上运行时,使得终端设备执行上述方法的步骤。
[0048] 本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈