CN104572315A - 实现子系统间通信的方法、通信实体及分布式通信系统 - Google Patents
实现子系统间通信的方法、通信实体及分布式通信系统 Download PDFInfo
- Publication number
- CN104572315A CN104572315A CN201310504008.7A CN201310504008A CN104572315A CN 104572315 A CN104572315 A CN 104572315A CN 201310504008 A CN201310504008 A CN 201310504008A CN 104572315 A CN104572315 A CN 104572315A
- Authority
- CN
- China
- Prior art keywords
- communication entity
- hardware
- communication
- entity
- application number
- 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.)
- Granted
Links
- 230000006854 communication Effects 0.000 title claims abstract description 359
- 238000004891 communication Methods 0.000 title claims abstract description 353
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000008569 process Effects 0.000 claims description 46
- 238000012545 processing Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 11
- 101000804902 Drosophila melanogaster Xaa-Pro aminopeptidase ApepP Proteins 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 101150053844 APP1 gene Proteins 0.000 description 7
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 7
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 7
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 7
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 102100038359 Xaa-Pro aminopeptidase 3 Human genes 0.000 description 4
- 101710081949 Xaa-Pro aminopeptidase 3 Proteins 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Landscapes
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了实现子系统间通信的方法、通信实体及分布式通信系统,所述方法包括:第一通信实体根据应用号和硬件编址的对应关系,确定第二通信实体的硬件编址;所述第一通信实体根据所述第二通信实体的硬件编址,向所述第二通信实体发送第一硬件中断信号,并向所述第二通信实体发送第一报文。
Description
技术领域
本发明涉及通信领域,特别涉及实现子系统间通信的方法、通信实体及分布式通信系统。
背景技术
目前,随着通信技术的发展,通信系统也越来越复杂。而在通讯系统中,一般包括了多个不同的子系统,不同的子功能往往分布在不同的子系统中。为了实现某种特定的功能,这些子系统中的子功能需要协同工作,共同完成特定的目标。为此,不同的子系统之间需要相互通信以便协同工作。
子系统中一般运行着某种类型的操作系统(operating system,简称OS),和完成某种特定功能的应用(application,简称APP)。多个子系统可能运行在多核CPU(central processing unit,中央处理器)中的不同核上,也可能运行在同一块主板CPU组的某个CPU中,也可能运行在不同主板的CPU中。多个子系统公共完成特定功能,我们称这样的系统为分布式系统。
由于通信系统对性能,可靠性,实时性等指标要求很高,因此分布式系统中子系统之间的快速通信就显得极为重要。例如,在路由器设备中,运行在不同核上的控制子系统和转发子系统能够快速通信,就能够保证本地报文的快速转发;或者在路由器设备中,两个子系统分别部署着主链路,备份链路。如果主链路出现故障能够快速通知并及时切换备份链路,就能有效减少切换带来的丢包;或者两台路由器互为备份,如果主路由器故障能够快速通知备份路由器,则可以减少切换过程丢包,提高路由器的可靠性。
而子系统之间通信的方式,有多种方式可以选择,基于报文方式的通信机制,是不同子系统间比较常见的一种通信方式。通信双方依赖于共同的协议(比如TCP/IP)完成一次通信过程。
而在通信的过程中,传统的基于套接字(英文:socket)的通信,从发送者发送报文,到接收者收到该报文,整个过程可能会存在时间延迟。因为,发送者需要按照协议给报文添加通信头,接收者则需要剥离通信头,从而消耗一定的时间;另外,传统的socket机制在传输过程中会产生缓存,拥塞,丢包或者重传等现象,导致了报文到达时间的延迟及不确定;而操作系统中的发送者和接收者任务由于任务调度的关系,其得到执行的时间也存在不确定性;上述的多种原因导致了传统的基于报文的通信方式实时性比较低。
发明内容
本发明提供实现子系统间通信的方法、通信实体及分布式通信系统,用以解决传统通信方式实时性比较低的技术问题。
第一方面,提出了一种实现子系统间通信的方法,包括:第一通信实体根据应用号和硬件编址的对应关系,确定第二通信实体的硬件编址;所述第一通信实体根据所述第二通信实体的硬件编址,向所述第二通信实体发送第一硬件中断信号,并向所述第二通信实体发送第一报文;所述第一报文包括第一应用程序的应用号,第二应用程序的应用号,所述第一通信实体的硬件编址,所述第二通信实体的硬件编址;其中,所述第一通信实体上部署分布式系统的第一子系统,所述第二通信实体上部署所述分布式系统的第二子系统。
结合第一方面,在第一种可能的实现方式中,所述硬件编址具体包括:核号;或CPU号和核号的组合;或主板号、CPU号、以及核号的组合。
结合第一方面或第一种可能实现的方式,在第二种可能的实现方式中,在第一通信实体根据应用号和硬件编址的对应关系,确定第二通信实体的硬件编址之前,所述方法还包括:所述第一通信实体向通信管理实体发送所述第一应用程序的应用号和所述第一通信实体的硬件编址,以使所述通信管理实体更新所述应用号和硬件编址的对应关系;接收所述通信管理实体发送的所述应用号和硬件编址的对应关系,所述应用号和硬件编址的对应关系中包括所述第一应用程序的应用号和所述第一通信实体的硬件编址的对应关系,所述第二应用程序的应用号和所述第二通信实体的硬件编址的对应关系。
结合第一方面,第一种可能的实现方式,第二种可能的实现方式,在第三种可能的实现方式中,所述方法还包括:所述第一通信实体接收第三通信实体发送的第二硬件中断信号;所述第一通信实体基于所述第二硬件中断信号,暂停其他任务的处理;所述第一通信实体接收并处理第二报文,所述第二报文包括所述第一应用程序的应用号,第三应用程序的应用号,所述第一通信实体的硬件编址,所述第三通信实体的硬件编址。
结合第二方面,提出了一种通信实体,包括:确定单元,用于根据应用号和硬件编址的对应关系,确定第二通信实体的硬件编址;发送单元,根据所述确定单元确定的所述第二通信实体的硬件编址,向所述第二通信实体发送第一硬件中断信号,并向所述第二通信实体发送第一报文;所述第一报文包括第一应用程序的应用号,第二应用程序的应用号,所述通信实体的硬件编址,所述第二通信实体的硬件编址;其中,所述通信实体上部署分布式系统的第一子系统,所述第二通信实体上部署所述分布式系统的第二子系统。
结合第二方面,在第一种可能的实现方式中,所述硬件编址具体包括:核号;或CPU号和核号的组合;或主板号、CPU号、以及核号的组合。
结合第二方面和第一种可能的实现方式,在第二种可能的实现方式中,还包括获取单元;所述发送单元,还用于向通信管理实体发送所述第一应用程序的应用号和所述通信实体的硬件编址,以使所述通信管理实体更新所述应用号和硬件编址的对应关系;所述获取单元,用于接收所述通信管理实体发送的所述应用号和硬件编址的对应关系,所述应用号和硬件编址的对应关系中包括所述第一应用程序的应用号和所述第一通信实体的硬件编址的对应关系,所述第二应用程序的应用号和所述第二通信实体的硬件编址的对应关系。
结合第二方面,第一种可能的实现方式,第二种可能的实现方式,在第三种可能的实现方式中,所述通信实体还包括:接收单元,用于接收第三通信实体发送的第二硬件中断信号;处理单元,用于基于所述接收单元接收的所述第二硬件中断信号,暂停其他任务的处理;接收并处理第二报文,所述第二报文包括所述第一应用程序的应用号,第三应用程序的应用号,所述第一通信实体的硬件编址,所述第三通信实体的硬件编址。
结合第三方面,提出了一种分布式通信系统,包括第一通信实体和第二通信实体,其中,所述第一通信实体上部署所述分布式通信系统的第一子系统,所述第二通信实体上部署所述分布式通信系统的第二子系统;所述第一通信实体,用于根据应用号和硬件编址的对应关系,确定所述第二通信实体的硬件编址;并用于根据所述第二通信实体的硬件编址,向所述第二通信实体发送第一硬件中断信号,并向所述第二通信实体发送第一报文;所述第一报文包括第一应用程序的应用号,第二应用程序的应用号,所述第一通信实体的硬件编址,所述第二通信实体的硬件编址;所述第二通信实体,用于接收所述第一通信实体发送的所述第一硬件中断信号;基于所述第一硬件中断信号,暂停其他任务的处理;还用于接收并处理所述第一报文。
结合第三方面,在第一种可能的实现方式中,所述通信系统还包括:通信管理实体,用于接收所述第一通信实体发送的所述第一应用程序的应用号,所述第一通信实体的硬件编址,以更新所述应用号和硬件编址的对应关系;还用于向所述第一通信实体发送所述应用号和硬件编址的对应关系。
上述技术方案中的一个或多个技术方案,具有如下技术效果或优点:
在本发明中,将硬件中断的机制应用在发送报文的过程中;具体地,在发送报文之前,第一通信实体首先确定第二通信实体的硬件编址,向所述第二通信实体发送硬件中断信号以中断第二通信实体当前执行的任务,并将报文发送给第二通信实体,以便第二通信实体在中断了当前执行的任务之后第一时间处理该报文。而这种硬件中断方式一般具有较高的优先级,能够让第二通信实体及时、快速处理来自第一通信实体的报文,实时性高,从而可以解决传统的发送报文时实时性比较低的问题。
附图说明
图1为本申请实施例中报文的格式示意图;
图2为本申请实施例中多核CPU的框架示意图;
图3为本申请实施例中硬件主板和硬件主板之间的框架示意图;
图4为本申请实施例中寻路表中保存的应用号与硬件编址的对应关系的示意图;
图5为本申请实施例中实现子系统间通信的方法流程图;
图6为本申请实施例中源APP和目标APP通信的整体流程图;
图7为本申请实施例中通信实体的示意图;
图8为本申请实施例中通信实体的硬件结构图。
具体实施方式
为了解决传统通信方式实时性比较低的技术问题,本发明实施例提出了实现子系统间通信的方法、通信实体及分布式通信系统,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例和实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
本发明实施例提供一种分布式通信系统,包括第一通信实体和第二通信实体,其中,所述第一通信实体上部署所述分布式通信系统的第一子系统,所述第二通信实体上部署所述分布式通信系统的第二子系统。
所述第一通信实体,用于根据应用号和硬件编址的对应关系,确定所述第二通信实体的硬件编址;并根据所述第二通信实体的硬件编址,向所述第二通信实体发送第一硬件中断信号和第一报文。
所述第二通信实体,用于接收所述第一通信实体发送的第一硬件中断信号;并基于所述第一硬件中断信号,暂停其他任务的处理;接收并处理所述第一报文。
所述第一报文中包括第一应用程序的应用号、第二应用程序的应用号、所述第一通信实体的硬件编址、所述第二通信实体的硬件编址,还包括有效载荷(英文:payload),其中有效载荷是和应用程序相关的数据,具体请参看图1。
可选地,所述分布式通信系统还包括通信管理实体。需要说明的是,所述通信管理实体可以是所述第一通信实体或所述第二通信实体,也可以是所述第一通信实体和所述第二通信实体之外的第三通信实体。
由于各通信实体是分布式的,因此会在这些通信实体中选择一个通信管理实体,其余的通信实体作为从实体,从实体都向通信管理实体注册,通信管理实体会把注册信息同步到各个从实体。在选择通信管理实体时,可以有多种方式,比如可以让最先启动的子系统对应的通信实体作为通信管理实体,或者直接指定一个子系统对应的通信实体作为通信管理实体。
所述第一通信实体,还用于向所述通信管理实体发送所述第一应用程序的应用号和所述第一通信实体的硬件编址;
所述通信管理实体,用于接收所述第一应用程序的应用号和所述第一通信实体的硬件编址,以更新所述通信管理实体的应用号和硬件编址的对应关系;
所述第一通信实体上保存的所述应用号和硬件编址的对应关系是从所述通信管理实体获取的。具体地,所述通信管理实体,还用于将所述通信管理实体的应用号和硬件编址的对应关系发送给所述第一通信实体和所述第二通信实体。所述第一通信实体,还用于接收并保存所述通信管理实体发送的所述应用号和硬件编址的对应关系。
可选地,所述通信管理实体,还用于接收所述第一通信实体发送的撤销信息,所述撤销消息中包括所述第一应用程序的应用号和所述第一通信实体的硬件编址;并从所述通信管理实体的应用号和硬件编址的对应关系中删除所述第一应用程序的应用号和所述第一通信实体的硬件编址的对应关系。
具体地,当分布式系统中有新的子系统启动时,其所在的通信实体会向通信管理实体发送注册信息,注册信息中包含了该通信实体的硬件编址,子系统中的APP的应用号等等。通信管理实体收到这些注册信息之后,则会将这些内容添加到应用号和硬件编址的对应关系中。当子系统退出时,该子系统所在的通信实体也会向通信管理实体发送撤销信息,以撤销应用号和硬件编址的对应关系中关于该子系统的信息;当通信管理实体接收到撤销信息之后,就会从寻路表中撤销关于该子系统的所有信息;或者,通信管理实体也可以在检测到子系统退出时,主动从寻路表中撤销关于该子系统的所有信息。
下面具体描述支持通信实体通信间的连接关系,通信实体的硬件编址,报文的格式等等内容。
本发明实施例中,通信实体通信间的连接关系包括如下几种情况:
第一种:一个分布式系统的不同子系统运行在多核CPU中不同核上,该多核CPU的核与核之间利用核间总线连接。
如图2所示,多核CPU中的每个核之间都通过核间总线连接,并且每个核运行着分布式系统中的不同子系统,相互之间可以通过核间总线触发中断。例如运行在核1上的子系统,包括Linux系统,及其中的APP1和APP2;运行在核2上的子系统,包括Windows系统,及其中的APP1和APP2。
此时,在每个核上实现的子系统作为一个通信实体,每个通信实体的硬件编址包括核号;进一步地,每个通信实体的硬件编址还可以包括所述多核CPU的CPU号和所述多核CPU所在主板的主板号。
第二种:一个分布式系统的不同子系统运行在同一主板的不同CPU上,该主板的CPU之间通过CPU间总线连接。
此时,该主板的每个CPU上实现的子系统作为一个通信实体,每个通信实体的硬件编址包括:CPU号与核号;进一步地,每个通信实体的硬件编址还可以包括所述主板的主板号。
第三种:一个分布式系统的不同子系统运行在不同的主板上,各主板相互之间通过复杂可编程逻辑器件(complex programmable logic device,简称CPLD)进行连接。
如图3所示,多个子系统运行在不同的主板上,多个主板通过CPLD相互连接,此时的CPLD就是板间总线。主板间可以通过CPLD触发中断并且可以通过CPLD通道携带报文。例如主板1上运行的子系统,此处的子系统包括运行在主板1上的Linux系统,及其中的APP1和APP2;主板2上运行的子系统,此处的子系统包括Windows系统,及其中的APP1和APP2。
此时,在每个主板上实现的子系统作为一个通信实体,每个通信实体的硬件编址包括主板号、CPU号、以及核号。
而各类通信实体可以运行分布式系统中不同的子系统,而多个子系统上运行不同的操作系统OS以及不同的APP。
本发明实施例中,定义了硬件编址,用于标识每个通信实体。硬件编址具体包括:核号;或者,CPU号和核号;或者,主板号、CPU号、以及核号。
本发明实施例中,分布式系统也可以由上述几种方式混合实现,采用本发明实施例提供的技术方案,同样能够以硬件中断的方式实现分布式系统中的子系统之间的快速通信。可以理解的是,若仅采用第一种方式实现分布式系统,则硬件编地址包括核号,即可识别各个通信实体;若采用第二种方式,或者第一种方式与第二种方式混合,来实现分布式系统,则硬件编地址包括CPU号和核号,才可以识别各个通信实体;若采用第三种方式,或者第三种方式与第一种和/或第二种方式混合,来实现分布式系统,则硬件编地址包括主板号、CPU号和核号,才可以识别各个通信实体。可选地,具体实现中,为了便于分布式系统的灵活部署,无论采用哪种方式实现分布式系统,统一规定硬件编地址包括主板号、CPU号和核号。
应用号,指的是在通信实体上运行的应用程序的编号;硬件编址和应用号之间具有对应关系。例如在图2所示的多核CPU上的核1中运行的APP1和APP2,两者的应用号是不一样的,但是两者对应的是同一个硬件编址。
应用号和硬件编址的对应关系,是为了能够让不同的子系统对应的通信实体相互之间能够根据该对应关系获得对方的硬件编址,以便快速发送硬件中断信号和报文,以达到不同的子系统能够相互通信的目的。
而进一步的,通信实体上的应用号和硬件编址的对应关系,可以使用寻路表的方式体现。当然,两者的对应关系也可以用其他方式来表示,本申请实施例不做限制。本发明实施例中寻路表主要包括应用号和硬件编址,例如图4所示;寻路表中还可以包含应用程序的名称。
结合图2,举例来说,
假设:APP1的应用号是524;
APP2的应用号是268;
多核CPU的CPU号是02;
核1的核号是01;
多核CPU所在主板的主板号是34。
其中硬件编址由6位数字组成,依次是主板号(2位),CPU号(2位)和核号(2位),硬件编址340201就是APP1和APP2对应的通信实体的硬件编址。
进一步地,由于分布式通信系统中的从实体都向通信管理实体注册,通信管理实体会将更新的应用号和硬件编址的对应关系同步到该分布式通信系统中的其他各个通信实体,因此每个通信实体保存的应用号和硬件编址的对应关系中包括了该分布式通信系统中所有的通信实体的硬件编址及对应的应用号。
结合图2,举例来说,
假设APP3的应用号是54;
APP4的应用号是28;
而APP3和APP4处于两个不同的多核CPU上。
其中,APP3处于多核CPU1上的核1上;APP4处于多核CPU2上的核5上。
CPU1上的核1编号为01,CPU1的编号为01。
CPU2上的核2编号为05,CPU2的编号为02。
而CPU1和CPU2处于同一主板上,所在主板的主板号是34。
因此,APP3对应的通信实体的硬件编址为340101,而APP4对应的通信实体的硬件编址为340205,例如图4所示。
基于上述结构,本发明实施例提供了一种实现子系统间通信的方法,参见图5,所述方法包括:
S501,第一通信实体根据应用号和硬件编址的对应关系,确定第二通信实体的硬件编址。
S502,所述第一通信实体根据所述第二通信实体的硬件编址,向所述第二通信实体发送第一硬件中断信号,并向所述第二通信实体发送第一报文。
在具体的实施过程中,所述第一报文包括第一应用程序的应用号,第二应用程序的应用号,所述第一通信实体的硬件编址,所述第二通信实体的硬件编址,具体的报文格式请参看图1,本发明不再赘述。
其中,所述第一通信实体上部署分布式系统的第一子系统,所述第二通信实体上部署所述分布式系统的第二子系统。
另外,对于第一通信实体来说,第一通信实体还会向通信管理实体发送所述第一应用程序的应用号和所述第一通信实体的硬件编址,以使所述通信管理实体更新所述对应关系;
进一步的,第一通信实体上保存的所述应用号和硬件编址的对应关系是从所述通信管理实体获取的。通信管理实体将所述通信管理实体的应用号和硬件编址的对应关系发送给所述第一通信实体和所述第二通信实体。所述第一通信实体则接收并保存所述通信管理实体发送的所述应用号和硬件编址的对应关系。
另外,所述第一通信实体若要撤销自身的对应关系,还可以向所述通信管理实体发送撤销信息,所述撤销消息中包括所述第一应用程序的应用号和所述第一通信实体的硬件编址;并从所述通信管理实体的应用号和硬件编址的对应关系中删除所述第一应用程序的应用号和所述第一通信实体的硬件编址的对应关系。
硬件编址具体包括核号;或CPU号和核号的组合;或主板号、CPU号、以及核号的组合。
而硬件编址的具体组成在上面的实施例中已经有描述,在此本发明不再赘述。
而此时的应用号具体为在通信实体上运行的应用程序的编号。此编号具体可以但不限于是应用程序的进程号。而在通信实体上运行的应用程序具体是APP、操作系统等等。
一般来说,通信实体的硬件编址和运行在通信实体上的应用程序的应用号是具有一定的对应关系的。
根据此对应关系,第一通信实体可以确定第二通信实体的硬件编址,然后向所述第二通信实体发送第一硬件中断信号以及第一报文。
具体地,第一通信实体和第二通信实体间的通信过程可以参看图6,此时将第一通信实体作为源通信实体,而第二通信实体作为目标通信实体,具体过程如下:
S601,源通信实体上运行的源APP需要给目标APP发送报文。
此时,源APP会产生给目标APP的有效载荷。
S602,源通信实体接收到源APP需要给目标APP发送报文这一需求。
S603,源通信实体根据该需求,构造报文。
具体地,在构造报文时,源通信实体根据应用号和硬件编址的对应关系,确定目标通信实体的硬件编址,然后源通信实体在有效载荷外添加报文头,所述报文头包括源APP对应的应用号、源通信实体的硬件编址、目标APP对应的应用号、目标通信实体的硬件编址等,然后向中断寄存器中写入一个中断值,用来触发生成硬件中断信号。
S604,源通信实体生成硬件中断信号。
此时,具体是源CPU中的核生成了硬件中断信号。
S605,源通信实体向目标通信实体发送硬件中断信号和报文。
具体的,给目标APP发送报文时,由于事先已获知目标APP的应用名称,而对应应用名称,源通信实体可以获知目标APP的应用号。另外,还可以根据寻路表来获知目标APP的应用号。进一步的,可以通过目标APP的应用号在对应关系中查找出目标通信实体的硬件编址。
而在以源通信实体为主体执行的这一系列步骤中,由于寻路表中具有应用号和硬件编址的对应关系,因此,源通信实体根据此对应关系,可以快速的获知目标通信实体的硬件编址,然后将硬件中断信号直接发送给目标通信实体,以使目标通信实体暂停其他事务的处理,第一时间处理该报文,以达到快速实时的目的。
而目标通信实体具体执行下面的步骤:
S606,目标通信实体接收所述源通信实体发送的硬件中断信号。
S607,所述目标通信实体基于所述硬件中断信号,暂停其他任务的处理。
S608,目标通信实体接收并处理报文。
S609,目标通信实体根据所述报文中的目标APP的应用号,将有效载荷和源APP的应用号发送给目标APP。
以上是源APP和目标APP的通信过程。
可以理解的是,源通信实体和目标通信实体是针对本次通信过程,从中断和报文的发送方和接收方角度来区分;当然,本次通信过程中的源通信实体,在其他通信过程中可能作为目标通信实体接收中断和报文。
若第一通信实体作为目标通信实体,而第三通信实体作为源通信实体,则还包括:
第一通信实体接收第三通信实体发送的第二硬件中断信号;
所述第一通信实体基于所述第二硬件中断信号,暂停其他任务的处理;
所述第一通信实体接收并处理第二报文,所述第二报文包括第一应用程序的应用号,第三应用程序的应用号,第一通信实体的硬件编址,所述第三通信实体的硬件编址。
参见图7,本发明实施例提供一种通信实体,用于实现本发明图5和图6任一所示的方法,所述通信实体包括:
确定单元701,用于根据应用号和硬件编址的对应关系,确定第二通信实体的硬件编址;
发送单元702,根据所述确定单元701确定的所述第二通信实体的硬件编址,向所述第二通信实体发送第一硬件中断信号,并向所述第二通信实体发送第一报文。
所述第一报文包括第一应用程序的应用号,第二应用程序的应用号,所述通信实体的硬件编址,所述第二通信实体的硬件编址;
其中,所述通信实体上部署分布式系统的第一子系统,所述第二通信实体上部署所述分布式系统的第二子系统。
进一步的,所述硬件编址具体包括:
核号;或
CPU号和核号的组合;或
主板号、CPU号、以及核号的组合。
进一步的,所述第一报文包括:
第一应用程序的应用号,第二应用程序的应用号,所述通信实体的硬件编址,所述第二通信实体的硬件编址。
进一步的,还包括获取单元;所述发送单元702,还用于向通信管理实体发送所述第一应用程序的应用号和所述通信实体的硬件编址,以使所述通信管理实体更新所述应用号和硬件编址的对应关系;
所述获取单元,用于获取所述应用号和硬件编址的对应关系,所述应用号和硬件编址的对应关系中包括所述第一应用程序的应用号和所述第一通信实体的硬件编址的对应关系,所述第二应用程序的应用号和所述第二通信实体的硬件编址的对应关系。进一步的,所述通信实体还包括:
接收单元,用于接收第三通信实体发送的第二硬件中断信号;
处理单元,用于基于所述接收单元接收的所述第二硬件中断信号,暂停其他任务的处理;接收并处理第二报文,所述第二报文包括所述第一应用程序的应用号,第三应用程序的应用号,所述第一通信实体的硬件编址,所述第三通信实体的硬件编址。
通过本发明的一个或多个实施例,可以实现如下技术效果:
在本发明中,将硬件中断的机制应用在发送报文的过程中,在发送报文之前,将硬件中断信号和报文一并发送,首先使用硬件中断信号中断报文接收者对应的第二通信实体当前执行的任务,将报文发送给对方,以便于对方在中断了当前执行的任务之后第一时间处理发送的报文。而这种基于硬件中断的方式处理的优先级较高,因此可以避免传统的发送报文时实时性比较低的问题。具体的处理过程是:第一通信实体首先确定第二通信实体的硬件编址;然后根据第二通信实体的硬件编址,向所述第二通信实体发送硬件中断信号,并向所述第二通信实体发送报文,中断第二通信实体当前执行的任务,可以使第二通信实体执行报文。实时性较高,正是由于本发明的通过中断方式实现的通信方法实时性较高,因此能够快速的中断第二通信实体,让其执行第一通信实体发送的报文,体现及时、快速的特点。
请补充硬件实施例:
如图8所示,本发明实施例还提供一种通信实体,包括:
处理器801、存储器802、通信接口803和总线804。
处理器801、存储器802、通信接口803通过总线804相互连接;总线804可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器801可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等。
存储器802,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器802可能包含高速随机存取存储器(randomaccess memory,简称RAM)存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
通信接口803用于与其他通信实体进行通信。
处理器801执行存储器802所存放的程序,执行本发明实施例提供的实现子系统间通信的方法,包括:根据应用号和硬件编址的对应关系,确定第二通信实体的硬件编址;根据所述第二通信实体的硬件编址,向所述第二通信实体发送第一硬件中断信号,并向所述第二通信实体发送第一报文。
其中,所述第一报文包括第一应用程序的应用号,第二应用程序的应用号,所述第一通信实体的硬件编址,所述第二通信实体的硬件编址。
其中,所述第一通信实体上部署分布式系统的第一子系统,所述第二通信实体上部署所述分布式系统的第二子系统。
进一步的,硬件编址具体包括:核号;或CPU号和核号的组合;或主板号、CPU号、以及核号的组合。
进一步的,在第一通信实体根据应用号和硬件编址的对应关系,确定第二通信实体的硬件编址之前,所述方法还包括:
所述第一通信实体向通信管理实体发送所述第一应用程序的应用号和所述第一通信实体的硬件编址,以使所述通信管理实体更新所述应用号和硬件编址的对应关系;
接收所述通信管理实体发送的所述应用号和硬件编址的对应关系,所述应用号和硬件编址的对应关系中包括所述第一应用程序的应用号和所述第一通信实体的硬件编址的对应关系,所述第二应用程序的应用号和所述第二通信实体的硬件编址的对应关系。
可选地,所述存储器802还用于保存所述应用号和硬件编址的对应关系。
进一步的,所述方法还包括:
所述第一通信实体接收第三通信实体发送的第二硬件中断信号;
所述第一通信实体基于所述第二硬件中断信号,暂停其他任务的处理;
所述第一通信实体接收并处理第二报文,所述第二报文包括所述第一应用程序的应用号,第三应用程序的应用号,所述第一通信实体的硬件编址,所述第三通信实体的硬件编址。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全应用程序实施例、或结合应用程序和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器,CD-ROM,光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础上,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种实现子系统间通信的方法,其特征在于,包括:
第一通信实体根据应用号和硬件编址的对应关系,确定第二通信实体的硬件编址;
所述第一通信实体根据所述第二通信实体的硬件编址,向所述第二通信实体发送第一硬件中断信号,并向所述第二通信实体发送第一报文;所述第一报文包括第一应用程序的应用号,第二应用程序的应用号,所述第一通信实体的硬件编址,所述第二通信实体的硬件编址;
其中,所述第一通信实体上部署分布式系统的第一子系统,所述第二通信实体上部署所述分布式系统的第二子系统。
2.如权利要求1所述的方法,其特征在于,所述硬件编址具体包括:
核号;或
CPU号和核号的组合;或
主板号、CPU号、以及核号的组合。
3.如权利要求1或2所述的方法,其特征在于,在第一通信实体根据应用号和硬件编址的对应关系,确定第二通信实体的硬件编址之前,所述方法还包括:
所述第一通信实体向通信管理实体发送所述第一应用程序的应用号和所述第一通信实体的硬件编址,以使所述通信管理实体更新所述应用号和硬件编址的对应关系;
接收所述通信管理实体发送的所述应用号和硬件编址的对应关系,所述应用号和硬件编址的对应关系中包括所述第一应用程序的应用号和所述第一通信实体的硬件编址的对应关系,所述第二应用程序的应用号和所述第二通信实体的硬件编址的对应关系。
4.如权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
所述第一通信实体接收第三通信实体发送的第二硬件中断信号;
所述第一通信实体基于所述第二硬件中断信号,暂停其他任务的处理;
所述第一通信实体接收并处理第二报文,所述第二报文包括所述第一应用程序的应用号,第三应用程序的应用号,所述第一通信实体的硬件编址,所述第三通信实体的硬件编址。
5.一种通信实体,其特征在于,包括:
确定单元,用于根据应用号和硬件编址的对应关系,确定第二通信实体的硬件编址;
发送单元,根据所述确定单元确定的所述第二通信实体的硬件编址,向所述第二通信实体发送第一硬件中断信号,并向所述第二通信实体发送第一报文;所述第一报文包括第一应用程序的应用号,第二应用程序的应用号,所述通信实体的硬件编址,所述第二通信实体的硬件编址;
其中,所述通信实体上部署分布式系统的第一子系统,所述第二通信实体上部署所述分布式系统的第二子系统。
6.如权利要求5所述的通信实体,其特征在于,所述硬件编址具体包括:
核号;或
CPU号和核号的组合;或
主板号、CPU号、以及核号的组合。
7.如权利要求5或6所述的通信实体,其特征在于,还包括获取单元;所述发送单元,还用于向通信管理实体发送所述第一应用程序的应用号和所述通信实体的硬件编址,以使所述通信管理实体更新所述应用号和硬件编址的对应关系;
所述获取单元,用于接收所述通信管理实体发送的所述应用号和硬件编址的对应关系,所述应用号和硬件编址的对应关系中包括所述第一应用程序的应用号和所述第一通信实体的硬件编址的对应关系,所述第二应用程序的应用号和所述第二通信实体的硬件编址的对应关系。
8.如权利要求5至7任一项所述的通信实体,其特征在于,所述通信实体还包括:
接收单元,用于接收第三通信实体发送的第二硬件中断信号;
处理单元,用于基于所述接收单元接收的所述第二硬件中断信号,暂停其他任务的处理;接收并处理第二报文,所述第二报文包括所述第一应用程序的应用号,第三应用程序的应用号,所述第一通信实体的硬件编址,所述第三通信实体的硬件编址。
9.一种分布式通信系统,其特征在于,包括第一通信实体和第二通信实体,其中,所述第一通信实体上部署所述分布式通信系统的第一子系统,所述第二通信实体上部署所述分布式通信系统的第二子系统;
所述第一通信实体,用于根据应用号和硬件编址的对应关系,确定所述第二通信实体的硬件编址;并用于根据所述第二通信实体的硬件编址,向所述第二通信实体发送第一硬件中断信号,并向所述第二通信实体发送第一报文;所述第一报文包括第一应用程序的应用号,第二应用程序的应用号,所述第一通信实体的硬件编址,所述第二通信实体的硬件编址;
所述第二通信实体,用于接收所述第一通信实体发送的所述第一硬件中断信号;基于所述第一硬件中断信号,暂停其他任务的处理;还用于接收并处理所述第一报文。
10.如权利要求9所述的通信系统,其特征在于,所述通信系统还包括:
通信管理实体,用于接收所述第一通信实体发送的所述第一应用程序的应用号,所述第一通信实体的硬件编址,以更新所述应用号和硬件编址的对应关系;还用于向所述第一通信实体发送所述应用号和硬件编址的对应关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310504008.7A CN104572315B (zh) | 2013-10-23 | 2013-10-23 | 实现子系统间通信的方法、通信实体及分布式通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310504008.7A CN104572315B (zh) | 2013-10-23 | 2013-10-23 | 实现子系统间通信的方法、通信实体及分布式通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104572315A true CN104572315A (zh) | 2015-04-29 |
CN104572315B CN104572315B (zh) | 2018-12-25 |
Family
ID=53088459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310504008.7A Active CN104572315B (zh) | 2013-10-23 | 2013-10-23 | 实现子系统间通信的方法、通信实体及分布式通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572315B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106557374A (zh) * | 2016-11-09 | 2017-04-05 | 天脉聚源(北京)科技有限公司 | 一种处理双方信息交互的方法及装置 |
WO2017167126A1 (zh) * | 2016-03-31 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 一种窗口显示方法、信息交互方法及系统 |
WO2019113885A1 (zh) * | 2017-12-14 | 2019-06-20 | 深圳市大疆创新科技有限公司 | 核间通信方法、处理器和多处理器通信系统 |
CN110752997A (zh) * | 2019-09-26 | 2020-02-04 | 中国人民解放军陆军装甲兵学院 | 一种数据包主动寻路的命名数据网络转发方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904873A (zh) * | 2005-07-28 | 2007-01-31 | 大唐移动通信设备有限公司 | 嵌入式实时操作系统中多核处理器的核间通信方法及装置 |
CN101170511A (zh) * | 2007-11-20 | 2008-04-30 | 中兴通讯股份有限公司 | 嵌入式操作系统中实现多核处理器通信的装置及方法 |
CN101976208A (zh) * | 2010-10-25 | 2011-02-16 | 中兴通讯股份有限公司 | 信息投递的方法和装置 |
CN103034543A (zh) * | 2012-05-29 | 2013-04-10 | 福建三元达通讯股份有限公司 | 多软件运行环境通信方法、使多软件运行环境通信的方法 |
-
2013
- 2013-10-23 CN CN201310504008.7A patent/CN104572315B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904873A (zh) * | 2005-07-28 | 2007-01-31 | 大唐移动通信设备有限公司 | 嵌入式实时操作系统中多核处理器的核间通信方法及装置 |
CN101170511A (zh) * | 2007-11-20 | 2008-04-30 | 中兴通讯股份有限公司 | 嵌入式操作系统中实现多核处理器通信的装置及方法 |
CN101976208A (zh) * | 2010-10-25 | 2011-02-16 | 中兴通讯股份有限公司 | 信息投递的方法和装置 |
CN103034543A (zh) * | 2012-05-29 | 2013-04-10 | 福建三元达通讯股份有限公司 | 多软件运行环境通信方法、使多软件运行环境通信的方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017167126A1 (zh) * | 2016-03-31 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 一种窗口显示方法、信息交互方法及系统 |
CN106557374A (zh) * | 2016-11-09 | 2017-04-05 | 天脉聚源(北京)科技有限公司 | 一种处理双方信息交互的方法及装置 |
CN106557374B (zh) * | 2016-11-09 | 2020-06-09 | 天脉聚源(北京)科技有限公司 | 一种处理双方信息交互的方法及装置 |
WO2019113885A1 (zh) * | 2017-12-14 | 2019-06-20 | 深圳市大疆创新科技有限公司 | 核间通信方法、处理器和多处理器通信系统 |
US10949274B2 (en) | 2017-12-14 | 2021-03-16 | SZ DJI Technology Co., Ltd. | Inter-core communication method, processor and multi-processor communication system |
CN110752997A (zh) * | 2019-09-26 | 2020-02-04 | 中国人民解放军陆军装甲兵学院 | 一种数据包主动寻路的命名数据网络转发方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104572315B (zh) | 2018-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647104B (zh) | 请求处理方法、服务器及计算机可读存储介质 | |
CN110535813B (zh) | 内核态协议栈与用户态协议栈并存处理方法和装置 | |
CN108270676B (zh) | 一种基于Intel DPDK的网络数据处理方法及装置 | |
US9647972B2 (en) | Message delivery in messaging networks | |
US20180210752A1 (en) | Accelerator virtualization method and apparatus, and centralized resource manager | |
JP6636142B2 (ja) | スケールアウト関連付けの方法および装置、ならびにシステム | |
CN108063813B (zh) | 一种集群环境下密码服务网络并行化的方法与系统 | |
US20190146827A1 (en) | Virtualized network function resource management method and device | |
US7640549B2 (en) | System and method for efficiently exchanging data among processes | |
CN104580124A (zh) | 协议栈选择方法、装置及设备 | |
CN108008950B (zh) | 一种用户界面更新的实现方法及装置 | |
CN104994032A (zh) | 一种信息处理的方法和装置 | |
CN104572315A (zh) | 实现子系统间通信的方法、通信实体及分布式通信系统 | |
CN111190766A (zh) | 基于HBase数据库的跨机房集群的容灾方法、装置和系统 | |
CN103986585A (zh) | 报文预处理方法及其装置 | |
WO2018000195A1 (zh) | 一种报文传输方法、虚拟交换机及服务器 | |
US7533289B1 (en) | System, method, and computer program product for performing live cloning | |
CN108200221B (zh) | 一种网络地址转换环境中转换规则同步方法及装置 | |
CN117708855A (zh) | 基于核间通信的数据加密方法、装置、设备及介质 | |
JP6740543B2 (ja) | 通信装置、システム、ロールバック方法及びプログラム | |
JP2009064104A (ja) | 分散型処理システム、分散型処理方法、端末、及び、プログラム | |
CN116627686A (zh) | 网络设备的软件故障处理方法及装置 | |
CN100426241C (zh) | 一种面向服务体系结构中消息层软中断处理方法 | |
EP3286637B1 (en) | Memory register interrupt based signaling and messaging | |
CN116700595A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211228 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: xFusion Digital Technologies Co., Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |