业务调度方法、装置、存储介质和服务器与流程

allin2024-12-17  84



1.本技术涉及数据库领域,尤其涉及一种业务调度方法、装置、存储介质和服务器。


背景技术:

2.现在的银行机构每天需要大量的进行多类型业务的处理工作,每类业务通常会包括多个业务功能,每个业务功能需要一个或多个实现单一功能的程序实例来完成。
3.在实现多类型业务的过程中,通常需要让人工针对不同的业务类型,编制对应的业务程序。然而,对于不同的业务程序,其所需要的各类参数也需要人工进行针对性的配置。然而,在现有程序实现过程中,缺乏参数与程序实例的可重用性,需要人工编写大量的重复性代码,增加了工作量,并且存在出现程序bug的时候,还需要人工花费大量的时间去执行查找缺陷、重新编译等维护工作,从而导致多类型业务的处理效率降低。
4.此外,目前业务实现通常采用的是客户端服务器、或者浏览器服务器的架构,在实现过程中通常采用一个配置有数据库的服务器来实现,各类数据的提供方式由有线或无线的方式从数据库中获取。但是,每一次获取数据时均需连接服务器并通过查询数据库的方式进行导致数据获取效率低,并未考虑对重要数据的可重用性、获取的便利性、安全性及获取效率。
5.为此,如何提高多类型业务的处理效率,成为本领域亟需解决的问题。


技术实现要素:

