CN116185431A - 一种数据处理方法、装置、电子设备及存储介质 - Google Patents
一种数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116185431A CN116185431A CN202310087692.7A CN202310087692A CN116185431A CN 116185431 A CN116185431 A CN 116185431A CN 202310087692 A CN202310087692 A CN 202310087692A CN 116185431 A CN116185431 A CN 116185431A
- Authority
- CN
- China
- Prior art keywords
- service
- target
- target service
- data
- initial
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- 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)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及一种数据处理方法、装置、电子设备及存储介质,该数据处理方法包括:通过目标服务接口接收服务调用指令;响应于服务调用指令,根据待调用服务标识从目标服务接口对应的服务中匹配目标服务;在匹配得到目标服务的情况下,获取目标服务对应的执行序列;基于执行序列从动态库中调用目标功能模块处理待处理数据,得到针对待处理数据的处理结果,处理结果与目标服务接口的数据输出格式相匹配。本公开可以实现不同服务使用相同的服务接口访问服务端,如此,服务端在开发时,不同服务可以使用相同服务接口,从而可以减少服务接口的开发数量,提高服务开发效率,降低服务接口开发成本。
Description
技术领域
本公开涉及互联网技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
随着人工智能研究技术的进步,人工智能算法越来越多应用于各个领域,同时人工智能算法所需算力也越来越大,因此,部分算法必须部署于服务端,通过在服务端搭建人工智能算法框架,应用方可以通过网络调用对应人工智能算法接口,来实现具体应用。
相关技术中,服务端由于不同服务的实现逻辑不同,在提供新服务即集成新的算法时,需要根据新服务的实现逻辑,基于当前服务端部署的人工智能算法架构,从架构底层的各功能模块中调用对应的功能模块,然后,将对应的功能模块封装为软件开发工具包,具体形式为静态库;然后,再基于通信协议,实现软件开发工具包对应的服务调用接口。整个过程非常繁琐,且不同服务之间功能模块存在复用性,但对于不同服务目前仍需各自实现编排调用同一功能模块的代码,这严重影响了新服务的开发效率。
发明内容
本公开提供一种数据处理方法、装置、电子设备及存储介质,本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种数据处理方法,包括:
通过目标服务接口接收服务调用指令,服务调用指令中包括待调用服务标识及待处理数据,其中目标服务接口包括数据输入格式和数据输出格式,待处理数据与目标服务接口的数据输入格式相匹配;
响应于服务调用指令,根据待调用服务标识从目标服务接口对应的服务中匹配目标服务;
在匹配得到目标服务的情况下,获取目标服务对应的执行序列,执行序列为根据目标服务待调度的目标功能模块构建的序列;
基于执行序列从动态库中调用目标功能模块处理待处理数据,得到针对待处理数据的处理结果,处理结果与目标服务接口的数据输出格式相匹配。
在一些可能的实施例中,方法还包括:
获取目标服务对应的初始有向无环图;初始有向无环图包括目标服务待调用的至少两个目标功能模块的目标标识信息;
对初始有向无环图进行拓扑排序处理,得到目标服务对应的初始执行序列,初始执行序列用于指示至少两个目标功能模块的调用顺序。
在一些可能的实施例中,还包括:
获取初始执行序列中初始节点对应的目标功能模块的数据输入格式;
获取初始执行序列中终节点对应的目标功能模块的数据输出格式;
根据初始节点对应的目标功能模块的数据输入格式和终节点对应的目标功能模块的数据输出格式,确定目标服务对应的目标服务接口。
在一些可能的实施例中,获取目标服务对应的初始有向无环图,包括:
响应于针对目标服务的目标功能模块的设置操作,确定目标服务待调用的至少两个目标功能模块的目标标识信息;
响应于针对至少两个目标功能模块的目标标识信息的编排处理,得到目标服务对应的初始有向无环图。
在一些可能的实施例中,初始有向无环图存储于预设存储区域;方法还包括:
响应于对初始有向无环图的更新指令,从预设存储区域中获取初始有向无环图;
响应于对初始有向无环图的更新处理,获取更新后的有向无环图;
对更新后的有向无环图进行拓扑排序处理,得到更新后的执行序列;
利用更新后的执行序列替换初始执行序列。
在一些可能的实施例中,在未匹配到目标服务对应的目标服务接口的情况下,方法还包括:
根据初始节点对应的目标功能模块的数据输入格式和终节点对应的目标功能模块的数据输出格式,确定新增服务接口;
将新增服务接口作为目标服务的目标服务接口。
根据本公开实施例的第二方面,提供一种数据处理装置,包括:
接收模块,被配置为执行通过目标服务接口接收服务调用指令,服务调用指令中包括待调用服务标识及待处理数据,其中目标服务接口包括数据输入格式和数据输出格式,待处理数据与目标服务接口的数据输入格式相匹配;
匹配模块,被配置为执行响应于服务调用指令,根据待调用服务标识从目标服务接口对应的服务中匹配目标服务;
第一获取模块,被配置为执行在匹配得到目标服务的情况下,获取目标服务对应的执行序列;
第一处理模块,被配置为执行基于执行序列调用目标功能模块处理待处理数据,得到针对待处理数据的处理结果数据,处理结果数据与目标服务接口的数据输出格式相匹配。
在一些可能的实施例中,装置还包括:
第二获取模块,被配置为执行获取目标服务对应的初始有向无环图;初始有向无环图包括目标服务待调用的至少两个目标功能模块的目标标识信息;
第二处理模块,被配置为执行对初始有向无环图进行拓扑排序处理,得到目标服务对应的初始执行序列,初始执行序列用于指示至少两个目标功能模块的调用顺序。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器被配置为执行指令,以实现如本公开实施例第一方面的数据处理方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开实施例第一方面的数据处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序存储在可读存储介质中,计算机设备的至少一个处理器从可读存储介质读取并执行计算机程序,使得计算机设备执行本公开实施例第一方面的数据处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
通过目标服务接口接收服务调用指令,服务调用指令中包括待调用服务标识及待处理数据,其中目标服务接口包括数据输入格式和数据输出格式,待处理数据与目标服务接口的数据输入格式相匹配;响应于服务调用指令,根据待调用服务标识从目标服务接口对应的服务中匹配目标服务;在匹配得到目标服务的情况下,获取目标服务对应的执行序列,执行序列为根据目标服务待调度的目标功能模块构建的序列;基于执行序列从动态库中调用目标功能模块处理待处理数据,得到针对待处理数据的处理结果,处理结果与目标服务接口的数据输出格式相匹配。本公开可以实现不同服务使用相同的服务接口访问服务端,如此,服务端在开发时,不同服务可以使用相同服务接口,从而可以减少服务接口的开发数量,提高服务开发效率,降低服务接口开发成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种应用环境的示意图;
图2是根据一示例性实施例示出的一种数据处理方法的流程图;
图3是根据一示例性实施例示出的一种服务架构的示意图;
图4是根据一示例性实施例示出的一种确定初始执行序列的流程图;
图5是根据一示例性实施例示出的一种获取待集成服务对应的初始有向无环图的流程图;
图6是根据一示例性实施例示出的一种初始有向无环图的示意图;
图7是根据一示例性实施例示出的一种初始执行序列示意图;
图8是根据一示例性实施例示出的一种更新初始有向无环图的流程图;
图9是根据一示例性实施例示出的一种数据处理方法的流程图;
图10是根据一示例性实施例示出的一种数据处理装置的框图;
图11是根据一示例性实施例示出的一种用于数据处理的电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的第一对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等),均为经用户授权或者经过各方充分授权的信息。
请参阅图1,图1是根据一示例性实施例示出的一种数据处理方法的应用环境的示意图,如图1所示,该应用环境可以包括服务端01和客户端02,其中,服务端01为服务提供端,客户端02为服务消费端,服务端01对外提供服务接口,客户端02可以通过该服务接口使用服务端01提供的服务;该过程可以称为远程方法调用(Remote Procedure Call,RPC),服务接口也可以称为RPC接口。
在一些可能的实施例中,服务端01通过目标服务接口接收服务调用指令,该服务调用指令可以是客户端02发送的;服务调用指令中包括待调用服务标识及待处理数据,其中目标服务接口包括数据输入格式和数据输出格式,待处理数据与目标服务接口的数据输入格式相匹配;服务端01响应于服务调用指令,根据待调用服务标识从目标服务接口对应的服务中匹配目标服务;在匹配得到目标服务的情况下,服务端01获取目标服务对应的执行序列,执行序列为根据目标服务待调度的目标功能模块构建的序列;服务端01基于执行序列从动态库中调用目标功能模块处理待处理数据,得到针对待处理数据的处理结果,处理结果与目标服务接口的数据输出格式相匹配。
在一些可能的实施例中,服务端01可以包括是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows、Unix等。
在一些可能的实施例中,上述的客户端02可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、智能可穿戴设备等类型的客户端。也可以为运行于上述客户端的软体,例如应用程序、小程序等。可选的,客户端上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows、Unix等。
此外,需要说明的是,图1所示的仅仅是本公开提供的数据处理方法的一种应用环境,在实际应用中,还可以包括其他应用环境。
图2是根据一示例性实施例示出的一种数据处理方法的流程图,如图2所示,数据处理方法可以应用于服务端,包括以下步骤:
在步骤S201中,通过目标服务接口接收服务调用指令,服务调用指令中包括待调用服务标识及待处理数据,其中目标服务接口包括数据输入格式和数据输出格式,待处理数据与目标服务接口的数据输入格式相匹配。
本公开实施例中,服务端预先集成目标服务接口,在集成目标服务接口之后,服务端通过向服务注册中心进行注册;然后,客户端可以从服务注册中心获得服务端的目标服务接口,通过调用该目标服务接口使用服务端的服务。
在一个具体的应用场景中,服务端可以通过该目标服务接口提供人工智能(AI)算法服务,比如,利用深度合成技术的图像处理服务;当前,服务端能提供各种各样的图像处理服务,比如特定风格化(输入一张图片,输出特定风格的全图效果)、活照片(输入一张图片,输出其中各人脸按照特定模板进行动作的视频)、换脸(输入一张图片,输出将输入图中人脸换到特定模板视频上的视频)等。
相关技术中,服务端需要针对上述各个不同的图像处理服务集成各自对应的服务接口,通常是针对每个服务,根据每个服务各自不同的实现逻辑,从底层调用相应的功能模块,然后将该服务对应的所有功能模块进行封装,得到软件开发工具包(SoftwareDevelopment Kit,SDK),具体形式为静态库;其中,辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做SDK;然后制定RPC通信协议,编写调用代码,调用对应服务SDK,并基于RPC框架(brpc、grpc等)编写服务代码,最后封装得到各个服务对应的服务接口;后续客户端基于RPC协议通过调用服务接口来应用相应的服务。然而,相关技术中集成服务接口的方式,过程非常繁琐,不同服务之间功能模块存在复用性,但对于不同服务目前仍需各自实现编排调用同一功能模块的代码,导致功能模块的易用性不够,这严重影响了新服务的开发效率。
本公开实施例中,服务端针对数据输入格式和数据输出格式相同的服务,采用同一个目标服务接口,比如上述活照片服务和换脸服务不再单独集成各自的服务接口,而是使用相同的一个目标服务接口。这样,客户端在调用目标服务接口时,在相应的服务调用指令中携带客户端实际要访问的待调用服务标识,同时还携带待处理数据,该待处理数据的数据输入格式与目标接口服务的的数据输入格式相匹配。
上述实施例中,针对不同服务,可以对外提供相同的服务接口,这样可以大幅减少对外所提供的服务接口的数量,便于服务端的接口管理。
在步骤S203中,响应于服务调用指令,根据待调用服务标识从目标服务接口对应的服务中匹配目标服务。
本公开实施例中,服务端响应于服务调用指令,根据待调用服务标识从目标服务接口对应的服务中匹配目标服务。这里,目标服务接口对应的服务包括多个服务,该多个服务中每个服务的数据输入格式和数据输出格式均相同。
在步骤S205中,在匹配得到目标服务的情况下,获取目标服务对应的执行序列,执行序列为根据目标服务待调度的目标功能模块构建的序列。
本公开实施例中,在实际应用时,服务端在匹配得到目标服务的情况下,获取目标服务对应的执行序列。执行序列是服务端预先根据目标服务的有向无环图(DirectedAcyclic Graph,DAG)确定的;具体的,服务端预先根据目标服务待调度的目标功能模块配置目标服务的DAG图,然后对目标服务的DAG图进行拓扑排序得到目标服务的执行序列。
在一些可能的实施例中,服务端的服务架构如图3所示,从下至上依次包括功能模块层、服务层和接口层,其中,功能模块层包括当前服务端覆盖的多个功能模块(功能模块1、功能模块2……功能模块n),功能模块属于该服务架构中不同服务之间可复用的、通用的、典型的功能模块,各功能模块覆盖日常服务开发中常见的功能。其中,每个功能模块能够实现每个功能模块对应的功能,具体功能是与实际应用场景相匹配的功能。比如,在AI服务的应用场景中,图3可以表示服务端的AI服务架构,则功能模块层可以包括图片编码模块、图片解码模块、视频编码模块、视频解码模块、特殊色域转换模块、人像风格化模块、人脸关键点识别模块、人像分割模块、人脸属性识别模块等。
服务层包括多个服务(服务1、服务2……服务m),每个服务可以基于功能模块层,通过DAG图进行逻辑编排来实现。多个服务是与实际应用场景相匹配的服务。比如,在AI服务的应用场景中,服务1可以是特定风格化服务,服务2可以是活照片服务,服务3可以是换脸服务。
接口层包括多个服务接口(服务接口1、服务接口2……服务接口k),接口层的多个服务接口并非与服务层的多个服务呈一一对应关系,比如,在AI服务的应用场景中,服务接口1可以是图片输入输出接口,服务接口2可以是视频输入输出接口,服务接口3可以是输入图输出视频接口;相应的,上述活照片服务和换脸服务可以对应同一服务接口3,即输入图输出视频接口。这里,目标服务接口可以是服务接口1、服务接口2……服务接口k中的任一个。
下面介绍目标服务对应的初始执行序列的生成过程,这里初始执行序列可以表示首次针对目标服务进行接口集成的过程中建立的执行序列,后续随着服务的更新,可以对初始执行序列进行更新。在一些可能的实施例中,本公开实施例的数据处理方法还包括如图4所示的以下步骤:
在步骤S401中,获取目标服务对应的初始有向无环图;初始有向无环图包括目标服务待调用的至少两个目标功能模块的目标标识信息。
该步骤中,目标服务对应的初始有向无环图(下文简称初始DAG图)根据目标服务的实现逻辑编排得到。相应的,服务端需要根据终端设备上的编排操作,确定目标服务对应的初始有向无环图。
在一个具体的实施例中,上述获取目标服务对应的初始有向无环图,可以包括如图5所示的以下步骤:
在步骤S501中,响应于针对目标服务的目标功能模块的设置操作,确定目标服务待调用的至少两个目标功能模块的目标标识信息。
具体的,终端设备显示有目标服务的有向无环图配置页面,当检测到存在针对目标服务的目标功能模块的设置操作时,终端设备将针对目标服务的目标功能模块的设置操作发送至服务端,服务端响应于针对目标服务的目标功能模块的设置操作,确定目标服务待调用的至少两个目标功能模块的目标标识信息;这里目标标识信息可以是用于区分不同功能模块的标识信息,可以是数字、字母、图片或其他任意形式。
在实际应用中,对于目标服务,首先梳理该目标服务的实现逻辑,当目标服务较复杂时,可以将整体逻辑拆分为多个功能点,用户可以在有向无环图配置页面中所显示的功能模块层中所有功能模块中选择与该多个功能点相匹配的多个功能模块,该相匹配的多个功能模块中的每个功能模块即为目标功能模块,基于用户选择的目标功能模块生成针对目标服务的目标功能模块的设置操作。
需要说明的是,若服务端当前维护的功能模块层中不包含与功能点相匹配的功能模块时,需要开发与该功能点相关的功能模块,然后将新增的功能模块补充到功能模块层,得到更新后的功能模块层,以供用户在有向无环图配置页面进行选择。
在步骤S503中,响应于针对至少两个目标功能模块的目标标识信息的编排处理,得到目标服务对应的初始有向无环图。
具体的,在确定出至少两个目标功能模块后,用户可以在终端设备上进一步对出至少两个目标功能模块目标标识信息进行可视化编排操作,服务端响应于针对至少两个目标功能模块的目标标识信息的编排处理,得到目标服务对应的有向无环图。以目标服务是特定风格化服务为例,根据该特定风格化服务的实现逻辑,其对应的目标功能模块包括图片解码模块、人像分割模块、人脸关键点识别模块、人像风格化模块和图片编码模块,最终形成的该特定风格化服务对应的初始DAG图可以如图6所示。
在步骤S403中,对初始有向无环图进行拓扑排序处理,得到目标服务对应的初始执行序列,初始执行序列用于指示至少两个目标功能模块的调用顺序。
具体的,在目标服务的初始DAG图编排过程中,将功能模块层中各功能模块作为独立节点,按照目标服务的实现逻辑编排为初始DAG图。服务端通过执行引擎进行初始化时,加载初始DAG图,依次对各节点进行初始化,待初始DAG图中节点都初始化后,对整张初始DAG图进行拓扑排序处理,得到各节点的初始执行顺序,即各目标功能模块的执行顺序,也即初始执行序列用于指示至少两个目标功能模块的调用顺序。
比如,针对图6所示的初始DAG图进行拓扑排序处理后,得到的初始执行序列如图7所示,图7是一种可能的初始执行序列示意图。
上述实施例中,利用服务端维护的功能模块层中通用、典型的功能模块,在新的待集成服务的开发中,仅需开发与服务相关的、特定功能的功能模块,且在无需手动编写编排调用各功能模块的代码,直接将服务的实现逻辑采用DAG图进行可视化配置,实际操作时由执行引擎初始化和调用功能模块,即可实现整体服务逻辑。如此,可以提高功能模块层中各功能模块的易用性,大大简化新服务的开发过程,提高新服务开发效率。
在一些可能的实施例中,初始有向无环图存储于预设存储区域;本公开实施例的数据处理方法还可以包括如图8所示的以下步骤:
在步骤S801中,响应于对初始有向无环图的更新指令,从预设存储区域中获取初始有向无环图。
该步骤中,预设存储区域是服务端用于存储各个服务对应的初始DAG图的区域;当目标服务进行迭代更新时,用户可以通过终端设备对目标服务的初始DAG图进行更新,从而服务端响应于对初始有向无环图的更新指令,从预设存储区域中获取初始有向无环图。
在步骤S803中,响应于对初始有向无环图的更新处理,获取更新后的有向无环图。
该步骤中,用户可以通过终端设备对初始有向无环图进行更新,服务端响应于对初始有向无环图的更新处理,获取更新后的有向无环图。
在步骤S805中,对更新后的有向无环图进行拓扑排序处理,得到更新后的执行序列。
该步骤中,服务端对更新后的有向无环图进行拓扑排序处理,得到更新后的执行序列。该过程与对初始DAG图进行拓扑排序处理类似,此处不再赘述。
在步骤S807中,利用更新后的执行序列替换初始执行序列。
该步骤中,服务端在得到更新后的执行序列后,利用更新后的执行序列替换预设存储区域中的初始执行序列,以保证预设存储区域中一直存储的是最新的执行序列。
在一些可能的实施例中,本公开实施例的数据处理方法还可以包括如图9所示的以下步骤:
在步骤S901中,获取初始执行序列中初始节点对应的目标功能模块的数据输入格式。
具体的,目标服务的数据输入格式,可以根据初始执行序列中位于初始节点的目标功能模块的数据输入格式来确定。比如,根据图7所示的特定风格化服务对应的初始执行序列,可以确定位于初始节点的目标功能模块为图片解码模块,图片解码模块的数据输入格式为图片。
在步骤S903中,获取初始执行序列中终节点对应的目标功能模块的数据输出格式。
具体的,目标服务的数据输出格式,可以根据初始执行序列中位于终节点的的目标功能模块的数据输出格式来确定。比如,根据图7所示的特定风格化服务对应的初始执行序列,可以确定位于终节点的目标功能模块为图片编码模块,图片编码模块的数据输出格式为图片。
在步骤S905中,根据初始节点对应的目标功能模块的数据输入格式和终节点对应的目标功能模块的数据输出格式,确定目标服务对应的目标服务接口。
具体的,服务端在确定目标服务的数据输入格式和数据输出格式后,从当前接口层中已有的服务接口中确定与其匹配的服务接口,比如上述特定风格化服务可以从接口层中匹配到服务接口1,将服务接口1作为特定风格化服务的目标服务接口。
在一些可能的实施例中,在未匹配到目标服务对应的目标服务接口的情况下,本公开实施例的数据处理方法还可以包括以下步骤:
根据初始节点对应的目标功能模块的数据输入格式和终节点对应的目标功能模块的数据输出格式,确定新增服务接口;将新增服务接口作为目标服务的目标服务接口。
具体的,若无法从当前接口层中已有的服务接口中确定与其匹配的服务接口,则为目标服务新增服务接口,对新增服务接口的数据输入格式和数据输出格式进行定义,将新增服务接口作为目标服务的目标服务接口。
上述实施例中,目标服务通过DAG可视化编排各个功能模块后会形成DAG图,实际应用时,服务端在接收到服务调用指令后,通过动态加载器加载动态库和执行序列,以实现服务逻辑。由于接口层的对外服务接口统一,仅与实际服务类型相关,从而,同一服务接口对应的多个服务中任一服务在进行迭代更新时,一般不会变更服务类型即数据输入输出格式,从而无需变更其对外的服务接口,这样做可以解耦接口层和服务层,服务迭代更新或集成新服务时,无需重新与接口层进行串接,可以做到服务的快速部署,进一步提高服务开发效率。
在步骤S207中,基于执行序列从动态库中调用目标功能模块处理待处理数据,得到针对待处理数据的处理结果,处理结果与目标服务接口的数据输出格式相匹配。
本公开实施例中,服务端预先将底层的多个功能模块封装为一个动态库,在获取目标服务对应的执行序列后,基于执行序列从动态库中调用目标功能模块处理待处理数据,得到针对待处理数据的处理结果,处理结果与目标服务接口的数据输出格式相匹配。
在一些可能的实施例中,本公开实施例的数据处理方法还可以包括:获取当前服务端覆盖的多个可复用的功能模块;对多个可复用的功能模块进行封装,得到动态库。
这里,当前服务端覆盖的多个可复用的功能模块,指上述的不同服务之间可复用的、通用的、典型的功能模块,各功能模块覆盖日常服务开发中常见的功能。如,上述图片编解码模块、视频编解码模块、特殊色域转换模块、人像风格化模块、人脸关键点识别模块、人像分割模块、人脸属性识别模块等。
具体的,服务端将多个可复用的即全部的底层功能模块进行封装,得到动态库;后续,根据各服务的不同,对外暴露不同的服务接口。
上述实施例中,服务端针对不同的服务,不再针对每个服务进行封装形成每个服务的静态库,而是将全部的底层功能模块进行封装,得到动态库;这样,可以减少服务升级时对服务接口的影响,提高服务接口的可扩展和灵活性。
综上,本公开实施例中,服务端在集成目标服务的接口时,无需手动编写编排调用各功能模块,仅需将服务逻辑采用DAG图进行编排,如此可以提高服务开发效率;此外,不同服务之间可以共享一个动态库,根据服务类型的不同,对外提供各自服务类型对应的服务接口,可以减少服务内容迭代更新时,对服务接口的变更,可以提高服务端服务的稳定性。在实际应用中,服务端响应于通过目标服务接口接收服务调用指令,首先确定服务调用指令中实际所要访问的待调用服务标识,并根据该待调用服务标识确定出目标服务的的执行序列,基于执行序列从动态库中加载并执行对应的目标功能模块,即可得到处理结果,如此实现不同服务使用相同的服务接口访问服务端,从而服务端可以减少服务接口的开发数量,降低服务接口开发成本,基于执行序列实现服务逻辑的方式下,可以同步保证服务端的数据处理效率。
图10是根据一示例性实施例示出的一种数据处理装置框图。参照图10,该装置包括接收模块1001、匹配模块1002、第一获取模块1003和第一处理模块1004;
接收模块1001,被配置为执行通过目标服务接口接收服务调用指令,服务调用指令中包括待调用服务标识及待处理数据,其中目标服务接口包括数据输入格式和数据输出格式,待处理数据与目标服务接口的数据输入格式相匹配;
匹配模块1002,被配置为执行响应于服务调用指令,根据待调用服务标识从目标服务接口对应的服务中匹配目标服务;
第一获取模块1003,被配置为执行在匹配得到目标服务的情况下,获取目标服务对应的执行序列;
第一处理模块1004,被配置为执行基于执行序列调用目标功能模块处理待处理数据,得到针对待处理数据的处理结果数据,处理结果数据与目标服务接口的数据输出格式相匹配。
在一些可能的实施例中,装置还包括:
第二获取模块,被配置为执行获取目标服务对应的初始有向无环图;初始有向无环图包括目标服务待调用的至少两个目标功能模块的目标标识信息;
第二处理模块,被配置为执行对初始有向无环图进行拓扑排序处理,得到目标服务对应的初始执行序列,初始执行序列用于指示至少两个目标功能模块的调用顺序。
在一些可能的实施例中,装置还包括:
第三获取模块,被配置为执行获取初始执行序列中初始节点对应的目标功能模块的数据输入格式;获取初始执行序列中终节点对应的目标功能模块的数据输出格式;根据初始节点对应的目标功能模块的数据输入格式和终节点对应的目标功能模块的数据输出格式,确定目标服务对应的目标服务接口。
在一些可能的实施例中,第三获取模块,还被配置为执行响应于针对目标服务的目标功能模块的设置操作,确定目标服务待调用的至少两个目标功能模块的目标标识信息;响应于针对至少两个目标功能模块的目标标识信息的编排处理,得到目标服务对应的初始有向无环图。
在一些可能的实施例中,初始有向无环图存储于预设存储区域;装置还包括:
更新模块,被配置为执行响应于对初始有向无环图的更新指令,从预设存储区域中获取初始有向无环图;响应于对初始有向无环图的更新处理,获取更新后的有向无环图;对更新后的有向无环图进行拓扑排序处理,得到更新后的执行序列;利用更新后的执行序列替换初始执行序列。
在一些可能的实施例中,在未匹配到目标服务对应的目标服务接口的情况下,装置还包括:
新增模块,被配置为执行根据初始节点对应的目标功能模块的数据输入格式和终节点对应的目标功能模块的数据输出格式,确定新增服务接口;将新增服务接口作为目标服务的目标服务接口。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图11是根据一示例性实施例示出的一种用于数据处理的电子设备的框图,该电子设备可以是终端,其内部结构图可以如图11所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在示例性实施例中,还提供了一种电子设备,包括:处理器;用于存储该处理器可执行指令的存储器;其中,该处理器被配置为执行该指令,以实现如本公开实施例中的数据处理方法。
在示例性实施例中,还提供了一种计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开实施例中的数据处理方法。
在示例性实施例中,还提供了一种包含指令的计算机程序产品,计算机程序产品包括计算机程序,计算机程序存储在可读存储介质中,计算机设备的至少一个处理器从可读存储介质读取并执行计算机程序,使得计算机设备执行本公开实施例的数据处理方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
通过目标服务接口接收服务调用指令,所述服务调用指令中包括待调用服务标识及待处理数据,其中所述目标服务接口包括数据输入格式和数据输出格式,所述待处理数据与所述目标服务接口的数据输入格式相匹配;
响应于所述服务调用指令,根据所述待调用服务标识从所述目标服务接口对应的服务中匹配目标服务;
在匹配得到所述目标服务的情况下,获取所述目标服务对应的执行序列,所述执行序列为根据所述目标服务待调度的目标功能模块构建的序列;
基于所述执行序列从动态库中调用所述目标功能模块处理所述待处理数据,得到针对所述待处理数据的处理结果,所述处理结果与所述目标服务接口的数据输出格式相匹配。
2.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
获取所述目标服务对应的初始有向无环图;所述初始有向无环图包括所述目标服务待调用的至少两个所述目标功能模块的目标标识信息;
对所述初始有向无环图进行拓扑排序处理,得到所述目标服务对应的初始执行序列,所述初始执行序列用于指示至少两个所述目标功能模块的调用顺序。
3.根据权利要求2所述的数据处理方法,其特征在于,还包括:
获取所述初始执行序列中初始节点对应的目标功能模块的数据输入格式;
获取所述初始执行序列中终节点对应的目标功能模块的数据输出格式;
根据所述初始节点对应的目标功能模块的数据输入格式和所述终节点对应的目标功能模块的数据输出格式,确定所述目标服务对应的所述目标服务接口。
4.根据权利要求2所述的数据处理方法,其特征在于,所述获取目标服务对应的初始有向无环图,包括:
响应于针对所述目标服务的目标功能模块的设置操作,确定所述目标服务待调用的至少两个目标功能模块的目标标识信息;
响应于针对所述至少两个目标功能模块的目标标识信息的编排处理,得到所述目标服务对应的初始有向无环图。
5.根据权利要求2所述的数据处理方法,其特征在于,所述初始有向无环图存储于预设存储区域;所述方法还包括:
响应于对所述初始有向无环图的更新指令,从所述预设存储区域中获取所述初始有向无环图;
响应于对所述初始有向无环图的更新处理,获取更新后的有向无环图;
对所述更新后的有向无环图进行拓扑排序处理,得到更新后的执行序列;
利用所述更新后的执行序列替换所述初始执行序列。
6.根据权利要求3所述的数据处理方法,其特征在于,在未匹配到所述目标服务对应的所述目标服务接口的情况下,所述方法还包括:
根据所述初始节点对应的目标功能模块的数据输入格式和所述终节点对应的目标功能模块的数据输出格式,确定新增服务接口;
将所述新增服务接口作为所述目标服务的目标服务接口。
7.一种数据处理装置,其特征在于,包括:
接收模块,被配置为执行通过目标服务接口接收服务调用指令,所述服务调用指令中包括待调用服务标识及待处理数据,其中所述目标服务接口包括数据输入格式和数据输出格式,所述待处理数据与所述目标服务接口的数据输入格式相匹配;
匹配模块,被配置为执行响应于所述服务调用指令,根据所述待调用服务标识从所述目标服务接口对应的服务中匹配目标服务;
第一获取模块,被配置为执行在匹配得到所述目标服务的情况下,获取所述目标服务对应的执行序列;
第一处理模块,被配置为执行基于所述执行序列调用目标功能模块处理所述待处理数据,得到针对所述待处理数据的处理结果数据,所述处理结果数据与所述目标服务接口的数据输出格式相匹配。
8.根据权利要求7所述的数据处理装置,其特征在于,所述装置还包括:
第二获取模块,被配置为执行获取所述目标服务对应的初始有向无环图;所述初始有向无环图包括所述目标服务待调用的至少两个所述目标功能模块的目标标识信息;
第二处理模块,被配置为执行对所述初始有向无环图进行拓扑排序处理,得到所述目标服务对应的初始执行序列,所述初始执行序列用于指示至少两个所述目标功能模块的调用顺序。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-6中任一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-6中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310087692.7A CN116185431A (zh) | 2023-01-29 | 2023-01-29 | 一种数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310087692.7A CN116185431A (zh) | 2023-01-29 | 2023-01-29 | 一种数据处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116185431A true CN116185431A (zh) | 2023-05-30 |
Family
ID=86433920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310087692.7A Pending CN116185431A (zh) | 2023-01-29 | 2023-01-29 | 一种数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116185431A (zh) |
-
2023
- 2023-01-29 CN CN202310087692.7A patent/CN116185431A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111399833B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN111459610B (zh) | 一种模型部署方法和装置 | |
CN112131837B (zh) | 业务报告配置方法、装置、计算机设备和存储介质 | |
EP4075299A1 (en) | Method and apparatus for recommending multimedia resource | |
CN113467855B (zh) | 网页请求处理方法、装置、电子设备及存储介质 | |
WO2023065746A1 (zh) | 算法应用元生成方法、装置、电子设备、计算机程序产品及计算机可读存储介质 | |
CN114924815B (zh) | 页面渲染方法、装置、电子设备及存储介质 | |
CN111223155A (zh) | 图像数据处理方法、装置、计算机设备和存储介质 | |
CN113727039A (zh) | 视频生成方法、装置、电子设备及存储介质 | |
CN110431838B (zh) | 提供人脸识别摄像机的动态内容的方法及系统 | |
CN116957893B (zh) | 水印生成方法、装置、电子设备和计算机可读介质 | |
CN116185431A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN115237467A (zh) | 页面视图配置方法、装置、计算机设备及存储介质 | |
CN115190362B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114463474A (zh) | 页面显示方法、装置、电子设备、存储介质及产品 | |
CN113672829A (zh) | 页面展示方法、装置、电子设备及存储介质 | |
CN114491093A (zh) | 多媒体资源推荐、对象表征网络的生成方法及装置 | |
CN113645064B (zh) | 任务下发方法、装置、电子设备及存储介质 | |
CN112714148A (zh) | 一种界面配置方法、装置、设备及介质 | |
CN111857782A (zh) | 界面更新方法、装置、计算机设备和存储介质 | |
US20130069953A1 (en) | User Interface Feature Generation | |
CN112817848B (zh) | 一种测试信息展示方法、装置、电子设备和存储介质 | |
CN115098764A (zh) | 多媒体处理方法、装置、电子设备及存储介质 | |
CN115686303A (zh) | 一种结构化文档生成方法、系统、计算机设备及介质 | |
CN114202754A (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 |