本发明涉及数据交互,具体地说是基于json的接口数据编码方法及系统。
背景技术:
1、前后端分离已成为网络服务开发的一个趋势,大量使用restful api接口及统一json数据返回的应用已被部署使用,即前后端通过大量的json数据进行交互,mqtt发布订阅消息也大量的使用json数据进行交互,即对于大数据量的json交互数据,或者请求频率超高的资源接口,会对访问网络造成一定的负担,可能会形成网络拥塞,影响服务正常使用。
2、在大数据量的json交互数据或者请求频率超高的资源接口进行数据传输时的网络负担,是需要解决的技术问题。
技术实现思路
1、本发明的技术任务是针对以上不足,提供基于json的接口数据编码方法及系统,来解决在大数据量的json交互数据或者请求频率超高的资源接口进行数据传输时的网络负担的技术问题。
2、第一方面,本发明一种基于json的接口数据编接码方法,应用于发送端和接收端,所述方法包括如下步骤:
3、作为发送端的客户端,请求原始json数据,调用编码接口、通过编码接口内置的编码方法对原始json数据进行编码,通过对json数据进行特征提取及去重编排的方式进行编码、得到编码后json数据,并将编码后json数据发送至作为接收端的服务端,其中,编码后josn数据包括编码标记和特征列表;
4、服务端接收编码后json数据后,调用解码接口、通过解码接口内置的解码方法对编码后json数据进行解码,根据编码标记和特征列表、从编码后json数据中得到原始json数据,并将解码得到的原始json数据发送至相关服务接口。
5、作为优选,通过对json数据进行特征提取及去重编排的方式进行编码,包括两种编码方式,分别为第一编码方式和第二编码方式;
6、第一编码方式包括如下步骤:对于原始json数据,提取json键字符串,并对提取的json键字符串去重编排到一个json数组中,将json键字符串所在数组的下标由数字格式转换为字符串格式、并通过字符串格式的下标替换原始键字符串,得到特征列表,并增加编码标注,生成编码后的字符串,将编码后的字符串以及json数据作为编码后json数据发送至接收端;
7、第二编码方式包括如下步骤:对于原始json数据,提取json键字符串和值字符串,并对提取的json键字符串和值字符串去重编排到一个json数组中,将json键字符串和值字符串所在数组的下标由数字格式转换为字符串格式、并通过字符串格式的下标替换原始键字符串,得到特征列表,并增加编码标注,生成编码后的字符串,将编码后的字符串以及编码后的json数据作为编码后json数据发送至接收端。
8、作为优选,对于第一种编码方式,通过原始接口将josn数据和编码后的字符串发送至服务端,或者通过原始接口将josn数据发送至服务端、通过单独的接口将编码后的字符串发送至服务端;
9、对于第二种编码方式,通过原始接口将编码后的josn数据和编码后的字符串发送至服务端,或者通过原始接口将编码后的josn数据发送至服务端、通过单独的接口将编码后的字符串发送至服务端。
10、作为优选,对于第一种编码方式,根据编码标记和特征列表、从编码后json数据中得到原始json数据时,将编码后json数据中键字符串替换为特征列表中的字符串,得到生成原始json数据;
11、对于第二种编码方式,根据编码标记和特征列表、从编码后json数据中得到原始json数据时,将编码后json数据中键字符串和值字符串替换为特征列表中的字符串,得到生成原始json数据。
12、第二方面,本发明一种基于json的接口数据编码系统,用于通过如第一方面任一项所述的一种基于json的接口数据编码方法进行接口数据编码,所述系统包括发送端和接收端;
13、发送端用于执行如下操作:请求原始json数据,调用编码接口、通过编码接口内置的编码方法对原始json数据进行编码,通过对json数据进行特征提取及去重编排的方式进行编码、得到编码后json数据,并将编码后json数据发送至作为接收端,其中,编码后josn数据包括编码标记和特征列表;
14、接收端用于执行如下操作:接收编码后json数据后,调用解码接口、通过解码接口内置的解码方法对编码后json数据进行解码,根据编码标记和特征列表、从编码后json数据中得到原始json数据,并将解码得到的原始json数据发送至相关服务接口。
15、作为优选,通过对json数据进行特征提取及去重编排的方式进行编码,包括两种编码方式,分别为第一编码方式和第二编码方式;
16、第一编码方式包括如下步骤:对于原始json数据,提取json键字符串,并对提取的json键字符串去重编排到一个json数组中,将json键字符串所在数组的下标由数字格式转换为字符串格式、并通过字符串格式的下标替换原始键字符串,得到特征列表,并增加编码标注,生成编码后的字符串,将编码后的字符串以及json数据作为编码后json数据发送至接收端;
17、第二编码方式包括如下步骤:对于原始json数据,提取json键字符串和值字符串,并对提取的json键字符串和值字符串去重编排到一个json数组中,将json键字符串和值字符串所在数组的下标由数字格式转换为字符串格式、并通过字符串格式的下标替换原始键字符串,得到特征列表,并增加编码标注,生成编码后的字符串,将编码后的字符串以及编码后的json数据作为编码后json数据发送至接收端。
18、作为优选,对于第一种编码方式,发送端用于通过原始接口将josn数据和编码后的字符串发送至接收端,或者通过原始接口将josn数据发送至接收端、通过单独的接口将编码后的字符串发送至接收端;
19、对于第二种编码方式,通过原始接口将编码后的josn数据和编码后的字符串发送至接收端,或者通过原始接口将编码后的josn数据发送至服务端、通过单独的接口将编码后的字符串发送至接收端。
20、作为优选,对于第一种编码方式,根据编码标记和特征列表、从编码后json数据中得到原始json数据时,接收端用于将编码后json数据中键字符串替换为特征列表中的字符串,得到生成原始json数据;
21、对于第二种编码方式,根据编码标记和特征列表、从编码后json数据中得到原始json数据时,接收端用于将编码后json数据中键字符串和值字符串替换为特征列表中的字符串,得到生成原始json数据。
22、本发明的基于json的接口数据编码方法及系统具有以下优点:在发送端进行json数据的编码,在接收端进行解码。接口调用传输的是经过编码的数据,编码后的数据相比原始数据数量减少了很多,可以减轻传输的压力,降低网络拥塞风险,提高系统的吞吐率。
1.一种基于json的接口数据编接码方法,其特征在于,应用于发送端和接收端,所述方法包括如下步骤:
2.根据权利要求1所述的基于json的接口数据编接码方法,其特征在于,通过对json数据进行特征提取及去重编排的方式进行编码,包括两种编码方式,分别为第一编码方式和第二编码方式;
3.根据权利要求2所述的基于json的接口数据编接码方法,其特征在于,对于第一种编码方式,通过原始接口将josn数据和编码后的字符串发送至服务端,或者通过原始接口将josn数据发送至服务端、通过单独的接口将编码后的字符串发送至服务端;
4.根据权利要求2或3所述的基于json的接口数据编接码方法,其特征在于,对于第一种编码方式,根据编码标记和特征列表、从编码后json数据中得到原始json数据时,将编码后json数据中键字符串替换为特征列表中的字符串,得到生成原始json数据;
5.一种基于json的接口数据编码系统,其特征在于,用于通过如权利要求1-4任一项所述的一种基于json的接口数据编码方法进行接口数据编码,所述系统包括发送端和接收端;
6.根据权利要求5所述的基于json的接口数据编码系统,其特征在于,通过对json数据进行特征提取及去重编排的方式进行编码,包括两种编码方式,分别为第一编码方式和第二编码方式;
7.根据权利要求6所述的基于json的接口数据编码系统,其特征在于,对于第一种编码方式,发送端用于通过原始接口将josn数据和编码后的字符串发送至接收端,或者通过原始接口将josn数据发送至接收端、通过单独的接口将编码后的字符串发送至接收端;
8.根据权利要求6或7所述的基于json的接口数据编码系统,其特征在于,对于第一种编码方式,根据编码标记和特征列表、从编码后json数据中得到原始json数据时,接收端用于将编码后json数据中键字符串替换为特征列表中的字符串,得到生成原始json数据;