一种报文处理方法、装置及电子设备和存储介质与流程



1.本技术涉及计算机技术领域,更具体地说,涉及一种报文处理方法、装置及一种电子设备和一种计算机可读存储介质。


背景技术:



2.在分布式存储系统软件中,由于系统软件的复杂性,通常使用多个线程,每个线程负责对应的业务功能。线程与线程之前采用数据队列来传递业务数据,实现了业务的独立性。
3.在相关技术中,在存储服务端进程中,根据功能将软件分为了网络层,业务层和io(中文全称:输入输出,英文全称:input output)层。采用流水线模型对网络报文进行处理,即不同层采用各自的线程进行处理,各层之间存在数据传递,业务数据的路径较长,资源消耗较大,报文处理效率较低。
4.因此,如何缩短数据的路径长度,提高报文处理效率是本领域技术人员需要解决的技术问题。


技术实现要素:



5.本技术的目的在于提供一种报文处理方法、装置及一种电子设备和一种计算机可读存储介质,缩短了数据的路径长度,提高了报文处理效率。
6.为实现上述目的,本技术提供了一种报文处理方法,应用于存储系统,所述方法包括:
7.接收网络设备发送的网络报文;
8.为所述网络报文分配目标线程;
9.利用所述目标线程对所述网络报文进行处理得到响应报文;
10.将所述响应报文返回至所述网络设备。
11.其中,所述存储系统采用运行至终结的线程模型,相应的,为所述网络报文分配目标线程,包括:
12.利用运行至终结的线程模型为所述网络报文分配目标线程。
13.其中,所述利用所述目标线程对所述网络报文进行处理得到响应报文,包括:
14.利用所述目标线程对所述网络报文进行报文处理得到业务数据;
15.利用所述目标线程对所述业务数据进行对应的业务处理;
16.利用所述目标线程对业务处理后的业务数据进行io处理得到响应报文。
17.为实现上述目的,本技术提供了一种报文处理装置,应用于存储系统,所述方法包括:
18.接收模块,用于接收网络设备发送的网络报文;
19.分配模块,用于为所述网络报文分配目标线程;
20.处理模块,用于利用所述目标线程对所述网络报文进行处理得到响应报文;
21.返回模块,用于将所述响应报文返回至所述网络设备。
22.其中,所述存储系统采用运行至终结的线程模型,相应的,所述分配模块具体为利用运行至终结的线程模型为所述网络报文分配目标线程的模块。
23.其中,所述处理模块包括:
24.报文处理单元,用于利用所述目标线程对所述网络报文进行报文处理得到业务数据;
25.业务处理单元,用于利用所述目标线程对所述业务数据进行对应的业务处理;
26.io处理单元,用于利用所述目标线程对业务处理后的业务数据进行io处理得到响应报文。
27.为实现上述目的,本技术提供了一种电子设备,包括:
28.存储器,用于存储计算机程序;
29.处理器,用于执行所述计算机程序时实现如上述报文处理方法的步骤。
30.为实现上述目的,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述报文处理方法的步骤。
31.通过以上方案可知,本技术提供的一种报文处理方法,包括:接收网络设备发送的网络报文;为所述网络报文分配目标线程;利用所述目标线程对所述网络报文进行处理得到响应报文;将所述响应报文返回至所述网络设备。
32.本技术提供的报文处理方法应用于存储系统,当接收到网络报文时,为其分配对应的目标线程。从接收到网络报文到响应报文中间的所有操作均在该目标线程中进行处理,数据不需要在多个线程之间相互传递,缩短了数据的路径长度,避免了不必要的队列传递和线程切换开销,减少了线程数量,提高了线程利用率,降低了资源消耗和io时延。本技术还公开了一种报文处理装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
33.应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本技术。
附图说明
34.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
35.图1为相关技术中存储系统的报文处理流程图;
36.图2为根据一示例性实施例示出的一种报文处理方法的流程图;
37.图3为根据一示例性实施例示出的另一种报文处理方法的流程图;
38.图4为根据一示例性实施例示出的一种报文处理装置的结构图;
39.图5为根据一示例性实施例示出的一种电子设备的结构图。
具体实施方式
40.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。另外,在本技术实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
41.本技术的申请人经研究发现,在相关技术中,存储系统在对网络报文进行处理时,业务数据的路径较长,增加了额外的资源消耗。具体的,参见图1,图1为相关技术中存储系统的报文处理流程图。如图1所示,在存储服务端进程中,根据功能将软件分为了网络层,业务层和io层。
42.网络层负责从网络设备中接收到网络报文并将其解析转换为文件数据,然后按照文件描述符(英文全称:file descriptor,英文简称:fd)分发至业务层的队列中。业务层从队列中提取数据后,进行业务层处理,处理完成后,将业务数据分发至io层的队列中。io层从队列中提取业务数据后,进行io操作,操作完成后,按照文件描述符投递至业务层的队列中。经过多次队列的传递和线程切换后,业务数据被封装成响应报文从网络层发送出去。
43.由此可见,在相关技术中,存储系统中的每层处理相互独立,每层配置的线程数可以不同,该模型加长了每个业务数据的路径,增加了额外的资源消耗。另外,在各层之间的数据传递过程中,存在着队列的竞争,报文处理效率较低,io时延较高。
44.因此,在本技术中,存储系统采用运行至终结(run to completion)的线程模型,从接收到网络报文到响应报文中间的所有操作均在目标线程中进行处理,数据不需要在多个线程之间相互传递,缩短了数据的路径长度,避免了不必要的队列传递和线程切换开销,减少了线程数量,提高了线程利用率,降低了资源消耗和io时延。
45.本技术实施例公开了一种报文处理方法,缩短了数据的路径长度,提高了报文处理效率。
46.参见图2,根据一示例性实施例示出的一种报文处理方法的流程图,如图2所示,包括:
47.s101:接收网络设备发送的网络报文;
48.本实施例应用于存储系统中,目的为对接收到的网络报文进行处理。在本步骤中,从接收网络设备发送的网络报文。此处的网络设备可以包括网卡设备等,在此不进行具体限定。
49.s102:为所述网络报文分配目标线程;
50.在本步骤中,为接收到的网络报文分配对应的目标线程。作为一种可行的实施方式,本实施例中的存储系统可以采用运行至终结的线程模型,充分发挥单线程的能力。相应的,本步骤可以包括:利用运行至终结的线程模型为所述网络报文分配目标线程。
51.s103:利用所述目标线程对所述网络报文进行处理得到响应报文;
52.在具体实施中,利用目标线程对网络报文进行网络层、业务层和io层的处理得到响应报文,也即从接收到网络报文到响应报文中间的所有操作均在目标线程中进行处理,数据不需要在多个线程之间相互传递,缩短了数据的路径长度。
53.s104:将所述响应报文返回至所述网络设备。
54.在本步骤中,将处理后的响应报文返回至网络设备。
55.本技术实施例提供的报文处理方法应用于存储系统,当接收到网络报文时,为其分配对应的目标线程。从接收到网络报文到响应报文中间的所有操作均在该目标线程中进行处理,数据不需要在多个线程之间相互传递,缩短了数据的路径长度,避免了不必要的队列传递和线程切换开销,减少了线程数量,提高了线程利用率,降低了资源消耗和io时延。
56.本技术实施例公开了一种报文处理方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
57.参见图3,根据一示例性实施例示出的另一种报文处理方法的流程图,如图3所示,包括:
58.s201:接收网络设备发送的网络报文;
59.s202:为所述网络报文分配目标线程;
60.s203:利用所述目标线程对所述网络报文进行报文处理得到业务数据;
61.s204:利用所述目标线程对所述业务数据进行对应的业务处理;
62.s205:利用所述目标线程对业务处理后的业务数据进行io处理得到响应报文;
63.在本实施例中,利用目标线程对网络报文进行解析并转换为业务数据,利用目标线程对业务数据进行业务处理,利用所述目标线程对业务处理后的业务数据进行io处理得到响应报文。也即,利用目标线程对网络报文进行网络层、业务层和io层的处理得到响应报文。
64.s206:将所述响应报文返回至所述网络设备。
65.由此可见,本技术实施例提供的报文处理方法应用于存储系统,利用目标线程对网络报文进行网络层、业务层和io层的处理得到响应报文。从接收到网络报文到响应报文中间的所有操作均在该目标线程中进行处理,数据不需要在多个线程之间相互传递,缩短了数据的路径长度,避免了不必要的队列传递和线程切换开销,减少了线程数量,提高了线程利用率,降低了资源消耗和io时延。
66.下面对本技术实施例提供的一种报文处理装置进行介绍,下文描述的一种报文处理装置与上文描述的一种报文处理方法可以相互参照。
67.参见图4,根据一示例性实施例示出的一种报文处理装置的结构图,如图4所示,包括:
68.接收模块401,用于接收网络设备发送的网络报文;
69.分配模块402,用于为所述网络报文分配目标线程;
70.处理模块403,用于利用所述目标线程对所述网络报文进行处理得到响应报文;
71.返回模块404,用于将所述响应报文返回至所述网络设备。
72.本技术实施例提供的报文处理装置应用于存储系统,当接收到网络报文时,为其分配对应的目标线程。从接收到网络报文到响应报文中间的所有操作均在该目标线程中进行处理,数据不需要在多个线程之间相互传递,缩短了数据的路径长度,避免了不必要的队列传递和线程切换开销,减少了线程数量,提高了线程利用率,降低了资源消耗和io时延。
73.在上述实施例的基础上,作为一种优选实施方式,所述存储系统采用运行至终结的线程模型,相应的,所述分配模块402具体为利用运行至终结的线程模型为所述网络报文分配目标线程的模块。
74.在上述实施例的基础上,作为一种优选实施方式,所述处理模块403包括:
75.报文处理单元,用于利用所述目标线程对所述网络报文进行报文处理得到业务数据;
76.业务处理单元,用于利用所述目标线程对所述业务数据进行对应的业务处理;
77.io处理单元,用于利用所述目标线程对业务处理后的业务数据进行io处理得到响应报文。
78.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
79.基于上述程序模块的硬件实现,且为了实现本技术实施例的方法,本技术实施例还提供了一种电子设备,图5为根据一示例性实施例示出的一种电子设备的结构图,如图5所示,电子设备包括:
80.通信接口1,能够与其它设备比如网络设备等进行信息交互;
81.处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的报文处理方法。而所述计算机程序存储在存储器3上。
82.当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统4。
83.本技术实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
84.可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本技术实施例描述的存储器2旨在包括但不限于这些和任意其它适合类型的存储器。
85.上述本技术实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
86.处理器2执行所述程序时实现本技术实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
87.在示例性实施例中,本技术实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器。
88.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
89.或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
90.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。

技术特征:


1.一种报文处理方法,其特征在于,应用于存储系统,所述方法包括:接收网络设备发送的网络报文;为所述网络报文分配目标线程;利用所述目标线程对所述网络报文进行处理得到响应报文;将所述响应报文返回至所述网络设备。2.根据权利要求1所述报文处理方法,其特征在于,所述存储系统采用运行至终结的线程模型,相应的,为所述网络报文分配目标线程,包括:利用运行至终结的线程模型为所述网络报文分配目标线程。3.根据权利要求1所述报文处理方法,其特征在于,所述利用所述目标线程对所述网络报文进行处理得到响应报文,包括:利用所述目标线程对所述网络报文进行报文处理得到业务数据;利用所述目标线程对所述业务数据进行对应的业务处理;利用所述目标线程对业务处理后的业务数据进行io处理得到响应报文。4.一种报文处理装置,其特征在于,应用于存储系统,所述方法包括:接收模块,用于接收网络设备发送的网络报文;分配模块,用于为所述网络报文分配目标线程;处理模块,用于利用所述目标线程对所述网络报文进行处理得到响应报文;返回模块,用于将所述响应报文返回至所述网络设备。5.根据权利要求4所述报文处理装置,其特征在于,所述存储系统采用运行至终结的线程模型,相应的,所述分配模块具体为利用运行至终结的线程模型为所述网络报文分配目标线程的模块。6.根据权利要求4所述报文处理装置,其特征在于,所述处理模块包括:报文处理单元,用于利用所述目标线程对所述网络报文进行报文处理得到业务数据;业务处理单元,用于利用所述目标线程对所述业务数据进行对应的业务处理;io处理单元,用于利用所述目标线程对业务处理后的业务数据进行io处理得到响应报文。7.一种电子设备,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如权利要求1至3任一项所述报文处理方法的步骤。8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述报文处理方法的步骤。

技术总结


本申请公开了一种报文处理方法、装置及一种电子设备和计算机可读存储介质,该方法包括:接收网络设备发送的网络报文;为所述网络报文分配目标线程;利用所述目标线程对所述网络报文进行处理得到响应报文;将所述响应报文返回至所述网络设备。本申请提供的报文处理方法应用于存储系统,当接收到网络报文时,为其分配对应的目标线程。从接收到网络报文到响应报文中间的所有操作均在该目标线程中进行处理,数据不需要在多个线程之间相互传递,缩短了数据的路径长度,避免了不必要的队列传递和线程切换开销,减少了线程数量,提高了线程利用率,降低了资源消耗和IO时延。降低了资源消耗和IO时延。降低了资源消耗和IO时延。


技术研发人员:

翁同玖 付忞 王正 古亮

受保护的技术使用者:

深信服科技股份有限公司

技术研发日:

2021.06.23

技术公布日:

2022/12/22

本文发布于:2024-09-21 13:17:31,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/45547.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:报文   所述   线程   目标
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议