一种时区共同时间处理方法及系统与流程

摘要: 本技术属于计算机时间数据处理,具体为一种时区共同时间处理方法及系统。背景技术:1、随着国际通信、跨境业务、航空航运、远程会议、网络交易和全球化协同办公的发展,同...
一种时区共同时间处理方法及系统与流程

本技术属于计算机时间数据处理,具体为一种时区共同时间处理方法及系统。

背景技术:

1、随着国际通信、跨境业务、航空航运、远程会议、网络交易和全球化协同办公的发展,同一事件往往需要被不同时区的用户共同理解和执行。现有时间处理方式通常采用事件创建端或事件所在地的本地时间作为记录和显示依据,即每一地区按照其所在时区显示相应时间。例如,北京、东京、伦敦和纽约在同一瞬间具有不同的本地钟点,用户在阅读会议时间、航班时间、合同履行时间或系统任务执行时间时,需要判断该时间属于创建方所在地时间、接收方所在地时间、事件地点时间还是服务器处理时间。

2、在跨时区事件处理中,现有系统通常将用户输入时间、终端系统时间或服务器接收时间作为单一时间字段写入事件记录,并在后续显示、列表排序、日志检索或时间校验时继续读取该字段。由于该单一时间字段未稳定区分统一处理基准与所在地显示基准,后续处理模块在读取该字段时可能按照不同的时区规则进行解释,导致同一事件在不同终端、不同业务模块或不同校验流程中的时间含义不一致。

3、尤其是在一个事件同时涉及多个地区时,若系统仅写入“2018年10月8日9:50”这一单一时间值,不同地区用户可能按照各自所在地时间理解该时间;排序模块也可能将不同来源的本地时间直接进行先后比较。对于跨越日期边界的事件,仅换算钟点而未明确日期相对关系时,还容易出现本地日期提前一日或滞后一日未被识别的问题,从而造成事件本地化显示误解、统一排序错位以及时间一致性校验依据不一致。

4、现有通过在时间后附加“北京时间”、“东京时间”、“伦敦时间”或“纽约时间”等文字说明的方式,虽然能够在一定程度上辅助人工阅读,但该文字说明通常作为显示文本存在,难以被排序模块、校验模块或日志处理模块稳定读取和复用;在大量日程、系统日志、任务队列和消息记录中,单纯依赖人工文字说明还会造成格式不统一、字段解析困难和校验依据不一致的问题。

5、因此,需要一种时区共同时间处理方式,使计算机系统能够在事件记录层面对用于统一排序和时间一致性校验的时间依据、用于所在地显示的时间依据以及二者之间的跨日关系进行一致读取,以减少跨时区事件显示误解、排序错位和时间一致性校验困难的问题。

技术实现思路

1、本技术提供一种时区共同时间处理方法及系统,用于解决跨时区事件仅采用地方时间记录和显示时容易产生时间基准混淆、跨日日期判断错误、统一排序困难以及触发校验不一致的问题。

2、第一方面,本技术提供一种时区共同时间处理方法,该方法可以应用于终端或服务器,所述方法包括:获取待处理事件对应的系统授时时间,并获取所述终端或所述待处理事件对应的所在地时区;读取预先配置的共同时间基准时区,所述共同时间基准时区为从多个候选时区中选定的一个时区,用于使对应不同所在地时区的待处理事件的地方时间统一映射到所述共同时间基准时区下的共同时间字段,并作为所述待处理事件统一显示、排序和校验的时间基准;根据所述系统授时时间、所述所在地时区和所述共同时间基准时区进行时区换算,生成所述待处理事件的共同时间字段、地方时间字段、时区偏移字段和日期偏移字段,所述日期偏移字段用于表征所述地方时间字段对应日期相对于所述共同时间字段对应日期的偏移关系;将所述共同时间字段、所述地方时间字段、所述时区偏移字段和所述日期偏移字段写入所述待处理事件的事件时间记录;响应于针对所述待处理事件的事件显示请求、事件排序请求或时间一致性校验请求,读取所述事件时间记录,并在所述请求为事件显示请求时,向对应不同所在地时区的多个终端输出同一所述共同时间字段,并将所述共同时间字段作为统一时显示项;依据所述共同时间字段建立统一时间轴,并依据所述地方时间字段、所述时区偏移字段和所述日期偏移字段输出本地化显示结果、排序结果或校验结果。

3、通过上述方法,终端或服务器在处理会议事件、航班事件、交易事件、合同履行事件或任务触发事件等跨时区事件时,不再仅存储单一地方时间,而是同步形成用于后台统一处理的共同时间字段和用于所在地用户理解的地方时间字段,并通过时区偏移字段和日期偏移字段明确二者之间的换算关系。由此,事件既能够按照同一共同时间基准进行排序、触发和校验,又能够按照所在地时间进行本地化展示,从而降低不同时区用户对同一事件时间产生不同理解的风险。

