基于区块链的用工平台数据快速传输方法与流程
未命名
08-27
阅读:142
评论:0
1.本发明涉及数据压缩传输技术领域,具体涉及基于区块链的用工平台数据快速传输方法。
背景技术:
2.为上游企业客户有用工需求,同时为下游自由职业者和个人提供大量的就业机会,可采用区块链的方式实现企业、自由职业者的互联互通,为企业和自由职业者提供更加透明、可信的用工平台。
3.用工平台数据如自由职业者的应聘信息、企业的招聘信息等,需要传输至区块链。由于用工平台数据的数据量大,为了确保快速传输,需要对用工平台数据进行压缩传输。现有的压缩算法lz编码为边构建压缩字典边压缩的方式,通过将字符串编码成一个码字来实现压缩。但lz编码仅能够对序列中首次出现的最短字符串进行编码,压缩效率有限。
技术实现要素:
4.本发明提供基于区块链的用工平台数据快速传输方法,以解决现有的问题。
5.本发明的基于区块链的用工平台数据快速传输方法采用如下技术方案:本发明一个实施例提供了基于区块链的用工平台数据快速传输方法,该方法包括以下步骤:采集用工平台数据,将用工平台数据转换为字符序列;获取每种字符的码字;构建一个空的压缩字典;根据压缩字典对字符序列进行压缩,包括:根据压缩字典以字符序列第一个字符为开始对字符序列进行最长匹配,得到第一字符串;当第一字符串为空时,将字符序列中第一个字符作为待压缩字符串;当第一字符串不为空时,获取第一候选压缩串以及第二字符串;当第二字符串为空时,将第一候选压缩串作为待压缩字符串;当第二压缩字符串不为空时,获取第二候选压缩串;获取第二候选压缩串相对于第一候选压缩串的压缩优势,根据压缩优势获取待压缩字符串;根据待压缩字符串对压缩字典以及字符序列进行更新;重复对新的字符序列进行压缩,直到字符序列为空时停止迭代,根据最终得到的压缩字典获取压缩数据;将压缩数据传输至区块链,对压缩数据进行解压,得到用工平台数据。
6.优选的,所述获取每种字符的码字,包括的具体步骤如下:统计字符序列中字符的种类数,用n表示,获取所有长度为的二进制数,将每种字符随机用长度为的一种二进制数来表示,且每种字符对应的二进制数都不相同,将每种字符对应的二进制数作为每种字符的码字,其中为向上取整符号。
7.优选的,所述获取第一候选压缩串以及第二字符串,包括的具体步骤如下:
将字符序列中第一字符串的下一个字符作为起始字符,将第一字符串与起始字符构成新的字符串,作为第一候选压缩串;根据压缩字典以字符序列的起始字符为开始进行最长匹配,获取位于压缩字典中,以字符序列的起始字符为开始的字符序列的最长子串,作为第二字符串。
8.优选的,所述获取第二候选压缩串,包括的具体步骤如下:将字符序列中第二字符串的下一个字符作为结束字符,将第一字符串、第二字符串以及结束字符按照顺序拼接在一起,作为第二候选压缩串。
9.优选的,所述获取第二候选压缩串相对于第一候选压缩串的压缩优势,包括的具体步骤如下:其中,为第二候选压缩串相对于第一候选压缩串的压缩优势;为第二候选压缩串的长度;为第一候选压缩串的长度;为第二候选压缩串在字符序列中出现的次数;为第一候选压缩串在字符序列中出现的次数;为双曲正切函数。
10.优选的,所述根据压缩优势获取待压缩字符串,包括的具体步骤如下:当第二候选压缩串相对于第一候选压缩串的压缩优势大于或等于预设的压缩阈值时,将第二候选压缩串作为待压缩字符串,当第二候选压缩串相对于第一候选压缩串的压缩优势小于预设的压缩阈值时,将第一候选压缩串作为待压缩字符串。
11.优选的,所述根据待压缩字符串对压缩字典以及字符序列进行更新,包括的具体步骤如下:当待压缩字符串为单个字符时,将0与待压缩字符的码字构成待压缩字符串的编码对;当待压缩字符串为第一候选压缩串时,将待压缩字符串中第一字符串在压缩字典中的索引与起始字符的码字构成待压缩字符的编码对;当待压缩字符串为第二候选压缩串时,获取待压缩字符串第二字符串在压缩字典中的索引与第一字符串在压缩字典中的索引的差异,当差异为正数时,利用压缩字典中最后一个非空行的索引与差异相加,将结果作为待压缩字符串的前向编码;当差异为负数时,利用压缩字典中最后一个非空行的索引乘以2之后与差异的绝对值相加,将结果作为待压缩字符串的前向编码;将前向编码、待压缩字符串中第一字符串在压缩字典中的索引与结束字符的码字构成待压缩字符的编码对;将待压缩字符串以及待压缩字符串的编码对添加到压缩字典中;将待压缩字符串从字符序列中删除,得到新的字符序列。
12.优选的,所述根据最终得到的压缩字典获取压缩数据,包括的具体步骤如下:获取压缩字典中所有编码对中包含的十进制数字的最大值,记为;将作为编码长度,将压缩字典中所有编码对中的十进制数字转换为长度为的二进制数,将转换之后编码对中所有二进制数按照顺序拼接在一起作为对应的待压缩字符串的编码
结果,其中为向上取整符号;将压缩字典中所有待压缩字符串的编码结果按照顺序拼接在一起,作为压缩数据。
13.本发明的技术方案的有益效果是:本发明采集用工平台数据,获取字符序列,对字符序列进行压缩的过程中,对字符序列进行最长匹配,根据匹配结果获取第一候选压缩串,再次对字符序列进行最长匹配,根据匹配结果获取第二候选压缩串,第二候选压缩串为基于压缩字典中多个编码对象对字符序列进行匹配的结果,本发明获取第二候选压缩串相对于第一候选压缩串的压缩优势,根据压缩优势选择最优的候选压缩串作为待压缩字符串进行压缩,确保压缩效率能够达到最高。第二候选压缩串对应压缩字典中两个编码对象,本发明利用当前压缩字典中不存在的索引来表示两个编码对象的索引差异,对索引差异与压缩字典中其他编码对象的索引加以区分,确保可顺利解码。lz编码仅能够对字符序列中首次出现的最短字符串进行编码,本发明对于首次出现的长字符串也能够进行编码,本发明相较于lz编码压缩效率更高,确保了用工平台数据的快速传输。
附图说明
14.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
15.图1为本发明的基于区块链的用工平台数据快速传输方法的步骤流程图;图2为本发明实施例中的压缩字典;图3为lz编码的压缩字典。
具体实施方式
16.为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的基于区块链的用工平台数据快速传输方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
17.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
18.下面结合附图具体的说明本发明所提供的基于区块链的用工平台数据快速传输方法的具体方案。
19.请参阅图1,其示出了本发明一个实施例提供的基于区块链的用工平台数据快速传输方法的步骤流程图,该方法包括以下步骤:s001.采集用工平台数据,获取字符序列。
20.采集用工平台数据,如工人信息、岗位信息等。
21.需要说明的是,为了便于自由职业者与企业之间的互联互通,自由职业者可通过用工平台将个人数据传输至区块链,企业可通过用工平台将岗位信息传输至区块链。由于自由职业者的个数数据、企业的岗位信息等数据量大,为了实现快速传输,需要对自由职业
者的个数数据、企业的岗位信息等数据进行压缩。
22.在本发明实施例中,采集用工平台数据,如自由职业者的个数数据、企业的岗位信息等数据。
23.需要说明的是,用工平台数据包含了多种数据类型,为了便于压缩传输,需要将用工平台数据编码成统一的数据格式。
24.在本发明实施例中,利用gb2312编码将用工平台数据编码成二进制形式,利用base64编码将得到的二进制数据编码成字符,得到字符序列。需要说明的是,在其他实施例中,实施人员可根据实际实施情况选择编码方法。
25.至此,采集了用工平台数据,获取了字符序列。
26.s002.获取字符序列中每种字符的码字。
27.在本发明实施例中,统计字符序列中字符的种类数,用n表示,获取长度为的二进制数,将每种字符随机用长度为的一种二进制数来表示,且每种字符对应的二进制数需不相同,则每种字符对应的二进制数记为每种字符的码字,其中为向上取整符号。将每种字符的码字的长度记为第一长度。
28.至此,获取了每种字符的码字。
29.s003.对字符序列进行压缩。
30.需要说明的是,lz编码是一种边构建字典边压缩的方法,在压缩过程中根据字符串在压缩字典中对应的子串的索引以及字符串的最后一个字符的码字对字符串进行编码,lz编码仅能够对字符序列中首次出现的最短字符串进行编码,压缩效率有限。因此本发明实施例根据压缩字典中不同的字符串对字符序列中的数据进行匹配,对于首次出现的长字符串也能够进行编码,从而提高lz编码的压缩效率。
31.在本发明实施例中,构建一个空的压缩字典,压缩字典包含索引列、编码对象列以及编码列,索引列用来表示压缩字典的行号,在本发明实施例中,索引从1开始。编码对象列用来存放被压缩的字符或字符串,编码列存放被压缩的字符或字符串对应的编码对。
32.根据压缩字典对字符序列进行压缩,具体为:根据压缩字典以字符序列第一个字符为开始,对字符序列进行最长匹配,获取位于压缩字典中,以字符序列第一个字符为开始的字符序列的最长子串,作为第一字符串,需要说明的是,子串是字符序列中的由连续字符组成的一个序列。
33.当第一字符串为空时,即第一字符串不存在时,字符序列中第一个字符在压缩字典中不存在,此时将字符序列中第一个字符作为待压缩字符串。
34.当第一字符串不为空时,将字符序列中第一字符串的下一个字符作为起始字符。将第一字符串与起始字符构成新的字符串,作为第一候选压缩串。根据压缩字典以字符序列的起始字符为开始进行最长匹配,获取位于压缩字典中,以字符序列的起始字符为开始的字符序列的最长子串,作为第二字符串。
35.当第二字符串为空时,将第一候选压缩串作为待压缩字符;当第二字符串不为空时,将字符序列中第二字符串的下一个字符作为结束字符,将第一字符串、第二字符串、结束字符按照顺序拼接在一起,作为第二候选压缩串。
36.需要说明的是,第二候选压缩串在压缩字典中对应两个编码对象,当第二候选压缩串相对于第一候选压缩串较长时,采用第二候选压缩串进行压缩可以提高压缩效率,但若第二候选压缩串相对于第一候选压缩串较短时,采用第一候选压缩串的效率更高。同时,当字符序列中第二候选压缩串出现次数较多时,若当前的第二候选压缩串被加入压缩字典,后续第二候选压缩串再次出现时,依据字典中的第二候选压缩串进行压缩的效率更高,反之,当字符序列中第二候选压缩串出现次数较少,第一后厨压缩串出现次数较多时,当前的第二候选压缩串加入压缩字典的意义不大,此时将第一候选压缩串加入压缩字典的效率更高。因此可根据第一候选压缩串以及第二候选压缩串的长度以及出现的次数获取第二候选压缩串相对于第一候选压缩串的压缩优势,从而选择最优的候选压缩串进行压缩,确保压缩效率达到最高。
37.在本发明实施例中,分别获取第一候选压缩串和第二候选压缩串在字符序列中出现的次数,需要说明的是,本发明实施例获取第一候选压缩串和第二候选压缩串在字符序列中出现的次数时,采用的是无放回计数的方式,即当字符序列中一个子串与第一候选压缩串相同时,将该子串作为一个第一候选压缩串,同时该子串中的所有字符不能作为其他第一候选压缩串的一部分。同理,当字符序列中一个子串与第二候选压缩串相同时,将该子串作为一个第二候选压缩串,同时该子串中的所有字符不能作为其他第二候选压缩串的一部分。
38.根据第一候选压缩串和第二候选压缩串在字符序列中出现的次数获取第二候选压缩串相对于第一候选压缩串的压缩优势:其中,为第二候选压缩串相对于第一候选压缩串的压缩优势;为第二候选压缩串的长度;为第一候选压缩串的长度;为第二候选压缩串在字符序列中出现的次数;为第一候选压缩串在字符序列中出现的次数;为双曲正切函数;当第二候选压缩串的长度相较于第一候选压缩串的长度越大时,对第二候选压缩串进行压缩相较于对第一后续压缩串进行压缩的局部压缩效率更高;由于第一候选压缩串为第二候选压缩串的一个子串,因此第二候选压缩串在字符序列中出现的次数一定小于或等于第一后续压缩串出现的次数,若将第二候选压缩串添加到压缩字典中,当次数比越大时,字符序列中后续出现的包含第一候选压缩串的字符串大部分可以用压缩字典中的第二候选压缩串进行压缩,使得字符序列的整体压缩效率更高,此时第二候选压缩串相对于第一候选压缩串的压缩优势越大。当次数比越小时,字符序列中后续出现的包含第一候选压缩串的字符串大部分都不可以用压缩字典中的第二候选压缩串进行压缩,而需要根据第一候选压缩串进行压缩,将第一候选压缩串添加到压缩字典中压缩效率更高,此时第二候选压缩串相对于第一候选压缩串的压缩优势越小。
39.预设一个压缩阈值t,其中本实施例以t=0.5为例进行叙述,本实施例不进行具体限定,其中t可根据具体实施情况而定。当第二候选压缩串相对于第一候选压缩串的压缩优
势大于或等于压缩阈值时,将第二候选压缩串作为待压缩字符串,当第二候选压缩串相对于第一候选压缩串的压缩优势小于压缩阈值时,将第一候选压缩串作为待压缩字符串。
40.至此,获取了待压缩字符串。
41.当待压缩字符串为单个字符时,将0与待压缩字符的码字构成待压缩字符串的编码对。例如待压缩字符串为a,a的码字为00时,编码对为(0,00)。
42.当待压缩字符串为第一候选压缩串时,将待压缩字符串中第一字符串在压缩字典中的索引与起始字符的码字构成待压缩字符的编码对。例如待压缩字符串为abc,ab为第一字符串,在压缩字典中的索引为2时,c为起始字符,c的码字为10时,编码对为(2,10)。
43.需要说明的是,当待压缩字符串为第二候选压缩串时,第二候选压缩串对应压缩字典中两个编码对象,为了确保后续可顺利解码,可利用此两个编码对象的索引的差异来进行编码,为了将此两个编码对象的索引的差异与压缩字典中其他索引进行区分,可结合当前压缩字典中不存在的索引来表示此两个编码对象的索引的差异。
44.在本发明实施例中,当待压缩字符串为第二候选压缩串时,获取待压缩字符串第二字符串在压缩字典中的索引与第一字符串在压缩字典中的索引的差异,当差异为正数时,利用压缩字典中最后一个非空行的索引与差异相加,将结果作为待压缩字符串的前向编码;当差异为负数时,利用压缩字典中最后一个非空行的索引乘以2之后与差异的绝对值相加,将结果作为待压缩字符串的前向编码。将前向编码、待压缩字符串中第一字符串在压缩字典中的索引与结束字符的码字构成待压缩字符的编码对。例如待压缩字符串为aaba,a为第一字符串,在压缩字典中的索引为1,ab为第二字符串,在压缩字典中的索引为2,当前压缩字典最后一个非空行的索引为4,最后一个a为结束字符,a的码字为00时,编码对为(5,1,00)。
45.将待压缩字符串以及待压缩字符串的编码对分别添加到压缩字典的编码对象列以及编码列。将待压缩字符串从字符序列中删除,得到新的字符序列。
46.重复对新的字符序列进行压缩,直到字符序列为空时停止迭代。
47.需要说明的是,编码对中的0、前向编码、待压缩字符串中第一字符串在压缩字典中的索引都为十进制数,起始字符与结束字符的码字都为二进制数。在计算机内部,一切数据的存储或传输均以二进制形式进行的,因此需要将编码对中的前向编码以及待压缩字符串中第一字符串在压缩字典中的索引转换为二进制形式。
48.在本发明实施例中,获取压缩字典中所有编码对中包含的十进制数字的最大值,记为。将作为编码长度,其中为向上取整符号,将压缩字典中所有编码对中的十进制数字转换为长度为的二进制数,将转换之后编码对中所有二进制数按照顺序拼接在一起作为对应的待压缩字符串的编码结果。将压缩字典中所有待压缩字符串的编码结果按照顺序拼接在一起,作为字符序列的压缩数据。将记为第二长度。
49.至此,获取了压缩数据。
50.例如,当字符序列为aabdcaabaabccabcaaabacabcabca,其中 a、b、c、d的码字分别为00、01、10、11时,利用本发明实施例中的方法进行压缩,最终得到的压缩字典参见图2,对应的压缩数据为000000000101000011000010010100010000101010000100001001010101010000,长度为66。利用现有的lz编码对该字符序列进行压缩得到的压缩字典参见图3,对应
的压缩数据为000000000101000011000010000100000001010101010010001010010100011000010000011010100100,长度为84。本发明实施例中的压缩方法相对于lz编码压缩效率更高。
51.s004.对压缩数据进行传输解压。
52.将压缩数据传输至区块链。将第一长度、第二长度以及每种字符对应的码字随压缩数据一同传输。
53.当需要查看区块链中的用工平台数据时,对压缩数据进行解压,具体为:构建一个空的压缩字典,压缩字典包含索引列、编码对象列以及编码列,索引列用来表示压缩字典的行号,索引从1开始。将第一长度用r表示,第二长度用s表示。
54.获取压缩数据前s个比特位,将其转换为十进制数,记作前缀。
55.对前缀进行判断,实现压缩字典的更新,包括:当前缀为0时,在压缩数据中继续向后读取r个比特位,作为后缀,获取码字与后缀相同的字符作为解压结果,将解压结果填入到压缩字典的编码对象列,将前缀与后缀构成编码对,填入到压缩字典的编码列。
56.当前缀不为0时,且当前压缩字典存在与前缀相同的索引时,将该索引对应的编码对象作为第一字符串,在压缩数据中继续向后读取r个比特位,作为后缀,获取码字与后缀相同的字符作为目标字符,目标字符拼接在第一字符串之后,得到解压结果,将解压结果填入到压缩字典的编码对象列,将前缀与后缀构成编码对,填入到压缩字典的编码列。
57.当前缀不为0时,且当前压缩字典中不存在与前缀相同的索引时,在压缩数据中继续向后读取s个比特位,将其转换为十进制数,记作中间编码。获取压缩字典中与中间编码相同的索引对应的编码对象作为第一字符串。获取当前压缩字典中最大的索引,获取前缀除以当前压缩字典中最大的索引的商和余数,当商为1时,将中间编码加上余数作为第一编码,当商为2时,将中间编码减去余数作为第一编码,获取压缩字典中与第一编码相同的索引对应的编码对象作为第二字符串。在压缩数据中继续向后读取r个比特位,作为后缀,获取码字与后缀相同的字符作为目标字符。将第一字符串、第二字符串以及目标字符按照顺序拼接在一起,得到解压结果。将解压结果填入到压缩字典的编码对象列,将前缀、中间编码与后缀构成编码对,填入到压缩字典的编码列。
58.在压缩数据中继续向后读取s个比特位,作为新的前缀,对新的前缀进行判断,实现压缩字符的再次更新,重复该过程,直到压缩数据中所有比特位都已读取后停止迭代。
59.将最终的压缩字典中编码对象列的所有字符或字符串按照顺序拼接在一起,得到字符序列。
60.对字符序列利用步骤s001中的编码方法进行解码,得到用工平台数据。
61.通过以上步骤,完成了用工平台数据的快速传输。
62.本发明实施例通过采集用工平台数据,获取字符序列,对字符序列进行压缩的过程中,对字符序列进行最长匹配,根据匹配结果获取第一候选压缩串,再次对字符序列进行最长匹配,根据匹配结果获取第二候选压缩串,第二候选压缩串为基于压缩字典中多个编码对象对字符序列进行匹配的结果,本发明获取第二候选压缩串相对于第一候选压缩串的压缩优势,根据压缩优势选择最优的候选压缩串作为待压缩字符串进行压缩,确保压缩效率能够达到最高。第二候选压缩串对应压缩字典中两个编码对象,本发明利用当前压缩字
典中不存在的索引来表示两个编码对象的索引差异,对索引差异与压缩字典中其他编码对象的索引加以区分,确保可顺利解码。lz编码仅能够对字符序列中首次出现的最短字符串进行编码,本发明对于首次出现的长字符串也能够进行编码,本发明相较于lz编码压缩效率更高,确保了用工平台数据的快速传输。
63.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.基于区块链的用工平台数据快速传输方法,其特征在于,该方法包括以下步骤:采集用工平台数据,将用工平台数据转换为字符序列;获取每种字符的码字;构建一个空的压缩字典;根据压缩字典对字符序列进行压缩,包括:根据压缩字典以字符序列第一个字符为开始对字符序列进行最长匹配,得到第一字符串;当第一字符串为空时,将字符序列中第一个字符作为待压缩字符串;当第一字符串不为空时,获取第一候选压缩串以及第二字符串;当第二字符串为空时,将第一候选压缩串作为待压缩字符串;当第二压缩字符串不为空时,获取第二候选压缩串;获取第二候选压缩串相对于第一候选压缩串的压缩优势,根据压缩优势获取待压缩字符串;根据待压缩字符串对压缩字典以及字符序列进行更新;重复对新的字符序列进行压缩,直到字符序列为空时停止迭代,根据最终得到的压缩字典获取压缩数据;将压缩数据传输至区块链,对压缩数据进行解压,得到用工平台数据。2.根据权利要求1所述的基于区块链的用工平台数据快速传输方法,其特征在于,所述获取每种字符的码字,包括的具体步骤如下:统计字符序列中字符的种类数,用n表示,获取所有长度为的二进制数,将每种字符随机用长度为的一种二进制数来表示,且每种字符对应的二进制数都不相同,将每种字符对应的二进制数作为每种字符的码字,其中为向上取整符号。3.根据权利要求1所述的基于区块链的用工平台数据快速传输方法,其特征在于,所述获取第一候选压缩串以及第二字符串,包括的具体步骤如下:将字符序列中第一字符串的下一个字符作为起始字符,将第一字符串与起始字符构成新的字符串,作为第一候选压缩串;根据压缩字典以字符序列的起始字符为开始进行最长匹配,获取位于压缩字典中,以字符序列的起始字符为开始的字符序列的最长子串,作为第二字符串。4.根据权利要求1所述的基于区块链的用工平台数据快速传输方法,其特征在于,所述获取第二候选压缩串,包括的具体步骤如下:将字符序列中第二字符串的下一个字符作为结束字符,将第一字符串、第二字符串以及结束字符按照顺序拼接在一起,作为第二候选压缩串。5.根据权利要求1所述的基于区块链的用工平台数据快速传输方法,其特征在于,所述获取第二候选压缩串相对于第一候选压缩串的压缩优势,包括的具体步骤如下:其中,为第二候选压缩串相对于第一候选压缩串的压缩优势;为第二候选压缩串的长度;为第一候选压缩串的长度;为第二候选压缩串在字符序列中出现的次数;为第一候选压缩串在字符序列中出现的次数;为双曲正切函数。6.根据权利要求1所述的基于区块链的用工平台数据快速传输方法,其特征在于,所述
根据压缩优势获取待压缩字符串,包括的具体步骤如下:当第二候选压缩串相对于第一候选压缩串的压缩优势大于或等于预设的压缩阈值时,将第二候选压缩串作为待压缩字符串,当第二候选压缩串相对于第一候选压缩串的压缩优势小于预设的压缩阈值时,将第一候选压缩串作为待压缩字符串。7.根据权利要求3所述的基于区块链的用工平台数据快速传输方法,其特征在于,所述根据待压缩字符串对压缩字典以及字符序列进行更新,包括的具体步骤如下:当待压缩字符串为单个字符时,将0与待压缩字符的码字构成待压缩字符串的编码对;当待压缩字符串为第一候选压缩串时,将待压缩字符串中第一字符串在压缩字典中的索引与起始字符的码字构成待压缩字符的编码对;当待压缩字符串为第二候选压缩串时,获取待压缩字符串第二字符串在压缩字典中的索引与第一字符串在压缩字典中的索引的差异,当差异为正数时,利用压缩字典中最后一个非空行的索引与差异相加,将结果作为待压缩字符串的前向编码;当差异为负数时,利用压缩字典中最后一个非空行的索引乘以2之后与差异的绝对值相加,将结果作为待压缩字符串的前向编码;将前向编码、待压缩字符串中第一字符串在压缩字典中的索引与结束字符的码字构成待压缩字符的编码对;将待压缩字符串以及待压缩字符串的编码对添加到压缩字典中;将待压缩字符串从字符序列中删除,得到新的字符序列。8.根据权利要求7所述的基于区块链的用工平台数据快速传输方法,其特征在于,所述根据最终得到的压缩字典获取压缩数据,包括的具体步骤如下:获取压缩字典中所有编码对中包含的十进制数字的最大值,记为;将作为编码长度,将压缩字典中所有编码对中的十进制数字转换为长度为的二进制数,将转换之后编码对中所有二进制数按照顺序拼接在一起作为对应的待压缩字符串的编码结果,其中为向上取整符号;将压缩字典中所有待压缩字符串的编码结果按照顺序拼接在一起,作为压缩数据。
技术总结
本发明涉及数据压缩传输技术领域,具体涉及基于区块链的用工平台数据快速传输方法,包括:采集用工平台数据,获取字符序列,对字符序列进行压缩的过程中,对字符序列进行最长匹配,根据匹配结果获取第一候选压缩串,再次对字符序列进行最长匹配,根据匹配结果获取第二候选压缩串,获取第二候选压缩串相对于第一候选压缩串的压缩优势,根据压缩优势选择待压缩字符串,根据待压缩字符串的不同采用不同的编码方式对待压缩字符串进行压缩。将压缩数据传输至区块链。本发明相较于LZ编码压缩效率更高,确保了用工平台数据的快速传输。确保了用工平台数据的快速传输。确保了用工平台数据的快速传输。
技术研发人员:刘晶晶
受保护的技术使用者:众科云(北京)科技有限公司
技术研发日:2023.07.21
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
