1.本技术涉及通信技术领域,尤其涉及一种基于航天云服务的权限分配方法和权限分配装置。
背景技术:2.随着卫星技术在无线通信技术领域的广泛应用,以及国家安全、航空航天、灾害预警等需求的日益紧迫,卫星通信网络发展迅速。卫星通信网实现全球通信,通信信道具有开放性的特点,信号发送地附近的所有用户在拥有一定设备的情况下都可以接收到信息,这就使得接入实体更易遭受实体假冒、非授权访问、信息窃取、跨网攻击等。因此,卫星通信网络需要对多个节点和多种用户终端的统一身份权限管理。
3.相关技术中,在进行权限管理时,一般在数据库中建立用户、角色、权限、用户-权限、权限-角色表结构,并且在业务代码中使用递归的技术可以完成用户鉴权的动态扩缩容。这样的管理方式导致用户和角色、权限具有一一对应关系。然而在实际应用中,同一个任务计划往往需要不同的角色来处理,同一个账号无法实现不同的权限管理,现有的航天云平台的权限管理方式存在灵活度低,调配效率低下的问题。
4.公开于本技术背景技术部分的信息仅仅旨在加深对本技术的一般背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
技术实现要素:5.本技术的目的在于提供一种基于航天云服务的权限分配方法和权限分配装置,该权限分配方法能够解决现有技术中航天云平台的权限管理方式存在灵活度低,调配效率低下的问题。
6.为了实现上述目的,本技术提供如下技术方案:
7.本技术实施例提供一种基于航天云服务的权限分配方法,所述方法具体包括:
8.建立航天云服务数据库,其中,所述数据库包括用户信息、角色信息、用户权限信息、子服务权限信息;
9.将所述用户信息和所述角色信息建立关联;
10.根据所述用户信息和所述角色信息建立的关联关系为所述角色分配用户权限和子服务权限;
11.其中,不同的角色信息对应不同的所述用户权限和/或所述子服务权限。
12.进一步地,所述将所述用户信息和所述角色信息建立关联具体为:
13.将一个所述用户信息与第一角色和第二角色建立映射关系。
14.进一步地,所述根据所述用户信息和所述角色信息建立的关联关系为所述角色分配用户权限和子服务权限具体为:
15.为所述第一角色分配第一用户权限,为所述第二角色分配所述子服务权限;
16.其中,所述第一用户权限包括账号中心权限、用户管理权限和任务计划权限,所述子服务权限包括任务计划的子权限。
17.进一步地,所述第一角色的所述任务计划权限的优先级高于所述第二角色的所述任务计划的子权限的优先级。
18.进一步地,所述第一角色的所述任务计划权限和所述第二角色的所述任务计划的子权限具有不同的范围。
19.第二方面,本技术实施例提供一种基于航天云服务的权限分配装置,所述装置具体包括:
20.数据库建立模块,用于建立航天云服务数据库,其中,所述数据库包括用户信息、角色信息、用户权限信息、子服务权限信息;
21.信息关联模块,用于将所述用户信息和所述角色信息建立关联;
22.权限分配模块,用于根据所述用户信息和所述角色信息建立的关联关系为所述角色分配用户权限和子服务权限;
23.其中,不同的角色信息对应不同的所述用户权限和/或所述子服务权限。
24.进一步地,所述信息关联模块具体用于:
25.将一个所述用户信息与第一角色和第二角色建立映射关系。
26.进一步地,所述权限分配模块具体用于:
27.为所述第一角色分配第一用户权限,为所述第二角色分配所述子服务权限;
28.其中,所述第一用户权限包括账号中心权限、用户管理权限和任务计划权限,所述子服务权限包括任务计划的子权限。
29.进一步地,所述第一角色的所述任务计划权限的优先级高于所述第二角色的所述任务计划的子权限的优先级。
30.进一步地,所述第一角色的所述任务计划权限和所述第二角色的所述任务计划的子权限具有不同的范围。
31.本技术中的基于航天云服务的权限分配方法,建立航天云服务数据库,其中,所述数据库包括用户信息、角色信息、用户权限信息、子服务权限信息;
32.将所述用户信息和所述角色信息建立关联;根据所述用户信息和所述角色信息建立的关联关系为所述角色分配用户权限和子服务权限;其中,不同的角色信息对应不同的所述用户权限和/或所述子服务权限。本技术通过给用户信息分配角色,给不同的角色分配不同的用户权限信息和子服务权限信息,提升了服务权限的横向和纵向的扩展性。建立用户与用户权限之间的关联,当用于需要分裂、新增和修改权限的时候,用户权限与子服务权限完全分隔开,互不影响。因此,本技术提供的方案,可以使同一个用户同时拥有不同账号,如拥有主账号和分身账号,主账号和分身账号对应不同角色,不同的角色对同一任务计划拥有不同的权限,在同一任务计划需要多角色进行时,可以充分利用各角色的服务权限,提高调度效率。
附图说明
33.图1为本技术实施例提供的一种基于航天云服务的权限分配方法的流程图;
34.图2为本技术实施例提供的一种基于航天云服务的权限分配装置的流示意图;
35.图3为本技术权限分配的系统架构图;
36.图4为本技术提供的电子设备实体结构示意图。
具体实施方式
37.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
38.本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
39.应当理解,在本公开的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
40.应当理解,在本公开中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
41.应当理解,在本公开中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含a、b和c”、“包含a、b、c”是指a、b、c三者都包含,“包含a、b或c”是指包含a、b、c三者之一,“包含a、b和/或c”是指包含a、b、c三者中任1个或任2个或3个。
42.应当理解,在本公开中,“与a对应的b”、“与a相对应的b”、“a与b相对应”或者“b与a相对应”,表示b与a相关联,根据a可以确定b。根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其他信息确定b。a与b的匹配,是a与b的相似度大于或等于预设的阈值。
43.取决于语境,如在此所使用的“若”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。
44.下面以具体地实施例对本公开的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
45.首先,对本技术的技术背景进行解释。传统的卫星地面测控或运控系统基本是专线专网、大中心、大测站,想要了解卫星工作状态,必须到固定的几个地方;想要实现对在轨卫星的操作控制更是十分稀少,对系统外的人来说密级和门槛都比较高。随着互联网技术的发展,其以互联网为平台搭建商业航天测控服务管理系统,允许智能手机、电脑等用户终端接入,实现对在轨卫星的操作控制,大大提高了航空信息管理的便捷性和可靠性。
46.然而,由于航天信息本身的机密性、复杂性较高,因此在现有的航天云服务平台中,信息管理均是基于较为单一的权利管理方式进行。具体地,给每个用户建立一个主账户,给每个主账户分配一个唯一id,主账户与其对应的权限信息表绑定存储,所述权限信息
表包括若干个功能权限以及每个功能权限对应的生效限制条件,所述生效限制条件包括上级生效限制条件和下级生效限制条件,所述下级生效限制条件必须在上级生效限制条件的范围内,所述上级生效限制条件和下级生效限制条件都由时间限制条件、位置限制条件、身份限制条件组成,只有当下级生效限制条件都满足时,对应的功能权限才生效。但是,在实际应用中,常常存在一个任务计划需要不同的角色完成,而不同的角色应该分配不同的权限。现有的单一用户角色权限对应关系无法满足实际应用的需求。
47.本技术实施例提供一种基于航天云服务的权限分配方法。请参见图1,为本技术提供的一种航天云服务的权限分配方法流程图。本技术实施例提供的一种基于航天云服务的权限分配方法,包括以下步骤:
48.s101,建立航天云服务数据库,其中,所述数据库包括用户信息、角色信息、用户权限信息、子服务权限信息;
49.可以理解地,在进行航天云服务的过程中,首先需要建立数据库。数据库中存储有用户信息、角色信息、用户权限信息、子服务权限信息。在数据库中,用户是指每一个在系统注册账户的id(identity document,身份识别码),角色是指用于绑定用户所在部门及职位,权限是指该用户可操作或查看的范围,包括操作权限和数据权限。
50.用户信息包括用户喜好、用户细分、用户需求、用户联系方式等一些关于用户的基本资料。用户信息主要分为描述类信息、行为类信息和关联类信息三种类型。用户在注册时将用户信息投入数据库中,并未用户分配用户账号。
51.此外,可以构建用户表、角色表、权限表、用户-用户权限映射表、用户-角色映射表、子服务表、子服务权限表和用户-子服务权限映射表。
52.其中,所述用户表中包括用户的标识、所述用户的下级用户的标识和所述用户所拥有的子服务;所述角色表中包括角色的标识和角色名称;所述权限表中包括权限标识和权限名称;所述用户-用户权限映射表中包括用户标识和用户权限标识;所述角色-用户映射表中包括用户标识和角色标识;所述子服务表中包括子服务标识和子服务名称;所述子服务权限表中包括子服务的多级权限标识和子服务的多级权限名称;所述用户-子服务权限映射表中包括用户标识和子服务的多级权限标识。
53.在业务代码中使用递归的技术完成用户鉴权的动态扩缩容,当数据库中保存用户权限账号和子服务权限账号,使用递归算法(递归算法就是将原问题不断分解为规模缩小的子问题,然后递归调用方法来表示问题的解。也就是使用一个方法解决规模不同的问题)将权限结构形成一个树状结构,当新增权限的时候,只需要在数据库中插入数据时指明这个用户账号和这个用户账号所对应的权限账号和/或这个用户账号所对应的子服务权限账号即可。
54.服务也就是服务机构为被服务对象提供的各类服务,如桌面服务,邮件服务,存储服务等,服务目录也就是确定服务提供者所能提供服务的范围,用于对服务机构提供的所有服务进行分类,呈树状结构,每个服务目录下有可能包含子服务目录和子服务。包含子服务或子服务目录的也被称作父服务。
55.该数据库为具有权限管理功能的关系型数据库。
56.s102,将所述用户信息和所述角色信息建立关联;
57.一般而言,每一个用户在系统注册账户时会形成一个用户id,每一个用户id在注
册时即被分配相应的角色,每一个角色又对应相应的权限。比如,角色可以有系统管理者、系统使用者和游客。系统管理者的角色可以拥有最高级权限,如拥有操作权限和数据编辑浏览权限,系统使用者的权限相对较低,比如仅有数据编辑浏览权限,而游客的权限最低,如仅有数据浏览权限。然而,在一个任务计划完成的过程中,可能需要一个用户同时拥有系统管理者的权限和系统使用者的权限,以便于从不同的维度了解任务计划的进行,因此,现有的权限分配方式无法满足这一需求。
58.在本技术实施例中,用户可以拥有第一账号和第二账号。可以理解地,第一账号为主账号,第二账号为分身账号。可以给第一账号分配系统管理权限,第二账号分配系统使用权限。如此,当一个用户在进行任务管理时,可以通过切换主账号和分身账号,即可在不同角色权限之间切换,从而可以多维度完成任务计划。
59.具体地,在数据库中包括了用户信息、角色信息、用户权限信息、子服务权限信息之后,可以将用户信息与角色信息建立关联。
60.本技术实施例中,一个用户id可以拥有多个账号,比如第一账号、第二账号和第三账号。将第一账号与第一角色信息建立关联,第二账号和第二角色信息建立关联,第三账号和第三角色信息建立关联。一种可选的方式为,第一账号是主账号,将第一账号和系统管理者角色建立关联;第二账号和第三账号是分身账号,将第二账号和系统使用者角色建立关联,第三账号和游客角色建立关联。
61.s103,根据所述用户信息和所述角色信息建立的关联关系为所述角色分配用户权限和子服务权限;
62.具体地,不同的角色拥有不同的权限。如此,在进行一项任务计划时,一个用户可以通过在主账号和分身账号之间的切换来实现多维度任务计划管理。比如,通过主账号对系统进行调整和数据管理,通过分身账号从不同角色了解系统运行情况。
63.可选地,为所述第一角色分配第一用户权限,为所述第二角色分配所述子服务权限;其中,所述第一用户权限包括账号中心权限、用户管理权限和任务计划权限,所述子服务权限包括任务计划的子权限。如此,通过嵌套式的权限分配,可以实现不同权限的合理分配,有利于提高数据库的调度和运行效率。
64.可选地,第一角色的任务计划权限的优先级高于第二角色的任务计划的子权限的优先级。可以理解的是,第一角色为主账号的角色,拥有较高的任务计划优先级,第二角色为分身账号的角色,其对任务计划的把控优先级较低。
65.可选地,第一角色的所述任务计划权限和第二角色的所述任务计划的子权限具有不同的范围。可以理解地,不同的角色共同完成任务计划时,其负责的范围不同。例如,第一角色作为主账号的角色,其拥有整个任务计划的权限范围,而第二角色作为分身账号的角色,其在任务计划中所具有的权限仅仅包含部分,如任务计划书部分,或者任务核验部分。如此,可以在提高调度效率的同时进一步提高航天云服务平台的安全性。
66.可选地,当需要修改或删除某一个用户的用户权限和/或子服务权限时,通过所述用户账号搜索到与所述用户账号相匹配的所述子服务权限账号信息和/或用户权限账号信息,对与所述用户账号相匹配的所述子服务权限账号信息和/或所述用户权限账号信息进行修改;
67.在所述用户表中增加一列表示用户所拥有的子服务,并保存所述子服务权限与所
述用户之间的关系;
68.在web页面上会有一个权限分配的树状结构,会展示出当前用户所拥有的用户权限和所拥有的子服务权限,当用户给其他用户分配权限的时候,将子服务账号、用户权限账号、子服务权限账号和用户账号传输给后端服务,后端服务操作数据库进行权限绑定;
69.使用了单独绑定的方式,在用户表中增加一列服务标识表示这个用户所拥有的子服务,然后创建一个表,保存该子服务所包含的子服务权限和该用户之间的关系。
70.服务标识:指的就是在用户表中单独有一列来表示该用户所拥有的子服务权限,该列使用字符串保存,多个子服务中间逗号隔开。
71.与现有技术相比,本技术的权限分配方法具有服务标识使得给用户配置子服务权限的时候更加的灵活、权限分离增强了整个鉴权架构的动态扩展能力和建立子服务的权限关系使得子服务权限更加的灵活的优点。
72.如图3所示,将子服务权限a-3分离出来,将用户a与子服务权限a-3进行绑定,提升了子服务权限a-3的横向和纵向的扩展性。将子服务和子服务权限a-3之间的关系进行关联,将子服务权限a-3与子服务权限a-3-1和子服务权限a-3-2建立一对多的关系,当用户需要分配、新增或修改权限的时候,用户权限a与子服务权限a-3完全分隔开,互不影响,减少了当用户权限a过多的时候造成权限混乱的情况。
73.将用户a与角色a进行绑定,权限a与权限a-1和权限a-2建立1对多的关系,用户a与权限a进行关联,用户与子服务a-3进行关联,子服务a-3与子服务权限a-3-1、子服务权限a-3-2进行关联。
74.第二方面,本技术实施例还提供一种基于航天云服务的权限分配装置,如图2所示,所述装置具体包括:
75.数据库建立模块201,用于建立航天云服务数据库,其中,所述数据库包括用户信息、角色信息、用户权限信息、子服务权限信息;
76.信息关联模块202,用于将所述用户信息和所述角色信息建立关联;
77.可选地,信息关联模块202具体用于:
78.将一个所述用户信息与第一角色和第二角色建立映射关系。
79.权限分配模块203,用于根据所述用户信息和所述角色信息建立的关联关系为所述角色分配用户权限和子服务权限;
80.其中,不同的角色信息对应不同的所述用户权限和/或所述子服务权限。
81.可选地,权限分配模块203具体用于:
82.为所述第一角色分配第一用户权限,为所述第二角色分配所述子服务权限;
83.其中,所述第一用户权限包括账号中心权限、用户管理权限和任务计划权限,所述子服务权限包括任务计划的子权限。
84.可选地,所述第一角色的所述任务计划权限的优先级高于所述第二角色的所述任务计划的子权限的优先级。
85.可选地,所述第一角色的所述任务计划权限和所述第二角色的所述任务计划的子权限具有不同的范围。
86.此外,本实施例还提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的方法,例如包
括:建立航天云服务数据库,其中,所述数据库包括用户信息、角色信息、用户权限信息、子服务权限信息;将所述用户信息和所述角色信息建立关联;根据所述用户信息和所述角色信息建立的关联关系为所述角色分配用户权限和子服务权限;其中,不同的角色信息对应不同的所述用户权限和/或所述子服务权限。
87.本技术可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本技术的各个方面的计算机可读程序指令。
88.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
89.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
90.用于执行本技术操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本技术的各个方面。
91.这里参照根据本技术实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本技术的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
92.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数
据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
93.也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
94.附图中的流程图和框图显示了根据本技术的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
95.注意,除非另有直接说明,否则本说明书(包含任何所附权利要求、摘要和附图)中所揭示的所有特征皆可由用于达到相同、等效或类似目的的可替代特征来替换。因此,除非另有明确说明,否则所公开的每一个特征仅是一组等效或类似特征的一个示例。在使用到的情况下,进一步地、较优地、更进一步地和更优地是在前述实施例基础上进行另一实施例阐述的简单起头,该进一步地、较优地、更进一步地或更优地后带的内容与前述实施例的结合作为另一实施例的完整构成。在同一实施例后带的若干个进一步地、较优地、更进一步地或更优地设置之间可任意组合的组成又一实施例。
96.本领域的技术人员应理解,上述描述及附图中所示的本技术的实施例只作为举例而并不限制本技术。本技术的目的已经完整并有效地实现。本技术的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本技术的实施方式可以有任何变形或修改。
97.最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。