CN109818930A - 一种基于tcp协议的通讯文本数据传输方法 - Google Patents
一种基于tcp协议的通讯文本数据传输方法 Download PDFInfo
- Publication number
- CN109818930A CN109818930A CN201811609253.3A CN201811609253A CN109818930A CN 109818930 A CN109818930 A CN 109818930A CN 201811609253 A CN201811609253 A CN 201811609253A CN 109818930 A CN109818930 A CN 109818930A
- Authority
- CN
- China
- Prior art keywords
- data
- field
- length
- cell
- abc
- 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.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004891 communication Methods 0.000 title claims abstract description 17
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 claims description 15
- 241001269238 Data Species 0.000 claims description 3
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 3
- 239000003550 marker Substances 0.000 claims description 3
- 235000015170 shellfish Nutrition 0.000 claims 1
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
一种基于TCP协议的通讯文本数据传输方法,通过自定义报文格式,在客户端和服务器端传输文本数据,将文本数据转换为数据单元的格式后再传输,报文包括数据头、数据体长度和数据体三部分,数据头为定位标志、数据体长度记录了数据体占用空间的字节数,数据体由若干数据单元构成,每个数据单元包括字段编码、字段长度和字段内容,报文中的所有数据都为二进制格式,其中数据头、数据长度、数据单元的“字段编码”均为固定长度的二进制数,对文本数据的解析通过建立字段名称和字段编码的方式实现。
Description
技术领域
本发明涉及互联网数据传输,尤其涉及一种基于TCP协议的通讯文本数据传输方法, 属于互联网领域。
背景技术
TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,用于实现端对 端的可靠性数据传输,由IETF的RFC793定义,包括排序、重复包丢弃、丢包重传、流 控制和拥塞控制等功能,TCP协议是互联网的重要基础。
微服务是计算机***的一种组织方式,一个大型复杂软件应用由一个或多个微服务单 元组成。在微服务架构中,每个微服务单元有独立的进程空间和资源,每个微服务都有自 己的通讯机制,可以部署在单个或多个服务器上。微服务架构具有组件化、松耦合、自治、 去中心化等特点。
在一个微服务***中会存在大量的微服务单元,这些微服务单元之间需要进行大量的 文本数据的交换,如何提高微服务单元之间数据交换的效率是微服务***要考虑的一个重 要因素。微服务单元之间一般基于即客户端/服务器模式(即C/S)发送数据,客户端和服 务器端通常使用TCP协议传输数据,客户端使用某种数据格式对数据进行编码,然后向服 务器发送编码数据,服务器接收到数据后在对数据进行解码。
客户端和服务器端发送的数据格式通常可以采用市面主流XML、JSON和其他自定义格 式等方式。XML(ExtensibleMarkup Language)数据格式的数据包相对较大,其包含了大 量重复标记内容,会占用较多的网络带宽资源。JSON(JavaScript Object Notation)数据格式相对XML而言,数据格式更加轻量,数据的层次结构清晰,但JSON数据的解析要 遵循JSON格式的语法要求,在数据传输性能要求较高的情况下,JSON数据的序列号与反 序列号操作需要对JSON语法格式进行解析,占用较多的***资源,降低了***的效率。
发明内容
本发明提出了一种基于TCP协议的通讯文本数据传输方法,通过自定义报文格式的方 式在客户端和服务器端传输文本数据,既避免了XML格式数据解析的低效率,也避免了 JSON格式数据序列化和反序列化占用较大***资源的问题,具有传输效率高、实现方式简单、扩展性强等优点。
自定义格式,顾名思义是设计者根据不同数据使用场景下,为提高数据使用效率而针 对性的进行数据格式定义,客户端和服务器端按照这个自定义的格式解析数据,因这里的 数据格式受使用场景制约,且使用外部条件和技术指标均不一样,故自定义数据格式没有 可相互参照性和可比性。
例如:本申请专利所使用场景就是为了满足特定业务场景的数据高效传输的需要,比 如我想把下表中的数据发送给服务器:
班级 | 学号 | 姓名 |
软件1701 | 17001 | 张三 |
这些数据的特点是列的名称基本固定,且列数据不会今天增一列,明天减一列,但行 的数据比较多,今天要发送1万行,明天要发送10万行。在这种情况下,用图2的自定义格式发送数据,效率就会比xml和json高很多。
本发明采用的技术方案如下:一种基于TCP协议的通讯文本数据传输方法,客户端和服务器端采用TCP协议传输数据,客户端使用某种数据格式对数据进行编码,然后向 服务器发送编码数据,服务器接收到数据后在对数据进行解码,其特征在于:通过自定义 报文格式,在客户端和服务器端传输文本数据,将文本数据转换为数据单元的格式后再传输,报文包括数据头、数据体长度和数据体3部分。数据头为定位标志、数据体长度记录 了数据体占用空间的字节数,数据体由若干数据单元构成,每个数据单元包括字段编码、 字段长度和字段内容3类信息。报文中的所有数据都为二进制格式,其中数据头、数据体 长度以及数据单元里的“字段编码”均为固定长度的二进制数,文本数据的转换和解析通 过建立字段名称和字段编码的对应哈希关系方式实现,其中字段名称为字段编码所表示数 据的哈希名称;
数据传输过程如下:
步骤一、客户端将文本数据读取到内存中,并将其转换为KeyValue对象,一个KeyValue对象表示一条文本数据,一个KeyValue对象包括多个条目,每个条目都是一个 字段名称和字段内容的键值对,键值对的字段名称和字段内容都为文本类型;
步骤二、客户端对KeyValue对象中的每个条目进行编码,编码的目的是将文本类型 的条目转换为二进制数据:首先将字段名称转换为二进制的编码,记为A,然后将字段内容转换为byte类型的数组,记为B,最后计算数组B的长度,记为C,重复以上操作,对 步骤一所述的所有的条目都做相应的处理;
步骤三、客户端将编码A、数组B和长度C组装成数据单元,其中编码A对应数据 单元的“字段编码”,长度C对应数据单元的“字段长度”,数组B对应数据单元的“字段内 容”,重复以上操作形成数据体,记为T,然后计算数据体的的长度,记为L,最后将数据 头、数据长度L和数据体T组装成一个二进制数组;
步骤四、客户端向服务器端发起TCP连接,然后将二进制数组发送到服务器端;
步骤五、服务器端收到二进制数组后,对该数组进行解析,分别解析出数据头、数据 长度L和数据体T;
步骤六、对数据体T进行解析,解析出字段编码、字段长度及字段内容;
步骤七、将字段编码通过查找hash表转换为字段名称,然后将字段名称和字段内容 生成KeyValue对象,最后将KeyValue对象转换为文本数据。
在执行步骤一之前,首先建立字段名称和字段编码的对应关系,假设文本数据为“user =abc,password=ABCD”,通过哈希表建立字段名称和字段编码的对应关系,创建该文本 数据对应的哈希表H{<user,0x01>,<password,0x02>},在客户端和服务器端均需要执 行,服务器端和客户端都有统一的hash表;步骤一中,KeyValue对象也是一个哈希表,该哈希表的内容是{<user,abc>,<password,ABC>}。
所述客户端对KeyValue对象中的每个条目进行编码,首先取出条目<user,abc>,查 找哈希表H获得字段名称“user”对应的字段编码0x01,然后将字符串“abc”通过UTF8编码 的规则转换为二进制数组[0x61,0x62,0x63],接着计算出字符串“abc”的长度值3,重复以上操作,完成对条目<password,ABCD>的处理,其中字段名称“password”对应的字段 编码为0x02,字符串“ABCD”转换为二进制数组[0x41,0x42,0x43,0x44]。
所述客户端将每个条目编码后的二进制数据组装成数据单元,首先创建数据单元的的 内存,然后将条目<user,abc>对应的二进制编码数据拷贝到数据单元的内存的起始位置, 然后顺序拷贝条目<password,ABCD>对应的二进制编码数据到内存中,完成以上操作后, 数据单元的数据分别为:数据单元1:[0x01,0x03,0x61,0x62,0x63]和数据单元2:[0x02, 0x04,0x41,0x42,0x43,0x44]。
所述将创建的数据单元1和数据单元2两个数据单元数据合并为数据体,数据体的数 据为[0x01,0x03,0x61,0x62,0x63,0x02,0x04,0x41,0x42,0x43,0x44],然后计 算出数据体的长度为11个字节,假设数据头为二个字节的固定值[0xFF,0xEE],则对数 据头、数据长度、数据体进行组装,形成发送数据报文[0xFF,0xEE,0x0B,0x01,0x03, 0x61,0x62,0x63,0x02,0x04,0x41,0x42,0x43,0x44]。
所述服务器端为了完整地接收数据,服务器端首先创建接收缓冲区,当缓冲区中接收 到两个字节的数据后,将接收到的数据和[0xFF,0xEE]进行比较,如果不相符,则丢弃数 据;如果相符,则继续接收第三个字节的数据,并根据第三个字节的数据创建第二个缓冲 区,第二个缓冲区的大小由第三字节的数据确定,当第二个缓冲区已满,表示数据体数据 已接收完整,此时数据体的数据为[0x01,0x03,0x61,0x62,0x63,0x02,0x04,0x41,0x42,0x43,0x44]。
所述从数据体T的数据中解析出数据单元,根据字段编码、字段长度、字段内容的顺 序分别解析出数据单元1的数据[0x01,0x03,0x61,0x62,0x63]和数据单元2的数据[0x02, 0x04,0x41,0x42,0x43,0x44]。
所述对数据单元1的数据[0x01,0x03,0x61,0x62,0x63]进行解析,根据字段编码0x01查找哈希表H{<user,0x01>,<password,0x02>},获得对应的字段名称“user”,然 后提供UTF8对[0x61,0x62,0x63]进行解码,获得字段值“abc”,对数据单元2的数据[0x02,0x04,0x41,0x42,0x43,0x44]做同样的操作,根据数据单元1和数据单元2解析后的 数据创建KeyValue对象,该对象的值为{<user,abc>,<password,ABC>}。
遍历KeyValue中的数据,发布提取出Hash表的key值和value值,并将这些值拼接出文本数据“user=abc,password=ABCD”。
本发明的优点及显著效果:本发明通过自定义报文格式的方式在客户端和服务器端传 输文本数据,既避免了XML格式数据解析的低效率,也避免了JSON格式数据序列化和反 序列化占用较大***资源的问题,具有传输效率高、实现方式简单、扩展性强等优点;本方法由于采用二进制方式传输数据,传输效率高,另外对文本数据的解析通过建立字段名称和字段编码的方式实现,避免了对JSON语法规则的解析,提高了解析的效率,是一种 简单高效的文本数据传输方法。
附图说明
图1是本发明适用的组网环境;
图2是本发明方法的报文格式。
具体实施方式
参看图1,本发明客户端与服务器端之间,采用TCP协议传输数据,客户端使用某种数据格式对数据进行编码,然后向服务器发送编码数据,服务器接收到数据后再对数据进行解码。
参看图2,本发明通过自定义报文格式,在客户端和服务器端传输文本数据,将文本数 据转换为数据单元的格式后再传输,报文包括数据头、数据体长度和数据体3部分。数据 头为定位标志、数据体长度记录了数据体占用空间的字节数,数据体由若干数据单元构成, 每个数据单元包括字段编码、字段长度和字段内容3类信息。报文中的所有数据都为二进 制格式,其中数据头、数据体长度以及数据单元里的“字段编码”均为固定长度的二进制数,文本数据的转换和解析通过建立字段名称和字段编码的对应哈希关系方式实现,其中字段名称为字段编码所表示数据的哈希名称。
数据传输过程如下:
步骤一、客户端将文本数据读取到内存中,并将其转换为KeyValue对象,一个KeyValue对象表示一条文本数据。一个KeyValue对象由多个条目构成,每个条目都是一 个键值对<字段名称,字段内容>,键值对的字段名称和字段内容都为文本类型。
步骤二、客户端对KeyValue对象中的每个条目进行编码,编码的目的是将文本类型 的条目转换为二进制数据:首先将字段名称转换为二进制的编码(记为A),然后将字段内容转换为byte类型的数组(记为B),最后计算数组B的长度(记为C)。重复以上操 作,对步骤一所述的所有的条目都做相应的处理。
步骤三、客户端将编码A、数组B和长度C组装成数据单元,其中编码A对应数据单元的“字段编码”,长度C对应数据单元的“字段长度”,数组B对应数据单元的“字段 内容”。重复以上操作形成数据体(记为T),然后计算数据体的的长度(记为L),最后 将数据头、数据长度L和数据体T组装成一个二进制数组。
步骤四、客户端向服务器端发起TCP连接,然后将二进制数组发送到服务器端。
步骤五、服务器端收到二进制数组后,对该数组进行解析,分别解析出数据头、数据 长度和数据体。
步骤六、对数据体进行解析,解析出字段编码、字段长度、字段内容。
步骤七、将字段编码转换为字段名称,然后将字段名称和字段内容生成KeyValue对 象,最后将KeyValue对象转换为文本数据。
以上所述即为文本数据的传输过程。由于采用二进制方式传输数据,传输效率高,另 外对文本数据的解析通过建立字段名称和字段编码的方式实现,避免了对JSON语法规则 的解析,提高了解析的效率,是一种简单高效的文本数据传输方法。
上述七个步骤进一步说明如下:
1、建立字段名称和字段编码的对应关系。假设文本数据为“user=abc,password= ABCD”,本步骤通过哈希表建立字段名称和字段编码的对应关系,创建该文本数据对应的 哈希表H{<user,0x01>,<password,0x02>}。该步骤在客户端和服务器端均需要执行。
2、客户端将文本数据读取到内存中,并将其转换为KeyValue对象,一个KeyValue对象表示一条文本数据。KeyValue对象也是一个哈希表,该哈希表的内容是{<user,abc>,<password,ABC>}。
3、客户端对KeyValue对象中的每个条目进行编码,编码的目的是将文本类型的条目 转换为二进制数据。首先取出条目<user,abc>,查找哈希表H获得字段名称“user”对应的 字段编码0x01,然后将字符串“abc”通过UTF8编码的规则转换为二进制数组[0x61,0x62, 0x63],接着计算出字符串“abc”的长度值3。重复本步骤完成对条目<password,ABCD> 的处理,其中字段名称“password”对应的字段编码为0x02,字符串“ABCD”转换为二进制数组[0x41,0x42,0x43,0x44]。
4、客户端将每个条目编码后的二进制数据组装成数据单元。首先创建数据单元的的 内存,然后将条目<user,abc>对应的二进制编码数据拷贝到数据单元的内存的起始位置, 然后顺序拷贝条目<password,ABCD>对应的二进制编码数据到内存中。完成以上操作后, 数据单元的数据分别为[0x01,0x03,0x61,0x62,0x63]和[0x02,0x04,0x41,0x42,0x43, 0x44]。
5、客户端组建发送数据报文。首先将步骤三创建的两个数据单元数据合并为数据体, 数据体的数据为[0x01,0x03,0x61,0x62,0x63,0x02,0x04,0x41,0x42,0x43,0x44],然后计算出数据体的长度为11个字节,假设数据头为二个字节的固定值[0xFF,0xEE], 则对数据头、数据长度、数据体进行组装,形成发送数据报文[0xFF,0xEE,0x0B,0x01, 0x03,0x61,0x62,0x63,0x02,0x04,0x41,0x42,0x43,0x44]。
6、客户端向服务器端发起TCP连接,然后将二进制数组发送到服务器端。
7、服务器端接收数据。为了完整地接收数据,服务器端首先创建接收缓冲区。当缓冲区中接收到两个字节的数据后,将接收到的数据和[0xFF,0xEE]进行比较,如果不相符,则丢弃数据;如果相符,则继续接收第三个字节的数据,并根据第三个字节的数据创建第二个缓冲区,第二个缓冲区的大小由第三字节的数据确定。当第二个缓冲区已满,表示数据体数据已接收完整,此时数据体的数据为[0x01,0x03,0x61,0x62,0x63,0x02,0x04,0x41,0x42,0x43,0x44]。
8、从数据体的数据中解析出数据单元。根据[字段编码,字段长度,字段内容]的顺序 分别解析出数据单元1的数据[0x01,0x03,0x61,0x62,0x63]和数据单元2的数据[0x02,0x04,0x41,0x42,0x43,0x44]
9、对数据单元进行解析创建KeyValue对象。对数据单元1的数据[0x01,0x03,0x61, 0x62,0x63]进行解析,根据字段编码0x01查找哈希表H{<user,0x01>,<password,0x02>}, 获得对应的字段名称“user”,然后提供UTF8对[0x61,0x62,0x63]进行解码,获得字段值 “abc”。对数据单元2的数据[0x02,0x04,0x41,0x42,0x43,0x44]做同样的操作,根据 数据单元1和数据单元2解析后的数据创KeyValue对象,该对象的值为{<user,abc>, <password,ABC>}
10、遍历KeyValue中的数据,发布提取出Hash表的key值和value值,并将这些值拼接出文本数据“user=abc,password=ABCD”。
Claims (9)
1.一种基于TCP协议的通讯文本数据传输方法,客户端和服务器端采用TCP协议传输数据,客户端使用某种数据格式对数据进行编码,然后向服务器发送编码数据,服务器接收到数据后在对数据进行解码,其特征在于:通过自定义报文格式,在客户端和服务器端传输文本数据,将文本数据转换为数据单元的格式后再传输,报文包括数据头、数据体长度和数据体3部分。数据头为定位标志、数据体长度记录了数据体占用空间的字节数,数据体由若干数据单元构成,每个数据单元包括字段编码、字段长度和字段内容3类信息。报文中的所有数据都为二进制格式,其中数据头、数据体长度以及数据单元里的“字段编码”均为固定长度的二进制数,文本数据的转换和解析通过建立字段名称和字段编码的对应哈希关系方式实现,其中字段名称为字段编码所表示数据的哈希名称;
数据传输过程如下:
步骤一、客户端将文本数据读取到内存中,并将其转换为KeyValue对象,一个KeyValue对象表示一条文本数据,一个KeyValue对象包括多个条目,每个条目都是一个字段名称和字段内容的键值对,键值对的字段名称和字段内容都为文本类型;
步骤二、客户端对KeyValue对象中的每个条目进行编码,编码的目的是将文本类型的条目转换为二进制数据:首先将字段名称转换为二进制的编码,记为A,然后将字段内容转换为byte类型的数组,记为B,最后计算数组B的长度,记为C,重复以上操作,对步骤一所述的所有的条目都做相应的处理;
步骤三、客户端将编码A、数组B和长度C组装成数据单元,其中编码A对应数据单元的“字段编码”,长度C对应数据单元的“字段长度”,数组B对应数据单元的“字段内容”,重复以上操作形成数据体,记为T,然后计算数据体的的长度,记为L,最后将数据头、数据长度L和数据体T组装成一个二进制数组;
步骤四、客户端向服务器端发起TCP连接,然后将二进制数组发送到服务器端;
步骤五、服务器端收到二进制数组后,对该数组进行解析,分别解析出数据头、数据长度L和数据体T;
步骤六、对数据体T进行解析,解析出字段编码、字段长度及字段内容;
步骤七、将字段编码通过查找hash表转换为字段名称,然后将字段名称和字段内容生成KeyValue对象,最后将KeyValue对象转换为文本数据。
2.根据权利要求1所述的基于TCP协议的通讯文本数据传输方法,其特征在于:在执行步骤一之前,首先建立字段名称和字段编码的对应关系,假设文本数据为“user=abc,password=ABCD”,通过哈希表建立字段名称和字段编码的对应关系,创建该文本数据对应的哈希表H{<user,0x01>,<password,0x02>},在客户端和服务器端均需要执行,服务器端和客户端都有统一的hash表;步骤一中,KeyValue对象也是一个哈希表,该哈希表的内容是{<user,abc>,<password,ABC>}。
3.根据权利要求1或2所述的基于TCP协议的通讯文本数据传输方法,其特征在于:所述客户端对KeyValue对象中的每个条目进行编码,首先取出条目<user,abc>,查找哈希表H获得字段名称“user”对应的字段编码0x01,然后将字符串“abc”通过UTF8编码的规则转换为二进制数组[0x61,0x62,0x63],接着计算出字符串“abc”的长度值3,重复以上操作,完成对条目<password,ABCD>的处理,其中字段名称“password”对应的字段编码为0x02,字符串“ABCD”转换为二进制数组[0x41,0x42,0x43,0x44]。
4.根据权利要求3所述的基于TCP协议的通讯文本数据传输方法,其特征在于:所述客户端将每个条目编码后的二进制数据组装成数据单元,首先创建数据单元的的内存,然后将条目<user,abc>对应的二进制编码数据拷贝到数据单元的内存的起始位置,然后顺序拷贝条目<password,ABCD>对应的二进制编码数据到内存中,完成以上操作后,数据单元的数据分别为:数据单元1:[0x01,0x03,0x61,0x62,0x63]和数据单元2:[0x02,0x04,0x41,0x42,0x43,0x44]。
5.根据权利要求4所述的基于TCP协议的通讯文本数据传输方法,其特征在于:将创建的数据单元1和数据单元2两个数据单元数据合并为数据体,数据体的数据为[0x01,0x03,0x61,0x62,0x63,0x02,0x04,0x41,0x42,0x43,0x44],然后计算出数据体的长度为11个字节,假设数据头为二个字节的固定值[0xFF,0xEE],则对数据头、数据长度、数据体进行组装,形成发送数据报文[0xFF,0xEE,0x0B,0x01,0x03,0x61,0x62,0x63,0x02,0x04,0x41,0x42,0x43,0x44]。
6.根据权利要求1或4所述的基于TCP协议的通讯文本数据传输方法,其特征在于:服务器端为了完整地接收数据,服务器端首先创建接收缓冲区,当缓冲区中接收到两个字节的数据后,将接收到的数据和[0xFF,0xEE]进行比较,如果不相符,则丢弃数据;如果相符,则继续接收第三个字节的数据,并根据第三个字节的数据创建第二个缓冲区,第二个缓冲区的大小由第三字节的数据确定,当第二个缓冲区已满,表示数据体数据已接收完整,此时数据体的数据为[0x01,0x03,0x61,0x62,0x63,0x02,0x04,0x41,0x42,0x43,0x44]。
7.根据权利要求1或6所述的基于TCP协议的通讯文本数据传输方法,其特征在于:所述从数据体T的数据中解析出数据单元,根据字段编码、字段长度、字段内容的顺序分别解析出数据单元1的数据[0x01,0x03,0x61,0x62,0x63]和数据单元2的数据[0x02,0x04,0x41,0x42,0x43,0x44]。
8.根据权利要求7所述的基于TCP协议的通讯文本数据传输方法,其特征在于:所述对数据单元1的数据[0x01,0x03,0x61,0x62,0x63]进行解析,根据字段编码0x01查找哈希表H{<user,0x01>,<password,0x02>},获得对应的字段名称“user”,然后提供UTF8对[0x61,0x62,0x63]进行解码,获得字段值“abc”,对数据单元2的数据[0x02,0x04,0x41,0x42,0x43,0x44]做同样的操作,根据数据单元1和数据单元2解析后的数据创建KeyValue对象,该对象的值为{<user,abc>,<password,ABC>}。
9.根据权利要求8所述的基于TCP协议的通讯文本数据传输方法,其特征在于:遍历KeyValue中的数据,发布提取出Hash表的key值和value值,并将这些值拼接出文本数据“user=abc,password=ABCD”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811609253.3A CN109818930B (zh) | 2018-12-27 | 2018-12-27 | 一种基于tcp协议的通讯文本数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811609253.3A CN109818930B (zh) | 2018-12-27 | 2018-12-27 | 一种基于tcp协议的通讯文本数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109818930A true CN109818930A (zh) | 2019-05-28 |
CN109818930B CN109818930B (zh) | 2021-03-26 |
Family
ID=66602650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811609253.3A Active CN109818930B (zh) | 2018-12-27 | 2018-12-27 | 一种基于tcp协议的通讯文本数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109818930B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110311784A (zh) * | 2019-06-10 | 2019-10-08 | 北京信安世纪科技股份有限公司 | 一种json报文签名方法、验签方法及装置 |
CN110647482A (zh) * | 2019-09-19 | 2020-01-03 | 上海机器人产业技术研究院有限公司 | 一种基于移动机器人的上下位机通讯***及方法 |
CN111680051A (zh) * | 2020-05-29 | 2020-09-18 | 杭州趣链科技有限公司 | 一种数据序列化和反序列化方法、设备及存储介质 |
CN112787978A (zh) * | 2019-11-07 | 2021-05-11 | 上海哔哩哔哩科技有限公司 | 数据采集方法、装置、计算机设备和计算机可读存储介质 |
CN112907247A (zh) * | 2021-03-18 | 2021-06-04 | 上海能链众合科技有限公司 | 一种区块链授权计算控制方法 |
CN112925836A (zh) * | 2019-12-06 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 一种数据转换方法和设备 |
CN113608889A (zh) * | 2021-07-13 | 2021-11-05 | 广州市百果园网络科技有限公司 | 消息数据处理方法、装置、设备和存储介质 |
CN114222008A (zh) * | 2021-12-16 | 2022-03-22 | 杭州当虹科技股份有限公司 | 基于tcp自定义数据协议的组包及解包方法 |
CN117492702A (zh) * | 2023-12-29 | 2024-02-02 | 成都凯迪飞研科技有限责任公司 | 一种大小端数据流的转换方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102958105A (zh) * | 2012-10-23 | 2013-03-06 | 大唐软件技术股份有限公司 | 一种物联网终端接入方法和装置 |
CN103812700A (zh) * | 2014-02-18 | 2014-05-21 | 西南大学 | 一种基于规则信息熵的报文分类方法 |
CN104144465A (zh) * | 2013-05-08 | 2014-11-12 | 华为终端有限公司 | 一种服务发现方法及装置 |
CN104283723A (zh) * | 2014-10-31 | 2015-01-14 | 北京蓝汛通信技术有限责任公司 | 网络访问日志处理方法及装置 |
CN104994107A (zh) * | 2015-07-13 | 2015-10-21 | 中国南方电网有限责任公司 | 一种基于iec62351的mms报文离线分析方法 |
US20150341270A1 (en) * | 2014-05-22 | 2015-11-26 | International Business Machines Corporation | Supporting access control list rules that apply to tcp segments belonging to 'established' connection |
CN106992908A (zh) * | 2017-03-31 | 2017-07-28 | 上海斐讯数据通信技术有限公司 | 一种智能家居管理***及其管理方法 |
-
2018
- 2018-12-27 CN CN201811609253.3A patent/CN109818930B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102958105A (zh) * | 2012-10-23 | 2013-03-06 | 大唐软件技术股份有限公司 | 一种物联网终端接入方法和装置 |
CN104144465A (zh) * | 2013-05-08 | 2014-11-12 | 华为终端有限公司 | 一种服务发现方法及装置 |
CN103812700A (zh) * | 2014-02-18 | 2014-05-21 | 西南大学 | 一种基于规则信息熵的报文分类方法 |
US20150341270A1 (en) * | 2014-05-22 | 2015-11-26 | International Business Machines Corporation | Supporting access control list rules that apply to tcp segments belonging to 'established' connection |
CN104283723A (zh) * | 2014-10-31 | 2015-01-14 | 北京蓝汛通信技术有限责任公司 | 网络访问日志处理方法及装置 |
CN104994107A (zh) * | 2015-07-13 | 2015-10-21 | 中国南方电网有限责任公司 | 一种基于iec62351的mms报文离线分析方法 |
CN106992908A (zh) * | 2017-03-31 | 2017-07-28 | 上海斐讯数据通信技术有限公司 | 一种智能家居管理***及其管理方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110311784A (zh) * | 2019-06-10 | 2019-10-08 | 北京信安世纪科技股份有限公司 | 一种json报文签名方法、验签方法及装置 |
CN110647482A (zh) * | 2019-09-19 | 2020-01-03 | 上海机器人产业技术研究院有限公司 | 一种基于移动机器人的上下位机通讯***及方法 |
CN112787978B (zh) * | 2019-11-07 | 2023-04-07 | 上海哔哩哔哩科技有限公司 | 数据采集方法、装置、计算机设备和计算机可读存储介质 |
CN112787978A (zh) * | 2019-11-07 | 2021-05-11 | 上海哔哩哔哩科技有限公司 | 数据采集方法、装置、计算机设备和计算机可读存储介质 |
CN112925836B (zh) * | 2019-12-06 | 2024-05-28 | 腾讯科技(深圳)有限公司 | 一种数据转换方法和设备 |
CN112925836A (zh) * | 2019-12-06 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 一种数据转换方法和设备 |
CN111680051B (zh) * | 2020-05-29 | 2023-10-20 | 杭州趣链科技有限公司 | 一种数据序列化和反序列化方法、设备及存储介质 |
CN111680051A (zh) * | 2020-05-29 | 2020-09-18 | 杭州趣链科技有限公司 | 一种数据序列化和反序列化方法、设备及存储介质 |
CN112907247A (zh) * | 2021-03-18 | 2021-06-04 | 上海能链众合科技有限公司 | 一种区块链授权计算控制方法 |
CN112907247B (zh) * | 2021-03-18 | 2024-01-26 | 上海零数众合信息科技有限公司 | 一种区块链授权计算控制方法 |
CN113608889A (zh) * | 2021-07-13 | 2021-11-05 | 广州市百果园网络科技有限公司 | 消息数据处理方法、装置、设备和存储介质 |
CN114222008A (zh) * | 2021-12-16 | 2022-03-22 | 杭州当虹科技股份有限公司 | 基于tcp自定义数据协议的组包及解包方法 |
CN117492702A (zh) * | 2023-12-29 | 2024-02-02 | 成都凯迪飞研科技有限责任公司 | 一种大小端数据流的转换方法 |
CN117492702B (zh) * | 2023-12-29 | 2024-04-02 | 成都凯迪飞研科技有限责任公司 | 一种大小端数据流的转换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109818930B (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109818930A (zh) | 一种基于tcp协议的通讯文本数据传输方法 | |
Castellani et al. | Web Services for the Internet of Things through CoAP and EXI | |
KR100424130B1 (ko) | 데이터 압축 장치, 데이터베이스 시스템, 데이터 통신시스템, 데이터 압축 방법, 기억 매체 및 프로그램 전송장치 | |
CN100384180C (zh) | 用于监控网络流量的方法和设备 | |
TWI377819B (en) | System and method for history driven optimization of web services communication | |
Wang | Improving data transmission in web applications via the translation between XML and JSON | |
US8346737B2 (en) | Encoding of hierarchically organized data for efficient storage and processing | |
CN102571966B (zh) | 一种大型xml文件的网络传输方法 | |
US20170099332A1 (en) | Systems and methods using binary dynamic rest messages | |
CN100366000C (zh) | 一种基于SNMP的IPv6传感器网络节点管理方法 | |
Moritz et al. | Encoding and compression for the devices profile for web services | |
EP2352269B1 (en) | Service access method and system | |
CN105868364B (zh) | 一种基于字节流的结构化数据表示方法 | |
CN104486396A (zh) | 一种跨平台的网络数据的传输方法 | |
CN106027512B (zh) | 一种基于可见字符的网络协议格式及其编解码方法、*** | |
CN104079580B (zh) | 教务教学图像语音识别***及方法 | |
WO2017157023A1 (zh) | 一种soap报文传输方法及*** | |
CN106982165A (zh) | 数据压缩方法及其*** | |
CN108040041A (zh) | 一种基于业务驱动的图像差异传输协议设计***及方法 | |
CN106528175B (zh) | 面向bs架构的数据接口生成方法 | |
Ji et al. | A comparison of road-network-constrained trajectory compression methods | |
Shin et al. | The CoAP-based M2M gateway for distribution automation system using DNP3. 0 in smart grid environment | |
Rosu | A-soap: Adaptive soap message processing and compression | |
CN104767710A (zh) | 基于dfa的http分块传输编码的传输载荷提取方法 | |
US8266312B2 (en) | Method of streaming size-constrained valid XML |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220513 Address after: No.19, floor 3, block 1, area 4, Beiao 1st Road, Nanguo Olympic Garden, Hanxi Avenue, Zhongcun street, Panyu District, Guangzhou City, Guangdong Province, 511495 Patentee after: GUANGZHOU YULONG INFORMATION TECHNOLOGY Co.,Ltd. Address before: 210023 No. 99 Wenlan Road, Xianlin University City, Nanjing, Jiangsu Province Patentee before: Nanjing Vocational College of Information Technology |