[发明专利]实现任务间共享数据的方法有效

专利信息
申请号: 200610149655.0 申请日: 2006-10-13
公开(公告)号: CN101163094A 公开(公告)日: 2008-04-16
发明(设计)人: 赵欣 申请(专利权)人: 中兴通讯股份有限公司
主分类号: H04L12/56 分类号: H04L12/56;H04L12/24;H04L1/16;G06F15/163
代理公司: 北京中博世达专利商标代理有限公司 代理人: 申健
地址: 518057广东省深圳市南山区*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 实现 任务 共享 数据 方法
【说明书】:

技术领域

发明涉及计算机系统领域,具体涉及一种实现任务间共享数据的方法。尤其适用于定时器、后台等任务对共享数据的访问处理。

背景技术

计算机系统,无论是大的图形化操作系统还是小小的芯片上运行的程序,经常采用多任务的处理方式。每个任务具备不同的功能,任务间通过消息交互一些信息。这些任务有时需要访问同一个数据区,这些被多个任务访问的数据就是共享数据,也被称作临界区。由于多任务访问,临界区必须保证在某个任务的访问过程中不被修改,即直到当前任务使用完毕,才允许其他任务访问临界区。这样才能保证临界区数据的正确。例如银行系统,用户的账户信息就是临界区,而存取款的动作就是一个个任务,必须完成一笔业务再处理另外一笔业务。

为了保证临界区是互斥访问的,即一个时间只能有一个任务对其访问。操作系统提供了很多手段,例如锁机制和事务。可以对临界区进行锁保护,任何一个任务访问临界区,必须先获得锁,得到锁后,才能操作临界区,访问完毕后释放锁。如果得不到锁,任务就处于等待状态。事务是数据库系统的概念,与锁类似。

这个方法在嵌入式操作系统上存在一些缺点:

1.一些嵌入式操作系统用中断实现锁,使得加锁和解锁的开销比较大。有的时候对临界区的数据操作简单,指令不多,操作很快就能完成,但是加锁和解锁的操作占用较多时间,代码无法提高效率。

2.编码复杂,一旦发生死锁,不易定位故障。由于任务中可以多次访问临界区,如果某次访问没有释放锁,后面的访问无法进行,但是锁的占用者却是自己,只能走读代码查找问题。

发明内容

针对现有技术存在的缺陷和不足,本发明提供一种无须对共享数据进行保护,而且多任务能够访问共享数据区的实现任务间共享数据的方法。

为达到上述目的,本发明采用以下技术方案:一种实现任务间共享数据的方法,包括如下步骤:

步骤A,没有访问共享数据区权限的任务向具备访问权限的任务发ACTION消息;

步骤B,具备访问权限的任务收到该消息后,按照消息的内容,运行相应程序,操作共享数据区;

步骤C,运行结束,具备访问权限的任务向ACTION消息的发送者发送应答消息,该应答消息包含运行结果;

优选的:在所述实现任务间共享数据的方法中,还包括如下步骤:

步骤D,ACTION的发送者收到所述应答消息,判断运行结果;

步骤E,如果所述运行结果是未完,那么ACTION的发送者再向具备访问权限的任务发送ACTION消息;

步骤F,如果应答消息里的结果是结束,那么ACTION的发送者不再向具备访问权限的任务发ACTION消息。

优选的:在所述实现任务间共享数据的方法中,PROTOCOL任务为具备访问共享数据区权限的任务;CLEAR_SUB任务为没有访问共享数据区权限的任务;CLEAR_SUB的优先级低于PROTOCOL的优先级;活动用户表为共享数据区。

优选的:在所述实现任务间共享数据的方法中,所述PROTOCOL任务在用户上、下线时,向活动用户表增加、删除该用户所对应的纪录;当网管下踢用户命令时,CLEAR_SUB任务查询活动用户表,删除符合条件的用户的纪录,CLEAR_SUB任务的优先级低于PROTOCOL任务的优先级。

优选的:在所述实现任务间共享数据的方法中,所述步骤A具体为:

步骤A1,CLEAR_SUB任务收到clear sub domain 100命令,构造踢用户消息;

步骤A2,CLEAR_SUB任务把构造好踢用户消息发送给PROTOCOL任务。

优选的:在所述实现任务间共享数据的方法中,所述踢用户消息的内容包含:用户标志1,表示从第一个用户开始;DomainID置为100,删除的条件,活动用户DomainID是100;当前时刻,表示删除此时刻前上线的用户;操作用户个数,表示一次处理几个用户;本次命令编号,为了区分多个网管命令。

优选的:在所述实现任务间共享数据的方法中,所述步骤B具体为:

步骤B1,PROTOCOL收到踢用户消息,按照消息中的用户标志1定位到起始用户;

步骤B2,读取当前用户,先判断当前用户的DomainID是否等于100,然后判断用户上线时间是否在当前时刻之前;

步骤B3,如果两个条件都满足,踢掉当前用户,处理的用户数加1,执行步骤B2;

步骤B4,如果当前用户的DomainID大于100,步骤结束。

优选的:在所述实现任务间共享数据的方法中,所述步骤C具体为:

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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