CN110727477A - 组件加载方法、装置、计算机设备和存储介质 - Google Patents

组件加载方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110727477A
CN110727477A CN201910968817.0A CN201910968817A CN110727477A CN 110727477 A CN110727477 A CN 110727477A CN 201910968817 A CN201910968817 A CN 201910968817A CN 110727477 A CN110727477 A CN 110727477A
Authority
CN
China
Prior art keywords
component
loaded
application
configuration
sample
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
CN201910968817.0A
Other languages
English (en)
Other versions
CN110727477B (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.)
Tibet Canyu Lunzhu Technology Co ltd
Original Assignee
Lujiazui Shanghai International Financial Assets Market Ltd By Share 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 Lujiazui Shanghai International Financial Assets Market Ltd By Share Ltd filed Critical Lujiazui Shanghai International Financial Assets Market Ltd By Share Ltd
Priority to CN201910968817.0A priority Critical patent/CN110727477B/zh
Publication of CN110727477A publication Critical patent/CN110727477A/zh
Application granted granted Critical
Publication of CN110727477B publication Critical patent/CN110727477B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/64Retargetable
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • G06F9/44542Retargetable

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及开发领域,特别涉及一种组件加载方法、装置、计算机设备和存储介质。所述方法包括:接收启动指令,根据启动指令触发应用的启动操作;检测应用中是否包含待加载组件;当应用中包含待加载组件时,拦截应用的启动操作,并定位应用中待加载组件的目标位置;根据目标位置识别组件类型,并从预设存储地址获取组件类型对应的待加载组件;将待加载组件加载到目标位置,继续应用的启动操作。采用本方法能够提高组件的开发和升级效率。

Description

组件加载方法、装置、计算机设备和存储介质
技术领域
本申请涉及组件加载技术领域,特别是涉及一种组件加载方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,应用程序在手机、个人电脑等终端上面得到了广泛的应用,编程技术也成为了当今热门技术之一,在编程中,常需要使用对数据和方法进行封装得到的组件进行调用,以实现高效编程。
传统的Java应用中的组件主要通过Jar包和Java类复用的方式来支持的,然而通过这些方式编写组件代码时,需要熟悉相关配置细节的技术人员重复装载和配置工作;在遇到组件升级或者组件配置时,需要对每个组件的特性进行分析、更改相应代码,再进行装载和配置的工作;传统的组件加载方法不便于代码管理,降低了组件的开发和升级效率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高组件的开发和升级效率的组件加载方法、装置、计算机设备和存储介质。
一种组件加载方法,所述方法包括:
接收启动指令,根据所述启动指令触发应用的启动操作;
检测所述应用中是否包含待加载组件;
当所述应用中包含待加载组件时,拦截所述应用的启动操作,并定位所述应用中待加载组件的目标位置;
根据所述目标位置识别组件类型,并从预设存储地址获取所述组件类型对应的待加载组件;
将所述待加载组件加载到所述目标位置,继续所述应用的启动操作。
在一个实施例中,所述从预设存储地址获取所述组件类型对应的待加载组件,包括:
从预设存储地址获取所述组件类型对应的组件样本,所述组件样本中包含组件配置项;
识别所述组件样本中的组件配置项,从已建立的参数库中获取所述组件配置项对应的参数;
将获取的所述参数配置到对应的组件配置项中,得到所述待加载组件。
在一个实施例中,所述从已建立的参数库中获取所述组件配置项对应的参数之后,还包括:
当所述参数库中不包括所述组件配置项对应的参数时,生成新增参数请求;
将所述新增参数请求发送到服务器,使得所述服务器在所述参数库中新增所述组件配置项对应的参数。
在一个实施例中,所述识别所述组件样本中的组件配置项之前,还包括:
根据预设注入规则在所述组件样本中注入所述组件配置项;
所述识别所述组件样本中的组件配置项,包括:
根据与预设注入规则对应的预设识别规则识别已注入的组件配置项。
在一个实施例中,所述根据预设注入规则在所述组件样本中注入所述组件配置项,包括:
获取待注入配置项,并获取所述待注入配置项对应的配置前缀;
在所述组件样本中注入所述配置前缀;
所述根据与预设注入规则对应的预设识别规则识别已注入的组件配置项,包括:
根据所述配置前缀识别所述组件样本中的组件配置项。
在一个实施例中,所述继续所述应用的启动操作之后,还包括:
接收组件更新通知,所述组件更新通知中包括待更新组件的信息;
当接收到热更新指令时,根据所述待更新信息更新对应的组件。
在一个实施例中,所述检测所述应用中是否包含待加载组件之后,还包括:
当所述应用中包含待加载组件时,继续所述应用的启动操作。
一种组件加载装置,所述装置包括:
启动指令接收模块,用于接收启动指令,根据所述启动指令触发应用的启动操作;
检测模块,用于检测所述应用中是否包含待加载组件;
拦截模块,用于当所述应用中包含待加载组件时,拦截所述应用的启动操作,并定位所述应用中待加载组件的目标位置;
组件获取模块,用于根据所述目标位置识别组件类型,并从预设存储地址获取所述组件类型对应的待加载组件;
组件加载模块,用于将所述待加载组件加载到所述目标位置,继续所述应用的启动操作。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
上述组件加载方法、装置、计算机设备和存储介质,在终端启动应用时,自动触发组件加载的步骤,检测该应用中是否包含待加载组件,若包含,则拦截应用启动的操作,并根据设置好的待加载组件的获取逻辑,自动生成符合本次加载需求的待加载组件,并将待加载组件加载到目标位置,完成此应用中的组件加载操作。上述方法,通过一套完整的组件加载逻辑,使得终端在启动应用时,能够自动加载符合本次加载需求的组件,当组件被升级时,终端也可以自动加载到升级后的组件,而无需技术人员对每个组件的代码进行分析、更改、升级等操作来实现组件的装载操作,能够有效提高组件的开发和升级效率。
附图说明
图1为一个实施例中组件加载方法的应用场景图;
图2为一个实施例中组件加载方法的流程示意图;
图3为一个实施例中步骤S208的流程示意图;
图4为一个实施例中组件加载装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的组件加载方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。服务器104中可发布用于终端实现组件自动加载的组件样本和待加载组件的参数,终端102启动某一包含待加载组件的应用时,从服务器104获取组件样本和待加载组件的参数生成待加载组件,用于本次组件加载。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种组件加载方法,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:
S202,接收启动指令,根据启动指令触发应用的启动操作。
其中,启动指令是用户触发的启动此框架类应用的指令,可以是用户通过手机或者电脑等终端的输入设备输入的指令,也可以是其他营业。
具体地,当终端接收到启动某一应用的启动指令时,启动此应用在终端上运行。
S204,检测应用中是否包含待加载组件。
在一个应用根据启动指令在终端上运行时,先检测此应用中是否包含待加载组件。可以设定在应用启动前,遍历应用中是否包含待加载组件的埋点,若是发现有待加载组件的埋点时,则应用中包含待加载组件。
S206,当应用中包含待加载组件时,拦截应用的启动操作,并定位应用中待加载组件的目标位置。
当应用中包含待加载组件时,终端拦截应用的启动操作,暂停启动该应用。在javaweb框架应用的运行时,通常要调用tomcat(一个开放源代码的Web应用服务器),Tomcat的启动机制中包含自检机制,即加载LufaxServlet ContainerInitializer(容器拦截接口)此接口为提供给第三方组件机会做一些初始化的工作,例如注册servlet或者filtes等,可以利用这个容器拦截接口实现拦截应用启动的步骤。
待加载组件是在应用中需要***的组件,目标位置是待加载组件需要被加载到框架应用中的位置,在生成框架应用时,可在框架应用中待加载组件的目标位置处***埋点,在启动应用时,在此埋点处加载对应的组件。可通过识别不同组件类型的组件扫描接口来识别对应类型的组件的目标位置;例如,在java web框架开发时,通过ServletProvider接口,识别出Servlet类型的待加载组件的目标位置;通过FilterProvider接口,识别待加载的Filter类型的待加载组件的目标位置。
S208,根据目标位置识别组件类型,并从预设存储地址获取组件类型对应的待加载组件。
其中,组件类型是对组件进行分类后的类型,在JAVA web的编程中主要包括三大组件:Servlet、Filter和Listener,
识别待加载组件类型的方式可以包括:方式一:在设置待加载组件的埋点时,可以根据此处待加载组件的组件类型来设置不同的埋点。方式二:在遍历框架时,分析埋点在框架程序中的位置,来判断待加载的组件类型,例如在框架应用的分区中,某一分区中部署的是应用中的Servlet组件,则当终端定位到在此分区中包括待加载组件的目标位置时,则此目标位置对应的待加载组件为Servlet类型。
在识别出待加载组件的目标位置和待加载组件的组件类型后,终端需要去获取待加载的组件,组件开发时可先构建若干个组件,可将这些组件存储在预设存储地址中,在终端加载应用中的待加载组件时,可从预设存储地址获取对应的组件进行加载。
S210,将待加载组件加载到目标位置,继续应用的启动操作。
具体地,终端获取待加载组件后,将待加载组件加载到目标位置中,实现此组件的加载过程,并继续在终端上启动并运行该应用。
上述组件加载方法,在终端启动应用时,自动触发组件加载的步骤,检测该应用中是否包含待加载组件,若包含,则拦截应用启动的操作,并根据设置好的待加载组件的获取逻辑,自动生成符合本次加载需求的待加载组件,并将待加载组件加载到目标位置,完成此应用中的组件加载操作。上述方法,通过一套完整的组件加载逻辑,使得终端在启动应用时,能够自动加载符合本次加载需求的组件,当组件被升级时,终端也可以自动加载到升级后的组件,而无需技术人员对每个组件的代码进行分析、更改、升级等操作来实现组件的装载操作,能够有效提高组件的开发和升级效率。
在一个实施例中,请参见图3,上述组件加载方法中的步骤S208中的从预设存储地址获取组件类型对应的待加载组件,具体可以包括以下步骤:
S302,从预设存储地址获取组件类型对应的组件样本,组件样本中包含组件配置项。
待加载组件的获取方式是通过终端先从服务器端发布的组件类型获取对应的组件样本,并将待加载组件类型对应的个性化参数配置组件样本,得到待加载组件。服务器端可以在预设存储位置建立一个组件样本库管理组件样本,例如可建立Servlet实例和Filter实例作为组件样本,组件样本中的个性化参数项置空,组件样本可以以jar包的形式存储在组件样本库中。
可以根据这三大组件进行分类,针对每一分类设置特征性参数为空的对应的组件样本,例如,对于Servlet类组件设置一个Servlet组件样本,对于Filter类组件设置一个Filter组件样本。而不同应用中组件样本的功能的实现可通过配置组件样本中的组件配置项对应的参数进行调整。
可选地,可利用参数发现接口终端识别获取的组件样本中的组件配置项;例如,spring框架(一种软件开发框架)中的listener接口等。组件配置项是组件样本中需要进行个性化配置的参数项,例如组件名和组件调用的接口等等。
S304,识别组件样本中的组件配置项,从已建立的参数库中获取组件配置项对应的参数。
待加载组件对应的参数是服务器端预配置好的供终端获取的、用于配置组件样本的组件参数,可以包括组件名的参数、组件中调用的接口参数等;服务器在预配置待加载组件对应的参数时,可以设置参数与如终端的职能类型,终端上安装的框架应用、等等标识之间的对应关系,参数与组件样本之间的关系等等,用于终端从服务器上获取待加载组件对应的参数。
具体地,服务器可以建立一个参数库来存储所有预配置好的参数,此参数库可以采用键-值(key-value)数据库,终端可访问参数库,根据组件样本中组件配置项作为查询数据库的key,从参数库中获取对应的参数。
另外,终端可对不需要个性化配置的参数实现初始化,例如可以将web.xml的contextClass参数,按照初始化设定直接定义为LufaxXmlWeb ApplicationContext等等。
S306,将获取的参数配置到对应的组件配置项中,得到待加载组件。
具体地,终端将获取的参数添加到组件样本对应位置,得到此次需要加载到目标位置的待加载组件。
在上述的spring框架的例子中,组件配置项的配置可以通过定义的contextclass()函数来实现,即通过contextclass()函数从参数库中获取括号内对应的参数,并通过此函数返回对应参数,完成参数配置。
上述实施例中,终端获取组件样本后,可根据上述方法来对组件样本中需配置的组件配置项来进行个性化配置。
在一个实施例中,上述组件加载方法中的步骤S304中的从已建立的参数库中获取组件配置项对应的参数之后,还可以包括:当参数库中不包括组件配置项对应的参数时,生成新增参数请求;将新增参数请求发送到服务器,使得服务器在参数库中新增组件配置项对应的参数。
其中,新增参数请求是终端向服务器发送的、使得服务器在参数库中增加参数的请求;新增参数请求中可包括用于服务器识别待增加的参数的信息;例如,参数对应的组件样本、组件配置项、终端上运行的框架应用等等信息。
具体地,当终端向服务器端的参数库来获取组件配置项对应的参数,若参数库中未存储符合本次配置需求的参数,则终端可以生成一个用于使得服务器在参数库中增加对应参数的新增参数请求,服务器接收到新增配置请求后,可在对请求进行审核后,在参数库中增加与新增配置请求对应的参数。
上述实施例中,对于参数库中未涵盖的参数,终端可以通过新增参数请求来触发服务器在参数库中新增对应的参数,实现终端向服务器的线上反馈。
在一个实施例中,上述组件加载方法中的步骤S304中的识别组件样本中的组件配置项之前,还可以包括:根据预设注入规则在组件样本中注入组件配置项;则步骤S304识别组件样本中的组件配置项,可以包括:根据与预设注入规则对应的预设识别规则识别已注入的组件配置项。
其中,预设注入规则是服务器在生成组件样本时,在组件样本中注入可被参数接口发现的组件配置新的规则;服务器在生成组件样本时,需要通过预设注入规则在组件样本中注入终端可识别的组件配置项。例如,在spring框架中的预设注入规则可以包括:配置占位符注入规则、SPEl(Spring Expression Language,spring表达语言)注入规则和配置前缀注入规则。终端通过参数发现接口识别已注入的组件配置项时,可以根据预设注入规则对应的编程逻辑来设置识别规则,即预设识别规则。
例如,配置占位符注入规则:在组件样本中定义<property name="maxIdle"value="${MAX_IDLE}"/>、或者@Value("${MAX_IDLE}");其中,maxIdle、MAX_IDLE为组件配置项,终端从参数库中获取maxIdle的具体参数值来配置组件样本。
SPEl(Spring Expression Language,spring表达语言)注入规则:propertyname="maxIdle"value="#{MAX_IDLE}"或者@Value("#{MAX_IDLE}");同样地,MAX_IDLE为组件配置项。
配置前缀注入规则:通过config:config-prefix XML属性定义配置前缀;配置前缀+组件属性名的形式构成组件配置项。则与配置前缀注入规则对应的拦截Spring创建Bean过程,注入的组件配置项为Bean PropertyName,Bean为配置前缀,PropertyName为组件属性名,若检测到存在前缀+组件属性名的配置项时,则这一组件属性名为组件配置项。
上述实施例中,组件配置项是根据预设注入规则注入到组件样本中的,则终端是通过与预设注入规则对应的预设识别规则来识别组件配置项。
在一个实施例中,上述组件加载方法中的根据预设注入规则在组件样本中注入组件配置项,可以包括:获取待注入配置项,并获取待注入配置项对应的配置前缀;在组件样本中注入配置前缀。则步骤根据与预设注入规则对应的预设识别规则识别已注入的组件配置项,可以包括:根据配置前缀识别组件样本中的组件配置项。
其中,配置前缀是用于参数发现接口识别的前缀,如上例中Bean。
具体地,服务器在组件样本中注入组件配置项时,优选根据配置项的前缀进行注入的方式,即采用配置前缀+组件属性名的形式构成组件配置项。可以使得终端可以直接扫描组件样本中的组件属性名来识别组件配置项。
上述实施例中,采用前缀注入方式,开发人员不用理解组件配置项的个数和种类,只需要理解前缀,即可实现自动的配置管理,对开发人员要求较低,运维人员配置也更加可靠。
在一个实施例中,上述组件加载方法中的步骤S210中应用的启动操作之后,还可以包括:接收组件更新通知,组件更新通知中包括待更新信息;当接收到热更新指令时,根据待更新信息更新对应的组件。
其中,组件更新通知是在终端启动应用后,接收到组件中的配置项或者组件样本等发生了更新的消息;此组件更新通知是当服务器中存储的组件样本发生了版本更新,或者参数库中的参数发生了变更在服务器上触发的、用于更新终端上已配置的组件的消息。此组件更新通知中应包括本次更新组件的待更新信息,如待更新的组件以及本次对组件更新的内容。
热更新指令是在应用启动过程中进行组件更新操作的指令,可以由服务器向终端发送,也可以是终端接收到的用户输入的指令。
具体地,若服务器中存储的组件样本发生了版本更新,或者参数库中的参数发生了变更时,触发服务器生成一个组件更新通知,服务器将此组件更新通知发送给加载了此次更新组件的终端,终端接收到组件更新通知后,若用户向终端下达热更新指令,或者服务器向终端发送热更新指令时,终端即启动本次的组件更新的操作。另外,若终端未接收到热更新指令时,可在终端下一次启动应用时,再进行组件的更新操作。
上述实施例中,若服务器端对于组件的配置或者版本发生了更新时,则可根据更新内容的优先级或者终端用户的指令来决定是否触发终端对对应组件的热更新。
在一个实施例中,上述步骤S204检测应用中是否包含待加载组件之后,还可以包括:当应用中包含待加载组件时,继续应用的启动操作。
具体地,若在步骤S204中检测到应用中不包含待加载组件,则直接启动此应用,不对应用的启动进行拦截。
本实施例中,对于不包含待加载组件的应用,直接启动。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种组件加载装置,包括:启动指令接收模块100、检测模块200、拦截模块200、组件获取模块300和组件加载模块500,其中:
启动指令接收模块100,用于接收启动指令,根据启动指令触发应用的启动操作。
检测模块200,用于检测应用中是否包含待加载组件。
拦截模块300,用于当应用中包含待加载组件时,拦截应用的启动操作,并定位应用中待加载组件的目标位置。
组件获取模块400,用于根据目标位置识别组件类型,并从预设存储地址获取组件类型对应的待加载组件。
组件加载模块500,用于将待加载组件加载到目标位置,继续应用的启动操作。
在一个实施例中,上述组件加载装置中的组件获取模块400,可以包括:
组件样本获取单元,用于从预设存储地址获取组件类型对应的组件样本,组件样本中包含组件配置项。
参数获取单元,用于识别组件样本中的组件配置项,从已建立的参数库中获取组件配置项对应的参数。
组件配置单元,用于将获取的参数配置到对应的组件配置项中,得到待加载组件。
在一个实施例中,上述组件加载装置还可以包括:
新增请求模块,用于当参数库中不包括组件配置项对应的参数时,生成新增参数请求。
参数新增模块,用于将新增参数请求发送到服务器,使得服务器在参数库中新增组件配置项对应的参数。
在一个实施例中,上述组件加载装置还可以包括:
配置项注入模块,用于根据预设注入规则在组件样本中注入组件配置项。
上述参数获取单元,还可以用于:根据与预设注入规则对应的预设识别规则识别已注入的组件配置项。
在一个实施例中,上述配置项注入模块,可以包括:
前缀获取单元,用于获取待注入配置项,并获取待注入配置项对应的配置前缀。
前缀注入单元,用于在组件样本中注入配置前缀。
上述参数获取单元,还可以用于:根据配置前缀识别组件样本中的组件配置项。
在一个实施例中,上述组件加载装置,还可以包括:
更新通知接收模块,用于接收组件更新通知,组件更新通知中包括待更新组件的信息。
更新模块,用于当接收到热更新指令时,根据待更新信息更新对应的组件。
在一个实施例中,上述组件加载装置,还可以包括:
直接启动模块,用于当应用中包含待加载组件时,继续应用的启动操作。
关于组件加载装置的具体限定可以参见上文中对于组件加载方法的限定,在此不再赘述。上述组件加载装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种组件加载方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收启动指令,根据启动指令触发应用的启动操作;检测应用中是否包含待加载组件;当应用中包含待加载组件时,拦截应用的启动操作,并定位应用中待加载组件的目标位置;根据目标位置识别组件类型,并从预设存储地址获取组件类型对应的待加载组件;将待加载组件加载到目标位置,继续应用的启动操作。
在一个实施例中,处理器执行计算机程序时实现的从预设存储地址获取组件类型对应的待加载组件,包括:从预设存储地址获取组件类型对应的组件样本,组件样本中包含组件配置项;识别组件样本中的组件配置项,从已建立的参数库中获取组件配置项对应的参数;将获取的参数配置到对应的组件配置项中,得到待加载组件。
在一个实施例中,处理器执行计算机程序时实现的从已建立的参数库中获取组件配置项对应的参数之后,还包括:当参数库中不包括组件配置项对应的参数时,生成新增参数请求;将新增参数请求发送到服务器,使得服务器在参数库中新增组件配置项对应的参数。
在一个实施例中,处理器执行计算机程序时实现的识别组件样本中的组件配置项之前,还包括:根据预设注入规则在组件样本中注入组件配置项;处理器执行计算机程序时实现的识别组件样本中的组件配置项,包括:根据与预设注入规则对应的预设识别规则识别已注入的组件配置项。
在一个实施例中,处理器执行计算机程序时实现的根据预设注入规则在组件样本中注入组件配置项,包括:获取待注入配置项,并获取待注入配置项对应的配置前缀;在组件样本中注入配置前缀;处理器执行计算机程序时实现的根据与预设注入规则对应的预设识别规则识别已注入的组件配置项,包括:根据配置前缀识别组件样本中的组件配置项。
在一个实施例中,处理器执行计算机程序时实现的继续应用的启动操作之后,还包括:接收组件更新通知,组件更新通知中包括待更新组件的信息;当接收到热更新指令时,根据待更新信息更新对应的组件。
在一个实施例中,处理器执行计算机程序时实现的检测应用中是否包含待加载组件之后,还包括:当应用中包含待加载组件时,继续应用的启动操作。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收启动指令,根据启动指令触发应用的启动操作;检测应用中是否包含待加载组件;当应用中包含待加载组件时,拦截应用的启动操作,并定位应用中待加载组件的目标位置;根据目标位置识别组件类型,并从预设存储地址获取组件类型对应的待加载组件;将待加载组件加载到目标位置,继续应用的启动操作。
在一个实施例中,计算机程序被处理器执行时实现的从预设存储地址获取组件类型对应的待加载组件,包括:从预设存储地址获取组件类型对应的组件样本,组件样本中包含组件配置项;识别组件样本中的组件配置项,从已建立的参数库中获取组件配置项对应的参数;将获取的参数配置到对应的组件配置项中,得到待加载组件。
在一个实施例中,计算机程序被处理器执行时实现的从已建立的参数库中获取组件配置项对应的参数之后,还包括:当参数库中不包括组件配置项对应的参数时,生成新增参数请求;将新增参数请求发送到服务器,使得服务器在参数库中新增组件配置项对应的参数。
在一个实施例中,计算机程序被处理器执行时实现的识别组件样本中的组件配置项之前,还包括:根据预设注入规则在组件样本中注入组件配置项;处理器执行计算机程序时实现的识别组件样本中的组件配置项,包括:根据与预设注入规则对应的预设识别规则识别已注入的组件配置项。
在一个实施例中,计算机程序被处理器执行时实现的根据预设注入规则在组件样本中注入组件配置项,包括:获取待注入配置项,并获取待注入配置项对应的配置前缀;在组件样本中注入配置前缀;计算机程序被处理器执行时实现的根据与预设注入规则对应的预设识别规则识别已注入的组件配置项,包括:根据配置前缀识别组件样本中的组件配置项。
在一个实施例中,计算机程序被处理器执行时实现的继续应用的启动操作之后,还包括:接收组件更新通知,组件更新通知中包括待更新组件的信息;当接收到热更新指令时,根据待更新信息更新对应的组件。
在一个实施例中,计算机程序被处理器执行时实现的检测应用中是否包含待加载组件之后,还包括:当应用中包含待加载组件时,继续应用的启动操作。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种组件加载方法,所述方法包括:
接收启动指令,根据所述启动指令触发应用的启动操作;
检测所述应用中是否包含待加载组件;
当所述应用中包含待加载组件时,拦截所述应用的启动操作,并定位所述应用中待加载组件的目标位置;
根据所述目标位置识别组件类型,并从预设存储地址获取所述组件类型对应的待加载组件;
将所述待加载组件加载到所述目标位置,继续所述应用的启动操作。
2.根据权利要求1所述的方法,其特征在于,所述从预设存储地址获取所述组件类型对应的待加载组件,包括:
从预设存储地址获取所述组件类型对应的组件样本,所述组件样本中包含组件配置项;
识别所述组件样本中的组件配置项,从已建立的参数库中获取所述组件配置项对应的参数;
将获取的所述参数配置到对应的组件配置项中,得到所述待加载组件。
3.根据权利要求2所述的方法,其特征在于,所述从已建立的参数库中获取所述组件配置项对应的参数之后,还包括:
当所述参数库中不包括所述组件配置项对应的参数时,生成新增参数请求;
将所述新增参数请求发送到服务器,使得所述服务器在所述参数库中新增所述组件配置项对应的参数。
4.根据权利要求2所述的方法,其特征在于,所述识别所述组件样本中的组件配置项之前,还包括:
根据预设注入规则在所述组件样本中注入所述组件配置项;
所述识别所述组件样本中的组件配置项,包括:
根据与预设注入规则对应的预设识别规则识别已注入的组件配置项。
5.根据权利要求4所述的方法,其特征在于,所述根据预设注入规则在所述组件样本中注入所述组件配置项,包括:
获取待注入配置项,并获取所述待注入配置项对应的配置前缀;
在所述组件样本中注入所述配置前缀;
所述根据与预设注入规则对应的预设识别规则识别已注入的组件配置项,包括:
根据所述配置前缀识别所述组件样本中的组件配置项。
6.根据权利要求1所述的方法,其特征在于,所述继续所述应用的启动操作之后,还包括:
接收组件更新通知,所述组件更新通知中包括待更新组件的信息;
当接收到热更新指令时,根据所述待更新信息更新对应的组件。
7.根据权利要求1所述的方法,其特征在于,所述检测所述应用中是否包含待加载组件之后,还包括:
当所述应用中包含待加载组件时,继续所述应用的启动操作。
8.一种组件加载装置,其特征在于,所述装置包括:
启动指令接收模块,用于接收启动指令,根据所述启动指令触发应用的启动操作;
检测模块,用于检测所述应用中是否包含待加载组件;
拦截模块,用于当所述应用中包含待加载组件时,拦截所述应用的启动操作,并定位所述应用中待加载组件的目标位置;
组件获取模块,用于根据所述目标位置识别组件类型,并从预设存储地址获取所述组件类型对应的待加载组件;
组件加载模块,用于将所述待加载组件加载到所述目标位置,继续所述应用的启动操作。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201910968817.0A 2019-10-12 2019-10-12 组件加载方法、装置、计算机设备和存储介质 Active CN110727477B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910968817.0A CN110727477B (zh) 2019-10-12 2019-10-12 组件加载方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910968817.0A CN110727477B (zh) 2019-10-12 2019-10-12 组件加载方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN110727477A true CN110727477A (zh) 2020-01-24
CN110727477B CN110727477B (zh) 2023-03-24

Family

ID=69220032

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910968817.0A Active CN110727477B (zh) 2019-10-12 2019-10-12 组件加载方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110727477B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220370A (zh) * 2021-05-28 2021-08-06 杭州数跑科技有限公司 基于组件的活动应用管理方法、***、设备及存储介质
CN113434934A (zh) * 2021-06-28 2021-09-24 杭州群核信息技术有限公司 家居布局摆放方法、装置和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109634682A (zh) * 2018-11-29 2019-04-16 恒生电子股份有限公司 应用程序的配置文件更新方法及装置
CN109683988A (zh) * 2018-12-25 2019-04-26 鼎信信息科技有限责任公司 微服务启动方法、装置、计算机设备和存储介质
CN110162344A (zh) * 2019-04-15 2019-08-23 深圳壹账通智能科技有限公司 一种隔离限流的方法、装置、计算机设备及可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109634682A (zh) * 2018-11-29 2019-04-16 恒生电子股份有限公司 应用程序的配置文件更新方法及装置
CN109683988A (zh) * 2018-12-25 2019-04-26 鼎信信息科技有限责任公司 微服务启动方法、装置、计算机设备和存储介质
CN110162344A (zh) * 2019-04-15 2019-08-23 深圳壹账通智能科技有限公司 一种隔离限流的方法、装置、计算机设备及可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220370A (zh) * 2021-05-28 2021-08-06 杭州数跑科技有限公司 基于组件的活动应用管理方法、***、设备及存储介质
CN113434934A (zh) * 2021-06-28 2021-09-24 杭州群核信息技术有限公司 家居布局摆放方法、装置和存储介质

