The invention provides a parallel calculation method of time conversion in large data environment, belonging to the technical field of time conversion. By providing a quick look-up table in memory which is 0:0 minutes 0 seconds per month from January 1, 1900, the conversion time will be quickly compared with the quick look-up table to find out the seconds of the month in which the conversion time is needed, and then add the conversion time. The difference between 0:0 minutes and 0 seconds on January 1, 1900 can be used to quickly calculate the conversion time between 0:0 minutes and 0 seconds on January 1, 1900. The time conversion of the invention can be calculated in parallel, and the concurrency performance can reach hundreds of times of the mktime function according to the different CPU cores and concurrency degree.
【技术实现步骤摘要】
一种大数据环境中时间转换并行计算方法
本专利技术涉及时间转换技术,尤其涉及一种大数据环境中时间转换并行计算方法。
技术介绍
在计算机信息系统中,时间几乎到处出现,如用户登录的时间、用户允许登录的时间、用户某操作的时间、某条数据库记录插入的时间、中华人民共和国成立时间、某人的出生时间、某人参加工作的时间等等。时间的表示可以用文字方式如“2015年10月1号上午11时12分9秒”或“2015.10.111:12:9”或“20151001111209”等等,这些时间表示方式人比较易懂,但在计算机处理时就是字符串,需要占据十几个到二十个字节的存储空间,在大数据环境中这样的表示或许有几亿甚至数万亿条,会占据较多宝贵的存储空间,且这样的表示不易于计算机计算且影响性能。在计算机Linux操作系统中提供了一个mktime函数,它能将十多个字节表示的时间字符串转换为距离1900年1月1号0时0分0秒秒数的整型值,该整型值为4字节或8字节,节省了不少存储空间,存储性能快且易于时间计算。在实际应用中mktime函数一般可满足需求,但在数据量很多需要并行进行时间转换的大数据场合,mkti ...
【技术保护点】
1.一种大数据环境中时间转换并行计算方法,其特征在于,在内存中预先提供一个每年每月1号距离1900年1月1号0时0分0秒秒数的速查表,将需要转换的时间与该速查表比对,找出需要转换的时间所在月份的秒数,然后加上转换的时间距离该月1号0时0分0秒秒数的差值计算出转换的时间距离1900年1月1号0时0分0秒的秒数。
【技术特征摘要】
1.一种大数据环境中时间转换并行计算方法,其特征在于,在内存中预先提供一个每年每月1号距离1900年1月1号0时0分0秒秒数的速查表,将需要转换的时间与该速查表比对,找出需要转换的时间所在月份的秒数,然后加上转换的时间距离该月1号0时0分0秒秒数的差值计算出转换的时间距离1900年1月1号0时0分0秒的秒数。2.根据权利要求1所述的方法,其特征在于,提供一个mktime的替代函数mktime1,mktime1的参数和返回值与mktime完全兼容;在mktime1函数首次被调用时,mktime1函数在内存中初始化一个一段时间范围内每年每月1号距离1900年1月1号0时0分0秒秒数的静态速查表,速查表中每年每月1号距离1900年1月1号0时0分0秒秒数可通过系统提供的mktime函数获得;以后mktime1函数调用时,只需要将转换的时间与该速查表快速比对,找出需要转换的时间所在月份的秒数...
【专利技术属性】
技术研发人员:李朝铭,崔洪志,林杰,王建华,
申请(专利权)人:浪潮软件集团有限公司,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。