数据处理方法、装置及系统与流程

文档序号:11829789阅读:210来源:国知局
数据处理方法、装置及系统与流程

本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置及系统。



背景技术:

随着计算机技术与互联网技术的发展,网络服务运营商为用户提供的业务服务也越来也多,为了更好对业务服务进行管理,网络服务运营商通常通过各自独立的平台服务器来为用户提供咨询窗口,后台服务器需要经历多个模块的协同工作来完成一系列复杂的搜索操作。以可根据用户在客户端页面提问的问题,以文字、图片及视频等丰富的形式,为用户直观的展示该问题相关的游戏攻略的某游戏产品为例,该产品对外部用户提供的功能,其实就是一个基于海量游戏攻略的搜索引擎,用户每次提问问题的背后,后台服务器需要经历多个模块的协同工作来完成一系列复杂的搜索操作,包含问题分词、游戏攻略的加载和搜索计算等操作。现有技术中,在不同服务器之前的数据都是未经压缩直接传送的,存在数据传输效率低下,占用过多的网络带宽,单次问题搜索的时间过长等缺点。



技术实现要素:

有鉴于此,本发明提供一种数据处理方法、装置及系统,可以有效提高数据的传输率。

本发明实施例提供的一种数据处理方法,包括:获取传输的目标数据;从所述目标数据中获取多种不同类型的数值的数值列表;将所述不同类型 的数值的数值列表分别按照各自对应的压缩规则进行压缩,使得各所述不同类型的数值的数值列表的长度缩短;将压缩后的数据发送给接收端。

本发明实施例提供的另一种数据处理方法,包括:发送端获取传输的目标数据,从所述目标数据中获取多种不同类型的数值的数值列表,将所述不同类型的数值的数值列表分别按照各自对应的压缩规则进行压缩,使得各所述不同类型的数值的数值列表的长度缩短,将压缩后的数据发送给接收端;所述接收端接收所述发送端发送的所述压缩后的数据,按照各自对应的解压规则分别解压所述不同类型的数值的数值列表,根据解压后的所述不同类型的数值还原所述目标数据。

本发明实施例提供的一种数据处理装置,包括:目标数据获取模块,用于获取传输的目标数据;数值列表获取模块,用于从所述目标数据获取模块获取的所述目标数据中获取多种不同类型的数值的数值列表;压缩模块,用于将所述数值列表获取模块获取的所述不同类型的数值的数值列表分别按照各自对应的压缩规则进行压缩,使得各所述不同类型的数值的数值列表的长度缩短;发送模块,用于将所述压缩模块压缩后的数据发送给接收端。

本发明实施例提供的一种数据处理系统,包括:运行有上述数据处理装置的发送端,以及接收端;该接收端包括:接收模块,用于接收所述发送端发送的所述压缩后的数据;解压模块,用于按照各自对应的解压规则分别解压所述不同类型的数值的数值列表;还原模块,用于根据解压后的所述不同类型的数值还原目标数据。

本发明实施例提供的数据处理方法、装置及系统,通过从传输的目标数据中获取多种不同类型的数值的数值列表,然后将该不同类型的数值的数值列表分别按照各自对应的压缩规则进行压缩,再将压缩后的数据发送给接收端,可降低传输的数据量,从而有效降低后台服务器的网络带宽占用,提高数据处理效率。

为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。

附图说明

图1为本发明实施例提供的数据处理方法及装置的应用环境图;

图2示出了一种服务器的结构框图;

图3为本发明第一实施例提供的一种数据处理方法的流程图;

图4为本发明第二实施例提供的一种数据处理方法的流程图;

图5为本发明第二实施例提供的一种数据处理方法中压缩前后的整型数值的数值列表的示意图;

图6为本发明第二实施例提供的一种数据处理方法中压缩前后的浮点型数值的数值列表的示意图;

图7为本发明第二实施例提供的一种数据处理方法中优化前后的数据传输字节数对比图;

图8为本发明第三实施例提供的一种数据处理方法的时序图;

图9为本发明第三实施例提供的一种数据处理方法中数据压缩及解压缩的示例图;

图10为本发明第四实施例提供的一种数据处理装置的结构示意图;

图11为本发明第五实施例提供的一种数据处理装置的结构示意图;

图12为本发明第六实施例提供的一种数据处理系统的结构示意图。

具体实施方式

为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。

图1为本发明实施例提供的数据处理方法及装置的应用环境图。如图1 所示,一个或多个发送端100(图1中仅示出一个)与一个或多个接收端200(图1中仅示出一个)位于有线或无线网络中,通过该有线或无线网络进行数据交互,以实现以下各实施例提供的数据处理方法。上述的接收端200和发送端100可以是服务器,所述服务器是指部署在网络环境中的计算机,用于侦听接收到的数据处理请求,并处理所述请求。

发送端100获取传输的目标数据,从该目标数据中获取多种不同类型的数值的数值列表,将该不同类型的数值的数值列表分别按照各自对应的压缩规则进行压缩,使得各该不同类型的数值的数值列表的长度缩短,将压缩后的数据发送给接收端200。接收端200接收发送端100发送的该压缩后的数据,按照各自对应的解压规则分别解压该不同类型的数值的数值列表,根据解压后的该不同类型的数值还原该目标数据。

图2示出了一种服务器的结构框图,可适用发送端100或接收端200。如图2所示,该服务器包括:存储器101、处理器102以及网络模块103。

可以理解地,图2所示的结构仅为示意,该服务器还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。另外,本发明实施例中的服务器还可以包括多个具体不同功能的服务器。

存储器101可用于存储软件程序以及模块,如本发明实施例中的数据处理方法与装置对应的程序指令/模块,处理器102通过运行存储在存储器101内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本发明实施例中的数据处理方法。存储器101可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器101可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至该服务器。进一步地,上述软件程序以及模块还可包括:操作系统121以及服务模块122。其中操作系统121,例如可为LINUX、UNIX、WINDOWS等等, 其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。服务模块122运行在操作系统121的基础上,并通过操作系统121的网络服务监听来自网络的请求,根据请求完成相应的数据处理,并返回处理结果给客户端。也就是说,服务模块122用于向客户端提供网络服务。

网络模块103用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。在一个实例中,上述网络信号为有线网络信号。此时,网络模块103可包括处理器、随机存储器、转换器、晶体振荡器等元件。

以下将结合具体的实施例进一步说明上述发送端100与接收端200各自的工作过程。

第一实施例

请参阅图3,为本发明第一实施例提供的一种数据处理方法的流程图,本实施例是基于发送端100一侧对本发明提供的一种数据处理方法进行的说明。如图3所示,该方法包括以下步骤:

S101、获取传输的目标数据;

发送端100从数据库读取数据,并根据预置的构造规则生成目标数据。或者,发送端100也可从其他设备获取目标数据。目标数据中包含多个不同类型的数值,也即,该目标数据是由多种不同类型的数值构成。具体地,该目标数据可以为数值型数据,较佳地该数值型数据基于倒排索引(inverted index)方式存储,即,由很多个倒排索引项<DocId,Tf>组成。倒排索引为索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引。倒排列表用来记录有哪些文档包含了某个单词。一般在文档集合里会有很多文档包含某个单词,每个文档会记录文档编号(DocID),单词在这个文档中出现的次数(Tf)及单词在文档中哪些位置出现过等信息, 这样与一个文档相关的信息被称做倒排索引项(Posting),包含这个单词的一系列倒排索引项形成了列表结构,这就是某个单词对应的倒排列表。在文档集合中出现过的所有单词及其对应的倒排列表组成了倒排索引。其中,DocId值是整型数值,Tf值是浮点型数值,同一个倒排索引项中的DocId与Tf之间具有一一对应的逻辑对应关系。整型(INTEGER)数是不包含小数部分的数值型数据,只用来表示整数,以二进制形式存储。浮点型数是包含小数部分的数值型数据。

