掌桥专利:专业的专利平台
掌桥专利
首页

数据更新系统和方法、以及存储介质和电子设备

文献发布时间:2023-06-19 13:46:35


数据更新系统和方法、以及存储介质和电子设备

技术领域

本发明涉及计算机技术领域,尤其是一种数据更新系统和方法、以及存储介质和电子设备。

背景技术

数据库(英文名称:Database)是按照数据结构来组织、存储和管理数据的仓库。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用,如mysql、Oracle等。

在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。因此,如何高效、快捷、准确地更新数据库中的数据,从而为上述各系统提供最新的数据,成为了亟待解决的一个问题。

发明内容

本发明要解决的技术问题是如何提高客户端中的数据更新效率,以及如何准确地获取新增数据,并将其更新至客户端中,以提高数据更新效率和减少服务端的运行压力。

为了解决上述技术问题,本发明的实施例提供了一种数据更新系统和方法、以及存储介质和电子设备。

根据本发明实施例的一个方面,提供了一种数据更新系统,该系统包括:客户端、服务端以及包括有请求确认模块和下载数据库的FTP服务器;

所述客户端,用于发起数据更新请求信息;

所述服务端,用于根据所述数据更新请求信息,同时验证用户身份信息和验证所述客户端中的数据是否需要更新,以及将所述服务端中的数据更新至所述下载数据库;

所述请求确认模块,用于在所述服务端验证通过后,向所述客户端发送请求验证信息,以验证所述客户端的数据更新请求信息是否改变;

所述下载数据库,用于在所述请求确认模块验证通过后,将所述下载数据库中的数据更新至所述客户端。

可选地,所述客户端进一步包括:数据更新请求信息生成模块、请求变更确认模块和目标数据库;

所述数据更新请求信息生成模块,用于发起数据更新请求信息;

所述请求变更确认模块,用于根据所述请求验证信息,发送数据更新请求确认信息至所述请求确认模块;

所述目标数据库,用于存储所述下载数据库发送的数据。

可选地,所述服务端进一步包括:用户身份信息验证模块和数据更新验证模块;

所述数据更新请求信息包括:用户身份验证信息和数据更新验证信息;

所述用户身份信息验证模块,用于根据所述用户身份验证信息,验证所述客户端是否具有从所述下载数据库中更新数据的权限;

所述数据更新验证模块,用于根据所述数据更新验证信息,验证所述客户端中的数据是否需要更新。

可选地,所述用户身份信息验证模块根据所述用户身份验证信息,验证所述客户端是否具有从所述下载数据库中更新数据的权限与所述数据更新验证模块根据所述数据更新验证信息,验证所述客户端中的数据是否需要更新分别对应并行的第一线程和第二线程;

当所述第一线程和所述第二线程验证通过时,控制所述请求确认模块向所述客户端发送请求验证信息,以验证所述客户端的数据更新请求信息是否改变;

当所述第一线程和所述第二线程中的任一线程验证不通过时,同时停止对另一线程的验证,并拒绝更新所述客户端中的数据。

可选地,所述服务端还包括:源数据库;所述源数据库,用于存储源数据,并将所述源数据库中的数据更新至所述下载数据库;

或者,在所述下载数据库不从所述服务端更新数据时,所述系统还包括:云端大数据平台,其中,所述云端大数据平台包括源数据库;所述源数据库,用于存储源数据,并将所述源数据库中的数据更新至所述下载数据库。

可选地,所述服务端还包括:预设时间获取模块;所述预设时间获取模块,用于获取预设时间,并控制所述源数据库以所述预设时间为时间间隔,周期性地将所述源数据库中的数据更新至所述下载数据库,或者,用于获取预设时刻,并控制所述源数据库根据所述预设时刻,将所述源数据库中的数据更新至所述下载数据库。

可选地,所述服务端还包括:新增数据提取模块;所述新增数据提取模块,用于分别获取所述下载数据库的第一预设更新数据时间表和所述源数据库的第二预设更新数据时间表;将所述第一预设更新数据时间表中最后更新数据的时间和所述第二预设更新数据时间表中最后更新数据的时间分别作为起始时间和终止时间,提取所述源数据库中的数据作为新增数据;将所述新增数据更新至所述下载数据库。

可选地,所述服务端还包括:源数据更新监测模块;所述源数据更新监测模块,用于监测所述源数据库中的数据是否更新;若所述源数据库中的数据更新,则将所述源数据库中的数据更新至所述下载数据库,或者,在所述源数据库空闲时将所述源数据库中的数据更新至所述下载数据库。

