数据升级方法和装置、电子设备、计算机可读介质与流程

文档序号:26101524发布日期:2021-07-30 18:12阅读:63来源:国知局
数据升级方法和装置、电子设备、计算机可读介质与流程

本公开涉及计算机技术领域,具体涉及数据库技术领域,尤其涉及一种数据升级方法和装置、电子设备、计算机可读介质以及计算机程序产品。



背景技术:

随着产品多版本的迭代,为了满足不同客户实际业务流量的需求,服务升级是常见应用场景需求。现有升级服务一般通过人工手动整理需要升级的服务中间件增量脚本,并人为维护各个版本的升级文档,由于服务部署复杂,涉及多个中间件、多模块服务,人员投入较大,且人工升级的误操作较多。



技术实现要素:

本公开提供了一种数据升级方法和装置、电子设备、计算机可读介质以及计算机程序产品。

根据第一方面,提供了一种数据升级方法,上述方法包括:接收数据升级请求;基于数据升级请求,扫描配置文件,得到配置文件中与数据升级请求对应的升级配置信息;基于升级配置信息,对本地数据进行升级处理,得到升级结果。

根据第二方面,提供了一种数据升级装置,该装置包括:接收单元,被配置成接收数据升级请求;扫描单元,被配置成基于数据升级请求,扫描配置文件,得到配置文件中与数据升级请求对应的升级配置信息;升级单元,被配置成基于升级配置信息,对本地数据进行升级处理,得到升级结果。

根据第三方面,提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器,其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面任一实现方式描述的方法。

根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面任一实现方式描述的方法。

根据第五方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如第一方面任一实现方式描述的方法。

本公开的实施例提供的数据升级方法和装置,首先,接收数据升级请求;其次,基于数据升级请求,扫描配置文件,得到配置文件中与数据升级请求对应的升级配置信息;最后,基于升级配置信息,对本地数据进行升级处理,得到升级结果。由此,当采用数据升级方法对应的升级服务程序进行自动化的升级时,支持一键式服务升级操作,不需要人为干预升级过程,由于配置文件预先设置了升级配置信息,整个升级过程可支持跨版本的自动化升级,还可支持任意低版本升级到任意高版本。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1是根据本公开数据升级方法的一个实施例的流程图;

图2是本公开中对本地数据进行升级处理的方法的一种流程图;

图3是根据本公开数据升级方法的另一个实施例的流程图;

图4是根据本公开数据升级装置的实施例的结构示意图;

图5是用来实现本公开实施例的数据升级方法的电子设备的框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

图1示出了根据本公开数据升级方法的一个实施例的流程100,上述数据升级方法包括以下步骤:

步骤101,接收数据升级请求。

本实施例中,数据升级方法运行于其上的执行主体可以通过升级接口接收数据升级请求,该升级接口可以为restful(representationalstatetransfer,表述性状态转移)风格的接口,restful风格是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

restful风格的接口是通过一套统一的接口为所有客户端提供web服务,实现前后端分离,比如在一个多种开发语言一起工作的大型系统中,使用restful风格的接口可以完全不关心开发语言,以标准的接口协同工作。

本实施例中,数据升级请求包括但不限于:即将升级数据(即将升级数据是本地数据中的一种或多种数据)标识、当前版本,请求升级至的版本;可选地,数据升级请求还可以包括:即将升级数据的在升级时需要执行的升级步骤以及升级过程中涉及的参数,其中,参数可以是升级步骤执行次数、执行环境要求等。

可选地,本实施例中,数据升级请求可以仅是一种升级指令,该升级指令可以是操作人员配置完成或修改完成配置文件后触发的指令,执行主体在接收到该升级指令之后确定可以通过扫描配置文件得到本地数据相关的升级配置信息。配置文件是用于存储用户信息(用户邮箱、用户账号等)和升级配置信息的文件,通过该配置文件可以实时配置或修改本地数据的升级配置信息。