S102、从该目标数据中获取多种不同类型的数值的数值列表;

具体地,发送端100首先提取该目标数据中包含的所有数值,并根据提取出的数值的类型进行归类,得到分别与不同类型的数值各自对应的多个数值列表,该数值列表中存储有该目标数据中包含的与该数值列表对应的同一个类型的所有数值。以上述数值型数据为例,即获取整型数值的数值列表与浮点型数值的数值列表。

S103、将该不同类型的数值的数值列表分别按照各自对应的压缩规则进行压缩,使得各该不同类型的数值的数值列表的长度缩短;

该不同类型的数值的数值列表各自对应的可以是同一种压缩规则,也可以是分别与数值的类型的特性对应的不同种类的压缩规则。仍以上述数值型数据为例,具体地,可以将该整型数值的数值列表中的整型数值按照第一压缩规则(如,差额压缩规则)进行压缩,以及将该浮点型数值的数值列表中的浮点型数值按照第二压缩规则(如,合并压缩规则)进行压缩。像这样,将该不同类型的数值的数值列表分别按照与所包含的数值的类型的特性各自对应的压缩规则进行压缩,可以使得压缩更具有针对性,进一步提高压缩率。或者,也可以将该整型数值的数值列表中的整型数值以及该浮点型数值的数值列表中的浮点型数值,分别按照该第二压缩规则进行压缩。

S104、将压缩后的数据发送给接收端。

发送端100将压缩后的数据发送给接收端200,然后由接收端200按照各自对应的解压规则分别解压该不同类型的数值的数值列表,再根据解压后的该不同类型的数值还原该目标数据。

较佳地,为进一步提高压缩率,发送端100可在将该压缩后的数据发送给接收端200之前,按照LZ4算法对该压缩后的数据进行二次压缩。LZ4算法是一种无损压缩算法,具有非常高效的压缩和解压缩速度,对于需要大吞吐量的压缩场合是非常高性能的,可以很小的CPU代价换来更大的压缩存储密度。可以理解地,LZ4算法只是一种较佳示例,在实际应用中,还可采用其他与LZ4算法类似的或与压缩后的数据的特性对应的其他压缩算法进行二次压缩。

本发明实施例提供的数据处理方法,通过从传输的目标数据中获取多种不同类型的数值的数值列表,然后将该不同类型的数值的数值列表分别按照各自对应的压缩规则进行压缩,再将压缩后的数据发送给接收端,可降低传输的数据量,从而有效降低后台服务器的网络带宽占用,提高数据处理效率。

第二实施例

请参阅图4,为本发明第二实施例提供的一种数据处理方法的流程图,本实施例是基于发送端100一侧对本发明提供的一种数据处理方法进行的说明。如图4所示,该方法包括以下步骤:

S201、获取传输的目标数据;

目标数据中包含多个不同类型的数值,也即,该目标数据是由多种不同类型的数值构成。具体地,该目标数据可以为数值型数据,较佳地该数值型数据基于倒排索引(inverted index)方式存储,即,由很多个倒排索引项<DocId,Tf>组成。倒排索引为索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引。倒排列表用来记录有哪些文档包 含了某个单词。一般在文档集合里会有很多文档包含某个单词,每个文档会记录文档编号(DocID),单词在这个文档中出现的次数(TF)及单词在文档中哪些位置出现过等信息,这样与一个文档相关的信息被称做倒排索引项(Posting),包含这个单词的一系列倒排索引项形成了列表结构,这就是某个单词对应的倒排列表。在文档集合中出现过的所有单词及其对应的倒排列表组成了倒排索引。其中,DocId值是整型数值,Tf值是浮点型数值,同一个倒排索引项中的DocId与Tf之间具有一一对应的逻辑对应关系。整型(INTEGER)数是不包含小数部分的数值型数据,只用来表示整数,以二进制形式存储。浮点型数是包含小数部分的数值型数据。

S202、从该目标数据中获取整型数值的数值列表与浮点型数值的数值列表;

具体地,发送端100首先提取该目标数据中包含的所有整型数值与浮点型数值,并根据提取出的数值的类型进行归类,得到分别与不同类型的数值各自对应的整型数值的数值列表与浮点型数值的数值列表,其中该整型数值的数值列表中存储有该目标数据中包含的所有整型数值,该浮点型数值的数值列表中存储有该目标数据中包含的所有浮点型数值。

S203、将该整型数值的数值列表中的整型数值按照第一压缩规则进行压缩,以及将该浮点型数值的数值列表中的浮点型数值按照第二压缩规则进行压缩;

于本实施例中,本步骤具体包括:

步骤一、将该整型数值的数值列表中的整型数值按照差额压缩规则进行压缩,即,保留该整型数值的数值列表中位于首位的整型数值,将除该位于首位的整型数值以外的其他整型数值分别处理为与前一位整型数值的差值。

具体地,如图5所示,举例来说,假设需要传输的整型数值的数值列表是20000 20001 20002 20003 20004 20005,为了减少传输的字节数,将其 优化成差额压缩的方式进行传输,即20000 1 1 1 1 1,该数值列表中的第一个值20000保持不变,第二个值为20001和20000的差值,第三个值为20002和20001的差值,其他的依此类推进行处理。可以理解地,接收端200接收到这串数值后,可以通过第一个值20000依次计算出其它整型数值。经过这种压缩方法,可将例子中整型数值的数值列表的长度从35个字节压缩到了15字节。上述差额压缩方法,整型数值的值越大压缩效果越好,相邻两个整型数值的差额越小效果越好。

步骤二、将该浮点型数值的数值列表中的浮点型数值按照合并压缩规则进行压缩,即,统计该浮点型数值的数值列表中的相同的浮点型数值的数量,通过记录相同的浮点型数值以及对应的数量以合并相同的浮点型数值。

具体地,如图6所示,举例来说,假设需要传输的浮点型数值的数值列表是0.333333 0.222222 0.333333 0.222222,为了减少传输的字节数,优化成合并相同浮点型数值的方式进行传输,如:将该浮点型数值的数值列表中的数值合并为0.333333*2 0.222222*2后逐个进行传输。经过这种压缩方法,可将例子中浮点型数值的数值列表的长度从35个字节压缩到了21字节。上述合并压缩方法相较于差额压缩方法压缩效率更高,且相同的浮点型数值越多效果越好。

于其他实施例中,本步骤具体包括:

步骤一、对该浮点型数值的数值列表中的所有浮点型数值进行排序,并统计相同的浮点型数值的数量,通过记录相同的浮点型数值以及对应的数量以合并相同的浮点型数值。

具体地,将该浮点型数值的数值列表中的浮点型数值按照合并压缩规则进行压缩,即,对该浮点型数值的数值列表中的所有浮点型数值进行排序(按照从小到大或从大到小的顺序),并统计相同的浮点型数值的数量,通过记录相同的浮点型数值以及对应的数量以合并相同的浮点型数值。举 例来说,假设需要传输的浮点型数值的数值列表是0.333333 0.25 0.333333 0.333333,则先将该数值列表中无序的浮点型数值按照从大到小的顺序进行排序,把相同的浮点型数值排在一起成为0.333333 0.333333 0.333333 0.25,然后将排序结果按照“浮点型数值*出现的个数”的表现方式0.333333*3 0.222222*1逐个进行传输(或者,也可以将所有的“浮点型数值*出现的个数”一次传输给接收端200)。

步骤二、根据排序后的该浮点型数值的数值列表,以及该浮点型数值与该整型数值之间一一对应的逻辑对应关系,调整该整型数值的数值列表中的所有整型数值的顺序,保留顺序调整后的该整型数值的数值列表中位于首位的整型数值,将除该位于首位的整型数值以外的其他整型数值分别处理为与前一位整型数值的差值。

具体地,例如假设目标数据中整型数值与浮点型数值的对应关系为<1,0.333333><8,0.25><9,0.333333><5,0.333333>,将其中的浮点型数值按照从大到小的顺序排序为0.333333 0.333333 0.333333 0.25后,根据上述排序结果以及各整型数值与各浮点型数值之间一一对应的逻辑对应关系,将整型数值的数值列表中的所有整型数值的顺序从1 8 9 5调整为1 9 5 8,接着按照差额压缩规则将排序后的数值压缩为1(原值)8(9-1)-4(5-9)3(8-5)。

像这样优先对浮点型数值排序后进行压缩,然后再根据浮点型数值的排序结果,排序整型数值并压缩,可使得压缩出的数据更为有序,从而可提高接收端解压缩时的效率。

于其他实施例中,也可以将该整型数值的数值列表中的整型数值以及该浮点型数值的数值列表中的浮点型数值,分别按照第二压缩规则(合并压缩规则)进行压缩。具体地,统计该整型数值的数值列表中相同的整型数值的数量,通过记录相同的整型数值以及对应的数量以合并相同的整型数值;统计该浮点型数值的数值列表中相同的浮点型数值的数量,通过记 录相同的浮点型数值以及对应的数量以合并相同的浮点型数值。

S204、将该压缩后的数据按照LZ4算法进行压缩后发送给该接收端。

为进一步提高压缩率,发送端100可在将该压缩后的数据发送给接收端200之前,将压缩后的整型数值与浮点型数值合并,并可在每一对该压缩后的整型数值与浮点型数值之间配置分隔符,以区分整型数值与浮点型数值,并便于接收端200根据该分隔符确定该压缩后的整型数值与浮点型数值各自对应的解压规则,然后再按照LZ4算法进行二次压缩。LZ4算法是一种无损压缩算法,具有非常高效的压缩和解压缩速度,对于需要大吞吐量的压缩场合是非常高性能的,可以很小的CPU代价换来更大的压缩存储密度。可以理解地,LZ4算法只是一种较佳示例,在实际应用中,还可采用其他与LZ4算法类似的或与压缩后的数据的特性对应的其他压缩算法进行二次压缩。

经过测试证明,如图7所示,图中空白条形框所示为优化前的目标数据的字节数,带斜条纹的条形框所示为整型数值(DocID)与浮点型数值(Tf)压缩优化后的字节数,带横条纹的条形框所示为经LZ4压缩后的数据的字节数。其中案例1在未做优化和压缩传输之前,需要传输的数据长度为225,963字节,而在对整型数值和浮点型数值进行压缩优化后,数据压缩到了42,242字节,数据压缩率约等于81.3%(即1-42,242/225,963)。最后再经过LZ4算法压缩优化后,需要传输的字节数仅为15,247字节,数据压缩率约等于之前数据长度的64%(即1-15,247/42,242)。从上面的数据分析可以得出,综合运用前面提到的三种数值型数据压缩方法,优化后需要传输的字节数仅仅为优化前数据长度的6.7%(即15,247除以225,963),网络带宽占用节约了将近93%。

本发明实施例提供的数据处理方法,通过从传输的目标数据中获取多种不同类型的数值的数值列表,然后将该不同类型的数值的数值列表分别按照各自对应的压缩规则进行压缩,再将压缩后的数据通过LZ4算法二次 压缩后发送给接收端,实现了高性能的对数据进行压缩传输,可降低单次请求的后台服务器处理时长,节省大量网络带宽的占用,并大幅降低服务器端的带宽成本,同时还可有效控制对用户操作的响应时长,提升用户体验。此外,通过利用LZ4压缩算法二次压缩,可以较小的CPU代价换来较高的数据压缩和解压缩率,特别是在手机游戏业务压缩传输数据的场景中,它能有效降低游戏过程中所额外产生的流量消耗,提升用户的游戏体验,在网络质量较差的环境下效果更加明显。

第三实施例

请参阅图8,为本发明第三实施例提供的一种数据处理方法的时序图,本实施例是基于发送端100与接收端200交互的角度,对本发明提供的一种数据处理方法进行的说明。如图8所示,该方法包括以下步骤:

S301、发送端获取传输的目标数据;

S302、从该目标数据中获取多种不同类型的数值的数值列表;

S303、将该不同类型的数值的数值列表分别按照各自对应的压缩规则进行压缩,使得各该不同类型的数值的数值列表的长度缩短;

S304、将压缩后的数据发送给接收端;

步骤S301至S304具体可参考第二实施例的相关内容,此处不再赘述。

S305、该接收端接收该发送端发送的该压缩后的数据,按照各自对应的解压规则分别解压该不同类型的数值的数值列表;

具体地,接收端200接收压缩后的整型数值,可以根据第一个值,通过依次将后一个值与前一个值相加的方式,计算出其它整型数值。以图6所示的20000 1 1 1 1 1为例,即,根据20000,然后通过依次将后一个值与前一个值相加的方式,计算出其它整型数值20001(20000+1),20002(20001+1),20003(20002+1),20004(20003+1),20005(20004+1)。

同时,接收端200根据倒排索引的特性,基于整型数值与浮点型数值之间一一对应的逻辑对应关系,将压缩后的浮点型数值解压还原。可以理 解地,由于倒排索引的特性以及整型数值与浮点型数值之间的逻辑对应关系,即,一个倒排索引项对应一个整型数值与一个浮点型数值,该整型数值与该浮点型数值通过该倒排索引项被关联在一起,二者之间一一对应,当将整型数值处理为升序状态后,根据这种一一对应的逻辑对应关系可将浮点型数值还原。

进一步地,接收端200接收到压缩后的数据后,可判断发送端100发送的是否为按照LZ4算法经过二次压缩后的数据,若是,则先按照LZ4算法解压该压缩后的数据,然后再按照各自对应的解压规则分别解压该不同类型的数值的数值列表。

S306、根据解压后的该不同类型的数值还原该目标数据。

具体地,将解压后的该整型数值按照从小到大的顺序进行排列;根据排列后的该整型数值以及该整型数值与该浮点型数值之间一一对应的逻辑对应关系,调整解压后的该浮点型数值的顺序;根据排列后的该整型数值与顺序调整后的该浮点型数值,还原该目标数据。

为进一步说明本实施例提供的数据处理方法,结合图9,举例来说,假设发送方为索引服务器,接收方为搜索服务器,则索引服务器首先获取传输的目标数据:1 0.333333 5 0.333333 8 0.25 9 0.333333,然后分别提取其中的所有整型数值与浮点型数值,并据此生成整型数值的数值列表:1 5 8 9,以及浮点型数值的数值列表:0.333333 0.333333 0.333333 0.25;然后,将该浮点型数值的数值列表中的各浮点型数值按照从大到小的顺序排序后,再合并压缩为0.333333*3 0.25*1,并根据该浮点型数值的排序结果将该整型数值的数值列表中的各整型数值的顺序调整为1 5 9 8,接着按照差额压缩规则将顺序调整后的该整型数值的列表中的整型数值压缩为:1(原值)4(5-1)4(9-5)-1(8-9),其中不同类型的数值通过分隔符“|”进行分割,之后将上述压缩后的数据按照LZ4算法进行压缩后发送给搜索服务器。搜索服务器在接收到索引服务器发送的上述压缩数据后,首先按照LZ4 算法进行解压缩,然后将解压缩后的数据:144-1|0.333333*30.25*1中位于分隔符前后的不同类型的数值分别按照各自对应的解压规则解压缩为:1 5 9 8|0.333333 0.333333 0.333333 0.25,再将其中的整型数值按照从小到大的顺序进行排序为1589,接着根据整型数值与浮点型数值之间具有的一一对应的逻辑对应关系,调整浮点型数值的顺序为0.333333 0.333333 0.25 0.333333,最后将排序后的整型数值与顺序调整后的浮点型数值重组为目标数据:10.333333 5 0.333333 8 0.25 9 0.333333。

本发明实施例提供的数据处理方法,通过发送端从传输的目标数据中获取多种不同类型的数值的数值列表,然后将该不同类型的数值的数值列表分别按照各自对应的压缩规则进行压缩,再将压缩后的数据发送给接收端,由接收端解压并还原为该目标数据,可降低传输的数据量,从而有效降低后台服务器的网络带宽占用,提高数据处理效率。

第四实施例

请参阅图10,为本发明第四实施例提供的一种数据处理装置的结构示意图。本实施例提供的数据处理装置40可以运行于图1所示的发送端100中,用于实现上述实施例中的数据处理方法。如图10所示,数据处理装置40包括:

目标数据获取模块41,用于获取传输的目标数据;

数值列表获取模块42,用于从目标数据获取模块41获取的该目标数据中获取多种不同类型的数值的数值列表;

压缩模块43,用于将数值列表获取模块42获取的该不同类型的数值的数值列表分别按照各自对应的压缩规则进行压缩,使得各该不同类型的数值的数值列表的长度缩短;

发送模块44,用于将压缩模块43压缩后的数据发送给接收端。

本实施例对数据处理装置40的各功能模块实现各自功能的具体过程,请参见上述图1至图9所示实施例中描述的具体内容,此处不再赘述。

本发明实施例提供的数据处理装置,通过从传输的目标数据中获取多种不同类型的数值的数值列表,然后将该不同类型的数值的数值列表分别按照各自对应的压缩规则进行压缩,再将压缩后的数据发送给接收端,可降低传输的数据量,从而有效降低后台服务器的网络带宽占用,提高数据处理效率。

第五实施例

请参阅图11,为本发明第五实施例提供的一种数据处理装置的结构示意图。本实施例提供的数据处理装置50可以运行于图1所示的发送端100中,用于实现上述实施例中的数据处理方法。如图11所示,数据处理装置50包括:

目标数据获取模块41,用于获取传输的目标数据;

数值列表获取模块42,用于从目标数据获取模块41获取的该目标数据中获取多种不同类型的数值的数值列表;

压缩模块43,用于将数值列表获取模块42获取的该不同类型的数值的数值列表分别按照各自对应的压缩规则进行压缩,使得各该不同类型的数值的数值列表的长度缩短;

发送模块44,用于将压缩模块43压缩后的数据发送给接收端。

进一步地,该不同类型的数值包括整型数值以及浮点型数值,该整型数值与该浮点型数值一一对应,则压缩模块43包括:

第一压缩单元431,用于将该整型数值的数值列表中的整型数值按照第一压缩规则进行压缩,以及将该浮点型数值的数值列表中的浮点型数值按照第二压缩规则进行压缩;

第二压缩单元432,用于将该整型数值的数值列表中的整型数值以及该浮点型数值的数值列表中的浮点型数值,分别按照该第二压缩规则进行压缩。

进一步地,第一压缩单元431,还用于保留该整型数值的数值列表中位 于首位的整型数值,将除该位于首位的整型数值以外的其他整型数值分别处理为与前一位整型数值的差值;

第一压缩单元431,还用于统计该浮点型数值的数值列表中的相同的浮点型数值的数量,通过记录相同的浮点型数值以及对应的数量以合并相同的浮点型数值。

进一步地,第一压缩单元431,还用于对该浮点型数值的数值列表中的所有浮点型数值进行排序,并统计相同的浮点型数值的数量,通过记录相同的浮点型数值以及对应的数量以合并相同的浮点型数值;

第一压缩单元431,还用于根据排序后的该浮点型数值的数值列表,以及该浮点型数值与该整型数值之间一一对应的逻辑对应关系,调整该整型数值的数值列表中的所有整型数值的顺序,保留顺序调整后的该整型数值的数值列表中位于首位的整型数值,将除该位于首位的整型数值以外的其他整型数值分别处理为与前一位整型数值的差值。

进一步地,第二压缩单元432,还用于统计该整型数值的数值列表中相同的整型数值的数量,通过记录相同的整型数值以及对应的数量以合并相同的整型数值;

第二压缩单元432,还用于统计该浮点型数值的数值列表中相同的浮点型数值的数量,通过记录相同的浮点型数值以及对应的数量以合并相同的浮点型数值。

进一步地,压缩模块43还包括:

第三压缩单元433,用于将该压缩后的数据按照LZ4算法进行压缩;

发送模块44,还用于将按照LZ4算法进行压缩后的数据发送给该接收端。

本实施例对数据处理装置50的各功能模块实现各自功能的具体过程,请参见上述图1至图9所示实施例中描述的具体内容,此处不再赘述。

本发明实施例提供的数据处理装置,通过从传输的目标数据中获取多 种不同类型的数值的数值列表,然后将该不同类型的数值的数值列表分别按照各自对应的压缩规则进行压缩,再将压缩后的数据通过LZ4算法二次压缩后发送给接收端,实现了高性能的对数据进行压缩传输,可降低单次请求的后台服务器处理时长,节省大量网络带宽的占用,并大幅降低服务器端的带宽成本,同时还可有效控制对用户操作的响应时长,提升用户体验。此外,通过利用LZ4压缩算法二次压缩,可以较小的CPU代价换来较高的数据压缩和解压缩率,特别是在手机游戏业务压缩传输数据的场景中,它能有效降低游戏过程中所额外产生的流量消耗,提升用户的游戏体验,在网络质量较差的环境下效果更加明显。

第六实施例

请参阅图12,为本发明第六实施例提供的一种数据处理系统的结构示意图。如图12所示,数据处理系统60包括发送端61与接收端62。

其中,发送端61中运行有上述第五实施例或第六实施例所述的数据处理装置。

接收端62包括:

接收模块621,用于接收该发送端发送的该压缩后的数据;

解压模块622,用于按照各自对应的解压规则分别解压该不同类型的数值的数值列表;

还原模块623,用于根据解压后的该不同类型的数值还原目标数据。

于其他实施例中,进一步地,解压模块622,还用于按照LZ4算法解压该压缩后的数据,按照各自对应的解压规则分别解压该不同类型的数值的数值列表。

进一步地,该不同类型的数值包括整型数值以及浮点型数值,该整型数值与该浮点型数值一一对应,则还原模块623,还用于将解压后的该整型数值按照从小到大的顺序进行排列,根据排列后的该整型数值以及该整型数值与该浮点型数值之间一一对应的逻辑对应关系,调整解压后的该浮点 型数值的顺序,根据排列后的该整型数值与顺序调整后的该浮点型数值,还原该目标数据。

本实施例中数据处理系统中各装置实现功能的具体过程请参阅图1至图9对应实施例的方法,以及图10与图11对应实施例的装置,此处不再赘述。

本发明实施例提供的数据处理系统,通过发送端从传输的目标数据中获取多种不同类型的数值的数值列表,然后将该不同类型的数值的数值列表分别按照各自对应的压缩规则进行压缩,再将压缩后的数据发送给接收端,由接收端解压还原为该目标数据,可降低传输的数据量,从而有效降低后台服务器的网络带宽占用,提高数据处理效率。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者装置中还存在另外的相同要素。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存 储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1