欢迎来到010在线作文网!

内存数据管理技术在族谱信息系统中的应用论文(2)

实用文 时间:2021-08-31 手机版

3内存数据管理技术

  内存数据管理[7]的关键技术包括存储结构[8]、索引结构[9]、并发控制[10]、同步策略[11]、故障恢复[12]等。 本节将重点介绍系统中用到的索引结构和同步策略。

  3。1索引结构

  内存数据库由于其工作的主版本保存在内存中,所以内存数据库的索引选择应结合存储介质的特点,从而通过索引的建立来保证内存数据库查询操作的高效性。 目前在内存数据库中经常选用的`索引结构有hash索引和T树索引。

  (1) hash索引[13]定义了一个hash函数,通过将关系表的索引项传入到hash函数可以计算出相应的hash值,从而在索引项和hash值之间建立起对应关系,通过hash索引查找数据只需常数时间的复杂度。

  (2) 在内存数据库中目前较广泛使用的一种树是结合B树[14]和AVL树进化而来的T树[14]。 T树的单个节点有多个数据,因此拥有良好的修改和存储特性。 由于T树属于AVL树的一种演进,具有AVL树的平衡特性,从而进一步提升了树的搜索性能。 因此T树在时间和空间两者间具备较好的平衡性。

  hash索引在进行定值的查找时效率很高,而T树索引一方面具有树的二叉性而且其设计符合内存数据库存储介质的特性,所以当前主流的内存数据库都至少提供了这两种索引结构。3。2同步策略

  内存数据管理的数据同步更新技术大致可以分为表复制技术、事务复制技术、触发器技术和影子表技术。 这里主要介绍表复制技术和事务复制技术[15]。

  (1) 表复制技术:采用把某一时刻源数据表的内容通过网络发送到复制的副本,因为复制的内容是表的某一时刻的状态,所以又被形象地称为表快照。 表快照的复制不是以事务为基础,所以副本缺乏基本的关系完整性。 基于表复制技术不需依赖特别的机制,不占用额外的系统资源,管理和操作也非常容易,而且在同步初始化和崩溃恢复时是必须的。 但是全表更新效率很低。

  (2) 事务复制技术:事务复制技术是把修改源数据的事务通过网络发送到复制的副本,复制可以是修改的表项事务或事务日志。 复制的时间可根据应用需求而确定。 副本接收到复制内容后,要重复一遍接收到的事务操作来实现与数据源的一致。 一般是基于数据库日志通过分析日志的信息来获得数据的差异,最后达到数据同步。

4内存数据管理技术在系统中的应用

  在族谱信息系统中需要大量的递归查询操作,而且系统对数据存取的实时性要求比较高,只依靠基于磁盘的传统数据库系统无法满足族谱信息系统的要求。 为了保证数据处理的实时性和可靠性,族谱信息系统中采用内存和外部存储设备(如磁盘)共同作为数据的存储介质。 族谱信息系统将实时或关键性数据的操作放在内存数据库中进行,由于内存的数据存取速度比磁盘快,引入内存数据管理技术会使族谱信息系统更高效,更迅捷。

  4。1族谱信息系统结构

  在族谱信息系统的业务逻辑中,系统的运营商负责分配录入任务给各个代理商,各代理商再将任务分割为多个子任务,并组织多位录入人员进行录入。 为了增加子系统的可靠性和灵活性,族谱信息系统采用分布式结构[16](如图2所示)。 系统中包括了一个中心数据节点和多个分布数据节点。 中心数据节点储存了所有的族谱数据;而每个代理商拥有一个分布数据节点,存储了本代理商代理录入完成的族谱数据。

  每个分布数据节点都是由一个磁盘数据库和一个内存管理单元组成。 其中内存管理单元包括内存数据库、用户请求处理模块、接收队列、发送队列、节点状态管理模块、资源管理模块和数据同步模块,内存数据库采用列存储模型来实现存储。 用户请求处理模块主要是接收用户请求,并根据用户请求进入不同的处理分支。 接收队列用于接收用户提交的新增的数据或者是修改的数据。 发送队列用于发送给用户所要求的查询结果数据。 数据同步模块用来维持分布数据节点和中心数据节点的数据同步。 资源管理模块主要是对内存资源进行分配和回收。

  4。2数据录入功能的内存管理策略

  在数据录入功能中,每个录入用户登录之后首先会选择自己要录入的族谱,系统自动连接该族谱隶属的代理商的分布数据节点。

  分布数据节点中的用户请求处理模块会识别用户数据录入请求,把用户选择的族谱数据作为热点数据存入到内存数据库当中。 由于数据录入功能的主要操作是插入新元组,所以元组集合在内存数据库中采用堆组织以便高效地插入新元组;同时按照键值建立哈希索引,其中重名的会依次放在指针数组中。 图2族谱信息系统架构

  Fig。2The structure of the genealogy information system

  当用户插入新元组时,新元组会加入到系统的接收队列,分布数据节点会把新增元组加入到内存中存储; 当用户需要请求检索数据时,对应分布数据节点会根据索引快速定位数据位置并返回给用户;当用户修改数据时会把修改后的数据加入到系统的接收队列,分布数据节点会把接收队列中的数据依次更新;当用户删除数据的时候,分布数据节点会通过索引定位到该数据并执行删除,同时内存资源管理模块进行内存资源回收。

  4。3数据服务功能的内存管理策略

  由于在数据服务功能中主要是对世系数据的大量结构化查询,分布数据节点采用T树索引结构来存储元组信息。 其中每个节点的数据中都含有人物对象的详细信息和分别指向父亲、母亲、过继或兼祧父亲、过继或兼祧母亲的四个指针。 同时建立哈希索引(同第4。2节)。

  当数据录入导致本族谱世系数据发生改变的时候,会对内存T树索引和哈希索引进行更新,分为以下几种情况。

  (1) 如果需要增加新的元组,系统会对T树索引做插入操作并更新哈希索引;

  (2) 如果需要更新某个元组,系统会通过T树索引找到旧元组直接进行更新如需要则同时更新哈希索引;

  (3) 如果需要删除某个元组,系统会先通过T树索引找到该元组然后删除该元组,更新T树索引和哈希索引,同时资源管理模块进行内存资源回收。

  在数据服务功能中,当用户请求一键寻祖的时候输入要寻祖的人物谱名和祖先的世代数(可以不输入,默认为族谱中最小的世代数),分布数据节点会首先通过哈希索引找到T树索引中对应的人物对象元组节点。 如果存在多个重名的人物对象则会返回几个人物对象的具体信息供用户选择;如果该谱名只对应一个人物对象或者用户从重名人物中选择了一个人物对象,则分布数据节点会从世系树中该人物对象节点开始循环地通过父亲或兼祧父亲指针寻找祖先节点;当该祖先的世代数等于用户输入的值,则停止循环并返回该祖先节点元组给用户。

  4。4数据输出功能的内存管理策略

  在数据输出功能中,每个用户需要首先选择族谱,分布数据节点把对应的族谱数据作为热点数据载入到内存数据库中,在后续的族谱编排和族谱生成中可以直接访问分布数据节点的内存,并建立T树索引(同第4。2节)。

  当用户对世系数据进行分组(可以按照个人或者是世代分组)时,分布数据节点会通过T树索引检索对应人物更新其分组号;当用户按照需求对世系和文档进行分卷时,会对世系分组和文档数据进行排序用于生成对应的电子族谱,同时分布数据节点会按照用户的编排顺序对内存中的数据进行排序;当用户选择相应的模板请求族谱生成的时候,分布数据节点会根据模板的格式生成族谱并返回给用户。

  4。5数据同步策略

  在族谱信息系统中,每个分布数据节点的内存数据库保存着实时数据,但是内存属易失性存储,为了提高数据的可靠性,必须和外存数据库进行数据同步。 同时中心数据节点作为所有分布数据节点族谱数据的副本也需要和分布数据节点进行数据同步。

  4。5。1分布数据节点内外存数据同步

  分布数据节点内外存数据同步属于单向同步,除了内存数据初始化外,数据都是从内存数据库传输到外存数据库当中。

  在族谱信息系统中,分布数据节点的内外存数据同步是由常驻后台进程MMSyn来实现的。 分布数据节点启动后,MMSyn进程就会自动启动。 MMSyn进程启动时需要初始化系统设置的同步周期时间和进程数阀值。 MMSyn进程在上次同步操作完成和下次同步操作开始之间会休眠一个同步周期。 每次MMSyn进程被唤醒之后,会通过事务日志来检测是否存在数据更新,如果有而且当前的进程数低于阀值就进行数据更新,否则MMSyn进程继续休眠。 MMSyn进程在数据更新过程前会读取存储的上次完成同步的事务日志序列号,从下一事务日志开始在外存里重做事务操作从而完成同步。

  4。5。2分布数据节点与中心数据节点的数据同步

  分布数据节点分散存储着各个代理商代理录入的族谱信息,而中心数据节点作为稳定的中心数据备份必须和分布数据节点进行数据同步。 分布数据节点与中心数据节点的数据同步属于单向同步,除了分布数据节点崩溃从中心数据节点恢复以外,数据都是从分布数据节点传输到中心数据节点当中。

  在族谱信息系统中,分布数据节点与中心数据节点的数据同步是由分布数据节点常驻后台进程DSyn和中心数据节点常驻后台进程CSyn来实现的。 在族谱信息系统启动后,CSyn和DSyn进程会自动启动。

  和MMsyn进程相似,DSyn进程在启动时需要初始化系统设置的同步周期时间和进程数阀值。 每次DSyn进程被唤醒之后,会读取存储的上次完成同步的事务日志序列号n,如果当前最大的日志序列号m>n(日志序列号是递增的),则将n<日志序列号>m的日志发送给中心数据节点。

  中心数据节点一旦启动,就会开启CSyn进程。 当分布数据节点发送过来日志序列时,CSyn重做事务操作从而完成同步。5结论

  本文设计并实现的族谱信息系统采用了B/S架构,能更好地支持族谱数据的分散录入以及集中共享的现实需求。 在族谱数据管理方面采用了分布式结构,其中包括中心数据节点和分布数据节点。 中心数据节点存储全部族谱的数据,分布数据节点存储对应代理商录入的族谱数据,通过同步策略实现中心数据节点和各个分布数据节点的数据同步,大大加强了系统的可靠性和灵活性。

  分布数据节点引入了内存数据管理技术,采用列存储模型存储结构,并根据用户具体的请求初始化热点数据,建立索引。 用户的操作在分布数据节点内存中进行,加快了系统的响应速度。 同时,系统利用事务日志进行分布数据节点的内外存同步和内存数据库恢复,增强了系统的可靠性。

  未来的工作还需要考虑热点数据的优化选择、分布数据节点负载均衡等问题。

【内存数据管理技术在族谱信息系统中的应用论文】相关文章:

1.信息技术论文

2.信息技术论文的题目

3.信息技术师德论文

4.学校信息技术论文

5.信息技术学科论文

6.信息技术教改论文

7.小学信息技术论文

8.信息技术论文题目


本文来源http://www.010zaixian.com/shiyongwen/2049649.htm
以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请给我们来信(zaixianzuowenhezi@gmail.com),我们会及时处理和回复,谢谢.