CN102281151A - 控制计费系统状态迁移的方法与装置 - Google Patents
控制计费系统状态迁移的方法与装置 Download PDFInfo
- Publication number
- CN102281151A CN102281151A CN2010102005393A CN201010200539A CN102281151A CN 102281151 A CN102281151 A CN 102281151A CN 2010102005393 A CN2010102005393 A CN 2010102005393A CN 201010200539 A CN201010200539 A CN 201010200539A CN 102281151 A CN102281151 A CN 102281151A
- Authority
- CN
- China
- Prior art keywords
- charge system
- accounts
- expenditure
- item
- flow process
- 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.)
- Granted
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种控制计费系统状态迁移的方法与装置。其中,该方法包括分析计费系统,利用Petri网对计费系统进行图形化建模;根据建立的图形化模型所描述的工作流对计费系统进行自动化控制。本发明提供的控制计费系统状态迁移的方法与装置,通过应用Petri网思想将不可预期的各种状态变迁置于预期的与可控的状态,以规避计费系统中出现不可预期的状态变迁,从而避免人工对未知状态进行干预,显著提高了计费系统运行的自动化程度。
Description
技术领域
本发明涉及电信领域的计费系统,更具体地,涉及一种控制计费系统状态迁移的方法与装置。
背景技术
目前电信计费系统普遍存在处理过程自动化程度低和系统容易进入不可预期状态的问题。特别是,在帐期处理过程中由于人工干预多以及资源并发冲突等情况而导致业务停顿和帐期处理周期长的问题。
例如,计费操作中涉及的各个环节(包括正常处理和异常处理)由数量众多的模块、脚本和小工具各自负责处理,从而导致正常处理流程中各环节之间不能自动衔接,需要人工检查(诸如需要分别检查各项帐前准备工作是否完成)和启动后续处理才能启动出帐。在异常处理流程中,什么时候应该执行何种处理依赖于出帐人员的个人判断和相互沟通,无法实现自动调用,导致异常处理效率偏低;在系统运行过程中,当前执行到了哪个环节没有一个清晰的展示,需要询问具体的执行人员。当前处理状态(例如多少账户已经完成出帐,多少账户出帐错误,多少账户尚未出帐;出帐错误的账户中,多少需要重算租费,多少需要重新优惠等)分散在各个模块的输出结果或者数据库中,整体状态无法掌握,细节信息难以获取。同时,还不能及时掌控计费系统的整体状态,并且在需要的时候不能对关键环节进行深入分析,使得计费系统整体的执行过程处于不受控的状态。
发明内容
本发明要解决的一个技术问题是提供一种控制计费系统状态迁移的方法,能够对电信计费系统实现自动化控制。
本发明提供了一种控制计费系统状态迁移的方法,包括分析计费系统,利用Petri网对计费系统进行图形化建模;根据建立的图形化模型所描述的工作流对计费系统进行自动化控制。
根据本发明方法的一个实施例,该方法还包括在自动化控制过程中,根据图形化模型所描述的工作流对计费系统进行并发与冲突控制。
根据本发明方法的另一实施例,对计费系统进行自动化控制的步骤包括根据令牌机制自动实现计费系统的静态参数更新流程;根据令牌机制自动实现计费系统的升级流程;根据令牌机制自动实现计费系统的出帐流程;根据令牌机制自动实现主计费系统和备计费系统的异步处理流程。
根据本发明方法的又一实施例,并发与冲突控制包括利用帐户锁定机制控制计费系统的出帐流程;利用出帐断点保护机制和出帐断点恢复机制控制档案资料全量加载流程和月结算数据备份流程。
根据本发明方法的再一实施例,帐户锁定机制为批量帐户锁定或单帐户锁定。
根据本发明方法的再一实施例,出帐断点保护机制包括记录日志文件、将内存信息落地以及对数据库记录进行标识。
本发明提供的控制计费系统状态迁移的方法,通过应用Petri网思想将不可预期的各种状态变迁置于可预期的与可控的状态,以规避计费系统中出现不可预期的状态变迁,从而避免人工对未知状态进行干预,显著提高了计费系统运行的自动化程度。
本发明要解决的另一技术问题是提供一种控制计费系统状态迁移的装置,能够对电信计费系统实现自动化控制。
本发明提供了一种控制计费系统状态迁移的装置,包括建模模块,用于分析计费系统,利用Petri网对计费系统进行图形化建模;自动控制模块,用于根据建模模块建立的图形化模型所描述的工作流对计费系统进行自动化控制。
根据本发明装置的一个实施例,该装置还包括并发与冲突控制模块,分别与自动控制模块和建模模块相连,用于根据图形化模型所描述的工作流对计费系统进行并发与冲突控制。
根据本发明装置的另一实施例,自动控制模块包括参数更新单元,用于根据令牌机制自动实现计费系统的静态参数更新流程;升级单元,用于根据令牌机制自动实现计费系统的升级流程;出帐单元,用于根据令牌机制自动实现计费系统的出帐流程;异步处理单元,用于根据令牌机制自动实现主计费系统和备计费系统的异步处理流程。
根据本发明装置的又一实施例,并发与冲突控制模块包括帐户锁定单元,用于利用帐户锁定机制控制计费系统的出帐流程;断点保护与恢复单元,用于利用出帐断点保护机制和出帐断点恢复机制控制档案资料全量加载流程和月结算数据备份流程。
根据本发明装置的再一实施例,帐户锁定机制为批量帐户锁定或单帐户锁定。
根据本发明装置的再一实施例,出怅断点保护机制包括记录日志文件、将内存信息落地以及对数据库记录进行标识。
本发明提供的控制计费系统状态迁移的装置,通过应用Petri网思想将不可预期的各种状态变迁置于可预期的与可控的状态,以规避计费系统出现不可预期的状态变迁,从而避免人工对未知状态进行干预,显著提高了计费系统运行的自动化程度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分。在附图中:
图1是本发明方法的一个实施例的流程示意图。
图2是本发明利用Petri网建模的一个具体实例的示意图。
图3是本发明方法的另一实施例的Petri网示意图。
图4是本发明静态参数更新流程的可达标识图。
图5是本发明动态参数更新流程的示意图。
图6是本发明动态参数更新流程的可达标识图。
图7是本发明模块升级流程的可达标识图。
图8是本发明出帐流程的示意图。
图9是本发明出帐流程的可达标识图。
图10是主备计费系统同步处理自动化流程示意图。
图11是主备计费系统同步处理的可达标识图。
图12是本发明主备计费系统异步处理自动化流程示意图。
图13是本发明主备计费系统异步处理的可达标识图。
图14是本发明方法的另一实施例的流程示意图。
图15是本发明采用的档案资料全量加载流程示意图。
图16是本发明采用的月结算数据备份流程示意图。
图17是本发明采用批量帐户锁定方法的流程示意图。
图18是本发明采用单帐户锁定方法的流程示意图。
图19是本发明采用的出帐断点保护机制示意图。
图20是本发明采用的出帐断点恢复机制示意图。
图21是本发明装置的一个实施例的结构示意图。
图22是本发明装置的另一实施例的结构示意图。
图23是本发明装置的又一实施例的结构示意图。
图24是本发明装置的再一实施例的结构示意图。
具体实施方式
下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。本发明的示例性实施例及其说明用于解释本发明,但并不构成对本发明的不当限定。
Petri网是对离散并行系统的数学表示。Petri网是1960年代由卡尔·A·佩特里发明的,适合于描述异步的与并发的计算机系统模型。Petri网既有严格的数学表述方式,又有直观的图形表达方式,既有丰富的系统描述手段,又有系统行为分析技术,为计算机科学提供了坚实的概念基础。
由于Petri网能够表达并发事件,故被认为是自动化理论的一种。研究领域趋向认为Petri网是所有流程定义语言之母。
经典的Petri网是简单的过程模型,Petri网的元素包括:用圆形节点表示的库所(Place)、用方形节点表示的变迁(Transition)、库所和变迁之间的有向弧(Connection)以及令牌(Token)。其中,令牌是库所中的动态对象,可以从一个库所移动到另一个库所。
Petri网的规则是:有向弧是有方向的、两个库所或变迁之间不允许有弧以及库所可以拥有任意数量的令牌。
如果一个变迁的每个输入库所(input place)都拥有令牌,则该变迁即为被允许(enable)。一个变迁被允许时,变迁将发生(fire),输入库所(input place)的令牌被消耗,同时为输出库所(output place)产生令牌。变迁的发生是原子的,当有两个变迁都被允许的可能,但是一次只能发生一个变迁,如果出现一个变迁,其输入库所的个数与输出库所的个数不相等,令牌的个数将发生变化。
Petri网是静态的,其状态由令牌在库所的分布决定。一个经典的Petri网由四元组(库所、变迁、输入函数及输出函数)组成。任何图都可以映射到这样一个四元组上,反之亦然。
一个流程的状态是由场所中的令牌建模的,状态的变迁是由变迁建模的。令牌表示事物(例如,人、货物或机器)、信息、条件或对象的状态;库所代表库所、通道或地理位置;变迁代表事件、转化或传输。一个流程有当前状态、可达状态及不可达状态。
由此可见,Petri网是一种既具有图形表达能力又具有严格数学定义的模拟工具,可以对具有并发性和分布式特点的电信计费系统进行图形化建模,并描述系统的动态特征。本发明将Petri网应用于电信计费系统的下述方面:
(1)通过应用Petri网思想,在设计上完善异步并发控制与冲突控制,避免在电信计费运营过程中、尤其是出帐过程中出现死锁状态,从而解决系统运营“信控、充值、缴费、查询、资料变更五不停”问题;
(2)通过应用Petri网思想,利用令牌机制,规避不可预期的状态变迁,将不可预期的各种状态变迁置于预期的与可控的状态下,从而避免人工对未知状态的的干预,提高了计费系统运行的自动化程度,最终解放生产力;
(3)通过应用Petri网思想进行流程调度,在资源允许的情况下,提高出帐流程中多流程和多进程的并行处理效率,缩短出帐的周期。
以PETRI网为理论基础的流程调度系统在系统处理流程中扮演着工作流管理系统的角色,若各子工作流的生产能力都可以满足生产任务的负荷,则从长期指标看,系统的输入速率等于输出速率,系统中的任务不会出现持久的排队现象;若出现无法满足生产负荷的情况,则系统输出速率等于或接近最大生产能力,而且会在系统内形成任务的排队和数据积压。
工作流专注于描述系统内的业务流程逻辑,工作流的基本要素有:资源、流程和任务。其中,任务是处理的对象,资源是处理活动的执行者,流程定义了处理的逻辑。任务经过流程内各步骤的执行而逐步转化为最终的状态。因此,工作流的最终目标是确保进入系统的任务在合适的时间、由合适的资源、经过合适的过程完成加工。工作流管理的可靠实现需要依靠建立有效的工作流管理系统来实现。工作流分析的目的是确认系统结构的合理性、行为的正确性和性能指标。
图1是本发明方法的一个实施例的流程示意图。
如图1所示,该实施例包括以下步骤:
S102,分析计费系统,利用Petri网对计费系统进行图形化建模,其中,Petri网作为图形工具,除了具有类似流程图、框图和网图的可视化描述功能之外,还可以通过令牌在库所中的流动来模拟系统的动态运行。Petri网作为数学工具,具有严格的形式化描述,可以利用关联矩阵、状态方程等多种数据方法对模型所代表的系统的特性进行分析,完成系统正确性验证、目标实现和测试与性能评价等任务,这是很多其他图形或数学工具所不能完成的。
如图2所示,是本发明利用Petri网建模的一个具体实例的示意图。Petri网建模的具体过程包括以下步骤:
步骤一,对现有计费系统或流程进行业务模型的分析与梳理;
(a)对现有计费系统和新建子系统进行Petri网建模,分析资源的冲突和使用情况,并模拟系统的状态变化(例如,共享内存资料更新、容灾恢复等);
(b)对业务处理流程进行Petri网建模,对现有流程进行优化,分析不同业务处理流程之间的依赖和冲突关系,并定位可能的自动化环节以提高业务处理流程(例如,批价、稽核、回收、回退和出帐等)的自动化程度;
步骤二,结合Petri网理论绘制Petri网模型;
步骤三,对建立的Petri网模型进行校验,其中,包括自动校验(例如,有界性、安全性、弱活性和可逆性等)和人工校验(根据状态图校验),若不符合要求则对Petri网模型进行调整,并重新校验,其中:
(a)有界性和安全性是指:如果一个Petri网中所有库所里令牌的数量都有上限,则称这个Petri网是有界的,特别地,如果这个上限值是1,则称这个Petri网是安全的;库所代表某种资源或者条件,因此一般说来Petri网模型应满足有界性要求,如果均为条件库所,则应满足安全性要求;
(b)弱活性是指:在任何可达标识下,都至少有一个具备变迁的条件;可达标识代表了系统的状态。在系统可能到达的任何状态,都应该可以执行某种操作(包括自动和人工),即不会发生死锁;
(c)可逆性是指:系统从初始状态开始运行,最终会回到初始状态,即令牌在库所中的分布回到最初的分布情况;很多情况下的模型需要具备可逆性,对应业务系统回到可以处理业务的状态,灾难发生后通过破坏性切换,最终恢复到主备同步状态;
步骤四,对建立的Petri网模型单步执行试运行,若不符合要求则转到步骤二再对模型进行调整、重新校验和试运行;
步骤五,将试运行后的模型保存为可被运行环境读取的通用格式,从而完成对计费系统的Petri网建模过程,系统或流程根据Petri网模型进行调整,实现操作过程可控及系统流程自动化。
S104,根据建立的图形化模型所描述的工作流对计费系统进行自动化控制。
具体地,对计费系统进行自动化控制的步骤可以包括:
(1)根据令牌机制自动实现计费系统的静态参数更新流程;(2)根据令牌机制自动实现计费系统的升级流程;(3)根据令牌机制自动实现计费系统的出帐流程;(4)根据令牌机制自动实现主计费系统和备计费系统的异步处理流程。
该实施例通过Petri网设计了科学的系统运营调度流程,建立了完善的自动化流程管理机制,使有限的资源能够产生最大的效用。通过自动化工作流程的设置,规避了不可预期状态的变迁,将各种状态的变迁置于可预期与可控的状态下,从而避免未知状态的人工干预,提高了计费系统运行的自动化程度。
图3是本发明方法的另一实施例的Petri网示意图。
如图3所示,该实施例的自动化控制流程包括静态参数更新流程、对某模块的升级流程、主计费系统流程以及出帐流程。其中,主计费系统流程中的业务处理1和业务处理2可以是预处理、排重和批价等业务入库前模块。
系统启动时,发出参数加载信号Sc、恢复处理失败文件令牌Sr,调度程序会给每个模块分配程序级进程令牌,即,模块正常工作信号Sm;系统停止时,如果系统“立即停止”,则立即收回所有令牌(模块处理令牌使用中被收回,将导致数据处理的失败,故需要启动时有恢复令牌),如果系统“等待事务处理完毕再停止”,将等待事务处理结束后收回所有令牌。
每个模块发生的条件是:模块处理令牌(即,模块正常工作信号)、参数可读态、上一模块处理提交态和主备仲裁通过信号。
下面通过图4~图13来具体描述该实施例中的自动化处理流程。
如图4所示,是本发明静态参数更新流程的可达标识图。
以下将结合图3中的静态参数更新流程和图4来描述静态参数更新流程的具体过程。其中,静态参数更新流程的库所变迁列表如下述表1所示:
库所编号 | 状态名 | 变迁编号 | 动作名 |
S1 | 参数文件态 | t1 | 更新参数 |
S2 | 参数内存态 | t2 | 加载参数 |
Sc | 加载参数信号 | t3 | 停程序 |
表1
在启动程序后,图3中加载参数信号库所t2中会有令牌,将文件态参数加载到内存中,表现为库所S2中有令牌。更新变迁发生后,如果不重启程序,图3的“业务处理1”读取的参数仍然为S2中的令牌,如果需要发生shutdow或startup变迁,则S2中的令牌才会更新,表示用更新后的参数。出账进行中信号P6(抑止弧)将抑制更新参数变迁的发生。如图4所示,根据图3中的静态参数更新流程可以得到将他参数更新流程的可达标识图,其中,M0代表初始状态。
日常处理时,如果发生静态参数更新,必须重启程序,才有参数加载信号通知系统重新加载到内存态。如果是在线生效参数,可以采用双内存切换以重读内存中更新后的参数。
参数自动更新可以由两块共享内存区(例如,共享内存a区和b区)和各自内存的使用标志组成。参数进程第一次启动后,将参数加载到共享内存a区,同时生成内存a区的使用标志令牌(此令牌存在就不会释放内存a区)。一旦触发动态更新参数的条件,就将新参数更新到共享内存b区,在参数更新到共享内存b区成功的同时,内存a区的使用标志令牌将被收回,生成共享内存b区的使用标志令牌,告诉等待处理的批次和新产生的批次数据使用新内存b区中的参数进行处理。等待接在共享内存a区的批次数据全部处理完后,再将老的共享内存a区释放(内存a区的使用标志将不在存在,不会对释放这个变迁起抑制作用)。同理,如果再次触发动态更新参数,将新参数切换到另外一块已经释放的共享内存区。
图5是本发明动态参数更新流程的示意图。
如图6所示,是本发明图5的动态参数更新流程的可达标识图。
以下结合图5和图6来描述动态参数更新的具体过程。其中,双内存切换库所变迁列表如下述表2所示:
库所编号 | 状态名 | 变迁编号 | 动作名 |
Sc | 程序启动时加载参数信号 | t0 | 加载参数至一内存中 |
S0 | 参数文件态/资料数据库态 | t1/t2 | 在线更新参数 |
S1 | a内存使用标志 | t3/t4 | 参数加载到另一内存中 |
S2 | 参数内存态(a区) | t5/t6 | 释放旧内存参数 |
S3 | b内存使用标志 | ||
S4 | 参数内存态(b区) | ||
S5/S6 | 更新完成态 |
表2
其中,库所S1/S3相当于2个内存的开关标识(即,内存使用标志),S1中令牌表示a内存在使用,也即S2中有令牌;S3中令牌表示b内存在使用,也即S4中有令牌。等挂接在共享内存a区的批次数据全部处理完后,再将老的共享内存a区释放,开始使用共享内存b区内的参数。更新在线生效,不需要人工重启程序。同理,出账进行中信号P6抑制更新参数变迁发生。
图7是本发明模块升级流程的可达标识图。
以下结合图7和图3中某模块的升级流程来描述动态参数更新的具体过程。其中,对模块进行升级的流程的库所变迁列表如下述表3所示:
库所编号 | 状态名 | 变迁编号 | 动作名 |
S1 | 升级准备态 | t1 | 升级命令 |
S2 | 通知升级信号 | t2 | 备份程序 |
S3 | 备份完成态 | t3 | 停模块j程序 |
S4 | 可升级信号 | t4 | 升级动作 |
S5 | 升级结果态 | t5 | 人工检查升级过程完整成功 |
S6 | 升级完整态 | t6 | 人工检查升级过程完整失败 |
S7 | 升级不完整态 | t7 | 回退至升级前 |
S8 | 监控态 | t8 | 重启模块 |
S9 | 失败信号 | t9 | 人工检查升级成功 |
S10 | 告警信号 | t10 | 人工检查升级失败 |
Smj | 模块j处理令牌(正常工作信号) | t11 | 处理告警 |
t12 | 停模块j程序 |
表3
如果对某模块进行升级,会将此模块的处理令牌(即,正常处理信号Smj)提起,等升级成功后再将令牌返回,让升级后的模块可以再次处理。如果升级失败还是收起令牌,得到空标志,等待人工检查失败原因。在升级过程中,会将此令牌提起,使要升级的模块停止工作。出账进行中信号P6抑制升级变迁发生。
图8是本发明出帐流程的示意图。
图9是本发明出帐流程的可达标识图。
其中,图8与图3中的出帐流程一致。图8和图9中所示的库所变迁列表如下述表4所示:
库所编号 | 状态名 | 变迁编号 | 动作名 |
S1 | 主中心相关数据 | t0 | 生成本帐期回收结束标志 |
S2 | 备中心相关数据 | t1 | 建表空间,月表 |
S3 | 稽核准备态 | t2 | 主备相关数据日志准备稽核 |
S4 | 主备集合失败告警信号 | t3 | 主备稽核成功 |
P1 | 本帐期错单回收结束标志 | t4 | 主备稽核失败 |
P2 | 封帐出帐工单 | t5 | 人工检查告警 |
P3 | 表空间 | t6 | 准备封帐 |
P4 | 主备数据稽核成功标志 | t7 | 封帐 |
P5 | 封帐准备态 | t8 | 与帐务稽核成功 |
P6 | 出帐进行中信号 | t9 | 与帐务稽核失败 |
P7 | 封帐态 | t10 | 帐务封帐出帐 |
P8 | 给帐务送的封帐信号 | t11 | 解除封帐 |
P9 | 帐务数据 | t12 | 人工检查告警 |
P10 | 成功信号 | ||
P11 | 失败解封信号 | ||
P12 | 失败告警信号 |
表4
如图8所示,系统封账需要4个令牌(P1、P2、P3和P4)全部到位:
①本帐期错单回收结束标志P1:错单出库回收可以每月定时设置,也可以人工执行回收。当每月完成最后一次回收之后确认回收完成,将生成本帐期错单回收结束标志P1;
②封帐出账工单P2:是个出账指示信号,类似人工按键提示可以出账了;
③表空间P3:封帐将当月表空间封起,表现在对表空间的“消耗”,故要使下帐期数据顺利处理,必须建下月表空间和月表,此操作可先做,与其他无依赖关系;
④主备结算系统最后一批数据出库稽核成功标志P4:这是主备结算系统在给账务系统送封帐信号前,对将要出库送至账务的最后一批数据的稽核。
上述四个令牌不是共同到达的,某些令牌之间可能会有触发作用,例如,令牌①、②具备后,经过一些变迁才会生成令牌④。
图10是主备计费系统同步处理自动化流程示意图。
图11是主备计费系统同步处理的可达标识图。
图10和图11中库所的变迁列表如下述表5所示:
库所编号 | 状态名 | 变迁编号 | 动作名 |
S1 | 文件准备态(主) | t1 | 模块开始处理(主)-瞬间变迁 |
S2 | 文件准备态(备)(与主 | t2 | 仲裁备系统满足同步条件 |
文件一致) | |||
S3 | 同步信息,包括输入、环境等 | t3 | 模块开始处理(备) |
S4 | 同步条件满足信号 | t4 | 人工重启进程(主) |
S5 | 处理中间态(主) | t5 | 消耗 |
S6 | 处理中间态(备) | t6 | 人工重启进程(备) |
S7 | 稽核信息(主) | t7 | 模块处理结束(主) |
S8 | 稽核信息(备) | t8 | 模块处理结束(备) |
S9 | 文件回滚态(主) | t9 | 业务回滚(主) |
S10 | 文件回滚态(备) | t10 | 超时回退(主) |
S11 | 文件处理结束态(主) | t11 | 仲裁主备稽核信息成功 |
S12 | 文件处理结束态(备) | t12 | 仲裁主备稽核信息失败 |
S13 | 仲裁成功通知信号(主) | t13 | 超时回退(备) |
S14 | 仲裁成功通知信号(备) | t14 | 业务回滚(备) |
S15 | 仲裁失败通知信号(主) | t15 | 处理告警(主) |
S16 | 仲裁失败通知信号(备) | t16 | 处理提交(主) |
S17 | 告警信号(主) | t17 | 处理提交(备) |
S18 | 告警信号(备) | t18 | 处理告警(备) |
S19 | 文件提交态(主) | ||
S20 | 文件提交态(备) |
表5
图10所示的同步模式是主计费系统和备计费系统都正常工作情况下采用的容灾模式,是严格同步、步步跟随的。初态为主备系统中有待处理的文件,S1,S7中令牌。终态是文件同步处理完成,S13,S14中有令牌。
在以下情况下可能出现异常情况:
(1)主/备系统等不到仲裁信号,超过指定时间,将导致超时告警,发生变迁t10/t13,回退并生成告警。这时同步信息将作废,需要人工检查输入条件不一致的原因;
(2)仲裁处理结果不成功,分别发生变迁t9/t14,生成告警,需要人工检查是否为参数、程序等不一致导致仲裁失败,而造成异常。
处理完异常,还是会回到初态,直至顺利处理到终态。某批次异常阻塞不影响其他业务数据源的同步处理。
主系统顺利处理提交的条件为:指定时间内仲裁返回成功通知信号。备系统顺利处理提交的条件为:同步条件判断满足且指定时间内仲裁返回成功通知信号。主备系统模块是严格的同步模式。
从图11的状态可达图可得:主备系统边界清晰、系统处理流程无死锁等问题。上述是以系统中一个模块为例,其他模块也类似,每个模块都将正常状态功能封装起来,从而系统就能够自动执行控制。
图12是本发明主备计费系统异步处理自动化流程示意图。
图13是本发明主备计费系统异步处理的可达标识图。
图12和图13中库所的变迁列表如下述表6所示:
库所编号 | 状态名 | 变迁编号 | 动作名 |
S1 | 文件主备态(主) | t1 | 模块开始处理(主)-瞬间变迁 |
S2 | 处理中间态(主) | t2 | 仲裁备系统满足同步条件 |
S3 | 同步信息,包括输入、环境等 | t3 | 模块处理结束(主) |
S4 | 同步条件满足信号 | t4 | 模块开始处理(备) |
S5 | 文件处理结束态(主) | t5 | 模块处理结束(备) |
S6 | 稽核信息(主) | t6 | 仲裁主备稽核信息成功 |
S7 | 文件准备态(备)(与主文件一致) | t7 | 仲裁主备稽核信息失败 |
S8 | 处理中间态(备) | t8 | 处理提交(主) |
S9 | 稽核信息(备) | t9 | 处理提交(备) |
S10 | 文件处理结束态(备) | t10 | 业务回滚(备) |
S11 | 仲裁成功通知信号(主) | t11 | 处理告警(备) |
S12 | 仲裁成功通知信号(备) | t12 | 准备(备) |
S13 | 文件提交态(主) | ||
S14 | 文件提交态(备) | ||
S15 | 仲裁失败通知信号(主) | ||
S16 | 仲裁失败通知信号(备) | ||
S17 | 告警信号(备) | ||
S18 | 文件回滚态(备) |
表6
当系统中某一模块或子系统出现故障时,可以采用图12中示出的主备容灾模式,这时,主系统不等待备系统。
容灾异步模式的原则是:无论备系统是否出现异常,仲裁成功还是失败,主系统都默认是处理正确的,处理完成后就提交,不等待稽核信号,如图12所示,S13为主系统文件的提交态。
在实际使用中,当主系统故障时,将切换主备系统,由严格同步模式切换成异步模式,此时默认切换后的主系统是处理正确的,必须继续往下处理,不能影响整个业务处理的运行。备系统故障,将严格同步模式切换成异步模式,主系统一直往下处理,即,这种模式是当主系统或者备系统中一方出现故障/崩溃时,一时间难以修复,为了不影响业务的处理,而选择的正常的另一方系统作为主系统,采用容灾异步模式——主不等备。
部分省分公司在进行帐单加载、余额冲减和批量销帐的整个过程中需要独占帐目表等相关冲突资源,从而导致中断部分关键业务的运行。为了解决这个问题,需要在帐单加载、余额冲减和批量销帐中引入“帐户”令牌,分批进行相应处理。只有获取到相应令牌才可以进行相应的操作,这批帐户锁定成功的可以进行相应的操作,锁定失败的本次操作不执行,等待下一个批次执行。
图14是本发明方法的另一实施例的流程示意图。
如图14所示,该实施例包括以下步骤:
S202,分析计费系统,利用Petri网对计费系统进行图形化建模,其建模过程与图2中的过程类似;
S204,根据建立的图形化模型所描述的工作流对计费系统进行自动化控制;
S206,在自动化控制过程中,根据图形化模型所描述的工作流对计费系统进行并发与冲突控制。
具体地,并发与冲突控制的步骤包括:
利用帐户锁定机制控制计费系统的出怅流程;利用出帐断点保护机制和出帐断点恢复机制控制档案资料全量加载流程和月结算数据备份流程。
其中,帐户锁定机制为批量帐户锁定或单帐户锁定。出帐断点保护机制包括记录日志文件、将内存信息落地以及对数据库记录进行标识。
该实施例解决了帐单加载、余额冲减和批量销帐的整个过程中需要独占帐目表等相关冲突资源,从而导致中断部分关键业务运行的问题。
部分省分公司在帐期期间或日常维护过程中采用静态加载策略进行全量档案的加载,导致在档案全量加载成功之前,部分关键业务被停止。
图15是本发明采用的档案资料全量加载流程示意图。
如图15所示,采用“动态加载+双内存切换”策略确保了关键业务的不间断。在档案资料全量加载之前,新开辟一个“足够大”的内存,然后从数据库中将档案资料加载到共享内存,把数据加载成功后,需要根据“增量档案日志”对新增共享内存进行修正,修正成功后,把当前所有连接以及新接入的连接切换到新增的共享内存,同时释放原有的共享内存。
部分省分公司由于统计报表和数据平衡校验的需要,采用静态备份的方式备份余额数据和帐目数据,导致关键业务被停止。
图16是本发明采用的月结算数据备份流程示意图。
如图16所示,本发明使用“余额动态备份+日志修正”的策略解决了余额备份问题,使用“动态备份+根据状态和状态时间进行回溯”的策略解决了帐目备份问题,确保了关键业务的不间断。
部分省分公司在运营过程中由于“出帐”、“资料全量加载”以及“月结数据备份”等而引起用户“冲值”、“缴费”、“费用查询”、“信控”以及“资料变更”等关键应用间断的主要原因是上述应用长时间独占共享资源,本发明通过采用PETRI网的并发与冲突检测机制从根本上解决了上述问题。
图17是本发明采用批量帐户锁定方法的流程示意图。
如图17所示,针对帐单加载、余额充减和批量信控等操作,可以在任务开始时依次对帐户进行锁定,如果锁定成功,则帐户计数器加1,然后再进行相应的操作(例如,帐单加载、余额充减和/或批量信控),如果锁定失败,则当前帐户不做操作,等下个批次再操作;如果帐户计数器>=N,则把数据提交到数据库,并批量释放当前锁定的帐户,如此循环往复,直到全部帐户操作成功,其具体步骤如下所示:
S302,在帐单加载准备、余额冲减准备及批量信控准备就绪后,判断全部帐户是否处理结束;
S304,如果未全部处理结束,则可以在内存中对未处理的帐户做个标记,或在数据库中做个标记(如果对性能有较高的要求,则建议在内存中打标记)以实现对该帐户的锁定,否则,批量帐户锁定结束;
S306,判断当前帐户锁定是否成功;
S308,如果当前帐户锁定成功,则对该帐户进行帐单加载、余额冲减及批量信控操作,否则,返回到S302;
S310,在内存或数据库中对S308处理后的帐户作标记以指示该帐户已处理完毕;
S312,判断该批次处理的帐户数是否大于等于N(可以根据系统性能测试的实际情况设定一次可以锁定的帐户数N),如果是,则转S314,否则,返回S302;
S314,提交数据,释放帐户锁,并返回S302。
图18是本发明采用单帐户锁定方法的流程示意图。
如图18所示,针对单个帐户的充值(例如,VC充值、营业前台充值等)、缴费(例如,营业前台缴费、银行缴费等)、销帐(例如,营业前台销帐)、信控等操作,可以在任务开始时,对当前帐户进行锁定,如果锁定成功,则进行相应的操作(例如,充值、缴费、销帐、信控等),操作完成后,释放帐户锁定。由于当前帐户可能在执行其他的操作(例如,帐单加载、充值、缴费等),已经被锁定,所以当前锁定可能会失败。针对锁定失败的帐户,如果失败次数>N,则提示异常,并退出,否则累计锁定失败次数,然后随机sleep后再继续尝试锁定该帐户,直到该帐户锁定成功或者累计失败次数>N,具体包括以下步骤:
S402,对冲值、缴费、销帐、信控等已经准备就绪的帐户进行锁定;
S404,判断该帐户是否锁定成功,如果成功则转向S406,否则,转向S410;
S406,对该帐户进行冲值处理、缴费处理、销帐处理和/或信控处理;
S408,在S406的处理结束后,对该帐户的锁定进行释放;
S410,判断针对该帐户尝试锁定的次数是否大于N,如果大于,则转向S412,否则,转向S402;
S412,进行处理异常提示。
图19是本发明采用的出帐断点保护机制示意图。
如图19所示,帐期期间对出账状态和数据进行记录,通过日志文件记录运行状态和文件处理信息;通过将内存信息落地记录累计量和赠送等中间结果信息;通过对数据库记录进行标识以记录已处理账单等信息。如果在出帐过程中发生异常中断,则断点数据记录可以作为出账恢复的依据。
图20是本发明采用的出帐断点恢复机制示意图。
如图20所示,如果帐期期间发生系统异常中断,则当异常中断被解决、系统恢复正常工作之后,需要获取断点时的日志信息、数据库标识信息以及内存数据信息以作为恢复的起始点,继续进行出账处理。
图21是本发明装置的一个实施例的结构示意图。
如图21所示,该实施例的控制计费系统状态迁移的装置10包括建模模块11,用于分析计费系统,利用Petri网对计费系统进行图形化建模;自动控制模块12,用于根据建模模块11建立的图形化模型所描述的工作流对计费系统进行自动化控制。
该实施例通过应用Petri网思想将不可预期的各种状态变迁置于可预期的与可控的状态,以规避计费系统出现不可预期的状态变迁,从而避免人工对未知状态进行干预,显著提高了计费系统运行的自动化程度。
图22是本发明装置的另一实施例的结构示意图。
如图22所示,与图21中的实施例相比,该实施例的控制计费系统状态迁移的装置20还包括并发与冲突控制模块21,分别与自动控制模块12和建模模块11相连,用于根据图形化模型所描述的工作流对计费系统进行并发与冲突控制。
该实施例能够有效避免在电信计费运营过程中、尤其是出帐过程中出现死锁状态,从而解决系统运营“信控、冲值、缴费、查询、资料变更五不停”问题。
图23是本发明装置的又一实施例的结构示意图。
如图23所示,与图21中的实施例相比,该实施例的控制计费系统状态迁移的装置30中的自动控制模块31包括参数更新单元311,用于根据令牌机制自动实现计费系统的静态参数更新流程;升级单元312,用于根据令牌机制自动实现计费系统的升级流程;出帐单元313,用于根据令牌机制自动实现计费系统的出帐流程;异步处理单元314,用于根据令牌机制自动实现主计费系统和备计费系统的异步处理流程。
该实施例应用Petri网思想来规避不可预期的状态变迁,将各种变迁的状态置于可预期的与可控的状态下,避免未知状态的人工干预,提高了自动化程度。
图24是本发明装置的再一实施例的结构示意图。
如图24所示,与图22中的实施例相比,该实施例的控制计费系统状态迁移的装置40中的并发与冲突控制模块41包括帐户锁定单元411,用于利用帐户锁定机制控制计费系统的出帐流程;断点保护与恢复单元412,用于利用出帐断点保护机制和出帐断点恢复机制控制档案资料全量加载流程和月结算数据备份流程。
其中,帐户锁定机制为批量帐户锁定或单帐户锁定。出帐断点保护机制包括记录日志文件、将内存信息落地以及对数据库记录进行标识。
该实施例应用Petri网思想在资源允许的情况下提高了出帐流程中的多流程和多进程的并行处理效率,缩短了出帐周期。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
Claims (12)
1.一种控制计费系统状态迁移的方法,其特征在于,所述方法包括:
分析计费系统,利用Petri网对所述计费系统进行图形化建模;
根据建立的图形化模型所描述的工作流对所述计费系统进行自动化控制。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述自动化控制过程中,根据所述图形化模型所描述的工作流对所述计费系统进行并发与冲突控制。
3.根据权利要求1所述的方法,其特征在于,对所述计费系统进行自动化控制的步骤包括:
根据令牌机制自动实现所述计费系统的静态参数更新流程;
根据所述令牌机制自动实现所述计费系统的升级流程;
根据所述令牌机制自动实现所述计费系统的出帐流程;
根据所述令牌机制自动实现主计费系统和备计费系统的异步处理流程。
4.根据权利要求2所述的方法,其特征在于,所述并发与冲突控制包括:
利用帐户锁定机制控制所述计费系统的出帐流程;
利用出帐断点保护机制和出帐断点恢复机制控制档案资料全量加载流程和月结算数据备份流程。
5.根据权利要求4所述的方法,其特征在于,所述帐户锁定机制为批量帐户锁定或单帐户锁定。
6.根据权利要求4所述的方法,其特征在于,所述出帐断点保护机制包括记录日志文件、将内存信息落地以及对数据库记录进行标识。
7.一种控制计费系统状态迁移的装置,其特征在于,所述装置包括:
建模模块,用于分析计费系统,利用Petri网对所述计费系统进行图形化建模;
自动控制模块,用于根据所述建模模块建立的图形化模型所描述的工作流对所述计费系统进行自动化控制。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
并发与冲突控制模块,分别与所述自动控制模块和所述建模模块相连,用于根据所述图形化模型所描述的工作流对所述计费系统进行并发与冲突控制。
9.根据权利要求7所述的装置,其特征在于,所述自动控制模块包括:
参数更新单元,用于根据令牌机制自动实现所述计费系统的静态参数更新流程;
升级单元,用于根据所述令牌机制自动实现所述计费系统的升级流程;
出帐单元,用于根据所述令牌机制自动实现所述计费系统的出帐流程;
异步处理单元,用于根据所述令牌机制自动实现主计费系统和备计费系统的异步处理流程。
10.根据权利要求8所述的装置,其特征在于,所述并发与冲突控制模块包括:
帐户锁定单元,用于利用帐户锁定机制控制所述计费系统的出帐流程;
断点保护与恢复单元,用于利用出帐断点保护机制和出帐断点恢复机制控制档案资料全量加载流程和月结算数据备份流程。
11.根据权利要求10所述的装置,其特征在于,所述帐户锁定机制为批量帐户锁定或单帐户锁定。
12.根据权利要求10所述的装置,其特征在于,所述出帐断点保护机制包括记录日志文件、将内存信息落地以及对数据库记录进行标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010200539.3A CN102281151B (zh) | 2010-06-08 | 2010-06-08 | 控制计费系统状态迁移的方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010200539.3A CN102281151B (zh) | 2010-06-08 | 2010-06-08 | 控制计费系统状态迁移的方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102281151A true CN102281151A (zh) | 2011-12-14 |
CN102281151B CN102281151B (zh) | 2015-08-26 |
Family
ID=45106349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010200539.3A Active CN102281151B (zh) | 2010-06-08 | 2010-06-08 | 控制计费系统状态迁移的方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102281151B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571423A (zh) * | 2011-12-29 | 2012-07-11 | 清华大学 | 基于gshlpn的网络数据传输建模及性能分析方法 |
CN102880684A (zh) * | 2012-09-13 | 2013-01-16 | 杭州电子科技大学 | 基于日志记录挖掘与组合验证的工作流建模方法 |
CN104065510A (zh) * | 2014-06-27 | 2014-09-24 | 北京思特奇信息技术股份有限公司 | 一种基于PetriNet的系统运维监控方法及系统 |
CN107273449A (zh) * | 2017-05-27 | 2017-10-20 | 北京思特奇信息技术股份有限公司 | 一种基于内存数据库的断点处理方法及系统 |
CN111858166A (zh) * | 2020-07-06 | 2020-10-30 | 河南信大网御科技有限公司 | 可纠错快速拟态裁决方法、裁决器、架构及介质 |
CN114186848A (zh) * | 2021-12-10 | 2022-03-15 | 上海哔哩哔哩科技有限公司 | 基于离散并行模型的流程网络编排方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588411A (zh) * | 2004-10-12 | 2005-03-02 | 北京北大方正电子有限公司 | 一种流程定制管理平台 |
CN101174206A (zh) * | 2007-11-27 | 2008-05-07 | 深圳国人通信有限公司 | 基于有限状态机的流程引擎调度方法 |
US20090235226A1 (en) * | 2008-03-14 | 2009-09-17 | Fujitsu Limited | Synthesis of Message Sequence Charts from Communicating Finite-State Machines |
-
2010
- 2010-06-08 CN CN201010200539.3A patent/CN102281151B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588411A (zh) * | 2004-10-12 | 2005-03-02 | 北京北大方正电子有限公司 | 一种流程定制管理平台 |
CN101174206A (zh) * | 2007-11-27 | 2008-05-07 | 深圳国人通信有限公司 | 基于有限状态机的流程引擎调度方法 |
US20090235226A1 (en) * | 2008-03-14 | 2009-09-17 | Fujitsu Limited | Synthesis of Message Sequence Charts from Communicating Finite-State Machines |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571423A (zh) * | 2011-12-29 | 2012-07-11 | 清华大学 | 基于gshlpn的网络数据传输建模及性能分析方法 |
CN102571423B (zh) * | 2011-12-29 | 2014-05-14 | 清华大学 | 基于gshlpn的网络数据传输建模及性能分析方法 |
CN102880684A (zh) * | 2012-09-13 | 2013-01-16 | 杭州电子科技大学 | 基于日志记录挖掘与组合验证的工作流建模方法 |
CN102880684B (zh) * | 2012-09-13 | 2015-08-12 | 杭州电子科技大学 | 基于日志记录挖掘与组合验证的工作流建模方法 |
CN104065510A (zh) * | 2014-06-27 | 2014-09-24 | 北京思特奇信息技术股份有限公司 | 一种基于PetriNet的系统运维监控方法及系统 |
CN107273449A (zh) * | 2017-05-27 | 2017-10-20 | 北京思特奇信息技术股份有限公司 | 一种基于内存数据库的断点处理方法及系统 |
CN111858166A (zh) * | 2020-07-06 | 2020-10-30 | 河南信大网御科技有限公司 | 可纠错快速拟态裁决方法、裁决器、架构及介质 |
CN111858166B (zh) * | 2020-07-06 | 2023-07-07 | 河南信大网御科技有限公司 | 可纠错快速拟态裁决方法、裁决器、系统及介质 |
CN114186848A (zh) * | 2021-12-10 | 2022-03-15 | 上海哔哩哔哩科技有限公司 | 基于离散并行模型的流程网络编排方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102281151B (zh) | 2015-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102281151A (zh) | 控制计费系统状态迁移的方法与装置 | |
EP2550632B1 (en) | System with multiple conditional commit databases | |
Watahiki et al. | Formal verification of business processes with temporal and resource constraints | |
CN109582433A (zh) | 一种资源调度方法、装置、云计算系统及存储介质 | |
CN101206687B (zh) | 一种提高分布式机电装备的动态安全性的方法 | |
US7599968B2 (en) | Technique for supplying a data warehouse whilst ensuring a consistent data view | |
CN101373474A (zh) | 海量数据实时处理架构及用于该架构的实时随需处理平台 | |
CN101685452B (zh) | 数据仓库调度方法及调度系统 | |
CN105528264B (zh) | 防误操作的数据恢复方法及其系统 | |
CN106126403A (zh) | Oracle数据库故障分析方法和装置 | |
CN101788908A (zh) | 一种支持断点续航的批量数据处理方法 | |
CN109255701A (zh) | 一种网贷业务数据处理方法 | |
CN110689417A (zh) | 一种基于账务体系的结算方法及系统、存储介质及终端 | |
CN111737045A (zh) | 一种实现Insight管理平台故障自恢复的方法及装置 | |
Fanfani et al. | Distributed analysis in CMS | |
CN110941422B (zh) | 代码自动生成方法、代码生成器及可读存储介质 | |
CN107704473A (zh) | 一种数据处理方法和装置 | |
CN112099934A (zh) | 一种批处理方法、系统、计算机设备及存储介质 | |
Vardânega et al. | A generic rollback manager for optimistic HLA simulations | |
CN105227648A (zh) | 一种基于时间桶的地铁综合监控系统时间序列触发方法 | |
CN115271835A (zh) | 一种发票生成方法、装置、电子设备及存储介质 | |
Gagandeep et al. | An automated metamorphic testing technique for designing effective metamorphic relations | |
CN110532802A (zh) | 一种数据处理方法及系统 | |
CN110188101A (zh) | 一种超多数据表处理方法、装置、设备及介质 | |
CN111582851B (zh) | 基于大数据的平台打款方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |