CN114064308B - 基于列式数据扫描的多数据发送和接收方法、装置和设备 - Google Patents
基于列式数据扫描的多数据发送和接收方法、装置和设备 Download PDFInfo
- Publication number
- CN114064308B CN114064308B CN202111190341.6A CN202111190341A CN114064308B CN 114064308 B CN114064308 B CN 114064308B CN 202111190341 A CN202111190341 A CN 202111190341A CN 114064308 B CN114064308 B CN 114064308B
- Authority
- CN
- China
- Prior art keywords
- data
- character
- binary data
- binary
- strings
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 141
- 238000006243 chemical reaction Methods 0.000 claims abstract description 44
- 239000011159 matrix material Substances 0.000 claims abstract description 38
- 230000008569 process Effects 0.000 claims description 83
- 230000005540 biological transmission Effects 0.000 claims description 72
- 239000012634 fragment Substances 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000012163 sequencing technique Methods 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- YLYPIBBGWLKELC-RMKNXTFCSA-N 2-[2-[(e)-2-[4-(dimethylamino)phenyl]ethenyl]-6-methylpyran-4-ylidene]propanedinitrile Chemical compound C1=CC(N(C)C)=CC=C1\C=C\C1=CC(=C(C#N)C#N)C=C(C)O1 YLYPIBBGWLKELC-RMKNXTFCSA-N 0.000 description 2
- ZNJRONVKWRHYBF-VOTSOKGWSA-N 4-(dicyanomethylene)-2-methyl-6-julolidyl-9-enyl-4h-pyran Chemical compound O1C(C)=CC(=C(C#N)C#N)C=C1\C=C\C1=CC(CCCN2CCC3)=C2C3=C1 ZNJRONVKWRHYBF-VOTSOKGWSA-N 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
- H04L1/0016—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy involving special memory structures, e.g. look-up tables
-
- 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/3068—Precoding preceding compression, e.g. Burrows-Wheeler transformation
- H03M7/3077—Sorting
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Communication Control (AREA)
Abstract
本申请公开了一种基于列式数据扫描的多数据发送和接收方法、装置和设备,其中,数据发送方法包括:获取n个待发送数据,其中,n个待发送数据为数据格式相同的n个数据,且n个待发送数据中的任意两个待发送数据的数据大小的差的绝对值小于第一阈值,n为大于0的正整数;对n个待发送数据中的每个待发送数据进行二进制转化,得到n个第一二进制数据串,其中,n个第一二进制数据串与n个待发送数据一一对应;将n个第一二进制数据串竖向堆叠,得到第一矩阵;将第一矩阵按列拆分,以得到m个第二二进制数据串,其中,m为n个二进制数据中位数最大的二进制数据的位数,且m为大于0的正整数;将m个第二二进制数据串发送至数据接收端。
Description
技术领域
本发明涉及数据传输技术领域,具体涉及一种基于列式数据扫描的多数据发送和接收方法、装置和设备。
背景技术
目前,在传输数据时,为了获取更高的传输效率,通常会将数据进行压缩或拆分为多个大小相同的子数据进行传输。但是,压缩技术通过会消耗大量的计算机资源进行大量计算来压缩数据,同时,由于现代路由器的带宽增加,在不压缩的情况下直接进行数据发送通常比将数据进行压缩后再发送花费的时间更少。而现有的数据拆分方式通常是根据传输的特定需求将数据拆分为等大小的若干个子数据分别发送,再在接收端进行组合。但是,实际上由于拆分后的子数据在磁盘集群中的磁盘写入、索引等问题,不仅对网络上的数据传输没有任何帮助,反而降低了网络上的数据传输速度。因此,当前基于压缩和拆分的数据发送方法通常无法提高网络上的数据传输速度,反而会导致数据传输速度变慢。
发明内容
为了解决现有技术中存在的上述问题,本申请实施方式提供了一种基于列式数据扫描的多数据发送和接收方法、装置和设备,可以提高网络上的数据传输速度。
第一方面,本申请的实施方式提供了一种基于列式数据扫描的多数据发送方法,包括:
获取n个待发送数据,其中,n个待发送数据为数据格式相同的n个数据,且n个待发送数据中的任意两个待发送数据的数据大小的差的绝对值小于第一阈值,n为大于0的正整数;
对n个待发送数据中的每个待发送数据进行二进制转化,得到n个第一二进制数据串,其中,n个第一二进制数据串与n个待发送数据一一对应;
将n个第一二进制数据串竖向堆叠,得到第一矩阵;
将第一矩阵按列拆分,以得到m个第二二进制数据串,其中,m为n个二进制数据中位数最大的二进制数据的位数,且m为大于0的正整数;
将m个第二二进制数据串发送至数据接收端。
第二方面,本申请的实施方式提供了一种基于列式数据扫描的多数据接收方法,包括:
从数据发送端接收x个第三二进制数据串,其中,x为大于或等于1的整数;
将x个第三二进制数据串中的每个第三二进制数据串中的元素,按照在每个第三二进制数据串中排列位置从上到下依次排列,得到x个竖向数据串,其中,x个竖向数据串与x个第三二进制数据串一一对应;
根据每个第三二进制数据串的标号,将x个竖向数据串横向拼接,得到第二矩阵;
按照从上到下的顺序,将第二矩阵按行拆分,得到y个第四二进制数据串;
对y个第四二进制数据串中的每个第四二进制数据串进行数据还原,得到 y个原始数据,其中,y个原始数据与y个二进制数据一一对应。
第三方面,本申请的实施方式提供了一种基于列式数据扫描的多数据发送装置,包括:
第一接收模块、第一处理模块和发送模块;其中,
第一接收模块,用于获取n个待发送数据,其中,n个待发送数据为数据格式相同的n个数据,且n个待发送数据中的任意两个待发送数据的数据大小的差的绝对值小于第一阈值,n为大于0的正整数;
第一处理模块,用于对n个待发送数据中的每个待发送数据进行二进制转化,得到n个第一二进制数据串,其中,n个第一二进制数据串与n个待发送数据一一对应;将n个第一二进制数据串竖向堆叠,得到第一矩阵;将第一矩阵按列拆分,以得到m个第二二进制数据串,其中,m为n个二进制数据中位数最大的二进制数据的位数,且m为大于0的正整数;
发送模块,用于将m个第二二进制数据串发送至数据接收端。
第四方面,本申请的实施方式提供了一种基于列式数据扫描的多数据接收装置,包括:
第二接收模块、第二处理模块和还原模块;其中,
第二接收模块,用于从数据发送端接收x个第三二进制数据串,其中,x 为大于或等于1的整数;
第二处理模块,用于将x个第三二进制数据串中的每个第三二进制数据串中的元素,按照在每个第三二进制数据串中排列位置从上到下依次排列,得到x个竖向数据串,其中,x个竖向数据串与x个第三二进制数据串一一对应;根据每个第三二进制数据串的标号,将x个竖向数据串横向拼接,得到第二矩阵;按照从上到下的顺序,将第二矩阵按行拆分,得到y个第四二进制数据串;
还原模块,用于对y个第四二进制数据串中的每个第四二进制数据串进行数据还原,得到y个原始数据,其中,y个原始数据与y个二进制数据一一对应。
第五方面,本申请实施方式提供一种基于列式数据扫描的多数据发送设备,包括:处理器,处理器与存储器相连,存储器用于存储计算机程序,处理器用于执行存储器中存储的计算机程序,以使得电子设备执行如第一方面的方法。
第六方面,本申请实施方式提供一种基于列式数据扫描的多数据接收设备,包括:处理器,处理器与存储器相连,存储器用于存储计算机程序,处理器用于执行存储器中存储的计算机程序,以使得电子设备执行如第二方面的方法。
第七方面,本申请实施方式提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序使得计算机执行如第一方面和/或第二方面的方法。
第八方面,本申请实施方式提供一种计算机程序产品,计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,计算机可操作来使计算机执行如第一方面和/或第二方面的方法。
实施本申请实施方式,具有如下有益效果:
在本申请实施方式中,通过将数据格式相同且数据大小相近的n个待发送数据二进制化后竖向堆叠,得到第一矩阵。继而将第一矩阵按列拆分,以得到m个第二二进制数据串,最后将m个第二二进制数据串发送至数据接收端。由此,由于n个待发送数据的数据格式相同且数据大小相近,使得每个待发送数据的二进制化结果在竖向堆叠后,每列中会存在大量的同类冗余位,且同时也会存在由相同元素组成的列。基于此,按列拆分后,得到的m个第二二进制数据串的数据结构更为简单,规律性强,可以有效提升发送过程中对数据的处理效率,继而提升网络传输速度。此外,由于数据传输过程中,存储单元,例如内存单元(RAM)能够以原始大小处理位,因此,通常是通过发送端和接收端的存储单元完成。而在本申请中,通过将待发送数据转化为二进制数据,实现了数据的对位操作,从而在发送端和接收端都不必占用额外的内存,避免了数据分割在磁盘集群中的磁盘写入、索引等问题,继而进一步提升了网络传输速度。
附图说明
为了更清楚地说明本申请实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施方式提供的一种基于列式数据扫描的多数据发送装置或基于列式数据扫描的多数据接收装置的硬件结构示意图;
图2为本申请实施方式提供的一种基于列式数据扫描的多数据发送方法的流程示意图;
图3为本申请实施方式提供的一种分别对m个第二二进制数据串中每个第二二进制数据串进行多次字符扫描处理,得到m个简化数据串的方法的流程示意图;
图4为本申请实施方式提供的一种将目标数据串发送至数据接收端的方法的流程示意图;
图5为本申请实施方式提供的一种基于列式数据扫描的多数据接收方法的流程示意图;
图6为本申请实施方式提供的一种基于列式数据扫描的多数据发送装置的功能模块组成框图;
图7为本申请实施方式提供的一种基于列式数据扫描的多数据接收装置的功能模块组成框图;
图8为本申请实施方式提供的一种基于列式数据扫描的多数据发送设备的结构示意图。
图9为本申请实施方式提供的一种基于列式数据扫描的多数据接收设备的结构示意图。
具体实施方式
下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施方式”意味着,结合实施方式描述的特定特征、结果或特性可以包含在本申请的至少一个实施方式中。在说明书中的各个位置出现该短语并不一定均是指相同的实施方式,也不是与其它实施方式互斥的独立的或备选的实施方式。本领域技术人员显式地和隐式地理解的是,本文所描述的实施方式可以与其它实施方式相结合。
首先,参阅图1,图1为本申请实施方式提供的一种基于列式数据扫描的多数据发送装置或基于列式数据扫描的多数据接收装置的硬件结构示意图。该基于列式数据扫描的多数据发送装置或基于列式数据扫描的多数据接收装置包括至少一个处理器101,通信线路102,存储器103以及至少一个通信接口104。
在本实施方式中,处理器101,可以是一个通用中央处理器(central processingunit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路102,可以包括一通路,在上述组件之间传送信息。
通信接口104,可以是任何收发器一类的装置(如天线等),用于与其他设备或通信网络通信,例如以太网,RAN,无线局域网(wireless local area networks,WLAN)等。
存储器103,可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM) 或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
在本实施方式中,存储器103可以独立存在,通过通信线路102与处理器 101相连接。存储器103也可以和处理器101集成在一起。本申请实施方式提供的存储器103通常可以具有非易失性。其中,存储器103用于存储执行本申请方案的计算机执行指令,并由处理器101来控制执行。处理器101用于执行存储器103中存储的计算机执行指令,从而实现本申请下述实施方式中提供的方法。
在可选的实施方式中,计算机执行指令也可以称之为应用程序代码,本申请对此不作具体限定。
在可选的实施方式中,处理器101可以包括一个或多个CPU,例如图1中的CPU0和CPU1。
在可选的实施方式中,基于列式数据扫描的多数据发送装置或基于列式数据扫描的多数据接收装置也可以包括多个处理器,例如图1中的处理器101 和处理器107。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在可选的实施方式中,若基于列式数据扫描的多数据发送装置或基于列式数据扫描的多数据接收装置为服务器,则基于列式数据扫描的多数据发送装置或基于列式数据扫描的多数据接收装置还可以包括输出设备105和输入设备106。输出设备105和处理器101通信,可以以多种方式来显示信息。例如,输出设备105可以是液晶显示器(liquid crystaldisplay,LCD),发光二极管(light emitting diode,LED)显示设备,阴极射线管(cathoderay tube,CRT)显示设备,或投影仪(projector)等。输入设备106和处理器101通信,可以以多种方式接收用户的输入。例如,输入设备106可以是鼠标、键盘、触摸屏设备或传感设备等。
上述的基于列式数据扫描的多数据发送装置或基于列式数据扫描的多数据接收装置可以是一个通用设备或者是一个专用设备。本申请实施方式不限定基于列式数据扫描的多数据发送装置或基于列式数据扫描的多数据接收装置的装置类型。
以下,将对本申请所公开的基于列式数据扫描的多数据发送方法进行说明:
参阅图2,图2为本申请实施方式提供的一种基于列式数据扫描的多数据发送方法的流程示意图。该基于列式数据扫描的多数据发送方法包括以下步骤:
201:获取n个待发送数据。
在本实施方式中,该n个待发送数据为数据格式相同的n个数据,且n个待发送数据中的任意两个待发送数据的数据大小的差的绝对值小于第一阈值,n 为大于0的正整数。示例性的,该n个待发送数据可以为同一组DICOM文件中具有相同数据格式和相似大小的n个数据。
202:对n个待发送数据中的每个待发送数据进行二进制转化,得到n个第一二进制数据串。
在本实施方式中,该n个第一二进制数据串与n个待发送数据一一对应。
203:将n个第一二进制数据串竖向堆叠,得到第一矩阵。
在本实施方式中,将以n等于3的情况为例,对本申请所提供的基于列式数据扫描的多数据发送方法进行说明。示例性的,现有3个符合步骤201中要求的DCM数据:DCM1、DCM2和DCM3,分别对其进行二进制化后,得到如下所示的3个第一二进制数据串:
DCM1=>11010011;
DCM2=>11010011;
DCM3=>10011011;
将该3个第一二进制数据串进行竖向堆叠后,可以得到如下所示的第一矩阵:
204:将第一矩阵按列拆分,以得到m个第二二进制数据串。
在本实施方式中,m为n个二进制数据中位数最大的二进制数据的位数,且m为大于0的正整数。示例性的,沿用上述n等于3的示例,其中,3个第一二进制数据串中的最大位数为8,所以,对第一矩阵按列拆分后可以得到8个第二二进制数据串,具体如下:【111,110,000,111,001,000,111,111】。
205:将m个第二二进制数据串发送至数据接收端。
在本实施方式中,由于n个待发送数据具有相同数据格式和相似大小,因此,该n个待发送数据在二进制化后得到的n个第一二进制数据串也较为相似。对其竖向堆叠后按列拆分所得到的m个第二二进制数据串中的每个第二二进制数据串中会存在大量的同类冗余位,且同时也会存在由相同元素组成的第二二进制数据串,例如:111或000。基于此,得到的m个第二二进制数据串的数据结构更为简单,规律性强。因此,将原本的发送n个待发送数据,转化为发送m个第二二进制数据串,可以有效提升发送过程中对数据的处理效率,继而提升网络传输速度。
在可选的实施方式中,可以针对每个第二二进制数据串中会存在大量的同类冗余位,且同时也会存在由相同元素组成的第二二进制数据串的特性,对每个第二二进制数据串进行简化处理,以进一步的提升网络传输速度。示例性的,在得到m个第二二进制数据串后,可以分别对m个第二二进制数据串中每个第二二进制数据串进行多次字符扫描处理,得到m个简化数据串。从而根据每个第二二进制数据串在第一矩阵中的排列位置,将m个简化数据串纵向拼接,得到目标数据串。最后,将目标数据串发送至数据接收端。
具体而言,本实施方式提供了一种分别对m个第二二进制数据串中每个第二二进制数据串进行多次字符扫描处理,得到m个简化数据串的方法,如图3 所示,该方法包括:
301:从第i次字符扫描处理的起始字符A开始,依次向右遍历每个第二二进制数据串,直至确定出结束字符B。
在本实施方式中,结束字符B为第i次字符扫描处理过程中第一个取值与起始字符A不同的字符,或结束字符B为每个第二二进制数据串的最后一个字符,i为大于或等于1的整数,且当i=1时,起始字符A为每个第二二进制数据串的第一字符。
302:当结束字符B为第i次字符扫描处理过程中第一个取值与起始字符A 不同的字符时,设置第i次字符扫描处理的扫描结果为,起始字符A与结束字符B之间的字符数加一,并将结束字符B作为第i+1次字符扫描处理的开始字符进行第i+1次字符扫描处理,直至进行多次字符扫描处理后,得到每个第二二进制数据串对应的简化数据串。
303:当起始字符A为每个第二二进制数据串的最后一个字符时,设置第i 次字符扫描处理的扫描结果为1,并将多次字符扫描处理的处理结果按照多次字符扫描处理的处理顺序排序,得到每个第二二进制数据串对应的简化数据串。
304:当结束字符B为每个第二二进制数据串的最后一个字符时,设置第i 次字符扫描处理的扫描结果为,起始字符A与结束字符B之间的字符数加二,并将多次字符扫描处理的处理结果按照多次字符扫描处理的处理顺序排序,得到每个第二二进制数据串对应的简化数据串。
示例性的,沿用上述n等于3的示例,得到的8个第二二进制数据串为:【111, 110,000,111,001,000,111,111】。对于第一个第二二进制数据串“111”,第1次字符扫描处理的起始字符A为第一字符“1”,依次向右遍历后直到最后一个字符也未发现第一个与起始字符A不同的字符,则将第三字符“1”作为结束字符B,同时记录第一个第二二进制数据串“111”的简化数据串为“3” (第一字符与第三字符之间的字符数加二,即1+2)。
对于第二个第二二进制数据串“110”,第1次字符扫描处理的起始字符A 为第一字符“1”,依次向右遍历后,得到的第一个与起始字符A不同的字符为第三字符“0”,则将第三字符作为第1次字符扫描处理的结束字符B,同时,记录第1次字符扫描处理的扫描结果为“2”(第一字符与第三字符之间的字符数加一,即1+1);第2次字符扫描处理的起始字符A为第1次字符扫描处理的结束字符B,即第三字符“0”,由于第三字符为最后一个字符,因此,记录第2次字符扫描处理的扫描结果为“1”;此时,将第1次字符扫描处理的扫描结果和第2次字符扫描处理的扫描结果按照多次字符扫描处理的处理顺序排序,即可得到第二个第二二进制数据串“110”对应的简化数据串为“21”。
通过上述方法,可以依次对8个第二二进制数据串进行简化,得到8个简化数据串:【3,21,3,3,21,3,3,3】,再将该8个简化数据串纵向拼接,即可得到目标数据串“3213321333”。
由此,当n为数百甚至数千时,即在同时发送数百或数千个符合要求的数据时,通过上述的拆分转化,可以对数据进行极大的压缩,且该压缩无需复杂的压缩计算,极大的降低了计算资源的消耗和压缩时间。且通过每个压缩分片也无法直接还原出对应的数据内容,提升了数据的安全性。
在可选的实施方式中,可以将每256个数据设为一组进行发送,由此,当出现由相同元素组成的第二二进制数据串,即全由0或1组成的第二二进制数据串时,其简化结果为256,该简化结果只需占用网络中的1个字节,极大的降低了对网络的带宽需求,进一步的提升了网络传输速度。
此外,本实施方式还提供了一种将目标数据串发送至数据接收端的方法,如图4所示,该方法包括:
401:将目标数据串进行数据分割,得到至少一个数据分片。
在本实施方式中,首先,可以确定分割位数k,然后,将该目标数据串按照分割位数k分割为位数相等的至少一个数据分片。示例性的,k可以为任意大于1的整数,在本实施方式中,将以k等于2的情况为例,对本申请所提供的将目标数据串发送至数据接收端的方法进行说明。
具体而言,当k等于2时,说明分割位数设置为2,此时,可以将目标数据串每2位分成一组,进行数据拆分。例如,沿用上述示例,目标数据串为“3213321333”,在分割位数为2的情况下,可以分割为【32,13,32,13, 33】。
在可选的实施方式中,分割位数也可以是一个动态的、循环的数值。例如,可以将分割位数视为一个分割序列【m,x,y】,继而对二进制数据进行数据分割时,可以先分割m位,再分割x位,再分割y位,然后再次分割m位,一直循环置该二进制数据被分割完成。具体而言,当分割序列【1,2,3】,目标数据串为“321332133312”时,可以得到分割结果【3,21,332,1,33, 312】。
402:根据数据分片中每个数据分片的位数,确定至少一个发送频率。
在本实施方式中,首先可以根据每个数据分片的位数,确定需要的发送频率的数量,即第一数量。示例性的,该第一数量可以与每个数据分片的位数相同,即第一数量为k。当然,该第一数量和每个数据分片的位数之间也可以是其他函数关系,例如,在一种可能的实施方式中,第一数量l与每个数据分片的位数k之间的关系可以通过公式①表示:
l=2k.........①
在本实施方式中,将以第一数量为k的情况为例,对本申请所提供的基于多频率的数据发送方法进行说明。基于此,沿用上述k等于2的示例,可以确定第一数量也为2,因此,可以在预设的发送频率库中随机选择2个发送频率,作为该至少一个发送频率。
403:根据每个数据分片在目标数据串中的排列位置,在至少一个发送频率中确定每个数据分片对应的第一发送频率。
在本实施方式中,可以将通过步骤402得到的至少一个发送频率进行随机排序,从而令每个数据分片按照在目标数据串中的排列位置,依次循环选取排序后的至少一个发送频率中的一个发送频率作为自身对应的发送频率。
具体而言,沿用上述k等于2的示例,在该示例中,选出了2个发送频率,分别命名为发送频率A和发送频率B,对其进行排序后得到序列【发送频率A,发送频率B】。目标数据串“3213321333”,对应的数据分片序列为【32,13, 32,13,33】。基于此,确定第一个数据分片“32”对应发送频率A,第二个数据分片“13”对应发送频率B,第三个数据分片“32”对应发送频率A,第四个数据分片“13”对应发送频率B,第五个数据分片“33”对应发送频率A。
404:根据预设的转化表,以及每个数据分片对应的第一发送频率,分别对每个数据分片进行数据转换,得到至少一个转化结果。
在本实施方式中,转化表记录了不同的数据分片在不同的发送频率下对应的转化结果,至少一个转化结果与至少一个数据分片一一对应。
405:将至少一个转化结果中的每个转化结果按照每个转化结果对应的第一发送频率依次发送至数据接收端。
在可选的实施方式中,也可以不对m个第二二进制数据串进行简化,直接将m个第二二进制数据串根据每个第二二进制数据串在第一矩阵中的排列位置,将m个第二二进制数据串串纵向拼接,得到目标数据串。在根据上述步骤 401-405的方法将目标数据串发送至数据接收端。
此外,参阅图5,图5为本申请实施方式提供的一种基于列式数据扫描的多数据接收方法的流程示意图。该基于列式数据扫描的多数据接收方法包括以下步骤:
501:从数据发送端接收x个第三二进制数据串。
在本实施方式中,x为大于或等于1的整数。
502:将x个第三二进制数据串中的每个第三二进制数据串中的元素,按照在每个第三二进制数据串中排列位置从上到下依次排列,得到x个竖向数据串。
在本实施方式中,x个竖向数据串与x个第三二进制数据串一一对应。
503:根据每个第三二进制数据串的标号,将x个竖向数据串横向拼接,得到第二矩阵。
504:按照从上到下的顺序,将第二矩阵按行拆分,得到y个第四二进制数据串。
505:对y个第四二进制数据串中的每个第四二进制数据串进行数据还原,得到y个原始数据。
在本实施方式中,y个原始数据与y个二进制数据一一对应。
综上所述,本发明所提供的基于列式数据扫描的多数据发送方法中,通过将数据格式相同且数据大小相近的n个待发送数据二进制化后竖向堆叠,得到第一矩阵。继而将第一矩阵按列拆分,以得到m个第二二进制数据串,最后将m个第二二进制数据串发送至数据接收端。由此,由于n个待发送数据的数据格式相同且数据大小相近,使得每个待发送数据的二进制化结果在竖向堆叠后,每列中会存在大量的同类冗余位,且同时也会存在由相同元素组成的列。基于此,按列拆分后,得到的m个第二二进制数据串的数据结构更为简单,规律性强,可以有效提升发送过程中对数据的处理效率,继而提升网络传输速度。此外,由于数据传输过程中,存储单元,例如内存单元(RAM) 能够以原始大小处理位,因此,通常是通过发送端和接收端的存储单元完成。而在本申请中,通过将待发送数据转化为二进制数据,实现了数据的对位操作,从而在发送端和接收端都不必占用额外的内存,避免了数据分割在磁盘集群中的磁盘写入、索引等问题,继而进一步提升了网络传输速度。
参阅图6,图6为本申请实施方式提供的一种基于列式数据扫描的多数据发送装置的功能模块组成框图。如图6所示,该基于列式数据扫描的多数据发送装置600包括:第一接收模块601、第一处理模块602和发送模块603;其中:
第一接收模块601,用于获取n个待发送数据,其中,n个待发送数据为数据格式相同的n个数据,且n个待发送数据中的任意两个待发送数据的数据大小的差的绝对值小于第一阈值,n为大于0的正整数;
第一处理模块602,用于对n个待发送数据中的每个待发送数据进行二进制转化,得到n个第一二进制数据串,其中,n个第一二进制数据串与n个待发送数据一一对应;将n个第一二进制数据串竖向堆叠,得到第一矩阵;将第一矩阵按列拆分,以得到m个第二二进制数据串,其中,m为n个二进制数据中位数最大的二进制数据的位数,且m为大于0的正整数;
发送模块603,用于将m个第二二进制数据串发送至数据接收端。
在本发明的实施方式中,在将第一矩阵按列拆分,以得到m个第二二进制数据串之后,第一处理模块602,还用于:
分别对m个第二二进制数据串中每个第二二进制数据串进行多次字符扫描处理,得到m个简化数据串,其中,得到m个简化数据串与m个第二二进制数据串一一对应;
根据每个第二二进制数据串在第一矩阵中的排列位置,将m个简化数据串纵向拼接,得到目标数据串;
将m个第二二进制数据串发送至数据接收端,包括:
将目标数据串发送至数据接收端。
在本发明的实施方式中,在分别对m个第二二进制数据串中每个第二二进制数据串进行多次字符扫描处理,得到m个简化数据串方面,第一处理模块602,具体用于:
从第i次字符扫描处理的起始字符A开始,依次向右遍历每个第二二进制数据串,直至确定出结束字符B,其中,结束字符B为第i次字符扫描处理过程中第一个取值与起始字符A不同的字符,或结束字符B为每个第二二进制数据串的最后一个字符,i为大于或等于1的整数,且当i=1时,起始字符A为每个第二二进制数据串的第一字符;
当结束字符B为第i次字符扫描处理过程中第一个取值与起始字符A不同的字符时,设置第i次字符扫描处理的扫描结果为,起始字符A与结束字符B之间的字符数加一,并将结束字符B作为第i+1次字符扫描处理的开始字符进行第i+1次字符扫描处理,直至进行多次字符扫描处理后,得到每个第二二进制数据串对应的简化数据串;
当起始字符A为每个第二二进制数据串的最后一个字符时,设置第i次字符扫描处理的扫描结果为1,并将多次字符扫描处理的处理结果按照多次字符扫描处理的处理顺序排序,得到每个第二二进制数据串对应的简化数据串;
当结束字符B为每个第二二进制数据串的最后一个字符时,设置第i次字符扫描处理的扫描结果为,起始字符A与结束字符B之间的字符数加二,并将多次字符扫描处理的处理结果按照多次字符扫描处理的处理顺序排序,得到每个第二二进制数据串对应的简化数据串。
在本发明的实施方式中,在将目标数据串发送至数据接收端方面,发送模块603,具体用于:
将目标数据串进行数据分割,得到至少一个数据分片;
根据数据分片中每个数据分片的位数,确定至少一个发送频率;
根据每个数据分片在目标数据串中的排列位置,在至少一个发送频率中确定每个数据分片对应的第一发送频率;
根据预设的转化表,以及每个数据分片对应的第一发送频率,分别对每个数据分片进行数据转换,得到至少一个转化结果,其中,转化表记录了不同的数据分片在不同的发送频率下对应的转化结果,至少一个转化结果与至少一个数据分片一一对应;
将至少一个转化结果中的每个转化结果按照每个转化结果对应的第一发送频率依次发送至数据接收端。
同时,参阅图7,图7为本申请实施方式提供的一种基于列式数据扫描的多数据接收装置的功能模块组成框图。如图7所示,该基于列式数据扫描的多数据接收装置700包括:第二接收模块701、第二处理模块702和还原模块703;其中:
第二接收模块701,用于从数据发送端接收x个第三二进制数据串,其中, x为大于或等于1的整数;
第二处理模块702,用于将x个第三二进制数据串中的每个第三二进制数据串中的元素,按照在每个第三二进制数据串中排列位置从上到下依次排列,得到x个竖向数据串,其中,x个竖向数据串与x个第三二进制数据串一一对应;根据每个第三二进制数据串的标号,将x个竖向数据串横向拼接,得到第二矩阵;按照从上到下的顺序,将第二矩阵按行拆分,得到y个第四二进制数据串;
还原模块703,用于对y个第四二进制数据串中的每个第四二进制数据串进行数据还原,得到y个原始数据,其中,y个原始数据与y个二进制数据一一对应。
参阅图8,图8为本申请实施方式提供的一种基于列式数据扫描的多数据发送设备的结构示意图。如图8所示,该基于列式数据扫描的多数据发送设备 800包括收发器801、处理器802和存储器803。它们之间通过总线804连接。存储器803用于存储计算机程序和数据,并可以将存储器803存储的数据传输给处理器802。
处理器802用于读取存储器803中的计算机程序执行以下操作:
获取n个待发送数据,其中,n个待发送数据为数据格式相同的n个数据,且n个待发送数据中的任意两个待发送数据的数据大小的差的绝对值小于第一阈值,n为大于0的正整数;
对n个待发送数据中的每个待发送数据进行二进制转化,得到n个第一二进制数据串,其中,n个第一二进制数据串与n个待发送数据一一对应;
将n个第一二进制数据串竖向堆叠,得到第一矩阵;
将第一矩阵按列拆分,以得到m个第二二进制数据串,其中,m为n个二进制数据中位数最大的二进制数据的位数,且m为大于0的正整数;
将m个第二二进制数据串发送至数据接收端。
在本发明的实施方式中,在将第一矩阵按列拆分,以得到m个第二二进制数据串之后,处理器802,还用于执行以下操作:
分别对m个第二二进制数据串中每个第二二进制数据串进行多次字符扫描处理,得到m个简化数据串,其中,得到m个简化数据串与m个第二二进制数据串一一对应;
根据每个第二二进制数据串在第一矩阵中的排列位置,将m个简化数据串纵向拼接,得到目标数据串;
将m个第二二进制数据串发送至数据接收端,包括:
将目标数据串发送至数据接收端。
在本发明的实施方式中,在分别对m个第二二进制数据串中每个第二二进制数据串进行多次字符扫描处理,得到m个简化数据串方面,处理器802,具体用于执行以下操作:
从第i次字符扫描处理的起始字符A开始,依次向右遍历每个第二二进制数据串,直至确定出结束字符B,其中,结束字符B为第i次字符扫描处理过程中第一个取值与起始字符A不同的字符,或结束字符B为每个第二二进制数据串的最后一个字符,i为大于或等于1的整数,且当i=1时,起始字符A为每个第二二进制数据串的第一字符;
当结束字符B为第i次字符扫描处理过程中第一个取值与起始字符A不同的字符时,设置第i次字符扫描处理的扫描结果为,起始字符A与结束字符B之间的字符数加一,并将结束字符B作为第i+1次字符扫描处理的开始字符进行第i+1次字符扫描处理,直至进行多次字符扫描处理后,得到每个第二二进制数据串对应的简化数据串;
当起始字符A为每个第二二进制数据串的最后一个字符时,设置第i次字符扫描处理的扫描结果为1,并将多次字符扫描处理的处理结果按照多次字符扫描处理的处理顺序排序,得到每个第二二进制数据串对应的简化数据串;
当结束字符B为每个第二二进制数据串的最后一个字符时,设置第i次字符扫描处理的扫描结果为,起始字符A与结束字符B之间的字符数加二,并将多次字符扫描处理的处理结果按照多次字符扫描处理的处理顺序排序,得到每个第二二进制数据串对应的简化数据串。
在本发明的实施方式中,在将目标数据串发送至数据接收端方面,处理器802,具体用于执行以下操作:
将目标数据串进行数据分割,得到至少一个数据分片;
根据数据分片中每个数据分片的位数,确定至少一个发送频率;
根据每个数据分片在目标数据串中的排列位置,在至少一个发送频率中确定每个数据分片对应的第一发送频率;
根据预设的转化表,以及每个数据分片对应的第一发送频率,分别对每个数据分片进行数据转换,得到至少一个转化结果,其中,转化表记录了不同的数据分片在不同的发送频率下对应的转化结果,至少一个转化结果与至少一个数据分片一一对应;
将至少一个转化结果中的每个转化结果按照每个转化结果对应的第一发送频率依次发送至数据接收端。
同时,参阅图9,图9为本申请实施方式提供的一种基于列式数据扫描的多数据接收设备的结构示意图。如图9所示,该基于列式数据扫描的多数据接收设备900包括收发器901、处理器902和存储器903。它们之间通过总线904连接。存储器903用于存储计算机程序和数据,并可以将存储器903存储的数据传输给处理器902。
处理器902用于读取存储器903中的计算机程序执行以下操作:
从数据发送端接收x个第三二进制数据串,其中,x为大于或等于1的整数;
将x个第三二进制数据串中的每个第三二进制数据串中的元素,按照在每个第三二进制数据串中排列位置从上到下依次排列,得到x个竖向数据串,其中,x个竖向数据串与x个第三二进制数据串一一对应;
根据每个第三二进制数据串的标号,将x个竖向数据串横向拼接,得到第二矩阵;
按照从上到下的顺序,将第二矩阵按行拆分,得到y个第四二进制数据串;
对y个第四二进制数据串中的每个第四二进制数据串进行数据还原,得到 y个原始数据,其中,y个原始数据与y个二进制数据一一对应。
应理解,本申请中的基于列式数据扫描的多数据发送装置和基于列式数据扫描的多数据接收装置可以包括智能手机(如Android手机、iOS手机、 Windows Phone手机等)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备MID(Mobile Internet Devices,简称:MID)、机器人或穿戴式设备等。上述基于列式数据扫描的多数据发送装置和基于列式数据扫描的多数据接收装置仅是举例,而非穷举,包含但不限于上述基于列式数据扫描的多数据发送装置和基于列式数据扫描的多数据接收装置。在实际应用中,基于列式数据扫描的多数据发送装置和基于列式数据扫描的多数据接收装置还可以包括:智能车载终端、计算机设备等等。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施方式或者实施方式的某些部分所述的方法。
因此,本申请实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如上述方法实施方式中记载的任何一种基于列式数据扫描的多数据发送方法和基于列式数据扫描的多数据接收方法的部分或全部步骤。例如,所述存储介质可以包括硬盘、软盘、光盘、磁带、磁盘、优盘、闪存等。
本申请实施方式还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施方式中记载的任何一种基于列式数据扫描的多数据发送方法和基于列式数据扫描的多数据接收方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于可选的实施方式,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施方式中,对各个实施方式的描述都各有侧重,某个实施方式中没有详述的部分,可以参见其他实施方式的相关描述。
在本申请所提供的几个实施方式中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施方式的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施方式进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施方式的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种基于列式数据扫描的多数据发送方法,其特征在于,所述方法应用于数据发送端,所述方法包括:
获取n个待发送数据,其中,所述n个待发送数据为数据格式相同的n个数据,且所述n个待发送数据中的任意两个待发送数据的数据大小的差的绝对值小于第一阈值,n为大于0的正整数;
对所述n个待发送数据中的每个待发送数据进行二进制转化,得到n个第一二进制数据串,其中,所述n个第一二进制数据串与所述n个待发送数据一一对应;
将所述n个第一二进制数据串竖向堆叠,得到第一矩阵;
将所述第一矩阵按列拆分,以得到m个第二二进制数据串,其中,m为n个二进制数据中位数最大的二进制数据的位数,且m为大于0的正整数;
分别对所述m个第二二进制数据串中每个第二二进制数据串进行多次字符扫描处理,得到m个简化数据串,其中,所述得到m个简化数据串与所述m个第二二进制数据串一一对应;
根据所述每个第二二进制数据串在所述第一矩阵中的排列位置,将所述m个简化数据串纵向拼接,得到目标数据串;
将所述目标数据串发送至数据接收端;
其中,所述分别对所述m个第二二进制数据串中每个第二二进制数据串进行多次字符扫描处理,得到m个简化数据串,包括:
从第i次字符扫描处理的起始字符A开始,依次向右遍历所述每个第二二进制数据串,直至确定出结束字符B,其中,所述结束字符B为所述第i次字符扫描处理过程中第一个取值与所述起始字符A不同的字符,或所述结束字符B为所述每个第二二进制数据串的最后一个字符,i为大于或等于1的整数,且当i=1时,所述起始字符A为所述每个第二二进制数据串的第一字符;
当所述结束字符B为所述第i次字符扫描处理过程中第一个取值与所述起始字符A不同的字符时,设置所述第i次字符扫描处理的扫描结果为,所述起始字符A与所述结束字符B之间的字符数加一,并将所述结束字符B作为第i+1次字符扫描处理的开始字符进行所述第i+1次字符扫描处理,直至进行多次字符扫描处理后,得到所述每个第二二进制数据串对应的简化数据串;
当所述起始字符A为所述每个第二二进制数据串的最后一个字符时,设置所述第i次字符扫描处理的扫描结果为1,并将多次字符扫描处理的处理结果按照多次字符扫描处理的处理顺序排序,得到所述每个第二二进制数据串对应的简化数据串;
当所述结束字符B为所述每个第二二进制数据串的最后一个字符时,设置所述第i次字符扫描处理的扫描结果为,所述起始字符A与所述结束字符B之间的字符数加二,并将多次字符扫描处理的处理结果按照多次字符扫描处理的处理顺序排序,得到所述每个第二二进制数据串对应的简化数据串。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标数据串发送至所述数据接收端,包括:
将所述目标数据串进行数据分割,得到至少一个数据分片;
根据所述数据分片中每个数据分片的位数,确定至少一个发送频率;
根据所述每个数据分片在所述目标数据串中的排列位置,在所述至少一个发送频率中确定所述每个数据分片对应的第一发送频率;
根据预设的转化表,以及所述每个数据分片对应的第一发送频率,分别对所述每个数据分片进行数据转换,得到至少一个转化结果,其中,所述转化表记录了不同的数据分片在不同的发送频率下对应的转化结果,所述至少一个转化结果与所述至少一个数据分片一一对应;
将所述至少一个转化结果中的每个转化结果按照所述每个转化结果对应的第一发送频率依次发送至数据接收端。
3.一种基于列式数据扫描的多数据接收方法,其特征在于,所述方法应用于数据接收端,所述方法包括:
从数据发送端接收目标数据串,所述目标数据串是基于权利要求1所述的方法得到的,所述目标数据串包括x个第三二进制数据串,其中,x为大于或等于1的整数;
将所述x个第三二进制数据串中的每个第三二进制数据串中的元素,按照在所述每个第三二进制数据串中排列位置从上到下依次排列,得到x个竖向数据串,其中,所述x个竖向数据串与所述x个第三二进制数据串一一对应;
根据所述每个第三二进制数据串的标号,将所述x个竖向数据串横向拼接,得到第二矩阵;
按照从上到下的顺序,将所述第二矩阵按行拆分,得到y个第四二进制数据串;
对所述y个第四二进制数据串中的每个第四二进制数据串进行数据还原,得到y个原始数据,其中,所述y个原始数据与所述y个第四二进制数据一一对应。
4.一种基于列式数据扫描的多数据发送装置,其特征在于,
所述装置包括:第一接收模块、第一处理模块和发送模块;其中
所述第一接收模块,用于获取n个待发送数据,其中,所述n个待发送数据为数据格式相同的n个数据,且所述n个待发送数据中的任意两个待发送数据的数据大小的差的绝对值小于第一阈值,n为大于0的正整数;
所述第一处理模块,用于对所述n个待发送数据中的每个待发送数据进行二进制转化,得到n个第一二进制数据串,其中,所述n个第一二进制数据串与所述n个待发送数据一一对应;将所述n个第一二进制数据串竖向堆叠,得到第一矩阵;将所述第一矩阵按列拆分,以得到m个第二二进制数据串,其中,m为n个二进制数据中位数最大的二进制数据的位数,且m为大于0的正整数;
所述第一处理模块,还用于分别对所述m个第二二进制数据串中每个第二二进制数据串进行多次字符扫描处理,得到m个简化数据串,其中,所述得到m个简化数据串与所述m个第二二进制数据串一一对应;根据所述每个第二二进制数据串在所述第一矩阵中的排列位置,将所述m个简化数据串纵向拼接,得到目标数据串;所述发送模块,用于将所述目标数据串发送至数据接收端;
其中,在所述分别对所述m个第二二进制数据串中每个第二二进制数据串进行多次字符扫描处理,得到m个简化数据串方面,所述所述第一处理模块,具体用于:
从第i次字符扫描处理的起始字符A开始,依次向右遍历所述每个第二二进制数据串,直至确定出结束字符B,其中,所述结束字符B为所述第i次字符扫描处理过程中第一个取值与所述起始字符A不同的字符,或所述结束字符B为所述每个第二二进制数据串的最后一个字符,i为大于或等于1的整数,且当i=1时,所述起始字符A为所述每个第二二进制数据串的第一字符;
当所述结束字符B为所述第i次字符扫描处理过程中第一个取值与所述起始字符A不同的字符时,设置所述第i次字符扫描处理的扫描结果为,所述起始字符A与所述结束字符B之间的字符数加一,并将所述结束字符B作为第i+1次字符扫描处理的开始字符进行所述第i+1次字符扫描处理,直至进行多次字符扫描处理后,得到所述每个第二二进制数据串对应的简化数据串;
当所述起始字符A为所述每个第二二进制数据串的最后一个字符时,设置所述第i次字符扫描处理的扫描结果为1,并将多次字符扫描处理的处理结果按照多次字符扫描处理的处理顺序排序,得到所述每个第二二进制数据串对应的简化数据串;
当所述结束字符B为所述每个第二二进制数据串的最后一个字符时,设置所述第i次字符扫描处理的扫描结果为,所述起始字符A与所述结束字符B之间的字符数加二,并将多次字符扫描处理的处理结果按照多次字符扫描处理的处理顺序排序,得到所述每个第二二进制数据串对应的简化数据串。
5.一种基于列式数据扫描的多数据接收装置,其特征在于,
所述装置包括:第二接收模块、第二处理模块和还原模块;其中
所述第二接收模块,用于从数据发送端接收目标数据串,所述目标数据串是基于权利要求1所述的方法得到的,所述目标数据串包括x个第三二进制数据串,其中,x为大于或等于1的整数;
所述第二处理模块,用于将所述x个第三二进制数据串中的每个第三二进制数据串中的元素,按照在所述每个第三二进制数据串中排列位置从上到下依次排列,得到x个竖向数据串,其中,所述x个竖向数据串与所述x个第三二进制数据串一一对应;根据所述每个第三二进制数据串的标号,将所述x个竖向数据串横向拼接,得到第二矩阵;按照从上到下的顺序,将所述第二矩阵按行拆分,得到y个第四二进制数据串;
所述还原模块,用于对所述y个第四二进制数据串中的每个第四二进制数据串进行数据还原,得到y个原始数据,其中,所述y个原始数据与所述y个第四二进制数据一一对应。
6.一种基于列式数据扫描的多数据发送设备,其特征在于,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述一个或多个程序包括用于执行权利要求1-2任一项方法中的步骤的指令。
7.一种基于列式数据扫描的多数据接收设备,其特征在于,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述一个或多个程序包括用于执行权利要求3中的步骤的指令。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-3任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111190341.6A CN114064308B (zh) | 2021-10-12 | 2021-10-12 | 基于列式数据扫描的多数据发送和接收方法、装置和设备 |
EP22880117.1A EP4418119A1 (en) | 2021-10-12 | 2022-09-22 | Multi-data sending method, apparatus and device based on columnar data scanning, and multi-data receiving method, apparatus and device based on columnar data scanning |
PCT/CN2022/120472 WO2023061177A1 (zh) | 2021-10-12 | 2022-09-22 | 基于列式数据扫描的多数据发送和接收方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111190341.6A CN114064308B (zh) | 2021-10-12 | 2021-10-12 | 基于列式数据扫描的多数据发送和接收方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114064308A CN114064308A (zh) | 2022-02-18 |
CN114064308B true CN114064308B (zh) | 2024-12-06 |
Family
ID=80234623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111190341.6A Active CN114064308B (zh) | 2021-10-12 | 2021-10-12 | 基于列式数据扫描的多数据发送和接收方法、装置和设备 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4418119A1 (zh) |
CN (1) | CN114064308B (zh) |
WO (1) | WO2023061177A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114064308B (zh) * | 2021-10-12 | 2024-12-06 | 深圳智慧林网络科技有限公司 | 基于列式数据扫描的多数据发送和接收方法、装置和设备 |
CN114039698A (zh) * | 2021-10-12 | 2022-02-11 | 深圳智慧林网络科技有限公司 | 基于多频率的数据发送和接收方法、装置和设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111222306A (zh) * | 2020-01-06 | 2020-06-02 | 广州虎牙科技有限公司 | 数据处理方法和装置、电子设备和存储介质 |
CN111934714A (zh) * | 2020-07-21 | 2020-11-13 | 桂林理工大学 | 一种抗干扰通信方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10210585B2 (en) * | 2016-02-02 | 2019-02-19 | Mastercard International Incorporated | Systems and methods for use in compressing data structures |
CN106452451B (zh) * | 2016-08-22 | 2019-09-13 | 湖南千年华光软件开发有限公司 | 数据处理方法及装置 |
CN109525372A (zh) * | 2018-12-24 | 2019-03-26 | 深圳市华星光电技术有限公司 | 终端数据传输方法、装置及存储介质 |
CN112737728B (zh) * | 2019-10-14 | 2023-03-10 | 华为技术有限公司 | 数据处理方法及装置 |
CN111769837A (zh) * | 2020-06-08 | 2020-10-13 | 黄涛 | 一种二进制信息的压缩结构及其无限压缩方法 |
CN112231098B (zh) * | 2020-09-29 | 2024-12-20 | 北京三快在线科技有限公司 | 任务处理方法、装置、设备及存储介质 |
CN113489575A (zh) * | 2021-06-25 | 2021-10-08 | 阿波罗智联(北京)科技有限公司 | 一种数据传输方法、装置及电子设备 |
CN114064308B (zh) * | 2021-10-12 | 2024-12-06 | 深圳智慧林网络科技有限公司 | 基于列式数据扫描的多数据发送和接收方法、装置和设备 |
-
2021
- 2021-10-12 CN CN202111190341.6A patent/CN114064308B/zh active Active
-
2022
- 2022-09-22 EP EP22880117.1A patent/EP4418119A1/en active Pending
- 2022-09-22 WO PCT/CN2022/120472 patent/WO2023061177A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111222306A (zh) * | 2020-01-06 | 2020-06-02 | 广州虎牙科技有限公司 | 数据处理方法和装置、电子设备和存储介质 |
CN111934714A (zh) * | 2020-07-21 | 2020-11-13 | 桂林理工大学 | 一种抗干扰通信方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114064308A (zh) | 2022-02-18 |
EP4418119A1 (en) | 2024-08-21 |
WO2023061177A1 (zh) | 2023-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10116325B2 (en) | Data compression/decompression device | |
CN106874348B (zh) | 文件存储和索引方法、装置及读取文件的方法 | |
CN114064308B (zh) | 基于列式数据扫描的多数据发送和接收方法、装置和设备 | |
CN108197324B (zh) | 用于存储数据的方法和装置 | |
CN108628898B (zh) | 数据入库的方法、装置和设备 | |
CN108334609A (zh) | Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质 | |
CN110019873B (zh) | 人脸数据处理方法、装置及设备 | |
EP3955256A1 (en) | Non-redundant gene clustering method and system, and electronic device | |
CN110704404A (zh) | 一种数据质量校验方法、装置、系统 | |
CN114070901B (zh) | 基于多数据对齐的数据发送和接收方法、装置和设备 | |
US20250055593A1 (en) | Multi-frequency based data sending method and apparatus, and multi-frequency based data receiving method | |
CN111290700B (zh) | 分布式数据读写方法和系统 | |
CN116842012A (zh) | 一种Redis集群的分片存储方法、装置、设备及存储介质 | |
CN117235069A (zh) | 索引创建方法、数据查询方法、装置、设备及存储介质 | |
CN115269539A (zh) | 数据存储方法及装置、电子设备、存储介质 | |
CN109241362B (zh) | 区块生成方法、装置、设备及存储介质 | |
CN113778948A (zh) | 消息持久化存储方法及装置 | |
CN113076178B (zh) | 报文存储方法、装置及设备 | |
CN105468603A (zh) | 数据选择方法及装置 | |
CN116708480B (zh) | 一种基于Datax框架的数据同步方法 | |
US12147448B2 (en) | Data reading method, device and storage medium | |
CN113485805B (zh) | 基于异构加速平台的分布式计算调整方法、装置及设备 | |
CN112860488B (zh) | 对象的恢复方法和装置、电子设备和存储介质 | |
CN108984450B (zh) | 数据传输方法、装置和设备 | |
CN117271836A (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 |