CN104767737A - 插入式事务管理器及其应用方法 - Google Patents

插入式事务管理器及其应用方法 Download PDF

Info

Publication number
CN104767737A
CN104767737A CN201510127346.2A CN201510127346A CN104767737A CN 104767737 A CN104767737 A CN 104767737A CN 201510127346 A CN201510127346 A CN 201510127346A CN 104767737 A CN104767737 A CN 104767737A
Authority
CN
China
Prior art keywords
task manager
plug
affairs
transaction
management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510127346.2A
Other languages
English (en)
Inventor
国兴旺
段凌云
周凯
王振兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GUIYANG YUWAN SCIENCE & TECHNOLOGY CO., LTD.
Original Assignee
Guiyang Longmaster Information and Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guiyang Longmaster Information and Technology Co ltd filed Critical Guiyang Longmaster Information and Technology Co ltd
Priority to CN201510127346.2A priority Critical patent/CN104767737A/zh
Publication of CN104767737A publication Critical patent/CN104767737A/zh
Pending legal-status Critical Current

Links

Abstract

本发明公开了一种插入式事务管理器及其应用方法。上述事务管理器,设置于终端侧,包括:会话池,用于进行事务的会话管理;定时器,用于进行事务的超时管理;事务管理中心,与所述会话池和所述定时器相连接,用于进行事务的统一管理,为应用层提供应用程序编程接口支持,对各个事务管理进行参数配置,并对所述会话池和所述定时器进行管理。根据本发明提供的上述技术方案,在无需引入过多冗余内容的情况下,基于现有业务系统上的插入式开发模式,设计了设置于终端侧的插入式事务管理器,可对现有系统进行代码上的无缝集成;并且组件内部设计上遵循了高内聚低耦合的原则,所以应用的范围较为广泛。

Description

