CN110166560B - 一种服务配置方法、装置、设备及存储介质 - Google Patents
一种服务配置方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110166560B CN110166560B CN201910441116.1A CN201910441116A CN110166560B CN 110166560 B CN110166560 B CN 110166560B CN 201910441116 A CN201910441116 A CN 201910441116A CN 110166560 B CN110166560 B CN 110166560B
- Authority
- CN
- China
- Prior art keywords
- service
- vertical
- vertical class
- class
- condition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提出一种服务配置方法、装置、设备及存储介质,其中方法包括:根据服务对应的各个垂类的功能是否开放的信息,设置所述服务对应的各个垂类的有效性标识;其中,在所述垂类的功能开放的情况下,设置所述垂类的有效性标识的取值为有效;在所述垂类的功能不开放的情况下,设置所述垂类的有效性标识的取值为无效;将所述服务对应的各个垂类的有效性标识写入配置文件;生成包含所述配置文件的部署包。本发明实施例能够节约维护成本。
Description
技术领域
本发明涉及服务配置技术领域,尤其涉及一种服务配置方法、装置、设备及存储介质。
背景技术
服务提供商为客户提供的服务可以集成多个垂类,每个垂类对应至少一个模型,这些模型用于实现对应垂类所能提供的能力。每个服务对应一个部署包,该部署包包含该服务集成的各个垂类所对应的模型、以及一个可执行文件。可执行文件是由该服务对应的执行代码编译得到的,用于在启动服务时对部署包中包含的模型进行初始化。
随着模型的复杂化,模型的运行需要更多的资源。当一个服务集成的垂类较多时,运行该服务的硬件设备的资源可能无法满足需求。
例如,光学字符识别(OCR,Optical Character Recognition)是将图像中的字符识别为计算机文字的过程。常见的OCR服务包括网络图片文字识别、卡证识别(身份证、银行卡)、票据识别(增值税发票、火车票、出租车票等)、车牌识别等。随着深度学习技术的迅猛发展,为获得更好的识别效果,各垂类在迭代更新时会尝试用更复杂的网络结构,更复杂的模型在预测时将要需要更多的图形处理单元(GPU,Graphics Processing Unit)显存资源。当一个服务上集成多个垂类时,显存资源问题更加凸显。
为解决这个问题,一个解决方案是拆分服务。例如,将一个对应较多垂类的服务拆分成几个对应较少垂类的服务。由于每个服务对应一个执行代码,因此,这种方式需要维护的代码库的数量增多,导致维护成本较高。
发明内容
本发明实施例提供一种服务配置方法及装置,以至少解决现有技术中的以上技术问题。
第一方面,本发明实施例提供了一种服务配置方法,包括:
根据服务对应的各个垂类的功能是否开放的信息,设置所述服务对应的各个垂类的有效性标识;其中,在所述垂类的功能开放的情况下,设置所述垂类的有效性标识的取值为有效;在所述垂类的功能不开放的情况下,设置所述垂类的有效性标识的取值为无效;
将所述服务对应的各个垂类的有效性标识写入配置文件;
生成包含所述配置文件的部署包。
在一种实施方式中,所述部署包还包括:可执行文件及所述服务对应的各个垂类的模型。
在一种实施方式中,所述方法还包括:
读取所述配置文件中的各个垂类的有效性标识;
在所述垂类的有效性标识的取值为有效的情况下,采用所述可执行文件对所述垂类的模型进行初始化。
在一种实施方式中,所述方法还包括:
接收针对所述服务的请求;
确定所述请求对应的垂类;
从所述配置文件中查找所述请求对应的垂类的有效性标识;
在所述垂类的有效性标识的取值为有效的情况下,处理所述请求。
在一种实施方式中,所述可执行文件包括:
在所述服务部署在不同型号的硬件设备的情况下,所述服务对应的各个垂类处理请求时所需的最大资源量。
在一种实施方式中,所述方法还包括:
从所述配置文件中查找有效性标识的取值为有效的一个以上第一垂类;并确定部署所述服务的当前硬件设备的第一型号信息;
根据所述第一垂类及所述第一型号信息,从所述可执行文件中查找各个所述第一垂类处理请求时所需的最大资源量;
将查找到的最大资源量相加,得到所述服务所需的最大资源量;
在所述当前硬件设备能够提供的资源量可以满足所述服务所需的最大资源量的情况下,初始化各个所述第一垂类的模型。
在一种实施方式中,所述方法还包括:
在所述当前硬件设备能够提供的资源量不能满足所述服务所需的最大资源量的情况下,提示对所述服务的启动失败。
第二方面,本发明实施例还提出一种服务配置装置,包括:
标识设置模块,用于根据服务对应的各个垂类的功能是否开放的信息,设置所述服务对应的各个垂类的有效性标识;其中,在所述垂类的功能开放的情况下,设置所述垂类的有效性标识的取值为有效;在所述垂类的功能不开放的情况下,设置所述垂类的有效性标识的取值为无效;
配置文件生成模块,用于将所述服务对应的各个垂类的有效性标识写入配置文件;
部署包生成模块,用于生成包含所述配置文件的部署包。
在一种实施方式中,所述部署包还包括:可执行文件及所述服务对应的各个垂类的模型。
在一种实施方式中,所述装置还包括:
初始化模块,用于读取所述配置文件中的各个垂类的有效性标识;在所述垂类的有效性标识的取值为有效的情况下,采用所述可执行文件对所述垂类的模型进行初始化。
在一种实施方式中,所述装置还包括:
请求处理模块,用于接收针对所述服务的请求,确定所述请求对应的垂类;从所述配置文件中查找所述请求对应的垂类的有效性标识;在所述垂类的有效性标识的取值为有效的情况下,处理所述请求。
在一种实施方式中,所述可执行文件包括:
在所述服务部署在不同型号的硬件设备的情况下,所述服务对应的各个垂类处理请求时所需的最大资源量。
在一种实施方式中,所述初始化模块包括:
垂类需求查找子模块,用于从所述配置文件中查找有效性标识的取值为有效的一个以上第一垂类,并确定部署所述服务的当前硬件设备的第一型号信息;根据所述第一垂类及所述第一型号信息,从所述可执行文件中查找各个所述第一垂类处理请求时所需的最大资源量;
服务需求计算子模块,用于将查找到的最大资源量相加,得到所述服务所需的最大资源量;
初始化子模块,用于在所述当前硬件设备能够提供的资源量可以满足所述服务所需的最大资源量的情况下,初始化各个所述第一垂类的模型。
在一种实施方式中,所述初始化子模块还用于,在所述当前硬件设备能够提供的资源量不能满足所述服务所需的最大资源量的情况下,提示对所述服务的启动失败。
第三方面,本发明实施例提供了一种服务配置设备,所述设备的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述设备的结构中包括处理器和存储器,所述存储器用于存储支持所述设备执行上述服务配置方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述设备还可以包括通信接口,用于与其他设备或通信网络通信。
第四方面,本发明实施例提供了一种计算机可读存储介质,用于存储服务配置设备所用的计算机软件指令,其包括用于执行上述服务配置方法所涉及的程序。
上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明实施例提出的服务配置方法和装置,将服务对应的各个垂类的有效性标识写入配置文件(有效性标识代表了该垂类的功能是否开放),从而实现了在实质上灵活拆分服务的效果。因此,本发明实施例不需要增加代码库的数量,能够节约维护成本。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1为本发明实施例的一种服务配置方法实现流程图一;
图2为本发明实施例的一种服务配置方法中,修改Valid Flag的实现方式示意图;
图3为本发明实施例的一种服务配置方法实现流程图二;
图4为本发明实施例的一种服务配置方法实现流程图三;
图5为本发明实施例的一种服务配置方法中,启动服务的实现流程图;
图6为本发明实施例的一种服务配置装置结构示意图一;
图7为本发明实施例的一种服务配置装置结构示意图二;
图8为本发明实施例的一种服务配置设备结构示意图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
本发明实施例主要提供了服务配置方法和装置,下面分别通过以下实施例进行技术方案的展开描述。
如图1为本发明实施例的一种服务配置方法实现流程图一,包括:
S11:根据服务对应的各个垂类的功能是否开放的信息,设置所述服务对应的各个垂类的有效性标识;其中,在所述垂类的功能开放的情况下,设置所述垂类的有效性标识的取值为有效;在所述垂类的功能不开放的情况下,设置所述垂类的有效性标识的取值为无效;
S12:将所述服务对应的各个垂类的有效性标识写入配置文件;
S13:生成包含所述配置文件的部署包。
在一种可能的实施方式中,垂类的有效性标识可以用Valid Flag表示。ValidFlag的取值为True时,表示有效;Valid Flag的取值为False时,表示无效。
当一个垂类的功能被开放时,可以设置该垂类的Valid Flag取值为True;
当一个垂类的功能不被开放时,可以设置该垂类的Valid Flag取值为False。
上述步骤S11~S13可以在编译服务的部署包时执行。在启动服务之前,可以灵活改动上述配置文件,从而实现对服务的灵活配置。
在一种可能的实施方式中,预先将配置文件中各个垂类的Valid Flag统一默认设置为True。之后,在上述步骤S12中,将功能不被开放的垂类的Valid Flag修改为False。为了在服务批量上线时便于采用配置派生方式修改配置文件的Valid Flag,在编写配置文件时,可以采用特定标识符例如“:”将键-值(Key-Value)对分开。
例如,采用以下代码将配置文件中各个垂类的Valid Flag统一默认设置为True:
bankcard_valid:1
idcard_valid:1
plate_valid:1
driving_valid:1
vehicle_valid:1
passport_valid:1
barcode_valid:1
card_det_valid:1
house_register_valid:1
birth_certificate_valid:1
hk_maco_passort_valid:1
taiwan_passort_valid:1
上述代码中,“:”之前的内容代表垂类的名称,“:”之后的内容代表该垂类的ValidFlag的取值,“1”代表“True”。
图2为本发明实施例的一种服务配置方法中,修改Valid Flag的实现方式示意图。图2中,在方框所示的位置将垂类bankcard_valid的Valid Flag修改为False(在图2中用0表示)。
当然,本发明实施例也可以预先将配置文件中各个垂类的Valid Flag统一默认设置为False。之后,在上述步骤S12中,可以将功能被开放的垂类的Valid Flag修改为True。
在一种可能的实施方式中,上述部署包还包括可执行文件及所述服务对应的各个垂类的模型。其中,可执行文件可以由服务的执行代码编译得到。可执行文件本身具备对部署包中的所有模型进行初始化的能力。
图3为本发明实施例的一种服务配置方法实现流程图二,包括:
S11:根据服务对应的各个垂类的功能是否开放的信息,设置所述服务对应的各个垂类的有效性标识;其中,在所述垂类的功能开放的情况下,设置所述垂类的有效性标识的取值为有效;在所述垂类的功能不开放的情况下,设置所述垂类的有效性标识的取值为无效;
S12:将所述服务对应的各个垂类的有效性标识写入配置文件;
S13:生成包含所述配置文件的部署包。
S34:读取所述配置文件中的各个垂类的有效性标识;
S35:在所述垂类的有效性标识的取值为有效的情况下,采用所述可执行文件对所述垂类的模型进行初始化。
在一种可能的实施方式中,上述步骤S34和S35可以在启动所述服务时执行。
可执行文件本身具备对部署包中的所有模型初始化的能力。本发明实施例在启动服务时,采用上述步骤34和S35,将Valid Flag取值为True的垂类进行初始化。对于ValidFlag取值为False的垂类则不进行初始化。通过这种方式,实质上将服务初始化成了不同的服务体,也就实现了对服务的拆分。
例如,服务A包括10个垂类,分别为垂类1、垂类2、…垂类10。编译部署包X和部署包Y。其中:
部署包X包括:服务A包括的10个垂类的模型、可执行文件、配置文件。在该配置文件中,设置垂类1至垂类5的Valid Flag的值为Ture,设置垂类6至垂类10的Valid Flag的值为False。在启动部署包X时,根据该配置文件中的信息,采用可执行文件对垂类1至垂类5进行初始化。
部署包Y包括:服务A包括的10个垂类的模型、可执行文件、配置文件。在该配置文件中,设置垂类1至垂类5的Valid Flag的值为False,设置垂类6至垂类10的Valid Flag的值为Ture。在启动部署包Y时,根据该配置文件中的信息,采用可执行文件对垂类6至垂类10进行初始化。
这样,在上述例子中,将服务A初始化成了2个不同的服务体。
如图3所示,上述实施例还可以包括:
S36:接收针对所述服务的请求;
S37:确定所述请求对应的垂类;
S38:从所述配置文件中查找所述请求对应的垂类的有效性标识;
S39:在所述垂类的有效性标识的取值为有效的情况下,处理所述请求。
在一种可能的实施方式中,上述步骤S36~S39可以在服务接收到请求(Query)时执行。如步骤S39所述,如果请求对应的垂类的Valid Flag取值为True,则处理该请求。进一步的,如果请求对应的垂类的Valid Flag取值为False,可以直接返回错误代码,提示不支持此功能。
由于运行服务需要较多的硬件资源,例如GPU显存资源。当硬件资源无法满足服务运行的需求时,将会导致服务启动失败、或者启动之后出现运行故障。针对这一问题,本发明实施例还可以在启动服务之前判断当前硬件设备能够提供的资源量是否可以满足服务所需的最大资源量,并依据判断结果执行启动过程。具体地,本发明实施例可以在上述可执行文件中包括不同垂类的资源需求。该资源需求具体可以体现为:在所述服务部署在不同型号的硬件设备的情况下,所述服务对应的各个垂类处理请求时所需的最大资源量。这些内容可以通过测试得到。例如,在各垂类模型上线前,针对常用的GPU卡(如某公司K1200型号GPU卡、P4型号GPU卡、K40型号GPU卡),测试在每个垂类正常接受请求时所需的峰值显存(也就是最大资源量)。本发明实施例还可以以K40型号GPU卡的峰值显存的1.3倍去估计其他型号的GPU卡所需的峰值显存。需要注意的是,即便是相同的深度学习模型,当在不同型号的GPU卡上进行预测时,其需要的显存并不相同。
在可执行文件中写入不同垂类的资源需求的前提下,本发明实施例还可以根据这一信息判断硬件设备是否可以满足该资源需求。在部署服务的硬件设备可以满足该服务的资源需求时,启动服务。
具体过程如图4所示。图4为本发明实施例的一种服务配置方法实现流程图三,包括:
S11:根据服务对应的各个垂类的功能是否开放的信息,设置所述服务对应的各个垂类的有效性标识;其中,在所述垂类的功能开放的情况下,设置所述垂类的有效性标识的取值为有效;在所述垂类的功能不开放的情况下,设置所述垂类的有效性标识的取值为无效;
S12:将所述服务对应的各个垂类的有效性标识写入配置文件;
S13:生成包含所述配置文件的部署包。
S44:从所述配置文件中查找有效性标识的取值为有效的一个以上第一垂类;并确定部署所述服务的当前硬件设备的第一型号信息;
S45:根据所述第一垂类及所述第一型号信息,从所述可执行文件中查找各个所述第一垂类处理请求时所需的最大资源量;
S46:将查找到的最大资源量相加,得到所述服务所需的最大资源量;
S47:在所述当前硬件设备能够提供的资源量可以满足所述服务所需的最大资源量的情况下,初始化各个所述第一垂类的模型。
如图4所示,在一种可能的实施方式中,上述过程还可以包括:
S48:在所述当前硬件设备能够提供的资源量不能满足所述服务所需的最大资源量的情况下,提示对所述服务的启动失败。
在一种可能的实施方式中,可以通过nvidia-smi命令获取启动服务的GPU卡的实际物理显存数量及已使用显存数量。根据实际物理显存数量及已使用显存数量,可以计算出剩余显存数量,也就是当前GPU卡能够提供的显存数量。
上述步骤S47中,当前硬件设备能够提供的资源量可以满足服务所需的最大资源量,具体可以指该服务所需的最大显存数量小于当前GPU卡能够提供的显存数量。如果当前GPU卡能够提供的显存数量不足以支持垂类开放,则服务启动失败,退出启动过程,并可以以致命性失败(FATAL)形式在日志(Log)中提示启动失败信息。
本发明实施例可以在上述图3所示的步骤S34和S35之前执行。即,在判断出当前硬件设备能够提供的资源量可以满足服务所需的最大资源量之后,对Valid Flag取值为True的垂类的模型进行初始化。
图5为本发明实施例的一种服务配置方法中,启动服务的实现流程图,包括:
S51:根据GPU卡的型号,查找各个垂类正常接受请求时所需的峰值显存。并确定GPU卡能够提供的显存数量。
S52:读取配置文件。针对配置文件中第一个垂类的Valid Flag,执行步骤S53。
S53:判断所述垂类的Valid Flag的取值是否为True。如果为True,则将所述垂类所需的峰值显存累加,继续执行步骤S54。具体地,在累加之前,可以将累加结果初始化为0;每一次累加均在当前的累加结果上增加该垂类所需的峰值显存。如果为False,则继续执行步骤S54。
S54:判断配置文件中是否存在下一个垂类的Valid Flag。如果存在,则针对下一个垂类的Valid Flag,返回执行步骤S53。如果不存在,则执行步骤S55。
S55:判断所述累加的结果是否超过GPU卡能够提供的显存数量。如果超过,则退出服务启动,结束本实施例流程。如果不超过,则针对配置文件中第一个垂类的Valid Flag,继续执行步骤S56。
S56:判断所述垂类的Valid Flag的取值是否为True。如果为True,则初始化所述垂类的模型,继续执行步骤S57;如果为False,则执行步骤S57。
S57:判断配置文件中是否存在下一个垂类的Valid Flag。如果存在,则针对下一个垂类的Valid Flag,返回执行步骤S56。如果不存在,则结束当前流程,此时对服务的启动完成。
本发明实施例还提出一种服务配置装置。参见图6,图6为本发明实施例的一种服务配置装置结构示意图一,包括:
标识设置模块610,用于根据服务对应的各个垂类的功能是否开放的信息,设置所述服务对应的各个垂类的有效性标识;其中,在所述垂类的功能开放的情况下,设置所述垂类的有效性标识的取值为有效;在所述垂类的功能不开放的情况下,设置所述垂类的有效性标识的取值为无效;
配置文件生成模块620,用于将所述服务对应的各个垂类的有效性标识写入配置文件;
部署包生成模块630,用于生成包含所述配置文件的部署包。
在一种可能的实施方式中,所述部署包还包括:可执行文件及所述服务对应的各个垂类的模型。
图7为本发明实施例的一种服务配置装置结构示意图二,包括:标识设置模块610、配置文件生成模块620、部署包生成模块630及初始化模块740。其中,标识设置模块610、配置文件生成模块620、部署包生成模块630与上述实施例中的相应模块相同,在此不再赘述。
初始化模块740,用于读取所述配置文件中的各个垂类的有效性标识;在所述垂类的有效性标识的取值为有效的情况下,采用所述可执行文件对所述垂类的模型进行初始化。
在一种可能的实施方式中,,如图7所示,所述装置还可以包括:
请求处理模块750,用于接收针对所述服务的请求;确定所述请求对应的垂类;从所述配置文件中查找所述请求对应的垂类的有效性标识;在所述垂类的有效性标识的取值为有效的情况下,处理所述请求。
在一种可能的实施方式中,所述可执行文件包括:
在所述服务部署在不同型号的硬件设备的情况下,所述服务对应的各个垂类处理请求时所需的最大资源量。
在一种可能的实施方式中,所述初始化模块740包括:
垂类需求查找子模块741,用于从所述配置文件中查找有效性标识的取值为有效的一个以上第一垂类,并确定部署所述服务的当前硬件设备的第一型号信息;根据所述第一垂类及所述第一型号信息,从所述可执行文件中查找各个所述第一垂类处理请求时所需的最大资源量;
服务需求计算子模块742,用于将查找到的最大资源量相加,得到所述服务所需的最大资源量;
初始化子模块743,用于在所述当前硬件设备能够提供的资源量可以满足所述服务所需的最大资源量的情况下,初始化各个所述第一垂类的模型。
在一种可能的实施方式中,所述初始化子模块743还用于,在所述当前硬件设备能够提供的资源量不能满足所述服务所需的最大资源量的情况下,提示对所述服务的启动失败。
本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
本发明实施例还提出一种服务配置设备,如图8为本发明实施例的服务配置设备结构示意图,包括:
存储器11和处理器12,存储器11存储有可在处理器12上运行的计算机程序。所述处理器12执行所述计算机程序时实现上述实施例中的服务配置方法。所述存储器11和处理器12的数量可以为一个或多个。
所述设备还可以包括:
通信接口13,用于与外界设备进行通信,进行数据交换传输。
存储器11可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
如果存储器11、处理器12和通信接口13独立实现,则存储器11、处理器12和通信接口13可以通过总线相互连接并完成相互之间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线,外部设备互连(PCI,PeripheralComponent Interconnect)总线或扩展工业标准体系结构(EISA,Extended IndustryStandard Architecture)等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器11、处理器12和通信接口13集成在一块芯片上,则存储器11、处理器12和通信接口13可以通过内部接口完成相互间的通信。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种服务配置方法,其特征在于,包括:
根据服务对应的各个垂类的功能是否开放的信息,设置所述服务对应的各个垂类的有效性标识;其中,在所述垂类的功能开放的情况下,设置所述垂类的有效性标识的取值为有效;在所述垂类的功能不开放的情况下,设置所述垂类的有效性标识的取值为无效;
将所述服务对应的各个垂类的有效性标识写入配置文件;
生成包含所述配置文件的部署包。
2.根据权利要求1所述的方法,其特征在于,所述部署包还包括:可执行文件及所述服务对应的各个垂类的模型。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
读取所述配置文件中的各个垂类的有效性标识;
在所述垂类的有效性标识的取值为有效的情况下,采用所述可执行文件对所述垂类的模型进行初始化。
4.根据权利要求1、2或3所述的方法,其特征在于,所述方法还包括:
接收针对所述服务的请求;
确定所述请求对应的垂类;
从所述配置文件中查找所述请求对应的垂类的有效性标识;
在所述垂类的有效性标识的取值为有效的情况下,处理所述请求。
5.根据权利要求2所述的方法,其特征在于,所述可执行文件包括:
在所述服务部署在不同型号的硬件设备的情况下,所述服务对应的各个垂类处理请求时所需的最大资源量。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
从所述配置文件中查找有效性标识的取值为有效的一个以上第一垂类;并确定部署所述服务的当前硬件设备的第一型号信息;
根据所述第一垂类及所述第一型号信息,从所述可执行文件中查找各个所述第一垂类处理请求时所需的最大资源量;
将查找到的最大资源量相加,得到所述服务所需的最大资源量;
在所述当前硬件设备能够提供的资源量可以满足所述服务所需的最大资源量的情况下,初始化各个所述第一垂类的模型。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述当前硬件设备能够提供的资源量不能满足所述服务所需的最大资源量的情况下,提示对所述服务的启动失败。
8.一种服务配置装置,其特征在于,包括:
标识设置模块,用于根据服务对应的各个垂类的功能是否开放的信息,设置所述服务对应的各个垂类的有效性标识;其中,在所述垂类的功能开放的情况下,设置所述垂类的有效性标识的取值为有效;在所述垂类的功能不开放的情况下,设置所述垂类的有效性标识的取值为无效;
配置文件生成模块,用于将所述服务对应的各个垂类的有效性标识写入配置文件;
部署包生成模块,用于生成包含所述配置文件的部署包。
9.根据权利要求8所述的装置,其特征在于,所述部署包还包括:可执行文件及所述服务对应的各个垂类的模型。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
初始化模块,用于读取所述配置文件中的各个垂类的有效性标识;在所述垂类的有效性标识的取值为有效的情况下,采用所述可执行文件对所述垂类的模型进行初始化。
11.根据权利要求8、9或10所述的装置,其特征在于,所述装置还包括:
请求处理模块,用于接收针对所述服务的请求,确定所述请求对应的垂类;从所述配置文件中查找所述请求对应的垂类的有效性标识;在所述垂类的有效性标识的取值为有效的情况下,处理所述请求。
12.根据权利要求9所述的装置,其特征在于,所述可执行文件包括:
在所述服务部署在不同型号的硬件设备的情况下,所述服务对应的各个垂类处理请求时所需的最大资源量。
13.根据权利要求12所述的装置,其特征在于,所述初始化模块包括:
垂类需求查找子模块,用于从所述配置文件中查找有效性标识的取值为有效的一个以上第一垂类,并确定部署所述服务的当前硬件设备的第一型号信息;根据所述第一垂类及所述第一型号信息,从所述可执行文件中查找各个所述第一垂类处理请求时所需的最大资源量;
服务需求计算子模块,用于将查找到的最大资源量相加,得到所述服务所需的最大资源量;
初始化子模块,用于在所述当前硬件设备能够提供的资源量可以满足所述服务所需的最大资源量的情况下,初始化各个所述第一垂类的模型。
14.根据权利要求13所述的装置,其特征在于,所述初始化子模块还用于,在所述当前硬件设备能够提供的资源量不能满足所述服务所需的最大资源量的情况下,提示对所述服务的启动失败。
15.一种服务配置设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
16.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910441116.1A CN110166560B (zh) | 2019-05-24 | 2019-05-24 | 一种服务配置方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910441116.1A CN110166560B (zh) | 2019-05-24 | 2019-05-24 | 一种服务配置方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110166560A CN110166560A (zh) | 2019-08-23 |
CN110166560B true CN110166560B (zh) | 2021-08-20 |
Family
ID=67632660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910441116.1A Active CN110166560B (zh) | 2019-05-24 | 2019-05-24 | 一种服务配置方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110166560B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107507612A (zh) * | 2017-06-30 | 2017-12-22 | 百度在线网络技术(北京)有限公司 | 一种声纹识别方法及装置 |
CN107679183A (zh) * | 2017-09-29 | 2018-02-09 | 百度在线网络技术(北京)有限公司 | 分类器用训练数据获取方法和装置、服务器及存储介质 |
CN108280221A (zh) * | 2018-02-08 | 2018-07-13 | 北京百度网讯科技有限公司 | 关注点的层次化构建方法、装置和计算机设备 |
CN109583453A (zh) * | 2017-09-29 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 图像的识别方法和装置、数据的识别方法、终端 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9996602B2 (en) * | 2015-01-12 | 2018-06-12 | International Business Machines Corporation | Generating a virtual dynamic representative of a taxonomic group with unique inheritance of attributes |
US20180197221A1 (en) * | 2017-01-06 | 2018-07-12 | Dragon-Click Corp. | System and method of image-based service identification |
-
2019
- 2019-05-24 CN CN201910441116.1A patent/CN110166560B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107507612A (zh) * | 2017-06-30 | 2017-12-22 | 百度在线网络技术(北京)有限公司 | 一种声纹识别方法及装置 |
CN107679183A (zh) * | 2017-09-29 | 2018-02-09 | 百度在线网络技术(北京)有限公司 | 分类器用训练数据获取方法和装置、服务器及存储介质 |
CN109583453A (zh) * | 2017-09-29 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 图像的识别方法和装置、数据的识别方法、终端 |
CN108280221A (zh) * | 2018-02-08 | 2018-07-13 | 北京百度网讯科技有限公司 | 关注点的层次化构建方法、装置和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110166560A (zh) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9513937B2 (en) | Method and client for using an embedded ActiveX plug-in in a browser | |
US20160309003A1 (en) | Context-Based Selective Downloading of Application Resources | |
CN101571809A (zh) | 一种插件注册的实现方法及其装置 | |
CN109857409A (zh) | 基于微服务网关的数据处理方法、装置及计算机设备 | |
CN112783568B (zh) | 应用程序的初始化方法、装置、设备和存储介质 | |
CN114064594B (zh) | 数据处理方法和装置 | |
CN114995859A (zh) | 页面热更新方法、装置、设备及存储介质 | |
CN110166560B (zh) | 一种服务配置方法、装置、设备及存储介质 | |
CN111880818B (zh) | 一种虚拟机操作系统的安装方法、系统及装置 | |
CN111026613B (zh) | 日志处理方法及装置 | |
CN112925523A (zh) | 对象比较方法、装置、设备及计算机可读介质 | |
CN108170568B (zh) | 智能设备的出厂测试方法、装置和刷机包生成方法、装置 | |
CN104182352A (zh) | 用于访问4gb以上物理内存地址空间的方法及装置 | |
CN114024879B (zh) | 一种网络探针的部署方法、装置及存储介质 | |
CN108021567B (zh) | 浏览器自适应自定义字体的方法及装置 | |
CN115437675A (zh) | 一种应用程序在线升级方法、装置、设备及介质 | |
CN111400058B (zh) | 调用消息的方法、装置、计算机设备及存储介质 | |
CN111563153B (zh) | 基于剪切板信息共享实现的推荐方法以及终端 | |
CN112463262A (zh) | 一种安卓系统gps模块自适应方法及终端 | |
CN111125567A (zh) | 设备标记方法、装置、电子设备及存储介质 | |
CN110300111A (zh) | 页面显示方法、装置、终端设备和服务器 | |
CN111291644B (zh) | 用于处理信息的方法和装置 | |
CN117093351B (zh) | 应用多开方法、装置、计算机设备以及存储介质 | |
CN112541182B (zh) | 内核vfs层系统修复方法、装置、设备及存储介质 | |
CN115878132A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |