一种信息资源远程部署的方法及系统.pdf

上传人:Y0****01 文档编号:4743750 上传时间:2018-11-04 格式:PDF 页数:15 大小:598.88KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110279928.4

申请日:

2011.09.20

公开号:

CN103023857A

公开日:

2013.04.03

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 29/06申请日:20110920|||公开

IPC分类号:

H04L29/06; H04L29/08

主分类号:

H04L29/06

申请人:

腾讯科技(深圳)有限公司

发明人:

黄明鹏; 高鹏

地址:

518044 广东省深圳市福田区振兴路赛格科技园2栋东403室

优先权:

专利代理机构:

深圳中一专利商标事务所 44237

代理人:

张全文

PDF下载: PDF下载
内容摘要

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

权利要求书

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

说明书

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


4、服务端接收所述部署请求,获取预存的部署信息以及对应的部署包。
在本实施例中,服务端采用linux epoll C/C++写的并发多线程多进程TCP/UDP服务器程序,可以同时处理多个客户端的TCP/UDP请求和代理服务器的TCP请求。
在本实施例中,服务端接收代客户端通过理服务器发送的部署请求,获取预存的部署信息以及与部署信息对应的部署包。其中,所述部署信息包括但不局限于至少一个部署包ID或者部署包名称以及至少一个客户端IP,所述部署包ID或者部署包名称与所述客户端IP存在映射关系,所述映射关系包括一对多、多对一、一对一等。
5、服务端将获取的部署信息以及对应的部署包发送给代理服务器。
在本实施例中,服务端在将部署信息以及对应的部署包发送给代理服务器的同时,会将客户端指定的代理服务器的IP地址和其他所有接收部署信息以及对应的部署包的代理服务器的IP地址一同发送给对应的客户端(所述客户端为需要部署部署包的客户端),以便客户端在指定的代理服务器无法连接或者连接超时时,可以选择其他的代理服务器来容灾。
在本实施例中,服务端发送部署包实现的关键代码如下:


6、代理服务器接收服务端发送的部署信息以及对应的部署包,并根据所述部署信息将所述部署包发送给对应的客户端。
在本实施例中,代理服务器根据所述部署信息中客户端IP以及部署包ID与客户端IP的映射关系,将部署包发送给对应的客户端。
7、客户端接收代理服务器发送的部署包,解压所述部署包执行相应的部署脚本。
在本实施例中,客户端在接收到服务端通过代理服务器发送的部署包后,解压所述部署包,执行所述部署包中的部署脚本以及其他相关内容,比如配置文件、软件升级包等。
在本实施例中,解包执行的关键代码如下:


