CN113382085A - 进程通信***及方法 - Google Patents
进程通信***及方法 Download PDFInfo
- Publication number
- CN113382085A CN113382085A CN202110739814.7A CN202110739814A CN113382085A CN 113382085 A CN113382085 A CN 113382085A CN 202110739814 A CN202110739814 A CN 202110739814A CN 113382085 A CN113382085 A CN 113382085A
- Authority
- CN
- China
- Prior art keywords
- message
- module
- bus system
- dbus
- modules
- 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 213
- 230000008569 process Effects 0.000 title claims abstract description 182
- 238000004891 communication Methods 0.000 title claims abstract description 50
- 238000012545 processing Methods 0.000 claims description 40
- 238000003032 molecular docking Methods 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000003993 interaction Effects 0.000 claims description 6
- 230000008878 coupling Effects 0.000 abstract description 10
- 238000010168 coupling process Methods 0.000 abstract description 10
- 238000005859 coupling reaction Methods 0.000 abstract description 10
- 238000011161 development Methods 0.000 abstract description 8
- 230000018109 developmental process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 210000001503 joint Anatomy 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Images
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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种进程通信***及方法。其中,进程通信***包括多个进程模块;多个所述进程模块与DBUS总线***连接,其中一个进程模块发送消息至所述DBUS总线***后,其他进程模块通过DBUS总线***接收到所述消息。采用本发明提供的方案能减少消息的发送次数,降低进程模块之间的耦合程度,缩短产品的开发周期。
Description
技术领域
本发明涉及拾音技术领域,尤其涉及一种进程通信***及方法。
背景技术
目前,现有的拾音设备***架构中,进程模块之间通常采用消息队列或http协议请求等消息通信机制进行消息通信。如图1、图2所示,图1示出了一种采用http协议请求进行消息通信的架构,图2示出了一种采用消息队列进行消息通信的架构。图1中,各个进程模块之间通过http协议请求一对一地相互发送消息,如一个进程模块需要发送消息给多个进程模块,需要分别对应发送多次。图2中,进程模块通过消息队列发送消息,进程模块将消息以及该消息指定的接收模块发送给消息队列,由消息队列将该消息发送给指定的接收模块,当进程模块需要给多个进程模块发送消息时,需要分别发送多次消息给消息队列,由消息队列将消息分多次发送给对应的接收模块。
由此,现有的拾音设备***架构中,各进程模块之间发送消息,往往同一个消息需要发送多次,导致***通信效率较低;同时,通信逻辑为非常复杂的网状结构,对各个模块依赖程度很高,不易调试和维护。
发明内容
本发明的目的在于提供一种进程通信***及方法,简化了复杂的网状结构,降低模块之间的耦合程度。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种进程通信***,包括多个进程模块;
多个进程模块与DBUS总线***连接,其中一个进程模块发送消息至DBUS总线***后,其他进程模块通过DBUS总线***接收到消息。
上述方案中,多个进程模块包括:
***管理模块,用于获取***配置参数,并根据***配置参数进行***配置管理;
传感器处理模块,用于对传感器进行参数配置,获取传感器采集到的音频信息,并对音频信息进行音频处理;
多媒体处理模块,用于对音频信息进行格式处理,以使得音频信息能够按照预设格式发送给外部服务器;
平台对接模块,用于与外部服务器连接,通过与外部服务器进行交互,向外部服务器发送数据或接收外部服务器发送过来的数据;
配置工具模块,用于对***的网络参数进行配置。
上述方案中,消息具有消息头,消息头包括源地址和目标地址,源地址表征发送消息的进程模块,目标地址表征接收消息的进程模块,目标地址包括一个或多个进程模块。
上述方案中,进程模块还包括解析模块,解析模块用于解析消息的目标地址。
本发明实施例还提供了一种进程通信方法,包括:
将消息通过DBUS总线***发送给与DBUS总线***连接的进程模块,或接收与DBUS总线***连接的进程模块发送至DBUS总线***上的消息。
上述方案中,方法还包括:
通过网络传输协议发送包含源地址和目标地址的消息至DBUS总线***,或接收DBUS总线***发送过来的包含源地址和目标地址的消息;其中,源地址表征发送消息的进程模块,目标地址表征接收消息的进程模块,目标地址包括一个或多个进程模块。
上述方案中,方法还包括:
接收DBUS总线***发送过来的包含源地址和目标地址的消息时,解析目标地址,仅在目标地址包含本进程模块时获取消息。
上述方案中,方法还包括:
使用检测回调函数解析目标地址。
上述方案中,接收DBUS总线***发送过来的包含源地址和目标地址的消息之前包括:
获取消息的类型;
仅在消息类型为注册类型时,接收消息;其中,注册类型为进程模块与DBUS总线***创建连接时所设定的消息类型。
上述方案中,获取消息的类型包括:
获取消息的接口名称和信号名称;
根据接口名称和信号名称,确定消息的类型。
本发明实施例提供的进程通信***及方法,多个进程模块与DBUS总线***连接,其中一个进程模块发送消息至DBUS总线***后,其他进程模块通过DBUS总线***接收到消息。采用本发明提供的方案能减少消息的发送次数,降低进程模块之间的耦合程度,缩短产品的开发周期。
附图说明
图1为现有技术拾音设备的消息发送架构示意图;
图2为现有技术另一拾音设备的消息发送架构示意图;
图3为本发明实施例进程通信***的结构示意图;
图4为本发明应用实施例模块关系示意图;
图5为本发明应用实施例***框架示意图。
具体实施方式
下面将结合附图及实施例对本发明作进一步详细的描述。
本发明实施例提供了一种进程通信***,应用于拾音设备,如图3所示,该进程通信***包括多个进程模块;
多个所述进程模块与DBUS总线***连接,其中一个进程模块发送消息至所述DBUS总线***后,其他进程模块通过DBUS总线***接收到所述消息。
DBUS总线***是一种高级的进程间通信机制。DBUS总线***支持进程间一对一和多对多的消息通信。在DBUS通信机制中,一个进程模块向DBUS总线***发送消息后,与DBUS总线***建立连接的其余所有进程模块都能收到该消息。因此,当一个进程模块需要给多个进程模块发送同一消息时,仅需要发送一次,减少了消息的发送次数。另外,由于各个进程模块是通过DBUS总线***给其他进程模块发送消息,因此,各个进程模块之间的耦合程度较低,便于***进程模块的快速增加和裁剪,减少了产品的开发周期。
进一步地,基于拾音设备的多种功能(例如采集音频信息、提取音频特征、发送给外部服务器等),本实施例提供了一种拾音设备进程模块的划分方式:
具体地,在一实施例中,所述多个进程模块包括:
***管理模块,用于获取***配置参数,并根据所述***配置参数进行***配置管理;
传感器处理模块,用于对传感器进行参数配置,获取所述传感器采集到的音频信息,并对所述音频信息进行音频处理;
多媒体处理模块,用于对所述音频信息进行格式处理,以使得所述音频信息能够按照预设格式发送给外部服务器;
平台对接模块,用于与外部服务器连接,通过与所述外部服务器进行交互,向所述外部服务器发送数据或接收所述外部服务器发送过来的数据;
配置工具模块,用于对所述***的网络参数进行配置。
实际应用时,上述进程模块可由拾音设备***中的处理器实现。
这里,音频处理包括音频信息的特征提取、异常检测和报警识别。格式处理包括对音频信息进行编码、打包以及提供流媒体服务。
由于拾音设备在使用过程中需要执行多种功能,基于拾音设备的相关功能,本实施例在拾音设备***的应用架构中将进程模块划分为这5种进程模块,既能保证准确执行拾音设备的相关功能,同时又能减少进程模块的数量,另外使得不同过程中的相关功能都通过一个进程模块进行控制,避免进程模块划分混乱。
另外,本实施例基于上述5种进程模块,利用DBUS总线***进行消息传输,既能实现多个进程模块之间的通信,又能降低***耦合度,使得***能够非常快捷地进行新功能增加和旧功能裁剪;同时,模块化架构程序适合多人协同开发,极大提高开发效率;各个模块能够方便单独测试,极大减少了测试时间和测试难度。
进一步地,在一实施例中,所述消息具有消息头,所述消息头包括源地址和目标地址,所述源地址表征发送所述消息的进程模块,所述目标地址表征接收所述消息的进程模块,所述目标地址包括一个或多个进程模块。
实际应用时,消息的具体格式可以为:
{
Head:{
Command:"某个业务",//请求命令
SN:"123",//消息序列号
Src:"***管理模块",//源地址
Dst:"传感器模块"//目标地址
},
Data:{
xxx
}
}
这里,进程模块可通过网络传输协议发送或接收消息。例如Json网络传输协议。利用Json网络传输协议传输消息时,可在协议头中设置源地址和目标地址。
另外,进程模块可通过目标地址确定是否接收该消息,当目标地址为该进程模块时,接收该消息,当目标地址不为该进程模块时,放弃该消息。这样,可减少进程模块处理消息的数量。另外,当目标地址包含多个进程模块时,可实现消息的一对多通信,例如该目标地址为所有进程模块时,所有进程模块都为该消息的指定接收模块,本实施例中,进程模块可理解为广播。
在一实施例中,所述进程模块还包括解析模块,所述解析模块用于解析所述消息的目标地址。
实际应用时,该解析模块可以为检测回调函数,进程模块可利用该检测回调函数解析所述消息的目标地址。具体地,该检测回调函数可以为int DbusRecvCB(const char*msg,void*userData)。
本发明实施例提供的进程通信***,多个进程模块均与DBUS总线***连接,进程模块发送消息至DBUS总线***后,与DBUS总线***连接的其余进程模块均能接收到消息。采用本发明提供的方案能减少消息的发送次数,降低进程模块之间的耦合程度,缩短产品的开发周期。
基于上述进程通信***,本发明实施例还提供了一种进程通信方法,应用于拾音设备中的多个进程模块,所述方法包括:
将消息通过DBUS总线***发送给与所述DBUS总线***连接的进程模块,或接收与所述DBUS总线***连接的进程模块发送至所述DBUS总线***上的消息。
实际应用时,所述进程模块可以包括以下进程模块:
***管理模块,用于获取***配置参数,并根据所述***配置参数进行***配置管理;
传感器处理模块,用于对传感器进行参数配置,获取所述传感器采集到的音频信息,并对所述音频信息进行音频处理;
多媒体处理模块,用于对所述音频信息进行格式处理,以使得所述音频信息能够按照预设格式发送给外部服务器;
平台对接模块,与外部服务器连接,用于与所述外部服务器进行交互,向所述外部服务器发送数据或接收所述外部服务器发送过来的数据;
配置工具模块,用于对所述***的网络参数进行配置。
各个进程模块之间可以通过DBUS总线***进行消息的传输。
这里,DBUS总线***是一种高级的进程间通信机制。DBUS总线***支持进程间一对一和多对多的消息通信。在DBUS通信机制中,一个进程模块向DBUS总线***发送消息后,与DBUS总线***建立连接的其余所有进程模块都能收到该消息。因此,当一个进程模块需要给多个进程模块发送同一消息时,仅需要发送一次,减少了消息的发送次数。另外,由于各个进程模块是通过DBUS总线***给其他进程模块发送消息,因此,各个进程模块之间的耦合程度较低,便于***进程模块的快速增加和裁剪,减少了产品的开发周期。
实际应用时,为了减少进程模块处理消息的数量,实现消息的定向发送,在一实施例中,所述方法还包括:
通过网络传输协议发送包含源地址和目标地址的消息至所述DBUS总线***,或接收所述DBUS总线***发送过来的包含源地址和目标地址的消息;其中,所述源地址表征发送所述消息的进程模块,所述目标地址表征接收所述消息的进程模块,所述目标地址包括一个或多个进程模块。
这里,网络传输协议可为Json网络传输协议。利用Json网络传输协议传输消息时,可在协议头中设置源地址和目标地址。
进一步地,在一实施例中,所述方法还包括:
接收所述DBUS总线***发送过来的包含源地址和目标地址的消息时,解析所述目标地址,仅在所述目标地址包含本进程模块时获取所述消息。
另外,在所述目标地址不包含本进程模块时,可放弃该消息。
由于每个进程模块仅接收目标地址为本进程模块的消息,因此,可减少进程模块处理消息的数量,实现消息的定向发送。
实际应用时,可利用该检测回调函数解析所述消息的目标地址。具体地,该检测回调函数可以为int DbusRecvCB(const char*msg,void*userData)。
此外,为进一步减少进程模块处理消息的数量,在一实施例中,所述接收所述DBUS总线***发送过来的包含源地址和目标地址的消息之前包括:
获取所述消息的类型;
仅在消息类型为注册类型时,接收所述消息;其中,所述注册类型为所述进程模块与所述DBUS总线***创建连接时所设定的消息类型。
实际应用时,可获取所述消息的接口名称和信号名称;根据所述接口名称和所述信号名称,确定所述消息的类型。
具体地,进程模块在通过DBUS总线发送和接收消息之前,需先与DBUS总线建立连接,再利用该连接发送或接收消息。进程模块在利用该连接发送消息时会确定消息的接口名称和信号名称。
进一步地,进程模块利用DBUS总线***发送和接收消息可以划分为以下三个过程:1创建dbus连接的过程,2接收信号的过程,3发送信号的过程。
具体地,过程1创建dbus连接的过程可以包括:
1)创建一个DBUS连接
可通过如下函数创建DBUS连接:
fDBusConnection=dbus_bus_get(DBUS_BUS_SYSTEM,&err);
2)为DBUS连接命名
可通过如下函数进行命名:
dbus_bus_request_name(fDBusConnection,"com.app.broadcast",DBUS_NAME_FLAG_REPLACE_EXISTING,&err);
3)为连接添加匹配条件
可通过如下函数添加匹配条件:
dbus_bus_add_match(fDBusConnection,"type='signal',interface='com.app.Type'",&err)。
过程2接收信号的过程可以包括:
4)监听循环
可通过如下函数进行监听:
dbus_connection_read_write(fDBusConnection,0);
5)如监听到消息,从总线上取出消息
可通过如下函数进行抽取:
msg=dbus_connection_pop_message(fDBusConnection);
6)检测是否设定的信号类型消息
可通过如下函数进行检测:
dbus_message_is_signal(msg,"com.app.Type","Msg");
7)提取参数的类型和参数
可通过如下函数进行提取:
dbus_message_iter_init(msg,&arg);
dbus_message_iter_get_basic(&arg,&sigvalue);
8)调用回调函数
可通过如下函数进行调用:
DbusRecvCB(sigvalue,fUserdata)。
过程3发送信号的过程可以包括:
9)建立一个发送信号的通道,"com.app.Type"为接口名,"Msg"为信号名;
可通过如下函数进行创建:
msg=dbus_message_new_signal("/com/signal/Object","com.app.Type","Msg");
10)初始化信号对应的相关参数
可通过如下函数进行初始化:
dbus_message_iter_init_append(msg,&arg);
dbus_message_iter_append_basic(&arg,DBUS_TYPE_STRING,&sigvalue);
11)发送
可通过如下函数进行初始化:
dbus_connection_send(fDBusConnection,msg,&serial);
dbus_connection_flush(fDBusConnection)。
通过上述过程可知,进程模块在注册DBUS连接或发送消息时,可以通过接口名称"com.app.Type"和信号名称"Msg"来判断该消息的类型,从而确定是否处理该消息。
这里,接口名称和信号名称可以自由定义。实际应用时,只需要发送端dbus_message_new_signal和接收端dbus_message_is_signal定的接口名称和信号名称相同,接收端就可以接收到发送端发送过来的消息;不相同时,接收端就不能接收到发送端发送过来的消息。基于此,可通过对不同的应用进程注册不通的接口名称或信号名称,来实现信号的分类处理。
本发明实施例提供的进程通信方法,多个进程模块均与DBUS总线***连接,进程模块发送消息至DBUS总线***后,与DBUS总线***连接的其余进程模块均能接收到消息。采用本发明提供的方案能减少消息的发送次数,降低进程模块之间的耦合程度,缩短产品的开发周期。
下面结合应用实施例对本发明再作进一步详细的描述。
在以往的应用程序框架中,同一个进程需要非常多的功能模块,各个功能模块之间互相牵制,耦合性高。在这样的架构模式下,当需要加入新的功能模块时,或者需要去掉某些功能模块时,需要改动整个框架。严重时,甚至还会引入新的问题。因此,每次功能修改都改动较大,使得***开发复杂,维护成本高。此外即使修改完毕,开发人员还需对整个应用***进行大量测试,测试难度大。
另外,现有的应用程序框架模块之间消息的发送次数较多,这里,以http协议建立client和server的方式进行进程间通信为例进行说明。由于采用http协议点对点的通信方式,如果非常多进程模块需要互相进行数据交互,就会形成一种复杂的网状通信结构,当某个进程需要通知所有进程的时候,就需要多次发送消息。效率很低,代码量较大。
基于此,本实施例提出了一种通过DBUS总线***(a message bus system,DBUS),利用DBUS总线***广播的特性,结合带有源地址和目标地址的json协议头,解决在进程模块之间进行协议数据请求和回复次数较多的问题,实现***中协议请求可广播可定向通信传输;同时本实施例简化了复杂的网状架构结构,降低进程模块之间的耦合度,便于***模块的快速增加和裁剪,缩短了产品开发周期。
具体地,参见图4,本应用实施例提供了一种通信***,该通信***包含以下模块:***管理模块、传感器处理模块、多媒体处理模块、平台对接模块、配置工具模块。具体地,上述模块分别执行如下功能:
***管理模块:获取***默认配置,初始化***和硬件,接收相关参数配置并保存配置文件。
传感器处理模块:采用支持多音频通道的声卡,采集音频数据,并能对声卡传感器进行参数配置,对音频数据进行特征提取,异常检测,报警识别等。
多媒体处理模块:对传感器模块推送过来的数据进行编码,打包以及提供流媒体服务给第三方拉流。
平台对接模块:与云端平台进行协议交互,主动向平台服务器上报设备状态、音频、特征、报警等数据和状态,同时接收平台端下发的请求并响应。
配置工具模块:对设备的网络参数和序列号等进行配置和固化。
实际应用时,上述模块通过发送消息来协同完成拾音设备的相关操作,以实现拾音设备的多种功能。
另外,以上各个模块之间均可灵活便捷的利用DBUS总线***进行消息发送和消息接收。
进一步地,参见图5,各个模块之间可利用消息的消息头确定目标发送模块。
这里,消息头格式可包括源地址和目标地址,格式可以为[源地址,目标地址],源地址表示此条通信消息的发送模块,目标地址表示此条通信消息的接收模块。模块在接收到消息后,仅处理目标地址为自己或者为广播类型的消息。
实际应用时,***管理模块、传感器处理模块、多媒体处理模块、平台对接模块和配置工具模块之间会通过DBUS总线***进行消息的通信,当其中任一模块发送消息至DBUS总线***后,其余模块均能通过所述DBUS总线***收到该消息。同时,其余模块在接收到消息后,会解析该消息的源地址和目标地址,仅当该目标地址为本模块或该目标地址为广播时处理该消息。
以其中图5所示的一种情况进行说明:
当***管理模块通过DBUS总线***发送接收对象为其余所有模块的广播消息【S,B】时,其余模块如传感器处理模块、多媒体处理模块、平台对接模块和配置工具模块均能接收到该信息,同时,其余模块如传感器处理模块、多媒体处理模块、平台对接模块和配置工具模块在接收到该消息后,会对该消息进行解析,获取该消息消息头中的源地址和目标地址。当判断该消息的目标地址为广播时,其余模块如传感器处理模块、多媒体处理模块、平台对接模块和配置工具模块会对该消息进行处理,同时,会给***管理模块返回消息,例如,多媒体处理模块返回接收对象为***管理模块的消息【M,S】,传感器处理模块返回接收对象为***管理模块的消息【A,S】,平台对接模块返回接收对象为***管理模块的消息【P,S】,配置工具模块返回接收对象为***管理模块的消息【C,S】。上述返回的消息能被DBUS总线***上的所有模块接收,但只有***管理模块在接收到上述返回消息后,解析上述返回消息的目标地址为本模块,会对上述返回消息进行处理;其余模块如传感器处理模块、多媒体处理模块、平台对接模块和配置工具模块在接收到上述返回消息后,解析上述返回消息的目标地址不是本模块,会放弃上述返回消息。
这里,需要说明的是,图5中的S表示***管理模块;M表示多媒体处理模块;A表示传感器处理模块;P表示平台对接模块;C表示配置工具模块;B表示广播(可理解为所有模块为接收模块)。
通过上述过程可知,本实施例利用DBUS总线广播的特性,结合带有源地址和目标地址的Json协议头,在进程之间进行协议数据请求和回复,实现协议请求可广播可定向,简化了多个进程之间的协议交互复性;并可以实现对同一消息进行一次广播发送,所有模块均能及时可靠接收,还可根据消息头进行一对一定向通信,对消息进行分类处理,提高了通信效率和消息处理效率,较大降低了模块间通信的复杂程度。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种进程通信***,其特征在于,包括多个进程模块;
多个所述进程模块与DBUS总线***连接,其中一个进程模块发送消息至所述DBUS总线***后,其他进程模块通过DBUS总线***接收到所述消息。
2.根据权利要求1所述的进程通信***,其特征在于,多个所述进程模块包括:
***管理模块,用于获取***配置参数,并根据所述***配置参数进行***配置管理;
传感器处理模块,用于对传感器进行参数配置,获取所述传感器采集到的音频信息,并对所述音频信息进行音频处理;
多媒体处理模块,用于对所述音频信息进行格式处理,以使得所述音频信息能够按照预设格式发送给外部服务器;
平台对接模块,用于与外部服务器连接,通过与所述外部服务器进行交互,向所述外部服务器发送数据或接收所述外部服务器发送过来的数据;
配置工具模块,用于对所述***的网络参数进行配置。
3.根据权利要求1所述的进程通信***,其特征在于,所述消息具有消息头,所述消息头包括源地址和目标地址,所述源地址表征发送所述消息的进程模块,所述目标地址表征接收所述消息的进程模块,所述目标地址包括一个或多个进程模块。
4.根据权利要求3所述的进程通信***,其特征在于,所述进程模块还包括解析模块,所述解析模块用于解析所述消息的目标地址。
5.一种进程通信方法,其特征在于,包括:
将消息通过DBUS总线***发送给与所述DBUS总线***连接的进程模块,或接收与所述DBUS总线***连接的进程模块发送至所述DBUS总线***上的消息。
6.根据权利要求5所述的进程通信方法,其特征在于,所述方法还包括:
通过网络传输协议发送包含源地址和目标地址的消息至所述DBUS总线***,或接收所述DBUS总线***发送过来的包含源地址和目标地址的消息;其中,所述源地址表征发送所述消息的进程模块,所述目标地址表征接收所述消息的进程模块,所述目标地址包括一个或多个进程模块。
7.根据权利要求6所述的进程通信方法,其特征在于,所述方法还包括:
接收所述DBUS总线***发送过来的包含源地址和目标地址的消息时,解析所述目标地址,仅在所述目标地址包含本进程模块时获取所述消息。
8.根据权利要求7所述的进程通信方法,其特征在于,所述方法还包括:
使用检测回调函数解析所述目标地址。
9.根据权利要求7所述的进程通信方法,其特征在于,所述接收所述DBUS总线***发送过来的包含源地址和目标地址的消息之前包括:
获取所述消息的类型;
仅在消息类型为注册类型时,接收所述消息;其中,所述注册类型为所述进程模块与所述DBUS总线***创建连接时所设定的消息类型。
10.根据权利要求9所述的进程通信方法,其特征在于,所述获取所述消息的类型包括:
获取所述消息的接口名称和信号名称;
根据所述接口名称和所述信号名称,确定所述消息的类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110739814.7A CN113382085A (zh) | 2021-06-30 | 2021-06-30 | 进程通信***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110739814.7A CN113382085A (zh) | 2021-06-30 | 2021-06-30 | 进程通信***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113382085A true CN113382085A (zh) | 2021-09-10 |
Family
ID=77580339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110739814.7A Pending CN113382085A (zh) | 2021-06-30 | 2021-06-30 | 进程通信***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113382085A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115476795A (zh) * | 2022-09-28 | 2022-12-16 | 经纬恒润(天津)研究开发有限公司 | 一种电源管理方法、装置及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075201A (zh) * | 2007-06-26 | 2007-11-21 | 北京邮电大学 | 各组件进程之间统一通信的通用消息总线的实现方法 |
US20080276254A1 (en) * | 2007-02-06 | 2008-11-06 | Access Systems Americas, Inc. | System and method for interprocess communication in electronic devices |
CN106293955A (zh) * | 2015-05-19 | 2017-01-04 | 中国石油化工股份有限公司 | 一种应用进程间的通信方法 |
CN106454276A (zh) * | 2016-11-30 | 2017-02-22 | 拾联(厦门)信息科技有限公司 | 一种音视频集成装置及集成视频监控*** |
CN107959622A (zh) * | 2018-01-18 | 2018-04-24 | 博为科技有限公司 | 一种智能家庭网关***及智能家庭网关 |
-
2021
- 2021-06-30 CN CN202110739814.7A patent/CN113382085A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080276254A1 (en) * | 2007-02-06 | 2008-11-06 | Access Systems Americas, Inc. | System and method for interprocess communication in electronic devices |
CN101075201A (zh) * | 2007-06-26 | 2007-11-21 | 北京邮电大学 | 各组件进程之间统一通信的通用消息总线的实现方法 |
CN106293955A (zh) * | 2015-05-19 | 2017-01-04 | 中国石油化工股份有限公司 | 一种应用进程间的通信方法 |
CN106454276A (zh) * | 2016-11-30 | 2017-02-22 | 拾联(厦门)信息科技有限公司 | 一种音视频集成装置及集成视频监控*** |
CN107959622A (zh) * | 2018-01-18 | 2018-04-24 | 博为科技有限公司 | 一种智能家庭网关***及智能家庭网关 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115476795A (zh) * | 2022-09-28 | 2022-12-16 | 经纬恒润(天津)研究开发有限公司 | 一种电源管理方法、装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109324996B (zh) | 日志文件处理方法、装置、计算机设备及存储介质 | |
CN111083225B (zh) | 在物联网平台中的数据处理方法、装置及物联网平台 | |
CN111338814A (zh) | 消息处理方法和装置、存储介质和电子装置 | |
CN113360301B (zh) | 一种消息传输***及方法 | |
CN112214967B (zh) | 一种报文格式转换方法及装置 | |
CN111083168A (zh) | 可配置的物联网平台网关的数据传输方法、装置和网关 | |
CN113382085A (zh) | 进程通信***及方法 | |
US11947435B2 (en) | Method and device for testing microservice-based computing platforms | |
CN111061696A (zh) | 一种交易报文日志的解析方法及装置 | |
CN111221793A (zh) | 数据挖掘方法、平台、计算机设备及存储介质 | |
CN115834699B (zh) | 一种服务调用链跟踪实现方法及*** | |
CN114414255A (zh) | 基于can报文周期监测的自动驾驶测试方法和*** | |
CN116886792A (zh) | 一种智慧运营消息与数据枢纽中心*** | |
JPH10320362A (ja) | 通知サービスを含むネットワークにおける通知伝送方法とこれを利用するためのネットワーク | |
CN108063803B (zh) | 基于分布式订阅发布消息***的消息管理方法及*** | |
CN112328417B (zh) | 一种嵌入式多程序通讯方法和*** | |
CN112565194A (zh) | 一种交易链路跟踪方法、电子设备及存储介质 | |
CN113141236A (zh) | 一种报文处理方法和装置 | |
CN114816778A (zh) | 一种时延控制方法、***及相关设备 | |
CN112714153A (zh) | 基于物联网***的兼容多种tcp的处理方法及装置 | |
CN106777010B (zh) | 日志的提供方法、装置以及日志的获取方法、装置和*** | |
KR101043167B1 (ko) | 레거시 망 운용관리 시스템간의 연동시스템 및 방법 | |
CN112671822B (zh) | 服务请求处理方法、装置、存储介质、服务器和*** | |
CN117354400B (zh) | 一种用于北斗短报文的采集解析服务*** | |
CN117857624A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210910 |
|
RJ01 | Rejection of invention patent application after publication |