发明内容
为克服相关技术中存在的问题,本说明书提供了页面数据处理方法、装置及电子设备。
一种页面数据处理方法,所述页面数据至少包括两类数据,所述至少两类数据具有相同或部分相同的数据源头,每类数据通过调用对应的一种预设服务获取得到,所述方法包括:
按照预设的数据一致性规则对已获取的至少两类数据进行比较,确定所获取的至少两类数据中是否包括有过期数据;
若包括有过期数据,通过所述过期数据对应的服务更新该类数据。
可选的,在按照预设的数据一致性规则对已获取的至少两类数据进行比较前,所述方法还包括:
将已获取数据在页面中进行展示。
可选的,所述至少两类数据展示在同一个页面中。
可选的,在所述若包括有过期数据,通过所述过期数据对应的服务更新该类数据后,还包括:
在所述页面中更新所述过期数据。
可选的,所述数据一致性规则包括如下一种或多种规则:
各类数据的版本信息相同、各类数据的更新次数相同或满足预设函数关系。
可选的,所述至少两类数据对应的预设服务中至少包括一个基于页面数据有限时间预缓存机制的服务。
可选的,所述通过所述过期数据对应的服务更新该类数据,包括:
向所述过期数据对应的服务发起数据更新请求,所述数据更新请求指示所述服务从数据库中获取所述该类数据。
可选的,预先配置有缓存区域,所述数据库中的部分存储数据写入在所述缓存区域中,并按照预设时间间隔进行更新;
所述方法还包括:在从数据库中获取所述该类数据后,更新所述缓存区域中存储数据。
可选的,在所述至少两类数据非同时获取到的情况下,所述按照预设的数据一致性规则对已获取的至少两类数据进行比较的步骤,在所有数据获取到之后执行。
可选的,在包括有多类数据,且所述多类数据非同时获取到的情况下,所述按照预设的数据一致性规则对已获取的至少两类数据进行比较的步骤,在获取到所有数据中的部分数据之后执行。
一种页面数据处理装置,所述页面数据至少包括两类数据,所述至少两类数据具有相同或部分相同的数据源头,每类数据通过调用对应的一种预设服务获取得到,所述装置包括:
比较模块,用于:按照预设的数据一致性规则对已获取的至少两类数据进行比较,确定所获取的至少两类数据中是否包括有过期数据;
更新模块,用于:若包括有过期数据,通过所述过期数据对应的服务更新该类数据。
可选的,还包括展示模块,用于:在按照预设的数据一致性规则对已获取的至少两类数据进行比较前,将已获取数据在页面中进行展示。
可选的,所述至少两类数据展示在同一个页面中。
可选的,所述展示模块,还用于:在所述若包括有过期数据,通过所述过期数据对应的服务更新该类数据后,在所述页面中更新所述过期数据。
可选的,所述数据一致性规则包括如下一种或多种规则:
各类数据的版本信息相同、各类数据的更新次数相同或满足预设函数关系。
可选的,所述至少两类数据对应的预设服务中至少包括一个基于页面数据有限时间预缓存机制的服务。
可选的,所述更新模块,还用于:
向所述过期数据对应的服务发起数据更新请求,所述数据更新请求指示所述服务从数据库中获取所述该类数据。
可选的,预先配置有缓存区域,所述数据库中的部分存储数据写入在所述缓存区域中,并按照预设时间间隔进行更新;
所述更新模块,还用于:在从数据库中获取所述该类数据后,更新所述缓存区域中存储数据。
可选的,在所述至少两类数据非同时获取到的情况下,所述比较模块中的按照预设的数据一致性规则对已获取的至少两类数据进行比较,在所有数据获取到之后执行。
可选的,在包括有多类数据,且所述多类数据非同时获取到的情况下,所述比较模块中的按照预设的数据一致性规则对已获取的至少两类数据进行比较,在获取到所有数据中的部分数据之后执行。
一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
所述页面数据至少包括两类数据,所述至少两类数据具有相同或部分相同的数据源头,每类数据通过调用对应的一种预设服务获取得到;
按照预设的数据一致性规则对已获取的至少两类数据进行比较,确定所获取的至少两类数据中是否包括有过期数据;
若包括有过期数据,通过所述过期数据对应的服务更新该类数据。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书中,对于页面中具有关联的至少两类数据,可以预先确定反映数据之间关联关系的数据一致性规则,对于已获取的至少两类数据,可以判断是否满足预设关联关系,从而可以确定是否包括有过期数据,及时发现页面数据不一致的问题,并可以实现主动更新。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能类合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在很多情况下,页面中可能需要展示多条数据,出于页面UI设计要求、系统架构复杂度、扩展性和系统性能等考虑,页面可以划分多个模块分别展示多条数据,各条数据可以调用不同的服务而获取得到。由于是通过不同服务获取的多条数据,各条数据的获取时刻则有可能不同。这些不同时刻获取的数据有可能出现数据不对应、页面展示数据出现错误等问题。
以理财平台场景为例,理财平台提供有用户资产页面以展示用户资产数据,该用户资产页面可以提供有“用户总览”和“资产明细列表”,其中,“用户总览”涉及用户的总资产数据,可以包括资产总金额,“资产明细列表”涉及用户的一笔或多笔资产的明细。如图1A所示,是本说明书根据一示例性实施例示出的用户资产页面的示意图,此类页面的数据涉及用户资产,因此用户对数据的敏感度较高、数据准确度要求也较高。图1A中,理财客户端的资产页面中,可以分别调用理财系统的“资产统计查询”、“资产列表查询”服务分别获得上述两类数据。由于两次数据获取需要调用两个服务,调用服务的时刻可能不是同时发生,数据的获取时刻也可能不同,因此总览和明细可能出现数据不一致的情况。
具体的,如图1B所示,是本说明书根据一示例性实施例示出的用户资产页面数据获取示意图,用户可以通过浏览器访问页面,或者是通过客户端打开页面。此时,浏览器或APP向服务端发起两次请求,分别请求总资产数据和资产列表数据。服务端根据请求,分别调用资产系统的“总览”、“资产列表”查询服务获得对应数据。在两次调用之间,假设数据发生变化,则页面数据会出现不一致。举例来说,用户资产列表数据涉及3笔理财资产,每笔理财资产都是一万元,用户的总资产即三万元。由于总资产数据的查询服务和资产列表数据的查询服务可能不是同时发生,数据获取时刻也可能不同。假设总资产数据的查询服务获取到总资产数据(三万元)之后,刚好有一笔理财资产到期,理财资产数据发生变更,而资产列表数据的查询服务获取到的是两笔资产。由此可见,资产页面展示的总资产(三万元)和资产列表(两笔资产,每笔一万)将会出现不一致的情况。
页面将会展示出上述两类不一致的数据,对于这些存在关联的数据,用户可能会发现数据之间不一致,因此用户可能会刷新页面,以重新查询最新数据,解决数据错误的问题。可以理解,此时页面又重新向服务端发起了数据请求,服务端需要分配资源处理该数据请求,从而导致了服务端处理资源的无效消耗。
本说明书实施例所提供的方案,对于页面中具有关联的至少两类数据,可以预先确定反映数据之间关联关系的数据一致性规则,对于已获取的至少两类数据,可以判断是否满足预设关联关系,从而可以确定是否包括有过期数据,及时发现页面数据不一致的问题,并可以实现主动更新。
本说明书实施例的方案,可应用于涉及页面数据处理的场景中,此类场景中可能涉及一个或多个页面,页面数据中可以包括两类或两类以上数据,数据之间可以具有相同或部分相同的数据源头,因此数据之间具有一定关联,每类数据分别对应一种服务,由不同的服务获取得到。举例来说,在电子商务场景中,服务方可以向用户提供订单展示页面,该页面中可以涉及至少两类数据,一类是有关订单总量数据,可以包括一段时间内的订单总量或订单总金额等信息,一类是有关订单明细数据,例如每笔订单的明细等等。订单总量数据中的信息由订单明细数据中的多笔订单信息构成,订单总量数据和订单明细数据分别由不同的服务获取得到。上述场景可以应用本说明书实施例所提供的方案进行页面数据处理,以防止数据不对应、页面展示数据出现错误等问题。
在另一些例子中,本说明书的页面数据处理方案还可以应用于账务处理等相关场景,例如,用于展示账务数据的页面可能涉及一类总账数据、一类或多类分账数据,总账数据和分账数据之间存在关联关系,总账数据和分账数据分别通过调用对应的一种预设服务获取得到,应用该方案,可以防止总账数据和分账数据不对应、页面展示数据出现错误等问题。
在其他例子中,本说明书的页面数据处理方案还可以应用于金融数据处理等相关领域,例如,用于展示资产数据的页面可能涉及一类总资产数据、一类或多类子资产数据,总资产数据和子资产数据之间存在关联关系,总资产数据和子资产数据分别通过调用对应的一种预设服务获取得到,应用该方案,可以防止总资产数据和子资产数据不对应、页面数据出现错误等问题。
实际应用场景中,通常可以是服务端向终端设备提供页面数据,由终端设备展示页面数据,因此,在一些例子中,本实施例方案可以是由服务端执行,服务端根据终端设备的数据请求获取数据,对所获取到的各类数据是否过期进行判断,以向终端设备提供准确的数据。在其他例子中,本实施例方案也可以是由终端设备执行,终端设备从服务端处请求并获得数据后,对所获取到的各类数据是否过期进行判断,以获得准确的数据。可选的,若终端设备采用浏览器访问页面,本实施例方案的具体实现可以是一配置在浏览器中的插件;若终端设备采用客户端访问页面,本实施例方案的具体实现可以是一内置在客户端中的模块。接下来对该方案进行详细说明。
如图2所示,是本说明书根据一示例性实施例示出的页面数据处理方法的流程图,本实施例中,所述页面数据至少包括两类数据,所述至少两类数据具有相同或部分相同的数据源头,每类数据通过调用对应的一种预设服务获取得到,所述方法包括:
在步骤202中,按照预设的数据一致性规则对已获取的至少两类数据进行比较,确定所获取的至少两类数据中是否包括有过期数据;
在步骤204中,若包括有过期数据,通过所述过期数据对应的服务更新该类数据。
本说明书实施例中,由于具有相同或部分相同数据源头的数据,各数据之间存在一定关联,基于此,本实施例可以根据数据之间的关联性预先设定数据一致性规则,具体的数据一致性规则可以结合具体应用场景而灵活配置。举例来说,在一些例子中,由于每类数据中具有相同或部分相同的数据源头,因此,可以根据数据源头的版本,为各类数据配置版本信息。在不同服务获取数据之间,若数据源头未发生变化,则各类数据之间的版本信息相同;若不同服务获取数据之间数据源头发生变化,则各类数据之间的版本信息不同;因此,可以采用版本信息作为数据一致性的判断标准。
在其他例子中,可以根据数据源头的更新次数,为各类数据配置更新次数信息。在不同服务获取数据之间,若数据源头未发生变化,则各类数据之间的更新次数相同;若不同服务获取数据之间数据源头发生变化,则各类数据之间的更新次数不同;因此,可以采用更新次数作为数据一致性的判断标准。
在另一些例子中,数据中涉及数值,数值之间满足某些函数函数,例如前述的总资产数据和资产列表数据,总资产是各笔子资产的和值。对于此类情况,可以设定数据之间的函数关系,采用函数关系作为数据一致性的判断标准。
可以理解,本实施例中页面数据可以有两类或两类以上数据,在一些例子中,在所述至少两类数据非同时获取到的情况下,所述按照预设的数据一致性规则对已获取的至少两类数据进行比较的步骤,在所有数据获取到之后执行。本实施例中,可以是所有数据都获取后再执行数据的比较,对于确定过期的一类或多类数据,可以同时执行更新。
在另一些例子中,在包括有多类数据,且所述多类数据非同时获取到的情况下,所述按照预设的数据一致性规则对已获取的至少两类数据进行比较的步骤,在获取到所有数据中的部分数据之后执行。本实施例中,在有多类数据的情况下,可以是在获取有两类数据之后,即可进行数据一致性的比较,例如可以在每次新获取到数据后,对已获取的数据进行比较,从而可以迅速地确定过期数据。
为了使用户更为快速地查阅数据,本实施例中,在按照预设的数据一致性规则对已获取的至少两类数据进行比较前,将已获取数据在页面中进行展示,可选的,可以是每个预设服务获取对于数据后,即可将数据在页面中进行展示。
为了提高数据访问效率,本实施例中,所述至少两类数据对应的预设服务中可以至少包括一个基于页面数据有限时间预缓存机制的服务。可选的,服务方也有可能采用缓存技术读取数据。举例来说,数据库中某些常用数据可以写入在缓存区域中,以满足高并发查询的速度需求、以及减少数据库的查询次数等等需求。然而,缓存区域中的数据可能是按照预设时间间隔(例如间隔5分钟)进行刷新,而这个时间间隔内,数据库中数据可能发生了更新,但缓存区域中仍存储着过期的失效数据。此种情况下,假设总资产数据的查询服务是从缓存区域中数据查询到的,当用户重新刷新页面,该服务查询到的数据仍是过期数据,页面中仍然无法展示最新的正确数据。因此,在一个可选的实现方式中,所述通过所述过期数据对应的服务更新该类数据,包括:
向所述过期数据对应的服务发起数据更新请求,所述数据更新请求指示所述服务从数据库中获取所述该类数据,本实施例中,数据更新请求指示服务直接从数据库中获取该类数据,以实现数据更新,从而可以保证获取到最新数据。
进一步的,还可以在从数据库中获取所述该类数据后,更新所述缓存区域中存储数据,从而实现缓存刷新,使缓存区域中也可以存储最新数据。
当获得最新数据后,若页面中显示了过期数据,本实施例还可以及时在所述页面中更新所述过期数据。
接下来以账务处理场景为例对本说明书实施例再次进行说明。如图3A所示,是根据一示例性实施例示出的一种页面数据处理的架构示意图。本实施例中的页面数据处理方法具体可以采用一数据一致性校验装置实现,该装置可以配置于服务侧的设备中,后台系统维护有各类数据获取服务,并基于终端设备的请求,从账务云数据中获取满足请求的各类数据。另一方面,由于数据一致性校验装置涉及数据一致性规则等参数的配置,可选的还可以包括装置参数配置中心,用于技术人员在需要时对数据一致性校验装置的参数进行配置。
其中,数据一致性校验装置可以管理数据获取结果,本实施例中,可以对需要进行一致性判断的各类数据配置版本信息。当装置接收到所述预设服务获取的数据后,可以基于版本信息进行是否过期的判断。若识别某些数据过期后,可以主动通过预设服务更新数据,并进行页面刷新,可选的还可以提示用户。
如图3B所示,是根据一示例性实施例示出的另一种页面数据处理的流程图,本实施例可以在页面设计完成后,分析各类数据之间的关联,并设置数据一致性规则,例如版本信息、更新次数或数据之间函数关系等等。以版本信息为例,可以对需要管控的各类数据添加版本信息。当一笔作为数据源头的资产数据发生变动后,可以更新其版本信息。可选的,版本信息可设置为最新时间戳。例如我的资产页面上,若总资产数据的版本较旧,则装置向对应服务发起总览数据更新请求,在获取到新数据后,刷新页面总览模块,同时刷新系统缓存。若总览版本较新,则无需更新总览。
具体的,若用户通过终端设备中的浏览器访问“我的资产”页面,调用总览查询服务[步骤1.1],获取总览数据[步骤1.2、1.3]后,页面获得并展示数据[步骤1.4]。同时,浏览器调用列表查询服务[步骤2.1],获取列表数据[步骤2.2、2.3],页面获得并展示数据[步骤2.4]。获得列表数据[步骤2.4]后,可以同时调用数据校验器[步骤3.1]。对比总览数据和列表数据的版本信息,若总览版本较低,则发起请求刷新页面[步骤3.2],后台读取最新数据并将缓存数据更新[步骤3.3、3.4]。最后展示最新数据,页面显示提示[步骤3.5]。
与前述页面数据处理方法的实施例相对应,本说明书还提供了页面数据处理装置及其所应用的终端的实施例。
本说明书页面数据处理装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在文件处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本说明书页面数据处理装置所在计算机设备的一种硬件结构图,除了图4所示的处理器410、内存430、网络接口420、以及非易失性存储器440之外,实施例中装置431所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
如图5所示,图5是本说明书根据一示例性实施例示出的一种页面数据处理装置的框图,所述页面数据至少包括两类数据,所述至少两类数据具有相同或部分相同的数据源头,每类数据通过调用对应的一种预设服务获取得到,所述装置包括:
比较模块51,用于:按照预设的数据一致性规则对已获取的至少两类数据进行比较,确定所获取的至少两类数据中是否包括有过期数据;
更新模块52,用于:若包括有过期数据,通过所述过期数据对应的服务更新该类数据。
可选的,还包括展示模块,用于:在按照预设的数据一致性规则对已获取的至少两类数据进行比较前,将已获取数据在页面中进行展示。
可选的,所述至少两类数据展示在同一个页面中。
可选的,所述展示模块,还用于:在所述若包括有过期数据,通过所述过期数据对应的服务更新该类数据后,在所述页面中更新所述过期数据。
可选的,所述数据一致性规则包括如下一种或多种规则:
各类数据的版本信息相同、各类数据的更新次数相同或满足预设函数关系。
可选的,所述至少两类数据对应的预设服务中至少包括一个基于页面数据有限时间预缓存机制的服务。
可选的,所述更新模块,还用于:
向所述过期数据对应的服务发起数据更新请求,所述数据更新请求指示所述服务从数据库中获取所述该类数据。
可选的,预先配置有缓存区域,所述数据库中的部分存储数据写入在所述缓存区域中,并按照预设时间间隔进行更新;
所述更新模块,还用于:在从数据库中获取所述该类数据后,更新所述缓存区域中存储数据。
可选的,在所述至少两类数据非同时获取到的情况下,所述比较模块中的按照预设的数据一致性规则对已获取的至少两类数据进行比较,在所有数据获取到之后执行。
可选的,在包括有多类数据,且所述多类数据非同时获取到的情况下,所述比较模块中的按照预设的数据一致性规则对已获取的至少两类数据进行比较,在获取到所有数据中的部分数据之后执行。
相应的,本说明书还提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
所述页面数据至少包括两类数据,所述至少两类数据具有相同或部分相同的数据源头,每类数据通过调用对应的一种预设服务获取得到;
按照预设的数据一致性规则对已获取的至少两类数据进行比较,确定所获取的至少两类数据中是否包括有过期数据;
若包括有过期数据,通过所述过期数据对应的服务更新该类数据。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。