离线数据获取方法及系统、服务器及存储介质技术方案

技术编号:19009249 阅读:62 留言:0更新日期:2018-09-22 09:06
本发明专利技术公开了一种离线数据获取方法及系统、服务端及存储介质,其通过设置一第三方数据库作为共享数据库;在离线计算任务完成时,将数据更新的最新有效时间信息从服务端数据库外置到第三方数据库;并在进行数据请求时,自第三方数据库中获取到数据更新的最新有效时间信息,将数据更新的最新有效时间信息当作查询条件自服务端数据库中获取请求数据返回客户端。通过将数据离线计算完成的时间戳进行单独提取存储,使客户端和服务端均能够获取到准确的数据更新完成时间,从而减去了客户端或者服务端在数据库中尝试数据的操作,进而减少了时间和资源消耗,使整个系统数据流向更科学,更高效。

Offline data acquisition method and system, server and storage medium

The invention discloses an offline data acquisition method and a system, a server and a storage medium, which set a third-party database as a shared database; when the offline computing task is completed, the latest valid time information of the data update is set from the server database to the third-party database; and the data request is made; When the latest valid time information of data update is obtained from the third party database, the latest valid time information of data update is regarded as query condition and the request data is retrieved from the server database and returned to the client. By extracting and storing the timestamp of the data offline, both the client and the server can get the exact data update completion time, thus reducing the operation of the client or the server trying data in the database, thus reducing the time and resource consumption, and making the data flow of the whole system more. Science is more efficient.

【技术实现步骤摘要】
离线数据获取方法及系统、服务器及存储介质
本专利技术涉及软件工程领域,尤其涉及一种离线数据获取方法及系统、服务器及存储介质。
技术介绍
软件工程领域常有离线计算任务场景和异步数据计算场景,如商城系统需要每天凌晨计算最近昨天或者最近一段时间的消费统计,直播领域需要每天凌晨计算主播昨天或最近一个时间段的直播时长、收益或人气情况。这些计算的数据会显示在客户端页面。这时,便出现了一个问题,即离线计算数据获取的问题。因为离线统计和计算是数据量庞大,耗时的统计任务,任务执行时间和完成时间都不确定,这样会造成数据获取方查询得不到数据,或者服务方无法提供正确可用的数据。传统的解决方法是客户端请求昨日的数据,如果服务方查询数据库发现昨日的数据还没有计算完成,就返回错误给客户端,然后客户端接着请求前天的数据,直到能获取数据为止(一般离线任务不会跨天,即昨日无数据,请求前天会有数据);或者是将尝试查找数据的职责放在服务端,即客户端请求最新数据时,服务端查询昨日数据,如果还未产出,则再查询前日数据并返回客户端。这样的方法,无论数据尝试方是客户端还是服务端,其中都会消耗大量的时间和资源在数据尝试上,鉴于离线数据产生的时间不确定,这种方法可以解决业务问题,但是时间开销和资源开销较大,特别是对于实时性要求较高的系统。
技术实现思路
有鉴于此,本专利技术实施例提供了一种离线数据获取方法及系统、服务器及存储介质,以解决减去了客户端或者服务端在数据库中尝试数据的操作造成时间和资源消耗的问题。本专利技术实施例的第一方面,提供了一种离线数据获取方法,其包括:设置一第三方数据库作为共享数据库;将数据更新的最新有效时间信息从服务端数据库外置到第三方数据库;自第三方数据库中获取到数据更新的最新有效时间信息,将数据更新的最新有效时间信息当作查询条件自服务端数据库中获取请求数据返回客户端。本专利技术实施例的第二方面,提供了一种离线数据获取系统,其包括:第三方设置模块,用于设置一第三方数据库作为共享数据库;时间外置模块,用于将数据更新的最新有效时间信息从服务端数据库外置到第三方数据库;数据获取模块,用于自第三方数据库中获取到数据更新的最新有效时间信息,将数据更新的最新有效时间信息当作查询条件自服务端数据库中获取请求数据返回客户端。本专利技术实施例的第三方面,提供了一种服务端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述离线数据获取方法的步骤。本专利技术实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述离线数据获取方法的步骤。本专利技术所述离线数据获取方法及系统、服务器及存储介质,其在基于离线、异步数据计算时间长、完成时间不确定且客户端又频繁请求的场景下,通过将数据离线计算完成的时间戳进行单独提取存储,使客户端和服务端均能够获取到准确的数据更新完成时间,从而减去了客户端或者服务端在数据库中尝试数据的操作,进而减少了时间和资源消耗,使整个系统数据流向更科学,更高效。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的离线数据获取方法的流程框图;图2为本专利技术实施例提供的当客户端为数据尝试方时离线数据获取方法的步骤流程图;图3为本专利技术实施例提供的当服务端为数据尝试方时离线数据获取方法的步骤流程图;图4为本专利技术实施例提供的离线数据获取系统的模块框图;图5为本专利技术实施例提供的数据获取模块的单元框图;图6为本专利技术实施例提供的服务端的结构示意图。具体实施方式为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本专利技术一部分实施例,而非全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路、以及方法的详细说明,以免不必要的细节妨碍本申请的描述。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。如图1所示,本专利技术实施例提供的离线数据获取方法,其包括:S1、设置一第三方数据库作为共享数据库;其中,所述第三方数据库可以选用Redis,因其高吞吐量可以很好的满足性能要求,也可以选用外置到关系型数据库如Mysql。S2、将数据更新的最新有效时间信息从服务端数据库外置到第三方数据库。即保持离线、异步数据计算任务逻辑不变,并在离线计算任务完成时,将数据离线计算完成的时间信息存储至第三方数据库,具体为,将数据离线计算完成后得到的时间戳,将数据离线计算完成时的时间戳作为数据更新的最新有效时间信息写入第三方数据库。如今日有一个离线任务计算昨日全部用户的收益,则写入第三方数据库如redis的最新有效时间信息为:income_data_flag=20180403,其中,“20180403”既可以是任务完成的时间,也可以是有效数据日,如20180403号完成了20180402号的数据统计计算,则最新有效时间信息由“income_data_flag=20180401”更新为:income_data_flag=20180402。每天的离线、异步数据任务完成时,都需要更新第三方数据库如Redis中存储的时间信息为最新有效时间信息,如2018年2月16日时,2月15日的数据还未离线计算完成,则第三方数据库如Redis中保留的仍是2018年2月14日的时间状态,即第三方数据库如Redis中保存的是最新可用的数据日期。S3、自第三方数据库中获取到数据更新的最新有效时间信息,将数据更新的最新有效时间信息当本文档来自技高网...
离线数据获取方法及系统、服务器及存储介质

