掌桥专利:专业的专利平台
掌桥专利
首页

基于自动授权提供SaaS服务的方法和装置

文献发布时间:2023-06-19 18:34:06


基于自动授权提供SaaS服务的方法和装置

技术领域

本申请一般地涉及通信技术领域,尤其涉及一种基于自动授权提供SaaS服务的方法和装置。

背景技术

SaaS(Software as a Service)意思为软件即服务,即通过网络提供软件服务。SaaS平台供应商将应用软件统一部署在其服务器上,客户可以根据工作实际需求,通过互联网向该供应商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得该SaaS平台供应商提供的服务。

目前市面提供的各种SaaS服务,在选购、支付和授权、实施以及售后和维护环节几乎都采用以下方式:首先,用户欲购买或升级SaaS服务,联系SaaS服务提供方的售前客服,与售前客服沟通并选择购买或升级的SaaS服务,并根据服务提供方提供的收款账户进行付款;然后SaaS服务提供方进行授权和功能分配,并现场实施用户所购买或升级的SaaS服务,从而完成SaaS服务提供流程。

上述SaaS服务提供流程存在灵活性差、响应缓慢、成本高昂、用户体验不佳等缺点:在选购环节,多数SaaS服务提供方仅整体地提供SaaS服务,用户只能整体地选择SaaS服务的全部功能,选择灵活性差;在支付和授权环节,用户在选择所需SaaS服务后,需与SaaS服务提供方沟通进行购买意向确认、合同签署、线下付款、确认相关内容等,然后由SaaS提供方为用户开通相应权限,导致沟通周期长,响应缓慢;在实施环节,传统SaaS服务提供流程可能需要进行服务内容分配、权限令牌分发、现场环境搭建、用户使用培训等各种操作,其中很多操作需要上门现场实施,导致成本高昂;在售后和维护环节,传统SaaS服务在使用到期时若需要进行续费,用户需要重复上述环节,过程繁琐耗时,造成用户体验不佳。

发明内容

有鉴于现有技术存在的上述缺点,本申请提供了一种基于自动授权提供SaaS服务的方法和装置,以提高SaaS服务提供流程的灵活性、提高响应速度、降低成本和提升用户体验。

根据本申请的第一方面,提供了一种基于自动授权提供SaaS服务的方法,由服务器端执行,包括:将SaaS服务的功能划分成至少一个MVP模块,其中每个MVP模块包含至少一个SaaS服务功能;对每个MVP模块进行预授权处理,以配置每个MVP模块的预授权限;接收用户购买的一个或多个MVP模块的信息,根据所述用户购买的所述MVP模块的信息确定所述MVP模块对应的预授权限;根据所述用户购买的所述MVP模块对应的所述预授权限,生成所述用户的权限令牌,将所述权限令牌发送到客户端。

在一个实施例中,所述方法还包括:根据所述MVP模块之间的相关性,将所述MVP模块组合成至少一个MVP模块组合,其中每个MVP模块组合包含至少一个MVP模块。

在一个实施例中,所述方法还包括:设置每个MVP模块和每个MVP模块组合的描述信息、价格信息和应用场景信息。

在一个实施例中,所述MVP模块组合的预授权限根据所述MVP模块组合中包含的MVP模块的预授权限确定。

在一个实施例中,所述对每个MVP模块进行预授权处理,以配置每个MVP模块的预授权限包括:根据每个MVP模块与权限信息的关联关系,获取所述MVP模块对应的权限信息;根据所述MVP模块对应的权限信息,对所述MVP模块进行预授权处理,以配置所述MVP模块的预授权限。

在一个实施例中,所述方法还包括获取所述用户的相关信息,其中所述根据所述用户购买的所述MVP模块对应的所述预授权限,生成所述用户的权限令牌包括:根据所述用户购买的所述MVP模块对应的所述预授权限和所述用户的所述相关信息,生成所述用户的所述权限令牌。

在一个实施例中,所述用户的所述相关信息包括所述用户的认证信息、付费信息、部署模式和访问模式。

在一个实施例中,所述用户的所述部署模式包括云部署模式和私有化部署模式。

在一个实施例中,当所述用户的所述部署模式为所述私有化部署模式时,将所述权限令牌存储为令牌文件以供客户端下载。

根据本申请的第二方面,提供了一种基于自动授权提供SaaS服务的装置,包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述计算机可执行指令在被所述处理器执行时,实现根据本申请第一方面所述的基于自动授权提供SaaS服务的方法。

