一种获取压缩字典的方法和装置与流程

文档序号:14392072阅读:174来源:国知局
一种获取压缩字典的方法和装置与流程

本发明涉及数据压缩技术领域,特别是涉及一种获取压缩字典的方法和装置。



背景技术:

为了向用户提供更好的服务,互联网公司需要通过采集大量的用户数据以了解用户的使用习惯及偏好。由于用户数据的数据量较大,可以由客户端使用压缩字典对用户数据进行压缩后再上传至服务器端。在实际应用中,用户数据通常以键值对(key:value)的形式存储,此外,压缩字典包括值value与序列号的对应关系。

由于客户端的资源数据量大且在不断更新,为了保证压缩效率,需要在客户端和服务器端及时增加新的压缩字典。目前,可以通过升级客户端和服务器端的软件版本使客户端和服务器端获取到新的压缩字典。但是,由于无法控制客户端及时更新软件版本,可能会出现服务器端的软件版本已经升级,但客户端的软件版本尚未升级的情况。此时,服务器端已获取到新的压缩字典,而客户端未获取到新的压缩字典,在这种场景下,服务器端与客户端之间的传输数据的具体过程为:

首先,客户端判断在客户端已有的压缩字典中,是否存在待上传的用户数据对应的压缩字典,具体的,可以根据用户数据中的value,在已有的压缩字典中确定是否存在包括该value的压缩字典;若为是,使用该压缩字典对用户数据进行压缩处理,生成压缩后的用户数据;若为否,直接向服务器端上传未压缩的用户数据。

接下来,服务器端接收客户端发送的用户数据,判断该用户数据是否已压缩;若为是,使用该用户数据对应的压缩字典对该用户数据进行解压处理,得到解压后的用户数据;若为否,直接获取未压缩的用户数据。

可见,当客户端缺少压缩字典时,可能无法对部分的用户数据进行压缩处理。但向服务器端上传未压缩的用户数据,会占用大量的流量资源和带宽资源。



技术实现要素:

本发明实施例的目的在于提供一种获取压缩字典的方法和装置,以实现客户端及时获取压缩字典。具体技术方案如下:

本发明实施例提供了一种获取压缩字典的方法,应用于客户端,方法包括:

判断客户端已有的压缩字典中是否存在未压缩的用户数据对应的目标压缩字典;

若为否,向服务器端发送未压缩的用户数据,以使服务器端查找并向客户端发送未压缩的用户数据对应的目标压缩字典;

获取服务器端发送的目标压缩字典,以使用目标压缩字典对未压缩的用户数据进行压缩处理。

可选的,获取服务器端发送的目标压缩字典的步骤,包括:

接收服务器端发送的压缩数据;

根据压缩数据和未压缩的用户数据,生成目标压缩字典。

本发明实施例又提供了一种获取压缩字典的方法,应用于服务器端,方法包括:

接收客户端发送的用户数据;

判断用户数据是否为未压缩的用户数据;

若为是,在服务器端已有的压缩字典中查找用户数据对应的目标压缩字典;

向客户端发送目标压缩字典,以使客户端获取目标压缩字典,使用目标压缩字典对客户端的未压缩的用户数据进行压缩处理。

可选的,未压缩的用户数据的存储格式为键值对key:value;压缩字典包括value与预设的序列号的对应关系,序列号的首位为预设的特殊符号;

判断用户数据是否为未压缩的用户数据的步骤,包括:

判断用户数据中是否包括特殊符号;

若为是,在服务器端已有的压缩字典中查找用户数据对应的目标压缩字典的步骤,包括:

若用户数据不包括特殊符号,确定用户数据为未压缩的用户数据,在服务器端已有的压缩字典中查找用户数据对应的目标压缩字典。

可选的,在向客户端发送目标压缩字典的步骤之前,方法还包括:

根据目标压缩字典,对用户数据进行压缩处理,生成压缩数据;

向客户端发送目标压缩字典的步骤,包括:

向客户端发送压缩数据,以使客户端根据压缩数据和未压缩的用户数据,生成目标压缩字典。

可选的,未压缩的用户数据的存储格式为key:value;压缩字典包括value与预设的序列号的对应关系;

根据目标压缩字典,对用户数据进行压缩处理,生成压缩数据的步骤,包括:

根据目标压缩字典,将用户数据中的目标value替换为目标压缩字典中目标value对应的目标序列号,生成压缩数据。

本发明实施例还提供了一种获取压缩字典的装置,应用于客户端,装置包括:

判断单元,用于判断客户端已有的压缩字典中是否存在未压缩的用户数据对应的目标压缩字典;

发送单元,若判断单元的判断结果为客户端已有的压缩字典中不存在未压缩的用户数据对应的目标压缩字典,向服务器端发送未压缩的用户数据,以使服务器端查找并向客户端发送未压缩的用户数据对应的目标压缩字典;

获取单元,用于获取服务器端发送的目标压缩字典,以使用目标压缩字典对未压缩的用户数据进行压缩处理。

可选的,获取单元,包括:接收子单元和生成子单元;

接收子单元,用于接收服务器端发送的压缩数据;

生成子单元,用于根据压缩数据和未压缩的用户数据,生成目标压缩字典。

本发明实施例再提供了一种获取压缩字典的装置,应用于服务器端,装置包括:

接收单元,用于接收客户端发送的用户数据;

判断单元,用于判断用户数据是否为未压缩的用户数据;

查找单元,用于若判断单元的判断结果为用户数据为未压缩的用户数据,在服务器端已有的压缩字典中查找用户数据对应的目标压缩字典;

发送单元,用于向客户端发送目标压缩字典,以使客户端获取目标压缩字典,使用目标压缩字典对客户端的未压缩的用户数据进行压缩处理。

可选的,未压缩的用户数据的存储格式为键值对key:value;压缩字典包括value与预设的序列号的对应关系,序列号的首位为预设的特殊符号;

判断单元,具体用于判断用户数据中是否包括特殊符号;

查找单元,具体用于若判断单元的判断结果为用户数据中不包括特殊符号,确定用户数据为未压缩的用户数据,在服务器端已有的压缩字典中查找用户数据对应的目标压缩字典。

可选的,装置还包括:

处理单元,用于根据目标压缩字典,对用户数据进行压缩处理,生成压缩数据;

发送单元,具体用于向客户端发送压缩数据,以使客户端根据压缩数据和未压缩的用户数据,生成目标压缩字典。

可选的,未压缩的用户数据的存储格式为key:value;压缩字典包括value与预设的序列号的对应关系;

处理单元,具体用于根据目标压缩字典,将用户数据中的目标value替换为目标压缩字典中目标value对应的目标序列号,生成压缩数据。

本发明实施再提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一所述的获取压缩字典的方法。

本发明实施再提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的获取压缩字典的方法。

本发明实施再提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的获取压缩字典的方法。

本发明实施例提供的一种获取压缩字典的方法和装置,首先,客户端判断客户端已有的压缩字典中是否存在待上传的用户数据对应的压缩字典;若为否,向服务器端发送用户数据,以使服务器端查找并向客户端发送用户数据对应的目标压缩字典;最后,获取服务器端发送的目标压缩字典,以使用目标压缩字典对待上传的用户数据进行压缩处理。这样,即使客户端的软件版本更新不及时,也能够从服务器端获取压缩用户数据所需的压缩字典,以便使用压缩字典对用户数据进行压缩处理,避免由于向服务器端发送未压缩的用户数据而占用大量的流量资源和带宽资源,提高流量资源和带宽资源的利用率。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例的获取压缩字典的方法的一种流程图;

图2为本发明实施例的获取压缩字典的方法的又一种流程图;

图3为本发明实施例的获取压缩字典的方法的另一种流程图;

图4为本发明实施例的获取压缩字典的系统的一种示意图;

图5为本发明实施例的获取压缩字典的装置的一种结构图;

图6为本发明实施例的获取压缩字典的又一种装置的结构图;

图7为本发明实施例的电子设备的一种示意图;

图8为本发明实施例的电子设备的又一种示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

为了向用户提供更好的服务,互联网公司需要通过采集大量的用户数据以了解用户的使用习惯及偏好。由于用户数据的数据量较大,可以由客户端使用压缩字典对用户数据进行压缩后再上传至服务器端。在实际应用中,用户数据通常以key:value的形式存储,此外,压缩字典包括值value与序列号的对应关系。

由于客户端的资源数据量大且在不断更新,为了保证压缩效率,需要在客户端和服务器端及时增加新的压缩字典。目前,可以通过升级客户端和服务器端的软件版本使客户端和服务器端获取到新的压缩字典。但是,由于无法控制客户端及时更新软件版本,可能会出现服务器端的软件版本已经升级,但客户端的软件版本尚未升级的情况。此时,服务器端已获取到新的压缩字典,而客户端未获取到新的压缩字典,在这种场景下,服务器端与客户端之间的传输数据的具体过程为:

首先,客户端判断在客户端已有的压缩字典中,是否存在待上传的用户数据对应的压缩字典,具体的,可以根据用户数据中的value,在已有的压缩字典中确定是否存在包括该value的压缩字典;若为是,使用该压缩字典对用户数据进行压缩处理,生成压缩后的用户数据;若为否,直接向服务器端上传未压缩的用户数据。

接下来,服务器端接收客户端发送的用户数据,判断该用户数据是否已压缩;若为是,使用该用户数据对应的压缩字典对该用户数据进行解压处理,得到解压后的用户数据;若为否,直接获取未压缩的用户数据。

可见,当客户端缺少压缩字典时,可能无法对部分的用户数据进行压缩处理。但向服务器端上传未压缩的用户数据,会占用大量的流量资源和带宽资源。

为了解决上述问题,本发明实施例提供了一种获取压缩字典的方法和装置,客户端可以首先判断客户端已有的压缩字典中是否存在待上传的用户数据对应的压缩字典;若为否,向服务器端发送用户数据,以使服务器端查找并向客户端发送用户数据对应的目标压缩字典;最后,客户端可以获取服务器端发送的目标压缩字典,以使用目标压缩字典对待上传的用户数据进行压缩处理。这样,即使客户端的软件版本更新不及时,也能够从服务器端获取压缩用户数据所需的压缩字典,以便使用压缩字典对用户数据进行压缩处理,避免由于向服务器端发送未压缩的用户数据而占用大量的流量资源和带宽资源,提高流量资源和带宽资源的利用率。

本发明实施例提供了一种获取压缩字典的方法,应用于客户端。参见图1,图1为本发明实施例的获取压缩字典的方法的一种流程图,包括如下步骤:

步骤101,判断客户端已有的压缩字典中是否存在未压缩的用户数据对应的目标压缩字典;若为否,执行步骤102,若为是,执行步骤104。

在本步骤中,客户端可以判断在客户端已有的压缩字典中,是否存在待上传的用户数据对应的目标压缩字典;若为是,则可以使用该目标压缩字典,对待上传的用户数据进行压缩处理,若为否,则无法对待上传的用户数据进行压缩处理,可以通过执行后续步骤获取目标压缩字典以实现对该用户数据的压缩处理。

其中,未压缩的用户数据的存储格式可以为key:value。压缩字典可以包括value与预设的序列号的对应关系。

比如,未压缩的用户数据可以为:key0=value0&key1=value1,其中,key0和key1均为key,对应的value分别为value0和value1;该未压缩的用户数据对应的目标压缩字典中可以包括value0与$k0的对应关系,以及value1与$k1的对应关系,其中,$k0为value0对应的预设的序列号,$k1为value1对应的预设的序列号。

步骤102,向服务器端发送该未压缩的用户数据,以使服务器端查找并向客户端发送该未压缩的用户数据对应的目标压缩字典。

在本步骤中,当客户端已有的压缩字典中不存在未压缩的用户数据对应的目标压缩字典时,客户端可以向服务器端发送未压缩的用户数据;这样,服务器端可以根据未压缩的用户数据,查找该用户数据对应的目标压缩字典,进而将查找到的目标压缩字典发送给客户端。

步骤103,获取服务器端发送的目标压缩字典,以使用该目标压缩字典对未压缩的用户数据进行压缩处理。

在本步骤中,客户端获取来自服务器端的目标压缩字典,当再次需要上传同样的用户数据时,可以使用该目标压缩字典对用户数据进行压缩处理,可以避免由于向服务器端发送未压缩的用户数据而占用大量的流量资源和带宽资源,节省流量资源和带宽资源。

可选的,步骤103可以包括:

接收所述服务器端发送的压缩数据;

根据所述压缩数据和所述未压缩的用户数据,生成所述目标压缩字典。

具体的,当服务器端发送的是压缩数据时,客户端也可以根据压缩数据和未压缩的用户数据,即压缩前的用户数据,生成目标压缩字典。

比如,客户端接收到的压缩数据为key0=$k0&key1=$k1,压缩前的用户数据为key0=value0&key1=value1,那么,客户端可以通过压缩数据和压缩前的用户数据,得知目标压缩字典包括value0与$k0的对应关系,以及value1与$k1的对应关系。

在一种实现方式中,客户端在初始情况下可以不预先保存任何压缩字典,在对用户数据的处理过程中,仅从服务器端来获取压缩字典,可以降低客户端开发成本。

步骤104,使用目标压缩字典对未压缩的用户数据进行压缩处理,并将压缩后的用户数据发送至服务器端。

在本步骤中,当客户端已有目标压缩字典时,可以使用目标压缩字典压缩未压缩的用户数据,生成压缩后的用户数据,并将压缩后的用户数据发送至服务器端,使服务器端获取到压缩后的用户数据。

可见,在本发明实施例提供的获取压缩字典的方法中,客户端可以向服务器端发送未压缩的用户数据,以使服务器端查找到未压缩的用户数据所需的目标压缩字典并发送给客户端,这样,即使客户端的软件版本更新不及时,也能够从服务器端获取压缩用户数据所需的压缩字典,以便使用压缩字典对用户数据进行压缩处理,避免由于向服务器端发送未压缩的用户数据而占用大量的流量资源和带宽资源,提高流量资源和带宽资源的利用率。

对应的,本发明实施例还提供了一种获取压缩字典的方法,应用于服务器端。参见图2,图2为本发明实施例的获取压缩字典的方法的又一种流程图,包括如下步骤:

步骤201,接收客户端发送的用户数据。

在本步骤中,服务器端可以接收客户端发送的用户数据。

本步骤的详细过程可以参考现有技术,在此不再赘述。

步骤202,判断该用户数据是否为未压缩的用户数据;若为是,则执行步骤203,若为否,执行步骤205。

在本步骤中,服务器端可以判断接收到的用户数据是否为未压缩的用户数据;若为是,可以根据未压缩的用户数据查找对应的目标压缩字典,以便发送给客户端,使客户端能够使用该目标压缩字典对用户数据进行压缩;若为否,服务器端可以对压缩后的用户数据进行解压处理,详细过程可以参考现有技术。

步骤203,在服务器端已有的压缩字典中查找该用户数据对应的目标压缩字典,执行步骤204。

在本步骤中,服务器端可以在服务器端已有的压缩字典中,查找未压缩的用户数据对应的目标压缩字典。

其中,目标压缩字典是指包括未压缩的用户数据中的目标value的压缩字典。

需要说明的是,由于客户端的资源数据量大且在不断更新,为了保证压缩效率,需要在客户端和服务器端及时增加新的压缩字典。目前,可以通过升级客户端和服务器端的软件版本使客户端和服务器端获取到新的压缩字典,服务器端的软件版本可以及时更新,但无法控制客户端及时更新软件版本,当服务器端的软件版本已经升级,客户端的软件版本尚未升级时,服务器端已有的压缩字典包括通过最新的软件版本新增的压缩字典,而客户端已有的压缩字典仍为通过前一软件版本新增的压缩字典。此外,服务器端还可以从互联网上不定时的新增压缩字典。在上述两种情况下,上述新增的压缩字典仅保存在服务器端,并没有保存在客户端。因此,当客户端缺少目标压缩字典时,服务器端可以从已有的压缩字典中查找到该目标压缩字典。

步骤204,向客户端发送该目标压缩字典,以使客户端获取该目标压缩字典,使用该目标压缩字典对客户端的未压缩的用户数据进行压缩处理。

在本步骤中,服务器端可以向客户端发送查找到的目标压缩字典,这样,客户端就能够获取到目标压缩字典,并使用该目标压缩字典对用户数据进行压缩处理。

可选的,在步骤204之前,本发明实施例提供的获取压缩字典的方法还可以包括:

服务器端根据目标压缩字典,对该用户数据进行压缩,生成压缩数据。

对应的,步骤204可以包括:

向所述客户端发送所述压缩数据,以使所述客户端根据所述压缩数据和所述未压缩的用户数据,生成所述目标压缩字典。

具体的,由于用户数据中的value值通常包括较多字节,为了提高发送效率,服务器端向客户端直接发送压缩字典可能会占用较多的流量资源和带宽资源。为此,服务器端可以根据查找到的目标压缩字典,对未压缩的用户数据进行压缩处理,生成压缩数据,进而可以通过将压缩数据发送至客户端,使得客户端通过压缩数据和未压缩的用户数据,生成目标压缩字典,可以节约流量资源和带宽资源。

步骤205,对用户数据进行解压处理。

在本步骤中,当来自客户端的用户数据为已压缩数据时,服务器端可以对用户数据进行解压处理以获取用户数据。

需要说明的是,本步骤的详细过程可以参考现有技术,在此不再赘述。

可见,在本发明实施例提供的获取压缩字典的方法中,服务器端可以通过接收到的来自客户端的未压缩的用户数据,查找到未压缩的用户数据对应的目标压缩字典并发送给客户端,这样,即使客户端的软件版本更新不及时,服务器端也能够将压缩用户数据所需的压缩字典发送给客户端,以便客户端使用压缩字典对用户数据进行压缩处理,避免由于向服务器端发送未压缩的用户数据而占用大量的流量资源和带宽资源,提高流量资源和带宽资源的利用率。

为了更加清楚的说明本发明实施例的获取压缩字典的方法,本发明实施例另提供了一种获取压缩字典的方法,包括客户端和服务器端。参见图3,图3为本发明实施例的获取压缩字典的方法的另一种流程图,包括如下步骤:

步骤301,客户端判断客户端已有的压缩字典中是否存在未压缩的用户数据对应的目标压缩字典;若为否,执行步骤302。

本发明的详细过程和技术效果可以参考图1所示的获取压缩字典的方法中的步骤101。

步骤302,客户端向服务器端发送该未压缩的用户数据。

本发明的详细过程和技术效果可以参考图1所示的获取压缩字典的方法中的步骤102。

步骤303,服务器端接收客户端发送的用户数据;

本发明的详细过程和技术效果可以参考图2所示的获取压缩字典的方法中的步骤201。

步骤304,服务器端判断该用户数据中是否包括预设的特殊符号;若为否,服务器端确定该用户数据为未压缩的用户数据,执行步骤305。

在本步骤中,服务器端可以通过判断用户数据中是否包括预设的特殊符号来确定该用户数据是否为未压缩的用户数据;若用户数据中是否不包括预设的特殊符号,可以确定用户数据为未压缩的用户数据,进而可以通过执行后续步骤来查找未压缩的用户数据对应的目标压缩字典。

需要说明的是,由于压缩字典可以包括value与预设的序列号的对应关系;其中,序列号的首位可以为预设的特殊符号。比如,压缩字典包括value0与$k0的对应关系,其中,value0为value,$k0为预设的序列号,那么,序列号$k0的首位为特殊符号$。

步骤305,服务器端在服务器端已有的压缩字典中查找该用户数据对应的目标压缩字典。

本发明的详细过程和技术效果可以参考图2所示的获取压缩字典的方法中的步骤203。

步骤306,服务器端根据目标压缩字典,将该用户数据中的目标value替换为目标压缩字典中目标value对应的目标序列号,生成压缩数据。

在本步骤中,服务器端可以根据目标压缩字典,将未压缩的用户数据中的目标value,替换为目标压缩字典中该目标value对应的目标序列号,替换后的用户数据即为压缩数据。

比如,未压缩的用户数据为key0=value0&key1=value1,目标压缩字典包括value0与$k0的对应关系,以及value1与$k1的对应关系,那么,可以使用目标压缩字典中,目标value即value0和value1分别对应的目标序列号$k0和$k1,替换未压缩的用户数据中的目标value,生成的压缩数据为key0=$k0&key1=$k1。

步骤307,向客户端发送该压缩数据,以使客户端根据该压缩数据和未压缩的用户数据,生成目标压缩字典。

在本步骤中,服务器端可以向客户端发送步骤306生成的压缩数据,这样,客户端可以根据压缩数据,获取目标压缩字典。

步骤308,客户端接收服务器端发送的该压缩数据;根据该压缩数据和未压缩的用户数据,生成目标压缩字典。

在本步骤中,客户端接收服务器端发送的该压缩数据,并根据该压缩数据和压缩前的用户数据,生成目标压缩字典,以使用该目标压缩字典对未压缩的用户数据进行压缩处理。

