CN109474280A - 行车信息压缩算法以及多级压缩方法 - Google Patents
行车信息压缩算法以及多级压缩方法 Download PDFInfo
- Publication number
- CN109474280A CN109474280A CN201811318951.8A CN201811318951A CN109474280A CN 109474280 A CN109474280 A CN 109474280A CN 201811318951 A CN201811318951 A CN 201811318951A CN 109474280 A CN109474280 A CN 109474280A
- Authority
- CN
- China
- Prior art keywords
- information
- data
- train
- article
- compression
- 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.)
- Pending
Links
- 238000007906 compression Methods 0.000 title claims abstract description 110
- 230000006835 compression Effects 0.000 title claims abstract description 110
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000012163 sequencing technique Methods 0.000 claims abstract description 4
- 238000003860 storage Methods 0.000 claims description 22
- 241001269238 Data Species 0.000 claims description 4
- 230000006641 stabilisation Effects 0.000 abstract description 2
- 238000011105 stabilization Methods 0.000 abstract description 2
- 238000013144 data compression Methods 0.000 description 4
- 101100214799 Streptococcus mutans serotype c (strain ATCC 700610 / UA159) abcX gene Proteins 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
Abstract
本发明提出一种行车信息压缩算法和多级压缩方法。该行车信息压缩算法包括以下步骤:每隔一段时间采集一次列车行车信息,采集的列车行车信息按时间顺次记录为第1条信息,第2条信息,第3条信息……第n条信息;从第1条信息开始,每隔m条信息记录一条完整帧;第1条信息记录为完整帧,第2条信息、第3条信息……第m条信息顺次与第1条信息进行比较,记录与第1条信息不同的数据以及该数据的对应位置;根据时间顺序,顺次选取第m+1条信息、第2m+1条信息……第Am+1为完整帧并重复上述操作,直至记录完成。多级压缩方法采用上述的行车信息压缩算法,并使用了RLE算法和ZIP算法对列车行车信息进行进一步压缩。本发明具有压缩比高、数据稳定的优点。
Description
技术领域
本发明属于压缩方法领域,尤其涉及一种行车信息压缩算法以及多级压缩方法。
背景技术
列车行车信息包含大量的列车相关信息,为了解列车运行状态,需要对列车行车信息进行记录和存储。列车行车信息具有记频率高、数据量大的特点,记录和存储列车行车信息时会对存储设备频繁擦写而降低寿命,另外列车行车信息数据量很大,占用大量存储空间;因此需要对列车行车数据进行压缩。
当前对列车行车信息多采用直接记录或者相邻数据比较算法。直接记录的方法是将列车行车信息直接写入存储设备,这种方法对存储设备擦写频繁并且占用存储空间较大。相邻数据比较算法是将采集到的列车行车信息与上一条进行对比,仅记录发生变化的数据,该方法具有很高的压缩比,但其中一条信息出现损失会影响到后续所有的列车行车信息。
发明内容
本发明针对上述的列车行车信息数据量大、擦写频繁的问题,提出一种压缩比高、数据稳定的行车信息压缩算法以及多级压缩方法。
为了达到上述目的,本发明采用的技术方案为:
一种列车行车信息压缩算法,包括以下步骤:
列车数据记录仪每隔一段时间采集一次列车行车信息,采集的列车行车信息按时间顺次记录为第1条信息,第2条信息,第3条信息……第n条信息;
从第1条信息开始,每隔m条信息记录一条包括完整列车行车信息的完整帧;第1条信息记录为完整帧,第2条信息、第3条信息……第m条信息顺次与第1条信息进行比较,记录与第1条信息不同的数据以及该数据的对应位置;
根据时间顺序,顺次选取第m+1条信息、第2m+1条信息……第Am+1为完整帧并重复上述操作,直至记录完成。
一种多级压缩方法,包括列车行车信息的采集和列车行车信息的实时压缩,实时压缩采用上述的行车信息压缩算法,其特征在于,还包括以下步骤:列车数据记录仪将实时压缩后的列车行车信息写入存储设备,定期压缩存储设备中的列车行车信息。
作为优选,列车行车信息的实时压缩,还包括以下步骤:压缩后的列车行车信息包括多条完整帧信息,列车数据记录仪对完整帧数据进行进一步压缩。
作为优选,列车数据记录仪对完整帧数据进行进一步压缩,包括以下具体步骤:列车数据记录仪采对完整帧中数据进行检查,如果多个连续数据不相同,不对多个数据进行压缩,标记多个连续数据不相同,并记录不相同数据的个数以及数据本身。
作为优选,列车数据记录仪对完整帧数据进行进一步压缩,包括以下具体步骤:列车数据记录仪采对完整帧中数据进行检查,如果多个连续数据数据相同,对多个数据进行压缩,标记数据相同,并记录相同数据的个数及数据本身。
作为优选,列车数据记录仪采用ZIP算法定期压缩存储设备中的列车行车信息。
与现有技术相比,本发明的优点和积极效果在于:采用每间隔一定数量的行车信息选择一条完整帧信息,记录后续信息与该完整帧信息的不同的数据,保证了高压缩比,同时某条行车信息记录出现错误时,不会影响到其他完整帧的信息,降低了行车信息的错误率。可以通过调节完整帧区间的大小,改变行车信息压缩算法的压缩比和稳定性。采用多级压缩的方法,使用RLE算法对完整帧进行二级压缩,并使用ZI P算法对已存储的行车信息定期进行三级压缩,进一步提高了压缩比。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的列车行车信息压缩算法流程示意图;
图2为实施例中原始数据;
图3为实施例中使用行车信息压缩算法压缩后的数据
图4为实施例中使用RLE算法压缩后的数据。
具体实施方式
下面,通过示例性的实施方式对本发明进行具体描述。然而应当理解,在没有进一步叙述的情况下,一个实施方式中的元件、结构和特征也可以有益地结合到其他实施方式中。
本申请发明了一种行车信息压缩算法,以及一种应用行车信息压缩算法的多级压缩算法。本发明的多级压缩算法通过行车信息压缩算法、RLE(行程长度编码)算法、ZIP算法(常用计算机文件的压缩的算法,ZIP通常使用后缀名“.ZIP”,属于几种主流的压缩格式之一)对列车数据进行三级压缩。
列车行车信息包括MVB(多功能车辆总线)数据及以太网等数据,技术人员通过列车行车信息全面了解列车运行状态以及列车故障信息等。列车数据记录仪每隔一段时间采集一次列车新车数据,采集数据的间隔可以根据实际需求进行设置。
因此,列车行车信息具有实时数据量大、记录频率高的特点,另外,列车行车信息是分析列车状态的基础,列车行车信息对记录的准确性要求很高。对此,对列车行车信息实时压缩的算法必须达到压缩比高、错误率小的要求。
列车数据记录仪每隔一段时间采集一次列车行车信息,一段时间内列车采集多次的列车行车信息并对信息进行记录存储。采用列车数据记录仪对列车行车信息的采集和记录也可以采用其他设备完成。具体步骤如图1所示,采集列车行车信息,使用行车信息压缩算法对列车行车信息进行一级压缩,然后使用RLE(行程长度编码)算法对列车行车信息进行二级压缩。行车信息压缩算法和RLE算法为实时压缩算法,对列车行车信息进行实时压缩,信息压缩后写入存储设备,采用ZIP压缩算法对存储器中列车行车信息进行进一步的压缩。
列车数据记录仪采集的列车行车信息首先采用行车信息压缩算法进行一级压缩,行车信息压缩算法是一种实时压缩算法,其具体步骤如下:
列车数据记录仪每隔一段时间采集一次列车行车信息,采集的列车行车信息按时间顺次记录为第1条信息,第2条信息,第3条信息……第n条信息。从第1条信息开始,每隔m条信息记录一条包括完整列车行车信息(简称为完整帧)。一条完整帧中包括大量数据。
第1条信息记录为完整帧,第2条信息、第3条信息……第m条信息顺次与第1条信息进行比较,记录与第1条信息不同的数据以及该数据的对应位置。第1条信息至第m条信息可以称为一个完整帧区间。
第m+1条信息记录为完整帧,第m+2条信息、第m+3条信息……第2m条信息顺次与第m+1条信息进行比较,记录与第m+1条信息不同的数据以及该数据的对应位置。第m+1条信息至第2m条信息也可以称为一个完整帧区间。
根据时间顺序,顺次选取第2m+1条信息、第3m+1条信息……第Am+1为完整帧并重复上述操作,直至记录完成。其中m、n和A均为正整数,另外还有m小于n。
行车信息压缩算法每隔m条信息记录一条完整的列车行车信息,随后m-1条信息与对应完整帧比较后,记录与完整帧不同的数据以及该数据的位置。列车行车信息的记录频率较高,在一个完整帧区间内的信息与该区间对应的完整帧差别较小,能够实现高压缩率的压缩。采用行车信息压缩算法,记录的信息不依赖前一条信息,能够有效避免任意一条列车行车信息出现错误导致后面所有信息均无法解析的情况。当完整帧记录出现错误时,列车最多损失对应完整帧区间内的m条信息,能够有效的保证列车行车信息记录的稳定性。其中m为正整数,可以通过调整m的大小来设置完整帧算法的压缩率和稳定性;一定范围内,m值增大时,算法压缩率提高,稳定性降低;m值减小时,算法压缩率降低,稳定性提高。
在一个具体实施例中,图1为采集的列车行车信息,图2为经过行车信息压缩算法压缩后的列车行车信息。
其中,第1条信息为完整帧,记录为abcddddddefghiiii。第2条信息与第1条信息相比,在位置为5和10的数据与第1条信息中的数据不同,记录为(X,5)(Y,10);其中,X和Y为数据的值,5和10为数据对应的位置。相应的,第3条信息可以记录为(X,7),第m条信息可以记录为(X,7)(Z,11)。
对应的,第m+1条信息同样为完整帧,记录为abcXdddddeYghiiii。第m+2条信息与第m+1条信息相比,在8、10和14的数据与第m+1条信息中的数据不同,记录为(Y,8)(f,10)(Z,14)。相应的,第m+3条信息可以记录为(d,4)(f,10),第2m条信息可以记录为(f,10)(Z,13)。
上述实施例仅为一种压缩后数据的表示方法,行车信息压缩算法可以采用其他表示方法对压缩数据进行记录。
行车信息压缩算法每隔m条信息记录一条完整的列车行车信息,随后m-1条信息与对应完整帧比较后,记录与完整帧不同的数据以及该数据的位置。列车行车信息的记录频率较高,在一个完整帧区间内的信息与该区间对应的完整帧差别较小,能够实现高压缩率的压缩。采用该行车信息压缩算法,记录的信息不依赖前一条信息,能够有效避免一条列车行车信息出现错误导致后面所有信息均无法解析的情况。当完整帧记录出现错误时,列车最多损失对应完整帧区间内的m条信息,能够有效的保证列车行车信息记录的稳定性。其中m为正整数,可以通过调整m的大小来设置完整帧算法的压缩率和稳定性。
列车数据记录仪每隔m条信息就记录一条完整帧,并且一条完整帧中包括大量数字量信号等,重复的数据较多。本申请中采用RLE算法对列车行车信息进行二级压缩并记录,进一步减少数据冗余量,具体实现步骤如下:
引入一个标记符号,能够标记数据是否被压缩以及后续数据的个数。对完整帧中数据进行检查,如果数据不相同,标记后续数据不相同,并记录不相同数据的个数以及数据;如果数据相同,标记后续数据相同,并记录相同数据的个数及数据。
在一个具体实施例中,如图1所示,图1为采集的列车行车信息,图2为经过RLE算法压缩后的列车行车信息。可以采用<U,V>作为RLE算法的标记符号,其中U表示后续数据是否压缩,U的值可以为1或者0,U为1表示后续数据未压缩,U为0时表示后续数据压缩;V表示数据的个数。
其中第1条信息为完整帧,未压缩前表示为abcdddddefghiiii,其中数据abc未出现重复,数据abc不压缩,数据长度为3,标记符号为<0,3>;数据d重复出现,数据d压缩,数据长度为5,标记符号为<1,5>;数据efgh未重复出现,数据efgh不压缩,数据长度为4,标记符号为<0,4>;数据i重复出现,数据i压缩,数据长度为4,标记符号为<1,4>。
该完整帧用RLE算法压缩后可以表示为<0,3>abc<1,5>d<0,4>efgh<1,4>i。
第m+1条信息也是完整帧,未压缩前表示为abcXddddeYghiiii,使用RLE算法压缩后可以表示为<0,4>abcX<1,4>d<0,4>eYgh<1,4>i。
上述实施例仅为一种压缩后数据的表示方法,行车信息压缩算法可以采用其他表示方法对压缩数据进行记录。
RLE算法对于有大量重复数据的完整帧信息进行二级压缩,能够进一步减少列车运行信息的冗余。
行车信息压缩算法和RLE算法对压缩算法对列车行车信息进行实时压缩,降低写入磁盘的数据量,降低CPU读写存储设备的次数。经过行车信息压缩算法和RLE算法压缩后,列车行车信息仍然有一定的冗余度,为了进一步减少对存储设备的占用,本申请采用ZIP压缩算法对存储设备中列车行车信息进行进一步的压缩。
在一个具体的实施例中,对列车行车数据进行二级压缩后写入存储设备,存储设备中列车行车信息达到指定数量后,该部分列车行车信息作为一个文件,对该文件采用ZIP算法进行压缩;列车数据记录仪继续采集列车行车信息,后续列车行车信息作为另一个文件进行存储,对列车行车数据进行二级压缩后写入存储设备的文件,直至该文件中列车行车信息达到指定数量后,进行ZIP压缩。重复上述操作,持续对存储设备中的信息进行ZIP压缩。上述实施例中的指定数量可以根据实际进行对应设置。
另外,对指定数量的列车行车信息进行ZIP压缩也可以设置为对指定时间内采集的列车行车信息进行ZIP压缩。存储设备中指定时间内记录的列车行车信息经过二级压缩后作为一个文件,对该文件进行ZIP压缩;后续记录的数据作为另一个文件进行存储,对列车行车数据进行二级压缩后写入存储设备的文件,直至该文件中列车行车信息达到指定时间后,进行ZIP压缩。重复上述操作,持续对存储设备中的信息进行ZIP压缩。上述中的指定时间可以根据实际进行设置。
ZIP压缩算法为成熟的压缩算法,不是本申请的发明点,对此不再进行详细描述。
本申请通过行车信息压缩算法、RLE算法和ZIP算法三级压缩,有效的提高列车行车信息的压缩率,有效降低数据实时写入的频率,减少对存储设备的擦写次数,并且能够保证列车行车信息的稳定记录。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (6)
1.一种列车行车信息压缩算法,其特征在于,包括以下步骤:
列车数据记录仪每隔一段时间采集一次列车行车信息,采集的列车行车信息按时间顺次记录为第1条信息,第2条信息,第3条信息……第n条信息;
从第1条信息开始,每隔m条信息记录一条包括完整列车行车信息的完整帧;第1条信息记录为完整帧,第2条信息、第3条信息……第m条信息顺次与第1条信息进行比较,记录与第1条信息不同的数据以及该数据的对应位置;
根据时间顺序,顺次选取第m+1条信息、第2m+1条信息……第Am+1为完整帧并重复上述操作,直至记录完成。
2.一种多级压缩方法,包括列车行车信息的采集和列车行车信息的实时压缩,实时压缩采用权利要求1中所述的行车信息压缩算法,其特征在于,还包括以下步骤:列车数据记录仪将实时压缩后的列车行车信息写入存储设备,定期压缩存储设备中的列车行车信息。
3.根据权利要求2所述的多级压缩方法,其特征在于,列车行车信息的实时压缩,还包括以下步骤:压缩后的列车行车信息包括多条完整帧信息,列车数据记录仪对完整帧数据进行进一步压缩。
4.根据权利要求3所述的多级压缩方法,其特征在于,列车数据记录仪对完整帧数据进行进一步压缩,包括以下具体步骤:列车数据记录仪采对完整帧中数据进行检查,如果多个连续数据不相同,不对多个数据进行压缩,标记多个连续数据不相同,并记录不相同数据的个数以及数据本身。
5.根据权利要求3所述的多级压缩方法,其特征在于,列车数据记录仪对完整帧数据进行进一步压缩,包括以下具体步骤:列车数据记录仪采对完整帧中数据进行检查,如果多个连续数据数据相同,对多个数据进行压缩,标记数据相同,并记录相同数据的个数及数据本身。
6.根据权利要求2所述的多级压缩方法,其特征在于:列车数据记录仪采用ZIP算法定期压缩存储设备中的列车行车信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811318951.8A CN109474280A (zh) | 2018-11-07 | 2018-11-07 | 行车信息压缩算法以及多级压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811318951.8A CN109474280A (zh) | 2018-11-07 | 2018-11-07 | 行车信息压缩算法以及多级压缩方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109474280A true CN109474280A (zh) | 2019-03-15 |
Family
ID=65666954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811318951.8A Pending CN109474280A (zh) | 2018-11-07 | 2018-11-07 | 行车信息压缩算法以及多级压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109474280A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030097484A (ko) * | 2002-06-21 | 2003-12-31 | 삼성전자주식회사 | 차등 영상 압축 방법 및 그 장치 |
CN102811114A (zh) * | 2012-07-12 | 2012-12-05 | 中国电子科技集团公司第二十八研究所 | 一种采用帧间编码的字符型通信报文压缩方法 |
-
2018
- 2018-11-07 CN CN201811318951.8A patent/CN109474280A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030097484A (ko) * | 2002-06-21 | 2003-12-31 | 삼성전자주식회사 | 차등 영상 압축 방법 및 그 장치 |
CN102811114A (zh) * | 2012-07-12 | 2012-12-05 | 中国电子科技集团公司第二十八研究所 | 一种采用帧间编码的字符型通信报文压缩方法 |
Non-Patent Citations (2)
Title |
---|
王小虎: "《计算机多媒体技术 第2版》", 31 October 2018 * |
王长波: "《RLE压缩算法的改进及C++实现》", 《电脑编程技巧与维护》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101667205B (zh) | 一种面向快速回放的实时测点数据存储方法 | |
CN108563711B (zh) | 一种基于时间节点的时序数据存储方法 | |
US20050076063A1 (en) | File system for enabling the restoration of a deffective file | |
CN102158349B (zh) | 一种日志管理装置及方法 | |
CN101446984A (zh) | 一种文件存储方法、装置及文件删除方法和装置 | |
CN105846825A (zh) | 压缩方法、解压缩方法、压缩装置以及解压缩装置 | |
CN104504105A (zh) | 一种实时数据库的存储方法 | |
CN101963944B (zh) | 对象存储方法和系统 | |
KR970703562A (ko) | 다양한 길이의 기록을 고정된 블록으로 패킹하는 방법 및 장치(Packing Variable Length Record in Fixed Blocks) | |
CN107409152A (zh) | 用于压缩通过网络接收的数据的方法和装置 | |
CN107741947B (zh) | 基于hdfs文件系统的随机数密钥的存储与获取方法 | |
CN104504116A (zh) | 一种实时数据库的存储方法 | |
CN101919694A (zh) | 一种多导联动态切换的心电数据存储方法 | |
CN105117451B (zh) | 一种地图瓦片文件的存储方法 | |
CN109474280A (zh) | 行车信息压缩算法以及多级压缩方法 | |
CN108182244A (zh) | 一种基于多层次列式存储结构的时序数据存储方法 | |
US20050276578A1 (en) | Real time data compression apparatus for a data recorder | |
CN107894875B (zh) | 一种rtu数据存储方法 | |
CN110019636A (zh) | 一种gis瓦片地图的存储方式 | |
CN102385606B (zh) | 一种分布式数据仓库的访问方法和装置 | |
CN105677010A (zh) | 自动记录文字并转换成电子文档的方法及系统 | |
CN102222077A (zh) | 一种语音频数据的存储方法和装置 | |
CN110188160B (zh) | 数据存储方法和数据读取方法 | |
US20120109911A1 (en) | Compression Of XML Data | |
CN107609038A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190315 |
|
RJ01 | Rejection of invention patent application after publication |