4、在一种可能的实施方式中,所述系统授时时间可以为统一时间戳,也可以为本地日期和本地时刻。当所述系统授时时间为统一时间戳时,将所述统一时间戳作为时区换算输入;当所述系统授时时间为本地日期和本地时刻时,将所述本地日期和本地时刻结合来源时区解析为统一时间戳。当存在多个授时来源时,可以按照业务服务器授时接口、网络授时服务和操作系统时钟的优先级选取授时来源,并在事件时间记录中记录授时来源标识。

5、在一种可能的实施方式中,所述所在地时区可以从事件指定时区、用户账号时区、事件地点时区和终端系统时区中的至少一种获得。当多个时区来源对应的时区不一致时,可以按照事件指定时区、用户账号时区、事件地点时区和终端系统时区的优先级确定所述所在地时区,并将对应的时区来源标识写入所述事件时间记录。由此,可以减少不同系统组件采用不同所在地时区而导致的显示结果不一致。

6、在一种可能的实施方式中,所述共同时间基准时区可以从共同时间基准配置表中读取。终端或服务器从共同时间基准配置表中读取与所述待处理事件对应的共同时间基准时区;其中,所述共同时间基准配置表是在系统初始化、业务类型创建或者业务组织开通跨时区事件处理功能时生成的,所述共同时间基准配置表中的配置行包括业务类型、候选基准时区、基准时区偏移量、时区规则版本、生效时间范围和配置状态;所述终端或服务器根据所述待处理事件对应的业务类型,从所述共同时间基准配置表中选取配置状态为启用且处于所述生效时间范围内的配置行,并将所述配置行中的候选基准时区确定为所述共同时间基准时区。

7、在一种可能的实施方式中,在进行时区换算之前,可以读取时区规则库。终端或服务器将所述系统授时时间转换为统一时间戳,并读取所述时区规则库;其中,所述时区规则库包括时区标识、规则版本、生效日期范围和时区偏移量;所述终端或服务器根据所述所在地时区、所述共同时间基准时区和所述系统授时时间对应日期,从所述时区规则库中分别读取所述所在地时区对应的时区偏移量和所述共同时间基准时区对应的时区偏移量,并将所述所在地时区对应的时区偏移量作为所在地时区偏移量,将所述共同时间基准时区对应的时区偏移量作为基准时区偏移量;所述所在地时区偏移量和所述基准时区偏移量用于生成所述共同时间字段、所述地方时间字段和所述时区偏移字段。

8、在一种可能的实施方式中,所述时区换算包括:将所述系统授时时间转换为统一时间戳对应的协调时间值;根据所述协调时间值和所述基准时区偏移量生成所述共同时间字段;根据所述协调时间值和所述所在地时区偏移量生成所述地方时间字段;根据所述所在地时区偏移量与所述基准时区偏移量的差值生成所述时区偏移字段。进一步地,日期偏移字段通过以下方式生成:终端或服务器读取所述地方时间字段对应的时间值和所述共同时间字段对应的时间值;

9、从所述地方时间字段对应的时间值中确定地方日期的日期序号,并从所述共同时间字段对应的时间值中确定共同日期的日期序号;将所述地方日期的日期序号与所述共同日期的日期序号进行日期差计算,得到所述日期偏移字段;其中,所述日期偏移字段为正值时,表示所述地方日期晚于所述共同日期;所述日期偏移字段为负值时,表示所述地方日期早于所述共同日期;所述日期偏移字段为零时,表示所述地方日期与所述共同日期相同。

10、在一种可能的实施方式中,所述事件时间记录可以包括事件标识、共同时间字段、地方时间字段、共同时间基准时区、所在地时区、时区偏移字段、日期偏移字段、授时来源标识、时区来源标识、时区规则版本和字段生成时间。所述事件标识用于关联会议事件、航班事件、交易事件、合同履行事件或任务触发事件,所述字段生成时间用于记录所述事件时间记录被写入或更新的时间。

11、在一种可能的实施方式中,在响应事件显示请求时,终端或服务器读取所述共同时间字段、所述地方时间字段、所述时区偏移字段和所述日期偏移字段,将所述共同时间字段作为统一时显示项,将所述地方时间字段作为本地时显示项,并将所述时区偏移字段和所述日期偏移字段作为辅助说明项,生成同时包含统一时和本地时的本地化显示结果。

12、在一种可能的实施方式中,在响应事件排序请求时,终端或服务器按照所述共同时间字段对多个待处理事件进行升序或降序排列,生成排序结果。在响应时间一致性校验请求时,终端或服务器根据所述共同时间字段、所述所在地时区和所述时区偏移字段重新计算候选地方时间,并将所述候选地方时间与所述地方时间字段进行比较,生成包括校验通过标识或校验异常原因的校验结果。

