一种电子发票数据处理方法及系统与流程

文档序号:36428864发布日期:2023-12-21 01:24阅读:36来源:国知局
一种电子发票数据处理方法及系统与流程

本发明涉及数据处理,具体涉及一种电子发票数据处理方法及系统。


背景技术:

1、随着电子商务和数字技术的迅猛发展,电子发票逐渐替代了传统的纸质发票,成为了交易和购销的标准记录形式。由于电子发票的数量巨大,其数据传输不仅需要时间,还可能产生大量的通信成本。电子发票包含了购票人员关键的信息,其中包括大量的数字、文本信息需要在传输和存储过程中确保其安全性和完整性,因此,需要对数据进行压缩,使其在数据传输存储过程中,降低数据损失的可能性。

2、传统的霍夫曼编码是一种前缀编码,其任何一个前缀编码都不可能是其他编码的前缀。这个性质是霍夫曼编码的基础,这同时也会导致霍夫曼编码过程中的错误传播问题。在电子发票数据进行压缩过程中,若出现一位错误,则会导致后面出现一系列错误的问题,而在电子发票数据中,存在发票号码、购票价格、日期等重要的信息,若出现错误则会对发票的合法性和完成性造成严重影响。


技术实现思路

1、为解决上述问题,本发明提供一种电子发票数据处理方法及系统。

2、本发明的一种电子发票数据处理方法及系统采用如下技术方案:

3、本发明一个实施例提供了一种电子发票数据处理方法,该方法包括以下步骤:

4、采集电子发票数据,所述电子发票数据包含若干字符;

5、根据电子发票数据得到字符序列,根据字符序列得到字符序列中每一类字符对应的编码;

6、根据电子发票数据得到电子发票数据中所有二元字符组合的种类,根据电子发票数据中所有二元字符组合的种类,得到第一字符序列,根据字符序列、字符序列中每一类字符对应的编码以及第一字符序列,得到字符序列中任意两类字符对应编码的风险系数;

7、根据字符序列中任意两类字符对应编码的风险系数,得到风险优先级序列,根据字符序列中每一类字符对应的编码,得到字符-编码映射序列,所述字符-编码映射序列是二维序列,第一维为字符序列中不同的字符,第二维为字符对应的编码,根据风险优先级序列和字符-编码映射序列,得到第一字符-编码映射序列,根据字符-编码映射序列和第一字符-编码映射序列中对应字符的编码长度差异,得到映射序列调整后压缩损失率;

8、根据映射序列调整后压缩损失率得到最终字符-编码映射序列,根据最终字符-编码映射序列对电子发票数据进行编码压缩。

9、进一步地,所述根据电子发票数据得到字符序列,根据字符序列得到字符序列中每一类字符对应的编码,包括的具体步骤如下:

10、按照从左到右的顺序遍历电子发票中所有的字符,得到电子发票数据中所有字符的种类,并统计每一类字符对应的频率,将电子发票数据中所有字符的种类按照每一类字符对应的频率按照从大到小的顺序进行排序,得到电子发票数据的字符序列,记为字符序列;

11、根据字符序列利用霍夫曼编码算法构建霍夫曼树,根据霍夫曼树得到字符序列中每一类字符对应的编码。

12、进一步地,所述根据电子发票数据得到电子发票数据中所有二元字符组合的种类,根据电子发票数据中所有二元字符组合的种类,得到第一字符序列,包括的具体步骤如下:

13、按照从左到右的顺序遍历获取电子发票数据中每一个字符和右侧最相邻字符组成的二元字符组合,得到电子发票数据中所有二元字符组合,并统计电子发票数据中每一类二元字符组合对应的频数,将二元字符组合对应的频数为1的二元字符组合进行去除,将剩余所有二元字符组合按照其在电子发票数据中获取的顺序排列,得到二元字符组合序列,记为第一字符序列。

14、进一步地,所述根据字符序列、字符序列中每一类字符对应的编码以及第一字符序列,得到字符序列中任意两类字符对应编码的风险系数,包括的具体步骤如下:

15、获取字符序列中任意两类字符,分别记为第一类字符、第二类字符,获取第一类字符对应的编码,获取第二类字符对应的编码;

16、

17、式中,为第一类字符对应的编码中第i位编码,为第二类字符对应的编码中第i位编码,为取绝对值,为第一类字符对应的编码的长度,其中编码的长度为编码中包含的编码个数,为第二类字符对应的编码的长度,的获取方法如下:将和的最小值记为,为第一字符序列中由第一类字符在前且第二类字符在后组成的二元字符组合的出现频数,为字符序列中第一类字符的出现频数,字符序列中第二类字符的出现频数,为以自然常数为底的指数函数,为第一类字符和第二类字符对应编码的风险系数。

18、进一步地,所述根据字符序列中任意两类字符对应编码的风险系数,得到风险优先级序列,包括的具体步骤如下:

19、获取第一类字符和字符序列中每一类字符对应编码的风险系数,将第一类字符和字符序列中每一类字符对应编码的风险系数的均值,作为第一类字符对应的编码的风险优先级,获取字符序列中每一类字符对应的编码的风险优先级,将字符序列中每一类字符对应的编码的风险优先级按照从大到小的顺序进行排序,得到风险优先级序列。

20、进一步地,所述根据风险优先级序列和字符-编码映射序列,得到第一字符-编码映射序列,包括的具体步骤如下:

21、将风险优先级序列中任意一个编码记为目标编码;

22、

23、式中,为字符-编码映射序列中字符对应编码总个数,为风险优先级序列中目标编码的索引,为预设底数,为目标编码的移动步长,表示向上取整,表示以为底的对数函数;

24、将字符-编码映射序列中字符位置固定不变,获取风险优先级序列中第一个风险优先级对应的编码,记为第一编码,将字符-编码映射序列中第一编码对应的编码右移个位置,为第一编码的移动步长,获取风险优先级序列中第二个风险优先级对应的编码,记为第二编码,将字符-编码映射序列中第二编码对应的编码右移个位置,为第二编码的移动步长,直至将风险优先级序列中每一个风险优选级对应的编码在字符-编码映射序列中都进行右移,最终得到调整后的字符-编码映射序列,记为第一字符-编码映射序列。

25、进一步地,所述根据字符-编码映射序列和第一字符-编码映射序列中对应字符的编码长度差异,得到映射序列调整后压缩损失率,包括的具体步骤如下:

26、

27、式中,为字符-编码映射序列中第j类字符对应的编码的长度,为第一字符-编码映射序列中第j类字符对应的编码的长度,为字符-编码映射序列中第j类字符对应的频率,为字符-编码映射序列中字符种类的总个数,为取绝对值,为映射序列调整后压缩损失率。

28、进一步地,所述根据映射序列调整后压缩损失率得到最终字符-编码映射序列,包括的具体步骤如下:

29、预设经验阈值,记为,当时,其中为映射序列调整后压缩损失率,根据风险优先级序列和第一字符-编码映射序列,得到第二字符-编码映射序列,并根据字符-编码映射序列和第二字符-编码映射序列中对应字符的编码长度差异,得到新的映射序列调整后压缩损失率,记为第一压缩损失率,将第一压缩损失率与预设经验阈值进行比较,若第一压缩损失率仍小于预设经验阈值,则继续获取新的映射序列,并得到新的压缩损失率与预设经验阈值进行比较,直至新的压缩损失率大于等于预设经验阈值时停止,将满足停止条件时前一个压缩损失率对应的字符-编码映射序列,记为最终字符-编码映射序列,当时,将第一字符-编码映射序列直接作为最终字符-编码映射序列。

30、进一步地,所述根据最终字符-编码映射序列对电子发票数据进行编码压缩,包括的具体步骤如下:

31、将电子发票数据中每一个字符根据最终字符-编码映射序列中字符对应的编码进行编码,得到电子发票编码数据,将电子发票编码数据利用lzw算法进行压缩。

32、本发明还提出了一种电子发票数据处理系统,包括存储器和处理器,所述处理器执行所述存储器存储的计算机程序,以实现前述所述一种电子发票数据处理方法的步骤。

33、本发明的技术方案的有益效果是:传统的霍夫曼编码中,由于存在一些编码较为相似,在数据时会导致编码过程中出现编码错误,若出现编码错误,该错误可能会扩散到整个编码序列。

34、本发明通过计算每一个编码与其余所有编码的差异得到编码的风险系数,根据每一个编码的风险系数计算得到每一个编码的风险优先级,根据每一个编码的风险优先级对编码进行调整,使风险优先级较高的编码所对应的字符频率较小,降低该编码在数据中出现的频率,以降低该编码出现错误的可能性,即可达到降低电子发票数据在压缩过程中出现错误的可能性,达到在数据编码过程中,降低编码错误,减少数据损失的有益效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1