APP内实时加载模块的方法、系统、电子装置和存储介质与流程

    专利查询2022-07-07  124


    app内实时加载模块的方法、系统、电子装置和存储介质
    技术领域
    1.本技术涉及计算机技术领域,特别是涉及app内实时加载模块的方法、系统、电子装置和存储介质。


    背景技术:

    2.随着移动app深入大众用户各个领域,用户对app产品的功能诉求越来越多,每个app所包含的功能也越来越多,导致app安装包越来越大。相关技术中,用户下载app时,需要下载包含全部功能的app,导致下载所需时间长,影响用户体验,用户下载率低。
    3.目前针对相关技术中用户下载app时,需要下载包含全部功能的app,导致下载所需时间长,影响用户体验,用户下载率低的问题,尚未提出有效的解决方案。


    技术实现要素:

    4.本技术实施例提供了一种app内实时加载模块的方法、系统、电子装置和存储介质,以至少解决相关技术中用户下载app时,需要下载包含全部功能的app,导致下载所需时间长,影响用户体验,用户下载率低的问题。
    5.第一方面,本技术实施例提供了一种app内实时加载模块的方法,所述方法包括:
    6.将app功能划分为底包和至少一个单模块,在所述底包中添加加载单模块接口函数;
    7.在app仅包含所述底包的情况下,将所述至少一个单模块保存在服务器上;
    8.在用户需要用到单模块的情况下,所述app向服务器请求所述单模块,并通过所述加载单模块接口函数加载所述单模块。
    9.在其中一些实施例中,所述方法包括:
    10.在所述单模块的内容有更新的情况下,将更新后的单模块保存在服务器上;
    11.在用户需要用到单模块的情况下,app判断本地存储的单模块是否为更新后的单模块;
    12.若为是,则通过所述加载单模块接口函数加载所述更新后的单模块,若为否,则向服务器请求所述更新后的单模块,并通过所述加载单模块接口函数加载所述所述更新后的单模块。
    13.在其中一些实施例中,在app包含所述底包和所述至少一个单模块的情况下,所述方法包括:
    14.在用户需要用到单模块的情况下,app判断本地存储的单模块是否为更新后的单模块;
    15.若为是,则通过所述加载单模块接口函数加载所述更新后的单模块,若为否,则向服务器请求所述更新后的单模块,并通过所述加载单模块接口函数加载所述所述更新后的单模块,其中,所述更新后的单模块预先保存在服务器上。
    16.在其中一些实施例中,将更新后的单模块保存在服务器上包括:
    17.获取最新版本的单模块与上一版本的单模块的差异部分作为所述更新后的单模块,将所述更新后的单模块保存在服务器上。
    18.在其中一些实施例中,所述方法包括:
    19.采用mvc设计模式制作单模块,所述单模块包括业务模型、用户界面以及控制。
    20.第二方面,本技术实施例提供了一种app内实时加载模块的系统,所述系统包括划分模块、保存模块和加载模块,
    21.所述划分模块,用于将app功能划分为底包和至少一个单模块,在所述底包中添加加载单模块接口函数;
    22.所述保存模块,用于在app仅包含所述底包的情况下,将所述至少一个单模块保存在服务器上;
    23.所述加载模块,用于在用户需要用到单模块的情况下,向服务器请求所述单模块,并通过所述加载单模块接口函数加载所述单模块。
    24.在其中一些实施例中,所述系统还包括更新模块和判断模块,
    25.所述更新模块,用于在所述单模块的内容有更新的情况下,将更新后的单模块保存在服务器上;
    26.所述判断模块,用于在用户需要用到单模块的情况下,判断本地存储的单模块是否为更新后的单模块;
    27.若为是,则所述加载模块通过所述加载单模块接口函数加载所述更新后的单模块,若为否,则所述加载模块向服务器请求所述更新后的单模块,并通过所述加载单模块接口函数加载所述所述更新后的单模块。
    28.在其中一些实施例中,在app包含所述底包和所述至少一个单模块的情况下,
    29.所述判断模块,用于在用户需要用到单模块的情况下,判断本地存储的单模块是否为更新后的单模块;
    30.若为是,则所述加载模块通过所述加载单模块接口函数加载所述更新后的单模块,若为否,则所述加载模块向服务器请求所述更新后的单模块,并通过所述加载单模块接口函数加载所述所述更新后的单模块,其中,所述更新后的单模块预先保存在服务器上。
    31.第三方面,本技术实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的app内实时加载模块的方法。
    32.第四方面,本技术实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的app内实时加载模块的方法。
    33.相比于相关技术,本技术实施例提供的app内实时加载模块的方法,通过将app功能划分为底包和至少一个单模块,在底包中添加加载单模块接口函数;在app仅包含底包的情况下,将至少一个单模块保存在服务器上;在用户需要用到单模块的情况下,app向服务器请求单模块,并通过加载单模块接口函数加载单模块,解决了相关技术中app安装包过大,下载时间长,用户下载率低的问题,提升了用户下载app过程的用户体验。
    附图说明
    34.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本申
    请的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
    35.图1是根据本技术实施例的app内实时加载模块的方法的流程图;
    36.图2是根据本技术第二实施例的app内实时加载模块的方法的流程图;
    37.图3是根据本技术实施例的app内实时加载模块的系统的结构框图;
    38.图4是根据本技术第二实施例的app内实时加载模块的系统的结构框图;
    39.图5是根据本技术实施例的电子设备的内部结构示意图。
    具体实施方式
    40.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
    41.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
    42.除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本技术所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本技术所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。本技术所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
    43.本实施例提供了一种app内实时加载模块的方法,图1是根据本技术实施例的app内实时加载模块的方法的流程图,如图1所示,该方法包括如下步骤:
    44.步骤s101,将app功能划分为底包和至少一个单模块,在底包中添加加载单模块接口函数;本实施例中,可以将app的基础功能整理成一个底包,将其他可以动态加载的功能制作成单模块,每个单模块可以设置为仅包含一个可以动态加载的功能,也可以设置为包含多个可以动态加载的功能,可以由功能大小决定单模块中包含的功能个数。
    45.示例性的,app为微信时,微信包含“聊天”、“添加好友”“朋友圈”、“支付”和“小程序”等功能,可以将“聊天”和“添加好友”功能整理成一个底包,将其余功能制作成一个单模
    块,每个单模块可以至少包括一个功能。
    46.步骤s102,在app仅包含底包的情况下,将至少一个单模块保存在服务器上;本实施例中,仅将底包作为app的安装包,用户下载app安装包时,由于app仅包含底包中的功能,因此该安装包相对于原来的安装包会非常小,可以减少用户下载所需的时间。
    47.步骤s103,在用户需要用到单模块的情况下,app向服务器请求单模块,并通过加载单模块接口函数加载单模块。本实施例中,在用户用到单模块的时候,向服务器请求单模块进行下载解压,并保存到app的本地存储中,再通过加载单模块接口函数加载单模块来实现进入单模块的目的,从而实现在app运行过程中调用还未加载的模块。
    48.通过步骤s101至步骤s103,相对于相关技术中用户下载app时,需要下载包含全部功能的app,导致下载所需时间长,影响用户体验,用户下载率低的问题,本实施例通过对app功能进行模块化处理,将app的基础功能整理成一个底包,可以动态加载的功能制作成单模块,用户下载app时,只需下载底包,在用到单模块时,再向服务器请求单模块,并通过加载单模块接口函数加载单模块,解决了相关技术中app安装包过大,下载时间长,用户下载率低的问题,提升了用户下载app过程的用户体验。
    49.由于在app发布之后,需要修改bug或者增加配置活动来让用户有更好的体验,因此app经常有版本更新迭代的需求,故在其中一些实施例中,图2是根据本技术第二实施例的app内实时加载模块的方法的流程图,如图2所示,该方法包括如下步骤:
    50.步骤s201,在单模块的内容有更新的情况下,将更新后的单模块保存在服务器上;
    51.步骤s202,在用户需要用到单模块的情况下,app判断本地存储的单模块是否为更新后的单模块;
    52.步骤s203,若为是,则通过加载单模块接口函数加载更新后的单模块,若为否,则向服务器请求更新后的单模块,并通过加载单模块接口函数加载更新后的单模块。
    53.本实施例中,将更新后的单模块保存到服务器上后,更新该单模块的资源节点数,app将当前资源节点数与本地记录的节点值做比较,当资源节点数大于本地记录的节点值时,表示本地存储的单模块不是更新后的单模块,则向服务器请求更新后的单模块,并通过加载单模块接口函数加载更新后的单模块,并将最新节点值记录本地用作下次比较,当资源节点数大于本地记录的节点值,表示本地存储的单模块是更新后的单模块,直接通过加载单模块接口函数加载更新后的单模块。
    54.通过步骤s201至步骤s203,相对于相关技术中需要通过更换安装包或者停服热更新来完成app更新迭代的需求,无法对app内容进行实时修改,用户体验较低的问题,本实施例通过对app进行模块化处理后,只需针对每个单模块进行更新,用户只需下载更新后的单模块,无需下载整个安装包,且用户在需要用到更新后的单模块时,可以实时向app获取更新后的单模块进行加载,无需重启app,解决了app在进行更新迭代时,无法对app内容进行实时修改,用户体验较低的问题。
    55.用户下载的app安装包可以仅包含底包,也可以包含底包和至少一个单模块,在其中一些实施例中,在app包含底包和至少一个单模块的情况下,在用户需要用到单模块的情况下,app判断本地存储的单模块是否为更新后的单模块;若为是,则通过加载单模块接口函数加载更新后的单模块,若为否,则向服务器请求更新后的单模块,并通过加载单模块接口函数加载更新后的单模块,其中,更新后的单模块预先保存在服务器上。
    56.本实施例中,使app安装包包含底包和至少一个单模块,用户在使用app时,无需向服务器一个个的请求单模块,只需在单模块有更新时,向服务器请求更新后的单模块。
    57.在其中一些实施例中,将更新后的单模块保存在服务器上包括:获取最新版本的单模块与上一版本的单模块的差异部分作为更新后的单模块,将更新后的单模块保存在服务器上。本实施例中,只将差异部分作为更新后的单模块保存在服务器上,在单模块需要更新时,用户只需下载差异部分,进一步提高了下载速度,其中,服务器可以选用cdn服务器,内容分发网络(content delivery network,简称cdn)是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
    58.在其中一些实施例中,采用mvc设计模式制作单模块,单模块包括业务模型、用户界面以及控制。本实施例中,通过采用mvc设计模式制作单模块,确保单模块结构的规范性以及单模块的独立性与整体性。
    59.需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
    60.本实施例还提供了一种app内实时加载模块的系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
    61.图3是根据本技术实施例的app内实时加载模块的系统的结构框图,如图3所示,该系统包括划分模块31、保存模块32和加载模块33,划分模块31用于将app功能划分为底包和至少一个单模块,在底包中添加加载单模块接口函数;保存模块32用于在app仅包含底包的情况下,将至少一个单模块保存在服务器上;加载模块33用于在用户需要用到单模块的情况下,向服务器请求单模块,并通过加载单模块接口函数加载单模块,解决了相关技术中app安装包过大,下载时间长,用户下载率低的问题,提升了用户下载app过程的用户体验。
    62.在其中一些实施例中,图4是根据本技术第二实施例的app内实时加载模块的系统的结构框图,如图4所示,该系统还包括更新模块41和判断模块42,更新模块41用于在单模块的内容有更新的情况下,将更新后的单模块保存在服务器上;判断模块42用于在用户需要用到单模块的情况下,判断本地存储的单模块是否为更新后的单模块;若为是,则加载模块33通过加载单模块接口函数加载更新后的单模块,若为否,则加载模块33向服务器请求更新后的单模块,并通过加载单模块接口函数加载更新后的单模块。
    63.在其中一些实施例中,在app包含底包和至少一个单模块的情况下,判断模块用于在用户需要用到单模块的情况下,判断本地存储的单模块是否为更新后的单模块;若为是,则加载模块通过加载单模块接口函数加载更新后的单模块,若为否,则加载模块向服务器请求更新后的单模块,并通过加载单模块接口函数加载更新后的单模块,其中,更新后的单模块预先保存在服务器上。
    64.需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器
    中。
    65.本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
    66.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
    67.需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
    68.另外,结合上述实施例中的app内实时加载模块的方法,本技术实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种app内实时加载模块的方法。
    69.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种app内实时加载模块的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
    70.在一个实施例中,图5是根据本技术实施例的电子设备的内部结构示意图,如图5所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图5所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种app内实时加载模块的方法,数据库用于存储数据。
    71.本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
    72.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
    73.本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
    74.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
    转载请注明原文地址:https://tc.8miu.com/read-1357.html

    最新回复(0)