CN113051276B - 配置业务服务的方法、装置、计算机设备及存储介质 - Google Patents
配置业务服务的方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113051276B CN113051276B CN202110430663.7A CN202110430663A CN113051276B CN 113051276 B CN113051276 B CN 113051276B CN 202110430663 A CN202110430663 A CN 202110430663A CN 113051276 B CN113051276 B CN 113051276B
- Authority
- CN
- China
- Prior art keywords
- service
- business
- target
- client
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Abstract
本申请公开配置业务服务的方法、装置、计算机设备及存储介质,涉及数据缓存技术领域,该方法包括:获取待配置的目标业务的业务逻辑;按照业务功能将业务逻辑划分为业务模块集合,业务模块集合包括多个业务模块,每个业务模块对应一种业务功能;按照工作流流程中的业务规则,分别设置各业务模块之间的初始执行顺序,以生成目标业务服务;配置并向客户端发送目标业务服务和参数集合,目标业务服务和参数集合用于客户端接收到用户对目标业务的交互指令后,按照各业务模块之间的初始执行顺序依次匹配不同的业务逻辑,以按照业务逻辑执行对应的业务模块。本方案能够将服务端的中心化访问分散到各客户端,解决服务端不可用的风险。
Description
技术领域
本申请涉及数据缓存技术领域,尤其涉及一种配置业务服务的方法、装置、计算机设备及存储介质。
背景技术
在系统架构中,对于系统的关键服务,由于会存在大量的调用,所以因为大量的调用产生性能瓶颈或因关键服务宕机等故障而导致这些关键服务不可用,最终导致与关键服务关联的业务中断。
虽然目前已经采用提高关键服务的可用性、机器性能或增加机器数量等解决方案来提高关键服务的容错率,但是,这些解决方案依然存在关键服务不可用所引起的风险。
发明内容
本申请实施例提供了一种配置业务服务的方法、装置、计算机设备及存储介质,旨在解决现有技术中因为大量的调用产生性能瓶颈或因关键服务宕机等故障而导致这些关键服务不可用,最终导致与关键服务关联的业务中断的问题。
第一方面,本申请实施例提供了一种配置业务服务的方法,其包括:
获取待配置的目标业务的业务逻辑,所述业务逻辑包括多条业务规则;
按照业务功能将所述业务逻辑划分为业务模块集合,所述业务模块集合包括多个业务模块,每个业务模块对应一种业务功能;
确定所述目标业务对应的工作流流程,所述工作流流程用于指示执行所述目标业务的各操作之间的业务规则;
按照所述工作流流程中的业务规则,分别设置所述业务模块集合中各业务模块之间的初始执行顺序,以生成目标业务服务;
配置参数集合,所述参数集合包括所述目标业务服务的使用参数;
向客户端发送所述目标业务服务和所述参数集合,所述目标业务服务和所述参数集合用于所述客户端接收到用户对所述目标业务的交互指令后,按照各业务模块之间的初始执行顺序依次匹配不同的业务逻辑,以按照业务逻辑执行对应的业务模块。
第二方面,本申请实施例提供了一种业务服务配置装置,其包括:
收发模块,用于获取待配置的目标业务的业务逻辑,所述业务逻辑包括多条业务规则;
处理模块,用于按照业务功能将所述业务逻辑划分为业务模块集合,所述业务模块集合包括多个业务模块,每个业务模块对应一种业务功能;
所述处理模块还用于确定所述目标业务对应的工作流流程,所述工作流流程用于指示执行所述目标业务的各操作之间的业务规则;按照所述工作流流程中的业务规则,分别设置所述业务模块集合中各业务模块之间的初始执行顺序,以生成目标业务服务;配置参数集合,所述参数集合包括所述目标业务服务的使用参数;
所述收发模块还用于向客户端发送所述目标业务服务和所述参数集合,其中,所述目标业务服务和所述参数集合用于所述客户端接收到用户对所述目标业务的交互指令后,按照各业务模块之间的初始执行顺序依次匹配不同的业务逻辑,以按照业务逻辑执行对应的业务模块。
第三方面,本申请实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的配置业务服务的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的配置业务服务的方法。
本申请实施例提供了一种配置业务服务的方法、装置、计算机设备及存储介质,由于服务端在配置业务服务时,先将业务逻辑模块化为多个业务模块,且配置多个业务模块之间的执行顺序,然后按照所述工作流流程分别设置所述业务模块集合中各业务模块之间的初始执行顺序,最终生成目标业务服务。因此,基于该目标业务服务配置的参数集合中的使用参数能够使用该目标业务服务。那么,一方面中,由于目标业务服务和使用参数在客户端本地缓存,因此客户端可直接使用本地缓存提供该目标业务服务;另一方面中,当服务端发生更新时,能够使得预先集成客户端预先集成了服务端的软件开发工具包的客户端可以基于软件开发工具包再次从服务端拉取更新的相关数据(例如目标业务服务和/或使用参数),并更新到客户端的本地缓存,由于目标业务服务和使用参数存在客户端本地缓存,因此客户端基于本地缓存即可向客户端的用户提供该目标业务服务。可见,通过这种方式,能够将服务端的能力在客户端进行复刻,将服务端的中心化访问分散到各客户端,即便服务端出现大量的调用出现性能瓶颈或因关键服务宕机等故障时,客户端侧也可以继续提供目标业务服务,进而能够解决服务端不可用的风险,对整个业务服务系统群的性能进行削峰处理。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请实施例提供的配置业务服务的方法的应用场景示意图;
图1b为本申请实施例提供的配置业务服务的方法的流程示意图;
图2为本申请实施例提供的配置业务服务的方法的流程示意图;
图3为本申请实施例提供的业务服务配置装置的示意性框图;
图4为本申请实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
参阅图1a-图2,图1a为本申请实施例提供的配置业务服务的方法的应用场景示意图,图1b为本申请实施例提供的配置业务服务的方法的流程示意图。图1a中,涉及客户端和服务端(例如部署了业务服务的服务器)之间的交互。客户端通过网络向服务端发送访问消息,服务器调用与该业务服务关联的至少一个关键服务,由于此时对关键服务的调用次数太集中且太多,所以服务端向客户端下发业务服务和使用参数,使得客户端通过其集成部署的SDK将业务服务和使用参数缓存在本地,然后客户端连接SDK的程序接口,即可在本地使用该业务服务。
一些实施方式中,工作流流程可基于工作流引擎实现。工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。工作流引擎包括流程的节点管理、流向管理、流程样例管理等重要功能。如图1b所示,服务端包括业务模块、工作流引擎和使用参数模块。业务模块、工作流引擎和使用参数模块三者结合对业务服务进行配置后,向多个客户端(图1b中仅标识出客户端1)广播当前业务服务发生变更的通知消息。客户端1收到通知消息后,先指定该业务服务,然后通过该客户端1集成部署的SDK的接口从服务端拉取与该业务服务相关的配置、业务服务和使用参数,并保存在在客户端1的本地缓存。
图2为本申请实施例提供的配置业务服务的方法的流程示意图,该配置业务服务的方法应用于服务器中,该方法通过安装于服务器中的应用软件进行执行。如图2所示,该方法包括步骤S101~S106。
S101、获取待配置的目标业务的业务逻辑。
其中,业务逻辑是指用代码实现的真实业务的规则映射。
业务在开发层面有两种存在形式:数据业务,人机交互业务。站在后端开发的角度,只看到数据的业务,但在实际开发中,前端开发需要兼顾数据业务和人机交互业务。其中,数据业务由持久化数据和逻辑代码构成。不同业务对象之间的联系和约束,并将这些联系和约束一条条列出来,形成一个列表。这列表中的每一条就是一条规则,这些规则的总和则是这个业务的业务逻辑。
S102、按照业务功能将所述业务逻辑划分为业务模块集合。
其中,所述业务模块集合包括多个业务模块,每个业务模块对应一种业务功能。
一些实施方式中,由于业务逻辑是一条条的业务规则,那么就可以在代码层面对业务规则进行管理。对于前端则是进行路由管理。具体来说,将每一个route对应一条业务规则,每一个url对应某一时刻后端接口输出的业务数据,随着后端接口业务数据的变化,不同的业务规则会被使用,而没有匹配到的业务规则会被屏蔽,从而,在界面上呈现出根据业务逻辑而提供对应的人机交互的效果。那么可将业务逻辑划分为多个业务模块。一些实施方式中,所述按照业务功能将所述业务逻辑划分为业务模块集合,包括:
确定所述目标业务对应的业务功能集合,所述业务功能集合中包括多个业务功能;
按照业务功能对所述业务逻辑进行划分,得到多个功能模块;
将所述多个功能模块中相同的功能模块分为一组;
将每组功能模块用同一种业务模块替代,得到所述业务模块集合,同一组功能模块对应一个业务模块。
可见,按照业务功能将业务逻辑划分为多个功能模块,且业务模块集合中的同一组功能模块对应一个业务模块,因此,能够使得每一个执行顺序对应一条业务规则,即按照执行顺序去依次匹配不同的业务规则,每一个页面访问地址对应某一时刻后端接口输出的业务数据,随着后端接口业务数据的变化,不同的业务规则会被使用。因此,没有对应执行顺序的业务规则就不会被匹配到,没有匹配到的业务规则会被屏蔽,从而,在界面上呈现出根据业务逻辑而提供对应的人机交互的效果。
S103、确定所述目标业务对应的工作流流程。
其中,工作流流程是指业务过程的部分或整体在计算机应用环境下的自动化程序。工作流流程可将需要完成某个流程的各个任务(例如任务可通过业务模块实现)组合起来,实现自动化的完成这些任务。工作流流程是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流属于计算机支持的协同工作(CSCW)的一部分。
一些实施方式中,工作流流程可基于工作流引擎实现。工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。工作流引擎包括流程的节点管理、流向管理、流程样例管理等重要功能。
S104、按照所述工作流流程中的业务规则,分别设置所述业务模块集合中各业务模块之间的初始执行顺序,以生成目标业务服务。
本申请实施例中,可先确定所述业务功能集合对应的业务模块集合,所述业务模块集合包括与所述业务功能集合中各业务功能对应的目标业务模块;然后确定所述目标业务对应的工作流,按照所述工作流分别设置各目标业务模块之间的初始执行顺序,以生成目标业务服务。
一些实施方式中,为了提高关键服务在特定时段内的并发调用情况时,保证该目标关键服务不中断。具体来说,所述方法还包括:
1、分别为服务器中的至少一个关键服务设置上限值。
其中,所述上限值为并发调用关键服务的上限值;每个关键服务可分别设置不同或相同上限值,具体各关键服务设置的上限值可以根据关键服务的优先级、在特定时段内的并发调用数量等设置,本申请不对此作限定。
一些实施方式中,以各关键服务设置的上限值根据关键服务在特定时段内的并发调用数量等设置为例,包括:
a、获取目标关键服务的历史调用数据,所述历史调用数据包括至少一个计数周期内的调用数据;例如包括30天内的调用数据,该调用数据可为图表、曲线图或者调用分布图(例如包括调用时段和调用次数等)等,本申请不对此作限定。
b、从所述历史调用数据中确定目标次数高于预设次数的目标关键服务,所述目标次数为在相同计数周期内的同一计数时段内的调用次数高于预设次数的调用次数。例如,关键服务a在day1、day3、day4、day5、day8、day13、day15、day17、day18、day23、day24、day27、day28、day29和day30的时段20:20-21:30之间的调用次数均高于10万,那么,可以确定该时段20:20-21:30为该关键服务a的特定时段。
可以理解的是,每个关键服务均对应一个特定时段,不同关键服务的特定时段之间是否存在重叠或覆盖,本申请不对此作限定。
c、按照各目标关键服务的目标次数,分别为各目标关键服务设置对应的上限值。
2、实时监控各关键服务在对应特定时段内的实时调用次数。
3、当实时调用次数与预设次数之间的差值小于预设极限值时,根据当前在线的客户端的实时能力参数确定目标客户端。
实时能力参数可包括:客户端的硬件处理能力参数、客户端的负荷状态。
4、向目标客户端发送第一消息,所述第一消息用于指示目标客户端从服务器获取该目标关键服务、以及该目标关键服务的使用参数。
5、接收目标客户端基于第一消息返回的第一确认响应后,向所述目标客户端发送该目标关键服务、以及该目标关键服务的使用参数。
可见,通过在监测到目标关键服务即将达到上限值,预测出可能会导致该目标关键服务不可用时,向目标客户端发起关键服务转移的请求,从而将该目标关键服务转移到目标客户端,使得该目标关键服务能够继续提供对应的服务,从而保证该目标关键服务不中断。
一些实施方式中,以各关键服务设置的上限值根据关键服务在特定时段内的并发调用数量等设置还可以通过神经网络实现,例如,将上述历史调用数据输入预设模型,以对该预设模型进行模型训练,使得该预设模型具备输出上限值、监控关键服务的实时调用次数是否达到预设次数、以及基于关键服务的实时调用次数预测在未来的目标时长内实时调用次数达到预设次数的目标关键服务。相应的,当预测到目标关键服务后,就可以在该目标时长内确定目标客户端,以保证在目标时长之后能够无缝衔接该目标关键服务的运营,可见,通过预测和提前做好对目标关键服务的接替工作,能够保证关键服务的稳定性。
另一些实施方式中,若在目标时长内可能会出现至少两个目标关键服务,则可分别针对各项目标关键服务进行服务接替工作的分配。具体来说,可以先找出当前具备服务接替工作条件的至少一个目标客户端,然后分析这些目标客户端的能力。再基于各目标客户端的能力进行服务接替工作的分配。可以将至少两个目标关键服务的接替工作分配给同一个目标客户端,也可以分别将一个目标关键服务的接替工作分配给一个目标客户端,以保证不影响目标客户端的性能的同时还保证该目标关键服务的稳定性。具体本申请不对此作限定。
S105、配置参数集合。
其中,所述参数集合包括所述目标业务服务的使用参数。使用参数也可称作业务参数,本申请不对此作限定。对目标业务服务配置好使用参数后,目标业务服务就可以生效,以便后续启用目标业务服务。业务参数是表示一种具有特殊含义的变量,可用于业务表达式中或当作公用变量使用。例如目标业务服务为交易系统的服务时,业务参数可包括用户账户和密码、行情的前置地址、以及交易的前置地址。
一些实施方式中,业务参数的配置可以参数表为单位且基于事先开发好的参数配置流程进行参数配置与管理,本申请不对此作限定。
S106、向客户端发送所述目标业务服务和所述参数集合。
其中,所述目标业务服务和所述参数集合用于所述客户端接收到用户对所述目标业务的交互指令后,按照各业务模块之间的初始执行顺序依次匹配不同的业务逻辑,以按照业务逻辑执行对应的业务模块,即在客户端侧直接面向用户提供目标业务服务,实现人机交互。
一些实施方式中,服务器可以以广播方式向多个客户端下发该目标业务服务和参数集合,以通知客户端获取更新的业务数据并更新到客户端本地。
相应的,客户端集成服务端的软件开发工具包(Software Development Kit,SDK),SDK的主要内容为工作流引擎及可解释语言的执行机(即相当于解码),并按客户端指定业务服务类型从服务端拉取完整的业务服务和使用参数,并在本地进行缓存,当本地存在缓存时,则直接使用本地缓存提供业务服务。本申请实施例中的SDK可看作一个虚拟的程序包,该程序包中有一份做好的软件功能(即服务端提供的业务服务),该程序包几乎是全封闭且包括一个程序接口API,客户端选择使用该SDK程序包时,可直接连接上该API,这样在客户端就可以使用该SDK程序包中已缓存的业务服务和使用参数对应的功能,进而实现服务转移且不中断的目的。
当服务端存在更新时,通过广播的方式通知SDK,SDK再次从服务端拉取数据更新本地缓存。
具体来说,服务端存在更新的情况主要分在业务功能更新、业务模块更新、工作流流程更新或使用参数更新等。因此,服务端在向客户端发送所述目标业务服务和所述参数集合之后,所述方法还包括:
当所述目标业务服务的业务数据发生更新时,向所述客户端发送通知消息,所述通知消息用于指示发生更新的业务数据;所述业务数据包括业务功能、业务模块、使用参数、工作流流程中的至少一项;
从所述客户端接收更新请求,所述更新请求用于请求获取更新的业务数据;
向所述客户端发送更新的业务数据。
下面分别从业务功能更新、业务模块更新、工作流流程更新或使用参数更新来介绍:
1、业务功能更新
所述业务数据为业务功能,所述向客户端发送所述目标业务服务和所述参数集合之后,所述方法还包括:
当确定所述业务功能集合中发生业务功能更新时,按照所述工作流流程将更新的业务功能对应的业务模块的执行顺序更新到所述初始执行顺序;
向所述客户端发送第一消息,所述第一消息用于指示发生更新的业务功能。
2、业务模块更新
所述业务数据为业务模块,所述向客户端发送所述目标业务服务和所述参数集合之后,所述方法还包括:
当确定所述业务模块集合中的业务模块发生更新时,按照所述工作流流程将更新的业务模块更新到所述业务模块集合;
向所述客户端发送第二消息,所述第二消息用于指示发生更新的业务模块。
3、使用参数更新
所述业务数据包括使用参数,所述向客户端发送所述目标业务服务和所述参数集合之后,所述方法还包括:
当确定所述参数集合中发生使用参数更新时,向所述客户端发送第三消息,所述第三消息用于指示发生更新的使用参数。
4、工作流流程更新
所述向客户端发送所述目标业务服务和所述参数集合之后,所述方法还包括:
当确定所述工作流流程发生更新时,向所述客户端发送第四消息,所述第四消息用于指示发生更新的工作流。
由上可知,由于服务端将业务逻辑模块化为多个业务模块,且由工作流引擎配置多个业务模块之间的执行顺序,客户端也集成了服务端的SDK,因此,当服务端发生更新时,客户端可以基于集成的SDK再次从服务端拉取相关更新的数据,并更新本地缓存。
可见,本申请实施例中,由于服务端在配置业务服务时,先将业务逻辑模块化为多个业务模块,且(由工作流引擎)配置多个业务模块之间的执行顺序,然后按照所述工作流流程分别设置所述业务模块集合中各业务模块之间的初始执行顺序,最终生成目标业务服务。因此,基于该目标业务服务配置的参数集合中的使用参数能够使用该目标业务服务。那么,一方面中,由于目标业务服务和使用参数在客户端本地缓存,因此客户端可直接使用本地缓存提供该目标业务服务;另一方面中,由于客户端也集成了服务端的SDK,因此,当服务端发生更新时,客户端可以基于集成的SDK再次从服务端拉取更新的相关数据(例如目标业务服务和/或使用参数),并更新到客户端的本地缓存,由于业务服务和使用参数存在客户端的本地缓存,因此客户端基于本地缓存即可向客户端的用户提供该目标业务服务。可见,通过这种方式,能够将服务端的能力在客户端进行复刻,将服务端的中心化访问分散到各客户端,即便服务端出现大量的调用出现性能瓶颈或因关键服务宕机等故障时,客户端侧也可以继续提供目标业务服务,进而能够解决服务端不可用的风险,对整个系统群的性能进行削峰处理。
本申请实施例还提供一种业务服务配置装置,该业务服务配置装置用于执行前述配置业务服务的方法的任一实施例。具体地,请参阅图3,图3是本申请实施例提供的业务服务配置装置30的示意性框图。该业务服务配置装置30可以配置于服务器中。
如图3所示,业务服务配置装置30包括:
收发模块301,用于获取待配置的目标业务的业务逻辑,所述业务逻辑包括多条业务规则;
处理模块302,用于按照业务功能将所述业务逻辑划分为业务模块集合,所述业务模块集合包括多个业务模块,每个业务模块对应一种业务功能;
所述处理模块302还用于确定所述目标业务对应的工作流流程,所述工作流流程用于指示执行所述目标业务的各操作之间的业务规则;按照所述工作流流程中的业务规则,分别设置所述业务模块集合中各业务模块之间的初始执行顺序,以生成目标业务服务;配置参数集合,所述参数集合包括所述目标业务服务的使用参数;
所述收发模块301还用于向客户端发送所述目标业务服务和所述参数集合,其中,所述目标业务服务和所述参数集合用于所述客户端接收到用户对所述目标业务的交互指令后,按照各业务模块之间的初始执行顺序依次匹配不同的业务逻辑,以按照业务逻辑执行对应的业务模块。
在一实施例中,所述处理模块302具体用于:
确定所述目标业务对应的业务功能集合,所述业务功能集合中包括多个业务功能;
按照业务功能对所述业务逻辑进行划分,得到多个功能模块;
将所述多个功能模块中相同的功能模块分为一组;
将每组功能模块用同一种业务模块替代,得到所述业务模块集合,同一组功能模块对应一个业务模块。
一些实施例中,所述处理模块302向客户端发送所述目标业务服务和所述参数集合之后,还用于:
当所述目标业务服务的业务数据发生更新时,向所述客户端发送通知消息,所述通知消息用于指示发生更新的业务数据;所述业务数据包括业务功能、业务模块、使用参数、工作流流程中的至少一项;
通过所述收发模块301从所述客户端接收更新请求,所述更新请求用于请求获取更新的业务数据;
通过所述收发模块301向所述客户端发送更新的业务数据。
一些实施例中,所述业务数据为业务功能,所述处理模块302在所述收发模块向客户端发送所述目标业务服务和所述参数集合之后,还用于:
当确定所述业务功能集合中发生业务功能更新时,按照所述工作流流程将更新的业务功能对应的业务模块的执行顺序更新到所述初始执行顺序;
通过所述收发模块301向所述客户端发送第一消息,所述第一消息用于指示发生更新的业务功能。
一些实施例中,所述业务数据为业务模块,所述处理模块302在所述收发模块301向客户端发送所述目标业务服务和所述参数集合之后,所述方法还包括:
当确定所述业务模块集合中的业务模块发生更新时,按照所述工作流流程将更新的业务模块更新到所述业务模块集合;
通过所述收发模块301向所述客户端发送第二消息,所述第二消息用于指示发生更新的业务模块。
一些实施例中,所述业务数据包括使用参数,所述收发模块301向客户端发送所述目标业务服务和所述参数集合之后,还用于:
当所述处理模块302确定所述参数集合中发生使用参数更新时,向所述客户端发送第三消息,所述第三消息用于指示发生更新的使用参数。
一些实施例中,所述收发模块向客户端发送所述目标业务服务和所述参数集合之后,还用于:
当所述处理模块302确定所述工作流流程发生更新时,向所述客户端发送第四消息,所述第四消息用于指示发生更新的工作流。
该业务服务配置装置30能够将服务端的能力在客户端进行复刻,将服务端的中心化访问分散到各客户端,解决服务端不可用的风险,并将服务端的访问压力分散到各客户端,对整个系统群的性能进行削峰处理。
上述业务服务配置装置可以实现为计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。
请参阅图4,图4是本申请实施例提供的计算机设备的示意性框图。该计算机设备400是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图4,该计算机设备400包括通过系统总线401连接的处理器402、存储器和网络接口405,其中,存储器可以包括非易失性存储介质403和内存储器404。
该非易失性存储介质403可存储操作系统4031和计算机程序4032。该计算机程序4032被执行时,可使得处理器402执行配置业务服务的方法。
该处理器402用于提供计算和控制能力,支撑整个计算机设备400的运行。
该内存储器404为非易失性存储介质403中的计算机程序4032的运行提供环境,该计算机程序4032被处理器402执行时,可使得处理器402执行配置业务服务的方法。
该网络接口405用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备400的限定,具体的计算机设备400可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器402用于运行存储在存储器中的计算机程序4032,以实现本申请实施例公开的配置业务服务的方法。
本领域技术人员可以理解,图4中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图4所示实施例一致,在此不再赘述。
应当理解,在本申请实施例中,处理器402可以是中央处理单元(CentralProcessing Unit,CPU),该处理器402还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本申请的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本申请实施例公开的配置业务服务的方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种配置业务服务的方法,其特征在于,所述方法包括:
获取待配置的目标业务的业务逻辑,所述业务逻辑包括多条业务规则;
按照业务功能将所述业务逻辑划分为业务模块集合,所述业务模块集合包括多个业务模块,每个业务模块对应一种业务功能;
确定所述目标业务对应的工作流流程,所述工作流流程用于指示执行所述目标业务的各操作之间的业务规则;
按照所述工作流流程中的业务规则,分别设置所述业务模块集合中各业务模块之间的初始执行顺序,以生成目标业务服务;
配置参数集合,所述参数集合包括所述目标业务服务的使用参数;
向客户端发送所述目标业务服务和所述参数集合,所述目标业务服务和所述参数集合用于所述客户端接收到用户对所述目标业务的交互指令后,按照各业务模块之间的初始执行顺序依次匹配不同的业务逻辑,以按照业务逻辑执行对应的业务模块。
2.根据权利要求1所述的方法,其特征在于,所述按照业务功能将所述业务逻辑划分为业务模块集合,包括:
确定所述目标业务对应的业务功能集合,所述业务功能集合中包括多个业务功能;
按照业务功能对所述业务逻辑进行划分,得到多个功能模块;
将所述多个功能模块中相同的功能模块分为一组;
将每组功能模块用同一种业务模块替代,得到所述业务模块集合,同一组功能模块对应一个业务模块。
3.根据权利要求2所述的方法,其特征在于,所述向客户端发送所述目标业务服务和所述参数集合之后,所述方法还包括:
当所述目标业务服务的业务数据发生更新时,向所述客户端发送通知消息,所述通知消息用于指示发生更新的业务数据;所述业务数据包括业务功能、业务模块、使用参数、工作流流程中的至少一项;
从所述客户端接收更新请求,所述更新请求用于请求获取更新的业务数据;
向所述客户端发送更新的业务数据。
4.根据权利要求3所述的方法,其特征在于,所述业务数据为业务功能,所述向客户端发送所述目标业务服务和所述参数集合之后,所述方法还包括:
当确定所述业务功能集合中发生业务功能更新时,按照所述工作流流程将更新的业务功能对应的业务模块的执行顺序更新到所述初始执行顺序;
向所述客户端发送第一消息,所述第一消息用于指示发生更新的业务功能。
5.根据权利要求3所述的方法,其特征在于,所述业务数据为业务模块,所述向客户端发送所述目标业务服务和所述参数集合之后,所述方法还包括:
当确定所述业务模块集合中的业务模块发生更新时,按照所述工作流流程将更新的业务模块更新到所述业务模块集合;
向所述客户端发送第二消息,所述第二消息用于指示发生更新的业务模块。
6.根据权利要求3所述的方法,其特征在于,所述业务数据包括使用参数,所述向客户端发送所述目标业务服务和所述参数集合之后,所述方法还包括:
当确定所述参数集合中发生使用参数更新时,向所述客户端发送第三消息,所述第三消息用于指示发生更新的使用参数。
7.根据权利要求3-6中任一项所述的方法,其特征在于,所述向客户端发送所述目标业务服务和所述参数集合之后,所述方法还包括:
当确定所述工作流流程发生更新时,向所述客户端发送第四消息,所述第四消息用于指示发生更新的工作流。
8.一种业务服务配置装置,其特征在于,所述业务服务配置装置包括:
收发模块,用于获取待配置的目标业务的业务逻辑;
处理模块,用于按照业务功能将所述业务逻辑划分为业务模块集合,所述业务模块集合包括多个业务模块,每个业务模块对应一种业务功能;
所述处理模块还用于确定所述目标业务对应的工作流流程;按照所述工作流流程分别设置所述业务模块集合中各业务模块之间的初始执行顺序,以生成目标业务服务;配置参数集合,所述参数集合包括所述目标业务服务的使用参数;
所述收发模块还用于向客户端发送所述目标业务服务和所述参数集合,其中,所述目标业务服务和所述参数集合用于所述客户端接收到用户对所述目标业务的交互指令后,按照各业务模块之间的初始执行顺序依次匹配不同的业务逻辑,以按照业务逻辑执行对应的业务模块。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的配置业务服务的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的配置业务服务的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110430663.7A CN113051276B (zh) | 2021-04-21 | 2021-04-21 | 配置业务服务的方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110430663.7A CN113051276B (zh) | 2021-04-21 | 2021-04-21 | 配置业务服务的方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113051276A CN113051276A (zh) | 2021-06-29 |
CN113051276B true CN113051276B (zh) | 2022-08-19 |
Family
ID=76520005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110430663.7A Active CN113051276B (zh) | 2021-04-21 | 2021-04-21 | 配置业务服务的方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113051276B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114531477B (zh) * | 2022-04-22 | 2022-08-30 | 深圳丰尚智慧农牧科技有限公司 | 功能组件的配置方法、装置、计算机设备和存储介质 |
CN115994172A (zh) * | 2022-12-09 | 2023-04-21 | 华青融天(北京)软件股份有限公司 | 一种业务访问关系确定的方法、装置、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000054151A2 (en) * | 1999-03-12 | 2000-09-14 | Sun Microsystems, Inc. | Resource locator |
JP2010086438A (ja) * | 2008-10-02 | 2010-04-15 | Baazu Joho Kagaku Kenkyusho:Kk | 業務処理制御システム及び業務処理制御方法 |
WO2015010642A1 (zh) * | 2013-07-25 | 2015-01-29 | 腾讯科技(深圳)有限公司 | 业务发布方法和系统、业务更新方法、客户端 |
WO2016184175A1 (zh) * | 2015-05-21 | 2016-11-24 | 中兴通讯股份有限公司 | 数据库处理方法及装置 |
WO2018166373A1 (zh) * | 2017-03-15 | 2018-09-20 | 阿里巴巴集团控股有限公司 | 数据同步系统、方法、服务器、客户端及电子设备 |
CN109729155A (zh) * | 2018-12-13 | 2019-05-07 | 平安医疗健康管理股份有限公司 | 一种业务请求的分配方法及相关装置 |
CN112152913A (zh) * | 2020-09-29 | 2020-12-29 | 支付宝(杭州)信息技术有限公司 | 一种服务控制方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE9702239L (sv) * | 1997-06-12 | 1998-07-06 | Telia Ab | Arrangemang för lastbalansering i datornät |
-
2021
- 2021-04-21 CN CN202110430663.7A patent/CN113051276B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000054151A2 (en) * | 1999-03-12 | 2000-09-14 | Sun Microsystems, Inc. | Resource locator |
JP2010086438A (ja) * | 2008-10-02 | 2010-04-15 | Baazu Joho Kagaku Kenkyusho:Kk | 業務処理制御システム及び業務処理制御方法 |
WO2015010642A1 (zh) * | 2013-07-25 | 2015-01-29 | 腾讯科技(深圳)有限公司 | 业务发布方法和系统、业务更新方法、客户端 |
WO2016184175A1 (zh) * | 2015-05-21 | 2016-11-24 | 中兴通讯股份有限公司 | 数据库处理方法及装置 |
WO2018166373A1 (zh) * | 2017-03-15 | 2018-09-20 | 阿里巴巴集团控股有限公司 | 数据同步系统、方法、服务器、客户端及电子设备 |
CN109729155A (zh) * | 2018-12-13 | 2019-05-07 | 平安医疗健康管理股份有限公司 | 一种业务请求的分配方法及相关装置 |
CN112152913A (zh) * | 2020-09-29 | 2020-12-29 | 支付宝(杭州)信息技术有限公司 | 一种服务控制方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
从零入门 Serverless | 一文详解 Serverless 架构模式;Hongqi;《https://zhuanlan.zhihu.com/p/151676581》;20200629;第1-10页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113051276A (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6785911B2 (ja) | ローカルまたは分散型コンピュータ・システムにおける柔軟なノード構成方法およびシステム | |
CN113051276B (zh) | 配置业务服务的方法、装置、计算机设备及存储介质 | |
US9135093B2 (en) | Event-driven approach for collecting monitoring data of messaging systems | |
US7185046B2 (en) | Submitting jobs in a distributed computing environment | |
US9703610B2 (en) | Extensible centralized dynamic resource distribution in a clustered data grid | |
CN101645022B (zh) | 用于多个集群的作业调度管理系统及方法 | |
US20020116479A1 (en) | Service managing apparatus | |
CN109995859A (zh) | 一种调度方法、调度服务器及计算机可读存储介质 | |
JP2005141605A (ja) | 予測に基づいた計算機リソース配分方法 | |
US20160036665A1 (en) | Data verification based upgrades in time series system | |
JP6217644B2 (ja) | ルール分配サーバ、イベント処理システム、方法及びプログラム | |
US10181992B2 (en) | Centralized, scalable, resource monitoring system | |
CN106649856A (zh) | 一种数据库访问装置、系统及方法 | |
KR20150117258A (ko) | 분산형 컴퓨팅 아키텍쳐 | |
JP4834622B2 (ja) | ビジネスプロセス運用管理システム、方法、プロセス運用管理装置およびそのプログラム | |
CN110502534A (zh) | 数据库高速缓存 | |
US20220044144A1 (en) | Real time model cascades and derived feature hierarchy | |
US10990385B1 (en) | Streaming configuration management | |
US20160125330A1 (en) | Rolling upgrade of metric collection and aggregation system | |
CN112685157B (zh) | 任务处理方法、装置、计算机设备及存储介质 | |
US20200175587A1 (en) | Asset Inventory System | |
US10552900B2 (en) | Asset inventory system | |
CN111338647A (zh) | 一种大数据集群管理方法和装置 | |
US11582327B1 (en) | Dynamically coordinated service maintenance operations and adaptive service polling for microservices | |
US20230125503A1 (en) | Coordinated microservices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |