CN107844455A - 一种基于双cpu的数据传输方法 - Google Patents
一种基于双cpu的数据传输方法 Download PDFInfo
- Publication number
- CN107844455A CN107844455A CN201711122083.1A CN201711122083A CN107844455A CN 107844455 A CN107844455 A CN 107844455A CN 201711122083 A CN201711122083 A CN 201711122083A CN 107844455 A CN107844455 A CN 107844455A
- Authority
- CN
- China
- Prior art keywords
- data
- priority
- cpu
- transmission
- drawer
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种基于双CPU的数据传输方法,涉及数据传输领域,该方法包括:确定待传输的各个数据的优先级,将高优先级的数据存储在数据结构中的快速数据部分,将低优先级的数据存储在数据结构中的抽屉数据部分,抽屉数据部分中的每组数据分别指向下一组数据并循环存储,在第i个传输周期中,将一帧数据传输给第二CPU,一帧数据中包括数据头、快速数据、抽屉数据以及校验数据,快速数据包括快速数据部分中的所有数据,抽屉数据包括抽屉数据部分中的第j组数据,令i=i+1,继续进行传输;CPU对数据的优先级进行分类,优化了数据结构,在数据传输时按照响应要求进行响应,缩短了数据长度,减少冗余项,减少了CPU的传输压力和开销。
Description
技术领域
本发明涉及数据传输领域,尤其是一种基于双CPU的数据传输方法。
背景技术
控制系统中存在外部通讯和内部通讯,外部通讯是CPU(Central ProcessingUnit,中央处理器)与PC(Personal Computer,个人计算机)和服务器之类的外部运行软件之间的通讯,CPU与各类外部运行软件配合实现数据的读写;内部通讯是CPU与其他CPU之间的通讯,内部通讯的数据通讯或交换量会直接影响CPU的效率。
目前一个CPU在与其他的CPU进行内部通讯时,会将所有数据都作为一帧数据,对所有数据进行传输和交换,数据长度长、冗余项多、传输效率低,大大增加了CPU的开销,且如果需要增加数据长度,则CPU需要增加开销来处理这些数据,拓展能力较差。
发明内容
本发明人针对上述问题及技术需求,提出了一种基于双CPU的数据传输方法,该方法对数据进行了分类,在不影响数据传输性能的同时减少了CPU的开销,且增强了数据拓展能力。
本发明的技术方案如下:
一种基于双CPU的数据传输方法,该方法用于第一中央处理器CPU中,第一CPU与第二CPU进行数据传输,该方法包括:
确定待传输的各个数据的优先级,优先级为高优先级或低优先级;
将高优先级的数据存储在数据结构中的快速数据部分;
将低优先级的数据存储在数据结构中的抽屉数据部分,抽屉数据部分中的每组数据分别指向下一组数据并循环存储;
在第i个传输周期中,将一帧数据传输给第二CPU,一帧数据中包括数据头、快速数据、抽屉数据以及校验数据,快速数据包括快速数据部分中的所有数据,抽屉数据包括抽屉数据部分中的第j组数据,i为正整数且i的起始值为1,j为整数;
令i=i+1,再次执行在第i个传输周期中,将一帧数据传输给第二CPU的步骤。
其进一步的技术方案为,该方法还包括:
接收临时调度指令,临时调度指令用于指示传输低优先级的临时调度数据;
根据临时调度指令将一帧临时调度数据传输给第二CPU,一帧临时调度数据包括数据头、快速数据、临时调度数据以及校验数据。
其进一步的技术方案为,确定待传输的各个数据的优先级,包括:
确定数据的响应周期;
根据响应周期与优先级之间的对应关系确定数据的优先级,响应周期越短,优先级越高,响应周期越长,优先级越低。
本发明的有益技术效果是:
本申请公开的基于双CPU的数据传输方法,CPU对数据的优先级进行分类,将高优先级的数据放入快速数据部分进行快速响应,将低优先级的数据放入抽屉数据部分进行循环传输,优化了数据结构,在数据传输时按照响应要求进行响应,缩短了数据长度,减少冗余项,减少了CPU的传输压力和开销。同时抽屉数据部分拥有优先级协调功能,当有临时需要提高优先级的临时调度数据时,将临时调度数据的优先级调到最高,不影响响应性能。同时当有新增加的数据时,只需扩宽抽屉数据部分的层数,而不需要增加传输的长度,不会造成CPU传输时间的增加,有效地减轻了CPU的压力,同时降低了对CPU处理能力的要求,可以选择性能较低的CPU,降低了价格成本。
附图说明
图1是CPU进行数据分类后的数据结构的示意图。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步说明。
本申请公开了一种基于双CPU的数据传输方法,第一CPU和第二CPU的数据以该数据传输方法周期性地进行数据传输和交换,本申请以第一CPU执行该方法为例进行说明,第二CPU执行该方法的过程与第一CPU类似,在该申请中,第一CPU需要先对数据进行分类从而优化数据结构,这一部分包括如下几个步骤:
步骤1:第一CPU确定各个数据的响应周期,每个数据的响应周期都是预先设定或可以通过估算得到的。
步骤2:根据响应周期与优先级之间的对应关系确定数据的优先级,响应周期与优先级之间的对应关系是系统或者用户预先建立好的。数据的响应周期越短,则表示数据的实时响应要求最高,对应的优先级越高;数据的响应周期越长,则表示数据的实时响应要求较低,对应的优先级越低,在本申请中,数据的优先级主要包括高优先级和低优先级两类。
步骤3:将高优先级的数据存储在数据结构中的快速数据部分,快速数据部分中存储的数据在第一CPU和第二CPU的每个传输周期都传输交换一次,速度最快、优先级最高,因此存放实时响应要求最高的数据。
步骤4:将低优先级的数据分组存储在数据结构中的抽屉数据部分,类似一个个抽屉,抽屉数据部分中的每组数据分别指向下一组数据并循环存储,数据的先后顺序没有限定,每一组数据中的数据个数可以根据需要配置,如图1所示,抽屉数据部分的抽屉权限控制循环指向存储的每组的数据,从而实现数据的循环滚动传输,这一部分中存储的数据优先级较低且传输速度会随着组数的增加而变慢,因此存放实时响应要求较低的数据。
在数据结构中,除了快速数据部分和抽屉数据部分中的数据之外,还包括数据传输必须的数据头和校验数据(CheckSum),请参考图1示出的数据结构。另外,当有新的数据存入时,第一CPU按照上述步骤1-4进行分类存储,在将新的低优先级的数据存储在抽屉数据部分时,只需要增加组数即可,而不需要增加数据长度。
第一CPU在进行数据分类优化数据结构后,可以按照该数据结构与第二CPU进行周期性的数据交换,在第一CPU和第二CPU正常进行数据传输过,以第i个传输周期为例,第一CPU将一帧数据传输给第二CPU,一帧数据中包括数据头、快速数据、抽屉数据以及校验数据。快速数据和抽屉数据为该传输周期中传输交换的数据,快速数据包括快速数据部分中的所有数据,抽屉数据包括抽屉数据部分中的第j组数据,i为正整数且i的起始值为1,j为整数。令i=i+1,则在下一个传输周期中,再次执行在第i个传输周期中,将一帧数据传输给第二CPU的步骤,继续进行周期性地数据传输。
在第一CPU和第二CPU进行数据传输的过程中,可能出现数据的优先级需要被临时提高的情况,此时第一CPU会接收到临时调度指令,该临时调度指令用于指示临时传输低优先级的临时调度数据,则抽屉控制权限不再按正常顺序循环取数据,而是直接指向需要的临时调度数据,优先级提到最高,实现快速传输、即时响应。则此时第一CPU会根据临时调度指令将一帧临时调度数据传输给第二CPU,一帧临时调度数据包括数据头、快速数据、临时调度数据以及校验数据,数据头、快速数据以及校验数据的内容与正常传输的一帧数据相同,临时调度数据即为优先级需要被临时提高的数据。
以上所述的仅是本发明的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。
Claims (3)
1.一种基于双CPU的数据传输方法,所述方法用于第一中央处理器CPU中,所述第一CPU与第二CPU进行数据传输,其特征在于,所述方法包括:
确定待传输的各个数据的优先级,所述优先级为高优先级或低优先级;
将高优先级的数据存储在数据结构中的快速数据部分;
将低优先级的数据存储在数据结构中的抽屉数据部分,所述抽屉数据部分中的每组数据分别指向下一组数据并循环存储;
在第i个传输周期中,将一帧数据传输给所述第二CPU,所述一帧数据中包括数据头、快速数据、抽屉数据以及校验数据,所述快速数据包括所述快速数据部分中的所有数据,所述抽屉数据包括所述抽屉数据部分中的第j组数据,i为正整数且i的起始值为1,j为整数;
令i=i+1,再次执行所述在第i个传输周期中,将一帧数据传输给所述第二CPU的步骤。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收临时调度指令,所述临时调度指令用于指示传输低优先级的临时调度数据;
根据所述临时调度指令将一帧临时调度数据传输给所述第二CPU,所述一帧临时调度数据包括数据头、快速数据、所述临时调度数据以及校验数据。
3.根据权利要求1所述的方法,其特征在于,所述确定待传输的各个数据的优先级,包括:
确定数据的响应周期;
根据响应周期与优先级之间的对应关系确定所述数据的优先级,响应周期越短,优先级越高,响应周期越长,优先级越低。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711122083.1A CN107844455B (zh) | 2017-11-14 | 2017-11-14 | 一种基于双cpu的数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711122083.1A CN107844455B (zh) | 2017-11-14 | 2017-11-14 | 一种基于双cpu的数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107844455A true CN107844455A (zh) | 2018-03-27 |
CN107844455B CN107844455B (zh) | 2020-07-07 |
Family
ID=61678810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711122083.1A Active CN107844455B (zh) | 2017-11-14 | 2017-11-14 | 一种基于双cpu的数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107844455B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1351439A (zh) * | 2000-10-26 | 2002-05-29 | 摩托罗拉公司 | 在分组数据系统中传递分组的方法和设备 |
US7194551B1 (en) * | 2001-04-30 | 2007-03-20 | Sprint Spectrum L.P. | System and method for downloading data to a mobile wireless unit using over-the-air parameter administration services |
CN101179790A (zh) * | 2007-11-03 | 2008-05-14 | 青岛海信移动通信技术股份有限公司 | 一种移动终端处理器之间的串口通信方法 |
CN105024945A (zh) * | 2014-04-30 | 2015-11-04 | 惠州市德赛西威汽车电子有限公司 | 一种多处理器间的信息交互方式 |
CN106338128A (zh) * | 2016-09-20 | 2017-01-18 | 珠海格力电器股份有限公司 | 空调器的通讯方法和装置 |
CN106411872A (zh) * | 2016-09-21 | 2017-02-15 | 杭州迪普科技有限公司 | 一种基于数据报文分类的报文压缩的方法和装置 |
-
2017
- 2017-11-14 CN CN201711122083.1A patent/CN107844455B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1351439A (zh) * | 2000-10-26 | 2002-05-29 | 摩托罗拉公司 | 在分组数据系统中传递分组的方法和设备 |
US7194551B1 (en) * | 2001-04-30 | 2007-03-20 | Sprint Spectrum L.P. | System and method for downloading data to a mobile wireless unit using over-the-air parameter administration services |
CN101179790A (zh) * | 2007-11-03 | 2008-05-14 | 青岛海信移动通信技术股份有限公司 | 一种移动终端处理器之间的串口通信方法 |
CN105024945A (zh) * | 2014-04-30 | 2015-11-04 | 惠州市德赛西威汽车电子有限公司 | 一种多处理器间的信息交互方式 |
CN106338128A (zh) * | 2016-09-20 | 2017-01-18 | 珠海格力电器股份有限公司 | 空调器的通讯方法和装置 |
CN106411872A (zh) * | 2016-09-21 | 2017-02-15 | 杭州迪普科技有限公司 | 一种基于数据报文分类的报文压缩的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107844455B (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108694441B (zh) | 一种网络处理器和网络运算方法 | |
CN107526546A (zh) | 一种Spark分布式计算数据处理方法及系统 | |
CN109218352A (zh) | 一种区块链网络中交易信息的共识确认方法及装置 | |
CN104699654B (zh) | 一种基于chi片内互联总线与qpi片间互联总线互联适配系统和方法 | |
CN103353851A (zh) | 一种管理任务的方法和设备 | |
CN105278918B (zh) | 寄存器的读取方法和采用该读取方法的寄存器 | |
CN110012075B (zh) | 数据传输方法及相关设备 | |
CN106569898A (zh) | 一种资源分配的方法以及移动终端 | |
CN104615684A (zh) | 一种海量数据通信并发处理方法及系统 | |
CN103399832B (zh) | 总线间的乱序返回数据的归序方法 | |
CN102752321A (zh) | 一种基于多核网络处理器的防火墙实现方法 | |
CN104852756B (zh) | 一种天线映射方法、装置及数字前端 | |
CN103577469B (zh) | 数据库连接复用方法和装置 | |
CN107066413A (zh) | 一种用于处理多个总线设备数据的方法、及其总线系统 | |
CN108494705A (zh) | 一种网络报文高速处理系统和方法 | |
CN103890750B (zh) | 具有持久状态流控制的高性能虚拟融合增强型以太网 | |
CN107844455A (zh) | 一种基于双cpu的数据传输方法 | |
CN107885691A (zh) | 串口数据传输方法、分布式设备及主机 | |
CN107147719A (zh) | 一种硬件更新方法、主节点、从节点以及服务器集群 | |
CN103176941A (zh) | 核间通信方法和代理装置 | |
CN104468379B (zh) | 基于最短逻辑距离的虚拟Hadoop集群节点选择方法及装置 | |
CN106131131A (zh) | 文件传输方法及装置 | |
CN104684068B (zh) | 一种数据同步的方法和设备 | |
CN103532758A (zh) | 适合下一代传输、数据设备融合的配置处理方法 | |
CN109963318A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 213022 Building 2, No. 18, Huashan Road, Xinbei District, Changzhou City, Jiangsu Province Patentee after: Jiangsu natong Energy Technology Co.,Ltd. Address before: 213022 Building 2, No. 18, Huashan Road, Xinbei District, Changzhou City, Jiangsu Province Patentee before: JIANGSU JIAXUN NATONG ENERGY TECHNOLOGY CO.,LTD. |