插入式事务管理器及其应用方法
技术领域
本发明涉及通信领域,具体而言,涉及一种插入式事务管理器及其应用方法。
背景技术
在C/S架构的系统中,客户端和服务器端基于某种特定的协议进行通信,一般需要客户端和服务器端约定具体的消息格式之后通过某种底层协议(例如,传输控制协议(Transmission Control Protocol,简称为TCP))进行传输,一条消息可以从客户端发送到服务器端,也可以从服务器端发送到客户端,消息以一种无状态的和离散的形式存在,那么对于客户端发送某种类型的请求消息,服务器给出某种响应消息需要进行某种高层次的抽象和管理,才能达到应用开发者不必关注底层实现,例如,远程过程调用协议(RemoteProcedure Call Protocol,简称为RPC)的实现。
在客户端的UI查询某些数据时需要能够匹配请求消息和响应消息,则对于现有的消息系统,在无需引入过多冗余内容的情况下,如何在终端实现具有上述消息重入管理、超时管理等综合功能的消息系统成为当前亟待解决的问题。
发明内容
本发明的主要目的在于公开了一种插入式事务管理器及其应用方法,以至少解决相关技术中在无需引入过多冗余内容的情况下,如何在终端实现具有上述消息重入管理、超时管理等综合功能的消息系统的问题。
根据本发明的一个方面,公开了一种插入式事务管理器。
根据本发明的插入式事务管理器包括:会话池,用于进行事务的会话管理;定时器,用于进行事务的超时管理;事务管理中心,与所述会话池和所述定时器相连接,用于进行事务的统一管理,为应用层提供应用程序编程接口支持,对各个事务管理进行参数配置,并对所述会话池和所述定时器进行管理。
根据本发明的另一方面,还公开了一种上述插入式事务管理器的应用方法。
根据本发明的插入式事务管理器的应用方法包括:所述事务管理器接收来自于客户端应用层的第一事务请求消息,其中,所述第一事务请求消息中的事务对应于一个标识信息;所述事务管理器将接收到的事务加入该事务管理器的会话池,分配会话标识,并且向服务器发送请求;在所述服务器返回响应之前,所述事务管理器接收来自于所述客户端应用层的第一事务请求消息,其中,所述第二事务请求消息中的事务对应于所述标识信息;在所述事务管理器确定所述标识信息已经存在且该标识信息对应的事务未超时的情况下,所述事务管理器确定禁止向所述服务器再次发送请求。
根据本发明的又一方面,还公开了一种上述插入式事务管理器的应用方法。
根据本发明的上述插入式事务管理器的应用方法包括:所述事务管理器接收到来自于客户端应用层的任务请求;所述事务管理器设定超时时间;在所述任务请求对应的事务完成前已经超时的情况下,所述事务管理器确定不执行回调接口操作。
根据本发明的再一方面,还公开了一种上述插入式事务管理器的应用方法。
根据本发明的上述插入式事务管理器的应用方法包括:所述事务管理器定义同步调用转换对象;所述事务管理器将待执行的任务提交给执行线程;所述事务管理器阻塞当前线程进行等待信号;在所述执行线程执行任务获得结果且信号未超时的情况下,所述事务管理器获得结果并执行后续流程。
与现有技术相比,本发明实施例至少具有以下优点:在无需引入过多冗余内容的情况下,基于现有业务系统上的插入式开发模式,设计了设置于终端侧的插入式事务管理器,可对现有系统进行代码上的无缝集成;并且组件内部设计上遵循了高内聚低耦合的原则,所以应用的范围较为广泛。
附图说明
图1是根据本发明实施例的插入式事务管理器的结构框图;
图2是根据本发明优选实施例的插入式事务管理器的结构框图;
图3是根据本发明实施例的插入式事务管理器的应用方法一的流程图;
图4是根据本发明优选实施例的插入式事务管理器的应用方法一的交互示意图;
图5是根据本发明实施例的插入式事务管理器的应用方法二的流程图;
图6是根据本发明优选实施例的插入式事务管理器的应用方法二的超时场景下执行耗时任务流程的交互示意图;
图7是根据本发明优选实施例的插入式事务管理器的应用方法二的未超时场景下执行耗时任务流程的交互示意图;
图8是根据本发明实施例的插入式事务管理器的应用方法三的流程图;以及
图9是根据本发明优选实施例的插入式事务管理器的应用方法三的内部流程示意图。
具体实施方式
下面结合说明书附图对本发明的具体实现方式做一详细描述。
图1是根据本发明实施例的插入式事务管理器的结构框图。如图1所示,根据本发明实施例的插入式事务管理器包括:会话池(SessionPool)10,用于进行事务的会话管理;定时器(Timer)12,用于进行事务的超时管理;事务管理中心(TransactionManager)14,与上述会话池和上述定时器相连接,用于进行事务的统一管理,为应用层提供应用程序编程接口支持,对各个事务管理进行参数配置,并对上述会话池和上述定时器进行管理。
相关技术中,还缺乏在终端侧实现具有上述消息重入管理、超时管理等综合功能的消息管理方案,并且在无需引入过多冗余内容的情况下,对现有系统进行代码上的无缝集成。基于现有业务系统上的插入式开发模式,设计了设置于终端侧的如图1所示的插入式事务管理器,可对现有系统进行代码上的无缝集成;并且组件内部设计上遵循了高内聚低耦合的原则,所以应用的范围较为广泛。
其中,上述SessionPool,主要用于事务的会话管理,为了提高效率内部使用一个数组槽实现,可以重复使用。
其中,上述TransactionManager:是一个事务的主要集中管理者,为应用层提供API支持,可对整个事务管理进行相应的参数配置(例如超时时长,重入判定标准时长),用于将以上组件和回调等事务进行统一的管理,在整个进程中全局只有一个,程序启动时进行各种参数配置和初始化。
优选地,上述定时器可以是基于Linux内核原生的哈希轮原理实现的定时器。采用哈希轮定时器(HashedWheelTimer),可以节省大量的Timer所占用的资源,只需要一个定时线程进行轮询即可,在基本能保证时间误差的情况下管理事务的超时。
优选地,如图2所示,上述事务管理器还可以包括:同步调用器(SyncInvoker)16,与上述事务管理中心相连接,用于对需要同步执行的应用,将异步过程调用转换为同步过程调用。
通常情况下,实际的请求和响应消息是通过网络进行发送和接收的,整个事务管理属于一种异步的过程,但是对于某些应用执行时是同步执行的,作为图1所示的插入式事务管理器的支持和扩展,对于某些需要同步执行的应用而言,需要有一个将异步过程调用转换成同步过程调用的方法,因此,可以采用同步调用器(SyncInvoker)来实现此功能。
以下结合图3对上述插入式事务管理器的应用方法进行进一步介绍。
图3是根据本发明实施例的插入式事务管理器的应用方法一的流程图。如图3所示,该插入式事务管理器的应用方法一包括以下处理:
步骤S301:上述事务管理器接收来自于客户端应用层的第一事务请求消息,其中,上述第一事务请求消息中的事务对应于一个标识信息;
步骤S303:上述事务管理器将接收到的事务加入该事务管理器的会话池,分配会话标识,并且向服务器发送请求;
步骤S305:在上述服务器返回响应之前,上述事务管理器接收来自于上述客户端应用层的第一事务请求消息,其中,上述第二事务请求消息中的事务对应于上述标识信息;
步骤S307:在上述事务管理器确定上述标识信息已经存在且该标识信息对应的事务未超时的情况下,上述事务管理器确定禁止向上述服务器再次发送请求。
用户在一个软件内部需要向服务器拉取一些数据并展示在窗口中,为了防止用户快速点击窗口的刷新而在上次向服务器拉取数据的结果返回前再次发起拉取数据的请求而造成没必要的服务器资源消耗和网络流量的浪费,需要消息系统具有一种防止重复注入的能力,上述事务管理器可以实现其功能。
优选地,在上述服务器返回响应之后,还可以包括以下处理:在上述事务管理器上述标识信息对应于两个事务时,上述事务管理器从上述会话池中移除上述两个事务,并执行两次回调接口操作。
在优选实施过程中,对于每个请求由被预先指定一个唯一的标识信息(Key)用来标识一个事务。这个Key可以是任何一种类型的数据,但是必须重写getHashCode和equels方法,这样能保证作为Key的唯一性。这时组件会将这个请求加入管理器内部的会话池(SessionPool)进行超时等待,如果服务器上得到响应后那么需要根据服务器的返回找到对应的Key将此事务从管理器的SessionPool中移除,同时执行加入管理器时设定的回调接口,如果事务管理器发现此事务已经超时那么同样会执行加入管理器时设定的回调接口(Timeout方法)。回调接口由调用者进行指定,每次发起调用时需要加入到管理器。对于同样的Key管理器保证能够在没有得到实际响应之前不再发起第二次网络请求,在真正的网络请求得到对应的响应后会依次执行没有超时的回调接口,这样就解决了重入管理的问题。
以下结合图4进一步描述上述优选实施方式。
图4是根据本发明优选实施例的插入式事务管理器的应用方法一的交互示意图。如图4所示,该插入式事务管理器的应用方法一主要包括以下处理:
步骤S401:客户端应用层响应用户请求,确定需要向服务器查询数据。
步骤S403:客户端应用层将请求生成的唯一标识信息(key)提交给设置于客户端的事务管理器。
步骤S405:事务管理器接受请求并加入到会话池中,并分配会话标识(SessionID)。
步骤S407:事务管理器向服务器发送一条请求信息。
步骤S409:在服务器返回处理结果之前,客户端应用层再次响应用户请求,确定需要向服务器查询同样的数据。
步骤S411:客户端应用层将请求生成的唯一标识信息(key)提交给设置于客户端的事务管理器。
步骤S413:事务管理器确定这个唯一标识信息(key)已经存在且标识信息对应的事务未超时,则上述事务管理器确定不再向上述服务器再次发送请求。
步骤S415:事务管理器接收到服务器返回的处理结果。
步骤S417:事务管理器确定唯一标识信息(key)对应两个事务。
步骤S419:事务管理器第一次执行回调接口。
步骤S421:事务管理器第二次执行回调接口。
步骤S423:客户端应用层刷新UI数据。
图5是根据本发明实施例的插入式事务管理器的应用方法二的流程图。如图5所示,该插入式事务管理器的应用方法二包括:
步骤S501:上述事务管理器接收到来自于客户端应用层的任务请求;
步骤S503:上述事务管理器设定超时时间;
步骤S505:在上述任务请求对应的事务完成前已经超时的情况下,上述事务管理器确定不执行回调接口操作。
上述设置于终端侧的插入式事务管理器可对现有系统进行代码上的无缝集成,组件内部设计上遵循的高内聚低耦合的原则,所以解决的问题较为广泛,例如,不仅可以实现重入管理,还可以扩展应用到一个长时间执行的耗时任务的超时管理上,此外同步调用机制也可以独立出来进行一般的同步转异步的调用需求上。各个组件采用了高效率的实现方案,例如全局公用一套超时机制和对象;
以下结合图6和图7进一步描述上述优选实施方式。
图6是根据本发明优选实施例的插入式事务管理器的应用方法二的超时场景下执行耗时任务流程的交互示意图。如图6所示,该超时场景下执行耗时任务流程主要包括:
步骤S601:客户端应用层响应用户的操作,弹出等待框并向事务管理器发送请求。
步骤S603:事务管理器设定超时时间。
步骤S605:开始执行任务。
步骤S607:超时时间已到,事务管理器执行回调接口操作并取消弹出的等待框。
步骤S609:事务管理器接收到任务完成消息。
步骤S611:事务管理器确定任务已超时,不进行回调接口操作。
图7是根据本发明优选实施例的插入式事务管理器的应用方法二的未超时场景下执行耗时任务流程的交互示意图。如图7所示,该未超时场景下执行耗时任务流程主要包括:
步骤S701:客户端应用层响应用户的操作,弹出等待框并向事务管理器发送请求。
步骤S703:事务管理器设定超时时间。
步骤S705:开始执行任务。
步骤S707:事务管理器接收到任务完成消息。
步骤S709:事务管理器确定事务未超时,进行回调接口操作。
步骤S711:事务管理器取消弹出的等待框。
图8是根据本发明实施例的插入式事务管理器的应用方法三的流程图。如图8所示,该插入式事务管理器的应用方法三包括:
步骤801:上述事务管理器定义同步调用转换对象;
步骤803:上述事务管理器将待执行的任务提交给执行线程;
步骤805:上述事务管理器阻塞当前线程进行等待信号;
步骤807:在上述执行线程执行任务获得结果且信号未超时的情况下,上述事务管理器获得结果并执行后续流程。
实际的请求和响应消息一般是通过网络进行发送和接收的,整个事务管理属于一种异步的过程,但是对于某些应用执行时是同步执行的,所以需要有一个将异步过程转换成同步过程的方法,上述事务管理器的同步调用器可以完成此功能。
以下结合图9进一步描述上述优选实施过程。
图9是根据本发明优选实施例的插入式事务管理器的应用方法三的内部流程示意图。如图9所示,该流程主要包括以下处理:
步骤S901:事务管理器定义同步调用转换对象SyncInvoker。
步骤S903:上述事务管理器将待执行的任务提交给执行线程。
步骤S905:事务管理器阻塞当前线程进行等待信号,执行线程执行任务并得到结果。
步骤S907:执行线程执行回调激活信号并返回给调用线程。
步骤S909:事务管理器获取结果并继续执行后续流程。
综上所述,借助本发明提供的上述实施方式,设置于终端的插入式事务管理器可对现有系统进行代码上的无缝集成;由于对此类问题进行了抽象,组件内部设计上遵循的高内聚低耦合的原则,所以解决的问题较为广泛,例如可以扩展应用到一个长时间执行的耗时任务的超时管理上,此外同步调用机制也可以独立出来进行一般的同步转异步的调用需求上;各个组件采用了高效率的实现方案,例如全局公用一套超时机制和对象。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (8)

1.一种插入式事务管理器,设置于终端侧,其特征在于,包括:
会话池,用于进行事务的会话管理;
定时器,用于进行事务的超时管理;
事务管理中心,与所述会话池和所述定时器相连接,用于进行事务的统一管理,为应用层提供应用程序编程接口支持,对各个事务管理进行参数配置,并对所述会话池和所述定时器进行管理。
2.根据权利要求1所述的插入式事务管理器,其特征在于,所述定时器基于Linux内核原生的哈希轮原理实现。
3.根据权利要求1所述的插入式事务管理器,其特征在于,所述事务管理器还包括:
同步调用器,与所述事务管理中心相连接,用于对需要同步执行的应用,将异步过程调用转换为同步过程调用。
4.一种权利要求1至3中任一项所述的插入式事务管理器的应用方法,其特征在于,包括:
所述事务管理器接收来自于客户端应用层的第一事务请求消息,其中,所述第一事务请求消息中的事务对应于一个标识信息;
所述事务管理器将接收到的事务加入该事务管理器的会话池,分配会话标识,并且向服务器发送请求;
在所述服务器返回响应之前,所述事务管理器接收来自于所述客户端应用层的第二事务请求消息,其中,所述第二事务请求消息中的事务对应于所述标识信息;
在所述事务管理器确定所述标识信息已经存在且该标识信息对应的事务未超时的情况下,所述事务管理器确定不再向所述服务器发送请求。
5.根据权利要求4所述的应用方法,其特征在于,在所述服务器返回响应之后,还包括:在所述事务管理器确定所述标识信息对应于两个事务时,所述事务管理器从所述会话池中移除所述两个事务,并执行两次回调接口操作。
6.一种权利要求1至3中任一项所述的插入式事务管理器的应用方法,其特征在于,包括:
所述事务管理器接收到来自于客户端应用层的任务请求;
所述事务管理器设定超时时间;
在所述任务请求对应的事务完成前已经超时的情况下,所述事务管理器确定不执行回调接口操作。
7.根据权利要求6所述的应用方法,其特征在于,在所述事务管理器设定超时时间之后,还包括:在所述任务请求对应的任务未超时被完成时,所述事务管理器确定执行回调接口操作。
8.一种权利要求3所述的插入式事务管理器的应用方法,其特征在于,包括:
所述事务管理器定义同步调用转换对象;
所述事务管理器将待执行的任务提交给执行线程;
所述事务管理器阻塞当前线程进行等待信号;
在所述执行线程执行任务获得结果且信号未超时的情况下,所述事务管理器获得结果并执行后续流程。
CN201510127346.2A 2015-03-23 2015-03-23 插入式事务管理器及其应用方法 Pending CN104767737A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510127346.2A CN104767737A (zh) 2015-03-23 2015-03-23 插入式事务管理器及其应用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510127346.2A CN104767737A (zh) 2015-03-23 2015-03-23 插入式事务管理器及其应用方法

