[发明专利]一种实现快速数据传递的方法有效

专利信息
申请号: 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是缓存法的实现过程的流程图。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市中兴通讯股份有限公司,未经深圳市中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/01105825.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top