工作流引擎集群环境下实例并发处理的一种技术方法

文档序号:8395758阅读:201来源:国知局
工作流引擎集群环境下实例并发处理的一种技术方法
【技术领域】
[0001]本发明涉及一种工作流引擎服务器采用集群环境部署时,工作流引擎在实例处理过程中,负载均衡转发后的内存物理地址定位与并发冲突处理方法。。
【背景技术】
[0002]目前的工作流弓I擎大多参照WFMC标准模型基础上进行设计。按照WFMC对工作流引擎功能定义,过程实例的处理是工作流引擎的核心工作。过程实例处理,一般涉及到过程定义的实例化、实例的读写操作过程。
[0003]工作流引擎服务器用于性能要求较高的环境时,往往需要部署在集群环境下,过程实例的处理过程往往需要多个步骤,在处理开始时,一般将过程实例驻留在内存中,这种情况下,就可能由于复杂均衡在过程实例处理过程中的不同请求转发,物理服务器的转换,造成内存信息获取错误,并且当内存实例加载后,可能需要多个参与对象高并发处理,此时内存过程实例的读写冲突问题需要的妥善处理。
[0004]针对集群环境请求动态转发,内存信息一致性问题,一般有两种解决方案,集群服务器内存同步,或开辟共享内存区域管理,进行统一定位。考虑到集群内存信息同步可能带来额外的性能下降,本发明以第二种方式为基础考虑。
[0005]本发明基于java技术实现,依托与java虚拟机提供的内存、线程池、中间件集群技术实现。
[0006]内存共享采用了开源的MemCache作为集群共享内存管理支撑产品,实际应用中也可以采用类似技术产品替代。

【发明内容】

[0007]本发明由内存对象访问接口、集群共享内存管理模块、内存实例并发访问冲突锁机制算法组成。
[0008]内存对象访问接口,对集群共享内存的管理模块提供的方法进行封装,供工作流引擎调用。
[0009]集群共享内存管理模块,本发明采用开源Memcache作为集群共享内存管理模块。该模块可以为集群环境提供统一的内存驻留信息访问方法,访问时可以定位内存驻留信息的寻址空间,这样在集群环境负载均衡动态转发访问请求的过程中,可以确保对同一个过程实例的一个完整访问过程,即便被转发到不同服务器,也不会造成内存读写错误。
[0010]内存实例并发访问冲突锁机制与算法。当多个参与对象高并发访问同一个已经加载到内存的实例时,会首先向调用内存对象访问接口方法,判断该实例是否已经驻留内存,如果已经驻留内存,就加入并发访问队列,设置锁标记、锁期限,操作完毕或超期,解锁。提供按优先级排序的锁队列机制,确保一个实例处理过程的多次访问,从获取资源到释放资源的过程,不会与其他访问请求产生冲突。锁机制设置期限参数,超期自动解锁,根据业务实际处理的期间范围,合理设置锁期限参数,可以确保防止冲突的同时,不产生死锁。[0011 ]
【附图说明】
[0012]图1:工作流引擎集群环境下内存管理与并发处理算法
【具体实施方式】
[0013]部署含冲突并发处理锁机制算法的集群共享内存管理模块实现工作流弓I擎与内存对象访问的接口。
【主权项】
1.一种用于工作流引擎在集群环境下部署时,实例内存缓存高并发处理的技术方法,解决集群负载均衡与内存实例驻留期间并发访问的物理寻址与并发冲突问题。
2.一个内存对象访问接口,用于为实例加载到内存,提供实例在内存驻留期间的读写操作接口。
3.一个用于集群环境的共享内存模块,用于给集群环境提供共享内存空间管理,在集群服务器在负载均衡过程中,请求动态转发后,已经驻留内存的过程实例保持唯一物理地址定位,避免访问失败。
4.一个并发冲突锁处理算法,实例驻留共享内存区域期间,并发访问需要实现按优先级排序的锁队列,避免并发访问冲突。
【专利摘要】本发明涉及一种工作流引擎服务器采用集群环境部署时,实例过程中,负载均衡转发后的内存物理地址定位与并发冲突处理方法。本发明由一个标准内存对象操作接口,一个含并发访问冲突锁算法共享内存管理控制模块组成。一个内存对象访问接口,用于为实例加载到内存,驻留期间的读写操作接口。一个用于集群环境的共享内存模块,用于给集群环境提供共享内存空间管理,在集群服务器在负载均衡过程中,请求动态转发后,已经驻留内存的过程实例保持唯一物理地址定位,避免访问失败。内部实现了一个并发冲突锁处理算法,实例驻留共享内存区域期间,并发访问需要实现按优先级排序的锁队列,避免并发访问冲突。并且具有防死锁机制。
【IPC分类】G06F9-48, G06F9-50
【公开号】CN104714837
【申请号】CN201310669574
【发明人】谢国勇, 贾春平
【申请人】北京慧正通软科技有限公司
【公开日】2015年6月17日
【申请日】2013年12月11日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1