CN111787131B - Id生成方法和电子设备 - Google Patents
Id生成方法和电子设备 Download PDFInfo
- Publication number
- CN111787131B CN111787131B CN202010591095.4A CN202010591095A CN111787131B CN 111787131 B CN111787131 B CN 111787131B CN 202010591095 A CN202010591095 A CN 202010591095A CN 111787131 B CN111787131 B CN 111787131B
- Authority
- CN
- China
- Prior art keywords
- field
- electronic device
- generation
- information
- electronic equipment
- 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
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/3015—Name registration, generation or assignment
-
- 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/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种ID生成方法和电子设备,涉及数据处理领域中的数据生成领域,可用于云平台或云计算。具体实现方案为:一种ID生成方法,应用于第一电子设备,所述方法包括:在接收到ID生成请求的情况下,向第二电子设备发送ID生成指令;在接收到所述第二电子设备发送的第一反馈信息的情况下,基于预设信息生成位于第一区间内的第一ID;其中,所述第一反馈信息用于指示所述第二电子设备基于所述ID生成指令生成位于第二区间的ID失败,所述第一区间与所述第二区间之间不存在交集。本申请提供的一种ID生成方法和电子设备,可以解决现有技术中采用ID生成设备生成ID的可靠性差的问题。
Description
技术领域
本申请涉及数据处理领域中的数据生成领域,具体涉及一种ID生成方法和电子设备。
背景技术
随着互联网技术的发展,在各类后端服务平台进行业务处理时会产生大量的数据,因此,通常需要生成唯一ID,以区分不同操作带来的数据。。现有技术中,通常是由专门的ID生成设备为服务平台提供ID生成服务,这样在实际应用中,ID生成设备可能会出现无法生成ID的情况,从而导致生成ID的可靠性差。
发明内容
本申请提供一种ID生成方法和电子设备,以解决现有技术中采用ID生成设备生成ID的可靠性差的问题。
第一方面,本申请提供一种ID生成方法,应用于第一电子设备,所述方法包括:
在接收到ID生成请求的情况下,向第二电子设备发送ID生成指令;
在接收到所述第二电子设备发送的第一反馈信息的情况下,基于预设信息生成位于第一区间内的第一ID;
其中,所述第一反馈信息用于指示所述第二电子设备基于所述ID生成指令生成位于第二区间的ID失败,所述第一区间与所述第二区间之间不存在交集。
这样,在第二电子设备基于ID生成指令生成位于第二区间的ID失败的情况下,由第一电子设备基于预设信息生成位于第一区间的第一ID,这样,可以保证在第二电子设备处于宕机状态时,仍可成功生成ID,从而提高了ID生成的效果。
可选地,所述预设信息包括以下信息中的至少一项:所述第一电子设备接收到所述ID生成请求时的时间戳信息、随机生成的随机序列信息和所述第一电子设备的账号信息。
该实施方式中,通过将所述预设信息设置为包括所述第一电子设备接收到所述ID生成请求时的时间戳信息、随机生成的随机序列信息和所述第一电子设备的账号信息中的至少一种,从而有效的避免了所生成的第一ID发生碰撞的问题。
可选地,所述第一ID包括第一字段、第二字段和第三字段的至少两项,所述基于预设信息生成位于第一区间内的第一ID,包括:
将第一字段、第二字段和第三字段中的至少两项进行组合,得到所述第一ID;
所述第一字段为基于所述时间戳信息生成的字段;
所述第二字段为基于所述随机序列信息生成的字段;
所述第三字段为基于所述账号信息生成的字段。
该实施方式中,通过将时间戳信息、随机序列信息和账号信息分别作为所需生成的第一ID中的字段,从而进一步减小了所生成的第一ID发生碰撞的概率。
可选地,不同的所述第一电子设备具有不同的所述账号信息。
该实施方式中,通过为不同第一电子设备设置不同的账号,从而可以确保不同第一电子设备所生成的第一ID不同。
可选地,所述向第二电子设备发送ID生成指令之后,所述方法还包括:
在接收到所述第二电子设备发送的第二反馈信息的情况下,获取所述第二电子设备基于所述ID生成指令生成的第二ID,其中,所述第二ID位于所述第二区间,所述第二反馈信息用于指示所述第二电子设备基于所述ID生成指令生成ID成功。
该实施方式中,在第二电子设备处于正常工作状态的时候,由第二电子设备生成第二ID,以响应第一电子设备所接收到的ID生成请求。这样,可以避免所有工作均由第一电子设备完成,以提高第一电子设备的响应速度。
第二方面,本申请提供一种ID生成装置,应用于第一电子设备,所述装置包括:
发送模块,用于在接收到ID生成请求的情况下,向第二电子设备发送ID生成指令;
生成模块,用于在接收到所述第二电子设备发送的第一反馈信息的情况下,基于预设信息生成位于第一区间内的第一ID;
其中,所述第一反馈信息用于指示所述第二电子设备基于所述ID生成指令生成位于第二区间的ID失败,所述第一区间与所述第二区间之间不存在交集。
可选地,所述预设信息包括以下信息中的至少一项:所述第一电子设备接收到所述ID生成请求时的时间戳信息、随机生成的随机序列信息和所述第一电子设备的账号信息。
可选地,所述第一ID包括第一字段、第二字段和第三字段的至少两项;
所述生成模块,具体用于将第一字段、第二字段和第三字段中的至少两项进行组合,得到所述第一ID;
所述第一字段为基于所述时间戳信息生成的字段;
所述第二字段为基于所述随机序列信息生成的字段;
所述第三字段为基于所述账号信息生成的字段。
可选地,不同的所述第一电子设备具有不同的所述账号信息。
可选地,所述装置还包括:
获取模块,用于在接收到所述第二电子设备发送的第二反馈信息的情况下,获取所述第二电子设备基于所述ID生成指令生成的第二ID,其中,所述第二ID位于所述第二区间,所述第二反馈信息用于指示所述第二电子设备基于所述ID生成指令生成ID成功。
第三方面,本申请提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请提供的ID生成方法步骤。
第四方面,本申请提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请提供的ID生成方法步骤。
上述申请中的一个实施例具有如下优点或有益效果:在第二电子设备基于ID生成指令生成位于第二区间的ID失败的情况下,由第一电子设备基于预设信息生成位于第一区间的第一ID,这样,可以保证在第二电子设备无法成功生成ID时,仍可由第一电子设备成功生成ID,从而提高了ID生成的可靠性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请实施例中所提供的ID生成方法的流程图之一;
图2是本申请实施例中所提供的ID生成方法的流程图之二;
图3是本申请实施例中所提供的ID生成装置的结构示意图;
图4是用来实现本申请实施例的ID生成方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
请参见图1,图1是本申请实施例提供的一种ID生成方法,应用于第一电子设备,所述方法包括:
步骤S101、在接收到ID生成请求的情况下,向第二电子设备发送ID生成指令;
其中,所述第一电子设备可以是指后端服务平台中用于与用户进行交互的服务器,该第一电子设备可接收用户的ID生成请求,并响应用户的ID生成请求向用户发送ID。所述第二电子设备可以是后端服务器平台中的ID生成装置,例如,可以是ID生成装置。
上述ID可以是指用户向第一电子设备提交订单时,为该订单设置的订单号,在此场景下,上述ID生成请求可以是指订单生成请求;上述ID也可以是指用户收藏某一链接时,为该链接设置的ID号,相应地,在此场景下,上述ID生成请求可以是指收藏请求;此外,上述ID还可以是各种流水号,例如,转账流水号等。
步骤S102、在接收到所述第二电子设备发送的第一反馈信息的情况下,基于预设信息生成位于第一区间内的第一ID;
其中,所述第一反馈信息用于指示所述第二电子设备基于所述ID生成指令生成位于第二区间的ID失败,所述第一区间与所述第二区间之间不存在交集。
上述第一反馈信息可以是指第二电子设备在基于ID生成指令生成位于第二区间的ID失败时,所生成的反馈信息,例如,在第二电子设备生成ID成功时,生成如下反馈信息“1”或者“生成成功”等,在第二电子设备生成ID失败时,生成如下反馈信息“0”或者“生成失败”等。
上述ID生成指令可以是第二电子设备所接收到的所述ID生成请求,也可以是与ID生成请求相对应的指令,对此不作限制。
由于后端服务平台在生成ID时,通常要确保所生成的ID为全局唯一的ID,例如,所生成的ID号、流水号均不能出现重复的情况。而第一电子设备和第二电子设备分别独立完成ID的生成过程,因此,为了避免第一电子设备与第二电子设备所生产的ID出现碰撞的问题。可以分别为第一电子设备和第二电子设备分别划分两个不存在交集的ID生成范围。例如,所述ID为ID号,且采用unsigned int64保存此ID号,后端服务平台允许生成的ID的范围是[0,18446744073709551615],则可将该范围划分为两个区间,具体可以是:
第一区间为:[0,15000000000000000000];
第二区间为:[15000000000000000001,18446744073709551615];
这样,第一电子设备所生成的ID号始终位于第一区间内,第二电子设备所生产的ID号始终位于第二区间内,由于第一区间与第二区间不存在交集,因此,第一电子设备和第二电子设备所生成的ID号不会出现碰撞的问题。
上述预设信息可以是预先配置于第一电子设备的ID生成规则,基于该规则可以生成对应的ID,此外,也可以是预先存储于第一电子设备上的ID等。
该实施方式中,在第二电子设备基于ID生成指令生成位于第二区间的ID失败的情况下,由第一电子设备基于预设信息生成位于第一区间的第一ID,这样,可以保证在第二电子设备处于宕机状态时,仍可成功生成ID,提高了ID生成的效果。
本申请实施例提供的ID生成方法可用于云平台或云计算中。例如,云平台中的服务器基于业务需求,需要生成ID号时,可以采用本申请实施例所提供的ID生成方法生成ID号。
可选地,所述预设信息包括以下信息中的至少一项:所述第一电子设备接收到所述ID生成请求时的时间戳信息、随机生成的随机序列信息和所述第一电子设备的账号信息。
其中,可以基于第一电子设备接收到所述ID生成请求时的时间戳信息单独生成所述第一ID,例如,将所述第一电子设备接收到所述ID生成请求时的时间戳作为第一ID,或者,基于预设规则对第一电子设备接收到所述ID生成请求时的时间戳补齐字符位数后,将补齐后的结果作为所述第一ID;也可以基于随机生成的随机序列信息单独生成所述第一ID,例如,将所述随机生成的随机序列作为第一ID,或者,基于预设规则对随机生成的随机序列补齐字符位数后,将补齐后的结果作为所述第一ID。同理,还可以基于所述第一电子设备的账号信息单独生成所述第一ID。
此外,还可以将所述第一电子设备接收到所述ID生成请求时的时间戳信息、随机生成的随机序列信息和所述第一电子设备的账号信息中的两者或者三者进行组合以形成所述ID。
通过基于时间戳信息生成所述第一ID,由于不同时间点的时间戳不同,因此,可以确保基于不同时间点接收到的ID生成请求,生成的第一ID不同,从而有效的避免了不同时间点所生成的第一ID发生碰撞的问题。
由于第一电子设备可能在较短的时间内(例如:1秒内)接收到多个ID生成请求,为了避免在此情况下,所述时间戳信息相同,可以将所述时间戳信息设置为毫秒级时间戳,这样,可以进一步避免不同时间点所生成的第一ID发生的问题。
此外,由于后端服务平台通常是采用服务器集群的形式为用户提供服务,因此,可以为不同的第一电子设备分配不同的ID账号,例如,假设服务器集群中存在N台第一电子设备,则可分别将N台第一电子设备的ID账号设置为00001、00002、00003、00004…0000N,然后将所述第一电子设备的ID账号添加至所生成的第一ID中,这样,即便不同第一电子设备在同一时间分别接收到了ID生成请求,即二者的时间戳信息相同,然而,由于二者的账号信息不同,因此,二者所生成的第一ID也不相同,从而避免了不同第一电子设备之间所生产的第一ID相同的问题。
又由于同一第一电子设备可能在同一时间点接收到多条ID生成请求,为进一步避免所生成的第一ID发生碰撞的问题,可以进一步在所生成的ID中增加随机数,例如,该随机数可以是0-9999中的任意随机数,当所生成的随机数的位数小于4位时,可以在所生成的随机数之前补0,例如,当所生成的随机数为123时,补齐后的随机数为0123,从而可以确保所生成的随机数的位数固定。通过在所生成的第一ID中增设随机序列信息,这样,即便时间戳信息和账号信息相同,由于连续两次生成的随机数相同的概率极小,从而进一步避免了所生成的第一ID相同的问题。
该实施方式中,通过将所述预设信息设置为包括所述第一电子设备接收到所述ID生成请求时的时间戳信息、随机生成的随机序列信息和所述第一电子设备的账号信息中的至少一种,从而有效的避免了所生成的第一ID发生碰撞的问题。
可选地,所述第一ID包括第一字段、第二字段和第三字段的至少两项,所述基于预设信息生成位于第一区间内的第一ID,包括:
将第一字段、第二字段和第三字段中的至少两项进行组合,得到所述第一ID;
所述第一字段为基于所述时间戳信息生成的字段;
所述第二字段为基于所述随机序列信息生成的字段;
所述第三字段为基于所述账号信息生成的字段。
其中,可以将任意两个字段按照预设的顺序进行组合,以得到所述第一ID,为了减小所生成的第一ID发送碰撞的概率,可以将上述三个字段按照预设顺序进行组合。其中,所述第一字段、第二字段和第三字段的字符位数以及在第一ID中的位置可以是固定的。以生成20位的ID号为例,所述第一字段可以包括14位,所述第二字段可以包括4位,所述第三字段可以包括2位,可以按照第一字段、第二字段、第三字段的顺序依次连接三个字段形成所述第一ID。其中,ID号的具体生成过程可以是:获取第一电子设备接收到所述ID生成请求时的毫秒时间戳,假设为1589872188.6754,将所获取的毫秒时间戳乘以1000,得到第一字段:15898721886754;然后,生成0-9999之间的任意随机数,假设为0134;最后确定当前第一电子设备的ID号,假设为08,则所生成的ID账号为:15898721886754013408。
该实施方式中,通过将时间戳信息、随机序列信息和账号信息分别作为所需生成的第一ID中的字段,从而进一步减小了所生成的第一ID发生碰撞的概率。
可选地,不同的所述第一电子设备具有不同的所述账号信息。
由上述论述可知,后端服务平台中可能存在多台第一电子设备为用户提高服务,因此,通过为不同第一电子设备设置不同的账号,从而可以确保不同第一电子设备所生成的第一ID不同。
可选地,所述向第二电子设备发送ID生成指令之后,所述方法还包括:
在接收到所述第二电子设备发送的第二反馈信息的情况下,获取所述第二电子设备基于所述ID生成指令生成的第二ID,其中,所述第二ID位于所述第二区间,所述第二反馈信息用于指示所述第二电子设备基于所述ID生成指令生成ID成功。
其中,所述第二电子设备可以是分布式内存存储系统,例如,Redis。它的特点是能分布式部署和访问,并提供极高的并发计数性能。所述第二电子设备可以以自增的形式生成第二ID,通过将当前第二ID存储于第二电子设备,这样,接收到ID生成请求时,在当前ID的基础上自增1,得到新的第二ID,并将新的第二ID返回给第一电子设备,同时,将新的第二ID作为当前存储于第二电子设备的ID。
该实施方式中,在第二电子设备处于正常工作状态的时候,由第二电子设备生成第二ID,以响应第一电子设备所接收到的ID生成请求。这样,可以避免所有工作均由第一电子设备完成,以提高第一电子设备的响应速度。
请参见图2,为本申请提供的ID生成方法的流程图,其具体流程如下:在开启ID生成服务之前,可以为每一第一电子设备分别全局唯一的ID号。在具体工作过程中,用户可以将ID生成请求随机发送至后端任意一台第一电子设备,第一电子设备在接收到ID生成请求时,向第二电子设备发送ID生成指令,然后判断第二电子设备是否成功生成第二ID,当确定生成成功时,则完成ID的生成过程,当第二电子设备生成ID失败时,则由第一电子设备生成第一ID,其中,所述第一ID=第一字段+第二字段+第三字段,所述“+”并非数学运算中的运算符号,而是指将两个字段进行收尾相接。这样,即可保证在第二电子设备处于宕机状态时,仍可成功生成ID,提高了ID生成的效果,提升了业务稳定性,保障了用户体验。
请参见图3,图3是本申请实施例提供的一种ID生成装置300,应用于第一电子设备,所述装置包括:
发送模块301,用于在接收到ID生成请求的情况下,向第二电子设备发送ID生成指令;
生成模块302,用于在接收到所述第二电子设备发送的第一反馈信息的情况下,基于预设信息生成位于第一区间内的第一ID;
其中,所述第一反馈信息用于指示所述第二电子设备基于所述ID生成指令生成位于第二区间的ID失败,所述第一区间与所述第二区间之间不存在交集。
可选地,所述预设信息包括以下信息中的至少一项:所述第一电子设备接收到所述ID生成请求时的时间戳信息、随机生成的随机序列信息和所述第一电子设备的账号信息。
可选地,所述第一ID包括第一字段、第二字段和第三字段的至少两项;
所述生成模块302,具体用于将第一字段、第二字段和第三字段中的至少两项进行组合,得到所述第一ID;
所述第一字段为基于所述时间戳信息生成的字段;
所述第二字段为基于所述随机序列信息生成的字段;
所述第三字段为基于所述账号信息生成的字段。
可选地,不同的所述第一电子设备具有不同的所述账号信息。
可选地,所述装置还包括:
获取模块,用于在接收到所述第二电子设备发送的第二反馈信息的情况下,获取所述第二电子设备基于所述ID生成指令生成的第二ID,其中,所述第二ID位于所述第二区间,所述第二反馈信息用于指示所述第二电子设备基于所述ID生成指令生成ID成功。
本实施例提供的ID生成装置300能够实现图1-2所示的方法实施例中第一电子设备实现的各个过程,且可以达到相同有益效果,为避免重复,这里不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图4所示,是根据本申请实施例的ID生成方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图4所示,该电子设备包括:一个或多个处理器401、存储器402,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图4中以一个处理器401为例。
存储器402即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的ID生成方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的ID生成方法。
存储器402作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的ID生成方法对应的程序指令/模块(例如,附图3所示的发送模块301和生成模块302)。处理器401通过运行存储在存储器402中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的ID生成方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据ID生成方法的电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至ID生成方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
ID生成方法的电子设备还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图4中以通过总线连接为例。
输入装置403可接收输入的数字或字符信息,以及产生与ID生成方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置404可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,在第二电子设备基于ID生成指令生成位于第二区间的ID失败的情况下,由第一电子设备基于预设信息生成位于第一区间的第一ID,这样,可以保证在第二电子设备处于宕机状态时,仍可成功生成ID,从而提高了ID生成的效果。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (12)
1.一种ID生成方法,应用于第一电子设备,所述方法包括:
在接收到ID生成请求的情况下,向第二电子设备发送ID生成指令;
在接收到所述第二电子设备发送的第一反馈信息的情况下,基于预设信息生成位于第一区间内的第一ID;
其中,所述第一反馈信息用于指示所述第二电子设备基于所述ID生成指令生成位于第二区间的ID失败;
所述第一区间与所述第二区间之间不存在交集。
2.根据权利要求1所述的方法,其中,所述预设信息包括以下信息中的至少一项:所述第一电子设备接收到所述ID生成请求时的时间戳信息、随机生成的随机序列信息和所述第一电子设备的账号信息。
3.根据权利要求2所述的方法,其中,所述第一ID包括第一字段、第二字段和第三字段的至少两项,所述基于预设信息生成位于第一区间内的第一ID,包括:
将第一字段、第二字段和第三字段中的至少两项进行组合,得到所述第一ID;
所述第一字段为基于所述时间戳信息生成的字段;
所述第二字段为基于所述随机序列信息生成的字段;
所述第三字段为基于所述账号信息生成的字段。
4.根据权利要求2所述的方法,其中,不同的所述第一电子设备具有不同的所述账号信息。
5.根据权利要求1所述的方法,其中,所述向第二电子设备发送ID生成指令之后,所述方法还包括:
在接收到所述第二电子设备发送的第二反馈信息的情况下,获取所述第二电子设备基于所述ID生成指令生成的第二ID,其中,所述第二ID位于所述第二区间,所述第二反馈信息用于指示所述第二电子设备基于所述ID生成指令生成ID成功。
6.一种ID生成装置,应用于第一电子设备,所述装置包括:
发送模块,用于在接收到ID生成请求的情况下,向第二电子设备发送ID生成指令;
生成模块,用于在接收到所述第二电子设备发送的第一反馈信息的情况下,基于预设信息生成位于第一区间内的第一ID;
其中,所述第一反馈信息用于指示所述第二电子设备基于所述ID生成指令生成位于第二区间的ID失败;
所述第一区间与所述第二区间之间不存在交集。
7.根据权利要求6所述的装置,其中,所述预设信息包括以下信息中的至少一项:所述第一电子设备接收到所述ID生成请求时的时间戳信息、随机生成的随机序列信息和所述第一电子设备的账号信息。
8.根据权利要求7所述的装置,其中,所述第一ID包括第一字段、第二字段和第三字段的至少两项;
所述生成模块,具体用于将第一字段、第二字段和第三字段中的至少两项进行组合,得到所述第一ID;
所述第一字段为基于所述时间戳信息生成的字段;
所述第二字段为基于所述随机序列信息生成的字段;
所述第三字段为基于所述账号信息生成的字段。
9.根据权利要求7所述的装置,其中,不同的所述第一电子设备具有不同的所述账号信息。
10.根据权利要求6所述的装置,其中,所述装置还包括:
获取模块,用于在接收到所述第二电子设备发送的第二反馈信息的情况下,获取所述第二电子设备基于所述ID生成指令生成的第二ID,其中,所述第二ID位于所述第二区间,所述第二反馈信息用于指示所述第二电子设备基于所述ID生成指令生成ID成功。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010591095.4A CN111787131B (zh) | 2020-06-24 | 2020-06-24 | Id生成方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010591095.4A CN111787131B (zh) | 2020-06-24 | 2020-06-24 | Id生成方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111787131A CN111787131A (zh) | 2020-10-16 |
CN111787131B true CN111787131B (zh) | 2023-02-21 |
Family
ID=72761195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010591095.4A Active CN111787131B (zh) | 2020-06-24 | 2020-06-24 | Id生成方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111787131B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9706401B2 (en) * | 2014-11-25 | 2017-07-11 | Microsoft Technology Licensing, Llc | User-authentication-based approval of a first device via communication with a second device |
CN106341497B (zh) * | 2016-11-18 | 2019-08-30 | 腾讯科技(深圳)有限公司 | 数字id生成方法及装置 |
US11218465B2 (en) * | 2017-01-29 | 2022-01-04 | Beame.io Ltd. | Establishing an AD-HOC secure connection between two electronic computing devices using a self-expiring locally transmitted information packet |
CN109657107B (zh) * | 2018-11-02 | 2021-01-01 | 同盾控股有限公司 | 一种基于第三方应用的终端匹配方法和装置 |
CN109728913B (zh) * | 2018-12-24 | 2021-12-14 | 华为技术有限公司 | 一种设备合法性验证方法、相关设备以及系统 |
-
2020
- 2020-06-24 CN CN202010591095.4A patent/CN111787131B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111787131A (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111586128B (zh) | 小程序数据的获取方法、装置、设备以及存储介质 | |
CN111782365B (zh) | 定时任务处理方法、装置、设备及存储介质 | |
CN111880914A (zh) | 资源调度方法、资源调度装置、电子设备和存储介质 | |
EP3816802A2 (en) | Method and device for processing mini program data | |
CN111600790B (zh) | 基于区块链的消息处理方法、装置、设备和存储介质 | |
CN111510480B (zh) | 一种请求发送方法、装置以及第一服务器 | |
CN112540914A (zh) | 单元测试的执行方法、执行装置、服务器和存储介质 | |
CN112565356A (zh) | 数据存储方法、装置以及电子设备 | |
CN110545324B (zh) | 数据处理方法、装置、系统、网络设备和存储介质 | |
CN110752968B (zh) | 性能基准测试方法、装置、电子设备及存储介质 | |
CN111339187A (zh) | 基于智能合约的数据处理方法、装置、设备和存储介质 | |
CN113158098A (zh) | 页面生成方法、装置、设备和介质 | |
CN110727736A (zh) | 一种数据同步方法、装置、电子设备和存储介质 | |
CN110619008A (zh) | 数据库查询方法、装置、电子设备及存储介质 | |
CN112395126A (zh) | 故障日志处理方法、装置、电子设备和存储介质 | |
CN111555894B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN111787131B (zh) | Id生成方法和电子设备 | |
CN112069137A (zh) | 生成信息的方法、装置、电子设备及计算机可读存储介质 | |
CN111596897A (zh) | 代码复用的处理方法、装置及电子设备 | |
CN113825170A (zh) | 用于确定网络通道的方法和装置 | |
CN111782357A (zh) | 标签控制方法及装置、电子设备和可读存储介质 | |
CN111858030A (zh) | 作业的资源处理方法、装置、电子设备及可读存储介质 | |
CN113722070A (zh) | 基于服务网格架构的微服务系统中的数据处理方法和装置 | |
CN111639116A (zh) | 数据访问连接会话保护方法以及装置 | |
CN112925482B (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 |