System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及块设备领域,尤其涉及块设备请求处理。
技术介绍
1、在当前的车载操作系统处理流程中,块设备处理请求一次只能请求访问块设备上的一个或者多个地址连续的块。对于请求不完全连续的块的情况,只能通过传统的方式按照一次处理一个block(数据块)或者从同一个地址开始的多个连续block的方式向块设备发送访问请求,但在实际工作过程中存在一次访问多个至少不完全连续块的需求,这时就需要向块设备发送多个处理请求,导致存在与块设备的多次通信,以完成对块设备上地址不完全连续或者完全不连续的块的访问,这会导致块设备的性能下降。
技术实现思路
1、本公开提供了一种块设备访问请求处理方法、装置、设备以及存储介质。
2、根据本公开的第一方面,提供了一种块设备访问请求处理方法。所述方法包括:
3、接收多个块设备访问请求;所述多个块设备访问请求均携带有各自请求访问的数据块的访问属性,所述访问属性包括:所述请求访问的数据块的起始地址、数据长度;
4、若所述请求访问的数据块的访问属性指示所述多个块设备访问请求各自请求访问的数据块的地址至少不完全连续,则将所述多个块设备访问请求整合成一个数据访问请求;
5、将所述数据访问请求发送至块设备,以使所述块设备解析所述数据访问请求后,利用解析获得的所述请求访问的数据块的访问属性对所述数据访问请求进行响应。
6、如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,
7、所述访问属性还包括:针对所
8、如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述将所述多个块设备访问请求整合成一个数据访问请求,包括:
9、按照所述访问类型的不同,将所述多个块设备访问请求进行分类;
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、应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
【技术保护点】
1.一种块设备访问请求处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求3所述的方法,其特征在于,所述按照所述请求访问的数据块的访问类型和排序,在同一个结构体中依次写入每个访问类型下所述请求访问的数据块的起始地址、数据长度以及访问类型,以形成一个数据访问请求,包括:
5.一种块设备访问请求处理方法,其特征在于,包括:
6.根据权利要求5所述的方法,其特征在于,
7.一种块设备访问请求处理装置,其特征在于,包括:
8.一种块设备访问请求处理装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的方法。
11.一种车辆,其特征在于,包括:如权利要求7或8装置,和/或如权利要求9所述的电子设备,和/或如权利要求10所述的可读存储介质。
【技术特征摘要】
1.一种块设备访问请求处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求3所述的方法,其特征在于,所述按照所述请求访问的数据块的访问类型和排序,在同一个结构体中依次写入每个访问类型下所述请求访问的数据块的起始地址、数据长度以及访问类型,以形成一个数据访问请求,包括:
5.一种块设备访问请求处理方法,其特征在于,包括:
6.根据权利要求5所述的方...
【专利技术属性】
技术研发人员:魏汉武,
申请(专利权)人:北京罗克维尔斯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。