The present disclosure provides a method for accessing data storage devices and corresponding devices. Among them, the data storage device includes a plurality of storage areas, the node of the plurality of storage areas and the corresponding N*M matrix, the N matrix for the row number, column number for the M matrix, N and M are positive integers greater than or equal to 1, the matrix rows and columns form the cross node. The method comprises the following steps: using keywords and the rows of the matrix correspond to the first at least one hash function to determine a line of the matrix; through the keyword and the columns of the matrix corresponding to second at least one hash function determines the matrix in a column; determine a node the matrix by the row and column; and the storage area corresponding to the access node.
【技术实现步骤摘要】
访问数据存储设备的方法和装置
本公开涉及计算机
,更具体地,涉及一种访问数据存储设备的方法和装置。
技术介绍
快速高效的数据访问对于计算机系统后台响应速度至关重要。目前对数据存储设备进行数据访问主要是通过红黑树、哈希表或者第三方Key-Value存储工具来实现。其中,哈希表的运算时间复杂度为O(1),理论上耗时是常量,与红黑树相比运算耗时要明显减小;同时,哈希表与第三方Key-Value存储工具相比不需要通过网络套接字进行访问,因而不存在网络耗时以及网络故障风险的问题。但是,在实现本公开构思的过程中,专利技术人发现现有技术中至少存在如下问题:在大数据应用中随着数据量的增加,通过哈希表进行访问时哈希值冲突的概率会随之增长,从而导致数据访问的速度降低。
技术实现思路
有鉴于此,本公开提供了一种能够有效降低通过哈希表进行数据访问时哈希值冲突的概率,同时提高数据访问速度的访问数据存储设备的方法和装置。本公开的一个方面提供了一种访问数据存储设备的方法,所述数据存储设备包括多个存储区域,所述多个存储区域与N*M矩阵中的节点一一对应,其中,N为所述矩阵的行数,M为所述矩阵的列数,N和M均为大于等于1的正整数,所述矩阵的行和列交叉形成所述节点。所述方法包括:通过关键字和与所述矩阵的行对应的第一至少一个哈希函数确定所述矩阵中的一行,通过所述关键字和与所述矩阵的列对应的第二至少一个哈希函数确定所述矩阵中的一列,通过所确定的行和列确定所述矩阵中的一个节点,以及对与所确定的节点相对应的存储区域进行访问。根据本公开的实施例,所述第一至少一个哈希函数与所述第二至少一个哈希函数相同或 ...
【技术保护点】
一种访问数据存储设备的方法,所述数据存储设备包括多个存储区域,所述多个存储区域与N*M矩阵中的节点一一对应,其中,N为所述矩阵的行数,M为所述矩阵的列数,N和M均为大于等于1的正整数,所述矩阵的行和列交叉形成所述节点,所述方法包括:通过关键字和与所述矩阵的行对应的第一至少一个哈希函数确定所述矩阵中的一行;通过所述关键字和与所述矩阵的列对应的第二至少一个哈希函数确定所述矩阵中的一列;通过所确定的行和列确定所述矩阵中的一个节点;以及对与所确定的节点相对应的存储区域进行访问。
【技术特征摘要】
1.一种访问数据存储设备的方法,所述数据存储设备包括多个存储区域,所述多个存储区域与N*M矩阵中的节点一一对应,其中,N为所述矩阵的行数,M为所述矩阵的列数,N和M均为大于等于1的正整数,所述矩阵的行和列交叉形成所述节点,所述方法包括:通过关键字和与所述矩阵的行对应的第一至少一个哈希函数确定所述矩阵中的一行;通过所述关键字和与所述矩阵的列对应的第二至少一个哈希函数确定所述矩阵中的一列;通过所确定的行和列确定所述矩阵中的一个节点;以及对与所确定的节点相对应的存储区域进行访问。2.如权利要求1所述的方法,其中:所述第一至少一个哈希函数与所述第二至少一个哈希函数相同或不同。3.如权利要求1所述的方法,还包括:创建所述N*M矩阵;以及将所述多个存储区域的地址映射到N*M矩阵中的节点,以使所述多个存储区域与所述N*M矩阵中的节点一一对应。4.如权利要求1所述的方法,还包括:在至少一个存储区域的每个存储区域中,通过红黑树结构存储数据。5.如权利要求1所述的方法,还包括:对至少一个存储区域设置读写锁。6.如权利要求1所述的方法,其中,所述数据存储设备包括内存或缓存。7.一种访问数据存储设备的装置,所述数据存储设备包括多个存储区域,所述多个存储区域与N*M矩阵中的节点一一对应,其中,N为所述矩阵的行数,M为所述矩阵的列数,N和M均为大于等于1的正整数,所述矩阵的行和列交叉...
【专利技术属性】
技术研发人员:陈贱辉,邵荣防,郝晖,李萧萧,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。