步骤102,基于数据升级请求,扫描配置文件,得到配置文件中与数据升级请求对应的升级配置信息。

本实施例中,针对多种不同升级需求,配置文件具有多种不同类型的升级配置信息,每种类型的升级配置信息可以对应不同的数据或者数据库。例如,一种类型升级配置信息为创建升级步骤顺序,另一种类型升级配置信息为制定升级版本的跨版本的长度,再一种类型升级配置信息为用户信息。

可选地,针对每种类型的升级配置信息,还可以具有不同版本的中间数据,通过当前版本的中间数据对本地数据进行升级处理之后,得到与当前版本对应的本地数据。在本地数据是多种不同类型数据库存储的数据时,中间件数据可以是指不同类型数据库存储的数据,如mysql、elasticsearch等存储数据,其中,mysql是一种关系型数据库管理系统,elasticsearch是一个高度可扩展的开源全文搜索和分析引擎;不同版本的中间数据是指每种版本的数据均独立于配置文件中所有版本数据中的其他的版本,例如v1.0、v2.0、v3.0,v4.0,三个版本的数据是不一致的,独立存储;需要说明的是,配置文件中一般只存储跟当前版本的升级相关的版本数据,如从v1.0升级到v3.0,即同时会存储v1.0、v2.0、v3.0三个版本的数据。

数据升级方法运行于其上的执行主体在接收到数据升级请求,可以根据数据升级请求,从配置文件中选取与数据升级请求对应的升级配置信息,其中,升级配置信息是一种针对本地数据的可配置的升级信息,升级信息包括且不限于数据类型、数据库索引配置信息、数据库模板、目标服务版本、以及配置步骤等。本实施例中,数据类型包括:适用于不同类型数据库(例如mysql、elasticsearch、redis等,redis是一种跨平台的非关系型数据库)的数据;配置步骤可以是指对本地数据进行升级过程中涉及到至少一个升级步骤,例如,升级步骤为数据迁移、数据清洗等,升级步骤在配置文件可以作为一种独立的升级程序存在,在对本地数据进行升级处理时,该升级程序被调用执行相应的升级流程;在配置文件中,配置步骤还可以是对应升级步骤的步骤标识和参数,通过配置步骤可以获取到相应的预设的升级步骤和升级步骤执行时采用的参数。目标服务版本是指将当前版本的本地数据升级到的目标版本,其中当前版本低于目标版本。数据库索引配置信息是指对本地数据所在数据库的索引进行配置(比如,添加、删除、修改索引等)的信息。

可选地,升级配置信息可以具有多种不同版本(例如,v1.0、v2.0、v3.0),每种版本的升级配置信息具有高低之分,例如v2.0版本比v1.0版本高,v3.0版本比v2.0版本高。针对配置文件中不同类型的升级配置信息,每种类型的升级配置信息也具有多种不同版本。

本实施例中,采用配置文件管理数据管理不同版本的升级配置信息,可以灵活配置本地数据各个版本的升级信息。配置文件与执行主体执行的数据升级方法镜像解耦,采用configmap可灵活配置升级配置信息,configmap是用来存储配置文件的资源对象,针对升级配置信息的所有的配置内容都存储在分布式键值数据库中,配置文件的文件格式可以采用json格式。

步骤103,基于升级配置信息,对本地数据进行升级处理,得到升级结果。

本实施例中,在获取到配置文件的升级配置信息之后,基于升级配置信息,对本地数据中与数据升级请求或升级配置信息相关的数据进行升级,得到升级结果。

本实施例中,对本地数据进行升级处理包括:对本地数据中的实际数据进行清洗、筛选、数据迁移等工作;对本地数据进行升级处理还可以包括:对管理或存储本地数据的本地结构(比如数据库、数据引擎等)进行部署、更新或删除等工作。

