一种数据处理方法、装置、计算机设备以及可读存储介质与流程

文档序号:35927726发布日期:2023-11-04 21:23阅读:41来源:国知局
一种数据处理方法、装置、计算机设备以及可读存储介质与流程

本技术涉及互联网,尤其涉及一种数据处理方法、装置、计算机设备以及可读存储介质。


背景技术:

1、现有的流控处理方案可以采用串行处理的方式,在串行处理的方式中,网络报文可以逐级经过串行的业务服务,在通过需要进行流控处理的业务服务时进行流控处理,各个业务服务的流控处理需要读取各自的流控表项,而流控表项分散存储在各个业务服务中,独立占用不同的硬件存储空间。然而,在硬件电路中,流控表项的存储需要使用存储器来实现,串行处理的方式需要根据业务服务的数量(例如,n个)固化n个独立的存储器,每个存储器拥有独立的数据访问接口,通过n个独立的存储器分别存储流控表项会明显增加流控处理的硬件成本。


技术实现思路

1、本技术实施例提供一种数据处理方法、装置、计算机设备以及可读存储介质,可以降低流控处理的硬件成本。

2、本技术实施例一方面提供了一种数据处理方法,包括:

3、获取目标网络报文;目标网络报文与集成在存储器中的n个业务服务相关联,n为正整数;

4、从存储器中获取n个业务服务分别对应的流控表项,从n个流控表项中分别获取与目标网络报文相关联的令牌桶状态;

5、根据获取到的n个令牌桶状态分别对目标网络报文进行令牌桶计算,得到目标网络报文分别针对n个业务服务的报文行为;

6、根据n个报文行为生成目标网络报文对应的流控处理结果。

7、本技术实施例一方面提供了一种数据处理装置,包括:

8、报文获取模块,用于获取目标网络报文;目标网络报文与集成在存储器中的n个业务服务相关联,n为正整数;

9、状态获取模块,用于从存储器中获取n个业务服务分别对应的流控表项,从n个流控表项中分别获取与目标网络报文相关联的令牌桶状态;

10、行为确定模块,用于根据获取到的n个令牌桶状态分别对目标网络报文进行令牌桶计算,得到目标网络报文分别针对n个业务服务的报文行为;

11、结果生成模块,用于根据n个报文行为生成目标网络报文对应的流控处理结果。

12、其中,状态获取模块包括:

13、命令获取单元,用于获取目标网络报文对应的n个报文查找命令;

14、表项获取单元,用于根据n个报文查找命令,从存储器中获取n个业务服务分别对应的流控表项;n个业务服务分别在存储器中的工作时间片是串行的;

15、表项读取单元,用于对n个流控表项分别执行读取操作,若n个流控表项均不处于已读状态,则依次从n个流控表项中分别获取与目标网络报文相关联的令牌桶状态。

16、其中,n个流控表项包括流控表项wj,j为小于或等于n的正整数;流控表项wj包括g个表项条目,g为正整数;

17、表项读取单元,具体用于若n个流控表项均不处于已读状态,则获取目标网络报文的业务处理类型,从g个表项条目中获取业务处理类型对应的目标表项条目;

18、表项读取单元,具体用于从目标表项条目中获取与目标网络报文和流控表项wj共同关联的令牌桶状态。

19、其中,获取到的n个令牌桶状态包括目标网络报文针对业务服务mi的令牌桶状态,i为小于或等于n的正整数;

20、行为确定模块包括:

21、速率获取单元,用于获取目标网络报文的目标报文字节数;

22、速率获取单元,用于从存储器的限速表项中获取针对目标对象的额定速率配置,根据额定速率配置和目标网络报文针对业务服务mi的令牌桶状态,生成目标网络报文针对业务服务mi的当前令牌数量;额定速率配置用于控制目标对象所发送的网络报文的额定速率;目标对象所发送的网络报文包括目标网络报文;

23、第一确定单元,用于若目标网络报文针对业务服务mi的当前令牌数量大于数量阈值,则根据目标报文字节数和目标网络报文针对业务服务mi的当前令牌数量,确定目标网络报文针对业务服务mi的报文行为;

24、第二确定单元,用于若目标网络报文针对业务服务mi的当前令牌数量小于或等于数量阈值,则将报文丢弃行为确定为目标网络报文针对业务服务mi的报文行为。

25、其中,目标网络报文针对业务服务mi的令牌桶状态包括针对业务服务mi的历史令牌数量和针对业务服务mi的令牌桶容量;

26、速率获取单元,具体用于获取目标网络报文针对业务服务mi的令牌桶状态对应的写入时刻,将当前时刻和写入时刻之间的时间段确定为令牌递增时间段;

27、速率获取单元,具体用于对额定速率配置和令牌递增时间段进行乘法运算,生成令牌递增时间段内的令牌递增数量;

28、速率获取单元,具体用于对令牌递增数量和针对业务服务mi的历史令牌数量进行加法运算,生成针对业务服务mi的辅助令牌数量;

29、速率获取单元,具体用于若针对业务服务mi的辅助令牌数量小于或等于针对业务服务mi的令牌桶容量,则将针对业务服务mi的辅助令牌数量确定为目标网络报文针对业务服务mi的当前令牌数量;

30、速率获取单元,具体用于若针对业务服务mi的辅助令牌数量大于针对业务服务mi的令牌桶容量,则将针对业务服务mi的令牌桶容量确定为目标网络报文针对业务服务mi的当前令牌数量。

31、其中,第一确定单元,具体用于若目标报文字节数小于或等于目标网络报文针对业务服务mi的当前令牌数量,则将报文通过行为确定为目标网络报文针对业务服务mi的报文行为;

32、第一确定单元,具体用于若目标报文字节数大于目标网络报文针对业务服务mi的当前令牌数量,则将报文丢弃行为确定为目标网络报文针对业务服务mi的报文行为。

33、其中,装置还包括:

34、状态更新模块,用于若目标网络报文对应的流控处理结果为报文通过结果,则对目标网络报文进行转发处理,根据目标网络报文分别对n个令牌桶状态进行更新,得到目标网络报文分别针对n个业务服务的更新令牌桶状态;

35、表项回写模块,用于对n个流控表项分别执行回写操作,依次将n个更新令牌桶状态写入n个流控表项。

36、其中,状态更新模块,具体用于对目标网络报文针对业务服务mi的当前令牌数量和目标报文字节数进行减法运算,生成目标网络报文针对业务服务mi的更新令牌数量;

37、状态更新模块,具体用于将目标网络报文针对业务服务mi的更新令牌数量,确定为目标网络报文针对业务服务mi的更新令牌桶状态;

38、则表项回写模块,具体用于在将目标网络报文针对业务服务mi-1的更新令牌桶状态写入业务服务mi-1对应的流控表项之后,将目标网络报文针对业务服务mi的更新令牌桶状态写入业务服务mi对应的流控表项;业务服务mi-1在存储器中的回写时间片早于业务服务mi在存储器中的回写时间片。

39、其中,装置还包括:

40、候选报文获取模块,用于获取候选网络报文;目标网络报文的获取时间早于候选网络报文的获取时间;候选网络报文与集成在存储器中的h个业务服务相关联,h为正整数;

41、表项获取模块,用于从存储器中获取h个业务服务分别对应的流控表项,对h个流控表项分别执行读取操作,若候选网络报文针对h个流控表项的读取时间片与针对历史网络报文的预扣窗口期交叠,则从h个流控表项中获取读取时间片与针对历史网络报文的预扣窗口期交叠的l个流控表项,从h个流控表项中获取读取时间片不与针对历史网络报文的预扣窗口期交叠的h-l个流控表项;l为小于或等于h的正整数;针对历史网络报文的预扣窗口期是通过历史网络报文对h个流控表项分别执行读取操作时所产生的;

42、候选行为确定模块,用于根据l个流控表项和h-l个流控表项,确定候选网络报文分别针对h个业务服务的报文行为;

43、候选结果生成模块,用于根据h个报文行为生成候选网络报文对应的流控处理结果。

44、其中,历史网络报文包括目标网络报文;针对历史网络报文的预扣窗口期的数量为h个;h个针对历史网络报文的预扣窗口期包括针对目标网络报文的预扣窗口期sk,k为小于或等于h的正整数;预扣窗口期sk为针对流控表项wk的预扣窗口期;候选网络报文针对h个流控表项的读取时间片包括候选网络报文针对流控表项wk的读取时间片;

45、装置还包括:

46、窗口期获取模块,用于获取通过目标网络报文对流控表项wk执行读取操作之后的读取时刻,获取通过目标网络报文对流控表项wk执行回写操作之前的回写时刻,将读取时刻和回写时刻之间的时间段确定为预扣窗口期sk;

47、交叠确定模块,用于若候选网络报文针对流控表项wk的读取时间片处于预扣窗口期sk,则确定候选网络报文针对流控表项wk的读取时间片与预扣窗口期sk交叠。

48、其中,候选行为确定模块,具体用于从h-l个流控表项中分别获取与候选网络报文相关联的令牌桶状态,获取历史网络报文分别针对l个业务服务的报文行为;l个业务服务为h个流控表项中的l个流控表项对应的业务服务;

