一种数据发送的方法及装置
技术领域
本发明涉及通信领域,尤其涉及一种数据发送的方法及装置。
背景技术
随着车载通信系统的发展和移动自组网技术的逐渐成熟,为了实现对车辆的实时、动态、智能化管理,国际上专门开发了针对车联网的专用短程通信(Dedicated Short Range Communications,DSRC)协议。DSRC通过信息的双向传输,将车辆与车辆、车辆和路侧的信息采集设备有机的连接起来,支持点对点、点对多点通信。
现有的车联网DSRC资源分配协议可以分为两类,一类是基于载波检测多址访问(Carrier Sense Multiple Access,CSMA)/载波聚合(Carrier Aggregation,CA)方式,当节点有高层数据包需要发送时,先进行载波侦听,如果信道是空闲的就发送数据,如果信道忙则在信道变闲后随机退避一段时间再判断是否可以发送。在后续研究中发现,交通安全应用的消息要求保证发送的可靠性以及消息发送的时延要求且很多交通安全应用的消息都是通过点对多点的广播方式进行传播需要保证所有节点能够公平接入信道,然而采用CSMA/CA机制时发送方节点不能通过接收方节点的反馈来确认消息是否成功发送,并且也难以保证所有节点公平的接入信道,接入信道的时间也是不可预期的。CSMA/CA在车辆数量少,网络数据业务负荷不高时,能够较好的满足道路交通安全应用的可靠性、低时延和公平性等要求,但当网络负荷增加时,消息发送可靠性降低、节点接入公共信道的不公平性增加、信道接入时延增加,因而难以满足交通安全类消息发送的要求。
另一类是基于时隙预留的时隙资源分配机制。网络中节点在其所使用的时隙(包括自占时隙和申请时隙)上都发送帧信息(Frame Information,FI),每个节点通过监听周围节点周期性发送的FI,能够判断相邻多跳范围内每个时隙占用情况,从而可以选择未被其他节点时隙用来发送自己的数据包,只要节点不主动释放占用时隙资源或因拓扑变化发生时隙资源碰撞,节点可以一直使用自己占用的时隙资源。采用这种资源分配方式,每个节点可以可靠地周期性获得时隙资源,同时可以保证各节点接入信道的公平性,从而逐渐受到人们的重视。
时隙预留的时隙资源分配算法机制是指采用时隙预留方式的时隙资源分配机制,通常借助帧信息交互来实现时隙资源的预留,比较典型的是预留ALOHA(Reliable Reserved ALOHA,RR-ALOHA)、移动分时隙ALOHA(MobileSlotted Aloha,MS-ALOHA)算法,MS-ALOHA基本原理如下:
移动分时隙ALOHA(Mobile Slotted Aloha,MS-ALOHA)机制是一种基于分时方式的DSRC分布式媒体接入控制(Media Access Control,MAC)层接入和时隙资源复用机制,资源复用基于帧结构以时隙(slot)为单位。如图1所示,每N个slot构成一个帧(Frame),每个帧中的slot的编号为0~N-1,在帧之间循环往复。每个slot中只允许一个车辆进行发送,即车辆之间为时分复用接入(Time Division Multiple Access,TDMA)模式。车辆在所占用的时隙上中不仅发送应用层的数据,而且还需要发送帧信息(Frame Information,FI),在FI中会指示一个帧中各个slot的占用状况,例如,图2为一种可能的帧信息FI结构示意图,FI中每个时隙对应的占用状况信息中给出的三类信息分别为时隙占用状态、临时资源标识(Source Temporary Identifier,STI)、优先级信息。
MS-ALOHA机制的基本思想是:当节点(如车载终端)加入网络时,需要通过监听帧中的空闲时隙资源,然后选择一个空闲作为自己占用的时隙,如果节点不主动放弃所占用的时隙资源,则可一直使用占用的时隙传输数据,在这期间其他节点不能使用该时隙。在占用的时隙上,节点需要周期性发送FI,FI中携带节点获得的与该节点相距两跳范围内的其他节点占用时隙的情况,指示节点感知到的每个时隙的占用状况信息,对每个时隙给出该时隙的包括:时隙占用状态信息、占用时隙的节点对应的临时资源标识(Source TemporaryIdentifier,STI)或可称为节点标识、占用时隙的节点的优先级状态(也可认为是占用时隙节点在该时隙发送的数据对应的优先级状态);其中,时隙占用状态信息可以表达时隙的四种占用状态:(00)表示时隙为空闲状态,(10)表示时隙已被与本节点相距一跳的其他节点占用(简称为一跳节点占用)或本节点占用,(11)表示时隙已被与本节点相距两跳的其他节点占用(简称为两跳节点占用),(01)表示时隙已被其他两个以上的节点占用,即为碰撞状态。在非自身占用的时隙,每个节点通过监听相邻一跳的节点发送的FI,能够判断相邻三跳范围内每个节点占用时隙的情况,当发现本节点占用的时隙资源与其他节点使用的资源发生碰撞时,释放占用的时隙资源,重新预约新的空闲时隙作为自己的占用时隙。
MS-ALOHA机制下,在对时隙信息的维护过程中,节点需要维护N*N时隙状态缓存表,用来存储对应时隙上接收到的相邻节点发送的FI中携带的各时隙的时隙信息域,每一行保存在对应时隙上接收到的FI,如:在第0个时隙接收到的FI保存在时隙状态缓存表的第一行、第1个时隙接收到的FI保存在时隙状态缓存表的第二行……,每一列保存在接收到的FI中所指示的对应时隙信息,如第一列保存各时隙接收的FI中指示的时隙0的时隙信息、第二列保存各接收的FI中指示的时隙2的时隙信息……。时隙状态缓存表中的m*n格中保存的信息为在第m个时隙上接收到FI中指示的第n个时隙的信息。如图3所示的时隙状态缓存表的维数为N*N维,由于节点本身在所占时隙发送的FI不需要存储,因此节点实际维护的时隙状态缓存表为N-1行(假设每个节点只占用一个时隙);其中,时隙对应的“检测域”是指占用该时隙发送的FI中该时隙对应的时隙信息域,“非检测域”是指非占用该时隙发送的FI中该时隙对应的时隙信息域。其中default值为缺省值。
节点在一个时隙上接收到FI时,总是用新接收到的FI中携带的时隙信息内容覆盖时隙状态缓存表中对应时隙所在行的信息内容,即覆盖前一帧中相同时隙上记录的FI的内容,具体过程如下:
节点在非自身占用的时隙上,需要接收周围节点发送的FI,并根据接收到的FI更新时隙状态缓存表,在到达本节点自身占用的时隙前判断自身占用的时隙是否维护成功,以及非自己占用时隙各时隙的占用状态,其中,当在非自身占用的时隙上没有接收到FI时,节点会将时隙状态缓存表中该时隙对应的行的各元素填default值。Default值当前按空闲状态(00)处理,当然也可以定义其他处理方式。
节点在自身占用的时隙上根据维护的时隙状态缓存表中记录的信息生成FI并发送FI。生成FI时需要按照一定规则填写FI中时隙对应的时隙信息域中的内容,包括时隙占用状态子域、STI子域以及优先级子域。发送完毕后,节点会清空所发送的FI。
上述基于时隙预留时隙资源分配算法(如RR-ALOHA、MS-ALOHA、SU-ALOHA等),解决的是时隙资源维护的问题,节点如何使用基于时隙预留时隙资源分配算法获得的资源来发送数据包属于资源调度问题,现有技术中尚未有适用于基于时隙预留的时隙资源分配算法的资源调度方法。
发明内容
本发明提供了一种数据发送方法及装置,用以实现基于剩余时间的资源调度算法与基于时隙预留的时隙资源分配算法相结合的数据传输,通过时隙优先级和数据包优先级尽可能的匹配,更好地支持拥塞场景下时隙资源抢断和时隙资源发生碰撞时的高优先数据的优先发送,更好地保证各节点接入信道的公平性。
本发明实施例提供的一种数据发送方法,该方法包括:
当数据包到达发送缓存队列时,根据数据包对应的发送时延信息维护该数据包的发送剩余时间;
当用于发送数据包的发送资源的使用时间到达时,根据发送缓存队列中的数据包的发送剩余时间、对应的优先级、以及节点可用的发送资源的资源优先级,确定当前需要发送的数据包,并通过当前到达的发送资源发送该数据包。
从上述方法可以看出,本发明通过时隙优先级和数据包优先级尽可能的匹配,更好地支持拥塞场景下时隙资源抢断和时隙资源发生碰撞时的高优先数据的优先发送,更好地保证各节点接入信道的公平性。
较佳地,根据发送缓存队列中的数据包的发送剩余时间、对应的优先级、以及节点可用的发送资源的资源优先级,确定当前需要发送的数据包,包括:
对发送缓存队列中当前发送剩余时间最少的数据包所对应的优先级与节点可用的发送资源的资源优先级进行匹配,根据匹配结果,确定当前需要发送的数据包。
这样便可以根据发送缓存队列中当前发送剩余时间最少的数据包所对应的优先级与当前到达的发送资源的资源优先级来确定当发送资源的使用时间到达时需要发送的数据包。
较佳地,对发送缓存队列中当前发送剩余时间最少的数据包所对应的优先级与当前到达的发送资源的资源优先级进行匹配,根据匹配结果,确定当前需要发送的数据包,包括:
判断发送缓存队列中当前发送剩余时间最少的数据包所对应的优先级与当前到达的发送资源的资源优先级是否相同;
如果是,则将当前发送剩余时间最少的数据包确定为当前需要发送的数据包;
否则,从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包;其中,K的值取自然数。
这样,根据判断结果便可以确定当前需要发送的数据包。
较佳地,根据发送缓存队列中的数据包的发送剩余时间、对应的优先级、以及节点可用的发送资源的资源优先级,确定当前需要发送的数据包,包括:
从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包;其中,K的值取自然数。
这样,从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包,以保证当前需要发送的数据的优先级与节点可用的发送资源的资源优先级相匹配。
较佳地,K的值取M和N中的较小值;
其中,M的值为当前发送剩余时间最少的数据包的发送剩余时间内的发送资源的个数,N的值为发送缓存队列中需要发送的数据包的个数。
这样具体限定K的取值,使资源优先级和数据包优先级尽可能的匹配,更好地支持拥塞场景下时隙资源抢断和时隙资源发生碰撞时的高优先数据的优先发送,更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包。
较佳地,从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包,包括:
对当前发送剩余时间最少的数据包的发送剩余时间内的前K个发送资源根据其优先级进行资源排序,以及对发送缓存队列中发送剩余时间最少的前K个数据包根据其优先级进行数据包排序;
根据资源排序结果和数据包排序结果,确定当前需要发送的数据包。
这样对资源和数据包根据优先级进行排序,进一步更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包。
较佳地,对当前发送剩余时间最少的数据包的发送剩余时间内的前K个发送资源进行资源排序时,首先按照预设资源优先级对发送资源进行排序,对于预设的资源优先级相同的发送资源,根据发送资源到达的先后顺序进行排序。
这样对资源和数据包根据优先级进行排序,进一步更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包。
较佳地,对发送缓存队列中发送剩余时间最少的前K个数据包进行数据包排序时,首先按数据包对应的优先级进行排序,对于优先级相同的多个数据包,按照数据包的发送剩余时间进行排序。
这样对资源和数据包根据优先级进行排序,进一步更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包
较佳地,根据资源排序结果和数据包排序结果,确定当前需要发送的数据包,包括:
根据资源排序结果,确定当前到达的发送资源的排序级别;
根据数据包排序结果,确定与当前到达的发送资源的排序级别相同的数据包,将该数据包确定为当前需要发送的数据包。
这样便可以根据资源排序结果和数据包排序结果来确定当发送资源的使用时间到达时需要发送的数据包。
较佳地,从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包,包括:
判断缓存队列中发送剩余时间最少的前K个数据包中是否存在优先级与当前到达的发送资源的资源优先级级别相同的数据包,如果是,则将优先级与当前到达的发送资源的资源优先级级别相同的数据包确定为当前需要发送的数据包;否则,从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级匹配的数据包作为当前需要发送的数据包。
这样根据判断结果,使资源优先级和数据包优先级尽可能的匹配,更好地支持拥塞场景下时隙资源抢断和时隙资源发生碰撞时的高优先数据的优先发送,更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包。
较佳地,将优先级与当前到达的发送资源的资源优先级级别相同的数据包确定为当前需要发送的数据包,包括:
当缓存队列中发送剩余时间最少的前K个数据包中存在多个优先级与当前到达的发送资源的资源优先级级别相同的数据包时,将优先级与当前到达的发送资源的资源优先级级别相同且剩余时间最短的数据包确定为当前需要发送的数据包。
这样,使资源优先级和数据包优先级尽可能的匹配,更好地支持拥塞场景下时隙资源抢断和时隙资源发生碰撞时的高优先数据的优先发送,更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包。
较佳地,从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级匹配的数据包作为当前需要发送的数据包,包括:
从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的数据包作为当前需要发送的数据包;或者,
建立缓存队列中发送剩余时间最少的前K个数据包与节点可用的发送资源之间的临时对应关系,其中相互对应的节点可用的发送资源的资源优先级与缓存队列中需要发送的数据包的优先级的级别相同,从缓存队列中发送剩余时间最少的前K个数据包中除了已经建立所述临时对应关系的数据包之外的数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的数据包作为当前需要发送的数据包。
这样,使资源优先级和数据包优先级尽可能的匹配,更好地支持拥塞场景下时隙资源抢断和时隙资源发生碰撞时的高优先数据的优先发送,更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包。
较佳地,从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级最接近的数据包作为当前需要发送的数据包,包括:
从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级最接近的较高或较低优先级的数据包作为当前需要发送的数据包;或者,
从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级最接近的较高或较低优先级且剩余时间最短的数据包作为当前需要发送的数据包。
这样,使资源优先级和数据包优先级尽可能的匹配,更好地支持拥塞场景下时隙资源抢断和时隙资源发生碰撞时的高优先数据的优先发送,更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包。
较佳地,从缓存队列中发送剩余时间最少的前K个数据包中除了已经建立所述临时对应关系的数据包之外的数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的数据包作为当前需要发送的数据包,包括:
从缓存队列中发送剩余时间最少的前K个数据包中除了已经建立所述临时对应关系的数据包之外的数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的较高或较低优先级的数据包作为当前需要发送的数据包;或者,
从缓存队列中发送剩余时间最少的前K个数据包中除了已经建立所述临时对应关系的数据包之外的数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的较高或较低优先级且剩余时间最短的数据包作为当前需要发送的数据包。
这样,使资源优先级和数据包优先级尽可能的匹配,更好地支持拥塞场景下时隙资源抢断和时隙资源发生碰撞时的高优先数据的优先发送,更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包。
较佳地,建立所述临时对应关系的过程中,若缓存队列中发送剩余时间最少的前K个数据包中存在多个优先级级别与节点可用的发送资源的资源优先级级别相同的数据包,则选择剩余时间最短的数据包与发送资源建立临时对应关系。
这样,使资源优先级和数据包优先级尽可能的匹配,更好地支持拥塞场景下时隙资源抢断和时隙资源发生碰撞时的高优先数据的优先发送,更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包。
本发明实施例还提供一种数据发送装置,该装置包括:
剩余时间维护模块,用于当数据包到达发送缓存队列时,根据数据包对应的发送时延信息维护该数据包的发送剩余时间;
数据包确定发送模块,用于当用于发送数据包的发送资源的使用时间到达时,根据发送缓存队列中的数据包的发送剩余时间、对应的优先级、以及节点可用的发送资源的资源优先级,确定当前需要发送的数据包,并通过当前到达的发送资源发送该数据包。
较佳地,数据包确定发送模块在根据发送缓存队列中的数据包的发送剩余时间、对应的优先级、以及节点可用的发送资源的资源优先级,确定当前需要发送的数据包时,具体用于:
对发送缓存队列中当前发送剩余时间最少的数据包所对应的优先级与节点可用的发送资源的资源优先级进行匹配,根据匹配结果,确定当前需要发送的数据包。
这样便可以根据发送缓存队列中当前发送剩余时间最少的数据包所对应的优先级与当前到达的发送资源的资源优先级来确定当发送资源的使用时间到达时需要发送的数据包。
较佳地,当数据包确定发送模块对发送缓存队列中当前发送剩余时间最少的数据包所对应的优先级与节点可用的发送资源的资源优先级进行匹配,根据匹配结果,确定当前需要发送的数据包时,具体用于包括:
判断发送缓存队列中当前发送剩余时间最少的数据包所对应的优先级与当前到达的发送资源的资源优先级是否相同;
如果是,则将当前发送剩余时间最少的数据包确定为当前需要发送的数据包;
否则,从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包;其中,K的值取自然数。
这样,根据判断结果便可以确定当前需要发送的数据包。
较佳地,数据包确定发送模块在根据发送缓存队列中的数据包的发送剩余时间、对应的优先级、以及节点可用的发送资源的资源优先级,确定当前需要发送的数据包时,具体用于:
从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包;其中,K的值取自然数。
这样,从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包,以保证当前需要发送的数据的优先级与节点可用的发送资源的资源优先级相匹配。
较佳地,K的值取M和N中的较小值;
其中,M的值为当前发送剩余时间最少的数据包的发送剩余时间内的发送资源的个数,N的值为发送缓存队列中需要发送的数据包的个数。
这样具体限定K的取值,使资源优先级和数据包优先级尽可能的匹配,更好地支持拥塞场景下时隙资源抢断和时隙资源发生碰撞时的高优先数据的优先发送,更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包。
较佳地,数据包确定发送模块从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包时,具体用于:
对当前发送剩余时间最少的数据包的发送剩余时间内的前K个发送资源根据其优先级进行资源排序,以及对发送缓存队列中发送剩余时间最少的前K个数据包根据其优先级进行数据包排序;
根据资源排序结果和数据包排序结果,确定当前需要发送的数据包。
较佳地,数据包确定发送模块在对当前发送剩余时间最少的数据包的发送剩余时间内的前K个发送资源进行资源排序时,首先按照预设资源优先级对发送资源进行排序,对于预设的资源优先级相同的发送资源,根据发送资源到达的先后顺序进行排序。
这样对资源和数据包根据优先级进行排序,进一步更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包。
较佳地,数据包确定发送模块在对发送缓存队列中发送剩余时间最少的前K个数据包进行数据包排序时,首先按数据包对应的优先级进行排序,对于优先级相同的多个数据包,按照数据包的发送剩余时间进行排序。
这样对资源和数据包根据优先级进行排序,进一步更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包。
较佳地,数据包确定发送模块在根据资源排序结果和数据包排序结果,确定当前需要发送的数据包时,具体用于:
根据资源排序结果,确定当前到达的发送资源的排序级别;
根据数据包排序结果,确定与当前到达的发送资源的排序级别相同的数据包,将该数据包确定为当前需要发送的数据包。
这样便可以根据资源排序结果和数据包排序结果来确定当发送资源的使用时间到达时需要发送的数据包。
较佳地,数据包确定发送模块从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包时,具体用于:
判断缓存队列中发送剩余时间最少的前K个数据包中是否存在优先级与当前到达的发送资源的资源优先级级别相同的数据包,如果是,则将优先级与当前到达的发送资源的资源优先级级别相同的数据包确定为当前需要发送的数据包;否则,从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级匹配的数据包作为当前需要发送的数据包。
这样根据判断结果,使资源优先级和数据包优先级尽可能的匹配,更好地支持拥塞场景下时隙资源抢断和时隙资源发生碰撞时的高优先数据的优先发送,更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包。
较佳地,数据包确定发送模块将优先级与当前到达的发送资源的资源优先级级别相同的数据包确定为当前需要发送的数据包时,具体用于:
当缓存队列中发送剩余时间最少的前K个数据包中存在多个优先级与当前到达的发送资源的资源优先级级别相同的数据包时,将优先级与当前到达的发送资源的资源优先级级别相同且剩余时间最短的数据包确定为当前需要发送的数据包。
这样,使资源优先级和数据包优先级尽可能的匹配,更好地支持拥塞场景下时隙资源抢断和时隙资源发生碰撞时的高优先数据的优先发送,更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包。
较佳地,数据包确定发送模块从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级匹配的数据包作为当前需要发送的数据包时,具体用于:
从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的数据包作为当前需要发送的数据包;或者,
建立缓存队列中发送剩余时间最少的前K个数据包与节点可用的发送资源之间的临时对应关系,其中相互对应的节点可用的发送资源的资源优先级与缓存队列中需要发送的数据包的优先级的级别相同,从缓存队列中发送剩余时间最少的前K个数据包中除了已经建立所述临时对应关系的数据包之外的数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的数据包作为当前需要发送的数据包。
这样,使资源优先级和数据包优先级尽可能的匹配,更好地支持拥塞场景下时隙资源抢断和时隙资源发生碰撞时的高优先数据的优先发送,更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包。
较佳地,数据包确定发送模块从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级最接近的数据包作为当前需要发送的数据包时,具体用于:
从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级最接近的较高或较低优先级的数据包作为当前需要发送的数据包;或者,
从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级最接近的较高或较低优先级且剩余时间最短的数据包作为当前需要发送的数据包。
这样,使资源优先级和数据包优先级尽可能的匹配,更好地支持拥塞场景下时隙资源抢断和时隙资源发生碰撞时的高优先数据的优先发送,更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包。
较佳地,数据包确定发送模块从缓存队列中发送剩余时间最少的前K个数据包中除了已经建立所述临时对应关系的数据包之外的数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的数据包作为当前需要发送的数据包时,具体用于:
从缓存队列中发送剩余时间最少的前K个数据包中除了已经建立所述临时对应关系的数据包之外的数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的较高或较低优先级的数据包作为当前需要发送的数据包;或者,
从缓存队列中发送剩余时间最少的前K个数据包中除了已经建立所述临时对应关系的数据包之外的数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的较高或较低优先级且剩余时间最短的数据包作为当前需要发送的数据包。
这样,使资源优先级和数据包优先级尽可能的匹配,更好地支持拥塞场景下时隙资源抢断和时隙资源发生碰撞时的高优先数据的优先发送,更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包。
较佳地,数据包确定发送模块在建立所述临时对应关系的过程中,若缓存队列中发送剩余时间最少的前K个数据包中存在多个优先级级别与节点可用的发送资源的资源优先级级别相同的数据包,则选择剩余时间最短的数据包与发送资源建立临时对应关系。
这样,使资源优先级和数据包优先级尽可能的匹配,更好地支持拥塞场景下时隙资源抢断和时隙资源发生碰撞时的高优先数据的优先发送,更好地保证各节点接入信道的公以保证选择最适合当前需要发送的数据包。
附图说明
图1为现有技术中一种帧结构示意图;
图2为现有技术中一种可能的帧信息结构示意图;
图3为现有技术中时隙状态缓存表结构示意图;
图4为本发明实施例提供的一种数据发送方法流程示意图;
图5为本发明实施例提供的一种数据发送装置结构示意图;
图6为本发明实施例提供的实施例1的数据发送示意图;
图7为本发明实施例提供的实施例2的数据发送示意图;
图8为本发明实施例提供的实施例3的数据发送示意图;
图9为本发明实施例提供的实施例4的数据发送示意图;
图10为本发明实施例提供的实施例5的数据发送示意图;
图11为本发明实施例提供的实施例6的数据发送示意图。
具体实施方式
本发明实施例提供了一种数据发送方法及装置,用以实现基于剩余时间的资源调度算法与基于时隙预留的时隙资源分配算法相结合的数据传输,通过时隙优先级和数据包优先级尽可能的匹配,更好地支持拥塞场景下时隙资源抢断和时隙资源发生碰撞时的高优先数据的优先发送,更好地保证各节点接入信道的公平性。
需要说明的是,本发明实施例提供的一种数据发送方法及装置适用于车联网环境中,同时也适用于其他网络环境中。
参见图4,本发明实施例提供了一种数据发送方法,该方法包括:
S41、当数据包到达发送缓存队列时,根据数据包对应的发送时延信息维护该数据包的发送剩余时间;
S42、当用于发送数据包的发送资源的使用时间到达时,根据发送缓存队列中的数据包的发送剩余时间、对应的优先级、以及节点可用的发送资源的资源优先级,确定当前需要发送的数据包,并通过当前到达的发送资源发送该数据包。
需要说明的是,本发明实施例中所述的节点可用的发送资源,包含当前到达发送资源,还包括节点其他的申请资源和自占资源,其中,资源可以是时隙,也可以是子帧;自占资源是指节点已成功占用的用来发送数据包的资源;申请资源是指当缓存队列中需要发送的数据包的数目多于节点的占用资源的数目时,需要申请新的资源用来发送数据包,当节点确定申请某个资源,但在该资源尚未到达前,该资源称为这个节点的申请资源。
其中,S41中当数据包到达发送缓存队列时,为数据包开启用于指示数据包对应的发送剩余时间长度的剩余时间定时器;数据包的发送剩余时间是指从当前时间开始到数据包对应发送时延要求决定的最晚发送时间点之间的时间长度,由于不同的数据包可能对应不同的发送时延要求,另外随着时间的推移数据包对应的最晚发送时间也会变短,因此发送缓存队列中的数据包通常对应着不同的剩余时间长度,剩余时间定时器用于指示数据包对应的剩余时间长度。例如:当数据包A到达缓存中,设根据数据包对应业务的发送时延要求确定数据包的发送时延为100ms,除根据数据包对应业务的发送时延要求确定数据包的发送时延外也可以根据其他方式确定数据包的发送时延,本方法不做限定,那么为该数据包启动的剩余时间定时器的初始值可以设置为100ms,随着时间的推移该数据包对应的剩余时间定时器的值随之减少。出于其他考虑,为数据包设定的剩余时间定时器的初始值也可以不完全按数据包的时延要求进行设定,如可以将初始值设置为70ms,在剩余定时器减为0时如果数据包仍没有成功发送,可以留出30ms的时间做其他处理。本方法不对数据包对应的剩余时间定时器的设置方式进行限定。
S42中根据发送缓存队列中的数据包的发送剩余时间、对应的优先级、以及当前到达的发送资源的资源优先级,确定当前需要发送的数据包,有四种处理方式,具体如下:
方式一:对发送缓存队列中当前发送剩余时间最少的数据包所对应的优先级与当前到达的发送资源的资源优先级进行匹配,根据匹配结果,确定当前需要发送的数据包。
具体的匹配步骤包括:
判断发送缓存队列中当前发送剩余时间最少的数据包所对应的优先级与当前到达的发送资源的资源优先级是否相同;
如果是,则将当前发送剩余时间最少的数据包确定为当前需要发送的数据包;
否则,从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包;对当前发送剩余时间最少的数据包的发送剩余时间内的前K个发送资源根据其优先级进行资源排序,以及对发送缓存队列中发送剩余时间最少的前K个数据包根据其优先级进行数据包排序;根据资源排序结果,确定与当前到达的发送资源的排序级别相同的数据包,将该数据包确定为当前需要发送的数据。
方式二:从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包;对当前发送剩余时间最少的数据包的发送剩余时间内的前K个发送资源根据其优先级进行资源排序,以及对发送缓存队列中发送剩余时间最少的前K个数据包根据其优先级进行数据包排序;根据资源排序结果,确定与当前到达的发送资源的排序级别相同的数据包,将该数据包确定为当前需要发送的数据。
方式三:从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包;判断缓存队列中发送剩余时间最少的前K个数据包中是否存在优先级与当前到达的发送资源的资源优先级级别相同的数据包,如果是,则将优先级与当前到达的发送资源的资源优先级级别相同的数据包确定为当前需要发送的数据包;否则,从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的数据包作为当前需要发送的数据包。
方式四:从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包;判断缓存队列中发送剩余时间最少的前K个数据包中是否存在优先级与当前到达的发送资源的资源优先级级别相同的数据包,如果是,则将优先级与当前到达的发送资源的资源优先级级别相同的数据包确定为当前需要发送的数据包;否则,建立缓存队列中发送剩余时间最少的前K个数据包与节点可用的发送资源之间的临时对应关系,其中相互对应的节点可用的发送资源的资源优先级与缓存队列中需要发送的数据包的优先级的级别相同,从缓存队列中发送剩余时间最少的前K个数据包中除了已经建立所述临时对应关系的数据包之外的数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的数据包作为当前需要发送的数据包。
具体的,在上述四种处理方式中,K的值取M和N中的较小值,其中,M的值为当前发送剩余时间最少的数据包的发送剩余时间内的发送资源的个数,N的值为发送缓存队列中需要发送的数据包的个数。
具体的,在上述方式一与方式二中,对当前发送剩余时间最少的数据包的发送剩余时间内的前K个发送资源进行资源排序时,首先按照预设资源优先级对发送资源进行排序,对于预设的资源优先级相同的发送资源,根据发送资源到达的先后顺序进行排序;
对发送缓存队列中发送剩余时间最少的前K个数据包进行数据包排序时,首先按数据包对应的优先级进行排序,对于优先级相同的多个数据包,按照数据包的发送剩余时间进行排序。
具体的,在上述方式三与方式四中,当缓存队列中发送剩余时间最少的前K个数据包中存在多个优先级与当前到达的发送资源的资源优先级级别相同的数据包时,将优先级与当前到达的发送资源的资源优先级级别相同且剩余时间最短的数据包确定为当前需要发送的数据包。
当从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级最接近的数据包作为当前需要发送的数据包时,包括:
从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级最接近的较高或较低优先级的数据包作为当前需要发送的数据包;或者,
从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级最接近的较高或较低优先级且剩余时间最短的数据包作为当前需要发送的数据包。
当从缓存队列中发送剩余时间最少的前K个数据包中除了已经建立所述临时对应关系的数据包之外的数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的数据包作为当前需要发送的数据包时,包括:
从缓存队列中发送剩余时间最少的前K个数据包中除了已经建立所述临时对应关系的数据包之外的数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的较高或较低优先级的数据包作为当前需要发送的数据包;或者,
从缓存队列中发送剩余时间最少的前K个数据包中除了已经建立所述临时对应关系的数据包之外的数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的较高或较低优先级且剩余时间最短的数据包作为当前需要发送的数据包。
具体的,在上述方式四中,在建立所述临时对应关系的过程中,若缓存队列中发送剩余时间最少的前K个数据包中存在多个优先级级别与节点可用的发送资源的资源优先级级别相同的数据包,则选择剩余时间最短的数据包与发送资源建立临时对应关系。
需要说明的是,本发明中所述的资源可以是时隙,也可以是子帧,或者是其他称呼;本发明中所述的数据包对应的优先级可以是数据包对应的业务优先级、数据包对应的承载优先级等,本发明不对数据包对应的具体优先级进行限定。
本发明实施例提供的一种数据发送方法,通过基于剩余时间的资源调度算法,确保数据包在时延允许的范围内发送;通过发送资源的资源先级和数据包优先级尽可能的匹配,更好地支持在拥塞场景下资源抢断和资源发生碰撞时,高优先级的数据包能够被优先发送。
参见图5,本发明实施例提供的一种数据发送设备包括:剩余时间维护模块51和数据包确定发送模块52。
剩余时间维护模块51,用于当数据包到达发送缓存队列时,根据数据包对应的发送时延信息维护该数据包的发送剩余时间;
数据包确定发送模块52,用于当用于发送数据包的发送资源的使用时间到达时,根据发送缓存队列中的数据包的发送剩余时间、对应的优先级、以及节点可用的发送资源的资源优先级,确定当前需要发送的数据包,并通过当前到达的发送资源发送该数据包
需要说明的是,本发明实施例中所述的节点可用的发送资源,包含当前到达发送资源,还包括节点其他的申请资源和自占资源,其中,资源可以是时隙,也可以是子帧;自占资源是指节点已成功占用的用来发送数据包的资源;申请资源是指当缓存队列中需要发送的数据包的数目多于节点的占用资源的数目时,需要申请新的资源用来发送数据包,当节点确定申请某个资源,但在该资源尚未到达前,该资源称为这个节点的申请资源。
其中,当数据包到达发送缓存队列时,剩余时间维护模块51为数据包开启用于指示数据包对应的发送剩余时间长度的剩余时间定时器;数据包的发送剩余时间是指从当前时间开始到数据包对应发送时延要求决定的最晚发送时间点之间的时间长度,由于不同的数据包可能对应不同的发送时延要求,另外随着时间的推移数据包对应的最晚发送时间也会变短,因此发送缓存队列中的数据包通常对应着不同的剩余时间长度,剩余时间定时器用于指示数据包对应的剩余时间长度。例如:当数据包A到达缓存中,设根据数据包对应业务的发送时延要求确定数据包的发送时延为100ms,除根据数据包对应业务的发送时延要求确定数据包的发送时延外也可以根据其他方式确定数据包的发送时延,本方法不做限定,那么为该数据包启动的剩余时间定时器的初始值可以设置为100ms,随着时间的推移该数据包对应的剩余时间定时器的值随之减少。出于其他考虑,为数据包设定的剩余时间定时器的初始值也可以不完全按数据包的时延要求进行设定,如可以将初始值设置为70ms,在剩余定时器减为0时如果数据包仍没有成功发送,可以留出30ms的时间做其他处理。本发明不对数据包对应的剩余时间定时器的设置方式进行限定。
数据包确定发送模块52根据发送缓存队列中的数据包的发送剩余时间、对应的优先级、以及当前到达的发送资源的资源优先级,确定当前需要发送的数据包时,有四种处理方式,具体如下:
方式一:数据包确定发送模块52对发送缓存队列中当前发送剩余时间最少的数据包所对应的优先级与当前到达的发送资源的资源优先级进行匹配,根据匹配结果,确定当前需要发送的数据包。
具体的匹配步骤包括:
数据包确定发送模块52判断发送缓存队列中当前发送剩余时间最少的数据包所对应的优先级与当前到达的发送资源的资源优先级是否相同;
如果是,则将当前发送剩余时间最少的数据包确定为当前需要发送的数据包;
否则,从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包;对当前发送剩余时间最少的数据包的发送剩余时间内的前K个发送资源根据其优先级进行资源排序,以及对发送缓存队列中发送剩余时间最少的前K个数据包根据其优先级进行数据包排序;根据资源排序结果,确定与当前到达的发送资源的排序级别相同的数据包,将该数据包确定为当前需要发送的数据。
方式二:数据包确定发送模块52从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包。
数据包确定发送模块52对当前发送剩余时间最少的数据包的发送剩余时间内的前K个发送资源根据其优先级进行资源排序,以及对发送缓存队列中发送剩余时间最少的前K个数据包根据其优先级进行数据包排序;
数据包确定发送模块52根据资源排序结果,确定与当前到达的发送资源的排序级别相同的数据包,将该数据包确定为当前需要发送的数据。
其中,在上述方式一与方式二中,数据包确定发送模块52对当前发送剩余时间最少的数据包的发送剩余时间内的前K个发送资源进行资源排序时,首先按照预设资源优先级对发送资源进行排序,对于预设的资源优先级相同的发送资源,根据发送资源到达的先后顺序进行排序;或者,
数据包确定发送模块52对发送缓存队列中发送剩余时间最少的前K个数据包进行数据包排序时,首先按数据包对应的优先级进行排序,对于优先级相同的多个数据包,按照数据包的发送剩余时间进行排序。
方式三:数据包确定发送模块52从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包。
数据包确定发送模块52判断缓存队列中发送剩余时间最少的前K个数据包中是否存在优先级与当前到达的发送资源的资源优先级级别相同的数据包;
如果是,则将优先级与当前到达的发送资源的资源优先级级别相同的数据包确定为当前需要发送的数据包;
否则,从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的数据包作为当前需要发送的数据包。
方式四:数据包确定发送模块52从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包。
数据包确定发送模块52判断缓存队列中发送剩余时间最少的前K个数据包中是否存在优先级与当前到达的发送资源的资源优先级级别相同的数据包;
如果是,则将优先级与当前到达的发送资源的资源优先级级别相同的数据包确定为当前需要发送的数据包;
否则,建立缓存队列中发送剩余时间最少的前K个数据包与节点可用的发送资源之间的临时对应关系,其中相互对应的节点可用的发送资源的资源优先级与缓存队列中需要发送的数据包的优先级的级别相同,从缓存队列中发送剩余时间最少的前K个数据包中除了已经建立所述临时对应关系的数据包之外的数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的数据包作为当前需要发送的数据包。
其中,在上述方式四中,数据包确定发送模块52在建立所述临时对应关系的过程中,若缓存队列中发送剩余时间最少的前K个数据包中存在多个优先级级别与节点可用的发送资源的资源优先级级别相同的数据包,则数据包确定发送模块52选择剩余时间最短的数据包与发送资源建立临时对应关系。
在上述方式三与方式四中,当缓存队列中发送剩余时间最少的前K个数据包中存在多个优先级与当前到达的发送资源的资源优先级级别相同的数据包时,数据包确定发送模块52将优先级与当前到达的发送资源的资源优先级级别相同且剩余时间最短的数据包确定为当前需要发送的数据包。
当数据包确定发送模块52从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级最接近的数据包作为当前需要发送的数据包时,具体选择方法如下:
数据包确定发送模块52从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级最接近的较高或较低优先级的数据包作为当前需要发送的数据包;或者,
从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级最接近的较高或较低优先级且剩余时间最短的数据包作为当前需要发送的数据包。
当数据包确定发送模块52从缓存队列中发送剩余时间最少的前K个数据包中除了已经建立所述临时对应关系的数据包之外的数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的数据包作为当前需要发送的数据包时,具体选择方法如下:
从缓存队列中发送剩余时间最少的前K个数据包中除了已经建立所述临时对应关系的数据包之外的数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的较高或较低优先级的数据包作为当前需要发送的数据包;或者,
从缓存队列中发送剩余时间最少的前K个数据包中除了已经建立所述临时对应关系的数据包之外的数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的较高或较低优先级且剩余时间最短的数据包作为当前需要发送的数据包。
具体的,剩余时间维护模块51可以是处理器等实体,数据包确定发送模块52可以由处理器和具有收发功能的传输模块实现,例如该传输模块可以是专用芯片及天线等设备,本发明不局限于实现这些模块的实体。
需要说明的是,本发明中所述的资源可以是时隙,也可以是子帧,或者是其他称呼;本发明中所述的数据包对应的优先级可以是数据包对应的业务优先级、数据包对应的承载优先级等,本发明不对数据包对应的具体优先级进行限定。
下面结合具体实例说明本发明实施例提供的技术方案:
实施例1:当节点中用于发送数据包的发送资源的使用时间到达时,发送缓存队列中当前发送剩余时间最少的数据包对应的优先级与到达的发送资源的优先级相同。
如图6所示,一个帧(Frame)周期中包含8个资源,在Frame2以前每个帧周期中都会从高层接收到两类业务A、B对应的数据包,业务A的优先级为1,该业务对应的数据包的优先级也为1,业务B的优先级为2,该业务对应的数据包的优先级也为2,为便于描述将业务A中各帧周期内接收的数据包分别记为a1、a2、a3、…,将业务B中各帧周期内接收的数据包分别记为b1、b2、b3、…,所有数据包的发送时延要求均为8ms,对发送缓存队列中的数据包根据发送时延要求允许的剩余时间从少到多进行排序;节点在一个帧周期中占用了两个发送资源分别为:资源2和资源5,节点已占用的发送资源对应的优先级与上一帧周期中占用该发送资源发送的数据包对应的优先级相同,假设数据包对应的优先级分别为:优先级1、优先级2、优先级3、优先级4,其中优先级1为最高优先级,优先级4为最低优先级,相应地,发送资源的优先级也分为4个,分别为:优先级1、优先级2、优先级3、优先级4,其中,优先级1为最高优先级,优先级4为最低优先级。节点在Frame2的资源6接收到业务A的数据包a3;节点在Frame3的资源0接收到业务B的数据包b3。
其中,本发明实施例中“高层”通常指分布式媒体接入控制(Media AccessControl,MAC)层以上的协议层,由于对协议划分的差别,在某些划分时,“高层”可以为MAC层中其他向MAC层缓存发送数据的实体,本发明不限于高层具体的划分方式。
需要说明的是,发送资源对应的优先级的数目通常与数据包对应的优先级的数目相同,这时,发送资源对应的优先级为上一帧周期中使用该发送资源发送的数据包对应的优先级,对于新申请的发送资源可以将其优先级设置为最低优先级;另外,发送资源对应的优先级的数目也可以不同于数据包对应的优先级的数目,如果将发送资源分为两个优先级,则上一帧周期中用来发送数据的发送资源认为是高优先级,新申请的发送资源认为是低优先级;发送资源对应的优先级的数目不同于数据包对应的优先级的数目的情况在实施例3中有具体说明;发送资源的优先级还可以采用其他定义方法,这里不做一一描述,本发明不局限于发送资源的优先级的定义方法。
具体处理过程如下:
当节点在Frame3中的发送资源2到达时,根据数据包对应的发送时延信息维护该数据包的发送剩余时间,数据包a3和数据包b3的剩余时间分别为4ms和6ms;
发送缓存队列中根据数据包剩余时间从少到多排序的次序为:a3,b3,此时,对发送缓存队列中当前发送剩余时间最少的数据包所对应的优先级与节点可用的发送资源的资源优先级进行匹配,即对数据包a3对应的优先级与Frame3中的发送资源2的资源优先级进行匹配;由于在Frame2中资源2发送的数据包a2对应的优先级为优先级1,因此在Frame3中的发送资源2的优先级仍为优先级1,在Frame3中的发送资源2的优先级与缓存队列中剩余时间最少的数据包a3对应的优先级相同,因此在Frame3中的发送资源2将发送数据包a3;
当节点在Frame3中的发送资源5到达时,发送缓存队列中当前只有一个数据包b3,数据包b3对应的优先级与Frame3中发送资源5的优先级相同,因此在Frame3的发送资源5将发送数据包b3。
实施例2:当节点中用于发送数据包的发送资源的使用时间到达时,发送缓存队列中当前发送剩余时间最少的数据包对应的优先级与到达的的优先级不同。
如图7所示,一个帧(Frame)周期中包含8个资源,在Frame2以前每个帧周期中都会从高层接收到业务A和业务B对应的数据包,业务A的优先级为优先级1,该业务对应的数据包的优先级也为优先级1,业务B的优先级为2,该业务对应的数据包的优先级也为优先级2;为便于描述业务A中各帧周期内接收的数据包分别记为a1、a2、a3、…,业务B各帧周期内产生的数据包记为b1、b2、b3,业务A和业务B对应的数据包的发送时延要求均为6ms,对发送缓存队列中的数据包根据发送时延要求允许的剩余时间从少到多进行排序;节点在一个帧周期中占用了两个发送资源,分别为:资源2和资源5,从Frame3开始节点从高层接收到业务C对应的数据包,业务C的优先级为优先级3,该业务对应的数据包的优先级也为优先级3,为便于描述业务C中各帧周期内接收的数据包分别记为c1、c2、c3、…,业务C数据包的发送时延要求也为6ms;节点已占用的发送资源的优先级与上一帧周期中占用该发送资源发送的数据包对应的优先级相同;节点新申请的发送资源的优先级对应最低的优先级,假设数据包对应的优先级分为:优先级1、优先级2、优先级3、优先级4,其中优先级1为最高优先级,优先级4为最低优先级,相应地,发送资源优先级也分为4个,分别为:优先级1、优先级2、优先级3、优先级4,其中优先级1为最高优先级,优先级4为最低优先级。节点在Frame2的资源5接收到业务A的数据包a3,节点在Frame2的资源7接收到业务B的数据包b3,节点在Frame3的资源0接收到业务C的数据包c4,节点为了在一帧周期中能够将业务A、业务B和业务C产生的数据包发送,节点从空闲资源,即资源0、资源1、资源3、资源5、资源6、资源7中新申请了一个发送资源为资源1。
具体处理过程如下:
当节点在Frame3中的发送资源1到达时,根据数据包对应的发送时延信息维护该数据包的发送剩余时间,数据包a3、数据包b3和数据包c4的剩余时间分别为3ms、5ms和6ms;
当前发送缓存队列中的数据包个数N=3,将发送缓存队列中的数据包按数据包对应的剩余时间从少到多排序的次序为:a3,b3、c4,此时,对发送缓存队列中当前发送剩余时间最少的数据包所对应的优先级与节点当前到达的发送资源的资源优先级进行匹配,即对数据包a3对应的优先级与Frame3中的发送资源1的资源优先级进行匹配;由于Frame3中资源1为新申请的发送资源,因此资源1的优先级为最低优先级,即为优先级4,这时,当前到达的发送资源1的优先级与剩余时间最少的数据包a3对应的优先级不同;
此时,从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包,节点确定剩余时间最少的数据包a3当前的剩余时间内包含的发送资源有两个,分别是Frame3的资源1和资源2,即M=2,此时,K的值取M和N中的较小值,即K=2;
对当前发送剩余时间最少的数据包的发送剩余时间内的前K个发送资源根据其优先级进行资源排序,以及对发送缓存队列中发送剩余时间最少的前K个数据包根据其优先级进行数据包排序,然后根据资源排序结果和数据包排序结果,确定当前需要发送的数据包;将发送缓存队列中的剩余时间最少的前两个数据包a3与b3根据该数据包对应的优先级从低到高排序的次序为:b3、a3,将剩余时间最少的数据包a3当前的剩余时间内包含的发送资源根据该发送资源的优先级从低到高排序的次序为:资源1、资源2,确定到达的资源1与数据包b3对应,则在资源1上发送数据包b3;
当节点在Frame3中的发送资源2到达时,发送缓存队列中当前有两个数据包a3和c4,数据包a3对应的优先级与Frame3中发送资源2的优先级相同,则Frame3的发送资源2将发送数据包a3;
当节点在Frame3中的发送资源4到达时,当前发送缓存队列中的数据包只有数据包c4,数据包c4对应的优先级为优先级3,Frame3中的发送资源4的资源优先级为优先级4,数据包c4的对应的优先级与Frame3发送资源4的资源优先级不同;节点检查到当前剩余时间最少的数据包c4的剩余时间内包含的发送时资源为1,且剩余时间内最少的数据包为c4,因此在Frame3的发送资源4上发送数据包c4。
实施例3:发送资源的资源优先级数目与数据包对应的优先级数目不同时的资源调度。
如图8所示,一个帧(Frame)周期中包含8个资源,在Frame1以前每个帧周期中都会从高层接收到业务A对应的数据包,业务A的优先级为优先级1,业务A对应的数据包的优先级也为优先级1,为便于描述将业务A各帧周期内产生的数据包分别记为a1、a2、a3、…,业务A对应的数据包的发送时延要求均为8ms;将发送缓存队列中的数据包按发送时延允许的剩余时间从少到多进行排序,节点在一个帧周期中占用了一个发送资源为资源2,从Frame2开始节点从高层接收到业务B对应的数据包,从Frame3开始节点从高层接收到业务C对应的数据包,业务B和业务C的优先级均为优先级2,业务B和业务C对应的数据包的优先级也均为优先级2,为便于描述将业务B在各帧周期内产生的数据包分别记为b1、b2、b3、…,业务C在各帧周期内产生的数据包分别记为c1、c2、c3、…,业务B和业务C对应的数据包的发送时延要求也都为8ms;节点为了在一个帧周期中能够发送业务B和业务C对应的数据包,在Frame3中新申请了两个发送资源,分别为资源1和资源4,假设数据包对应的优先级为4个,分别为:优先级1、优先级2、优先级3、优先级4,其中,优先级1为最高优先级,优先级4为最低优先级。假设节点中的发送资源的优先级分为两个,在上一帧周期中已用于发送数据包的发送资源的优先级对应为高优先级,记为优先级1,新申请的发送资源的优先级对应为低优先级,记为优先级2。
节点在Frame2的资源5接收到业务A产生的数据包a3;节点在Frame2的资源6接收到业务B产生的数据包b3,为了在一个帧周期中能够将业务A与业务B产生的数据包a3与b3发送,节点新申请了一个发送资源为资源1;节点在Frame3的资源0接收到业务C产生的数据包c4,为了在一帧周期中能够将业务产生的数据包发送,节点新申请了一个发送资源为资源4。
具体处理过程如下:
当节点在Frame3中的发送资源1到达时,根据数据包对应的发送时延信息维护该数据包的发送剩余时间,此时,数据包a3、数据包b3、数据包c4的剩余时间分别为4ms、5ms、7ms;
将发送缓存队列中的数据包a3、数据包b3、数据包c4根据数据包的剩余时间从少到多排序的次序为:a3,b3,c4;此时,对发送缓存队列中当前发送剩余时间最少的数据包所对应的优先级与节点可用的发送资源的资源优先级进行匹配,即对数据包a3对应的优先级与Frame3中的发送资源1的资源优先级进行匹配;由于在Frame2中资源1为新申请的发送资源,因此发送资源1的优先级为低优先级,即为优先级2;
对于数据包对应的优先级等级数目与发送资源的优先级等级数目不同的情况,可以不必比较剩余时间最少的数据包对应的优先级和到达的发送资源的优先级是否相同,而直接按以下步骤处理:
从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包;节点确定在发送缓存队列中剩余时间最少的数据包a3当前的剩余时间内包含的发送资源数为3,即M=3,分别是Frame3的资源1、资源2和资源4,发送缓存队列中有三个数据包,即N=3,分别为数据包a3、数据包b3、数据包c4,此时,K的值取M和N中的较小值,即K=3;然后,将发送缓存队列中的剩余时间最少的前三个数据包a3、b3、c4按该数据包对应的优先级从低到高排序,当数据包对应的优先级相同时,按该数据包的剩余时间从少到多排序的次序为:数据包b3、数据包c4、数据包a3,将剩余时间最少的数据包a3当前的剩余时间内包含的发送资源按发送资源的资源优先级从低到高排序,当发送资源的资源优先级相同时按发送资源到达的先后次序排序的次序为:资源1、资源4、资源2;确定当前到达的发送资源1与数据包b3对应,则在发送资源1上发送数据包b3;
当节点在Frame3中的发送资源2到达时,当前发送缓存队列中有两个数据包,即N=2,分别为数据包a3和数据包c4,数据包a3和数据包c4当前对应的剩余时间分别为3ms和6ms,将发送缓存队列中的数据包按数据包的剩余时间从少到多排序的次序为:数据包a3,数据包c4;由于发送资源1不是新申请的发送资源,因此发送资源1的资源优先级为优先级1,节点确定当前剩余时间最少的数据包a3的当前剩余时间内包含的发送资源数为2,即M=2,分别是Frame3的资源2和资源4,此时,K取M和N中的较小值,即K=2;然后,将发送缓存队列中的剩余时间最少的前两个数据包a3和c4按该数据包对应的优先级从低到高排序,当数据包对应的优先级相同时,按数据包的当前剩余时间从少到多排序的次序为:数据包c4、数据包a3,将当前剩余时间最少的数据包a3的当前剩余时间内包含的发送资源按发送资源的资源优先级从低到高排序,当发送资源的资源优先级相同时,按发送资源到达的先后次序排序的次序为:资源4、资源2;确定到达的发送资源2与数据包a3对应,则在Frame3的发送资源2上发送数据包a3;
当节点在Frame3中的发送资源4到达时,发送缓存队列中当前只有一个数据包c4,则在Frame3的发送资源4上将发送数据包c4。
需要说明的是,当发送资源的使用时间到达时,实施例1和2也可以采用不比较剩余时间最少的数据包对应的优先级和到达的发送资源的资源优先级是否相同,而直接采用实施例3类似的从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包方式,确定当前需要发送的数据包。具体过程与实施例3类似,不再赘述。
实施例4:当发送资源到达时,根据发送资源(当前到达的发送资源以及剩余时间最少的数据包的剩余时间内包含的其他发送资源)的资源优先级确定当前发送的数据包;新申请的发送资源为抢占的(其他)节点发送低优先数据包使用的发送资源。
如图9所示,一个帧中包含8个发送资源,在Frame2以前每个帧周期中都会从高层接收到业务A和业务B对应的数据包,业务A的优先级为优先级1,其数据包对应的优先级也为优先级1,业务B的优先级为优先级2,其数据包对应的优先级也为优先级2;为便于描述业务A各帧周期内产生的数据包记为a1、a2、a3、…,业务B各帧周期内产生的数据包记为b1、b2、b3、…;业务A和业务B数据包的发送时延要求均为6ms;数据包在到达发送缓存队列时,需要对数据包的剩余时间进行维护,但不对数据包按其剩余时间的进行排队操作;节点在一个帧中占用了两个发送资源:发送资源2和发送资源5。从Frame3开始节点从高层接收到业务C产生的数据包,业务C的优先级为优先级1,其数据包对应的优先级也为优先级1,为便于描述业务C各帧周期内产生的数据包记为c1、c2、c3、…;业务C产生的数据包的发送时延要求也为6ms。
节点占用的发送资源的资源优先级与上一帧中占用该发送资源发送的数据包对应的优先级相同;节点新申请的发送资源的资源优先级对应最低的优先级。这里设数据包对应的优先级分为:优先级1、优先级2、优先级3、优先级4,其中优先级1为最高优先级,优先级4为最低优先级;相应地,发送资源的资源优先级也分为4个,分别为:优先级1、优先级2、优先级3、优先级4,优先级1为最高优先级,优先级4为最低优先级;
节点在Frame2的资源5收到业务A的数据包a3;
节点在Frame2的资源7收到业务B的数据包b3;
节点在Frame3的资源0收到业务C的数据包c4;
节点为了在一个帧周期中能够发送三个业务产生的数据包,节点需要在数据包c4的剩余时间内新申请一个发送资源,设此时的发送资源占用情况为:
由上表可知,当前所有资源均已被占用,由于业务C是高优先级业务,为保障高优先级业务能够发送,节点在当前(其他)节点发送低优先级业务占用的资源中选择一个资源进行抢占;假设当前仅允许抢占最低优先级业务占用的资源(当前可以规定抢占多个低优先业务占用的资源,如优先级最低的两个业务占用的资源),当前最低优先级业务对应的资源为资源1、资源6和资源7,节点随机从这三个资源中选择资源1作为新申请的发送资源。
则具体处理过程如下:
当节点在Frame3中的发送资源1到达时,根据数据包对应的发送时延信息维护该数据包的发送剩余时间,并选择当前缓存队列中剩余时间最少的数据包a3;
此时,根据发送缓存队列中的数据包的发送剩余时间、对应的优先级、以及节点可用的发送资源的资源优先级,确定当前需要发送的数据包,并通过当前到达的发送资源发送该数据包;由于在Frame3中的发送资源1为新申请的发送资源,因此发送资源1的资源优先级为优先级4,此时,到达的发送资源的资源优先级与剩余时间最少的数据包对应的优先级不同;
从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包;节点确定在当前剩余时间最少的数据包a3的剩余时间内包含两个发送资源,即M=2,分别是Frame3的发送资源1和发送资源2;当前发送缓存队列中的数据包有3个,即N=3,分别为数据包a3、b3、c4,此时,K的值取M和N中的较小值,即K=2;
然后,判断缓存队列中发送剩余时间最少的前K个数据包中是否存在优先级与当前到达的发送资源的资源优先级级别相同的数据包;检查发送缓存中的前两个数据包中是否存在对应的优先级为优先级4的数据包,由于数据包a3对应的优先级为优先级1,数据包b4对应的优先级为数据包2,即当前缓存队列中没有与当前到达的发送资源的资源优先级相同的数据包;
建立缓存队列中发送剩余时间最少的前K个数据包与节点可用的发送资源之间的临时对应关系,其中相互对应的节点可用的发送资源的资源优先级与缓存队列中需要发送的数据包的优先级的级别相同,从缓存队列中发送剩余时间最少的前K个数据包中除了已经建立所述临时对应关系的数据包之外的数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的数据包作为当前需要发送的数据包;这时检查发送缓存队列中是否有与发送资源2的资源优先级相同的数据包,发送资源2的资源优先级为优先级1,数据包a3对应的优先级为优先级1,即可以将数据包a3与发送资源2建立临时对应关系,此时剩余的数据包只有数据包b3,则在发送资源1上发送数据包b3;
当节点在Frame3中的发送资源2到达时,当前发送缓存队列中的数据包为数据包a3和数据包c4,数据包a3对应的优先级与Frame3的发送资源2的资源优先级相同,则Frame3的发送资源2将发送数据包a3;
当节点在Frame3中的发送资源4到达时,当前发送缓存队列中的数据包为数据包c4,数据包c4对应的优先级为优先级3,Frame3中的发送资源4的资源优先级为优先级4,数据包c4对应的优先级与Frame3发送资源4的资源优先级不同,节点检查剩余时间最少的数据包c4的剩余时间内包含的发送资源数为1,其剩余时间内最少的数据包为数据包c4,因此在Frame3的发送资源4上发送数据包c4。
实施例5:当发送资源到达时,选择优先级与到达的发送资源的资源优先级相同的数据包,如果不存在与到达发送资源的资源优先级相同的数据包,则选择与到达发送资源的资源优先级最接近的数据包。
如图10所示,一个帧中包含8个资源,在Frame2以前每个帧周期中都会从高层接收到业务A和业务B对应的数据包,业务A的优先级为优先级1,其产生的数据包对应的优先级也为优先级1,为便于描述将业务A各帧周期内产生的数据包记为a1、a2、a3、…,业务B的优先级为优先级2,其产生的数据包对应的优先级也为优先级1,为便于描述将业务B各帧周期内产生的数据包记为b1、b2、b3、…,业务A和业务B产生的数据包的发送时延要求均为6ms;数据包在发送缓存队列中不对其进行按剩余时间多少的排队操作;节点在一个帧中占用了两个发送资源:发送资源2和发送资源5。从Frame3开始节点从高层接收到业务C产生的数据包,业务C的优先级为优先级1,其产生的数据包对应的优先级也为优先级1,为便于描述将业务C各帧周期内产生的数据包记为c1、c2、c3、…,业务C产生的数据包的发送时延要求也为6ms。
节点已占的发送资源的资源优先级与上一帧中占用该发送资源发送的数据包对应的优先级相同;节点新申请的发送资源的资源优先级对应最低的优先级,这里设数据包对应的优先级分为:优先级1、优先级2、优先级3、优先级4,其中优先级1为最高优先级,优先级4为最低优先级;相应地,发送资源的资源优先级也分为4个,分别为:优先级1、优先级2、优先级3、优先级4,其中优先级1为最高优先级,优先级4为最低优先级。
节点在Frame2的资源5收到业务A的数据包a3;
节点在Frame2的资源7收到业务B的数据包b3;
节点在Frame3的资源0收到业务C的数据包c4;
节点为了在一个帧中能够发送三个业务产生的数据包,节点需要在数据包c4的剩余时间内新申请一个发送资源,设此时的资源占用情况为:
由上表可知,当前所有资源均已被占用,由于业务C是高优先级业务,为保障高优先级业务能够发送,节点在当前低优先级业务占用的资源中选择一个资源进行抢占;假设当前仅允许抢占最低优先级业务占用的资源(当前可以规定抢占多个低优先业务占用的资源,如优先级最低的两个业务占用的资源),当前最低优先级业务对应的资源为资源1、资源6和资源7,节点随机从这三个资源中选择资源1作为新申请的发送资源。
则具体处理过程如下:
当节点在Frame3中的发送资源1到达时,根据数据包对应的发送时延信息维护该数据包的发送剩余时间,并确定当前缓存队列中剩余时间最少的数据包为数据包a3;
从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包;由于在Frame3中发送时隙1为新申请发送时隙1,因此发送时隙1的资源优先级为优先级4;此时,到达的发送资源的子资源优先级与剩余时间最少的数据包对应的优先级不同;节点确定剩余时间最少的数据包a3当前的剩余时间内包含两个发送资源,即M=2,,分别是Frame3的发送资源1和发送资源2,当前发送缓存队列中的数据包有3个,即N=3,分别为数据包a3、b3、c4,此时,K的值取M和N中的较小值,即K=2;然后,检查发送缓存队列中剩余时间最少的两个数据包,即数据包a3和数据包b3中是否存在优先级为4的数据包;由于数据包a3对应的优先级为优先级1,数据包b3对应的优先级为数据包2,即当前缓存队列中没有优先级与当前到达的发送资源的资源优先级相同的数据包;
此时,从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的数据包作为当前需要发送的数据包;检查发送缓存队列中优先级与发送资源的资源优先级最相近的数据包,发送缓存队列中的前两个数据包a3和b3对应的优先级分别是优先级1和优先级2,优先级与当前到达的发送资源的资源优先级最相近的数据包是数据包b3,因此在Frame3中发送时隙1发送数据包b3;
当节点在Frame3中的发送资源2到达时,当前发送缓存队列中的数据包为数据包a3和数据包c4,数据包a3对应的优先级与Frame3发送资源2的资源优先级相同,Frame3的发送资源2将发送数据包a3;
当节点在Frame3中的发送资源4到达时,当前发送缓存队列中的数据包为c4,数据包c4对应的优先级为优先级3,Frame3中的发送资源4的资源优先级为优先级4,数据包c4对应的优先级与Frame3发送资源4的资源优先级不同;节点检查剩余时间最少的数据包c4的剩余时间内包含的发送资源个数为1,剩余时间最少的数据包为数据包c4,因此在Frame3的发送资源4上发送数据包c4。
实施例6:当M>N时的处理实施例。
当发送资源到达时,选择优先级与当前到达的发送资源的资源优先级相同的数据包,如果不存在与当前到达的发送资源的资源优先级相同的数据包,则选择与当前到达的发送资源的资源优先级最相近的数据包,若既存在优先级高于发送资源的资源优先级的数据包,也存在优先级低于发送资源的资源优先级的数据包,但两类数据包对应的优先级与发送资源的资源优先级差的绝对值相同时,优先选择高优先级的数据包发送;若存在满足条件的多个优先级相同的数据包时,优先选择剩余时间最少的数据包发送。
如图11所示,一个帧中包含8个资源,在Frame2以前每个帧周期中都会从高层接收到业务A、业务B、业务C产生的数据包,业务A产生的数据包对应的优先级为优先级2,业务B产生的数据包对应的优先级为优先级1,业务C产生的数据包对应的优先级为优先级3,为便于描述,将业务A各帧周期内产生的数据包记为a1、a2、a3、…,业务B各帧周期内产生的数据包记为b1、b2、b3、…,业务C各帧周期内产生的数据包记为c1、c2、c3、…,业务A、业务B和业务C产生的的数据包的发送时延要求均为8ms;各业务的数据包在到达发送缓存队列时,发送缓存队列将为每个数据包开启用于维护数据包剩余时间的剩余时间定时器,但不对数据包进行按剩余时间多少的排序操作;节点在一个帧周期中占用了三个发送资源:发送资源2、发送资源4和发送资源6。
节点已占的发送资源的资源优先级与上一帧中占用该发送资源发送的数据包对应的优先级相同;节点新申请的发送资源的资源优先级对应最低的优先级,这里设数据包对应的优先级分为:优先级1、优先级2、优先级3、优先级4,其中优先级1为最高优先级,优先级4为最低优先级;相应地,发送资源的资源优先级也分为4个,分别为:优先级1、优先级2、优先级3、优先级4,其中优先级1为最高优先级,优先级4为最低优先级。
节点在Frame2的资源7收到业务B的数据包b3;
节点在Frame3的资源0收到业务C的数据包c4;
则具体处理过程如下:
当节点在Frame3中的发送资源2到达时,根据数据包对应的发送时延信息维护该数据包的发送剩余时间,此时,缓存队列中剩余时间最少的数据包为数据包b3;
从缓存队列中发送剩余时间最少的前K个数据包中选择当前需要发送的数据包;由于在Frame3的资源2在上一帧周期中发送的数据包对应的优先级为优先级2,因此发送资源2的资源优先级为优先级2,此时到达的发送资源的资源优先级与剩余时间最少的数据包对应的优先级不同。节点确定剩余时间最少的数据包a3当前的剩余时间内包含的发送资源有3个,即M=3,分别为Frame3的发送资源2、发送资源4和发送资源6;检查发送缓存队列中数据包有两个,即N=2,分别为数据包b3和数据包c4。由于M>N,此时,K的值取M和N中的较小值,即K=2;
判断缓存队列中发送剩余时间最少的前K个数据包中是否存在优先级与当前到达的发送资源的资源优先级级别相同的数据包;即检查发送缓存队列中剩余时间最少的前两个数据包中是否存在优先级为2的数据包;由于数据包b3的优先级为1,数据包c4的优先级为3,即发送缓存队列中剩余时间最少的前两个数据包中没有优先级与当前到达发送资源的资源优先级相同的数据包;
从缓存队列中发送剩余时间最少的前K个数据包中选择优先级与当前到达的发送资源的资源优先级的级别最接近的数据包作为当前需要发送的数据包;即检查发送缓存队列中剩余时间最少的前两个数据包中优先级与当前到达发送资源的资源优先级最相近的数据包,发送缓存队列中剩余时间最少的前两个数据包b3和c4对应的优先级分别是优先级1和优先级3,其优先级与当前到达的发送资源的资源优先级相差均为1,这时优先选择优先级较高的数据包发送,以保证高优先级数据包优先发送,因此发送资源2发送数据包b3;
当节点在Frame3中的发送资源4到达时,缓存队列中剩余时间最少的数据包为数据包c4,由于在Frame3中发送资源4在上一帧周期中发送的数据包对应的优先级为优先级1,因此发送资源4的资源优先级为优先级1,这时,当前到达的发送资源的资源优先级与剩余时间最短的数据包对应的优先级不同;节点确定剩余时间最少的数据包c4当前的剩余时间内包含的发送资源有两个,即M=2,分别是Frame3的发送资源4和发送资源6,检查发送缓存队列中数据包的数目为1,即N=1,该数据包为数据包c4;由于M>N,此时,K的值取M和N中的较小值,即K=1;由于发送缓存队列中仅有一个数据包c4,则在发送资源4上发送数据包c4;
当节点在Frame3中的发送资源6到达时,由于发送缓存队列中已没有需要发送的数据包,因此发送资源6将不发送任何数据包。
综上所述,本发明提出一种数据发送方法及装置,基于剩余时间的资源调度算法与基于资源预留的资源资源分配算法相结合,提出节点的发送资源的使用时间到达时,在满足各数据包发送时延要求的前提下,在发送缓存队列中选择与到达的发送资源优先级对应的数据包发送,使发送资源的优先级尽量与其发送的数据包对应的优先级相匹配,以便在发生资源碰撞时更好地支持基于优先级资源抢占机制。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。