一种数据处理方法以及相关设备

文档序号:409953 发布日期:2021-12-17 浏览:1次 >En<

阅读说明:本技术 一种数据处理方法以及相关设备 (Data processing method and related equipment ) 是由 杨政 余鑫耸 肖彦婷 于 2021-09-16 设计创作,主要内容包括:本申请实施例公开了一种数据处理方法以及相关设备,用于节省存储空间。本申请实施例方法包括:获取原始字符串和目标位移量,原始字符串包括依次排列的多个原始字符;使用目标位移量分别对各个原始字符加密,得到与原始字符对应的加密字符;按照原始字符在原始字符串中的排列顺序排列多个加密字符,得到加密字符串;当加密字符串存在由多个相同的加密字符连续组成的一段字符时,将同一段多个相同的加密字符替换成一个相同的加密字符和一个特殊字符,生成压缩字符串,特殊字符用于表示加密字符在同一段内的连续出现次数。(The embodiment of the application discloses a data processing method and related equipment, which are used for saving storage space. The method in the embodiment of the application comprises the following steps: acquiring an original character string and a target displacement, wherein the original character string comprises a plurality of original characters which are sequentially arranged; encrypting each original character by using the target displacement respectively to obtain an encrypted character corresponding to the original character; arranging a plurality of encrypted characters according to the arrangement sequence of the original characters in the original character string to obtain an encrypted character string; when a section of character consisting of a plurality of same encrypted characters is continuously existed in the encrypted character string, the same section of the plurality of same encrypted characters are replaced by a same encrypted character and a special character to generate a compressed character string, and the special character is used for indicating the continuous occurrence times of the encrypted character in the same section.)

一种数据处理方法以及相关设备

技术领域

本申请实施例涉及计算机领域,尤其涉及一种数据处理方法以及相关设备。

背景技术

软件的加密与解密是一个迷人的研究领域,它几乎可以与任意一种计算机技术紧密结合——密码学、程序设计语言、操作系统、数据结构。现有的常用加密技术为对称加密,对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难。数据加密标准(DES,data encryption standard)就是一种对称加密技术。

现在通常通过DES加密算法对字符串进行加密,加密完成后再采用GZip算法进行压缩。

但是使用DES算法进行加密会增加字符串长度,即便加密完再使用GZip算法进行压缩,字符串的长度也会超过原始长度,实际上完成加密压缩后,字符串的长度增加了。

发明内容

本申请实施例提供了一种数据处理方法,用于节省存储空间。

本申请实施例第一方面提供了一种数据处理方法,包括:

获取原始字符串和目标位移量,所述原始字符串包括依次排列的多个原始字符;

使用所述目标位移量分别对各个所述原始字符加密,得到与所述原始字符对应的加密字符;

按照所述原始字符在所述原始字符串中的排列顺序排列多个所述加密字符,得到加密字符串;

当所述加密字符串存在由多个相同的加密字符连续组成的一段字符时,将同一段所述多个相同的加密字符替换成一个所述相同的加密字符和一个特殊字符,生成压缩字符串,所述特殊字符用于表示所述加密字符在所述同一段内的连续出现次数。

可选的,所述获取目标位移量包括:

获取预设位移量,所述预设位移量为整数;

判断所述预设位移量的绝对值是否大于9;

若是,则确定所述目标位移量为所述预设位移量;

若否,则确定所述目标位移量为对所述预设位移量除以10的余数。

可选的,所述使用所述目标位移量分别对各个所述原始字符加密,得到与所述原始字符对应的加密字符包括:

分别将由数值字符组成的所述原始字符串中每一个所述原始字符与所述目标位移量求和,得到第一过渡数值;

判断所述第一过渡数值的绝对值是否大于9;

若是,则对绝对值大于9的所述第一过渡数值取10的余数得到第二过渡数值,将所述第二过渡数值确定为所述加密字符;

若否,则将所述第一过渡数值确定为所述加密字符。

本申请实施例第二方面提供一种数据处理方法,包括:

获取压缩字符串;

当所述压缩字符串存在特殊字符时,确定所述特殊字符所对应的压缩字符,所述特殊字符用于表示所述特殊字符对应的压缩字符的连续出现次数N;

将所述特殊字符替换为N减1数量的所述特殊字符对应的压缩字符,得到多个加密字符依次排列的加密字符串;

获取目标位移量;

使用所述目标位移量分别对各个所述加密字符解密,得到与所述加密字符对应的原始字符;

按照所述加密字符在所述加密字符串中的排列顺序排列多个所述原始字符,得到原始字符串。

可选的,所述获取目标位移量包括:

获取预设位移量,所述预设位移量为整数;

判断所述预设位移量的绝对值是否大于9;

若是,则确定所述目标位移量为对所述预设位移量除以10的余数;

若否,则确定所述目标位移量为所述预设位移量。

可选的,所述使用所述目标位移量分别对各个所述加密字符解密,得到与所述加密字符对应的原始字符包括:

分别将由数值字符组成的所述加密字符串中每一个所述加密字符与所述目标位移量求和,得到第三过渡数值;

判断所述第三过渡数值的绝对值是否大于9;

若是,则对绝对值大于9的所述第三过渡数值取10的余数得到第四过渡数值,将所述第四过渡数值确定为所述原始字符;

若否,则将所述第三过渡数值确定为所述原始字符。

本申请实施例第三方面提供一种数据处理装置,包括:

获取单元,用于获取原始字符串和目标位移量,所述原始字符串包括依次排列的多个原始字符;

加密单元,用于使用所述目标位移量分别对各个所述原始字符加密,得到与所述原始字符对应的加密字符;

排列单元,用于按照所述原始字符在所述原始字符串中的排列顺序排列多个所述加密字符,得到加密字符串;

压缩单元,用于当所述加密字符串存在由多个相同的加密字符连续组成的一段字符时,将同一段所述多个相同的加密字符替换成一个所述相同的加密字符和一个特殊字符,生成压缩字符串,所述特殊字符用于表示所述加密字符在所述同一段内的连续出现次数。

可选的,所述获取单元具体用于:

获取预设位移量,所述预设位移量为整数;

判断所述预设位移量的绝对值是否大于9;

若是,则确定所述目标位移量为所述预设位移量;

若否,则确定所述目标位移量为对所述预设位移量除以10的余数。

可选的,所述加密单元具体用于:

分别将由数值字符组成的所述原始字符串中每一个所述原始字符与所述目标位移量求和,得到第一过渡数值;

判断所述第一过渡数值的绝对值是否大于9;

若是,则对绝对值大于9的所述第一过渡数值取10的余数得到第二过渡数值,将所述第二过渡数值确定为所述加密字符;

若否,则将所述第一过渡数值确定为所述加密字符。

本申请实施例第四方面提供一种数据处理装置,包括:

获取单元,用于获取压缩字符串;

确定单元,用于当所述压缩字符串存在特殊字符时,确定所述特殊字符所对应的压缩字符,所述特殊字符用于表示所述特殊字符对应的压缩字符的连续出现次数N;

解压单元,用于将所述特殊字符替换为N减1数量的所述特殊字符对应的压缩字符,得到多个加密字符依次排列的加密字符串;

所述获取单元,还用于获取目标位移量;

解密单元,用于使用所述目标位移量分别对各个所述加密字符解密,得到与所述加密字符对应的原始字符;

排列单元,用于按照所述加密字符在所述加密字符串中的排列顺序排列多个所述原始字符,得到原始字符串。

可选的,所述获取单元具体用于:

获取预设位移量,所述预设位移量为整数;

判断所述预设位移量的绝对值是否大于9;

若是,则确定所述目标位移量为对所述预设位移量除以10的余数;

若否,则确定所述目标位移量为所述预设位移量。

可选的,所述解密单元具体用于:

分别将由数值字符组成的所述加密字符串中每一个所述加密字符与所述目标位移量求和,得到第三过渡数值;

判断所述第三过渡数值的绝对值是否大于9;

若是,则对绝对值大于9的所述第三过渡数值取10的余数得到第四过渡数值,将所述第四过渡数值确定为所述原始字符;

若否,则将所述第三过渡数值确定为所述原始字符。

本申请实施例第五方面提供一种数据处理装置,包括:

中央处理器,存储器以及输入输出接口;

所述存储器为短暂存储存储器或持久存储存储器;

所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行本申请实施例第一方面至第二方面提供的数据处理方法。

本申请实施例提供的计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行本申请实施例第一方面和第二方面提供的数据处理方法。

从以上技术方案可以看出,本申请实施例具有以下优点:加密后的加密字符串的长度与原始字符串的长度一致,压缩后的压缩字符串的长度小于等于原始字符串的长度,完成加密压缩后的压缩字符串的长度不会大于原始字符串的长度,能更好的节省存储空间。

附图说明

图1为本申请实施例数据处理方法的一个流程示意图:

图2为本申请实施例数据处理方法的另一流程示意图;

图3为本申请实施例数据处理装置的一个结构示意图;

图4为本申请实施例数据处理装置的另一结构示意图;

图5为本申请实施例数据处理装置的另一结构示意图。

具体实施方式

本申请实施例提供了一种数据处理方法,用于节省存储空间。

请参阅图1,本申请实施例数据处理方法的一个实施例包括:

101、获取原始字符串和目标位移量,原始字符串包括依次排列的多个原始字符。

当需要加密某个字符串时,先获取由多个原始字符排列而成的原始字符串和目标位移量,然后通过目标位移量加密原始字符串。

102、使用目标位移量分别对各个原始字符加密,得到与原始字符对应的加密字符。

使用目标位移量对原始字符串中的每个原始字符都进行加密处理,得到与原始字符一一对应的多个加密字符。

103、按照原始字符在原始字符串中的排列顺序排列多个加密字符,得到加密字符串。

每个加密字符都有对应的原始字符,每个原始字符按照一定的顺序排列组成原始字符串,使得多个加密字符按照对应的原始字符在原始字符串中的排列顺序排列组成加密字符串。

104、当加密字符串存在由多个相同的加密字符连续组成的一段字符时,将同一段多个相同的加密字符替换成一个相同的加密字符和一个特殊字符,生成压缩字符串,特殊字符用于表示加密字符在同一段内的连续出现次数。

当加密字符串存在由多个相同的加密字符连续组成的一段字符时,可以通过用于表示加密字符在同一段内连续出现次数的特殊字符,将该段连续的字符替换为一个特殊字符和一个相同的加密字符,以实现压缩效果。具体的,不对前述一个特殊字符和一个相同的加密字符的前后顺序做限定。另外,特殊字符可以是提前由系统或用户预设的加密字符串中未出现过的任意字符,具体此处不做限定。

在实际应用中,替换某段连续的字符时还会添加压缩位置标识,用于表示特殊字符替换的加密字符。具体的,该压缩位置标识可以置于特殊字符和该加密字符之间、之前或之后,此处不作限定。

本申请实施例中,加密后的加密字符串的长度与原始字符串的长度一致,压缩后的压缩字符串的长度小于等于原始字符串的长度,完成加密压缩后的压缩字符串的长度不会大于原始字符串的长度,在加密保存相同内容的情况下,不会使用更多的空间,能更好的节省存储空间。

本申请实施例数据处理方法另一流程包括上述步骤101至步骤104,其中步骤101具体通过以下方式实现:获取预设位移量,预设位移量为整数;判断预设位移量的绝对值是否大于9;若是,则确定目标位移量为对预设位移量除以10的余数;若否,则确定目标位移量为预设位移量。

具体的,在确定目标位移量之前,需要获取一个预设位移量,其中预设位移量可以是任意整数。另外,该预设位移量可以是系统预设的或用户预设的,此处不作限定。

然后判断获取的预设位移量的取值范围是否在[-9,9]之外,当预设位移量的取值范围在[-9,9]之外,将预设位移量除以10,得到的余数就是目标位移量;当预设位移量的取值范围在[-9,9]之内,即确定预设位移量就是目标位移量。

另外,步骤102具体通过以下方式实现:分别将由数值字符组成的原始字符串中每一个原始字符与目标位移量求和,得到第一过渡数值;判断第一过渡数值的绝对值是否大于9;若是,则对绝对值大于9的第一过渡数值取10的余数得到第二过渡数值,将第二过渡数值确定为加密字符;若否,则将第一过渡数值确定为加密字符。

具体的,对原始字符串中的每个原始字符分别进行相同的加密处理,即令每个原始字符分别与目标位移量求和,得到与原始字符一一对应的第一过渡值。其中,当目标位移量为正整数或零时,求和为加法;当目标位移量为负整数时,求和为减法,此处不作限定。

然后,判断每个第一过渡数值的取值范围是否在[-9,9]之外,当某第一过渡数值的取值范围在[-9,9]之外,将第一过渡数值除以10,得到的余数为第二过渡数值,确定第二过渡数值为相应的原始字符对应的加密字符;当某第一过渡数值的取值范围在[-9,9]之内,确定第一过渡数值为相应的原始字符对应的加密字符。在实际情况中,会对原始字符串中的每一个原始字符进行加密处理,均执行前述判断步骤。

本申请实施例中,进一步限定了目标位移量的确认方式和加密处理的具体实现方式,提升了方案的可实现性。

本申请实施例提供了一个数据处理方法,用于读取加密压缩处理后的字符串。

请参阅图2,本申请实施例数据处理方法的一个实施例包括:

201、获取压缩字符串。

当需要读取由前述数据处理方法处理后的内容时,首先获取经过前述数据处理方法处理后的压缩字符串。

202、当压缩字符串存在特殊字符时,确定特殊字符所对应的压缩字符,特殊字符用于表示特殊字符对应的压缩字符的连续出现次数N。

若获取的压缩字符串中有特殊字符,则根据压缩位置标识确定特殊字符替换掉的字符。该压缩位置标识可以置于特殊字符和该特殊字符对应的加密字符之间、之前或之后,此处不作限定。特殊字符则表示替换的与该特殊字符对应的压缩字符的出现次数N。

203、将特殊字符替换为N减1数量的特殊字符对应的压缩字符,得到多个加密字符依次排列的加密字符串。

根据确定的特殊字符所对应的压缩字符,使用N减1数量的特殊字符所对应的压缩字符替换该特殊字符具体的,若该特殊字符表示的对应的压缩字符的出现次数为3,则将该特殊字符替换为2个对应的压缩字符。具体的,不对前述一个特殊字符和一个相同的加密字符的前后顺序做限定。

204、获取目标位移量。

获取目标位移量,并通过目标位移量对加密字符串进行解密。

在实际中,此步骤中获取的目标位移量与加密该字符串时使用的目标位移量一致。

205、使用目标位移量分别对各个加密字符解密,得到与加密字符对应的原始字符。

使用目标位移量对原始字符串中的每个加密字符都进行解密处理,得到与加密字符一一对应的多个原始字符。

206、按照加密字符在加密字符串中的排列顺序排列多个原始字符,得到原始字符串。

每个原始字符都有对应的加密字符,每个加密字符按照一定的顺序排列组成加密字符串,使得多个原始字符按照对应的加密字符在加密字符串中的排列顺序排列组成原始字符串。

本申请实施例中,可以根据相应的目标位移量和特殊字符解密解压由前述数据处理方法处理后的字符串,便于读取加密压缩后的字符串。

本申请实施例数据处理方法另一流程包括上述步骤201至步骤206,

其中步骤204具体通过以下方式实现:获取预设位移量,预设位移量为整数;判断预设位移量的绝对值是否大于9;若是,则确定目标位移量为对预设位移量除以10的余数;若否,则确定目标位移量为预设位移量。

本申实施例步骤204的具体实现方式与前述步骤101的具体实现方式类似,此处不做赘述。

另外,步骤205具体通过以下方式实现:分别将由数值字符组成的加密字符串中每一个加密字符与目标位移量求和,得到第三过渡数值;判断第三过渡数值的绝对值是否大于9;若是,则对绝对值大于9的第三过渡数值取10的余数得到第四过渡数值,将第四过渡数值确定为原始字符;若否,则将第三过渡数值确定为原始字符。

具体的,对加密字符串中的每个加密字符分别进行相同的加密处理,即令每个加密字符分别与目标位移量求和,得到与加密字符一一对应的第三过渡值。其中,当目标位移量为正整数或零时,求和为加法;当目标位移量为负整数时,求和为减法,此处不作限定。

然后,判断每个第三过渡数值的取值范围是否在[-9,9]之外,当某第三过渡数值的取值范围在[-9,9]之外,将第三过渡数值除以10,得到的余数为第四过渡数值,确定第四过渡数值为相应的加密字符对应的原始字符;当某第三过渡数值的取值范围在[-9,9]之内,确定第三过渡数值为相应的加密字符对应的原始字符。

在实际情况中,会对加密字符串中的每一个加密字符进行解密处理,均执行前述判断步骤。

本申请实施例中,进一步限定了目标位移量的确认方式和解密处理的具体实现方式,提升了方案的可实现性。

为方便理解,下面结合具体情况,对字符串的加密压缩和解压解密过程进行描述:

现有一个字符串“100000,100002,100008”需要进行加密压缩。

首先设置位移量为2,字符串“100000,100002,100008”中的数值字符分别与“2”相加得到的结果是“322222,322224,322220”,其中相加结果如果大于等于10的取除以10的余数,比如“8+2=10”,取10的余数为0。

然后再对加密后的字符进行压缩,设置对于同一个字符出现的次数用字母代替,比如“b”代表出现2次,“c”代表出现3次,“d”代表出现4次等,出现仅一次的不用字符代替,其中用于替代的字符不能出现在原字符中。基于前述内容,对加密后的字符串“322222,322224,322220”进行压缩得到的结果是“32e,32d4,32d0”,基于此,字符的加密压缩完成。

当需要读取前述加密压缩后的字符串时,就需要对字符串进行解密解压处理还原出原始字符串。

首先解压,根据前述内容,将“2e”还原成“22222”,“2d”还原成“2222”,得到的结果为“322222,322224,322220”。

再对加密字符串“322222,322224,322220”进行解密,将数值字符分别与位移量相减,得到“100000,100002,100008”,其中相减结果小于0的取其正整数,其正整数大于等于10的,取除以10的余数,比如“0-2=-8”,取-8的正整数为8,基于此,字符的解压解密完成。

上面对本申请实施例的数据处理方法进行了描述,下面接着对本申请实施例中的数据处理装置进行描述,请参阅图3,本申请实施例数据处理装置的一个实施例包括:

获取单元301,用于获取原始字符串和目标位移量,原始字符串包括依次排列的多个原始字符;

加密单元302,用于使用目标位移量分别对各个原始字符加密,得到与原始字符对应的加密字符;

排列单元303,用于按照原始字符在原始字符串中的排列顺序排列多个加密字符,得到加密字符串;

压缩单元304,用于当加密字符串存在由多个相同的加密字符连续组成的一段字符时,将同一段多个相同的加密字符替换成一个相同的加密字符和一个特殊字符,生成压缩字符串,特殊字符用于表示加密字符在同一段内的连续出现次数。

可选的,获取单元301具体用于:

获取预设位移量,预设位移量为整数;

判断预设位移量的绝对值是否大于9;

若是,则确定目标位移量为预设位移量;

若否,则确定目标位移量为对预设位移量除以10的余数。

可选的,加密单元302具体用于:

分别将由数值字符组成的原始字符串中每一个原始字符与目标位移量求和,得到第一过渡数值;

判断第一过渡数值的绝对值是否大于9;

若是,则对绝对值大于9的第一过渡数值取10的余数得到第二过渡数值,将第二过渡数值确定为加密字符;

若否,则将第一过渡数值确定为加密字符。

本申请实施例中,加密单元302加密后的加密字符串的长度与原始字符串的长度一致,压缩单元304压缩后的压缩字符串的长度小于等于原始字符串的长度,完成加密压缩后的压缩字符串的长度不会大于原始字符串的长度,在加密保存相同内容的情况下,不会使用更多的空间,能更好的节省存储空间。

请参阅图4,本申请实施例数据处理装置的另一实施例包括:

获取单元401,用于获取压缩字符串;

确定单元402,用于当所述压缩字符串存在特殊字符时,确定所述特殊字符所对应的压缩字符,所述特殊字符用于表示所述特殊字符对应的压缩字符的连续出现次数N;

解压单元403,用于将所述特殊字符替换为N减1数量的所述特殊字符对应的压缩字符,得到多个加密字符依次排列的加密字符串;

所述获取单元401,还用于获取目标位移量;

解密单元404,用于使用所述目标位移量分别对各个所述加密字符解密,得到与所述加密字符对应的原始字符;

排列单元405,用于按照所述加密字符在所述加密字符串中的排列顺序排列多个所述原始字符,得到原始字符串。

可选的,获取单元401具体用于:

获取预设位移量,预设位移量为整数;

判断预设位移量的绝对值是否大于9;

若是,则确定目标位移量为对预设位移量除以10的余数;

若否,则确定目标位移量为预设位移量。

可选的,解密单元404具体用于:

分别将由数值字符组成的加密字符串中每一个加密字符与目标位移量求和,得到第三过渡数值;

判断第三过渡数值的绝对值是否大于9;

若是,则对绝对值大于9的第三过渡数值取10的余数得到第四过渡数值,将第四过渡数值确定为原始字符;

若否,则将第三过渡数值确定为原始字符。

本申请实施例中,可以解压单元403和解密单元404分别可以根据相应的目标位移量和特殊字符解密解压由前述数据处理方法处理后的字符串,便于读取加密压缩后的字符串。

图5是本申请实施例提供的一种数据处理装置结构示意图,该数据处理装置500可以包括一个或一个以上中央处理器(central processing units,CPU)501和存储器505,该存储器505中存储有一个或一个以上的应用程序或数据。

其中,存储器505可以是易失性存储或持久存储。存储在存储器505的程序可以包括一个或一个以上模块,每个模块可以包括对数据处理装置中的一系列指令操作。更进一步地,中央处理器501可以设置为与存储器505通信,在数据处理装置500上执行存储器505中的一系列指令操作。

数据处理装置500还可以包括一个或一个以上电源502,一个或一个以上有线或无线网络接口503,一个或一个以上输入输出接口504,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。

该中央处理器501可以执行前述图1至图4所示实施例中数据处理装置所执行的操作,具体此处不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种用于在量子密钥分发中实现隐私放大的方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!