CN101021916A - 业务流程分析方法 - Google Patents
业务流程分析方法 Download PDFInfo
- Publication number
- CN101021916A CN101021916A CNA2007100086746A CN200710008674A CN101021916A CN 101021916 A CN101021916 A CN 101021916A CN A2007100086746 A CNA2007100086746 A CN A2007100086746A CN 200710008674 A CN200710008674 A CN 200710008674A CN 101021916 A CN101021916 A CN 101021916A
- Authority
- CN
- China
- Prior art keywords
- request message
- analysis method
- service request
- business process
- data dictionary
- 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
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
本发明涉及一种业务流程分析方法,包括以下步骤:根据数据字典对符合预定的命中概率的流程模板进行预编译,生成抽象语法树并保存于内存缓存中;接收请求方发送的业务请求报文,根据所述业务请求报文获得语法抽象树,并且解析所述业务请求报文,生成初始上下文信息;遍历语法抽象树的语法,根据所述语法读取相应的服务配置参数以进行服务调用,并对上下文信息进行更新;从所述上下文信息中获取应答数据,并向请求方返回。本发明通过内存缓存中保存频繁程度和/或重要性高的业务,提高了调用时的处理效率,同时保证了良好的实时性。
Description
技术领域
本发明涉及一种业务流程分析方法,尤其是一种适用于数据规模较大、业务复杂的实时信息处理系统的业务流程分析方法。
背景技术
工作流的概念最初来自于生产组织和办公自动化领域,它主要关注的问题是过程自动化,即根据一系列定义的规则,把文档、信息或任务在参与者之间传递,从而实现某种过程。这种过程的自动化是通过计算机实现的,工作流管理系统则是对组成流程的各种活动,以及活动间的次序进行管理,并对与活动有关的资源进行调用,来提供业务流程程序化的管理的计算机软件系统。
工作流引擎是工作流管理系统中的重要组成部分,它实现了工作流的整个运行过程,包括人机以及各工作模块之间的交互操作。目前现有技术中已经出现了几种主要的工作流引擎,例如Shark,OSWorkflow等,这几种主要的工作流引擎是基于Web Services相关标准的基础上实现的,其实现机制和所采用的技术语言(例如JAVA),都只是针对于比较松散的业务处理过程,对于数据处理量非常大、实时性要求高的交易系统,这些工作流引擎不具有每天处理上万个,甚至每小时处理几千个业务的能力,而且在业务流程分析和处理方面效率也比较低下。
发明内容
本发明的目的是针对于现有技术中的工作流引擎在数据量非常大、实时性要求高的业务交易系统中难以有效、迅速进行业务流程分析的缺陷,提出一种业务流程分析方法,能够适用于业务数据规模巨大且复杂的实时交易系统的业务处理。
为了实现上述目的,本发明提供了一种业务流程分析方法,包括以下步骤:
根据数据字典对符合预定的命中概率的流程模板进行预编译,生成抽象语法树并保存于内存缓存中;
接收请求方发送的业务请求报文,根据所述业务请求报文获得语法抽象树,并且解析所述业务请求报文,生成初始上下文信息;
遍历语法抽象树的语法,根据所述语法读取相应的服务配置参数以进行服务调用,并对上下文信息进行更新;
从所述上下文信息中获取应答数据,并向请求方返回。
在上述技术方案中,还包括加载服务配置参数和/或数据字典的步骤:加载服务配置参数和/或数据字典到内存数据库。该步骤可以在程序启动时进行加载,也可以由后台程序定时加载。
进一步地,获得语法抽象树的操作可以具体为:提取所述业务请求报文中的键值,并判断该键值是否与内存中缓存的预编译后的语法抽象树匹配,是则直接获取与该键值匹配的语法抽象树,否则从所述业务请求报文中获得模板标识,并根据该模板标识获取对应的过程模板,然后解析该过程模板,并预编译生成语法抽象树。
进一步地,在接收请求方发送的业务请求报文后,将所述业务请求报文存入请求队列,当满足条件时,从队列中提取所述业务请求报文。
进一步地,在所述业务请求报文存入请求队列后,当系统处于空闲时,查找所述请求队列中优先级最高的业务请求报文,并进行提取。
进一步地,在所述业务请求报文存入请求队列后还包括计算所述命中概率的操作,具体为:根据命中算法和/或交叉算法计算所述过程模板的命中概率。
进一步地,在加载服务配置参数和/或数据字典时,在内存中保存两组服务配置参数和/或数据字典,并通过状态标志位来确定当前使用的服务配置参数和/或数据字典。
进一步地,当更新内存中的服务配置参数和/或数据字典时,对未使用的服务配置参数和/或数据字典进行更新,并修改与更新对应的状态标志位为当前使用,修改与未更新对应的状态标志位为未使用。
基于上述技术方案,本发明具有以下优点:本发明通过内存缓存中保存频繁程度和/或重要性高的业务,提高了调用时的处理效率,同时保证了良好的实时性。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明业务流程分析方法的一实施例的流程示意图。
图2为图1实施例中获取语法抽象树的具体步骤的流程示意图。
具体实施方式
本发明的构思是将使用频繁、重要的业务请求对应的流程模板预编译后,存入内存缓存中;并且在分析业务请求时,选择优先级高的业务请求优先处理;在更新系统参数时,通过在内存中保存两份参数实现平滑切换。
首先对后面涉及的一些概念进行解释,上下文信息(context)是指用来保存一次业务交易的共享信息,例如一些中间的计算结果。初始上下文信息是指一次业务交易开始时生成的上下文信息。结果上下文信息是指一次交易结束时的最终的上下文信息,其中包含着请求方所需的返回数据。抽象语法树(Abstract Syntax Tree)是一种编译技术用语,指的是编译器将源程序文本解析,并转换为方便计算机处理的数据结构,而这种数据结构通常为树状结构,因此称为抽象语法树。数据字典是指编译器在预编译时对源程序文本进行解析的参考。
如图1所述,为本发明业务流程分析方法的一实施例的流程示意图,包括以下步骤:
步骤101、根据数据字典对符合预定的命中概率的流程模板进行预编译,生成抽象语法树并保存于内存缓存中;
步骤102、接收请求方发送的业务请求报文,根据所述业务请求报文获得语法抽象树,并且解析所述业务请求报文,生成初始上下文信息;
步骤103、遍历语法抽象树的语法,根据所述语法读取相应的服务配置参数以进行服务调用,并对上下文信息进行更新;
步骤104、从所述上下文信息中获取应答数据,并向请求方返回。
对于一些频繁处理的业务,如果将与这些业务相关的流程模板保存在内存缓存中,则可以极大地提高处理这些业务的速度,也可以保证很好的实时性。
在业务流程分析过程中需要利用数据字典进行预解析,并根据服务配置参数进行服务调用,因此需要预先加载这些系统参数,可以在程序启动的时候加载数据字典和/或服务配置参数,这些系统参数可以同时加载,也可以根据情况分别加载。后台程序也可以定时对这些系统参数进行加载。加载时将这些系统参数存入内存数据库,这样当外部程序需要调用这些参数时,内存数据库相当于二级缓存,极大地提高了调用的速度。
在步骤102中获取语法抽象树是服务调用的基础,如图2所示,为图1实施例中获取语法抽象树的具体步骤的流程示意图,包括以下步骤:
步骤201、提取业务请求报文中的键值;
步骤202、判断该键值是否与内存中缓存的预编译后的语法抽象树匹配,是则执行步骤203,否则执行步骤204;
步骤203、直接获取与该键值匹配的语法抽象树,然后结束操作;
步骤204、从业务请求报文中获得模板标识,并根据该模板标识获取对应的过程模板;
步骤205、解析该过程模板,并预编译生成语法抽象树。
请求方发出的业务请求报文包含有多个信息,其中包括用于标识业务和处理过程的键值,每个模板标识对应于一个表示处理流程的过程模板。
对于业务繁忙实时性高的业务系统,业务报文不可能同时进行处理,一般在接收到请求方法送的业务请求报文后,先将业务请求报文存到请求队列中,当满足一定条件时,从队列中提取业务请求报文进行处理。
在请求队列中的各个业务请求报文具有不同的重要性等级和繁忙程度,对于那些很重要的业务请求报文或者繁忙程度很高的业务都会得到优先的处理。可以采用优先级的方式设定空闲时选择提取的报文,即对于重要的业务请求,例如VIP客户的业务请求,通常设定为较高的优先级等级,而普通的业务请求设定为较低的优先级等级。
对于客观上繁忙程度很高的业务请求,可以采用一定的算法为这些业务设定较高的处理权重,这里可以采用命中算法和/或交叉算法计算对应于这些业务的过程模板的命中概率。对于这些频繁程度高和/或重要的业务请求,系统会在内存缓存中设置对应的抽象语法树,因此在调用时不需要从硬盘数据库中调取,只需在内存数据库中调取,这样就可以极大地提高处理效率和保证实时性。
另外,系统可以在内存中加载两套相同的服务配置参数和/或数据字典,然后通过状态标志位来确定当前使用的服务配置参数和/或数据字典。当更新内存中的服务配置参数和/或数据字典时,对未使用的服务配置参数和/或数据字典进行更新,并修改与更新对应的状态标志位为当前使用,修改与未更新对应的状态标志位为未使用,这样可以实现系统参数的平滑切换。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
Claims (10)
1、一种业务流程分析方法,其特征在于,包括以下步骤:
根据数据字典对符合预定的命中概率的流程模板进行预编译,生成抽象语法树并保存于内存缓存中;
接收请求方发送的业务请求报文,根据所述业务请求报文获得语法抽象树,并且解析所述业务请求报文,生成初始上下文信息;
遍历语法抽象树的语法,根据所述语法读取相应的服务配置参数以进行服务调用,并对上下文信息进行更新;
从所述上下文信息中获取应答数据,并向请求方返回。
2、根据权利要求1所述的业务流程分析方法,其特征在于,还包括加载服务配置参数和/或数据字典的步骤:加载服务配置参数和/或数据字典到内存数据库。
3、根据权利要求2所述的业务流程分析方法,其特征在于,在程序启动时,加载服务配置参数和/或数据字典到内存数据库。
4、根据权利要求2所述的业务流程分析方法,其特征在于,后台程序定时加载服务配置参数和/或数据字典到内存数据库。
5、根据权利要求1所述的业务流程分析方法,其特征在于,所述获得语法抽象树的操作具体为:提取所述业务请求报文中的键值,并判断该键值是否与内存中缓存的预编译后的语法抽象树匹配,是则直接获取与该键值匹配的语法抽象树,否则从所述业务请求报文中获得模板标识,并根据该模板标识获取对应的过程模板,然后解析该过程模板,并预编译生成语法抽象树。
6、根据权利要求5所述的业务流程分析方法,其特征在于,在接收请求方发送的业务请求报文后,将所述业务请求报文存入请求队列,当满足条件时,从队列中提取所述业务请求报文。
7、根据权利要求6所述的业务流程分析方法,其特征在于,在所述业务请求报文存入请求队列后,当系统处于空闲时,查找所述请求队列中优先级最高的业务请求报文,并进行提取。
8、根据权利要求7所述的业务流程分析方法,其特征在于,还包括计算所述命中概率的操作,具体为:根据命中算法和/或交叉算法计算所述过程模板的命中概率。
9、根据权利要求2所述的业务流程分析方法,其特征在于,在加载服务配置参数和/或数据字典时,在内存中保存两组服务配置参数和/或数据字典,并通过状态标志位来确定当前使用的服务配置参数和/或数据字典。
10、根据权利要求9所述的业务流程分析方法,其特征在于,当更新内存中的服务配置参数和/或数据字典时,对未使用的服务配置参数和/或数据字典进行更新,并修改与更新对应的状态标志位为当前使用,修改与未更新对应的状态标志位为未使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100086746A CN101021916A (zh) | 2007-03-09 | 2007-03-09 | 业务流程分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100086746A CN101021916A (zh) | 2007-03-09 | 2007-03-09 | 业务流程分析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101021916A true CN101021916A (zh) | 2007-08-22 |
Family
ID=38709674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007100086746A Pending CN101021916A (zh) | 2007-03-09 | 2007-03-09 | 业务流程分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101021916A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101925045A (zh) * | 2009-06-17 | 2010-12-22 | 中兴通讯股份有限公司 | 一种提供用户业务数据的方法及系统 |
CN102455903A (zh) * | 2010-10-29 | 2012-05-16 | 卓望数码技术(深圳)有限公司 | 一种用户应用界面的生成方法 |
CN104919758A (zh) * | 2013-01-07 | 2015-09-16 | 华为技术有限公司 | 基于信息中心网络的业务中心网络 |
CN105550851A (zh) * | 2015-12-09 | 2016-05-04 | 中国建设银行股份有限公司 | 一种业务流程生成方法及系统 |
CN106910004A (zh) * | 2017-01-16 | 2017-06-30 | 华北电力大学 | 一种基于流程流转的全过程风机制造质量监控系统 |
CN108959583A (zh) * | 2018-07-09 | 2018-12-07 | 神州灵云(北京)科技有限公司 | 一种业务建模分析方法及系统 |
CN109857837A (zh) * | 2019-01-16 | 2019-06-07 | 苏宁易购集团股份有限公司 | 一种可自定义的词典加载方法及装置 |
-
2007
- 2007-03-09 CN CNA2007100086746A patent/CN101021916A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101925045A (zh) * | 2009-06-17 | 2010-12-22 | 中兴通讯股份有限公司 | 一种提供用户业务数据的方法及系统 |
US8825797B2 (en) | 2009-06-17 | 2014-09-02 | Zte Corporation | Method and system for providing user service data |
CN102455903A (zh) * | 2010-10-29 | 2012-05-16 | 卓望数码技术(深圳)有限公司 | 一种用户应用界面的生成方法 |
CN102455903B (zh) * | 2010-10-29 | 2014-12-10 | 卓望数码技术(深圳)有限公司 | 一种用户应用界面的生成方法 |
CN104919758A (zh) * | 2013-01-07 | 2015-09-16 | 华为技术有限公司 | 基于信息中心网络的业务中心网络 |
CN104919758B (zh) * | 2013-01-07 | 2018-05-04 | 华为技术有限公司 | 一种由驻留在业务域中的网络设备实施的方法和网络设备 |
US10194414B2 (en) | 2013-01-07 | 2019-01-29 | Futurewei Technologies, Inc. | Information centric networking based service centric networking |
CN105550851A (zh) * | 2015-12-09 | 2016-05-04 | 中国建设银行股份有限公司 | 一种业务流程生成方法及系统 |
CN106910004A (zh) * | 2017-01-16 | 2017-06-30 | 华北电力大学 | 一种基于流程流转的全过程风机制造质量监控系统 |
CN106910004B (zh) * | 2017-01-16 | 2020-07-31 | 华北电力大学 | 一种基于流程流转的全过程风机制造质量监控系统 |
CN108959583A (zh) * | 2018-07-09 | 2018-12-07 | 神州灵云(北京)科技有限公司 | 一种业务建模分析方法及系统 |
CN109857837A (zh) * | 2019-01-16 | 2019-06-07 | 苏宁易购集团股份有限公司 | 一种可自定义的词典加载方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101408899B (zh) | 一种网站多数据源切换方法和装置 | |
CN101021916A (zh) | 业务流程分析方法 | |
CN101770515B (zh) | 一种基于数据块比较的数据更新方法 | |
CN104969213B (zh) | 用于低延迟数据存取的数据流分割 | |
US9098565B1 (en) | In-house elegant JDBC connection pooling solution for message broker | |
CN110399373A (zh) | 一种区块链账本存储系统、存储查询方法及删除方法 | |
CN106021445A (zh) | 一种加载缓存数据的方法及装置 | |
CN108062368B (zh) | 全量数据翻译方法、装置、服务器及存储介质 | |
CN105426419B (zh) | 异构系统间数据升迁系统和方法 | |
CN108881485A (zh) | 保障大数据包下的高并发系统响应时间的方法 | |
CN101221530A (zh) | 一种测试用例自动导入方法 | |
CN105718307B (zh) | 进程管理方法及进程管理装置 | |
CN110147470B (zh) | 一种跨机房数据比对系统及方法 | |
CN113032379B (zh) | 面向配网运检多源数据采集的方法 | |
CN106649869A (zh) | 数据库大数据的统计方法及装置 | |
CN110096521A (zh) | 日志信息处理方法及装置 | |
CN102026228B (zh) | 通信网络性能数据的统计方法和设备 | |
CN109036431A (zh) | 一种语音识别系统和方法 | |
CN203456091U (zh) | 语音语料库的构建系统 | |
CN108255467A (zh) | 按照工作流顺序执行服务的方法、装置及系统 | |
CN103440302A (zh) | 实时数据交换的方法和系统 | |
CN112688802A (zh) | 一种基于api网关的高效能交换中间件 | |
CN108021607A (zh) | 一种基于大数据平台的无线城市审计数据离线分析方法 | |
US8595095B2 (en) | Framework for integrated storage of banking application data | |
CN107436920A (zh) | Node.js权限控制方法、存储介质、电子设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20070822 |