应用程序定制化方法及系统

文档序号:1378261 发布日期:2020-08-14 浏览:13次 >En<

阅读说明:本技术 应用程序定制化方法及系统 (Application program customization method and system ) 是由 李晖 张文 孟杨 于 2019-01-21 设计创作,主要内容包括:本发明提供一种应用程序定制化方法及系统,方法包括:当关联应用运行时,获取关联应用对应的定制功能、关联应用对应的待定制应用、待定制应用的待定制功能、以及关联应用对应的关联规则;生成对应的关联关系,建立定制功能和待定制应用的待定制功能之间的关联,关联关系包括定制功能、待定制应用、待定制功能、以及关联规则。本方案能够根据用户自身需求对应用程序进行部分功能上的定制化修改,由于不修改应用程序的源代码,应用程序的核心关注点和定制化修改完全分离,定制方法安全且定制化的应用程序易维护。(The invention provides an application program customization method and system, wherein the method comprises the following steps: when the associated application runs, acquiring a customization function corresponding to the associated application, an application to be customized corresponding to the associated application, a function to be customized of the application to be customized and an association rule corresponding to the associated application; and generating a corresponding incidence relation, and establishing the incidence between the customizing function and the function to be customized of the application to be customized, wherein the incidence relation comprises the customizing function, the application to be customized, the function to be customized and an incidence rule. According to the scheme, the customized modification on partial functions of the application program can be carried out according to the self requirements of the user, the source code of the application program is not modified, the core concern of the application program is completely separated from the customized modification, the customization method is safe, and the customized application program is easy to maintain.)

应用程序定制化方法及系统

技术领域

本发明涉及软件开发技术领域,尤其涉及一种应用程序定制化方法及系统。

背景技术

随着计算机技术的快速发展,终端设备可通过应用程序实现各种各样的功能。例如,浏览器应用、社交应用、杀毒应用等。

在使用应用程序的过程中,经常会出现的一种情况是某个应用程序的大部分功能都很适合自己使用,但是存在一些其他的功能跟自己的需求有一定的差异。为了使应用程序能够满足不同用户的不同功能需求,需要对某些应用程序进行修改,但是目前存在的修改方式既不能保证修改模块的完整性,也不能保证修改模块的可追溯性。

发明内容

本发明提供一种应用程序定制化方法及系统,用于解决现有应用程序修改方式不能保证修改模块的完整性和可追溯性的问题。

本发明的第一个方面是提供一种应用程序定制化方法,包括:

当关联应用运行时,获取所述关联应用对应的定制功能、所述关联应用对应的待定制应用、所述待定制应用的待定制功能、以及所述关联应用对应的关联规则;

生成对应的关联关系,建立所述定制功能和所述待定制应用的待定制功能之间的关联,所述关联关系包括所述定制功能、所述待定制应用、所述待定制功能、以及所述关联规则。

可选的,所述获取所述关联应用对应的定制功能、所述关联应用对应的待定制应用、所述待定制应用的待定制功能、以及所述关联应用对应的关联规则之前,还包括:

接收用户输入的所述定制功能的标识、所述待定制应用的标识和所述待定制功能的标识;

根据所述定制功能的标识、所述待定制应用的标识和所述待定制功能的标识,确定所述定制功能、所述待定制应用和所述待定制功能;

接收用户根据预先建立的通知框架输入的所述关联规则对应的函数,所述通知框架包括多个关联规则对应的函数;

根据所述定制功能、所述待定制应用、所述待定制功能和所述关联规则,生成所述关联应用。

可选的,所述根据所述定制功能的标识,确定所述定制功能包括:

查找当前所有功能中是否存在与所述定制功能的标识对应的功能;

若存在,则将所述定制功能的标识对应的功能作为所述定制功能;

若不存在,则接收用户输入的第一功能对应的定制模块,将所述第一功能作为所述定制功能。

可选的,所述接收用户输入的第一功能对应的定制模块之后,还包括:

对所述第一功能进行校验;

所述将所述第一功能作为所述定制功能,包括:

若校验通过,则将所述第一功能作为所述定制功能。

