CN116204239A - 业务处理方法、装置和计算机可读存储介质 - Google Patents

业务处理方法、装置和计算机可读存储介质 Download PDF

Info

Publication number
CN116204239A
CN116204239A CN202111456704.6A CN202111456704A CN116204239A CN 116204239 A CN116204239 A CN 116204239A CN 202111456704 A CN202111456704 A CN 202111456704A CN 116204239 A CN116204239 A CN 116204239A
Authority
CN
China
Prior art keywords
service
plug
target
proxy
proxy service
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
Application number
CN202111456704.6A
Other languages
English (en)
Inventor
刘超
李昱
鲁四喜
杨军
高峰
罗慧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202111456704.6A priority Critical patent/CN116204239A/zh
Publication of CN116204239A publication Critical patent/CN116204239A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开了一种业务处理方法、装置和计算机可读存储介质,涉及互联网技术领域;通过当接收到目标业务的业务处理请求时,确定目标业务对应的目标代理服务;在当前节点的代理服务组件中确定目标代理服务对应的目标业务插件,其中,该代理服务组件包括至少一个候选代理服务对应的业务插件,每一业务插件实现一个候选代理服务的功能;从基于候选代理服务对应的功能接口中,筛选出目标业务插件对应的目标功能接口;根据目标功能接口调用目标业务插件,以响应业务处理请求。以此,通过业务插件代替代理服务组件来实现代理服务的功能,提高了代理服务组件的部署效率,进而提高了业务处理效率。

Description

业务处理方法、装置和计算机可读存储介质
技术领域
本申请涉及互联网技术领域,具体涉及一种业务处理方法、装置和计算机可读存储介质。
背景技术
近年来,随着互联网技术的快速发展,业务需求的更新越来越频繁且复杂,相应的,为了更好的满足各种复杂的业务需求,一个业务节点上部署的代理服务组件也越来越多。其中,代理服务组件(Agent)是一种软件,可以充当用户或另一个程序的代理,并在特定环境中连续不断地工作,例如,可以分布式的部署到集群节点中来搜集各个节点的数据,或者在节点中执行某些任务等。
在对现有技术的研究和实践过程中,本发明的发明人发现,在现有技术中,随着业务节点中部署的Agent数量的增多,业务之间存在Agent功能重复建设的问题,同时,节点中部署的Agent数量的增多会导致系统资源消耗以及运维管理难度增大,从而代理服务组件的部署效率较低,进而使得业务处理的效率较低。
发明内容
本申请实施例提供一种业务处理方法、装置和计算机可读存储介质,可以提高了代理服务组件的部署效率,进而提高了业务处理效率。
本申请实施例提供一种业务处理方法,包括:
当接收到目标业务的业务处理请求时,确定所述目标业务对应的目标代理服务;
在当前节点的代理服务组件中确定所述目标代理服务对应的目标业务插件,其中,所述代理服务组件包括至少一个候选代理服务对应的业务插件,每一业务插件实现一个候选代理服务的功能;
从基于所述候选代理服务对应的功能接口中,筛选出所述目标业务插件对应的目标功能接口;
根据所述目标功能接口调用所述目标业务插件,以响应所述业务处理请求。
相应的,本申请实施例提供一种业务处理装置,包括:
目标代理服务确定单元,用于当接收到目标业务的业务处理请求时,确定所述目标业务对应的目标代理服务;
目标业务插件确定单元,用于在当前节点的代理服务组件中确定所述目标代理服务对应的目标业务插件,其中,所述代理服务组件包括至少一个候选代理服务对应的业务插件,每一业务插件实现一个候选代理服务的功能;
筛选单元,用于从基于所述候选代理服务对应的功能接口中,筛选出所述目标业务插件对应的目标功能接口;
调用单元,用于根据所述目标功能接口调用所述目标业务插件,以响应所述业务处理请求。
在一实施例中,所述筛选单元,包括:
查找子单元,用于根据所述目标业务插件对应的目标插件标识,查找所述目标业务插件对应的目标插件实例;
目标功能接口确定子单元,用于基于所述目标插件实例中的实例功能接口确定所述目标业务插件对应的目标功能接口,所述实例功能接口为基于所述候选代理服务对应的功能接口筛选得到的。
在一实施例中,所述目标业务插件确定单元,包括:
插件标识获取子单元,用于获取所述目标代理服务关联的插件标识;
目标业务插件识别子单元,用于基于所述插件标识在当前节点的代理服务组件中识别出所述目标代理服务对应的目标业务插件。
在一实施例中,所述业务处理装置,还包括:
候选代理服务获取单元,用于确定当前节点对应的候选代理服务;
插件文件查找单元,用于查找所述候选代理服务对应的至少一个业务插件的插件文件;
业务插件加载单元,用于基于所述插件文件在所述当前节点的代理服务组件中加载所述候选代理服务对应的至少一个业务插件。
在一实施例中,所述业务处理装置,还包括:
待删除插件标识获取单元,用于当接收到针对所述代理服务组件的插件删除请求时,获取所述删除请求携带的待删除插件标识;
查找单元,用于基于所述待删除插件标识,在所述当前节点对应的关联数据容器中查找与所述待删除插件标识对应的插件标识和插件结构体;
删除单元,用于将查找到的所述待删除插件标识对应的插件标识和插件结构体进行删除。
在一实施例中,所述业务处理装置,还包括:
动态链接文件获取单元,用于当接收到针对所述代理服务组件的插件添加请求时,根据所述插件添加请求获取待添加业务插件对应的动态链接文件;
映射单元,用于将所述动态链接文件加载至内存,并将加载后动态链接文件映射到所述关联数据容器的预设插件接口中;
提取单元,用于基于所述预设插件接口,在所述动态链接文件中提取所述待添加业务插件对应的插件标识和插件结构体;
添加单元,用于将提取到的所述待添加业务插件对应的插件标识和插件结构体添加至所述关联数据容器中。
在一实施例中,所述业务处理装置,还包括:
管理接口类型确定单元,用于当接收到针对所述代理服务组件的管理接口调用请求时,基于所述管理接口调用请求确定管理接口类型;
管理单元,用于调用所述管理接口类型对应的管理接口,并基于所述管理接口对所述代理服务组件进行管理。
在一实施例中,所述业务处理装置,还包括:
启动单元,用于启动当前节点对应的代理服务组件,并加载所述代理服务组件对应的管理插件;
注册单元,用于通过所述管理插件对所述代理服务组件进行注册,并获取所述代理服务组件的心跳信息进行上报。
此外,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请实施例所提供的任一种业务处理方法中的步骤。
此外,本申请实施例还提供一种计算机设备,包括处理器和存储器,所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序实现本申请实施例提供的业务处理方法。
本申请实施例还提供一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行本申请实施例提供的业务处理方法中的步骤。
本申请实施例通过当接收到目标业务的业务处理请求时,确定目标业务对应的目标代理服务;在当前节点的代理服务组件中确定目标代理服务对应的目标业务插件,其中,该代理服务组件包括至少一个候选代理服务对应的业务插件,每一业务插件实现一个候选代理服务的功能;从基于候选代理服务对应的功能接口中,筛选出目标业务插件对应的目标功能接口;根据目标功能接口调用目标业务插件,以响应业务处理请求。以此,通过确定业务处理请求对应的目标代理服务,进而在代理服务组件中确定该目标代理服务对应的目标业务插件,并调用目标业务插件对应的目标功能接口,以基于该目标业务插件响应业务处理请求,这种通过业务插件替代代理服务组件来实现代理服务的功能的方式,避免了代理服务组件的重复部署,提高了代理服务组件的部署效率,进而提高了业务处理效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种业务处理方法实施场景示意图;
图2是本申请实施例提供的一种业务处理方法的流程示意图;
图3a是本申请实施例提供的一种业务处理方法的业务插件加载流程示意图;
图3b是本申请实施例提供的一种业务处理方法的代理服务组件文件结构示意图;
图3c是本申请实施例提供的一种业务处理方法的代理服务组件注册及版本更新流程示意图;
图3d是本申请实施例提供的一种业务处理方法的外部请求处理流程示意图;
图4是本申请实施例提供的一种业务处理方法的另一流程示意图;
图5是本申请实施例提供的一种业务处理方法的异步任务执行流程示意图;
图6a是本申请实施例提供的一种业务处理方法的代理服务组件架构示意图;
图6b是本申请实施例提供的一种业务处理方法的模块调用示意图;
图6c是本申请实施例提供的一种业务处理方法的代理服务组件框架数据流结构示意图;
图7是本申请实施例提供的业务处理装置的结构示意图;
图8是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种业务处理方法、装置和计算机可读存储介质。其中,该业务处理装置可以集成在计算机设备中,该计算机设备可以是服务器,也可以是终端等设备。
为了更好的说明本申请实施例,请参照以下名词进行参考:
Agent:一种在分布式系统或者协作系统中,能够持续自主地发挥作用的计算实体,简称为“智能体”。具体来讲,Agent是一种软件,可以充当用户或另一个程序的代理,并在特定环境中连续不断地工作,例如,可以分布式的部署到集群节点中来搜集各个节点的数据,或者在节点中执行某些任务等。
so文件:可以为基于业务编写得到的动态链接库,是二进制文件。
TRPC:一套高性能并支持多语言的RPC(Remote Procedure Call,即远程过程调用)开发框架。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、车载终端、智能音箱、智能手表等设备,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
请参阅图1,以业务处理装置集成在计算机设备中为例,图1为本申请实施例所提供的业务处理方法的实施场景示意图,其中,该计算机设备可以为服务器,也可以为终端,该计算机设备可以当接收到目标业务的业务处理请求时,确定目标业务对应的目标代理服务;在当前节点的代理服务组件中确定目标代理服务对应的目标业务插件,其中,该代理服务组件包括至少一个候选代理服务对应的业务插件,每一业务插件实现一个候选代理服务的功能;从基于候选代理服务对应的功能接口中,筛选出目标业务插件对应的目标功能接口;根据目标功能接口调用目标业务插件,以响应业务处理请求。
需要说明的是,图1所示的业务处理方法的实施环境场景示意图仅仅是一个示例,本申请实施例描述的业务处理方法的实施环境场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域普通技术人员可知,随着业务处理的演变和新业务场景的出现,本申请提供的技术方案对于类似的技术问题,同样适用。
以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从业务处理装置的角度进行描述,该业务处理装置具体可以集成在计算机设备中,该计算机设备可以是服务器,本申请在此不作限制。
请参阅图2,图2是本申请实施例提供的业务处理方法的流程示意图。该业务处理方法包括:
在步骤101中,当接收到目标业务的业务处理请求时,确定目标业务对应的目标代理服务。
其中,该目标业务可以为各行业中需要处理的事务,例如,可以为医疗业务、金融业务、支付业务以及教育业务等业务,具体的,可以为基于业务需求而产生的具体任务,例如,可以为获取业务节点上的数据,也可以为对业务节点进行监听等任务。该业务处理请求可以为基于目标业务的需求而产生的请求,基于该业务处理请求可以触发对该目标业务进行处理。该代理服务可以为通过Agent提供的服务,也即为通过Agent来实现的功能,例如,该代理服务可以为获取业务节点上的数据的服务,也可以为对业务节点进行监听的服务,该目标代理服务可以为目标业务对应的代理服务。
具体的,当接收到目标业务的业务处理请求时,可以确定目标业务对应的目标代理服务,可选的,可以通过获取该业务处理请求携带的标识信息,根据该标识信息确定目标业务对应的目标代理服务,其中,该标识信息可以包括标识该目标业务对应的目标代理服务的信息。
在步骤102中,在当前节点的代理服务组件中确定目标代理服务对应的目标业务插件。
在现有技术中,一般都是通过在节点上部署多个Agent(代理服务组件)来应对Agent服务的增多,这种部署方法使得节点上的各业务之间存在着功能重复建设,资源互不共享等问题,同时,部署的Agent增多,增加了运维管理的难度与成本,进而导致系统资源消耗过大。
为了解决以上问题,本申请实施例提供了一种业务处理方法,通过构建一种通用的Agent架构,来提供统一的开发、部署、运维、管理能力及平台。具体的,可以在节点中部署一个通用的代理服务组件(通用Agent),再通过在代理服务组件中加载业务插件来实现该业务插件对应的代理服务,同时,通用Agent可以根据业务需求动态可插拔的加载业务插件,以满足多个业务方自定义的在各个业务节点中部署相应功能的需求,避免了Agent的重复建设,提高了代理服务组件的部署效率。
此外,可以将代理服务组件中每一插件获取到的业务数据统一上报到平台侧,以此,可以实现多个Agent服务的资源在业务中进行共享,提高了资源利用率,进而提高了业务处理效率。
因此,为了可以通过插件化的方式执行该目标业务对应的目标代理服务,可以在当前节点的代理服务组件中确定目标代理服务对应的目标业务插件,具体的,可以在代理服务组件中的多个候选代理服务对应的多个业务插件中,确定目标代理服务对应的目标业务插件。
其中,该代理服务组件(Agent)可以包括至少一个候选代理服务对应的业务插件,每一业务插件实现一个候选代理服务的功能,该业务插件可以为预先加载到代理服务组件的插件,该候选代理服务可以为针对当前节点的业务需求确定的当前节点所需的代理服务,该目标业务插件可以为基于当前节点所需的候选代理服务,在当前节点的代理服务组件中预先加载的候选代理服务对应的业务插件。
其中,该业务插件可以为根据代理服务对应的功能转换得到插件,具体的,可以根据对应的代理服务的功能,来定义相应的功能接口,基于某一代理服务对应的功能接口以及该代理服务对应的具体业务逻辑可以得到该代理服务对应的业务插件,相应的,业务插件可以通过实现这些功能接口以及具体的业务逻辑来实现对应的代理服务的功能。相应的,为了可以实现Agent与业务插件之间的交互,可以根据基于代理服务定义的功能接口在业务插件与代理服务组件之间定义一致的功能接口,以通过功能接口的调用,来实现Agent与业务插件之间的加载和调用,以实现业务插件对应的代理服务。可以利用流水线来对业务插件进行编译和发布,编译过程主要可以为将业务插件及其依赖文件静态编译成so文件,进而将业务插件的so文件及相关配置文件等内容上传到文件服务器中,该文件服务器可以为对象存储(Cloud Object Storage,COS,简称COS)服务器。
可选的,这些功能接口,可以包括但不限于如下表格所示的功能接口:
Figure BDA0003387934370000081
Figure BDA0003387934370000091
其中,这些功能接口的定义可以具体如下:
a)Type,该方法可以用于获取业务插件的插件名称,入参为空,返回值可以为字符串。
b)Version,该方法可以用于获取业务插件的版本号,入参为空,返回值可以为字符串。
c)Setup,该方法可以用于业务插件的初始化操作,入参为上下文,这里所说的上下文是一个编程语言中的概念,指将当前程序的运行状态等信息传递给下层插件,一般可以用其传递日志句柄等业务需要的数据,返回值可以为错误。
d)Task,该方法可以用于执行同步任务方法,入参可以为上下文、字符串方法名称和字符串执行参数,返回值为执行结果字符串和错误。
e)CronTask,该方法可以用于执行定时任务,可以返回定时任务列表和相关信息,该相关信息可以指示Agent如何去调度业务插件中的定时任务。
f)BackGroundTask,该方法可以用于执行常驻任务,入参可以为传入上下文和指示协程是否关闭的通道类型,Agent会使用常驻的协程来启动调用业务插件中的该方法,不同于同步任务执行一次就退出,该方法可以使得业务插件中的常驻任务一直执行。
g)BackGroundTaskInfo,查询常驻任务,该方法可以用于获取常驻任务信息,该方法传入上下文和输入参数,返回的是执行信息的字符串和错误。
h)AsyncTask,执行异步任务,入参为传入上下文、方法名字符串以及参数字符串,返回执行结果字符串和错误。该类方法执行时间会较长,如果使用同步方法去做的话,会导致网络连接超时。执行异步方法时,会将异步任务调用信息记录到本地数据库中,然后返回给调用方任务标识(Identity document,简称ID)。随后异步任务调度服务会起一个协程去调用插件中的AsyncTask方法去执行异步任务,并将执行结果记录到数据库中,供查询使用。
i)AsyncTaskInfo,查询异步任务执行结果,传入上下文及任务id字符串,返回的是结果字符串和错误。调用方调用查询异步任务结果的方法后,会首先去根据任务id数据库查询是否有结果,若有结果,则直接返回;若无结果则调用AsyncTaskInfo去业务插件中查询结果。
需要说明的是,本申请实施例中的功能接口可以包括但不限于以上接口,可以根据实际业务需求进行定义对应的功能接口,在此不做限定。此外,功能接口的定义可以包括接口方法名称、入参列表及类型,返回参数列表及类型等,为了可以实现业务插件的加载,这个定义要求在Agent和业务插件中的实现一致。
可选的,可以获取该目标代理服务关联的插件标识,进而可以基于该插件标识在当前节点的代理服务组件中识别出该目标代理服务对应的目标业务插件。其中,该插件标识可以包括业务插件对应的标识信息,该标识信息可以用于唯一标识一个业务插件,例如,该标识信息可以为名称、标识号(Identity document,简称ID)等信息,相应的,该插件标识可以为业务插件的插件名称,或者插件标识号等。进而可以根据该目标代理服务关联的插件标识,在当前节点的代理服务组件中加载的多个候选代理服务对应的业务插件中,筛选出与该插件标识匹配的业务插件,从而可以得到该目标代理服务对应的目标业务插件。
在一实施例中,可以根据业务需求确定当前节点中需要设置的候选代理服务,在当前节点的代理服务组件中加载这些候选代理服务对应的业务插件,具体的,可以确定当前节点对应的候选代理服务;查找该候选代理服务对应的至少一个业务插件的插件文件;基于该插件文件在该当前节点的代理服务组件中加载该候选代理服务对应的至少一个业务插件。
其中,可以通过获取当前节点对应的代理服务信息,根据该代理服务信息可以确定当前节点对应的候选代理服务,该代理服务信息可以为包括指示当前节点对应的候选代理服务的信息,该代理服务信息可以通过开发人员进行输入,也可以通过请求向其他服务器获取等,在此不做限定。该插件文件可以包括候选代理服务对应的业务插件的动态链接文件(so文件)及其他依赖文件、业务插件的配置文件以及日志文件等,用于实现业务插件的运行使用,该so文件可以作为动态链接库用于实现对业务插件的加载。
具体的,可以读取候选代理服务对应的至少一个业务插件的配置文件,得到候选代理服务对应的业务插件的插件文件的下载地址,进而可以基于下载地址下载候选代理服务对应的业务插件的插件文件,基于该插件文件在该当前节点的代理服务组件中加载该候选代理服务对应的至少一个业务插件。
可选的,可以参考图3a,图3a是本申请实施例提供的一种业务处理方法的业务插件加载流程示意图,在节点上启动代理服务组件之后,可以进行服务初始化,进而可以通过读取配置文件来获取候选代理服务对应的插件文件的下载地址,进而可以通过下载地址在文件服务器中下载插件文件,从而可以加载该插件文件以实现在该当前节点的代理服务组件中加载该候选代理服务对应的业务插件,在加载好业务插件之后,可以启动监听端口来监听接口事件,以可以处理针对Agent的接口事件。
在一实施例中,请参考图3b,图3b为本申请实施例提供的一种业务处理方法的代理服务组件文件结构示意图,代理服务组件对应的文件结构可以包括业务插件的插件文件、配置文件、日志文件以及Agent运行过程中的调试工具。其中,业务插件的插件文件路径可以包括业务插件的so文件、配置文件以及日志文件,可以将代理服务的Agent功能打包成为so文件,作为Agent的插件供其加载,使其可以对外提供对应的代理服务;配置文件路径存放Agent和业务插件的配置文件;日志文件路径可以存放Agent和业务插件的执行日志文件,便于定位分析Agent运行过程中出现的问题,日志文件可以被定时清理。
在一实施例中,可以在业务插件上编写一些管理插件,用于Agent注册、上报心跳、收集Agent信息等任务,可以便于Agent管理平台感知到节点上Agent的存在和状态。
具体的,可以启动当前节点对应的代理服务组件,并加载该代理服务组件对应的管理插件,进而可以通过该管理插件对该代理服务组件进行注册,并获取该代理服务组件的心跳信息进行上报。其中,可以将心跳信息上报至管理端,该管理端为管理Agent的平台,即Agent管理平台。
具体的,对于Agent注册,请参考图3c,图3c为本申请实施例提供的一种业务处理方法的代理服务组件注册及版本更新流程示意图,可以在Agent的服务启动并加载管理插件时,执行创建操作(Setup),此时可以开始Agent注册的逻辑:首先,可以在本地存储中查找是否存在代理服务组件标识(agentid),若存在,则进行记录(例如,记录为old_agentid),若不存在,则记为空,进而可以采用通用唯一识别码(Universally UniqueIdentifier,简称UUID)来生成代理服务组件标识(agentid),同时可以通过北极星(Polaris,一种提供服务发现和负载均衡的平台)获取管理端的服务地址。从而,可以将agentid、old_agentid、机器信息、版本信息等相关信息发送给Agent管理端进行Agent的注册。管理端可以记录Agent数据,还可以根据业务需求返回代理服务组件对应的通用唯一识别码、最新版本信息、配置版本、插件版本、代理服务组件版本等信息。
对于Agent心跳上报,可以在管理插件中定义对应的定时任务方法,通过该定时任务方法作为定时上报Agent以及业务插件状态的功能,向管理端发送心跳包。
在一实施例中,可以根据业务处理请求中携带的插件标识来确定该目标业务对应的目标业务插件。其中,该插件标识可以为插件名称等标识信息。
在步骤103中,从基于候选代理服务对应的功能接口中,筛选出目标业务插件对应的目标功能接口。
其中,该功能接口可以为基于某一代理服务的功能定义得到的接口,用于实现代理服务的Agent功能。为了可以实现对业务插件的调用,可以在基于候选代理服务对应的功能接口中,筛选出目标业务插件对应的目标功能接口。
在一实施例中,可以在每一业务插件对应的插件实例存储到内存,通过获取插件实例来实现对目标插件的调用,具体的,该从基于该候选代理服务对应的功能接口中,筛选出该目标业务插件对应的目标功能接口的步骤,可以包括:
(1)根据该目标业务插件对应的目标插件标识,查找该目标业务插件对应的目标插件实例。
其中,目标插件标识可以为目标业务插件的标识信息,该标识信息可以为插件名称等,该目标插件实例可以为目标业务插件的一个实例,可以包括目标业务插件的插件名称以及插件结构体,其中,该插件结构体可以为业务插件对功能接口的具体实现,是一种结构体,在该结构体中可以包含业务插件对应的功能接口函数。当基于目标业务插件编译得到的so文件作为动态链接库加载到代理服务组件中运行时,可以在内存中生成目标业务插件对应的目标插件实例。可选的,为了便于对业务插件的增删等管理操作,可以采用图数据结构将业务插件的插件实例存储在内存中,图(map)是一种依照键值对的形式进行存储的数据结构,具体的,可以将业务插件的插件名称作为键(key),将业务插件对应的插件结构体作为值(Vaule),来实现插件实例在内容中的存储。
以此,可以根据该目标业务插件对应的目标插件标识,查找该目标插件标识对应的插件实例,得到该目标业务插件对应的目标插件实例。例如,当该目标插件标识为插件名称时,可以在map数据结构中,查找该插件名称对应的插件实例,得到目标业务插件对应的目标插件实例。
(2)基于该目标插件实例中的实例功能接口确定该目标业务插件对应的目标功能接口。
其中,该实例功能接口可以为基于该候选代理服务对应的功能接口筛选得到的,相应的,该实例功能接口可以为目标插件实例中插件结构体的功能接口。
以此,可以根据目标业务插件对应的目标插件实例中的实例功能接口,确定该目标业务插件对应的目标功能接口。
在步骤104中,根据目标功能接口调用目标业务插件。
具体的,可以通过调用目标功能接口,来实现目标业务插件对应的目标代理服务的业务逻辑,进而实现对目标业务插件的调用,以此响应了业务处理请求。
在一实施例中,可以通过管理插件实例中的插件结构体,来动态的控制map数据结构中的数据,以实现业务插件的热插拔,其中,热插拔指的是业务插件可以在主程序不重新启动的情况进行更删改除的操作。
可选的,可以在接收到针对该代理服务组件的插件删除请求时,获取该删除请求携带的待删除插件标识;基于该待删除插件标识,在该当前节点对应的关联数据容器中查找与该待删除插件标识对应的插件标识和插件结构体;将查找到的该待删除插件标识对应的插件标识和插件结构体进行删除。
其中,该待删除插件标识可以需要删除的业务插件对应的标识信息,该标识信息可以为唯一标识一个业务插件的信息,例如,可以为业务插件的插件名称。
具体的,可以在接收到针对该代理服务组件的插件删除请求时,获取该删除请求携带的待删除插件标识,进而可以根据待删除插件标识在内存中的关联数据容器(map数据结构)存储的插件实例中,查找与该待删除插件标识对应的插件实例,进而可以将插件实例中的插件标识和插件结构体进行释放,并在map中将插件标识和插件结构体进行删除,以此可以实现对代理服务组件中加载的业务插件进行删除,也即可以将代理服务组件中部署的代理服务进行删除。
可选的,可以在接收到针对该代理服务组件的插件添加请求时,根据该插件添加请求获取待添加业务插件对应的动态链接文件;将该动态链接文件加载至内存中,并将加载后动态链接文件映射到预设插件接口中;基于该预设插件接口,在该动态链接文件中提取该待添加业务插件对应的插件标识和插件结构体;将提取到的该待添加业务插件对应的插件标识和插件结构体添加至该关联数据容器中。
其中,该动态链接文件可以为待添加业务插件对应的so文件,该预设插件接口可以用于将动态链接文件中的插件标识以及插件结构体添加到关联数据容器中的一个预先设定的接口。
具体的,可以在接收到针对Agent的插件添加请求时,根据该插件添加请求携带的信息,获取到待添加业务插件对应的动态链接文件,进而可以将该动态链接文件加载至内存中,并将加载后动态链接文件映射到关联数据容器的预设插件接口中,从而可以基于该预设插件接口,在该动态链接文件中提取该待添加业务插件对应的插件标识和插件结构体,并将提取到的该待添加业务插件对应的插件标识和插件结构体以键值对的形式添加至该关联数据容器中。
以此,通过将代理服务以业务插件的形式进行加载到代理服务组件中,进而可以通过插件化的形式根据业务需求对业务插件进行增删等处理,避免了现有技术中需要在节点中部署多个Agent导致功能重复建设、资源消耗大以及管理成本增高等问题,本申请实施例通过业务插件替代代理服务组件来实现代理服务的功能,且可以插件化的进行代理服务增删处理的方式,避免了代理服务组件的重复部署,提高了代理服务组件的部署效率。
在一实施例中,代理服务组件的接口可以分为业务接口和管理接口,业务接口可以用于业务方调用业务插件;管理接口可以用于管理代理服务组件,可以根据接口类型和参数进行相关逻辑的执行,包括重启、获取Agent数据、更新和探活等。其中,业务接口以及管理接口的描述可以参考如下表格:
Figure BDA0003387934370000151
Figure BDA0003387934370000161
需要说明的是,本申请实施例中的业务接口以及业务接口可以包括但不限于以上接口,可以根据实际业务需求进行定义对应的接口,在此不做限定。
具体的,请参考图3d,图3d是本申请实施例提供的一种业务处理方法的外部请求处理流程示意图,可以在接收到针对当前节点中代理服务组件的外部请求时,可以对该外部请求进行鉴权处理,根据鉴权处理的结果对合法的外部请求进行处理,进而可以基于该目标外部请求携带的路由信息(Uniform Resource Locator,简称URL),将合法的外部请求路由至对应的接口中。例如,业务接口或者管理接口。
当该外部请求对应的接口为业务接口时,可以根据请求中的插件名称获取插件实例,然后调用业务插件中的对应方法并传入相关参数,也即执行步骤101到步骤104中的步骤来实现相应的代理服务,其中,业务接口可以包括执行同步任务、执行异步任务、查询异步任务信息、查询定时任务信息、查询常驻任务信息等功能接口。
当该外部请求对应的接口为管理接口时,也即当接收到针对该代理服务组件的管理接口调用请求时,可以基于该管理接口调用请求携带的接口信息,确定该管理接口调用请求对应的管理接口类型,进而可以调用该管理接口类型对应的管理接口来执行相应的逻辑,以基于该管理接口对该代理服务组件进行管理。
可选的,请继续参考图3c,管理端可以通过发送管理接口调用请求来利用管理接口对各个环境节点的代理服务组件进行部署和管理,包括Agent的版本更新、服务重启、获取Agent信息以及探活等管理,例如,可以:
1)版本更新:管理端可以调用Agent的插件更新接口,传入新版本的Agent更新文件URL,文件哈希值(hash)等数据,以通知业务插件进行更新。当Agent收到该请求后,可以对URL地址中提供的更新文件进行下载,进而可以校验该更新文件与管理端传入的hash是否一致,若一致则可以开始执行更新升级逻辑,否则则可以退出。在更新时可以先阻止各业务接口的调用,结束异步任务、后台任务、定时任务等任务的执行,同时可以释放掉业务插件的内存空间,然后执行下载好的更新脚本开始进行更新,并可以在更新完成之后重启服务。
2)服务重启:在校验请求合法后,可以结束异步任务、后台任务、定时任务等任务的执行,同时释放掉业务插件的内存空间,然后开始进行服务的重启。
由以上可知,本申请实施例通过当接收到目标业务的业务处理请求时,确定目标业务对应的目标代理服务;在当前节点的代理服务组件中确定目标代理服务对应的目标业务插件,其中,该代理服务组件包括至少一个候选代理服务对应的业务插件,每一业务插件实现一个候选代理服务的功能;从基于候选代理服务对应的功能接口中,筛选出目标业务插件对应的目标功能接口;根据目标功能接口调用目标业务插件,以响应业务处理请求。以此,通过确定业务处理请求对应的目标代理服务,进而在代理服务组件中确定该目标代理服务对应的目标业务插件,并调用目标业务插件对应的目标功能接口,以基于该目标业务插件响应业务处理请求,这种通过业务插件替代代理服务组件来实现代理服务的功能的方式,避免了代理服务组件的重复部署,提高了代理服务组件的部署效率,进而提高了业务处理效率。
根据上面实施例所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该业务处理装置具体集成在计算机设备为例进行说明。其中,该业务处理方法以服务器为执行主体进行具体的描述。
为了更好的描述本申请实施例,请参考图4,如图4所示,图4为本申请实施例提供的业务处理方法的另一流程示意图。具体流程如下:
在步骤201中,服务器启动当前节点对应的代理服务组件,并加载该代理服务组件对应的管理插件,通过该管理插件对该代理服务组件进行注册,并获取该代理服务组件的心跳信息进行上报。
其中,具体的,服务器可以启动当前节点对应的代理服务组件,并加载该代理服务组件对应的管理插件,进而可以通过该管理插件对该代理服务组件进行注册,并获取该代理服务组件的心跳信息进行上报。其中,可以将心跳信息上报至管理端,该管理端为管理Agent的平台,即Agent管理平台。
具体的,对于Agent注册,请参考图3c,图3c为本申请实施例提供的一种业务处理方法的代理服务组件注册及版本更新流程示意图,服务器可以在Agent的服务启动并加载管理插件时,执行创建操作(Setup),此时可以开始Agent注册的逻辑:首先,可以在本地存储中查找是否存在代理服务组件标识(agentid),若存在,则进行记录(例如,记录为old_agentid),若不存在,则记为空,进而可以采用通用唯一识别码(Universally UniqueIdentifier,简称UUID)来生成代理服务组件标识(agentid),同时可以通过北极星(Polaris,一种提供服务发现和负载均衡的平台)获取管理端的服务地址。从而,可以将agentid、old_agentid、机器信息、版本信息等相关信息发送给Agent管理端进行Agent的注册。管理端可以记录Agent数据,还可以根据业务需求返回代理服务组件对应的通用唯一识别码、最新版本信息、配置版本、插件版本、代理服务组件版本等信息。
对于Agent心跳上报,服务器可以在管理插件中定义对应的定时任务方法,通过该定时任务方法作为定时上报Agent以及业务插件状态的功能,向管理端发送心跳包。
在一实施例中,服务器可以根据业务处理请求中携带的插件标识来确定该目标业务对应的目标业务插件。其中,该插件标识可以为插件名称等标识信息。
在步骤202中,服务器确定当前节点对应的候选代理服务,查找该候选代理服务对应的至少一个业务插件的插件文件,基于该插件文件在该当前节点的代理服务组件中加载该候选代理服务对应的至少一个业务插件。
其中,可以根据业务需求确定当前节点中需要设置的候选代理服务,在当前节点的代理服务组件中加载这些候选代理服务对应的业务插件,具体的,服务器可以确定当前节点对应的候选代理服务;查找该候选代理服务对应的至少一个业务插件的插件文件;基于该插件文件在该当前节点的代理服务组件中加载该候选代理服务对应的至少一个业务插件。
其中,服务器可以通过获取当前节点对应的代理服务信息,根据该代理服务信息可以确定当前节点对应的候选代理服务,该代理服务信息可以为包括指示当前节点对应的候选代理服务的信息,该代理服务信息可以通过开发人员进行输入,也可以通过请求向其他服务器获取等,在此不做限定。该插件文件可以包括候选代理服务对应的业务插件的动态链接文件(so文件)及其他依赖文件、业务插件的配置文件以及日志文件等,用于实现业务插件的运行使用,该so文件可以作为动态链接库用于实现对业务插件的加载。
具体的,服务器可以读取候选代理服务对应的至少一个业务插件的配置文件,得到候选代理服务对应的业务插件的插件文件的下载地址,进而可以基于下载地址下载候选代理服务对应的业务插件的插件文件,基于该插件文件在该当前节点的代理服务组件中加载该候选代理服务对应的至少一个业务插件。
可选的,可以继续参考图3a,在节点上启动代理服务组件之后,服务器可以进行服务初始化,进而可以通过读取配置文件来获取候选代理服务对应的插件文件的下载地址,进而可以通过下载地址在文件服务器中下载插件文件,从而可以加载该插件文件以实现在该当前节点的代理服务组件中加载该候选代理服务对应的业务插件,在加载好业务插件之后,可以启动监听端口来监听接口事件,以可以处理针对Agent的接口事件。
在一实施例中,请继续参考图3b,代理服务组件对应的文件结构可以包括业务插件、配置文件、日志文件以及Agent运行过程中的调试工具。其中,业务插件路径可以包括业务插件的so文件、配置文件以及日志文件,可以将代理服务的Agent功能打包成为so文件,作为Agent的插件供其加载,使其可以对外提供对应的代理服务;配置文件路径存放Agent和业务插件的配置文件;日志文件路径可以存放Agent和业务插件的执行日志文件,便于定位分析Agent运行过程中出现的问题,日志文件可以被定时清理。
在步骤203中,当接收到目标业务的业务处理请求时,服务器确定该目标业务对应的目标代理服务,获取该目标代理服务关联的插件标识,基于该插件标识在当前节点的代理服务组件中识别出该目标代理服务对应的目标业务插件。
其中,其中,该业务插件可以为根据代理服务对应的功能转换得到插件,具体的,可以根据对应的代理服务的功能,来定义相应的功能接口,基于某一代理服务对应的功能接口以及该代理服务对应的具体业务逻辑可以得到该代理服务对应的业务插件,相应的,业务插件可以通过实现这些功能接口以及具体的业务逻辑来实现对应的代理服务的功能。相应的,为了可以实现Agent与业务插件之间的交互,可以根据基于代理服务定义的功能接口在业务插件与代理服务组件之间定义一致的功能接口,以通过功能接口的调用,来实现Agent与业务插件之间的加载和调用,以实现业务插件对应的代理服务。服务器可以利用流水线来对业务插件进行编译和发布,编译过程主要可以为将业务插件及其依赖文件静态编译成so文件,进而将业务插件的so文件及相关配置文件等内容上传到文件服务器中,该文件服务器可以为对象存储(Cloud Object Storage,COS,简称COS)服务器。
可选的,这些功能接口,可以包括但不限于如下表格所示的功能接口:
Figure BDA0003387934370000201
其中,这些功能接口的定义可以具体如下:
a)Type,该方法可以用于获取业务插件的插件名称,入参为空,返回值可以为字符串。
b)Version,该方法可以用于获取业务插件的版本号,入参为空,返回值可以为字符串。
c)Setup,该方法可以用于业务插件的初始化操作,入参为上下文,这里所说的上下文是一个编程语言中的概念,指将当前程序的运行状态等信息传递给下层插件,一般可以用其传递日志句柄等业务需要的数据,返回值可以为错误。
d)Task,该方法可以用于执行同步任务方法,入参可以为上下文、字符串方法名称和字符串执行参数,返回值为执行结果字符串和错误。
e)CronTask,该方法可以用于执行定时任务,可以返回定时任务列表和相关信息,该相关信息可以指示Agent如何去调度业务插件中的定时任务。
f)BackGroundTask,该方法可以用于执行常驻任务,入参可以为传入上下文和指示协程是否关闭的通道类型,Agent会使用常驻的协程来启动调用业务插件中的该方法,不同于同步任务执行一次就退出,该方法可以使得业务插件中的常驻任务一直执行。
g)BackGroundTaskInfo,查询常驻任务,该方法可以用于获取常驻任务信息,该方法传入上下文和输入参数,返回的是执行信息的字符串和错误。
h)AsyncTask,执行异步任务,入参为传入上下文、方法名字符串以及参数字符串,返回执行结果字符串和错误。该类方法执行时间会较长,如果使用同步方法去做的话,会导致网络连接超时。执行异步方法时,会将异步任务调用信息记录到本地数据库中,然后返回给调用方任务ID。随后异步任务调度服务会起一个协程去调用插件中的AsyncTask方法去执行异步任务,并将执行结果记录到数据库中,供查询使用。
i)AsyncTaskInfo,查询异步任务执行结果,传入上下文及任务ID字符串,返回的是结果字符串和错误。调用方调用查询异步任务结果的方法后,会首先去根据任务ID数据库查询是否有结果,若有结果,则直接返回;若无结果则调用AsyncTaskInfo去业务插件中查询结果。
其中,可选的,请参考图,图5是本申请实施例提供的一种业务处理方法的异步任务执行流程示意图,在异步任务下发阶段,管理端发送请求[TRPC,远程过程调用请求(Remote Procedure Call,简称RPC)框架]到Agent,并记录请求标识(req_id),服务器可以接收到这个请求,通过Agent分配任务标识(任务id),并记录任务信息保存到本地缓存中,本地缓存再返回记录结果到Agent中,服务器再通过Agent将记录结果发送到管理端中。在异步任务执行阶段,服务器通过Agent拉取待执行任务到本地缓存中进行执行,并接收本地缓存返回的任务数据,进而可以将异步执行任务发送到业务插件中进行执行,在业务插件执行完毕之后,服务器可以通过Agent上报任务执行数据到分布存储服务器(COS对象存储)中。在管理端消费数据阶段,管理端通过在分布存储服务器中订阅获取任务执行数据,并处理任务执行数据。
需要说明的是,本申请实施例中的功能接口可以包括但不限于以上接口,可以根据实际业务需求进行定义对应的功能接口,在此不做限定。此外,功能接口的定义可以包括接口方法名称、入参列表及类型,返回参数列表及类型等,为了可以实现业务插件的加载,这个定义要求在Agent和业务插件中的实现一致。
具体的,当接收到目标业务的业务处理请求时,服务器可以确定目标业务对应的目标代理服务,进而,服务器可以通过获取该业务处理请求携带的标识信息,根据该标识信息确定目标业务对应的目标代理服务,可以获取该目标代理服务关联的插件标识,进而可以基于该插件标识在当前节点的代理服务组件中识别出该目标代理服务对应的目标业务插件。其中,该插件标识可以包括业务插件对应的标识信息,该标识信息可以用于唯一标识一个业务插件,例如,该标识信息可以为名称、标识号等信息,相应的,该插件标识可以为业务插件的插件名称,或者插件标识号等。进而可以根据该目标代理服务关联的插件标识,在当前节点的代理服务组件中加载的多个候选代理服务对应的业务插件中,筛选出与该插件标识匹配的业务插件,从而可以得到该目标代理服务对应的目标业务插件。
在步骤204中,服务器根据该目标业务插件对应的目标插件标识,查找该目标业务插件对应的目标插件实例,基于该目标插件实例中的实例功能接口确定该目标业务插件对应的目标功能接口,根据该目标功能接口调用该目标业务插件。
其中,目标插件标识可以为目标业务插件的标识信息,该标识信息可以为插件名称等,该目标插件实例可以为目标业务插件的一个实例,可以包括目标业务插件的插件名称以及插件结构体,其中,该插件结构体可以为业务插件对功能接口的具体实现,是一种结构体,在该结构体中可以包含业务插件对应的功能接口。当基于目标业务插件编译得到的so文件作为动态链接库加载到代理服务组件中运行时,可以在内存中生成目标业务插件对应的目标插件实例。可选的,为了便于对业务插件的增删等管理操作,可以采用图数据结构将业务插件的插件实例存储在内存中,图是一种依照键值对的形式进行存储的数据结构,具体的,可以将业务插件的插件名称作为键(key),将业务插件对应的插件结构体作为值(Vaule),来实现插件实例在内容中的存储。
具体的,服务器可以根据该目标业务插件对应的目标插件标识,查找该目标插件标识对应的插件实例,得到该目标业务插件对应的目标插件实例。例如,当该目标插件标识为插件名称时,可以在map数据结构中,查找该插件名称对应的插件实例,得到目标业务插件对应的目标插件实例,进而服务器可以通过调用目标功能接口,来实现目标业务插件对应的目标代理服务的业务逻辑,进而实现对目标业务插件的调用,以此响应了业务处理请求。
在步骤205中,当接收到针对该代理服务组件的插件删除请求时,服务器获取该删除请求携带的待删除插件标识,基于该待删除插件标识,在该当前节点对应的关联数据容器中查找与该待删除插件标识对应的插件标识和插件结构体,将查找到的该待删除插件标识对应的插件标识和插件结构体进行删除。
其中,服务器可以通过管理插件实例中的插件结构体,来动态的控制map数据结构中的数据,以实现业务插件的热插拔,可以在接收到针对该代理服务组件的插件删除请求时,获取该删除请求携带的待删除插件标识;基于该待删除插件标识,在该当前节点对应的关联数据容器中查找与该待删除插件标识对应的插件标识和插件结构体;将查找到的该待删除插件标识对应的插件标识和插件结构体进行删除。
其中,该待删除插件标识可以需要删除的业务插件对应的标识信息,该标识信息可以为唯一标识一个业务插件的信息,例如,可以为业务插件的插件名称。
具体的,服务器可以在接收到针对该代理服务组件的插件删除请求时,获取该删除请求携带的待删除插件标识,进而可以根据待删除插件标识在内存中的关联数据容器(map数据结构)存储的插件实例中,查找与该待删除插件标识对应的插件实例,进而可以将插件实例中的插件标识和插件结构体进行释放,并在map中将插件标识和插件结构体进行删除,以此可以实现对代理服务组件中加载的业务插件进行删除,也即可以将代理服务组件中部署的代理服务进行删除。
在步骤206中,当接收到针对该代理服务组件的插件添加请求时,服务器根据该插件添加请求获取待添加业务插件对应的动态链接文件,将该动态链接文件加载至内存,并将加载后动态链接文件映射到该关联数据容器的预设插件接口中。
其中,该动态链接文件可以为待添加业务插件对应的so文件,该预设插件接口可以用于将动态链接文件中的插件标识以及插件结构体添加到关联数据容器中的一个预先设定的接口。
具体的,服务器可以在接收到针对Agent的插件添加请求时,根据该插件添加请求携带的信息,获取到待添加业务插件对应的动态链接文件,进而可以将该动态链接文件加载至内存中,并将加载后动态链接文件映射到关联数据容器的预设插件接口中。
在步骤207中,服务器基于该预设插件接口,在该动态链接文件中提取该待添加业务插件对应的插件标识和插件结构体,将提取到的该待添加业务插件对应的插件标识和插件结构体添加至该关联数据容器中。
具体的,服务器可以基于该预设插件接口,在该动态链接文件中提取该待添加业务插件对应的插件标识和插件结构体,并将提取到的该待添加业务插件对应的插件标识和插件结构体以键值对的形式添加至该关联数据容器中。
以此,通过将代理服务以业务插件的形式进行加载到代理服务组件中,进而可以通过插件化的形式根据业务需求对业务插件进行增删等处理,避免了现有技术中需要在节点中部署多个Agent导致功能重复建设、资源消耗大以及管理成本增高等问题,本申请实施例通过业务插件替代代理服务组件来实现代理服务的功能,且可以插件化的进行代理服务增删处理的方式,避免了代理服务组件的重复部署,提高了代理服务组件的部署效率。
在一实施例中,代理服务组件的接口可以分为业务接口和管理接口,业务接口可以用于业务方调用业务插件;管理接口可以用于管理代理服务组件,可以根据接口类型和参数进行相关逻辑的执行,包括重启、获取Agent数据、更新和探活等。其中,业务接口以及管理接口的描述可以参考如下表格:
Figure BDA0003387934370000251
需要说明的是,本申请实施例中的业务接口以及业务接口可以包括但不限于以上接口,可以根据实际业务需求进行定义对应的接口,在此不做限定。
具体的,请参考图3d,图3d是本申请实施例提供的一种业务处理方法的外部请求处理流程示意图,可以在接收到针对当前节点中代理服务组件的外部请求时,服务器可以对该外部请求进行鉴权处理,根据鉴权处理的结果对合法的外部请求进行处理,进而可以基于该目标外部请求携带的路由信息,将合法的外部请求路由至对应的接口中。例如,业务接口或者管理接口。
当该外部请求对应的接口为业务接口时,可以根据请求中的插件名称获取插件实例,然后调用业务插件中的对应方法并传入相关参数,也即执行步骤201到步骤207中的步骤来实现相应的代理服务,其中,业务接口可以包括执行同步任务、执行异步任务、查询异步任务信息、查询定时任务信息、查询常驻任务信息等功能接口。
当该外部请求对应的接口为管理接口时,也即当接收到针对该代理服务组件的管理接口调用请求时,可以基于该管理接口调用请求携带的接口信息,确定该管理接口调用请求对应的管理接口类型,进而可以调用该管理接口类型对应的管理接口来执行相应的逻辑,以基于该管理接口对该代理服务组件进行管理。
可选的,请继续参考图3c,管理端可以通过发送管理接口调用请求来利用管理接口对各个环境节点的代理服务组件进行部署和管理,包括Agent的版本更新、服务重启、获取Agent信息以及探活等管理。
例如,可以进行版本更新:管理端可以调用Agent的插件更新接口,传入新版本的Agent更新文件URL,文件哈希值等数据,以通知业务插件进行更新。当Agent收到该请求后,可以对URL地址中提供的更新文件进行下载,进而可以校验该更新文件与管理端传入的哈希值是否一致,若一致则可以开始执行更新升级逻辑,否则则可以退出。在更新时可以先阻止各业务接口的调用,结束异步任务、后台任务、定时任务等任务的执行,同时可以释放掉业务插件的内存空间,然后执行下载好的更新脚本开始进行更新,并可以在更新完成之后重启服务。
服务重启:在校验请求合法后,可以结束异步任务、后台任务、定时任务等任务的执行,同时释放掉业务插件的内存空间,然后开始进行服务的重启。
此外,为了更好的对本申请实施例进行说明,可以参考图6a、图6b、图6c。其中,图6a是本申请实施例提供的一种业务处理方法的代理服务组件架构示意图,代理服务组件架构中可以包括表现层、管理层、通讯层、以及代理服务组件层,其中,表现层包括前端网页模块,包括HTML(超文本标记语言)、HTMLS(带分页的超文本格式)以及VUE(前端开发框架)等,还包括网关(OMS)、超文本传输协议(Hyper Text Transfer Protocol,HTTP)以及超文本传输安全协议(HTTPS)等模块,管理层中包括节点管理、版本管理、万维网接口(web接口)、数据大屏、插件管理、任务下发等模块,其中,管理层中包括存储层,存储层包括关系型数据库管理系统(mysql)、搜索服务器(Elasticsearch)以及消息队列(Kafka)等,通讯层中包括北极星、传输协议[远程调用开发框架(TRPC)以及安全传输层协议(TLS)]等模块,代理服务组件层包括同步接口、异步接口、数据上报、服务升级、任务下发以及插件管理等模块,此外,代理服务组件层还包括存储模块,可以包括轻型数据库(SQLite,遵守数据库事务正确执行的四个基本要素的关系型数据库管理系统)等。同时,代理服务组件架构中还可以包括监控模块,用于对代理服务组件架构进行实时的监控。
图6b是本申请实施例提供的一种业务处理方法的模块调用示意图,其中,包括前端、网页服务器(nginx,一个高性能的HTTP和反向代理web服务器)、鉴权模块、业务数据、静态资源、微服务群、服务注册、Agent集群、消息服务、文件存储等模块,其中,服务注册模块可以通过北极星来进行注册,业务数据模块可以通过关系型数据库管理系统(mysql)来管理,消息服务中可以可以通过获取Agent集群上报的数据并通过消息队列(Kafka)、暂存服务(stash)搜索服务器(Elasticsearch)来进行处理,并可以将业务数据发送给微服务群,文件存储模块可以通过对象存储COS进行存储,鉴权模块可以对微服务群接收到的请求进行鉴权处理,微服务群模块可以包括节点管理、版本管理、网页接口(web接口)、数据统计、插件管理、任务管理等部分,Agent集群模块可以包括插件管理、版本管理、任务管理、本地存储管理、服务注册、数据上报等部分,其中Agent集群可以以关系型数据库管理系统(mysql)进行本地存储。
图6c是本申请实施例提供的一种业务处理方法的代理服务组件框架数据流结构示意图,其中,服务器可以通过代理服务组件将相关Agent数据上报到消息队列Kafka中,进而通过订阅的方式传输到搜索服务器(Elasticsearch,简称ES)和管理端,同时搜索服务器也可以进行数据统计并将统计结果发送到管理端中,管理端也可以通过同步接口与代理服务组件进行同步,此外,管理端可以将获取到的业务数据传输到搜索服务器中,同时,可以将相应的数据展示给用户。
由以上可知,本申请实施例通过服务器启动当前节点对应的代理服务组件,并加载该代理服务组件对应的管理插件,通过该管理插件对该代理服务组件进行注册,并获取该代理服务组件的心跳信息进行上报;服务器确定当前节点对应的候选代理服务,查找该候选代理服务对应的至少一个业务插件的插件文件,基于该插件文件在该当前节点的代理服务组件中加载该候选代理服务对应的至少一个业务插件;当接收到目标业务的业务处理请求时,服务器确定该目标业务对应的目标代理服务,获取该目标代理服务关联的插件标识,基于该插件标识在当前节点的代理服务组件中识别出该目标代理服务对应的目标业务插件;服务器根据该目标业务插件对应的目标插件标识,查找该目标业务插件对应的目标插件实例,基于该目标插件实例中的实例功能接口确定该目标业务插件对应的目标功能接口,根据该目标功能接口调用该目标业务插件;当接收到针对该代理服务组件的插件删除请求时,服务器获取该删除请求携带的待删除插件标识,基于该待删除插件标识,在该当前节点对应的关联数据容器中查找与该待删除插件标识对应的插件标识和插件结构体,将查找到的该待删除插件标识对应的插件标识和插件结构体进行删除;当接收到针对该代理服务组件的插件添加请求时,服务器根据该插件添加请求获取待添加业务插件对应的动态链接文件,将该动态链接文件加载至内存,并将加载后动态链接文件映射到该关联数据容器的预设插件接口中;服务器基于该预设插件接口,在该动态链接文件中提取该待添加业务插件对应的插件标识和插件结构体,将提取到的该待添加业务插件对应的插件标识和插件结构体添加至该关联数据容器中。以此,通过确定业务处理请求对应的目标代理服务,进而在代理服务组件中确定该目标代理服务对应的目标业务插件,并调用目标业务插件对应的目标功能接口,以基于该目标业务插件响应业务处理请求,同时,通过对目标业务插件对应的插件实例中的插件结构体进行管理,来实现插件化的进行代理服务的删除以及添加等操作,通过业务插件替代代理服务组件来实现代理服务的功能的方式,避免了代理服务组件的重复部署,提高了代理服务组件的部署效率,进而提高了业务处理效率。
为了更好地实施以上方法,本发明实施例还提供一种业务处理装置,该业务处理装置可以集成在计算机设备中,该计算机设备可以为服务器。
例如,如图7所示,为本申请实施例提供的业务处理装置的结构示意图,该业务处理装置可以包括目标代理服务确定单元301、目标业务插件确定单元302、筛选单元303以及调用单元304,如下:
目标代理服务确定单元301,用于当接收到目标业务的业务处理请求时,确定该目标业务对应的目标代理服务;
目标业务插件确定单元302,用于在当前节点的代理服务组件中确定该目标代理服务对应的目标业务插件,其中,该代理服务组件包括至少一个候选代理服务对应的业务插件,每一业务插件实现一个候选代理服务的功能;
筛选单元303,用于从基于该候选代理服务对应的功能接口中,筛选出该目标业务插件对应的目标功能接口;
调用单元304,用于根据该目标功能接口调用该目标业务插件,以响应该业务处理请求。
在一实施例中,该筛选单元303,包括:
查找子单元,用于根据该目标业务插件对应的目标插件标识,查找该目标业务插件对应的目标插件实例;
目标功能接口确定子单元,用于基于该目标插件实例中的实例功能接口确定该目标业务插件对应的目标功能接口,该实例功能接口为基于该候选代理服务对应的功能接口筛选得到的。
在一实施例中,该目标业务插件确定单元302,包括:
插件标识获取子单元,用于获取该目标代理服务关联的插件标识;
目标业务插件识别子单元,用于基于该插件标识在当前节点的代理服务组件中识别出该目标代理服务对应的目标业务插件。
在一实施例中,该业务处理装置,还包括:
候选代理服务获取单元,用于确定当前节点对应的候选代理服务;
插件文件查找单元,用于查找该候选代理服务对应的至少一个业务插件的插件文件;
业务插件加载单元,用于基于该插件文件在该当前节点的代理服务组件中加载该候选代理服务对应的至少一个业务插件。
在一实施例中,该业务处理装置,还包括:
待删除插件标识获取单元,用于当接收到针对该代理服务组件的插件删除请求时,获取该删除请求携带的待删除插件标识;
查找单元,用于基于该待删除插件标识,在该当前节点对应的关联数据容器中查找与该待删除插件标识对应的插件标识和插件结构体;
删除单元,用于将查找到的该待删除插件标识对应的插件标识和插件结构体进行删除。
在一实施例中,该业务处理装置,还包括:
动态链接文件获取单元,用于当接收到针对该代理服务组件的插件添加请求时,根据该插件添加请求获取待添加业务插件对应的动态链接文件;
映射单元,用于将该动态链接文件加载至内存,并将加载后动态链接文件映射到关联数据容器的预设插件接口中;
提取单元,用于基于该预设插件接口,在该动态链接文件中提取该待添加业务插件对应的插件标识和插件结构体;
添加单元,用于将提取到的该待添加业务插件对应的插件标识和插件结构体添加至该关联数据容器中。
在一实施例中,该业务处理装置,还包括:
管理接口类型确定单元,用于当接收到针对该代理服务组件的管理接口调用请求时,基于该管理接口调用请求确定管理接口类型;
管理单元,用于调用该管理接口类型对应的管理接口,并基于该管理接口对该代理服务组件进行管理。
在一实施例中,该业务处理装置,还包括:
启动单元,用于启动当前节点对应的代理服务组件,并加载该代理服务组件对应的管理插件;
注册单元,用于通过该管理插件对该代理服务组件进行注册,并获取该代理服务组件的心跳信息进行上报。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由以上可知,本申请实施例通过目标代理服务确定单元301当接收到目标业务的业务处理请求时,确定目标业务对应的目标代理服务;目标业务插件确定单元302在当前节点的代理服务组件中确定目标代理服务对应的目标业务插件,其中,该代理服务组件包括至少一个候选代理服务对应的业务插件,每一业务插件实现一个候选代理服务的功能;筛选单元303从基于候选代理服务对应的功能接口中,筛选出目标业务插件对应的目标功能接口;调用单元304根据目标功能接口调用目标业务插件,以响应业务处理请求。以此,通过确定业务处理请求对应的目标代理服务,进而在代理服务组件中确定该目标代理服务对应的目标业务插件,并调用目标业务插件对应的目标功能接口,以基于该目标业务插件响应业务处理请求,这种通过业务插件替代代理服务组件来实现代理服务的功能的方式,避免了代理服务组件的重复部署,提高了代理服务组件的部署效率,进而提高了业务处理效率。
本申请实施例还提供一种计算机设备,如图8所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,该计算机设备可以是服务器,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图8中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及业务处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
计算机设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
当接收到目标业务的业务处理请求时,确定目标业务对应的目标代理服务;在当前节点的代理服务组件中确定目标代理服务对应的目标业务插件,其中,该代理服务组件包括至少一个候选代理服务对应的业务插件,每一业务插件实现一个候选代理服务的功能;从基于候选代理服务对应的功能接口中,筛选出目标业务插件对应的目标功能接口;根据目标功能接口调用目标业务插件,以响应业务处理请求。
以上各个操作的具体实施可参见前面的实施例,在此不作赘述。应当说明的是,本申请实施例提供的计算机设备与上文实施例中的适用于业务处理方法属于同一构思,其具体实现过程详见以上方法实施例,此处不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种业务处理方法中的步骤。例如,该指令可以执行如下步骤:
当接收到目标业务的业务处理请求时,确定目标业务对应的目标代理服务;在当前节点的代理服务组件中确定目标代理服务对应的目标业务插件,其中,该代理服务组件包括至少一个候选代理服务对应的业务插件,每一业务插件实现一个候选代理服务的功能;从基于候选代理服务对应的功能接口中,筛选出目标业务插件对应的目标功能接口;根据目标功能接口调用目标业务插件,以响应业务处理请求。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种业务处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种业务处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
其中,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例提供的各种可选实现方式中提供的方法。
以上对本申请实施例所提供的一种业务处理方法、装置和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (12)

1.一种业务处理方法,其特征在于,包括:
当接收到目标业务的业务处理请求时,确定所述目标业务对应的目标代理服务;
在当前节点的代理服务组件中确定所述目标代理服务对应的目标业务插件,其中,所述代理服务组件包括至少一个候选代理服务对应的业务插件,每一业务插件实现一个候选代理服务的功能;
从基于所述候选代理服务对应的功能接口中,筛选出所述目标业务插件对应的目标功能接口;
根据所述目标功能接口调用所述目标业务插件,以响应所述业务处理请求。
2.如权利要求1所述的业务处理方法,其特征在于,所述从基于所述候选代理服务对应的功能接口中,筛选出所述目标业务插件对应的目标功能接口,包括:
根据所述目标业务插件对应的目标插件标识,查找所述目标业务插件对应的目标插件实例;
基于所述目标插件实例中的实例功能接口确定所述目标业务插件对应的目标功能接口,所述实例功能接口为基于所述候选代理服务对应的功能接口筛选得到的。
3.如权利要求1所述的业务处理方法,其特征在于,所述在当前节点的代理服务组件中确定所述目标代理服务对应的目标业务插件,包括:
获取所述目标代理服务关联的插件标识;
基于所述插件标识在当前节点的代理服务组件中识别出所述目标代理服务对应的目标业务插件。
4.如权利要求1所述的业务处理方法,其特征在于,所述在当前节点的代理服务组件中确定所述目标代理服务对应的目标业务插件之前,还包括:
确定当前节点对应的候选代理服务;
查找所述候选代理服务对应的至少一个业务插件的插件文件;
基于所述插件文件在所述当前节点的代理服务组件中加载所述候选代理服务对应的至少一个业务插件。
5.如权利要求1至4中任一项所述的业务处理方法,其特征在于,所述方法,还包括:
当接收到针对所述代理服务组件的插件删除请求时,获取所述删除请求携带的待删除插件标识;
基于所述待删除插件标识,在所述当前节点对应的关联数据容器中查找与所述待删除插件标识对应的插件标识和插件结构体;
将查找到的所述待删除插件标识对应的插件标识和插件结构体进行删除。
6.如权利要求5所述的业务处理方法,其特征在于,所述方法,还包括:
当接收到针对所述代理服务组件的插件添加请求时,根据所述插件添加请求获取待添加业务插件对应的动态链接文件;
将所述动态链接文件加载至内存,并将加载后动态链接文件映射到所述关联数据容器的预设插件接口中;
基于所述预设插件接口,在所述动态链接文件中提取所述待添加业务插件对应的插件标识和插件结构体;
将提取到的所述待添加业务插件对应的插件标识和插件结构体添加至所述关联数据容器中。
7.如权利要求1至4中任一项所述的业务处理方法,其特征在于,所述方法,还包括:
当接收到针对所述代理服务组件的管理接口调用请求时,基于所述管理接口调用请求确定管理接口类型;
调用所述管理接口类型对应的管理接口,并基于所述管理接口对所述代理服务组件进行管理。
8.如权利要求1至4中任一项所述的业务处理方法,其特征在于,所述在当前节点的代理服务组件中确定所述目标代理服务对应的目标业务插件之前,还包括:
启动当前节点对应的代理服务组件,并加载所述代理服务组件对应的管理插件;
通过所述管理插件对所述代理服务组件进行注册,并获取所述代理服务组件的心跳信息进行上报。
9.一种业务处理装置,其特征在于,包括:
目标代理服务确定单元,用于当接收到目标业务的业务处理请求时,确定所述目标业务对应的目标代理服务;
目标业务插件确定单元,用于在当前节点的代理服务组件中确定所述目标代理服务对应的目标业务插件,其中,所述代理服务组件包括至少一个候选代理服务对应的业务插件,每一业务插件实现一个候选代理服务的功能;
筛选单元,用于从基于所述候选代理服务对应的功能接口中,筛选出所述目标业务插件对应的目标功能接口;
调用单元,用于根据所述目标功能接口调用所述目标业务插件,以响应所述业务处理请求。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至8任一项所述的业务处理方法中的步骤。
11.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可以在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的业务处理方法。
12.一种计算机程序,其特征在于,所述计算机程序包括计算机指令,所述计算机指令存储在存储介质中,计算机设备的处理器从所述存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行权利要求1至8任一项所述的业务处理方法。
CN202111456704.6A 2021-12-01 2021-12-01 业务处理方法、装置和计算机可读存储介质 Pending CN116204239A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111456704.6A CN116204239A (zh) 2021-12-01 2021-12-01 业务处理方法、装置和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111456704.6A CN116204239A (zh) 2021-12-01 2021-12-01 业务处理方法、装置和计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN116204239A true CN116204239A (zh) 2023-06-02

