[发明专利]一种实现快速数据传递的方法有效
申请号: | 01105825.0 | 申请日: | 2001-03-30 |
公开(公告)号: | CN1378143A | 公开(公告)日: | 2002-11-06 |
发明(设计)人: | 刘和兴 | 申请(专利权)人: | 深圳市中兴通讯股份有限公司 |
主分类号: | G06F12/06 | 分类号: | G06F12/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518057 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 快速 数据 传递 方法 | ||
本发明涉及在多任务系统中,尤其是在高效率的实时系统中,实现快速数据传递的方法。
对于高效的实时多任务系统,尤其是在有大量任务间数据传递的软件系统,如通讯系统中,数据传递效率的高低,将直接影响到系统的性能,并往往成为决定系统开发成败的关键性因素。
在多任务系统中,任务间数据传递的最常用的工具是队列,在现有技术的大多数情况下,操作系统都提供用于数据传递的队列。在进行数据传递时,一般采取两种方法:
方法一
发送任务将数据块拷贝到队列中,然后通知数据接收任务从队列中将数据拷贝到自己的数据区中。使用这种方法,由于数据拷贝的次数较多,不可避免带来效率低下的缺点。同时,当传递的数据块大小不确定时,队列的每个节点占用内存的大小也不好确定,实现这样的队列往往也将影响程序运行的效率。
方法二
发送任务动态申请一块内存,然后将数据拷入这块内存中。发送任务将内存的指针放入队列,此后由接收任务在适当的时候从队列中将指针取出,通过该指针去获取所需的数据。使用此种方法,数据拷贝的次数比方法一要少,但是动态内存的申请和次数增加。由于动态内存的管理和队列的实现较复杂,并且动态内存的方式和队列的实现相对孤立,不能利用两者的一致性提高数据传递的效率,因而还是往往不能满足快速数据传递的要求。
为了克服上述方法的缺点,本发明提出了一种可用于实现任务间快速数据传递的方法,以实现在软件系统中,尤其是在有大量消息传递的通信系统中的快速数据传递,达到提高通信效率,增强系统对数据传递处理能力的目的。
本发明所提出的快速数据传递方法是一种综合的数据传递策略,它是在提出了三种快速数据传递的子方法的基础上,根据实际情况合理地对方法加以选择,从而达到最大限度地提高数据传递效率的目的。
一种以链表形式进行数据传递的方法,其特征在于,包括以下步骤:以内存块大小为分组依据,建立数个内存块组,同一内存块组中,使其若干具有相同大小的内存块,并初始化;利用链表变量确定一个环形双向链表,并对其进行初始化操作;数据发送任务申请动态内存块;将数据写入动态内存块;将动态内存块放入数据传递链表;通知数据接收任务;数据接收任务获得通知后获取内存块;数据接收任务使用完内存块后将其释放。
一种以数组形式进行数据传递的方法,其特征在于,包括以下步骤:确定一个给定大小的数组,并分别以HeadIndex、TailIndex表示头、尾索引号;判断数组中数据存放是否已超过数组容量的上限,如果已超过数组容量的上限,则认为是“错误处理”;否则,发送任务将数据放入相应的数组元素中,将尾索引指向数组下一元素,通知数据接收任务;判断接收任务是否有可接收数据,如不是,则结束;如是,则数据接收任务从数据传递数组中获取头索引所对应的数据;将头索引指向数据传递数组的下一个元素。
一种采用接收来自发送任务的最新数据进行缓存的数据传递的方法,其特征在于,包括以下步骤:首先申请两块数据区,分别标识为数据区0和数据区1,并初始化;初始发送和接收索引号;发送索引号是否为0?如是,则发送索引号设为1,如不是,则发送索引号设为0:发送任务将数据写入发送索引号对应的数据区;接收任务将发送索引号的值赋给接收索引号;接收任务将发送索引号设为“0”和“1”之外的值;接收任务通过访问接收索引号所对应的数据区获得所需最新数据。一种实现快速数据传递的方法,其特征在于,包括以下步骤:根据所传递数据的特点,作如下的判断,进行相应的处理;当数据传递量较大,且无法对数据传递量作适当限制时,采用链表法来进行任务间的数据传递;当数据传递量可以确定一个上限时,且满足在任一时刻,发送任务已经发出而未被接收任务获取的数据量小于所确定的上限,使用数组法来完成数据的传递;当数据接收任务只需要使用来自发送任务的最新数据时,采用缓存法。
通过对本发明的附图和详细说明的了解,将有助于理解本发明所描述的快速数据传递方法的特性和优点。
图1是用于动态内存管理和数据传递的双向环形链表的示意图。
图2是链表法的实现过程的流程图。
图3是数组法的实现过程的流程图。
图4是缓存法的实现过程的流程图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市中兴通讯股份有限公司,未经深圳市中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/01105825.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:具有冷却信道的滚珠螺杆
- 下一篇:一种粗金或合金快速溶解及提纯方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置