一种节省客户端和服务器交互时的传输流量的方法和模块的制作方法_2

文档序号:9202694阅读:来源:国知局
{原始 key 名 N:缩写 key 名 N}]}, N 为自然数。例如:{"if": "getUserlnfo", "V": "1.0.1.1",
[{//message_id//: , {"market—research": "k"},crm—carcLtype": "g"} ]}。用户终端可将该映射字典文件缓存到本地以提高性能。
[0023]当客户端向服务器发起请求时,客户端采用JSON格式组装请求数据,并根据客户端要访问的服务器接口获取对应的映射字典文件,并根据该映射字典文件对组装完成的请求数据进行压缩优化,即根据请求数据中的原始key在映射字典文件中找到匹配的映射定义(即缩写key),并用该映射定义替换请求数据中的原始key。
[0024]优化完成后,客户端通过HTTP协议将优化后的请求数据传给服务器的相应接口。
[0025]服务器接口接收到客户端优化后的请求数据后,根据相同的映射字典文件,将优化后的请求数据中的缩写key恢复成原始key名,再进行其后的请求处理,最后将处理结果传回给客户端。
[0026]采用本发明提供的方法后,可以极大地节省数据传输流量,加快数据传输速度。
[0027]例如,采用本发明提供的方法前的传输内容为:[{〃mSgId〃:〃618〃,〃OWer〃:l,〃logoImgUrl":〃merchantLogo/81374636245200501.jpg", 〃time〃:〃2013-08_0117:56:5
3// // ,”” Λ ””τ r* ? Γ ?” λ A c\” ”I ,” ” ” ”-1
,type:1 , serverlnto: { message—id: 14z , crm_card_type: , sample—
? I // // // //I,.1 // // // //,..1 // ^ C\ Λ Λ ^ ^IJI // // I— // //1.1 // //
id: , merchant—id: , quest1n—id: zl4 , market—research: 5 , card—id:
Or7//1 //.,? Γ Γ ?j j // // // // j.j I // // // // j.// // // //1.I T T I // // // //1,.////////
37 I, items:LI content: , title: , time: , IinkUrl: , locat1n: ,imageUrl": "","itemld": "142","type":5}]}],共约 371 字节。
[0028]相应的,采用本发明提供的方法优化后的传输内容为:[{〃a〃:〃618〃,〃b〃:l,〃c〃:〃merchantLogo/81374636245200501.jpg", "d":"2013-08-0117:56:53","s": Γ?//, "142" ” ”, ””//土//,// j //, "214" "k" * ^5^ ^xx^ * ^37^} ^.”” * ””
〃d〃: 〃〃,"ο": 〃〃,〃p〃: 〃〃,〃q〃: 〃〃,〃r〃: 〃142〃,〃e〃: 5} ]}],共约 232 字节。用户每传输一次该内容数据即可节省139字节,同时原始代码仍具有可读性和可维护性。
[0029]为实现上述方法,客户端需含有一个数据优化模块,该模块既可以含在应用软件内,也可以独立于应用软件,该模块至少包括:文件获取单元,用于向服务器请求并获取映射字典文件;数据转换模块,用于根据客户端的JSON格式的请求数据中的原始key在文件获取单元获取的映射字典文件中查找对应的映射定义,并用查找到的映射定义替换对应的原始key后输出。相应的,在服务器端也有一个数据恢复模块,至少包括:文件输出单元,用于存储映射字典文件,并根据客户端的请求将映射字典文件发送给客户端;数据转换模块,用于根据客户端发送的压缩优化后的数据中的映射定义在映射字典文件中查找对应的原始key,并用查找到的原始key替换对应的映射定义后输出。
[0030]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种节省客户端和服务器交互时的传输流量的方法,其特征在于,将客户端要传输给服务器的JSON数据根据映射字典文件进行压缩优化,所述映射字典文件是预定义的JSON数据中的key及对应的映射定义的集合。2.如权利要求1所述的节省客户端和服务器交互时的传输流量的方法,其特征在于,所述方法具体包括: 客户端获取服务器上的映射字典文件,并保持客户端上的映射字典文件与服务器上的映射字典文件始终同步一致; 客户端根据要传输给服务器的JSON格式的请求数据中的原始key在映射字典文件中查找匹配的映射定义; 客户端将查找到的映射定义替换请求数据中的原始key后,将压缩优化后的请求数据发送给服务器。3.如权利要求2所述的节省客户端和服务器交互时的传输流量的方法,其特征在于,所述方法还包括: 服务器根据客户端发送的压缩优化后的请求数据中的映射定义在映射字典文件中查找对应的原始key,并用查找到的原始key替换对应的映射定义。4.如权利要求2所述的节省客户端和服务器交互时的传输流量的方法,其特征在于,根据服务器不同接口定义不同的映射字典文件。5.如权利要求4所述的节省客户端和服务器交互时的传输流量的方法,其特征在于,客户端向服务器请求并获取对应的访问接口的映射字典文件,并缓存到本地。6.如权利要求5所述的节省客户端和服务器交互时的传输流量的方法,其特征在于,所述映射字典文件的格式为{固定keyl:接口名,固定key2:版本,[{原始key名1:缩写key名1},...,{原始key名N:缩写key名N}]}, N为自然数。7.一种优化客户端传输数据的模块,其特征在于,包括: 文件获取单元,用于向服务器请求并获取映射字典文件,所述映射字典文件是预定义的JSON数据中的key及对应的映射定义的集合; 数据转换模块,用于根据客户端的JSON格式的请求数据中的原始key在文件获取单元获取的映射字典文件中查找对应的映射定义,并用查找到的映射定义替换对应的原始key后输出。8.一种含有如权利要求7所述的优化客户端传输数据的模块的客户端。9.一种服务器上的数据恢复模块,其特征在于,包括: 文件输出单元,用于存储映射字典文件,并根据客户端的请求将映射字典文件发送给客户端,所述映射字典文件是预定义的JSON数据中的key及对应的映射定义的集合; 数据转换模块,用于根据客户端发送的压缩优化后的数据中的映射定义在映射字典文件中查找对应的原始key,并用查找到的原始key替换对应的映射定义后输出。10.一种节省客户端和服务器交互时的传输流量的系统,其特征在于,包括客户端上的数据优化模块和服务器上的数据恢复模块, 所述数据优化模块包括:文件获取单元,用于向服务器请求并获取映射字典文件,所述映射字典文件是预定义的JSON数据中的key及对应的映射定义的集合;数据转换模块,用于根据客户端的JSON格式的请求数据中的原始key在文件获取单元获取的映射字典文件中查找对应的映射定义,并用查找到的映射定义替换对应的原始key后输出; 所述数据恢复模块包括文件输出单元,用于存储映射字典文件,并根据客户端的请求将映射字典文件发送给客户端;数据转换模块,用于根据客户端发送的压缩优化后的数据中的映射定义在映射字典文件中查找对应的原始key,并用查找到的原始key替换对应的映射定义后输出。
【专利摘要】本发明适用于互联网通信领域,提供了一种节省客户端和服务器交互时的传输流量的方法,本发明通过在客户端和服务器端同步映射字典,并根据映射字典压缩优化传输数据,节省了传输流量,同时仍保持客户端和服务器端的代码的可读性、可维护性。
【IPC分类】G06F17/30, H04L29/08
【公开号】CN104917786
【申请号】CN201410086232
【发明人】顾建军
【申请人】杭州雾隐美地传媒有限公司
【公开日】2015年9月16日
【申请日】2014年3月11日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1