一种数据处理方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:38909627 阅读:14 留言:0更新日期:2023-09-25 09:27
本申请涉及一种数据处理方法、装置、计算机设备和存储介质。该方法包括:接收待处理数据,确定待处理数据在应用程序主程序的处理节点;遍历策略上下文的应用条件,提取满足处理节点的应用条件;从策略上下文中提取与应用条件关联的策略对象;利用策略对象对待处理数据,执行相应数据处理行为。采用本方法能够降低应用条件与策略对象之间的耦合性,提高数据处理流程的可扩展性。处理流程的可扩展性。处理流程的可扩展性。

【技术实现步骤摘要】
一种数据处理方法、装置、计算机设备和存储介质


[0001]本申请涉及软件开发
,特别是涉及一种数据处理方法、装置、计算机设备和存储介质。

技术介绍

[0002]在日常软件开发过程中,经常遇到对一个业务功能,在不同场景下提供不同的实现逻辑,通过切换业务算法来满足不同场景的目的,因此在传统的业务处理流程中,通过“if

else”或者“Switch

case”等之类的选择语句进行判断,每个判定条件匹配一个执行逻辑,以此判断出匹配的执行逻辑进行执行,且各判定条件还可能配置有相应的处理顺序。因此,传统的业务处理流程会引起诸多问题,比如:
[0003]1)主程序与各逻辑类型的分支程序为一个整体,无法单独进行开发测试,因此,当新增逻辑类型时,需要改动主程序,增加新的选择分支,导致整体代码需要重新编排和测试,浪费开发人员的人力时间,且错误概率高,影响开发效率;2)增加新节点时,要支持新来源的处理策略,需要修改源代码增加节点判断,导致应用程序越来越庞大,且难以维护;同时,由于修改了源程序,需要重新发布应用,在更新时不可避免的要影响正在进行的服务;3)已存在的策略无法被重复使用;4)“if

else”或者“switch