Also Published As

Publication number Publication date
CN110727477B (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
CN110008118B (zh) 页面数据测试方法、装置、计算机设备和存储介质
CN108845812B (zh) 插件更新方法、装置、计算机设备和存储介质
CN110290212B (zh) 服务调用记录方法、装置、计算机设备和存储介质
CN110231948B (zh) 应用程序方法、装置、***、存储介质和计算机设备
CN109814854B (zh) 项目框架生成方法、装置、计算机设备和存储介质
CN110866198B (zh) 静态资源缓存方法、***、装置、计算机设备和存储介质
CN110633160A (zh) 接口调用方法、装置、计算机设备和存储介质
JP7106001B2 (ja) サブアプリケーション開発方法、装置、コンピュータ機器、並びにコンピュータプログラム
CN108829485A (zh) 应用界面布局的更新方法、装置、存储介质及计算机设备
US8990929B2 (en) Auditing application activities
CN110543327B (zh) 业务组件复用方法、装置、计算机设备及存储介质
CN110489138B (zh) 一种应用更新方法、装置和存储介质
CN110727477B (zh) 组件加载方法、装置、计算机设备和存储介质
CN108540509B (zh) 一种终端浏览器的处理方法、装置及服务器、智能终端
CN113835713B (zh) 源码包下载方法、装置、计算机设备和存储介质
CN114531477B (zh) 功能组件的配置方法、装置、计算机设备和存储介质
CN109254765B (zh) 定时任务管理方法、装置、计算机设备及存储介质
CN110908778A (zh) 任务部署方法、***和存储介质
CN111726818A (zh) 无线芯片的测试方法、装置、计算机设备和存储介质
CN110765394A (zh) so文件加载方法、装置、存储介质及终端设备
CN110413292B (zh) 应用程序的轻应用安装方法、移动终端及存储介质
CN110362341B (zh) 基于微服务架构的业务管理方法、装置、设备和存储介质
CN111399860A (zh) 轻应用部署方法、装置、计算机设备和存储介质
CN108089887B (zh) 一种新增页面的启动控制方法及装置
CN108667919B (zh) 数据处理方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200122

Address after: 200120 floor 15, 1333 Lujiazui Ring Road, free trade Experimental Zone, Pudong New Area, Shanghai

Applicant after: Weikun (Shanghai) Technology Service Co.,Ltd.

Address before: 13th Floor, 1333 Lujiazui Ring Road, Shanghai Free Trade Pilot Area, 200120

Applicant before: SHANGHAI LUJIAZUI INTERNATIONAL FINANCIAL ASSETS TRANSACTION MARKET CO.,LTD.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231218

Address after: No. 3605, 5th Floor, Building 3, Micro World, No. 23 Century Avenue, Liuwu New District, Lhasa, Tibet Autonomous Region, 850000

Patentee after: Tibet Canyu Lunzhu Technology Co.,Ltd.

Address before: 15 / F, 1333 Lujiazui Ring Road, Pudong New Area pilot Free Trade Zone, Shanghai, 200120

Patentee before: Weikun (Shanghai) Technology Service Co.,Ltd.