The present invention provides a method and system for distributed data storage, data storage unit is given the length of the data block, and the data are organized into a tree structure, the data of each write operation request a node corresponding to the tree structure, the method includes: receiving a write operation request, write operation request to be included write data length; determine the node tree structure corresponding to the write operation request in writing, when the data length does not exceed the remaining space node write operation request corresponding data block, then lock the data block and the execution of the write operation, or write data according to the length distribution of one or more new data block to this node as a new block of data transfer to the subtree root distribution, set the link indicator of the subtree of the location data block at the node where the original, the new data block and hold the lock The write operation is done.
【技术实现步骤摘要】
一种分布式数据存储方法和系统
本专利技术涉及计算机和计算机软件
,特别地涉及一种分布式数据存储方法和系统。
技术介绍
在电商业务蓬勃发展的今天,越来越多的经营者采用电商作为其重要的销售渠道,甚至是唯一的销售渠道。更多的消费者通过电商获取其需要的各式各样的生活必需品,以满足日常需求、提升生活质量。需求促进生产,旺盛的需求促使更多更好的商品及其销售活动的出现,于是,如何更好的管理、处理这些商品数据成为电商不得不重视的问题。从目前电商公布的数据来看,现有的活跃商品数据已经是数十亿计,加上历史的数据,这将是一个非常海量的数据,利用传统的数据存储方法来处理这个数量级的数据,已经越来越笨重,越来越力不从心。现有常用的数据存储技术主要分为关系数据库管理系统RDBMS(RelationalDatabaseManagementSystem)和多种不同于RDBMS的新型的数据存储技术NoSql两大类。其中,RDBMS是传统的关系型数据库解决方案,主要包括Oracle、MySql等;NoSql解决方案主要包括HBase、MongoDB等。但是,现有常用的数据存储技术存在一定的技术 ...
【技术保护点】
一种分布式数据存储方法,所述数据的存储单位是给定长度的数据块,并且所述数据被组织成树形结构,对所述数据的每个写操作请求对应所述树形结构的一个节点,其特征在于,所述方法包括:接收写操作请求,所述写操作请求包括待写数据长度;确定所述写操作请求对应的所述树形结构中的节点,当所述待写数据长度不超出所述写操作请求对应的节点所在的数据块的剩余空间,则锁定该数据块并执行该写操作,否则根据待写数据长度分配一个或多个新数据块并把以该节点为根的子树迁移到所分配的新数据块,在该节点原来所在的数据块中设置链接指示该子树的位置,锁定所述新数据块并执行该写操作,其中,当接收所述写操作请求时,该写操作请 ...
【技术特征摘要】
1.一种分布式数据存储方法,所述数据的存储单位是给定长度的数据块,并且所述数据被组织成树形结构,对所述数据的每个写操作请求对应所述树形结构的一个节点,其特征在于,所述方法包括:接收写操作请求,所述写操作请求包括待写数据长度;确定所述写操作请求对应的所述树形结构中的节点,当所述待写数据长度不超出所述写操作请求对应的节点所在的数据块的剩余空间,则锁定该数据块并执行该写操作,否则根据待写数据长度分配一个或多个新数据块并把以该节点为根的子树迁移到所分配的新数据块,在该节点原来所在的数据块中设置链接指示该子树的位置,锁定所述新数据块并执行该写操作,其中,当接收所述写操作请求时,该写操作请求对应的节点不是当前树形结构中已有节点而是要新增加的节点,并且当该节点不是所述树形结构的根节点时,以该节点的直接父节点所在的数据块作为该节点所在的数据块,当该节点是所述树形结构的根节点时,分配新数据块作为该节点所在的数据块。2.根据权利要求1所述的方法,其特征在于,所述树形结构的每个节点具有唯一的标识,且子节点的标识包括该子节点的直接父节点的标识。3.根据权利要求1所述的方法,其特征在于,在所述树形结构的节点中设置数据年龄和冷热分值,并根据对数据的存取来统计所述数据冷热分值,定期根据数据年龄和冷热分值把满足设定阈值的冷数据导出到后备存储。4.根据权利要求1所述的方法,其特征在于,利用多个数据服务器管理所述数据块,并且利用管理服务器确定写操作对应的节点所在的数据块和管理该数据块的数据服务器,当为子树分配的新数据块的位置与其所在树形结构的父节点的数据块在同一数据服务器内的相同数据块时,通过所述新数据块与数据块头地址的块内偏移量进行节点的定位;当为子树分配的新数据块的位置与其所在树形结构的父节点的数据块在同一管理服务器管理的非同一数据服务器内时,通过所述管理服务器进行节点的定位;当为子树分配的新数据块的位置与其所在树形结构的父节点的数据块不在同一管理服务器管理的数据服务器内时,通过读取所述新数据块的外部地址来进行节点的定位。5.根据权利要求1所述的方法,其特征在于,若写操作对应的节点在同一管理服务器管理的数据服务器内,则由该管理服务器负责执行所述业务操作;若所述写操作对应的节点不在同一管理服务器管理的数据服务器内,则所述业务操作所涉及的多个管理服务器先选举出一个用于协调响应业务操作的主管理服务器,再由该主管理服务器协调其他的管理服务器执行所述业务操作;其中,系统中所有管理服务器的存活情况和主从拓扑结构通过协调服务器集群来维护。6.一种分布式数据存储系统,所述数据的存储单位是给定长度的数据块,并且所述数据被组织成树形结构,对所述数据的每个写操作请求对应所述树形结构的一个节点,其特征在于,所述系统包括:请求接收模块,用于接收写操作请求,所述写操作请求包括待写数据长度;节点确定模块,用于确定所述写操作请求对应的所述树形结构中的节点,当所述待写数据长度不超出所述写操作请求对应的节点所在的数据块的剩余空间,则锁定该数据块并执行该写操作,否则根据待写数据长度分配一个或多个新数据块并把以该...
【专利技术属性】
技术研发人员:刘日新,薛韬,罗超,雷利博,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。