CN114327742B 云平台及基于云平台的程序代码处理方法 (华为云计算技术有限公司)_第1页
CN114327742B 云平台及基于云平台的程序代码处理方法 (华为云计算技术有限公司)_第2页
CN114327742B 云平台及基于云平台的程序代码处理方法 (华为云计算技术有限公司)_第3页
CN114327742B 云平台及基于云平台的程序代码处理方法 (华为云计算技术有限公司)_第4页
CN114327742B 云平台及基于云平台的程序代码处理方法 (华为云计算技术有限公司)_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本申请提供一种云平台及基于云服务的程平台根据第一标记创建或选择一个或多个第一一虚拟实例分别运行子程序代码得到的第一运2业务虚拟实例获取租户在所述业务虚拟实例中开发的程序代码,其所述业务虚拟实例运行所述主程序代码,在运行所述主程序代码至需调所述云平台根据所述第一注解在至少一个数据中心中配置至少一个第所述云平台在所述至少一个数据中心中创建与所述第一注解中的所述第一配置信息所述云平台在多个虚拟实例中选择与所述第一注解中的第一配置信息匹配的所述至其中,创建或选择的所述至少一个虚拟实例具有所述第一配置信所述至少一个第一虚拟实例从所述云平台获取所述子程所述至少一个第一虚拟实例运行所述子程序代码得到至少一个所述业务虚拟实例从所述云平台获取所述至少一个运所述业务虚拟实例根据所述至少一个运行结果继续运行所述主程其中,在所述至少一个第一虚拟实例将所述至少一个运行结果发送至所述云平台之指示的所述第一虚拟实例数量,并且属于所述第一配置信息指示的所述第一虚拟实例类所述云平台确定所述租户在所述云平台的虚拟实例服务接口选择的所述业务虚拟实所述云平台在所述至少一个数据中心中创建对应于所述类型和所述规格的所述业务根据所述第一注解在至少一个数据中心中配置至少一个第一3所述云平台在至少一个数据中心中配置所述第一虚拟实例数量个第所述第一虚拟实例数量个第一虚拟实例分别运行所述子程序代码对分别从共享存储所述第一虚拟实例数量个第一虚拟实例分别运行所述子程序代码对分别从所述共享存储空间获取的不同的待处理数据进行相同业务逻辑所述第一虚拟实例在运行所述子程序代码至需调用所述嵌套程序所述云平台接收所述至少一个第二虚拟实例运行所述嵌套程序代码得到的至少一个所述第一虚拟实例根据所述至少一个运行结果继续运行所述子程所述云平台提供云服务并为所述云服务设置云服务应用程序接口API,其中所述云服9.根据权利要求1至6任一项所述的方法,其云平台接收租户上传至上传接口的程序代码,其中所述上传接口设置在所述云平台所述云平台在运行所述主程序代码至需调用所述子程序代码的位4心中创建所述至少一个第一虚拟实例或者所述第一注解用于指示所述云平台在多个虚拟虚拟实例具有所述第一配置信息指示的所述第一虚拟所述至少一个第一虚拟实例发送所述至少一个第一虚拟实例运行所述子程序代码得所述云平台接收所述至少一个第一虚拟实例发送的所述至少一个第一虚拟实例运行所述子程序代码得到的至少一个运行结果并根据所述至少一个运行结果继续运行所述主其中,在所述至少一个第一虚拟实例将所述至少一个运行结果发送至所述云平台之所述云平台在至少一个数据中心中配置所述第一虚拟实例数量个所述第一虚拟实例数量个第一虚拟实例分别运行所述子程序代码对分别从共享存储分别运行所述子程序代码对分别从共享存储空间获取的不同的待处理数据进行数据处理,所述第一虚拟实例数量个第一虚拟实例分别运行所述子程序代码对分别从所述共享存储空间获取的不同的待处理数据进行相同业务逻辑所述第一虚拟实例在运行所述子程序代码至需调用所述嵌套程序5所述云平台接收所述至少一个第二虚拟实例运行所述嵌套程序代码得到的至少一个所述第一虚拟实例根据所述至少一个运行结果继续运行所述子程所述云平台提供云服务并为所述云服务设置云服务应用程序接口API,其中所述云服业务虚拟实例,用于获取租户在所述业务虚拟实例中开发的程序代码所述业务虚拟实例,用于运行所述主程序代码,在运行所述主程所述云平台,用于根据所述第一注解在至少一个数据中心中配置至少所述云平台,用于在所述至少一个数据中心中创建与所述第一注解所述云平台,用于在多个虚拟实例中选择与所述第一注解中的第一配其中,创建或选择的所述至少一个虚拟实例具有所述第一配置信所述至少一个第一虚拟实例,用于运行所述子程序代码得到至少一个6其中,在所述至少一个第一虚拟实例将所述至少一个运行结果发送至所述云平台之务虚拟实例中开发的程序代码或从其他设备所述云平台,用于确定所述租户在所述云平台的虚拟实例服务接口选所述云平台,用于在所述至少一个数据中心中创建对应于所述类所述云平台,用于在至少一个数据中心中配置所述第一虚拟实例数量个第一虚拟实所述第一虚拟实例数量个第一虚拟实例,用于分别运行所述子程序代码所述第一虚拟实例数量个第一虚拟实例,用于分别运行所述子程共享存储空间获取的不同的待处理数据进行相同业务逻所述云平台,用于根据所述第一虚拟实例数量在所述至少一个所述第一虚拟实例,用于在运行所述子程序代码至需调用所述嵌套程序代码的位置所述第二注解用于指示所述云平台在所述至少一个数据中心中配置至少一个第二虚拟实程序代码由所述云平台发送至所述至少一个第二虚拟所述云平台,用于接收所述至少一个第二虚拟实例运行所述嵌7云平台,用于接收租户上传至上传接口的程序代码,其中所述云平台,用于在运行所述主程序代码至需调用所述子程序代码数据中心中创建所述至少一个第一虚拟实例或者所述第一注解用于指示所述云平台在多个虚拟实例中选择与所述第一注解中的第一配置信息匹配的所述至少一个第一虚拟实例,少一个虚拟实例具有所述第一配置信息指示的所述第一虚拟实所述至少一个第一虚拟实例,用于发送所述至少一个第一虚拟实所述云平台,用于接收所述至少一个第一虚拟实例发送的所述至少一个第运行所述子程序代码得到的至少一个运行结果并根据所述至少一个运行结果继续运行所其中,在所述至少一个第一虚拟实例将所述至少一个运行结果发送至所述云平台之33.根据权利要求32所述的系统,其特征在于,所述第一配置信息还用于指示第一虚所述云平台,用于在至少一个数据中心中配置所述第一虚拟实例数量个第一虚拟实所述第一虚拟实例数量个第一虚拟实例,用于分别运行所述子程序代码所述第一虚拟实例数量个第一虚拟实例,用于分别运行所述子程共享存储空间获取的不同的待处理数据进行相同业务逻8所述第一虚拟实例,用于在运行所述子程序代码至需调用所述嵌套程序代码的位置所述第二注解用于指示所述云平台在所述至少一个数据中心中配置至少一个第二虚拟实程序代码由所述云平台发送至所述至少一个第二虚拟所述云平台,用于接收所述至少一个第二虚拟实例运行所述嵌9[0001]本申请涉及云技术领域,尤其涉及一种云平台及基于云平台的程序代码处理方程序代码运行结果,从而利用云服务提供的运算能力实现大规模计算程序的运行,例如的虚拟实例的数量,该数量用于指示运行该子程序代码的虚拟实例的数量,当N设置为复别从共享存储空间获取不同的待处理数据并分别对获[0019]基于多个虚拟实例并行地运行子程序代码的场景,租户让子程序代码用于指示多个第一虚拟实例分别从共享存储空间获取不同的待处理数据并户可在编写程序代码过程中,在子程序代码相邻的位置(子程序前或后的位置)调用creatvirtualinstance(type,spec,N),并根据自身需要输入虚拟实例的类型type,规格根据类型type,规格spec,数量N中的一者或任意组合创建好或选择好的虚的虚拟实例的数量,该数量用于指示运行该子程序代码的虚拟实例的数量,当N设置为复不同的待处理数据并分别对获取到的待处理数据[0044]基于多个虚拟实例并行地运行子程序代码的场景,租户让子程序代码用于指示一个或多个第一虚拟实例分别从共享存储空间获取不同的待处理户可在编写程序代码过程中,在子程序代码相邻的位置(子程序前或后的位置)调用creatvirtualinstance(type,spec,N),并根据自身需要输入虚拟实例的类型type,规格根据类型type,规格spec,数量N中的一者或任意组合创建好或选择好的虚拟[0054]第三方面或第三方面任意一种实现方式是第一方面或第一方面任意一种实现方得到的第一运行结果并发送第一运行结果至业务虚[0056]第四方面或第四方面任意一种实现方式是第二方面或第二方面任意一种实现方机设备实现第一方面及第一方面任一种可能的实现方式所揭示的方法或使计算机设备实现第二方面及第二方面任一种可能的实现方式所揭计算机执行第一方面及第一方面任一种可能的实现方式所揭示的方法或使得计算机执行执行单元30中的云程序执行代理对主程序代码进行动态编译,由虚拟实例1的云程序执行代理对程序代码1进行动态编译,由虚拟实例2-5的云程序执行代理分别对程序代码2进行动态编译。在实施例2中,由业务虚拟实例中的云程序执行代理对主程序代码进行动态编件上传到云平台。在实施例2中,租户可在业务虚拟机利用脚本解析器对程序代码进行编务虚拟实例中的云程序执行代理对主程序代码进行静态编译,由虚拟实例1的云程序执行代理对程序代码1进行静态编译,由虚拟实例2-5的云程序执行代理分别对程序代码2进行则租户可在编写程序代码过程中,在子程序代码相邻的位置(子程序前或后的位置)调用creatvirtualinstance(type,spec,N),并根据自身需要输入虚拟实例的类型type,规格根据类型type,规格spec,数量N中的一者或任意组合创建好或选择好的虚拟[0091]存储节点和计算节点均可以通过物理服务器实现,存储节点可提供共享存储空最后云平台并将程序代码的运行结果通知租[0096]首先请参见图2,图2是根据本发明实施例的程序代码处理系统的系统架构示意问共享存储服务接口103以通知云服务提供单元10在数据中心中创建可供租户访问的共享[0100]主程序执行单元30包括云程序执行代理,主程序执行单元30用于运行主程序代或者直接在本地编辑程序代码,通过客户端发送编辑好的程序代码至程序代码服务接口口102可将程序代码发送至云程序执行单元20,云程序执行单元20将程序代码中的主程序publicstaticvoidmain(String[]a数runInCloud1(inputDir,outputDir),程序代码1,即函数runInCloud1(inputDir,outputDir)在运行过程中调用了程序代码2,即函数runInCloud2(inputFileList,=1,flavor="s2.small.1",type=VM,waitingForFinished=true)和标记@QtFun(taskNum=4,cpu=1,memory=256,type=VM,waitingForFinished=true)可明实施例预设的标记,用于指示该标记所注解的函数runI虚拟机的数量taskNum是1个,且主程序需等待该函数执行完毕才可以执行下一步[0110]进一步,函数runInCloud2(inputFileList,outputDir)设置有标记:@QtFun或其他的与云平台预先约定好的符号标记均可作为标记的具后再调用程序代码1对OBS桶中转码后的数据[0129]程序代码服务接口102具体实现为上传接口,该上传接口用于接收租户上传的程[0132]具体地,云程序执行单元20发送主程序代码至主程序执行单元30的程序执行单[0137]@QtFun(taskNum=1,flavor="s2.small.1",type=VM,waitingForFinished=[0138]云程序执行单元20对该标记进行分析,得到以下配置信息:需创建1个规格为[0140]步骤S106:云程序执行单元20发送与标记相邻的程序代码1至已经配置好的虚拟[0145]其中,每个OBS桶均通过统一资源定位器(UniformResourceLocator,URL)来定[0150]其中,主程序执行单元30的云程序执行代理执行主程序代码至Stringinp代码1被标记为在虚拟实例中运行,因此主程序执行单元30的云程序执行代理需向云程序[0151]步骤S108:主程序执行单元30的云程序执行代理向云程序执行单元20请求程序代[0154]具体地,虚拟实例1的云程序执行代理执行程序代码1,在执行完String[]inputFileList=Obs.readFileList(inputDir)之后,发现下一语句需调用程序代码2:runInCloud2(inputFileList,outputDir),由于该程序代码1被标记为需在虚拟实例中运[0155]步骤S111:虚拟实例1的云程序执行代理向云程序执行单元20请求程序代码2的运[0156]步骤S112:云程序执行单元20根据程序代码2的标记所指示的配置信息配置虚拟[0157]具体地,程序代码2的标记为@QtFun(taskNum=4,cpu=1,memory=256,type=VM,waitingForFinished=true),云程序执行单元20根据配置信息创建4个类型为虚拟机[0165]每个虚拟实例2-5根据QtContext.getTaskIndex()获取自身的任务标识taskId,程序执行单元20根据该请求向虚拟实例返回taskId,虚拟实例2-5的taskId互不相同且顺[i],outputDir+"/"+i+".mp4")用于将文件清单中的第i个文件转码他云服务并为所述云服务设置云服务应用程序接口API,其中程序代码中设置有对应云服[0175]具体地,云程序执行单元20分别向虚拟实例2-5的云程序执行代理发送针对程序[0187]具体地,云程序执行单元20发送程序代码1的运行结果至主程序执行单元30的云[0191]步骤S123:主程序执行单元30的云程序执行代理通知云服务提供单元10主程序代[0193]具体地,云服务提供单元10通过程序代码服务接口102通知客户端主程序代码运上述标记可为采用预定语法且与程序代码1或程序代码2相邻例上执行的程序代码进行标记,并在标记中设置运行该程序代码的虚拟实例的配置信息,拟实例通过租户使用客户端访问云平台的服务提供单元中的虚拟实例服务接口101来创[0207]业务虚拟实例直接运行程序代码,业务虚拟实例的云程序执行代理可识别出标实例服务接口101选择业务虚拟实例的类型和规格,云平台创建对应类型和规格的业务虚[0214]步骤S203:租户通过客户端远程登录业务虚拟实例,并在业务虚拟实例上开发程[0219]}[0223]具体地,业务虚拟实例的云程序执行代理根据标记@QtFun(taskNum=1,flavor="s2.small.1",type=VM,waitingForFinished=true)识别出该标记注解的程序代码1[0224]类似地,业务虚拟实例的云程序执行代理根据标记@QtFun(taskNum=4,cpu=1,memory=256,type=VM,waitingForFinished=true)识别出该标记注解的程序代码2为需[0225]步骤S207:云程序执行单元20根据标记@QtFun(taskNum=1,flavor="s2.small.1",type=VM,waitingFor[0228]步骤S209:业务虚拟实例的云程序执行代理向云程序执行单元20请求程序代码1[0232]步骤S213:云程序执行单元20根据程序代码2的标记所指示的配置信息配置虚拟[0238]步骤S219:虚拟实例1的云程序执行代理接收程序代码2的运行结果,根据该运行[0240]步骤S221:云程序执行单元20发送程序代码1的运行结果至业务虚拟实例的云程[0241]步骤S222:业务虚拟实例的云程序执行代理根据程序代码上述标记可为采用预定语法且与程序代码1或程序代码2相邻例上执行的程序代码进行标记,并在标记

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论