可选的,所述方法还包括:

当需要运行待运行应用的待运行功能时,从当前的各关联关系中查找第一关联关系,所述第一关联关系中的待定制应用为所述待运行应用,且所述第一关联关系中的待定制功能为所述待运行功能;确定所述第一关联关系中的定制功能;

根据所述第一关联关系中的第一关联规则,运行所述待运行功能和所述第一关联关系中的定制功能。

本发明的第二个方面是提供一种应用程序定制化系统,包括:

获取模块,用于当关联应用运行时,获取所述关联应用对应的定制功能、所述关联应用对应的待定制应用、所述待定制应用的待定制功能、以及所述关联应用对应的关联规则;

关联模块,用于生成对应的关联关系,建立所述定制功能和所述待定制应用的待定制功能之间的关联,所述关联关系包括所述定制功能、所述待定制应用、所述待定制功能、以及所述关联规则。

可选的,所述系统还包括:

切入点模块,用于接收用户输入的所述定制功能的标识、所述待定制应用的标识和所述待定制功能的标识;

连接点模块,用于根据所述定制功能的标识、所述待定制应用的标识和所述待定制功能的标识,确定所述定制功能、所述待定制应用和所述待定制功能;

通知模块,用于接收用户根据预先建立的通知框架输入的所述关联规则对应的函数,所述通知框架包括多个关联规则对应的函数;

生成模块,用于根据所述定制功能、所述待定制应用、所述待定制功能和所述关联规则,生成所述关联应用。

可选的,所述连接点模块包括:

查找单元,用于查找当前所有功能中是否存在与所述定制功能的标识对应的功能;

选择单元,用于若存在,则将所述定制功能的标识对应的功能作为所述定制功能;

接收单元,用于若不存在,则接收用户输入的第一功能对应的定制模块,将所述第一功能作为所述定制功能。

可选的,所述接收单元包括:

校验子单元,用于对所述第一功能进行校验;

所述接收单元,具体用于:

若校验通过,则将所述第一功能作为所述定制功能。

可选的,所述系统还包括:

查找模块,用于当需要运行待运行应用的待运行功能时,从当前的各关联关系中查找第一关联关系,所述第一关联关系中的待定制应用为所述待运行应用,且所述第一关联关系中的待定制功能为所述待运行功能;确定所述第一关联关系中的定制功能;

运行模块,用于根据所述第一关联关系中的第一关联规则,运行所述待运行功能和所述第一关联关系中的定制功能。

本发明提供的应用程序定制化方法及系统,通过在关联应用运行时,获取关联应用对应的定制功能、关联应用对应的待定制应用、待定制应用的待定制功能、以及关联应用对应的关联规则;生成对应的关联关系,建立定制功能和待定制应用的待定制功能之间的关联,以实现对待定制应用程序的定制化。本方案能够根据用户自身需求对应用程序进行部分功能上的定制化修改,由于不修改应用程序的源代码,应用程序的核心关注点和定制化修改完全分离,定制方法安全且定制化的应用程序易维护。

附图说明

图1为本发明实施例一提供的应用程序定制化方法的流程示意图;

图2为本发明实施例二提供的应用程序定制化方法的流程示意图;

图3为本发明实施例三提供的应用程序定制化方法的流程示意图;

图4为本发明实施例四提供的应用程序定制化系统的结构示意图;

图5为本发明实施例五提供的应用程序定制化系统的结构示意图;

图6为本发明实施例六提供的应用程序定制化系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例一提供的应用程序定制化方法的流程示意图。如图1所示,所述方法包括如下步骤:

11、当关联应用运行时,获取所述关联应用对应的定制功能、所述关联应用对应的待定制应用、所述待定制应用的待定制功能、以及所述关联应用对应的关联规则;

以实际应用举例来说,所述关联应用对应的待定制应用可以为一个应用,也可以为多个具有同一特定功能的应用,如3个,相对应的,所述待定制应用的待定制功能为所述多个应用的所述同一特定功能。

进一步的,所述关联应用为Android系统中的应用程序,所述关联应用运行时的程序文件和数据文件集成在所述Android操作系统的ROM中,从而避开root操作,即避开了对待定制应用的源代码的修改,从而保证整个Android系统不受root操作带来的安全威胁。

12、生成对应的关联关系,建立所述定制功能和所述待定制应用的待定制功能之间的关联,所述关联关系包括所述定制功能、所述待定制应用、所述待定制功能、以及所述关联规则。

本实施例提供的应用程序定制化方法,通过在关联应用运行时,获取关联应用对应的定制功能、关联应用对应的待定制应用、待定制应用的待定制功能、以及关联应用对应的关联规则;生成对应的关联关系,建立定制功能和待定制应用的待定制功能之间的关联,以实现对待定制应用程序的定制化。本方案能够根据用户自身需求对应用程序进行部分功能上的定制化修改,且由于不修改应用程序的源代码,应用程序的核心关注点和定制化修改完全分离,定制方法安全且定制化的应用程序易维护。

图2为本发明实施例二提供的应用程序定制化方法的流程示意图,在图1所示实施方式的基础上,在11之前,所述方法还包括:

21、接收用户输入的所述定制功能的标识、所述待定制应用的标识和所述待定制功能的标识;

具体的,所述定制功能标识和所述待定制功能的标识可以为相应功能的名称,或者相应功能所对应的函数名称,或者终端用以识别相应功能的其他特征信息。所述待定制应用的标识可以为所述待定制应用的名称或者终端用以识别所述待定制应用的其他特征信息。

22、根据所述定制功能的标识、所述待定制应用的标识和所述待定制功能的标识,确定所述定制功能、所述待定制应用和所述待定制功能;

具体的,在22中,根据所述定制功能的标识,确定所示定制功能具体包括:查找当前所有功能中是否存在与所述定制功能的标识对应的功能;若存在,则将所述定制功能的标识对应的功能作为所述定制功能;若不存在,则接收用户输入的第一功能对应的定制模块,将所述第一功能作为所述定制功能。通过先查找当前已有的功能中是否存在定制功能,若有,则不需要用户重复输入定制功能对应的定制模块,只需要根据所述定制功能的标识直接引用已有功能作为定制功能即可,方便高效,且能够降低用户输入定制模块过程中可能存在输入错误的风险,增强应用程序定制化过程的安全性。

进一步的,为了增强应用程序定制化过程的安全性,在接收用户输入的第一功能对应的定制模块之后,所述方法还包括:对所述第一功能进行校验;相对应的,所述将所述第一功能作为所述定制功能,包括:若校验通过,则将所述第一功能作为所述定制功能。以实际应用举例来说,在接收用户输入的第一功能对应的定制模块之后,对所述定制模块进行签名校验,检验所述定制模块的完整性和可追溯性;校验通过以后,将所述定制模块加载到内存,使所述定制模块生效,而未通过校验的定制模块则不会被加载生效。通过对用户输入的第一功能对应的定制模块进行校验,可以保证整个定制化过程中使用的定制模块的完整性,从而提升应用程序定制化过程的安全性。

23、接收用户根据预先建立的通知框架输入的所述关联规则对应的函数,所述通知框架包括多个关联规则对应的函数;

具体的,所述关联规则对应的函数包括钩子函数。以实际应用举例来说,所述定制功能、所述待定制应用和所述待定制功能通过所述钩子函数建立对应的关联关系,以使运行到所述待定制应用的所述待定制功能时,首先运行与所述待定制功能关联的所述定制功能。

24、根据所述定制功能、所述待定制应用、所述待定制功能和所述关联规则,生成所述关联应用。

具体的,可以在存储所述待定制应用的终端设备中根据所述定制功能、所述待定制应用、所述待定制功能和所述关联规则生成所述关联应用,也可以在其他终端设备中根据所述定制功能、所述待定制应用、所述待定制功能和所述关联规则生成所述关联应用,并将所述关联应用存储至所述存储所述待定制应用的终端设备中。

本实施例提供的应用程序定制化方法,通过接收用户输入的定制功能的标识、待定制应用的标识和所述待定制功能的标识,确定定制功能、待定制应用和待定制功能;结合所接收的用户根据预先建立的通知框架输入的关联规则对应的函数,生成关联应用,通过关联应用将定制功能添加至待定制应用,以实现对待定制应用程序的定制化。本方案能够根据用户自身需求对应用程序进行部分功能上的定制化修改,且由于不修改应用程序的源代码,应用程序的核心关注点和定制化修改完全分离,定制方法安全且定制化的应用程序易维护。

图3为本发明实施例三提供的应用程序定制化方法的流程示意图。在实施例一或实施例二的基础上,所述方法还包括:

31、当需要运行待运行应用的待运行功能时,从当前的各关联关系中查找第一关联关系,所述第一关联关系中的待定制应用为所述待运行应用,且所述第一关联关系中的待定制功能为所述待运行功能;确定所述第一关联关系中的定制功能;

具体的,所述待运行应用为Android系统中的应用程序。

32、根据所述第一关联关系中的第一关联规则,运行所述待运行功能和所述第一关联关系中的定制功能。

本实施例提供的应用程序定制化方法,通过在需要运行待运行应用的待运行功能时,从当前的各关联关系中查找第一关联关系,第一关联关系中的待定制应用为待运行应用,待定制功能为待运行功能;确定第一关联关系中的定制功能,并根据第一关联关系中的第一关联规则,运行待运行功能和定制功能,以实现对待定制应用程序的定制化。本方案能够根据用户自身需求对应用程序进行部分功能上的定制化修改,且由于不修改应用程序的源代码,应用程序的核心关注点和定制化修改完全分离,定制方法安全且定制化的应用程序易维护。

图4为本发明实施例四提供的应用程序定制化系统的结构示意图。如图4所示,所述系统包括:

获取模块41,用于当关联应用运行时,获取所述关联应用对应的定制功能、所述关联应用对应的待定制应用、所述待定制应用的待定制功能、以及所述关联应用对应的关联规则;

以实际应用举例来说,所述关联应用对应的待定制应用可以为一个应用,也可以为多个具有同一特定功能的应用,如3个,相对应的,所述待定制应用的待定制功能为所述多个应用的所述同一特定功能。

进一步的,所述关联应用为Android系统中的应用程序,所述关联应用运行时的程序文件和数据文件集成在所述Android操作系统的ROM中,从而避开root操作,即避开了对待定制应用的源代码的修改,从而保证整个Android系统不受root操作带来的安全威胁。

关联模块42,用于生成对应的关联关系,建立所述定制功能和所述待定制应用的待定制功能之间的关联,所述关联关系包括所述定制功能、所述待定制应用、所述待定制功能、以及所述关联规则。

本实施例提供的应用程序定制化系统,通过在关联应用运行时,获取关联应用对应的定制功能、关联应用对应的待定制应用、待定制应用的待定制功能、以及关联应用对应的关联规则;生成对应的关联关系,建立定制功能和待定制应用的待定制功能之间的关联,以实现对待定制应用程序的定制化。本方案能够根据用户自身需求对应用程序进行部分功能上的定制化修改,且由于不修改应用程序的源代码,应用程序的核心关注点和定制化修改完全分离,定制方法安全且定制化的应用程序易维护。

图5为本发明实施例五提供的应用程序定制化系统的结构示意图。在图4所示实施方式的基础上,所述系统还包括:

切入点模块51,用于接收用户输入的所述定制功能的标识、所述待定制应用的标识和所述待定制功能的标识;

具体的,所述定制功能标识和所述待定制功能的标识可以为相应功能的名称,或者相应功能所对应的函数名称,或者终端用以识别相应功能的其他特征信息。所述待定制应用的标识可以为所述待定制应用的名称或者终端用以识别所述待定制应用的其他特征信息。

连接点模块52,用于根据所述定制功能的标识、所述待定制应用的标识和所述待定制功能的标识,确定所述定制功能、所述待定制应用和所述待定制功能;