13、在一种可能的实施方式中,当同一待处理事件关联多个所在地时区时,终端或服务器针对每个所在地时区分别生成对应的地方时间字段、时区偏移字段和日期偏移字段,并将多个所在地时区对应的地方时间字段、时区偏移字段和日期偏移字段作为多个本地化时间子记录,与同一共同时间字段关联写入所述事件时间记录。

14、第二方面,本技术提供一种时区共同时间处理系统,用于实现上述任一实施方式所述的一种时区共同时间处理方法。所述系统包括授时时间获取模块、所在地时区获取模块、共同基准读取模块、双基准字段生成模块、事件记录写入模块和事件处理输出模块。授时时间获取模块用于获取待处理事件对应的系统授时时间;所在地时区获取模块用于获取所述终端或所述待处理事件对应的所在地时区;共同基准读取模块,用于读取预先配置的共同时间基准时区,所述共同时间基准时区为从多个候选时区中选定的一个时区,用于使对应不同所在地时区的待处理事件的地方时间统一映射到所述共同时间基准时区下的共同时间字段,并作为所述待处理事件统一显示、排序和校验的时间基准;双基准字段生成模块用于根据所述系统授时时间、所述所在地时区和所述共同时间基准时区进行时区换算,生成所述待处理事件的共同时间字段、地方时间字段、时区偏移字段和日期偏移字段,所述日期偏移字段用于表征所述地方时间字段对应日期相对于所述共同时间字段对应日期的偏移关系;事件记录写入模块用于将所述共同时间字段、所述地方时间字段、所述时区偏移字段和所述日期偏移字段写入所述待处理事件的事件时间记录;事件处理输出模块用响应于针对所述待处理事件的事件显示请求、事件排序请求或时间一致性校验请求,读取所述事件时间记录,并在所述请求为事件显示请求时,向对应不同所在地时区的多个终端输出同一所述共同时间字段,并将所述共同时间字段作为统一时显示项;依据所述共同时间字段建立统一时间轴,并依据所述地方时间字段、所述时区偏移字段和所述日期偏移字段输出本地化显示结果、排序结果或校验结果。

15、与相关技术相比,本技术具有如下有益效果:

16、总体上,本技术通过获取待处理事件对应的系统授时时间、所在地时区和预先配置的共同时间基准时区,并基于上述数据生成共同时间字段、地方时间字段、时区偏移字段和日期偏移字段后写入事件时间记录,使跨时区事件的统一处理依据、本地显示依据以及跨日关系均以字段形式被保存和读取;在后续响应事件显示请求、事件排序请求或时间一致性校验请求时,系统能够围绕同一事件时间记录进行显示、排序和校验处理,从而减少单一地方时间字段在跨时区场景下造成的时间基准混淆、排序错位和校验依据不一致问题。

17、第一,通过获取待处理事件对应的系统授时时间、终端或待处理事件对应的所在地时区,并读取预先配置的共同时间基准时区,使后续时区换算同时具有基础授时数据、所在地时区解释条件和统一处理基准;在此基础上,根据所述系统授时时间、所述所在地时区和所述共同时间基准时区进行时区换算,生成共同时间字段和地方时间字段,使同一待处理事件同时具有用于统一排序和时间一致性校验的共同时间依据,以及用于所在地用户理解的地方时间依据,从而避免不同终端或不同业务模块分别按照本地时区、账号时区或服务器时区解释同一事件时间值而导致时间基准不一致,并降低跨时区事件仅依赖单一地方时间进行记录、显示或比较时产生的显示误解和排序错位风险。

18、第二,通过在生成共同时间字段和地方时间字段的同时生成时区偏移字段和日期偏移字段,使所在地时区相对于共同时间基准时区的偏移关系以及地方日期相对于共同日期的跨日关系能够被字段化记录;并通过将共同时间字段、地方时间字段、时区偏移字段和日期偏移字段写入待处理事件的事件时间记录,使上述字段不只是临时显示文本,而是能够被后续事件显示请求、事件排序请求和时间一致性校验请求共同读取的数据结构,从而避免跨时区换算过程中仅换算钟点而遗漏日期提前或滞后一日的问题,并提高跨时区事件显示、排序和校验过程中数据来源的一致性。

19、第三,通过响应于事件显示请求、事件排序请求或时间一致性校验请求读取事件时间记录,并依据共同时间字段建立统一时间轴,依据地方时间字段、时区偏移字段和日期偏移字段输出本地化显示结果、排序结果或校验结果,使字段生成步骤与后续事件处理步骤形成闭合处理链,从而提高跨时区事件在终端或服务器中的显示一致性、排序一致性和时间校验一致性;进一步地,当同一待处理事件关联多个所在地时区时,通过针对每个所在地时区分别生成对应的地方时间字段、时区偏移字段和日期偏移字段,并将其作为多个本地化时间子记录与同一共同时间字段关联写入事件时间记录,使同一跨时区事件能够面向不同所在地对象输出对应的本地化时间,同时仍以同一共同时间字段作为后台统一排序和校验依据,从而提高多接收方跨时区事件处理的一致性。