可见,在本发明实施例提供的获取压缩字典的方法中,客户端可以向服务器端发送未压缩的用户数据;服务器端根据接收到的未压缩数据,查找未压缩的用户数据所需的目标压缩字典并发送给客户端;客户端获取来自服务器端的目标压缩字典。这样,即使客户端的软件版本更新不及时,也能够从服务器端获取压缩用户数据所需的压缩字典,以便使用压缩字典对用户数据进行压缩处理,避免由于向服务器端发送未压缩的用户数据而占用大量的流量资源和带宽资源,提高流量资源和带宽资源的利用率。

本发明实施例另提供了一种获取压缩字典的系统。参见图4,图4为本发明实施例的获取压缩字典的系统的一种示意图。

在图4中,获取压缩字典的系统包括服务器端和客户端a、客户端b、客户端c,该系统的工作流程如下:

第一步,客户端判断客户端已有的压缩字典中是否存在未压缩的用户数据对应的目标压缩字典。

具体的,客户端可以判断在客户端已有的压缩字典中,是否存在待上传的用户数据对应的目标压缩字典,若为否,则无法对待上传的用户数据进行压缩处理,可以通过执行后续步骤获取目标压缩字典以实现对该用户数据的压缩处理。

第二步,若判断结果为客户端已有的压缩字典中不存在未压缩的用户数据对应的目标压缩字典,客户端向服务器端发送未压缩的用户数据。

具体的,当客户端已有的压缩字典中不存在未压缩的用户数据对应的目标压缩字典时,客户端可以向服务器端发送未压缩的用户数据;这样,服务器端可以根据未压缩的用户数据,查找该用户数据对应的目标压缩字典,进而将查找到的目标压缩字典发送给客户端。

第三步,服务器端接收客户端发送的用户数据。

第四步,服务器端判断用户数据是否为未压缩的用户数据。

具体的,服务器端可以判断接收到的用户数据是否为未压缩的用户数据;若为是,可以根据未压缩的用户数据查找对应的目标压缩字典,以便发送给客户端,使客户端能够使用该目标压缩字典对用户数据进行压缩。

第五步,若判断结果为用户数据为未压缩的用户数据,服务器端在服务器端已有的压缩字典中查找用户数据对应的目标压缩字典。

具体的,服务器端可以在服务器端已有的压缩字典中,查找未压缩的用户数据对应的目标压缩字典。

此外,服务器端还可以随时从互联网上获取新的压缩字典,以增加已有的压缩字典的数量。

第六步,服务器端向客户端发送目标压缩字典。

具体的,服务器端可以向客户端发送查找到的目标压缩字典,这样,客户端就能够获取到目标压缩字典,并使用该目标压缩字典对用户数据进行压缩处理。

第七步,客户端获取服务器端发送的目标压缩字典,以使用目标压缩字典对未压缩的用户数据进行压缩处理。

具体的,客户端获取来自服务器端的目标压缩字典,当再次需要上传同样的用户数据时,可以使用该目标压缩字典对用户数据进行压缩处理,可以避免由于向服务器端发送未压缩的用户数据而占用大量的流量资源和带宽资源,节省流量资源和带宽资源。

需要说明的是,生成压缩字典的系统的处理流程的详细步骤和技术效果可以参考前文图1和图2所示的生成压缩字典的方法中的相关说明,在此不再赘述。

可见,在本发明实施例提供的获取压缩字典的系统中,客户端可以向服务器端发送未压缩的用户数据;服务器端根据接收到的未压缩数据,查找未压缩的用户数据所需的目标压缩字典并发送给客户端;客户端获取来自服务器端的目标压缩字典。这样,即使客户端的软件版本更新不及时,也能够从服务器端获取压缩用户数据所需的压缩字典,以便使用压缩字典对用户数据进行压缩处理,避免由于向服务器端发送未压缩的用户数据而占用大量的流量资源和带宽资源,提高流量资源和带宽资源的利用率。

本发明实施例再提供了一种获取压缩字典的装置。参见图5,图5为本发明实施例的获取压缩字典的装置的一种结构图,应用于客户端,该装置包括:

判断单元501,用于判断客户端已有的压缩字典中是否存在未压缩的用户数据对应的目标压缩字典;

发送单元502,若判断单元的判断结果为客户端已有的压缩字典中不存在未压缩的用户数据对应的目标压缩字典,向服务器端发送未压缩的用户数据,以使服务器端查找并向客户端发送未压缩的用户数据对应的目标压缩字典;

获取单元503,用于获取服务器端发送的目标压缩字典,以使用目标压缩字典对未压缩的用户数据进行压缩处理。

可选的,获取单元503,包括:接收子单元和生成子单元;

接收子单元,用于接收服务器端发送的压缩数据;

生成子单元,用于根据压缩数据和未压缩的用户数据,生成目标压缩字典。

可见,在本发明实施例提供的获取压缩字典的装置中,客户端可以向服务器端发送未压缩的用户数据,以使服务器端查找到未压缩的用户数据所需的目标压缩字典并发送给客户端,这样,即使客户端的软件版本更新不及时,也能够从服务器端获取压缩用户数据所需的压缩字典,以便使用压缩字典对用户数据进行压缩处理,避免由于向服务器端发送未压缩的用户数据而占用大量的流量资源和带宽资源,提高流量资源和带宽资源的利用率。

本发明实施例再提供了一种获取压缩字典的装置。参见图6,图6为本发明实施例的获取压缩字典的又一种装置的结构图,应用于服务器端,该装置包括:

接收单元601,用于接收客户端发送的用户数据;

判断单元602,用于判断用户数据是否为未压缩的用户数据;

查找单元603,用于若判断单元的判断结果为用户数据为未压缩的用户数据,在服务器端已有的压缩字典中查找用户数据对应的目标压缩字典;

发送单元604,用于向客户端发送目标压缩字典,以使客户端获取目标压缩字典,使用目标压缩字典对客户端的未压缩的用户数据进行压缩处理。

可选的,未压缩的用户数据的存储格式为键值对key:value;压缩字典包括value与预设的序列号的对应关系,序列号的首位为预设的特殊符号;

判断单元602,具体用于判断用户数据中是否包括特殊符号;

查找单元603,具体用于若判断单元的判断结果为用户数据中不包括特殊符号,确定用户数据为未压缩的用户数据,在服务器端已有的压缩字典中查找用户数据对应的目标压缩字典。

可选的,装置还包括:

处理单元,用于根据目标压缩字典,对用户数据进行压缩处理,生成压缩数据;

发送单元604,具体用于向客户端发送压缩数据,以使客户端根据压缩数据和未压缩的用户数据,生成目标压缩字典。

可选的,处理单元,具体用于根据目标压缩字典,将用户数据中的目标value替换为目标压缩字典中目标value对应的目标序列号,生成压缩数据。

可见,在本发明实施例提供的获取压缩字典的装置中,服务器端可以通过接收到的来自客户端的未压缩的用户数据,查找到未压缩的用户数据对应的目标压缩字典并发送给客户端,这样,即使客户端的软件版本更新不及时,服务器端也能够将压缩用户数据所需的压缩字典发送给客户端,以便客户端使用压缩字典对用户数据进行压缩处理,避免由于向服务器端发送未压缩的用户数据而占用大量的流量资源和带宽资源,提高流量资源和带宽资源的利用率。

本发明实施例再提供了一种电子设备,参考图7,图7为本发明实施例的电子设备的一种示意图,如图7所示,电子设备包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,

存储器703,用于存放计算机程序;

处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:

判断客户端已有的压缩字典中是否存在未压缩的用户数据对应的目标压缩字典;

若为否,向服务器端发送未压缩的用户数据,以使服务器端查找并向客户端发送未压缩的用户数据对应的目标压缩字典;

获取服务器端发送的目标压缩字典,以使用目标压缩字典对未压缩的用户数据进行压缩处理。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本发明实施例再提供了一种电子设备,参考图8,图8为本发明实施例的电子设备的又一种示意图,如图8所示,电子设备包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,

存储器803,用于存放计算机程序;

处理器801,用于执行存储器803上所存放的程序时,实现如下步骤:

判断客户端已有的压缩字典中是否存在未压缩的用户数据对应的目标压缩字典;

若为否,向服务器端发送未压缩的用户数据,以使服务器端查找并向客户端发送未压缩的用户数据对应的目标压缩字典;

获取服务器端发送的目标压缩字典,以使用目标压缩字典对未压缩的用户数据进行压缩处理。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本发明实施例再提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的获取压缩字典的方法。

本发明实施例再提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的获取压缩字典的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

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

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

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