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

一种登录服务端的方法及相关装置

文献发布时间:2024-04-18 20:02:18


一种登录服务端的方法及相关装置

技术领域

本申请涉及网络安全领域,尤其涉及一种登录服务端的方法及相关装置。

背景技术

用户在通过浏览器访问某网站或某平台时,一般需要先在该网站或平台上注册账号和密码,后续用户通过输入账号和密码的方式登录该网站或平台,这种方式就需要用户记住密码,且在每次登录时都需要输入密码,操作方式繁琐,有时候容易忘记密码,为用户带来了不便。

发明内容

本申请提供了一种登录服务端的方法及相关装置,利用浏览器指纹登录服务端,操作方便,用户信息安全性较好。第一方面,本申请提供了一种登录服务端的方法,包括:所述服务端接收客户端发送的注册信息,所述注册信息包括运行在所述客户端的第一浏览器中的第一浏览器指纹、用户账号信息、以及用户密码信息,其中所述第一浏览器指纹与所述第一浏览器设置有一一绑定关系;所述服务端根据所述用户账号信息和所述用户密码信息注册用户账号,并记录所述第一浏览器指纹和所述用户密码信息的对应关系;所述服务端接收所述客户端使用所述第一浏览器发送的第一登录请求,其中所述第一登录请求携带有所述用户账号信息和所述第一浏览器指纹;所述服务端根据所述第一浏览器指纹从所述对应关系中确认所述用户密码信息,根据所述用户密码信息允许所述客户端使用所述用户账号登录所述服务端。

可以看到,本申请提供了一种登录服务端的方法,根据本申请所述的方法,用户通过客户端上的第一浏览器登录服务端时,只需要输入用户账号信息,省去了输入用户密码信息这一步骤,客户端向服务端发送第一登录信息时第一登录信息中自动携带有第一浏览器指纹,其中第一浏览器指纹相当于用户密码信息,操作方便。

基于第一方面,在可能的实现方式中,所述方法还包括:所述服务端接收所述客户端使用第二浏览器发送的第二登录请求,其中所述第二登录请求携带有所述用户账号信息和第二浏览器指纹,其中所述第二浏览器指纹与所述第二浏览器设置有一一绑定关系;所述服务端无法根据所述第二浏览器指纹从所述对应关系中确认所述用户密码信息,拒绝所述客户端使用所述用户账号信息登录所述服务端。

可以看到,浏览器指纹是与浏览器具有一一绑定关系,另外,浏览器指纹、用户账号信息和用户密码信息之间具有对应关系,只有在对应浏览器上,输入用户账号信息,才能登录成功,在其他浏览器上输入用户账号信息,不能成功登录,保障了用户账号信息的安全性。

基于第一方面,在可能的实现方式中,所述第一浏览器指纹与所述客户端设置有一一绑定关系。

可以理解,第一客户端和第二客户端上均安装了完全相同的浏览器,但运行在第一客户端的浏览器中的浏览器指纹与运行在第二客户端的浏览器中的浏览器指纹不同,浏览器指纹与客户端之间设置有一一绑定关系。采用本申请的方法,网络安全性更高。

基于第一方面,在可能的实现方式中,所述方法应用于游戏应用场景、网络购物应用场景、社交应用场景、理财应用场景中的任意一种。

可以理解,本申请所述方法可应用登录游戏、登录购物平台、登录社交平台、登录理财平台等场景中,用户无需用户密码信息,操作方便,用户只有通过对应的指定浏览器才能登录成功,通过其他浏览器无法登录成功,安全性较高。

第二方面,本申请提供了一种服务端,包括:

通信模块,用于接收客户端发送的注册信息,所述注册信息包括运行在所述客户端的第一浏览器中的第一浏览器指纹、用户账号信息、以及用户密码信息,其中所述第一浏览器指纹与所述第一浏览器设置有一一绑定关系;

注册模块,用于根据所述用户账号信息和所述用户密码信息注册用户账号,并记录所述第一浏览器指纹和所述用户密码信息的对应关系;

所述通信模块用于,接收所述客户端使用所述第一浏览器发送的第一登录请求,其中所述第一登录请求携带有所述用户账号信息和所述第一浏览器指纹;

确认模块,用于根据所述第一浏览器指纹从所述对应关系中确认所述用户密码信息,根据所述用户密码信息允许所述客户端使用所述用户账号登录所述服务端。

基于第二方面,在可能的实现方式中,所述通信模块还用于,接收所述客户端使用第二浏览器发送的第二登录请求,其中所述第二登录请求携带有所述用户账号信息和第二浏览器指纹,其中所述第二浏览器指纹与所述第二浏览器设置有一一绑定关系;

所述确认模块用于,无法根据所述第二浏览器指纹从所述对应关系中确认所述用户密码信息,拒绝所述客户端使用所述用户账号信息登录所述服务端。

基于第二方面,在可能的实现方式中,所述第一浏览器指纹与所述客户端设置有一一绑定关系。

第二方面的各个功能模块用于实现第一方面或第一方面的部分可能的实现方式所述的方法。

第三方面,本申请提供了一种计算设备集群,包括至少一个计算设备,所述至少一个计算设备中的每个计算设备包括存储器和处理器,所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使所述计算设备集群执行上述第一方面或第一方面的任意一种实现方式所述的方法。

第四方面,本申请提供了一种计算机可读存储介质,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,使得所述计算设备集群执行上述第一方面或第一方面的任意一种实现方式所述的方法。

附图说明

图1为本申请提供了一种系统架构示意图;

图2为本申请提供的又一种系统结构示意图;

图3为本申请提供的一种客户端生成浏览器指纹的方法流程示意图;

图4为本申请提供的一种登录服务端的方法的流程示意图;

图5为本申请提供的一种场景示意图;

图6为本申请提供的一种登录云游戏服务端的方法流程示意图;

图7为本申请提供的一种服务端的结构示意图;

图8为本申请提供的一种客户端的结构示意图;

图9为本申请提供的一种计算设备的结构示意图;

图10为本申请提供的一种计算设备集群的结构示意图;

图11为本申请提供的又一种计算设备集群的结构示意图。

具体实施方式

描述本申请实施例之前,先简单介绍一下本申请涉及的术语概念。

网页即时通信(web real-time communication,WebRTC),是一个支持网页浏览器进行实时语音对话或视频对话的应用程序接口(application program interface,API)。

网络通信引擎(internet communications engine,ICE)服务器,是分布式系统实现的一种高性能的面向对象中间件平台,ICE服务器为构建面向对象的客户-服务器应用提供了工具、API接口和库支持。例如,在实际应用中,A端在路由器内网环境没有做端口映射的情况下或者无法跨越防火墙,A端和B端无法直接连接,这种情况下就需要一台中转服务器,即ICE服务器转发数据。

云游戏,指的是以云计算为基础的游戏,在云游戏的运行模式下,游戏都运行在云平台的服务端,服务端将渲染后的游戏画面通过网络传送至终端设备或客户端侧。在终端设备或客户端侧,无需高端的处理器和显卡,只需要基本的视频解压能力即可。

参见图1,图1为本申请提供的一种系统架构示意图,所述系统涉及客户端110、网络设备120和至少一个服务端130。

客户端110可以是手机、笔记本电脑、台式电脑、平板电脑等电子设备。客户端110用于通过网络设备120与服务端130建立连接,还用于通过网络设备120向服务端130发送指令或信息,或者接收服务端130通过网络设备120发送的指令或信息。

网络设备120用于客户端110通过任何通信机制/通信标准的通信网络与服务端130之间传输数据。其中,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。

服务端130,可以是位于云中的计算设备,其中云可以是私有云,也可以是公有云,也可以是混合云,云中包括一个或多个服务端130。

本申请中,客户端110可用于通过网络设备120向服务端130进行注册,服务端130根据客户端110发送的注册信息进行注册。客户端110还用于向服务端130发送登录请求,服务端130接收到客户端110发送的登录请求后,对所述客户端110进行验证,判断是否允许所述客户端110进行登录操作。具体参见下文方法实施例的描述,在此不展开描述。

本申请提供了又一种系统结构示意图,参见图2所示,系统中包括客户端和ICE服务器,其中客户端上包括网页即时通信WebRTC模块和生成模块。下面介绍一下各个模块之间的关系及各自的功能。

网页即时通信WebRTC模块,用于与ICE服务器建立通信,并从ICE服务器中获取信息,比如,本申请中网页即时通信WebRTC模块用于从ICE服务器中获取客户端的硬件信息。其中,硬件信息指的是与客户端的硬件模块相关的信息,硬件模块比如可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、摄像头、扬声器、运动传感器、电池、全球定位系统(global positioning system,GPS)等中的一项或多项,与硬件模块相关的信息例如可以是硬件模块的型号、设置的参数等,硬件模块还可以其他模块,与硬件模块相关的信息还可以是其他信息,本申请对硬件信息具体包括的内容不做限定。可选的,网页即时通信WebRTC模块向ICE服务器发送请求,所述请求用于指示获取客户端的硬件信息,ICE服务器接收到请求后,向网页即时通信WebRTC模块返回硬件信息。

需要说明的是,网页即时通信WebRTC模块没有权限直接从客户端上获取本客户端的硬件信息,因此通过ICE服务器获取。

网页即时通信WebRTC模块,还用于从网页即时通信WebRTC模块获取的硬件信息中筛选出能够唯一标识本客户端的标识信息。可以理解,网页即时通信WebRTC模块从ICE服务端中获取到大量关于客户端的信息,这些信息中存在一些基础信息对生成能够用于唯一标识该浏览器指纹的意义不大,因此网页即时通信WebRTC模块通过过滤、筛选,获得能够唯一标识本客户端的标识信息。

生成模块,用于根据标识信息生成浏览器指纹。生成模块中设置了生成浏览器指纹的机制或规则或算法,生成模块根据设置的机制或规则或算法生成浏览器指纹。生成规则例如可以是将客户端的硬件信息按照一定的规则或算法进行分析、计算,生成浏览器指纹,算法例如可以是哈希算法,本申请对生成规则及使用的算法不做限定。

例如,在一种示例中,先将客户端的硬件信息综合进行计算,获得字符串“xxx-xxx-xxx-xxx”,其中每个“xxx”可以是不同的信息,比如,第一个“xxx”表示与客户端的IP地址相关的信息,第二个“xxx”表示与GPU相关的信息,例如可以是GPU时钟频率,第三个“xxx”表示与摄像头相关的信息,第四个“xxx”表示与运动传感器相关的信息。然后,从字符串“xxx-xxx-xxx-xxx”中选取特定位置上的字符进行组合,作为浏览器指纹。本申请对浏览器指纹的格式不作限定,浏览器指纹中包括的多个字符可以是“xxx”格式,也可以通过空格或连接符或特殊符号等连接,例如“xx-xx”、“xx&xx”、“xx@xx”等,其中“x”表示任一字符。这里仅仅是一种举例,并不构成对本申请的限定。

基于图2所示的系统架构,本申请提供了一种基于浏览器生成浏览器指纹的方法,参见图3,图3为本申请提供的一种客户端生成浏览器指纹的方法流程示意图,所述方法包括但不限于以下内容的描述。

S101、客户端通过浏览器中的网页即时通信WebRTC获取客户端的硬件信息。

S102、从客户端的硬件信息中,筛选标识信息,标识信息用于唯一标识客户端。

S103、根据标识信息生成浏览器指纹。

