CN106790345A - 数据序列号分配方法及分配装置 - Google Patents

数据序列号分配方法及分配装置 Download PDF

Info

Publication number
CN106790345A
CN106790345A CN201610989300.6A CN201610989300A CN106790345A CN 106790345 A CN106790345 A CN 106790345A CN 201610989300 A CN201610989300 A CN 201610989300A CN 106790345 A CN106790345 A CN 106790345A
Authority
CN
China
Prior art keywords
sequence number
data sequence
server
interval
master
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
Application number
CN201610989300.6A
Other languages
English (en)
Other versions
CN106790345B (zh
Inventor
朱鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610989300.6A priority Critical patent/CN106790345B/zh
Publication of CN106790345A publication Critical patent/CN106790345A/zh
Application granted granted Critical
Publication of CN106790345B publication Critical patent/CN106790345B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities

Abstract

本发明提供一种数据序列号分配方法,用于数据序列号分配装置进行数据序列号分配,其中数据序列号分配装置包括多个数据序列号服务器以及协调调度模块,其中该数据序列号分配方法包括:协调调度模块接收初始化指令,并根据初始化指令,确定多个数据序列号服务器中的第一主数据序列号服务器以及备用数据序列号服务器;第一主数据序列号服务器生成第一数据序列号区间,并将第一数据序列号区间同步到备用数据序列号服务器;第一主数据序列号服务器接收请求设备的数据序列号获取请求,并根据数据序列号获取请求,从第一数据序列号区间中获取数据序列号;第一主数据序列号服务器将数据序列号发送至请求设备。本发明还提供一种数据序列号分配装置。

Description

数据序列号分配方法及分配装置
技术领域
本发明涉及互联网领域,特别是涉及一种数据序列号分配方法及分配装置。
背景技术
随着科技的发展,应用开发商开发了各种各样的业务应用,这些业务应用的服务器给相应的用户客户端发送数据时,需要预先到数据序列号服务器请求相应的数据序列号,以便客户端对数据进行正确的处理,如对信息数据按触发时间设置数据序列号,以便信息数据可按触发时间进行排列等。因此数据序列号服务器提供的数据序列号应该为严格递增的。
为了保证数据序列号服务器的正常工作,应用开发商可能会设置一个主数据序列号服务器和多个备用数据序列号服务器,如主数据序列号服务器出现问题无法提供数据序列号提供服务时,可以立即转换为备用数据序列号服务器进行数据序列号的提供服务。
但是如主数据序列号服务器以及备用数据序列号服务器之间没有进行数据序列号同步或数据序列号同步不及时,可能会导致备用数据序列号服务器提供的数据序列号无法实现严格递增,从而导致信息数据对应的数据序列号产生混乱,如主数据序列号服务器出现问题前的信息数据和主数据序列号服务器出现问题后的信息数据对应同一个数据序列号,这样导致客户端可能无法对信息数据进行处理,如无法对信息数据按触发时间进行排序等。
发明内容
本发明实施例提供一种高可靠性以及高准确性的数据序列号分配方法及分配装置;以解决现有的数据序列号分配服务装置的容易由于主数据序列号服务器的故障,造成提供数据序列号的准确性以及可靠性下降的技术问题。
本发明实施例提供一种数据序列号分配方法,用于数据序列号分配装置进行数据序列号分配,其中所述数据序列号分配装置包括用于进行数据序列号分配的多个数据序列号服务器以及用于对所述数据序列号服务器进行调度的协调调度模块;其中所述数据序列号分配方法包括:
所述协调调度模块接收初始化指令,并根据所述初始化指令,确定多个所述数据序列号服务器中的第一主数据序列号服务器以及备用数据序列号服务器;
所述第一主数据序列号服务器生成第一数据序列号区间,并将所述第一数据序列号区间同步到所述备用数据序列号服务器;
所述第一主数据序列号服务器接收请求设备的数据序列号获取请求,并根据所述数据序列号获取请求,从所述第一数据序列号区间中获取数据序列号;以及
所述第一主数据序列号服务器将所述数据序列号发送至所述请求设备。
本发明实施例还提供一种数据序列号分配装置,其包括用于进行数据序列号分配的多个数据序列号服务器以及用于对所述数据序列号服务器进行调度的协调调度模块,其中
所述协调调度模块包括:
初始化单元,用于接收初始化指令,并根据所述初始化指令,确定多个所述数据序列号服务器中的第一主数据序列号服务器以及备用数据序列号服务器;
所述第一数据序列号服务器包括:
第一同步单元,用于生成第一数据序列号区间,并将所述第一数据序列号区间同步到所述备用数据序列号服务器;
第一数据序列号获取单元,用于接收请求设备的数据序列号获取请求,并根据所述数据序列号获取请求,从所述第一数据序列号区间中获取数据序列号;以及
第一数据序列号发送单元,用于将所述数据序列号发送至所述请求设备。
相较于现有技术,本发明的数据序列号分配方法及分配装置对数据序列号区间进行同步,使得主数据序列号服务器发生故障时,备用数据序列号服务器可以保证生成的数据序列号的严格递增性,从而提高了数据序列号分配装置分配的数据序列号的可靠性以及准确性;解决了现有的数据序列号分配服务装置的容易由于主数据序列号服务器的故障,造成提供数据序列号的准确性以及可靠性下降的技术问题。
附图说明
图1为本发明的数据序列号分配方法的第一优选实施例的流程图;
图2为本发明的数据序列号分配方法的第二优选实施例的流程图;
图3为本发明的数据序列号分配装置的第一优选实施例的结构示意图;
图4为本发明的数据序列号分配装置的第二优选实施例的结构示意图;
图5为本发明的数据序列号分配装置的第二优选实施例的第一数据序列号服务器的第一同步单元的结构示意图;
图6为本发明的数据序列号分配装置的第二优选实施例的第二数据序列号服务器的第二同步单元的结构示意图;
图7为本发明的数据序列号分配方法及分配装置的第一具体实施例的使用时序图;
图8为本发明的数据序列号分配方法及分配装置的第二具体实施例的使用时序图
图9为本发明的数据序列号分配装置所在的电子设备的工作环境结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行之作业的步骤及符号来说明,除非另有述明。因此,其将可了解到这些步骤及操作,其中有数次提到为由计算机执行,包括了由代表了以一结构化型式中的数据之电子信号的计算机处理单元所操纵。此操纵转换该数据或将其维持在该计算机之内存系统中的位置处,其可重新配置或另外以本领域技术人员所熟知的方式来改变该计算机之运作。该数据所维持的数据结构为该内存之实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域技术人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本发明的数据序列号分配方法可用于数据序列号服务器装置中,以便数据序列号服务器装置中的数据序列号服务器向业务应用服务器提供业务数据的数据序列号。本发明的数据序列号分配方法可在主数据序列号服务器发生故障时,依然保证提供给业务应用服务器的数据序列号具有严格递增性,从而提高了数据序列号服务器装置提供的数据序列号的可靠性以及准确性。
请参照图1,图1为本发明的数据序列号分配方法的第一优选实施例的流程图。本优选实施例的数据序列号分配方法可在上述的数据序列号服务器装置中进行实施,该数据序列号服务器装置包括用于进行数据序列号分配的多个数据序列号服务器以及用于对数据序列号服务器进行调度的协调调度模块。本优选实施例的数据序列号分配方法包括:
步骤S101,协调调度模块接收初始化指令,并根据初始化指令,确定多个数据序列号服务器中的第一主数据序列号服务器以及备用数据序列号服务器。
步骤S102,第一主数据序列号服务器生成第一数据序列号区间,并将第一数据序列号区间同步到备用数据序列号服务器。
步骤S103,第一主数据序列号服务器接收请求设备的数据序列号获取请求,并根据数据序列号获取请求,从第一数据序列号区间中获取数据序列号。
步骤S104,第一主数据序列号服务器将数据序列号发送至请求设备。
下面详细说明本优选实施例的数据序列号分配方法的各步骤的具体流程。
在步骤S101中,协调调度模块接收初始化指令,这里的初始化指令可为控制数据序列号服务器装置开始进行数据序列号分配的指令,这样数据序列号分配装置可根据该初始化指令,确定一主数据序列号服务器,即第一主数据序列号服务器进行数据序列号分配,其他的数据序列号服务器作为备用数据序列号服务器,以便主数据序列号服务器出现故障时,继续进行数据序列号的分配。随后转到步骤S102。
在步骤S102中,步骤S101确定的第一主数据序列号服务器生成第一数据序列号区间,并将第一数据序列号区间同步到其他备用数据序列号服务器上。
在本优选实施例中,第一主数据序列号服务器以数据序列号区间的方式进行数据序列号同步。如第一主数据序列号服务器设置第一数据序列号区间为[1-100000],并将该第一数据序列号区间同步到其他备用数据序列号服务器上,这样即使第一主数据序列号服务器发生故障,其他的备用数据序列号服务器只需要从100001开始分配数据序列号,即可保证数据序列号的严格递增性。
同时使用数据序列号区间进行同步,可以在保证数据序列号的可靠性和准确性的基础上,大大降低第一主数据序列号服务器和备用数据序列号服务器之间的同步频率,即第一主数据序列号服务器可在第一数据序列号区间使用完毕后,再进行其他数据序列号区间的同步操作,从而提升了数据序列号服务器装置的数据序列号的分配性能。随后转到步骤S103。
在步骤S103中,当第一主数据序列号服务器完成与其他备用数据序列号服务器的同步操作之后,第一主数据序列号服务器即会接收请求设备,如业务应用服务器等的数据序列号获取请求。这里的数据序列号获取请求为请求设备要求第一主数据序列号服务器提供数据相关的数据序列号的请求。
随后第一主数据序列号服务器根据该数据序列号获取请求,从第一数据序列号区间中获取数据序列号,这里的数据序列号可根据数据序列号获取请求的请求时间等参数,按照严格递增原则生成。
如该请求设备为聊天平台服务器,该聊天平台服务器按信息发送时间申请数据序列号,这样第一主数据序列号服务器可对八点零一分的一个消息设置00002的数据序列号,对八点零二分的一个消息设置00005的数据序列号,以保证上述消息在用户的客户端上可按信息发送时间进行排序。随后转到步骤S104。
在步骤S104中,第一主数据序列号服务器将步骤S103中生成的数据序列号发送至请求设备,以便请求设备对数据信息进行处理。
这样即完成了本优选实施例的数据序列号分配方法的数据序列号分配过程。
本优选实施例的数据序列号分配方法对数据序列号区间进行同步,使得主数据序列号服务器发生故障时,备用数据序列号服务器可以保证生成的数据序列号的严格递增性,从而提高了数据序列号分配装置分配的数据序列号的可靠性以及准确性。
请参照图2,图2为本发明的数据序列号分配方法的第二优选实施例的流程图。本优选实施例的数据序列号分配方法可在上述的数据序列号服务器装置中进行实施,该数据序列号服务器装置包括用于进行数据序列号分配的多个数据序列号服务器以及用于对数据序列号服务器进行调度的协调调度模块。本优选实施例的数据序列号分配方法包括:
步骤S201,协调调度模块接收初始化指令,并根据初始化指令,确定多个数据序列号服务器中的第一主数据序列号服务器以及备用数据序列号服务器。
步骤S202,第一主数据序列号服务器生成第一数据序列号区间,并将第一数据序列号区间同步到备用数据序列号服务器。
步骤S203,协调调度模块接收请求设备的主数据序列号服务器获取请求,并根据主数据序列号服务器获取请求将第一主数据序列号服务器的网络地址发送至请求设备,以便请求设备根据第一主数据序列号服务器的网络地址生成数据序列号获取请求。
步骤S204,第一主数据序列号服务器接收请求设备的数据序列号获取请求,并根据数据序列号获取请求,从第一数据序列号区间中获取数据序列号。
步骤S205,第一主数据序列号服务器将数据序列号发送至请求设备。
步骤S206,如第一主数据序列号服务器出现故障,则协调调度模块从备用数据序列号服务器中确定第二主数据序列号服务器。
步骤S207,第二主数据序列号服务器根据第一数据序列号区间,生成第二数据序列号区间,其中第二数据序列号区间的最小数据序列号大于第一数据序列号区间的最大数据序列号。
步骤S208,第二主数据序列号服务器将第二数据序列号区间同步到其他备用数据序列号服务器上。
步骤S209,协调调度模块接收请求设备的主数据序列号服务器获取请求,并根据主数据序列号服务器获取请求将第二主数据序列号服务器的网络地址发送至请求设备,以便请求设备根据第二主数据序列号服务器的网络地址生成数据序列号获取请求。
步骤S210,第二主数据序列号服务器接收请求设备的数据序列号获取请求,并根据数据序列号获取请求,从第二数据序列号区间获取数据序列号。
步骤S211,第二主数据序列号服务器将数据序列号发送至请求设备。
下面详细说明本优选实施例的数据序列号分配方法的各步骤的具体流程。
在步骤S201中,协调调度模块接收初始化指令,这里的初始化指令可为控制数据序列号服务器装置开始进行数据序列号分配的指令,这样数据序列号服务器装置根据该初始化指令,确定一主数据序列号服务器,即第一主数据序列号服务器进行数据序列号分配,其他的数据序列号服务器作为备用数据序列号服务器,以便主数据序列号服务器出现故障时,继续进行数据序列号的分配。随后转到步骤S202。
在步骤S202中,步骤S201确定的第一主数据序列号服务器生成第一数据序列号区间,并通过二进制日志(binlog)将第一数据序列号区间同步到其他备用数据序列号服务器上。
第一主数据序列号服务器以数据序列号区间的方式进行数据序列号同步。如第一主数据序列号服务器设置第一数据序列号区间为[1-100000],并将该第一数据序列号区间同步到其他备用数据序列号服务器上,这样即使第一主数据序列号服务器发生故障,其他的备用数据序列号服务器只需要从100001开始分配数据序列号,即可保证数据序列号的严格递增性。
同时使用数据序列号区间进行同步,可以在保证数据序列号的可靠性和准确性的基础上,大大降低第一主数据序列号服务器和备用数据序列号服务器之间的同步频率,即第一主数据序列号服务器可在第一数据序列号区间使用完毕后,再进行数据序列号区间的同步操作,从而提升了数据序列号服务器装置的数据序列号的分配性能。
具体的,在进行第一数据序列号区间同步时,数据序列号分配装置会对同步结果进行判断。即判断完成第一数据序列号区间同步的备用数据序列号服务器的数量是否大于设定值,如将设定值设定为所有备用数据序列号服务器数量的一半等。
如第一数据序列号区间同步的备用数据序列号服务器的数量大于设定值,则数据序列号分配装置确定第一数据序列号区间的同步成功,这样可以避免由于部分备用数据序列号服务器的故障,导致同步无法完成。
如第一数据序列号区间同步的备用数据序列号服务器的数量小于等于设定值,则数据序列号分配装置在设定时间后,将第一数据序列号区间再次同步到备用数据序列号数据服务器,或提示同步错误,以保证第一数据序列号区间同步的同步质量。随后转到步骤S203。
在步骤S203中,当第一主数据序列号服务器完成与其他备用数据序列号服务器的同步操作之后,协调调度模块可接收请求设备,如业务应用服务器等的主数据序列号服务器获取请求,并根据主数据序列号服务器获取请求将第一主数据序列号服务器的网络地址发送至请求设备。
由于数据序列号服务器可能会根据需要进行切换,因此请求设备需要预先通过协调调度模块获取第一主数据序列号服务器的网络地址,这样以便请求设备根据第一主数据序列号服务器的网络地址生成数据序列号获取请求。随后转到步骤S204。
在步骤S204中,第一主数据序列号服务器会接收请求设备,如业务应用服务器等的数据序列号获取请求。这里的数据序列号获取请求为请求设备要求第一主数据序列号服务器提供数据相关的数据序列号的请求。
随后第一主数据序列号服务器根据该数据序列号获取请求,从第一数据序列号区间中获取数据序列号,这里的数据序列号可根据数据序列号获取请求的请求时间等参数,按照严格递增原则生成。随后转到步骤S205。
在步骤S205中,第一主数据序列号服务器将步骤S204中生成的数据序列号发送至请求设备,以便请求设备对数据信息进行处理。随后转到步骤S206。
在步骤S206中,如第一主数据序列号服务器出现故障,则协调调度模块会从备用数据序列号服务器中确定第二主数据序列号服务器,并使用第二主数据序列号服务器替代第一主数据序列号服务器进行数据序列号的分配。这里的第二主数据序列号服务器应为在步骤S202中进行第一数据序列号区间同步成功的备用数据序列号服务器。随后转到步骤S207。
在步骤S207中,第二主数据序列号服务器根据步骤S202接收到的第一数据序列号区间,生成第二数据序列号区间。为了保证第二主数据序列号服务器提供的数据序列号具有严格递增性,这里设定第二数据序列号区间的最小数据序列号应大于第一数据序列号区间的最大数据序列号。随后转到步骤S208。
在步骤S208中,第二主数据序列号服务器通过二进制日志,将步骤S207获取的第二数据序列号区间同步到其他备用数据序列号服务器上。这样即使第二主数据序列号服务器发生故障,其他的备用数据序列号服务器也可以分配数据序列号,并保证数据序列号的严格递增性。
具体的,在进行第二数据序列号区间同步时,数据序列号分配装置会对同步结果进行判断。即判断完成第二数据序列号区间同步的备用数据序列号服务器的数量是否大于设定值,如将设定值设定为所有备用数据序列号服务器数量的一半等。
如第二数据序列号区间同步的备用数据序列号服务器的数量大于设定值,则数据序列号分配装置确定第二数据序列号区间的同步成功,这样可以避免由于部分备用数据序列号服务器的故障,导致同步无法完成。
如第二数据序列号区间同步的备用数据序列号服务器的数量小于等于设定值,则数据序列号分配装置在设定时间后,将第二数据序列号区间再次同步到备用数据序列号数据服务器,或提示同步错误,以保证第二数据序列号区间同步的同步质量。随后转到步骤S209。
在步骤S209中,当第二主数据序列号服务器完成与其他备用数据序列号服务器的同步操作之后,协调调度模块可接收请求设备,如业务应用服务器等的主数据序列号服务器获取请求,并根据主数据序列号服务器获取请求将第二主数据序列号服务器的网络地址发送至请求设备。
由于数据序列号服务器可能会根据需要进行切换,因此请求设备需要预先通过协调调度模块获取第二主数据序列号服务器的网络地址,这样以便请求设备根据第二主数据序列号服务器的网络地址生成数据序列号获取请求。随后转到步骤S210。
在步骤S210中,第二主数据序列号服务器会接收请求设备,如业务应用服务器等的数据序列号获取请求。这里的数据序列号获取请求为请求设备要求第二主数据序列号服务器提供数据相关的数据序列号的请求。
随后第二主数据序列号服务器根据该数据序列号获取请求,从第二数据序列号区间中获取数据序列号,这里的数据序列号可根据数据序列号获取请求的请求时间等参数,按照严格递增原则生成。随后转到步骤S211。
在步骤S211中,第二主数据序列号服务器将步骤S210中生成的数据序列号发送至请求设备,以便请求设备对数据信息进行处理。
这样即完成了本优选实施例的数据序列号分配方法的数据序列号分配过程。
在第一优选实施例的基础上,本优选实施例的数据序列号分配方法在第一主数据序列号服务器出现故障时,通过协调调度模块确定第二主数据序列号服务器,并同时生成可区别于第一数据序列号区间的第二数据序列号区间,进一步提高了数据序列号分配装置分配的数据序列号的可靠性以及准确性。
本发明还提供一种数据序列号分配装置,请参照图3,图3为本发明的数据序列号分配装置的第一优选实施例的结构示意图。本优选实施例的数据序列号分配装置可使用上述的数据序列号分配方法的第一优选实施例进行实施,本优选实施例的数据序列号分配装置30包括用于进行数据序列号分配的多个数据序列号服务器以及用于对数据序列号服务器进行调度的协调调度模块31。
其中协调调度模块31包括初始化单元311,该初始化单元311用于接收初始化指令,并根据初始化指令,确定多个数据序列号服务器中的第一主数据序列号服务器32以及备用数据序列号服务器。
第一主数据序列号服务器32包括第一同步单元321、第一数据序列号获取单元322以及第一数据序列号发送单元323。第一同步单元321用于生成第一数据序列号区间,并将第一数据序列号区间同步到备用数据序列号服务器;第一数据序列号获取单元322用于接收请求设备的数据序列号获取请求,并根据数据序列号获取请求,从第一数据序列号区间中获取数据序列号;第一数据序列号发送单元323用于将数据序列号发送至请求设备。
本优选实施例的数据序列号分配装置30使用时,首先协调调度模块31的初始化单元311接收初始化指令,这里的初始化指令可为控制数据序列号分配装置30开始进行数据序列号分配的指令,这样初始化单元311根据该初始化指令,确定一主数据序列号服务器32,即第一主数据序列号服务器32进行数据序列号分配,其他的数据序列号服务器作为备用数据序列号服务器,以便主数据序列号服务器出现故障时,继续进行数据序列号的分配。
随后第一主数据序列号服务器32的第一同步单元321生成第一数据序列号区间,并将第一数据序列号区间同步到其他备用数据序列号服务器上。
在本优选实施例中,第一同步单元321以数据序列号区间的方式进行数据序列号同步。如第一同步单元321设置第一数据序列号区间为[1-100000],并将该第一数据序列号区间同步到其他备用数据序列号服务器上,这样即使第一主数据序列号服务器32发生故障,其他的备用数据序列号服务器只需要从100001开始分配数据序列号,即可保证数据序列号的严格递增性。
同时第一同步单元321使用数据序列号区间进行同步,可以在保证数据序列号的可靠性和准确性的基础上,大大降低第一主数据序列号服务器32和备用数据序列号服务器之间的同步频率,即第一同步单元321可在第一数据序列号区间使用完毕后,再进行其他数据序列号区间的同步操作,从而提升了数据序列号服务器装置的数据序列号的分配性能。
然后当第一主数据序列号服务器32完成与其他备用数据序列号服务器的同步操作之后,第一主数据序列号服务器32的第一数据序列号获取单元322即会接收请求设备,如业务应用服务器等的数据序列号获取请求。这里的数据序列号获取请求为请求设备要求第一主数据序列号服务器32提供数据相关的数据序列号的请求。
随后第一数据序列号获取单元322根据该数据序列号获取请求,从第一数据序列号区间中获取数据序列号,这里的数据序列号可根据数据序列号获取请求的请求时间等参数,按照严格递增原则生成。
如该请求设备为聊天平台服务器,该聊天平台服务器按信息发送时间申请数据序列号,这样第一数据序列号获取单元322可对八点零一分的一个消息设置00002的数据序列号,对八点零二分的一个消息设置00005的数据序列号,以保证上述消息在用户的客户端上可按信息发送时间进行排序。
最后第一主数据序列号服务器32的第一数据序列号发送单元323将第一数据序列号获取单元322生成的数据序列号发送至请求设备,以便请求设备对数据信息进行处理。
这样即完成了本优选实施例的数据序列号分配装置30的数据序列号分配过程。
本优选实施例的数据序列号分配装置对数据序列号区间进行同步,使得主数据序列号服务器发生故障时,备用数据序列号服务器可以保证生成的数据序列号的严格递增性,从而提高了数据序列号分配装置分配的数据序列号的可靠性以及准确性。
请参照图4,图4为本发明的数据序列号分配装置的第二优选实施例的结构示意图。本优选实施例的数据序列号分配装置可使用上述的数据序列号分配方法的第二优选实施例进行实施,本优选实施例的数据序列号分配装置40包括用于进行数据序列号分配的多个数据序列号服务器以及用于对数据序列号服务器进行调度的协调调度模块41。
其中协调调度模块41包括初始化单元411、调度单元412以及网络地址发送单元413,该初始化单元411用于接收初始化指令,并根据初始化指令,确定多个数据序列号服务器中的第一主数据序列号服务器32以及备用数据序列号服务器。调度单元412用于如第一主数据序列号服务器32出现故障,则从备用数据序列号服务器中确定第二主数据序列号服务器42。网络地址发送单元413用于接收请求设备的主数据序列号服务器获取请求,并根据主数据序列号服务器获取请求将第一主数据序列号服务器32或第二主数据序列号服务器42的网络地址发送至请求设备。
第一主数据序列号服务器32包括第一同步单元321、第一数据序列号获取单元322以及第一数据序列号发送单元323。第一同步单元321用于生成第一数据序列号区间,并将第一数据序列号区间同步到备用数据序列号服务器;第一数据序列号获取单元322用于接收请求设备的数据序列号获取请求,并根据数据序列号获取请求,从第一数据序列号区间中获取数据序列号;第一数据序列号发送单元323用于将数据序列号发送至请求设备。
第二数据序列号服务器42包括第二同步单元421、第二数据序列号获取单元422以及第二数据序列号发送单元423。第二同步单元421用于根据第一数据序列号区间,生成第二数据序列号区间,第二数据序列号区间的最小数据序列号大于第一数据序列号区间的最大数据序列号;并将第二数据序列号区间同步到其他备用数据序列号服务器上;第二数据序列号获取单元422用于接收请求设备的数据序列号获取请求,并根据数据序列号获取请求,从第二数据序列号区间中获取数据序列号;第二数据序列号发送单元423用于将数据序列号发送至请求设备。
请参照图5,图5为本发明的数据序列号分配装置的第二优选实施例的第一数据序列号服务器的第一同步单元的结构示意图。该第一同步单元321包括第一同步判断子单元51、第一同步确定子单元52以及第一错误提示子单元53。
第一同步判断子单元51用于判断完成第一数据序列号区间同步的备用数据序列号服务器的数量是否大于设定值;第一同步确定子单元52用于确定第一数据序列号区间的同步成功;第一错误提示子单元53用于在设定时间后,将第一数据序列号区间再次同步到备用数据序列号服务器;或提示同步错误。
请参照图6,图6为本发明的数据序列号分配装置的第二优选实施例的第二数据序列号服务器的第二同步单元的结构示意图。该第二同步单元421包括第二同步判断子单元61、第二同步确定子单元62以及第二错误提示子单元63。
第二同步判断子单元61用于判断完成第二数据序列号区间同步的备用数据序列号服务器的数量是否大于设定值;第二同步确定子单元62用于确定第二数据序列号区间的同步成功;第二错误提示子单元63用于在设定时间后,将第二数据序列号区间再次同步到备用数据序列号服务器;或提示同步错误。
本优选实施例的数据序列号分配装置40使用时,首先协调调度模块41的初始化单元411接收初始化指令,这里的初始化指令可为控制数据序列号分配装置40开始进行数据序列号分配的指令,这样初始化单元411根据该初始化指令,确定一主数据序列号服务器,即第一主数据序列号服务器32进行数据序列号分配,其他的数据序列号服务器作为备用数据序列号服务器,以便主数据序列号服务器出现故障时,继续进行数据序列号的分配。
随后第一主数据序列号服务器32的第一同步单元321生成第一数据序列号区间,并通过二进制日志(binlog)将第一数据序列号区间同步到其他备用数据序列号服务器上。
第一同步单元321以数据序列号区间的方式进行数据序列号同步。如第一同步单元321设置第一数据序列号区间为[1-100000],并将该第一数据序列号区间同步到其他备用数据序列号服务器上,这样即使第一主数据序列号服务器32发生故障,其他的备用数据序列号服务器只需要从100001开始分配数据序列号,即可保证数据序列号的严格递增性。
同时第一同步单元321使用数据序列号区间进行同步,可以在保证数据序列号的可靠性和准确性的基础上,大大降低第一主数据序列号服务器和备用数据序列号服务器之间的同步频率,即第一同步单元321可在第一数据序列号区间使用完毕后,再进行其他数据序列号区间的同步操作,从而提升了数据序列号服务器装置的数据序列号的分配性能。
具体的,在进行第一数据序列号区间同步时,第一同步单元321的第一同步判断子单元51会对同步结果进行判断。即判断完成第一数据序列号区间同步的备用数据序列号服务器的数量是否大于设定值,如将设定值设定为所有备用数据序列号服务器数量的一半等。
如第一数据序列号区间同步的备用数据序列号服务器的数量大于设定值,则第一同步单元321的第一同步确定子单元52确定第一数据序列号区间的同步成功,这样可以避免由于部分备用数据序列号服务器的故障,导致同步无法完成。
如第一数据序列号区间同步的备用数据序列号服务器的数量小于等于设定值,则第一同步单元321的第一错误提示子单元53在设定时间后,将第一数据序列号区间再次同步到备用数据序列号数据服务器,或提示同步错误,以保证第一数据序列号区间同步的同步质量。
然后当第一同步单元321完成与其他备用数据序列号服务器的同步操作之后,协调调度模块41的网络地址发送单元413可接收请求设备,如业务应用服务器等的主数据序列号服务器获取请求,并根据主数据序列号服务器获取请求将第一主数据序列号服务器32的网络地址发送至请求设备。
由于数据序列号服务器可能会根据需要进行切换,因此请求设备需要预先通过调度单元获取第一主数据序列号服务器32的网络地址,这样以便请求设备根据第一主数据序列号服务器32的网络地址生成数据序列号获取请求。
随后第一主数据序列号服务器32的第一数据序列号获取单元322会接收请求设备,如业务应用服务器等的数据序列号获取请求。这里的数据序列号获取请求为请求设备要求第一主数据序列号服务器32提供数据相关的数据序列号的请求。
随后第一数据序列号获取单元322根据该数据序列号获取请求,从第一数据序列号区间中获取数据序列号,这里的数据序列号可根据数据序列号获取请求的请求时间等参数,按照严格递增原则生成。
然后第一主数据序列号服务器32的第一数据序列号发送单元323将第一数据序列号获取单元322生成的数据序列号发送至请求设备,以便请求设备对数据信息进行处理。
如第一主数据序列号服务器32出现故障,则协调调度模块41的调度单元412会从备用数据序列号服务器中确定第二主数据序列号服务器42,并使用第二主数据序列号服务器42替代第一主数据序列号服务器32进行数据序列号的分配。这里的第二主数据序列号服务器42应为进行第一数据序列号区间同步成功的备用数据序列号服务器。
随后第二主数据序列号服务器42的第二同步单元421根据接收到的第一数据序列号区间,生成第二数据序列号区间。为了保证第二主数据序列号服务器42提供的数据序列号具有严格递增性,这里设定第二数据序列号区间的最小数据序列号应大于第一数据序列号区间的最大数据序列号。
然后第二主数据序列号服务器42的第二同步单元421通过二进制日志,将获取的第二数据序列号区间同步到其他备用数据序列号服务器上。这样即使第二主数据序列号服务器42发生故障,其他的备用数据序列号服务器也可以分配数据序列号,并保证数据序列号的严格递增性。
具体的,在进行第二数据序列号区间同步时,第二同步单元421的第二同步判断子单元61会对同步结果进行判断。即判断完成第二数据序列号区间同步的备用数据序列号服务器的数量是否大于设定值,如将设定值设定为所有备用数据序列号服务器数量的一半等。
如第二数据序列号区间同步的备用数据序列号服务器的数量大于设定值,则第二同步单元421的第二同步确定子单元62确定第二数据序列号区间的同步成功,这样可以避免由于部分备用数据序列号服务器的故障,导致同步无法完成。
如第二数据序列号区间同步的备用数据序列号服务器的数量小于等于设定值,则第二同步单元421的第二错误提示子单元63在设定时间后,将第二数据序列号区间再次同步到备用数据序列号数据服务器,或提示同步错误,以保证第二数据序列号区间同步的同步质量。
随后当第二主数据序列号服务器42完成与其他备用数据序列号服务器的同步操作之后,协调调度模块41的网络地址发送单元413可接收请求设备,如业务应用服务器等的主数据序列号服务器获取请求,并根据主数据序列号服务器获取请求将第二主数据序列号服务器42的网络地址发送至请求设备。
由于数据序列号服务器可能会根据需要进行切换,因此请求设备需要预先通过网络地址发送单元获取第二主数据序列号服务器42的网络地址,这样以便请求设备根据第二主数据序列号服务器42的网络地址生成数据序列号获取请求。
然后第二主数据序列号服务器42的第二数据序列号获取单元422会接收请求设备,如业务应用服务器等的数据序列号获取请求。这里的数据序列号获取请求为请求设备要求第二主数据序列号服务器42提供数据相关的数据序列号的请求。
随后第二数据序列号获取单元422根据该数据序列号获取请求,从第二数据序列号区间中获取数据序列号,这里的数据序列号可根据数据序列号获取请求的请求时间等参数,按照严格递增原则生成。
然后第二主数据序列号服务器42的第二数据序列号发送单元423将生成的数据序列号发送至请求设备,以便请求设备对数据信息进行处理。
这样即完成了本优选实施例的数据序列号分配装置40的数据序列号分配过程。
在第一优选实施例的基础上,本优选实施例的数据序列号分配装置在第一主数据序列号服务器出现故障时,通过协调调度模块确定第二主数据序列号服务器,并同时生成可区别于第一数据序列号区间的第二数据序列号区间,进一步提高了数据序列号分配装置分配的数据序列号的可靠性以及准确性。
下面通过两个具体实施例说明本发明的数据序列号分配方法及分配装置的具体工作原理。
请参照图7,图7为本发明的数据序列号分配方法及分配装置的第一具体实施例的使用时序图。在本具体实施例中,数据序列号分配装置包括协调调度模块以及多个数据序列号服务器,该协调调度模块可为ZooKeeper分布式服务框架,数据序列号服务器包括数据序列号服务器A、数据序列号服务器B以及数据序列号服务器C等。应用业务服务器可向数据序列号分配装置为数据信息请求数据序列号,以便将相应的数据信息发送至客户端。本具体实施例的数据序列号分配过程包括:
步骤S701,协调调度模块接收初始化指令,对所有的数据序列号服务器进行初始化操作。
步骤S702,协调调度模块确定数据序列号服务器A为第一主数据序列号服务器,确定其他数据序列号服务器,如数据序列号服务器B以及数据序列号服务器C等为备用数据序列号服务器。
步骤S703,数据序列号服务器A生成第一数据序列号区间,如1-100000,并通过二进制日志(binlog)将第一数据序列号区间同步到其他备用数据序列号服务器上。这里数据序列号服务器A只需要保证50%以上的备用数据序列号服务器接收到上述同步操作即可。
步骤S704,应用业务服务器向协调调度模块发送主数据序列号服务器获取请求,以获取第一主数据序列号服务器的网络地址。
步骤S705,协调调度模块将第一主数据序列号服务器的网络地址返回给应用业务服务器。
步骤S706,应用业务服务器根据接收到的第一主数据序列号服务器的网络地址,给第一主数据序列号服务器发送数据序列号获取请求。
步骤S707,第一主数据序列号服务器根据该数据序列号获取请求,从第一数据序列号区间中获取数据序列号,这里的数据序列号可根据数据序列号获取请求的请求时间等参数,按照严格递增原则生成。
如果这里将第一数据序列号区间中的数据序列号使用完毕,则第一主数据序列号服务器生成下一个第一数据序列号区间,如100001-200000,并继续将新生成的第一数据序列号区间同步到其他备用数据序列号服务器上
步骤S708,第一主数据序列号服务器将生成的数据序列号返回至应用业务服务器。
步骤S709,应用业务服务器使用数据序列号将数据信息返回给客户端,如按触发时间顺序将聊天信息发送至客户端的聊天平台软件上等。
这样即完成了本具体实施例的数据序列号分配方法及分配装置的数据序列号分配过程。
请参照图8,图8为本发明的数据序列号分配方法及分配装置的第二具体实施例的使用时序图。在本具体实施例中,数据序列号分配装置包括协调调度模块以及多个数据序列号服务器,该协调调度模块可为ZooKeeper分布式服务框架,数据序列号服务器包括数据序列号服务器A、数据序列号服务器B以及数据序列号服务器C等。应用业务服务器可向数据序列号分配装置为数据信息请求数据序列号,以便将相应的数据信息发送至客户端。本具体实施例的数据序列号分配过程包括:
步骤S801,协调调度模块发现第一主数据序列号服务器,即数据序列号服务器A出现故障,如数据序列号服务器A反馈故障或长时间无反馈等。
步骤S802,协调调度模块确定数据序列号服务器B为第二主数据序列号服务器,确定其他数据序列号服务器,如数据序列号服务器A以及数据序列号服务器C等为备用数据序列号服务器。
步骤S803,数据序列号服务器B根据之前同步的第一数据序列号区间,生成第二数据序列号区间,该第二数据序列号区间的最小数据序列号应大于第一数据序列号区间的最大数据序列号,如100010-200000等。随后通过二进制日志(binlog)将第二数据序列号区间同步到其他备用数据序列号服务器上。这里数据序列号服务器B只需要保证50%以上的备用数据序列号服务器接收到上述同步操作即可。
步骤S804,应用业务服务器向协调调度模块发送主数据序列号服务器获取请求,以获取第二主数据序列号服务器的网络地址。
步骤S805,协调调度模块将第二主数据序列号服务器的网络地址返回给应用业务服务器。
步骤S806,应用业务服务器根据接收到的第二主数据序列号服务器的网络地址,给第二主数据序列号服务器发送数据序列号获取请求。
步骤S807,第二主数据序列号服务器根据该数据序列号获取请求,从第二数据序列号区间中获取数据序列号,这里的数据序列号可根据数据序列号获取请求的请求时间等参数,按照严格递增原则生成。
如果这里将第二数据序列号区间中的数据序列号使用完毕,则第二主数据序列号服务器生成下一个第二数据序列号区间,如200001-300000,并继续将新生成的第二数据序列号区间同步到其他备用数据序列号服务器上
步骤S808,第二主数据序列号服务器将生成的数据序列号返回至应用业务服务器。
步骤S809,应用业务服务器使用数据序列号将数据信息返回给客户端,如按触发时间顺序将聊天信息发送至客户端的聊天平台软件上等。
这样即完成了本具体实施例的数据序列号分配方法及分配装置在某个主数据序列号服务器发生故障时的数据序列号分配过程。
本发明的数据序列号分配方法及分配装置对数据序列号区间进行同步,使得主数据序列号服务器发生故障时,备用数据序列号服务器可以保证生成的数据序列号的严格递增性,从而提高了数据序列号分配装置分配的数据序列号的可靠性以及准确性;解决了现有的数据序列号分配服务装置的容易由于主数据序列号服务器的故障,造成提供数据序列号的准确性以及可靠性下降的技术问题。
如本申请所使用的术语“组件”、“模块”、“系统”、“接口”、“进程”等等一般地旨在指计算机相关实体:硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于是运行在处理器上的进程、处理器、对象、可执行应用、执行的线程、程序和/或计算机。通过图示,运行在控制器上的应用和该控制器二者都可以是组件。一个或多个组件可以有在于执行的进程和/或线程内,并且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。
图9和随后的讨论提供了对实现本发明所述的数据序列号分配装置中的各个部件所在的电子设备的工作环境的简短、概括的描述。图9的工作环境仅仅是适当的工作环境的一个实例并且不旨在建议关于工作环境的用途或功能的范围的任何限制。实例电子设备912包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。
尽管没有要求,但是在“计算机可读指令”被一个或多个电子设备执行的通用背景下描述实施例。计算机可读指令可以经由计算机可读介质来分布(下文讨论)。计算机可读指令可以实现为程序模块,比如执行特定任务或实现特定抽象数据类型的功能、对象、应用编程接口(API)、数据结构等等。典型地,该计算机可读指令的功能可以在各种环境中随意组合或分布。
图9图示了包括本发明的数据序列号分配装置中的一个或多个实施例的电子设备912的实例。在一种配置中,电子设备912包括至少一个处理单元916和存储器918。根据电子设备的确切配置和类型,存储器918可以是易失性的(比如RAM)、非易失性的(比如ROM、闪存等)或二者的某种组合。该配置在图9中由虚线914图示。
在其他实施例中,电子设备912可以包括附加特征和/或功能。例如,设备912还可以包括附加的存储装置(例如可移除和/或不可移除的),其包括但不限于磁存储装置、光存储装置等等。这种附加存储装置在图9中由存储装置920图示。在一个实施例中,用于实现本文所提供的一个或多个实施例的计算机可读指令可以在存储装置920中。存储装置920还可以存储用于实现操作系统、应用程序等的其他计算机可读指令。计算机可读指令可以载入存储器918中由例如处理单元916执行。
本文所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。存储器918和存储装置920是计算机存储介质的实例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储设备、或可以用于存储期望信息并可以被电子设备912访问的任何其他介质。任意这样的计算机存储介质可以是电子设备912的一部分。
电子设备912还可以包括允许电子设备912与其他设备通信的通信连接926。通信连接926可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射器/接收器、红外端口、USB连接或用于将电子设备912连接到其他电子设备的其他接口。通信连接926可以包括有线连接或无线连接。通信连接926可以发射和/或接收通信媒体。
术语“计算机可读介质”可以包括通信介质。通信介质典型地包含计算机可读指令或诸如载波或其他传输机构之类的“己调制数据信号”中的其他数据,并且包括任何信息递送介质。术语“己调制数据信号”可以包括这样的信号:该信号特性中的一个或多个按照将信息编码到信号中的方式来设置或改变。
电子设备912可以包括输入设备924,比如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外相机、视频输入设备和/或任何其他输入设备。设备912中也可以包括输出设备922,比如一个或多个显示器、扬声器、打印机和/或任意其他输出设备。输入设备924和输出设备922可以经由有线连接、无线连接或其任意组合连接到电子设备912。在一个实施例中,来自另一个电子设备的输入设备或输出设备可以被用作电子设备912的输入设备924或输出设备922。
电子设备912的组件可以通过各种互连(比如总线)连接。这样的互连可以包括外围组件互连(PCI)(比如快速PCI)、通用串行总线(USB)、火线(IEEE1394)、光学总线结构等等。在另一个实施例中,电子设备912的组件可以通过网络互连。例如,存储器918可以由位于不同物理位置中的、通过网络互连的多个物理存储器单元构成。
本领域技术人员将认识到,用于存储计算机可读指令的存储设备可以跨越网络分布。例如,可经由网络928访问的电子设备930可以存储用于实现本发明所提供的一个或多个实施例的计算机可读指令。电子设备912可以访问电子设备930并且下载计算机可读指令的一部分或所有以供执行。可替代地,电子设备912可以按需要下载多条计算机可读指令,或者一些指令可以在电子设备912处执行并且一些指令可以在电子设备930处执行。
本文提供了实施例的各种操作。在一个实施例中,所述的一个或多个操作可以构成一个或多个计算机可读介质上存储的计算机可读指令,其在被电子设备执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。而且,应当理解,不是所有操作必需在本文所提供的每个实施例中存在。
而且,尽管已经相对于一个或多个实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件、资源等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或多个其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的方法。
综上所述,虽然本发明已以实施例揭露如上,实施例前的序号,如“第一”、“第二”等仅为描述方便而使用,对本发明各实施例的顺序不造成限制。并且,上述实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。

Claims (14)

1.一种数据序列号分配方法,用于数据序列号分配装置进行数据序列号分配,其中所述数据序列号分配装置包括用于进行数据序列号分配的多个数据序列号服务器以及用于对所述数据序列号服务器进行调度的协调调度模块;其特征在于,所述数据序列号分配方法包括:
所述协调调度模块接收初始化指令,并根据所述初始化指令,确定多个所述数据序列号服务器中的第一主数据序列号服务器以及备用数据序列号服务器;
所述第一主数据序列号服务器生成第一数据序列号区间,并将所述第一数据序列号区间同步到所述备用数据序列号服务器;
所述第一主数据序列号服务器接收请求设备的数据序列号获取请求,并根据所述数据序列号获取请求,从所述第一数据序列号区间中获取数据序列号;以及
所述第一主数据序列号服务器将所述数据序列号发送至所述请求设备。
2.根据权利要求1所述的数据序列号分配方法,其特征在于,所述数据序列号分配方法还包括步骤:
如所述第一主数据序列号服务器出现故障,则所述协调调度模块从所述备用数据序列号服务器中确定第二主数据序列号服务器;
所述第二主数据序列号服务器根据所述第一数据序列号区间,生成第二数据序列号区间,所述第二数据序列号区间的最小数据序列号大于所述第一数据序列号区间的最大数据序列号;
所述第二主数据序列号服务器将所述第二数据序列号区间同步到其他所述备用数据序列号服务器上;
所述第二主数据序列号服务器接收请求设备的数据序列号获取请求,并根据所述数据序列号获取请求,从所述第二数据序列号区间获取数据序列号;以及
所述第二主数据序列号服务器将所述数据序列号发送至所述请求设备。
3.根据权利要求1所述的数据序列号分配方法,其特征在于,所述第一主数据序列号服务器接收请求设备的数据序列号获取请求的步骤之前还包括:
所述协调调度模块接收所述请求设备的主数据序列号服务器获取请求,并根据所述主数据序列号服务器获取请求将所述第一主数据序列号服务器的网络地址发送至所述请求设备,以便所述请求设备根据所述第一主数据序列号服务器的网络地址生成所述数据序列号获取请求。
4.根据权利要求1所述的数据序列号分配方法,其特征在于,所述第一主数据序列号服务器将所述第一数据序列号区间同步到所述备用数据序列号服务器的步骤包括:
判断完成所述第一数据序列号区间同步的备用数据序列号服务器的数量是否大于设定值;
如大于所述设定值,则确定所述第一数据序列号区间的同步成功;
如小于等于所述设定值,则在设定时间后,将所述第一数据序列号区间再次同步到所述备用数据序列号服务器;或提示同步错误。
5.根据权利要求2所述的数据序列号分配方法,其特征在于,所述第二主数据序列号服务器将所述第二数据序列号区间同步到其他所述备用数据序列号服务器的步骤包括:
判断完成所述第二数据序列号区间同步的备用数据序列号服务器的数量是否大于设定值;
如大于所述设定值,则确定所述第二数据序列号区间的同步成功;
如小于等于所述设定值,则在设定时间后,将所述第二数据序列号区间再次同步到所述备用数据序列号服务器;或提示同步错误。
6.根据权利要求2所述的数据序列号分配方法,其特征在于,
所述第一主数据序列号服务器通过二进制日志,将所述第一数据序列号区间同步到所述备用数据序列号服务器;
所述第二主数据序列号服务器通过二进制日志,将所述第二数据序列号区间同步到所述备用数据序列号服务器。
7.根据权利要求2所述的数据序列号分配方法,其特征在于,
所述第一主数据序列号服务器按严格递增原则从所述第一数据序列号区间中获取数据序列号;
所述第二主数据序列号服务器按严格递增原则从所述第二数据序列号区间中获取数据序列号。
8.一种数据序列号分配装置,其包括用于进行数据序列号分配的多个数据序列号服务器以及用于对所述数据序列号服务器进行调度的协调调度模块,其特征在于,
所述协调调度模块包括:
初始化单元,用于接收初始化指令,并根据所述初始化指令,确定多个所述数据序列号服务器中的第一主数据序列号服务器以及备用数据序列号服务器;
所述第一数据序列号服务器包括:
第一同步单元,用于生成第一数据序列号区间,并将所述第一数据序列号区间同步到所述备用数据序列号服务器;
第一数据序列号获取单元,用于接收请求设备的数据序列号获取请求,并根据所述数据序列号获取请求,从所述第一数据序列号区间中获取数据序列号;以及
第一数据序列号发送单元,用于将所述数据序列号发送至所述请求设备。
9.根据权利要求8所述的数据序列号分配装置,其特征在于,
所述协调调度模块还包括:
调度单元,用于如所述第一主数据序列号服务器出现故障,则从所述备用数据序列号服务器中确定第二主数据序列号服务器;
所述第二数据序列号服务器包括:
第二同步单元,用于根据所述第一数据序列号区间,生成第二数据序列号区间,所述第二数据序列号区间的最小数据序列号大于所述第一数据序列号区间的最大数据序列号;并将所述第二数据序列号区间同步到其他所述备用数据序列号服务器上;
第二数据序列号获取单元,用于接收请求设备的数据序列号获取请求,并根据所述数据序列号获取请求,从所述第二数据序列号区间中获取数据序列号;以及
第二数据序列号发送单元,用于将所述数据序列号发送至所述请求设备。
10.根据权利要求8所述的数据序列号分配装置,其特征在于,所述协调调度模块还包括:
网络地址发送单元,用于接收所述请求设备的主数据序列号服务器获取请求,并根据所述主数据序列号服务器获取请求将所述第一主数据序列号服务器的网络地址发送至所述请求设备,以便所述请求设备根据所述第一主数据序列号服务器的网络地址生成所述数据序列号获取请求。
11.根据权利要求8所述的数据序列号分配装置,其特征在于,所述第一同步单元包括:
第一同步判断子单元,用于判断完成所述第一数据序列号区间同步的备用数据序列号服务器的数量是否大于设定值;
第一同步确定子单元,用于确定所述第一数据序列号区间的同步成功;以及
第一错误提示子单元,用于在设定时间后,将所述第一数据序列号区间再次同步到所述备用数据序列号服务器;或提示同步错误。
12.根据权利要求9所述的数据序列号分配装置,其特征在于,所述第二同步单元包括:
第二同步判断子单元,用于判断完成所述第二数据序列号区间同步的备用数据序列号服务器的数量是否大于设定值;
第二同步确定子单元,用于确定所述第二数据序列号区间的同步成功;以及
第二错误提示子单元,用于在设定时间后,将所述第二数据序列号区间再次同步到所述备用数据序列号服务器;或提示同步错误。
13.根据权利要求9所述的数据序列号分配装置,其特征在于,
所述第一同步单元通过二进制日志,将所述第一数据序列号区间同步到所述备用数据序列号服务器;
所述第二同步单元通过二进制日志,将所述第二数据序列号区间同步到所述备用数据序列号服务器。
14.根据权利要求9所述的数据序列号分配装置,其特征在于,
所述第一数据序列号获取单元按严格递增原则从所述第一数据序列号区间中获取数据序列号;
所述第二数据序列号获取单元按严格递增原则从所述第二数据序列号区间中获取数据序列号。
CN201610989300.6A 2016-11-10 2016-11-10 数据序列号分配方法及分配装置 Active CN106790345B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610989300.6A CN106790345B (zh) 2016-11-10 2016-11-10 数据序列号分配方法及分配装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610989300.6A CN106790345B (zh) 2016-11-10 2016-11-10 数据序列号分配方法及分配装置

Publications (2)

Publication Number Publication Date
CN106790345A true CN106790345A (zh) 2017-05-31
CN106790345B CN106790345B (zh) 2020-04-10

Family

ID=58972942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610989300.6A Active CN106790345B (zh) 2016-11-10 2016-11-10 数据序列号分配方法及分配装置

Country Status (1)

Country Link
CN (1) CN106790345B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680876B1 (en) * 2006-12-14 2010-03-16 Cisco Technology, Inc. Highly available domain name system
US20110078198A1 (en) * 2009-09-30 2011-03-31 Ade Lee Automatic serial number and request id allocation in a replicated (cloned) certificate authority and data recovery management topology
CN103580906A (zh) * 2012-08-09 2014-02-12 腾讯科技(深圳)有限公司 一种数据备份的方法、系统及服务器
CN103647833A (zh) * 2013-12-16 2014-03-19 百度在线网络技术(北京)有限公司 连续序号生成系统和方法
CN105491101A (zh) * 2015-11-17 2016-04-13 华为技术有限公司 数据的处理方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680876B1 (en) * 2006-12-14 2010-03-16 Cisco Technology, Inc. Highly available domain name system
US20110078198A1 (en) * 2009-09-30 2011-03-31 Ade Lee Automatic serial number and request id allocation in a replicated (cloned) certificate authority and data recovery management topology
CN103580906A (zh) * 2012-08-09 2014-02-12 腾讯科技(深圳)有限公司 一种数据备份的方法、系统及服务器
CN103647833A (zh) * 2013-12-16 2014-03-19 百度在线网络技术(北京)有限公司 连续序号生成系统和方法
CN105491101A (zh) * 2015-11-17 2016-04-13 华为技术有限公司 数据的处理方法和装置

Also Published As

Publication number Publication date
CN106790345B (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
CN109951547B (zh) 事务请求并行处理方法、装置、设备和介质
CN108304260B (zh) 一种基于高性能云计算的虚拟化作业调度系统及其实现方法
CN113645071B (zh) 一种集群部署方法、系统、介质及电子终端
CN108459966B (zh) 测试组件的调度方法、装置、设备和计算机可读存储介质
CN110008031B (zh) 设备操作方法、集群系统、电子设备及可读取存储介质
CN108898368B (zh) 资源的转移方法和装置、存储介质、电子装置
US20150215379A1 (en) Distributed processing device and distributed processing system as well as distributed processing method
CN111399991B (zh) 虚拟资源加锁方法和装置、存储介质及电子装置
CN106572146A (zh) 消息发送方法及消息发送装置
CN110830234A (zh) 一种用户流量分配方法及装置
CN111460394A (zh) 一种版权文件的验证方法、装置及计算机可读存储介质
CN106873970A (zh) 一种操作系统的安装方法和装置
JP6449487B2 (ja) ソフトウェアセキュリティ検証方法、デバイス、およびシステム
EP2620876A1 (en) Method and apparatus for data processing, pci-e bus system and server
CN110163554B (zh) 工作流的运行方法、装置、服务器和存储介质
JP2020053079A (ja) コンテンツ・デプロイメント、スケーリングおよびテレメトリ
CN106790345A (zh) 数据序列号分配方法及分配装置
CN106227592A (zh) 任务调用方法及任务调用装置
JP6542397B2 (ja) イメージ制作中のコンテンツテスト
CN112764897B (zh) 任务请求的处理方法、装置、系统及计算机可读存储介质
CN110209466A (zh) 资源配置方法、资源配置装置及存储介质
CN110928672B (zh) 一种任务编排方法、装置、设备及存储介质
CN111126604B (zh) 模型训练方法、装置、服务器及存储介质
US10855447B2 (en) Request approval using blockchain technology
CN113741868A (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