CN108664503A - 一种数据归档方法及装置 - Google Patents
一种数据归档方法及装置 Download PDFInfo
- Publication number
- CN108664503A CN108664503A CN201710201729.9A CN201710201729A CN108664503A CN 108664503 A CN108664503 A CN 108664503A CN 201710201729 A CN201710201729 A CN 201710201729A CN 108664503 A CN108664503 A CN 108664503A
- Authority
- CN
- China
- Prior art keywords
- data
- traffic table
- history lists
- filing
- explained
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据归档方法及装置,该方法用于将业务表中已处理完成的数据迁移到历史表中对数据进行实时归档,其中,在接收用户发出的根据业务需求的业务操作请求之后,所述方法执行如下步骤:创建与业务表结构相同的历史表,并在所述业务表的头部添加对所述历史表的数据归档注解;实时监听对包含所述数据归档注解的所述业务表的操作请求,并收集与执行所述业务表的数据操作有关的操作参数;根据收集的所述操作参数生成执行对所述历史表进行数据操作的SQL语句。本发明通过监听注解的方式,拦截器在拦截之后执行数据归档流程,实现通用的数据实时归档方案,通过对业务表运行时数据与历史数据的解耦,提高了业务数据表的读写性能。
Description
技术领域
本发明涉及计算机领域,具体涉及一种数据归档方法及装置。
背景技术
在大型应用系统中,部分业务表的数据量会随着业务发展而逐渐增长,这样就逐渐严重影响业务表的读写效率。由于已处理完成的数据不会再有写的操作请求,而只需满足用户由于具体业务对业务表的查询需求,因此可以将业务表中已处理完成的数据迁移至历史表中。
在现有技术中,对迁移数据进行实时归档是根据业务表的数据量决定对业务表的归档方式,从而实现运行数据与历史数据的分离。具体来说,归档方案为如下两个步骤:
第一步:配置调度计划,定时触发执行数据归档任务;
第二步:在数据归档任务中,实时轮询业务表中满足归档条件的数据,并将读取的数据迁移至历史表中,然后清除业务表中已迁移的数据。
虽然这种方式不仅极大地减少了业务表的数据量,而且能够提高应用系统对业务表的读写效率,给用户带来良好的操作体验,但是在实现本发明过程中,发明人发现现有技术中上述的业务数据归档方法至少存在如下问题:
1.根据业务表中的内容,用户需要定制针对各种不同数据的归档任务,因此该数据归档方法的通用性较差。
2.当业务表变更时,历史表与数据归档任务也需要同时变化,因此对应用系统的维护成本较高。
3.由于需要实时轮询业务表中待归档的数据,因此对应用系统的业务表的读写性能影响较大。
发明内容
有鉴于此,本发明实施例提供一种数据归档方法及装置,能够通过注解声明和监听注解的方式,执行数据归档流程,实现通用的数据实时归档。
为实现上述目的,根据本发明的一个方面,提供了一种数据归档方法,所述方法用于将业务表中已处理完成的数据迁移到历史表中对数据进行实时归档,其中,在接收用户发出的根据业务需求的业务操作请求之后,所述方法执行如下步骤:
创建与业务表结构相同的历史表,并在所述业务表的头部添加对所述历史表的数据归档注解;
实时监听对包含所述数据归档注解的所述业务表的操作请求,并收集与执行所述业务表的数据操作有关的操作参数;
根据收集的所述操作参数生成执行对所述历史表进行数据操作的SQL语句。
可选地,该方法还包括:在所述业务表的头部添加对所述历史表的数据归档注解之后,将操作所述业务表和所述历史表的SQL语句放在同一数据库事务中,当出现执行异常时,放弃执行所述数据库事务。
可选地,所述数据归档注解包括:历史实体注解、数据归档注解;
所述操作参数包括:业务数据副本、命名空间、业务操作类型。
本发明实施例还提供一种数据归档装置,所述装置用于将业务表中已处理完成的数据迁移到历史表中对数据进行实时归档,所述装置包括:
数据注解模块,用于创建与业务表结构相同的历史表,并在所述业务表的头部添加对所述历史表的数据归档注解;
数据采集模块,用于实时监听对包含所述数据归档注解的所述业务表的操作请求,并收集与执行所述业务表的数据操作有关的操作参数;
数据生成模块,用于根据收集的所述操作参数生成执行对所述历史表进行数据操作的SQL语句。
可选地,该装置还包括:事务执行模块,用于将操作所述业务表和所述历史表的SQL语句放在同一数据库事务中,当出现执行异常时,放弃执行所述数据库事务。
可选地,所述数据归档注解包括:历史实体注解、数据归档注解;
所述操作参数包括:业务数据副本、命名空间、业务操作类型。
本发明实施例还提供一种电子设备,其中该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-3中任一项所述的方法。
本发明实施例再提供一种非暂态计算机可读存储介质,其中,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1-3中任一项所述的方法。
上述发明中的一个实施例具有如下优点或有益效果:
本发明通过监听注解的方式,拦截器在拦截之后执行数据归档流程,实现通用的数据实时归档方案,通过对业务表运行时数据与历史数据的解耦,提高了业务数据表的读写性能。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是根据本发明实施例的数据归档方法的流程示意图;
图2是根据本发明实施例的数据归档装置的结构示意图;
图3是根据本发明实施例的数据归档方法的电子设备的硬件结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
如图1所示,为根据本发明实施例的数据归档方法的流程示意图。该方法用于将业务表中已处理完成的数据迁移到历史表中对数据进行实时归档,其中,在接收用户发出的根据业务需求的业务操作请求之后,执行如下步骤:
步骤S101:创建与业务表结构相同的历史表,并在所述业务表的头部添加对所述历史表的数据归档注解;
步骤S102:实时监听对包含所述数据归档注解的所述业务表的操作请求,并收集与执行所述业务表的数据操作有关的操作参数;
步骤S103:根据收集的所述操作参数生成执行对所述历史表进行数据操作的SQL语句。
可选地,该方法还包括:在所述业务表的头部添加对所述历史表的数据归档注解之后,将操作所述业务表和所述历史表的SQL语句放在同一数据库事务中,当出现执行异常时,放弃执行所述数据库事务。
可选地,所述数据归档注解包括:历史实体注解、数据归档注解;
所述操作参数包括:业务数据副本、命名空间、业务操作类型。
实施例
下面结合一个具体实施例对本发明进行具体描述,然而值得注意的是该具体实施例仅是为了更好地描述本发明,并不构成对本发明的不当限定。
首先,在应用系统的需求分析阶段,根据具体的业务场景来决定是否需要归档,然后为需要归档的业务表创建相同结构的历史表。具体来说,通过两个核心注解(如表1历史实体、表2数据归档),在业务实体(业务表的映射)头部添加历史实体(历史表的映射)注解,并且为需要归档的操作方法上添加数据归档注解。
表1
表2
其次,实时监听对包含数据归档注解的业务表的操作请求,并收集与执行业务表的数据操作有关的操作参数。
在本发明的一实施例中,在所述业务表的头部添加对所述历史表的数据归档注解之后,将操作所述业务表和所述历史表的SQL语句放在同一数据库事务中,当出现执行异常时,放弃执行所述数据库事务,从而避免出现脏数据,有效保证业务表与历史表中数据的一致性。
具体来说,当带有数据归档注解的方法接收到业务的对数据库的增删改查的操作请求之后,利用拦截器拦截该操作请求,然后进入数据归档流程,收集与执行业务表的数据操作有关的操作参数,即业务数据副本、命名空间、操作类型。
最后,根据收集的所述操作参数生成执行对所述历史表进行数据操作的SQL语句。
具体来说,收集这三个核心操作参数生成执行历史表数据操作的SQL语句,其中对核心操作参数的搜集方式分别为:业务数据副本:通过方法参数中业务实体参数来生成业务数据副本;命名空间:在历史实体的注解中获取;操作类型:在数据归档注解中获取。
在生成执行历史表数据操作的SQL语句之后,执行该历史表数据操作的SQL语句,退出拦截器并提交关闭事务,返回执行结果。
如图2所示,为根据本发明实施例的数据归档装置的结构示意图,该装置用于将业务表中已处理完成的数据迁移到历史表中对数据进行实时归档,其中,所述装置2包括:
数据注解模块21,用于创建与业务表结构相同的历史表,并在所述业务表的头部添加对所述历史表的数据归档注解;
数据采集模块22,用于实时监听对包含所述数据归档注解的所述业务表的操作请求,并收集与执行所述业务表的数据操作有关的操作参数;
数据生成模块23,用于根据收集的所述操作参数生成执行对所述历史表进行数据操作的SQL语句。
可选地,该装置还包括:事务执行模块24,用于将操作所述业务表和所述历史表的SQL语句放在同一数据库事务中,当出现执行异常时,放弃执行所述数据库事务。
可选地,所述数据归档注解包括:历史实体注解、数据归档注解;
所述操作参数包括:业务数据副本、命名空间、业务操作类型。
由于本发明提供的数据归档装置是上述方法对应的装置,故不在此赘述。
根据本发明的实施例,本发明还提供了一种电子设备和一种可读存储介质。
本发明的电子设备3包括:至少一个处理器31;以及,与所述至少一个处理器31通信连接的存储器32;其中,所述存储器32存储有可被所述一个处理器31执行的指令,所述指令被所述至少一个处理器31执行,以使所述至少一个处理器31执行本发明所提供的数据归档方法。
本发明的非暂态计算机可读存储介质4,所述非暂态计算机可读存储介质4存储计算机指令,所述计算机指令用于使所述计算机执行本发明所提供的数据归档方法。
如图3所示,是根据本发明实施例的数据归档方法的电子设备的硬件结构示意图。如图3,该电子设备3包括:一个或多个处理器31以及存储器32,图3中以一个处理器31为例。其中,存储器32即为本发明所提供的非暂态计算机可读存储介质。
数据归档方法的电子设备还可以包括:输入装置33和输出装置34。处理器31、存储器32、输入装置33和输出装置34可以通过总线或者其他方式连接,图3中以通过总线连接为例。存储器32作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的数据归档方法对应的程序指令/模块。处理器31通过运行存储在存储器32中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的数据归档方法。存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据归档装置的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至数据归档装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。输入装置33可接收输入的数字或字符信息,以及产生与数据归档装置的用户设置以及功能控制有关的键信号输入。输出装置34可包括显示屏等显示设备。所述一个或者多个模块存储在所述存储器32中,当被所述一个或者多个处理器31执行时,执行上述任意方法实施例中的数据归档方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
根据本发明实施例的技术方案通过监听注解的方式,拦截器在拦截之后执行数据归档流程,实现通用的数据实时归档方案,同时,由于取消了调度任务,避免实时轮询对业务表造成的性能影响。通过对业务表运行时数据与历史数据的解耦,提高了业务数据表的读写性能。
另外,由于本发明的技术方案不在需要定制研发数据归档任务,因此还解决了针对不同应用环境下的实现数据归档的通用性问题。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (8)
1.一种数据归档方法,所述方法用于将业务表中已处理完成的数据迁移到历史表中对数据进行实时归档,其特征在于,在接收用户发出的根据业务需求的业务操作请求之后,所述方法执行如下步骤:
创建与业务表结构相同的历史表,并在所述业务表的头部添加对所述历史表的数据归档注解;
实时监听对包含所述数据归档注解的所述业务表的操作请求,并收集与执行所述业务表的数据操作有关的操作参数;
根据收集的所述操作参数生成执行对所述历史表进行数据操作的SQL语句。
2.根据权利要求1所述的方法,其特征在于,还包括:在所述业务表的头部添加对所述历史表的数据归档注解之后,将操作所述业务表和所述历史表的SQL语句放在同一数据库事务中,当出现执行异常时,放弃执行所述数据库事务。
3.根据权利要求1所述的方法,其特征在于,所述数据归档注解包括:历史实体注解、数据归档注解;
所述操作参数包括:业务数据副本、命名空间、业务操作类型。
4.一种数据归档装置,所述装置用于将业务表中已处理完成的数据迁移到历史表中对数据进行实时归档,其特征在于,所述装置包括:
数据注解模块,用于创建与业务表结构相同的历史表,并在所述业务表的头部添加对所述历史表的数据归档注解;
数据采集模块,用于实时监听对包含所述数据归档注解的所述业务表的操作请求,并收集与执行所述业务表的数据操作有关的操作参数;
数据生成模块,用于根据收集的所述操作参数生成执行对所述历史表进行数据操作的SQL语句。
5.根据权利要求4所述的装置,其特征在于,还包括:
事务执行模块,用于将操作所述业务表和所述历史表的SQL语句放在同一数据库事务中,当出现执行异常时,放弃执行所述数据库事务。
6.根据权利要求4所述的装置,其特征在于,所述数据归档注解包括:历史实体注解、数据归档注解;
所述操作参数包括:业务数据副本、命名空间、业务操作类型。
7.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-3中任一项所述的方法。
8.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1-3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710201729.9A CN108664503B (zh) | 2017-03-30 | 2017-03-30 | 一种数据归档方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710201729.9A CN108664503B (zh) | 2017-03-30 | 2017-03-30 | 一种数据归档方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108664503A true CN108664503A (zh) | 2018-10-16 |
CN108664503B CN108664503B (zh) | 2021-01-26 |
Family
ID=63786707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710201729.9A Active CN108664503B (zh) | 2017-03-30 | 2017-03-30 | 一种数据归档方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108664503B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143450A (zh) * | 2019-12-13 | 2020-05-12 | 远光软件股份有限公司 | 导入数据的方法和装置 |
CN113448939A (zh) * | 2020-03-24 | 2021-09-28 | 北京有限元科技有限公司 | 数据归档存储的方法、装置以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090217363A1 (en) * | 2002-12-11 | 2009-08-27 | Medversant Technologies, Inc. | Electronic credentials verification and management system |
CN104462056A (zh) * | 2013-09-17 | 2015-03-25 | 国际商业机器公司 | 基于深度文档分析的主动知识指导 |
CN104536809A (zh) * | 2014-11-26 | 2015-04-22 | 上海瀚之友信息技术服务有限公司 | 一种基于客户端、服务器系统的分布式定时任务调度系统 |
CN104885077A (zh) * | 2012-09-28 | 2015-09-02 | 甲骨文国际公司 | 利用归档的关系管理连续查询 |
US20160275642A1 (en) * | 2015-03-18 | 2016-09-22 | Hitachi, Ltd. | Video analysis and post processing of multiple video streams |
CN106126753A (zh) * | 2016-08-23 | 2016-11-16 | 易联众信息技术股份有限公司 | 基于大数据的增量抽取的方法 |
-
2017
- 2017-03-30 CN CN201710201729.9A patent/CN108664503B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090217363A1 (en) * | 2002-12-11 | 2009-08-27 | Medversant Technologies, Inc. | Electronic credentials verification and management system |
CN104885077A (zh) * | 2012-09-28 | 2015-09-02 | 甲骨文国际公司 | 利用归档的关系管理连续查询 |
CN104462056A (zh) * | 2013-09-17 | 2015-03-25 | 国际商业机器公司 | 基于深度文档分析的主动知识指导 |
CN104536809A (zh) * | 2014-11-26 | 2015-04-22 | 上海瀚之友信息技术服务有限公司 | 一种基于客户端、服务器系统的分布式定时任务调度系统 |
US20160275642A1 (en) * | 2015-03-18 | 2016-09-22 | Hitachi, Ltd. | Video analysis and post processing of multiple video streams |
CN106126753A (zh) * | 2016-08-23 | 2016-11-16 | 易联众信息技术股份有限公司 | 基于大数据的增量抽取的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143450A (zh) * | 2019-12-13 | 2020-05-12 | 远光软件股份有限公司 | 导入数据的方法和装置 |
CN113448939A (zh) * | 2020-03-24 | 2021-09-28 | 北京有限元科技有限公司 | 数据归档存储的方法、装置以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108664503B (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Narkhede et al. | Kafka: the definitive guide: real-time data and stream processing at scale | |
US11182404B2 (en) | Data replication technique in database management system | |
US9336288B2 (en) | Workflow controller compatibility | |
US10025802B2 (en) | Automated configuration of log-coordinated storage groups | |
Shi et al. | Mrtuner: a toolkit to enable holistic optimization for mapreduce jobs | |
CN108536761A (zh) | 报表数据查询方法及服务器 | |
US20160086260A1 (en) | Lifecycle transitions in log-coordinated data stores | |
CN103729442A (zh) | 记录事务日志的方法和数据库引擎 | |
CN104657497A (zh) | 一种基于分布式计算的海量用电信息并行计算系统及方法 | |
WO2019109854A1 (zh) | 分布式数据库数据处理方法、装置、存储介质及电子装置 | |
CN102355499B (zh) | 云计算系统 | |
CN107133231B (zh) | 一种数据获取方法和装置 | |
WO2021238902A1 (zh) | 数据导入方法、装置、服务平台及存储介质 | |
CN112685499A (zh) | 一种工作业务流的流程数据同步方法、装置及设备 | |
CN114297173A (zh) | 一种面向大规模海量数据的知识图谱构建方法和系统 | |
CN110851234A (zh) | 基于docker容器的日志处理方法及装置 | |
CN114090580A (zh) | 数据处理方法、装置、设备、存储介质及产品 | |
CN113282611A (zh) | 一种流数据同步的方法、装置、计算机设备及存储介质 | |
Fang et al. | Integrating workload balancing and fault tolerance in distributed stream processing system | |
CN108664503A (zh) | 一种数据归档方法及装置 | |
CN112559525B (zh) | 数据检查系统、方法、装置和服务器 | |
US20100106749A1 (en) | Reorganizing table-based data objects | |
CN108696559B (zh) | 流处理方法及装置 | |
WO2024103898A1 (zh) | 数据库集群管理的方法和装置 | |
CN113760638A (zh) | 一种基于kubernetes集群的日志服务方法和装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |