数据预读装置及其数据读取方法制造方法及图纸

技术编号:2843649 阅读:169 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种数据预读装置,其包括以下装置:配置单元,用于提供与数据预读装置相关的配置信息;预读请求收集模块,用于根据来自配置单元的配置信息,接受并缓存来自用户的预读请求,并在接受到预读请求之后,向主控模块发出预读处理请求;数据读取引擎,连接到主控模块,用于为主控模块提供物理读取接口,并监控和维护业务数据的I/O读取;用户接口单元,连接到主控模块,通过配置单元来进行设置,用于为业务处理提供接口,并在预读数据完成后,完成用户指定的后续操作;以及主控模块,用于接受来自预读请求收集模块的预读处理请求,通过调用数据读取引擎从物理存储设备中读取数据。

【技术实现步骤摘要】

本专利技术涉及一种,更具体的,涉及一种针对应用系统,通过集中物理存储设备读取,根据应用流程制定I/O读取操作策略,在应用进行业务处理之前,保证处理业务所需要的相关数据都已在内存缓存中的。
技术介绍
目前数据业务深入人心,数据业务性能问题一直是大家关注的热点,在物理存储上,海量的应用数据与有限的内存矛盾日益冲突。内存数据库是较为通用的提高性能的常见办法,该技术的实现基于内存中已有数据,主要关注数据在内存中的保留时间。对于数据的读取,目前内存数据库一次加载全部或部分数据,在加载部分数据时,一旦请求的数据不存在于内存,则需要进行同步I/O读取。对于很多增值业务,业务数据是海量的,内存不可能缓存业务处理所需全部数据,目前当业务处理需要的数据不存在于内存时,则通过文件接口或数据库接口直接读取物理存储设备,在业务流程中存在I/O操作。虽然直接物理存储设备读取实现简单易行,但是缺点也显而易见。首先,在业务流程中进行I/O操作,I/O性能瓶颈会影响业务速度,然而提高性能必然要求高性能设备,结果势必增加成本。其次,业务流程处理中嵌入业务数据底层处理,增加了业务流程的复杂度,不利于从业务层面和业务数据层面分开考虑优化性能。另外,难以控制I/O的异常。如果能够集中处理I/O读取,根据业务数据需求是否可以预测确定I/O读取策略。为方便描述,将可测数据定义为可以确定在将来的某个时间点业务处理需要使用的业务数据;定义异步数据为数据使用请求随机发生,但可以延迟业务处理的业务数据。以短消息中心为例,定时短消息和重试短消息明确在将来的某一时刻需要被发送,因此是可测数据;系统重启后,首次发给某个目的用户的消息触发该目的用户的未发送消息继续发送,但优先发送当前提交消息,可以对目的用户先采用缺省值操作,在延迟读入该目的用户信息后再进行修改,由于用户发送消息是随机的,因此可以认为目的用户数据是异步数据。对于应用的可测数据,要进行预先读取;对于异步数据,要延迟处理业务,或先采用缺省值处理并在读取后进行修改。这样就消除了I/O读取对业务处理带来的阻塞影响。但是,现有技术尚未能提供上述解决方案。
技术实现思路
为了消除I/O读取对业务带来的阻塞影响,以达到充分利用CPU资源,提高产品性能的目的,本专利技术提供了一种功能独立、集中处理业务数据I/O读取的。本专利技术的一个方面提供了一种数据预读装置,其包括以下装置配置单元,用于提供与数据预读装置相关的配置信息;预读请求收集模块,用于根据来自配置单元的配置信息,接收并缓存来自用户的预读请求,并在接收到预读请求之后,向主控模块发出预读处理请求;数据读取引擎,连接到主控模块,用于为主控模块提供物理读取接口,并监控和维护业务数据的I/O读取;用户接口单元,连接到主控模块,通过配置单元来进行设置,用于为业务处理提供接口,并在预读数据完成后,完成用户指定的后续操作;以及主控模块,用于接收来自预读请求收集模块的预读处理请求,通过调用数据读取引擎从物理存储设备中读取数据。根据本专利技术的一个方面,数据预读装置还包括统计单元,连接到主控模块,用于收集并分析与数据预读装置相关的统计数据,并提供给主控模块。根据本专利技术的一个方面,主控模块还用于接收来自统计单元的统计数据,并根据统计数据调节预读策略。根据本专利技术的预读请求收集模块包括预读请求队列模块,用于暂存数据预读请求;预读请求用户接口,用于接收来自用户的预读请求,并将预读请求缓存到预读列队模块;可测数据预读收集用户接口,用于收集可测数据的预读请求;以及定时器,用于定时调用可测数据预读收集用户接口,来收集可测数据的预读请求,并将可测数据的预读请求缓存到预读请求列队模块。根据本专利技术的一个方面,可测数据是可以确定在将来的某个时间点业务处理所需要使用的业务数据。根据本专利技术的用户接口单元包括预读成功用户处理接口,其通过配置单元被配置,用于在预读成功后进行后续处理;告警用户处理接口,其通过配置单元被设置,用于在预读数据不存在或发生预读错误时,通过该接口向系统提交相关错误信息;以及预读结果处理单元,用于完成预读处理完成操作,并根据预读结果调用预读成功用户处理接口或告警用户处理接口。根据本专利技术的一个方面,统计数据包括以下至少之一相同数据的预读请求次数;预读操作总次数;预读操作成功率;物理读取操作最大用时、最小用时、和平均用时;以及预读最大用时、最小用时、和平均用时。本专利技术的另一方面提供了一种使用数据预读装置的数据读取方法,该数据预读装置包括配置单元、预读请求收集模块、数据读取引擎、用户接口单元、主控模块以及统计单元。数据读取方法包括以下步骤步骤S202,配置单元读取相关配置信息,并通过配置接口来接收相关配置信息和用户接口单元的处理配置;步骤S204,预读请求收集模块收集预定请求,并通知主控模块;步骤S206,主控模块接收到数据预读请求,调用数据读取引擎从物理设备中读取业务数据;以及步骤S208,判断读取操作是否成功,根据判断结果,主控模块采取相应的操作。根据本专利技术的一个方面,使用该数据预读装置的数据读取方法还包括以下步骤使用统计单元进行相关统计处理,并将得到的统计数据发送给主控模块。根据本专利技术的一个方面,当在步骤S208中判断读取操作成功时,还包括以下步骤主控模块通过用户接口单元中的预读成功的用户处理接口来完成用户指定操作;如果在步骤S208中判断读取操作不成功时,则包括以下步骤主控模块根据来自配置单元的配置信息决定是否通过用户接口单元中的告警用户处理接口来告警。根据本专利技术的使用该数据读取预读器的数据读取方法,还包括以下步骤使用预读请求收集模块中的定时器来定时检测可测数据的预读请求,并将检测到的预读请求发送到预读请求收集模块。预读请求收集模块在接到预读请求后,将预读请求写入预读请求收集模块中的预读请求队列;以及主控模块从预读队列模块中取出预读请求。另外,根据本专利技术,如果配置单元设置了预读请求收集模块中的可测数据预读收集用户接口,则还包括以下步骤定时调用可测数据预读收集用户接口收集可测数据预读信息,并将所收集的可测数据预读信息发送给主控模块。根据本专利技术的可测数据是可以确定在将来某个时间点业务处理所需要使用的业务数据。根据本专利技术的一个方面,统计数据包括以下至少之一相同数据的预读请求次数;预读操作总次数;预读操作成功率;物理读取操作最大用时、最小用时、和平均用时;以及预读最大用时、最小用时、和平均用时。采用本专利技术所提供的,可以集中业务数据物理读取,避免I/O读取操作阻塞业务处理。另外,由于可在数据预读装置内部实现可测数据预读请求收集,因此用户也可以通过预读请求收集模块提交预读请求给数据预读装置。而且本专利技术的用户接口单元所提供的接口,实现了数据读取成功后续操作,便于用户与数据预读装置的交互。因此,有利于充分利用CPU资源,提高产品性能,加强数据预读装置使用的灵活性。附图说明附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中图1是根据本专利技术的数据预读装置的框图;图2是根据本专利技术的数据预读装置的数据读取方法的流程图; 图3是根据本专利技术的实施例的数据预读装置的结构示意图;图4是根据本专利技术的实施例的预读请求收集模块的结构示意图;图本文档来自技高网
...

【技术保护点】
一种数据预读装置,其特征在于,包括:配置单元,用于提供与所述数据预读装置相关的配置信息;预读请求收集模块,用于根据所述配置信息,接收并缓存来自用户的预读请求,并在接收到所述预读请求之后,向主控模块发出预读处理请求;数 据读取引擎,用于为所述主控模块提供物理读取接口,并监控和维护业务数据的I/O读取;用户接口单元,通过所述配置单元来进行设置,用于为业务处理提供接口,并在所述预读数据完成后,完成用户指定的后续操作;所述主控模块,用于接收来自所 述预读请求收集模块的所述预读处理请求,通过调用所述数据读取引擎从物理存储设备中读取数据;以及统计单元,用于收集并分析与所述数据预读装置相关的统计数据,并提供给所述主控模块。

【技术特征摘要】
1.一种数据预读装置,其特征在于,包括配置单元,用于提供与所述数据预读装置相关的配置信息;预读请求收集模块,用于根据所述配置信息,接收并缓存来自用户的预读请求,并在接收到所述预读请求之后,向主控模块发出预读处理请求;数据读取引擎,用于为所述主控模块提供物理读取接口,并监控和维护业务数据的I/O读取;用户接口单元,通过所述配置单元来进行设置,用于为业务处理提供接口,并在所述预读数据完成后,完成用户指定的后续操作;所述主控模块,用于接收来自所述预读请求收集模块的所述预读处理请求,通过调用所述数据读取引擎从物理存储设备中读取数据;以及统计单元,用于收集并分析与所述数据预读装置相关的统计数据,并提供给所述主控模块。2.根据权利要求1所述的数据预读装置,其特征在于,所述预读请求收集模块包括预读请求队列模块,用于暂存所述数据预读请求;预读请求用户接口,用于接收来自用户的所述预读请求,并将所述预读请求缓存到所述预读请求队列模块;可测数据预读收集用户接口,用于收集可测数据的预读请求;以及定时器,用于定时调用所述可测数据预读收集用户接口,来收集所述可测数据的预读请求,并将所述可测数据的预读请求缓存到所述预读请求队列模块。3.根据权利要求1所述的数据预读装置,其特征在于,所述用户接口单元包括预读成功用户处理接口,通过所述配置单元被设置,用于在预读成功后进行后续处;告警用户处理接口,通过所述配置单元被设置,用于在所述预读数据不存在或发生预读错误时,通过该接口向系统提交相关错误信息;以及预读结果处理单元,用于完成预读完成操作,并根据预读结果调用所述预读成功用户处理接口或所述告警用户处理接口。4.根据权利要求1所述的数据预读装置,其特征在于,所述统计数据包括以下至少之一相同数据的预读请求次数;预读操作总次数;预读操作成功率;物理读取操作最大用时、最小用时、和平均用时;以及预读最大用时、最小用时、和平均用时。5.一种使用数据预读装置的数据读取方法,所述数据读取器包括配置单元...

【专利技术属性】
技术研发人员:陈正光邢刚刘刚
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1