一种分布式网络系统脚本自动配置的方法及装置的制作方法

文档序号:7896413阅读:406来源:国知局
专利名称:一种分布式网络系统脚本自动配置的方法及装置的制作方法
技术领域
本发明涉及分布式网络系统技术领域,尤其涉及一种分布式网络系统脚本自动配置的方法及装置。
背景技术
在一个分布式网络系统(Distributed Network System)中,一组独立的计算机展现给用户的是一个统一的整体,当用户提交一个作业时,分布式网络操作系统能够根据需要在系统中选择最合适的处理器,将用户的作业提交到该处理程序,在处理器完成作业后, 将结果传给用户。在这个过程中,用户并不会意识到有多个处理器的存在,这个系统就像是一个处理器一样。一个分布式网络系统通常由若干个可以独立执行的程序模块组成,它们分布于一个分布式网络处理系统的多台计算机服务器上被同时执行。这些程序模块要正确的被安装执行并使用,往往需要在该程序模块所在的服务器上配置一些脚本内容,当这些程序模块执行的时候,会查询这些脚本来获取基本的配置信息,以便正常运行。目前通常采用手工方式配置脚本,即针对分布式网络中的每台机器,单独由专人来手动配置针对此台机器的配置文件,依次类推一台台配置系统中所有的服务器的配置文件。对于一个由很多程序模块和很多台计算机服务器所构成的分布式网络系统中,配置这些脚本内容是一个非常繁杂且易出错的过程。

发明内容
本发明实施例提供一种分布式网络系统脚本自动配置的方法及装置,以克服手工配置繁琐、不准确的问题。为此,本发明实施例采用如下技术方案—种分布式网络系统脚本自动配置的方法,包括获取操作员针对所述分布式网络系统中各台计算机的最新输入信息,所述输入信息包括需要更新的程序模块和更新内容;分别为各台计算机自动配置一份脚本文件针对当前待配置计算机,对于所述输入信息中包括的程序模块,读取所述输入信息中该程序模块对应的更新内容配置脚本信息;对于系统确定的当前待配置计算机需要配置的其余程序模块,读取系统预置的默认信息配置脚本信息。优选地,在配置完当前程序模块之后,还包括判断当前程序模块是否有关联模块,如果有,则对该关联程序模块进行脚本配置。优选地,所述对该关联程序模块进行脚本配置具体包括判断所述输入信息中是否包括该关联程序模块,若是,则读取输入信息中该关联程序模块对应的更新内容配置脚本信息,否则,读取系统预置的默认信息配置脚本信息。优选地,所述当前待配置计算机需要配置的其余程序模块,是指所述系统中的总程序模块清单中除去所述输入信息中针对当前待配置计算机需要更新的程序模块之外的程序模块。优选地,在配置脚本文件过程中,是按照所述总程序模块清单中的各个程序模块顺序进行的。一种分布式网络系统脚本自动配置的装置,包括输入信息获取单元,用于获取操作员针对所述分布式网络系统中各台计算机的最新输入信息,所述输入信息包括需要更新的程序模块和更新内容;配置单元,用于分别为各台计算机自动配置一份脚本文件,其中, 所述配置单元进一步包括输入信息配置子单元,对于当前待配置计算机在所述输入信息中包括的程序模块,用于读取输入信息获取单元,利用输入信息中该程序模块对应的更新内容配置脚本信息;默认配置子单元,针对系统确定的当前待配置计算机需要配置的其余程序模块,用于读取系统预置的默认信息配置脚本信息。优选地,所述配置单元进一步还包括关联配置子模块,用于对当前配置的程序模块的关联程序模块进行脚本配置。优选地,所述关联配置子模块,用于判断所述输入信息中是否包括该关联程序模块,若是,则读取输入信息中该关联程序模块对应的更新内容配置脚本信息,否则,读取系统预置的默认信息配置脚本信息。优选地,所述默认配置子单元,根据所述系统中的总程序模块清单中除去所述输入信息中需要更新的程序模块之外的程序模块,确定当前待配置计算机需要配置的其余程序模块。优选地,所述配置单元,在配置脚本文件过程中,是按照所述总程序模块清单中的各个程序模块顺序启动所述输入信息配置子单元或所述默认配置子单元进行的。可见,本发明可以对分布式网络系统中的所有机器进行自动配置生成脚本,这样就节省了很多操作员手工配置的时间,而且,自动化的配置方法和装置可以有效减少因为人为的低级撰写错误可能带来的风险。优选地,本发明可以自动实现关联程序模块的配置, 对于结构复杂的分布式网络系统,本发明实施例也能够快速准确的完成脚本配置。


图1为典型的分布式网络系统架构示意图;图2为分布式网络系统版本升级示意图;图3为本发明实施例分布式网络系统脚本自动配置的方法流程图;图4为本发明实施例中总程序模块清单的逻辑结构示意图;图5为本发明实施例中输入信息表的逻辑结构示意图;图6为本发明实施例分布式网络系统脚本自动配置的装置结构示意图。
具体实施例方式对一个分布式网络系统而言,需要配置的程序模块组成结构往往比较复杂,因为不同的程序模块会被规划在系统的不同机器上。同时,对于拥有海量用户的那些分布式网络系统来讲,出于减轻系统压力的考虑,往往会运用负载均衡(Load Balance)技术,通过配置多个相同的程序模块到不同的机器上,来分散用户压力,减小对单个程序模块的冲击,有效规避系统运行风险。但是在这么做的同时,也增加了分布式网络系统的结构复杂程度。
一个典型的分布式网络系统(运用了负载均衡技术)可参见图1。图1所示的分布式网络系统包括四台计算机,分别为PCl 4,各个计算机中的程序模块配置情况是PC1 配置有程序模块module A Ε、PC2配置有程序模块module A B,E F、PC3配置有程序模块module E F,G_H、PC4配置有程序模块module C,E F,J,I。在一个分布式网络系统中,随着时间推移,程序模块会随需求发生变动,分布式系统会进行版本升级,所以脚本内容往往也需要更新迭代。因此,维护这些配置脚本也会变得比较繁复,需要不断重复去更新配置脚本。例如,图1所示的分布式网络系统的版本升级示意图如图2所示。可见,分布式网络系统的脚本配置具有以下几个特点(要求) 分布式网络系统由多台计算机构成,其每台机器所包含的程序模块不同,这些程序模块要正常运行需要提前配置一些脚本,而每个模块所需配置的脚本内容不同。 分布式系统的版本可能更迭频繁,需要频繁的更新脚本配置内容。 分布式系统的脚本经常是部分更新,这样需要选择更新部分脚本内容。 计算机上的模块间有时候存在关联关系,配置模块脚本时需要兼顾考虑其关联模块的脚本配置。因此,针对分布式系统其程序模块的结构复杂性,本方法采用如下基本思路进行脚本自动配置针对每一台具体的机器,操作员若给出本次需要更新的程序模块名称和更新内容,则自动修改配置这些程序模块的脚本内容。对于没给出的程序模块,则配置一份默认的脚本内容。请参见图3,为本发明实施例分布式网络系统脚本自动配置的方法流程图,包括以下步骤S301 获取操作员针对分布式网络系统中各台计算机的最新输入信息,其中,输入信息包括需要更新的程序模块和更新内容;S302 分别为各台计算机自动配置一份脚本文件针对当前待配置计算机,执行S3021 S3023步骤S3021 对于输入信息中包括的程序模块,读取输入信息中该程序模块对应的更新内容配置脚本信息;S3022:对于系统确定的当前待配置计算机需要配置的其余程序模块,读取系统预置的默认信息配置脚本信息。其中,默认信息是预先设置在系统中的,默认信息一般是指针对上个版本的配置 fn息ο除此之外,有些程序模块之间可能存在关联关系,需要关联模块的支持才能正确发挥作用。对于这些有关联关系的程序模块,如果操作员并没有给出关联模块信息,也需要自动配置这些关联模块。以便支持其关联模块的正常使用。因此,在执行S3021或S3022步骤配置完当前程序模块之后,还包括以下步骤判断当前程序模块是否有关联模块,如果有,则对该关联程序模块进行脚本配置。 其中,对于管理程序模块配置的具体过程为判断所述输入信息中是否包括该关联程序模块,若是,则读取输入信息中该关联程序模块对应的更新内容配置脚本信息,否则,读取系统预置的默认信息配置脚本信息。
需要说明的是,关联模块的关系是预先设置在系统中的,具体地,根据系统网元关系设置各个程序模块的关联模块。下面通过一个具体的自动化脚本配置的例子详细阐述本发明实施例。以图1中的PC 1为例,在这里假设Module C(图1中MC)和Module D (图中MD) 两个模块是Module A(图中ΜΑ)的关联模块,Module C同时也是Module B的关联模块。(1)首先保存一份该系统所有程序模块名称的总程序模块清单列表(Whole_ Table),作为查询比较的数据源清单,可以用各种数据结构保存Wholejable。假设该分布式网络系统有A J共10个模块,Wholejable示意图可参见图4。(2)假设操作员的输入信息包括了 Module A,Module B和Module D。那么首先保存一份操作员输入的程序模块名称以及每个模块的配置信息列表(Inputjable)。同理,可以用各种数据结构保存。Inputjable示意图可参见图5。(3)建立一个供查询某个程序模块是否已经配置的初始为空的数据结构,做为脚本配置表(Comparejable)。同理,可以用各种数据结构实现。对每个需要配置的模块来说,首先检查其是否已经在Comparejable中存在,若存在,代表该模块在该机器上已经配置,不需要再次配置。(4)下面,按照总程序模块清单(Wholejable)中程序模块的顺序,利用操作员的输入信息(Inputjable)或者系统保存的默认信息,针对PCl进行脚本配置(Compare_ Table)(4. 1)首先是按照Whole_Table顺序配置Module A 查询Input_Table,发现其在操作员要求配置的清单上,然后查询Comparejable,发现Module A未配置,则按照操作员的输入信息来配置,配置完Module A以后,在Compare_Table中保存Module A的名称。(4. 11)再来检查Module A的第一个关联模块C 对Module C,发现Module C没有在操作员的输入信息Inputjable清单里,同时也没有在Comparejable表中(即它也没有被其它模块作为关联网元自动配置过)。那么根据关联模块的要求,对Module C配置默认的信息,配置完Module C以后,在Compare_Table中保存Module C的名称。1 再来检查Module A的第一个关联模块D 对Module D,发现Module D在操作员的输入信息^putjable清单里,那么不对其进行自动配置,等到按顺序执行到配置Module D时,再按操作员输入的最新配置信息进行配置。(4. 2)然后顺序处理Whole_Table清单里的Module B 首先查询Input_Table,发现操作员有输入信息,然后查询Comparejable,发现ModuleB未配置,则按照操作员的输入信息来配置,配置完Module B以后,在Compare_Table中保存Module B的名称。(4. 21)再来检查Module B的关联模块C 发现Module C虽然没有在操作员的输入信息hput_Table清单里,但是它存在于Comparejable表中(即它之前被其它模块(这里的Module Α)作为关联网元自动配置过)。则这里不需要再对Module C进行配置了。(4. 3)然后再顺序处理Whole_Table清单里的Module D,首先查询Input_Table, 发现操作员有输入信息,然后查询Comparejable,发现ModuleD未配置,则按照操作员的输入信息来配置,配置完Module D以后,在Compare_Table中保存Module D的名称。(4. 4)然后再顺序处理Whole_Table清单里的Module Ε,首先查询Input_Table, 发现操作员对Module没有输入信息,然后查询Comparejable,发现Module E也未配置,则对Module E配置默认的信息,配置完Module E以后,在Compare_Table中保存Module E 的名称。以此类推,对WholeJable清单里的其它模块都一一进行配置。需要说明的是,这里PCl只有MA ME五个模块,但是因为配置程序对效率要求不高,为了处理流程方便,省去考虑每个机器的模块分布情况,因此优选地,对每台机器上都做一个全部网元的配置,而操作员只需要考虑对每台机器上所部属的模块及其关联模块进行配置信息输入,其它模块信息会自动配置默认的信息。当然,也可以仅对各台计算机上具有的程序模块进行配置,即,根据当前待配置计算机中的程序模块去除已配置的程序模块来确定所谓的“其余程序模块”。此时,对于上述实施例仅执行到(4.4)即结束流程。这样,配置完成后就获得了一份自动生成的配置脚本文件。同样的,可以对该分布式系统里的所有机器,一一进行自动配置生成脚本,这样就节省了很多操作员手工配置的时间,同时这种自动化的配置方法可以有效减少因为人为的低级撰写错误可能带来的风险。而且,本发明实施例特别考虑到关联程序模块的配置,对于结构复杂的分布式网络系统,本发明实施例也能够快速准确的完成脚本配置。与上述分布式网络系统脚本自动配置方法相对应,本发明实施例还提供一种分布式网络系统脚本自动配置的装置,该装置可以在分布式系统中的任意台机器上实现,具体的形式上,该装置可以就是指一台计算机,也可以是指计算机所包括的实现其核心功能的逻辑单元,而且,该装置的功能可以通过软件、硬件或软硬件结合实现。参见图6,为该装置结构示意图,包括输入信息获取单元601和配置单元602,其中的输入信息获取单元601用于获取操作员针对所述分布式网络系统中各台计算机的最新输入信息,所述输入信息包括需要更新的程序模块和更新内容;配置单元602用于分别为各台计算机自动配置一份脚本文件。具体地,配置单元602进一步包括输入信息配置子单元6021和默认配置子单元 6022,其中,输入信息配置子单元6021,对于当前待配置计算机在所述输入信息中包括的程序模块,用于读取输入信息获取单元601,利用输入信息中该程序模块对应的更新内容配置脚本信息;默认配置子单元6022,针对系统确定的当前待配置计算机需要配置的其余程序模块,用于读取系统预置的默认信息配置脚本信息。优选地,所述配置单元602进一步还包括关联配置子模块6023,该关联配置子模块6023用于对当前配置的程序模块的关联程序模块进行脚本配置。关联程序模块进行脚本配置的实现过程是,判断输入信息中是否包括该关联程序模块,若是,读取输入信息中该关联程序模块对应的更新内容配置脚本信息,否则,读取系统预置的默认信息配置脚本信肩、ο优选地,所述默认配置子单元6022可根据系统的总程序模块清单中除去输入信息中需要更新的程序模块之外的程序模块,来确定当前待配置计算机需要配置的其余程序模块。此时,配置单元602在配置脚本文件过程中,是按照总程序模块清单中的各个程序模块顺序启动输入信息配置子单元6021或默认配置子单元6022进行的。当然,默认配置子单元6022也可以根据当前待配置计算机中所有的程序模块除去已配置的程序模块来确定所谓的“其余程序模块”。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种分布式网络系统脚本自动配置的方法,其特征在于,包括获取操作员针对所述分布式网络系统中各台计算机的最新输入信息,所述输入信息包括需要更新的程序模块和更新内容;分别为各台计算机自动配置一份脚本文件针对当前待配置计算机,对于所述输入信息中包括的程序模块,读取所述输入信息中该程序模块对应的更新内容配置脚本信息;对于系统确定的当前待配置计算机需要配置的其余程序模块,读取系统预置的默认信息配置脚本信息。
2.根据权利要求1所述方法,其特征在于,在配置完当前程序模块之后,还包括判断当前程序模块是否有关联模块,如果有,则对该关联程序模块进行脚本配置。
3.根据权利要求2所述方法,其特征在于,所述对该关联程序模块进行脚本配置具体包括判断所述输入信息中是否包括该关联程序模块,若是,则读取输入信息中该关联程序模块对应的更新内容配置脚本信息,否则,读取系统预置的默认信息配置脚本信息。
4.根据权利要求1、2或3所述方法,其特征在于,所述当前待配置计算机需要配置的其余程序模块,是指所述系统中的总程序模块清单中除去所述输入信息中针对当前待配置计算机需要更新的程序模块之外的程序模块。
5.根据权利要求4所述方法,其特征在于,在配置脚本文件过程中,是按照所述总程序模块清单中的各个程序模块顺序进行的。
6.一种分布式网络系统脚本自动配置的装置,其特征在于,包括输入信息获取单元,用于获取操作员针对所述分布式网络系统中各台计算机的最新输入信息,所述输入信息包括需要更新的程序模块和更新内容;配置单元,用于分别为各台计算机自动配置一份脚本文件,其中,所述配置单元进一步包括输入信息配置子单元,对于当前待配置计算机在所述输入信息中包括的程序模块,用于读取输入信息获取单元,利用输入信息中该程序模块对应的更新内容配置脚本信息;默认配置子单元,针对系统确定的当前待配置计算机需要配置的其余程序模块,用于读取系统预置的默认信息配置脚本信息。
7.根据权利要求6所述装置,其特征在于,所述配置单元进一步还包括关联配置子模块,用于对当前配置的程序模块的关联程序模块进行脚本配置。
8.根据权利要求7所述装置,其特征在于,所述关联配置子模块,用于判断所述输入信息中是否包括该关联程序模块,若是,则读取输入信息中该关联程序模块对应的更新内容配置脚本信息,否则,读取系统预置的默认信息配置脚本信息。
9.根据权利要求6、7或8所述装置,其特征在于,所述默认配置子单元,根据所述系统中的总程序模块清单中除去所述输入信息中需要更新的程序模块之外的程序模块,确定当前待配置计算机需要配置的其余程序模块。
10.根据权利要求9所述装置,其特征在于,所述配置单元,在配置脚本文件过程中,是按照所述总程序模块清单中的各个程序模块顺序启动所述输入信息配置子单元或所述默认配置子单元进行的。
全文摘要
本发明公开了一种分布式网络系统脚本自动配置的方法及装置,其中的方法包括获取操作员针对所述分布式网络系统中各台计算机的最新输入信息,所述输入信息包括需要更新的程序模块和更新内容;分别为各台计算机自动配置一份脚本文件针对当前待配置计算机,对于所述输入信息中包括的程序模块,读取所述输入信息中该程序模块对应的更新内容配置脚本信息;对于其余需要配置的程序模块,读取系统预置的默认信息配置脚本信息。采用本发明,可节省很多操作员手工配置的时间,同时这种自动化的配置方案可有效减少因为人为的低级撰写错误可能带来的风险。
文档编号H04L29/08GK102156685SQ20101060020
公开日2011年8月17日 申请日期2010年12月22日 优先权日2010年12月22日
发明者刘杨 申请人:青岛海信传媒网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1