System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机领域,尤其涉及一种数据包存储和处理的方法及装置。
技术介绍
1、现有的对象存储引擎是基于以spdk技术提供的零拷贝、高并发、绑定cpu无锁机制方式,直接从用户态访问nvme存储介质,属于一种侵入内核式的优化对象存储引擎,而这种侵入内核式的优化对内核的稳定运行存在不利影响,并且在安全方面存在风险。
技术实现思路
1、为此,需要提供一种新的数据包存储和处理的方法,来解决内核运行的稳定性、安全性问题。
2、为实现上述目的,专利技术人提供了一种数据包存储和处理的方法,包括步骤:在nvme的中断处理程序中使用i/o处理通道,使任一i/o请求操作直接通过nvme的驱动程序触发自定义的内核函数;所述nvme为非易失性存储器快速通道。
3、进一步地,所述的数据包存储和处理的方法中,所述自定义的内核函数构建的独立的数据包处理进程包括一个内核组件,所述内核组件通过功能接口由nvme驱动程序处理接收的数据包,并直接将数据包请求卸载到底层nvme介质。
4、进一步地,所述的数据包存储和处理的方法中,所述自定义的内核函数包括预设的键值存储方法,所述键值存储方法具体包括:通过增加一次哈希函数操作增加元数据的存储位置。
5、进一步地,所述的数据包存储和处理的方法中,所述键值存储方法还包括:将每个元数据存储位置从单一的地址改造成为列表地址,即哈希值附带存储属性位置。
6、进一步地,所述的数据包存储和处理的方法中,通过构建固定大小的键和
7、专利技术人同时还提供了一种用于实现上述数据包存储和处理的方法的数据包存储和处理的装置,包括i/0执行模块,所述i/0执行模块用于在nvme的中断处理程序中使用i/o处理通道,使任一i/o请求操作直接通过nvme的驱动程序触发自定义的内核函数;所述nvme为非易失性存储器快速通道。
8、进一步地,所述的数据包存储和处理的装置中,还包括内核函数模块,所述内核函数模块用于对所述自定义的内核函数构建独立的数据包处理进程,所述数据包处理进程包括一个内核组件,所述内核组件通过功能接口由nvme驱动程序处理接收的数据包,并直接将数据包请求卸载到底层nvme介质。
9、进一步地,所述的数据包存储和处理的装置中,还包括键值存储模块;所述键值存储模块用于执行所述内核函数模块所自定义的内核函数包括的预设的键值存储方法,所述键值存储方法具体包括:通过增加一次哈希函数操作增加元数据的存储位置。
10、进一步地,所述的数据包存储和处理的装置中,所述键值存储方法还包括:将每个元数据存储位置从单一的地址改造成为列表地址,即哈希值附带存储属性位置。
11、进一步地,所述的数据包存储和处理的装置中,所述键值存储方法还用于通过构建固定大小的键和值将索引和日志存储于同一文件;索引节点使用的页面格式包括标题、键和值;基于索引节点构建有序链表。
12、区别于现有技术,本专利技术技术方案采用了虚拟机指令规范使不需要修改内核源码和重新编译的前提下,得到一种扩展内核的能力和方法;利用linux内核对bpf的支持使其允许在使用现有内核和文件系统时,不需要专门的硬件,也不需要对应用程序进行重大更改即可实现应用程序数据存储i/o加速;可有效降低bpf函数原有的i/o重提交情况,杜绝与其他并发应用程序级操作同步或多个函数调用来遍历大型存储介质的数据结构带来的性能影响,从而提高对象存储引擎稳定性和安全性。
本文档来自技高网...【技术保护点】
1.一种数据包存储和处理的方法,其特征在于,包括步骤:在NVMe的中断处理程序中使用I/O处理通道,使任一I/O请求操作直接通过NVMe的驱动程序触发自定义的内核函数;所述NVMe为非易失性存储器快速通道。
2.根据权利要求1所述的数据包存储和处理的方法,其特征在于,所述自定义的内核函数构建的独立的数据包处理进程包括一个内核组件,所述内核组件通过功能接口由NVMe驱动程序处理接收的数据包,并直接将数据包请求卸载到底层NVMe介质。
3.根据权利要求2所述的数据包存储和处理的方法,其特征在于,所述自定义的内核函数包括预设的键值存储方法,所述键值存储方法具体包括:通过增加一次哈希函数操作增加元数据的存储位置。
4.根据权利要求3所述的数据包存储和处理的方法,其特征在于,所述键值存储方法还包括:将每个元数据存储位置从单一的地址改造成为列表地址,即哈希值附带存储属性位置。
5.根据权利要求4所述的数据包存储和处理的方法,其特征在于,通过构建固定大小的键和值将索引和日志存储于同一文件;索引节点使用的页面格式包括标题、键和值;基于索引节点构建有
6.一种数据包存储和处理的装置,其特征在于,包括I/0执行模块,所述I/0执行模块用于在NVMe的中断处理程序中使用I/O处理通道,使任一I/O请求操作直接通过NVMe的驱动程序触发自定义的内核函数;所述NVMe为非易失性存储器快速通道。
7.根据权利要求6所述的数据包存储和处理的装置,其特征在于,还包括内核函数模块,所述内核函数模块用于对所述自定义的内核函数构建独立的数据包处理进程,所述数据包处理进程包括一个内核组件,所述内核组件通过功能接口由NVMe驱动程序处理接收的数据包,并直接将数据包请求卸载到底层NVMe介质。
8.根据权利要求7所述的数据包存储和处理的装置,其特征在于,还包括键值存储模块;所述键值存储模块用于执行所述内核函数模块所自定义的内核函数包括的预设的键值存储方法,所述键值存储方法具体包括:通过增加一次哈希函数操作增加元数据的存储位置。
9.根据权利要求8所述的数据包存储和处理的装置,其特征在于,所述键值存储方法还包括:将每个元数据存储位置从单一的地址改造成为列表地址,即哈希值附带存储属性位置。
10.根据权利要求9所述的数据包存储和处理的装置,其特征在于,所述键值存储方法还用于通过构建固定大小的键和值将索引和日志存储于同一文件;索引节点使用的页面格式包括标题、键和值;基于索引节点构建有序链表。
...【技术特征摘要】
1.一种数据包存储和处理的方法,其特征在于,包括步骤:在nvme的中断处理程序中使用i/o处理通道,使任一i/o请求操作直接通过nvme的驱动程序触发自定义的内核函数;所述nvme为非易失性存储器快速通道。
2.根据权利要求1所述的数据包存储和处理的方法,其特征在于,所述自定义的内核函数构建的独立的数据包处理进程包括一个内核组件,所述内核组件通过功能接口由nvme驱动程序处理接收的数据包,并直接将数据包请求卸载到底层nvme介质。
3.根据权利要求2所述的数据包存储和处理的方法,其特征在于,所述自定义的内核函数包括预设的键值存储方法,所述键值存储方法具体包括:通过增加一次哈希函数操作增加元数据的存储位置。
4.根据权利要求3所述的数据包存储和处理的方法,其特征在于,所述键值存储方法还包括:将每个元数据存储位置从单一的地址改造成为列表地址,即哈希值附带存储属性位置。
5.根据权利要求4所述的数据包存储和处理的方法,其特征在于,通过构建固定大小的键和值将索引和日志存储于同一文件;索引节点使用的页面格式包括标题、键和值;基于索引节点构建有序链表。
6.一种数据包存储和处理的装置,其特征在于,包括i/0执行模块,所述i/0执行模块...
【专利技术属性】
技术研发人员:郭翔,王玥,吴佳伟,邵豪杰,陈林林,林迅,秦佩,张楠,何知轶,
申请(专利权)人:兴业证券股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。