单据业务处理方法及装置与流程

未命名 10-18 阅读:122 评论:0


1.本发明涉及业务数据处理技术领域,尤其涉及单据业务处理方法及装置。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.低代码平台提供的能力一般主要包括单据,流程,报表,分析和集成等,其快速交付能力、标准化服务能力和高可扩展能力,越来越得到用户的关注。用户可以通过低代码开发方式,快速建模并完成相关的业务处理。
4.单据作为低代码的核心组件,提供拖、拉、拽等可视化设计方式,可快速构建表单类(主表-子表)业务数据数据采集字段、校验规则、录入界面等。单据一般配合工作流来进行使用,完成单据的设计、填报、核销、审批等全周期管理。例如:财务业务中常见的员工出差申请、费用报销等单据的填报、审批业务;合同管理业务中的合同登记、变更业务,项目管理中的项目立项、项目变更等单据业务。由此可见,单据组件承载了数据采集,流程审批、报表统计和数据分析等各环节的重要数据流转和衔接功能。现有的单据业务耦合性较高,不同产品模块对单据组件的扩展和注册收集存在强依赖,一般都要求所有扩展必须和单据一体打包,无法解耦或拆分,单据业务功能调整的灵活性较差。


技术实现要素:

5.本发明实施例提供一种单据业务处理方法,用以将单据业务功能的执行拆分为调用不同业务微服务的单据模块,实现单据多模块技术,降低单据各业务功能之间的耦合性,提高单据业务功能调整的灵活性,该方法包括:
6.接收第一客户端上传的单据配置信息;其中,单据配置信息中包含多个单据模块、单据模块标识与产品标识之间的第一关联信息,每一单据模块中包含实现对应产品的单据业务功能的单据逻辑信息;
7.将单据配置信息发送第二客户端,接收第二客户端根据单据配置信息发送的业务微服务配置信息;其中,业务微服务配置信息中包括:业务微服务标识、业务微服务标识与单据模块标识以及产品标识之间的第二关联信息、单据事务编排信息;
8.根据业务微服务标识生成单据微服务注册信息,根据单据微服务注册信息在微服务注册中心对业务微服务标识对应的业务微服务进行注册;
9.根据第二关联信息生成单据模块定义注册信息,根据单据模块定义注册信息在元数据定义微服务完成单据模块的注册,生成业务微服务配置信息注册表;
10.根据单据事务编排信息生成单据事务编排注册信息,根据单据事务编排注册信息在单据事务管理微服务完成对单据事务编排信息的注册;
11.接收第三客户端发送的单据业务执行指令;其中,单据业务执行指令中携带有要调用的至少一个目标单据模块标识;
12.根据业务微服务配置信息注册表、以及注册的单据事务编排信息,按序调用每一目标单据模块标识对应已注册的业务微服务执行单据业务。
13.本发明实施例还提供一种单据业务处理装置,用以将单据业务功能的执行拆分为调用不同业务微服务的单据模块,实现单据多模块技术,降低单据各业务功能之间的耦合性,提高单据业务功能调整的灵活性,该装置包括:
14.接收模块,用于接收第一客户端上传的单据配置信息;其中,单据配置信息中包含多个单据模块、单据模块标识与产品标识之间的第一关联信息,每一单据模块中包含实现对应产品的单据业务功能的单据逻辑信息;
15.第一处理模块,用于将单据配置信息发送第二客户端,接收第二客户端根据单据配置信息发送的业务微服务配置信息;其中,业务微服务配置信息中包括:业务微服务标识、业务微服务标识与单据模块标识以及产品标识之间的第二关联信息、单据事务编排信息;
16.第一注册模块,用于根据业务微服务标识生成单据微服务注册信息,根据单据微服务注册信息在微服务注册中心对业务微服务标识对应的业务微服务进行注册;
17.第二注册模块,用于根据第二关联信息生成单据模块定义注册信息,根据单据模块定义注册信息在元数据定义微服务完成单据模块的注册,生成业务微服务配置信息注册表;
18.第三注册模块,用于根据单据事务编排信息生成单据事务编排注册信息,根据单据事务编排注册信息在单据事务管理微服务完成对单据事务编排信息的注册;
19.第二处理模块,用于接收第三客户端发送的单据业务执行指令;其中,单据业务执行指令中携带有要调用的至少一个目标单据模块标识;
20.第三处理模块,用于根据业务微服务配置信息注册表、以及注册的单据事务编排信息,按序调用每一目标单据模块标识对应已注册的业务微服务执行单据业务。
21.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述单据业务处理方法。
22.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述单据业务处理方法。
23.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述单据业务处理方法。
24.本发明实施例中,接收第一客户端上传的单据配置信息;其中,单据配置信息中包含多个单据模块、单据模块标识与产品标识之间的第一关联信息,每一单据模块中包含实现对应产品的单据业务功能的单据逻辑信息;将单据配置信息发送第二客户端,接收第二客户端根据单据配置信息发送的业务微服务配置信息;其中,业务微服务配置信息中包括:业务微服务标识、业务微服务标识与单据模块标识以及产品标识之间的第二关联信息、单据事务编排信息;根据业务微服务标识生成单据微服务注册信息,根据单据微服务注册信息在微服务注册中心对业务微服务标识对应的业务微服务进行注册;根据第二关联信息生成单据模块定义注册信息,根据单据模块定义注册信息在元数据定义微服务完成单据模块的注册,生成业务微服务配置信息注册表;根据单据事务编排信息生成单据事务编排注册
信息,根据单据事务编排注册信息在单据事务管理微服务完成对单据事务编排信息的注册;接收第三客户端发送的单据业务执行指令;其中,单据业务执行指令中携带有要调用的至少一个目标单据模块标识;根据业务微服务配置信息注册表、以及注册的单据事务编排信息,按序调用每一目标单据模块标识对应已注册的业务微服务执行单据业务。这样,将单据业务功能的执行拆分为调用不同业务微服务的单据模块,实现单据多模块技术,降低单据各业务功能之间的耦合性,在执行单据业务时,可以跨业务微服务调用单据模块,提高单据业务功能调整的灵活性、以及提高单据业务执行的效率。
附图说明
25.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
26.图1为本发明实施例中提供的一种单据业务处理方法的流程图;
27.图2为本发明实施例中提供的一种单据业务处理原理的整体架构示例图;
28.图3为本发明实施例中提供的一种单据业务处理方法的运行逻辑示例图;
29.图4为本发明实施例中提供的一种按单据模块实现各自的单据业务模型和逻辑处理的示例图;
30.图5为本发明实施例中提供的一种针对中小规模项目的业务微服务的打包示例图;
31.图6为本发明实施例中提供的一种针对大规模项目的业务微服务的打包示例图;
32.图7为本发明实施例中提供的一种根据项目实际运营中的监测情况,动态进行调整的流程示例图;
33.图8为本发明实施例中提供的一种单据业务处理装置的示意图;
34.图9为本发明实施例中提供的一种计算机设备的示意图。
具体实施方式
35.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
36.本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
37.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
38.在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本技术的
至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本技术的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
39.经研究发现,低代码平台提供的能力一般主要包括单据,流程,报表,分析和集成等,其快速交付能力、标准化服务能力和高可扩展能力,越来越得到用户的关注。用户可以通过低代码开发方式,快速建模并完成相关的业务处理。
40.单据作为低代码的核心组件,提供拖、拉、拽等可视化设计方式,可快速构建表单类(主表-子表)业务数据数据采集字段、校验规则、录入界面等。单据一般配合工作流来进行使用,完成单据的设计、填报、核销、审批等全周期管理。例如:财务业务中常见的员工出差申请、费用报销等单据的填报、审批业务;合同管理业务中的合同登记、变更业务,项目管理中的项目立项、项目变更等单据业务。由此可见,单据组件承载了数据采集,流程审批、报表统计和数据分析等各环节的重要数据流转和衔接功能。现有的单据业务耦合性较高,不同产品模块对单据组件的扩展和注册收集存在强依赖,一般都要求所有扩展必须和单据一体打包,无法解耦或拆分,单据业务功能调整的灵活性较差。
41.例如,现有设计微服务方面,对于技术特性较强的平台组件,业界传统的做法是按照职责划分的方式来拆分微服务,即根据组件所提供的服务功能来进行划分。一般的基础微服务可以分为认证微服务、用户微服务,主数据微服务,权限微服务等。而单据组件也正是具有较强技术特性的组件,通常也会被设计为单据微服务,对外提供单据相关业务能力。但是,按照职责划分的单据微服务设计,应对单一产品、简单的单据业务相对适合,单据微服务需要处理的领域边界相对简单。如果面对多产品或者产品线多个业务,复杂单据业务场景时,按职责划分的单据微服务则会遇到明显的瓶颈。具体表现在以下三个方面:
42.1、膨胀为实质上的单体架构:复杂的产品系统,一旦确定了技术方案进入开发,后续就会受限于现有的技术架构,不利于使用其它架构对系统功能进行扩展。随着单据微服务承载的业务不断增加,单据微服务的规模就会越来越大,本质上就相当于一个单体架构。此时,系统进行扩展的灵活度就随之降低了。
43.2、产品开发不能解耦:在产品开发层面,不同产品间的单据模型、扩展开发需要打包在同一个单据微服务。在这种方式下,单据服务内单据模型的数量会特别多,形成的依赖关系非常复杂,各模型的版本迭代难以对齐,兼容冲突明显。因此,代码的质量可控性极大降低,维护升级程序的难度加大,开发投入的工作量居高不下。
44.3、云计算资源成本升高:单据微服务作为一个大的单体,所需的云计算资源只能整体缩放,不能进一步按照不同的业务频度进行灵活拆分、扩缩容,在计算资源方面存在一定的冗余消耗,提高了云计算的整体成本。
45.因此,针对上述研究,如图1所示,本发明实施例提供一种单据业务处理方法,包括:
46.s101:接收第一客户端上传的单据配置信息;其中,单据配置信息中包含多个单据模块、单据模块标识与产品标识之间的第一关联信息,每一单据模块中包含实现对应产品的单据业务功能的单据逻辑信息;
47.s102:将单据配置信息发送第二客户端,接收第二客户端根据单据配置信息发送
的业务微服务配置信息;其中,业务微服务配置信息中包括:业务微服务标识、业务微服务标识与单据模块标识以及产品标识之间的第二关联信息、单据事务编排信息;
48.s103:根据业务微服务标识生成单据微服务注册信息,根据单据微服务注册信息在微服务注册中心对业务微服务标识对应的业务微服务进行注册;
49.s104:根据第二关联信息生成单据模块定义注册信息,根据单据模块定义注册信息在元数据定义微服务完成单据模块的注册,生成业务微服务配置信息注册表;
50.s105:根据单据事务编排信息生成单据事务编排注册信息,根据单据事务编排注册信息在单据事务管理微服务完成对单据事务编排信息的注册;
51.s106:接收第三客户端发送的单据业务执行指令;其中,单据业务执行指令中携带有要调用的至少一个目标单据模块标识;
52.s107:根据业务微服务配置信息注册表、以及注册的单据事务编排信息,按序调用每一目标单据模块标识对应已注册的业务微服务执行单据业务。
53.本发明实施例中,接收第一客户端上传的单据配置信息;其中,单据配置信息中包含多个单据模块、单据模块标识与产品标识之间的第一关联信息,每一单据模块中包含实现对应产品的单据业务功能的单据逻辑信息;将单据配置信息发送第二客户端,接收第二客户端根据单据配置信息发送的业务微服务配置信息;其中,业务微服务配置信息中包括:业务微服务标识、业务微服务标识与单据模块标识以及产品标识之间的第二关联信息、单据事务编排信息;根据业务微服务标识生成单据微服务注册信息,根据单据微服务注册信息在微服务注册中心对业务微服务标识对应的业务微服务进行注册;根据第二关联信息生成单据模块定义注册信息,根据单据模块定义注册信息在元数据定义微服务完成单据模块的注册,生成业务微服务配置信息注册表;根据单据事务编排信息生成单据事务编排注册信息,根据单据事务编排注册信息在单据事务管理微服务完成对单据事务编排信息的注册;接收第三客户端发送的单据业务执行指令;其中,单据业务执行指令中携带有要调用的至少一个目标单据模块标识;根据业务微服务配置信息注册表、以及注册的单据事务编排信息,按序调用每一目标单据模块标识对应已注册的业务微服务执行单据业务。这样,将单据业务功能的执行拆分为调用不同业务微服务的单据模块,实现单据多模块技术,降低单据各业务功能之间的耦合性,在执行单据业务时,可以跨业务微服务调用单据模块,提高单据业务功能调整的灵活性、以及提高单据业务执行的效率。
54.首先,对本发明实施例中的一些名词加以介绍:
55.本发明实施例所述的微服务是一种开发软件的架构和组织方法,因此又称为微服务架构。将应用解构成一系列按业务领域划分、小而自治的服务,服务间通过明确定义的应用程序编程接口(application programming interface,api)进行通信。在微服务架构中,每个服务能够实现单一的业务功能。
56.本发明实施例所述的元数据用于描述低代码各个组件设计期的定义信息,主要描述组件的各类属性,控制逻辑和交互样式等。例如:单据组件的元数据主要包括单据定义的模型、数据、界面、规则等信息。
57.本发明实施例所述的单据是低代码平台的一个核心组件。单据是一种抽象的数据模型、业务模型和业务处理组件,用于表单类(主表-子表)业务数据录入、审核业务,配合工作流来进行使用,完成业务单据的设计、填报、核销、审批等业务。
58.本发明实施例所述的单据扩展为单据组件提供了一系列扩展机制,包括单据模型、单据插件、单据规则、单据函数、单据控件、单据动作等单据扩展元素,支持产品在单据组件的通用特性基础上,扩展和封装产品层面定制的业务能力。
59.本发明实施例所述的单据模型是单据组件的核心概念,通过对同类单据业务的数据模型、业务逻辑进行抽象和封装,支持应用开发时快速进行同类单据设计和复用。同时,单据模型还支持模型间的继承。例如:财务类单据模型通常包括申请单模型、费用报销模型、借款模型等,其中,申请单模型继承了财务办公基类单据模型,基于申请单模型可以快速开发出事项申请单、出差申请单,预算申请单等同类业务单据。
60.本发明实施例所述的单据插件是对单据模型的一种增强扩展,可以通过插件的方式进行组合式扩展,还可在各类单据模型上进行复用。例如移动端插件,可以进行移动端样式设计。
61.本发明实施例所述的单据规则泛指单据模型上关联的业务逻辑,可以包括单据公式,模型固化的处理规则等。
62.本发明实施例所述的函数即按照预先定义好的规则,对输入集合执行转换处理的一种映射关系。例如求和函数sum。
63.本发明实施例所述的单据控件指单据界面设计、展示和执行的控件,包括单据的布局、数据录入、表格录入、工具栏等各类控件。
64.本发明实施例所述的单据动作是对单据数据处理的行为抽象,常见的动作包括新建,修改,保存,删除等。
65.如图2所示,为本发明实施例提供的一种单据业务处理原理的整体架构示例图,其中,对微服务架构下,以支持高可扩展的单据多模块方案进行总体设计,总体架构采用分层设计,自上而下逐层抽象,上层应用依赖下层服务,下层服务为上层应用提供元数据和扩展接口。自下而上依次为:
66.1.事务框架:事务框架为微服务架构下单据多模块运行服务提供分布式事务编排,事务管理功能。
67.2.元数据:元数据管理单据多模块定义,单据定义和单据数据表定义等核心元数据信息,并负责注册收集微服务下各服务的模块信息以及提供元数据服务。
68.3.公共模块:单据组件内置的公共模块,预置了单据基类模型、公共的插件、规则、函数、控件和动作等。上层产品应用进行单据模块扩展时,需要继承和依赖公共模块。
69.4.产品模块:产品基于元数据和公共模块进行特定的单据业务模块封装和扩展开发,不同产品可以有不同的单据模块。
70.5.解决方案:交付给项目的解决方案,其单据模块可以包含一个或多个产品的单据模块组合,从而形成单据多模块服务。
71.下面对结合上述架构对上述单据业务处理方法加以详细介绍。
72.针对上述s101,单据配置信息中包含多个单据模块、单据模块标识与产品标识之间的第一关联信息,每一单据模块中包含实现对应产品的单据业务功能的单据逻辑信息。
73.具体的,第一客户端例如包括开发人员所使用的终端,开发人员预先根据各个产品定义多个单据模块,每一单据模块中包含实现对应产品的单据业务功能的单据逻辑信息,根据单据模块的定义信息、以及单据模块标识与产品标识之间的第一关联信息生成单
据配置信息,通过第一客户端上传单据配置信息。
74.这样,通过单据多模块的共享和隔离设计,保证了产品单据模块的高内聚和低耦合,提升了开发效率。
75.针对上述s102,业务微服务配置信息中包括:业务微服务标识、业务微服务标识与单据模块标识以及产品标识之间的第二关联信息、单据事务编排信息。
76.具体的,第二客户端例如包括运营人员所使用的终端,运营人员根据各业务微服务要实现的业务功能,配置每一业务微服务用调用的产品中的单据模块,以及配置执行不同单据业务时需要调用各业务微服务的调用逻辑(即单据事务编排信息),得到业务微服务配置信息,通过第二客户端上传业务微服务配置信息。
77.此外,本发明一实施例中,每一单据模块中还包含用于单据功能扩展的单据扩展元素,以供在需要对产品对应的单据业务功能进行扩展时,根据产品中包含的单据模块中的扩展元素进行扩展;或者在需要对业务微服务对应的业务功能进行扩展时,根据业务微服务中包含的单据模块中的扩展元素进行扩展。
78.其中,单据扩展元素包括下述至少一种:单据模型、单据插件、单据规则、单据函数、单据控件和单据动作。
79.另外,为了进一步提升业务微服务中单据业务功能的可扩展性,本发明一实施例中,单据配置信息中还包含单据公共模块,每一单据公共模块中包含用于单据功能扩展的单据扩展元素;业务微服务配置信息中还包含:每一业务微服务标识关联的公共模块标识;以供在需要对业务微服务对应的业务功能进行扩展时,根据业务微服务中包含的单据公共模块中的扩展元素进行扩展。
80.这样,在每一业务微服务中内置一个单据公共模块,单据公共模块预置了大量的单据扩展元素,包括单据基础模型、打印插件、类excel函数库和前端控件库,以及一系列通用规则和动作。单据公共模块提供了对单据元数据的基础定义,以及单据数据的新增、删除、修改、查询、打印等基础操作。提高单据业务功能的可扩展性。
81.本发明实施例将单据组件按使用场景分为单据元数据定义服务和单据业务执行服务,如图3所示。在微服务架构下,单据元数据定义服务对应一个微服务,单据业务执行服务按模块组合拆分为多个业务微服务。
82.在单据元数据定义微服务中(即上述s103~s105),通过消息队列进行多单据模块配置注册收集,进行多单据模块注册的核心元数据包含产品的分组。单据元数据定义服务通过消息队列收集系统中所有注册的单据模块以及单据扩展元素,并提供单据元数据的查询、设计、存储和发布等服务。业务微服务通过单据模块内的单据扩展元素间接依附于具体单据模块,实现本单据模块的单据数据的查询、编辑和存储等处理。
83.如图3所示,本发明一实施例中,根据第二关联信息生成单据模块定义注册信息,根据单据模块定义注册信息在元数据定义微服务完成单据模块的注册,生成业务微服务配置信息注册表,包括:根据第二关联信息生成单据模块定义注册信息,将单据模块定义注册信息发送至mq消息队列;调用元数据定义微服务从mq消息队列读取单据模块定义注册信息,以供元数据定义微服务根据单据模块定义注册信息对单据模块进行注册,生成业务微服务配置信息注册表;其中,业务微服务配置信息注册表中包含业务微服务标识与单据模块标识以及产品标识之间的第二关联信息。
84.如图3所示,本发明一实施例中,根据单据事务编排信息生成单据事务编排注册信息,根据单据事务编排注册信息在单据事务管理微服务完成对单据事务编排信息的注册,包括:根据单据事务编排信息生成单据事务编排注册信息,将单据事务编排注册信息发送至mq消息队列;调用单据事务管理微服务从mq消息队列读取单据事务编排注册信息,以供单据事务管理微服务根据单据事务编排注册信息完成对单据事务编排信息的注册;单据事务编排信息中包含每一单据业务执行时需要调用的业务微服务顺序、以及各业务微服务执行单据业务过程中所发送消息的消费逻辑信息。
85.在单据业务执行服务中(即上述s106~s107),单据业务服务在部署时,通过微服务治理框架(如使用springcloud eureka或nacos等微服务治理框架)进行微服务管理。单据业务微服务启动时,只加载指向它的分组所包含的产品。由于每个分组包含的产品不交叉,一个产品的单据扩展元素只会出现在一个业务微服务中,从而避免了单据扩展元素重复加载的问题。
86.本发明一实施例中,根据业务微服务配置信息注册表、以及注册的单据事务编排信息,按序调用每一目标单据模块标识对应已注册的业务微服务执行单据业务,包括:根据业务微服务配置信息注册表、以及所示至少一个目标单据模块标识,确定每一目标单据模块标识对应的业务微服务;注册的单据事务编排信息,确定每一目标单据模块标识的调用顺序;根据每一目标单据模块标识的调用顺序,确定每一目标单据模块标识对应的业务微服务的调用顺序;根据每一目标单据模块标识对应的业务微服务的调用顺序,在微服务注册中心找到执行单据业务对应的一组业务微服务的路由地址;根据业务微服务的路由地址按序调用每一目标单据模块标识对应已注册的业务微服务执行单据业务。
87.具体的,本发明实施例要求单据业务执行过程在其元数据定义所属单据模块对应的业务微服务中进行。单据业务执行过程中,如需调用其它单据模块的业务处理时,首先根据单据模块标识从当前微服务配置文件的多模块配置中找到其它单据模块对应的业务微服务标识,然后根据业务微服务标识通过微服务注册中心找到业务微服务对应的一组路由地址,按照负载均衡策略选出一个可用的路由地址,最后根据路由地址拼接出真正的业务微服务调用地址,跳转到具体的业务微服务调用地址进行业务微服务调用。
88.本发明实施例对单据业务处理过程中出现跨业务微服务调用的处理策略包括:将一个完整的单据业务处理过程,按单据模块拆分为不同的子过程,再将这些子过程组装起来,形成一个事务编排管理结构,每个子过程对应着的一个事务编排节点。各单据业务服务下单据模块的事务编排注册信息,通过消息队列来进行收集,并由单据事务管理微服务统一管理。事务管理包括事务消息的发布,事务消息的消费等。各单据业务服务按事务编排依赖先后顺序并行执行事务编排节点,当检测到节点执行失败或超时后,根据检测原因选择自动重试执行或挂起,挂起后需完成问题修复再恢复执行,从而保证分布式环境下的最终事务一致性要求。
89.以下以一具体实例对上述单据处理方法加以说明。以某公司财务共享产品线的产品研发和实际项目应用为例,介绍本发明实施例所述的表单处理方法带来的高可扩展能力。以财务共享产品的应用实例中的费用报销业务条线为例,实现员工的费用申请和报销业务,主要包括费用预算、事项申请、商旅预订、费用报账、票据影像、共享中心、资金支付等环节,在产品模块上,主要由预算引擎、云报账、电子影像、云共享、云结算等多个模块来共
同支撑。
90.其中,如下表1所示,主要单据模块都包含有各自特有的单据模型相关内容:
91.表1
[0092][0093]
以下主要从产品开发期,项目制品期和项目运营期三个阶段进行说明:
[0094]

