一种在文本信息检索服务中支持分布式事务管理的方法

文档序号:6370112阅读:305来源:国知局
专利名称:一种在文本信息检索服务中支持分布式事务管理的方法
技术领域
本发明涉及信息检索领域
背景技术
信息的存储与搜索一直是计算机技术致力于解决的问 题之一,随着计算机技术的发展,越来越多的应用程序/服务提供了全文检索与搜索功能。在一个实际的应用中,应用通常需要一个事务中同时处理索引数据与其他数据,例如在一个内容管理系统中,用户上传一份文档,系统可能至少需要执行两个操作I.向数据库中插入一条相关的记录2.对该文档内容进行索引,从而之后便可以对文档的内容进行搜索这两个操作必须在同一个事务中完成,否则便可能会导致数据的不一致性,例如操作一执行成功,而操作二执行失败,则可能出现系统显示文档上传成功,可是无法根据文档内容搜索到文档。为了在一个事务中同时处理索引数据与数据库数据,应用需要采用分布式事务管理器同时管理数据库资源与索引资源,这就需要数据库和索引系统支持分布式事务的规范。XA规范是开放群组关于分布式事务处理(DTP)的规范。规范描述了全局的事务管理器与局部的资源管理器之间的接口。XA规范的目的是允许的多个资源(如数据库,应用服务器,消息队列,索引服务,等等)在同一事务中访问,这样可以使ACID属性跨越应用程序而保持有效。

发明内容
本发明的目的是提供一种在文本信息检索服务中支持分布式事务管理的方法。通过在文本信息检索服务中支持分布式事务管理,在具体应用中,可以通过全局的事务管理器管理索引资源与其他类型资源,从而保证应用数据满足事务性的要求。在本发明以下的内容中,索引资源均指文本信息检索服务管理的索引数据。为了达到上述目的,本发明设计了一种文本信息检索服务实现XA规范的方法。根据XA规范的要求,通过分布式事务管理索引资源的具体流程如下I.启动事务,全局事务管理器向各资源管理器发送启动事务请求,文本信息检索服务收到请求后启动本地事务。2.执行对索引资源及其他资源的操作。3.提交事务。对于实现了 XA规范的文本信息检索服务,分布式事务管理器在提交的时候遵循两阶段提交协议。i.第一阶段全局事务管理器向各资源管理器发送预提交请求,文本信息检索服务收到请求后,预提交本地事务,并将结果(成功/失败)返回。ii.第二阶段全局事务管理器在接收到所有资源管理器的回复后,进行判断,若所有资源管理器均返回成功,执行第一分支,若至少有一个资源管理器返回失败,执行第二分支。 全局事务管理器向各资源管理器发送提交请求,文本信息检索服务收到请求后,提交本地事务。 全局事务管理器向各资源管理器发送回滚请求,文本信息检索服务收到请求后,回滚本地事务。


图I为本发明的工作流程示意图。
具体实施例方式下面结合附图I对本发明所述的技术方案做进一步详细描述。
图I为分布式事务管理索引资源的流程图,其中文本信息索引服务需要实现的功能如下I.创建本地事务。新建索引目录,并生成唯一标识符用于标识此事务。2.执行索引操作。根据索引操作请求中的唯一标识符,找到索引目录,并在该索引目录中执行写操作。将更新操作分解为先删除后添加。将删除操作进行持久化。在执行读操作时,其处理流程如下i.在主索引目录执行读操作。ii.在上一步的结果中过滤掉此事务中已持久化的删除操作的内容。iii.在此事务的索引目录中执行读操作,并将结果与上一步的结果合并作为最终的返回结果。3.预提交事务。根据索引操作请求中的唯一标识符,找到索引目录,关闭索引目录,在之后对该索引目录的任何写操作都不会成功。4.提交事务。根据索引操作请求中的唯一标识符,找到之前在该事务中持久化的删除操作,在主索引目录中执行删除操作。根据索引操作请求中的唯一标识符,找到索引目录,并将该索引目录合并到主索引目录中,从而之后所有对主索引目录的查询都可以查询到事务索引目录的内容。5.回滚事务。根据索引操作请求中的唯一标识符,找到事务索引目录,删除事务索引目录。通过上述的处理流程,文本信息检索服务实现了 XA规范,并保证了其满足本地事务的ACID属性,包括如下方面I.原子性。在启动本地事务时,文本信息检索服务新建了一个索引目录,所有在该事务中的索引操作,都只在该索引目录中执行。在提交事务时,将该索引目录加入到主索引目录中。在回滚事务时,将该索引目录删除。因此该事务中的索引操作内容,要么全部完成,要么回滚到事务开始前状态,从而保证了事务的原子性。2.隔离性。假设同一时刻有事务A,B,由于在启动本地事务时,文本信息检索服务新建了一个索引目录,所有在该事务中的索引操作,都只在该索引目录中执行。在事务提交前,在事务A中的操作,对事务B没有任何影响,从而保证了事务的隔离性。3. 一致性。同数据库的表结构关系不同,文本信息检索服务中存储的数据是无关联关系的,因此文本信息检索服务的本地事务天然地满足一致性的要求。4.持久性。在事务提交以后,该事务的索引目录会被合并到主索引目录中。由于主索引目录的持久化的,从而 满足了事务的持久性。
权利要求
1.一种在文本信息检索服务中支持分布式事务管理的方法,其特征在于 1)支持本地事务的ACID特性 2)支持XA规范,可接受分布式全局事务管理器管理。
2.如权利I所述的在文本信息检索服务中支持分布式事务管理的方法支持本地事务ACID特性,其特征在于在启动本地事务时新建索引目录,在提交事务时,将该索引目录与主索引目录合并,在回滚事务时,删除该索引目录,保证了事务的原子性。
3.如权利I所述的在文本信息检索服务中支持分布式事务管理的方法支持本地事务ACID特性,其特征在于每个事务中的索引请求都只在该事务索引目录中执行,保证了事务的隔离性。
4.如权利I所述的在文本信息检索服务中支持分布式事务管理的方法支持本地事务ACID特性,其特征在于利用文本信息检索服务中存储的数据是无关联关系的,保证了事务的一致性。
5.如权利I所述的在文本信息检索服务中支持分布式事务管理的方法支持本地事务ACID特性,其特征在于提交后的事务,其索引目录内容会被持久化到文件系统中,保证了事务的持久性。
6.如权利I所述的在文本信息检索服务中支持分布式事务管理的方法支持XA规范,其特征在于其实现了 XA规范中的两阶段提交协议。
7.如权利6所述的在文本信息检索服务中支持分布式事务管理的方法实现了两阶段提交协议,其特征在于在预提交事务后,关闭索引目录,保证了预提交后不接受任何写请求。
全文摘要
本发明提供了一种在文本信息检索服务中支持分布式事务管理的方法。通过该方法,可以在分布式事务管理器中管理文本信息检索服务的本地事务。为了达到上述目的,本发明设计了一种文本信息检索服务实现XA规范的方法,并按照XA规范实现了两阶段提交协议,同时保证了本地事务的ACID特性。
文档编号G06F17/30GK102760154SQ20121016222
公开日2012年10月31日 申请日期2012年5月23日 优先权日2012年5月23日
发明者不公告发明人 申请人:上海引跑信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1