[发明专利]软总线程序并发资源分配方法在审

专利信息
申请号: 201510731501.1 申请日: 2015-10-31
公开(公告)号: CN105183553A 公开(公告)日: 2015-12-23
发明(设计)人: 刘国永;徐传伦;张宪强;张万征 申请(专利权)人: 山东智洋电气股份有限公司
主分类号: G06F9/48 分类号: G06F9/48
代理公司: 青岛发思特专利商标代理有限公司 37212 代理人: 耿霞
地址: 255086 山东省淄*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 总线 程序 并发 资源 分配 方法
【说明书】:

技术领域

发明属于一种数据处理方法,具体涉及一种软总线程序并发资源分配方法。

背景技术

软总线程序主要应用在网络通信系统中,实现模块间的数据通信功能,是模块间实现跨进程通信的通道。数据传输的效率是衡量该通道的一个重要指标,对软总线而言,它是一个服务模块,同一时刻进行通信的客户端模块有若干个,保证每个模块都能够及时准确的收到信息是软总线首要考虑的问题。

针对这个问题,目前有两种解决方案,一是依赖于硬件扩展,譬如增加计算机内存,提升计算机主频等,借以提高硬件处理能力;二是用软件方法实现多线程、多进程工作,提高数据传输的并发性效率。

上述两种方式虽然能在一定程度上解决数据转发速度问题,但是过于依赖外部条件(譬如硬件配置)就会降低软件产品的推广应用,使软件产品成为特殊应用;同样,如果一味的增加线程或进程数量来解决这个问题,除了硬件依赖性太强之外,系统处理能力反而下降,从而影响了数据传输效率的提升。

发明内容

为解决上述技术中的不足,本发明的目的在于:提供一种软总线程序并发资源分配方法,既能提高数据转发效率,又能消除对硬件条件和线程数量的过度依赖。

为解决其技术问题,本发明所采取的技术方案为:

所述软总线程序并发资源分配方法,包括以下步骤:

第一步,建立应用级线程池,预先启动若干个工作者线程Wn(n=1,2,…,N,N取大于2的整数)和一个管理者线程M;

第二步,为每一个工作者线程Wn定义一个发送缓冲区,由管理者线程M进行该发送缓冲区内发送数据的调配与写入,由工作者线程Wn进行该发送缓冲区内发送数据的读取和转发。

其中,优选方案为:

所述发送缓冲区具体定义方式如下:

定义CBuf类,这个类中包含一个CRec类型的成员变量m_CRec[5000]、一个int类型的读指针m_nRead和一个int类型的写指针m_nWrite,m_CRec[5000]成员变量是发送缓冲区,由管理者线程M和工作者线程Wn共同使用,读指针m_nRead记录发送缓冲区中已经发送到第几条记录,由工作者线程Wn使用;写指针m_nWrite记录发送缓冲区中已经写到第几条记录,由管理者线程M使用。

所述第二步中发送缓冲区内发送数据的调配与写入实现方式如下:

管理者线程M从代发数据堆中获取发送的数据Ds后,计算所有Wn的负荷情况,定义工作者线程Wn的负荷为Wn负荷=abs(m_nWrite-m_nRead),其中abs表示绝对值,找出任务负荷最小者Wnmin后将Ds写入Wnmin的m_CRec发送缓冲区中,同时将该发送缓冲区的写指针m_nWrite加1,M线程无限循环。

所述第二步中工作者线程Wn读取和转发缓冲发送区内数据的方式如下:

工作者线程Wn从自己的发送缓冲区m_CRec中获取一条未发送记录Ds后进行数据转发,成功后将m_CRec发送缓冲区读指针m_nRead加1;然后判断自己的发送负荷量,如果负荷量大于0则继续循环发送。

所述读指针m_nRead如果与写指针m_nWrite相等,则读指针m_nRead加1,覆盖一条未发送记录。

与现有技术相比,本发明具有以下有益效果:

本发明既能提高数据转发效率,又能消除对硬件条件和线程数量的过度依赖。管理者线程M发送任务的调度处理方法简单易用,经过任务的合理分配,发送线程数量控制在5到8个左右就可以达到要求,降低了服务器硬件要求;同时,由于线程数量的合理运用,操作系统调度更加合理,整体效率得到提升,初步估算约为30%-50%;该方法通过负荷量计算,合理分配发送任务,提高了数据转发效率。通过试验验证,利用该方法,在20个客户端情况下,实现任意客户端之间的数据传输,按照每秒50条记录,一条记录长度为10240字节传输,接收方时延仅为200毫秒,比多线程抢占式发送效率提升了300%-500%。

附图说明

图1是实施例1原理图。

具体实施方式

下面结合附图对本发明实施例做进一步描述:

实施例1:

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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