一种基于数据传输终端能量优先级的并发处理方法与流程

文档序号:12492638阅读:396来源:国知局
一种基于数据传输终端能量优先级的并发处理方法与流程

本发明属于数据传输通信技术领域,特别涉及一种基于数据传输终端能量优先级的并发处理方法。



背景技术:

随着全球信息化进程的发展,各行业对信息化均提出了更高的要求,对信息化的认识也行原先单纯的数字化转变为数字化和网络化以及无线化相结合。信息化使得网络用户群体日益庞大,接入网络的数据传输终端的数量呈爆炸式增长。当大量的数据传输终端同时访问服务器时,由于带宽的限制以及服务器资源的有限,导致终端用户争夺网络资源,造成响应速度慢,消息阻塞等问题。当前,很多数据传输终端对数据的实时性要求很高,且多由干电池供电。在多终端并发情况下,网络阻塞,服务器瘫痪,此类数据传输终端因争夺资源失败,在电池电量耗尽前未能及时将数据传输完毕,影响数据的及时传输。因此设计以数据传输终端能量为优先考虑因素的并发处理方法是设计者迫切需要考虑的问题。

目前,针对多数据传输终端并发的有效处理方法是队列管理机制与队列调度机制相结合。队列管理机制主要用于减轻并发时产生的网络拥塞,队列调度机制决定了包转发的先后顺序。经典的主动式队列管理算法有随机早期检测算法(RED)、控制时延主动队列管理算法(CoDel)等。RED算法是路由器通过监控队列的平均长度来监测网络是否发生拥塞。一旦发现拥塞,则通知源端发生拥塞,使它们在队列溢出之前降低发送数据速率,以缓解网络拥塞。CoDel算法直接对队列时延进行控制,当队列时延高于期望值时,路由器进入丢弃状态,不断地丢弃数据包,直到队列时延下降到低于期望值为止。但不管是RED算法还是CoDel算法,都未考虑数据传输终端的能量,对能量要求较高的终端并不适用。队列调度机制使各项业务流到达传输链路的节点时按照预先设定的规则被转发出去,使得网络中各种业务流能获得相对公平的带宽而确保业务及时得到服务,一定程度上缓解网络拥塞。经典的队列调度算法有随机服务算法(RS)、先到先服务算法(FIFO)、优先级的调度算法(PRI)、循环调度算法(RR)、轮询的调度算法(WRR)等。FIFO算法对流入节点的数据流一视同仁,当数据流在节点转发出去的速率小于流入接口的速率而出现网络拥塞时,分组的出队顺序与进入顺序相同。PRI算法按照队列的优先级别对缓存区的队列进行调度,调度的规则是先服务优先级高的队列,只有当更高优先级的队列为空时才会服务给定的队列。WRR给每个队列设置一个权值来控制每次轮询时被服务分组数从而去决定网络资源的带宽分配。

基于数据传输终端能量优先级的并发处理方法的设计需要考虑数据传输终端剩余能量、网络状态、是否断点续传等多种因素。本方法针对利用干电池供电的数据传输终端设计并发处理方法,以剩余能量为优先考虑因素,满足节省能耗的要求。当前,多数据传输终端并发时,现有的优先级算法无法解决网络拥塞的问题。同时,传统的并发处理机制未考虑数据传输终端能量因素,造成以干电池供电的数据传输终端使用寿命短暂。



技术实现要素:

本发明的目的在于针对多数据传输终端同时与服务器通信的高并发现象,提出一种基于数据传输终端能量优先级的并发处理方法,在公网传输的条件下,根据数据传输终端通信优先级,合理分配数据传输带宽,保证多数据传输终端与服务器高效有序的通信,提高数据传输的高效性。

为达到上述目的,本发明的构思是:针对公网传输条件下,多数据传输终端同时与服务器通信,提高网络传输效率和增加网络服务质量而发明,发明引入了控制多数据传输终端并发机制,提出了一种基于数据传输终端能量优先级的数据传输模型和优先级调度算法。

