CN108234397A - 一种基于通道的异构网络数据发送方法和接收方法 - Google Patents
一种基于通道的异构网络数据发送方法和接收方法 Download PDFInfo
- Publication number
- CN108234397A CN108234397A CN201611155257.XA CN201611155257A CN108234397A CN 108234397 A CN108234397 A CN 108234397A CN 201611155257 A CN201611155257 A CN 201611155257A CN 108234397 A CN108234397 A CN 108234397A
- Authority
- CN
- China
- Prior art keywords
- data
- message
- channel
- network
- heterogeneous network
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于计算机系统软件专业技术领域,提供一种基于通道的异构网络数据通讯方法。针对机载异构网络的复杂通讯环境,本发明设计了消息通道,封装不同的传输协议,屏蔽传输协议间的差异,提供统一的消息收发接口,实现异构网络数据通讯,解决了应用软件开发人员对不同传输介质进行重复软件开发的问题,有效地提高了应用软件的开发效率,减少了软件升级、移植过程中的工作量。本发明的特点是基于消息通道统一异构网络数据通信接口;使用静态配置数据指定网络拓扑关系,提升通讯确定性;支持消息分包组包,减少最大包长对应用程序的限制。
Description
技术领域
本发明属于计算机系统软件专业技术领域,提供一种基于通道的异构网络数据发送方法和接收方法。
背景技术
在分布式异构网络环境中,计算机处理系统已经由传统的单一计算机向分布式多计算机发展,涉及到的网络种类及系统间的互联关系日益复杂,应用软件需要使用多种网络进行信息交互,面临着网络资源多样化的问题,由于缺少一种能够屏蔽异构网络差异的通讯方法,导致应用软件重复开发度高,网络配置数据量大、软件移植性差复用度低。据此,提出了一种基于通道的异构网络数据发送方法和接收方法,提供统一的数据收发接口及分包组包功能,支持异构网络通信。
发明内容
本发明的目的是基于不同网络之间的共性,设计消息通道封装不同的传输协议,屏蔽传输协议间的差异,提供统一的数据收发接口,为应用程序提供透明的网络通讯服务,提高应用程序的复用程度,减少软件研制的工作量。
本发明的具体技术解决方案如下:
一种基于通道的异构网络数据发送方法,包括以下步骤:
步骤1、确定配置数据,所述配置数据指定待发送数据与网络类型之间的对应关系以及数据发送所需要的网络参数;
步骤2、注册需要使用的消息通道,判断是否有要发送的数据,如有则进入步骤3;
步骤3、从配置数据中查找待发送数据对应的消息通道,判断数据长度是否超过了网络驱动中对最大包长的限制,如果超过,将数据分包后依次发送;如果没有,直接发送。
一种基于通道的异构网络数据接收方法,包括以下步骤:
步骤1、确定配置数据,所述配置数据待接收数据与网络类型之间的对应关系以及接收数据所需要的网络参数;
步骤2、注册需要使用的消息通道;
步骤3、接收端驻留的消息接收任务根据配置数据从不同的网络接收数据,并判断是否进行组包,如果需要,将数据组包后,放入对应的消息通道缓冲区,如果不需要,直接将数据放入缓冲区中;
步骤4、判断是否有要接收的数据,如有则进入步骤5;
步骤5、从配置数据中查找待接收数据对应的消息通道,接收数据。
本发明具有的优点:
该发明有效支持了分布式异构网络应用的研制需求,为应用程序提供透明的通讯服务,应用程序不需要考虑网络差异对程序的影响,应用软件的复用性得到增强。
基于通道的数据发送方法和接收方法具有可扩展性,适用于多种不同的网络,当需要支持新的网络时,只需要针对该网络封装网络资源初始化、数据发送、数据接收这三个接口便可以支持。
该发明提升了应用程序的适用范围,减少了网络驱动程序所支持的最大包长对应用程序的限制。
附图说明
图1为本发明结构示意图;
图2为数据收发过程示意图;
图3为分包组包示意图;
具体实施方式
下面具体介绍本发明技术方案:
应用程序使用该方法进行通讯时,首先要确定配置数据,通过配置数据指定数据与网络类型之间的对应关系以及数据收发所需要的网络参数。接下来,应用注册需要使用的消息通道。
应用发送数据时,从配置数据中查找待发送数据对应的消息通道,发送数据。此时,需要考虑数据长度是否超过了网络驱动中对最大包长的限制,如果超过,需要对数据进行分包,依次发送;如果没有,直接发送。
应用接收数据时,由接收端驻留的消息接收任务根据配置数据从不同的网络接收数据,并判断是否进行组包,如果需要,将数据分片组包后,放入对应的消息通道缓冲区;如果不需要,直接将数据放入缓冲区中。应用根据需要接收的数据,从配置数据中查找对应的消息通道,读取数据。
1)针对异构网络分析抽象出不同网络的通用接口,包括:网络资源初始化、数据发送、数据接收,这些接口可以映射到不同的网络驱动程序之上。
应用程序进行通讯时,需要根据需求注册对应的消息通道,建立网络资源初始化、数据发送、数据接收接口与实际网络驱动的对应关系;传输数据所使用的消息通道由配置数据指定,应用间进行数据传输时,从配置数据中查找数据对应的消息通道,之后进行数据收发。
2)应用程序在进行数据收发之前,需要通过配置数据指定网络拓扑关系,以及数据收发所需要的网络参数。配置数据包括{数据id,消息通道id,消息通道类型,网络参数}。数据标识(数据id)代表一类消息;消息通道id标识一个实际的消息通路;消息通道类型指定网络类型;网络参数指定数据收发所使用的参数。应用程序发送、接收数据时需要根据配置数据,选择网络,执行相应的动作。
3)分包组包过程。在发送端,当需要发送一个超过最大限度的包时,先将待发送的数据包分为指定长度的分包,为分包添加包头信息,包括分包标志位、偏移量、分包结束标志位,依次将分包发送给接收者。在接收端,接收端驻留的消息接收任务根据配置数据从不同网络依次接收到分包,首先判断是否为数据分包,如果是数据分包,则根据偏移量放入指定的缓冲区中;再判断是否为分包中的最后一包,如果不是则继续接收分包,如果是则将分包缓冲区中的内容拷贝到数据接收缓冲区中,等待应用程序读取。
以下结合附图1、图2、图3,对该通讯方法进行详细说明,该实例中包括以太网、FC、Rapi dIO三种网络:
1)静态部署网络配置数据,配置数据的格式如:{数据id,消息通道id,消息通道类型,网络参数}。消息通道类型对应具体的网络,网络参数与消息通道相匹配。例如,消息通道类型为以太网,网络参数则使用IP地址、端口号;消息通道类型为FC,网络参数则使用设备号、消息id;消息通道类型为Rapi dI O,网络参数则使用端口号、消息id。
2)因为需要在以太网、FC、Rap idI O三种网络上进行通讯,发送端、接收端应用程序都需要注册三种类型的消息通道。
3)发送端应用程序执行发送动作,此时需要根据发送的数据id查找配置数据,找到对应的消息通道id,消息通道类型,网络参数,再调用对应的网络驱动进行发送。如果该数据id只对应以太网上的消息通道id,则该消息只使用以太网进行发送;如果该数据id对应以太网、FC或其他组合型的多种网络,则数据会依次发送到多个网络上。
4)发送端需要判断所发送的数据是否超过最大包长的限制,如果超过最大包长需要进行分包。以FC网络为例它所支持的最大包长为2096字节,当发送的数据包为超过最大包长,将数据切分为最大长度不超过2048的数据包,并加上分包标识、偏移量、分包结束符信息,然后依次采用底层网络驱动发送;当数据小于最大包长时,直接采用FC网络发送。
5)接收端驻留接收消息的任务,负责根据配置数据,读取不同网络的数据并放入对应的消息接收缓冲区中。
6)驻留的接收消息的任务需要根据读到的数据内容判断是否进行组包,同以FC网络为例,当读到的数据中分包标识被置位,则进行组包,直到数据被完整的接收,将其放入消息接收缓冲区。
7)接收端应用程序执行数据读取动作,会从该数据对应的消息接收缓冲区中获取数据。
Claims (2)
1.一种基于通道的异构网络数据发送方法,其特征在于,包括以下步骤:
步骤1、确定配置数据,所述配置数据指定消息与网络类型之间的对应关系以及消息发送所需要的网络参数;
步骤2、注册使用的消息通道,判断是否有要发送的数据,如有则进入步骤3;
步骤3、从配置数据中查找消息对应的消息通道,判断数据长度是否超过了网络驱动中对最大包长的限制,如果超过,需要对消息进行分包,依次发送;如果没有,直接发送。
2.一种基于通道的异构网络数据接收方法,其特征在于,包括以下步骤:
步骤1、确定配置数据,所述配置数据指定消息与网络类型之间的对应关系以及消息发送所需要的网络参数;
步骤2、注册使用的消息通道;
步骤3、接收端驻留的消息接收任务从不同的网络接收数据,并判断是否进行组包,如果需要,将消息组包后,放入对应的消息通道缓冲区,如果不需要,直接将消息放入缓冲区中;
步骤4、判断是否有要接收的数据,如有则进入步骤5;
步骤5、从配置数据中查找消息对应的消息通道,接收数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611155257.XA CN108234397A (zh) | 2016-12-14 | 2016-12-14 | 一种基于通道的异构网络数据发送方法和接收方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611155257.XA CN108234397A (zh) | 2016-12-14 | 2016-12-14 | 一种基于通道的异构网络数据发送方法和接收方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108234397A true CN108234397A (zh) | 2018-06-29 |
Family
ID=62651215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611155257.XA Pending CN108234397A (zh) | 2016-12-14 | 2016-12-14 | 一种基于通道的异构网络数据发送方法和接收方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108234397A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547498A (zh) * | 2018-11-26 | 2019-03-29 | 中国人民解放军海军大连舰艇学院 | 用于异构仿真系统中的通信互连装置及方法 |
CN112433707A (zh) * | 2020-11-30 | 2021-03-02 | 中国航空工业集团公司西安航空计算技术研究所 | 一种支持异构总线的高安全可配置的实时数据传输框架 |
CN113763596A (zh) * | 2021-09-06 | 2021-12-07 | 天津津航计算技术研究所 | 一种机载异构网络数据记录方法 |
CN113763595A (zh) * | 2021-09-06 | 2021-12-07 | 天津津航计算技术研究所 | 一种机载异构网络数据记录系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110046837A (ko) * | 2009-10-29 | 2011-05-06 | 주식회사 케이티 | 데이터 배포 서비스 기반의 네트워크 관제 방법 |
US20120221845A1 (en) * | 2011-02-28 | 2012-08-30 | James Michael Ferris | Systems and methods for migrating data among cloud-based storage networks via a data distribution service |
CN104219247A (zh) * | 2014-09-22 | 2014-12-17 | 中国科学院上海微系统与信息技术研究所 | 一种无线多媒体传感器网络接入ip网络的方法 |
CN105549460A (zh) * | 2016-03-10 | 2016-05-04 | 中国电子科技集团公司第十研究所 | 星载电子设备综合化管控系统 |
-
2016
- 2016-12-14 CN CN201611155257.XA patent/CN108234397A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110046837A (ko) * | 2009-10-29 | 2011-05-06 | 주식회사 케이티 | 데이터 배포 서비스 기반의 네트워크 관제 방법 |
US20120221845A1 (en) * | 2011-02-28 | 2012-08-30 | James Michael Ferris | Systems and methods for migrating data among cloud-based storage networks via a data distribution service |
CN104219247A (zh) * | 2014-09-22 | 2014-12-17 | 中国科学院上海微系统与信息技术研究所 | 一种无线多媒体传感器网络接入ip网络的方法 |
CN105549460A (zh) * | 2016-03-10 | 2016-05-04 | 中国电子科技集团公司第十研究所 | 星载电子设备综合化管控系统 |
Non-Patent Citations (1)
Title |
---|
吕广喆,邸海涛,甄超,张鹏: ""机载分布式异构网络通信中间件研究"", 《航空计算技术》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547498A (zh) * | 2018-11-26 | 2019-03-29 | 中国人民解放军海军大连舰艇学院 | 用于异构仿真系统中的通信互连装置及方法 |
CN109547498B (zh) * | 2018-11-26 | 2023-06-13 | 中国人民解放军海军大连舰艇学院 | 用于异构仿真系统中的通信互连装置及方法 |
CN112433707A (zh) * | 2020-11-30 | 2021-03-02 | 中国航空工业集团公司西安航空计算技术研究所 | 一种支持异构总线的高安全可配置的实时数据传输框架 |
CN112433707B (zh) * | 2020-11-30 | 2023-03-14 | 中国航空工业集团公司西安航空计算技术研究所 | 一种支持异构总线的高安全可配置的实时数据传输框架 |
CN113763596A (zh) * | 2021-09-06 | 2021-12-07 | 天津津航计算技术研究所 | 一种机载异构网络数据记录方法 |
CN113763595A (zh) * | 2021-09-06 | 2021-12-07 | 天津津航计算技术研究所 | 一种机载异构网络数据记录系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11394611B2 (en) | Programmable protocol parser for NIC classification and queue assignments | |
EP3737016A1 (en) | Data transmission method, apparatus and system | |
CN108234397A (zh) | 一种基于通道的异构网络数据发送方法和接收方法 | |
EP2602962A1 (en) | A method and apparatus to provide data streaming over a network connection in a wireless MAC processor | |
EP3422656B1 (en) | Udp protocol acceleration method and system | |
US9356863B2 (en) | Communications over multiple protocol interfaces in a computing environment | |
CN1150725C (zh) | 减少存储器访问次数的网络包发送查询的方法和装置 | |
CN108307434A (zh) | 用于流控制的方法和设备 | |
CN103141058A (zh) | 用于虚拟分布式业务的网络接口控制器 | |
CN102035751A (zh) | 一种数据的传输方法和设备 | |
CN105340217A (zh) | 一种报文处理方法、装置及系统 | |
CN107623632B (zh) | 基于dpdk的网络协议的连接方法及系统 | |
CN104796338A (zh) | 虚拟机迁移方法及装置 | |
CN104683428A (zh) | 网络业务处理方法与装置 | |
CN107508828B (zh) | 一种超远程数据交互系统及方法 | |
US9871666B2 (en) | Intermediate unicast network and method for multicast data networks | |
CN102420772A (zh) | 隧道报文收发方法和装置 | |
CN112737995B (zh) | 以太网帧的处理方法、装置、设备及存储介质 | |
WO2016119269A1 (zh) | 一种业务流数据包的处理方法及装置 | |
CN104184729A (zh) | 一种报文处理方法和装置 | |
CN102447637A (zh) | 报文处理方法、系统和网络设备 | |
CN101667971A (zh) | 发送、接收报文的方法、装置和系统 | |
CN106713170B (zh) | 一种vsm通道的报文分片方法及装置 | |
CN111245744A (zh) | 一种报文传输控制方法及装置 | |
WO2015117502A1 (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: 20180629 |
|
RJ01 | Rejection of invention patent application after publication |