CN102111293B - 配置事务的处理方法和装置 - Google Patents
配置事务的处理方法和装置 Download PDFInfo
- Publication number
- CN102111293B CN102111293B CN2010106203073A CN201010620307A CN102111293B CN 102111293 B CN102111293 B CN 102111293B CN 2010106203073 A CN2010106203073 A CN 2010106203073A CN 201010620307 A CN201010620307 A CN 201010620307A CN 102111293 B CN102111293 B CN 102111293B
- Authority
- CN
- China
- Prior art keywords
- configuration
- record
- transaction
- candidate data
- configuration transaction
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims abstract description 12
- 238000012217 deletion Methods 0.000 claims description 66
- 230000037430 deletion Effects 0.000 claims description 66
- 238000003780 insertion Methods 0.000 claims description 65
- 230000037431 insertion Effects 0.000 claims description 65
- 238000004321 preservation Methods 0.000 claims description 3
- 238000002955 isolation Methods 0.000 abstract description 2
- 101000894525 Homo sapiens Transforming growth factor-beta-induced protein ig-h3 Proteins 0.000 description 9
- 102100021398 Transforming growth factor-beta-induced protein ig-h3 Human genes 0.000 description 9
- 230000000903 blocking effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种配置事务的处理方法和装置。该方法主要包括:在用户启动了配置事务后,给所述配置事务分配一个候选数据库;将配置数据表中的所述配置事务需要操作的记录的候选数据库标识字段的值设置为所述候选数据库的标识,在所述候选数据库中记录所述配置事务需要操作的记录的标识信息;在提交所述本次配置事务后,将配置数据表中的所述配置事务需要操作的记录的候选数据库标识字段的值设置为指定值,使所述配置事务需要操作的记录生效。利用本发明实施例,实现了多个用户的各个配置事务之间互相隔离,各配置事务都不会对配置数据库中的记录产生锁定,不会产生配置事务之间的阻塞现象。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种配置事务的处理方法和装置。
背景技术
对于当前电信网络设备的业务配置,用户希望支持配置事务功能。配置事务一般为长事务,需基于现有配置数据先完成语法语义检查,然后再完成配置命令的正式生效提交。多个用户可能同时启动多个配置事务,而多个用户配置事务时希望无阻塞。
电信网络设备的业务配置数据大多使用嵌入式内存数据库来存储,可以极大提高配置性能和简化系统维护。嵌入式内存数据库一般采用简单的粗粒度锁保证临界资源互斥,如果多用户并行配置事务直接使用锁隔离事务则会经常发生阻塞,下发的配置命令会发生较长的延时,用户体验很差。
现有技术中一种实现多个用户并发配置事务的方法为:采用通用的支持记录锁的配置数据库,支持多个用户同时修改配置数据库。
在实现本发明的过程中,发明人发现上述现有技术中的一种实现多个用户配置事务的方法至少存在如下的缺点:
电信网络设备的系统配置一般不高,如果使用支持记录锁的配置数据库,复杂的锁管理机制会占用电信网络设备较多的资源,同时也会影响电信网络设备的响应时间。
采用记录锁的方式,如果一个用户需要修改配置数据库中的一条记录,则需要对该记录进行锁定,另一个用户如要修改该记录则需要等到前面用户提交或回滚事务进行解锁,才可以修改该记录,从而产生阻塞等待,用户体验较差。
发明内容
本发明的实施例提供了一种配置事务的处理方法和装置,以实现多用户配置事务时不出现阻塞等待现象。
一种配置事务的处理方法,包括:
在配置事务被启动后,给所述配置事务启动对应的候选数据库;
将配置数据表中的所述配置事务需要操作的记录的候选数据库标识字段的值设置为所述候选数据库的标识,在所述候选数据库中记录所述配置事务需要操作的记录的标识信息;
在所述本次配置事务被提交后,将配置数据表中的所述配置事务需要操作的记录的候选数据库标识字段的值设置为指定值,使所述配置事务需要操作的记录生效。
一种配置事务的处理装置,包括:配置层模块、候选数据库管理层模块和标准数据库接口层模块,
其中:
所述配置层模块用于使用户启动配置事务和提交配置事务;
所述候选数据库管理层模块用于在用户通过所述配置层模块启动配置事务后,给所述配置事务启动对应的候选数据库;将调用所述标准数据库接口层模块创建的包括业务对应的各个字段和候选数据库标识字段的配置数据表中的、所述配置事务需要操作的记录的候选数据库标识字段的值设置为所述候选数据库的标识,在所述候选数据库中记录所述配置事务需要操作的记录的标识信息;以及,在所述用户通过所述配置层模块提交所述配置事务后,根据所述记录的配置事务需要操作的记录的标识信息,将所述配置数据表中的所述配置事务需要操作的记录的候选数据库标识字段的值设置为指定值,使所述配置事务需要操作的记录生效;
所述标准数据库接口层模块用于创建包括业务对应的各个字段和候选数据库标识字段的配置数据表,将所述配置数据表进行存储。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过给用户启动的配置事务分配一个对应的CDB(Candidate Database,候选数据库),将配置数据表中的所述配置事务需要操作的记录的CDB_ID(Candidate Database_ID,候选数据库标识)字段的值设置为所述分配的CDB的标识,即通过将每个配置事务要操作的记录通过候选数据库的标识来区别,实现了多个用户的各个配置事务之间互相隔离,从而可以实现多用户并发或非并发配置事务时不出现阻塞等待现象,避免了现有技术中各配置事务对配置数据库中的记录产生锁定,从而产生配置事务之间的阻塞现象的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种配置事务的处理装置的逻辑示意图;
图2为本发明实施例一提供的一种配置事务的处理方法的流程示意图;
图2a为本发明实施例提供的创建数据表的原理示意图;
图3为本发明实施例二提供的一种配置事务的处理装置的结构示意图;
图4为本发明实施例三提供的一种配置事务的处理方法的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
为了方便理解本发明实施例,这里先介绍下本发明实施例的逻辑层次,如图1所示,本发明实施例基于嵌入式内存数据库,在标准数据库接口层与配置层之间增加候选数据库管理层,以支持在电信网络设备上启动多个配置事务并发地进行业务配置。应当理解的是,本发明实施例可以适用于普通的非并发配置事务,也可以适用于并发配置事务。
需要说明的是,本发明实施例中,通过可裁剪的中间层(即候选数据库管理层)来支持多个并发/非并发配置事务对电信网络设备进行业务配置的功能,不与数据库内部的事务管理相耦合,无需修改嵌入式内存数据库的内核功能。
如图1所示,本发明实施例在网络设备的配置层和标准数据库接口层之间新增加一个中间层即候选数据库管理层,其中:
配置层,主要用于向用户提供配置事务的人机交互接口,支持用户启动配置事务或提交配置事务,具体的,解析和执行用户下发的配置命令,触发将变化的配置数据保存到内存数据库中(具体的,将变化的配置数据保存到配置数据表中)。
候选数据库管理层,主要用于给每个用户发起的配置事务启动一个对应的候选数据库,通过该对应的候选数据库的标识来隔离不同用户发起的配置事务,保证用户的配置事务所做的修改只被该用户自身可见。
标准数据库接口层,主要用于提供标准数据的存储管理和操作接口,该标准数据库接口层(具体的,操作接口)被调用后,可以创建配置数据表,并进行配置数据表的保存。
实施例一
本发明实施例提供的一种配置事务的处理方法的流程示意图如图2所示,包括如下的步骤:
步骤21、在用户启动配置事务后,给所述配置事务启动对应的候选数据库。
步骤22、将配置数据表中的所述配置事务需要操作的记录的候选数据库标识字段的值设置为所述候选数据库的标识,在所述候选数据库中记录所述配置事务需要操作的记录的标识信息。
比如,当用户启动的配置事务为对配置数据表中的原记录进行更新时,编辑并执行配置命令,根据需要更新的配置数据在所述配置数据表中插入新记录,将所述插入的新记录的候选数据库标识字段的值设置为给所述配置事务分配的候选数据库的标识。
在给所述配置事务分配的候选数据库中的插入列表中记录所述插入的新记录在所述配置数据表中的标识,删除列表中记录所述需要删除的原记录在所述配置数据表中的标识,对所述新记录和原记录不进行锁定。
本步骤中提到的配置数据表,在一种实现方式下,在网络设备初始化时,创建包括业务对应的各个字段和候选数据库标识字段的配置数据表。下面结合图2a来介绍创建数据表的处理过程:
用户通过配置层指定创建一张包含4个字段的数据表时,候选数据库管理层为该表附加一个CDB_ID字段(如附加一个32bit的整型字段CDB_ID),该字段对配置层不可见,对数据库则与通用字段没有区别,候选数据库管理层调用标准数据库接口层创建包括业务对应的各个字段和候选数据库标识字段的配置数据表。
步骤23、在提交所述本次配置事务后,根据所述记录的配置事务需要操作的记录的标识信息,将配置数据表中的所述配置事务需要操作的记录的候选数据库标识字段的值设置为指定值,使所述配置事务需要操作的记录生效。
当用户启动的配置事务为对配置数据表中的原记录进行更新时,将所述配置数据表中的所述候选数据库中的插入列表中记录的新记录的候选数据库标识字段的值设置为指定值,并且将所述配置数据表中的所述候选数据库中的删除列表中记录的原记录删除,所述指定值表示所述新记录生效。
将所述候选数据库中的插入列表和删除列表发送给网络设备的配置层,所述配置层将所述插入列表和删除列表进行保存,释放所述给配置事务分配的候选数据库。
在一种实现方式下,配置数据表中已经生效的记录,CDB_ID的值为0xffffffff;未生效的记录,CDB_ID的值为对应的候选数据库ID值。
可见,本发明实施例通过给用户启动的配置事务分配一个对应的CDB(Candidate Database,候选数据库),将配置数据表中的所述配置事务需要操作的记录的CDB_ID(Candidate Database_ID,候选数据库标识)字段的值设置为所述分配的CDB的标识,即通过将每个配置事务要操作的记录通过候选数据库的标识来区别,实现了多个用户的各个配置事务之间互相隔离,从而可以实现多用户并发或非并发配置事务时不出现阻塞等待现象,避免了现有技术中各配置事务对配置数据库中的记录产生锁定,从而产生配置事务之间的阻塞现象的问题。
实施例二
本发明实施例提供的一种配置事务的处理装置的结构示意图,如图3所示,可以包括:配置层模块31、候选数据库管理层模块32和标准数据库接口层模块33,其中:
配置层模块31用于支持用户启动配置事务和提交配置事务,具体的,向用户提供配置事务的操作接口,使用户通过该操作接口启动配置事务和提交配置事务。
这里,上述配置事务可以为在配置数据表中插入一条或者多条新记录;删除或者查询配置数据表中的记录等。
候选数据库管理层模块32用于在用户通过所述配置层模块31启动配置事务后,给上述配置事务启动一个对应的CDB,将调用所述标准数据库接口层模块33所创建的包括业务对应的各个字段和候选数据库标识字段的配置数据表中的、所述配置事务需要操作的记录的候选数据库标识字段的值设置为所述CDB的ID,在所述CDB中记录配置数据表中所述配置事务需要操作的记录的标识信息;以及,在所述用户通过所述配置层模块31提交所述配置事务后,根据所述记录的配置事务需要操作的记录的标识信息,将该配置数据表中的所述配置事务需要操作的记录的候选数据库标识字段的值设置为指定值,使所述配置事务需要操作的记录生效。
具体可以是,候选数据库管理层模块32给上述配置事务启动一个对应的CDB,将上述CDB的ID信息返回给上述用户
所述的标准数据库接口层模块33用于创建包括业务对应的各个字段和候选数据库标识字段的配置数据表,将上述配置数据表进行存储。应当理解的是,所述的标准数据库接口层模块33中包括嵌入式内存数据库,或者,嵌入式内存数据库与所述的标准数据库接口层模块33具有通信连接。
在一种实现方式下,所述的候选数据库管理层模决32具体可以包括:第一处理模块321、第二处理模块322和第三处理模块323中的至少一项;
第一处理模块321,用于当用户启动的配置事务为在配置数据表中插入新记录时,在所述标准数据库接口层模块33中保存的配置数据表中插入新记录,将所述新记录的候选数据库标识字段的值设置为给所述配置事务分配的CDB的ID(应当理解的是,通过CDB的ID可使上述新记录对其他CDB进行隔离,所以对所述插入的新记录不需要进行锁定),在给所述配置事务分配的CDB中的插入列表中记录所述插入的新记录在所述配置数据表中的标识;以及,在所述用户通过所述配置层模块31提交所述配置事务后,根据所述插入列表中记录插入的新记录在所述配置数据表中的标识信息,将所述配置数据表中插入的新记录的候选数据库标识字段的值设置为指定值(比如为0xffffffff),使所述配置事务需要操作的记录生效,即,使所述插入的新记录生效。
第二处理模块322,用于当所述用户启动的配置事务为在配置数据表中删除原记录时,将所述配置数据表中所述需要删除的原记录的候选数据库字段的值设置为给所述配置事务分配的候选数据库的标识;在给所述配置事务分配的候选数据库中的删除列表中记录所述需要删除的原记录在所述配置数据表中的标识(应当理解的是,通过候选数据库标识字段的值可使上述需要删除的原记录对其他CDB进行隔离,所以对所述需要删除的原记录不进行锁定);以及,在所述用户通过所述配置层模块31提交所述配置事务后,根据所述删除列表中记录的需要删除的原记录在所述配置数据表中的标识信息,将所述配置数据表中的需要删除的原记录删除。
第三处理模块323,当该用户启动的配置事务为对配置数据表中的原记录进行更新时,根据需要更新的配置数据在所述标准数据库接口层模块33中保存的配置数据表中插入新记录,将所述插入的新记录的候选数据库字段的值设置为给所述配置事务分配的CDB的ID;在给所述配置事务分配的CDB中的插入列表中记录所述插入的新记录在所述配置数据表中的标识,删除列表中记录所述需要更新的原记录在所述配置数据表中的标识(应当理解的是,通过候选数据库标识字段的值可使上述需要删除的原记录对其他CDB进行隔离,所以对所述新记录和原记录不进行锁定);以及,在所述用户通过所述配置层模块31提交所述配置事务后,根据所述插入列表中记录插入的新记录在所述配置数据表中的标识信息,将所述配置数据表中插入的新记录的候选数据库标识字段的值设置为指定值(比如为0xffffffff),使所述插入的新记录生效。根据所述删除列表中记录的需要删除的原记录在所述配置数据表中的标识信息,将所述配置数据表中的需要删除的原记录删除。
需要说明的是,本发明实施例将更新一条新记录分解为插入一条新记录和删除一条原记录。
比如,当上述配置事务为在配置数据表中更新1条原记录时,网络设备的候选数据库管理层给本次配置事务分配一个CDB2。首先通过标准数据库接口在配置数据表中插入1条新记录,上述插入的新记录的CDB_ID字段的值设置上述给配置事务分配的CDB2的ID,比如为CDB2。该条新记录的CDB_ID字段的值CDB2可以使该条新记录和CDB_ID字段的值为CDB1等其他数值的记录区分开,不需要对插入的该条新记录加锁。然后,通过候选数据库管理层在上述给本次配置事务分配的CDB2中的插入列表中记录上述配置数据表给上述新记录分配的ID值,在CDB2中的删除列表中记录需要更新的原记录在上述配置数据表中的ID值。此时,配置数据表中的需要更新的原记录保持不表,也不需要被加锁。
然后,上述用户提交本次配置事务,通过候选数据库管理层将上述插入列表中记录的1条新记录的CDB_ID字段的值设置为0xffffffff,使该条新记录正式生效,将上述删除列表中记录的1条原记录删除。
在一种实现方式下,所述的候选数据库管理层模块32,还用于将所述CDB中的插入列表和/或删除列表发送给所述配置层模块31,并释放所述给配置事务分配的候选数据库。
相应的,所述配置层模块31,还用于将所述插入列表和/或删除列表进行保存,即保存本次配置事务的具体操作记录。以及,当其它用户提交配置事务时,可以将保存的插入列表和删除列表展示给其它用户,以使得其它用户可以根据上述保存的插入列表和删除列表,选择继续提交本次配置事务;或者,放弃本次配置事务,回滚配置事务,释放候选数据库;或者,放弃本次配置事务,重新提交新的配置事务。
可见,本发明实施例通过给用户启动的配置事务分配一个对应的CDB,将配置数据表中的所述配置事务需要操作的记录的CDB_ID字段的值设置为所述分配的CDB的标识,即通过将每个配置事务要操作的记录通过候选数据库的标识来区别,实现了多个用户的各个配置事务之间互相隔离,从而可以实现多用户并发或非并发配置事务时不出现阻塞等待现象,避免了现有技术中各配置事务对配置数据库中的记录产生锁定,从而产生配置事务之间的阻塞现象的问题。
实施例三
本发明实施例提供的一种配置事务的处理方法的流程示意图如图4所示,包括如下的处理步骤:
步骤41、通过网络设备的数据库标准接口层创建包括业务对应的各个字段和CDB_ID字段的配置数据表。
在网络设备初始化时,首先需要用户根据网络设备的业务,通过网络设备的数据库标准接口层创建各种配置数据表。上述配置数据表中包括用户指定的业务对应的各个字段,还自动增加一个32bit的字段CDB_ID(CandidateDatabase_ID,候选数据库标识),该CDB_ID字段对网络设备的配置层不可见。
然后,数据库标准接口层将包括业务对应的各个字段和CDB_ID字段的配置数据表进行存储。
步骤42、当用户启动了配置事务后,候选数据库管理层给上述配置事务分配一个CDB(Candidate Database,候选数据库)。
当用户通过网络设备的配置层启动了配置事务后,该配置事务可以为在配置数据表中插入一条或者多条新记录;删除或者查询配置数据表中的记录等,上述网络设备的候选数据库管理层给上述配置事务启动一个对应的CDB和CDB的ID(标识),候选数据库管理层将上述CDB的ID信息返回给上述用户。
步骤43、候选数据库管理层将本次配置事务需要插入和/或删除的记录的CDB_ID字段的值设置为给配置事务分配的CDB的ID,在给本次配置事务分配的CDB中记录相应的插入列表和/或删除列表,在用户提交本次配置事务,候选数据库管理层将上述需要插入和/或删除的记录的CDB_ID字段的值设置为指定值。
当上述配置事务为在配置数据表中插入3条新记录,并且删除2条原记录时,网络设备的候选数据库管理层给本次配置事务分配一个CDB1。配置层编辑配置命令,对编辑命令进行语法语义检查,执行上述配置命令通过候选数据库管理层在数据库标准接口层中保存的配置数据表中插入3条新记录,将上述插入的新记录的CDB_ID字段的值设置上述给配置事务分配的CDB1的ID,比如为CDB1。因为各个CDB的ID都不相同,通过CDB_ID字段值可使上述新记录对其他CDB进行隔离,所以配置事务时不需要对插入的新记录加锁。然后,候选数据库管理层在上述给本次配置事务分配的CDB1中的插入列表中记录上述配置数据表给上述新记录分配的ID值。
在该实施例中,候选数据库管理层还需要在上述给本次配置事务分配的CDB1中的删除列表中记录需要删除的原记录在上述配置数据表中的ID值。此时,配置数据表中的需要删除的原记录保持不表,也不需要被加锁。
然后,上述用户提交本次配置事务,候选数据库管理层将配置数据表中上述插入列表中记录的3条新记录的CDB_ID字段的值设置为指定值,比如为0xffffffff,使该3条新记录正式生效。将配置数据表中上述删除列表中记录的两条原记录删除。
上述候选数据库管理层将上述给本次配置事务分配的CDB中的插入列表和删除列表发送给网络设备的配置层,配置层将上述插入列表和删除列表进行保存,即保存本次配置事务的具体操作记录。之后,释放上述给本次配置事务分配的CDB1和该CDB1的ID。
当上述配置事务为在配置数据表中更新1条原记录时,网络设备的候选数据库管理层给本次配置事务分配一个CDB2。本发明实施例将更新1条新记录分解为插入1条新记录和删除1条原记录。则首先通过候选数据库管理层在配置数据表中插入1条新记录,将上述插入的新记录的CDB_ID字段的值设置上述给配置事务分配的CDB2的ID,比如为CDB2。该条新记录的CDB_ID字段的值CDB2可以使该条新记录和CDB_ID字段的值为CDB1等其他数值的记录区分开,不需要对插入的该条新记录加锁。然后,候选数据库管理层在上述给本次配置事务分配的CDB2中的插入列表中记录上述配置数据表给上述新记录分配的ID值,在CDB2中的删除列表中记录需要更新的原记录在上述配置数据表中的ID值。此时,配置数据表中的需要更新的原记录保持不表,也不需要被加锁。
然后,上述用户通过配置层提交本次配置事务,候选数据库管理层将上述插入列表中记录的1条新记录的CDB_ID字段的值设置为0xffffffff,使该条新记录正式生效。将上述删除列表中记录的1条原记录删除。
候选数据库管理层将上述给本次配置事务分配的CDB2中的插入列表和删除列表发送给网络设备的配置层,配置层将上述插入列表和删除列表进行保存,即保存本次配置事务的具体操作记录。之后,释放上述给本次配置事务分配的CDB2和该CDB2的ID。
当多个用户同时启动多个配置事务时,每个用户的配置事务启动一个对应CDB,多用户并行配置。
当上述配置事务为查询配置数据表中的记录时,则可以根据查询条件CDB Id=0xffffffff,通过数据库标准接口层查询配置数据表中所有已经生效的记录;也可以根据查询条件CDB Id=给本次配置事务分配的CDB,通过数据库标准接口层查询配置数据表中所有本次配置事务所操作的记录。
当一个用户提交配置事务时,配置层可以将保存的其它用户已经提交的配置事务中的插入列表和删除列表展示给用户。用户可以根据其它用户提交的配置事务的操作记录,选择继续提交本次配置事务;或者,放弃本次配置事务,回滚配置事务,释放候选数据库;或者,放弃本次配置事务,重新提交新的配置事务。
该实施例实现了多个用户的各个配置事务之间互相隔离,同时各配置事务都不会对配置数据库中的记录产生锁定,所以也不会产生配置事务之间的阻塞。
本发明实施例中,多个用户同时启动多个配置事务时,每个配置事务都将启动一个候选数据库,候选数据库通过CDB_ID字段值对新的记录隔离,使其只对本候选数据库可见,通过保存本候选数据库删除记录的ID,而不用锁定数据库中的原始记录,这样保证了多个配置事务在操作同一条记录时,都不用锁定记录。
用户提交配置事务时,需提交对应的候选数据库,如果在本配置事务运行过程中有历史配置事务的提交记录,则配置层会提示用户已有历史提交信息,并让用户根据自身的配置信息选择放弃或者更新配置事务;如果无历史提交记录,则能直接提交成功。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
综上所述,本发明实施例通过给用户启动的配置事务分配一个对应的CDB,将配置数据表中的所述配置事务需要操作的记录的CDB_ID字段的值设置为所述CDB的标识,即通过将每个配置事务要操作的记录通过候选数据库的标识来区别,实现了多个用户的各个配置事务之间互相隔离,同时各配置事务都不会对配置数据库中的记录产生锁定,所以也不会产生配置事务之间的阻塞,解决了多用户并发配置事务时,修改同一记录时的阻塞等待问题,改进了用户体验。
本发明实施例中的候选数据库管理层为独立的中间层,不与网络设备的数据库管理层的内部事务管理耦合,可单独裁剪,也可移植到其他的通用数据库上,不需要修改嵌入式内存数据库的内核功能。
本发明实施例可以用于网络路由器产品、无线产品以及核心网产品等的OM系统配置中。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (12)
1.一种配置事务的处理方法,其特征在于,包括:
在配置事务被启动后,给所述配置事务启动对应的候选数据库;
将配置数据表中的所述配置事务需要操作的记录的候选数据库标识字段的值设置为所述候选数据库的标识,在所述候选数据库中记录所述配置事务需要操作的记录的标识信息,所述候选数据库标识字段对启动配置事务的用户不可见,所述候选数据库标识字段对数据库与通用字段相同;
在所述本次配置事务被提交后,根据所述记录的配置事务需要操作的记录的标识信息,将配置数据表中的所述配置事务需要操作的记录的候选数据库标识字段的值设置为指定值,使所述配置事务需要操作的记录生效。
2.根据权利要求1所述的配置事务的处理方法,其特征在于,所述的方法还包括:
在设备初始化时,创建包括业务对应的各个字段和候选数据库标识字段的配置数据表。
3.根据权利要求1所述的配置事务的处理方法,其特征在于,所述的将配置数据表中的所述配置事务需要操作的记录的候选数据库标识字段的值设置为所述候选数据库的标识,在所述候选数据库中记录所述配置事务需要操作的记录的标识信息,包括:
当用户启动的配置事务为在配置数据表中插入新记录时,编辑并执行配置命令,在所述配置数据表中插入新记录,将所述插入的新记录的候选数据库标识字段的值设置为给所述配置事务分配的候选数据库的标识;
在给所述配置事务分配的对应候选数据库的插入列表中记录所述插入的新记录在所述配置数据表中的标识。
4.根据权利要求1所述的配置事务的处理方法,其特征在于,所述的将配置数据表中的所述配置事务需要操作的记录的候选数据库标识字段的值设置为所述候选数据库的标识,在所述候选数据库中记录所述配置事务需要操作的记录的标识信息,包括:
当用户启动的配置事务为在配置数据表中删除原记录时,编辑并执行配置命令,在给所述配置事务分配的对应候选数据库的删除列表中记录所述需要删除的原记录在所述配置数据表中的标识。
5.根据权利要求1所述的配置事务的处理方法,其特征在于,所述的将配置数据表中的所述配置事务需要操作的记录的候选数据库标识字段的值设置为所述候选数据库的标识,在所述候选数据库中记录所述配置事务需要操作的记录的标识信息,包括:
当用户启动的配置事务为对配置数据表中的原记录进行更新时,编辑并执行配置命令,根据需要更新的配置数据在所述配置数据表中插入新记录,将所述插入的新记录的候选数据库标识字段的值设置为给所述配置事务分配的候选数据库的标识;
在给所述配置事务分配的对应候选数据库的插入列表中记录所述插入的新记录在所述配置数据表中的标识,删除列表中记录所述需要更新的原记录在所述配置数据表中的标识。
6.根据权利要求3或4或5所述的配置事务的处理方法,其特征在于,所述的在提交所述本次配置事务后,将配置数据表中的所述配置事务需要操作的记录的候选数据库标识字段的值设置为指定值,使所述配置事务需要操作的记录生效,包括:
在所述配置事务被提交后,根据所述保存的插入列表和/或删除列表,将所述配置数据表中的所述插入列表中记录的新记录的候选数据库标识字段的值设置为指定值和/或将所述配置数据表中的所述删除列表中记录的原记录删除,所述指定值表示所述新记录生效;
释放所述给配置事务分配的候选数据库。
7.根据权利要求6所述的配置事务的处理方法,其特征在于,所述的方法还包括:
当所述配置事务被用户提交时,将保存的其它用户已经提交的配置事务相关的插入列表和/或删除列表展示给所述用户,所述用户根据所述其它用户提交的配置事务相关的插入列表和/或删除列表,选择继续提交本次配置事务;或者,放弃本次配置事务,回滚本次配置事务的操作;或者,放弃本次配置事务,重新启动新的配置事务。
8.一种配置事务的处理装置,其特征在于,包括:配置层模块、候选数据库管理层模块和标准数据库接口层模块,其中:
所述配置层模块用于支持用户启动配置事务和提交配置事务;
所述候选数据库管理层模块用于在用户通过所述配置层模块启动配置事务后,给所述配置事务启动对应的候选数据库;将调用所述标准数据库接口层模块所创建的包括业务对应的各个字段和候选数据库标识字段的配置数据表中的、所述配置事务需要操作的记录的候选数据库标识字段的值设置为所述候选数据库的标识,在所述候选数据库中记录所述配置事务需要操作的记录的标识信息,所述候选数据库标识字段对启动配置事务的用户不可见,所述候选数据库标识字段对数据库与通用字段相同;以及,在所述用户通过所述配置层模块提交所述配置事务后,根据所述记录的配置事务需要操作的记录的标识信息,将所述配置数据表中的所述配置事务需要操作的记录的候选数据库标识字段的值设置为指定值,使所述配置事务需要操作的记录生效;
所述标准数据库接口层模块用于创建包括业务对应的各个字段和候选数据库标识字段的配置数据表,将所述配置数据表进行存储。
9.根据权利要求8所述的配置事务的处理装置,其特征在于,所述的候选数据库管理层模块具体包括:
第一处理模块,用于当所述用户启动的配置事务为在配置数据表中插入新记录时,在所述标准数据库接口层模块中保存的配置数据表中插入新记录,将所述新记录的候选数据库标识字段的值设置为给所述配置事务分配的候选数据库的标识,在给所述配置事务分配的候选数据库中的插入列表中记录所述插入的新记录在所述配置数据表中的标识;以及,在所述用户通过所述配置层模块提交所述配置事务后,根据所述插入列表中记录插入的新记录在所述配置数据表中的标识信息,将所述配置数据表中插入的新记录的候选数据库标识字段的值设置为指定值,使所述插入的新记录生效。
10.根据权利要求8所述的配置事务的处理装置,其特征在于,所述的候选数据库管理层模块具体包括:
第二处理模块,用于当所述用户启动的配置事务为在配置数据表中删除原记录时,将所述标准数据库接口层模块中保存的配置数据表中所述需要删除的原记录的候选数据库字段的值设置为给所述配置事务分配的候选数据库的标识;在给所述配置事务分配的候选数据库中的删除列表中记录所述需要删除的原记录在所述配置数据表中的标识;以及,在所述用户通过所述配置层模块提交所述配置事务后,根据所述删除列表中记录的需要删除的原记录在所述配置数据表中的标识信息,将所述配置数据表中的需要删除的原记录删除。
11.根据权利要求8所述的配置事务的处理装置,其特征在于,所述的候选数据库管理层模块具体包括:
第三处理模块,当所述用户启动的配置事务为对配置数据表中的原记录进行更新时,根据需要更新的配置数据在所述标准数据库接口层模块中保存的配置数据表中插入新记录,将所述插入的新记录的候选数据库字段的值设置为给所述配置事务分配的候选数据库的标识;在给所述配置事务分配的候选数据库中的插入列表中记录所述插入的新记录在所述配置数据表中的标识,删除列表中记录所述需要更新的原记录在所述配置数据表中的标识;以及,在所述用户通过所述配置层模块提交所述配置事务后,根据所述插入列表中记录插入的新记录在所述配置数据表中的标识信息,将所述配置数据表中插入的新记录的候选数据库标识字段的值设置为指定值,使所述插入的新记录生效;根据所述删除列表中记录的需要更新的原记录在所述配置数据表中的标识信息,将所述配置数据表中的需要更新的原记录删除。
12.根据权利要求8至11任一项所述的配置事务的处理装置,其特征在于:
所述的候选数据库管理层模块,还用于将所述候选数据库中的插入列表和/或删除列表发送给所述配置层模块,释放所述给配置事务分配的候选数据库;
所述配置层模块,还用于将所述插入列表和/或删除列表进行保存,当其它用户提交配置事务时,将保存的所述插入列表和删除列表展示给其它用户,以使得所述其它用户根据所述插入列表和删除列表,选择继续提交本次配置事务;或者,放弃本次配置事务,回滚配置事务,释放候选数据库;或者,放弃本次配置事务,重新提交新的配置事务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106203073A CN102111293B (zh) | 2010-12-23 | 2010-12-23 | 配置事务的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106203073A CN102111293B (zh) | 2010-12-23 | 2010-12-23 | 配置事务的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102111293A CN102111293A (zh) | 2011-06-29 |
CN102111293B true CN102111293B (zh) | 2013-10-02 |
Family
ID=44175327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010106203073A Active CN102111293B (zh) | 2010-12-23 | 2010-12-23 | 配置事务的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102111293B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102737083B (zh) * | 2011-09-28 | 2017-04-12 | 新奥特(北京)视频技术有限公司 | 一种竞技比赛信息即时编辑的方法及系统 |
CN102427409A (zh) * | 2012-01-31 | 2012-04-25 | 迈普通信技术股份有限公司 | 基于网络配置协议的配置数据提交方法及服务器 |
CN103310334B (zh) * | 2012-03-16 | 2016-12-28 | 阿里巴巴集团控股有限公司 | 一种业务处理的方法及装置 |
US9507636B2 (en) * | 2015-04-20 | 2016-11-29 | International Business Machines Corporation | Resource management and allocation using history information stored in application's commit signature log |
CN106446107A (zh) * | 2016-09-05 | 2017-02-22 | 努比亚技术有限公司 | 配置文件处理装置和方法 |
CN106776076B (zh) * | 2016-12-27 | 2019-04-26 | 国网信息通信产业集团有限公司 | 一种实现MongoDB事务管理的方法及系统 |
CN109299118B (zh) * | 2018-08-11 | 2022-11-11 | 梁育刚 | 一种系统变更中配置项的管理方法 |
CN109361553B (zh) * | 2018-11-30 | 2022-04-08 | 新华三技术有限公司合肥分公司 | 配置回滚方法及装置 |
CN112632024A (zh) * | 2019-10-08 | 2021-04-09 | 中兴通讯股份有限公司 | 电信网数据管理的方法、电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1996875A (zh) * | 2006-01-07 | 2007-07-11 | 华为技术有限公司 | 一种实现配置事务和试运行机制的方法和装置 |
CN101178665A (zh) * | 2007-12-06 | 2008-05-14 | 华为技术有限公司 | 实现配置事务的方法及设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6606679B2 (en) * | 2001-08-20 | 2003-08-12 | Intel Corporation | Software transparent system and method for peer-to-peer message routing |
US8930644B2 (en) * | 2008-05-02 | 2015-01-06 | Xilinx, Inc. | Configurable transactional memory for synchronizing transactions |
-
2010
- 2010-12-23 CN CN2010106203073A patent/CN102111293B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1996875A (zh) * | 2006-01-07 | 2007-07-11 | 华为技术有限公司 | 一种实现配置事务和试运行机制的方法和装置 |
CN101178665A (zh) * | 2007-12-06 | 2008-05-14 | 华为技术有限公司 | 实现配置事务的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102111293A (zh) | 2011-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102111293B (zh) | 配置事务的处理方法和装置 | |
KR102127522B1 (ko) | 감사 수행 서버, 데이터베이스 서버 및 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 | |
US7565503B2 (en) | Method and apparatus implementing virtualization for data migration with volume mapping based on configuration information and with efficient use of old assets | |
US7370229B2 (en) | Storage system and setting method for storage configuration information | |
US20040049513A1 (en) | Techniques for moving stub files without recalling data | |
CN103049708B (zh) | 一种数据库的审计配置方法及系统 | |
CN102541694A (zh) | 一种数据库备份的方法及装置 | |
EP2461615A1 (en) | Method for backing up terminal data and system thereof | |
US20120246420A1 (en) | Interacting with data in hidden storage | |
CN104852965B (zh) | 一种用户账号项目管理方法及系统 | |
US20100082546A1 (en) | Storage Tiers for Database Server System | |
CN100463534C (zh) | 一种单板版本的即插即用的管理方法 | |
CN101980207A (zh) | 一种数据库访问的实现方法和系统 | |
US7200625B2 (en) | System and method to enhance availability of a relational database | |
MX2007015344A (es) | Dispositivo controlado por procesador con diferentes modos de operacion. | |
US20050071383A1 (en) | Efficient deletion of archived data | |
CN101022633B (zh) | 一种配置数据恢复方法、系统及装置 | |
US6768985B1 (en) | Method and apparatus for administration of database partitions | |
CN107291387A (zh) | 一种双控磁盘阵列的磁盘接入方法 | |
CN100520781C (zh) | 主内存数据中心数据处理方法 | |
CN100362760C (zh) | 一种分布式配置数据库系统的备份方法 | |
US7072954B1 (en) | Network management system having access manager for managing access to recording medium apparatus | |
AU2020250158B2 (en) | Reducing number of queries on a relational database | |
CN111353134B (zh) | 一种权限管理方法及系统 | |
CN102289280A (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211224 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: xFusion Digital Technologies Co., Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |