CN108093077A - 异常处理方法、装置以及服务器 - Google Patents
异常处理方法、装置以及服务器 Download PDFInfo
- Publication number
- CN108093077A CN108093077A CN201711482489.0A CN201711482489A CN108093077A CN 108093077 A CN108093077 A CN 108093077A CN 201711482489 A CN201711482489 A CN 201711482489A CN 108093077 A CN108093077 A CN 108093077A
- Authority
- CN
- China
- Prior art keywords
- data
- message queue
- server
- abnormal
- target data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000005856 abnormality Effects 0.000 title claims abstract description 28
- 230000002159 abnormal effect Effects 0.000 claims abstract description 112
- 230000015654 memory Effects 0.000 claims abstract description 80
- 238000012545 processing Methods 0.000 claims abstract description 48
- 230000001360 synchronised effect Effects 0.000 claims description 30
- 238000012546 transfer Methods 0.000 claims description 8
- 238000013481 data capture Methods 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 25
- 230000002093 peripheral effect Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000013508 migration Methods 0.000 description 9
- 230000005012 migration Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 210000003128 head Anatomy 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 210000003733 optic disk Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例公开了一种异常处理方法、装置以及服务器。所述方法包括:所述服务器从所述消息队列的多个数据包中获取目标数据包;所述服务器对所述目标数据包进行处理,且在处理过程中出现异常时,获取所述消息队列装置中用于存储异常数据的异常数据存储区;所述服务器将所述目标数据包转移到所述异常数据存储区中。本方法使得当服务器对消息队列中的数据包处理异常时,将异常的数据包转移到异常数据存储区中,从而使得出现处理异常的数据包不会造成消息队列的阻塞,进而改善了数据同步过程中,出现数据异常造成数据同步的阻塞时,使得整个数据同步过程无法正常进行的问题。
Description
技术领域
本申请涉及数据同步领域,更具体地,涉及一种异常处理方法、装置以及服务器。
背景技术
出于数据安全备份或提高各地用户的访问速度等目的,一些互联网站会在不同地点部署多个站点。其中每个站点为一台服务器或者由多台服务器所组成的集群。这些站点之间会保持数据同步,以使得其中所存储的部分数据内容或者全部数据内容一致。
在数据同步中,由于为了保证同步的顺序性,在数据的入口端以及出口端采用单线程形式进行数据同步。则如果在数据同步过程中,出现数据异常造成数据同步的阻塞时,使得整个数据同步过程无法正常进行。
发明内容
鉴于上述问题,本申请提出了异常处理方法、装置以及服务器,以改善在数据同步过程中,出现数据异常造成数据同步的阻塞时,使得整个数据同步过程无法正常进行的问题。
第一方面,本申请提供了一种异常处理方法,应用于跨机房数据同步系统,所述跨机房数据同步系统包括消息队列装置以及服务器;所述消息队列装置包括消息队列,所述消息队列中包括多个待处理的数据包,所述服务器用于从所述消息队列中获取数据包进行处理。所述方法包括:所述服务器从所述消息队列的多个数据包中获取目标数据包;所述服务器对所述目标数据包进行处理;若对所述目标数据包的处理出现异常,则所述服务器获取所述消息队列装置中用于存储异常数据的异常数据存储区;所述服务器将所述目标数据包转移到所述异常数据存储区中。
第二方面,本申请提供了一种异常处理装置,运行于跨机房数据同步系统中的服务器,所述跨机房数据同步系统还包括消息队列装置;所述消息队列装置包括消息队列,所述消息队列中包括多个待处理的数据包,所述服务器用于从所述消息队列中获取数据包进行处理;所述装置包括:数据获取单元,用于从所述消息队列的多个数据包中获取目标数据包;数据处理单元,用于对所述目标数据包进行处理;异常检测单元,用于若对所述目标数据包的处理出现异常,获取所述消息队列装置中用于存储异常数据的异常数据存储区;数据转移单元,用于将所述目标数据包转移到所述异常数据存储区中。
第三方面,本申请提供了一种服务器,包括一个或多个处理器以及存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
第四方面,本申请提供了一种具有处理器可执行的程序代码的计算机可读存储介质,所述程序代码使所述处理器执行上述的方法。
本申请提供的一种异常处理方法、装置以及服务器,服务器从所述消息队列的多个数据包中获取目标数据包,在服务器从消息队列装置中的消息队列获取目标数据包进行处理的过程中,出现异常时,获取所述消息队列装置中用于存储异常数据的异常数据存储区,将所述目标数据包转移到所述异常数据存储区中,使得当服务器对消息队列中的数据包处理异常时,将异常的同步数据转移到异常数据存储区中,从而使得出现处理异常的数据包不会造成消息队列的阻塞,进而改善了数据同步过程中,出现数据异常造成数据同步的阻塞时,使得整个数据同步过程无法正常进行的问题。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图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(SoftwareDevelopment Kit)组件,该SDK组件可以订阅数据生产方所产生的业务数据,将该业务数据写入到第一机房110中的消息队列装置112。在第二机房120中,数据迁移设备121可以将第一机房110中的消息队列装置112的数据迁移到消息队列装置122,而服务器123可以从消息队列装置122中读取数据进行处理。其中,作为一种方式,在服务器123中运行有一个管理节点以及多个处理节点,例如,图2中的mater node为管理节点,receive node为处理节点。而ETCD负责选举管理节点作为处理节点以及协调多个处理节点处理消息队列中的数据。
下面再以从第一机房110同步数据到第二机房120为例说明下同步过程中的数据传输流程。在这种情况下,第一机房110则为业务数据发送方的源机房,第二机房120则为业务数据接收方的目标机房。第一机房110中服务器111运行的SDK组件,将接收到的业务数据封装为数据包,并以异步线程的方式将数据包写入到消息队列装置112中的消息队列中。而目标机房的数据迁移设备121预先订阅有消息队列装置112中的数据,当数据迁移设备121检测到消息队列装置112中的消息队列有数据包写入时,则将该消息队列中的数据包迁移到第二机房120的消息队列装置122中的消息队列中。则第二机房120的服务器123再从消息队列装置122中的消息队列中读取待处理的目标数据包进行处理,从而完成数据从第一机房110到第二机房120的同步。其中,对数据包进行处理包括对数据包的合法性进行校验以及将数据包所携带的信息内容写入到服务器123本地。
需要说明的是,消息队列装置112可以由一台物理设备,例如一台服务器来承载,也可以有多台物理设备来承载,例如,多台服务器来承载。对于消息队列装置122也是如此。再者,当数据迁移设备121由一台服务器来实现时,且消息队列装置122也由一个物理设备来承载时,可以将消息队列装置122部署在数据迁移设备121中,即由一台服务器来实现数据迁移设备121和消息队列装置122的功能。
下面将结合附图具体描述本申请的实施例。
请参阅图3,本申请提供的一种异常处理方法,应用于跨机房数据同步系统,所述跨机房数据同步系统包括消息队列装置以及服务器;所述消息队列装置包括消息队列,所述消息队列中包括多个待处理的数据包,所述服务器用于从所述消息队列中获取数据包进行处理。所述方法,包括:
步骤S110:所述服务器从所述消息队列的多个数据包中获取目标数据包。
步骤S120:所述服务器对所述目标数据包进行处理;
步骤S130:若对所述目标数据包的处理出现异常,则所述服务器获取所述消息队列装置中用于存储异常数据的异常数据存储区。
步骤S140:所述服务器将所述目标数据包转移到所述异常数据存储区中。
本申请提供的一种异常处理方法,使得当服务器对消息队列中的数据包处理异常时,将异常的同步数据转移到异常数据存储区中,从而使得出现处理异常的数据包不会造成消息队列的阻塞,进而改善了数据同步过程中,出现数据异常造成数据同步的阻塞时,使得整个数据同步过程无法正常进行的问题。
请参阅图4,本申请提供的一种异常处理方法,应用于跨机房数据同步系统,所述跨机房数据同步系统包括消息队列装置以及服务器;所述消息队列装置包括消息队列,所述消息队列中包括多个待处理的数据包,所述服务器用于从所述消息队列中获取数据包进行处理。所述方法,包括:
步骤S210:所述服务器从所述消息队列的多个数据包中获取目标数据包。
在数据包被迁移到目标机房的消息队列装置中的消息队列后,目标机房的服务器则可以从该消息队列中获取待处理的数据包。
需要说明的是,当数据包被放入消息队列时,是从消息队列的尾部依次放入,则目标机房的服务器从消息队列获取待处理的目标数据包时,是将消息队列的头部的数据包作为目标数据包。
步骤S220:所述服务器对所述目标数据包进行处理。
作为一种方式,服务器在获取到目标数据包后,可以先对目标数据包的合法性进行判断,验证合法后再写入到本地。作为另一种方式,服务器也可以直接将目标数据包写入到本地。
其中,为了进一步提升数据在传输过程中的安全性,可以在源机房的消息队列中写入目标数据包之前对数据包基于私有秘钥进行加密。而目标机房中的服务器在获取到数据包后再基于秘钥进行解密以验证合法性。可以理解的是,在加密以及解密过程中的秘钥可以基于私有的协议生成,也可以基于公有的协议生成。
步骤S230:若对所述目标数据包的处理出现异常,则所述服务器获取所述消息队列装置中用于存储异常数据的异常数据存储区。
需要说明的是,在本申请中,处理过程出现异常可以为服务器验证目标数据包的合法性时出现的异常,也可以在服务器写入目标数据包时出现的异常。在本申请中,作为一种方式,验证目标数据包的合法性时出现的异常包括服务器多次尝试验证目标数据包的合法性失败,且尝试次数超过预设次数时,判断验证目标数据包的合法性时出现异常。作为一种方式,服务器写入目标数据包时出现的异常包括所述服务器写入所述目标数据包失败的次数超过预设次数时,判断服务器写入目标数据包时出现异常。
其中,服务器写入目标数据包异常包括服务器判断所要写入的同步数据与本地已经存储的数据相互矛盾。例如,服务器当前处理的目标数据包的内容为将用户数据信息表中用户名字段为abc的对应的密码字段的数据修改为123,且在当前处理的目标数据包中用户录入的原密码为456,则服务器要执行的是将密码字段的数据从456修改为123。但是,服务器在处理该同步数据之前,已经成功处理了一次密码修改,修改的内容为将用户数据表中用户名字段为abc的用户的密码字段的数据从456修改为789,且在执行该修改的指令中用户录入的原始密码为456。则在成功执行密码修改后,用户数据表中的密码字段的当前数据已经被修改为789。而当前处理的目标数据包中包括的用户输入的原始密码为123时,判断123与数据表中用户名字段为abc对应的密码字段的数据789不同,则服务器检测到数据矛盾,并判断写入目标数据包失败。
通常服务器从消息队列获取数据,例如,从消息队列A获取目标数据包时,是将消息队列A的头部获取数据包作为目标数据包。服务器在成功处理该目标数据包之前,服务器将不会再从消息队列A获取下一个目标数据包,这种情况则会造成消息队列A的阻塞。为了避免上述问题,服务器在处理过程中出现异常时,会获取所述消息队列装置中用于存储异常数据的异常数据存储区。
作为一种方式,异常数据存储区可以为在数据同步开始之前预先建立,也可以为服务器在工作过程中第一次出现处理异常时生成。其中,该异常数据存储区可以为异常数据队列,也可以为内存中的一块存储区域,还可以为数据库。其中,建立异常数据存储区时,会给异常数据存储区分配存储空间,且分配给异常数据存储区的存储空间是从消息队列装置的硬件承载设备中划分出来的。作为一种方式,可以根据预估消息队列装置在一段时间内传输的数据总量当来确定划分给异常数据存储区的存储空间。数据总量越大则分配给异常数据存储区的存储空间越大。其中,消息队列装置在一段时间内传输的数据总量可以根据消息队列装置的瞬时传输数据的数据量来确定。例如,当前的消息队列装置瞬时传输数据的数量为a,则估计未来b时间段内的传输的数据总量为a*b。
步骤S240:所述服务器将所述目标数据包转移到所述异常数据存储区中。
当服务器在获取到异常数据存储区后,即可将处理时出现异常的同步数据转移到该异常数据存储区中。
作为一种方式,在将同步数据转移到异常数据存储区后,本申请提供的异常处理方法还包括:
S250:所述服务器间隔预设周期,从所述异常数据存储区获取所述目标数据包,执行将所述目标数据包写入所述服务器的操作;
S260:如果如果成功将所述目标数据包写入所述服务器,则不在所述异常数据存储区中保留所述目标数据包。
S270:如果不能,则将所述目标数据包保留在所述异常数据存储区。
需要说明的是,当异常数据存储区为异常数据队列时,在从异常数据队列获取数据时,依然是从异常数据队列的队列头部获取数据,并且在判断还是无法成功写入异常数据队列中的数据到服务器本地时,将该数据转移到异常数据队列的尾部,以实现保证异常数据队列中数据的顺序性。
其中,作为一种动态调控前述预设周期的周期长度的方式,当所述消息队列中剩余待处理数据包的数量超过第一预设值时,将所述预设周期的周期长度设置为第一周期长度;当所述消息队列中剩余待处理数据包的数量小于所述第一预设值时,将所述预设周期的周期长度设置为第二周期长度,其中,所述第二周期长度大于所述第一周期长度。
作为一种方式,服务器再将处理时出现异常的目标数据包转移到该异常数据存储区中时,可以给该目标数据包分配一个优先处理等级,以便基于异常数据存储区中每个同步数据对应的优先处理等级来确定重新尝试处理的先后顺序。
例如,在异常数据存储区中存储有数据包A、数据包B以及数据包C时。对于服务器给分配的优先处理等级,数据包A、数据包B以及数据包C各自对应的优先处理等级依次增高。则当服务器间隔预设周期尝试从新写入异常数据存储区中的同步数据时,则优先尝试数据包C。
需要说明的是,如果服务器在超过预设的尝试次数依然无法将异常数据存储区中的数据包写入到本地后,可以发出报警信息,以便告知维护人员人工来处理异常数据存储区中的数据。
本申请提供的一种异常处理方法,服务器从所述消息队列的多个数据包中获取目标数据包,在服务器从消息队列装置中的消息队列获取目标数据包进行处理的过程中,出现异常时,获取所述消息队列装置中用于存储异常数据的异常数据存储区,将所述目标数据包转移到所述异常数据存储区中,使得当服务器对消息队列中的数据包处理异常时,将异常的同步数据转移到异常数据存储区中,从而使得出现处理异常的数据包不会造成消息队列的阻塞,进而改善了数据同步过程中,出现数据异常造成数据同步的阻塞时,使得整个数据同步过程无法正常进行的问题。
请参阅图5,本申请提供的一种异常处理装置300,运行于跨机房数据同步系统中的服务器,所述跨机房数据同步系统还包括消息队列装置;所述消息队列装置包括消息队列,所述消息队列中包括多个待处理的数据包,所述服务器用于从所述消息队列中获取数据包进行处理;所述装置300包括:数据获取单元310、数据处理单元320、异常检测单元330以及数据转移单元340。
其中,数据获取单元310,用于从所述消息队列的多个数据包中获取目标数据包;
数据处理单元320,用于对所述目标数据包进行处理;
异常检测单元330,用于若对所述目标数据包的处理出现异常,获取所述消息队列装置中用于存储异常数据的异常数据存储区;
数据转移单元340,用于将所述目标数据包转移到所述异常数据存储区中。
请参阅图6,本申请提供的一种异常处理装置400,运行于跨机房数据同步系统中的服务器,所述跨机房数据同步系统还包括消息队列装置;所述消息队列装置包括消息队列,所述消息队列中包括多个待处理的数据包,所述服务器用于从所述消息队列中获取数据包进行处理。所述装置400包括:数据获取单元410、数据处理单元420、异常检测单元430、数据转移单元440以及异常数据处理单元450。
其中,数据获取单元410,用于从所述消息队列的多个数据包中获取目标数据包。
数据处理单元420,用于对所述目标数据包进行处理。
异常检测单元430,用于若对所述目标数据包的处理出现异常,获取所述消息队列装置中用于存储异常数据的异常数据存储区。
作为一种方式,所述异常检测单元430,具体用于写入所述目标数据包失败的次数超过预设次数时,获取所述消息队列装置中用于存储异常数据的异常数据存储区。
数据转移单元440,用于将所述目标数据包转移到所述异常数据存储区中。
作为一种方式,所述装置400还包括:
异常数据处理单元450,用于间隔预设周期,从所述异常数据存储区获取所述目标数据包,执行将所述目标数据包写入所述服务器的操作;如果成功将所述目标数据包写入所述服务器,则不在所述异常数据存储区中保留所述目标数据包。
综上所述,本申请提供的一种异常处理方法、装置以及服务器,在目标机房的服务器从消息队列装置中的消息队列获取目标数据包进行处理的过程中,出现异常时,获取所述消息队列装置中用于存储异常数据的异常数据存储区,将所述目标数据包转移到所述异常数据存储区中,使得当服务器对消息队列中的同步数据处理异常时,将异常的同步数据转移到异常数据存储区中,从而使得出现处理异常的同步数据不会造成消息队列的阻塞,进而改善了数据同步过程中,出现数据异常造成数据同步的阻塞时,使得整个数据同步过程无法正常进行的问题。
请参阅图7,基于上述的异常处理方法、装置,本申请还提供一种服务器140,该服务器140可以作为图1中所示的系统的服务器111或者服务器123,也可以为承载消息队列装置122或者消息队列装置112的物理设备,还可以作为图1中的数据迁移设备121。
需要说明的是,当消息队列装置112或者消息队列装置122均设立在一个设备上时,消息队列装置112运行在一个服务器140中,消息队列装置122也是运行在一个服务器140中。而当消息队列装置112或者消息队列装置122是分布在多个物理设备时,则消息队列装置112是分布在多个服务器140中,消息队列装置122也是分布在多个服务器140中。
该服务器140包括一个或多个(图中仅示出一个)处理器222、存储器224、网络模块228以及外设接口230。
本领域普通技术人员可以理解,相对于所述处理器222来说,所有其他的组件均属于外设,所述处理器222与这些外设之间通过多个外设接口230相耦合。所述外设接口230可基于以下标准实现:通用异步接收/发送装置(Universal Asynchronous Receiver/Transmitter,UART)、通用输入/输出(General Purpose Input Output,GPIO)、串行外设接口(Serial Peripheral Interface,SPI)、内部集成电路(Inter-Integrated Circuit,I2C),但不并限于上述标准。在一些实例中,所述外设接口230可仅包括总线。此外,这些控制器还可以从所述外设接口230中脱离出来,而集成于所述处理器222内或者相应的外设内。
所述存储器224可用于存储软件程序以及模块,所述处理器222通过运行存储在所述存储器224内的软件程序以及模块,从而执行各种功能应用以及数据处理。所述存储器224可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,所述存储器224可进一步包括相对于所述处理器222远程设置的存储器。此外,存储器224还可以存储一些待处理的数据。例如,当消息队列装置112或者消息队列装置122是由服务器140来承载时,存储器224可以存储消息队列中的数据。
所述网络模块228用于接收以及发送网络数据,以实现和其他设备之间通过网络进行数据交互。
外设接口230用于服务器140与外部设备通过有线的方式进行通信。该外设接口可以是USB接口或者RS232接口等。
上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(服务器),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。例如,该程序在执行时,执行的内容为前述内容中步骤S110到步骤S130的内容。此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种异常处理方法,其特征在于,应用于跨机房数据同步系统,所述跨机房数据同步系统包括消息队列装置以及服务器;所述消息队列装置包括消息队列,所述消息队列中包括多个待处理的数据包,所述服务器用于从所述消息队列中获取数据包进行处理;所述方法包括:
所述服务器从所述消息队列的多个数据包中获取目标数据包;
所述服务器对所述目标数据包进行处理;
若对所述目标数据包的处理出现异常,则所述服务器获取所述消息队列装置中用于存储异常数据的异常数据存储区;
所述服务器将所述目标数据包转移到所述异常数据存储区中。
2.根据权利要求1所述的方法,其特征在于,所述若对所述目标数据包的处理出现异常,则所述服务器获取所述消息队列装置中用于存储异常数据的异常数据存储区的步骤包括:
所述服务器写入所述目标数据包失败的次数超过预设次数时,获取所述消息队列装置中用于存储异常数据的异常数据存储区。
3.根据权利要求1所述的方法,其特征在于,所述服务器将所述目标数据包转移到所述异常数据存储区中之后还包括:
所述服务器间隔预设周期,从所述异常数据存储区获取所述目标数据包,执行将所述目标数据包写入所述服务器的操作;
如果成功将所述目标数据包写入所述服务器,则不在所述异常数据存储区中保留所述目标数据包。
4.根据权利要求3所述的方法,其特征在于,所述方法,还包括:
当所述消息队列中剩余待处理的数据包的数量超过第一预设值时,将所述预设周期的周期长度设置为第一周期长度;
当所述消息队列中剩余待处理的数据包的数量小于所述第一预设值时,将所述预设周期的周期长度设置为第二周期长度,其中,所述第二周期长度大于所述第一周期长度。
5.根据权利要求1-4任一所述的方法,其特征在于,所述异常数据存储区包括异常数据队列。
6.一种异常处理装置,其特征在于,运行于跨机房数据同步系统中的服务器,所述跨机房数据同步系统还包括消息队列装置;所述消息队列装置包括消息队列,所述消息队列中包括多个待处理的数据包,所述服务器用于从所述消息队列中获取数据包进行处理;所述装置包括:
数据获取单元,用于从所述消息队列的多个数据包中获取目标数据包;
数据处理单元,用于对所述目标数据包进行处理;
异常检测单元,用于若对所述目标数据包的处理出现异常,获取所述消息队列装置中用于存储异常数据的异常数据存储区;
数据转移单元,用于将所述目标数据包转移到所述异常数据存储区中。
7.根据权利要求6所述的装置,其特征在于,所述异常检测单元,具体用于写入所述目标数据包失败的次数超过预设次数时,获取所述消息队列装置中用于存储异常数据的异常数据存储区。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
异常数据处理单元,用于间隔预设周期,从所述异常数据存储区获取所述目标数据包,执行将所述目标数据包写入所述服务器的操作;
如果成功将所述目标数据包写入所述服务器,则不在所述异常数据存储区中保留所述目标数据包。
9.一种服务器,其特征在于,包括一个或多个处理器以及存储器;
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行权利要求1-5任一所述的方法。
10.一种具有处理器可执行的程序代码的计算机可读存储介质,其特征在于,所述程序代码使所述处理器执行权利要求1-5任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711482489.0A CN108093077B (zh) | 2017-12-29 | 2017-12-29 | 异常处理方法、装置以及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711482489.0A CN108093077B (zh) | 2017-12-29 | 2017-12-29 | 异常处理方法、装置以及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108093077A true CN108093077A (zh) | 2018-05-29 |
CN108093077B CN108093077B (zh) | 2019-06-25 |
Family
ID=62180901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711482489.0A Expired - Fee Related CN108093077B (zh) | 2017-12-29 | 2017-12-29 | 异常处理方法、装置以及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108093077B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241180A (zh) * | 2018-08-01 | 2019-01-18 | 福建天泉教育科技有限公司 | 一种基于日志的数据同步的方法及装置 |
CN110955532A (zh) * | 2018-09-27 | 2020-04-03 | 北京国双科技有限公司 | 消息处理方法、装置及计算机设备 |
CN112364079A (zh) * | 2020-11-12 | 2021-02-12 | 北京思特奇信息技术股份有限公司 | 一种多业务交互异常处理方法、系统和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101997661A (zh) * | 2009-08-14 | 2011-03-30 | 华为技术有限公司 | 数据包发送方法、数据包获取方法及装置 |
CN104980519A (zh) * | 2015-06-29 | 2015-10-14 | 北京奇虎科技有限公司 | 多机房存储系统 |
US20150293712A1 (en) * | 2012-12-28 | 2015-10-15 | Tencent Technology (Shenzhen) Co., Ltd. | Data synchronization method, apparatus and system |
CN105306585A (zh) * | 2015-11-12 | 2016-02-03 | 焦点科技股份有限公司 | 一种多数据中心的数据同步方法 |
CN105512244A (zh) * | 2015-11-30 | 2016-04-20 | 北京京东尚科信息技术有限公司 | 基于消息队列实现数据库事务处理的方法及装置 |
CN107239324A (zh) * | 2017-05-22 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 业务流转处理方法、装置及系统 |
-
2017
- 2017-12-29 CN CN201711482489.0A patent/CN108093077B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101997661A (zh) * | 2009-08-14 | 2011-03-30 | 华为技术有限公司 | 数据包发送方法、数据包获取方法及装置 |
US20150293712A1 (en) * | 2012-12-28 | 2015-10-15 | Tencent Technology (Shenzhen) Co., Ltd. | Data synchronization method, apparatus and system |
CN104980519A (zh) * | 2015-06-29 | 2015-10-14 | 北京奇虎科技有限公司 | 多机房存储系统 |
CN105306585A (zh) * | 2015-11-12 | 2016-02-03 | 焦点科技股份有限公司 | 一种多数据中心的数据同步方法 |
CN105512244A (zh) * | 2015-11-30 | 2016-04-20 | 北京京东尚科信息技术有限公司 | 基于消息队列实现数据库事务处理的方法及装置 |
CN107239324A (zh) * | 2017-05-22 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 业务流转处理方法、装置及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241180A (zh) * | 2018-08-01 | 2019-01-18 | 福建天泉教育科技有限公司 | 一种基于日志的数据同步的方法及装置 |
CN109241180B (zh) * | 2018-08-01 | 2021-06-04 | 福建天泉教育科技有限公司 | 一种基于日志的数据同步的方法及装置 |
CN110955532A (zh) * | 2018-09-27 | 2020-04-03 | 北京国双科技有限公司 | 消息处理方法、装置及计算机设备 |
CN112364079A (zh) * | 2020-11-12 | 2021-02-12 | 北京思特奇信息技术股份有限公司 | 一种多业务交互异常处理方法、系统和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108093077B (zh) | 2019-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10205760B2 (en) | Task coordination in distributed systems | |
US20200067726A1 (en) | Iot provisioning service | |
CN102947797B (zh) | 使用横向扩展目录特征的在线服务访问控制 | |
CN108256002A (zh) | 跨机房数据同步方法、装置、系统以及服务器 | |
KR20190061018A (ko) | IoT 디바이스의 자동 프로비저닝 | |
CN108347477A (zh) | 数据发送方法、装置以及服务器 | |
CN108093077A (zh) | 异常处理方法、装置以及服务器 | |
CN108347476A (zh) | 跨机房数据同步方法、装置以及服务器 | |
EP3899771B1 (en) | Secure offline streaming of content | |
CN107111510B (zh) | 一种针对vnf包进行操作的方法及装置 | |
CN111625497B (zh) | 一种分布式文件系统的部署方法、装置、设备及存储介质 | |
CN106716968A (zh) | 账户管理方法、装置及账户管理系统 | |
CN107818013A (zh) | 一种应用调度方法及装置 | |
CN105871805A (zh) | 防盗链的方法及装置 | |
CN110138754A (zh) | 一种多云端信息处理系统及其资源共享方法 | |
CN108063813A (zh) | 一种集群环境下密码服务网络并行化的方法与系统 | |
CN115118705A (zh) | 一种基于微服务的工业边缘管控平台 | |
US11190359B2 (en) | Device and system for accessing a distributed ledger | |
WO2020256831A1 (en) | Smart contract information redirect to updated version of smart contract | |
CN107920136B (zh) | 数据同步控制方法、装置以及服务器 | |
US20220278989A1 (en) | Access control for private channels in a channel-based discussion system | |
CN107306289A (zh) | 一种基于云计算的负载均衡方法及设备 | |
CN106330492A (zh) | 一种配置用户设备转发表的方法、装置及系统 | |
CN105554134A (zh) | 信息同步方法及装置 | |
CN105591902A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 523860 No. 18, Wu Sha Beach Road, Changan Town, Dongguan, Guangdong Applicant after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. Address before: 523860 No. 18, Wu Sha Beach Road, Changan Town, Dongguan, Guangdong Applicant before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190625 |