摘要压缩方法及相关装置与流程

专利检索2022-05-11  7



1.本技术涉及数据处理领域,具体而言,涉及一种摘要压缩方法及相关装置。


背景技术:

2.数据信息摘要算法可以用于多种场景,例如,用于对用户的各类信息做匿名化处理。然而,发明人研究发现,数据信息摘要算法计算出的结果为一串摘要字符,当摘要字符的数量过多时,需要占用较大的存储空间。


技术实现要素:

3.为了克服现有技术中的至少一个不足,本技术提供一种摘要压缩方法及相关装置,包括:
4.第一方面,本技术实施例提供一种摘要压缩方法,应用于数据处理设备,所述方法包括:
5.获取待压缩的摘要字符;
6.将所述摘要字符进行数学运算,转换成预设范围内的目标数字。
7.第二方面,本技术实施例提供一种摘要压缩装置,应用于数据处理设备,所述摘要压缩装置包括:
8.字符模块,用于获取待压缩的摘要字符;
9.数字模块,用于将所述摘要字符进行数学运算,转换成预设范围内的目标数字。
10.第三方面,本技术实施例提供一种数据处理设备,所述数据处理设备包括处理器以及存储器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,实现所述的摘要压缩方法。
11.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现所述的摘要压缩方法。
12.相对于现有技术而言,本技术具有以下有益效果:
13.本技术实施例提供的摘要压缩方法及相关装置中,该数据处理设备通对待压缩的摘要字符进行数学运算,将摘要字符转换成目标数字,由于存储数字所要的存储空间远小于存储一串摘要字符所需要的存储空间,从而减少了对存储空间的消耗。
附图说明
14.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
15.图1为本技术实施例提供的电子设备结构示意图;
16.图2为本技术实施例提供的摘要压缩方法流程示意图之一;
cloud)、多云(multi-cloud)等,或者它们的任意组合。在一些实施例中,服务器可以在具有一个或多个组件的电子设备上实现。
29.在其他可选地的实施方式中,该数据处理设备还可以是户终端,例如,移动终端、平板计算机、膝上型计算机、或机动车辆中的内置设备等,或其任意组合。在一些实施例中,移动终端可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、或增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器设备的控制设备、智能监控设备、智能电视、智能摄像机、或对讲机等,或其任意组合。在一些实施例中,可穿戴设备可包括智能手环、智能鞋带、智能玻璃、智能头盔、智能手表、智能服装、智能背包、智能配件等、或其任何组合。在一些实施例中,智能移动设备可以包括智能手机、个人数字助理(personal digital assistant,pda)、游戏设备、导航设备、或销售点(point of sale,pos)设备等,或其任意组合。
30.本实施例还提供该数据处理设备的一种结构示意图。如图1所示,可选的实施方式中,该数据处理设备包括存储器120、处理器130、通信单元140。
31.其中,该存储器120、处理器130以及通信单元140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
32.其中,该存储器120可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。其中,存储器120用于存储程序,该处理器130在接收到执行指令后,执行该程序。
33.该通信单元140用于通过网络收发数据。该网络可以包括有线网络、无线网络、光纤网络、远程通信网络、内联网、因特网、局域网(local area network,lan)、广域网(wide area network,wan)、无线局域网(wireless local area networks,wlan)、城域网(metropolitan area network,man)、广域网(wide area network,wan)、公共电话交换网(public switched telephone network,pstn)、蓝牙网络、zigbee网络、或近场通信(near field communication,nfc)网络等,或其任意组合。在一些实施例中,网络可以包括一个或多个网络接入点。例如,网络可以包括有线或无线网络接入点,例如基站和/或网络交换节点,服务请求处理系统的一个或多个组件可以通过该接入点连接到网络以交换数据和/或信息。
34.该处理器130可能是一种集成电路芯片,具有信号的处理能力,并且,该处理器可以包括一个或多个处理核(例如,单核处理器或多核处理器)。仅作为举例,上述处理器可以包括中央处理单元(central processing unit,cpu)、专用集成电路(application specific integrated circuit,asic)、专用指令集处理器(application specific instruction-set processor,asip)、图形处理单元(graphics processing unit,gpu)、物理处理单元(physics processing unit,ppu)、数字信号处理器(digital signal processor,dsp)、现场可编程门阵列(field programmable gate array,fpga)、可编程逻辑器件(programmable logic device,pld)、控制器、微控制器单元、简化指令集计算机(reduced instruction set computing,risc)、或微处理器等,或其任意组合。
35.基于上述介绍,下面结合图2对摘要压缩算法的各步骤进行详细阐述。
36.如图2所示,该方法包括:
37.s101,获取待压缩的摘要字符。
38.s102,将摘要字符进行数学运算,转换成预设范围内的目标数字。
39.示例性的,假定该摘要字符为:
[0040]“523fbc4d07560f08bcedbc60dd27179c”[0041]
其中,存储上述字符串需要占用至少32个字节,而将上述字符串进行通过数学运算转换成唯一的目标数字,然后,存储该目标数字则可以节省大量的存储空间。例如,当前计算机中最大的数据类型仅占用64bit,因此,即使使用当前最大的数据类型存储该目标数字,则仅仅占用8个字节,相较于以字符形式存储需要占用32个字节,最少可以节省24个字节。
[0042]
由此,该数据处理设备通对待压缩的摘要字符进行数学运算,将摘要字符转换成目标数字,由于存储数字所要的存储空间远小于存储一串摘要字符所需要的存储空间,从而减少了对存储空间的消耗。
[0043]
此外,待压缩的摘要字符为目标数据的数据标识,为减少摘要字符对存储空间的消耗,数据处理设备还将目标数字作为目标数据新的数据标识。
[0044]
并且,还应理解的是,不同系统之间进行数据交互时,可能会出现摘要碰撞的情况。例如,银行的第一业务系统与电信运营商的第二业务系统之间进行通信时,若第一业务系统中的某个银行账号的摘要与第二业务系统中某个字符串的摘要相同,因此,若直接以而摘要字符在两系统之间传输,存在数据泄露的风险。
[0045]
因此,在不同的系统之间选择不同的第一素数因子以及第二素数因子,使得即使相同的摘要字符计算出不同的目标数字,从而提高系统之间数据通信时的保密性。
[0046]
如图3所示,作为可选的实施方式,该数据处理设备通过以下步骤对摘要数据进行运算:
[0047]
s102-1,从摘要字符中选取一个未进行运算的字符,作为目标字符。
[0048]
可选的实施方式中,该数据处理设备可以按照摘要字符的中每个字符的顺序依次选取目标字符。
[0049]
s102-2,获取目标字符的字符编码。
[0050]
由于同一字符可以有不同的编码标准,因此,本领域技术人员可以根据需要进行适应调整。例如,该目标字符的字符编码可以是ascii编码,还可以是unicode编码。
[0051]
s102-3,将字符编码与运算因子进行数学运算,获得迭代数字。
[0052]
可选的实施方式种,运算因子包括第一运算因子以及第二运算因子,数据处理设备将字符编码与第一运算因子进行第一运算,获得运算编码。
[0053]
例如,由于数字越大则后续运算过程中,出现碰撞(即不同的摘要字符计算出相同的目标数字)的几率则越小,因此,该数据处理设备可以将字符编码与第一素数因子进行异或运算,获得运算编码;或者将字符编码与特定的放大倍数相乘,获得运算编码,如此,使得运算编码对应的数字大于字符编码对应的数字。
[0054]
然后,数据处理设备将运算编码与第二运算因子进行第二运算,获得迭代数字。
[0055]
例如,该数据处理设备可以将运算编码与第二运算因子进行相乘获得迭代数字,
或者与第二运算因子相加,获得迭代数字。
[0056]
而应理解的是,考虑到将字符编码与第二运算因子进行异或运算或者与特定的放大倍数相乘时,有可能出现不同的两个摘要字符所计算出的两个目标数字较为接近的情况,而使用excel以科学计数法显示这两个目标数字时,会出现相同的表示方式,继而不便于用户进行区分。
[0057]
例如,假定这两个目标数字分别为1234567890123、1234567123434,两者的在excel中以科学计数法进行显示时,均会显示为成1.23457e 12。
[0058]
因此,本实施例中使用第二运算因子以扩大不同摘要字符所对应目标数字之间的差距。并且,本实施例中,与第一个目标字符的字符编码进行数学运算的第一运算因子为第一素数因子,与第一个运算编码进行相乘的第二运算因子为第二素数因子,其中,第一素数因子大于第二素数因子,如此,以提高不同目标数字之间存在较大差距的概率。
[0059]
此外,本实施例以key-value的结构存储目标数据,其中,value表示该目标数据,key表示该目标数据的目标数字。发明人研究发现,当以目标数字的哈希运算结果,将目标数字对应的目标数据分配到集群中的节点进行处理时,较小的目标数字会导致数据分配不均衡的现象,使得大量的数据集中在部分节点之上,因此,使用与第二运算因子相乘的方法,扩大了目标数字的范围,从而降低出现数据倾斜的风险。
[0060]
s102-4,判断摘要字符中是否剩余有未进行运算的字符;若是,则执行步骤s102-5,若否,则执行步骤s102-6。
[0061]
s102-5、将迭代数字作为新的运算因子,并返回执行步骤s102-1。
[0062]
s102-6,将迭代数字作为目标数字。
[0063]
为了使得本领域技术人员能够使用本技术内容,以unicode方式进行编码的摘要字符给出以下实施方式。对于本领域技术人员来说,在不脱离本技术的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。
[0064]
假定第一素数因子为a=6999766001,第二素数因子为b=1633609,该摘要字符为:
[0065]“523fbc4d07560f08bcedbc60dd27179c”[0066]
相应的unicode编码数组code为:
[0067]“53,50,51,70,66,67,52,68,48,55,53,54,48,70,48,56,66,67,69,68,66,67,54,48,68,68,50,55,49,55,57,67”[0068]
用字符i表示摘要字符的序列号,并初始化为1,然后,数据处理设备执行以下步骤,直到最后一个字符时,获得该摘要字符的目标数字:
[0069]
s1、读取数组中的code[i],用第一素数因子a与code[i]做异或操作,得到的结果为e。
[0070]
即e=a^code[1],e=6999766001xor 53=6999765956。
[0071]
s2、将e与第二素数因子b相乘,b’=e*b。
[0072]
例如,b’=6999765956*1633609=11434880663615204。
[0073]
s3、判断i是否对应最后一个字符的字符编码,若否,则将b’赋值给b以及a,序列号加1,返回执行步骤s1;若是,则执行步骤s4。
[0074]
s4、将b’作为摘要字符的目标数字。
[0075]
基于与摘要压缩方法相同的发明构思,本实施例还提供该方法的相关装置,包括:
[0076]
本实施例还提供一种摘要压缩装置,应用于数据处理设备。其中,摘要压缩装置包括至少一个可以软件形式存储于存储器120中的功能模块。如图4所示,从功能上划分,摘要压缩装置包括:
[0077]
字符模块201,用于获取待压缩的摘要字符。
[0078]
本实施例中,该字符模块201用于实现图2中的步骤s101,关于该字符模块201的详细描述可以参见步骤s101的详细描述。
[0079]
数字模块202,用于将摘要字符进行数学运算,转换成预设范围内的目标数字。
[0080]
本实施例中,该数字模块202用于实现图2中的步骤s102,关于该数字模块202的详细描述可以参见步骤s102的详细描述。
[0081]
可选地,数字模块202获取目标数字的方式,包括:
[0082]
从摘要字符中选取一个未进行运算的字符,作为目标字符;
[0083]
获取目标字符的字符编码;
[0084]
将字符编码与运算因子进行数学运算,获得迭代数字;
[0085]
若摘要字符中剩余有未进行运算的字符,则将迭代数字作为新的运算因子,并返回执行从摘要字符中选取一个未进行运算的字符,作为目标字符的步骤;
[0086]
若摘要字符中未剩余有未进行运算的字符,则将迭代数字作为目标数字。
[0087]
需要说明的是,该摘要压缩装置还可以包括其他软件功能模块,用于实现摘要压缩算法的其他步骤或者子步骤,当然,上述数字模块202以及字符模块201,同样还可以用于实现摘要压缩算法的其他步骤或者子步骤。本领域技术人员可以根据需要进行适当调整,本实施例不做具体的限定。
[0088]
本实施例还提供一种数据处理设备,数据处理设备包括处理器以及存储器,存储器存储有计算机程序,计算机程序被处理器执行时,实现所述的摘要压缩方法。
[0089]
本实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时,实现所述的摘要压缩方法。
[0090]
综上所述,本技术实施例提供的摘要压缩方法及相关装置中,该数据处理设备通对待压缩的摘要字符进行数学运算,将摘要字符转换成目标数字,由于存储数字所要的存储空间远小于存储一串摘要字符所需要的存储空间,从而减少了对存储空间的消耗。
[0091]
在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0092]
另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部
分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0093]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,randomaccess memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0094]
以上所述,仅为本技术的各种实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
转载请注明原文地址:https://win.8miu.com/read-950249.html

最新回复(0)