一种信息资源远程部署的方法及系统技术方案

技术编号:8536687 阅读:166 留言:0更新日期:2013-04-04 21:30
本发明专利技术适用于信息处理领域,提供了一种信息资源远程部署的方法及系统,所述方法包括:客户端监测服务端是否存在需要部署到客户端的部署包,并在存在时,通过代理服务器向服务端发送部署请求;服务端接收代理服务器发送的部署请求,获取预存的部署信息及对应的部署包,并将所述部署信息以及对应的部署包发送给代理服务器,代理服务器根据所述部署信息将所述部署包发送给对应的客户端;客户端接收代理服务器发送的部署包,解压所述部署包执行相应的部署脚本,并将部署脚本执行的结果通过代理服务器反馈给服务端。本发明专利技术通过代理服务器降低了服务端和客户端的资源占用率,提高了信息资源远程部署的效率和稳定性。

【技术实现步骤摘要】
一种信息资源远程部署的方法及系统
本专利技术属于信息处理领域,尤其涉及一种信息资源远程部署的方法及系统。
技术介绍
随着互联网的迅速发展,越来越多的网络应用需要大量的服务器进行支撑,服务器的数量达到成百上千台的情况也越来越常见。因此,如何快速、准确的将各种信息资源 (例如软件包、配置信息等)部署到指定的服务器上成为行业亟需解决的问题。现有技术大多采用一台主控服务器向所有被控服务器推送软件包或者配置信息, 容易造成主控服务器的资源占用率过高,影响部署效率。而且,当多个被控服务器同时向主控服务器发起基于安全壳(Secure Shell, SSH)的远程访问时,容易造成主控服务器的死机,影响部署的稳定性。
技术实现思路
本专利技术实施例的目的在于提供一种信息资源远程部署的方法,旨在解决现有信息资源远程部署的效率较低、稳定性不高的问题。本专利技术实施例是这样实现的,一种信息资源远程部署的方法,所述方法包括客户端监测服务端是否存在需要部署到客户端的部署包,并在存在时,通过代理服务器向服务端发送部署请求;服务端接收代理服务器发送的部署请求,获取预存的部署信息及对应的部署包, 并根据所述部署信息将获取的部署包通过代理服务器发送给对应的客户端;客户端接收代理服务器发送的部署包,解压所述部署包执行相应的部署脚本,并将部署脚本执行的结果通过代理服务器反馈给服务端;所述部署信息包含至少一个部署包ID以及至少一个客户端IP,所述部署包ID与所述客户端IP存在映射关系。本专利技术实施例的另一目的在于提供一种信息资源远程部署的系统,所述系统包括服务端;至少一个客户端,以及至少一个代理服务器;所述服务端用于接收所述代理服务器发送的部署请求,获取预存的部署信息及对应的部署包,并将获取的部署信息以及对应的部署包发送给代理服务器; 所述客户端用于监测所述服务端是否存在需要部署到客户端的部署包,在存在时,向所述代理服务器发送部署请求,并在接收到所述代理服务器返还的部署包时,解压所述部署包执行相应的部署脚本,并将部署脚本执行的结果发送给所述代理服务器;所述代理服务器用于接收所述客户端发送的部署请求以及部署脚本执行的结果, 并将所述部署请求以及部署脚本执行的结果发送给所述服务端,接收服务端返还的部署信息以及对应的部署包,并根据所述部署信息将所述部署包发送给对应的客户端;所述部署信息包含至少一个部署包ID以及至少一个客户端IP,所述部署包ID与所述客户端IP存在映射关系。从上述方案中可以看出,本专利技术实施例包括服务端、至少一个客户端以及至少一个代理服务器,通过所述代理服务器接收所述客户端发送的部署请求,将该部署请求发送给所述服务端,并接收服务端返还的部署包,将该部署包发送给对应的客户端,通过代理服务器来负责多个客户端和服务端之间部署包和部署请求的转发,并行度高,有效减少了服务端的访问压力,降低了服务端和客户端的资源占用率,提高了信息资源远程部署的效率和稳定性。附图说明图1是本专利技术实施例一提供的信息资源远程部署系统的架构图2是本专利技术实施例二提供的信息资源远程部署方法的实现流程图3是本专利技术实施例三提供的信息资源远程部署系统中客户端的组成结构图4是本专利技术实施例四提供的信息资源远程部署系统中代理服务器的组成结构图5是本专利技术实施例五提供的信息资源远程部署系统中服务端的组成结构图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例包括服务端、至少一个客户端以及至少一个代理服务器,通过所述代理服务器接收所述客户 端发送的部署请求,将该部署请求发送给所述服务端,并接收服务端返还的部署包,将该部署包发送给对应的客户端,通过代理服务器来负责多个客户端和服务端之间部署包和部署请求的转发,并行度高,减少了服务端的访问压力,降低了服务端和客户端的资源占用率,提高了信息资源远程部署的效率和稳定性。为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。实施例一:图1示出了本专利技术实施例一提供的信息资源远程部署系统的架构,为了便于说明,仅不出了与本专利技术实施例相关的部分。在本专利技术实施例中,该信息资源远程部署系统包括服务端1、分布式设置的一个或者多个代理服务器2以及分布式设置的一个或者多个客户端3,所述客户端3与所述代理服务器2采用TCP协议通信,所述代理服务器2与所述服务端I采用TCP协议通信,其中服务端I可以是单个服务器,也可以是多个服务器组成的工作组,用于接收代理服务器2发送的部署请求,获取预存的部署信息及对应的部署包,并根据所述部署信息将获取的部署包通过所述代理服务器2发送给对应的客户端3 ;客户端3用于监测所述服务端I是否存在需要部署到客户端的部署包,在存在时, 通过所述代理服务器2向所述服务端发送部署请求,并在接收到所述代理服务器2返还的部署包时,解压所述部署包执行相应的部署脚本,并将部署脚本执行的结果通过所述代理服务器2反馈给所述服务端I ;代理服务器2用于接收所述客户端3发送的部署请求以及部署脚本执行的结果, 并将该部署请求以及部署脚本执行的结果发送给服务端1,接收服务端I返还的部署包,并将该部署包发送给对应的客户端3。实施例二 :图2示出了本专利技术实施例二提供的基于图1所示架构的信息资源远程部署方法的实现流程,该方法过程详述如下1、客户端监测服务端是否存在需要部署到客户端的部署包。在本实施例中,客户端通过用户数据报协议(User Datagram Protocol,UDP)协议定时(例如每隔15秒)监测服务端是否存在需要部署到客户端的部署包。具体的,每个客户端部署包都存在一个标识符,客户端通过linux C/C++写的 daemon程序定时监测服务端是否存在包含所述标识符的部署包。在本实施例中,由于采用UDP协议通信时,不需要建立连接,因此也不需要维护连接状态,包括收发状态等,从而保证服务端可以同时向多个客户端传输相同的消息,提高传输的效率。2、在服务端存在需要部署到客户端的部署包时,客户端向代理服务器发送部署请求。在本实施例中,在服务端存在需要部署到客户端的部署包时,客户端通过指定的代理服务器向服务端发送部署请求,所述指定的代理服务器一般指离所述客户端距离最近或/和传输效率最高的代理服务器。本实施例还包括在指定的代理服务器无法连接或者连接超时时,继续选择其他代理服务器发送部署请求 。3、代理服务器接收客户端发送的部署请求,并将所述部署请求发送给服务端。在本实施例中,代理服务器与客户端和服务端均采用TCP协议通信,所述代理服务器是一个linux C epoll TCP代理服务程序,关键代码如下for(int32_t n=0;n<nfds;n++){//轮询连接上来的请求fd(文件描述符) if(events[n].data.fd == client_fd){//如果是客户端(client 请求过来) int3 2_t recv—Ien=O; int32_t send—Ien=O; memset(bufs,'\0',sizeof(bufs));recv—len=recv(client—fd,bufs,sizeof(bufs本文档来自技高网...

【技术保护点】
一种信息资源远程部署的方法,其特征在于,所述方法包括以下步骤:客户端监测服务端是否存在需要部署到客户端的部署包,并在存在时,通过代理服务器向服务端发送部署请求;服务端接收代理服务器发送的部署请求,获取预存的部署信息及对应的部署包,并将所述部署信息以及对应的部署包发送给代理服务器,代理服务器根据所述部署信息将所述部署包发送给对应的客户端;客户端接收代理服务器发送的部署包,解压所述部署包执行相应的部署脚本,并将部署脚本执行的结果通过代理服务器反馈给服务端;所述部署信息包含至少一个部署包ID以及至少一个客户端IP,所述部署包ID与所述客户端IP存在映射关系。

【技术特征摘要】
1.一种信息资源远程部署的方法,其特征在于,所述方法包括以下步骤 客户端监测服务端是否存在需要部署到客户端的部署包,并在存在时,通过代理服务器向服务端发送部署请求; 服务端接收代理服务器发送的部署请求,获取预存的部署信息及对应的部署包,并将所述部署信息以及对应的部署包发送给代理服务器,代理服务器根据所述部署信息将所述部署包发送给对应的客户端; 客户端接收代理服务器发送的部署包,解压所述部署包执行相应的部署脚本,并将部署脚本执行的结果通过代理服务器反馈给服务端; 所述部署信息包含至少一个部署包ID以及至少一个客户端IP,所述部署包ID与所述客户端IP存在映射关系。2.如权利要求1所述的方法,其特征在于,所述客户端采用UDP协议定时监测服务端是否存在需要部署到客户端的部署包。3.如权利要求1所述的方法,其特征在于,所述方法还包括 管理前台接收用户上传的文件,将所述文件压缩成部署包,并接收用户对所述部署包发布的部署信息,将所述部署包发送给服务端,所述部署信息发送给远程数据库服务器。4.如权利要求3所述的方法,其特征在于,所述方法还包括 服务端从远程数据库服务器中获取部署信息,并将获取的部署信息存储至共享内存。5.如权利要求1所述的方法,其特征在于,所述方法还包括 服务端在将所述部署信息以及对应的部署包发送给代理服务器的同时,将所有接收部署信息以及对应的部署包的代理服务器的IP地址发送给对应的客户端。6.一种信息资源远程部署的系统,其特征在于,所述系统包括 服务端; 至少一个客户端,以及 至少一个代理服务器; 所述客户端用于监测所述服务端是否存在需要部署到客户端的部署包,在存在时,向所述代理服务器发送部署请求,并在接收到所述代理服务器返还的部署包时,解压所述部署包执行相应的部署脚本,并将部署脚本执行的结果发送给所述代理服务器; 所述服务端用于接收所述代理服务器发送的部署请求,获取预存的部署信息及对应的部署包,并将获取的部署信息以及对应的部署包发送给代理服务器; 所述代理服务器用于接收所述客户端发送的部署请求以及部署脚本执行的结果,并将所述部署请求以及部署脚本执行的结果发送给所述服务端,接收服务端返还的部署信息以及对应的部署包,并根据所述部署信息将所述部署包发送给对应的客户端; 所述部署信息包含至少一个部署包ID以及至少一个客户端IP,所述部署...

【专利技术属性】
技术研发人员:黄明鹏高鹏
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1