CN115297072A - 一种系统内部模块间调用的实现方法及系统 - Google Patents
一种系统内部模块间调用的实现方法及系统 Download PDFInfo
- Publication number
- CN115297072A CN115297072A CN202210889022.2A CN202210889022A CN115297072A CN 115297072 A CN115297072 A CN 115297072A CN 202210889022 A CN202210889022 A CN 202210889022A CN 115297072 A CN115297072 A CN 115297072A
- Authority
- CN
- China
- Prior art keywords
- message
- service
- module
- service module
- control module
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 108
- 238000013507 mapping Methods 0.000 claims abstract description 79
- 230000004044 response Effects 0.000 claims description 99
- 230000000977 initiatory effect Effects 0.000 claims description 17
- 230000002159 abnormal effect Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 13
- 238000003491 array Methods 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000008878 coupling Effects 0.000 description 13
- 238000010168 coupling process Methods 0.000 description 13
- 238000005859 coupling reaction Methods 0.000 description 13
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Exchange Systems With Centralized Control (AREA)
Abstract
本发明公开一种系统内部模块间调用的实现方法及系统,涉及通用数字计算机系统技术领域;将系统内模块定义为控制模块和业务模块,控制模块控制消息总线服务和模块映射服务执行,通过消息总线服务提供消息发送、消息接收及消息应答方法,通过模块映射服务维护所有业务模块间的映射关系,业务模块利用消息总线服务的消息发送、消息接收及消息应答方法根据模块映射服务中的映射关系进行互相调用。
Description
技术领域
本发明公开一种方法及系统,涉及通用数字计算机系统技术领域,具体地说是一种系统内部模块间调用的实现方法及系统。
背景技术
在计算机程序的开发过程中,随着程序的不断开发,代码会越来越长,越来越不容易维护。为了编写可维护的代码,通常将系统分为不同的功能,对于其中各个功能而言,由其他代码调用即可,提供了代码的重用性和代码间的耦合。其中每个功能的代码集合就称为模块。
功能模块化是将程序划分成若干个功能模块,每个功能模块完成一个子功能,再把这些功能模块总起来组成一个整体,以满足所要求的整个系统的功能。多个模块间免不了互相关联,耦合度是对模块间关联程度的度量,耦合带来的问题是,当某一功能发生变更或不存在时,都将影响另一功能的正常工作,进而影响系统的可维护性和易变更性。
发明内容
本发明针对现有技术的问题,提供一种系统内部模块间调用的实现方法及系统,利用中心交换的思想,简化各个功能模块间的关联,各功能模块的联系通过中心程序的交换完成,实现功能模块的非直接耦合,即模块间实现低耦合,高内聚。
本发明提出的具体方案是:
本发明提供一种系统内部模块间调用的实现方法,将系统内模块定义为控制模块和业务模块,控制模块控制消息总线服务和模块映射服务执行,通过消息总线服务提供消息发送、消息接收及消息应答方法,通过模块映射服务维护所有业务模块间的映射关系,所述映射关系包括以业务模块名称为键,以业务模块所对应的消息队列为值的映射关系和以业务组名为键,以业务组下所有业务模块名称数组为值的映射关系,
业务模块利用消息总线服务的消息发送、消息接收及消息应答方法根据模块映射服务中的映射关系进行互相调用,
业务模块间调用流程为:
初始化系统,业务模块通过注册方法向控制模块注册业务模块信息,所述业务模块信息包括业务模块名称、业务模块所属业务组和业务模块是否启用,
发起调用的业务模块向控制模块发送调用的消息,控制模块根据调用的消息获取目的业务模块或目的业务组,
若获取目的业务模块,控制模块中模块映射服务根据目的业务模块名称,查找目的业务模块所对应的消息队列,若获取目的业务组,控制模块中模块映射服务根据目的业务组名称,先查找对应的目的业务模块名称,再根据目的业务模块名称,查找对应的所有消息队列,
控制模块向查找后获得的消息队列发送调用的消息,并建立临时消息队列用于接收应答的消息,
目的业务模块通过消息接收方法接收到消息队列中的调用的消息,并根据调用的消息完成对应操作,同时构建对应的应答的消息,
目的业务模块通过消息应答方法向控制模块发送应答的消息,
控制模块接收应答的消息,并将应答的消息发送至对应的临时消息队列,通过临时消息队列将应答的消息返回至发起调用的业务模块。
进一步,所述的一种系统内部模块间调用的实现方法中定义业务模块为系统功能模块,业务模块通过注册方法向控制模块注册业务模块信息,业务模块通过删除方法向控制模块删除业务模块信息。
进一步,所述的一种系统内部模块间调用的实现方法中消息包括消息头、消息路由和消息内容,
所述消息头包括消息ID、消息父ID、消息创建时间、响应超时时间,
所述消息路由包括发起调用的业务模块名称、目的业务模块名称、目的业务组名称、操作名称和操作对象,
所述消息内容为当前需操作对象的当前状态。
进一步,所述的一种系统内部模块间调用的实现方法中控制模块向查找后获得的消息队列发送调用的消息,并根据调用的消息的消息ID建立临时消息队列;
目的业务模块通过消息接收方法接收到消息队列中的调用的消息,根据调用的消息中消息路由及消息内容完成对应操作,同时构建对应的应答的消息:将调用的消息ID设置为应答消息的消息父ID,将消息路由中操作名称设置为应答,将消息内容设置为操作完成后的操作对象状态;
目的业务模块通过消息应答方法向控制模块发送应答的消息,
控制模块接收应答的消息,根据应答的消息头中消息父ID,查找临时消息队列,将应答的消息发送至对应的临时消息队列,通过临时消息队列将应答的消息返回至发起调用的业务模块。
进一步,所述的一种系统内部模块间调用的实现方法中控制模块查找到消息队列后,判断目的业务模块是否存在并且已启用,
若目的业务模块存在并且已启用,控制模块向查找后获得的消息队列发送调用的消息,并建立临时消息队列用于接收应答的消息,
若目的业务模块不存在或未启用,控制模块构建目的业务模块未启用的异常报文,将所述异常报文发送至临时消息队列。
进一步,所述的一种系统内部模块间调用的实现方法中控制模块在建立临时消息队列的同时,开启计时器,设置超时时间为当前消息的响应超时时间,
目的业务模块通过消息接收方法接收消息队列中调用的消息,根据调用的消息完成对应的操作,并构建对应的应答消息,通过消息应答方法向控制模块发送应答消息,
控制模块接收应答的消息后,判断当前消息的响应时间是否超时,
若当前消息响应时间未超时,将应答的消息发送至对应的临时消息队列,作为发起调用的业务模块的返回应答,
若当前消息响应时间已超时,则关闭临时消息队列,并向发起调用的业务模块返回消息超时的异常报文,作为返回应答。
进一步,所述的一种系统内部模块间调用的实现方法中发起调用的业务模块获取返回应答,
若返回应答为异常报文,则打印错误日志,
若反应应答为正常应答的消息,则表示调用结束。
本发明提供一种系统内部模块间调用的实现系统,系统内模块定义为控制模块和业务模块,控制模块控制消息总线服务和模块映射服务执行,通过消息总线服务提供消息发送、消息接收及消息应答方法,通过模块映射服务维护所有业务模块间的映射关系,所述映射关系包括以业务模块名称为键,以业务模块所对应的消息队列为值的映射关系和以业务组名为键,以业务组下所有业务模块名称数组为值的映射关系,
业务模块利用消息总线服务的消息发送、消息接收及消息应答方法根据模块映射服务中的映射关系进行互相调用,
业务模块间调用流程为:
初始化系统,业务模块通过注册方法向控制模块注册业务模块信息,所述业务模块信息包括业务模块名称、业务模块所属业务组和业务模块是否启用,
发起调用的业务模块向控制模块发送调用的消息,控制模块根据调用的消息获取目的业务模块或目的业务组,
若获取目的业务模块,控制模块中模块映射服务根据目的业务模块名称,查找目的业务模块所对应的消息队列,若获取目的业务组,控制模块中模块映射服务根据目的业务组名称,先查找对应的目的业务模块名称,再根据目的业务模块名称,查找对应的所有消息队列,
控制模块向查找后获得的消息队列发送调用的消息,并建立临时消息队列用于接收应答的消息,
目的业务模块通过消息接收方法接收到消息队列中的调用的消息,并根据调用的消息完成对应操作,同时构建对应的应答的消息,
目的业务模块通过消息应答方法向控制模块发送应答的消息,
控制模块接收应答的消息,并将应答的消息发送至对应的临时消息队列,通过临时消息队列将应答的消息返回至发起调用的业务模块。
本发明还提供一种系统内部模块间调用的实现装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行所述的一种系统内部模块间调用的实现方法。
本发明的有益之处是:
本发明方法利用中心交换的思想,简化各个业务模块间的关联,各业务模块的联系完全通过控制模块利用消息总线服务和模块映射服务的交换完成,实现业务模块的非直接耦合,实现业务模块间低耦合,高内聚的过程。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明方法中涉及的消息指令结构示意图。
图2是本发明方法应用框架流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
本发明提供一种系统内部模块间调用的实现方法,将系统内模块定义为控制模块和业务模块,控制模块控制消息总线服务和模块映射服务执行,通过消息总线服务提供消息发送、消息接收及消息应答方法,通过模块映射服务维护所有业务模块间的映射关系,所述映射关系包括以业务模块名称为键,以业务模块所对应的消息队列为值的映射关系和以业务组名为键,以业务组下所有业务模块名称数组为值的映射关系,
业务模块利用消息总线服务的消息发送、消息接收及消息应答方法根据模块映射服务中的映射关系进行互相调用,
业务模块间调用流程为:
初始化系统,业务模块通过注册方法向控制模块注册业务模块信息,所述业务模块信息包括业务模块名称、业务模块所属业务组和业务模块是否启用,
发起调用的业务模块向控制模块发送调用的消息,控制模块根据调用的消息获取目的业务模块或目的业务组,
若获取目的业务模块,控制模块中模块映射服务根据目的业务模块名称,查找目的业务模块所对应的消息队列,若获取目的业务组,控制模块中模块映射服务根据目的业务组名称,先查找对应的目的业务模块名称,再根据目的业务模块名称,查找对应的所有消息队列,
控制模块向查找后获得的消息队列发送调用的消息,并建立临时消息队列用于接收应答的消息,
目的业务模块通过消息接收方法接收到消息队列中的调用的消息,并根据调用的消息完成对应操作,同时构建对应的应答的消息,
目的业务模块通过消息应答方法向控制模块发送应答的消息,
控制模块接收应答的消息,并将应答的消息发送至对应的临时消息队列,通过临时消息队列将应答的消息返回至发起调用的业务模块。
正因为耦合的种种弊端,在系统软件设计的时候需要努力追求低耦合。而本发明方法的控制模块实质为中心程序,控制模块包括消息总线服务和模块映射服务,消息总线服务负责实现各业务模块间的互相调用,消息总线服务提供消息发送、消息接收、消息应答方法,当业务模块需要与其他业务模块交互时,只需要调用对应的方法,把消息发布到消息总线上,模块映射服务主要负责维护所有业务模块间的关系,一旦业务模块需要与其他业务模块交互时,根据模块映射服务中的映射关系通知到对应的其他一个或多个业务模块。
具体应用中,在本发明方法一些实施例中,所述业务模块可以认为为系统功能模块,主要负责完成系统中各个功能实现。业务模块可以通过注册方法向控制模块注册当前业务模块信息,业务模块可以通过删除方法向控制模块删除当前业务模块信息,所述业务模块信息包括业务模块名称,业务模块所属业务组,业务模块是否启用;
进一步地,系统启动时,进行初始化,第一时间启动控制模块和所有存在的业务模块,
所述业务模块启动后,第一时间通过业务模块的注册方法向控制模块注册当前业务模块信息,
所述控制模块接收到业务模块注册信息后,模块映射服务负责维护两个映射关系,其中第一个映射关系以业务模块名称为键,并对每一个业务模块初始化一个消息队列为值;第二个映射关系以业务组名为键,以当前业务组下所有业务模块名称数组为值;
以上,系统初始化完成。
在本发明方法的另一些实施例中,具体说明消息的组成,其中当发起调用的业务模块需要与其他业务模块交互时,发起调用的业务模块向控制模块发送调用的消息;
所述调用的消息指令包括消息头,消息路由,消息内容三部分;
所述消息头包括消息ID、消息父ID、消息创建时间、响应超时时间;
所述消息路由包括发起调用的业务模块名称、目的业务模块名称、目的业务组名称、操作名称和操作对象;
所述消息内容为当前需操作对象当前状态。
进一步,所述的一种系统内部模块间调用的实现方法中控制模块向查找后获得的消息队列发送调用的消息,并根据调用的消息的消息ID建立临时消息队列;
目的业务模块通过消息接收方法接收到消息队列中的调用的消息,根据调用的消息中消息路由及消息内容完成对应操作,同时构建对应的应答的消息:将调用的消息ID设置为应答消息的消息父ID,将消息路由中操作名称设置为应答,将消息内容设置为操作完成后的操作对象状态;
目的业务模块通过消息应答方法向控制模块发送应答的消息,
控制模块接收应答的消息,根据应答的消息头中消息父ID,查找临时消息队列,将应答的消息发送至对应的临时消息队列,通过临时消息队列将应答的消息返回至发起调用的业务模块。
在本发明方法的另一些实施例中,控制模块查找到消息队列后,判断目的业务模块是否存在并且已启用,
若目的业务模块存在并且已启用,控制模块向查找后获得的消息队列发送调用的消息,并建立临时消息队列用于接收应答的消息,
若目的业务模块不存在或未启用,控制模块构建目的业务模块未启用的异常报文,将所述异常报文发送至临时消息队列。
进一步,所述的一种系统内部模块间调用的实现方法中控制模块在建立临时消息队列的同时,开启计时器,设置超时时间为当前消息的响应超时时间,
目的业务模块通过消息接收方法接收消息队列中调用的消息,根据调用的消息完成对应的操作,并构建对应的应答消息,通过消息应答方法向控制模块发送应答消息,
控制模块接收应答的消息后,判断当前消息的响应时间是否超时,
若当前消息响应时间未超时,将应答的消息发送至对应的临时消息队列,作为发起调用的业务模块的返回应答,
若当前消息响应时间已超时,则关闭临时消息队列,并向发起调用的业务模块返回消息超时的异常报文,作为返回应答。
进一步,所述的一种系统内部模块间调用的实现方法中发起调用的业务模块获取返回应答,
若返回应答为异常报文,则打印错误日志,
若反应应答为正常应答的消息,则表示调用结束。
本发明方法的业务模块间调用流程的一个详细过程,以第一业务模块代指发起调用的业务模块,可参考如下:
S01:第一业务模块通过消息总线服务的消息发送方法向控制模块发送调用消息;
S02:控制模块解析调用消息,获取该消息的目的业务模块或目的业务组;
S03:若目的业务模块为某一个具体业务模块,控制模块中模块映射服务根据目的业务模块名称,查找目的业务模块所对应的消息队列;若目的业务模块为一个业务组,控制模块中模块映射服务根据目的业务组名称,先查找对应的目的业务模块名称,再根据目的业务模块名称,查找对应的所有消息队列;
S04:若目的业务模块存在并且已启用,控制模块根据模块映射服务获取到所有目的消息队列,同时向所有目的消息队列发送消息报文;
S05:控制模块根据消息头中消息ID,初始化临时消息队列,用来接收应答消息;
S06:若目的业务模块不存在或未启用,控制模块构建目的业务模块未启用的异常报文,并将该报文发送至临时消息队列;
S06:控制模块同时开启计时器,设置超时时间为当前消息的响应超时时间;
S07:目的业务模块通过消息接收方法接收到当前业务模块消息队列中的调用消息;
S08:目的业务模块根据调用消息中消息路由及消息内容,完成对应的操作,并构建对应的应答消息,其中主要修改为:将请求消息ID设置为应答消息的消息父ID,将消息路由中操作名称设置为应答,将消息内容设置为操作完成后的操作对象状态;
S09:目的业务模块通过消息应答方法向控制模块发送应答消息;
S10:控制模块接收应答消息后,判断当前消息的响应时间是否超时;
S11:若当前消息响应时间未超时,则根据应答消息头中的消息父ID,查找临时消息队列,并将应答报文发送至对应的临时消息队列,
控制模块处理临时消息队列,将消息队列中的所有应答消息返回至第一业务模块;
S12:若当前消息响应时间已超时,则关闭临时消息队列,并向第一业务模块返回消息超时的异常报文;
S13:第一业务模块获取此次操作过程中的应答消息,若应答消息为异常报文,则打印错误日志;若应答消息为正常报文,则此次调用结束。
本发明提供一种系统内部模块间调用的实现系统,系统内模块定义为控制模块和业务模块,控制模块控制消息总线服务和模块映射服务执行,通过消息总线服务提供消息发送、消息接收及消息应答方法,通过模块映射服务维护所有业务模块间的映射关系,所述映射关系包括以业务模块名称为键,以业务模块所对应的消息队列为值的映射关系和以业务组名为键,以业务组下所有业务模块名称数组为值的映射关系,
业务模块利用消息总线服务的消息发送、消息接收及消息应答方法根据模块映射服务中的映射关系进行互相调用,
业务模块间调用流程为:
初始化系统,业务模块通过注册方法向控制模块注册业务模块信息,所述业务模块信息包括业务模块名称、业务模块所属业务组和业务模块是否启用,
发起调用的业务模块向控制模块发送调用的消息,控制模块根据调用的消息获取目的业务模块或目的业务组,
若获取目的业务模块,控制模块中模块映射服务根据目的业务模块名称,查找目的业务模块所对应的消息队列,若获取目的业务组,控制模块中模块映射服务根据目的业务组名称,先查找对应的目的业务模块名称,再根据目的业务模块名称,查找对应的所有消息队列,
控制模块向查找后获得的消息队列发送调用的消息,并建立临时消息队列用于接收应答的消息,
目的业务模块通过消息接收方法接收到消息队列中的调用的消息,并根据调用的消息完成对应操作,同时构建对应的应答的消息,
目的业务模块通过消息应答方法向控制模块发送应答的消息,
控制模块接收应答的消息,并将应答的消息发送至对应的临时消息队列,通过临时消息队列将应答的消息返回至发起调用的业务模块。
上述系统内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
同样地,本发明系统利用中心交换的思想,简化各个业务模块间的关联,各业务模块的联系完全通过控制模块利用消息总线服务和模块映射服务的交换完成,实现业务模块的非直接耦合,实现业务模块间低耦合,高内聚。
需要说明的是,上述各流程和各系统结构中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
本发明还提供一种系统内部模块间调用的实现装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行所述的一种系统内部模块间调用的实现方法。
上述装置内的处理器的信息交互、执行可读程序过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
同样地,本发明装置利用中心交换的思想,可以简化各个业务模块间的关联,各业务模块的联系通过执行相应程序利用消息总线服务和模块映射服务的交换完成,实现业务模块的非直接耦合,实现业务模块间低耦合,高内聚。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (9)
1.一种系统内部模块间调用的实现方法,其特征是将系统内模块定义为控制模块和业务模块,控制模块控制消息总线服务和模块映射服务执行,通过消息总线服务提供消息发送、消息接收及消息应答方法,通过模块映射服务维护所有业务模块间的映射关系,所述映射关系包括以业务模块名称为键,以业务模块所对应的消息队列为值的映射关系和以业务组名为键,以业务组下所有业务模块名称数组为值的映射关系,
业务模块利用消息总线服务的消息发送、消息接收及消息应答方法根据模块映射服务中的映射关系进行互相调用,
业务模块间调用流程为:
初始化系统,业务模块通过注册方法向控制模块注册业务模块信息,所述业务模块信息包括业务模块名称、业务模块所属业务组和业务模块是否启用,
发起调用的业务模块向控制模块发送调用的消息,控制模块根据调用的消息获取目的业务模块或目的业务组,
若获取目的业务模块,控制模块中模块映射服务根据目的业务模块名称,查找目的业务模块所对应的消息队列,若获取目的业务组,控制模块中模块映射服务根据目的业务组名称,先查找对应的目的业务模块名称,再根据目的业务模块名称,查找对应的所有消息队列,
控制模块向查找后获得的消息队列发送调用的消息,并建立临时消息队列用于接收应答的消息,
目的业务模块通过消息接收方法接收到消息队列中的调用的消息,并根据调用的消息完成对应操作,同时构建对应的应答的消息,
目的业务模块通过消息应答方法向控制模块发送应答的消息,
控制模块接收应答的消息,并将应答的消息发送至对应的临时消息队列,通过临时消息队列将应答的消息返回至发起调用的业务模块。
2.根据权利要求1所述的一种系统内部模块间调用的实现方法,其特征是定义业务模块为系统功能模块,业务模块通过注册方法向控制模块注册业务模块信息,业务模块通过删除方法向控制模块删除业务模块信息。
3.根据权利要求1所述的一种系统内部模块间调用的实现方法,其特征是消息包括消息头、消息路由和消息内容,
所述消息头包括消息ID、消息父ID、消息创建时间、响应超时时间,
所述消息路由包括发起调用的业务模块名称、目的业务模块名称、目的业务组名称、操作名称和操作对象,
所述消息内容为当前需操作对象的当前状态。
4.根据权利要求3所述的一种系统内部模块间调用的实现方法,其特征是控制模块向查找后获得的消息队列发送调用的消息,并根据调用的消息的消息ID建立临时消息队列;
目的业务模块通过消息接收方法接收到消息队列中的调用的消息,根据调用的消息中消息路由及消息内容完成对应操作,同时构建对应的应答的消息:将调用的消息ID设置为应答消息的消息父ID,将消息路由中操作名称设置为应答,将消息内容设置为操作完成后的操作对象状态;
目的业务模块通过消息应答方法向控制模块发送应答的消息,
控制模块接收应答的消息,根据应答的消息头中消息父ID,查找临时消息队列,将应答的消息发送至对应的临时消息队列,通过临时消息队列将应答的消息返回至发起调用的业务模块。
5.根据权利要求1所述的一种系统内部模块间调用的实现方法,其特征是控制模块查找到消息队列后,判断目的业务模块是否存在并且已启用,
若目的业务模块存在并且已启用,控制模块向查找后获得的消息队列发送调用的消息,并建立临时消息队列用于接收应答的消息,
若目的业务模块不存在或未启用,控制模块构建目的业务模块未启用的异常报文,将所述异常报文发送至临时消息队列。
6.根据权利要求1或5所述的一种系统内部模块间调用的实现方法,其特征是控制模块在建立临时消息队列的同时,开启计时器,设置超时时间为当前消息的响应超时时间,
目的业务模块通过消息接收方法接收消息队列中调用的消息,根据调用的消息完成对应的操作,并构建对应的应答消息,通过消息应答方法向控制模块发送应答消息,
控制模块接收应答的消息后,判断当前消息的响应时间是否超时,
若当前消息响应时间未超时,将应答的消息发送至对应的临时消息队列,作为发起调用的业务模块的返回应答,
若当前消息响应时间已超时,则关闭临时消息队列,并向发起调用的业务模块返回消息超时的异常报文,作为返回应答。
7.根据权利要求6所述的一种系统内部模块间调用的实现方法,其特征是发起调用的业务模块获取返回应答,
若返回应答为异常报文,则打印错误日志,
若反应应答为正常应答的消息,则表示调用结束。
8.一种系统内部模块间调用的实现系统,其特征是系统内模块定义为控制模块和业务模块,控制模块控制消息总线服务和模块映射服务执行,通过消息总线服务提供消息发送、消息接收及消息应答方法,通过模块映射服务维护所有业务模块间的映射关系,所述映射关系包括以业务模块名称为键,以业务模块所对应的消息队列为值的映射关系和以业务组名为键,以业务组下所有业务模块名称数组为值的映射关系,
业务模块利用消息总线服务的消息发送、消息接收及消息应答方法根据模块映射服务中的映射关系进行互相调用,
业务模块间调用流程为:
初始化系统,业务模块通过注册方法向控制模块注册业务模块信息,所述业务模块信息包括业务模块名称、业务模块所属业务组和业务模块是否启用,
发起调用的业务模块向控制模块发送调用的消息,控制模块根据调用的消息获取目的业务模块或目的业务组,
若获取目的业务模块,控制模块中模块映射服务根据目的业务模块名称,查找目的业务模块所对应的消息队列,若获取目的业务组,控制模块中模块映射服务根据目的业务组名称,先查找对应的目的业务模块名称,再根据目的业务模块名称,查找对应的所有消息队列,
控制模块向查找后获得的消息队列发送调用的消息,并建立临时消息队列用于接收应答的消息,
目的业务模块通过消息接收方法接收到消息队列中的调用的消息,并根据调用的消息完成对应操作,同时构建对应的应答的消息,
目的业务模块通过消息应答方法向控制模块发送应答的消息,
控制模块接收应答的消息,并将应答的消息发送至对应的临时消息队列,通过临时消息队列将应答的消息返回至发起调用的业务模块。
9.一种系统内部模块间调用的实现装置,其特征是包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至7中任一项所述的一种系统内部模块间调用的实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210889022.2A CN115297072A (zh) | 2022-07-27 | 2022-07-27 | 一种系统内部模块间调用的实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210889022.2A CN115297072A (zh) | 2022-07-27 | 2022-07-27 | 一种系统内部模块间调用的实现方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115297072A true CN115297072A (zh) | 2022-11-04 |
Family
ID=83824596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210889022.2A Pending CN115297072A (zh) | 2022-07-27 | 2022-07-27 | 一种系统内部模块间调用的实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115297072A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364924A (zh) * | 2008-09-26 | 2009-02-11 | 广州市聚晖电子科技有限公司 | 一种基于企业服务总线的数据采集自适应体系结构 |
CN113691385A (zh) * | 2020-05-19 | 2021-11-23 | 中兴通讯股份有限公司 | 报文处理、通告方法、装置、网桥节点、源设备及介质 |
CN114051055A (zh) * | 2022-01-12 | 2022-02-15 | 江苏银承网络科技股份有限公司 | 一种不同系统中的数据传输方法及装置 |
-
2022
- 2022-07-27 CN CN202210889022.2A patent/CN115297072A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364924A (zh) * | 2008-09-26 | 2009-02-11 | 广州市聚晖电子科技有限公司 | 一种基于企业服务总线的数据采集自适应体系结构 |
CN113691385A (zh) * | 2020-05-19 | 2021-11-23 | 中兴通讯股份有限公司 | 报文处理、通告方法、装置、网桥节点、源设备及介质 |
CN114051055A (zh) * | 2022-01-12 | 2022-02-15 | 江苏银承网络科技股份有限公司 | 一种不同系统中的数据传输方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5363121A (en) | Multiple protocol communication interface for distributed transaction processing | |
EP0006216B1 (en) | Improvements in digital data processing systems | |
US20070140263A1 (en) | Virtual machine system and method of network communication between virtual machines | |
CN110086652B (zh) | 一种针对5g核心网中服务网元的管理系统及其方法 | |
CN109150572B (zh) | 实现告警关联的方法、装置以及计算机可读存储介质 | |
EP1056007A2 (en) | System and method of exchanging information between software modules | |
CN1081042A (zh) | 分布式管理通信系统 | |
US20230046979A1 (en) | Microservice call method and apparatus, device, and medium | |
US5535334A (en) | Fault-tolerant system-to-system communications system and method utilizing multiple communications methods to transfer a single message | |
CN113746928B (zh) | 跨云服务调用方法、装置和系统 | |
US9069592B2 (en) | Generic transport layer mechanism for firmware communication | |
CN112073448B (zh) | 一种双系统终端的服务隔离方法和装置 | |
CN113821363B (zh) | 一种进程间通讯方法及系统 | |
CN114138504A (zh) | 多注册中心的数据处理方法、装置、设备和存储介质 | |
CN115297072A (zh) | 一种系统内部模块间调用的实现方法及系统 | |
CN113726828B (zh) | 一种支持微服务的高并发的可信区块链系统及方法 | |
US5668994A (en) | Conversation management routine for co-operative processing applications | |
CN111143040A (zh) | 事务处理方法、装置、系统及存储介质 | |
CN111309474A (zh) | 通信方法、通信装置及分布式服务注册中心 | |
CN110392114B (zh) | 跨多注册中心的服务调用处理系统及方法 | |
CN115480934A (zh) | 一种分布式数据处理的方法、装置、设备及储存介质 | |
CN112689013A (zh) | 一种服务发现的系统、方法及装置 | |
CN111782322A (zh) | 基于云桌面服务器的内外网消息通讯服务器及系统 | |
CN114691309A (zh) | 一种批量业务处理系统、方法及装置 | |
CN114363883B (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 |