Family

ID=86517940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111456704.6A Pending CN116204239A (zh) 2021-12-01 2021-12-01 业务处理方法、装置和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN116204239A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117271007A (zh) * 2023-11-21 2023-12-22 恒生电子股份有限公司 业务处理方法及系统
CN117311854A (zh) * 2023-11-28 2023-12-29 南京研利科技有限公司 微服务治理方法、装置、电子设备及可读取存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117271007A (zh) * 2023-11-21 2023-12-22 恒生电子股份有限公司 业务处理方法及系统
CN117271007B (zh) * 2023-11-21 2024-02-13 恒生电子股份有限公司 业务处理方法及系统
CN117311854A (zh) * 2023-11-28 2023-12-29 南京研利科技有限公司 微服务治理方法、装置、电子设备及可读取存储介质
CN117311854B (zh) * 2023-11-28 2024-02-13 南京研利科技有限公司 微服务治理方法、装置、电子设备及可读取存储介质

Similar Documents

Publication Publication Date Title
EP3837604B1 (en) In situ triggered function as a service within a service mesh
US11477298B2 (en) Offline client replay and sync
CN103283209B (zh) 一种应用服务平台系统及其实现方法
US8856800B2 (en) Service-level enterprise service bus load balancing
US7818752B2 (en) Interface for application components
CN109783562B (zh) 一种业务处理方法和装置
CN109451014B (zh) 一种WebService代理系统及其透明代理方法
CN116204239A (zh) 业务处理方法、装置和计算机可读存储介质
CN103077034B (zh) 混合虚拟化平台java应用迁移方法与系统
CN115934855A (zh) 一种全链路字段级血缘解析方法、系统、设备及存储介质
US8326913B2 (en) Method and system for service contract discovery
CN110457132B (zh) 一种功能对象的创建方法、装置和终端设备
Mancini et al. iGateLink: a gateway library for linking IoT, edge, fog, and cloud computing environments
CN114489622A (zh) 静态资源管理方法、Node.js应用、电子设备和存储介质
WO2017088347A1 (zh) 基于云平台的应用用户使用信息管理的方法、设备及系统
US20170286261A1 (en) System and method for providing runtime tracing for a web-based client accessing a transactional middleware platform using an extension interface
CN116974948B (zh) 业务系统测试方法、系统、设备和介质
WO2021093671A1 (zh) 任务处理方法、系统、装置、设备及计算机可读存储介质
US10268496B2 (en) System and method for supporting object notation variables in a process defined by a process execution language for execution in a SOA middleware environment
KR102124954B1 (ko) 이기종 데이터베이스 관리 시스템을 동시 지원하기 위한 IoT 플랫폼 시스템 및 그 동작 방법
Baraki et al. Sam: A semantic-aware middleware for mobile cloud computing
CN115550382A (zh) 配置项同步方法、装置、系统以及设备
CN111782428B (zh) 数据调用系统以及方法
CN113973135A (zh) 数据缓存处理方法、装置、缓存网格平台和存储介质
CN115525440A (zh) 微服务调用数据处理方法、装置、介质及设备

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