:开发期实现
[0095]
如图4所示,产品开发阶段,各单据模块分别由不同的团队进行研发,按单据模块实现各自的单据业务模型和逻辑处理,开发期的模型存储在单据设计子服务上。
[0096]

:制品期实现
[0097]
根据项目的规模,按需进行制品交付物打包,比如根据客户规模和业务复杂度,按需将业务微服务进行打包:
[0098]
如图5所示,针对中小规模项目:打包为一个war包单体服务方式,包含预算引擎、云报账和云结算基本业务微服务功能。
[0099]
如图6所示,针对大规模项目:打包为预算引擎服务、云报账服务、云结算服务三个微服务,包含预算引擎、云报账、云结算所有业务微服务功能。
[0100]

:运营期实现
[0101]
如图7所示,根据项目实际运营中的监测情况,动态进行调整,例如根据各类单据业务的单据量,业务高峰情况,进一步进行拆分或合并。例如可以进一步将云报账服务拆分为商旅服务和费用报销服务,按照单据模块进行动态扩容。
[0102]
本发明实施例实现了产品研发解耦,各产品可独立研发单据模块,不依赖底层平台,各产品间也不会产生依赖;产品的单据模块,根据领域模型进行模块划分,并还能具备良好的单据模型抽象和复用机制;可以很好的适应微服务架构,服务拆分边界和粒度合理。而且,可以根据需要灵活进行单据模块组合和业务微服务拆分,实现资源和性能的高效平衡,有效应对系统高并发。
[0103]
本发明实施例中还提供了一种单据业务处理装置,如下面的实施例所述。由于该装置解决问题的原理与单据业务处理方法相似,因此该装置的实施可以参见单据业务处理方法的实施,重复之处不再赘述。
[0104]
如图8所示,为本发明实施例提供的一种单据业务处理装置的示意图,包括:
[0105]
接收模块801,用于接收第一客户端上传的单据配置信息;其中,单据配置信息中包含多个单据模块、单据模块标识与产品标识之间的第一关联信息,每一单据模块中包含实现对应产品的单据业务功能的单据逻辑信息;
[0106]
第一处理模块802,用于将单据配置信息发送第二客户端,接收第二客户端根据单据配置信息发送的业务微服务配置信息;其中,业务微服务配置信息中包括:业务微服务标识、业务微服务标识与单据模块标识以及产品标识之间的第二关联信息、单据事务编排信息;
[0107]
第一注册模块803,用于根据业务微服务标识生成单据微服务注册信息,根据单据微服务注册信息在微服务注册中心对业务微服务标识对应的业务微服务进行注册;
[0108]
第二注册模块804,用于根据第二关联信息生成单据模块定义注册信息,根据单据模块定义注册信息在元数据定义微服务完成单据模块的注册,生成业务微服务配置信息注册表;
[0109]
第三注册模块805,用于根据单据事务编排信息生成单据事务编排注册信息,根据单据事务编排注册信息在单据事务管理微服务完成对单据事务编排信息的注册;
[0110]
第二处理模块806,用于接收第三客户端发送的单据业务执行指令;其中,单据业务执行指令中携带有要调用的至少一个目标单据模块标识;
[0111]
第三处理模块807,用于根据业务微服务配置信息注册表、以及注册的单据事务编排信息,按序调用每一目标单据模块标识对应已注册的业务微服务执行单据业务。
[0112]
在一种可能的实施方式中,第二注册模块,具体用于根据第二关联信息生成单据模块定义注册信息,将单据模块定义注册信息发送至mq消息队列;调用元数据定义微服务从mq消息队列读取单据模块定义注册信息,以供元数据定义微服务根据单据模块定义注册信息对单据模块进行注册,生成业务微服务配置信息注册表;其中,业务微服务配置信息注册表中包含业务微服务标识与单据模块标识以及产品标识之间的第二关联信息。
[0113]
在一种可能的实施方式中,第三注册模块,具体用于根据单据事务编排信息生成单据事务编排注册信息,将单据事务编排注册信息发送至mq消息队列;调用单据事务管理微服务从mq消息队列读取单据事务编排注册信息,以供单据事务管理微服务根据单据事务编排注册信息完成对单据事务编排信息的注册;单据事务编排信息中包含每一单据业务执行时需要调用的业务微服务顺序、以及各业务微服务执行单据业务过程中所发送消息的消费逻辑信息。
[0114]
在一种可能的实施方式中,每一单据模块中还包含用于单据功能扩展的单据扩展元素,以供在需要对产品对应的单据业务功能进行扩展时,根据产品中包含的单据模块中的扩展元素进行扩展;或者在需要对业务微服务对应的业务功能进行扩展时,根据业务微服务中包含的单据模块中的扩展元素进行扩展。
[0115]
在一种可能的实施方式中,单据配置信息中还包含单据公共模块,每一单据公共模块中包含用于单据功能扩展的单据扩展元素;业务微服务配置信息中还包含:每一业务微服务标识关联的公共模块标识;以供在需要对业务微服务对应的业务功能进行扩展时,根据业务微服务中包含的单据公共模块中的扩展元素进行扩展。
[0116]
在一种可能的实施方式中,单据扩展元素包括下述至少一种:单据模型、单据插件、单据规则、单据函数、单据控件和单据动作。
[0117]
在一种可能的实施方式中,第三处理模块,具体用于根据业务微服务配置信息注册表、以及所示至少一个目标单据模块标识,确定每一目标单据模块标识对应的业务微服务;注册的单据事务编排信息,确定每一目标单据模块标识的调用顺序;根据每一目标单据模块标识的调用顺序,确定每一目标单据模块标识对应的业务微服务的调用顺序;根据每一目标单据模块标识对应的业务微服务的调用顺序,在微服务注册中心找到执行单据业务对应的一组业务微服务的路由地址;根据业务微服务的路由地址按序调用每一目标单据模块标识对应已注册的业务微服务执行单据业务。
[0118]
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述单据业务处理方法。
[0119]
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述单据业务处理方法。
[0120]
基于前述发明构思,如图9所示,本发明还提出了一种计算机设备900,包括存储器910、处理器920及存储在存储器910上并可在处理器920上运行的计算机程序930,所述处理器920执行所述计算机程序930时实现前述单据业务处理方法。
[0121]
本发明实施例中,接收第一客户端上传的单据配置信息;其中,单据配置信息中包含多个单据模块、单据模块标识与产品标识之间的第一关联信息,每一单据模块中包含实现对应产品的单据业务功能的单据逻辑信息;将单据配置信息发送第二客户端,接收第二客户端根据单据配置信息发送的业务微服务配置信息;其中,业务微服务配置信息中包括:业务微服务标识、业务微服务标识与单据模块标识以及产品标识之间的第二关联信息、单据事务编排信息;根据业务微服务标识生成单据微服务注册信息,根据单据微服务注册信息在微服务注册中心对业务微服务标识对应的业务微服务进行注册;根据第二关联信息生成单据模块定义注册信息,根据单据模块定义注册信息在元数据定义微服务完成单据模块的注册,生成业务微服务配置信息注册表;根据单据事务编排信息生成单据事务编排注册信息,根据单据事务编排注册信息在单据事务管理微服务完成对单据事务编排信息的注册;接收第三客户端发送的单据业务执行指令;其中,单据业务执行指令中携带有要调用的至少一个目标单据模块标识;根据业务微服务配置信息注册表、以及注册的单据事务编排信息,按序调用每一目标单据模块标识对应已注册的业务微服务执行单据业务。这样,将单据业务功能的执行拆分为调用不同业务微服务的单据模块,实现单据多模块技术,降低单据各业务功能之间的耦合性,在执行单据业务时,可以跨业务微服务调用单据模块,提高单据业务功能调整的灵活性、以及提高单据业务执行的效率。
[0122]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0123]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0124]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0125]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0126]
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种单据业务处理方法,其特征在于,包括:接收第一客户端上传的单据配置信息;其中,单据配置信息中包含多个单据模块、单据模块标识与产品标识之间的第一关联信息,每一单据模块中包含实现对应产品的单据业务功能的单据逻辑信息;将单据配置信息发送第二客户端,接收第二客户端根据单据配置信息发送的业务微服务配置信息;其中,业务微服务配置信息中包括:业务微服务标识、业务微服务标识与单据模块标识以及产品标识之间的第二关联信息、单据事务编排信息;根据业务微服务标识生成单据微服务注册信息,根据单据微服务注册信息在微服务注册中心对业务微服务标识对应的业务微服务进行注册;根据第二关联信息生成单据模块定义注册信息,根据单据模块定义注册信息在元数据定义微服务完成单据模块的注册,生成业务微服务配置信息注册表;根据单据事务编排信息生成单据事务编排注册信息,根据单据事务编排注册信息在单据事务管理微服务完成对单据事务编排信息的注册;接收第三客户端发送的单据业务执行指令;其中,单据业务执行指令中携带有要调用的至少一个目标单据模块标识;根据业务微服务配置信息注册表、以及注册的单据事务编排信息,按序调用每一目标单据模块标识对应已注册的业务微服务执行单据业务。2.如权利要求1所述的单据业务处理方法,其特征在于,根据第二关联信息生成单据模块定义注册信息,根据单据模块定义注册信息在元数据定义微服务完成单据模块的注册,生成业务微服务配置信息注册表,包括:根据第二关联信息生成单据模块定义注册信息,将单据模块定义注册信息发送至mq消息队列;调用元数据定义微服务从mq消息队列读取单据模块定义注册信息,以供元数据定义微服务根据单据模块定义注册信息对单据模块进行注册,生成业务微服务配置信息注册表;其中,业务微服务配置信息注册表中包含业务微服务标识与单据模块标识以及产品标识之间的第二关联信息。3.如权利要求1所述的单据业务处理方法,其特征在于,根据单据事务编排信息生成单据事务编排注册信息,根据单据事务编排注册信息在单据事务管理微服务完成对单据事务编排信息的注册,包括:根据单据事务编排信息生成单据事务编排注册信息,将单据事务编排注册信息发送至mq消息队列;调用单据事务管理微服务从mq消息队列读取单据事务编排注册信息,以供单据事务管理微服务根据单据事务编排注册信息完成对单据事务编排信息的注册;单据事务编排信息中包含每一单据业务执行时需要调用的业务微服务顺序、以及各业务微服务执行单据业务过程中所发送消息的消费逻辑信息。4.如权利要求1所述的单据业务处理方法,其特征在于,每一单据模块中还包含用于单据功能扩展的单据扩展元素,以供在需要对产品对应的单据业务功能进行扩展时,根据产品中包含的单据模块中的扩展元素进行扩展;或者在需要对业务微服务对应的业务功能进行扩展时,根据业务微服务中包含的单据
模块中的扩展元素进行扩展。5.如权利要求1所述的单据业务处理方法,其特征在于,单据配置信息中还包含单据公共模块,每一单据公共模块中包含用于单据功能扩展的单据扩展元素;业务微服务配置信息中还包含:每一业务微服务标识关联的公共模块标识;以供在需要对业务微服务对应的业务功能进行扩展时,根据业务微服务中包含的单据公共模块中的扩展元素进行扩展。6.如权利要求4或5所述的单据业务处理方法,其特征在于,单据扩展元素包括下述至少一种:单据模型、单据插件、单据规则、单据函数、单据控件和单据动作。7.如权利要求1所述的单据业务处理方法,其特征在于,根据业务微服务配置信息注册表、以及注册的单据事务编排信息,按序调用每一目标单据模块标识对应已注册的业务微服务执行单据业务,包括:根据业务微服务配置信息注册表、以及所示至少一个目标单据模块标识,确定每一目标单据模块标识对应的业务微服务;注册的单据事务编排信息,确定每一目标单据模块标识的调用顺序;根据每一目标单据模块标识的调用顺序,确定每一目标单据模块标识对应的业务微服务的调用顺序;根据每一目标单据模块标识对应的业务微服务的调用顺序,在微服务注册中心找到执行单据业务对应的一组业务微服务的路由地址;根据业务微服务的路由地址按序调用每一目标单据模块标识对应已注册的业务微服务执行单据业务。8.一种单据业务处理装置,其特征在于,包括:接收模块,用于接收第一客户端上传的单据配置信息;其中,单据配置信息中包含多个单据模块、单据模块标识与产品标识之间的第一关联信息,每一单据模块中包含实现对应产品的单据业务功能的单据逻辑信息;第一处理模块,用于将单据配置信息发送第二客户端,接收第二客户端根据单据配置信息发送的业务微服务配置信息;其中,业务微服务配置信息中包括:业务微服务标识、业务微服务标识与单据模块标识以及产品标识之间的第二关联信息、单据事务编排信息;第一注册模块,用于根据业务微服务标识生成单据微服务注册信息,根据单据微服务注册信息在微服务注册中心对业务微服务标识对应的业务微服务进行注册;第二注册模块,用于根据第二关联信息生成单据模块定义注册信息,根据单据模块定义注册信息在元数据定义微服务完成单据模块的注册,生成业务微服务配置信息注册表;第三注册模块,用于根据单据事务编排信息生成单据事务编排注册信息,根据单据事务编排注册信息在单据事务管理微服务完成对单据事务编排信息的注册;第二处理模块,用于接收第三客户端发送的单据业务执行指令;其中,单据业务执行指令中携带有要调用的至少一个目标单据模块标识;第三处理模块,用于根据业务微服务配置信息注册表、以及注册的单据事务编排信息,按序调用每一目标单据模块标识对应已注册的业务微服务执行单据业务。9.如权利要求8所述的单据业务处理装置,其特征在于,第二注册模块,具体用于根据第二关联信息生成单据模块定义注册信息,将单据模块定义注册信息发送至mq消息队列;
调用元数据定义微服务从mq消息队列读取单据模块定义注册信息,以供元数据定义微服务根据单据模块定义注册信息对单据模块进行注册,生成业务微服务配置信息注册表;其中,业务微服务配置信息注册表中包含业务微服务标识与单据模块标识以及产品标识之间的第二关联信息。10.如权利要求8所述的单据业务处理装置,其特征在于,第三注册模块,具体用于根据单据事务编排信息生成单据事务编排注册信息,将单据事务编排注册信息发送至mq消息队列;调用单据事务管理微服务从mq消息队列读取单据事务编排注册信息,以供单据事务管理微服务根据单据事务编排注册信息完成对单据事务编排信息的注册;单据事务编排信息中包含每一单据业务执行时需要调用的业务微服务顺序、以及各业务微服务执行单据业务过程中所发送消息的消费逻辑信息。11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一所述方法。12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一所述方法。13.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一所述方法。

技术总结
本发明公开了一种单据业务处理方法及装置,涉及业务数据处理技术领域,其中该方法包括:接收第一客户端上传的单据配置信息;将单据配置信息发送第二客户端,接收第二客户端根据单据配置信息发送的业务微服务配置信息;在微服务注册中心对业务微服务标识对应的业务微服务进行注册;在元数据定义微服务完成单据模块的注册,生成业务微服务配置信息注册表;在单据事务管理微服务完成对单据事务编排信息的注册;根据业务微服务配置信息注册表、以及注册的单据事务编排信息,按序调用单据业务执行指令中每一目标单据模块标识对应已注册的业务微服务执行单据业务。本发明可以降低单据各业务功能之间的耦合性。据各业务功能之间的耦合性。据各业务功能之间的耦合性。


技术研发人员:张智权 伍炜 王站 陈文军 孙帆 冯娴
受保护的技术使用者:北京久其软件股份有限公司
技术研发日:2023.07.14
技术公布日:2023/10/15
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