CN116614139B - 一种售酒小程序内用户交易信息压缩存储方法 - Google Patents

一种售酒小程序内用户交易信息压缩存储方法 Download PDF

Info

Publication number
CN116614139B
CN116614139B CN202310889574.8A CN202310889574A CN116614139B CN 116614139 B CN116614139 B CN 116614139B CN 202310889574 A CN202310889574 A CN 202310889574A CN 116614139 B CN116614139 B CN 116614139B
Authority
CN
China
Prior art keywords
character
sequence
transaction information
encoded
user transaction
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.)
Active
Application number
CN202310889574.8A
Other languages
English (en)
Other versions
CN116614139A (zh
Inventor
刘慧雯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiuxian Network Technology Co ltd
Original Assignee
Jiuxian Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiuxian Network Technology Co ltd filed Critical Jiuxian Network Technology Co ltd
Priority to CN202310889574.8A priority Critical patent/CN116614139B/zh
Publication of CN116614139A publication Critical patent/CN116614139A/zh
Application granted granted Critical
Publication of CN116614139B publication Critical patent/CN116614139B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及数据压缩存储技术领域,具体涉及一种售酒小程序内用户交易信息压缩存储方法,包括:采集售酒小程序内的用户交易信息数据,将用户交易信息数据转换为待编码序列,根据待编码序列中的字符构建字符共生表,根据字符共生表预测待编码序列中每种字符的末位频次,进而得到每种字符的末位频率,根据每种字符的末位频率对待编码序列进行压缩,得到压缩数据,对压缩数据进行存储。本发明通过预测每种字符作为LZ编码过程中编码对象的末位的频率,为每种字符分配码字,实现LZ编码过程中,编码对象末位字符的进一步压缩,相较于LZ编码压缩效率更高。

Description

一种售酒小程序内用户交易信息压缩存储方法
技术领域
本发明涉及数据压缩存储技术领域,具体涉及一种售酒小程序内用户交易信息压缩存储方法。
背景技术
售酒小程序内用户交易信息通常包含大量的数据,如交易时间、交易金额、商品编号等,为了确保交易可溯源,需要对用户交易信息数据进行长期存储。由于用户交易信息数据的数据量大,为了减少存储空间节省存储成本,需要对用户交易信息数据进行压缩。
现有的压缩算法如LZ编码边构建压缩字典边进行压缩,对编码对象利用编码对象中子串的索引以及编码对象末位的字符的码字进行编码,压缩效率取决于编码对象末位字符的码字的长度,压缩效率有限。
发明内容
本发明提供一种售酒小程序内用户交易信息压缩存储方法,以解决现有的问题。
本发明的一种售酒小程序内用户交易信息压缩存储方法采用如下技术方案:
本发明一个实施例提供了一种售酒小程序内用户交易信息压缩存储方法,该方法包括以下步骤:
采集售酒小程序内的用户交易信息数据,将用户交易信息数据转换为待编码序列;
根据待编码序列中的字符构建字符共生表;
根据字符共生表预测待编码序列中每种字符的末位频次;根据末位频次获取每种字符的末位频率;
根据每种字符的末位频率对待编码序列进行压缩,得到压缩数据;
对压缩数据进行存储。
优选的,所述根据待编码序列中的字符构建字符共生表,包括的具体步骤如下:
获取待编码序列中每个字符与相邻字符构成的字符串在待编码序列中出现的次数;将待编码序列中出现的每种字符作为行索引,将待编码序列中出现的每种字符作为列索引,根据行索引对应的字符与列索引对应的字符构成的字符串在待编码序列中出现的次数,构建字符共生表,所述字符共生表中每一行每一列中的元素表示以该行的行索引对应的字符为第一个字符,以该列的列索引对应的字符为第二个字符,构成的字符串在待编码序列中出现的次数。
优选的,所述根据字符共生表预测待编码序列中每种字符的末位频次,包括的具体步骤如下:
其中,为第/>种字符的末位频次;/>为字符的种类数;/>为字符共生表中第/>行第/>列的元素;/>为字符共生表中第/>行第/>列的元素;/>为以自然常数为底的指数函数;是以自然常数为底的对数函数。
优选的,所述根据末位频次获取每种字符的末位频率,包括的具体步骤如下:
将每种字符的末位频次除以所有种字符的末位频次之和,得到每种字符的末位频率。
优选的,所述根据每种字符的末位频率对待编码序列进行压缩,得到压缩数据,包括的具体步骤如下:
根据每种字符的末位频率构建霍夫曼树,将每种字符在霍夫曼树中的编码作为每种字符的码字;根据每种字符的码字,利用LZ编码的方法对待编码序列进行压缩,得到压缩数据。
优选的,所述将用户交易信息数据转换为待编码序列,包括的具体步骤如下:
将用户交易信息数据中非字母且非数字类型的数据转换为字母、数字类型,将转换之后仅包含字母或数字的用户交易信息数据作为待编码序列。
本发明的技术方案的有益效果是:本发明采集售酒小程序内的用户交易信息数据,将用户交易信息数据转换为待编码序列,根据待编码序列中的字符构建字符共生表,用来表示待编码序列中字符串的分布规律,根据字符共生表预测待编码序列中每种字符的末位频次,进而得到每种字符作为LZ编码过程中编码对象的末位的频率,根据每种字符的末位频率为每种字符分配码字,进而对待编码序列进行压缩,得到压缩数据,本发明在对待编码序列相较于LZ编码,实现了编码对象末位字符的进一步压缩,提高了压缩效率,相较于LZ编码压缩效率更高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种售酒小程序内用户交易信息压缩存储方法的步骤流程图;
图2为本发明的字符共生表。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种售酒小程序内用户交易信息压缩存储方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的一种售酒小程序内用户交易信息压缩存储方法的具体方案。
请参阅图1,其示出了本发明一个实施例提供的一种售酒小程序内用户交易信息压缩存储方法的步骤流程图,该方法包括以下步骤:
S001.采集用户交易信息数据。
采集售酒小程序内的用户交易信息数据,包括:订单号、交易时间、交易金额、交易用户ID、商品编号等。需要说明的是,订单号、交易时间、交易用户ID、商品编号等均为字母或数字类型,将仅包含字母或数字的用户交易信息数据作为待编码序列。当用户交易信息数据中包含中文等非字母、数字的数据类型时,为了便于压缩,将用户交易信息数据中其他数据类型的数据转换为字母、数字类型,将转换之后仅包含字母或数字的用户交易信息数据作为待编码序列。在本发明实施例中,采用GB2312编码以及Base64编码将用户交易信息数据中其他数据类型的数据转换为字母、数字类型,在其他实施例中,实施人员可根据实际实施情况选择编码方法对用户交易信息数据中其他数据类型的数据进行转换。
S002.预测待编码序列中每种字符的末位频率。
需要说明的是,LZ编码是一种数据压缩算法,LZ编码将待编码序列中首次出现的最短字符串作为编码对象,将编码对象动态添加到压缩字典,对编码对象利用编码对象中包含的之前已出现过的子串的索引与该编码对象末位的字符的码字进行编码。因此LZ编码的效率一定程度上取决于每种字符的码字的长短。在LZ编码中,每种字符的码字的长度都相同,码字的长度与字符的种类数相关。若对每种字符进行霍夫曼编码,可减少所有字符的平均码长,提高LZ编码的压缩效率。但在LZ编码中,编码对象末位的字符仅为待编码序列中一部分字符,待编码序列中频率较大的字符作为编码对象末位的字符时的频率可能较小,直接根据每种字符在待编码序列中的频率进行霍夫曼编码获取每种字符的码字,可能会导致所有编码对象末位的字符的码字的平均码长较长,压缩效果较差。因此本发明实施例根据待编码序列中的字符的分布特征,预测每种字符作为编码对象的末位字符出现的频率,以便后续根据预测的末位频率,获取每种字符的码字,使得码字的平均码长降到最低,进而使得LZ编码的压缩效率达到最高。
在本发明实施例中,将待编码序列中每个字母、每个数字分别视作一个字符。获取待编码序列中每个字符与相邻字符构成的字符串在待编码序列中出现的次数,将待编码序列中出现的每种字符作为行索引,将待编码序列中出现的每种字符作为列索引,根据行索引对应的字符与列索引对应的字符构成的字符串在待编码序列中出现的次数,构建字符共生表。字符共生表中每一行每一列中的元素表示以该行的行索引对应的字符为第一个字符,以该列的列索引对应的字符为第二个字符,构成的字符串在待编码序列中出现的次数。例如字符共生表中第行第/>列的元素/>表示第/>行的行索引/>与第/>列的列索引/>构成的字符串/>在待编码序列中出现的次数。当待编码序列为/>时,对应的字符共生表参见图2。
需要说明的是,字符共生表中每一列的数据表示了以当前列的列索引对应的字符为末位的字符串在待编码序列中出现的次数,因此可根据字符串在待编码序列中出现的次数预测在LZ编码中每种字符作为编码对象末位的次数。
在本发明实施例中,预测每种字符的末位频次:
其中,为第/>种字符的末位频次;/>为字符的种类数;/>为字符共生表中第/>行第/>列的元素,即字符共生表中第/>行的行索引/>与第/>列的列索引/>构成的字符串/>在待编码序列中出现的次数,又即待编码序列中第/>种字符与第/>种字符构成的字符串在待编码序列中出现的次数;当第/>种字符与第/>种字符构成的字符串出现的次数越多时,在LZ编码中末尾为第/>种字符与第/>种字符构成的字符串的编码对象可能越多,末位为第/>字符的编码对象可能越多,此时第/>种字符的末位频次越大;/>为字符共生表中第/>行第/>列的元素,即以第/>种字符为开始,以第/>种字符为结尾的字符串在待编码序列中出现的次数;/>为以自然常数为底的指数函数;/>为字符共生表中第/>列的所有元素之和,即以第/>种字符为结尾的所有字符串在待编码序列中出现的次数;当以第/>种字符为结尾的字符串的个数非常多时,第/>种字符更可能作为LZ编码中编码对象末位的字符出现,此时LZ编码中编码对象包含第/>种字符与第/>种字符构成的字符串的可能性降低,第/>种字符与第/>种字符构成的字符串可能被截断,分属于不同的编码对象,第/>种字符作为编码对象的起始字符。因此需要根据/>对/>进行修正,当/>越大时,对/>的修正程度越大,越小,使得/>减小的程度越大;/>为字符共生表中所有元素之和;/>为字符共生表中每一列的元素之和的平均值,用来防止过大导致/>恒趋近于0;/>用来表示第/>种字符作为长度大于或等于2的编码对象的末位出现的预测频次,同时第/>种字符可能单独作为一个编码对象,此时第/>种字符也为该编码对象的末位,因此将预测频次加上1,作为第/>种字符的末位频次。
将每种字符的末位频次除以所有种字符的末位频次之和,得到每种字符的末位频率。
至此,实现了每种字符的末位频率的预测。
S003.根据每种字符的末位频率获取每种字符的码字,对待编码序列进行压缩。
根据每种字符的末位频率构建霍夫曼树,将每种字符在霍夫曼树中的编码作为每种字符的码字。根据每种字符的码字,利用LZ编码的方法对待编码序列进行压缩,得到压缩数据。
至此,实现了待编码序列的压缩,得到了压缩数据。
S004.对压缩数据进行存储。
将压缩数据以及每种字符的码字一同存储在用户交易信息存储服务器中,当需要查看用户交易信息数据时,根据每种字符的码字,利用LZ编码的方法对压缩数据进行解压,得到用户交易信数据。
至此,实现了压缩数据的存储以及解压。
通过以上步骤,完成了售酒小程序内用户交易信息的压缩存储。
本发明实施例通过采集售酒小程序内的用户交易信息数据,将用户交易信息数据转换为待编码序列,根据待编码序列中的字符构建字符共生表,用来表示待编码序列中字符串的分布规律,根据字符共生表预测待编码序列中每种字符的末位频次,进而得到每种字符作为LZ编码过程中编码对象的末位的频率,根据每种字符的末位频率为每种字符分配码字,进而对待编码序列进行压缩,得到压缩数据,本发明在对待编码序列相较于LZ编码,实现了编码对象末位字符的进一步压缩,提高了压缩效率,相较于LZ编码压缩效率更高。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种售酒小程序内用户交易信息压缩存储方法,其特征在于,该方法包括以下步骤:
采集售酒小程序内的用户交易信息数据,将用户交易信息数据转换为待编码序列;
根据待编码序列中的字符构建字符共生表;
根据字符共生表预测待编码序列中每种字符的末位频次;根据末位频次获取每种字符的末位频率;
根据每种字符的末位频率对待编码序列进行压缩,得到压缩数据;
对压缩数据进行存储;
所述根据待编码序列中的字符构建字符共生表,包括的具体步骤如下:
获取待编码序列中每个字符与相邻字符构成的字符串在待编码序列中出现的次数;将待编码序列中出现的每种字符作为行索引,将待编码序列中出现的每种字符作为列索引,根据行索引对应的字符与列索引对应的字符构成的字符串在待编码序列中出现的次数,构建字符共生表,所述字符共生表中每一行每一列中的元素表示以该行的行索引对应的字符为第一个字符,以该列的列索引对应的字符为第二个字符,构成的字符串在待编码序列中出现的次数;
所述根据字符共生表预测待编码序列中每种字符的末位频次,包括的具体步骤如下:
其中,为第/>种字符的末位频次;/>为字符的种类数;/>为字符共生表中第/>行第/>列的元素;/>为字符共生表中第/>行第/>列的元素;/>为以自然常数为底的指数函数;/>是以自然常数为底的对数函数。
2.根据权利要求1所述的一种售酒小程序内用户交易信息压缩存储方法,其特征在于,所述根据末位频次获取每种字符的末位频率,包括的具体步骤如下:
将每种字符的末位频次除以所有种字符的末位频次之和,得到每种字符的末位频率。
3.根据权利要求1所述的一种售酒小程序内用户交易信息压缩存储方法,其特征在于,所述根据每种字符的末位频率对待编码序列进行压缩,得到压缩数据,包括的具体步骤如下:
根据每种字符的末位频率构建霍夫曼树,将每种字符在霍夫曼树中的编码作为每种字符的码字;根据每种字符的码字,利用LZ编码的方法对待编码序列进行压缩,得到压缩数据。
4.根据权利要求1所述的一种售酒小程序内用户交易信息压缩存储方法,其特征在于,所述将用户交易信息数据转换为待编码序列,包括的具体步骤如下:
将用户交易信息数据中非字母且非数字类型的数据转换为字母、数字类型,将转换之后仅包含字母或数字的用户交易信息数据作为待编码序列。
CN202310889574.8A 2023-07-20 2023-07-20 一种售酒小程序内用户交易信息压缩存储方法 Active CN116614139B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310889574.8A CN116614139B (zh) 2023-07-20 2023-07-20 一种售酒小程序内用户交易信息压缩存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310889574.8A CN116614139B (zh) 2023-07-20 2023-07-20 一种售酒小程序内用户交易信息压缩存储方法

Publications (2)

Publication Number Publication Date
CN116614139A CN116614139A (zh) 2023-08-18
CN116614139B true CN116614139B (zh) 2023-09-19

Family

ID=87682258

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310889574.8A Active CN116614139B (zh) 2023-07-20 2023-07-20 一种售酒小程序内用户交易信息压缩存储方法

Country Status (1)

Country Link
CN (1) CN116614139B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116865768B (zh) * 2023-08-31 2023-11-21 临沂安迪电气有限公司 一种plc设备数据优化存储方法
CN117216023B (zh) * 2023-11-07 2024-01-26 陕西长瑞安驰信息技术集团有限公司 一种大规模网络数据存储方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047298A (en) * 1996-01-30 2000-04-04 Sharp Kabushiki Kaisha Text compression dictionary generation apparatus
WO2010108373A1 (zh) * 2009-03-27 2010-09-30 广东国笔科技股份有限公司 一种对词库压缩编码及解码的方法和系统
CN107592116A (zh) * 2017-09-21 2018-01-16 咪咕文化科技有限公司 一种数据压缩方法、装置及存储介质
CN108256017A (zh) * 2018-01-08 2018-07-06 武汉斗鱼网络科技有限公司 一种用于数据存储的方法、装置及计算机设备
CN110518917A (zh) * 2019-07-17 2019-11-29 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于Huffman编码的LZW数据压缩方法及系统
CN115173866A (zh) * 2022-07-14 2022-10-11 郑州朗灵电子科技有限公司 一种小程序数据的高效存储方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009595A1 (en) * 2001-07-09 2003-01-09 Roger Collins System and method for compressing data using field-based code word generation
US9337862B2 (en) * 2014-06-09 2016-05-10 Tidal Systems, Inc. VLSI efficient Huffman encoding apparatus and method
JP6641857B2 (ja) * 2015-10-05 2020-02-05 富士通株式会社 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047298A (en) * 1996-01-30 2000-04-04 Sharp Kabushiki Kaisha Text compression dictionary generation apparatus
WO2010108373A1 (zh) * 2009-03-27 2010-09-30 广东国笔科技股份有限公司 一种对词库压缩编码及解码的方法和系统
CN107592116A (zh) * 2017-09-21 2018-01-16 咪咕文化科技有限公司 一种数据压缩方法、装置及存储介质
CN108256017A (zh) * 2018-01-08 2018-07-06 武汉斗鱼网络科技有限公司 一种用于数据存储的方法、装置及计算机设备
CN110518917A (zh) * 2019-07-17 2019-11-29 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于Huffman编码的LZW数据压缩方法及系统
CN115173866A (zh) * 2022-07-14 2022-10-11 郑州朗灵电子科技有限公司 一种小程序数据的高效存储方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Speeding up parallel decoding of LZ compressed text on the PRAM EREW";S. De Agostino;Proceedings Seventh International Symposium on String Processing and Information Retrieval. SPIRE 2000;全文 *
"金融业务数据库的数据压缩方法";贾永洁 等;计算机工程;第34卷(第11期);全文 *

Also Published As

Publication number Publication date
CN116614139A (zh) 2023-08-18

Similar Documents

Publication Publication Date Title
CN116614139B (zh) 一种售酒小程序内用户交易信息压缩存储方法
US10979071B2 (en) Systems and methods for variable length codeword based, hybrid data encoding and decoding using dynamic memory allocation
KR101049699B1 (ko) 데이터의 압축방법
CN106407285B (zh) 一种基于rle和lzw的优化比特文件压缩与解压缩方法
CN116681036B (zh) 基于数字孪生的工业数据存储方法
JP3083730B2 (ja) データ情報を圧縮するためのシステムおよび方法
CN116634029B (zh) 基于区块链的用工平台数据快速传输方法
CN116521093B (zh) 一种智慧社区人脸数据存储方法及系统
US8933826B2 (en) Encoder apparatus, decoder apparatus and method
CN110518917A (zh) 基于Huffman编码的LZW数据压缩方法及系统
CN116610265B (zh) 一种商务信息咨询系统的数据存储方法
JP5656593B2 (ja) 符号化データを復号する装置及び方法
CN115276666B (zh) 一种装备训练模拟器数据高效传输方法
Mahmood et al. An Efficient 6 bit Encoding Scheme for Printable Characters by table look up
CN116805537B (zh) 用于心肺康复管理系统的数据处理方法
CN116827354B (zh) 一种文件数据分布式存储管理系统
CN111711511B (zh) 频域数据有损压缩方法
KR100494876B1 (ko) 2바이트 문자 데이터 압축 방법
US9143163B2 (en) Method and system for text compression and decompression
CN113992303B (zh) 序列确定方法及装置、设备
CN112506876B (zh) 一种支持sql查询的无损压缩查询方法
CN111274950B (zh) 特征向量数据编解码方法及服务器和终端
CN114429200A (zh) 规范化哈夫曼编解码方法及神经网络计算芯片
Mahmood et al. Efficient compression scheme for large natural text using zipf distribution
CN115276664B (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