信息位图的编码、解码方法及装置与流程

文档序号:12598078阅读:150来源:国知局
信息位图的编码、解码方法及装置与流程
本发明涉及互联网领域,具体而言,涉及一种信息位图的编码、解码方法及装置。
背景技术
:信息交换是网络和分布式系统的核心任务,即节点(如终端、服务器、网络设备等)之间交换各自信息(例如:节点状态、文件块状态、路由状态等),实现信息集的协调(Reconciliation)和去重(Deduplication)。为了节省网络带宽和提高交换效率,信息交换任务通常采用位图Bitmap(即由0和1组成的比特串)作为信息的索引。例如,在分布式文件下载应用中,终端主机采用文件块状态位图作为文件块的索引,其中第i个比特表示第i个文件块是否下载,如果第i个文件块下载,则设置第i个比特值为1,否则设置为0。特别是,随着移动互联网和云计算的迅猛发展,用于交换的信息的位图(以下简称为信息交换位图)广泛应用于互联网视频传输、移动终端监测、云数据备份同步等应用。例如,在移动终端监测应用中,移动终端(如智能手机和平板电脑))的应用管理APP会定期向云监测中心上传移动终端状态位图,包括用户在线状态、用户位置信息、移动系统类型、APP类型、系统补丁状态、潜在安全威胁类型等,从而汇聚海量移动用户行为和移动终端系统状态,提供广告推荐和安全防护等高效精确的云服务。近年来,物联网和智慧城市的不断发展,泛在海量的移动终端应用给信息交换位图带来传输开销高和交换速率低等挑战。首先,智能手机、无线传感器、可穿戴设备等海量移动终端带来大规模的信息交换位图传输,不仅消耗网络传输带宽,而且增大信息交换时延。其次,移动终端的计算能力有限,难以执行空间最优但计算密集型的位图压缩编解码方法。最后,由于异构移动终端的信源符号发生概率难以估计且随着时空动态变化,已有基于统计的无损压缩编码方法(例如,哈夫曼编码(HuffmanCoding)和算术编码(ArithmeticCoding)),难以适应异构动态移动终端的信息交换位图压缩,单一的压缩编码方法存在压缩比率低等缺陷。因此,移动终端应用迫切需要高效的信息交换位图压缩方法,不仅减少位图传输开销,而且提高位图压缩的编解码速率。针对信息交换位图压缩问题,已有研究工作提出了基于统计的无损压缩编码方法,主要分为哈夫曼编码方法和算术编码方法。哈夫曼编码方法是一种基于信源字符发生概率统计的变字长压缩编码方法,即字符发生概率高则编码长度短,字符发生概率低则编码长度长,实现平均最优编码长度。但是,在移动终端的信息交换位图应用中,哈夫曼编码方法存在压缩比率低和传输开销高等问题。首先,哈夫曼编码方法必须依赖信源字符发生概率的精确统计,因而难以适应信源字符发生概率动态变化的移动终端应用场景,导致位图压缩比率低;其次,哈夫曼编码方法必须维护一个哈夫曼编码表来进行解码,不仅需要额外开销来动态更新该编码表,而且导致传输开销高和解码效率低。哥伦布编码(GolombCoding)方法是一种哈夫曼编码的变型,不必维护一个编码表即可解码,虽然可避免编码表维护开销和提升解码效率,但是该方法仍依赖信源字符发生概率统计进行编码,位图压缩比率仍较低。为了避免信源字符发生概率统计,算术编码方法是基于信源字符发生概率预估,对整个字符序列映射到区间[0,1)进行递归编码,输出一个二进制的小数作为编码输出。在理论上,算术编码方法的平均编码长度比哈夫曼算法更趋近于信息熵值,更适用于信源字符发生概率均等的应用场景。其主要原因是算术编码方法采用小数进行编码,而哈夫曼编码采用整数进行编码,因而浪费部分编码空间。但是,在实际情况下,特别是在动态变化的移动终端应用中,由于信源字符发生概率随时空动态变化,算术编码方法的信源字符发生概率预估与实际字符发生概率相差较大,导致位图压缩比率较低。另外,算术编码方法通常采用乘法等复杂计算操作类型,导致计算能力有限的移动终端之间的位图压缩解码效率低。针对上述已有位图压缩编码方法存在的压缩比率低、传输开销高和编解码效率低等问题,目前尚未提出有效的解决方案。技术实现要素:本发明实施例提供了一种信息位图的编码、解码方法及装置,以至少解决相关技术中由于直接对信息位图进行哥伦布编码造成的传输开销大以及编解码难度大的技术问题。根据本发明实施例的一个方面,提供了一种信息位图的编码方法,包括:获取目标位图,上述目标位图为比特串,用于作为在互联网中对应的节点间进行交换的目标信息的信息索引;对上述目标位图对应的上述比特串进行预编码,以分别聚合上述比特串中0比特值和1比特值;对预编码后的比特串采用哥伦布编码算法进行编码。根据本发明实施例的另一方面,还提供了一种信息位图的解码方法,包括:获取目标位图在采用哥伦布编码算法进行编码后得到的编码结果,上述目标位图为比特串,用于作为在互联网中对应的节点间进行交换的目标信息的信息索引;对上述编码结果进行预解码,以得到分别聚合了0比特值和1比特值的比特串;对预解码后的比特串进行解码,以从上述分别聚合了0比特值和1比特值的比特串中还原出上述目标位图对应的原始比特串。根据本发明实施例的一个方面,还提供了一种信息位图的编码装置,包括:第一获取单元,用于获取目标位图,上述目标位图为比特串,用于作为在互联网中对应的节点间进行交换的目标信息的信息索引;预编码单元,用于对上述目标位图对应的上述比特串进行预编码,以分别聚合上述比特串中0比特值和1比特值;编码单元,用于对预编码后的比特串采用哥伦布编码算法进行编码。根据本发明实施例的另一方面,还提供了一种信息位图的解码装置,包括:第二获取单元,用于获取目标位图在采用哥伦布编码算法进行编码后得到的编码结果,上述目标位图为比特串,用于作为在互联网中对应的节点间进行交换的目标信息的信息索引;预解码单元,用于对上述编码结果进行预解码,以得到分别聚合了0比特值和1比特值的比特串;解码单元,用于对预解码后的比特串进行解码,以从上述分别聚合了0比特值和1比特值的比特串中还原出上述目标位图对应的原始比特串。在本发明实施例中,采用在采用哥伦布编码算法对信息位图进行编码之前先对信息位图进行预编码以聚合比特串中的0和1的方式,通过获取目标位图,目标位图为比特串,用于作为在互联网中对应的节点间进行交换的目标信息的信息索引;对目标位图对应的比特串进行预编码,以分别聚合比特串中0比特值和1比特值;对预编码后的比特串采用哥伦布编码算法进行编码,达到了高度压缩信息位图的目的,从而实现了信息交换时节约传输开销以及降低编解码难度的技术效果,进而解决了相关技术中由于直接对信息位图进行哥伦布编码造成的传输开销大以及编解码难度大的技术问题。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据本发明实施例的信息位图的编码方法的硬件环境的示意图;图2是根据本发明实施例的一种可选的信息位图的编码方法的流程图;图3是根据本发明实施例的一种可选的信息位图的解码方法的流程图;图4(a)是根据本发明实施例的一种可选的按位异或非编码和解码的示意图;图4(b)是根据本发明实施例的一种可选的混合行程编码和解码的示意图;图5(a)是根据本发明实施例的一种可选的信息位图编码的示意图;图5(b)是根据本发明实施例的一种可选的信息位图解码的示意图;图6(a)是根据本发明实施例的一种可选的互联网视频传输应用场景中信息位图交换的示意图;图6(b)是根据本发明实施例的一种可选的移动终端监测应用场景中信息位图交换的示意图;图6(c)是根据本发明实施例的一种可选的文件备份同步应用场景中信息位图交换的示意图;图7是根据本发明实施例的一种可选的信息位图的编码装置的示意图;图8是根据本发明实施例的一种可选的信息位图的解码装置的示意图;以及图9是根据本发明实施例的一种终端的结构框图。具体实施方式为了使本
技术领域
的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。实施例1根据本发明实施例,提供了一种信息位图的编码方法的方法实施例。可选地,在本实施例中,上述信息位图的编码方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的信息位图的编码方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的信息位图的编码方法也可以是由安装在其上的客户端来执行。图2是根据本发明实施例的一种可选的信息位图的编码方法的流程图,如图2所示,该方法可以包括以下步骤:步骤S202,获取目标位图,目标位图为比特串,用于作为在互联网中对应的节点间进行交换的目标信息的信息索引;步骤S204,对目标位图对应的比特串进行预编码,以分别聚合比特串中0比特值和1比特值;步骤S206,对预编码后的比特串采用哥伦布编码算法进行编码。通过上述步骤S202至步骤S206,采用在采用哥伦布编码算法对信息位图进行编码之前先对信息位图进行预编码以聚合比特串中的0和1的方式,通过获取目标位图,目标位图为比特串,用于作为在互联网中对应的节点间进行交换的目标信息的信息索引;对目标位图对应的比特串进行预编码,以分别聚合比特串中0比特值和1比特值;对预编码后的比特串采用哥伦布编码算法进行编码,达到了高度压缩信息位图的目的,从而实现了信息交换时节约传输开销以及降低编解码难度的技术效果,进而解决了相关技术中由于直接对信息位图进行哥伦布编码造成的传输开销大以及编解码难度大的技术问题。在步骤S202提供的技术方案中,由于直接获取的目标位图是未经编码压缩的比特串,此时若使用该目标位图作为在互联网中对应的节点间进行信息交换,则会存在传输开销大以及编解码难度大的问题,因此,需要进行预编码处理。在步骤S204提供的技术方案中,在对目标位图对应的比特串进行预编码,以分别聚合比特串中0比特值和1比特值时,可以采用至少一种编码算法。需要说明的是,可以应用于本申请实施例的预编码的算法可以包括但不限于以下算法:按位异或非编码(BitwiseExclusive-NORCoding)、混合行程编码(HybridRun-LengthCoding)等。其中,按位异或非编码算法主要是将一个原始位图聚合为多个连续相同(如1或0)或不同比特(如10或01);混合行程编码方法主要是将多个连续相同或不同比特编码为比特起始值和比特计数。在步骤S206提供的技术方案中,采用哥伦布编码(ExponentialGolombCoding)(即指数哥伦布编码)对比特起始值和比特计数进行编码,从而实现位图的高压缩比率和快速编解码。需要说明的是,使用本申请聚类编码方法(ClusteringCoding)实现位图的高压缩比率和快速编码,提升了信息交换的传输效率和处理速率,可应用于互联网视频传输、移动终端监测、云数据备份同步等典型产品侧应用场景。作为一种可选的实施例,对目标位图对应的比特串进行预编码,以分别聚合比特串中0比特值和1比特值包括:对目标位图对应的比特串采用按位异或非编码算法进行编码。需要说明的是,按位异或非编码算法的具体原理将在下述实施方式中阐述,在此不再详细介绍。作为一种可选的实施例,在对目标位图对应的比特串采用按位异或非编码算法进行编码之后,上述方法还包括:对采用按位异或非编码算法编码后的比特串采用混合行程编码算法进行编码。也即,优选地,对信息位图进行压缩的聚类编码流程可以包括如下三个步骤:(1)对于一个输入的原始信息位图(以下简称为原始位图),可以先采用按位异或非编码算法进行编码,通过邻近比特的异或非操作,将该原始位图聚合为连续和不连续比特值,并保留原始位图的首位比特值;(2)采用混合行程编码算法,将多个连续0或1比特值编码为连续相同比特起始值和连续相同比特计数,并将多个连续01或10比特编码为连续不同比特起始值和连续不同比特计数;(3)采用指数哥伦布编码算法,对混合行程编码的连续相同比特起始值、连续相同比特计数、连续不同比特起始值和连续不同比特计数等进行编码,输出一个压缩后的信息位图。该方案是由按位异或非编码算法、混合行程编码算法和指数哥伦布编码算法等三种算法组成的一个联合编码算法。首先,该方案采用按位异或非编码算法将信息交互位图聚合为连续相同和不同比特,减轻移动终端带来的信源字符发生概率动态变化问题;其次,采用混合行程编码算法将位图压缩成长度不均匀的行程编码,有利于后续哈夫曼编码;最后,采用指数哥伦布编码算法对行程编码进行压缩,避免维护编码表和额外传输开销,并提升位图压缩解码速率。总之,本发明的聚类编码方法具有位图压缩比率高和编解码速率快等优点,适用于互联网视频传输,移动终端监测、云数据备份同步等应用场景。作为一种可选的实施例,对目标位图对应的比特串采用按位异或非编码算法进行编码包括:保留目标位图对应的比特串的首位;从述目标位图对应的比特串的次位开始,依次将当前比特值和与当前比特值相邻且位于当前比特值之前的比特值进行异或非编码运算,直到比特串的次末位比特值和末位比特值异或非编码运算完成为止。本发明提出的按位异或非编码算法是利用比特之间的异或非操作对位图进行编码。如果两个比特值相同,则异或非操作结果为1;如果两个比特值不相同,则异或非操作结果为0。利用上述异或非操作的特性,本发明的按位异或非编码算法是对原始位图的邻近比特值进行异或非运算,且保留该位图的首位比特值。假设给定一个原始位图为011010,首先保留原始位图的首位比特值0为编码位图的首位比特值,其次对原始位图的后续每个比特与其前1位邻居比特进行异或非操作,输出一个编码位图001000。例如,原始位图的第2位比特值1与第1位比特值0的异或非操作结果为0,第3位比特值1与第2位比特值1的操作结果为1。与现有的编码算法不同,按位异或非解码算法是对编码位图的当前比特值与原始位图的当前解码比特值进行异或非操作。作为一种可选的实施例,对采用按位异或非编码算法编码后的比特串采用混合行程编码算法进行编码包括:将对采用按位异或非编码算法编码后的比特串中多个连续相同的比特编码为第一比特起始值和第一比特计数值;和/或将对采用按位异或非编码算法编码后的比特串中多个连续不同的比特编码为第二比特起始值和第二比特计数值。本发明提出的混合行程编码是一种扩展的行程编码。混合行程编码方法不仅可对多个连续0或1比特表示为连续相同比特起始值和连续相同比特计数,而且可对多个连续01或10比特表示为连续不同比特起始值和连续不同比特计数。例如,m个连续0比特可编码为(0,m),m个连续1比特可编码为(1,m),其中0或1为连续相同比特起始值,m为连续0或1比特计数;n个连续01比特和m个连续1比特可编码为0(n,m),其中0表示连续不同比特起始值,n表示为连续01比特计数,m为连续1比特计数。与上述编码方法相反,混合行程解码方法将(0,m)或(1,m)解码为m个连续0或1比特,而将0(n,m)解码为n个连续01比特和m个1比特,将1(n,m)解码为n个连续10比特和m个1比特。为了避免解码的歧义性,n个连续01或10比特的编码不必表示起始值,其原因是该起始值可通过前一个编码推测出。在本发明中,n个连续01比特和m个连续1比特编码为(n,m),而不必表示起始值0。由于(n,m)的n≥2而(0,m)或(1,m)的起始值为0或1(即n<2),因此本发明的混合行程解码方法可解码出任意(n,m)。如果n为0或1,则解码为m个连续0或1比特;如果n≥2,则解码为n个连续01或10比特。如果(n,m)之前的编码为(1,k),则(n,m)解码为n个连续01比特和m个连续1比特;如果(n,m)之前的编码为(0,k),则(n,m)解码为n个连续10比特和m个连续1比特。需要说明的是,本发明采用指数哥伦布编码对混合行程编码的连续比特起始值和连续比特计数进行编码。对于一个给定非负整数x,指数哥伦布编码是由前后两部分比特串组成,其中后部比特串为整数x+1的二进制值,前部比特串为│log2(x+1)│(取整)个0比特。表1给出了整数0,1,2,3,4,5,6和24的对应指数哥伦布编码。例如,整数0的指数哥伦布编码为1,不包含前部0比特;整数1的编码为010,其中前部0比特个数为1,后部比特串为10;整数24的编码为000011001,其中前部0比特个数为4,后部比特串为11001。表1整数指数哥伦布编码011010201130010040010150011060011124000011001根据本发明实施例,还提供了一种信息位图的解码方法的方法实施例。可选地,在本实施例中,上述信息位图的解码方法也可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。在此不再赘述。图3是根据本发明实施例的一种可选的信息位图的解码方法的流程图,如图3所示,该方法可以包括以下步骤:步骤S302,获取目标位图在采用哥伦布编码算法进行编码后得到的编码结果,目标位图为比特串,用于作为在互联网中对应的节点间进行交换的目标信息的信息索引;步骤S304,对编码结果进行预解码,以得到分别聚合了0比特值和1比特值的比特串;步骤S306,对预解码后的比特串进行解码,以从分别聚合了0比特值和1比特值的比特串中还原出目标位图对应的原始比特串。需要说明的是,与上述信息位图的编码方法相反,在本发明实施例中的信息位图的解码方法中,压缩的信息位图的聚类解码流程依次采用指数哥伦布解码、混合行程解码和按位异或非解码等算法,将一个压缩后的位图解码为原始位图。指数哥伦布解码、混合行程解码和按位异或非解码在上述实施方式中已阐述,在此不再一一赘述。通过上述步骤S302至步骤S306,通过获取目标位图在采用哥伦布编码算法进行编码后得到的编码结果,目标位图为比特串,用于作为在互联网中对应的节点间进行交换的目标信息的信息索引;对编码结果进行预解码,以得到分别聚合了0比特值和1比特值的比特串;对预解码后的比特串进行解码,以从分别聚合了0比特值和1比特值的比特串中还原出目标位图对应的原始比特串,可以解决了相关技术中由于直接对信息位图进行哥伦布编码造成的传输开销大以及编解码难度大的技术问题,达到了高度压缩信息位图的目的,从而实现了信息交换时节约传输开销以及降低编解码难度的技术效果。需要说明的是,使用本申请聚类解码方法实现对高压缩比率位图的快速解码,提升了信息交换处理速率,可应用于互联网视频传输、移动终端监测、云数据备份同步等典型产品侧应用场景。作为一种可选的实施例,对编码结果进行预解码,以得到分别聚合了0比特值和1比特值的比特串包括:对编码结果采用按位异或非编码算法进行解码。需要说明的是,按位异或非解码算法的具体原理与按位异或非编码算法类似,按位异或非解码算法的具体原理已在在上述实施方式中阐述,在此不再详细介绍。作为一种可选的实施例,在对编码结果采用采用按位异或非编码算法进行解码之前,上述方法还包括:对采用按位异或非解码算法解码前的编码采用混合行程编码算法进行解码。与上述编码流程相反,位图压缩的聚类解码流程包括如下三个步骤:(1)对于一个压缩后的位图,采用指数哥伦布解码,将该位图解码为连续相同比特起始值、连续相同比特计数、连续不同比特起始值、连续不同比特计数等;(2)采用混合行程解码,将连续相同比特起始值和连续相同比特计数解码为多个连续0或1比特,并将连续不同比特起始值和连续不同比特计数解码为多个不连续01或10比特;(3)采用按位异或非解码,以保留的首位比特值为当前解码比特值,通过当前比特值与当前解码比特值的按位异或非操作,解码为原始位图的下一个比特值,输出一个解码后的原始位图。作为一种可选的实施例,对编码结果采用采用按位异或非解码算法进行解码包括:保留编码结果对应的比特串的首位;从编码结果对应的比特串的次位开始,依次将当前比特值和与当前比特值相邻且位于当前比特值之前的比特值进行异或非解码运算,直到编码结果对应的比特串的次末位比特值和末位比特值异或非解码运算完成为止。本发明提出的按位异或非解码算法是利用比特之间的异或非操作对位图进行编码。如果两个比特值相同,则异或非操作结果为1;如果两个比特值不相同,则异或非操作结果为0。利用上述异或非操作的特性,本发明的按位异或非解码算法是对原始位图的邻近比特值进行异或非运算,且保留该位图的首位比特值。假设给定一个编码位图001000,首先选取编码位图的首位比特值为原始位图的当前解码比特值,其次对编码位图的后续每个比特值与原始位图的当前解码比特值进行异或非操作,输出一个解码后的原始位图011010。例如,编码位图的第2位比特值0与原始位图的第1位解码比特值0的异或非操作结果为1,第3位比特值1和第2为解码比特值1的操作结果为1。作为一种可选的实施例,对采用所述按位异或非解码算法解码前的编码采用混合行程解码算法进行解码包括:对采用所述按位异或非解码算法解码前的编码中的用于对多个连续相同的比特编码的第一比特起始值和第一比特计数值进行解码;和/或对采用所述按位异或非解码算法解码前的编码中的用于对多个连续不同的比特编码的第二比特起始值和第二比特计数值进行解码。本发明采用指数哥伦布解码对混合行程编码的连续比特起始值和连续比特计数进行解码。对于一个给定非负整数x,指数哥伦布解码是由前后两部分比特串组成,其中后部比特串为整数x+1的二进制值,前部比特串为│log2(x+1)│(取整)个0比特。对于一个给定的编码,指数哥伦布解码算法根据前部0比特串长度和第1个1比特来计算后部比特串的整数值,解码出一个相应的原始整数。假设给定一个指数哥伦布编码为00101,由于其前部0比特个数为2,后部比特个数应为2+1=3,因此解码后的整数为二进制101=5,再减1,即4。本发明提出的聚类编码方法是由按位异或非编码方法、混合行程编码方法和指数哥伦布编码方法组成的一个联合编码方法,且该方法的编码和解码流程是快速且可逆的。以下将结合附图分别详细阐述按位异或非编解码、混合行程编解码和指数哥伦布编解码等工作原理和示例。其中,图4(a)是根据本发明实施例的一种可选的按位异或非编码和解码的示意图;图4(b)是根据本发明实施例的一种可选的混合行程编码和解码的示意图;图5(a)是根据本发明实施例的一种可选的信息位图编码的示意图;图5(b)是根据本发明实施例的一种可选的信息位图解码的示意图。图5(a)给出了位图压缩的聚类编码示例。对于一个32比特的原始位图为00110000101010101010101010101010,采用按位异或非编码,输出编码后的位图为01010111000000000000000000000000;接着,采用混合行程编码,输出一个编码后的位图为0(6,2)(0,24),其中0为位图的首位比特值,(6,2)表示3(=6/2)个连续01比特和2个连续1比特,(0,24)表示24个连续0比特;最后,采用指数哥伦布编码,输出一个18比特的位图为000110111000011001,其中整数6、2、0和24的指数哥伦布编码分别为00111、011、1和000011001。与原始位图相比,压缩后的位图减少了43.8%的存储开销。需要说明的是,本发明的信息图的编解码方法在产品侧的典型应用场景主要包括:互联网视频传输应用、移动终端监测应用和文件备份同步应用。(1)如图6(a)所示,在互联网视频传输应用场景中,移动终端(例如,手机和平板电脑等)的视频APP支持点播和直播服务,根据用户观看需求,通过互联网向视频服务器定期发送视频文件块位图,其中0比特表示已播放的视频文件块,而1比特表示请求的视频文件块;视频服务器将根据接收的视频文件块位图,快速精确地发送用户请求的视频文件块。(2)如图6(b)所示,移动终端监测应用场景中,移动终端的应用管理APP(例如:手机助手等)根据已定义的用户和文件状态(例如:用户在线状态、用户安装APP类型、终端系统类型、系统补丁类型、安全漏洞类型等)通过互联网定期向移动终端监测中心发送移动终端状态位图,定期收集移动用户行为数据,提供定制精确的增值服务(例如:广告推荐和安全防护等)。(3)如图6(c)所示,在文件备份同步应用中,每个文件备份系统向其他文件备份系统发送其文件数据状态位图,其中0比特表示文件数据旧版本,1比特表示文件数据新版本。每个文件备份系统之间定期交换文件数据状态位图,并根据接收的文件数据状态位图,同步更新文件数据,确保多个文件系统之间的备份同步和一致性。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。实施例2根据本发明实施例,还提供了一种用于实施上述信息位图的编码方法的信息位图的编码装置。图7是根据本发明实施例的一种可选的信息位图的编码装置的示意图,如图7所示,该装置可以包括:第一获取单元702,用于获取目标位图,目标位图为比特串,用于作为在互联网中对应的节点间进行交换的目标信息的信息索引;预编码单元704,用于对目标位图对应的比特串进行预编码,以分别聚合比特串中0比特值和1比特值;编码单元706,用于对预编码后的比特串采用哥伦布编码算法进行编码。由于直接获取的目标位图是未经编码压缩的比特串,此时若使用该目标位图作为在互联网中对应的节点间进行信息交换,则会存在传输开销大以及编解码难度大的问题,因此,需要进行预编码处理。在对目标位图对应的比特串进行预编码,以分别聚合比特串中0比特值和1比特值时,可以采用至少一种编码算法。需要说明的是,可以应用于本申请实施例的预编码的算法可以包括但不限于以下算法:按位异或非编码(BitwiseExclusive-NORCoding)、混合行程编码(HybridRun-LengthCoding)等。其中,按位异或非编码算法主要是将一个原始位图聚合为多个连续相同(如1或0)或不同比特(如10或01);混合行程编码方法主要是将多个连续相同或不同比特编码为比特起始值和比特计数。采用哥伦布编码(ExponentialGolombCoding)(即指数哥伦布编码)对比特起始值和比特计数进行编码,从而实现位图的高压缩比率和快速编解码。需要说明的是,使用本申请聚类编码方法(ClusteringCoding)实现位图的高压缩比率和快速编码,提升了信息交换的传输效率和处理速率,可应用于互联网视频传输、移动终端监测、云数据备份同步等典型产品侧应用场景。作为一种可选的实施例,预编码单元包括:第一预编码模块,用于对目标位图对应的比特串采用按位异或非编码算法进行编码。作为一种可选的实施例,预编码单元还包括:第二预编码模块,用于在对目标位图对应的比特串采用按位异或非编码算法进行编码之后,对采用按位异或非编码算法编码后的比特串采用混合行程编码算法进行编码。作为一种可选的实施例,第一预编码模块包括:第一预编码子模块,用于保留目标位图对应的比特串的首位;第二预编码子模块,用于从述目标位图对应的比特串的次位开始,依次将当前比特值和与当前比特值相邻且位于当前比特值之前的比特值进行异或非编码运算,直到比特串的次末位比特值和末位比特值异或非编码运算完成为止。作为一种可选的实施例,第二预编码模块包括:第三预编码子模块,用于将对采用按位异或非编码算法编码后的比特串中多个连续相同的比特编码为第一比特起始值和第一比特计数值;和/或第四预编码子模块,用于将对采用按位异或非编码算法编码后的比特串中多个连续不同的比特编码为第二比特起始值和第二比特计数值。需要说明的是,该实施例中的发上述模块/子模块/单元可以用于执行本申请实施例1中的对应步骤,在此不再一一赘述。此处需要说明的是,上述模块/子模块/单元与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。通过上述模块,可以解决了相关技术中由于直接对信息位图进行哥伦布编码造成的传输开销大以及编解码难度大的技术问题,达到了高度压缩信息位图的目的,从而实现了信息交换时节约传输开销以及降低编解码难度的技术效果。根据本发明实施例,还提供了一种用于实施上述信息位图的解码方法的信息位图的解码装置。图8是根据本发明实施例的一种可选的信息位图的解码装置的示意图,如图8所示,该装置可以包括:第二获取单元802,用于获取目标位图在采用哥伦布编码算法进行编码后得到的编码结果,所述目标位图为比特串,用于作为在互联网中对应的节点间进行交换的目标信息的信息索引;预解码单元804,用于对所述编码结果进行预解码,以得到分别聚合了0比特值和1比特值的比特串;解码单元806,用于对预解码后的比特串进行解码,以从所述分别聚合了0比特值和1比特值的比特串中还原出所述目标位图对应的原始比特串。需要说明的是,与上述信息位图的编码方法相反,在本发明实施例中的信息位图的解码方法中,压缩的信息位图的聚类解码流程依次采用指数哥伦布解码、混合行程解码和按位异或非解码等算法,将一个压缩后的位图解码为原始位图。指数哥伦布解码、混合行程解码和按位异或非解码在上述实施方式中已阐述,在此不再一一赘述。通过上述实施例,可以解决了相关技术中由于直接对信息位图进行哥伦布编码造成的传输开销大以及编解码难度大的技术问题,达到了高度压缩信息位图的目的,从而实现了信息交换时节约传输开销以及降低编解码难度的技术效果。作为一种可选的实施例,预解码单元包括:第一预解码模块,用于对编码结果采用按位异或非解码算法进行解码。作为一种可选的实施例,预解码单元还包括:第二预解码模块,用于在对编码结果采用采用按位异或非编码算法进行解码之前,对采用按位异或非编码算法解码前的编码采用混合行程解码算法进行解码。作为一种可选的实施例,第一预解码模块包括:第一预解码子模块,用于保留编码结果对应的比特串的首位;第二预解码子模块,用于从编码结果对应的比特串的次位开始,依次将当前比特值和与当前比特值相邻且位于当前比特值之前的比特值进行异或非解码运算,直到编码结果对应的比特串的次末位比特值和末位比特值异或非解码运算完成为止。作为一种可选的实施例,第二预解码模块包括:第三预解码子模块,用于对采用按位异或非解码算法解码前的编码中的用于对多个连续相同的比特编码的第一比特起始值和第一比特计数值进行解码;和/或第四预解码子模块,用于对采用按位异或非解码算法解码前的编码中的用于对多个连续不同的比特编码的第二比特起始值和第二比特计数值进行解码。需要说明的是,该实施例中的发上述模块/子模块/单元可以用于执行本申请实施例1中的对应步骤,在此不再一一赘述。此处需要说明的是,上述模块/子模块/单元与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。通过上述模块,可以解决了相关技术中由于直接对信息位图进行哥伦布编码造成的传输开销大以及编解码难度大的技术问题,达到了高度压缩信息位图的目的,从而实现了信息交换时节约传输开销以及降低编解码难度的技术效果。实施例3根据本发明实施例,还提供了一种用于实施上述信息位图的编码、解码方法的服务器或终端。图9是根据本发明实施例的一种终端的结构框图,如图9所示,该终端可以包括:一个或多个(图中仅示出一个)处理器201、存储器203、以及传输装置205(如上述实施例中的发送装置),如图9所示,该终端还可以包括输入输出设备207。其中,存储器203可用于存储软件程序以及模块,如本发明实施例中的信息位图的编码、解码方法和装置对应的程序指令/模块,处理器201通过运行存储在存储器203内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的信息位图的编码、解码方法。存储器203可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器203可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。上述的传输装置205用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置205包括一个网络适配器(NetworkInterfaceController,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置205为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。其中,具体地,存储器203用于存储应用程序。处理器201可以通过传输装置205调用存储器203存储的应用程序,以执行下述步骤:获取目标位图,目标位图为比特串,用于作为在互联网中对应的节点间进行交换的目标信息的信息索引;对目标位图对应的比特串进行预编码,以分别聚合比特串中0比特值和1比特值;对预编码后的比特串采用哥伦布编码算法进行编码。处理器201还用于执行下述步骤:对目标位图对应的比特串进行预编码,以分别聚合比特串中0比特值和1比特值包括:对目标位图对应的比特串采用按位异或非编码算法进行编码。处理器201还用于执行下述步骤:在对目标位图对应的比特串采用按位异或非编码算法进行编码之后,对采用按位异或非编码算法编码后的比特串采用混合行程编码算法进行编码。处理器201还用于执行下述步骤:对目标位图对应的比特串采用按位异或非编码算法进行编码包括:保留目标位图对应的比特串的首位;从目标位图对应的比特串的次位开始,依次将当前比特值和与当前比特值相邻且位于当前比特值之前的比特值进行异或非编码运算,直到比特串的次末位比特值和末位比特值异或非编码运算完成为止。处理器201还用于执行下述步骤:对采用按位异或非编码算法编码后的比特串采用混合行程编码算法进行编码包括:将对采用按位异或非编码算法编码后的比特串中多个连续相同的比特编码为第一比特起始值和第一比特计数值;和/或将对采用按位异或非编码算法编码后的比特串中多个连续不同的比特编码为第二比特起始值和第二比特计数值。采用本发明实施例,提供了一种在采用哥伦布编码算法对信息位图进行编码之前先对信息位图进行预编码以聚合比特串中的0和1的方案。通过获取目标位图,目标位图为比特串,用于作为在互联网中对应的节点间进行交换的目标信息的信息索引;对目标位图对应的比特串进行预编码,以分别聚合比特串中0比特值和1比特值;对预编码后的比特串采用哥伦布编码算法进行编码,达到了高度压缩信息位图的目的,从而实现了信息交换时节约传输开销以及降低编解码难度的技术效果,进而解决了相关技术中由于直接对信息位图进行哥伦布编码造成的传输开销大以及编解码难度大的技术问题。处理器201可以通过传输装置205调用存储器203存储的应用程序,以执行下述步骤:获取目标位图在采用哥伦布编码算法进行编码后得到的编码结果,目标位图为比特串,用于作为在互联网中对应的节点间进行交换的目标信息的信息索引;对编码结果进行预解码,以得到分别聚合了0比特值和1比特值的比特串;对预解码后的比特串进行解码,以从分别聚合了0比特值和1比特值的比特串中还原出目标位图对应的原始比特串。处理器201还用于执行下述步骤:对编码结果进行预解码,以得到分别聚合了0比特值和1比特值的比特串包括:对编码结果采用按位异或非解码算法进行解码。处理器201还用于执行下述步骤:在对编码结果采用采用按位异或非编码算法进行解码之前,对采用按位异或非编码算法解码前的编码采用混合行程解码算法进行解码。处理器201还用于执行下述步骤:对编码结果采用采用按位异或非解码算法进行解码包括:保留编码结果对应的比特串的首位;从编码结果对应的比特串的次位开始,依次将当前比特值和与当前比特值相邻且位于当前比特值之前的比特值进行异或非解码运算,直到编码结果对应的比特串的次末位比特值和末位比特值异或非解码运算完成为止。处理器201还用于执行下述步骤:对采用按位异或非编码算法解码前的编码采用混合行程解码算法进行解码包括:对采用按位异或非解码算法解码前的编码中的用于对多个连续相同的比特编码的第一比特起始值和第一比特计数值进行解码;和/或对采用按位异或非解码算法解码前的编码中的用于对多个连续不同的比特编码的第二比特起始值和第二比特计数值进行解码。可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。本领域普通技术人员可以理解,图9所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MobileInternetDevices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,终端还可包括比图9中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图9所示不同的配置。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-OnlyMemory,ROM)、随机存取器(RandomAccessMemory,RAM)、磁盘或光盘等。实施例4本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行信息位图的编码、解码方法的程序代码。可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:S11,获取目标位图,所述目标位图为比特串,用于作为在互联网中对应的节点间进行交换的目标信息的信息索引;S12,对所述目标位图对应的所述比特串进行预编码,以分别聚合所述比特串中0比特值和1比特值;S13,对预编码后的比特串采用哥伦布编码算法进行编码。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:对目标位图对应的比特串进行预编码,以分别聚合比特串中0比特值和1比特值包括:对目标位图对应的比特串采用按位异或非编码算法进行编码。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在对目标位图对应的比特串采用按位异或非编码算法进行编码之后,对采用按位异或非编码算法编码后的比特串采用混合行程编码算法进行编码。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:对目标位图对应的比特串采用按位异或非编码算法进行编码包括:保留目标位图对应的比特串的首位;从目标位图对应的比特串的次位开始,依次将当前比特值和与当前比特值相邻且位于当前比特值之前的比特值进行异或非编码运算,直到比特串的次末位比特值和末位比特值异或非编码运算完成为止。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:对采用按位异或非编码算法编码后的比特串采用混合行程编码算法进行编码包括:将对采用按位异或非编码算法编码后的比特串中多个连续相同的比特编码为第一比特起始值和第一比特计数值;和/或将对采用按位异或非编码算法编码后的比特串中多个连续不同的比特编码为第二比特起始值和第二比特计数值。可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:S21,获取目标位图在采用哥伦布编码算法进行编码后得到的编码结果,目标位图为比特串,用于作为在互联网中对应的节点间进行交换的目标信息的信息索引;S22,对编码结果进行预解码,以得到分别聚合了0比特值和1比特值的比特串;S23,对预解码后的比特串进行解码,以从分别聚合了0比特值和1比特值的比特串中还原出目标位图对应的原始比特串。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:对编码结果进行预解码,以得到分别聚合了0比特值和1比特值的比特串包括:对编码结果采用按位异或非解码算法进行解码。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在对编码结果采用采用按位异或非解码算法进行解码之前,对采用按位异或非编码算法解码前的编码采用混合行程编码算法进行解码。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:对编码结果采用采用按位异或非解码算法进行解码包括:保留编码结果对应的比特串的首位;从编码结果对应的比特串的次位开始,依次将当前比特值和与当前比特值相邻且位于当前比特值之前的比特值进行异或非解码运算,直到编码结果对应的比特串的次末位比特值和末位比特值异或非解码运算完成为止。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:对采用按位异或非解码算法解码前的编码采用混合行程解码算法进行解码包括:对采用按位异或非解码算法解码前的编码中的用于对多个连续相同的比特编码的第一比特起始值和第一比特计数值进行解码;和/或对采用按位异或非解码算法解码前的编码中的用于对多个连续不同的比特编码的第二比特起始值和第二比特计数值进行解码。可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1