CN111615149A - 信令轨迹数据压缩方法及装置 - Google Patents
信令轨迹数据压缩方法及装置 Download PDFInfo
- Publication number
- CN111615149A CN111615149A CN202010399753.XA CN202010399753A CN111615149A CN 111615149 A CN111615149 A CN 111615149A CN 202010399753 A CN202010399753 A CN 202010399753A CN 111615149 A CN111615149 A CN 111615149A
- Authority
- CN
- China
- Prior art keywords
- base station
- station identification
- identification sequence
- substring
- data
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/20—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种信令轨迹数据压缩方法、解压缩方法及装置,其中,该压缩方法包括:获取信令轨迹数据,其包括用户标识和基站标识序列数据,从其中提取由各单个基站标识构成的子串和多个基站标识序列数据共有的且所包含基站标识的数量不小于二且不大于设定子串长度的子串,形成子串集;统计子串集中各子串出现的次数;以子串和出现次数分别作为叶子结点和权重构建哈夫曼树;基于哈夫曼树生成各子串的编码,形成基站标识序列子串编码表;通过将待压缩基站标识序列数据切分成至少一个能在编码表中查到的子串,得到编码,组成基站标识序列数据的压缩编码,得到压缩结果。通过上述方案能在基站定位数据时间稀疏性且空间稀疏的情况下实现有效数据压缩。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种信令轨迹数据压缩方法及装置。
背景技术
随着移动互联网的迅速发展,手机终端的渗透率已经达到很高的程度,而手机在开机时会持续的与基站交互,当手机附着到基站的对应扇区,可以认为当前手机的位置处在该基站覆盖范围内,从而可以利用蜂窝数据网络实现手机的基站定位,并产生对应的轨迹数据。
由于手机与基站是持续进行交互的,每天会产生海量的基站定位数据,随着时间推移会不断积累,轨迹数据会消耗大量的存储资源,需要高性能高效率的压缩算法提高轨迹数据的存储效率。
手机处于基站附着的状态下,通话、短信、上网等行为会持续产生信令日志,但其定位信息都是附着在同一个基站,所以信令轨迹数据中会存在大量的重复数据。如果去除同基站位置下的重复数据,就只剩下用户发生基站切换时产生的位置数据,所以信令轨迹数据在时间上是稀疏的。蜂窝网络基站能够覆盖100m到5000m的范围,如果将信令轨迹数据中基站标识转化为基站的位置,信令轨迹数据在空间上又是稀疏的。
发明内容
有鉴于此,本发明提供了一种信令轨迹数据压缩方法及装置,以在基站定位数据具有时间稀疏性和空间稀疏性的情况下实现有效的数据压缩。
为了达到上述目的,本发明采用以下方案实现:
根据本发明实施例的一个方面,提供了一种信令轨迹数据压缩方法,包括:
获取第一信令轨迹数据集;其中,所述第一信令轨迹数据集中的每条信令轨迹数据包括一个移动终端用户标识和相应的基站标识序列数据,且不同条信令轨迹数据中的移动终端用户标识不同;
从所述第一信令轨迹数据集中的信令轨迹数据的基站标识序列数据中,提取由各单个基站标识构成的第一基站标识序列子串和多个基站标识序列数据共有的且所包含基站标识的数量不小于二且不大于设定子串长度的第一基站标识序列子串,形成第一序列子串集;
统计所述第一序列子串集中各第一基站标识序列子串的重复出现次数,并根据统计结果生成第一基站标识序列子串和重复出现次数的对应关系库;
以所述第一基站标识序列子串和重复出现次数的对应关系库中各第一基站标识序列子串作为叶子结点,并以相应的重复出现次数作为相应叶子结点的权重,构建哈夫曼树;
基于所述哈夫曼树,生成所述第一基站标识序列子串和重复出现次数的对应关系库中各第一基站标识序列子串的二进制编码,形成基站标识序列子串编码表;
通过将待压缩的第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据切分成至少一个能够在所述基站标识序列子串编码表中查找到的第二基站标识序列子串,从所述基站标识序列子串编码表获取到相应的二进制编码,并由获取的至少一个二进制编码按第二基站标识序列子串的切分顺序组合成相应基站标识序列数据的压缩编码;
根据第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据的压缩编码,得到相应移动终端用户标识对应的信令轨迹数据的压缩结果。
在一些实施例中,获取第一信令轨迹数据集,包括:
获取第一原始信令轨迹数据集;其中,所述第一原始信令轨迹数据集中每条原始信令轨迹数据包括一个移动终端用户标识、相应的时间戳、及相应的基站标识;
将所述第一原始信令轨迹数据集中所有原始信令轨迹数据按移动终端用户标识分组;
将所述第一原始信令轨迹数据集对应的每组原始信令轨迹数据按时间戳顺序排序,得到相应移动终端用户标识对应的第一初始基站标识序列;
对所述第一原始信令轨迹数据集中每个移动终端用户标识对应的第一初始基站标识序列进行基站标识去重;
将进行基站标识去重后的第一初始基站标识序列,作为相应移动终端用户标识对应的基站标识序列数据,形成第一信令轨迹数据集。
在一些实施例中,统计所述第一序列子串集中各第一基站标识序列子串的重复出现次数,并根据统计结果生成第一基站标识序列子串和重复出现次数的对应关系库,包括:
统计所述第一序列子串集中各第一基站标识序列子串在所述第一序列子串集中的重复出现次数;
对所述第一序列子串集中所有第一基站标识序列子串,按其重复出现次数的大小进行降序排列;
从降序排列后的所有第一基站标识序列子串中选取前设定数量的第一基站标识序列子串,形成第一基站标识序列子串和重复出现次数的对应关系库。
在一些实施例中,基于所述哈夫曼树,生成所述第一基站标识序列子串和重复出现次数的对应关系库中各第一基站标识序列子串的二进制编码,形成基站标识序列子串编码表,包括:在所述哈夫曼树不是范式哈夫曼树的情况下,将所述哈夫曼树重整为范式哈夫曼树,并根据所述范式哈夫曼树生成所述第一基站标识序列子串和重复出现次数的对应关系库中各第一基站标识序列子串的二进制编码,形成基站标识序列子串编码表。
在一些实施例中,所述的信令轨迹数据压缩方法还包括:遍历所述基站标识序列子串编码表,得到每个编码长度下数值最小的编码,形成码长度判断编码表。
在一些实施例中,所述第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据还包括时间序列数据。通过将待压缩的第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据切分成至少一个能够在所述基站标识序列子串编码表中查找到的第二基站标识序列子串,从所述基站标识序列子串编码表获取到相应的二进制编码,并由获取的至少一个二进制编码按第二基站标识序列子串的切分顺序组合成相应基站标识序列数据的压缩编码之前,所述方法,还包括:获取第二原始信令轨迹数据集;其中,所述第二原始信令轨迹数据集中每条原始信令轨迹数据包括一个移动终端用户标识、相应的时间戳、及相应的基站标识;将所述第二原始信令轨迹数据集中所有原始信令轨迹数据按移动终端用户标识分组;将所述第二原始信令轨迹数据集对应的每组原始信令轨迹数据按时间戳顺序排序,得到相应移动终端用户标识对应的初始时间戳序列和第二初始基站标识序列;对所述第二原始信令轨迹数据集中每个移动终端用户标识对应的第二初始基站标识序列进行基站标识去重;将进行基站标识去重后的第二初始基站标识序列和相应的初始时间戳序列,分别作为相应移动终端用户标识对应的基站标识序列数据和时间序列数据,形成第二信令轨迹数据集;其中,所述第二信令轨迹数据集中的所有时间序列数据所对应的时间范围不超过设定时间周期。根据第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据的压缩编码,得到相应移动终端用户标识对应的信令轨迹数据的压缩结果之前,所述方法,还包括:对所述第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的时间序列数据进行差分压缩。根据第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据的压缩编码,得到相应移动终端用户标识对应的信令轨迹数据的压缩结果,包括:将所述第二信令轨迹数据集中的移动终端用户标识与其对应的差分压缩后的时间序列数据和第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据的压缩编码对应起来,得到所述第二信令轨迹数据集中的相应移动终端用户标识对应的信令轨迹数据的压缩结果。
在一些实施例中,通过将待压缩的第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据切分成至少一个能够在所述基站标识序列子串编码表中查找到的第二基站标识序列子串,从所述基站标识序列子串编码表获取到相应的二进制编码,并由获取的至少一个二进制编码按第二基站标识序列子串的切分顺序组合成相应基站标识序列数据的压缩编码,包括:
以所述设定子串长度为切分长度,将待压缩的第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据从头开始切分出第一个第二基站标识序列子串;
若能够在所述基站标识序列子串编码表中查找到长度为所述设定子串长度的第一个第二基站标识序列子串,则从所述基站标识序列子串编码表获取到相应的二进制编码;若无法在所述基站标识序列子串编码表中查找到长度为所述设定子串长度的第一个第二基站标识序列子串,则从所述设定子串长度开始缩短切分长度,并以缩短后的切分长度,将待压缩的基站标识序列数据从头开始重新切分出第一个第二基站标识序列子串,以使重新切分出的第一个第二基站标识序列子串能够在所述基站标识序列子串编码表中查找到并从所述基站标识序列子串编码表获取到相应的二进制编码;
若待压缩的基站标识序列数据在切分出第一个第二基站标识序列子串后不存在剩余字符串,则根据第一个第二基站标识序列子串对应的二进制编码得到相应的待压缩的基站标识序列数据的压缩编码;若待压缩的基站标识序列数据在切分出第一个第二基站标识序列子串后存在剩余字符串,则以所述设定子串长度或从所述设定子串长度开始缩短得到的长度为切分长度,将剩余子串从头开始切分出能够在所述基站标识序列子串编码表中查找到的第二个第二基站标识序列子串,并从所述基站标识序列子串编码表获取到相应的二进制编码;
在待压缩的基站标识序列数据被切分完毕的情况下,将从待压缩的基站标识序列数据切分出的所有第二基站标识序列子串对应的二进制编码按第二基站标识序列子串的切分顺序排列,构成待压缩的基站标识序列数据的压缩编码。
根据本发明实施例的另一个方面,提供了一种信令轨迹数据解压缩方法,适用于解压缩利用上述任一实施例所述的信令轨迹数据压缩方法压缩的信令轨迹数据,所述信令轨迹数据解压缩方法包括:利用基站标识序列子串编码表对第三信令轨迹数据集中的每条压缩后的信令轨迹数据进行解压缩,其中,所述第三信令轨迹数据集中的每条压缩后的信令轨迹数据包括压缩后的基站标识序列数据。
根据本发明实施例的又一个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述方法的步骤。
根据本发明实施例的又一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述方法的步骤。
本发明实施例的信令轨迹数据压缩方法、信令轨迹数据解压缩方法、电子设备及计算机可读存储介质,实现了基于Huffman编码对信令轨迹数据进行压缩编码,从而在基站定位数据具有时间稀疏性和空间稀疏性的情况下能够实现有效的数据压缩。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例的信令轨迹数据压缩方法的流程示意图;
图2是本发明一实施例的网络拓扑结构示意图;
图3是本发明一实施例的信令轨迹数据采集流程示意图;
图4是本发明一具体实施例的信令轨迹数据压缩流程示意图;
图5是本发明一实施例中哈夫曼树的结构示意图;
图6是本发明一实施例中的哈夫曼树的构建流程示意图;
图7是本发明一实施例的信令轨迹数据解压流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
发明人分析发现,基于蜂窝网络特性,手机会在临近基站直接切换,从时序来看手机的轨迹数据可以看成是一系列的基站标识序列,而人的轨迹是具备一定的重复性的,可基于其重复性将一定长度的轨迹序列生成新的唯一标识,实现轨迹序列的压缩。
常见的轨迹压缩算法是基于GPS数据的编码压缩,而移动信令轨迹数据中的基站定位数据是已知的,可以将其中的基站GPS位置转换成GPS经纬度压缩数据,但是很多GPS轨迹压缩算法是基于GPS高频率高密度的数据特性设计的,无法应对基站定位数据的时间稀疏性和空间稀疏性,例如,Douglas-Peucker算法通过对GPS数据进行了重采样能有效降低数据量,但将信令轨迹数据转换为GPS数据并采用该算法进行重采样会进一步降低信息量,造成轨迹细节缺失。
对此,发明人创造性地想到,在一定区域范围内,不同基站的附着频率以及不同的轨迹序列的出现频率会有一定的差异性,可以将基于基站/轨迹序列的唯一标识视作字符并统计字符频次,建立huffman编码树对唯一标识进行重新编码并存储,将频率较高的字符编码为短码,频率较低的编码为长码,实现对信令轨迹数据进行huffman编码压缩。
基于此,本发明实施例提供了一种信令轨迹数据压缩方法,图1是本发明一实施例的信令轨迹数据压缩方法的流程示意图,如图1所示,该些实施例的信令轨迹数据压缩方法可包括以下步骤S110~步骤S170。
下面将对步骤S110至步骤S170的具体实施方式进行详细说明。
步骤S110:获取第一信令轨迹数据集;其中,所述第一信令轨迹数据集中的每条信令轨迹数据包括一个移动终端用户标识和相应的基站标识序列数据,且不同条信令轨迹数据中的移动终端用户标识不同。
该步骤S110中,一条信令轨迹数据包括一个移动终端用户标识和相应的基站标识序列数据,相当于一个移动终端用户(如手机用户)的轨迹。第一信令轨迹数据集可以大量信令轨迹数据的集合,其中的不同信令轨迹数据包含不同移动终端用户的轨迹。其中,移动终端用户标识可以是手机号、IMSI(国际移动用户识别码)等,基站标识序列数据可以是一个或多个基站标识按一定次序排成的字符串序列,基站标识可以是由运营商ID、基站原始设备制造商ID、LAC(Location Area Code,位置区编码)、CI(小区识别)构成的字符串。
另外,该第一信令轨迹数据集中的部分或全部信令轨迹数据可以来自待压缩的信令轨迹数据/原始信令轨迹数据),可以来自历史的信令轨迹数据/原始信令轨迹数据。简言之,该第一信令轨迹数据集中信令轨迹数据的基站标识序列数据和后续步骤S160中待压缩的第二信令轨迹数据集中信令轨迹数据的基站标识序列数据可以存在交集。顺便需要说明的是,第一信令轨迹数据集中的“第一”和后续所述第二信令轨迹数据集的“第二”主要是为了表示这两个集合为用户不同的两个数据集合,前者用于创建基站标识序列子串编码表,后者为待压缩的信令轨迹数据。
在已存在可用的第一信令轨迹数据集的情况下,上述步骤S110中,可以通过读取方式(例如,将数据库中存储的信令轨迹数据读取至内存)获取第一信令轨迹数据集。在尚没有可用的第一信令轨迹数据集的情况下,可以通过对原始信令轨迹数据集中原始信令数据进行预处理,得到上述第一信令轨迹数据集中的信令轨迹数据。
示例性地,该步骤S110,即,获取第一信令轨迹数据集的步骤,具体地,可包括步骤:
S111,获取第一原始信令轨迹数据集;其中,所述第一原始信令轨迹数据集中每条原始信令轨迹数据包括一个移动终端用户标识、相应的时间戳、及相应的基站标识;
S112,将所述第一原始信令轨迹数据集中所有原始信令轨迹数据按移动终端用户标识分组;
S113,将所述第一原始信令轨迹数据集对应的每组原始信令轨迹数据按时间戳顺序排序,得到相应移动终端用户标识对应的第一初始基站标识序列;
S114,对所述第一原始信令轨迹数据集中每个移动终端用户标识对应的第一初始基站标识序列进行基站标识去重;
S115,将进行基站标识去重后的第一初始基站标识序列,作为相应移动终端用户标识对应的基站标识序列数据,形成第一信令轨迹数据集。
上述步骤S111中,一条原始信令轨迹数据是一条位置数据。不同原始信令轨迹数据的移动终端用户标识可能相同,如在不同时间得到的同一移动终端用户的原始信令轨迹数据。不同原始信令轨迹数据的基站标识可能相同,如不同时间得到的在同一基站覆盖范围内的原始信令轨迹数据。上述步骤S112中,同一组的原始信令轨迹数据的移动终端用户标识相同,不同组的原始信令轨迹数据的移动终端用户标识不同。上述步骤S113中,同一用户(同一组)的原始信令轨迹数据的时间戳可能各不相同,所以可以按时间先后排序得到用户的轨迹数据。顺便需要说明的是,第一初始基站标识序列中的“第一”主要是了与其他步骤所用的初始基站标识序列(如后续步骤S193中的第二初始基站标识序列)相区分。上述步骤S114中,可通过去除第一初始基站标识序列中和基站标识上文相同的基站标识实现去重;每个基站具有一定覆盖范围,只有从一个基站切换到另一个基站时,基站标识才会发生变化,所以,相邻时间点的基站标识可能相同,去掉重复的基站标识后,不影响轨迹信息,而且可以减少数据量。上述步骤S115中,可以根据各用户的基站标识序列数据形成第一信令轨迹数据集。
步骤S120:从所述第一信令轨迹数据集中的信令轨迹数据的基站标识序列数据中,提取由各单个基站标识构成的第一基站标识序列子串和多个基站标识序列数据共有的且所包含基站标识的数量不小于二且不大于设定子串长度的第一基站标识序列子串,形成第一序列子串集。
该步骤S120中,单个基站标识构成的第一基站标识序列子串是指将一个基站标识的字符串作为一个基站标识序列子串放入第一序列子串集,以此,可以保证所有基站标识所在的基站标识序列子串都存在于第一序列子串集中。这意味着,在利用后续步骤S160对待压缩的基站标识序列数据进行编码时,至少可以将待压缩的基站标识序列数据切分为单个基站标识,从而保证能够在基站标识序列子串编码表中查找到相应的编码。
多个基站标识序列数据共有的第一基站标识序列子串可以是指第一信令轨迹数据集中的一些信令轨迹数据的基站标识序列数据所共有的基站标识序列子串,可以先找出各基站标识序列数据的基站标识序列子串,再从这些基站标识序列数据的基站标识序列子串中找到共同的基站标识序列子串。例如,一条基站标识序列数据为ABCDEFG,另一条基站标识序列数据为ABCDABC(其中,A、B、C、D、E、F、G分别不同基站标识的字符串);前一条基站标识序列数据的长度为1的基站标识序列子串有A、B、C、D等,长度为2的基站标识序列子串有AB、BC、CD、DE等,长度为3的基站标识序列子串有ABC、BCD、CDE等,长度为4的基站标识序列子串有ABCD、BCDE等;后一条基站标识序列数据的长度为1的基站标识序列子串有A、B、C、D,长度为2的基站标识序列子串有AB、BC、CD、DA等,长度为3的基站标识序列子串有ABC、BCD、CDA等,长度为4的基站标识序列子串有ABCD、BCDA等;那么,两条基站标识序列数据ABCDEFG和ABCDABC的共有的基站标识序列子串可以有A、B、C、D、AB、BC、CD、ABC、BCD、ABCD。以此类推,可以找到更多个基站标识序列数据共有的基站标识序列子串。许多不同的基站的标识可能相差很大(如距离较远的基站),所以很多基站标识序列数据可能会相差较大,所以为了减少计算量,可以不需要查找所有或接近所有或太多基站标识序列数据的共有基站标识序列子串。具体需要寻找多少基站标识序列数据的共有基站标识序列子串,可以根据所要研究的基站的分布情况、计算量等因素确定。
另外,多个基站标识序列数据共有的第一基站标识序列子串所包含基站标识的数量不小于二且不大于设定子串长度;具体而言,对于基站标识的数量小于二(即,等于一)的情况已由单个基站标识构成的第一基站标识序列子串覆盖;另外,对基站标识的数量设置上限(即,设定子串长度)可以减少子串数量,进而减少存储空间的占用,设定子串长度可以根据存储空间等确定。例如,设置设定子串长度为三,则可以寻找长度为二和三的共同的基站标识序列子串,此外,还有由各单个基站标识构成的第一基站标识序列子串,所以第一序列子串集可以包含长度为一、二、三的基站标识序列子串。
步骤S130:统计所述第一序列子串集中各第一基站标识序列子串的重复出现次数,并根据统计结果生成第一基站标识序列子串和重复出现次数的对应关系库。
该步骤S130中,由各单个基站标识构成的第一基站标识序列子串和多个基站标识序列数据共有的且所包含基站标识的数量不小于二且不大于设定子串长度的第一基站标识序列子串,以此形成的所有第一基站标识序列子串中,对于某一个第一基站标识序列子串来说可能出现多次,且不同的第一基站标识序列子串出现的次数(或称为频次、重复出现次数)可能不同。经过统计,可以得到各第一基站标识序列子串在第一序列子串集中重复出现的次数,这些第一基站标识序列子串与其重复出现次数可以称为第一基站标识序列子串和重复出现次数的对应关系库。
具体实施时,该步骤S130,即,统计所述第一序列子串集中各第一基站标识序列子串的重复出现次数,并根据统计结果生成第一基站标识序列子串和重复出现次数的对应关系库的步骤,具体地,可包括步骤:
S131,统计所述第一序列子串集中各第一基站标识序列子串在所述第一序列子串集中的重复出现次数;
S132,对所述第一序列子串集中所有第一基站标识序列子串,按其重复出现次数的大小进行降序排列;
S133,从降序排列后的所有第一基站标识序列子串中选取前设定数量的第一基站标识序列子串,形成第一基站标识序列子串和重复出现次数的对应关系库。
上述步骤S131中,可以先统计每个基站标识序列数据的各唯一第一基站标识序列子串在其各自基站标识序列数据中出现的次数,再将同一第一基站标识序列子串在不同基站标识序列数据出现的次数累加起来,得到该第一基站标识序列子串在第一序列子串集中出现的总次数。另外,由各单个基站标识构成的第一基站标识序列子串和多个基站标识序列数据共有的且所包含基站标识的数量不小于二且不大于设定子串长度的第一基站标识序列子串可以分别统计重复出现次数。
上述步骤S133中,可以根据第一基站标识序列子串总数、基站总数等情况确定该设定数量。由于第一序列子串集中第一基站标识序列子串的数量很大,所以可以从所有第一基站标识序列子串中选取出现次数较多的、部分的第一基站标识序列子串,以减少存储量、计算量等。
步骤S140:以所述第一基站标识序列子串和重复出现次数的对应关系库中各第一基站标识序列子串作为叶子结点,并以相应的重复出现次数作为相应叶子结点的权重,构建哈夫曼树。
具体实施时,可以由所有第一基站标识序列子串构成结点集合,然后从这个结点集合中取权重(重复出现次数)最小的两个结点,然后求这两个结点的权重的和,将求和结果作为一个新结点的权重,并将该新结点作为取出的那两个结点的父节点,删除当前结点集合中权重最小的那两个结点,同时将这个新结点放入结点集合中,之后继续从最新的结点集合中选取目前权重最小的两个结点生成有一个新的节点,删除已取出的节点,以此不断从最新结点集合中取权重最小的节点,直到结点集合中的结点被取完,构建得到普通的哈夫曼树。当然,不排除可以直接构建得到范式哈夫曼树。
步骤S150:基于所述哈夫曼树,生成所述第一基站标识序列子串和重复出现次数的对应关系库中各第一基站标识序列子串的二进制编码,形成基站标识序列子串编码表。
范式哈夫曼树比普通的哈夫曼树具有更高的编解码效率。所述哈夫曼树可以是直接构建出的范式哈夫曼树。若所述哈夫曼树不是范式哈夫曼树,为了提高编解码效率,可以将非范式的哈夫曼树调整为范式哈夫曼树。
具体实施时,该步骤S150,即,基于所述哈夫曼树,生成所述第一基站标识序列子串和重复出现次数的对应关系库中各第一基站标识序列子串的二进制编码,形成基站标识序列子串编码表的步骤,具体地,可包括步骤:在所述哈夫曼树不是范式哈夫曼树的情况下,将所述哈夫曼树重整为范式哈夫曼树,并根据所述范式哈夫曼树生成所述第一基站标识序列子串和重复出现次数的对应关系库中各第一基站标识序列子串的二进制编码,形成基站标识序列子串编码表。
可以从上到下遍历哈夫曼树的子结点(叶结点),并在向左遍历到子结点时编码为0,向右遍历到子结点时编码为1,直到遍历完整颗哈夫曼树,对于每个子结点,将遍历到其的所有编码按遍历顺序从低位到高位或从高位到低位排列构成一个二进制编码,作为该节点(即该第一基站标识序列子串)的哈夫曼编码。
在另一些实施例中,在得到基站标识序列子串编码表之后,可以基于该表进一步得到其他表,以提高搜索编码的效率。
示例性地,图1所示的信令轨迹数据压缩方法,在该步骤S150之后,还可包括步骤:S180,遍历所述基站标识序列子串编码表,得到每个编码长度下数值最小的编码,形成码长度判断编码表。
步骤S180中,码长度判断编码表(firstCodeTable)中记录了基站标识序列子串编码表(CodeTable)中各编码长度下的数值最小的编码(每个编码长度只有保留了一个编码),例如,基站标识序列子串编码表比特位长度为二的编码有01、10、11,则将01放入码长度判断编码表。
当需要对利用本发明实施例编码的基站标识序列数据进行解码时,逐bit读入压缩的轨迹编码流(基站标识序列数据的压缩编码),当已读取的bit流构成的编码大于等于firstCodetable中已读取的bit流长度对应的最小编码,循环将当前读取的bit放入bit流中,直到已读取的bit流构成的编码小于firstCodetable中当前已读取的bit流长度对应的最小编码。则当前已读取的bit流构成当前轨迹位置(基站标识序列数据中的子串)的编码,并可以从CodeTable中查找得到该Code编码对应的基站标识序列子串。该解码方式利用范式huffman编码的特点实现,可以避免遍历比较整个基站标识序列子串编码表,提高解码效率。
步骤S160:通过将待压缩的第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据切分成至少一个能够在所述基站标识序列子串编码表中查找到的第二基站标识序列子串,从所述基站标识序列子串编码表获取到相应的二进制编码,并由获取的至少一个二进制编码按第二基站标识序列子串的切分顺序组合成相应基站标识序列数据的压缩编码。
具体实施时,该步骤S160,即,通过将待压缩的第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据切分成至少一个能够在所述基站标识序列子串编码表中查找到的第二基站标识序列子串,从所述基站标识序列子串编码表获取到相应的二进制编码,并由获取的至少一个二进制编码按第二基站标识序列子串的切分顺序组合成相应基站标识序列数据的压缩编码的步骤,具体可包括步骤:
S161,以所述设定子串长度为切分长度,将待压缩的第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据从头开始切分出第一个第二基站标识序列子串;
S162,若能够在所述基站标识序列子串编码表中查找到长度为所述设定子串长度的第一个第二基站标识序列子串,则从所述基站标识序列子串编码表获取到相应的二进制编码;
S163,若无法在所述基站标识序列子串编码表中查找到长度为所述设定子串长度的第一个第二基站标识序列子串,则从所述设定子串长度开始缩短切分长度,并以缩短后的切分长度,将待压缩的基站标识序列数据从头开始重新切分出第一个第二基站标识序列子串,以使重新切分出的第一个第二基站标识序列子串能够在所述基站标识序列子串编码表中查找到并从所述基站标识序列子串编码表获取到相应的二进制编码;
S164,若待压缩的基站标识序列数据在切分出第一个第二基站标识序列子串后不存在剩余字符串,则根据第一个第二基站标识序列子串对应的二进制编码得到相应的待压缩的基站标识序列数据的压缩编码;
S165,若待压缩的基站标识序列数据在切分出第一个第二基站标识序列子串后存在剩余字符串,则以所述设定子串长度或从所述设定子串长度开始缩短得到的长度为切分长度,将剩余子串从头开始切分出能够在所述基站标识序列子串编码表中查找到的第二个第二基站标识序列子串,并从所述基站标识序列子串编码表获取到相应的二进制编码;
S166,在待压缩的基站标识序列数据被切分完毕的情况下,将从待压缩的基站标识序列数据切分出的所有第二基站标识序列子串对应的二进制编码按第二基站标识序列子串的切分顺序排列,构成待压缩的基站标识序列数据的压缩编码。
上述步骤S161中,设定子串长度是前述步骤S120中第一基站标识序列子串的限制子串长度,即为基站标识序列子串编码表中的基站标识序列子串的最大子串长度。大于该设定子串长度的子串不会存在于基站标识序列子串编码表中,所以从该设定子串长度作为切分长度开始尝试切分待压缩的基站标识序列数据,可以提高编码效率。
切分出该设定子串长度的子串后,可以判断是否能在基站标识序列子串编码表中查找到相同的子串,若是,执行步骤S162,从编码表中找到相应的二进制编码,若否,执行步骤S163,可以逐次缩短切分长度,例如,每次缩短一后,重新从基站标识序列数据切分出子串,看是否能在编码表中查找到,直到根据缩短后的切分长度从基站标识序列数据切分出的子串能在编码表中查找到为止,得到了第一个第二基站标识序列子串。
切分出第一个第二基站标识序列子串之后,判断基站标识序列数据中是否有剩余字符,若否,执行步骤S164,切分完毕,若是,执行步骤S165,继续切分。下一次切分时,然可从上述设定子串长度开始切分,每次切分出的子串在编码表中查找不到时,可以将切分长度减一,继续尝试切分,直到在编码表中查找到编码,得到第二第二基站标识序列子串。以此重复进行,切分剩余子串,可以切分完整个基站标识序列数据。
上述步骤S166中,从基站标识序列数据切分出的所有子串对应的编码按顺序连续存储,即得到该基站标识序列数据的编码数据。
步骤S170:根据第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据的压缩编码,得到相应移动终端用户标识对应的信令轨迹数据的压缩结果。
该步骤S170中,在仅对信令轨迹数据中的基站标识序列数据进行压缩的情况下,可以将基站标识序列数据的压缩编码与相应的移动用户标识等其他信息对应起来存储,得到信令轨迹数据的压缩结果。
信令轨迹数据中还可包含其他可以压缩的数据,在此情况下,可以采用适当的方法对其他可压缩数据进行压缩,以进一步提高信令轨迹数据的压缩比。
在另一些实施例中,所述第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据还可包括时间序列数据。可以通过再对时间序列数据进行压缩来进一步提高压缩比。
若要对待压缩信令轨迹数据中的基站标识序列数据和/或时间序列数据进行压缩,可以从数据库中加载已准备好的数据,或者,可以通过对原始信令轨迹数据集中的原始信令轨迹数据预处理,得到第二信令轨迹数据集中的信令轨迹数据。
具体实施时,该步骤S160之前,即,通过将待压缩的第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据切分成至少一个能够在所述基站标识序列子串编码表中查找到的第二基站标识序列子串,从所述基站标识序列子串编码表获取到相应的二进制编码,并由获取的至少一个二进制编码按第二基站标识序列子串的切分顺序组合成相应基站标识序列数据的压缩编码之前,图1所示的信令轨迹数据压缩方法还可包括步骤:
S191,获取第二原始信令轨迹数据集;其中,所述第二原始信令轨迹数据集中每条原始信令轨迹数据包括一个移动终端用户标识、相应的时间戳、及相应的基站标识;
S192,将所述第二原始信令轨迹数据集中所有原始信令轨迹数据按移动终端用户标识分组;
S193,将所述第二原始信令轨迹数据集对应的每组原始信令轨迹数据按时间戳顺序排序,得到相应移动终端用户标识对应的初始时间戳序列和第二初始基站标识序列;
S194,对所述第二原始信令轨迹数据集中每个移动终端用户标识对应的第二初始基站标识序列进行基站标识去重;
S195,将进行基站标识去重后的第二初始基站标识序列和相应的初始时间戳序列,分别作为相应移动终端用户标识对应的基站标识序列数据和时间序列数据,形成第二信令轨迹数据集;其中,所述第二信令轨迹数据集中的所有时间序列数据所对应的时间范围不超过设定时间周期。
上述步骤S191可以类似于前述步骤S111,第二原始信令轨迹数据集可以是一个时间周期(如一天)的数据,该第二原始信令轨迹数据集和前述第一原始信令轨迹数据集可以存在交集,或者,不存在交集,前述第一原始信令轨迹数据集可以是早于第二原始信令轨迹数据集采集得到的历史数据,例如,可以是一个月之前的数据。另外,基站标识序列子串编码表可以每过一段时间利用最新的信令轨迹数据集更新一次。
上述步骤S192可以类似于前述步骤S112,上述步骤S193可以类似于前述步骤S113,上述步骤S194可以类似于前述步骤S114。上述步骤S195可以类似于前述步骤S115,主要区别在于,步骤S195中除了得到基站标识序列数据,还得到时间序列数据。由于上述步骤S191中的,对于一条原始信令轨迹数据而言,时间戳序列和基站标识是一一对应的,所以步骤S193中初始时间戳序列中的时间戳和第二初始基站标识序列中的基站标识是一一对应的,经过步骤S194对第二初始基站标识序列去重时,去掉的基站标识对应的时间戳也可相应去掉,所以步骤S195中可以得到去重后的第二初始基站标识序列对应的初始时间戳序列,即可得到时间序列数据。一个移动终端用户标识与其对应的基站标识序列数据和时间序列数据可以形成第二信令轨迹数据集中的一条信令轨迹数据。另外,时间序列数据的类型可以以长整型进行存储。
对于待压缩信令轨迹数据中的时间序列数据,也可以进行压缩,以进一步减小信令轨迹数据所占用的存储空间。所以,进一步地,上述步骤S170之前,即,根据第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据的压缩编码,得到相应移动终端用户标识对应的信令轨迹数据的压缩结果之前,图1所示的信令轨迹数据压缩方法还可包括步骤:S1100,对所述第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的时间序列数据进行差分压缩。
通过上述步骤S193将数据按时间排序后,例如,时间序列数据的时间戳是从小到大排列的,则可以从时间序列数据中最小的时间戳(如排在最前面)开始差分压缩。
具体实施时,示例性地,该步骤S1100,具体地,可包括步骤:保留所述第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的时间序列数据中最小的时间戳;从该时间序列数据中的次小的时间戳开始,将该时间序列数据中的相邻的后一个时间戳减去前一个时间戳,得到后一个时间戳对应的时间差;将最小时间戳和该时间序列数据中其余时间戳对应的时间差按各时间戳在时间序列数据中的顺序排列,构成压缩后的时间序列数据。
在时间序列数据的时间戳的时间跨度在设定时间周期范围内的情况下,对于一条时间序列数据而言,其最大时间戳减去其最小时间戳不会超过该设定时间周期,所以,时间差占用的存储空间会更小,从而可以达到压缩时间序列数据的目的。
在待压缩信令轨迹数据中不仅有基站标识序列数据,还有其他数据(如时间序列数据时),可以将一个用户的所有压缩的数据存在一起构成该用户的信令轨迹数据的压缩结果。所以,进一步地,上述步骤S170,即,根据第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据的压缩编码,得到相应移动终端用户标识对应的信令轨迹数据的压缩结果的步骤,具体可包括步骤:S171,将所述第二信令轨迹数据集中的移动终端用户标识与其对应的差分压缩后的时间序列数据和第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据的压缩编码对应起来,得到所述第二信令轨迹数据集中的相应移动终端用户标识对应的信令轨迹数据的压缩结果。
上述各实施例的信令轨迹数据压缩方法中,通过获取包含相对应的移动终端用户标识和基站标识序列数据的信令轨迹数据,从这样的信令轨迹数据的基站标识序列数据中提取基站标识序列子串,统计出子串的重复出现次数,并以子串作为叶子节点且以重复出现次数作为权重构建哈夫曼树,以此成功实现了对信令轨迹数据的主要数据进行哈夫曼编码。由于以重复出现次数作为权重构建哈夫曼树,所以频次较高的子串的编码较短,频次较低的子串的编码较长,利用这样的码表对待压缩基站标识序列数据进行编码,可以编码压缩结果更短,所以压缩比更大。因此,利用本发明实施例的信令轨迹数据压缩方法能够实现对时空稀疏的信令轨迹数据进行有效的无损压缩。
另外,利用上述任一实施例所述的信令轨迹数据压缩方法压缩后的数据,在需要读出时需要进行解码。
因此,本发明实施例还提供一种信令轨迹数据解压缩方法,适用于解压缩利用上述任一实施例所述的信令轨迹数据压缩方法压缩的信令轨迹数据。该些实施例的信令轨迹数据解压缩方法可包括步骤:S200,利用基站标识序列子串编码表对第三信令轨迹数据集中的每条压缩后的信令轨迹数据进行解压缩,其中,所述第三信令轨迹数据集中的每条压缩后的信令轨迹数据包括压缩后的基站标识序列数据。
第三信令轨迹数据集中的各条压缩后的信令轨迹数据可以以码比特流的形式存储。可以利用编码表对该码比特流进行解码。具体实施时,该步骤S200,具体可包括:以基站标识序列子串编码表中数值最大的编码的码长为码流长度,以该码流长度从第三信令轨迹数据集中的每条压缩后的信令轨迹数据读取码流;在基站标识序列子串编码表中查找读取的码流,若能查找到,得到本次读取的码流对应的基站标识序列子串,若查不到,缩减码流长度重新从第三信令轨迹数据集中的每条压缩后的信令轨迹数据读取码流,以使缩减码流长度后读取的码流能在基站标识序列子串编码表中查找到相应基站标识序列子串。如此一来,可以实现对一段码流解码。利用同样的方式读取剩余的码流,直到整个码流读取完毕,可以查找到一段或多段码流对应的基站标识子串,在有多个子串的情况下,将这些子串按码流顺序排列,构成基站标识序列数据,作为解压缩结果。
在有码长度判断编码表的情况下,由于其中存了基站标识序列子串编码表各码长度的最小值的编码,所以,具体实施该步骤S200时,可以逐比特读入压缩编码并将读取的比特放入比特流,当已读取的比特流构成的编码大于等于码长度判断编码表中已读取的比特流长度对应的最小编码,循环将当前读取的比特放入比特流中,直到当前已读取的比特流构成的编码小于码长度判断编码表中当前已读取的比特流长度对应的最小编码,则当前已读取的比特流构成基站标识序列中一个子串的编码;从基站标识序列子串编码表中查找得到构成的该编码对应的基站标识序列子串。以此继续逐比特读入压缩编码,最终可以得到所有基站标识序列子串,组合构成压缩编码对应的基站标识序列数据。该解码方式利用范式huffman编码的特点实现,可以避免遍历比较整个基站标识序列子串编码表,提高解码效率。
在另一些实施例中,第三信令轨迹数据集中的每条压缩后的信令轨迹数据还包括时间序列数据的编码,则可以单独对时间序列数据进行解压缩。具体地,可以对由最小时间戳和各时间差构成的序列进行处理,使得从最小时间戳开始计算序列中一个数据及其之前所有数据的和作为当前数据的时间戳,直到计算得到所有数据的时间戳,形成时间序列数据,作为压缩后的信令轨迹数据中时间序列数据的编码的解压缩结果。将时间序列数据的编码的解压缩结果与相应的基站标识序列数据的编码的解压缩结果对应至共同的移动终端用户标识数据,可以得到一个用户的信令轨迹数据的解压缩结果。
此外,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述的信令轨迹数据压缩方法和/或上述任一实施例所述的信令轨迹数据解压缩方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述的信令轨迹数据压缩方法和/或上述任一实施例所述的信令轨迹数据解压缩方法的步骤。
为使本领域技术人员更好地了解本发明,下面将以具体实施例说明本发明的实施方式。
为了针对现有技术中移动信令轨迹数据的时空稀疏性问题,实现对移动信令轨迹数据的压缩,提供一种信令轨迹数据(时空轨迹序列)的压缩方法,利用huffman编码树实现轨迹序列数据的重编码压缩存储。本实施例的方法主要可包括以下步骤:
S1.对信令轨迹数据的进行清洗预处理,对其中的时间数据进行去重排序;
S2.对海量用户的信令轨迹公共子路径(基站标识序列子串)进行搜索;
S3.利用huffman编码对轨迹数据进行重编码压缩。
在一些具体实施例中,基于Huffman编码的轨迹压缩算法,需要提取手机与基站交互的信令中的位置信息,并保留所需要的信息然后压缩存储;在使用压缩后的移动信令轨迹数据的时候,需要先对数据进行解压然后还原成原始的信令轨迹数据。
首先,如图2和图3所示,在核心网中解析手机与基站通信的信令数据,保留核心的位置数据:UserNum,Timestamp,BTSID;
记录并存储核心网交换机上的全部信令流量,将位置数据保留并按天分区存储到大数据存储集群中,采取Hive表列式数据结构存储。
累计一天数据后,将Hive中全部的移动信令轨迹数据按照用户唯一标识UserNum分组,只保留发生基站变化时的轨迹数据;
对每个人的信令轨迹数据进行重组,得到新的数据结构包括UsernNum,即,用户的唯一标识,[Timestamp1,Timetamp2,Timestamp4,……]用户轨迹数据的时间戳数组,[BTSID1,BTSID2,BTSID3,……]用户轨迹数据的附着的基站标识数组。
对用户轨迹数据中的时间戳序列[Timestamp1,Timetamp2,Timestamp4,……]进行差分压缩,得到差分压缩后的时间序列存储数组BigIntArray。
统计全部用户的轨迹数据中的基站唯一标识和子序列以及对应的频次并构建子序列的CodeTable,保存到存储中。具体可为:
A.统计基站标识和对应频次;
B.统计最大长度为N的全部子序列及频次,并按照频次排序从大到小,取前TopN个子序列;
C.利用基站唯一标识和子序列以及对应的频次构建Huffman树;
D.将Huffman树重整为Canonical Huffman树,并对每个结点的子序列substr进行编码,存储到CodeTable中;
利用CodeTable将[BTSID1,BTSID2,BTSID3,……]编码为[code1,code2,……],按照bit位连续存储到二进制数据中CodeBitStream。
遍历CodeTable,计算每个码长度下数值最小的编码,构成firstCodeTable,并存数到数据库中。
将时间数据BigIntArray和编码后的轨迹数据合并存储为完整的轨迹数据,结构为UserNum,BigIntArray,CodeBitStream,并存储到Hive库表中。
解压缩时,首先读取CodeTable、firstCodeTable到内存中。
读取每个人压缩后的轨迹数据UserNum,BigIntArray,CodeBitStream。
将BigIntArray解压成时间戳序列数据[Timestamp1,Timestamp2,Timestamp3……]。
将CodeBitStream解压成[BTSID1,BTSID2,…]。
将[Timestamp1,Timestamp2,Timestamp3……]和[BTSID1,BTSID2,…]中时间戳和基站ID逐一对应,还原成原始的轨迹序列数据,并存储到Hive数据库中。
图4是本发明一具体实施例的信令轨迹数据压缩流程示意图,参见图4,更具体地,上述步骤S1~步骤S3的具体实施方式如下:
上述步骤S1可包括以下步骤S11~S13。
在本实施例中,可定义用户的唯一标识(移动终端用户标识)为UserNum,移动终端可为手机,通常可使用用户手机号、IMSI作为手机用户的唯一标识,数据类型为字符串;基站的唯一标识(基站标识)可表示为BTSID,通常由基站的运营商ID、原始设备制造商ID、LAC(位置区编码Location Area Code)、CI(小区识别)构成字符串类型;时间戳可表示为Timestamp,其可为Unix时间戳,即,从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,单位为秒,计算机中的数据类型为长整型,表示为Long,可为64位整数(占据空间8字节),数据范围可从-9,223,372,036,854,775,808至9,223,372,036,854,775,807。
当手机附着到基站产生信令时会产生一定时刻某个手机号所处的基站,即为一条位置数据(可称为一条原始信令轨迹数据),包括UserNum、Timestamp、BTSID。
上述步骤S1具体可包括以下步骤S11~S12。
S11,将轨迹位置数据按照UserNum分组,对每个手机号的位置数据按照出现的时间Timestamp排序,构成同一个手机号移动信令轨迹数据。同一个手机号UserNum1产生的移动信令轨迹序列可以表示为(其中,UserNumi表示第i个用户的标识,Timestampj表示第j个时间戳,BTSIDk表示第k个基站的标识,i、j、k为大于或等于1的整数):
UserNum1,Timestamp1,BTSID1
UserNum1,Timestamp2,BTSID2
UserNum1,Timestamp3,BTSID2
UserNum1,Timestamp4,BTSID3
UserNum1,Timestamp5,BTSID3
UserNum1,Timestamp6,BTSID4
UserNum1,Timestamp7,BTSID5
…….
S12,将步骤S11分组排序好的每个手机号的轨迹数据(分组后的原始信令轨迹数据)进行去重操作,具体可包括步骤:
对于第一条记录UserNum1,Timestamp1,BTSID1,保留不做操作;
对于第二条记录UserNum1,Timestamp2,BTSID2,由于BTSID2不等于BTSID1,予以保留;
对于第三条记录UserNum1,Timestamp3,BTSID2,由于BTSID2和上一条相同,删除;
对于第四条记录UserNum1,Timestamp4,BTSID3,BTSID3和上一条中BTSID2不同,予以保留;
以此类堆,一直到最后一条记录。
按手机号分组排序后去重得到的新的位置序列数据(基站标识去重后的信令轨迹数据)总计条数可表示为N2,具体可表示为:
UserNum1,Timestamp1,BTSID1
UserNum1,Timestamp2,BTSID2
UserNum1,Timestamp4,BTSID3
UserNum1,Timestamp6,BTSID4
UserNum1,Timestamp7,BTSID5
…….
S13,将分组后同一个手机号的轨迹数据按照时间排序,重新组织构成新的数据结构(信令轨迹数据),一个手机号一段时间(或称设定时间周期,可设置为1天)内的轨迹数据可以表示成:
UserNum,
[Timestampe1,Timetamp2,Timestamp4,Timestamp6,Timestamp7……]
[BTSID1,BTSID2,BTSID3,BTSID4,BTSID5……]
数据结构可包括用户的唯一标识(移动终端用户标识)UsernNum,用户轨迹数据的时间戳数组(时间序列数据)[Timestamp1,Timetamp2,Timestamp4,……],用户轨迹数据的附着的基站标识数组(基站标识序列数据)[BTSID1,BTSID2,BTSID3,……]。
上述步骤S2可包括以下步骤S21~S214。
S21,对每个手机号的轨迹序列数据中的时间戳数据进行重新编码压缩存储,每个人的轨迹序列数据时间跨度最长不超过一天,所以第一个时间戳和最后一个时间戳的时间差应该小于24*3600=86400秒。对时间数组(时间序列数据)[Timestamp1,Timetamp2,Timestamp4,Timestamp6,Timestamp7……],重新计算时间戳差值,具体可包括以下步骤:
对于第一个时间戳Timestamp1,予以保留;
对于第二个时间戳,计算时间差Timestamp2-Timestamp1=TSdelta1;
对于第三个时间戳,计算时间差Timstamp3-Timestamp1=TSdelta2;
以此类推…
得到时间数据序列[Timestamp1,TSdelta1,TSdelta2,TSdelta3……]
S22,由于时间差TSdelta应该小于86400,小于0xFFFFF(20bit),将步骤S21中的时间数据序列[Timestamp1,TSdelta1,TSdelta2,TSdelta3……],重新存储如下:
对于第一个时间戳Timestamp1,保留不变放入第一个长整型数(64bit)bigint1中;
对于第二个及以后的时间戳的差值结果,将TSdelta1放入第二个长整型数bigint2的第1-20bit位置,TSdelta2放入bigint2的第21-40bit位置,TSdelta3放入bigint2第41-60bit位置,最后61-64bit位置置为0bitint2;
以此类推,每三个差值结果TSDelta放入一个长整型数,不足三个则后面的bit位均置为0;
形成差分压缩后的时间序列存储数组[bitint1,bigint2,bigint3,……],标记为BigIntArray。
S23,统计步骤S21所有的手机号轨迹序列数据中,每个BTSID的出现次数,即统计各单个基站标识构成的子串的重复出现次数,合并存储为数组,数据表示为:
BTSID,cnt
其中,BTSID为上文中的基站唯一标识ID,cnt为该基站在轨迹序列中累计出现频次(重复出现次数)。
S24,寻找步骤S21中的所有手机号序列数据中至少两个序列数据(基站标识序列数据)的公共序列子串(即,子串长度大于等于2)。
序列子串(长度大于等于2)可定义为:
例如,存在基站ID序列(以ABCD字符代替示意)ABCD;
其子串包括ABCD,ABC,BCD,AB,BC,CD;
公共序列子串(长度大于等于2)可定义为:
例如,存在一些基站ID序列(以ABCD字符代替示意):
ABCDEFG
ABCDABC
则可以找出最长的公共子串序列(基站标识序列子串)为ABCD,第二长的为ABC,以此类推可以找到所有长度大于或等于2的公共子串序列;
由于每个手机号的轨迹中基站ID序列差异较大,很难将全部的公共子串统计出来。可以选择限制子串长度为N,先寻找出全部的子串,并统计对应的子串出现频次,具体地,例如:
当限制子串长度N等于2时,序列ABCD的子串序列包括AB、BC、CD。
S25,计算步骤S17中每个手机号全部子串序列出现的频次,当限制子串长度N等于2时,序列ABCDABC的子串序列AB、BC、CD、DA的出现频次分别为2、2、1、1。以此可以统计各序列中各子串序列,并将同一子串在各序列中出现的频次相加得到该子串的频次。
S26,按照步骤S24计算方法,统计出所有的手机号全部子串序列(长度大于等于2,小于等于N)的子串序列,整理构成数据,每条数据可表示为:series,cnt。
其中,series为基站ID构成子串序列,cnt为该子串序列在轨迹中出现的次数。
S27,步骤S26和S23中全部的子序列总数为SeriesN,对这些数据按照cnt从大到小排序,取子序列数据中前TopN个(TopN<SeriesN),构成新的子序列和频次的数组(基站表示序列子串和重复出现次数的对应关系库)。
S28,将步骤S23和步骤S26中的BTSID,cnt和series,cnt数据合并,将单个BTSID(即为单个字符的子串)和多个BTSID组成的子串都视作轨迹的子串,构成子串和对应出现频次的数组,即:
BTSID1,cnt1
BTSID2,cnt2
……
series1,cnt(N+1)
series2,cnt(N+2)
……
.
所有子串和频次对应关系又可以表示为:
substr1,cnt1
substr2,cnt2
……
S29,利用步骤S28中子串和出现频次构造Huffman树,其中,每个子串作为树的叶子结点,子串的出现频次作为每个结点的长度(权重/权值)。
图5是本发明一实施例中哈夫曼树的结构示意图,参见图5的Huffman树示例,Huffman树定义可描述为:给定N个权重作为N个二叉树的叶子结点当该二叉树的带权路径长度最小,则称之为最优二叉树,也成Huffman树。
图6是本发明一实施例中的哈夫曼树的构建流程示意图,参见图6,具体构造方法可包括以下步骤:
A.将步骤S28中给出N个子串(假设共有N个子串)和频次[{substr1,cnt1}{substr2,cnt2}…...]构成N棵只有根结点的二叉树集合TreeGroup,每棵二叉树只包含一个结点,每个结点中子串的频次cnt作为二叉树的结点权重;
B.在上述步骤A中,N个二叉树中选出两棵根结点权值最小的树,并生成另外一个新的结点作为这两棵树的根节点,设置新的结点的权值等于两颗权值最小的树的权值和,将得的新树放到A中得到树集合TreeGroup;
C.在执行步骤B的操作后,删除二叉树集合TreeGroup中权值最小的两棵树;
D.重复步骤B和C,直到最后只剩下一棵树,即可得到目标Huffman树。
利用构造的Huffman树进行编码,编码规律是从树结点开始遍历结点,向左遍历叶结点则编码为0,向右则编码为1,直到遍历为止。
S210,将步骤S29中的Huffman树重整为Canonical Huffman树(范式Huffman树)并构造Canonical Huffman编码。Canonical Huffman编码满足如下条件:
长度为i的码字的前j位的数值大于长度为j的码字的数值,其中i>j。
S211,根据步骤S210中的Canonical Huffman编码计算并存储每个结点二进制编码,构成每个子串的编码表(基站标识序列子串编码表)CodeTable,并进行存储,表结构可如下:
substr1,code1
substr2,code2
……
遍历CodeTable,计算每个码长度下数值最小的编码,构成码长度判断编码表firstCodeTable。
S212,对步骤S13得到的每个手机号轨迹的基站ID序列(基站标识序列数据BTSID-Series)[BTSID1,BTSID2,BTSID3,……]进行编码。具体可包括如下步骤:
A.有限码长(设定子串长度)为N,从头开始切分长度N的基站BTSID序列BTSID-Series,寻找是否在步骤S210的CodeTable中,如不在则N-1,搜索N-1长度子序列是否在CodeTable中,直到搜索发现长度M的(1<=M<=N)子序列在codetable中,查表得到其编码为code1;
B.对基站BTSID序列BTSID-Series,从位置M+1处开始切分长度为N的子串,重复步骤A,得到编码code2;
C.重复上述步骤,直到到达BTSID-Series的末尾,没有剩余子串
最后将一个用户的基站标识序列数据[BTSID1,BTSID2,BTSID3,……]编码为[code1,code2,……]。
S213,将步骤S212中获得的一个或多个二进制编码[code1,code2,……],按照bit位连续存储到二进制数据中,形成码比特流CodeBitStream。
S214,将步骤S22的时间数据BigIntArray和步骤S213中编码后的轨迹数据合并存储为完整的轨迹数据,数据结构可为:
UserNum,BigIntArray,CodeBitStream。
当获得压缩后的移动信令轨迹数据后,还需要对其进行解压还原得到原始的信令轨迹数据,解压缩过程主要可包括:时间数据BigIntArray解压(步骤S31)和轨迹序列数据CodeBitStream解压(步骤S32)。
S31,时间数据BigIntArray解压具体可为:
A.取数组中第1个长整型BigInt作为第一个时间戳Timestamp1;
B.取数组中第2个长整型BigInt的第1-20位、21-40位、41-60位作为TSDelta1、TSdelta2、TSdelta3,得到三个时间差;
C.计算Timestamp2=Timestamp1+TSDelta1
Timestamp3=Timestamp1+TSdelta2
Timestamp4=Timestamp1+TSdelta3
分别得到第二个时间戳Timestamp2、第二个时间戳Timestamp3及第三个时间戳Timestamp3;
D.重复步骤B和步骤C直到差值为0,得到全部的时间戳数组[Timestamp1,Timestamp2,Timestamp3……]。
S32,利用压缩后的轨迹序列数据CodeBitStream和Huffman编码表可以得到原始的移动信令轨迹数据即基站BTSID序列。
图7是本发明一实施例的信令轨迹数据解压流程示意图,参见图7,解压过程具体可包括如下步骤:
A.按bit位遍历CodeBitStream读入码流,码流长度为len(可根据有限子串长度确定/设定子串长度),查询firstCodeTable判断当前码是否小于该长度len的Huffman编码,如果小于,则len=len-1,取该长度的码流为Huffman编码code1,否则继续读取;
B.查询CodeTable得到code1对应的基站ID,即BTSID1;
C.重复步骤A和B直到CodeBitStream中全部编码被读取完毕;
最终还原得到原始移动信令轨迹数据中基站ID序列为[BTSID1,BTSID2,…]。
S33,将步骤S31和S32中得到[Timestamp1,Timestamp2,Timestamp3……]和[BTSID1,BTSID2,…]中时间戳和基站ID逐一对应,还原成原始的轨迹序列数据。
即为:
UserNum,Timestamp1,BTSID1
UserNum,TimeStamp2,BTSID2
综上所述,本发明实施例的信令轨迹数据压缩方法、信令轨迹数据解压缩方法、电子设备及计算机可读存储介质,实现了基于Huffman编码对信令轨迹数据进行压缩编码,从而在基站定位数据具有时间稀疏性和空间稀疏性的情况下能够实现有效的数据压缩。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种信令轨迹数据压缩方法,其特征在于,包括:
获取第一信令轨迹数据集;其中,所述第一信令轨迹数据集中的每条信令轨迹数据包括一个移动终端用户标识和相应的基站标识序列数据,且不同条信令轨迹数据中的移动终端用户标识不同;
从所述第一信令轨迹数据集中的信令轨迹数据的基站标识序列数据中,提取由各单个基站标识构成的第一基站标识序列子串和多个基站标识序列数据共有的且所包含基站标识的数量不小于二且不大于设定子串长度的第一基站标识序列子串,形成第一序列子串集;
统计所述第一序列子串集中各第一基站标识序列子串的重复出现次数,并根据统计结果生成第一基站标识序列子串和重复出现次数的对应关系库;
以所述第一基站标识序列子串和重复出现次数的对应关系库中各第一基站标识序列子串作为叶子结点,并以相应的重复出现次数作为相应叶子结点的权重,构建哈夫曼树;
基于所述哈夫曼树,生成所述第一基站标识序列子串和重复出现次数的对应关系库中各第一基站标识序列子串的二进制编码,形成基站标识序列子串编码表;
通过将待压缩的第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据切分成至少一个能够在所述基站标识序列子串编码表中查找到的第二基站标识序列子串,从所述基站标识序列子串编码表获取到相应的二进制编码,并由获取的至少一个二进制编码按第二基站标识序列子串的切分顺序组合成相应基站标识序列数据的压缩编码;
根据第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据的压缩编码,得到相应移动终端用户标识对应的信令轨迹数据的压缩结果。
2.如权利要求1所述的信令轨迹数据压缩方法,其特征在于,获取第一信令轨迹数据集,包括:
获取第一原始信令轨迹数据集;其中,所述第一原始信令轨迹数据集中每条原始信令轨迹数据包括一个移动终端用户标识、相应的时间戳、及相应的基站标识;
将所述第一原始信令轨迹数据集中所有原始信令轨迹数据按移动终端用户标识分组;
将所述第一原始信令轨迹数据集对应的每组原始信令轨迹数据按时间戳顺序排序,得到相应移动终端用户标识对应的第一初始基站标识序列;
对所述第一原始信令轨迹数据集中每个移动终端用户标识对应的第一初始基站标识序列进行基站标识去重;
将进行基站标识去重后的第一初始基站标识序列,作为相应移动终端用户标识对应的基站标识序列数据,形成第一信令轨迹数据集。
3.如权利要求1所述的信令轨迹数据压缩方法,其特征在于,统计所述第一序列子串集中各第一基站标识序列子串的重复出现次数,并根据统计结果生成第一基站标识序列子串和重复出现次数的对应关系库,包括:
统计所述第一序列子串集中各第一基站标识序列子串在所述第一序列子串集中的重复出现次数;
对所述第一序列子串集中所有第一基站标识序列子串,按其重复出现次数的大小进行降序排列;
从降序排列后的所有第一基站标识序列子串中选取前设定数量的第一基站标识序列子串,形成第一基站标识序列子串和重复出现次数的对应关系库。
4.如权利要求1所述的信令轨迹数据压缩方法,其特征在于,基于所述哈夫曼树,生成所述第一基站标识序列子串和重复出现次数的对应关系库中各第一基站标识序列子串的二进制编码,形成基站标识序列子串编码表,包括:
在所述哈夫曼树不是范式哈夫曼树的情况下,将所述哈夫曼树重整为范式哈夫曼树,并根据所述范式哈夫曼树生成所述第一基站标识序列子串和重复出现次数的对应关系库中各第一基站标识序列子串的二进制编码,形成基站标识序列子串编码表。
5.如权利要求4所述的信令轨迹数据压缩方法,其特征在于,还包括:
遍历所述基站标识序列子串编码表,得到每个编码长度下数值最小的编码,形成码长度判断编码表。
6.如权利要求2所述的信令轨迹数据压缩方法,其特征在于,所述第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据还包括时间序列数据;
通过将待压缩的第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据切分成至少一个能够在所述基站标识序列子串编码表中查找到的第二基站标识序列子串,从所述基站标识序列子串编码表获取到相应的二进制编码,并由获取的至少一个二进制编码按第二基站标识序列子串的切分顺序组合成相应基站标识序列数据的压缩编码之前,所述方法,还包括:
获取第二原始信令轨迹数据集;其中,所述第二原始信令轨迹数据集中每条原始信令轨迹数据包括一个移动终端用户标识、相应的时间戳、及相应的基站标识;
将所述第二原始信令轨迹数据集中所有原始信令轨迹数据按移动终端用户标识分组;
将所述第二原始信令轨迹数据集对应的每组原始信令轨迹数据按时间戳顺序排序,得到相应移动终端用户标识对应的初始时间戳序列和第二初始基站标识序列;
对所述第二原始信令轨迹数据集中每个移动终端用户标识对应的第二初始基站标识序列进行基站标识去重;
将进行基站标识去重后的第二初始基站标识序列和相应的初始时间戳序列,分别作为相应移动终端用户标识对应的基站标识序列数据和时间序列数据,形成第二信令轨迹数据集;其中,所述第二信令轨迹数据集中的所有时间序列数据所对应的时间范围不超过设定时间周期;
根据第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据的压缩编码,得到相应移动终端用户标识对应的信令轨迹数据的压缩结果之前,所述方法,还包括:
对所述第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的时间序列数据进行差分压缩;
根据第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据的压缩编码,得到相应移动终端用户标识对应的信令轨迹数据的压缩结果,包括:
将所述第二信令轨迹数据集中的移动终端用户标识与其对应的差分压缩后的时间序列数据和第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据的压缩编码对应起来,得到所述第二信令轨迹数据集中的相应移动终端用户标识对应的信令轨迹数据的压缩结果。
7.如权利要求1所述的信令轨迹数据压缩方法,其特征在于,通过将待压缩的第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据切分成至少一个能够在所述基站标识序列子串编码表中查找到的第二基站标识序列子串,从所述基站标识序列子串编码表获取到相应的二进制编码,并由获取的至少一个二进制编码按第二基站标识序列子串的切分顺序组合成相应基站标识序列数据的压缩编码,包括:
以所述设定子串长度为切分长度,将待压缩的第二信令轨迹数据集中的每个移动终端用户标识对应的信令轨迹数据中的基站标识序列数据从头开始切分出第一个第二基站标识序列子串;
若能够在所述基站标识序列子串编码表中查找到长度为所述设定子串长度的第一个第二基站标识序列子串,则从所述基站标识序列子串编码表获取到相应的二进制编码;若无法在所述基站标识序列子串编码表中查找到长度为所述设定子串长度的第一个第二基站标识序列子串,则从所述设定子串长度开始缩短切分长度,并以缩短后的切分长度,将待压缩的基站标识序列数据从头开始重新切分出第一个第二基站标识序列子串,以使重新切分出的第一个第二基站标识序列子串能够在所述基站标识序列子串编码表中查找到并从所述基站标识序列子串编码表获取到相应的二进制编码;
若待压缩的基站标识序列数据在切分出第一个第二基站标识序列子串后不存在剩余字符串,则根据第一个第二基站标识序列子串对应的二进制编码得到相应的待压缩的基站标识序列数据的压缩编码;若待压缩的基站标识序列数据在切分出第一个第二基站标识序列子串后存在剩余字符串,则以所述设定子串长度或从所述设定子串长度开始缩短得到的长度为切分长度,将剩余子串从头开始切分出能够在所述基站标识序列子串编码表中查找到的第二个第二基站标识序列子串,并从所述基站标识序列子串编码表获取到相应的二进制编码;
在待压缩的基站标识序列数据被切分完毕的情况下,将从待压缩的基站标识序列数据切分出的所有第二基站标识序列子串对应的二进制编码按第二基站标识序列子串的切分顺序排列,构成待压缩的基站标识序列数据的压缩编码。
8.一种信令轨迹数据解压缩方法,其特征在于,适用于解压缩利用如权利要求1至7任一项所述的信令轨迹数据压缩方法压缩的信令轨迹数据,所述信令轨迹数据解压缩方法包括:
利用基站标识序列子串编码表对第三信令轨迹数据集中的每条压缩后的信令轨迹数据进行解压缩,其中,所述第三信令轨迹数据集中的每条压缩后的信令轨迹数据包括压缩后的基站标识序列数据。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010399753.XA CN111615149B (zh) | 2020-05-13 | 2020-05-13 | 信令轨迹数据压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010399753.XA CN111615149B (zh) | 2020-05-13 | 2020-05-13 | 信令轨迹数据压缩方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111615149A true CN111615149A (zh) | 2020-09-01 |
CN111615149B CN111615149B (zh) | 2021-05-11 |
Family
ID=72199967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010399753.XA Active CN111615149B (zh) | 2020-05-13 | 2020-05-13 | 信令轨迹数据压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111615149B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112234995A (zh) * | 2020-10-26 | 2021-01-15 | 杭州三汇数字信息技术有限公司 | 基于时空编码的信令压缩方法及系统 |
CN116073835A (zh) * | 2023-03-06 | 2023-05-05 | 智慧足迹数据科技有限公司 | 地理位置数据压缩方法、装置、电子设备及存储介质 |
CN116756383A (zh) * | 2023-08-18 | 2023-09-15 | 凯尔菱电(山东)电梯有限公司 | 基于物联网的电梯数据管理系统及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011044525A2 (en) * | 2009-10-08 | 2011-04-14 | Qualcomm Incorporated | Efficient signaling for closed-loop transmit diversity |
CN105656604A (zh) * | 2016-01-21 | 2016-06-08 | 北京邮电大学 | 一种比特交织极化编码调制方法及装置 |
CN107133700A (zh) * | 2017-05-12 | 2017-09-05 | 西南交通大学 | 基于R*‑tree索引的手机信令数据路网匹配方法 |
CN107241512A (zh) * | 2017-06-30 | 2017-10-10 | 清华大学 | 基于手机数据的城际交通出行方式判断方法和设备 |
CN108810553A (zh) * | 2018-05-02 | 2018-11-13 | 上海大学 | 一种基于稀疏化处理的移动节点监测数据序列压缩方法 |
CN109858977A (zh) * | 2019-02-26 | 2019-06-07 | 维正科技服务有限公司 | 一种基于自编码的用户行为分析方法和系统 |
CN110232067A (zh) * | 2019-06-10 | 2019-09-13 | 长安大学 | 一种基于BHR-Tree索引的共乘群体发现方法 |
-
2020
- 2020-05-13 CN CN202010399753.XA patent/CN111615149B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011044525A2 (en) * | 2009-10-08 | 2011-04-14 | Qualcomm Incorporated | Efficient signaling for closed-loop transmit diversity |
CN105656604A (zh) * | 2016-01-21 | 2016-06-08 | 北京邮电大学 | 一种比特交织极化编码调制方法及装置 |
CN107133700A (zh) * | 2017-05-12 | 2017-09-05 | 西南交通大学 | 基于R*‑tree索引的手机信令数据路网匹配方法 |
CN107241512A (zh) * | 2017-06-30 | 2017-10-10 | 清华大学 | 基于手机数据的城际交通出行方式判断方法和设备 |
CN108810553A (zh) * | 2018-05-02 | 2018-11-13 | 上海大学 | 一种基于稀疏化处理的移动节点监测数据序列压缩方法 |
CN109858977A (zh) * | 2019-02-26 | 2019-06-07 | 维正科技服务有限公司 | 一种基于自编码的用户行为分析方法和系统 |
CN110232067A (zh) * | 2019-06-10 | 2019-09-13 | 长安大学 | 一种基于BHR-Tree索引的共乘群体发现方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112234995A (zh) * | 2020-10-26 | 2021-01-15 | 杭州三汇数字信息技术有限公司 | 基于时空编码的信令压缩方法及系统 |
CN112234995B (zh) * | 2020-10-26 | 2023-11-03 | 杭州三汇数字信息技术有限公司 | 基于时空编码的信令压缩方法及系统 |
CN116073835A (zh) * | 2023-03-06 | 2023-05-05 | 智慧足迹数据科技有限公司 | 地理位置数据压缩方法、装置、电子设备及存储介质 |
CN116073835B (zh) * | 2023-03-06 | 2023-08-25 | 智慧足迹数据科技有限公司 | 地理位置数据压缩方法、装置、电子设备及存储介质 |
CN116756383A (zh) * | 2023-08-18 | 2023-09-15 | 凯尔菱电(山东)电梯有限公司 | 基于物联网的电梯数据管理系统及方法 |
CN116756383B (zh) * | 2023-08-18 | 2023-11-21 | 凯尔菱电(山东)电梯有限公司 | 基于物联网的电梯数据管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111615149B (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111615149B (zh) | 信令轨迹数据压缩方法及装置 | |
JP3278297B2 (ja) | データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置 | |
CN103177111B (zh) | 重复数据删除系统及其删除方法 | |
KR101049699B1 (ko) | 데이터의 압축방법 | |
Amalladinne et al. | A coupled compressive sensing scheme for unsourced multiple access | |
Gopinath et al. | Comparison of lossless data compression techniques | |
CA2371375C (en) | Bitwise adaptive encoding using prefix prediction | |
CN116388767B (zh) | 用于软件开发数据的安全管理方法 | |
JPH09162748A (ja) | データ符号化方法、データ復号方法、データ圧縮装置、データ復元装置、及びデータ圧縮・復元システム | |
WO2000036751A1 (en) | Code book construction for variable to variable length entropy encoding | |
US7430509B2 (en) | Lattice encoding | |
Kennel et al. | Context-tree modeling of observed symbolic dynamics | |
JPS6356726B2 (zh) | ||
CN113381768B (zh) | 一种哈夫曼校正编码方法、系统及相关组件 | |
CN115408350A (zh) | 日志压缩、日志还原方法、装置、计算机设备和存储介质 | |
Hidayat et al. | Comparison of lossless compression schemes for WAV audio data 16-bit between Huffman and coding arithmetic | |
Chandrasekhar et al. | Compressing feature sets with digital search trees | |
Chen et al. | E cient Lossless Compression of Trees and Graphs | |
Song et al. | Dictionary based compression type classification using a CNN architecture | |
WO2009001174A1 (en) | System and method for data compression and storage allowing fast retrieval | |
CN113297154B (zh) | 一种网站日志压缩方法及装置 | |
Ghuge | Map and Trie based Compression Algorithm for Data Transmission | |
CN112101548A (zh) | 数据压缩方法及装置、数据解压方法及装置、电子设备 | |
CN113078910A (zh) | 一种比特位字段的确定方法、装置、介质和电子设备 | |
CN116073835B (zh) | 地理位置数据压缩方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |