CN116502215A - 一种基于用户的服务隔离方法、装置、设备和介质 - Google Patents
一种基于用户的服务隔离方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN116502215A CN116502215A CN202310500903.5A CN202310500903A CN116502215A CN 116502215 A CN116502215 A CN 116502215A CN 202310500903 A CN202310500903 A CN 202310500903A CN 116502215 A CN116502215 A CN 116502215A
- Authority
- CN
- China
- Prior art keywords
- user
- service
- target
- service instance
- container
- 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.)
- Pending
Links
- 238000002955 isolation Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims abstract description 19
- 238000004590 computer program Methods 0.000 claims description 9
- 230000006378 damage Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- User Interface Of Digital Computer (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本公开实施例提供了一种基于用户的服务隔离方法、装置、设备和介质。该方法的一具体实施方式包括:包括:响应于目标用户的登入,构建目标用户对应的用户对象,以及构建服务容器,将用户对象绑定到所述服务容器,在服务容器中创建与目标用户对应的服务实例;响应于目标用户的登出,销毁用户对象、以及服务容器。通过该方法,可以解决因用户切换不及时带来的功能故障问题。
Description
技术领域
本公开实施例涉及计算机服务与容器技术领域,尤其涉及一种基于用户的服务隔离方法、装置、设备和介质。
背景技术
目前,程序应用常常需要在不同的用户账户之间切换,并根据当前用户进行用户数据处理。但是,例如由于应用代码并发和异步执行等原因,当程序应用从旧用户切换到新用户时,容易发生因为旧用户未即时切换,或者基于旧用户的并行代码还未执行完等原因,导致处理了不正确用户的数据,从而产生功能故障的问题。
发明内容
本公开实施例描述了一种基于用户的服务隔离方法、装置、设备和介质。
根据第一方面,提供了一种基于用户的服务隔离方法,包括:响应于目标用户的登入,构建所述目标用户对应的用户对象,以及构建服务容器,将所述用户对象绑定到所述服务容器,在所述服务容器中创建与所述目标用户对应的服务实例;响应于所述目标用户的登出,销毁所述用户对象、以及所述服务容器。
根据第二方面,提供一种基于用户的服务隔离装置,所述装置包括:第一响应单元,配置为,响应于目标用户的登入,构建所述目标用户对应的用户对象,以及构建服务容器,将所述用户对象绑定到所述服务容器,在所述服务容器中创建与所述目标用户对应的服务实例;第二响应单元,配置为,响应于所述目标用户的登出,销毁所述用户对象、以及所述服务容器。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当上述计算机程序在计算机中执行时,令上述计算机执行第一方面所述的方法。
根据第四方面,提供了一种电子设备,包括存储器和处理器,上述存储器中存储有可执行代码,上述处理器执行上述可执行代码时,实现第一方面所述的方法。
根据本公开实施例提供一种基于用户的服务隔离方法、装置、设备和介质。首先,可以响应于目标用户的登入,构建目标用户对应的用户对象,以及构建服务容器,将用户对象绑定到服务容器,在服务容器中创建与所述目标用户对应的服务实例。然后,可以响应于目标用户的登出,销毁用户对象及其服务容器。利用上述方法、装置、存储介质和电子设备中的任意一种,可以解决因用户切换不及时带来的功能故障问题。
附图说明
图1示出了用户切换不及时的功能问题的示意图;
图2示出了根据本公开实施例的一种基于用户的服务隔离方法的流程示意图;
图3示出本公开实施例的创建和销毁用户容器的示意图;
图4示出本公开另一实施例中将用户标识发送给全局服务实例的示意图;
图5示出了根据本公开实施例的一种基于用户的服务隔离装置的示意性框图;
图6示出了适于用来实现本公开实施例的电子设备的结构示意图;
图7示出了适于用来实现本公开实施例的存储介质的结构示意图。
具体实施方式
下面结合附图和实施例,对本说明书提供的技术方案做进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在本公开的实现方式的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个/种实现方式”或“该实现方式”应当理解为“至少一个/种实现方式”。术语“一些实现方式”应当理解为“至少一些实现方式”。下文还可能包括其他明确的和隐含的定义。
如前所述,程序应用常常需要在不同的用户账户之间切换,并根据当前用户进行用户数据处理。但是这种方案存在如下问题,当程序应用从旧用户切换到新用户时,容易发生因为旧用户未即时切换,导致处理了不正确用户的数据。或者基于旧用户的并行代码还未执行完等原因,产生应用的功能故障的问题。这些问题可以统称为用户切换不及时问题。
上述问题的产生原因,是由于通常进行用户数据处理,例如用户数据读取或执行用户业务逻辑,的服务实例是全局实例。这里的全局实例,是指可以在整个应用的生命周期存在的服务实例。而全局实例通常根据可变的当前用户的设定,确定根据哪个具体用户的数据进行操作。但是,全局实例中对于当前用户的设定、以及根据当前用户进行的数据处理常常是具有延迟性的、或者是并行处理的。进而,导致例如实际用户已经切换时,全局实例中对于当前用户的设定、以及根据当前用户进行的数据处理或部分数据处理仍旧可能依据的是切换前的用户,从而产生功能故障(例如数据显示错误、数据处理结果错误等)的问题。图1示出了用户切换不及时的功能问题的示意图。如图1(a)所示,例如在将用户A切换为用户B后,用户界面应显示用户B的数据。但是,由于全局服务实例中当前用户设定更新不及时,例如在一段延续时间内仍旧为用户A,进而用户界面在一段延续时间中仍旧显示的是用户A的数据或部分数据。如图1(b)所示,例如在将用户A切换为用户B后,业务流程处理应根据用户B的数据进行处理。但是,由于全局服务实例中当前用户设定更新不及时或业务流程处理本身为异步执行,从而在一段延续时间内,业务流程处理仍旧根据用户A的数据进行处理。
为了解决上述技术问题。本公开实施例提供了一种基于用户的服务隔离方法。在一个实施例中,可以在用户登入时,构建该用户对应的用户对象,以及构建服务容器,并将用户对应的用户对象绑定到服务容器。然后,在服务容器中创建与该用户对应的服务实例,服务实例可以进行该用户的数据处理。然后,在用户登出时,销毁目标该用户对应的用户对象、服务容器和服务实例。该方法的优点在于,一方面,通过与各个用户本身对应的用户对象、服务容器和服务实例,隔离了对于各个用户的数据处理过程,而不是通过单一的全局实例执行所有用户的数据处理过程。从而,从根本上消除了现有方案中单一全局实例依赖当前用户设定,带来的因用户切换不及时而误处理不正确用户的用户数据的问题。另一方面,因为现有方案中全局服务实例依赖于当前用户,无法区分不同用户,导致难以实现多用户同时登录的需求。通过后续实施例中的方法,还可以针对多个用户分别建立服务实例,并通过多个容器隔离这些服务实例,从而可以支持多用户的同时登入,并且保证不会出现各个用户对应的服务实例误处理其他用户的数据的问题。
下面进一步描述该方法的详细过程。
图2示出了根据本公开实施例的一种基于用户的服务隔离方法的流程示意图。如图3所示,该方法至少包括如下步骤:
步骤S201,响应于目标用户的登入,构建所述目标用户对应的用户对象,以及构建服务容器,将所述用户对象绑定到所述服务容器,在所述服务容器中创建与所述目标用户对应的服务实例;
步骤S203,响应于所述目标用户的登出,销毁所述用户对象、以及所述服务容器。
首先,在步骤S201,响应于目标用户的登入,可以构建目标用户对应的用户对象,以及构建服务容器,将用户对象绑定到所述服务容器,在所述服务容器中创建与所述目标用户对应的服务实例。在不同的实施例中,目标用户可以是不同的具体用户,本说明对此不做限制。用户对象,是指与目标用户对应的程序对象(Object)。用户对象,可以将用户对应的数据封装成整体。常规的,程序对象可以包括属性数据(Attribute)或函数。在不同的实施例中,用户对象的属性数据可以包括目标用户的不同具体数据。在一个实施例中,所述用户对象的属性数据可以至少包括目标用户的用户标识,或称用户ID(Identity)。
容器(Container)技术是一种沙盒技术,可以通过将程序运行在容器,形成于容器外界隔离的环境。在不同的实施例中,可以采用不同的具体容器技术,本说明书对此不做限制。而服务(Service)可以是系统中运行的程序。服务容器,即其中可以运行服务实例(Instance)的容器。通过构建目标用户对应的用户对象和服务容器,并将用户对象绑定到服务容器,实际上创建了针对目标用户的服务容器。而在该服务容器中创建服务实例,则将创建的针对目标用户的服务实例隔离在该服务容器。使得该服务实例可以仅处理目标用户的数据和业务逻辑,并且阻止容器外的服务实例处理目标用户的数据和业务逻辑。图3示出本公开实施例的创建和销毁用户容器的示意图。如图3的实施例中,可以例如在用户A登入时,创建用户A对应的用户对象a、以及用户容器1,将用户对象a绑定到用户容器1上。然后,在用户容器1建立于服务实例1,用于进行用户A对应的数据处理。
在不同的实施例中,创建的服务实例可以用于执行不同的数据处理过程,例如可以用于执行基于用户数据的业务逻辑处理或界面展示,本说明书对此不做限制。在不同的实施例中,服务实例中包括的具体功能组件也可以不同。例如,在一个实施例中,服务实例中可以包括用户界面组件,用于展示例如用户数据。在另一个实施例中,服务实例中可以包括服务逻辑组件,用于执行用户对应的业务逻辑处理。在又一个实施例中,服务实例中可以包括用户界面组件和服务逻辑组件。
然后,在步骤S203,响应于目标用户的登出,销毁用户对象、以及服务容器。
该步骤中,可以在目标用户登出时,将目标用户对应的用户对象和该用户对象绑定的用户容器销毁。在一个实施例中,还可以响应于该服务容器的销毁,释放服务容器中的服务实例,即与目标用户对应的服务实例。如图3所示,可以例如在用户A登出时,销毁用户A对应的用户对象a、以及用户容器1,释放用户容器1中服务实例1。
通过在用户(例如为目标用户)登入和登出时,分别创建和销毁与用户对应的服务容器。实际构建了对应用户生命周期的服务容器,或简称用户容器(User Container)。由于用户容器绑定了不变的用户对象,且用户容器的生命周期和绑定的用户对象创建销毁的生命周期相一致。使得用户容器中创建的服务实例,本质都是针对同一用户的服务实例,如此可以保证用户容器中服务实例不会访问和处理其他用户的数据。从根本上消除了现有方案中用户切换时单一全局实例误操作不正确用户数据的问题。此外,在不同的实施例中,在用户容器中创建的服务实例可以是多个,分别用于针对目标用户的不同数据处理。由于它们都是针对同一用户的服务实例,这些服务实例之间可以互相调用,也不会出现误操作不正确用户数据的问题。
在一些场景中,应用中还可以存在与用户相关的全局服务实例。如前所述,全局服务实例往往根据其对应的当前用户,进行用户数据处理。为了防止全局服务实例中例如当前用户切换不及时,导致的用户数据处理错误,在一个实施例中,在所述目标用户登入后,若调用预先运行的全局服务实例的目标接口,则将所述目标用户的用户标识传递给所述目标接口;所述目标接口可以根据所述全局服务实例对应的当前用户的用户标识、以及所述目标用户的用户标识,确定所述全局服务实例对应的当前用户是否正确。一个具体的实施例中,若所述全局服务实例对应的当前用户的用户标识,与所述目标用户的用户标识不相同,则确定当前用户不正确;若所述全局服务实例对应的当前用户的用户标识,与所述目标用户的用户标识相同,则确定所述当前用户正确。在另一个具体的实施例中,目标接口可以进行对应的错误处理,例如,抛出当前用户错误的提示。全局服务实例的目标接口,是全局服务实例的应用编程接口。应用编程接口(Application Programming Interface,API),可以是全局服务实例中预先定义的功能函数,通过调用API接口可以调用全局服务实例提供的业务功能。在不同的具体实施例中,全局服务实例提供的具体应用编程接口可以不同,并可以用于提供不同的具体业务功能,本说明书对此不做限制。
图4示出本公开另一实施例中将用户标识发送给全局服务实例的示意图。如图4所示的实施例中,例如在用户A登入后,当调用全局实例的应用编程接口时,可以将用户A的ID发送给被调用的应用编程接口。然后,被调用的应用编程接口可以确定全局服务实例的当前用户的ID,是否与用户A的ID相同。如果确定结果为相同,表示全局服务实例的当前用户是正确的,全局服务实例可以继续正常运行即可,无须进行额外处理。如果确定结果为不同,表示全局服务实例的当前用户是错误的,可以抛出例如当前用户错误的错误提示。
在一些场景中,软件生产商还希望应用具有使得多个用户可以同时登入的功能。如前所述,现有的用户数据处理过程往往依赖于当前用户,无法区分不同用户,导致难以实现多用户同时登入。为了使得多个用户可以同时登入,在一个实施例中,还可以构建与多个用户分别对应的多个对象,以及构建多个容器,将所述多个对象分别绑定到所述多个容器,在所述多个容器中分别创建与所述多个用户分别对应的服务实例。通过这种方式,登入的多个用户可以分别具有对应的服务实例,且不同用户的服务实例运行在不同的用户容器中,不仅可以支持多个用户登入,还可以隔绝用于不同用户的用户数据处理的服务实例,防止不同用户的服务实例误操作其他用户的用户数据的问题。
图5示出了根据本公开实施例的一种基于用户的服务隔离装置的示意性框图。该装置用于执行如图3所示方法,如图5所示,该装置500包括:
第一响应单元501,配置为,响应于目标用户的登入,构建所述目标用户对应的用户对象,以及构建服务容器,将所述用户对象绑定到所述服务容器,在所述服务容器中创建与所述目标用户对应的服务实例;
第二响应单元502,配置为,响应于所述目标用户的登出,销毁所述用户对象、以及所述服务容器。
本公开实施例还提供一种电子设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现如图2所示的方法。
下面还可以参考图6,其示出了适于用来实现本申请实施例的电子设备800的结构示意图。图6示出的电子设备600仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601。上述的处理装置601可以是通用处理器、数字信号处理器(Digital SignalProcessing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标等的输入装置606;包括例如液晶显示器(Liquid Crystal Display,LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置606。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图7示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM602被安装。在该计算机程序被处理装置601执行时,执行本申请实施例所提供的基于用户的服务隔离方法中限定的上述功能。
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本申请实施例所提供的如图2中所示的基于用户的服务隔离方法。图7为实现本申请实施例的一种存储介质的示意图。例如,如图7所示,存储介质700可以为非暂时性计算机可读存储介质,用于存储非暂时性计算机可执行指令701。当非暂时性计算机可执行指令701由处理器执行时可以实现本申请实施例所提供的基于用户的服务隔离方法,例如,当非暂时性计算机可执行指令701由处理器执行时,可以执行根据本申请实施例所提供的基于用户的服务隔离方法中的一个或多个步骤。例如,该存储介质700可以应用于上述电子设备中,例如,该存储介质700可以包括电子设备中的存储器。关于存储介质700的说明可以参考电子设备的实施例中对于存储器的描述,重复之处不再赘述。存储介质700的具体功能和技术效果可以参考关于本申请实施例所提供的基于用户的服务隔离方法的描述,此处不再赘述。
需要说明的是,本公开的实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、智能电话的存储卡、平板电脑的存储部件、便携式计算机磁盘、个人计算机的硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(Radio Frequency,射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该服务器执行时,使得该电子设备实现本申请实施例所提供的基于用户的服务隔离方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开实施例的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (11)
1.一种基于用户的服务隔离方法,包括:
响应于目标用户的登入,构建所述目标用户对应的用户对象,以及构建服务容器,将所述用户对象绑定到所述服务容器,在所述服务容器中创建与所述目标用户对应的服务实例;
响应于所述目标用户的登出,销毁所述用户对象、以及所述服务容器。
2.根据权利要求1所述的方法,其中,所述用户对象的属性数据至少包括目标用户的用户标识。
3.根据权利要求1所述的方法,其中,所述服务实例包括:用户界面组件和/或服务逻辑组件。
4.根据权利要求1所述的方法,还包括:
响应于所述服务容器的销毁,释放所述目标用户对应的服务实例。
5.根据权利要求1所述的方法,还包括:
在所述目标用户登入后,若调用预先运行的全局服务实例的目标接口,则将所述目标用户的用户标识传递给所述目标接口;
所述目标接口根据所述全局服务实例对应的当前用户的用户标识、以及所述目标用户的用户标识,确定所述全局服务实例对应的当前用户是否正确。
6.根据权利要求5所述的方法,其中,所述全局服务实例根据所述全局服务实例对应的当前用户的用户标识、以及所述目标用户的用户标识,确定所述全局服务实例对应的当前用户是否正确,包括:
若所述全局服务实例对应的当前用户的用户标识,与所述目标用户的用户标识不相同,则确定当前用户不正确;
若所述全局服务实例对应的当前用户的用户标识,与所述目标用户的用户标识相同,则确定所述当前用户正确。
7.根据权利要求5所述的方法,还包括:
在确定所述当前用户不正确之后,所述目标接口抛出当前用户错误的提示。
8.根据权利要求1所述的方法,还包括:
构建与多个用户分别对应的多个对象,以及构建多个容器,将所述多个对象分别绑定到所述多个容器,在所述多个容器中分别创建与所述多个用户分别对应的服务实例。
9.一种基于用户的服务隔离装置,所述装置包括:
第一响应单元,配置为,响应于目标用户的登入,构建所述目标用户对应的用户对象,以及构建服务容器,将所述用户对象绑定到所述服务容器,在所述服务容器中创建与所述目标用户对应的服务实例;
第二响应单元,配置为,响应于所述目标用户的登出,销毁所述用户对象、以及所述服务容器。
10.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令所述计算机执行权利要求1-8中任一项所述的方法。
11.一种电子设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310500903.5A CN116502215A (zh) | 2023-05-05 | 2023-05-05 | 一种基于用户的服务隔离方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310500903.5A CN116502215A (zh) | 2023-05-05 | 2023-05-05 | 一种基于用户的服务隔离方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116502215A true CN116502215A (zh) | 2023-07-28 |
Family
ID=87322753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310500903.5A Pending CN116502215A (zh) | 2023-05-05 | 2023-05-05 | 一种基于用户的服务隔离方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116502215A (zh) |
-
2023
- 2023-05-05 CN CN202310500903.5A patent/CN116502215A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9990209B2 (en) | Digital assistance device for facilitating multi-stage setup | |
US9262237B2 (en) | Automating software availability management based on API versioning | |
US10621062B2 (en) | Widget provisioning of user experience analytics and user interface / application management | |
CN108897575B (zh) | 电子设备的配置方法以及配置系统 | |
WO2019135133A1 (en) | Dynamic delivery of software functions | |
CN110851204B (zh) | 应用启动的方法及装置、应用打包的方法及装置 | |
US10897512B2 (en) | Generating push notifications | |
US9710575B2 (en) | Hybrid platform-dependent simulation interface | |
US11048618B2 (en) | Environment modification for software application testing | |
US10235214B2 (en) | Hierarchical process group management | |
CN109828830B (zh) | 用于管理容器的方法和装置 | |
CN113886264A (zh) | 分布式数据库的内嵌方法、装置、设备及存储介质 | |
CN111782210A (zh) | 页面管理方法、装置、电子设备及计算机可读介质 | |
CN110674050B (zh) | 内存越界检测方法、装置、电子设备及计算机存储介质 | |
CN111414152B (zh) | 业务逻辑的实现方法、系统、可读介质和电子设备 | |
CN109947659B (zh) | 用于测试应用的系统、方法和装置 | |
CN116502215A (zh) | 一种基于用户的服务隔离方法、装置、设备和介质 | |
CN115185745A (zh) | 数据处理方法、系统、电子设备及计算机可读存储介质 | |
CN115373869A (zh) | 基于aar的进程处理方法、装置及电子设备 | |
CN114035864A (zh) | 接口处理方法、接口处理装置、电子设备和存储介质 | |
US10778538B2 (en) | Automated self-recovery of distributed services | |
US8918582B2 (en) | Simulating EEPROM in virtual distributed switches | |
CN112506781A (zh) | 测试监控方法、装置、电子设备、存储介质及程序产品 | |
CN111488584A (zh) | 生产环境的测试方法、装置、计算设备以及介质 | |
US9942331B2 (en) | Utilization of computing services |
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 |