CN110019131A - 一种复盘业务的方法和装置 - Google Patents
一种复盘业务的方法和装置 Download PDFInfo
- Publication number
- CN110019131A CN110019131A CN201711293412.9A CN201711293412A CN110019131A CN 110019131 A CN110019131 A CN 110019131A CN 201711293412 A CN201711293412 A CN 201711293412A CN 110019131 A CN110019131 A CN 110019131A
- Authority
- CN
- China
- Prior art keywords
- discs
- business
- segment
- load
- business datum
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- 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/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种复盘业务的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:将备份的待复盘业务各时段的业务数据加载到本地数据库;确定监听到有加载完成的相应时段的业务数据,经过切面程序从所述本地数据库读取所述相应时段的业务数据;根据读取到的所述相应时段的业务数据,按照所述待复盘业务的业务逻辑执行复盘业务的操作。能够减小复盘时复盘系统逻辑与原系统逻辑的差异性,使得复盘系统逻辑与原系统逻辑一致,从而无需克隆业务,提高系统逻辑复原的准确性和复盘结果的可靠性,大大降低系统复盘的难度,省去复盘前的数据准备工作,节省大量时间,提高数据访问速度,提升系统复盘效率和复盘的整体性能。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种复盘业务的方法和装置。
背景技术
复盘一词经常用于围棋、股票分析中,是对历史事件的重新推演与总结以便从中发现问题并优化的一种方式。在SSM系统(基于Spring、Spring MVC、Mybatis开发的J2EE系统)中,复盘业务指对SSM系统的历史业务进行重新推演和总结。采用SSM框架的系统中常有各种各样的配置参数设置会影响到系统考核指标,通过对系统的历史业务进行复盘可以发现各种参数的优劣,确定最终最优参数。
目前对SSM系统进行复盘一般采用以下方式:开发与SSM系统业务计算逻辑近似逻辑的python版业务代码;生产系统每天0点备份数据到Hive数据仓库中;当需要复盘时从Hive数据仓库中抽取要进行复盘的相关数据到本地机器中;在本地机器中执行python复盘程序进行复盘操作,对复盘结果进行保存。通过重复复盘操作,可以确定最优参数。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
需要按照复杂的SSM系统逻辑重新编写代码,任务量大且还原系统原逻辑困难;
复盘操作是针对业务中的部分场景进行的,每次从HIVE数据仓库中抽取一小部分数据浪费大量时间。
发明内容
有鉴于此,本发明实施例提供一种复盘业务的方法和装置,能够减小复盘时复盘系统逻辑与原系统逻辑的差异性,使得复盘系统逻辑与原系统逻辑一致,从而无需克隆业务,提高系统逻辑复原的准确性和复盘结果的可靠性,大大降低系统复盘的难度,省去复盘前的数据准备工作,节省大量时间,提高数据访问速度,提升系统复盘效率和复盘的整体性能。
为实现上述目的,根据本发明实施例的一个方面,提供了一种复盘业务的方法。
一种复盘业务的方法,包括:将备份的待复盘业务各时段的业务数据加载到本地数据库;确定监听到有加载完成的相应时段的业务数据,经过切面程序从所述本地数据库读取所述相应时段的业务数据;根据读取到的所述相应时段的业务数据,按照所述待复盘业务的业务逻辑执行复盘业务的操作。
可选地,将备份的待复盘业务各时段的业务数据加载到本地数据库的步骤之前,包括:生成所述待复盘业务的上下文对象,所述上下文对象包括复盘状态信息;当监听到所述上下文对象的复盘状态信息指示为启动状态时,创建所述本地数据库。
可选地,将备份的待复盘业务各时段的业务数据加载到本地数据库的步骤,包括:将备份的待复盘业务各时段的业务数据,按照预设的加载策略加载到本地数据库,所述预设的加载策略包括:按时段加载业务数据,其中,设定首次加载的业务数据的时段数为N,自第二次加载起,当加载的所述时段数小于或等于预设的复盘总时段数时,每次加载的所述时段数为当次的前一次加载的所述时段数的预设倍数;当加载的所述时段数大于所述预设的复盘总时段数时,每次加载的所述时段数等于当次的前一次加载的所述时段数,直到最后一次加载时将剩余时段数的业务数据加载完成。
可选地,所述本地数据库为嵌入式数据库。
可选地,所述待复盘业务各时段的业务数据备份于Hbase中。
可选地,按照所述待复盘业务的业务逻辑执行复盘业务的操作的步骤之后,包括:当监听到对应某时段执行复盘业务的操作完成,清理所述本地数据库存储的相应业务数据。
根据本发明实施例的另一方面,提供了一种复盘业务的装置。
一种复盘业务的装置,包括:数据加载模块,用于将备份的待复盘业务各时段的业务数据加载到本地数据库;数据读取模块,用于确定监听到有加载完成的相应时段的业务数据,经过切面程序从所述本地数据库读取所述相应时段的业务数据;复盘执行模块,用于根据读取到的所述相应时段的业务数据,按照所述待复盘业务的业务逻辑执行复盘业务的操作。
可选地,还包括上下文对象生成模块和数据库创建模块,所述上下文对象生成模块用于生成所述待复盘业务的上下文对象,所述上下文对象包括复盘状态信息;所述数据库创建模块用于当监听到所述上下文对象的复盘状态信息指示为启动状态时,创建所述本地数据库。
可选地,所述数据加载模块还用于:将备份的待复盘业务各时段的业务数据,按照预设的加载策略加载到本地数据库,所述预设的加载策略包括:按时段加载业务数据,其中,设定首次加载的业务数据的时段数为N,自第二次加载起,当加载的所述时段数小于或等于预设的复盘总时段数时,每次加载的所述时段数为当次的前一次加载的所述时段数的预设倍数;当加载的所述时段数大于所述预设的复盘总时段数时,每次加载的所述时段数等于当次的前一次加载的所述时段数,直到最后一次加载时将剩余时段数的业务数据加载完成。
可选地,所述本地数据库为嵌入式数据库。
可选地,还包括数据备份模块,用于将所述待复盘业务各时段的业务数据备份于Hbase中。
可选地,还包括数据清理模块,用于:当监听到对应某时段执行复盘业务的操作完成,清理所述本地数据库存储的相应业务数据。
根据本发明实施例的又一方面,提供了一种电子设备。
一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现复盘业务的方法。
根据本发明实施例的又一方面,提供了一种计算机可读介质。
一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现复盘业务的方法。
上述发明中的一个实施例具有如下优点或有益效果:将备份的待复盘业务各时段的业务数据加载到本地数据库;确定监听到有加载完成的相应时段的业务数据,经过切面程序从本地数据库读取相应时段的业务数据;根据读取到的相应时段的业务数据,按照待复盘业务的业务逻辑执行复盘业务的操作。其中,待复盘业务各时段的业务数据备份于Hbase中。本发明实施例经过切面程序从本地数据库读取相应时段的业务数据,实现通过原系统代码进行复盘,减小复盘时复盘系统逻辑与原系统逻辑的差异性,使得复盘系统逻辑与原系统逻辑一致,从而无需克隆业务,提高系统逻辑复原的准确性和复盘结果的可靠性,大大降低系统复盘的难度,此外,采用数据预加载策略从Hbase中随机、实时加载数据,省去了复盘前的数据准备工作,节省大量时间,将嵌入式数据库作为本地数据库,从嵌入式数据库中读取数据,提高了数据访问速度,提升系统复盘效率和复盘的整体性能,在分布式环境中能够大大提高复盘的数据范围与效率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的复盘业务的方法的主要步骤示意图;
图2是根据本发明实施例的复盘业务的装置的主要模块示意图;
图3是根据本发明实施例的经过切面程序访问数据的示意图;
图4是根据本发明实施例复盘业务的系统执行时序图;
图5是本发明实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本发明实施例的服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的复盘业务的方法的主要步骤示意图。
如图1所示,本发明实施例的复盘业务的方法主要包括如下的步骤S101至步骤S103。
步骤S101:将备份的待复盘业务各时段的业务数据加载到本地数据库。
本地数据库可以是嵌入式数据库。嵌入式数据库是一种运行于嵌入式设备上的轻型数据库,通常随着应用程序的启动而启动,随应用程序的退出而终止。本发明实施例的嵌入式数据库可以为H2 Database、SQLite等,它们支持SQL、占用内存小,可以与应用程序一同部署在同一机器中免去网络传输耗时。本发明使用嵌入式数据库作为本地数据库能够提高数据访问速度,从而提高复盘效率。
步骤S101之前,可以生成待复盘业务的上下文对象,该上下文对象包括复盘状态信息;当监听到上下文对象的复盘状态信息指示为启动状态时,创建本地数据库。
创建本地数据库及本地数据库的数据表(简称本地数据表)时,数据表可以按日期分表,表名为原表名+YYYYMMDD,YYYY、MM、DD分别表示年、月、日。例如,一个本地数据表为tableA20170101。
其中,上下文对象还可以包括:要复盘的业务范围、复盘的时间段(复盘的时间段为20151001至20151101期间的某业务)、相关参数等信息。复盘状态信息可以包括整体运行状态、当前复盘日期、某日期数据状态、某日期业务计算状态,某日期结果状态等,其中整体运行状态具体可以包括新建、启动、计算、统计、完成、计算失败、统计失败等状态。某日期数据状态可以包括未准备、已准备、数据错误等,某日期业务计算状态可以包括未计算、计算中、计算错误、计算成功等,某日期结果状态可以包括未统计、统计中、统计失败、统计完成等。
步骤S101具体可以包括:将备份的待复盘业务各时段的业务数据,按照预设的加载策略加载到本地数据库,预设的加载策略包括:按时段加载业务数据,其中,设定首次加载的业务数据的时段数为N,自第二次加载起,当加载的时段数小于或等于预设的复盘总时段数时,每次加载的时段数为当次的前一次加载的时段数的预设倍数;当加载的时段数大于预设的复盘总时段数时,每次加载的时段数等于当次的前一次加载的时段数,直到最后一次加载时将剩余时段数的业务数据加载完成。
预设的复盘总时段数可以是预设的复盘的时间段内的时段总数,例如以一日为一个时段,预设的复盘的时间段为2015年10月1日至2015年10月31日(20151001-20151031),则时段总数为31日,可设置N为1,则第二次加载2日的数据,第三次加载4日的数据,第四次加载8日的数据,第五次加载16日的数据。
待复盘业务各时段的业务数据可以备份于Hbase中,HBase是建立在Hadoop(由Apache基金会所开发的分布式系统基础架构)文件系统之上的一个分布式的、面向列的开源数据库,是以Key/Value(键/值)形式存储数据的数据库系统。将备份的待复盘业务各时段的业务数据加载到本地数据库,可以是将备份于该Hbase中的待复盘业务各时段的业务数据加载到本地数据库。
由于Hbase是No SQL数据库,可以实现毫秒级的数据查询,可以省去复盘前的数据准备工作,与现有技术从从Hive(分钟级到小时级的数据查询)中加载数据相比,具有能够实时加载数据、节省大量时间、提升整体复盘性能等优势。
步骤S102:确定监听到有加载完成的相应时段的业务数据,经过切面程序从本地数据库读取相应时段的业务数据。
切面程序是在程序运行时,将代码动态地切入到类的指定方法或指定位置上的程序代码。在本发明中,切面程序用于在不修改业务逻辑代码的同时,修改业务逻辑代码所要访问的数据源。
本发明实施例经过切面程序从本地数据库读取相应时段的业务数据,使得无需修改系统的业务逻辑代码,也无需克隆业务,而实现使用原业务逻辑代码进行复盘,保证了复盘的业务逻辑与原系统一致,从而提高复盘结果的可靠性。
采用预加载的数据加载策略,即将备份的待复盘业务各时段的业务数据,按照预设的加载策略加载到本地数据库,并监听是否有数据是否加载完成,当有数据加载完成时即经过切面程序从本地数据库读取加载完成的数据,大大提高了复盘的效率,并可在分布式环境中大大提高复盘的数据范围。
步骤S103:根据读取到的相应时段的业务数据,按照待复盘业务的业务逻辑执行复盘业务的操作。
步骤S103之后,当监听到对应某时段执行复盘业务的操作完成,可以清理本地数据库存储的相应业务数据。
本发明实施例的复盘业务的方法可以用于复盘SSM系统的业务,还可以用于复盘其他通过SQL语句访问关系型数据库来读取执行业务逻辑所需数据的业务系统的业务,并且可以应用于分布式环境中。
图2是根据本发明实施例的复盘业务的装置的主要模块示意图。
如图2所示,本发明实施例的复盘业务的装置200主要包括:数据加载模块201、数据读取模块202、复盘执行模块203。
数据加载模块201用于将备份的待复盘业务各时段的业务数据加载到本地数据库。
本地数据库可以是嵌入式数据库。
具体地,数据加载模块201将备份的待复盘业务各时段的业务数据,按照预设的加载策略加载到本地数据库,预设的加载策略包括:按时段加载业务数据,其中,设定首次加载的业务数据的时段数为N,自第二次加载起,当加载的时段数小于或等于预设的复盘总时段数时,每次加载的时段数为当次的前一次加载的时段数的预设倍数;当加载的时段数大于预设的复盘总时段数时,每次加载的时段数等于当次的前一次加载的时段数,直到最后一次加载时将剩余时段数的业务数据加载完成。
复盘业务的装置200还可以包括数据备份模块,用于将待复盘业务各时段的业务数据备份于Hbase中。
数据读取模块202用于确定监听到有加载完成的相应时段的业务数据,经过切面程序从本地数据库读取相应时段的业务数据。
复盘执行模块203用于根据读取到的相应时段的业务数据,按照待复盘业务的业务逻辑执行复盘业务的操作。
复盘业务的装置200还可以包括上下文对象生成模块和数据库创建模块,上下文对象生成模块用于生成待复盘业务的上下文对象,该上下文对象包括复盘状态信息;数据库创建模块用于当监听到上下文对象的复盘状态信息指示为启动状态时,创建本地数据库。
复盘业务的装置200还可以包括数据清理模块,用于:当监听到对应某时段执行复盘业务的操作完成,清理本地数据库存储的相应业务数据。
本发明实施例的复盘业务的装置200的上述各模块可以基于程序模块来实现,具体地,可以通过备份程序模块来实现数据备份模块的功能。备份程序模块可以每天0点将SSM系统的相关数据表中数据备份到Hbase中。具体地,针对数据量小的维度表可以备份到一张表中,rowkey(Hbase表的行主键)设计可以为“日期#表名#UUID”,针对数据量大的表可以存储到各自的表中,有主键的表rowkey可以设计为“日期#XXX#ID”,没有主键的表rowkey可以设计为“日期#XXX#UUID”,XXX代表能够用于过滤的字段,方便数据加载时过滤,并创建对应Hbase表与关系表的对应关系。SSM系统采用关系型数据库比如MySQL存储业务数据,关系表具体可以是MySQL等关系型数据库中的业务数据表,Hbase表与关系表的对应关系例如:Hbasetable1对应MySQLtable1。
可以通过主程序模块来实现上下文对象生成模块的功能。主程序模块可以负责驱动整体复盘流程及各个程序模块的通信。主程序模块启动复盘流程并生成上下文对象,上下文对象具体可以包含复盘状态信息、要复盘的业务范围、复盘的时间段(复盘的时间段为20151001至20151101期间的某业务)、相关参数等信息。复盘状态信息可以包括整体运行状态、当前复盘日期、某日期数据状态、某日期业务计算状态,某日期结果状态等,其中整体运行状态具体可以包括新建、启动、计算、统计、完成、计算失败、统计失败等状态。某日期数据状态可以包括未准备、已准备、数据错误等,某日期业务计算状态可以包括未计算、计算中、计算错误、计算成功等,某日期结果状态可以包括未统计、统计中、统计失败、统计完成等。
可以通过预加载程序模块来实现数据库创建模块和数据加载模块201的功能,预加载程序模块可以作为上下文对象的后台观察者负责嵌入式数据库、数据库表的创建与数据预加载工作。预加载程序模块观察到上下文对象的复盘状态信息指示为启动状态后,预加载程序创建对应数据库及数据表,数据表可以按日期分表,表名为原表名+YYYYMMDD,YYYY、MM、DD分别表示年、月、日。然后开始按预设的加载策略,以及Hbase表与业务系统表的对应关系加载数据,部分日期的数据加载完成后便通知主程序对上下文对象更改状态。可以采用的预设的加载策略为按日期数加载业务数据(业务数据可简称数据),即,第一次加载1日的数据,第二次加载2日的数据,第三次加载4日的数据,以此类推,每次加载当次的上一次的2倍日期数,当加载数据的日期数大于总复盘日期数的一半时,采用当次的上一次加载日期数来加载数据,该策略可以保证复盘计算优先开始和访问Hbase次数不会过多。例如,复盘50日的业务,则按照上述的加载策略,每次加载如下日期数的数据:1日、2日、4日、8日、16日、16日、3日,最后一次尝试加载16日数据,由于最后一次只剩余3日的数据没有被加载,因此最后一次实际只加载3日的数据。
还可以通过主程序模块与业务逻辑程序模块相结合实现复盘执行模块203的功能。执行复盘业务的操作时,主程序模块调用业务逻辑程序模块的业务逻辑,以便按照待复盘业务的业务逻辑执行复盘业务的操作。业务逻辑程序实现固定模板接口供主程序调用,固定模板接口包括:
+init()
+getContext()
+beforeEveryCalc()
+doEveryCalc()
+afterEveryCalc()
+clear()
其中,在init方法中完成对象初始化工作,通过getContext方法获取上下文对象,beforeEveryCalc方法负责每天复盘前的准备工作,doEveryCalc方法调用业务计算逻辑,底层访问嵌入式数据库数据,afterEveryCalc方法完成每天业务逻辑后的工作,clear方法完成整体复盘后的清理工作。
在执行复盘业务的操作之前,可以通过主程序模块结合切面拦截程序模块(可简称切面程序模块)实现数据读取模块202的功能。主程序模块监听预加载程序模块返回的数据加载进度,当监听到有时段的数据加载完成时,调用业务逻辑程序模块执行业务逻辑时经过切面程序模块访问本地嵌入式数据库中的数据。切面程序模块可以从JDBC(JavaDataBase Connectivity,java数据库连接)驱动程序切入逻辑程序的数据库访问,JDBC驱动程序用于实现JDBC API定义的接口和数据库服务器交互。图3是根据本发明实施例的经过切面程序访问数据的示意图。如图3所示,虚线框I中为SSM系统的业务逻辑源程序访问数据的示意图,SSM系统在执行业务逻辑时,业务逻辑源程序通过SQL语句直接访问数据表I,根据本发明实施例,在执行复盘操作时,可以采用SSM系统原有的业务逻辑源程序作为复盘程序,经过切面程序来访问嵌入式数据库中的数据,经过切面程序访问数据的示意图如虚线框II所示。切面程序首先判断数据是否被预加载,并在预加载完成后进行SQL解析识别出业务逻辑程序模块要访问的数据表,然后将该要访问的数据表替换对应复盘日期的时间分表。如复盘日期为2017年1月1日,SQL语句为select*from tableA,通过切面程序解析后SQL语句变为select*from tableA20170101,并执行返回对应的数据。其中,tableA为原业务逻辑访问的数据库表,tableA20170101为本地嵌入式数据库的数据表。
本发明实施例通过使用本地嵌入式数据库从Hbase加载数据,并利用切面程序访问本地嵌入式数据库中的数据,克服了现有技术通过SQL无法直接读取本地数据的缺陷,实现了采用原SSM系统的业务逻辑代码从本地嵌入式数据库获取执行业务逻辑所需的业务数据,来进行复盘,复盘的业务逻辑与原系统逻辑一致,从而无需克隆业务,提高系统逻辑复原的准确性和复盘结果的可靠性,提高数据访问速度,大大降低系统复盘的难度,省去了复盘前的数据准备工作,且采用数据预加载策略大大提升了复盘效率。
可以通过清理程序模块实现数据清理模块的功能。清理程序模块可通过观察上下文对象中的复盘日期来判断是否进行数据清理操作。数据清理操作会删除嵌入式数据库中复盘完成的数据表以腾出空间,例如可通过drop语句把整个数据表去掉。
图4是根据本发明实施例复盘业务的系统执行时序图。
如图4所示,主程序模块启动复盘流程并生成上下文对象,上下文对象具体可以包含复盘状态信息、要复盘的业务范围、复盘的时间段、相关参数等信息,预加载程序模块作为上下文对象的后台观察者监控上下文对象的整体运行状态,当上下文对象为启动状态时,创建嵌入式数据库、数据库表,并进行数据预加载工作。主程序模块监听预加载程序模块返回的数据加载进度,当监听到有时段的数据加载完成时,调用业务逻辑程序模块执行业务逻辑,其中执行业务逻辑时,业务逻辑程序经过切面程序模块访问本地嵌入式数据库中的数据,以便利用本地嵌入式数据库中的数据进行相应的业务逻辑计算,业务逻辑程序模块将计算结果返回主程序模块,当某个时段(例如某一日)的业务复盘结束,清理程序模块清理相应的本地嵌入式数据库中相应的数据,然后清理程序模块向主程序模块返回清理完毕的消息,以便主程序模块更新上下文对象的相应状态。
在本发明实施例中复盘业务的装置的具体实施内容也适用于本发明实施例的复盘业务的方法。
本发明实施例将嵌入式数据库作为本地数据库用于系统复盘模拟,提高了数据访问速度,经过切面程序访问本地数据库(如本地嵌入式数据库)解决了传统复盘中需要克隆业务的问题,大大降低了系统复盘的难度,提高了系统逻辑复原的准确性,另外采用Hbase作为数据存储仓库,省去了复盘前的数据准备工作,采用预加载策略大大提升了复盘的效率,在分布式环境中大大提高复盘的数据范围与效率。
图5示出了可以应用本发明实施例的复盘业务的方法或复盘业务的装置的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息)反馈给终端设备。
需要说明的是,本发明实施例所提供的复盘业务的方法一般由服务器505执行,相应地,复盘业务的装置一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本申请实施例的服务器的计算机系统600的结构示意图。图6示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括数据加载模块201、数据读取模块202、复盘执行模块203。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,数据加载模块201还可以被描述为“用于将备份的待复盘业务各时段的业务数据加载到本地数据库的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:将备份的待复盘业务各时段的业务数据加载到本地数据库;确定监听到有加载完成的相应时段的业务数据,经过切面程序从所述本地数据库读取所述相应时段的业务数据;根据读取到的所述相应时段的业务数据,按照所述待复盘业务的业务逻辑执行复盘业务的操作。
根据本发明实施例的技术方案,将备份的待复盘业务各时段的业务数据加载到本地数据库;确定监听到有加载完成的相应时段的业务数据,经过切面程序从本地数据库读取相应时段的业务数据;根据读取到的相应时段的业务数据,按照待复盘业务的业务逻辑执行复盘业务的操作。其中,待复盘业务各时段的业务数据备份于Hbase中。本发明实施例经过切面程序从本地数据库读取相应时段的业务数据,实现通过原SSM系统代码进行复盘,减小复盘时复盘系统逻辑与原SSM系统逻辑的差异性,使得复盘系统逻辑与原系统逻辑一致,从而无需克隆业务,提高系统逻辑复原的准确性和复盘结果的可靠性,大大降低系统复盘的难度,此外,采用数据预加载策略从Hbase中随机、实时加载数据,省去了复盘前的数据准备工作,节省大量时间,将嵌入式数据库作为本地数据库,从嵌入式数据库中读取数据,提高了数据访问速度,提升系统复盘效率和复盘的整体性能,在分布式环境中能够大大提高复盘的数据范围与效率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (14)
1.一种复盘业务的方法,其特征在于,包括:
将备份的待复盘业务各时段的业务数据加载到本地数据库;
确定监听到有加载完成的相应时段的业务数据,经过切面程序从所述本地数据库读取所述相应时段的业务数据;
根据读取到的所述相应时段的业务数据,按照所述待复盘业务的业务逻辑执行复盘业务的操作。
2.根据权利要求1所述的方法,其特征在于,将备份的待复盘业务各时段的业务数据加载到本地数据库的步骤之前,包括:
生成所述待复盘业务的上下文对象,所述上下文对象包括复盘状态信息;
当监听到所述上下文对象的复盘状态信息指示为启动状态时,创建所述本地数据库。
3.根据权利要求1所述的方法,其特征在于,将备份的待复盘业务各时段的业务数据加载到本地数据库的步骤,包括:
将备份的待复盘业务各时段的业务数据,按照预设的加载策略加载到本地数据库,所述预设的加载策略包括:按时段加载业务数据,其中,
设定首次加载的业务数据的时段数为N,
自第二次加载起,当加载的所述时段数小于或等于预设的复盘总时段数时,每次加载的所述时段数为当次的前一次加载的所述时段数的预设倍数;当加载的所述时段数大于所述预设的复盘总时段数时,每次加载的所述时段数等于当次的前一次加载的所述时段数,直到最后一次加载时将剩余时段数的业务数据加载完成。
4.根据权利要求1所述的方法,其特征在于,所述本地数据库为嵌入式数据库。
5.根据权利要求1所述的方法,其特征在于,所述待复盘业务各时段的业务数据备份于Hbase中。
6.根据权利要求1所述的方法,其特征在于,按照所述待复盘业务的业务逻辑执行复盘业务的操作的步骤之后,包括:
当监听到对应某时段执行复盘业务的操作完成,清理所述本地数据库存储的相应业务数据。
7.一种复盘业务的装置,其特征在于,包括:
数据加载模块,用于将备份的待复盘业务各时段的业务数据加载到本地数据库;
数据读取模块,用于确定监听到有加载完成的相应时段的业务数据,经过切面程序从所述本地数据库读取所述相应时段的业务数据;
复盘执行模块,用于根据读取到的所述相应时段的业务数据,按照所述待复盘业务的业务逻辑执行复盘业务的操作。
8.根据权利要求7所述的装置,其特征在于,还包括上下文对象生成模块和数据库创建模块,
所述上下文对象生成模块用于生成所述待复盘业务的上下文对象,所述上下文对象包括复盘状态信息;
所述数据库创建模块用于当监听到所述上下文对象的复盘状态信息指示为启动状态时,创建所述本地数据库。
9.根据权利要求7所述的装置,其特征在于,所述数据加载模块还用于:
将备份的待复盘业务各时段的业务数据,按照预设的加载策略加载到本地数据库,所述预设的加载策略包括:按时段加载业务数据,其中,
设定首次加载的业务数据的时段数为N,
自第二次加载起,当加载的所述时段数小于或等于预设的复盘总时段数时,每次加载的所述时段数为当次的前一次加载的所述时段数的预设倍数;当加载的所述时段数大于所述预设的复盘总时段数时,每次加载的所述时段数等于当次的前一次加载的所述时段数,直到最后一次加载时将剩余时段数的业务数据加载完成。
10.根据权利要求7所述的装置,其特征在于,所述本地数据库为嵌入式数据库。
11.根据权利要求7所述的装置,其特征在于,还包括数据备份模块,用于将所述待复盘业务各时段的业务数据备份于Hbase中。
12.根据权利要求7所述的装置,其特征在于,还包括数据清理模块,用于:
当监听到对应某时段执行复盘业务的操作完成,清理所述本地数据库存储的相应业务数据。
13.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711293412.9A CN110019131B (zh) | 2017-12-08 | 2017-12-08 | 一种复盘业务的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711293412.9A CN110019131B (zh) | 2017-12-08 | 2017-12-08 | 一种复盘业务的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110019131A true CN110019131A (zh) | 2019-07-16 |
CN110019131B CN110019131B (zh) | 2021-10-15 |
Family
ID=67185961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711293412.9A Active CN110019131B (zh) | 2017-12-08 | 2017-12-08 | 一种复盘业务的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110019131B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781161A (zh) * | 2019-09-12 | 2020-02-11 | 平安医疗健康管理股份有限公司 | 业务数据的处理方法及装置 |
CN112734571A (zh) * | 2020-12-30 | 2021-04-30 | 深圳市富途网络科技有限公司 | 复盘模板生成笔记的方法及相关产品 |
CN115455015A (zh) * | 2022-08-08 | 2022-12-09 | 中亿(深圳)信息科技有限公司 | 一种海量数据存储方法以及装置、存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060184410A1 (en) * | 2003-12-30 | 2006-08-17 | Shankar Ramamurthy | System and method for capture of user actions and use of capture data in business processes |
CN101702163A (zh) * | 2009-11-19 | 2010-05-05 | 福建鑫诺通讯技术有限公司 | 基于SQLite数据库的数据转换方法 |
CN102721430A (zh) * | 2012-06-05 | 2012-10-10 | 童建伟 | 基于射频识别技术的位移传感定位系统及其定位方法 |
CN103916482A (zh) * | 2014-04-21 | 2014-07-09 | 合肥盈云信息科技有限公司 | 一种基于sqlite的数据同步传输方法 |
CN105631028A (zh) * | 2015-12-30 | 2016-06-01 | 中国农业银行股份有限公司 | 一种数据库集群功能实现方法和系统 |
CN106897123A (zh) * | 2015-12-21 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 数据库操作方法及装置 |
CN107301179A (zh) * | 2016-04-14 | 2017-10-27 | 北京京东尚科信息技术有限公司 | 数据库读写分离的方法和装置 |
-
2017
- 2017-12-08 CN CN201711293412.9A patent/CN110019131B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060184410A1 (en) * | 2003-12-30 | 2006-08-17 | Shankar Ramamurthy | System and method for capture of user actions and use of capture data in business processes |
CN101702163A (zh) * | 2009-11-19 | 2010-05-05 | 福建鑫诺通讯技术有限公司 | 基于SQLite数据库的数据转换方法 |
CN102721430A (zh) * | 2012-06-05 | 2012-10-10 | 童建伟 | 基于射频识别技术的位移传感定位系统及其定位方法 |
CN103916482A (zh) * | 2014-04-21 | 2014-07-09 | 合肥盈云信息科技有限公司 | 一种基于sqlite的数据同步传输方法 |
CN106897123A (zh) * | 2015-12-21 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 数据库操作方法及装置 |
CN105631028A (zh) * | 2015-12-30 | 2016-06-01 | 中国农业银行股份有限公司 | 一种数据库集群功能实现方法和系统 |
CN107301179A (zh) * | 2016-04-14 | 2017-10-27 | 北京京东尚科信息技术有限公司 | 数据库读写分离的方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781161A (zh) * | 2019-09-12 | 2020-02-11 | 平安医疗健康管理股份有限公司 | 业务数据的处理方法及装置 |
CN112734571A (zh) * | 2020-12-30 | 2021-04-30 | 深圳市富途网络科技有限公司 | 复盘模板生成笔记的方法及相关产品 |
CN112734571B (zh) * | 2020-12-30 | 2023-12-19 | 深圳市富途网络科技有限公司 | 复盘模板生成笔记的方法及相关产品 |
CN115455015A (zh) * | 2022-08-08 | 2022-12-09 | 中亿(深圳)信息科技有限公司 | 一种海量数据存储方法以及装置、存储介质 |
CN115455015B (zh) * | 2022-08-08 | 2024-01-26 | 中亿(深圳)信息科技有限公司 | 一种海量数据存储方法以及装置、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110019131B (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103678494B (zh) | 客户端同步服务端数据的方法及装置 | |
JP6488508B2 (ja) | ウェブページのアクセス方法、装置、デバイス及びプログラム | |
EP2874077B1 (en) | Stateless database cache | |
CN105787058B (zh) | 一种用户标签系统及基于用户标签系统的数据推送系统 | |
CN105808653A (zh) | 一种基于用户标签系统的数据处理方法及装置 | |
CN103440285B (zh) | 大型手机游戏系统及其数据库更新方法 | |
CN110019131A (zh) | 一种复盘业务的方法和装置 | |
CN110019469A (zh) | 分布式数据库数据处理方法、装置、存储介质及电子装置 | |
CN104881454A (zh) | 参数的更新方法及系统 | |
CN109191078A (zh) | 一种流程业务建模方法、装置及设备 | |
CN108520052A (zh) | 慢查询信息检索方法、装置、服务器及可读存储介质 | |
CN106250501B (zh) | 报表处理方法及报表系统 | |
CN103034655A (zh) | 一种用户行为信息的收集方法、系统及相关设备 | |
CN105446981B (zh) | 站点地图生成方法、访问方法及装置 | |
CN111159207B (zh) | 一种信息处理方法和装置 | |
CN113326095A (zh) | 一种佣金数据处理方法和装置 | |
CN103809915B (zh) | 一种磁盘文件的读写方法和装置 | |
CN113204425A (zh) | 供进程管理内部线程的方法、装置、电子设备及存储介质 | |
CN109947736A (zh) | 实时计算的方法和系统 | |
CN115422202A (zh) | 业务模型的生成方法、业务数据查询方法、装置及设备 | |
CN113377872B (zh) | 在线系统数据在大数据中心的离线同步方法、装置及设备 | |
CN110019177A (zh) | 规则存储的方法和装置 | |
CN108959063A (zh) | 一种程序执行的方法和装置 | |
CN113486116A (zh) | 一种数据同步方法、装置、电子设备及计算机可读介质 | |
CN104156358B (zh) | 一种用于数据库的表的批量读取方法、装置和系统 |
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 |