CN112333186B - 数据通信方法、装置、设备及存储介质 - Google Patents
数据通信方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112333186B CN112333186B CN202011207907.7A CN202011207907A CN112333186B CN 112333186 B CN112333186 B CN 112333186B CN 202011207907 A CN202011207907 A CN 202011207907A CN 112333186 B CN112333186 B CN 112333186B
- Authority
- CN
- China
- Prior art keywords
- data
- communication
- protocol
- communicated
- short
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及计算机技术领域,公开了一种数据通信方法、装置、设备以及存储介质,该方法包括:获取待通信数据和通信类型,并根据数据序列化协议对待通信数据进行编码,得到编码数据;根据加密算法对编码数据进行加密,得到加密编码数据;若通信类型为长链通信,则根据通信协议构造规则和加密编码数据生成协议数据作为长链路数据流;若通信类型为短链通信,则获取请求体,并将加密编码数据载入请求体中,得到短链路数据流;将长链路数据流或短链路数据流发送至第二终端。本方法根据数据序列化协议进行二进制编码和加密,减少数据的空间占用,提高通信效率,并保护了数据安全性。此外,本发明还涉及区块链技术,所述待通信数据可存储于区块链中。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据通信方法、装置、设备及存储介质。
背景技术
后端进行通信交互时,根据不同的业务场景,会采取不同的通信方式进行数据传输。随着项目业务范围不断被拓展,其实现的功能不断增加,进行网络传输的一些性能也越来越变得重要。尤其是在移动端APP内,在频繁进行网络传输且有一定数据量传输的场景中,数据安全、数据包的大小等都是评估移动端APP的重要性能指标。减小网络请求时数据包大小、提高网络传输性能会极大的提升用户体验度。
传统的JSON作为通信数据载体,因简单易懂、对平台的良好支持性而被广泛使用,能满足绝大部分使用场景。但在移动端APP部分场景内,JSON作为一种文本格式在这些场景下并不能满足传输性能的要求,且若没有二次加密处理的条件下,其数据内容很容易被直观的知晓。另外JSON在开发流程使用时,按照目前的工作流,前后端会在简单的约定好通信接口和数据格式后分别进行开发,前端在联调之前还要自行模拟数据进行接口测试验证,在联调时如果发现数据格式传输不正确还要在进行修改验证,从而降低了处理效率。
发明内容
本申请的主要目的是解决现有的数据通信过程中以JSON作为通信数据载体导致传输性能较低的技术问题。
本发明第一方面提供了一种数据通信方法,包括:
获取待通信数据,并根据预设的数据序列化协议对所述待通信数据进行编码,得到编码数据;
根据预设的加密算法对所述编码数据进行加密,得到加密编码数据;
获取所述待通信数据的通信类型;
若所述通信类型为长链通信,则根据所述长链通信对应的通信协议构造规则和所述加密编码数据生成协议数据,并将所述协议数据作为长链路数据流;
若所述通信类型为短链通信,则获取所述短链通信的请求体,并将所述加密编码数据载入所述请求体中,得到短链路数据流;
将所述长链路数据流或短链路数据流作为第一传送数据流,并将所述第一传送数据流发送至第二终端
可选的,在本发明第一方面的第一种实现方式中,所述获取待通信数据,并根据预设的数据序列化协议对所述待通信数据进行编码,得到编码数据包括:
获取所述待通信数据;
判断所述待通信数据的字段类型,得到判断结果;
根据所述判断结果中表示的字段类型,选择对应的编码规则;
根据所述编码规则对所述待通信数据进行编码,得到编码数据。
可选的,在本发明第一方面的第二种实现方式中,所述字段类型包括正整型变量、负整型变量、浮点数和字符串,所述根据所述判断结果中表示的字段类型,选择对应的编码规则包括:
若所述字段类型为正整型变量,则选择Varint编码;
若所述字段类型为负整型变量,则选择Zigzag编码;
若所述字段类型为浮点数,则选择固定64bit或32bit编码;
若所述字段类型为字符串,则选择可变长编码。
可选的,在本发明第一方面的第三种实现方式中,所述根据所述长链通信对应的通信协议构造规则和所述加密编码数据生成协议数据,并将所述协议数据作为长链路数据流包括:
获取协议头信息,并根据所述协议头信息生成协议头,其中,所述协议头信息包括协议版本号、自增数字序列号、业务标志和数据包长度;
将所述加密算法的字段和发送所述待通信数据的第一终端的用户唯一标识拼接得到协议体头;
根据所述协议体头和所述加密编码数据生成协议体;
根据所述协议体和所述协议头生成协议数据,并将所述协议数据作为长链路数据流。
可选的,在本发明第一方面的第四种实现方式中,所述将所述第一传送数据流发送至第二终端包括:
判断所述第一传送数据流为长链路数据流还是短链路数据流;
若为长链路数据流,则使用TCP链路将所述第一传送数据流发送至所述第二终端;
若为短链路数据流,则将所述第一传送数据流以发送POST请求的方式发送至第二终端。
可选的,在本发明第一方面的第五种实现方式中,在所述将所述长链路数据流或短链路数据流作为第一传送数据流,并将所述第一传送数据流发送至第二终端之后,还包括:
接收所述第二终端返回的第二传送数据流,并对所述第二传送数据流进行解析,得到对应的通信类型;
若所述通信类型为长链通信,则根据所述第二传送数据流的协议头中的数据包长度,将所述第二传送数据流中的数据的分割为至少一个单数据包体,并对所述单数据包体进行解密处理和解码处理,得到第一通信数据;
若所述通信类型为短链通信,则识别所述第二传送数据中的请求体,并将所述请求体中的数据进行解密处理和解码处理,得到第二通信数据。
可选的,在本发明第一方面的第六种实现方式中,所述对所述单数据包体进行解密处理和解码处理,得到第一通信数据包括:
将所述单数据包体划分为协议头和协议体;
根据所述协议体中的协议体头,确定所述第二传送数据流的加密算法,并根据所述加密算法对所述单数据包体进行解密,得到编码数据;
根据所述编码数据中的编码规则对所述编码数据进行解码,得到第一通信数据。
本发明第二方面提供了一种数据通信装置,包括:
编码模块,用于获取待通信数据,并根据预设的数据序列化协议对所述待通信数据进行编码,得到编码数据;
加密模块,用于根据预设的加密算法对所述编码数据进行加密,得到加密编码数据;
类型获取模块,用于获取所述待通信数据的通信类型;
长链通信模块,用于当所述通信类型为长链通信时,根据所述长链通信对应的通信协议构造规则和所述加密编码数据生成协议数据,并将所述协议数据作为长链路数据流;
短链通信模块,用于当所述通信类型为短链通信时,获取所述短链通信的请求体,并将所述加密编码数据载入所述请求体中,得到短链路数据流;
发送模块,用于将所述长链路数据流或短链路数据流作为第一传送数据流,并将所述第一传送数据流发送至第二终端。
可选的,在本发明第二方面的第一种实现方式中,所述编码模块包括:
获取单元,用于获取所述待通信数据;
判断单元,用于判断所述待通信数据的字段类型,得到判断结果;
选择单元,用于根据所述判断结果中表示的字段类型,选择对应的编码规则;
数据编码单元,用于根据所述编码规则对所述待通信数据进行编码,得到编码数据。
可选的,在本发明第二方面的第二种实现方式中,所述选择单元具体用于:
若所述字段类型为正整型变量,则选择Varint编码;
若所述字段类型为负整型变量,则选择Zigzag编码;
若所述字段类型为浮点数,则选择固定64bit或32bit编码;
若所述字段类型为字符串,则选择可变长编码。
可选的,在本发明第二方面的第三种实现方式中,所述长链通信模块具体用于:
获取协议头信息,并根据所述协议头信息生成协议头,其中,所述协议头信息包括协议版本号、自增数字序列号、业务标志和数据包长度;
将所述加密算法的字段和发送所述待通信数据的第一终端的用户唯一标识拼接得到协议体头;
根据所述协议体头和所述加密编码数据生成协议体;
根据所述协议体和所述协议头生成协议数据,并将所述协议数据作为长链路数据流。
可选的,在本发明第二方面的第四种实现方式中,所述发送模块具体用于:
判断所述第一传送数据流为长链路数据流还是短链路数据流;
若为长链路数据流,则使用TCP链路将所述第一传送数据流发送至所述第二终端;
若为短链路数据流,则将所述第一传送数据流以发送POST请求的方式发送至第二终端。
可选的,在本发明第二方面的第五种实现方式中,所述数据通信装置还包括接收模块,所述接收模块包括:
数据接收单元,用于接收所述第二终端返回的第二传送数据流,并对所述第二传送数据流进行解析,得到对应的通信类型;
长链解析单元,用于当所述通信类型为长链通信时,根据所述第二传送数据流的协议头中的数据包长度,将所述第二传送数据流中的数据的分割为至少一个单数据包体,并对所述单数据包体进行解密处理和解码处理,得到第一通信数据;
短链解析单元,用于当所述通信类型为短链通信时,识别所述第二传送数据中的请求体,并将所述请求体中的数据进行解密处理和解码处理,得到第二通信数据。
可选的,在本发明第二方面的第六种实现方式中,所述长链解析单元具体用于:
将所述单数据包体划分为协议头和协议体;
根据所述协议体中的协议体头,确定所述第二传送数据流的加密算法,并根据所述加密算法对所述单数据包体进行解密,得到编码数据;
根据所述编码数据中的编码规则对所述编码数据进行解码,得到第一通信数据。
本发明第三方面提供了一种数据通信设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据通信设备执行上述的数据通信方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的数据通信方法。
本发明的技术方案中,获取待通信数据,并根据预设的数据序列化协议对所述待通信数据进行编码,得到编码数据;根据预设的加密算法对所述编码数据进行加密,得到加密编码数据;获取所述待通信数据的通信类型若所述通信类型为长链通信,则根据所述长链通信对应的通信协议构造规则和所述加密编码数据生成协议数据,并将所述协议数据作为长链路数据流若所述通信类型为短链通信,则获取所述短链通信的请求体,并将所述加密编码数据载入所述请求体中,得到短链路数据流;将所述长链路数据流或短链路数据流作为第一传送数据流,并将所述第一传送数据流发送至第二终端。本方法通过将待通信数据通过数据序列化协议进行二进制编码,由于二进制数据的不可读性,以及进一步的数据加密,保证了待通信数据的安全性,降低请求劫持、伪造数据的可能性,并且通过编码,使得待通信数据的空间占用减小,通信效率提高,并根据通信类型进行不同的数据构造,以便接收端在收到数据后可以正确解析解码,此外,本发明还涉及区块链技术,所述待通信数据可存储于区块链中。
附图说明
图1为本发明实施例中数据通信方法的第一个实施例示意图;
图2为本发明实施例中数据通信方法的第二个实施例示意图;
图3为本发明实施例中数据通信方法的第三个实施例示意图;
图4为本发明实施例中数据通信方法的第四个实施例示意图;
图5为本发明实施例中数据通信方法的第五个实施例示意图;
图6为本发明实施例中数据通信装置的一个实施例示意图;
图7为本发明实施例中数据通信装置的另一个实施例示意图;
图8为本发明实施例中数据通信设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种数据通信方法、装置、设备及存储介质,本发明的技术方案中,获取待通信数据,并根据预设的数据序列化协议对所述待通信数据进行编码,得到编码数据;根据预设的加密算法对所述编码数据进行加密,得到加密编码数据;获取所述待通信数据的通信类型若所述通信类型为长链通信,则根据所述长链通信对应的通信协议构造规则和所述加密编码数据生成协议数据,并将所述协议数据作为长链路数据流若所述通信类型为短链通信,则获取所述短链通信的请求体,并将所述加密编码数据载入所述请求体中,得到短链路数据流;将所述长链路数据流或短链路数据流作为第一传送数据流,并将所述第一传送数据流发送至第二终端。本方法通过将待通信数据通过数据序列化协议进行二进制编码,由于二进制数据的不可读性,以及进一步的数据加密,保证了待通信数据的安全性,降低请求劫持、伪造数据的可能性,并且通过编码,使得待通信数据的空间占用减小,通信效率提高,并根据通信类型进行不同的数据构造,以便接收端在收到数据后可以正确解析解码,此外,本发明还涉及区块链技术,所述待通信数据可存储于区块链中。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中数据通信方法的第一个实施例包括:
101、获取待通信数据,并根据预设的数据序列化协议对待通信数据进行编码,得到编码数据;
可以理解的是,本发明的执行主体可以为数据通信装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
需要强调的是,为保证上述待通信数据的私密和安全性,上述待通信数据可以存储于一区块链的节点中。
在实际应用中,在数据通信过程中,一般根据JSON(JavaScript ObjectNotation,一下简称JSON)数据协议将待通信数据转换为JSON字符串进行数据传输,但在移动端APP部分场景内,JSON作为一种文本格式在这些场景下并不能满足传输性能的要求,且若没有二次加密处理的条件下,其数据内容很容易被直观的知晓,在本实施例中,在获取到待通信数据后,根据PB(Protocol Buffers)协议将待通信数据进行编码,Protocolbuffers是谷歌在2008年7月7号对外公布的开源项目,其被广泛用于各种结构化信息存储和交换,作为一个自定义的远程过程调用(RPC)系统,Protocol buffers用于在谷歌几乎所有的设备间通信。其主要特点有:1.采用二进制数据编码格式;2.支持C/C++、JAVA、C#、Python等多种语言,便于跨平台操作支持,Protocol Buffers能够将结构化数据序列化,需要说明的是,序列化就是将对象转换为字节流,即二进制字节数据流的形式传输出去,与序列化相对应的是反序列化,就是对字节流进行解析,将所述字节流反序列化为原来的对象。
在本实施例中,在进行通信前需要先进行数据构造,也就是对待通信数据进行编码的过程,通信双方预先定义了一份Schema文件,其中,所述Schema文件即ProtocolBuffers Shema,为PB所用的序列化预定义文件,用来定义接口字段相关信息,该文件详细描述了通信接口需要的各种字段信息,包括了字段类型、字段名和字段编号,而字段值就是依赖此定义进行编码的。
102、根据预设的加密算法对编码数据进行加密,得到加密编码数据;
103、获取待通信数据的通信类型;
在本实施例中,所述通信类型包括长链通信和短链通信,所谓长链通信,指的是在一个TCP连接上可以连续发送多个数据包,需要双方发检测包以维持此连接,一般需要自己做在线维持,短链通信指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,例如HTTP是无状态的短链接,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。长连接是相对于通常的短连接而说的,也就是长时间保持通信双方的连接状态。长连接多用于操作频繁,点对点的通讯(及时通讯),而且连接数不能太多。每个TCP连接都需要三次握手,建立连接,会比较耗时。如果每个操作都要先连接,再操作的话,处理速度会降低很多。长连接的特点是每个操作完后都不断开连接,直接发送数据包就可以了,不需要每次都建立连接。
在本实施例中,在对待通信数据编码获得编码数据后,还需要对编码数据进行加密,保证通信过程的安全性,其中对编码数据的加密算法主要包括aes和rsa两种加密算法。
104、若通信类型为长链通信,则根据长链通信对应的通信协议构造规则和加密编码数据生成协议数据,并将协议数据作为长链路数据流;
在本实施例中,当确定当前通信的通信类型是长链通信时,需要构造自定义的二进制通信协议数据,以便接收端在收到数据后可以正确解析解码。其中,定制的二进制通信协议数据主要是由协议头和协议体构成,协议头是定长数据,其包含了协议版本号,自增数字序列号,业务标志和数据包长度,协议体由协议体头和加密后的编码数据组成。协议体头为定长,由加密方式字段和用户唯一标志组成,通过获取上述信息,生成协议头和协议体,进而生成自定义的二进制通信协议。
在本实施例中,通信双方在TCP长链连接完成后,由于协议体是由协议体头和加密后的编码数据构成的,所以每发起一次长链请求,都需要构建相应的二进制通信协议,也就是协议数据,将协议数据由用户缓冲区交付给系统缓冲区中,通过TCP链路发送出去。
105、若通信类型为短链通信,则获取短链通信的请求体,并将加密编码数据载入请求体中,得到短链路数据流;
在本实施例中,当确定当前通信的通信类型是短链通信时,确定为HTTP(HyperText Transfer Protocol,超文本传输协议)请求方式,HTTP请求发送请求信息包括以下格式:请求行、请求头部、空行和请求体,其中请求行,用来说明请求类型,要访问的资源以及所使用的HTTP版本;请求头部,紧接着请求行(即第一行)之后的部分,用来说明服务器要使用的附加信息;空行,请求头部后面的空行是必须的,请求数据也叫主体,可以添加任意的其他数据。在本实施例中,当确定当前通信的通信类型是短链通信时,直接基于HTTP协议,将编码加密后的编码数据直接存放在请求数据中,并以POST的请求的方式发送,并且在协议头部,需要将Content-type字段设置为application/octet-stream,responseType设置为arraybuffer。设置完成后即可将请求发送出去。Http协议请求头中,使用Content-Type来表示具体请求中的媒体类型信息,application/octet-stream表示二进制流数据,arraybuffer为二进制数组。
106、将长链路数据流或短链路数据流作为第一传送数据流,并将第一传送数据流发送至第二终端。
在本实施例中,在本实施例中,根据长链通信生成的协议数据,由用户缓冲区交付给系统缓冲区中,发送端通过TCP链路发送出去,对于短链通信生成的请求体,发送端以POST的请求的方式发送。
在本实施例中,获取待通信数据,并根据预设的数据序列化协议对所述待通信数据进行编码,得到编码数据;根据预设的加密算法对所述编码数据进行加密,得到加密编码数据;获取所述待通信数据的通信类型若所述通信类型为长链通信,则根据所述长链通信对应的通信协议构造规则和所述加密编码数据生成协议数据,并将所述协议数据作为长链路数据流若所述通信类型为短链通信,则获取所述短链通信的请求体,并将所述加密编码数据载入所述请求体中,得到短链路数据流;将所述长链路数据流或短链路数据流作为第一传送数据流,并将所述第一传送数据流发送至第二终端。本方法通过将待通信数据通过数据序列化协议进行二进制编码,由于二进制数据的不可读性,以及进一步的数据加密,保证了待通信数据的安全性,降低请求劫持、伪造数据的可能性,并且通过编码,使得待通信数据的空间占用减小,通信效率提高,并根据通信类型进行不同的数据构造,以便接收端在收到数据后可以正确解析解码,此外,本发明还涉及区块链技术,所述待通信数据可存储于区块链中。
请参阅图2,本发明实施例中数据通信方法的第二个实施例包括:
201、获取待通信数据;
在本实施例中,在进行通信前需要先进行数据构造,也就是对待通信数据进行编码的过程,通信双方预先定义了一份Schema文件,该文件内具体描述了通信接口所需的各种字段,其包含了字段类型,字段名,和字段编号。而字段值就是依赖此定义进行编码的。按PB协议约定,字段值会根据定义的字段类型采用不同的编码。
202、判断待通信数据的字段类型,得到判断结果;
在实际应用中,字段类型包括正整型变量、负整型变量、浮点数和字符串,其中,整型变量用于存放整型数据。根据数值的表示范围整型可以为整型(int)、短整型(short)、长整型(long)三种,这三种整型都默认为有符号型(signed),有符号型即可以是正整型变量、负整型变量和0。也可以根据需要,将整型指定为无符号型(unsigned),此时整型变量只能存放非负数。浮点数简单讲就是实数的意思。浮点数在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到。
203、若字段类型为正整型变量,则选择Varint编码;
204、若字段类型为负整型变量,则选择Zigzag编码;
205、若字段类型为浮点数,则选择固定64bit或32bit编码;
206、若字段类型为字符串,则选择可变长编码;
在本实施例中,所述Varint编码是一种使用一个或多个字节序列化整数的方法,会把整数编码为变长字节。对于32位整型数据经过Varint编码后需要1~5个字节,小的数字使用1个byte,大的数字使用5个bytes。64位整型数据编码后占用1~10个字节。在实际场景中小数字的使用率远远多于大数字,因此通过Varint编码对于大部分场景都可以起到很好的压缩效果。Zigzag编码会将有符号整型映射为无符号整型,以便绝对值较小的负数仍然可以有较小的varint编码值,所述64bit为双精度,32bit为单精度,为IEEE浮点编码。可变长编码为UTF-8编码,是一套以8位为一个编码单位的可变长编码。需要注意的是,对于可变长编码,还需要将长度编码进最后的结果中。所以,数据在编码后的最终结果值可以分为如下几个部分:字段编号+字段编码类型+(字段长度)+字段值。
207、根据编码规则对待通信数据进行编码,得到编码数据;
208、根据预设的加密算法对编码数据进行加密,得到加密编码数据;
209、获取待通信数据的通信类型;
210、若通信类型为长链通信,则根据长链通信对应的通信协议构造规则和加密编码数据生成协议数据,并将协议数据作为长链路数据流;
211、若通信类型为短链通信,则获取短链通信的请求体,并将加密编码数据载入请求体中,得到短链路数据流;
212、将长链路数据流或短链路数据流作为第一传送数据流,并将第一传送数据流发送至第二终端。
本实施例中的步骤208-212与第一实施例中的步骤102-106相似,此处不再赘述。
本实施例在上一实施例的基础上,详细描述了编码数据的过程,通过获取所述待通信数据;判断所述待通信数据的字段类型,并根据所述字段类型,选择对应的编码规则;根据所述编码规则对所述待通信数据进行编码,得到编码数据,其中,字段类型包括正整型变量、负整型变量、浮点数和字符串。根据不通过的字段类型选择不同的编码规则,若字段类型为正整型变量,则选择Varint编码;若字段类型为负整型变量,则选择Zigzag编码;若字段类型为浮点数,则选择固定64bit或32bit编码;若字段类型为字符串,则选择可变长编码,通过本方法,根据PB协议对待通信数据进行数据编码,生成二进制数据,使得传输数据的空间占比变小,提升通信传输效率,同时,由于二进制数据的不可读性,以及进一步的数据加密,保证了待通信数据的安全性,降低请求劫持、伪造数据的可能性。
请参阅图3,本发明实施例中数据通信方法的第三个实施例包括:
301、获取待通信数据,并根据预设的数据序列化协议对待通信数据进行编码,得到编码数据;
302、根据预设的加密算法对编码数据进行加密,得到加密编码数据;
303、获取待通信数据的通信类型;
本实施例中的步骤301-303与第一实施例中的步骤101-103相似,此处不再赘述。
304、若通信类型为长链通信,则获取协议头信息,并根据协议头信息生成协议头,其中,协议头信息包括协议版本号、自增数字序列号、业务标志和数据包长度;
305、将加密算法的字段和发送待通信数据的第一终端的用户唯一标识拼接得到协议体头;
306、根据协议体头和加密编码数据生成协议体;
307、根据协议体和协议头生成协议数据,并将协议数据作为长链路数据流;
在本实施例中,协议头是定长数据,第二终端的接收端在接收到协议信息后根据预定的协议头的长度,能够将协议数据划分为协议头和协议体,协议头中的数据包括了协议版本号、自增数字序列号、业务标志和数据包长度,其中,协议版本号代表当前通信使用的协议版本,用以协议维护,保障协议兼容,自增数字序列号用以解决数据错位和丢包问题,业务标志代表当前请求的服务,数据包长度也即协议体长度,根据这个数据可以正确的将协议体从数据流中分割出来。
在本实施例中,协议体由协议体头和加密后的编码数据构成,其中协议体头为预设长度,由加密算法的字段和用户唯一标识组成,其中加密算法按到字段方便第二终端的接收端在接收到数据后,对接收到的数据进行解密,再进行解码,用户唯一标识为用户在发送终端登录的用户ID,根据用户唯一标识检验发送信息的用户是否合法。由于协议体头为定长,故在划分出协议体后,根据预定的协议体头的长度,能够将协议体划分为协议体头和编码数据。
308、若通信类型为短链通信,则获取短链通信的请求体,并将加密编码数据载入请求体中,得到短链路数据流;
309、将长链路数据流或短链路数据流作为第一传送数据流;
310、判断第一传送数据流为长链路数据流还是短链路数据流;
311、若为长链路数据流,则使用TCP链路将第一传送数据流发送至第二终端;
312、若为短链路数据流,则将第一传送数据流以发送POST请求的方式发送至第二终端。
本实施例中的步骤308-309与第一实施例中的步骤105-106相似,此处不再赘述。
本实施例在前实施例的基础上,详细描述了当通信类型是长链通信时,对加密编码数据的处理过程,获取协议头信息,并根据所述协议头信息生成协议头,其中所述协议信息包括协议版本号、自增数字序列号、业务标志和数据包长度;将所述加密算法的字段和发送所述待通信数据的第一终端的用户唯一标识拼接得到协议体头;根据所述协议体头和所述加密编码数据生成协议体;根据所述协议体和所述协议头生成协议数据,通过构造自定义的二进制通信协议,以便接收端在收到数据后可以正确解析解码。
请参阅图4,本发明实施例中数据通信方法的第四个实施例包括:
401、获取待通信数据,并根据预设的数据序列化协议对待通信数据进行编码,得到编码数据;
402、根据预设的加密算法对编码数据进行加密,得到加密编码数据;
403、获取待通信数据的通信类型;
404、若通信类型为长链通信,则根据长链通信对应的通信协议构造规则和加密编码数据生成协议数据,并将协议数据作为长链路数据流;
405、若通信类型为短链通信,则获取短链通信的请求体,并将加密编码数据载入请求体中,得到短链路数据流;
406、将长链路数据流或短链路数据流作为第一传送数据流,并将第一传送数据流发送至第二终端;
本实施例中的步骤401-406与第一实施例中的步骤101-106相似,此处不再赘述。
407、接收第二终端返回的第二传送数据流,并对第二传送数据流进行解析,得到对应的通信类型;
408、若通信类型为长链通信,则根据第二传送数据流的协议头中的数据包长度,将第二传送数据流中的数据的分割为至少一个单数据包体,并对单数据包体进行解密处理和解码处理,得到第一通信数据;
409、若通信类型为短链通信,则识别第二传送数据中的请求体,并将请求体中的数据进行解密处理和解码处理,得到第二通信数据。
在本实施例中,协议数据或者是请求体包含在发送过来的数据流中,数据流中包括了多个数据包,需要将这些数据包分割为多个单数据包,再对每个单数据包进行解析,在接收到数据流后,由于设定了数据包长度,根据数据包长度,能够将数据包从数据流中分割出来,该数据包为协议数据,并根据定长的协议头长度,将协议数据分为协议头和协议体,协议体中包括协议体头和加密后的编码数据,协议体头为定长,由编码方式字段和用户唯一标志组成,根据协议体头中的编码方式对编码数据进行解码解析,即可得到第二终端发送过来的通信信息。
在本实施例中,对于短链通信,先判断content-type类型,如是为octet-stream直接将请求体中的数据解密,得到传输的数据部分。
本实施例在前实施例的基础上,详细描述了数据通信过程中接收到包含通信数据的数据流后的处理过程,通过接受第二终端返回的第二传送数据流,并判断第二终端返回第二传送数据流的通信类型;若通信类型为长链通信,则确定第二传送数据流中的数据为协议数据;根据第二传送数据流的协议头中的数据包长度,将第二传送数据流中的数据的分割为至少一个单数据包体,并对单数据包体进行解密处理和解码处理,得到通信数据;若通信类型为短链通信,则确定第二传送数据流为请求体,并将请求体中的数据进行解码,得到通信数据,通过与发送端对应的数据解密和数据解码过程,得到通信数据,完成数据通信的全过程。
请参阅图5,本发明实施例中数据通信方法的第五个实施例包括:
501、获取待通信数据,并根据预设的数据序列化协议对待通信数据进行编码,得到编码数据;
502、根据预设的加密算法对编码数据进行加密,得到加密编码数据;
503、获取待通信数据的通信类型;
504、若通信类型为长链通信,则根据长链通信对应的通信协议构造规则和加密编码数据生成协议数据,并将协议数据作为长链路数据流;
505、若通信类型为短链通信,则获取短链通信的请求体,并将加密编码数据载入请求体中,得到短链路数据流;
506、将长链路数据流或短链路数据流作为第一传送数据流,并将第一传送数据流发送至第二终端;
507、接收第二终端返回的第二传送数据流,并对第二传送数据流进行解析,得到对应的通信类型;
508、若通信类型为长链通信,则根据第二传送数据流的协议头中的数据包长度,将第二传送数据流中的数据的分割为至少一个单数据包体;
509、将单数据包体划分为协议头和协议体;
510、根据协议体中的协议体头,确定第二传送数据流的加密算法,并根据加密算法对单数据包体进行解密,得到编码数据;
511、根据编码数据中的编码规则对编码数据进行解码,得到第一通信数据;
在本实施例中,协议体头中包括了加密算法等信息,通过加密算法对协议体中的加密编码数据进行解密,得到编码数据,编码数据中包括了编码规则,其中正整型变量采用Varint编码,负整型变量Zigzag编码,浮点数采用固定64bit或32bit,编码字符串采取可变长编码,根据不同的编码规则,对编码数据进行解码,得到通信数据
512、若通信类型为短链通信,则识别第二传送数据中的请求体,并将请求体中的数据进行解密处理和解码处理,得到第二通信数据。
本实施例在上一实施例的基础上,详细的描述了接收端在获取长链通信的数据流后的数据处理过程,在确定第二传送数据流中的数据为协议数据后,将根据第二传送数据流的协议头中的数据包长度,将第二传送数据流中的数据的分割为至少一个单数据包体;将单数据包体划分为协议头和协议体;根据协议体中的协议体头,确定第二传送数据流的加密算法,并根据加密算法对单数据包体进行解密,得到编码数据;根据编码数据中的编码规则对编码数据进行解码,得到通信数据,通过与发送端对应的数据解密和数据解码过程,得到通信数据,完成数据通信的全过程。
上面对本发明实施例中数据通信方法进行了描述,下面对本发明实施例中数据通信装置进行描述,请参阅图6,本发明实施例中数据通信装置一个实施例包括:
编码模块601,用于获取待通信数据,并根据预设的数据序列化协议对所述待通信数据进行编码,得到编码数据;
加密模块602,用于根据预设的加密算法对所述编码数据进行加密,得到加密编码数据;
类型获取模块603,用于获取所述待通信数据的通信类型;
长链通信模块604,用于当所述通信类型为长链通信时,根据所述长链通信对应的通信协议构造规则和所述加密编码数据生成协议数据,并将所述协议数据作为长链路数据流;
短链通信模块605,用于当所述通信类型为短链通信时,获取所述短链通信的请求体,并将所述加密编码数据载入所述请求体中,得到短链路数据流;
发送模块606,用于将所述长链路数据流或短链路数据流作为第一传送数据流,并将所述第一传送数据流发送至第二终端。
本发明实施例中,所述数据通信装置运行上述数据通信方法,包括获取待通信数据,并根据预设的数据序列化协议对所述待通信数据进行编码,得到编码数据;根据预设的加密算法对所述编码数据进行加密,得到加密编码数据,并判断所述待通信数据的通信类型;若所述通信类型为长链通信,则根据所述长链通信对应的通信协议构造规则和所述加密编码数据生成协议数据,并将所述协议数据作为长链路数据流;若所述通信类型为短链通信,则获取所述短链通信的请求体,并将所述加密编码数据载入所述请求体中,得到短链路数据流;将所述协议数据或所述请求体作为第一传送数据流,通过发送端发送至第二终端。本方法通过将待通信数据通过数据序列化协议进行二进制编码,由于二进制数据的不可读性,以及进一步的数据加密,保证了待通信数据的安全性,降低请求劫持、伪造数据的可能性,并且通过编码,使得待通信数据的空间占用减小,通信效率提高,并根据通信类型进行不同的数据构造,以便接收端在收到数据后可以正确解析解码,此外,本发明还涉及区块链技术,所述待通信数据可存储于区块链中。
请参阅图7,本发明实施例中数据通信装置的第二个实施例包括:
编码模块601,用于获取待通信数据,并根据预设的数据序列化协议对所述待通信数据进行编码,得到编码数据;
加密模块602,用于根据预设的加密算法对所述编码数据进行加密,得到加密编码数据;
类型获取模块603,用于获取所述待通信数据的通信类型;
长链通信模块604,用于当所述通信类型为长链通信时,根据所述长链通信对应的通信协议构造规则和所述加密编码数据生成协议数据,并将所述协议数据作为长链路数据流;
短链通信模块605,用于当所述通信类型为短链通信时,获取所述短链通信的请求体,并将所述加密编码数据载入所述请求体中,得到短链路数据流;
发送模块606,用于将所述长链路数据流或短链路数据流作为第一传送数据流,并将所述第一传送数据流发送至第二终端。
其中,所述编码模块601包括:
获取单元6011,用于获取所述待通信数据;
判断单元6012,用于判断所述待通信数据的字段类型,得到判断结果;
选择单元6013,用于根据所述判断结果中表示的字段类型,选择对应的编码规则;
数据编码单元6014,用于根据所述编码规则对所述待通信数据进行编码,得到编码数据。
可选的,所述选择单元6013具体用于:
若所述字段类型为正整型变量,则选择Varint编码;
若所述字段类型为负整型变量,则选择Zigzag编码;
若所述字段类型为浮点数,则选择固定64bit或32bit编码;
若所述字段类型为字符串,则选择可变长编码。
可选的,所述长链通信模块604具体用于:
获取协议头信息,并根据所述协议头信息生成协议头,其中,所述协议头信息包括协议版本号、自增数字序列号、业务标志和数据包长度;
将所述加密算法的字段和发送所述待通信数据的第一终端的用户唯一标识拼接得到协议体头;
根据所述协议体头和所述加密编码数据生成协议体;
根据所述协议体和所述协议头生成协议数据,并将所述协议数据作为长链路数据流。
可选的,所述发送模块606具体用于:
判断所述第一传送数据流为长链路数据流还是短链路数据流;
若为长链路数据流,则使用TCP链路将所述第一传送数据流发送至所述第二终端;
若为短链路数据流,则将所述第一传送数据流以发送POST请求的方式发送至第二终端。
可选的,所述数据通信装置还包括接收模块607,所述接收模块607包括:
数据接收单元6071,用于接收所述第二终端返回的第二传送数据流,并对所述第二传送数据流进行解析,得到对应的通信类型;
长链解析单元6072,用于当所述通信类型为长链通信时,根据所述第二传送数据流的协议头中的数据包长度,将所述第二传送数据流中的数据的分割为至少一个单数据包体,并对所述单数据包体进行解密处理和解码处理,得到第一通信数据;
短链解析单元6073,用于当所述通信类型为短链通信时,识别所述第二传送数据中的请求体,并将所述请求体中的数据进行解密处理和解码处理,得到第二通信数据。
可选的,所述长链解析单元6072具体用于:
将所述单数据包体划分为协议头和协议体;
根据所述协议体中的协议体头,确定所述第二传送数据流的加密算法,并根据所述加密算法对所述单数据包体进行解密,得到编码数据;
根据所述编码数据中的编码规则对所述编码数据进行解码,得到第一通信数据。
本实施例在上一实施例的基础上,详细描述了编码模块的构成,分别为获取单元和判断单元,同时增加了接收模块,以及详细描述了所述接收模块的单元结构,包括数据接收单元、长链解析单元、短链解析单元,通过上述单元实现接收到第二终端发送的数据流时,对数据流进行处理得到通信数据的功能。
上面图6和图7从模块化功能实体的角度对本发明实施例中的中数据通信装置进行详细描述,下面从硬件处理的角度对本发明实施例中数据通信设备进行详细描述。
图8是本发明实施例提供的一种数据通信设备的结构示意图,该数据通信设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)810(例如,一个或一个以上处理器)和存储器820,一个或一个以上存储应用程序833或数据832的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器820和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据通信设备800中的一系列指令操作。更进一步地,处理器810可以设置为与存储介质830通信,在数据通信设备800上执行存储介质830中的一系列指令操作,以实现上述数据通信方法的步骤。
数据通信设备800还可以包括一个或一个以上电源840,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口860,和/或,一个或一个以上操作系统831,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图8示出的数据通信设备结构并不构成对本申请提供的数据通信设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述数据通信方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种数据通信方法,其特征在于,所述数据通信方法包括:
获取待通信数据,并根据预设的数据序列化协议对所述待通信数据进行编码,得到编码数据;
根据预设的加密算法对所述编码数据进行加密,得到加密编码数据;
获取所述待通信数据的通信类型;
若所述通信类型为长链通信,则获取协议头信息,并根据所述协议头信息生成协议头,其中,所述协议头信息包括协议版本号、自增数字序列号、业务标志和数据包长度;将所述加密算法的字段和发送所述待通信数据的第一终端的用户唯一标识拼接得到协议体头;根据所述协议体头和所述加密编码数据生成协议体;根据所述协议体和所述协议头生成协议数据,并将所述协议数据作为长链路数据流;
若所述通信类型为短链通信,则获取所述短链通信的请求体,并将所述加密编码数据载入所述请求体中,得到短链路数据流;
将所述长链路数据流或短链路数据流作为第一传送数据流,并将所述第一传送数据流发送至第二终端。
2.根据权利要求1所述的数据通信方法,其特征在于,所述获取待通信数据,并根据预设的数据序列化协议对所述待通信数据进行编码,得到编码数据包括:
获取所述待通信数据;
判断所述待通信数据的字段类型,得到判断结果;
根据所述判断结果中表示的字段类型,选择对应的编码规则;
根据所述编码规则对所述待通信数据进行编码,得到编码数据。
3.根据权利要求2所述的数据通信方法,其特征在于,所述字段类型包括正整型变量、负整型变量、浮点数和字符串,所述根据所述判断结果中表示的字段类型,选择对应的编码规则包括:
若所述字段类型为正整型变量,则选择Varint编码;
若所述字段类型为负整型变量,则选择Zigzag编码;
若所述字段类型为浮点数,则选择固定64bit或32bit编码;
若所述字段类型为字符串,则选择可变长编码。
4.根据权利要求1-3中任一项所述的数据通信方法,其特征在于,所述将所述第一传送数据流发送至第二终端包括:
判断所述第一传送数据流为长链路数据流还是短链路数据流;
若为长链路数据流,则使用TCP链路将所述第一传送数据流发送至所述第二终端;
若为短链路数据流,则将所述第一传送数据流以发送POST请求的方式发送至第二终端。
5.根据权利要求4所述的数据通信方法,其特征在于,在所述将所述长链路数据流或短链路数据流作为第一传送数据流,并将所述第一传送数据流发送至第二终端之后,还包括:
接收所述第二终端返回的第二传送数据流,并对所述第二传送数据流进行解析,得到对应的通信类型;
若所述通信类型为长链通信,则根据所述第二传送数据流的协议头中的数据包长度,将所述第二传送数据流中的数据的分割为至少一个单数据包体,并对所述单数据包体进行解密处理和解码处理,得到第一通信数据;
若所述通信类型为短链通信,则识别所述第二传送数据中的请求体,并将所述请求体中的数据进行解密处理和解码处理,得到第二通信数据。
6.根据权利要求5所述的数据通信方法,其特征在于,所述对所述单数据包体进行解密处理和解码处理,得到第一通信数据包括:
将所述单数据包体划分为协议头和协议体;
根据所述协议体中的协议体头,确定所述第二传送数据流的加密算法,并根据所述加密算法对所述单数据包体进行解密,得到编码数据;
根据所述编码数据中的编码规则对所述编码数据进行解码,得到第一通信数据。
7.一种数据通信装置,其特征在于,所述数据通信装置包括:
编码模块,用于获取待通信数据,并根据预设的数据序列化协议对所述待通信数据进行编码,得到编码数据;
加密模块,用于根据预设的加密算法对所述编码数据进行加密,得到加密编码数据;
类型获取模块,用于获取所述待通信数据的通信类型;
长链通信模块,用于当所述通信类型为长链通信时,获取协议头信息,并根据所述协议头信息生成协议头,其中,所述协议头信息包括协议版本号、自增数字序列号、业务标志和数据包长度;将所述加密算法的字段和发送所述待通信数据的第一终端的用户唯一标识拼接得到协议体头;根据所述协议体头和所述加密编码数据生成协议体;根据所述协议体和所述协议头生成协议数据,并将所述协议数据作为长链路数据流;
短链通信模块,用于当所述通信类型为短链通信时,获取所述短链通信的请求体,并将所述加密编码数据载入所述请求体中,得到短链路数据流;
发送模块,用于将所述长链路数据流或短链路数据流作为第一传送数据流,并将所述第一传送数据流发送至第二终端。
8.一种数据通信设备,其特征在于,所述数据通信设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据通信设备执行如权利要求1-6中任一项所述的数据通信方法。
9.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的数据通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011207907.7A CN112333186B (zh) | 2020-11-03 | 2020-11-03 | 数据通信方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011207907.7A CN112333186B (zh) | 2020-11-03 | 2020-11-03 | 数据通信方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112333186A CN112333186A (zh) | 2021-02-05 |
CN112333186B true CN112333186B (zh) | 2022-11-29 |
Family
ID=74324488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011207907.7A Active CN112333186B (zh) | 2020-11-03 | 2020-11-03 | 数据通信方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112333186B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360936B (zh) * | 2021-08-09 | 2021-11-02 | 湖南和信安华区块链科技有限公司 | 一种基于区块链的数据分析系统 |
CN113704308B (zh) * | 2021-09-02 | 2024-03-12 | 中国联合网络通信集团有限公司 | 数据缓存方法、装置、服务器及充值系统 |
CN114157395B (zh) * | 2021-11-05 | 2023-08-08 | 在线途游(北京)科技有限公司 | 一种基于变长整数编码的数据通信方法、装置及系统 |
CN114629701B (zh) * | 2022-03-11 | 2023-04-18 | 娄底职业技术学院 | 基于信息加密的信息展示系统 |
CN114338247B (zh) * | 2022-03-15 | 2022-05-27 | 中国信息通信研究院 | 数据传输方法和装置、电子设备、存储介质和程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110545448A (zh) * | 2018-05-29 | 2019-12-06 | 北京字节跳动网络技术有限公司 | 基于数据加密的媒体播放方法、装置及存储介质 |
CN110662184A (zh) * | 2019-08-15 | 2020-01-07 | 中国平安财产保险股份有限公司 | 信息推送方法、装置、计算机设备及存储介质 |
CN110795464A (zh) * | 2019-08-28 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 对象标记数据的字段校验方法、装置、终端及存储介质 |
CN110971704A (zh) * | 2019-12-11 | 2020-04-07 | 杭州安恒信息技术股份有限公司 | 一种基于json配置文件的数据传输方法及装置 |
CN111669424A (zh) * | 2019-09-29 | 2020-09-15 | 深圳乐播科技有限公司 | 投屏连接方法、装置、系统及电子设备 |
CN111723889A (zh) * | 2020-07-31 | 2020-09-29 | 腾讯科技(深圳)有限公司 | 扫码登录方法、图形码显示方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9965634B2 (en) * | 2016-01-15 | 2018-05-08 | Salesforce.Com, Inc. | Space-efficient storage of encrypted data |
-
2020
- 2020-11-03 CN CN202011207907.7A patent/CN112333186B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110545448A (zh) * | 2018-05-29 | 2019-12-06 | 北京字节跳动网络技术有限公司 | 基于数据加密的媒体播放方法、装置及存储介质 |
CN110662184A (zh) * | 2019-08-15 | 2020-01-07 | 中国平安财产保险股份有限公司 | 信息推送方法、装置、计算机设备及存储介质 |
CN110795464A (zh) * | 2019-08-28 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 对象标记数据的字段校验方法、装置、终端及存储介质 |
CN111669424A (zh) * | 2019-09-29 | 2020-09-15 | 深圳乐播科技有限公司 | 投屏连接方法、装置、系统及电子设备 |
CN110971704A (zh) * | 2019-12-11 | 2020-04-07 | 杭州安恒信息技术股份有限公司 | 一种基于json配置文件的数据传输方法及装置 |
CN111723889A (zh) * | 2020-07-31 | 2020-09-29 | 腾讯科技(深圳)有限公司 | 扫码登录方法、图形码显示方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112333186A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112333186B (zh) | 数据通信方法、装置、设备及存储介质 | |
JP2021513141A (ja) | 2次元バーコードの生成及び識別 | |
CN109214196B (zh) | 一种数据交互方法、装置及设备 | |
US20130014267A1 (en) | Computer protocol generation and obfuscation | |
CN113259132B (zh) | 数据传输加解密方法、装置、计算机设备及存储介质 | |
CN111629063A (zh) | 基于区块链的分布式文件下载的方法和电子设备 | |
CN110995391A (zh) | 隔离网络中数据的传输方法、服务端及终端 | |
CN112437060A (zh) | 一种数据传输方法、装置、计算机设备及存储介质 | |
CN114614994A (zh) | Api接口数据的通信方法、装置、客户端及存储介质 | |
CN113922968A (zh) | 访问令牌的生成及校验方法、装置、电子设备和存储介质 | |
CN113517982B (zh) | 口令的生成方法、口令的执行方法及终端 | |
CN114828140A (zh) | 业务流量报文转发方法及装置、存储介质及电子设备 | |
CN111610938B (zh) | 分布式数据编码存储方法、电子设备和计算机可读存储介质 | |
CN112953716A (zh) | 一种兑换码生成及其验证方法和装置 | |
CN116664123A (zh) | 一种基于区块链技术的数字钱包设计方法 | |
CN113162628B (zh) | 一种数据编码方法、数据解码方法、终端和存储介质 | |
CN111064560B (zh) | 数据加密传输方法及装置、终端、数据加密传输系统 | |
CN110517045B (zh) | 区块链数据处理方法、装置、设备和存储介质 | |
CN109981674B (zh) | 一种远程过程调用方法、装置、设备及介质 | |
CN111931205A (zh) | 一种加密着色器文件的方法和装置 | |
CN112181308A (zh) | 基于区块链的分布式数据存储方法和电子设备 | |
CN111931231A (zh) | 用于分布式系统的冗余存储方法、终端设备和存储介质 | |
CN111179079A (zh) | 终端信息采集方法、装置、终端设备及存储介质 | |
CN113283215B (zh) | 一种基于utf-32编码的数据混淆方法及装置 | |
CN114866348B (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 |