[发明专利]业务数据的推送方法及装置有效
申请号: | 201210088626.3 | 申请日: | 2012-03-28 |
公开(公告)号: | CN103365873A | 公开(公告)日: | 2013-10-23 |
发明(设计)人: | 陈金利 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 吴贵明;余刚 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 业务 数据 推送 方法 装置 | ||
技术领域
本申请涉及互联网领域,具体而言,涉及一种业务数据的推送方法及装置。
背景技术
在内部运营业务系统中执行用户查询数据时,系统可以提供基于数据库的数据检索功能,在数据库中的数据量较少的情况下(例如一百万数据以内的情况),该基于数据库的数据查询功能可以快速响应用户的查询需求。但随着系统数据库中数据量的增长,例如数据量在超过一百万之后,上述基于数据库的查询功能已经无法快速响应用户的查询需求,即系统对用户查询请求的响应速度快速下降,因此,系统提供的数据查询功能在数据量超过一定限度的情况下性能较差。
为了解决上述问题,现有技术可以采用搜索引擎技术来提高查询功能的性能,该技术的响应速度不会随着数据量的增长而有明显的性能下降。具体的,现有技术通过创建业务系统中的数据库数据和搜索引擎服务器之间的数据同步关系来实现数据查询功能,同时搜索引擎服务器主动以一定的频率访问业务系统中的数据库服务器上数据库变更的数据,并以SQL查询的方式查询数据库中的静态数据,当业务系统中的数据库服务器上数据库数据发生变更时构建新数据的索引。具体的可以采用如下步骤实现构建索引的流程:
步骤S1,当业务系统操作数据库数据变更的时候,比如执行新增、修改、删除数据库数据,数据库触发器会记录数据库中被变更数据对象的标识号码ID,并将其保存在一张日志表里。
步骤S2,搜索引擎服务器启动一个定时钟任务,定时循环的从步骤S1的日志表里读取变更数据对象的标识号码ID,搜索引擎根据该标识号码ID来查询多个表组合的数据库视图,从而获取到对应的数据。
步骤S3,搜索引擎服务器根据步骤S2获取到的数据来构建索引。
上述现有技术实现了,当业务系统中的数据库中的数据发生变更后,搜索引擎服务器可以以一定的时间间隔(例如1-5分钟左右)从业务系统中的数据库中读取这些变更数据的标识号码ID,并根据该标识号码ID获取对应的变更数据,并建立变更数据的索引。
但上述方案存在如下问题:首先,业务系统中的数据库与搜索引擎服务器之间数据同步的时间延迟过长,用户需要过一定的时间间隔(例如1-5分钟左右)之后才能利用搜索引擎服务器查询到业务系统中的数据库中发生变更的数据;其次,以SQL查询的方式获取业务系统中的数据库中的静态数据,在特定的业务场景下有严重的性能问题。比如在业务系统中的某个业务场景下,如果在短时间内,有大量的数据变更的话,搜索引擎服务器在从业务系统中的服务器获取到数据之后构建增量索引会超过预定的时间间隔的延迟;另外,随着数据量越来越大,SQL查询性能也会越来越慢,从而降低了搜索引擎服务器获取业务系统中的服务器中更新数据的效率。
目前针对相关技术的搜索引擎服务器定时读取业务系统的数据库服务器中的数据库数据的方式,会导致在业务系统中的数据库数据变更较大的情况下,搜索引擎服务器和业务系统中的数据库之间同步数据不一致的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术的搜索引擎服务器定时读取业务系统的数据库服务器中的数据库数据的方式,会导致在业务系统中的数据库数据变更较大的情况下,搜索引擎服务器和业务系统中的数据库之间同步数据不一致的问题,本申请的主要目的在于提供一种业务数据的推送方法及装置,以解决上述问题。
为了实现上述目的,根据本申请的一个方面,提供了一种业务数据的推送方法,该方法包括:在检测到客户端的业务层调用数据对象访问层进行业务数据的变更操作时,截取该进行变更操作的业务数据,以得到变更数据;按照推送规则来解析截取到的变更数据,以获取需要执行推送任务的推送数据;在数据库事务提交之后,异步启动推送任务,以发送推送数据至搜索引擎服务器。
进一步地,在截取该进行变更操作的业务数据,以得到变更数据之前,方法还包括:预设客户端中用于进行截取操作的截取条件和用于确定推送任务的命名空间,以获取配置文件;根据配置文件中的截取条件来启动截取业务数据的操作。
进一步地,按照推送规则来解析截取到的变更数据,以获取需要执行推送任务的推送数据包括:解析变更数据,以获取变更数据的属性,其中,在获取到的属性指示确定变更数据是实体对象的情况下,解析实体对象,如果解析结果与预设的命名空间相同,则标记实体对象为需要执行推送任务的推送数据;在获取到的属性指示确定变更数据是SQL语句的情况下,提取SQL语句中的命名空间,并将SQL语句中的命名空间与预设的命名空间进行比较,在相同的情况下,则标记SQL语句的操作数据为需要执行推送任务的推送数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210088626.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:抛光机玻璃装夹治具
- 下一篇:一种PP-R塑铝稳态管用剥铝器
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置