CN116567052A - 网络连接方法、装置、计算机设备和存储介质 - Google Patents
网络连接方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116567052A CN116567052A CN202310843931.7A CN202310843931A CN116567052A CN 116567052 A CN116567052 A CN 116567052A CN 202310843931 A CN202310843931 A CN 202310843931A CN 116567052 A CN116567052 A CN 116567052A
- Authority
- CN
- China
- Prior art keywords
- service
- command line
- bill
- application
- line client
- 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
- 238000000034 method Methods 0.000 title claims abstract description 915
- 230000008569 process Effects 0.000 claims abstract description 844
- 238000012545 processing Methods 0.000 claims abstract description 64
- 230000001960 triggered effect Effects 0.000 claims abstract description 26
- 238000004590 computer program Methods 0.000 claims abstract description 25
- 238000012795 verification Methods 0.000 claims description 80
- 230000004044 response Effects 0.000 claims description 79
- 230000003993 interaction Effects 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 24
- 238000007726 management method Methods 0.000 description 161
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种网络连接方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:在针对目标应用中数据服务的访问请求触发时,通过数据服务对应的命令行客户端进程,发送携带临时令牌的票据申请请求至代理服务进程;通过命令行客户端进程,基于代理服务进程返回的第一票据与数据服务对应的服务管理节点建立网络连接,以使服务管理节点处理访问请求;在访问请求的处理过程中,若网络连接断开,则通过命令行客户端进程,发送携带代理服务进程返回的进程令牌的票据申请请求至代理服务进程;通过命令行客户端进程,基于代理服务进程返回的第二票据与服务管理节点重新建立网络连接。采用本方法能够减少应用程序复杂度。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种网络连接方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术的发展,出现了越来越多的应用程序。应用程序在使用数据服务的时候,通常都需要先跟数据服务对应的服务管理节点建立网络连接,进而与数据服务对应的服务节点集群进行数据交互。
传统方法中,在建立网络连接的时候,通常是基于应用程序申请的票据进行身份认证,只有通过身份认证的网络连接才能维持和数据服务对应的服务节点集群的数据交互。然而网络环境存在很多不稳定因素,比如网络抖动、长时间网络传输超过限制等原因导致网络连接中断,这时候如果还需要与数据服务对应的服务节点集群进行数据交互,应用程序需要重新申请票据来建立新的网络连接。与数据服务对应的服务管理节点的网络连接变化对应用程序来说不透明,增加了应用程序的复杂度。
发明内容
基于此,有必要针对上述技术问题,提供一种能够减少应用程序复杂度的网络连接方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
本申请提供了一种网络连接方法。所述方法包括:
在针对目标应用中数据服务的访问请求触发时,通过所述数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程,以使所述代理服务进程基于所述临时令牌从票据设备获取第一票据,并生成所述命令行客户端进程对应的进程令牌;
通过所述命令行客户端进程,基于所述代理服务进程返回的所述第一票据与所述数据服务对应的服务管理节点建立网络连接,将所述访问请求通过所述网络连接发送至所述服务管理节点,以使所述服务管理节点处理所述访问请求;
在所述访问请求的处理过程中,当所述命令行客户端进程和所述服务管理节点断开网络连接时,通过所述命令行客户端进程,发送携带所述代理服务进程返回的所述进程令牌的第二票据申请请求至所述代理服务进程,以使所述代理服务进程基于所述进程令牌从所述票据设备获取第二票据;
通过所述命令行客户端进程,基于所述代理服务进程返回的所述第二票据与所述服务管理节点重新建立网络连接,以获取所述服务管理节点返回的访问请求处理结果;
通过所述命令行客户端进程,向所述目标应用返回所述访问请求处理结果。
本申请还提供了一种网络连接装置。所述装置包括:
票据申请模块,用于在针对目标应用中数据服务的访问请求触发时,通过所述数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程,以使所述代理服务进程基于所述临时令牌从票据设备获取第一票据,并生成所述命令行客户端进程对应的进程令牌;
网络连接模块,用于通过所述命令行客户端进程,基于所述代理服务进程返回的所述第一票据与所述数据服务对应的服务管理节点建立网络连接,将所述访问请求通过所述网络连接发送至所述服务管理节点,以使所述服务管理节点处理所述访问请求;
所述票据申请模块,还用于在所述访问请求的处理过程中,当所述命令行客户端进程和所述服务管理节点断开网络连接时,通过所述命令行客户端进程,发送携带所述代理服务进程返回的所述进程令牌的第二票据申请请求至所述代理服务进程,以使所述代理服务进程基于所述进程令牌从所述票据设备获取第二票据;
所述网络连接模块,还用于通过所述命令行客户端进程,基于所述代理服务进程返回的所述第二票据与所述服务管理节点重新建立网络连接,以获取所述服务管理节点返回的访问请求处理结果;
结果发送模块,用于通过所述命令行客户端进程,向所述目标应用返回所述访问请求处理结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述网络连接方法所述的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述网络连接方法所述的步骤。
一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述网络连接方法所述的步骤。
上述网络连接方法、装置、计算机设备、存储介质和计算机程序产品,在针对目标应用中数据服务的访问请求触发时,通过数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程,以使代理服务进程基于临时令牌从票据设备获取第一票据,并生成命令行客户端进程对应的进程令牌;通过命令行客户端进程,基于代理服务进程返回的第一票据与数据服务对应的服务管理节点建立网络连接,将访问请求通过网络连接发送至服务管理节点,以使服务管理节点处理访问请求;在访问请求的处理过程中,当命令行客户端进程和服务管理节点断开网络连接时,通过命令行客户端进程,发送携带代理服务进程返回的进程令牌的第二票据申请请求至代理服务进程,以使代理服务进程基于进程令牌从票据设备获取第二票据;通过命令行客户端进程,基于代理服务进程返回的第二票据与服务管理节点重新建立网络连接,以获取服务管理节点返回的访问请求处理结果;通过命令行客户端进程,向目标应用返回访问请求处理结果。这样,通过代理服务流程来申请票据,使得应用程序无需自己申请票据,有助于减少应用程序的复杂度。在网络连接断开时,通过命令行客户端进程主动借助代理服务进程重新申请票据来使网络连接重新建立,使得网络重连操作对应用程序无感知,网络重连操作对应用程序来说是透明的,从而有效减少了应用程序的复杂度。
附图说明
图1为一个实施例中网络连接方法的应用环境图;
图2为一个实施例中网络连接方法的流程示意图;
图3为一个实施例中传统方法的示意图;
图4为一个实施例中本申请方法的示意图;
图5为一个实施例中代理服务进程、应用服务端进程、命令行客户端进程的运行设备的示意图;
图6为一个实施例中申请票据的示意图;
图7为一个实施例中代理服务向认证票据服务申请票据的示意图;
图8为一个实施例中身份认证流程的流程示意图;
图9为一个实施例中在身份认证流程中触发钩子回调的示意图;
图10为一个实施例中代理服务进程、应用服务端进程、命令行客户端进程之间交互方式的示意图;
图11为另一个实施例中申请票据的示意图;
图12为一个实施例中代理服务进程、应用服务端进程、命令行客户端进程之间数据交互的时序示意图;
图13为一个实施例中网络连接装置的结构框图;
图14为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的方案涉及云技术。
云计算(cloud computing)指 IT 基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是 IT 和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(ParallelComputing)、效用计算(Utility Computing)、网络存储(NetworkStorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。 随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统 (以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。 客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity) 等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,RedundantArray of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
本申请实施例提供的网络连接方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102上可以运行目标应用,目标应用可以提供数据服务。服务器104包括数据服务对应的命令行客户端进程1041和代理服务进程1042,代理服务进程1042通过网络与票据设备106进行通信,数据服务对应的命令行客户端进程1041通过网络与数据服务对应的服务管理节点108进行通信。终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群或者云服务器来实现。票据设备106可以是终端,也可以是服务器,服务器可以用独立的服务器或者是多个服务器组成的服务器集群或者云服务器来实现。服务管理节点108可以是服务器,服务器可以用独立的服务器或者是多个服务器组成的服务器集群或者云服务器来实现。
具体地,在服务器104监测到针对目标应用中数据服务的访问请求触发时,通过数据服务对应的命令行客户端进程1041,发送携带临时令牌的第一票据申请请求至代理服务进程1042。通过代理服务进程1042基于临时令牌从票据设备106获取第一票据,并生成命令行客户端进程对应的进程令牌,向命令行客户端进程1041返回第一票据和进程令牌。通过命令行客户端进程1041,基于第一票据与数据服务对应的服务管理节点108建立网络连接,将访问请求通过网络连接发送至服务管理节点108,以使服务管理节点108处理访问请求。在访问请求的处理过程中,当命令行客户端进程1041和服务管理节点108断开网络连接时,通过命令行客户端进程1041,发送携带代理服务进程返回的进程令牌的第二票据申请请求至代理服务进程1042。通过代理服务进程1042基于进程令牌从票据设备获取第二票据,向命令行客户端进程1041返回第二票据。通过命令行客户端进程1041,基于第二票据与服务管理节点108重新建立网络连接,以获取服务管理节点108返回的访问请求处理结果。通过命令行客户端进程1041向目标应用返回访问请求处理结果。
可以理解,本申请涉及的应用程序可以是指安装在终端中的客户端,客户端是指安装并运行在终端中的程序;应用程序也可以是指免安装的应用程序,即无需下载安装即可使用的应用程序,这类应用程序又可以称为小程序,它通常作为子程序运行于客户端中;应用程序还可以是指通过浏览器打开的web应用程序;等等。
在一个实施例中,如图2所示,提供了一种网络连接方法,以该方法应用于服务器来举例说明。可以理解,该方法可以由服务器自身单独执行,也可以通过终端和服务器之间的交互来实现。参考图2,网络连接方法包括以下步骤:
步骤S202,在针对目标应用中数据服务的访问请求触发时,通过数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程,以使代理服务进程基于临时令牌从票据设备获取第一票据,并生成命令行客户端进程对应的进程令牌。
其中,目标应用可以是任意的应用程序。目标应用提供有数据服务,数据服务是指针对应用数据的操作服务,应用数据是指应用中存储的数据。针对应用数据的操作具体包括数据增加、数据删除、数据修改、数据查询。针对目标应用中数据服务的访问请求是指针对存储有目标应用的应用数据的服务节点集群的访问请求,用于对服务节点集群中存储的应用数据进行操作。服务节点集群包括至少一个节点。
数据服务对应的命令行客户端是指,通过向数据服务对应的服务节点集群输入特定的命令来与服务节点集群进行交互的客户端。命令行客户端提供了一组与服务节点集群通信的专属命令,用于与服务节点集群进行各种数据交互。数据服务对应的服务节点集群用于存储应用数据。可以理解,不同类型的数据服务存在各自对应的命令行客户端,不同类型的数据服务存在各自对应的服务节点集群。
在针对目标应用中数据服务的访问请求触发时,服务器生成数据服务对应的命令行客户端进程,通过该命令行客户端进程将该访问请求发送至数据服务对应的服务节点集群进行处理,通过该命令行客户端进程获取数据服务对应的服务节点集群返回的访问请求处理结果。可以理解,针对同一应用,可以触发多个访问请求,服务器可以为各个访问请求生成相应的命令行客户端进程,各个访问请求存在各自对应的命令行客户端进程。当然,针对不同应用的访问请求,服务器也可以为各个访问请求生成相应的命令行客户端进程,各个访问请求存在各自对应的命令行客户端进程。
数据服务对应的命令行客户端和数据服务对应的服务节点集群之间进行数据交互要先建立网络连接,网络连接的建立需要借助票据实现,可以从票据设备申请票据。票据设备是指具备票据生成功能的设备。为了将目标应用和票据申请分离,可以借助代理服务进程从票据设备申请票据,目标应用无需再自己申请票据,减少了目标应用的复杂度。
代理服务是代理应用程序从票据设备申请票据的服务。代理服务进程是代理服务对应的进程。
第一票据申请请求是一种票据申请请求,用于申请票据。第一票据是票据设备响应于第一票据申请请求生成的票据。例如,可以随机生成一个字符串作为第一票据。
票据申请请求携带令牌。令牌是一种标识,用于证明票据申请请求的合法性。向代理服务进程申请票据时需要携带令牌,以证明票据申请请求的合法性。第一票据申请请求携带临时令牌,临时令牌是短时间内有效或者使用次数有限的令牌,例如,临时令牌是一次性令牌,一次性令牌是指只能使用一次的令牌。
代理服务进程除了可以用于申请票据,还可以用于生成命令行客户端进程对应的进程令牌。进程令牌是命令行客户端进程专属的令牌,用于标识命令行客户端进程的身份。代理服务进程只会给信任的命令行客户端进程返回票据。
具体地,用户可以在终端的目标应用中触发针对数据服务的访问请求,终端将访问请求发送至服务器。服务器上部署有数据服务对应的命令行客户端,部署有代理服务。服务器接收到访问请求后,生成、创建数据服务对应的命令行客户端进程,获取临时令牌,生成携带临时令牌的第一票据申请请求。服务器通过数据服务对应的命令行客户端进程,发送第一票据申请请求至代理服务进程。服务器通过代理服务进程响应于第一票据申请请求,基于临时令牌从票据设备获取第一票据,通过代理服务进程生成命令行客户端进程对应的进程令牌。
步骤S204,通过命令行客户端进程,基于代理服务进程返回的第一票据与数据服务对应的服务管理节点建立网络连接,将访问请求通过网络连接发送至服务管理节点,以使服务管理节点处理访问请求。
其中,数据服务对应的服务节点集群包括服务管理节点,服务管理节点用于管理服务节点集群中的节点。
具体地,代理服务进程向命令行客户端进程返回第一票据和进程令牌。命令行客户端进程存储进程令牌。服务器通过命令行客户端进程,基于第一票据与数据服务对应的服务管理节点建立网络连接,将访问请求通过网络连接发送至服务管理节点。服务管理节点接收到访问请求后,对访问请求进行处理,以得到访问请求处理结果。
在基于第一票据建立网络连接时,第一票据是网络连接过程中验证身份的凭证。基于第一票据通过身份认证后,命令行客户端进程与服务管理节点之间才能成功建立网络连接,进而命令行客户端进程与服务管理节点之间才能进行访问请求和访问请求处理结果的传输。
可以理解,基于票据进行身份认证可以采用常用的票据认证方式,例如,Kerberos认证方式(Kerberos是一种计算机网络授权协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证),也可以采用自定义的票据认证方式。
在一个实施例中,命令行客户端进程和服务管理节点先建立通信连接,服务管理节点通过通信连接向命令行客户端进程发送随机数。命令行客户端进程基于第一票据和随机数生成响应信息。命令行客户端进程通过通信连接向服务管理节点发送响应信息。服务管理节点对响应信息进行验证,验证响应信息是否正确,即验证响应信息是否是基于正确的票据和正确的随机数生成的,若响应信息通过验证,则命令行客户端进程通过身份认证,与命令行客户端进程建立信任的网络连接。
步骤S206,在访问请求的处理过程中,当命令行客户端进程和服务管理节点断开网络连接时,通过命令行客户端进程,发送携带代理服务进程返回的进程令牌的第二票据申请请求至代理服务进程,以使代理服务进程基于进程令牌从票据设备获取第二票据。
其中,第二票据申请请求是一种票据申请请求,用于申请票据。第二票据是票据设备响应于第二票据申请请求生成的票据。
具体地,在访问请求的处理过程中,命令行客户端进程和服务管理节点之间的网络连接可能因为各种因素而断开,若网络连接断开,则命令行客户端进程就无法获取到服务管理节点返回的访问请求处理结果,因此,若网络连接断开,命令行客户端需要重新与服务管理节点建立网络连接。
当命令行客户端进程和服务管理节点断开网络连接时,服务器生成携带进程令牌的第二票据申请请求,通过命令行客户端进程,发送第二票据申请请求至代理服务进程。服务器通过代理服务进程响应于第二票据申请请求,基于进程令牌从票据设备获取第二票据。
在一个实施例中,票据存在对应的过期时间,若当前时间超过过期时间,则表示票据过期、票据失效。票据设备接收到第二票据申请请求后,若第一票据还未过期或者当前时间和过期时间之间的时间间隔大于预设时间间隔,则票据设备可以将第一票据作为第二票据;票据设备接收到第二票据申请请求后,若第一票据已经过期或者当前时间和过期时间之间的时间间隔小于或等于预设时间间隔,则票据设备可以生成新的票据作为第二票据。
票据设备生成第一票据和进程令牌后,可以将第一票据和进程令牌关联存储。第二票据申请请求可以携带命令行客户端进程对应的进程令牌,在票据设备接收到第二票据申请请求时,票据设备基于进程令牌获取相关联的第一票据,若第一票据还未过期或者当前时间和过期时间之间的时间间隔大于预设时间间隔,则票据设备将第一票据作为第二票据向代理服务进程返回,若第一票据已经过期或者当前时间和过期时间之间的时间间隔小于或等于预设时间间隔,则票据设备生成新的票据作为第二票据向代理服务进程返回。
步骤S208,通过命令行客户端进程,基于代理服务进程返回的第二票据与服务管理节点重新建立网络连接,以获取服务管理节点返回的访问请求处理结果。
其中,访问请求处理结果是指访问请求的处理结果。例如,若访问请求为数据查询请求,则访问请求处理结果为查询得到的数据。
具体地,代理服务进程向命令行客户端进程返回第二票据。服务器通过命令行客户端进程,基于第二票据与数据服务对应的服务管理节点重新建立网络连接,以接收服务管理节点返回的访问请求处理结果。可以理解,若网络连接又断开了,则参考同样的流程基于进程令牌再次申请票据,基于申请的票据重新建立网络连接,直至命令行客户端进程得到服务管理节点返回的访问请求处理结果。
步骤S210,通过命令行客户端进程,向目标应用返回访问请求处理结果。
具体地,命令行客户端进程获取到访问请求处理结果后,服务器通过命令行客户端进程,向目标应用返回访问请求处理结果。例如,将访问请求处理结果发送至访问请求对应的请求终端,在请求终端展示访问请求处理结果。
上述网络连接方法中,在针对目标应用中数据服务的访问请求触发时,通过数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程,以使代理服务进程基于临时令牌从票据设备获取第一票据,并生成命令行客户端进程对应的进程令牌;通过命令行客户端进程,基于代理服务进程返回的第一票据与数据服务对应的服务管理节点建立网络连接,将访问请求通过网络连接发送至服务管理节点,以使服务管理节点处理访问请求;在访问请求的处理过程中,当命令行客户端进程和服务管理节点断开网络连接时,通过命令行客户端进程,发送携带代理服务进程返回的进程令牌的第二票据申请请求至代理服务进程,以使代理服务进程基于进程令牌从票据设备获取第二票据;通过命令行客户端进程,基于代理服务进程返回的第二票据与服务管理节点重新建立网络连接,以获取服务管理节点返回的访问请求处理结果;通过命令行客户端进程,向目标应用返回访问请求处理结果。这样,通过代理服务流程来申请票据,使得应用程序无需自己申请票据,有助于减少应用程序的复杂度。在网络连接断开时,通过命令行客户端进程主动借助代理服务进程重新申请票据来使网络连接重新建立,使得网络重连操作对应用程序无感知,网络重连操作对应用程序来说是透明的,从而有效减少了应用程序的复杂度。
传统技术中,参考图3,在针对目标应用中数据服务的访问请求触发时,数据服务对应的命令行客户端先和数据服务对应的服务管理节点建立基本的TCP连接,然后数据服务对应的命令行客户端通过目标应用提供的票据向服务管理节点进行用户认证,用户认证是通过在建立的TCP连接上面传输消息实现的,如果用户认证通过,则命令行客户端和服务管理节点建立起通过身份认证的网络连接。只有基于通过身份认证的网络连接才能继续发送访问请求到服务管理节点。如果由于网络抖动、长时间网络传输超过限制等原因导致网络连接中断,则需要目标应用再次申请新票据重新发送给命令行客户端,命令行客户端和服务管理节点建立新的TCP连接和通过新票据重新进行用户认证。
然而参考图4,本申请方法中新增了代理服务,目标应用无需自己申请票据,命令行客户端基于临时令牌从代理服务申请第一票据,数据服务对应的命令行客户端通过第一票据向服务管理节点进行用户认证,和服务管理节点建立起通过身份认证的网络连接。若网络连接中断,则命令行客户端基于代理服务返回的进程令牌从代理服务申请第二票据,数据服务对应的命令行客户端通过第二票据向服务管理节点重新进行用户认证,和服务管理节点重新建立起通过身份认证的网络连接。
在一个实施例中,在针对目标应用中数据服务的访问请求触发时,通过数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程,包括:
在针对目标应用中数据服务的访问请求触发时,通过目标应用对应的应用服务端进程,发送令牌申请请求至代理服务进程,以使代理服务进程生成临时令牌;通过应用服务端进程,将代理服务进程返回的临时令牌发送至数据服务对应的命令行客户端进程,以使命令行客户端进程发送携带临时令牌的第一票据申请请求至代理服务进程。
其中,应用服务端进程是指应用程序的服务端对应的进程。可以理解,应用程序存在对应的客户端和服务端。应用客户端(应用程序对应的客户端)位于终端上,例如,用户在终端上安装应用客户端。应用服务端(应用程序对应的服务端)位于服务器上,应用服务端用于处理应用客户端发送过来的请求。
令牌申请请求用于申请令牌。代理服务进程响应于令牌申请请求生成临时令牌。
具体地,服务器中运行有目标应用对应的应用服务端。用户可以在终端的目标应用中触发针对数据服务的访问请求,终端将访问请求发送至服务器。服务器通过目标应用对应的应用服务端进程,发送令牌申请请求至代理服务进程。服务器通过代理服务进程响应于令牌申请请求,生成临时令牌。代理服务进程向应用服务端进程返回临时令牌。服务器通过代理服务进程向命令行客户端进程发送临时令牌,进而通过命令行客户端进程发送携带临时令牌的第一票据申请请求至代理服务进程。
在一个实施例中,应用服务端在应用客户端之前启动,以便应用服务端能够及时响应应用客户端的请求。应用客户端可以是基于用户操作启动的。例如,若用户在终端上打开应用客户端,则启动应用客户端。在启动应用服务端时,生成、创建应用服务端对应的应用服务端进程。在创建应用服务端对应的应用服务端进程时,可以同步创建代理服务进程,也就是,在启动应用服务端进程时,可以同步启动代理服务进程,以便代理服务进程能够随时响应应用服务端进程的请求。可以理解,为了节约服务器资源,代理服务进程也可以是按需启动的。例如,若服务器或应用服务端进程获取到应用客户端发送过来的访问请求,则创建代理服务进程。
参考图5,应用服务端进程、命令行客户端进程和代理服务进程运行在同一服务器上。应用服务端进程和代理服务进程之间存在数据交互,应用服务端进程和命令行客户端进程之间存在数据交互,命令行客户端进程和代理服务进程之间存在数据交互。
在一个实施例中,将票据申请功能从应用服务端上分离,使得票据申请流程能够在应用服务端之外闭环处理。参考图6,通过增加代理服务来实现从应用服务端上分离票据申请功能。目标应用的应用服务端不是向认证票据服务直接申请票据,而是向代理服务申请token(令牌)。应用服务端将获取到的token传递给命令行客户端,命令行客户端使用token请求代理服务帮助申请票据。代理服务向认证票据服务申请票据。通过增加代理服务,将票据申请功能从应用服务端上分离,不仅能够减轻应用服务端的压力、复杂度,也可以减轻认证服务的压力。可以理解,应用服务端、命令行客户端、代理服务之间通过相应的进程进行数据交互。认证票据服务是指具备票据生成功能的服务。
上述实施例中,在针对目标应用中数据服务的访问请求触发时,目标应用对应的应用服务端进程从代理服务进程申请临时令牌,应用服务端进程将临时令牌发送至命令行客户端进程,使得命令行客户端可以基于临时令牌和代理服务进程进行数据交互。
在一个实施例中,通过目标应用对应的应用服务端进程,发送令牌申请请求至代理服务进程,以使代理服务进程生成临时令牌,包括:
通过目标应用对应的应用服务端进程,发送携带应用服务端进程对应的服务端进程标识的令牌申请请求至代理服务进程,以使代理服务进程在服务端进程标识通过有效性验证后生成临时令牌。
其中,服务端进程标识是一种进程标识,用于标识应用服务端进程。针对服务端进程标识的有效性验证是指验证服务端进程标识是否已知、是否可信。例如,应用服务端进程和代理服务进程是一一对应的,代理服务进程已知其对应的应用服务端进程的服务端进程标识,代理服务进程已知的服务端进程标识为代理服务进程信任的服务端进程标识,若令牌申请请求携带的服务端进程标识和代理服务进程信任的服务端进程标识一致,则确定令牌申请请求携带的服务端进程标识通过有效性验证。又例如,各个应用存在各自对应的代理服务,应用对应的服务端的应用服务端进程的服务端进程标识包括应用标识,若令牌申请请求携带的服务端进程标识包含的应用标识和代理服务进程所对应的应用标识一致,则确定令牌申请请求携带的服务端进程标识通过有效性验证。
具体地,服务器通过目标应用对应的应用服务端进程发送至代理服务进程的令牌申请请求可以携带应用服务端进程对应的服务端进程标识,服务端进程标识可以标识应用服务端进程的身份,若代理服务进程认识令牌申请请求携带的服务端进程标识,则确定发送令牌申请请求的应用服务端进程是可以信任的,确定服务端进程标识通过有效性验证。在令牌申请请求携带的服务端进程标识通过有效性验证后,代理服务进程才会响应令牌申请请求生成临时令牌,向应用服务端进程返回临时令牌。
上述实施例中,目标应用对应的应用服务端进程发送携带自身的服务端进程标识的令牌申请请求至代理服务进程,代理服务进程在服务端进程标识通过有效性验证后才会生成临时令牌并返回,从而保障代理服务进程只会向已知应用的应用服务端进程发送临时令牌,避免临时令牌泄露给其他应用服务端进程,有效保障临时令牌的安全性,保障后续网络连接的安全性,保障服务节点集群中存储的应用数据的安全性。
在一个实施例中,代理服务进程基于临时令牌从票据设备获取第一票据,并生成命令行客户端进程对应的进程令牌,包括:
通过代理服务进程,在临时令牌通过有效性验证后,发送携带本地的认证身份标识的票据申请请求至票据设备,以使票据设备生成认证身份标识对应的第一票据并返回;认证身份标识是代理服务进程和票据设备预先约定好的;通过代理服务进程,对命令行客户端进程对应的客户端进程标识进行加密处理,得到命令行客户端进程对应的进程令牌。
其中,针对临时令牌的有效性验证是指验证临时令牌是否已知、是否可信,也就是,验证临时令牌是否是代理服务进程可以识别的令牌,是否是代理服务进程生成的令牌。例如,代理服务进程会存储自己生成的临时令牌,代理服务进程接收到携带临时令牌的第一票据申请请求后,则将第一票据申请请求携带的临时令牌和自己存储的临时令牌进行比对,若可以在自己存储的临时令牌中查找到一致的令牌,则确定临时令牌通过有效性验证。又例如,代理服务进程在生成临时令牌时,可以在临时令牌中添加特殊标记,若第一票据申请请求携带的临时令牌中存在特殊标记,则确定临时令牌通过有效性验证。
认证身份标识是一种身份标识,用于标识代理服务进程使用的代理认证账户的身份。代理服务进程和票据设备预先约定好票据设备信任的认证身份标识,代理服务进程基于认证身份标识申请票据,票据设备才会生成票据并返回。代理服务可以向票据设备注册或申请代理认证账户,使用代理认证账户对应的认证身份标识向票据设备申请票据,以便票据设备基于认证身份标识识别代理认证账户,为已注册的代理认证账户生成对应的票据。
具体地,代理服务进程接收到命令行客户端进程发送过来的携带临时令牌的第一票据申请请求后,对临时令牌进行有效性验证,验证临时令牌是否是自己生成的,若临时令牌是自己生成的,则确定临时令牌通过有效性验证。在临时令牌通过有效性验证后,代理服务进程发送携带本地的认证身份标识的票据申请请求至票据设备。票据设备响应于票据申请请求,生成认证身份标识对应的第一票据,向代理服务进程返回第一票据。
代理服务进程除了需要从票据设备申请第一票据,还需要生成命令行客户端进程对应的进程令牌。针对进程令牌,第一票据申请请求携带命令行客户端进程对应的客户端进程标识,代理服务进程可以对命令行客户端进程对应的客户端进程标识进行加密处理,得到命令行客户端进程对应的进程令牌。
可以理解,加密处理可以采用常用的加密算法,例如,各种哈希算法,也可以采用自定义的加密算法。
代理服务不仅可以减少应用服务端的压力,还可以减少票据设备的压力。触发访问请求的用户可以不是票据设备允许的用户,只要代理服务通过统一的代理认证用户向票据设备进行票据申请即可。例如,参考图7,用户A可以触发针对目标应用中数据服务的访问请求,用户B也可以触发针对目标应用中数据服务的访问请求。应用服务端一旦获取到访问请求,先向代理服务申请token,应用服务端将获取到的token传递给命令行客户端,命令行客户端使用token请求代理服务帮助申请票据。代理服务向认证票据服务申请票据。不管是针对用户A触发的访问请求,还是针对用户B触发的访问请求,代理服务最终可以都是通过统一的代理认证用户向票据设备申请票据。
可以理解,代理服务可以持有至少一个认证身份标识。例如,针对不同的应用,可以使用相同的认证身份标识,也可以使用不同的认证身份标识。针对同一应用中不同的访问请求,可以使用相同的认证身份标识,也可以使用不同的认证身份标识。
上述实施例中,代理服务进程在临时令牌通过有效性验证后才发送票据申请请求至票据设备,能够避免代理服务进程为不相干的命令行客户端进程申请票据,保障票据申请的安全性。认证身份标识是代理服务进程和票据设备预先约定好的,代理服务进程发送携带本地的认证身份标识的票据申请请求至票据设备,票据设备生成认证身份标识对应的第一票据并返回,能够避免票据设备为不相干的代理服务进程生成票据,进一步保障票据申请的安全性。代理服务进程对命令行客户端进程对应的客户端进程标识进行加密处理来生成命令行客户端进程对应的进程令牌,能够避免盲目生成进程令牌,保障进程令牌生成的有序性。
在一个实施例中,网络连接方法还包括:
在针对目标应用中数据服务的访问请求触发时,启动数据服务对应的命令行客户端进程与数据服务对应的服务管理节点之间的身份认证;在身份认证过程中,当执行完身份认证流程中的目标步骤时,触发预先设置的钩子进入通过数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程的步骤执行;在身份认证流程中,目标步骤的下一步骤为使用到票据的步骤;钩子用于在身份认证流程中插入票据申请流程。
其中,通过设置钩子对事件进行拦截、中断,然后执行钩子对应的钩子函数,在得到钩子函数的执行结果后恢复原事件的执行。钩子函数是一种特殊的回调函数。身份认证流程包括多个步骤,在身份认证流程中特定步骤插入预先注册好的钩子,使得身份认证流程进行到特定步骤后,先执行钩子对应的相关流程,在得到钩子对应的执行结果后继续身份认证流程的后续步骤。钩子对应的相关流程为票据申请流程。票据申请流程是指命令行客户端进程通过代理服务从票据设备申请票据的流程。
具体地,同一数据服务对应的命令行客户端进程和服务管理节点之间建立网络连接需要进行身份认证,命令行客户端进程和服务管理节点之间基于通过身份认证的网络连接可以安全地、信任地进行数据交互。
在针对目标应用中数据服务的访问请求触发时,服务器启动数据服务对应的命令行客户端进程与数据服务对应的服务管理节点之间的身份认证。命令行客户端进程和服务管理节点之间的身份认证流程包括多个步骤。身份认证流程中包括需要使用到票据的步骤,目标步骤为需要使用到票据的步骤的上一步骤,也就是,目标步骤的下一步骤为需要使用到票据的步骤。当执行完身份认证流程中的目标步骤时,触发预先设置的钩子进入通过数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程的步骤执行,以使命令行客户端进程得到第一票据,然后命令行客户端进程基于第一票据继续进行身份认证。
上述实施例中,在针对目标应用中数据服务的访问请求触发时,及时启动数据服务对应的命令行客户端进程与数据服务对应的服务管理节点之间的身份认证,从而快速建立命令行客户端进程与服务管理节点之间的网络连接。在命令行客户端进程和服务管理节点的身份认证过程中,在进入命令行客户端进程接收到服务管理节点发送的随机数的步骤时,通过预先设置的钩子进入本申请方法的票据申请流程,在申请到票据后继续身份认证的后续步骤,这样,通过钩子将票据申请流程与身份认证流程有机隔离开,能够避免两个流程互相影响,还可以有助于将票据申请流程应用到其他身份认证流程中。并且,若身份认证流程为常用的身份认证流程,则本申请方法可以不改变常用的身份认证流程,只需要通过预先设置的钩子进行回调处理,在身份认证流程进入到特定步骤的时候,调用预先设置的钩子回调向代理服务申请票据,然后使用代理服务返回的票据继续身份认证流程。
在一个实施例中,在身份认证过程中,当执行完身份认证流程中的目标步骤时,触发预先设置的钩子进入通过数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程的步骤执行,包括:
在身份认证过程中,当通过命令行客户端进程接收到服务管理节点发送的随机数时,触发预先设置的钩子进入通过数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程的步骤执行。
通过命令行客户端进程,基于代理服务进程返回的第一票据与数据服务对应的服务管理节点建立网络连接,包括:
通过命令行客户端进程,基于代理服务进程返回的第一票据和随机数生成响应信息;通过命令行客户端进程,将响应信息发送至服务管理节点,以使服务管理节点对响应信息进行验证,当响应信息通过验证时,确定命令行客户端进程通过身份认证,并与命令行客户端进程建立网络连接。
具体地,命令行客户端进程和服务管理节点之间的身份认证流程包括多个步骤。在身份认证过程中,服务管理节点可以生成用于身份认证的随机数,向命令行客户端进程发送随机数,命令行客户端进程可以基于申请的票据和随机数生成用于身份认证的响应信息,命令行客户端进程向服务管理节点返回响应信息,服务管理节点对响应信息进行正确性验证,若响应信息通过验证,表明响应信息是基于正确的票据和正确的随机数生成的,则确定命令行客户端进程通过身份认证,服务管理节点与通过身份认证的命令行客户端进程建立网络连接。因此,目标步骤为通过命令行客户端进程接收到服务管理节点发送的随机数。在身份认证过程中,当通过命令行客户端进程接收到服务管理节点发送的随机数时,触发预先设置的钩子进入通过数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程的步骤执行。
在一个实施例中,命令行客户端进程可以从代理服务进程获取认证身份标识,命令行客户端进程从代理服务进程获取的认证身份标识和票据是存在对应关系的。命令行客户端进程可以发送认证身份标识至服务管理节点,服务管理节点可以基于认证身份标识获取认证身份标识对应的票据,基于认证身份标识对应的票据和随机数生成参考信息。服务管理节点将参考信息和响应信息进行比较,若二者一致,则确定响应信息通过验证;若二者不一致,则确定响应信息未通过验证。
上述实施例中,在身份认证流程进行到命令行客户端进程接收到服务管理节点发送的随机数时,命令行客户端进程再按需申请票据,基于申请到的票据继续执行后续的身份认证流程。命令行客户端进程基于代理服务进程返回的第一票据和服务管理节点发送的随机数生成响应信息,将响应信息发送至服务管理节点,服务管理节点对响应信息进行验证,若响应信息通过验证,则服务管理节点确定命令行客户端进程用于生成响应消息的票据和随机数的正确性,进而服务管理节点与命令行客户端进程建立网络连接,从而保障网络连接的安全性。
在一个实施例中,通过命令行客户端进程接收到服务管理节点发送的随机数之前,网络连接方法还包括:
通过命令行客户端进程,将代理服务进程返回的认证身份标识发送至服务管理节点,以使服务管理节点在认证身份标识通过有效性验证后,生成随机数并返回;认证身份标识是代理服务进程用于申请票据的身份标识。
响应信息是基于第一票据对随机数进行加密处理得到的;服务管理节点还用于将认证身份标识、随机数和响应信息发送至验证设备;验证设备用于基于认证身份标识对应的当前票据对随机数进行加密处理得到参考信息,比较响应信息和参考信息,得到响应信息对应的验证结果,将验证结果返回给服务管理节点。
其中,验证设备是用于验证响应信息的设备。验证设备存储有多个认证身份标识和各个认证身份标识各自对应的当前票据。当前票据是指当前有效的票据。可以理解,验证设备可以是票据设备。验证设备也可以从票据设备获取多个认证身份标识和各个认证身份标识各自对应的当前票据。
具体地,在启动数据服务对应的命令行客户端进程与数据服务对应的服务管理节点之间的身份认证后,服务器可以通过命令行客户端进程,将代理服务进程返回的认证身份标识发送至服务管理节点。代理服务进程在向命令行客户端进程返回第一票据时,可以将认证身份标识同步返回。服务管理节点接收到认证身份标识后,对认证身份标识进行有效性验证,若认证身份标识是服务管理节点已知的身份标识,则确定认证身份标识通过有效性验证。服务管理节点在认证身份标识通过有效性验证后,生成随机数,将随机数向命令行客户端进程返回。
服务器管理节点在对响应信息进行验证时,可以将认证身份标识、随机数和响应信息发送至验证设备,由验证设备确定响应信息的验证结果。验证设备在本地获取认证身份标识对应的当前票据,基于认证身份标识对应的当前票据对接收到的随机数进行加密处理得到参考信息,比较响应信息和参考信息,得到响应信息对应的验证结果,将验证结果返回给服务管理节点。
在一个实施例中,当响应信息和参考信息一致时,验证结果为响应信息通过验证;当响应信息和参考信息不一致时,验证结果为响应信息未通过验证。可以理解,参考信息是验证设备生成的,代表标准的、正确的加密结果,若响应信息和参考信息一致,可以表示响应信息和参考信息是基于相同的票据对相同的随机数加密得到的,因此若响应信息和参考信息一致,则确定响应信息的验证结果为响应信息通过验证。
上述实施例中,基于第一票据对随机数进行加密处理得到响应消息,能够保障响应消息的安全性,保障网络连接的安全性。
在一个实施例中,参考图8,为命令行客户端进程和服务管理节点之间的身份认证流程。命令行客户端进程和服务管理节点在建立TCP连接之后会按照图8的流程进行身份认证。首先,命令行客户端进程和服务管理节点之间协商身份认证协议版本,即命令行客户端进程和服务管理节点之间统一身份认证协议版本。协商身份认证协议版本的主要作用是协商加密算法版本,统一双方使用的加密算法。接着,命令行客户端进程将认证身份标识作为初始化信息发送至服务管理节点,服务管理节点对初始化信息进行有效性验证,在初始化信息通过有效性验证后,服务管理节点生成随机数作为挑战信息,将挑战信息发送至命令行客户端进程。命令行客户端进程基于第一票据对随机数进行加密处理,得到响应信息,将响应信息发送至服务管理节点。服务管理节点对响应信息进行验证,若响应信息验证通过,则服务管理节点向命令行客户端进程返回表示通过身份认证的成功信息,最终与命令行客户端进程建立通过身份认证的网络连接。
可以理解,认证身份标识相当于账号,第一票据相当于密码,服务器管理节点对账号和密码进行验证,验证通过,则确定命令行客户端进程通过身份认证,与命令行客户端进程进行网络连接。
在一个实施例中,参考图9,命令行客户端进程和服务管理节点之间的身份认证流程包括命令行客户端进程和服务管理节点之间的协商步骤、命令行客户端进程向服务管理节点发送初始化信息的步骤、服务管理节点向命令行客户端进程发送挑战信息的步骤、命令行客户端进程向服务管理节点发送响应信息的步骤、服务管理节点向命令行客户端进程发送成功信息的步骤。在命令行客户端进程接收到服务管理节点发送的挑战信息后,通过预先设置的钩子进行回调处理,调用预先设置的钩子回调向代理服务进程申请票据,然后使用申请到的票据向服务管理节点继续身份认证流程的后续步骤。可以理解,票据申请流程中使用的各种令牌可以是预先申请的,也可以是实时申请的。
在一个实施例中,通过命令行客户端进程,发送携带代理服务进程返回的进程令牌的第二票据申请请求至代理服务进程,以使代理服务进程基于进程令牌从票据设备获取第二票据,包括:
通过命令行客户端进程,获取代理服务进程返回的进程令牌,发送携带命令行客户端进程对应的客户端进程标识和进程令牌的第二票据申请请求至代理服务进程,以使代理服务进程在客户端进程标识和进程令牌之间的对应关系通过有效性验证后,基于本地的认证身份标识从票据设备获取第二票据;通过命令行客户端进程,获取代理服务进程返回的认证身份标识和第二票据;认证身份标识和第二票据用于与服务管理节点重新建立网络连接。
其中,针对客户端进程标识和进程令牌之间的对应关系的有效性验证是指验证客户端进程标识和进程令牌是否正确对应,也就是,验证进程令牌是否是先前为客户端进程生成的进程令牌。可以理解,代理服务进程在生成命令行客户端进程对应的进程令牌时,可以将命令行客户端进程对应的进程标识和进程令牌关联存储。后续代理服务进程在接收到携带命令行客户端进程对应的客户端进程标识和进程令牌的第二票据申请请求时,可以查询第二票据申请请求携带的进程标识和进程令牌是否有存储在本地,以及进程标识和进程令牌是否存在对应关系,若均查询到,则确定第二票据申请请求携带的进程标识和进程令牌之间的对应关系通过有效性验证。
具体地,代理服务进程在生成进程令牌后,向命令行客户端进程返回进程令牌。服务器通过命令行客户端进程,发送携带命令行客户端进程对应的客户端进程标识和进程令牌的第二票据申请请求至代理服务进程。代理服务进程接收到第二票据申请请求后,对客户端进程标识和进程令牌之间的对应关系进行有效性验证,在客户端进程标识和进程令牌之间的对应关系通过有效性验证后,再基于本地的认证身份标识从票据设备获取第二票据。代理服务进程向命令行客户端进程返回认证身份标识和第二票据,以便命令行客户端进程通过认证身份标识和第二票据与服务管理节点重新建立网络连接。
可以理解,命令行客户端进程基于第二票据与服务管理节点重新建立网络连接的过程,可以参考命令行客户端进程基于第一票据与服务管理节点建立网络连接的过程,此处不再赘述。
上述实施例中,在命令行客户端进程基于进程令牌向代理服务进程申请第二票据时,代理服务进程在客户端进程标识和进程令牌之间的对应关系通过有效性验证后,才帮助命令行客户端进程向票务设备申请第二票据,有效保障第二票据的安全性,保障后续网络连接的安全性,保障服务节点集群中存储的应用数据的安全性。
在一个实施例中,通过命令行客户端进程,向目标应用返回访问请求处理结果,包括:
通过命令行客户端进程,向目标应用对应的应用服务端进程返回访问请求处理结果;命令行客户端进程和应用服务端进程通过用户空间中的环境变量进行数据交互,应用服务端进程和代理服务进程之间的数据交互通过内核空间中的第一通信通道实现,命令行客户端进程和代理服务进程之间的数据交互通过内核空间中的第二通信通道实现;命令行客户端进程在向应用服务端进程返回访问请求处理结果后退出。
具体地,命令行客户端进程通过网络连接获取到服务管理节点返回的访问请求处理结果后,向目标应用对应的应用服务端进程返回访问请求处理结果,以便应用服务端进程将访问请求处理结果向访问请求对应的应用客户端返回。
命令行客户端进程、应用服务端进程和代理服务进程两两之间存在各自的数据交互方式。命令行客户端进程和应用服务端进程通过用户空间中的环境变量进行数据交互。其中,环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数。环境变量用于进程间传递数据,可以快速传递数据。
应用服务端进程和代理服务进程之间的数据交互通过内核空间中的第一通信通道实现,命令行客户端进程和代理服务进程之间的数据交互通过内核空间中的第二通信通道实现,第一通信通道和第二通信通道为不同的通信通道。其中,内核空间一般运行操作系统,用户空间一般运行应用。操作系统的数据一般存放于系统空间,用户进程的数据是存放于用户空间,也就是,内核空间一般是操作系统占据的内存区域,用户空间一般是用户进程所在的内存区域。内核空间中的通信通道用于进程间传递数据,能够减轻用户空间的压力。
在命令行客户端进程向应用服务端进程返回访问请求处理结果后,命令行客户端进程完成工作,主动退出。
在一个实施例中,参考图10,应用服务端、命令行客户端、代理服务位于用户空间。应用服务端对应的应用服务端进程和命令行客户端对应的命令行客户端进程通过用户空间中的环境变量进行数据交互。应用服务端对应的应用服务端进程和代理服务对应的代理服务进程之间的数据交互、命令行客户端对应的命令行客户端进程和代理服务对应的代理服务进程之间的数据交互通过内核空间中基于socket的通信通道实现。socket是一种通信机制,可以实现进程间的数据传输和通信。例如,可以利用unix admin socket实现进程间通信。
在一个实施例中,数据服务为分布式文件服务。分布式文件服务是将应用的应用数据分布式存储到多个节点上,并对存储到多个节点上的应用数据进行管理的服务。可以理解,把大量数据分散到不同的节点上存储,大大减小了数据丢失的风险。
分布式文件服务用于通过服务节点集群存储和管理目标应用的应用数据。服务节点集群包括服务管理节点和服务工作节点,服务管理节点用于管理服务工作节点,服务工作节点用于存储应用数据。可以理解,服务管理节点一般为一个,服务工作节点一般有多个。当然,服务管理节点也可以有多个,多个服务管理节点中包括一个主管理节点和至少一个从管理节点,命令行客户端进程与主管理节点建立网络连接即可访问服务节点集群。
可以理解,不同的应用可以使用同一分布式文件服务。例如,企业A开发有应用A1和应用A2。应用A1和应用A2可以使用同一分布式文件服务,通过同一服务节点集群存储和管理应用数据。可以理解,访问请求可以携带应用标识和请求标识,应用标识用于区分请求所属的应用,请求标识用于区分同一应用下不同的请求。
在一个实施例中,分布式文件服务可以是HDFS(Hadoop Distributed FileSystem,Hadoop分布式文件系统)服务。HDFS是一种分布式文件系统,用于存储和管理大规模数据集。HDFS对应的服务节点集群包括NameNode和DataNode。NameNode是 HDFS 的元数据管理节点(也可以称为管理节点、服务管理节点),负责管理文件系统的命名空间和数据块映射信息,维护文件系统元数据和数据块复制状态等。DataNode是 HDFS 的数据存储节点(也可以称为工作节点、服务工作节点),负责存储和管理数据块,执行数据块的读写操作。
可以理解,分布式文件服务还可以是其他分布式文件系统服务,例如,cephfs(Ceph File System,Ceph文件系统)服务。
在一个具体的实施例中,本申请方法可以应用于应用程序使用HDFS服务的场景下。HDFS是分布式文件系统,为大数据服务提供文件存储能力。应用程序在使用HDFS服务时,使用HDFS的客户端命令行来访问HDFS集群。应用程序在访问HDFS集群时,例如进行文件的元数据操作(如创建文件、创建文件夹等)都需要先跟HDFS集群中的NameNode建立网络连接,在建立网络连接的时候要进行身份认证,只有通过身份认证的网络连接才能继续发送用户的文件操作请求到HDFS集群。在跟NameNode建立网络连接的时候需要利用票据进行身份认证。
本申请方法是一种基于IPC(Inter-Process Communication,进程间通信)的命令行客户端主动重试网络中断的方法,网络中断重连对应用无感知、对用户无感知。在本申请方法中,应用程序的应用服务端无需再申请票据,将票据申请流程从应用服务端分离,使得网络中断后的网络重连操作能够在应用服务端之前闭环处理。票据申请流程参考图11,应用服务端、代理服务、HDFS的命令行客户端之间通过进程通信。在应用程序的应用服务端获取到用户的文件操作请求后,应用服务端进程从代理服务进程获取one_time_token(一次性令牌,即临时令牌),应用服务端进程使用one_time_token启动HDFS的命令行客户端进程。HDFS的命令行客户端进程使用one_time_token向代理服务进程申请票据,代理服务进程在识别one_time_token后,向认证票据服务申请票据。HDFS的命令行客户端进程通过代理服务进程返回的one_time_token跟NameNode进行网络连接的身份认证,以建立通过身份认证的网络连接。代理服务进程向HDFS的命令行客户端进程返回第一次申请的票据的时候,会同步返回process_token(进行令牌)。process_token会一直驻留在命令行客户端进程的内存中,直到本次针对用户的文件操作请求的HDFS操作运行完成,命令行客户端进程退出。后续,如果因网络抖动等原因导致命令行客户端进程跟NameNode的网络连接断开,则通过命令行客户端进程内存中的process_token再次向代理服务进行申请票据,命令行客户端进程基于再次申请的票据跟NameNode进行网络连接的身份认证,以建立通过身份认证的网络连接。process_token跟命令行客户端进程的进程id相关,因此不会失效,只要命令行客户端进程没有退出,process_token就一直有效,所以命令行客户端进程可以一直通过代理服务进程获取到票据,而与NameNode的网络连接在HDFS操作运行完成之前需要保持,与NameNode的网络连接命令行客户端进程会主动建立,这样便实现了HDFS集群能闭环处理内部的网络连接中断异常,对应用服务端无感知,对用户也无感知。
参考图12具体说明代理服务进程、应用服务端进程、命令行客户端进程之间的数据交互。
1、启动应用服务端进程和代理服务进程。
2、在应用服务端进程获取到用户的文件操作请求时,应用服务端进程向代理服务进程申请token。
3、代理服务进程对应用服务端进程进行程序合法性检查,例如,检查应用服务端进程的进程id的有效性,检查通过后进入下一步骤。
4、代理服务进程生成一次性token(one_time_token),向应用服务端进程返回one_time_token。
5、应用服务端进程基于one_time_token启动HDFS的命令行客户端进程。
6、命令行客户端进程基于one_time_token向代理服务进程首次申请票据。
7、代理服务进程基于命令行客户端进程的进程id生成进程token(process_token)。代理服务进程基于代理认证用户的用户标识从认证票据服务申请第一票据。
8、代理服务进程向命令行客户端进程返回用户标识、第一票据和process_token。
9、命令行客户端进程基于用户标识、第一票据与HDFS集群的NameNode建立网络连接,执行HDFS操作。
10、在HDFS操作执行完毕之前,若命令行客户端进程和NameNode的网络连接中断,则命令行客户端进程基于process_token向代理服务进程再次申请票据。
11、代理服务进程验证命令行客户端进程的进程id与process_token的关系。验证通过后,代理服务进程基于代理认证用户的用户标识从认证票据服务申请第二票据。
12、代理服务进程向命令行客户端进程返回用户标识和第二票据。
13、命令行客户端进程基于用户标识、第二票据与HDFS集群的NameNode重新建立网络连接,执行HDFS操作。
14、在HDFS操作执行完毕后,命令行客户端进程退出。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的网络连接方法的网络连接装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个网络连接装置实施例中的具体限定可以参见上文中对于网络连接方法的限定,在此不再赘述。
在一个实施例中,如图13所示,提供了一种网络连接装置,包括:票据申请模块1302、网络连接模块1304和结果发送模块1306,其中:
票据申请模块1302,用于在针对目标应用中数据服务的访问请求触发时,通过数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程,以使代理服务进程基于临时令牌从票据设备获取第一票据,并生成命令行客户端进程对应的进程令牌。
网络连接模块1304,用于通过命令行客户端进程,基于代理服务进程返回的第一票据与数据服务对应的服务管理节点建立网络连接,将访问请求通过网络连接发送至服务管理节点,以使服务管理节点处理访问请求。
票据申请模块1302,还用于在访问请求的处理过程中,当命令行客户端进程和服务管理节点断开网络连接时,通过命令行客户端进程,发送携带代理服务进程返回的进程令牌的第二票据申请请求至代理服务进程,以使代理服务进程基于进程令牌从票据设备获取第二票据。
网络连接模块1304,还用于通过命令行客户端进程,基于代理服务进程返回的第二票据与服务管理节点重新建立网络连接,以获取服务管理节点返回的访问请求处理结果。
结果发送模块1306,用于通过命令行客户端进程,向目标应用返回访问请求处理结果。
在一个实施例中,票据申请模块1302还用于:
在针对目标应用中数据服务的访问请求触发时,通过目标应用对应的应用服务端进程,发送令牌申请请求至代理服务进程,以使代理服务进程生成临时令牌;
通过应用服务端进程,将代理服务进程返回的临时令牌发送至数据服务对应的命令行客户端进程,以使命令行客户端进程发送携带临时令牌的第一票据申请请求至代理服务进程。
在一个实施例中,票据申请模块1302还用于:
通过目标应用对应的应用服务端进程,发送携带应用服务端进程对应的服务端进程标识的令牌申请请求至代理服务进程,以使代理服务进程在服务端进程标识通过有效性验证后生成临时令牌。
在一个实施例中,第一票据申请请求携带命令行客户端进程对应的客户端进程标识。票据申请模块1302还用于:
通过代理服务进程,在临时令牌通过有效性验证后,发送携带本地的认证身份标识的票据申请请求至票据设备,以使票据设备生成认证身份标识对应的第一票据并返回;认证身份标识是代理服务进程和票据设备预先约定好的;
通过代理服务进程,对命令行客户端进程对应的客户端进程标识进行加密处理,得到命令行客户端进程对应的进程令牌。
在一个实施例中,网络连接装置还用于:
在针对目标应用中数据服务的访问请求触发时,启动数据服务对应的命令行客户端进程与数据服务对应的服务管理节点之间的身份认证;
在身份认证过程中,当执行完身份认证流程中的目标步骤时,触发预先设置的钩子进入通过数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程的步骤执行;在身份认证流程中,目标步骤的下一步骤为使用到票据的步骤;钩子用于在身份认证流程中插入票据申请流程。
在一个实施例中,网络连接装置还用于:
在身份认证过程中,当通过命令行客户端进程接收到服务管理节点发送的随机数时,触发预先设置的钩子进入通过数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程的步骤执行。
网络连接模块1304还用于:
通过命令行客户端进程,基于代理服务进程返回的第一票据和随机数生成响应信息;
通过命令行客户端进程,将响应信息发送至服务管理节点,以使服务管理节点对响应信息进行验证,当响应信息通过验证时,确定命令行客户端进程通过身份认证,并与命令行客户端进程建立网络连接。
在一个实施例中,网络连接装置还用于:
通过命令行客户端进程,将代理服务进程返回的认证身份标识发送至服务管理节点,以使服务管理节点在认证身份标识通过有效性验证后,生成随机数并返回;认证身份标识是代理服务进程用于申请票据的身份标识;
响应信息是基于第一票据对随机数进行加密处理得到的;服务管理节点还用于将认证身份标识、随机数和响应信息发送至验证设备;验证设备用于基于认证身份标识对应的当前票据对随机数进行加密处理得到参考信息,比较响应信息和参考信息,得到响应信息对应的验证结果,将验证结果返回给服务管理节点。
在一个实施例中,当响应信息和参考信息一致时,验证结果为响应信息通过验证;当响应信息和参考信息不一致时,验证结果为响应信息未通过验证。
在一个实施例中,票据申请模块1302还用于:
通过命令行客户端进程,获取代理服务进程返回的进程令牌,发送携带命令行客户端进程对应的客户端进程标识和进程令牌的第二票据申请请求至代理服务进程,以使代理服务进程在客户端进程标识和进程令牌之间的对应关系通过有效性验证后,基于本地的认证身份标识从票据设备获取第二票据;
通过命令行客户端进程,获取代理服务进程返回的认证身份标识和第二票据;认证身份标识和第二票据用于与服务管理节点重新建立网络连接。
在一个实施例中,结果发送模块1306还用于:
通过命令行客户端进程,向目标应用对应的应用服务端进程返回访问请求处理结果;命令行客户端进程和应用服务端进程通过用户空间中的环境变量进行数据交互,应用服务端进程和代理服务进程之间的数据交互通过内核空间中的第一通信通道实现,命令行客户端进程和代理服务进程之间的数据交互通过内核空间中的第二通信通道实现;
命令行客户端进程在向应用服务端进程返回访问请求处理结果后退出。
在一个实施例中,数据服务为分布式文件服务,分布式文件服务用于通过服务节点集群存储和管理目标应用的应用数据,服务节点集群包括服务管理节点和服务工作节点,服务管理节点用于管理服务工作节点,服务工作节点用于存储应用数据。
上述网络连接装置,通过代理服务流程来申请票据,使得应用程序无需自己申请票据,有助于减少应用程序的复杂度。在网络连接断开时,通过命令行客户端进程主动借助代理服务进程重新申请票据来使网络连接重新建立,使得网络重连操作对应用程序无感知,网络重连操作对应用程序来说是透明的,从而有效减少了应用程序的复杂度。
上述网络连接装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图14所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储应用服务端、命令行客户端、代理服务等相关数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网络连接方法。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random AccessMemory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (15)
1.一种网络连接方法,其特征在于,所述方法包括:
在针对目标应用中数据服务的访问请求触发时,通过所述数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程,以使所述代理服务进程基于所述临时令牌从票据设备获取第一票据,并生成所述命令行客户端进程对应的进程令牌;
通过所述命令行客户端进程,基于所述代理服务进程返回的所述第一票据与所述数据服务对应的服务管理节点建立网络连接,将所述访问请求通过所述网络连接发送至所述服务管理节点,以使所述服务管理节点处理所述访问请求;
在所述访问请求的处理过程中,当所述命令行客户端进程和所述服务管理节点断开网络连接时,通过所述命令行客户端进程,发送携带所述代理服务进程返回的所述进程令牌的第二票据申请请求至所述代理服务进程,以使所述代理服务进程基于所述进程令牌从所述票据设备获取第二票据;
通过所述命令行客户端进程,基于所述代理服务进程返回的所述第二票据与所述服务管理节点重新建立网络连接,以获取所述服务管理节点返回的访问请求处理结果;
通过所述命令行客户端进程,向所述目标应用返回所述访问请求处理结果。
2.根据权利要求1所述的方法,其特征在于,所述在针对目标应用中数据服务的访问请求触发时,通过所述数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程,包括:
在针对目标应用中数据服务的访问请求触发时,通过所述目标应用对应的应用服务端进程,发送令牌申请请求至代理服务进程,以使所述代理服务进程生成临时令牌;
通过所述应用服务端进程,将所述代理服务进程返回的所述临时令牌发送至所述数据服务对应的命令行客户端进程,以使所述命令行客户端进程发送携带所述临时令牌的第一票据申请请求至代理服务进程。
3.根据权利要求2所述的方法,其特征在于,所述通过所述目标应用对应的应用服务端进程,发送令牌申请请求至代理服务进程,以使所述代理服务进程生成临时令牌,包括:
通过所述目标应用对应的应用服务端进程,发送携带所述应用服务端进程对应的服务端进程标识的令牌申请请求至代理服务进程,以使所述代理服务进程在所述服务端进程标识通过有效性验证后生成临时令牌。
4.根据权利要求1所述的方法,其特征在于,所述第一票据申请请求携带所述命令行客户端进程对应的客户端进程标识;
所述基于所述临时令牌从票据设备获取第一票据,并生成所述命令行客户端进程对应的进程令牌,包括:
通过所述代理服务进程,在所述临时令牌通过有效性验证后,发送携带本地的认证身份标识的票据申请请求至票据设备,以使所述票据设备生成所述认证身份标识对应的第一票据并返回;所述认证身份标识是所述代理服务进程和所述票据设备预先约定好的;
通过所述代理服务进程,对所述命令行客户端进程对应的客户端进程标识进行加密处理,得到所述命令行客户端进程对应的进程令牌。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在针对目标应用中数据服务的访问请求触发时,启动所述数据服务对应的命令行客户端进程与所述数据服务对应的服务管理节点之间的身份认证;
在身份认证过程中,当执行完身份认证流程中的目标步骤时,触发预先设置的钩子进入所述通过所述数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程的步骤执行;在所述身份认证流程中,所述目标步骤的下一步骤为使用到票据的步骤;所述钩子用于在所述身份认证流程中插入票据申请流程。
6.根据权利要求5所述的方法,其特征在于,所述在身份认证过程中,当执行完身份认证流程中的目标步骤时,触发预先设置的钩子进入所述通过所述数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程的步骤执行,包括:
在身份认证过程中,当通过所述命令行客户端进程接收到所述服务管理节点发送的随机数时,触发预先设置的钩子进入所述通过所述数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程的步骤执行;
所述通过所述命令行客户端进程,基于所述代理服务进程返回的所述第一票据与所述数据服务对应的服务管理节点建立网络连接,包括:
通过所述命令行客户端进程,基于所述代理服务进程返回的所述第一票据和所述随机数生成响应信息;
通过所述命令行客户端进程,将所述响应信息发送至所述服务管理节点,以使所述服务管理节点对所述响应信息进行验证,当所述响应信息通过验证时,确定所述命令行客户端进程通过身份认证,并与所述命令行客户端进程建立网络连接。
7.根据权利要求6所述的方法,其特征在于,所述通过所述命令行客户端进程接收到所述服务管理节点发送的随机数之前,所述方法还包括:
通过所述命令行客户端进程,将所述代理服务进程返回的认证身份标识发送至所述服务管理节点,以使所述服务管理节点在所述认证身份标识通过有效性验证后,生成随机数并返回;所述认证身份标识是所述代理服务进程用于申请票据的身份标识;
所述响应信息是基于所述第一票据对所述随机数进行加密处理得到的;所述服务管理节点还用于将所述认证身份标识、所述随机数和所述响应信息发送至验证设备;所述验证设备用于基于所述认证身份标识对应的当前票据对所述随机数进行加密处理得到参考信息,比较所述响应信息和所述参考信息,得到所述响应信息对应的验证结果,将所述验证结果返回给所述服务管理节点。
8.根据权利要求7所述的方法,其特征在于,当所述响应信息和所述参考信息一致时,所述验证结果为所述响应信息通过验证;当所述响应信息和所述参考信息不一致时,所述验证结果为所述响应信息未通过验证。
9.根据权利要求1所述的方法,其特征在于,所述通过所述命令行客户端进程,发送携带所述代理服务进程返回的所述进程令牌的第二票据申请请求至所述代理服务进程,以使所述代理服务进程基于所述进程令牌从所述票据设备获取第二票据,包括:
通过所述命令行客户端进程,获取所述代理服务进程返回的所述进程令牌,发送携带所述命令行客户端进程对应的客户端进程标识和所述进程令牌的第二票据申请请求至所述代理服务进程,以使所述代理服务进程在所述客户端进程标识和所述进程令牌之间的对应关系通过有效性验证后,基于本地的认证身份标识从所述票据设备获取第二票据;
通过所述命令行客户端进程,获取所述代理服务进程返回的所述认证身份标识和所述第二票据;所述认证身份标识和所述第二票据用于与所述服务管理节点重新建立网络连接。
10.根据权利要求1所述的方法,其特征在于,所述通过所述命令行客户端进程,向所述目标应用返回所述访问请求处理结果,包括:
通过所述命令行客户端进程,向所述目标应用对应的应用服务端进程返回所述访问请求处理结果;所述命令行客户端进程和所述应用服务端进程通过用户空间中的环境变量进行数据交互,所述应用服务端进程和所述代理服务进程之间的数据交互通过内核空间中的第一通信通道实现,所述命令行客户端进程和所述代理服务进程之间的数据交互通过内核空间中的第二通信通道实现;
所述命令行客户端进程在向所述应用服务端进程返回所述访问请求处理结果后退出。
11.根据权利要求1所述的方法,其特征在于,所述数据服务为分布式文件服务,所述分布式文件服务用于通过服务节点集群存储和管理所述目标应用的应用数据,所述服务节点集群包括服务管理节点和服务工作节点,所述服务管理节点用于管理所述服务工作节点,所述服务工作节点用于存储所述应用数据。
12.一种网络连接装置,其特征在于,所述装置包括:
票据申请模块,用于在针对目标应用中数据服务的访问请求触发时,通过所述数据服务对应的命令行客户端进程,发送携带临时令牌的第一票据申请请求至代理服务进程,以使所述代理服务进程基于所述临时令牌从票据设备获取第一票据,并生成所述命令行客户端进程对应的进程令牌;
网络连接模块,用于通过所述命令行客户端进程,基于所述代理服务进程返回的所述第一票据与所述数据服务对应的服务管理节点建立网络连接,将所述访问请求通过所述网络连接发送至所述服务管理节点,以使所述服务管理节点处理所述访问请求;
所述票据申请模块,还用于在所述访问请求的处理过程中,当所述命令行客户端进程和所述服务管理节点断开网络连接时,通过所述命令行客户端进程,发送携带所述代理服务进程返回的所述进程令牌的第二票据申请请求至所述代理服务进程,以使所述代理服务进程基于所述进程令牌从所述票据设备获取第二票据;
所述网络连接模块,还用于通过所述命令行客户端进程,基于所述代理服务进程返回的所述第二票据与所述服务管理节点重新建立网络连接,以获取所述服务管理节点返回的访问请求处理结果;
结果发送模块,用于通过所述命令行客户端进程,向所述目标应用返回所述访问请求处理结果。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
15.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310843931.7A CN116567052B (zh) | 2023-07-11 | 2023-07-11 | 网络连接方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310843931.7A CN116567052B (zh) | 2023-07-11 | 2023-07-11 | 网络连接方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116567052A true CN116567052A (zh) | 2023-08-08 |
CN116567052B CN116567052B (zh) | 2023-09-15 |
Family
ID=87498641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310843931.7A Active CN116567052B (zh) | 2023-07-11 | 2023-07-11 | 网络连接方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116567052B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118175202A (zh) * | 2024-05-10 | 2024-06-11 | 中移(苏州)软件技术有限公司 | 代理连接方法、装置及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414907A (zh) * | 2008-11-27 | 2009-04-22 | 北京邮电大学 | 一种基于用户身份授权访问网络的方法和系统 |
CN114338212A (zh) * | 2021-12-31 | 2022-04-12 | 航天信息股份有限公司 | 身份验证令牌管理方法、装置、电子设备及可读存储介质 |
US20220191185A1 (en) * | 2020-12-16 | 2022-06-16 | Microsoft Technology Licensing, Llc. | Integration of legacy authentication with cloud-based authentication |
CN116208334A (zh) * | 2021-12-01 | 2023-06-02 | 中国电信股份有限公司 | 身份认证方法、系统和相关设备 |
-
2023
- 2023-07-11 CN CN202310843931.7A patent/CN116567052B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414907A (zh) * | 2008-11-27 | 2009-04-22 | 北京邮电大学 | 一种基于用户身份授权访问网络的方法和系统 |
US20220191185A1 (en) * | 2020-12-16 | 2022-06-16 | Microsoft Technology Licensing, Llc. | Integration of legacy authentication with cloud-based authentication |
CN116208334A (zh) * | 2021-12-01 | 2023-06-02 | 中国电信股份有限公司 | 身份认证方法、系统和相关设备 |
CN114338212A (zh) * | 2021-12-31 | 2022-04-12 | 航天信息股份有限公司 | 身份验证令牌管理方法、装置、电子设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
黄颖;郭晖;: "基于Android平台的长连接云推送服务设计", 信息与电脑(理论版), no. 18 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118175202A (zh) * | 2024-05-10 | 2024-06-11 | 中移(苏州)软件技术有限公司 | 代理连接方法、装置及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116567052B (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147994B (zh) | 一种基于同态加密的区块链的即时执行方法 | |
US20230056432A1 (en) | Service communication method, system, apparatus, electronic device, and storage medium | |
US11290435B2 (en) | Authenticated device-based storage operations | |
WO2020151322A1 (zh) | 基于区块链的身份管理方法、装置、设备及存储介质 | |
US9621355B1 (en) | Securely authorizing client applications on devices to hosted services | |
US10997808B2 (en) | Secure smart unlocking | |
CN108768633B (zh) | 实现区块链中信息共享的方法及装置 | |
CN112005522B (zh) | 基于云的密钥管理 | |
WO2018112940A1 (zh) | 区块链节点的业务执行方法、装置及节点设备 | |
JP5928854B2 (ja) | ユーザ認証を管理するための方法、デバイス、及びシステム | |
US20230037932A1 (en) | Data processing method and apparatus based on blockchain network, and computer device | |
US20230412399A1 (en) | Database Multi-Authentication Method and System, Terminal, and Storage Medium | |
CN105027107A (zh) | 安全虚拟机迁移 | |
WO2020215685A1 (zh) | 基于区块链的信息处理、获取方法、装置、设备及介质 | |
CN116567052B (zh) | 网络连接方法、装置、计算机设备和存储介质 | |
CN111131336A (zh) | 多方授权场景下的资源访问方法、装置、设备及存储介质 | |
US11750391B2 (en) | System and method for performing a secure online and offline login process | |
CN113901432A (zh) | 区块链身份认证方法、设备、存储介质及计算机程序产品 | |
CN113315630A (zh) | 区块链、量子密钥分发方法和装置 | |
DE112020000235T5 (de) | Anmeldung einer vorautorisierten vorrichtung | |
WO2022265740A1 (en) | Cross-session issuance of verifiable credential | |
CN111178896B (zh) | 乘车支付方法、装置及存储介质 | |
CN111966994B (zh) | 基于数据库的区块链鉴权方法、系统及存储介质 | |
CN112926983A (zh) | 一种基于区块链的存证交易加密系统及方法 | |
CN116208666B (zh) | 一种支持多源数据中心联合安全计算数据处理方法及装置 |
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 |