可选地,所述源数据更新监测模块具体用于:获取所述源数据库的第二预设更新数据时间表,并监测所述第二预设更新数据时间表是否更新;若所述第二预设更新数据时间表更新,则将所述源数据库中的数据更新至所述下载数据库,或者,在所述源数据库空闲时将所述源数据库中的数据更新至所述下载数据库。

可选地,所述服务端还包括:数据更新模块;所述数据更新模块,用于分别获取所述下载数据库的第一预设更新数据时间表和所述源数据库的第二预设更新数据时间表,并将所述第一预设更新数据时间表与所述第二预设更新数据时间表进行比较;若所述第一预设更新数据时间表中最后更新数据的时间与所述第二预设更新数据时间表中最后更新数据的时间相同,则不更新所述下载数据库;若所述第一预设更新数据时间表中最后更新数据的时间与所述第二预设更新数据时间表中最后更新数据的时间不相同,则将所述源数据库中的数据更新至所述下载数据库。

可选地,所述数据更新模块还用于:在所述第一预设更新数据时间表中最后更新数据的时间与所述第二预设更新数据时间表中最后更新数据的时间不相同时,将所述第一预设更新数据时间表中最后更新数据的时间和所述第二预设更新数据时间表中最后更新数据的时间分别作为起始时间和终止时间,提取所述源数据库中的数据作为新增数据,并将所述新增数据更新至所述下载数据库。

可选地,所述数据更新验证模块具体用于:获取所述下载数据库的第一预设更新数据时间表,以及根据所述数据更新验证信息,获取第三预设更新数据时间表,并将所述第一预设更新数据时间表与所述第三预设更新数据时间表进行比较;若所述第一预设更新数据时间表中最后更新数据的时间与所述第三预设更新数据时间表中最后更新数据的时间相同,则拒绝更新所述客户端;若所述第一预设更新数据时间表中最后更新数据的时间与所述第三预设更新数据时间表中最后更新数据的时间不相同,则确定所述客户端中的数据需要更新。

可选地,所述数据更新验证模块具体用于:获取所述源数据库的第二预设更新数据时间表,以及根据所述数据更新验证信息,获取第三预设更新数据时间表,并将所述第二预设更新数据时间表与所述第三预设更新数据时间表进行比较;若所述第二预设更新数据时间表中最后更新数据的时间与所述第三预设更新数据时间表中最后更新数据的时间相同,则拒绝更新所述客户端中的数据;若所述第二预设更新数据时间表中最后更新数据的时间与所述第三预设更新数据时间表中最后更新数据的时间不相同,则确定所述客户端中的数据需要更新。

可选地,所述下载数据库还用于:将所述第一预设更新数据时间表中最后更新数据的时间和所述第三预设更新数据时间表中最后更新数据的时间分别作为起始时间和终止时间,提取所述下载数据库中的数据作为新增数据,并将所述新增数据更新至所述客户端。

根据本发明实施例的另一个方面,提供了一种数据更新方法,该方法包括:

发起客户端的数据更新请求信息;

将源数据库中的数据更新至FTP服务器的下载数据库;

服务端根据所述数据更新请求信息,同时验证用户身份信息和验证所述客户端的目标数据库中的数据是否需要更新;

所述FTP服务器在所述服务端验证通过后,向所述客户端发送请求验证信息,以验证所述客户端的目标数据库中的数据更新请求信息是否改变;

在所述FTP服务器的验证通过后,将所述FTP服务器的下载数据库中的数据更新至所述客户端的目标数据库中。

根据本发明实施例的又一个方面,提供了一种计算机可读存储介质,该存储介质存储有计算机程序,该计算机程序用于执行本发明上述任一实施例所述的方法。

根据本发明实施例的又一个方面,提供了一种电子设备,该电子设备包括:处理器;用于存储处理器可执行指令的存储器;处理器,用于从存储器中读取可执行指令,并执行指令以实现本发明上述任一实施例所述的方法。

基于本发明上述实施例提供的数据更新系统和方法、以及存储介质和电子设备,采用并行的双线程同时验证用户身份信息和验证客户端中的数据是否需要更新,缩短了验证时间,提高了验证效率,并且其还能够通过比较第一预设更新数据时间表与第二预设更新数据时间表之间的差别,准确地将源数据库中的新增数据更新至下载数据库中,缩短更新下载数据库的时间,提高效率,同时也能够减少下载数据时为源数据库带来的运行压力,提高下载速度。此外,在服务端验证通过后,FTP服务器可以根据客户端的实时数据更新请求信息来调整是否对其目标数据库进行数据更新,具有对数据更新请求信息的二次确认的过程,这增加了其灵活性,使其更加符合用户的需求,同时能够减少其运行负载,提高运行效率,减少多余的数据更新工作。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1为本发明实施例提供的数据更新系统的一模块结构示意图;

图2为本发明实施例提供的数据更新系统的另一模块结构示意图;

图3为本发明实施例提供的数据更新系统的又一模块结构示意图;

图4为本发明实施例提供的数据更新系统的再一模块结构示意图;

图5a为本发明实施例提供的包括源数据库的数据更新系统的一模块结构示意图;

图5b为本发明实施例提供的包括源数据库的数据更新系统的另一模块结构示意图;

图6为本发明实施例提供的数据更新方法的一流程示意图;

图7为本发明实施例提供的电子设备的结构示意图。

具体实施方式

下面,将参考附图详细地描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。

应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

本领域技术人员可以理解,本发明实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。

还应理解,在本发明实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。

还应理解,对于本发明实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。

另外,本发明中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本发明中字符“/”,一般表示前后关联对象是一种“或”的关系。

还应理解,本发明对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本发明实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

示例性系统

图1为本发明实施例提供的数据更新系统的一模块结构示意图,如图1所示,该系统包括:客户端10、服务端20以及包括有请求确认模块301和下载数据库302的FTP服务器30;客户端10,用于发起数据更新请求信息;服务端20,用于根据数据更新请求信息,同时验证用户身份信息和验证客户端10中的数据是否需要更新,以及将服务端20中的数据更新至下载数据库302;请求确认模块301,用于在服务端10验证通过后,向客户端10发送请求验证信息,以验证客户端10的数据更新请求信息是否改变;下载数据库302,用于在请求确认模块301验证通过后,将下载数据库302中的数据更新至客户端10。

在本实施例中,客户端10发起数据更新请求信息的方式可以为用户通过操作客户端10界面,以触发数据更新请求信息发起命令,从而生成对应的数据更新请求信息;也可以在接收到服务端20主动发送的获取数据更新请求信息后,触发客户端10生成对应的数据更新请求信息,此处不做限定。

在本实施例的一种可选实施方式中,如图2所示,客户端10可进一步包括:数据更新请求信息生成模块101、请求变更确认模块102和目标数据库103;其中,数据更新请求信息生成模块101,用于发起数据更新请求信息;请求变更确认模块102,用于根据请求验证信息,发送数据更新请求确认信息至请求确认模块301;目标数据库103,用于存储下载数据库302发送的数据。

在本实施例另一种可选实施方式中,如图3所示,服务端20进一步包括:用户身份信息验证模块201和数据更新验证模块202;其中,数据更新请求信息包括:用户身份验证信息和数据更新验证信息;用户身份信息验证模块201,用于根据用户身份验证信息,验证客户端是否具有从下载数据库302中更新数据的权限;数据更新验证模块202,用于根据数据更新验证信息,验证客户端10中的数据是否需要更新。

在本实施例中,用户身份信息验证模块201根据用户身份验证信息,验证客户端10是否具有从下载数据库302中更新数据的权限与数据更新验证模块202根据数据更新验证信息,验证客户端10中的数据是否需要更新分别对应并行的第一线程和第二线程;其中,当第一线程和第二线程验证通过时,控制请求确认模块301向客户端10发送请求验证信息,以验证客户端10的数据更新请求信息是否改变;当第一线程和第二线程中的任一线程验证不通过时,同时停止对另一线程的验证,并拒绝更新客户端10中的数据。

由于采用两个并行的线程同时验证客户端10是否具有从下载数据库302中更新数据的权限与验证客户端10中的数据是否需要更新,因此,能够缩短验证过程所花费的时间,提高验证效率。

应当理解的是,图2和图3所示的两种可选实施方式不仅可以单独在图1所示的数据更新系统的基础上实现,也可以结合实现。具体地,如图4所示,客户端10包括:数据更新请求信息生成模块101、请求变更确认模块102和目标数据库103,以及服务端20包括:用户身份信息验证模块201和数据更新验证模块202;其中,数据更新请求信息生成模块101,用于发起数据更新请求信息;请求变更确认模块102,用于根据请求验证信息,发送数据更新请求确认信息至请求确认模块301;目标数据库103,用于存储下载数据库302发送的数据;数据更新请求信息包括:用户身份验证信息和数据更新验证信息;用户身份信息验证模块201,用于根据用户身份验证信息,验证客户端是否具有从下载数据库302中更新数据的权限;数据更新验证模块202,用于根据数据更新验证信息,验证客户端10中的数据是否需要更新。

在本实施例中,为了保证下载数据库302中的数据为最新的数据,以保证下载数据库302更新至目标数据库103中的数据为最新的数据,下载数据库302中的数据的更新来源有两种:第一种来自服务端20,如图1至图4所示;第二种为来自远端大数据平台包括,本领域技术人员可以根据实际需要进行选择,此处不做限定。

具体地,如图5a所示,服务端20还可包括:源数据库203,其用于存储源数据,并将源数据库203中的数据更新至下载数据库302;或者,如图5b所示,在下载数据库302不从服务端20更新数据时,本实施例的系统还可包括:云端大数据平台40,其中,云端大数据平台40包括源数据库(图中未示出),其用于存储源数据,并将云端大数据平台40中的数据更新至下载数据库302。

下载数据库302中的数据更新方式有三种可选实施方式,本领域技术人员可以根据实际需要进行选择,此处不做限定。具体如下三个示例所示:

示例一,在本实施例中,服务端20还可包括:预设时间获取模块(图中未示出);其用于获取预设时间,并控制源数据库以预设时间为时间间隔,周期性地将源数据库中的数据更新至下载数据库,或者,用于获取预设时刻,并控制源数据库根据预设时刻,将源数据库中的数据更新至下载数据库。

示例二,服务端20还可包括:新增数据提取模块(图中未示出);其用于分别获取下载数据库的第一预设更新数据时间表和源数据库的第二预设更新数据时间表,将第一预设更新数据时间表中最后更新数据的时间和第二预设更新数据时间表中最后更新数据的时间分别作为起始时间和终止时间,提取源数据库中的数据作为新增数据,并将新增数据更新至下载数据库。

示例三,服务端20还包括:源数据更新监测模块(图中未示出);其用于监测源数据库中的数据是否更新,若源数据库中的数据更新,则将源数据库中的数据更新至下载数据库,或者,在源数据库空闲时将源数据库中的数据更新至下载数据库。

在示例三中,源数据更新监测模块可具体用于:获取源数据库的第二预设更新数据时间表,并监测第二预设更新数据时间表是否更新,若所述第二预设更新数据时间表更新,则将源数据库中的数据更新至下载数据库,或者,在源数据库空闲时将源数据库中的数据更新至下载数据库。

可选地,源数据库中的数据是指全量数据或者新增数据;其中,全量数据是指源数据库中的全量数据,即全部数据;新增数据是指区别于下载数据库中的数据;本领域技术人员可以根据实际需要选择源数据库中的数据是指全量数据或是指新增数据,此处不做限定。

具体地,若源数据库中的数据是指全量数据,则将源数据库中的数据更新至下载数据库是指将源数据库中的全量数据更新至下载数据库,也就是对下载数据库中的全部数据进行更新;若源数据库中的数据是指新增数据,则将源数据库中的数据更新至下载数据库是指将源数据库中的新增数据更新至下载数据库,也就是对下载数据库更新其没有的新增数据,其他数据保持不变,这种方式不仅能够缩短更新下载数据库的时间,提高效率,也能够减少下载数据时为源数据库带来的运行压力,提高下载速度。

应当理解的是,上述三个示例中,将源数据库中的数据更新至下载数据库的方式都是自动地将源数据库中的数据更新至下载数据库中,当然,本领域技术人员也可以人工将源数据库中的数据更新至下载数据库中,此处不做限定。

在本发明的一种可选实施方式中,服务端20还包括:数据更新模块(图中未示出);其用于分别获取下载数据库的第一预设更新数据时间表和源数据库的第二预设更新数据时间表,并将第一预设更新数据时间表与第二预设更新数据时间表进行比较,若第一预设更新数据时间表中最后更新数据的时间与第二预设更新数据时间表中最后更新数据的时间相同,则不更新下载数据库;若第一预设更新数据时间表中最后更新数据的时间与第二预设更新数据时间表中最后更新数据的时间不相同,则将源数据库中的数据更新至下载数据库。

优选地,在第一预设更新数据时间表中最后更新数据的时间与第二预设更新数据时间表中最后更新数据的时间不相同时,为了使源数据库中的数据能够快速地更新至下载数据库中,数据更新模块还用于:将第一预设更新数据时间表中最后更新数据的时间和第二预设更新数据时间表中最后更新数据的时间分别作为起始时间和终止时间,提取源数据库中的数据作为新增数据,并将新增数据更新至下载数据库,这种方式可以仅将源数据库中的新增数据更新至下载数据库中,降低数据更新系统的运行负载,提高其运行速度。

在本发明上述各实施例中,数据更新验证模块202根据数据更新验证信息,验证客户端10中的数据(即目标数据库103中的数据)是否需要更新的方式有两种,本领域技术人员可以根据实际需要进行选择,此处不做限定。

第一种,获取下载数据库的第一预设更新数据时间表,以及根据数据更新验证信息,获取第三预设更新数据时间表,并将第一预设更新数据时间表与第三预设更新数据时间表进行比较,若第一预设更新数据时间表中最后更新数据的时间与第三预设更新数据时间表中最后更新数据的时间相同,则拒绝更新目标数据库;若第一预设更新数据时间表中最后更新数据的时间与第三预设更新数据时间表中最后更新数据的时间不相同,则确定目标数据库中的数据需要更新。

在该种方式中,为了能够仅将下载数据库302中的新增数据快速地更新至客户端10中,下载数据库302还用于:将第一预设更新数据时间表中最后更新数据的时间和第三预设更新数据时间表中最后更新数据的时间分别作为起始时间和终止时间,提取下载数据库中的数据作为新增数据,并将新增数据更新至目标数据库。

第二种,获取源数据库的第二预设更新数据时间表,以及根据数据更新验证信息,获取第三预设更新数据时间表,并将第二预设更新数据时间表与第三预设更新数据时间表进行比较;若第二预设更新数据时间表中最后更新数据的时间与第三预设更新数据时间表中最后更新数据的时间相同,则拒绝更新目标数据库中的数据;若第二预设更新数据时间表中最后更新数据的时间与第三预设更新数据时间表中最后更新数据的时间不相同,则确定目标数据库中的数据需要更新。

在本发明实施例中,第一预设更新数据时间表用于记录下载数据库更新数据的时间,第二预设更新数据时间表用于记录源数据库更新数据的时间,第三预设更新数据时间表用于记录目标数据库更新数据的时间,三个预设更新数据时间表的具体生成方式,本领域技术人员可以采用现有技术实现,此处不做限定。

以下载数据库为mysql数据库为例,实时监测mysql数据库中是否有insert(插入)、update(更新)、delete(删除)、create(创建)等操作;若有,则记录当前操作时间,并将其记录在第一预设更新数据时间表中;若无,则第一预设更新数据时间表保持不变。

同理,若源数据库为mysql数据库时,实时监测mysql数据库中是否有insert(插入)、update(更新)、delete(删除)、create(创建)等操作;若有,则记录当前操作时间,并将其记录在第二预设更新数据时间表中;若无,则第二预设更新数据时间表保持不变。

同理,若目标数据库为mysql数据库时,实时监测mysql数据库中是否有insert(插入)、update(更新)、delete(删除)、create(创建)等操作;若有,则记录当前操作时间,并将其记录在第三预设更新数据时间表中作为数据更新验证信息发送至服务端进行验证;若无,则第三预设更新数据时间表保持不变,并将其仍作为数据更新验证信息发送至服务端进行验证。

应当注意的是,在本发明各个实施例中涉及的数据更新是指对数据库中记录的数据所作出的任何修改,不限于insert(插入)、update(更新)、delete(删除)、create(创建)等操作对数据库中的数据所作出的修改,而不应当将其局限地理解为如mysql中的update(更新)操作对数据库中的数据所作出的修改。

此外,为了将下载数据库中的新增数据快速地更新至目标数据库中,在将源数据库中的数据更新至下载数据库时,可以分别在第一预设更新数据时间表和第二预设更新数据时间表中分别增加记录新增数据的地址(ID)字段,从而使通过比较第一预设更新数据时间表与第三预设更新数据时间表中最后更新的时间确定目标数据库需要更新后,能够快速地找到对应的新增数据的地址字段,进而能够对其快速地更新。

在本发明实施例中,在服务端10验证通过后,请求确认模块301会向客户端10发送请求验证信息,以验证客户端10的数据更新请求信息是否改变,这种方式,可以根据客户端10的实时数据更新请求信息来调整是否对其目标数据库102进行数据更新,也就是说,其具有对数据更新请求信息的二次确认的过程,这增加了本发明实施例的数据更新系统的灵活性,使其更加符合用户的需求,同时能够减少其运行负载,提高运行效率,减少多余的数据更新工作。

