CN110889108A - spark任务的提交方法、装置和服务器 - Google Patents
spark任务的提交方法、装置和服务器 Download PDFInfo
- Publication number
- CN110889108A CN110889108A CN201911178769.1A CN201911178769A CN110889108A CN 110889108 A CN110889108 A CN 110889108A CN 201911178769 A CN201911178769 A CN 201911178769A CN 110889108 A CN110889108 A CN 110889108A
- Authority
- CN
- China
- Prior art keywords
- spark
- task
- user
- airflow
- kerberos
- 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.)
- Granted
Links
Images
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种spark任务的提交方法、装置和服务器,方法包括:响应spark任务的创建已完成操作,若基于超级用户进行kerberos权限认证通过,生成包含spark任务的任务参数的spark‑submit命令,并将其代理用户名赋值为spark任务所在项目的创建者对应的用户名;通过该spark‑submit命令提交spark任务。该方法在提交spark任务的同时自动进行kerberos权限认证,提升了认证效率;通过将spark‑submit中的代理用户名赋值为上述创建者对应的用户名,确保了spark任务的创建者和提交者为同一用户,避免了用户身份信息被其他用户使用,保证了大数据系统的安全。
Description
技术领域
本发明涉及大数据处理技术领域,尤其是涉及一种spark任务的提交方法、装置和服务器。
背景技术
在向大数据系统提交spark任务前,通常需要进行kerberos认证,以保证数据安全,相关技术中,执行认证的方式主要是用户在spark业务代码中增加执行权限认证的shell脚本,该方式中,用户在实现spark业务代码的同时,还要在每个spark业务代码中手动增加权限认证逻辑,工作量大且易出现重复性工作,导致认证效率较低;并且,这种基于shell脚本的认证方式,难以保证spark任务的提交者与spark任务的创建者之间的统一,容易出现kerberos权限使用不规范的问题,从而降低了大数据系统的安全性。
发明内容
本发明的目的在于提供一种spark任务的提交方法、装置和服务器,以提升认证效率,同时保证大数据系统的安全性。
本发明提供的一种spark任务的提交方法,所述方法应用于配置有Airflow调度系统和kerberos权限认证系统的服务器,所述服务器预先存储有所述kerberos权限认证系统对应的超级用户账户信息,所述方法包括:响应针对所述Airflow调度系统的spark任务的创建已完成操作,基于所述超级用户账户信息进行kerberos权限认证;当所述kerberos权限认证通过时,生成包含有所述spark任务的任务参数的任务提交spark-submit命令,并将所述spark-submit命令中的代理用户名proxy-user参数赋值为所述spark任务所在的项目的创建者对应的用户名,以使所述spark任务的提交者与创建者相同;通过所述spark-submit命令提交所述spark任务。
进一步的,所述响应针对所述Airflow调度系统的spark任务的创建已完成操作,基于所述超级用户账户信息进行kerberos权限认证的步骤,包括:响应针对所述Airflow调度系统的spark任务的创建已完成操作;在所述Airflow调度系统中新建第一子进程;基于所述超级用户账户信息,在所述第一子进程中进行kerberos权限认证。
进一步的,通过所述spark-submit命令提交所述spark任务的步骤,包括:在所述Airflow调度系统中新建第二子进程;在所述第二子进程中执行spark-submit命令,以提交所述spark任务。
进一步的,通过所述spark-submit命令提交所述spark任务的步骤之后,所述方法还包括:在所述spark任务的提交过程中生成日志信息;将所述日志信息发送至所述Airflow调度系统的日志中;通过所述Airflow调度系统的日志监控所述提交过程。
进一步的,所述响应针对所述Airflow调度系统的spark任务的创建已完成操作,基于所述超级用户账户信息进行kerberos权限认证的步骤之前,所述方法还包括:响应针对所述Airflow调度系统的登录操作,获取所述登录操作使用的登录信息,所述登录信息包括:用户名和密码;将所述登录信息与预先存储的注册信息进行比较,判断是否存在匹配的注册信息;
如果存在,响应针对所述Airflow调度系统的项目创建指令,在所述Airflow调度系统中创建项目;其中,所述项目配置有参数填写页面;
将所述项目与所述用户名进行绑定,以使所述用户名对应的用户拥有对所述项目以及所述项目中的任务的操作权限,所述操作权限包括增加、删除、修改和查看任务的权限;响应针对所述项目的参数填写页面的配置参数填写操作,根据填写的所述配置参数生成spark任务。
进一步的,所述预先存储的注册信息存储在数据库中,其中,所述注册信息中的密码以加密方式存储。
进一步的,所述方法还包括:
响应针对所述spark任务的任务操作指令,根据所述项目绑定的所述用户名判断发起所述任务操作指令的用户是否具有所述spark任务的操作权限;其中,所述任务操作指令包括:删除、修改或查看所述spark任务;
如果是,执行所述任务操作指令。
本发明提供的一种spark任务的提交装置,所述装置设置于配置有Airflow调度系统和kerberos权限认证系统的服务器,所述服务器预先存储有所述kerberos权限认证系统对应的超级用户账户信息,所述装置包括:
权限认证模块,用于响应针对所述Airflow调度系统的spark任务的创建已完成操作,基于所述超级用户账户信息进行kerberos权限认证;
生成模块,用于当所述kerberos权限认证通过时,生成包含有所述spark任务的任务参数的任务提交spark-submit命令,并将所述spark-submit命令中的代理用户名proxy-user参数赋值为所述spark任务所在的项目的创建者对应的用户名,以使所述spark任务的提交者与创建者相同;
提交模块,用于通过所述spark-submit命令提交所述spark任务。
本发明提供的一种服务器,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现上述任一项所述的spark任务的提交方法。
本发明提供的一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述任一项所述的spark任务的提交方法。
本发明提供的spark任务的提交方法、装置和服务器,该方法应用于配置有Airflow调度系统和kerberos权限认证系统的服务器,该服务器预先存储有该kerberos权限认证系统对应的超级用户账户信息,首先响应针对Airflow调度系统的spark任务的创建已完成操作,基于上述超级用户账户信息进行kerberos权限认证;如果认证通过,生成包含有该spark任务的任务参数的任务提交spark-submit命令,并将该spark-submit命令中的代理用户名proxy-user参数赋值为该spark任务所在的项目的创建者对应的用户名,以使该spark任务的提交者与创建者相同;然后通过该spark-submit命令提交spark任务。通过上述方法,在提交spark任务时,基于超级用户账户信息进行kerberos权限认证,能够在提交spark任务的同时自动进行kerberos用户认证,提升了认证效率;通过将spark-submit命令中的proxy-user参数赋值为该spark任务的创建者对应的用户名,确保了spark任务的创建者和spark任务的提交者为同一用户,避免了用户身份信息被其他用户使用,保证了大数据系统的安全性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种spark任务的提交方法的流程图;
图2为本发明实施例提供的另一种spark任务的提交方法的流程图;
图3为本发明实施例提供的另一种spark任务的提交方法的流程图;
图4为本发明实施例提供的另一种spark任务的提交方法的流程图;
图5为本发明实施例提供的另一种spark任务的提交方法的流程图;
图6为本发明实施例提供的一种spark任务的提交装置的结构示意图;
图7为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在大数据系统中,有很多数据处理任务在运行,调度系统可以将任务管理并调度起来,极大地提高大数据系统的效率,Airflow是目前使用最广泛的一种任务调度系统。
相关技术中,提交spark任务以及执行权限认证通常采用的技术方案是,利用Airflow的BashOperator运算符,通过用户自己写shell脚本调用spark的spark-submit命令来提交spark任务,并在shell脚本或者spark的python或者java代码中执行权限认证;该相关技术中,首先,用户不仅要实现spark的业务代码,还需要实现shell脚本来调用spark-submit,才能提交spark任务,工作量较大,并且不同的spark任务可能会采用相同或相似的shell脚本来调用spark-submit,容易出现重复性工作;其次,需要每个用户在spark业务代码中手动增加权限认证逻辑,在用户确认权限认证逻辑过程中,会有一定学习成本;再次,该相关技术难以做到spark任务的创建者和spark任务的提交者之间的统一,容易出现用户a使用用户b的信息进行权限认证,导致kerberos权限使用不规范,进而导致大数据系统出现资源滥用和安全问题。
基于此,本发明实施例提供了一种spark任务的提交方法、装置和服务器,该技术可以应用于在Airflow调度系统中提交spark任务。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种spark任务的提交方法进行详细介绍,该方法可以应用于配置有Airflow调度系统和kerberos权限认证系统的服务器,该服务器预先存储有该kerberos权限认证系统对应的超级用户账户信息,在实际实现时,该服务器可以是web服务器,如图1所示,该方法包括如下步骤:
步骤S102,响应针对上述Airflow调度系统的spark任务的创建已完成操作,基于上述超级用户账户信息进行kerberos权限认证。
上述Airflow调度系统是目前使用最广泛的一种任务调度系统,可以理解为一个可编程、调度和监控的工作流平台;上述Spark可以理解为是为大规模数据处理而设计的快速通用的计算引擎,可用于完成各种各样的运算,包括SQL查询、文本处理、机器学习等;上述超级用户通常理解为可以进行系统管理的特殊用户,相比其他普通用户来说,它拥有最高权限,能够进行全系统的配置、维护等工作,做很多普通用户没有权限做的事情;上述Kerberos可以理解为一种计算机网络认证协议,常用于大数据系统的用户认证,以保证大数据系统的安全。
在实际实现时,为替代用户实现kerberos权限认证,通常需要设置一个超级用户,可以利用kerberos权限认证系统所提供的配置超级用户的功能,在kerberos权限认证系统初始化之后,由管理员配置超级用户,配置后生成超级用户的账户信息,其中包括该超级用户的用户名和密钥信息,通常情况下,该超级用户的用户名和密钥信息是唯一的,该用户名和密钥信息也会保存在数据库中;其中,该密钥通常是利用kerberos权限认证系统提供的kinit认证命令获取得到;当针对Airflow调度系统的spark任务创建已完成后,根据超级用户的用户名和密钥信息进行kerberos权限认证。
步骤S104,当上述kerberos权限认证通过时,生成包含有上述spark任务的任务参数的任务提交spark-submit命令,并将该spark-submit命令中的代理用户名proxy-user参数赋值为该spark任务所在的项目的创建者对应的用户名,以使该spark任务的提交者与创建者相同。
上述任务参数可以理解为提交上述spark任务所需要的配置参数,如spark任务执行所需要的执行器的数量、执行器的内存等;上述spark-submit可以用来启动集群中的应用,可以使用统一的提交接口支持各种类型的集群服务器;上述代理用户名proxy-user可以用于表示执行任务提交spark-submit命令的用户;上述spark任务所在的项目的创建者对应的用户名可以理解为,在Airflow调度系统中创建项目,并在该项目中添加spark任务的用户的用户名。
当根据超级用户的用户名和密钥信息进行kerberos权限认证通过时,将用户提交的spark任务所需要的配置参数提供给spark-submit命令,同时读取spark任务的用户信息,通过该任务对应的项目,去数据库中查询该项目的创建者的用户名,并将spark-submit命令中的代理用户名proxy-user参数赋值为该项目的创建者对应的用户名,以确保spark任务的提交者与项目的创建者为同一用户,即,服务器用超级用户的身份完成kerberos权限认证,相当于实现了超级用户模拟项目的创建者进行认证的过程,当认证通过提交spark任务时,仍使用项目的创建者的身份递交;另外,上述代理用户名proxy-user参数原本是未填写状态,当kerberos权限认证通过后,将其赋值为该项目的创建者对应的用户名。
步骤S106,通过上述spark-submit命令提交上述spark任务。
通过上述spark-submit命令,将所创建的spark任务提交至大数据系统中,在实际实现时,通常是向分布式资源管理系统yarn提交spark任务。
上述向大数据系统提交spark任务的过程中,通过超级用户账户信息在后台实现kerberos权限认证,实现了在提交spark-submit的同时自动进行了kerberos权限认证,免去用户在spark业务代码中添加权限认证的逻辑,实现了权限认证过程对用户来说无感知,并且确保了spark任务的创建者和spark任务的提交者为同一用户,保障了每个用户使用自己的用户信息来提交spark任务。
本发明实施例提供的一种spark任务的提交方法,该方法应用于配置有Airflow调度系统和kerberos权限认证系统的服务器,该服务器预先存储有该kerberos权限认证系统对应的超级用户账户信息,首先响应针对Airflow调度系统的spark任务的创建已完成操作,基于上述超级用户账户信息进行kerberos权限认证;如果认证通过,生成包含有该spark任务的任务参数的任务提交spark-submit命令,并将该spark-submit命令中的代理用户名proxy-user参数赋值为该spark任务所在的项目的创建者对应的用户名,以使该spark任务的提交者与创建者相同;然后通过该spark-submit命令提交spark任务。通过上述方法,在提交spark任务时,基于超级用户账户信息进行kerberos权限认证,能够在提交spark任务的同时自动进行kerberos用户认证,提升了认证效率;通过将spark-submit命令中的proxy-user参数赋值为该spark任务的创建者对应的用户名,确保了spark任务的创建者和spark任务的提交者为同一用户,避免了用户身份信息被其他用户使用,保证了大数据系统的安全性。
本发明实施例提供了另一种spark任务的提交方法,该方法在上述实施例方法的基础上实现;本实施例重点描述响应针对Airflow调度系统的spark任务的创建已完成操作,基于超级用户账户信息进行kerberos权限认证的具体实现过程,具体对应下述步骤S202至步骤S206。如图2所示,该方法包括以下步骤:
步骤S202,响应针对Airflow调度系统的spark任务的创建已完成操作。
步骤S204,在上述Airflow调度系统中新建第一子进程。
上述第一子进程可以理解为能够通过调用相关信息,完成相关认证工作的进程;在实际实现时,当针对Airflow调度系统的spark任务创建已完成后,服务器通常会利用Python的子进程工具Popen在后端启动该第一子进程。
步骤S206,基于上述超级用户账户信息,在上述第一子进程中进行kerberos权限认证。
在进行kerberos权限认证时,上述第一子进程会同时调用上述超级用户的用户名和密钥信息,提供给kerberos权限认证系统进行认证,通常需要同时保证用户名和密钥信息这两个条件都具备,才能完成超级用户在kerberos权限认证系统中的权限认证。
步骤S208,当上述kerberos权限认证通过时,生成包含有上述spark任务的任务参数的任务提交spark-submit命令,并将该spark-submit命令中的代理用户名proxy-user参数赋值为该spark任务所在的项目的创建者对应的用户名,以使该spark任务的提交者与创建者相同。
步骤S210,通过上述spark-submit命令提交上述spark任务。
本发明实施例提供的另一种spark任务的提交方法,详细描述了响应针对Airflow调度系统的spark任务的创建已完成操作,基于超级用户账户信息进行kerberos权限认证的具体实现过程,当确认针对Airflow调度系统的spark任务的创建已完成后,在该Airflow调度系统中新建第一子进程,基于上述超级用户账户信息,在该第一子进程中进行kerberos权限认证。通过上述方法,在提交spark任务时,基于超级用户账户信息进行kerberos权限认证,能够在提交spark任务的同时自动进行kerberos用户认证,提升了认证效率;通过将spark-submit命令中的proxy-user参数赋值为该spark任务的创建者对应的用户名,确保了spark任务的创建者和spark任务的提交者为同一用户,避免了用户身份信息被其他用户使用,保证了大数据系统的安全性。
本发明实施例提供了另一种spark任务的提交方法,该方法在上述实施例方法的基础上实现;本实施例重点描述通过spark-submit命令提交spark任务的具体实现过程,具体对应下述步骤S306至步骤S308。如图3所示,该方法包括以下步骤:
步骤S302,响应针对Airflow调度系统的spark任务的创建已完成操作,基于超级用户账户信息进行kerberos权限认证。
步骤S304,当上述kerberos权限认证通过时,生成包含有上述spark任务的任务参数的任务提交spark-submit命令,并将该spark-submit命令中的代理用户名proxy-user参数赋值为该spark任务所在的项目的创建者对应的用户名,以使该spark任务的提交者与创建者相同。
步骤S306,在上述Airflow调度系统中新建第二子进程。
上述第二子进程可以理解为能够用于完成spark任务的提交工作的进程;在实际实现时,当上述kerberos权限认证通过,并将spark-submit命令中的代理用户名proxy-user参数赋值后,服务器通常会利用Python的子进程工具Popen在后端启动该第二子进程。
步骤S308,在上述第二子进程中执行spark-submit命令,以提交上述spark任务。
本发明实施例提供的另一种spark任务的提交方法,详细描述了通过spark-submit命令提交spark任务的具体实现过程,如果kerberos权限认证通过,生成包含有该spark任务的任务参数的任务提交spark-submit命令,并将该spark-submit命令中的代理用户名proxy-user参数赋值为该spark任务所在的项目的创建者对应的用户名;通过在Airflow调度系统中新建第二子进程,并在该第二子进程中执行spark-submit命令,以提交该spark任务。通过上述方法,在提交spark任务时,基于超级用户账户信息进行kerberos权限认证,能够在提交spark任务的同时自动进行kerberos用户认证,提升了认证效率;通过将spark-submit命令中的proxy-user参数赋值为该spark任务的创建者对应的用户名,确保了spark任务的创建者和spark任务的提交者为同一用户,避免了用户身份信息被其他用户使用,保证了大数据系统的安全性。
本发明实施例提供了另一种spark任务的提交方法,该方法在上述实施例方法的基础上实现;本实施例重点描述监控spark任务的提交过程的具体实现过程,具体对应下述步骤S408至步骤S412。如图4所示,该方法包括以下步骤:
步骤S402,响应针对Airflow调度系统的spark任务的创建已完成操作,基于超级用户账户信息进行kerberos权限认证。
步骤S404,当上述kerberos权限认证通过时,生成包含有上述spark任务的任务参数的任务提交spark-submit命令,并将该spark-submit命令中的代理用户名proxy-user参数赋值为该spark任务所在的项目的创建者对应的用户名,以使该spark任务的提交者与创建者相同。
步骤S406,通过上述spark-submit命令提交上述spark任务。
步骤S408,在上述spark任务的提交过程中生成日志信息。
上述日志信息可以理解为记录上述spark任务提交过程的信息,比如,记录spark任务提交成功、spark任务提交失败或者提交失败时所出现的出错信息等;在spark任务提交过程中,服务器会生成相应的日志信息。
步骤S410,将上述日志信息发送至上述Airflow调度系统的日志中。
上述Airflow调度系统的日志可以理解为在该Airflow调度系统中执行相关操作时所记录的信息,该信息可以基于在Airflow调度系统中的操作进程直接生成,如,在Airflow调度系统中创建项目所生成的日志信息,也可以接收其他进程所生成的日志信息,如,spark任务在提交过程中所生成的日志信息;在实际实现时,服务器通常会将上述spark任务在提交过程中所生成的日志信息发送至Airflow调度系统的日志中。
步骤S412,通过上述Airflow调度系统的日志监控上述提交过程。
服务器可以通过Airflow调度系统的日志,监控spark任务的提交过程,以确认是否提交成功;如果spark任务提交失败,用户可以根据日志中所记录的提交失败的相关出错信息,对提交过程中的所设置的相关参数或配置信息做相应的修改调整。
本发明实施例提供的另一种spark任务的提交方法,详细描述了监控spark任务的提交过程的具体实现过程,将spark任务提交过程中所生成的日志信息发送至Airflow调度系统的日志中,以通过该Airflow调度系统的日志监控该提交过程。通过上述方法,在提交spark任务时,基于超级用户账户信息进行kerberos权限认证,能够在提交spark任务的同时自动进行kerberos用户认证,提升了认证效率;通过将spark-submit命令中的proxy-user参数赋值为该spark任务的创建者对应的用户名,确保了spark任务的创建者和spark任务的提交者为同一用户,避免了用户身份信息被其他用户使用,保证了大数据系统的安全性。
本发明实施例提供了另一种spark任务的提交方法,该方法在上述实施例方法的基础上实现;本实施例重点描述生成spark任务的具体实现过程,具体对应下述步骤S502至步骤S514。如图5所示,该方法包括以下步骤:
步骤S502,响应针对Airflow调度系统的登录操作,获取该登录操作使用的登录信息,该登录信息包括:用户名和密码。
为了实现对Airflow调度系统后端的权限控制,需要在Airflow调度系统原有后端的基础上,增加实现权限控制功能的模块,比如,在web服务器后端增加权限控制功能,以记录用户信息并对用户进行认证和鉴权;该权限控制功能通常包括两个部分,分别是用户认证和用户鉴权;本实施例中,对于登录Airflow调度系统的用户认证通常采用用户名和密码的认证方式,用户需要在Airflow调度系统的登录界面输入用户名和密码信息以进行认证。
步骤S504,将上述登录信息与预先存储的注册信息进行比较,判断是否存在匹配的注册信息,如果存在,执行步骤S506;如果不存在,结束。
上述预先存储的注册信息通常存储在数据库中,该注册信息中一般包括用户名和密码信息,其中,密码以加密方式存储,以保证用户的信息安全。在实际实现时,当用户在Airflow调度系统中完成注册后,服务器后端会记录注册时的用户名和密码信息,并将注册时的用户名和密码信息存储在数据库中,当获取到用户登录Airflow调度系统所输入的登录信息时,服务器会将该登录信息与预先存储在数据库中的注册信息进行比较,判断是否存在匹配的注册信息;比如,当用户A登录Airflow调度系统时,服务器需要对用户A输入的登录信息进行认证,将该登录信息与预先存储在数据库中的注册信息进行比较,若登录信息中的用户名和密码均正确,则允许用户A登录Airflow调度系统,以及在该Airflow调度系统中创建项目等操作;若登录信息中的用户名不存在或者密码不正确则不允许用户A登录Airflow调度系统。
步骤S506,响应针对上述Airflow调度系统的项目创建指令,在该Airflow调度系统中创建项目;其中,该项目配置有参数填写页面。
上述项目创建指令可以理解为用户登录Airflow调度系统后,当需要在该Airflow调度系统中创建项目时,所发送给服务器的指令;上述参数填写页面可以理解为,当用户需要在项目中创建任务时,可以填写该任务所需要的配置信息的页面,如用户可以通过web页面来创建Airflow中的任务;当服务器将用户登录信息与预先存储在数据库中的注册信息进行比较,确认存在匹配的注册信息后,服务器允许该用户在Airflow调度系统中创建项目,并且该项目通常配置有参数填写页面。
步骤S508,将上述项目与上述用户名进行绑定,以使该用户名对应的用户拥有对该项目以及该项目中的任务的操作权限,该操作权限包括增加、删除、修改和查看任务的权限。
在用户登录Airflow调度系统后,针对Airflow调度系统中的项目和项目中的任务,采用用户鉴权的方式进行权限控制;用户鉴权可以理解为采用基于角色的权限访问控制(Role-Based Access Control)方案,该方案中,web系统中的用户会被绑定成某一种或者多种角色,每个角色与一种或者多种权限进行绑定,从而实现用户与权限的绑定,也就是用户拥有与其绑定的角色的所有权限。在实际实现时,当用户在Airflow调度系统中创建项目后,服务器通常会在后端存储该用户与该项目的绑定关系,一般情况下,服务器会自动将用户绑定成项目管理员角色,该角色拥有该项目所有的权限,从而使用户拥有了该项目的所有权限,即,该用户可以在所创建的项目中添加任务,并对所创建的项目和该项目中的任务有增删改查的权限,其他用户没有对该用户的项目和项目中的任务进行增删改查的权限;比如,用户A登录Airflow调度系统后,可以在该Airflow调度系统中创建项目,并且可以删除、修改或查看所创建的项目等;用户A可以在所创建的项目中创建任务,并且可以删除、修改或查看所创建的任务等。
步骤S510,响应针对上述项目的参数填写页面的配置参数填写操作,根据填写的该配置参数生成spark任务。
在实际实现时,通常需要在Airflow调度系统中自定义实现一个能够方便用户提交spark任务的一个新的运算符,比如,用户可以在web服务器前端填写spark任务需要的参数,提交后,在web服务器后端生成这个运算符,用户可以通过web页面,基于该运算符生成spark任务;在本实施例中,可以将此运算符命名为SparkOperator,在该运算符中需要接收所有spark-submit支持的参数,需要支持以Python、java或scala等方式实现的spark业务逻辑,通过参数化的方式来添加spark任务,无需用户编写shell脚本来调用spark-submit任务。
SparkOperator可以以Python类的方式实现,在实际实现时,如果开发语言用的是python语言,一般会选择用python类的方式实现,如果开发用的选用的是其他语言,也可以选择与其他语言相对应的实现方式,即,所采用的实现方式通常与开发用的语言相对应。
在对Python类初始化时,可以对多个参数进行初始化,其中包括spark-submit所需要的参数,参数名称及含义如表1所示,表1中的参数需要用户填写输入,其中,application参数中的程序路径可以理解为spark任务需要运行的外部程序的路径;java_class参数中的jar包可以理解为是对application参数中的程序路径进行打包得到;application_args参数中所传的参数列表通常是上述jar包的参数列表;executor_memory通常用于设置每个执行器进程的内存;num_executors参数一般用于设置执行spark作业总共需要用的执行器数量;executor_cores一般用于设置每个执行器进程的CPU core数量;driver_memory参数通常用于设置driver程序运行时需要的内存,一般默认为512M。
表1
步骤S512,响应针对上述spark任务的任务操作指令,根据上述项目绑定的用户名判断发起该任务操作指令的用户是否具有该spark任务的操作权限;其中,该任务操作指令包括:删除、修改或查看该spark任务;如果是,执行步骤S514;如果否,结束。
当通过用户填写的配置参数生成spark任务后,如果用户需要对所生成的spark任务进行删除、修改或查看等操作,服务器会获取该spark任务所在项目绑定的用户名,以确认要对该spark任务进行操作的用户是否具有对该spark任务进行操作的权限。
步骤S514,执行上述任务操作指令。
如果服务器判断要对上述spark任务进行操作的用户具有对该spark任务进行操作的权限,则服务器会执行针对spark任务的任务操作指令,比如,任务操作指令指示删除该spark任务,则服务器根据该任务操作指令删除该spark任务。
步骤S516,响应针对上述Airflow调度系统的spark任务的创建已完成操作,基于超级用户账户信息进行kerberos权限认证。
步骤S518,当上述kerberos权限认证通过时,生成包含有上述spark任务的任务参数的任务提交spark-submit命令,并将该spark-submit命令中的代理用户名proxy-user参数赋值为该spark任务所在的项目的创建者对应的用户名,以使spark任务的提交者与创建者相同。
步骤S520,通过上述spark-submit命令提交上述spark任务。
本发明实施例提供的另一种spark任务的提交方法,重点描述了生成spark任务的具体实现过程,服务器响应针对Airflow调度系统的登录操作,获取登录操作使用的登录信息,并与预先存储的注册信息进行比较,当确认登录信息存在时,会响应针对Airflow调度系统的项目创建指令,以创建项目,并将项目与用户名进行绑定,以实现该用户名对应的用户拥有对项目以及项目中的任务的操作权限,该方法通过在Airflow调度系统后端增加权限控制的功能,对用户权限进行鉴权和认证,简化了用户操作,保证了用户在Airflow系统中项目和任务等数据的安全性,并且,以参数化的方式在Airflow调度系统中添加Spark任务,无需用户编写shell脚本,简化了Spark任务的添加方式,提高了开发人员的开发效率;在提交spark任务时,基于超级用户账户信息进行kerberos权限认证,能够在提交spark任务的同时自动进行kerberos用户认证,提升了认证效率;通过将spark-submit命令中的proxy-user参数赋值为该spark任务的创建者对应的用户名,确保了spark任务的创建者和spark任务的提交者为同一用户,避免了用户身份信息被其他用户使用,规范了kerberos权限控制,保证了大数据系统的安全性,同时提高了大数据系统的资源利用率。
参照图6所示的一种spark任务的提交装置的结构示意图,该装置设置于配置有Airflow调度系统和kerberos权限认证系统的服务器,服务器预先存储有kerberos权限认证系统对应的超级用户账户信息,该装置包括以下模块:
权限认证模块60,用于响应针对Airflow调度系统的spark任务的创建已完成操作,基于超级用户账户信息进行kerberos权限认证;
生成模块61,用于当kerberos权限认证通过时,生成包含有spark任务的任务参数的任务提交spark-submit命令,并将spark-submit命令中的代理用户名proxy-user参数赋值为spark任务所在的项目的创建者对应的用户名,以使spark任务的提交者与创建者相同;
提交模块62,用于通过spark-submit命令提交spark任务。
本发明实施例提供的一种spark任务的提交装置,该装置设置于配置有Airflow调度系统和kerberos权限认证系统的服务器,该服务器预先存储有该kerberos权限认证系统对应的超级用户账户信息,首先响应针对Airflow调度系统的spark任务的创建已完成操作,基于上述超级用户账户信息进行kerberos权限认证;如果认证通过,生成包含有该spark任务的任务参数的任务提交spark-submit命令,并将该spark-submit命令中的代理用户名proxy-user参数赋值为该spark任务所在的项目的创建者对应的用户名,以使该spark任务的提交者与创建者相同;然后通过该spark-submit命令提交spark任务。通过上述装置,在提交spark任务时,基于超级用户账户信息进行kerberos权限认证,能够在提交spark任务的同时自动进行kerberos用户认证,提升了认证效率;通过将spark-submit命令中的proxy-user参数赋值为该spark任务的创建者对应的用户名,确保了spark任务的创建者和spark任务的提交者为同一用户,避免了用户身份信息被其他用户使用,保证了大数据系统的安全性。
上述权限认证模块60还用于:响应针对Airflow调度系统的spark任务的创建已完成操作;在Airflow调度系统中新建第一子进程;基于超级用户账户信息,在第一子进程中进行kerberos权限认证。
上述提交模块62还用于:在Airflow调度系统中新建第二子进程;在第二子进程中执行spark-submit命令,以提交spark任务。
上述装置还用于:在spark任务的提交过程中生成日志信息;将日志信息发送至Airflow调度系统的日志中;通过Airflow调度系统的日志监控提交过程。
上述装置还用于:响应针对Airflow调度系统的登录操作,获取登录操作使用的登录信息,该登录信息包括:用户名和密码;将登录信息与预先存储的注册信息进行比较,判断是否存在匹配的注册信息;如果存在,响应针对Airflow调度系统的项目创建指令,在Airflow调度系统中创建项目;其中,项目配置有参数填写页面;将该项目与用户名进行绑定,以使该用户名对应的用户拥有对项目以及项目中的任务的操作权限,该操作权限包括增加、删除、修改和查看任务的权限;响应针对上述项目的参数填写页面的配置参数填写操作,根据填写的配置参数生成spark任务。
上述预先存储的注册信息存储在数据库中,其中,注册信息中的密码以加密方式存储。
上述装置还用于:响应针对spark任务的任务操作指令,根据项目绑定的用户名判断发起任务操作指令的用户是否具有spark任务的操作权限;其中,任务操作指令包括:删除、修改或查看spark任务;如果是,执行任务操作指令。
本发明实施例所提供的spark任务的提交装置,其实现原理及产生的技术效果和前述spark任务的提交方法实施例相同,为简要描述,spark任务的提交装置实施例部分未提及之处,可参考前述spark任务的提交方法实施例中相应内容。
本发明实施例还提供了一种服务器,参见图7所示,该服务器包括处理器70和存储器71,该存储器71存储有能够被处理器70执行的机器可执行指令,该处理器70执行机器可执行指令以实现上述spark任务的提交方法。
进一步地,图7所示的服务器还包括总线72和通信接口73,处理器70、通信接口73和存储器71通过总线72连接。
其中,存储器71可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口73(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线72可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器70可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器70中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器70可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器71,处理器70读取存储器71中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述spark任务的提交方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的spark任务的提交方法、装置和服务器的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种spark任务的提交方法,其特征在于,所述方法应用于配置有Airflow调度系统和kerberos权限认证系统的服务器,所述服务器预先存储有所述kerberos权限认证系统对应的超级用户账户信息,所述方法包括:
响应针对所述Airflow调度系统的spark任务的创建已完成操作,基于所述超级用户账户信息进行kerberos权限认证;
当所述kerberos权限认证通过时,生成包含有所述spark任务的任务参数的任务提交spark-submit命令,并将所述spark-submit命令中的代理用户名proxy-user参数赋值为所述spark任务所在的项目的创建者对应的用户名,以使所述spark任务的提交者与创建者相同;
通过所述spark-submit命令提交所述spark任务。
2.根据权利要求1所述的方法,其特征在于,所述响应针对所述Airflow调度系统的spark任务的创建已完成操作,基于所述超级用户账户信息进行kerberos权限认证的步骤,包括:
响应针对所述Airflow调度系统的spark任务的创建已完成操作;
在所述Airflow调度系统中新建第一子进程;
基于所述超级用户账户信息,在所述第一子进程中进行kerberos权限认证。
3.根据权利要求1所述的方法,其特征在于,通过所述spark-submit命令提交所述spark任务的步骤,包括:
在所述Airflow调度系统中新建第二子进程;
在所述第二子进程中执行spark-submit命令,以提交所述spark任务。
4.根据权利要求1所述的方法,其特征在于,通过所述spark-submit命令提交所述spark任务的步骤之后,所述方法还包括:
在所述spark任务的提交过程中生成日志信息;
将所述日志信息发送至所述Airflow调度系统的日志中;
通过所述Airflow调度系统的日志监控所述提交过程。
5.根据权利要求1所述的方法,其特征在于,所述响应针对所述Airflow调度系统的spark任务的创建已完成操作,基于所述超级用户账户信息进行kerberos权限认证的步骤之前,所述方法还包括:
响应针对所述Airflow调度系统的登录操作,获取所述登录操作使用的登录信息,所述登录信息包括:用户名和密码;
将所述登录信息与预先存储的注册信息进行比较,判断是否存在匹配的注册信息;
如果存在,响应针对所述Airflow调度系统的项目创建指令,在所述Airflow调度系统中创建项目;其中,所述项目配置有参数填写页面;
将所述项目与所述用户名进行绑定,以使所述用户名对应的用户拥有对所述项目以及所述项目中的任务的操作权限,所述操作权限包括增加、删除、修改和查看任务的权限;
响应针对所述项目的参数填写页面的配置参数填写操作,根据填写的所述配置参数生成spark任务。
6.根据权利要求5所述的方法,其特征在于,所述预先存储的注册信息存储在数据库中,其中,所述注册信息中的密码以加密方式存储。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
响应针对所述spark任务的任务操作指令,根据所述项目绑定的所述用户名判断发起所述任务操作指令的用户是否具有所述spark任务的操作权限;其中,所述任务操作指令包括:删除、修改或查看所述spark任务;
如果是,执行所述任务操作指令。
8.一种spark任务的提交装置,其特征在于,所述装置设置于配置有Airflow调度系统和kerberos权限认证系统的服务器,所述服务器预先存储有所述kerberos权限认证系统对应的超级用户账户信息,所述装置包括:
权限认证模块,用于响应针对所述Airflow调度系统的spark任务的创建已完成操作,基于所述超级用户账户信息进行kerberos权限认证;
生成模块,用于当所述kerberos权限认证通过时,生成包含有所述spark任务的任务参数的任务提交spark-submit命令,并将所述spark-submit命令中的代理用户名proxy-user参数赋值为所述spark任务所在的项目的创建者对应的用户名,以使所述spark任务的提交者与创建者相同;
提交模块,用于通过所述spark-submit命令提交所述spark任务。
9.一种服务器,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-7任一项所述的spark任务的提交方法。
10.一种机器可读存储介质,其特征在于,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现权利要求1-7任一项所述的spark任务的提交方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911178769.1A CN110889108B (zh) | 2019-11-26 | 2019-11-26 | spark任务的提交方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911178769.1A CN110889108B (zh) | 2019-11-26 | 2019-11-26 | spark任务的提交方法、装置和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110889108A true CN110889108A (zh) | 2020-03-17 |
CN110889108B CN110889108B (zh) | 2022-02-08 |
Family
ID=69748983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911178769.1A Active CN110889108B (zh) | 2019-11-26 | 2019-11-26 | spark任务的提交方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110889108B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625269A (zh) * | 2020-05-14 | 2020-09-04 | 中电工业互联网有限公司 | 一种基于Web的通用Spark任务提交系统及方法 |
CN113448657A (zh) * | 2021-09-01 | 2021-09-28 | 深圳市信润富联数字科技有限公司 | 一种动态spark任务生成并执行的方法 |
CN115529306A (zh) * | 2022-07-22 | 2022-12-27 | 四川启睿克科技有限公司 | 一种基于springboot的spark jar包远程提交方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100091676A1 (en) * | 2002-01-10 | 2010-04-15 | Netscout Systems, Inc. | Multi-Segment Network Application Monitoring and Correlation Architecture |
CN103116721A (zh) * | 2013-02-05 | 2013-05-22 | 中标软件有限公司 | 一种实现Koji认证的方法及其模块 |
CN105787382A (zh) * | 2016-01-28 | 2016-07-20 | 东软集团股份有限公司 | 访问控制方法和装置 |
CN106569789A (zh) * | 2015-10-13 | 2017-04-19 | 北京国双科技有限公司 | 任务提交的方法和装置 |
CN106656514A (zh) * | 2017-03-02 | 2017-05-10 | 北京搜狐新媒体信息技术有限公司 | kerberos认证集群访问方法、SparkStandalone集群及其驱动节点 |
CN108241797A (zh) * | 2018-01-10 | 2018-07-03 | 郑州云海信息技术有限公司 | 镜像仓库用户权限管理方法、装置、系统及可读存储介质 |
CN109408537A (zh) * | 2018-10-18 | 2019-03-01 | 网易(杭州)网络有限公司 | 基于Spark SQL的数据处理方法及装置、存储介质及计算设备 |
CN110086881A (zh) * | 2019-05-07 | 2019-08-02 | 网易(杭州)网络有限公司 | 业务处理方法、装置及设备 |
-
2019
- 2019-11-26 CN CN201911178769.1A patent/CN110889108B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100091676A1 (en) * | 2002-01-10 | 2010-04-15 | Netscout Systems, Inc. | Multi-Segment Network Application Monitoring and Correlation Architecture |
CN103116721A (zh) * | 2013-02-05 | 2013-05-22 | 中标软件有限公司 | 一种实现Koji认证的方法及其模块 |
CN106569789A (zh) * | 2015-10-13 | 2017-04-19 | 北京国双科技有限公司 | 任务提交的方法和装置 |
CN105787382A (zh) * | 2016-01-28 | 2016-07-20 | 东软集团股份有限公司 | 访问控制方法和装置 |
CN106656514A (zh) * | 2017-03-02 | 2017-05-10 | 北京搜狐新媒体信息技术有限公司 | kerberos认证集群访问方法、SparkStandalone集群及其驱动节点 |
CN108241797A (zh) * | 2018-01-10 | 2018-07-03 | 郑州云海信息技术有限公司 | 镜像仓库用户权限管理方法、装置、系统及可读存储介质 |
CN109408537A (zh) * | 2018-10-18 | 2019-03-01 | 网易(杭州)网络有限公司 | 基于Spark SQL的数据处理方法及装置、存储介质及计算设备 |
CN110086881A (zh) * | 2019-05-07 | 2019-08-02 | 网易(杭州)网络有限公司 | 业务处理方法、装置及设备 |
Non-Patent Citations (4)
Title |
---|
HOCHOY: "《spark-submit简要说明》", 《HTTPS://BLOG.CSDN.NET/HOCHOY/ARTICLE/DETAILS/80506336》 * |
U013686990 : "《[Zeppelin] Kerberos环境Spark用户模拟踩坑全集》", 《HTTPS://BLOG.CSDN.NET/U013686990/ARTICLE/DETAILS/102952919》 * |
伊布: "《Kerberos从入门到放弃(二):YARN、Spark、Hive使用》", 《HTTPS://IEEVEE.COM/TECH/2016/06/11/KERBEROS-2.HTML》 * |
张子龙: "《面向大数据的多租户关键技术研究》", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625269A (zh) * | 2020-05-14 | 2020-09-04 | 中电工业互联网有限公司 | 一种基于Web的通用Spark任务提交系统及方法 |
CN113448657A (zh) * | 2021-09-01 | 2021-09-28 | 深圳市信润富联数字科技有限公司 | 一种动态spark任务生成并执行的方法 |
CN113448657B (zh) * | 2021-09-01 | 2021-11-30 | 深圳市信润富联数字科技有限公司 | 一种动态spark任务生成并执行的方法 |
CN115529306A (zh) * | 2022-07-22 | 2022-12-27 | 四川启睿克科技有限公司 | 一种基于springboot的spark jar包远程提交方法 |
CN115529306B (zh) * | 2022-07-22 | 2024-05-17 | 四川启睿克科技有限公司 | 一种基于springboot的spark jar包远程提交方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110889108B (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110889108B (zh) | spark任务的提交方法、装置和服务器 | |
US20120144501A1 (en) | Regulating access to protected data resources using upgraded access tokens | |
CN110795709B (zh) | 一种进行业务操作的方法、装置和电子设备及存储介质 | |
CN108614690B (zh) | 基于面向构件与云端的软件开发方法、系统及存储介质 | |
US20230153136A1 (en) | Robotic process automation system with device user impersonation | |
US9514291B2 (en) | Information processing system, information processing device, and authentication information management method | |
CN113014475B (zh) | 消息推送集成方法、装置 | |
CN111064708B (zh) | 授权认证方法、装置及电子设备 | |
CN111708550A (zh) | 应用部署方法、装置、计算机设备及存储介质 | |
US20150373011A1 (en) | Credential collection in an authentication server employing diverse authentication schemes | |
CN105373417A (zh) | 一种云计算下虚拟机管理的方法及系统 | |
CN112860778A (zh) | 桌面应用程序的数据库管理方法、装置、设备和介质 | |
CN111124591A (zh) | 一种镜像传输方法、装置、电子设备及存储介质 | |
CN115208693B (zh) | 一种基于微服务的安全访问控制方法及装置 | |
CN116506187A (zh) | 一种基于编排的自定义认证相关流程方法 | |
CN111191202B (zh) | 移动应用的单点登录方法、装置及系统 | |
CN113792275A (zh) | 密码更新方法及装置、存储介质及电子设备 | |
CN115774581A (zh) | 执行机器人脚本方法及相关装置 | |
CN110717173B (zh) | 账户激活方法、装置、网络终端和计算机可读存储介质 | |
CN112346888A (zh) | 一种基于软件应用的数据通讯方法、装置以及服务端设备 | |
CN113628052A (zh) | 基于预言机的区块链资产与合约处理方法、系统及装置 | |
CN113177085A (zh) | 一种接口幂等调用的方法、装置、设备及存储介质 | |
CN112287327A (zh) | 易重构单点登录系统的方法、装置、介质和设备 | |
CN106844056B (zh) | Hadoop大数据平台多租户作业管理方法及其系统 | |
US20230421443A1 (en) | Model and concept to automate processes across several it systems |
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 |