CN113037756A - 数据唯一标识的生成方法、装置、设备及可读存储介质 - Google Patents
数据唯一标识的生成方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN113037756A CN113037756A CN202110263307.0A CN202110263307A CN113037756A CN 113037756 A CN113037756 A CN 113037756A CN 202110263307 A CN202110263307 A CN 202110263307A CN 113037756 A CN113037756 A CN 113037756A
- Authority
- CN
- China
- Prior art keywords
- data
- time
- sequence number
- determining
- internet
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- 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/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种数据唯一标识的生成方法、装置、设备及可读存储介质,该方法包括:当物联网设备产生数据时,确定所述数据产生时的精确到秒的第一时间,并基于所述第一时间确定所述数据的第二时间;获取所述物联网设备的设备编号以及上一条数据产生时对应的第三时间;若所述第一时间的秒数与所述第三时间的秒数相同,则基于所述上一条数据的第一序号确定所述数据的第二序号;基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号,其中,所述唯一标识号为长整型数据。本发明将时间差值+设备编号+序号组合存放在一个长整型数据中,作为物联网设备上报数据的唯一标识号,更加节省存储空间和网络带宽。
Description
技术领域
本发明涉及物联网设备技术领域,尤其涉及一种数据唯一标识的生成方法、装置、设备及计算机可读存储介质。
背景技术
在一个千万级设备的物联网系统中,物联网系统中的物联网设备每时每刻都可能会有数据产生,所产生的数据会上送到上层的应用系统,应用系统接收物联网设备上传的数据并对数据进行存储、统计、查询、排序,因此这就要求对数据进行唯一识别。
现有技术中,对数据唯一识别的方法很多,一般比较通用的办法是使用UUID(Universally Unique Identifier,通用唯一识别码)来识别每条数据,如果还要知道数据产生的时间和数据所属的具体设备,还要增加时间戳和设备编号,因此现有的数据唯一识别码至少包含UUID+时间戳+设备编号,从而通过UUID+时间戳+设备编号对数据进行识别。现有的数据唯一识别码对数据唯一识别、检索、按时间排序也是没有问题的,缺陷是单是UUID就占用了32位字符长度,再加上时间戳和设备编号使得现有的数据唯一识别码占用空间大,从而对上层应用来说在数据存储时创建的索引占用很大空间,存储的效率低、排序效率也低;对底层的物联网设备来说,大多数物联网设备,都是低功耗窄带宽的设备,对网络传输数据大小比较敏感。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种数据唯一标识的生成方法、装置、设备及计算机可读存储介质,旨在解决现有的数据唯一识别码占用空间大的技术问题。
为实现上述目的,本发明提供一种数据唯一标识的生成方法,所述数据唯一标识的生成方法应用于物联网设备,所述数据唯一标识的生成方法包括以下步骤:
当物联网设备产生数据时,确定所述数据产生时的精确到秒的第一时间,并基于所述第一时间确定所述数据的第二时间;
获取所述物联网设备的设备编号以及上一条数据产生时对应的第三时间;
若所述第一时间的秒数与所述第三时间的秒数相同,则基于所述上一条数据的第一序号确定所述数据的第二序号;
基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号,其中,所述唯一标识号为长整型数据。
可选地,所述基于所述第一时间确定所述数据的第二时间的步骤包括:
获取所述物联网设备中预先存储的参考时间;
计算所述第一时间与所述参考时间之间的差值,得到所述数据的第二时间。
可选地,所述基于所述上一条数据的第一序号确定所述数据的第二序号的步骤包括:
获取所述物联网设备预先设置的第一参考数值;
基于所述第一参考数值和所述上一条数据的第一序号,确定所述数据的第二序号。
可选地,所述基于所述第一参考数值和所述上一条数据的第一序号,确定所述数据的第二序号的步骤包括:
计算所述第一序号和所述第一参考数值之间的和,并检测所述第一序号和所述第一参考数值之间的和是否小于或等于所述第二序号在所述长整型数据中所占空间;
若所述第一序号和所述第一参考数值之间的和小于或等于所述第二序号在所述长整型数据中所占空间,则将所述第一序号和所述第一参考数值之间的和作为所述数据的第二序号。
可选地,所述检测所述第一序号和所述第一参考数值之间的和是否小于或等于所述第二序号在所述长整型数据中所占空间的步骤之后,还包括:
若所述第一序号和所述第一参考数值之间的和大于所述第二序号在所述长整型数据中所占空间,则获取第二参考数值;
基于所述第二时间和所述第二参考数值,确定第三时间;
将所述第三时间作为所述第二时间,并执行所述基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号的步骤。
可选地,所述获取所述物联网设备的设备编号以及上一条数据产生时对应的第三时间的步骤之后,还包括:
若不存在所述数据对应的所述上一条数据,则获取初始时间;
将所述初始时间作为所述第二时间,并执行所述基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号的步骤。
可选地,长整型的所述唯一标识号包含64位,所述第二时间在所述唯一标识号中所占空间为31位,所述设备编号在所述唯一标识号中所占空间为24位,所述第二序号在所述唯一标识号中所占空间为8位,符号位在所述唯一标识号中所占空间为1位。
此外,为实现上述目的,本发明还提供一种数据唯一标识的生成装置,所述数据唯一标识的生成装置包括:
第一确定模块,用于当物联网设备产生数据时,确定所述数据产生时的精确到秒的第一时间,并基于所述第一时间确定所述数据的第二时间;
获取模块,用于获取所述物联网设备的设备编号以及上一条数据产生时对应的第三时间;
第二确定模块,用于若所述第一时间的秒数与所述第三时间的秒数相同,则基于所述上一条数据的第一序号确定所述数据的第二序号;
第三确定模块,用于基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号,其中,所述唯一标识号为长整型数据。
此外,为实现上述目的,本发明还提供一种数据唯一标识的生成设备,所述数据唯一标识的生成设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据唯一标识的生成程序,所述数据唯一标识的生成程序被所述处理器执行时实现如上述的数据唯一标识的生成方法的步骤。
此外,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质上存储有数据唯一标识的生成程序,所述数据唯一标识的生成程序被处理器执行时实现如上述的数据唯一标识的生成方法的步骤。
本发明通过当物联网设备产生数据时,确定所述数据产生时的精确到秒的第一时间,并基于所述第一时间确定所述数据的第二时间;获取所述物联网设备的设备编号以及上一条数据产生时对应的第三时间;若所述第一时间的秒数与所述第三时间的秒数相同,则基于所述上一条数据的第一序号确定所述数据的第二序号;基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号,其中,所述唯一标识号为长整型数据。本实施例中在物联网设备产生数据时,通过减小数据产生时对应的第一时间得到第二时间,从而通过第二时间和第二序号将数据与上一条数据区别开来,最后将第二时间、设备编号和第二序号组合成一个长整型数据,得到物联网设备所产生数据对应的唯一标识号,可以节省存储字节空间,从而根据数据的唯一标识号对物联网设备时刻所产生数据进行标识,解决了现有的数据唯一识别码占用空间大的问题,与通用唯一识别码UUID相比,实现和计算更加简单,更加节省存储空间和网络带宽,并且按时间趋势递增,尤其适合对于低功耗窄带宽的物联网系统。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的数据唯一标识的生成设备结构示意图;
图2为本发明数据唯一标识的生成方法第一实施例的流程示意图;
图3为本发明数据唯一标识的生成方法第二实施例的流程示意图;
图4为基于第一实施例和第二实施例的示例性的例子的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的数据唯一标识的生成设备结构示意图。
本发明实施例数据唯一标识的生成设备可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该数据唯一标识的生成设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,数据唯一标识的生成设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在数据唯一标识的生成设备移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别数据唯一标识的生成设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,数据唯一标识的生成设备还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据唯一标识的生成程序。
在图1所示的数据唯一标识的生成设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据唯一标识的生成程序。
在本实施例中,数据唯一标识的生成设备包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的数据唯一标识的生成程序,其中,处理器1001调用存储器1005中存储的数据唯一标识的生成程序时,并执行以下操作:
当物联网设备产生数据时,确定所述数据产生时的精确到秒的第一时间,并基于所述第一时间确定所述数据的第二时间;
获取所述物联网设备的设备编号以及上一条数据产生时对应的第三时间;
若所述第一时间的秒数与所述第三时间的秒数相同,则基于所述上一条数据的第一序号确定所述数据的第二序号;
基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号,其中,所述唯一标识号为长整型数据。
进一步地,处理器1001可以调用存储器1005中存储的数据唯一标识的生成程序,还执行以下操作:
获取所述物联网设备中预先存储的参考时间;
计算所述第一时间与所述参考时间之间的差值,得到所述数据的第二时间。
进一步地,处理器1001可以调用存储器1005中存储的数据唯一标识的生成程序,还执行以下操作:
获取所述物联网设备预先设置的第一参考数值;
基于所述第一参考数值和所述上一条数据的第一序号,确定所述数据的第二序号。
进一步地,处理器1001可以调用存储器1005中存储的数据唯一标识的生成程序,还执行以下操作:
计算所述第一序号和所述第一参考数值之间的和,并检测所述第一序号和所述第一参考数值之间的和是否小于或等于所述第二序号在所述长整型数据中所占空间;
若所述第一序号和所述第一参考数值之间的和小于或等于所述第二序号在所述长整型数据中所占空间,则将所述第一序号和所述第一参考数值之间的和作为所述数据的第二序号。
进一步地,处理器1001可以调用存储器1005中存储的数据唯一标识的生成程序,还执行以下操作:
若所述第一序号和所述第一参考数值之间的和大于所述第二序号在所述长整型数据中所占空间,则获取第二参考数值;
基于所述第二时间和所述第二参考数值,确定第三时间;
将所述第三时间作为所述第二时间,并执行所述基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号的步骤。
进一步地,处理器1001可以调用存储器1005中存储的数据唯一标识的生成程序,还执行以下操作:
若不存在所述数据对应的所述上一条数据,则获取初始时间;
将所述初始时间作为所述第二时间,并执行所述基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号的步骤。
本发明还提供一种数据唯一标识的生成方法,参照图2,图2为本发明数据唯一标识的生成方法第一实施例的流程示意图。
在本实施例中,该数据唯一标识的生成方法包括以下步骤:
步骤S10,当物联网设备产生数据时,确定所述数据产生时的精确到秒的第一时间,并基于所述第一时间确定所述数据的第二时间;
本发明所提出的数据唯一标识的生成方法可以应用于物联网系统以及物联网系统中的物联网设备,物联网系统中包含多个物联网设备,物联网设备接入物联网系统中的网络,其中,物联网系统的网络可以是局域网或者广域网。进一步地,物联网系统中除了物联网设备之外,还可以包括上层应用系统,物联网设备可以通过物联网系统的网络将其所产生的数据上传至上层应用系统,上层应用系统在接收到物联网设备所传输的数据时,可以对数据进行存储、统计、查询、排序。除此之外,物联网设备也可以对自身所产生的数据进行存储、统计、查询和排序。由于物联网时刻在产生数据,因此为了有利于数据的高效处理,对物联网设备所产生数据的数据标识所占用空间的大小显得非常关键。
在本实施例中,当物联网系统中的物联网设备产生数据时,首先获取所产生数据在产生时精确到秒的时间(第一时间),其中,第一时间为数据所产生的时刻,且第一时间为精确到秒的时间单位,第一时间可以包含年月日以及对应的时分秒,即通过第一时间可以获知物联网设备所产生数据的准确时间,准确到年月日时分秒,例如,一物联网设备当前所产生的数据的时间为2021年1月28日的上午7时30分25秒,则该物联网设备当前所产生的数据的第一时间可以表示为20210128073025。在确定数据产生时对应的第一时间之后,对第一时间执行减法运算的操作,得到第一时间的数值减小之后对应的第二时间。
步骤S20,获取所述物联网设备的设备编号以及上一条数据产生时对应的第三时间;
在本实施例中,在获取物联网设备产生数据之后,获取物联网设备的设备不编号,以及确定当前产生数据对应的上一条数据,当存在物联网设备当前所产生数据对应的上一条数据时,确定上一条数据对应的第三时间,其中,第三时间为联网设备当前所产生数据对应的上一条数据所产生的时间,设备编号用于区分各个不同的物联网设备。需要说明的是,预先对物联网系统中的各个物联网设备进行编号,每个物联网设备的编号不同,也就是说,在对物联网设备进行编号后,每个物联网设备具有自身唯一的设备编号,以区分不同物联网设备之间的身份。例如,可以按照数字递增的方法对各个物联网设备进行编号,物联网系统中的物联网设备的设备编号可以从1-n(1、2、...、n,其中,n为整数)。
进一步地,若不存在所述数据对应的所述上一条数据,说明当前生成的数据为物联网设备所生成的第一条数据,则获取初始时间,将初始时间作为第二时间,并执行所述基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号的步骤。
步骤S30,若所述第一时间的秒数与所述第三时间的秒数相同,则基于所述上一条数据的第一序号确定所述数据的第二序号;
在本实施例中,在确定物联网设备所产生数据对应的第二时间以及确定上一条数据所产生的第三时间后,若第二时间和第三时间相同,则获取第二时间中的秒数和第三时间中的秒数,并将第二时间中的秒数和第三时间中的秒数进行比较,以检测第二时间的秒数和第三时间的秒数是否相同。若第一时间的秒数与第三时间的秒数相同,则根据上一条数据的第一序号确定当前所产生数据的第二序号,其中,第一序号和第二序号不同。
需要说明的是,若第二时间的秒数和第三时间的秒数相同,则说明当前所产生数据的产生时间和当前所产生数据对应的上一条数据的产生时间处于相同时间且处于同一秒,则需要将当前所产生数据的序号和上一条数据的第二序号区分开来。若第二时间的秒数和第三时间的秒数不相同,则说明当前所产生数据的产生时间和当前所产生数据对应的上一条数据的产生时间处于不同的时间,从而可以根据当前所产生数据的第一时间和上一条数据对应的第二时间区分开来,无需通过序号进行区分当前所产生数据和上一条数据,具体地,若第二时间的秒数和第三时间的秒数不相同,则获取初始序号,将初始序号作为第二序号,并执行所述基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号,其中,所述唯一标识号为长整型数据的步骤。需要理解的是,由于物联网设备所产生数据的第一时间精确到秒,那么与上一条数据处于相同时间且处于同一秒内的数据需要通过序号和上一条数据区别开来。
步骤S40,基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号,其中,所述唯一标识号为长整型数据。
在本实施例中,在确定第一时间对应的第二时间、物联网设备的设备编号以及当前所产生数据对应的序号后,通过第二时间、设备编号和第二序号确定所产生数据对应的唯一标识号,具体地,将第二时间、设备编号和第二序号组合成一个长整型数据,得到唯一标识号,即唯一标识号中包含数据的产生时间、所属物联网设备的设备编号以及序号。
进一步地,长整型的所述唯一标识号包含64位,所述第二时间在所述唯一标识号中所占空间为31位,所述设备编号在所述唯一标识号中所占空间为24位,所述第二序号在所述唯一标识号中所占空间为8位,符号位在所述唯一标识号中所占空间为1位。也就是说,将第二序号存入一个8字节存储空间预留的8bit序号的位置,第二序号的值范围从0~255(2的8次方)。以及,将第二时间,存入一个8字节存储空间预留的31bit时间戳的位置,时间戳的值范围从0~2147483647(2的31次方),约为从参考时间往后68年。以及,将预先给物联网设备编制好的设备编号,存入一个8字节存储空间预留的24bit设备号的位置,设备编号的值范围从0~16777215(2的24次方)。
需要说明的是,本发明包括但不限于以上步骤及涉及的方法,可以根据设备实际容量大小,如可以缩小时间戳和序号的存储大小,增加设备容量,可以使设备容量达到上亿以上,无论对存储结构采用何种调整策略、调整时间容量、设备容量、序号容量等,均应视为相同发明。
本实施例提出的数据唯一标识的生成方法,通过当物联网设备产生数据时,确定所述数据产生时的精确到秒的第一时间,并基于所述第一时间确定所述数据的第二时间;获取所述物联网设备的设备编号以及上一条数据产生时对应的第三时间;若所述第一时间的秒数与所述第三时间的秒数相同,则基于所述上一条数据的第一序号确定所述数据的第二序号;基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号,其中,所述唯一标识号为长整型数据。本实施例中在物联网设备产生数据时,通过减小数据产生时对应的第一时间得到第二时间,从而通过第二时间和第二序号将数据与上一条数据区别开来,最后将第二时间、设备编号和第二序号组合成一个长整型数据,得到物联网设备所产生数据对应的唯一标识号,可以节省存储字节空间,从而根据数据的唯一标识号对物联网设备时刻所产生数据进行标识,解决了现有的数据唯一识别码占用空间大的问题,与通用唯一识别码UUID相比,实现和计算更加简单,更加节省存储空间和网络带宽,并且按时间趋势递增,尤其适合对于低功耗窄带宽的物联网系统。
基于第一实施例,提出本发明数据唯一标识的生成方法的第二实施例,参照图3,在本实施例中,步骤S10包括:
步骤S11,获取所述物联网设备中预先存储的参考时间;
步骤S12,计算所述第一时间与所述参考时间之间的差值,得到所述数据的第二时间。
在本实施例中,在确定数据产生时对应的第一时间之后,获取物联网设备中预先存储的参考时间;之后,计算第一时间和参考时间之间的差值,即根据参考时间对第一时间执行减法运算的操作,使第一时间的数值减去参考时间,使得第一时间减小,得到第一时间的数值减小之后对应的第二时间。进一步地,可以对物联网系统中所有的物联网设备配置相同的参考时间,也可以在物联网设备出厂前写死一个固定的参考时间进物联网设备,以供物联网设备根据参考时间生成数据的唯一标识号。
进一步地,所述基于所述上一条数据的第一序号确定所述数据的第二序号的步骤包括:
步骤S31,获取所述物联网设备预先设置的第一参考数值;
步骤S32,基于所述第一参考数值和所述上一条数据的第一序号,确定所述数据的第二序号。
在本实施例中,在检测第二时间的秒数和第三时间的秒数是否相同后,若第一时间的秒数与第三时间的秒数相同,则获取物联网设备预先设置的第一参考数值,并根据上一条数据的第一序号和上一条数据的第一序号确定当前所产生数据的第二序号,其中,第一序号和第二序号不同。
进一步地,若第一时间的秒数与第三时间的秒数不相同,则将所述上一条数据的所述第一序号作为所述数据的第二序号,并执行所述基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号,其中,所述唯一标识号为长整型数据的步骤。
进一步地,所述基于所述第一参考数值和所述上一条数据的第一序号,确定所述数据的第二序号的步骤包括:
步骤S321,计算所述第一序号和所述第一参考数值之间的和,并检测所述第一序号和所述第一参考数值之间的和是否小于或等于所述第二序号在所述长整型数据中所占空间;
步骤S322,若所述第一序号和所述第一参考数值之间的和小于或等于所述第二序号在所述长整型数据中所占空间,则将所述第一序号和所述第一参考数值之间的和作为所述数据的第二序号。
在本实施例中,在检测第二时间的秒数和第三时间的秒数是否相同后,若第一时间的秒数与第三时间的秒数相同,则获取物联网设备预先设置的第一参考数值;之后,计算第一序号和第一参考数值之间的和,并检测第一序号和第一参考数值之间的和是否小于或等于第二序号在长整型数据中所占空间。若第一序号和第一参考数值之间的和小于或等于第二序号在长整型数据中所占空间,则将第一序号和第一参考数值之间的和作为数据的第二序号。其中,第一参考数值通常为1。
进一步地,所述检测所述第一序号和所述第一参考数值之间的和是否小于或等于所述第二序号在所述长整型数据中所占空间的步骤之后,还包括:
步骤S323,若所述第一序号和所述第一参考数值之间的和大于所述第二序号在所述长整型数据中所占空间,则获取第二参考数值;
步骤S324,基于所述第二时间和所述第二参考数值,确定第三时间;
步骤S325,将所述第三时间作为所述第二时间,并执行所述基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号的步骤。
在本实施例中,若第一序号和第一参考数值之间的和大于第二序号在长整型数据中所占空间,说明当前在一秒内所产生的数据过多,超过序号位在长整型数据中所占的空间,则获取第二参考数值,并计算第二时间和第二参考数值之间的和,将第二时间和第二参考数值之间的和作为第三时间;将第三时间作为所述第二时间,并执行所述基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号的步骤,从而利用了下一秒的序号空间,这样就可以避免某一秒或几秒的数据量过大出现不唯一的问题。其中,第二参考数值为任意的正整数,第二参考数值一般为1。
本发明提出的数据唯一标识的生成方法,通过将时间差值(第二时间)+设备编号+序号(第二序号)组合在一起,存放在一个长整型数据中,作为物联网设备上报数据的唯一标识,包含的信息量更多,与通用唯一识别码UUID相比,实现和计算更加简单,并且更加节省存储空间和网络带宽,对于低功耗窄带宽的NB-Iot物联网特别适合。具有下列改进点:1、通过保存时间差值节省存储字节空间;2、把时间差值(第二时间)+设备编号+序号(第二序号)三者整合成一个长整型数,作为数据的唯一身份识别,唯一识别号会按时间趋势递增;3、实现及计算简单,方便物联设备实现和计算;4、解决上层应用对数据的存储、排序、检索等需要。
为了便于理解,基于第一实施例和第二实施例进行举例说明,详细参考图4,具体地:
步骤1,在同一套应用系统内的每个设备上配置相同的参考时间,参考时间也可以在硬件设备出厂时写死一个固定参考时间。
步骤2,设备每产生一条新数据时,保存最新数据的产生时间,精确到秒为单位,新数据产生的时间与设备配置的参考时间相减,得到一个差值(精确到秒)。
步骤3,设备产生新数据时的时间与该设备上一条数据产生的时间比较,如果在同一时间内(精确到秒),则序列号加1,如果不在同一秒内,则序号重新从0开始计算,得到该数据的序号。
步骤4,将序号存入一个8字节存储空间预留的8bit序号的位置,序号的值范围从0~255(2的8次方)。
步骤5,将预先给该设备编制好的设备编号,存入一个8字节存储空间预留的24bit设备号的位置,设备编号的值范围从0~16777215(2的24次方)。
步骤6,将步骤2计算出的差值,存入一个8字节存储空间预留的31bit时间戳的位置,时间戳的值范围从0~2147483647(2的31次方),约为从参考时间往后68年。
步骤7,存储空间8字节的最高位默认为0,是符号位,不使用。
步骤8,将时间差值+设备编号+序号组合在一起的8字节,刚好是一个long型整数,该整形数值作为数据的唯一标识号,物联设备往外上报数据时带上。
步骤9,上层应用系统接收到数据后,取出唯一标识号,通过取唯一标识号中对应时间戳的31bit的值,与参考时间相加得到的值即是数据产生的准确时间,要获取设备编号则取对应的唯一标识号中的设备编号的24bit的值即可。如果同一设备号同一时间戳的数据,要区分数据的产生先后顺序,则取唯一标识号中的序号,比较序号的大小,序号大的则是后来产生的数据。
步骤10,上层应用需要对不同的数据按时间排序,只需把唯一标识号按大小排序即可,唯一标识号是按时间趋势递增的。
此外,本发明实施例还提出数据唯一标识的生成装置,所述数据唯一标识的生成装置包括:
第一确定模块,用于当物联网设备产生数据时,确定所述数据产生时的精确到秒的第一时间,并基于所述第一时间确定所述数据的第二时间;
获取模块,用于获取所述物联网设备的设备编号以及上一条数据产生时对应的第三时间;
第二确定模块,用于若所述第一时间的秒数与所述第三时间的秒数相同,则基于所述上一条数据的第一序号确定所述数据的第二序号;
第三确定模块,用于基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号,其中,所述唯一标识号为长整型数据。
进一步地,所述第一确定模块,还用于:
获取所述物联网设备中预先存储的参考时间;
计算所述第一时间与所述参考时间之间的差值,得到所述数据的第二时间。
进一步地,所述第二确定模块,还用于:
获取所述物联网设备预先设置的第一参考数值;
基于所述第一参考数值和所述上一条数据的第一序号,确定所述数据的第二序号。
进一步地,所述第二确定模块,还用于:
计算所述第一序号和所述第一参考数值之间的和,并检测所述第一序号和所述第一参考数值之间的和是否小于或等于所述第二序号在所述长整型数据中所占空间;
若所述第一序号和所述第一参考数值之间的和小于或等于所述第二序号在所述长整型数据中所占空间,则将所述第一序号和所述第一参考数值之间的和作为所述数据的第二序号。
进一步地,所述第二确定模块,还用于:
若所述第一序号和所述第一参考数值之间的和大于所述第二序号在所述长整型数据中所占空间,则获取第二参考数值;
基于所述第二时间和所述第二参考数值,确定第三时间;
将所述第三时间作为所述第二时间,并执行所述基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号的步骤。
进一步地,所述数据唯一标识的生成装置还包括:
第二获取模块,用于若不存在所述数据对应的所述上一条数据,则获取初始时间;
执行模块,用于将所述初始时间作为所述第二时间,并执行所述基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号的步骤。
进一步地,长整型的所述唯一标识号包含64位,所述第二时间在所述唯一标识号中所占空间为31位,所述设备编号在所述唯一标识号中所占空间为24位,所述第二序号在所述唯一标识号中所占空间为8位,符号位在所述唯一标识号中所占空间为1位。
此外,本发明实施例还提出一种可读存储介质,所述可读存储介质上存储有数据唯一标识的生成程序,所述数据唯一标识的生成程序被处理器执行时实现如上述中任一项所述的数据唯一标识的生成方法的步骤。
本发明可读存储介质具体实施例与上述数据唯一标识的生成方法的各实施例基本相同,在此不再详细赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据唯一标识的生成方法,其特征在于,所述数据唯一标识的生成方法应用于物联网设备,所述数据唯一标识的生成方法包括以下步骤:
当物联网设备产生数据时,确定所述数据产生时的精确到秒的第一时间,并基于所述第一时间确定所述数据的第二时间;
获取所述物联网设备的设备编号以及上一条数据产生时对应的第三时间;
若所述第一时间的秒数与所述第三时间的秒数相同,则基于所述上一条数据的第一序号确定所述数据的第二序号;
基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号,其中,所述唯一标识号为长整型数据。
2.如权利要求1所述的数据唯一标识的生成方法,其特征在于,所述基于所述第一时间确定所述数据的第二时间的步骤包括:
获取所述物联网设备中预先存储的参考时间;
计算所述第一时间与所述参考时间之间的差值,得到所述数据的第二时间。
3.如权利要求1所述的数据唯一标识的生成方法,其特征在于,所述基于所述上一条数据的第一序号确定所述数据的第二序号的步骤包括:
获取所述物联网设备预先设置的第一参考数值;
基于所述第一参考数值和所述上一条数据的第一序号,确定所述数据的第二序号。
4.如权利要求3所述的数据唯一标识的生成方法,其特征在于,所述基于所述第一参考数值和所述上一条数据的第一序号,确定所述数据的第二序号的步骤包括:
计算所述第一序号和所述第一参考数值之间的和,并检测所述第一序号和所述第一参考数值之间的和是否小于或等于所述第二序号在所述长整型数据中所占空间;
若所述第一序号和所述第一参考数值之间的和小于或等于所述第二序号在所述长整型数据中所占空间,则将所述第一序号和所述第一参考数值之间的和作为所述数据的第二序号。
5.如权利要求4所述的数据唯一标识的生成方法,其特征在于,所述检测所述第一序号和所述第一参考数值之间的和是否小于或等于所述第二序号在所述长整型数据中所占空间的步骤之后,还包括:
若所述第一序号和所述第一参考数值之间的和大于所述第二序号在所述长整型数据中所占空间,则获取第二参考数值;
基于所述第二时间和所述第二参考数值,确定第三时间;
将所述第三时间作为所述第二时间,并执行所述基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号的步骤。
6.如权利要求1所述的数据唯一标识的生成方法,其特征在于,所述获取所述物联网设备的设备编号以及上一条数据产生时对应的第三时间的步骤之后,还包括:
若不存在所述数据对应的所述上一条数据,则获取初始时间;
将所述初始时间作为所述第二时间,并执行所述基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号的步骤。
7.如权利要求1至6任一项所述的数据唯一标识的生成方法,其特征在于,长整型的所述唯一标识号包含64位,所述第二时间在所述唯一标识号中所占空间为31位,所述设备编号在所述唯一标识号中所占空间为24位,所述第二序号在所述唯一标识号中所占空间为8位,符号位在所述唯一标识号中所占空间为1位。
8.一种数据唯一标识的生成装置,其特征在于,所述数据唯一标识的生成装置包括:
第一确定模块,用于当物联网设备产生数据时,确定所述数据产生时的精确到秒的第一时间,并基于所述第一时间确定所述数据的第二时间;
获取模块,用于获取所述物联网设备的设备编号以及上一条数据产生时对应的第三时间;
第二确定模块,用于若所述第一时间的秒数与所述第三时间的秒数相同,则基于所述上一条数据的第一序号确定所述数据的第二序号;
第三确定模块,用于基于所述第二时间、所述设备编号和所述第二序号,确定所述数据的唯一标识号,其中,所述唯一标识号为长整型数据。
9.一种数据唯一标识的生成设备,其特征在于,所述数据唯一标识的生成设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据唯一标识的生成程序,所述数据唯一标识的生成程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据唯一标识的生成方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有数据唯一标识的生成程序,所述数据唯一标识的生成程序被处理器执行时实现如权利要求1至7中任一项所述的数据唯一标识的生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110263307.0A CN113037756B (zh) | 2021-03-10 | 2021-03-10 | 数据唯一标识的生成方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110263307.0A CN113037756B (zh) | 2021-03-10 | 2021-03-10 | 数据唯一标识的生成方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113037756A true CN113037756A (zh) | 2021-06-25 |
CN113037756B CN113037756B (zh) | 2022-07-22 |
Family
ID=76469551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110263307.0A Active CN113037756B (zh) | 2021-03-10 | 2021-03-10 | 数据唯一标识的生成方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113037756B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105450712A (zh) * | 2014-09-02 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 一种数据传输方法及装置 |
CN110543518A (zh) * | 2019-08-27 | 2019-12-06 | 北京奇艺世纪科技有限公司 | 一种分布式id生成方法、装置、设备及存储介质 |
CN110554732A (zh) * | 2019-08-22 | 2019-12-10 | 北京奇艺世纪科技有限公司 | 一种标识号生成方法、生成装置、电子设备及存储介质 |
CN110928755A (zh) * | 2019-11-21 | 2020-03-27 | 中国银行股份有限公司 | 一种用户行为数据处理方法及装置 |
WO2020170187A1 (en) * | 2019-02-22 | 2020-08-27 | Channel Technologies Fze | Large-scale processing of data records with efficient retrieval |
-
2021
- 2021-03-10 CN CN202110263307.0A patent/CN113037756B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105450712A (zh) * | 2014-09-02 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 一种数据传输方法及装置 |
WO2020170187A1 (en) * | 2019-02-22 | 2020-08-27 | Channel Technologies Fze | Large-scale processing of data records with efficient retrieval |
CN110554732A (zh) * | 2019-08-22 | 2019-12-10 | 北京奇艺世纪科技有限公司 | 一种标识号生成方法、生成装置、电子设备及存储介质 |
CN110543518A (zh) * | 2019-08-27 | 2019-12-06 | 北京奇艺世纪科技有限公司 | 一种分布式id生成方法、装置、设备及存储介质 |
CN110928755A (zh) * | 2019-11-21 | 2020-03-27 | 中国银行股份有限公司 | 一种用户行为数据处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
CSDN: ""雪花算法生成ID长度可控吗"", 《HTTPS://BLOG.CSDN.NET》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113037756B (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108768875B (zh) | 应用的灰度发布方法、装置及计算机可读存储介质 | |
US11509807B2 (en) | Electronic device and method for generating thumbnails based on captured images | |
CN107896249B (zh) | 跨网络区域数据访问方法、装置、设备及存储介质 | |
US9635268B2 (en) | Electronic device and method for generating thumbnail data | |
CN106126207B (zh) | 桌面信息显示方法、装置及移动终端 | |
CN104063409B (zh) | 一种数据库的字段增加方法和系统 | |
CN110222288B (zh) | 页面展示方法、装置及存储介质 | |
CN110771121A (zh) | 应用资源推荐方法及相关设备 | |
CN111078556B (zh) | 应用测试方法及装置 | |
CN110674112A (zh) | 一种数据查询的方法、装置及电子设备 | |
CN113420051A (zh) | 一种数据查询方法、装置、电子设备和存储介质 | |
CN106502833A (zh) | 数据备份方法及装置 | |
CN110555155A (zh) | 物品信息推荐方法、设备和存储介质 | |
CN108388616B (zh) | 数据收集装置、方法、系统及计算机可读存储介质 | |
CN113037756B (zh) | 数据唯一标识的生成方法、装置、设备及可读存储介质 | |
CN111966373A (zh) | Apn的重置方法、终端设备及存储介质 | |
CN111274104B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
KR20210101583A (ko) | 전자 장치 및 상기 전자 장치를 이용한 콘텐츠 운용 방법 | |
EP3514697A1 (en) | Electronic device and search keyword processing method thereof | |
CN107734049B (zh) | 网络资源的下载方法、装置和移动终端 | |
CN107743151B (zh) | 内容推送方法、装置、移动终端以及服务器 | |
CN115344581A (zh) | 积分处理方法、装置、设备及计算机可读存储介质 | |
CN114996369A (zh) | 一种数据仓库指标库的构建方法和装置 | |
CN106610971B (zh) | 一种zip压缩文件的标识确定方法及装置 | |
CN106068506B (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 |