可选的,本实施例中,步骤S101和步骤S102可由图2中的网页即时通信WebRTC模块执行,步骤S103可由图2中的生成模块执行。步骤S101至步骤S103中的内容具体可参见图2中相关内容的描述,为了说明书的简洁,在此不再赘述。

可以看到,本申请提供了一种基于浏览器生成浏览器指纹的方法,利用网页即时通信WebRTC获得客户端的硬件信息,并从中筛选出能够唯一标识本客户端的标识信息,根据标识信息生成浏览器指纹。根据本申请方法生成的浏览器指纹,稳定性强,在客户端上浏览器版本升级时,浏览器指纹不受影响。

本申请提供了一种登录服务端的方法,参见图4,图4为本申请提供的一种登录服务端的方法流程示意图,所述方法包括但不限于以下内容的描述。

S201、客户端基于第一浏览器生成第一浏览器指纹。

客户端可基于第一浏览器生成第一浏览器指纹,生成第一浏览器指纹的方法可参见图3方法实施例所述的内容。其中,第一浏览器指纹与第一浏览器具有一一绑定关系。换句话说,基于不同浏览器生成的浏览器指纹不同,比如,所述客户端还可以基于第二浏览器生成第二浏览器指纹,其中第二浏览器是与第一浏览器不同的浏览器,第二浏览器指纹与第一浏览器指纹也不同。

S202、客户端向服务端发送注册信息,相应地,服务端接收客户端发送的注册信息,注册信息中包括运行在客户端的第一浏览器中的第一浏览器指纹、用户账号信息以及用户密码信息。

S203、服务端根据用户账号信息和用户密码信息注册用户账号,并记录第一浏览器指纹和用户密码信息的对应关系。

可以理解,用户账号信息、用户密码信息和第一浏览器指纹之间是对应的。

S204、客户端向服务端发送第一登录请求,相应地,服务端接收客户端发送的第一登录请求,第一登录请求携带有用户账号信息和第一浏览器指纹。

客户端向服务端发送第一登录请求,第一登录请求中携带有用户账号信息和第一浏览器指纹。可以理解,客户端在登录服务端时,只需要输入用户账号信息,无需输入用户密码信息,第一浏览器指纹相当于用户密码信息。

S205、服务端根据第一浏览器指纹从对应关系中确认用户密码信息,根据用户密码信息允许客户端使用用户账号登录服务端。

服务端根据本地记录浏览器指纹和用户密码信息之间的对应关系,根据第一浏览器指纹确定出用户密码信息,根据用户密码信息允许客户端登录服务端。

S206、客户端向服务端发送第二登录请求,相应地,服务端接收客户端发送的第二登录请求,第二登录请求携带有用户账号信息和第二浏览器指纹。

客户端可基于第二浏览器生成第二浏览器指纹,生成第二浏览器指纹的方法可参见图3方法实施例所述的内容,其中第二浏览器是与第一浏览器不同的浏览器。

客户端基于第二浏览器向服务端发送第二登录请求,第二登录请求中携带有第二浏览器指纹和用户账号信息,其中用户账号信息是用户基于第一浏览器注册的账号。

S207、服务端确认对应关系中没有记录第二浏览器指纹对应的用户密码信息,拒绝客户端使用用户账号登录服务端。

由上述步骤S201至步骤S203可以知道,用户账号信息和用户密码信息是对应的,第一浏览器指纹和用户密码信息也是对应的,因此,用户账号信息、用户密码信息和第一浏览器指纹之间是具有对应关系的。其中,第一浏览器指纹是基于第一浏览器生成的。

服务端在接收到第二登录请求后,根据第二浏览器指纹从浏览器指纹与用户密码信息的对应关系中,并未查询到第二浏览器指纹对应的用户密码信息,因此服务端拒绝客户端使用该用户账号登录服务端。

