CN109831409B - 数据传输方法、装置、计算机可读存储介质及电子设备 - Google Patents

数据传输方法、装置、计算机可读存储介质及电子设备 Download PDF

Info

Publication number
CN109831409B
CN109831409B CN201811559440.5A CN201811559440A CN109831409B CN 109831409 B CN109831409 B CN 109831409B CN 201811559440 A CN201811559440 A CN 201811559440A CN 109831409 B CN109831409 B CN 109831409B
Authority
CN
China
Prior art keywords
data
field value
field
transmitted
module
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
CN201811559440.5A
Other languages
English (en)
Other versions
CN109831409A (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.)
Neusoft Corp
Original Assignee
Neusoft Corp
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 Neusoft Corp filed Critical Neusoft Corp
Priority to CN201811559440.5A priority Critical patent/CN109831409B/zh
Publication of CN109831409A publication Critical patent/CN109831409A/zh
Application granted granted Critical
Publication of CN109831409B publication Critical patent/CN109831409B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本公开涉及一种数据传输方法、装置、计算机可读存储介质及电子设备。方法包括:获取待传输数据,其中,所述待传输数据包括多个字段名、与所述多个字段名一一对应的字段值;对至少一个所述字段值进行压缩;将所述多个字段名、压缩后的至少一个字段值以及未压缩的字段值作为报文体,将所述报文体与报文头进行封装,得到数据报文;将所述数据报文发送至目标接收方。由于仅对待传输数据中的至少一个字段值进行压缩,而不对字段名进行压缩,因此,用户可以通过字段名获知待传输数据的主要内容,从而可以保障传输内容的可读性和易读性,同时,还可以保证数据的传输效率。

Description

数据传输方法、装置、计算机可读存储介质及电子设备
技术领域
本公开涉及通信技术领域,具体地,涉及一种数据传输方法、装置、计算机可读存储介质及电子设备。
背景技术
网络传输协议(Communications Protocol),是计算机通信的共同语言。现在最普及的计算机通信为网络通信,所以“网络传输协议”一般都是指计算机通信的传送协议,如TCP/IP、NetBEUI等。并且,网络传输协议也存在于计算机的其他形式的通信中,例如,面向对象里的对象之间的通信、操作系统内不同程序之间的消息传递,都需要网络传输协议,以确保通信双方能够沟通无间。简单而言,网络传输协议就是应用程序端与服务器端交互时约定好的内容格式。比如我们常见的String格式、Json格式、xml格式、protobuf格式等,这些都是网络传输协议。
其中,String、Json、xml、protobuf等格式,都有其各自适用的场景和使用的优势、劣势。像String、Json、xml等格式能保证传输内容的可读性和易读性,但是当数据量较大时,由于没有进行必要的压缩,导致数据传输效率较低。像protobuf等格式,虽然可以保障传输内容的压缩,保证了数据的传输效率,但是二进制的压缩方式导致传输内容的可读性不佳。
发明内容
为了克服相关技术中存在的问题,本公开提供一种数据传输方法、装置、计算机可读存储介质及电子设备。
为了实现上述目的,根据本公开实施例的第一方面,提供一种数据传输方法,包括:
获取待传输数据,其中,所述待传输数据包括多个字段名、与所述多个字段名一一对应的字段值;
对至少一个所述字段值进行压缩;
将所述多个字段名、压缩后的至少一个字段值以及未压缩的字段值作为报文体,将所述报文体与报文头进行封装,得到数据报文;
将所述数据报文发送至目标接收方。
可选地,所述对至少一个所述字段值进行压缩,包括:
针对所述待传输数据中的每个字段值,获取所述字段值的数据类型;
至少根据所述数据类型,确定是否对所述字段值进行压缩;
若确定对所述字段值进行压缩,则获取目标压缩方式;
按照所述目标压缩方式对所述字段值进行压缩。
可选地,所述至少根据所述数据类型,确定是否对所述字段值进行压缩,包括:
若所述字段值为浮点类型数据,则确定对所述字段值进行压缩;
所述获取目标压缩方式,包括:
获取当前CPU占有率;
确定所述当前CPU占有率所属的目标CPU占有率范围;
根据预设的CPU占有率范围和压缩方式的对应关系,确定与所述目标CPU占有率范围对应的目标压缩方式。
可选地,所述至少根据所述数据类型,确定是否对所述字段值进行压缩,包括:
若所述字段值包含文件、且所述文件的大小大于预设容量阈值,则确定对所述字段值进行压缩;
所述获取目标压缩方式,包括:
将与所述文件对应的压缩方式确定为目标压缩方式。
可选地,所述至少根据所述数据类型,确定是否对所述字段值进行压缩,包括:
若所述字段值中存在出现次数超过预设次数阈值的字符串,则确定对所述字段值进行压缩;
所述获取目标压缩方式,包括:
将字典压缩确定为目标压缩方式。
可选地,在所述按照所述目标压缩方式对所述字段值进行压缩的步骤之后,所述方法还包括:
获取所述字符串在所述待传输数据的全部字段值中的位置信息,将所述位置信息添加至压缩后的字符串的首部或尾部。
可选地,所述方法还包括:
将所述待传输数据存入区块链。
根据本公开实施例的第二方面,提供一种数据传输装置,包括:
获取模块,用于获取待传输数据,其中,所述待传输数据包括多个字段名、与所述多个字段名一一对应的字段值;
压缩模块,用于对所述获取模块获取到的至少一个所述字段值进行压缩;
封装模块,用于将所述获取模块获取到的所述多个字段名、所述压缩模块压缩后的至少一个字段值以及未压缩的字段值作为报文体,将所述报文体与报文头进行封装,得到数据报文;
发送模块,用于将所述封装模块得到的所述数据报文发送至目标接收方。
根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面提供的所述数据传输方法的步骤。
根据本公开实施例的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面提供的所述数据传输方法的步骤。
在上述技术方案中,在获取到待传输数据后,首先对其中的至少一个字段值进行压缩;之后,将待传输数据中的多个字段名、压缩后的至少一个字段值以及未压缩的字段值作为报文体,并将该报文体与报文头封装为数据报文;最后,将该数据报文发送至目标接收方。由于仅对待传输数据中的至少一个字段值进行压缩,而不对字段名进行压缩,因此,用户可以通过字段名获知待传输数据的主要内容,从而可以保障传输内容的可读性和易读性,同时,还可以保证数据的传输效率。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种数据传输方法的流程图。
图2是根据一示例性实施例示出的一种对至少一个字段值进行压缩的方法的流程图。
图3是根据另一示例性实施例示出的一种对至少一个字段值进行压缩的方法的流程图。
图4是根据另一示例性实施例示出的一种对至少一个字段值进行压缩的方法的流程图。
图5是根据另一示例性实施例示出的一种对至少一个字段值进行压缩的方法的流程图。
图6是根据另一示例性实施例示出的一种对至少一个字段值进行压缩的方法的流程图。
图7是根据另一示例性实施例示出的一种数据传输方法的流程图。
图8是根据一示例性实施例示出的一种数据传输装置的框图。
图9是根据另一示例性实施例示出的一种数据传输装置的框图。
图10是根据一示例性实施例示出的一种电子设备的框图。
图11是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1是根据一示例性实施例示出的一种数据传输方法的流程图。如图1所示,该方法可以包括以下步骤101~步骤104。
在步骤101中,获取待传输数据。
其中,该待传输数据可以包括多个字段名、与该多个字段名一一对应的字段值。
例如,在某电子商务系统中,待传输数据包括以下字段:time(时间)、userid(客户id)、price(交易金额)、dese(交易描述),其中,上述各字段名对应的字段值分别为2018年12月10日、123、100.65、“a test order”。
在步骤102中,对待传输数据中的至少一个字段值进行压缩。
在本公开中,为了保障传输内容的可读性和易读性,可以不对能够代表待传输数据的主要内容的字段名进行压缩,而对该待传输数据中的至少一个字段值进行压缩。
在步骤103中,将待传输数据中的多个字段名、压缩后的至少一个字段值以及未压缩的字段值作为报文体,将该报文体与报文头进行封装,得到数据报文。
在本公开中,数据报文是网络传输数据的基本单元,它可以包括一个报文头和一个报文体,其中,报文头可以用于描述该待传输数据的目标接收方以及该待传输数据与其他数据之间的关系,报文体由多个字段名、压缩后的至少一个字段值以及未压缩的字段值这三部分构成,即,报文体=多个字段名+压缩后的至少一个字段值+未压缩的字段值。特殊地,当上述步骤102对上述待传输数据的中的所有字段值进行压缩时,上述未压缩的字段值为空,此时,上述报文体实际上由多个字段名和压缩后的所有字段值这两部分构成,即,报文体=多个字段名+压缩后的所有字段值。
在步骤104中,将数据报文发送至目标接收方。
在本公开中,在通过上述步骤103获得数据报文后,可以将其发送至报文头中所描述的目标接收方,该目标接收方接收该数据报文。
在上述技术方案中,在获取到待传输数据后,首先对其中的至少一个字段值进行压缩;之后,将待传输数据中的多个字段名、压缩后的至少一个字段值以及未压缩的字段值作为报文体,并将该报文体与报文头封装为数据报文;最后,将该数据报文发送至目标接收方。由于仅对待传输数据中的至少一个字段值进行压缩,而不对字段名进行压缩,因此,用户可以通过字段名获知待传输数据的主要内容,从而可以保障传输内容的可读性和易读性,同时,还可以保证数据的传输效率。
为了使本领域技术人员更加理解本发明实施例提供的技术方案,下面针对上述步骤102中的对待传输数据中的至少一个字段值进行压缩进行详细说明。
在本公开中,可以对待传输数据中的所有字段值进行压缩,还可以对待传输数据中的部分字段值进行压缩,并且,可以针对不同的数据类型采用不同的压缩方式。具体来说,可以通过图2中所示的步骤1021~步骤1024来实现。
在步骤1021中,针对待传输数据中的每个字段值,获取该字段值的数据类型。
在本公开中,上述待传输数据中的字段值的数据类型可以为整数型数据、浮点型数据、布尔型数据、字符串型数据、文件型数据等。
在步骤1022中,至少根据该字段值的数据类型,确定是否对该字段值进行压缩。
在步骤1023中,若确定对该字段值进行压缩,则获取目标压缩方式。
在步骤1024中,按照目标压缩方式对字段值进行压缩。
在一种实施方式中,在获取到待传输数据中各字段值的数据类型后,可以通过图3中所示的步骤10221来确定是否对字段值进行压缩,之后,根据步骤10231~步骤10233来获取目标压缩方式;最后,按照该目标压缩方式对该字段值进行压缩。
在步骤10221中,若字段值为浮点类型数据,则确定对该字段值进行压缩。
在本公开中,上述浮点类型数据可以为单精度浮点数,也可以为双精度浮点数。
在步骤10231中,获取当前CPU占有率。
在步骤10232中,确定当前CPU占有率所属的目标CPU占有率范围。
在步骤10233中,根据预设的CPU占有率范围和压缩方式的对应关系,确定与目标CPU占用率范围对应的目标压缩方式。
在本公开中,上述预设的CPU占有率范围和压缩方式的对应关系中,CPU占有率范围的上限值越高,其对应的压缩方式的压缩率越低,这样,可以采用当前CPU能够承担的、压缩率较高的压缩方式对浮点类型的字段值进行压缩,在充分利用系统资源的同时,保证了数据传输的效率。
具体来说,可以通过以下方式来对待传输数据中的至少一个字段值进行压缩:若字段值为浮点类型数据,则可以确定对该字段值进行压缩;之后,获取当前CPU占有率,并确定该当前CPU占有率所属的目标CPU占有率范围;接下来,根据预设的CPU占有率范围和压缩方式的对应关系,确定与上述目标CPU占用率范围对应的目标压缩方式;最后,采用该目标压缩方式对上述字段值进行压缩。
示例地,上述预设的CPU占有率范围和压缩方式的对应关系如表1中所示:
表1 CPU占有率范围和压缩方式的对应关系表
CPU占有率范围 压缩方式
[0%,40%) zlib
[40%,50%) gzip
[50%,60%) snppy
[60%,100%] 霍夫曼压缩方式
如上表1所示,当CPU占有率在[0%,40%)范围内时,可以采用zlib压缩方式对字段值进行压缩;当CPU占有率在[40%,50%)范围内时,可以采用gzip压缩方式对字段值进行压缩;当CPU占有率在[50%,60%)范围内时,可以采用snappy压缩方式对字段值进行压缩;当CPU占有率在[60%,100%]范围内时,可以采用霍夫曼压缩方式对字段值进行压缩。其中,zlib、gzip、snappy、霍夫曼压缩方式的压缩率逐渐降低。
示例地,上述待传输数据中的某一字段值为浮点类型数据,且获取到的当前CPU占有率为56%,则可以确定该当前CPU占有率所属的目标CPU占有率范围为[50%,60%),从上表1可知,与该[50%,60%)这一CPU占有率范围对应的压缩方式为snappy,因此,可以将snappy压缩方式确定为目标压缩方式;之后,可以按照snappy压缩方式对上述字段值进行压缩。
示例地,上述待传输数据中的某一字段值为浮点类型数据,且获取到的当前CPU占有率为29%,则可以确定该当前CPU占有率所属的目标CPU占有率范围为[0%,40%),从上表1可知,与该[0%,40%)这一CPU占有率范围对应的压缩方式为zlib,因此,可以将zlib压缩方式确定为目标压缩方式;之后,可以按照zlib压缩方式对上述字段值进行压缩。
在另一种实施方式中,可以针对上述待传输数据中、类型为大文件的字段值进行压缩,并且采用与该文件相对应的方式进行压缩,以提升压缩率,从而可以进一步提升数据的传输效率、减低传输成本。具体来说,在获取到待传输数据中各字段值的数据类型后,可以通过图4中所示的步骤10222来确定是否对字段值进行压缩,之后,根据步骤10234来获取目标压缩方式;最后,按照该目标压缩方式对该字段值进行压缩。
在步骤10222中,若待传输数据中的字段值包含文件、且该文件的大小大于预设容量阈值,则确定对该字段值进行压缩。
在步骤10234中,将与文件对应的压缩方式确定为目标压缩方式。
在本公开中,上述文件可以例如是视频、音频、图像、文本等类型,若该文件的大小大于上述预设容量阈值,则可以确定对该字段值进行压缩,并将与该文件相匹配的压缩方式确定为目标压缩方式,并按照该目标压缩方式方式对该文件进行压缩。示例地,当上述文件为视频时,目标压缩方式可以为MJPEG、MPEG1/2、MPEG4(SP/ASP)、H.264/AVC、VC-1、RealVideo中的任一者;当上述文件为音频时,目标压缩方式可以为时域压缩、变换压缩、子带压缩中的任一者;当上述文件为图像时,目标压缩方式可以为熵编码法、色度抽样、变换编码、分形压缩中的任一者;当上述文件为文本时,目标压缩方式可以为符号有限集合(例如,二进制、ASCII码)编码及替换方法、霍夫曼压缩中的任一者。
示例地,上述待传输数据内容为:
Name,age,height,weight,comp,city,…,description
Zhangsan,22,180,80kg,baidu,Beijing,…,XXX
Lisi,22,180,80kg,baidu,Beijing,…,XXX
wanger,242,180,80kg,baidu,Beijing,…,XXX
……
其中,Name、age、height、weight、comp、city、…、description为待传输数据的字段名,与各字段名对应的字段值为上述传输内容中的第二行及其后续的内容;并且,字段名description对应的字段值为文本、且该文本的大小大于上述预设容量阈值,此时,可以采用符号有限集合(例如,二进制、ASCII码)编码及替换方法、霍夫曼压缩等方式对其进行压缩。
在又一种实施方式中,若上述待传输数据中存在多次重复出现的字符串,则可以用一个较少位数的符号替代该字符串,以减少数据报文的长度、提升数据传输效率,即,可以采用字典压缩的方式对其进行压缩。具体来说,在获取到待传输数据中各字段值的数据类型后,可以通过图5中所示的步骤10223来确定是否对字段值进行压缩,之后,根据步骤10235来获取目标压缩方式;最后,按照该目标压缩方式对该字段值进行压缩。
在步骤10223中,若待传输数据的字段值中存在出现次数超过预设次数阈值的字符串,则确定对该字段值进行压缩。
在步骤10235中,将字典压缩确定为目标压缩方式。
在本公开中,当上述待传输数据的字段值中的任一字符串的出现次数大于上述预设次数阈值时,可以采用预设的符号替代该字符串,以进行字典压缩。
示例地,上述待传输数据内容为:
Name,age,height,weight,comp,city,…,description
Zhangsan,22,180cm,80kg,西二旗百度,Zhangsan Beijing,…,XXX
Lisi,22,180cm,80kg,西二旗百度,Zhangsan Beijing,…,XXX
wanger,242,180cm,80kg,西二旗百度,Zhangsan Beijing,…,XXX
……
其中,Name、age、height、weight、comp、city、…、description为待传输数据的字段名,与各字段名对应的字段值为上述传输内容中的第二行及其后续的内容,上述预设次数阈值为2。可见,“180cm”、“80kg”、“西二旗”、“百度”等字符串出现次数均大于2次,此时,可以采用预设的符号替代它们,以进行字典压缩。例如,利用符号“b4”(十六进制编码)替代字符串“180cm”、利用符号“bd”(缩写方式)替代字符串“百度”。
另外,为了进一步提升传输内容的可读性,可以在上述经过字典压缩后的字符串的首部或尾部加上该字符串的位置信息。具体来说,如图6所示,上述方法还可以包括以下步骤1025。
在步骤1025中,获取字符串在待传输数据的全部字段值中的位置信息,将该位置信息添加至压缩后的字符串的首部或尾部。
示例地,上述待传输数据内容为:
Name,age,height,weight,kinship,city,…,description
Zhangsan,22,180cm,80kg,Zhangsan父亲,Zhangsan Beijing,…,XXX
Lisi,22,180cm,80kg,Lisi母亲,Zhangsan Beijing,…,XXX
wanger,24,180cm,80kg,wanger姐姐,Zhangsan Beijing,…,XXX
……
其中,Name、age、height、weight、kinship、city、…、description为待传输数据的字段名,与各字段名对应的字段值为上述传输内容中的第二行及其后续的内容,上述预设次数阈值为4。可见,字符串“Zhangsan”的出现次数大于4次,此时,可以采用预设的符号替代它,以进行字典压缩。例如,利用符号“Zs”(缩写方式)替代字符串“Zhangsan”,并且,字符串“Zhangsan”在待传输数据的全部字段值中的位置信息分别为0、4、5等,因此,可以将该位置信息添加至相应字符串的首部或尾部。以将该位置信息添加至相应字符串的首部为例,对字段名Name对应的字段值“Zhangsan”进行压缩后为“0Zs”、对字段名kinship对应的字段值“Zhangsan父亲”进行压缩后为“4Zs父亲”、对字段名city对应的字段值“ZhangsanBeijing”进行压缩后为“5ZsBeijing”。
另外,需要说明的是,上述预设容量阈值、预设次数阈值均可以是用户设定的值,也可以是默认的经验值,在本公开中均不作具体限定。
此外,上述数据报文在传输的过程中存在被篡改的风险,因此,为了提升数据传输的安全性,可以引入区块链技术。具体来说,上述方法还可以包括图7中所示的步骤105。
在步骤105中,将待传输数据存入区块链。
在本公开中,在获取到待传输数据后,可以将其存入区块链,这样,目标接收方在接收到上述数据报文后,可以对其进行解压,并将解压后的数据内容与区块链中存储的上述待传输数据进行比对,以确定其接收到的数据报文在传输过程中是否被篡改,即验证其接收到的数据报文的有效性,从而提高了数据传输的安全性。
另外,需要说明的是,该步骤105可以在上述步骤102之前执行,也可以在上述步骤102之后执行,还可以与上述步骤102同时执行,在本公开中不作具体限定。
图8是根据一示例性实施例示出的一种数据传输装置的框图。参照图8,该装置800可以包括:获取模块801,用于获取待传输数据,其中,所述待传输数据包括多个字段名、与所述多个字段名一一对应的字段值;压缩模块802,用于对所述获取模块获取到的至少一个所述字段值进行压缩;封装模块803,用于将所述获取模块801获取到的所述多个字段名、所述压缩模块802压缩后的至少一个字段值以及未压缩的字段值作为报文体,将所述报文体与报文头进行封装,得到数据报文;发送模块804,用于将所述封装模块803得到的所述数据报文发送至目标接收方。
可选地,所述压缩模块802包括:第一获取子模块,用于针对所述获取模块801获取到的所述待传输数据中的每个字段值,获取所述字段值的数据类型;确定子模块,用于至少根据所述第一获取子模块获取到的所述数据类型,确定是否对所述字段值进行压缩;第二获取子模块,用于若所述确定子模块确定对所述字段值进行压缩,则获取目标压缩方式;压缩子模块,用于按照所述第二获取子模块获取到的所述目标压缩方式对所述字段值进行压缩。
可选地,所述确定子模块,用于若所述字段值为浮点类型数据,则确定对所述字段值进行压缩;所述第二获取子模块,包括:占有率获取子模块,用于获取当前CPU占有率;范围确定子模块,用于确定占有率获取子模块获取到的所述当前CPU占有率所属的目标CPU占有率范围;目标压缩方式确定子模块,用于根据预设的CPU占有率范围和压缩方式的对应关系,确定与所述范围确定子模块确定出的所述目标CPU占有率范围对应的目标压缩方式。
可选地,所述确定子模块,用于若所述字段值包含文件、且所述文件的大小大于预设容量阈值,则确定对所述字段值进行压缩;所述第二获取子模块,用于将与所述文件对应的压缩方式确定为目标压缩方式。
可选地,所述确定子模块,用于若所述字段值中存在出现次数超过预设次数阈值的字符串,则确定对所述字段值进行压缩;所述第二获取子模块,用于将字典压缩确定为目标压缩方式。
可选地,所述压缩模块802还可以包括:添加子模块,用于在所述压缩子模块按照所述目标压缩方式对所述字段值进行压缩之后,获取所述字符串在所述待传输数据的全部字段值中的位置信息,将所述位置信息添加至压缩后的字符串的首部或尾部。
图9是根据一示例性实施例示出的一种数据传输装置的框图。参照图9,上述装置800可以包括存储模块805,用于将所述获取模块801获取到的所述待传输数据存入区块链。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开提供的上述数据传输方法的步骤。
图10是根据一示例性实施例示出的一种电子设备1000的框图。如图10所示,该电子设备1000可以包括:处理器1001,存储器1002。该电子设备1000还可以包括多媒体组件1003,输入/输出(I/O)接口1004,以及通信组件1005中的一者或多者。
其中,处理器1001用于控制该电子设备1000的整体操作,以完成上述的数据传输方法中的全部或部分步骤。存储器1002用于存储各种类型的数据以支持在该电子设备1000的操作,这些数据例如可以包括用于在该电子设备1000上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器1002可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件1003可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1002或通过通信组件1005发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口1004为处理器1001和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件1005用于该电子设备1000与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件1005可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备1000可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的数据传输方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的数据传输方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1002,上述程序指令可由电子设备1000的处理器1001执行以完成上述的数据传输方法。
图11是根据一示例性实施例示出的一种电子设备1100的框图。例如,电子设备1100可以被提供为一服务器。参照图11,电子设备1100包括处理器1122,其数量可以为一个或多个,以及存储器1132,用于存储可由处理器1122执行的计算机程序。存储器1132中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1122可以被配置为执行该计算机程序,以执行上述的数据传输方法。
另外,电子设备1100还可以包括电源组件1126和通信组件1150,该电源组件1126可以被配置为执行电子设备1100的电源管理,该通信组件1150可以被配置为实现电子设备1100的通信,例如,有线或无线通信。此外,该电子设备1100还可以包括输入/输出(I/O)接口1158。电子设备1100可以操作基于存储在存储器1132的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的数据传输方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1132,上述程序指令可由电子设备1100的处理器1122执行以完成上述的数据传输方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

Claims (9)

1.一种数据传输方法,其特征在于,包括:
获取待传输数据,其中,所述待传输数据包括多个字段名、与所述多个字段名一一对应的字段值;
针对所述待传输数据中的每个字段值,获取所述字段值的数据类型;
至少根据所述数据类型,确定是否对所述字段值进行压缩;
若确定对所述字段值进行压缩,则获取目标压缩方式;
按照所述目标压缩方式对所述字段值进行压缩,其中,针对不同的数据类型采用不同的压缩方式;
将所述多个字段名、压缩后的至少一个字段值以及未压缩的字段值作为报文体,将所述报文体与报文头进行封装,得到数据报文;
将所述数据报文发送至目标接收方。
2.根据权利要求1所述的方法,其特征在于,所述至少根据所述数据类型,确定是否对所述字段值进行压缩,包括:
若所述字段值为浮点类型数据,则确定对所述字段值进行压缩;
所述获取目标压缩方式,包括:
获取当前CPU占有率;
确定所述当前CPU占有率所属的目标CPU占有率范围;
根据预设的CPU占有率范围和压缩方式的对应关系,确定与所述目标CPU占有率范围对应的目标压缩方式。
3.根据权利要求1所述的方法,其特征在于,所述至少根据所述数据类型,确定是否对所述字段值进行压缩,包括:
若所述字段值包含文件、且所述文件的大小大于预设容量阈值,则确定对所述字段值进行压缩;
所述获取目标压缩方式,包括:
将与所述文件对应的压缩方式确定为目标压缩方式。
4.根据权利要求1所述的方法,其特征在于,所述至少根据所述数据类型,确定是否对所述字段值进行压缩,包括:
若所述字段值中存在出现次数超过预设次数阈值的字符串,则确定对所述字段值进行压缩;
所述获取目标压缩方式,包括:
将字典压缩确定为目标压缩方式。
5.根据权利要求4所述的方法,其特征在于,在所述按照所述目标压缩方式对所述字段值进行压缩的步骤之后,所述方法还包括:
获取所述字符串在所述待传输数据的全部字段值中的位置信息,将所述位置信息添加至压缩后的字符串的首部或尾部。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
将所述待传输数据存入区块链。
7.一种数据传输装置,其特征在于,包括:
获取模块,用于获取待传输数据,其中,所述待传输数据包括多个字段名、与所述多个字段名一一对应的字段值;
压缩模块,用于对所述获取模块获取到的至少一个所述字段值进行压缩;
封装模块,用于将所述获取模块获取到的所述多个字段名、所述压缩模块压缩后的至少一个字段值以及未压缩的字段值作为报文体,将所述报文体与报文头进行封装,得到数据报文;
发送模块,用于将所述封装模块得到的所述数据报文发送至目标接收方;
其中,所述压缩模块包括:
第一获取子模块,用于针对所述获取模块获取到的所述待传输数据中的每个字段值,获取所述字段值的数据类型;
确定子模块,用于至少根据所述第一获取子模块获取到的所述数据类型,确定是否对所述字段值进行压缩;
第二获取子模块,用于若所述确定子模块确定对所述字段值进行压缩,则获取目标压缩方式;
压缩子模块,用于按照所述第二获取子模块获取到的所述目标压缩方式对所述字段值进行压缩,其中,针对不同的数据类型采用不同的压缩方式。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6中任一项所述方法的步骤。
9.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-6中任一项所述方法的步骤。
CN201811559440.5A 2018-12-19 2018-12-19 数据传输方法、装置、计算机可读存储介质及电子设备 Active CN109831409B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811559440.5A CN109831409B (zh) 2018-12-19 2018-12-19 数据传输方法、装置、计算机可读存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811559440.5A CN109831409B (zh) 2018-12-19 2018-12-19 数据传输方法、装置、计算机可读存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN109831409A CN109831409A (zh) 2019-05-31
CN109831409B true CN109831409B (zh) 2021-06-18

Family

ID=66858840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811559440.5A Active CN109831409B (zh) 2018-12-19 2018-12-19 数据传输方法、装置、计算机可读存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN109831409B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148694B (zh) * 2019-06-28 2022-06-14 华为技术有限公司 一种用于电子设备的数据压缩、数据解压方法及电子设备
CN112311720B (zh) * 2019-07-23 2022-10-14 腾讯科技(深圳)有限公司 数据的传输方法及装置
CN111628995B (zh) * 2020-05-26 2023-06-16 新华三信息安全技术有限公司 基于SRv6的SID压缩方法、装置、设备及存储介质
CN111935261B (zh) * 2020-07-30 2023-08-08 北京达佳互联信息技术有限公司 应答消息处理方法、装置、电子设备及存储介质
CN114820226A (zh) * 2021-01-19 2022-07-29 上海勘测设计研究院有限公司 水电站数据的采集与传输方法、接收与存储方法
CN113886346A (zh) * 2021-08-31 2022-01-04 联想(北京)有限公司 一种数据处理方法及电子设备
CN114449041A (zh) * 2021-12-30 2022-05-06 东软集团股份有限公司 数据传输方法、装置、存储介质及电子设备
CN115022302B (zh) * 2022-08-08 2022-11-25 丹娜(天津)生物科技股份有限公司 设备故障数据远程传输方法、装置、电子设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003073719A1 (en) * 2002-02-28 2003-09-04 Nokia Corporation Http message compression
CN1901537A (zh) * 2005-07-22 2007-01-24 国际商业机器公司 自适应会话压缩管理方法、压缩管理器及会话管理系统
CN103957241A (zh) * 2014-04-16 2014-07-30 中国工商银行股份有限公司 一种基于报文数据的通信方法及装置
CN104283777A (zh) * 2013-07-03 2015-01-14 华为技术有限公司 报文压缩的方法和装置
CN104468044A (zh) * 2014-12-05 2015-03-25 北京国双科技有限公司 应用于网络传输中的数据压缩的方法及装置
CN108696899A (zh) * 2017-04-07 2018-10-23 北京京东尚科信息技术有限公司 Sip消息传输与接收方法及传输与接收装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003073719A1 (en) * 2002-02-28 2003-09-04 Nokia Corporation Http message compression
CN1901537A (zh) * 2005-07-22 2007-01-24 国际商业机器公司 自适应会话压缩管理方法、压缩管理器及会话管理系统
CN104283777A (zh) * 2013-07-03 2015-01-14 华为技术有限公司 报文压缩的方法和装置
CN103957241A (zh) * 2014-04-16 2014-07-30 中国工商银行股份有限公司 一种基于报文数据的通信方法及装置
CN104468044A (zh) * 2014-12-05 2015-03-25 北京国双科技有限公司 应用于网络传输中的数据压缩的方法及装置
CN108696899A (zh) * 2017-04-07 2018-10-23 北京京东尚科信息技术有限公司 Sip消息传输与接收方法及传输与接收装置

Also Published As

Publication number Publication date
CN109831409A (zh) 2019-05-31

Similar Documents

Publication Publication Date Title
CN109831409B (zh) 数据传输方法、装置、计算机可读存储介质及电子设备
US9794828B2 (en) Radio unit, baseband processing unit and base station system
US10817460B2 (en) RDMA data sending and receiving methods, electronic device, and readable storage medium
CN112399479B (zh) 用于数据传输的方法、电子设备和存储介质
US10924210B2 (en) Method, apparatus, and device for determining polar code encoding and decoding
US20170078916A1 (en) Data processing method and apparatus
US20020057715A1 (en) Communication system and method utilizing request-reply communication patterns for data compression
WO2009000119A1 (fr) Système de transmission de données et son procédé de transmission
CN112995199B (zh) 数据编解码方法、装置、传输系统、终端设备及存储介质
CN113067674A (zh) 网络文本数据的传输方法、系统、电子设备及存储介质
CN115499506B (zh) 一种基于lzw算法的mqtt信息传输数据压缩方法及服务器
CN107615810B (zh) 用于在线网络代码的包头压缩系统和方法
CN110149631B (zh) 一种适用于云音箱建立连接的方法及系统
WO2013182079A1 (zh) 一种对短消息进行编码转换的方法及装置
CN106878054B (zh) 一种业务处理方法和装置
WO2020259704A1 (zh) 一种用于电子设备的数据压缩、数据解压方法及电子设备
WO2021036189A1 (zh) Rdma数据发送及接收方法、电子设备及可读存储介质
EP2113845A1 (en) Character conversion method and apparatus
TWI645698B (zh) 資料發送裝置、資料接收裝置及其方法
CN110740123A (zh) 数据压缩方法和基于其的数据传输方法、终端设备和系统
CN110995274B (zh) 一种解压缩方法及装置
CN105491544A (zh) 一种短消息压缩通信方法和系统
CN116131861A (zh) 数值数据压缩方法
Das et al. Design an Algorithm for Data Compression using Pentaoctagesimal SNS
KR20200126916A (ko) 데이터 스트림들을 압축하는 방법들 및 장치

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