一种故障检测的方法和装置
技术领域
本发明涉及通信技术领域,尤其涉及一种故障检测的方法和装置。
背景技术
CPU(Central Processing Unit,中央处理器)与内存(即内存条或者内存颗粒)之间通过线路(即数据线或者地址线)连接起来,而用于连接CPU与内存的线路可能存在三种故障,这三种故障分别为:1、短路:两个线路的引脚短接在一起,使得这两个线路的电平相同,如果最终电平被高电平主导,则称这种短路类型为1支配型短路,如果最终电平被低电平主导,则称这种短路类型为0支配型短路。2、开路:有线路的部分引脚出现断路。3、固定逻辑:有线路的部分引脚被固定地拉到固定电平,如与地短接等。
目前,可以采用走步法检测线路是否存在短路、开路、固定逻辑等故障,如通过地址线走步算法检测地址线是否存在短路、开路、固定逻辑等故障,并通过数据线走步算法检测数据线是否存在短路、开路、固定逻辑等故障。
在上述处理过程中,走步法需要检测的地址是CPU能够处理的物理地址,因此,CPU可以直接在该地址内写入数据,并从该地址中读取数据。
针对需要检测的地址不是CPU能够处理的物理地址的应用场景,CPU无法采用走步法检测线路是否存在短路、开路、固定逻辑等故障。
发明内容
本发明提供一种故障检测的方法,所述方法包括以下步骤:
获取待检测的线路所在的内存区块Rank对应的物理Rank地址;
将所述物理Rank地址转换成中央处理器能够处理的系统物理地址;
向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据;
利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障。
所述待检测的线路具体包括:待检测的地址线;
所述向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,具体包括:基于地址线走步算法,向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据;
所述利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障,具体包括:利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的地址线是否发生故障。
所述待检测的线路具体包括:待检测的数据线;
所述向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,具体包括:基于数据线走步算法,向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据;
所述利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障,具体包括:利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的数据线是否发生故障。
向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据之前,所述方法进一步包括:获取内存映射表,所述内存映射表中包含不能访问的系统物理地址区间;如果所述系统物理地址位于所述系统物理地址区间,则跳过向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据的过程;如果所述系统物理地址不位于所述系统物理地址区间,则执行向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据的过程。
将包含地址线走步算法、数据线走步算法、以及内存映射表的测试程序,存储在统一可扩展固件接口UEFI固件中,并在系统管理中断SMI中运行所述测试程序。
在获取待检测的线路所在的Rank对应的物理Rank地址之前,所述方法进一步包括:关闭内存的镜像功能和冗余功能;
在利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障之后,所述方法进一步包括:
恢复内存的镜像功能和冗余功能。
本发明提供一种故障检测的装置,所述装置具体包括:
获取模块,用于获取待检测的线路所在的内存区块Rank对应的物理Rank地址;转换模块,用于将所述物理Rank地址转换成中央处理器能够处理的系统物理地址;检测模块,用于向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,并利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障。
所述待检测的线路具体包括:待检测的地址线;所述检测模块,具体用于基于地址线走步算法,向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,并利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的地址线是否发生故障。
所述待检测的线路具体包括:待检测的数据线;所述检测模块,具体用于基于数据线走步算法,向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,并利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的数据线是否发生故障。
所述获取模块,进一步用于在所述检测模块向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据之前,获取内存映射表,其中,所述内存映射表中包含不能访问的系统物理地址区间;
如果所述转换模块得到的所述系统物理地址位于所述系统物理地址区间,则由所述检测模块跳过向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据的过程;如果所述转换模块得到的所述系统物理地址不位于所述系统物理地址区间,则由所述检测模块执行向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据的过程。
将包含地址线走步算法、数据线走步算法、以及内存映射表的测试程序,存储在统一可扩展固件接口UEFI固件中,并在系统管理中断SMI中运行所述测试程序。
还包括:处理模块,用于在所述获取模块获取待检测的线路所在的Rank对应的物理Rank地址之前,关闭内存的镜像功能和冗余功能;在所述检测模块利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障之后,恢复内存的镜像功能和冗余功能。
基于上述技术方案,本发明实施例中,在需要检测的地址不是中央处理器能够处理的物理地址的应用场景(如Rank(内存区块)的应用场景)下,中央处理器通过将待检测的线路对应的地址转换为本中央处理器能够处理的物理地址,从而使得中央处理器能够采用走步法检测线路是否存在短路、开路、固定逻辑等故障,提供更高的故障定位精度,并减少故障检测的时间。
附图说明
图1是本发明一种实施方式中故障检测的方法的流程图;
图2是本发明一种实施方式中包含故障检测的装置的设备的逻辑结构图;
图3是本发明一种实施方式中故障检测的装置的逻辑结构图。
具体实施方式
为了提升内存的访问带宽,通常会将连续的物理地址块交替地分配给不同的Rank,这种分配过程即为交织。Rank是指一组连接在同一芯片的选通线上,能够同步操作的DRAM(Dynamic Random Access Memory,动态随机存储器)芯片,一个Rank的数据位宽可以为64比特。在将连续的物理地址块交替地分配给不同的Rank时,存在三种类型的地址。1、系统物理地址,即中央处理器能够处理的物理地址;2、内存通道地址,即中央处理器内存通道(Channel)内的地址;3、物理Rank地址,即内存的单个Rank上的地址。
在上述应用场景下,走步法需要检测的地址是物理Rank地址,而中央处理器能够执行写入和读取操作的地址是系统物理地址,因此,中央处理器无法直接在物理Rank地址内写入数据,无法从物理Rank地址中读取数据,无法采用走步法检测Rank的线路是否存在短路、开路、固定逻辑等故障。
针对上述问题,本发明实施例提出一种故障检测的方法,该方法应用在中央处理器(即CPU)上,且该方法可以应用于需要检测的地址不是中央处理器能够处理的物理地址的应用场景下,如Rank的应用场景,该中央处理器采用走步法检测Rank的线路是否存在短路、开路、固定逻辑等故障。在上述应用场景下,如图1所示,该故障检测的方法具体包括以下步骤:
步骤101,中央处理器获取待检测的线路所在的Rank对应的物理Rank地址,并将该物理Rank地址转换成中央处理器能够处理的系统物理地址。
其中,在检测Rank的线路是否存在短路、开路、固定逻辑等故障时,针对待检测的线路,可以明确获知该待检测的线路所在的Rank。在一种具体应用场景中,当需要对所有Rank的线路进行故障检测时,则中央处理器获取所有Rank的分布情况,这些Rank为所有待检测的线路所在的Rank。
本发明实施例中,待检测的线路具体包括但不限于:待检测的地址线,和/或,待检测的数据线。在采用走步法检测Rank的地址线是否存在短路、开路、固定逻辑等故障时,会采用地址线走步算法,检测Rank的地址线是否存在短路、开路、固定逻辑等故障,而地址线走步算法中会包含需要检测的地址,地址线走步算法是对这些需要检测的地址进行故障检测,而这些需要检测的地址即为Rank对应的物理Rank地址。在采用走步法检测Rank的数据线是否存在短路、开路、固定逻辑等故障时,会采用数据线走步算法,检测Rank的数据线是否存在短路、开路、固定逻辑等故障,而数据线走步算法中会包含需要检测的地址,数据线走步算法是对这些需要检测的地址进行故障检测,而这些需要检测的地址即为Rank对应的物理Rank地址。在实际进行测试时,对于地址线和数据线的测试可以分别单独进行,例如仅进行地址线的检测,但对于一次完整的故障检测,则需要分别对地址线和数据线进行检测。那么,在进行检测时,可以仅测试地址线或仅测试数据线,会分别进行地址线和数据线的检测。
经过上述处理,中央处理器可以获取到待检测的线路所在的Rank对应的物理Rank地址。例如,中央处理器获取到Rank1对应的物理Rank地址为地址1-地址8,获取到Rank2对应的物理Rank地址为地址9-地址16。
本发明实施例中,在将物理Rank地址转换成中央处理器能够处理的系统物理地址的过程中,首先,根据Rank所在的位置以及该Rank的物理Rank地址,可以计算出该物理Rank地址对应的内存通道地址。之后,根据内存通道所在的位置以及该内存通道的内存通道地址,可以计算出该内存通道地址对应的系统物理地址,即将物理Rank地址转换成系统物理地址。
其中,中央处理器会配置多个预设交织规则,以配置两个预设交织规则为例。第一预设交织规则用于将系统物理地址映射到内存通道地址,第二预设交织规则用于将内存通道地址映射到物理Rank地址。基于第二预设交织规则的逆向映射过程,中央处理器可以根据Rank所在的位置以及该Rank的物理Rank地址,将物理Rank地址逆向映射到内存通道地址。基于第一预设交织规则的逆向映射过程,中央处理器可以根据内存通道所在的位置以及该内存通道的内存通道地址,将内存通道地址逆向映射到系统物理地址。
步骤102,中央处理器向本中央处理器能够处理的系统物理地址中写入数据,并从系统物理地址中读取数据,并利用向系统物理地址中写入的数据,以及从系统物理地址中读取的数据,确定待检测的线路是否发生故障。
本发明实施例中,通过将物理Rank地址转换成中央处理器能够处理的系统物理地址,使得中央处理器能够在系统物理地址中进行数据读写操作,即在系统物理地址中写入数据,并从系统物理地址中读取数据。在系统物理地址中写入数据时,相当于在系统物理地址对应的物理Rank地址中写入数据,从系统物理地址中读取数据时,相当于从系统物理地址对应的物理Rank地址中读取数据。因此,中央处理器可以针对走步算法(如地址线走步算法、数据线走步算法等)需要检测的物理Rank地址,进行数据读写操作,继而采用走步法检测Rank的线路是否存在短路、开路、固定逻辑等故障。
本发明实施例中,中央处理器向本中央处理器能够处理的系统物理地址中写入数据,并从系统物理地址中读取数据,并利用向系统物理地址中写入的数据,以及从系统物理地址中读取的数据,确定待检测的线路是否发生故障的过程,具体可以包括但不限于如下方式:当待检测的线路为待检测的地址线时,基于地址线走步算法,则中央处理器向系统物理地址中写入数据,并从系统物理地址中读取数据,并利用向系统物理地址中写入的数据,以及从系统物理地址中读取的数据,确定待检测的地址线是否发生故障。当待检测的线路为待检测的数据线时,基于数据线走步算法,则中央处理器向系统物理地址中写入数据,并从系统物理地址中读取数据,并利用向系统物理地址中写入的数据,以及从系统物理地址中读取的数据,确定待检测的数据线是否发生故障。当待检测的线路为待检测的地址线和待检测的数据线时,基于地址线走步算法,中央处理器向系统物理地址中写入数据,并从系统物理地址中读取数据,并利用向系统物理地址中写入的数据,以及从系统物理地址中读取的数据,确定待检测的地址线是否发生故障;基于数据线走步算法,中央处理器向系统物理地址中写入数据,并从系统物理地址中读取数据,并利用向系统物理地址中写入的数据,以及从系统物理地址中读取的数据,确定待检测的数据线是否发生故障。
其中,地址线走步算法具体可以包括地址线走步0算法和地址线走步1算法,数据线走步算法具体可以包括数据线走步0算法和数据线走步1算法。
如表1所示,为地址线走步算法的一种示例,表1中的各地址为地址线走步算法包含的需要检测的各物理Rank地址,基于此地址线走步算法,中央处理器向各物理Rank地址对应的各系统物理地址中写入数据,并从各系统物理地址中读取数据。通过判断从系统物理地址中读取的数据是否等于向系统物理地址中写入的数据,来判断Rank的每个地址线是否发生故障。
具体的,地址线走步算法的处理流程可以为:向地址线走步算法的基址写入数据,读取该基址的数据,如果读取的数据与写入的数据不同,则说明地址线发生故障。其中,地址线走步算法的基址,是地址线走步算法需要进行数据访问的第一个地址。如表1所示,地址线走步1算法的基址为0…000,地址线走步0算法的基址为1…111,为了方便描述,后续以地址线走步1算法为例。在表1中,向地址线走步1算法的基址0…000写入数据1…111,并读取地址线走步1算法的基址0…000的数据,并判断读取的数据是否为数据1…111,如果不是,则说明地址线发生故障。之后,确定地址线走步算法的下一个地址(将该下一个地址简称为目标地址),备份该目标地址的数据,向该目标地址写入数据,并读取基址数据,判断基址数据是否被改写,如果被改写,则说明地址线发生故障。如表1所示,地址线走步1算法的下一个目标地址为0…001,备份目标地址0…001的数据,向该目标地址0…001写入数据1…110,并读取地址线走步1算法的基址0…000的数据,并判断读取的数据是否为数据1…111,如果不是,则说明地址线发生故障。之后,还原目标地址(0…001)的数据,确定地址线走步1算法的下一个目标地址为0…010,备份目标地址0…010的数据,向该目标地址0…010写入数据1…101,并读取地址线走步1算法的基址0…000的数据,并判断读取的数据是否为数据1…111,如果不是,则说明地址线发生故障。以此类推,一直到确定地址线走步1算法的最后一个目标地址为1…000,备份目标地址1…000的数据,向该目标地址1…000写入数据0…111,并读取地址线走步1算法的基址0…000的数据,并判断读取的数据是否为数据1…111,如果不是,则说明地址线发生故障。
在上述地址线走步算法的处理流程中,地址线走步算法的基址(如0…000)、地址线走步算法的各目标地址(如0…001、0…010、1…000等),均是指物理Rank地址,中央处理器需要先将地址线走步算法的基址、各目标地址转换成对应的系统物理地址,且写入数据和读取数据的过程,均是在地址线走步算法的基址、各目标地址对应的系统物理地址中进行的。
表1
基于数据线走步算法,中央处理器获得可访问的固定数据地址(数据位宽为数据线数量),固定数据地址为数据线走步算法包含的需要检测的物理Rank地址。中央处理器向固定数据地址对应的系统物理地址中写入测试矢量数据,并从固定数据地址对应的系统物理地址中读取数据。通过判断从系统物理地址中读取的数据,是否等于向系统物理地址中写入的测试矢量数据,来判断Rank的每个数据线是否发生故障。如表2所示,为数据线走步1算法的测试矢量数据的一种示例,针对数据线走步0算法,其测试矢量数据只需要将表2中的每位数据反转即可。进一步的,针对数据线走步1算法和数据线走步0算法,数据线走步的地址为固定数据地址,通过获得可访问的固定数据地址,向该固定数据地址写入测试矢量数据,并从固定数据地址读取数据,通过判断读取的数据与写入的测试矢量数据是否相同,如果不同则表示数据线存在故障,如果相同则表示数据线不存在故障,从而判断出内存的数据线是否发生故障。其中,每个物理Rank地址对应一个固定数据地址,且不同的物理Rank地址对应的固定数据地址各不相同。
表2
|
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
Vec0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
Vec1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
Vec2 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
Vec3 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
Vec4 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
Vec5 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
Vec6 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
Vec7 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
考虑到部分内存空间(如程序的stack(堆栈)、Legacy(遗留)空间等)不能访问,当物理Rank地址转换得到的系统物理地址位于该内存空间时,需要跳过这些内存空间的系统物理地址。本发明实施例中,在中央处理器向系统物理地址中写入数据,从系统物理地址中读取数据之前,即步骤102之前,中央处理器还可以获取内存映射表,该内存映射表中包含不能访问的系统物理地址区间(即不能访问的内存空间)。如果物理Rank地址转换得到的系统物理地址位于该系统物理地址区间,则跳过对该系统物理地址的处理,即跳过向该系统物理地址中写入数据,并从该系统物理地址中读取数据的过程,不再执行步骤102。如果物理Rank地址转换得到的系统物理地址不位于该系统物理地址区间,则执行对该系统物理地址的处理,即执行向该系统物理地址中写入数据,并从该系统物理地址中读取数据的过程,即执行步骤102。
进一步的,当地址线走步算法的基址转换得到的系统物理地址位于不能访问的系统物理地址区间时,则中央处理器需要变更地址线走步算法的基址,以使变更后的基址转换得到的系统物理地址不位于不能访问的系统物理地址区间。其中,基址具体为一个物理Rank地址,且地址线走步算法的基址,是地址线走步算法需要进行数据访问的第一个物理Rank地址。
本发明实施例中,为了采用走步法检测Rank的线路是否存在短路、开路、固定逻辑等故障,会预先配置测试程序,基于该测试程序,可以完成采用走步法检测Rank的线路是否存在短路、开路、固定逻辑等故障的过程,该测试程序中将包含地址线走步算法和/或数据线走步算法、内存映射表。
为了能够简单直接地访问系统物理地址,本发明实施例中,可以将包括地址线走步算法和/或数据线走步算法、以及内存映射表的测试程序存储在UEFI(UnifiedExtensible Firmware Interface,统一可扩展固件接口)固件中。
考虑到在采用走步法检测Rank的线路是否存在短路、开路、固定逻辑等故障时,即采用测试程序检测Rank的线路是否存在短路、开路、固定逻辑等故障时,需要对大量的系统物理地址进行读写操作,即首先清除系统物理地址内的数据,然后进行读写操作。基于此,如果在对系统物理地址进行读写操作的过程中,测试程序的运行过程被其它中断程序所中断,则其它中断程序将访问被修改的系统物理地址,此时会引发系统崩溃。基于此,本发明实施例中,可以在SMI(System Management Interrupt,系统管理中断)中运行测试程序,在SMI中运行的程序不会被其它中断程序所中断,将一直到测试程序被执行完成,才可以执行其它中断程序,因此,可以避免测试程序的运行过程被其它中断程序所中断,避免引发系统崩溃。
基于内存的镜像功能和冗余功能,会将内存分为两个部分,一个内存部分是另一个内存部分的镜像或冗余,用来创建内存的冗余副本,在此情况下,内存不具有唯一性,系统物理地址不具有唯一性。基于此,本发明实施例中,为了保证内存的唯一性以及系统物理地址的唯一性,在获取待检测的线路所在的Rank对应的物理Rank地址之前,即执行步骤101之前,中央处理器关闭内存的镜像功能和冗余功能。进一步的,在利用向系统物理地址中写入的数据,以及从系统物理地址中读取的数据,确定待检测的线路是否发生故障之后,即执行步骤102之后,中央处理器恢复内存的镜像功能和冗余功能。
本发明实施例中,为了保证中央处理器的每次读写操作,都能够直接访问到Rank的物理Rank地址,而不会访问到中央处理器的Cache(高速缓存)中,则中央处理器在采用走步法检测Rank的线路是否存在短路、开路、固定逻辑等故障的过程中,需要关闭中央处理器的Cache。
基于上述技术方案,本发明实施例中,在需要检测的地址不是中央处理器能够处理的物理地址的应用场景(如Rank的应用场景)下,中央处理器通过将待检测的线路对应的地址转换为本中央处理器能够处理的物理地址,从而使得中央处理器能够采用走步法检测线路是否存在短路、开路、固定逻辑等故障,提供更高的故障定位精度,并减少故障检测的时间。
本发明提出的故障检测的装置,可以应用在任意设备的中央处理器中,该故障检测的装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的设备的中央处理器,将非易失性存储器中对应的计算机程序指令读取到本中央处理器中运行形成的。从硬件层面而言,如图2所示,为本发明提出的故障检测的装置所在的设备的一种硬件结构图,除了图2所示的中央处理器、网络接口、内存以及非易失性存储器外,该设备还可以包括其他硬件,如负责处理报文的转发芯片等;从硬件结构上来讲,该设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种故障检测的装置,所述故障检测的装置应用在中央处理器中,如图3所示,所述故障检测的装置具体包括:
获取模块11,用于获取待检测的线路所在的Rank对应的物理Rank地址;转换模块12,用于将所述物理Rank地址转换成中央处理器能够处理的系统物理地址;检测模块13,用于向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,并利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障。
所述待检测的线路具体包括:待检测的地址线;所述检测模块13,具体用于基于地址线走步算法,向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,并利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的地址线是否发生故障。
所述待检测的线路具体包括:待检测的数据线;所述检测模块13,具体用于基于数据线走步算法,向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据,并利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的数据线是否发生故障。
所述获取模块11,进一步用于在所述检测模块13向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据之前,获取内存映射表,其中,所述内存映射表中包含不能访问的系统物理地址区间;
如果所述转换模块12得到的所述系统物理地址位于所述系统物理地址区间,则由所述检测模块13跳过向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据的过程;如果所述转换模块12得到的所述系统物理地址不位于所述系统物理地址区间,则由所述检测模块13执行向所述系统物理地址中写入数据,并从所述系统物理地址中读取数据的过程。
本发明实施例中,将包含地址线走步算法、数据线走步算法、以及内存映射表的测试程序,存储在统一可扩展固件接口UEFI固件中,并在系统管理中断SMI中运行所述测试程序。
本发明实施例中,所述故障检测的装置还包括:处理模块14,用于在所述获取模块获取待检测的线路所在的Rank对应的物理Rank地址之前,关闭内存的镜像功能和冗余功能;在所述检测模块13利用向所述系统物理地址中写入的数据,以及从所述系统物理地址中读取的数据,确定所述待检测的线路是否发生故障之后,恢复内存的镜像功能和冗余功能。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。