可选的,浏览器指纹与客户端之间具有一一绑定关系,即相同的浏览器安装在两个客户端上,运行在两个客户端的浏览器中的浏览器指纹是不同的。可以理解,浏览器指纹是根据客户端的综合信息生成的,综合信息中包括客户端的IP地址,因此基于不同客户端中的相同浏览器生成的浏览器指纹是不同的。综上理解可知,浏览器指纹与浏览器、客户端之间均具有绑定关系,根据本申请所述的方法登录服务端,网络安全性和用户信息安全性更高。

可以看到,本申请提供的登录服务端的方法,在向服务端发送登录请求时,请求中携带有浏览器指纹,用户无需密码信息,操作方便;用户只能基于对应浏览器登录服务端,通过其他浏览器是无法登录服务端的,采用本申请所述的方法,用户信息安全性较高。

本申请所述的方法可以应用于游戏应用平台、购物应用平台、社交平台、理财平台等多个场景中。下面以云游戏场景为例,介绍一下本申请所述方法在云游戏场景的应用。参见图5,图5为本申请提供的一种场景示意图,下面结合图5场景示意图,描述浏览器指纹在云游戏场景的应用,参见图6,图6为本申请提供的一种登录云游戏服务端的方法流程示意图,所述方法包括但不限于以下内容的描述。

S301、客户端向服务端发送登录请求,登录请求中携带了用户账号信息和浏览器指纹,相应地,服务端接收客户端发送的登录请求。

用户在浏览器网页上输入用户账号信息,登录云游戏。客户端响应于用户在浏览器网页上登录云游戏的操作,向服务端发送登录请求,所述登录请求用于请求登录云游戏,登录请求中携带了用户账号信息和浏览器指纹。可选的,登录请求中还可以包括云游戏的标识信息,云游戏的标识信息用于标识用户所登录的是浏览器上的哪一个云游戏,云游戏的标识信息例如可以是云游戏的名称、或者云游戏的身份标识(identity document,ID)号,或者其他能够唯一标识该云游戏的信息等。其中,浏览器指纹是客户端基于浏览器生成的。

可选的,如图5所示,服务端上的虚拟客户端上安装有云应用引擎(cloud appengine,CAE),客户端上安装有云应用引擎客户端(cloud app engine agent,CAE agent),客户端可通过CAE agent与虚拟客户端上的CAE进行通信。其中,云应用引擎CAE可以理解为是一个面向应用的托管服务,提供部署、运维的一站式应用服务,比如,CAE可用于应用组件的配置、管理。其中,根据云原生计算基金会(cloud native computing foundation,CNCF)的定义,托管服务是指构建和运行不需要服务端管理的应用程序。

虚拟客户端,类似于虚拟机,是在服务端中的任意一物理服务端上虚拟出来的客户端。一个物理服务端上可以包括一个或多个虚拟客户端。虚拟客户端上安装有游戏服务端,可选的,游戏服务端中包括物理引擎和渲染引擎,物理引擎用于对用户玩游戏过程中产生的数据进行计算,渲染引擎用于对画面进行渲染。

客户端向服务端发送登录请求,服务端接收客户端发送的登录请求,具体为:客户端中的CAE agent从浏览器中获取浏览器指纹以及云游戏的标识信息,然后CAE agent向服务端的CAE发送登录请求,登录请求中携带用户账号信息、浏览器指纹和云游戏的标识信息,相应地,服务端上的CAE接收到CAE agent发送的登录请求。

S302、服务端根据浏览器指纹,确定是否允许客户端登录云游戏。

需要说明是,服务端中存储有浏览器指纹和用户密码信息之间的对应关系。服务端基于对应关系,根据浏览器指纹,确定用户密码信息,从而判断是否允许客户端登录云游戏。若从对应关系中确定出用户密码信息,则允许客户端登录云游戏,若从对应关系中未查询到用户密码信息,则不允许客户端登录云游戏。

S303、在确定允许客户端登录云游戏的情况下,确定服务端中是否存在客户端的游戏存档。

