一种多系统集成方法、装置、电子设备及介质与流程

文档序号:31630970发布日期:2022-09-24 01:57阅读:94来源:国知局
一种多系统集成方法、装置、电子设备及介质与流程

1.本发明涉及软件集成技术领域,特别是涉及一种多系统集成方法、装置、电子设备及介质。


背景技术:

2.随着数字经济的发展以及企业管理要求的提高,企业对内部的多系统之间的集成需求愈发强烈,如业务系统与财务系统的集成、营销系统与会员系统的集成、数据中台与各业务系统之间的集成等。但是,在使用现有技术过程中,发明人发现现有技术中至少存在如下问题:
3.现有的系统集成通常通过技术人员基于sdk(software development kit,软件开发工具包)编写程序代码来实现,这种方式研发周期长,稳定性差,对技术人员的能力要求高,主要体现在以下几方面:a、研发流程上需要经过设计、编码、编译、打包、测试、发布、上线、使用等过程,中间任何一个环节出现问题都需要重新走一遍流程;b、需求变更在项目中是不可避免的,哪怕一个小的变更也会使研发团队花费较长时间才能保证集成系统正常上线;c、设计能力、代码质量决定了集成系统的健壮性和可扩展性,而开发人员的能力良莠不齐,这就导致代码异味、bug越来越多,集成系统在后期愈发难以维护。因而,有必要研究一种系统集成效率高,对技术人员要求低的多系统集成方法。


技术实现要素:

4.本发明旨在至少在一定程度上解决上述技术问题,本发明提供了一种多系统集成方法、装置、电子设备及介质。
5.本发明采用的技术方案是:
6.第一方面,本发明提供了一种多系统集成方法,包括:
7.获取应用指令信息,所述应用指令信息包括多个待集成系统及多个待集成系统之间的交互信息;
8.根据应用指令信息获取所述应用指令信息对应的多个业务流水线;
9.获取多个所述业务流水线分别对应的多个任务节点;
10.获取任一所述业务流水线中指定任务节点对应的配置信息;
11.根据当前任务节点对应的配置信息,对指定待集成系统的接口进行调用,以便从指定待集成系统中提取任务数据;
12.将所述任务数据作为下一任务节点的输入参数输入至所述业务流水线的下一任务节点中进行处理,以便对另一待集成系统的接口进行调用,直到所述业务流水线中的所有任务节点均执行动作,由此完成多个待集成系统之间的数据交互。
13.本发明可快速实现各软件系统的对接,不需要进行程序代码编写即可实现多系统集成,系统集成效率高,便于解放人力。具体地,本发明在实施过程中,首先,获取应用指令信息,以便确认待集成系统及其交互信息,然后根据应用指令信息获取所述应用指令信息
对应的多个业务流水线,并获取多个所述业务流水线分别对应的多个任务节点及任务节点对应的配置信息,最后根据当前任务节点对应的配置信息,对指定待集成系统的接口进行调用,直到所述业务流水线中的所有任务节点均执行动作,由此完成多个待集成系统之间的数据交互。在此过程中,用户只需提前根据应用指令信息设置对应的业务流水线、任务节点及配置信息,即可实现对待集成系统的接口的调用,用户进行多系统集成的操作过程方便快捷,对技术人员的要求低,避免现有技术编写程序代码的方式进行多系统集成带来的研发周期长、稳定性差及过度依赖技术人员能力等问题,具备推广应用的价值。
14.在一个可能的设计中,所述配置信息包括前置条件配置信息、执行计划配置信息、请求配置信息及响应配置信息;根据当前任务节点对应的配置信息,对指定待集成系统的接口进行调用,包括:
15.判断所述前置条件是否校验成功,若是,则根据所述执行计划配置信息确定当前任务节点的执行流程;
16.依照所述执行流程对当前任务节点进行执行,并根据所述请求配置信息对指定待集成系统的接口进行调用;
17.对指定待集成系统的接口进行调用时,根据所述响应配置信息进行响应。
18.在一个可能的设计中,判断所述前置条件是否校验成功时,若否,则跳过当前任务节点,退出当前业务流水线并标记当前业务流水线运行失败,或,退出当前业务流水线并标记当前业务流水线运行成功。
19.在一个可能的设计中,所述执行流程包括顺序执行和循环执行。
20.在一个可能的设计中,所述请求配置信息包括请求方式、请求地址、请求头、请求参数和请求体。
21.在一个可能的设计中,所述响应配置信息包括错误处理配置信息和数据解析配置信息;根据所述响应配置信息进行响应,包括:
22.判断指定待集成系统的接口是否调用成功,若是,则进入下一步:
23.根据所述错误处理配置信息判断从指定待集成系统中提取的任务数据是否合法,若是,则根据所述数据解析配置信息对所述任务数据进行解析,以便将解析后数据作为下一任务节点的输入参数输入至所述业务流水线的下一任务节点中进行处理。
24.在一个可能的设计中,所述多系统集成方法还包括:
25.获取所述业务流水线对应的报警设置信息,并在所述业务流水线运行成功或运行失败时输出对应的运行状态信息。
26.第二方面,本发明提供了一种多系统集成装置,用于实现如上述任一项所述的多系统集成方法;所述多系统集成装置包括:
27.应用指令信息获取模块,用于获取应用指令信息,所述应用指令信息包括多个待集成系统及多个待集成系统之间的交互信息;
28.业务流水线获取模块,用于根据应用指令信息获取所述应用指令信息对应的多个业务流水线;
29.任务节点获取模块,用于获取多个所述业务流水线分别对应的多个任务节点;
30.配置信息获取模块,用于获取任一所述业务流水线中指定任务节点对应的配置信息;
31.数据处理模块,用于根据当前任务节点对应的配置信息,对指定待集成系统的接口进行调用,以便从指定待集成系统中提取任务数据;还用于将所述任务数据作为下一任务节点的输入参数输入至所述业务流水线的下一任务节点中进行处理,以便对另一待集成系统的接口进行调用,直到所述业务流水线中的所有任务节点均执行动作,由此完成多个待集成系统之间的数据交互。
32.第三方面,本发明提供了一种电子设备,包括:
33.存储器,用于存储计算机程序指令;以及,
34.处理器,用于执行所述计算机程序指令从而完成如上述任一项所述的多系统集成方法的操作。
35.第四方面,本发明提供了一种计算机可读存储介质,用于存储计算机可读取的计算机程序指令,所述计算机程序指令被配置为运行时执行如上述任一项所述的多系统集成方法的操作。
附图说明
36.图1是本发明中一种多系统集成方法的流程图;
37.图2是本发明中一种多系统集成装置的模块框图;
38.图3是本发明中一种电子设备的模块框图。
具体实施方式
39.下面结合附图及具体实施例来对本发明作进一步阐述。
40.应当理解,在一些备选实施例中,所出现的功能/动作可能与附图出现的顺序不同。例如,取决于所涉及的功能/动作,实际上可以实质上并发地执行,或者有时可以以相反的顺序来执行连续示出的两个图。
41.实施例1:
42.本实施例第一方面提供了一种多系统集成方法,可以但不限于由具有一定计算资源的计算机设备或虚拟机执行,例如由个人计算机、智能手机、个人数字助理或可穿戴设备等电子设备执行,或者由虚拟机执行,以便快速实现各软件系统的对接,同时解放人力。
43.如图1所示,一种多系统集成方法,可以但不限于包括有如下步骤:
44.s1.获取应用指令信息,所述应用指令信息包括多个待集成系统及多个待集成系统之间的交互信息,所述应用指令信息如为“财务系统对接erp(enterprise resource planning,企业资源计划)系统”,多个待集成系统之间的交互信息用以表示集成多个待集成系统时多个待集成系统之间的交互情况。
45.s2.根据应用指令信息获取所述应用指令信息对应的多个业务流水线;需要说明的是,所述业务流水线为执行所述应用指令信息所需要执行的多个任务信息,如当应用指令信息为“财务系统对接erp系统”时,该应用指令信息对应包括“将财务系统的存货档案同步到erp系统”,“将erp系统的销售出库单同步到财务系统”等业务流水线;在实施过程中,多个业务流水线的执行顺序按其排列顺序依次进行。
46.s3.获取多个所述业务流水线分别对应的多个任务节点;需要说明的是,一条业务流水线上对应有多个任务节点,在实施过程中,多个任务节点的执行顺序按其排列顺序依
次进行,如业务流水线为“将财务系统的存货档案同步到erp系统”时,其对应的任务节点包括“获取财务系统的存货档案”和“将存货档案写入到erp系统”两个任务节点;本实施例中,所述任务节点对应的类型包括http(hyper text transfer protocol,超文本传输协议)类型任务及数据源类型任务等,其中执行http类型的任务节点时需要待集成系统开放http接口,以便其被调用,本实施例支持rest(representational state transfer,表述性状态传递,一种软件架构风格)、web service(一个基于可编程的web的应用程序)、form表单(一个系统标签)等多种类型的开放接口,执行数据源类型的任务节点时,本实施例支持mysql(一个关系型数据库管理系统)、sqlserver(microsoft公司开发的一款数据库管理系统)、oracle(甲骨文公司开发的一款关系数据库管理系统)数据源的链接。
47.s4.获取任一所述业务流水线中指定任务节点对应的配置信息;具体地,所述配置信息包括前置条件配置信息、执行计划配置信息、请求配置信息及响应配置信息。
48.s5.根据当前任务节点对应的配置信息,对指定待集成系统的接口进行调用,以便从指定待集成系统中提取任务数据。
49.步骤s5中,根据当前任务节点对应的配置信息,对指定待集成系统的接口进行调用,包括:
50.s501.获取当前任务节点的前置条件,并根据当前任务节点对应的前置条件配置信息,对所述前置条件进行校验;需要说明的是,前置条件是指当前任务节点执行的前置条件,可采用逻辑表达式的形式设置前置条件,并根据业务节点的要求设置不满足条件所触发的逻辑流程,如跳过当前任务节点,退出当前业务流水线并标记当前业务流水线运行失败,或,退出当前业务流水线并标记当前业务流水线运行成功。
51.s502.判断所述前置条件是否校验成功,若是,则进入步骤s503,若否,则进入步骤s504。
52.s503.根据所述执行计划配置信息确定当前任务节点的执行流程,然后进入步骤s505。
53.本实施例中,所述执行流程根据所述执行计划配置信息包括顺序执行和循环执行。其中,顺序执行:表示执行一次当前任务节点,此时指定待集成系统的接口对应调用一次;循环执行:表示在输入值满足指定条件时对当前任务节点进行循环执行,以在满足指定条件时,对指定待集成系统重复进行接口调用。
54.具体地,本实施例中,所述循环执行有如下表现形式:根据总数量进行分页执行、模型循环、groovy(一种基于java虚拟机的敏捷开发语言)脚本循环、递归执行和固定页码分页执行。
55.其中,根据总数量进行分页执行:表示当前任务节点会分页执行多次,用于接口分页调用的场景,设置内容包括“分页总数量”、“每页大小”、“页号是否从0开始”,其中,“分页总数量”为引用类型配置格式为#{key},设置后系统会根据总数量除以“每页大小”计算出页数,假设页数计算后结果为n,则当前任务节点会循环执行n次且每次执行会自动带一个页码的参数,该参数会作为任务执行的输入参数,循环第一次页码参数为1,第二次页码参数为2,
……
第n次页码参数为n。模型循环:表示当前任务节点根据当前业务流水线的任务数据进行多次调用,其中任务数据来源于当前业务流水线已执行的任务结果,一般应用于更新任务数据的属性或者基于任务数据进行数据写入的场景,设置内容包括“模型数组”、“循环执行条件”,其中,“模型数组”为引用的任务数据的类型,假设模型数组的长度为n则当前任务节点会循环执行n次且每次执行会把循环出来的任务数据作为任务执行的输入参数,“循环执行条件”为逻辑表达式表示当前循环出来的任务数据是否允许任务执行。groovy脚本循环执行:表示当前任务节点根据自定义脚本生成的模型数组进行多次调用,设置内容包括“递归条件”,其与“模型循环执行”的区别在于其是根据当前业务流水线的运行参数进行二次计算生成的模型数组而不是直接使用当前业务流水线的任务数据。递归执行:表示当前任务节点执行完成后校验递归条件,如果递归条件计算为真则继续执行,为否则跳出执行。固定页码分页执行:表示当前任务节点根据设置的分页数进行多次调用,设置内容为“分页数”其与“根据总数量进行分页执行”的区别在于其不需要计算页数,其它处理逻辑与“根据总数量进行分页执行”一致。
56.本实施例中,根据所述执行计划配置信息确定当前任务节点的执行流程,包括:根据所述执行计划配置信息,依次确定当前任务节点的执行流程是否为顺序执行、根据总数量进行分页执行、模型循环、groovy脚本循环或递归执行和固定页码分页执行,以便确定当前执行流程,并在确定执行流程后,依照所述执行流程对当前任务节点进行执行。
57.s504.跳过当前任务节点,退出当前业务流水线并标记当前业务流水线运行失败,或,退出当前业务流水线并标记当前业务流水线运行成功。具体地,跳过当前任务节点:表示不调用当前指定待集成系统接口,但是继续执行后续的任务节点;退出当前业务流水线并标记当前业务流水线运行失败:表示不调用当前指定待集成系统接口,不执行后续的任务节点,且标记当前业务流水线运行失败;退出当前业务流水线并标记当前业务流水线运行成功:表示不调用当前指定待集成系统接口,不执行后续的任务节点,且标记当前业务流水线运行成功。
58.s505.依照所述执行流程对当前任务节点进行执行,并根据所述请求配置信息对指定待集成系统的接口进行调用。
59.本实施例中,所述请求配置信息包括请求方式、请求地址、请求头headers、请求参数params和请求体body,所述请求配置信息的具体内容需要根据待进行调用的指定待集成系统的接口的要求设置,此处不予赘述。其中,请求参数params的参数类型包括值类型、引用类型、xml(可扩展标记语言)格式参数、json(javascript object notation,js对象简谱)格式参数、groovy格式参数、系统插件参数等,请求体body支持xml、json、form-data(表单数据)格式数据。
60.需要说明的是,请求头header一般用来存放一些cookie(储存在用户本地终端上的数据)信息,token(令牌)信息;请求体body一般用来存储post的参数和参数数据。
61.对应的,根据所述执行流程根据所述执行计划配置信息包括顺序执行和循环执行,以及所述循环执行包括:根据总数量进行分页执行、模型循环、groovy脚本循环、递归执行和固定页码分页执行,本实施例中,依照所述执行流程对当前任务节点进行执行,并根据所述请求配置信息对指定待集成系统的接口进行调用,依次包括:读取请求配置信息;解析请求头;解析请求参数;解析请求体;根据所述请求配置信息对指定待集成系统的接口进行调用。
62.具体地,对指定待集成系统的接口进行调用时,根据所述响应配置信息进行响应。
63.本实施例中,所述响应配置信息包括错误处理配置信息和数据解析配置信息;根
据所述响应配置信息进行响应,包括:
64.判断指定待集成系统的接口是否调用成功,若是,则进入下一步:
65.根据所述错误处理配置信息判断从指定待集成系统中提取的任务数据是否合法,若是,则根据所述数据解析配置信息对所述任务数据进行解析,以便将解析后数据作为下一任务节点的输入参数输入至所述业务流水线的下一任务节点中进行处理。
66.s6.将所述任务数据作为下一任务节点的输入参数输入至所述业务流水线的下一任务节点中进行处理,以便对另一待集成系统的接口进行调用,直到所述业务流水线中的所有任务节点均执行动作,由此完成多个待集成系统之间的数据交互。
67.现有技术中,程序上线以后,如各系统之间的数据传输出现异常,需要业务方主动提出或者技术人员查看程序运行日志才能及时发现,很难快速定位问题,为解决该问题,本实施例进一步作出以下改进:所述多系统集成方法还包括:
68.s7.获取所述业务流水线对应的报警设置信息,并在所述业务流水线运行成功或运行失败时输出对应的运行状态信息。需要说明的是,对应的运行状态信息可以但不仅限于输出至用户的即时通讯软件(如钉钉、微信)或邮箱,此处不予限制,通过该步骤可实现问题的主动跟踪,以便技术人员实时了解多系统集成过程中的运行状态,便于技术人员快速发现问题进而快速响应以解决问题。
69.本实施例可快速实现各软件系统的对接,不需要进行程序代码编写即可实现多系统集成,系统集成效率高,便于解放人力。具体地,本实施例在实施过程中,首先,获取应用指令信息,以便确认待集成系统及其交互信息,然后根据应用指令信息获取所述应用指令信息对应的多个业务流水线,并获取多个所述业务流水线分别对应的多个任务节点及任务节点对应的配置信息,最后根据当前任务节点对应的配置信息,对指定待集成系统的接口进行调用,直到所述业务流水线中的所有任务节点均执行动作,由此完成多个待集成系统之间的数据交互。在此过程中,用户只需提前根据应用指令信息设置对应的业务流水线、任务节点及配置信息,即可实现对待集成系统的接口的调用,用户进行多系统集成的操作过程方便快捷,对技术人员的要求低,避免现有技术编写程序代码的方式进行多系统集成带来的研发周期长、稳定性差及过度依赖技术人员能力等问题,具备推广应用的价值。
70.本实施例基于流水线的思维方式,通过配置的手段实现多系统之间的对接,相比现有的sdk开发程序包的方式通用性更强,相比硬编码的方式更简单快速。
71.实施例2:
72.本实施例提供一种多系统集成装置,用于实现实施例1中多系统集成方法;所述多系统集成装置包括:
73.应用指令信息获取模块,用于获取应用指令信息,所述应用指令信息包括多个待集成系统及多个待集成系统之间的交互信息;
74.业务流水线获取模块,用于根据应用指令信息获取所述应用指令信息对应的多个业务流水线;
75.任务节点获取模块,用于获取多个所述业务流水线分别对应的多个任务节点;
76.配置信息获取模块,用于获取任一所述业务流水线中指定任务节点对应的配置信息;
77.数据处理模块,用于根据当前任务节点对应的配置信息,对指定待集成系统的接
口进行调用,以便从指定待集成系统中提取任务数据;还用于将所述任务数据作为下一任务节点的输入参数输入至所述业务流水线的下一任务节点中进行处理,以便对另一待集成系统的接口进行调用,直到所述业务流水线中的所有任务节点均执行动作,由此完成多个待集成系统之间的数据交互。
78.实施例3:
79.在实施例1或2的基础上,本实施例公开了一种电子设备,该设备可以是智能手机、平板电脑、笔记本电脑或者台式电脑等。电子设备可能被称为用于终端、便携式终端、台式终端等,如图3所示,电子设备包括:
80.存储器,用于存储计算机程序指令;以及,
81.处理器,用于执行所述计算机程序指令从而完成如实施例1中任一所述的多系统集成方法的操作。
82.具体地,处理器301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器301可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。
83.存储器302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本技术中实施例1提供的多系统集成方法。
84.在一些实施例中,终端还可选包括有:通信接口303和至少一个外围设备。处理器301、存储器302和通信接口303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与通信接口303相连。具体地,外围设备包括:射频电路304、显示屏305和电源306中的至少一种。
85.通信接口303可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器301和存储器302。在一些实施例中,处理器301、存储器302和通信接口303被集成在同一芯片或电路板上;在一些其他实施例中,处理器301、存储器302和通信接口303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
86.射频电路304用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路304通过电磁信号与通信网络以及其他通信设备进行通信。
87.显示屏305用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。
88.电源306用于为电子设备中的各个组件进行供电。
89.实施例4:
90.在实施例1至3任一项实施例的基础上,本实施例公开了一种计算机可读存储介
质,用于存储计算机可读取的计算机程序指令,所述计算机程序指令被配置为运行时执行如实施例1所述的多系统集成方法的操作。
91.需要说明的是,所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
92.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
93.最后应说明的是,本发明不局限于上述可选的实施方式,任何人在本发明的启示下都可得出其他各种形式的产品。上述具体实施方式不应理解成对本发明的保护范围的限制,本发明的保护范围应当以权利要求书中界定的为准,并且说明书可以用于解释权利要求书。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1