49、候选行为确定模块,具体用于根据获取到的h-l个令牌桶状态分别对候选网络报文进行令牌桶计算,得到候选网络报文分别针对h-l个业务服务的报文行为;h-l个业务服务为h个流控表项中的h-l个流控表项对应的业务服务;

50、候选行为确定模块,具体用于将历史网络报文分别针对l个业务服务的报文行为,确定为候选网络报文分别针对l个业务服务的报文行为。

51、其中,装置还具体用于若候选网络报文对应的流控处理结果为报文通过结果,则对候选网络报文进行转发处理,根据候选网络报文分别对h-l个令牌桶状态进行更新,得到候选网络报文分别针对h-l个业务服务的更新令牌桶状态;

52、装置还具体用于获取历史网络报文分别针对l个业务服务的更新令牌数量,获取候选网络报文的候选报文字节数;

53、装置还具体用于对历史网络报文分别针对l个业务服务的更新令牌数量和候选报文字节数进行减法运算,生成候选网络报文分别针对l个业务服务的更新令牌数量;

54、装置还具体用于将候选网络报文分别针对l个业务服务的更新令牌数量,确定为候选网络报文分别针对l个业务服务的更新令牌桶状态;

55、装置还具体用于对h个流控表项分别执行回写操作,依次将h个更新令牌桶状态写入h个流控表项。

56、其中,结果生成模块,具体用于若n个报文行为均为报文通过行为,则将报文通过结果确定为目标网络报文对应的流控处理结果;

57、结果生成模块,具体用于若n个报文行为中存在报文丢弃行为,则将报文丢弃结果确定为目标网络报文对应的流控处理结果。

58、其中,装置还包括:

59、信息获取模块,用于获取报文辅助信息;报文辅助信息是对目标网络报文或目标管理报文进行报文解析得到的;

60、命令解析模块,用于对报文辅助信息进行命令格式解析,确定报文辅助信息对应的指令类型;

61、命令解析模块,用于若报文辅助信息对应的指令类型为报文查找类型,则确定报文辅助信息是对目标网络报文进行报文解析所得到,执行从存储器中获取n个业务服务分别对应的流控表项的步骤;

62、命令解析模块,用于若报文辅助信息对应的指令类型为表项管理类型,则确定报文辅助信息是对目标管理报文进行报文解析所得到,基于目标管理报文对存储器中的流控表项进行表项管理;存储器中的流控表项包括n个流控表项。

63、其中,目标管理报文用于对存储器中的流控表项进行表项查询操作、表项新建操作或表项删除操作;

64、命令解析模块,具体用于若目标管理报文用于对存储器中的流控表项进行表项查询操作,则基于目标管理报文从存储器中获取表项查询操作所查询的流控表项;

65、命令解析模块,具体用于若目标管理报文用于对存储器中的流控表项进行表项新建操作,则基于目标管理报文获取表项新建操作所新建的流控表项,将表项新建操作所新建的流控表项存储至存储器;

66、命令解析模块,具体用于若目标管理报文用于对存储器中的流控表项进行表项删除操作,则基于目标管理报文从存储器中获取表项删除操作所删除的流控表项,从存储器中删除表项删除操作所删除的流控表项。

67、本技术实施例一方面提供了一种计算机设备,包括:处理器和存储器;

68、处理器与存储器相连,其中,存储器用于存储计算机程序,计算机程序被处理器执行时,使得该计算机设备执行本技术实施例提供的方法。

69、本技术实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本技术实施例提供的方法。

70、本技术实施例一方面提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行本技术实施例提供的方法。

71、在本技术实施例中,计算机设备可以获取目标网络报文,在存储器中确定与目标网络报文相关联的n个业务服务,进而从存储器中获取n个业务服务分别对应的流控表项,从n个流控表项中分别获取与目标网络报文相关联的令牌桶状态。进一步地,计算机设备可以根据获取到的n个令牌桶状态分别对目标网络报文进行令牌桶计算,得到目标网络报文分别针对n个业务服务的报文行为,进而根据n个报文行为生成目标网络报文对应的流控处理结果。由此可见,本技术实施例可以采用池化管理的思想集中管理n个业务服务,通过同一个存储器存储n个业务服务分别对应的流控表项(即所有业务服务的流控表项实际存储于同一块物理存储中),n个流控表项共享相同的数据访问接口,通过相同的数据访问接口从存储器中分别获取n个流控表项,从而实现集中管理调度控制,而无需通过独立的数据访问接口从n个存储器中分别获取流控表项,进而降低了流控处理的硬件成本。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1