网络购物平台系统时间校准研究
2020-05-25张跃军
摘 要:文中通过分析网络购物平台系统时间需要校准,设计了一种利用不断变化系统的毫秒时间截屏网络北京时间来计算出精确的时间差,然后调整系统时间的方法,得到了只看秒钟数能达到毫秒精度方法,对于时间精度要求较高的系统有一定的借鉴作用。
关键词:网络购物;系统;时间校准
一、网络购物系统及时间校准分析
在电子商务营销策略中,秒杀是经常被商家使用的,实际限购活动中的商品非常少。按照稀缺性原理,网络销售中的秒杀商品越少越能激发消费者的购买意愿。[1]为了不失公平性,购物平台系统时间的绝对准确性一定要保证,这样能够确保客户能够在准确的时间开始秒杀,实现公平竞争。对于系统时间校准,西安航空计算技术研究所的何向栋提出了一种通过对SAE AS6802时间触发网络协议来实现时间同步。[2]河南广播电视台的王文韬提出的时间同步仅限于服务器与客户端之间。[3]同时windouws系統也自带的时间服务器同步也是基于某些特定网站而言。但这些都不是基于网络北京时间为基准进行校正。虽然相对较准,但是精度也无法确定。
二、时间校准方案设计
针对现在的各种情况,现设计一种基于网络北京时间为基准的时间校准方法。先要有稳定的网络连接到计算机上,在计算机上通过浏览器把网络北京时间的网页打开,然后把本地的时间调出,这个时候能够发现,网络北京时间显示的是精确到秒,本地计算机的时间显示的也是精确到秒。现在设计一套更加精确的校准方法,把精确时间精确达到毫秒级别。通过计算机的程序设定以毫秒为最小单位的时间进行截屏拍照,这时候就会把此时的网络北京时间以秒为最小单位留存下来。这时候就把拍到的网络北京时间的秒数与启动拍照的秒数进行对比。秒数与秒数进行对比能把精度精确到毫秒级别?对!因为还有截屏的毫秒时间,可以利用这个时间作为参照。这样计算机本地截屏的时间能够确定到毫秒了,但是网络上的北京时间怎么确定到毫秒?这个需要找到网络北京时间的上一秒与下一秒的变化的时刻,找到这个时刻后,与本地毫秒为最小单位时间进行对比就知道了网络时间与本地计算机时间以毫秒为单位的差了。然后根据这个差,把本地时间用计算机程序设定,即可使得本地计算机与网络北京时间校准到毫秒级别。
如何找到网络北京时间上一秒与下一秒变化时刻的本地毫秒级的时间即为本算法的关键。在开始前设定一个初始的毫秒变化值参数varmt=1000。第一步,设定截屏本地时间秒数时间为bst1,毫秒时间为bmt1,而截屏到网络北京时间秒数为wst1,毫秒时间假定为0。第二步,把毫秒变化值缩小为原来的一般,即用varmt=varmt/2实现即可,判断触发截屏的本地时间与截屏到的网络北京时间的比较,如果比网络北京时间快,下次触发截屏的秒数bst2=bst1,而毫秒数bmt2=bmt1-varmt,如果结果为负值,向秒数借位再进行运算,即bmt1+1000-varmt,获得的结果为bmt2,而bst2=bst1-1。如果比网络北京时间慢,则下次触发截屏的秒数bst2=bst1,而毫秒数bmt2=bmt1+varmt,如果其得到的毫秒数bmt2减去1000大于0,则其余值为真正的毫秒数,即bmt2=bmt1+varmt-1000,而bst2=bst1+1,然后进行第二次截屏拍照,获得网络北京时间秒数为wst2,毫秒时间仍然假定为0。以此按照此准则,直到varmt小于某个确定的值,比如2,便找到了本机时间与网络北京时间的差,然后根据此差,重新设定本机时间,即可校准本机时间为网络北京时间,误差为毫秒级别。
三、时间校准方案实现
实现时间校准采用高性能的C++计算机编程语言编写,在最新的vs2019环境下实现。通过建立一个对话框项目来实现。启动程序前先打开网络北京时间,然后程序启动一个线程,在线程中不断循环判断是否需要截屏,截屏后把数据保存到剪切板,然后等待下一次截屏。而在主程序中,先设定一个开始启动的时间,时间以分钟、秒钟、毫秒为参数即可。设定一个消息告知已经截屏拍照了,把剪切板的图片拷贝到画图软件里面,从里面找出拍图时候的网络北京时间秒数,把这个时间输入到程序中,让程序计算下一次截屏拍图的时间,主要是毫秒的设定,进行下一次拍图,依次反复。直到毫秒变化值varmt小于2的时候,算出系统时间与网络时间的差,如图所示。最后根据时间差通过SetSystemTime函数即可设定本机系统时间。这样就完成了本机系统时间与网络北京时间的毫秒级的精准校准。
四、结论
文中通过网络只看到北京时间的秒钟数达到了毫秒级校准,较多网络平台系统都可采用这种方法来校准系统时间。对于教改项目《高职学生平时成绩动态评价系统研究与实践》中的系统就可以采用这种方法来校准。
参考文献:
[1]金玉芳.电商秒杀促销中的“限时”与“限量”研究[J].现代营销(信息版),2019(06):206-207.
[2]何向栋.基于时间触发网络的时间同步研究[J].信息通信,2019(11):107-109.
[3]王文韬.计算机网络中的时间同步[J].科技传播,2018,10(13):133-134.
基金项目:2019年度北京政法职业学院院级教改项目《高职学生平时成绩动态评价系统研究与实践》(项目编号:JGYB20191106)研究成果
作者简介:张跃军(1978-),男,汉族,湖南益阳人,硕士,讲师,主要研究方向:电子商务、软件测试、加密算法等。