在一种实现方式中,用户在玩游戏时,在退出该游戏前,用户点击了保存操作,则服务端中存储了该客户端的历史数据,历史数据例如包括代表游戏进度的数据、代表游戏成绩(游戏成绩例如打分、胜利、失败)的数据、代表用户在游戏中的角色装扮的数据等。若用户在退出游戏前,用户未点击保存操作,则服务端中未存储该客户端的历史数据。

在一种实现方式中,用户在玩游戏的过程中,服务端自动保存历史数据,无需用户点击保存操作,则若该客户端是首次启动该游戏,则服务端中一定不存在客户端的游戏存档,若该客户端不是首次启动该游戏,服务端中存在该客户端的历史数据。

服务端根据接收到的浏览器指纹,可以确定服务端中是否存在该客户端的游戏存档,其中游戏存档包括上述示例中的历史数据。在图5所示的场景中,虚拟客户端上的CAE接收到客户端发送的登录请求后,将登录请求发送至游戏服务端,游戏服务端根据登录请求中携带的浏览器指纹,确定服务端中是否存在该客户端的游戏存档。

S304、在存在客户端的游戏存档的情况下,允许客户端根据游戏存档登录云游戏。

在服务端中存在客户端的游戏存档的情况下,服务端根据游戏存档启动云游戏。

在图5所示的场景中,在游戏服务端确定服务端中存在客户端的游戏存档的情况下,游戏服务端从虚拟客户端所在的物理服务端上或其他云存储设备中获取该客户端的游戏存档,并通过CAE向客户端的CAE agent发送响应,其中响应中携带了音频数据和画面数据,客户端接收到响应,客户端根据音频数据和画面数据进行解析,获得客户端上次退出游戏时的游戏界面,用户可在上次退出时的游戏进度基础上继续玩。

可选的,游戏存档可以存储在任意云存储设备中,例如云存储设备可以是对象存储(object storage service,OBS)设备(又可称为OBS桶),还可以是弹性云硬盘(elasticvolume service,EVS)设备,还可以是弹性文件服务(scalable file service,SFS)设备、网络附属存储(network attached storage,NAS)设备、开放系统的直连式存储(direct-attached storage,DAS)设备等云数据中心中的任意一种存储设备。

S305、在不存在客户端的游戏存档的情况下,允许客户端直接登录云游戏。

在服务端中不存在客户端的游戏存档的情况下,服务端允许客户端直接登录云游戏。在图5所示场景中,游戏服务端确定平台中不存在客户端的游戏存档的情况下,通过CAE向客户端发送响应消息,响应消息用于指示游戏登录成功。

S306、在确定不允许客户端登录云游戏的情况下,拒绝客户端登录云游戏。

可以看到,本实施例中,利用生成的浏览器指纹稳定性强的特点,将浏览器指纹应用于云游戏场景中,在登录、启动游戏时,无需用户在客户端上输入密码,直接根据浏览器指纹即可实现登录,启动游戏,操作方便,安全性高。

可以理解,上述实施例中,云游戏场景仅仅是一种举例,还可以将浏览器指纹应用于其他场景中,本申请不做限定。

例如,用户在客户端上通过浏览器浏览A内容、B内容时,浏览器所在的服务端记录浏览器指纹,并根据使用该客户端的用户的浏览数据,分析用户的喜好,当用户下次通过浏览器浏览时,服务端根据浏览器指纹,向用户推荐与A内容、B内容相关或相似的内容,实现精准推广。

参见图7,图7为本申请提供的一种服务端700的结构示意图,所述服务端700包括:

通信模块701,用于接收客户端发送的注册信息,注册信息包括运行在客户端的第一浏览器中的第一浏览器指纹、用户账号信息、以及用户密码信息,其中第一浏览器指纹与第一浏览器设置有一一绑定关系;

注册模块702,用于根据用户账号信息和用户密码信息注册用户账号,并记录第一浏览器指纹和用户密码信息的对应关系;

