CN111680040A - 数据表处理方法及装置 - Google Patents
数据表处理方法及装置 Download PDFInfo
- Publication number
- CN111680040A CN111680040A CN202010473196.1A CN202010473196A CN111680040A CN 111680040 A CN111680040 A CN 111680040A CN 202010473196 A CN202010473196 A CN 202010473196A CN 111680040 A CN111680040 A CN 111680040A
- Authority
- CN
- China
- Prior art keywords
- data table
- new
- new data
- original data
- service program
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 71
- 238000000034 method Methods 0.000 claims abstract description 15
- 238000004590 computer program Methods 0.000 claims description 16
- 230000010076 replication Effects 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 abstract description 11
- 230000008569 process Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 241000989913 Gunnera petaloidea Species 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据表处理方法及装置,该方法包括:在满足创建新表的触发条件时创建与原数据表相应的新数据表;通过触发器将接收到的数据处理请求在原数据表中的处理操作同步至新数据表中;将原数据表中的数据复制到新数据表中,发送更新指令至服务器节点;服务器节点根据接收到的更新指令重启以部署更新后的服务程序,更新后的服务程序中数据表表名为新数据表表名。本发明利用触发器将在原数据表中的处理操作同步至新数据表,将原数据表中的数据复制到新数据表中,新数据表中既包括原数据表中的全量数据,还包括同步后的新数据,通过重启的方式将更新后服务程序部署在服务器节点上,能够在修改数据表的过程中持续提供业务服务。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及数据表处理方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
客服系统在改善客户体验、提升服务质量和效率方面,起到至关重要的作用。客服系统的数据库中存在一数据表,该数据表需要进行优化建设以实现对某些数据进行索引。例如该数据表可以是拨打日志小结,在建立索引时需要对该数据表进行修改,对拨打标识、拨打日期以及总拨打数等字段建立索引。
在进行优化建设的过程中,一般需要开发人员对数据库进行DDL(DataDefinition Language,数据定义语言)操作。鉴于数据表中的数量很大,有时候可以达到百万量级,DDL操作会导致修改数据表的耗时较长,期间与数据表相应的查询数据库功能被阻塞,使得系统对应的业务功能处于不可用的状态,不能提供相应的业务服务。因此,对于需要持续不间断的提供业务服务的系统来说,显然是不能接受的。
因此,现有修改数据表的过程会导致系统不能提供相应的业务服务。
发明内容
本发明实施例提供一种数据表处理方法,应用于负载均衡的分布式集群系统,分布式集群系统包括多个部署相同服务程序的服务器节点,用以在修改数据表的情况下保证系统依然可以提供业务服务,该数据表处理方法包括:
在满足创建新表的触发条件时,分布式集群系统创建与原数据表相应的新数据表;新数据表与原数据表的表结构及表名均不相同;
通过触发器将接收到的数据处理请求在原数据表中的处理操作同步至新数据表中;
分布式集群系统将原数据表中的数据复制到新数据表中,发送更新指令至服务器节点;
服务器节点根据接收到的更新指令重启以部署更新后的服务程序,更新后的服务程序中数据表表名为新数据表表名;
或,数据表处理方法包括:
在满足创建新表的触发条件时,分布式集群系统创建与原数据表相应的新数据表;新数据表与原数据表的表结构及表名均不相同;
通过触发器将接收到的数据处理请求在原数据表中的处理操作同步至新数据表中;
分布式集群系统将原数据表中的数据复制到新数据表中;
复制结束后分布式集群系统利用新数据表替换原数据表。
本发明实施例还提供一种数据表处理装置,应用于负载均衡的分布式集群系统,分布式集群系统包括多个部署相同服务程序的服务器节点,用以在修改数据表的情况下保证系统依然可以提供业务服务,该数据表处理装置包括:
创建模块,用于在满足创建新表的触发条件时,创建与原数据表相应的新数据表;新数据表与原数据表的表结构及表名均不相同;
同步模块,用于通过触发器将接收到的数据处理请求在原数据表中的处理操作同步至新数据表中;
复制及指令发送模块,用于将原数据表中的数据复制到新数据表中,发送更新指令至服务器节点;
更新模块,用于根据接收到的更新指令重启服务器节点以部署更新后的服务程序,更新后的服务程序中数据表表名为新数据表表名;
其中,更新模块包括:
修改单元,用于将服务程序中的原数据表表名修改为新数据表表名,形成更新后的服务程序;
更新单元,用于根据接收到的更新指令逐个重启服务器节点以部署更新后的服务程序。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据表处理方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述数据表处理方法的计算机程序。
本发明实施例中,在满足创建新表的触发条件时,创建的新数据表与原数据表的结构和表名均不相同,在利用触发器技术将接收到的数据处理请求在原数据表中的处理操作均同步至新数据表的同时,将原数据表中的数据复制到新数据表中,这样新数据表中不仅包括原数据表中的全量数据,还包括同步后的新数据,因此,通过重启服务器节点的方式,将包括新数据表表名的、更新后的服务程序部署在服务器节点上,能够在修改数据表的过程中依然对外提供业务服务,保证业务服务的持续性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例提供的数据表处理方法的实现流程图;
图2为本发明实施例提供的数据表处理方法中步骤104的实现流程图;
图3为本发明实施例提供的数据表处理方法的另一实现流程图;
图4为本发明实施例提供的数据表处理方法的再一实现流程图;
图5为本发明实施例提供的数据表处理装置的功能模块图;
图6为本发明实施例提供的数据表处理装置中更新模块504的功能模块图;
图7为本发明实施例提供的数据表处理装置的另一功能模块图;
图8为本发明实施例提供的数据表处理装置的再一功能模块图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
图1示出了本发明实施例提供的数据表处理方法的实现流程,为便于描述,仅示出了与本发明实施例相关的部分,详述如下:
在发明实施例中,数据表处理方法应用于负载均衡的分布式集群系统,分布式集群系统包括多个部署相同服务程序的服务器节点。如图1所示,数据表处理方法,包括:
步骤101,在满足创建新表的触发条件时,分布式集群系统创建与原数据表相应的新数据表;新数据表与原数据表的表结构及表名均不相同;
步骤102,通过触发器将接收到的数据处理请求在原数据表中的处理操作同步至新数据表中;
步骤103,分布式集群系统将原数据表中的数据复制到新数据表中,发送更新指令至服务器节点;
步骤104,服务器节点根据接收到的更新指令重启以部署更新后的服务程序,更新后的服务程序中数据表表名为新数据表表名。
本发明实施例中的分布式集群系统,是前后端分离、负载均衡的分布式部署的集群。分布式集群系统包括多个服务器节点,且每个服务器节点上部署有相同的服务程序,每个服务器节点采用相同的数据库(例如mysql数据库),提供相同的业务服务。
在修改数据表的过程中,首先监控是否满足创建新表的触发条件。其中,满足创建新表的触发条件可以包括:接收到创建新表的请求时。例如,当接收到运维人员或者其他有权限的人员的创建新表的请求时等。
满足创建新表的触发条件还可以包括当前时刻为第二预设时刻等,例如系统设定在夜间的02:00执行本发明提供的数据表处理方法,在当前时刻为02:00时触发创建新表的操作,开始执行数据表处理方法。为了减少修改数据表操作对业务的影响,尽可能将该第二预设时刻设定在业务量相对较少的时间段内,后者系统维护时间段内。本领域技术人员可以理解的是,该预设时刻除了上述02:00之外,还可以预先设定为其它时刻,例如06:00或者10:00,12:00及16:00等。
本领域技术人员可以理解的是,上述满足创建新表的触发条件除了接收到创建新表的请求时,当前时刻为预设时刻之外,还可以包括其它情形,例如系统进行维护时等,本发明实施例对此不作特别的限制。
当监控到满足创建新表的触发条件,首先分布式集群系统会创建一个与原数据表的表结构完全相同、但表名不同的数据表,该数据表目前尚未存储数据。进而在该数据表中新建一列,并针对该新建的一列建立数据库的索引,形成一个与原数据表的结构及表名均不相同的新数据表。其中,新数据表中新建的一列的值依据实际业务场景而定。例如,可以是物品名称,可以是交易数量,还可以是物品单价等等。本领域技术人员可以理解的是,还可以是上述之外的其它值,本发明实施例对此不作特别的限制。
在创建新数据表后,可以通过编写触发器脚本监听接收到的数据处理请求在原数据表中的处理操作,触发器技术可以将数据处理请求在原数据表中的处理操作同步至创建的新数据表中。
在本发明的一实施例中,为了丰富数据表处理功能,触发器包括以下一种或多种:插入触发器、更新触发器及删除触发器。
插入触发器用于将在原数据表中插入的数据同步至新数据表中;
更新触发器用于将在原数据表中更新的数据同步至新数据表中;
删除触发器用于将在原数据表中删除的数据同步从新数据表中删除。
此处以插入触发器为例,说明触发器的设置代码。更新触发器以及删除触发器与插入触发器相似,不再具体说明:
delimiter$$
CREATE TRIGGER tb_emp_target AFTER INSERT ON tb_emp FOR EACH ROW
BEGIN INSERT INTO tb_emp_target VALUES(NEW.id,NEW.stu_name,NEW.stu_sex,NEW.stu_age,NEW.stu_address,NEW.stu_email,haha);
END;$$
与此同时分布式集群系统将原数据表中的数据复制到新数据表中。在复制期间原数据表的插入及查询等操作不受影响,系统正常对外提供业务服务。这样复制结束后新数据表不仅具有原数据表的全量数据,还具有利用触发器同步后的新数据。
在将原数据表中的数据复制到新数据表之后,分布式集群系统发送更新指令至服务器节点,服务器节点将根据接收到的更新指令重启以部署更新后的服务程序。
鉴于新数据表不仅包含原数据表的全量数据,还包括利用触发器同步后的新数据,为了保证系统持续对外提供业务服务,更新后的服务程序的数据表的表名可以修改为新数据表的表名,形成更新后的服务程序。进而以重启服务器节点的方式部署更新后的服务程序,以利用新数据表对外提供业务服务。
其中,重启服务器节点时分布式集群系统可以先向部分服务器节点发送更新指令,即先重启部分服务器节点以部署更新后的服务程序,进而再向剩余的服务器节点发送更新指令,即再重启分布式集群系统中剩余的服务器节点以部署更新后的服务程序,直至所有服务器节点均部署更新后的服务程序后结束。或者,重启服务器节点时分布式集群系统可以向服务器节点逐个发送更新指令,即逐个重启服务器节点以部署更新后的服务程序,直至所有服务器节点均部署更新后的服务程序后结束。
其中,在重启服务器节点的过程中,鉴于具备负载均衡功能分布式集群系统中的每个服务器节点均对外提供相同的业务服务,且通过触发器监听原数据表的处理操作,所以不管是负载到更新前的服务程序,还是负载到更新后的服务程序,新数据表中均会包含原数据表的全量数据及同步后的新数据。因此在重启服务器节点以部署更新后的服务程序时,系统可以持续、不间断的对外提供业务服务,保证系统业务服务的持续可用性。
在本发明实施例中,在满足创建新表的触发条件时,创建的新数据表与原数据表的结构和表名均不相同,在利用触发器技术将接收到的数据处理请求在原数据表中的处理操作均同步至新数据表的同时,将原数据表中的数据复制到新数据表中,这样新数据表中不仅包括原数据表中的全量数据,还包括同步后的新数据,因此,通过重启服务器节点的方式,将包括新数据表表名的、更新后服务程序部署在服务器节点上,能够在修改数据表的过程中依然对外提供业务服务,保证业务服务的持续性。
图2示出了本发明实施例提供的数据表处理方法中步骤104的实现流程,为便于描述,仅示出了与本发明实施例相关的部分,详述如下:
在本发明的一实施例中,为了简化数据表处理流程,提高数据表处理效率,如图2所示,步骤104,服务器节点根据接收到的更新指令重启以部署更新后的服务程序,更新后的服务程序中数据表表名为新数据表表名,包括:
步骤201,分布式集群系统将服务程序中的原数据表表名修改为新数据表表名,形成更新后的服务程序;
步骤202,服务器节点根据接收到的更新指令逐个重启以部署更新后的服务程序。
为了保证系统持续对外提供业务服务,此时分布式集群系统可以修改服务程序的代码,将服务程序中的原数据表的表名修改为新数据表的表名,形成更新后的服务程序。进而以重启服务器节点的方式部署更新后的服务程序。
在修改代码形成更新后的服务程序后,采用滚筒式逐个重启分布式集群系统中的服务器节点的方式,在每个服务器节点上部署更新后的服务程序,直至分布式集群系统中的每个服务器节点均部署更新后的服务程序时结束。即重启服务器节点时分布式集群系统可以向服务器节点逐个发送更新指令,服务器节点根据接收到的更新指令滚筒式逐个重启。这样在重启服务器的过程中,不管是负载在更新前的旧程序还是负载到更新后的新程序,系统均能够正常对外提供业务服务,在保证系统的业务服务持续可用的同时,简化数据表处理流程,提高数据表处理效率。
在本发明实施例中,分布式集群系统将服务程序中的原数据表表名修改为新数据表表名,形成更新后的服务程序,服务器节点根据接收到的更新指令逐个重启以部署更新后的服务程序,可以在保证系统的业务服务持续可用的同时,简化数据表处理流程、提高数据表处理效率。
图3示出了本发明实施例提供的数据表处理方法的又一实现流程,为便于描述,仅示出了与本发明实施例相关的部分,详述如下:
在本发明的一实施例中,为了降低数据表冗余,如图3所示,在上述方法步骤的基础上,数据表处理方法,还包括:
步骤301,在满足删除数据表的触发条件时,分布式集群系统删除原数据表。
在上述方法步骤的基础上,本发明实施例还可以监控是否满足删除数据表的触发条件。其中,满足删除数据表的触发条件可以包括接收到删除数据表的请求时。例如,当接收到运维人员或者其他有权限的人员的删除数据表的请求时等。
满足删除数据表的触发条件还可以包括当前时刻为第三预设时刻等,例如系统设定在夜间的00:00执行本发明提供的数据表处理方法,在当前时刻为00:00时触发删除数据表的操。为了减少删除数据表操作对业务的影响,尽可能将该第三预设时刻设定在业务量相对较少的时间段内,或者系统维护时间段内。本领域技术人员可以理解的是,该预设时刻除了上述00:00之外,还可以预先设定为其它时刻,例如02:00或者05:00等。
本领域技术人员可以理解的是,上述满足删除数据表的触发条件除了接收到删除数据表的请求时,当前时刻为第三预设时刻之外,还可以包括其它情形,例如系统进行维护时等,本发明实施例对此不作特别的限制。
当监控到满足删除数据表的触发条件,分布式集群系统将代码中的原数据表的表名修改为新数据表的表名,形成更新后的服务程序,重启服务器节点,以使每个服务器节点均部署更新后的服务程序后,原数据表即可不再使用。此时删除原数据表可以降低数据表冗余。
在本发明实施例中,在满足删除数据表的触发条件时,分布式集群系统删除原数据表可以降低数据表冗余。
在本发明的一实施例中,为了保障分布式集群系统正常运行,在创建新数据表的同时创建备份数据表,备份数据表与新数据表的表结构相同但表名不同,数据表处理方法还包括:
将新数据表中的数据实时备份至备份数据表中;
在监控到分布式集群系统中服务器节点更新服务程序失败后,更新服务程序中数据表表名为备份数据表表名,服务器节点重启以部署更新后的服务程序。
在本发明实施例中,可以在创建新数据表的同时创建一个备份数据表,该备份数据表的表结构与新数据表的表结构相同,但是备份数据表的表结构与新数据表的表名是不同的。故此,在将原数据表中的数据复制到新数据表的同时,可以同步或者实时的将新数据表中的数据更新至备份数据表中,作为冗余设计。
若服务器节点能够成功更新服务程序,该备份数据表可以不做任何处理,或者将其删除。若监控到分布式集群系统中服务器节点更新服务程序失败,此时可以再次更新服务程序,以将服务程序中的数据表表名更新为备份数据表表名,同时服务器节点再次重启,以部署更新后的服务程序。此时,更新后的服务程序中的数据表表名为备份数据表表名,即利用备份数据表表名对外提供服务,即在服务器节点更新失败的情况下,可以利用冗余设计的备份数据表保障分布式集群系统正常运行,进而依然可以保障业务服务的持续性。
进一步的,若服务器节点能够成功更新服务程序,该备份数据表可以保留,鉴于新数据表中的数据是实时备份至备份数据表中的。因此,在分布式集群系统中新数据表不可用的情况下,可以随时利用备份数据表替换新数据表,即随时保障保障业务服务的持续性。
本发明实施例中,在创建新数据表的同时创建备份数据表,将新数据表中的数据实时备份至备份数据表中,以便在监控到分布式集群系统中服务器节点更新服务程序失败后,更新服务程序中数据表表名为备份数据表表名,服务器节点重启以部署更新后的服务程序。因此,本发明实施例在分布式集群系统中新数据表不可用的情况下,可以随时利用备份数据表替换新数据表,即能够随时保障业务服务的持续性。
图4示出了本发明实施例提供的数据表处理方法的再一实现流程,为便于描述,仅示出了与本发明实施例相关的部分,详述如下:
在本发明的一实施例中,为了保证系统的业务服务持续可用,如图4所示,上述方法中步骤103,分布式集群系统将原数据表中的数据复制到新数据表中,发送更新指令至服务器节点,可以替换为:
步骤401,分布式集群系统将原数据表中的数据复制到新数据表中;
同时步骤104,服务器节点根据接收到的更新指令重启以部署更新后的服务程序,更新后的服务程序中数据表表名为新数据表表名,可以替换为:
步骤402,复制结束后分布式集群系统利用新数据表替换原数据表。
鉴于新数据表不仅包含原数据表的全量数据,还包括利用触发器同步后的新数据,为了在保证系统的业务服务持续可用,也可以利用新数据表直接替换原数据表,而不用以更新部署服务程序的方式重启服务器节点。此时,分布式集群系统在将原数据表中的数据复制到新数据表之后,无需发送更新指令至服务器节点。
即分布式集群系统在将原数据表中的数据复制到新数据表之后,分布式集群系统利用新数据表直接替换原数据表即可,同样可以持续对外提供业务,保持业务系统的持续性。
在本发明实施例中,复制结束后分布式集群系统利用新数据表替换原数据表,能够保证系统的业务服务持续可用。
在本发明一实施例中,为了进一步简化数据表处理流程,提高数据表处理效率,步骤401,复制结束后分布式集群系统利用新数据表替换原数据表,包括:
步骤:复制结束后分布式集群系统删除原数据表,将新数据表的表名修改为原数据表的表名。
为了保证系统的业务服务持续可用,可以在分布式集群系统复制结束后删除原数据表,进而分布式集群系统将新数据表的表名修改为原数据表的表名。例如,我们可以把原数据表的表名称为数据表A,把新数据表的表名称为数据表B。在将数据表A(原数据表)的数据复制到数据表B(新数据表)中后,可以删除数据表A,进而将数据表B修改为数据表A即可。
但是,在复制结束后分布式集群系统直接删除原数据表,进而将新数据表的表名修改为原数据表的表名,会使得系统存在1-3秒的空窗期,在该1-3秒的时间间隔内使得系统出现部分功能短暂性失效的风险,使得系统部分功能不可用。因此,该方案可以适用在能够接收该1-3秒空窗期的业务部门,同时鉴于该空窗期时间较短,对于时间要求不太苛刻的业务来说,该1-3秒的空窗期几乎可以忽略不计。
同时,为尽可能的提高业务体验,步骤,复制结束后分布式集群系统删除原数据表,将新数据表的表名修改为原数据表的表名,包括:
复制结束后分布式集群系统在预设时刻删除原数据表,将新数据表的表名修改为原数据表的表名。
其中,预设时刻为预先设定的时刻。例如,可以在晚间23:00至6:00之间,业务量较少的时候,删除原数据表,同时将新数据表的表名修改为原数据表的表名,尽量避免或者消除对业务的影响。本领域技术人员可以理解的是,预设时刻还可以是除上述23:00至6:00之间的其他时刻,例如12:00至14:00之间,本发明实施例对此不作特别的限制。
在本发明实施例中,复制结束后删除原数据表,将新数据表的表名修改为原数据表的表名,能够保证系统的业务服务持续可用,尽可能的提高体验。
本发明实施例中还提供了一种数据表处理装置,如下面的实施例所述。由于这些装置解决问题的原理与数据表处理方法相似,因此这些装置的实施可以参见方法的实施,重复之处不再赘述。
图5示出了本发明实施例提供的数据表处理装置的功能模块,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在发明实施例中,数据表处理方法应用于负载均衡的分布式集群系统,分布式集群系统包括多个部署相同服务程序的服务器节点。参考图5,所述数据表处理装置所包含的各个模块用于执行图1对应实施例中的各个步骤,具体请参阅图1以及图1对应实施例中的相关描述,此处不再赘述。本发明实施例中,所述数据表处理装置包括创建模块501、同步模块502、复制及指令发送模块503及更新模块504。
创建模块501,用于在满足创建新表的触发条件时,创建与原数据表相应的新数据表;新数据表与原数据表的表结构及表名均不相同。
同步模块502,用于通过触发器将接收到的数据处理请求在原数据表中的处理操作同步至新数据表中。
复制及指令发送模块503,用于将原数据表中的数据复制到新数据表中,发送更新指令至服务器节点。
更新模块504,用于根据接收到的更新指令重启服务器节点以部署更新后的服务程序,更新后的服务程序中数据表表名为新数据表表名。
在本发明的一实施例中,为了丰富数据表处理功能,触发器包括以下一种或多种:插入触发器、更新触发器及删除触发器。
插入触发器用于将在原数据表中插入的数据同步至新数据表中。
更新触发器用于将在原数据表中更新的数据同步至新数据表中。
删除触发器用于将在原数据表中删除的数据同步从新数据表中删除。
在本发明实施例中,创建模块501创建的新数据表与原数据表的结构和表名均不相同,在同步模块502利用触发器技术将接收到的数据处理请求在原数据表中的处理操作均同步至新数据表的同时,复制及指令发送模块503将原数据表中的数据复制到新数据表中,这样新数据表中不仅包括原数据表中的全量数据,还包括同步后的新数据,因此,更新模块504通过重启服务器节点的方式,将包括新数据表表名的、更新后服务程序部署在服务器节点上,能够在修改数据表的过程中依然对外提供业务服务,保证业务服务的持续性。
图6示出了本发明实施例提供的数据表处理装置中更新模块504的结构示意,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在本发明的一实施例中,为了简化数据表处理流程,提高数据表处理效率,参考图6,所述更新模块504所包含的各个单元用于执行图2对应实施例中的各个步骤,具体请参阅图2以及图2对应实施例中的相关描述,此处不再赘述。本发明实施例中,所述更新模块504包括修改单元601和更新单元602。
修改单元601,用于将服务程序中的原数据表表名修改为新数据表表名,形成更新后的服务程序。
更新单元602,用于根据接收到的更新指令逐个重启服务器节点以部署更新后的服务程序。
在本发明实施例中,修改单元601将服务程序中的原数据表表名修改为新数据表表名,形成更新后的服务程序,更新单元602根据接收到的更新指令逐个重启服务器节点以部署更新后的服务程序,可以在保证系统的业务服务持续可用的同时,简化数据表处理流程、提高数据表处理效率。
图7示出了本发明实施例提供的数据表处理装置的另一的功能模块,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在本发明的一实施例中,为了降低数据表冗余,参考图7,所述数据表处理装置所包含的各个模块用于执行图3对应实施例中的各个步骤,具体请参阅图3以及图3对应实施例中的相关描述,此处不再赘述。本发明实施例中,在上述模块结构的基础上,所述数据表处理装置,还包括删除模块701。
删除模块701,用于在满足删除数据表的触发条件时删除原数据表。
在本发明实施例中,删除模块701在满足删除数据表的触发条件时删除原数据表能够降低数据表冗余。
在本发明的一实施例中,为了保障分布式集群系统正常运行,在创建新数据表的同时创建备份数据表,备份数据表与新数据表的表结构相同但表名不同,在上述模块结构的基础上,数据表处理装置还包括:
备份模块,用于将新数据表中的数据实时备份至备份数据表中;
重复更新模块,用于在监控到分布式集群系统中服务器节点更新服务程序失败后,更新服务程序中数据表表名为备份数据表表名,服务器节点重启以部署更新后的服务程序。
本发明实施例中,在创建新数据表的同时创建备份数据表,同时备份模块将新数据表中的数据实时备份至备份数据表中,以便重复更新模块在监控到分布式集群系统中服务器节点更新服务程序失败后,更新服务程序中数据表表名为备份数据表表名,服务器节点重启以部署更新后的服务程序。因此,本发明实施例在分布式集群系统中新数据表不可用的情况下,重复更新模块可以随时利用备份数据表替换新数据表,能够保障分布式集群系统正常运行。
图8示出了本发明实施例提供的数据表处理装置的再一功能模块,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在本发明的一实施例中,为了简化数据表处理流程,提高数据表处理效率,参考图8,所述数据表处理装置所包含的各个模块用于执行图4对应实施例中的各个步骤,具体请参阅图4以及图4对应实施例中的相关描述,此处不再赘述。本发明实施例中,数据表处理装置中的复制及指令发送模块503可以替换为复制模块801;更新模块504可以替换为替换模块802。
复制模块801,用于将原数据表中的数据复制到新数据表中。
替换模块802,用于复制结束后利用新数据表替换原数据表。
在本发明实施例中,复制模块801将原数据表中的数据复制到新数据表中,替换模块802在复制结束后利用新数据表替换原数据表,能够保证系统的业务服务持续可用。
在本发明的一实施例中,为了进一步简化数据表处理流程,提高数据表处理效率,替换模块802,具体用于复制结束后删除原数据表,将新数据表的表名修改为原数据表的表名。
在本发明实施例中,替换模块802复制结束后删除原数据表,将新数据表的表名修改为原数据表的表名,能够保证系统的业务服务持续可用。
为尽可能的提高业务体验,替换模块802包括替换单元。
替换单元,用于复制结束后在预设时刻删除原数据表,将新数据表的表名修改为原数据表的表名。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据表处理方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述数据表处理方法的计算机程序。
综上所述,本发明实施例中,在满足创建新表的触发条件时,创建的新数据表与原数据表的结构和表名均不相同,在利用触发器技术将接收到的数据处理请求在原数据表中的处理操作均同步至新数据表的同时,将原数据表中的数据复制到新数据表中,这样新数据表中不仅包括原数据表中的全量数据,还包括同步后的新数据,因此,通过重启服务器节点的方式,将包括新数据表表名的、更新后服务程序部署在服务器节点上,能够在修改数据表的过程中依然对外提供业务服务,保证业务服务的持续性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据表处理方法,其特征在于,应用于负载均衡的分布式集群系统,分布式集群系统包括多个部署相同服务程序的服务器节点,数据表处理方法包括:
在满足创建新表的触发条件时,分布式集群系统创建与原数据表相应的新数据表;新数据表与原数据表的表结构及表名均不相同;
通过触发器将接收到的数据处理请求在原数据表中的处理操作同步至新数据表中;
分布式集群系统将原数据表中的数据复制到新数据表中,发送更新指令至服务器节点;
服务器节点根据接收到的更新指令重启以部署更新后的服务程序,更新后的服务程序中数据表表名为新数据表表名;
或,数据表处理方法包括:
在满足创建新表的触发条件时,分布式集群系统创建与原数据表相应的新数据表;新数据表与原数据表的表结构及表名均不相同;
通过触发器将接收到的数据处理请求在原数据表中的处理操作同步至新数据表中;
分布式集群系统将原数据表中的数据复制到新数据表中;
复制结束后分布式集群系统利用新数据表替换原数据表。
2.如权利要求1所述的数据表处理方法,其特征在于,服务器节点根据接收到的更新指令重启以部署更新后的服务程序,包括:
分布式集群系统将服务程序中的原数据表表名修改为新数据表表名,形成更新后的服务程序;
服务器节点根据接收到的更新指令逐个重启以部署更新后的服务程序。
3.如权利要求1所述的数据表处理方法,其特征在于,还包括:
在满足删除数据表的触发条件时,分布式集群系统删除原数据表。
4.如权利要求1所述的数据表处理方法,其特征在于,触发器包括以下一种或多种:
插入触发器、更新触发器及删除触发器;
插入触发器用于将在原数据表中插入的数据同步至新数据表中;
更新触发器用于将在原数据表中更新的数据同步至新数据表中;
删除触发器用于将在原数据表中删除的数据同步从新数据表中删除。
5.如权利要求1所述的数据表处理方法,其特征在于,在创建新数据表的同时创建备份数据表,备份数据表与新数据表的表结构相同但表名不同,数据表处理方法还包括:
将新数据表中的数据实时备份至备份数据表中;
在监控到分布式集群系统中服务器节点更新服务程序失败后,更新服务程序中数据表表名为备份数据表表名,服务器节点重启以部署更新后的服务程序。
6.如权利要求1所述的数据表处理方法,其特征在于,复制结束后分布式集群系统利用新数据表替换原数据表,包括:
复制结束后分布式集群系统删除原数据表,将新数据表的表名修改为原数据表的表名。
7.如权利要求6所述的数据表处理方法,其特征在于,复制结束后分布式集群系统删除原数据表,将新数据表的表名修改为原数据表的表名,包括:
复制结束后分布式集群系统在预设时刻删除原数据表,将新数据表的表名修改为原数据表的表名。
8.一种数据表处理装置,其特征在于,应用于负载均衡的分布式集群系统,分布式集群系统包括多个部署相同服务程序的服务器节点,数据表处理装置包括:
创建模块,用于在满足创建新表的触发条件时,创建与原数据表相应的新数据表;新数据表与原数据表的表结构及表名均不相同;
同步模块,用于通过触发器将接收到的数据处理请求在原数据表中的处理操作同步至新数据表中;
复制及指令发送模块,用于将原数据表中的数据复制到新数据表中,发送更新指令至服务器节点;
更新模块,用于根据接收到的更新指令重启服务器节点以部署更新后的服务程序,更新后的服务程序中数据表表名为新数据表表名;
其中,更新模块包括:
修改单元,用于将服务程序中的原数据表表名修改为新数据表表名,形成更新后的服务程序;
更新单元,用于根据接收到的更新指令逐个重启服务器节点以部署更新后的服务程序。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一所述数据表处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至7任一所述数据表处理方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010473196.1A CN111680040A (zh) | 2020-05-29 | 2020-05-29 | 数据表处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010473196.1A CN111680040A (zh) | 2020-05-29 | 2020-05-29 | 数据表处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111680040A true CN111680040A (zh) | 2020-09-18 |
Family
ID=72453656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010473196.1A Pending CN111680040A (zh) | 2020-05-29 | 2020-05-29 | 数据表处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111680040A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113194124A (zh) * | 2021-04-19 | 2021-07-30 | 西安热工研究院有限公司 | 基于分布式实时数据库的dcs后台多节点间点目录同步方法 |
CN113704265A (zh) * | 2021-08-31 | 2021-11-26 | 上海华力集成电路制造有限公司 | 一种数据维护方法、系统、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104965879A (zh) * | 2015-06-12 | 2015-10-07 | 小米科技有限责任公司 | 修改数据表的表结构的方法及装置 |
CN110309149A (zh) * | 2019-06-06 | 2019-10-08 | 平安科技(深圳)有限公司 | 一种数据表处理方法、装置、电子设备及存储介质 |
-
2020
- 2020-05-29 CN CN202010473196.1A patent/CN111680040A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104965879A (zh) * | 2015-06-12 | 2015-10-07 | 小米科技有限责任公司 | 修改数据表的表结构的方法及装置 |
CN110309149A (zh) * | 2019-06-06 | 2019-10-08 | 平安科技(深圳)有限公司 | 一种数据表处理方法、装置、电子设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113194124A (zh) * | 2021-04-19 | 2021-07-30 | 西安热工研究院有限公司 | 基于分布式实时数据库的dcs后台多节点间点目录同步方法 |
CN113194124B (zh) * | 2021-04-19 | 2022-10-25 | 西安热工研究院有限公司 | 基于分布式实时数据库的dcs后台多节点间点目录同步方法 |
CN113704265A (zh) * | 2021-08-31 | 2021-11-26 | 上海华力集成电路制造有限公司 | 一种数据维护方法、系统、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019154394A1 (zh) | 分布式数据库集群系统、数据同步方法及存储介质 | |
US7779295B1 (en) | Method and apparatus for creating and using persistent images of distributed shared memory segments and in-memory checkpoints | |
US8843581B2 (en) | Live object pattern for use with a distributed cache | |
CN109189860A (zh) | 一种基于Kubernetes系统的MySQL主备增量同步方法 | |
EP2542976B1 (en) | Method and apparatus of backing-up subversion repository | |
CN113688035B (zh) | 一种基于沙箱环境的数据库双活中心验证方法及系统 | |
CN111680040A (zh) | 数据表处理方法及装置 | |
US11537570B2 (en) | Systems and/or methods for migrating live database schemas to support zero downtime deployments with zero data losses | |
US20230004465A1 (en) | Distributed database system and data disaster backup drilling method | |
US11372727B2 (en) | Method, device, and computer-readable storage medium for managing storage system | |
WO2021082925A1 (zh) | 一种交易处理的方法及装置 | |
CN117763046A (zh) | 集群间数据同步的方法、装置、设备及存储介质 | |
JP6251965B2 (ja) | 情報システムおよびデータベース復旧方法 | |
CN113515574B (zh) | 一种数据同步方法及装置 | |
CN115878361A (zh) | 数据库集群的节点管理方法、装置及电子设备 | |
CN112231150B (zh) | 数据库集群中故障数据库恢复方法和装置 | |
CN110597788B (zh) | 一种MySQL数据库由主从模式热切换到集群模式的方法 | |
CN114490570A (zh) | 生产数据同步方法、装置、数据同步系统及服务器 | |
CN103327105A (zh) | hadoop系统中从属节点服务自动恢复方法 | |
CN111966532A (zh) | 数据库的管理方法和装置、电子设备和介质 | |
CN107153699B (zh) | 一种动态扩展集群服务器的方法及装置 | |
CN114968656A (zh) | 一种数据回滚方法、装置、设备及介质 | |
CN104361043B (zh) | 数据库切换方法及数据库切换系统 | |
CN105989503A (zh) | 在线交易系统数据一致性的方法及系统 | |
US20240256397A1 (en) | Service/Workload Recovery And Restoration In Container Orchestration Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200918 |