一种检测数据链表方法及电子设备的制作方法

文档序号:6489686阅读:191来源:国知局
一种检测数据链表方法及电子设备的制作方法
【专利摘要】本发明公开了一种检测数据链表方法及电子设备,该方法应用于一电子设备,所述电子设备包括第一存储单元,所述第一存储单元中设置有第一数据链表,其中,所述第一数据链表包括M个节点,M为大于等于2的整数,所述方法包括:当对所述M个节点中的任一节点存在第一操作时,检测所述第一数据链表所对应的第一计数器是否为异常状态,以及检测所述第一数据链表的尾指针是否为异常状态,其中,所述第一操作为读和/或写操作,所述第一计数器用于计数第一数据链表中节点为第一状态的节点个数;当所述第一计数器及所述尾指针中至少有一个为异常状态时,确定所述第一数据链表为异常状态。
【专利说明】一种检测数据链表方法及电子设备
【技术领域】
[0001]本发明涉及数据通信领域,尤其涉及一种检测数据链表方法及电子设备。
【背景技术】
[0002]随着数据业务的高速发展,网络融合趋势越来越强烈,在开发数据芯片时,已经不单单是单一的一种业务,而是数据、语音、视频等等各种不同的业务混杂融合在一起,针对各种业务通常利用QoS (Quality of Service,服务质量)将不同业务的不同优先级分配其共享的资源,从而确保该类业务的正常运行。
[0003]目前,实现上述共享资源功能就需要通过链表指针对业务进行调度,即利用链表管理方式,实现有限的RAM( Random-Access Memory,随即存取存储器),比如,FPGACFieId 一Programmable Gate Array,现场可编程门阵列)的片内RAM的资源的共享;再比如,FPGA的片外静态RAM或者动态RAM的资源的共享。如果电路受到干扰,就会导致链表异常,使得整个网络瘫痪。在通讯领域是绝对不允许的这种情况发生。
[0004]现有技术提出了如下的检错机制,即采用为链表指针配置校验位的方式实现对链表进行检错,通常会为每个链表指针配置多个链表校验位,校验位越多,检错能力越强,漏检概率越低。
[0005]但是本申请发明人发现在现有技术中,链表的深度越大,共享资源就越多,业务划分粒度就越细,而每一个链表都需要对应若干校验位,链表的深度越深,校验位的位数就越多,这样每增加Ibit校验位所消耗的存储资源也就也多,就需要很大的存储空间,使得耗费本已很紧张的有限存储资源来存储校验位,存在资源占用率高的技术问题。但是如果减少校验位,又会导致漏检概率增大的技术问题,一单漏检,整个系统就会混乱崩溃。系统级的崩溃将导致业务长时间中断和数据大量丢失会对运营商和用户造成巨大的损失。

【发明内容】

