基于树形结构对行政区划资源进行升级的系统及方法转让专利

申请号 : CN201510383333.1

文献号 : CN104951557B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王梦雄

申请人 : 武汉噢易云计算股份有限公司

摘要 :

本发明公开了一种基于树形结构对行政区划资源进行升级的系统及方法,涉及程序升级领域,系统包括升级服务器、升级存储器和至少两个层级,升级服务器与升级存储器连接,下一层级的升级模块中至少一个与上一层级的一个升级模块相连,上一层级的升级模块与升级存储器;该方法为:升级服务器将升级包和XML升级文件目录发送至升级存储器,上一层级的升级模块检测到升级存储器中存在XML升级文件目录时进行下载,并与XML当前文件目录比对,有差异时进行升级;上一层级的升级模块检测是否存在XML升级文件目录时进行下载,并与XML当前文件目录比对,有差异时进行升级,本发明能够较好的控制升级范围。

权利要求 :

1.一种基于树形结构对行政区划资源进行升级的系统,其特征在于:所述系统包括升级服务器、升级存储器和至少两个层级:上一层级和下一层级,所述升级服务器与升级存储器连接,每个层级均部署有至少一个升级模块,下一层级的升级模块中至少一个与上一层级的一个升级模块相连,上一层级的升级模块与升级存储器相连;

所述升级服务器用于导入、存储新版本升级包,并根据新版本升级包运算生成并存储XML升级文件目录,将新版本升级包及XML升级文件目录发送至升级存储器;

所述升级存储器用于接收和存储来自升级服务器的新版本升级包和XML升级文件目录;

所述上一层级的升级模块用于检测升级存储器中是否存在XML升级文件目录,并在存在时下载并储存XML升级文件目录,根据本地当前版本文件运算生成XML当前文件目录后,与XML升级文件目录进行比对,比对有差异时,下载并保存差异文件目录相对应的差异升级文件,并根据对应的差异升级文件将本地当前版本文件进行升级;

所述下一层级的升级模块用于检测上一层级的升级模块中是否存在XML升级文件目录,并在存在时下载并储存XML升级文件目录,根据本地当前版本文件运算生成XML当前文件目录后,与XML升级文件目录进行比对,比对有差异时,下载并保存差异文件目录相对应的差异升级文件,并根据对应的差异升级文件将本地当前版本文件进行升级。

2.如权利要求1所述的基于树形结构对行政区划资源进行升级的系统,其特征在于:所述升级服务器包括存储单元、运算单元和发送单元,所述存储单元用于导入并存储新版本升级包;所述运算单元用于对存储新版本升级包进行MD5运算生成的XML升级文件目录;所述存储单元还用于存储XML升级文件目录,所述发送单元用于将所述存储单元中的新版本升级包和XML升级文件目录发送至升级存储器。

3.如权利要求1所述的基于树形结构对行政区划资源进行升级的系统,其特征在于:所述上一层级的升级模块包括检测模块、下载模块、运算模块、比对判断模块和存储模块,所述检测模块用于检测升级存储器中是否出现XML升级文件目录;所述下载模块用于下载XML升级文件目录和差异升级文件;所述存储模块用于保存XML升级文件目录和差异升级文件,所述运算模块用于本地当前版本文件进行运算生成XML当前文件目录,所述比对判断模块用于将XML当前文件目录与XML升级文件目录进行比对,并在XML当前文件目录与XML升级文件目录不同时,发送信息至下载模块,使下载模块下载差异文件目录相对应的差异升级文件。

4.如权利要求1所述的基于树形结构对行政区划资源进行升级的系统,其特征在于:所述每个层级至少一个升级模块与所述升级存储器连接,当要对指定区域进行升级时,将该区域的最高层级作为上一层级。

5.如权利要求1所述的基于树形结构对行政区划资源进行升级的系统,其特征在于:所述下一层级的升级模块包括检测模块、下载模块、运算模块、比对判断模块和存储模块,所述检测模块用于检测上一层级存储模块中是否出现XML升级文件目录;所述下载模块用于下载XML升级文件目录和差异升级文件;所述存储模块用于保存XML升级文件目录和差异升级文件,所述运算模块用于本地当前版本文件进行运算生成XML当前文件目录,所述比对判断模块用于将XML当前文件目录与XML升级文件目录进行比对,并在XML当前文件目录与XML升级文件目录不同时,发送信息至下载模块,使下载模块下载差异文件目录相对应的差异升级文件。

