CN110442392B - 一种包隔离方法、装置、电子设备和存储介质 - Google Patents
一种包隔离方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN110442392B CN110442392B CN201910642019.9A CN201910642019A CN110442392B CN 110442392 B CN110442392 B CN 110442392B CN 201910642019 A CN201910642019 A CN 201910642019A CN 110442392 B CN110442392 B CN 110442392B
- Authority
- CN
- China
- Prior art keywords
- module
- managed
- software package
- basic software
- management module
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种包隔离方法、装置、电子设备和存储介质,其中,该方法包括:所述管理模块确定所述被管理模块当前要执行的功能;所述管理模块确定所述功能在所述被管理模块中基于全球广域网Web服务访问对象的统一资源定位符URL;所述管理模块向所述被管理模块发送携带有所述URL的访问请求,以使所述被管理模块根据所述URL调用所述第二进程中与所述功能对应的所述第二基础软件包,上述方法能够使管理模块完成对被管理模块的管理,以及能够使被管理模块能够正常调用各第二基础软件包。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种包隔离方法、装置、电子设备和存储介质。
背景技术
在运行被管理模块时,通常会使用管理模块来对被管理模块进行管理,例如,在某一时刻,被管理模块需要执行某一功能,在达到该时刻时,管理模块会向该被管理模块发送指令,以使该被管理模块调用该功能对应的函数。
通常管理模块和被管理模块会运行在一个进程中,当管理模块和被管理模块运行有相同语言的程序时,在一个进程中,对于相同类型的基础软件包该进程只会加载一次,因此,当管理模块和被管理模块具有相同类型的基础软件包时,该相同类型的基础软件包只会被该进程加载一次,如果此时管理模块和被管理模块运行成基础软件包的版本不相同,且该相同类型的基础软件包在不同版本中的功能改动较大时,会使被管理模块无法正常运行。
发明内容
有鉴于此,本申请实施例的目的在于提供一种包隔离方法、装置、电子设备和存储介质,以使被管理模块能够正常运行。
第一方面,本申请实施例提供了一种包隔离方法,管理模块运行时依赖的第一基础软件包加载到第一进程中,被管理模块运行时依赖的第二基础软件包加载到第二进程中,其中,所述第一基础软件包和所述第二基础软件包为同一软件包的不同版本,在所述管理模块对所述被管理模块进行管理时,所述包隔离方法包括:
所述管理模块确定所述被管理模块当前要执行的功能;
所述管理模块确定所述功能在所述被管理模块中基于全球广域网Web服务访问对象的统一资源定位符URL;
所述管理模块向所述被管理模块发送携带有所述URL的访问请求,以使所述被管理模块根据所述URL调用所述第二进程中与所述功能对应的所述第二基础软件包。
可选地,所述第一进程和所述第二进程为同一设备中的两个进程。
可选地,所述第一进程运行在第一设备中,所述第二进程运行在第二设备中。
可选地,所述URL中包括:
所述第二进程所在设备的网络地址、所述被管理模块所在设备的端口号、所述功能在所述第二基础软件包下所属的类的标识信息和所述功能在所述类下的标识信息。
可选地,所述管理模块向所述被管理模块发送携带有所述URL的访问请求,包括:
所述管理模块按照进程间通信协议,向所述被管理模块发送携带有所述URL的访问请求。
可选地,所述管理模块向所述被管理模块发送携带有所述URL的访问请求,包括:
所述管理模块按照超文本传输协议,向所述被管理模块发送携带有所述URL的访问请求。
第二方面,本申请实施例提供了一种包隔离装置,所述包隔离装置包含管理模块,所述管理模块运行时依赖的第一基础软件包加载到所述第一进程中,被管理模块运行时依赖的第二基础软件包加载到第二进程中,其中,所述第一基础软件包和所述第二基础软件包为同一软件包的不同版本,所述管理模块包括:
第一确定单元,用于在所述管理模块对所述被管理模块进行管理时,确定所述被管理模块当前要执行的功能;
第二确定单元,用于确定所述功能在所述被管理模块中基于全球广域网Web服务访问对象的统一资源定位符URL;
访问单元,用于向所述被管理模块发送携带有所述URL的访问请求,以使所述被管理模块根据所述URL调用所述第二进程中与所述功能对应的所述第二基础软件包。
可选地,所述第一进程和所述第二进程为同一设备中的两个进程。
可选地,所述第一进程运行在第一设备中,所述第二进程运行在第二设备中。
可选地,所述URL中包括:
所述第二进程所在设备的网络地址、所述被管理模块所在设备的端口号、所述功能在所述第二基础软件包下所属的类的标识信息和所述功能在所述类下的标识信息
可选地,所述访问单元的配置在用于向所述被管理模块发送携带有所述URL的访问请求时,包括:
按照进程间通信协议,向所述被管理模块发送携带有所述URL的访问请求。
可选地,所述访问单元的配置在用于向所述被管理模块发送携带有所述URL的访问请求时,包括:
按照超文本传输协议,向所述被管理模块发送携带有所述URL的访问请求。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间总线通信,所述处理器执行所述机器可读指令,以执行如第一方面中任一项所述的包隔离方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面中任一项所述的包隔离方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
在本申请中,由于管理模块运行时依赖的第一基础软件包加载到第一进程中,被管理模块运行时依赖的第二基础软件包加载到第二进程中,即:第一进程用于加载管理模块的第一基础软件包,第二进程用于加载被管理模块的第二基础软件包,因此管理模块的全部第一基础软件包会加载到第一进程中,被管理模块的全部第二基础软件包会加载到第二进程中,在采用上述加载方式后,被管理模块的全部第一基础软件包和管理模块的全部第二基础软件包会加载到不同的进程中,并且,在采用上述加载方式后,管理模块对被管理模块进行管理时,在管理模块确定出被管理模块中当前要执行的功能后,管理模块确定该功能在被管理模块中基于Web服务访问对象的RUL,然后管理模块向被管理模块发送携带有该URL的访问请求,即:管理模块能够对管理模块进行Web服务访问,在被管理模块接收到该Web服务访问后,根据该URL调用第二进程中与该功能对应的第二基础软件包,即使在第一基础软件包和第二基础软件包为同一软件包的不同版本时,通过上述方法,管理模块的全部第一基础软件包和被管理模块全部的第二基础软件包都会加载到对应的进程中,并且能够使管理模块完成对被管理模块的管理,以及能够使被管理模块正常调用各功能对应的第二基础软件包。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种包隔离方法的流程示意图;
图2为本申请实施例提供的一种包隔离装置的结构示意图;
图3为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在现有技术中,被管理模块会通过管理模块的管理来执行具体的功能,以被管理模块运行java(一种计算机编程语言)程序为例,在设定好某一时刻执行java程序中的某一功能时,管理模块在检测到达到该时刻时,管理模块会对该被管理模块进行管理,以使该java程序执行该功能。通常该被管理模块执行该java程序时会调用一些基础软件包,该管理模块也会调用自身运行程序中的一些基础软件包,其中,基础软件包用于辅助管理模块和被管理模块完成一些基础功能的调用,例如:当被管理模块具有访问某一网站的功能时,被管理模块中运行的java程序中会设置一个函数,被管理模块通过调用该函数来对该网站进行访问,其中该函数为该被管理模块的一个基础软件包,进一步的,基础软件包用于完成一些通用功能,这样可以降低程序人员的工作量,不需要程序人员将一些通用功能完全写到该java程序中。
在现有技术中,管理模块实现对被管理模块的管理的情况下,通常管理模块和被管理模块会运行在一个进程中,当管理模块和被管理模块运行的程序为相同语言的程序时,在一个进程中,相同类型的基础软件包只会加载一次,因此,当管理模块和被管理模块具有相同类型的基础软件包时,一般情况下,只会将相同类型的基础软件包中属于管理模块的基础软件包加载到该进程中,如果此时管理模块和被管理模块运行的程序的版本不同,且该相同类型的基础软件包在不同版本中的功能改动较大时,例如:被管理模块运行的程序的版本高于管理模块运行的程序的版本,该相同类型的基础软件包在被管理模块中需要实现的功能包括功能1和功能2,而在管理模块中需要实现的功能仅包括功能1,或者在管理模块中需要实现的功能为功能3时,具体例如:该相同类型的基础软件包令为访问类型的,被管理模块对应的版本下的基础软件包实现访问时的功能包括访问和下载访问量,而管理模块对应的版本下的基础软件包实现访问时的功能仅包括访问,此时会使进程中加载的基础软件包与被管理模块需要的基础软件包相差较大,从而会使被管理模块无法正常运行。
为了解决上述问题,在本申请中提供了一种包隔离方法、装置、电子设备和存储介质,将管理模块和被管理模块的基础软件包加载到不同进程中,并结合相应的管理方式来实现管理模块对被管理模块的管理,由于被管理模块的全部基础软件包和管理模块的全部基础软件包都会加载到进程中,并且能够使管理模块完成对被管理模块的管理,从而使得被管理模块能够正常运行。
图1为本申请实施例提供的一种包隔离方法的流程示意图,管理模块运行时依赖的第一基础软件包加载到第一进程中,被管理模块运行时依赖的第二基础软件包加载到第二进程中,其中,所述第一基础软件包和所述第二基础软件包为同一软件包的不同版本,在所述管理模块对所述被管理模块进行管理时,如图1所示,该包隔离方法包括以下步骤:
步骤101、所述管理模块确定所述被管理模块当前要执行的功能。
具体的,可以预先设定被管理模块中各功能的执行时间点,管理模块检测当前时刻,如果当前时刻到达某一功能的执行时间点时,管理模块通过时间点和被管理模块中待执行功能的对应关系,确定被管理模块中当前要执行的功能,或者用户可以根据自身的需求,向管理模块输入被管理模块中当前要执行的功能的指令,以便让管理模块确定被管理模块中当前要执行的功能。
需要说明的是,上述确定被管理模块中当前要执行的功能的方式仅是示例性的说明,具体的确定方式可以根据实际需要进行设置,在此不做具体限定。
需要说明的是,在管理模块运行时依赖的第一基础软件包加载到第一进程中后,管理模块可以通过第一进程中加载第一基础软件包完成其所有的基础功能,在被管理模块运行时依赖的第二基础软件包加载到第二进程中后,被管理模块可以通过第二进程中加载第二基础软件包完成其所有的基础功能,关于具体的第一基础软件包和具体的第二基础软件包在此不做具体限定,并且通过上述加载方法,被管理模块的全部第一基础软件包和管理模块的全部第二基础软件包都会加载到进程中,从而能够使被管理模块正常运行。
步骤102、所述管理模块确定所述功能在所述被管理模块中基于Web(World WideWeb,全球广域网)服务访问对象的URL(Uniform Resource Locator,统一资源定位符)。
具体的,由于被管理模块中包括很多个功能,每个功能都各自对应一个访问位置,该位置可以通过URL来进行定位,URL通常由三部分组成:资源类型、存放资源的主机域名、资源文件名,且URL是使用最广的协议,通过URL作为管理模块和被管理模块之间的交互信息有利于降低管理模块和被管理模块进行交互时的设计难度。
步骤103、所述管理模块向所述被管理模块发送携带有所述URL的访问请求,以使所述被管理模块根据所述URL调用所述第二进程中与所述功能对应的所述第二基础软件包。
具体的,在管理模块向被管理模块发送携带有上述Web服务访问对象的URL后,被管理模块可以根据URL确定出该功能在第二进程中加载的具体位置,然后使被管理模块调用对应的第二基础软件包从而实现该功能,图1所示的步骤,可以使管理模块完成对被管理模块的,从而使被管理模块执行相应的功能。
进一步的,管理模块和被管理模块在调用基础软件包时,只会调用自身对应进程中加载的基础软件包,从而使得管理模块的第一基础软件包和被管理模块的第二基础软件包之间互不影响,因此在采用基础软件包采用上述加载方式后,被管理模块的全部第一基础软件包和管理模块的全部第二基础软件包都会加载到对应的进程中,因此克服了现有技术中在一个进程中,对于运行相同语言的管理模块和被管理模块,且管理模块和被管理模块具有相同类型的基础软件包时,该相同类型的基础软件包令只会加载一次的问题,并且在上述现有技术的基础上,通过图1所示的方法解决了现有技术中,对于管理模块和被管理模块的基础软件包的版本不相同,且该相同类型的基础软件包在不同版本中的功能改动较大时,被管理模块无法正常运行的问题,即:通过上述方法,能够使管理模块完成对被管理模块的管理,以及能够使被管理模块正常运行来完成相应的功能。
在一个可行的实施方案中,所述第一进程和所述第二进程为同一设备中的两个进程。
具体的,管理模块的第一基础软件包运行在第一进程中,被管理模块的第二基础软件包运行在第二进程中,且第一进程和第二进程为同一设备中的两个进程时,属于通过虚拟隔离的方式来对管理模块和被管理模块进行隔离,即:将管理模块的第一基础软件包和被管理模块的第二基础软件包分别加载到同一设备中的两个进程中,由于进程之具有独立的运行资源,因此管理模块和被管理模块之间不会产生影响,从而可以克服现有技术中的问题,并且通过虚拟隔离的方式有利于降低解决现有技术问题的成本。
在一个可行的实施方案中,所述第一进程运行在第一设备中,所述第二进程运行在第二设备中。
具体的,管理模块的第一基础软件包运行在第一进程中,被管理模块的第二基础软件包运行在第二进程中,且第一进程运行在第一设备中,第二进程运行在第二设备中时,属于物理隔离的方式来对管理模块和被管理模块进行隔离,即:将管理模块的第一基础软件包和被管理模块的第二基础软件包分别加载到两个设备中,由于两个进程分别占用两个设备的运行资源,因此管理模块和被管理模块之间不会产生影响,从而可以克服现有技术中的问题,并且通过物理隔离的方式有利于实现两个程序间的完全隔离。
在一个可行的实施方案中,上述的URL中包括:所述第二进程所在设备的网络地址、所述被管理模块所在设备的端口号、所述功能在所述第二基础软件包下所属的类的标识信息和所述功能在所述类下的标识信息。
具体的,在URL中增加第二进程所在设备的网络地址后,可以使管理模块确定具体要访问到哪个设备上,即:是对管理模块所在的设备进行访问,还是对管理模块所在设备之外的设备进行访问;通过被管理模块所在设备的端口号可以实现对第二进程所在设备的第二进程的访问;在第二基础软件包加载到第二进程中,第二进程中包括各第二基础软件包中的各类,每个类下都包括不同的功能,因此通过功能在第二基础软件包下所属类的标识信息可以找到该功能为哪个类下的功能,通过该功能在所属类下的标识信息可以找到该功能为其所属类下的哪个功能,通过上述四种定位信息,无论第一进程和第二进程是在同一设备中运行,还是第一进程和第二进程运行在不同设备中,都可以使管理模块对被管理模块将要执行的功能进行准确的访问,从而使被管理模块能够准确的执行对应的功能。
需要说明的是,网络地址可以包括IP(Internet Protocol,互联网协议)地址和域名,通过设备的IP地址可以找到唯一的设备,当网络中存在域名解析服务器时,该网络地址也可以为域名,通过该域名也可以准确地找到对应的设备,具体使用何种类型的网络地址可以根据实际需要进行设置,在此不做具体限定。
举例说明,被管理模块运行时依赖的每个第二基础软件包通常包括多个类,每个类下包括多个功能,例如:被管理模块运行时依赖的一个第二基础软件包中包括三个类(类1、类2和类3),每个类下包括两个功能(类1下包括功能1和功能2,类2下包括功能3和功能4,类3下包括功能5和功能6),为了确定具体哪个类下对应哪个功能,可以为类1、类2和类3分别分配标识信息,并且为功能1至功能6分别分配标识信息,如:为类1分配的标识信息可以为标识1,为类2分配的标识信息可以为标识2,为类3分配的标识信息可以为标识3,为功能1分配的标识信息为表示11,为功能2分配的标识信息为表示12,为功能3分配的标识信息为表示21,为功能4分配的标识信息为表示22,为功能5分配的标识信息为表示31,为功能6分配的标识信息为表示32,在采用上述标识方式时,管理模块在确定出具体执行哪个功能后,通过功能和标识信息的对应关系,确定将要调用被管理模块中哪个类下的哪个功能,即:此时可以得到目标类的标识信息和该目标类下的目标功能的标识信息,然后根据被管理模块中目标类的标识信息、该目标类下的目标功能的标识信息、第二进程所在设备的IP地址和被管理模块所在设备的端口号生成URL,然后根据该URL对被管理模块进行访问,从而可以使被管理模块调用第二进程中加载的该目标类下的该目标功能,通过上述方式,有利于快速、准确的找到目标功能。
需要说明的是,上述标识信息的实例进行示意性的说明,并不对本申请实施例形成限定,具体使用何种方式的标识信息,可以根据实际需要进行设定,在此不做具体限定。
在一个可行的实施方案中,当所述第一进程和所述第二进程为同一设备中的两个进程时,在执行步骤103时,所述管理模块可以按照进程间通信协议,向所述被管理模块发送携带有所述URL的访问请求。
具体的,进程间通信的方式通常包括:管道(包括无名管道和命名管道)、消息队列、信号量和共享存储等,具体使用哪种方式对应的协议可以根据实际需要进行设定,在此不做具体限定,通过进程间通信的方式来实现同一设备中两个进程间的交互,有利于降低同一设备中两个进程间的交互难度。
在一个可行的实施方案中,当所述第一进程运行在第一设备中,所述第二进程运行在第二设备中时,在执行步骤103时,所述管理模块可以按照超文本传输协议,向所述被管理模块发送携带有所述URL的访问请求。
具体的,HTTP(Hyper Text Transfer Protocol,超文本传输协议)是一个比较简单的请求-响应协议,它指定了发送设备可能发送给接收设备什么样的消息以及得到什么样的响应,因此按照HTTP协议,通过管理模块向被管理模块发送URL可以将具体执行哪个功能的请求发送给被管理模块,以使被管理模块执行具体的功能,并响应管理模块的请求,从而实现管理模块对被管理模块的管理,并且实现方式也相对简单。
在一个可行的实施方案中,所述管理模块用于运行Hadoop基础框架下的Oozie调度平台程序,所述第一基础软件包包括所述Oozie调度平台程序的JAR包,所述被管理模块用于运行java程序,所述第二基础软件包包括所述java程序的JAR包,所述被管理模块中运行有jersey程序,以使所述被管理模块具有Web服务功能。
具体的,Hadoop基础框架下的Oozie调度平台程序具有工作流调度功能,可以用于调度java程序,在被管理模块中植入jersey程序后,可以使被管理模块具有虚拟网卡的功能,此时被管理模块具有Web服务功能,即:能够对被管理模块进行Web服务访问,在Oozie调度平台程序的JAR包加载到第一进程,java程序的JAR包加载到第二进程中后,Oozie调度平台程序的JAR包和java程序的JAR包都会被加载到进程中,并且由于是加载到不同的进程中,从而不会使Oozie调度平台程序和java程序程序之间产生影响,并且能够使ava程序正常运行,同时可以通过图1所示的方法完成Oozie调度平台程序对java程序的管理和调度。
为了进一步阐述本申请实施例的技术思想,现结合具体的应用场景,对上述技术方案的整体进行说明,其中,管理模块和被管理模块运行的程序均为java语言程序,管理模块的第一基础软件包加载到第一设备的第一进程中,被管理模块的第二基础软件包加载到第二设备的第二进程中,且第一基础软件包和第二基础软件包为同一软件包的不同版本,其中,管理模块用于运行Hadoop基础框架下的Oozie调度平台程序,第一基础软件包包括所述Oozie调度平台程序的JAR包,被管理模块用于运行java程序,第二基础软件包包括所述java程序的JAR包。预先为被管理模块下的各个类分配第一标识信息,以及为各个类下的各功能分配第二标识信息,在被管理模块中引入jersey相关的jar包,使第二设备具有web服务功能,同时配置访问第二设备时所需要的IP地址、被管理模块在第二设备中的端口号、被管理模块下各个类的第一标识信息,以及该类下的各个功能的第二标识信息,以便使管理模块能够根据上述定位信息访问被管理模块中的某个具体功能,在完成上述设定后,当在某一时刻需要执行被管理模块中一个功能时,该包隔离方法可以包括以下步骤:
1、管理模块确定被管理模块中当前要执行的功能。
2、管理模块按照功能和上述定位信息的对应关系,确定该功能的URL,其中,该URL包括:第二设备的IP地址、被管理模块在第二设备中的端口号、该功能对应的目标类的第一标识信息,在该目标类下该功能对应的目标功能的第二标识信息。
3、管理模块按照HTTP协议,向被管理模块发送携带有URL的访问请求。
4、被管理模块接收该访问请求。
5、管理模块调用该URL对应的第二基础软件包,从而实现对目标功能的调用。
需要说明的是,上述仅是物理隔离的实现方式,并且在实现物理隔离时的URL的具体形式可以根据实际需要进行设置,在此不再详细说明。
图2为本申请实施例提供的一种包隔离装置的结构示意图,包隔离装置包含管理模块,所述管理模块运行时依赖的第一基础软件包加载到所述第一进程中,被管理模块运行时依赖的第二基础软件包加载到第二进程中,其中,所述第一基础软件包和所述第二基础软件包为同一软件包的不同版本,如图2所示,该管理模块还包括:
第一确定单元21,用于在所述管理模块对所述被管理模块进行管理时,确定所述被管理模块当前要执行的功能;
第二确定单元22,用于确定所述功能在所述被管理模块中基于Web服务访问对象的URL;
访问单元23,用于向所述被管理模块发送携带有所述URL的访问请求,以使所述被管理模块根据所述URL调用所述第二进程中与所述功能对应的所述第二基础软件包。
在一个可行的实施方案中,所述第一进程和所述第二进程为同一设备中的两个进程。
在一个可行的实施方案中,所述第一进程运行在第一设备中,所述第二进程运行在第二设备中。
在一个可行的实施方案中,所述URL中包括:
所述第二进程所在设备的网络地址、所述被管理模块所在设备的端口号、所述功能在所述第二基础软件包下所属的类的标识信息和所述功能在所述类下的标识信息。
在一个可行的实施方案中,所述访问单元23的配置在用于向所述被管理模块发送携带有所述URL的访问请求时,包括:
按照进程间通信协议,向所述被管理模块发送携带有所述URL的访问请求。
在一个可行的实施方案中,所述访问单元23的配置在用于向所述被管理模块发送携带有所述URL的访问请求时,包括:
按照超文本传输协议,向所述被管理模块发送携带有所述URL的访问请求。
关于管理模块的详细说明可参考上述的包隔离方法的解释,在此不再详细说明。
在本申请中,由于管理模块运行时依赖的第一基础软件包加载到第一进程中,被管理模块运行时依赖的第二基础软件包加载到第二进程中,即:第一进程用于加载管理模块的第一基础软件包,第二进程用于加载被管理模块的第二基础软件包,因此管理模块的全部第一基础软件包会加载到第一进程中,被管理模块的全部第二基础软件包会加载到第二进程中,在采用上述加载方式后,被管理模块的全部第一基础软件包和管理模块的全部第二基础软件包会加载到不同的进程中,并且,在采用上述加载方式后,管理模块对被管理模块进行管理时,在管理模块确定出被管理模块中当前要执行的功能后,管理模块确定该功能在被管理模块中基于Web服务访问对象的RUL,然后管理模块向被管理模块发送携带有该URL的访问请求,即:管理模块能够对管理模块进行Web服务访问,在被管理模块接收到该Web服务访问后,根据该URL调用第二进程中与该功能对应的第二基础软件包,即使在第一基础软件包和第二基础软件包为同一软件包的不同版本时,通过上述方法,管理模块的全部第一基础软件包和被管理模块全部的第二基础软件包都会加载到对应的进程中,并且能够使管理模块完成对被管理模块的管理,以及能够使被管理模块正常调用各功能对应的第二基础软件包。
图3为本申请实施例提供的一种电子设备的结构示意图,包括:处理器301、存储介质302和总线303,所述存储介质302存储有所述处理器301可执行的机器可读指令,当电子设备运行上述的包隔离方法时,所述处理器301与所述存储介质302之间总线303通信,所述处理器301执行所述机器可读指令,在管理模块对被管理模块进行管理时,以执行以下步骤:
所述管理模块确定所述被管理模块当前要执行的功能,其中,所述管理模块运行时依赖的第一基础软件包加载到第一进程中,所述被管理模块运行时依赖的第二基础软件包加载到第二进程中,所述第一基础软件包和所述第二基础软件包为同一软件包的不同版本;
所述管理模块确定所述功能在所述被管理模块中基于全球广域网Web服务访问对象的统一资源定位符URL;
所述管理模块向所述被管理模块发送携带有所述URL的访问请求,以使所述被管理模块根据所述URL调用所述第二进程中与所述功能对应的所述第二基础软件包。
在本申请实施例中,所述存储介质302还可以存储其它机器可读指令,以执行如上述的包隔离方法中其它所述的包隔离方法,关于具体执行的方法步骤和原理参见上述的包隔离方法的说明,在此不再详细赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,在管理模块对被管理模块进行管理时,该计算机程序被处理器运行时执行以下步骤:
所述管理模块确定所述被管理模块当前要执行的功能,其中,所述管理模块运行时依赖的第一基础软件包加载到第一进程中,所述被管理模块运行时依赖的第二基础软件包加载到第二进程中,所述第一基础软件包和所述第二基础软件包为同一软件包的不同版本;
所述管理模块确定所述功能在所述被管理模块中基于全球广域网Web服务访问对象的统一资源定位符URL;
所述管理模块向所述被管理模块发送携带有所述URL的访问请求,以使所述被管理模块根据所述URL调用所述第二进程中与所述功能对应的所述第二基础软件包。
在本申请实施例中,该计算机程序被处理器运行时还可以执行其它机器可读指令,以执行如上述的包隔离方法中其它所述的包隔离方法,关于具体执行的方法步骤和原理参见上述的包隔离方法的说明,在此不再详细赘述。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,由于被管理模块的全部第一基础软件包和管理模块的全部第二基础软件包加载到不同进程中,并且能够使管理模块完成对被管理模块的管理,并且能够使被管理模块正常运行。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种包隔离方法,其特征在于,管理模块运行时依赖的第一基础软件包加载到第一进程中,被管理模块运行时依赖的第二基础软件包加载到第二进程中,其中,所述第一基础软件包和所述第二基础软件包为同一软件包的不同版本,在所述管理模块对所述被管理模块进行管理时,所述包隔离方法包括:
所述管理模块确定所述被管理模块当前要执行的功能;
所述管理模块确定所述功能在所述被管理模块中基于全球广域网Web服务访问对象的统一资源定位符URL;
所述管理模块向所述被管理模块发送携带有所述URL的访问请求,以使所述被管理模块根据所述URL调用所述第二进程中与所述功能对应的所述第二基础软件包;
所述管理模块用于运行Hadoop基础框架下的Oozie调度平台程序,所述第一基础软件包包括所述Oozie调度平台程序的JAR包,所述被管理模块用于运行java程序,所述第二基础软件包包括所述java程序的JAR包,所述被管理模块中运行有jersey程序,以使所述被管理模块具有Web服务功能。
2.如权利要求1所述的包隔离方法,其特征在于,所述第一进程和所述第二进程为同一设备中的两个进程。
3.如权利要求1所述的包隔离方法,其特征在于,所述第一进程运行在第一设备中,所述第二进程运行在第二设备中。
4.如权利要求1所述的包隔离方法,其特征在于,所述URL中包括:
所述第二进程所在设备的网络地址、所述被管理模块所在设备的端口号、所述功能在所述第二基础软件包下所属的类的标识信息和所述功能在所述类下的标识信息。
5.如权利要求2所述的包隔离方法,其特征在于,所述管理模块向所述被管理模块发送携带有所述URL的访问请求,包括:
所述管理模块按照进程间通信协议,向所述被管理模块发送携带有所述URL的访问请求。
6.如权利要求3所述的包隔离方法,其特征在于,所述管理模块向所述被管理模块发送携带有所述URL的访问请求,包括:
所述管理模块按照超文本传输协议,向所述被管理模块发送携带有所述URL的访问请求。
7.一种包隔离装置,其特征在于,所述包隔离装置包含管理模块,所述管理模块运行时依赖的第一基础软件包加载到第一进程中,被管理模块运行时依赖的第二基础软件包加载到第二进程中,其中,所述第一基础软件包和所述第二基础软件包为同一软件包的不同版本,所述管理模块包括:
第一确定单元,用于在所述管理模块对所述被管理模块进行管理时,确定所述被管理模块当前要执行的功能;
第二确定单元,用于确定所述功能在所述被管理模块中基于全球广域网Web服务访问对象的统一资源定位符URL;
访问单元,用于向所述被管理模块发送携带有所述URL的访问请求,以使所述被管理模块根据所述URL调用所述第二进程中与所述功能对应的所述第二基础软件包;
所述管理模块用于运行Hadoop基础框架下的Oozie调度平台程序,所述第一基础软件包包括所述Oozie调度平台程序的JAR包,所述被管理模块用于运行java程序,所述第二基础软件包包括所述java程序的JAR包,所述被管理模块中运行有jersey程序,以使所述被管理模块具有Web服务功能。
8.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至6中任一项所述的包隔离方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至6中任一项所述的包隔离方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910642019.9A CN110442392B (zh) | 2019-07-16 | 2019-07-16 | 一种包隔离方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910642019.9A CN110442392B (zh) | 2019-07-16 | 2019-07-16 | 一种包隔离方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442392A CN110442392A (zh) | 2019-11-12 |
CN110442392B true CN110442392B (zh) | 2022-08-09 |
Family
ID=68429687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910642019.9A Active CN110442392B (zh) | 2019-07-16 | 2019-07-16 | 一种包隔离方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442392B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987774A (zh) * | 2006-11-29 | 2007-06-27 | 南京联创科技股份有限公司 | 大规模并发联机交易中基于版本的c/c++组件热插拔方法 |
CN102025605A (zh) * | 2009-09-23 | 2011-04-20 | 中兴通讯股份有限公司 | 一种数据传输方法及系统 |
CN103780959A (zh) * | 2012-10-18 | 2014-05-07 | 美国博通公司 | 不可信的应用程序及框架与安全操作系统环境的整合 |
CN105653328A (zh) * | 2015-12-29 | 2016-06-08 | 百度在线网络技术(北京)有限公司 | 大内存服务的多版本程序的并存方法和装置 |
CN106815071A (zh) * | 2017-01-12 | 2017-06-09 | 上海轻维软件有限公司 | 基于有向无环图的大数据作业调度系统 |
CN108027743A (zh) * | 2015-09-14 | 2018-05-11 | 万事达卡国际股份有限公司 | 具有分段架构的隔离应用 |
CN108710532A (zh) * | 2018-05-21 | 2018-10-26 | 平安科技(深圳)有限公司 | 跨调度平台的依赖实现方法、装置、设备和存储介质 |
CN109144526A (zh) * | 2018-06-28 | 2019-01-04 | 国网山东省电力公司菏泽供电公司 | 一种变电站自动化软件的快速部署系统及方法 |
-
2019
- 2019-07-16 CN CN201910642019.9A patent/CN110442392B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987774A (zh) * | 2006-11-29 | 2007-06-27 | 南京联创科技股份有限公司 | 大规模并发联机交易中基于版本的c/c++组件热插拔方法 |
CN102025605A (zh) * | 2009-09-23 | 2011-04-20 | 中兴通讯股份有限公司 | 一种数据传输方法及系统 |
CN103780959A (zh) * | 2012-10-18 | 2014-05-07 | 美国博通公司 | 不可信的应用程序及框架与安全操作系统环境的整合 |
CN108027743A (zh) * | 2015-09-14 | 2018-05-11 | 万事达卡国际股份有限公司 | 具有分段架构的隔离应用 |
CN105653328A (zh) * | 2015-12-29 | 2016-06-08 | 百度在线网络技术(北京)有限公司 | 大内存服务的多版本程序的并存方法和装置 |
CN106815071A (zh) * | 2017-01-12 | 2017-06-09 | 上海轻维软件有限公司 | 基于有向无环图的大数据作业调度系统 |
CN108710532A (zh) * | 2018-05-21 | 2018-10-26 | 平安科技(深圳)有限公司 | 跨调度平台的依赖实现方法、装置、设备和存储介质 |
CN109144526A (zh) * | 2018-06-28 | 2019-01-04 | 国网山东省电力公司菏泽供电公司 | 一种变电站自动化软件的快速部署系统及方法 |
Non-Patent Citations (1)
Title |
---|
基于S3C2440的网络隔离器设计与实现;鹿泽洲等;《飞行器测控学报》;20121031;第31卷(第5期);第71-74页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110442392A (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109547570B (zh) | 服务注册方法、装置、注册中心管理设备及存储介质 | |
CN107766101B (zh) | App启动事件的处理方法、装置和设备 | |
CN107203419B (zh) | 应用程序中的模块间调用方法、装置及系统 | |
US9760415B2 (en) | Code service for language-independent dispatch | |
US10346148B2 (en) | Per request computer system instances | |
US20210133002A1 (en) | Using scripts to bootstrap applications with metadata from a template | |
US20110138382A1 (en) | System and method for loading resources into a virtual machine | |
US20220035626A1 (en) | Cloud-independent node upgrade | |
US8701129B2 (en) | Web API server program, web API publication method | |
CN111857733B (zh) | 一种业务环境的构建方法、装置、系统以及可读存储介质 | |
CN111079048B (zh) | 一种页面加载方法及装置 | |
CN109426544A (zh) | 虚拟机部署方法和装置 | |
US20200310828A1 (en) | Method, function manager and arrangement for handling function calls | |
CN111736923A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
US11243755B1 (en) | Resource aware patching service | |
CN113179269B (zh) | 基于物联网的协议数据解析方法、系统、介质 | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN110442392B (zh) | 一种包隔离方法、装置、电子设备和存储介质 | |
CN112698930A (zh) | 一种获取服务器标识的方法、装置、设备及介质 | |
CN108804236B (zh) | 一种aidl文件的共享方法及系统 | |
CN115794386A (zh) | 虚拟机的资源调用方法、设备及存储介质 | |
Wen et al. | Fraus: Launching cost-efficient and scalable mobile click fraud has never been so easy | |
CN114860203A (zh) | 项目创建方法、装置、服务器及存储介质 | |
CN114662102A (zh) | 一种文件处理方法、装置及存储介质 | |
CN103019844A (zh) | 一种支持多线程调用mpi函数的方法和装置 |
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 |