CN113467817B - 一种应用管理方法、系统、介质及电子终端 - Google Patents
一种应用管理方法、系统、介质及电子终端 Download PDFInfo
- Publication number
- CN113467817B CN113467817B CN202110797773.7A CN202110797773A CN113467817B CN 113467817 B CN113467817 B CN 113467817B CN 202110797773 A CN202110797773 A CN 202110797773A CN 113467817 B CN113467817 B CN 113467817B
- Authority
- CN
- China
- Prior art keywords
- application
- sub
- template
- applications
- main application
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/62—Uninstallation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种应用管理方法、系统、介质及电子终端,方法包括:创建一个或多个租户任务,所述租户任务包括:创建租户标识,以及建立多个租户标识与用户之间的第一关联关系;将同一租户与一个或多个应用对应,多个所述应用包括:主应用和子应用;利用同一套模板框架,对所述主应用和子应用进行应用嵌套;获取子应用标识,将所述子应用标识与权限功能信息进行关联绑定,获取第二关联关系;根据所述第一关联关系和第二关联关系,获取对应的应用数据,完成应用管理;本发明中的应用管理方法,能够在主应用直接管理多个子应用的权限配置,实现了对复杂场景中的多应用的融合管理,以及主应用与子应用之间的统一皮肤管理,实施较方便,成本较低。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用管理方法、系统、介质及电子终端。
背景技术
在大型应用开发过程中,经常会遇到各个应用系统相互嵌套、相互依赖、相互影响的痛点,需要统一用户信息、租户信息、组织管理及权限管理,同时,在交互层面要统一UI(User Interface,用户界面)风格。
目前,通常采用是iframe嵌套子应用的方式,利用同域打通交互,然而该方法中对于数据交互和UI交互的技术要求难度较高,实现较困难;或者,通过提取公共模块,并对公共模块进行封装,让子应用调用封装后的公共模块,实现不同应用UI风格的统一,然而,该方法在浏览器渲染展示的时候,会先展示子应用,再展示公共模块,体验较差,且上述两种方法都不能较好地通过主应用控制子应用的UI展示。
发明内容
本发明提供一种应用管理方法、系统、介质及电子终端,以解决现有技术中不便于对复杂场景中的多应用进行融合管理,且不能较好的实现主应用与子应用之间的统一皮肤管理的问题。
本发明提供的应用管理方法,包括:
创建一个或多个租户任务,所述租户任务包括:创建租户标识,以及建立多个租户标识与用户之间的第一关联关系;
将同一租户与一个或多个应用对应,多个所述应用包括:主应用和子应用;
利用同一套模板框架,对所述主应用和子应用进行应用嵌套;
获取子应用标识,将所述子应用标识与权限功能信息进行关联绑定,获取第二关联关系;
根据所述第一关联关系和第二关联关系,获取对应的应用数据,完成应用管理。
可选的,利用同一套模板框架,对所述主应用和子应用进行应用嵌套的步骤包括:
通过预设的自定义的打包模块,获取所述子应用的通用模块定义规范的模块包;
在所述主应用的域名下,对所述模块包中的静态资源进行动态加载解析,获取静态网页文档;
将所述静态网页文档作为子节点输入主应用的容器,利用标准模板仓库中的同一套所述模板框架,获取主应用模板和子应用模板;
通过将所述主应用模板和/或子应用模板分别指向所述标准模板仓库,对主应用模板和/或子应用模板的模板框架的功能与界面进行更新,完成主应用和子应用的融合。
可选的,根据所述子应用的环境变量,判断所述子应用是否在主应用模板的模板框架下进行渲染;
若所述子应用在主应用模板的模板框架下进行渲染,则直接读取主应用模板的层叠样式表变量;
根据所述主应用模板的层叠样式表变量,完成所述子应用在主应用模板的模板框架下的渲染。
可选的,所述主应用和子应用共享同一套文档上下文;
所述主应用通过所述同一套文档上下文,对子应用的层叠样式表样式进行控制或修改;
将所述主应用设置为本地存储,并在window对象上注入全局变量;
所述子应用通过对所述全局变量进行读取,获取相应的功能或应用数据。
可选的,对所述主应用和子应用之间进行资源隔离,所述资源隔离至少包括以下之一:全局变量隔离、层叠样式表样式隔离和路由隔离;
所述全局变量隔离的步骤包括:在所述子应用的预设的生命周期开始之前,分别对所述子应用的全局状态创建快照,获取相应的快照信息,所述生命周期包括:前端开发框架加载和挂接;
根据所述快照信息,当所述子应用切出或卸载时,将当前的全局状态回滚至前端开发框架加载开始前的全局状态;
当所述子应用二次进入时,则根据所述快照信息,将当前的全局状态恢复至挂接开始前的全局状态。
可选的,对每个所述子应用设置唯一的层叠样式表前缀;
当所述子应用切出或卸载时,根据所述层叠样式表前缀,将对应的层叠样式表进行卸载,完成层叠样式表样式隔离;
当多个所述子应用接入主应用时,主应用为子应用申请对应的路由前缀;
在所述子应用运行过程中,判断所述子应用是否在主应用模板的模板框架下渲染,并使用所述主应用申请的路由前缀,获取判断结果;
根据所述判断结果,将每个所述子应用在不同的路由命名空间下进行独立渲染,完成路由隔离。
可选的,所述权限功能信息至少包括以下之一:角色信息、路由信息、按钮权限和数据权限。
本发明还提供一种应用管理系统,包括:
第一关联模块,用于创建一个或多个租户任务,所述租户任务包括:创建租户标识,以及建立多个租户标识与用户之间的第一关联关系;将同一租户与一个或多个应用对应,多个所述应用包括:主应用和子应用;
应用融合模块,用于利用同一套模板框架,对所述主应用和子应用进行应用嵌套;
第二关联模块,用于获取子应用标识,将所述子应用标识与权限功能信息进行关联绑定,获取第二关联关系;
应用管理模块,用于根据所述第一关联关系和第二关联关系,获取对应的应用数据,完成应用管理;所述第一关联模块、应用融合模块、第二关联模块和应用管理模块连接。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法。
本发明还提供一种电子终端,包括:处理器及存储器;
所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行上述任一项所述方法。
本发明的有益效果:本发明中的应用管理方法,通过创建一个或多个租户任务,所述租户任务包括:创建租户标识,以及建立多个租户标识与用户之间的第一关联关系;将同一租户与一个或多个应用对应,多个所述应用包括:主应用和子应用;利用同一套模板框架,对所述主应用和子应用进行应用嵌套;获取子应用标识,将所述子应用标识与权限功能信息进行关联绑定,获取第二关联关系;根据所述第一关联关系和第二关联关系,获取对应的应用数据,完成应用管理;实现了多租户和多应用之间的统一权限管理,同一个租户下多个应用共用同一套用户和组织架构,能够在主应用直接管理多个子应用的权限配置,实现了对复杂场景中的多应用的融合管理,以及主应用与子应用之间的统一皮肤管理,实施较方便,成本较低。
附图说明
图1是本发明实施例中应用管理方法的流程示意图。
图2是本发明实施例中应用管理方法中的多应用的关系示意图。
图3是本发明实施例中应用管理方法中应用融合的流程示意图。
图4是本发明实施例中应用管理方法中统一主应用和子应用的界面的流程示意图。
图5是本发明实施例中应用管理方法中全局变量隔离的流程示意图。
图6是本发明实施例中应用管理方法中层叠样式表样式隔离的流程示意图。
图7是本发明实施例中应用管理方法中路由隔离的流程示意图。
图8是本发明实施例中应用管理系统的结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
发明人发现,在大型应用开发过程中,经常会遇到各个应用系统相互嵌套、相互依赖、相互影响的痛点,需要统一用户信息、租户信息、组织管理及权限管理,同时,在交互层面要统一UI(User Interface,用户界面)风格。目前,通常采用是iframe嵌套子应用的方式,利用同域打通交互,然而该方法中对于数据交互和UI交互的技术要求难度较高,实现较困难;或者,通过提取公共模块,并对公共模块进行封装,让子应用调用封装后的公共模块,实现不同应用UI风格的统一,然而,该方法在浏览器渲染展示的时候,会先展示子应用,再展示公共模块,体验较差,且上述两种方法都不能较好地通过主应用控制子应用的UI展示。因此,发明人提出一种应用管理方法、系统、介质及电子终端,通过创建一个或多个租户任务,所述租户任务包括:创建租户标识,以及建立多个租户标识与用户之间的第一关联关系;将同一租户与一个或多个应用对应,多个所述应用包括:主应用和子应用;利用同一套模板框架,对所述主应用和子应用进行应用嵌套;获取子应用标识,将所述子应用标识与权限功能信息进行关联绑定,获取第二关联关系;根据所述第一关联关系和第二关联关系,获取对应的应用数据,完成应用管理;实现了多租户和多应用之间的统一权限管理,同一个租户下多个应用共用同一套用户和组织结构,能够在主应用直接管理多个子应用的权限配置,实现了对复杂场景中的多应用的融合管理,以及主应用与子应用之间的统一皮肤管理,实施较方便,成本较低,有效减少开发工作量。
如图1所示,本实施例中的应用管理方法,包括:
S101:创建一个或多个租户任务,所述租户任务包括:创建租户标识(ID,Identitydocument),以及建立多个租户标识与用户之间的第一关联关系,将同一租户与一个或多个应用对应,多个所述应用包括:主应用和子应用;其中,用户包括用户所在的组织关系或组织架构。
S102:利用同一套模板框架,对所述主应用和子应用进行应用嵌套;通过利用同一套模板框架,对主应用和子应用进行融合,能够较好地实现主应用和子应用之间的嵌套关系,并且,实现了主应用和子应用之间的统一界面或皮肤管理。例如:利用同一套模板框架,主应用加载子应用输出的模块包,获取主应用模板和子应用模板,利用所述主应用模板和子应用模板,实现了主应用和子应用之间的融合。
S103:获取子应用标识,将所述子应用标识与权限功能信息进行关联绑定,获取第二关联关系;所述权限功能信息至少包括以下之一:角色信息、路由信息、按钮权限和数据权限。通过将子应用标识与权限功能信息进行关联绑定,使得不同的子应用对应不同的角色、路由和权限,有助于实现主应用直接管理多个子应用的权限配置。
S104:根据所述第一关联关系和第二关联关系,获取对应的应用数据,完成应用管理;即根据租户标识、子应用标识、第一关联关系和第二关联关系,获取对应的应用数据,完成应用管理。通过上述方法,较好地实现了多租户和多应用之间的统一权限管理,同一个租户下多个应用共用同一套用户和组织结构,能够在主应用直接管理多个子应用的权限配置,实现了对复杂场景中的多应用的融合管理,以及主应用与子应用之间的统一皮肤管理,实施较方便,成本较低,有效减少开发工作量,同时,能够对主应用和子应用之间的公共数据进行共享和管理,可实施性较高。
例如:如图2所示,建立多个租户标识与用户、组织关系之间的第一关联关系,并且,将将多个子应用,如应用A、应用B等的子应用标识与权限功能信息进行关联绑定,获取第二关联关系,所述权限功能信息包括:角色信息、菜单/按钮权限、数据权限和路由信息,根据所述租户标识、子应用标识、第一关联关系和第二关联关系,获取对应的应用数据,使得同一个用户根据不同的租户标识和子应用标识,即可获取对应的应用数据,实施较方便,并且,通过利用同一套模板框架,对主应用和子应用进行融合,能够较好地实现主应用和子应用之间的嵌套关系,实现了主应用和子应用之间的统一界面管理。
请参考图3,为了较好地实现主应用和子应用之间的融合,发明人提出,利用同一套模板框架,对所述主应用和子应用进行应用嵌套的步骤包括:
S301:通过预设的自定义的打包模块,获取所述子应用的通用模块定义规范(UMD,Universal Module Definition)的模块包;
S302:在所述主应用的域名下,对所述模块包中的静态资源进行动态加载解析,获取静态网页文档;例如:通过html-entry的方式,在主应用的域名下对模块包中的静态资源进行动态加载解析,获取html document作为静态网页文档。
S303:将所述静态网页文档作为子节点输入主应用的容器,利用标准模板仓库中的同一套所述模板框架,获取主应用模板和子应用模板;通过上述步骤,能够使得子应用界面在主应用域名下渲染,用户在当前页面即可访问和使用不同的业务系统。
S304:通过将所述主应用模板和/或子应用模板分别指向所述标准模板仓库,对主应用模板和/或子应用模板的模板框架的功能与界面进行更新,完成主应用和子应用的融合。即通过主应用加载子应用输出的模块包,实现了分别合并标准模板框架的代码,基于标准模板仓库,获取主应用模板和子应用模板,业务方通过直接克隆主应用模板或子应用模板的仓库开发业务代码,并设置独立的git origin(git来源)指向标准模板仓库,根据业务需求,对主应用模板和/或子应用模板的模板框架的功能与界面进行同步与更新,较好地实现了主应用和子应用之间的嵌套关系,同时,实现了主应用与子应用之间的界面统一。
如图4所示,为了较好地实现主应用和子应用之间的UI界面统一,发明人提出:
S401:根据所述子应用的环境变量,判断所述子应用是否在主应用模板的模板框架下进行渲染;
S402:若所述子应用在主应用模板的模板框架下进行渲染,则直接读取主应用模板的层叠样式表(css,Cascading Style Sheets)变量;
S403:根据所述主应用模板的层叠样式表变量,完成所述子应用在主应用模板的模板框架下的渲染。例如:当子应用在主应用模板的模板框架下进行渲染时,则不设置子应用的css变量,直接读取主应用模板的css变量,较好地实现了主应用和子应用之间的UI界面的统一。
为了使得主应用对子应用的层叠样式表样式进行控制与修改,发明人提出:
所述主应用和子应用共享同一套文档上下文;
所述主应用通过所述同一套文档上下文,对子应用的层叠样式表样式进行控制或修改。
进一步地,为了较好地实现主应用控制子应用的配置,发明人提出:
将所述主应用设置为本地存储,并在window对象上注入全局变量;
所述子应用通过对所述全局变量进行读取,获取相应的功能或应用数据。即由于子应用和主应用共享同一套文档上下文,因此,通过将主应用设置为本地存储,并在window对象上注入全局变量,使得主应用通过读取全局变量,即可获取相应的功能或应用数据。例如:子应用可以直接使用主应用注入的全局登录登出方法,直接使用主应用设置的本地token实现免登录登出逻辑。
为了实现主应用与子应用之间,或不同子应用之间的资源隔离,保证各个应用之间互不干扰,发明人提出,对所述主应用和子应用之间进行资源隔离,所述资源隔离至少包括以下之一:全局变量隔离、层叠样式表样式隔离和路由隔离;
请参考图5,所述全局变量隔离的步骤包括:
S501:在所述子应用的预设的生命周期开始之前,分别对所述子应用的全局状态创建快照,获取相应的快照信息,所述生命周期包括:前端开发框架(bootstrap)加载和挂接(mount);
S502:根据所述快照信息,当所述子应用切出或卸载时,将当前的全局状态回滚至bootstrap开始前的全局状态;以此确保子应用对全局状态的污染全部清零。
S503:当所述子应用二次进入时,则根据所述快照信息,将当前的全局状态恢复至挂接开始前的全局状态。以此确保子应用在remount时拥有跟第一次mount时一致的全局上下文,从而实现不同子应用之间,或主应用与主应用之间的全局变量隔离。
如图6所示,所述层叠样式表样式隔离的步骤包括:
S601:对每个所述子应用设置唯一的层叠样式表前缀;
S602:当所述子应用切出或卸载时,根据所述层叠样式表前缀,将对应的层叠样式表进行卸载,完成层叠样式表样式隔离。即针对所有的样式表的插入、移除,做整个CSSOM(层叠样式表对象模型,Cascading Style Sheets Object Model)的重构,从而保证在一个时间点里,只有一个子应用的样式表是生效的,实现css样式隔离。
请参考图7,路由隔离的步骤包括:
S701:当多个所述子应用接入主应用时,主应用为子应用申请对应的路由前缀;
S702:在所述子应用运行过程中,判断所述子应用是否在主应用模板的模板框架下渲染,并使用所述主应用申请的路由前缀,获取判断结果;
S703:根据所述判断结果,将每个所述子应用在不同的路由命名空间下进行独立渲染,完成路由隔离。通过上述步骤,由主应用保证每一个子应用在不同的路由空间下独立渲染,实现了主应用与子应用之间、不同子应用之间的路由隔离。
如图8所示,本实施例还提供一种应用管理系统,其特征在于,包括:
第一关联模块,用于创建一个或多个租户任务,所述租户任务包括:创建租户标识,以及建立多个租户标识与用户之间的第一关联关系;将同一租户与一个或多个应用对应,多个所述应用包括:主应用和子应用;
应用融合模块,用于利用同一套模板框架,对所述主应用和子应用进行应用嵌套;
第二关联模块,用于获取子应用标识,将所述子应用标识与权限功能信息进行关联绑定,获取第二关联关系;
应用管理模块,用于根据所述第一关联关系和第二关联关系,获取对应的应用数据,完成应用管理;所述第一关联模块、应用融合模块、第二关联模块和应用管理模块连接。通过创建一个或多个租户任务,所述租户任务包括:创建租户标识,以及建立多个租户标识与用户之间的第一关联关系;将同一租户与一个或多个应用对应,多个所述应用包括:主应用和子应用;利用同一套模板框架,对所述主应用和子应用进行应用嵌套;获取子应用标识,将所述子应用标识与权限功能信息进行关联绑定,获取第二关联关系;根据所述第一关联关系和第二关联关系,获取对应的应用数据,完成应用管理;实现了多租户和多应用之间的统一权限管理,同一个租户下多个应用共用同一套用户和组织架构,能够在主应用直接管理多个子应用的权限配置,实现了对复杂场景中的多应用的融合管理,以及主应用与子应用之间的统一皮肤管理,实施较方便,成本较低。
在一些实施例中,利用同一套模板框架,对所述主应用和子应用进行应用嵌套的步骤包括:
通过预设的自定义的打包模块,获取所述子应用的通用模块定义规范的模块包;
在所述主应用的域名下,对所述模块包中的静态资源进行动态加载解析,获取静态网页文档;
将所述静态网页文档作为子节点输入主应用的容器,利用标准模板仓库中的同一套所述模板框架,获取主应用模板和子应用模板;
通过将所述主应用模板和/或子应用模板分别指向所述标准模板仓库,对主应用模板和/或子应用模板的模板框架的功能与界面进行更新,完成主应用和子应用的融合。
在一些实施例中,根据所述子应用的环境变量,判断所述子应用是否在主应用模板的模板框架下进行渲染;
若所述子应用在主应用模板的模板框架下进行渲染,则直接读取主应用模板的层叠样式表变量;
根据所述主应用模板的层叠样式表变量,完成所述子应用在主应用模板的模板框架下的渲染。
在一些实施例中,所述主应用和子应用共享同一套文档上下文;
所述主应用通过所述同一套文档上下文,对子应用的层叠样式表样式进行控制或修改;
将所述主应用设置为本地存储,并在window对象上注入全局变量;
所述子应用通过对所述全局变量进行读取,获取相应的功能或应用数据。
在一些实施例中,对所述主应用和子应用之间进行资源隔离,所述资源隔离至少包括以下之一:全局变量隔离、层叠样式表样式隔离和路由隔离;
所述全局变量隔离的步骤包括:在所述子应用的预设的生命周期开始之前,分别对所述子应用的全局状态创建快照,获取相应的快照信息,所述生命周期包括:前端开发框架加载和挂接;
根据所述快照信息,当所述子应用切出或卸载时,将当前的全局状态回滚至前端开发框架加载开始前的全局状态;
当所述子应用二次进入时,则根据所述快照信息,将当前的全局状态恢复至挂接开始前的全局状态。
在一些实施例中,对每个所述子应用设置唯一的层叠样式表前缀;
当所述子应用切出或卸载时,根据所述层叠样式表前缀,将对应的层叠样式表进行卸载,完成层叠样式表样式隔离;
当多个所述子应用接入主应用时,主应用为子应用申请对应的路由前缀;
在所述子应用运行过程中,判断所述子应用是否在主应用模板的模板框架下渲染,并使用所述主应用申请的路由前缀,获取判断结果;
根据所述判断结果,将每个所述子应用在不同的路由命名空间下进行独立渲染,完成路由隔离。
在一些实施例中,所述权限功能信息至少包括以下之一:角色信息、路由信息、按钮权限和数据权限。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本实施例中的任一项方法。
本实施例还提供一种电子终端,包括:处理器及存储器;
所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行本实施例中任一项方法。
本实施例中的计算机可读存储介质,本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例提供的电子终端,包括处理器、存储器、收发器和通信接口,存储器和通信接口与处理器和收发器连接并完成相互间的通信,存储器用于存储计算机程序,通信接口用于进行通信,处理器和收发器用于运行计算机程序,使电子终端执行如上方法的各个步骤。
在本实施例中,存储器可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (9)
1.一种应用管理方法,其特征在于,包括:
创建一个或多个租户任务,所述租户任务包括:创建租户标识,以及建立多个租户标识与用户之间的第一关联关系;
将同一租户与一个或多个应用对应,多个所述应用包括:主应用和子应用;
利用同一套模板框架,对所述主应用和子应用进行应用嵌套;
获取子应用标识,将所述子应用标识与权限功能信息进行关联绑定,获取第二关联关系;
根据所述第一关联关系和第二关联关系,获取对应的应用数据,完成应用管理;
对所述主应用和子应用之间进行资源隔离,所述资源隔离至少包括以下之一:全局变量隔离、层叠样式表样式隔离和路由隔离;
所述全局变量隔离的步骤包括:在所述子应用的预设的生命周期开始之前,分别对所述子应用的全局状态创建快照,获取相应的快照信息,所述生命周期包括:前端开发框架加载和挂接;
根据所述快照信息,当所述子应用切出或卸载时,将当前的全局状态回滚至前端开发框架加载开始前的全局状态;
当所述子应用二次进入时,则根据所述快照信息,将当前的全局状态恢复至挂接开始前的全局状态。
2.根据权利要求1所述的应用管理方法,其特征在于,利用同一套模板框架,对所述主应用和子应用进行应用嵌套的步骤包括:
通过预设的自定义的打包模块,获取所述子应用的通用模块定义规范的模块包;
在所述主应用的域名下,对所述模块包中的静态资源进行动态加载解析,获取静态网页文档;
将所述静态网页文档作为子节点输入主应用的容器,利用标准模板仓库中的同一套所述模板框架,获取主应用模板和子应用模板;
通过将所述主应用模板和/或子应用模板分别指向所述标准模板仓库,对主应用模板和/或子应用模板的模板框架的功能与界面进行更新,完成主应用和子应用的融合。
3.根据权利要求1所述的应用管理方法,其特征在于,
根据所述子应用的环境变量,判断所述子应用是否在主应用模板的模板框架下进行渲染;
若所述子应用在主应用模板的模板框架下进行渲染,则直接读取主应用模板的层叠样式表变量;
根据所述主应用模板的层叠样式表变量,完成所述子应用在主应用模板的模板框架下的渲染。
4.根据权利要求1所述的应用管理方法,其特征在于,
所述主应用和子应用共享同一套文档上下文;
所述主应用通过所述同一套文档上下文,对子应用的层叠样式表样式进行控制或修改;
将所述主应用设置为本地存储,并在window对象上注入全局变量;
所述子应用通过对所述全局变量进行读取,获取相应的功能或应用数据。
5.根据权利要求1所述的应用管理方法,其特征在于,
对每个所述子应用设置唯一的层叠样式表前缀;
当所述子应用切出或卸载时,根据所述层叠样式表前缀,将对应的层叠样式表进行卸载,完成层叠样式表样式隔离;
当多个所述子应用接入主应用时,主应用为子应用申请对应的路由前缀;
在所述子应用运行过程中,判断所述子应用是否在主应用模板的模板框架下渲染,并使用所述主应用申请的路由前缀,获取判断结果;
根据所述判断结果,将每个所述子应用在不同的路由命名空间下进行独立渲染,完成路由隔离。
6.根据权利要求1所述的应用管理方法,其特征在于,所述权限功能信息至少包括以下之一:角色信息、路由信息、按钮权限和数据权限。
7.一种应用管理系统,其特征在于,包括:
第一关联模块,用于创建一个或多个租户任务,所述租户任务包括:创建租户标识,以及建立多个租户标识与用户之间的第一关联关系;将同一租户与一个或多个应用对应,多个所述应用包括:主应用和子应用;
应用融合模块,用于利用同一套模板框架,对所述主应用和子应用进行应用嵌套;
第二关联模块,用于获取子应用标识,将所述子应用标识与权限功能信息进行关联绑定,获取第二关联关系;
应用管理模块,用于根据所述第一关联关系和第二关联关系,获取对应的应用数据,完成应用管理;所述第一关联模块、应用融合模块、第二关联模块和应用管理模块连接;对所述主应用和子应用之间进行资源隔离,所述资源隔离至少包括以下之一:全局变量隔离、层叠样式表样式隔离和路由隔离;所述全局变量隔离的步骤包括:在所述子应用的预设的生命周期开始之前,分别对所述子应用的全局状态创建快照,获取相应的快照信息,所述生命周期包括:前端开发框架加载和挂接;根据所述快照信息,当所述子应用切出或卸载时,将当前的全局状态回滚至前端开发框架加载开始前的全局状态;当所述子应用二次进入时,则根据所述快照信息,将当前的全局状态恢复至挂接开始前的全局状态。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述方法。
9.一种电子终端,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如权利要求1至6中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110797773.7A CN113467817B (zh) | 2021-07-14 | 2021-07-14 | 一种应用管理方法、系统、介质及电子终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110797773.7A CN113467817B (zh) | 2021-07-14 | 2021-07-14 | 一种应用管理方法、系统、介质及电子终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113467817A CN113467817A (zh) | 2021-10-01 |
CN113467817B true CN113467817B (zh) | 2022-11-15 |
Family
ID=77880317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110797773.7A Active CN113467817B (zh) | 2021-07-14 | 2021-07-14 | 一种应用管理方法、系统、介质及电子终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113467817B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114237769A (zh) * | 2021-12-14 | 2022-03-25 | 北京人大金仓信息技术股份有限公司 | 一种程序的执行方法、装置、设备及存储介质 |
CN118093052A (zh) * | 2022-02-11 | 2024-05-28 | 支付宝(杭州)信息技术有限公司 | 应用权限处理方法及装置 |
CN114661375A (zh) * | 2022-03-24 | 2022-06-24 | 阿里云计算有限公司 | 应用集成方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201506A (zh) * | 2016-07-07 | 2016-12-07 | 华南理工大学 | 基于多租户模式的功能装配与定制方法 |
CN108279923A (zh) * | 2018-01-04 | 2018-07-13 | 辽宁畅通数据通信有限公司 | 程序租户管理方法及系统、可读取存介质 |
CN109214151A (zh) * | 2018-09-28 | 2019-01-15 | 北京赛博贝斯数据科技有限责任公司 | 用户权限的控制方法及系统 |
CN111259378A (zh) * | 2020-01-08 | 2020-06-09 | 中国建设银行股份有限公司 | 多租户管理系统和多租户管理系统的实现方法 |
CN111950866A (zh) * | 2020-07-24 | 2020-11-17 | 合肥森亿智能科技有限公司 | 基于角色的多租户组织结构管理系统、方法、设备和介质 |
CN112487378A (zh) * | 2020-12-11 | 2021-03-12 | 宝付网络科技(上海)有限公司 | 一种适用于大数据平台的租户权限管理系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090037452A1 (en) * | 2007-07-31 | 2009-02-05 | Ahmad Baitalmal | System and Method for Synchronizing Applications |
CN104182414A (zh) * | 2013-05-24 | 2014-12-03 | 国际商业机器公司 | 用于在多租户系统中管理数据库的方法和设备 |
CN105323282B (zh) * | 2014-07-28 | 2018-12-04 | 神州数码信息系统有限公司 | 一种面向多租户的企业应用部署与管理系统 |
US9256467B1 (en) * | 2014-11-11 | 2016-02-09 | Amazon Technologies, Inc. | System for managing and scheduling containers |
CN105577675A (zh) * | 2015-12-31 | 2016-05-11 | 深圳前海微众银行股份有限公司 | 多租户资源管理的方法及装置 |
US10326744B1 (en) * | 2016-03-21 | 2019-06-18 | EMC IP Holding Company LLC | Security layer for containers in multi-tenant environments |
US10871956B2 (en) * | 2019-02-12 | 2020-12-22 | Open Text Corporation | Methods and systems for packaging and deployment of applications in a multitenant platform |
US11503037B2 (en) * | 2019-11-04 | 2022-11-15 | Microsoft Technology Licensing, Llc | Nested access privilege check for multi-tenant organizations |
CN111352737A (zh) * | 2020-02-28 | 2020-06-30 | 网思科技股份有限公司 | 一种基于资源池的容器云计算服务平台 |
CN112637232B (zh) * | 2020-12-29 | 2022-09-27 | 国云科技股份有限公司 | 支持多种策略的云平台资源隔离框架实现方法及装置 |
-
2021
- 2021-07-14 CN CN202110797773.7A patent/CN113467817B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201506A (zh) * | 2016-07-07 | 2016-12-07 | 华南理工大学 | 基于多租户模式的功能装配与定制方法 |
CN108279923A (zh) * | 2018-01-04 | 2018-07-13 | 辽宁畅通数据通信有限公司 | 程序租户管理方法及系统、可读取存介质 |
CN109214151A (zh) * | 2018-09-28 | 2019-01-15 | 北京赛博贝斯数据科技有限责任公司 | 用户权限的控制方法及系统 |
CN111259378A (zh) * | 2020-01-08 | 2020-06-09 | 中国建设银行股份有限公司 | 多租户管理系统和多租户管理系统的实现方法 |
CN111950866A (zh) * | 2020-07-24 | 2020-11-17 | 合肥森亿智能科技有限公司 | 基于角色的多租户组织结构管理系统、方法、设备和介质 |
CN112487378A (zh) * | 2020-12-11 | 2021-03-12 | 宝付网络科技(上海)有限公司 | 一种适用于大数据平台的租户权限管理系统 |
Non-Patent Citations (1)
Title |
---|
SaaS平台多租户数据管理及逻辑存储模型的研究;杨睿;《中国优秀硕士学位论文全文数据库 信息科技辑》;20131215(第S1期);I137-23 * |
Also Published As
Publication number | Publication date |
---|---|
CN113467817A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113467817B (zh) | 一种应用管理方法、系统、介质及电子终端 | |
CN107609004B (zh) | 应用程序埋点方法和装置、计算机设备和存储介质 | |
CN109783757B (zh) | 渲染网页的方法及装置、系统、存储介质、电子装置 | |
CN109491742B (zh) | 页面表格渲染方法及装置 | |
CN110070496B (zh) | 图像特效的生成方法、装置和硬件装置 | |
CN108509207A (zh) | Web应用程序的跨系统安装 | |
CN105930330A (zh) | 一种门户系统页面显示方法及装置 | |
WO2017007864A1 (en) | Gesture based sharing of user interface portion | |
CN112287010B (zh) | 基于安卓系统的地图服务提供方法、装置、终端及存储介质 | |
CN108776609A (zh) | 一种管理导航菜单的方法、装置、计算机存储介质及终端 | |
CN108664343A (zh) | 一种微服务的有状态调用方法及装置 | |
CN110941779A (zh) | 加载页面的方法、装置、存储介质及电子设备 | |
CN111881393A (zh) | 一种页面渲染方法、装置、介质及电子设备 | |
CN112635034A (zh) | 一种业务权限系统、权限分配方法、电子设备及存储介质 | |
CN110941428A (zh) | 一种网站创建方法和装置 | |
CN103324484A (zh) | 一种展现视图的方法及设备 | |
CN115618032A (zh) | 视图生成方法、装置、电子设备及存储介质 | |
CN106022010A (zh) | 一种文件展示方法及装置 | |
CN111666100A (zh) | 软件框架生成方法、装置、电子设备及存储介质 | |
CN115017110A (zh) | 信息处理方法、装置、终端和存储介质 | |
CN113656770A (zh) | 授权处理方法、装置、电子设备及计算机可读存储介质 | |
CN109614383B (zh) | 数据复制方法、装置、电子设备及存储介质 | |
CN116016420A (zh) | 一种任务清单分享方法、装置、设备及介质 | |
CN111008178A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN111753238A (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 |