6.一种基于树形结构对行政区划资源进行升级的方法,其特征在于:该方法应用于树形结构系统中,该树形结构系统包括至少两个层级:上一层级和下一层级,该方法包括以下步骤:步骤一、向升级服务器中导入存储新版本升级包,根据新版本升级包运算生成XML升级文件目录并存储后发送,转入步骤二;

步骤二、升级存储器接收并保存XML升级文件目录和新版本升级包;

步骤三、上一层级的升级模块检测升级存储器存在XML升级文件目录,下载并存储XML升级文件目录,根据当前版本进行运算生成XML当前文件目录后,与XML升级文件目录进行比对,判断存在差异文件目录时,上一层级的升级模块下载差异文件目录对应的差异升级文件,本地当前版本根据差异升级文件进行升级;

步骤四、下一层级的升级模块检测升级存储器存在XML升级文件目录,下载并存储XML升级文件目录,根据当前版本进行运算生成XML当前文件目录后,与XML升级文件目录进行比对,判断存在差异文件目录时,下一层级的升级模块下载差异文件目录对应的差异升级文件,本地当前版本根据差异升级文件进行升级。

7.如权利要求6所述的基于树形结构对行政区划资源进行升级的方法,其特征在于:步骤四之后还包括以下步骤:判断将当前层级所处的节点是否为终端节点,若是,结束;若否,将当前层级作为上一层级,将该节点的子节点作为下一层级,转入步骤四。

8.如权利要求6所述的基于树形结构对行政区划资源进行升级的方法,其特征在于:步骤二中所述上一层级的升级模块的检测升级存储器的周期为0.5h。

9.如权利要求6所述的基于树形结构对行政区划资源进行升级的方法,其特征在于:步骤四中下一层级的升级模块中检测到上一层级的升级模块的周期为0.5h。

说明书 :

基于树形结构对行政区划资源进行升级的系统及方法

技术领域

[0001] 本发明涉及程序升级领域,具体涉及一种基于树形结构对行政区划资源进行升级的系统及方法。

背景技术

[0002] 目前,进行教学资源、统计信息的管理时,通常按照行政区划,将省、市、县、区域、学校、教室划分为不同的层级,形成树形结构系统,树形结构系统包括至少两个层级,在每个层级均部署应用服务,以满足每个行政区划的业务需求,这种分布方式能够较好的利用各个层级的硬件资源,形成一个庞大的应用系统结构,由于每个应用服务均能进行解耦,因此,当某个应用服务出现故障时,应用系统结构中的其他应用服务不会受到影响。
[0003] 但是,对树形结构层级进行升级时,需要在根节点部署升级服务系统,所有的子节点和终端均向升级服务系统发出升级请求,容易使得升级服务系统受到的请求过多,流量暴涨、请求爆表,升级服务系统难以正常工作。同时,对升级服务系统的处理性能要求比较高,容易造成升级失败率加大。

发明内容

[0004] 针对现有技术中存在的缺陷,本发明的目的在于提供一种基于树形结构对行政区划资源进行升级的系统及方法,能够降低对升级服务系统处理性能的要求,升级成功率较高。
[0005] 为达到以上目的,本发明采取的技术方案是:一种基于树形结构对行政区划资源进行升级的系统,所述系统包括升级服务器、升级存储器和至少两个层级:上一层级和下一层级,所述升级服务器与升级存储器连接,每个层级均部署有至少一个升级模块,下一层级的升级模块中至少一个与上一层级的一个升级模块相连,上一层级的升级模块与升级存储器相连;
[0006] 所述升级服务器用于导入、存储新版本升级包,并根据新版本升级包运算生成并存储XML升级文件目录,将新版本升级包及XML升级文件目录发送至升级存储器;
[0007] 所述升级存储器用于接收和存储来自升级服务器的新版本升级包和XML升级文件目录;
[0008] 所述上一层级的升级模块用于检测升级存储器中是否存在XML升级文件目录,并在存在时下载并储存XML升级文件目录,根据本地当前版本文件运算生成XML当前文件目录后,与XML升级文件目录进行比对,比对有差异时,下载并保存差异文件目录相对应的差异升级文件,并根据对应的差异升级文件将本地当前版本文件进行升级;
[0009] 所述下一层级的升级模块用于检测上一层级的升级模块中是否存在XML升级文件目录,并在存在时下载并储存XML升级文件目录,根据本地当前版本文件运算生成XML当前文件目录后,与XML升级文件目录进行比对,比对有差异时,下载并保存差异文件目录相对应的差异升级文件,并根据对应的差异升级文件将本地当前版本文件进行升级。
[0010] 在上述技术方案的基础上,所述升级服务器包括存储单元、运算单元和发送单元,所述存储单元用于导入并存储新版本升级包;所述运算单元用于对存储新版本升级包进行MD5运算生成的XML升级文件目录;所述存储单元还用于存储XML升级文件目录,所述发送单元用于将所述存储单元中的新版本升级包和XML升级文件目录发送至升级存储器。
[0011] 在上述技术方案的基础上,所述上一层级的升级模块包括检测模块、下载模块、运算模块、比对判断模块和存储模块,所述检测模块用于检测升级存储器中是否出现XML升级文件目录;所述下载模块用于下载XML升级文件目录和差异升级文件;所述存储模块用于保存XML升级文件目录和差异升级文件,所述运算模块用于本地当前版本文件进行运算生成XML当前文件目录,所述比对判断模块用于将XML当前文件目录与XML升级文件目录进行比对,并在XML当前文件目录与XML升级文件目录不同时,发送信息至下载模块,使下载模块下载差异文件目录相对应的差异升级文件。
[0012] 在上述技术方案的基础上,所述每个层级至少一个升级模块与所述升级存储器连接,当要对指定区域进行升级时,将该区域的最高层级作为上一层级。
[0013] 在上述技术方案的基础上,所述下一层级的升级模块包括检测模块、下载模块、运算模块、比对判断模块和存储模块,所述检测模块用于检测上一层级存储模块中是否出现XML升级文件目录;所述下载模块用于下载XML升级文件目录和差异升级文件;所述存储模块用于保存XML升级文件目录和差异升级文件,所述运算模块用于本地当前版本文件进行运算生成XML当前文件目录,所述比对判断模块用于将XML当前文件目录与XML升级文件目录进行比对,并在XML当前文件目录与XML升级文件目录不同时,发送信息至下载模块,使下载模块下载差异文件目录相对应的差异升级文件。
[0014] 一种基于树形结构对行政区划资源进行升级的方法,该方法应用于树形结构系统中,该树形结构系统包括至少两个层级:上一层级和下一层级,该方法包括以下步骤:
[0015] 步骤一、向升级服务器中导入存储新版本升级包,根据新版本升级包运算生成XML升级文件目录并存储后发送,转入步骤二;
[0016] 步骤二、升级存储器接收并保存XML升级文件目录和新版本升级包;
[0017] 步骤三、上一层级的升级模块检测升级存储器存在XML升级文件目录,下载并存储XML升级文件目录,根据当前版本进行运算生成XML当前文件目录后,与XML升级文件目录进行比对,判断存在差异文件目录时,上一层级的升级模块下载差异文件目录对应的差异升级文件,本地当前版本根据差异升级文件进行升级;
[0018] 步骤四、下一层级的升级模块检测升级存储器存在XML升级文件目录,下载并存储XML升级文件目录,根据当前版本进行运算生成XML当前文件目录后,与XML升级文件目录进行比对,判断存在差异文件目录时,下一层级的升级模块下载差异文件目录对应的差异升级文件,本地当前版本根据差异升级文件进行升级。
[0019] 在上述技术方案的基础上,步骤四之后还包括以下步骤:判断将当前层级所处的节点是否为终端节点,若是,结束;若否,将当前层级作为上一层级,将该节点的子节点作为下一层级,转入步骤四。
[0020] 在上述技术方案的基础上,步骤二中所述上一层级的升级模块的检测升级存储器的周期为0.5h。
[0021] 在上述技术方案的基础上,步骤四中下一层级的升级模块中检测到上一层级的升级模块的周期为0.5h。
[0022] 与现有技术相比,本发明的优点在于:
[0023] (1)本发明中基于树形结构对行政区划资源进行升级的方法,所有层级的升级模块至少一个与升级存储器相连,当需要对指定区域进行升级时,直接将该区域对应的最高层级作为上一层级,能够将升级区域限制在特定的区域,确定该区域升级后的系统能够正常使用后,再进行大范围的升级处理,能够较好的控制升级风险。
[0024] (2)本发明中基于树形结构对行政区划资源进行升级的方法,根据树形结构系统的布设方式,进行逐层升级,减少了升级流量和请求数量,将整个升级风险和成本分布到每一个升级模块。可以从源头将网络流量进行分流降低升级存储器的流量、而且还可以加快升级速度、加入版本升级失败,回滚机制可以有效的降低升级失败造成的影响范围。