根据上述发明构思,本发明采用下述技术方案:

一种基于数据传输终端能量优先级的并发处理方法,由数据传输终端连接管理机制、队列管理机制和队列调度机制三个部分组成,具体步骤如下:

1)所述的数据传输终端连接管理机制具体实现步骤如下:

(a-1)、数据中心服务端根据自身配置、硬件性能来设置实际用于数据传输的线程数T;

(a-2)、服务端初始化阶段,对指定端口进行监听,等待新的连接的到来,数据传输终端在访问时向指定端口发送请求;

(a-3)、多个数据传输终端对数据中心服务端发起含有终端设备剩余能量E0的连接请求;

(a-4)、服务端解析连接请求,获取终端设备剩余能量E0,并开启新的线程T0监测当前所连接的数据终端的个数N,当N<T时,服务端解析传输终端的连接请求,建立与数据传输终端之间的数据传输通道,等待接收来自终端的数据;当N≥T时,服务器对比当前待连接终端设备剩余能量E与能量阈值Eη,若E>Eη,则开启新的线程T1通知待连接的数据传输终端稍后进行连接请求,避免数据终端不断请求连接,造成能量消耗;若E≤Eη,则开启新的线程T2通知当前已连接的剩余能量最大的数据传输终端暂时断开连接;

(a-5)、服务端与数据传输终端建立连接后,数据传输终端开始向服务端发送数据;

(a-6)、若数据传输终端所有数据全部传输结束,主动断开与服务端的连接,服务端开始接收新的数据传输终端的连接请求;

(a-7)、重复步骤(a-4)、(a-5)、(a-6),直至所有数据传输终端的数据包完全发送;

2)所述队列管理机制具体实现步骤如下:

(b-1)、计算各数据传输终端队列中数据包的平均时延:avg=(1-w0)×old_avg+w0×sojourn_time

其中,avg表示队列中包的平均时延,old_avg表示上个包到来时的平均时延,sojourn_time表示当前包在队列中的逗留时间;w0为一个小于1的常数,表示sojourn_time的权值。

(b-2)、当avg<th时,队列中包的时延较小,无需减小数据传输终端的数据包发送速率;当th≤avg<target_avg时,减慢终端设备剩余能量值El>Eη的数据终端的发送速率,以减小队列中包的时延;当avg≥target_avg时,通过TCP的反馈机制,通知终端设备剩余能量El>Eη的数据传输终端中断数据包的发送,剩余能量低的数据传输终端则减慢数据包发送速率,其中,th表示时延阈值,target_avg表示期望时延;

3)所述队列调度机制具体实现步骤如下:

(c-1)、计算各数据传输终端队列中数据包的优先级数:

其中,avg表示队列中包的平均时延,suspend表示是否为断点续传的数据传输终端,若为断点续传,suspend=1,否则suspend=0;Ec表示当前数据传输终端剩余能量;w1、w2为小于1的常数,分别表示suspend与的权值。

(c-2)、比较当前数据包优先级数PR与级数阈值PRmax和PRmin,其中PRmax为级数最大阈值,PRmin为级数最小阈值。当PR≤PRmin时,该数据包标记为低优先级,排队进入低优先级队列;当PRmin<PR<PRmax时,该数据包标记为中优先级,排队进入中优先级队列;当PR≥PRmax时,该数据包标记为高优先级,排队进入高优先级队列;

(c-3)、高优先级队列是强占性优先权处理,服务器绝对优先处理所有高优先级队列的中的数据包,对于中优先级队列和低优先级队列采用WRR算法,分配中优先级队列权值为4,低优先级队列权值为2,服务器依次处理队列中所有的数据包。

本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著技术进步:

本方法与以往的并发处理方法相比,本发明方法针对以干电池供电的数据传输终端,引入了改进的CoDel队列管理算法和以终端剩余能量、网络状态为优先考虑因素的队列调度算法,解决了多终端高并发的问题,提高网络吞吐量和服务质量。本发明方法具有效率高、带宽适应性强等特点,是一种有效的多数据传输终端并发处理方法。

附图说明

图1为本发明多数据传输终端数据传输总体框图。

图2为数据传输终端连接管理机制流程图。

图3为数据传输终端队列管理机制流程图。

图4为数据传输终端队列调度机制流程图。

具体实施方式

本发明的优选实施例结合附图详述如下:

多数据传输终端数据传输总体框图如图1所示。在实际传输中,多数据传输终端发起对数据中心服务端的连接请求,服务端解析连接请求,建立与数据传输终端之间的数据传输通道,接收来自终端的数据。

如图2所示,数据中心服务端根据自身配置、硬件性能等设置实际用于数据传输的线程数T。服务端初始化阶段,对指定端口进行监听,等待新的连接的到来,数据传输终端在访问时向指定端口发送请求即可。多个数据传输终端对数据中心服务端发起含有终端设备剩余能量E0的连接请求。服务端解析连接请求,获取终端设备剩余能量E0,并开启新的线程T0监测当前所连接的数据终端的个数N,当N<T时,服务端解析传输终端的连接请求,建立与数据传输终端之间的数据传输通道,等待接收来自终端的数据;当N≥T时,服务器对比当前待连接终端设备剩余能量E与能量阈值Eη,若E>Eη,则开启新的线程T1通知待连接的数据传输终端稍后进行连接请求,避免数据终端不断请求连接,造成能量消耗;若E≤Eη,则开启新的线程T2通知当前已连接的剩余能量最大的数据传输终端暂时断开连接。服务端与数据传输终端建立连接后,数据传输终端开始向服务端发送数据。若数据传输终端所有数据全部传输结束,主动断开与服务端的连接,服务端开始接收新的数据传输终端的连接请求。重复以上步骤,直至所有数据传输终端的数据包完全发送。

所述队列管理机制如图3所示,计算各数据传输终端队列中数据包的平均时延:avg=(1-w0)×old_avg+w0×sojourn_time。其中,avg表示队列中包的平均时延,old_avg表示上个包到来时的平均时延,sojourn_time表示当前包在队列中的逗留时间,w0为一个小于1的常数,表示sojourn_time的权值。当avg<th时,队列中包的时延较小,无需减小数据传输终端的数据包发送速率;当th≤avg<target_avg时,减慢终端设备剩余能量值El>Eη的数据终端的发送速率,以减小队列中包的时延;当avg≥target_avg时,通过TCP的反馈机制,通知终端设备剩余能量El>Eη的数据传输终端中断数据包的发送,剩余能量低的数据传输终端则减慢数据包发送速率,其中,th表示时延阈值,target_avg表示期望时延。

所述队列调度机制如图4所示,首先计算各数据传输终端队列中数据包的优先级数:其中,avg表示队列中包的平均时延;suspend表示是否为断点续传的数据传输终端,若为断点续传,suspend=1,否则suspend=0;Ec表示当前数据传输终端剩余能量;w1、w2为小于1的常数,分别表示suspend与的权值。其次,比较当前数据包优先级数PR与级数阈值PRmax和PRmin,其中PRmax为级数最大阈值,PRmin为级数最小阈值。当PR≤PRmin时,该数据包标记为低优先级,排队进入低优先级队列;当PRmin<PR<PRmax时,该数据包标记为中优先级,排队进入中优先级队列;当PR≥PRmax时,该数据包标记为高优先级,排队进入高优先级队列。高优先级队列是强占性优先权处理,服务器绝对优先处理所有高优先级队列的中的数据包。对于中优先级队列和低优先级队列采用WRR算法,分配中优先级队列权值为4,低优先级队列权值为2,服务器依次处理队列中所有的数据包。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1