CN116166342A - 业务处理方法、装置、设备及存储介质 - Google Patents
业务处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116166342A CN116166342A CN202111416125.9A CN202111416125A CN116166342A CN 116166342 A CN116166342 A CN 116166342A CN 202111416125 A CN202111416125 A CN 202111416125A CN 116166342 A CN116166342 A CN 116166342A
- Authority
- CN
- China
- Prior art keywords
- execution
- node
- hierarchy
- execution unit
- units
- 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.)
- Pending
Links
Images
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种业务处理方法、装置、设备及存储介质,该业务处理方法包括:响应于接收到的针对应用程序的业务请求,确定分级指示信息,分级指示信息按照执行层级的执行顺序记录了与业务请求关联的N个执行单元的标识,每个执行层级中记录了一个或者多个执行单元的标识,N为大于1的整数;按照分级指示信息指示的执行层级的执行顺序以及每个执行层级中记录的执行单元的标识,先后确定并运行N个执行单元。采用本申请,可以提高响应基于微服务的应用程序的业务请求的效率。
Description
技术领域
本申请涉及计算机应用技术领域,尤其涉及一种业务处理方法、装置、设备及存储介质。
背景技术
随着移动互联网的快速发展,应用程序的规模也不断增长,传统的单体架构逐渐无法满足实际需求,因此,微服务应运而生并成为研究热点。微服务是将复杂的应用程序划分为一系列小的微服务程序的一种架构模式,相较于传统的单体架构,微服务具有启动速度快、缩扩容灵活的特点。
在响应基于微服务的应用程序的业务请求时,有些情况下会调用并执行大量的执行单元来响应该业务请求,而如何高效地按序执行该业务请求对应的执行单元是目前研究的热点问题。
发明内容
本申请实施例提供了一种业务处理方法、装置、设备及存储介质,可高效地响应基于微服务的应用程序的业务请求。
一方面,本申请实施例提供了一种业务处理方法,应用于电子设备,该电子设备配置有基于微服务设计得到的应用程序,包括:
响应于接收到的针对应用程序的业务请求,确定分级指示信息,分级指示信息按照执行层级的执行顺序记录了与业务请求关联的N个执行单元的标识,每个执行层级中记录了一个或者多个执行单元的标识,N为大于1的整数;
按照分级指示信息指示的执行层级的执行顺序以及每个执行层级中记录的执行单元的标识,先后确定并运行N个执行单元;
分级指示信息是根据依赖关系配置信息生成的,其中,执行层级的执行顺序是根据依赖关系配置信息指示的N个执行单元之间的依赖关系确定的,并且,在为N个执行单元划分执行层级时,目标执行层级的执行单元依赖于目标执行层级的上一执行层级中的各个执行单元。
另一方面,本申请实施例提供了一种业务处理装置,包括:
接收单元,用于接收针对应用程序的业务请求;
处理单元,用于响应于接收到的针对应用程序的业务请求,确定分级指示信息,分级指示信息按照执行层级的执行顺序记录了与业务请求关联的N个执行单元的标识,每个执行层级中记录了一个或者多个执行单元的标识,N为大于1的整数;
按照分级指示信息指示的执行层级的执行顺序以及每个执行层级中记录的执行单元的标识,先后确定并运行N个执行单元;
分级指示信息是根据依赖关系配置信息生成的,其中,执行层级的执行顺序是根据依赖关系配置信息指示的N个执行单元之间的依赖关系确定的,并且,在为N个执行单元划分执行层级时,目标执行层级的执行单元依赖于目标执行层级的上一执行层级中的各个执行单元。
相应地,本申请实施例提供了一种智能设备,包括:存储器、处理器以及网络接口,上述处理器与上述存储器、上述网络接口相连,其中,上述网络接口用于提供网络通信功能,上述存储器用于存储程序代码,上述处理器用于调用程序代码,执行本申请实施例中的方法。
相应地,本申请实施例提供了一种计算机可读存储介质,包括:该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时,实现本申请实施例中的方法。
相应地,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取并执行该计算机指令,使得该计算机设备执行本申请实施例中的方法。
本申请实施例,一方面通过分级指示信息指示了执行层级的执行顺序以及每个执行层级中记录的执行单元的标识,按照这个分级指示信息可以快速地找到各个所需执行单元,并按照执行层级的执行顺序先后执行各个执行单元,由此可以快速地完成对业务请求的响应,提高了响应基于微服务的应用程序的业务请求的效率;另一方面,分级指示信息可以自动的根据依赖关系配置信息生成,也满足了分级指示的自动化、智能化需求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种业务处理方法的应用场景示意图;
图2是本申请实施例提供的一种业务处理方法的流程示意图;
图3是本申请实施例提供的另一种业务处理方法的流程示意图;
图4是本申请实施例提供的又一种业务处理方法的流程示意图;
图5是本申请实施提供的一种业务处理方法中根据依赖关系配置信息生成分级指示信息的流程示意图;
图6是本申请实施例提供的一种业务处理装置的结构示意图;
图7是本申请实施例提供的一种智能设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种业务处理方法、装置、设备及存储介质,该方法可以用于配置有基于微服务设计得到的应用程序的电子设备。通过实施本申请实施例,在响应基于微服务的应用程序的业务请求时,可以根据与业务请求关联的各个执行单元之间的依赖关系生成分级指示信息,该分级指示信息指示了根据各个执行单元之间的依赖关系对各个执行单元进行分级的结果,并按照分级后执行层级的执行顺序记录了各个执行单元的标识,根据分级指示信息记录的执行单元的标识可以快速地找到响应业务请求所需的执行单元,并按照执行层级的执行顺序先后执行各个执行单元,由此充分利用了执行单元之间的依赖关系,提高了响应基于微服务的应用程序的业务请求的效率。
请参见图1,是本申请实施例提供的一种业务处理方法的应用场景示意图。如图所示,该应用场景中可以包括终端10和后台服务器11,终端10通过网络与后台服务器11进行通信。其中,终端10可以是个人计算机、笔记本电脑、智能手机、平板电脑、智能手表、智能语音交互设备、智能家电、车载终端和智能可穿戴设备等,但并不局限于此。后台服务器11可以是一台服务器,也可以是多台服务器构成的服务器集群,还可以是提供云计算服务的云服务器。
如图1所示,终端10可以安装有基于微服务的应用程序,该基于微服务的应用程序可以是由一个或多个微服务组成的应用程序,当该应用程序在终端10运行时,终端10可以响应用户对该应用程序的相关操作,并与后台服务器11进行数据传输。可以理解的是,本申请实施例提供的方法可以由电子设备执行,电子设备包括但不限于终端或后台服务器。
进一步的,请参见图2,是本申请实施例提供的一种业务处理方法的流程示意图。该方法可以由电子设备执行,该电子设备可以是智能手机、平板电脑、智能可穿戴设备、个人电脑等设备,该电子设备配置有基于微服务设计得到的应用程序,如图2所示,该方法可以包括但不限于如下步骤。
S201:响应于接收到的针对应用程序的业务请求,确定分级指示信息。
在本申请实施例中,电子设备可以接收针对应用程序的业务请求,并对该业务请求进行响应,确定分级指示信息,分级指示信息可以按照执行层级的执行顺序记录与业务请求关联的N个执行单元的标识,并且每个执行层级中可以记录一个或者多个执行单元的标识。
在一个实施例中,当该步骤是由诸如终端的电子设备实现时,针对应用程序的业务请求可以由用户触发,例如,该应用程序可以是游戏应用程序,用户触发的业务请求可以包括但不限于,控制游戏对象释放技能、控制游戏对象A对游戏对象B的攻击操作,控制游戏对象进行防御操作等等;当该步骤是由后台服务器等电子设备实现时,针对应用程序的业务请求可以是由电子设备发送的。其中,应用程序可以包括但不限于即时消息收发应用程序、音乐播放器应用程序、视频播放器应用程序、游戏应用程序、视频会议应用程序等等。电子设备确认收到该业务请求后,可以根据业务请求的内容确定与该业务请求关联的N个执行单元,例如,业务请求的内容为视频解码,与视频解码关联的执行单元可以包括完成加减运算的执行单元和完成逻辑运算的执行单元。其中,每个执行单元携带唯一标识,该标识可以是执行单元的存储地址。
在一个实施例中,确定分级指示信息之前,需要获取与该业务请求关联的N个执行单元的依赖关系配置信息,该依赖关系配置信息可以是开发人员预先配置的,该依赖关系配置信息可以包括描述执行单元之间依赖关系的数据。其中,依赖关系是指一个待执行的执行单元需要等待一个或者多个前序的执行单元完成后才能执行。电子设备根据N个执行单元的依赖关系配置信息可以生成分级指示信息,在该分级指示信息中,可以按照执行层级的执行顺序记录N个执行单元的标识,每个执行层级可以记录一个或者多个执行单元的标识。
S202:按照分级指示信息指示的执行层级的执行顺序以及每个执行层级中记录的执行单元的标识,先后确定并运行N个执行单元。
在本申请实施例中,确定分级指示信息后,电子设备可以按照分级指示信息的指示,确定每个执行单元所在的执行层级,并按照分级信息指示的执行层级的执行顺序运行各个执行单元。
在一个实施例中,执行层级的执行顺序可以表示执行单元之间的依赖关系,根据每个执行层级中记录的执行单元的标识可以获取对应的执行单元。执行顺序的优先级低的执行层级中记录的执行单元的标识所对应的执行单元依赖于执行顺序的优先级高的执行层级中记录的执行单元的标识所对应的执行单元,例如,若第一执行层级的执行顺序优先于第二执行层级,则表明第二执行层级中记录的执行单元的标识所对应的执行单元依赖于第一执行层级中记录的执行单元的标识所对应的执行单元,该第二执行层级中记录的执行单元的标识所对应的执行单元需要等待第一执行层级中记录单元的标识所对应的执行单元运行完成后才能执行。相应地,同一个执行层级中记录的执行单元的标识所对应的执行单元之间将不存在依赖关系,便可以并行执行相同执行层级中记录的执行单元的标识所对应的执行单元,即同时运行相同执行层级中记录的执行单元的标识所对应的执行单元。
通过实施本申请实施例,开发人员在配置时不再需要严格控制执行单元的执行顺序,仅需关注执行单元之间的依赖关系,电子设备在响应针对基于微服务设计的应用程序的业务请求时,可以根据执行单元之间的依赖关系自动生成分级指示信息,然后按照分级指示信息指示的执行层级的执行顺序运行各个执行单元,并且相同执行层级的执行单元可以并行执行,进而有效地提升了执行效率,同时也满足了分级指示的自动化、智能化需求。
在一个实施例中,如图3所示,步骤S201之前,还可以包括:
S301:获取依赖关系配置信息。
在本申请实施例中,电子设备可以获取依赖关系配置信息,该依赖关系配置信息中存储了描述各个执行单元之间依赖关系的数据。
在一个实施例中,依赖关系配置信息可以是以配置文件的形式存储电子设备中,描述各个执行单元之间依赖关系的数据包括各个执行单元的标识和各个执行单元之间的依赖关系,例如,假设执行单元A=执行单元B+执行单元C、执行单元C=执行单元E+执行单元F+执行单元G,则描述各个执行单元之间依赖关系的数据可以是:{执行单元A,执行单元B执行单元C};{执行单元C,执行单元E执行单元F执行单元G},即表示执行单元A依赖于执行单元B和执行单元C;执行单元C依赖于执行单元E、执行单元F和执行单元G。
S302:根据依赖关系配置信息生成有向图。
在本申请实施例中,电子设备可以根据依赖关系配置信息中描述各个执行单元之间依赖关系的数据生成有向图,有向图的节点可以是各个执行单元的标识,有向图的有向边可以用于表示各个执行单元之间的依赖关系。
在一个实施例中,有向图是由一组节点和一组有向边构成的,每条有向边连接着两个有序的节点,并且由一个节点指向另一个节点。电子设备可以根据描述各个执行单元之间依赖关系的数据生成有向图,将各个执行单元的标识存储为有向图的各个节点,根据各个执行单元之间的依赖关系构建有向边,例如,执行单元A依赖于执行单元B,则有向边连接的一对有序节点为存储执行单元A的标识的节点和存储执行单元B的标识的节点,有向边的指向为存储执行单元B的标识的节点指向存储执行单元A的标识的节点。
S303:根据有向图生成分级指示信息。
在本申请实施例中,电子设备可以根据有向图中节点与节点之间的有向边及有向图中各节点生成分级指示信息。
在一个实施例中,电子设备可以遍历有向图中的节点,并得到有向图的根节点,根节点是指有向图的起始节点,根节点中存储的执行单元的标识所对应的执行单元不依赖于其他执行单元。相应地,电子设备将根节点中存储的执行单元的标识所对应的执行单元划分为第一执行层级,该第一执行层级的执行顺序优先级最高。
在一个实施例中,从根节点开始,电子设备可以遍历其他各个节点,根据与根节点相连的有向边指向的节点可以确定根节点所对应的指向节点集合。需要说明的是,确定该指向节点集合之前,还需要确定所述当前遍历节点的初始节点集合,该初始节点集合中包括了与根节点相连的有向边指向的节点,若该初始节点集合中各节点之间不存在有向边,即初始节点集合中各节点存储的执行单元的标识所对应的执行单元之间不存在依赖关系,则可以直接将该初始节点集合确定为根节点所对应的指向节点集合;若该初始节点集合中有至少两个节点之间存在有向边,即初始节点集合中至少有两个节点中存储的执行单元的标识所对应的执行单元之间存在依赖关系,则将该初始节点集合进行更新后得到根节点所对应的指向节点集合,假设第一节点与第二节点之间存在有向边,对该初始节点集合进行更新是指:若该有向边为第一节点指向第二节点,即第二节点中存储的执行单元的标识所对应的执行单元依赖于第一节点中存储的执行单元的标识所对应的执行单元,则将初始节点集合中的第二节点删除;若该有向边为第二节点指向第一节点,即第一节点中存储的执行单元的标识所对应的执行单元依赖于第二节点中存储的执行单元的标识所对应的执行单元,则将初始节点集合中的第一节点删除。确定根节点所对应的指向节点集合后,将根节点所对应的指向节点集合划分为第二执行层级,第二执行层级的执行顺序的优先级仅次于第一执行层级,即运行完成第一执行层级之后运行第二执行层级。根据第二执行层级中包括的各节点的指向节点集合可以确定第三执行层级的划分,以此类推,直至遍历完所有节点,并将其都划分至对应的执行层级。再根据划分的执行层级的执行顺序电子设备可以生成分级指示信息,并且该分级指示信息可以按照执行层级的执行顺序记录各个执行单元的标识。
通过实施本申请实施例,电子设备在响应针对基于微服务设计的应用程序的业务请求时,可以根据依赖关系配置信息生成有向图,然后再根据有向图生成分级指示信息。通过这种方式,优化了各个执行单元的执行顺序,电子设备可以按照分级指示信息指示的执行层级的执行顺序运行各个执行单元,提高了响应基于微服务的应用程序的业务请求的效率,并且配置人员的容错率也得到了提升,配置人员只需要配置各个执行单元之间的依赖关系,无需严格控制执行单元的执行顺序,避免了因执行单元的执行顺序不一致导致的执行结果不符合预期。
进一步的,请参见图4,图4是本申请实施例提供的又一种业务处理方法的流程示意图。该方法可以由电子设备执行,该电子设备配置有基于微服务设计得到的应用程序,如图4所示,该方法可以包括但不限于如下步骤:
S401:获取N个执行单元的标识。
在本申请实施例中,生成有向图之前电子设备可以获取各个执行的单元的标识。
在一个实施例中,电子设备可以预先为N个执行单元申请N个内存空间,N个内存空间的内存地址可以作为N个执行单元的标识,每个内存地址与每个执行单元一一对应。
S402:根据依赖关系配置信息为N个执行单元生成N个链表。
在本申请实施例中,电子设备可以根据依赖关系配置信息为每个执行单元生成一个链表,链表中可以存储目标执行单元的标识、与目标执行单元存在依赖关系的各个执行单元的标识以及它们之间的依赖关系。
在一个实施例中,链表是一个包括多个元素的有序集合,元素与元素之间通过指针连接。电子设备可以为每个执行单元生成一个链表,链表的一端可以用于存储目标执行单元的标识,另一端用于存储目标执行单元依赖的各个执行单元的标识,链表的指针指向为存储目标执行单元的标识的一端指向存储目标执行单元依赖的各个执行单元的标识另一端。其中,目标执行单元依赖的各个执行单元的标识可以是以数组的形式存储在链表中,该数组中若只存储一个执行单元的标识,则表明该目标执行单元只依赖一个执行单元,该数组中若存储了多个执行单元的标识,则表明该目标执行单元依赖的执行单元有多个。
S403:将N个链表中相同标识对应的执行单元进行合并处理,并根据合并处理的结果生成有向图。
在本申请实施例中,电子设备可以将N个链表中相同标识对应的执行单元进行合并处理,得到合并处理的结果,然后根据合并处理的结果生成有向图。
在一个实施例中,N个链表中相同标识对应的执行单元则表明是同一个执行单元,电子设备可以将相同执行单元的标识对应的执行单元进行合并,即根据执行单元的标识将同一个执行单元存储在一个内存空间中,并将执行单元的标识作为有向图的节点,再根据链表中指针的指向确定有向图中有向边的指向。需要注意的是,链表指针的指向为目标执行单元指向目标执行单元依赖的各个执行单元,而有向图中有向边的指向为目标执行单元依赖的各个执行单元指向目标执行单元。
S404:将有向图的根节点所对应的各个执行单元确定为第一执行层级。
在本申请实施例中,电子设备可以对有向图进行遍历,得到有向图的根节点,并将有向图根节点存储的执行单元的标识所对应的各个执行单元确定为第一执行层级。
在一个实施例中,根节点是指有向图的起始节点,根节点中存储的执行单元的标识所对应的各个执行单元不依赖于其他执行单元。在划分执行层级时,将根节点中存储的执行单元的标识所对应的各个执行单元划分为第一执行层级,该第一执行层级中可以记录各个执行单元的标识。并且,在确定执行层级的执行顺序时,第一执行层级的执行顺序优先级最高,即从第一执行层级开始执行顺序的优先级逐层递减。
S405:从根节点开始遍历有向图中的节点。
在本申请实施例中,电子设备可以将每个根节点作为起点,遍历有向图中的其它节点。
S406:根据有向图的有向边,确定当前遍历节点的初始节点集合。
在本申请实施例中,电子设备可以根据与当前遍历节点连接的有向边的指向,确定当前遍历节点的初始节点集合。
在一个实施例中,初始节点集合是由与当前遍历节点相连的有向边指向的节点组成的,即当前遍历节点存储的执行单元的标识所对应的执行单元依赖于初始节点集合中存储的执行单元的标识所对应的执行单元。
S407:若初始节点集合中的各个节点之间不存在有向边,则将初始节点集合确定为当前遍历节点所对应的指向节点集合。
在本申请实施例中,电子设备可以根据当前遍历节点的初始节点集合确定其所对应的指向节点集合,若初始节点集合中的各个节点之间不存在有向边,则将初始节点集合确定为当前遍历节点所对应的指向节点集合。
在一个实施例中,当前遍历节点所对应的指向节点集合中的各个节点之间不存在有向边,即该指向节点集合中的各个节点存储的执行单元的标识所对应的执行单元之间不存在依赖关系。电子设备可以根据当前遍历节点的初始节点集合确定其所对应的指向节点集合,若初始节点集合中的各个节点之间不存在有向边,即表明初始节点集合中存储的执行单元的标识所对应的执行单元之间不存在依赖关系,则可以直接将该初始节点集合确定为当前遍历节点所对应的指向节点集合
S408:若初始节点集合中有至少两个节点之间存在有向边,则对初始节点集合进行更新,得到当前遍历节点所对应的指向节点集合。
在本申请实施例中,电子设备可以根据当前遍历节点的初始节点集合确定其所对应的指向节点集合,若初始节点集合中有至少两个节点之间存在有向边,则对初始节点集合进行更新,得到当前遍历节点所对应的指向节点集合。
在一个实施例中,若初始节点集合中有至少两个节点之间存在有向边即表明该初始节点集合中至少有两个节点中存储的执行单元的标识所对应的执行单元之间存在依赖关系,则需要对初始节点集合进行更新,以得到各个节点之间不存在有向边的指向节点集合。
在一个实施例中,对初始节点集合进行更新的操作为:针对初始节点集合中存在有向边的每两个节点,将有向边所指向的节点从初始节点集合中删除。例如,假设第一节点与第二节点之间存在有向边,若该有向边的指向为第一节点指向第二节点,即表明第二节点中存储的执行单元的标识所对应的执行单元依赖于第一节点中存储的执行单元的标识所对应的执行单元,则将初始节点集合中的第二节点删除;反之,若该有向边的指向为第二节点指向第一节点,即表明第一节点中存储的执行单元的标识所对应的执行单元依赖于第二节点中存储的执行单元的标识所对应的执行单元,则将初始节点集合中的第一节点删除。
S409:基于当前遍历节点以及当前遍历节点所对应的指向节点集合,确定目标执行层级以及执行层级的执行顺序。
在本申请实施例中,电子设备根据当前遍历节点以及当前遍历节点所对应的指向节点集合,可以确定目标执行层级以及执行层级的顺序。
在一个实施例中,步骤S409可以包括:若当前遍历节点存储于第i执行层级,则将当前遍历节点所对应的指向节点集合存储至第i+1执行层级;其中,第i执行层级在执行顺序上优先于第i+1执行层级。第i执行层级的执行顺序优先于第i+1执行层级表明第i+1执行层级中记录的执行单元的标识所对应的执行单元依赖于第i执行层级中记录的执行单元的标识所对应的执行单元,该第i+1执行层级中记录的执行单元的标识所对应的执行单元需要等待第i执行层级中记录单元的标识所对应的执行单元运行完成后才能执行。
S410:根据执行层级的执行顺序生成分级指示信息。
在本申请实施例中,电子设备根据执行层级的执行顺序可以生成分级指示信息。
在一个实施例中,该分级指示信息所指示的每一个执行层级可以记录一个或者多个执行单元的标识,并且执行层级的执行顺序展示了执行单元之间的依赖关系,即执行顺序优先级低的执行层级中记录的执行单元的标识所对应的执行单元依赖于执行顺序优先级高的执行层级中记录的执行单元的标识所对应的执行单元。
S411:基于执行单元的标识获取对应的执行单元。
在本申请实施例中,电子设备可以根据执行单元的标识获取对应的执行单元。
在一个实施例中,执行单元的标识与执行单元一一对应,执行单元的标识可以是执行单元的存储地址,电子设备在对应的存储地址下可以获取相应的执行单元。
S412:根据执行层级的执行顺序依次运行每个执行层级,并将相同执行层级的各个执行单元并行运行。
在本申请实施例中,电子设备可以按照分级指示信息指示的执行层级的执行顺序依次运行每个执行层级,并将相同执行层级中记录的执行单元的标识所对应的执行单元并行运行。
在一个实施例中,分级指示信息指示的执行层级的执行顺序即表明了运行时的优先级顺序,并且相同执行层级中记录的执行单元的标识所对应的执行单元之间不存在依赖关系,在运行时可以并行执行相同执行层级中记录的执行单元的标识所对应的执行单元,即同时运行相同执行层级中记录的执行单元的标识所所对应的执行单元。
通过实施本申请实施例,电子设备在响应针对基于微服务设计的应用程序的业务请求时,可以根据依赖关系配置信息为与业务请求关联的N个执行单元生成N个链表,然后对N个链表进行合并处理后再生成有向图,并根据有向图生成分级指示信息,最后按照分级指示信息指示的执行层级的执行顺序运行各个执行单元,并且相同执行层级的执行单元可以并行执行,以此提升执行效率,并满足分级指示的自动化、智能化需求。除此之外,将本申请实施例应用到基于微服务开发的后端服务中,还可以得到高质量、高性能的后台服务,改善处理效率,简化后台的处理流程。本申请实施例通过有向图的形式优化了各个执行单元的执行顺序,解决了业务处理流程中后置处理不能单独定制的问题。
进一步的,请参见图5,图5是本申请实施例提供的一种业务处理方法中根据依赖关系配置信息生成分级指示信息的流程示意图。如图5所示,501为与业务请求关联的六个执行单元的依赖关系配置信息,其中,执行单元A依赖于执行单元B和执行单元C,执行单元B依赖于执行单元C,执行单元C依赖于执行单元E、执行单元F和执行单元G。
根据依赖关系配置信息501电子设备可以为每个执行单元生成一个链表,502为执行单元A、执行单元B、执行单元C、执行单元E、执行单元F和执行单元G的链表,由于执行单元E、执行单元F和执行单元G不依赖于其他执行单元,所以其链表为仅包括自己的标识的集合。执行单元A依赖于执行单元B和执行单元C,执行单元B的标识和执行单元C的标识可以存储在一个数组中,指针的指向由存储执行单元A的标识的内存空间指向存储执行单元B的标识和执行单元C的标识的数组;执行单元B依赖于执行单元C,执行单元C的标识可以存储在一个数组中,指针的指向由存储执行单元B的标识的内存空间指向存储执行单元C的标识的数组;执行单元C依赖于执行单元E、执行单元F和执行单元G,执行单元E的标识、执行单元F的标识和执行单元G的标识可以存储在一个数组中,指针的指向由存储执行单元C的标识的内存空间指向存储执行单元E的标识、执行单元F的标识和执行单元G的标识的数组。
电子设备可以将502中的链表中相同标识对应的执行单元进行合并处理,并根据合并处理的结果生成有向图503。在生成有向图的过程中,将相同执行单元的标识对应的执行单元存储在一个内存空间中,并将执行单元的标识作为有向图的节点,再根据链表中指针的指向确定有向图中有向边的指向。需要注意的是,执行单元A依赖于执行单元B和执行单元C,执行单元B依赖于执行单元C,执行单元C依赖于执行单元E、执行单元F和执行单元G,在502中链表指针的指向为执行单元A指向依赖的执行单元B和执行单元C,执行单元B指向依赖的执行单元C,执行单元C指向依赖的执行单元E、执行单元F和执行单元G,而在有向图503中有向边的指向为执行单元B和执行单元C指向执行单元A,执行单元C指向执行单元B,执行单元E、执行单元F和执行单元G指向执行单元C。
根据有向图503电子设备可以生成分级指示信息504。有向图503的根节点存储了执行单元E的标识、执行单元F的标识和执行单元G的标识,执行单元E、执行单元F和执行单元G不依赖于其他执行单元。在划分执行层级时,将有向图502中根节点存储的执行单元E的标识、执行单元F的标识和执行单元G的标识划分为第一执行层级,该第一执行层级的执行顺序优先级最高;由于与根节点相连的有向边指向的节点只有存储执行单元C的标识的节点,则直接将执行单元C的标识确定为根节点所对应的指向节点集合,并将执行单元C划分为第二执行层级,该第二执行层级的执行顺序优先级低于第一执行层级;与存储执行单元C的标识的节点相连的有向边指向的节点有存储执行单元B的标识的节点和存储执行单元A的标识的节点,将存储执行单元B的标识的节点和存储执行单元A的标识的节点确定为初始节点集合,由于存储执行单元B的标识的节点与存储执行单元A的标识的节点之间存在有向边,且有向边的指向为存储执行单元B的标识的节点指向存储执行单元A的标识的节点,则删除初始节点集合中存储执行单元A的标识的节点,得到存储执行单元C的标识的节点所对应的指向节点集合,该指向节点集合中仅存储执行单元B的标识,并将该指向节点集合划分为第三执行层级,该第三执行层级的执行顺序优先级低于第二执行层级;与存储执行单元B的标识的节点相连的有向边指向的节点只有存储执行单元A的标识的节点,则直接将存储执行单元A的标识的节点确定为存储执行单元B的标识的节点所对应的指向节点集合,并将该指向节点集合划分为第四执行层级,该第四执行层级的执行顺序优先级低于第三执行层级。该分级指示信息504按照执行层级的执行顺序记录了与业务请求关联的六个执行单元的标识,每个执行层级中记录了一个或者多个执行单元的标识。
在本申请实施例中,电子设备根据依赖配置信息生成分级指示信息,充分利用了执行单元之间的依赖关系,有利于提升执行效率。
进一步的,请参见图6,图6是本申请实施例提供的一种业务处理装置的结构示意图,在一个实施例中,如图6所示,该业务处理装置60,可以包括:
接收单元601,用于接收针对应用程序的业务请求。
处理单元602,用于响应于接收到的针对应用程序的业务请求,确定分级指示信息,分级指示信息按照执行层级的执行顺序记录了与业务请求关联的N个执行单元的标识,每个执行层级中记录了一个或者多个执行单元的标识,N为大于1的整数;
按照分级指示信息指示的执行层级的执行顺序以及每个执行层级中记录的执行单元的标识,先后确定并运行N个执行单元;
分级指示信息是根据依赖关系配置信息生成的,其中,执行层级的执行顺序是根据依赖关系配置信息指示的N个执行单元之间的依赖关系确定的,并且,在为N个执行单元划分执行层级时,目标执行层级的执行单元依赖于目标执行层级的上一执行层级中的各个执行单元。
需要说明的是,图6对应的实施例中未提及的内容以及各个步骤的具体实现方式可参见图2-图5所示实施例以及前述内容,这里不再赘述。
进一步的,请参见图7,图7是本申请实施例提供的一种智能设备的结构示意图。该智能设备可以包括:网络接口701、存储器702和处理器703,网络接口701、存储器702和处理器703通过一条或多条通信总线连接,通信总线用于实现这些组件之间的连接通信。网络接口701可以包括标准的有线接口、无线接口(如WIFI接口)。存储器702可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器702也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;存储器702还可以包括上述种类的存储器的组合。处理器703可以是中央处理器(central processing unit,CPU)。处理器703还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integratedcircuit,ASIC),可编程逻辑器件(programmable logic device,PLD)等。上述PLD可以是现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(genericarray logic,GAL)等。
可选的,存储器702还用于存储程序指令,处理器703还可调用该程序指令,以实现:
响应于接收到的针对应用程序的业务请求,确定分级指示信息,分级指示信息按照执行层级的执行顺序记录了与业务请求关联的N个执行单元的标识,每个执行层级中记录了一个或者多个执行单元的标识,N为大于1的整数;
按照分级指示信息指示的执行层级的执行顺序以及每个执行层级中记录的执行单元的标识,先后确定并运行N个执行单元;
分级指示信息是根据依赖关系配置信息生成的,其中,执行层级的执行顺序是根据依赖关系配置信息指示的N个执行单元之间的依赖关系确定的,并且,在为N个执行单元划分执行层级时,目标执行层级的执行单元依赖于目标执行层级的上一执行层级中的各个执行单元。
应当理解,本申请实施例中所描述的智能设备70解决问题的原理与有益效果与本申请图2-图5所示实施例以及前述内容解决问题的原理和有益效果相似,为简洁描述,在这里不再赘述。
此外,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现前述实施例提供的方法。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述实施例提供的方法。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的单元可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本申请的部分实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于本申请所涵盖的范围。
Claims (10)
1.一种业务处理方法,其特征在于,应用于电子设备,所述电子设备配置有基于微服务设计得到的应用程序,所述方法包括:
响应于接收到的针对所述应用程序的业务请求,确定分级指示信息,所述分级指示信息按照执行层级的执行顺序记录了与所述业务请求关联的N个执行单元的标识,每个执行层级中记录了一个或者多个执行单元的标识,N为大于1的整数;
按照所述分级指示信息指示的所述执行层级的执行顺序以及每个执行层级中记录的执行单元的标识,先后确定并运行N个执行单元;
所述分级指示信息是根据依赖关系配置信息生成的,其中,所述执行层级的执行顺序是根据所述依赖关系配置信息指示的所述N个执行单元之间的依赖关系确定的,并且,在为所述N个执行单元划分所述执行层级时,目标执行层级的执行单元依赖于所述目标执行层级的上一执行层级中的各个执行单元。
2.如权利要求1所述的方法,其特征在于,所述响应于接收到的针对所述应用程序的业务请求,确定分级指示信息之前,所述方法还包括:
获取所述依赖关系配置信息,所述依赖关系配置信息包括描述所述N个执行单元之间的依赖关系的数据;
根据所述依赖关系配置信息生成有向图,所述有向图的节点为各个执行单元的标识,所述有向图的有向边用于表示节点之间的依赖关系;
根据所述有向图生成所述分级指示信息。
3.如权利要求2所述的方法,其特征在于,所述根据所述依赖关系配置信息生成有向图,包括:
获取所述N个执行单元的标识;
根据所述依赖关系配置信息为所述N个执行单元生成N个链表,每个链表中存储了目标执行单元的标识、与所述目标执行单元存在依赖关系的各个执行单元的标识以及依赖关系;
将所述N个链表中相同标识对应的执行单元进行合并处理,并根据合并处理的结果生成所述有向图。
4.如权利要求2所述的方法,其特征在于,所述根据所述有向图生成所述分级指示信息,包括:
将所述有向图的根节点所对应的各个执行单元确定为第一执行层级;
从所述根节点开始遍历所述有向图中的节点;
根据当前遍历节点确定所述当前遍历节点所对应的指向节点集合,其中,所述当前遍历节点所对应的指向节点集合中的各个节点之间不存在有向边;
基于所述当前遍历节点以及所述当前遍历节点所对应的指向节点集合,确定所述目标执行层级以及所述执行层级的执行顺序;
根据所述执行层级的执行顺序生成所述分级指示信息。
5.如权利要求4所述方法,其特征在于,所述根据当前遍历节点确定所述当前遍历节点所对应的指向节点集合,包括:
根据所述有向图的有向边,确定所述当前遍历节点的初始节点集合;
若所述初始节点集合中的各个节点之间不存在有向边,则将所述初始节点集合确定为所述当前遍历节点所对应的指向节点集合;
若所述初始节点集合中有至少两个节点之间存在有向边,则对所述初始节点集合进行更新,得到所述当前遍历节点所对应的指向节点集合;
其中,对所述初始节点集合进行更新是指:针对所述初始节点集合中存在有向边的每两个节点,将所述有向边所指向的节点从所述初始节点集合中删除。
6.如权利要求4或5所述的方法,其特征在于,所述基于所述当前遍历节点以及所述当前遍历节点所对应的指向节点集合,确定所述目标执行层级以及所述执行层级的执行顺序,包括:
若所述当前遍历节点存储于第i执行层级,则将所述当前遍历节点所对应的指向节点集合存储至第i+1执行层级;其中,所述第i执行层级在执行顺序上优先于所述第i+1执行层级,i为大于1小于N的整数。
7.如权利要求1所述的方法,其特征在于,所述按照所述分级指示信息指示的所述执行层级的执行顺序以及每个执行层级中记录的执行单元的标识,先后确定并运行N个执行单元,包括:
基于所述执行单元的标识获取对应的执行单元;
根据所述执行层级的执行顺序依次运行每个执行层级,并将相同执行层级的各个执行单元并行运行。
8.一种业务处理装置,其特征在于,所述装置包括:
接收单元,用于接收针对应用程序的业务请求;
处理单元,用于响应于接收到的所述针对应用程序的业务请求,确定分级指示信息,所述分级指示信息按照执行层级的执行顺序记录了与所述业务请求关联的N个执行单元的标识,每个执行层级中记录了一个或者多个执行单元的标识,N为大于1的整数;
按照所述分级指示信息指示的所述执行层级的执行顺序以及每个执行层级中记录的执行单元的标识,先后确定并运行N个执行单元;
所述分级指示信息是根据依赖关系配置信息生成的,其中,所述执行层级的执行顺序是根据所述依赖关系配置信息指示的所述N个执行单元之间的依赖关系确定的,并且,在为所述N个执行单元划分所述执行层级时,目标执行层级的执行单元依赖于所述目标执行层级的上一执行层级中的各个执行单元。
9.一种智能设备,其特征在于,包括存储器、处理器以及网络接口,所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供网络通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行权利要求1~7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时,实现权利要求1~7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111416125.9A CN116166342A (zh) | 2021-11-25 | 2021-11-25 | 业务处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111416125.9A CN116166342A (zh) | 2021-11-25 | 2021-11-25 | 业务处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116166342A true CN116166342A (zh) | 2023-05-26 |
Family
ID=86410167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111416125.9A Pending CN116166342A (zh) | 2021-11-25 | 2021-11-25 | 业务处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116166342A (zh) |
-
2021
- 2021-11-25 CN CN202111416125.9A patent/CN116166342A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108614726B (zh) | 虚拟机创建方法及装置 | |
US10726518B2 (en) | Capacity reservation for virtualized graphics processing | |
US10614117B2 (en) | Sharing container images between mulitple hosts through container orchestration | |
CN110554909A (zh) | 任务的调度处理方法、装置及计算机设备 | |
CN111930486B (zh) | 任务选取数据处理方法、装置、设备及存储介质 | |
CN111767143A (zh) | 交易数据处理方法、装置、设备及系统 | |
CN109032796B (zh) | 一种数据处理方法和装置 | |
CN109271106B (zh) | 消息存储、读取方法及装置、服务器、存储介质 | |
US11546431B2 (en) | Efficient and extensive function groups with multi-instance function support for cloud based processing | |
US11237761B2 (en) | Management of multiple physical function nonvolatile memory devices | |
EP3192027A1 (en) | Accounts control | |
CN107885543B (zh) | 一种应用程序的功能管理方法、装置和智能终端 | |
US10922001B2 (en) | Vector-based storage management | |
US10303631B2 (en) | Self-moderating bus arbitration architecture | |
WO2024001025A1 (zh) | 一种预执行缓存数据清理方法和区块链节点 | |
CN113032349A (zh) | 数据存储方法、装置、电子设备及计算机可读介质 | |
CN116166342A (zh) | 业务处理方法、装置、设备及存储介质 | |
CN115311399A (zh) | 图像渲染方法、装置、电子设备以及存储介质 | |
CN111813407B (zh) | 游戏开发方法、游戏运行方法、装置和电子设备 | |
CN117041980B (zh) | 一种网元管理方法、装置、存储介质及电子设备 | |
CN116820354B (zh) | 数据存储方法、数据存储装置和数据存储系统 | |
US11765236B2 (en) | Efficient and extensive function groups with multi-instance function support for cloud based processing | |
CN109587703B (zh) | 信道优化方法及装置 | |
CN117749813A (zh) | 基于云计算技术的数据迁移方法及云管理平台 | |
WO2022147332A1 (en) | Method and apparatus for maximizing a number of connections that can be executed from a mobile application |
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 |