[发明专利]大幅度提高工作流引擎性能的方法无效
申请号: | 200910015516.2 | 申请日: | 2009-05-13 |
公开(公告)号: | CN101551745A | 公开(公告)日: | 2009-10-07 |
发明(设计)人: | 姜健;戴海宏;何忠胜;刘宗福;刘民 | 申请(专利权)人: | 山东中创软件工程股份有限公司;山东中创软件商用中间件股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06Q10/00 |
代理公司: | 济南舜源专利事务所有限公司 | 代理人: | 苗 峻 |
地址: | 250014山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 大幅度 提高 工作流 引擎 性能 方法 | ||
技术领域
本发明涉及一种大幅度提高工作流引擎性能的方法,该方法属于中间件技术架构领域,特别是在工作流引擎的技术架构领域。
背景技术
近些年来,随着信息化建设的不断发展,工作流的应用越来越普及,各业务流程系统管理得更加清晰和灵活;同时,业务流程系统对工作流的要求也越来越高,基本应用层面已经无法满足业务流程系统的需求,业务流程系统对业务活动实时监控分析、流程数据统计分析等高级应用层面需求越来越强烈。
业务活动实时监控分析要求,业务的实时监控并优化;根据比较少的数据量,进行实时分析处理,主要用于管理操作。
流程数据统计分析要求,历史数据的统计分析;根据大量数据,进行批量分析处理,主要用于规划。
目前大部分工作流产品仍然停留在仅满足业务流程系统的基本应用层面上;在此层面上的工作流产品,涉及人工参与的流程时,为了应对意外宕机等突发事故,以及提供对运行数据和历史数据查询等功能,流程数据需要持久化到数据库中;涉及到数据库持久化,在大访问量、高并发的情况下,经常会遇到数据库I/O瓶颈的问题;工作流产品对数据库I/O瓶颈解决的程度,决定了此工作流产品对业务流程系统的支撑能力。
有些工作流产品已经将其产品定位在了高级应用层面上,着手满足业务活动实时监控分析、流程数据统计分析等功能需求;为了方便用户统计分析流程数据,必然要将所有流程数据持久化到数据库中;实时监控分析、大数据量统计分析,将给其工作流产品带来更高的挑战。
目前工作流产品都向平台产品发展,方便业务流程系统管理,这样对工作流平台支持远程访问能力的要求越来越高;这就带来另外一个现实的问题,网络I/O瓶颈;如何解决网络I/O瓶颈,也决定工作流平台对业务流程系统的支撑能力。
以上从本地I/O和网络I/O层面上分析了工作流产品遇到的一些实际问题,当前工作流产品普遍从建立合适的数据库索引、升级硬件、优化逻辑等方面解决各自的不足,来提升对业务流程系统的支撑能力。
还有最直接的方法就是集群,应用服务器集群和数据库集群;当然这是非常有效的方法,也是面向大访问量和高并发的系统必须要做的。如何在此基础上进一步提高工作流引擎的性能,也就是此发明所描述的重点。
当前工作流产品,无论是基本应用层次上的功能,例如:待办任务查询、经手任务查询、可追回任务查询、指定条件查询等,还是高级应用层面上的功能,例如:业务活动实时监控分析、流程数据统计分析等,都需要频繁的访问工作流引擎,同时引擎内部需要频繁地执行大量的数据查询,这些各层面的功能必然会给工作流引擎带来巨大的压力;尤其涉及到人工参与的流程,处理任务必然要先查询出来需要处理的业务,然后再进行相应的业务处理,这样业务流程系统对工作流引擎的调用和工作流引擎内部调用非常频繁,直接导致整个工作流引擎对业务流程系统支撑能力很有限;如果工作流引擎再处理一些实时监控和大数据量的统计分析,将更加影响工作流引擎对业务流程系统支撑能力。如果仍然仅徘徊在建立合适的数据库索引、升级硬件、优化逻辑和集群技术,必然会大大增加整个业务流程系统的资金投入。
发明内容
本发明的目的就是针对上述的不足,从工作流技术架构上,提升工作流引擎性能,提供了一种大幅度提高工作流引擎性能的方法。
本发明提供的大幅度提高工作流引擎性能的方法,:包括如下步骤:
第1步,服务器端缓存,即在完成同样的功能基础上减少对计算机硬件读和写的频率,将业务流程系统对工作引擎频繁的数据查询进行优化,在工作流引擎外围包装一层缓存层,每次访问直接从缓存中获取数据,减少对数据库I/O操作。
工作流引擎启动时,将需要缓存数据进行初始化;将实时产生的流程数据,缓存到内存对象中,避免查询数据库中新产生的流程数据,并对内存对象进行管理。
第2步,客户端缓存,即在完成同样的功能基础上减少对服务器的请求次数,从两个方向进行缓存:流程数据缓存和展现层页面缓存,减少对工作流引擎服务的调用次数,即减少网络层I/O。
数据缓存对象,重点在于那些经常操作和数据量大的数据,例如流程定义数据,即经常操作,数据量又大;服务器端和客户端工作流数据缓存对象同步,服务器端数据变更,通知所有客户端数据缓存对象更新;不同客户端工作流数据缓存对象同步,当前客户端缓存数据更新时,首先通知工作流引擎服务器,然后服务器端再通知其他所有客户端数据缓存对象更新;展现层构件,针对那些很少变化的页面进行缓存。
第3步,对象池,利用池化技术,避免对缓存对象频繁地创建、封装、销毁带来的系统开销。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东中创软件工程股份有限公司;山东中创软件商用中间件股份有限公司,未经山东中创软件工程股份有限公司;山东中创软件商用中间件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910015516.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于纺织的聚丙烯酸类双氧水稳定剂及其制备方法
- 下一篇:一种洗涤模块