CN116610308B - 代码管理方法及装置、电子设备及存储介质 - Google Patents
代码管理方法及装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116610308B CN116610308B CN202310867712.2A CN202310867712A CN116610308B CN 116610308 B CN116610308 B CN 116610308B CN 202310867712 A CN202310867712 A CN 202310867712A CN 116610308 B CN116610308 B CN 116610308B
- Authority
- CN
- China
- Prior art keywords
- model
- code
- detected
- script
- barrel
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 27
- 238000013515 script Methods 0.000 claims abstract description 96
- 238000002474 experimental method Methods 0.000 claims abstract description 59
- 238000001514 detection method Methods 0.000 claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000011156 evaluation Methods 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 15
- 238000011161 development Methods 0.000 abstract description 9
- 238000012545 processing Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- 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/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or 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)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本说明书一个或多个实施例提供一种代码管理方法及装置、电子设备及存储介质,该方法包括:根据针对第一模型的脚本生成指令,获取代码库中通用代码和第一模型对应的专用代码,其中,第一模型为多个待检测模型中的任一个待检测模型;根据通用代码和第一模型对应的专用代码,生成第一模型对应的脚本。开发人员只需根据所有待检测模型的检测实验的共有逻辑开发通用代码,并根据每个待检测模型的检测实验的专有逻辑开发专用代码,相对于针对每个待检测模型的检测实验的完整逻辑开发代码,开发工作量较低;而且代码库中只需保存通用代码和各待检测模型的专用代码,内存占用量较低;再者可以很便捷的生成待检测模型的代码,提高了代码生成的效率。
Description
技术领域
本说明书一个或多个实施例涉及代码开发技术领域,尤其涉及一种代码管理方法及装置、电子设备及存储介质。
背景技术
随着人工智能技术和大数据技术的不断发展,各种自动化、智能化的服务越来越多,这些服务给用户带来了非常好的使用体验。这些服务的质量取决于端云协同的质量,以及用于机器学习的网络模型的质量。目前往往通过模型检测来选择质量较好的模型应用于业务处理,即通过准备多个网络模型,并在端云协同下检测比较这些模型的质量,以选择质量较好的模型应用于业务处理。但是相关技术中,模型检测时需要为每个待检测模型开发对应的脚本,但是由于待检测模型的数量较多,导致脚本代码较多,占用内存较多。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种代码管理方法及装置、电子设备及存储介质。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种代码管理方法,所述方法包括:
根据针对多个待检测模型中第一模型的脚本生成指令,获取代码库中通用代码和所述第一模型对应的专用代码,其中,所述第一模型为所述多个待检测模型中的任一个待检测模型;
根据所述通用代码和所述第一模型对应的专用代码,生成所述第一模型对应的脚本。
在本说明书的一个实施例中,所述通用代码具有预留接口;
所述根据所述通用代码和所述第一模型对应的专用代码,生成所述第一模型对应的脚本,包括:
将所述第一模型对应的专用代码填充于所述通用代码的预留接口内,得到所述第一模型对应的脚本。
在本说明书的一个实施例中,所述方法还包括:
将所述第一模型对应的脚本以分支方式保存至脚本库,并标记上所述第一模型对应的实验分桶的标记。
在本说明书的一个实施例中,所述方法还包括:
根据通用代码更新指令,对所述通用代码进行更新。
在本说明书的一个实施例中,所述方法还包括:
响应于所述通用代码被更新,将每个待检测模型对应的脚本进行更新。
在本说明书的一个实施例中,所述方法还包括:
根据专用代码更新指令,对所述专用代码更新指令针对的第二模型对应的专用代码进行更新,其中,所述第二模型为所述多个待检测模型中的任一个待检测模型。
在本说明书的一个实施例中,所述方法还包括:
响应于所述第二模型对应的专用代码被更新,将所述第二模型对应的脚本进行更新。
在本说明书的一个实施例中,所述方法还包括:
响应于第三模型对应的脚本被更新,向所述第三模型对应的实验分桶内的客户端下发脚本更新指令,其中,所述脚本更新指令中携带有更新后的所述第三模型对应的脚本,所述第二模型为所述多个待检测模型中的任一个待检测模型。
在本说明书的一个实施例中,所述方法还包括:
响应于第四模型被删除,在所述代码库中将所述第四模型对应的专用代码删除,其中,所述第四模型为所述多个待检测模型中的任一个待检测模型。
根据本说明书一个或多个实施例的第二方面,提出了一种代码管理装置,所述装置包括:
获取模块,用于根据针对多个待检测模型中第一模型的脚本生成指令,获取代码库中通用代码和所述第一模型对应的专用代码,其中,所述第一模型为所述多个待检测模型中的任一个待检测模型;
生成模块,用于根据所述通用代码和所述第一模型对应的专用代码,生成所述第一模型对应的脚本。
在本说明书的一个实施例中,所述通用代码具有预留接口;
所述生成模块具体用于:
将所述第一模型对应的专用代码填充于所述通用代码的预留接口内,得到所述第一模型对应的脚本。
在本说明书的一个实施例中,所述装置还包括保存模块,用于:
将所述第一模型对应的脚本以分支方式保存至脚本库,并标记上所述第一模型对应的实验分桶的标记。
在本说明书的一个实施例中,所述装置还包括第一更新模块,用于:
根据通用代码更新指令,对所述通用代码进行更新。
在本说明书的一个实施例中,所述装置还包括第二更新模块,用于:
响应于所述通用代码被更新,将每个待检测模型对应的脚本进行更新。
在本说明书的一个实施例中,所述装置还包括第三更新模块,用于:
根据专用代码更新指令,对所述专用代码更新指令针对的第二模型对应的专用代码进行更新,其中,所述第二模型为所述多个待检测模型中的任一个待检测模型。
在本说明书的一个实施例中,所述装置还包括第四更新模块,用于:
响应于所述第二模型对应的专用代码被更新,将所述第二模型对应的脚本进行更新。
在本说明书的一个实施例中,所述装置还包括第五更新模块,用于:
响应于第三模型对应的脚本被更新,向所述第三模型对应的实验分桶内的客户端下发脚本更新指令,其中,所述脚本更新指令中携带有更新后的所述第三模型对应的脚本,所述第二模型为所述多个待检测模型中的任一个待检测模型。
在本说明书的一个实施例中,所述装置还包括删除模块,用于:
响应于第四模型被删除,在所述代码库中将所述第四模型对应的专用代码删除,其中,所述第四模型为所述多个待检测模型中的任一个待检测模型。
根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。
根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例所提供的代码管理方法中,可以预先开发表征所有待检测模型的检测实验的共有逻辑的通用代码,和每个待检测模型的检测实验的专有逻辑的专用代码,并将上述通用代码和专用代码存储在代码库中;从而在接收到针对多个待检测模型的任一模型的脚本生成指令后,可以根据上述通用代码和该待检测模型对应的专用代码,生成该待检测模型对应的脚本。也就是说,开发人员只需根据所有待检测模型的检测实验的共有逻辑开发通用代码,并根据每个待检测模型的检测实验的专有逻辑开发专用代码,相对于针对每个待检测模型的检测实验的完整逻辑开发代码,开发工作量较低;而且代码库中只需保存通用代码和各待检测模型的专用代码,内存占用量较低;再者需要使用某个待检测模型的脚本(例如下发某个待检测模型的代码)时,可以很便捷的生成该待检测模型的代码,提高了代码生成的效率。
附图说明
图1是一示例性实施例提供的一种代码管理方法的流程图。
图2是一示例性实施例提供的一种代码管理方法的流程图。
图3是一示例性实施例提供的一种设备的结构示意图。
图4是一示例性实施例提供的一种代码管理装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
随着人工智能技术和大数据技术的不断发展,各种自动化、智能化的服务越来越多,这些服务给用户带来了非常好的使用体验。这些服务的质量取决于端云协同的质量,以及用于机器学习的网络模型的质量。目前往往通过模型检测来选择质量较好的模型应用于业务处理,即通过准备多个网络模型,并在端云协同下检测比较这些模型的质量,以选择质量较好的模型应用于业务处理。但是相关技术中,模型检测时需要为每个待检测模型开发对应的脚本,脚本为端云协同场景下运行在客户端上的代码,用来获取客户端上的待检测模型运行所需特征、处理业务数据、输入给模型,并把待检测模型的执行结果返回给业务SDK。但是由于待检测模型的数量较多,导致脚本代码较多,占用内存较多。
基于此,第一方面,本说明书至少一个实施例提供了一种代码管理方法,该方法可以用于对端云协同下的脚本代码进行管理,以生成不同待检测模型对应的脚本。该方法目的在于降低脚本代码对内存的占用,提高脚本生成的效率和便捷性。可以理解的是,该方法可以应用于端云协同(即客户端与服务端之间的协同)场景下的服务端内各实验分桶对应的待检测模型的脚本代码的管理。示例性的,该方法可以由服务端中的代码生成器执行。
请参照附图1,其示例性的示出了代码管理方法的流程,包括步骤S101至步骤S102。
在步骤S101中,根据针对多个待检测模型中第一模型的脚本生成指令,获取代码库中通用代码和所述第一模型对应的专用代码,其中,所述第一模型为所述多个待检测模型中的任一个待检测模型。
其中,代码库用于保存每个待检测模型对应的脚本相关的代码。开发人员可以预先根据所有待检测模型的检测实验的共有逻辑开发通用逻辑,根据每个待检测模型的检测实验的专有逻辑开发专用代码,并将上述通用代码和专用代码存储在代码库中。可以理解的是,若某个新的待检测模型加入模型检测实验,则开发人员仅需针对该待检测模型的检测实验的完整逻辑中的部分逻辑开发专用代码,不仅降低开发人员的工作量,避免了开发人员针对共有逻辑重复开发代码。
示例性的,脚本生成指令可以根据用户的操作生成,例如用户通过交互界面在多个待检测模型中选择第一模型并执行生成脚本的操作,从而生成针对第一模型的脚本生成指令。
再示例性的,脚本生成指令可以在端云协同下的模型检测实验中自动生成,例如实验中加入第一模型作为待检测模型,自动生成针对第一模型的脚本生成指令。
在步骤S102中,根据所述通用代码和所述第一模型对应的专用代码,生成所述第一模型对应的脚本。
其中,所述通用代码具有预留接口。本步骤中可以将所述第一模型对应的专用代码填充于所述通用代码的预留接口内,得到所述第一模型对应的脚本。
另外,可以在生成第一模型对应的脚本后,将所述第一模型对应的脚本以分支方式保存至脚本库,并标记上所述第一模型对应的实验分桶的标记。从而可以在服务端向客户端下发第一模型时,根据实验分桶的标记选择第一模型对应的脚本下发至客户端。
可以理解的是,在模型检测实验的共有逻辑发生变化时,开发人员可以针对通有代码进行更新操作,从而生成通用代码更新指令。服务端可以根据通用代码更新指令,对所述通用代码进行更新。可选的,服务端响应于所述通用代码被更新,将每个待检测模型对应的脚本进行更新。也就是说,在模型检测实验的共有逻辑发生变化时,开发人员仅需对通用代码进行更新,服务端便可以自动化的对所有待检测模型对应的脚本进行同步更新,降低了模型检测实验的共有逻辑改变时工作人员的维护工作量。相关技术中,在模型检测实验的共有逻辑发生变化时,开发人员需要重复对每个待检测模型对应的脚本进行更新,维护成本高,更新效率低。
可以理解的是,在模型检测实验中多个待检测模型中第二模型的专有逻辑发生变化时,开发人员可以针对第二模型对应的专用代码进行更新操作,从而生成针对第二模型对应的专用代码的专用代码更新指令。服务端可以根据专用代码更新指令,对所述专用代码更新指令针对的第二模型对应的专用代码进行更新,其中,所述第二模型为所述多个待检测模型中的任一个待检测模型。可选的,服务端响应于所述第二模型对应的专用代码被更新,将所述第二模型对应的脚本进行更新。
可以理解的是,服务端可以响应于所述第三模型对应的脚本被更新,向所述第三模型对应的实验分桶内的客户端下发脚本更新指令,以使客户端更新第三模型对应的脚本,其中,所述脚本更新指令中携带有更新后的所述第三模型对应的脚本,所述第二模型为所述多个待检测模型中的任一个待检测模型。也就是说,无论上述共用逻辑引起的待检测模型的更新,还是上述专有逻辑引起的待检测模型的更新,都可以按照上述方式对第三模型所在的客户端中的脚本进行更新。
可以理解的是,服务端可以响应于第四模型被删除,在所述代码库中将所述第四模型对应的专用代码删除,其中,所述第四模型为所述多个待检测模型中的任一个待检测模型。例如,模型检测实验中多个待检测模型中的第四模型因检测结果(例如评分)较差被删除后,服务端可以仅需将第四模型对应的专用代码删除;且第四模型对应的专用代码删除后,服务端自动删除第四模型对应的脚本。也就是说,在模型检测实验中淘汰某个待检测模型时,开发人员仅需将该待检测模型对应的专用代码删除,服务端可以自动化的对该待检测模型对应的脚本进行同步删除,降低了模型检测实验中工作人员的维护工作量。
请参照附图2,其示例性的示出了结合上述多个实施例所得到的代码管理方法的流程图,该方法包括下述步骤:
S1:获取通用代码。
S2:获取专用代码片段,并将专用代码片段填充至专用代码接口。
S3:生成并保存脚本。
接下来对该方法生成的待检测模型的脚本在模型检测实验中的利用过程进行简单说明。
首先,多个客户端向服务端发送模型获取请求;服务端将多个客户端划分为多个实验分桶,并向所述多个实验分桶中每个实验分桶内的客户端下发对应的待检测模型,及待检测模型对应的脚本,其中,所述多个实验分桶中每个实验分桶具有一个对应的待检测模型。
其中,实验分桶即为对应的待检测模型的实验池,也就是待检测模型在对应的实验分桶内进行实验和检测,例如获取评估样本以确定待检测模型的检测结果。
可以理解的是,多个客户端可以陆续向服务端发送模型获取请求,本步骤可以在接收到某个客户端发送的模型获取请求后,将该客户端划分入某个实验分桶,并向该客户端下发该实验分桶对应的待检测模型,和所述待检测模型对应的脚本。
接下来,客户端向服务端发送数据获取请求;服务端向所述客户端发送业务数据和所述客户端对应的分桶标记;客户端利用接收的脚本针对业务数据运行待检测模型,并收集评估样本,以及将所述评估样本标记上所述客户端对应的分桶标记后发送至服务端,其中,所述客户端对应的分桶标记为所述客户端所属的实验分桶的标记,所述评估样本包括用户针对业务数据的操作指令。
首先需要说明的是,本步骤在上个步骤中任一个接收到待检测模型的客户端向服务端发送数据获取请求时均会执行。换句话说,本步骤会在该方法中针对不同客户端重复执行。
举例来说,用户启动客户端的某项功能,或者用户针对客户端输入数据获取操作,会使客户端向服务端发送数据获取请求。例如,用户启动客户端的短视频浏览功能,客户端会向服务端送数据获取请求,以获取向用户展示的短视频。
服务端可以利用多个云端系统生成业务数据,并根据记录中请求业务数据的客户端所属的实验分桶为业务数据打上分桶标记,再将打有分桶标记的业务数据返回至客户端。例如,服务端生成多个短视频组成的短视频序列,并在该短视频序列上打上分桶标记后返回至运行短视频浏览功能的客户端。
客户端在收到业务数据后,可以直接对业务数据进行展示,或者针对业务数据运行待检测模型后再进行展示。例如,客户端可以响应于模型检测场景被触发,针对所述业务数据运行所述待检测模型,其中,所述检测场景包括业务数据达到预设状态和/或接收到用户输入的检测指令。针对业务数据运行待检测模型,即待检测模型对业务数据进行处理,例如待检测模型对短视频序列进行排序、过滤等处理。被待检测模型处理后的业务数据能够表征待检测模型的处理效果,而用户对待检测模型处理后的业务数据的操作能够表征用户对处理效果的满意程度,该方法对模型检测的目的即是检测用户对待检测模型的满意程度,因此客户端可以在业务数据被待检测模型处理后,收集用户针对业务数据的操作指令作为评估样本,同时在评估样本上打上客户端所属的实验分桶的标记,以与其他实验分桶内产生的评估样本相区分。
以上述客户端运行短视频浏览功能的场景为例,在短视频序列中的短视频被用户点赞、收藏、评论或者播放时长达到总时长一定比例等情况下,检测场景被触发,客户端针对短视频序列中剩余的短视频运行待检测模型,对剩余的短视频进行过滤、排序等处理,并收集用户针对处理后的短视频的操作指令,例如点赞、收藏、评论、观看时长等,以作为评估样本,再为评估样本打上客户端所属的实验分桶的标记。
最后,服务端接收多个客户端发送的标记有分桶标记的评估样本,并根据每个分桶标记对应的评估样本对应确定每个分桶标记对应的待检测模型的检测结果。
首先需要说明的是,本步骤中的多个客户端为执行上个步骤所针对的所有客户端中的部分或全部。某个分桶标记对应的评估样本指的是标记有该分桶标记的评估样本。某个分桶标记对应的待检测模型指的是该分桶标记所属的实验分桶对应的待检测模型。
本步骤中针对每个实验分桶,利用实验分桶内的评估样本对实验分桶对应的待检测模型进行效果评估,并作为检测结果。示例性的,评估样本中用户不同的操作指令具有不同的评分,例如用户对短视频评论则评分为5,对短视频收藏评分为5,对短视频点赞评分为3,短视频播放时长达到总时长50%评分为2,短视频播放时长未达到总时长10%评分为0等;可以将实验分桶内所有评估样本内的操作指令的评分之和作为检测结果。
可以理解的是,还可以根据每个待检测模型的检测结果,在多个待检测模型中确定目标模型。其中,目标模型可以为多个待检测模型中检测结果最好的模型,因此目标模型可以下发至所有客户端,用于业务数据的处理;目标模型还可以为多个待检测模型中检测结果最差的模型,因此可以将目标模型淘汰,并针对剩余的待检测模型继续使用本方法进行模型检测,直至最后选择出最好的模型下发至所有客户端,用于业务数据的处理。
本说明书实施例所提供的代码管理方法中,可以预先开发表征所有待检测模型的检测实验的共有逻辑的通用代码,和每个待检测模型的检测实验的专有逻辑的专用代码,并将上述通用代码和专用代码存储在代码库中;从而在接收到针对多个待检测模型的任一模型的脚本生成指令后,可以根据上述通用代码和该待检测模型对应的专用代码,生成该待检测模型对应的脚本。也就是说,开发人员只需根据所有待检测模型的检测实验的共有逻辑开发通用代码,并根据每个待检测模型的检测实验的专有逻辑开发专用代码,相对于针对每个待检测模型的检测实验的完整逻辑开发代码,开发工作量较低;而且代码库中只需保存通用代码和各待检测模型的专用代码,内存占用量较低;再者需要使用某个待检测模型的脚本(例如下发某个待检测模型的代码)时,可以很便捷的生成该待检测模型的代码,提高了代码生成的效率。
图3是一示例性实施例提供的一种设备的示意结构图。请参考图3,在硬件层面,该设备包括处理器302、内部总线304、网络接口306、内存308以及非易失性存储器310,当然还可能包括其他任务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器302从非易失性存储器310中读取对应的计算机程序到内存308中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图4,代码管理装置可以应用于如图3所示的设备中,以实现本说明书的技术方案。所述装置包括:
获取模块401,用于根据针对多个待检测模型中第一模型的脚本生成指令,获取代码库中通用代码和所述第一模型对应的专用代码,其中,所述第一模型为所述多个待检测模型中的任一个待检测模型;
生成模块402,用于根据所述通用代码和所述第一模型对应的专用代码,生成所述第一模型对应的脚本。
在本说明书的一个实施例中,所述通用代码具有预留接口;
所述生成模块具体用于:
将所述第一模型对应的专用代码填充于所述通用代码的预留接口内,得到所述第一模型对应的脚本。
在本说明书的一个实施例中,所述装置还包括保存模块,用于:
将所述第一模型对应的脚本以分支方式保存至脚本库,并标记上所述第一模型对应的实验分桶的标记。
在本说明书的一个实施例中,所述装置还包括第一更新模块,用于:
根据通用代码更新指令,对所述通用代码进行更新。
在本说明书的一个实施例中,所述装置还包括第二更新模块,用于:
响应于所述通用代码被更新,将每个待检测模型对应的脚本进行更新。
在本说明书的一个实施例中,所述装置还包括第三更新模块,用于:
根据专用代码更新指令,对所述专用代码更新指令针对的第二模型对应的专用代码进行更新,其中,所述第二模型为所述多个待检测模型中的任一个待检测模型。
在本说明书的一个实施例中,所述装置还包括第四更新模块,用于:
响应于所述第二模型对应的专用代码被更新,将所述第二模型对应的脚本进行更新。
在本说明书的一个实施例中,所述装置还包括第五更新模块,用于:
响应于第三模型对应的脚本被更新,向所述第三模型对应的实验分桶内的客户端下发脚本更新指令,其中,所述脚本更新指令中携带有更新后的所述第三模型对应的脚本,所述第二模型为所述多个待检测模型中的任一个待检测模型。
在本说明书的一个实施例中,所述装置还包括删除模块,用于:
响应于第四模型被删除,在所述代码库中将所述第四模型对应的专用代码删除,其中,所述第四模型为所述多个待检测模型中的任一个待检测模型。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (12)
1.一种代码管理方法,所述方法包括下述模型生成方式:
根据针对多个待检测模型中第一模型的脚本生成指令,获取代码库中通用代码和所述第一模型对应的专用代码,其中,所述第一模型为所述多个待检测模型中的任一个待检测模型;
根据所述通用代码和所述第一模型对应的专用代码,生成所述第一模型对应的脚本;
所述方法还包括:
将多个客户端划分为多个实验分桶,并按照上述模型生成方式为所述多个实验分桶中每个实验分桶生成一个对应的待检测模型,以及向所述多个实验分桶中每个实验分桶内的客户端下发对应的待检测模型;
响应于接收到客户端发送的数据获取请求,向所述客户端发送业务数据和所述客户端对应的分桶标记,以使所述客户端在针对业务数据运行待检测模型的情况下收集评估样本,并将所述评估样本标记上所述客户端对应的分桶标记,其中,所述客户端对应的分桶标记为所述客户端所属的实验分桶的标记,所述评估样本包括用户针对业务数据的操作指令;
接收多个客户端发送的标记有分桶标记的评估样本,并根据每个分桶标记对应的评估样本对应确定每个分桶标记对应的待检测模型的检测结果。
2.根据权利要求1所述的代码管理方法,所述通用代码具有预留接口;
所述根据所述通用代码和所述第一模型对应的专用代码,生成所述第一模型对应的脚本,包括:
将所述第一模型对应的专用代码填充于所述通用代码的预留接口内,得到所述第一模型对应的脚本。
3.根据权利要求1所述的代码管理方法,所述方法还包括:
将所述第一模型对应的脚本以分支方式保存至脚本库,并标记上所述第一模型对应的实验分桶的标记。
4.根据权利要求1所述的代码管理方法,所述方法还包括:
根据通用代码更新指令,对所述通用代码进行更新。
5.根据权利要求4所述的代码管理方法,所述方法还包括:
响应于所述通用代码被更新,将每个待检测模型对应的脚本进行更新。
6.根据权利要求1所述的代码管理方法,所述方法还包括:
根据专用代码更新指令,对所述专用代码更新指令针对的第二模型对应的专用代码进行更新,其中,所述第二模型为所述多个待检测模型中的任一个待检测模型。
7.根据权利要求6所述的代码管理方法,所述方法还包括:
响应于所述第二模型对应的专用代码被更新,将所述第二模型对应的脚本进行更新。
8.根据权利要求1所述的代码管理方法,所述方法还包括:
响应于第三模型对应的脚本被更新,向所述第三模型对应的实验分桶内的客户端下发脚本更新指令,其中,所述脚本更新指令中携带有更新后的所述第三模型对应的脚本,所述第三模型为所述多个待检测模型中的任一个待检测模型。
9.根据权利要求1所述的代码管理方法,所述方法还包括:
响应于第四模型被删除,在所述代码库中将所述第四模型对应的专用代码删除,其中,所述第四模型为所述多个待检测模型中的任一个待检测模型。
10.一种代码管理装置,所述装置包括:
获取模块,用于根据针对多个待检测模型中第一模型的脚本生成指令,获取代码库中通用代码和所述第一模型对应的专用代码,其中,所述第一模型为所述多个待检测模型中的任一个待检测模型;
生成模块,用于根据所述通用代码和所述第一模型对应的专用代码,生成所述第一模型对应的脚本;
模型下发模块,用于将多个客户端划分为多个实验分桶,并调用所述获取模块和所述生成模块来为所述多个实验分桶中每个实验分桶生成一个对应的待检测模型,以及向所述多个实验分桶中每个实验分桶内的客户端下发对应的待检测模型;
数据下发模块,用于响应于接收到客户端发送的数据获取请求,向所述客户端发送业务数据和所述客户端对应的分桶标记,以使所述客户端在针对业务数据运行待检测模型的情况下收集评估样本,并将所述评估样本标记上所述客户端对应的分桶标记,其中,所述客户端对应的分桶标记为所述客户端所属的实验分桶的标记,所述评估样本包括用户针对业务数据的操作指令;
检测模块,用于接收多个客户端发送的标记有分桶标记的评估样本,并根据每个分桶标记对应的评估样本对应确定每个分桶标记对应的待检测模型的检测结果。
11.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-9中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310867712.2A CN116610308B (zh) | 2023-07-13 | 2023-07-13 | 代码管理方法及装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310867712.2A CN116610308B (zh) | 2023-07-13 | 2023-07-13 | 代码管理方法及装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116610308A CN116610308A (zh) | 2023-08-18 |
CN116610308B true CN116610308B (zh) | 2023-11-03 |
Family
ID=87683870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310867712.2A Active CN116610308B (zh) | 2023-07-13 | 2023-07-13 | 代码管理方法及装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116610308B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010277572A (ja) * | 2009-04-28 | 2010-12-09 | Sharp Corp | コード生成プログラム、それを記録したコンピュータ読み取り可能な記録媒体、コード生成装置、およびコード生成方法 |
CN111221518A (zh) * | 2019-11-08 | 2020-06-02 | 深圳市彬讯科技有限公司 | 一种脚本生成方法、装置、设备及计算机存储介质 |
EP3839727A1 (en) * | 2019-12-16 | 2021-06-23 | British Telecommunications public limited company | Multi-model code management |
CN114418018A (zh) * | 2022-01-24 | 2022-04-29 | 深圳前海微众银行股份有限公司 | 模型性能评估方法、装置、设备与存储介质 |
CN115599679A (zh) * | 2022-10-25 | 2023-01-13 | 中国农业银行股份有限公司(Cn) | 一种测试规则库更新方法、装置、电子设备及存储介质 |
CN115757035A (zh) * | 2022-11-23 | 2023-03-07 | 中国工商银行股份有限公司 | 数据模型的监控方法、装置、处理器及电子设备 |
-
2023
- 2023-07-13 CN CN202310867712.2A patent/CN116610308B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010277572A (ja) * | 2009-04-28 | 2010-12-09 | Sharp Corp | コード生成プログラム、それを記録したコンピュータ読み取り可能な記録媒体、コード生成装置、およびコード生成方法 |
CN111221518A (zh) * | 2019-11-08 | 2020-06-02 | 深圳市彬讯科技有限公司 | 一种脚本生成方法、装置、设备及计算机存储介质 |
EP3839727A1 (en) * | 2019-12-16 | 2021-06-23 | British Telecommunications public limited company | Multi-model code management |
CN114418018A (zh) * | 2022-01-24 | 2022-04-29 | 深圳前海微众银行股份有限公司 | 模型性能评估方法、装置、设备与存储介质 |
CN115599679A (zh) * | 2022-10-25 | 2023-01-13 | 中国农业银行股份有限公司(Cn) | 一种测试规则库更新方法、装置、电子设备及存储介质 |
CN115757035A (zh) * | 2022-11-23 | 2023-03-07 | 中国工商银行股份有限公司 | 数据模型的监控方法、装置、处理器及电子设备 |
Non-Patent Citations (2)
Title |
---|
Comprehensive performance model of differentiated service with token bucket marker;Su H et al;《IEEE Proceedings:Communication》;第347-353页 * |
广告点击率预测模型离线评估系统的设计与实现;何琳;《中国优秀硕士学位论文全文数据库 信息科技辑》;第2023年卷(第04期);第I138-127页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116610308A (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107451199B (zh) | 问题推荐方法及装置、设备 | |
CN109981785B (zh) | 用于推送信息的方法和装置 | |
CN109582470B (zh) | 一种数据处理方法及数据处理装置 | |
CN111028009B (zh) | 可领取业务实体处理方法和装置 | |
CN110245304B (zh) | 数据分享方法、设备以及计算机可读介质 | |
CN110046303B (zh) | 一种基于需求匹配平台实现的信息推荐方法及装置 | |
CN110221959B (zh) | 应用程序的测试方法、设备以及计算机可读介质 | |
CN109427031A (zh) | 一种数据处理方法及设备 | |
CN109657164B (zh) | 发布消息的方法、装置及存储介质 | |
CN116610308B (zh) | 代码管理方法及装置、电子设备及存储介质 | |
CN110909072B (zh) | 一种数据表建立方法、装置及设备 | |
CN116628235A (zh) | 数据推荐方法、装置、设备及介质 | |
CN112564996A (zh) | 压力测试流量调度、控制方法、设备以及计算机可读介质 | |
CN113778547B (zh) | 对象的处理方法、装置、计算机程序产品及处理器 | |
CN116627789B (zh) | 模型检测方法及装置、电子设备及存储介质 | |
CN114860238A (zh) | 页面生成方法、装置及电子设备 | |
CN114722782A (zh) | 数据申请方法及装置、电子设备、存储介质 | |
CN110292774B (zh) | 一种找茬图片素材处理方法、装置、设备及存储介质 | |
CN112509164A (zh) | 一种出勤打卡方法、装置、设备和存储介质 | |
CN112508472A (zh) | 多人查看同一账号下订单信息的方法及系统 | |
CN114117161A (zh) | 展示方法及装置 | |
CN114513686A (zh) | 视频信息的确定方法、装置以及存储介质 | |
CN116610869B (zh) | 推荐内容管理方法及装置、电子设备及存储介质 | |
CN112507193A (zh) | 数据更新方法、装置、设备和存储介质 | |
CN111291174A (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 |