8、客户端将部署脚本执行的结果发送给代理服务器。
9、代理服务器将所述部署脚本执行的结果发送给服务端。
在本实施例中,执行结果包括部署成功或者部署不成功以及部署不成功的原因等。
作为本发明的另一实施例,为了增强系统的实用性,方便信息资源部署的管理,系统还包括一管理前台:
所述管理前台接收用户上传的文件,将所述文件压缩成部署包,并接收用户对所述部署包发布的部署信息,将所述部署包发送给服务端,所述部署信息发送给远程数据库服务器。
在本实施例中,所述文件包括但不局限于编译后的可执行文件,所述部署包的格式包括但不局限于tar、zip格式等。
进一步的,为了减轻服务端的访问压力,更好的管理部署信息,系统还包括一远程数据库服务器,用于存储用户发布的部署信息。
进一步的,为了方便服务端的其他服务器获取部署信息,所述方法还包括:
服务端从远程数据库服务器中获取部署信息,并将获取的部署信息存储至共享内存。
进一步的,为了保证部署信息的同步以及实时更新,所述方法还包括:
服务端在接收到代理服务器发送的所述部署脚本执行结果后,更新远程数据库服务器中的部署信息。例如:对已执行的部署信息进行修改或者删除。
实施例三:
图3示出了本发明实施例三提供的信息资源远程部署系统中客户端的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该信息资源远程部署系统中的客户端包括:
监测单元31,用于监测所述服务端是否存在需要部署到客户端的部署包;
第一发送单元32,用于在服务端存在需要部署到客户端的部署包时,向所述代理服务器发送部署请求;
第一接收单元33,用于接收所述代理服务器返还的部署包;
信息反馈单元34,用于解压所述部署包执行相应的部署脚本,并将部署脚本执行的结果发送给所述代理服务器。
在本实施例中,各单元的具体实施过程可参考上述信息资源远程部署方法中的相关步骤,在此不再赘述。
实施例四:
图4示出了本发明实施例四提供的信息资源远程部署系统中代理服务器的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该信息资源远程部署系统中的代理服务器包括:
第三接收单元21,用于接收所述客户端发送的部署请求;
第三发送单元22,用于将所述部署请求发送给所述服务端;
第四接收单元23,用于接收服务端返还的部署信息以及对应的部署包;
第四发送单元24,用于根据所述部署信息将所述部署包发送给对应的客户端;
第五接收单元25,用于接收所述客户端发送的部署脚本执行的结果;
第五发送单元26,用于将所述部署脚本执行的结果发送给所述服务端。
在本实施例中,各单元的具体实施过程可参考上述信息资源远程部署方法中的相关步骤,在此不再赘述。
实施例五:
图5示出了本发明实施例五提供的信息资源远程部署系统中服务端的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该信息资源远程部署系统中的服务端包括:
第二接收单元11,用于接收所述代理服务器发送的部署请求;
获取单元12,用于获取预存的部署信息及对应的部署包;
第二发送单元13,用于将获取的部署信息以及对应的部署包发送给代理服务器;
第六接收单元14,用于接收代理服务器发送的所述部署脚本执行的结果。
在本实施例中,各单元的具体实施过程可参考上述信息资源远程部署方法中的相关步骤,在此不再赘述。
作为本发明的另一实施例,为了减轻服务端的访问压力,更好的管理部署信息,该信息资源远程部署系统还包括一远程数据库服务器,所述远程数据库服务器与所述服务端连接通信,用于存储用户发布的部署信息。
作为本发明的另一实施例,为了增强系统的实用性,方便信息资源部署的管理,所述信息资源远程部署系统还包括一管理前台,所述管理前台为用户提供人机交互界面,用于接收用户上传的文件,将所述文件压缩成部署包,并接收用户对所述部署包发布的部署信息,将所述部署包发送给服务端,所述部署信息发送给远程数据库服务器。
作为本发明的另一实施例,为了方便服务端的其他服务器获取部署信息,所述信息资源远程部署系统中的服务端还包括:
存储单元15,用于从远程数据库服务器中获取部署信息,并将获取的部署信息存储至共享内存。
进一步的,为了方便客户端在指定的代理服务器无法连接或者连接超时时,可以选择其他的代理服务器来容灾,所述信息资源远程部署系统中的服务端还包括:
IP地址发送单元16,用于在将所述部署信息以及对应的部署包发送给代理服务器的同时,将客户端指定的代理服务器的IP地址和其他所有接收部署信息以及对应的部署包的代理服务器的IP地址一同发送给对应的客户端,所述客户端为需要部署部署包的客户端。
进一步的,为了保证部署信息的同步以及实时更新,所述信息资源远程部署系统还包括:
更新单元,用于在接收到代理服务器发送的所述部署脚本执行结果后,更新远程数据库服务器中的部署信息。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
本发明实施例包括服务端、至少一个客户端以及至少一个代理服务器,通过客户端监测服务端是否存在需要部署到客户端的部署包,并在存在时,通过代理服务器向服务端发送部署请求,服务端接收代理服务器发送的部署请求,获取预存的部署信息及对应的部署包,并根据所述部署信息将获取的部署包通过代理服务器发送给对应的客户端,客户端接收代理服务器发送的部署包,解压所述部署包执行相应的部署脚本,并将部署脚本执行的结果通过代理服务器反馈给服务端。本发明主要通过代理服务器来负责多个客户端和服务端之间部署包和部署请求的转发,并行度高,减少了服务端的访问压力,降低了服务端和客户端的资源占用率,提高了信息资源远程部署的效率和稳定性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

