CN111752587A - 小程序的批量处理方法、装置、电子设备以及可读存储介质 - Google Patents

小程序的批量处理方法、装置、电子设备以及可读存储介质 Download PDF

Info

Publication number
CN111752587A
CN111752587A CN202010600458.6A CN202010600458A CN111752587A CN 111752587 A CN111752587 A CN 111752587A CN 202010600458 A CN202010600458 A CN 202010600458A CN 111752587 A CN111752587 A CN 111752587A
Authority
CN
China
Prior art keywords
package
applet
virtual
batch
information
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.)
Granted
Application number
CN202010600458.6A
Other languages
English (en)
Other versions
CN111752587B (zh
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010600458.6A priority Critical patent/CN111752587B/zh
Publication of CN111752587A publication Critical patent/CN111752587A/zh
Priority to EP20911300.0A priority patent/EP3958115A4/en
Priority to KR1020217020641A priority patent/KR20210091327A/ko
Priority to JP2021544309A priority patent/JP2022542203A/ja
Priority to PCT/CN2020/122315 priority patent/WO2022000869A1/zh
Priority to US17/397,185 priority patent/US12014170B2/en
Application granted granted Critical
Publication of CN111752587B publication Critical patent/CN111752587B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/953Querying, e.g. by the use of web search engines

Landscapes

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

Abstract

提供一种小程序的批量处理方法、装置、电子设备以及可读存储介质。涉及人机交互领域,也可用于与图像,视频,语音,vr,用户理解相关的场景。包括:建立批量提包新建事件;响应于所述批量提包新建事件,创建批量提包任务以生成包括多个小程序提包任务的提包工作队列;从所述提包工作队列中取出第一数量的小程序提包任务;为所述第一数量的小程序提包任务中的每个提包任务创建虚拟小程序包;将所述虚拟小程序包更新为小程序线上包并自动发布所述小程序线上包。

Description

小程序的批量处理方法、装置、电子设备以及可读存储介质
技术领域
本公开涉及人机交互领域,尤其涉及一种小程序的批量处理方法、装置、电子设备以及可读存储介质。
背景技术
随着互联网技术的飞速发展,各种应用程序走进了人们日常生活中,而小程序作为一种不需要下载安装即可使用的应用,更是得到了各行各业的广泛关注,如此,越来越多的应用程序上都加载有小程序,以实现对用户提供更加便捷的服务。
针对原本不具备开发能力的企业,推出了第三方开发平台,使得第三方服务商可以通过授权的形式提供小程序代开发服务。然而第三方开发平台中,需要管理的小程序众多,业务迭代升级频繁,导致开发效率低下,无法满足用户的需求。
发明内容
根据本公开的第一个方面,提供一种小程序的批量处理方法,包括:建立批量提包新建事件;响应于所述批量提包新建事件,创建批量提包任务以生成包括多个小程序提包任务的提包工作队列;从所述提包工作队列中取出第一数量的小程序提包任务;为所述第一数量的小程序提包任务中的每个提包任务创建虚拟小程序包;将所述虚拟小程序包更新为小程序线上包并自动发布所述小程序线上包。
根据本公开的第二个方面,提供一种小程序的批量处理装置,包括:建立模块,被配置为用于建立批量提包新建事件;批量提包任务创建模块,被配置为用于响应于所述批量提包新建事件,创建批量提包任务以生成包括多个小程序提包任务的提包工作队列;提取模块,被配置为用于从所述提包工作队列中取出第一数量的小程序提包任务;虚拟包创建模块,被配置为用于为所述第一数量的小程序提包任务中的每个提包任务创建虚拟小程序包;更新发布模块,被配置为用于将所述虚拟小程序包更新为小程序线上包并自动发布所述小程序线上包。
根据本公开的第三个方面,提供一种电子设备,包括:处理器;以及存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行本公开中所述的方法。
根据本公开的第四个方面,提供一种存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,致使所述电子设备执行本公开中所述的方法。
本公开提供的小程序批量处理方法、装置、电子设备以及可读存储介质,能够批量处理小程序,提高小程序的更新和/或处理效率,从而提升用户体验。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1是示出根据本公开第一示例性实施例的小程序批量处理方法的流程图;
图2是示出根据本公开第二示例性实施例的小程序批量处理方法的部分步骤的流程图;
图3是示出根据本公开第三示例性实施例的小程序批量处理方法的部分步骤的流程图;
图4是示出根据本公开第四示例性实施例的小程序批量处理方法的部分步骤的流程图;
图5是示出根据本公开示例性实施例的小程序批量处理系统的拓扑图;
图6是示出根据本公开示例性实施例的小程序批量处理装置的结构示意图;
图7是示出能够应用于本公开示例性实施例的示例性计算设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
相关的各小程序平台,例如百度APP、微信、支付宝等,往往只提供面向单个小程序的代码包管理方法。
在面对批量操作的业务场景时,各个小程序平台没有能力为批量的小程序代码包提供管理方法,因此,往往由第三方服务商,根据自身业务特点,借助已有能力进行封装实现。
示例性地,以百度APP平台和中关村在线等第三方服务商为例,其有可能为超过10万的小程序提供代开发,代上线等处理服务。大量的小程序需要由第三方服务商统一管理,且业务迭代升级相当频繁。
面对如此大量的批量处理需求,如果第三方服务商使用单次接口串行进行操作,将由于大量提交而造成耗时长、效率低。如果第三方服务商并发进行提包,则会导致服务端的压力不可控,影响稳定性。而且,对于同一批次的小程序,需要第三方服务商自行记录和维护小程序包状态流转等信息,缺乏统一管理。
此外,对于基于模板进行小程序的开发和管理的第三方服务商而言,对于模板提包,在提包发布环节会涉及模板代码拷贝,生成新的代码包。而大量小程序的批量处理将导致大量小程序包的重复生成和下发,导致提包速度缓慢,存储、带宽、CDN资源占用紧张。
本公开中所称的第三方服务商可以为小程序代开发商,也可以为小程序开发者,本公开中对于该主体不作出限定。
下面参照附图来描述根据本公开实施例提出的小程序的批量处理方法、装置、电子设备和计算机可读存储介质。
图1是示出根据本公开第一示例性实施例的小程序批量处理方法的流程图。需要说明的是,本公开实施例的小程序的批量处理方法可应用于本公开实施例的小程序的批量处理装置。该批量处理装置可被配置于电子设备上。作为一种示例,该小程序可寄宿在宿主应用上,该宿主应用可安装于该电子设备上。其中,该电子设备可以是移动终端,该移动终端可以是手机、平板电脑、个人数字助理等具有各种操作系统的硬件设备。本公开中所称的小程序,是指一种基于特定编程语言开发完成,无需下载和安装就可以使用的云端应用程序,小程序的特点之一就是使用便捷,无需手动在终端的操作系统中进行安装。因此,小程序的批量处理方法、装置、电子设备和可读存储介质涉及计算机技术领域,更具体地,为人机交互领域,也可用于与图像,视频,语音,vr,用户理解相关的场景。
如图1所示,提供了一种小程序的批量处理方法100,包括:
步骤101,建立批量提包新建事件;
步骤102,响应于所述批量提包新建事件,创建批量提包任务以生成包括多个小程序提包任务的提包工作队列;
步骤103,从所述提包工作队列中取出第一数量的小程序提包任务,为所述第一数量的小程序提包任务中的每个提包任务创建虚拟小程序包;
步骤104,将所述虚拟小程序包更新为小程序线上包并自动发布所述小程序线上包。
在本公开的实施例中,在步骤101中,建立批量提包新建事件可以包括:接收源模板、目标模板和包拓展信息;对源模板关联的多个小程序建立批量提包新建事件。
示例性地,小程序平台接收到第三方服务商提供的一个或者多个源模板,目标模板,以及包拓展信息。其中无论是小程序源模板,还是小程序目标模板,示例性地可以均为第三方服务商所拥有,并应用于其所开发的小程序当中。其中,包拓展信息包含小程序的个性化数据。
示例性地,包拓展信息包括开发者或第三方服务商想要添加的字段,如:编号,标识,平台ID标识,第三方服务商ID标识等等,上述包拓展信息用于加载渲染相关内容,对于开发者或第三方开发商来有着重要的意义。
在本公开的实施例中,在步骤102中,所述响应于批量提包新建事件,创建批量提包任务以生成包括多个小程序提包任务的提包工作队列,包括:解析所述源模板关联的多个小程序,将与所述源模板关联的多个小程序中每个小程序的相关信息添加到提包工作队列,并通过任务标签返回本次批量提包任务的信息。
示例性地,响应于步骤101,将任务信息持久化写入任务数据库,以任务标签形式,同步返回本次任务的具体信息。
具体地,解析与步骤101中接收到的源模板关联的小程序,将每个小程序的相关信息写入提包工作队列,以任务标签的形式将本次批量提包任务的信息返回给开发者或第三方开发商。
其中,返回给开发者或第三方开发商的信息为任务详情,并且开发者或第三方开发商得到了任务标签,在后续的处理流程中,开发者或第三方开发商可以通过接收到的任务标签,主动查询任务处理进度。
在本公开的实施例中,在步骤103中,所述第一数量是基于切片规则确定的;并且其中,所述切片规则对所述提包工作队列进行切片以形成N个任务片,所述N个任务片的前N-1的任务片均包含第一数量的小程序提包任务。
示例性地,对于步骤102所生成的提包工作队列,分片取出其中的小程序。
具体地,根据任务标签,从该任务的提包工作队列中,按照一定的切片规则,例如10个一片,取出小程序。假设在整个提包队列中,一共有98个提包任务,那么按照每片10个来提取,则可以得到10个任务片,前9个任务片中均包含10个提包任务,第10个任务片中包含8个提包任务。
通过分片提取提包任务,避免了大量提包任务密集调度,有效地进行流量削峰,因此,本公开实施例中的小程序批量处理方法能够对大量以及超大量的批量小程序进行处理。
示例性地,更新任务状态为:处理中。可以理解的是,开发者或者第三方服务商可以通过任务标签查询到该任务状态。
在本公开的实施例中,在步骤103中,从所述提包工作队列中取出第一数量的小程序提包任务,为所述第一数量的小程序提包任务中的每个提包任务创建虚拟小程序包,包括:将虚拟小程序包代码链接至所述目标模板的代码;将所述包拓展信息设置为所述目标模板的包拓展信息或使用默认包拓展信息;初始化虚拟小程序包的基本信息;其中,所述默认包拓展信息为上一次使用的包拓展信息。
示例性地,批量为当前这组小程序生成新的虚拟小程序包,将虚拟小程序包的代码链接到目标模板的代码,合并目标模板和本次上传的包拓展信息生成新的虚拟包的包拓展信息。
具体地,对于每个任务片中的10个小程序,批量为这10个小程序分别创建虚拟包:虚拟包代码链接至目标模板的代码,包拓展信息默认上一次的包拓展信息,即源模板中的包拓展信息,或结合本次提交的包拓展信息,将其设置成目标模板的包拓展字段。
示例性地,标记任务状态为:开发中。
示例性地,对于初始化当前虚拟小程序包的基本信息而言,其中的基本信息可以包括小程序的名字、小程序的logo、主体信息等,具体地主体信息可以包括但不限于个人,企业,媒体,政府机构等。
在本公开的实施例中,小程序的批量处理方法还可以包括,在将所述虚拟小程序包更新为小程序线上包并自动发布所述小程序线上包之后:接收宿主程序的请求信息;根据所述请求信息,扫描所述小程序线上包;以及向所述宿主程序所在的客户端下发所述小程序线上包的信息。
示例性地,执行了步骤104之后,虚拟小程序包已经被更新为小程序线上包并自动发布所述小程序线上包。此时,小程序线上包已经准备好,如果小程序平台接收到宿主程序的请求信息,那么根据宿主程序的请求信息,扫描当前小程序的线上包。并且向宿主程序所在的客户端下发虚拟小程序包信息。
在本公开的实施例中,具体的下发流程中,所述小程序线上包的信息包括:链接所述目标模板的源码地址,所述包拓展信息和小程序基本信息。其中,链接的目标模板的源码地址指向的可以是模板、公共可利用的代码库片段或可重用的代码片段中的至少一种,包拓展信息和小程序基本信息与前文中描述的内容相同,在此不再赘述。
具体地,宿主程序所在的客户端通过内容分发网络(CDN)就近拉取模板源码,并将其与包拓展字段、小程序的基本信息进行动态合并,形成最终包。
示例性地,宿主程序所在客户端SDK软件开发工具包加载最终包启动,小程序自主获取个性化配置和数据,并完成最终渲染和展示。
上述下发流程还可以示例性地描述为:用户打开某一发布成功的小程序P1。宿主程序请求小程序虚拟包管理中心。小程序虚拟包管理中心在后台查询小程序包记录表,下发目标模板的代码包地址,包记录表中小程序P1的包拓展信息,以及小程序P1的基本信息。进一步地,宿主程序根据下发的地址,就近从内容分发网络(CDN)中拉取目标模板代码,合并包拓展信息,小程序P1的基本信息形成完整包,通过客户端的SDK加载后小程序P1后启动成功。
基于以上的小程序包的下发流程可以看出,小程序虚拟包中并不包含目标模板的具体代码,其中包含了链接的目标模板源码地址,在之前的提包和发布环节不涉及目标模板代码的拷贝,因此,即使是面对大量小程序包的重复生成和下发,也不会造成提包速度缓慢,并且还能减小存储、节省下载带宽以及内容分发网络(CDN)资源的占用。
在本公开的实施例中,还包括,在建立批量提包新建事件之后,并且在创建批量提包任务以生成包括多个小程序提包任务的提包工作队列之前:确定所述源模板、所述目标模板和所述包拓展信息的有效性以获得确定结果;基于所述确定结果,创建所述批量提包任务并更新所述提包任务的状态。
在本公开的实施例中,确定所述源模板、所述目标模板和所述包拓展信息的有效性以获得确定结果包括:确定所述源模板和所述目标模板的开发权限;以及确定所述源模板关联的多个小程序的状态以及授权状态。
图2是示出根据本公开第二示例性实施例的小程序批量处理方法的部分步骤的流程图200。
如图2所示,在步骤101建立批量提包新建事件之后,并且在步骤102创建批量提包任务以生成包括多个小程序提包任务的提包工作队列之前,还包括步骤105,校验步骤。
示例性地,小程序平台对开发者或第三方服务商的权限进行校验,包括但不限于:开发者或第三方服务商是否对源模板、目标模板均有开发权限,源模板、目标模板是否均处于有效状态,包拓展信息是否有效等。
具体地,校验的内容示例性地如图5中所示,图5是示出根据本公开示例性实施例的小程序批量处理系统的拓扑图。
其中,校验的内容包括模板权限控制、模板有效性校验和小程序授权校验。具体地,对于模板权限控制来说,由小程序平台检查开发者或第三方服务商对源模板、目标模板是否都具有开发权限,对于模板有效性校验,由小程序平台检查源模板、目标模板状态是否有效,对于小程序授权校验,由平台对源模板下关联的小程序进行扫描,校验小程序的有效性以及授权状态。
具体地,继续参考图2,当开发权限、有效性均得到满足后,校验通过,那么将继续执行步骤102创建批量提包任务以生成包括多个小程序提包任务的提包工作队列。
如果任何一个校验条件没有得到满足,那么将任务创建失败,更新提包任务队列,将不会再将创建失败的小程序提包任务放入提包工作队列。
在本公开的实施例中,所述为所述第一数量的小程序提包任务中的每个提包任务创建虚拟小程序包,还包括:确认第一次创建虚拟小程序包是否成功;如果第一次创建虚拟小程序包失败,则执行第二次创建虚拟小程序包;以及如果第二次创建虚拟小程序包失败,则相应更新所述提包工作队列,并推送创建失败消息。
图3是示出根据本公开第三示例性实施例的小程序批量处理方法的部分步骤的流程图300。如图3所示,步骤103还可以包括判断步骤1032和判断步骤1033。其中,判断步骤1032用来判断步骤1031中所创建的虚拟小程序包是否创建成功,即,确认第一次创建虚拟小程序包是否成功。如果第一次创建成功,则继续执行后续步骤,例如,步骤104,将所述虚拟小程序包更新为小程序线上包并自动发布所述小程序线上包。如果第一次创建虚拟小程序包失败,则对于创建失败的小程序,重新塞回提包工作队列,执行第二次创建虚拟小程序包(未示出)。判断步骤1033用于判断第二次创建虚拟小程序包是否成功。如果第二次创建虚拟小程序包失败,则相应更新所述提包工作队列,并推送创建失败消息。例如,向开发者或第三方服务商推送创建失败消息。其中,向开发者或第三方服务商推送的创建失败消息中包含虚拟包创建失败的具体原因。
在本公开的实施例中,小程序的批量处理方法还可以包括,在将所述虚拟小程序包更新为小程序线上包并自动发布所述小程序线上包之前:接收所述虚拟小程序包的审核信息;对所述审核信息进行审核以得到审核结果;以及基于所述审核结果,将所述虚拟小程序包更新为小程序线上包并自动发布所述小程序线上包。
图4是示出根据本公开第四示例性实施例的小程序批量处理方法的部分步骤的流程图400。示例性地,如图4所示,在步骤104之前,还包括审核步骤106,对步骤103中创建成功的虚拟包进行审核。
具体地,当审核结果为成功时,对步骤103中创建成功的虚拟小程序包执行步骤104。
在本公开的实施例中,如图4所示,如果所述审核结果为失败,则推送审核失败消息并更新所述提包工作队列。
在本公开的实施例中,所述审核信息包括所述虚拟小程序包的主体信息,并且对所述审核信息进行审核包括对于所述主体信息进行合规性审核。例如,对小程序基本信息、主体认证信息、目标模板代码、包拓展信息进行审核。
例如,某些小程序平台没有开放个人开发者开发小程序,那么当开发者为个人,其主体信息将无法通过审核步骤106。
例如,审核步骤还可以包括对工商执照信息,法人主体真实性进行审核等等。
示例性地,审核可以分为机器审核和人工审核。例如,对于大多数的小程序,一般是机器审核,当涉及到特殊主体、特殊内容或特殊行业的小程序,一般需要人工审核。示例性地,如果采用人工审核,则由审核平台模拟宿主程序,将目标模板的代码,包拓展信息,以及小程序的基本信息进行合并,模拟小程序运行,从而完成相关审核。
审核步骤106示例性地在图5中示出为代码包审核,审核成功后,则进入步骤104,将所述虚拟小程序包更新为小程序线上包并自动发布所述小程序线上包,如果审核失败,则推送审核失败消息并更新所述提包工作队列。
在本公开的实施例中,小程序的批量处理方法还可以包括:在自动发布所述小程序线上包之后,推送发布成功消息并更新所述提包工作队列。
示例性地,如图4所示,在步骤104之后,推送发布成功消息并更新提包工作队列。
在本公开的实施例中,基于所述创建失败消息、所述审核失败消息和所述发布成功消息,更新小程序的批量处理的状态。
示例性地,步骤103产生的虚拟包创建失败信息、步骤106产生的审核失败消息以及步骤104小程序包发布成功的消息,均对小程序批量处理状态产生影响,并对其状态进行更新。
示例性地,如图5中所示,消息推送的来源有三个:提包失败处理、代码包审核和发布代码包。
其中,提包失败处理根据重试虚拟包创建步骤失败的消息,发出提包失败消息,代码包审核根据生成的虚拟包审核未通过的消息,发出审核失败消息,发布代码包根据虚拟包上线并发布为小程序线上包,发出发布结果消息。
图5是示出根据本公开又一个示例性实施例的小程序批量处理系统的拓扑图。
下面结合图5,对本公开的实施例进行说明。
在本公开的实施例中,假设一位第三方服务商:TP服务商,基于模板A开发了10款小程序,又基于模板B开发了2款小程序。经过后期运营发现,模板B效果更好,于是,TP服务商想将小程序都升级成模板B。
在该实施例中,包括步骤102、步骤103、步骤104以及终端步骤。
其中,步骤102包括:
TP服务商需要向小程序平台提交,源模板(模板A),目标模板(模板B)和拓展信息。
接下来,进行模板权限控制、模板有效性校验、模板小程序解析以及小程序授权校验。
具体地,由小程序平台检查服务商对模板A、模板B是否都具有开发权限,以及模板状态是否有效。对源模板下关联的小程序进行扫描,校验小程序的有效性,以及授权状态,获取有效小程序10款。
进行上述校验步骤后,创建批量提包任务,并生成批量提包任务表。
具体地,新建批量提包任务,包含任务标签(ID),源模板A,目标模板B,需要处理的10款小程序等,任务处于新建状态。同步向TP服务商返回任务详情。TP服务商后续可以根据任务标签(ID),主动查询任务处理进度。
并且,异步开启任务:将源模板下关联的待提包小程序信息添加到提包任务队列中,并向下一环节推送事件:有新任务待处理。
进入步骤103,其中,步骤103包括:
根据任务标签(ID),从该任务的提包工作队列中,按照一定的切片规则(例如10个一组),取出小程序。更新任务状态:处理中。
对于每个批次10个小程序,在小程序包记录表中,批量为这10个小程序分别创建虚拟包:包代码链接至模板B的代码,包拓展字段可以默认上一次,或结合本次提交的内容来确定,设置成模板B的拓展字段,标记任务状态为开发中,以及初始化当前小程序包的基本信息。
其中,若有6个小程序虚拟包生成成功,则将另外4个失败的重新塞回工作队列。若重试依然失败,更新批量提包任务失败数量+4,同时给服务商推送这四个小程序代码包生成失败的具体原因。
对完成代码包生成的6个小程序,将小程序基本信息,主体信息,模板B代码推送至审核平台,进行基本信息,以及主体真实性审核。
进入步骤104,其中步骤104包括:
订阅审核平台的消息,通过小程序标识(ID)和代码包标识(ID),过滤出送审的6个小程序审核结果。若有2个审核结果为不通过,则更新批量提包任务失败数量+2,同时给服务商推送这两个小程序代码包审核失败的具体原因。对审核结果通过的4个小程序,进行代码包自动发布。
按照小程序代码包的发布结果,若有1个发布失败,则批量提包任务失败+1,向服务商推送这1个小程序发布失败消息。对于成功发布的3个小程序,更新任务状态为上线状态,则批量提包任务成功+3,向服务商推送这三个小程序发布成功消息。
基于全局异步脚本,检测到发布成功(3)+代码包生成失败(4)+审核失败(2)+发布失败(1)=任务包含的小程序总数(10),更新任务状态为已完成。
进一步地,还包括小程序的下发过程,其中包括终端步骤:终端动态以及合并渲染。
用户打开某一发布成功的小程序P1。宿主程序请求小程序虚拟包管理中心。
小程序虚拟包管理中心在后台中查询小程序虚拟包记录表,下发模板B的代码包地址,虚拟包记录表中小程序P1的包拓展信息,以及小程序P1的基本信息。
宿主程序再根据下发的地址,就近从内容分发网络(CDN)中拉取模板代码,合并包拓展信息,小程序P1的基本信息形成完整小程序代码包,客户端SDK软件开发工具包加载最终包启动,小程序P1自主获取个性化配置和数据,并完成最终渲染和展示。
因此,在本公开的实施例中,小程序批量提包上线、消息通知流程全异步化,各个步骤提供结果,有效对密集调度进行流量削峰,理论上对提包时长,提包数量均没有限制。并且由于采用了小程序虚拟包的形式,在提包和发布阶段不直接生成完整代码包。而是直接下原始包信息,由宿主程序从CDN(内容分发网络)拉取模板源码在本地合并包拓展信息,进行动态渲染。在批量处理小程序的过程中,减少了提包、发布等处理环节的重复拷贝代码,节省云端和CDN环节的包存储和下载带宽,有效提升批量提包、发布以及下发的效率,极大地提升了小程序批量处理的效率。
与上述几种实施例提供的小程序的批量处理方法相对应,本公开的一种实施例还提供一种小程序的批量处理装置,由于本公开实施例提供的小程序的批量处理装置与上述几种实施例提供的小程序的批量处理方法相对应,因此在前述小程序的批量处理方法的实施方式也适用于本实施例提供的小程序的批量处理装置,在本实施例中不再详细描述。图6是根据本公开一个实施例的小程序的批量处理装置的结构示意图。如图6所示,该小程序的批量处理装置600可以包括:建立模块610、批量提包任务创建模块620、虚拟包创建模块630和更新发布模块640。具体地,包括:
建立模块610,被配置为用于建立批量提包新建事件;
批量提包任务创建模块620,被配置为用于响应于所述批量提包新建事件,创建批量提包任务以生成包括多个小程序提包任务的提包工作队列;
虚拟包创建模块630,被配置为用于从所述提包工作队列中取出第一数量的小程序提包任务,为所述第一数量的小程序提包任务中的每个提包任务创建虚拟小程序包;
更新发布模块640,被配置为用于将所述虚拟小程序包更新为小程序线上包并自动发布所述小程序线上包。
根据本公开的实施例,本公开还提供了一种电子设备,该电子设备包括:处理器;以及,存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据上述的小程序的启动方法。
根据本公开的实施例,还提供了一种存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,致使所述电子设备执行根据上述的小程序的启动方法。
图7是根据本公开实施例的用以实现小程序的批量处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,该电子设备700包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器701为例。
存储器702即为本公开所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本公开所提供的小程序的批量处理方法。本公开的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本公开所提供的小程序的批量处理方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本公开实施例中的小程序的批量处理方法对应的程序指令/模块(例如,图6所示的建立模块610、批量提包任务创建模块620、虚拟包创建模块630和更新发布模块640)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的小程序的批量处理方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据用以实现小程序的批量处理方法的电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至用以实现小程序的批量处理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
用以实现小程序的批量处理方法的电子设备700还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与用以实现小程序的批量处理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (18)

1.一种小程序的批量处理方法,包括:
建立批量提包新建事件;
响应于所述批量提包新建事件,创建批量提包任务以生成包括多个小程序提包任务的提包工作队列;
从所述提包工作队列中取出第一数量的小程序提包任务,为所述第一数量的小程序提包任务中的每个提包任务创建虚拟小程序包;
将所述虚拟小程序包更新为小程序线上包并自动发布所述小程序线上包。
2.如权利要求1所述的方法,其中,所述建立批量提包新建事件,包括:
接收源模板、目标模板和包拓展信息;
对源模板关联的多个小程序建立批量提包新建事件。
3.如权利要求2所述的方法,其中,
所述响应于批量提包新建事件,创建批量提包任务以生成包括多个小程序提包任务的提包工作队列,包括:
解析所述源模板关联的多个小程序,将与所述源模板关联的多个小程序中每个小程序的相关信息添加到提包工作队列,并通过任务标签返回本次批量提包任务的信息。
4.如权利要求1所述的方法,其中,所述第一数量是基于切片规则确定的;并且
其中,所述切片规则对所述提包工作队列进行切片以形成N个任务片,所述N个任务片的前N-1的任务片均包含第一数量的小程序提包任务。
5.如权利要求2所述的方法,其中,
所述从所述提包工作队列中取出第一数量的小程序提包任务,为所述第一数量的小程序提包任务中的每个提包任务创建虚拟小程序包,包括:
将虚拟小程序包代码链接至所述目标模板的代码;
将所述包拓展信息设置为所述目标模板的包拓展信息或使用默认包拓展信息;
初始化虚拟小程序包的基本信息;
其中,所述默认包拓展信息为上一次使用的包拓展信息。
6.如权利要求5所述的方法,还包括,在将所述虚拟小程序包更新为小程序线上包并自动发布所述小程序线上包之后:
接收宿主程序的请求信息;
根据所述请求信息,扫描所述小程序线上包;以及
向所述宿主程序所在的客户端下发所述小程序线上包的信息。
7.如权利要求6所述的方法,其中,
所述小程序线上包的信息包括:链接所述目标模板的源码地址,所述包拓展信息和小程序基本信息。
8.如权利要求2所述的方法,还包括,在建立批量提包新建事件之后,并且在创建批量提包任务以生成包括多个小程序提包任务的提包工作队列之前:
确定所述源模板、所述目标模板和所述包拓展信息的有效性以获得确定结果;
基于所述确定结果,创建所述批量提包任务并更新所述提包任务的状态。
9.如权利要求8所述的方法,其中,
确定所述源模板、所述目标模板和所述包拓展信息的有效性以获得确定结果包括:
确定所述源模板和所述目标模板的开发权限;以及
确定所述源模板关联的多个小程序的状态以及授权状态。
10.如权利要求5所述的方法,其中,
所述从所述提包工作队列中取出第一数量的小程序提包任务,为所述第一数量的小程序提包任务中的每个提包任务创建虚拟小程序包,还包括:
确认第一次创建虚拟小程序包是否成功;
如果第一次创建虚拟小程序包失败,则执行第二次创建虚拟小程序包;以及
如果第二次创建虚拟小程序包失败,则相应更新所述提包工作队列,并推送创建失败消息。
11.如权利要求10所述的方法,还包括,在所述将所述虚拟小程序包更新为小程序线上包并自动发布所述小程序线上包之前:
接收所述虚拟小程序包的审核信息;
对所述审核信息进行审核以得到审核结果;以及
基于所述审核结果,将所述虚拟小程序包更新为小程序线上包并自动发布所述小程序线上包。
12.如权利要求11所述的方法,其中,
如果所述审核结果为失败,则推送审核失败消息并更新所述提包工作队列。
13.如权利要求11所述的方法,其中,
所述审核信息包括所述虚拟小程序包的主体信息,并且
对所述审核信息进行审核包括对于所述主体信息进行合规性审核。
14.如权利要求12所述的方法,还包括:
在所述自动发布所述小程序线上包之后,推送发布成功消息并更新所述提包工作队列。
15.如权利要求14所述的方法,还包括:
基于所述创建失败消息、所述审核失败消息和所述发布成功消息,更新小程序的批量处理的状态。
16.一种小程序的批量处理装置,包括:
建立模块,被配置为用于建立批量提包新建事件;
批量提包任务创建模块,被配置为用于响应于所述批量提包新建事件,创建批量提包任务以生成包括多个小程序提包任务的提包工作队列;
虚拟包创建模块,被配置为用于从所述提包工作队列中取出第一数量的小程序提包任务,为所述第一数量的小程序提包任务中的每个提包任务创建虚拟小程序包;
更新发布模块,被配置为用于将所述虚拟小程序包更新为小程序线上包并自动发布所述小程序线上包。
17.一种电子设备,包括:
处理器;以及
存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-15中任一项所述的方法。
18.一种存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,致使所述电子设备执行根据权利要求1-15中任一项所述的方法。
CN202010600458.6A 2020-06-28 2020-06-28 小程序的批量处理方法、装置、电子设备以及可读存储介质 Active CN111752587B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN202010600458.6A CN111752587B (zh) 2020-06-28 2020-06-28 小程序的批量处理方法、装置、电子设备以及可读存储介质
EP20911300.0A EP3958115A4 (en) 2020-06-28 2020-10-21 METHOD AND DEVICE FOR PROCESSING MINIPROGRAM BATCH, ELECTRONIC DEVICE AND READABLE STORAGE MEDIUM
KR1020217020641A KR20210091327A (ko) 2020-06-28 2020-10-21 애플릿의 배치 처리방법, 장치, 전자 기기 및 판독가능 저장매체
JP2021544309A JP2022542203A (ja) 2020-06-28 2020-10-21 ミニプログラムのバッチ処理方法、装置、電子機器及び可読記憶媒体
PCT/CN2020/122315 WO2022000869A1 (zh) 2020-06-28 2020-10-21 小程序的批量处理方法、装置、电子设备以及可读存储介质
US17/397,185 US12014170B2 (en) 2020-06-28 2021-08-09 Mini program batch processing method and apparatus, electronic device, and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010600458.6A CN111752587B (zh) 2020-06-28 2020-06-28 小程序的批量处理方法、装置、电子设备以及可读存储介质

Publications (2)

Publication Number Publication Date
CN111752587A true CN111752587A (zh) 2020-10-09
CN111752587B CN111752587B (zh) 2024-05-10

Family

ID=72677722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010600458.6A Active CN111752587B (zh) 2020-06-28 2020-06-28 小程序的批量处理方法、装置、电子设备以及可读存储介质

Country Status (2)

Country Link
CN (1) CN111752587B (zh)
WO (1) WO2022000869A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328333A (zh) * 2020-10-27 2021-02-05 武汉联影医疗科技有限公司 内置程序操作方法、装置、计算机设备和存储介质
WO2022000869A1 (zh) * 2020-06-28 2022-01-06 北京百度网讯科技有限公司 小程序的批量处理方法、装置、电子设备以及可读存储介质
US12014170B2 (en) 2020-06-28 2024-06-18 Beijing Baidu Netcom Science And Technology Co., Ltd. Mini program batch processing method and apparatus, electronic device, and readable storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114399292B (zh) * 2022-01-21 2023-01-06 中欧基金管理有限公司 用于控制业务审批流程的方法、计算设备和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018113596A1 (zh) * 2016-12-22 2018-06-28 腾讯科技(深圳)有限公司 应用程序审核操作权限处理方法、装置和存储介质
CN110865855A (zh) * 2019-11-18 2020-03-06 百度在线网络技术(北京)有限公司 小程序处理方法及相关设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324685B1 (en) * 1998-03-18 2001-11-27 Becomm Corporation Applet server that provides applets in various forms
CN110308917B (zh) * 2019-06-26 2024-02-23 深圳前海微众银行股份有限公司 小程序发布方法、装置、设备及计算机存储介质
CN110569050A (zh) * 2019-08-01 2019-12-13 阿里巴巴集团控股有限公司 一种小程序更新方法和装置
CN110688124B (zh) * 2019-08-23 2023-03-17 北京奇艺世纪科技有限公司 小程序处理方法、装置、电子设备及计算机可读存储介质
CN111258565B (zh) * 2020-01-21 2023-06-06 深圳乐信软件技术有限公司 小程序的生成方法、系统、服务器及存储介质
CN111338684A (zh) * 2020-03-20 2020-06-26 成都药王科技股份有限公司 一种程序发布方法
CN111752587B (zh) * 2020-06-28 2024-05-10 北京百度网讯科技有限公司 小程序的批量处理方法、装置、电子设备以及可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018113596A1 (zh) * 2016-12-22 2018-06-28 腾讯科技(深圳)有限公司 应用程序审核操作权限处理方法、装置和存储介质
CN110865855A (zh) * 2019-11-18 2020-03-06 百度在线网络技术(北京)有限公司 小程序处理方法及相关设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SHEPPARD: "Blueprint Mini-Grant program: Promoting physical activity interventions for seniors", GERONTOLOGIST, 31 December 2005 (2005-12-31) *
陈英达;黄巨涛;张翼鹏;: "大型电力企业IDC运行环境下虚拟服务器自动化批量部署研究", 自动化与仪器仪表, no. 08, 25 August 2017 (2017-08-25) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022000869A1 (zh) * 2020-06-28 2022-01-06 北京百度网讯科技有限公司 小程序的批量处理方法、装置、电子设备以及可读存储介质
US12014170B2 (en) 2020-06-28 2024-06-18 Beijing Baidu Netcom Science And Technology Co., Ltd. Mini program batch processing method and apparatus, electronic device, and readable storage medium
CN112328333A (zh) * 2020-10-27 2021-02-05 武汉联影医疗科技有限公司 内置程序操作方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
WO2022000869A1 (zh) 2022-01-06
CN111752587B (zh) 2024-05-10

Similar Documents

Publication Publication Date Title
US7305672B2 (en) Dynamic software update system, method and program product
CN111752587B (zh) 小程序的批量处理方法、装置、电子设备以及可读存储介质
US11036696B2 (en) Resource allocation for database provisioning
WO2022073354A1 (zh) 业务审核通知方法及网关、电子设备、可读介质
WO2018213311A1 (en) Distributed versioning of applications using cloud-based systems
CN111930521A (zh) 用于部署应用的方法、装置、电子设备及可读存储介质
CN113474751B (zh) 管理软件程序
CN111090423B (zh) 一种webhook框架系统和实现主动调用、实现事件触发的方法
US12014170B2 (en) Mini program batch processing method and apparatus, electronic device, and readable storage medium
CN112416455B (zh) 数据处理方法、装置、终端和存储介质
CN111694620A (zh) 第三方业务的交互方法、装置、设备及计算机存储介质
US10977218B1 (en) Distributed application development
JP2023501850A (ja) ビジネス監査報知方法及びゲートウェイ、電子機器、読取可能な媒体及びコンピュータプログラム
CN113191889A (zh) 风控配置方法、配置系统、电子设备及可读存储介质
WO2023169193A1 (zh) 用于生成智能合约的方法和装置
CN112394907A (zh) 基于容器的交付系统构建方法、应用交付方法和交付系统
US20240256250A1 (en) Orchestration of upgrades of datacenters deployed in cloud platforms
CN112764746A (zh) 数据处理方法、装置、电子设备及存储介质
CN110505289A (zh) 文件下载方法及装置、计算机可读介质、无线通信设备
CN113992622A (zh) 一种基于统一模型的多模板聚合消息通知发送系统及方法
CN112667441A (zh) 基于容错功能的业务模块调度方法、系统及存储介质
CN112241332A (zh) 一种接口补偿的方法和装置
CN116680213A (zh) 数据处理方法、计算机设备及可读存储介质
CN117170689A (zh) 一种云网络下部署应用程序的方法和装置
CN113641923A (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