异常处理方法、装置以及服务器制造方法及图纸

技术编号:18087102 阅读:28 留言:0更新日期:2018-05-31 16:22
本申请实施例公开了一种异常处理方法、装置以及服务器。所述方法包括:所述服务器从所述消息队列的多个数据包中获取目标数据包;所述服务器对所述目标数据包进行处理,且在处理过程中出现异常时,获取所述消息队列装置中用于存储异常数据的异常数据存储区;所述服务器将所述目标数据包转移到所述异常数据存储区中。本方法使得当服务器对消息队列中的数据包处理异常时,将异常的数据包转移到异常数据存储区中,从而使得出现处理异常的数据包不会造成消息队列的阻塞,进而改善了数据同步过程中,出现数据异常造成数据同步的阻塞时,使得整个数据同步过程无法正常进行的问题。

【技术实现步骤摘要】
异常处理方法、装置以及服务器
本申请涉及数据同步领域,更具体地,涉及一种异常处理方法、装置以及服务器。
技术介绍
出于数据安全备份或提高各地用户的访问速度等目的,一些互联网站会在不同地点部署多个站点。其中每个站点为一台服务器或者由多台服务器所组成的集群。这些站点之间会保持数据同步,以使得其中所存储的部分数据内容或者全部数据内容一致。在数据同步中,由于为了保证同步的顺序性,在数据的入口端以及出口端采用单线程形式进行数据同步。则如果在数据同步过程中,出现数据异常造成数据同步的阻塞时,使得整个数据同步过程无法正常进行。
技术实现思路
鉴于上述问题,本申请提出了异常处理方法、装置以及服务器,以改善在数据同步过程中,出现数据异常造成数据同步的阻塞时,使得整个数据同步过程无法正常进行的问题。第一方面,本申请提供了一种异常处理方法,应用于跨机房数据同步系统,所述跨机房数据同步系统包括消息队列装置以及服务器;所述消息队列装置包括消息队列,所述消息队列中包括多个待处理的数据包,所述服务器用于从所述消息队列中获取数据包进行处理。所述方法包括:所述服务器从所述消息队列的多个数据包中获取目标数据包;所述服务器对所述目标数据包进行处理;若对所述目标数据包的处理出现异常,则所述服务器获取所述消息队列装置中用于存储异常数据的异常数据存储区;所述服务器将所述目标数据包转移到所述异常数据存储区中。第二方面,本申请提供了一种异常处理装置,运行于跨机房数据同步系统中的服务器,所述跨机房数据同步系统还包括消息队列装置;所述消息队列装置包括消息队列,所述消息队列中包括多个待处理的数据包,所述服务器用于从所述消息队列中获取数据包进行处理;所述装置包括:数据获取单元,用于从所述消息队列的多个数据包中获取目标数据包;数据处理单元,用于对所述目标数据包进行处理;异常检测单元,用于若对所述目标数据包的处理出现异常,获取所述消息队列装置中用于存储异常数据的异常数据存储区;数据转移单元,用于将所述目标数据包转移到所述异常数据存储区中。第三方面,本申请提供了一种服务器,包括一个或多个处理器以及存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。第四方面,本申请提供了一种具有处理器可执行的程序代码的计算机可读存储介质,所述程序代码使所述处理器执行上述的方法。本申请提供的一种异常处理方法、装置以及服务器,服务器从所述消息队列的多个数据包中获取目标数据包,在服务器从消息队列装置中的消息队列获取目标数据包进行处理的过程中,出现异常时,获取所述消息队列装置中用于存储异常数据的异常数据存储区,将所述目标数据包转移到所述异常数据存储区中,使得当服务器对消息队列中的数据包处理异常时,将异常的同步数据转移到异常数据存储区中,从而使得出现处理异常的数据包不会造成消息队列的阻塞,进而改善了数据同步过程中,出现数据异常造成数据同步的阻塞时,使得整个数据同步过程无法正常进行的问题。本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了本申请提出的一种跨机房数据同步系统的环境示意图;图2示出了本申请提出的一种跨机房数据同步系统的结构框图;图3示出了本申请提出的一种异常处理方法流程图;图4示出了本申请提出的另一种异常处理方法流程图;图5示出了本申请提出的一种异常处理装置的结构框图;图6示出了本申请提出的另一种异常处理装置的结构框图;图7示出了本申请的用于执行根据本申请实施例的异常处理方法的服务器的框图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。通常互联网公司会部署多个分布在不同区域站点,有时为了保证所部署的不同站点之间的数据相同或者站点中的部分数据相同,会在不同的站点之间进行数据同步。例如,为了便于用户在接入到每个站点时都能进行用户登录,不同的站点之间会同步所有用户的用户名和密码等登录信息。通常一个站点是建设在一个机房之中的,所以当在不同的站点之间进行数据同步时,也可以看作是在不同的机房之间进行数据同步。专利技术人发现,在数据同步中,由于为了保证同步的顺序性,会在数据的入口端以及出口端采用单线程形式进行数据同步。则如果在数据同步过程中,出现数据异常造成数据同步的阻塞时,使得整个数据同步过程无法正常进行。因此,专利技术人提出了本申请中的改善在数据同步过程中,出现数据异常造成数据同步的阻塞时,使得整个数据同步过程无法正常进行的问题的异常处理方法、装置以及服务器。下面先对本申请提供的异常处理方法、装置所运行于的一种跨机房数据同步系统的环境进行介绍。如图1所示,图1所示的跨机房数据同步系统100中包括第一机房110以及第二机房120。第一机房110与第二机房120通过网络130进行数据交互。在第一机房110中部署有服务器111以及第一机房110中的消息队列装置112。在第二机房120中部署有数据迁移设备121、消息队列装置122以及服务器123。其中,需要说明的是,如图2所示,消息队列装置112以及消息队列装置122在数据同步过程中均可以包括多个消息队列,而在同步过程中,消息队列中包括有多个数据包。其中,消息队列是一种应用程序对应用程序间传输消息的通道。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。常见消息队列有rabbitmq,rocketmq,kafka等。请再结合图2所示,在第一机房110中,服务器111中运行有SDK(SoftwareDevelopmentKit)组件,该SDK组件可以订阅数据生产方所产生的业务数据,将该业务数据写入到第一机房110中的消息队列装置112。在第二机房120中,数据迁移设备121可以将第一机房110中的消息队列装置112的数据迁移到消息队列装置122,而服务器123可以从消息队列装置122中读取数据进行处理。其中,作为一种方式,在服务器123中运行有一个管理节点以及多个处理节点,例如,图2中的maternode为管理节点,receivenode为处理节点。而ETCD负责选举管理节点作为处理节点以及协调多个处理节点处理消息队列中的数据。下面再以从第一机房110同步数据到第二机房120为例说明下同步过程中的数据传输流程。在这种情况下,第一机房110则为业务数据发送方的源机房,第二机房120则为业务数据接收方的目标机房。第一机房110中服务器111运行的SDK组件,将接收到的业务数据封装为数据包,并以异步线程的方式将数据包写入到消息队列装置112中的消息队列中。而目标机房的数据迁移设备121预先订阅有消息队列装置112中的数据,当数据迁移设备121本文档来自技高网...
异常处理方法、装置以及服务器

【技术保护点】
一种异常处理方法,其特征在于,应用于跨机房数据同步系统,所述跨机房数据同步系统包括消息队列装置以及服务器;所述消息队列装置包括消息队列,所述消息队列中包括多个待处理的数据包,所述服务器用于从所述消息队列中获取数据包进行处理;所述方法包括:所述服务器从所述消息队列的多个数据包中获取目标数据包;所述服务器对所述目标数据包进行处理;若对所述目标数据包的处理出现异常,则所述服务器获取所述消息队列装置中用于存储异常数据的异常数据存储区;所述服务器将所述目标数据包转移到所述异常数据存储区中。

【技术特征摘要】
1.一种异常处理方法,其特征在于,应用于跨机房数据同步系统,所述跨机房数据同步系统包括消息队列装置以及服务器;所述消息队列装置包括消息队列,所述消息队列中包括多个待处理的数据包,所述服务器用于从所述消息队列中获取数据包进行处理;所述方法包括:所述服务器从所述消息队列的多个数据包中获取目标数据包;所述服务器对所述目标数据包进行处理;若对所述目标数据包的处理出现异常,则所述服务器获取所述消息队列装置中用于存储异常数据的异常数据存储区;所述服务器将所述目标数据包转移到所述异常数据存储区中。2.根据权利要求1所述的方法,其特征在于,所述若对所述目标数据包的处理出现异常,则所述服务器获取所述消息队列装置中用于存储异常数据的异常数据存储区的步骤包括:所述服务器写入所述目标数据包失败的次数超过预设次数时,获取所述消息队列装置中用于存储异常数据的异常数据存储区。3.根据权利要求1所述的方法,其特征在于,所述服务器将所述目标数据包转移到所述异常数据存储区中之后还包括:所述服务器间隔预设周期,从所述异常数据存储区获取所述目标数据包,执行将所述目标数据包写入所述服务器的操作;如果成功将所述目标数据包写入所述服务器,则不在所述异常数据存储区中保留所述目标数据包。4.根据权利要求3所述的方法,其特征在于,所述方法,还包括:当所述消息队列中剩余待处理的数据包的数量超过第一预设值时,将所述预设周期的周期长度设置为第一周期长度;当所述消息队列中剩余待处理的数据包的数量小于所述第一预设值时,将所述预设周期的周期长度设置为第二周期长度,其中,所述第二周期长度大于所述第一周期长度。5.根...

【专利技术属性】
技术研发人员:刘玉锋
申请(专利权)人:广东欧珀移动通信有限公司
类型:发明
国别省市:广东,44

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

1