进行逻辑流程控制的链式状态转换方法

文档序号:6542699阅读:650来源:国知局
进行逻辑流程控制的链式状态转换方法
【专利摘要】本发明公开了一种进行逻辑流程控制的链式状态转换方法,组织逻辑判定条件;将逻辑判定条件分割为最小且不可分割的逻辑单元;将最小且不可分割的逻辑单元编写成最小自治单元;配置最小自治单元的排列顺序及组合关系构成配置文件;解析配置文件,加载最小自治单元,按照配置文件制定的排列组合关系运算加载的最小自治单元,最终得出结论。本发明能够灵活自由的组织判定顺序。该过程不需要对程序代码做修改,只需要通过调整约束逻辑判断链条的配置文件即可满足业务逻辑的变更需求。
【专利说明】进行逻辑流程控制的链式状态转换方法
【技术领域】
[0001]本技术属于软件算法及逻辑处理领域,尤其是针对计算机程序执行过程中复杂条件下,多层级、多步骤的逻辑判定过程。
【背景技术】
[0002]在软件开发活动中,程序员需要根据具体业务频繁的处理逻辑判断工作,以保证计算机程序在一个可控的、严格的执行流程中运行。这个执行流程受控于输入条件、判定依据,其中往往包含了多层级、多步骤的判定,通过一系列逻辑运算,综合各种条件,得出最终判定结果,指导计算机程序后续的执行计划。因此,在实际的工作中,计算机程序中的逻辑判断表现出复杂性、多层次多步骤性。虽然计算机程序中的逻辑判定是明确的、有序的,然而实际业务工作的判定机制和流程往往会根据需要发生极大的变化。业务工作逻辑的变化,必然导致软件设计中的逻辑判定流程也随之进行相应的修改。在实际应用中,我们通过该机制来解决游戏盗号行为判定逻辑的不稳定性。通过分析游戏中玩家账号被盗的现象,我们发现存在盗号可能性时的数据特征是明确、具体并且有限的,但是具体到盗号行为是否真正发生时,则需要对这些特征数据进行具体的分析,涉及到对这些特征数据按照一定的顺序,排列判定次序,然后进行多重组合,才能最后综合分析出判定结论。业务工作中的这种判定顺序、判定组合往往会由于游戏策略的调整、游戏周边活动的发布等发生改变,如果每次改变,我们都从代码层面进行修改,然后再做测试、再部署上线,会花费大量的时间,难以满足实际工作的需要。盗号行为的判定由几个基础判定组成,分别是问题时间判定、角色等级判定、交易物品分析判定、金币变化判定、金币流散判定、客户端信息判定等多个子过程。具体到盗号行为判定时,我们可能根据具体的情况用到全部的或者其中一部分子过程,配合游戏活动的进行,甚至这些子过程判断的先后顺序也可能发生变化。在程序开发的过程中,不可能先枚举出这些子过程所有的排列组合方式,将各个排列组合方式封装成不同的程序逻辑。原因在于这种处理方式弊端非常大,首先其中可能某些排列组合次序只存在于理论上,在实际工作中永远不可能用到;其次,穷举所有子逻辑过程的排列组合方式会造成测试活动的极度冗余,且时间成本骤升;再次,当有新的子判断过程增加进来的时候,会造成所有判断逻辑进行修改,带来极大的维护工作量,后期维护时间和维护难度会呈现指数级的增长。

【发明内容】

