CN106850835B - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN106850835B CN106850835B CN201710118112.0A CN201710118112A CN106850835B CN 106850835 B CN106850835 B CN 106850835B CN 201710118112 A CN201710118112 A CN 201710118112A CN 106850835 B CN106850835 B CN 106850835B
- Authority
- CN
- China
- Prior art keywords
- synchronized
- data
- queuing
- data node
- node
- 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.)
- Active
Links
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了数据处理方法及装置,属于数据传输领域。上述方法包括:确定待同步数据节点的排队信息;当所述排队信息满足数据同步条件时,同步来自所述待同步数据节点的数据。本发明能够保证多个待同步数据节点的数据有序无误的同步到服务器,从而稳定节点数据,降低服务器的峰值压力。
Description
技术领域
本发明涉及数据传输技术领域,特别涉及数据处理方法及装置。
背景技术
在数据处理领域中,有时会涉及如图1所示的网络架构,即该网络架构包括:服务器11和节点12。
服务器11用于接收来自节点12的数据、并进行同步存储,这一过程即为同步数据。
节点12为客户端,数量为2个以上,每个节点12都具有唯一的身份标识,服务器11通过不同的身份标识来区分不同的节点12。
在多个节点12同时同步大量数据时,服务器11的流量会大幅提升,增大服务器11的峰值压力,由此引发数据写入速度小于请求速度,导致服务器异常、内存膨胀和服务器11崩溃等问题。
发明内容
本发明实施例提供了数据处理方法及装置。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
根据本发明实施例的第一方面,提供了一种数据处理方法,所述方法包括:
确定待同步数据节点的排队信息;
当所述排队信息满足数据同步条件时,同步来自所述待同步数据节点的数据;
其中,所述确定待同步数据节点的排队信息,包括:
判断所述待同步数据节点是否已在所述排队列表中;
如果所述待同步数据节点已在所述排队列表中,计算所述待同步数据节点当前在所述排队列表中的排队序号;
如果所述待同步数据节点未在排队列表中,将所述待同步数据节点加入所述排队列表,并为所述待同步数据节点分配排队序号。
在上述方法基础上,作为可选的第一实施例,所述方法还包括:
根据所述排队信息,向所述待同步数据节点发送同步状态指示。
在上述方法基础上,作为可选的第二示例性实施例,所述方法还包括:
所述确定待同步数据节点的排队信息之前,接收所述待同步数据节点发送的排队查询请求;
或者,所述确定待同步数据节点的排队信息之前,接收所述待同步数据节点发送的数据。
在所述第二示例性实施例的基础上,作为可选的第三示例性实施例,当接收所述待同步数据节点发送的排队查询请求,或者接收到所述待同步数据节点发送的数据时,向所述待同步数据节点发送同步状态指示。
在所述第三示例性实施例的基础上,作为可选的第四示例性实施例,如果接收所述待同步数据节点发送的排队查询请求,所述同步来自所述待同步数据节点的数据,包括:
向所述待同步数据节点发送允许数据同步的指示;
接收所述待同步数据节点发送的数据。
在所述第三示例性实施例的基础上,作为可选的第五示例性实施例,如果接收所述待同步数据节点发送的排队查询请求,当所述排队信息不满足数据同步条件时,向所述待同步数据节点发送禁止数据同步的指示;
如果接收所述待同步数据节点发送的待同步数据,当所述排队信息不满足数据同步条件时,丢弃所述数据,并向所述待同步数据节点发送数据同步失败的指示。
在所述方法、及所述第一至第五示例性实施例中的任一个中,作为可选的第六示例性实施例,所述同步来自所述待同步数据节点的数据,包括:
按照所述排队信息中包含的开始排队时刻,同步来自所述待同步数据节点的数据。
在所述方法、及所述第一至第五示例性实施例中的任一个中,作为可选的第七示例性实施例,所述方法还包括:
在所述同步来自所述待同步数据节点的数据之后,将所述待同步数据节点从记录所述排队信息的排队列表中移除。
在所述第七示例性实施例的基础上,作为可选的第八示例性实施例,所述确定所述待同步数据节点的排队信息,包括:
判断所述待同步数据节点是否已在所述排队列表中;
如果所述待同步数据节点已在所述排队列表中,计算所述待同步数据节点当前在所述排队列表中的排队序号;
如果所述待同步数据节点未在排队列表中,将所述待同步数据节点加入所述排队列表,并为所述待同步数据节点分配排队序号。
在所述第八示例性实施例的基础上,作为可选的第九示例性实施例,如果所述待同步数据节点未在排队列表中,所述确定所述待同步数据节点的排队信息,还包括:
判断所述排队列表中节点的数量是否超过设定的数量阈值;
如果所述排队列表中节点的数量超过设定的数量阈值,向所述待同步数据节点发送排队失败的指示;
如果所述排队列表中节点的数量未超过设定的数量阈值,执行所述将所述待同步数据节点加入所述排队列表的步骤。
在所述第八示例性实施例的基础上,作为可选的第十示例性实施例,所述确定所述待同步数据节点的排队信息,还包括:
获取所述待同步数据节点的待同步数据的数据量;
判断所述待同步数据的数据量是否超出设定的数据量阈值;
如果所述待同步数据的数据量超出设定的数据量阈值,向所述待同步数据节点发送排队失败的指示;
如果所述待同步数据的数据量未超出设定的数据量阈值,执行所述判断所述待同步数据节点是否已在排队列表中的步骤。
在所述方法、及所述第一至第五示例性实施例的任一个中,作为可选的第十一示例性实施例,所述方法还包括:
每隔设置的自动掉线时间,比较所述待同步数据节点的当前排队时间和所述自动掉线时间;
如果所述待同步数据节点的当前排队时间大于所述自动掉线时间,从记录所述排队信息的排队列表中移除所述待同步数据节点。
根据本发明实施例的第二方面,提供一种数据处理装置,所述装置包括:
处理器,用于确定所述待同步数据节点的排队信息;在所述排队信息满足数据同步条件时,同步来自所述待同步数据节点的数据;
存储器,用于存储所述待同步数据节点的数据;
其中,所述处理器在确定所述待同步数据节点的排队信息时,被配置为:
判断所述待同步数据节点是否已在所述排队列表中;
如果所述待同步数据节点已在所述排队列表中,计算所述待同步数据节点当前在所述排队列表中的排队序号;
如果所述待同步数据节点未在排队列表中,将所述待同步数据节点加入所述排队列表,并为所述待同步数据节点分配排队序号。
在所述装置的基础上,作为可选的第一示例性实施例,所述装置还包括:发射器;所述处理器还用于,根据所述排队信息,触发所述发射器向所述待同步数据节点发送同步状态指示。
在所述装置的基础上,作为可选的第二示例性实施例,所述装置还包括:
接收器,用于接收所述待同步数据节点发送的排队查询请求;或者,接收所述待同步数据节点发送的数据。
在所述第二示例性实施例的基础上,作为可选的第三示例性实施例,所述装置还包括:发射器;所述处理器还用于,在所述接收器接收所述待同步数据节点发送的排队查询请求,或者接收所述待同步数据节点发送的数据时,触发所述发射器向所述待同步数据节点发送同步状态指示。
在所述第三示例性实施例的基础上,作为可选的第四示例性实施例,所述发射器还用于,由所述处理器在所述接收器接收所述待同步数据节点发送的排队查询请求时触发,向所述待同步数据节点发送允许数据同步的指示;
所述接收器,还用于接收所述待同步数据节点发送的数据。
在所述第三示例性实施例的基础上,作为可选的第五示例性实施例,所述发射器还用于,在所述处理器确定所述排队信息不满足数据同步条件、且所述接收器接收所述待同步数据节点发送的排队查询请求时,向所述待同步数据节点发送禁止数据同步的指示;在所述处理器确定所述排队信息不满足数据同步条件、且所述接收器接收所述待同步数据节点发送的数据时,向所述待同步数据节点发送数据同步失败的指示;
所述处理器,还用于在确定所述排队信息不满足数据同步条件、且所述接收器接收所述待同步数据节点发送的数据时,丢弃所述数据。
在所述装置、及所述第一至第五示例性实施例的任一个中,作为可选的第六示例性实施例,所述处理器在同步来自所述待同步数据节点的数据时,被配置为:按照所述排队信息中包含的排队时刻,同步来自所述待同步数据节点的数据。
在所述装置、及所述第一至第五示例性实施例的任一个中,作为可选的第七示例性实施例,所述处理器,还用于在同步来自所述待同步数据节点的数据之后,将所述待同步数据节点从记录所述排队信息的排队列表中移除。
在所述第七示例性实施例的基础上,作为可选的第八示例性实施例,所述处理器在确定所述待同步数据节点的排队信息时,被配置为:
判断所述待同步数据节点是否已在所述排队列表中;
如果所述待同步数据节点已在所述排队列表中,计算所述待同步数据节点当前在所述排队列表中的排队序号;
如果所述待同步数据节点未在排队列表中,将所述待同步数据节点加入所述排队列表,并为所述待同步数据节点分配排队序号。
在所述第八示例性实施例的基础上,作为可选的第九示例性实施例,如果所述待同步数据节点未在排队列表中,所述处理器还被配置为:
判断所述排队列表中节点的数量是否超过设定的数量阈值;
如果所述排队列表中节点的数量超过设定的数量阈值,向所述待同步数据节点发送排队失败的指示;
如果所述排队列表中节点的数量未超过设定的数量阈值,执行所述将所述待同步数据节点加入所述排队列表的操作。
在所述第八示例性实施例的基础上,作为可选的第十示例性实施例,所述处理器在确定所述待同步数据节点的排队信息时,还被配置为:
获取所述待同步数据节点的待同步数据的数据量;
判断所述待同步数据的数据量是否超出设定的数据量阈值;
如果所述待同步数据的数据量超出设定的数据量阈值,向所述待同步数据节点发送排队失败的指示;
如果所述待同步数据的数据量未超出设定的数据量阈值,执行所述判断所述待同步数据节点是否已在排队列表中的操作。
在所述装置、及所述第一至第五示例性实施例的基础上,作为可选的第十一示例性实施例,所述装置还包括定时器;
所述处理器被配置为:
每隔所述定时器计时的自动掉线时间,比较所述待同步数据节点的当前排队时间和所述自动掉线时间;
如果所述待同步数据节点的当前排队时间大于所述自动掉线时间,从记录所述排队信息的排队列表中移除所述待同步数据节点。
本发明实施例提供的技术方案可以包括以下有益效果:
服务器维护用于数据同步的排队信息,并确定待同步数据节点的排队信息,在排队信息满足数据同步条件时与待同步数据节点执行同步数据的操作,保证多个待同步数据节点的数据有序无误的同步到服务器,从而稳定节点数据,降低服务器的峰值压力。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是一种网络架构的框图;
图2是根据一示例性实施例示出的一种数据处理方法的流程示意图;
图3是根据一示例性实施例示出的节点登陆服务器的流程示意图;
图4是根据一示例性实施例示出的数据处理方法的流程示意图;
图5是根据一示例性实施例示出的数据处理方法的流程示意图;
图6是根据一示例性实施例示出的一种数据处理装置的框图;
图7是根据一示例性实施例示出的一种数据处理装置的框图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,各实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。本文中,诸如第一和第二等之类的关系术语仅仅用于将一个实体或者操作与另一个实体或操作区分开来,而不要求或者暗示这些实体或操作之间存在任何实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素。本文中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的结构、产品等而言,由于其与实施例公开的部分相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
图2是根据一示例性实施例示出的一种数据处理方法的流程示意图,该方法可以应用于图1所示的服务器11中,包括如下步骤。
在步骤201中,确定待同步数据节点的排队信息。
在步骤202中,当排队信息满足数据同步条件时,同步来自待同步数据节点的数据。
可见,在图2所示的示例性实施例中,服务器维护用于数据同步的排队信息,并确定待同步数据节点的排队信息,在确定出的排队信息满足数据同步条件时同步来自待同步数据节点的数据,保证多个待同步数据节点的数据有序无误的同步到服务器,从而稳定节点数据,降低服务器的峰值压力。
在数据处理方法的一示例性的实施例中,基于图2所示的流程,还可以根据排队信息向待同步数据节点发送同步状态指示。上述同步状态指示可以包括开始同步、正在同步和结束同步等指示同步状态的信息,还可以向待同步数据节点指示排队信息。上述同步状态指示的发送可以由事件触发,例如在开始同步来自待同步数据节点的数据时,发送指示开始同步的同步状态指示,在同步结束时,发送指示结束同步的同步状态指示,在确定出待同步数据节点的排队信息时,向待同步数据节点指示排队信息。上述同步状态指示也可以周期发送,例如在确定待同步数据节点的排队信息之后,每隔设定时间间隔,向待同步数据节点发送同步状态指示。
在数据处理方法的一示例性的实施例中,基于图2所示的流程,作为一种可选的实施方式,待同步数据节点先向服务器查询自身的排队情况,如果满足数据同步条件,再进行数据同步操作,由此可以节省流量。此时服务器可以在接收待同步数据节点发送的排队查询请求之后,再确定待同步数据节点的排队信息。进一步,服务器在确定待同步数据节点的排队信息满足数据同步条件时,可以先向待同步数据节点发送允许数据同步的指示,然后接收待同步数据节点发送的数据。服务器在确定待同步数据节点的排队信息不满足数据同步条件时,可以向待同步数据节点发送禁止数据同步的指示。当然,服务器在确定待同步数据节点的排队信息不满足数据同步条件时,也可以不向待同步数据节点发送禁止数据同步的指示,例如待同步数据节点在发送排队查询请求之后的设定时间内未收到允许数据同步的指示时,就可以确定当前不能进行数据同步,而根据设定的时间间隔再次发送排队查询请求,又例如服务器可以不立即禁止待同步数据节点的数据同步,而是向待同步数据节点返回正在排队的指示和排队信息,待同步数据节点收到后根据设定的时间间隔再次发送排队查询请求。关于待同步数据节点的处理流程,将在下文用于节点的方法流程中详述。作为另一种实施方式,待同步数据节点也可以直接将数据发送至服务器,由此节省操作步骤。此时服务器可以在接收待同步数据节点发送的数据之后,再确定待同步数据节点的排队信息。进一步,服务器在确定待同步数据节点的排队信息满足数据同步条件时,可以直接同步待同步数据节点的数据,在确定待同步数据节点的排队信息不满足数据同步条件时,可以丢弃待同步数据节点的数据,并向待同步数据节点发送数据同步失败的指示。
在本示例性的实施例中,在接收待同步数据节点发送的排队查询请求、或者接收到待同步数据节点发送的数据时,服务器可以向待同步数据节点发送同步状态指示,同步状态指示可以包括即将确定待同步数据节点的排队信息的指示、和/或即将确定是否进行同步的指示。
在数据处理方法的一示例性的实施例中,服务器根据配置信息进行初始化。作为一种可选的实施方式,服务器初始化时,包括如下几项内容。在其他可选的实施方式中,根据数据处理方法流程的不同,服务器初始化时可以选择如下所列内容中的一项或几项,这里不做限定。
①建立在线节点字典和排队节点字典。在线节点字典中记录登陆服务器的节点,即记录在线节点。排队节点字典即排队列表,记录待同步数据节点的排队信息。
②建立节点信息字典,节点信息包括但不限于节点的身份标识、最后在线时间、最后排队时间、是否在线、是否排队等。
③建立标记,包括如下所列出的一项或几项:离线锁、自动掉线时间、最大同步数量、写入缓存最大数量和排队最大数量。这些标记的定义和用途将在下文中的示例性实施例中详细说明。
④建立定时器,该定时器用于对所建立标记中的自动掉线时间进行记录。
⑤启动服务器端口监听,即启动服务,可以包括监听待同步数据节点的各种请求,例如排队查询、登陆验证和数据传输等。
在数据处理方法的一示例性的实施例中,节点在要同步数据到服务器时,需先与服务器交互以完成登陆。图3是根据一示例性实施例示出的节点登陆服务器的流程示意图,该方法可以用于图1所示的服务器11中,包括以下步骤。
在步骤301中,接收待同步数据节点发送的登陆请求。
作为一种可选的实施方式,登陆请求中携带待同步数据节点的身份标识和授权信息,其中授权信息可以是与身份标识对应的自定义密码或预置信息。
在步骤302中,验证待同步数据节点的授权信息,如果验证通过,执行步骤303,如果验证失败,向待同步数据节点发送验证失败的指示。
在步骤303中,更新待同步数据节点的状态信息、并将待同步数据节点加入在线节点。
作为一种可选的实施方式,服务器在节点信息字典中将待同步数据节点的状态信息更改为在线并等待同步数据,并将待同步数据节点加入在线节点字典中。
在数据处理方法的一示例性的实施例中,服务器会将已同步数据节点及时从排队列表中移除,因此排队列表中记录的节点基于同步数据的完成情况是在动态变化的。在接收到待同步数据节点发送的排队查询请求后,服务器将动态确定待同步数据节点的排队信息,并根据确定出的排队信息是否满足设定的数据同步条件来进行数据同步。图4是根据一示例性实施例示出的数据处理方法的流程示意图,该方法可以用于图1所示的服务器11中,包括如下步骤。
在步骤401中,接收来自待同步数据节点的排队查询请求。
作为一种可选的实施方式,排队查询请求中携带待同步数据节点的身份标识。
在步骤402中,获取待同步数据节点的待同步数据的数据量。
作为一种可选的实施方式,排队查询请求中携带待同步数据的数据量,因此服务器在接收到排队查询请求之后,可以通过解析请求内容获取待同步数据的数据量。在另一种可选的实施方式中,待同步数据的数据量也可以通过节点和服务器之间独立的交互流程获取,例如服务器请求待同步数据节点上报本次待同步数据的数据量,待同步数据节点收到该请求后上报待同步数据的数据量。
在步骤403中,判断待同步数据的数据量是否超过设定的数据量阈值,如果超过,向待同步数据节点发送排队失败的指示,如果未超过,执行步骤404。
作为一种可选的实施方式,考虑到服务器处理能力及同步数据准确性,可以设定节点每次同步的数据量阈值,该数据量阈值对应前文所述的服务器在初始化所建立的写入缓存最大数量标记,当待同步数据的数据量超过数据量阈值时,不进行数据同步。作为另一种可选的实施方式,图4所示的方法流程中也可以不执行步骤402和步骤403,当接收到待同步数据节点的排队查询请求时,直接执行步骤404。
在步骤404中,判断待同步数据节点是否已在排队列表中,如果已在排队列表中,执行步骤405,如果未在排队列表中,执行步骤406。
在步骤405中,计算待同步数据节点当前在排队列表中的排队序号,然后执行步骤408。
在本示例性实施例中,待同步数据节点的排队信息包括排队序号。作为一种可选的实施方式,各个待同步数据节点的排队序号就是自身在排队列表中的顺序号,例如当某个待同步数据节点在排队列表中排在第3个时,其排队序号就是3。由于服务器会将已同步数据节点移除出排队列表,因此位于排队列表中的待同步数据节点的排队序号是动态变化的,服务器会根据当前待同步数据节点在排队列表中所处的顺序,计算出待同步数据节点的排队序号。
在步骤406中,判断排队列表中节点的数量是否超过设定数量阈值,如果已超过,向待同步数据节点发送排队失败的指示,如果未超过,执行步骤407。
作为一种可选的实施方式,在兼顾服务器处理能力和网络环境等因素的情况下,可以设定一个数量阈值,该数量阈值对应前文中所述的服务器初始化时所建立的排队最大数量标记,当排队列表中节点的数量已超过该数量阈值时,可以先不将待同步数据节点加入排队列表中。在另一种可选的实施方式中,图4所示的方法流程中也可以不包括步骤406,当待同步数据节点不在排队列表中时,直接执行步骤407。
在步骤407中,将待同步数据节点加入排队列表,并为待同步数据节点分配排队序号。
在步骤408中,判断待同步数据节点的排队序号是否小于设定的最大同步数量,如果小于,执行步骤409,如果大于,向待同步数据节点发送正在排队的指示和确定出的排队序号。
作为一种可选的实施方式,基于排队列表中的节点情况会动态变化,可以根据服务器处理能力设定一个最大同步数量,当待同步数据节点的排队序号小于该最大同步数量时,执行数据同步操作。
在步骤409中,向待同步数据节点发送允许数据同步的指示。
在步骤410中,接收来自待同步数据节点的数据。
在步骤411中,将待同步数据节点从排队列表中移除。
完成步骤411之后,针对待同步数据节点的数据同步流程结束。
上述图4以一个待同步数据节点为例进行描述,服务器可以同时处理多个待同步数据节点的请求,排队序号小于设定的最大同步数量的待同步数据节点可能有多个,此时各个待同步数据节点的排队信息中还可以包括开始排队时刻,服务器依据各个待同步数据节点的排队时刻的先后顺序,同步各个待同步数据节点的数据。
在数据处理方法的一示例性实施例中,服务器在初始化之后启动定时器,当定时器的计时时间达到设定的自动掉线时间时,比较位于排队列表中的每个节点的排队时间与定时器的计时时间,如果某节点的排队时间大于定时器的计时时间,则从排队列表中移除该节点。当某节点登陆并通过前文示例性流程被加入排队列表后,如果长时间不发送排队查询请求,将占用排队列表的资源,可能影响其他节点的数据同步,通过这种方式可以及时移除排队时间过长的节点。
在数据处理方法的一示例性实施例中,服务器在初始化之后启动定时器,当定时器的计时时间达到设定的自动掉线时间时,比较节点信息字典中每个节点的在线时间与定时器的计时时间,如果某节点的在线时间大于定时器的计时时间,则从节点信息字典中移除该节点。当某节点登陆后,如果长时间不发送排队查询请求,将占用在线资源,可能影响其他节点的登陆,通过这种方式可以及时移除在线时间过长的节点,节约在线资源。
作为一种可选的实施方式,以上涉及到定时器的两个示例性实施例,也可以合并为一个示例性实施例实现。
作为一种可选的实施方式,以上涉及到定时器的两个示例性实施例中,通过离线锁来确保当前移除节点的操作完成后,才能再进行新的移除操作。在上述定时器开始计时后,可以先检测当前离线锁是否为上锁状态,如果为上锁状态,则当前移除节点的操作还未完成,当前不能只能执行新的移除操作,结束流程。如果为未上锁状态,则先上锁离线锁,再开始执行前文中描述的移除节点的操作,完成移除操作后,解除离线锁。离线锁为服务器在初始化时建立的标记,上锁与否的状态可以通过检测该标记来实现。
对应图4所示的数据处理方法,图5是根据一示例性实施例示出的数据处理方法的流程示意图,该方法可以应用于图1所示的节点12中,包括如下步骤。
在步骤501中,向服务器发送排队查询请求。
在步骤502中,接收服务器返回的允许数据同步的指示。上述允许数据同步的指示,是服务器针对排队查询请求确定出的排队序号满足数据同步条件时发送的。
在步骤503中,向服务器执行数据同步。
在数据处理方法的一示例性实施例中,图5所示的方法还可以包括:接收服务器发送的正在排队的指示和排队序号。关于服务器发送该正在排队的指示和排队序号的可选流程前文已有详述。
在数据处理方法的一示例性实施例中,图5所示的方法还可以包括:接收服务器发送的排队失败的指示;在计时达到设定时间阈值时,执行所述向服务器发送排队查询请求的步骤。关于服务器发送该排队失败的指示的可选流程前文已有详述。这里的计时可以基于位于节点处的计时器实现。可见,待同步数据节点每隔设定时间,就可以向服务器发送排队查询请求,直至排队失败或完成数据同步。
进一步,为了避免过度操作,在上述计时达到设定时间阈值时,还可以先判断向服务器发送排队查询请求的次数是否已超过设定的次数阈值,如果向服务器发送排队查询请求的次数未超过设定的次数阈值,执行向服务器发送排队查询请求的步骤。
在数据处理方法的一示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,可以位于服务器或待同步数据节点一侧,例如包括指令的存储器,上述指令可由处理器执行以完成前文所述的方法的各个示例性实施例。上述非临时性计算机可读存储介质可以是只读存储器(Read Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁带和光存储设备等。
图6是根据一示例性实施例示出的一种数据处理装置的框图,该装置可以位于图1所示的服务器11一侧,包括:处理器61和存储器62。
处理器61,用于确定待同步数据节点的排队信息;在排队信息满足数据同步条件时,同步来自待同步数据节点的数据。
存储器62,用于存储待同步数据节点的数据。
在数据处理装置的一示例性实施例中,装置中还可以包括:发射器。进一步,处理器61还可以用于根据排队信息,触发发射器向待同步数据节点发送同步状态指示。
在数据处理装置的一示例性实施例中,装置中还可以包括:接收器,用于接收待同步数据节点发送的排队查询请求;或者,接收待同步数据节点发送的数据。
进一步,装置中还可以包括:发射器。进一步,处理器61还可以在所述接收器接收所述待同步数据节点发送的排队查询请求,或者接收所述待同步数据节点发送的数据时,触发发射器向待同步数据节点发送同步状态指示。
进一步,上述发射器,还用于由处理器61在接收器接收待同步数据节点发送的排队查询请求时触发,向待同步数据节点发送允许数据同步的指示。此时,接收器,还用于接收待同步数据节点发送的数据。
进一步,在处理器61确定排队信息不满足数据同步条件、且接收器接收待同步数据节点发送的排队查询请求时,上述发射器可以向待同步数据节点发送禁止数据同步的指示。在处理器61确定排队信息不满足数据同步条件、且接收器接收待同步数据节点发送的数据时,上述发射器向待同步数据节点发送数据同步失败的指示。此时处理器61,还用于在确定排队信息不满足数据同步条件、且接收器接收待同步数据节点发送的数据时,丢弃数据。
在数据处理装置的一示例性实施例中,处理器61在同步来自待同步数据节点的数据时,被配置为:按照排队信息中包含的排队时刻,同步来自待同步数据节点的数据。
在数据处理装置的一示例性实施例中,处理器61在确定待同步数据节点的排队信息时,被配置为:判断待同步数据节点是否已在排队列表中;如果待同步数据节点已在排队列表中,计算待同步数据节点当前在排队列表中的排队序号;如果待同步数据节点未在排队列表中,将待同步数据节点加入排队列表,并为待同步数据节点分配排队序号。
进一步,如果待同步数据节点未在排队列表中,处理器61还被配置为:判断排队列表中节点的数量是否超过设定的数量阈值;如果排队列表中节点的数量超过设定的数量阈值,向所述待同步数据节点发送排队失败的指示;如果排队列表中节点的数量未超过设定的数量阈值,执行将待同步数据节点加入所述排队列表的操作。
进一步,作为另一种可选的实施方式,处理器61在确定待同步数据节点的排队信息时,还被配置为:获取待同步数据节点的数据的数据量;判断数据量是否超出设定的数据量阈值;如果数据量超出设定的数据量阈值,向待同步数据节点发送排队失败的指示;如果数据量未超出设定的数据量阈值,执行判断待同步数据节点是否已在排队列表中的操作。
在数据处理装置的一示例性实施例中,数据处理装置还包括定时器。处理器61被配置为:每隔定时器计时的自动掉线时间,比较待同步数据节点的当前排队时间和自动掉线时间;如果待同步数据节点的当前排队时间大于自动掉线时间,从记录排队信息的排队列表中移除待同步数据节点。
对应上述一个示例性实施例,图7是根据一示例性实施例示出的一种数据处理装置的框图,该装置可以位于图1所示的节点12一侧,包括:接收器72、处理器71和发射器73。
发射器73,用于向服务器发送排队查询请求。
接收器72,用于接收服务器返回的允许数据同步的指示。
处理器71,用于向服务器执行数据同步。
上述允许数据同步的指示,是服务器针对排队查询请求确定出的排队信息满足数据同步条件时发送的。
处理器71在向服务器执行数据同步时,可以通过发射器73向服务器发送数据,这里不做限定。
在数据处理装置的一示例性实施例中,接收器72还用于接收服务器发送的正在排队的指示和排队序号。
在数据处理装置的一示例性实施例中,接收器72还用于接收服务器发送的排队失败的指示。处理器73还被配置为在计时达到设定时间阈值时,触发发射器73执行操作。
进一步,处理器71在计时达到设定时间阈值时,还被配置为判断向服务器发送排队查询请求的次数是否已超过设定的次数阈值,如果向服务器发送排队查询请求的次数未超过设定的次数阈值,触发发射器73执行操作。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的流程及结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (22)
1.一种数据处理方法,其特征在于,所述方法包括:
确定待同步数据节点的排队信息;
当所述排队信息满足数据同步条件时,接收待同步数据节点发送的登陆请求;所述登陆请求中携带待同步数据节点的身份标识和授权信息,其中授权信息可以是与身份标识对应的自定义密码或预置信息;
验证待同步数据节点的授权信息,如果验证通过,更新待同步数据节点的状态信息、并将待同步数据节点加入在线节点,同步来自所述待同步数据节点的数据;如果验证失败,向待同步数据节点发送验证失败的指示;
所述数据同步条件,包括:
所述待同步数据的数据量小于设定的数量阈值,且,所述待同步数据节点的排队序号小于设定的最大同步数量;
其中,所述待同步数据节点的排队序号是通过所述确定待同步数据节点的排队信息获取的,包括:
判断所述待同步数据节点是否已在所述排队列表中;
如果所述待同步数据节点已在所述排队列表中,计算所述待同步数据节点当前在所述排队列表中的排队序号;
如果所述待同步数据节点未在排队列表中,在所述排队列表中节点的数量未超过设定数量阈值的情况下,将所述待同步数据节点加入所述排队列表,并为所述待同步数据节点分配排队序号;在所述排队列表中节点的数量超过设定数量阈值的情况下,向所述待同步数据节点发送排队失败的指示。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述排队信息,向所述待同步数据节点发送同步状态指示。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述确定待同步数据节点的排队信息之前,接收所述待同步数据节点发送的排队查询请求;
或者,所述确定待同步数据节点的排队信息之前,接收所述待同步数据节点发送的数据。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
当接收所述待同步数据节点发送的排队查询请求,或者接收到所述待同步数据节点发送的数据时,向所述待同步数据节点发送同步状态指示。
5.如权利要求4所述的方法,其特征在于,如果接收所述待同步数据节点发送的排队查询请求,所述同步来自所述待同步数据节点的数据,包括:
向所述待同步数据节点发送允许数据同步的指示;
接收所述待同步数据节点发送的数据。
6.如权利要求4所述的方法,其特征在于,如果接收所述待同步数据节点发送的排队查询请求,当所述排队信息不满足数据同步条件时,向所述待同步数据节点发送禁止数据同步的指示;
如果接收所述待同步数据节点发送的待同步数据,当所述排队信息不满足数据同步条件时,丢弃所述数据,并向所述待同步数据节点发送数据同步失败的指示。
7.如权利要求1至6任一项所述的方法,其特征在于,所述同步来自所述待同步数据节点的数据,包括:
按照所述排队信息中包含的开始排队时刻,同步来自所述待同步数据节点的数据。
8.如权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
在所述同步来自所述待同步数据节点的数据之后,将所述待同步数据节点从记录所述排队信息的排队列表中移除。
9.如权利要求1所述的方法,其特征在于,如果所述待同步数据节点未在排队列表中,所述确定所述待同步数据节点的排队信息,还包括:
判断所述排队列表中节点的数量是否超过设定的数量阈值;
如果所述排队列表中节点的数量超过设定的数量阈值,向所述待同步数据节点发送排队失败的指示;
如果所述排队列表中节点的数量未超过设定的数量阈值,执行所述将所述待同步数据节点加入所述排队列表的步骤。
10.如权利要求1所述的方法,其特征在于,所述确定所述待同步数据节点的排队信息,还包括:
获取所述待同步数据节点的待同步数据的数据量;
判断所述待同步数据的数据量是否超出设定的数据量阈值;
如果所述待同步数据的数据量超出设定的数据量阈值,向所述待同步数据节点发送排队失败的指示;
如果所述待同步数据的数据量未超出设定的数据量阈值,执行所述判断所述待同步数据节点是否已在排队列表中的步骤。
11.如权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
每隔设置的自动掉线时间,比较所述待同步数据节点的当前排队时间和所述自动掉线时间;
如果所述待同步数据节点的当前排队时间大于所述自动掉线时间,从记录所述排队信息的排队列表中移除所述待同步数据节点。
12.一种数据处理装置,其特征在于,所述装置包括:
处理器,用于确定待同步数据节点的排队信息;在所述排队信息满足数据同步条件时,接收待同步数据节点发送的登陆请求;所述登陆请求中携带待同步数据节点的身份标识和授权信息,其中授权信息可以是与身份标识对应的自定义密码或预置信息;
验证待同步数据节点的授权信息,如果验证通过,更新待同步数据节点的状态信息、并将待同步数据节点加入在线节点,同步来自所述待同步数据节点的数据;如果验证失败,向待同步数据节点发送验证失败的指示;
所述数据同步条件,包括:
所述待同步数据的数据量小于设定的数量阈值,且,所述待同步数据节点的排队序号小于设定的最大同步数量;
存储器,用于存储所述待同步数据节点的数据;
其中,所述待同步数据节点的排队序号是通过所述处理器在确定所述待同步数据节点的排队信息时获取的,所述处理器还被配置为:
判断所述待同步数据节点是否已在所述排队列表中;
如果所述待同步数据节点已在所述排队列表中,计算所述待同步数据节点当前在所述排队列表中的排队序号;
如果所述待同步数据节点未在排队列表中,在所述排队列表中节点的数量未超过设定数量阈值的情况下,将所述待同步数据节点加入所述排队列表,并为所述待同步数据节点分配排队序号;在所述排队列表中节点的数量超过设定数量阈值的情况下,向所述待同步数据节点发送排队失败的指示。
13.如权利要求12所述的装置,其特征在于,所述装置还包括:发射器;
所述处理器还用于,根据所述排队信息,触发所述发射器向所述待同步数据节点发送同步状态指示。
14.如权利要求12所述的装置,其特征在于,所述装置还包括:
接收器,用于接收所述待同步数据节点发送的排队查询请求;或者,接收所述待同步数据节点发送的数据。
15.如权利要求14所述的装置,其特征在于,所述装置还包括:发射器;
所述处理器还用于,在所述接收器接收所述待同步数据节点发送的排队查询请求,或者接收所述待同步数据节点发送的数据时,触发所述发射器向所述待同步数据节点发送同步状态指示。
16.如权利要求15所述的装置,其特征在于,所述发射器还用于,由所述处理器在所述接收器接收所述待同步数据节点发送的排队查询请求时触发,向所述待同步数据节点发送允许数据同步的指示;
所述接收器,还用于接收所述待同步数据节点发送的数据。
17.如权利要求15所述的装置,其特征在于,所述发射器还用于,在所述处理器确定所述排队信息不满足数据同步条件、且所述接收器接收所述待同步数据节点发送的排队查询请求时,向所述待同步数据节点发送禁止数据同步的指示;在所述处理器确定所述排队信息不满足数据同步条件、且所述接收器接收所述待同步数据节点发送的数据时,向所述待同步数据节点发送数据同步失败的指示;
所述处理器,还用于在确定所述排队信息不满足数据同步条件、且所述接收器接收所述待同步数据节点发送的数据时,丢弃所述数据。
18.如权利要求12至17任一项所述的装置,其特征在于,所述处理器在同步来自所述待同步数据节点的数据时,被配置为:按照所述排队信息中包含的排队时刻,同步来自所述待同步数据节点的数据。
19.如权利要求12至17任一项所述的装置,其特征在于,所述处理器,还用于在同步来自所述待同步数据节点的数据之后,将所述待同步数据节点从记录所述排队信息的排队列表中移除。
20.如权利要求12所述的装置,其特征在于,如果所述待同步数据节点未在排队列表中,所述处理器还被配置为:
判断所述排队列表中节点的数量是否超过设定的数量阈值;
如果所述排队列表中节点的数量超过设定的数量阈值,向所述待同步数据节点发送排队失败的指示;
如果所述排队列表中节点的数量未超过设定的数量阈值,执行所述将所述待同步数据节点加入所述排队列表的操作。
21.如权利要求12所述的装置,其特征在于,所述处理器在确定所述待同步数据节点的排队信息时,还被配置为:
获取所述待同步数据节点的数据的数据量;
判断所述数据量是否超出设定的数据量阈值;
如果所述数据量超出设定的数据量阈值,向所述待同步数据节点发送排队失败的指示;
如果所述待同步数据的数据量未超出设定的数据量阈值,执行所述判断所述待同步数据节点是否已在排队列表中的操作。
22.如权利要求12至17任一项所述的装置,其特征在于,所述装置还包括定时器;
所述处理器被配置为:
每隔所述定时器计时的自动掉线时间,比较所述待同步数据节点的当前排队时间和所述自动掉线时间;
如果所述待同步数据节点的当前排队时间大于所述自动掉线时间,从记录所述排队信息的排队列表中移除所述待同步数据节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710118112.0A CN106850835B (zh) | 2017-03-01 | 2017-03-01 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710118112.0A CN106850835B (zh) | 2017-03-01 | 2017-03-01 | 数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106850835A CN106850835A (zh) | 2017-06-13 |
CN106850835B true CN106850835B (zh) | 2020-07-17 |
Family
ID=59138486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710118112.0A Active CN106850835B (zh) | 2017-03-01 | 2017-03-01 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106850835B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107566412B (zh) * | 2017-10-23 | 2020-12-04 | 朱子腾 | 基于动态密码及网络节点存储技术的账号共享系统 |
CN113392153A (zh) * | 2020-03-13 | 2021-09-14 | 阿里巴巴集团控股有限公司 | 数据同步方法、装置、电子设备及计算机存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006282A (zh) * | 2010-10-26 | 2011-04-06 | 福州星网视易信息系统有限公司 | 客户端/服务器模式下的数据库访问集中控制方法 |
CN103326935A (zh) * | 2013-07-18 | 2013-09-25 | 华南师范大学 | 一种基于微博平台的智能轮候的方法及系统 |
CN103561468A (zh) * | 2013-11-08 | 2014-02-05 | 深圳安信卓科技有限公司 | 集群系统中终端定位信息上传的控制方法及装置 |
CN105357239A (zh) * | 2014-08-20 | 2016-02-24 | 杭州华三通信技术有限公司 | 提供服务的方法和装置、获取服务的方法及装置 |
CN105812492A (zh) * | 2016-05-16 | 2016-07-27 | 中国建设银行股份有限公司 | 一种数据同步方法及系统 |
CN106254373A (zh) * | 2016-08-31 | 2016-12-21 | 北京信安世纪科技有限公司 | 数字证书同步方法、数字签名服务器及数字证书同步系统 |
CN106375314A (zh) * | 2016-08-31 | 2017-02-01 | 腾讯科技(深圳)有限公司 | 一种游戏同步方法、游戏客户端及游戏服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100306249A1 (en) * | 2009-05-27 | 2010-12-02 | James Hill | Social network systems and methods |
-
2017
- 2017-03-01 CN CN201710118112.0A patent/CN106850835B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006282A (zh) * | 2010-10-26 | 2011-04-06 | 福州星网视易信息系统有限公司 | 客户端/服务器模式下的数据库访问集中控制方法 |
CN103326935A (zh) * | 2013-07-18 | 2013-09-25 | 华南师范大学 | 一种基于微博平台的智能轮候的方法及系统 |
CN103561468A (zh) * | 2013-11-08 | 2014-02-05 | 深圳安信卓科技有限公司 | 集群系统中终端定位信息上传的控制方法及装置 |
CN105357239A (zh) * | 2014-08-20 | 2016-02-24 | 杭州华三通信技术有限公司 | 提供服务的方法和装置、获取服务的方法及装置 |
CN105812492A (zh) * | 2016-05-16 | 2016-07-27 | 中国建设银行股份有限公司 | 一种数据同步方法及系统 |
CN106254373A (zh) * | 2016-08-31 | 2016-12-21 | 北京信安世纪科技有限公司 | 数字证书同步方法、数字签名服务器及数字证书同步系统 |
CN106375314A (zh) * | 2016-08-31 | 2017-02-01 | 腾讯科技(深圳)有限公司 | 一种游戏同步方法、游戏客户端及游戏服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN106850835A (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2563062A1 (en) | Long connection management apparatus and link resource management method for long connection communication | |
CN105224255B (zh) | 一种存储文件管理方法及装置 | |
CN102769549A (zh) | 网络安全监控的方法和装置 | |
CN109558065B (zh) | 数据删除方法及分布式存储系统 | |
CN101771723A (zh) | 数据同步方法 | |
US8190857B2 (en) | Deleting a shared resource node after reserving its identifier in delete pending queue until deletion condition is met to allow continued access for currently accessing processor | |
CN111641585B (zh) | 一种DDoS攻击检测方法及设备 | |
CN104580216A (zh) | 一种对访问请求进行限制的系统和方法 | |
CN106850835B (zh) | 数据处理方法及装置 | |
CN104092620A (zh) | 一种实现网络带宽调整的方法及装置 | |
CN112016030A (zh) | 消息推送的方法、装置、服务器和计算机存储介质 | |
CN103188160A (zh) | 一种流量控制方法和转发单元 | |
CN103995901B (zh) | 一种确定数据节点失效的方法 | |
CN111526013A (zh) | 密钥分发方法及系统 | |
CN101778131A (zh) | 数据同步系统 | |
CN111147468A (zh) | 用户接入方法、装置、电子设备及存储介质 | |
US11252121B2 (en) | Message sending method and terminal device | |
CN114363091A (zh) | 一种基于apisix实现平台应用统一登录的方法及系统 | |
CN114866250A (zh) | 车内can网络新鲜值构建方法、装置、车辆及存储介质 | |
CN111092956A (zh) | 资源同步方法、装置、存储介质及设备 | |
CN114584519B (zh) | 一种消息中间件的限流方法及消息中间件 | |
CN113923260B (zh) | 一种对代理环境进行处理的方法、装置、终端及存储介质 | |
CN102811154B (zh) | 资源获取方法与网络服务器系统 | |
CN112131267B (zh) | 计数处理方法、装置、服务器和计数处理系统 | |
CN112068784B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201218 Address after: Room 102, enlightenment star, 14 Donghai Road, Shizhong District, Zaozhuang City, Shandong Province, 277100 Patentee after: Haskell (Shandong) Medical Technology Co.,Ltd. Address before: A802a, 8th floor, building 8, yard 1, Zhongguancun East Road, Haidian District, Beijing Patentee before: WUXI HISKY MEDIAL TECHNOLOGIES Co.,Ltd. |