本实施例中,升级结果包括:升级成功或升级失败,其中,升级成功进一步包括:相邻版本之间升级成功、跨版本升级成功等,升级失败进一步包括:相邻版本之间升级失败、跨版本升级失败等。跨版本升级是指将与当前版本的升级配置对应的本地数据升级至与当前版本不相邻的版本的数据,如将v1.0版本的数据升级至v4.0版本。

作为一个示例,上述升级配置信息配置的信息包括:数据类型、目标服务版本、配置步骤,基于升级配置信息,对本地数据进行升级处理包括:获取本地数据中与数据类型对应数据,对获取的数据执行与配置步骤对应的升级步骤(升级步骤为一种预设的升级流程),从而使获取的数据变化为目标服务版本要求的数据。例如,对本地数据中的mysql类型的v1.0版本的数据进行数据迁移和数据清洗之后,得到目标服务版本为v2.0的数据,而得到的目标服务版本为v2.0的数据即为升级成功后的数据。

可选地,配置文件具有多种版本的升级配置信息,针对同一版本的多个不同类型的升级配置信息可以固定为当前版本的升级包,升级包中具有对本地数据进行升级处理的所有升级步骤以及各个升级步骤的升级次序,上述基于升级配置信息,对本地数据进行升级处理包括:获取与升级配置信息对应升级包,执行升级包,将本地数据升级为升级包对应的版本的数据。

本公开的实施例提供的数据升级方法,首先,接收数据升级请求;其次,基于数据升级请求,扫描配置文件,得到配置文件中与数据升级请求对应的升级配置信息;最后,基于升级配置信息,对本地数据进行升级处理,得到升级结果。由此,当采用数据升级方法对应的升级服务程序进行自动化升级时,支持一键式服务升级操作,不需要人为干预升级过程,由于配置文件预先设置了升级配置信息,整个升级过程可支持跨版本的自动化升级,还可支持任意低版本升级到任意高版本。

在本实施例的一些可选实现方式中,升级配置信息具有多种版本;基于升级配置信息,对本地数据进行升级处理包括:在基于当前版本的升级配置信息,对本地数据升级失败之后,采用与当前版本的升级配置信息相邻版本的升级配置信息,对本地数据进行升级处理。

本可选实现方式中,升级配置信息可以支持多种版本,并且由于升级配置信息支持多种版本,每种版本的中间数据并行,每个版本的中间件数据都会存储一份,各个版本中间数据独立于别的版本的中间数据,若有一种版本的中间数据升级发生错误异常,可随时切换到与其相邻的版本数据。

可选地,升级配置信息或数据升级请求还可以包括:跨版本更新,当数据升级请求具有跨版本更新而升级配置信息未设置跨版本更新时,在基于数据升级请求,扫描配置文件时,可以自动将升级配置信息设置可支持跨版本升级。上述基于升级配置信息,对本地数据进行升级处理包括:在基于升级配置信息中的目标服务版本,对本地数据升级失败之后,采用与目标服务版本不相邻版本的升级配置信息,对本地数据进行升级处理。如目标服务版本为4.0,在当前v1.0版本的数据升级至v4.0版本失败之后,在扫描到升级配置文件中具有v2.0版本的升级配置信息,采用v2.0版本的升级配置信息,对本地数据进行升级处理,以使本地数据升级至v2.0版本。

本可选实现方式提供的对本地数据进行升级处理的方法,升级配置信息支持多种版本,若一种版本升级失败,升级数据回滚容易,降低了升级所带来的服务宕机风险。同时,本实施例提供的数据升级方法还支持多个版本服务的跨版本自动化升级,节省了升级维护成本。

基于升级配置信息的内容不同,对本地数据进行升级处理的方式不同,在本实施例的一些可选实现方式中,当升级配置信息包括:至少一个配置步骤时,通过至少一个配置步骤可以对本地数据进行升级处理,具体地,图2示出了根据本公开对本地数据进行升级处理的方法的流程图200,上述对本地数据进行升级处理的方法包括以下步骤:

步骤201,从预设的多个升级步骤中选取与各个配置步骤对应的目标升级步骤。

本实施例中,升级步骤为预设的实际数据更新流程,通过各个升级步骤可以将本地数据更新到升级步骤对应的版本。配置步骤可以是设置在配置文件中与配置文件具有相同格式且与升级步骤一一对应的步骤标识和参数。

与数据升级请求对应的升级配置信息中可以设置有与多个升级步骤一一对应的配置步骤,当操作人员在配置文件中将各种升级配置信息配置完成之后,基于与数据升级请求对应的升级配置信息,数据升级方法运行于其上的执行主体可以从该升级配置信息中获取多个配置步骤。进一步,执行主体再得到多个配置步骤之后,从预设的多个升级步骤中选取与各个配置步骤对应的目标升级步骤,已通过选取的目标升级步骤对本地数据进行实际的数据更新。

步骤202,确定各个目标升级步骤对应的升级次序。

本实施例中,升级次序可以基于当前本地数据的升级需求,为各个配置步骤设置执行次序,该执行次序可用于表征各个配置步骤在所有的配置步骤中的优先等级;可选地,升级次序还可以是从数据升级请求中获取的各个配置步骤的执行次序;可选地,升级次序还可以是配置在配置文件的各类升级配置信息中的配置次序;进一步地,由于配置步骤与升级步骤一一对应,在为配置步骤配置了执行次序之后,升级步骤的升级次序也相应地确定。

在本实施例的一些可选实现方式中,升级配置信息还包括:各个配置步骤的第一执行次序,上述确定各个目标升级步骤对应的升级次序包括:从配置文件中获取各个配置步骤的第一执行次序;基于第一执行次序,确定各个目标升级步骤对应的升级次序。

本实施例中,配置文件中的升级配置信息包括:至少一个配置步骤以及各个配置步骤的第一执行次序,该实施例中,第一执行次序为各个配置步骤在所有的配置步骤中的排序序号,通过该排序序号可以确定各个配置步骤对应的目标升级步骤先后顺序,而目标升级步骤的执行顺序即为各个目标升级步骤对应的升级次序,升级次序为各个目标升级步骤在步骤队列中排列先后顺序。

本实施例中,通过在配置文件中升级配置信息中设置各个配置步骤的第一执行次序,确定步骤队列中各个目标升级步骤的升级次序,提高了执行各个目标升级步骤的便利性。

在本实施例的一些可选实现方式中,升级配置信息还包括:各个配置步骤的第二执行次序,上述确定各个目标升级步骤对应的升级次序包括:从数据升级请求中获取各个配置步骤的第二执行次序;基于各个配置步骤的第二执行次序,确定各个目标升级步骤对应的升级次序。

本实施例中,数据升级请求包括:至少一个配置步骤的编号以及各个配置步骤对应的第二执行次序,第二执行次序为各个配置步骤在所有的配置步骤中的排序序号,通过该排序序号可以确定各个配置步骤对应的目标升级步骤先后顺序,而目标升级步骤的执行顺序即为各个目标升级步骤对应的升级次序,升级次序为各个目标升级步骤在步骤队列中排列先后顺序。

在数据升级请求中设置配置步骤的编号以及各个配置步骤对应的第二执行次序,可以在配置配置文件故障或者无法修改配置文件时,通过数据升级请求实时设置配置步骤,再从预设的多个升级步骤中选取与各个配置步骤对应的目标升级步骤。

上述设置配置步骤的方法可以为:通过数据升级请求中配置步骤的编号,在预设的多个编号对应的多个预设的升级配置信息确定数据升级请求的配置步骤。

本实施例中,通过在数据升级请求中获取各个配置步骤的执行次序,为得到多个目标升级步骤提供了一个可选方式,保证了目标升级步骤得到的多样性。

步骤203,将选取的目标升级步骤按照升级次序进行排序,得到步骤队列。

本实施例中,选取的目标升级步骤具有至少一个,对应选取的目标升级步骤的升级次序具有至少一个值,每个升级步骤对应一个升级次序,将选取的所有升级步骤按照各个升级步骤对应的升级次序进行排序,得到包括选取的所有的升级步骤的步骤队列。

步骤204,依次对本地数据执行步骤队列中的各个目标升级步骤。

本可选实现方式中,步骤队列具有至少一个目标升级步骤,在按序对本地数据执行完步骤队列中的一个目标升级步骤,就会得到针对该目标升级步骤的升级结果,若针对该目标升级步骤的升级结果为升级成功,则继续执行步骤队列中与该目标升级步骤相邻的下一个升级步骤;若针对该目标升级步骤的升级结果为升级失败,则停止执行步骤队列或者执行步骤队列中与该目标升级步骤相邻的下一目标升级步骤,此时需要记录该目标升级步骤升级失败。

当整个步骤队列中所有目标升级步骤均执行完成之后,得到步骤队列的升级结果,一般地,当步骤队列中所有目标升级步骤对应的升级结果均为升级成功时,步骤队列的升级结果是本地数据升级成功;当步骤队列并不是所有目标升级步骤对应的升级结果均为升级成功,步骤队列的升级结果是本地数据升级失败。

可选地,本实施例提供的对本地数据进行升级处理的方法还可以包括:通过监控接口接收对各个升级步骤的数据监控请求,数据监控请求用于请求监控数据升级的状态;在对本地数据进行升级处理的情况下,输出与监控请求对应的步骤的升级结果。

本可选方式中,若步骤队列中每个目标升级步骤在执行升级时出现异常或升级正常完成,数据升级方法运行于其上的执行主体自动发送邮件和信息,收件人支持配置文件方式,即需要在配置文件中配置收邮件的收件人的邮箱,收件人可以由配置配置文件的操作人员确定,比如收件人为升级负责人。需要说明的是,本实施例中,在配置文件中设置的收件人的邮箱属于一种升级配置信息。

可选地,接收到数据监控请求之后,数据升级方法运行于其上的执行主体还通过监控接口实时查看步骤队列执行情况,包括步骤队列中正在执行或者已经执行完成目标升级步骤、执行各个目标升级步骤所耗时间、执行失败的目标升级步骤等。若步骤队列执行失败后支持可重入操作,再次执行后会自动跳过已经成功执行完成的目标升级步骤。

本可选方式中,在对本地数据进行升级过程中,服务升级无需人为关注,自动通知升级成功或失败,提高了升级实时监控效果。

本可选实现方式提供的对本地数据进行升级处理方法,在升级配置信息包括至少一个配置步骤时,按照升级配置信息指示的目标升级步骤对本地数据进行升级,在升级过程中可以无需人工参与,自动实现本地数据的升级,减少人员投入量,节省了人力资本。

在本实施例的一些可选实现方式中,升级配置信息还可以包括:每个配置步骤的配置版本,上述步骤201具体还可以包括:获取本地数据的当前版本;检测各个配置步骤的配置版本是否大于本地数据的当前版本;获取各个配置步骤的配置版本中大于本地数据的当前版本的配置步骤,作为目标配置步骤;从预设的多个升级步骤中选取与目标配置步骤对应的目标升级步骤。

本可选实现方式中,配置步骤和配置步骤的配置版本可由操作人员在配置文件中进行配置,并且通过配置步骤的配置版本,还可以确定本地数据需升级的升级步骤,以及本地数据无需升级的升级步骤。

本可选实现方式中,目标配置步骤与至少一个升级步骤相对应,目标配置步骤用于指示本地数据可以执行的升级步骤。当所有配置步骤的配置版本均大于本地数据的当前版本,将所有配置步骤作为目标配置步骤;当部分配置步骤的配置版本大于本地数据的当前版本,将该配置版本大于本地数据的当前版本的部分配置步骤作为目标配置步骤。

本实施例中,从预设的多个升级步骤中选取与目标配置步骤对应的目标升级步骤,确定各个目标升级步骤对应的升级次序,将选取的目标升级步骤按照升级次序进行排序,得到步骤队列;依次对本地数据执行步骤队列中的各个目标升级步骤。

在本实施例的中,执行主体在对本地数据进行升级处理之后,可以记录对本地数据进行升级处理的升级配置信息的版本,并将记录的该版本作为本地数据的当前版本;需要说明的是,在未对本地数据进行升级之前,本地数据的版本为基础零版。

本实施例中,基于本地数据的当前版本和各个配置步骤的配置版本,对本地数据进行升级,可以仅采用目标配置步骤对应的升级步骤进行升级,保证了升级步骤执行的有效性。

针对不同的本地的数据升级步骤的内容不同,在本实施例的一些可选实现方式中,预设的多个升级步骤包括以下至少一项:模板更新、增量更新、创建索引、重建索引、数据清洗、数据迁移、缓存重建、跨版本更新。

本可选实现方式中,模板更新是指对不同类型的数据库(例如,elasticsearch)的模板进行更新;增量更新是指在对本地数据进行升级处理时,只更新本地数据需要更新的地方,不需要更新或者已经更新过的地方则不会重复更新,增量更新与完全更新相对;索引是对数据库表中一列或多列的值进行排序的一种结构,创建索引是指创建数据库(例如,mysql)的索引值;重建索引是指在数据库中删除旧的索引,重新建立新的索引;数据清洗是指发现并纠正本地数据中可识别的错误的一道程序,包括检查数据一致性,处理无效值和缺失值等;数据迁移用于将本地数据从一个数据库拷贝到另一个数据库;跨版本更新是指将当前版本的本地数据更新为与当前版本不相邻版本的数据。

本可选实现方式中,预设的多个升级步骤可以分别针对不同类型的数据,如mysql、elasticsearch、redis等类型的数据库,通过预设多个升级步骤可以自动执行elasticsearch、mysql、redis等不同种类数据库的数据升级、数据清洗逻辑和数据库创建、数据库维护等工作。需要说明的是,基于不同种类的数据库,从预设的多个升级步骤选取的升级步骤可以相同,也可以不同。

本可选实现方式中,预设的多个升级步骤包括数据清洗、模板更新等内容,由此可以根据不同的数据升级请求,在预设的升级步骤中选取与数据升级请求对应的升级配置信息,进一步基于升级配置信息得到包括至少一个升级步骤的步骤队列,保证了数据升级一键式自动执行,节约了人力资源成本,并且人工操作以及升级文档步骤大大减少,不需要额外维护升级脚本。

参考图3,示出了根据本公开数据升级方法的另一个实施例的流程300,上述数据升级方法包括以下步骤:

步骤301,接收数据升级请求和数据监控请求。

本实施例中,数据监控请求用于请求监控数据升级的状态,数据监控请求包括但不限于:监控的数据范围,监控的步骤,监控的版本等。可选地,数据监控请求还可以仅是一种监控指令,该监控指令可以是操作人员配置完成或修改完成配置文件后触发的指令,执行主体在接收到该监控指令之后,通过监控接口查询本地数据当前执行升级的情况,包括升级步骤执行到哪一步骤、升级步骤执行所耗时间、执行失败等。

步骤302,基于数据升级请求,扫描配置文件,得到配置文件中与数据升级请求对应的升级配置信息。

步骤303,基于升级配置信息,对本地数据进行升级处理,得到升级结果。

应当理解,上述步骤301-步骤303中的操作和特征,分别与步骤101-103中的操作和特征相对应,因此,上述在步骤101-103中对于操作和特征的描述,同样适用于步骤201-步骤203,在此不再赘述。

步骤304,在对本地数据进行升级处理的情况下,输出与数据监控请求对应的数据升级的状态。

本实施例中,基于数据监控请求,确定客户端具有数据升级步骤监控的需求,因此执行主体可以通过监控接口实时向客户端发送与升级处理相关的通知信息,即本实施例提供的数据升级方法可以支持详细的升级过程监控。

本实施例中,数据升级的状态用于指示本地数据在升级的不同阶段(开始、结束以及升级过程中)与升级相关的信息。数据升级方法运行于其上的执行主体根据数据监控请求,例如,正在执行的升级步骤、执行当前升级步骤所耗时间、升级步骤的执行情况等,输出与数据监控请求对应的数据升级的状态,该数据升级的状态可以指示正在执行的升级步骤的步骤、已经耗费的时间、还需耗费的时间、升级步骤执行成功或执行失败等。

针对传统的方案中对整体升级过程流程很难掌控和监控,并且数据回滚困难,本实施例提供的数据升级方法,在架构上采用配置文件进行版本信息灵活配置,并支持错误数据回滚、版本回退和整个服务流程自动化监控,无需人工监控,并支持升级结束后或发生错误会自动邮件通知升级负责人。并且本实施例提供的数据升级方法还可以支持跨版本升级,支持多版本服务升级包的配置,如从v1.0->v2.0->v3.0->v4.0。

本实施例提供的数据升级方法,接收数据监控请求,在对本地数据进行升级处理的情况下,实时发送与数据监控请求对应的数据升级的状态,自动发送升级成功或失败的升级结果,该自动通知可以便于操作人员了解升级过程中的实际情况。

在本实施例的一些可选实现方式中,上述数据升级方法还包括:接收用于修改或配置文件信息的指令信息,基于指令信息修改或配置配置文件中的升级配置信息。

本可选实现方式中,指令信息可由操作人员通过终端向数据升级方法运行于其上的执行主体发送的指令,通过该指令确定可以修改配置文件,由此,保证了修改配置文件的可靠性。

本可选实现方式中,修改配置文件的升级配置信息,是指在原有的升级配置信息的基础上,进一步增加或删除中原有的升级配置信息的部分或全部的内容。而配置配置文件是指在没有任何升级配置信息的基础上,通过设置参数和/或配置升级步骤等得到升级配置的信息的具体内容。

本可选实现方式中,数据升级方法运行于其上的执行主体可以根据指令信息,在配置文件中灵活配置和修改各个配置步骤,以基于各个配置步骤得到目标升级步骤。而配置和修改各个配置步骤的过程也即配置或修改配置文件中的升级配置信息的过程。

本可选实现方式中,通过修改或配置升级配置信息的内容,为本地数据的升级提供了可靠的数据升级依据,在升级服务自动化的基础上进一步提供了数据升级的灵活性。

进一步参考图4,作为对上述各图所示方法的实现,本公开提供了数据升级装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可应用于各种电子设备中。

如图4所示,本实施例提供的数据升级装置400包括:接收单元401,扫描单元402,升级单元403。其中,上述接收单元401,可以被配置成被配置成接收数据升级请求。上述扫描单元402,可以被配置成基于数据升级请求,扫描配置文件,得到配置文件中与数据升级请求对应的升级配置信息。上述升级单元403,可以被配置成基于升级配置信息,对本地数据进行升级处理,得到升级结果。

在本实施例中,数据升级装置400中:接收单元401,扫描单元402,升级单元403的具体处理及其所带来的技术效果可分别参考图1对应实施例中的步骤101、步骤102、步骤103的相关说明,在此不再赘述。

在本实施例的一些可选的实现方式中,上述升级配置信息具有多种版本;上述升级单元403包括:升级模块(图中未示出)。上述升级模块,被配置成在基于当前版本的升级配置信息,对本地数据升级失败之后,采用与当前版本的升级配置信息相邻的版本的升级配置信息,对本地数据进行升级处理。

在本实施例的一些可选的实现方式中,上述升级配置信息包括:至少一个配置步骤,上述升级单元403包括:选取模块(图中未示出),确定模块(图中未示出),排序模块(图中未示出),执行模块(图中未示出)。其中,上述选取模块,可以被配置成从预设的多个升级步骤中选取与各个配置步骤对应的目标升级步骤。上述确定模块,可以被配置成确定各个目标升级步骤对应的升级次序。上述排序模块,可以被配置成将选取的目标升级步骤按照升级次序进行排序,得到步骤队列。上述执行模块,可以被配置成依次对本地数据执行步骤队列中的各个目标升级步骤。

在本实施例的一些可选的实现方式中,上述升级配置信息还包括:每个配置步骤的配置版本,上述选取模块包括:获取子模块(图中未示出),检测子模块(图中未示出),定标子模块(图中未示出),选取子模块(图中未示出)。其中,上述获取子模块,可以被配置成获取本地数据的当前版本。上述检测子模块,可以被配置成检测各个配置步骤的配置版本是否大于本地数据的当前版本。上述定标子模块,可以被配置成获取各个配置步骤的配置版本中大于本地数据的当前版本的配置步骤,作为目标配置步骤。上述选取子模块,可以被配置成从预设的多个升级步骤中选取与目标配置步骤对应的目标升级步骤。

在本实施例的一些可选的实现方式中,上述升级配置信息还包括:各个配置步骤的第一执行次序,上述确定模块包括:配置子模块(图中未示出),第一确定子模块(图中未示出)。其中,上述配置子模块,可以被配置成从配置文件中获取各个配置步骤的第一执行次序。上述第一确定子模块,可以被配置成基于第一执行次序,确定各个目标升级步骤对应的升级次序。

在本实施例的一些可选的实现方式中,上述数据升级请求包括:各个配置步骤的第二执行次序,上述确定模块包括:请求子模块(图中未示出),第二确定子模块(图中未示出)。其中,上述请求子模块,可以被配置成从数据升级请求中获取各个配置步骤的第二执行次序。上述第二确定子模块,可以被配置成基于各个配置步骤的第二执行次序,确定各个目标升级步骤对应的升级次序。

在本实施例的一些可选实现方式中,上述预设的多个升级步骤包括以下至少一项:模板更新、增量更新、创建索引、重建索引、数据清洗、数据迁移、缓存重建、跨版本更新。

在本实施例的一些可选实现方式中,上述装置400还包括:监控单元(图中未示出),发送单元(图中未示出)。其中,上述监控单元可以被配置成接收数据监控请求,数据监控请求用于请求监控数据升级的状态。上述发送单元可以被配置成在对本地数据进行升级处理的情况下,输出与数据监控请求对应的数据升级的状态。

在本实施例的一些可选实现方式中,上述装置400还包括:指令单元(图中未示出)、修改单元(图中未示出)。上述指令单元,别配置成接收用于修改或配置文件信息的指令信息。上述修改单元,被配置成修改或配置配置文件中的升级配置信息。

本公开的实施例提供的数据升级装置,首先,接收单元401接收数据升级请求;其次,扫描单元402基于数据升级请求,扫描配置文件,得到配置文件中与数据升级请求对应的升级配置信息;最后,升级单元403基于升级配置信息,对本地数据进行升级处理,得到升级结果。由此,当采用数据升级方法对应的升级服务程序进行自动化升级时,支持一键式服务升级操作,不需要人为干预升级过程,由于配置文件预先设置了升级配置信息,整个升级过程可支持跨版本的自动化升级,还可支持任意低版本升级到任意高版本。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(rom)502中的计算机程序或者从存储单元508加载到随机访问存储器(ram)503中的计算机程序,来执行各种适当的动作和处理。在ram503中,还可存储设备500操作所需的各种程序和数据。计算单元501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。

设备500中的多个部件连接至i/o接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如数据升级方法。例如,在一些实施例中,数据升级方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到ram503并由计算单元501执行时,可以执行上文描述的数据升级方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据升级方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1