具体的,所述连接点模块52包括:查找单元,用于查找当前所有功能中是否存在与所述定制功能的标识对应的功能;选择单元,用于若存在,则将所述定制功能的标识对应的功能作为所述定制功能;接收单元,用于若不存在,则接收用户输入的第一功能对应的定制模块,将所述第一功能作为所述定制功能。通过先查找当前已有的功能中是否存在定制功能,若有,则不需要用户重复输入定制功能对应的定制模块,只需要根据所述定制功能的标识直接引用已有功能作为定制功能即可,方便高效,且能够降低用户输入定制模块过程中可能存在输入错误的风险,增强应用程序定制化过程的安全性。

进一步的,为了增强应用程序定制化过程的安全性,所述接收单元还包括:校验子单元,用于对所述第一功能进行校验;相对应的,所述接收单元具体用于:若校验通过,则将所述第一功能作为所述定制功能。以实际应用举例来说,在所述接收单元接收用户输入的第一功能对应的定制模块之后,所述接收单元中的校验子单元对所述定制模块进行签名校验,检验所述定制模块的完整性和可追溯性;校验通过以后,将所述定制模块加载到内存,使所述定制模块生效,而未通过校验的定制模块则不会被加载生效。通过对用户输入的第一功能对应的定制模块进行校验,可以保证整个定制化过程中使用的定制模块的完整性,从而提升应用程序定制化过程的安全性。

通知模块53,用于接收用户根据预先建立的通知框架输入的所述关联规则对应的函数,所述通知框架包括多个关联规则对应的函数;

具体的,所述关联规则对应的函数包括钩子函数。以实际应用举例来说,所述定制功能、所述待定制应用和所述待定制功能通过所述钩子函数建立对应的关联关系,以使运行到所述待定制应用的所述待定制功能时,首先运行与所述待定制功能关联的所述定制功能。

生成模块54,用于根据所述定制功能、所述待定制应用、所述待定制功能和所述关联规则,生成所述关联应用。

具体的,可以在存储所述待定制应用的终端设备中根据所述定制功能、所述待定制应用、所述待定制功能和所述关联规则生成所述关联应用,也可以在其他终端设备中根据所述定制功能、所述待定制应用、所述待定制功能和所述关联规则生成所述关联应用,并将所述关联应用存储至所述存储所述待定制应用的终端设备中。

本实施例提供的应用程序定制化系统,通过接收用户输入的定制功能的标识、待定制应用的标识和所述待定制功能的标识,确定定制功能、待定制应用和待定制功能;结合所接收的用户根据预先建立的通知框架输入的关联规则对应的函数,生成关联应用,通过关联应用将定制功能添加至待定制应用,以实现对待定制应用程序的定制化。本方案能够根据用户自身需求对应用程序进行部分功能上的定制化修改,且由于不修改应用程序的源代码,应用程序的核心关注点和定制化修改完全分离,定制方法安全且定制化的应用程序易维护。

图6为本发明实施例六提供的应用程序定制化系统的结构示意图。在实施例四或实施例五的基础上,所述系统还包括:

查找模块61,用于当需要运行待运行应用的待运行功能时,从当前的各关联关系中查找第一关联关系,所述第一关联关系中的待定制应用为所述待运行应用,且所述第一关联关系中的待定制功能为所述待运行功能;确定所述第一关联关系中的定制功能;

具体的,所述待运行应用为Android系统中的应用程序。

运行模块62,用于根据所述第一关联关系中的第一关联规则,运行所述待运行功能和所述第一关联关系中的定制功能。

本实施例提供的应用程序定制化系统,通过在需要运行待运行应用的待运行功能时,从当前的各关联关系中查找第一关联关系,第一关联关系中的待定制应用为待运行应用,待定制功能为待运行功能;确定第一关联关系中的定制功能,并根据第一关联关系中的第一关联规则,运行待运行功能和定制功能,以实现对待定制应用程序的定制化。本方案能够根据用户自身需求对应用程序进行部分功能上的定制化修改,且由于不修改应用程序的源代码,应用程序的核心关注点和定制化修改完全分离,定制方法安全且定制化的应用程序易维护。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:网页制作方法、装置、计算机设备和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!