CN104181842B - 一种实现通信处理的方法及装置 - Google Patents
一种实现通信处理的方法及装置 Download PDFInfo
- Publication number
- CN104181842B CN104181842B CN201410394928.2A CN201410394928A CN104181842B CN 104181842 B CN104181842 B CN 104181842B CN 201410394928 A CN201410394928 A CN 201410394928A CN 104181842 B CN104181842 B CN 104181842B
- Authority
- CN
- China
- Prior art keywords
- descriptor
- control block
- connection
- communication process
- state information
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000004891 communication Methods 0.000 title abstract description 14
- 238000012545 processing Methods 0.000 title abstract description 8
- 238000013507 mapping Methods 0.000 claims abstract description 19
- 238000013459 approach Methods 0.000 claims description 45
- 230000003542 behavioural effect Effects 0.000 claims description 45
- 230000008859 change Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 abstract description 14
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000003993 interaction Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Abstract
本申请公开了一种实现通信处理的方法及装置,包括:为分布式控制器的各个连接建立相应的描述符控制块,还包括:当侦听到连接有请求事件时,获取该连接的描述符控制块的描述符数值;以描述符控制块描述符数值作为索引,根据描述符控制块中的连接状态信息及连接状态信息与通信处理的行为方法的映射关系,命中通信处理的行为方法。本发明通过为各连接建立相应描述符控制块,以描述符控制块的描述符数值作为索引,命中通信处理的行为方法,提高了I/O多路复用技术在分布式控制器中应用的效率;减少了通信处理过程中添加消息报文头的复杂过程,降低了通信过程的带宽消耗。
Description
技术领域
本申请涉及I/O多路复用技术,尤指一种分布式控制器中实现交互通信的方法及装置。
背景技术
随着计算机技术的飞速发展,分布式多控制器设备逐步取代了传统的集中式控制器设备,进入了技术应用的核心领域。分布式多控制器在性能和可靠性方面都有很大进步,特别是在可靠性方面,传统的集中式控制器如果出现故障会导致整个设备瘫痪,造成严重的后果;分布式多控制器出现故障时,可以在业务正常运行的过程中更换故障部分的控制器。另外,多控制器之间还可以相互接管其他控制器的控制任务,可以通过交互实现业务的负载均衡,在设备的可靠性得到提高时,其处理业务的性能也相应提高。
为使分布式多控制器设备作为一个整体,充分发挥其高可靠性和高性能的优势,在系统设计时,需要考虑控制器之间的交互通信。常用的交互通信方式有循环遍历方式、多进程或多线程方式及输入/输出(I/O)多路复用技术三种,由于分布式多控制器的各控制器之间存在多种服务类型的多种状态交互,结合资源耗费的考虑,将I/O多路复用技术应用于分布式多控制器具有明显的优势。
I/O多路复用技术主要在大型网络服务器设备上使用,对服务器上各个不同类型的连接采用独立的服务侦听,在消息中需要针对不同的消息,添加相应的消息报文头,以确定收发地址、消息类型等内容,通过对消息的统一接收和解析,以提供各不同连接的相应的行为方法,实现交互通信的处理。然而,在分布式多控制器上使用I/O多路复用技术,多控制器之间需要在不同服务连接之间进行交互,对不同的连接,在连接通信过程中还伴随有状态的切换;对不同的连接及各连接不同的状态,都需要提供相应的行为方法,采用现有的对消息的统一接收和解析后,提供行为方法的方式,需要添加大量的 消息报文头,占用大量的带宽;接收到消息后根据消息的最外层封装的消息头,需要判断此次消息请求的目的和行为方法,然后继续剥掉外层封装的消息头,取出携带的数据最下一步处理。处理方式为了能正确识别消息,就要求所有的消息数据都必须用固定格式的消息头部进行封装,接收消息者能够根据此固定的消息头判断对消息数据采取的行为方法。这种额外的消息头封装就增加了通信传输的数据流量,占用了更多的带宽,并且接收消息后解析消息头判断消息请求的目的和需要采取的行为方法,以及剥掉外层封装的消息头这些过程耗费较多计算时间,对分布式多控制器交互通信而言,过程过于复杂,影响了分布式多控制器设备的高效运行。
发明内容
为了解决上述问题,本发明提供一种实现通信处理的方法及装置,能够降低I/O多路复用技术在分布式多控制器上应用的复杂性,提高分布式多控制器设备交互通信的效率。
为了达到本发明的目的,本申请提供一种实现通信处理的方法;包括:为分布式控制器的各个连接建立相应的描述符控制块,还包括:
当侦听到连接有请求事件时,获取该连接的描述符控制块的描述符数值;
以描述符控制块描述符数值作为索引,根据描述符控制块中的连接状态信息及连接状态信息与通信处理的行为方法的映射关系,命中通信处理的行为方法。
进一步地,该方法之前还包括:
预先确定各连接相应的描述符控制块的描述符数值;
在描述符控制块中建立连接状态信息与进行通信处理的行为方法一一对应的映射关系。
进一步地,该方法还包括:存储所述描述符控制块、连接状态信息与进行通信处理的行为方法一一对应的映射关系;
当所述分布式控制器的各连接的协议过程变化时,根据所述分布式控制器的各连接的协议过程变化,更新连接状态信息及与连接状态信息对应的进 行通信处理的行为方法。
进一步地,该方法还包括,通过向量表对所述描述符控制块、描述符控制块中建立连接状态信息与进行通信处理的行为方法一一对应的映射关系进行存储和更新。
另一方面,本申请还提供一种实现通信处理的装置,包括:建立单元、映射单元和索引命中单元;其中,
建立单元,用于为分布式控制器的各个连接建立相应的描述符控制块;
获取单元,用于当侦听到连接有请求事件时,获取该连接的描述符控制块的描述符数值;
索引命中单元,用于以描述符控制块描述符数值作为索引,根据描述符控制块中的连接状态信息及连接状态信息与通信处理的行为方法的映射关系,命中通信处理的行为方法。
进一步地,该装置还包括确定映射单元,用于预先确定各连接相应的描述符控制块的描述符数值;
在描述符控制块中建立连接状态信息与进行通信处理的行为方法一一对应的映射关系。
进一步地,该装置还包括存储及更新单元,用于存储所述描述符控制块、连接状态信息与进行通信处理的行为方法一一对应的映射关系;
当所述分布式控制器的各连接的协议过程变化时,根据所述分布式控制器的各连接的协议过程变化,更新连接状态信息及与连接状态信息对应的进行通信处理的行为方法。
与现有技术相比,本发明提供的技术方案,为分布式控制器的各个连接建立相应的描述符控制块,包括:当侦听到连接有请求事件时,获取该连接的描述符控制块;以描述符控制块描述符数值作为索引,根据描述符控制块中的连接状态信息及连接状态信息与通信处理的行为方法的映射关系,命中通信处理的行为方法。本发明通过为各连接建立相应描述符控制块,以描述符控制块的描述符数值作为索引,命中通信处理的行为方法,提高了I/O多路 复用技术在分布式控制器中应用的效率;减少了通信处理过程中添加消息报文头的复杂过程,降低了通信过程的带宽消耗。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本发明实现通信处理的方法的流程图;
图2为本发明实现通信处理的装置的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1为本发明实现通信处理的方法的流程图,如图1所示,为分布式控制器的各个连接建立相应的描述符控制块,这里,描述符控制块可以用C语言的结构体类型实现;在C++和JAVA语言中可以借助CLASS实现,根据不同的语言环境,有相应的内容,为本领域技术人员的公知常识。
需要说明的是,通过为各个连接建立相应的描述符控制块,通过根据描述符控制块中的连接状态信息区分练级的各个交互阶段。
包括:
步骤100、当侦听到连接有请求事件时,获取该连接的描述符控制块的描述符数值。
本发明方法之前还包括:
预先确定各连接相应的描述符控制块的描述符数值;
在描述符控制块中建立连接状态信息与进行通信处理的行为方法一一对应的映射关系。
需要说明的是,不同的连接通过建立不同的描述符控制块进行区分,通 过描述符控制块中的连接状态信息区分连接的各个交互阶段。另外,这里的行为方法是指进行通信处理的函数所表示的处理方法,根据分布式控制器的处理的具体情况,本领域技术人员可以对函数进行修改。根据描述符数值作为索引,命中通信处理的行为方法的过程,为本领域技术人员的惯用技术手段。例如采用向量表或者数组记录行为方法的值,用描述符数值作为向量表或数组的下标索引值,与控制块中连接状态信息相对应的行为方法就记录在对应的存储单元内。
步骤101、以描述符控制块描述符数值作为索引,根据描述符控制块中的连接状态信息及连接状态信息与通信处理的行为方法的映射关系,命中通信处理的行为方法。
需要说明的是,获取分布式控制器的各控制连接及在控制块设置区分连接状态的信息属于本领域技术人员的惯用技术手段,主要通过控制器通过为各个控制器连接的交互阶段(例如、认证阶段、参数协商,根据控制器和使用环境的不同交互阶段也不同)设置相应的描述符控制块的描述符数值,并以描述符数值作为索引,命中通信处理的行为方法,减少了通信处理过程中添加消息报文头需要进行解析和判断的复杂过程,提高了通信处理的工作效率;另外,由于取消了消息报文头的传输,降低了通信过程的带宽消耗。
本发明方法还包括:存储所述描述符控制块、连接状态信息与进行通信处理的行为方法一一对应的映射关系;
当所述分布式控制器的各连接的协议过程变化时,根据所述分布式控制器的各连接的协议过程变化,更新连接状态信息及与连接状态信息对应的进行通信处理的行为方法。
优选的,通过向量表对所述描述符控制块、描述符控制块中建立连接状态信息与进行通信处理的行为方法一一对应的映射关系进行存储和更新。
需要说明的是,通过向量表对描述符控制块、描述符控制块的连接状态信息与各交互阶段进行通信处理的行为方法一一对应的映射关系进行存储和更新,由于向量表大小设置可以根据连接的变化进行灵活扩展,因此,可以实现对连接的各个交互阶段的即时更新。
图2为本发明实现通信处理的装置的结构框图,如图2所示,包括:建立单元、映射单元和索引命中单元;其中,
建立单元,用于为分布式控制器的各个连接建立相应的描述符控制块;
获取单元,用于当侦听到连接有请求事件时,获取该连接的描述符控制块的描述符数值;
索引命中单元,用于以描述符控制块描述符数值作为索引,根据描述符控制块中的连接状态信息及连接状态信息与通信处理的行为方法的映射关系,命中通信处理的行为方法。
本发明装置还包括确定映射单元,用于预先确定各连接相应的描述符控制块的描述符数值;
在描述符控制块中建立连接状态信息与进行通信处理的行为方法一一对应的映射关系。
本发明装置还包括存储及更新单元,用于存储所述描述符控制块、连接状态信息与进行通信处理的行为方法一一对应的映射关系;
当所述分布式控制器的各连接的协议过程变化时,根据所述分布式控制器的各连接的协议过程变化,更新连接状态信息及与连接状态信息对应的进行通信处理的行为方法。
以下通过具体实施例,对本发明进行清楚详细的说明,实施例并不限定本发明的保护范围。
实施例1
本实施例以Linux系统中分布式控制器应用中,使用I/O多路复用技术进行交互通信时,epoll函数连接的通信处理为例,本实施例以向量表管理描述符、描述符数值与行为方法的一一对应的关系。
首先,建立向量表,在向量表中为分布式控制器的各个连接建立相应的描述符控制块;预先确定各连接相应的描述符控制块的描述符数值;在描述符控制块中建立连接状态信息与进行通信处理的行为方法一一对应的映射关系。
其次,通过当前控制器的连接,以描述符数值作为索引及描述符控制块中的连接状态信息命中通信处理的行为方法。行为方法是指进行通信处理的函数所表示的处理方法,根据分布式控制器的处理的具体情况,本领域技术人员可以对函数进行修改。具体的,进行通信处理的函数包含有查询接口、插入接口、数据类型等指针函数。
当分布式控制器的各个连接的协议过程变化时,根据所述分布式控制器的各个连接的协议过程变化,更新建立连接状态信息与进行通信处理的行为方法。即,可以对连接状态信息,或行为方法进行增加、删除或修改,以实现根据连接的实际情况进行更新。
虽然本申请所揭露的实施方式如上,但所述的内容仅为便于理解本申请而采用的实施方式,并非用以限定本申请,如本发明实施方式中的具体的实现方法。任何本申请所属领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (5)
1.一种实现通信处理的方法,其特征在于,为分布式控制器的各个连接建立相应的描述符控制块,包括:
当侦听到连接有请求事件时,获取该连接的描述符控制块的描述符数值;
以描述符控制块描述符数值作为索引,根据描述符控制块中的连接状态信息及连接状态信息与通信处理的行为方法的映射关系,命中通信处理的行为方法;
该方法之前还包括:
预先确定各连接相应的描述符控制块的描述符数值;
在描述符控制块中建立连接状态信息与进行通信处理的行为方法一一对应的映射关系。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:存储所述描述符控制块、连接状态信息与进行通信处理的行为方法一一对应的映射关系;
当所述分布式控制器的各连接的协议过程变化时,根据所述分布式控制器的各连接的协议过程变化,更新连接状态信息及与连接状态信息对应的进行通信处理的行为方法。
3.根据权利要求1所述的方法,其特征在于,该方法还包括,通过向量表对所述描述符控制块、描述符控制块中建立连接状态信息与进行通信处理的行为方法一一对应的映射关系进行存储和更新。
4.一种实现通信处理的装置,其特征在于,包括:建立单元、映射单元和索引命中单元;其中,
建立单元,用于为分布式控制器的各个连接建立相应的描述符控制块;
映射单元,用于当侦听到连接有请求事件时,获取该连接的描述符控制块的描述符数值;
索引命中单元,用于以描述符控制块描述符数值作为索引,根据描述符控制块中的连接状态信息及连接状态信息与通信处理的行为方法的映射关系,命中通信处理的行为方法;
该装置还包括确定映射单元,用于预先确定各连接相应的描述符控制块的描述符数值;
在描述符控制块中建立连接状态信息与进行通信处理的行为方法一一对应的映射关系。
5.根据权利要求4所述的装置,其特征在于,该装置还包括存储及更新单元,用于存储所述描述符控制块、连接状态信息与进行通信处理的行为方法一一对应的映射关系;
当所述分布式控制器的各连接的协议过程变化时,根据所述分布式控制器的各连接的协议过程变化,更新连接状态信息及与连接状态信息对应的进行通信处理的行为方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410394928.2A CN104181842B (zh) | 2014-08-12 | 2014-08-12 | 一种实现通信处理的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410394928.2A CN104181842B (zh) | 2014-08-12 | 2014-08-12 | 一种实现通信处理的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104181842A CN104181842A (zh) | 2014-12-03 |
CN104181842B true CN104181842B (zh) | 2017-05-03 |
Family
ID=51962980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410394928.2A Active CN104181842B (zh) | 2014-08-12 | 2014-08-12 | 一种实现通信处理的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104181842B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6711629B1 (en) * | 1999-10-18 | 2004-03-23 | Fisher-Rosemount Systems, Inc. | Transparent support of remote I/O in a process control system |
RU2006122955A (ru) * | 2003-11-28 | 2008-01-10 | Мацусита Электрик Индастриал Ко., Лтд. (Jp) | Способ передачи обслуживания при осуществлении связи, способ обработки сообщений связи, программа для выполнения этих способов с помощью компьютера и система связи |
CN1558637A (zh) * | 2004-01-19 | 2004-12-29 | 深圳市思杰科技有限公司 | 一种提高移动应用系统端到端QoS的方法 |
JP4645719B2 (ja) * | 2008-09-30 | 2011-03-09 | ブラザー工業株式会社 | 位置情報管理プログラムおよび通信装置 |
CN102549971B (zh) * | 2009-09-25 | 2014-12-24 | 三菱电机株式会社 | 网络性能预估装置及方法、网络结构确认方法、以及通信管理装置及数据通信方法 |
-
2014
- 2014-08-12 CN CN201410394928.2A patent/CN104181842B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104181842A (zh) | 2014-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109088820B (zh) | 一种跨设备链路聚合方法、装置、计算装置和存储介质 | |
CN103931144B (zh) | 一种在虚拟域中通信的方法、设备和系统 | |
CN113726637B (zh) | 一种基于云平台的网络流量透传方法、装置及存储介质 | |
CN102866925B (zh) | 一种中间件与用户界面的通信方法和系统 | |
CN104639348A (zh) | 网络设备及其配置方法 | |
CN108768667B (zh) | 一种用于多核处理器片内核间网络通信的方法 | |
CN104168200B (zh) | 一种基于Open vSwitch实现ACL功能的方法及系统 | |
US9479438B2 (en) | Link aggregation based on virtual interfaces of VLANs | |
US10110423B2 (en) | System and method for managing network connections | |
CN102984055B (zh) | 一种issu的软重启升级方法和设备 | |
CN102111436A (zh) | 一种通过iSCSI访问存储设备的方法和一种存储设备 | |
CN110417789A (zh) | 服务器连接方法、电子设备、系统及介质 | |
CN108512737B (zh) | 一种数据中心ip层互联的方法和sdn控制器 | |
CN108768727A (zh) | 访问第三方服务的方法、电子装置及可读存储介质 | |
CN104394075A (zh) | 一种报文传输的方法和设备 | |
CN108089968A (zh) | 一种宿主机监控虚拟机数据库状态的方法 | |
CN111786887A (zh) | 由控制设备执行的数据转发方法、装置、计算设备和介质 | |
CN104181842B (zh) | 一种实现通信处理的方法及装置 | |
CN103618661A (zh) | 一种数据分离方法及系统 | |
CN103051484A (zh) | 会话业务处理方法、系统和会话边缘控制器 | |
CN107666401A (zh) | 一种配置信息获取方法及终端 | |
CN101102231B (zh) | 一种ppp链路路由设备的自动发现方法和装置 | |
CN116032614A (zh) | 容器网络微隔离方法、装置、设备和介质 | |
CN103036815B (zh) | 一种信息技术和通信技术ict融合系统 | |
CN106411616B (zh) | 一种通过1553b总线管理以太网终端的装置及方法 |
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 |