CN106407201A - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN106407201A CN106407201A CN201510453915.2A CN201510453915A CN106407201A CN 106407201 A CN106407201 A CN 106407201A CN 201510453915 A CN201510453915 A CN 201510453915A CN 106407201 A CN106407201 A CN 106407201A
- Authority
- CN
- China
- Prior art keywords
- byte
- property value
- data processing
- numeral
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法及装置,其中该方法包括:获取待组合存储的属性及相应的属性值;获取各个所述属性值对应的预置数字编号;将所述数字编号按照第一预置规则分别进行字节串转换,得到相应的编码;将所述编码进行组合存储。本发明实施例基于位压缩存储的方法,通过编号转换、利用相应的字节串存储格式对属性值进行组合存储,相对于现有使用拼接符进行简单的属性值拼接存储以及利用哈希函数进行存储的方式,可以大大节省存储空间,从而减少造成服务器资源浪费,提高利用率。
Description
技术领域
本发明属于通信技术领域,尤其涉及一种数据处理方法及装置。
背景技术
在数据存储和分析中通常会将多种属性值进行组合存储,一般的,这种存储方式称为“多值组合”。目前,多值组合存储大多使用byte[]字节串。为了便于说明,假设有下面三个有序的属性以及相关具体的属性值需要组合存储。
例如,三个有序的属性包括操作系统(OS,Operating System)、网际协议地址(IP,Internet Protocol)以及统一资源定位符(URL,Uniform ResourceLocator);其中,OS的属性值包括Android、Mac OS X、windows mobile、Symbian等,IP的属性值包括172.10.1.1、172.10.1.2……172.10.225.225,URL的属性值包括http://www.baidu.com/、http://www.google.com.hk/、http://www.qq.com/等;在多值组合存储中,较为常用的方式是使用“_”作为拼接符进行简单的属性值拼接,如“v=Android_172.10.1.2_http://www.baidu.com/”,但是这样的存储方式占用了40个byte,需要的存储空间大;还有一种方式是将上述简单拼接的结果的哈希(hash)值作为新的组合值,该方式的存储空间取决于hash函数返回值的范围,如果使用java自带的hash函数则得到的是一个32位的整型数,只需要4个byte就可以表示,但是要额外维护所有hash值和原始值的对应关系的开销,并没有实际的节省存储空间,因此现有技术中多值组合的存储方式存在存储空间大,容易造成服务器资源浪费的问题。
发明内容
本发明的目的在于提供一种数据处理方法及装置,旨在节省存储空间,减少服务器资源浪费。
为解决上述技术问题,本发明实施例提供以下技术方案:
一种数据处理方法,其中包括:
获取待组合存储的属性及相应的属性值;
获取各个所述属性值对应的预置数字编号;
将所述数字编号按照第一预置规则分别进行字节串转换,得到相应的编码;
将所述编码进行组合存储。
为解决上述技术问题,本发明实施例还提供以下技术方案:
一种数据处理方法,其中包括:
第一获取模块,用于获取待组合存储的属性及相应的属性值;
第二获取模块,用于获取各个所述属性值对应的预置数字编号;
转换模块,用于将所述数字编号按照第一预置规则分别进行字节串转换,得到相应的编码;
存储模块,用于将所述编码进行组合存储。
相对于现有技术,本实施例,先对待组合存储的属性的各个属性值进行数字编号,然后将数字编号按预置规则进行字节串转换,得到相应编码并将其组合存储,即将以字节串表示的属性值进行组合存储;本发明实施例基于位压缩存储的方法,通过编号转换、利用相应的字节串存储格式对属性值进行组合存储,相对于现有使用拼接符进行简单的属性值拼接存储以及利用hash函数进行存储的方式,可以大大节省存储空间,从而减少造成服务器资源浪费,提高利用率。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
图1是本发明第一实施例提供的数据处理方法的流程示意图;
图2为本发明第二实施例提供的数据处理方法的流程示意图;
图3为本发明第四实施例提供的数据处理装置的结构示意图;
图4为本发明第五实施例提供的数据处理装置的结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本发明的原理使用许多其它泛用性或特定目的运算、通信环境或组态来进行操作。所熟知的适合用于本发明的运算系统、环境与组态的范例可包括(但不限于)手持电话、个人计算机、服务器、多处理器系统、微电脑为主的系统、主架构型计算机、及分布式运算环境,其中包括了任何的上述系统或装置。
本文所使用的术语「模块」可看做为在该运算系统上执行的软件对象。本文所述的不同组件、模块、引擎及服务可看做为在该运算系统上的实施对象。而本文所述的装置及方法优选的以软件的方式进行实施,当然也可在硬件上进行实施,均在本发明保护范围之内。
第一实施例
请参阅图1,图1是本发明第一实施例提供的数据处理方法的流程示意图。所述方法包括:
在步骤S101中,获取待组合存储的属性及相应的属性值。
在步骤S102中,获取各个所述属性值对应的预置数字编号。
其中,所述步骤S101与步骤S102可具体为:
所述数据处理方法可基于一服务器上运行,该服务器主要用于对多种属性值进行组合存储。
本发明实施例中所述待组合存储的属性可以具体包括:OS操作系统、网际协议地址IP、统一资源定位符URL等等;其中,OS相应的属性值可以包括Android、Mac OS X、windows mobile、Symbian等,IP的属性值包括172.10.1.1、172.10.1.2……172.10.225.225,URL的属性值包括http://www.baidu.com/、http://www.google.com.hk/、http://www.qq.com/等;容易想到的是,此处列举仅为举例,本发明对需要组合存储的属性以及相应的属性值不作具体限定。
可以理解的是,在数据进行处理存储前,可预先对每一属性的各个属性值进行数字编号;针对一属性,每一属性值的编号不同,例如属性值的编号可以依次为0、1、2……N,其中,N表示该属性包含N种属性值。
在步骤S103中,将所述数字编号按照第一预置规则分别进行字节串转换,得到相应的编码。
在步骤S104中,将所述编码进行组合存储。
其中,所述步骤S103与步骤S104可具体为:
将数字编号进行字节串转换,得到以字节串展示的编码,其后将相应的编码进行组合存储,即利用不定长的字节串表示属性值,并对其进行组合存储,能省掉拼接符,存储空间能达到最优。
可以理解的是,所述第一预置规则可预先设置于服务器中,所述第一预置规则可以具体指示数字编号到编码的转换形式,如从十进制数值到二进制或从十进制数值到三进制等字节串转换形式,此处不作具体限定。
由上述可知,本实施例提供的数据处理方法,先对待组合存储的属性的各个属性值进行数字编号,然后将数字编号按预置规则进行字节串转换,得到相应编码并将其组合存储,即将以字节串表示的属性值进行组合存储;本发明实施例基于位压缩存储的方法,通过编号转换、利用相应的字节串存储格式对属性值进行组合存储,相对于现有使用拼接符进行简单的属性值拼接存储以及利用hash函数进行存储的方式,可以大大节省存储空间,从而减少造成服务器资源浪费,提高利用率。
第二实施例
请参阅图2,图2为本发明第二实施例提供的数据处理方法的流程示意图。其中,所述数据处理方法基于一服务器上运行,该服务器主要用于对多种属性值进行组合存储。
区别于第一实施例,本实施例主要针对将所述数字编号按照第一预置规则分别进行字节串转换,得到相应的编码的过程进行详细说明。所述方法包括:
在步骤S201中,设置两种以上属性及相应的属性值。
在步骤S202中,分别对每一属性的属性值依次序进行数字编号。
其中,所述步骤S201与步骤S202可具体为对属性值的预处理过程;在数据进行处理存储前,先建立一属性数据库,该数据库中包含有多种属性及相应的属性值,并且,预先对每一属性的各个属性值进行数字编号;针对一属性,每一属性值的编号不同,例如属性值的编号可以依次为0、1、2……N,其中,N表示该属性包含N种属性值。
在步骤S203中,获取待组合存储的属性及相应的属性值。
在步骤S204中,获取各个所述属性值对应的预置数字编号。
可以理解的是,本发明实施例中所述待组合存储的属性可以具体包括:OS操作系统、网际协议地址IP、统一资源定位符URL等等;其中,OS相应的属性值可以包括Android、Mac OS X、windows mobile、Symbian等,IP的属性值包括172.10.1.1、172.10.1.2……172.10.225.225,URL的属性值包括http://www.baidu.com/、http://www.google.com.hk/、http://www.qq.com/等。
容易想到的是,此处列举仅为举例,本发明对需要组合存储的属性以及相应的属性值不作具体限定。
在步骤S205中,将所述数字编号进行二进制转换,得到二进制转换后的数字编号。
在步骤S206中,按照预设字节串存储范围,将所述二进制转换后的数字编号以字节串的格式进行表示,并定义字节串中每一字节的最后一位为该字节的结束符;
其中,所述结束符设定“1”指示该字节是字节串最后一个字节,设定“0”指示该字节并非字节串最后一个字节。
在步骤S207中,将字节串确定为该数字编号相应的编码。
其中,所述步骤S205至步骤S207可为将数字编号按照第一预置规则分别进行字节串转换,得到相应的编码的一种优选方式。
可以理解的是,在数据进行处理存储前,还可以优选的先定义出字节串的存储范围,即每个属性值可由可变长的byte表示:
例如:1byte可以表示(0~127)128个编号;
2byte可以表示(128~16383)16256个编号;
3byte可以表示(16384~2097152)2080768个编号。
按照前述字节串存储范围,将二进制转换后的数字编号以字节串的格式进行表示后,定义字节串最后一位为该字节串的结束符,其中,所述结束符设定“1指”示该字节是字节串最后一个字节,即该属性值到该字节结束;设定“0”指示该字节并非字节串最后一个字节,即当前属性值的字节串不完整,需要继续读后一字节串以表示整个属性值。
将二进制转换后的数字编号以字节串的格式进行表示之后,将字节串确定为该数字编号相应的编码,例如,数字编号为“3”,其对应的编码为“00000111”,数字编号为“2939”,其对应的编码为“00010110 11110111”。容易想到的是,此处为了方便理解,用下划线表示出结束符。
在步骤S208中,按照预设的组合顺序,将字节串转换得到后的编码进行组合存储。
也就是按照属性值的组合顺序,将字节串转换得到后的编码进行组合存储;例如,设定的属性值组合顺序为OS+IP+URL,则按照OS属性值对应的编码、IP属性值对应的编码、URL属性值对应的编码的顺序将各编码进行组合存储。
优选的,在将属性值进行存储后,还可以根据用户的操作指示进行展示,可具体的,在将字节串转换得到后的编码进行组合存储之后还可以包括:
步骤a、获取数据读取请求;
步骤b、根据所述数据读取请求,将相应的编码按照第二预置规则分别进行转换,得到相应的数字编号。
可以理解的是,所述数据读取请求可以由用户通过触摸或点击客户端屏幕的方式向服务器发出;服务器接收该数据读取请求后,将相应的编码按照第二预置规则分别进行转换,其中,所述第二预置规则为前述第一预置规则的逆过程。
进一步优选的,在以字节串的格式表示的编码中,将除了结束符的其他字节进行十进制转换,可以得到相应的数字编号。即忽略通过二进制表示的编码的最后一位字节,对其余字节进行十进制转换,得到相应的数字编号,从而可以读取到对应的属性值并展示。
由上述可知,本实施例提供的数据处理方法,先对待组合存储的属性的各个属性值进行数字编号,然后将数字编号按预置规则进行字节串转换,得到相应编码并将其组合存储,即将以字节串表示的属性值进行组合存储;本发明实施例基于位压缩存储的方法,通过编号转换、利用相应的字节串存储格式对属性值进行组合存储,相对于现有使用拼接符进行简单的属性值拼接存储以及利用hash函数进行存储的方式,可以大大节省存储空间,从而减少造成服务器资源浪费,提高利用率。
第三实施例
区别于第二实施例,本实施例主要针对将所述数字编号按照第一预置规则分别进行字节串转换,得到相应的编码、以及将相应的编码按照第二预置规则分别进行转换,得到相应的数字编号这两个过程的实现进行详细说明。
为便于理解和描述,本发明实施例中待组合存储的属性可以具体包括以下三种:OS操作系统、网际协议地址IP以及统一资源定位符URL;其中,OS相应的属性值可以包括Android、Mac OS X、windows mobile、Symbian等,IP的属性值包括172.10.1.1、172.10.1.2……172.10.225.225,URL的属性值包括http://www.baidu.com/、http://www.google.com.hk/、http://www.qq.com/等等。
本发明实施例中使用数字编号对应的不定长byte进行存储,即将数字编号以字节串的格式进行表示,定义字节串中每一字节的最后一位为该字节的结束符;其中,所述结束符设定“1”指示该字节是字节串最后一个字节,设定“0”指示该字节并非字节串最后一个字节。由于每个属性值可由可变长的byte表示,因此需先定义出字节串的存储范围,例如:1byte可以表示(0~127)128个编号;2byte可以表示(128~16383)16256个编号;3byte可以表示(16384~2097152)2080768个编号。
假如一个多值组合如下:
v=Android172.10.1.2http://www.baidu.com/
其中,Android的数字编号为3;172.10.1.2的数字编号为2939,http://www.baidu.com/的数字编号为123,将各数字编号通过前述定义字节串的格式可得到对应的编码。
可具体的,3的二进制转换为00000011,因此Android对应的编码为00000111;2939的二进制转换为00001011 01111011,因此172.10.1.2对应的编码为00010110 11110111;123的二进制转换为01111011,因此http://www.baidu.com/对应的编码为11110111;容易想到的是,此处为了方便理解,用下划线表示出结束符;由此得到有序的多值组合v=00000111000101101111011111110111,仅需要4个byte进行存储,不仅能省掉拼接符,还能使存储空间能达到最优。
其中数字编号到字节串(即编码)的转换可根据以下伪代码进行实现:
可以理解的是,上述伪代码可以表示:如果编号值属于范围[0~127],则使用一个字节就可表示,字节值=((编号值<<1)|1)的低位字节;如果编号值属于范围[128~16383],需要用两个字节表示,则第一个字节值=((编号值>>6)&254)的低位字节,第二个字节值=(((编号值<<1)&254)|1)的低位字节;如果编号值属于范围[16384~2097151],需要要用三个字节表示,则第一个字节值=((编号值>>13)&254)的低位字节,第二个字节值=((编号值>>6)&254)的低位字节,第三个字节值=(((编号值<<1)&254)|1)的低位字节;其中,“<<”表示向左移位符,“>>”表示向右移位符,“|”表示按位或运算,“&”表示按位与运算。
相反,当接收到数据读取请求时,需要将相应的编码分别进行转换,得到相应的数字编号并展示,转换过程中,不考虑每个字节的最后一位,例如00010110 11110111的字节值为00001011 01111011由此计算二进制的值得知相应的编号为2939。其中字节串(即编码)到数字编号的转换可根据以下伪代码进行实现:
可以理解的是,上述伪代码中,ans表示要转化的编号,首先初始化为0;循环不断更新ans的值,即执行以下循环:for i=0to该字节串长度,ans=((ans<<7)|(127&(第i个字节值>>1))),结束循环后就是转化的结果。其中,“<<”表示向左移位符,“>>”表示向右移位符,“|”表示按位或运算,“&”表示按位与运算。
在上述实施例中没有详述的部分,可以参见上文针对数据处理方法的详细描述,此处不再赘述。
由上述可知,本实施例提供的数据处理方法,先对待组合存储的属性的各个属性值进行数字编号,然后将数字编号按预置规则进行字节串转换,得到相应编码并将其组合存储,即将以字节串表示的属性值进行组合存储;本发明实施例基于位压缩存储的方法,通过编号转换、利用相应的字节串存储格式对属性值进行组合存储,相对于现有使用拼接符进行简单的属性值拼接存储以及利用hash函数进行存储的方式,可以大大节省存储空间,从而减少造成服务器资源浪费,提高利用率。进一步的,使用本方法基于位压缩存储的方式,在多个存储系统中可以很好的节省存储资源,为设计高效索引key提供了基础,强化了系统的快速查询和统计功能。
第四实施例
为便于更好的实施本发明实施例提供的数据处理方法,本发明实施例还提供一种基于上述数据处理方法的装置。其中名词的含义与上述数据处理的方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图3,图3为本发明实施例提供的数据处理装置的结构示意图,其中所述数据处理装置可基于一接收服务器上运行,该服务器主要用于对多种属性值进行组合存储。
如图3所示,本发明所述数据处理装置可以包括第一获取模块301、第二获取模块302、转换模块303以及存储模块304。
其中,所述第一获取模块301,用于获取待组合存储的属性及相应的属性值;所述第二获取模块302,用于获取各个所述属性值对应的预置数字编号;
本发明实施例中所述待组合存储的属性可以具体包括:OS操作系统、网际协议地址IP、统一资源定位符URL等等;其中,OS相应的属性值可以包括Android、Mac OS X、windows mobile、Symbian等,IP的属性值包括172.10.1.1、172.10.1.2……172.10.225.225,URL的属性值包括http://www.baidu.com/、http://www.google.com.hk/、http://www.qq.com/等;容易想到的是,此处列举仅为举例,本发明对需要组合存储的属性以及相应的属性值不作具体限定。
所述转换模块303,用于将所述数字编号按照第一预置规则分别进行字节串转换,得到相应的编码;所述存储模块304,用于将所述编码进行组合存储。
将数字编号进行字节串转换,得到以字节串展示的编码,其后将相应的编码进行组合存储,即利用不定长的字节串表示属性值,并对其进行组合存储,能省掉拼接符,存储空间能达到最优。
可以理解的是,所述第一预置规则可预先设置于服务器中,所述第一预置规则可以具体指示数字编号到编码的转换形式,如从十进制数值到二进制或从十进制数值到三进制等字节串转换形式,此处不作具体限定。
由上述可知,本实施例提供的数据处理装置,先对待组合存储的属性的各个属性值进行数字编号,然后将数字编号按预置规则进行字节串转换,得到相应编码并将其组合存储,即将以字节串表示的属性值进行组合存储;本发明实施例基于位压缩存储的方法,通过编号转换、利用相应的字节串存储格式对属性值进行组合存储,相对于现有使用拼接符进行简单的属性值拼接存储以及利用hash函数进行存储的方式,可以大大节省存储空间,从而减少造成服务器资源浪费,提高利用率。
第五实施例
请参阅图4,图4为本发明实施例提供的数据处理装置的结构示意图,其中所述数据处理装置包括:第一获取模块401、第二获取模块402、转换模块403以及存储模块404,其中,该实施例中上述各功能模块的功能作用可对应参考第四实施例中的所述第一获取模块301、第二获取模块302、转换模块303以及存储模块304的相关描述,此处不作赘述。
优选的,所述数据处理装置,还可以包括设置模块405以及编号模块406,可具体用于预先设置属性数据库,该数据库包括多种属性以及其相应的具体属性值,同时,针对每一属性,分别对其属性值进行数字编号。
其中,所述设置模块405,用于设置两种以上属性及相应的属性值;所述编号模块406,用于分别对每一属性的属性值依次序进行数字编号。
可以理解的是,设置模块405以及编号模块406主要用于对属性值的预处理;在数据进行处理存储前,先建立一属性数据库,并且,预先对每一属性的各个属性值进行数字编号;针对一属性,每一属性值的编号不同,例如属性值的编号可以依次为0、1、2……N,其中,N表示该属性包含N种属性值。
进一步的,所述转换模块403可以包括第一转换单元4031、设置单元4032以及确定单元4033:用于将所述数字编号按照第一预置规则分别进行字节串转换,得到相应的编码;
其中所述第一转换单元4031,用于将所述数字编号进行二进制转换,得到二进制转换后的数字编号;所述设置单元4032,用于按照预设字节串存储范围,将所述二进制转换后的数字编号以字节串的格式进行表示,并定义字节串中每一字节的最后一位为该字节的结束符,其中,所述结束符设定“1”指示该字节是字节串最后一个字节,设定“0”指示该字节并非字节串最后一个字节;所述确定单元4033,用于将字节串确定为该数字编号相应的编码。
可以理解的是,在数据进行处理存储前,还可以优选的先定义出字节串的存储范围,即每个属性值可由可变长的byte表示:
例如:1byte可以表示(0~127)128个编号;
2byte可以表示(128~16383)16256个编号;
3byte可以表示(16384~2097152)2080768个编号。
按照前述字节串存储范围,将二进制转换后的数字编号以字节串的格式进行表示后,定义字节串最后一位为该字节串的结束符,其中,所述结束符设定“1”指示该字节串是字节串最后一个字节,即该属性值到该字节结束;设定“0”指示该字节并非字节串最后一个字节,即当前属性值的字节串不完整,需要继续读后一字节串以表示整个属性值。
将二进制转换后的数字编号以字节串的格式进行表示之后,将字节串确定为该数字编号相应的编码,例如,数字编号为“3”,其对应的编码为“00000111”,数字编号为“2939”,其对应的编码为“00010110 11110111”。容易想到的是,此处为了方便理解,用下划线表示出结束符。
优选的,所述存储模块404可具体用于:按照预设的组合顺序,将字节串转换得到后的编码进行组合存储。
也就是按照属性值的组合顺序,将字节串转换得到后的编码进行组合存储;例如,设定的属性值组合顺序为OS+IP+URL,则按照OS属性值对应的编码、IP属性值对应的编码、URL属性值对应的编码的顺序将各编码进行组合存储。
更进一步优选的,所述装置还可以包括第三获取模块407,以在将属性值进行存储后,还可以根据用户的操作指示进行展示;具体的,所述第三获取模块407,用于获取数据读取请求;基于此,所述转换模块403,还用于根据所述数据读取请求,将相应的编码按照第二预置规则分别进行转换,得到相应的数字编号。
可以理解的是,所述数据读取请求可以由用户通过触摸或点击客户端屏幕的方式向服务器发出;服务器接收该数据读取请求后,将相应的编码按照第二预置规则分别进行转换,其中,所述第二预置规则为前述第一预置规则的逆过程。
可具体的,所述转换模块403还可以包括第二转换单元4034,用于在以字节串的格式表示的编码中,将除了结束符的其他字节进行十进制转换,得到相应的数字编号。
在以字节串的格式表示的编码中,将除了结束符的其他字节进行十进制转换,可以得到相应的数字编号。即忽略通过二进制表示的编码的最后一位字节,对其余字节进行十进制转换,得到相应的数字编号,从而可以读取到对应的属性值并展示。
由上述可知,本实施例提供的数据处理装置,先对待组合存储的属性的各个属性值进行数字编号,然后将数字编号按预置规则进行字节串转换,得到相应编码并将其组合存储,即将以字节串表示的属性值进行组合存储;本发明实施例基于位压缩存储的方法,通过编号转换、利用相应的字节串存储格式对属性值进行组合存储,相对于现有使用拼接符进行简单的属性值拼接存储以及利用hash函数进行存储的方式,可以大大节省存储空间,从而减少造成服务器资源浪费,提高利用率。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对数据处理方法的详细描述,此处不再赘述。
本发明实施例提供的所述数据处理装置,譬如为计算机、平板电脑、具有触摸功能的手机等等,所述数据处理装置与上文实施例中的数据处理方法属于同一构思,在所述数据处理装置上可以运行所述数据处理方法实施例中提供的任一方法,其具体实现过程详见所述数据处理方法实施例,此处不再赘述。
需要说明的是,对本发明所述数据处理方法而言,本领域普通测试人员可以理解实现本发明实施例所述数据处理方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在终端的存储器中,并被该终端内的至少一个处理器执行,在执行过程中可包括如所述数据处理方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。
对本发明实施例的所述数据处理装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本发明实施例所提供的一种数据处理方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种数据处理方法,其特征在于,包括:
获取待组合存储的属性及相应的属性值;
获取各个所述属性值对应的预置数字编号;
将所述数字编号按照第一预置规则分别进行字节串转换,得到相应的编码;
将所述编码进行组合存储。
2.根据权利要求1所述的数据处理方法,其特征在于,所述获取待组合存储的属性及相应的属性值之前,还包括:
设置两种以上属性及相应的属性值;
分别对每一属性的属性值依次序进行数字编号。
3.根据权利要求1所述的数据处理方法,其特征在于,所述将所述数字编号按照第一预置规则分别进行字节串转换,得到相应的编码,包括:
将所述数字编号进行二进制转换,得到二进制转换后的数字编号;
按照预设字节串存储范围,将所述二进制转换后的数字编号以字节串的格式进行表示,并定义字节串中每一字节的最后一位为该字节的结束符,其中,所述结束符设定1指示该字节是字节串最后一个字节,设定0指示该字节并非字节串最后一个字节;
将字节串确定为该数字编号相应的编码。
4.根据权利要求1至3任一项所述的数据处理方法,其特征在于,所述将所述编码进行组合存储,包括:
按照预设的组合顺序,将字节串转换得到后的编码进行组合存储。
5.根据权利要求3所述的数据处理方法,其特征在于,所述将所述编码进行组合存储之后,还包括:
获取数据读取请求;
根据所述数据读取请求,将相应的编码按照第二预置规则分别进行转换,得到相应的数字编号。
6.根据权利要求5所述的数据处理方法,其特征在于,所述根据所述数据读取请求,将相应的编码按照第二预置规则分别进行转换,得到相应的数字编号,包括:
在以字节串的格式表示的编码中,将除了结束符的其他字节进行十进制转换,得到相应的数字编号。
7.一种数据处理装置,其特征在于,包括:
第一获取模块,用于获取待组合存储的属性及相应的属性值;
第二获取模块,用于获取各个所述属性值对应的预置数字编号;
转换模块,用于将所述数字编号按照第一预置规则分别进行字节串转换,得到相应的编码;
存储模块,用于将所述编码进行组合存储。
8.根据权利要求7所述的数据处理装置,其特征在于,所述装置还包括:
设置模块,用于设置两种以上属性及相应的属性值;
编号模块,用于分别对每一属性的属性值依次序进行数字编号。
9.根据权利要求7所述的数据处理装置,其特征在于,所述转换模块包括:
第一转换单元,用于将所述数字编号进行二进制转换,得到二进制转换后的数字编号;
设置单元,用于按照预设字节串存储范围,将所述二进制转换后的数字编号以字节串的格式进行表示,并定义字节串中每一字节的最后一位为该字节的结束符,其中,所述结束符设定1指示该字节是字节串最后一个字节,设定0指示该字节并非字节串最后一个字节;
确定单元,用于将字节串确定为该数字编号相应的编码。
10.根据权利要求7至9任一项所述的数据处理装置,其特征在于,所述存储模块具体用于:按照预设的组合顺序,将字节串转换得到后的编码进行组合存储。
11.根据权利要求9所述的数据处理装置,其特征在于,所述装置还包括:
第三获取模块,用于获取数据读取请求;
所述转换模块,还用于根据所述数据读取请求,将相应的编码按照第二预置规则分别进行转换,得到相应的数字编号。
12.根据权利要求11所述的数据处理装置,其特征在于,所述转换模块还包括第二转换单元,用于在以字节串的格式表示的编码中,将除了结束符的其他字节进行十进制转换,得到相应的数字编号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510453915.2A CN106407201B (zh) | 2015-07-29 | 2015-07-29 | 一种数据处理方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510453915.2A CN106407201B (zh) | 2015-07-29 | 2015-07-29 | 一种数据处理方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106407201A true CN106407201A (zh) | 2017-02-15 |
CN106407201B CN106407201B (zh) | 2020-12-01 |
Family
ID=58008734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510453915.2A Active CN106407201B (zh) | 2015-07-29 | 2015-07-29 | 一种数据处理方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106407201B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038149A (zh) * | 2017-04-28 | 2017-08-11 | 北京新能源汽车股份有限公司 | 一种车辆数据的处理方法、装置及设备 |
CN107727082A (zh) * | 2017-11-09 | 2018-02-23 | 国家海洋局第二海洋研究所 | 一种实时监测浮标的模块化系统 |
WO2018188666A1 (zh) * | 2017-04-14 | 2018-10-18 | 华为技术有限公司 | 信息处理方法及装置 |
CN109388635A (zh) * | 2017-08-03 | 2019-02-26 | 广东蓝盾移动互联网信息科技有限公司 | 一种多值数据基于二进制和字典表的数据存储法 |
CN109446488A (zh) * | 2018-08-21 | 2019-03-08 | 深圳市华力特电气有限公司 | 一种数据处理方法和装置 |
CN109471855A (zh) * | 2018-09-11 | 2019-03-15 | 中交广州航道局有限公司 | 船舶数据索引建立方法、加载方法、装置和计算机设备 |
CN109840080A (zh) * | 2018-12-28 | 2019-06-04 | 东软集团股份有限公司 | 字符属性比较方法、装置、存储介质及电子设备 |
CN109934628A (zh) * | 2019-03-08 | 2019-06-25 | 智者四海(北京)技术有限公司 | 特征处理方法及装置 |
CN110309376A (zh) * | 2019-07-10 | 2019-10-08 | 深圳市友华软件科技有限公司 | 嵌入式平台的配置条目管理方法 |
CN111723053A (zh) * | 2020-06-24 | 2020-09-29 | 北京航天数据股份有限公司 | 一种数据的压缩方法及装置、解压方法及装置 |
CN112004093A (zh) * | 2020-09-02 | 2020-11-27 | 烟台艾睿光电科技有限公司 | 一种红外数据压缩方法、装置及设备 |
CN112232025A (zh) * | 2019-06-26 | 2021-01-15 | 杭州海康威视数字技术股份有限公司 | 一种字符串存储方法、装置及电子设备 |
CN113301175A (zh) * | 2020-07-14 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 服务调用方法及数据存储方法、装置、设备和存储介质 |
CN114532658A (zh) * | 2020-11-10 | 2022-05-27 | 中国移动通信集团四川有限公司 | 一种运动状态呈现方法、装置及电子设备 |
CN116301666A (zh) * | 2023-05-17 | 2023-06-23 | 杭州数云信息技术有限公司 | Java对象序列化方法及其反序列化方法及装置、终端 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102890675A (zh) * | 2011-07-18 | 2013-01-23 | 阿里巴巴集团控股有限公司 | 一种数据存储和查找的方法及装置 |
CN103034698A (zh) * | 2012-12-05 | 2013-04-10 | 北京奇虎科技有限公司 | 数据存储方法及装置 |
CN103365883A (zh) * | 2012-03-30 | 2013-10-23 | 华为技术有限公司 | 数据的索引查询方法、装置及系统 |
CN104199927A (zh) * | 2014-09-03 | 2014-12-10 | 腾讯科技(深圳)有限公司 | 数据处理方法及数据处理装置 |
CN104298695A (zh) * | 2013-07-19 | 2015-01-21 | 腾讯科技(深圳)有限公司 | 数据缓存方法、装置及服务器 |
US8949282B1 (en) * | 2007-12-21 | 2015-02-03 | Emc Corporation | Efficient storage of non-searchable attributes |
-
2015
- 2015-07-29 CN CN201510453915.2A patent/CN106407201B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949282B1 (en) * | 2007-12-21 | 2015-02-03 | Emc Corporation | Efficient storage of non-searchable attributes |
CN102890675A (zh) * | 2011-07-18 | 2013-01-23 | 阿里巴巴集团控股有限公司 | 一种数据存储和查找的方法及装置 |
CN103365883A (zh) * | 2012-03-30 | 2013-10-23 | 华为技术有限公司 | 数据的索引查询方法、装置及系统 |
CN103034698A (zh) * | 2012-12-05 | 2013-04-10 | 北京奇虎科技有限公司 | 数据存储方法及装置 |
CN104298695A (zh) * | 2013-07-19 | 2015-01-21 | 腾讯科技(深圳)有限公司 | 数据缓存方法、装置及服务器 |
CN104199927A (zh) * | 2014-09-03 | 2014-12-10 | 腾讯科技(深圳)有限公司 | 数据处理方法及数据处理装置 |
Non-Patent Citations (1)
Title |
---|
范远超等: "基于HDFS的海量音乐特征数据存储系统", 《计算机研究与发展》 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11132346B2 (en) | 2017-04-14 | 2021-09-28 | Huawei Technologies Co., Ltd. | Information processing method and apparatus |
WO2018188666A1 (zh) * | 2017-04-14 | 2018-10-18 | 华为技术有限公司 | 信息处理方法及装置 |
CN107038149A (zh) * | 2017-04-28 | 2017-08-11 | 北京新能源汽车股份有限公司 | 一种车辆数据的处理方法、装置及设备 |
CN109388635A (zh) * | 2017-08-03 | 2019-02-26 | 广东蓝盾移动互联网信息科技有限公司 | 一种多值数据基于二进制和字典表的数据存储法 |
CN107727082A (zh) * | 2017-11-09 | 2018-02-23 | 国家海洋局第二海洋研究所 | 一种实时监测浮标的模块化系统 |
CN107727082B (zh) * | 2017-11-09 | 2023-08-04 | 自然资源部第二海洋研究所 | 一种实时监测浮标的模块化系统 |
CN109446488A (zh) * | 2018-08-21 | 2019-03-08 | 深圳市华力特电气有限公司 | 一种数据处理方法和装置 |
CN109471855A (zh) * | 2018-09-11 | 2019-03-15 | 中交广州航道局有限公司 | 船舶数据索引建立方法、加载方法、装置和计算机设备 |
CN109471855B (zh) * | 2018-09-11 | 2021-07-06 | 中交广州航道局有限公司 | 船舶数据索引建立方法、加载方法、装置和计算机设备 |
CN109840080B (zh) * | 2018-12-28 | 2022-08-26 | 东软集团股份有限公司 | 字符属性比较方法、装置、存储介质及电子设备 |
CN109840080A (zh) * | 2018-12-28 | 2019-06-04 | 东软集团股份有限公司 | 字符属性比较方法、装置、存储介质及电子设备 |
CN109934628B (zh) * | 2019-03-08 | 2021-03-19 | 智者四海(北京)技术有限公司 | 特征处理方法及装置 |
CN109934628A (zh) * | 2019-03-08 | 2019-06-25 | 智者四海(北京)技术有限公司 | 特征处理方法及装置 |
CN112232025B (zh) * | 2019-06-26 | 2023-11-03 | 杭州海康威视数字技术股份有限公司 | 一种字符串存储方法、装置及电子设备 |
CN112232025A (zh) * | 2019-06-26 | 2021-01-15 | 杭州海康威视数字技术股份有限公司 | 一种字符串存储方法、装置及电子设备 |
CN110309376A (zh) * | 2019-07-10 | 2019-10-08 | 深圳市友华软件科技有限公司 | 嵌入式平台的配置条目管理方法 |
CN111723053A (zh) * | 2020-06-24 | 2020-09-29 | 北京航天数据股份有限公司 | 一种数据的压缩方法及装置、解压方法及装置 |
CN113301175A (zh) * | 2020-07-14 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 服务调用方法及数据存储方法、装置、设备和存储介质 |
CN113301175B (zh) * | 2020-07-14 | 2022-04-12 | 阿里巴巴集团控股有限公司 | 服务调用方法及数据存储方法、装置、设备和存储介质 |
CN112004093A (zh) * | 2020-09-02 | 2020-11-27 | 烟台艾睿光电科技有限公司 | 一种红外数据压缩方法、装置及设备 |
CN114532658A (zh) * | 2020-11-10 | 2022-05-27 | 中国移动通信集团四川有限公司 | 一种运动状态呈现方法、装置及电子设备 |
CN116301666A (zh) * | 2023-05-17 | 2023-06-23 | 杭州数云信息技术有限公司 | Java对象序列化方法及其反序列化方法及装置、终端 |
CN116301666B (zh) * | 2023-05-17 | 2023-10-10 | 杭州数云信息技术有限公司 | Java对象序列化方法及其反序列化方法及装置、终端 |
Also Published As
Publication number | Publication date |
---|---|
CN106407201B (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106407201A (zh) | 一种数据处理方法及装置 | |
Fernández et al. | Binary RDF representation for publication and exchange (HDT) | |
CN109155763B (zh) | 数据流上的数字信号处理 | |
CN102750268A (zh) | 一种对象序列化方法、对象反序列化方法、装置及系统 | |
CN104737165B (zh) | 用于内存数据库查询处理的最优数据表示和辅助结构 | |
CN106503276A (zh) | 一种用于实时监控系统的时间序列数据库的方法与装置 | |
CN103002061B (zh) | 一种长域名与短域名互相转化的方法及装置 | |
US8838550B1 (en) | Readable text-based compression of resource identifiers | |
CN103177094A (zh) | 一种物联网数据清洗方法 | |
CN105706092A (zh) | 四值模拟的方法和系统 | |
CN103425692B (zh) | 数据导出方法和装置 | |
CN103440249A (zh) | 一种非结构化数据快速检索的系统及方法 | |
CN105183880A (zh) | 一种哈希连接的方法及装置 | |
CN101794318A (zh) | Url解析方法及设备 | |
CN116628066B (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN114139040A (zh) | 一种数据存储及查询方法、装置、设备及可读存储介质 | |
CN109933589B (zh) | 用于数据汇总的基于ElasticSearch聚合运算结果的数据结构转换方法 | |
CN104021124A (zh) | 用于处理网页数据的方法、装置和系统 | |
CN103218396B (zh) | 根据访问频次特征生成静态网页的调度运行可视化分析方法 | |
CN110389953B (zh) | 基于压缩图的数据存储方法、存储介质、存储装置和服务器 | |
CN103902651A (zh) | 一种基于MongoDB的云端代码查询方法与装置 | |
CN104090895B (zh) | 获取基数的方法、装置、服务器及系统 | |
CN104077282B (zh) | 处理数据的方法和装置 | |
CN105630896A (zh) | 一种快速导入海量数据的方法 | |
TW578067B (en) | Knowledge graphic system and method based on ontology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211227 Address after: 16F, Kungang science and technology building, 777 Huancheng South Road, Xishan District, Kunming, Yunnan 650100 Patentee after: Yunnan Tengyun Information Industry Co.,Ltd. Address before: 2, 518000, East 403 room, SEG science and Technology Park, Zhenxing Road, Shenzhen, Guangdong, Futian District Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TR01 | Transfer of patent right |