CN104301447B - 一种软件模块通信方法 - Google Patents
一种软件模块通信方法 Download PDFInfo
- Publication number
- CN104301447B CN104301447B CN201410459273.2A CN201410459273A CN104301447B CN 104301447 B CN104301447 B CN 104301447B CN 201410459273 A CN201410459273 A CN 201410459273A CN 104301447 B CN104301447 B CN 104301447B
- Authority
- CN
- China
- Prior art keywords
- module
- parameter
- name
- order
- operational
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了本发明的一种软件模块通信方法,通信网络包括控制模块以及与控制模块呈星形连接结构的多个工作模块,每个工作模块只连接唯一的控制模块并通过控制模块与分布式网络进行通信,具体包括以下通信步骤:模块注册步骤、参数名注册发布步骤、请求参数名注册步骤、发布参数步骤、查询参数步骤及设置参数步骤。本通信方法中,工作模块不仅可以方便的发布参数、查询参数,而且还可以及时获取请求参数的信息,实现了工作模块的扁平化管理,从而各个工作模块可以发布消息,让其它工作模块接收,本方法开销小、通信方式灵活,而且可以使得工作模块的崩溃对通信网络的影响最小化,可广泛应用于软件模块的通讯中。
Description
技术领域
本发明涉及计算机通信领域,特别是涉及一种在分布式网络中,通过扁平化管理的方式进行软件模块通信的方法。
背景技术
目前,常见的软件模块通信方法适用于同一主机内,通过操作系统提供的接口来实现,如通过消息、邮箱、队列等来实现通信。但是,随着分模块开发技术的发展,如何让不同主机的模块进行通信成为一个重要问题。目前,同一通讯系统的不同主机之间的模块进行通信存在通信量小、开销大、通信方式不灵活等缺陷,而且目前的通信方式,模块的崩溃将会对整个通讯系统造成极大影响,导致通讯系统无法正常工作。
发明内容
为了解决上述的技术问题,本发明的目的是提供一种软件模块通信方法。
本发明解决其技术问题所采用的技术方案是:
一种软件模块通信方法,通信网络包括控制模块以及与控制模块呈星形连接结构的多个工作模块,每个工作模块只连接唯一的控制模块并通过控制模块与分布式网络进行通信,具体包括以下通信步骤:模块注册步骤、参数名注册发布步骤、请求参数名注册步骤、发布参数步骤、查询参数步骤及设置参数步骤。
进一步,所述模块注册步骤包括:
A1、每个工作模块依据配置文件绑定一个IP地址及一个UDP端口后,向控制模块建立UDP连接;
A2、工作模块向控制模块发送包含模块注册信息的模块注册命令,所述模块注册信息包括工作模块绑定的IP地址、UDP端口以及模块名;
A3、控制模块接收到模块注册命令后,查找模块信息表,判断模块注册命令中的模块名是否已被注册,若是则向工作模块发送注册失败命令后结束,反之,则执行步骤A4;
A4、控制模块将模块注册命令中的模块注册信息添加到模块信息表中,并向工作模块发送注册成功命令后结束;
所述模块信息表包括多个模块信息,每个模块信息包括模块名、IP地址、UDP端口及参数名集合。
进一步,所述参数名注册发布步骤包括:
B1、工作模块向控制模块发送参数名注册发布命令,所述参数名注册发布命令包括工作模块绑定的IP地址、UDP端口以及要注册发布的参数名;
B2、控制模块接收到参数名注册发布命令后,获取工作模块绑定的IP地址及UDP端口,查找模块信息表,判断要注册发布的参数名是否已经被该工作模块注册,若是,则执行步骤B3,反之,执行步骤B4;
B3、向工作模块发送代表该参数名已经被注册的已被注册命令后结束;
B4、将要注册发布的参数名添加到该工作模块的参数名集合中,并向该工作模块发送注册成功命令。
进一步,所述请求参数名注册步骤,包括:
C1、工作模块向控制模块发送请求参数名注册命令,所述请求参数名注册命令包括工作模块的模块名以及要注册的请求参数名;
C2、控制模块接收到请求参数名注册命令后,查找请求参数表,判断要注册的请求参数名是否已经被注册,若是,则执行步骤C4,反之执行步骤C3;
C3、为请求参数表建立一个新的请求参数信息,并将请求参数名作为建立的请求参数信息的参数名,同时将工作模块的模块名添加到该请求参数信息的模块名集合中;
C4、向工作模块发送代表该请求参数名已经被注册的已被注册命令后结束;
所述请求参数表包括多个请求参数信息,每个请求参数信息包括参数名以及模块名集合。
进一步,所述发布参数步骤,包括:
D1、第一工作模块向控制模块发送发布参数命令,所述发布参数命令包括要发布参数的参数名以及参数值;
D2、控制模块接收到发布参数命令后,查找请求参数表,得到与要发布参数的参数名对应的请求参数信息后,获取其模块名集合中的所有模块名;
D3、查找模块信息表,获得每个模块名所绑定的IP地址及UDP端口,然后将发布参数命令发送到对应的每个第二工作模块;
D4、第二工作模块接收到发布参数命令后,获取要发布参数的参数名及参数值,进而更新自身信息。
进一步,所述查询参数步骤,包括:
E1、第一工作模块向控制模块发送查询参数命令,所述查询参数命令包括第一工作模块的模块名以及要查询参数的参数名;
E2、控制模块接收到查询参数命令后,查找模块信息表,判断查询参数命令中的参数名是否存在模块信息表中,若是则执行步骤E3,反之,发送参数不存在命令到第一工作模块后结束;
E3、控制模块获取查询参数命令中的参数名在模块信息表中对应的IP地址及UDP端口后,将查询参数命令发送到对应的第二工作模块;
E4、第二工作模块接收到查询参数命令后,根据查询参数命令中的参数名获取相关参数值后生成反馈命令并发送到控制模块,所述反馈命令包括参数名、获取的参数值以及第一工作模块的模块名;
E5、控制模块接收到反馈命令后,查找模块信息表,获得反馈命令中的模块名所绑定的IP地址及UDP端口,然后将反馈命令发送到对应的第一工作模块;
E6、第一工作模块接收到反馈命令后,获取反馈命令中的参数名及参数值,进而更新自身信息。
进一步,所述设置参数步骤,包括:
F1、第一工作模块向控制模块发送设置参数命令,所述设置参数命令包括要设置参数的参数名以及参数值;
F2、控制模块接收到设置参数命令后,查找模块信息表,判断设置参数命令中的参数名是否存在模块信息表中,若是则执行步骤E3,反之,发送参数不存在命令到第一工作模块后结束;
F3、控制模块获取设置参数命令中的参数名在模块信息表中对应的IP地址及UDP端口后,将设置参数命令发送到对应的第二工作模块;
F4、第二工作模块接收到设置参数命令后,获取设置参数命令中的参数名及参数值,进而更新自身信息。
本发明的有益效果是:本发明的一种软件模块通信方法,通信网络包括控制模块以及与控制模块呈星形连接结构的多个工作模块,每个工作模块只连接唯一的控制模块并通过控制模块与分布式网络进行通信,具体包括以下通信步骤:模块注册步骤、参数名注册发布步骤、请求参数名注册步骤、发布参数步骤、查询参数步骤及设置参数步骤。本通信方法中,工作模块可以部署在同一主机,也可以部署在不同主机,工作模块不仅可以方便的发布参数、查询参数,而且还可以及时获取请求参数的信息,实现了工作模块的扁平化管理,从而各个工作模块可以发布消息,让其它工作模块接收,本方法开销小、通信方式灵活,而且可以使得工作模块的崩溃对通信网络的影响最小化。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1是本发明的一种软件模块通信方法的通信网络的结构示意图;
图2是本发明的一种软件模块通信方法的具体实施例中的通信格式示意图。
具体实施方式
本发明提供了一种软件模块通信方法,通信网络的结构如图1所示,包括控制模块以及与控制模块呈星形连接结构的多个工作模块,每个工作模块只连接唯一的控制模块并通过控制模块与分布式网络进行通信,具体包括以下通信步骤:模块注册步骤、参数名注册发布步骤、请求参数名注册步骤、发布参数步骤、查询参数步骤及设置参数步骤。
进一步作为优选的实施方式,所述模块注册步骤包括:
A1、每个工作模块依据配置文件绑定一个IP地址及一个UDP端口后,向控制模块建立UDP连接;
A2、工作模块向控制模块发送包含模块注册信息的模块注册命令,所述模块注册信息包括工作模块绑定的IP地址、UDP端口以及模块名;
A3、控制模块接收到模块注册命令后,查找模块信息表,判断模块注册命令中的模块名是否已被注册,若是则向工作模块发送注册失败命令后结束,反之,则执行步骤A4;
A4、控制模块将模块注册命令中的模块注册信息添加到模块信息表中,并向工作模块发送注册成功命令后结束;
所述模块信息表包括多个模块信息,每个模块信息包括模块名、IP地址、UDP端口及参数名集合。模块信息表是多个模块信息列表,每个模块信息用于唯一地代表一个工作模块,模块信息的参数名集合是指其代表的工作模块的所有参数名的集合,例如某个工作模块包括5个参数名,其参数名集合则包括这5个参数名。
控制模块包括模块信息表和请求参数表,当某个工作模块与控制模块建立连接后,控制模块将在模块信息表中添加该工作模块的模块信息,如本方法的模块注册步骤中所示。当某个工作模块向控制模块注册请求参数名成功后,控制模块将在请求参数表中添加对应的请求参数信息,如本方法的请求参数名注册步骤所示。
进一步作为优选的实施方式,所述参数名注册发布步骤包括:
B1、工作模块向控制模块发送参数名注册发布命令,所述参数名注册发布命令包括工作模块绑定的IP地址、UDP端口以及要注册发布的参数名;
B2、控制模块接收到参数名注册发布命令后,获取工作模块绑定的IP地址及UDP端口,查找模块信息表,判断要注册发布的参数名是否已经被该工作模块注册,若是,则执行步骤B3,反之,执行步骤B4;
B3、向工作模块发送代表该参数名已经被注册的已被注册命令后结束;
B4、将要注册发布的参数名添加到该工作模块的参数名集合中,并向该工作模块发送注册成功命令。
进一步作为优选的实施方式,所述请求参数名注册步骤,包括:
C1、工作模块向控制模块发送请求参数名注册命令,所述请求参数名注册命令包括工作模块的模块名以及要注册的请求参数名;
C2、控制模块接收到请求参数名注册命令后,查找请求参数表,判断要注册的请求参数名是否已经被注册,若是,则执行步骤C4,反之执行步骤C3;
C3、为请求参数表建立一个新的请求参数信息,并将请求参数名作为建立的请求参数信息的参数名,同时将工作模块的模块名添加到该请求参数信息的模块名集合中;
C4、向工作模块发送代表该请求参数名已经被注册的已被注册命令后结束;
所述请求参数表包括多个请求参数信息,每个请求参数信息包括参数名以及模块名集合。参数名为请求参数名,即请求接收的参数名,模块名集合表示所有请求接收参数的模块名。
进一步作为优选的实施方式,所述发布参数步骤,包括:
D1、第一工作模块向控制模块发送发布参数命令,所述发布参数命令包括要发布参数的参数名以及参数值;
D2、控制模块接收到发布参数命令后,查找请求参数表,得到与要发布参数的参数名对应的请求参数信息后,获取其模块名集合中的所有模块名;
D3、查找模块信息表,获得每个模块名所绑定的IP地址及UDP端口,然后将发布参数命令发送到对应的每个第二工作模块;
D4、第二工作模块接收到发布参数命令后,获取要发布参数的参数名及参数值,进而更新自身信息。
进一步作为优选的实施方式,所述查询参数步骤,包括:
E1、第一工作模块向控制模块发送查询参数命令,所述查询参数命令包括第一工作模块的模块名以及要查询参数的参数名;
E2、控制模块接收到查询参数命令后,查找模块信息表,判断查询参数命令中的参数名是否存在模块信息表中,若是则执行步骤E3,反之,发送参数不存在命令到第一工作模块后结束;
E3、控制模块获取查询参数命令中的参数名在模块信息表中对应的IP地址及UDP端口后,将查询参数命令发送到对应的第二工作模块;
E4、第二工作模块接收到查询参数命令后,根据查询参数命令中的参数名获取相关参数值后生成反馈命令并发送到控制模块,所述反馈命令包括参数名、获取的参数值以及第一工作模块的模块名;
E5、控制模块接收到反馈命令后,查找模块信息表,获得反馈命令中的模块名所绑定的IP地址及UDP端口,然后将反馈命令发送到对应的第一工作模块;
E6、第一工作模块接收到反馈命令后,获取反馈命令中的参数名及参数值,进而更新自身信息。
这里的第一工作模块、第二工作模块的前缀第一、第二用于区分两个工作模块,实际第一工作模块、第二工作模块均可以是通信网络中的任意工作模块,第一工作模块表示源模块,第二工作模块表示目的模块。
进一步作为优选的实施方式,所述设置参数步骤,包括:
F1、第一工作模块向控制模块发送设置参数命令,所述设置参数命令包括要设置参数的参数名以及参数值;
F2、控制模块接收到设置参数命令后,查找模块信息表,判断设置参数命令中的参数名是否存在模块信息表中,若是则执行步骤E3,反之,发送参数不存在命令到第一工作模块后结束;
F3、控制模块获取设置参数命令中的参数名在模块信息表中对应的IP地址及UDP端口后,将设置参数命令发送到对应的第二工作模块;
F4、第二工作模块接收到设置参数命令后,获取设置参数命令中的参数名及参数值,进而更新自身信息。
同样的,这里的第一工作模块、第二工作模块的前缀第一、第二用于区分两个工作模块,第一工作模块、第二工作模块均可以是通信网络中的任意工作模块,第一工作模块表示源模块,第二工作模块表示目的模块。
下面结合具体实施方式对本发明做进一步说明。
如图1所示,通信网络包括控制模块以及与控制模块呈星形连接结构的多个工作模块,每个工作模块只连接唯一的控制模块并通过控制模块与分布式网络进行通信,具体包括以下通信步骤:模块注册步骤、参数名注册发布步骤、请求参数名注册步骤、发布参数步骤、查询参数步骤及设置参数步骤。
控制模块是整个通信网络的中心模块,也是通信网络中第一个需要启动的模块,控制模块启动的过程为:绑定一个IP地址、UDP端口,例如192.168.0.2:2000,然后清空模块信息表和请求参数表。
一个具体的模块注册步骤如下:
控制模块的模块名为Controller,假设要注册模块的模块名为UIModule,其注册步骤如下:
步骤1-1,UIModule绑定一个IP地址、UDP端口,如192.168.0.2:2001;
步骤1-2,UIModule向Controller绑定的IP地址、UDP端口建立UDP连接,即向192.168.0.2:2000建立连接;
步骤1-3,UIModule发送包含模块注册信息的模块注册命令,模块注册信息包括UIModule绑定的IP地址、UDP端口以及模块名;
步骤1-4,Controller接收到模块注册命令后,向模块信息表中添加条目,条目的模块名为UIModule,IP地址为192.168.0.2,端口为2001,同时Controller向UIModule发送注册成功命令;
步骤1-5,UIModule接收到注册成功命令后,分析得到注册成功信息。
在模块注册步骤中,可以设置一个参数来指示模块注册是否成功,例如设定一个标识参数,若注册成功即将该参数赋值为1,否则为空值或0,工作模块根据控制模块返回的该标识信息可以判断注册是否成功。
根据以上步骤完成模块名为UIModule,NetworkModule, EncoderModule,TransferModule四个工作模块的注册后,得到的模块信息表如表1所示:
表1 模块信息表1
模块名 | IP地址 | UDP端口 | 参数名集合 |
UIModule | 192.168.0.2 | 2001 | 无 |
NetworkModule | 192.168.0.3 | 2000 | 无 |
EncoderModule | 192.168.0.2 | 2002 | 无 |
TransferModule | 192.168.0.3 | 2001 | 无 |
假设要进行参数名注册发布的工作模块的模块名为EncoderModule,要注册发布的参数名为Resolution(视频分辨率),具体的参数名注册发布步骤如下:
步骤2-1,EncoderModule发送参数名注册发布命令,参数名注册发布命令包括工作模块绑定的IP地址、UDP端口以及要注册发布的参数名;
步骤2-2,Controller接收到参数名注册发布命令后,获取EncoderModule绑定的IP地址及UDP端口,在表1的模块信息表1中进行匹配,定位到第3条条目,更新该条目的参数名集合,即添加Resolution到该条目中,然后向EncoderModule发送注册成功命令;
步骤2-3,EncoderModule接收注册成功命令后,分析得到注册成功信息。
同样的,可以采用上述步骤进行参数名为VideoInputWay(视频输入方式)的注册发布,这样,得到更新的模块信息表如表2所示:
表2 模块信息表2
模块名 | IP地址 | UDP 端口 | 参数名集合 |
UIModule | 192.168.0.2 | 2001 | 无 |
NetworkModule | 192.168.0.3 | 2000 | 无 |
EncoderModule | 192.168.0.2 | 2002 | Resolution,VideoInputWay |
TransferModule | 192.168.0.3 | 2001 | 无 |
模块名为UIModule的工作模块,进行请求参数名为Resolution的注册步骤如下:
步骤3-1,UIModule发送请求参数名注册命令,请求参数名注册命令包括工作模块的模块名UIModule以及要注册的请求参数名Resolution;
步骤3-2,Controller接收到请求参数名注册命令后,查找请求参数表,前面提到,请求参数表被清空,因此此时请求参数表为空表,故Controller向请求参数表添加条目,条目的参数名为Resolution,模块名为UIModule,同时向UIModule发送注册成功命令;
步骤3-3,UIModule接收到注册成功命令后,分析得到注册成功信息。
接下来,模块名为TransferModule的工作模块,进行请求参数名为Resolution的注册步骤如下:
步骤3-4,TransferModule发送请求参数名注册命令,请求参数名注册命令包括工作模块的模块名TransferModule以及要注册的请求参数名Resolution;
步骤3-5,Controller接收到请求参数名注册命令后,查找请求参数表,此时在请求参数表中匹配定位到第一条条目,故Controller更新该条目的请求参数信息,添加模块名TransferModule到该请求参数信息的模块名集合中,同时向TransferModule发送注册成功命令;
步骤3-6,TransferModule接收到注册成功命令后,分析得到注册成功信息。
完成步骤3-1至3-6后,获得的请求参数表如表3所示:
表3 请求参数表
参数名 | 模块名集合 |
Resolution | UIModule,TransferModule |
模块名为EncoderModule的工作模块,发布参数为Resolution的参数值的步骤如下:
步骤4-1,EncoderModule发送发布参数命令,发布参数命令包括要发布参数的参数名Resolution以及参数值;
步骤4-2,Controller接收到发布参数命令后,查找如表3的请求参数表,在请求参数表中匹配定位到第1条条目,获取该条目的模块名集合中的所有模块名UIModule和TransferModule;
步骤4-3,Controller查找表2中的模块信息表2,获得每个模块名所绑定的IP地址和UDP端口,然后将发布参数命令转发到对应的工作模块;例如对于UIModule,查找表2的模块信息表2,得到对应IP和端口为:192.168.0.2:2001,然后把发布参数命令转发到UIModule;
步骤4-4,工作模块接收到发布参数命令后,获取要发布参数的参数名及参数值,进而更新自身信息;例如UIModule接到Resolution的参数值后,就可以更新相应值。
模块名为UIModule的工作模块,查询参数名为Resolution的具体参数的步骤如下:
步骤5-1,UIModule向控制模块发送查询参数命令,查询参数命令包括模块名UIModule以及要查询参数的参数名Resolution;
步骤5-2,Controller接收到查询参数命令后,查找表2中的模块信息表2,在参数名集合中查找Resolution,定位到第3条条目,然后获取第3条条目对应的IP地址:192.168.0.2,以及UDP端口:2002,将查询参数命令转发到工作模块EncoderModule;
步骤5-3,EncoderModule接收到查询参数命令后,根据查询参数命令中的参数名Resolution获取自身的Resolution参数值后生成反馈命令并发送到Controller,反馈命令包括参数名Resolution、获取的参数值以及模块名UIModule;
步骤5-4,Controller接收到反馈命令,查找表2中的模块信息表2,定位到工作模块UIModule的IP地址及UDP端口,然后将反馈命令转发到UIModule;
步骤5-5,UIModule接收到反馈命令后,获取反馈命令中的参数名Resolution及参数值,然后更新自身的Resolution参数值。
模块名为TransferModule的工作模块,对参数名为VideoInputWay的参数进行参数设置的步骤如下:
步骤6-1,TransferModule发送设置参数命令,设置参数命令包括要设置参数的参数名以及参数值;
步骤6-2,Controller接收到设置参数命令后,查找表2中的模块信息表2,在参数名集合中查找VideoInputWay,定位到第3条条目,然后获取第3条条目对应的IP地址:192.168.0.2,以及UDP端口:2002,将设置参数命令转发到工作模块EncoderModule;
步骤6-3,EncoderModule收到设置参数命令后,获取设置参数命令中的参数名VideoInputWay及参数值,进而更新自身的VideoInputWay参数值。
本方法中,工作模块与控制模块进行通信可以采用如图2所示的通信格式,其中,sourceModuleName表示源模块名,destinationModuleName表示目的模块名,cmd表示命令名,parameter1表示命令参数1,parameter2length表示命令参数2长度,parameter2data表示命令参数2,当parameter2length为0且无parameter2data时表示参数2(parameter2)为空。
不管采用何种通信格式进行通信,只要采用了本发明的软件模块的通信方法进行通信的,均落在本发明的保护范围内。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。
Claims (4)
1.一种软件模块通信方法,其特征在于,通信网络包括控制模块以及与控制模块呈星形连接结构的多个工作模块,每个工作模块只连接唯一的控制模块并通过控制模块与分布式网络进行通信,具体包括以下通信步骤:模块注册步骤、参数名注册发布步骤、请求参数名注册步骤、发布参数步骤、查询参数步骤及设置参数步骤;
所述模块注册步骤中,通过设置标识参数来指示模块注册是否成功;所述模块注册步骤包括A1~A4:
A1、每个工作模块依据配置文件绑定一个IP地址及一个UDP端口后,向控制模块建立UDP连接;
A2、工作模块向控制模块发送包含模块注册信息的模块注册命令,所述模块注册信息包括工作模块绑定的IP地址、UDP端口以及模块名;
A3、控制模块接收到模块注册命令后,查找模块信息表,判断模块注册命令中的模块名是否已被注册,若是则向工作模块发送注册失败命令后结束,反之,则执行步骤A4;
A4、控制模块将模块注册命令中的模块注册信息添加到模块信息表中,并向工作模块发送注册成功命令后结束;
所述模块信息表包括多个模块信息,每个模块信息包括模块名、IP地址、UDP端口及参数名集合;
所述查询参数步骤,包括E1~E4:
E1、第一工作模块向控制模块发送查询参数命令,所述查询参数命令包括第一工作模块的模块名以及要查询参数的参数名;
E2、控制模块接收到查询参数命令后,查找模块信息表,判断查询参数命令中的参数名是否存在模块信息表中,若是则执行步骤E3,反之,发送参数不存在命令到第一工作模块后结束;
E3、控制模块获取查询参数命令中的参数名在模块信息表中对应的IP地址及UDP端口后,将查询参数命令发送到对应的第二工作模块;
E4、第二工作模块接收到查询参数命令后,根据查询参数命令中的参数名获取相关参数值后生成反馈命令并发送到控制模块,所述反馈命令包括参数名、获取的参数值以及第一工作模块的模块名;
E5、控制模块接收到反馈命令后,查找模块信息表,获得反馈命令中的模块名所绑定的IP地址及UDP端口,然后将反馈命令发送到对应的第一工作模块;
E6、第一工作模块接收到反馈命令后,获取反馈命令中的参数名及参数值,进而更新自身信息;
所述设置参数步骤,包括F1~F4:
F1、第一工作模块向控制模块发送设置参数命令,所述设置参数命令包括要设置参数的参数名以及参数值;
F2、控制模块接收到设置参数命令后,查找模块信息表,判断设置参数命令中的参数名是否存在模块信息表中,若是则执行步骤E3,反之,发送参数不存在命令到第一工作模块后结束;
F3、控制模块获取设置参数命令中的参数名在模块信息表中对应的IP地址及UDP端口后,将设置参数命令发送到对应的第二工作模块;
F4、第二工作模块接收到设置参数命令后,获取设置参数命令中的参数名及参数值,进而更新自身信息。
2.根据权利要求1所述的一种软件模块通信方法,其特征在于,所述参数名注册发布步骤包括:
B1、工作模块向控制模块发送参数名注册发布命令,所述参数名注册发布命令包括工作模块绑定的IP地址、UDP端口以及要注册发布的参数名;
B2、控制模块接收到参数名注册发布命令后,获取工作模块绑定的IP地址及UDP端口,查找模块信息表,判断要注册发布的参数名是否已经被该工作模块注册,若是,则执行步骤B3,反之,执行步骤B4;
B3、向工作模块发送代表该参数名已经被注册的已被注册命令后结束;
B4、将要注册发布的参数名添加到该工作模块的参数名集合中,并向该工作模块发送注册成功命令。
3.根据权利要求1所述的一种软件模块通信方法,其特征在于,所述请求参数名注册步骤,包括:
C1、工作模块向控制模块发送请求参数名注册命令,所述请求参数名注册命令包括工作模块的模块名以及要注册的请求参数名;
C2、控制模块接收到请求参数名注册命令后,查找请求参数表,判断要注册的请求参数名是否已经被注册,若是,则执行步骤C4,反之执行步骤C3;
C3、为请求参数表建立一个新的请求参数信息,并将请求参数名作为建立的请求参数信息的参数名,同时将工作模块的模块名添加到该请求参数信息的模块名集合中;
C4、向工作模块发送代表该请求参数名已经被注册的已被注册命令后结束;
所述请求参数表包括多个请求参数信息,每个请求参数信息包括参数名以及模块名集合。
4.根据权利要求3所述的一种软件模块通信方法,其特征在于,所述发布参数步骤,包括:
D1、第一工作模块向控制模块发送发布参数命令,所述发布参数命令包括要发布参数的参数名以及参数值;
D2、控制模块接收到发布参数命令后,查找请求参数表,得到与要发布参数的参数名对应的请求参数信息后,获取其模块名集合中的所有模块名;
D3、查找模块信息表,获得每个模块名所绑定的IP地址及UDP端口,然后将发布参数命令发送到对应的每个第二工作模块;
D4、第二工作模块接收到发布参数命令后,获取要发布参数的参数名及参数值,进而更新自身信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410459273.2A CN104301447B (zh) | 2014-09-10 | 2014-09-10 | 一种软件模块通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410459273.2A CN104301447B (zh) | 2014-09-10 | 2014-09-10 | 一种软件模块通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104301447A CN104301447A (zh) | 2015-01-21 |
CN104301447B true CN104301447B (zh) | 2018-04-27 |
Family
ID=52321010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410459273.2A Active CN104301447B (zh) | 2014-09-10 | 2014-09-10 | 一种软件模块通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104301447B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955830B (zh) * | 2016-04-29 | 2019-09-17 | 瑞斯康达科技发展股份有限公司 | 一种应用模块间的通信方法及系统 |
CN112308590B (zh) * | 2019-08-01 | 2023-07-04 | 腾讯科技(深圳)有限公司 | 一种参数处理方法、装置以及计算设备、存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103152428A (zh) * | 2013-03-19 | 2013-06-12 | 汉柏科技有限公司 | 云平台上节点间进行服务通信的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1848760A (zh) * | 2005-08-30 | 2006-10-18 | 华为技术有限公司 | 软件组件参数配置方法及系统、及其终端设备 |
JP2007241610A (ja) * | 2006-03-08 | 2007-09-20 | Toshiba Corp | ソフトウェア部品管理装置、ソフトウェア部品管理方法、およびソフトウェア部品 |
CN101299187A (zh) * | 2008-07-01 | 2008-11-05 | 腾讯科技(深圳)有限公司 | 软件组件管理系统及方法 |
-
2014
- 2014-09-10 CN CN201410459273.2A patent/CN104301447B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103152428A (zh) * | 2013-03-19 | 2013-06-12 | 汉柏科技有限公司 | 云平台上节点间进行服务通信的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104301447A (zh) | 2015-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104581419B (zh) | 基于android智能机顶盒的双网实现方法 | |
CN104184663B (zh) | 基于软件定义网络和一体化标识网络的通信方法和装置 | |
CN106375175A (zh) | 一种汽车诊断刷写电子控制单元的方法及系统 | |
CN101808034B (zh) | 一种路由管理方法和设备 | |
CN103416010A (zh) | 网络在协议之间的自动转换 | |
CN105577548A (zh) | 一种软件定义网络中报文处理方法和装置 | |
CN101951325A (zh) | 基于自动发现的网络终端配置系统及其配置方法 | |
CN104205749B (zh) | 一种通信系统、上层交换机、控制装置及交换机控制方法 | |
CN104158868B (zh) | 一种文件传输方法和管理服务器 | |
WO2014023160A1 (en) | Forwarding packet in stacking system | |
CN105704206A (zh) | 与led显示控制卡进行以太网通信的实现方法 | |
CN104301447B (zh) | 一种软件模块通信方法 | |
CN101945026B (zh) | 控制局域网络中应用层数据传输方法和控制局域网络系统 | |
CN107071036A (zh) | 一种下载驱动文件的方法、网络服务器及系统 | |
CN110069288A (zh) | Usb设备共享方法、装置及系统 | |
WO2022160864A1 (zh) | 用于智能设备入网的方法、装置及智能设备 | |
WO2020063466A1 (zh) | 接入点管理 | |
CN109120556B (zh) | 一种云主机访问对象存储服务器的方法及系统 | |
CN107846304A (zh) | 一种混合云服务基础架构集中化管理的自动化引擎 | |
CN103957242A (zh) | 一种ip虚拟化转换的物联网网关 | |
CN103780434A (zh) | 大型分布式系统无人值守自动组网方法 | |
CN106713164A (zh) | 一种交换机端口间流量均衡系统、方法及装置 | |
CN103476019B (zh) | 一种获取接入点名称的方法及系统、归属用户服务器 | |
CN106028311A (zh) | 一种终端注册方法及装置 | |
CN103765819B (zh) | 一种数据配置方法及网络管理服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |