[发明专利]一种新型的并发内存数据组织与访问方法无效
申请号: | 201210362541.X | 申请日: | 2012-09-25 |
公开(公告)号: | CN102880704A | 公开(公告)日: | 2013-01-16 |
发明(设计)人: | 陈雷;武剑锋;王泊;蒋卫;黄寅飞;林志高;郑刚;陆素源;白硕 | 申请(专利权)人: | 上海证券交易所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海三方专利事务所 31127 | 代理人: | 吴干权 |
地址: | 200120 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 新型 并发 内存 数据 组织 访问 方法 | ||
1.一种新型的并发内存数据组织与访问方法,其特征在于在内存数据组织形式提供两类数据访问方式: Key-Value的精确索引方式及Key-ValueList的集合索引方式,根据需求访问各实体中的任何一个属性,同时支持多维索引,单一实体可通过不同索引进行检索,整个内存数据采用分块组织的方式进行管理,各内存块分别存放不同级别、不同类型的管理信息,数据的访问依靠各内存区的逻辑进行串联控制,该数据访问方法操作如下:
a.创建数据存储空间,根据预定的配置信息在内存空间中创建完整的存储实体,既包括实际数据存放区域,又包括为提供各项索引功能而必须的控制区域;
b.将数据实体添加到数据存储空间,同时为该数据实体设定对应的每一维索引的索引键(Key),并构建索引键到数据实体的映射关系,为支持多维索引的Key-Value/ValueList访问作基础;
c.完成数据实体添加后,通过不同维度索引对数据进行访问,可通过Key-Value精确访问的方式定位某一数据,并对该数据进行读取、更新、删除操作;可以通过Key-ValueList集合访问的方式定位某一数据链表,并从该链表的某一“点”开始向后遍历访问,并对对应的数据进行读取、更新、删除操作;
d.当有其他进程也需要访问同一块内存数据,执行“附着”操作,将该共享内存接入到本地内存空间,即可通过Key-Value/ValueList的方式访问数据;
e.并发访问时,一个数据的更新会在其完成数据提交后真正生效,之后的对于该数据的读取访问都将读到更新后的数据,生效过程是原子的,通过这一原子操作有效保证数据一致性。
2.如权利要求1所述的一种新型的并发内存数据组织与访问方法,其特征在于将数据实体添加到数据存储空间,该步骤实际分为索引区索引键添加,数据区数据值添加以及键值关系构建三部分,对于多维索引来说,添加数据的同时需要保证所有维度的索引能够同时映射到同一数据实体,因此在实际的数据添加时,会首先选取一个“总控区”位置,将数据实体与该总控区位置对应起来,之后,将各维索引键值“安插”到各自“索引区”的合理位置,并建立各索引键与“总控区”位置的一一对应关联关系,从而确保各维索引与数据实体的关联关系构建完成。
3.如权利要求1或2所述的一种新型的并发内存数据组织与访问方法,其特征在于数据实体的操作过程,主要是通过索引区,首先定位到“总控区”位置,基于该位置去访问实际的数据实体,对于数据的读取操作,直接将对应的数据返回给调用者;而对于更新操作,主要基于多版本的概念,更新不在原有数据上进行,而是新增一个副本,当更新数据完成在副本的写入后,再将“数据指针”指向新的版本;对于删除操作,分为索引删除和数据删除两部分,对于索引删除操作,将把所有维度索引一同删除,在删除索引的时候,索引对应的数据实体不被删除;删除索引,将释放对应的空间,以备后续重复使用,对于数据删除,会将删除的空间“隔离”开来,外界不可再次访问该部分内容,但是实际数据不做“抹除”操作,数据空间不被重复利用。
4.如权利要求1所述的一种新型的并发内存数据组织与访问方法,其特征在于添加多维索引操作中,索引添加的最后步骤是为多维索引共同指向的“总控区”位置设置标志位,表明该槽位已被占用,只有“总控区”槽位设置标识位,对应索引槽位才是有效索引,该设置过程是原子的,在读操作与索引添加操作同时发生时,当该标志位未被设置,则读操作读不到任何索引;当该标志已为设置,则读操作可以访问到对应的索引。
5.如权利要求1所述的一种新型的并发内存数据组织与访问方法,其特征在于添加数据操作中,在数据添加完成时,会将“总控区”槽位“指向”添加的数据,表明数据添加成功,该过程同样是原子的,当读操作与数据添加操作同时进行,“指向”未能形成,读操作读不到数据,“指向”已形成,则可以读到完整数据,数据完整性不被破坏。
6.如权利要求1所述的一种新型的并发内存数据组织与访问方法,其特征在于更新数据操作中,写操作并不会破坏原有的数据,只是将更新的数据写入另一块内存空间,在此之后将“总控区”槽位指向新的数据,而这个“指向”过程是原子的,因此,当读操作与更新操作同时进行,一种情况是读操作在“指向”改变前完成数据读取,则读到更新前的数据,整个数据是完整的;另一种情况是读操作在“指向”该表后进行数据读取,则读到更新后的数据,读取的数据仍然是完整的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海证券交易所,未经上海证券交易所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210362541.X/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置