System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据存储,特别是涉及一种资源访问控制方法、装置、计算机设备和存储介质。
技术介绍
1、全闪存储系统包含多层io(input/output,输入/输出)栈,每层都有各自的功能特性实现,都需要申请多种资源,现有资源池管理是单个链表加锁的管理方式,多线程之间锁有冲突,多线程并发的性能不好,而且读写io按顺序排队等待没有调度的优先级来满足真实的业务需求。
2、因此,亟需提出一种能够提高系统整体性能的资源访问控制方法、装置、计算机设备和存储介质。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高系统整体性能的资源访问控制方法、装置、计算机设备和存储介质。
2、一方面,提供一种资源访问控制方法,所述方法包括:
3、构建目标亲核内存对象池,所述目标亲核内存对象池中包括至少一个基于中央处理器内核和/或目标线程数量生成的资源链表,所述目标线程数量为中央处理器内核的数量;
4、响应于检测到资源访问请求时,获取所述资源访问请求对应的线程第一标识符,所述线程第一标识符用于标识中央处理器内核对应的线程;
5、基于所述线程第一标识符以及线程第一标识符与资源链表的映射关系,确定所述目标亲核内存对象池中的资源链表;
6、基于确定的资源链表分配资源以执行所述资源访问请求对应的读写任务。
7、可选的,在构建所述目标亲核内存对象池之前,所述方法还包括:
8、检测全闪存储系统是否已启动;
10、基于所述第一目标线程数量,构建所述目标亲核内存对象池。
11、可选的,所述目标亲核内存对象池的构建方法包括:
12、基于可编程输入输出单元链表,分配和映射至少一个内存页到连续逻辑空间,生成对象数组结构;
13、将所述对象数组结构挂接到空闲链表,生成第一亲核内存对象池,其中,所述对象数组结构中的每个对象包括一个对象编号,所述对象编号用于确定对象结构地址。
14、可选的,所述目标亲核内存对象池的构建方法还包括:
15、基于第一目标线程数量,按照第一预设比例划分第一亲核内存对象池中的空闲对象,生成多个空闲资源链表;
16、基于中央处理器内核的数量,按顺序确定每个空闲资源链表的第二标识符,以生成第二亲核内存对象池。
17、可选的,基于所述空闲资源链表,生成等待链表包括:
18、按照第二预设比例,对每个所述空闲资源链表进行划分;
19、基于划分结果,分别确定用于读等待和写等待的第一等待链表和第二等待链表。
20、可选的,所述目标亲核内存对象池的构建方法还包括:
21、初始化全闪存储系统;
22、响应于检测到所述全闪存储系统已初始化成功时,获取所述全闪存储系统支持的第二目标线程数量;
23、基于所述第二目标线程数量,确定需要创建资源的空闲资源链表;
24、对需要创建资源的空闲资源链表进行资源创建以生成资源链表,并利用所述资源链表构建所述目标亲核内存对象池。
25、可选的,基于所述线程第一标识符,确定用于分配资源的资源链表包括:
26、计算所述线程第一标识符与目标第二标识符之间的相似度;
27、响应于检测到所述相似度大于预设阈值时,确定所述目标第二标识符对应的资源链表为用于分配资源的资源链表。
28、可选的,在基于所述目标亲核内存对象池中的资源链表分配资源之前,所述方法还包括:
29、检测所述资源链表中是否存在可用资源;
30、响应于检测到所述资源链表中存在可用资源时,分配所述可用资源,以执行所述资源访问请求对应的读写任务。
31、可选的,响应于检测到所述资源链表中不存在可用资源时,所述方法包括:
32、检测所述资源访问请求对应的读写任务类型,确定所述资源访问请求需要加入的等待链表;
33、响应于检测到所述读写任务类型为读任务,将所述资源访问请求加入第一等待链表的尾部;
34、响应于检测到所述读写任务类型为写任务,将所述资源访问请求加入第二等待链表的尾部。
35、可选的,所述方法还包括对资源链表中的资源进行释放,所述资源链表中资源的释放规则包括:
36、根据时间顺序和/或资源热度顺序,对所述资源链表中的资源进行释放。
37、可选的,响应于检测到资源释放成功时,所述方法包括:
38、检测第一等待链表和/或第二等待链表是否存在资源访问请求;
39、响应于检测到存在资源访问请求时,根据资源访问请求对应的等待链表,分配对应的资源。
40、可选的,响应于检测到存在资源访问请求时,根据资源访问请求对应的等待链表,分配对应的资源包括:
41、响应于检测到所述资源访问请求对应的等待链表为第一等待链表或第二等待链表时,则将资源分配至对应的资源访问请求;
42、响应于检测到所述资源访问请求对应的等待链表为第一等待链表和第二等待链表时,则按照第三预设比例将资源分配至对应的资源访问请求。
43、另一方面,提供了一种资源访问控制装置,所述装置包括:
44、构建模块,用于构建目标亲核内存对象池,所述目标亲核内存对象池中包括至少一个基于中央处理器内核和/或目标线程数量生成的资源链表,所述目标线程数量为中央处理器内核的数量;
45、获取模块,用于在检测到资源访问请求时,获取所述资源访问请求对应的线程第一标识符,所述线程第一标识符用于标识中央处理器内核对应的线程;
46、资源链表确定模块,用于基于所述线程第一标识符以及线程第一标识符与资源链表的映射关系,确定所述目标亲核内存对象池中的资源链表;
47、资源分配模块,用于基于确定的资源链表分配资源以执行所述资源访问请求对应的读写任务。
48、再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
49、构建目标亲核内存对象池,所述目标亲核内存对象池中包括至少一个基于中央处理器内核和/或目标线程数量生成的资源链表,所述目标线程数量为中央处理器内核的数量;
50、响应于检测到资源访问请求时,获取所述资源访问请求对应的线程第一标识符,所述线程第一标识符用于标识中央处理器内核对应的线程;
51、基于所述线程第一标识符以及线程第一标识符与资源链表的映射关系,确定所述目标亲核内存对象池中的资源链表;
52、基于确定的资源链表分配资源以执行所述资源访问请求对应的读写任务。
53、又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算本文档来自技高网...
【技术保护点】
1.一种资源访问控制方法,其特征在于,所述方法包括:
2.根据权利要求1所述的资源访问控制方法,其特征在于,在构建所述目标亲核内存对象池之前,所述方法还包括:
3.根据权利要求1所述的资源访问控制方法,其特征在于,所述目标亲核内存对象池的构建方法包括:
4.根据权利要求3所述的资源访问控制方法,其特征在于,所述目标亲核内存对象池的构建方法还包括:
5.根据权利要求4所述的资源访问控制方法,其特征在于,基于所述空闲资源链表,生成等待链表包括:
6.根据权利要求4所述的资源访问控制方法,其特征在于,所述目标亲核内存对象池的构建方法还包括:
7.根据权利要求1所述的资源访问控制方法,其特征在于,基于所述线程第一标识符,确定用于分配资源的资源链表包括:
8.根据权利要求4所述的资源访问控制方法,其特征在于,在基于所述目标亲核内存对象池中的资源链表分配资源之前,所述方法还包括:
9.根据权利要求8所述的资源访问控制方法,其特征在于,响应于检测到所述资源链表中不存在可用资源时,所述方法包括:
>10.根据权利要求1所述的资源访问控制方法,其特征在于,所述方法还包括对资源链表中的资源进行释放,所述资源链表中资源的释放规则包括:
11.根据权利要求10所述的资源访问控制方法,其特征在于,响应于检测到资源释放成功时,所述方法包括:
12.根据权利要求11所述的资源访问控制方法,其特征在于,响应于检测到存在资源访问请求时,根据资源访问请求对应的等待链表,分配对应的资源包括:
13.一种资源访问控制装置,其特征在于,所述装置包括:
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法。
...【技术特征摘要】
1.一种资源访问控制方法,其特征在于,所述方法包括:
2.根据权利要求1所述的资源访问控制方法,其特征在于,在构建所述目标亲核内存对象池之前,所述方法还包括:
3.根据权利要求1所述的资源访问控制方法,其特征在于,所述目标亲核内存对象池的构建方法包括:
4.根据权利要求3所述的资源访问控制方法,其特征在于,所述目标亲核内存对象池的构建方法还包括:
5.根据权利要求4所述的资源访问控制方法,其特征在于,基于所述空闲资源链表,生成等待链表包括:
6.根据权利要求4所述的资源访问控制方法,其特征在于,所述目标亲核内存对象池的构建方法还包括:
7.根据权利要求1所述的资源访问控制方法,其特征在于,基于所述线程第一标识符,确定用于分配资源的资源链表包括:
8.根据权利要求4所述的资源访问控制方法,其特征在于,在基于所述目标亲核内存对象池中的资源链表分配资源之前,所述方法还包括:
9.根据权利要求8所述的资...
【专利技术属性】
技术研发人员:刚亚州,施培任,孙明刚,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。