CN111343002B - 服务器扩容部署的方法、装置及服务器 - Google Patents
服务器扩容部署的方法、装置及服务器 Download PDFInfo
- Publication number
- CN111343002B CN111343002B CN202010084278.7A CN202010084278A CN111343002B CN 111343002 B CN111343002 B CN 111343002B CN 202010084278 A CN202010084278 A CN 202010084278A CN 111343002 B CN111343002 B CN 111343002B
- Authority
- CN
- China
- Prior art keywords
- server
- service application
- data request
- data
- address
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供了一种服务器扩容部署的方法、装置及服务器,属于互联网技术领域。方法包括:接收数据请求,确定用于处理该数据请求的服务应用的负载;响应于负载超过预设阈值,确定第二服务器;获取智能可执行程序,智能可执行程序封装有环境程序代码和功能程序代码;通过环境程序代码在第二服务器上部署服务应用的运行环境,通过功能程序代码配置服务应用的功能模块,得到服务应用;向第二服务器发送数据请求。通过接收数据请求,确定服务应用当前的负载大小,响应于负载超过预设阈值,向待扩容的第二服务器发送智能可执行程序,通过该智能可执行程序在第二服务器上部署服务应用,实现自动扩容部署服务器,大大提高了集群中服务器扩容部署的效率。
Description
技术领域
本公开涉及互联网技术领域,特别涉及一种服务器扩容部署的方法、装置及服务器。
背景技术
服务器集群中的服务器部署有服务应用,服务器通过调用服务应用来处理与该服务应用相关的数据请求。一般情况下,服务器集群中部署有服务应用的服务器的数量是固定的,相应的,服务器集群可以处理的数据请求的并发量也是固定的。如果数据请求的并发量大于服务器集群的承载量,则需要扩容部署新的服务器。
相关技术中,通过负载均衡器监测服务器集群的数据请求的并发量,响应于数据请求的并发量大于服务器集群的承载量,通过人工手动在新的服务器上部署服务应用来对服务器集群进行扩容,从而实现数据的高并发处理。
现有技术存在的问题是,通过人工手动在新的服务器上部署服务应用以进行服务器扩容部署的方式效率低,数据响应延迟大。
发明内容
本公开实施例提供了一种服务器扩容部署的方法、装置及服务器,能够提高服务器扩容部署的效率。所述技术方案如下:
第一方面,提供了一种服务器扩容部署的方法,所述方法包括:
接收用户设备的数据请求,根据所述数据请求,确定用于处理所述数据请求的服务应用;
确定当前第一服务器中所述服务应用的负载;
响应于所述负载超过预设阈值,获取所述第一服务器的互联网协议IP地址,根据所述第一服务器的IP地址,确定与所述第一服务器距离最近的第二服务器,所述第二服务器未部署所述服务应用;
获取所述服务应用的智能可执行程序,所述智能可执行程序封装有所述服务应用的环境程序代码和所述服务应用的功能程序代码;
通过所述环境程序代码在所述第二服务器上部署所述服务应用的运行环境,以及,通过所述功能程序代码配置所述服务应用的功能模块,得到所述服务应用;
向所述第二服务器发送所述数据请求,所述数据请求用于所述第二服务器通过已部署的所述服务应用处理所述数据请求。
在一种可能的实现方式中,所述数据请求用于请求用户数据,并且所述数据请用携带用户标识和所述用户设备的IP地址;所述方法还包括:
响应于所述负载未超过所述预设阈值,调用所述服务应用,根据所述用户标识和所述用户设备的IP地址,从用于存储所述用户数据的区块链中获取所述用户数据;
向所述用户设备发送所述用户数据。
在另一种可能的实现方式中,所述数据请求还携带所述用户数据的密钥;所述根据所述用户标识和所述用户设备的IP地址,从用于存储所述用户数据的区块链中获取所述用户数据,包括:
根据所述用户标识和所述用户设备的IP地址,从数据标识库中获取所述区块链中第一区块的区块标识;
根据所述用户标识、所述密钥和所述第一区块的区块标识,从所述第一区块的加密的数据区块中获取部分所述用户数据和第二区块的区块标识;
根据所述用户标识、所述密钥和所述第二区块的区块标识,从所述第二区块的加密的数据区块中获取部分所述用户数据,直到遍历所述区块链上的区块为止;
对获取到的部分所述用户数据进行数据整理,得到所述用户数据。
在另一种可能的实现方式中,所述接收用户设备的数据请求之前,所述方法还包括:
接收所述用户设备的连接请求,所述连接请求中携带有所述用户设备的身份认证信息,所述身份认证信息包括证书、密钥版本号和证书的有效期,所述身份认证信息是所述用户设备从用户中心获取的,所述用户中心用于生成和保存用户设备的身份认证信息;
通过所述身份认证信息对所述用户设备进行身份认证;
响应于通过所述密钥版本号确定所述证书是合法证书,以及当前时间在所述证书的有效期内,确定对所述用户设备身份认证通过。
第二方面,提供了另一种服务器扩容部署的方法,所述方法包括:
接收数据请求和智能可执行程序,所述数据请求用于请求用户数据,所述智能可执行程序封装有服务应用的环境程序代码和所述服务应用的功能程序代码,所述服务应用用于处理所述数据请求;
通过所述环境程序代码,部署所述服务应用的运行环境,以及通过所述功能程序代码配置所述服务应用的功能模块,得到所述服务应用;
调用所述服务应用,从用于存储所述用户数据的区块链中获取所述用户数据,向所述用户设备发送所述用户数据。
第三方面,提供了另一种服务器扩容部署的方法,所述方法包括:
接收用户设备的数据请求,所述数据请求携带有所述用户设备的互联网协议IP地址;
通过所述用户设备的IP地址确定与所述用户设备距离最近的第三服务器;
响应于所述第三服务器未部署用于处理所述数据请求的服务应用,通过二次探查法生成IP地址的探查序列,所述探查序列的初始IP地址为所述第三服务器的IP地址;
依次查找所述探查序列中的IP地址对应的服务器,直到找到部署有所述服务应用的第一服务器;
向所述第一服务器转发所述数据请求。
第四方面,提供了一种服务器扩容部署的装置,所述装置包括:
第一接收模块,用于接收用户设备的数据请求,根据所述数据请求,确定用于处理所述数据请求的服务应用;
第一确定模块,用于确定当前第一服务器中所述服务应用的负载;
所述第一确定模块,还用于响应于所述负载超过预设阈值,获取所述第一服务器的互联网协议IP地址,根据所述第一服务器的IP地址,确定与所述第一服务器距离最近的第二服务器,所述第二服务器未部署所述服务应用;
第一获取模块,用于获取所述服务应用的智能可执行程序,所述智能可执行程序封装有所述服务应用的环境程序代码和所述服务应用的功能程序代码;
第一部署模块,用于通过所述环境程序代码在所述第二服务器上部署所述服务应用的运行环境,以及,通过所述功能程序代码配置所述服务应用的功能模块,得到服务应用;
第一发送模块,用于向所述第二服务器发送所述数据请求,所述数据请求用于所述第二服务器通过已部署的所述服务应用处理所述数据请求。
在一种可能的实现方式中,所述数据请求用于请求用户数据,并且所述数据请用携带用户标识和所述用户设备的IP地址;
所述第一获取模块,还用于响应于所述负载未超过所述预设阈值,调用所述服务应用,根据所述用户标识和所述用户设备的IP地址,从用于存储所述用户数据的区块链中获取所述用户数据,向所述用户设备发送所述用户数据。
在另一种可能的实现方式中,所述数据请求还携带所述用户数据的密钥;
所述第一获取模块,用于根据所述用户标识和所述用户设备的IP地址,从数据标识库中获取所述区块链中第一区块的区块标识;根据所述用户标识、所述密钥和所述第一区块的区块标识,从所述第一区块的加密的数据区块中获取部分所述用户数据和第二区块的区块标识;根据所述用户标识、所述密钥和所述第二区块的区块标识,从所述第二区块的加密的数据区块中获取部分所述用户数据,直到遍历所述区块链上的区块为止;对获取到的部分所述用户数据进行数据整理,得到所述用户数据。
在另一种可能的实现方式中,所述第一接收模块,还用于接收所述用户设备的连接请求,所述连接请求中携带有所述用户设备的身份认证信息,所述身份认证信息包括证书、密钥版本号和证书的有效期,所述身份认证信息是所述用户设备从用户中心获取的,所述用户中心用于生成和保存用户设备的身份认证信息;
所述装置还包括:
身份认证模块,用于通过所述身份认证信息对所述用户设备进行身份认证;响应于通过所述密钥版本号确定所述证书是合法证书,以及当前时间在所述证书的有效期内,确定对所述用户设备身份认证通过。
第五方面,提供了另一种服务器扩容部署的装置,所述装置包括:
第二接收模块,用于接收数据请求和智能可执行程序,所述数据请求用于请求用户数据,所述智能可执行程序封装有服务应用的环境程序代码和所述服务应用的功能程序代码,所述服务应用用于处理所述数据请求;
第二部署模块,用于通过所述环境程序代码,部署所述服务应用的运行环境,以及通过所述功能程序代码配置所述服务应用的功能模块,得到服务应用;
第二获取模块,用于调用所述服务应用,从用于存储所述用户数据的区块链中获取所述用户数据;
第二发送模块,用于向所述用户设备发送所述用户数据。
第六方面,提供了另一种服务器扩容部署的装置,所述装置包括:
第三接收模块,用于接收用户设备的数据请求,所述数据请求携带有所述用户设备的互联网协议IP地址;
第二确定模块,用于通过所述用户设备的IP地址确定与所述用户设备距离最近的第三服务器;
生成模块,用于响应于所述第三服务器未部署用于处理所述数据请求的服务应用,通过二次探查法生成IP地址的探查序列,所述探查序列的初始IP地址为所述第三服务器的IP地址;
查找模块,用于依次查找所述探查序列中的IP地址对应的服务器,直到找到部署有所述服务应用的第一服务器;
第三发送模块,用于向所述第一服务器转发所述数据请求。
第七方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现上述任一种可能实现方式中的服务器扩容部署的方法中所执行的操作。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现上述任一种可能实现方式中的服务器扩容部署的方法中服务器执行的操作。
本公开实施例提供的技术方案带来的有益效果是:
在本公开实施例中,接收用户设备的数据请求,根据数据请求,确定用于处理数据请求的服务应用;确定当前第一服务器中服务应用的负载;响应于负载超过预设阈值,获取第一服务器的互联网协议IP地址,根据第一服务器的IP地址,确定与第一服务器距离最近的第二服务器,第二服务器未部署服务应用;获取服务应用的智能可执行程序,智能可执行程序封装有服务应用的环境程序代码和服务应用的功能程序代码;通过环境程序代码在第二服务器上部署服务应用的运行环境,以及,通过功能程序代码配置服务应用的功能模块,得到服务应用;向第二服务器发送数据请求,数据请求用于第二服务器通过已部署的服务应用处理数据请求。本公开通过在接收到数据请求时,确定用于处理该服务请求的服务应用当前的负载大小,响应于负载超过预设阈值,向待扩容的第二服务器发送智能可执行程序,通过该智能可执行程序在第二服务器上部署服务应用以及配置服务应用的功能模块,即实现根据负载的大小,自动扩容部署服务器,大大提高了集群中服务器扩容部署的效率。另外,将数据请求发送给已部署服务应用的第二服务器处理,即集群中服务器在实现自动扩容部署服务器的同时,还实现智能分发处理请求,从而提高了数据请求的响应速度。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种实施环境的示意图;
图2是本公开实施例提供的一种数据存储系统的示意图;
图3是本公开实施例提供的一种区块链系统的示意图;
图4是本公开实施例提供的一种服务器扩容部署的方法的流程图;
图5是本公开实施例提供的一种寻找服务器的流程图;
图6是本公开实施例提供的一种服务器扩容部署的方法的流程图;
图7是本公开实施例提供的一种节点间身份认证过程的示意图;
图8是本公开实施例提供的一种区块链的示意图;
图9是本公开实施例提供的一种数据区块的结构示意图;
图10是本公开实施例提供的一种用户数据获取过程的示意图;
图11是本公开实施例提供的一种用户数据获取过程的示意图;
图12是本公开实施例提供的一种服务器扩容部署的方法的流程图;
图13是本公开实施例提供的一种服务器扩容部署的方法的流程图;
图14是本公开实施例提供的一种服务器扩容部署的装置的结构示意图;
图15是本公开实施例提供的一种服务器扩容部署的装置的结构示意图;
图16是本公开实施例提供的一种服务器扩容部署的装置的结构示意图;
图17是本公开实施例提供的一种服务器的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
图1是本公开实施例提供的一种实施环境的示意图。参见图1,该实施环境包括用户设备101和服务器集群中部署有服务应用的多个服务器102,其中服务应用可以为各种游戏服务应用。用户设备101和多个服务器102之间通过无线或者有线网络连接。并且,用户设备101上可以安装有服务器102提供服务的目标APP,多个服务器102上均部署有与该目标APP对应的服务应用,该服务应用用于处理目标APP通过用户设备101发送来的数据请求,即多个服务器102均为该目标APP对应的后台服务器,其中目标APP可以为游戏APP。用户设备101对应的用户可以通过该目标APP向任一服务器102发送数据请求,该服务器102接收该数据请求后,可以通过服务器上部署的与该目标APP对应的服务应用,处理该数据请求,然后将得到的用户数据发送给用户设备101。
用户设备101可以为电脑、手机、平板电脑或者其他用户设备。目标APP可以为用户设备101上安装的任一目标APP。并且,目标APP可以为用户设备101操作系统中的目标APP,还可以为第三方提供的目标APP。例如,目标APP可以为购物应用、金融应用、社交应用等。服务器102可以为该目标APP对应的后台服务器。相应的,服务器102上部署有与目标APP对应的服务应用。
在本公开实施例中,实施环境还包括服务器集群中的域名服务器103,域名服务器103分别和用户设备101、服务器102之间通过无线或者有线网络连接。域名服务器103用于接收用户设备101的数据请求,将数据请求映射到与用户设备101距离最近的服务器102,进一步的,数据请求携带用户设备101的IP(Internet Protocol,互联网协议)地址,域名服务器103通过该IP地址确定与用户设备距离最近的第三服务器,响应于第三服务器未部署用于处理数据请求的服务应用,域名服务器103通过二次探查法生成IP地址的探查序列,其中,该探查序列的初始IP地址为第三服务器的IP地址。域名服务器103依次查找探查序列中的IP地址对应的服务器,直到找到部署用服务应用的第一服务器102,向该第一服务器102转发该数据请求。第一服务器102接收以及处理该数据请求,将得到的用户数据发送给用户设备101,从而实现就近响应数据请求,提高数据请求的响应速度。
实施环境还包括服务器集群中多个未部署服务应用的服务器104。多个服务器104与服务器102之间通过无线或者有线网络连接。当服务器102接收到数据请求时,服务器102确定用于处理该数据请求的服务应用,以及确定当前该服务应用的负载,响应于该负载超过预设阈值,从多个服务器104确定与当前服务器102距离最近的第二服务器104,向该第二服务器104发送智能可执行程序和数据请求,其中该智能可执行程序封装有服务应用的环境程序代码和服务应用的功能程序代码。
该第二服务器104接收该智能可执行程序和数据请求,通过运行该智能可执行程序在本机部署该服务应用以及配置该服务应用的功能模块,通过该服务应用的功能模块开启该服务应用,监控该服务应用的负载以及设置该服务应用的数据存储区域。以及调用该服务应用获取与该数据请求相关的用户数据,向数据请求对应的用户设备发送该用户数据。
图2是本公开实施例提供的一种数据存储系统的示意图。该数据存储系统可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户设备)通过网络通信的形式连接形成的分布式系统。
以该分布式系统为区块链系统为例,参见图3,图3是本公开实施例提供的将该分布式系统应用于区块链系统的一个可选的结构示意图,由多个节点(接入网络中的任意形式的计算设备,如服务器、用户设备)和客户端形成,节点之间形成组成的点对点(P2P,PeerTo Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission ControlProtocol)协议之上的应用层协议。在该分布式系统中,任何机器如服务器、终端都可以加入而成为节点。参见图4示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,例如,在本公开实施例中,业务可以包括金融交易业务,查询业务等。记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源。例如,应用实现的业务可以包括:
2.1)提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币。
2.2)提供用户数据的存储、查询和修改等操作的功能,将对用户数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认用户数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的用户数据。
继续参见图2,该数据存储系统包括服务器集群中的多个服务器,该多个服务器用于存储用户数据。其中,该多个服务器可以为部署有服务应用的后台服务器,也可以为客户端职能服务器。例如,集群中包括服务器1和服务器2,服务器1和服务器2为后台服务器,集群中还包括用户设备3和用户设备4,用户设备3和用户设备4为客户端职能服务器。多个服务器之间通过无线或者有线网络连接。每个服务器中通过多个容器封装了多个服务应用的用户数据,其中,一个容器对应一个服务应用,一个服务应用对应一个APP。每个容器中存储数据区块集,该数据区块集包括多个加密的数据区块,用户数据存储于加密的数据区块中。需要说明的一点是,同一个用户的用户数据是分散存储在该多个服务器的数据区块集中,每个服务器的数据区块集存储多个用户的用户数据,例如,服务器1的数据区块集1中存储有用户A的数据、用户B的数据以及用户C的数据等,服务器2的数据区块集2中存储有用户A的数据、用户B的数据以及用户C的数据等。进一步的,同一个用户的用户数据分散存储在数据区块集中的多个加密的数据区块中,每个加密的数据区块中存储多个用户的数据。通过将用户数据分散存储在多个服务器中的多个加密的数据区块中,无系统中心记录总系统数据,有利于解决用户的隐私问题,极大地提升了用户数据的安全性。
图4是本公开实施例提供的一种服务器扩容部署的方法的流程图。该实施例中的域名服务器用于将用户设备的数据请求映射到与用户设备最近的且部署有服务应用的服务器上。参见图4,该实施例包括:
401、域名服务器接收用户设备的数据请求,数据请求携带有用户设备的互联网协议IP地址。
需要说明的一点是,该数据请求用于请求用户数据,用户数据可以包括用户的交易信息、用户的医疗信息、用户的身份信息、用户的学历信息等中的至少一项数据,这些用户数据被分块存储在服务器集群中的多个服务器中,当用户需要获取用户数据时,可以向集群中的域名服务器发送数据请求。
可以理解的是,本公开中的域名服务器用于进行IP地址映射,所以本公开中的域名服务器也可以替换为其他服务器,例如,客户端职能服务器,后台应用服务器等,即可以将其他类型的服务器作为本公开实施例的执行主体。
402、域名服务器通过用户设备的IP地址确定与用户设备距离最近的第三服务器。
域名服务器根据用户设备的IP地址,以及集群服务器中的每个服务器的IP地址,确定用户设备与每个服务器之间的距离;根据用户设备与每个服务器之间的距离,从集群服务器中选择与用户设备距离最近的第三服务器。
其中,域名服务器根据用户设备的IP地址,该服务器的IP地址,确定用户设备与该服务器之间的距离的步骤可以为:域名服务器确定用户设备的IP地址与该服务器的IP地址之间的欧式距离,将该欧式距离确定为用户设备与该服务器之间的距离。
其中,本公开中的距离最近指的是空间距离最近。可以理解的是,IP地址相近的服务器间的空间距离相对较近,相应的,域名服务器可以将与用户设备的IP地址相近的IP地址对应的服务器作为第三服务器。此外,域名服务器还可以结合服务器的网盾的信息来确定第三服务器。
需要说明的一点是,域名服务器确定与用户设备距离最近的第三服务器,响应于该第三服务器部署有用于处理该数据请求的服务应用,将数据请求发送给该第三服务器处理。通过将数据请求发送给距离最近的第三服务器处理,可以提高数据请求的响应速度。
在一种可能的实现方式中,域名服务器可以存储服务应用的标识库,该服务应用的标识库用于存储集群中部署的所有服务应用的标识,集群中的其他服务器可以存储服务应用的子标识库,该服务应用的子标识库用于存储该服务器中所部署的服务应用的标识。相应的,域名服务器确定第三服务器中部署有服务应用的步骤为:域名服务器根据数据请求确定处理该数据请求的服务应用,以及根据服务应用的标识库确定该服务应用的标识,域名服务器从第三服务器的服务应用的子标识库中查找该服务应用的标识,若查找到,则确定第三服务器部署有用于处理该数据请求的服务应用,若查找不到,则确定第三服务器中没有部署用于处理该数据请求的服务应用。
可选的,域名服务器也可以根据数据请求中携带的用户标识和用户设备的IP地址,将数据请求发送给历史服务器处理,从而提高数据请求的响应速度。其中,历史服务器为上一次处理携带有该用户标识的数据请求的服务器。
域名服务中可以存储访问记录表,该访问记录表存储了数据请求与处理该数据请求的服务器的对应关系。例如,该对应关系可以为“数据请求的用户标识-用户设备的IP-处理该数据请求的服务器的标识-时间戳”。相应的,域名服务器可以根据数据请求中携带的用户标识和用户设备的IP地址,从访问记录表中查找处理过携带有该用户标识的数据请求的所有服务器,并将时间戳最新的服务器作为历史服务器,将数据请求发送给该历史服务器。
403、响应于第三服务器未部署用于处理数据请求的服务应用,域名服务器通过二次探查法生成IP地址的探查序列,探查序列的初始IP地址为第三服务器的IP地址。
其中,通过二次探查法生成IP地址的探查序列可以通过下述公式(1)实现:
hi=(h(key)+i2)%m0≤i≤m-1 (I)
其中,h(key)为初始的探查位置,在本公开中,h(key)为第三服务器的IP地址,i2为增量序列,在本公开实施例中,i2为探查序列中相邻IP地址的间隔,m为表长,在本公开中,m为服务器集群中IP地址的个数。
通过公式(1)得到的IP地址的探查序列为h(key),h1,h2,…,h(m-1)。
在本公开实施例中,通过二次探查法生成IP地址的探查序列,探查序列中后继的散列地址不是连续的,而是跳跃式的,以便为后续数据元素留下空间从而减少聚集。需要说明的一点是,也可以使用其他方法生成IP地址的探查序列,例如,通过线性探查法或者双重散列法生成IP地址的探查序列,本公开对此不做限制。
404、域名服务器依次查找探查序列中的IP地址对应的服务器,直到找到部署有服务应用的第一服务器。
例如,当探查序列为h(ky),h1,h2,…时,域名服务先确定IP地址为h(key)的服务器是否部署服务应用,若部署有服务应用,则停止寻找,将该服务器作为第一服务器,若没有部署服务应用,则确定IP地址为h1的服务器是否部署服务应用,若部署有服务应用,则停止寻找,将该服务器作为第一服务器,以此类推。参考图5,为域名服务器根据用户设备的IP地址寻找距离用户设备最近且部署用服务应用的第一服务器的示意图。域名服务器根据用户设备的IP定位到与用户设备距离最近的服务器,若该服务器中未部署服务应用,则向下寻找,找到部署服务应用的服务器。
在本公开实施例中,通过二次探查法生成IP地址的探查序列,根据探查序列来遍历寻找部署有服务应用的第三服务器,极大地提升了遍历寻找第三服务器的速度,从而可以提升数据响应的速度。
405、域名服务器向第一服务器转发数据请求。
在本公开实施例中,域名服务器将数据请求就近发送给部署有服务应用的服务器处理,部署有服务应用的服务器均装备有能计算处理并发挥符合需求的API(ApplicationProgramming Interface,应用程序编程接口)响应数据,即服务器以随机和就近原则与客户端请求进行交互以最快响应数据请求。并且无中心化调控服务器,有利于解决隐私问题和提高服务器性能速度。
图6是本公开实施例提供的一种服务器扩容部署的方法的流程图。其中,该实施例中的第一服务器为服务器集群中已部署有服务应用的服务器,该实施例介绍了第一服务器根据数据请求返回用户数据的方法,以及介绍了第一服务器在第二服务器上扩容部署服务应用的方法。参见图6,该实施例包括:
601、第一服务器接收用户设备的数据请求,根据数据请求,确定用于处理数据请求的服务应用。
需要说明的一点是,第一服务器中通过容器封装了多个服务应用和多个服务应用对应的用户数据,其中,一个容器封装一个服务应用和该服务应用对应的用户数据,各个服务应用通过容器相互隔离。当第一服务器接收用户设备的数据请求时,需要调用与该数据请求相对应的服务应用来处理该数据请求,所以,当第一服务器接收用户设备的数据请求,要根据数据请求,确定用于处理数据请求的服务应用。
每个目标APP都有对应的服务应用,每个服务应用都有对应的API,用于目标APP通过对应的API来调用对应的服务应用。当用户通过用户设备上的目标APP发送数据请求时,数据请求携带有API信息,相应的,服务器根据该API信息确定用于处理数据请求的服务应用。
可选的,第一服务器在接收用户设备的数据请求之前,先要对用户设备进行身份认证,该过程包括下述第一和第二两个步骤:
第一,第一服务器接收用户设备的连接请求,该连接请求中携带有用户设备的身份认证信息。
其中,身份认证信息包括证书、密钥版本号和证书的有效期。该身份认证信息是用户设备从用户中心获取的,用户中心用于生成和保存用户设备的身份认证信息。其中,该密钥的版本号为用户中心的私钥的版本号。
需要说明的一点是,第一服务器所在的服务器集群用于存储用户数据,以及根据数据请求返回用户数据,为了保证该服务器集群的中服务器间网络的稳定性和存储数据的安全性,要求与该服务器集群中的服务器建立连接的用户设备需要通过身份认证。
在第一服务器接收用户设备的连接请求前,用户设备先从用户中心获取身份认证信息,参考图7,该步骤包括:用户设备将身份信息和用户secret(私钥)发送给用户中心,用户中心服务验证该身份信息的有效性,响应于该身份信息有效,用户中心根据secret生成公钥(public key),然后对身份信息、secret、public key、period(证书的有效期)以及用户中心本次签名的所使用的私钥的私钥版本号(licversion)进行hash(哈希)运算,然后用户中心对hash运算的结果用自己的私钥进行加密产生license(证书)。最后,将license、licversion、period发送给用户设备。需要说明的是,用户设备保存收到的license、licversion、period以及验证period,确保自己的证书还在有效期内,否则重新向用户中心申请证书。
第二,第一服务器通过身份认证信息对用户设备进行身份认证。
响应于通过密钥版本号确定证书是合法证书,以及当前时间在证书的有效期内,第一服务器确定对用户设备身份认证通过。
进一步的,继续参考图7,该步骤包括:第一服务器收到用户设备发送的连接请求后,给用户设备反馈一个随机hashB(哈希值B),然后等待接收用户设备发来的身份认证信息。用户设备用自己的secret对hashB进行签名得到Signed HashB(签名后的哈希值B),将身份信息、license、licversion、period、public key、Signed HashB发送给第一服务器。第一服务器首先校验当前时间是否在period有效期内,如果不在则直接拒绝认证。如果在有效期内,第一服务器对用户设备发来的license进行校验。
其中,第一服务器对用户设备发来的license进行校验的步骤包括:第一服务器根据liversion获取本次解密需要用到的UCenter Public Key(用户中心的公钥),然后第一服务器对用户设备发来的身份信息、licversion、public key、period进行hash运算,得到hash结果。最后第一服务器通过ECDSA(Elliptic Curve Digital Signature Algorithm,椭圆曲线数字签名算法)对hash结果、license、UCenter Public Key三者进行校验,如果校验通过,则确定license合法。另外,第一服务器还会对hashB、public key、Signed HashB进行校验,如果校验通过,则确定证书和secret属于同一个用户设备,然后确定用户设备身份认证通过。
需要说明的是,上述过程为第一服务器对用户设备的单向认证过程,可选的,用户设备也可以对第一服务器进行身份认证,从而进一步加强服务器集群中数据存储的安全性。进一步的,用户设备可以在向第一服务器发送连接请求的同时发送一个随机hashA,第一服务器对hashA做签名,将签名后的hashA和第一服务器的身份认证信息发送给用户设备,用户设备根据第一服务器的身份认证信息对第一服务器进行身份认证。当双方认证通过,第一服务器才接收用户设备的数据请求。
602、第一服务器确定当前服务应用的负载。
其中,负载可以为该服务应用当前处理的数据请求的并发量,还可以为该服务应用对应的用户数据的当前存储量。
需要说明的一点是,第一服务器中服务应用可以处理的数据请求的并发量一般是固定的,并且第一服务器可以存储的该服务应用的用户数据的量也是固定的,相应的,若第一服务接收到数据请求,第一服务器要先确定服务应用当前的负载,根据当前负载的大小,确定由本机处理该数据请求还是将数据请求发送给其他服务器处理。对于当前服务应用超载的情况,第一服务器执行步骤603,接下来介绍当前服务应用未超载的情况,即由本机处理该数据请求的过程。
需要说明的另一点是,该数据请求用于请求用户数据,并且数据请用携带用户标识和用户设备的IP地址。
响应于负载未超过预设阈值,第一服务器调用服务应用,根据用户标识和用户设备的IP地址,从用于存储用户数据的区块链中获取用户数据,向用户设备发送用户数据。
其中,该区块链由存储有用户数据的多个服务器构成。参考图8,为区块链上相连的三个服务器,其中左侧的两个服务器为客户端职能服务器,右侧的服务器为后台应用服务器。每个服务器被封装成为一个区块,每个区块中存储多个加密的数据区块,加密的数据区块中存储有用户的数据,并且加密的数据区块中还存储有该区块链中上一个区块的标识和下一个区块的标识,各区块通过标识连接成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。参考图9,为一个区块的结构示意图。
进一步的,该数据请求还携带用户数据的密钥,相应的,第一服务器根据用户标识和用户设备的IP地址,从用于存储用户数据的区块链中获取用户数据的过程包括下述步骤(1)-(4):
(1)第一服务器根据用户标识和用户设备的IP地址,从数据标识库中获取区块链中第一区块的区块标识。
在一种可能的实现方式中,该步骤的实现方式为:第一服务器对用户标识和用户设备的IP地址进行hash运算,得到用户的哈希值,根据该用户的哈希值从数据标识库中获取区块链中第一区块的区块标识。
其中,该数据标识库可以存储在第一服务器中,并且该数据标识库中存储有用户的哈希值和区块标识的对应关系。相应的,第一服务器可以根据该用户的哈希值,从用户的哈希值和区块标识的对应关系中获取与该用户标识对应的第一区块的区块标识。需要说明的一点是,该第一区块可以为区块链上的任一个区块。
(2)第一服务器根据用户标识、密钥和第一区块的区块标识,从第一区块的加密的数据区块中获取部分用户数据和第二区块的区块标识。
在一种可能的实现方式中,该步骤的实现方式为:第一服务器根据用户标识确定存储有用户数据的加密的数据区块,通过密钥从确定出的加密的数据区块中获取部分用户数据和第二区块的区块标识。
(3)第一服务器根据用户标识、密钥和第二区块的区块标识,从第二区块的加密的数据区块中获取部分用户数据,直到遍历区块链上的区块为止。
需要说明的一点是,步骤(2)和步骤(3)中的用户标识也可以替换为用户的哈希值。
(4)第一服务器对获取到的部分用户数据进行数据整理,得到用户数据。
其中,数据整理可以包括数据去重,数据核对等。参考图10,第一服务器确定处理数据请求的服务应用,然后通过密钥从区块链上的多个服务器中,获取用户设备请求的与该服务应用对应的用户数据,然后对用户数据进行核对和输出。需要说明的是,同一个数据请求中携带的用户数据的密钥可以为多个,且同一个用户的用户数据也可以对应多个密钥。
参考图11,第一服务器确定出处理数据请求的服务应用后,确定封装该服务应用的容器的数据存储量,如果数据存储量未超过预设阈值,就通过数据请求中的密钥从多个加密的数据区块中获取用户数据,然后将用户数据返回用户设备(或者客户端)。
在本公开实施例中,通过区块链技术将每个服务器封装成为一个区块,将多个服务器构成区块链,基于密码学进行数据加密及服务加密,每台服务器存储多个加密的数据区块,将用户数据分散存储在多个服务的多个加密的数据区块中,提升了服务器集群中数据存储的安全性和私密性,解决了隐私问题。
603、响应于负载超过预设阈值,第一服务器获取第一服务器的互联网协议IP地址,根据第一服务器的IP地址,确定与第一服务器距离最近的第二服务器,第二服务器未部署服务应用。
其中,该第二服务器为第一服务器确定的待扩容的服务器。第一服务器根据第一服务器的IP地址,确定与第一服务器距离最近的第二服务器的实现方式与步骤402同理,此处不再赘述。
需要说明的一点是,服务器就近确定待扩容的第二服务器,既提升了扩容部署服务器的效率,后续将数据请求发送给该第二服务器处理,同样提升了数据请求的响应速度。
604、第一服务器获取服务应用的智能可执行程序,智能可执行程序封装有服务应用的环境程序代码和服务应用的功能程序代码。
在一种可能的实现方式中,该智能可执行程序存储在第一服务器中,相应的,第一服务器本地获取该智能可执行程序。需要说明的一点是,该智能可执行程序具有自动运行的特性。
605、第一服务器通过环境程序代码在第二服务器上部署服务应用的运行环境,以及,通过功能程序代码配置服务应用的功能模块,得到所述服务应用。
该步骤的实现方式为:第一服务器向第二服务器发送该智能可执行程序,在第二服务器上自动运行该智能可执行程序。从而通过智能可执行程序中的环境程序代码在第二服务器上部署服务应用的运行环境,以及通过功能程序代码配置服务应用的功能模块,得到所述服务应用。
需要说明的一点是,该功能模块的功能包括在第二服务器上开启服务应用,监控该服务应用的负载以及设置该服务应用的数据存储区域。
在本公开实施例中,第一服务器通过在当前服务应用的负载超过预设阈值时,确定待扩容的第二服务器,以及向第二服务器发送智能可执行程序在第二服务器上部署服务应用,即第一服务器根据当前服务应用的负载,自动扩容部署新的服务器,相比于人工手动部署服务应用,大大提升了服务器扩容部署的效率。
606、第一服务器向第二服务器发送数据请求,数据请求用于第二服务器通过已部署的服务应用处理数据请求。
第一服务器还可以向第二服务器发送数据标识库,该数据标识库用于第二服务器获取区块链上存储用户数据的区块的标识。
在本公开实施例中,第一服务器通过在当前服务应用的负载超过预设阈值时,将数据请求发送给已部署服务应用的第二服务器,通过该第二服务器处理数据请求,从而保证了该数据请求的响应速度。
在一种可能的实现方式中,第一服务器向第二服务器发送数据请求前,可以先与第二服务器间进行双向的身份认证,响应于双方认证通过,第一服务器向第二服务器发送数据请求。从而可以保证服务器集群中数据的安全性。
在本公开实施例中,接收用户设备的数据请求,根据数据请求,确定用于处理数据请求的服务应用;确定当前第一服务器中服务应用的负载;响应于负载超过预设阈值,获取第一服务器的互联网协议IP地址,根据第一服务器的IP地址,确定与第一服务器距离最近的第二服务器,第二服务器未部署服务应用;获取服务应用的智能可执行程序,智能可执行程序封装有服务应用的环境程序代码和服务应用的功能程序代码;通过环境程序代码在第二服务器上部署服务应用的运行环境,以及,通过功能程序代码配置服务应用的功能模块,得到服务应用;向第二服务器发送数据请求,数据请求用于第二服务器通过已部署的服务应用处理数据请求。通过在接收到数据请求时,确定用于处理该服务请求的服务应用当前的负载大小,响应于负载超过预设阈值,向待扩容的第二服务器发送智能可执行程序,通过该智能可执行程序在第二服务器上部署服务应用以及配置服务应用的功能模块,即实现根据负载的大小,自动扩容部署服务器,大大提高了集群中服务器扩容部署的效率。另外,将数据请求发送给已部署服务应用的第二服务器处理,即集群中服务器在实现自动扩容部署服务器的同时,还实现智能分发处理请求,从而提高了数据请求的响应速度。
图12是本公开实施例提供的一种服务器扩容部署的方法的流程图。其中,该实施例中的第二服务器未部署服务应用,该实施例介绍了第二服务器自动部署服务应用的方法。参见图12,该实施例包括:
1201、第二服务器接收数据请求和智能可执行程序,数据请求用于请求用户数据,智能可执行程序封装有服务应用的环境程序代码和服务应用的功能程序代码,服务应用用于处理数据请求。
可选的,第二服务器还接收数据标识库,该数据标识库用于第二服务器获取区块链上存储用户数据的区块的标识。
1202、第二服务器通过环境程序代码,部署服务应用的运行环境,以及通过功能程序代码配置服务应用的功能模块,得到所述服务应用。
需要说明的是,该智能可执行程序具有自动运行的特性,相应的,该步骤的方式为:第二服务器自动运行该智能可执行程序,通过环境程序代码,部署服务应用的运行环境,以及通过功能程序代码配置服务应用的功能模块,得到所述服务应用。
第二服务器还通过该功能模块开启服务应用,监控该服务应用的负载以及设置该服务应用的数据存储区域。
其中,第二服务器部署服务应用后即可处理与该服务应用对应的数据请求,第二服务器通过该功能模块监控服务应用的负载,则当该第二服务器上服务应用的负载超过预设阈值时,可以将该第二服务器接收的数据请求发送给其他服务器处理,也即实现智能分发服务请求,保证服务请求的响应速度。
第二服务器通过功能模块设置服务应用的数据存储区域,也即部署该服务应用的容器。该容器用于存储该服务应用的用户数据。当服务器集群产生需要存储的该服务应用对应的用户数据时,用户数据可以通过加密的数据区块的方式存储在该容器中。
在本公开实施例中,服务器接受指令(即智能可执行程序)后就地部署盒子区域环境(即容器环境)并将本服务器资源共享,并且普通客户端也可以通过运行智能可执行程序的形式加入服务器扩容响应,极大提高了服务器的部署效率、稳定可持续的提高应用可服务性能空间,适用于即请求即处理的应用服务。
1203、第二服务器调用服务应用,从用于存储用户数据的区块链中获取用户数据,向用户设备发送用户数据。
该步骤的实现方式与步骤602中第一服务器获取用户数据的实现方式同理,此处不再赘述。
本公开将区块链技术应用于服务器部署与网络服务通信上,适合于即请求即服务的系统自助系统应用。通过就近扩容部署服务器,有利于提高系统处理速度和网络系统数据统一承载量,通过将用户数据分散存储在区块链上服务器节点的加密的数据区块中,无系统中心数据库记录总系统数据,有利于解决网络服务用户隐私问题。
图13是本公开实施例提供的一种服务器扩容部署的方法的流程图。该实施例描述了域名服务器、扩容部署服务应用的第一服务器以及被部署服务应用的第二服务器间交互的过程。其中,各个步骤中的实现方式在上述实施例中已分别做出介绍,在该实施例中不再赘述。方法包括:
1301、域名服务器接收用户设备的数据请求,数据请求携带有用户设备的互联网协议IP地址。
该步骤的实现过程与步骤401相同,此处不再赘述。
1302、域名服务器通过用户设备的IP地址确定与用户设备距离最近的第三服务器。
该步骤的实现过程与步骤402相同,此处不再赘述。
1303、响应于第三服务器未部署用于处理数据请求的服务应用,通过二次探查法生成IP地址的探查序列,探查序列的初始IP地址为第三服务器的IP地址。
该步骤的实现过程与步骤403相同,此处不再赘述。
1304、域名服务器依次查找探查序列中的IP地址对应的服务器,直到找到部署有服务应用的第一服务器。
该步骤的实现过程与步骤404相同,此处不再赘述。
1305、域名服务器向第一服务器转发数据请求。
该步骤的实现过程与步骤405相同,此处不再赘述。
1306、第一服务器接收用户设备的数据请求,根据数据请求,确定用于处理数据请求的服务应用。
该步骤的实现过程与步骤601相同,此处不再赘述。
1307、第一服务器确定当前服务应用的负载。
该步骤的实现过程与步骤602相同,此处不再赘述。
1308、响应于负载超过预设阈值,第一服务器获取第一服务器的互联网协议IP地址,根据第一服务器的IP地址,确定与第一服务器距离最近的第二服务器,第二服务器未部署服务应用。
该步骤的实现过程与步骤603相同,此处不再赘述。
需要说明的一点是,在该步骤中,响应于负载未超过预设阈值,第一服务器调用服务应用,从用于存储用户数据的区块链中获取用户数据,以及向用户设备发送该用户数据。
1309、第一服务器获取服务应用的智能可执行程序,智能可执行程序封装有服务应用的环境程序代码和服务应用的功能程序代码。
该步骤的实现过程与步骤604相同,此处不再赘述。
1310、第一服务器向第二服务器发送智能可执行程序和数据请求。
1311、第二服务器接收数据请求和智能可执行程序。
1312、第二服务器运行智能可执行程序,通过环境程序代码,部署服务应用的运行环境,以及通过功能程序代码配置服务应用的功能模块,得到服务应用。
该步骤的实现过程与步骤1202相同,此处不再赘述。
1313、第二服务器调用服务应用,从用于存储用户数据的区块链中获取用户数据。
该步骤的实现过程与步骤602相同,此处不再赘述。
1314、第二服务器向用户设备发送用户数据。
在本公开实施例中,接收用户设备的数据请求,根据数据请求,确定用于处理数据请求的服务应用;确定当前第一服务器中服务应用的负载;响应于负载超过预设阈值,获取第一服务器的互联网协议IP地址,根据第一服务器的IP地址,确定与第一服务器距离最近的第二服务器,第二服务器未部署服务应用;获取服务应用的智能可执行程序,智能可执行程序封装有服务应用的环境程序代码和服务应用的功能程序代码;通过环境程序代码在第二服务器上部署服务应用的运行环境,以及,通过功能程序代码配置服务应用的功能模块,得到服务应用;向第二服务器发送数据请求,数据请求用于第二服务器通过已部署的服务应用处理数据请求。通过在接收到数据请求时,确定用于处理该服务请求的服务应用当前的负载大小,响应于负载超过预设阈值,向待扩容的第二服务器发送智能可执行程序,通过该智能可执行程序在第二服务器上部署服务应用以及配置服务应用的功能模块,即实现根据负载的大小,自动扩容部署服务器,大大提高了集群中服务器扩容部署的效率。另外,将数据请求发送给已部署服务应用的第二服务器处理,即集群中服务器在实现自动扩容部署服务器的同时,还实现智能分发处理请求,从而提高了数据请求的响应速度。
图14是本公开实施例提供的一种服务器扩容部署的装置的框图。装置包括:
第三接收模块1401,用于接收用户设备的数据请求,数据请求携带有用户设备的互联网协议IP地址;
第二确定模块1402,用于通过用户设备的IP地址确定与用户设备距离最近的第三服务器;
生成模块1403,用于响应于第三服务器未部署用于处理数据请求的服务应用,通过二次探查法生成IP地址的探查序列,探查序列的初始IP地址为第三服务器的IP地址;
查找模块1404,用于依次查找探查序列中的IP地址对应的服务器,直到找到部署有服务应用的第一服务器;
第三发送模块1405,用于向第一服务器转发数据请求。
在本公开实施例中,域名服务器将数据请求就近发送给部署有服务应用的服务器处理,部署有服务应用的服务器均装备有能计算处理并发挥符合需求的API响应数据,即服务器以随机和就近原则与客户端请求进行交互以最快响应数据请求。并且无中心化调控服务器,有利于解决隐私问题和提高服务器性能速度。
图15是本公开实施例提供的一种服务器扩容部署的装置的框图。装置包括:
第一接收模块1501,用于接收用户设备的数据请求,根据数据请求,确定用于处理数据请求的服务应用;
第一确定模块1502,用于确定当前第一服务器中服务应用的负载;
第一确定模块1502,还用于响应于负载超过预设阈值,获取第一服务器的互联网协议IP地址,根据第一服务器的IP地址,确定与第一服务器距离最近的第二服务器,第二服务器未部署服务应用;
第一获取模块1503,用于获取服务应用的智能可执行程序,智能可执行程序封装有服务应用的环境程序代码和服务应用的功能程序代码;
第一部署模块1504,用于通过环境程序代码在第二服务器上部署服务应用的运行环境,以及,通过功能程序代码配置服务应用的功能模块,得到服务应用;
第一发送模块1505,用于向第二服务器发送数据请求,数据请求用于第二服务器通过已部署的服务应用处理数据请求。
在一种可能的实现方式中,数据请求用于请求用户数据,并且数据请用携带用户标识和用户设备的IP地址;装置还包括:
第一获取模块1503,还用于响应于负载未超过预设阈值,调用服务应用,根据用户标识和用户设备的IP地址,从用于存储用户数据的区块链中获取用户数据,向用户设备发送用户数据。
在另一种可能的实现方式中,数据请求还携带用户数据的密钥;
第一获取模块1503,用于根据用户标识和用户设备的IP地址,从数据标识库中获取区块链中第一区块的区块标识;根据用户标识、密钥和第一区块的区块标识,从第一区块的加密的数据区块中获取部分用户数据和第二区块的区块标识;根据用户标识、密钥和第二区块的区块标识,从第二区块的加密的数据区块中获取部分用户数据,直到遍历区块链上的区块为止;对获取到的部分用户数据进行数据整理,得到用户数据。
在另一种可能的实现方式中,第一接收模块1501,还用于接收用户设备的连接请求,连接请求中携带有用户设备的身份认证信息,身份认证信息包括证书、密钥版本号和证书的有效期,身份认证信息是用户设备从用户中心获取的,用户中心用于生成和保存用户设备的身份认证信息;装置还包括:
身份认证模块,用于通过身份认证信息对用户设备进行身份认证;响应于通过密钥版本号确定证书是合法证书,以及当前时间在证书的有效期内,确定对用户设备身份认证通过。
在本公开实施例中,接收用户设备的数据请求,根据数据请求,确定用于处理数据请求的服务应用;确定当前第一服务器中服务应用的负载;响应于负载超过预设阈值,获取第一服务器的互联网协议IP地址,根据第一服务器的IP地址,确定与第一服务器距离最近的第二服务器,第二服务器未部署服务应用;获取服务应用的智能可执行程序,智能可执行程序封装有服务应用的环境程序代码和服务应用的功能程序代码;通过环境程序代码在第二服务器上部署服务应用的运行环境,以及,通过功能程序代码配置服务应用的功能模块,得到服务应用;向第二服务器发送数据请求,数据请求用于第二服务器通过已部署的服务应用处理数据请求。通过在接收到数据请求时,确定用于处理该服务请求的服务应用当前的负载大小,响应于负载超过预设阈值,向待扩容的第二服务器发送智能可执行程序,通过该智能可执行程序在第二服务器上部署服务应用以及配置服务应用的功能模块,即实现根据负载的大小,自动扩容部署服务器,大大提高了集群中服务器扩容部署的效率。另外,将数据请求发送给已部署服务应用的第二服务器处理,即集群中服务器在实现自动扩容部署服务器的同时,还实现智能分发处理请求,从而提高了数据请求的响应速度。
图16是本公开实施例提供的一种服务器扩容部署的装置的框图。装置包括:
第二接收模块1601,用于接收数据请求和智能可执行程序,数据请求用于请求用户数据,智能可执行程序封装有服务应用的环境程序代码和服务应用的功能程序代码,服务应用用于处理数据请求;
第二部署模块1602,用于通过环境程序代码,部署服务应用的运行环境,以及通过功能程序代码配置服务应用的功能模块,得到服务应用;
第二获取模块1603,用于调用服务应用,从用于存储用户数据的区块链中获取用户数据;
第二发送模块1604,用于向用户设备发送用户数据。
在本公开实施例中,服务器接受智能可执行程序后就地部署容器环境并将本服务器资源共享,并且普通客户端也可以通过运行智能可执行程序的形式加入服务器扩容响应,极大提高了服务器的部署效率、稳定可持续的提高应用可服务性能空间,适用于即请求即处理的应用服务。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的服务器扩容部署的装置在进行服务器扩容部署时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的服务器扩容部署的装置与服务器扩容部署的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图17是本公开实施例提供的一种服务器的结构示意图,该服务器1700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)1701和一个或一个以上的存储器1702,其中,所述存储器1702中存储有至少一条指令,所述至少一条指令由所述处理器1701加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由服务器中的处理器执行以完成上述实施例中服务器扩容部署的方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (11)
1.一种服务器扩容部署的方法,其特征在于,所述方法包括:
接收域名服务器发送的数据请求,根据所述数据请求,确定用于处理所述数据请求的服务应用;
确定当前第一服务器中所述服务应用的负载;
响应于所述负载超过预设阈值,获取所述第一服务器的互联网协议IP地址,根据所述第一服务器的IP地址,确定与所述第一服务器距离最近的第二服务器,所述第二服务器未部署所述服务应用;
获取所述服务应用的智能可执行程序,所述智能可执行程序封装有所述服务应用的环境程序代码和所述服务应用的功能程序代码,所述智能可执行程序具有自动运行的特性;
向所述第二服务器发送所述智能可执行程序,所述第二服务器用于自动运行所述智能可执行程序,通过所述环境程序代码在所述第二服务器上部署所述服务应用的运行环境,以及,通过所述功能程序代码配置所述服务应用的功能模块,得到所述服务应用;
向所述第二服务器发送所述数据请求,所述第二服务器用于通过已部署的所述服务应用处理所述数据请求;
所述域名服务器用于接收用户设备的所述数据请求,所述数据请求携带有所述用户设备的互联网协议IP地址;通过所述用户设备的IP地址确定与所述用户设备距离最近的第三服务器;响应于所述第三服务器未部署用于处理所述数据请求的服务应用,通过二次探查法生成IP地址的探查序列,所述探查序列的初始IP地址为所述第三服务器的IP地址;依次查找所述探查序列中的IP地址对应的服务器,直到找到部署有所述服务应用的第一服务器,向所述第一服务器发送所述数据请求。
2.根据权利要求1所述的方法,其特征在于,所述数据请求用于请求用户数据,并且所述数据请求携带用户标识和所述用户设备的IP地址;所述方法还包括:
响应于所述负载未超过所述预设阈值,调用所述服务应用,根据所述用户标识和所述用户设备的IP地址,从用于存储所述用户数据的区块链中获取所述用户数据;
向所述用户设备发送所述用户数据。
3.根据权利要求2所述的方法,其特征在于,所述数据请求还携带所述用户数据的密钥;所述根据所述用户标识和所述用户设备的IP地址,从用于存储所述用户数据的区块链中获取所述用户数据,包括:
根据所述用户标识和所述用户设备的IP地址,从数据标识库中获取所述区块链中第一区块的区块标识;
根据所述用户标识、所述密钥和所述第一区块的区块标识,从所述第一区块的加密的数据区块中获取部分所述用户数据和第二区块的区块标识;
根据所述用户标识、所述密钥和所述第二区块的区块标识,从所述第二区块的加密的数据区块中获取部分所述用户数据,直到遍历所述区块链上的区块为止;
对获取到的部分所述用户数据进行数据整理,得到所述用户数据。
4.根据权利要求1所述的方法,其特征在于,所述接收域名服务器发送的数据请求之前,所述方法还包括:
接收所述用户设备的连接请求,所述连接请求中携带有所述用户设备的身份认证信息,所述身份认证信息包括证书、密钥版本号和证书的有效期,所述身份认证信息是所述用户设备从用户中心获取的,所述用户中心用于生成和保存用户设备的身份认证信息;
通过所述身份认证信息对所述用户设备进行身份认证;
响应于通过所述密钥版本号确定所述证书是合法证书,以及当前时间在所述证书的有效期内,确定对所述用户设备身份认证通过。
5.一种服务器扩容部署的方法,其特征在于,所述方法包括:
接收第一服务器发送的数据请求和智能可执行程序,所述数据请求用于请求用户数据,所述智能可执行程序封装有服务应用的环境程序代码和所述服务应用的功能程序代码,所述智能可执行程序具有自动运行的特性,所述服务应用用于处理所述数据请求;
自动运行所述智能可执行程序,通过所述环境程序代码,部署所述服务应用的运行环境,以及通过所述功能程序代码配置所述服务应用的功能模块,得到所述服务应用;
调用所述服务应用,从用于存储所述数据请求对应的用户数据的区块链中获取所述用户数据,向用户设备发送所述用户数据;
所述第一服务器用于接收域名服务器发送的所述数据请求,根据所述数据请求,确定用于处理所述数据请求的所述服务应用;确定当前所述第一服务器中所述服务应用的负载;响应于所述负载超过预设阈值,获取所述第一服务器的互联网协议IP地址,根据所述第一服务器的IP地址,确定与所述第一服务器距离最近的第二服务器,所述第二服务器未部署所述服务应用;获取所述服务应用的智能可执行程序;向所述第二服务器发送所述智能可执行程序和所述数据请求;
所述域名服务器用于接收所述用户设备的所述数据请求,所述数据请求携带有所述用户设备的互联网协议IP地址;通过所述用户设备的IP地址确定与所述用户设备距离最近的第三服务器;响应于所述第三服务器未部署用于处理所述数据请求的服务应用,通过二次探查法生成IP地址的探查序列,所述探查序列的初始IP地址为所述第三服务器的IP地址;依次查找所述探查序列中的IP地址对应的服务器,直到找到部署有所述服务应用的第一服务器,向所述第一服务器发送所述数据请求。
6.一种服务器扩容部署的方法,其特征在于,所述方法包括:
接收用户设备的数据请求,所述数据请求携带有所述用户设备的互联网协议IP地址;
通过所述用户设备的IP地址确定与所述用户设备距离最近的第三服务器;
响应于所述第三服务器未部署用于处理所述数据请求的服务应用,通过二次探查法生成IP地址的探查序列,所述探查序列的初始IP地址为所述第三服务器的IP地址;
依次查找所述探查序列中的IP地址对应的服务器,直到找到部署有所述服务应用的第一服务器;
向所述第一服务器转发所述数据请求;
所述第一服务器用于接收所述数据请求,根据所述数据请求,确定用于处理所述数据请求的所述服务应用;确定当前所述第一服务器中所述服务应用的负载;响应于所述负载超过预设阈值,获取所述第一服务器的互联网协议IP地址,根据所述第一服务器的IP地址,确定与所述第一服务器距离最近的第二服务器,所述第二服务器未部署所述服务应用;获取所述服务应用的智能可执行程序,所述智能可执行程序封装有所述服务应用的环境程序代码和所述服务应用的功能程序代码,所述智能可执行程序具有自动运行的特性;向所述第二服务器发送所述智能可执行程序;
所述第二服务器用于自动运行所述智能可执行程序,通过所述环境程序代码在所述第二服务器上部署所述服务应用的运行环境,以及,通过所述功能程序代码配置所述服务应用的功能模块,得到所述服务应用;
所述第一服务器还用于向所述第二服务器发送所述数据请求,所述第二服务器用于通过已部署的所述服务应用处理所述数据请求。
7.一种服务器扩容部署的装置,其特征在于,所述装置包括:
第一接收模块,用于接收域名服务器发送的数据请求,根据所述数据请求,确定用于处理所述数据请求的服务应用;
第一确定模块,用于确定当前第一服务器中所述服务应用的负载;
所述第一确定模块,还用于响应于所述负载超过预设阈值,获取所述第一服务器的互联网协议IP地址,根据所述第一服务器的IP地址,确定与所述第一服务器距离最近的第二服务器,所述第二服务器未部署所述服务应用;
第一获取模块,用于获取所述服务应用的智能可执行程序,所述智能可执行程序封装有所述服务应用的环境程序代码和所述服务应用的功能程序代码,所述智能可执行程序具有自动运行的特性;
第一部署模块,用于向所述第二服务器发送所述智能可执行程序,所述第二服务器用于自动运行所述智能可执行程序,通过所述环境程序代码在所述第二服务器上部署所述服务应用的运行环境,以及,通过所述功能程序代码配置所述服务应用的功能模块,得到所述服务应用;
第一发送模块,用于向所述第二服务器发送所述数据请求,所述第二服务器用于通过已部署的所述服务应用处理所述数据请求;
所述域名服务器用于接收用户设备的数据请求,所述数据请求携带有所述用户设备的互联网协议IP地址;通过所述用户设备的IP地址确定与所述用户设备距离最近的第三服务器;响应于所述第三服务器未部署用于处理所述数据请求的服务应用,通过二次探查法生成IP地址的探查序列,所述探查序列的初始IP地址为所述第三服务器的IP地址;依次查找所述探查序列中的IP地址对应的服务器,直到找到部署有所述服务应用的第一服务器,向所述第一服务器发送所述数据请求。
8.一种服务器扩容部署的装置,其特征在于,所述装置包括:
第二接收模块,用于接收第一服务器发送的数据请求和智能可执行程序,所述数据请求用于请求用户数据,所述智能可执行程序封装有服务应用的环境程序代码和所述服务应用的功能程序代码,所述智能可执行程序具有自动运行的特性,所述服务应用用于处理所述数据请求;
第二部署模块,用于自动运行所述智能可执行程序,通过所述环境程序代码,部署所述服务应用的运行环境,以及通过所述功能程序代码配置所述服务应用的功能模块,得到所述服务应用;
第二获取模块,用于调用所述服务应用,从用于存储所述数据请求对应的用户数据的区块链中获取所述用户数据;
第二发送模块,用于向用户设备发送所述用户数据;
所述第一服务器用于接收域名服务器发送的所述数据请求,根据所述数据请求,确定用于处理所述数据请求的所述服务应用;确定当前所述第一服务器中所述服务应用的负载;响应于所述负载超过预设阈值,获取所述第一服务器的互联网协议IP地址,根据所述第一服务器的IP地址,确定与所述第一服务器距离最近的第二服务器,所述第二服务器未部署所述服务应用;获取所述服务应用的智能可执行程序;向所述第二服务器发送所述智能可执行程序和所述数据请求;
所述域名服务器用于接收所述用户设备的所述数据请求,所述数据请求携带有所述用户设备的互联网协议IP地址;通过所述用户设备的IP地址确定与所述用户设备距离最近的第三服务器;响应于所述第三服务器未部署用于处理所述数据请求的服务应用,通过二次探查法生成IP地址的探查序列,所述探查序列的初始IP地址为所述第三服务器的IP地址;依次查找所述探查序列中的IP地址对应的服务器,直到找到部署有所述服务应用的第一服务器,向所述第一服务器发送所述数据请求。
9.一种服务器扩容部署的装置,其特征在于,所述装置包括:
第三接收模块,用于接收用户设备的数据请求,所述数据请求携带有所述用户设备的互联网协议IP地址;
第二确定模块,用于通过所述用户设备的IP地址确定与所述用户设备距离最近的第三服务器;
生成模块,用于响应于所述第三服务器未部署用于处理所述数据请求的服务应用,通过二次探查法生成IP地址的探查序列,所述探查序列的初始IP地址为所述第三服务器的IP地址;
查找模块,用于依次查找所述探查序列中的IP地址对应的服务器,直到找到部署有所述服务应用的第一服务器;
第三发送模块,用于向所述第一服务器转发所述数据请求;
所述第一服务器用于接收所述数据请求,根据所述数据请求,确定用于处理所述数据请求的所述服务应用;确定当前所述第一服务器中所述服务应用的负载;响应于所述负载超过预设阈值,获取所述第一服务器的互联网协议IP地址,根据所述第一服务器的IP地址,确定与所述第一服务器距离最近的第二服务器,所述第二服务器未部署所述服务应用;获取所述服务应用的智能可执行程序,所述智能可执行程序封装有所述服务应用的环境程序代码和所述服务应用的功能程序代码,所述智能可执行程序具有自动运行的特性;向所述第二服务器发送所述智能可执行程序;
所述第二服务器用于自动运行所述智能可执行程序,通过所述环境程序代码在所述第二服务器上部署所述服务应用的运行环境,以及,通过所述功能程序代码配置所述服务应用的功能模块,得到所述服务应用;
所述第一服务器还用于向所述第二服务器发送所述数据请求,所述第二服务器用于通过已部署的所述服务应用处理所述数据请求。
10.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至权利要求6任一项所述的服务器扩容部署的方法所执行的操作。
11.一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述指令由服务器中的处理器加载并执行以实现如权利要求1至权利要求6任一项所述的服务器扩容部署的方法中所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010084278.7A CN111343002B (zh) | 2020-02-10 | 2020-02-10 | 服务器扩容部署的方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010084278.7A CN111343002B (zh) | 2020-02-10 | 2020-02-10 | 服务器扩容部署的方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111343002A CN111343002A (zh) | 2020-06-26 |
CN111343002B true CN111343002B (zh) | 2021-10-15 |
Family
ID=71180082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010084278.7A Active CN111343002B (zh) | 2020-02-10 | 2020-02-10 | 服务器扩容部署的方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111343002B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753534A (zh) * | 2008-12-10 | 2010-06-23 | 徐文祥 | 基于集群服务器的分区自适应网络系统及其构建方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020178254A1 (en) * | 2001-05-23 | 2002-11-28 | International Business Machines Corporation | Dynamic deployment of services in a computing network |
US20090133129A1 (en) * | 2006-03-06 | 2009-05-21 | Lg Electronics Inc. | Data transferring method |
CN103546542B (zh) * | 2013-09-29 | 2017-01-04 | 北京航空航天大学 | 服务器负载均衡方法和装置 |
CN106095483A (zh) * | 2016-05-31 | 2016-11-09 | 乐视控股(北京)有限公司 | 服务的自动化部署方法及装置 |
-
2020
- 2020-02-10 CN CN202010084278.7A patent/CN111343002B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753534A (zh) * | 2008-12-10 | 2010-06-23 | 徐文祥 | 基于集群服务器的分区自适应网络系统及其构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111343002A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111625593B (zh) | 基于区块链的数据处理方法、装置、计算机设备 | |
EP2380324B1 (en) | Secure node identifier assignment in a distributed hash table for peer-to-peer networks | |
CN108683747A (zh) | 资源获取、分发、下载方法、装置、设备及存储介质 | |
US11303431B2 (en) | Method and system for performing SSL handshake | |
EP3477561A1 (en) | System for goods delivery | |
EP4191498A1 (en) | Data communication method and apparatus, computer device, and storage medium | |
CN110059055B (zh) | 一种基于分布式私有云的文件存储及读取方法及装置 | |
CN113259460B (zh) | 跨链交互方法及装置 | |
CN111597567B (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN112600671B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN113259453B (zh) | 跨链交互方法及装置 | |
CN111461720A (zh) | 基于区块链的身份验证方法、装置、存储介质及电子设备 | |
CN113922971A (zh) | 跨链交互方法及装置 | |
WO2024001022A1 (zh) | 跨子网调用 | |
CN111401904B (zh) | 联盟链中的共识方法和系统 | |
CN113259454B (zh) | 跨链交互方法及装置 | |
CN111866993B (zh) | 无线局域网连接管理方法、装置、软件程序及存储介质 | |
JP2019161580A (ja) | データ送信装置、データ送受信システム、データ受信装置、データ送信方法、プログラム | |
CN111343002B (zh) | 服务器扩容部署的方法、装置及服务器 | |
CN113067838B (zh) | 跨链交互方法及装置 | |
CN112231415B (zh) | 区块链网络的数据同步方法、系统、电子设备及可读介质 | |
CN103685367A (zh) | 离线下载系统和方法 | |
KR102331237B1 (ko) | 위임된 노드 증명방식 기반 보안 데이터 전송방법 | |
CN114172668B (zh) | 一种基于数字证书的群成员管理方法和系统 | |
EP3182675B1 (en) | Transmission of data in a distributed data processing computer system |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40024780 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |