一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

组件维护方法、电子设备及存储介质与流程

2021-11-03 20:42:00 来源:中国专利 TAG:


1.本发明涉及通信领域,尤其涉及一种组件维护方法及装置。


背景技术:

2.在目前组件维护过程中,首先需要关闭加载了待维护组件的进程,随后启动升级进程,并通过该升级进程从服务器下载组件最新版本,最后用最新版本替换本地旧版本,再启动被关闭的进程,从而完成组件维护,其维护数据的标识主要是版本号。
3.近些年来,在软件开发中,引入了越来越多的第三方组件,而第三方组件有一些是开源的,允许多个异地的开发者协同工作,其维护周期较快,版本数据较多,整体的维护相对较慢,实时性较差。


技术实现要素:

4.本发明所要解决的技术问题是:相关技术中所提供的组件维护方式的维护效率较低以及实时性较差。
5.为了解决上述技术问题,本发明第一方面提供了一种组件维护方法,包括:获取组件的当前版本数据与维护信息中的版本数据;将所述组件的当前版本数据与维护信息中的版本数据进行匹配;根据匹配结果生成组件维护状态标识;其中,所述组件维护状态标识用于表征组件未维护与组件维护完成两种不同组件维护状态;参考组件维护状态标识进行组件维护。
6.本技术第二方面提供了一种电子设备,所述电子设备包括:处理器、存储器和通信总线;所述通信总线用于实现所述处理器和存储器之间的连接通信;所述处理器用于执行所述存储器中存储的一个或者多个程序,以实现所述的组件维护方法。
7.本技术第三方面提供了一种存储介质,所述存储介质中存储有计算机程序,当数据存储装置的至少一个处理器执行所述计算机程序时,数据存储装置执行所述的组件维护方法。
8.本发明的有益效果在于,对于可正常更新版本的组件,可以直接通过本技术的技术,直接调用多线程更新这些组件,更新较为及时;对于缺少版本数据的组件,或者新构建的组件,可以直接通过本技术的技术将这些组件展示并进行汇总。由此,使用简单的逻辑结构,对大量的数据进行分析,有效地完成高复杂度的组件维护工作,全面且及时地维护组件。
附图说明
9.下面结合附图详述本发明的具体结构
10.图1为本发明第一实施例的组件维护方法的整体流程图;
11.图2为本发明第一实施例的进行组件维护的流程图;
12.图3为本发明第一实施例的获取组件维护的优先级的流程图;
13.图4为本发明第一实施例的确定中优先级组件维护的顺序的流程图;
14.图5为本发明第一实施例的更新维护信息的流程图;
15.图6为本发明第二实施例的组件维护装置的程序模块示意图;
16.图7为本发明第三实施例的电子装置的结构示意图。
具体实施方式
17.为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
18.组件是对数据和方法的简单封装。使用组件可以实现拖放式编程、快速的属性处理以及真正的面向对象的设计,使用现有的组件维护手段,需要维护人员对每个组件的版本信息了如指掌,因此,需要专业人员实时获取版本信息,监控各种组件的版本信息。而随着时代的发展,一个项目拥有越来越多的组件,产生了大量需要维护的数据,导致组件维护困难。对于使用ruby开发的项目,开发周期相对较短,更容易使用较多的组件,这一现象尤为明显。
19.上述ruby是一种语言,完全面向对象,任何东西都是对象,包括其他语言中的基本数据类型,ruby的变量可以保存任何类型的数据,任何东西都有值不管是数学或者逻辑表达式还是一个语句,都会有值。
20.需要了解的是,ruby是开源的,在web上免费提供,可以用来编写通用网关接口(cgi)脚本,也可以被嵌入到超文本标记语言(html)。其可扩展性强,用ruby编写的大程序易于维护。ruby支持许多gui工具,比如tcl/tk、gtk和opengl;其可以很容易地连接到db2、mysql、oracle和sybase。而且,其有丰富的内置函数,可以直接在ruby脚本中使用。
21.基于此,为了改变这一现状,不再人工记录版本信息与维护信息。而是通过系统对数据的自动比较与匹配,确定二者的区别与联系,生成维护状态标识。通过维护状态标识,可以直接调用多个线程,同时对多个组件进行维护。
22.可以了解的是,如果维护状态标识是相同的,则多个组件可以同步进行维护;如果维护状态标识是不同的,多个组件可能分别进行维护,其可能异地进行维护,也可能具有时间差的维护。
23.第一实施例:
24.请参阅图1,图1为本发明第一实施例的组件维护方法的整体流程图。本发明第一方面介绍一种组件维护方法,包括:
25.步骤s101、获取组件的当前版本数据与维护信息中的版本数据。
26.在本实施例中,组件的当前版本数据,主要是指,在待检测的ruby项目或者其他项目中,其具体组件的当前版本数据。组件的当前版本数据,可以通过数据库来获取,也可以通过对待维护的组件进行解析,获取其中的版本数据,以获得更准确地数据。
27.在本实施例中,维护信息中的版本数据,主要是指,在某些网络或软件库中,记录的该组件的版本数据,其可以是静态的,也可以是动态的。组件的当前版本数据与维护信息中的版本数据,通过某种关键字进行关联,该关键字可以是组件的名称,也可以是组件中某一具体对象的名称,还可以是组件的id值或者其他标识。
28.上述的版本数据,可以表示整体组件的版本信息,也可以包括与该组件存在依赖
关系的组件的版本信息。
29.步骤s102、将组件的当前版本数据与维护信息中的版本数据进行匹配。
30.需要了解的是,组件与维护信息,分别含有相同或者相匹配字段,将这一特定的字段作为桥梁,就可以将两个数据库之间的数据进行连接,将多个数据库联合并组成一个数据库集合。将组件的当前版本数据与维护信息中的版本数据进行匹配,包括至少两种匹配方案:在第一种匹配方案下,组件的当前版本数据与维护信息中的版本数据完全相同,才认定二者是匹配的;在第一种匹配方案下,在组件的当前版本数据与维护信息中的版本数据中,需要从版本数据中分别获取版本号,并计算版本号之间的差距。只要组件的当前版本数据与维护信息中的版本数据中的版本号之差,位于一定的阈值范围之中,就可以认为二者是匹配的。
31.上述中,组件维护状态标识用于表征组件未维护与组件维护完成两种不同组件维护状态。需要了解的是,组件维护状态标识可以是多样的,可以是包括“空格”在内的任意字符串,也可以是某些数据库。
32.上述中,若该组件维护状态标识用于表征,组件未维护;其可以表征,该组件从未维护,或者,该组件在某一周期内未维护,或者,该组件还需要进一步维护。相对应的,若该组件维护状态标识用于表征,组件维护完成;其可以表征,该组件已经完成了维护,或者,该组件在某一周期内完成了维护,或者,该组件不需要进一步维护。
33.需要了解的是,组件未维护与组件维护完成,是两种相对的状态,在某些情况下,是可以互换的,二者存在对照关系。因为在不同组件中,可能具有不同更新要求,也可能通过制定某些优先级,来保证某些重要组件或者特殊组件的关系与状态。
34.步骤s104、参考组件维护状态标识进行组件维护。
35.在本实施例中,对于可正常更新版本的组件,可以直接通过本实施例的方案,直接调用多线程更新这些组件,更新较为及时;对于缺少版本数据的组件,或者新构建的组件,可以直接通过本技术的技术将这些组件展示并进行汇总。由此,使用简单的逻辑结构,对大量的数据进行分析,有效地完成高复杂度的组件维护工作,全面且及时地维护组件。
36.进一步地,请参考图2,图2为本发明第一实施例的进行组件维护方法的流程图。上述步骤s104具体包括如下流程:
37.步骤s201、根据组件维护状态标识,获取组件维护的优先级;组件维护状态标识与组件维护的优先级一一对应;
38.步骤s202、根据组件维护的优先级,进行异步组件维护。
39.本实施例中,在按照客户的要求进行组件维护时,组件维护状态标识具有多种形态,组件维护状态标识可以作为区分组件维护优先级的标准数据。如果该组件具有不同的组件维护状态标识,就拥有不同的优先级。
40.需要理解的是,在某些组件维护完成之后,应当设置不同的优先级;针对某些二次开关的组件,可以使其一直处于组件未维护的特殊状态。由此,可以适应不同技术领域的客户需求。需要注意的是,本实施例中,不同组件可具有不同的优先级,然而,组件未维护与组件维护完成这两种不同组件维护状态,可以具有任意设置的优先级。
41.在一具体的实施例中,请参考图3,图3为本发明第一实施例的获取组件维护的优先级方法的流程图;上述步骤s201具体包括如下流程:
42.步骤s301、若组件维护状态标识表征组件维护完成,则确定组件为低优先级组件;
43.步骤s302、若组件维护状态标识表征组件未维护,则确定组件为高优先级组件;
44.相对应的,上述步骤s104具体包括:在对高优先级组件维护之后,对低优先级组件进行维护。
45.需要了解的是,本实施例中,着重描述的方案,只是一种对高、低优先级组件进行的设置,如果完全调转二者的优先级,也应当作为等效替换。
46.上述中,异步组件维护,属于计算机多线程的异步处理。其与同步处理相对,异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程其他线程的结果。
47.在进一步地方案中,将上述组件维护状态标识进一步细分,分离出某些特定的组件标识,以制定某些特殊的赋值策略。
48.上述步骤s103具体包括:若检测到组件维护状态标识表征组件维护进行中,则确定组件为中优先级组件;
49.相对应的,上述步骤s104在对低优先级组件进行维护之前,还包括:对中优先级组件进行维护。
50.需要了解的是,在本实施例中,可以是对高优先级组件的进一步划分,从其中分离出中优先级组件,二者可以采用不同的策略或者手段。在另一实施例中,可以对低优先级组件进行标识,选取某些特定的组件作为中优先级组件。优先级是一种约定,优先级高的先做,优先级低的后做。优先级是计算机分时操作系统在处理多个作业程序时,决定各个作业程序接受系统资源的优先等级的参数。
51.进一步地,请参考图4,图4为本发明第一实施例的确定中优先级组件维护的顺序的方法流程图;上述对中优先级组件进行维护的步骤之前,还包括如下流程:
52.步骤s401、比较中优先级组件的当前版本数据与维护信息中的版本数据,获取中优先级组件的版本差信息;
53.步骤s402、按照中优先级组件的版本差信息,确定多个中优先级组件维护的顺序。
54.本实施例中,上述中优先级组件的版本差信息,表征中优先级组件的当前版本数据与维护信息中的版本数据之间的版本数量;主要是通过中优先级组件的版本差信息,制定中优先级组件维护的策略。一般而言,组件之中的某一文件存储有组件的版本信息,可以作为判断的依据。
55.需要了解的是,中优先级组件的当前版本数据与维护信息中的版本数据之间的版本数量,可以是版本号之差,也可以是版本信息中差异处的数量。由于版本差异越大的组件,越容易出现bug,因此,使用版本差信息,可以更好地进行组件维护。
56.需要了解的是,在组件进行维护的过程中,大多数都不会使用两个数据库来存储数据,也不会使用组件维护状态标识。而本技术中为了使整体的数据结构更为清晰,划分出至少两个数据库。
57.基于此,方法还包括:创建第一数据库与第二数据库;
58.使用第一数据库存储组件标识、当前版本数据及第一映射关系;第一映射关系为:组件标识与当前版本数据之间的映射关系;
59.应用第二数据库存储组件标识、组件维护状态标识及第二映射关系;第二映射关
系为:组件标识与组件维护状态标识之间的映射关系。
60.需要了解的是,本实施例中的第一映射关系与第二映射关系仅仅是一种表征描述的方式,用于表征,两个数据之间具有某种关联性。需要了解的是,第一映射关系与第二映射关系并不具有特定的倾向性。
61.相对应的,参考组件维护状态标识进行组件维护之后,还包括更新第一数据库的步骤:
62.按照组件维护的优先级,生成组件维护状态标识的获取顺序;组件维护状态标识的获取顺序与组件维护的优先级相对应;
63.按照组件维护状态标识的获取顺序及第二映射关系,生成组件标识的获取顺序;组件标识的获取顺序与组件维护状态标识的获取顺序相对应;
64.按照组件标识的获取顺序及第一映射关系,更新第一数据库中的当前版本数据。
65.其中,为了更准确地更新第一数据库,在组件维护一次之后,可以直接更改第一数据库中的相关信息。由此,可以提高整体数据结构的简洁性,增强了细粒度,方便将整体数据划分成多个部分,由多个小组进行分析与维护。
66.具体的,组件标识为组件名称;按照组件标识的获取顺序及第一映射关系,更新第一数据库中的当前版本数据,包括:
67.按照组件名称的获取顺序,通过组件名称与第一映射关系,更新第一数据库中的当前版本数据。
68.在一个具体的实施例中,首先,数据库建表sql脚本,创建组件名称表作为第一数据库,创建组件版本表,作为第二数据库。其中,sql一般指结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
69.接着,为了获得组件名称,需要使用如下组装请求地址:url:https://rubygems.org/gems?letter={letter}&page={pageno};其中,需要使用循环配合数组或其他手段,将letter字段依次替换为a到z的英文大写字母;pageno字段替换为1,并依次递增分页发送请求,解析响应数据获取组件的名称数据,保存到组件名称库中。
70.然后,查询组件名称库,根据版本标识字段,获取未维护版本数据的组件名称,组装请求地址:url:https://rubygems.org/gems/{name}/versions;其中,将name替换为从库中查询到的组件名称,发送http请求,解析响应数据获取组件的名称和版本数据,保存到组件版本库中。
71.进一步地,请参阅图5,图5为本发明第一实施例的更新维护信息方法的流程图。方法还包括:在至少一个预设组件维护周期后,获取维护信息中的版本数据;
72.步骤s501、获取维护信息对应的更新信息;更新信息包括:版本数据;
73.步骤s502、对照更新信息中的版本数据与维护信息中的版本数据,获取版本差异信息;版本差异信息表征更新信息中的版本数据与维护信息中的版本数据存在差异;
74.步骤s503、按照版本差异信息,使用更新信息中的版本数据,替换维护信息中的版本数据。
75.需要了解的是,为了更好地保持维护的效果,需要动态更新维护信息中的版本数据。其中,预设组件维护周期,可以是时间周期,也可以是数据维护的进程周期。由此,可以保证实时的数据更新。进一步提高全面性。需要了解的是,在一个维护周期中,可能并不会
维护低优先级的组件;此时可认为,改项目中,仅仅包括一种用于表征组件为高优先级组件的组件维护状态标识。
76.第二实施例:
77.如图6所示,图6为本发明第二实施例的组件维护装置的程序模块示意图。本技术第四方面提供一种组件维护装置,包括:
78.数据获取模块,用于获取组件的当前版本数据与维护信息中的版本数据;
79.数据匹配模块,用于将组件的当前版本数据与维护信息中的版本数据进行匹配;
80.标识生成模块,用于根据匹配结果生成组件维护状态标识;其中,组件维护状态标识用于表征组件未维护与组件维护完成两种不同组件维护状态;
81.数据维护模块,用于参考组件维护状态标识进行组件维护。
82.在一可选的实施例中,数据维护模块,用于,根据组件维护状态标识,获取组件维护的优先级;组件维护状态标识与组件维护的优先级一一对应;根据组件维护的优先级,进行异步组件维护。
83.数据维护模块,用于,若组件维护状态标识表征组件维护完成,则确定组件为低优先级组件;若组件维护状态标识表征组件未维护,则确定组件为高优先级组件;
84.数据维护模块,用于:在对高优先级组件维护之后,对低优先级组件进行维护。
85.上述中,组件维护状态标识还用于表征组件维护进行中;标识生成模块,还用于:
86.若检测到组件维护状态标识表征组件维护进行中,则确定组件为中优先级组件;
87.对低优先级组件进行维护之前,还包括:
88.对中优先级组件进行维护。
89.在一可选的实施例中,数据维护模块,还用于:比较中优先级组件的当前版本数据与维护信息中的版本数据,获取中优先级组件的版本差信息;中优先级组件的版本差信息,表征中优先级组件的当前版本数据与维护信息中的版本数据之间的版本数量;
90.按照中优先级组件的版本差信息,确定多个中优先级组件维护的顺序。
91.进一步地,装置还包括:数据库构建模块,用于使用第一数据库存储组件标识、当前版本数据及第一映射关系;第一映射关系为:组件标识与当前版本数据之间的映射关系;
92.应用第二数据库存储组件标识、组件维护状态标识及第二映射关系;第二映射关系为:组件标识与组件维护状态标识之间的映射关系;
93.装置还包括:数据库维护模块,用于:按照组件维护的优先级,生成组件维护状态标识的获取顺序;组件维护状态标识的获取顺序与组件维护的优先级相对应;
94.按照组件维护状态标识的获取顺序及第二映射关系,生成组件标识的获取顺序;组件标识的获取顺序与组件维护状态标识的获取顺序相对应;
95.按照组件标识的获取顺序及第一映射关系,更新第一数据库中的当前版本数据。
96.上述中,组件标识为组件名称。
97.在一可选的实施例中,上述装置还包括周期计算模块,用于在至少一个预设组件维护周期后,获取维护信息中的版本数据;
98.获取维护信息对应的更新信息;更新信息包括:版本数据;
99.对照更新信息中的版本数据与维护信息中的版本数据,获取版本差异信息;版本差异信息表征更新信息中的版本数据与维护信息中的版本数据存在差异;
100.按照版本差异信息,使用更新信息中的版本数据,替换维护信息中的版本数据。
101.第三实施例:
102.本实施例提供了一种电子设备,参见图7所示,其包括处理器701、存储器702及通信总线703,其中:通信总线703用于实现处理器701和存储器702之间的连接通信;处理器701用于执行存储器702中存储的一个或者多个计算机程序,以实现上述实施例一中的组件维护方法中的至少一个步骤。
103.本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于ram(random access memory,随机存取存储器),rom(read

only memory,只读存储器),eeprom(electrically erasable programmable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、cd

rom(compact disc read

only memory,光盘只读存储器),数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
104.本实施例中的计算机可读存储介质可用于存储一个或者多个计算机程序,其存储的一个或者多个计算机程序可被处理器执行,以实现上述实施例一中的方法的至少一个步骤。
105.本实施例还提供了一种计算机程序,该计算机程序可以分布在计算机可读介质上,由可计算装置来执行,以实现上述实施例一中的方法的至少一个步骤;并且在某些情况下,可以采用不同于上述实施例所描述的顺序执行所示出或描述的至少一个步骤。
106.本实施例还提供了一种计算机程序产品,包括计算机可读装置,该计算机可读装置上存储有如上所示的计算机程序。本实施例中该计算机可读装置可包括如上所示的计算机可读存储介质。
107.可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。
108.此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。
109.以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献