根据本申请的上述技术方案,通过将SaaS服务的功能划分成MVP模块,并将相关联的MVP模块组合成MVP模块组合,用户可根据需要灵活地选择所需的SaaS服务功能,从而提高了选择SaaS服务功能的灵活性;通过对MVP模块进行预授权,基于所述用户购买的MVP模块的预授权限生成所述用户的权限令牌,并基于所述权限令牌自动部署SaaS服务功能,使得整个SaaS服务提供流程中的选购、支付和授权、实施以及售后和维护环节可以全部在线自动完成,从而提高了响应速度、降低了成本、提升了用户体验。

附图说明

通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:

图1是根据本申请实施例的一种由服务器端执行的基于自动授权提供SaaS服务的方法的流程图;

图2是根据本申请实施例的一种由客户端和/或私有服务器端执行的部署SaaS服务的方法的流程图;

图3是根据本申请实施例的客户端和/或私有服务器端与远程服务器端的通信示意图;

图4是根据本申请实施例的布置在服务器端的一种基于自动授权提供SaaS服务的装置的结构示意图。

具体实施方式

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

应当理解,当本申请的权利要求、说明书及附图使用术语“第一”、“第二”等时,其仅是用于区别不同对象,而不是用于描述特定顺序。本申请的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

根据本申请的第一方面,本申请提供了一种基于自动授权提供SaaS服务的方法,由服务器端执行。

图1展示了根据本申请实施例的一种由服务器端执行的基于自动授权提供SaaS服务的方法的流程图。所述基于自动授权提供SaaS服务的方法包括步骤S102至步骤S108,下面具体说明。

S102,将SaaS服务的功能划分成至少一个MVP模块,其中每个MVP模块包含至少一个SaaS服务功能。

所述SaaS服务包含多个功能,其中有些功能被配置成能够独立运行,称为独立功能,而有些功能不能独立运行,必须与一个或多个其他功能相结合才能运行,称为结合功能。例如,该SaaS服务S包含a、b、c、d和e共五个功能,其中a、b、c功能能够独立运行,为独立功能,d和e功能不能独立运行,为结合功能。

MVP(Minimum Viable Product,最小化可行产品)模块是一个可独立运行的可用的最小功能集合,这个集合的功能可以满足用户的基本需求。例如,该MVP模块包括至少一个独立功能和至少一个结合功能,如a、a+c、b+e、a+c+d、a+b+c+d等。

在一个实施例中,所述将SaaS服务的功能划分成至少一个MVP模块包括:根据所述SaaS服务的各功能的自身特性和各功能之间的相互关系以及每个MVP模块的运行条件,确定所述MVP模块的边界和范围;基于所述MVP模块的边界和范围,生成所述至少一个MVP模块。

作为示例,所述SaaS服务的各功能的自身特性包括各功能的作用和是否可独立运行,如果不可独立运行,则其不可单独划分到一个MVP模块中,而必须与一个或多个其他相关联功能组合起来划分到一个MVP模块中。每个MVP模块的运行条件是指每个MVP模块必须能够独立运行,且满足用户的基本需求。例如,组合a、b+e、c+d能够满足所述用户的基本需求。因此,将所述SaaS功能S划分成三个MVP模块:第一MVP模块,包含功能a;第二MVP模块,包含功能组合b+e;第三MVP模块,包含功能组合c+d,如表1所示。所述MVP模块的边界和范围是指各MVP模块的功能集合的范围。

表1 MVP模块划分示例

所述SaaS服务的功能划分还可以依据其他标准,只要最终能够生成至少一个MVP模块即可,本申请对此不作特别限定。

在一个实施例中,所述方法还包括:

S103,根据所述MVP模块之间的相关性,将所述MVP模块组合成至少一个MVP模块组合,其中每个MVP模块组合包含至少一个MVP模块。

其中所述MVP模块之间的相关性可以包括所述MVP模块之间的功能相关性,也可以包括根据大多数用户需求预先确定的MVP模块之间的预定相关性,还可以包括根据特定用户需求个性化地确定的MVP模块之间的自定义相关性。例如,上述SaaS功能的第一MVP模块和第二MVP模块可以组合成第一MVP模块组合,包含功能组合a+(b+e);第一MVP模块和第三MVP模块可以组合成第二MVP模块组合,包含功能组合a+(c+d);第二MVP模块和第三MVP模块可以组合成第三MVP模块组合,包含功能组合(b+e)+(c+d),如表2所示。通过将所述MVP模块组合成至少一个MVP模块组合,为用户选购MVP模块提供方便,使得MVP模块选购过程更加方便快捷。

表2 MVP模块组合示例

在一个实施例中,所述方法还包括:设置每个MVP模块和每个MVP模块组合的描述信息、价格信息和应用场景信息。其中所述描述信息包括每个MVP模块和每个MVP模块组合的详细介绍、对应的功能以及解决的问题等。设置这些信息为用户在选购时提供参考,从而方便用户根据自身情况细致选择满足其需求的MVP模块或MVP模块组合。

S104,对每个MVP模块进行预授权处理,以配置每个MVP模块的预授权限。

为了解决后期授权不完善和交叉授权混乱的问题,使后续MVP模块的部署实施更加迅速快捷,对每个MVP模块进行预授权处理,为每个MVP模块配置预授权限。

在一个实施例中,该步骤包括:根据每个MVP模块与权限信息的关联关系,获取所述MVP模块对应的权限信息;根据所述MVP模块对应的权限信息,对所述MVP模块进行预授权处理,以配置所述MVP模块的预授权限。

具体地,每个MVP模块与权限信息的关联关系可以以权限列表的形式提供,所述权限列表中列出每个MVP模块对应的各种权限,包括对所述SaaS功能的外部接口以及SaaS功能的其他MVP模块的内部接口的访问权限等,本申请对每个MVP模块对应的权限信息的形式和对应的权限的类别不作特别限定。在根据所述权限列表获取所述MVP模块对应的权限信息后,根据所述MVP模块对应的权限信息,对所述MVP模块进行预授权处理,以配置所述MVP模块的预授权限。所述预授权处理可以通过自动授权算法实现。作为示例,所述自动授权算法可以采用基于规则的自动化授权算法,也可以采用本领域中已知的其他自动授权算法,本申请对此不作特别限定。

通过本步骤完成预授权的MVP模块实际已经携带权限信息,用户获取对应MVP模块即可立即实施,无需再次通过授权服务进行赋权,使得后续MVP模块的部署实施更加迅速快捷。

S106,接收用户购买的一个或多个MVP模块的信息,根据所述用户购买的所述MVP模块的信息确定所述MVP模块对应的预授权限。

具体地,所述用户可以购买一个或多个独立的MVP模块,也可以购买上述MVP模块组合,还可以同时购买一个或多个独立的MVP模块以及MVP模块组合。

所述MVP模块对应的预授权限通过步骤S104中的方式确定。所述MVP模块组合的预授权限根据所述MVP模块组合中包含的MVP模块的预授权限确定。具体而言,所述MVP模块组合的预授权限可以继承其中包含的MVP模块的预授权限。关于继承的方式,可以将所述MVP模块组合中包含的各MVP模块的预授权限作为集合,所述MVP模块组合的预授权限可以是各MVP模块的各预授权限集合的简单加和,也可以是其并集。本申请对根据所述MVP模块组合中包含的MVP模块的预授权限确定所述MVP模块组合的预授权限的方式不作特别限定,只要所确定的MVP模块组合的预授权限能够使得其中的各MVP模块正常运行并执行设定功能即可。

S108,根据所述用户购买的所述MVP模块对应的所述预授权限,生成所述用户的权限令牌,将所述权限令牌发送到客户端。

所述权限令牌(Token)是所述服务器端生成的一串字符串,其中包含所述用户的身份和权限信息,以用于在客户端验证所述用户的身份和权限,从而查看或者操作相应的SaaS资源。

在一个实施例中,在步骤S106中,所述接收用户购买的一个或多个MVP模块的信息还包括接收所述用户的相关信息,其中所述用户的所述相关信息包括所述用户的认证信息、付费信息、部署模式和访问模式中的一个或多个,其中所述认证信息是指所述用户的身份认证信息,所述付费信息是指所述用户的MVP模块的购买信息,所述部署模式指所述用户已购买的MVP模块中包含的SaaS功能的部署方式,包括云部署模式和私有化部署模式,所述访问模式是指所述用户对MVP模块中包含的SaaS功能的访问方式,包括本地访问和远程访问等。

相应地,所述生成所述用户的权限令牌包括:根据所述MVP模块对应的所述预授权限和所述用户的相关信息,生成所述用户的所述权限令牌。

具体地,通过权限令牌生成算法自动生成所述用户的权限令牌。所述权限令牌在时效性方面可以是永久令牌,也可以是临时令牌,永久令牌一经生成即可永久使用,以方便所述用户的使用,临时令牌则只能在生成后预定时间段内使用,过期失效,从而提高SaaS服务的安全性。所述权限令牌在权限完整性方面可以是完全权限令牌,也可以是部分权限令牌,前者包含对SaaS资源的全部权限,后者则仅包含对SaaS资源的部分权限,例如不包含对所有MVP模块公用的基础性SaaS资源的删除权限,从而进一步提高SaaS服务的安全性。所述权限令牌还可以包含访问限制信息,包括全局限制和接口限制,以限制对MVP模块和相关内部接口和外部接口的访问时间和访问频率等,从而更进一步提高SaaS服务的安全性。

所述权限令牌生成算法可以包括本领域中已知的权限令牌生成算法,例如HMACs算法、ECDSA算法、SHA算法等,也可以采用新的专用权限令牌生成算法,本申请对此不作特别限定。

在生成所述权限令牌之后,将所述权限令牌发送到客户端,以用于后续部署所述用户购买的一个或多个MVP模块或MVP模块组合中的SaaS功能。当所述用户的所述部署模式为所述私有化部署模式时,将所述权限令牌存储为令牌文件以供客户端下载,例如,可以将所述令牌文件存储到预定存储空间中。

至此,所述服务器端的提供SaaS服务的流程已基本完成。

根据本申请第一方面的上述技术方案,通过将SaaS服务的功能划分成MVP模块,并将相关联的MVP模块组合成MVP模块组合,用户可根据需要灵活地选择所需的SaaS服务功能,从而提高了选择SaaS服务功能的灵活性;通过对MVP模块进行预授权,基于所述用户购买的MVP模块的预授权限生成所述用户的权限令牌,使得SaaS服务提供流程中的选购、支付和授权环节可以在线自动完成,从而提高了响应速度、降低了成本、提升了用户体验。

为了更完整地描述本申请的技术方案,以使本领域技术人员能够更清楚地理解本申请的技术方案的内容和原理,下面描述根据本申请第一方面的基于自动授权提供SaaS服务的方法生成的权限令牌来部署SaaS功能的方法流程。

图2展示了根据本申请实施例的一种由客户端和/或私有服务器端执行的部署SaaS服务的方法的流程图。所述部署SaaS服务的方法包括步骤S202至步骤S206,下面具体说明。

图3展示了所述客户端和/或私有服务器端与远程服务器端的通信示意图。如图3所示,客户端设备和私有服务器之间可通信地连接,组成一个局域网,该局域网与远程服务器通信。所述远程服务器可以是本申请第一方面任一实施例中的服务器。

S202,获取用户购买的一个或多个MVP模块的信息,将所述用户购买的所述MVP模块的信息发送到服务器端。

具体地,所述用户购买的一个或多个MVP模块的信息可以在所述客户端通过获取所述用户输入的MVP模块购买信息来获取,也可以通过其他方式来获取,本申请对此不作特别限定。

在获取所述用户购买的所述MVP模块的信息之后,将所述用户购买的所述MVP模块的信息例如通过有线或无线通信发送到所述远程服务器端。

S204,接收所述服务器端发送的所述用户的权限令牌。

具体地,所述用户的权限令牌是所述远程服务器端响应于接收到所述用户购买的所述一个或多个MVP模块的信息,通过本申请第一方面的由服务器端执行的基于自动授权提供SaaS服务的方法中的步骤S106来生成,具体流程和方法在此不再赘述。

S206,根据所述用户的所述权限令牌,为所述用户部署所述用户购买的所述MVP模块的相应SaaS功能。根据所述用户对SaaS功能需求的不同,包含两种情况:云部署模式和私有化部署模式。

具体地,在一个实施例中,当所述用户的部署模式为云部署模式时,所述部署所述用户购买的所述MVP模块的相应SaaS功能包括:在所述客户端执行所述用户的所述权限令牌,以在客户端部署所述用户购买的所述MVP模块的所述相应功能。

在另一个实施例中,当所述用户的部署模式为私有化部署模式时,所述部署所述用户购买的所述MVP模块的相应功能包括:在所述客户端下载所述服务器端根据所述用户的所述权限令牌存储的所述用户的令牌文件;在所述私有服务器端执行所述令牌文件,以在所述私有服务器端部署所述用户购买的所述MVP模块的所述相应功能。相比于上述云部署模式,将所述权限令牌存储为令牌文件,所述用户将生成的令牌文件下载至私有化服务器进行安装,用户在私有化服务器仅需一键执行令牌文件,以进行SaaS功能部署。

在一个实施例中,所述方法进一步包括:在完成部署所述用户购买的所述MVP模块的所述相应功能之后,通知所述用户。

进一步地,在所述客户端部署SaaS功能完成之后,在需要对SaaS功能进行升级和维护时,可以根据具体情况通过执行根据本申请任一实施例的基于自动授权提供SaaS服务的方法的上述一个或多个步骤来实现。例如,若所述用户需要在已购买和使用的MVP模块的基础上新增MVP模块,则完整地执行上述步骤S102至S108以及步骤S202至S206。例如,所述已购买和使用第一MVP模块,且所述用户欲新增第二MVP模块,则可以将所述用户的现有权限令牌升级成第一MVP模块组合对应的权限令牌,并为所述用户部署相应功能a+(b+e)。若所述用户需要停用原有的MVP模块,并新购其他的MVP模块,则首先,去激活原有的MVP模块,然后,执行上述步骤S102至S108以及步骤S202至S206以部署实施所述其他的MVP模块中的SaaS功能。例如,所述用户已购买和使用第一MVP模块,且欲停用该第一MVP模块,转而使用第二MVP模块,则首先,去激活该第一MVP模块,将所述用户的现有权限令牌升级成第二MVP模块对应的权限令牌,并为所述用户部署第二MVP模块对应的功能b+e。

根据本申请上述实施例的技术方案,通过获取用户购买的MVP模块的信息,并接收和执行所述服务器端根据所述MVP模块的信息生成的所述用户的权限令牌,为所述用户部署所述用户购买的所述MVP模块的相应功能,用执行许可令牌这一简单操作替代原繁长冗杂的系列实施动作,使得SaaS服务提供流程中的部署环节可以在线自动完成。同时结合根据本申请第一方面的上述技术方案,售后维护环节也可在线完成,这样使得整个SaaS服务提供流程中的选购、支付和授权、实施以及售后和维护环节可以全部在线自动完成,从而提高了响应速度、降低了成本、提升了用户体验。

根据本申请的第二方面,本申请还提供了一种基于自动授权提供SaaS服务的装置400。例如,所述装置可以是服务器端的设备,如图4所示,所述装置400包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述计算机可执行指令在被所述处理器执行时,能够实现根据本申请第一方面任一实施例所述的由服务器端执行的基于自动授权提供SaaS服务的方法。上文已经详细叙述了所述基于自动授权提供SaaS服务的方法,在此不再赘述相关细节,可参考本申请第一方面的相应内容。

根据本申请的第二方面的所述装置还包括通信总线和通信接口等本领域技术人员熟知的其他组件,其设置和功能为本领域中已知,因此在此不再赘述。

为了更加容易理解本申请的技术方案,以下通过一个实例来详细描述本申请的基于自动授权提供SaaS服务的具体方法流程,包括以下步骤S1至S3。

S1,用户在客户端购买/升级一个或多个MVP模块和/或MVP模块组合。

S2,服务器端根据用户购买的所述MVP模块和/或MVP模块组合获取对应预授权信息,并且根据所述预授权信息自动生成权限令牌。

S3,客户端和/或私有服务器端根据所述用户的部署模式(云部署模式或私有化部署模式)部署所述MVP模块和/或MVP模块组合中包含的SaaS功能:

S3.1,若所述用户的部署模式为云部署模式,则所述客户端自动执行权限令牌,在所述客户端部署所述MVP模块和/或MVP模块组合中包含的SaaS功能,并在实施完成后通知所述用户;

S3.2,若所述用户的部署模式为私有化部署模式,则所述服务器端将所述权限令牌存储为所述用户的令牌文件,所述客户端下载令牌文件后在所述私有化服务器端执行所述令牌文件,以在所述私有化服务器端部署所述MVP模块和/或MVP模块组合中包含的SaaS功能,并在实施完成后通知所述用户。

以上通过实例详细描述了本申请的基于自动授权提供SaaS服务的具体方法流程。通过本实例中的技术方案,SaaS服务提供过程中的咨询、选购、支付、授权、实施全流程在线完成,响应迅速,响应周期短,客户体验好,服务后续升级及维护工作全部通过在线完成,节省高昂的实施成本,缩短了售后联调。

根据本说明书的上述描述,本领域技术人员还可以理解如下使用的术语,例如“上”、“下”等指示方位或位置关系的术语是基于本说明书的附图所示的方位或位置关系的,其仅是为了便于阐述本申请的方案和简化描述的目的,而不是明示或暗示所涉及的装置或元件必须要具有所述特定的方位、以特定的方位来构造和进行操作,因此上述的方位或位置关系术语不能被理解或解释为对本申请方案的限制。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 用于基于电子邮件提供个性化推荐服务的方法及其装置
  • 一种基于人脸的服务提供方法及装置
  • 一种基于自动适配来提供私有云服务的方法及系统
  • 基于SaaS服务模式的租户管理及服务提供方法、装置
  • 一种SaaS用户端与SaaS服务提供端通讯过程的身份信息验证方法及其装置
技术分类

06120115611938