CN105117439A - 全局标识生成方法及装置 - Google Patents
全局标识生成方法及装置 Download PDFInfo
- Publication number
- CN105117439A CN105117439A CN201510490266.3A CN201510490266A CN105117439A CN 105117439 A CN105117439 A CN 105117439A CN 201510490266 A CN201510490266 A CN 201510490266A CN 105117439 A CN105117439 A CN 105117439A
- Authority
- CN
- China
- Prior art keywords
- data record
- overall identification
- identification
- server
- length
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开揭示了一种全局标识生成方法及装置,属于数据存储领域。所述全局标识生成方法包括:在为存储至数据分片中的数据记录生成全局标识时,获取所述数据分片的分片标识;将上一次生成的增长值加上预定步长,得到所述数据记录的增长值;为所述数据记录生成全局标识,所述全局标识包括生成所述全局标识的生成时刻、所述分片标识和增长序列,所述增长序列中包含所述增长值。通过获取数据片的分片标识,得到数据记录的增长值,将生成时刻、分片标识和增长序列生成该数据记录的全局标识;解决了当数据记录非常多时,查询效率比较低的问题;达到了生成的全局唯一标识包含时间、分片标识等丰富信息,查询效率提高的效果。
Description
技术领域
本公开涉及数据存储领域,特别涉及一种全局标识生成方法及装置。
背景技术
在高并发分布式***中,***所管理的数据库中用于存储数据的数据表非常大,这种大数据表会导致数据库的查询性能非常低。
为了提高查询性能,通常利用分片标识将大数据表拆分成很多的小数据表,这样则容易导致同一个数据可能被一条条分别记录在不同的小数据表中,此时则要求小数据表中的每条数据记录的标识必须是全局唯一的,因此,需要为每条数据记录生成一个全局唯一标识。
发明内容
本公开提供一种全局标识生成方法及装置。所述技术方案如下:
根据本公开实施例的第一方面,提供一种全局标识生成方法,应用于当前服务器中,所述方法包括:
在为存储至数据分片中的数据记录生成全局标识时,获取所述数据分片的分片标识;
将上一次生成的增长值加上预定步长,得到所述数据记录的增长值;
为所述数据记录生成全局标识,所述全局标识包括生成所述全局标识的生成时刻、所述分片标识和增长序列,所述增长序列中包含所述增长值。
上述技术方案实现的有益效果为:通过获取数据片的分片标识,得到数据记录的增长值,将生成时刻、分片标识和增长序列生成该数据记录的全局标识;由于在查询某个数据记录时,可以利用该数据记录的全局标识中的生成时刻和分片标识进行查询,然后在符合条件的全局标识中再查询该数据记录全局标识中的增长序列,因此可以提高查询的效率,解决了当数据记录非常多时,查询效率比较低的问题;达到了生成的全局唯一标识包含时间、分片标识等丰富信息,查询效率提高的效果。
可选的,所述获取所述数据分片的分片标识,包括:
获取用于标识用户的用户标识,所述用户标识由数字组成;
将所述用户标识除以预定值,将得到的余数结果确定为所述数据分片的分片标识,所述数据分片用于存储具有相同余数结果的用户标识所对应的数据,所述预定值为用于存储数据的服务器的数量。
上述技术方案实现的有益效果为:通过将相同余数结果的用户标识划分到一个分片标识中,可以将同一个用户的所有数据记录均划分到同一个分片中,在查询同一个用户的数据记录时,仅需要到该用户所对应的分片中查询即可,因此提高了查询效率,解决了当数据记录非常多时,查询效率比较低的问题。
可选的,所述将上一次生成的增长值加上预定步长,得到所述数据记录的增长值,包括:
检测正常工作的服务器的数量是否发生变化,所述服务器为用于为数据记录生成全局标识的服务器;
若正常工作的服务器的数量发生变化,则获取发生故障的服务器的数量,将所述发生故障的服务器的数量记为第一数量,将上一次计算用的预定步长减去所述第一数量,得到变化后的预定步长,将所述变化后的预定步长记为第一变化步长;将上一次生成的增长值加上所述第一变化步长,得到所述数据记录的增长值;
或者,
获取恢复工作的服务器的数量,将所述恢复工作的服务器的数量记为第二数量,将上一次计算用的预定步长加上所述第二数量,得到变化后的预定步长,将所述变化后的预定步长记为第二变化步长;将上一次生成的增长值加上所述第二变化步长,得到所述数据记录的增长值。
上述技术方案实现的有益效果为:通过针对正常工作的服务器的数量对预定步长做出实时更改,这样在出现故障的服务器无法为数据记录生成全局标识时,也可以利用这些出现故障的服务器所占用的增长值,因此避免了因故障服务器造成对增长值的浪费,达到了可以节约增长值的效果。
可选的,所述为所述数据记录生成全局标识,包括:
将用于标识所述当前服务器的标识与所述数据记录的增长值进行绑定,得到所述数据记录的增长序列;
将生成所述全局标识的生成时刻、所述分片标识和所述数据记录的增长序列组合成所述数据记录的全局标识。
上述技术方案实现的有益效果为:通过将全局标识的生成时刻、分片标识和数据记录的增长序列构成全局标识,由于同一台服务器在同一个生成时刻,仅能为一条数据记录生成增长值,因此通过上述三个元素构成的全局标识是全局唯一的,达到了可以保证为数据记录生成的全局标识是唯一的效果。
可选的,所述方法还包括:
接收通知指令,所述通知指令包含一个变量参数,所述变量参数用于指示连续未成功生成全局标识的次数;
在接收到所述通知指令后,将上一次生成的增长值加上预定步长后减去所述变量参数,得到所述数据记录的增长值,执行所述为所述数据记录生成全局标识的步骤。
上述技术方案实现的有益效果为:利用变量参数用于指示连续未成功生成全局标识的次数,达到了节约全局标识的效果。
可选的,所述方法还包括:
当所述当前服务器生成的一个全局标识被注销后,将所述全局标识中的增长序列分配到增长序列池中;
当为所述数据记录生成全局标识时,检测所述增长序列池中是否存在增长序列;
若所述增长序列池中存在增长序列,则将所述增长序列池中的增长序列分配给所述数据记录。
上述技术方案实现的有益效果为:通过增长序列池实现将注销后的全局标识进行回收利用,因此可以避免被注销后的全局标识的浪费,提高了全局标识利用率的效果。
根据本公开实施例的第二方面,提供一种全局标识生成装置,应用于当前服务器中,所述装置包括:
获取模块,被配置为在为存储至数据分片中的数据记录生成全局标识时,获取所述数据分片的分片标识
第一计算模块,被配置为将上一次生成的增长值加上预定步长,得到所述数据记录的增长值;
生成模块,被配置为为所述数据记录生成全局标识,所述全局标识包括生成所述全局标识的生成时刻、所述获取模块获取的所述分片标识和增长序列,所述增长序列中包含所述第一计算模块计算得到的所述增长值。
上述装置实现的有益效果为:通过获取数据片的分片标识,得到数据记录的增长值,将生成时刻、分片标识和增长序列生成该数据记录的全局标识;由于在查询某个数据记录时,可以利用该数据记录的全局标识中的生成时刻和分片标识进行查询,然后在符合条件的全局标识中再查询该数据记录全局标识中的增长序列,因此可以提高查询的效率,解决了当数据记录非常多时,查询效率比较低的问题;达到了生成的全局唯一标识包含时间、分片标识等丰富信息,查询效率提高的效果。
可选的,所述获取模块,包括:
获取子模块,被配置为获取用于标识用户的用户标识,所述用户标识由数字组成;
取模子模块,被配置为将所述获取子模块获取的所述用户标识除以预定值,将得到的余数结果确定为所述数据分片的分片标识,所述数据分片用于存储具有相同余数结果的用户标识所对应的数据,所述预定值为用于存储数据的服务器的数量。
上述装置实现的有益效果为:通过将相同余数结果的用户标识划分到一个分片标识中,可以将同一个用户的所有数据记录均划分到同一个分片中,在查询同一个用户的数据记录时,仅需要到该用户所对应的分片中查询即可,因此提高了查询效率,解决了当数据记录非常多时,查询效率比较低的问题。
可选的,所述第一计算模块,包括:
检测子模块,被配置为检测正常工作的服务器的数量是否发生变化,所述服务器为用于为数据记录生成全局标识的服务器;
第一计算子模块,被配置为若所述检测子模块检测出正常工作的服务器的数量发生变化,则获取发生故障的服务器的数量,将所述发生故障的服务器的数量记为第一数量,将上一次计算用的预定步长减去所述第一数量,得到变化后的预定步长,将所述变化后的预定步长记为第一变化步长;将上一次生成的增长值加上所述第一变化步长,得到所述数据记录的增长值;
或者,
第二计算子模块,被配置为获取恢复工作的服务器的数量,将所述恢复工作的服务器的数量记为第二数量,将上一次计算用的预定步长加上所述第二数量,得到变化后的预定步长,将所述变化后的预定步长记为第二变化步长;将上一次生成的增长值加上变化后的所述第二变化步长,得到所述数据记录的增长值。
上述装置实现的有益效果为:通过针对正常工作的服务器的数量对预定步长做出实时更改,这样在出现故障的服务器无法为数据记录生成全局标识时,也可以利用这些出现故障的服务器所占用的增长值,因此避免了因故障服务器造成对增长值的浪费,达到了可以节约增长值的效果。
可选的,所述生成模块,包括:
绑定子模块,被配置为将用于标识所述当前服务器的标识与所述数据记录的增长值进行绑定,得到所述数据记录的增长序列;
组合子模块,被配置为将生成所述全局标识的生成时刻、所述分片标识和所述数据记录的增长序列组合成所述数据记录的全局标识。
上述装置实现的有益效果为:通过将全局标识的生成时刻、分片标识和数据记录的增长序列构成全局标识,由于同一台服务器在同一个生成时刻,仅能为一条数据记录生成增长值,因此通过上述三个元素构成的全局标识是全局唯一的,达到了可以保证为数据记录生成的全局标识是唯一的效果。
可选的,所述装置还包括:
接收模块,被配置为接收通知指令,所述通知指令包含一个变量参数,所述变量参数用于指示连续未成功生成全局标识的次数;
第二计算模块,被配置为在所述接收模块接收到所述通知指令后,将上一次生成的增长值加上预定步长后减去所述变量参数,得到所述数据记录的增长值,执行所述为所述数据记录生成全局标识的步骤。
上述装置实现的有益效果为:该步骤利用变量参数用于指示连续未成功生成全局标识的次数,达到了节约全局标识的效果。
可选的,所述装置还包括:
第一分配模块,被配置为当所述当前服务器生成的一个全局标识被注销后,将所述全局标识中的增长序列分配增长序列池中;
检测模块,被配置为当为所述数据记录生成全局标识时,检测所述增长序列池中是否存在增长序列;
第二分配模块,被配置为若所述检测模块检测出所述增长序列池中存在增长序列,则将所述增长序列池中的增长序列分配给所述数据记录。
上述装置实现的有益效果为:通过增长序列池实现将注销后的全局标识进行回收利用,因此可以避免被注销后的全局标识的浪费,提高了全局标识利用率的效果。
根据本公开实施例的第三方面,提供一种全局标识生成装置,所述装置包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
在为存储至数据分片中的数据记录生成全局标识时,获取所述数据分片的分片标识;
将上一次生成的增长值加上预定步长,得到所述数据记录的增长值;
为所述数据记录生成全局标识,所述全局标识包括生成所述全局标识的生成时刻、所述分片标识和增长序列,所述增长序列中包含所述增长值。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并于说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种全局标识生成方法的流程图;
图2A是根据另一示例性实施例示出的一种全局标识生成方法的流程图;
图2B是根据一示例性实施例示出的一种全局标识生成方法所涉及的获取数据分片的分片标识的流程图;
图2C是根据一示例性实施例示出的一种全局标识生成方法所涉及的将上一次生成的增长值加上预定步长,得到数据记录的增长值的流程图;
图2D是根据一示例性实施例示出的一种全局标识生成方法所涉及的为数据记录生成全局标识的流程图;
图2E是根据一示例性实施例示出的一种全局标识生成方法所涉及的全局标识组成要素的示意图;
图3是根据一示例性实施例示出的一种全局标识生成装置的框图;
图4是根据另一示例性实施例示出的一种全局标识生成装置的框图;
图5是根据一示例性实施例示出的一种用于生成全局标识的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种全局标识生成方法的流程图,如图1所示,该全局标识生成方法包括以下步骤。
在步骤101中,在为存储至数据分片中的数据记录生成全局标识时,获取数据分片的分片标识。
数据分片的分片标识是生成全局标识的重要标识之一,分片标识用于表示数据记录存储在哪个数据分片中,便于以后数据记录的查询。
在步骤102中,将上一次生成的增长值加上预定步长,得到该数据记录的增长值。
服务器当前生成的增长值由上一次生成的增长值和预定步长决定,预定步长由当前正常工作的服务器数量决定。
比如,有4台服务器在工作,此时预定步长为4,那么:
第1台服务器得到的增长值分别为:1,5,9,……,即在前一次的增长值加上预定步长4得到在后一次的增长值;
第2台服务器得到的增长值分别为:2,6,10,……,即在前一次的增长值加上预定步长4得到在后一次的增长值;
第3台服务器得到的增长值分别为:3,7,11,……,即在前一次的增长值加上预定步长4得到在后一次的增长值;
第4台服务器得到的增长值分别为:4,8,12,……,即在前一次的增长值加上预定步长4得到在后一次的增长值。
在步骤103中,为该数据记录生成全局标识,该全局标识包括生成全局标识的生成时刻、分片标识和增长序列,增长序列中包含增长值。
数据记录的全局标识,由生成全局标识的生成时刻、分片标识和增长序列组成,其中,该生成时刻为该数据记录的生成时刻,该分片标识由该数据记录的用户标识取模得到,该增长序列中包含增长值。
综上所述,本公开实施例中提供的全局标识生成方法,通过获取数据片的分片标识,得到数据记录的增长值,将生成时刻、分片标识和增长序列生成该数据记录的全局标识;由于在查询某个数据记录时,可以利用该数据记录的全局标识中的生成时刻和分片标识进行查询,然后在符合条件的全局标识中再查询该数据记录全局标识中的增长序列,因此可以提高查询的效率,解决了当数据记录非常多时,查询效率比较低的问题;达到了生成的全局唯一标识包含时间、分片标识等丰富信息,查询效率提高的效果。
图2A是根据另一示例性实施例示出的一种全局标识生成方法的流程图,如图2A所示,该全局标识生成方法包括以下步骤。
在步骤201中,在为存储至数据分片中的数据记录生成全局标识时,获取数据分片的分片标识。
在一种可能的实现方式中,可以将图2A中的步骤201进一步替换为步骤201a至步骤201b。请参见图2B所示,其是根据一示例性实施例示出的一种全局标识生成方法所涉及的获取数据分片的分片标识的流程图,如图2B所示,该获取数据分片的分片标识的流程包括如下步骤。
在步骤201a中,获取用于标识用户的用户标识,该用户标识由数字组成。
其中,用户标识可以是用户名、用户证件号、用户联系方式等,此处对用户标识的形式不做限定。
在步骤201b中,将该用户标识除以预定值,将得到的余数结果确定为数据分片的分片标识,数据分片用于存储具有相同余数结果的用户标识所对应的数据,预定值为用于存储数据的服务器的数量。
比如,当服务器的数量为1024台时,若用户标识为201505,则分片标识为201505%1024=801;若用户标识为197409,则分片标识为197409%1024=801。
即分片标识的作用是将取模后余数相同的用户标识所对应的数据存储在一块数据分片中,一台服务器内可以有多个数据分片。
比如,某论坛直接把用户标识作为分片标识,那么该用户的所发布的帖子会被存储进不同的服务器中,当该用户所发布发帖子数量非常多时,对帖子的查询效率会比较低,但若对用户标识取模,把取模后余数相同的用户标识用同一个分片标识表示,那么该用户所发布的帖子会被存储进同一服务器中,提高查询效率。
在步骤202中,将上一次生成的增长值加上预定步长,得到该数据记录的增长值。
这里所说的上一次生成的增长值是指服务器在本次生成增长值之前一次所生成的增长值。上一次生成和本次生成为两个连续的生成操作。
在一种可能的实现方式中,可以将图2A中的步骤202进一步替换为步骤202a至步骤202c。请参见图2C所示,其是根据一示例性实施例示出的一种全局标识生成方法所涉及的将上一次生成的增长值加上预定步长,得到数据记录的增长值的流程图,如图2C所示,该将上一次生成的增长值加上预定步长,得到数据记录的增长值的过程包括如下步骤。
在步骤202a中,检测正常工作的服务器的数量是否发生变化,服务器为用于为数据记录生成全局标识的服务器。
在步骤202b中,若正常工作的服务器的数量发生变化,则获取发生故障的服务器的数量,将发生故障的服务器的数量记为第一数量,将上一次计算用的预定步长减去第一数量,得到变化后的预定步长,将变化后的预定步长记为第一变化步长;将上一次生成的增长值加上第一变化步长,得到数据记录的增长值。
比如,有4台服务器在工作,此时步长为4,如果其中1台服务器发生故障,则此时步长自动调整为3。
在步骤202c中,获取恢复工作的服务器的数量,将恢复工作的服务器的数量记为第二数量,将上一次计算用的预定步长加上第二数量,得到变化后的预定步长,将变化后的预定步长记为第二变化步长;将上一次生成的增长值加上第二变化步长,得到数据记录的增长值。
比如,有4台服务器在工作,此时步长为4,如果其中2台服务器发生故障,则此时步长自动调整为2,如果有1台服务器修好恢复工作,则此时步长自动调整为3。
比如,有4台服务器在工作,此时步长为4,那么:
第1台服务器的增长值分别为:1,5,9,……
第2台服务器的增长值分别为:2,6,10,……
第3台服务器的增长值分别为:3,7,11,……
第4台服务器的增长值分别为:4,8,12,……
当第2台服务器和第3台服务器分别在生成增长值10和11后,发生故障,则此时步长自动调整为2,那么:
第1台服务器生成的增长值分别为:11,13,15,……
第4台服务器生成的增长值分别为:10,12,14,……
在步骤203中,为该数据记录生成全局标识,该全局标识包括生成全局标识的生成时刻、分片标识和增长序列,增长序列中包含增长值。
在一种可能的实现方式中,可以将图2A中的步骤203进一步替换为步骤203a至步骤203c。请参见图2D所示,其是根据一示例性实施例示出的一种全局标识生成方法所涉及的为数据记录生成全局标识的流程图,如图2D所示,该为数据记录生成全局标识的过程包括如下步骤。
在步骤203a中,将用于标识当前服务器的标识与数据记录的增长值进行绑定,得到该数据记录的增长序列。
上述步骤203a可以通过以下代码实现:
比如,当n台服务器启动时,
设置第一台服务器生成的增长序列定义为:
id_generator_step=n
id_generator_1,id_generator_2,id_generator_3...id_generator_1024=1
……
设置第n-1台服务器生成的增长序列定义为:
id_generator_step=n
id_generator_1,id_generator_2,id_generator_3...id_generator_1024=n-1
设置第n台服务器生成的增长序列定义为:
id_generator_step=n
id_generator_1,id_generator_2,id_generator_3...id_generator_1024=n
比如,有4台服务器在工作,此时步长为4,那么:
第1台服务器生成的增长序列分别为:1-1,1-5,1-9,……
第2台服务器生成的增长序列分别为:2-2,2-6,2-10,……
第3台服务器生成的增长序列分别为:3-3,3-7,3-11,……
第4台服务器生成的增长序列分别为:4-4,4-8,4-12,……
在步骤203b中,将生成全局标识的生成时刻、分片标识和该数据记录的增长序列组合成该数据记录的全局标识。
上述步骤203b可以通过以下代码实现:
例如,用户发布了一篇文章,要生成文章的全局标识,假如用户标识是198810,此时有1024台服务器在正常工作,则:
time<------math.current_millisecond()
sharding_id<------198810%1024//154
article_id<------incrbyid_generator_1541//1是增加的步长
其中,time为生成时刻,sharding_id为分片标识,article_id为增长序列。
将上述代码用lua脚本表示为:
localstep=redis.call('GET','id_generator_step');
localsharding_id=KEYS[1]%1024;
localnext=redis.call('INCRBY','id_generator_'..sharding_id,step);
return{math.current_milliseconds(),sharding_id,next};
其中,id_generator_为服务器序号,id_generator_step为预定步长。
请参见图2E所示,其是根据一示例性实施例示出的一种全局标识生成方法所涉及的全局标识组成要素的示意图。如图2E所示,单元10为一个全局标识的结构组成,全局标识10由生成时刻、分片标识和增长序列组成,其中增长序列由当前服务器标识和增长值组成。
在步骤204中,当前服务器生成的一个全局标识被注销后,将全局标识中的增长序列分配到增长序列池中。
当某一个全局标识被注销后,说明此全局标识不再被继续使用,为了避免该全局标识的浪费,可以将该全局标识的增长序列分配到增长序列池中以进行再分配,实现对全局标识的再利用。
在步骤205中,当为数据记录生成全局标识时,先检测增长序列池中是否存在增长序列。
在步骤206中,若增长序列池中存在增长序列,则将增长序列池中的增长序列分配给数据记录。
当有数据记录生成时,服务器优先检测增长序列池中是否存在增长序列,如果存在增长序列,则优先分配增长序列池中的增长序列,避免池中的增长序列过多,过量占用增长序列池的存储空间,影响后续新注销增长序列的存入。
优选的,增长序列池中的增长序列可以按数据记录的类别进行分配,比如增长序列被注销前是分配给第一类数据记录的,当该增长序列进行再分配时,将该增长序列依旧分配给第一类数据记录。
另外,需要说明一点的是增长序列池中还包括用于为特定用户分配的特定增长序列,比如可以将一些特定增长序列分配给运营商。
综上所述,本公开实施例中提供的全局标识生成方法,通过获取数据片的分片标识,得到数据记录的增长值,将生成时刻、分片标识和增长序列生成该数据记录的全局标识;由于在查询某个数据记录时,可以利用该数据记录的全局标识中的生成时刻和分片标识进行查询,然后在符合条件的全局标识中再查询该数据记录全局标识中的增长序列,因此可以提高查询的效率,解决了当数据记录非常多时,查询效率比较低的问题;达到了生成的全局唯一标识包含时间、分片标识等丰富信息,查询效率提高的效果。
另外,通过将相同余数结果的用户标识划分到一个分片标识中,可以将同一个用户的所有数据记录均划分到同一个分片中,在查询同一个用户的数据记录时,仅需要到该用户所对应的分片中查询即可,因此提高了查询效率,解决了当数据记录非常多时,查询效率比较低的问题。
此外,通过针对正常工作的服务器的数量对预定步长做出实时更改,这样在出现故障的服务器无法为数据记录生成全局标识时,也可以利用这些出现故障的服务器所占用的增长值,因此避免了因故障服务器造成对增长值的浪费,达到了可以节约增长值的效果。
另外,通过将全局标识的生成时刻、分片标识和数据记录的增长序列构成全局标识,由于同一台服务器在同一个生成时刻,仅能为一条数据记录生成增长值,因此通过上述三个元素构成的全局标识是全局唯一的,达到了可以保证为数据记录生成的全局标识是唯一的效果。
此外,通过增长序列池实现将注销后的全局标识进行回收利用,因此可以避免被注销后的全局标识的浪费,提高了全局标识利用率的效果。
在一种可能的实现场景中,服务器在为数据记录生成全局标识时,服务器之间可以顺序生成,此时在前一台服务器生成全局标识之后,会告知给在后一台服务器,以便在后一台服务器会顺序生成全局标识。也就是说,当前服务器在生成增长序列之前,会接收到前一台服务器发送的通知指令,该通知指令用于提醒当前服务器生成全局标识。因此,在将上一次生成的增长值加上预定步长,得到数据记录的增长值之前,还包括:
接收通知指令,通知指令包含一个变量参数,变量参数用于指示连续未成功生成全局标识的次数;
在接收到通知指令后,将上一次生成的增长值加上预定步长后减去变量参数,得到数据记录的增长值,执行为数据记录生成全局标识的步骤。
一般情况下,各个服务器是按顺序依次生成增长序列的,当第一台服务器成功生成第一条增长序列后向第二台服务器发送通知指令,该通知指令用于提醒第二台服务器执行将上一次生成的增长值加上预定步长,得到数据记录的增长值的步骤。
举例来说,有i+3台服务器在工作,此时步长为i+3,其中i为大于0的自然数,那么:
第i台服务器的增长值分别为:1,5,……
第i+1台服务器的增长值分别为:2,6,……
第i+2台服务器的增长值分别为:3,7,……
第i+3台服务器的增长值分别为:4,8,……
当第i台服务器生成增长值5所对应的全局标识后一直处于忙碌状态,即无法生成增长9所对应的全局标识,第i台服务器会向第i+1台服务器发送一条通知指令,用来提醒第i+1台服务器生成增长值9所对应的全局标识,该通知指令中含有变量参数,因为该数据记录连续1次未能成功生成全局标识,所以变量参数取值为1,若第i+1台服务器处于空闲状态,则将该服务器上一次生成的增长值6加上预定步长4后减去变量参数1,得到增长值9并生成第i台服务器未处理的数据记录所对应全局标识,接着将变量参数恢复初始值0后并向第i+2台服务器发送一条通知;若第i+1台服务器也处于忙碌状态,则向第i+2台服务器发送一条通知,用来提醒第i+2台服务器生成增长值9所对应的全局标识,因为该数据记录连续2次未能成功生成全局标识,所以变量参数取值为2。
换句话说,当前服务器接收到前一台服务发送的通知指令,该通知指令中的变量参数为0,则说明前一台服务器已成功生成数据记录的全局标识,若当前服务器处于空闲状态能生成全局标识,则将本服务器上一次生成的增长值加上预定步长后减去变量参数0,得到当前增长值并生成数据记录的全局标识,并向下一台服务器发送通知指令,并将通知指令中的变量参数恢复为0;若当前服务器处于忙碌状态暂时不能生成全局标识,则将变量参数加1并向下一台服务器发送通知指令。
变量参数的设置可以使某台服务器处于暂时无法生成全局标识的情况下,其他服务器生成的数据记录对应全局标识中的增长值连续,有效避免了全局标识中增长值的不连续造成部分全局标识的浪费。
上述技术方案实现的有益效果为:利用变量参数用于指示连续未成功生成全局标识的次数,达到了节约全局标识的效果。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图3是根据一示例性实施例示出的一种全局标识生成装置的框图,如图3所示,该全局标识生成装置包括但不限于:获取模块301、第一计算模块302、生成模块303。
获取模块301,被配置为在为存储至数据分片中的数据记录生成全局标识时,获取数据分片的分片标识。
第一计算模块302,被配置为将上一次生成的增长值加上预定步长,得到该数据记录的增长值。
生成模块303,被配置为为该数据记录生成全局标识,该全局标识包括生成全局标识的生成时刻、获取模块301获取的分片标识和增长序列,增长序列中包含第一计算模块302计算得到的增长值。
在一种可能的实现方式中,请参见图4所示,其是根据另一示例性实施例示出的一种全局标识生成装置的框图,在图4中,该获取模块301,包括:获取子模块301a,取模子模块301b。
获取子模块301a,被配置获取用于标识用户的用户标识,该用户标识由数字组成。
取模子模块301b,被配置将获取子模块301a获取的该用户标识除以预定值,将得到的余数结果确定为数据分片的分片标识,数据分片用于存储具有相同余数结果的用户标识所对应的数据,预定值为用于存储数据的服务器的数量。
在一种可能的实现方式中,仍参见图4所示,该第一计算模块302,包括:检测子模块302a、第一计算子模块302b、第二计算子模块302c。
检测子模块302a,被配置为检测正常工作的服务器的数量是否发生变化,服务器为用于为数据记录生成全局标识的服务器。
第一计算子模块302b,被配置为当检测子模块302a检测出正常工作的服务器的数量发生变化时,则获取发生故障的服务器的数量,将发生故障的服务器的数量记为第一数量,将上一次计算用的预定步长减去第一数量,得到变化后的预定步长,将变化后的预定步长记为第一变化步长;将上一次生成的增长值加上第一变化步长,得到数据记录的增长值。
或者,
第二计算子模块302c,被配置为获取恢复工作的服务器的第二数量,将恢复工作的服务器的数量记为第二数量,将上一次计算用的预定步长加上第二数量,得到变化后的预定步长,将变化后的预定步长记为第二变化步长;将上一次生成的增长值加上变化后的第二变化步长,得到数据记录的增长值。
在一种可能的实现方式中,仍参见图4所示,该生成模块303,包括:绑定子模块303a、组合子模块303b。
绑定子模块303a,被配置为将用于标识当前服务器的标识与数据记录的增长值进行绑定,得到该数据记录的增长序列。
组合子模块303b,被配置为将生成全局标识的生成时刻、分片标识和该数据记录的增长序列组合成该数据记录的全局标识。
在一种可能的实现方式中,仍旧参见图4所示,该全局标识生成装置还可以包括:接收模块304、第二计算模块305。
接收模块304,被配置为接收通知指令,通知指令包含一个变量参数,变量参数用于指示连续未成功生成全局标识的次数。
第二计算模块305,被配置为在接收模块304接收到通知指令后,将上一次生成的增长值加上预定步长后减去变量参数,得到数据记录的增长值,执行为数据记录生成全局标识的步骤。
在一种可能的实现方式中,仍旧参见图4所示,该全局标识生成装置还可以包括:第一分配模块306、检测模块307、第二分配模308。
第一分配模块306,被配置为当前服务器生成的一个全局标识被注销后,将全局标识中的增长序列分配到当前服务器所对应的增长序列池中。
检测模块307,被配置为当为数据记录生成全局标识时,先检测增长序列池中是否存在增长序列。
第二分配模块308,被配置为当检测模块307检测出增长序列池中存在增长序列时,将增长序列池中的增长序列分配给数据记录。
综上,本公开实施例中提供的全局标识生成装置,通过获取数据片的分片标识,得到数据记录的增长值,将生成时刻、分片标识和增长序列生成该数据记录的全局标识;由于在查询某个数据记录时,可以利用该数据记录的全局标识中的生成时刻和分片标识进行查询,然后在符合条件的全局标识中再查询该数据记录全局标识中的增长序列,因此可以提高查询的效率,解决了当数据记录非常多时,查询效率比较低的问题;达到了生成的全局唯一标识包含时间、分片标识等丰富信息,查询效率提高的效果。
另外,通过将相同余数结果的用户标识划分到一个分片标识中,可以将同一个用户的所有数据记录均划分到同一个分片中,在查询同一个用户的数据记录时,仅需要到该用户所对应的分片中查询即可,因此提高了查询效率,解决了当数据记录非常多时,查询效率比较低的问题。
此外,通过针对正常工作的服务器的数量对预定步长做出实时更改,这样在出现故障的服务器无法为数据记录生成全局标识时,也可以利用这些出现故障的服务器所占用的增长值,因此避免了因故障服务器造成对增长值的浪费,达到了可以节约增长值的效果。
另外,通过将全局标识的生成时刻、分片标识和数据记录的增长序列构成全局标识,由于同一台服务器在同一个生成时刻,仅能为一条数据记录生成增长值,因此通过上述三个元素构成的全局标识是全局唯一的,达到了可以保证为数据记录生成的全局标识是唯一的效果。
此外,利用变量参数用于指示连续未成功生成全局标识的次数,达到了节约全局标识的效果。
另外,通过增长序列池实现将注销后的全局标识进行回收利用,因此可以避免被注销后的全局标识的浪费,提高了全局标识利用率的效果。
需要补充说明的是,图3和图4中所示的全局标识生成装置中的各个模块仅是一种可能的实现,在实际实现时,还可以通过其他的模块划分方式进行划分,模块的具体划分方式并应当用于限定本公开的保护范围。且图3和图4中所示的全局标识生成装置,可以用于实现图1、图2A至图2D中的步骤,其中各个模块执行操作的具体方式已经在有关该全局标识生成方法的实施例中进行了详细描述,此处将不做详细阐述说明。
关于上述实施例中的装置,其中各台模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开一示例性实施例提供了一种全局标识生成装置,能够实现本公开提供的全局标识生成方法,该全局标识生成装置包括:处理器、用于存储处理器可执行指令的存储器;
其中,处理器被配置为:
在为存储至数据分片中的数据记录生成全局标识时,获取该数据分片的分片标识;
将上一次生成的增长值加上预定步长,得到数据记录的增长值;
为数据记录生成全局标识,该全局标识包括生成该全局标识的生成时刻、分片标识和增长序列,该增长序列中包含增长值。
图5是根据一示例性实施例示出的一种用于生成全局标识的装置的框图。例如,装置500可以被提供为一用于生成全局标识的服务器。参照图5,装置500包括处理组件502,其进一步包括一个或多个处理器,以及由存储器504所代表的存储器资源,用于存储可由处理组件502的执行的指令,例如应用程序。存储器504中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件502被配置为执行指令,以执行上述全局标识方法。
装置500还可以包括一个电源组件506被配置为执行装置500的电源管理,一个有线或无线网络接口508被配置为将装置500连接到网络,和一个输入输出(I/O)接口510。装置500可以操作基于存储在存储器504的操作***,例如WindowsServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (13)
1.一种全局标识生成方法,其特征在于,应用于当前服务器中,所述方法包括:
在为存储至数据分片中的数据记录生成全局标识时,获取所述数据分片的分片标识;
将上一次生成的增长值加上预定步长,得到所述数据记录的增长值;
为所述数据记录生成全局标识,所述全局标识包括生成所述全局标识的生成时刻、所述分片标识和增长序列,所述增长序列中包含所述增长值。
2.根据权利要求1所述的方法,其特征在于,所述获取所述数据分片的分片标识,包括:
获取用于标识用户的用户标识,所述用户标识由数字组成;
将所述用户标识除以预定值,将得到的余数结果确定为所述数据分片的分片标识,所述数据分片用于存储具有相同余数结果的用户标识所对应的数据,所述预定值为用于存储数据的服务器的数量。
3.根据权利要求1所述的方法,其特征在于,所述将上一次生成的增长值加上预定步长,得到所述数据记录的增长值,包括:
检测正常工作的服务器的数量是否发生变化,所述服务器为用于为数据记录生成全局标识的服务器;
若正常工作的服务器的数量发生变化,则获取发生故障的服务器的数量,将所述发生故障的服务器的数量记为第一数量,将上一次计算用的预定步长减去所述第一数量,得到变化后的预定步长,将所述变化后的预定步长记为第一变化步长;将上一次生成的增长值加上所述第一变化步长,得到所述数据记录的增长值;
或者,
获取恢复工作的服务器的数量,将所述恢复工作的服务器的数量记为第二数量,将上一次计算用的预定步长加上所述第二数量,得到变化后的预定步长,将所述变化后的预定步长记为第二变化步长;将上一次生成的增长值加上所述第二变化步长,得到所述数据记录的增长值。
4.根据权利要求1所述的方法,其特征在于,所述为所述数据记录生成全局标识,包括:
将用于标识所述当前服务器的标识与所述数据记录的增长值进行绑定,得到所述数据记录的增长序列;
将生成所述全局标识的生成时刻、所述分片标识和所述数据记录的增长序列组合成所述数据记录的全局标识。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收通知指令,所述通知指令包含一个变量参数,所述变量参数用于指示连续未成功生成全局标识的次数;
在接收到所述通知指令后,将上一次生成的增长值加上预定步长后减去所述变量参数,得到所述数据记录的增长值,执行所述为所述数据记录生成全局标识的步骤。
6.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:
当所述当前服务器生成的一个全局标识被注销后,将所述全局标识中的增长序列分配到增长序列池中;
当为所述数据记录生成全局标识时,检测所述增长序列池中是否存在增长序列;
若所述增长序列池中存在增长序列,则将所述增长序列池中的增长序列分配给所述数据记录。
7.一种全局标识生成装置,其特征在于,应用于当前服务器中,所述装置包括:
获取模块,被配置为在为存储至数据分片中的数据记录生成全局标识时,获取所述数据分片的分片标识;
第一计算模块,被配置为将上一次生成的增长值加上预定步长,得到所述数据记录的增长值;
生成模块,被配置为为所述数据记录生成全局标识,所述全局标识包括生成所述全局标识的生成时刻、所述获取模块获取的所述分片标识和增长序列,所述增长序列中包含所述第一计算模块计算得到的所述增长值。
8.根据权利要求7所述的装置,其特征在于,所述获取模块,包括:
获取子模块,被配置为获取用于标识用户的用户标识,所述用户标识由数字组成;
取模子模块,被配置为将所述获取子模块获取的所述用户标识除以预定值,将得到的余数结果确定为所述数据分片的分片标识,所述数据分片用于存储具有相同余数结果的用户标识所对应的数据,所述预定值为用于存储数据的服务器的数量。
9.根据权利要求7所述的装置,其特征在于,所述第一计算模块,包括:
检测子模块,被配置为检测正常工作的服务器的数量是否发生变化,所述服务器为用于为数据记录生成全局标识的服务器;
第一计算子模块,被配置为若所述检测子模块检测出正常工作的服务器的数量发生变化,则获取发生故障的服务器的数量,将所述发生故障的服务器的数量记为第一数量,将上一次计算用的预定步长减去所述第一数量,得到变化后的预定步长,将所述变化后的预定步长记为第一变化步长;将上一次生成的增长值加上所述第一变化步长,得到所述数据记录的增长值;
或者,
第二计算子模块,被配置为获取恢复工作的服务器的数量,将所述恢复工作的服务器的数量记为第二数量,将上一次计算用的预定步长加上所述第二数量,得到变化后的预定步长,将所述变化后的预定步长记为第二变化步长;将上一次生成的增长值加上变化后的所述第二变化步长,得到所述数据记录的增长值。
10.根据权利要求7所述的装置,其特征在于,所述生成模块,包括:
绑定子模块,被配置为将用于标识所述当前服务器的标识与所述数据记录的增长值进行绑定,得到所述数据记录的增长序列;
组合子模块,被配置为将生成所述全局标识的生成时刻、所述分片标识和所述数据记录的增长序列组合成所述数据记录的全局标识。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
接收模块,被配置为接收通知指令,所述通知指令包含一个变量参数,所述变量参数用于指示连续未成功生成全局标识的次数;
第二计算模块,被配置为在所述接收模块接收到所述通知指令后,将上一次生成的增长值加上预定步长后减去所述变量参数,得到所述数据记录的增长值,执行所述为所述数据记录生成全局标识的步骤。
12.根据权利要求7至11任一所述的装置,其特征在于,所述装置还包括:
第一分配模块,被配置为当所述当前服务器生成的一个全局标识被注销后,将所述全局标识中的增长序列分配到增长序列池中;
检测模块,被配置为当为所述数据记录生成全局标识时,检测所述增长序列池中是否存在增长序列;
第二分配模块,被配置为若所述检测模块检测出所述增长序列池中存在增长序列,则将所述增长序列池中的增长序列分配给所述数据记录。
13.一种全局标识生成装置,其特征在于,所述装置包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
在为存储至数据分片中的数据记录生成全局标识时,获取所述数据分片的分片标识;
将上一次生成的增长值加上预定步长,得到所述数据记录的增长值;
为所述数据记录生成全局标识,所述全局标识包括生成所述全局标识的生成时刻、所述分片标识和增长序列,所述增长序列中包含所述增长值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510490266.3A CN105117439A (zh) | 2015-08-11 | 2015-08-11 | 全局标识生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510490266.3A CN105117439A (zh) | 2015-08-11 | 2015-08-11 | 全局标识生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105117439A true CN105117439A (zh) | 2015-12-02 |
Family
ID=54665429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510490266.3A Pending CN105117439A (zh) | 2015-08-11 | 2015-08-11 | 全局标识生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105117439A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956205A (zh) * | 2016-07-01 | 2016-09-21 | 百势软件(北京)有限公司 | 一种生成hbase行健的方法及装置 |
CN107528816A (zh) * | 2016-06-22 | 2017-12-29 | 中兴通讯股份有限公司 | 分布式数据库中id的处理方法、管理***及服务器 |
CN108647193A (zh) * | 2018-04-20 | 2018-10-12 | 河南中烟工业有限责任公司 | 一种可应用于分布式***的唯一标识符生成方法及装置 |
CN109309736A (zh) * | 2017-07-28 | 2019-02-05 | 北京京东尚科信息技术有限公司 | 全局唯一id的生成方法和生成装置 |
CN110019080A (zh) * | 2017-07-14 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据访问方法和装置 |
CN110636097A (zh) * | 2018-06-25 | 2019-12-31 | 马上消费金融股份有限公司 | 一种标识生成与管理方法及节点、***和存储装置 |
CN112395313A (zh) * | 2019-08-16 | 2021-02-23 | 阿里巴巴集团控股有限公司 | 全局序列生成方法、装置、电子设备及计算机存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880475A (zh) * | 2012-10-23 | 2013-01-16 | 上海普元信息技术股份有限公司 | 计算机软件***中基于云计算的实时事件处理***及方法 |
CN104809202A (zh) * | 2015-04-24 | 2015-07-29 | 联动优势科技有限公司 | 一种数据库同步的方法和装置 |
CN104809201A (zh) * | 2015-04-24 | 2015-07-29 | 联动优势科技有限公司 | 一种数据库同步的方法和装置 |
-
2015
- 2015-08-11 CN CN201510490266.3A patent/CN105117439A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880475A (zh) * | 2012-10-23 | 2013-01-16 | 上海普元信息技术股份有限公司 | 计算机软件***中基于云计算的实时事件处理***及方法 |
CN104809202A (zh) * | 2015-04-24 | 2015-07-29 | 联动优势科技有限公司 | 一种数据库同步的方法和装置 |
CN104809201A (zh) * | 2015-04-24 | 2015-07-29 | 联动优势科技有限公司 | 一种数据库同步的方法和装置 |
Non-Patent Citations (1)
Title |
---|
HENGYUNABC: "分片(Sharding)的全局ID生成", 《BLOG.CSDN.NET》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107528816A (zh) * | 2016-06-22 | 2017-12-29 | 中兴通讯股份有限公司 | 分布式数据库中id的处理方法、管理***及服务器 |
CN107528816B (zh) * | 2016-06-22 | 2021-05-18 | 中兴通讯股份有限公司 | 分布式数据库中id的处理方法、管理***及服务器 |
CN105956205A (zh) * | 2016-07-01 | 2016-09-21 | 百势软件(北京)有限公司 | 一种生成hbase行健的方法及装置 |
CN105956205B (zh) * | 2016-07-01 | 2019-07-02 | 百势软件(北京)有限公司 | 一种生成hbase行健的方法及装置 |
CN110019080A (zh) * | 2017-07-14 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据访问方法和装置 |
CN110019080B (zh) * | 2017-07-14 | 2021-11-12 | 北京京东尚科信息技术有限公司 | 数据访问方法和装置 |
CN109309736A (zh) * | 2017-07-28 | 2019-02-05 | 北京京东尚科信息技术有限公司 | 全局唯一id的生成方法和生成装置 |
CN108647193A (zh) * | 2018-04-20 | 2018-10-12 | 河南中烟工业有限责任公司 | 一种可应用于分布式***的唯一标识符生成方法及装置 |
CN108647193B (zh) * | 2018-04-20 | 2021-11-19 | 河南中烟工业有限责任公司 | 一种可应用于分布式***的唯一标识符生成方法及装置 |
CN110636097A (zh) * | 2018-06-25 | 2019-12-31 | 马上消费金融股份有限公司 | 一种标识生成与管理方法及节点、***和存储装置 |
CN110636097B (zh) * | 2018-06-25 | 2021-04-06 | 马上消费金融股份有限公司 | 一种标识生成与管理方法及节点、***和存储装置 |
CN112395313A (zh) * | 2019-08-16 | 2021-02-23 | 阿里巴巴集团控股有限公司 | 全局序列生成方法、装置、电子设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105117439A (zh) | 全局标识生成方法及装置 | |
WO2020018012A9 (en) | Open network automation platform (onap) - fifth generation core (5gc) interaction for analytics | |
CN109597853B (zh) | 业务场景元素序列号生成方法、装置、介质和计算机设备 | |
CN103699618B (zh) | 数据报表的生成方法和*** | |
CN101699479B (zh) | 一种过程运维管理方法及*** | |
CN106155812A (zh) | 一种对虚拟主机的资源管理的方法、装置、***及电子设备 | |
MY170276A (en) | Method and system for synchronizing operations of multiple groups | |
CN108737570A (zh) | 一种信息推送方法、装置及*** | |
CN105162894A (zh) | 设备标识获取方法及装置 | |
CN103729742B (zh) | 一种基于soa架构和模型驱动架构的数据资源管理*** | |
CN104317604A (zh) | 一种程序代码生成方法及装置 | |
TW200627181A (en) | Information processing system, information processing method, and computer program used therewith | |
EP3370166B1 (en) | Method and apparatus for model parameter fusion | |
CN104050297A (zh) | 一种查询事务分配方法及装置 | |
CN102571595B (zh) | 一种堆叠***的路由转发信息同步方法和装置 | |
CN105007310A (zh) | 信息同步方法、装置和*** | |
CN112508524B (zh) | 一种电子审批方法、***、装置及存储介质 | |
CN102420812B (zh) | 一种支持分布并行处理的Web服务自动QoS组合方法 | |
CN101916226A (zh) | 基于线程信息的多线程并发执行跟踪方法及*** | |
CN104243272A (zh) | 一种媒体消息推送方法和装置 | |
CN104599092A (zh) | 用于监控订单业务的方法及设备 | |
CN103164409A (zh) | 一种网络广告展现样式后验方法及*** | |
CN101794289A (zh) | 导出数据的方法与*** | |
CN111555894A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN105576649A (zh) | 微电网用电调度方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151202 |