具体地,在服务端10验证通过后,请求确认模块301会向客户端10发送请求验证信息,若客户端10中的数据更新请求信息改变为不需要更新客户端10中的数据,则请求确认模块301会控制下载数据库302停止更新数据至客户端10中;若客户端10中的数据更新请求信息没有发生改变,则请求确认模块301会控制下载数据库302更新数据至客户端10中。

在本发明实施例中,由于采用两个并行的线程同时验证用户身份信息和客户端中数据是否需要更新,因此,能够缩短验证过程所花费的时间,提高验证效率,并且其还能够通过比较第一预设更新数据时间表与第二预设更新数据时间表之间的差别,准确地将源数据库中的新增数据更新至下载数据库中,缩短更新下载数据库的时间,提高效率,同时也能够减少下载数据时为数据更新系统带来的运行压力,提高下载速度。此外,在服务端验证通过后,FTP服务器可以根据客户端的实时数据更新请求信息来调整是否对其目标数据库进行数据更新,具有对数据更新请求信息的二次确认的过程,这增加了其灵活性,使其更加符合用户的需求,同时能够减少其运行负载,提高运行效率,减少多余的数据更新工作。

示例性方法

图6为本发明实施例提供的数据更新方法的一流程示意图。如图6所示,该数据更新方法具体包括以下步骤:

步骤S101:发起客户端的数据更新请求信息;

步骤S102:将源数据库中的数据更新至FTP服务器的下载数据库;

步骤S103:服务端根据数据更新请求信息,同时验证用户身份信息和验证客户端的目标数据库中的数据是否需要更新;

步骤S104:FTP服务器在服务端验证通过后,向客户端发送请求验证信息,以验证客户端的目标数据库中的数据更新请求信息是否改变;

步骤S105:在FTP服务器的验证通过后,将FTP服务器的下载数据库中的数据更新至客户端的目标数据库。

在步骤S101中,客户端发起数据更新请求信息的方式可以为用户通过操作客户端界面,以触发数据更新请求信息发起命令,从而生成对应的数据更新请求信息;也可以在接收到服务端主动发送的获取数据更新请求信息后,触发客户端生成对应的数据更新请求信息,此处不做限定。

在一种可选实施方式中,客户端可以在用户的触发操作下,主动地发送数据更新请求信息至服务端,以使服务端获取该数据更新请求信息,其中,用户的触发操作可以为现有技术中的触发操作,此处不做限定;或者,客户端可以预先设置一个发送请求时间,并以该发送请求时间为时间间隔,如30秒为时间间隔,周期性地发送数据更新请求信息至服务端,以使服务端获取该数据更新请求信息;或者,客户端可以预先设置一个发送请求时间,并以该发送请求时间(如20时,即晚上八点)发送数据更新请求信息至服务端,以使服务端获取该数据更新请求信息。

在另一种可选实施方式中,服务端可以预先设置一个获取请求时间,并以该获取请求时间为时间间隔,如30秒为时间间隔,周期性地向客户端发送获取数据更新请求信息,以触发客户端生成对应的数据更新请求信息;或者,服务端可以预先设置一个获取请求时间,并以该获取请求时间(如20时,即晚上八点)向客户端发送获取数据更新请求信息,以触发客户端生成对应的数据更新请求信息;或者,服务端可以监控下载数据库空闲时,如在下载数据库没有更新数据时,向客户端发送获取数据更新请求信息,以触发客户端生成对应的数据更新请求信息。

应当理解的是,获取请求时间和发送请求时间可以是一个时间段,即时间间隔,也可以是一个时间点,即时刻,本领域技术人员可以根据实际需要进行选择,此处不做限定。

可选地,步骤S102中的源数据库可以为服务端中的源数据库或者云端大数据平台中的源数据库,本领域技术人员可以根据实际需要选择源数据库,此处不做限定。

可选地,源数据库中的数据是指全量数据或者新增数据;其中,全量数据是指源数据库中的全量数据,即全部数据;新增数据是指区别于下载数据库中的数据;本领域技术人员可以根据实际需要选择源数据库中的数据是指全量数据或是指新增数据,此处不做限定。

具体地,若源数据库中的数据是指全量数据,则将源数据库中的数据更新至下载数据库是指将源数据库中的全量数据更新至下载数据库,也就是对下载数据库中的全部数据进行更新;若源数据库中的数据是指新增数据,则将源数据库中的数据更新至下载数据库是指将源数据库中的新增数据更新至下载数据库,也就是对下载数据库更新其没有的新增数据,其他数据保持不变,这种方式不仅能够缩短更新下载数据库的时间,提高效率,也能够减少下载数据时为源数据库带来的运行压力,提高下载速度。

