CN110598057A - 一种面向遥测数据的数据搜索方法及装置 - Google Patents
一种面向遥测数据的数据搜索方法及装置 Download PDFInfo
- Publication number
- CN110598057A CN110598057A CN201910814488.4A CN201910814488A CN110598057A CN 110598057 A CN110598057 A CN 110598057A CN 201910814488 A CN201910814488 A CN 201910814488A CN 110598057 A CN110598057 A CN 110598057A
- Authority
- CN
- China
- Prior art keywords
- linked list
- character string
- list node
- character
- suffix
- 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/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供的一种面向遥测数据的数据搜索方法及装置,采用动态链表数组存储字典结构,对于待搜索的字符串,由于可以快速定位数组中具有相同前缀的链表结构,因此显控软件数据压缩模块只需要遍历此链表便可以确定当前字符串是否在字典中,从而大大降低了搜索范围,有效提高了搜索效率。
Description
技术领域
本发明涉及航天器数据采集领域,更具体的,涉及一种面向遥测数据的数据搜索方法及装置。
背景技术
航天遥测数据是航天器数据采集单元对航天器工作状态和工作环境等多种参数进行测量的结果,并通过无线电形式传输到地面站进行分析、处理和存储。近年来随着航天技术的快速发展,遥测数据的数据量变得更加庞大,对下行链路及地面数据存储均提出了挑战。如何使用数据压缩技术用有限的带宽和较小的存储空间传输和存储较多的遥测数据变得尤为重要。
分析几种常见的无损压缩算法:霍夫曼编码虽然具有很好的压缩比,但由于需要事先得知遥测数据字符的统计概率,算法实时性较差;游程编码适合全局冗余度高的场合,对于重复率高的遥测数据流具有很好的压缩比,但它要求遥测数据流中字符重复的数量至少大于三才有压缩效果,否则将出现反压缩现象;LZW算法不依赖遥测数据字符的统计概率,只需对数据流扫描一次便可实现数据压缩,算法实时性较高,由于字典在压缩和解压过程中动态创建,不需要存储字典,空间复杂度较低,综合而言,选择LZW算法对遥测数据进行压缩。
发明内容
影响LZW算法性能的关键在于如何快速确定当前字符串是否在字典当中,针对这一问题,本发明提出了一种面向遥测数据的改进字典存储方式和搜索方式的LZW算法,以较小的空间代价改善了字典搜索时间,从而降低了LZW算法的压缩和解压时间。本申请提供一种面向遥测数据的数据搜索方法,包括:
从遥测数据流中读入一个字符,生成对应的字符串,所述字符串包括前缀和后缀;
根据所述字符串的前缀获取对应预存储的一维数组;所述一维数组包括多个链表结点,每个链表结点根据一个字符串生成;其中获取的所述一维数组的所有链表结点的前缀与所述字符串的前缀相同;
逐一比对所述一维数组中的每个链表结点的标记字符与当前生成字符串的后缀,根据比对结果确定当前读入的字符是否存在由多个一维数组组成的数组集中。
某些实施例中,所述一维数组的数组元素包括前缀、后缀以及指向数组中第一个链表结点的头指针;每个链表结点包括前缀、标记字符以及指向下一链表结点地址的指引指针;
所述逐一比对所述一维数组中的每个链表结点的标记字符与当前生成字符串的后缀,包括:
根据所述头指针,获取数组中的首个链表结点,判断所述首个链表结点的标记字符与当前生成的字符串后缀是否一致,若不一致,则根据当前的链表结点的指针获取下一个链表结点,判断下一个链表结点的标记字符与当前生成的字符串后缀是否一致,直至判断一致或者直至遍历所有链表结点。
某些实施例中,还包括:
若遍历所述一维数组后仍未获取标记字符与当前生成的字符串后缀一致的链表结点,根据当前生成的字符串生成一个结构体,将当前生成的字符串的后缀作为标记字符,并将其链接到数组链表的尾端,同时生成对应该字符串的链表结点。
某些实施例中,还包括:
创建多个一维数组。
本申请还提供一种面向遥测数据的数据搜索装置,包括:
读取模块,从遥测数据流中读入一个字符,生成对应的字符串,所述字符串包括前缀和后缀;
一维数组获取模块,根据所述字符串的前缀获取对应预存储的一维数组;所述一维数组包括多个链表结点,每个链表结点根据一个字符串生成;其中获取的所述一维数组的所有链表结点的前缀与所述字符串的前缀相同;
比对模块,逐一比对所述一维数组中的每个链表结点的标记字符与当前生成字符串的后缀,根据比对结果确定当前读入的字符是否存在由多个一维数组组成的数组集中。
某些实施例中,所述一维数组的数组元素包括前缀、后缀以及指向数组中第一个链表结点的头指针;每个链表结点包括前缀、标记字符以及指向下一链表结点地址的指引指针;
所述比对模块根据所述头指针,获取数组中的首个链表结点,判断所述首个链表结点的标记字符与当前生成的字符串后缀是否一致,若不一致,则根据当前的链表结点的指针获取下一个链表结点,判断下一个链表结点的标记字符与当前生成的字符串后缀是否一致,直至判断一致或者直至遍历所有链表结点。
某些实施例中,还包括:
结构体生成模块,若遍历所述一维数组后仍未获取标记字符与当前生成的字符串后缀一致的链表结点,根据当前生成的字符串生成一个结构体,将当前生成的字符串的后缀作为标记字符,并将其链接到数组链表的尾端,同时生成对应该字符串的链表结点。
某些实施例中,还包括:
一维数组创建模块,创建多个一维数组。
本申请还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上所述的方法的步骤。
本发明具有如下有益效果:
本发明提供的一种面向遥测数据的数据搜索方法及装置,采用动态链表数组存储字典结构,对于待搜索的字符串,由于可以快速定位数组中具有相同前缀的链表结构,因此显控软件数据压缩模块只需要遍历此链表便可以确定当前字符串是否在字典中,从而大大降低了搜索范围,有效提高了搜索效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请中一种面向遥测数据的数据搜索方法的流程示意图。
图2示出了本申请中动态链表数组结构示意图。
图3示出了本申请中改进字典搜索方法流程示意图。
图4示出了本申请中一种面向遥测数据的数据搜索装置的结构示意图。
图5示出适于用来实现本申请实施例的计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
影响LZW算法性能的关键在于如何快速确定当前字符串是否在字典当中,而现有技术中并未出现确定当前字符串在字典中的有鉴于此,本申请提出了一种面向遥测数据的数据搜索方法。
图1示出了本申请提供的种面向遥测数据的数据搜索方法流程示意图,具体包括:
S1:从遥测数据流中读入一个字符,生成对应的字符串,所述字符串包括前缀和后缀;
S2:根据所述字符串的前缀获取对应预存储的一维数组;所述一维数组包括多个链表结点,每个链表结点根据一个字符串生成;其中获取的所述一维数组的所有链表结点的前缀与所述字符串的前缀相同;
S3:逐一比对所述一维数组中的每个链表结点的标记字符与当前生成字符串的后缀,根据比对结果确定当前读入的字符是否存在由多个一维数组组成的数组集中。
本申请中,遥测数据为航天器数据采集单元对航天器工作状态和工作环境等多种参数进行测量的结果,并通过无线电形式传输到地面站进行分析、处理和存储。
具体的,字符串包括前缀和后缀,在一些实施例中,定义前缀12bit占据两个字节,后缀8bit占据一个字节。
图2示出了一维数组的一种形式示意图。一维数组是字典的存储方式,在一个字典中包括了多个一维数组,一些实施例中,一维数组的大小为4096(可以根据需要设置,此处仅举出示例),数组的标号为表征(前缀,后缀)字符串的标记,数组元素用来存储相应字符串的前缀、后缀和链表表头,每个数组元素占据七字节空间,其中前缀12bit占据两个字节,后缀8bit占据一个字节,链表表头为指向下一个具有相同前缀的结点指针,占据四个字节。数组初始化时将前256个数组元素设置为字符集的基本元素,其中前缀设置为NULL,后缀设置为字符0-255。链表中的不同结点表示具有相同前缀而后缀不同的字符串,链表结点包括当前字符串的后缀、当前字符串的标记和下一个具有相同前缀的结点指针,由于同一个链表中的字符串前缀相同,前缀信息可以只在表头中存储,而不需要分别存储在各个结点中。
可以理解,一维数组可以在线建立或者离线建立,即本申请的方法步骤可以包括一维数组的建立步骤,也可以步包括一维数组的建立步骤。
该实施例中,步骤S3具体包括:根据所述头指针,获取数组中的首个链表结点,判断所述首个链表结点的标记字符与当前生成的字符串后缀是否一致,若不一致,则根据当前的链表结点的指针获取下一个链表结点,判断下一个链表结点的标记字符与当前生成的字符串后缀是否一致,直至判断一致或者直至遍历所有链表结点。
在具体实施时,在字典的动态构建过程中,数据压缩单元不断的从遥测数据流中读入一个字符作为串的后缀,采用动态链表数组的结构存储字典并搜索当前字符串是否在字典当中,由于字符串的前缀为已经规约好的标记,根据标记可以快速找到具有相同前缀的链表,然后顺序遍历链表结点,查询后缀匹配的结点,若查询成功,则返回存储在结点结构体里当前串的标记,并将其作为前缀,读入下一个字符。否则动态创建一个结构体,存储当前串的后缀并赋予一个新标记,然后将其链接到链表的尾端,新标记为全局变量的当前值,该全局变量在字典初始化时创建,用来表征字典中标记的最大值,在程序中对其实时维护,赋值后全局变量加一。
进一步的,在某些实施例中,上述方法还包括:
若遍历所述一维数组后仍未获取标记字符与当前生成的字符串后缀一致的链表结点,根据当前生成的字符串生成一个结构体,将当前生成的字符串的后缀作为标记字符,并将其链接到数组链表的尾端,同时生成对应该字符串的链表结点。
下面详细介绍本申请在具体实施的经过。
如图3所示,数据压缩单元采用数组结构设计字典存储方式,为了方便描述,将数组元素表示成{prefix,suffix,headpt},其中表示字符串的前缀,suffix表示字符串的后缀,headpt表示指向链表结点的头指针。将链表结点描述为{nsuffix,ntabsign,nextpt},其中nsuffix表示当前串的后缀,ntabsign表示当前串的标记,nextpt表示下一个前缀相同的结点地址。首先数据压缩单元从遥测数据流中读取一个新字符,形成字符串(前缀,后缀)的模式,前缀为已经规约到字典的标记,以前缀为数组下标获取相应数组元素,然后遍历数组中的链表结构,提取第一个结点的nsuffix信息与当前串的后缀进行比较,若匹配成功,返回该节点的ntabsign信息,并以ntabsign为前缀,遥测数据流中下一个字符为后缀组成新的字符串,若匹配失败,提取该节点的nextpt信息,从而获取下一个具有相同前缀的结点地址,重复与第一个结点相同的处理过程,直到匹配成功或者链表遍历完成,若遍历完成仍没有匹配的结点,则动态申请一个结构体,将该结构体的nsuffix赋值为当前串的后缀,ntabsign设置为全局变量的值,然后使全局变量自加一,将nextpt设置为NULL,并将结构体的地址赋值给链表最后一个结点的nextpt,最后在当前字典的尾端添加数组元素,将当前串的前缀赋值给prefix,后缀赋值给suffix,headpt赋值为NULL。当字符串匹配失败,在添加完结点并更新了数组元素后,将当前串的前缀放入输出流,后缀赋给前缀,读入遥测输入流中下一个字符。
可以理解,本申请采用动态链表数组存储字典结构,对于待搜索的字符串,由于可以快速定位数组中具有相同前缀的链表结构,因此显控软件数据压缩模块只需要遍历此链表便可以确定当前字符串是否在字典中,从而大大降低了搜索范围,有效提高了搜索效率。
基于相同的发明构思,在虚拟装置层面,本申请进一步提供一种面向遥测数据的数据搜索装置。
图4示出了一种面向遥测数据的数据搜索装置的结构示意图,具体包括:
读取模块1,从遥测数据流中读入一个字符,生成对应的字符串,所述字符串包括前缀和后缀;
一维数组获取模块2,根据所述字符串的前缀获取对应预存储的一维数组;所述一维数组包括多个链表结点,每个链表结点根据一个字符串生成;其中获取的所述一维数组的所有链表结点的前缀与所述字符串的前缀相同;
比对模块3,逐一比对所述一维数组中的每个链表结点的标记字符与当前生成字符串的后缀,根据比对结果确定当前读入的字符是否存在由多个一维数组组成的数组集中。
基于相同的发明构思,一实施例中,所述一维数组的数组元素包括前缀、后缀以及指向数组中第一个链表结点的头指针;每个链表结点包括前缀、标记字符以及指向下一链表结点地址的指引指针;所述比对模块根据所述头指针,获取数组中的首个链表结点,判断所述首个链表结点的标记字符与当前生成的字符串后缀是否一致,若不一致,则根据当前的链表结点的指针获取下一个链表结点,判断下一个链表结点的标记字符与当前生成的字符串后缀是否一致,直至判断一致或者直至遍历所有链表结点。
基于相同的发明构思,一实施例中,还包括:结构体生成模块,若遍历所述一维数组后仍未获取标记字符与当前生成的字符串后缀一致的链表结点,根据当前生成的字符串生成一个结构体,将当前生成的字符串的后缀作为标记字符,并将其链接到数组链表的尾端,同时生成对应该字符串的链表结点。
基于相同的发明构思,一实施例中,还包括:一维数组创建模块,创建多个一维数组。
可以理解,本发明对LZW无损压缩算法的字典存储方式和字典搜索方式进行了改进。采用动态链表数组存储字典结构,对于待搜索的字符串,由于可以快速定位数组中具有相同前缀的链表结构,因此数据压缩模块只需要遍历此链表便可以确定当前字符串是否在字典中,从而大大降低了搜索范围,有效提高了搜索效率。
本发明以有限的空间代价改善了LZW算法压缩和解压的时间,可以用于对遥测数据实现有效的压缩。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机设备,具体的,计算机设备例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
在一个典型的实例中计算机设备具体包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的由客户端执行的方法,或者,所述处理器执行所述程序时实现如上所述的由服务器执行的方法。
下面参考图5,其示出了适于用来实现本申请实施例的计算机设备600的结构示意图。
如图5所示,计算机设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM))603中的程序而执行各种适当的工作和处理。在RAM603中,还存储有系统600操作所需的各种程序和数据。CPU601、ROM602、以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡,调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口606。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装如存储部分608。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包括用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种面向遥测数据的数据搜索方法,其特征在于,包括:
从遥测数据流中读入一个字符,生成对应的字符串,所述字符串包括前缀和后缀;
根据所述字符串的前缀获取对应预存储的一维数组;所述一维数组包括多个链表结点,每个链表结点根据一个字符串生成;其中获取的所述一维数组的所有链表结点的前缀与所述字符串的前缀相同;
逐一比对所述一维数组中的每个链表结点的标记字符与当前生成字符串的后缀,根据比对结果确定当前读入的字符是否存在由多个一维数组组成的数组集中。
2.根据权利要求1所述的数据搜索方法,其特征在于,所述一维数组的数组元素包括前缀、后缀以及指向数组中第一个链表结点的头指针;每个链表结点包括前缀、标记字符以及指向下一链表结点地址的指引指针;
所述逐一比对所述一维数组中的每个链表结点的标记字符与当前生成字符串的后缀,包括:
根据所述头指针,获取数组中的首个链表结点,判断所述首个链表结点的标记字符与当前生成的字符串后缀是否一致,若不一致,则根据当前的链表结点的指针获取下一个链表结点,判断下一个链表结点的标记字符与当前生成的字符串后缀是否一致,直至判断一致或者直至遍历所有链表结点。
3.根据权利要求1所述的数据搜索方法,其特征在于,还包括:
若遍历所述一维数组后仍未获取标记字符与当前生成的字符串后缀一致的链表结点,根据当前生成的字符串生成一个结构体,将当前生成的字符串的后缀作为标记字符,并将其链接到数组链表的尾端,同时生成对应该字符串的链表结点。
4.根据权利要求1所述的数据搜索方法,其特征在于,还包括:
创建多个一维数组。
5.一种面向遥测数据的数据搜索装置,其特征在于,包括:
读取模块,从遥测数据流中读入一个字符,生成对应的字符串,所述字符串包括前缀和后缀;
一维数组获取模块,根据所述字符串的前缀获取对应预存储的一维数组;所述一维数组包括多个链表结点,每个链表结点根据一个字符串生成;其中获取的所述一维数组的所有链表结点的前缀与所述字符串的前缀相同;
比对模块,逐一比对所述一维数组中的每个链表结点的标记字符与当前生成字符串的后缀,根据比对结果确定当前读入的字符是否存在由多个一维数组组成的数组集中。
6.根据权利要求5所述的数据搜索装置,其特征在于,所述一维数组的数组元素包括前缀、后缀以及指向数组中第一个链表结点的头指针;每个链表结点包括前缀、标记字符以及指向下一链表结点地址的指引指针;
所述比对模块根据所述头指针,获取数组中的首个链表结点,判断所述首个链表结点的标记字符与当前生成的字符串后缀是否一致,若不一致,则根据当前的链表结点的指针获取下一个链表结点,判断下一个链表结点的标记字符与当前生成的字符串后缀是否一致,直至判断一致或者直至遍历所有链表结点。
7.根据权利要求5所述的数据搜索装置,其特征在于,还包括:
结构体生成模块,若遍历所述一维数组后仍未获取标记字符与当前生成的字符串后缀一致的链表结点,根据当前生成的字符串生成一个结构体,将当前生成的字符串的后缀作为标记字符,并将其链接到数组链表的尾端,同时生成对应该字符串的链表结点。
8.根据权利要求5所述的数据搜索装置,其特征在于,还包括:
一维数组创建模块,创建多个一维数组。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910814488.4A CN110598057B (zh) | 2019-08-30 | 2019-08-30 | 一种面向遥测数据的数据搜索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910814488.4A CN110598057B (zh) | 2019-08-30 | 2019-08-30 | 一种面向遥测数据的数据搜索方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110598057A true CN110598057A (zh) | 2019-12-20 |
CN110598057B CN110598057B (zh) | 2022-08-19 |
Family
ID=68857003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910814488.4A Active CN110598057B (zh) | 2019-08-30 | 2019-08-30 | 一种面向遥测数据的数据搜索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110598057B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111460765A (zh) * | 2020-03-30 | 2020-07-28 | 掌阅科技股份有限公司 | 电子书籍标注处理方法、电子设备及存储介质 |
CN112069366A (zh) * | 2020-08-28 | 2020-12-11 | 喜大(上海)网络科技有限公司 | 召回确定方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815282A (zh) * | 2016-11-29 | 2017-06-09 | 腾讯科技(深圳)有限公司 | 数据访问方法和装置 |
CN106970936A (zh) * | 2017-02-09 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置、数据查询方法及装置 |
CN107154899A (zh) * | 2017-03-23 | 2017-09-12 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种用后缀索引查找ip路由的系统 |
US20180081989A1 (en) * | 2016-09-22 | 2018-03-22 | Yahoo Holdings, Inc. | Method and system for providing query suggestions based on personalized spelling correction |
-
2019
- 2019-08-30 CN CN201910814488.4A patent/CN110598057B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180081989A1 (en) * | 2016-09-22 | 2018-03-22 | Yahoo Holdings, Inc. | Method and system for providing query suggestions based on personalized spelling correction |
CN106815282A (zh) * | 2016-11-29 | 2017-06-09 | 腾讯科技(深圳)有限公司 | 数据访问方法和装置 |
CN106970936A (zh) * | 2017-02-09 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置、数据查询方法及装置 |
CN107154899A (zh) * | 2017-03-23 | 2017-09-12 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种用后缀索引查找ip路由的系统 |
Non-Patent Citations (2)
Title |
---|
NISHAD PM.等: "Behavioral Study of Data Structures on Lempel Ziv Welch (LZW) Data Compression Algorithm and ITS Computational Complexity", 《2014 INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTING APPLICATIONS》 * |
杨燕姣: "基于LZW算法的遥测数据实时采集压缩系统的研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑(月刊)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111460765A (zh) * | 2020-03-30 | 2020-07-28 | 掌阅科技股份有限公司 | 电子书籍标注处理方法、电子设备及存储介质 |
CN112069366A (zh) * | 2020-08-28 | 2020-12-11 | 喜大(上海)网络科技有限公司 | 召回确定方法、装置、设备及存储介质 |
CN112069366B (zh) * | 2020-08-28 | 2024-02-09 | 喜大(上海)网络科技有限公司 | 召回确定方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110598057B (zh) | 2022-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107291785A (zh) | 一种数据查找方法及装置 | |
JP4456554B2 (ja) | データ圧縮方法及び圧縮データ送信方法 | |
US9727574B2 (en) | System and method for applying an efficient data compression scheme to URL parameters | |
US4814746A (en) | Data compression method | |
US9223765B1 (en) | Encoding and decoding data using context model grouping | |
JP3889762B2 (ja) | データ圧縮方法、プログラム及び装置 | |
CN108733317B (zh) | 数据存储方法和装置 | |
CN110598057B (zh) | 一种面向遥测数据的数据搜索方法及装置 | |
CN103346800B (zh) | 一种数据压缩方法及装置 | |
CN108628898B (zh) | 数据入库的方法、装置和设备 | |
Ferragina et al. | On the bit-complexity of Lempel--Ziv compression | |
EP0127815B1 (en) | Data compression method | |
US20200294629A1 (en) | Gene sequencing data compression method and decompression method, system and computer-readable medium | |
US6515598B2 (en) | System and method for compressing and decompressing data in real time | |
US20140266819A1 (en) | Compactly storing geodetic points | |
CN115189696A (zh) | 一种基于Huffman解码表的硬件压缩解压方法 | |
CN114125071B (zh) | 数据压缩传输方法及装置 | |
CN117040539B (zh) | 一种基于m叉树和lzw算法的石油测井数据压缩方法及装置 | |
US20120110025A1 (en) | Coding order-independent collections of words | |
US20130332433A1 (en) | Computer product, generating apparatus, and generating method | |
CN110266834B (zh) | 基于互联网协议地址的地区查找方法及装置 | |
CN116961676A (zh) | 一种地震波数据压缩及传输方法、系统、设备与存储介质 | |
CN112579839B (zh) | 大规模特征的多模匹配方法、装置及存储介质 | |
JP2018195028A (ja) | 符号化プログラム、インデックス生成プログラム、検索プログラム、符号化装置、インデックス生成装置、検索装置、符号化方法、インデックス生成方法および検索方法 | |
CN112784962A (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 |