一种用于版式轻阅读的用户数据智能存储方法与流程
未命名
09-13
阅读:60
评论:0

1.本发明涉及数据压缩存储技术领域,具体涉及一种用于版式轻阅读的用户数据智能存储方法。
背景技术:
2.随着移动设备的普及,越来越多的人选择使用手机、平板等移动设备进行阅读;然而由于移动设备屏幕较小,用户在阅读过程中需要频繁缩放和滚动页面,影响阅读体验;针对这一问题,一些应用程序提供了版式轻阅读功能,即将文章内容重新排版,使其适应移动设备屏幕大小,从而提高阅读效率和舒适度;然而用户在使用不同设备或应用程序阅读同一篇文章时,需要重新设置版式轻阅读参数,例如字号、行距、段落间距等,较为繁琐;同时用户在阅读过程中可能希望标记或收藏某些内容,但由于版式轻阅读重新排版,原始文章的结构信息丢失,难以进行精确的标记和收藏。
3.因此需要一种针对用户在版式轻阅读过程中产生的相关数据进行智能存储的方法,传统对于文本信息的存储通常采用lzw压缩算法,然而lzw压缩算法在进行存储时会保存多个字符的前缀,进而使得字典索引较长,导致难以实现对用户数据的压缩高效性;因此需要根据数据的分布进行自适应分段处理,并根据分段数据构建查询表格,减少前缀冗余数据的数据量,从而实现自适应压缩存储来提高压缩效率;同时通过对用户数据进行压缩,避免数据量较大导致用户相关信息丢失的问题,保证用户数据的准确性。
技术实现要素:
4.本发明提供一种用于版式轻阅读的用户数据智能存储方法,以解决现有的用户数据量较大需要压缩同时无法保证准确性和高效性的问题,所采用的技术方案具体如下:本发明一个实施例提供了一种用于版式轻阅读的用户数据智能存储方法,该方法包括以下步骤:采集用户在版式轻阅读过程产生的数据,通过字符类型分类得到若干类用户数据;根据任意相邻两个字符的字符距离序列,获取任意相邻两个字符的序列相似度;根据序列相似度获取若干字符组合;根据每个字符组合的聚集程度获取若干分布区间;根据分布区间对用户数据得到若干分段数据;根据分段数据中字符分布构建每个分段数据的子段定位表,完成分段数据的压缩编码,对每类用户数据进行压缩编码,完成用户数据的智能存储。
5.可选的,所述任意相邻两个字符的序列相似度,具体的获取方法为:根据每个字符在用户数据中的分布,获取每个字符的字符距离序列;对于任意相邻两个字符,获取两个字符的字符距离序列中元素数量,从两个字符距离序列的第一个位置的元素开始判断,若两个元素相等,则将两个序列各自第一个位置的距离相似度记为1,
同时将两个位置作为匹配位置,继续向后判断;若两个序列中第二个位置的元素相等,则将两个序列各自第二个位置的距离相似度记为1并继续向后判断,两个位置同样为匹配位置;若两个序列中第一个位置两个元素不相等,将两个元素中最大值对应的元素记为该位置的标准元素,将两个元素中最小值对应的元素记为该位置的待匹配元素,将待匹配元素与所在序列中下一个位置的元素进行数值累加,若累加值小于标准元素,则继续向后累加,若累加值大于等于标准元素,则停止累加;其中累加值等于标准元素的情况下,将待匹配元素的下一个位置与标准元素所在位置的距离相似度记为1,并从标准元素的下一个位置与待匹配元素向后停止累加的下一个位置开始继续向后判断;若累加值大于标准元素,获取累加值与标准元素的差异,以及对下一个位置元素进行累加前的数值与标准元素的差异,将两个差异中最小的差异对应的位置与标准元素的位置完成匹配,距离相似度记为0,分别从两个序列中匹配的两个位置各自的下一个位置进行向后判断;若累加值小于标准元素并向后继续累加,出现累加值大于等于标准元素的情况停止,等于的情况完成匹配,并对两个匹配位置的距离相似度设置为1;大于的情况获取两个差异中最小的差异,将两个差异中最小的差异对应的位置作为匹配位置,距离相似度记为0;继续向后判断的过程中,是从两个序列中匹配的两个位置各自的下一个位置进行判断,判断过程中累加值从两个序列中两个位置开始判断,若各自相邻的前一对匹配位置的距离相似度为1,从两个位置的元素开始进行数值判断以及后续累加判断;若各自相邻的前一对匹配位置的距离相似度为0,继续向前遍历,直到找到距离相似度为1的一对匹配位置,将开始判断的两个位置的元素与分别与遍历到的元素进行累加,得到新的元素累加值,再对累加值进行数值大小比较以及向后累加判断;对两个序列依次向后判断,得到若干匹配位置及距离相似度,直到其中一个序列的所有位置的元素都完成判断,则完成匹配位置及距离相似度的获取;将所有匹配位置的距离相似度的均值,作为相邻两个字符的序列相似度;获取任意相邻两个字符的序列相似度。
6.可选的,所述获取每个字符的字符距离序列,包括的具体方法为:对用户数据中每个字符进行出现频次的统计,将出现频次最大的字符作为目标字符,根据目标字符在用户数据中的分布,得到任意相邻两个目标字符之间的距离;将得到的所有距离根据对应目标字符的出现顺序进行排列,得到目标字符的字符距离序列;获取每个字符的字符距离序列。
7.可选的,所述根据序列相似度获取若干字符组合,包括的具体方法为:对序列相似度大于预设融合阈值的相邻两个字符,将两个字符作为一个融合字符串,序列相似度小于等于预设融合阈值的相邻两个字符不进行融合;融合过程中首先两两字符融合,得到若干字符长度为2的融合字符串,并对得到的融合字符串继续根据预设融合阈值进行融合,得到字符长度更大的融合字符串,对得到的所有融合字符串都进行记录;获取每个融合字符串在用户数据中的出现频次,将出现频次与融合字符串的字符长度的乘积,作为每个融合字符串的优选程度;对于任意一个字符长度为2的融合字符串,获取包含该融合字符串的所有融合字符串,保留其中优选程度最大的融合字符串,记为一
个字符组合;对每个字符长度为2的融合字符串进行判断,得到若干字符组合。
8.可选的,所述根据每个字符组合的聚集程度获取若干分布区间,包括的具体方法为:根据字符组合在用户数据中的分布,获取每个字符组合的聚集程度,将所有字符组合的聚集程度进行归一化,得到的结果记为每个字符组合的聚集率;对聚集率大于等于预设聚集阈值的字符组合获取对应的分布区间,聚集率小于等于预设聚集阈值的字符组合不获取分布区间;所述分布区间的获取方法为:将任意一个字符组合从第一次出现到最后一次出现,两次出现之间所有的字符作为该字符组合的分布区间。
9.可选的,所述每个字符组合的聚集程度,具体的获取方法为:获取用户数据中任意相邻两个第个字符组合之间的距离,所述距离通过后一个字符组合中第一个字符的位置减去前一个字符组合中最后一个字符的位置获取,第个字符组合的聚集程度的计算方法为:其中,表示所有字符组合的出现频次总和,表示第个字符组合的出现频次,表示第个字符组合第次出现与第次出现之间的距离。
10.可选的,所述根据分布区间对用户数据得到若干分段数据,包括的具体方法为:对任意两个分布区间计算交并比,若交并比大于预设合并阈值,则对两个分布区间进行合并;对所有分布区间进行合并判断,最终得到的若干区间的起点与终点作为分段点,得到若干分段点,通过分段点将用户数据划分为若干分段数据;所述交并比的计算方法为:两个分布区间的并集为按照用户数据中的顺序排列的两段数据,交集为按照顺序排列过程中两段数据的重叠部分,交并比为重叠部分数据量与两段数据总量的比值。
11.可选的,所述根据分段数据中字符分布构建每个分段数据的子段定位表,包括的具体方法为:以任意一个分段数据为目标分段数据,对目标分段数据中每个字符进行出现频次的统计,按照出现频次将字符降序排列在初始定位表的第一行中;再基于初始定位表对每个字符与相邻下一个字符组成字符串统计出现频次,将出现频次最大的排列在对应字符的下一行,继续对定位表进行扩展,直到定位表中包含任意相邻两个字符组成的字符串的定位信息,完成目标分段数据的子段定位表的构建;获取每个分段数据的子段定位表。
12.可选的,所述完成分段数据的压缩编码,包括的具体方法为:在对分段数据进行存储时,通过对字符替换为对应子段定位表的位置信息,完成位置信息的替换,结合lzw算法完成对于每个分段数据的压缩。
13.可选的,所述对每类用户数据进行压缩编码,表示对通过字符类型得到的每类用
户数据进行压缩编码。
14.本发明的有益效果是:本发明通过对用户数据中每个字符的分布进行分析获取每个字符的字符距离序列,根据字符距离序列获取字符的序列相似度,从而得到若干字符组合,通过序列相似度来获取出现频次较大的字符串,同时根据字符串长度及出现频次来限定字符串的优选程度,保证得到的字符组合不会因为多次重复而对压缩效率造成较大影响;根据字符组合的聚集分布来获取分布空间,并对分布空间通过合并最终实现对用户数据的自适应分段,使得分段数据可以更好地保证字符组合的冗余性,从而提高压缩增益;对分段数据构建子段定位表,减小前缀冗余数据带来的存储量,再对数据进行自适应压缩存储,在保证用户数据的准确性同时达到高效压缩的目的。
附图说明
15.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
16.图1为本发明一个实施例所提供的一种用于版式轻阅读的用户数据智能存储方法流程示意图;图2位初始定位表示意图;图3为编码过程示意图。
具体实施方式
17.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
18.请参阅图1,其示出了本发明一个实施例所提供的一种用于版式轻阅读的用户数据智能存储方法流程图,该方法包括以下步骤:步骤s001、采集用户在版式轻阅读过程产生的数据,并根据字符类型分类得到若干类用户数据。
19.本实施例的目的是对用户在版式轻阅读过程中产生的相关数据进行智能存储,通过压缩存储减少数据量并保证数据的准确性,因此首先需要对阅读过程的相关数据进行采集;本实施例通过数据分析工具跟踪用户在版式轻阅读过程中的行为,包括访问量、停留时间以及页面跳转等,从而实现对用户的相关数据的获取并记录,其中跟踪并采集用户数据为现有技术,可直接从阅读平台或应用程序内直接获取,本实施例采集的相关数据包括:阅读偏好:包括用户喜欢阅读的主题、类型及阅读频率;阅读时间:记录用户在什么时间段阅读量最多及最少,以及阅读时长;阅读习惯:记录用户在阅读时的行为习惯,例如快速滑动、放大缩小、分享及收藏的相关文本;设备信息:记录用户使用的设备类型、屏幕大小及分辨率信息;
地理位置:记录用户每次阅读时定位的地理位置,以便为用户提供更加精准的推荐内容;用户行为:记录用户的行为轨迹,包括点击、跳转及搜索;用户反馈:收集用户对文章、页面及版式的评价和反馈,以便为用户提供更好的阅读体验;广告点击率:记录用户对广告的点击率和转化率,以便为广告主提供更好的广告效果评估。
20.进一步的,采集到用户产生的若干相关数据后,由于采集的数据类型较多,在进行压缩处理时多种字符类型难以统一压缩,因此本实施例对采集到的数据根据字符类型进行分类,得到若干类用户数据,本实施例将数据分为字符类用户数据、字母类用户数据以及汉字类用户数据,字符类用户数据包括数字及标点符号等字符,后续处理过程中对于各种类型中相同字符的统计,本实施例采用ocr字符识别技术,为现有技术,本实施例不再赘述。
21.至此,获取到了若干类用户数据,以任意一类用户数据在后续处理中进行叙述,其他类用户数据的压缩编码过程相同。
22.步骤s002、根据用户数据中字符的分布获取每个字符的字符距离序列,获取任意相邻两个字符的序列相似度,根据序列相似度获取若干字符组合。
23.需要说明的是,对于任意一类用户数据,首先需要获取每个字符的出现频次,同时获取相同字符之间的距离,得到字符距离序列;而对于相邻字符,其字符距离序列之间的相似度越大,表明相邻字符构成的字符组合在用户数据中的出现频次越大,因此根据序列相似度获取字符组合;同时不同字符的出现频次存在差异,因此序列相似度计算过程中需要保证相邻字符一定能被提取到,从而保证序列相似度的准确性。
24.具体的,以任意一类用户数据为例,后续处理均以该类用户数据为例进行叙述,对用户数据中每个字符进行出现频次的统计,将出现频次最大的字符作为目标字符,根据目标字符在用户数据中的分布,得到任意相邻两个目标字符之间的距离,需要说明的是,本实施例将用户数据排列成一维数据进行处理,则字符之间的距离即为两个字符位序之间的差值;将得到的所有距离根据对应目标字符的出现顺序进行排列,则得到了目标字符的字符距离序列;按照上述方法获取每个字符的字符距离序列。
25.进一步的,获取到字符距离序列后,以任意相邻两个字符为例,获取两个字符的字符距离序列中元素数量,从两个字符距离序列的第一个位置的元素开始判断,若两个元素相等,则将两个序列各自第一个位置的距离相似度记为1,同时将两个位置作为匹配位置,继续向后判断;若两个序列中第二个位置的元素相等,则将两个序列各自第二个位置的距离相似度记为1并继续向后判断,两个位置同样为匹配位置;若两个序列中第一个位置两个元素不相等,将两个元素中最大值对应的元素记为该位置的标准元素,将两个元素中最小值对应的元素记为该位置的待匹配元素,将待匹配元素与所在序列中下一个位置的元素进行数值累加,若累加值小于标准元素,则继续向后累加,若累加值大于等于标准元素,则停止累加;其中累加值等于标准元素的情况下,则将待匹配元素的下一个位置与标准元素所在位置的距离相似度记为1,即这两个位置完成匹配,同时再向后判断的时候,从标准元素的下一个位置与待匹配元素向后停止累加的下一个位置开始判断;若累加值大于标准元
素,获取累加值与标准元素的差异,以及对下一个位置元素进行累加前的数值与标准元素的差异,此处即是待匹配元素与标准元素的差异,所述差异即为元素的数值之间的差值绝对值,将两个差异中最小的差异对应的位置与标准元素的位置完成匹配,同时距离相似度记为0,再向后判断的时候,分别从两个序列中匹配的两个位置各自的下一个位置进行判断;若累加值小于标准元素并向后继续累加,则按照上述方法,出现累加值大于等于标准元素的情况停止,等于的情况按照上述方法完成匹配,并对两个匹配位置的距离相似度设置为1;大于的情况则获取两个差异中最小的差异,即对停止累加的元素所在位置进行累加前后的两个值与标准元素的差异进行比较,并将两个差异中最小的差异对应的位置作为匹配位置,即若累加后的差异最小,则停止累加的元素所在位置为匹配位置,同时距离相似度记为0;若累加前的差异最小,则停止累加的元素所在位置的前一个位置为匹配位置,同时距离相似度记为0,若两个差异相等,则将停止累加的元素所在位置作为匹配位置;继续向后判断的过程中,是从两个序列中匹配的两个位置各自的下一个位置进行判断,而判断过程中,累加值则是从前一个距离相似度为1的两个匹配位置之后的元素进行判断,即两个序列中两个位置开始判断,若各自相邻的前一对匹配位置的距离相似度为1,则从两个位置的元素开始进行数值判断以及后续累加判断;若各自相邻的前一对匹配位置的距离相似度为0,则需要继续向前遍历,直到找到距离相似度为1的一对匹配位置,将开始判断的两个位置的元素与分别与遍历到的元素(不包括遍历到的距离相似度为1的匹配位置)进行累加,得到新的元素累加值,再对累加值按照上述方法进行数值大小比较以及向后累加判断,若向前遍历没有距离相似度为1的一对匹配位置,则从两个序列中第一个位置的元素累加到开始判断的两个位置得到新的元素累加值;按照上述方法对两个序列依次向后判断,得到若干匹配位置及距离相似度,直到其中一个序列的所有位置的元素都完成判断,则完成匹配位置及距离相似度的获取;而对于完成判断的最后一个元素,存在多种判断情况,该元素能够得到匹配位置且距离相似度为1的情况不再叙述;而若该元素为停止累加的元素,若该元素为匹配位置,则距离相似度为0,同样不再叙述;若该元素前一个位置为匹配位置,且该元素与另一个序列匹配位置的下一个位置的元素数值不相等,则再判断向前遍历累加下两个新的元素累加值是否相等,若相等则该元素可以作为匹配位置,且距离相似度为1;若不相等,则最后一个位置不是匹配位置;若该元素不是停止累加的元素,则将该元素对应位置与相应的标准元素所在位置记为匹配位置,距离相似度记为0;则完成了对于两个字符距离序列的匹配位置的获取,将所有匹配位置的距离相似度的均值,作为相邻两个字符的序列相似度;按照上述方法获取任意相邻两个字符的序列相似度。
26.例如字符a的字符距离序列为[2、4、2、1、3、3],字符b的字符距离序列为[2、2、2、4、5],则两个序列第一个位置为匹配位置,距离相似度为1;字符a的序列中第二个位置与字符b的序列中第三个位置为匹配位置,距离相似度为1;字符a的序列中第四个位置与字符b的序列中第四个位置为匹配位置,距离相似度为0,其中2+1=3,2+1+3=6,4-3=1《6-4=2;字符a的序列中第六个位置与字符b的序列中第五个位置为匹配位置,距离相似度为1,其中2+1+3+3=9,4+5=9。
[0027]
进一步的,设置预设融合阈值,本实施例预设融合阈值采用0.5进行叙述,对于序列相似度大于预设融合阈值的相邻两个字符,将两个字符作为一个融合字符串,序列相似
度小于等于预设融合阈值的相邻两个字符不进行融合;融合过程中首先两两字符融合,得到若干字符长度为2的融合字符串,并对得到的融合字符串继续根据预设融合阈值进行融合,得到字符长度更大的融合字符串,对得到的所有融合字符串都进行记录,例如连续五个字符abbed,其中序列相似度大于预设融合阈值的相邻两个字符为ab、be及ed,则首先获取ab、be及ed三个融合字符串,再对be与ed融合,得到融合字符串bed;获取每个融合字符串在用户数据中的出现频次,将出现频次与融合字符串的字符长度的乘积,作为每个融合字符串的优选程度;以任意一个字符长度为2的融合字符串为例,获取包含该融合字符串的所有融合字符串,即字符长度更大的包含该融合字符串的字符串,例如be与bed,保留其中优选程度最大的融合字符串,记为一个字符组合;按照上述方法对每个字符长度为2的融合字符串进行判断,得到若干字符组合。
[0028]
至此,通过获取字符距离序列,根据相邻字符的序列相似度,得到若干字符组合。
[0029]
步骤s003、根据字符组合在用户数据中的分布获取每个字符组合的聚集程度,根据聚集程度获取若干分布区间并计算交并比,对用户数据得到若干分段数据。
[0030]
需要说明的是,相同字符组合分布的越密集,则将这些字符组合划分到一段数据中,得到的压缩增益会越大,因此需要根据字符组合的聚集程度进行分段,而获取到聚集程度后,对其中聚集程度较大的字符组合获取分布区间,根据分布区间之间的交并比进行用户数据的分段,从而得到若干分段数据。
[0031]
具体的,以第个字符组合为例,获取用户数据中任意相邻两个第个字符组合之间的距离,距离通过后一个字符组合中第一个字符的位置减去前一个字符组合中最后一个字符的位置获取,则第个字符组合的聚集程度的计算方法为:其中,表示所有字符组合的出现频次总和,表示第个字符组合的出现频次,表示第个字符组合第次出现与第次出现之间的距离;字符组合的出现频次占比越大,其相邻字符组合之间的距离的均值越小,字符组合的聚集程度越大;按照上述方法获取每个字符组合的聚集程度,对所有聚集程度进行线性归一化,得到的结果记为每个字符组合的聚集率,设置预设聚集阈值,本实施例预设聚集阈值采用0.7进行叙述,对聚集率大于等于预设聚集阈值的字符组合获取对应的分布区间,聚集率小于等于预设聚集阈值的字符组合不获取分布区间;分布区间的获取方法为:将任意一个字符组合从第一次出现到最后一次出现,两次出现之间所有的字符作为该字符组合的分布区间,分布区间包括第一次出现和最后一次出现的该字符组合。
[0032]
进一步的,获取到若干分布区间后,对任意两个分布区间计算交并比,两个分布区间的并集即为按照用户数据中的顺序排列的两段数据,交集则为按照顺序排列过程中两段数据的重叠部分,交并比则为重叠部分数据量与两段数据总量的比值(重叠部分数据量计算一次,没有重叠部分则交并比为0);设置预设合并阈值,本实施例预设合并阈值采用0.35进行叙述,若交并比大于预设合并阈值,则对两个分布区间进行合并;交并比小于等于预设合并阈值则不进行合并;对所有分布区间进行合并判断,最终得到的若干区间的起点与终
点作为分段点,则得到了若干分段点,通过分段点将用户数据划分为若干分段数据。
[0033]
至此,获取到了每个字符组合的聚集程度,并基于聚集程度得到了若干分段数据。
[0034]
步骤s004、根据分段数据中字符分布构建每个分段数据的子段定位表,完成分段数据的压缩编码,对每类用户数据都进行压缩编码,完成用户数据的智能存储。
[0035]
需要说明的是,获取到分段数据后,则基于每个分段数据构建子段定位表,定位表基于分段数据中每个字符的出现频率进行构建,并基于连续出现的字符频率进行扩展,从而获取每个分段数据的子段定位表,进而可以根据定位表的定位信息对字符进行编码并压缩,大幅减少lzw压缩中字典索引对于压缩效率的影响,从而提高用户数据的压缩存储效率。
[0036]
具体的,以任意一个分段数据为例,对该分段数据中每个字符进行出现频次的统计,按照出现频次将字符降序排列在初始定位表的第一行中,例如分段数据为“to be or not to be or to be or not”,请参阅图2,其示出了对于该分段数据的初始定位表;再基于初始定位表对每个字符与相邻下一个字符组成字符串统计出现频次,将出现频次最大的排列在对应字符的下一行,需要说明的是,若多个字符或字符串的出现频次相同,则按照第一次出现的顺序排列,越早出现排列越靠前;继续对定位表进行扩展,直到定位表中包含任意相邻两个字符组成的字符串的定位信息,则完成了该分段数据的子段定位表的构建;请参阅图3,其示出了对于分段数据的编码过程示意图;按照上述方法获取每个分段数据的子段定位表。
[0037]
进一步的,在对分段数据进行存储时,则通过对字符替换为对应子段定位表的位置信息,如图3所示,例如读入的第一个字符为t,存储位置信息2、1,而下一个字符为o,则对于to的存储位置信息为2、2;则通过子段定位表各相邻字符的连续存储及重复利用,不再额外增加字典,最终完成位置信息的替换,并结合lzw算法完成对于每个分段数据的压缩,进而实现对用户数据的压缩编码;按照上述方法对每类用户数据进行压缩编码。
[0038]
进一步的,将压缩编码后的用户数据存储到版式轻阅读的缓存系统中,当用户下次需要进行阅读时,系统读取存储的用户习惯相应的信息,根据用户历史信息,版式轻阅读系统进行用户习惯设置的自适应调整,以便于用户拥有良好的阅读体验。
[0039]
至此,完成了每个分段数据的子段定位表的构建,基于子段定位表对用户数据进行压缩编码,完成了对于用户数据的智能存储。
[0040]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种用于版式轻阅读的用户数据智能存储方法,其特征在于,该方法包括以下步骤:采集用户在版式轻阅读过程产生的数据,通过字符类型分类得到若干类用户数据;根据任意相邻两个字符的字符距离序列,获取任意相邻两个字符的序列相似度;根据序列相似度获取若干字符组合;根据每个字符组合的聚集程度获取若干分布区间;根据分布区间对用户数据得到若干分段数据;根据分段数据中字符分布构建每个分段数据的子段定位表,完成分段数据的压缩编码,对每类用户数据进行压缩编码,完成用户数据的智能存储。2.根据权利要求1所述的一种用于版式轻阅读的用户数据智能存储方法,其特征在于,所述任意相邻两个字符的序列相似度,具体的获取方法为:根据每个字符在用户数据中的分布,获取每个字符的字符距离序列;对于任意相邻两个字符,获取两个字符的字符距离序列中元素数量,从两个字符距离序列的第一个位置的元素开始判断,若两个元素相等,则将两个序列各自第一个位置的距离相似度记为1,同时将两个位置作为匹配位置,继续向后判断;若两个序列中第二个位置的元素相等,则将两个序列各自第二个位置的距离相似度记为1并继续向后判断,两个位置同样为匹配位置;若两个序列中第一个位置两个元素不相等,将两个元素中最大值对应的元素记为该位置的标准元素,将两个元素中最小值对应的元素记为该位置的待匹配元素,将待匹配元素与所在序列中下一个位置的元素进行数值累加,若累加值小于标准元素,则继续向后累加,若累加值大于等于标准元素,则停止累加;其中累加值等于标准元素的情况下,将待匹配元素的下一个位置与标准元素所在位置的距离相似度记为1,并从标准元素的下一个位置与待匹配元素向后停止累加的下一个位置开始继续向后判断;若累加值大于标准元素,获取累加值与标准元素的差异,以及对下一个位置元素进行累加前的数值与标准元素的差异,将两个差异中最小的差异对应的位置与标准元素的位置完成匹配,距离相似度记为0,分别从两个序列中匹配的两个位置各自的下一个位置进行向后判断;若累加值小于标准元素并向后继续累加,出现累加值大于等于标准元素的情况停止,等于的情况完成匹配,并对两个匹配位置的距离相似度设置为1;大于的情况获取两个差异中最小的差异,将两个差异中最小的差异对应的位置作为匹配位置,距离相似度记为0;继续向后判断的过程中,是从两个序列中匹配的两个位置各自的下一个位置进行判断,判断过程中累加值从两个序列中两个位置开始判断,若各自相邻的前一对匹配位置的距离相似度为1,从两个位置的元素开始进行数值判断以及后续累加判断;若各自相邻的前一对匹配位置的距离相似度为0,继续向前遍历,直到找到距离相似度为1的一对匹配位置,将开始判断的两个位置的元素与分别与遍历到的元素进行累加,得到新的元素累加值,再对累加值进行数值大小比较以及向后累加判断;对两个序列依次向后判断,得到若干匹配位置及距离相似度,直到其中一个序列的所有位置的元素都完成判断,则完成匹配位置及距离相似度的获取;将所有匹配位置的距离相似度的均值,作为相邻两个字符的序列相似度;获取任意相邻两个字符的序列相似度。3.根据权利要求2所述的一种用于版式轻阅读的用户数据智能存储方法,其特征在于,
所述获取每个字符的字符距离序列,包括的具体方法为:对用户数据中每个字符进行出现频次的统计,将出现频次最大的字符作为目标字符,根据目标字符在用户数据中的分布,得到任意相邻两个目标字符之间的距离;将得到的所有距离根据对应目标字符的出现顺序进行排列,得到目标字符的字符距离序列;获取每个字符的字符距离序列。4.根据权利要求1所述的一种用于版式轻阅读的用户数据智能存储方法,其特征在于,所述根据序列相似度获取若干字符组合,包括的具体方法为:对序列相似度大于预设融合阈值的相邻两个字符,将两个字符作为一个融合字符串,序列相似度小于等于预设融合阈值的相邻两个字符不进行融合;融合过程中首先两两字符融合,得到若干字符长度为2的融合字符串,并对得到的融合字符串继续根据预设融合阈值进行融合,得到字符长度更大的融合字符串,对得到的所有融合字符串都进行记录;获取每个融合字符串在用户数据中的出现频次,将出现频次与融合字符串的字符长度的乘积,作为每个融合字符串的优选程度;对于任意一个字符长度为2的融合字符串,获取包含该融合字符串的所有融合字符串,保留其中优选程度最大的融合字符串,记为一个字符组合;对每个字符长度为2的融合字符串进行判断,得到若干字符组合。5.根据权利要求1所述的一种用于版式轻阅读的用户数据智能存储方法,其特征在于,所述根据每个字符组合的聚集程度获取若干分布区间,包括的具体方法为:根据字符组合在用户数据中的分布,获取每个字符组合的聚集程度,将所有字符组合的聚集程度进行归一化,得到的结果记为每个字符组合的聚集率;对聚集率大于等于预设聚集阈值的字符组合获取对应的分布区间,聚集率小于等于预设聚集阈值的字符组合不获取分布区间;所述分布区间的获取方法为:将任意一个字符组合从第一次出现到最后一次出现,两次出现之间所有的字符作为该字符组合的分布区间。6.根据权利要求5所述的一种用于版式轻阅读的用户数据智能存储方法,其特征在于,所述每个字符组合的聚集程度,具体的获取方法为:获取用户数据中任意相邻两个第个字符组合之间的距离,所述距离通过后一个字符组合中第一个字符的位置减去前一个字符组合中最后一个字符的位置获取,第个字符组合的聚集程度的计算方法为:其中,表示所有字符组合的出现频次总和,表示第个字符组合的出现频次,表示第个字符组合第次出现与第次出现之间的距离。7.根据权利要求1所述的一种用于版式轻阅读的用户数据智能存储方法,其特征在于,所述根据分布区间对用户数据得到若干分段数据,包括的具体方法为:对任意两个分布区间计算交并比,若交并比大于预设合并阈值,则对两个分布区间进
行合并;对所有分布区间进行合并判断,最终得到的若干区间的起点与终点作为分段点,得到若干分段点,通过分段点将用户数据划分为若干分段数据;所述交并比的计算方法为:两个分布区间的并集为按照用户数据中的顺序排列的两段数据,交集为按照顺序排列过程中两段数据的重叠部分,交并比为重叠部分数据量与两段数据总量的比值。8.根据权利要求1所述的一种用于版式轻阅读的用户数据智能存储方法,其特征在于,所述根据分段数据中字符分布构建每个分段数据的子段定位表,包括的具体方法为:以任意一个分段数据为目标分段数据,对目标分段数据中每个字符进行出现频次的统计,按照出现频次将字符降序排列在初始定位表的第一行中;再基于初始定位表对每个字符与相邻下一个字符组成字符串统计出现频次,将出现频次最大的排列在对应字符的下一行,继续对定位表进行扩展,直到定位表中包含任意相邻两个字符组成的字符串的定位信息,完成目标分段数据的子段定位表的构建;获取每个分段数据的子段定位表。9.根据权利要求1所述的一种用于版式轻阅读的用户数据智能存储方法,其特征在于,所述完成分段数据的压缩编码,包括的具体方法为:在对分段数据进行存储时,通过对字符替换为对应子段定位表的位置信息,完成位置信息的替换,结合lzw算法完成对于每个分段数据的压缩。10.根据权利要求1所述的一种用于版式轻阅读的用户数据智能存储方法,其特征在于,所述对每类用户数据进行压缩编码,表示对通过字符类型得到的每类用户数据进行压缩编码。
技术总结
本发明涉及数据压缩存储技术领域,提出了一种用于版式轻阅读的用户数据智能存储方法,包括:采集用户在版式轻阅读过程产生的数据,并根据字符类型分类得到若干类用户数据;根据用户数据中字符的分布获取每个字符的字符距离序列,获取任意相邻两个字符的序列相似度,根据序列相似度获取若干字符组合;根据字符组合在用户数据中的分布获取每个字符组合的聚集程度,得到若干分布区间并计算交并比,对用户数据得到若干分段数据;根据分段数据中字符分布构建每个分段数据的子段定位表,完成分段数据的压缩编码,对每类用户数据都进行压缩编码,完成用户数据的智能存储。本发明旨在解决用户数据量较大需要压缩同时无法保证准确性和高效性的问题。和高效性的问题。和高效性的问题。
技术研发人员:张伟 赵云 朱静宇 庄玉龙
受保护的技术使用者:北京点聚信息技术有限公司
技术研发日:2023.08.08
技术公布日:2023/9/9
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/