[0006]本发明提供一种检测数据链表的方法及电子设备,用以解决现有技术中由于存储资源要存储若干校验位而导致的资源占用率高的技术问题。
[0007]一方面,本发明通过本申请的一个实施例,提供一种检测数据链表的方法,应用于一电子设备,所述电子设备包括第一存储单元,所述第一存储单元中设置有第一数据链表,其中,所述第一数据链表包括M个节点,M为大于等于2的整数,所述方法包括:当对所述M个节点中的任一节点存在第一操作时,检测所述第一数据链表所对应的第一计数器是否为异常状态,以及检测所述第一数据链表的尾指针是否为异常状态,其中,所述第一操作为读和/或写操作,所述第一计数器用于计数第一数据链表中节点为第一状态的节点个数;当所述第一计数器及所述尾指针中至少有一个为异常状态时,确定所述第一数据链表为异常状态。
[0008]可选的,所述检测所述第一存储单元的第一计数器是否为异常状态,具体包括:当对所述第一数据链表存在第一操作时,获得在所述第一操作后所述第一计数器的第一值;将所述第一值与第二值比较,判断所述第一值是否与所述第二值相关,其中,所述第二值为在所述第一操作前所述第一计数器的值当所述第一值与所述第二值相关时,确定所述第一计数器为正常状态;当所述第一值与所述第二值不相关时,确定所述第一计数器为异常状态。
[0009]可选的,所述检测所述第一数据链表的尾指针是否为异常状态,具体包括:获得在所述第一操作之后所述第一数据链表的尾指针的第一值;将所述第一值与第二值比较,判断所述第一值是否与所述第二值相关,其中,所述第二值为在所述第一操作前,所述尾指针的值;当所述第一值与所述第二值相关时,确定所述尾指针为正常状态;当所述第二值与所述第一值不相关时,确定所述尾指针为异常状态。
[0010]可选的,所述第一存储单元中还设置有至少一位标识位,所述至少一位标识位用于标识所述第一数据链表的异常类型。
[0011]可选的,在确定所述第一数据链表为异常之后,所述方法还包括:根据所述第一操作以及所述第一计数器和所述尾指针的异常状态,确定所述第一数据链表的异常类型;基于所述异常类型,更改所述至少一个标识位的值;锁存所述至少一个标识位的值。
[0012]可选的,在确定所述第一数据链表为异常状态之后,所述方法还包括:获得第一控制指令;响应所述第一控制指令,控制所述第一数据链表初始化。
[0013]可选的,所述第一数据链表具体为队列链表。
[0014]可选的,所述第一数据链表具体为空闲链表。
[0015]另一方面,本发明通过本申请的另一实施例提供一种电子设备,所述电子设备包括第一存储单元,所述第一存储单元设置有第一数据链表,所述第一数据链表包括M个节点,M为大于等于2的整数,所述电子设备还包括:控制模块,用于对所述M个节点中的任一节点进行第一操作,其中,所述第一操作为读和/或写操作;第一计数器,用于计数第一数据链表中节点为第一状态的节点个数;第一数据链表处理模块,用于当对所述M个节点中的任一节点存在第一操作时,检测所述第一数据链表所对应的第一计数器是否为异常状态,以及检测所述第一数据链表的尾指针是否为异常状态;当所述第一计数器及所述尾指针中至少有一个为异常状态时,确定所述第一数据链表为异常状态。
[0016]可选的,所述第一数据链表处理模块具体包括:第一检测模块,用于当对所述M个节点中的任一节点存在第一操作时,检测所述第一数据链表所对应的第一计数器是否为异常状态;还用于当对所述M个节点中的任一节点存在第一操作时,检测所述第一数据链表的尾指针是否为异常状态;第一确定模块,当所述第一计数器及所述尾指针中至少有一个为异常状态时,确定所述第一数据链表为异常状态。
[0017]可选的,所述第一检测模块具体包括:第一获得子模块,用于当对所述第一数据链表存在第一操作时,获得在所述第一操作后所述第一计数器的第一值;第一比较子模块,用于将所述第一值与第二值比较,判断所述第一值是否与所述第二值相关,其中,所述第二值为在所述第一操作前所述第一计数器的值;第一确定子模块,用于当所述第一值与所述第二值相关时,确定所述第一计数器为正常状态;还用于当所述第一值与所述第二值不相关时,确定所述第一计数器为异常状态。
[0018]可选的,所述第一检测模块具体包括:第二获得子模块,用于在所述第一操作之后所述第一数据链表的尾指针的第一值;第二比较子模块,用于将所述第一值与第二值比较,判断所述第一值是否与所述第二值相关,其中,所述第二值为在所述第一操作前,所述尾指针的值;第二确定子模块,用于当所述第一值与所述第二值相关时,确定所述尾指针为正常状态;还用于当所述第二值与所述第一值不相关时,确定所述尾指针为异常状态。
[0019]可选的,所述第一存储单元中还设置有至少一位标识位,所述至少一位标识位用于标识所述第一数据链表的异常类型。
[0020]可选的,所述电子设备还包括:第二确定模块,用于根据所述第一操作以及所述第一计数器和所述尾指针的异常状态,确定所述第一数据链表的异常类型;第一更改模块,用于基于所述异常类型,更改所述至少一个标识位的值;第一锁存模块,用于锁存所述至少一个标识位的值。
[0021 ] 可选的,所述控制模块还用于获得第一控制指令;响应所述第一控制指令,控制所述第一数据链表初始化。
[0022]可选的,所述第一数据链表具体为队列链表。
[0023]可选的,所述第一数据链表具体为空闲链表。
[0024]本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0025]1、由于采用检测第一计数器和尾指针是否为异常状态来确定第一数据链表是否异常状态,就不用每个链表都配置对应的若干校验位,也不用在第一存储单元中来存储校验位,有效地解决了现有技术中由于存储资源要存储若干校验位而导致的资源占用率高的技术问题,进而实现了资源占用率低的数据链表检测。
[0026]2、由于采用检测第一计数器和尾指针是否为异常状态来确定第一数据链表是否异常状态,就不用对每个链表指针配置若干校验位,也不会出现由于校验位数较少出现漏检的情况,有效地解决了现有技术中减少校验位会出现漏检的技术问题,进而提供了一种可靠的数据链表检测方法。
[0027]3、由于采用将第一计数器和尾指针的第一值与第二值进行比较,根据两个值是否关联来判断第一计数器和尾指针是否为异常状态,更为简单的确定第一数据器和尾指针是否为异常状态,省去了对校验位的逐位检测,提供了一种简单的数据链表检测方法。
[0028]4、由于在确定第一数据链表为异常后,根据第一操作来确定第一数据链表的异常类型,能够清楚的确定第一数据链表的异常类型,再根据异常类型,改变并锁存标识位的值,以方便用户识读。
[0029]5、由于在确定第一数据链表异常之后,控制第一数据链表初始化,实现第一数据链表的恢复,重新分配资源,提高了系统的可靠性。
【专利附图】

