CN105528255A - 基于eipc的tcf通信方法及设备 - Google Patents
基于eipc的tcf通信方法及设备 Download PDFInfo
- Publication number
- CN105528255A CN105528255A CN201510894957.XA CN201510894957A CN105528255A CN 105528255 A CN105528255 A CN 105528255A CN 201510894957 A CN201510894957 A CN 201510894957A CN 105528255 A CN105528255 A CN 105528255A
- Authority
- CN
- China
- Prior art keywords
- tcf
- eipc
- client
- agent side
- function
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title abstract description 7
- 230000005540 biological transmission Effects 0.000 claims abstract description 12
- 239000003795 chemical substances by application Substances 0.000 claims description 36
- 230000000903 blocking effect Effects 0.000 claims description 2
- 230000037361 pathway Effects 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000008485 antagonism Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- 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
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
-
- 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/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本发明提供了一种基于EIPC的TCF通信方法,包括如下步骤:步骤A.初始化发送和接收句柄;步骤B.TCF代理端进入accept状态,TCF客户端进入connect状态;步骤C.初始化EIPC通信通道。同时提供了一种基于EIPC的TCF通信设备。本发明只需使用数量很少的一些函数,就可以实现多处理器间、多任务间的消息通信和大块数据传输,具有可靠、基于优先级、实时嵌入的特点;接口统一,方便设置;不仅能够实现同一CPU内的核间通信,还能够实现不同CPU的核间通信,有效完成各处理器之间的互联;能够将TCF代理端部署到CPU的所有核;可以将没有IP的核也通过TCF代理端来监控。
Description
技术领域
本发明涉及计算机软件技术领域的通信协议,具体地,涉及一种基于EIPC的TCF通信方法及设备。
背景技术
在国防领域,存在着一类计算密集型的应用,如信息情报、雷达信号处理以及电子战等,为了应对战场的复杂情况并快速的作出反应,这些应用都要求有一个高性能、高可靠、高稳定的计算机,以能够帮助它们分析和处理数据。而且,随着信息化技术的不断发展,未来战场已不再是单一装备、单一兵种的对抗,为了打赢高度信息化下的局部战争,必须协同各种装备,各兵种,统一决策。由此,国防领域迎来了大数据时代。为了能够对大数据进行高速处理,高性能嵌入式计算(HPEC)应运而生,它的出现为计算密集型的国防和航空领域应用带来了非常强大的处理能力。
HPEC常采用多个机柜的形式将很多的计算资源组织起来,每个机柜有多个机箱,每个机箱里有多块处理板,每块处理板又包含多块处理芯片。当这么多硬件资源整合在一起的时候,一个能够管理所有硬件资源的管理软件对用户来说意义很大,用户只需在他们自己的电脑上安装一个监控软件,即可管理所有的硬件资源。
为了解决上述问题,美国风河公司(windriver)开发出了一套目标通信框架(TCF)软件,这套软件分为客户端(client端)和代理端(agent端),客户端代码通常运行于通用计算机上(如PC机上),也即上位机上,它一方面提供给用户可视化的操作界面,另一方面它将代理端传来的数据以可视化的方式呈现给用户;代理端代码可运行在多个平台上(如x86,ppc,dsp等),也即下位机上,用于接收客户端传来的请求,并作出响应。
在通信方式上,TCF采用TCP/IP协议,TCF同时也支持通过管道和UnixSocket这两种方式。这些通信方式对于支持网络通信,且运行通用操作系统的下位机来说,是非常方便且有用的,TCF可不加修改的移植上去。但是,在高性能嵌入式领域,所用的操作系统都是实时操作系统,是不支持管道和UnixSocket这两种方法的,而且如果采用AMP这种架构,即操作系统部署到核,对于多个核的CPU,如果不是特别设计,并不是每个核都有IP,一般情况下,只有核0有IP,其它核通过核0来加载系统。这时,如果利用TCF来管理系统,则只能将TCF代理端部署到核0,其它核的信息需要核0去收集,这样,又必须得在其它核实现一个收集信息的任务,同时核0要有一个能够接收其它核传来的信息的任务,无形中增加了很多的工作量。
发明内容
针对现有技术中存在的上述不足,本发明提出了一种利用rapidIO通信来解决CPU核与上位机之间通信的基于EIPC(EmbeddedIntelligentPlatformofControl,嵌入式智能控制平台)的TCF通信方法及设备,利用高性能嵌入式领域中同一CPU的核间以及不同CPU的核间能够通过rapidIO来通信,再结合TCF的重定向功能,解决了其它核如何通过TCF来管理以及如何与上位机进行通信的问题。
为实现上述目的,本发明是通过以下技术方案实现的。
根据本发明的一个方面,提供了一种基于EIPC的TCF通信方法,包括如下步骤:
步骤A.初始化发送和接收句柄:
TCF客户端和TCF代理端分别调用EIPC的msgOpen函数生成发送和接收句柄;
步骤B.TCF代理端进入accept状态,TCF客户端进入connect状态:
完成步骤A后,TCF代理端发出异步请求事件IPCAsyncReqAccept,并创建一个线程来响应这个IPCAsyncReqAccept事件,考虑到EIPC的接口函数中没有类似于网络编程的accept函数,但是EIPC的接收函数是可阻塞的,因此,TCF代理端利用EIPC接收函数的阻塞功能实现accept功能;同样,TCF客户端发出异步请求事件IPCAsyncReqConnect,同时创建一个线程来响应这个IPCAsyncReqConnect事件,考虑到EIPC的接口函数中没有类似于网络编程的connect函数,但是只要客户端向代理端发送数据,代理端的EIPC接收函数接收,代理端的程序就能继续往下走,因此,TCF客户端利用EIPC的发送函数实现connect功能;
步骤C.初始化EIPC通信通道:
首先,完成输入输出流的读写函数、通道关闭函数、接收和发送缓冲区的初始化工作;然后,TCF代理端和TCF客户端均进入接收等待状态,TCF客户端新建一个线程发送握手信号,TCF代理端收到握手信号后,进入发送状态,并发送响应给TCF客户端,同时TCF代理端设置通道为连接状态,客户端收到信息后同样设置通道为连接状态,之后,TCF客户端和TCF代理端即进入通信状态,EIPC通信通道初始化完成。
根据本发明的另一个方面,提供了一种基于EIPC的TCF通信设备,包括上位机端和下位机端,其中,上位机端运行有TCF客户端,下位机端设有多个CPU,每一个CPU均设有多个核,每一个核上均运行有TCF代理端,任一个TCF客户端与任一个TCF代理端之间设置有EIPC通信通道。
本发明提供的基于EIPC的TCF通信方法及设备,基于EIPC通信,通过TCF客户端和TCF代理端,实现了下位机端其他核通过TCF的管理以及与上位机端的通信。
与现有技术相比,本发明具有如下有益效果:
1、本发明是基于EIPC通信实现的,只需使用数量很少的一些函数,就可以实现多处理器间、多任务间的消息通信和大块数据传输,具有可靠、基于优先级、实时嵌入的特点;
2、EIPC通信是基于rapidio实现的,接口统一,方便设置;
3、本发明不仅能够实现同一CPU内的核间通信,还能够实现不同CPU的核间通信,有效完成各处理器之间的互联;
4、本发明能够将TCF代理端部署到CPU的所有核;
5、本发明可以将没有IP的核也通过TCF代理端来监控。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明基于EIPC的TCF通信设备的结构示意图;
图2为EIPC通信通道在基于EIPC的TCF通信设备中的位置图;
图3为本发明基于EIPC的TCF通信方法的过程图。
具体实施方式
下面对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
实施例1
本实施例提供了一种基于EIPC的TCF通信方法,包括如下步骤:
步骤A:初始化发送和接收句柄:
TCF客户端和TCF代理端分别调用EIPC的msgOpen函数生成发送和接收句柄;
步骤B:TCF代理端进入accept状态,TCF客户端进入connect状态:
完成步骤A之后,TCF代理端发出异步请求事件IPCAsyncReqAccept,接下来,TCF代理端会去创建一个线程来响应这个事件,考虑到EIPC的接口函数中没有类似于网络编程的accept函数,但是EIPC的接收函数是可阻塞的,因此,TCF代理端即利用接收函数的阻塞功能来实现accept功能。同样,TCF客户端会发出异步请求事件IPCAsyncReqConnect,TCF客户端也会去创建一个线程来响应这个事件,考虑到EIPC的接口函数中没有类似于网络编程的connect函数,但是只要向TCF代理端发送数据,TCF代理端的接收函数就会接收到,TCF代理端的程序就能继续往下走,因此,TCF客户端即利用EIPC的发送函数来实现connect功能。
步骤C:初始化EIPC通信通道:
首先,完成输入输出流的读写函数、通道关闭函数、接收和发送缓冲区的初始化工作;完成这些工作后,TCF代理端和TCF客户端都进入接收等待状态,TCF客户端会新建一个线程发送握手信号,TCF代理端收到后,进入发送状态,并发送响应给TCF客户端,同时TCF代理端设置通道为连接状态,TCF客户端收到信息后同样设置通道为连接状态,之后,双方即可进入正常的通信状态了,EIPC通信通道初始化完成。
下面结合附图对本实施例进一步描述。
如图1所示:
图1中,TCF客户端即caiyoTCF客户端程序,运行于上位机端,假设下位机端设有多个CPU,其中每一个CPU均设有多个核(例如8个),且只有核0支持TCP/IP协议,这时,运行在核0上的TCF代理端可直接与上位机端通过网络进行通信,而运行在其它核上的TCF代理端,当TCF客户端想与它们通信时,就需要利用核0上的TCF代理端的Locator服务实现重定向。具体步骤为:TCF客户端首先向核0发送重定向请求,之后,核0的TCF代理端会用客户指定的通信协议去和客户指定的目标进行连接,一旦连接建立后,核0的TCF代理端就相当于一个代理商,负责转发TCF客户端与指定核之间的消息,如果想重新与核0连接,只需重新与核0的IP连接即可。
图1中,核0与其它核的通信方式标记为EIPC(RapidIO系统软件),它是基于rapidio实现的,为在多处理器(OS)上运行的应用程序对数据进行的传输操作提供了一套工具。只需使用数量很少的一些函数,就可以实现多处理器间、多任务间的消息通信和大块数据传输。而且这套通信方式是可靠的、基于优先级的、为实时嵌入式应用而设计的。
EIPC对应用程序的设计者而言屏蔽了底层架构细节,把应用者从下层的硬件传输机制中隔离了出来。例如,某个消息传递函数要发送消息,无论目的任务运行在同一个板上,还是别的板上,甚至是要通过交换机相连的别的板上,所使用的发送函数,函数里的参数模式,都是一样的。
EIPC在系统中的位置如图2所示。因为EIPC即能实现同一CPU内的核间通信,也能实现不同CPU的核间通信,而且,它是基于rapidIO的,只要各处理器之间通过rapidIO互联即可使用EIPC。
因为EIPC是基于rapidio的,且接口统一,因此,本实施例设计的新的通信方式即采用EIPC作为通信协议。
接下来,对具体实现进行一个详细的说明。
首先,参照TCF的基于网络的通信方式,将实现过程分成3个步骤,如图3所示。图3中,TCF客户端和TCF代理端首先进行初始化工作,初始化发送和接收句柄;然后,TCF代理端进入等待连接状态,TCF客户端发起连接;当双方建立连接之后,再初始化通信通道(EIPC通信通道);最后,双方即可利用建立好的通信通道进行通信了。
实施例2
本实施例提供了一种基于EIPC的TCF通信设备,包括上位机端和下位机端,其中,上位机端运行有TCF客户端,下位机端设有多个CPU,每一个CPU均设有多个核,每一个核上均运行有TCF代理端,任一个TCF客户端与任一个TCF代理端之间设置有EIPC通信通道。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (2)
1.一种基于EIPC的TCF通信方法,其特征在于,包括如下步骤:
步骤A.初始化发送和接收句柄:
TCF客户端和TCF代理端分别调用EIPC的msgOpen函数生成发送和接收句柄;
步骤B.TCF代理端进入accept状态,TCF客户端进入connect状态:
完成步骤A后,TCF代理端发出异步请求事件IPCAsyncReqAccept,并创建一个线程来响应这个IPCAsyncReqAccept事件,TCF代理端利用EIPC接收函数的阻塞功能实现accept功能;同样,TCF客户端发出异步请求事件IPCAsyncReqConnect,同时创建一个线程来响应这个IPCAsyncReqConnect事件,TCF客户端利用EIPC的发送函数实现connect功能;
步骤C.初始化EIPC通信通道:
首先,完成输入输出流的读写函数、通道关闭函数、接收和发送缓冲区的初始化工作;然后,TCF代理端和TCF客户端均进入接收等待状态,TCF客户端新建一个线程发送握手信号,TCF代理端收到握手信号后,进入发送状态,并发送响应给TCF客户端,同时TCF代理端设置通道为连接状态,客户端收到信息后同样设置通道为连接状态,之后,TCF客户端和TCF代理端即进入通信状态,卧PC通信通道初始化完成。
2.一种基于EIPC的TCF通信设备,其特征在于,包括上位机端和下位机端,其中,上位机端运行有TCF客户端,下位机端设有多个CPU,每一个CPU均设有多个核,每一个核上均运行有TCF代理端,任一个TCF客户端与任一个TCF代理端之间设置有EIPC通信通道。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510894957.XA CN105528255B (zh) | 2015-12-07 | 2015-12-07 | 基于eipc的tcf通信方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510894957.XA CN105528255B (zh) | 2015-12-07 | 2015-12-07 | 基于eipc的tcf通信方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105528255A true CN105528255A (zh) | 2016-04-27 |
CN105528255B CN105528255B (zh) | 2019-07-05 |
Family
ID=55770499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510894957.XA Active CN105528255B (zh) | 2015-12-07 | 2015-12-07 | 基于eipc的tcf通信方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105528255B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505541A (zh) * | 2019-07-18 | 2019-11-26 | 烽火通信科技股份有限公司 | 一种无源光网络多cpu的分布式实现方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777121A (zh) * | 2005-12-14 | 2006-05-24 | 中国科学院计算技术研究所 | 面向网格计算机体系结构的外设部件系统及方法 |
CN1940874A (zh) * | 2005-09-30 | 2007-04-04 | 中国科学院研究生院 | 计算机系统 |
CN1952821A (zh) * | 2006-11-06 | 2007-04-25 | 中国科学院电工研究所 | 一种工业以太网的嵌入式实时控制系统 |
CN104079546A (zh) * | 2013-03-29 | 2014-10-01 | 广州华多网络科技有限公司 | 通信调度方法、发起方法、提供方法、设备及系统 |
-
2015
- 2015-12-07 CN CN201510894957.XA patent/CN105528255B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1940874A (zh) * | 2005-09-30 | 2007-04-04 | 中国科学院研究生院 | 计算机系统 |
CN1777121A (zh) * | 2005-12-14 | 2006-05-24 | 中国科学院计算技术研究所 | 面向网格计算机体系结构的外设部件系统及方法 |
CN1952821A (zh) * | 2006-11-06 | 2007-04-25 | 中国科学院电工研究所 | 一种工业以太网的嵌入式实时控制系统 |
CN104079546A (zh) * | 2013-03-29 | 2014-10-01 | 广州华多网络科技有限公司 | 通信调度方法、发起方法、提供方法、设备及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505541A (zh) * | 2019-07-18 | 2019-11-26 | 烽火通信科技股份有限公司 | 一种无源光网络多cpu的分布式实现方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105528255B (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2597556C2 (ru) | Структура компьютерного кластера для выполнения вычислительных задач и способ функционирования указанного кластера | |
CN109144660A (zh) | 微服务架构 | |
US11178063B2 (en) | Remote hardware acceleration | |
KR101557833B1 (ko) | 머신 비젼 애플리케이션을 위한 멀티-코어 분산형 처리 | |
CN102855218A (zh) | 数据处理系统、方法及装置 | |
US10609125B2 (en) | Method and system for transmitting communication data | |
CN103984235A (zh) | 基于c/s结构的空间机械臂控制系统软件架构及构建方法 | |
CN114564435A (zh) | 异构多核芯片的核间通信方法、装置及介质 | |
US20200012517A1 (en) | Computer system infrastructure and method of hosting an application software | |
CN108255585A (zh) | Sdk异常控制及应用程序运行方法、装置及其设备 | |
WO2023046141A1 (zh) | 一种数据库网络负载性能的加速框架、加速方法及设备 | |
CN114153605A (zh) | 一种适配自主可控芯片的电力边缘计算智能框架及其部署方法 | |
CN111385332A (zh) | 物联网设备、物联网平台、物联网平台接入方法及设备 | |
CN116302306A (zh) | 用于微服务体系结构的基于匹配的增强的调试 | |
CN110321203B (zh) | 后台进程假死处理方法及客户端 | |
CN105528255A (zh) | 基于eipc的tcf通信方法及设备 | |
CN102457543A (zh) | 一种基于ZigBee与GPRS的无线水文监测系统 | |
JP2009123202A (ja) | データを処理するためのプロセッサ‐サーバ・ハイブリッド・システムおよび方法 | |
CN102446155A (zh) | 同步装置及方法 | |
US10379918B2 (en) | System and method for MPI implementation in an embedded operating system | |
CN102812445A (zh) | 分层型多核处理器、多核处理器系统、以及控制程序 | |
US20030202522A1 (en) | System for concurrent distributed processing in multiple finite state machines | |
CN105144107A (zh) | 用于运行可执行代码的方法、处理模块及系统 | |
CN101464844B (zh) | 一种ram使用权的控制方法及总线接口 | |
CN115361348A (zh) | 由数据采集设备执行的与web浏览器通信的方法 |
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 |