当前位置: 首页 > 专利查询>童晓冲专利>正文

时间信息编码方法、编码值检索方法、解码方法与装置制造方法及图纸

技术编号:14016005 阅读:41 留言:0更新日期:2016-11-18 01:05
本申请公开了一种时间信息编码方法,用于解决采用现有的时间信息编码方式可能导致编码值计算效率较低的问题。方法包括:确定待编码的时间信息;将所述待编码的时间信息,编码为第一时间尺度下的具备指定位数的第一整数;根据第二时间尺度的信息,将所述第一整数,编码为所述第二时间尺度下的具备所述指定位数的第二整数,作为所述待编码的时间信息在所述第二时间尺度下的编码值。本申请还公开一种时间信息编码装置、编码值检索方法、解码方法与装置。

【技术实现步骤摘要】

本申请涉及计算机
,尤其涉及一种时间信息编码方法、编码值检索方法、解码方法与装置
技术介绍
目前,时间(时间信息)的表达可以粗略划分为文字表示和数字表示两种。用文字表示时间时,鉴于不同国家地区间语言、文化、历史和习惯的差异,各个国家和地区间有着明显的不同。在数字表示时间上,世界各地区也有着不同的表示方法。此处将广义的时间分为两个部分:日期部分和时间部分(特指一天中的具体时间)。在表示时间时,一般时、分、秒顺序一致:假设用H表达小时(Hour)、M表达分(Minute)、S表达秒(Second),则时间部分表达为H:M:S。最大的差异体现在表示日期时,年、月、日顺序的不同:假设用Y表示年(Year)、M表示月(Month)、D表示日(Day),则日期部分的组成顺序有:YMD:(year,month,day),比如1996-04-22DMY:(day,month,year),比如22.04.96或22/04/96MDY:(month,day,year),比如04/22/96时间信息的离散化,是指采用离散化的表达方式,来表达时间信息。用离散化的表达方式来表达时间信息,每个时间信息从表现形式上来看,都是一个离散的时间点而非连续的时间段。如,“1996-04-22”,在“日”这一时间粒度,是一个离散的时间点,又如,“1996-04-22,10:22”,在“分”这一时间粒度,也是一个离散的时间点。在时间信息的离散化表达方面,主要有文件系统中的时间离散化、编程语言中的时间离散化和数据库中的时间离散化三大类。由于文件系统、编程语言和数据库,都是可供计算机操作(比如访问或者运行等)的对象,因此,文件系统、编程语言和数据库中的时间信息,一般都是指被编码为计算机可识别的编码值的时间信息。对时间信息进行编码,称为时间信息编码。具体而言,时间信息编码是指用预先规定的方法,将时间信息从文字、数字或其他表达形式,转化为计算机内部可识别的形式的过程。时间信息编码的结果,即为时间信息在计算机内部的存储值(也称编码值)。下文提到的时间信息编码模型,则是指包含用于对时间信息进行编码的方法的模型。(1)文件系统中的时间离散化文件系统中的时间信息编码模型主要应用于文件的时间属性(文件的时间属性就是一种时间信息)的存储和管理。文件的时间属性,一般包括文件的创建时间、修改时间和访问时间。以主流FAT32、NTFS和Ext2/3/4三类常见文件系统为例,进行分析。在FAT32文件系统中,文件的时间属性存储在FDT(File directory Table,文件目录项)中。每个文件都在FDT中对应于一个目录项,每个目录项的大小为32字节。其中,第14~18字节记录了文件的创建时间,精确度10ms;第19~20字节记录了文件的最新访问时间,精确度1天;第23~26字节记录了文件的最新修改时间,精确度2s,全部32字节的定义。由于FAT32是基于系统的本地时间对文件的时间属性进行管理,所以文件目录项中的时间属性直接记录了计算机所设时区的本地时间。在NTFS文件系统中,文件的时间属性存储在主文件表MFT(Master File Table,主文件表)中。每个MFT记录都对应着不同的文件。与FAT32文件系统不同,NTFS文件系统采用UTC格式保存时间属性,使用一个64位整数(即8个字节),单位是100个纳秒(等于10-7秒),表示从1601-01-01T00:00:00Z以来过去了多少个这样的时间单位(不考虑闰秒)(MSDN Library,2016a)。MFT中存储了文件创建时间、文件最新修改时间、MFT最新修改时间(当文件的属性发生变化时)和文件最新访问时间。例如,MFT记录修改时间为“01CD76DB 03D9AC C8”(小字节序),表示自1601-01-01T00:00:00Z以来,经历了129890647298125000个100纳秒,约为12989064729秒,经计算MFT记录修改时间为2012-08-10T09:32:09Z。Ext2/3/4则是Linux操作系统常采用的文件格式。Ext2/3/4文件系统中每个文件都对应了一个inode结点,inode结点中保存了文件大小、时间信息和文件保存位置等重要信息。Ext2/3文件系统中,inode结点为128个字节,从起始位置开始第0x8~0x17字节,依次记录了文件最新访问时间、文件属性改变的时间、文件最新修改时间和文件删除时间。每个时间戳使用一个有符号的32位整数记录从1970-01-01T00:00:00Z以来过去了多少秒。Ext4文件系统将inode结点扩大为256个字节。通过扩展时间属性的存储空间,Ext4将时间的存储精度提高到1纳秒。除了第0x8~0x17字节,Ext4还增加使用了第0x84~0x8F字节,依次将文件最新访问时间、文件属性改变的时间、文件最新修改时间增加4个字节进行存储,即时间戳的存储空间从32位扩展到64位。这增加的32位,其中低2位,与之前记录秒数的32位组合以扩展到34位,从而将记录的时间最大值从2038年1月延长到2446年5月;高30位用来提供纳秒级别的精度。同时,第0x90~0x97字节增加了记录了文件创建时间,同样采用64位存储。由此可见,不同的文件系统,文件的时间属性的编码方式一般是不相同的。但其基本方法可以概括为两类:一类是将字节的二进制位划分为不同区域,分别存储年、月、日、时、分、秒等信息;另一类是使用一个整数记录从一个标准时间点到现在的时间经过的秒数。并且,文件系统中的时间编码呈现一种趋势,即通过增加存储空间的方式扩大可表达的时间范围、提高可表达的时间精度。(2)编程语言中的时间离散化编程语言都需要对时间进行处理。由于不同的编程语言特点不同,对时间信息的具体编码方式也各不相同,但基本方法可以概括为如下四类:1)使用一个有符号整数记录从一个标准时间点到现在的时间经过的秒数,不包括插入闰秒对时间的调整。2)使用有符号整数表达时钟滴答数,从进程启动开始计时,是相对时间。3)将字节的二进制位分为不同区域,存储年、月、日、时、分、秒等信息。4)用一个元组、或结构体、或类等复合数据类型表示分解时间。(3)数据库中的时间离散化SQL:2011标准(又称ISO/IEC 9705:2011)中规定了日期和时间数据类型,包括以下数据类型:DATE:日期,是由年、月、日组成。TIME:时间,是由小时、分钟和秒组成。TIMESTAMP:时间戳,组合DATE和TIME。TIME WITH TIME ZONE:扩展了TIME,包含时区的信息。TIMESTAMP WITH TIME ZONE:扩展了TIMESTAMP,包含时区信息。INTERVAL:时间间隔,可以是年月时间,也可以是日时间。前者包括了YEAR和MONTH字段;后者包括了DAY、HOUR、MINUTE和SECOND元素。数据库系统一般均支持上述类型,但不同的数据库系统实现方式不同。在计算机
中,时间信息的存在,有着非常重要的意义——数据收集与时间信息有关,数据查询检索或挖掘分析更是与时间信息密不可分。例如,数据仓库的数据都有时间日志;研究销售、股票、气象本文档来自技高网
...
时间信息编码方法、编码值检索方法、解码方法与装置

【技术保护点】
一种时间信息编码方法,其特征在于,包括:确定待编码的时间信息;将所述待编码的时间信息,编码为第一时间尺度下的具备指定位数的第一整数;根据第二时间尺度的信息,将所述第一整数,编码为所述第二时间尺度下的具备所述指定位数的第二整数,作为所述待编码的时间信息在所述第二时间尺度下的编码值。

【技术特征摘要】
1.一种时间信息编码方法,其特征在于,包括:确定待编码的时间信息;将所述待编码的时间信息,编码为第一时间尺度下的具备指定位数的第一整数;根据第二时间尺度的信息,将所述第一整数,编码为所述第二时间尺度下的具备所述指定位数的第二整数,作为所述待编码的时间信息在所述第二时间尺度下的编码值。2.如权利要求1所述的方法,其特征在于,所述第一时间尺度,是根据计算设备一次运算所能处理的二进制数的最大位数,所确定出的多个时间尺度中的最小的时间尺度。3.如权利要求1所述的方法,其特征在于,所述第二时间尺度的信息,包括下述至少一种:默认的时间尺度的信息;用户输入的第二时间尺度的信息。4.如权利要求1所述的方法,其特征在于,将所述待编码的时间信息,编码为第一时间尺度下的具备指定位数的第一整数,包括:按照预定的第一编码规则,将所述待编码的时间信息,编码为第一时间尺度下的具备指定位数的第一整数;其中,所述预定的编码规则,包括:使得所述待编码的时间信息包含的不同时间粒度的时间信息所对应的编码值,共同占用46bit;所述不同时间粒度,包括月、日、小时、分、秒、毫秒和微秒。5.如权利要求4所述的方法,其特征在于,所述预定的编码规则,还包括:将所述待编码的时间信息包含的月这一时间粒度的时间信息,编码为4bit的二进制数;将所述待编码的时间信息包含的日这一时间粒度的时间信息,编码为5bit的二进制数;将所述待编码的时间信息包含的时这一时间粒度的时间信息,编码为5bit的二进制数;将所述待编码的时间信息包含的分这一时间粒度的时间信息,编码为6bit的二进制数;将所述待编码的时间信息包含的秒这一时间粒度的时间信息,编码为6bit的二进制数;将所述待编码的时间信息包含的毫秒这一时间粒度的时间信息,编码为10bit的二进制数;将所述待编码的时间信息包含的微秒这一时间粒度的时间信息,编码为10bit的二进制数。6.如权利要求5所述的方法,其特征在于,所述预定的编码规则,还包括:将所述待编码的时间信息包含的年这一时间粒度的时间信息,编码为(m-46)bit的二进制数;其中,所述m,为所述指定位数;所述(m-46)bit的二进制数的第一位,为符号位;当所述待编码的时间信息为表示公元前的时间的信息时,所述符号位上的数字为1,表示负数;当所述符号位上的数字为1时,所述待编码的时间信息包含的各时间粒度的时间信息,采用补码方式进行编码。7.如权利要求1所述的方法,其特征在于,根据第二时间尺度的信息,将所述第一整数,编码为所述第二时间尺度下的具备所述指定位数的第二整数,包括:对所述第一整数左移一位,得到左移后的第一整数T'c;按照DetaT=1<<(m-1–N),计算DetaT;其中,N为所述第二时间尺度的信息;按照MTc=(T'c>>(m–N))<<(m–N)+DetaT–1,计算MTc作为所述第二整数;其中,m为所述指定位数。8.如权利要求1所述的方法,其特征在于,根据第二时间尺度的信息,将所述第一整数,编码为所述第二时间尺度下的具备所述指定位数的第二整数,作为所述待编码的时间信息在所述第二时间尺度下的编码值后,所述方法还包括:将所述第二整数存储在本地;或将所述第二整数发送给数据存储方,以保存在所述数据存储方中。9.如权利要求1所述的方法,其特征在于,所述第二时间尺度的信息,为与所述第二时间尺度相对应的编码层级的级数。10.如权利要求1所述的方法,其特征在于,根据第二时间尺度的信息,将所述第一整数,编码为所述第二时间尺度下的具备所述指定位数的第二整数,包括:根据指定的多个第二时间尺度的信息,将所述第一整数,编码为所述第二时间尺度下的具备所述指定位数的第二整数。11.一种基于如权利要求1所述的时间信息编码方法的编码值检索方法,其特征在于,包括:确定具备指定位数的编码值;确定所述具备指定位数的编码值对应的时间尺度的信息;根据所述具备指定位数的编码值对应的时间尺度的信息,检索与所述具备指定位数的编码值相关的目标编码值;其中,所述目标编码值和所述具备指定位数的编码值,是按照所述的时间信息编码方法对同一时间信息进行编码得到的。12.如权利要求11所述的方法,其特征在于,根据所述具备指定位数的编码值对应的时间尺度的信息,检索与所述具备指定位数的编码值相关的目标编码值,包括:根据所述具备指定位数的编码值对应的时间尺度的信息,检索对应的时间尺度小于所述具备指定位数的编码值对应的时间尺度的编码值;或根据所述具备指定位数的编码值对应的时间尺度的信息,检索对应的时间尺度大于所述具备指定位数的编码值对应的时间尺度的编码值。13.如权利要求12所述的方法,其特征在于,根据所述具备指定位数的编码值对应的时间尺度的信息,检索对应的时间尺度小于所述具备指定位数的编码值对应的时间尺度的编码值,包括:根据所述具备指定位数的编...

【专利技术属性】
技术研发人员:童晓冲张勇赖广陵韩硕汪滢
申请(专利权)人:童晓冲
类型:发明
国别省市:河南;41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1