基于消息驱动的软件架构方法、系统及设备技术方案

技术编号:36190383 阅读:65 留言:0更新日期:2022-12-31 21:04
本发明专利技术提供了一种基于消息驱动的软件架构方法、系统及设备,所述方法包括步骤:确定目标软件系统的各个业务模块,并将每一业务模块分别映射为一控制器;基于源控制器实例生成一消息,并将所述消息发送至消息调度中心;所述消息包括目标控制器类ID信息;所述消息调度中心对所述消息进行解析,获得目标控制器类ID信息,并将所述目标控制器类ID信息发送至控制器中心;所述控制器中心根据所述目标控制器类ID信息,获取匹配的目标控制器实例;所述目标控制器实例接收到自所述消息调度中心转发的所述消息后,触发执行与所述消息对应的处理流程;本发明专利技术利于降低各业务模块之间的耦合性和开发的复杂度,从而利于提高软件系统开发效率。率。率。

【技术实现步骤摘要】
基于消息驱动的软件架构方法、系统及设备


[0001]本专利技术涉及计算机软件
,具体地说,涉及一种基于消息驱动的软件架构方法、系统及设备。

技术介绍

[0002]在云计算和移动互联网的助推下,企业数字化转型加快,软件开发的需求激增。数字化不断改变着现实生活,给生活带来便利的同时,也加快了数据的爆发和软件更替的周期,移动互联网和物联网的发展让软件平台变得更加多元化和碎片化,软件开发商为了支持多元化的系统和平台,不得不投入更多的人力和资源进行多平台开发。
[0003]目前,“低代码(Low

Code)”的概念越来越受到软件开发领域的欢迎。关于“低代码”的定义是:利用很少或几乎不需要写代码就可以快速地开发应用,并可以进行快速配置和部署的一种技术和工具。
[0004]目前国外出现了许多低代码工具,如面向设计师的原型设计工具“Figma”,面向企业办公的表单和流程设计工具“Creator”。国内也涌现了许多优秀的低代码工具,如面向数据工程师的数据分析工具“DataV”。这些工具的主要特点是依托工具提供的基础能力和引擎基座,根据不同的用户群体的能力差异,提供特定场景应用的低代码开发能力。
[0005]但是,现有的低代码工具普遍缺乏简单直观的业务逻辑规划能力:传统开发模式在执行功能模块之间的调用时,需要在调用处实例化被调用模块,然后再调用相关的方法。这将会导致增加了模块之间的耦合性和开发的复杂度。
[0006]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0007]针对现有技术中的问题,本专利技术的目的在于提供一种基于消息驱动的软件架构方法、系统及设备,提供了一种新的低代码工具,通过消息转发的形式来驱动各业务模块的协同工作,降低了各业务模块之间的耦合性和开发的复杂度,从而利于提高软件系统开发效率。
[0008]为实现上述目的,本专利技术提供了一种基于消息驱动的软件架构方法,所述方法包括以下步骤:
[0009]S110,确定目标软件系统的各个业务模块,并将每一业务模块分别映射为一控制器;
[0010]S120,基于源控制器实例生成一消息,并将所述消息发送至消息调度中心;所述消息包括目标控制器类ID信息;
[0011]S130,所述消息调度中心对所述消息进行解析,获得目标控制器类ID信息,并将所述目标控制器类ID信息发送至控制器中心;
[0012]S140,所述控制器中心根据所述目标控制器类ID信息,获取匹配的目标控制器实
例;以及
[0013]S150,所述目标控制器实例接收到自所述消息调度中心转发的所述消息后,触发执行与所述消息对应的处理流程。
[0014]可选地,所述控制器中心设有第一实例缓存队列和第二实例缓存队列,所述第一实例缓存队列和所述第二实例缓存队列均用于缓存目标控制器实例,且所述第一实例缓存队列中目标控制器实例的保活时长大于所述第二实例缓存队列中目标控制器实例的保活时长。
[0015]可选地,所述方法还包括步骤:
[0016]当所述目标控制器实例属于第二实例缓存队列,且所述处理流程执行完成时,根据所述第二实例缓存队列对应的保活时长,结束所述目标控制器实例对应的生命周期。
[0017]可选地,所述方法还包括步骤:
[0018]当所述目标控制器实例属于第一实例缓存队列,且所述处理流程执行完成时,根据所述第一实例缓存队列对应的保活时长,对所述目标控制器实例对应的生命周期进行持续保活。
[0019]可选地,步骤S140包括:
[0020]所述控制器中心判断所述第一实例缓存队列和所述第二实例缓存队列中是否存在与所述目标控制器类ID信息匹配的目标控制器实例;
[0021]若不存在,则所述控制器中心根据所述目标控制器类ID信息,生成匹配的目标控制器实例,并将所述目标控制器实例添加至所述第一实例缓存队列或者所述第二实例缓存队列中。
[0022]可选地,所述消息中包含有回调函数指针信息和源控制器实例类ID信息,步骤S150包括:
[0023]根据所述回调函数指针信息和所述源控制器实例类ID信息,生成回调函数主体信息;
[0024]所述目标控制器实例根据所述回调函数主体信息,确定与所述消息对应的回调函数;
[0025]所述目标控制器实例接收到所述消息后,触发执行所述回调函数。
[0026]可选地,步骤S110包括:
[0027]生成与目标软件系统对应的树形数据结构;
[0028]提取所述树形数据结构中的根节点和叶子节点;
[0029]根据所述根节点和叶子节点,确定所述目标软件系统中的各个业务模块。
[0030]可选地,所述生成与目标软件系统对应的树形数据结构,包括:
[0031]提取目标软件系统中的所有类实体信息和调用关系图信息;
[0032]根据所述类实体信息和所述调用关系图信息,生成与目标软件系统对应的树形数据结构。
[0033]本专利技术还提供了一种基于消息驱动的软件架构系统,用于实现上述基于消息驱动的软件架构方法,所述系统包括:
[0034]业务模块确定及映射模块,确定目标软件系统的各个业务模块,并将每一业务模块分别映射为一控制器;
[0035]第一消息发送模块,基于源控制器实例生成一消息,并将所述消息发送至消息调度中心;所述消息包括目标控制器类ID信息;
[0036]目标控制器类ID获取模块,所述消息调度中心对所述消息进行解析,获得目标控制器类ID信息,并将所述目标控制器类ID信息发送至控制器中心;
[0037]目标控制器实例获取模块,所述控制器中心根据所述目标控制器类ID信息,获取匹配的目标控制器实例;以及
[0038]实例触发执行模块,所述目标控制器实例接收到自所述消息调度中心转发的所述消息后,触发执行与所述消息对应的处理流程。
[0039]本专利技术还提供了一种基于消息驱动的软件架构设备,包括:
[0040]处理器;
[0041]存储器,其中存储有所述处理器的可执行程序;
[0042]其中,所述处理器配置为经由执行所述可执行程序来执行上述任意一项基于消息驱动的软件架构方法的步骤。
[0043]本专利技术还提供了一种计算机可读存储介质,用于存储程序,所述程序被处理器执行时实现上述任意一项基于消息驱动的软件架构方法的步骤。
[0044]本专利技术与现有技术相比,具有以下优点及突出性效果:
[0045]本专利技术提供的基于消息驱动的软件架构方法、系统及设备通过消息转发的形式来驱动各业务模块的协同工作,实现提供了一种新的低代码工具,降低了各业务模块之间的耦合性和开发的复杂度,从而利于提高软件系统开发效率。
附图说明
[0046]通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于消息驱动的软件架构方法,其特征在于,包括以下步骤:S110,确定目标软件系统的各个业务模块,并将每一业务模块分别映射为一控制器;S120,基于源控制器实例生成一消息,并将所述消息发送至消息调度中心;所述消息包括目标控制器类ID信息;S130,所述消息调度中心对所述消息进行解析,获得目标控制器类ID信息,并将所述目标控制器类ID信息发送至控制器中心;S140,所述控制器中心根据所述目标控制器类ID信息,获取匹配的目标控制器实例;以及S150,所述目标控制器实例接收到自所述消息调度中心转发的所述消息后,触发执行与所述消息对应的处理流程。2.如权利要求1所述的软件架构方法,其特征在于,所述控制器中心设有第一实例缓存队列和第二实例缓存队列,所述第一实例缓存队列和所述第二实例缓存队列均用于缓存目标控制器实例,且所述第一实例缓存队列中目标控制器实例的保活时长大于所述第二实例缓存队列中目标控制器实例的保活时长。3.如权利要求2所述的软件架构方法,其特征在于,所述方法还包括步骤:当所述目标控制器实例属于第二实例缓存队列,且所述处理流程执行完成时,根据所述第二实例缓存队列对应的保活时长,结束所述目标控制器实例对应的生命周期。4.如权利要求2所述的软件架构方法,其特征在于,所述方法还包括步骤:当所述目标控制器实例属于第一实例缓存队列,且所述处理流程执行完成时,根据所述第一实例缓存队列对应的保活时长,对所述目标控制器实例对应的生命周期进行持续保活。5.如权利要求2所述的软件架构方法,其特征在于,步骤S140包括:所述控制器中心判断所述第一实例缓存队列和所述第二实例缓存队列中是否存在与所述目标控制器类ID信息匹配的目标控制器实例;若不存在,则所述控制器中心根据所述目标控制器类ID信息,生成匹配的目标控制器实例,并将所述目标控制器实例添加至所述第一实例缓存队列或者所述第二实例缓存队列中。6.如权利要求1所述的软件架构方法,其...

【专利技术属性】
技术研发人员:傅临黎石梦南
申请(专利权)人:睿珀智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1