[发明专利]数据流的切换方法、装置及系统在审
申请号: | 201210346656.X | 申请日: | 2012-09-18 |
公开(公告)号: | CN103678163A | 公开(公告)日: | 2014-03-26 |
发明(设计)人: | 吴宏杰;李钟伟;田明 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08;G06F3/06 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 吴贵明;张永明 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据流 切换 方法 装置 系统 | ||
技术领域
本申请涉及计算机互联网领域,具体而言,涉及一种数据流的切换方法、装置及系统。
背景技术
随着互联网系统中用户数量的递增,以及各个设备之间交互的数据量的不断增大,用于进行数据处理的旧设备的系统无法满足日益增长的处理需求,针对上述问题现有技术可以采用进行扩容、迁移或者系统重构的方式进行解决,上述几种解决方案都需要进行数据迁移和服务切换。对于同构系统的数据迁移和服务切换,目前通用的方案是先将旧设备的系统停止外部写入请求,然后将需要迁移的数据复制到新设备的系统中,再将外部写入请求引导到新设备的系统。这种方案的优点在于简单且数据一致性很容易保证,但它的缺点在于需要中断对外写入请求。
另外,对于一些写入请求是覆盖式写入的设备系统来说,可以实现不中断外部写入请求。具体的,这种覆盖式写入的方案中,当旧设备的系统停止写入服务时,将外部写入请求记录到二进制日志文件,在完成数据复制后,将二进制日志文件和外部请求包一并处理,当二进制文件处理完成后,系统的写入服务切换也完成。这种方案具有它的特殊性,如果系统不是以覆盖式写入请求为主要来源,那么就需要处理复杂的数据时序性问题,大大提高系统切换的复杂度。
上述两种方案都是应用于同构系统中的数据迁移和服务切换,但对于异构系统来说,由于不同设备系统之间存在着差异,例如:数据存储的方式不同、对外提供的写入接口不同、操作数据的方式不同等。由此可知,上述应用在同构系统的两种方案,方案一并不适用于异构系统,而方案二而过程复杂且具有局限性。因此,异构系统进行服务切换时,往往需要处理比同构系统更为复杂的逻辑。
图1是根据相关现有技术的数据流的切换系统的结构示意图。具体的,上述图1所示的异构设备系统之间实现数据流的切换的实施例中,假设旧设备上的系统为系统A,新设备中的系统为系统B。下面就结合图1对该方案所实现的异构系统之间数据流的切换进行详细描述如下:
图1所示的实施例通过双写控制方案来实现,双写控制方案是通过将外部写入请求归拢到双写层系统,通过双写层进行写入请求的流向控制,即先写系统A后写系统B,还是先写系统B后写系统A。同时,通过指定特定条件,可以使到双写层支持部分写入请求先往系统A,而部分写入请求先往系统B。采用双写控制方案进行数据流的切换的过程如下:
步骤a,系统进行写入请求切换,将原始写入请求由系统A转到双写层,具体的如图1所示,外部写入请求在切换后,从“写请求切换1虚线”变为“写请求切换2虚线”。
步骤b,双写层控制每个写入请求,按系统自设条件确定是将写入请求先发往系统A还是系统B。
步骤c,双写层往系统A(或B)发送写请求后等待系统A(或B)回包。
步骤d,双写层得到系统A(或B)回包后,确认写入正常情况下,往另一个系统B(或A)发送写请求包。
步骤e,双写层得到另一个系统的回包,处理结束。
步骤f,当所有的写请求经双写层转往新系统后,再将原始写入请求由双写层转到系统B,具体的如图1所示,写请求在切换后,从“写请求切换2虚线”变为“写请求切换3虚线”。
上述图1所示的实施例存在如下问题:由于在进行系统切换的过程中,需要消耗人力资源开发双写层系统,同时对外接口服务需要在双写层和新旧系统之间来回切换,因此存在开发量大,接口切换过程复杂的问题;另外,虽然双写控制能够支持高精度的写入流向控制,但是这是以牺牲程序代码的复杂度为前提的,因此上述方案代码复杂度高,不易研发人员维护;而且,由于在进行系统切换过程中,一旦通过双写层将请求转给新系统后,新系统很难再进行系统的发布更新,因为系统的更新将会导致系统瞬间的不可用,虽然时间很短暂,但是也会造成新旧数据的不一致,因此,上述方案也存在数据更新过程中丢失数据的问题;同时,由于双写层是一个单独的控制层,在完成设备系统之间的切换之后,双写层会在系统切换完后失去作用,从而浪费了系统资源。
由上述分析可知,目前针对相关技术实现异构系统的数据流的切换过程复杂,切换时需要中断对外写入请求,且容易丢失数据的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术的实现异构系统的数据流的切换过程复杂,切换时需要中断对外写入请求,且容易丢失数据的问题,目前尚未提出有效的解决方案,为此,本申请的主要目的在于提供一种数据流的切换方法、装置及系统,以解决上述问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210346656.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:报表数据组织模型
- 下一篇:一种基于多层图的论文推荐方法