一种信息资源远程部署的方法及系统.pdf_第1页
第1页 / 共15页
一种信息资源远程部署的方法及系统.pdf_第2页
第2页 / 共15页
一种信息资源远程部署的方法及系统.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《一种信息资源远程部署的方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种信息资源远程部署的方法及系统.pdf(15页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103023857 A (43)申请公布日 2013.04.03 CN 103023857 A *CN103023857A* (21)申请号 201110279928.4 (22)申请日 2011.09.20 H04L 29/06(2006.01) H04L 29/08(2006.01) (71)申请人 腾讯科技 (深圳) 有限公司 地址 518044 广东省深圳市福田区振兴路赛 格科技园 2 栋东 403 室 (72)发明人 黄明鹏 高鹏 (74)专利代理机构 深圳中一专利商标事务所 44237 代理人 张全文 (54) 发明名称 一种信息资源远程部署的方法及系统 。

2、(57) 摘要 本发明适用于信息处理领域, 提供了一种信 息资源远程部署的方法及系统, 所述方法包括 : 客户端监测服务端是否存在需要部署到客户端的 部署包, 并在存在时, 通过代理服务器向服务端发 送部署请求 ; 服务端接收代理服务器发送的部署 请求, 获取预存的部署信息及对应的部署包, 并将 所述部署信息以及对应的部署包发送给代理服务 器, 代理服务器根据所述部署信息将所述部署包 发送给对应的客户端 ; 客户端接收代理服务器发 送的部署包, 解压所述部署包执行相应的部署脚 本, 并将部署脚本执行的结果通过代理服务器反 馈给服务端。本发明通过代理服务器降低了服务 端和客户端的资源占用率, 提。

3、高了信息资源远程 部署的效率和稳定性。 (51)Int.Cl. 权利要求书 2 页 说明书 10 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 10 页 附图 2 页 1/2 页 2 1. 一种信息资源远程部署的方法, 其特征在于, 所述方法包括以下步骤 : 客户端监测服务端是否存在需要部署到客户端的部署包, 并在存在时, 通过代理服务 器向服务端发送部署请求 ; 服务端接收代理服务器发送的部署请求, 获取预存的部署信息及对应的部署包, 并将 所述部署信息以及对应的部署包发送给代理服务器, 代理服务器根据所述部署信息将所述 部署包发送。

4、给对应的客户端 ; 客户端接收代理服务器发送的部署包, 解压所述部署包执行相应的部署脚本, 并将部 署脚本执行的结果通过代理服务器反馈给服务端 ; 所述部署信息包含至少一个部署包 ID 以及至少一个客户端 IP, 所述部署包 ID 与所述 客户端 IP 存在映射关系。 2.如权利要求1所述的方法, 其特征在于, 所述客户端采用UDP协议定时监测服务端是 否存在需要部署到客户端的部署包。 3. 如权利要求 1 所述的方法, 其特征在于, 所述方法还包括 : 管理前台接收用户上传的文件, 将所述文件压缩成部署包, 并接收用户对所述部署包 发布的部署信息, 将所述部署包发送给服务端, 所述部署信息发。

5、送给远程数据库服务器。 4. 如权利要求 3 所述的方法, 其特征在于, 所述方法还包括 : 服务端从远程数据库服务器中获取部署信息, 并将获取的部署信息存储至共享内存。 5. 如权利要求 1 所述的方法, 其特征在于, 所述方法还包括 : 服务端在将所述部署信息以及对应的部署包发送给代理服务器的同时, 将所有接收部 署信息以及对应的部署包的代理服务器的 IP 地址发送给对应的客户端。 6. 一种信息资源远程部署的系统, 其特征在于, 所述系统包括 : 服务端 ; 至少一个客户端, 以及 至少一个代理服务器 ; 所述客户端用于监测所述服务端是否存在需要部署到客户端的部署包, 在存在时, 向 所。

6、述代理服务器发送部署请求, 并在接收到所述代理服务器返还的部署包时, 解压所述部 署包执行相应的部署脚本, 并将部署脚本执行的结果发送给所述代理服务器 ; 所述服务端用于接收所述代理服务器发送的部署请求, 获取预存的部署信息及对应的 部署包, 并将获取的部署信息以及对应的部署包发送给代理服务器 ; 所述代理服务器用于接收所述客户端发送的部署请求以及部署脚本执行的结果, 并将 所述部署请求以及部署脚本执行的结果发送给所述服务端, 接收服务端返还的部署信息以 及对应的部署包, 并根据所述部署信息将所述部署包发送给对应的客户端 ; 所述部署信息包含至少一个部署包 ID 以及至少一个客户端 IP, 所。

7、述部署包 ID 与所述 客户端 IP 存在映射关系。 7. 如权利要求 6 所述的系统, 其特征在于, 所述系统的客户端包括 : 监测单元, 用于监测所述服务端是否存在需要部署到客户端的部署包 ; 第一发送单元, 用于在服务端存在需要部署到客户端的部署包时, 向所述代理服务器 发送部署请求 ; 第一接收单元, 用于接收所述代理服务器返还的部署包 ; 权 利 要 求 书 CN 103023857 A 2 2/2 页 3 信息反馈单元, 用于解压所述部署包执行相应的部署脚本, 并将部署脚本执行的结果 发送给所述代理服务器。 8. 如权利要求 6 所述的系统, 其特征在于, 所述系统的服务端包括 :。

8、 第二接收单元, 用于接收所述代理服务器发送的部署请求 ; 获取单元, 用于获取预存的部署信息及对应的部署包 ; 第二发送单元, 用于将获取的部署信息以及对应的部署包发送给代理服务 器 ; 第六接收单元, 用于接收代理服务器发送的所述部署脚本执行的结果。 9. 如权利要求 6 所述的系统, 其特征在于, 所述系统的代理服务器包括 : 第三接收单元, 用于接收所述客户端发送的部署请求 ; 第三发送单元, 用于将所述部署请求发送给所述服务端 ; 第四接收单元, 用于接收服务端返还的部署信息以及对应的部署包 ; 第四发送单元, 用于根据所述部署信息将所述部署包发送给对应的客户端 ; 第五接收单元, 。

9、用于接收所述客户端发送的部署脚本执行的结果 ; 第五发送单元, 用于将所述部署脚本执行的结果发送给所述服务端。 10. 如权利要求 6 所述的系统, 其特征在于, 所述客户端采用 UDP 协议定时监测服务端 是否存在需要部署到客户端的部署包。 11. 如权利要求 6 所述的系统, 其特征在于, 所述系统还包括远程数据库服务器, 所述远程数据库服务器与所述服务端连接通信, 用于存储用户发布的部署信息。 12. 如权利要求 11 所述的系统, 其特征在于, 所述系统还包括 : 管理前台, 用于接收用户上传的文件, 将所述文件压缩成部署包, 并接收用户对所述部 署包发布的部署信息, 将所述部署包发送。

10、给服务端, 所述部署信息发送给远程数据库服务 器。 13. 如权利要求 12 所述的系统, 其特征在于, 所述系统的服务端还包括 : 存储单元, 用于从远程数据库服务器中获取部署信息, 并将获取的部署信息存储至共 享内存。 14. 如权利要求 6 所述的系统, 其特征在于, 所述系统的服务端还包括 : IP 地址发送单元, 用于在将所述部署信息以及对应的部署包发送给代理服务器的同 时, 将所有接收部署信息以及对应的部署包的代理服务器的IP地址发送给对应的客户端。 权 利 要 求 书 CN 103023857 A 3 1/10 页 4 一种信息资源远程部署的方法及系统 技术领域 0001 本发明。

11、属于信息处理领域, 尤其涉及一种信息资源远程部署的方法及系统。 背景技术 0002 随着互联网的迅速发展, 越来越多的网络应用需要大量的服务器进行支撑, 服务 器的数量达到成百上千台的情况也越来越常见。因此, 如何快速、 准确的将各种信息资源 ( 例如 : 软件包、 配置信息等 ) 部署到指定的服务器上成为行业亟需解决的问题。 0003 现有技术大多采用一台主控服务器向所有被控服务器推送软件包或者配置信息, 容易造成主控服务器的资源占用率过高, 影响部署效率。 而且, 当多个被控服务器同时向主 控服务器发起基于安全壳 (Secure Shell, SSH) 的远程访问时, 容易造成主控服务器的。

12、死 机, 影响部署的稳定性。 发明内容 0004 本发明实施例的目的在于提供一种信息资源远程部署的方法, 旨在解决现有信息 资源远程部署的效率较低、 稳定性不高的问题。 0005 本发明实施例是这样实现的, 一种信息资源远程部署的方法, 所述方法包括 : 0006 客户端监测服务端是否存在需要部署到客户端的部署包, 并在存在时, 通过代理 服务器向服务端发送部署请求 ; 0007 服务端接收代理服务器发送的部署请求, 获取预存的部署信息及对应的部署包, 并根据所述部署信息将获取的部署包通过代理服务器发送给对应的客户端 ; 0008 客户端接收代理服务器发送的部署包, 解压所述部署包执行相应的部。

13、署脚本, 并 将部署脚本执行的结果通过代理服务器反馈给服务端 ; 0009 所述部署信息包含至少一个部署包 ID 以及至少一个客户端 IP, 所述部署包 ID 与 所述客户端 IP 存在映射关系。 0010 本发明实施例的另一目的在于提供一种信息资源远程部署的系统, 所述系统包 括 : 0011 服务端 ; 0012 至少一个客户端, 以及 0013 至少一个代理服务器 ; 0014 所述服务端用于接收所述代理服务器发送的部署请求, 获取预存的部署信息及对 应的部署包, 并将获取的部署信息以及对应的部署包发送给代理服务器 ; 0015 所述客户端用于监测所述服务端是否存在需要部署到客户端的部署。

14、包, 在存在 时, 向所述代理服务器发送部署请求, 并在接收到所述代理服务器返还的部署包时, 解压所 述部署包执行相应的部署脚本, 并将部署脚本执行的结果发送给所述代理服务器 ; 0016 所述代理服务器用于接收所述客户端发送的部署请求以及部署脚本执行的结果, 并将所述部署请求以及部署脚本执行的结果发送给所述服务端, 接收服务端返还的部署信 说 明 书 CN 103023857 A 4 2/10 页 5 息以及对应的部署包, 并根据所述部署信息将所述部署包发送给对应的客户端 ; 0017 所述部署信息包含至少一个部署包 ID 以及至少一个客户端 IP, 所述部署包 ID 与 所述客户端 IP 。

15、存在映射关系。 0018 从上述方案中可以看出, 本发明实施例包括服务端、 至少一个客户端以及至少一 个代理服务器, 通过所述代理服务器接收所述客户端发送的部署请求, 将该部署请求发送 给所述服务端, 并接收服务端返还的部署包, 将该部署包发送给对应的客户端, 通过代理服 务器来负责多个客户端和服务端之间部署包和部署请求的转发, 并行度高, 有效减少了服 务端的访问压力, 降低了服务端和客户端的资源占用率, 提高了信息资源远程部署的效率 和稳定性。 附图说明 0019 图 1 是本发明实施例一提供的信息资源远程部署系统的架构图 ; 0020 图 2 是本发明实施例二提供的信息资源远程部署方法的。

16、实现流程图 ; 0021 图 3 是本发明实施例三提供的信息资源远程部署系统中客户端的组成结构图 ; 0022 图 4 是本发明实施例四提供的信息资源远程部署系统中代理服务器的组成结构 图 ; 0023 图 5 是本发明实施例五提供的信息资源远程部署系统中服务端的组成结构图。 具体实施方式 0024 为了使本发明的目的、 技术方案及优点更加清楚明白, 以下结合附图及实施例, 对 本发明进行进一步详细说明。 应当理解, 此处所描述的具体实施例仅仅用以解释本发明, 并 不用于限定本发明。 0025 本发明实施例包括服务端、 至少一个客户端以及至少一个代理服务器, 通过所述 代理服务器接收所述客户端。

17、发送的部署请求, 将该部署请求发送给所述服务端, 并接收服 务端返还的部署包, 将该部署包发送给对应的客户端, 通过代理服务器来负责多个客户端 和服务端之间部署包和部署请求的转发, 并行度高, 减少了服务端的访问压力, 降低了服务 端和客户端的资源占用率, 提高了信息资源远程部署的效率和稳定性。 0026 为了说明本发明所述的技术方案, 下面通过具体实施例来进行说明。 0027 实施例一 : 0028 图 1 示出了本发明实施例一提供的信息资源远程部署系统的架构, 为了便于说 明, 仅示出了与本发明实施例相关的部分。 0029 在本发明实施例中, 该信息资源远程部署系统包括服务端 1、 分布式。

18、设置的一个或 者多个代理服务器2以及分布式设置的一个或者多个客户端3, 所述客户端3与所述代理服 务器 2 采用 TCP 协议通信, 所述代理服务器 2 与所述服务端 1 采用 TCP 协议通信, 其中 : 0030 服务端 1 可以是单个服务器, 也可以是多个服务器组成的工作组, 用于接收代理 服务器 2 发送的部署请求, 获取预存的部署信息及对应的部署包, 并根据所述部署信息将 获取的部署包通过所述代理服务器 2 发送给对应的客户端 3 ; 0031 客户端3用于监测所述服务端1是否存在需要部署到客户端的部署包, 在存在时, 通过所述代理服务器 2 向所述服务端发送部署请求, 并在接收到所。

19、述代理服务器 2 返还的 说 明 书 CN 103023857 A 5 3/10 页 6 部署包时, 解压所述部署包执行相应的部署脚本, 并将部署脚本执行的结果通过所述代理 服务器 2 反馈给所述服务端 1 ; 0032 代理服务器 2 用于接收所述客户端 3 发送的部署请求以及部署脚本执行的结果, 并将该部署请求以及部署脚本执行的结果发送给服务端 1, 接收服务端 1 返还的部署包, 并 将该部署包发送给对应的客户端 3。 0033 实施例二 : 0034 图2示出了本发明实施例二提供的基于图1所示架构的信息资源远程部署方法的 实现流程, 该方法过程详述如下 : 0035 1、 客户端监测服。

20、务端是否存在需要部署到客户端的部署包。 0036 在本实施例中, 客户端通过用户数据报协议(User Datagram Protocol, UDP)协议 定时 ( 例如 : 每隔 15 秒 ) 监测服务端是否存在需要部署到客户端的部署包。 0037 具体的, 每个客户端部署包都存在一个标识符, 客户端通过 linux C/C+ 写的 daemon 程序定时监测服务端是否存在包含所述标识符的部署包。 0038 在本实施例中, 由于采用 UDP 协议通信时, 不需要建立连接, 因此也不需要维护连 接状态, 包括收发状态等, 从而保证服务端可以同时向多个客户端传输相同的消息, 提高传 输的效率。 0。

21、039 2、 在服务端存在需要部署到客户端的部署包时, 客户端向代理服务器发送部署请 求。 0040 在本实施例中, 在服务端存在需要部署到客户端的部署包时, 客户端通过指定的 代理服务器向服务端发送部署请求, 所述指定的代理服务器一般指离所述客户端距离最近 或 / 和传输效率最高的代理服务器。 0041 本实施例还包括在指定的代理服务器无法连接或者连接超时时, 继续选择其他代 理服务器发送部署请求。 0042 3、 代理服务器接收客户端发送的部署请求, 并将所述部署请求发送给服务端。 0043 在本实施例中, 代理服务器与客户端和服务端均采用 TCP 协议通信, 所述代理服 务器是一个 li。

22、nux C epoll TCP 代理服务程序, 关键代码如下 : 0044 说 明 书 CN 103023857 A 6 4/10 页 7 0045 说 明 书 CN 103023857 A 7 5/10 页 8 0046 4、 服务端接收所述部署请求, 获取预存的部署信息以及对应的部署包。 0047 在本实施例中, 服务端采用 linux epoll C/C+ 写的并发多线程多进程 TCP/UDP 服务器程序, 可以同时处理多个客户端的 TCP/UDP 请求和代理服务器的 TCP 请求。 0048 在本实施例中, 服务端接收代客户端通过理服务器发送的部署请求, 获取预存的 部署信息以及与部署。

23、信息对应的部署包。其中, 所述部署信息包括但不局限于至少一个部 署包 ID 或者部署包名称以及至少一个客户端 IP, 所述部署包 ID 或者部署包名称与所述客 户端 IP 存在映射关系, 所述映射关系包括一对多、 多对一、 一对一等。 0049 5、 服务端将获取的部署信息以及对应的部署包发送给代理服务器。 0050 在本实施例中, 服务端在将部署信息以及对应的部署包发送给代理服务器的同 时, 会将客户端指定的代理服务器的 IP 地址和其他所有接收部署信息以及对应的部署包 的代理服务器的 IP 地址一同发送给对应的客户端 ( 所述客户端为需要部署部署包的客户 端 ), 以便客户端在指定的代理服。

24、务器无法连接或者连接超时时, 可以选择其他的代理服务 器来容灾。 0051 在本实施例中, 服务端发送部署包实现的关键代码如下 : 说 明 书 CN 103023857 A 8 6/10 页 9 0052 0053 0054 6、 代理服务器接收服务端发送的部署信息以及对应的部署包, 并根据所述部署信 息将所述部署包发送给对应的客户端。 0055 在本实施例中, 代理服务器根据所述部署信息中客户端 IP 以及部署包 ID 与客户 端 IP 的映射关系, 将部署包发送给对应的客户端。 0056 7、 客户端接收代理服务器发送的部署包, 解压所述部署包执行相应的部署脚本。 0057 在本实施例中,。

25、 客户端在接收到服务端通过代理服务器发送的部署包后, 解压所 说 明 书 CN 103023857 A 9 7/10 页 10 述部署包, 执行所述部署包中的部署脚本以及其他相关内容, 比如配置文件、 软件升级包 等。 0058 在本实施例中, 解包执行的关键代码如下 : 0059 0060 说 明 书 CN 103023857 A 10 8/10 页 11 0061 8、 客户端将部署脚本执行的结果发送给代理服务器。 0062 9、 代理服务器将所述部署脚本执行的结果发送给服务端。 0063 在本实施例中, 执行结果包括部署成功或者部署不成功以及部署不成功的原因 等。 0064 作为本发明的。

26、另一实施例, 为了增强系统的实用性, 方便信息资源部署的管理, 系 统还包括一管理前台 : 0065 所述管理前台接收用户上传的文件, 将所述文件压缩成部署包, 并接收用户对所 述部署包发布的部署信息, 将所述部署包发送给服务端, 所述部署信息发送给远程数据库 服务器。 0066 在本实施例中, 所述文件包括但不局限于编译后的可执行文件, 所述部署包的格 式包括但不局限于 tar、 zip 格式等。 0067 进一步的, 为了减轻服务端的访问压力, 更好的管理部署信息, 系统还包括一远程 数据库服务器, 用于存储用户发布的部署信息。 0068 进一步的, 为了方便服务端的其他服务器获取部署信息。

27、, 所述方法还包括 : 0069 服务端从远程数据库服务器中获取部署信息, 并将获取的部署信息存储至共享内 存。 0070 进一步的, 为了保证部署信息的同步以及实时更新, 所述方法还包括 : 0071 服务端在接收到代理服务器发送的所述部署脚本执行结果后, 更新远程数据库服 务器中的部署信息。例如 : 对已执行的部署信息进行修改或者删除。 0072 实施例三 : 说 明 书 CN 103023857 A 11 9/10 页 12 0073 图 3 示出了本发明实施例三提供的信息资源远程部署系统中客户端的组成结构, 为了便于说明, 仅示出了与本发明实施例相关的部分。 0074 该信息资源远程部。

28、署系统中的客户端包括 : 0075 监测单元 31, 用于监测所述服务端是否存在需要部署到客户端的部署包 ; 0076 第一发送单元 32, 用于在服务端存在需要部署到客户端的部署包时, 向所述代理 服务器发送部署请求 ; 0077 第一接收单元 33, 用于接收所述代理服务器返还的部署包 ; 0078 信息反馈单元 34, 用于解压所述部署包执行相应的部署脚本, 并将部署脚本执行 的结果发送给所述代理服务器。 0079 在本实施例中, 各单元的具体实施过程可参考上述信息资源远程部署方法中的相 关步骤, 在此不再赘述。 0080 实施例四 : 0081 图 4 示出了本发明实施例四提供的信息资。

29、源远程部署系统中代理服务器的组成 结构, 为了便于说明, 仅示出了与本发明实施例相关的部分。 0082 该信息资源远程部署系统中的代理服务器包括 : 0083 第三接收单元 21, 用于接收所述客户端发送的部署请求 ; 0084 第三发送单元 22, 用于将所述部署请求发送给所述服务端 ; 0085 第四接收单元 23, 用于接收服务端返还的部署信息以及对应的部署包 ; 0086 第四发送单元 24, 用于根据所述部署信息将所述部署包发送给对应的客户端 ; 0087 第五接收单元 25, 用于接收所述客户端发送的部署脚本执行的结果 ; 0088 第五发送单元 26, 用于将所述部署脚本执行的结。

30、果发送给所述服务端。 0089 在本实施例中, 各单元的具体实施过程可参考上述信息资源远程部署方法中的相 关步骤, 在此不再赘述。 0090 实施例五 : 0091 图 5 示出了本发明实施例五提供的信息资源远程部署系统中服务端的组成结构, 为了便于说明, 仅示出了与本发明实施例相关的部分。 0092 该信息资源远程部署系统中的服务端包括 : 0093 第二接收单元 11, 用于接收所述代理服务器发送的部署请求 ; 0094 获取单元 12, 用于获取预存的部署信息及对应的部署包 ; 0095 第二发送单元 13, 用于将获取的部署信息以及对应的部署包发送给代理服务器 ; 0096 第六接收单。

31、元 14, 用于接收代理服务器发送的所述部署脚本执行的结果。 0097 在本实施例中, 各单元的具体实施过程可参考上述信息资源远程部署方法中的相 关步骤, 在此不再赘述。 0098 作为本发明的另一实施例, 为了减轻服务端的访问压力, 更好的管理部署信息, 该 信息资源远程部署系统还包括一远程数据库服务器, 所述远程数据库服务器与所述服务端 连接通信, 用于存储用户发布的部署信息。 0099 作为本发明的另一实施例, 为了增强系统的实用性, 方便信息资源部署的管理, 所 述信息资源远程部署系统还包括一管理前台, 所述管理前台为用户提供人机交互界面, 用 于接收用户上传的文件, 将所述文件压缩成。

32、部署包, 并接收用户对所述部署包发布的部署 说 明 书 CN 103023857 A 12 10/10 页 13 信息, 将所述部署包发送给服务端, 所述部署信息发送给远程数据库服务器。 0100 作为本发明的另一实施例, 为了方便服务端的其他服务器获取部署信息, 所述信 息资源远程部署系统中的服务端还包括 : 0101 存储单元 15, 用于从远程数据库服务器中获取部署信息, 并将获取的部署信息存 储至共享内存。 0102 进一步的, 为了方便客户端在指定的代理服务器无法连接或者连接超时时, 可以 选择其他的代理服务器来容灾, 所述信息资源远程部署系统中的服务端还包括 : 0103 IP 地。

33、址发送单元 16, 用于在将所述部署信息以及对应的部署包发送给代理服务 器的同时, 将客户端指定的代理服务器的 IP 地址和其他所有接收部署信息以及对应的部 署包的代理服务器的 IP 地址一同发送给对应的客户端, 所述客户端为需要部署部署包的 客户端。 0104 进一步的, 为了保证部署信息的同步以及实时更新, 所述信息资源远程部署系统 还包括 : 0105 更新单元, 用于在接收到代理服务器发送的所述部署脚本执行结果后, 更新远程 数据库服务器中的部署信息。 0106 本领域普通技术人员可以理解, 实现上述实施例方法中的全部或部分步骤是可以 通过程序来指令相关的硬件来完成, 所述的程序可以在。

34、存储于一计算机可读取存储介质 中, 所述的存储介质, 如 ROM/RAM、 磁盘、 光盘等。 0107 本发明实施例包括服务端、 至少一个客户端以及至少一个代理服务器, 通过客户 端监测服务端是否存在需要部署到客户端的部署包, 并在存在时, 通过代理服务器向服务 端发送部署请求, 服务端接收代理服务器发送的部署请求, 获取预存的部署信息及对应的 部署包, 并根据所述部署信息将获取的部署包通过代理服务器发送给对应的客户端, 客户 端接收代理服务器发送的部署包, 解压所述部署包执行相应的部署脚本, 并将部署脚本执 行的结果通过代理服务器反馈给服务端。 本发明主要通过代理服务器来负责多个客户端和 服务端之间部署包和部署请求的转发, 并行度高, 减少了服务端的访问压力, 降低了服务端 和客户端的资源占用率, 提高了信息资源远程部署的效率和稳定性。 0108 以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本发明的精 神和原则之内所作的任何修改、 等同替换和改进等, 均应包含在本发明的保护范围之内。 说 明 书 CN 103023857 A 13 1/2 页 14 图 1 图 2 说 明 书 附 图 CN 103023857 A 14 2/2 页 15 图 3 图 4 图 5 说 明 书 附 图 CN 103023857 A 15 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1