Publications (1)

Publication Number Publication Date
CN104767737A true CN104767737A (zh) 2015-07-08

Family

ID=53649345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510127346.2A Pending CN104767737A (zh) 2015-03-23 2015-03-23 插入式事务管理器及其应用方法

Country Status (1)

Country Link
CN (1) CN104767737A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102428742A (zh) * 2009-05-20 2012-04-25 高通股份有限公司 事务管理
CN102831156A (zh) * 2012-06-29 2012-12-19 浙江大学 一种云计算平台上的分布式事务处理方法
CN102902834A (zh) * 2011-07-29 2013-01-30 炬力集成电路设计有限公司 一种soc芯片的验证方法及系统
CN103246517A (zh) * 2013-05-21 2013-08-14 浪潮集团山东通用软件有限公司 一种智能客户端程序调用webservice实现数据库事务持续化的方法
CN103731465A (zh) * 2012-10-10 2014-04-16 株式会社特博睿 分布式系统及其事务处理方法
CN104462077A (zh) * 2013-09-12 2015-03-25 方正信息产业控股有限公司 数据库事务处理方法与装置
CN102404367B (zh) * 2010-09-13 2016-04-13 财付通支付科技有限公司 一种异步通信方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102428742A (zh) * 2009-05-20 2012-04-25 高通股份有限公司 事务管理
CN102404367B (zh) * 2010-09-13 2016-04-13 财付通支付科技有限公司 一种异步通信方法及系统
CN102902834A (zh) * 2011-07-29 2013-01-30 炬力集成电路设计有限公司 一种soc芯片的验证方法及系统
CN102831156A (zh) * 2012-06-29 2012-12-19 浙江大学 一种云计算平台上的分布式事务处理方法
CN103731465A (zh) * 2012-10-10 2014-04-16 株式会社特博睿 分布式系统及其事务处理方法
CN103246517A (zh) * 2013-05-21 2013-08-14 浪潮集团山东通用软件有限公司 一种智能客户端程序调用webservice实现数据库事务持续化的方法
CN104462077A (zh) * 2013-09-12 2015-03-25 方正信息产业控股有限公司 数据库事务处理方法与装置

