一种基于json报文的处理方法、装置、设备及介质制造方法及图纸

技术编号:34109187 阅读:13 留言:0更新日期:2022-07-12 01:02
本申请提供一种基于json报文的处理方法、装置、设备及介质。该方法包括:获取接收到的json报文;对接收到的json报文进行分级线性压缩处理;将压缩后的json报文输入至对应的消息队列中;针对每个消息队列,获取当前校验规则对应的加权因子,根据加权因子的大小和获取的校验消息队列的校验规则的数量,确定最终校验规则;对消息队列中的压缩后的json报文进行解压缩处理,并根据最终校验规则对解压缩后的json报文进行校验处理,若解压缩后的json报文校验通过,则执行相应的业务处理。本申请的方法,通过分级线性压缩以及对json报文进行精准校验,缩短了压缩后数据的长度,简化了校验流程,提高了数据处理速度。提高了数据处理速度。提高了数据处理速度。

【技术实现步骤摘要】
一种基于json报文的处理方法、装置、设备及介质


[0001]本申请涉及通信技术,尤其涉及一种基于json报文的处理方法、装置、设备及介质。

技术介绍

[0002]现有技术中,发送方主要是通过传输控制协议(Transmission Control Protocol;简称:TCP)中的连接目的地址和端口,将JSON报文的传输至对应的落地接口方以进行相应的处理。但是,当接收到的报文相对较多时,会导致落地接口方的算力不足而出现宕机的情况,且发送方并没有收到有效反馈报文而继续处于发送JSON报文的状态,使得落地接口方更不能进一步处理报文。
[0003]为了解决上述技术问题,现有技术在对json报文进行传输的过程中,采用数据缓存方法或者流量管控方法进行限流降级,以减缓落地接口方的接收速率,从而一定程度上提高了落地接口方对数据处理的吞吐性能。
[0004]但是,由于现有技术中仅是在对json报文进行传输的过程中进行限流降级,但是并没有对落地接口方的数据的处理速率进行提升,即落地接口方的数据的吞吐性能依然要严重依赖于落地接口方的机器性能以及代码复杂度。

技术实现思路

