一种数据处理方法、装置及电子设备和存储介质制造方法及图纸

技术编号:36326259 阅读:70 留言:0更新日期:2023-01-14 17:34
本申请公开了一种数据处理方法、装置及一种电子设备和计算机可读存储介质,该方法包括:接收IO操作的提交请求;判断所述IO操作的操作类型是否为同步类型;若所述IO操作的操作类型为同步类型,则将所述IO操作切换至协程中执行。本申请提供的数据处理方法,当接收到IO操作的提交请求时,首先判断其操作类型是否为同步类型,若是,则直接切换至协程中执行,不需要推送至协程队列等待,减少了协程切换次数和入队次数,缩短了同步IO操作的路径,降低了同步IO操作的复杂度,提高了IO操作的处理效率,减少了IO时延。减少了IO时延。减少了IO时延。

【技术实现步骤摘要】
一种数据处理方法、装置及电子设备和存储介质


[0001]本申请涉及计算机
,更具体地说,涉及一种数据处理方法、装置及一种电子设备和一种计算机可读存储介质。

技术介绍

[0002]分布式存储系统已经成为存储系统的主流趋势。分布式存储系统由分布式存储系统软件和硬件构成。硬件上,分布式存储系统由通过网络连接的多台存储主机构成。每台主机往往包含多块存储设备,例如,机械硬盘或固态硬盘。
[0003]在分布式存储系统软件中,由于IO(中文全称:输入输出,英文全称:Input Output)落盘需要一定的时延,为了提高线程的使用率,协程被广泛使用在IO提交任务上。在相关技术中,IO操作需要推送协程队列等待调度,导致IO操作的复杂度较高,在业务量大时,IO操作数量较多,协程队列加长导致IO的时延增加。
[0004]因此,如何降低IO操作的复杂度、减少IO时延是本领域技术人员需要解决的技术问题。

技术实现思路

[0005]本申请的目的在于提供一种数据处理方法、装置及一种电子设备和一种计算机可读存储介质,降低了IO操作的复杂度、减少了IO时延。
[0006]为实现上述目的,本申请提供了一种数据处理方法,包括:
[0007]接收IO操作的提交请求;
[0008]判断所述IO操作的操作类型是否为同步类型;
[0009]若所述IO操作的操作类型为同步类型,则将所述IO操作切换至协程中执行。
[0010]其中,还包括:
[0011]若所述IO操作的操作类型为异步类型,则将所述IO操作推送至第一协程队列中,所述第一协程队列用于等待调度执行所述IO操作。
[0012]其中,将所述IO操作推送至第一协程队列中,包括:
[0013]将所述IO操作和对应的协程上下文推送至第一协程队列中;
[0014]相应的,所述方法还包括:
[0015]若所述IO操作被调度,则从所述第一协程队列中取出所述IO操作和对应的协程上下文,切换至协程中执行。
[0016]其中,所述IO操作执行之后,还包括:
[0017]若接收到所述IO操作对应的回调操作,则判断所述IO操作的操作类型是否为同步类型;
[0018]若所述IO操作的操作类型为同步类型,则利用目标协程执行所述回调操作;其中,所述目标协程为执行所述IO操作的协程。
[0019]其中,还包括:
[0020]若所述IO操作的操作类型为异步类型,则将所述回调操作推送至第二协程队列中,所述第二协程队列用于等待调度执行所述回调操作。
[0021]其中,将所述回调操作推送至第二协程队列中,包括:
[0022]将所述回调操作和对应的协程上下文推送至第二协程队列中;
[0023]相应的,所述方法还包括:
[0024]若所述回调操作被调度,则从所述第二协程队列中取出所述回调操作和对应的协程上下文,切换至协程中执行。
[0025]其中,所述判断所述IO操作的操作类型是否为同步类型,包括:
[0026]基于所述IO操作的操作类型标记判断所述IO操作的操作类型是否为同步类型;其中,所述操作类型标记为创建所述IO操作时标记的参数。
[0027]为实现上述目的,本申请提供了一种数据处理装置,包括:
[0028]接收模块,用于接收IO操作的提交请求;
[0029]第一判断模块,用于判断所述IO操作的操作类型是否为同步类型;
[0030]切换模块,用于当所述IO操作的操作类型为同步类型时,将所述IO操作切换至协程中执行。
[0031]为实现上述目的,本申请提供了一种电子设备,包括:
[0032]存储器,用于存储计算机程序;
[0033]处理器,用于执行所述计算机程序时实现如上述数据处理方法的步骤。
[0034]为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述数据处理方法的步骤。
[0035]通过以上方案可知,本申请提供的一种数据处理方法,包括:接收IO操作的提交请求;判断所述IO操作的操作类型是否为同步类型;若所述IO操作的操作类型为同步类型,则将所述IO操作切换至协程中执行。
[0036]本申请提供的数据处理方法,当接收到IO操作的提交请求时,首先判断其操作类型是否为同步类型,若是,则直接切换至协程中执行,不需要推送至协程队列等待,减少了协程切换次数和入队次数,缩短了同步IO操作的路径,降低了同步IO操作的复杂度,提高了IO操作的处理效率,减少了IO时延。本申请还公开了一种数据处理装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
[0037]应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
[0038]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
[0039]图1为相关技术中存储系统的一次IO操作的流程图;
[0040]图2为根据一示例性实施例示出的一种数据处理方法的流程图;
[0041]图3为根据一示例性实施例示出的另一种数据处理方法的流程图;
[0042]图4为根据一示例性实施例示出的一种数据处理装置的结构图;
[0043]图5为根据一示例性实施例示出的一种电子设备的结构图。
具体实施方式
[0044]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外,在本申请实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0045]本申请的申请人经研究发现,在相关技术中,存储系统的IO操作复杂度高。具体的,相关技术中存储系统的一次IO操作的流程如图1所示,在提交IO时,首先保存当前的协程上下文,将IO操作和对应的协程上下文推送到协程队列,等待协程队列的调度,对应步骤



。协程队列处理函数从协程队列中取出IO操作和对应的协程上下文,对应步骤

,切换到协程执行,对应步骤



。当前协程执行完成后,再切换协程队列中处理下一个IO操作,对应步骤

。当IO操作完成后,通过回调再次本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:接收IO操作的提交请求;判断所述IO操作的操作类型是否为同步类型;若所述IO操作的操作类型为同步类型,则将所述IO操作切换至协程中执行。2.根据权利要求1所述数据处理方法,其特征在于,还包括:若所述IO操作的操作类型为异步类型,则将所述IO操作推送至第一协程队列中,所述第一协程队列用于等待调度执行所述IO操作。3.根据权利要求2所述数据处理方法,其特征在于,将所述IO操作推送至第一协程队列中,包括:将所述IO操作和对应的协程上下文推送至第一协程队列中;相应的,所述方法还包括:若所述IO操作被调度,则从所述第一协程队列中取出所述IO操作和对应的协程上下文,切换至协程中执行。4.根据权利要求1所述数据处理方法,其特征在于,所述IO操作执行之后,还包括:若接收到所述IO操作对应的回调操作,则判断所述IO操作的操作类型是否为同步类型;若所述IO操作的操作类型为同步类型,则利用目标协程执行所述回调操作;其中,所述目标协程为执行所述IO操作的协程。5.根据权利要求4所述数据处理方法,其特征在于,还包括:若所述IO操作的操作类型为异步类型,则将所述回调操作推送至第二协程队列中,所述第二协程队列用于等待调度执行所述回调操作...

【专利技术属性】
技术研发人员:翁同玖付忞王正古亮
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:

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

1