【附图说明】
[0030]图1为本发明一实施例中的数据链表处理模块原理示意图;
[0031]图2为本发明一实施例中检测数据链表的方法流程图;
[0032]图3为本发明一实施例中第一数据链表的结构示意图;
[0033]图4为本发明一实施例中更改标识位并锁存结果的方法流程图;
[0034]图5为本发明一实施例中电子设备的结构示意图。
【具体实施方式】[0035]本申请实施例通过提供一种检测数据链表的方法及一种电子设备,解决了现有技术中存在的由于存储资源要存储若干校验位而导致的资源占用率高的技术问题。
[0036]本申请实施例中的技术方案为解决上述存在的资源占用率的问题,总体思路如下:
[0037]当对M个节点中的任一节点存在读和/或写操作时,通过检测计数第一数据链表中节点为第一状态的节点个数的第一计数器是否为异常状态,以及检测第一数据链表的尾指针是否为异常状态;当第一计数器及尾指针中至少有一个为异常状态时,确定第一数据链表为异常状态。这样,就不用每个链表都对应若干校验位,也不用在第一存储单元的资源来存储校验位,有效地解决了现有技术中由于存储资源要存储若干校验位而导致的资源占用率高的技术问题,实现了资源占用率低的数据链表检测。
[0038]为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
[0039]数据链表为一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列节点(链表中每一个元素称为节点)组成,节点可以在运行时动态生成。每个节点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个节点地址的指针域。
[0040]数据链表的初始状态为将所有空闲节点连接在一起,这里所说的空闲节点就是指节点的数据域中没有存放数据的节点。那么,当系统工作一段时间后,如图1所示,空闲节点就会在物理上变得不连续,但是在逻辑上还是通过数据链表的方式将当前的空闲节点连接在一起。当然,对于队列链表也是一样,这里所说的队列链表就是指节点的数据域中存放有数据的节点。在系统工作一段时间后,队列节点也会在物理上变得不连续,但是在逻辑上还是通过数据链表的方式将当前队列节点连接在一起的。
[0041]在物理上不连续而逻辑上连续的数据链表会由于电路受到干扰,而导致数据链表出现异常,那么,本发明通过一实施例,提供一种检测数据链表的方法,应用于一电子设备,t匕如,笔记本电脑,智能手机,平板电脑,该电子设备包括第一存储单元,如RAM,第一存储单元中设置有第一数据链表,该第一数据链表包括M个节点,由于数据链表特殊的结构,M应为大于等于2的整数,也就是说M可以为2,4,5,20,40,本申请不做限定。在具体实施过程中,第一数据链表可以为M个节点的队列链表,也可以为M个节点的空闲链表,当然第一存储单元还可以同时设置有M个节点的队列链表和M个节点的空闲链表,本申请不做具体限定。
[0042]如图2所示,该方法包括:
[0043]SlOl:当对M个节点中的任一节点存在第一操作时,检测第一数据链表所对应的第一计数器是否为异常状态,以及检测第一数据链表的尾指针是否为异常状态,其中,第一操作为读和/或写操作,第一计数器用于计数第一数据链表中节点的个数;
[0044]S102:当第一计数器及尾指针中至少有一个为异常状态时,确定第一数据链表为异常状态。
[0045]下面以空闲链表为例,对上述方案进行详细说明。
[0046]请结合图2及图3,例如,空闲链表初始化之后,空闲节点数为16,当系统工作一段时间之后,原本数据链表中的7个节点的数据域内存储有数据,那剩下的9个节点就是空闲节点,组成9个节点的空闲链表,即本实施例中的第一数据链表。然后,对第一数据链表9个节点中的任意一个节点,会存在一个第一操作,该第一操作可以是写操作还可以是读操作,接下来,执行S101,同时检测第一数据链表所对应的第一计数器是否为异常状态,以及检测第一数据链表的尾指针是否为异常状态,这里所说的第一计数器是用来对第一数据链表中节点为第一状态的节点个数进行计数的,当第一数据链表为空闲链表时,第一计数器就是用来计数空闲链表中的空闲节点数;当第一数据链表为队列链表时,第一计数器就是用来计数队列链表中的队列节点数;在本实施例中,由于第一数据链表为空闲链表,所以第一数据链表用来计数空闲节点数。
[0047]在具体实施例中,SlOl中的检测第一数据链表所对应的第一计数器是否为异常状态,可以为:当对第一数据链表存在第一操作时,获得在第一操作后第一计数器的第一值;将第一值与第二值比较,判断第一值是否与第二值相关,其中,第二值为在第一操作前第一计数器的值;当第一值与第二值相关时,确定第一计数器为正常状态;当第一值与第二值不相关时,确定第一计数器为异常状态。
[0048]具体来讲,当第一操作为读操作,也就是读取任一个节点中的数据时,获得第一计数器当前的第一值,也就是完成读操作之后,第一计数器的值,然后,将第一值与第二值比较,这里的第二值是在读操作之前时刻的第一计数器的值。比如,在读操作之前,第一计数器的值为6,由于读操作读取了一个节点中的数据,那该节点就变成了空闲节点,空闲节点数加1,此时,第一计数器的值应为7。当第一值为7时,则认为第一值与第二值相关,确定第一计数器为正常状态;当第一值不变仍为6时,或者第一值为大于7或小于6的任一值时,则认为第一值与第二值不相关,确定第一计数器为异常状态。
[0049]进一步,空闲链表初始化之后,空闲节点数为16,即M为16,系统工作一段时间以后,在M小于等于2时,就认为第一数据链表为空,比如,M等于2,也就是说此时第一数据链表中没有空闲节点,第一计数器的第二值为0,那么在读操作之后,第一计数器的第一值应该为I。若第一值为1,就认为第一值与第二值相关,确定第一计数器为正常状态;若第一值仍为2,或者小于2的任一值,或者大于I的任一值,就认为第一值与第二值不相关,确定第一计数器为异常状态。
[0050]当第一操作为写操作,也就是往任一节点写入数据时,获得第一计数器当前的第一值,也就是完成写操作之后,第一计数器的值,然后,将第一值与第二值比较,这里的第二值是在写操作之前时刻的第一计数器的值。比如,在写操作之前,第一计数器的值为6,由于写操作写入了一个节点的数据,那么该节点就由空闲节点变成了队列节点,此时,第一计数器的值应为5。当第一值为5时,则认为第一值与第二值相关,确定第一计数器为正常状态;当第一值不变仍为6时,或者第一值为大于6或小于5的任一值时,则认为第一值与第二值不相关,确定第一计数器为异常状态。
[0051]进一步,空闲链表初始化之后,空闲节点数为16,即M为16,系统工作一段时间以后,在M大于等于14时,就认为第一数据链表为满,比如,M等于14,也就是说此时第一数据链表中全是空闲节点,第一计数器的第二值为14,那么在写操作之后,第一计数器的第一值应该为13。若第一值为13,就认为第一值与第二值相关,确定第一计数器为正常状态;若第一值仍为14,或者大于14任一值,或者小于13任一值,就认为第一值与第二值不相关,确定第一计数器为异常状态。[0052]当然,对第一计数器的异常状态判断不仅限于上述几种情况,上述实施例只为举例,并非用于限定本申请,为了说明书的简洁,不再一一列举其他情况。
[0053]进一步,SlOl中的检测第一数据链表的尾指针是否为异常状态,可以为:获得在第一操作之后第一数据链表的尾指针的第一值;将第一值与第二值比较,判断第一值是否与第二值相关,其中,第二值为在第一操作前,尾指针的值;当第一值与第二值相关时,确定尾指针为正常状态;当第二值与第一值不相关时,确定尾指针为异常状态。
[0054]具体来讲,当第一操作为读操作,也就是读取任一个节点中的数据时,获得第一数据链表的尾指针当前的第一值,也就是完成读操作之后,尾指针的值,然后,将第一值与第二值比较,这里的第二值是在读操作之前时刻的尾指针的值。比如,在读操作之前,空闲链表中有8个节点,分别是节点4、7、8、10、11、13、14、16,尾指针的值为16,由于读操作读取了一个节点中的数据,那该节点就变成了空闲节点,空闲节点数加1,此时,尾指针的值应该指向空闲链表中的除上述节点外的节点,即节点1、2、3、5、6、9、12、15中的任意一个节点,假如指向节点2,那么,此时尾指针的值就应该为2。当第一值为2时,则认为第一值与第二值相关,确定尾指针为正常状态;当第一值不变仍为16时,或者为4、7、8、10、11、13、14中的任一值时,则认为第一值与第二值不相关,确定尾指针为异常状态。
[0055]当第一操作为写操作,也就是往任一节点写入数据时,在第一数据链表中有足够多的空闲空间时,假设在第一操作之前的操作为读操作,也就是说,在读操作之后,尾指针才具有第二值,那么,此时的第一数据链表的最后一个空闲节点是刚刚压入第一数据链表的。那么,获得尾指针当前的第一值,也就是完成写操作之后,尾指针的值,然后,将第一值与第二值比较。比如,在写操作之前,尾指针的值为16,由于节点16是刚刚压入空闲链表的,那么,应该弹出的是节点2,而不应该是节点16,也就是说尾指针的值应还是16,而不应该是节点16的上一节点的节点14的地址,即尾指针的值不应为14。当第一值仍为16时,则认为第一值与第二值相关,确定尾指针为正常状态;当第一值变成14时,则认为第一值与第二值不相关,确定尾指针为异常状态。
[0056]当然,对第一数据链表尾指针的异常状态判断不仅限于上述几种情况,本领域普通技术人员可根据具体情况设定,本申请不做具体限定。
[0057]根据上面的描述,可知由于采用将第一计数器和尾指针的第一值与第二值进行比较,根据两个值是否关联来判断第一计数器和尾指针是否为异常状态,很简单的就能确定第一数据器和尾指针是否为异常状态,提供了一种简单的数据链表检测方法。
[0058]对于第一计数器以及尾指针的检测,可以像本实施例一样同时进行,也可以分别进行。当先对第一计数器进行检测时,若检测出第一计数器为异常状态,则不用再去检测尾指针是否为异常状态;同样的,当先对尾指针进行检测,若检测出尾指针为异常状态,则不用检测第一计数器是否为异常状态,本申请不做具体限定。
[0059]在判断出第一计数器和尾指针的异常状态之后,执行S102,即:当第一计数器及尾指针中至少有一个为异常状态时,确定第一数据链表为异常状态。
[0060]在具体实施例中,可以根据第一计数器及尾指针上是否为异常状态,来确定第一数据链表是否为异常状态。比如,以真值表来表示上述三者之间的关系,其中,值为I则表示为异常状态,值为0表示为正常状态。
[0061 ] 本实施例中的真值表如下所示:[0062]
【权利要求】
1.一种检测数据链表的方法,应用于一电子设备,所述电子设备包括第一存储单元,所述第一存储单元中设置有第一数据链表,其中,所述第一数据链表包括M个节点,M为大于等于2的整数,其特征在于,所述方法包括: 当对所述M个节点中的任一节点存在第一操作时,检测所述第一数据链表所对应的第一计数器是否为异常状态,以及检测所述第一数据链表的尾指针是否为异常状态,其中,所述第一操作为读和/或写操作,所述第一计数器用于计数第一数据链表中节点为第一状态的节点个数; 当所述第一计数器及所述尾指针中至少有一个为异常状态时,确定所述第一数据链表为异常状态。
2.如权利要求1所述的方法,其特征在于,所述检测所述第一存储单元的第一计数器是否为异常状 态,具体包括: 当对所述第一数据链表存在第一操作时,获得在所述第一操作后所述第一计数器的第一值; 将所述第一值与第二值比较,判断所述第一值是否与所述第二值相关,其中,所述第二值为在所述第一操作前所述第一计数器的值; 当所述第一值与所述第二值相关时,确定所述第一计数器为正常状态; 当所述第一值与所述第二值不相关时,确定所述第一计数器为异常状态。
3.如权利要求1所述的方法,其特征在于,所述检测所述第一数据链表的尾指针是否为异常状态,具体包括: 获得在所述第一操作之后所述第一数据链表的尾指针的第一值; 将所述第一值与第二值比较,判断所述第一值是否与所述第二值相关,其中,所述第二值为在所述第一操作前,所述尾指针的值; 当所述第一值与所述第二值相关时,确定所述尾指针为正常状态; 当所述第二值与所述第一值不相关时,确定所述尾指针为异常状态。
4.如权利要求1所述的方法,其特征在于,所述第一存储单元中还设置有至少一位标识位,所述至少一位标识位用于标识所述第一数据链表的异常类型。
5.如权利要求4所述的方法,其特征在于,在确定所述第一数据链表为异常之后,所述方法还包括: 根据所述第一操作以及所述第一计数器和所述尾指针的异常状态,确定所述第一数据链表的异常类型; 基于所述异常类型,更改所述至少一个标识位的值; 锁存所述至少一个标识位的值。
6.如权利要求1所述的方法,其特征在于,在确定所述第一数据链表为异常状态之后,所述方法还包括: 获得第一控制指令; 响应所述第一控制指令,控制所述第一数据链表初始化。
7.如权利要求1所述的方法,其特征在于,所述第一数据链表具体为队列链表。
8.如权利要求1所述的方法,其特征在于,所述第一数据链表具体为空闲链表。
9.一种电子设备,所述电子设备包括第一存储单元,所述第一存储单元设置有第一数据链表,所述第一数据链表包括M个节点,M为大于等于2的整数,其特征在于,所述电子设备还包括: 控制模块,用于对所述M个节点中的任一节点进行第一操作,其中,所述第一操作为读和/或写操作; 第一计数器,用于计数第一数据链表中节点为第一状态的节点个数; 第一数据链表处理模块,用于当对所述M个节点中的任一节点存在第一操作时,检测所述第一数据链表所对应的第一计数器是否为异常状态,以及检测所述第一数据链表的尾指针是否为异常状态;当所述第一计数器及所述尾指针中至少有一个为异常状态时,确定所述第一数据链表为异常状态。
10.如权利要求9所述的电子设备,其特征在于,所述第一数据链表处理模块具体包括: 第一检测模块,用于当对所述M个节点中的任一节点存在第一操作时,检测所述第一数据链表所对应的第一计数器是否为异常状态;还用于当对所述M个节点中的任一节点存在第一操作时,检测所述第一数据链表的尾指针是否为异常状态; 第一确定模块,当所述第一计数器及所述尾指针中至少有一个为异常状态时,确定所述第一数据链表为异常状态。
11.如权利要求10所述的电子设备,其特征在于,所述第一检测模块具体包括: 第一获得子模块,用于当对所述第一数据链表存在第一操作时,获得在所述第一操作后所述第一计数器的第一值; 第一比较子模块,用于将所述第一值与第二值比较,判断所述第一值是否与所述第二值相关,其中,所述第二值为在`所述第一操作前所述第一计数器的值; 第一确定子模块,用于当所述第一值与所述第二值相关时,确定所述第一计数器为正常状态;还用于当所述第一值与所述第二值不相关时,确定所述第一计数器为异常状态。
12.如权利要求10所述的电子设备,其特征在于,所述第一检测模块具体包括: 第二获得子模块,用于在所述第一操作之后所述第一数据链表的尾指针的第一值; 第二比较子模块,用于将所述第一值与第二值比较,判断所述第一值是否与所述第二值相关,其中,所述第二值为在所述第一操作前,所述尾指针的值; 第二确定子模块,用于当所述第一值与所述第二值相关时,确定所述尾指针为正常状态;还用于当所述第二值与所述第一值不相关时,确定所述尾指针为异常状态。
13.如权利要求9所述的电子设备,其特征在于,所述第一存储单元中还设置有至少一位标识位,所述至少一位标识位用于标识所述第一数据链表的异常类型。
14.如权利要求13所述的电子设备,其特征在于,所述电子设备还包括: 第二确定模块,用于根据所述第一操作以及所述第一计数器和所述尾指针的异常状态,确定所述第一数据链表的异常类型; 第一更改模块,用于基于所述异常类型,更改所述至少一个标识位的值; 第一锁存模块,用于锁存所述至少一个标识位的值。
15.如权利要求9所述的电子设备,其特征在于,所述控制模块还用于获得第一控制指令;响应所述第一控制指令,控制所述第一数据链表初始化。
16.如权利要求9所述的电子设备,其特征在于,所述第一数据链表具体为队列链表。
17.如权利要求9所述的电子设备,其特征在于,所述第一数据链表具体为空闲链表。
【文档编号】G06F12/02GK103713962SQ201210379926
【公开日】2014年4月9日 申请日期:2012年10月9日 优先权日:2012年10月9日
【发明者】徐继超, 刘峰 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1