[0005]本申请提供一种基于json报文的处理方法、装置、设备及介质,用以解决现有技术中落地接口方的数据的处理速率严重依赖于落地接口方的机器性能以及代码复杂度的技术问题。
[0006]一方面,本申请提供一种基于json报文的处理方法,包括:
[0007]接收多源json报文。
[0008]对接收到的json报文进行分级线性压缩处理,以获取压缩后的json报文。
[0009]将压缩后的json报文输入至所述压缩后的json报文的源类型对应的消息队列中。
[0010]获取所述消息队列对应的当前所使用的校验规则对应的加权因子,并根据每个加权因子的大小,以及基于所述消息队列对应的当前校验错误率获取的校验所述消息队列的校验规则的数量,确定最终校验所述消息队列的校验规则。
[0011]对所述消息队列中的压缩后的json报文进行解压缩处理,并根据所述最终校验所述消息队列的校验规则,对解压缩后的json报文进行校验处理。
[0012]若所述解压缩后的json报文校验通过,则执行相应的业务处理,若所述解压缩后的json报文校验未通过,则丢弃该报文。
[0013]在一种具体实施方式中,还包括:
[0014]根据所述接收到的json报文,将所述json报文中的key值替换为固定长度的短字符。
[0015]根据所述接收到的json报文中的每个Value值,按照int数字类型,boolean数字类
型,null数字类型,string中的短串数字类型,string中的中串数字类型,string中的长串数字类型,对所述Value值进行压缩处理。
[0016]根据替换后的key值和类型值以及压缩后的Value值,将替换后的key值和类型值压缩在所述json报文的头部,将压缩后的Value值压缩在所述json报文的非头部。
[0017]在一种具体实施方式中,还包括:
[0018]根据每个校验规则,获取所述消息队列中的第一周期内所接收到的报文中的每个报文不通过的概率以及所述校验规则导致所述报文不通过的概率的乘积值,并从所述乘积值中获取最大的乘积值作为所述校验规则在在所述消息队列中的第一周期内导致接收报文不通过的概率的最大值。
[0019]获取第一周期内导致接收报文不通过的概率的最大值。
[0020]根据所述校验规则,获取导致所述消息队列中的第一周期内接收到的每个报文不通过的概率的第一平均值。
[0021]根据所述校验规则,获取导致所述消息队列中的第二周期内接收到的每个报文不通过的概率的第二平均值。
[0022]根据所述第一平均值和所述第二平均值,以及当前时刻第一时刻,获取所述校验规则对应的反馈调整加权因子。
[0023]根据所述校验规则对应的所述最大值和所述反馈调整加权因子,获取所述校验规则对应的加权因子。
[0024]根据所述校验规则对应的加权因子的大小,对所述校验规则对应的加权因子进行排序,以获得数值较大的加权因子所对应的校验规则。
[0025]在一种具体实施方式中,所述校验所述消息队列的校验规则的数量,还包括:
[0026]根据所述消息队列当前所在年度的前一年度总计接收json报文的总数量,以及所述当前所在年度的前一年度的错误经验概率,获取所述泊松分布的期望和方差值λ。
[0027]根据所述消息队列中当前接收到的json报文的总数量,以及当前接收到的json报文中校验不通过的json报文的总数量,获取所述消息队列对应的当前错误率p。
[0028]根据所述消息队列对应的当前错误率p以及泊松分布的期望和方差值λ,采用泊松分布的概率函数:
[0029][0030]获取校验对应消息队列的校验规则的数量n。
[0031]根据所述消息队列的校验规则的数量n,获取对应最终校验所述消息队列的校验规则。
[0032]在一种具体实施方式中,所述对解压缩后的json报文进行校验处理,还包括:
[0033]根据所述解压缩后的json报文的校验结果,将校验通过的解压缩后的json报文执行相应的业务处理;将校验未通过的解压缩后的json报文丢弃。
[0034]第二方面,本申请提供一种基于json报文的处理装置,包括:
[0035]压缩/解压缩处理模块,用于对接收到的json报文进行分级线性压缩处理,以获取压缩后的json报文;使得压缩后的json报文中的关键值和类型值压缩在所述json报文头部;数据值基于对应的数据类型所确定压缩方式压缩在所述json报文的非头部中。
[0036]分配模块,用于将压缩后的json报文输入至所述压缩后的json报文的源类型对应的消息队列中。
[0037]校验处理模块,用于针对每个消息队列,获取所述消息队列对应的当前所使用的校验规则对应的加权因子,并根据每个加权因子的大小,以及基于所述消息队列对应的当前校验错误率获取的校验所述消息队列的校验规则的数量,确定最终校验所述消息队列的校验规则。
[0038]所述压缩/解压缩处理模块,还用于对所述消息队列中的压缩后的json报文进行解压缩处理。
[0039]所述校验处理模块,还用于根据所述最终校验所述消息队列的校验规则,对解压缩后的json报文进行校验处理,若所述解压缩后的json报文校验通过,则传输至对应的业务处理模块以执行相应的业务处理。
[0040]在一种具体实施方式中,所述压缩/解压缩处理模块具体用于:
[0041]将所述json报文中的key值替换为固定长度的短字符。
[0042]确定所述json报文中的每个Value值对应的数字类型,并根据所述数字类型对应的长度,对所述Value值进行压缩处理。
[0043]将替换后的key值和类型值压缩在所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于json报文的处理方法,其特征在于,包括:对接收到的json报文进行分级线性压缩处理,以获取压缩后的json报文,使得压缩后的json报文中的关键值和类型值压缩在所述json报文头部;数据值基于对应的数据类型所确定压缩方式压缩在所述json报文的非头部中;将压缩后的json报文输入至所述压缩后的json报文的源类型对应的消息队列中;针对每个消息队列,获取所述消息队列对应的当前所使用的校验规则对应的加权因子,并根据每个加权因子的大小,以及基于所述消息队列对应的当前校验错误率获取的校验所述消息队列的校验规则的数量,确定最终校验所述消息队列的校验规则;对所述消息队列中的压缩后的json报文进行解压缩处理,并根据所述最终校验所述消息队列的校验规则,对解压缩后的json报文进行校验处理,若所述解压缩后的json报文校验通过,则执行相应的业务处理。2.根据权利要求1所述的方法,其特征在于,所述对接收到的json报文进行分级线性压缩处理,以获取压缩后的json报文,包括:将所述json报文中的key值替换为固定长度的短字符;确定所述json报文中的每个Value值对应的数字类型,并根据所述数字类型对应的长度,对所述Value值进行压缩处理;将替换后的key值和类型值压缩在所述json报文的头部,将压缩后的Value值压缩在所述json报文的非头部。3.根据权利要求2所述的方法,其特征在于,所述Value值对应的数字类型包括如下一种:int数字类型,boolean数字类型,null数字类型,string中的短串数字类型,string中的中串数字类型,string中的长串数字类型。4.根据权利要求1至3任一所述的方法,其特征在于,所述针对每个消息队列,获取所述消息队列对应的当前所使用的校验规则对应的加权因子,包括:针对每个消息队列对应的当前所使用的每个校验规则,分别获取所述每个校验规则在所述消息队列中的第一周期内导致接收报文不通过的概率的最大值,以及所述每个校验规则对应的反馈调整加权因子;对于所述每个校验规则,根据所述校验规则对应的所述最大值和所述反馈调整加权因子,获取所述校验规则对应的加权因子;其中,所述第一周期表示第一时刻t2至当前时刻t1之间的周期,t1大于t2,且所述当前时刻与所述第一时刻之间的时间差为预设时间差阈值。5.根据权利要求4所述的方法,其特征在于,分别获取所述每个校验规则在所述消息队列中的第一周期内导致接收报文不通过的概率的最大值,包括:对于每个校验规则,分别获取所述消息队列中的第一周期内所接收到的报文中的每个报文不通过的概率以及所述校验规则导致所述报文不通过的概率的乘积值,并从所述乘积值中获取最大的乘积值作为所述校验规则在在所述消息队列中的第一周期内导致接收报文不通过的概率的最大值。6.根据权利要求5所述的方法,其特征在于,所述校验规则对应的反馈调整加权因子,包括:获取所述校验规则导致所述消息队列中的第一周期内接收到的每个报文不通过的概
率的第一平均值;获取所述校验规则导致所述消息队列中的第二周期内接收到的每个报文不通过的概率的第二平均值;根据所述第一平均值和所述第二平均值,以及当前时刻和第一时刻,获取所述校验规则对应的反馈调整加权因子;其中,第一周期表示第二时刻t3至第一时刻t2之间的周期,t2大于t3,且所述第一时刻与所述第二时刻之间的时间差为所述预设时间差阈值。7.根据权利要求6所述的方法,其特征在于,所述根据每个加权因子的大小,以及基于所述消息队列对应的当前校验错误率获取的校验所述消息队列的校验规则的数量,确定最终校验所述消息队列的校验规则,包括:根据获取的所述消息队列对应的当前错误率p以及泊松分布的期望和方差值λ,采用泊松分布的概率函数:获取校验所述消息队列的校验规则的数量n;将每个校验规则对应的加权因子按照从大到小的顺序进行排序,并将前n个加权因子对应的校验规则作为最终校验所述消息队列的校验规则。8.根据权利要求7所述的方法,其特征在于,所述获取的所述消息队列对应的当前错误率p以及泊松分布的期望和方差值λ,包括:根据所述消息队列中当前接收到的json报文的总数量,以及当前接收到的json报文中校验不通过的json报文的总数量,获取所述消息队列对应的当前错误率p;根据所述消息队列当前所在年度的前一年度总计接收json报文的总数量,以及所述当前所在年度的前一年度的错误经验概率,获取所述泊松分布的期望和方差值λ。9.一种基于json报文的处理装置,其特征在于,包括:压缩/解...

【专利技术属性】
技术研发人员:冯宣祯
申请(专利权)人:中国联合网络通信集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1