CN101557399A - 一种xmpp协议传输数据压缩与解压缩方法 - Google Patents
一种xmpp协议传输数据压缩与解压缩方法 Download PDFInfo
- Publication number
- CN101557399A CN101557399A CNA200910107362XA CN200910107362A CN101557399A CN 101557399 A CN101557399 A CN 101557399A CN A200910107362X A CNA200910107362X A CN A200910107362XA CN 200910107362 A CN200910107362 A CN 200910107362A CN 101557399 A CN101557399 A CN 101557399A
- Authority
- CN
- China
- Prior art keywords
- buffer
- value
- node
- coding
- data
- 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.)
- Pending
Links
Images
Abstract
本发明公开了一种XMPP协议传输数据压缩方法,包括步骤:A1.将XMPP协议使用的字符串分别进行编码,所述编码组成编码表;A2.在传输XMPP协议即时通讯信息时,查询所述编码表,将所述即时通讯信息中的XMPP协议字符串由相应的所述编码替换,形成压缩即时通讯信息;A3.传输所述压缩即时通讯信息。
Description
技术领域
本发明涉及网络通讯技术领域,具体涉及一种XMPP协议传输数据压缩与解压缩方法。
背景技术
XMPP协议(extensible Messaging and Presence Protocol,可扩展消息处理现场协议)是一种基于XML语言(extensible Markup Language,可扩展标记语言)的近端串流式即时通信协议。它将现场和上下文敏感信息标记嵌入到XML结构化数据中,使得人与人之间、应用系统之间以及人与应用系统之间能即时相互通信。XMPP协议已被批准为互联网即时通信协议标准。
XMPP协议最大的特点就是具有非常好的扩展性,通过节点的概念能够很容易的扩展协议,因为XMPP协议采用XML语言描述通讯信息,因此具备了XML良好扩展性的特点,然而也不可避免地具有相应的缺陷:XML语言本身是字符串形式的,因此XMPP协议通讯信息的数据量要比二进制通讯协议数据量大得多;另外在使用XMPP协议传输二进制数据时,需要将二进制数据转换为BASE64编码,而BASE64编码数据要比原来的二进制数据大得多。为了既能保持XMPP协议良好的扩展性,同时又能做到使即时通讯信息更加轻便,使二进制数据传输更加便捷,我们需要对使用XMPP协议的方法进行改进。
发明内容
本发明要解决的技术问题是提供一种XMPP协议传输数据压缩与解压缩方法,克服现有技术XMPP协议即时通讯信息数据量过大的缺陷以及在传输二进制数据时必须将二进制数据转换成BASE64编码的缺陷。
本发明为解决上述技术问题所采用的技术方案为:
一种XMPP协议传输数据压缩方法,包括步骤:
A1、将XMPP协议使用的字符串分别进行编码,所述编码组成编码表;
A2、在传输XMPP协议即时通讯信息时,查询所述编码表,将所述即时通讯信息中的XMPP协议字符串由相应的所述编码替换,形成压缩即时通讯信息;
A3、传输所述压缩即时通讯信息。
所述的XMPP协议传输数据压缩方法,其中所述编码的字宽设为一个字节。
所述的XMPP协议传输数据压缩方法,其中所述步骤A2包括步骤:
B1、设置传输缓存Buffer;
B2、将所述即时通讯信息中的协议头数据原样写入所述传输缓存Buffer;
B3、依次对所述即时通讯信息中的每个节点进行所述编码表的查询和所述编码的替换,并将替换后的压缩数据写入所述传输缓存Buffer;
B4、将所述即时通讯信息中的扩展数据长度字段的数值和扩展数据写入所述传输缓存Buffer。
所述的XMPP协议传输数据压缩方法,其中所述步骤B3包括步骤:
C1、在所述编码表中查询所述节点的节点名编码;
C2、如果存在节点名编码,设置所述节点的节点名类型的值为0,否则设置所述节点的节点名类型的值1,将节点名类型的值写入所述传输缓存Buffer;
C3、如果节点名类型的值为0,将节点名编码写入所述传输缓存Buffer;
C4、如果节点名类型的值为1,则先将节点名长度的值写入所述传输缓存Buffer,然后将节点名字符串写入所述传输缓存Buffer;
C5、统计所述节点的节点属性个数,将节点属性个数写入所述传输缓存Buffer,如果节点属性个数大于0,依次对每个节点属性进行所述编码表的查询和所述编码的替换,并将替换后的压缩数据写入所述传输缓存Buffer;
C6、统计所述节点的子节点个数,将子节点个数写入所述传输缓存Buffer;
C7、如果子节点个数大于0,依次对每个子节点进行所述编码表的查询和所述编码的替换,并将替换后的压缩数据写入所述传输缓存Buffer;
C8、将所述节点的数据长度的值写入所述传输缓存Buffer;
C9、将所述节点的数据写入所述传输缓存Buffer。
所述的XMPP协议传输数据压缩方法,其中所述步骤C5包括步骤:
D1、在所述编码表中查询所述节点属性的属性名编码,如果存在属性名编码,设置所述节点属性的属性名类型的值为0,否则设置所述节点属性的属性名类型的值为1,将属性名类型的值写入所述传输缓存Buffer;
D2、如果属性名类型的值为0,将属性名编码写入所述传输缓存Buffer,否则如果属性名类型的值为1,则先将属性名长度的值写入所述传输缓存Buffer,然后将属性名字符串写入所述传输缓存Buffer;
D3、在所述编码表中查询所述节点属性的属性值编码,如果存在属性值编码,设置所述节点属性的属性值类型的值为0,否则设置所述节点属性的属性值类型的值为1,将属性值类型的值写入所述传输缓存Buffer;
D4、如果属性值类型的值为0,将属性值编码写入所述传输缓存Buffer,否则如果属性值类型的值为1,则先将属性值长度的值写入所述传输缓存Buffer,然后将属性值字符串写入所述传输缓存Buffer。
所述的XMPP协议传输数据压缩方法,其中所述步骤C7包括步骤:执行步骤C1至C9。
一种XMPP协议传输数据解压缩方法,包括步骤:
E1、在接收所述压缩即时通讯信息的端点设置所述编码表;
E2、查询所述编码表,将所述压缩即时通讯信息中的所述编码由相应的XMPP协议字符串替换,形成所述即时通讯信息。
所述的XMPP协议传输数据解压缩方法,其中所述步骤E2包括步骤:
F1、设置接收缓存Buffer1;
F2、将所述压缩即时通讯信息中的协议头数据原样写入所述接收缓存Buffer1;
F3、依次对所述压缩即时通讯信息中的每个节点进行所述编码表的查询和相应的XMPP协议字符串的替换,并将替换后的XMPP协议字符串写入所述接收缓存Buffer1;
F4、将所述压缩即时通讯信息的扩展数据长度字段的数值和扩展数据写入所述接收缓存Buffer1。
所述的XMPP协议传输数据解压缩方法,其中包括步骤E3:调用XMPP协议解析器对所述即时通讯信息进行解析。
本发明的有益效果:由于XMPP协议即时通讯信息中绝大部分是通用的字符串,因此本发明采用对常用XMPP协议字符串进行编码,然后通过查询编码表对即时通讯信息进行压缩,这样就大大减少了XMPP协议即时通讯信息的数据量,并且本发明对XMPP协议进行扩展,增加了扩展数据长度字段和扩展数据字段,压缩即时通讯信息可以直接携带二进制数据而不用进行BASE64编码的转换,既减少了二进制数据到BASE64编码转换的资源消耗,也大大减少了相应的传输数据量,这样就大大提高了即时通讯的效率,本发明是XMPP协议应用的重大进步。
附图说明
本发明包括如下附图:
图1为本发明XMPP协议即时通讯信息协议头的数据结构示意图;
图2为本发明XMPP协议即时通讯信息中属性的数据结构示意图;
图3为本发明XMPP协议即时通讯信息中节点的数据结构示意图;
图4为本发明XMPP协议即时通讯信息数据结构示意图;
图5为本发明压缩后即时通讯信息的示意图;
图6为本发明应用XMPP协议传输数据压缩和解压缩方法的交互场景示意图。
具体实施方式
下面根据附图和实施例对本发明作进一步详细说明:
对XMPP协议进行充分分析后,可以总结出XMPP协议使用字符串的规律,比如请求节点名为iq,消息的节点名为message,等等,而且使用特殊字符串的节点名、命名空间、属性名是有限的,我们可以对这些有规律的字符串进行编码。
编码表的建立
编码表是XMPP协议即时通讯信息压缩和解压缩的关键。根据XMPP协议的特点,对XMPP协议中的常用字符串进行编码,根据整理,编码远不到256个,所以只要一个字节就可以实现XMPP协议中常用字符串的编码,而且还有剩余的编码供以后扩展,通过编码表代替不定长的字符串数据,大大减少数据量,根据XMPP协议的特点进行分类编码如下:
节点名编码表
编码值 | 节点名 | 说明 |
1 | stream:stream | stream流的开始 |
2 | stream:error | 流错误 |
3 | stream:features | 流属性 |
4 | mechanisms | 加密算法集合 |
5 | mechanism | 加密节点 |
6 | iq | iq请求 |
7 | query | 请求 |
8 | presence | 出席节点 |
9 | message | 消息 |
10 | subject | 主题 |
11 | body | 内容 |
12 | thread | 线索 |
13 | domain | 域 |
14 | item | 一个项 |
15 | group | 群 |
16 | show | 显示 |
17 | status | 状态 |
18 | priority | 优先级 |
19 | gone | 处理后 |
20 | internal-server-error | 服务错误 |
21 | forbidden | 禁止 |
22 | conflict | 冲突 |
23 | error | 错误 |
24 | active | 活跃的 |
25 | default | 默认 |
26 | value | 值 |
27 | action | 行为 |
28 | order | 命令 |
29 | item-not-found | 指定项没有找到 |
30 | bad-request | 错误请求 |
31 | presence-out | 离线 |
32 | service-unavailable | 服务不存在 |
33 | identity | 身份 |
34 | field | 领域,局部 |
35 | feature | 特色 |
36 | x | 节点X |
37 | password | 密码 |
38 | username | 用户名 |
49 | resource | 资源 |
40 | registration-required | 注册请求 |
41 | delay | 延迟 |
42 | history | 历史 |
43 | not-acceptable | 不接受 |
44 | invite | 邀请 |
45 | decline | 踢人 |
46 | reason | 原因 |
47 | continue | 继续 |
58 | title | 标题 |
59 | instructions | 说明 |
50 | option | 选择 |
51 | unique | 唯一的 |
52 | destroy | 消耗 |
53 | remove | 删除 |
54 | text | 文本 |
55 | defined-condition | 定义条件 |
56 | xml-not-well-formed | xml格式错误 |
57 | escape-your-data | 数据超界 |
68 | ClientVer | 客户端版本 |
属性名编码表
编码值 | 属性名 | 说明 |
1 | xmlns | 命名空间 |
2 | type | 类型 |
3 | id | 编号 |
4 | from | 来自 |
5 | to | 发到... |
6 | version | 版本 |
7 | xmlns:stream | 流命名空间 |
8 | xml:lang | xml的字符编码 |
9 | subscription | 订阅 |
10 | jid | 用户id |
11 | name | 名字 |
12 | ask | 询问 |
13 | var | 变量 |
14 | category | 类别 |
15 | affiliation | 关系 |
16 | role | 角色 |
17 | code | 代码 |
18 | not-authorized | 没有验证 |
19 | stamp | 标志 |
20 | maxstanzas | 最大的节数 |
21 | seconds | 秒数 |
22 | since | 起点 |
23 | maxchars | 最大字符 |
24 | nick | 昵称 |
25 | label | 标签 |
26 | xmlns:db | 命名空间数据 |
属性值编码表
压缩过程的实现
XML的描述符具有树形结构,除了对常用字符编码外,还需要对XML的格式进行定义。XML描述符中有一个或多个节点,其中每个节点都包含0个或多个属性和子节点,父子节点的类型是相同的,子节点的描述同父节点一样,节点的属性描述包含对属性名和属性值的描述。协议头数据压缩过程:
如图1所示,即时通讯信息协议头的数据结构是固定的,长度为三个整型变量长度,共12个字节,这个协议头为自定义协议头,做协议标识,第一个整型存储协议代码,其中第一个字节存储英文字母x的ASCII码,第二个字节存储英文字母m的ASCII码,第三、第四个字节存储英文字母p的ASCII码,第二个整型变量为版本号,为以后做版本兼容和识别处理,第三个整型变量为协议数据长度。
(1)首先申请传输缓存(Buffer);
(2)在传输缓存Buffer内写入协议代码;
(3)在传输缓存Buffer内写入协议版本;
(4)在传输缓存Buffer内写入协议数据长度。
属性压缩过程:
即时通讯信息中属性的数据结构如图2所示。
(1)在编码表中查询节点属性的属性值编码,如果存在属性值编码,设置节点属性的属性值类型的值为0,否则设置节点属性的属性值类型的值为1,将属性值类型的值写入传输缓存Buffer;
(2)如果属性名类型的值为0,将属性名编码写入传输缓存Buffer,否则如果属性名类型的值为1,则先将属性名长度的值写入传输缓存Buffer,然后将属性名字符串写入传输缓存Buffer;
(3)在编码表中查询节点属性的属性值编码,如果存在属性值编码,设置节点属性的属性值类型的值为0,否则设置节点属性的属性值类型的值为1,将属性值类型的值写入传输缓存Buffer;
(4)如果属性值类型的值为0,将属性值编码写入传输缓存Buffer,否则如果属性值类型的值为1,则先将属性值长度的值写入传输缓存Buffer,然后将属性值字符串写入传输缓存Buffer。
节点压缩过程:
即时通讯信息中节点的数据结构如图3所示。
(1)在编码表中查询节点的节点名编码;
(2)如果存在节点名编码,设置节点的节点名类型的值为0,否则设置节点的节点名类型的值1,将节点名类型的值写入传输缓存Buffer;
(3)如果节点名类型的值为0,将节点名编码写入传输缓存Buffer;
(4)如果节点名类型的值为1,则先将节点名长度的值写入传输缓存Buffer,然后将节点名字符串写入传输缓存Buffer;
(5)统计节点的节点属性个数,将节点属性个数写入传输缓存Buffer,如果节点属性个数大于0,依次对每个节点属性进行编码表的查询和编码的替换,并将替换后的压缩数据写入传输缓存Buffer;
(6)统计节点的子节点个数,将子节点个数写入传输缓存Buffer;
(7)如果子节点个数大于0,依次对每个子节点进行编码表的查询和编码的替换,并将替换后的压缩数据写入传输缓存Buffer;
(8)将节点的数据长度的值写入传输缓存Buffer;
(9)将节点的数据写入传输缓存Buffer。
整个即时通讯信息的数据结构如图4所示。
调用前面叙述的各个压缩过程来完成整个即时通讯信息的二进制数据序列化过程,最后将扩展数据长度写入传输缓存Buffer,如果长度不为0,则将扩展数据写入传输缓存Buffer,最后通过网络将传输缓存Buffer内的数据发送出去。
解压缩过程的实现
从网络底层接收到压缩的数据后将数据存入接收缓存RecvBuffer中,解压缩过程其实就是压缩一个反过程,就是把RecvBuffer中的二进制数据进行反序列化,把二进制数据解析成XML流的过程。
协议头数据解压缩过程:
(1)从RecvBuffer中读取协议代码;
(2)从RecvBuffer读取协议版本;
(3)从RecvBuffer读取协议数据长度;
(4)生成一个XML节点类型。
属性解压缩过程:
(1)从RecvBuffer读取属性名类型;
(2)如果是0(编码类型),从编码表中找到对应的属性名,否则读取属性名长度,读取属性名,假定属性名为type;
(3)从RecvBuffer读取属性值类型;
(4)如果是编码,则从编码字典中得到属性值,否则读取属性值长度,读取属性值,假定属性值为data;
(5)在当前的XML节点中添加一个属性名为type,值为data的属性。节点解压缩过程:
(1)从RecvBuffer读取节点名类型;
(2)如果是编码,则查询编码表得到真实的节点名,否则读取节点名的长度,然后直接读取节点名,假定节点名为nodename;
(3)在XML节点当前层次中加入一个节点名为nodename的节点。
(4)从RecvBuffer读取属性节点个数;
(5)如果个数不为0,循环调用属性解压缩过程来解压缩属性数据;
(6)从RecvBuffer读取子节点个数;
(7)如果子节点个数不为0,则循环调用节点解压缩过程来尽一步解压缩;
(8)从RecvBuffer读取节点数据长度;
(9)如果长度不为0,则读取节点数据。
整个协议数据的解压缩过程:
(1)从RecvBuffer读取协议头数据;
(2)从RecvBuffer读取节点个数;
(3)如果节点个数不为零,则循环调用节点解压缩过程;
(4)从RecvBuffer读取扩展数据长度;
(5)如果扩展数据长度不为零,则从RecvBuffer中读取扩展数据,如果为零则结束解压缩过程,得到XML格式节点数据和扩展数据。
对于即时通讯信息:
<iq><query xmlns=“jabberd:iq:admin”type=“get”><query/><iq/>,共有63个字符,其压缩后的数据格式如图5所示,压缩后字符数为52,除去协议头字符数12、扩展数据字符数8,XMPP协议数据本身为32个字符,这个协议数据比较小,所以整体数据上看不出压缩后的比率,但除去协议附加的消息外,XMPP协议的数据压缩将近50%(32/63*100%),当XMPP协议数据很大时,协议头和扩展数据占的比率就比较小,这样压缩比是比较高的。采取这样的编码后就可以在协议数据的扩展数据部分携带二进制数据,这样非常方便,因为在现实应用中携带二进制的需求是比较大的,现在的XMPP协议采用进行BASE64的方式来传输二进制,这样不仅使传输数据量增加,同时在发送前和接收后都需要对数据进行BASE64的编码和解码,这样效率是相当低的。
如图6所示是使用本发明XMPP协议传输数据压缩和解压缩方法的交互场景:
1、客户端A---->服务器A
(1)客户段A将XML节点(标准XMPP格式)进行压缩
(2)通过网络TCP/IP协议将数据发送到服务器A
(3)服务器A对数据进行解压,到得XML数据节点(标准的XMPP格式)。
2、服务器A---->客户端A
(1)XML节点数据进行压缩
(2)通过网络TCP/IP协议将数据发送客户端A
(3)协议解压成XML节点
3、客户端B---->服务器A
(1)XML节点通过标准XML解析器解析成字符串流
(2)通过网络TCP/IP协议将数据发送到服务器A
(3)服务器A标准XMPP协议网关将字符串流解析成XML节点
4、服务器A---->客户端B
(1)调用标准XMPP协议解析器将XML节点解析成字符串流
(2)通过网络TCP/IP协议将数据发送到客户端B
(3)通过标准XMPP协议解析器解析成XML节点
5、客户端A---->客户端D
(1)客户端A将XMPP标准的XML节点数据进行压缩
(2)通过网络TCP/IP协议将数据发送服务器A
(3)服务器A进行协议解压得到XML节点
(4)调用XMPP协议解析器解析成标准字符串流
(5)通过网络TCP/IP协议将数据发送到客户端D
(6)客户端D调用XMPP协议解析器解析成XML节点
6、客户端A---->路由器1---->客户端B
(1)客户端A将XMPP标准的XML节点数据进行压缩
(2)通过网络TCP/IP协议将数据发送路由器1
(3)路由器1进行协议解压得到XML节点
(4)路由器调用XMPP协议解析器解析成标准字符串流
(5)通过网络TCP/IP协议将数据发送到客户B
(6)客户端B调用XMPP标准协议解析器解析成XML节点
7、客户端B---->路由器1---->客户端A
(1)客户端B调用XMPP解析器将XML节点解析成字符串流
(2)通过网络TCP/IP协议将数据发送路由器1
(3)路由器1进行协议进行解析得到XML节点
(4)路由器1调用协议压缩模块将协议进行压缩
(5)通过网络TCP/IP协议将数据发送客户端A
(6)客户端A对协议进行解压得到XML节点
本领域技术人员不脱离本发明的实质和精神,可以有多种变形方案实现本发明,以上所述仅为本发明较佳可行的实施例而已,并非因此局限本发明的权利范围,凡运用本发明说明书及附图内容所作的等效结构变化,均包含于本发明的权利范围之内。
Claims (9)
1、一种XMPP协议传输数据压缩方法,其特征在于,包括步骤:
A1、将XMPP协议使用的字符串分别进行编码,所述编码组成编码表;
A2、在传输XMPP协议即时通讯信息时,查询所述编码表,将所述即时通讯信息中的XMPP协议字符串由相应的所述编码替换,形成压缩即时通讯信息;
A3、传输所述压缩即时通讯信息。
2、根据权利要求1所述的XMPP协议传输数据压缩方法,其特征在于:所述编码的字宽设为一个字节。
3、根据权利要求1所述的XMPP协议传输数据压缩方法,其特征在于,所述步骤A2包括步骤:
B1、设置传输缓存Buffer;
B2、将所述即时通讯信息中的协议头数据原样写入所述传输缓存Buffer;
B3、依次对所述即时通讯信息中的每个节点进行所述编码表的查询和所述编码的替换,并将替换后的压缩数据写入所述传输缓存Buffer;
B4、将所述即时通讯信息中的扩展数据长度字段的数值和扩展数据写入所述传输缓存Buffer。
4、根据权利要求3所述的XMPP协议传输数据压缩方法,其特征在于,所述步骤B3包括步骤:
C1、在所述编码表中查询所述节点的节点名编码;
C2、如果存在节点名编码,设置所述节点的节点名类型的值为0,否则设置所述节点的节点名类型的值1,将节点名类型的值写入所述传输缓存Buffer;
C3、如果节点名类型的值为0,将节点名编码写入所述传输缓存Buffer;
C4、如果节点名类型的值为1,则先将节点名长度的值写入所述传输缓存Buffer,然后将节点名字符串写入所述传输缓存Buffer;
C5、统计所述节点的节点属性个数,将节点属性个数写入所述传输缓存Buffer,如果节点属性个数大于0,依次对每个节点属性进行所述编码表的查询和所述编码的替换,并将替换后的压缩数据写入所述传输缓存Buffer;
C6、统计所述节点的子节点个数,将子节点个数写入所述传输缓存Buffer;
C7、如果子节点个数大于0,依次对每个子节点进行所述编码表的查询和所述编码的替换,并将替换后的压缩数据写入所述传输缓存Buffer;
C8、将所述节点的数据长度的值写入所述传输缓存Buffer;
C9、将所述节点的数据写入所述传输缓存Buffer。
5、根据权利要求4所述的XMPP协议传输数据压缩方法,其特征在于,所述步骤C5包括步骤:
D1、在所述编码表中查询所述节点属性的属性名编码,如果存在属性名编码,设置所述节点属性的属性名类型的值为0,否则设置所述节点属性的属性名类型的值为1,将属性名类型的值写入所述传输缓存Buffer;
D2、如果属性名类型的值为0,将属性名编码写入所述传输缓存Buffer,否则如果属性名类型的值为1,则先将属性名长度的值写入所述传输缓存Buffer,然后将属性名字符串写入所述传输缓存Buffer;
D3、在所述编码表中查询所述节点属性的属性值编码,如果存在属性值编码,设置所述节点属性的属性值类型的值为0,否则设置所述节点属性的属性值类型的值为1,将属性值类型的值写入所述传输缓存Buffer;
D4、如果属性值类型的值为0,将属性值编码写入所述传输缓存Buffer,否则如果属性值类型的值为1,则先将属性值长度的值写入所述传输缓存Buffer,然后将属性值字符串写入所述传输缓存Buffer。
6、根据权利要求4所述的XMPP协议传输数据压缩方法,其特征在于,所述步骤C7包括步骤:执行步骤C1至C9。
7、一种XMPP协议传输数据解压缩方法,其特征在于,包括步骤:
E1、在接收所述压缩即时通讯信息的端点设置所述编码表;
E2、查询所述编码表,将所述压缩即时通讯信息中的所述编码由相应的XMPP协议字符串替换,形成所述即时通讯信息。
8、根据权利要求7所述的XMPP协议传输数据解压缩方法,其特征在于,所述步骤E2包括步骤:
F1、设置接收缓存Buffer1;
F2、将所述压缩即时通讯信息中的协议头数据原样写入所述接收缓存Buffer1;
F3、依次对所述压缩即时通讯信息中的每个节点进行所述编码表的查询和相应的XMPP协议字符串的替换,并将替换后的XMPP协议字符串写入所述接收缓存Buffer1;
F4、将所述压缩即时通讯信息的扩展数据长度字段的数值和扩展数据写入所述接收缓存Buffer1。
9、根据权利要求7所述的XMPP协议传输数据解压缩方法,其特征在于,包括步骤E3:调用XMPP协议解析器对所述即时通讯信息进行解析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200910107362XA CN101557399A (zh) | 2009-05-20 | 2009-05-20 | 一种xmpp协议传输数据压缩与解压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200910107362XA CN101557399A (zh) | 2009-05-20 | 2009-05-20 | 一种xmpp协议传输数据压缩与解压缩方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101557399A true CN101557399A (zh) | 2009-10-14 |
Family
ID=41175344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200910107362XA Pending CN101557399A (zh) | 2009-05-20 | 2009-05-20 | 一种xmpp协议传输数据压缩与解压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101557399A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103442028A (zh) * | 2013-07-24 | 2013-12-11 | 佳都新太科技股份有限公司 | 一种基于xmpp的移动应用数据推送方法 |
CN104104575A (zh) * | 2013-04-03 | 2014-10-15 | 腾讯科技(深圳)有限公司 | 一种即时通讯群的通讯方法及系统 |
CN104216958A (zh) * | 2014-08-20 | 2014-12-17 | 深圳市邦彦信息技术有限公司 | 基于结构化数据的传输方法及装置 |
CN104965892A (zh) * | 2015-06-17 | 2015-10-07 | 重庆邮电大学 | 一种无线传感器网络中基于字典的xmpp压缩方法 |
CN105024923A (zh) * | 2015-07-29 | 2015-11-04 | 北京梅泰诺通信技术股份有限公司 | 基于xmpp扩展消息的消息分类实现的方法及装置 |
CN105677809A (zh) * | 2015-12-31 | 2016-06-15 | 广州华多网络科技有限公司 | 一种基于移动终端的中文词条索引压缩方法及移动终端 |
CN105915443A (zh) * | 2016-06-15 | 2016-08-31 | Tcl移动通信科技(宁波)有限公司 | 一种移动终端对即时通信信息的处理方法及系统 |
CN108476219A (zh) * | 2016-01-13 | 2018-08-31 | 西门子股份公司 | 用于数据交换的方法和设备 |
CN109274720A (zh) * | 2018-08-24 | 2019-01-25 | 网宿科技股份有限公司 | 一种传输数据的方法和系统 |
CN109683996A (zh) * | 2018-12-20 | 2019-04-26 | 携程旅游网络技术(上海)有限公司 | 通信数据的传输方法及系统 |
CN109921875A (zh) * | 2017-12-13 | 2019-06-21 | 中国电信股份有限公司 | 数据传输方法、系统及设备 |
CN112019518A (zh) * | 2020-08-05 | 2020-12-01 | 杭州木链物联网科技有限公司 | 一种工控协议数据压缩方法、装置 |
WO2023130741A1 (zh) * | 2022-01-10 | 2023-07-13 | 深圳智慧林网络科技有限公司 | 基于联合编码的数据传输方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003007614A2 (en) * | 2001-07-13 | 2003-01-23 | France Telecom | Method for compressing a hierarchical tree, corresponding signal and method for decoding a signal. |
CN1455901A (zh) * | 2000-10-06 | 2003-11-12 | 佳能株式会社 | Xml编码方案 |
CN1492322A (zh) * | 2003-08-20 | 2004-04-28 | 放 黄 | xml数据压缩和解压方法 |
CN1547326A (zh) * | 2003-11-28 | 2004-11-17 | 北京大学 | 可扩展标记语言数据流压缩器及其压缩方法 |
CN1751442A (zh) * | 2003-02-14 | 2006-03-22 | 捷讯研究有限公司 | 用于压缩以结构化定义语言表达的无线应用程序的系统和方法 |
-
2009
- 2009-05-20 CN CNA200910107362XA patent/CN101557399A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1455901A (zh) * | 2000-10-06 | 2003-11-12 | 佳能株式会社 | Xml编码方案 |
WO2003007614A2 (en) * | 2001-07-13 | 2003-01-23 | France Telecom | Method for compressing a hierarchical tree, corresponding signal and method for decoding a signal. |
CN1751442A (zh) * | 2003-02-14 | 2006-03-22 | 捷讯研究有限公司 | 用于压缩以结构化定义语言表达的无线应用程序的系统和方法 |
CN1492322A (zh) * | 2003-08-20 | 2004-04-28 | 放 黄 | xml数据压缩和解压方法 |
CN1547326A (zh) * | 2003-11-28 | 2004-11-17 | 北京大学 | 可扩展标记语言数据流压缩器及其压缩方法 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104104575A (zh) * | 2013-04-03 | 2014-10-15 | 腾讯科技(深圳)有限公司 | 一种即时通讯群的通讯方法及系统 |
CN104104575B (zh) * | 2013-04-03 | 2019-01-29 | 腾讯科技(深圳)有限公司 | 一种即时通讯群的通讯方法及系统 |
CN103442028A (zh) * | 2013-07-24 | 2013-12-11 | 佳都新太科技股份有限公司 | 一种基于xmpp的移动应用数据推送方法 |
CN104216958A (zh) * | 2014-08-20 | 2014-12-17 | 深圳市邦彦信息技术有限公司 | 基于结构化数据的传输方法及装置 |
CN104216958B (zh) * | 2014-08-20 | 2018-01-12 | 邦彦技术股份有限公司 | 基于结构化数据的传输方法及装置 |
CN104965892B (zh) * | 2015-06-17 | 2018-08-14 | 重庆邮电大学 | 一种无线传感器网络中基于字典的xmpp压缩方法 |
CN104965892A (zh) * | 2015-06-17 | 2015-10-07 | 重庆邮电大学 | 一种无线传感器网络中基于字典的xmpp压缩方法 |
CN105024923A (zh) * | 2015-07-29 | 2015-11-04 | 北京梅泰诺通信技术股份有限公司 | 基于xmpp扩展消息的消息分类实现的方法及装置 |
CN105024923B (zh) * | 2015-07-29 | 2018-05-15 | 北京梅泰诺通信技术股份有限公司 | 基于xmpp扩展消息的消息分类实现的方法及装置 |
CN105677809B (zh) * | 2015-12-31 | 2019-06-28 | 广州华多网络科技有限公司 | 一种基于移动终端的中文词条索引压缩方法及移动终端 |
CN105677809A (zh) * | 2015-12-31 | 2016-06-15 | 广州华多网络科技有限公司 | 一种基于移动终端的中文词条索引压缩方法及移动终端 |
CN108476219A (zh) * | 2016-01-13 | 2018-08-31 | 西门子股份公司 | 用于数据交换的方法和设备 |
US11146610B2 (en) | 2016-01-13 | 2021-10-12 | Siemens Aktiengesellschaft | Method and device for data exchange |
CN108476219B (zh) * | 2016-01-13 | 2021-11-09 | 西门子股份公司 | 用于数据交换的方法和设备 |
CN105915443A (zh) * | 2016-06-15 | 2016-08-31 | Tcl移动通信科技(宁波)有限公司 | 一种移动终端对即时通信信息的处理方法及系统 |
CN109921875A (zh) * | 2017-12-13 | 2019-06-21 | 中国电信股份有限公司 | 数据传输方法、系统及设备 |
CN109274720A (zh) * | 2018-08-24 | 2019-01-25 | 网宿科技股份有限公司 | 一种传输数据的方法和系统 |
CN109274720B (zh) * | 2018-08-24 | 2022-04-22 | 网宿科技股份有限公司 | 一种传输数据的方法和系统 |
CN109683996A (zh) * | 2018-12-20 | 2019-04-26 | 携程旅游网络技术(上海)有限公司 | 通信数据的传输方法及系统 |
CN112019518A (zh) * | 2020-08-05 | 2020-12-01 | 杭州木链物联网科技有限公司 | 一种工控协议数据压缩方法、装置 |
WO2023130741A1 (zh) * | 2022-01-10 | 2023-07-13 | 深圳智慧林网络科技有限公司 | 基于联合编码的数据传输方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101557399A (zh) | 一种xmpp协议传输数据压缩与解压缩方法 | |
US7043686B1 (en) | Data compression apparatus, database system, data communication system, data compression method, storage medium and program transmission apparatus | |
CN100580661C (zh) | 结构化文档、尤其xml文档的编码/译码的方法和装置 | |
CN109818930B (zh) | 一种基于tcp协议的通讯文本数据传输方法 | |
US8120515B2 (en) | Knowledge based encoding of data with multiplexing to facilitate compression | |
US20100115041A1 (en) | Creating a message readable by a plurality of heterogeneous recipients | |
US20050120031A1 (en) | Structured document encoder, method for encoding structured document and program therefor | |
CN107561564B (zh) | 一种北斗卫星信息传输的压缩实现方法 | |
Werner et al. | Compressing SOAP messages by using differential encoding | |
CN101346689A (zh) | 压缩模式表示对象和用于元数据处理的方法 | |
CN102571966A (zh) | 一种大型xml文件的网络传输方法 | |
US11070231B2 (en) | Reducing storage of blockchain metadata via dictionary-style compression | |
CN100444635C (zh) | TV-Anytime元数据服务中的利用了get_Data操作的请求域提供方法 | |
CN101079889A (zh) | 数据传输系统及其传输方法 | |
CN106851733A (zh) | 一种针对移动网络应用的自适应http消息压缩方法 | |
JP4548184B2 (ja) | 圧縮規則生成方法、圧縮通信装置及びプログラム | |
CN101917332A (zh) | 一种降低消息中间件网络负载的消息传递方法 | |
WO2017157023A1 (zh) | 一种soap报文传输方法及系统 | |
CN101500210B (zh) | 基于xmpp协议的低传输负载的即时通信方法及其系统 | |
EP1154352A1 (en) | Data transmission method, computer-readable medium, and data transmission apparatus | |
CN108040041A (zh) | 一种基于业务驱动的图像差异传输协议设计系统及方法 | |
CN1541475B (zh) | 传输用户数据报协议消息的方法 | |
CN102843345B (zh) | 远程沟通方法及其计算机程序产品 | |
CN115499506A (zh) | 一种基于lzw算法的mqtt信息传输数据压缩方法及服务器 | |
KR101066610B1 (ko) | Xml과 json 데이터의 압축 및 분할 전송시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
C57 | Notification of unclear or unknown address | ||
DD01 | Delivery of document by public notice |
Addressee: Zhang Daijun Document name: Notification of Passing Preliminary Examination of the Application for Invention |
|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
DD01 | Delivery of document by public notice |
Addressee: Zhang Daijun Document name: Notification of Patent Invention Entering into Substantive Examination Stage |
|
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20091014 |