CN102855305A - 数据升级方法与装置 - Google Patents
数据升级方法与装置 Download PDFInfo
- Publication number
- CN102855305A CN102855305A CN2012102981667A CN201210298166A CN102855305A CN 102855305 A CN102855305 A CN 102855305A CN 2012102981667 A CN2012102981667 A CN 2012102981667A CN 201210298166 A CN201210298166 A CN 201210298166A CN 102855305 A CN102855305 A CN 102855305A
- Authority
- CN
- China
- Prior art keywords
- data
- breath
- repaired
- converting
- tables
- 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
Images
Landscapes
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据升级方法与装置,其中,数据升级方法包括:获取通信设备的设备数据的待修改信息,所述待修改信息包括以下至少之一:所述设备数据的数据表名的待修改信息、所述设备数据的数据表中的字段名的待修改信息、所述设备数据的数据表中的数据记录的待修改信息;根据获取的所述待修改信息,使用离线数据制作工具ODG按照相对应的以下规则至少之一:表名修改升级规则、字段名修改升级规则、记录修改升级规则,对所述待修改信息对应的数据表进行升级。通过本申请,减轻了运行维护人员的负担,提高了通信设备的设备数据可维护性。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种使用ODG(Offline DataGenerator,离线数据制作工具)进行通信设备数据升级的数据升级方法与装置。
背景技术
ODG离线数据制作工具是进行设备数据离线制作的一个工具,其主要功能包括升级数据、导入导出局向数据(包括基站、IU局向)、批量修改数据、数据校验等。其中,通过ODG的数据升级功能,可以把通信设备需要的数据从低版本升级到高版本。
目前,使用ODG进行通信设备数据升级的统一流程如图1所示,包括:步骤S102:数据版本控制模块在系统初始化时获取ODG当前可用的数据版本信息;步骤S104:在加载数据文件时,解析第一个读入的MDF(MemoryDatabase File,内存数据库文件,是一种自定义数据文件格式)文件头部的数据版本字段,获取当前加载文件的版本信息;之后,还要将当前版本的全表文件加载到文件解析模块并向文件管理模块注册原始数据版本;步骤S106:通过当前加载文件的版本信息与当前ODG系统可用版本信息比较,判断当前加载文件是否可以升级;步骤S108:如果用户选择不升级,则终止升级流程,不加载数据文件;步骤S110:如果可升级,界面提示用户选择升级目标版本;步骤S112:根据用户指定版本的信息模型来解析数据,升级到新版本,同时到文件管理模块注册新旧版本信息,升级过程中记录升级信息。其中,信息模型中罗列了所有的设备数据表中每个数据表的名称以及CID编号(数据表唯一标识),每个数据表的属性,在属性之中包括了属性ID、中英文名、数据类型、控制类型、最大值、最小值、默认值、掩码、长度以及偏移量等信息。ODG使用的每一个高版本都会包括以前所有低版本的信息模型,当前可用的信息模型是模型中版本号最大的一个。
在上述过程中,通过信息模型来解析数据,升级到新版本的具体过程还包括:(1)如果MDF的MOC(Managed Object Class,被管对象类,是表的唯一标识)在新版本信息模型中不存在,说明新版本中该表已经废弃掉,则丢弃该表;(2)如果找到了该表对应的类描述,比较关系表结构,如果MDF中存在的属性在新版模型中不存在,则丢弃该属性;如果新版模型中属性有增加,则MDF中缺少的属性值用模型默认值填充;(3)当所有的表和新版本信息模型比较结束后,如果新版本信息模型中还有某些表没有参入到上面的比较过程,则表示剩余的这些表是新版数据模型中新增的表;(4)数据格式升级过程中对原有数据的处理原则:原有对象属性值保持不变。
目前每次版本升级,还存在上述流程无法处理的情况,需要由开发人员编码实现,维护起来非常的不方便。这些无法处理的场景包括:(1)升级过程中字段名有修改,目前流程处理会按新增字段处理,原字段数据会丢失;(2)升级过程中表名有修改,目前流程处理会按新表处理,原表的数据会丢失;(3)升级过程中,需要对某些字段的值进行修改,目前流程无法处理;(4)升级过程中,需要在某张表中增加数据,目前流程无法处理;(5)升级过程中,需要在某张表中删除数据,目前流程无法处理。
可见,现有的这种ODG数据升级方案对于升级统一流程中不能涵盖的部分采用手工编码方式来实现,会造成后续每一次数据升级,代码的维护和开发都是很大的负担。在版本升级频繁的情况下,针对这些无法处理的升级场景,编码工作量比较大,而且很多是重复性的劳动;并且,从软件开发的角度来看,可维护性也很差。
因此,如何完善现有ODG数据升级方案,克服现有ODG数据升级时无法处理的情况,减轻运行维护人员负担,提高通信设备的设备数据可维护性成为亟待解决的问题。
发明内容
本申请提供了一种数据升级方法与装置,以解决现有ODG数据升级方案不完善,存在ODG数据升级时无法处理的情况,造成运行维护人员负担重,通信设备的设备数据可维护性差的问题。
为了解决上述问题,本申请公开了一种数据升级方法,包括:获取通信设备的设备数据的待修改信息,所述待修改信息包括以下至少之一:所述设备数据的数据表名的待修改信息、所述设备数据的数据表中的字段名的待修改信息、所述设备数据的数据表中的数据记录的待修改信息;根据获取的所述待修改信息,使用离线数据制作工具ODG按照相对应的以下规则至少之一:表名修改升级规则、字段名修改升级规则、记录修改升级规则,对所述待修改信息对应的数据表进行升级;其中,所述表名修改升级规则用于根据所述设备数据的数据表名的待修改信息,将原数据表名修改为新数据表名,并保持对应的数据表中的数据不变;所述字段名修改升级规则用于根据所述设备数据的数据表中的字段名的待修改信息,将原字段名修改为新字段名,并保持对应的字段中的数据不变;所述记录修改升级规则用于根据所述设备数据的数据表中的数据记录的待修改信息,对所述数据记录进行修改。
为了解决上述问题,本申请还公开了一种数据升级装置,包括:获取模块,用于获取通信设备的设备数据的待修改信息,所述待修改信息包括以下至少之一:所述设备数据的数据表名的待修改信息、所述设备数据的数据表中的字段名的待修改信息、所述设备数据的数据表中的数据记录的待修改信息;升级模块,用于根据获取的所述待修改信息,使用离线数据制作工具ODG按照相对应的以下规则至少之一:表名修改升级规则、字段名修改升级规则、记录修改升级规则,对所述待修改信息对应的数据表进行升级;其中,所述表名修改升级规则用于根据所述设备数据的数据表名的待修改信息,将原数据表名修改为新数据表名,并保持对应的数据表中的数据不变;所述字段名修改升级规则用于根据所述设备数据的数据表中的字段名的待修改信息,将原字段名修改为新字段名,并保持对应的字段中的数据不变;所述记录修改升级规则用于根据所述设备数据的数据表中的数据记录的待修改信息,对所述数据记录进行修改。
与现有技术相比,本申请具有以下优点:
本申请针对现有ODG数据升级过程中无法处理的场景,通过获取这些场景下的通信设备的设备数据的待修改信息,根据相对应的升级规则对这些场景下的设备数据进行自动升级,无须开发人员在每次数据升级时都必须针对每一种ODG无法处理的情况进行单独编码实现相应的数据升级。使用本申请的方案结合现有的ODG数据升级方案,使得ODG数据升级方案更加完善,有效克服了现有ODG数据升级时无法处理的情况,大大减少了开发维护的工作量,减轻了运行维护人员的负担,提高了通信设备的设备数据可维护性,且实现简单,实现成本低,降低了ODG的开发维护成本。
附图说明
图1是现有技术的一种使用ODG进行通信设备数据升级的流程图;
图2是根据本申请实施例一的一种数据升级方法的步骤流程图;
图3是根据本申请实施例二的一种数据升级方法的步骤流程图;
图4是使用ODG对设备数据的数据表名的待修改信息对应的数据表进行升级的流程图;
图5是使用ODG对设备数据的数据表中的字段名的待修改信息对应的数据表进行升级的流程图;
图6是使用ODG对数据记录值的待修改信息对应的数据表进行升级的流程图;
图7是使用ODG对待增加数据记录的信息对应的数据表进行升级的流程图;
图8是使用ODG对待删除数据记录的信息对应的数据表进行升级的流程图;
图9是根据本申请实施例三的一种数据升级装置的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
实施例一
参照图2,示出了根据本申请实施例一的一种数据升级方法的步骤流程图。
本实施例的数据升级方法应用于ODG数据升级过程中,包括以下步骤:
步骤S202:获取通信设备的设备数据的待修改信息。
其中,待修改信息包括以下至少之一:设备数据的数据表名的待修改信息、设备数据的数据表中的字段名的待修改信息、设备数据的数据表中的数据记录的待修改信息。
设备数据的数据表名的待修改信息表示需要将数据表的表名由原表名修改为新表名;设备数据的数据表中的字段名的待修改信息表示需要将数据表中的某个或某些字段进行改名,由原字段名修改为新字段名;设备数据的数据表中的数据记录的待修改信息表示需要对数据表中的某个或某些数据记录进行修改,如修改记录值、增加或删除记录等。
待修改信息的获取方式可以由本领域技术人员根据实际情况通过适当的方式获取,如通过比较通信设备发送来的设备数据文件获取,或者,直接从通信设备中获取待修改信息等,本申请对此不作限制。
步骤S204:根据获取的待修改信息,使用ODG按照相对应的以下规则至少之一:表名修改升级规则、字段名修改升级规则、记录修改升级规则,对待修改信息对应的数据表进行升级。
其中,表名修改升级规则用于根据设备数据的数据表名的待修改信息,将原数据表名修改为新数据表名,并保持对应的数据表中的数据不变(即,表名修改,表中数据仍为原数据);字段名修改升级规则用于根据设备数据的数据表中的字段名的待修改信息,将原字段名修改为新字段名,并保持对应的字段中的数据不变(即字段名修改,该字段中的数据仍为原数据);记录修改升级规则用于根据设备数据的数据表中的数据记录的待修改信息,对数据记录进行修改(如,进行记录值修改,记录增加或删除等)。
需要说明的是,本实施例的数据升级方法不仅可以与现有ODG数据升级方法相结合,在现有ODG数据升级流程之前或之后进行;也可以单独进行。
本实施例针对现有ODG数据升级过程中无法处理的场景,通过获取这些场景下的通信设备的设备数据的待修改信息,根据相对应的升级规则对这些场景下的设备数据进行自动升级,无须开发人员在每次数据升级时都必须针对每一种ODG无法处理的情况进行单独编码实现相应的数据升级。使用本实施例的方案结合现有的ODG数据升级方案,使得ODG数据升级方案更加完善,有效克服了现有ODG数据升级时无法处理的情况,大大减少了开发维护的工作量,减轻了运行维护人员的负担,提高了通信设备的设备数据可维护性,且实现简单,实现成本低,降低了ODG的开发维护成本。
实施例二
参照图3,示出了根据本申请实施例二的一种数据升级方法的步骤流程图。
本实施例中,设定待修改信息包括设备数据的数据表名的待修改信息、设备数据的数据表中的字段名的待修改信息,和设备数据的数据表中的数据记录的待修改信息。其中,设备数据的数据表中的数据记录的待修改信息又包括:数据记录值的待修改信息、待增加数据记录的信息、待删除数据记录的信息。设定升级规则包括表名修改升级规则、字段名修改升级规则,和记录修改升级规则。但本领域技术人员应当明了,在实际应用中,待修改信息可以仅包括上述待修改信息中的一种或多种,相应地,升级规则也可以仅包括对应的规则中的一种或多种,这些情况下的数据升级均可参照本实施例进行。
本实施例的数据升级方法包括以下步骤:
步骤S302:ODG获取通信设备的设备数据的待修改信息。
包括:设备数据的数据表名的待修改信息、设备数据的数据表中的字段名的待修改信息、设备数据的数据表中的数据记录值的待修改信息、设备数据的数据表中的待增加数据记录的信息、设备数据的数据表中的待删除数据记录的信息。
步骤S304:ODG使用数据表存储获取的待修改信息。
优选地,使用EXCEL表存储获取的待修改信息,一方面,EXCEL表与ODG原有数据表结构类似,便于ODG兼容和统一管理;另一方面,EXCEL表不涉及大量访问和读取,可读性强。当然,不限于此,待修改信息还可以以其它形式进行存储,如文本文档,普通数据库中的数据表、或其它适当形式等均可。
ODG可以通过调用接口调用数据表如EXCEL表,以存储待修改信息。调用接口的实现可以由本领域技术人员根据实际情况适当设置。
步骤S306:ODG在进行数据升级时,从存储有待修改信息的数据表中获取待修改信息。
如,ODG在进行数据升级时,通过调用接口从EXCEL表中获取存储的待修改信息。
步骤S308:ODG根据获取的待修改信息,按照相对应的升级规则对待修改信息对应的数据表进行升级。
本实施例中,相对应的升级规则包括:表名修改升级规则、字段名修改升级规则、和记录修改升级规则。
其中,表名修改升级规则用于根据设备数据的数据表名的待修改信息,将原数据表名修改为新数据表名,并保持对应的数据表中的数据不变;字段名修改升级规则用于根据设备数据的数据表中的字段名的待修改信息,将原字段名修改为新字段名,并保持对应的字段中的数据不变;记录修改升级规则用于根据设备数据的数据表中的数据记录的待修改信息,对数据记录进行修改。
本实施例中,根据设备数据的数据表名的待修改信息,按照表名修改升级规则对相应的数据表进行升级,修改数据表名;根据设备数据的数据表中的字段名的待修改信息,按照字段名修改升级规则对相应的数据表进行升级,修改数据表中的字段名;根据设备数据的数据表中的数据记录值的待修改信息,按照记录修改升级规则对相应的数据表进行升级,修改数据表中相应记录的记录值;根据设备数据的数据表中的待增加数据记录的信息,按照记录修改升级规则对相应的数据表进行升级,在数据表中增加相应的数据记录;根据设备数据的数据表中的待删除数据记录的信息,按照记录修改升级规则对相应的数据表进行升级,删除数据表中相应的记录。
以下,分别对ODG数据升级中的数据表名修改、字段名修改、数据记录值修改、增加数据记录和删除数据记录进行具体说明。
(1)数据表名修改
现有ODG数据升级时,首先会比较新旧信息模型(也即新旧数据版本)的差异,如果老模型中某一数据表的名称有修改,现有流程会认为是新增表,则丢弃原数据表数据,增加数据表数据,并将模型默认值赋给该新数据表中所有字段,因而会造成原表数据丢失。
为了解决这个问题,本实施例中设计了数据表名修改时数据升级的模板结构和处理引擎,使用该模板结构的模板文件存储设备数据的数据表名的待修改信息。
表1
A | B | C | |
1 | 旧数据模型版本号 | 原表名 | 新表名 |
2 | 6$4 | sIpLogicPortCfg | sIpVlanCfg |
如表1所示,该模板一共包括三列,分别为旧数据模型版本号、原表名和新表名。其中,“旧数据模型版本号”可以填写为“X&Y”的形式,X表示模型大版本号,Y表示模型小版本号,多个版本号可以使用“,”(逗号)分割,或者使用“<”(小于号)标识符指代小于该版本的所有版本,减少填写复杂度。当该列的值满足升级条件时(也即,待升级数据模型的版本号与该字段数据相符合时),该条记录才生效。“原表名”用于填写发生名称变化的数据表名称。“新表名”用于填写改变后的数据表名称。
处理引擎用于ODG对设备数据的数据表名的待修改信息对应的数据表进行升级,处理引擎的设计流程如图4所示,在从MDF逐表升级时,增加如图4所示的处理流程,可以处理所有这类数据表名修改的数据升级情况,该流程包括:
步骤S402:ODG对当前数据表进行升级;
步骤S404:ODG读取用于数据表名修改时数据升级的模板文件;
步骤S406:ODG根据模板文件中的“旧数据模型版本号”对数据表进行过滤,若模板文件中没有当前数据表的版本号的记录,则直接对当前数据表进行升级,然后转入下一张数据表,将下一张数据表作为当前数据表,返回步骤S402进行升级;若模板文件中有当前数据表的版本号的记录,则进入步骤S408;
步骤S408:判断当前数据表的表名与模板文件中“原表名”字段中的数据是否一致,若否,则升级当前数据表,然后转入下一张数据表,将下一张数据表作为当前数据表,返回步骤S402进行升级;若是,则将当前数据表的表名更新为模板文件中“新表名”字段中相应的表名,再进行数据表升级(保持数据表中数据不变),然后转入下一张数据表,将下一张数据表作为当前数据表,返回步骤S402进行升级,直到处理完所有的数据表。
通过上述数据表名修改时的数据升级流程,保证了原数据表数据不会丢弃,保证了修改了表名的数据表的正常升级。
(2)字段名修改
现有ODG数据升级时,首先会比较新旧信息模型的差异,如果老模型中某一字段名称有修改,原有流程会认为是新增字段,丢弃原字段属性列,增加新字段属性列,并将模型默认值赋给该字段,因而会造成原字段数据丢失。
为了解决这个问题,本实施例中设计了字段名修改时数据升级的模板结构和处理引擎,使用该模板结构的模板文件存储设备数据的数据表中的字段名的待修改信息。
表2
如表2所示,该模板一共包括四列,分别为旧数据模型版本号、表名、原字段名和新字段名。其中,“旧数据模型版本号”可以填写为“X&Y”的形式,X表示模型大版本号,Y表示模型小版本号,多个版本号可以使用“,”(逗号)分割,或者使用“<”(小于号)标识符指代小于该版本的所有版本,减少填写复杂度。当该列的值满足升级条件时,该条记录才生效。“表名”用于填写发生字段名称变化的数据表名称,避免多张表内字段名称重复造成歧义。“原字段名”用于填写发生变化前的字段名称。“新字段名”用于填写改变后的字段名称。
处理引擎用于ODG对设备数据的数据表中的字段名的待修改信息对应的数据表进行升级,处理引擎的设计流程如图5所示,在从MDF逐表升级时,增加如图5所示的处理流程,可以处理所有这类字段名修改的数据升级情况,该流程包括:
步骤S502:ODG对当前数据表进行升级;
步骤S504:ODG读取用于字段名修改时数据升级的模板文件;
步骤S506:ODG根据模板文件中的“旧数据模型版本号”对数据表进行过滤,若模板文件中没有当前数据表的版本号的记录,则直接对当前数据表进行升级,然后转入下一张数据表,将下一张数据表作为当前数据表,返回步骤S502进行升级;若模板文件中有当前数据表的版本号的记录,则进入步骤S508;
步骤S508:判断当前数据表的表名与模板文件中“表名”字段中的数据是否一致,若否,则升级当前数据表,然后转入下一张数据表,将下一张数据表作为当前数据表,返回步骤S502进行升级;若是,则进入步骤S510;
步骤S510:判断当前数据表中的当前列的列名与模板文件中“原字段名”的数据是否一致,若否,则升级当前数据表,然后转入下一张数据表,将下一张数据表作为当前数据表,返回步骤S502进行升级;若是,则将当前数据表中的当前列的列名更新为模板文件中的“新字段名”中相应的字段名,再进行数据表升级(保持原列数据不变),然后转入下一张数据表,将下一张数据表作为当前数据表,返回步骤S502进行升级,直到处理完所有的数据表。
通过上述字段名修改时的数据升级流程,保证了原字段数据不会丢失,保证了修改了字段名的数据表的正常升级。
(3)数据记录值修改
现有ODG数据升级完成后,如果原表中某些字段的值在新的版本中需要更改成新的值,原有流程不会处理,需要人工根据更改的情况,修改相应代码。
为了解决这个问题,本实施例中设计了数据记录值修改时数据升级的模板结构和处理引擎,使用该模板结构的模板文件存储设备数据的数据表中的数据记录值的待修改信息。
表3
如表3所示,该模板的数据列包括:“旧数据模型版本号”,可以填写为“X&Y”的形式,X表示模型大版本号,Y表示模型小版本号,多个版本号可以使用“,”(逗号)分割,或者使用“<”(小于号)标识符指代小于该版本的所有版本,减少填写复杂度,当该列的值满足升级条件时,该条记录才生效;“表名”,用于填写记录值发生变化的数据表名称;“字段名”,用于填写需要修改值所在的字段名称,必须是表名所属表中的字段;“新值”,可以填具体的数值,也可以对象表中的字段值,在字段名称前加“=”标识符,表示取该表其他字段的值。
优选地,还可以包括修改条件信息(即第一修改条件信息),包括:条件个数(第一修改条件个数)、条件字段名(第一修改条件字段名)和条件值(第一修改条件值)。其中,“条件个数”可以支持条件修改,当符合某些条件时,才修改属性的值;该列填写条件个数,如果填写1,表示后面一个条件生效。条件之间是&(和)关系,即满足所有子条件后才认为符合条件,不填或为“0”认为无条件。“条件字段名”可以填本表的字段,也可以填父表的字段,填父表字段时,前面需要加标识符“&”。“条件值”可以是具体数值,也可以采用“!”(非),“>”(大于),“<”(小于)等标识符,也可以是其他字段值。
以下以一个实例说明该模板结构,如表4所示,小区表“rCell”修改其他频段时隙转换点“rCellOtherBandTsSwitchPoint”字段,默认取值等于本表时隙转换点“rCellTsSwitchPoint”字段的值,“条件个数”为“0”,执行该记录时无条件。
表4
处理引擎用于ODG对数据记录值的待修改信息对应的数据表进行升级,处理引擎的设计流程如图6所示,在从MDF逐表升级时,增加如图6所示的处理流程,可以处理所有这类数据记录值修改的数据升级情况,该流程包括:
步骤S602:ODG对当前数据表升级完成;
步骤S604:ODG读取用于数据记录值修改时数据升级的模板文件;
步骤S606:ODG根据模板文件中的“旧数据模型版本号”对数据表进行过滤,若模板文件中没有当前数据表的版本号的记录,则说明不需要对当前数据表进行记录值修改,当前数据表升级完成;若模板文件中有当前数据表的版本号的记录,则进入步骤S608;
步骤S608:ODG根据模板文件中的对应于当前数据表的记录中“表名”字段的值,获取该“表名”指示的数据表中的所有数据记录;
步骤S610:ODG根据模板文件中的对应于当前数据表的记录中“字段名”字段的值过滤需要修改的对象,确定待修改的记录值所在的字段;
步骤S612:ODG根据修改条件信息判断记录值的修改条件是否满足,若不满足,则返回步骤S608;若满足,则修改相应的记录值为“新值”字段中指示的新值,然后返回步骤S608,直至当前数据表中所有待修改的数据记录值修改完成。
通过上述数据记录值修改时的数据升级流程,保证了ODG数据升级中记录值的正确修改,保证了修改数据记录值的数据表的正常升级。
(4)增加数据记录
现有ODG数据升级完成后,如果增加新表,而该表需要升级的时候要把记录添加上;或者是原表中已有记录需要添加上某些固定的记录时,原有流程不会处理,需要人工根据更改的情况,修改相应代码。
为了解决这个问题,本实施例中设计了增加数据记录时数据升级的模板结构和处理引擎,使用该模板结构的模板文件存储待增加数据记录的信息。
表5
如表5所示,该模板的数据列包括:“旧数据模型版本号”,可以填写为“X&Y”的形式,X表示模型大版本号,Y表示模型小版本号,多个版本号可以使用“,”(逗号)分割,或者使用“<”(小于号)标识符指代小于该版本的所有版本,减少填写复杂度,当该列的值满足升级条件时,该条记录才生效;“表名”,用于填写增加数据记录的数据表名称;“父表名”(可选),用于填写父表的名称;“字段个数”,其之后的字段给插入记录部分属性赋值;“字段名”,必须是本表的字段;“值”,可以是实际值,也可以是父表中的字段值,此时通过标示符“&”识别。
以下,以实例说明该模板结构。
表6
如表6所示,为一个增加小区算法表,表名“rRrmHspaplus”,需要给每一个小区“rCell”(父表名)下面都要添加一条记录,字段“recordid”和“cellId”需要设定值,其中“recordid”字段赋值为“1”,“cellId”字段取值为父表“rCell”的“cellId”属性值。
表7
再如表7所示,是一个增加IMA系统表,表名“sAtmImaSysPara”,在父表名“rRnc”下增加一条记录,该记录将“recordid”字段赋值为“1”,其它采用默认值。
处理引擎用于ODG对待增加数据记录的信息对应的数据表进行升级,处理引擎的设计流程如图7所示,在从MDF逐表升级时,增加如图7所示的处理流程,可以处理所有这类增加数据记录的数据升级情况,该流程包括:
步骤S702:ODG对当前数据表升级完成;
步骤S704:ODG读取用于增加数据记录时数据升级的模板文件;
步骤S706:ODG根据模板文件中的“旧数据模型版本号”对数据表进行过滤,若模板文件中没有当前数据表的版本号的记录,则说明不需要对当前数据表增加数据记录,当前数据表升级完成;若模板文件中有当前数据表的版本号的记录,则进入步骤S708;
步骤S708:ODG根据模板文件中的对应于当前数据表的记录中“表名”字段的值,获取该“表名”指示的数据表中的所有数据记录;
步骤S710:ODG根据模板文件中的对应于当前数据表的记录中相应的字段名和字段值生成记录,添加到当前数据表的数据中,然后返回步骤S708,直至处理完当前数据表中所有待增加的数据记录。
通过上述增加数据记录时的数据升级流程,保证了ODG数据升级中数据记录的正确增加,保证了增加数据记录的数据表的正常升级。
(5)删除数据记录
现有ODG数据升级完成后,如果需要对某些表的记录进行删除,原有流程不会处理,需要人工根据情况,修改相应代码,对需要删除记录的表清空记录。
为了解决这个问题,本实施例中设计了删除数据记录时数据升级的模板结构和处理引擎,使用该模板结构的模板文件存储待删除数据记录的信息。
表8
如表8所示,该模板的数据列包括:“旧数据模型版本号”,填写为“X&Y”的形式,X表示模型大版本号,Y表示模型小版本号,多个版本号可以使用“,”(逗号)分割,或者使用“<”(小于号)标识符指代小于该版本的所有版本,减少填写复杂度,当该列的值满足升级条件时,该条记录才生效;“表名”,填写删除数据记录的数据表名称。
优选地,还可以包括修改条件信息(即第二修改条件信息),包括:条件个数(第二修改条件个数)、条件字段名(第二修改条件字段名)和条件值(第二修改条件值)。其中,“条件个数”可以支持条件删除,当符合某些条件时,才删除该记录,该列填写条件个数,如果填写1,表示后面一个条件生效,条件之间是&(和)关系,即满足所有子条件后才认为符合条件,如果不设置或设置为“0”,默认删除所有记录;“条件字段名”可以填本表的字段,也可以填父表的字段,填父表字段时,前面需要加标识符“&”;“条件值”可以是具体数值,也可以采用“!”(非),“>”(大于),“<”(小于)等标识符,也可以是其他字段值。
以下以一个实例说明该模板结构,如表9所示,需要升级的时候删除表名为“rIpPathDetect”中的所有记录(“条件个数”设置为“0”)。
表9
A | B | C | |
1 | 旧数据模型版本号 | 表名 | 条件个数 |
2 | 5$5,5$6 | rIpPathDetect | 0 |
处理引擎用于ODG对待删除数据记录的信息对应的数据表进行升级,处理引擎的设计流程如图8所示,在从MDF逐表升级时,增加如图8所示的处理流程,可以处理所有这类删除数据记录的数据升级情况,该流程包括:
步骤S802:ODG对当前数据表升级完成;
步骤S804:ODG读取用于删除数据记录时数据升级的模板文件;
步骤S806:ODG根据模板文件中的“旧数据模型版本号”对数据表进行过滤,若模板文件中没有当前数据表的版本号的记录,则说明不需要对当前数据表进行数据记录删除,当前数据表升级完成;若模板文件中有当前数据表的版本号的记录,则进入步骤S808;
步骤S808:ODG根据模板文件中的对应于当前数据表的记录中“表名”字段的值,获取该“表名”指示的数据表中的所有数据记录;
步骤S810:ODG根据模板文件中的对应于当前数据表的记录中相应的修改条件信息,判断删除条件是否满足,若不满足,则返回步骤S808;若满足,则删除相应的数据记录,然后返回步骤S808,直至处理完当前数据表中所有待删除的数据记录。
通过上述删除数据记录时的数据升级流程,保证了ODG数据升级中数据记录的正确删除,保证了删除数据记录的数据表的正常升级。
本实施例中,将升级的配置(对数据表名修改、字段名修改、数据记录值修改、增加数据记录和删除数据记录等数据升级过程的处理)使用EXCEL文件保存,这些配置可以使用EXCEL中不同的sheet(表单)填写不同的配置,在读取MDF前,如果需要升级,在读取新旧信息模型的同时,根据旧模型版本号读取该EXCEL文件中相应的信息,待需要时根据输入执行相应升级动作。每个版本的ODG维护这样一个升级配置文件,内含所有老版本数据向该新版本的升级配置,维护的文件个数不随版本演进而增加。
通过本实施例,完善了ODG数据升级方案,能够满足绝大部分ODG数据升级应用场景,大大减少了开发维护的工作量,减轻了运行维护人员的负担,提高了通信设备的设备数据可维护性,且实现简单,实现成本低,降低了ODG的开发维护成本。
实施例三
参照图9,示出了根据本申请实施例三的一种数据升级装置的结构框图。
本实施例的数据升级装置包括:获取模块902,用于获取通信设备的设备数据的待修改信息,其中,待修改信息包括以下至少之一:设备数据的数据表名的待修改信息、设备数据的数据表中的字段名的待修改信息、设备数据的数据表中的数据记录的待修改信息;升级模块904,用于根据获取的待修改信息,使用ODG按照相对应的以下规则至少之一:表名修改升级规则、字段名修改升级规则、记录修改升级规则,对待修改信息对应的数据表进行升级。
其中,表名修改升级规则用于根据设备数据的数据表名的待修改信息,将原数据表名修改为新数据表名,并保持对应的数据表中的数据不变;字段名修改升级规则用于根据设备数据的数据表中的字段名的待修改信息,将原字段名修改为新字段名,并保持对应的字段中的数据不变;记录修改升级规则用于根据设备数据的数据表中的数据记录的待修改信息,对数据记录进行修改。
优选地,本实施例的数据升级装置还包括:存储模块906,用于在获取模块902获取通信设备的设备数据的待修改信息之后,使用数据表存储获取的待修改信息;升级模块904,用于从存储有待修改信息的数据表中获取待修改信息;根据获取的待修改信息,使用ODG按照相对应的以下规则至少之一:表名修改升级规则、字段名修改升级规则、记录修改升级规则,对待修改信息对应的数据表进行升级。
优选地,所述数据表为EXCEL表。
优选地,设备数据的数据表中的数据记录的待修改信息包括以下至少之一:数据记录值的待修改信息、待增加数据记录的信息、待删除数据记录的信息。
当获取的待修改信息包括数据记录值的待修改信息时,存储模块906,用于使用数据表存储获取的数据记录值的待修改信息和第一修改条件信息,其中,第一修改条件信息包括:第一修改条件个数、第一修改条件字段名和第一修改条件值。
当获取的待修改信息包括待删除数据记录的信息时,存储模块906,用于使用数据表存储获取的待删除数据记录的信息和第二修改条件信息,其中,第二修改条件信息包括:第二修改条件个数、第二修改条件字段名和第二修改条件值。
优选地,ODG通过调用接口调用EXCEL表存储待修改信息;并在对待修改信息对应的数据表进行升级时通过调用接口从EXCEL表中获取待修改信息。
本实施例的数据升级装置用于实现前述方法实施例中相应的数据升级方法,并具有相应的方法实施例的有益效果,在此不再赘述。
本申请提供了一种使用ODG进行通信设备数据升级的数据升级方案,该方案通过抽象升级流程中具有共性的操作,并将这些操作通过一定的规则定义,采用EXCEL模板代替手工编写代码,通过模板驱动(即根据一定的规则填写模板,通过读写模板来实现相关功能)来实现数据的升级,大大减少每次数据升级的编码量,降低开发人员维护产品的工作量。
EXCEL模板中囊括了大部分需要重新编码的升级场景,具有较高的实用性;每一个ODG版本只需要维护一个EXCEL模板即可,维护量极小,也比较灵活;并且,采用模板升级方式与原有升级流程松耦合,只是对原流程的补充,不改动原流程,一方面降低了修改代码带来的风险,另一方面也减少了开发工作量。可见,通过本申请,完善了ODG数据升级方案,能够满足绝大部分ODG数据升级应用场景,大大减少了开发维护的工作量,减轻了运行维护人员的负担,提高了通信设备的设备数据可维护性,且实现简单,实现成本低,降低了ODG的开发维护成本。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本申请所提供的一种数据升级方法和装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种数据升级方法,其特征在于,包括:
获取通信设备的设备数据的待修改信息,所述待修改信息包括以下至少之一:所述设备数据的数据表名的待修改信息、所述设备数据的数据表中的字段名的待修改信息、所述设备数据的数据表中的数据记录的待修改信息;
根据获取的所述待修改信息,使用离线数据制作工具ODG按照相对应的以下规则至少之一:表名修改升级规则、字段名修改升级规则、记录修改升级规则,对所述待修改信息对应的数据表进行升级;
其中,所述表名修改升级规则用于根据所述设备数据的数据表名的待修改信息,将原数据表名修改为新数据表名,并保持对应的数据表中的数据不变;所述字段名修改升级规则用于根据所述设备数据的数据表中的字段名的待修改信息,将原字段名修改为新字段名,并保持对应的字段中的数据不变;所述记录修改升级规则用于根据所述设备数据的数据表中的数据记录的待修改信息,对所述数据记录进行修改。
2.根据权利要求1所述的方法,其特征在于,
在所述获取通信设备的设备数据的待修改信息的步骤之后,还包括:使用数据表存储获取的所述待修改信息;
所述根据获取的所述待修改信息,使用ODG按照相对应的以下规则至少之一:表名修改升级规则、字段名修改升级规则、记录修改升级规则,对所述待修改信息对应的数据表进行升级的步骤包括:从存储有所述待修改信息的数据表中获取所述待修改信息;根据获取的所述待修改信息,使用ODG按照相对应的以下规则至少之一:表名修改升级规则、字段名修改升级规则、记录修改升级规则,对所述待修改信息对应的数据表进行升级。
3.根据权利要求2所述的方法,其特征在于,所述数据表为EXCEL表。
4.根据权利要求2或3所述的方法,其特征在于,所述设备数据的数据表中的数据记录的待修改信息包括以下至少之一:数据记录值的待修改信息、待增加数据记录的信息、待删除数据记录的信息;
当获取的所述待修改信息包括所述数据记录值的待修改信息时,所述使用数据表存储获取的所述待修改信息的步骤包括:使用数据表存储获取的所述数据记录值的待修改信息和第一修改条件信息,其中,所述第一修改条件信息包括:第一修改条件个数、第一修改条件字段名和第一修改条件值;
当获取的所述待修改信息包括所述待删除数据记录的信息时,所述使用数据表存储获取的所述待修改信息的步骤包括:使用数据表存储获取的所述待删除数据记录的信息和第二修改条件信息,其中,所述第二修改条件信息包括:第二修改条件个数、第二修改条件字段名和第二修改条件值。
5.根据权利要求3所述的方法,其特征在于,所述ODG通过调用接口调用所述EXCEL表存储所述待修改信息;并在对所述待修改信息对应的数据表进行升级时通过所述调用接口从所述EXCEL表中获取所述待修改信息。
6.一种数据升级装置,其特征在于,包括:
获取模块,用于获取通信设备的设备数据的待修改信息,所述待修改信息包括以下至少之一:所述设备数据的数据表名的待修改信息、所述设备数据的数据表中的字段名的待修改信息、所述设备数据的数据表中的数据记录的待修改信息;
升级模块,用于根据获取的所述待修改信息,使用离线数据制作工具ODG按照相对应的以下规则至少之一:表名修改升级规则、字段名修改升级规则、记录修改升级规则,对所述待修改信息对应的数据表进行升级;
其中,所述表名修改升级规则用于根据所述设备数据的数据表名的待修改信息,将原数据表名修改为新数据表名,并保持对应的数据表中的数据不变;所述字段名修改升级规则用于根据所述设备数据的数据表中的字段名的待修改信息,将原字段名修改为新字段名,并保持对应的字段中的数据不变;所述记录修改升级规则用于根据所述设备数据的数据表中的数据记录的待修改信息,对所述数据记录进行修改。
7.根据权利要求6所述的装置,其特征在于,还包括:存储模块,用于在所述获取模块获取通信设备的设备数据的待修改信息之后,使用数据表存储获取的所述待修改信息;
所述升级模块,用于从存储有所述待修改信息的数据表中获取所述待修改信息;根据获取的所述待修改信息,使用ODG按照相对应的以下规则至少之一:表名修改升级规则、字段名修改升级规则、记录修改升级规则,对所述待修改信息对应的数据表进行升级。
8.根据权利要求7所述的装置,其特征在于,所述数据表为EXCEL表。
9.根据权利要求7或8所述的装置,其特征在于,所述设备数据的数据表中的数据记录的待修改信息包括以下至少之一:数据记录值的待修改信息、待增加数据记录的信息、待删除数据记录的信息;
当获取的所述待修改信息包括所述数据记录值的待修改信息时,所述存储模块,用于使用数据表存储获取的所述数据记录值的待修改信息和第一修改条件信息,其中,所述第一修改条件信息包括:第一修改条件个数、第一修改条件字段名和第一修改条件值;
当获取的所述待修改信息包括所述待删除数据记录的信息时,所述存储模块,用于使用数据表存储获取的所述待删除数据记录的信息和第二修改条件信息,其中,所述第二修改条件信息包括:第二修改条件个数、第二修改条件字段名和第二修改条件值。
10.根据权利要求8所述的装置,其特征在于,所述ODG通过调用接口调用所述EXCEL表存储所述待修改信息;并在对所述待修改信息对应的数据表进行升级时通过所述调用接口从所述EXCEL表中获取所述待修改信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210298166.7A CN102855305B (zh) | 2012-08-20 | 2012-08-20 | 数据升级方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210298166.7A CN102855305B (zh) | 2012-08-20 | 2012-08-20 | 数据升级方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102855305A true CN102855305A (zh) | 2013-01-02 |
CN102855305B CN102855305B (zh) | 2015-05-27 |
Family
ID=47401893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210298166.7A Active CN102855305B (zh) | 2012-08-20 | 2012-08-20 | 数据升级方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102855305B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102511A (zh) * | 2014-07-17 | 2014-10-15 | 福建星海通信科技有限公司 | 一种基于SQL Server的脚本自动升级系统及方法 |
CN104899257A (zh) * | 2015-05-18 | 2015-09-09 | 北京京东尚科信息技术有限公司 | 分布式数据仓库中的数据更新方法和装置 |
CN105515860A (zh) * | 2015-12-07 | 2016-04-20 | 浪潮通信信息系统有限公司 | 一种更改设备属性的方法及装置 |
CN107679245A (zh) * | 2017-10-30 | 2018-02-09 | 山东浪潮通软信息科技有限公司 | 一种组织架构调整方法及装置 |
CN111008028A (zh) * | 2019-11-22 | 2020-04-14 | 杭州数式网络科技有限公司 | 一种软件升级方法、设备和存储介质 |
CN111666087A (zh) * | 2020-05-28 | 2020-09-15 | 平安医疗健康管理股份有限公司 | 运算规则更新方法、装置、计算机系统及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1437365A (zh) * | 2002-02-04 | 2003-08-20 | 华为技术有限公司 | 一种通信设备的数据离线配置方法 |
CN101299683A (zh) * | 2008-06-25 | 2008-11-05 | 中兴通讯股份有限公司 | 一种离线数据的配置设备和方法 |
CN102065413A (zh) * | 2010-11-17 | 2011-05-18 | 北京北方烽火科技有限公司 | 数据库升级方法及系统、基站自启动方法及系统 |
CN102402559A (zh) * | 2010-09-16 | 2012-04-04 | 中兴通讯股份有限公司 | 一种数据库升级脚本的生成方法和装置 |
-
2012
- 2012-08-20 CN CN201210298166.7A patent/CN102855305B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1437365A (zh) * | 2002-02-04 | 2003-08-20 | 华为技术有限公司 | 一种通信设备的数据离线配置方法 |
CN101299683A (zh) * | 2008-06-25 | 2008-11-05 | 中兴通讯股份有限公司 | 一种离线数据的配置设备和方法 |
CN102402559A (zh) * | 2010-09-16 | 2012-04-04 | 中兴通讯股份有限公司 | 一种数据库升级脚本的生成方法和装置 |
CN102065413A (zh) * | 2010-11-17 | 2011-05-18 | 北京北方烽火科技有限公司 | 数据库升级方法及系统、基站自启动方法及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102511A (zh) * | 2014-07-17 | 2014-10-15 | 福建星海通信科技有限公司 | 一种基于SQL Server的脚本自动升级系统及方法 |
CN104899257A (zh) * | 2015-05-18 | 2015-09-09 | 北京京东尚科信息技术有限公司 | 分布式数据仓库中的数据更新方法和装置 |
CN104899257B (zh) * | 2015-05-18 | 2018-04-13 | 北京京东尚科信息技术有限公司 | 分布式数据仓库中的数据更新方法和装置 |
CN105515860A (zh) * | 2015-12-07 | 2016-04-20 | 浪潮通信信息系统有限公司 | 一种更改设备属性的方法及装置 |
CN107679245A (zh) * | 2017-10-30 | 2018-02-09 | 山东浪潮通软信息科技有限公司 | 一种组织架构调整方法及装置 |
CN111008028A (zh) * | 2019-11-22 | 2020-04-14 | 杭州数式网络科技有限公司 | 一种软件升级方法、设备和存储介质 |
CN111008028B (zh) * | 2019-11-22 | 2022-07-01 | 杭州数式网络科技有限公司 | 一种软件升级方法、设备和存储介质 |
CN111666087A (zh) * | 2020-05-28 | 2020-09-15 | 平安医疗健康管理股份有限公司 | 运算规则更新方法、装置、计算机系统及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102855305B (zh) | 2015-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102855305A (zh) | 数据升级方法与装置 | |
CN109062952B (zh) | 一种数据查询方法、装置及电子设备 | |
CN107918666B (zh) | 一种区块链上的数据同步方法和系统 | |
CN103559323B (zh) | 数据库实现方法 | |
CN103246733A (zh) | 一种基于元数据的动态表单系统及其生成方法 | |
CN109472446B (zh) | 基于bim模型的工程概预算编制方法 | |
CN102609816A (zh) | 一种通用的可按自定义规则编码的物料编码方法 | |
CN104967620A (zh) | 一种基于属性访问控制策略的访问控制方法 | |
US20150142734A1 (en) | Meta Model Driven Data Base Replication and Synchronization | |
CN110457666B (zh) | 一种报表生成方法、系统及电子设备和存储介质 | |
CN105868196A (zh) | 一种服务器端工业数据报表生成方法 | |
CN106557307B (zh) | 业务数据的处理方法及处理系统 | |
CN101634942A (zh) | 一种动态创建数据表的方法和系统 | |
CN107704597A (zh) | 关系型数据库至Hive的ETL脚本创建方法 | |
CN104392123B (zh) | 一种cda引擎系统及实现方法 | |
US10776313B2 (en) | Converting source objects to target objects | |
CN103309801A (zh) | 一种确定回归测试范围的方法和装置 | |
CN109408067A (zh) | 一种基于单体应用的数据管理方法和服务器 | |
CN102375827A (zh) | 一种对版本化的电网模型数据库进行快速加载的方法 | |
CN105512392A (zh) | 国网erp物料设备编码与应用系统 | |
CN103942280A (zh) | 一种基于数据结构自动生成代码的方法 | |
CN101604338A (zh) | 一种实现用户自定义的信息查询方法和装置 | |
CN108897551A (zh) | 一种资源引用关系树的生成方法及装置 | |
CN109634585B (zh) | 一种基于表单自适应展示和更新服务端数据的方法 | |
CN105868170A (zh) | 一种服务器端工业数据报表生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |