一种新型的并发内存数据组织与访问方法技术

技术编号:8215724 阅读:288 留言:0更新日期:2013-01-17 13:38
本发明专利技术涉及数据处理技术领域,具体的说是一种新型的并发内存数据组织与访问方法,其特征在于内存数据组织形式提供两类数据访问方式:Key-Value的精确索引方式及Key-ValueList的集合索引方式,根据需求访问各实体中的任何一个属性,同时支持多维索引,单一实体可通过不同索引进行检索,整个内存数据采用分块组织的方式进行管理,各内存块分别存放不同级别、不同类型的管理信息,数据的访问依靠各内存区的逻辑进行串联控制,本发明专利技术与现有技术相比,以数据完整性和并发访问高效性为前提,对内存数据结构进行灵活设计、组织,提供了高效的数据检索模型,支持一写多读场景的并发数据访问,数据读写事务完整性得到有效保障,有效降低资源消耗,提升并发访问能力。

【技术实现步骤摘要】
本专利技术涉及数据处理
,具体的说是,主要应用于对数据组织、访问有一定效率要求的内存数据访问场景。数据的存储与访问,是各类计算机应用中最为普遍的需求,随着内存容量的不断提升,越来越多的数据被加载到内存中,系统通过读写内存的方式来调整、设置数据状态,如何组织内存数据,使其能够满足高效并发访问的要求,在数据的并发访问过程中仍能够保证数据读写的事务一致性,同时该组织结构还具有一定的普适性,使得该组织形式能够满足不同应用场景的数据访问、定位需求,已成为多数应用系统共同面临的问题之一。以证券行业为例,各种业务运行于后台主机之上,对于不同的应用,分别对应着不 同的状态数据,业务在实时运行过程中,需要根据不同的输入,或查询、或修改各类状态数据,这类数据如何存储,一般有两种方法方法一,利用现有数据库,将数据存放在数据库中,通过数据库对数据进行增、删、改操作。该方法的好处在于,操作接口简单、统一,通过现有的标准SQL语言可以进行;缺点是,实时响应能力较低;应用系统需要与某一数据库绑定在一起,数据库庞大、冗余、耗费资源,同时应用系统仅仅利用了数据库所有功能中的很小一部分;方法二,将整体数据存放于内存中使用内存数据库管理数据或自行管理。前者需在现有系统的基础上额外构建完整的第三方内存数据库软件,显然对于数据访问模型较为简单的场景,第三方内存数据库方案显得过于复杂,成本也较高,后者的实现多数情况下又都是各自业务根据自身特点组织数据,不同数据按照不同的方式进行组织,各数据之间没有通用的结构,不方便扩展。基于以上认识,在内存中构建一套简洁、完整的通用型内存数据组织结构及访问方法则显得十分必要,该方法需在满足各业务对不同数据进行增、删、改以及数据读写事务完整性要求的同时,又保留现有内存数据访问高效的特点, 该类通用性内存数据组织与访问方法至少需满足一下三方面要求(I)读写事务完整性,在对数据进行读写操作时,必须确保数据结果的完整性,数据完整性是指在对数据进行并发访问时,数据的读写之间不存在读操作的结果为写操作修改数据时的中间过程结果;(2)并发闻效性,能为使用者提供闻效率的并发访问响应;(3)灵活性,能提供不同维度的数据组织和访问方式。目前现有的多数内存数据组织及访问方法中,为满足数据访问的读写事务完整性,主要通过以下几种手段来实现(I)访问排队,在数据访问的前端设置“排队机”,在数据访问请求进入到实际数据处理模块之前,由排队机进行“序列化”操作,经排队过的数据访问请求依次进入数据处理模块并获得访问结果,通过序列化确保两次操作不存在冲突的可能。(2)操作系统级锁机制并发控制,基于操作系统提供的并发控制机制一锁机制,在操作系统层面对各进程数据访问进行调度控制,从而避免访问冲突情况的发生。以上两种处理方式都有效解决了数据并发访问完整性的问题,但无论是访问排队,还是锁并发控制都为整个数据访问带来了过多的额外资源开销,这类手段不利于整体并发访问性能的提升。另一方面,为满足数据访问的灵活性,在已有的内存数据组织及访问方法中引入了多维索引、非唯一索引的方法,将数据与多维索引进行同时映射,使得可以从不同维度访问同一数据;为同一索引键值的数据构建非唯一索引,使得同一键值的不同数据可以并存并被访问。 但现有的技术方法并未结合两类索引方法提供完整支持,有些方法只提供了单一的非唯一索引检索方法,并未支持实际的多维索引;有些方法提供了多维索引,但在多维索引的数据访问及操作上存在不足,有些方法并未对多维索引的添加、删除更新进行完整支持,仅支持了其中的添加、更新功能;有些方法仅考虑了正常情况下各种索引的构建、删除逻辑,并未周全考虑在数据访问过程中如修改操作出现意外终止,而导致内存数据局部不一致场景下的合理处理方法;有些方法,在提供多维索引的同时却并未解决在不降低并发性能的基础上确保读写事务完整性的问题,总之存在缺陷。本专利技术的目的在于解决上述技术问题,提供一种在一写多读前提下可满足不同应用场景的数据访问、定位需求的并发内存数据组织形式及访问方法,并实现高效并发访问的同时保持数据读写的事务一致性。为实现上述目的,设计,其特征在于一种灵活的内存数据组织形式,能有效降低一写多读情况下的并发访问冲突,提供两类数据访问方式Key-Value的精确索引方式及Key-ValueList的集合索引方式,根据需求访问各实体中的任何一个属性,同时支持多维索引,单一实体可通过不同索引进行检索,整个内存数据采用分块组织的方式进行管理,各内存块分别存放不同级别、不同类型的管理信息,数据的访问依靠各内存区的逻辑进行串联控制,该数据访问方法操作如下a.创建数据存储空间,根据预定的配置信息在内存空间中创建完整的存储实体,既包括实际数据存放区域,又包括为提供各项索引功能而必须的控制区域;b.将数据实体添加到数据存储空间,同时为该数据实体设定对应的每一维索引的索引键(Key),并构建索引键到数据实体的映射关系,为支持多维索引的Key-Value/ValueList访问作基础;c.完成数据实体添加后,通过不同维度索引对数据进行访问,可通过Key-Value精确访问的方式定位某一数据,并对该数据进行读取、更新、删除操作;可以通过Key-ValueList集合访问的方式定位某一数据链表,并从该链表的某一“点”开始向后遍历访问,并对对应的数据进行读取、更新、删除操作;d.当有其他进程也需要访问同一块内存数据,执行“附着”操作,将该共享内存接入到本地内存空间,即可通过Key-Value/ValueList的方式访问数据;e.并发访问时,一个数据的更新会在其完成数据提交后真正生效,之后的对于该数据的读取访问都将读到更新后的数据,生效过程是原子的,通过这一原子操作有效保证数据一致性。将数据实体添加到数据存储空间,该步骤实际分为索引区索引键添加,数据区数据值添加以及键值关系构建三部分,对于多维索引来说,添加数据的同时需要保证所有维度的索引能够同时映射到同一数据实体,因此在实际的数据添加时,会首先选取一个“总控区”位置,将数据实体与该总控区位置对应起来,之后,将各维索引键值“安插”到各自“索引区”的合理位置,并建立各索引键与“总控区”位置的一一对应关联关系,从而确保各维索弓I与数据实体的关联关系构建完成。数据实体的操作过程,主要是通过索引区,首先定位到“总控区”位置,基于该位置去访问实际的数据实体,对于数据的读取操作,直接将对应的数据返回给调用者;而对于更新操作,主要基于多版本的概念,更新不在原有数据上进行,而是新增一个副本,当更新数据完成在副本的写入后,再将“数据指针”指向新的版本;对于删除操作,分为索引删除和数据删除两部分,对于索引删除操作,将把所有维度索引一同删除,在删除索引的时候,索引对应的数据实体不被删除。删除索引,将释放对应的空间,以备后续重复使用,对于数据删除,会将删除的空间“隔离”开来,外界不可再次访问该部分内容,但是实际数据不做“抹除”操作,数据空间不被重复利用。添加多维索引操作中,索引添加的最后步骤是为多维索引共同指向的“总控区”槽位设置标志位,表明该槽位已被占用,只有“总控区”槽位设置标识位,对应索引槽位才是有效索引,该设置过程是原子的,在读操作与索引添加操作同时发生时,当本文档来自技高网...

【技术保护点】
一种新型的并发内存数据组织与访问方法,其特征在于在内存数据组织形式提供两类数据访问方式:?Key?Value的精确索引方式及Key?ValueList的集合索引方式,根据需求访问各实体中的任何一个属性,同时支持多维索引,单一实体可通过不同索引进行检索,整个内存数据采用分块组织的方式进行管理,各内存块分别存放不同级别、不同类型的管理信息,数据的访问依靠各内存区的逻辑进行串联控制,该数据访问方法操作如下:a.创建数据存储空间,根据预定的配置信息在内存空间中创建完整的存储实体,既包括实际数据存放区域,又包括为提供各项索引功能而必须的控制区域;b.将数据实体添加到数据存储空间,同时为该数据实体设定对应的每一维索引的索引键(Key),并构建索引键到数据实体的映射关系,为支持多维索引的Key?Value/ValueList访问作基础;c.完成数据实体添加后,通过不同维度索引对数据进行访问,可通过Key?Value精确访问的方式定位某一数据,并对该数据进行读取、更新、删除操作;可以通过Key?ValueList集合访问的方式定位某一数据链表,并从该链表的某一“点”开始向后遍历访问,并对对应的数据进行读取、更新、删除操作;d.当有其他进程也需要访问同一块内存数据,执行“附着”操作,将该共享内存接入到本地内存空间,即可通过Key?Value/ValueList的方式访问数据;e.并发访问时,一个数据的更新会在其完成数据提交后真正生效,之后的对于该数据的读取访问都将读到更新后的数据,生效过程是原子的,通过这一原子操作有效保证数据一致性。...

【技术特征摘要】

【专利技术属性】
技术研发人员:陈雷武剑锋王泊蒋卫黄寅飞林志高郑刚陆素源白硕
申请(专利权)人:上海证券交易所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1