【技术保护点】
1.一种离线数据获取方法,其特征在于,包括:设置一第三方数据库作为共享数据库;将数据更新的最新有效时间信息从服务端数据库外置到第三方数据库;自第三方数据库中获取到数据更新的最新有效时间信息,将数据更新的最新有效时间信息当作查询条件自服务端数据库中获取请求数据返回客户端。

【技术特征摘要】
1.一种离线数据获取方法,其特征在于,包括:设置一第三方数据库作为共享数据库;将数据更新的最新有效时间信息从服务端数据库外置到第三方数据库;自第三方数据库中获取到数据更新的最新有效时间信息,将数据更新的最新有效时间信息当作查询条件自服务端数据库中获取请求数据返回客户端。2.根据权利要求1所述离线数据获取方法,其特征在于,自第三方数据库中获取到数据更新的最新有效时间信息,将数据更新的最新有效时间信息当作查询条件自服务端数据库中获取请求数据返回客户端包括如下两种情况:在客户端为数据尝试方时,则由客户端通过在第三方数据库中获取到数据更新的最新有效时间信息,并携带所述数据更新的最新有效时间信息向服务端数据库请求,将数据更新的最新有效时间信息当作查询条件自服务端数据库中获取请求数据返回客户端;在服务端为数据尝试方时,则当服务端接受到客户端的请求时,由服务端直接从第三方数据库中获取到数据更新的最新有效时间信息,并将数据更新的最新有效时间信息当作查询条件自服务端数据库中获取请求数据返回客户端。3.根据权利要求1所述离线数据获取方法,其特征在于,将数据离线计算完成时的时间戳作为数据更新的最新有效时间信息。4.根据权利要求1所述离线数据获取方法,其特征在于,所述第三方数据库为Redis数据库或者Mysql数据库。5.一种离线数据获取系统,其特征在于,包括以下功能模块:第三方设置模块,用于设置一第三方数据库作为共享数据库;时间外置模块,用于将数据更新的最新有效时间信息从服务端数据库外置到第三...

【专利技术属性】
技术研发人员:张振铎陈少杰张文明
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1