CN111708997B - 目标对象身份标识符的确定方法、装置及存储介质 - Google Patents
目标对象身份标识符的确定方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111708997B CN111708997B CN202010567662.2A CN202010567662A CN111708997B CN 111708997 B CN111708997 B CN 111708997B CN 202010567662 A CN202010567662 A CN 202010567662A CN 111708997 B CN111708997 B CN 111708997B
- Authority
- CN
- China
- Prior art keywords
- target object
- original
- final
- state
- information
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2151—Time stamp
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种目标对象身份标识符的确定方法、装置及存储介质。该方法包括:接收目标对象的原始ID信息,其中,所述原始ID信息包括:所述目标对象的原始ID和所述目标对象的状态,所述目标对象的状态包括:生成状态、消失状态和已存在状态;还包括以下至少之一:在所述目标对象的状态为所述生成状态的情况下,根据所述目标对象的所述原始ID和接收到所述原始ID信息时的时间戳信息生成所述目标对象的最终ID并保存生成的所述最终ID;在所述目标对象的状态为所述消失状态或所述已存在状态的情况下,根据所述目标对象的所述原始ID查找保存的对应于所述原始ID的最终ID作为所述目标对象的最终ID。
Description
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种目标对象身份标识符的确定方法、装置及存储介质。
背景技术
身份标识码(Identity,简称为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。
在至少一个示例性实施例中,根据所述时间戳信息生成时间编码包括:确定所述时间编码其中,Ai表示所述时间戳信息中的第i个信息值,Wi表示所述第i个信息值对应的归一化因子,N表示所述时间戳信息中包含的信息值的个数。/>
在至少一个示例性实施例中,所述时间戳信息中包含的信息值包括:月份信息M,其中,M的取值范围为[0,11],M对应的所述归一化因子为DM×1440,DM表示当前月份M对应的总天数;日期信息d,其中,d的取值范围为[0,DM+1-1],d对应的所述归一化因子为1440;时针信息h,其中,h的取值范围为[0,23],d对应的所述归一化因子为60;分针信息m,其中,m的取值范围为[0,59],m对应的所述归一化因子为1。
在至少一个示例性实施例中,将所述原始ID中的至少部分比特位与所述时间编码组合,构成所述目标对象的最终ID包括:将所述原始ID中的后n位比特位IDpro与所述时间编码CODE按照公式ID=CODE×Kn+IDpro组合,构成所述目标对象的最终ID,其中,Kn取值为10n,n的为大于等于1的整数。
在至少一个示例性实施例中,保存生成的所述最终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唯一且与原始目标对象一一对应,同一目标多次输入所产生的目标对象ID唯一,因此,可以解决相关技术中无法保证目标对象的ID具有同一目标多次输入所产生的目标对象ID唯一的特性的问题。
附图说明
图1是根据本发明实施例的目标对象ID的确定方法的流程图;
图2是根据本发明实施例的目标对象ID的确定方法的示例性流程图;
图3是根据本发明实施例的目标对象ID的确定装置的结构框图;
图4是根据本发明实施例的目标对象ID的确定装置的示例性结构框图;
图5是根据本发明实施例的目标对象ID的确定方法的流程图;
图6是根据本发明实施例的目标对象状态处理的流程图;
图7是根据本发明实施例的ID生成系统的架构图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本实施例中提供了一种运行于任意具有计算功能的装置(例如,服务器)的目标对象ID的确定方法,图1是根据本发明实施例的目标对象ID的确定方法的流程图,如图1所示,该流程包括步骤S102,以及步骤S104-1和S104-2中的至少之一。以下对各个步骤进行详细的描述。
步骤S102,接收目标对象的原始ID信息,其中,所述原始ID信息包括:所述目标对象的原始ID和所述目标对象的状态,所述目标对象的原始ID可以是任意类型的身份标识符生成方式生成的原始ID,其根据系统处理需要可以为任意设定长度(例如,原始目标对象ID可以为32bit数据长度),所述目标对象的状态包括:生成状态(也就是代表该目标对象是新生成的状态)、消失状态(也就是代表该目标对象消失的状态)和已存在状态(也就是代表该目标对象是已存在目标对象的状态)。
所述目标对象的状态可以由原始ID生成系统利用检测到的目标对象信息和其缓存的原始ID进行连续匹配获得。其中,目标对象信息可以是各种能够判断检测到的目标对象是否是已经存在的目标对象的信息,例如,可以是检测到的目标对象在图像中的坐标(在此情况下可以基于运动矢量跟踪原理确定该检测到的目标对象是否是已存在目标对象),也可以是用于标识该目标对象的身份或所属片段的标识信息(在此情况下可以基于标识匹配确定该检测到的目标对象是否是已存在目标对象),通过根据目标对象信息和原始ID生成系统中缓存的所有该原始ID生成系统已生成的原始ID进行连续匹配,可以得到以下状态信息:
(1)如果根据目标对象信息在原始ID生成系统中缓存的所有该原始ID生成系统已生成的原始ID中都没有找到对应的原始ID,则表明该目标对象为新生成的对象,此时,所述目标对象的状态为生成状态;
(2)如果根据目标对象信息在原始ID生成系统中缓存的所有该原始ID生成系统已生成的原始ID中匹配到对应的原始ID,则表明该目标对象为已经存在的对象,此时,所述目标对象的状态为已存在状态;
(3)如果原始ID生成系统中缓存的所有该原始ID生成系统已生成的原始ID中,存在某个原始ID在预定数量(例如,8个)帧中都没有对应的目标对象,也就是说,该原始ID的目标对象已经消失一段时间,则表明该目标对象为已经消失的对象,此时,所述目标对象的状态为消失状态。
在至少一个示例性实施例中,在步骤S102之前,所述方法还可以包括:原始ID生成系统根据检测到的目标对象的信息和缓存的所述原始ID生成系统生成的原始ID确定所述目标对象的状态;所述原始ID生成系统发送包括所述目标对象的原始ID和所述目标对象的状态的所述原始ID信息。
步骤S104-1,在所述目标对象的状态为所述生成状态的情况下,根据所述目标对象的所述原始ID和接收到所述原始ID信息时的时间戳信息生成所述目标对象的最终ID并保存生成的所述最终ID。
在至少一个示例性实施例中,步骤S104-1中,根据所述目标对象的所述原始ID和接收到所述原始ID信息时的时间戳信息生成所述目标对象的最终ID可以包括以下处理步骤:
(1)根据所述时间戳信息生成时间编码,其中,所述时间编码随着所述时间戳信息中的时间的增加而增大。
在至少一个示例性实施例中,根据所述时间戳信息生成时间编码可以包括:确定所述时间编码其中,Ai表示所述时间戳信息中的第i个信息值,Wi表示所述第i个信息值对应的归一化因子,N表示所述时间戳信息中包含的信息值的个数。通过该方式,可以得到基于时间戳信息线性变化的时间编码,使得基于该时间编码生成的最终ID也同样具有随时间线性变化的特性。并且,请求并获取到该最终ID的设备可以基于与生成过程相反的过程从最终ID的时间编码部分获取到时间戳信息,从而便于实现诸如统计、分析等过程。
在至少一个示例性实施例中,所述时间戳信息至少包含月份信息、日期信息、时针信息、分针信息,其中月份信息表示当前实际月份数-1,取值范围为[0,11];日期信息表示当前实际日期数-1,取值范围为[0,30];时针信息为当前实际时针信息,取值范围为[0,23];分针信息为当前实际时针信息,取值范围为[0,59]。
在至少一个示例性实施例中,所述时间戳信息中包含的信息值具体可以包括:月份信息M,其中,M的取值范围为[0,11],M对应的所述归一化因子为DM×1440,DM表示当前月份M对应的总天数;日期信息d,其中,d的取值范围为[0,DM+1-1],d对应的所述归一化因子为1440;时针信息h,其中,h的取值范围为[0,23],d对应的所述归一化因子为60;分针信息m,其中,m的取值范围为[0,59],m对应的所述归一化因子为1。
(2)将所述原始ID中的至少部分比特位与所述时间编码组合,构成所述目标对象的最终ID。
在至少一个示例性实施例中,将所述原始ID中的至少部分比特位与所述时间编码组合,构成所述目标对象的最终ID的过程可以包括:将所述原始ID中的后n位比特位IDpro与所述时间编码CODE按照公式ID=CODE×Kn+IDpro组合,构成所述目标对象的最终ID,其中,Kn取值为10n,n的为大于等于1的整数。
在至少一个示例性实施例中,步骤S104-1中保存生成的所述最终ID可以包括:将所述目标对象的最终ID和对应的所述原始ID写入缓存队列。其中,缓存队列是用于存放、提取或删除目标对象的原始ID和最终ID的队列,能够对缓存队列中的节点进行插入操作、删除操作、搜索操作和提取操作,其中插入操作遵从先入后出原则。缓存队列的最大节点长度可以预先设置,若节点长度达到设置最大的长度时,则不发出接收请求。
步骤S104-2,在所述目标对象的状态为所述消失状态或所述已存在状态的情况下,根据所述目标对象的所述原始ID查找保存的对应于所述原始ID的最终ID作为所述目标对象的最终ID。
在至少一个示例性实施例中,步骤S104-2中根据所述目标对象的所述原始ID查找保存的对应于所述原始ID的最终ID作为所述目标对象的最终ID可以包括:根据所述目标对象的所述原始ID在缓存队列中查找对应于所述原始ID的最终ID作为所述目标对象的最终ID,其中,所述缓存队列中保存有一组或多组相对应的最终ID和原始ID。
在至少一个示例性实施例中,在所述目标对象的状态为所述消失状态的情况下,在根据所述目标对象的所述原始ID查找保存的对应于所述原始ID的最终ID作为所述目标对象的最终ID之后,该方法还可以包括:从缓存队列中删除查找到的所述最终ID和对应于所述最终ID的所述原始ID,其中,所述缓存队列中保存有一组或多组相对应的最终ID和原始ID。
图2是根据本发明实施例的目标对象ID的确定方法的示例性流程图,如图2所示,在至少一个示例性实施例中,在步骤S104-1或S104-2之后,所述方法还可以包括:
步骤S106,将所述目标对象的所述最终ID,或者所述目标对象的所述最终ID和所述目标对象的所述状态发送至请求获取所述目标对象的所述最终ID的设备。
通过上述步骤,由于能够根据目标对象的不同状态,相应地执行根据原始ID和时间戳信息生成最终ID并保存的过程或查找原始ID对应的最终ID的过程,从而保证应用端获得的每个最终ID唯一且与原始目标对象一一对应,同一目标多次输入所产生的目标对象ID唯一,因此,可以解决相关技术中无法保证目标对象的ID具有同一目标多次输入所产生的目标对象ID唯一的特性的问题。
其中,上述步骤的执行主体可以为任意类型的具有计算功能的装置,例如服务器等,但不限于此。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种目标对象ID的确定装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的目标对象ID的确定装置的结构框图,如图3所示,该装置包括:
接收模块32,用于接收目标对象的原始ID信息,其中,所述原始ID信息包括:所述目标对象的原始ID和所述目标对象的状态,所述目标对象的原始ID可以是任意类型的身份标识符生成方式生成的原始ID,其根据系统处理需要可以为任意设定长度(例如,原始目标对象ID可以为32bit数据长度),所述目标对象的状态包括:生成状态(也就是代表该目标对象是新生成的状态)、消失状态(也就是代表该目标对象消失的状态)和已存在状态(也就是代表该目标对象是已存在目标对象的状态);
生成模块34,用于在所述目标对象的状态为所述生成状态的情况下,根据所述目标对象的所述原始ID和接收到所述原始ID信息时的时间戳信息生成所述目标对象的最终ID并保存生成的所述最终ID;
查询模块36,用于在所述目标对象的状态为所述消失状态或所述已存在状态的情况下,根据所述目标对象的所述原始ID查找保存的对应于所述原始ID的最终ID作为所述目标对象的最终ID。
在至少一个示例性实施例中,所述生成模块34可以通过以下处理步骤根据所述目标对象的所述原始ID和接收到所述原始ID信息时的时间戳信息生成所述目标对象的最终ID:
(1)根据所述时间戳信息生成时间编码,其中,所述时间编码随着所述时间戳信息中的时间的增加而增大。
在至少一个示例性实施例中,根据所述时间戳信息生成时间编码可以包括:确定所述时间编码其中,Ai表示所述时间戳信息中的第i个信息值,Wi表示所述第i个信息值对应的归一化因子,N表示所述时间戳信息中包含的信息值的个数。通过该方式,可以得到基于时间戳信息线性变化的时间编码,使得基于该时间编码生成的最终ID也同样具有随时间线性变化的特性。并且,请求并获取到该最终ID的设备可以基于与生成过程相反的过程从最终ID的时间编码部分获取到时间戳信息,从而便于实现诸如统计、分析等过程。
在至少一个示例性实施例中,所述时间戳信息至少包含月份信息、日期信息、时针信息、分针信息,其中月份信息表示当前实际月份数-1,取值范围为[0,11];日期信息表示当前实际日期数-1,取值范围为[0,30];时针信息为当前实际时针信息,取值范围为[0,23];分针信息为当前实际时针信息,取值范围为[0,59]。
在至少一个示例性实施例中,所述时间戳信息中包含的信息值具体可以包括:月份信息M,其中,M的取值范围为[0,11],M对应的所述归一化因子为DM×1440,DM表示当前月份M对应的总天数;日期信息d,其中,d的取值范围为[0,DM+1-1],d对应的所述归一化因子为1440;时针信息h,其中,h的取值范围为[0,23],d对应的所述归一化因子为60;分针信息m,其中,m的取值范围为[0,59],m对应的所述归一化因子为1。
(2)将所述原始ID中的至少部分比特位与所述时间编码组合,构成所述目标对象的最终ID。
在至少一个示例性实施例中,将所述原始ID中的至少部分比特位与所述时间编码组合,构成所述目标对象的最终ID的过程可以包括:将所述原始ID中的后n位比特位IDpro与所述时间编码CODE按照公式ID=CODE×Kn+IDpro组合,构成所述目标对象的最终ID,其中,Kn取值为10n,n的为大于等于1的整数。
在至少一个示例性实施例中,所述生成模块34可以通过以下方式保存生成的所述最终ID:将所述目标对象的最终ID和对应的所述原始ID写入缓存队列。其中,缓存队列是用于存放、提取或删除目标对象的原始ID和最终ID的队列,能够对缓存队列中的节点进行插入操作、删除操作、搜索操作和提取操作,其中插入操作遵从先入后出原则。缓存队列的最大节点长度可以预先设置,若节点长度达到设置最大的长度时,则不发出接收请求。
在至少一个示例性实施例中,所述查询模块36可以通过以下方式中根据所述目标对象的所述原始ID查找保存的对应于所述原始ID的最终ID作为所述目标对象的最终ID:根据所述目标对象的所述原始ID在缓存队列中查找对应于所述原始ID的最终ID作为所述目标对象的最终ID,其中,所述缓存队列中保存有一组或多组相对应的最终ID和原始ID。
在至少一个示例性实施例中,在所述目标对象的状态为所述消失状态的情况下,所述查询模块36还可以在根据所述目标对象的所述原始ID查找保存的对应于所述原始ID的最终ID作为所述目标对象的最终ID之后,从缓存队列中删除查找到的所述最终ID和对应于所述最终ID的所述原始ID,其中,所述缓存队列中保存有一组或多组相对应的最终ID和原始ID。
图4是根据本发明实施例的目标对象ID的确定装置的示例性结构框图,如图4所示,在至少一个示例性实施例中,所述装置还包括:
发送模块42,用于将所述目标对象的所述最终ID,或者所述目标对象的所述最终ID和所述目标对象的所述状态发送至请求获取所述目标对象的所述最终ID的设备。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行步骤S1,以及步骤S2和S3中的至少之一的计算机程序:
步骤S1,接收目标对象的原始ID信息,其中,所述原始ID信息包括:所述目标对象的原始ID和所述目标对象的状态,所述目标对象的原始ID可以是任意类型的身份标识符生成方式生成的原始ID,其根据系统处理需要可以为任意设定长度(例如,原始目标对象ID可以为32bit数据长度),所述目标对象的状态包括:生成状态(也就是代表该目标对象是新生成的状态)、消失状态(也就是代表该目标对象消失的状态)和已存在状态(也就是代表该目标对象是已存在目标对象的状态)。
步骤S2,在所述目标对象的状态为所述生成状态的情况下,根据所述目标对象的所述原始ID和接收到所述原始ID信息时的时间戳信息生成所述目标对象的最终ID并保存生成的所述最终ID。
步骤S3,在所述目标对象的状态为所述消失状态或所述已存在状态的情况下,根据所述目标对象的所述原始ID查找保存的对应于所述原始ID的最终ID作为所述目标对象的最终ID。
计算机可读存储介质还被设置为存储用于执行以下步骤的计算机程序:
S4,将所述目标对象的所述最终ID,或者所述目标对象的所述最终ID和所述目标对象的所述状态发送至请求获取所述目标对象的所述最终ID的设备。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
在一个示例性实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤S1,以及步骤S2和S3中的至少之一的计算机程序:
步骤S1,接收目标对象的原始ID信息,其中,所述原始ID信息包括:所述目标对象的原始ID和所述目标对象的状态,所述目标对象的原始ID可以是任意类型的身份标识符生成方式生成的原始ID,其根据系统处理需要可以为任意设定长度(例如,原始目标对象ID可以为32bit数据长度),所述目标对象的状态包括:生成状态(也就是代表该目标对象是新生成的状态)、消失状态(也就是代表该目标对象消失的状态)和已存在状态(也就是代表该目标对象是已存在目标对象的状态)。
步骤S2,在所述目标对象的状态为所述生成状态的情况下,根据所述目标对象的所述原始ID和接收到所述原始ID信息时的时间戳信息生成所述目标对象的最终ID并保存生成的所述最终ID。
步骤S3,在所述目标对象的状态为所述消失状态或所述已存在状态的情况下,根据所述目标对象的所述原始ID查找保存的对应于所述原始ID的最终ID作为所述目标对象的最终ID。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
以下通过具体示例性实施例来详细说明目标对象ID的确定方案。
针对于相关技术中在直接在对目标对象ID有统计需求的应用中,需要保证同一目标对象多次输入产生目标对象ID唯一、保证目标对象ID线性累加的问题,本发明实施例提供了一种目标对象ID的确定方案,该方案利用原始目标对象ID、对应的目标对象状态和获取该目标对象时的时间戳信息,针对每一个原始目标对象ID,生成一个唯一且一一对应的目标对象ID,保证即使设备重启后,通过该方案提供的目标对象ID的确定方案所得到的目标对象ID在一段时间内依然是线性累加且唯一的目标对象ID。
图5是根据本发明实施例的目标对象ID的确定方法的流程图,如图5所示,该方法包括以下步骤:
步骤S501:由实际的原始ID生成系统生成原始目标对象ID信息,并将其输出给最终ID生成系统;
目标对象ID信息包括由该原始ID生成系统生成的原始目标对象ID和对应目标对象的状态;
每个目标对象的原始目标对象ID为32bit长且唯一的ID,与每个实际目标对象一一对应;
每个目标对象还具有一个目标对象状态,目标对象状态至少应该包括以下三种类型的状态:代表该目标对象是新生成的状态(下文简称该状态为“生成”),代表该目标对象消失的状态(下文简称该状态为“删除”),代表该目标对象是已存在目标对象的状态(下文简称该状态为“更新”)。
步骤S502:由最终ID生成系统的接收单元接收由步骤S501输出的目标对象ID信息,并且得到接收原始目标对象ID信息时的当前时间戳信息,将这些参数发送给获取单元;
步骤S503:由最终ID生成系统的获取单元获取由步骤S502接收得到的参数,并对其中的目标对象状态进行判断:若目标对象状态为生成状态,将原始目标对象ID和需要的原始目标对象ID信息送入ID生成单元生成最终目标对象ID,之后将生成的所述最终目标对象ID和原始目标对象ID信息送给缓存队列;若目标对象状态为删除状态或者更新状态,则将生成参数送给缓存队列;
所述最终目标对象ID生成方法的具体步骤如下:
S503.1:保留原始目标对象ID的末三位,记为IDpro;
S503.2:根据时间戳信息的月日时分信息得到一组时间编码CODE;
获得时间编码CODE的公式为:
CODE=M×DM×1440+d×1440+h×60+m (1)
其中:
M表示时间戳信息中的月份信息,M的取值范围为[0,11];
DM表示当前月份M对应的总天数,当M为0时,DM=31,当M为2时若当前年份是平年DM=28,否则DM=29,为其他月份时DM为当前月份M对应天数,DM取值范围为[28,31];
d表示当前时间戳信息中的日期信息,单位为日,d的取值范围为[0,DM+1-1];
h表示当前时间戳信息中的时针信息,单位为时,h的取值范围为[0,23];
m表示当前时间戳信息中的分针信息,单位为分,m的取值范围为[0,59];
S503.3:通过S503.1和S503.2得到的CODE和IDpro最终生成得到的十进制最终目标对象ID为:
ID=CODE×1000+IDpro (2)
步骤S504:由缓存队列获取由步骤S503生成的参数,并且检查当前的目标对象状态,根据目标对象状态不同,对缓存队列进行不同的处理,图6是根据本发明实施例的目标对象状态处理的流程图,如图6所示,具体实现方法为:
S504.1:当判断目标对象状态为生成状态时,接收由步骤S503生成的最终目标对象ID和目标对象ID信息,并将目标对象ID信息中的原始目标对象ID和生成的最终目标对象ID插入缓存队列之中,之后将所述最终目标对象ID和对应的目标对象状态送给发送单元;
S504.2:当判断目标对象状态为消失状态时,通过目标对象ID信息中的原始目标对象ID,在缓存队列中查找对应的最终目标对象ID,并将最终目标对象ID和目标对象ID信息中的目标对象的状态发送给发送单元,之后在缓存队列中删除当前原始目标对象ID和对应的最终目标对象ID;
S504.3:当判断目标对象状态为更新状态时,通过目标对象ID信息中的原始目标对象ID,在缓存队列中根据当前目标对象原始ID查找对应最终目标对象ID和对应目标对象的状态,之后将最终目标对象ID和对应的目标对象状态发送给发送单元;
步骤S505:由发送单元接收由步骤S504发送的新目标对象和目标对象状态,并将之发送给下一步需要使用所述最终目标对象ID的系统或者设备。
本发明实施例提供的上述目标对象ID的确定方法,根据原始目标对象ID、对应目标对象的状态、和接受目标对象ID信息时的时间戳,对其进行处理并得到最终目标对象ID,并且根据目标对象状态的不同会对缓存队列进行相应的处理,保存或输出最终目标对象ID。通过该方法得到的最终目标对象ID是线性累加的,并且保证了每个原始目标对象ID对应的最终目标对象ID是唯一的,不会出现对同一个原始目标对象ID重复多次生成最终目标对象ID的情况。
图7是根据本发明实施例的ID生成系统的架构图,如图7所示,该系统包括以下部分:
接收单元70,用于接收原始目标对象ID信息,原始目标对象ID信息包含原始目标对象的ID和对应目标对象的状态;
获取单元72,用于获取所述最终目标对象ID需要的生成参数,所述最终目标对象ID需要的生成参数包括原始目标对象ID、对应目标对象的状态和ID信息时的当前时间戳,并且根据目标对象状态不同做出不同的决策;
缓存队列74,用于插入、删除或提取目标对象原始目标对象ID和所述最终目标对象ID;
目标对象ID生成单元76,通过获取单元得到的生成参数,生成所述最终目标对象ID;
发送单元78,用于将所述最终目标对象ID和对应目标对象的状态发送至需要使用所述最终目标对象ID的系统或设备。
综上,本发明实施例提供的目标对象ID的确定方案具有以下优点:
该方法利用原始目标对象ID、对应的目标对象状态和获取该目标对象时的时间戳信息,通过缓存队列处理保证每一个原始目标对象ID都只生成一个唯一且对应的最终目标对象ID,不会出现同一个原始目标对象ID重复多次生成最终目标对象ID的情况。该方案生成的ID是基于时间戳信息线性累加而不是随机数,即使设备重启利用该方法得到的ID依然是累加的。此外,该方案提供的ID生成方法得到的ID可以直接解析得到获取目标对象ID时对应的时间信息,便于应用端利用历史数据进行统计。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种目标对象身份标识符ID的确定方法,其特征在于,包括:
接收目标对象的原始ID信息,其中,所述原始ID信息包括:所述目标对象的原始ID和所述目标对象的状态,所述目标对象的状态包括:生成状态、消失状态和已存在状态;
还包括以下至少之一:
在所述目标对象的状态为所述生成状态的情况下,根据所述目标对象的所述原始ID和接收到所述原始ID信息时的时间戳信息生成所述目标对象的最终ID并保存生成的所述最终ID;
在所述目标对象的状态为所述消失状态或所述已存在状态的情况下,根据所述目标对象的所述原始ID查找保存的对应于所述原始ID的最终ID作为所述目标对象的最终ID。
2.根据权利要求1所述的方法,其特征在于,根据所述目标对象的所述原始ID和接收到所述原始ID信息时的时间戳信息生成所述目标对象的最终ID包括:
根据所述时间戳信息生成时间编码,其中,所述时间编码随着所述时间戳信息中的时间的增加而增大;
将所述原始ID中的至少部分比特位与所述时间编码组合,构成所述目标对象的最终ID。
4.根据权利要求3所述的方法,其特征在于,所述时间戳信息中包含的信息值包括:
月份信息M,其中,M的取值范围为[0,11],M对应的所述归一化因子为DM×1440,DM表示当前月份M对应的总天数;
日期信息d,其中,d的取值范围为[0,DM+1-1],d对应的所述归一化因子为1440;
时针信息h,其中,h的取值范围为[0,23],d对应的所述归一化因子为60;
分针信息m,其中,m的取值范围为[0,59],m对应的所述归一化因子为1。
5.根据权利要求2所述的方法,其特征在于,将所述原始ID中的至少部分比特位与所述时间编码组合,构成所述目标对象的最终ID包括:
将所述原始ID中的后n位比特位IDpro与所述时间编码CODE按照公式ID=CODE×Kn+IDpro组合,构成所述目标对象的最终ID,其中,Kn取值为10n,n的为大于等于1的整数。
6.根据权利要求1所述的方法,其特征在于,保存生成的所述最终ID包括:
将所述目标对象的最终ID和对应的所述原始ID写入缓存队列。
7.根据权利要求1所述的方法,其特征在于,根据所述目标对象的所述原始ID查找保存的对应于所述原始ID的最终ID作为所述目标对象的最终ID包括:
根据所述目标对象的所述原始ID在缓存队列中查找对应于所述原始ID的最终ID作为所述目标对象的最终ID,其中,所述缓存队列中保存有一组或多组相对应的最终ID和原始ID。
8.根据权利要求1所述的方法,其特征在于,在所述目标对象的状态为所述消失状态的情况下,在根据所述目标对象的所述原始ID查找保存的对应于所述原始ID的最终ID作为所述目标对象的最终ID之后,还包括:
从缓存队列中删除查找到的所述最终ID和对应于所述最终ID的所述原始ID,其中,所述缓存队列中保存有一组或多组相对应的最终ID和原始ID。
9.根据权利要求1-8中任一项所述的方法,其特征在于,在根据所述目标对象的所述原始ID和接收到所述原始ID信息时的时间戳信息生成所述目标对象的最终ID并保存生成的所述最终ID之后,或者,在根据所述目标对象的所述原始ID查找保存的对应于所述原始ID的最终ID作为所述目标对象的最终ID之后,还包括:
将所述目标对象的所述最终ID,或者所述目标对象的所述最终ID和所述目标对象的所述状态发送至请求获取所述目标对象的所述最终ID的设备。
10.根据权利要求1-8中任一项所述的方法,其特征在于,在接收目标对象的原始ID信息之前,还包括:
原始ID生成系统根据检测到的目标对象的信息和缓存的所述原始ID生成系统生成的原始ID确定所述目标对象的状态;
所述原始ID生成系统发送包括所述目标对象的原始ID和所述目标对象的状态的所述原始ID信息。
11.一种目标对象身份标识符ID的确定装置,其特征在于,包括:
接收模块,用于接收目标对象的原始ID信息,其中,所述原始ID信息包括:所述目标对象的原始ID和所述目标对象的状态,所述目标对象的状态包括:生成状态、消失状态和已存在状态;
还包括以下至少之一:
生成模块,用于在所述目标对象的状态为所述生成状态的情况下,根据所述目标对象的所述原始ID和接收到所述原始ID信息时的时间戳信息生成所述目标对象的最终ID并保存生成的所述最终ID;
查询模块,用于在所述目标对象的状态为所述消失状态或所述已存在状态的情况下,根据所述目标对象的所述原始ID查找保存的对应于所述原始ID的最终ID作为所述目标对象的最终ID。
12.根据权利要求11所述的装置,其特征在于,还包括:
发送模块,用于将所述目标对象的所述最终ID,或者所述目标对象的所述最终ID和所述目标对象的所述状态发送至请求获取所述目标对象的所述最终ID的设备。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至10任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010567662.2A CN111708997B (zh) | 2020-06-19 | 2020-06-19 | 目标对象身份标识符的确定方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010567662.2A CN111708997B (zh) | 2020-06-19 | 2020-06-19 | 目标对象身份标识符的确定方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111708997A CN111708997A (zh) | 2020-09-25 |
CN111708997B true CN111708997B (zh) | 2023-06-13 |
Family
ID=72541944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010567662.2A Active CN111708997B (zh) | 2020-06-19 | 2020-06-19 | 目标对象身份标识符的确定方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111708997B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109376155A (zh) * | 2018-11-06 | 2019-02-22 | 泰康保险集团股份有限公司 | Id生成方法及装置、存储介质及电子设备 |
CN109697133A (zh) * | 2018-12-28 | 2019-04-30 | 广州华多网络科技有限公司 | Id生成方法、装置及系统 |
CN110263565A (zh) * | 2019-06-28 | 2019-09-20 | 北京百度网讯科技有限公司 | 用于调用服务的方法和装置 |
CN110750506A (zh) * | 2019-09-17 | 2020-02-04 | 苏宁云计算有限公司 | 数据对象标识生成方法、装置、计算机设备和存储介质 |
CN110830608A (zh) * | 2019-11-14 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 一种全局唯一标识符生成方法、装置、设备及存储介质 |
CN110935168A (zh) * | 2019-11-26 | 2020-03-31 | 上海莉莉丝科技股份有限公司 | 用于全球同服架构的分布式id生成方法、装置及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220055151A (ko) * | 2020-10-26 | 2022-05-03 | 삼성에스디에스 주식회사 | 식별 아이디 생성 방법, 그리고 이를 구현하기 위한 장치 |
-
2020
- 2020-06-19 CN CN202010567662.2A patent/CN111708997B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109376155A (zh) * | 2018-11-06 | 2019-02-22 | 泰康保险集团股份有限公司 | Id生成方法及装置、存储介质及电子设备 |
CN109697133A (zh) * | 2018-12-28 | 2019-04-30 | 广州华多网络科技有限公司 | Id生成方法、装置及系统 |
CN110263565A (zh) * | 2019-06-28 | 2019-09-20 | 北京百度网讯科技有限公司 | 用于调用服务的方法和装置 |
CN110750506A (zh) * | 2019-09-17 | 2020-02-04 | 苏宁云计算有限公司 | 数据对象标识生成方法、装置、计算机设备和存储介质 |
WO2021052029A1 (zh) * | 2019-09-17 | 2021-03-25 | 苏宁云计算有限公司 | 数据对象标识生成方法、装置、计算机设备和存储介质 |
CN110830608A (zh) * | 2019-11-14 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 一种全局唯一标识符生成方法、装置、设备及存储介质 |
CN110935168A (zh) * | 2019-11-26 | 2020-03-31 | 上海莉莉丝科技股份有限公司 | 用于全球同服架构的分布式id生成方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111708997A (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111835760B (zh) | 报警信息处理方法及装置、计算机存储介质、电子设备 | |
CN111782872A (zh) | 查询方法、装置、电子设备以及存储介质 | |
CN108256718B (zh) | 保单服务任务分配方法、装置、计算机设备和存储设备 | |
CN112434039A (zh) | 数据的存储方法、装置、存储介质以及电子装置 | |
US11750776B2 (en) | Network camera, video monitoring system and method | |
CN109033462B (zh) | 在大数据存储的存储设备中确定低频数据项的方法及系统 | |
US20190213052A1 (en) | Distributed processing system, distributed processing method, and recording medium | |
CN112311629B (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
TW202001618A (zh) | 檔案處理的方法及裝置 | |
CN110781372A (zh) | 一种优化网站的方法、装置、计算机设备及存储介质 | |
CN109657164B (zh) | 发布消息的方法、装置及存储介质 | |
CN111708997B (zh) | 目标对象身份标识符的确定方法、装置及存储介质 | |
CN112836124A (zh) | 一种画像数据获取方法、装置、电子设备及存储介质 | |
CN106940710B (zh) | 信息推送方法及装置 | |
CN110324208B (zh) | 一种数据丢失处理方法、智能终端及存储介质 | |
CN113590017A (zh) | 用于处理数据的方法、电子设备和计算机程序产品 | |
CN111046077A (zh) | 数据的获取方法及装置、存储介质、终端 | |
CN113128274B (zh) | 一种数据分析方法、装置、电子设备及存储介质 | |
CN112764988A (zh) | 一种数据分段采集方法及装置 | |
JP7106656B2 (ja) | データベース装置、プログラム、およびデータ処理方法 | |
CN111953621A (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN112241672B (zh) | 一种身份数据的关联方法、装置、电子设备及存储介质 | |
CN110766102A (zh) | 一种确定驻留时长的方法、装置、设备及存储介质 | |
CN111368207B (zh) | 数据处理方法及系统、候选数据池、电子设备、计算机可读存储介质 | |
CN113220760B (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 |