可选地,将源数据库中的数据更新至下载数据库的方式有以下五种:

第一种,获取预设时间,并以预设时间为时间间隔,周期性地将源数据库中的数据更新至下载数据库。

第二种,获取预设时刻,并根据预设时刻,将源数据库中的数据更新至下载数据库。

第三种,监测源数据库中的数据是否更新;若源数据库中的数据更新,则将源数据库中的数据更新至下载数据库。

第四种,监测源数据库中的数据是否更新;若源数据库中的数据更新,则在源数据库空闲时将源数据库中的数据更新至下载数据库。

第五种,分别获取下载数据库的第一预设更新数据时间表和源数据库的第二预设更新数据时间表;比较第一预设更新数据时间表与第二预设更新数据时间表;若第一预设更新数据时间表中最后更新数据的时间与第二预设更新数据时间表中最后更新数据的时间相同,则不更新下载数据库;若第一预设更新数据时间表中最后更新数据的时间与第二预设更新数据时间表中最后更新数据的时间不相同,则将源数据库中的数据更新至下载数据库。

其中,将源数据库中的数据更新至下载数据库的第一种和第二种方式,可具体包括:分别获取下载数据库的第一预设更新数据时间表和源数据库的第二预设更新数据时间表;将第一预设更新数据时间表中最后更新数据的时间和第二预设更新数据时间表中最后更新数据的时间分别作为起始时间和终止时间,提取源数据库中的数据作为新增数据;将新增数据更新至下载数据库。

其中,将源数据库中的数据更新至下载数据库的第三种和第四种方式,可具体包括:获取源数据库的第二预设更新数据时间表;监测第二预设更新数据时间表是否更新;若第二预设更新数据时间表更新,则将源数据库中的数据更新至下载数据库,或者,在源数据库空闲时将源数据库中的数据更新至下载数据库。

其中,在将源数据库中的数据更新至下载数据库的第五种方式中,在若第一预设更新数据时间表中最后更新数据的时间与第二预设更新数据时间表中最后更新数据的时间不相同之后,还包括:将第一预设更新数据时间表中最后更新数据的时间和第二预设更新数据时间表中最后更新数据的时间分别作为起始时间和终止时间,提取源数据库中的数据作为新增数据;将新增数据更新至下载数据库。

应当理解的是,将源数据库中的数据更新至下载数据库的五种方式都是自动地将源数据库中的数据更新至下载数据库中,当然,本领域技术人员也可以人工将源数据库中的数据更新至下载数据库中,此处不做限定。

在本发明实施例中,步骤S101至步骤S105,并不是对步骤顺序的限制,因此将源数据库中的数据更新至下载数据库这一步骤可以在步骤S105之前任一时间完成,也可以在步骤S105中的FTP服务器验证通过后完成,本领域技术人员可以根据实际需要进行选择,对此不做限制。

优选地,步骤S103由并行的两个线程实现,具体为第一线程和第二线程;其中,第一线程用于根据用户身份验证信息,验证客户端的目标数据库是否具有从下载数据库中更新数据的权限;第二线程用于根据数据更新验证信息,验证客户端的目标数据库中的数据是否需要更新;其中,数据更新验证信息包括第三预设更新数据时间表。

可选地,步骤S103,还包括:当第一线程和第二线程验证通过时,FTP服务器向客户端发送请求验证信息,以验证客户端的数据更新请求信息是否改变;当第一线程和第二线程中的任一线程验证不通过时,同时停止对另一线程的验证,并拒绝更新客户端的目标数据库中的数据。

在一种可选实施方式中,第二线程,具体包括:获取下载数据库的第一预设更新数据时间表;根据数据更新验证信息,获取第三预设更新数据时间表;比较第一预设更新数据时间表与第三预设更新数据时间表;若第一预设更新数据时间表中最后更新数据的时间与第三预设更新数据时间表中最后更新数据的时间相同,则拒绝更新客户端;若第一预设更新数据时间表中最后更新数据的时间与第三预设更新数据时间表中最后更新数据的时间不相同,则确定目标数据库中的数据需要更新。

在另一种可选实施方式中,第二线程,具体包括:获取源数据库的第二预设更新数据时间表;根据数据更新验证信息,获取第三预设更新数据时间表;比较第二预设更新数据时间表与第三预设更新数据时间表;若第二预设更新数据时间表中最后更新数据的时间与第三预设更新数据时间表中最后更新数据的时间相同,则拒绝更新目标数据库中的数据;若第二预设更新数据时间表中最后更新数据的时间与第三预设更新数据时间表中最后更新数据的时间不相同,则确定目标数据库中的数据需要更新。

