一种软件的微服务化开发方法、系统及风暴企业监测软件与流程

文档序号:34652481发布日期:2023-06-29 21:04阅读:37来源:国知局
一种软件的微服务化开发方法、系统及风暴企业监测软件与流程

本申请属于应用程序开发,具体的涉及一种软件的微服务化开发方法、系统及风暴企业监测软件。


背景技术:

1、随着微服务技术的普及,目前业内的软件系统开发过程中,大部分企业都是基于微服务进行系统开发和拆分。然而,微服务拆分的过程复杂,例如,需要进行专业的领域划分,需要多个领域的专家构建uml(unified modeling language)图;多团队协同困难,影响产品快速迭代等。

2、现有微服务拆分大部分都是从单体服务拆分为多体服务,且大多是靠经验拆分,无规律可循,如果拆分过细,会导致微服务应用过多从而业务复杂度和流程度增加;如果拆分过粗,会导致微服务应用效果不佳,业务融合度高、不容易扩展。

3、现有技术中,一些软件开发过程设计理论已被提出,例如在业内已有一定的认知度领域驱动设计(domain-driven design,ddd)理论,然而这些理论仅仅是方法论,无法为实际开发过程提供有效的帮助。公告号为cn109947422b的中国专利文件公开了一种基于领域驱动设计的业务实体实现方法及系统,其包括步骤:s1、通过业务实体建模工具建立业务实体模型、建立业务实体运行框架;s3、在业务实体运行框架中建立缓存框架;s4、在业务实体运行框架中建立增量机制;s5、将业务逻辑拆分为实体逻辑层和服务逻辑层;s6、建立业务实体设计器;s7、建立jit生成器。公布号为cn112860222a的中国专利文件公开了一种基于微服务的领域驱动软件设计方法,包括步骤一:需求调研:需求整理过程中,结合业务需求梳理业务模型;步骤二:划分领域:根据业务模型对业务领域做梳理与划分,区分出各个业务领域,并对逐个业务领域的业务模型做详细设计图;步骤三:业务建模:根据详细设计图来创建领域层的领域模型,即将业务模型转换成业务代码,同时在基础层存储领域模型数据对象;步骤四:模型测试:通过单元测试验证领域模型功能;步骤五:系统开发:完成界面设计,根据界面要求实现接口层与应用层开发,并根据业务情况,设置具备功能拓展的拓展层。

4、但前述公开文件均未能提出实际可以落地的架构设计方案,不适用于本领域内普通开发人员应用。


技术实现思路

1、针对上述问题,本申请第一方面提出一种软件的微服务化开发方法,具体包括:构建领域层:将待开发软件的业务范围划分为多个业务领域,识别核心业务领域,在每个业务领域内构建微服务功能模块;其中,在核心业务领域内构建领域模型,用于待开发软件的核心业务处理;

2、构建第一基础设施层;包括统一的api网关;

3、构建第二基础设施层;包括多个封装的数据库和多个封装的通用服务模块,其中,通用服务至少包括搜索服务、计算服务和缓存服务,每个封装的数据库和封装的通用服务模块均提供rpc接口,形成数据库rpc层;

4、构建应用层:包括运营管理界面和用户界面;

5、其中,业务需求通过统一的api网关分发至应用层和/或领域层,第二基础设施层通过数据库rpc层为应用层和领域层提供通用服务。

6、进一步地,核心业务处理的过程包括:将输入参数通过api网关至领域层,领域模型根据所述输入参数生成对应的计算指令并下发至基础设施层,返回计算结果。

7、进一步地,封装领域模型并提供api接口与第二基础设施层交互。

8、进一步地,第二基础设施层中的数据库和通用服务模块通过标准sql语句和标准sql参数进行rpc传输。

9、进一步地,使用apache calcite工具实现所述第二基础设施层中的数据库之间的标准sql语句和标准sql参数的转换适配。

10、进一步地,所述统一的api网关采用spring cloud和nacos服务管理工具实现分发。

11、本发明第二方面提出一种软件的微服务化开发系统,其包括:

12、领域层构建组件,配置用于将待开发软件的业务范围划分为多个业务领域,识别核心业务领域,在每个业务领域内构建微服务功能模块;其中,在核心业务领域内构建领域模型,用于待开发软件的核心业务处理;

13、第一基础设施层构建组件,配置用于构建统一的api网关;

14、第二基础设施层构建组件,配置用于构建多个封装的数据库和多个封装的通用服务模块,其中,通用服务至少包括搜索服务、计算服务和缓存服务;

15、应用层构建组件,配置用于构建运营管理界面和用户界面;

16、其中,业务需求通过统一的api网关分发至应用层和/或领域层,第二基础设施层为应用层和领域层提供通用服务。

17、本发明第三方面提出一种风暴企业监测软件的微服务化开发方法,其应用第一方面中任一项所述方法开发,其中,核心业务处理过程包括根据企业的运营信息进行风险预警。

18、本发明第四方面一种风暴企业监测软件的微服务化开发系统,其应用第三方面所述的系统,其中,领域模型用于根据企业的运营信息进行风险预警。

19、本发明提供的基于ddd理论的软件微服务化开发方法,在该方法中,研发人员只需要关注业务逻辑、规定领域建设的具体实施方案,实现微服务的高内聚低耦合要求;有效分离需求变更较高的业务,增强系统健壮性,降低系统后期改造风险,降低现有技术中微服务系统分析和设计过程中的复杂度。



技术特征:

1.一种软件的微服务化开发方法,其特征在于,包括:

2.根据权利要求1所述的微服务化开发方法,其特征在于,所述核心业务处理的过程包括:将输入参数通过api网关至领域层,领域模型根据所述输入参数生成对应的计算指令并下发至基础设施层,返回计算结果。

3.根据权利要求1所述的微服务化开发方法,其特征在于,封装所述领域模型并提供api接口与第二基础设施层交互。

4.根据权利要求1所述的微服务化开发方法,其特征在于,所述第二基础设施层中的数据库和通用服务模块通过标准sql语句和标准sql参数进行rpc传输。

5.根据权利要求4所述的微服务化开发方法,其特征在于,使用apache calcite工具实现所述第二基础设施层中的数据库之间的标准sql语句和标准sql参数的转换适配。

6.根据权利要求1所述的微服务化开发方法,其特征在于,所述统一的api网关采用spring cloud和nacos服务管理工具实现分发。

7.一种软件的微服务化开发系统,其特征在于,包括:

8.一种风暴企业监测软件的微服务化开发方法,其特征在于,应用权利要求1-6中任一项所述方法开发,其中,核心业务处理过程包括根据企业的运营信息进行风险预警。

9.根据权利要求8所述的微服务化开发方法,其特征在于,所构建的领域模型包括:设置法律纠纷指标和对应权重,根据企业涉及的法律纠纷计算其风险指数。

10.一种风暴企业监测软件的微服务化开发系统,其特征在于,应用权利要求7所述的系统,其中,领域模型用于根据企业的运营信息进行风险预警。


技术总结
本申请提出一种软件的微服务化开发方法和系统,方法包括:构建领域层:将待开发软件的业务范围划分为多个业务领域,识别核心业务领域,在核心业务领域内构建领域模型,用于待开发软件的核心业务处理;构建第一基础设施层;包括统一的API网关;构建第二基础设施层;包括多个封装的数据库和多个封装的通用服务模块,并提供RPC接口;构建应用层;其中,业务需求通过统一的API网关分发至应用层和/或领域层,第二基础设施层通过RPC层为应用层和领域层提供通用服务。本申请还提出应用上述方法或系统的风暴企业监测软件开发方法和系统。上述方法基于DDD理论,实现有效分离需求变更较高的业务,降低现有技术中微服务系统分析和设计过程中的复杂度。

技术研发人员:刘远祥,林镇荣,王会来,朱振水,王仁斌,高素华
受保护的技术使用者:厦门市美亚柏科信息股份有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1