• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 高中学习 > 正文

    分布式元数据管理模式_基于资源分类信息树的教育资源元数据分布式存储

    时间:2019-01-14 03:36:24 来源:雅意学习网 本文已影响 雅意学习网手机站

      【摘要】在教育资源大规模应用系统中,除了资源数据存储外,资源元数据信息的更新、获取也会成为系统的瓶颈。我们提出了一种利用资源分类信息树来辅助教育资源元数据分布式存储的策略,并就其各种操作进行了研究。该策略除拥有集中式存储的资源查全、查准特性外,还拥有灵活的扩展性,能应对大规模用户访问。
      【关键词】元数据;资源分类信息树;分布式存储
      【中图分类号】G420 【文献标识码】B【论文编号】1009―8097(2010)04―0108―04
      
      一 引言
      
      在有大规模用户参与的教育资源建设和地区级有组织的教育资源共建共享项目中,教育资源存储都采取了服务器集群、分布式存储等方式,以应对用户上传下载。但一般资源元数据信息都采取集中存储的方式[2][3][4],在用户规模不断扩大的情况下,元数据信息的访问将成为系统瓶颈。因此我们研究了一种利用资源分类信息树来辅助教育资源元数据分布式存储的策略,且不失集中存储所具有的资源查全、查准特性。同时我们认为,教育资源本身的分类特性以及教育资源用户兴趣偏好的明显存在,也支持元数据的分布式存储。
      
      二 资源分类信息树
      
      全国信息技术标准化技术委员会教育技术分技术委员会(http://www.celtsc.省略/)制定的《教育资源建设技术规范》中,利用学科、实用对象、素材类型三种基本分类方法产生了六种分类体系,根据在实践中教师偏好,我们选择了图1的分类体系作为基础:
      
      考虑教材版本对资源内容和用户的影响,我们将教材版本作为一种基本分类,同时为每一种分类增加一种名为“其他”的类别,以用于容纳在该分类下无明确类别的资源,如一张图片,它可能没有教材版本的区别。这样扩展为如图2的形式。
      这里我们对分布式系统中典型的两类节点的定义如下:
      教育资源元数据节点:为教育资源某种(些)分类下的教育资源元数据提供存储、查询等服务。在一个分布式系统中,教育资源元数据节点可根据需要增加。
      教师节点:最主要的资源用户,他们可能是通过普通浏览器或通过专有客户端访问教育资源。
      1 资源分类信息树的定义
      参照一般数据结构教科书中对树的定义,资源分类信息树定义如下:资源分类信息树是包含有n个结点的有限集合,在这个集合上定义了一个唯一的关系,它满足下列条件:
      (1) 集合中存在唯一的一个结点,它没有前驱,称为树的根,这里命名为“教育资源”;
      (2) 除根以外,集合中的每个结点都有且仅有一个前驱;
      (3) 除根以外,集合中的任何一个结点a,都存在唯一的一个从根到a的结点序列a0,a1,a2,am,其中,a0即树根,而am=a,在这个序列中,节点ai是ai-1(1≤i≤m)的后继。这个结点序列称为从根到a的路径;
      (4) 每个结点表示教育资源某种分类下的具体分类,如按学科分类下的“语文”;
      (5) 没有后继的结点称为叶结点,有且只有叶结点而且必须存储至少一条元数据节点信息,表示该类元数据信息由这些元数据节点存储。如果元数据节点信息超过一条,表示该类元数据信息有多个完全备份。
      (6) 如果某种教育资源分类方法的某种类别在某结点直接后继中,那么该分类所有类别都必须出现在该结点的直接后继集合中。
      
      通过扩展树的广义表表示法,可按照以下方式存储资源分类信息树:用中括号表示结点的后继,用小括号表示元数据节点信息。则上图可表示为:
      “教育资源[语文[人教版[一年级(元数据节点A),二年级(元数据节点B,元数据节点C),六年级(元数据节点C)],苏教版(元数据节点D),师大版[小学(元数据节点F),初中(元数据节点G)]],政治(元数据节点E),地理(元数据节点E)]”
      为了便于存储和传输,我们参考《教育资源建设技术规范》,对资源类别进行编码,其中元数据节点信息是一个HTTP地址,因此经过编码,图3中的资源分类信息树可进一步表示如下:
      “EduRes [ GS001 [ T001 [ GO003 ( http://metaa.省略), GO004 ( http://metab.省略, http://metac.省略 ), GO008 ( http://metac.省略 ) ], T002 (http://metad.省略 ), T003 [ GOE001 (http://metaf.省略),GOE002 (http://metag.省略)]], GS005(http://metae.省略),GS007( http://metae.省略 ) ]”
      同时,考虑资源分类信息树的动态性,我们为其设置了版本号和校验码,用“V”代表版本号,“RTree”代表编码后的资源分类信息树,那么校验码“CS”由如下公式生成:
      CS=MD5(Byte(V)+Byte(RTree))
      显然在应用的初期,资源分类信息树的规模较小,元数据节点数量极少,在元数据节点上存储了叶节点对应分类下更详细的分类,以及相关的元数据信息。元数据节点需要定期告知自己的存储以及访问情况,便于系统动态调整资源分类信息树。
      2 资源分类信息树的操作
      资源分类信息树是一棵动态发展的树,或者说是当前系统中元数据节点的结构化映像,它对用户上传下载资源起着初步导航定位的作用。一般来说,对资源分类信息树存在着以下几种操作:
      (1)资源分类信息树的构建与获取
      根据应用系统的规模,决定需要部署元数据节点的数量,以及各元数据节点服务的教育资源类别。在系统运行过程中,元数据节点将自己元数据存储量、检索次数等用户活动数据反馈给系统,然后系统给出建议决策。元数据节点首先获得资源分类信息树,然后将其转发给连接上它的教师节点,过程如图4所示。
      
      (2)资源分类信息树的更新
      随着系统的不断成长,在收集到足够元数据节点用户行为信息后,资源分类信息树就需要进行更新,包括增加元数据节点、合并访问压力小的资源分类结点、分离访问压力大的资源分类结点。在资源分类信息树的变化过程中,需要符合其定义,特别需要保证有且只有叶结点能关联元数据节点信息。下面图示列出了资源分类信息树更新的各种情形:
      
      如上所示,资源分类信息树的更新主要涉及到结点分裂、替换、合并三个操作。总的来说,这个树的更新是比较容易的。但树的结构更新后,对应的元数据节点对其存储的元数据信息必须做出相应的调整,而这些元数据节点是分布在网络中的,同时为教师节点提供着服务,这需要精心设计调整策略,保证元数据节点与资源分类信息树的一致性,并同时为教师节点提供正确服务。
      通过分析“分裂、替换、合并”三个操作可以发现,对于元数据节点元数据信息的调整的核心操作是“一个或多个的过程”。例如图6所示的分裂过程,即是:元数据节点A将除“语文、数学、英语”以外的元数据信息剪切到新元数据节点B上,同时根节点“教育资源”不再存储元数据节点信息,成为非叶结点;图7所示的替换过程即是:元数据节点A将“英语”类元数据信息剪切到新元数据节点C上,其他无变化;图8所示的合并过程即是:元数据节点B将“物理”类元数据信息剪切到网络中元数据节点C上。除去核心操作,其它操作主要是资源分类信息树结构信息的调整以及最新信息在各节点的分发。其整体流程如图5。
      在元数据节点调整过程中,元数据节点需要暂停服务,以防止数据的不一致性。由于元数据调整非常少,可以在教师节点比较少的时候进行,如深夜调整,这样能降低由此给教师带来的不便。
      (3)元数据节点定位
      由于元数据信息分布在不同的元数据节点上,教师节点上载、检索资源等都需要确切知道元数据所在的元数据节点。因此需要利用资源分类信息树来定位目标信息所在的元数据节点集。其算法如下:
      第一步:变量初始化,将要上载或检索资源的分类信息按“学科-教材版本-适用对象-素材类型”排序,设序列为如下形式:ConditionStr[]={“GS001”, “*”, “GO006”, ……},其中“*”表示不区分该类别,在这里表示不分教材版本。用MPeers存储资源分类信息树的目标结点集合,结点信息包含路径信息,如“EdurRes.GS001.T002”,表示“苏教版”结点,初始将“EduRes”根结点加入集合中:MPeers = { “EduRes” };
      第二步:对MPeers集合中结点进行顺序访问,如果是非叶结点,获取该结点的所有直接后继结点,并结合ConditionStr中对该分类的限制,用符合要求的直接后继结点集合替代该非叶结点。以图3所示的资源分类信息树为例,“EduRes”结点是非叶结点,其直接后继结点集合为{“EduRes.GS001”, “EduRes.GS002”, ……},ConditionStr中对学科类别资源限制为“GS001”,因此MPeers集合变为:Mpeers = {“EduRes.GS001”};
      第三步:重复第二步直到MPeers集合中都是叶结点为止。收集该集合中所有结点所包含的元数据节点信息,即为本次上载或检索的目标元数据节点集。
      由于资源分类信息树的规模一般非常小,因此时间复杂度可以忽略。在极端情况下,如果ConditionStr中对所有分类都不限制,形如ConditionStr = {“*”, “*”, ……},就类似广度优先遍历资源分类信息树,结果包含网络中所有元数据节点信息。
      
      三 基于资源分类信息树的元数据操作
      
      1 元数据上传
      在资源分类信息树的辅助下,元数据上传过程比较简单,在确定目标元数据节点后,即可将元数据信息推送到对应元数据节点上。但当教师节点无法直接访问所确定的目标元数据节点时,需要其他元数据节点代理。其基本过程如图9所示。
      2 元数据检索过程
      同理,元数据检索过程在资源分类信息树的辅助下,也可以直接确定其目标元数据节点集,如果能直接访问这些元数据节点,即可并行发出检索请求,并最终合并检索结果。但在无法直接访问某目标元数据节点时,需要其他元数据节点代理。其基本过程如图10。
      
      
      四 总结
      
      应对大规模访问是元数据分布存储的最重要目的,资源分类信息树可以很好地组织元数据节点,并能比较容易地增加、备份、合并、分裂元数据节点,扩展性较好。同时在对元数据节点发起查询前,通过资源分类信息树预先确定目标元数据节点集,提高了系统效率。资源分类信息树与目录集中式(一般分布式资源网采用“目录集中访问,资源分布存储”)以及一般P2P网络(常采用Tracker或不完全DHT模式)中元数据存储的比较情况如下表所示:
      
      
      参考文献
      [1] 路秋丽,魏顺平.网络教育资源标准及标准应用的调查分析[J].中国电化教育, 2005,(7).
      [2] 孙波.开放式教学资源网络管理平台的研究与实现[D]. 北京:北京师范大学,2002.
      [3] 余胜泉,朱凌云,曹晓明.教育资源管理的新发展[J].中国电化教育,2003,(9).
      [4] GEM[EB/OL].
      [5] 罗慧, 吴国新. P2P技术及其资源发现与定位[J]. 计算机与信息技术,2004.
      [6] 胡进锋,郑纬民. P2P系统结点信息收集算法[R].北京:清华大学计算机系高性能计算研究所,2004.

    推荐访问:分布式 分类信息 教育资源 数据

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章