[发明专利]一种时间偏移方法和装置在审
申请号: | 202011303628.0 | 申请日: | 2020-11-19 |
公开(公告)号: | CN112416473A | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 谭恒亮 | 申请(专利权)人: | 广州橙行智动汽车科技有限公司;广州小鹏汽车科技有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F12/02;G06F1/14 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 赵娟 |
地址: | 510000 广东省广州市广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 时间 偏移 方法 装置 | ||
本发明实施例提供了一种时间偏移方法和装置,应用于预设操作系统,预设操作系统具有用于获取当前系统时间的时间获取函数;所述方法包括:对预设目标程序的第一目标进程进行拦截操作;获取时间获取函数中所包含的函数地址,以及获取用于进行时间偏移的偏移时间获取函数的目标存储地址;将时间获取函数中所包含的函数地址指向目标存储地址;取消对第一目标进程的拦截操作,以便恢复拦截后的第一目标进程的运行状态,并使得第一目标进程通过所指向的偏移时间函数得到经过目标偏移时间参数偏移后的系统时间。实现在预设目标程序获取操作系统时间时出现时间偏移,而不会影响计算机上的其他应用程序,特别有利于涉及到大型的分布式系统测试的场景。
技术领域
本发明涉及通信技术领域,特别是涉及一种时间偏移方法和一种时间偏移装置。
背景技术
在应用程序开发中,存在大量对时间敏感的应用以及场景,例如分布式标识生成算法:SnowFlake(一种用来在分布式场景下生成唯一标识的算法)、分布式的定时任务调度、分布式数据库的全局一致性快照。但是往往在多个计算机中的物理时间总是会出现偏差的,不管是NTP(Network Time Protocol,网络时间协议)服务同步,还是其他方法都无法完全避免出现误差。如若应用程序不能很好地处理这样的情况的话,就可能造成无法预知的错误。
针对Linux操作系统,目前业界在时间偏移上,一般的做法是直接使用date-s命令修改时间,具体为通过分析date命令的源码,其实质为通过调用操作系统的settimeofday内核时间函数(是Linux系统所具有的用于设置系统时间的内核函数)来实现设置操作系统时间。然而,上述通过调用内核时间函数修改时间的方法,其修改的对象是整个计算机操作系统上的时间,即表示该计算机上的其他程序也会受到影响。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种时间偏移方法和相应的一种时间偏移装置。
为了解决上述问题,本发明实施例公开了一种时间偏移方法,应用于预设操作系统,所述预设操作系统具有用于获取当前系统时间的时间获取函数;所述方法包括:
获取针对预设目标程序的第一目标进程,并对所述第一目标进程进行拦截操作;
获取所述时间获取函数中所包含的函数地址,以及获取用于进行时间偏移的偏移时间获取函数的目标存储地址;
将所述时间获取函数中所包含的函数地址指向所述目标存储地址;所述偏移时间获取函数设置有用于偏移当前系统时间的目标偏移时间参数;
取消对所述第一目标进程的拦截操作,以便恢复拦截后的第一目标进程的运行状态,并使得恢复后的第一目标进程通过所指向的偏移时间函数得到经过所述目标偏移时间参数偏移后的系统时间。
可选地,所述获取针对预设目标程序的第一目标进程,包括:
获取所述预设目标程序的第一目标进程标识,通过所述第一目标进程标识获取第一目标进程;
所述对所述第一目标进程进行拦截操作,包括:
对所述第一目标进程进行暂停运行控制,使得所述第一目标进程处于暂停状态。
可选地,所述获取用于进行时间偏移的偏移时间获取函数的目标存储地址,包括:
获取所述拦截后的第一目标进程的内存空间,将所述偏移时间获取函数写入所述第一目标进程的内存空间;
确定所述内存空间中所写入的内存地址为所述偏移时间获取函数的目标存储地址。
可选地,所述将所述偏移时间获取函数写入所述第一目标进程的内存空间,包括:
建立与所述第一目标进程的内存空间具有映射关系的映射内存空间,并将所述偏移时间获取函数写入所述映射内存空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州橙行智动汽车科技有限公司;广州小鹏汽车科技有限公司,未经广州橙行智动汽车科技有限公司;广州小鹏汽车科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011303628.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:直播方法及装置
- 下一篇:一种耦合伽马与高斯分布的月尺度降水预报校正方法