case”分支过多;5)逻辑判断与业务代码过度耦合;6)新增逻辑实现无法优雅扩展,扩展性差。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种数据处理方法、装置、计算机设备和存储介质,能够将复杂的条件策略关系处理成独立的条件与独立策略的对应关系配置,使得复杂的处理流程变得更加易于扩展维护。
[0005]本申请提供了一种数据处理方法,所述方法包括:
[0006]接收待处理数据,确定所述待处理数据在应用程序主程序的处理节点;
[0007]遍历策略上下文的应用条件,提取满足所述处理节点的所述应用条件;
[0008]从当前所述策略上下文中提取与所述应用条件关联的所述策略对象;
[0009]利用所述策略对象对所述待处理数据执行相应数据处理行为。
[0010]在其中一个实施例中,所述接收待处理数据的步骤之前,包括:
[0011]响应于触发初始参数接收指令,激活策略加载器,解析出条件库和策略库;
[0012]遍历应用程序主程序上下文中所有支持的处理节点,以及遍历所述条件库中的应用条件,提取条件库中与所述处理节点匹配的应用条件;
[0013]从所述策略库中提取与所述应用条件关联的策略对象;其中,所述策略对象用于表征所需执行的逻辑代码;
[0014]提取应用程序分支程序中的关联数据,将所述关联数据加载并绑定至所述策略对象中的逻辑代码中,封装策略上下文,并缓存到JVM内存中;
[0015]通过所述策略上下文对所述应用程序中待处理数据进行相应处理。
[0016]在其中一个实施例中,所述从从所述策略库中提取与所述应用条件关联的策略对象的步骤,包括:根据所述应用条件提取一种或多种所述策略对象。
[0017]在其中一个实施例中,所述响应于触发初始参数接收指令的步骤之前,包括:在应用程序中预先设置用户自定义的策略加载器。
[0018]在其中一个实施例中,所述提取应用程序分支程序中的关联数据,将所述关联数据加载并绑定至所述策略对象中的逻辑代码中,封装策略上下文的步骤,包括:
[0019]使用处理节点标识和策略对象作为键值,具体策略实现类作为数值,以快速分析匹配到具体关联数据;
[0020]预配置键值的数据结构,对提取的所述策略对象去重处理,以确保处理节点与策略对象关系的唯一性,避免重复绑定策略对象造成异常;
[0021]其中,所述数据结构包括处理节点标识、策略类型全类名、策略实现类全类名。
[0022]在其中一个实施例中,所述将关联数据加载并绑定至所述策略对象中的逻辑代码中,封装策略上下文的步骤,包括:
[0023]响应于预先设置有注解扫描加载器,通过扫描策略实现类上的绑定注解,解析注解中的value属性;
[0024]Value属性值为处理节点标识数组,每个策略实现类可通过注解绑定到多个处理节点;
[0025]通过将处理节点与具体策略实现类关联,加载到策略上下文中。
[0026]在其中一个实施例中,所述遍历策略上下文的应用条件,提取满足所述处理节点的所述应用条件的步骤,包括:
[0027]遍历所述策略上下文的应用条件;
[0028]判断是否遍历结束,并输出判断结果;
[0029]若判断结果中未遍历结束,则判断当前已遍历的所述应用条件是否满足所述处理节点,若满足,则提取满足所述处理节点的所述应用条件,若不满足,则返回继续遍历所述策略上下文中的所述应用条件,直至满足所述处理节点后,提取满足所述处理节点的所述应用条件;
[0030]若判断结果中遍历结束,则直接提取所述策略上下文中满足所述处理节点的所述应用条件。
[0031]本申请提供了一种数据处理装置,所述装置包括:数据接收模块、条件提取模块、策略提取模块以及数据处理模块,其中,
[0032]数据接收模块用于接收待处理数据,确定所述待处理数据在应用程序主程序的处理节点;
[0033]条件提取模块用于遍历策略上下文的应用条件,提取满足所述处理节点的所述应用条件;
[0034]策略提取模块用于从当前所述策略上下文中提取与所述应用条件关联的所述策略对象;
[0035]数据处理模块用于利用所述策略对象对所述待处理数据执行相应数据处理行为。
[0036]本申请提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0037]接收待处理数据,确定所述待处理数据在应用程序主程序的处理节点;
[0038]遍历策略上下文的应用条件,提取满足所述处理节点的所述应用条件;
[0039]从当前所述策略上下文中提取与所述应用条件关联的所述策略对象;
[0040]利用所述策略对象对所述待处理数据执行相应数据处理行为。
[0041]本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0042]接收待处理数据,确定所述待处理数据在应用程序主程序的处理节点;
[0043]遍历策略上下文的应用条件,提取满足所述处理节点的所述应用条件;
[0044]从当前所述策略上下文中提取与所述应用条件关联的所述策略对象;
[0045]利用所述策略对象对所述待处理数据执行相应数据处理行为。
[0046]上述数据处理方法、装置、计算机设备和存储介质,具有以下技术效果:
[0047]由于采用了接收待处理数据,确定所述待处理数据在应用程序主程序的处理节点;遍历策略上下文的应用条件,提取满足所述处理节点的所述应用条件;从本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:接收待处理数据,确定所述待处理数据在应用程序主程序的处理节点;遍历策略上下文的应用条件,提取满足所述处理节点的所述应用条件;从所述策略上下文中提取与所述应用条件关联的所述策略对象;利用所述策略对象对所述待处理数据,执行相应数据处理行为。2.根据权利要求1所述的数据处理方法,其特征在于,所述接收待处理数据的步骤之前,包括:响应于触发初始参数接收指令,激活策略加载器,解析出条件库和策略库;遍历应用程序主程序上下文中所有支持的处理节点,以及遍历所述条件库中的应用条件,提取所述条件库中与所述处理节点匹配的应用条件;从所述策略库中提取与所述应用条件关联的策略对象;其中,所述策略对象用于表征所需执行的逻辑代码;提取应用程序分支程序中的关联数据,将所述关联数据加载并绑定至所述策略对象中的逻辑代码中,封装策略上下文,并缓存到JVM内存中;通过所述策略上下文对所述应用程序中待处理数据进行相应处理。3.根据权利要求2所述的数据处理方法,其特征在于,所述从从所述策略库中提取与所述应用条件关联的策略对象的步骤,包括:根据所述应用条件提取一种或多种所述策略对象。4.根据权利要求2所述的数据处理方法,其特征在于,所述响应于触发初始参数接收指令的步骤之前,包括:在应用程序中预先设置用户自定义的策略加载器。5.根据权利要求3所述的数据处理方法,其特征在于,所述提取应用程序分支程序中的关联数据,将所述关联数据加载并绑定至所述策略对象中的逻辑代码中,封装策略上下文的步骤,包括:使用处理节点标识和策略对象作为键值,具体策略实现类作为数值,以快速分析匹配到具体关联数据;预配置键值的数据结构,对提取的所述策略对象去重处理,以确保所述处理节点与策略对象关系的唯一性,避免重复绑定策略对象造成异常;其中,所述数据结构包括处理节点标识、策略类型...

【专利技术属性】
技术研发人员:杨洲杨洲总向伟喻恺亮资武
申请(专利权)人:中科云谷科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1