一种数据替换方法及系统的制作方法

文档序号:9865562阅读:271来源:国知局
一种数据替换方法及系统的制作方法
【技术领域】
[0001]本发明涉及数据库管理领域,尤其涉及一种数据替换方法及系统,应用于XML数据库。
【背景技术】
[0002]在XML (Extensible Markup Language,可扩展标记语言)数据库的实际使用过程中,有很多类似于替换replace的需求,当需要replace —数据时,当该数据在数据库中存在,则更新它,如果该数据不存在就插入这个数据,但XML数据库中不支持这样的replace操作,现有数据替换的方法,需要客户端先判断旧值文档或属性是否存在,然后选择更新或者插入,但查找操作和更新操作是两个不同的语句,在查找操作中已经有一次路径查找步骤,而在更新操作中还需进行查找步骤,这次查找操作不仅使得数据替换的步骤更加繁琐,而且增加了系统的工作负担,事务并发处理性能差,降低了系统的整体性能。

【发明内容】

[0003]为了解决上述技术问题,本发明提供了一种数据替换方法及系统,解决了现有XML数据库中替换数据的方法,需要两次查找步骤所造成步骤繁琐,工作负担大,事务并发处理性能差的问题。
[0004]依据本发明的一个方面,提供了一种数据替换方法,应用于XML数据库,其中,该数据替换方法包括:
[0005]查找待替换数据的目标地址;
[0006]检测目标地址上是否存在与待替换数据名称相同的旧值数据;
[0007]若目标地址上存在旧值数据,将待替换数据替换旧值数据;
[0008]若目标地址上不存在旧值数据,将待替换数据插入至目标地址。
[0009]可选地,该数据替换方法在查找待替换数据的目标地址的步骤之前还包括:
[0010]获取所述待替换数据的目标地址信息,根据所述目标地址信息查找所述目标地址。
[0011]可选地,当待替换数据的类型为文档时,该数据替换方法包括:
[0012]查找待替换文档的目标容器;
[0013]检测目标容器中是否存在与待替换文档名称相同的旧值文档;
[0014]当旧值文档存在时,将待替换文档替换旧值文档;
[0015]当旧值文档不存在时,在目标容器中插入待替换文档。
[0016]可选地,在查找待替换文档的目标容器的步骤之前还包括:
[0017]创建并命名存储文档的容器,将不同类型的文档存储于对应的容器中。
[0018]可选地,待替换文档的类型包括XML文件、服务器端存在的文件或/和客户端存在的文件。
[0019]可选地,当待替换数据的类型为节点时,该数据替换方法包括:
[0020]查找待替换节点的目标路径,目标路径根据路径表达式计算得出;
[0021]检测目标路径处是否存在旧值节点;
[0022]当旧值节点存在时,将待替换节点替换旧值节点;
[0023]当旧值节点不存在时,判断是否接收到插入指令,若接收到插入指令将待替换节点插入至目标路径处;若未接收到插入指令,则发送报错信息。
[0024]可选地,待替换节点包括:XML路径表达式片段或XML片段。
[0025]可选地,当待替换数据的类型为节点属性时,该数据替换方法包括:
[0026]查找待替换节点属性的目标路径;
[0027]检测目标路径处是否存在与待替换节点属性名称一致的旧值节点属性,
[0028]当旧值节点属性存在时,将待替换节点属性替换旧值节点属性,
[0029]当旧值节点属性不存在时,判断是否接收到插入指令,若接收到插入指令,将待替换节点属性插入至目标路径处;若未接收到插入指令,则发送报错信息。
[0030]依据本发明的另一个方面,还提供了一种数据替换系统,应用于XML数据库,包括:
[0031]查询模块,用于查找待替换数据的目标地址;
[0032]检测模块,用于检测目标地址上是否存在与待替换数据名称相同的旧值数据;
[0033]替换模块,用于当目标地址上存在旧值数据时,将待替换数据替换旧值数据;
[0034]插入模块,用于当目标地址上不存在旧值数据时,将待替换数据插入至目标地址。
[0035]可选地,该数据替换系统,还包括:
[0036]获取模块,用于获取待替换数据的目标地址信息,根据目标地址信息查找目标地址。
[0037]可选地,查询模块包括:第一查询模块,用于查找待替换文档的目标容器;检测模块包括:第一检测模块,用于检测目标容器中是否存在与待替换文档名称相同的旧值文档;替换模块包括:第一替换模块,用于当旧值文档存在时,将待替换文档替换旧值文档;插入模块包括:第一插入模块,用于当旧值文档不存在时,在目标容器中插入待替换文档。
[0038]可选地,该数据替换系统,还包括:
[0039]创建模块,用于创建并命名存储文档的容器,将不同类型的文档存储于对应的容器中。
[0040]可选地,该查询模块还包括:第二查询模块,用于查找待替换节点的目标路径,目标路径根据路径表达式计算得出;该检测模块还包括:第二检测模块,用于检测目标路径处是否存在旧值节点;替换模块还包括:第二替换模块,用于当旧值节点存在时,将待替换节点替换旧值节点;插入模块还包括:第二插入模块,用于当旧值节点不存在时,判断是否接收到插入指令,若接收到插入指令将待替换节点插入至目标路径处;若未接收到插入指令,则发送报错信息。
[0041]可选地,该查询模块还包括:第三查询模块,用于查找待替换节点属性的目标路径;该检测模块还包括:第三检测模块,用于检测目标路径处是否存在与待替换节点属性名称一致的旧值节点属性,替换模块还包括:第三替换模块,用于当旧值节点属性存在时,将待替换节点属性替换旧值节点属性,插入模块还包括:第三插入模块,用于当旧值节点属性不存在时,判断是否接收到插入指令,若接收到插入指令,将待替换节点属性插入至目标路径处;若未接收到插入指令,则发送报错信息。
[0042]本发明的实施例的有益效果是:一种数据替换方法及系统,通过将查询与更新插入合并为一个操作,当需要替换数据时,只需查找到目标地址,并检测该目标地址上是否存在与待替换数据名称相同的旧值数据,若存在,则替换该旧值数据,若不存在,则在该目标地址插入待替换数据;这样就在原有的替换数据的方法中减少了一次查找目标地址的操作,对于待替换数据的目标地址复杂的事务,减少查找操作可大大提升系统的处理性能;这样就在一定程度上提高了事务并发量。
【附图说明】
[0043]图1表示本发明的数据替换方法的流程图一;
[0044]图2表示本发明的数据替换方法的流程图二 ;
[0045]图3表示本发明的实施例的流程图一;
[0046]图4表示本发明的实施例的流程图二 ;
[0047]图5表示本发明的实施例的流程图三;
[0048]图6表示本发明的数据替换系统的结构示意图。
【具体实施方式】
[0049]下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
[0050]实施例
[0051]如图1和如图2所示,本发明的实施例提供了一种数据替换方法,包括:
[0052]步骤10:查找待替换数据的目标地址;
[0053]当客户端需要替换数据时,获取待替换数据的目标地址信息,根据该目标地址信息查找待替换数据的目标地址;
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1