一种数据存取方法、系统及计算设备的制造方法

文档序号:9765995阅读:320来源:国知局
一种数据存取方法、系统及计算设备的制造方法
【技术领域】
[0001] 本发明设及计算机应用领域,特别设及一种数据存取方法、系统及计算设备。
【背景技术】
[0002] 随着计算机应用的日益广泛和深入,计算机网络中与数据库相关的技术不断发展 和进步。由于数据库存储的数据是W平面方式存储,一般都是利用递归算法来展现层次数 据。递归算法是指在函数或子过程的内部,直接或间接地调用自己的算法。当要获取某一数 据下的所有低层数据时,需要从最顶层分类到最底层分类逐层逐点扫描,直至每个数据全 部扫描完毕才能计算出所需要的结果。
[0003] 如果数据的层级较深,则使用递归的次数会相当可观。而且,在递归调用的过程 中,计算机系统会为每一层的返回点、局部变量等开辟找来存储,若递归次数过多则容易造 成找溢出等,浪费了存储空间,造成数据冗余,占用了系统的较多资源,甚至导致系统没有 足够的内存将无法计算获取所需的数据,运行效率较低。

【发明内容】

[0004] 为此,本发明提供一种数据存取的方案,W力图解决或者至少缓解上面存在的问 题。
[0005] 根据本发明的一个方面,提供一种数据存取方法,在计算设备中执行,适于对具有 层级关系的多个分层数据进行存取处理,其中每个分层数据具有任意多个下层数据和最多 一个上层数据。该方法包括如下步骤:首先,预先建立一数据库表,该数据库表包括如下字 段:数据ID、层级、左侧ID、右侧ID和数据名称;利用建立的数据库表对分层数据进行存取处 理,其中对于数据库表中存储的任意一条分层数据,其层级值为其上层数据的层级值加1, 左侧ID值小于右侧ID值,左侧ID值大于其上层数据的左侧ID值,右侧ID值小于其上层数据 的右侧ID值,且对于同一上层数据的多个下层数据,其左侧ID值和右侧ID值均按照下层数 据在数据库表存储的时间顺序递增。
[0006] 可选地,在根据本发明的数据存取方法中,对分层数据进行存取处理包括新增处 理、删除处理和查询处理。
[0007] 可选地,在根据本发明的数据存取方法中,对分层数据进行新增处理包括:获取输 入的新增分层数据的数据名称和其上层数据的数据ID值;如果新增分层数据的上层数据的 数据ID值为0,则获取数据库表中最大的右侧ID值加1作为新增分层数据的右侧ID值,并将 新增分层数据的层级值设置为1;如果新增分层数据的上层数据的数据ID值不为0,则从数 据库表中获取该新增分层数据的上层数据的右侧ID值作为新增分层数据的右侧ID值,从数 据库表中获取该新增分层数据的上层数据的层级值加1作为新增分层数据的层级值;将数 据库表中右侧ID值不小于新增分层数据的右侧ID值的所有分层数据的右侧ID值增加2,将 数据库表中左侧ID值大于新增分层数据的右侧ID值的所有分层数据的左侧ID值增加2;获 取新增分层数据的右侧ID值作为新增分层数据的左侧ID值,并将新增分层数据的右侧ID值 增加 I;最后,将新增分层数据插入到数据库表中。
[000引可选地,在根据本发明的数据存取方法中,对分层数据进行删除处理包括:获取输 入的被删除分层数据的数据ID值;从数据库表中获取被删除分层数据的左侧ID值和右侧ID 值,并将右侧ID值减左侧ID值再加1作为第一差值;删除数据库表中左、右侧ID值在被删除 分层数据的左、右侧ID值之间的所有分层数据;将数据库表中右侧ID值大于被删除分层数 据的右侧ID值的所有分层数据的右侧ID值减去第一差值,并将左侧ID值大于被删除分层数 据的右侧ID值的所有分层数据的左侧ID值减去第一差值。
[0009] 可选地,在根据本发明的数据存取方法中,对分层数据进行查询处理包括:获取输 入的待查询分层数据的数据ID值;从数据库表中获取待查询分层数据的左、右侧ID值;从数 据库表中获取左、右侧ID值在待查询分层数据的左、右侧ID值之间的分层数据,所获取的分 层数据即为待查询分层数据的所有低层数据。
[0010] 可选地,在根据本发明的数据存取方法中,对分层数据进行查询处理包括:获取输 入的待查询分层数据的数据ID值和层级差;从数据库表中获取待查询分层数据的左、右侧 ID值及层级值;从数据库表中获取左、右侧ID值在待查询分层数据的左、右侧ID值之间且层 级值与待查询分层数据的层级值之差不大于输入的层级差的分层数据,所获取到的分层数 据即为待查询分层数据的与其层级差值不大于输入的层级差的所有低层数据。
[0011] 可选地,在根据本发明的数据存取方法中,对分层数据进行查询处理包括:从数据 库表中获取左侧ID值为右侧ID值减1的分层数据,所获取的分层数据即为待查询的无下层 数据的所有分层数据。
[0012] 根据本发明的又一个方面,提供一种数据存取系统,适于驻留在计算设备中。该系 统包括数据库表建立模块和存取处理模块。数据库表建立模块,适于预先建立一数据库表, 该数据库表包括如下字段:数据ID、层级、左侧ID、右侧ID和数据名称。存取处理模块,适于 利用建立的数据库表对分层数据进行存取处理,其中对于数据库表中存储的任意一条分层 数据,其层级值为其上层数据的层级值加1,左侧ID值小于右侧ID值,左侧ID值大于其上层 数据的左侧ID值,右侧ID值小于其上层数据的右侧ID值,且对于同一上层数据的多个下层 数据,其左侧ID值和右侧ID值均按照下层数据在数据库表存储的时间顺序递增。
[0013] 可选地,在根据本发明的数据存取系统中,存取处理模块包括新增子模块、删除子 模块和查询子模块。
[0014] 可选地,在根据本发明的数据存取系统中,新增子模块进一步适于获取输入的新 增分层数据的数据名称和其上层数据的数据ID值;如果新增分层数据的上层数据的数据ID 值为0,则获取数据库表中最大的右侧ID值加1作为新增分层数据的右侧ID值,并将新增分 层数据的层级值设置为1;如果新增分层数据的上层数据的数据ID值不为0,则从数据库表 中获取该新增分层数据的上层数据的右侧ID值作为新增分层数据的右侧ID值,从数据库表 中获取该新增分层数据的上层数据的层级值加1作为新增分层数据的层级值;将数据库表 中右侧ID值不小于新增分层数据的右侧ID值的所有分层数据的右侧ID值增加2,将数据库 表中左侧ID值大于新增分层数据的右侧ID值的所有分层数据的左侧ID值增加2;获取新增 分层数据的右侧ID值作为新增分层数据的左侧ID值,并将新增分层数据的右侧ID值增加1; 最后,将新增分层数据插入到数据库表中。
[0015] 可选地,在根据本发明的数据存取系统中,删除子模块进一步适于获取输入的被 删除分层数据的数据ID值;从数据库表中获取被删除分层数据的左侧ID值和右侧ID值,并 将右侧ID值减左侧ID值再加1作为第一差值;删除数据库表中左、右侧ID值在被删除分层数 据的左、右侧ID值之间的所有分层数据;将数据库表中右侧ID值大于被删除分层数据的右 侧ID值的所有分层数据的右侧ID值减去第一差值,并将左侧ID值大于被删除分层数据的右 侧ID值的所有分层数据的左侧ID值减去第一差值。
[0016] 可选地,在根据本发明的数据存取系统中,查询子模块进一步适于获取输入的待 查询分层数据的数据ID值;从数据库表中获取待查询分层数据的左、右侧ID值;从数据库表 中获取左、右侧ID值在待查询分层数据的左、右侧ID值之间的分层数据,所获取的分层数据 即为待查询分层数据的所有低层数据。
[0017] 可选地,在根据本发明的数据存取系统中,查询子模块进一步适于获取输入的待 查询分层数据的数据ID值和层级差;从数据库表中获取待查询分层数据的左、右侧ID值及 层级值;从数据库表中获取左、右侧ID值在待查询分层数据的左、右侧ID值之间且层级值与 待查询分层数据的层级值之差不大于输入的层级差的分层数据,所获取到的分层数据即为 待查询分层数据的与其层级差值不大于输入的层级差的所有低层数据。
[0018] 可选地,在根据本发明的数据存取系统中,查询子模块进一步适于从数据库表中 获取左侧ID值为右侧ID值减1的分层数据,所获取的分层数据即为待查询的无下层数据的 所有分层数据。
[0019] 根据本发明的又一个方面,还提供一种计算设备,包括根据本发明的数据存取系 统。
[0020] 根据本发明的数据存取的技术方案,通过建立包括数据ID、层级、左侧ID、右侧ID 和数据名称上述字段的数据库表,对具有层级关系的多个分层数据进行存取处理,根据层 级值、
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1