【技术实现步骤摘要】
【国外来华专利技术】用于数据库事务的幂等性相关申请的交叉引用本申请涉及并要求2011年9月9日提交的申请号为13/229,641且专利技术名称为“RecoveringStatefulRead-OnlyDatabaseSessions”的美国申请的优先权,因此通过引用并入其全部内容,就像在本文中完整阐述过一样。所以申请人拒绝放弃专利申请或其审查历史中主张的任何权利要求范围。本申请涉及并在2012年4月16日提交的申请号为13/448,267且专利技术名称也是“用于数据库事务的幂等性(IdempotenceForDatabaseTransactions)”的美国专利申请,通过引用并入其全部内容,就像在本文中完整阐述过一样。本申请还涉及:(1)2004年8月12日提交的专利技术名称为“TransparentMigrationOfStatelessSessionsAcrossServers”的美国专利US7747754,通过引用并入其全部内容,就像在本文中完整阐述过一样;(2)2006年5月1日提交的专利技术名称为“DatabaseShutdownWithSessionMigration”的美国专利US7502824,通过引用并入其全部内容,就像在本文中完整阐述过一样;(3)2004年8月12日提交的专利技术名称为“TransparentSessionMigrationAcrossServers”的美国专利US7552218,通过引用并入其全部内容,就像在本文中完整阐述过一样;(4)2005年5月17日提交的专利技术名称为“CapturingAndRe-CreatingTheState ...
【技术保护点】
一种方法,包括:在第二会话中由服务器从客户端接收请求,所述请求利用第一会话的逻辑标识符识别出由客户端在第一会话中发送的一条或多条命令的集合;其中所识别的一条或多条命令的集合如果在第一会话中已完成将促使实施:交付事务的第一服务器操作;由服务器确定事务尚未交付;并且响应于所述请求并至少部分地基于确定事务尚未交付,服务器阻止第一会话中的事务完成。
【技术特征摘要】
【国外来华专利技术】2011.09.09 US 13/229,641;2012.04.16 US 13/448,2581.一种用于确定一条或多条命令的输出的方法,包括:服务器在第二会话中从客户端接收对由客户端先前在第一会话中发送的所识别的一条或多条命令的集合的输出的请求;其中所识别的一条或多条命令的集合如果在第一会话中已完成将促使实施:交付事务的第一服务器操作;以及向客户端发送所识别的一条或多条命令的集合已交付的指示的第二服务器操作;其中所识别的一条或多条命令的集合已交付的指示直到第一服务器操作已交付事务且完成一条或多条命令的集合之后才发送至客户端;服务器确定由所识别的一条或多条命令的集合促使的至少一项事务已交付以及是否还有由所识别的一条或多条命令的集合促使的任何事务尚未交付;并且至少部分地基于确定所识别的一条或多条命令的集合中的至少一项事务已交付且所识别的一条或多条命令的集合内至少有一项另外的事务尚未交付,即使客户端在第一会话中没有接收到作为交付所述至少一项事务的结果的报告,服务器在第二会话中向客户端发送对所述请求的响应,指示所识别的一条或多条命令的集合中的至少一项事务已交付但所识别的一条或多条命令的集合内至少还有一项另外的事务尚未交付。2.如权利要求1所述的方法,其中所述请求至少部分地基于在第一会话中完成先前的命令集之后被客户端接收到的逻辑标识符来识别所述一条或多条命令的集合。3.如权利要求1所述的方法,其中所述一条或多条命令的集合是从客户端到服务器的单用户调用,并且其中所述单用户调用如果在第一会话中完成将促使除了第一服务器操作和第二服务器操作以外的多项服务器操作的实施;其中所述多项服务器操作促使交付多项改变。4.如权利要求1所述的方法,其中所述一条或多条命令的集合如果在所述第一会话中完成将在第一服务器操作和第二服务器操作之间促使至少一项服务器操作的实施;并且其中所述第二服务器操作如果在所述第一会话中完成就交付所述至少一项服务器操作向数据库中的一个或多个数据库对象实施的一项或多项临时改变。5.如权利要求1所述的方法,其中所述服务器是在多个会话中提供对数据库的访问的多个服务器中的第一服务器;其中多个会话中的每个会话每次最多被分配给一个服务器;其中由客户端在第一会话中发送一条或多条命令的集合之前,第二服务器在第一会话中向客户端提供对数据库的访问;其中客户端在第一会话中完成先前的命令集之后从第一服务器接收逻辑标识符;其中由客户端在第一会话中发送一条或多条命令的集合之后第一会话变为对客户端不可用;并且其中所述请求至少部分地基于在第一会话中完成先前的命令集之后被客户端接收到的逻辑标识符来识别一条或多条命令的集合。6.如权利要求1所述的方法,其中所述一条或多条命令的集合是一条或多条命令的第一集合,其中针对输出的请求至少部分地基于在第一会话中发送的多个命令集中的一条或多条命令的第一集合所特有的逻辑标识符来识别所述一条或多条命令的第一集合,其中逻辑标识符至少部分地基于在第一会话中发送的一条或多条命令的先前集合完成后才发送至客户端的指示,其中一条或多条命令的先前集合由客户端在第一会话中先于一条或多条命令的第一集合发送。7.如权利要求1所述的方法,其中针对输出的请求至少部分地基于包括先前在第一会话中发送至客户端的信息的逻辑标识符来识别所述一条或多条命令的集合,其中所述逻辑标识符唯一地识别出:在所述第一会话中发送的一条或多条命令的多个集合中的所述一条或多条命令的集合;以及在多个服务器提供对数据库的访问的多个会话中的所述第一会话,其中多个会话中的每个会话每次最多被分配给一个服务器。8.如权利要求1所述的方法,进一步包括:向客户端发送指示一条或多条命令的不同集合已交付的不同消息;如果被交付就在送往客户端的不同消息中附带一条或多条命令的不同集合中的不同逻辑标识符,其中所述不同消息包括一条或多条命令的不同集合中不同的结果集合;其中客户端请求至少部分地基于不同逻辑标识符中的特定逻辑标识符来识别命令的不同集合中的特定命令集合。9.如权利要求1所述的方法,所述方法进一步包括响应于确定一条或多条命令的集合中至少有一项事务尚未交付,通过阻止在第一会话中发送的一条或多条命令的集合中的所述至少一项事务在第一会话中完成来强行设定未交付状态,以使得所述至少一项事务不能在第一会话中交付。10.如权利要求9所述的方法,进一步包括在第二会话中执行所述至少一项事务;其中所述至少一项事务在第一会话和第二会话中最多交付一次。11.如权利要求1所述的方法,进一步包括在第一会话中完成第一服务器操作,并且响应于更新所存储的信息以指示在一条或多条命令的集合中至少有一项另外的事务尚未交付,通过阻止所述至少一项另外的事务不得在第一会话中交付来强行设定未交付状态以使第二会话能够完成所述至少一项另外的事务;其中确定所识别的一条或多条命令的集合内至少有一项事务已交付且所识别的一条或多条命令的集合内至少还有一项另外的事务尚未交付应至少部分地基于所存储的信息。12.如权利要求11所述的方法,进一步包括:响应于确定所识别的一条或多条命令的集合内至少有一项事务已交付且所识别的一条或多条命令的集合内至少还有一项另外的事务尚未交付,通过更新所存储的信息以指示在所识别的一条或多条命令的集合中至少有一项另外的事务已被阻止不得在第一会话中完成而在第一会话中阻止所识别的一条或多条命令的集合内的所述至少一项另外的事务完成来强行设定未交付状态。13.一种用于确定一条或多条命令的输出的方法,包括:服务器在第二会话中从客户端接收请求,所述请求利用第一会话的逻辑标识符识别出由客户端在第一会话中发送的一条或多条命令的集合;其中所识别的一条或多条命令的集合如果在第一会话中已完成就促使实施:交付事务的第一服务器操作;服务器确定在所识别的一条或多条命令的集合中没有已交付的事务;并且响应于请求并且至少部分地基于确定一条或多条命令的集合中没有已交付的事务,服务器通过阻止在第一会话中发送的所识别的...
【专利技术属性】
技术研发人员:C·L·科尔瑞恩,S·H·罗艾斯科,K·S·尼尔,
申请(专利权)人:甲骨文国际公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。