CN112926206B - 一种基于工业流程背景的工作流引擎缓存淘汰方法 - Google Patents

一种基于工业流程背景的工作流引擎缓存淘汰方法 Download PDF

Info

Publication number
CN112926206B
CN112926206B CN202110210494.6A CN202110210494A CN112926206B CN 112926206 B CN112926206 B CN 112926206B CN 202110210494 A CN202110210494 A CN 202110210494A CN 112926206 B CN112926206 B CN 112926206B
Authority
CN
China
Prior art keywords
industrial process
cache
definition
industrial
final score
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.)
Active
Application number
CN202110210494.6A
Other languages
English (en)
Other versions
CN112926206A (zh
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.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
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 Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN202110210494.6A priority Critical patent/CN112926206B/zh
Publication of CN112926206A publication Critical patent/CN112926206A/zh
Application granted granted Critical
Publication of CN112926206B publication Critical patent/CN112926206B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Operations Research (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Manufacturing & Machinery (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于工业流程背景的工作流引擎缓存淘汰方法,根据工业流程定义重要性、响应速度要求与工业流程申请数据,基于真实数据计算的该工业流程被申请的概率确定最终分数中的工业流程申请概率p和工业流程大小规范化辅助参数Z,确定工业流程大小规范化算出每个工业流程的最终分数S,系统冷启动时便依据此数进行缓存装载。查找特定工业流程与快速最终分数排序,通过LinkedHashMap类型变量决定将哪些流程定义载入缓存与从缓存淘汰。重写Flowable工作流引擎缓存类中工业流程的缓存插入、更新、删除和查找。可以提高缓存流程定义的命中率,对工业流程中重要性高、时间敏感度高的流程在算法上有特殊处理,以做到这种流程能在缓存中,快速响应服务器调用。

Description

一种基于工业流程背景的工作流引擎缓存淘汰方法
技术领域
本发明属于工作流引擎和工业界工业流程领域。其中涉及的知识包括工作流规范、工作流引擎架构和缓存淘汰算法等。
背景技术
工作流引擎作为一个可以快速搭建工作流程,使原有流程更加规范,责任划分更明确,流程划分更加严谨。但是目前市场上的工作流引擎以服务互联网与金融领域为主,对于工业领域的应用无法满足以下要求——高响应速度,流程高复杂性,流程关系多样性,流程交互对象多样性。工作流引擎的默认解决方案是通过缓存流程定义,来解决响应速度、节约服务器资源和流程定义过于庞大和复杂的问题。
流程定义是工作流引擎特有的,依照BPMN2.0(Business Process Model andNotation)规则建造的工作流模型,BPMN(业务流程建模符号)是业务流程管理倡议组织(Business Process Management Initiative,BPMI)于2003年提出、被对象管理组织(Object Management Group,OMG)采纳的一种建模规范,它提供的图形建模符号易被业务分析员理解,是目前最流行的业务流程可视化描述语言。业务流程管理系统(BusinessProcess Management System,BPMS)通过现代化的工作流软件技术手段,整合人员、系统、信息和事物,为现代企业中业务过程的执行提供自动化支持。流程定义本身不仅包含依照BPMN2.0规则绘制的以bpmn20.xml格式存储的模型文件,还包括呈现流程流转情况的以png格式存储的可视化流程图,和与该流程相关的表单。在用户申请流程时,会按照调用流程定义,创建符合该用户申请需求的流程实例。
发明内容
工作流引擎的默认解决方案是通过缓存流程定义,来解决响应速度、节约服务器资源和流程定义过于庞大和复杂的问题。工作流引擎缓存淘汰算法默认为LRU(LeastRecently Used)淘汰算法。LRU这种淘汰算法忽视了诸如工业流程特有的排产流程和生产线环节检测,像这种响应速度敏感型的流程,因装载调用代价和访问频次过高,一旦被卸载出缓存,会增加服务器负荷,影响工厂运转,在工厂订单繁忙时容易出现挤兑服务器资源的情况。
流程定义包含的文件比较庞杂,流程定义的bpmn20.xml模型文件、相关数据、流程图和工业相关图纸(包括图纸范例)。流程定义本身会比较大,不装在缓存中的话,每次从数据库调用较从缓存调用花费更多的时间,对客户端的响应速度会更慢。
缓存淘汰算法PFP(Predicting Future Processes)是基于工业流程背景下,对工作流引擎的缓存的淘汰算法进行创新,可以提高缓存流程定义的命中率,对工业流程中重要性高、时间敏感度高的流程在算法上有特殊处理,以做到这种流程能在缓存中,快速响应服务器调用。
本发明具体的技术方案:一种基于工业流程背景的工作流引擎缓存淘汰方法,该方法包括如下步骤:
步骤1、根据工业流程定义重要性、响应速度要求与工业流程申请数据,基于真实数据计算的该工业流程被申请的概率确定最终分数中的工业流程申请概率p和工业流程大小规范化辅助参数Z。工业流程申请数据包括流程名称、流程上下文关系、流程申请时间和完成时间和流程定义大小。
步骤2、根据步骤1设定工业流程大小规范化辅助参数Z的上下限,确定工业流程大小规范化根据步骤1工业流程数据与流程关系,确定工业流程特征修正系数α和工业流程调用预测修正系数β。
步骤3、根据步骤1、2得到的系数和最终分数,算出每个工业流程的最终分数S,系统冷启动时便依据此数进行缓存装载。
步骤4、新建新的包装类,将工业流程定义类、工业流程信息类和BPMN模型类包装,包装类中有步骤1与步骤2计算出的工业流程系数和工业流程最终分数。
步骤5、利用Flowable工作流引擎缓存类中建立LinkedHashMap类型变量,用于存储所有步骤4中的工业流程的包装类,这样查找特定工业流程与快速最终分数排序,通过LinkedHashMap类型变量决定将哪些流程定义载入缓存与从缓存淘汰。
步骤6、重写Flowable工作流引擎缓存类中工业流程的缓存插入、更新、删除和查找。每次工业流程在缓存中的插入、更新与查找对步骤3中的工业流程最终分数进行更新,对缓存中的工业流程定义进行更新、插入与淘汰。
本方法基本思想就是流程本身,不管是驳回、继续还是停顿,都是有前后关系的。根据这种前后关系和工业流程特点,设计PFP缓存淘汰算法。
最终分数就是缓存淘汰相对于将来被调用工业流程定义的依据,每个工业流程定义都会有自己的最终分数,在缓存中最终分数最低的流程定义和被申请的流程定义进行比对,最终分数高的一方会留在缓存中或者装载入缓存。
最终分数的算式如公式1
公式1中S为工业流程定义的最终分数,是缓存是否淘汰工业流程定义的标尺。为规范化后的工业流程定义大小。α为工业流程特征修正系数,因为在工业流程背景下,不同的工业流程重要程度,对快速响应和处理速度的要求不同。比如工业排产模块就是对时间敏感型流程,如果有几秒的延迟,就可能对生产计划有不可逆的影响,所以通常排产流程定义的特征修正系数α较大,一般会在1.2~1之间,而其他工业流程定义的特征修正系数α在1~0.3之间。这样用让特征修正系数α将重要的、对时间敏感度高的流程在一般情况下不被淘汰出缓存。公式1中的β为工业流程调用预测修正系数,每一次逻辑上的前一个工业流程定义被申请,β都会进行增长修正,工业流程的最终分数增加,工业流程本身被申请,就会对β进行减少修正。在系统启动后,随着用户的申请,工业流程调用预测修正系数β会通过上述办法,修正工业流程定义在当下的优先级,会很好地处理业务量激增,如工业订单潮的情况。工业流程调用预测修正系数β作为在流程定义最终分数中唯一会变的系数,是缓存淘汰工业流程定义与装载流程定义的动力。
公式2中的p为基于真实数据计算的该工业流程被申请的概率。根据真实数据绘制与传统泊松对比的qq图,判断出工业流程定义被申请概率分布符合泊松分布。公式2中n为每小时内某工业流程最多被申请次数,m为最少申请次数。λ为每小时内工业流程平均发生次数。若是后续流程定义,则根据条件概率进行计算。
比如因为有的流程定义相较于其他流程很小,但是不常用,不会因为过小而长期留存在缓存中污染缓存。过大的流程相对而言在缓存中会挤占其他流程的空间,所以倾向于将其从缓存淘汰。
此处规范化用的是z-score算法,s为工业流程定义大小,avgs为所有流程定义大小的平均数,δ为标准差。当Z小于0时,意味着该工业流程定义大小小于平均数,当Z大于0时意味着该工业流程定义大小大于平均数。通过设Z的上下限,将超过上下限的值标记,在接下来的过程中设为代表上界与下界的固定数值,防止过大过小导致工业流程的最终分数失去衡量意义。
公式4中,S与Smin为工业流程定义大小与最小值,m为以MB为单位,使Smin大于1所需要的乘以的10的m次方。保证数值更方便统一管理,单位统一也方便用户调整α来确在工业背景下重要工业流程尽可能装载在缓存中。
与现有技术相比较,本发明所能达到的效果:
用主流重型工作流引擎的LRU缓存淘汰算法与PFP缓存淘汰算法,通过命中率,即流程申请时,检测此流程在缓存中是否存在对应的流程定义与申请流程总数的比,与服务器磁盘IO次数,进行比较。因为命中率是指从缓存中得到请求对象的百分比,它是考察缓存机制优劣的关键参数。以下实验数据皆为根据真实数据,通过泊松分布模拟仿真得到的实验结果,保证90分钟的仿真过程中,能保证每秒1次流程申请。仿真环境为本地2个三星(SAMAUNG)DDR421338G内存条。
表1命中率对比
由表1可知,PFP缓存淘汰算法在高负荷高并发量的仿真环境里,命中数比LRU算法提高一个数量级,超过流程申请总数的二分之一。可以明显发现,PFP算法在缓存命中上是要大大优于Flowable默认的LRU算法的。高命中率可以在客户端反映出的优点就是快速响应,减少服务器的磁盘IO。
表2磁盘IO对比
从表2与图2可知,PFP算法每分钟磁盘IO次数完全小于LRU算法,而且PFP算法的上限134也小于LRU的下限170,从总数来说PFP较LRU减少了2.4倍的磁盘IO。所以在减少服务器负荷方面,PFP算法是优于LRU算法的。
附图说明
图1:PFP工业流程缓存淘汰方法运行具体步骤。
图2:PFP与工作流引擎默认缓存淘汰方法LRU对比。
具体实施方式
以下结合附图和实施例对本方法进行详细说明。
步骤1、根据工业流程定义重要性、对响应速度要求与工业流程申请数据(包括流程名称,流程上下文关系,流程申请时间和完成时间,流程定义大小),通过公式2确定公式1中的工业流程申请概率p和公式3中的工业流程大小规范化辅助参数的Z,
步骤2、根据步骤1设定工业流程大小规范化辅助参数的Z的上下限,通过公式4,确定工业流程大小规范化根据步骤1工业流程数据与流程关系,确定公式1中的工业流程特征修正系数α和工业流程调用预测修正系数β。
步骤3、根据步骤1、2得到的系数和公式1,算出每个工业流程的最终分数S,系统冷启动时便依据此数进行缓存装载。
步骤4、新建新的包装类,将流程定义类、流程信息类和BPMN模型类包装,包装类中有步骤1与步骤2计算出的工业流程系数和工业流程最终分数。
步骤5、利用Flowable工作流引擎缓存类中建立LinkedHashMap类型变量,用于存储所有步骤3中的工业流程的包装类,这样可以快速查找特定工业流程与快速最终分数排序,通过该变量决定将哪些流程定义载入缓存与从缓存淘汰。
步骤6、重写Flowable工作流引擎缓存类中工业流程的缓存插入、更新、删除和查找。每次工业流程在缓存中的插入、更新与查找,均要通过图1的流程,对步骤3中的工业流程最终分数进行更新,对缓存中的工业流程定义进行更新、插入与淘汰。

Claims (1)

1.一种基于工业流程背景的工作流引擎缓存淘汰方法,其特征在于:该方法包括如下步骤:
步骤1、根据工业流程定义重要性、响应速度要求与工业流程申请数据,基于真实数据计算的该工业流程被申请的概率确定最终分数中的基于真实数据计算的工业流程被申请的概率p和工业流程大小规范化辅助参数Z;工业流程申请数据包括流程名称、流程上下文关系、流程申请时间和完成时间和流程定义大小;
步骤2、根据步骤1设定工业流程大小规范化辅助参数Z的上下限,确定规范化后的工业流程定义大小根据步骤1工业流程数据与流程关系,确定工业流程特征修正系数α和工业流程调用预测修正系数β;
步骤3、根据步骤1、2得到的系数和最终分数,算出每个工业流程的最终分数S,系统冷启动时便依据此数进行缓存装载;
步骤4、新建新的包装类,将工业流程定义类、工业流程信息类和BPMN模型类包装,包装类中有步骤1与步骤2计算出的工业流程系数和工业流程最终分数;
步骤5、利用Flowable工作流引擎缓存类建立LinkedHashMap类型变量,存储所有步骤4中的工业流程的包装类,查找特定工业流程与快速最终分数排序,通过LinkedHashMap类型变量决定将哪些流程定义载入缓存与从缓存淘汰;
步骤6、重写Flowable工作流引擎缓存类中工业流程的缓存插入、更新、删除和查找;每次工业流程在缓存中的插入、更新与查找对步骤3中的工业流程最终分数进行更新,对缓存中的工业流程定义进行更新、插入与淘汰;
各工业流程定义都会有自己的最终分数,在缓存中最终分数最低的流程定义和被申请的流程定义进行比对,最终分数高的一方会留在缓存中或者装载入缓存;
工业流程定义的最终分数S的算式如公式(1):
公式1中S为工业流程定义的最终分数,是缓存是否淘汰工业流程定义的标尺;为规范化后的工业流程定义大小;α为工业流程特征修正系数,β为工业流程调用预测修正系数;
工业流程调用预测修正系数β作为在流程定义最终分数中唯一会变的系数,是缓存淘汰工业流程定义与装载流程定义的动力;
p为基于真实数据计算的工业流程被申请的概率;根据真实数据绘制与传统泊松对比的qq图,判断出工业流程定义被申请概率分布符合泊松分布;n为每小时内某工业流程最多被申请次数,m为最少申请次数;λ为每小时内工业流程平均发生次数;若是后续流程定义,则根据条件概率进行计算;
工业流程大小规范化辅助参数Z的计算如下:
s为工业流程定义大小,avgs为所有流程定义大小的平均数,δ为标准差;当Z小于0时,意味着该工业流程定义大小小于平均数,当Z大于0时意味着该工业流程定义大小大于平均数;通过设Z的上下限,将超过上下限的值标记,在接下来的过程中设为代表上界与下界的固定数值,防止过大过小导致工业流程的最终分数失去衡量意义;
S与Smin为工业流程定义的最终分数与最小值,m为以MB为单位。
CN202110210494.6A 2021-02-25 2021-02-25 一种基于工业流程背景的工作流引擎缓存淘汰方法 Active CN112926206B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110210494.6A CN112926206B (zh) 2021-02-25 2021-02-25 一种基于工业流程背景的工作流引擎缓存淘汰方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110210494.6A CN112926206B (zh) 2021-02-25 2021-02-25 一种基于工业流程背景的工作流引擎缓存淘汰方法

Publications (2)

Publication Number Publication Date
CN112926206A CN112926206A (zh) 2021-06-08
CN112926206B true CN112926206B (zh) 2024-04-26

Family

ID=76171734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110210494.6A Active CN112926206B (zh) 2021-02-25 2021-02-25 一种基于工业流程背景的工作流引擎缓存淘汰方法

Country Status (1)

Country Link
CN (1) CN112926206B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115187223A (zh) * 2022-09-09 2022-10-14 浙江融象智慧科技有限公司 基于Flowable工作流引擎的集成方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060091501A (ko) * 2005-02-15 2006-08-21 부산대학교 산학협력단 워크플로우엔진을 이용한 업무처리방법 및 공급사슬관리방법
CN101551745A (zh) * 2009-05-13 2009-10-07 山东中创软件工程股份有限公司 大幅度提高工作流引擎性能的方法
CN105975402A (zh) * 2016-04-28 2016-09-28 华中科技大学 一种混合内存环境下淘汰数据感知的缓存方法与系统
CN109491618A (zh) * 2018-11-20 2019-03-19 上海科技大学 基于混合存储的数据管理系统、方法、终端及介质
CN110908612A (zh) * 2019-11-27 2020-03-24 腾讯科技(深圳)有限公司 缓存管理方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060091501A (ko) * 2005-02-15 2006-08-21 부산대학교 산학협력단 워크플로우엔진을 이용한 업무처리방법 및 공급사슬관리방법
CN101551745A (zh) * 2009-05-13 2009-10-07 山东中创软件工程股份有限公司 大幅度提高工作流引擎性能的方法
CN105975402A (zh) * 2016-04-28 2016-09-28 华中科技大学 一种混合内存环境下淘汰数据感知的缓存方法与系统
CN109491618A (zh) * 2018-11-20 2019-03-19 上海科技大学 基于混合存储的数据管理系统、方法、终端及介质
CN110908612A (zh) * 2019-11-27 2020-03-24 腾讯科技(深圳)有限公司 缓存管理方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Activiti引擎的无状态云工作流调度算法;林国丹;黄钦开;余阳;潘茂林;;计算机集成制造系统(06);全文 *
内容中心网络中基于差异化缓存通告的混合路由机制;葛国栋;郭云飞;刘彩霞;兰巨龙;;电子与信息学报(03);全文 *

Also Published As

Publication number Publication date
CN112926206A (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
US11995062B2 (en) System and method for improved data consistency in data systems including dependent algorithms
US8768953B2 (en) Method and system for determining node to be materialized
US9116879B2 (en) Dynamic rule reordering for message classification
WO2020197624A1 (en) Method for predicting the successfulness of the execution of a devops release pipeline
CN112926206B (zh) 一种基于工业流程背景的工作流引擎缓存淘汰方法
CN107451152B (zh) 计算设备、数据缓存和查找的方法及装置
US8510281B2 (en) Ultimate locking mechanism
CN112990583A (zh) 一种数据预测模型的入模特征确定方法及设备
CN112162762A (zh) 灰度发布方法、灰度发布装置和电子设备
CN111190800A (zh) 预测主机的批量运行时长的方法、系统、装置及存储介质
CN114037518A (zh) 风险预测模型的构建方法、装置、电子设备和存储介质
CN115550259B (zh) 基于白名单的流量分配方法及相关设备
CN111381974A (zh) 一种优化大规模高并发场景下Drools响应时间的方法
CN116828053B (zh) 一种数据缓存方法、装置、电子设备及存储介质
US20230133422A1 (en) Systems and methods for executing and hashing modeling flows
CN114781745A (zh) 用于对机构存款业务状况进行预测的方法、装置、设备
CN118114046A (zh) 货物质量预测模型的训练方法、装置、设备及介质
CN115908011A (zh) 财务数据自动化预算方法及其相关设备
CN115587285A (zh) 目标对象识别方法、装置、计算机设备和存储介质
CN116501466A (zh) 任务处理方法、装置、电子设备及存储介质
CN117828209A (zh) 交易系统中的数据预加载方法及电子设备
CN117455192A (zh) 一种司货匹配方法、装置、设备以及存储介质
CN115330536A (zh) 业务风险事件的识别方法、装置、计算机设备和存储介质
CN118096389A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN114119207A (zh) 特征筛选方法、预警方法、装置、电子设备、介质和程序

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant