一种多线程的链表处理方法及相关装置制造方法及图纸

技术编号:32218801 阅读:32 留言:0更新日期:2022-02-09 17:24
本申请公开了一种多线程的链表处理方法,包括:获取链表的内存地址的访问权;当获取到所述访问权时,通过锁总线汇编指令将其他总线对所述链表的访问权进行上锁处理;将待入表的IO数据的地址赋值给所述链表;基于所述链表对所述IO数据进行操作。通过先获取链表的内存地址的访问权,然后基于锁总线汇编指定将其他总线对该链表的访问权进行上锁,直接锁住所有总线对内存地址进行访问,而不是采用获取锁再上锁的方式避免多线程并发问题,减少了对链表进行操作的步骤,降低了进行操作的时延,提高了链表操作的效率。本申请还公开了一种多线程的链表处理装置、服务器以及计算机可读存储介质,具有以上有益效果。具有以上有益效果。具有以上有益效果。

【技术实现步骤摘要】
一种多线程的链表处理方法及相关装置


[0001]本申请涉及计算机
,特别涉及一种多线程的链表处理方法、多线程的链表处理装置、服务器以及计算机可读存储介质。

技术介绍

[0002]在服务器中,存储控制器主要用于存储端的硬盘及其上存储的数据管理,同时对服务器端提供数据访问服务。在对服务器端提供数据访问的过程中,由于短时间内处理的IO(Input/Output,输入/输出)数量巨大,存储控制器中的CPU(central processing unit,中央处理器)承担了大量的解包、读盘、写盘操作。
[0003]相关技术中,一个数据I/O在后端的处理中会经历存储卷、存储池、raid、存储盘等多个操作阶段,每个阶段都会处理大量IO数据,这些IO数据一般通过链表的形式组织起来。在多线程同时处理链表时,为避免并发性问题,一般在链表的数据结构中添加spinlock(自旋锁)或mutex(互斥锁),各线程通过获取锁来争夺对链表的处理权,导致在处理过程中需要对锁机制进行处理,浪费了大量的处理性能,造成较高的时延。
[0004]因此,如何降低处本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种多线程的链表处理方法,其特征在于,包括:获取链表的内存地址的访问权;当获取到所述访问权时,通过锁总线汇编指令将其他总线对所述链表的访问权进行上锁处理;将待入表的IO数据的地址赋值给所述链表;基于所述链表对所述IO数据进行操作。2.根据权利要求1所述的链表处理方法,其特征在于,获取链表的内存地址的访问权,包括:获取所述链表的表头指针的内存地址的访问权。3.根据权利要求2所述的链表处理方法,其特征在于,当获取到所述访问权时,通过锁总线汇编指令将其他总线对所述链表的访问权进行上锁处理,包括:当获取到所述访问权时,通过锁总线汇编指令将其他总线对所述链表的表头指针的访问权进行上锁处理。4.根据权利要求3所述的链表处理方法,其特征在于,将待入表的IO数据的地址赋值给所述链表,包括:将所述待入表的IO数据的头地址赋值给所述链表的表头指针;获取所述链表的表尾指针的内存地址的访问权;当获取到所述访问权时,通过锁总线汇编指令将其他总线对所述链表的表尾指针的访问权进行上锁处理;将所述待入表的IO数据的尾地址赋值给所述链表的表尾指针。5.根据权利要求1所述的链表处理方法,其特征在于,将待入表的IO数据的地址赋值给所述链表,包括:判断所述链表的表头指针是否为空;若是,则...

【专利技术属性】
技术研发人员:吴庆凯孙明刚
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:

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

1