由于采用两个并行的线程同时验证客户端是否具有从下载数据库中更新数据的权限与根据数据更新验证信息,验证客户端的目标数据库中的数据是否需要更新,因此,能够缩短验证过程所花费的时间,提高验证效率。

可选地,FTP服务器验证通过后,将更新后的下载数据库中的数据更新至目标数据库,包括:将第一预设更新数据时间表中最后更新数据的时间和第三预设更新数据时间表中最后更新数据的时间分别作为起始时间和终止时间,提取下载数据库中的数据作为新增数据;将新增数据更新至目标数据库。

在本发明实施例中,第一预设更新数据时间表用于记录下载数据库更新数据的时间,第二预设更新数据时间表用于记录源数据库更新数据的时间,第三预设更新数据时间表用于记录目标数据库更新数据的时间,三个预设更新数据时间表的具体生成方式,本领域技术人员可以采用现有技术实现,此处不做限定。

此外,为了将下载数据库中的新增数据快速地更新至目标数据库中,在将源数据库中的数据更新至下载数据库时,可以分别在第一预设更新数据时间表和第二预设更新数据时间表中分别增加记录新增数据的地址(ID)字段,从而使通过比较第一预设更新数据时间表与第三预设更新数据时间表中最后更新的时间确定目标数据库需要更新后,能够快速地找到对应的新增数据的地址字段,进而能够对其快速地更新。

在本发明实施例中,在服务端验证通过后,FTP服务器会向客户端发送请求验证信息,以验证客户端的目标数据库中的数据更新请求信息是否改变,这种方式,可以根据客户端的实时数据更新请求信息来调整是否对其目标数据库进行数据更新,也就是说,其具有对数据更新请求信息的二次确认的过程,这增加了本发明实施例的数据更新方法的灵活性,使其更加符合用户的需求,同时能够减少其运行负载,提高运行效率,减少多余的数据更新工作。

具体地,在服务端验证通过后,请求确认模块会向客户端发送请求验证信息,若客户端中的数据更新请求信息改变为不需要更新客户端中的数据,则FTP服务器会控制其下载数据库停止更新数据至客户端的目标数据库中;若客户端中的数据更新请求信息没有发生改变,则FTP服务器会控制其下载数据库更新数据至客户端的目标数据库中。

在本发明实施例中,由于采用两个并行的线程同时验证用户身份信息和目标数据库是否具有从下载数据库中更新数据的权限,因此,能够缩短验证过程所花费的时间,提高验证效率,并且其还能够通过比较第一预设更新数据时间表与第二预设更新数据时间表之间的差别,准确地将源数据库中的新增数据更新至下载数据库中,缩短更新下载数据库的时间,提高效率,同时也能够减少下载数据时为源数据库带来的运行压力,提高下载速度。此外,在服务端验证通过后,FTP服务器可以根据客户端的实时数据更新请求信息来调整是否对其目标数据库进行数据更新,具有对数据更新请求信息的二次确认的过程,这增加了其灵活性,使其更加符合用户的需求,同时能够减少其运行负载,提高运行效率,减少多余的数据更新工作。

本发明实施例提供的数据更新方法与本发明实施例提供的数据更新系统相对应,其他描述均可参照对本发明实施例提供的数据更新系统的描述,此处不再赘述。

示例性电子设备

图7为本发明实施例提供的电子设备的结构示意图。该电子设备可以是第一设备和第二设备中的任一者或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。图7图示了根据本公开实施例的电子设备的框图。如图7所示,电子设备70包括一个或多个处理器71和存储器72。

处理器71可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。

存储器72可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器71可以运行所述程序指令,以实现上文所述的本公开的各个实施例的软件程序的对服务器进行压力测试的方法以及/或者其他期望的功能。在一个示例中,电子设备还可以包括:输入装置73和输出装置74,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。

此外,该输入装置73还可以包括例如键盘、鼠标等等。

该输出装置74可以向外部输出各种信息。该输出设备74可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图7中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。

示例性计算机程序产品和计算机可读存储介质

除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的对服务器进行压力测试的方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的对服务器进行压力测试的方法中的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

相关技术
  • 地图数据更新系统、地图数据更新方法、存储地图数据更新程序的计算机可读存储介质
  • 一种工业系统的数据更新方法、电子设备和存储介质
技术分类

06120113807914