[0003]本发明是解决上述问题,提供一种将具体业务抽象成多个最小逻辑判定单元,然后灵活自由的组织判定顺序。该过程不需要对程序代码做修改,只需要通过调整约束逻辑判断链条的配置文件即可满足业务逻辑的变更需求。
[0004]本发明的进行逻辑流程控制的链式状态转换方法,包括如下步骤:
[0005]第一步、组织逻辑判定条件;
[0006]第二步、将逻辑判定条件分割为最小且不可分割的逻辑单元;[0007]第三步、将最小且不可分割的逻辑单元编写成最小自治单元;
[0008]第四步、配置最小自治单元的排列顺序及组合关系构成配置文件;
[0009]第五步、解析配置文件,加载最小自治单元,按照配置文件制定的排列组合关系运算加载的最小自治单元,最终得出结论。
[0010]所述的逻辑板判定条件根据具体的业务场景而变化。
[0011]所述的最小且不可分割的逻辑单元必须满足排列组合后能够满足业务整体逻辑判定的需求。
[0012]所述的最小自治单元包括一个软件执行期的唯一标识、一个抽象逻辑判断函数和一个结果触发函数。
[0013]所述的软件执行期的唯一标识为一个逻辑标识和一个入口参数存放地址。
[0014]所述抽象逻辑判断函数为具体实现方法。
[0015]所述结果触发函数为会自动调用本类的抽象逻辑判断函数,并决定触发后续逻辑运算单元的标识,并返回指向后续逻辑运算单元的指针或函数入口地址的函数。
[0016]所述的配置文件中的排列顺序及组合关系为链式。
[0017]本发明的有益效果:本发明的方法能够灵活自由的组织判定顺序;该过程不需要对程序代码做修改,只需要通过调整约束逻辑判断链条的配置文件即可满足业务逻辑的变更需求。
【具体实施方式】
[0018]下面结合具体的实施例对本发明作进一步的阐述。
[0019]本发明的进行逻辑流程控制的链式状态转换方法,包括如下步骤:第一步、组织逻辑判定条件;第二步、将逻辑判定条件分割为最小且不可分割的逻辑单元;第三步、将最小且不可分割的逻辑单元编写成最小自治单元;第四步、配置最小自治单元的排列顺序及组合关系构成配置文件;第五步、解析配置文件,加载最小自治单元,按照配置文件制定的排列组合关系运算加载的最小自治单元,最终得出结论。
[0020]所述的逻辑板判定条件根据具体的业务场景而变化。所述的最小且不可分割的逻辑单元必须满足排列组合后能够满足业务整体逻辑判定的需求。所述的最小自治单元包括一个软件执行期的唯一标识、一个抽象逻辑判断函数和一个结果触发函数。所述的软件执行期的唯一标识为一个逻辑标识和一个入口参数存放地址。
[0021]所述抽象逻辑判断函数为具体实现方法。
[0022]所述结果触发函数为会自动调用本类的抽象逻辑判断函数,并决定触发后续逻辑运算单元的标识,并返回指向后续逻辑运算单元的指针或函数入口地址的函数。所述的配置文件中的排列顺序及组合关系为链式。
[0023]下面就以盗号行为判定作为例子加以说明,盗号行为的判定由几个基础判定组成,分别是问题时间判定、角色等级判定、交易物品分析判定、金币变化判定、金币流散判定、客户端信息判定等多个子过程。将盗号判定的几个基础判定按照前述的原则,封装成最小逻辑代码单元,使之成为一个自治代码块,包括了本身的逻辑判断,进入原则、后续触发三个部分。每个自治代码块具有唯一标识,当有新增的基础判定需要加入时,我们只需要针对新的基础判断单独封装代码,并分配唯一标识即可。[0024]代码层面的最小自治逻辑单元拆分并封装结束后,对整体的逻辑判定流程控制链进行配置,具体方式是通过xml、in1、数据库等配置手段通过设置自治代码单元的唯一标识,向程序主逻辑指明整体逻辑判断中每个子步骤的标签,即每一步判断需要执行哪个自治代码单元,或者是哪几个自治代码单元的逻辑组合结果。在此之上,逻辑判断链可以是递归嵌套的,由此可以支持任意结构的逻辑判断活动。整个逻辑判断链条最后返回一个最终判定结论,并作为总体业务逻辑判定的结果供软件系统使用。当通过上述的逻辑判断链条最后返回一个确认盗号的判定结论时,相应的封堵程序就会启动。当盗号逻辑发生变化时,我们需要修改的只是配置文件,当新的判定项加入时,我们只需要对新的判定内容做业务拆解,并封装成最小自治逻辑单元即可。
[0025]本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
【权利要求】
1.一种进行逻辑流程控制的链式状态转换方法,其特征在于,包括如下步骤: 第一步、组织逻辑判定条件; 第二步、将逻辑判定条件分割为最小且不可分割的逻辑单元; 第三步、将最小且不可分割的逻辑单元编写成最小自治单元; 第四步、配置最小自治单元的排列顺序及组合关系构成配置文件; 第五步、解析配置文件,加载最小自治单元,按照配置文件制定的排列组合关系运算加载的最小自治单元,最终得出结论。
2.如权利要求1所述的进行逻辑流程控制的链式状态转换方法,其特征在于:所述的逻辑板判定条件根据具体的业务场景而变化。
3.如权利要求1所述的进行逻辑流程控制的链式状态转换方法,其特征在于:所述的最小且不可分割的逻辑单元必须满足排列组合后能够满足业务整体逻辑判定的需求。
4.如权利要求1所述的进行逻辑流程控制的链式状态转换方法,其特征在于:所述的最小自治单元包括一个软件执行期的唯一标识、一个抽象逻辑判断函数和一个结果触发函数。
5.如权利要求4所述的进行逻辑流程控制的链式状态转换方法,其特征在于:所述的软件执行期的唯一标识为一个逻辑标识和一个入口参数存放地址。
6.如权利要求4所述的进行逻辑流程控制的链式状态转换方法,其特征在于:所述抽象逻辑判断函数为具体实现方法。
7.如权利要求4所述的进行逻辑流程控制的链式状态转换方法,其特征在于:所述结果触发函数为会自动调用本类的抽象逻辑判断函数,并决定触发后续逻辑运算单元的标识,并返回指向后续逻辑运算单元的指针或函数入口地址的函数。
8.如权利要求1所述的进行逻辑流程控制的链式状态转换方法,其特征在于:所述的配置文件中的排列顺序及组合关系为链式。
【文档编号】G06F9/44GK103870285SQ201410131187
【公开日】2014年6月18日 申请日期:2014年4月2日 优先权日:2014年4月2日
【发明者】蔡淼 申请人:成都西山居互动娱乐科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1