一种数据归档方法、装置、设备及计算机可读介质与流程
未命名
08-07
阅读:93
评论:0

1.本技术涉及计算机技术领域及数字医疗领域,特别是涉及一种数据归档方法、装置、设备及计算机可读介质。
背景技术:
2.在数据库管理过程中,随着业务的增长,数据量会越来越多,为了保持数据库的稳定运行,数据库管理员会对历史价值比较低的数据进行数据归档、数据转移、数据清理等操作。
3.目前,数据库管理员在进行数据归档、数据转移、数据清理等操作时,一般都是数据库管理员直接登录数据库服务器操作或者通过编写程序来完成,而这种归档方式会带来如下问题:缺少审计;历史归档信息无法查询;缺少标准化和自动化,工作量大;缺少监控信息。
技术实现要素:
4.鉴于以上所述现有技术的缺点,本技术的目的在于提供一种数据归档方法、装置、设备及计算机可读介质,用于解决现有技术中存在的问题。
5.为实现上述目的及其他相关目的,本技术提供一种数据归档方法,所述方法包括以下步骤:
6.获取预先或实时生成的数据归档请求;
7.响应于所述数据归档请求,并基于所述数据归档请求的响应结果匹配目标集群,以及创建数据归档调度任务;
8.解析并执行所述数据归档调度任务,将第一数据库中的待归档数据部分归档或全部归档至所述目标集群中。
9.可选地,所述解析并执行所述数据归档调度任务,将第一数据库中的待归档数据部分归档或全部归档至所述目标集群中的过程包括:
10.解析所述数据归档调度任务,并调用第一归档器对所述数据归档调度任务进行归档参数检测;
11.通过所述归档参数读取所述第一数据库中的待归档数据;以及,
12.基于第一归档库和第一归档表执行所述数据归档调度任务,并调用第二归档器将所述待归档数据部分归档或全部归档至所述目标集群中;其中,所述第一归档库和所述第一归档表位于所述目标集群中。
13.可选地,在基于第一归档库和第一归档表执行所述数据归档调度任务前,所述方法还包括:
14.检测所述目标集群中是否存在所述第一归档库和所述第一归档表;
15.若所述目标集群中已存在所述第一归档库和所述第一归档表,则直接基于所述第一归档库和所述第一归档表执行所述数据归档调度任务;
16.若所述目标集群中未存在所述第一归档库和所述第一归档表,则在所述目标集群中自动创建所述第一归档库和所述第一归档表,并在创建完成后,基于所述第一归档库和所述第一归档表执行所述数据归档调度任务。
17.可选地,所述解析所述数据归档调度任务的过程包括:
18.将所述数据归档调度任务存储至第一数据库中,形成任务队列;
19.解析所述任务队列中的数据归档调度任务,并将所述数据归档调度任务分发至任务管理器;
20.利用所述任务管理器对每个数据归档调度任务进行拆分,将每个数据归档调度任务拆分为多个任务子进程,以使所述第一归档器对每个任务子进程进行归档参数检测。
21.可选地,在解析并执行所述数据归档调度任务前,所述方法还包括:
22.接收目标对象在第一配置界面生成的操作指令;
23.响应于所述操作指令,设置所述数据回档调度任务的解析方式和执行方式;
24.其中,所述解析方式包括以下至少之一:手动解析、定时解析、周期解析;所述执行方式包括以下至少之一:手动执行、定时执行、周期执行。
25.可选地,在执行所述数据归档调度任务时,所述方法还包括:
26.通过网页套接字监控所述数据归档调度任务的执行百分比;
27.将第一时刻下的执行百分比和第二时刻下的执行百分比进行比对,确定所述数据归档调度任务的执行状态;其中,所述第一时刻早于第二时刻;
28.若第一时刻下的执行百分比大于或等于第二时刻下的执行百分比,则判定所述数据归档调度任务为执行异常,并发出异常告警信息;
29.若第一时刻下的执行百分比小于第二时刻下的执行百分比,则判定所述数据归档调度任务为执行正常,并继续监控所述数据归档调度任务的执行百分比,直至所述数据归档调度任务执行结束。
30.可选地,在所述数据归档调度任务执行结束后,所述方法还包括:
31.获取所述数据归档调度任务的总执行时间,记为实际执行时间;
32.将所述实际执行时间与预设执行时间进行比对;
33.若所述实际执行时间小于或等于所述预设执行时间,则标记当前数据归档调度任务为正常归档任务;
34.若所述实际执行时间大于所述预设执行时间,则标记当前数据归档调度任务为异常归档任务。
35.本技术还提供一种数据归档装置,所述装置包括有:
36.数据采集模块,用于获取预先或实时生成的数据归档请求;
37.请求响应模块,用于响应于所述数据归档请求,并基于所述数据归档请求的响应结果匹配目标集群,以及创建数据归档调度任务;
38.数据归档模块,用于解析并执行所述数据归档调度任务,将第一数据库中的待归档数据部分归档或全部归档至所述目标集群中。
39.本技术还提供一种计算机设备,包括:
40.处理器;和,
41.存储有指令的计算机可读介质,当所述处理器执行所述指令时,使得所述设备执
行如上述中任一所述的方法。
42.本技术还提供一种计算机可读介质,其上存储有指令,所述指令由处理器加载并执行如上述中任一所述的方法。
43.如上所述,本技术提供一种数据归档方法、装置、设备及计算机可读介质,具有以下有益效果:
44.本技术首先获取预先或实时生成的数据归档请求,然后响应于所述数据归档请求,并基于所述数据归档请求的响应结果匹配目标集群,以及创建数据归档调度任务;再然后解析并执行所述数据归档调度任务,将第一数据库中的待归档数据部分归档或全部归档至所述目标集群中。由此可知,本技术通过获取并响应数据归档请求,然后将第一数据库中的待归档数据部分归档或全部归档至目标集群中,可以对第一数据库中的待归档数据实现自动化归档;并且本技术通过自动化归档,不仅减少了数据库管理员的工作量,而且也降低了人工操作成本。同时,本技术在对待归档数据进行归档时,流程简单规范,直接将待归档数据归档至目标集群,不仅方便后期查询历史归档信息,而且也方便在归档时进行监控以及在完成归档后进行后续审计,从而可以提升数据库平台的安全和稳定性。
附图说明
45.图1为应用本技术中一个或多个实施例中技术方案的示例性系统架构的示意图;
46.图2为本技术中一实施例提供的数据归档方法的流程示意图;
47.图3为本技术中一实施例提供的数据归档方法的原理示意图;
48.图4为本技术中一实施例提供的创建数据归档调度任务的界面示意图;
49.图5为本技术中一实施例提供的解析和执行数据归档调度任务的原理示意图;
50.图6为本技术中一实施例提供的数据归档调度任务的第一执行结果显示界面图;
51.图7为本技术中一实施例提供的数据归档调度任务的第二执行结果显示界面图;
52.图8为本技术中一实施例提供的数据归档调度任务的第三执行结果显示界面图;
53.图9为本技术中一实施例提供的数据归档调度任务的第四执行结果显示界面图;
54.图10为本技术中一实施例提供的数据归档调度任务的第五执行结果显示界面图;
55.图11为本技术中一实施例提供的对数据归档调度任务进行管理的显示界面图;
56.图12为本技术中一实施例提供的数据归档装置的硬件结构示意图;
57.图13为适用于实现本技术中一个或多个实施例的计算机设备的硬件结构示意图。
具体实施方式
58.以下通过特定的具体实例说明本技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本技术的其他优点与功效。本技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
59.需要说明的是,本实施例中所提供的图示仅以示意方式说明本技术的基本构想,遂图式中仅显示与本技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可
能更为复杂。
60.图1示出了一种可以应用本技术中一个或多个实施例中技术方案的示例性系统架构的示意图。如图1所示,系统架构100可以包括终端设备110、网络120和服务器130。终端设备110可以包括智能手机、平板电脑、笔记本电脑、台式电脑等各种电子设备。服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。网络120可以是能够在终端设备110和服务器130之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路或者无线通信链路。
61.根据实现需要,本技术实施例中的系统架构可以具有任意数目的终端设备、网络和服务器。例如,服务器130可以是由多个服务器设备组成的服务器群组。另外,本技术实施例提供的技术方案可以应用于终端设备110,也可以应用于服务器130,或者可以由终端设备110和服务器130共同实施,本技术对此不做特殊限定。
62.在本技术的一个实施例中,本技术的终端设备110或服务器130可以获取预先或实时生成的数据归档请求,然后响应于所述数据归档请求,并基于所述数据归档请求的响应结果匹配目标集群,以及创建数据归档调度任务;再然后解析并执行所述数据归档调度任务,将第一数据库中的待归档数据部分归档或全部归档至所述目标集群中。利用终端设备110或服务器130执行数据归档方法,可以通过获取并响应数据归档请求,然后将第一数据库中的待归档数据部分归档或全部归档至目标集群中,可以对第一数据库中的待归档数据实现自动化归档;并且通过自动化归档,不仅减少了数据库管理员的工作量,而且也降低了人工操作成本。同时,在对待归档数据进行归档时,流程简单规范,直接将待归档数据归档至目标集群,不仅方便后期查询历史归档信息,而且也方便在归档时进行监控以及在完成归档后进行后续审计,从而可以提升数据库平台的安全和稳定性。
63.以上部分介绍了应用本技术技术方案的示例性系统架构的内容,接下来继续介绍本技术的数据归档方法。
64.图2示出了本技术一实施例提供的数据归档方法流程示意图。具体地,在一示例性实施例中,如图2所示,本实施例提供一种数据归档方法,该方法包括以下步骤:
65.s210,获取预先或实时生成的数据归档请求;其中,本实施例中的数据归档请求可以是数据库管理员预先或实时生成的。作为示例,例如数据库管理员可以在归档配置界面上输入操作指令,然后由终端设备110和服务器130响应对应的操作指令,生成对应的数据归档请求。作为一示例,本实施例在生成数据归档请求时,可以设置生成单次数据归档请求;例如每次需要生成数据归档请求时,都由数据库管理员在归档配置界面上输入第一操作指令,然后由终端设备110和服务器130响应对应的操作指令,生成对应的第一数据归档请求。作为另一示例,本实施例在生成数据归档请求时,还可以设置按照固定时间生成数据归档请求;例如数据库管理员可以在归档配置界面上输入第二操作指令,设置每日的x点x分生成一次数据归档请求,然后由终端设备110和服务器130响应对应的操作指令,生成对应的第二数据归档请求。作为又一示例,本实施例在生成数据归档请求时,还可以设置按照周期生成数据归档请求;例如数据库管理员可以在归档配置界面上输入第三操作指令,设置每隔y分钟生成一次数据归档请求,然后由终端设备110和服务器130响应对应的操作指令,生成对应的第三数据归档请求。
66.s220,响应于所述数据归档请求,并基于所述数据归档请求的响应结果匹配目标
集群,以及创建数据归档调度任务。在本实施例中,数据归档请求可以由终端设备110和服务器130来进行响应。作为示例,例如可以用网页服务器webserver、任务服务器taskserver、调度控制器schedule controller、任务管理器task manage等一种或多种来进行响应。此外,还可以用其他终端设备或服务器来对数据归档请求进行响应。
67.s230,解析并执行所述数据归档调度任务,将第一数据库中的待归档数据部分归档或全部归档至所述目标集群中。在本实施例中,第一数据库包括但不限于mysql(my structured query language,简称mysql)数据库、rdbms(relational database management system,简称rdbms)数据库等;待归档数据可以是数字医疗数据、人工智能图像数据、文字数据、程序代码数据等一种或多种;目标集群可以包括但不限于tidb集群。其中,tidb是pingcap公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理(hybrid transactional and analytical processing,简称htap)的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时htap、云原生的分布式数据库、兼容mysql5.7协议和mysql生态等重要特性。
68.由此可知,本实施例通过获取并响应数据归档请求,然后将第一数据库中的待归档数据部分归档或全部归档至目标集群中,可以对第一数据库中的待归档数据实现自动化归档。并且本实施例通过自动化归档,不仅减少了数据库管理员的工作量,而且也降低了人工操作成本。同时,本实施例在对待归档数据进行归档时,流程简单规范,直接将待归档数据归档至目标集群,不仅方便后期查询历史归档信息,而且也方便在归档时进行监控以及在完成归档后进行后续审计,从而可以提升数据库平台的安全和稳定性。
69.在一示例性实施例中,解析并执行所述数据归档调度任务,将第一数据库中的待归档数据部分归档或全部归档至所述目标集群中的过程可以包括:解析所述数据归档调度任务,并调用第一归档器对所述数据归档调度任务进行归档参数检测;完成归档参数检测后,通过所述归档参数读取所述第一数据库中的待归档数据;以及,基于第一归档库和第一归档表执行所述数据归档调度任务,并调用第二归档器将所述待归档数据部分归档或全部归档至所述目标集群中;其中,所述第一归档库和所述第一归档表位于所述目标集群中。作为示例,本实施例中第一归档器可以是由python封装好的mysql归档器或mysql-archiver,第一归档库可以是tidb集群中的远程数据归档库,第一归档表可以是tidb集群中的远程数据归档表。其中,python是由荷兰数学和计算机科学研究学会的吉多
·
范罗苏姆于1990年代初设计,作为一门叫做abc语言的替代品。python提供了高效的高级数据结构,还能简单有效地面向对象编程。python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。python解释器易于扩展,可以使用c语言或c++(或者其他可以通过c调用的语言)扩展新的功能和数据类型。python也可用于可定制化软件中的扩展程序语言。python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。
70.根据上述记载,在一示例性实施例中,基于第一归档库和第一归档表执行所述数据归档调度任务前,还可以包括:检测所述目标集群中是否存在所述第一归档库和所述第一归档表;若所述目标集群中已存在所述第一归档库和所述第一归档表,则直接基于所述第一归档库和所述第一归档表执行所述数据归档调度任务;若所述目标集群中未存在所述第一归档库和所述第一归档表,则在所述目标集群中自动创建所述第一归档库和所述第一
归档表,并在创建完成后,基于所述第一归档库和所述第一归档表执行所述数据归档调度任务。作为示例,若目标集群是tidb集群,则本实施例中第一归档库可以是tidb集群中的远程数据归档库,第一归档表可以是tidb集群中的远程数据归档表。
71.根据上述记载,在一些示例性实施例中,解析数据归档调度任务的过程包括:将所述数据归档调度任务存储至第一数据库中,形成任务队列;解析所述任务队列中的数据归档调度任务,并将所述数据归档调度任务分发至任务管理器;利用所述任务管理器对每个数据归档调度任务进行拆分,将每个数据归档调度任务拆分为多个任务子进程,以使所述第一归档器对每个任务子进程进行归档参数检测。作为示例,本实施例使用sanic创建了一个任务服务器taskserver和一个网页服务器webserver;网页服务器webserver用于接收上层用户的信息,创建调度任务后将任务存储在mysql中。同时任务服务器taskserver实时监控mysql任务队列,并在调度控制器schedule controller中解析数据归档调度任务,确定数据归档调度任务是手动执行、定时执行还是周期执行,在到达对应任务执行时间点后,将任务分发到任务管理器task manage。任务管理器task manage在接收到任务后放入内存缓存队列中,并为每个任务分出对应的任务子进程进行执行。
72.在一示例性实施例中,解析并执行所述数据归档调度任务前,还可以包括:接收目标对象在第一配置界面生成的操作指令;响应于所述操作指令,设置所述数据回档调度任务的解析方式和执行方式;其中,所述解析方式包括以下至少之一:手动解析、定时解析、周期解析;所述执行方式包括以下至少之一:手动执行、定时执行、周期执行。作为示例,本实施例中的目标对象可以是一些实施例中描述的数据库管理员,也可以是其他人员。由此可知,本实施例支持配置手工任务、定时任务、秒级周期任务三种任务类型,并支持随时手动触发任务及手动终止正在运行的任务。
73.图3示出了本技术一实施例提供的数据归档方法的原理示意图。在图3中,包括了如下数据归档原理:
74.在归档配置界面上输入操作指令,生成数据归档请求;
75.响应该数据归档请求,进行数据归档配置,选择要存储待归档数据的目标集群;作为示例,本实施例中的目标集群可以是tidb集群。
76.基于配置内容转创建数据归档调度任务,然后解析并执行所创建的数据归档调度任务。其中,创建数据归档调度任务的显示界面如图4所示。
77.在解析数据归档调度任务时,本实施例可以调用由python封装好的第一归档器来对数据归档调度任务进行归档参数检测,然后在数据归档调度任务完成或通过归档参数检测后,通过所述归档参数读取第一数据库中的待归档数据。其中,本实施例在解析和执行数据归档任务的原理如图5所示。在图5中,本实施例使用sanic创建了一个任务服务器taskserver和一个网页服务器webserver;网页服务器webserver用于接收上层用户的信息,创建调度任务后将任务存储在mysql中。同时任务服务器taskserver实时监控mysql任务队列,并在调度控制器schedule controller中解析数据归档调度任务,确定数据归档调度任务是手动执行、定时执行还是周期执行,在到达对应任务执行时间点后,将任务分发到任务管理器task manage。任务管理器task manage在接收到任务后放入内存缓存队列中,并为每个任务分出对应的任务子进程进行执行,对超过设置的时间或者执行异常的任务发送短信告警。另外网页服务器webserver也会通过网页套接字web socket的方式连接实时
监控后端任务的运行状态和执行百分比。作为示例,本实施例中的第一归档器可以是mysql归档器或mysql-archiver。其中,sanic,是一个基于python 3.5+的网页框架或web框架,依托于uvloop、asyncio等事件循环和异步并发模块,旨在提供支持异步高并发请求的网页服务或web服务。
78.再检测目标集群中是否存在第一归档库和第一归档表;作为示例,本实施例中第一归档库可以是tidb集群中的远程数据归档库,第一归档表可以是tidb集群中的远程数据归档表。
79.如果目标集群中存在第一归档库和第一归档表,则直接基于第一归档库和第一归档表执行数据归档调度任务,然后调用第二归档器进行归档,将第一数据库中的待归档数据部分归档或全部归档至目标集群中。如果目标集群中不存在第一归档库和第一归档表,则目标集群会自动创建第一归档库和第一归档表,并在目标集群创建完成后,再通过第一归档库和第一归档表执行数据归档调度任务,然后调用第二归档器进行归档,将第一数据库中的待归档数据部分归档或全部归档至目标集群中。作为示例,本实施例中的第二归档器可以是pt归档器或pt-archiver。
80.根据上述记载,在一些示例性实施例中,在执行所述数据归档调度任务时,还可以包括:通过网页套接字监控所述数据归档调度任务的执行百分比;将第一时刻下的执行百分比和第二时刻下的执行百分比进行比对,确定所述数据归档调度任务的执行状态;其中,所述第一时刻早于第二时刻;若第一时刻下的执行百分比大于或等于第二时刻下的执行百分比,则判定所述数据归档调度任务为执行异常,并发出异常告警信息;若第一时刻下的执行百分比小于第二时刻下的执行百分比,则判定所述数据归档调度任务为执行正常,并继续监控所述数据归档调度任务的执行百分比,直至所述数据归档调度任务执行结束。由此可知,本实施例支持在任务运行时通过网页套接字技术和历史任务数据,计算实时监控任务的执行状态和执行进度百分比。
81.此外,在所述数据归档调度任务执行结束后,还可以包括:获取所述数据归档调度任务的总执行时间,记为实际执行时间;将所述实际执行时间与预设执行时间进行比对;若所述实际执行时间小于或等于所述预设执行时间,则标记当前数据归档调度任务为正常归档任务;若所述实际执行时间大于所述预设执行时间,则标记当前数据归档调度任务为异常归档任务。具体地,数据归档调度任务的执行结果如图6至图10所示。其中,图6示出了数据归档调度任务的第一执行结果,第一执行结果可以是单日任务调度数量以及单日任务失败次数。图7示出了数据归档调度任务的第二执行结果,第二执行结果可以是数据归档调度任务的最大执行耗时和最新任务调度时间。图8示出了数据归档调度任务的第三执行结果,第三执行结果可以是过去7天内数据归档调度任务的执行数量以及对应的执行成功率。图9示出了数据归档调度任务的第四执行结果,第四执行结果可以是当前数据归档调度任务的总执行量、执行失败次数以及总成功率。图10示出了数据归档调度任务的第五执行结果,第五执行结果可以是数据归档调度任务的当前执行状态。由此可知,本实施例可以通过今日任务、本周任务、24h调度监控、历史任务分布等不同维度监控和分析任务运行状态。并且支持任务在运行失败、运行超时、任务队列异常时,发送短信报警。
82.根据上述记载,在数据归档调度任务执行结束后,本实施例还可以对数据归档调度任务进行管理,任务管理方式如图11所示。由此可知,本实施例还可以跟踪每个任务的历
史执行状况,以及运行日志。
83.综上所述,本技术提供一种数据归档方法,首先获取预先或实时生成的数据归档请求,然后响应于所述数据归档请求,并基于所述数据归档请求的响应结果匹配目标集群,以及创建数据归档调度任务;再然后解析并执行所述数据归档调度任务,将第一数据库中的待归档数据部分归档或全部归档至所述目标集群中。由此可知,本方法通过获取并响应数据归档请求,然后将第一数据库中的待归档数据部分归档或全部归档至目标集群中,可以对第一数据库中的待归档数据实现自动化归档;并且本方法通过自动化归档,不仅减少了数据库管理员的工作量,而且也降低了人工操作成本。同时,本方法在对待归档数据进行归档时,流程简单规范,直接将待归档数据归档至目标集群,不仅方便后期查询历史归档信息,而且也方便在归档时进行监控以及在完成归档后进行后续审计,从而可以提升数据库平台的安全和稳定性。
84.如图12所示,本技术还提供一种数据归档装置,所述装置包括有:
85.数据采集模块1210,用于获取预先或实时生成的数据归档请求;其中,本实施例中的数据归档请求可以是数据库管理员预先或实时生成的。作为示例,例如数据库管理员可以在归档配置界面上输入操作指令,然后由终端设备110和服务器130响应对应的操作指令,生成对应的数据归档请求。作为一示例,本实施例在生成数据归档请求时,可以设置生成单次数据归档请求;例如每次需要生成数据归档请求时,都由数据库管理员在归档配置界面上输入第一操作指令,然后由终端设备110和服务器130响应对应的操作指令,生成对应的第一数据归档请求。作为另一示例,本实施例在生成数据归档请求时,还可以设置按照固定时间生成数据归档请求;例如数据库管理员可以在归档配置界面上输入第二操作指令,设置每日的x点x分生成一次数据归档请求,然后由终端设备110和服务器130响应对应的操作指令,生成对应的第二数据归档请求。作为又一示例,本实施例在生成数据归档请求时,还可以设置按照周期生成数据归档请求;例如数据库管理员可以在归档配置界面上输入第三操作指令,设置每隔y分钟生成一次数据归档请求,然后由终端设备110和服务器130响应对应的操作指令,生成对应的第三数据归档请求。
86.请求响应模块1220,用于响应于所述数据归档请求,并基于所述数据归档请求的响应结果匹配目标集群,以及创建数据归档调度任务;在本实施例中,数据归档请求可以由终端设备110和服务器130来进行响应。作为示例,例如可以用网页服务器webserver、任务服务器taskserver、调度控制器schedule controller、任务管理器task manage等一种或多种来进行响应。此外,还可以用其他终端设备或服务器来对数据归档请求进行响应。
87.数据归档模块1230,用于解析并执行所述数据归档调度任务,将第一数据库中的待归档数据部分归档或全部归档至所述目标集群中。在本实施例中,第一数据库包括但不限于mysql数据库、rdbms数据库等;待归档数据可以是数字医疗数据、人工智能图像数据、文字数据、程序代码数据等一种或多种;目标集群可以包括但不限于tidb集群。其中,tidb是pingcap公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理htap的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时htap、云原生的分布式数据库、兼容mysql5.7协议和mysql生态等重要特性。
88.由此可知,本实施例通过获取并响应数据归档请求,然后将第一数据库中的待归档数据部分归档或全部归档至目标集群中,可以对第一数据库中的待归档数据实现自动化
归档。并且本实施例通过自动化归档,不仅减少了数据库管理员的工作量,而且也降低了人工操作成本。同时,本实施例在对待归档数据进行归档时,流程简单规范,直接将待归档数据归档至目标集群,不仅方便后期查询历史归档信息,而且也方便在归档时进行监控以及在完成归档后进行后续审计,从而可以提升数据库平台的安全和稳定性。
89.在一示例性实施例中,解析并执行所述数据归档调度任务,将第一数据库中的待归档数据部分归档或全部归档至所述目标集群中的过程可以包括:解析所述数据归档调度任务,并调用第一归档器对所述数据归档调度任务进行归档参数检测;完成归档参数检测后,通过所述归档参数读取所述第一数据库中的待归档数据;以及,基于第一归档库和第一归档表执行所述数据归档调度任务,并调用第二归档器将所述待归档数据部分归档或全部归档至所述目标集群中;其中,所述第一归档库和所述第一归档表位于所述目标集群中。作为示例,本实施例中第一归档器可以是由python封装好的mysql归档器或mysql-archiver,第一归档库可以是tidb集群中的远程数据归档库,第一归档表可以是tidb集群中的远程数据归档表。其中,python是由荷兰数学和计算机科学研究学会的吉多
·
范罗苏姆于1990年代初设计,作为一门叫做abc语言的替代品。python提供了高效的高级数据结构,还能简单有效地面向对象编程。python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。python解释器易于扩展,可以使用c语言或c++(或者其他可以通过c调用的语言)扩展新的功能和数据类型。python也可用于可定制化软件中的扩展程序语言。python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。
90.根据上述记载,在一示例性实施例中,基于第一归档库和第一归档表执行所述数据归档调度任务前,还可以包括:检测所述目标集群中是否存在所述第一归档库和所述第一归档表;若所述目标集群中已存在所述第一归档库和所述第一归档表,则直接基于所述第一归档库和所述第一归档表执行所述数据归档调度任务;若所述目标集群中未存在所述第一归档库和所述第一归档表,则在所述目标集群中自动创建所述第一归档库和所述第一归档表,并在创建完成后,基于所述第一归档库和所述第一归档表执行所述数据归档调度任务。作为示例,若目标集群是tidb集群,则本实施例中第一归档库可以是tidb集群中的远程数据归档库,第一归档表可以是tidb集群中的远程数据归档表。
91.根据上述记载,在一些示例性实施例中,解析数据归档调度任务的过程包括:将所述数据归档调度任务存储至第一数据库中,形成任务队列;解析所述任务队列中的数据归档调度任务,并将所述数据归档调度任务分发至任务管理器;利用所述任务管理器对每个数据归档调度任务进行拆分,将每个数据归档调度任务拆分为多个任务子进程,以使所述第一归档器对每个任务子进程进行归档参数检测。作为示例,本实施例使用sanic创建了一个任务服务器taskserver和一个网页服务器webserver;网页服务器webserver用于接收上层用户的信息,创建调度任务后将任务存储在mysql中。同时任务服务器taskserver实时监控mysql任务队列,并在调度控制器schedule controller中解析数据归档调度任务,确定数据归档调度任务是手动执行、定时执行还是周期执行,在到达对应任务执行时间点后,将任务分发到任务管理器task manage。任务管理器task manage在接收到任务后放入内存缓存队列中,并为每个任务分出对应的任务子进程进行执行。
92.在一示例性实施例中,解析并执行所述数据归档调度任务前,还可以包括:接收目
标对象在第一配置界面生成的操作指令;响应于所述操作指令,设置所述数据回档调度任务的解析方式和执行方式;其中,所述解析方式包括以下至少之一:手动解析、定时解析、周期解析;所述执行方式包括以下至少之一:手动执行、定时执行、周期执行。作为示例,本实施例中的目标对象可以是一些实施例中描述的数据库管理员,也可以是其他人员。由此可知,本实施例支持配置手工任务、定时任务、秒级周期任务三种任务类型,并支持随时手动触发任务及手动终止正在运行的任务。
93.在一示例性实施例中,该实施例还提供一种数据归档装置,包括以下数据归档原理:
94.在归档配置界面上输入操作指令,生成数据归档请求;
95.响应该数据归档请求,进行数据归档配置,选择要存储待归档数据的目标集群;作为示例,本实施例中的目标集群可以是tidb集群。
96.基于配置内容转创建数据归档调度任务,然后解析并执行所创建的数据归档调度任务。其中,创建数据归档调度任务的显示界面如图4所示。
97.在解析数据归档调度任务时,本实施例可以调用由python封装好的第一归档器来对数据归档调度任务进行归档参数检测,然后在数据归档调度任务完成或通过归档参数检测后,通过所述归档参数读取第一数据库中的待归档数据。其中,本实施例在解析和执行数据归档任务的原理如图5所示。在图5中,本实施例使用sanic创建了一个任务服务器taskserver和一个网页服务器webserver;网页服务器webserver用于接收上层用户的信息,创建调度任务后将任务存储在mysql中。同时任务服务器taskserver实时监控mysql任务队列,并在调度控制器schedule controller中解析数据归档调度任务,确定数据归档调度任务是手动执行、定时执行还是周期执行,在到达对应任务执行时间点后,将任务分发到任务管理器task manage。任务管理器task manage在接收到任务后放入内存缓存队列中,并为每个任务分出对应的任务子进程进行执行,对超过设置的时间或者执行异常的任务发送短信告警。另外网页服务器webserver也会通过网页套接字web socket的方式连接实时监控后端任务的运行状态和执行百分比。作为示例,本实施例中的第一归档器可以是mysql归档器或mysql-archiver。其中,sanic,是一个基于python 3.5+的web框架,依托于uvloop、asyncio等事件循环和异步并发模块,旨在提供支持异步高并发请求的web服务。
98.再检测目标集群中是否存在第一归档库和第一归档表;作为示例,本实施例中第一归档库可以是tidb集群中的远程数据归档库,第一归档表可以是tidb集群中的远程数据归档表。
99.如果目标集群中存在第一归档库和第一归档表,则直接基于第一归档库和第一归档表执行数据归档调度任务,然后调用第二归档器进行归档,将第一数据库中的待归档数据部分归档或全部归档至目标集群中。如果目标集群中不存在第一归档库和第一归档表,则目标集群会自动创建第一归档库和第一归档表,并在目标集群创建完成后,再通过第一归档库和第一归档表执行数据归档调度任务,然后调用第二归档器进行归档,将第一数据库中的待归档数据部分归档或全部归档至目标集群中。作为示例,本实施例中的第二归档器可以是pt归档器或pt-archiver。
100.根据上述记载,在一些示例性实施例中,在执行所述数据归档调度任务时,还可以包括:通过网页套接字监控所述数据归档调度任务的执行百分比;将第一时刻下的执行百
分比和第二时刻下的执行百分比进行比对,确定所述数据归档调度任务的执行状态;其中,所述第一时刻早于第二时刻;若第一时刻下的执行百分比大于或等于第二时刻下的执行百分比,则判定所述数据归档调度任务为执行异常,并发出异常告警信息;若第一时刻下的执行百分比小于第二时刻下的执行百分比,则判定所述数据归档调度任务为执行正常,并继续监控所述数据归档调度任务的执行百分比,直至所述数据归档调度任务执行结束。由此可知,本实施例支持在任务运行时通过网页套接字技术和历史任务数据,计算实时监控任务的执行状态和执行进度百分比。
101.此外,在所述数据归档调度任务执行结束后,还可以包括:获取所述数据归档调度任务的总执行时间,记为实际执行时间;将所述实际执行时间与预设执行时间进行比对;若所述实际执行时间小于或等于所述预设执行时间,则标记当前数据归档调度任务为正常归档任务;若所述实际执行时间大于所述预设执行时间,则标记当前数据归档调度任务为异常归档任务。具体地,数据归档调度任务的执行结果如图6至图10所示。其中,图6示出了数据归档调度任务的第一执行结果,第一执行结果可以是单日任务调度数量以及单日任务失败次数。图7示出了数据归档调度任务的第二执行结果,第二执行结果可以是数据归档调度任务的最大执行耗时和最新任务调度时间。图8示出了数据归档调度任务的第三执行结果,第三执行结果可以是过去7天内数据归档调度任务的执行数量以及对应的执行成功率。图9示出了数据归档调度任务的第四执行结果,第四执行结果可以是当前数据归档调度任务的总执行量、执行失败次数以及总成功率。图10示出了数据归档调度任务的第五执行结果,第五执行结果可以是数据归档调度任务的当前执行状态。由此可知,本实施例可以通过今日任务、本周任务、24h调度监控、历史任务分布等不同维度监控和分析任务运行状态。并且支持任务在运行失败、运行超时、任务队列异常时,发送短信报警。
102.根据上述记载,在数据归档调度任务执行结束后,本实施例还可以对数据归档调度任务进行管理,任务管理方式如图11所示。由此可知,本实施例还可以跟踪每个任务的历史执行状况,以及运行日志。
103.综上所述,本技术提供一种数据归档装置,首先获取预先或实时生成的数据归档请求,然后响应于所述数据归档请求,并基于所述数据归档请求的响应结果匹配目标集群,以及创建数据归档调度任务;再然后解析并执行所述数据归档调度任务,将第一数据库中的待归档数据部分归档或全部归档至所述目标集群中。由此可知,本装置通过获取并响应数据归档请求,然后将第一数据库中的待归档数据部分归档或全部归档至目标集群中,可以对第一数据库中的待归档数据实现自动化归档;并且本装置通过自动化归档,不仅减少了数据库管理员的工作量,而且也降低了人工操作成本。同时,本装置在对待归档数据进行归档时,流程简单规范,直接将待归档数据归档至目标集群,不仅方便后期查询历史归档信息,而且也方便在归档时进行监控以及在完成归档后进行后续审计,从而可以提升数据库平台的安全和稳定性。
104.需要说明的是,上述实施例所提供数据归档装置与上述实施例所提供的数据归档方法属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的数据归档装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。所以,本技术有效克服了现有技术
中的种种缺点而具高度产业利用价值。
105.在一示例性实施例中,上述一些实施例中记载的数据归档装置和/或数据归档方法可以用于数字医疗领域。例如,可以用于对医疗数据进行归档,其中,本实施例中的医疗数据包括但不限于:个人健康档案、电子处方数据、医疗文本数据、检查报告数据等;此外,本实施例中的医疗数据还可以是医学影像,包括但不限于:胃部、腹部、心脏、膝盖、脑部等部位的医学影像;例如ct(computed tomography,电子计算机断层扫描)、mri(magnetic resonance imaging,磁共振成像)、us(ultrasonic,超声)、x光图像、脑电图以及光学摄影灯由医学仪器生成的图像。本实施例中的医疗文本可以是医疗电子记录(electronic healthcare record),电子化的个人健康记录,包括病历、心电图、医学影像等一系列具备保存备查价值的电子化记录。数据归档成为很多场景中用户快速获取所需信息的渠道。例如在医疗领域中,通过数据归档,可以基于人工智能模型从海量的电子病历中查询用户所需的病历信息,有助于为用户提供病历参考。
106.本技术实施例还提供了一种计算机设备,该设备可以包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行图2所述的方法。图13示出了一种计算机设备1300的结构示意图。参阅图13所示,计算机设备1300包括:处理器1310、存储器1320、电源1330、显示单元1340、输入单元1360。
107.处理器1310是计算机设备1300的控制中心,利用各种接口和线路连接各个部件,通过运行或执行存储在存储器1320内的软件程序和/或数据,执行计算机设备1300的各种功能,从而对计算机设备1300进行整体监控。本技术实施例中,处理器1310调用存储器1320中存储的计算机程序时执行如图2所述的方法。可选的,处理器1310可包括一个或多个处理单元;优选的,处理器1310可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用等,调制解调处理器主要处理无线通信。在一些实施例中,处理器、存储器、可以在单一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
108.存储器1320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、各种应用等;存储数据区可存储根据计算机设备1300的使用所创建的数据等。此外,存储器1320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件等。
109.计算机设备1300还包括给各个部件供电的电源1330(比如电池),电源可以通过电源管理系统与处理器1310逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
110.显示单元1340可用于显示由用户输入的信息或提供给用户的信息以及计算机设备1300的各种菜单等,本技术实施例中主要用于显示计算机设备1300中各应用的显示界面以及显示界面中显示的文本、图片等对象。显示单元1340可以包括显示面板1350。显示面板1350可以采用液晶显示屏(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置。
111.输入单元1360可用于接收用户输入的数字或字符等信息。输入单元1360可包括触控面板1370以及其他输入设备1380。其中,触控面板1370,也称为触摸屏,可收集用户在其
上或附近的触摸操作(比如用户使用手指、触摸笔等任何适合的物体或附件在触控面板1370上或在触控面板1370附近的操作)。
112.具体的,触控面板1370可以检测用户的触摸操作,并检测触摸操作带来的信号,将这些信号转换成触点坐标,发送给处理器1310,并接收处理器1310发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1370。其他输入设备1380可以包括但不限于物理键盘、功能键(比如音量控制按键、开关机按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
113.当然,触控面板1370可覆盖显示面板1350,当触控面板1370检测到在其上或附近的触摸操作后,传送给处理器1310以确定触摸事件的类型,随后处理器1310根据触摸事件的类型在显示面板1350上提供相应的视觉输出。虽然在图13中,触控面板1370与显示面板1350是作为两个独立的部件来实现计算机设备1300的输入和输出功能,但是在某些实施例中,可以将触控面板1370与显示面板1350集成而实现计算机设备1300的输入和输出功能。
114.计算机设备1300还可包括一个或多个传感器,例如压力传感器、重力加速度传感器、接近光传感器等。当然,根据具体应用中的需要,上述计算机设备1300还可以包括摄像头等其它部件。
115.本技术实施例还提供了一种计算机可读存储介质,该存储介质中存储有指令,当一个或多个处理器执行所述指令时,使得上述设备能够执行本技术中如图2所述的方法。
116.本领域技术人员可以理解的是,图13仅仅是计算机设备的举例,并不构成对该设备的限定,该设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本技术时,可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
117.本领域内的技术人员应明白,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的,应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可应用至通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器中以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
118.上述实施例仅例示性说明本技术的原理及其功效,而非用于限制本技术。任何熟悉此技术的人士皆可在不违背本技术的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本技术所揭示的精神与技术思想下所完
成的一切等效修饰或改变,仍应由本技术的权利要求所涵盖。
技术特征:
1.一种数据归档方法,其特征在于,所述方法包括以下步骤:获取预先或实时生成的数据归档请求;响应于所述数据归档请求,并基于所述数据归档请求的响应结果匹配目标集群,以及创建数据归档调度任务;解析并执行所述数据归档调度任务,将第一数据库中的待归档数据部分归档或全部归档至所述目标集群中。2.根据权利要求1所述的数据归档方法,其特征在于,所述解析并执行所述数据归档调度任务,将第一数据库中的待归档数据部分归档或全部归档至所述目标集群中的过程包括:解析所述数据归档调度任务,并调用第一归档器对所述数据归档调度任务进行归档参数检测;通过所述归档参数读取所述第一数据库中的待归档数据;以及,基于第一归档库和第一归档表执行所述数据归档调度任务,并调用第二归档器将所述待归档数据部分归档或全部归档至所述目标集群中;其中,所述第一归档库和所述第一归档表位于所述目标集群中。3.根据权利要求2所述的数据归档方法,其特征在于,在基于第一归档库和第一归档表执行所述数据归档调度任务前,所述方法还包括:检测所述目标集群中是否存在所述第一归档库和所述第一归档表;若所述目标集群中已存在所述第一归档库和所述第一归档表,则直接基于所述第一归档库和所述第一归档表执行所述数据归档调度任务;若所述目标集群中未存在所述第一归档库和所述第一归档表,则在所述目标集群中自动创建所述第一归档库和所述第一归档表,并在创建完成后,基于所述第一归档库和所述第一归档表执行所述数据归档调度任务。4.根据权利要求2所述的数据归档方法,其特征在于,所述解析所述数据归档调度任务的过程包括:将所述数据归档调度任务存储至第一数据库中,形成任务队列;解析所述任务队列中的数据归档调度任务,并将所述数据归档调度任务分发至任务管理器;利用所述任务管理器对每个数据归档调度任务进行拆分,将每个数据归档调度任务拆分为多个任务子进程,以使所述第一归档器对每个任务子进程进行归档参数检测。5.根据权利要求1所述的数据归档方法,其特征在于,在解析并执行所述数据归档调度任务前,所述方法还包括:接收目标对象在第一配置界面生成的操作指令;响应于所述操作指令,设置所述数据回档调度任务的解析方式和执行方式;其中,所述解析方式包括以下至少之一:手动解析、定时解析、周期解析;所述执行方式包括以下至少之一:手动执行、定时执行、周期执行。6.根据权利要求1至5中任一所述的数据归档方法,其特征在于,在执行所述数据归档调度任务时,所述方法还包括:通过网页套接字监控所述数据归档调度任务的执行百分比;
将第一时刻下的执行百分比和第二时刻下的执行百分比进行比对;其中,所述第一时刻早于第二时刻;若第一时刻下的执行百分比大于或等于第二时刻下的执行百分比,则判定所述数据归档调度任务为执行异常,并发出异常告警信息;若第一时刻下的执行百分比小于第二时刻下的执行百分比,则判定所述数据归档调度任务为执行正常,并继续监控所述数据归档调度任务的执行百分比,直至所述数据归档调度任务执行结束。7.根据权利要求6所述的数据归档方法,其特征在于,在所述数据归档调度任务执行结束后,所述方法还包括:获取所述数据归档调度任务的总执行时间,记为实际执行时间;将所述实际执行时间与预设执行时间进行比对;若所述实际执行时间小于或等于所述预设执行时间,则标记当前数据归档调度任务为正常归档任务;若所述实际执行时间大于所述预设执行时间,则标记当前数据归档调度任务为异常归档任务。8.一种数据归档装置,其特征在于,所述装置包括有:数据采集模块,用于获取预先或实时生成的数据归档请求;请求响应模块,用于响应于所述数据归档请求,并基于所述数据归档请求的响应结果匹配目标集群,以及创建数据归档调度任务;数据归档模块,用于解析并执行所述数据归档调度任务,将第一数据库中的待归档数据部分归档或全部归档至所述目标集群中。9.一种计算机设备,其特征在于,包括:处理器;和,存储有指令的计算机可读介质,当所述处理器执行所述指令时,使得所述设备执行如权利要求1至7中任意一项所述的方法。10.一种计算机可读介质,其特征在于,其上存储有指令,所述指令由处理器加载并执行如权利要求1至7中任意一项所述的方法。
技术总结
本申请提供一种数据归档方法、装置、设备及计算机可读介质,涉及计算机领域和数字医疗领域,该方法包括:获取数据归档请求,然后响应于数据归档请求,并基于响应结果匹配目标集群,以及创建数据归档调度任务;解析并执行数据归档调度任务,将第一数据库中的待归档数据部分归档或全部归档至目标集群中。本申请通过获取并响应数据归档请求,然后将第一数据库中的待归档数据部分归档或全部归档至目标集群中,可以对第一数据库中的待归档数据实现自动化归档。通过自动化归档,不仅减少了数据库管理员的工作量,而且也降低了人工操作成本。同时,在对待归档数据进行归档时,流程简单规范,方便后期查询历史归档信息,也方便进行监控以及后续审计。及后续审计。及后续审计。
技术研发人员:茹作军
受保护的技术使用者:平安科技(深圳)有限公司
技术研发日:2023.05.11
技术公布日:2023/8/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/