轮询仲裁的方法和装置与流程

文档序号:14676912发布日期:2018-06-12 21:37阅读:640来源:国知局
轮询仲裁的方法和装置与流程

本发明涉及数据技术领域,尤其涉及一种轮询仲裁的方法和装置。



背景技术:

在数据传输领域中,需要处理的数据往往来自多种不同的数据源,这些不同的数据源通常在不同的通道中,在不同通道的数据源中在大批量交换数据时一般都要使用外部存储器(例如SRAM(Static Random Access Memory,静态随机存取存储器)缓存数据。

目前,用于外部存储器的仲裁方式一般有两种方式,一种是固定优化级仲裁,一种是轮询仲裁。其中,固定优化级仲裁的规则是预先定义了数据源不同的优先级,高优先级优先响应。其中,轮询仲裁的规则是多个数据源具有相同的优先级,初始化时第一个数据源具有最高优先级,响应后则下一个数据源具有最高优先级,依此类推。

一般的轮询仲裁方式,通常采用申请即授权的处理方式,也就是说,在轮询到当前通道时,如果当前通道中的数据源提出仲裁请求,则对当前通道中的数据源授权。然而,在一些情况中,在访问当前通道中的数据源时,由于当前通道中的数据源提出仲裁申请,因此,必须调度完当前通道的数据源之后才能访问其他通道,但是如果当前通道的数据源的处理状态存在问题,这样的数据源是无需授权的,授权处理状态存在问题的数据源,存在问题的数据源占用仲裁资源,容易影响这个处理过程,造成处理效率低。



技术实现要素:

本发明的目的旨在至少在一定程度上解决上述的技术问题之一。

为此,本发明的第一个目的在于提出一种轮询仲裁的方法,该方法根据仲裁申请和处理状态确定是否对数据源授权,从而有效避免了对处理状态存在问题的数据源授权,及时释放仲裁资源,进而可提高数据的处理效率。

本发明的第二个目的在于提出一种轮询仲裁的装置。

为了实现上述目的,本发明第一方面实施例的轮询仲裁的方法,包括:在轮询每个通道的过程中,在轮询到当前通道时,判断当前通道中的数据源是否提出仲裁申请;若判断所述数据源提出仲裁申请,则获取所述当前通道的数据处理状态,并根据所述数据处理状态确定否对所述数据源授权。

本发明实施例的轮询仲裁的方法,在轮询每个通道的过程中,在轮询到当前通道时,判断当前通道中的数据源是否提出仲裁申请,并在数据源提出仲裁申请时,获取当前通道的数据处理状态,并根据数据处理状态确定否对数据源授权。由此,根据仲裁申请和处理状态确定是否对数据源授权,从而有效避免了对处理状态存在问题的通道的数据源授权,及时释放仲裁资源,进而可提高数据的处理效率。

在本发明的一个实施例中,所述根据所述数据处理状态确定否对所述数据源授权,包括:

判断所述数据缓存量是否超过所述当前通道的数据缓存门限;

若否,则对所述数据源授权,以使所述数据源访问外部存储器。

在本发明的一个实施例中,所述处理状态包括数据校验状态;

所述根据所述数据处理状态确定否对所述数据源授权,包括:

根据所述数据校验状态确定所述数据源是否准确;

若是,则对所述数据源授权,以使所述数据源访问外部存储器。

在本发明的一个实施例中,在所述对所述数据源授权之后,所述方法还包括:

开始计时,并在计时时间达到第一预设时间时,判断所述数据源是否结束当前数据帧的传输;

若否,则控制在计时时间达到第二预设时间时,强制取消所述数据源的授权,其中,所述第二预设时间与所述第一预设时间的时间间隔大于传输一个数据帧所需要的时间。

在本发明的一个实施例中,在所述强制取消所述数据源的授权之后,所述方法还包括:

根据所述当前通道确定下一个访问的通道。

为了实现上述目的,本发明第二方面实施例的轮询仲裁的装置,包括:判断模块,用于在轮询每个通道的过程中,在轮询到当前通道时,判断当前通道中的数据源是否提出仲裁申请;第一处理模块,用于在判断所述数据源提出仲裁申请时,获取所述当前通道的数据处理状态,并根据所述数据处理状态确定否对所述数据源授权。

本发明实施例的轮询仲裁的装置,在轮询每个通道的过程中,在轮询到当前通道时,判断当前通道中的数据源是否提出仲裁申请,并在数据源提出仲裁申请时,获取当前通道的数据处理状态,并根据数据处理状态确定否对数据源授权。由此,根据仲裁申请和处理状态确定是否对数据源授权,从而有效避免了对处理状态存在问题的通道的数据源授权,及时释放仲裁资源,进而可提高数据的处理效率。

在本发明的一个实施例中,所述第一处理模块,具体用于:

判断所述数据缓存量是否超过所述当前通道的数据缓存门限;

若否,则对所述数据源授权,以使所述数据源访问外部存储器。

在本发明的一个实施例中,所述处理状态包括数据校验状态;

所述第一处理模块,具体用于:

根据所述数据校验状态确定所述数据源是否准确;

若是,则对所述数据源授权,以使所述数据源访问外部存储器。

在本发明的一个实施例中,所述装置还包括:

第二处理模块,用于开始计时,并在计时时间达到第一预设时间时,判断所述数据源是否结束当前数据帧的传输;

取消模块,用于在判断所述数据源传输当前数据帧时,控制在计时时间达到第二预设时间时,强制取消所述数据源的授权,其中,所述第二预设时间与所述第一预设时间的时间间隔大于传输一个数据帧所需要的时间。

在本发明的一个实施例中,所述装置还包括:

确定模块,用于根据所述当前通道确定下一个访问的通道。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,

图1是根据本发明一个实施例的轮询仲裁的方法的流程图;

图2是根据本发明另一个实施例的轮询仲裁的方法的流程图;

图3是根据本发明又一个实施例的轮询仲裁的方法的流程图;

图4是根据本发明一个实施例的轮询仲裁的装置的结构示意图;

图5是根据本发明另一个实施例的轮询仲裁的装置的结构示意图;

图6是根据本发明又一个实施例的轮询仲裁的装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的轮询仲裁的方法和装置。

图1是根据本发明一个实施例的轮询仲裁的方法的流程图。

如图1所示,该轮询仲裁的方法包括:

S11,在轮询每个通道的过程中,在轮询到当前通道时,判断当前通道中的数据源是否提出仲裁申请。

S12,若判断数据源提出仲裁申请,则获取当前通道的数据处理状态,并根据数据处理状态确定否对数据源授权。

在本发明的一个实施例中,处理状态可以包括数据缓存量。

具体地,在获取数据源提出仲裁申请后,可根据数据处理状态判断当前通道的数据缓存量是否超过当前通道的数据缓存门限,若否,则对数据源授权,以使数据源访问外部存储器,即,数据源获得外部存储器的访问权限。

另外,如果判断出当前通道的数据缓存量超过当前通道的数据缓存门限后,则取消对数据源的授权。

在本发明的一个实施例中,在取消对数据源的授权后,可根据当前通道确定下一个访问的通道,以对下一个通道中的数据源进行处理。

在本发明的另一个实施例中,在处理状态包括数据校验状态时,根据数据校验状态确定数据源是否准确。若是,则对数据源授权,以使数据源访问外部存储器。也就是说,在根据数据校验状态确定数据源准确后,该数据源即获得外部存储的访问权限。

具体地,在确定数据源的仲裁申请后,判断数据校验状态是否为正确,若是,则确定数据源准确,对数据源授权,以使数据源访问外部存储器。

另外,如果根据数据检验状态确定数据源不准确,则取消对数据源的授权。也就是说,在判断出当前通道的数据校验状态错误时,确定当前通道中的数据源存在错误,放弃对该数据源授权,即,该数据源不能获得外部存储器的访问权限。由此,可避免对存在问题的数据源进行授权,及时释放仲裁资源,达到数据流量控制作用。

另外,在取消对数据源的授权后,可根据当前通道确定下一个访问的通道,以对下一个访问的通道中的数据源进行处理。由此,可及时释放仲裁资源,使得下一个数据源能及时访问外部存储器。

在本发明的一个实施例中,在处理状态包括数据缓存量和数据校验状态时,可判断数据缓存量是否超过当前通道的数据缓存门限,以及判断当前通道的数据校准状态是否准确,如果两者中有一个满足条件,则确定当前通道中的数据源存在问题,取消对数据源授权,即,该数据源不能获得外部存储器的访问权限。由此,避免对存在问题的数据源授权,及时释放仲裁资源,使得下一个数据源能及时访问外部存储器。

另外,如果两者均满足条件,则确定数据源正确,对当前通道中的数据源授权。即,数据源提出仲裁申请,且无错误,则对数据源授权,即当前通道中的数据源获取访问外部存储器的访问权限。

本发明实施例的轮询仲裁的方法,在轮询每个通道的过程中,在轮询到当前通道时,判断当前通道中的数据源是否提出仲裁申请,并在数据源提出仲裁申请时,获取当前通道的数据处理状态,并根据数据处理状态确定否对数据源授权。由此,根据仲裁申请和处理状态确定是否对数据源授权,从而有效避免了对处理状态存在问题的通道的数据源授权,及时释放仲裁资源,进而可提高数据的处理效率。

在本发明的一个实施例中,在对当前通道中的数据源授权之后,为了保证数据帧的完整性,如图2所示,该轮询仲裁的方法还包括:

S21,开始计时,并在计时时间达到第一预设时间时,判断数据源是否结束当前数据帧的传输。

S22,若否,则控制在计时时间达到第二预设时间时,强制取消数据源的授权。

其中,第二预设时间与第一预设时间的时间间隔大于传输一个数据帧所需要的时间。

其中,需要理解的是,第二预设时间大于第一预设时间。

其中,第二预设时间是根据第一预设时间和传输一个最大的数据帧所需要的时间预先设置的。

另外,需要理解的是,在计时时间达到第一预设时间时,如果判断数据源结束当前数据帧的传输,则取消对数据源的授权。

在本发明的一个实施例中,在强制取消数据源的授权之后,根据当前通道确定下一个访问的通道,以使其他通道的数据源访问外部存储器。

综上可以看出,该实施例在监控到数据源达到第一预设时间时,如果判断数据源有数据帧正在传输,为了保证数据帧的完整性,在取消数据源的仲裁授权之前提供了一段缓存时间,使得数据源可在缓存时间中完成数据帧的传输,保证了正在传输的数据帧的完整性。

本发明实施例的轮询仲裁的方法,在对当前通道中的数据源授权后,开始计时,并在计时时间达到第一预设时间时,如果判断出数据源的当前数据帧传输未完成,则继续计时,并在计时时间达到第二预设时间时,强制取消对数据源的授权,由此,使得数据源在计时时间未达到第二预设时间可对当前数据帧继续传输,从而保证了数据帧的完整性。

图3是根据本发明又一个实施例的轮询仲裁的方法的流程图。

如图3所示,该轮询仲裁的方法包括:

S31,判断当前通道中的数据源是否提出仲裁申请,若否,则执行步骤S32,若是,则执行步骤S33。

S32,根据当前通道确定下一个访问的通道,以对一个访问的通道的数据源进行处理。

也就是说,在对下一个访问的通道进行处理时,下一个访问的通道即为当前通道。

具体地,根据轮询机制和当前通道确定下一个访问的通道,以对下一个通道中的数据源进行处理。

S33,获取当前通道的数据处理状态,并根据数据处理状态确定否对当前通道中的数据源授权,若是,则执行步骤S34,若否,则执行步骤S32。

在本发明的一个实施例中,在处理状态包括数据缓存量时,可判断数据缓存量是否超过当前通道的数据缓存门限,若否,则对当前通道中的数据源授权。

在本发明的另一个实施例中,在处理状态包括数据校验状态时,根据数据校验状态确定数据源是否准确。若是,则对数据源授权。

具体地,在确定当前通道中的数据源的仲裁申请后,判断当前通道的数据校验状态是否为正确,若是,则确定数据源准确,对数据源授权,以使当前通道中的数据源访问外部存储器。

另外,如果根据数据检验状态确定数据源不准确,则取消对数据源的授权。也就是说,在判断出当前通道的数据校验状态错误时,确定当前通道中的数据源存在错误,放弃对该数据源授权,即,该数据源不能获得外部存储器的访问权限。由此,可避免对存在问题的数据源进行授权,及时释放仲裁资源,达到数据流量控制作用。

在本发明的一个实施例中,在处理状态包括数据缓存量和数据校验状态时,可判断数据缓存量是否超过当前通道的数据缓存门限,以及判断数据源的数据校准状态是否准确,如果两者中有一个满足条件,则确定数据源存在问题,取消对数据源授权,即,该数据源不能获得外部存储器的访问权限。由此,避免对存在问题的数据源授权,及时释放仲裁资源,使得下一个数据源能及时访问外部存储器。

另外,如果两者均满足条件,则确定数据源正确,对数据源授权。即,当前通道中的数据源提出仲裁申请,且无错误,则对数据源授权,即当前通道中的数据源获取访问外部存储器的访问权限。

S34,开始计时,并在计时时间达到第一预设时间时,判断数据源是否结束当前数据帧的传输,若是,则执行步骤S32,若否,则执行步骤S35。

S35,控制在计时时间达到第二预设时间时,强制取消当前通道中的数据源的授权。

其中,第二预设时间与第一预设时间的时间间隔大于传输一个数据帧所需要的时间。

其中,需要理解的是,第二预设时间大于第一预设时间。

其中,第二预设时间是根据第一预设时间和传输一个最大的数据帧所需要的时间预先设置的。

另外,需要理解的是,在计时时间达到第一预设时间时,如果判断数据源结束当前数据帧的传输,则取消对数据源的授权。

在本发明的一个实施例中,在强制取消数据源的授权之后,根据当前通道确定下一个访问的通道,以使其他通道中的数据源访问外部存储器。

本发明实施例的轮询仲裁的方法,在轮询每个通道的过程中,在轮询到当前通道时,判断当前通道中的数据源是否提出仲裁申请,并在数据源提出仲裁申请时,获取当前通道的数据处理状态,并根据数据处理状态确定否对数据源授权,以及在对数据源授权后,开始计时,并在计时时间达到第一预设时间时,如果判断出数据源的当前数据帧传输未完成时,继续计时,并在计时时间达到第二预设时间时,强制取消对数据源的授权。由此,根据仲裁申请和处理状态确定是否对数据源授权,从而有效避免了对处理状态存在问题的通道的数据源授权,提高了通道的调度的效率。同时,使得数据源在计时时间未达到第二预设时间可对当前数据帧继续传输,从而保证了数据帧的完整性。

为了实现上述实施例,本发明还提出了一种轮询仲裁的装置。

图4是根据本发明一个实施例的轮询仲裁的装置的结构示意图。

如图4所示,该轮询仲裁的装置还可以包括判断模块110和第一处理模块120,其中:

判断模块110用于在轮询每个通道的过程中,在轮询到当前通道时,判断当前通道中的数据源是否提出仲裁申请。

第一处理模块120用于在判断数据源提出仲裁申请时,获取当前通道的数据处理状态,并根据数据处理状态确定否对数据源授权。

在本发明的一个实施例中,处理状态包括数据缓存量。

其中,第一处理模块120具体用于:判断数据缓存量是否超过当前通道的数据缓存门限;若否,则对数据源授权,以使数据源访问外部存储器。

在本发明的一个实施例中,处理状态包括数据校验状态。

其中,第一处理模块120具体用于:根据数据校验状态确定数据源是否准确;若是,则对数据源授权,以使数据源访问外部存储器。

在本发明的一个实施例中,在第一处理模块120对数据源授权后,为了数据帧的完整性,在图4所示的基础上,如图5所示,该装置还可以包括第二处理模块130和取消模块140,其中:

第二处理模块130用于开始计时,并在计时时间达到第一预设时间时,判断数据源是否结束当前数据帧的传输。

取消模块140用于在判断数据源传输当前数据帧时,控制在计时时间达到第二预设时间时,强制取消数据源的授权。

其中,第二预设时间与第一预设时间的时间间隔大于传输一个数据帧所需要的时间。

在本发明的一个实施中,在图5所示的基础上,如图6所示,该装置还可以包括确定模块150,其中:

确定模块150用于根据当前通道确定下一个访问的通道。

具体地,在取消对当前信道中的数据源的授权后,确定模块可根据轮询机制和当前信道确定下一个访问的通道。

其中,需要说明的是,前述对轮询仲裁的方法实施例的解释说明也适用于该实施例的轮询仲裁的装置,其实现原理类似,此处不再赘述。

本发明实施例的轮询仲裁的装置,在轮询每个通道的过程中,在轮询到当前通道时,判断当前通道中的数据源是否提出仲裁申请,并在数据源提出仲裁申请时,获取当前通道的数据处理状态,并根据数据处理状态确定否对数据源授权。由此,根据仲裁申请和处理状态确定是否对数据源授权,从而有效避免了对处理状态存在问题的通道的数据源授权,及时释放仲裁资源,进而可提高数据的处理效率。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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