本发明涉及数据完整性校验技术领域,尤其涉及一种文本文件的完整性校验方法、系统、设备和介质。
背景技术
在数据传输过程中,数据极其容易受到网络故障或者不法分子攻击而出错,导致数据泄露,造成不必要的损失。
为了保证数据传输的安全可靠性,现有技术中通常是采用信息-摘要算法提取数据文件对应的数据摘要进行数据完整性的校验。
但在数据传输和处理的过程中,数据文件通常是存储在服务器上,获取其数据摘要一般需要借助专业程序工具。当需要传输的数据量较多时,采用上述方法生成数据摘要所需要的运算量较大,过程较为复杂,进而导致数据完整性校验的成本较高。
技术实现要素:
本发明提供了一种文本文件的完整性校验方法、系统、设备和介质,解决了现有的数据完整性校验方法所需要的运算量较大,过程较为复杂,进而导致数据完整性校验成本较高的技术问题。
本发明第一方面提供的一种文本文件的完整性校验方法,应用于预设的数据发送端,所述数据发送端与多个数据接收端通信连接,所述方法包括:
响应任一个所述数据接收端发送的数据请求,获取文本文件;
对所述文本文件内的每个发送文本分别进行字节转换,得到多个字节数据;
逐个采用所述字节数据和预设校验初值执行异或操作,生成目标校验码;
采用所述目标校验码结合所述文本文件内的文本行数,构建校验文件;
发送所述校验文件和所述文本文件至所述数据请求对应的数据接收端;所述数据接收端用于根据解析所述校验文件生成的解析结果,判断接收到的文本文件是否完整。
可选地,所述校验初值包括第一初值;所述逐个采用所述字节数据和预设校验初值进行异或操作,生成目标校验码的步骤,包括:
采用所述字节数据与所述第一初值的高八位执行异或操作,得到第一中间校验码;
根据对所述第一中间校验码的最高位判断结果,对所述第一中间校验码执行移位操作,和/或,异或操作,生成第二中间校验码;
采用所述第二中间校验码更新所述第一初值,跳转执行所述采用所述字节数据与所述第一初值的高八位执行异或操作,得到第一中间校验码的步骤;
将最后一个所述字节数据对应的第二中间校验码确定为目标校验码。
可选地,所述校验初值还包括第二初值;所述根据对所述第一中间校验码的最高位判断结果,对所述第一中间校验码执行移位操作,和/或,异或操作,生成第二中间校验码的步骤,包括:
判断所述第一中间校验码的最高位是否为零;
若是所述第一中间校验码的最高位为零,则对所述第一中间校验码左移一位后,与所述第二初值执行异或操作,生成计算中校验码;
若是所述第一中间校验码的最高位为非零,则对所述第一中间校验码左移一位,得到计算中校验码;
将所述第一中间校验码更新为所述计算中校验码,跳转执行所述判断所述第一中间校验码的最高位是否为零的步骤,直至跳转次数达到预定阈值,采用当前时刻的所述计算中校验码作为第二中间校验码。
可选地,所述数据接收端具体用于:
解析所述校验文件,得到所述目标校验码和所述文本行数;
读取接收到的文本文件,得到对应的接收文本行数;
对所述接收到的文本文件内的每个接收文本分别进行字节转换,得到多个接收字节数据;
逐个采用所述接收字节数据和所述校验初值执行异或操作,生成接收校验码;
比对所述目标校验码与所述接收校验码;
比对所述文本行数与所述接收文本行数;
若所述目标校验码与所述接收校验码相同,且所述文本行数与所述接收文本行数相同,则判定所述接收到的文本文件完整;
若所述目标校验码与所述接收校验码不相同,或所述文本行数与所述接收文本行数不相同,则判定所述接收到的文本文件不完整。
本发明第二方面提供了一种文本文件的完整性校验系统,包括数据发送端和数据接收端,所述数据发送端与多个数据接收端通信连接;
所述数据发送端,包括:
文本文件获取模块,用于响应任一个所述数据接收端发送的数据请求,获取文本文件;
字节数据转换模块,用于对所述文本文件内的每个发送文本分别进行字节转换,得到多个字节数据;
目标校验码生成模块,用于逐个采用所述字节数据和预设校验初值执行异或操作,生成目标校验码;
校验文件构建模块,用于采用所述目标校验码结合所述文本文件内的文本行数,构建校验文件;
文件发送模块,用于发送所述校验文件和所述文本文件至所述数据请求对应的数据接收端;
所述数据接收端,包括:
完整性校验模块,用于根据解析所述校验文件生成的解析结果,判断接收到的文本文件是否完整。
可选地,所述目标校验码生成模块包括:
第一中间校验码生成子模块,用于采用所述字节数据与所述第一初值的高八位执行异或操作,得到第一中间校验码;
第二中间校验码生成子模块,用于根据对所述第一中间校验码的最高位判断结果,对所述第一中间校验码执行移位操作,和/或,异或操作,生成第二中间校验码;
第一跳转子模块,用于采用所述第二中间校验码更新所述第一初值,跳转执行所述采用所述字节数据与所述第一初值的高八位执行异或操作,得到第一中间校验码的步骤;
目标校验码确定子模块,用于将最后一个所述字节数据对应的第二中间校验码确定为目标校验码。
可选地,所述校验初值还包括第二初值;所述第二中间校验码生成子模块具体用于:
判断所述第一中间校验码的最高位是否为零;
若是所述第一中间校验码的最高位为零,则对所述第一中间校验码左移一位后,与所述第二初值执行异或操作,生成计算中校验码;
若是所述第一中间校验码的最高位为非零,则对所述第一中间校验码左移一位,得到计算中校验码;
将所述第一中间校验码更新为所述计算中校验码,跳转执行所述判断所述第一中间校验码的最高位是否为零的步骤,直至跳转次数达到预定阈值,采用当前时刻的所述计算中校验码作为第二中间校验码。
可选地,所述完整性校验模块包括:
文件解析子模块,用于解析所述校验文件,得到所述目标校验码和所述文本行数;
接收文本行数读取子模块,用于读取接收到的文本文件,得到对应的接收文本行数;
字节转换子模块,用于对所述接收到的文本文件内的每个接收文本分别进行字节转换,得到多个接收字节数据;
接收校验码生成子模块,用于逐个采用所述接收字节数据和所述校验初值执行异或操作,生成接收校验码;
校验码比对子模块,用于比对所述目标校验码与所述接收校验码;
行数比对子模块,用于比对所述文本行数与所述接收文本行数;
第一完整性判定子模块,用于若所述目标校验码与所述接收校验码相同,且所述文本行数与所述接收文本行数相同,则判定所述接收到的文本文件完整;
第二完整性判定子模块,用于若所述目标校验码与所述接收校验码不相同,或所述文本行数与所述接收文本行数不相同,则判定所述接收到的文本文件不完整。
本发明第三方面提供了一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如本发明第一方面任一项所述的文本文件的完整性校验方法的步骤。
本发明第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现如本发明第一方面任一项所述的文本文件的完整性校验方法。
从以上技术方案可以看出,本发明具有以下优点:
本发明通过数据发送端响应任一个数据接收端发送的数据请求,获取文本文件,并将文本文件内的每个发送文本转换为字节数据,逐个采用字节数据和预设的校验初值执行异或操作,以生成目标校验码;采用目标校验码结合文本文件对应的文本行数构建校验文件;通过数据发送端发送校验文件和文本文件到数据请求所对应的数据接收端,通过数据接收端依据校验文件的解析结果获取到目标校验码和文本行数,并与本地计算的接收校验码和接收文本行数进行比较,以确定接收到的文本文件是否完整,从而通过减少校验码所占用的空间与存储的方式,降低文本文件的完整性校验成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例一提供的一种文本文件的完整性校验方法的步骤流程图;
图2为本发明实施例二提供的一种文本文件的完整性校验方法的步骤流程图;
图3为本发明实施例中的一种校验文件的部分内容示意图;
图4为本发明实施例提供的一种文本文件的完整性校验系统的结构框图。
具体实施方式
本发明实施例提供了一种文本文件的完整性校验方法、系统、设备和介质,用于解决现有的数据完整性校验方法所需要的运算量较大,过程较为复杂,进而导致数据完整性校验成本较高的技术问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例一提供的一种文本文件的完整性校验方法的步骤流程图。
本发明提供的一种文本文件的完整性校验方法,应用于预设的数据发送端,数据发送端与多个数据接收端通信连接,方法包括以下步骤:
步骤101,响应任一个数据接收端发送的数据请求,获取文本文件;
本发明实施例中的文本文件指的是文件后缀为.txt的数据文件,在文本文件中包括数据请求所需求的发送文本,每个发送文本均有两个字节组成,每个字节包括八个比特。
在本发明实施例中,数据发送端可以同时与多个数据接收端通信连接,当接收到任一个数据接收端发送的数据请求时,表明该数据接收端需要获取文本文件,此时数据发送端可以从内置数据库或联网查找到对应的文本文件,获取该文本文件,以提供完整性校验的数据基础。
步骤102,对文本文件内的每个发送文本分别进行字节转换,得到多个字节数据;
当数据发送端获取到文本文件后,可以从文本文件内提取到多个发送文本,通过数据发送端分别对每个发送文本进行字节转换,以字节数据的形式表示各个发送文本。
其中,每个字节数据为发送文本所对应的一个字节。
步骤103,逐个采用字节数据和预设校验初值执行异或操作,生成目标校验码;
在本发明实施例中的校验初值包括第一初值和第二初值,其中第一初值可以为0xfffe,第二初值可以为0xa002,或是根据数据发送端与数据接收端的协商结果所确定的其他16进制码,本发明实施例对此不作限制。
在获取到各个发送文本所对应的字节数据后,采用首个字节数据和预设的校验初值执行异或操作,得到中间的校验码后,以此更新校验初值继续与下一个字节数据执行异或操作,直至全部字节数据处理完毕,以当前时刻的校验码作为目标校验码。
步骤104,采用目标校验码结合文本文件内的文本行数,构建校验文件;
在本发明实施例中,在数据发送端依据文本文件内的文本生成目标校验码后,读取文本文件以获取到对应的文本行数,采用目标校验码和文本行数构建校验文件,完成文本文件发送前的准备。
需要说明的是,文本行数可以通过终端例如手机、电脑等内置的文本工具进行读取。
步骤105,发送校验文件和文本文件至数据请求对应的数据接收端;数据接收端用于根据解析校验文件生成的解析结果,判断接收到的文本文件是否完整。
在本发明实施例中,在数据发送端生成校验文件后,可以同时返回校验文件和文本文件至数据请求对应的数据接收端,当数据接收端接收到该校验文件和文本文件后,可以对校验文件进行解析,以获取到其中的目标校验码和文本行数;为验证文本文件的数据完整性,数据接收端可以在本地计算文本文件所对应的接收校验码,并采用文本工具读取文本文件的接收文本行数,再通过比对接收校验码和目标校验码,以及比对接收文本行数和文本行数,以比对结果判断接收到的文本文件是否完整。
在本发明实施例中,通过数据发送端响应任一个数据接收端发送的数据请求,获取文本文件,并将文本文件内的每个发送文本转换为字节数据,逐个采用字节数据和预设的校验初值执行异或操作,以生成目标校验码;采用目标校验码结合文本文件对应的文本行数构建校验文件;通过数据发送端发送校验文件和文本文件到数据请求所对应的数据接收端,通过数据接收端依据校验文件的解析结果获取到目标校验码和文本行数,并与本地计算的接收校验码和接收文本行数进行比较,以确定接收到的文本文件是否完整,从而通过减少校验码所占用的空间与存储的方式,降低文本文件的完整性校验成本。
请参阅图2,图2为本发明实施例二提供的一种文本文件的完整性校验方法的步骤流程图。
本发明提供的一种文本文件的完整性校验方法,应用于预设的数据发送端,数据发送端与多个数据接收端通信连接,校验初值包括第一初值,方法包括以下步骤:
步骤201,响应任一个数据接收端发送的数据请求,获取文本文件;
步骤202,对文本文件内的每个发送文本分别进行字节转换,得到多个字节数据;
在本发明实施例中,步骤201-202的具体实施过程与步骤101-102类似,在此不再赘述。
需要说明的是,对发送文本进行字节转换的方式可以有多种,例如ANSI,Unicode,Unicode big endian和UTF-8等编码方式。
例如,ANSI:文件的编码就是两个字节“D1 CF”,这正是“严”的GB2312编码,这也暗示GB2312是采用大头方式存储的;Unicode:编码是四个字节“FF FE 25 4E”,其中“FF FE”表明是小头方式存储,真正的编码是4E25;Unicode big endian:编码是四个字节“FE FF 4E 25”,其中“FE FF”表明是大头方式存储;UTF-8:编码是六个字节“EF BB BF E4 B8 A5”,前三个字节“EF BB BF”表示这是UTF-8编码,后三个“E4B8A5”就是“严”的具体编码,它的存储顺序与编码顺序是一致的。
步骤203,采用字节数据与第一初值的高八位执行异或操作,得到第一中间校验码;
在本发明实施例中的校验初值包括第一初值和第二初值,其中第一初值可以为0xfffe,第二初值可以为0xa002,或是根据数据发送端与数据接收端的协商结果所确定的其他16进制码,本发明实施例对此不作限制。其中,每个字节数据为发送文本所对应的一个字节,
在本发明实施例中,采用字节数据和第一初值的高八位执行异或操作,得到第一中间校验码。
例如,字节数据为0101 1110,第一初值为0xfffe,执行异或操作后,得到的第一中间校验码为0101 1110 1111 1110。
步骤204,根据对第一中间校验码的最高位判断结果,对第一中间校验码执行移位操作,和/或,异或操作,生成第二中间校验码;
可选地,校验初值还包括第二初值;步骤204可以包括以下子步骤:
判断第一中间校验码的最高位是否为零;
若是第一中间校验码的最高位为零,则对第一中间校验码左移一位后,与第二初值执行异或操作,生成计算中校验码;
若是第一中间校验码的最高位为非零,则对第一中间校验码左移一位,得到计算中校验码;
将第一中间校验码更新为计算中校验码,跳转执行判断第一中间校验码的最高位是否为零的步骤,直至跳转次数达到预定阈值,采用当前时刻的计算中校验码作为第二中间校验码。
在本发明的一个示例中,校验初值还可以包括第二初值0xa002,在获取到第一中间校验码后,数据发送端通过判断第一中间校验码的最高位是否为零进行后续的处理操作,若是第一中间校验码的最高位为零,则对第一中间校验码进行左移一位操作,再与第二初值执行异或操作,生成计算中校验码。
例如,第一中间校验码为0101 1110 1111 1110,最高位为零,则左移一位得到1011 1101 1111 1100,与第二初值0xa002执行异或操作后,得到计算中校验码为1110 0010 0000 0001。
而在第一中间校验码的最高位为非零,也就是1的状态时,对第一中间校验码直接进行左移一位,生成计算中校验码。例如第一中间校验码为1101 1110 1111 1110,所得到的计算中校验码为1011 1101 1111 1100。
在计算得到一次计算中校验码后,将第一中间校验码更新为计算中校验码,继续判断第一中间校验码的最高位是否为零,直至跳转次数达到预定阈值,采用当前时刻的计算中校验码作为第二中间校验码。
需要说明的是,预定阈值可以设置为7,表明第一中间校验码的高八位全部被左移一位,还可以设置为其他数值,本发明实施例对此不作限制。
步骤205,采用第二中间校验码更新第一初值,跳转执行采用字节数据与第一初值的高八位执行异或操作,得到第一中间校验码的步骤;
步骤206,将最后一个字节数据对应的第二中间校验码确定为目标校验码。
在本发明的一个示例中,在得到第二中间校验码后,采用第二中间校验码作为新的第一初值,跳转执行步骤203,以实现对下一个字节数据的第二中间校验码计算,直至全部字节数据都已计算完毕,以最后一个字节数据所计算得到第二中间校验码作为目标校验码。
需要说明的是,通过迭代计算,不断采用第二中间校验码更新第一初值与各个字节数据执行异或操作,从而实现对全部字节数据的第二中间校验码计算,同时在最后所得到的目标校验码仅是两个字节大小,能够大大减少校验文件的大小。
步骤207,采用目标校验码结合文本文件内的文本行数,构建校验文件;
在本发明实施例中,在数据发送端依据文本文件内的文本生成目标校验码后,读取文本文件以获取到对应的文本行数,采用目标校验码和文本行数构建校验文件,完成文本文件发送前的准备。
需要说明的是,文本行数可以通过终端例如手机、电脑等内置的文本工具进行读取,在数据发送端计算得到目标校验码和读取到文本行数后,可以采用文本文件的形式存储数据文本文件的行数和校验码,两个值以逗号或其他符号分隔,可以通过.ck文件格式进行存储,文件文件可以为.txt格式。
请参阅图3,图3示出了本发明实施例中的一种校验文件的部分内容示意图,其中,RECNUM为文本文件行数,198行;CHKSUM为校验码,CDD7。
步骤208,发送校验文件和文本文件至数据请求对应的数据接收端;数据接收端用于根据解析校验文件生成的解析结果,判断接收到的文本文件是否完整。
在本发明的一个示例中,数据接收端具体用于:
解析校验文件,得到目标校验码和文本行数;
读取接收到的文本文件,得到对应的接收文本行数;
对接收到的文本文件内的每个接收文本分别进行字节转换,得到多个接收字节数据;
逐个采用接收字节数据和校验初值执行异或操作,生成接收校验码;
比对目标校验码与接收校验码;
比对文本行数与接收文本行数;
若目标校验码与接收校验码相同,且文本行数与接收文本行数相同,则判定接收到的文本文件完整;
若目标校验码与接收校验码不相同,或文本行数与接收文本行数不相同,则判定接收到的文本文件不完整。
在本发明实施例中,数据接收端在接收到数据发送端发送的文本文件和校验文件后,可以对校验文件进行解析,以得到目标校验码和文本行数,具体格式可以参见图3所示。再通过数据接收端内置的文本工具读取接收到的文本文件,从中获取对应的接收文本行数;再对接收到的文本文件内的每个接收文本分别进行字节转换,得到多个接收字节数据,并逐个采用接收字节数据和校验初值执行异或操作,生成接收校验码,具体过程可以参见步骤202-206,在此不再赘述。
在得到接收校验码和接收文本行数后,比对目标校验码和接收校验码,以及进行文本行数和接收文本行数的比较,若目标校验码与接收校验码相同,且文本行数与接收文本行数相同,则判定接收到的文本文件完整;若目标校验码与接收校验码不相同,或文本行数与接收文本行数不相同,则判定接收到的文本文件不完整。
在本发明实施例中,通过数据发送端响应任一个数据接收端发送的数据请求,获取文本文件,并将文本文件内的每个发送文本转换为字节数据,逐个采用字节数据和预设的校验初值执行异或操作,以生成目标校验码;采用目标校验码结合文本文件对应的文本行数构建校验文件;通过数据发送端发送校验文件和文本文件到数据请求所对应的数据接收端,通过数据接收端依据校验文件的解析结果获取到目标校验码和文本行数,并与本地计算的接收校验码和接收文本行数进行比较,以确定接收到的文本文件是否完整,从而通过减少校验码所占用的空间与存储的方式,降低文本文件的完整性校验成本。
请参阅图4,图4示出了本发明实施例三的一种文本文件的完整性校验系统的结构框图。
本发明实施例提供了一种文本文件的完整性校验系统,包括数据发送端401和数据接收端402,数据发送端与多个数据接收端通信连接;
数据发送端401,包括:
文本文件获取模块4011,用于响应任一个数据接收端发送的数据请求,获取文本文件;
字节数据转换模块4012,用于对文本文件内的每个发送文本分别进行字节转换,得到多个字节数据;
目标校验码生成模块4013,用于逐个采用字节数据和预设校验初值执行异或操作,生成目标校验码;
校验文件构建模块4014,用于采用目标校验码结合文本文件内的文本行数,构建校验文件;
文件发送模块4015,用于发送校验文件和文本文件至数据请求对应的数据接收端;
数据接收端402,包括:
完整性校验模块4021,用于根据解析校验文件生成的解析结果,判断接收到的文本文件是否完整。
可选地,目标校验码生成模块4013包括:
第一中间校验码生成子模块,用于采用字节数据与第一初值的高八位执行异或操作,得到第一中间校验码;
第二中间校验码生成子模块,用于根据对第一中间校验码的最高位判断结果,对第一中间校验码执行移位操作,和/或,异或操作,生成第二中间校验码;
第一跳转子模块,用于采用第二中间校验码更新第一初值,跳转执行采用字节数据与第一初值的高八位执行异或操作,得到第一中间校验码的步骤;
目标校验码确定子模块,用于将最后一个字节数据对应的第二中间校验码确定为目标校验码。
可选地,校验初值还包括第二初值;第二中间校验码生成子模块具体用于:
判断第一中间校验码的最高位是否为零;
若是第一中间校验码的最高位为零,则对第一中间校验码左移一位后,与第二初值执行异或操作,生成计算中校验码;
若是第一中间校验码的最高位为非零,则对第一中间校验码左移一位,得到计算中校验码;
将第一中间校验码更新为计算中校验码,跳转执行判断第一中间校验码的最高位是否为零的步骤,直至跳转次数达到预定阈值,采用当前时刻的计算中校验码作为第二中间校验码。
可选地,完整性校验模块4021包括:
文件解析子模块,用于解析校验文件,得到目标校验码和文本行数;
接收文本行数读取子模块,用于读取接收到的文本文件,得到对应的接收文本行数;字节转换子模块,用于对接收到的文本文件内的每个接收文本分别进行字节转换,得到多个接收字节数据;
接收校验码生成子模块,用于逐个采用接收字节数据和校验初值执行异或操作,生成接收校验码;
校验码比对子模块,用于比对目标校验码与接收校验码;
行数比对子模块,用于比对文本行数与接收文本行数;
第一完整性判定子模块,用于若目标校验码与接收校验码相同,且文本行数与接收文本行数相同,则判定接收到的文本文件完整;
第二完整性判定子模块,用于若目标校验码与接收校验码不相同,或文本行数与接收文本行数不相同,则判定接收到的文本文件不完整。
本发明实施例还提供了一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如本发明任一实施例所述的文本文件的完整性校验方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现如本发明任一实施例所述的文本文件的完整性校验方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和子模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。