CN109582479B - 一种基于反射内存卡的OpenDDS分布式通信方法 - Google Patents

一种基于反射内存卡的OpenDDS分布式通信方法 Download PDF

Info

Publication number
CN109582479B
CN109582479B CN201811479697.XA CN201811479697A CN109582479B CN 109582479 B CN109582479 B CN 109582479B CN 201811479697 A CN201811479697 A CN 201811479697A CN 109582479 B CN109582479 B CN 109582479B
Authority
CN
China
Prior art keywords
memory card
diop
data
reflective memory
opendds
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
Application number
CN201811479697.XA
Other languages
English (en)
Other versions
CN109582479A (zh
Inventor
刘爽
印玲
宋雷军
申臻
魏冬冬
姜丽梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai aerospace computer technology research institute
Original Assignee
Shanghai aerospace computer technology research institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai aerospace computer technology research institute filed Critical Shanghai aerospace computer technology research institute
Priority to CN201811479697.XA priority Critical patent/CN109582479B/zh
Publication of CN109582479A publication Critical patent/CN109582479A/zh
Application granted granted Critical
Publication of CN109582479B publication Critical patent/CN109582479B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于反射内存卡的OpenDDS分布式通信方法,其中包括CORBA远程调用通信中基于UDP的DIOP协议修改,使用反射内存卡替换底层通信介质,将UDP数据流截断并使用反射内存卡传输,自适配通信环境中反应器监控通知机制的触发,基于反射内存卡的DIOP协议的加载和使用,在OpenDDS已支持的DIOP协议中快速实现数据重定向至反射内存卡。本发明使得OpenDDS中远程调用数据通过反射内存卡传输,将反射内存卡和发布/订阅模式结合,提供了一种高带宽、低延时的网络通信解决方案,更好地满足分布式系统实时性、可靠性的通信要求。

Description

一种基于反射内存卡的OpenDDS分布式通信方法
技术领域
本发明属于分布式通信技术领域,尤其涉及一种基于反射内存卡的OpenDDS分布式通信方法。
背景技术
随着分布式系统复杂程度的不断增加和研发规模的迅速扩大,系统集成的难度和风险都在大幅提高。提供实时系统数据分发服务的OpenDDS是用于分发实时应用程序的网络中间件,它简化了分布式应用程序的开发、部署和维护,其以数据为中心的发布订阅模式极大地降低了在网络上发送数据所需的时间消耗,为大容量传输网络提供了针对时间关键数据快速且可预见的分发。此外,OpenDDS规范还定义了大量的QoS策略,使得系统可以很好地配置和利用系统资源,协调可预测性和执行效率之间的平衡,以支持复杂多变的数据流需求。
OpenDDS使用规范的IDL接口初始化和控制服务,是建立在CORBA上的应用框架,其中的信息传输分为远程调用和数据传输两部分,远程调用是分布式通信的主要技术,在分布式通信中起到重要作用,默认情况下传输介质为网卡,基于UDP的DIOP协议无需连接,通信效率高。
发明内容
为了降低网络间通讯的时延,屏蔽子网内部频繁通讯对整个网络中其他设备的干扰,本发明提出了一种基于反射内存卡的OpenDDS分布式通信方法。
本发明所采用的技术方案是:
一种基于反射内存卡的OpenDDS分布式通信方法,包括:
S0:在分布式通信计算机中安装反射内存卡,设置每个硬件节点号,并设定相应数据传输地址;
S1:在DIOP协议工程中加载反射内存卡驱动,在DIOP接收器中创建监控反射内存卡函数,通过判断指定地址写入标志是否置位,判断监控数据是否已经写入反射内存,监控到有数据写入时,则进入步骤S2;
S2:将写入标志清除,通过socket向本机地址发送1字节数据触发反应器,所述反应器监视到事先注册在其中的socket有数据到来,进而能够回调事先注册在所述反应器中的事件处理函数接收数据;
S3:在DIOP传输器接收函数中从所述反射内存卡的指定地址中读出数据,并将其读取标志置位;
S4:在DIOP传输器写入函数中判断指定地址读取标志是否置位,如果置位,则表示已读,进入步骤S5;
S5:在所述DIOP传输器写入函数中向指定地址写入数据,并将读取标志清除,将写入标志置位;
S6:重新编译DIOP工程。
较佳的,通过所述DIOP传输器接收函数和所述DIOP传输器写入函数获得相关数据和通信信息,将不同通道的数据映射到所述反射内存卡的同一片地址上。
较佳的,通过使用数据读写标识符控制所述反射内存卡中数据的读写顺序,实现不同进程数据的时序同步。
较佳的,所述步骤S6中,在OpenDDS中配置和加载改进的DIOP协议,其中包括:将DIOP工程加入到OpenDDS应用链接库中,通过服务配置器动态加载DIOP协议:在应用路径下创建配置文件,输入动态加载命令,在DCPS服务器端声明DIOP端点,在命令行输入相关参数即可运行程序。
本发明的有益效果是:
以数据为中心的OpenDDS拥有较高的通信效率,同时结合QoS策略控制服务行为,增加了通信的灵活性;
反射内存卡允许系统中所有节点同时读取共享的内存数据,无需通信协议,减少了网络中不必要的数据,提高了数据的传输效率,是一种非常适合实时分布式网络应用的底层硬件;
采用较为方便的修改DIOP协议,使得远程调用数据通过反射内存卡传输,同样实现了高效的通信;
将反射内存卡和发布/订阅模式结合,提供了一种高带宽、低延时的网络通信解决方案,更好地满足分布式系统实时性、可靠性的通信要求。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
图1为本发明在CORBA远程调用中的通信示意图;
图2为CORBA远程调用基于DIOP的通信流程图;
图3为本发明基于反射内存卡的OpenDDS分布式通信方法的总体结构图;
图4为本发明使用反射内存卡替换UDP的过程示意图;
图5为本发明使用标志位完成进程同步过程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。
本发明提出了一种基于反射内存卡的OpenDDS分布式通信方法,在OpenDDS已支持的DIOP协议中快速实现数据重定向至反射内存卡。依据自适配通信环境中反应器监控硬件数据到来并完成通知的机理,以及反射内存卡相关API函数实现相应功能,将本通过DIOP协议完成远程调用的通信使用反射内存卡实现,完成了OpenDDS中基于DIOP协议下使用反射内存卡传输数据。
本发明的技术方案是首先研究OpenDDS架构和使用方法,从中研究OpenDDS的通信原理,其中包括分布式系统CORBA中的远程对象通信和数据传输部分,CORBA中对象请求代理之间的远程调用结合UDP生成DIOP协议,如图1和图2所示;再通过研究自适配通信环境中反应器的事件监控和分离机制,了解触发方法;最后使用反射内存卡替换原有的DIOP中的数据传输,并在反应器的架构下进行相应的数据监控,实现基于反射内存卡的OpenDDS通信方法,如图3所示。
本发明提出的一种基于反射内存卡的OpenDDS分布式通信方法,包括:
S0:在分布式通信计算机中安装反射内存卡,设置每个硬件节点号,并设定相应数据传输地址。
S1:在DIOP协议工程中加载反射内存卡驱动,在DIOP接收器中创建监控反射内存卡函数,通过判断指定地址写入标志是否置位,判断监控数据是否已经写入反射内存,监控到有数据写入时,则进入步骤S2。
步骤S1中,反射内存卡函数位置既要在数据接收端用于监控网卡数据的socket已经建立并完成监听端口绑定之后,又要在数据发送端给接收端发送第一帧数据之前,发送端还未向对方发送任何数据时创建该线程,以确保接收端能及时准确地监控到发送端写入反射内存卡的所有数据。
S2:如图4所示,将写入标志清除,通过socket向本机地址发送1字节数据触发反应器,反应器监视到事先注册在其中的socket有数据到来,进而能够回调事先注册在反应器中的事件处理函数接收数据。
S3:如图5所示,在DIOP传输器接收函数中从反射内存卡的指定地址中读出数据,并将其读取标志置位。
S4:如图5所示,在DIOP传输器写入函数中判断指定地址读取标志是否置位,如果置位,则表示已读,进入步骤S5。
S5:如图5所示,在DIOP传输器写入函数中向指定地址写入数据,并将读取标志清除,将写入标志置位。
步骤S3、步骤S4和步骤S5中,通过DIOP传输器接收函数和DIOP传输器写入函数获得相关数据和通信信息,将不同通道的数据映射到反射内存卡的同一片地址上。
步骤S3、步骤S4和步骤S5中,通过使用数据读写标识符控制反射内存卡中数据的读写顺序,实现不同进程数据的时序同步。
S6:重新编译DIOP工程。
步骤S6中,在OpenDDS中配置和加载改进的DIOP协议,其中包括:将DIOP工程加入到OpenDDS应用链接库中,通过服务配置器动态加载DIOP协议:在应用路径下创建配置文件,输入动态加载命令,在DCPS服务器端声明DIOP端点,在命令行输入相关参数即可运行程序。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (2)

1.一种基于反射内存卡的OpenDDS分布式通信方法,其特征在于,包括:
S0:在分布式通信计算机中安装反射内存卡,设置每个硬件节点号,并设定相应数据传输地址;
S1:在DIOP协议工程中加载反射内存卡驱动,在DIOP接收器中创建监控反射内存卡函数,通过判断指定地址写入标志是否置位,判断监控数据是否已经写入反射内存,监控到有数据写入时,则进入步骤S2;
S2:将写入标志清除,通过socket向本机地址发送1字节数据触发反应器,所述反应器监视到事先注册在其中的socket有数据到来,进而能够回调事先注册在所述反应器中的事件处理函数接收数据;
S3:在DIOP传输器接收函数中从所述反射内存卡的指定地址中读出数据,并将其读取标志置位;
S4:在DIOP传输器写入函数中判断指定地址读取标志是否置位,如果置位,则表示已读,进入步骤S5;
S5:在所述DIOP传输器写入函数中向指定地址写入数据,并将读取标志清除,将写入标志置位;
S6:重新编译DIOP工程,在OpenDDS中配置和加载改进的DIOP协议;
其中,通过所述DIOP传输器接收函数和所述DIOP传输器写入函数获得相关数据和通信信息,将不同通道的数据映射到所述反射内存卡的同一片地址上;
通过使用数据读写标识符控制所述反射内存卡中数据的读写顺序,实现不同进程数据的时序同步。
2.根据权利要求1所述的一种基于反射内存卡的OpenDDS分布式通信方法,其特征在于,所述步骤S6包括:将DIOP工程加入到OpenDDS应用链接库中,通过服务配置器动态加载DIOP协议:在应用路径下创建配置文件,输入动态加载命令,在DCPS服务器端声明DIOP端点,在命令行输入相关参数即可运行程序。
CN201811479697.XA 2018-12-05 2018-12-05 一种基于反射内存卡的OpenDDS分布式通信方法 Active CN109582479B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811479697.XA CN109582479B (zh) 2018-12-05 2018-12-05 一种基于反射内存卡的OpenDDS分布式通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811479697.XA CN109582479B (zh) 2018-12-05 2018-12-05 一种基于反射内存卡的OpenDDS分布式通信方法

Publications (2)

Publication Number Publication Date
CN109582479A CN109582479A (zh) 2019-04-05
CN109582479B true CN109582479B (zh) 2021-11-09

Family

ID=65927118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811479697.XA Active CN109582479B (zh) 2018-12-05 2018-12-05 一种基于反射内存卡的OpenDDS分布式通信方法

Country Status (1)

Country Link
CN (1) CN109582479B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110321236B (zh) * 2019-07-11 2022-10-25 哈尔滨工业大学 一种基于OpenDDS的远程方法调用实现方法
CN111245919B (zh) * 2020-01-07 2022-09-20 上海航天计算机技术研究所 一种基于OpenDDS的反射内存网组织管理方法
CN114006824A (zh) * 2021-10-22 2022-02-01 南京芯传汇电子科技有限公司 一种基于分布式通信的反射内存卡仿真的通讯方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102664954A (zh) * 2012-04-25 2012-09-12 清华大学 基于hla的分布式仿真支撑平台及其实现方法
CN104573135A (zh) * 2014-12-24 2015-04-29 北京经纬恒润科技有限公司 基于反射内存网与中间件技术的实时数据采集方法及装置
EP3264357A1 (en) * 2016-07-01 2018-01-03 General Electric Company Systems and methods to integrate power production simulation with power distribution simulation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516052B2 (en) * 2004-05-27 2009-04-07 Robert Allen Hatcherson Container-based architecture for simulation of entities in a time domain
CN105205183B (zh) * 2015-10-29 2018-06-22 哈尔滨工业大学 一种基于xml的dds分布式系统自动构建方法
CN108241770B (zh) * 2016-12-27 2021-07-16 中国船舶重工集团公司七五○试验场 一种基于反射内存网的消息响应分布式仿真方法
CN107329920B (zh) * 2017-07-06 2020-09-18 中国航空工业集团公司西安飞机设计研究所 一种反射内存的公共接口框架设计方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102664954A (zh) * 2012-04-25 2012-09-12 清华大学 基于hla的分布式仿真支撑平台及其实现方法
CN104573135A (zh) * 2014-12-24 2015-04-29 北京经纬恒润科技有限公司 基于反射内存网与中间件技术的实时数据采集方法及装置
EP3264357A1 (en) * 2016-07-01 2018-01-03 General Electric Company Systems and methods to integrate power production simulation with power distribution simulation

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CReMeS: A CORBA Compliant Reflective Memory based Real-time Communication Service;Sun-Tae Chung,等;《Proceedings 21st IEEE Real-Time Systems Symposium》;20001130;第1-12页 *
Implementing Pluggable Protocols for TAO;Fred Kuhns,等;《http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/TAO/docs/pluggable_protocols/index.html》;20011208;第1-32页 *
基于CORBA的可插拔协议研究;孙海彬,等;《电脑知识与技术》;20090925;第5卷(第27期);第7783-7787页 *
高速光纤总线在导弹综合信息一体化技术中的应用;胥辉旗,等;《海军航空工程学院学报》;20120320;第27卷(第2期);第181-186页 *

Also Published As

Publication number Publication date
CN109582479A (zh) 2019-04-05

Similar Documents

Publication Publication Date Title
US10698717B2 (en) Accelerator virtualization method and apparatus, and centralized resource manager
CN109582479B (zh) 一种基于反射内存卡的OpenDDS分布式通信方法
US20200382578A1 (en) Communication Method, System and Apparatus
CN113485823A (zh) 数据传输方法、装置、网络设备、存储介质
KR20060079108A (ko) 버스 프로토콜들 또는 네트워크들의 통합을 용이하게 하는버스 추상화 방법 및 시스템
Leitão et al. Integration patterns for interfacing software agents with industrial automation systems
CN105141603A (zh) 通信数据传输方法及系统
Li et al. Interconnecting heterogeneous devices in the personal mobile cloud
US9116881B2 (en) Routing switch apparatus, network switch system, and routing switching method
CA3165131A1 (en) Service delivery at the edge
CN113259408B (zh) 数据传输方法和系统
EP3703342B1 (en) Dynamic load balancing in network centric process control systems
CN116800616B (zh) 虚拟化网络设备的管理方法及相关装置
CN112714146B (zh) 一种资源调度方法、装置、设备及计算机可读存储介质
CN116055426B (zh) 用于多绑定模式下流量卸载转发的方法、设备及介质
US10757177B1 (en) Data locality-aware MapReduce using IoT devices
CN114697334B (zh) 一种编排任务的执行方法和装置
CN109542833A (zh) 一种基于微服务器架构的服务器管理方法、装置、服务器
US10986036B1 (en) Method and apparatus for orchestrating resources in multi-access edge computing (MEC) network
CN110809047A (zh) 一种外网单域名连接内网kafka集群的实现方法及系统
CN112099769B (zh) 一种具有统一数据传输接口的软件化雷达装置
WO2024041572A1 (zh) 业务处理方法、装置、设备、介质及程序产品
CN114884948B (zh) 一种数据处理系统
WO2023035777A1 (zh) 网络配置方法、代理组件、控制器、电子设备和存储介质
CN111245919B (zh) 一种基于OpenDDS的反射内存网组织管理方法

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
GR01 Patent grant
GR01 Patent grant