附图说明

[0025] 图1为本发明实施例中基于树形结构对行政区划资源进行升级的方法的流程图;
[0026] 图2为本发明实施例中基于树形结构对行政区划资源进行升级的系统的结构框图。

具体实施方式

[0027] 以下结合附图及实施例对本发明作进一步详细说明。
[0028] 参见图1所示,本发明实施例提供一种基于树形结构对行政区划资源进行升级的系统及方法,该方法应用于树形结构系统中,该树形结构系统包括至少两个层级:上一层级和下一层级,每个层级包括至少一个节点,节点为根节点、子节点或者终端节点,其中,上一层级中至少有一个节点有子节点,每个层级均部署有至少一个升级模块,下一层级的升级模块中至少一个与上一层级的一个升级模块相连。
[0029] 用于选择待升级的层级(当树形结构系统中的层级大于两层时,选择单元能够选择其中任意一个没有终端节点的层级作为上一层级)。
[0030] 参见图2所示,基于树形结构对行政区划资源进行升级的系统包括升级服务器、升级存储器和部署在树形结构系统中的升级模块,升级服务器与升级存储器连接,每个层级至少一个升级模块与升级存储器连接,当要对指定区域进行升级时,将该区域的最高层级作为上一层级,该层级直接检测升级存储器中是否存在XML升级文件目录。
[0031] 升级服务器包括存储单元、运算单元和发送单元,存储单元用于导入并存储新版本升级包,新版本升级包包括若干升级文件;运算单元用于对存储新版本升级包进行MD5(Message Digest Algorithm,消息摘要算法第五版)运算生成的XML(可扩展标记语言)升级目录文件,该XML升级文件目录为新版本升级包中所有升级文件的目录,XML升级文件目录中,每个目录均与一个升级文件相对应;存储单元还用于存储XML升级文件目录,发送单元用于将存储单元中的新版本升级包和XML升级文件目录发送至升级存储器。
[0032] 升级存储器用于存储所有的新版本升级包、XML升级文件目录和每个层级的信息。
[0033] 上一层级的升级模块包括检测模块、下载模块、运算模块、比对判断模块和存储模块,检测模块用于检测升级存储器中是否出现XML升级文件目录;下载模块用于下载XML升级文件目录,运算模块用于根据本地当前版本文件进行运算生成XML当前文件目录,比对判断模块用于将XML当前文件目录与XML升级文件目录进行比对,将XML当前文件目录与XML升级文件目录的不同文件目录作为差异文件目录,发送信息至下载模块,下载模块还用于从升级存储器中下载差异文件目录对应的文件:差异升级文件。存储模块还用于存储XML当前文件目录和差异升级文件。
[0034] 下一层级的升级模块包括检测模块、下载模块、运算模块、比对判断模块和存储模块,检测模块用于检测升级存储器中是否出现XML升级文件目录;下载模块用于下载XML升级文件目录,运算模块用于根据本地当前版本文件进行运算生成XML当前文件目录,比对判断模块用于将XML当前文件目录与XML升级文件目录进行比对,将XML当前文件目录与XML升级文件目录的不同文件目录作为差异文件目录,发送信息至下载模块,下载模块还用于从升级存储器中下载差异文件目录对应的文件:差异升级文件。存储模块还用于存储XML当前文件目录和差异升级文件。
[0035] 通过逐层传递的模式进行下载,避免了所有升级模块均想升级存储器索要信息导致升级存储器流量过大,能够加快升级速度,降低加入版本升级失败的几率。
[0036] 参见图1所示,基于树形结构对行政区划资源进行升级的方法包括以下步骤:
[0037] S1:向升级服务器中导入新版本升级包,升级服务器将新版本升级包存储至存储单元;运算单元对新版本升级包进行MD5运算生成对应的XML升级文件目录,并将XML升级文件目录存储至存储单元;发送单元将新版本升级包和XML升级文件目录发送至升级存储器,转入步骤S2。
[0038] S2:升级存储器接受并保存XML升级文件目录和新版本升级包,转入步骤S3。
[0039] S3:上一层级的升级模块中的检测模块每间隔0.5h检测升级存储器中是否出现XML升级文件目录,若是,转入步骤S4。
[0040] S4:上一层级的升级模块的下载单元从升级存储器中下载升级存储器中的XML升级文件目录,并保存至存储单元,运算单元对本层级的当前版本进行MD5运算生成对应的XML当前文件目录。
[0041] S5:比对判断单元比对XML当前文件目录与XML升级文件目录,并判断是否存在差异文件目录,若是,转入步骤S6;若否,转入步骤S3。
[0042] S6:下载单元下载升级存储器的新版本升级包中与差异文件目录对应的差异升级文件,保存至存储单元,并传递至升级模块,升级模块对应的差异升级文件并进行升级,转入步骤S7。
[0043] S7:下一层级的升级模块中的检测模块每间隔0.5h检测升级存储器或者上一层级的升级模块中是否出现XML升级文件目录,若是,转入步骤S8。
[0044] S8:下一层级的升级模块中的下载单元下载上一层级的升级模块或者升级存储器中的XML升级文件目录,保存至存储单元,下一层级的升级模块中的运算单元对本层级的当前版本进行MD5运算生成对应的XML当前文件目录,转入步骤S9。
[0045] S9:下一层级的升级模块中的比对判断单元将XML当前文件目录与XML升级文件目录进行比对、判断是否存在差异文件目录,若是,转入步骤S10;若否,转入步骤S7。
[0046] S10:下载单元下载升级存储器的新版本升级包中与差异文件目录对应的差异升级文件,保存至存储单元,并传递至升级模块,升级模块对应的差异升级文件并进行升级,转入步骤S11。
[0047] S11:判断将是否当前层级的所有节点均终端节点,若是,结束;若否,将当前层级作为上一层级,将该节点的子节点作为下一层级,转入步骤S7。
[0048] 下面,通过一个实施例对本发明进行详细说明
[0049] 当需要对A区县的资源进行升级时,向升级服务器中导入新版本升级包,升级服务器将新版本升级包存储至存储单元;运算单元对新版本升级包进行MD5运算生成对应的XML升级文件目录,并将XML升级文件目录存储至存储单元;发送单元将新版本升级包和XML升级文件目录发送至升级存储器。
[0050] 升级存储器接受并保存XML升级文件目录和新版本升级包。
[0051] A县的升级模块中的检测模块检测升级存储器中出现XML升级文件目录,A县升级模块的下载单元下载升级存储器中的XML升级文件目录,运算单元对A县的当前版本进行MD5运算生成对应的XML当前文件目录。
[0052] 比对判断单元比对XML当前文件目录与XML升级文件目录,判断存在差异文件目录,下载单元下载升级存储器中与差异文件目录对应的差异升级文件,并保存至存储模块,再递至升级模块,升级模块运行差异升级文件并进行升级。
[0053] A县下一层级的镇级升级模块,镇级升级模块中检测模块检测升级存储器或者A县层级的升级模块中出现XML升级文件目录,镇级升级模块中的下载单元下载镇级的升级模块中的XML升级文件目录并保存至存储单元,镇级升级模块中的运算单元对本层级的当前版本进行MD5运算生成对应的XML当前文件目录。
[0054] 镇级升级模块中的比对判断单元将XML当前文件目录与XML升级文件目录进行比对、判断存在差异文件目录。
[0055] 镇级升级模块中的下载单元下载差异文件目录对应的差异升级文件,保存至存储模块,并进行升级。
[0056] 然后镇级下一层级的检测单元检测是否存在XML升级文件目录,重复镇级升级模块的升级步骤,逐步进行资源升级至该区域的所有升级模块完成升级。
[0057] 这种升级方式能够将升级区域限制在特定的区域,确定该区域升级后的系统能够正常使用后,再进行大范围的升级处理,能够较好的控制升级风险。
[0058] 本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。