通信模块701用于,接收客户端使用第一浏览器发送的第一登录请求,其中第一登录请求携带有用户账号信息和第一浏览器指纹;

确认模块703,用于根据第一浏览器指纹从对应关系中确认用户密码信息,根据用户密码信息允许客户端使用用户账号登录服务端。

在可能的实现方式中,通信模块701还用于,接收客户端使用第二浏览器发送的第二登录请求,其中第二登录请求携带有用户账号信息和第二浏览器指纹,其中第二浏览器指纹与第二浏览器设置有一一绑定关系;

确认模块703用于,无法根据第二浏览器指纹从对应关系中确认用户密码信息,拒绝客户端使用用户账号信息登录服务端。

在可能的实现方式中,所述第一浏览器指纹与所述客户端设置有一一绑定关系。

其中,通信模块701、注册模块702和确认模块703均可以通过软件实现,或者可以通过硬件实现。示例性的,接下来以确认模块703为例,介绍确认模块703的实现方式。类似的,通信模块701、注册模块702的实现方式可以参考确认模块703的实现方式。

模块作为软件功能单元的一种举例,确认模块703可以包括运行在计算设备上的代码。其中,计算设备可以是云服务中的计算设备,例如可以是裸金属服务器、虚拟机、容器等,进一步地,计算设备可以是一台或多台。例如,确认模块703可以包括运行在多个计算设备上的代码。需要说明的是,用于运行该代码的多个计算设备可以分布在相同的区域(region)中,也可以分布在不同的region中。进一步地,用于运行该代码的多个计算设备可以分布在相同的可用区(availability zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个区域region可以包括多个可用区AZ。

同样,用于运行该代码的多个计算设备可以分布在同一个虚拟私有云(virtualprivate cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内,同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。

模块作为硬件功能单元的一种举例,确认模块703可以包括至少一个计算设备。或者,确认模块703也可以是利用专用集成电路(application-specific integratedcircuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。

确认模块703包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。确认模块703包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,确认模块703包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,所述多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。

需要说明的是,在其他实施例中,确认模块703可以用于执行一种登录服务端方法中的任意步骤,通信模块701和注册模块702均可以用于执行一种登录服务端方法中的任意步骤,通信模块701、注册模块702和确认模块703负责实现的步骤可根据需要指定,通过通信模块701、注册模块702和确认模块703分别实现一种登录服务端方法中不同的步骤,来实现服务端700的全部功能。

参见图8,图8为本申请还提供的一种客户端600的结构示意图,所述客户端600包括:

网页即时通信WebRTC模块601,用于通过第一浏览器中的网页即时通信WebRTC获取客户端的标识信息,标识信息用于唯一标识客户端;

生成模块602,用于根据标识信息生成第一浏览器指纹。

在可能的实现方式中,网页即时通信WebRTC模块601用于:

通过第一浏览器中的网页即时通信WebRTC与网络通信引擎ICE服务端建立通信;

从网络通信引擎ICE服务端中获取客户端的标识信息。

图8中的各个功能模块用于实现图3方法实施例中的各个步骤,具体可参见图3方法实施例相关内容的描述,在此不在赘述。

参见图9,图9为本申请提供的一种计算设备800的结构示意图,计算设备800例如裸金属服务器、容器、虚拟机,该计算设备800可以配置为方法实施例中的服务端。可选的,计算设备800也可以配置为方法实施例中的客户端。

计算设备800包括:总线802、处理器804、存储器806和通信接口808。处理器804、存储器806和通信接口808之间通过总线802通信。应理解,本申请不限定计算设备800中的处理器、存储器的个数。

总线802可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线802可包括在计算设备800各个部件(例如,存储器806、处理器804、通信接口808)之间传送信息的通路。

处理器804可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。

存储器806可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器804还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。

在一种实现方式中,计算设备配置为服务端,则存储器806中存储有可执行的程序代码,处理器804执行该可执行的程序代码以分别实现前述通信模块701、注册模块702和确认模块703的功能,从而实现一种登录服务端方法。也即,存储器806上存有用于执行一种登录服务端方法的指令。

在一种实现方式中,计算设备配置为客户端,则存储器806中存储有可执行的程序代码,处理器804执行该可执行的程序代码以分别实现前述网页即时通信WebRTC模块601和生成模块602的功能(图中未示出),从而实现一种登录服务端方法的部分步骤。也即,存储器806上存有用于执行一种登录服务端方法的部分指令。

通信接口808使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备800与其他设备或通信网络之间的通信。可选的,当计算设备配置为服务端时,服务端700中的通信模块701可以位于通信接口808中,当计算设备配置为客户端时,客户端600中的网页即时通信WebRTC模块601可以位于通信接口808中。

本申请实施例还提供了一种计算设备集群。该计算设备集群包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器。在一些实施例中,计算设备也可以是裸金属服务器、虚拟机、容器等设备。

如图10所示,图10为本申请提供的一种计算设备集群的结构示意图,所述计算设备集群包括至少一个计算设备800。计算设备集群中的一个或多个计算设备800中的存储器806中可以存有相同的用于执行一种登录服务端方法的指令。

在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备800的存储器806中也可以分别存有用于执行一种登录服务端方法的部分指令。换言之,一个或多个计算设备800的组合可用于共同执行一种登录服务端方法的指令。

需要说明的是,计算设备集群中的不同的计算设备800中的存储器806可以存储不同的指令,分别用于执行服务端的部分功能。也即,不同的计算设备800中的存储器806存储的指令可以实现通信模块701、注册模块702和确认模块703中的一个或多个模块的功能。

在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图11示出了一种可能的实现方式。如图11所示,两个计算设备800A和800B之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与所述网络进行连接。在这一类可能的实现方式中,计算设备800A中的存储器806中存有执行通信模块701、注册模块702的功能的指令。同时,计算设备800B中的存储器806中存有执行通信模块701和确认模块703的功能的指令。

图11所示的计算设备集群之间如此连接方式,计算设备800A中包含了通信模块701和注册模块702,计算设备800A上的处理器804可执行存储器806中通信模块701和注册模块702的代码,用于实现客户端在服务端上注册。计算设备800B中包括了通信模块701和确认模块703,计算设备800B上的处理器804可执行存储器806中通信模块701和确认模块703的代码,用于实现客户端在服务端上登录。例如,客户端向计算设备800A发送注册信息,注册信息中包括第一浏览器指纹、用户账号信息以及用户密码信息,计算设备800A根据用户账号信息和用户密码信息注册用户账号,并记录第一浏览器指纹和用户密码信息的对应关系。客户端向计算设备800B发送第一登录请求,计算设备800B确认是否允许客户端登录计算设备800B。计算设备800B与计算设备800A之间可以相互通信,比如,计算设备800B从计算设备800A中获取浏览器和用户密码信息之间的对应关系,等等。

应理解,图11中示出的计算设备800A的功能也可以由多个计算设备800完成,或者云服务平台中包括多个与计算设备800A具有相同功能的计算设备。同样,计算设备800B的功能也可以由多个计算设备800完成,或者云服务平台中包括多个与计算设备800B具有相同功能的计算设备。

本申请实施例还提供了另一种计算设备集群。该计算设备集群中各计算设备之间的连接关系可以类似的参考图11所述计算设备集群的连接方式。不同的是,该计算设备集群中的一个或多个计算设备800中的存储器806中可以存有不同的用于执行一种登录服务端方法的指令。在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备800的存储器806中也可以分别存有用于执行一种登录服务端方法的部分指令。换言之,一个或多个计算设备800的组合可以共同执行用于执行一种登录服务端方法的指令。

本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在至少一个计算设备上运行时,使得至少一个计算设备执行一种登录服务端方法。

本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备或计算设备集群执行一种登录服务端方法。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。

技术分类

06120116580914