6.本技术提供了一种业务调度方法、装置、存储介质和服务器,目的在于从多角度提高多类型业务的处理效率。
7.为了实现上述目的,本技术提供了以下技术方案:
8.一种业务调度方法,包括:
9.响应用户发送的业务请求,从缓存服务器中查询与所述业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链;所述任务集合包括多个任务;所述任务链用于指示各个所述任务的执行顺序;
10.对于每个所述任务,从业务服务器中获取与所述任务的任务名称对应的程序实例;
11.从数据库服务器中获取与所述程序实例的实例编号对应、且与所述业务请求所示的业务类型编号对应的参数以及参数值;
12.根据所述参数,将所述参数值加载至所述程序实例中;
13.按照各个所述任务的执行顺序,依次运行与每个所述任务的任务名称对应、且加载有所述参数和所述参数值的程序实例,得到所述业务请求的处理结果,并将所述处理结果发送给所述用户。
14.可选的,所述响应用户发送的业务请求,从缓存服务器中查询与所述业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链之前,还包括:
15.预先获取多个执行服务器的执行服务器编号,以及业务所包含的多个业务类型编号、与每个所述业务类型编号对应的业务流程;
16.将每个所述执行服务器编号分别与各个所述业务类型编号进行拼接,得到多个编号字符串;
17.分别对各个所述编号字符串进行哈希运算,得到每个所述编号字符串的哈希值,并记录所述哈希值与所述业务类型编号之间的对应关系;
18.分别对与每个所述业务类型编号对应的业务流程进行解析,得到与每个所述业务类型编号对应的任务集合与任务链;
19.基于与每个所述业务类型编号对应的任务集合与任务链,生成与每个所述业务类型编号对应的二维数组;其中,所述二维数组包括n行2列的矩阵;n代表所述任务集合所包含任务的数量;所述矩阵的第一列元素包括与所述任务集合中每个任务的任务名称对应的名称字符串;所述名称字符串通过将所述业务类型编号与所述任务名称进行拼接所得到;所述矩阵的第二列元素包括与每个所述名称字符串对应的列表;所述列表用于存储所述任务链和所述业务类型编号;
20.基于与每个所述业务类型编号对应的哈希值以及二维数组作为元素节点,构建链表,并将所述链表存储到所述缓存服务器中;所述链表包括m个所述元素节点,且每个所述元素节点均包括一个哈希值和一个二维数组;m代表所述执行服务器的数量与所述业务流程的数量的乘积。
21.可选的,所述响应用户发送的业务请求,从缓存服务器中查询与所述业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链,包括:
22.在接收到用户发送的业务请求后,将所述业务请求所示的执行服务器编号、业务类型编号进行拼接,得到待处理编号字符串;
23.对所述待处理编号字符串进行哈希运算,得到目标哈希值;
24.在与所述缓存服务器建立连接后,从所述链表中查询得到包含有所述目标哈希值的元素节点,作为目标元素节点;
25.对所述目标元素节点中的二维数组进行解析,得到与所述业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链。
26.可选的,所述从数据库服务器中获取与所述程序实例的实例编号对应、且与所述业务请求所示的业务类型编号对应的参数以及参数值之后,还包括:
27.将所述业务请求所示的业务类型编号,以及从所述缓存服务器中获取得到任务的任务名称进行拼接,得到目标名称字符串;
28.将所述参数以及所述参数值,存储到所述元素节点中的与所述目标名称字符串对应的列表内。
29.可选的,所述分别对与每个所述业务类型编号对应的业务流程进行解析,得到与每个所述业务类型编号对应的任务集合与任务链之后,还包括:
30.对于每个所述任务集合,配置与所述任务集合中每个任务的任务名称对应的程序实例,并将与所述任务集合每个任务的任务名称对应的程序实例,存储到所述业务服务器中;
31.针对每个所述程序实例,配置与所述程序实例的实例编号对应、且与每个所述业
务类型编号对应的参数;
32.将与所述任务的任务名称对应、且与所述业务类型编号对应的参数,存储到所述数据库服务器中。
33.可选的,所述按照各个所述任务的执行顺序,依次运行与每个所述任务的任务名称对应、且加载有所述参数和所述参数值的程序实例,得到所述业务请求的处理结果之后,还包括:
34.基于所述处理结果、所述业务类型编号、所述执行服务器编号,生成所述业务请求的执行日志,并将所述执行日志存储到所述业务服务器中。
35.一种业务调度装置,包括:
36.任务获取单元,用于响应用户发送的业务请求,从缓存服务器中查询与所述业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链;所述任务集合包括多个任务;所述任务链用于指示各个所述任务的执行顺序;
37.实例获取单元,用于对于每个所述任务,从业务服务器中获取与所述任务的任务名称对应的程序实例;
38.参数获取单元,用于从数据库服务器中获取与所述程序实例的实例编号对应、且与所述业务类型编号对应的参数以及参数值;
39.参数加载单元,用于根据所述参数,将所述参数值加载至所述程序实例中;
40.实例运行单元,用于按照各个所述任务的执行顺序,依次运行与每个所述任务的任务名称对应、且加载有所述参数和所述参数值的程序实例,得到所述业务请求的处理结果,并将所述处理结果发送给所述用户。
41.可选的,还包括:
42.日志存储单元,用于基于所述处理结果、所述业务类型编号、所述执行服务器编号,生成所述业务请求的执行日志,并将所述执行日志存储到所述业务服务器中。
43.一种计算机可读存储介质所述计算机可读存储介质包括存储的程序,其中,所述程序执行所述的业务调度方法。
44.一种服务器,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;
45.所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序运行时执行所述的业务调度方法。
46.综上所述,响应用户发送的业务请求,从缓存服务器中查询与业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链。对于每个任务,从业务服务器中获取与任务的任务名称对应的程序实例。从数据库服务器中获取与程序实例的实例编号对应、且与业务请求所示的业务类型编号对应的参数以及参数值。根据参数,将参数值加载至与程序实例中。按照各个任务的执行顺序,依次运行与每个任务的任务名称对应、且加载有参数和参数值的程序实例,得到业务请求的处理结果,并将处理结果发送给用户。基于本技术所示方案,缓存服务器配置以链表结构存储需要频繁访问的数据和系统共有数据(即任务),根据带有执行服务器编号和任务类型编号的业务请求提供此次任务调度所需的链表中存储的数据。由于缓存服务器使用内存存储,其访问速度较快,相对数据库服务器进一步有效提高了运行效率,从而确保多类型业务的处理效率得到有效提高。
附图说明
47.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
48.图1a为本技术实施例提供的一种业务调度方法的流程示意图;
49.图1b为本技术实施例提供的一种业务调度方法的流程示意图;
50.图1c为本技术实施例提供的一种业务调度方法的流程示意图;
51.图2为本技术实施例提供的另一种业务调度方法的流程示意图;
52.图3为本技术实施例提供的一种业务调度装置的架构示意图。
具体实施方式
53.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
54.如图1a、图1b和图1c所示,为本技术实施例提供的一种业务调度方法的流程示意图,包括如下步骤:
55.s101:预先获取多个执行服务器的执行服务器编号,以及业务所包含的多个业务类型编号、与每个业务类型编号对应的业务流程。
56.其中,所谓的业务流程,为本领域技术人员所熟悉的公知常识,这里不再赘述。
57.s102:将每个执行服务器编号分别与各个业务类型编号进行拼接,得到多个编号字符串。
58.其中,将每个执行服务器编号分别与各个业务类型编号进行拼接,所得到的编号字符串的数量为m,m代表执行服务器的数量与业务流程的数量的乘积。
59.具体的,假设执行服务器编号为rs001,业务类型为dayrpt的业务类型编号为001,则将rs001与001进行拼接,所得到的编号字符串为rs001.001。
60.需要说明的是,上述具体实现过程仅仅用于举例说明。
61.s103:分别对各个编号字符串进行哈希运算,得到每个编号字符串的哈希值,并记录哈希值与业务类型编号之间的对应关系。
62.其中,对各个编号字符串进行哈希运算的具体实现过程,为本领域技术人员所熟悉的公知常识,这里不再赘述。
63.s104:分别对与每个业务类型编号对应的业务流程进行解析,得到与每个业务类型编号对应的任务集合与任务链。
64.其中,任务集合包括多个任务,任务链用于指示任务集合中各个任务的执行顺序。
65.s105:基于与每个业务类型编号对应的任务集合与任务链,生成与每个业务类型编号对应的二维数组。
66.其中,二维数组包括n行2列的矩阵;n代表任务集合所包含任务的数量;矩阵的第一列元素包括与任务集合中每个任务的任务名称对应的名称字符串;名称字符串通过将业
务类型编号与任务名称进行拼接所得到;矩阵的第二列元素包括与每个名称字符串对应的列表;列表用于存储任务链和业务类型编号。
67.需要说明的是,在二维数组所示的列表中,将“任务链”作为key,多个任务的执行顺序作为value。同时,将“业务类型编号”作为key,任务类型的实际编号作为value。换而言之,任务链和业务类型编号,均以键值对的形式存储在列表中。
68.具体的,假设任务链所示任务的执行顺序为abc(即任务a、任务b和任务c),“任务链”作为key,abc作为与“任务链”对应的value。此外,假设业务类型编号为001,则将“业务类型编号”作为key,001作为与“业务类型编号”对应的value。
69.s106:基于与每个业务类型编号对应的哈希值以及二维数组作为元素节点,构建链表,并将链表存储到缓存服务器中。
70.其中,链表包括m个元素节点,且每个元素节点均包括一个哈希值和一个二维数组;m代表执行服务器的数量与业务流程的数量的乘积。
71.需要说明的是,链表中的元素节点能够动态添加、删除及调整,从而方便技术人员根据实际情况进行调整。
72.s107:对于每个任务集合,配置与任务集合中每个任务的任务名称对应的程序实例,并将与任务集合每个任务的任务名称对应的程序实例,存储到业务服务器中。
73.s108:针对每个程序实例,配置与程序实例的实例编号对应、且与每个业务类型编号对应的参数。
74.s109:将与任务的任务名称对应、且与业务类型编号对应的参数,存储到数据库服务器中。
75.s110:在接收到用户发送的业务请求后,将业务请求所示的执行服务器编号、业务类型编号进行拼接,得到待处理编号字符串。
76.s111:对待处理编号字符串进行哈希运算,得到目标哈希值。
77.s112:在与缓存服务器建立连接后,从链表中查询得到包含有目标哈希值的元素节点,作为目标元素节点。
78.s113:对目标元素节点中的二维数组进行解析,得到与业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链。
79.s114:对于从缓存服务器中获取的每个任务,从业务服务器中获取与任务的任务名称对应的程序实例。
80.s115:从数据库服务器中获取与程序实例的实例编号对应、且与业务请求所示的业务类型编号对应的参数以及参数值。
81.其中,s110-s115所示流程,可以简单理解为从缓存服务器中获取任务集合和任务链,从业务服务器中获取程序实例集合,从数据库服务器中获取参数集合。
82.具体的,以银行生成dayrpt为例,dayrpt代表日报业务,是一种业务类型,该业务类型编号为001,该业务流程需要执行程序实例a、程序实例b、程序实例c完成,那么就需要任务a(任务名称)、任务b(任务名称)、任务c(任务名称)完成,因此,将任务a、任务b、任务c分为一组,abc构成一个任务链,例如,银行生成monrpt业务,monrpt代表月报业务,也是一种业务类型,该业务类型编号为002,需要程序实例a、程序实例b、程序实例d、程序实例c完成,则任务a、任务b、任务d、任务c分为一组,abdc构成一个任务链。需要特别注意的是,任务
链中各个任务之间是具有顺序的,任务a、任务b、任务c构成的任务链不同于任务a、任务c、任务b构成的任务链。
83.程序实例中所涉及的参数包括但不限于为:@sysdate(系统当前日期、yyyymmdd)、@lastdate(系统上一日期,yyyymmdd)、@befodate(系统上上日期,yyyymmdd)、@sysmonth(系统当前月份,yyyymm)、@lastmonth(系统上一月份,yyyymm)、@sysyear(系统当前年份,yyyy)、@lastyear(系统上一年份,yyyy)、ind_note(运行情况提醒标志、表示运行情况以何种形式进行提醒)、cod_thrd(第三方节点代码,表示该业务流程用于己方与该第三方进行交互并提供功能)、name_job(任务名称)、group_job(任务分组)等,上述所示的各个参数可以根据不同的业务流程进行调用。
84.具体的,假设执行服务器编号为rs001,业务类型为dayrpt,dayrpt的业务类型编号为001,则根据“rs001.001”生成哈希值,利用该哈希值可从链表中索引到目标元素节点,进而获取到目标元素节点中的二位数组。二位数组中的内容可参见下述表1所示。
85.表1
[0086][0087][0088]
需要说明的是,上述表1所示内容仅仅用于举例说明。
[0089]
在本技术实施例中,列表中的内容包括任务链、业务类型编号、参数及相应的数值,并分别以《key,value》的键值对形式进行表示。保证了执行服务器可顺利获取到要执行的任务集合,以及任务集合中各个任务之间的执行顺序,并进一步从业务服务器中获取程序实例,从数据库服务器中获取参数。
[0090]
s116:将业务请求所示的业务类型编号,以及从缓存服务器中获取得到任务的任务名称进行拼接,得到目标名称字符串。
[0091]
s117:将参数以及参数值,存储到元素节点中的与目标名称字符串对应的列表内。
[0092]
s118:根据参数,将参数值加载至程序实例中。
[0093]
s119:按照各个任务的执行顺序,依次运行与每个任务的任务名称对应、且加载有参数和参数值的程序实例,得到业务请求的处理结果,并将处理结果发送给用户。
[0094]
s120:基于处理结果、业务类型编号、执行服务器编号,生成业务请求的执行日志,
并将执行日志存储到业务服务器中。
[0095]
其中,将执行日志存储到业务服务器中,可以方便用户后续进行查阅。
[0096]
综上所述,基于本实施例所示方案,缓存服务器配置以链表结构存储需要频繁访问的数据和系统共有数据(即任务),根据带有执行服务器编号和任务类型编号的业务请求提供此次任务调度所需的链表中存储的数据。由于缓存服务器使用内存存储,其访问速度较快,相对数据库服务器进一步有效提高了运行效率,从而确保多类型业务的处理效率得到有效提高。
[0097]
需要说明的是,上述实施例提及的s101,为本技术所述业务调度方法的一种可选的实现方式。此外,上述实施例提及的s120,也为本技术所述业务调度方法的一种可选的实现方式。为此,上述实施例所示的流程,可以概括为图2所示的方法。
[0098]
如图2所示,为本技术实施例提供的另一种业务调度方法的流程示意图,包括如下步骤:
[0099]
s201:响应用户发送的业务请求,从缓存服务器中查询与业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链。
[0100]
其中,任务集合包括多个任务;任务链用于指示各个任务的执行顺序。
[0101]
s202:对于每个任务,从业务服务器中获取与任务的任务名称对应的程序实例。
[0102]
s203:从数据库服务器中获取与程序实例的实例编号对应、且与业务请求所示的业务类型编号对应的参数以及参数值。
[0103]
s204:根据参数,将参数值加载至程序实例中。
[0104]
s205:按照各个任务的执行顺序,依次运行与每个任务的任务名称对应、且加载有参数和参数值的程序实例,得到业务请求的处理结果,并将处理结果发送给用户。
[0105]
综上所述,基于本实施例所示方案,缓存服务器配置以链表结构存储需要频繁访问的数据和系统共有数据(即任务),根据带有执行服务器编号和任务类型编号的业务请求提供此次任务调度所需的链表中存储的数据。由于缓存服务器使用内存存储,其访问速度较快,相对数据库服务器进一步有效提高了运行效率,从而确保多类型业务的处理效率得到有效提高。
[0106]
与上述本技术实施例提供的业务调度方法相对应,本技术实施例还提供了一种业务调度装置。
[0107]
如图3所示,为本技术实施例提供的一种业务调度装置的架构示意图,包括:
[0108]
链表存储单元100,用于:预先获取多个执行服务器的执行服务器编号,以及业务所包含的多个业务类型编号、与每个业务类型编号对应的业务流程;将每个执行服务器编号分别与各个业务类型编号进行拼接,得到多个编号字符串;分别对各个编号字符串进行哈希运算,得到每个编号字符串的哈希值,并记录哈希值与业务类型编号之间的对应关系;分别对与每个业务类型编号对应的业务流程进行解析,得到与每个业务类型编号对应的任务集合与任务链;基于与每个业务类型编号对应的任务集合与任务链,生成与每个业务类型编号对应的二维数组;其中,二维数组包括n行2列的矩阵;n代表任务集合所包含任务的数量;矩阵的第一列元素包括与任务集合中每个任务的任务名称对应的名称字符串;名称字符串通过将业务类型编号与任务名称进行拼接所得到;矩阵的第二列元素包括与每个名称字符串对应的列表;列表用于存储任务链和业务类型编号;基于与每个业务类型编号对
应的哈希值以及二维数组作为元素节点,构建链表,并将链表存储到缓存服务器中;链表包括m个元素节点,且每个元素节点均包括一个哈希值和一个二维数组;m代表执行服务器的数量与业务流程的数量的乘积。
[0109]
实例存储单元200,用于:对于每个任务集合,配置与任务集合中每个任务的任务名称对应的程序实例,并将与任务集合每个任务的任务名称对应的程序实例,存储到业务服务器中。
[0110]
参数存储单元300,用于:针对每个程序实例,配置与程序实例的实例编号对应、且与每个业务类型编号对应的参数;将与任务的任务名称对应、且与业务类型编号对应的参数,存储到数据库服务器中。
[0111]
任务获取单元400,用于响应用户发送的业务请求,从缓存服务器中查询与业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链;任务集合包括多个任务;任务链用于指示各个任务的执行顺序。
[0112]
可选的,任务获取单元400具体用于:在接收到用户发送的业务请求后,将业务请求所示的执行服务器编号、业务类型编号进行拼接,得到待处理编号字符串;对待处理编号字符串进行哈希运算,得到目标哈希值;在与缓存服务器建立连接后,从链表中查询得到包含有目标哈希值的元素节点,作为目标元素节点;对目标元素节点中的二维数组进行解析,得到与业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链。
[0113]
实例获取单元500,用于对于每个任务,从业务服务器中获取与任务的任务名称对应的程序实例。
[0114]
参数获取单元600,用于从数据库服务器中获取与程序实例的实例编号对应、且与业务类型编号对应的参数以及参数值。
[0115]
数值存储单元700,用于:将业务请求所示的业务类型编号,以及从缓存服务器中获取得到任务的任务名称进行拼接,得到目标名称字符串;将参数以及参数的数值,存储到元素节点中的与目标名称字符串对应的列表内。
[0116]
参数加载单元800,用于根据参数,将参数值加载至程序实例中。
[0117]
实例运行单元900,用于按照各个任务的执行顺序,依次运行与每个任务的任务名称对应、且加载有参数和参数值的程序实例,得到业务请求的处理结果,并将处理结果发送给用户。
[0118]
日志存储单元1000,用于基于处理结果、业务类型编号、执行服务器编号,生成业务请求的执行日志,并将执行日志存储到业务服务器中。
[0119]
综上所述,基于本实施例所示方案,缓存服务器配置以链表结构存储需要频繁访问的数据和系统共有数据(即任务),根据带有执行服务器编号和任务类型编号的业务请求提供此次任务调度所需的链表中存储的数据。由于缓存服务器使用内存存储,其访问速度较快,相对数据库服务器进一步有效提高了运行效率,从而确保多类型业务的处理效率得到有效提高。
[0120]
本技术还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,程序执行上述本技术提供的业务调度方法。
[0121]
本技术还提供了一种服务器,包括:处理器、存储器和总线。处理器与存储器通过总线连接,存储器用于存储程序,处理器用于运行程序,其中,程序运行时执行上述本技术
提供的业务调度方法,包括如下步骤:
[0122]
响应用户发送的业务请求,从缓存服务器中查询与所述业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链;所述任务集合包括多个任务;所述任务链用于指示各个所述任务的执行顺序;
[0123]
对于每个所述任务,从业务服务器中获取与所述任务的任务名称对应的程序实例;
[0124]
从数据库服务器中获取与所述程序实例的实例编号对应、且与所述业务请求所示的业务类型编号对应的参数以及参数值;
[0125]
根据所述参数,将所述参数值加载至所述程序实例中;
[0126]
按照各个所述任务的执行顺序,依次运行与每个所述任务的任务名称对应、且加载有所述参数和所述参数值的程序实例,得到所述业务请求的处理结果,并将所述处理结果发送给所述用户。
[0127]
具体的,在上述实施例基础上,所述响应用户发送的业务请求,从缓存服务器中查询与所述业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链之前,还包括:
[0128]
预先获取多个执行服务器的执行服务器编号,以及业务所包含的多个业务类型编号、与每个所述业务类型编号对应的业务流程;
[0129]
将每个所述执行服务器编号分别与各个所述业务类型编号进行拼接,得到多个编号字符串;
[0130]
分别对各个所述编号字符串进行哈希运算,得到每个所述编号字符串的哈希值,并记录所述哈希值与所述业务类型编号之间的对应关系;
[0131]
分别对与每个所述业务类型编号对应的业务流程进行解析,得到与每个所述业务类型编号对应的任务集合与任务链;
[0132]
基于与每个所述业务类型编号对应的任务集合与任务链,生成与每个所述业务类型编号对应的二维数组;其中,所述二维数组包括n行2列的矩阵;n代表所述任务集合所包含任务的数量;所述矩阵的第一列元素包括与所述任务集合中每个任务的任务名称对应的名称字符串;所述名称字符串通过将所述业务类型编号与所述任务名称进行拼接所得到;所述矩阵的第二列元素包括与每个所述名称字符串对应的列表;所述列表用于存储所述任务链和所述业务类型编号;
[0133]
基于与每个所述业务类型编号对应的哈希值以及二维数组作为元素节点,构建链表,并将所述链表存储到所述缓存服务器中;所述链表包括m个所述元素节点,且每个所述元素节点均包括一个哈希值和一个二维数组;m代表所述执行服务器的数量与所述业务流程的数量的乘积。
[0134]
具体的,在上述实施例基础上,所述响应用户发送的业务请求,从缓存服务器中查询与所述业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链,包括:
[0135]
在接收到用户发送的业务请求后,将所述业务请求所示的执行服务器编号、业务类型编号进行拼接,得到待处理编号字符串;
[0136]
对所述待处理编号字符串进行哈希运算,得到目标哈希值;
[0137]
在与所述缓存服务器建立连接后,从所述链表中查询得到包含有所述目标哈希值
的元素节点,作为目标元素节点;
[0138]
对所述目标元素节点中的二维数组进行解析,得到与所述业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链。
[0139]
具体的,在上述实施例基础上,所述从数据库服务器中获取与所述程序实例的实例编号对应、且与所述业务请求所示的业务类型编号对应的参数以及参数值之后,还包括:
[0140]
将所述业务请求所示的业务类型编号,以及从所述缓存服务器中获取得到任务的任务名称进行拼接,得到目标名称字符串;
[0141]
将所述参数以及所述参数值,存储到所述元素节点中的与所述目标名称字符串对应的列表内。
[0142]
具体的,在上述实施例基础上,所述分别对与每个所述业务类型编号对应的业务流程进行解析,得到与每个所述业务类型编号对应的任务集合与任务链之后,还包括:
[0143]
对于每个所述任务集合,配置与所述任务集合中每个任务的任务名称对应的程序实例,并将与所述任务集合每个任务的任务名称对应的程序实例,存储到所述业务服务器中;
[0144]
针对每个所述程序实例,配置与所述程序实例的实例编号对应、且与每个所述业务类型编号对应的参数;
[0145]
将与所述任务的任务名称对应、且与所述业务类型编号对应的参数,存储到所述数据库服务器中。
[0146]
具体的,在上述实施例基础上,所述按照各个所述任务的执行顺序,依次运行与每个所述任务的任务名称对应、且加载有所述参数和所述参数值的程序实例,得到所述业务请求的处理结果之后,还包括:
[0147]
基于所述处理结果、所述业务类型编号、所述执行服务器编号,生成所述业务请求的执行日志,并将所述执行日志存储到所述业务服务器中。
[0148]
本技术实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本技术实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
[0149]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
[0150]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种业务调度方法,其特征在于,包括:响应用户发送的业务请求,从缓存服务器中查询与所述业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链;所述任务集合包括多个任务;所述任务链用于指示各个所述任务的执行顺序;对于每个所述任务,从业务服务器中获取与所述任务的任务名称对应的程序实例;从数据库服务器中获取与所述程序实例的实例编号对应、且与所述业务请求所示的业务类型编号对应的参数以及参数值;根据所述参数,将所述参数值加载至所述程序实例中;按照各个所述任务的执行顺序,依次运行与每个所述任务的任务名称对应、且加载有所述参数和所述参数值的程序实例,得到所述业务请求的处理结果,并将所述处理结果发送给所述用户。2.根据权利要求1所述的方法,其特征在于,所述响应用户发送的业务请求,从缓存服务器中查询与所述业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链之前,还包括:预先获取多个执行服务器的执行服务器编号,以及业务所包含的多个业务类型编号、与每个所述业务类型编号对应的业务流程;将每个所述执行服务器编号分别与各个所述业务类型编号进行拼接,得到多个编号字符串;分别对各个所述编号字符串进行哈希运算,得到每个所述编号字符串的哈希值,并记录所述哈希值与所述业务类型编号之间的对应关系;分别对与每个所述业务类型编号对应的业务流程进行解析,得到与每个所述业务类型编号对应的任务集合与任务链;基于与每个所述业务类型编号对应的任务集合与任务链,生成与每个所述业务类型编号对应的二维数组;其中,所述二维数组包括n行2列的矩阵;n代表所述任务集合所包含任务的数量;所述矩阵的第一列元素包括与所述任务集合中每个任务的任务名称对应的名称字符串;所述名称字符串通过将所述业务类型编号与所述任务名称进行拼接所得到;所述矩阵的第二列元素包括与每个所述名称字符串对应的列表;所述列表用于存储所述任务链和所述业务类型编号;基于与每个所述业务类型编号对应的哈希值以及二维数组作为元素节点,构建链表,并将所述链表存储到所述缓存服务器中;所述链表包括m个所述元素节点,且每个所述元素节点均包括一个哈希值和一个二维数组;m代表所述执行服务器的数量与所述业务流程的数量的乘积。3.根据权利要求2所述的方法,其特征在于,所述响应用户发送的业务请求,从缓存服务器中查询与所述业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链,包括:在接收到用户发送的业务请求后,将所述业务请求所示的执行服务器编号、业务类型编号进行拼接,得到待处理编号字符串;对所述待处理编号字符串进行哈希运算,得到目标哈希值;在与所述缓存服务器建立连接后,从所述链表中查询得到包含有所述目标哈希值的元
素节点,作为目标元素节点;对所述目标元素节点中的二维数组进行解析,得到与所述业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链。4.根据权利要求2所述的方法,其特征在于,所述从数据库服务器中获取与所述程序实例的实例编号对应、且与所述业务请求所示的业务类型编号对应的参数以及参数值之后,还包括:将所述业务请求所示的业务类型编号,以及从所述缓存服务器中获取得到任务的任务名称进行拼接,得到目标名称字符串;将所述参数以及所述参数值,存储到所述元素节点中的与所述目标名称字符串对应的列表内。5.根据权利要求2所述的方法,其特征在于,所述分别对与每个所述业务类型编号对应的业务流程进行解析,得到与每个所述业务类型编号对应的任务集合与任务链之后,还包括:对于每个所述任务集合,配置与所述任务集合中每个任务的任务名称对应的程序实例,并将与所述任务集合每个任务的任务名称对应的程序实例,存储到所述业务服务器中;针对每个所述程序实例,配置与所述程序实例的实例编号对应、且与每个所述业务类型编号对应的参数;将与所述任务的任务名称对应、且与所述业务类型编号对应的参数,存储到所述数据库服务器中。6.根据权利要求1所述的方法,其特征在于,所述按照各个所述任务的执行顺序,依次运行与每个所述任务的任务名称对应、且加载有所述参数和所述参数值的程序实例,得到所述业务请求的处理结果之后,还包括:基于所述处理结果、所述业务类型编号、所述执行服务器编号,生成所述业务请求的执行日志,并将所述执行日志存储到所述业务服务器中。7.一种业务调度装置,其特征在于,包括:任务获取单元,用于响应用户发送的业务请求,从缓存服务器中查询与所述业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链;所述任务集合包括多个任务;所述任务链用于指示各个所述任务的执行顺序;实例获取单元,用于对于每个所述任务,从业务服务器中获取与所述任务的任务名称对应的程序实例;参数获取单元,用于从数据库服务器中获取与所述程序实例的实例编号对应、且与所述业务类型编号对应的参数以及参数值;参数加载单元,用于根据所述参数,将所述参数值加载至所述程序实例中;实例运行单元,用于按照各个所述任务的执行顺序,依次运行与每个所述任务的任务名称对应、且加载有所述参数和所述参数值的程序实例,得到所述业务请求的处理结果,并将所述处理结果发送给所述用户。8.根据权利要求7所述的装置,其特征在于,还包括:日志存储单元,用于基于所述处理结果、所述业务类型编号、所述执行服务器编号,生成所述业务请求的执行日志,并将所述执行日志存储到所述业务服务器中。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序执行权利要求1-6任一所述的业务调度方法。10.一种服务器,其特征在于,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1-6任一所述的业务调度方法。

技术总结
本申请公开了一种业务调度方法、装置、存储介质和服务器,该方法为:响应用户发送的业务请求,从缓存服务器中查询与业务请求所示的执行服务器编号、业务类型编号对应的任务集合与任务链;对于每个任务,从业务服务器中获取与任务的任务名称对应的程序实例;从数据库服务器中获取与程序实例的实例编号对应、且与业务类型编号对应的参数以及参数值;根据参数,将参数值加载至与程序实例中;按照执行顺序依次运行与每个任务的任务名称对应、且加载有参数和参数值的程序实例,得到处理结果,并将处理结果发送给用户。该方法根据带有执行服务器编号和任务类型编号的业务请求提供任务调度所需链表的数据,数据访问速度快,提高多类型业务的处理效率。业务的处理效率。业务的处理效率。


技术研发人员:栾铁成
受保护的技术使用者:中国农业银行股份有限公司
技术研发日:2022.04.06
技术公布日:2022/7/4
转载请注明原文地址: https://www.8miu.com/read-17699.html

最新回复(0)