Similar Documents

Publication Publication Date Title
CN106713226B (zh) 一种用于分布式系统的远程过程调用处理方法和系统
CN101227428B (zh) 一种应用服务器及其远程控制方法
KR102128356B1 (ko) 리소스 획득 방법 및 장치
EP2482552A1 (en) Method and system for controlling multipoint video conference, central control subsystem and video terminal
WO2014005442A1 (zh) 网络业务访问的方法及系统
RU2678464C1 (ru) Способ и устройство для установления многогруппового вызова
EP3531676A1 (en) Task processing apparatus, intelligent device, task processing method, and baseband processor
CN104391664A (zh) 一种实现打印机与打印服务器跨网段通信的自助打印系统
CN105843465A (zh) 一种作者关注方法、终端、服务器和系统
CN104507054B (zh) 一种群组成员信息更新的方法及相关设备
WO2018019158A1 (zh) 一种会议恢复的方法、业务管理中心及系统
CN108924368B (zh) 一种通话控制方法、装置及服务器
WO2019184107A1 (zh) 数据传输通道建立系统、方法、网络存储设备、服务器及存储介质
CN113242313B (zh) 数据同步方法、系统、装置、服务器及存储介质
CN115297162B (zh) 消息的发送方法和装置、存储介质及电子装置
CN104767737A (zh) 插入式事务管理器及其应用方法
WO2019201111A1 (zh) 信息处理方法、装置、设备及计算机可读存储介质
CN110177126A (zh) 统一消息通道的数据通讯方法、装置及系统
CN111294252A (zh) 一种集群测试系统
CN116016616A (zh) 一种控制中心坐席设备的远程控制系统
JP4445302B2 (ja) 無線端末装置、サービス検索方法
CN104468645A (zh) 一种控制方法、电子设备及一种信息传输方法、装置
CN106411570A (zh) 实现sctp协议热备份的方法、系统及服务器主机
CN112286668A (zh) 一种高效处理请求数据的方法及系统
CN109446261A (zh) 一种基于多个接口混合调用数据的方法及其系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: GUIYANG YUWAN TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: GUIYANG LONGMASTER INFORMATION + TECHNOLOGY CO., LTD.

Effective date: 20150909

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150909

Address after: 550022, Guizhou, Jinyang, science and Technology Industrial Park, the national high tech Zone standard factory building auxiliary room B305

Applicant after: GUIYANG YUWAN SCIENCE & TECHNOLOGY CO., LTD.

Address before: 550022 Jinyang science and Technology Industrial Park, Guiyang hi tech Zone Industrial Park, room 130

Applicant before: Guizhou Longmaster Information & Technology Co.,Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20150708

RJ01 Rejection of invention patent application after publication