具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种数据交织方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的数据交织方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取原数据;
步骤S104,获取用于对原数据进行交织的交织参数,其中,交织参数包括质数矩阵,质数矩阵的矩阵元素均为质数;
步骤S106,根据质数矩阵对原数据进行交织处理得出交织数据。
通过上述步骤,通过获取原数据,以及用于对原数据进行交织的交织参数,并根据该交织参数中的质数矩阵对原数据进行交织,进而可以通过质数矩阵得出具有较高交织效果的交织数据,即得出打乱效果较强的交织数据,并且对于不同的交织器,通过使用不同的交织参数,即可使各交织器具有较强的独立性,解决了并行级联编码中现有交织技术无法在保证交织器生成复杂度的同时保证交织器随机性的技术问题。
另外,在对原数据进行交织的过程中,仅需获取包括质数矩阵的交织参数,而无需获取用于表示交织对应的置换关系的交织表,所以仅需存储交织参数即可,而无需存储交织表,并且由于交织参数所占用的存储空间远远小于交织表所占用的空间,所以通过上述方案可以在保证交织数据的独立性的基础上,减小交织所需占用的空间,解决了在现有交织器在保证各交织器独立性的情况下,无法减少交织器所占用的存储空间的技术问题。
在本申请的实施例中,质数矩阵是指所有矩阵元素均为质数的矩阵。
可选地,可以通过交织器来执行上述数据交织方法。
可选地,本发明提供的数据交织方法可以应用在并行级联编码结构中,交织器采用上述数据交织方法生成交织数据,然后再对生成的交织数据进行并行级联编码。
在步骤S102中,获取的原数据可以是一段信息序列,原数据中包括多个元素。
在步骤S104中,交织参数可以预先存储在数据库中,在获取到原数据,且需要对原数据进行交织的情况下,从数据库中获取原数据对应的交织参数。
可选地,交织参数中包括预先输入的设置参数。
可选地,可以通过交织器来执行上述数据交织方法。
可选地,可以通过预先输入的设置参数控制交织器对原数据进行交织。
可选地,上述数据交织方法可以应用在发送端,通过对原数据交织,进而发送交织得出的交织数据,从而可以增强数据传输的准确性。
可选地,可以多个交织器分别根据质数矩阵对原数据进行交织处理,得出与每个交织器对应的交织数据。
作为一种可选的实施例,获取用于对原数据进行交织的交织参数包括:读取交织参数中的预设参数,预设参数包括:交织器的个数,交织深度,以及交织器对应的起始位置,L>>B,其中,L为任意两个交织器起始位置之间的间距,B为原数据中的相邻元素交织后所要求的最小距离;根据预设参数确定质数矩阵,其中,交织参数包括质数矩阵,质数矩阵的行数与交织器的个数相同,质数矩阵的列数为正整数,质数矩阵中每行元素之和与交织深度互素,G>>B,其中,G为质数矩阵中矩阵元素的最小值。
采用本发明上述实施例,在需要对原数据进行交织的情况下,可以读取预先存储的交织参数中的预设参数,确定对原数据进行交织所需的交织器的个数,交织深度,以及交织器对应的起始位置,进而根据交织器的个数,交织深度确定对原数据进行交织所需的质数矩阵,从而可以通过交织器的个数,交织深度,以及交织器对应的起始位置和质数矩阵对原数据进行交织,得到具有较高独立性的交织数据。
需要说明的是,L>>B,表示任意两个交织器起始位置之间的间距远大于原数据中的相邻元素交织后所要求的最小距离。
需要说明的是,G>>B,表示质数矩阵中矩阵元素的最小值远大于原数据中的相邻元素交织后所要求的最小距离。
可选地,交织器的个数可以是预先确定的固定个数。
可选地,在交织器的个数为固定个数的情况下,可以预先存储与该交织器的个数对应的质数矩阵。
可选地,交织器的个数可以根据实际使用需求设置。
可选地,在数据库中可以预先存储一个N*A矩阵,进而根据交织器的个数K,在N*A矩阵中选取出一个K*N矩阵。
可选地,交织深度和原数据中的相邻元素交织后所要求的最小距离可以根据原数据确定。
作为一种可选的实施例,根据质数矩阵对原数据进行交织处理得出交织数据包括:根据质数矩阵中的每行元素对原数据进行交织得到与每行元素对应的交织数据。
采用本发明上述实施例,通过质数矩阵中的每行元素对原数据进行交织得到每行元素对应的交织数据,可以生成多个互相独立的交织数据。
可选地,交织器可以是多个,每个交织器与质数矩阵中的每行元素对应,分别通过质数矩阵中的每行元素与原数据交织,可以生成多个互相独立的交织数据。
可选地,在上述数据交织方法的交织器应用在级联编码中的情况下,可以根据编码方式来确定交织深度和交织后所要求的最小距离。
可选地,在采用级联的Zigzag编码的情况下,交织器在获取原数据之后,还可以根据交织器的个数和原数据所占用的比特数确定交织深度;根据原数据所占用的比特数确定原数据中的相邻元素交织后所要求的最小距离。
上述实施例,在获取原数据之后,可以根据原数据所占用的比特数,以及预先确定的交织器的个数来确定交织深度,以及相邻原数据交织后所要求的最小距离,从而可以准确确定原数据所对应的交织参数,使原数据能够准确根据通过上述方案得出的交织参数,得出具有较高独立性的交织数据。
可选地,在采用级联的Zigzag编码的情况下,可以确定交织深度为交织器的个数与原数据所占用的比特数的乘积;还可以确定原数据所占用的比特数与原数据中的相邻元素交织后所要求的最小距离相同。
上述实施例,根据交织器的个数与原数据所占用的比特数的乘积确定交织深度,以及确定原数据所占用的比特数与原数据中的相邻元素交织后所要求的最小距离相同;可以准确得出符合对原数据进行交织所需求的交织参数,使原数据能够根据准确的交织参数进行交织。
作为一种可选的实施例,在根据质数矩阵对原数据进行交织处理得到交织数据之后,该实施例还可以包括:对交织数据进行级联编码得出编码数据。
采用本发明上述实施例,在得到交织数据之后,可以对得出的交织数据进行级联编码得出编码数据,从而通过编码数据进行传输,增强数据传输的灵活性。
可选地,在得到交织数据之后,可以通过级联Zigzag编码、Turbo卷积码、Turbo乘积码等级联方式,对交织数据进行级联编码。
作为一种可选的实施例,对交织数据进行级联编码得出编码数据包括:对交织数据进行级联编码得到校验向量;根据校验向量和原数据生成编码数据。
采用本发明上述实施例,对交织数据进行级联编码得到校验向量,得出校验向量与原数据生成的编码数据,从而在数据传输的过程中,使用该编码数据可以加强纠错能力,保证数据传输的准确。
本发明还提供了一种优选实施例,该优选实施例提供了一种交织器的设计方法。
本发明提出了一种交织器设计方法,此交织方法为一种规律的交织器生成方法,可以较好的保证了在级联编码中的各级交织器拥有较好的独立性,保证级联编码的性能。并且,本发明所提供的交织器设计简单,实现复杂度低。此交织器特别适用于级联Zigzag编码中,除此之外还可应用于Turbo卷积码、Turbo乘积码等级联方式的编码中。
本发明解决了传统随机交织器在工程应用中,部署要求较高,需要占用较大的存储空间来存储交织的问题。同时,本发明所提供的交织器生成方法简单,在接收和发送端所需进行的存储量极小。且通过参数配置所生成的不同交织器之间的独立性较好,可较好的匹配级联编码。
本发明中所设计的交织器生成方法如下:
1)在发送端和接收端分别存储一个大小为K×A(A≥1)的质数矩阵C,K表示所需生成的交织器个数,其中,质数矩阵C中的元素便是为C(i,j),(1≤i≤K,1≤j≤A),质数矩阵C的最小数要求远大于相邻两个元素交织后所要求的最小距离,且对于各k行中的元素之和也必须与交织深度N互素。
2)选取K个交织器的起始位置s(1),s(2),…,s(K),每个起始位置之间的间距需要远大于原数据中相邻两个元素交织后所要求的最小距离。
3)逐次对K个交织器进行生成,设第k(1≤k≤K)个交织器交织后与原序列的对应位置关系分别为tk(1),tk(2),…,tk(K),则可得关系:
其中,m(i),(1≤i≤N)的取值在质数矩阵C的第k行中的数据循环选取,若遇到所生成的tk(i),1≤i≤N对应数值已经生成过,则从C的第k行中循环选取下一个数值继续累加至m(i)即可;并且,在此mod运算中,当余数为0时,即取tk(i)=N。
本发明上述实施例生成的交织器根据规则产生,同时在工程实现中,相比于随机交织器,占用的空间存储较小。另一方面,此方法所产生的交织器可被视作为一种伪随机的生成方式,具有较好的不同交织器之间的独立性。
可选地,本发明提供的交织器可以应用在级联的“之”字形编码(Zigzag编码)中。
可选地,Zigzag编码,是一种采用“之”形结构构造的奇偶校验码。
图2是根据本发明实施例的一种可选的Zigzag编码结构的示意图,如图2所示,d(i,j),i=1,2,…,I;j=1,2,…,J表示信息比特,而p(i),i=1,2,…,I则表示校验比特,信息比特和校验比特组合“之”字形排列,其中,每个之字形拐点为校验比特,校验比特按照由上到下的排列顺序为p(i),i=1,2,…,I,信息比特将被分为I个组,每组信息比特d(i,j)中的i值相同。
其中,校验比特可以根据如下关系式计算得到:
然而单一的Zigzag编码所要求的最小距离为2,因此,其纠错能力较弱。通常Zigzag编码可以配合级联结构进行使用,而在级联结构中,Zigzag编码有着非常优异的性能。级联结构对信道编码的构造提供了极大的灵活性,现在通信领域中有着广泛的应用。
图3是根据本发明实施例的一种可选的多维度的并行级联Zigzag编码结构的示意图,如图3所示,每个交织器与Zigzag编码器相连。其中,级联结构的Zigzag编码可通过多维度的并行级联方式进行构造,在此结构中,一个K维级联结构的Zigzag编码可以有参数(I,J,K)进行描述。
可选地,信息序列可以排列为一个I×J的信息矩阵D,而后此信息矩阵经过不同的K个交织器后再进行Zigzag编码,将编码后产生的校验比特提取出来,组成校验向量P1,P2,…,PK,而后,完成级联编码后的信息矩阵与校验向量可组成一个新的码字矩阵。
图4是根据本发明实施例的一种可选的新的码字矩阵的示意图,如图4所示,新的码字矩阵中包含原始信息序列的信息矩阵D,以及信息矩阵D通过多个交织器以及Zigzag编码所得出的多个校验向量P1,P2,…,PK。
而在译码端,级联的Zigzag编码通常采用迭代译码的方式,而迭代译码的核心思想即为通过低相关度的互信息交换来提升译码码字的后验概率。
需要说明的是,互信息,英文名称为Mutual Information,是信息论里一种有用的信息度量,可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性。
故而,在级联的Zigzag码中,交织器的设计成为了非常关键的一个环节。通常,使用随机交织器可以达到比较好的效果,使K维级联中的各个交织器保持良好的独立性。然而,在实际应用中,若在发送和接收端分别进行相匹配的随机交织器的生成,则对系统随机种子有非常高的同步要求;若对随机交织对应的置换关系进行事先的存储,则对存储空间需求较大,浪费资源。因此,在实际工程应用中,希望可以由一个简单的、低复杂度的方式进行一个交织器的生成,同时对于整体的系统性能又有一个保障。
本发明提供的交织器可较好的匹配级联Zigzag编码对于交织器的需求,可通过配置K×A(A≥1)的质数矩阵C来进行级联Zigzag编码中K个交织器的生成。其中,交织深度N=I×J,相邻两个元素交织后的最小距离可取为J。
本发明提供的交织器在级联的Zigzag编码中相关的示例如下:
选取参数为(8,2,2)的级联Zigzag编码码,即I=8,J=2,K=2,其中,交织器预先存储的质数矩阵设为
2个交织器的起始位置分别选取为5和10。
其中,第一个交织器产生过程为:
t1(1)=5;t1(9)=(t1(8)+11+5+7)mod(16)=13;
t1(2)=(t1(1)+5)mod(16)=10;t1(10)=(t1(9)+11+5+7)mod(16)=4;
t1(3)=(t1(2)+7)mod(16)=1;t1(11)=(t1(10)+11+5+7)mod(16)=11;
t1(4)=(t1(3)+11)mod(16)=12;t1(12)=(t1(11)+11+5+7)mod(16)=2;
t1(5)=(t1(4)+5+7)mod(16)=8;t1(13)=(t1(12)+11+5+7)mod(16)=9;
t1(6)=(t1(5)+11)mod(16)=3;t1(14)=(t1(13)+11+5+7)mod(16)=16;
t1(7)=(t1(6)+5+7)mod(16)=15;t1(15)=(t1(14)+11)mod(16)=7;
t1(8)=(t1(7)+11+5+7)mod(16)=6;t1(16)=(t1(15)+5+7+11)mod(16)=14。
同理,第二个交织器产生过程为:
t2(1)=10;t2(9)=(t2(8)+3+7)mod(16)=9;
t2(2)=(t2(1)+3)mod(16)=13;t2(10)=(t2(9)+13)mod(16)=6;
t2(3)=(t2(2)+7)mod(16)=4;t2(11)=(t2(10)+3+7)mod(16)=16;
t2(4)=(t2(3)+13)mod(16)=1;t2(12)=(t2(11)+13+3+7)mod(16)=7;
t2(5)=(t2(4)+3+7)mod(16)=11;t2(13)=(t2(12)+13+3+7)mod(16)=14;
t2(6)=(t2(5)+13)mod(16)=8;t2(14)=(t2(13)+13+3+7)mod(16)=5;
t2(7)=(t2(6)+3+7)mod(16)=2;t2(15)=(t2(14)+13+3+7)mod(16)=12;
t2(8)=(t2(7)+13)mod(16)=15;t2(16)=(t2(15)+13+3+7)mod(16)=3。
此时交织器均已完成生成,此时第一个交织器与原数据的对应关系为:
[5,10,1,12,8,3,15,6,13,4,11,2,9,16,7,14]。
第二个交织器与原数据的对应关系为:
[10,13,4,1,11,8,2,15,9,6,16,7,14,5,12,3]。
当采用传统的随机方案时,随机交织器在级联编码的主要应用步骤为:
1.确定所需生成的随机交织器个数。
2.进行随机交织器生成,有两种方法可选,一为每次进行随机生成(此方法在工程应用中较难实现,通常不在工程应用中使用),二为实现存储相应的随机交织表,根据所存储的交织表进行交织。
3.发送端根据相应的交织规则与要求进行交织。
4.接收端根据相应的交织规则与要求进行解交织。
例如同样采取相同的案例,对本方案中的交织器与随机交织器进行对比。同样选取参数为(8,2,2)的级联Zigzag码,即I=8,J=2,K=2为例。对于随机交织器而言,需生成两个交织器,交织长度为16,则此时,则需事先存储两个长度为16的交织表,其所需存储空间为2×16=32个单位的存储空间。而本方案中的交织器仅需存储预先存储质数矩阵与交织器起始位置,仅需2×3+2=8个单位的存储空间。
本方案中交织数据长度还较短,实际应用中,交织数据长度将远长于此案例中的长度,此时本方案中交织器的优势也将更加明显。
本发明提供的方案,解决了传统随机交织器在工程应用中,部署要求较高,需要进行交织表存储空间较大的问题。同时,此交织器生成方法简单,在接收和发送端所需进行的存储量极小。且通过参数配置所生成的不同交织器之间的独立性较好,可较好的匹配级联编码。
根据多维级联码的特性,例如往往需要多维度级联的级联Zigzag编码,此时,需要各个交织器之间保证较好的独立性,同时最好有相同的生成规则与方法,通过改变部分参数来形成不同的交织器,一次来便于工程实现。
本发明可较好的应用于各类实际有线与无线通信系统中,包括光纤通信、移动通信、卫星通信、微波视距通信、散射通信、大气层光通信、红外通信、水生通信等各类通信系统中。
图5是根据本发明实施例的一种可选的交织数据解交织方法的流程图,如图5所示,该方法包括如下步骤:
步骤S502,获取交织数据;
步骤S504,获取用于对交织数据进行解交织的解交织参数,其中,解交织参数包括质数矩阵,质数矩阵的矩阵元素均为质数;
步骤S506,根据质数矩阵对交织数据进行解交织处理得出原数据。
通过上述步骤,在对交织数据进行解交织的过程中,通过获取用于对交织数据进行解交织的解交织参数,并根据解交织参数中的质数矩阵对原数据进行解交织,从而可以对独立性较强的多个交织器中的具有较好交织效果的交织数据准确进行解交织,进而准确得出交织数据对应的原数据。
另外,在对交织数据进行解交织的过程中,仅需获取包括质数矩阵的解交织参数,而无需获取用于表示交织对应的置换关系的交织表,所以仅需存储解交织参数即可,而无需存储交织表,并且由于解交织参数所占用的存储空间远远小于交织表所占用的空间,所以通过上述方案可以在对独立性较强的交织数据进行解交织的情况下,减少解交织所需占用的空间。
需要说明的是,解交织参数,可以是用于根据原数据得出交织数据的交织参数,解交织参数中的质数矩阵可以是交织参数中的交织矩阵。
可选地,上述交织数据解交织方法可以应用在接收端。
可选地,上述交织数据解交织方法可以应用在译码端,通过在译码端存储与编码端对应的解交织参数,进而在译码端获取到交织数据的情况下,可以通过接交织参数对交织数据进行解交织,从而还原出在编码端进行交织前的原数据。
根据本发明的另一方面,本发明实施例还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述数据交织方法,以及交织数据解交织方法。
根据本发明的另一方面,本发明实施例还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述数据交织方法,以及交织数据解交织方法。
根据本发明实施例,还提供了一种数据交织装置实施例,需要说明的是,该数据交织装置可以用于执行本发明实施例中的数据交织方法,本发明实施例中的数据交织方法可以在该数据交织装置中执行。
图6是根据本发明实施例的一种可选的数据交织装置的示意图,如图6所示,该装置可以包括:第一获取单元61,用于获取原数据;第二获取单元63,用于获取用于对原数据进行交织的交织参数,其中,交织参数包括质数矩阵,质数矩阵的矩阵元素均为质数;交织单元65,用于根据质数矩阵对原数据进行交织处理得出交织数据。
需要说明的是,该实施例中的第一获取单元61可以用于执行本申请实施例中的步骤S102,该实施例中的第二获取单元63可以用于执行本申请实施例中的步骤S104,该实施例中的交织单元65可以用于执行本申请实施例中的步骤S106。上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。
根据本发明上述实施例,通过获取原数据,以及用于对原数据进行交织的交织参数,并根据该交织参数中的质数矩阵对原数据进行交织,进而可以通过质数矩阵得出具有较高交织效果的交织数据,即得出打乱效果较强的交织数据,并且对于不同的交织器,通过使用不同的交织参数,即可使各交织器具有较强的独立性,解决了并行级联编码中现有交织技术无法在保证交织器生成复杂度的同时保证交织器随机性的技术问题。
作为一种可选的实施例,第二获取单元包括:读取模块,用于读取交织参数中的预设参数,预设参数包括:交织器的个数,交织深度,以及交织器对应的起始位置,L>>B,其中,L为任意两个交织器起始位置之间的间距,B为原数据中的相邻元素交织后所要求的最小距离;确定模块,用于根据预设参数确定质数矩阵,其中,交织参数包括质数矩阵,质数矩阵的行数与交织器的个数相同,质数矩阵的列数为正整数,质数矩阵中每行元素之和与交织深度互素,G>>B,其中,G为质数矩阵中矩阵元素的最小值。
作为一种可选的实施例,交织单元包括:交织模块,用于根据质数矩阵中的每行元素对原数据交织,得到与每行元素对应的交织数据。
作为一种可选的实施例,该实施例还包括:编码单元,用于在根据质数矩阵对原数据进行交织处理得到交织数据之后,对交织数据进行级联编码得出编码数据。
作为一种可选的实施例,编码单元包括:编码模块,用于对交织数据进行级联编码得到校验向量;生成模块,用于根据校验向量和原数据生成编码数据。
根据本发明实施例,还提供了一种交织数据解交织装置实施例,需要说明的是,该交织数据解交织装置可以用于执行本发明实施例中的交织数据解交织方法,本发明实施例中的交织数据解交织方法可以在该交织数据解交织装置中执行。
图7是根据本发明实施例的一种可选的交织数据解交织装置的示意图,如图7所示,该装置可以包括:第三获取单元71,用于获取交织数据;第四获取单元73,用于获取用于对交织数据进行解交织的解交织参数,其中,解交织参数包括质数矩阵,质数矩阵的矩阵元素均为质数;解交织单元75,用于根据质数矩阵对交织数据进行解交织处理得出原数据。
需要说明的是,该实施例中的第三获取单元71可以用于执行本申请实施例中的步骤S502,该实施例中的第四获取单元73可以用于执行本申请实施例中的步骤S504,该实施例中的解交织单元75可以用于执行本申请实施例中的步骤S506。上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。
根据本发明上述实施例,在对交织数据进行解交织的过程中,通过获取用于对交织数据进行解交织的解交织参数,并根据解交织参数中的质数矩阵对原数据进行解交织,从而可以对独立性较强的多个交织器中的具有较好交织效果的交织数据准确进行解交织,进而准确得出交织数据对应的原数据。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。