业务工程调用方法、装置及电子设备与流程

文档序号:12733087阅读:175来源:国知局
业务工程调用方法、装置及电子设备与流程

本发明涉及业务调用技术领域,具体而言,涉及一种业务工程调用方法、装置及电子设备。



背景技术:

随着互联网技术的不断发展,越来越多的企业开发出进行线上业务处理的应用程序。随着企业规模逐渐增大,业务类型逐渐增多,应用程序包括的业务组件也越来越多。

经发明人研究发现,在实际应用中,不同的业务组件通常由不同的企业部门进行开发。在对单个业务组件进行更新时,需要对整个应用程序进行编译和测试。如此,代码合入慢,效率极低。并且,由于业务组件之间会相互影响,若出现两个或者多个开发者修改同一份代码会造成代码之间的冲突,带来额外的沟通成本和时间成本。



技术实现要素:

有鉴于此,本发明的目的在于提供一种业务工程调用方法、装置及电子设备,以解决上述问题。

为了实现上述目的,本发明较佳实施例提供一种业务工程调用方法,应用于包括主工程及多个业务工程的应用程序,所述多个业务工程集成于所述主工程中,每个所述业务工程包括至少一个功能模块,所述至少一个功能模块能够独立实现该业务,所述方法包括:

获取业务执行请求,所述业务执行请求中包括该业务的标识;

根据所述标识在所述主工程中查找实现该业务所需的功能模块;以及

调用并执行所述功能模块。

可选地,在上述业务调用方法中,在获取业务执行请求之前,所述方法还包括:

所述主工程获取每个业务工程的业务注册请求,所述业务注册请求包括该业务工程的标识与实现该业务工程所需的功能模块的地址信息;以及

所述主工程将该业务工程的标识与实现该业务工程所需的功能模块的地址信息关联后进行存储。

可选地,在上述业务工程调用方法中,实现每个业务工程所需的功能模块存储于不同的代码仓库中,实现每个业务工程所需的功能模块集成于该业务工程中;所述调用并执行所述功能模块的步骤,包括:

根据所述功能模块的地址信息在该功能模块所在的代码仓库中调用该功能模块。

可选地,在上述业务工程调用方法中,,所述主工程中记录有各业务工程的当前配置信息,所述方法还包括:

针对每个业务工程,检测该业务工程中是否存在内容被更新的功能模块;以及

在检测到该业务工程中存在内容被更新的功能模块时,在主工程中更新该业务工程的配置信息。

本发明较佳实施例还提供一种业务工程调用装置,应用于包括主工程及多个业务工程的应用程序,所述多个业务工程以插件形式集成于所述主工程中,每个所述业务工程包括至少一个功能模块,所述至少一个功能模块能够独立实现该业务,所述业务工程调用装置包括:

请求获取单元,用于获取业务执行请求,所述业务执行请求中包括该业务的标识;

功能模块查找单元,用于根据所述标识在所述主工程中查找实现该业务所需的功能模块;以及

功能模块调用单元,用于调用并执行所述功能模块。

可选地,在上述业务工程调用装置中,所述业务工程调用装置还包括:

业务注册请求获取单元,用于获取每个业务工程的业务注册请求,所述业务注册请求包括该业务工程的标识与实现该业务工程所需的功能模块的地址信息;以及

关联存储单元,用于将该业务工程的标识与实现该业务工程所需的功能模块的地址信息关联后存储到所述主工程中。

可选地,在上述业务工程调用装置中,实现每个业务工程所需的功能模块存储于不同的代码仓库中,实现每个业务工程所需的功能模块集成于该业务工程;所述功能模块调用单元包括:

代码调用子单元,用于根据所述功能模块的地址信息在该功能模块所在的代码仓库中调用该功能模块。

可选地,在上述业务工程调用装置中,所述主工程中记录有各业务工程的当前配置信息,所述业务工程调用装置还包括:

更新检测单元,用于针对每个业务工程,检测该业务工程中是否存在内容被更新的功能模块;以及

配置信息更新单元,用于在检测到该业务工程中存在内容被更新的功能模块时,在主工程中更新该业务工程的配置信息。

本发明较佳实施例提供一种电子设备,所述电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序中包括主工程及多个业务工程,所述多个业务工程以插件形式集成于所述主工程中,每个所述业务工程包括至少一个功能模块,所述至少一个功能模块能够独立实现该业务,所述处理器执行所述程序时实现本发明提供的业务工程调用方法所包括的步骤。

本发明较佳实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明提供的业务工程调用方法所包括的步骤。

本发明实施例提供的业务工程调用方法、装置及电子设备,将应用程序拆分为主工程及集成于主工程的多个业务工程,每个业务工程中包括至少一个功能模块,所述至少一个功能模块能够独立实现该业务。主工程通过业务执行请求中包括的该业务的标识查找出实现该业务所需的功能模块调用并执行,如此,能够实现各业务组件的解耦合,在对单个业务工程的代码进行更新时,不必对整个应用程序重新进行编译,从而缩短单个编译时间,减小冲突概率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的一种电子设备的方框示意图。

图2为本发明实施例提供的一种业务工程调用方法的流程示意图。

图3为本发明实施例提供的业务工程调用方法的又一流程示意图。

图4为本发明实施例提供的业务工程调用方法的又一流程示意图。

图5为本发明实施例提供的一种业务工程调用装置的功能模块框图。

图6为本发明实施例提供的业务工程调用装置的又一功能模块框图。

图7为本发明实施例提供的业务工程调用装置的又一功能模块框图。

图标:100-电子设备;110-业务工程调用装置;111-请求获取单元;112-功能模块查找单元;113-功能模块调用单元;1131-代码调用子单元;114-业务注册请求获取单元;115-关联存储单元;116-更新检测单元;117-配置信息更新单元;120-存储器;130-处理器。

具体实施方式

为使本发明实施例的目的、技术方案和有点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制本发明要求保护的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

经发明人研究发现,现有的应用程序通常包括一个主工程,该主工程中包括多个业务组件。其中,主工程的工程文件与各业务组件的代码都位于同一代码库中,彼此之间耦合度高,代码复用率低。在对其中某一业务组件进行开发或更新时,必须对整个工程进行测试和更新,效率低下,且容易与其他业务组件的代码发生冲突。

若将各业务组件从主工程中拆分出来,将拆分出的各业务组件的代码分别迁移至不同的代码仓库中,并为拆分出的每个业务组件建立独立的工程文件,用于运行该业务组件。在每个业务组件的工程文件中配置实现该业务所需的其他组件,如此,使得每个业务组件能够脱离所述主工程独立运行、调试和更新,增加了代码复用率,同时也提高了业务组件进一步研发的效率。

请参阅图1,是本发明较佳实施例提供的电子设备100的方框示意图。本发明实施例中的电子设备100可以为服务器、计算机等具备数据处理能力的设备。所述电子设备100包括业务工程调用装置110、存储器120以及处理器130。

所述存储器120、处理器130以及各元件之间直接或间接地电性连接,以实现数据传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述处理器130用于执行所述存储器120中存储的可执行模块,例如所述业务工程调用装置110所包括的软件功能模块及计算机程序等。

其中,所述存储器120可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器120用于存储程序,所述处理器130在接收到执行指令后,执行所述程序。

所述处理器130可以是一种集成电路芯片,具有信号处理能力。所述处理器130可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

应当理解,图1所示的结构仅为示意,所述电子设备100可以包括比图1所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

请参阅图2,是本发明实施例提供的一种业务工程调用方法。所述业务工程调用方法应用于包括主工程及多个业务工程的应用程序,所述多个业务工程集成于所述主工程中。其中,所述多个业务工程可以插件形式集成于所述主工程中,也可以第三方库的形式集成于所述主工程中,本实施例对此不做限制。

在本实施例中,每个业务工程包括至少一个功能模块,以及用于运行所述至少一个功能模块的工程文件。所述工程文件与所述至少一个功能模块存储于不同的代码仓库中,所述工程文件中配置有实现该业务工程对应的业务所需的组件及公共业务。

其中,所述至少一个功能模块能够独立实现该业务工程对应的业务。需要说明的是,此处所述“独立实现该业务工程对应的业务”具体指所述至少一个功能模块脱离所述主工程实现该业务工程对应的业务。

在实际应用中,所述多个业务工程的实现可能需要依赖于一些公共的功能模块,在本实施例中,所述公共的功能模块可以存储于专门的代码仓库中,以便各业务工程对其进行调用。需要说明的是,所述的“专门的代码仓库”指仅用于存储所述公共的功能模块的代码仓库。

下面将对图2所示的方法步骤和具体流程进行详细阐述。

步骤S101:获取业务执行请求。

在本实施例中,获取业务执行请求的方式包括:获取所述主工程或业务工程发送的业务执行请求。也即,所述主工程可以调用各业务工程,每个所述业务工程也可以调用其他业务工程。

所述业务执行请求中包括该业务执行请求所对应的业务的标识。可选地,本实施例中,不同的标识与不同的业务工程相对应,而每个业务工程包括至少一个功能模块,也即,每个标识与至少一个功能模块相对应。

步骤S102:根据所述标识在所述主工程中查找实现该业务所需的功能模块。

步骤S103:调用并执行所述功能模块。

其中,所述标识可以为,但不限于,功能关键字。例如:餐饮业务的功能关键字可以为“food”。实施时,应用程序可以根据业务执行请求中包括的功能关键字“food”查找出实现餐饮业务工程所需的各功能模块调用并执行。

需要说明的是,各业务的标识可以根据实际需求预先进行定义,本实施例对此不做限制。

根据实际需求,在定义好各业务的标识后,还需要生成与各业务的标识相关联的业务入口。如此,所述应用程序能够根据输入的业务标识,查找到实现该业务的业务工程所在位置,从而调用并执行实现该业务所需的功能模块。

为了达到上述目的,可选地,请参阅图3,在步骤S101之前,所述业务工程调用方法还可以包括步骤S104和步骤S105。

步骤S104:所述主工程获取每个业务工程的业务注册请求。

其中,所述业务注册请求包括该业务工程的标识与实现该业务工程所需的功能模块的地址信息。

步骤S105:所述主工程将该业务工程的标识与实现该业务工程所需的功能模块的地址信息关联后进行存储。

在本实施例中,各业务工程可以通过注册机在主工程中注册各自的标识,从而生成对应的业务入口。其中,所述“业务入口”指与业务标识关联后的、实现该业务所需的功能模块的地址信息。

需要说明的是,在本实施例中,实现每个业务工程所需的功能模块存储于不同的代码仓库中,实现每个业务工程所需的功能模块集成于该业务工程,所述功能模块的地址信息指所述功能模块所在的代码仓库的地址。

通过上述设计,在实现调用的基础上加快了应用程序对各业务工程的调用速度。并且,由于实现各业务工程所需的功能模块均存储于统一代码仓库中,进一步降低了程序调用的复杂度,降低了出错率。

可选地,步骤S103可以包括以下子步骤:

根据所述功能模块的地址信息在该功能模块所在的代码仓库中调用该功能模块。

如此,当用户在主工程或者某一业务工程中输入需要执行的业务工程所对应的业务标识,所述应用程序即可根据与该业务标识相关联的地址信息,调用实现该业务工程所需的功能模块。

通过上述设计,在对某一业务工程进行更新时,可以只对该业务工程进行测试和编译,并在该业务工程更新完成后在主工程中更新该业务工程的配置信息即可,不必每次都对整个应用程序进行测试和编译。

可选地,请参阅图4,所述方法还可以包括步骤S106和步骤S107。

步骤S106:针对每个业务工程,检测该业务工程中是否存在内容被更新的功能模块。

步骤S107:在检测到该业务工程中存在内容被更新的功能模块时,在主工程中更新该业务工程的配置信息。

本实施例中,所述配置信息可以为所述主工程中配置文件的版本号。也即,针对每一业务工程,只需更新主工程中该业务工程的配置文件的版本号,即可集成该业务工程的最新功能。

可选地,每一业务工程中可以搭建有Jenkins持续集成环境,能够自动对该业务工程中新上传的代码进行检查和单元测试等。如此,能够及时修改代码错误,提高效率。

请参阅图5,本发明实施例还提供一种业务工程调用装置110。所述业务工程调用装置110包括请求获取单元111、功能模块查找单元112以及功能模块调用单元113。

其中,所述请求获取单元111用于获取业务执行请求。

在本实施例中,所述业务执行请求中包括该业务的标识。其中,获取业务执行请求的方式可以包括:获取所述主工程或业务工程发送的业务执行请求。关于所述请求获取单元111的描述具体可参考对图2中所示的步骤S101的详细描述,也即,所述步骤S101可以由所述请求获取单元111执行。

所述功能模块查找单元112用于根据所述标识在所述主工程中查找实现该业务所需的功能模块。

在本实施例中,关于所述功能模块查找单元112的描述具体可参考对图2中所示的步骤S102的详细描述,也即,所述步骤S102可以由所述功能模块查找单元112执行。

所述功能模块调用单元113用于调用并执行所述功能模块。

在本实施例中,关于所述功能模块调用单元113的描述具体可参考对图2中所示的步骤S103的详细描述,也即,所述步骤S103可以由所述功能模块调用单元113执行。

可选地,所述功能模块调用单元113可以包括代码调用子单元1131。

所述代码调用子单元1131用于根据所述功能模块的地址信息在该功能模块所在的代码仓库中调用该功能模块。关于所述代码调用子单元1131的描述具体可参考上述内容中对相应步骤的详细描述。

请参阅图6,所述业务工程调用装置110还可以包括业务注册请求获取单元114和关联存储单元115。

所述业务注册请求获取单元114用于获取每个业务工程的业务注册请求。

其中,所述业务注册请求包括该业务工程的标识与实现该业务工程所需的功能模块的地址信息。在本实施例中,关于所述业务注册请求获取单元114的描述具体可参考对图3中所示步骤S104的详细描述。也即,所述步骤S104可以由所述业务注册请求获取单元114执行。

所述关联存储单元115用于将该业务工程的标识与实现该业务工程所需的功能模块的地址信息关联后存储到所述主工程中。

在本实施例中,关于所述关联存储单元115的描述具体可参考对图3中所示步骤S105的详细描述。也即,所述步骤S105可以由所述关联存储单元115执行。

请参阅图7,所述业务工程调用装置110还可以包括更新检测单元116和配置信息更新单元117。

其中,所述更新检测单元116用于针对每个业务工程,检测该业务工程中是否存在内容被更新的功能模块。

在本实施例中,关于所述更新检测单元116的描述具体可参考对图4中所示的步骤S106的详细描述,也即所述步骤S106可以由所述更新检测单元116执行。

所述配置信息更新单元117,用于在检测到业务工程中存在内容被更新的功能模块时,在主工程中更新该业务工程的配置信息。

在本实施例中,关于所述配置信息更新单元117的描述具体可参考对图4中所示的步骤S107的详细描述,也即,所述步骤S107可以由所述配置信息更新单元117执行。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现所述业务工程调用方法的步骤。

综上所述,本发明提供的业务工程调用方法、装置及电子设备100,将应用程序拆分为主工程及集成于主工程的多个业务工程,每个业务工程中包括至少一个功能模块,所述至少一个功能模块能够独立实现该业务。主工程通过业务执行请求中包括的该业务的标识查找出实现该业务所需的功能模块调用并执行,如此,能够实现各业务组件的解耦合,在对单个业务工程的代码进行更新时,不必对整个应用程序重新进行编译,从而缩短单个编译时间,减小冲突概率。

在本发明实施例所提供的几个实施例中,应该理解到,所揭露的系统和方法,也可以通过其它的方式实现。以上所描述的系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1