CN105635218A - 软件中心系统 - Google Patents
软件中心系统 Download PDFInfo
- Publication number
- CN105635218A CN105635218A CN201410616930.XA CN201410616930A CN105635218A CN 105635218 A CN105635218 A CN 105635218A CN 201410616930 A CN201410616930 A CN 201410616930A CN 105635218 A CN105635218 A CN 105635218A
- Authority
- CN
- China
- Prior art keywords
- software
- server
- entity server
- service
- entity
- 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
- 230000005540 biological transmission Effects 0.000 claims description 56
- 238000009434 installation Methods 0.000 claims description 36
- 238000000034 method Methods 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 25
- 230000001360 synchronised effect Effects 0.000 claims description 18
- 230000001419 dependent effect Effects 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 12
- 238000012795 verification Methods 0.000 claims description 10
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000012797 qualification Methods 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 7
- 230000003993 interaction Effects 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 62
- 239000003795 chemical substances by application Substances 0.000 description 57
- 230000006870 function Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012550 audit Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种软件中心系统。该系统与网管服务器分离部署,该系统具体包括:软件管理模块,用于根据预先设置的软件服务规范,通过服务接口为设置了代理模块的实体服务器提供软件服务;服务接口,用于为代理模块提供与软件管理模块进行交互的接口;代理模块,部署于与系统交互的实体服务器中,用于通过服务接口与软件管理模块进行交互,从软件管理模块为实体服务器获取软件服务。借助于本发明的技术方案,能够保证软件中心系统向其他实体服务器提供高可靠性的软件服务,极大的提高开局和运维的效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种软件中心系统。
背景技术
在现有技术中,为了减少网管开局和运维的工作量,在设备开通阶段,逐步推荐使用软件中心驱动网管服务器一键安装承载网管软件的操作系统、数据库、双机软件和网管软件;在日常运维阶段,逐步推荐使用软件中心驱动一键升级网管软件及其他软件。这些趋势都极大地减少了用服的运维工作,软件中心逐步成长为网管软件的另一分支。
但随之而来的问题是,有的软件中心没有与网管服务器剥离,安全框架过于依赖网管系统,软件中心与网管服务器耦合严重,接口混乱;另外,软件中心的设计过于简单,软件准入要求不高,软件版本混乱,依赖关系不明晰,软件中心职能单一,只提供分发软件的低效职能;另外,现场网络环境复杂,简单的软件中心无法满足用户的可靠性要求,例如:上传软件过程中出现网络异常只能重传,分发软件过程中网络异常,几兆的软件分发到进度大半时出现异常,无法续传,在网络环境中拥塞大量数据包时,仍不顾网络压力分发软件等等问题。
从研发角度上看,由于软件中心展现的低效职能,绝大部分网管研发人员对软件中心的重要性认识不足,投入力量也不大。只有构建出高可用性和高可靠性的软件中心系统,实现稳定安全的上传和分发软件,并提供可靠的安装和升级服务,软件中心才会成为开局和运维必备的利器。
发明内容
鉴于现有技术中软件中心低效的问题,提出了本发明以便提供一种软件中心系统。
本发明提供了一种软件中心系统,该系统与网管服务器分离部署,该系统具体包括:
软件管理模块,用于根据预先设置的软件服务规范,通过服务接口为设置了代理模块的实体服务器提供软件服务;
服务接口,用于为代理模块提供与软件管理模块进行交互的接口;
代理模块,部署于与系统交互的实体服务器中,用于通过服务接口与软件管理模块进行交互,从软件管理模块为实体服务器获取软件服务。
优选地,软件管理模块具体包括:
软件准入单元,用于根据软件服务规范中的软件准入规范,对待上传的软件进行校验,在校验成功后,允许上传相应软件;
实体服务器特性发现单元,用于根据软件服务规范中的特性规范,通过服务接口中的特性发现接口,与代理模块进行交互,进行实体服务器特性的注册和发现;
软件冗余传输单元,用于在采用主备两台服务器同时部署软件中心系统时,对主备两台服务器进行软件冗余上传和软件冗余分发;
拥塞控制单元,用于在将软件分发到实体服务器时,通过服务接口中的拥塞控制接口,根据已经发送的数据包的延时计算数据传输链路的拥塞状态,并根据拥塞状态调整后续传输数据包的大小;在不存在待分发的软件时,对流入本地的数据速度进行控制。
优选地,软件管理模块还包括:
软件安装单元,用于根据软件服务规范中的静默安装规范,通过服务接口中的静默安装接口,通过代理模块驱动实体服务器进行软件安装;
软件升级单元,用于根据软件服务规范中的远程升级规范,通过服务接口中的远程升级接口,通过代理模块驱动实体服务器进行软件升级;
代理下载单元,用于根据软件服务规范中的代理下载规范,并通过服务接口中的代理下载接口,通过代理模块代理实体服务器对未在本地存储软件的软件服务请求,和/或代理另一个软件中心系统的分发软件服务。
优选地,软件准入单元具体包括:
软件安全认证子模块,用于在接收到客户端上传的软件时,对客户端的操作权限进行认证,在客户端具备软件上传权限和软件注册权限时,存储或接收客户端上传该软件,在客户端仅具备软件上传权限,不具备软件注册权限时,在等待具备软件注册权限的用户审核通过后,存储或接收客户端上传该软件;在实体服务器请求提供软件服务时,对实体服务器提供的安全信息进行审核,在实体服务器无法提供安全信息或者提供的安全信息没有相应权限时,拒绝为实体服务器提供软件服务,其中,安全信息设置于实体服务器的代理模块中;
日志审计子模块,用于对接受软件服务或拒绝软件服务的操作进行审计日志的记录;
校验子模块,用于对待上传的软件进行基本信息准入和/或业务规则准入和/或软件依赖准入的软件准入规范检查,并通过软件校验后,存储或接收该软件。
优选地,校验子模块具体用于:
从待上传的软件上获取软件坐标信息,判断软件坐标信息是否符合软件类型、软件功能类型和软件版本号的基本信息准入规范,如果不符合,则拒绝上传该软件;其中,软件坐标信息具体包括:软件类型、软件功能类型、以及软件版本号;或者,
根据软件提供方提出的业务需求制定的业务规则检验待上传的软件是否具备准入资格,如果不具备,则拒绝上传该软件;其中,业务规则配置于待上传的软件的软件标识文件中;或者,
在待上传的软件的软件标识文件中配置了软件依赖规则且配置了强制检测软件依赖时,计算待上传的软件的依赖关系,查找该软件依赖的其他软件,在其依赖的其他软件都存在时,存储或接收该软件。
优选地,校验子模块具体用于:从待上传的软件的包头中解析出软件坐标信息;或者,从待上传的软件的软件标识文件中解析出软件坐标信息。
优选地,实体服务器特性发现单元具体包括:
实体服务器特性注册子模块,用于在实体服务器请求安装服务并安装软件成功之后,根据软件服务规范中的特性规范,通过服务接口中的特性发现接口,接收部署于实体服务器上的代理模块的实体服务器特性注册请求,将实体服务器特性清单保存在代理模块中;
实体服务器特性发现子模块,用于在实体服务器请求软件安装服务或升级服务时,检查相应软件的最低特性需求清单,如果没有特性要求则直接响应;如果有特性要求则请求实体服务器的代理模块提供实体服务器特性清单,并检查实体服务器特性清单是否符合该软件的特性要求,如果符合,则响应服务,否则拒绝服务。
优选地,代理模块具体用于:
在实体服务器请求安装服务并安装软件成功后,如果安装的软件中包含特性要求,则根据特性规范通过特性注册接口直接注册该实体服务器的特性,并保存实体服务器特性清单;在某些特性是需要探测才能确定的情况下,在实体服务器按特性探测方法进行探测,探测出特性后再通过特性注册接口注册该实体服务器的特性,并保存实体服务器特性清单。
优选地,软件冗余传输单元具体包括:
软件冗余上传子模块,用于在主备两台服务器同时部署软件中心系统时,当客户端将某个软件上传后,并发向主用服务器和备用服务器上传该软件,并通过服务接口中的同步控制接口对主用服务器与备用服务器进行软件同步;
软件冗余分发子模块,用于在主备服务器上都存在待分发软件时,通过服务接口中的分发控制接口分发软件包时,将主用服务器中的待分发软件发送到实体服务器的主用服务器,将备用服务器中的待分发软件发送到实体服务器的备用服务器,并创建主用服务器到实体服务器的备用服务器的数据链路、以及备用服务器到实体服务器的主用服务器的数据链路;检测四条数据链路的连接和占用情况,任何一条被占用的数据链路出现问题时,选择已创建未占用的数据链路承担问题数据链路的职责,在软件分发到实体服务器的主用服务器后,接收实体服务器的代理模块发送的分发结束消息,断开其他数据链;
软件校验子模块,用于在从客户端上传软件后,校验软件的第一消息摘要算法第五版MD5码与从软件标识文件或软件包头的标识信息中解析出的第二MD5码是否一致,如果一致,则提示用户上传成功,否则,则提示用户上传失败;在分发软件到实体服务器后,请求实体服务器通过控制链路传回其本地服务器中软件的第一MD5码,校验其与从软件标识文件或软件包头的标识信息中解析出的第二MD5码是否一致,如果一致,则确认分发成功,并通知实体服务器分发结束,否则,通知实体服务器分发失败。
优选地,软件冗余上传子模块具体用于:
在软件上传到主用服务器过程中发生传输中断时,保持软件上传到备用服务器,待上传到备用服务器成功后,检测到该软件并通过同步控制接口同步到主用服务器上,在软件上传到备用服务器过程中发生传输中断时,保持软件上传到主用服务器,待上传到主用服务器成功后,检测到该软件并通过同步控制接口同步到备用服务器上,在软件上传到主备服务器都发生传输中断时,通知客户端网络异常,无法上传软件。
优选地,拥塞控制单元具体用于:
当实体服务器请求分发软件时,与实体服务器上的代理模块建立两条链路,其中一条为控制链路,另一条为数据传输链路;
在准备向实体服务器传送第一包数据时,向控制链路申请本次传送的数据大小,根据数据大小通过数据传输链路传送第一包数据的包体,通过控制链路传送控制数据;
在实体服务器收到第一包数据的包体和控制数据后,接收实体服务器通过控制链路发送的第一包数据的发送时延及其他链路传输数据,并进行缓存;
在传送第N包数据到实体服务器前,根据前N-1包数据的发送时延的平均值和其他链路传输数据的平均值估计当前网络拥塞值,将网络拥塞值与预先设置的阈值进行比较,如果大于或等于阈值,则减小第N包数据的大小;如果小于阈值,则增大第N包数据的大小,其中,N为大于或等于1的整数;
在待分发的软件不存在时,对流入本地的数据速度进行控制,将流入本地的数据加入预先设置的流入队列,根据流入流入队列和网络拥塞值计算发送数据包的大小。
优选地,软件安装单元具体用于:
在收到实体服务器的安装软件请求后,检验实体服务器提供的用户信息是否具备足够权限,在具备足够权限的情况下,检查待安装软件是否存在,以及待安装软件的依赖软件是否存在,在判断均存在的情况下,准备待安装软件,并向实体服务器请求特性发现,在获取到实体服务器的身份和实体服务器特性清单后,根据实体服务器的身份和实体服务器特性清单进行最低安装特性要求的检查,在检查通过后,请求实体服务器提供静默安装配置,根据实体服务器的安装软件请求选择一种分发软件的方式进行软件分发,并根据静默安装配置驱动实体服务器进行软件安装。
优选地,软件升级单元具体用于:
收到实体服务器发送的升级软件请求后,检验实体服务器提供的用户信息是否具备足够权限,在具备足够权限的情况下,检查待升级软件的升级包是否存在,在存在的情况下,向实体服务器请求特性发现,在获取到实体服务器的身份和实体服务器特性清单后,根据实体服务器的身份和实体服务器特性清单进行最低升级特性要求的检查,在检查通过后,请求实体服务器提供升级步骤配置,根据实体服务器的安装软件请求选择一种分发软件的方式进行升级包分发,并根据升级步骤配置驱动实体服务器进行软件升级。
优选地,代理下载单元具体用于:
收到实体服务器发送的代理下载请求后,计算下载路径,根据下载路径从其他软件中心或从广域网获取软件,在该软件被分发到本地后,再分发到实体服务器。
本发明有益效果如下:
通过将软件中心系统与网管服务器分离部署,并根据预先设置的软件服务规范通过服务接口为设置了代理模块的实体服务器提供软件服务,解决了现有技术现有技术中软件中心职能低效的问题,能够保证软件中心系统向其他实体服务器提供高可靠性的软件服务,极大的提高开局和运维的效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例的软件中心系统的结构示意图;
图2是本发明实施例的软件中心系统的部署方式和与实体服务器的通讯关系的示意图;
图3是本发明实施例的软件注入处理的流程图;
图4是本发明实施例的软件冗余分发服务的流程图;
图5是本发明实施例的软件中心进行拥塞控制时各模块的职能和交互的示意图;
图6是本发明实施的软件安装服务的流程图;
图7是本发明实施例的软件升级服务的流程图;
图8是本发明实施例的代理下载软件服务的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决现有技术中软件中心低效职能的问题,本发明提供了一种高可靠性的软件中心系统,该系统独立部署在一台服务器或一块单板上,有独立的安全认证模块和日志审计模块。托管在软件中心的软件可包括网管软件、承载网管的软件和网管系统使用的其他软件。与传统的软件仓库相比,高可靠性的软件中心系统除了可以管理软件版本、分发软件之外,还提供软件相关服务,如安装、升级、代理下载软件等,该系统通过软件准入、冗余上传/分发、服务器特性发现、拥塞控制等功能,保证软件中心提供服务的高可靠性。该系统包括一整套规范和服务接口以及一个可以独立部署,已实现服务接口的软件中心代理模块(下文简称代理模块),在部署了代理模块后,与软件中心连接并交互的可以是任何实体服务器,比如一个网管服务器,一个数据库服务器,一个路由器甚至是另一个软件中心。以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
根据本发明的实施例,提供了一种软件中心系统,与网管服务器分离部署,图1是本发明实施例的软件中心系统的结构示意图,如图1所示,根据本发明实施例的软件中心系统包括:软件管理模块10、服务接口12、以及代理模块14,以下对本发明实施例的各个模块进行详细的说明。
软件管理模块10,用于根据预先设置的软件服务规范,通过服务接口12为设置了代理模块14的实体服务器提供软件服务;
服务接口12,用于为代理模块14提供与软件管理模块10进行交互的接口;
代理模块14,部署于与系统交互的实体服务器中,用于通过服务接口12与软件管理模块10进行交互,从软件管理模块10为实体服务器获取软件服务。
在本发明实施例中,软件管理模块10具体包括:软件准入单元101、实体服务器特性发现单元102、软件冗余传输单元103、以及拥塞控制单元104,以下对各个单元进行详细说明:
软件准入单元101,用于根据软件服务规范中的软件准入规范,对待上传软件进行校验,在校验成功后,允许上传相应软件;软件准入单元101具体包括:
软件安全认证子模块,用于在接收到客户端上传的软件时,对客户端的操作权限进行认证,在客户端具备软件上传权限和软件注册权限时,存储或接收客户端上传该软件,在客户端仅具备软件上传权限,不具备软件注册权限时,在等待具备软件注册权限的用户审核通过后,存储或接收客户端上传该软件;在实体服务器请求提供软件服务时,对实体服务器提供的安全信息进行审核,在实体服务器无法提供安全信息或者提供的安全信息没有相应权限时,拒绝为实体服务器提供软件服务,其中,安全信息设置于实体服务器的代理模块14中;
日志审计子模块,用于接受软件服务或拒绝软件服务的操作进行审计日志的记录,后续可以将审计日志提供给管理员以供查看;
校验子模块,用于对待上传的软件进行基本信息准入和/或业务规则准入和/或软件依赖准入的软件准入规范检查,并通过软件校验后,存储或接收该软件。
校验子模块具体用于:
从待上传的软件上获取软件坐标信息,判断软件坐标信息是否符合软件类型、软件功能类型和软件版本号的基本信息准入规范,如果不符合,则拒绝上传该软件;其中,软件坐标信息具体包括:软件类型、软件功能类型、以及软件版本号;或者,
根据软件提供方提出的业务需求制定的业务规则检验待上传的软件是否具备准入资格,如果不具备,则拒绝上传该软件;其中,业务规则配置于待上传的软件的软件标识文件中;或者,
在待上传的软件的软件标识文件中配置了软件依赖规则且配置了强制检测软件依赖时,计算待上传的软件的依赖关系,查找该软件依赖的其他软件,在其依赖的其他软件都存在时,存储或接收该软件。
在本发明实施例中,校验子模块可以从待上传的软件的包头中解析出软件坐标信息;或者,从待上传的软件的软件标识文件中解析出软件坐标信息。
实体服务器特性发现单元102,用于根据软件服务规范中的特性规范,通过服务接口12中的特性发现接口,与代理模块14进行交互,进行实体服务器特性的注册和发现;实体服务器特性发现单元102具体包括:
实体服务器特性注册子模块,用于在实体服务器请求安装服务并安装软件成功之后,根据软件服务规范中的特性规范,通过服务接口12中的特性发现接口,接收部署于实体服务器上的代理模块14的实体服务器特性注册请求,将实体服务器特性清单保存在代理模块14中;
实体服务器特性发现子模块,用于在实体服务器请求软件安装服务或升级服务时,检查相应软件的最低特性需求清单,如果没有特性要求则直接响应;如果有特性要求则请求实体服务器的代理模块14提供实体服务器特性清单,并检查实体服务器特性清单是否符合该软件的特性要求,如果符合,则响应服务,否则拒绝服务。
此时,代理模块14在实体服务器请求安装服务并安装软件成功后,如果安装的软件中包含某种特性要求,则根据特性规范通过特性注册接口直接注册该实体服务器的特性,并保存实体服务器特性清单;在某些特性是需要探测才能确定的情况下,在实体服务器按特性探测方法进行探测,探测出特性后再通过特性注册接口注册该实体服务器的特性,并保存实体服务器特性清单。
软件冗余传输单元103,用于在采用主备两台服务器同时部署软件中心系统时,对主备两台服务器进行软件冗余上传和软件冗余分发;软件冗余传输单元103具体包括:
软件冗余上传子模块,用于在主备两台服务器同时部署软件中心系统时,当客户端将某个软件上传后,并发向主用服务器和备用服务器上传该软件,并通过服务接口12中的同步控制接口对主用服务器与备用服务器进行软件同步;软件冗余上传子模块具体用于:在软件上传到主用服务器过程中发生传输中断时,保持软件上传到备用服务器,待上传到备用服务器成功后,检测到该软件并通过同步控制接口同步到主用服务器上,在软件上传到备用服务器过程中发生传输中断时,保持软件上传到主用服务器,待上传到主用服务器成功后,检测到该软件并通过同步控制接口同步到备用服务器上,在软件上传到主备服务器都发生传输中断时,通知客户端网络异常,无法上传软件。
软件冗余分发子模块,用于在主备服务器上都存在待分发软件时,开始通过服务接口12中的分发控制接口分发软件包时,将主用服务器中的待分发软件发送到实体服务器的主用服务器,将备用服务器中的待分发软件发送到实体服务器的备用服务器,并创建主用服务器到实体服务器的备用服务器的数据链路、以及备用服务器到实体服务器的主用服务器的数据链路;检测四条数据链路的连接和占用情况,任何一条被占用的数据链路出现问题时,选择已创建未占用的数据链路承担问题数据链路的职责,在软件分发到实体服务器的主用服务器后,接收实体服务器的代理模块14发送的分发结束消息,断开其他数据链;
软件校验子模块,用于在从客户端上传软件后,校验软件的第一MD5码与从软件标识文件或软件包头的标识信息中解析出的第二MD5码是否一致,如果一致,则提示用户上传成功,否则,则提示用户上传失败;在分发软件到实体服务器后,请求实体服务器通过控制链路传回其本地服务器中软件的第一MD5码,校验其与从软件标识文件或软件包头的标识信息中解析出的第二MD5码是否一致,如果一致,则确认分发成功,并通知实体服务器分发结束,否则,通知实体服务器分发失败。
拥塞控制单元104,用于在将软件分发到实体服务器时,通过服务接口12中的拥塞控制接口,根据已经发送的数据包的延时计算数据传输链路的拥塞状态,并根据拥塞状态调整后续传输数据包的大小;在不存在待分发的软件时,对流入本地的数据(即,上流流入的数据,上流流入的数据是指流入本地的数据或者本地接收到的数据)速度进行控制。拥塞控制单元104具体用于:
当实体服务器请求分发软件时,与实体服务器上的代理模块14建立两条链路,其中一条为控制链路,另一条为数据传输链路;在准备向实体服务器传送第一包数据时,向控制链路申请本次传送的数据大小,根据数据大小通过数据传输链路传送第一包数据的包体,通过控制链路传送控制数据;在实体服务器收到第一包数据的包体和控制数据后,接收实体服务器通过控制链路发送的第一包数据的发送时延及其他链路传输数据,并进行缓存;在传送第N包数据到实体服务器前,根据前N-1包数据的发送时延的平均值和其他链路传输数据的平均值估计当前网络拥塞值,将网络拥塞值与预先设置的阈值进行比较,如果大于或等于阈值,则减小第N包数据的大小;如果小于阈值,则增大第N包数据的大小,其中,N为大于或等于1的整数;在待分发的软件不存在时,对流入本地的数据速度进行控制,将流入本地的数据加入预先设置的流入队列,根据流入流入队列和网络拥塞值计算发送数据包的大小。
在本发明实施例中,为了提供更加丰富的软件服务,软件管理模块10还可以包括:软件安装单元、软件升级单元、以及代理下载单元,以下对上述各个单元进行详细说明。
软件安装单元,用于根据软件服务规范中的静默安装规范,并通过服务接口12中的静默安装接口,通过代理模块驱动实体服务器进行软件安装;软件安装单元具体用于:
在收到实体服务器的安装软件请求后,检验实体服务器提供的用户信息是否具备足够权限,在具备足够权限的情况下,检查待安装软件是否存在,以及待安装软件的依赖软件是否存在,在判断均存在的情况下,准备待安装软件,并向实体服务器请求特性发现,在获取到实体服务器的身份和实体服务器特性清单后,根据实体服务器的身份和实体服务器特性清单进行最低安装特性要求的检查,在检查通过后,请求实体服务器提供静默安装配置,根据实体服务器的安装软件请求选择一种分发软件的方式进行软件分发,并根据静默安装配置驱动实体服务器进行软件安装。
软件升级单元,用于根据软件服务规范中的远程升级规范,并通过服务接口12中的远程升级接口驱动,通过代理模块实体服务器进行软件升级;软件升级单元具体用于:
收到实体服务器发送的升级软件请求后,检验实体服务器提供的用户信息是否具备足够权限,在具备足够权限的情况下,检查待升级软件的升级包是否存在,在存在的情况下,向实体服务器请求特性发现,在获取到实体服务器的身份和实体服务器特性清单后,根据实体服务器的身份和实体服务器特性清单进行最低升级特性要求的检查,在检查通过后,请求实体服务器提供升级步骤配置,根据实体服务器的安装软件请求选择一种分发软件的方式进行升级包分发,并根据升级步骤配置驱动实体服务器进行软件升级。
代理下载单元,用于根据软件服务规范中的代理下载规范,并通过服务接口12中的代理下载接口,通过代理模块代理实体服务器对未在本地存储软件的软件服务请求,和/或代理另一个软件中心系统的分发软件服务。代理下载单元具体用于:
收到实体服务器发送的代理下载请求后,计算下载路径,根据下载路径从其他软件中心或从广域网获取软件,在该软件被分发到本地后,再分发到实体服务器。
从上面的描述可以看出,本发明实施例的软件中心系统具有以下特点:
1、独立于网管服务器外部署,有独立安全认证系统,网管软件中心的安全认证不依赖于网管系统。终端或网管服务器对于软件中心服务的请求和响应有独立的日志记录和审核模块,以上两点使得独立部署的软件中心拥有更好的安全性。
2、拥有一套完整的软件准入规范。软件坐标机制可以保证软件中心的软件唯一,并加强了软件的可管理性,软件依赖的可视性更强。基本准入规则是指软件必须有包含坐标信息的软件标识信息或软件标识文件,软件上传到软件中心之前还必须符合软件的业务规则和依赖规范。所有上传到软件中心的软件最后都需要进行校验,保证内容的正确性。
3、提供可靠的软件上传和分发服务。软件冗余上传机制保证上传到软件中心的软件会同时上传到主备用两个软件中心上,避免上传到软件中心的过程中失败需要重新上传;软件冗余分发会通过主备两个软件中心分发软件到主备两个网管服务器上,其他一条链路发生问题,其他已建立未占用的链路接管其分发任务,避免分发到软件中心的过程中失败需要重新分发。
4、服务器特性发现功能可以提前确定请求服务的服务器的资质和能力,尽早排除传输不可靠的因素,从而避免在实际提供服务后才发现因为服务器的特性不足而中断服务的问题,建立对传输双方服务器的信任机制,保证了软件中心提供服务的高可靠性。
5、软件中心在分发软件时除了可以通过实体服务器具备断点续传特性的FTP下载外,还提供了一种拥塞控制的推送软件的方式。增大网络压力的最终结果很可能是导致分发软件失败或异常,而使用拥塞控制的方式分发软件可以避免在网络拥塞的情况下大包传送数据包,甚至是根据网络的流量最优调整传送数据包的包大小,更加合理的利用各种网络环境。
6、除提供分发软件的基础服务之外,软件中心还提供对于实体服务器的安装或升级服务。软件中心不再只有分发软件的单一职能,还可以驱动网管服务器一键安装或升级操作系统、数据库或网管软件,当一台裸机连接到软件中心后,部署了实现软件中心接口的代理模块,就可以通过软件中心一键安装整个系统,达到直接交付局方的目的,这可以大大降低开局的工作量。
7、软件中心还可以提供代理下载服务,可以理解当前软件中心实现为实体服务器所需软件的局域网内部私服。实体服务器不直接面对广域网,也使得实体服务器在使用服务或实施核心业务功能时更加安全。
8、代理网管服务器的一切内部和外部的软件需求,对外只暴露软件中心,也将网管服务器与软件相关的功能剥离开来,集中力量实现网管的核心功能,体现了专业的服务器负责专业的事情的思想。
以下结合附图,对本发明实施例的上述技术方案进行详细说明。
在本发明实施例中,软件中心系统(以下也称为软件中心)为了实现以上的功能和服务,必须建立一套规范和与代理模块完整的通信接口,以下进行具体说明:
1、软件准入规范。包括软件标识文件的格式,软件标识文件的提取方式,软件坐标三要素的名称规范,软件基本信息准入规范,软件业务规则准入规范和软件依赖准入规范,支持的软件校验方式及校验规则描述。
2、特性规范。包括实体服务器身份定义,特性定义,特性探测的通用方法和软件服务的最低特性要求的描述。
3、特性发现接口。包括软件中心的特性发现请求和响应接口,以及软件中心身份注册、特性注册、身份查询、特性查询等接口。
4、请求服务接口。包括实体服务器的服务请求和软件中心提供服务响应的接口。
5、拥塞控制接口。包括软件中心数据传输模块传输数据的请求和响应接口,控制模块双向传输控制数据的格式和属性描述。
6、分发控制接口。包括分发软件的链路控制和链路占用检测接口。
7、同步控制接口。包括同步检查和实施同步接口。
8、静默安装规范和接口。待安装的软件必须提供一个可执行的静默安装脚本和静默安装配置文件。
9、远程升级规范和接口。待升级的软件必须实现步骤驱动请求的响应,还必须提供远程升级步骤配置文件。
10、代理下载规范和接口。包括可代理下载软件的范畴定义和代理下载与实体服务器请求响应接口。
图2是本发明实施例的软件中心系统的部署方式和与实体服务器的通讯关系的示意图,如图2所示,高可靠性的软件中心系统中,提供任何服务都依赖高可靠性功能的保证。以下描述软件中心的高可靠性功能:
一、软件准入。软件中心有一套完整的软件准入规范。软件中心独立的安全认证架构保证有权限的用户才能上传和分发软件;软件准入规范提出了软件坐标的概念和提取软件坐标的方法;待上传软件通过基本准入、业务准入和依赖准入规则检查,最后经过软件校验后,方可准入软件中心。
1、软件中心安全认证。软件中心拥有独立的安全认证模块,保证了对于上传和分发软件的安全控制。用户登陆客户端后,选择某个本地软件上传到软件中心,该用户必须具备软件上传和软件注册两个操作权限,如果只有软件上传的权限,该软件只能等待具备软件注册权限的用户审核方可正式准入软件中心。实体服务器请求软件中心提供服务时,软件中心首先要求该实体服务器提供可以使用对应服务的安全信息,该安全信息由部署在实体服务器上的代理模块出厂,如果实体服务器无法提供安全信息,或者提供的安全信息没有对应的权限,软件中心将拒绝提供服务。如此设计保证了软件中心拒绝网络模拟请求包,保证只有正确安装代理模块的实体服务器,才可以使用软件中心的软件服务。另外,软件中心对于接受或拒绝的请求,都会记录审计日志。软件中心拥有独立的日志审计模块,管理员可以审计每次和软件服务相关的操作,以便及时发现越权行为。
2、软件坐标。软件坐标为网管软件及承载网管软件的软件或应用软件引入了秩序,每个软件中心的软件都必须有明确的、唯一的坐标来标识该软件,该坐标被软件中心索引和存储。软件坐标包括以下3个元素:
软件类型:定义软件的实际分类,例如网管软件、操作系统软件、数据库软件等等。
软件功能类型:定义软件的功能分类,例如网管软件分为业务升级软件、业务安装软件、配置升级软件、配置安装软件等,操作系统分为windows、linux等,数据库分为oracle、sybase等。
软件版本号:软件当前的版本号,软件中心定义了一套版本号的规范。
通过以上3个元素可以唯一确定软件中心中的一个软件,拥有同一坐标的软件不允许重复入库。由于软件中心的软件都具有软件坐标,软件中心的管理软件更加简便,可操作的软件更加可靠,查询软件也更加快捷。
软件中心支持两种坐标提取方式:
软件包头。准入规范中包括了软件包头的规范,规范定义软件文件的前512个字节为软件包头,该包头包括软件标识的相关信息。如果该软件具有规范要求的512字节的包头格式,则从包头中解析出软件坐标信息。解析成功后,将该包头剥离待入软件。
软件标识文件。准入规范中包括了坐标文件的规范,包括坐标文件的命名,坐标文件的格式等。软件标识文件包括了软件坐标信息及其他关键信息,如果该软件中包括软件标识文件,则可以从软件标识文件中解析出软件坐标信息。
以上两种方式,软件中心同时支持。如果待入软件不具有坐标信息,将被拒绝入库。
3、基本信息准入。基本信息准入是指软件中心必须从待入软件上提取出软件坐标信息,且坐标信息应分别符合软件类型、软件功能类型和软件版本号的规范,特别是软件版本号的规范。如果待入软件不符合基本信息准入规范,软件中心将拒绝软件入库。
4、业务规则准入。业务规则准入是指根据软件提供方提出的业务需求制定的另一套检验待入软件是否具备入库资格的规则。比如:多个软件功能类型一致的软件包入库前必须要求版本号一致。规则准入的规则具备一定的灵活性,软件中心采取配置文件配置,支持表达式语言,配置在软件标识文件中。
5、软件依赖准入。当软件标识文件中配置了软件依赖且配置了强制检测依赖时,软件中心会计算待入软件的依赖关系,查找该软件依赖的其他软件,只有其依赖的软件都存在于软件中心时,才允许软件入库。注意依赖具有传递性,当软件A依赖于软件B,软件B又依赖于软件C,那么软件A就依赖于软件C。软件A、B、C都特指具备坐标的软件,不同版本的软件可能依赖有所不同。依赖关系形成一颗庞大的依赖树,树上的每个叶子节点成为待入软件最深的依赖节点。
图3是本发明实施例的软件注入处理的流程图,如图3所示,具体包括如下处理:
步骤S300、组网,软件中心设置于独立服务器,与网管服务器分离部署,用户终端与软件中心以客户端服务器方式连接,软件中心提供的代理模块部署在网管服务器上。
步骤S301、用户终端登陆软件中心,选择软件包,准备上传。
步骤S302、系统判断用户是否具备软件入库的权限,如果不具备权限则提示用户软件无法入库。
步骤S303、软件中心从软件包中提取软件标识文件,其中包括坐标信息和软件其他的关键信息,如果无法提取软件坐标信息则拒绝接收该软件。
步骤S304、软件中心进行基本信息准入校验,从待入软件提取出的坐标信息必须符合基本信息规范,即坐标信息应分别符合软件类型、软件功能类型和软件版本号的规范。如果不符合规范则软件中心拒绝接收该软件。
步骤S305、软件中心进行业务规则准入校验,待入软件必须符合软件业务规则。如果不符合业务规则软件中心拒绝接收该软件。
步骤S306、软件中心进行依赖准入校验,在软件标识文件中查找软件的依赖关系,如果存在依赖且配置了强制检查依赖,则检查软件中心是否存在该软件的所有依赖,只要有一个依赖不存在则软件中心拒绝接收该软件。
步骤S307、开始从用户终端上传软件包至软件中心,软件中心采用主备部署,软件将并发上传至软件中心主用和备用服务器上。上传至主用服务器的流程结束认为上传结束,上传结束后,主备服务器间采用同步模块同步软件包,保证主备服务器上都有该软件。
步骤S308、软件中心对上传至主备服务器上的文件校验md5码,与软件标识文件中提供的md5码比较,保证上传文件的正确性,如果不一致,提示用户上传失败和失败原因。
步骤S309、软件包正式入库,上传流程结束。
二、服务器特性发现。软件中心在提供服务时可以发现实体服务器的身份及特性,称为特性发现。
特性发现的前提是在实体服务器上进行特性注册。特性注册一般是在实体服务器请求软件中心安装服务并安装成功之后进行,由部署在实体服务器上的代理模块实施,分为普通注册和探测注册两种注册方式。当实体服务器请求安装服务并安装成功后,如果安装的软件中包含某种特性,则代理模块通过特性注册接口直接注册本机的特性;如果某些特性是需要探测才能确定的,代理模块会在本机按特性探测方法探测,探测出特性后再通过特性注册接口注册本机的特性。例如当网管服务器请求安装FTP服务器,安装成功之后,网管服务器上部署的软件中心代理模块会启动本机FTP服务,并依次执行TYPEI,PASV和REST指令,如果执行成功,则认为该实体服务器具备了断点续传特性,并将此特性注册为本服务器的特性。
当实体服务器请求软件中心的软件安装或升级服务时,首先检查该软件的最低特性需求清单,如果没有特性要求则直接响应;如果有特性要求则软件中心请求实体服务器提供特性清单。实体服务器上的代理模块根据之前的特性注册情况组织特性清单列表返回给软件中心,软件中心检查该特性清单,如果符合该软件的最低特性需求,才响应服务,否则拒绝服务。例如网管服务器向软件中心请求升级网管软件,该软件要求网管服务器至少具备文件下载特性,双机特性和传输断点续传特性。当软件中心从代理模块接收到网管服务器的特性清单后,检查该网管服务器特性是否符合提供服务所需的最低要求,如果不满足最低要求将拒绝提供服务。如果符合最低要求,则开始推送升级包,响应网管服务器的升级网管软件的请求。以上流程统称为特性发现。
三、软件冗余传输。包括软件冗余上传和软件冗余分发两个方向的可靠性实现。
1、软件冗余上传。由于软件中心本身对服务器性能要求不高,因此采取低成本的主备两台服务器同时部署软件中心。当终端用户将某个软件上传至软件中心,软件准入后,终端会并发向主用和备用服务器上传该软件,该过程对于用户是透明的,上传到主用服务器成功则提示终端用户上传软件成功。主用服务器与备用服务器之间的软件同步由软件中心的同步软件或同步模块处理。
如果软件上传到主用服务器过程中发生传输中断,软件仍保持上传到备用服务器,待上传到备用服务器成功后,同步模块会自动检测到该软件并同步到主用服务器上,开始同步时提示终端用户上传软件成功,因为同步模块可以保证总是能将软件同步到指定备机上。同理,上传到备用服务器过程中发生传输中断,同步模块会自动检测到该软件并同步到备用服务器上。如果软件上传到主备服务器都发生传输中断,软件中心会通知终端用户网络异常,无法上传软件。
软件冗余上传机制提高了软件上传的可靠性,为软件冗余分发提供了硬件和软件条件。
2、软件冗余分发,软件中心的主备服务器上都存在待分发软件是冗余分发的前提,因此分发软件前软件中心会简单检测主备服务器上是否都存在待分发软件。开始分发软件包时,软件中心的主用服务器分发软件到实体服务器的主用服务器,软件中心的备用服务器分发软件到实体服务器的备用服务器,同时软件中心的主用到实体服务器的备用和软件中心的备用到实体服务器的主用的链路也会创建,随时等待被占用。软件中心的分发控制模块会不断检查四条链路的连接和占用情况,任何一条被占用的链路出现问题,分发控制模块会挑出已创建未占用的链路承担问题链路的职责。以软件分发到实体服务器的主用服务器结束认为分发的结束,随后实体服务器的代理模块会通知软件中心分发结束的消息,其他链路停止分发。实体服务器上的主用和备用机之间的数据同步既可由网管服务器上的同步软件保证,也可由实现同步接口的代理模块处理。
如果实体服务器没有主备两台机器,会在实体服务器本机启用两个进程接收软件包到服务器的两个磁盘上。
图4是本发明实施例的软件冗余分发服务的流程图,如图4所示,该服务包括以下步骤:
步骤S400、网管服务器与软件中心服务器之间建立连接。
步骤S401、网管服务器请求软件中心分发软件,提供了待分发软件的坐标信息和软件中心需要的安全信息。
步骤S402、软件中心验证网管服务器提供的安全信息,如果验证无法通过则拒绝分发软件。
步骤S403、软件中心计算待分发软件的依赖关系,整理出分发软件列表。
步骤S404、软件中心请求特性发现,请求网管服务器提供特性列表。
步骤S405、网管服务器提供特性列表,软件中心校验特性列表,必须具有双机特性和断点续传特性等。如果不符合最低特性要求,软件中心拒绝分发软件。
步骤S406、软件中心开始分发软件包到网管服务器的主备双机上,分发到网管主用服务器结束认为分发结束。
步骤S407、网管服务器通过控制链路传回本地软件的md5码,软件中心检查该md5码与仓库软件的md5码是否一致,如果不一致则认为分发软件失败。
步骤S408、软件中心记录服务日志、冗余分发流程结束。
3、软件校验,无论是从终端用户上传到软件中心,还是软件中心分发软件到实体服务器,都需要在流程结束后保证操作前后软件内容一致。上传软件前,软件标识文件或软件包头的标识信息会提供上传软件的md5码,上传软件结束,软件中心检查软件的md5码与解析软件标识中的md5码是否一致,如果不一致,则提示用户上传失败。分发软件流程结束,软件中心请求实体服务器通过控制链路传回其本地服务器中软件的md5码,如果与软件中心中软件属性的md5码一致,软件中心才认为分发成功,并通知实体服务器分发结束。
四、拥塞控制。软件中心将软件分发到实体服务器时,可以通过对已发送包的RTT时延计算估计数据传输链路的拥塞状态,从而调整传送数据包大小,避免在网络拥塞时还大包传送数据,给网络造成不必要的压力。注意如果软件中心进行网络拥塞控制,必须是由软件中心主动推送软件到实体服务器,这与实体服务器通过FTP下载软件的传输主导方向不同,是另一种可靠分发软件包的工作方式。图5是本发明实施例的软件中心进行拥塞控制时各模块的职能和交互的示意图,如图5所示,以下描述下拥塞控制实现的基本原理:
1、当实体服务器请求软件中心分发软件时,软件中心采取拥塞控制方式推送软件,与实体服务器上的代理模块建立两条链路,一条控制链路(控制模块),一条数据传输链路(传输模块)。
2、软件中心(软件中心总控模块)准备向实体服务器传送第一包数据,首先向控制链路申请本次传送数据大小,然后通过两条链路分别传输:通过数据链路传送第一包包体数据,通过控制链路传送控制数据(比如数据包大小,校验码等)。
3、实体服务器收到第一包包体数据和控制数据后,进行数据校验,校验通过后实体服务器将第一包数据的发送时延及其他链路传输数据通过控制链路返回软件中心。
4、软件中心控制链路收到第一包数据的控制数据后,缓存。
5、软件中心传送第N包数据到实体服务器前,控制链路根据前N-1包数据的发送时延的平均值和其他链路传输数据的平均值简单估计当前网络拥塞情况,使用该平均值与理想值比较,如果大于理想值,则减小第N包数据的大小;如果小于理想值,则增大第N包数据大小;注意减小数据包大小应基数减小,而增大数据包大小则应缓慢增加。
6、如果软件中心是代理角色,即待分发的软件在当前的软件中心并不存在,而是通过当前软件中心代理在广域网的软件仓库或另一个软件中心下载。在此情况下,当前的拥塞控制需要增加对上流流入数据速度的考虑。上流流入数据先加入一个队列称为流入队列,控制链路计算发送数据包大小需要综合流入队列和历史传输控制数据,既不拥塞流出网络,也不会导致无数据可发送的局面。
以上功能保证了软件中心可以高可靠性的提供服务。软件中心除提供对实体服务器软件分发的基础服务外,还可以提供软件安装、软件升级、代理下载软件的服务,这些服务都是以软件分发服务为前提
1、软件安装服务。软件中心可以驱动实体服务器安装软件。实体服务器请求软件中心安装软件,软件中心收到该请求后,首先确定实体服务器提供的用户信息是否具备足够权限,然后检查待安装软件是否存在,检查待安装软件的依赖软件是否存在。待安装软件准备完毕之后,软件中心向实体服务器请求特性发现,获取到实体服务器的身份和特性列表后,软件中心按最低安装特性要求检查。由于是安装服务,软件中心还请求实体服务器提供静默安装的配置。以上检查全部通过后,软件中心根据实体服务器的请求信息选择一种分发软件的方式开始分发软件,分发软件的方式有实体服务器FTP下载和软件中心避免网络拥塞的推送两种方式。分发软件到实体服务器的主用机结束分发流程结束,软件中心根据静默安装配置驱动实体服务器安装软件。
图6是本发明实施的软件安装服务的流程图,如图6所示,该服务包括以下步骤:
步骤S600、网管服务器与软件中心服务器之间建立连接。
步骤S601、网管服务器请求软件中心安装某个软件,并提供待装软件坐标信息和软件中心需要的安全信息。
步骤S602、软件中心验证网管服务器提供的安全信息,如果验证无法通过则拒绝安装软件。
步骤S603、软件中心进行特性发现,要求网管服务器提供特性列表。
步骤S604、网管服务器提供特性列表,软件中心校验特性列表,必须具有可FTP下载特性、双机特性和断点续传特性等。如果不符合最低特性要求,软件中心拒绝安装软件。
步骤S605、软件中心请求获取静默安装配置。
步骤S606、网管服务器响应静默安装配置,软件中心根据静默安装规范检查静所需信息是否完备。
步骤S607、软件中心分发软件成功。
步骤S608、软件中心根据静默安装配置驱动软件静默安装。
步骤S609、软件中心记录服务日志、软件安装流程结束。
2、软件升级服务。软件中心可以驱动实体服务器升级软件。实体服务器请求软件中心升级软件,软件中心收到该请求后,首先确定实体服务器提供的用户信息是否具备足够权限,然后检查待升级软件的升级包是否存在。接着,软件中心向实体服务器请求实体发现,获取到实体服务器的身份和特性列表后,软件中心按最低升级特性要求检查。由于是升级服务,软件中心还请求实体服务器提供升级步骤的配置。以上检查全部通过后,软件中心根据实体服务器的请求信息选择一种分发软件的方式开始分发升级包,分发软件的方式有实体服务器FTP下载和软件中心避免网络拥塞的推送。分发升级包到实体服务器的主用机结束分发流程结束,软件中心根据升级步骤配置驱动实体服务器升级软件。
图7是本发明实施例的软件升级服务的流程图,如图7所示,该服务包括以下步骤:
步骤S700、网管服务器与软件中心服务器之间建立连接。
步骤S701、网管服务器请求软件中心升级某个软件,并提供待装软件坐标信息和软件中心需要的安全信息。
步骤S702、软件中心验证网管服务器提供的安全信息,如果验证无法通过则拒绝升级软件。
步骤S703、软件中心进行特性发现,要求网管服务器提供特性列表。
步骤S704、网管服务器提供特性列表,软件中心校验特性列表,必须具有可FTP下载特性、双机特性和断点续传特性等。如果不符合最低特性要求,软件中心拒绝升级软件。
步骤S705、软件中心请求获取远程升级配置。
步骤S706、网管服务器响应远程升级配置,软件中心根据远程升级规范检查所需信息是否完备。
步骤S707、软件中心分发升级包成功。
步骤S708、软件中心根据远程升级配置驱动软件升级。
步骤S709、软件中心记录服务日志、软件升级流程结束。
3、代理下载服务,软件中心可以代理网管服务器对其他软件的请求,也可以代理另一个软件中心的分发软件服务。在计算出下载路径后,会从软件中心获取软件或从广域网获取库或包,该软件被分发到当前软件中心后,最后再分发到实体服务器。可以理解当前软件中心实现为实体服务器所需软件的局域网内部私服。实体服务器不直接面对广域网,也使得实体服务器在安装和升级时更加安全。
图8是本发明实施例的代理下载软件服务的流程图,如图8所示,该服务包括以下步骤:
步骤S800、网管服务器与软件中心服务器之间建立连接。
步骤S801、网管服务器请求软件中心下载某个非软件中心软件的服务,提供了软件坐标,并提供了软件中心需要的安全信息。
步骤S802、软件中心验证网管服务器提供的安全信息,如果验证无法通过则拒绝下载软件。
步骤S803、软件中心计算软件获取方式,如果经检查无法获取则拒绝代理下载服务。
步骤S804、软件中心访问中央仓库或其他软件中心,下载指定坐标的软件。
步骤S805、软件中心冗余上传软件流程执行成功。
步骤S806、软件中心冗余分发软件流程执行成功。
步骤S807、软件中心代理软件下载流程结束。
综上所述,借助于本发明实施例的高可靠性的软件中心系统,可以为网管软件提供相关的功能与服务。与现有技术中的软件中心只负责分发软件相比,本发明实施例的软件中心系统更突出高可靠的特性和增值服务,主要包括:软件中心系统建立了一套软件准入规范,准入规范包括基本信息准入、业务规则准入和依赖准入,其中基本信息准入要求软件中心的软件都具有符合规范的软件坐标信息,由软件坐标唯一标识软件,软件更易于查询和管理。软件中心采取了冗余的方式提供可靠的上传服务,使得主备软件中心都具有传送软件的能力。当网管服务器请求软件服务时,软件中心要求通过安全认证,通过特性发现后,网管服务器符合最低特性要求,软件中心才开始分发软件,软件中心也是采取冗余的方式提供可靠的分发服务。软件中心提供的分发方式包括网管服务器FTP下载和软件中心主动拥塞控制分发两种方式,其中拥塞控制可以更加合理的利用网络环境,提高分发的可靠性。软件中心除了提供基础的分发软件服务外,还提供驱动静默安装和远程升级服务,还支持代理网管服务器下载软件服务,将软件相关的功能从网管服务器中解耦出来,让网管服务器更专业的负责核心业务相关的功能。软件中心制定了一系列规范和接口,并实现了轻量的软件中心代理,网管服务器既可以在裸机上部署该代理,也可以作为一个模块即插入网管服务器,由代理保证与软件中心的通讯。只有提供高可靠性的服务后,软件中心才会被更加广泛的使用,从而极大的提高开局和运维的效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的客户端中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个客户端中。可以把实施例中的模块组合成一个模块,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者客户端的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的加载有排序网址的客户端中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (14)
1.一种软件中心系统,其特征在于,所述系统与网管服务器分离部署,所述系统包括:
软件管理模块,用于根据预先设置的软件服务规范,通过服务接口为设置了代理模块的实体服务器提供软件服务;
服务接口,用于为所述代理模块提供与所述软件管理模块进行交互的接口;
代理模块,部署于与所述系统交互的实体服务器中,用于通过所述服务接口与所述软件管理模块进行交互,从所述软件管理模块为所述实体服务器获取软件服务。
2.如权利要求1所述的系统,其特征在于,所述软件管理模块具体包括:
软件准入单元,用于根据所述软件服务规范中的软件准入规范,对待上传的软件进行校验,在校验成功后,允许上传相应软件;
实体服务器特性发现单元,用于根据所述软件服务规范中的特性规范,通过所述服务接口中的特性发现接口,与所述代理模块进行交互,进行实体服务器特性的注册和发现;
软件冗余传输单元,用于在采用主备两台服务器同时部署所述软件中心系统时,对主备两台服务器进行软件冗余上传和软件冗余分发;
拥塞控制单元,用于在将软件分发到实体服务器时,通过所述服务接口中的拥塞控制接口,根据已经发送的数据包的延时计算数据传输链路的拥塞状态,并根据所述拥塞状态调整后续传输数据包的大小;在不存在待分发的软件时,对流入本地的数据速度进行控制。
3.如权利要求1所述的系统,其特征在于,所述软件管理模块还包括:
软件安装单元,用于根据所述软件服务规范中的静默安装规范,通过所述服务接口中的静默安装接口,通过所述代理模块驱动实体服务器进行软件安装;
软件升级单元,用于根据所述软件服务规范中的远程升级规范,通过所述服务接口中的远程升级接口,通过所述代理模块驱动实体服务器进行软件升级;
代理下载单元,用于根据所述软件服务规范中的代理下载规范,并通过所述服务接口中的代理下载接口,通过所述代理模块代理实体服务器对未在本地存储软件的软件服务请求,和/或代理另一个软件中心系统的分发软件服务。
4.如权利要求2所述的系统,其特征在于,所述软件准入单元具体包括:
软件安全认证子模块,用于在接收到客户端上传的软件时,对所述客户端的操作权限进行认证,在所述客户端具备软件上传权限和软件注册权限时,存储或接收所述客户端上传该软件,在所述客户端仅具备软件上传权限,不具备软件注册权限时,在等待具备软件注册权限的用户审核通过后,存储或接收所述客户端上传该软件;在实体服务器请求提供软件服务时,对所述实体服务器提供的安全信息进行审核,在所述实体服务器无法提供所述安全信息或者提供的所述安全信息没有相应权限时,拒绝为所述实体服务器提供软件服务,其中,所述安全信息设置于所述实体服务器的代理模块中;
日志审计子模块,用于对接受软件服务或拒绝软件服务的操作进行审计日志的记录;
校验子模块,用于对待上传的软件进行基本信息准入和/或业务规则准入和/或软件依赖准入的软件准入规范检查,并通过软件校验后,存储或接收该软件。
5.如权利要求1所述的系统,其特征在于,校验子模块具体用于:
从待上传的软件上获取软件坐标信息,判断所述软件坐标信息是否符合软件类型、软件功能类型和软件版本号的基本信息准入规范,如果不符合,则拒绝上传该软件;其中,所述软件坐标信息具体包括:软件类型、软件功能类型、以及软件版本号;或者,
根据软件提供方提出的业务需求制定的业务规则检验待上传的软件是否具备准入资格,如果不具备,则拒绝上传该软件;其中,所述业务规则配置于所述待上传的软件的软件标识文件中;或者,
在所述待上传的软件的软件标识文件中配置了软件依赖规则且配置了强制检测软件依赖时,计算待上传的软件的依赖关系,查找该软件依赖的其他软件,在其依赖的其他软件都存在时,存储或接收该软件。
6.如权利要求5所述的系统,其特征在于,校验子模块具体用于:从所述待上传的软件的包头中解析出所述软件坐标信息;或者,从所述待上传的软件的软件标识文件中解析出所述软件坐标信息。
7.如权利要求2所述的系统,其特征在于,所述实体服务器特性发现单元具体包括:
实体服务器特性注册子模块,用于在实体服务器请求安装服务并安装软件成功之后,根据所述软件服务规范中的特性规范,通过所述服务接口中的特性发现接口,接收部署于所述实体服务器上的代理模块的实体服务器特性注册请求,将所述实体服务器特性清单保存在所述代理模块中;
实体服务器特性发现子模块,用于在实体服务器请求软件安装服务或升级服务时,检查相应软件的最低特性需求清单,如果没有特性要求则直接响应;如果有特性要求则请求所述实体服务器的代理模块提供实体服务器特性清单,并检查所述实体服务器特性清单是否符合该软件的特性要求,如果符合,则响应服务,否则拒绝服务。
8.如权利要求7所述的系统,其特征在于,所述代理模块具体用于:
在实体服务器请求安装服务并安装软件成功后,如果安装的软件中包含特性要求,则根据所述特性规范通过特性注册接口直接注册该实体服务器的特性,并保存所述实体服务器特性清单;在某些特性是需要探测才能确定的情况下,在所述实体服务器按特性探测方法进行探测,探测出特性后再通过特性注册接口注册该实体服务器的特性,并保存所述实体服务器特性清单。
9.如权利要求2所述的系统,其特征在于,所述软件冗余传输单元具体包括:
软件冗余上传子模块,用于在主备两台服务器同时部署软件中心系统时,当客户端将某个软件上传后,并发向主用服务器和备用服务器上传该软件,并通过所述服务接口中的同步控制接口对主用服务器与备用服务器进行软件同步;
软件冗余分发子模块,用于在主备服务器上都存在待分发软件时,通过所述服务接口中的分发控制接口分发软件包时,将主用服务器中的待分发软件发送到实体服务器的主用服务器,将备用服务器中的待分发软件发送到实体服务器的备用服务器,并创建主用服务器到实体服务器的备用服务器的数据链路、以及备用服务器到实体服务器的主用服务器的数据链路;检测四条数据链路的连接和占用情况,任何一条被占用的数据链路出现问题时,选择已创建未占用的数据链路承担问题数据链路的职责,在软件分发到实体服务器的主用服务器后,接收所述实体服务器的代理模块发送的分发结束消息,断开其他数据链;
软件校验子模块,用于在从客户端上传软件后,校验软件的第一消息摘要算法第五版MD5码与从软件标识文件或软件包头的标识信息中解析出的第二MD5码是否一致,如果一致,则提示用户上传成功,否则,则提示用户上传失败;在分发软件到实体服务器后,请求实体服务器通过控制链路传回其本地服务器中软件的第一MD5码,校验其与从软件标识文件或软件包头的标识信息中解析出的第二MD5码是否一致,如果一致,则确认分发成功,并通知实体服务器分发结束,否则,通知实体服务器分发失败。
10.如权利要求9所述的系统,其特征在于,软件冗余上传子模块具体用于:
在软件上传到主用服务器过程中发生传输中断时,保持软件上传到备用服务器,待上传到备用服务器成功后,检测到该软件并通过同步控制接口同步到主用服务器上,在软件上传到备用服务器过程中发生传输中断时,保持软件上传到主用服务器,待上传到主用服务器成功后,检测到该软件并通过同步控制接口同步到备用服务器上,在软件上传到主备服务器都发生传输中断时,通知客户端网络异常,无法上传软件。
11.如权利要求2所述的系统,其特征在于,所述拥塞控制单元具体用于:
当实体服务器请求分发软件时,与实体服务器上的代理模块建立两条链路,其中一条为控制链路,另一条为数据传输链路;
在准备向实体服务器传送第一包数据时,向所述控制链路申请本次传送的数据大小,根据所述数据大小通过所述数据传输链路传送所述第一包数据的包体,通过所述控制链路传送控制数据;
在所述实体服务器收到第一包数据的包体和所述控制数据后,接收所述实体服务器通过所述控制链路发送的第一包数据的发送时延及其他链路传输数据,并进行缓存;
在传送第N包数据到实体服务器前,根据前N-1包数据的发送时延的平均值和其他链路传输数据的平均值估计当前网络拥塞值,将所述网络拥塞值与预先设置的阈值进行比较,如果大于或等于所述阈值,则减小第N包数据的大小;如果小于所述阈值,则增大第N包数据的大小,其中,N为大于或等于1的整数;
在待分发的软件不存在时,对流入本地的数据速度进行控制,将流入本地的数据加入预先设置的流入队列,根据所述流入流入队列和所述网络拥塞值计算发送数据包的大小。
12.如权利要求3所述的系统,其特征在于,所述软件安装单元具体用于:
在收到实体服务器的安装软件请求后,检验所述实体服务器提供的用户信息是否具备足够权限,在具备足够权限的情况下,检查待安装软件是否存在,以及待安装软件的依赖软件是否存在,在判断均存在的情况下,准备待安装软件,并向所述实体服务器请求特性发现,在获取到所述实体服务器的身份和实体服务器特性清单后,根据所述实体服务器的身份和所述实体服务器特性清单进行最低安装特性要求的检查,在检查通过后,请求所述实体服务器提供静默安装配置,根据实体服务器的安装软件请求选择一种分发软件的方式进行软件分发,并根据所述静默安装配置驱动实体服务器进行软件安装。
13.如权利要求3所述的系统,其特征在于,所述软件升级单元具体用于:
收到实体服务器发送的升级软件请求后,检验所述实体服务器提供的用户信息是否具备足够权限,在具备足够权限的情况下,检查待升级软件的升级包是否存在,在存在的情况下,向所述实体服务器请求特性发现,在获取到所述实体服务器的身份和实体服务器特性清单后,根据所述实体服务器的身份和所述实体服务器特性清单进行最低升级特性要求的检查,在检查通过后,请求实体服务器提供升级步骤配置,根据实体服务器的安装软件请求选择一种分发软件的方式进行升级包分发,并根据所述升级步骤配置驱动实体服务器进行软件升级。
14.如权利要求3所述的系统,其特征在于,所述代理下载单元具体用于:
收到实体服务器发送的代理下载请求后,计算下载路径,根据所述下载路径从其他软件中心或从广域网获取软件,在该软件被分发到本地后,再分发到所述实体服务器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410616930.XA CN105635218B (zh) | 2014-11-05 | 2014-11-05 | 软件中心系统 |
PCT/CN2015/084855 WO2016070651A1 (zh) | 2014-11-05 | 2015-07-22 | 软件中心系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410616930.XA CN105635218B (zh) | 2014-11-05 | 2014-11-05 | 软件中心系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105635218A true CN105635218A (zh) | 2016-06-01 |
CN105635218B CN105635218B (zh) | 2020-10-16 |
Family
ID=55908521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410616930.XA Active CN105635218B (zh) | 2014-11-05 | 2014-11-05 | 软件中心系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105635218B (zh) |
WO (1) | WO2016070651A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105656704A (zh) * | 2014-11-12 | 2016-06-08 | 腾讯数码(天津)有限公司 | 页面异常检测方法、装置及系统 |
CN106713030A (zh) * | 2016-12-21 | 2017-05-24 | 无锡江南计算技术研究所 | 基于安全管控的软件源管理方法以及软件功能管理系统 |
WO2019201185A1 (zh) * | 2018-04-16 | 2019-10-24 | 深圳Tcl新技术有限公司 | 一种蓝牙传输控制方法、系统及存储介质 |
CN112905475A (zh) * | 2021-03-11 | 2021-06-04 | 湖南化工职业技术学院(湖南工业高级技工学校) | 一种基于计算机的软件测试平台 |
CN114389999A (zh) * | 2021-12-27 | 2022-04-22 | 鹏城实验室 | 一种基于数据包的网络传输方法、装置、设备及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110637443B (zh) | 2019-08-19 | 2023-09-29 | 北京小米移动软件有限公司 | 数据处理方法和装置、电子设备和计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105745A (zh) * | 2006-07-14 | 2008-01-16 | 中兴通讯股份有限公司 | 分布式软件系统的部署方法 |
US20080148234A1 (en) * | 2006-12-19 | 2008-06-19 | International Business Machines Corporation | Data Synchronization Mechanism for Change-Request-Management Repository Interoperation |
CN103400066A (zh) * | 2013-07-29 | 2013-11-20 | 王克 | 用于管理软件的系统和方法 |
CN103559591A (zh) * | 2013-11-20 | 2014-02-05 | 北京可信华泰信息技术有限公司 | 基于可信计算的软件管理系统和管理方法 |
-
2014
- 2014-11-05 CN CN201410616930.XA patent/CN105635218B/zh active Active
-
2015
- 2015-07-22 WO PCT/CN2015/084855 patent/WO2016070651A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105745A (zh) * | 2006-07-14 | 2008-01-16 | 中兴通讯股份有限公司 | 分布式软件系统的部署方法 |
US20080148234A1 (en) * | 2006-12-19 | 2008-06-19 | International Business Machines Corporation | Data Synchronization Mechanism for Change-Request-Management Repository Interoperation |
CN103400066A (zh) * | 2013-07-29 | 2013-11-20 | 王克 | 用于管理软件的系统和方法 |
CN103559591A (zh) * | 2013-11-20 | 2014-02-05 | 北京可信华泰信息技术有限公司 | 基于可信计算的软件管理系统和管理方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105656704A (zh) * | 2014-11-12 | 2016-06-08 | 腾讯数码(天津)有限公司 | 页面异常检测方法、装置及系统 |
CN105656704B (zh) * | 2014-11-12 | 2020-02-18 | 腾讯数码(天津)有限公司 | 页面异常检测方法、装置及系统 |
CN106713030A (zh) * | 2016-12-21 | 2017-05-24 | 无锡江南计算技术研究所 | 基于安全管控的软件源管理方法以及软件功能管理系统 |
WO2019201185A1 (zh) * | 2018-04-16 | 2019-10-24 | 深圳Tcl新技术有限公司 | 一种蓝牙传输控制方法、系统及存储介质 |
CN110392367A (zh) * | 2018-04-16 | 2019-10-29 | 深圳Tcl新技术有限公司 | 一种蓝牙传输控制方法、系统及存储介质 |
CN112905475A (zh) * | 2021-03-11 | 2021-06-04 | 湖南化工职业技术学院(湖南工业高级技工学校) | 一种基于计算机的软件测试平台 |
CN112905475B (zh) * | 2021-03-11 | 2022-09-06 | 湖南化工职业技术学院(湖南工业高级技工学校) | 一种基于计算机的软件测试平台 |
CN114389999A (zh) * | 2021-12-27 | 2022-04-22 | 鹏城实验室 | 一种基于数据包的网络传输方法、装置、设备及存储介质 |
CN114389999B (zh) * | 2021-12-27 | 2023-08-18 | 鹏城实验室 | 一种基于数据包的网络传输方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2016070651A1 (zh) | 2016-05-12 |
CN105635218B (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105635218B (zh) | 软件中心系统 | |
US11693746B2 (en) | Systems and methods for enabling a highly available managed failover service | |
US11366728B2 (en) | Systems and methods for enabling a highly available managed failover service | |
US11341005B2 (en) | Systems and methods for enabling a highly available managed failover service | |
US20170163478A1 (en) | Method,electronic device and system for updating client configuration in key-value pair database | |
CN112261172B (zh) | 服务寻址访问方法、装置、系统、设备及介质 | |
CN112988485A (zh) | 电力物联网设备模拟测试方法及装置 | |
US9832198B2 (en) | Service-based message access layer frame and implementation method thereof | |
US12117983B2 (en) | Model ML registry and model serving | |
KR20140112643A (ko) | 이종 서비스 간 서비스 제공 방법과 사용자 단말 및 웹 서버 | |
CN113761509A (zh) | iframe验证登录方法及装置 | |
US11379434B2 (en) | Efficient and automatic database patching using elevated privileges | |
CN112543109A (zh) | 一种云主机创建方法、系统、服务器及存储介质 | |
US20130246523A1 (en) | Browser based recovery discovery | |
US10992748B1 (en) | Verification of event-based synchronization | |
CN114020313A (zh) | 应用更新方法及相关设备 | |
CN113032477A (zh) | 基于gtid的长距离数据同步方法、装置及计算设备 | |
US12124344B2 (en) | Systems and methods for enabling a highly available managed failover service | |
CN114915545B (zh) | 基于dhcp网络集群的应用调度部署管理方法 | |
US11734438B2 (en) | Secure management script deployment | |
CN117955829A (zh) | 机器初始环境创建方法、主设备、子设备及可读存储介质 | |
CN117093241A (zh) | 一种待发布程序监测方法、装置以及电子设备 | |
CN115955477A (zh) | 基于云游戏的内网游戏文件分发方法、装置、介质及设备 | |
CN116805948A (zh) | 一种回包数据校验方法、装置、电子设备及存储介质 | |
CN117176551A (zh) | 一种服务请求的反馈方法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200618 Address after: 518057 Zhongxing building, A3-01, A3-02, Nanshan District hi tech Industrial Park, Shenzhen, Guangdong Applicant after: Shenzhen ZTE Technical Service Co.,Ltd. Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice Applicant before: ZTE Corp. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |