数据管理系统、数据更新方法及装置与流程

未命名 07-27 阅读:122 评论:0


1.本说明书实施例属于计算机领域,尤其涉及一种数据管理系统、数据更新方法及装置。


背景技术:

2.在一些场景下,针对存储端所维护的一份原始文件,多个访问端可能存在同时访问的需求。为了满足上述需求,相关技术中的存储端通常会为原始文件创建多个副本,以便各个访问端分别加载不同副本并实施相应的读/写操作,从而实现对同一原始内容的并行访问。
3.但是,由于相关技术中的原始文件及其每一副本可以被一个访问端所加载,所以在存在n个访问端需要访问同一原始文件的情况下,需要为该原始文件创建n-1个副本,可见该方式需要维护共n份原始文件及其副本,因此会严重占用存储端的存储资源。另外,由于原始文件的各个副本通常预先创建,因此对于访问端的数量也会造成限制:若存储端为原始文件创建的n-1个副本已经被n-1个访问端分别加载,则对于第n+1个访问端(及其之后的访问端)而言,访问端在接收到其发出的加载请求后,需要为其临时创建相应的第n个副本,而第n+1个访问端需要等待该副本创建完成才能开始对其进行加载和访问,影响了该访问端的加载速度和首次访问速度。特别是在原始文件的数据量较大的情况下,存储资源的占用问题以及访问端的等待问题都会更加严重。


技术实现要素:

4.有鉴于此,本说明书一个或多个实施例提供一种数据管理系统、数据更新方法及装置。
5.为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
6.根据本说明书一个或多个实施例的第一方面,提出了一种数据管理系统,包括数据存储端和多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,其中,
7.任一第一类访问端,用于响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据,并对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存;
8.所述数据存储端,用于根据数据更新合并结果更新所述第一原始数据,且用于生成所述数据更新合并结果的数据来源包括所述多个第一类访问端分别缓存的第一已更新数据。
9.根据本说明书一个或多个实施例的第二方面,提出了一种数据更新方法,应用于数据管理系统所含多个第一类访问端中的任一第一类访问端,所述数据管理系统还包括数据存储端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述方法包括:
10.响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据;
11.对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存,其中,所述多个第一类访问端分别缓存的第一已更新数据用于作为数据来源生成数据更新合并结果,以使所述数据存储端根据所述数据更新合并结果更新所述第一原始数据。
12.根据本说明书一个或多个实施例的第三方面,提出了一种数据更新方法,应用于数据管理系统中的数据存储端,所述数据管理系统还包括多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述方法包括:
13.将所述多个第一类访问端分别缓存的第一已更新数据作为数据来源生成数据更新合并结果,其中,任一第一类访问端缓存的第一已更新数据由所述任一第一类访问端基于通过只读方式读取已加载的所述第一原始数据生成,所述第一原始数据由所述任一第一类访问端响应于针对所述第一原始数据的访问请求加载;
14.根据所述数据更新合并结果更新所述第一原始数据。
15.根据本说明书一个或多个实施例的第四方面,提出了一种数据更新装置,应用于数据管理系统所含多个第一类访问端中的任一第一类访问端,所述数据管理系统还包括数据存储端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述装置包括:
16.原始数据加载单元,用于响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据;
17.已更新数据缓存单元,用于对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存,其中,所述多个第一类访问端分别缓存的第一已更新数据用于作为数据来源生成数据更新合并结果,以使所述数据存储端根据所述数据更新合并结果更新所述第一原始数据。
18.根据本说明书一个或多个实施例的第五方面,提出了一种数据更新装置,应用于数据管理系统中的数据存储端,所述数据管理系统还包括多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述装置包括:
19.合并结果生成单元,用于将所述多个第一类访问端分别缓存的第一已更新数据作为数据来源生成数据更新合并结果,其中,任一第一类访问端缓存的第一已更新数据由所述任一第一类访问端基于通过只读方式读取已加载的所述第一原始数据生成,所述第一原始数据由所述任一第一类访问端响应于针对所述第一原始数据的访问请求加载;
20.原始数据更新单元,用于根据所述数据更新合并结果更新所述第一原始数据。
21.根据本说明书一个或多个实施例的第六方面,提出了一种电子设备,包括:
22.处理器;
23.用于存储处理器可执行指令的存储器;
24.其中,所述处理器通过运行所述可执行指令以实现如第三方面或第四方面中任一项所述的方法。
25.根据本说明书一个或多个实施例的第七方面,提出了一种计算机可读存储介质,
其上存储有计算机指令,该指令被处理器执行时实现如第三方面或第四方面中任一项所述方法的步骤。
26.在本方案中,数据管理系统包括数据存储端和多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限。其中任一第一类访问端,用于响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据,并对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存;而所述数据存储端,用于根据数据更新合并结果更新所述第一原始数据,且用于生成所述数据更新合并结果的数据来源包括所述多个第一类访问端分别缓存的第一已更新数据。
27.可以理解的是,因为数据管理系统中的多个第一类访问端分别具有针对第一原始数据的共享只读权限,且各个第一类访问端分别通过只读方式读取已加载的所述第一原始数据,所以各个第一类访问端能够访问相同的原始内容(即第一原始数据所包含的原始内容)。而各个第一类访问端在更新自身加载的第一原始数据时(更新过程通常涉及写入操作)并不会直接对该数据实施写入操作,而是基于读取到的该数据生成第一已更新数据并对其进行缓存,从而避免了各个第一类访问端分别写入可能造成的数据混乱;另外,由数据存储端根据基于多个第一类访问端分别缓存的第一已更新数据生成的数据更新合并结果更新所述第一原始数据,能够综合各个第一类访问端的更新结果对该数据做出最后的实际更新。
28.可见,本方案由各个第一类访问端通过只读方式读取已加载的第一原始数据并各自缓存自身生成的第一已更新数据,进而由数据存储端根据各个第一类访问端分别缓存的第一已更新数据对第一原始数据进行更新,实现了对该数据有序、可靠的更新。由此可见,无论存在多少第一类访问端需要同时访问原始内容,数据存储端都只需维护第一原始数据,即可满足这些第一类访问端的访问需求,不仅有效减少了原始数据所占的存储空间,节省了数据存储端的存储资源;而且因为各个第一类访问端分别加载并通过只读方式读取第一原始数据,所以无论第一原始数据当前已经被多少第一类访问端所加载,最新的第一类访问端都可以直接加载并通过只读方式读取该数据而无需等待,显著提升了后来的第一类访问端对第一已更新数据的加载速度及其对原始内容的首次访问速度。显然,在第一原始文件的数据量较大的情况下,本方案对于存储资源的占用问题以及访问端的等待问题的解决效果将更加显著。
附图说明
29.图1是相关技术中访问数据的过程示意图。
30.图2是一示例性实施例提供的一种数据管理系统的架构示意图。
31.图3是一示例性实施例提供的一种访问数据的过程示意图。
32.图4是一示例性实施例提供的另一种访问数据的过程示意图。
33.图5是一示例性实施例提供的一种数据更新方法的示意图。
34.图6是一示例性实施例提供的另一种数据更新方法的示意图。
35.图7是一示例性实施例提供的一种设备的结构示意图。
36.图8是一示例性实施例提供的一种数据更新装置的框图。
37.图9是一示例性实施例提供的另一种数据更新装置的框图。
具体实施方式
38.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
39.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
40.如前所述,相关技术中的存储端通常会为原始文件创建多个副本,以便各个访问端分别加载不同副本并实施相应的读/写操作,从而实现对同一原始内容的并行访问。
41.以云桌面服务为例,不妨假设某一用户的个人信息(即原始内容)被记录在原始文件中,该文件由nas(network attached storage,网络附属存储)设备所维护,该用户使用自身的用户账号同时登录的多个云服务器都需要访问所述个人信息。其中,所述云服务器可以为iaas(infrastructure as a service,基础设置即服务)级别云计算服务,可以用于向用户提供弹性可扩展服务,有助于提升云服务资源的利用效率。参见图1所示,对于原始文件master,nas设备可以为其创建多个副本,如duplicate1和duplicate2。基于此,用户登录的多个(不妨假设为3个,即n=3)云服务器实例(instance)可以分别加载并访问不同的文件,如instance1访问master、instance2和instance3分别访问duplicate1和duplicate2。另外,各个文件之间的“sync”用于标识各个文件之间会进行数据同步,例如在instance3登出(即用户退出对instance3的登录状态)时,可以将instance3对duplicate2做出的改动更新至master和duplicate1中,不再赘述。
42.可见,相关技术中的原始文件及其每一副本可以分别被一个instance所加载,所以在存在3个instance需要访问同一个人信息的情况下,需要为该原始文件创建至少两个副本,可见该方式中的nas设备需要维护共3份数据(即原始文件及其两个副本),因此会严重占用存储端的存储资源。另外,由于上述副本duplicate1和duplicate2通常是预先创建的,因此对于instance的数量也会造成限制:若nas为master创建的2个副本已经被instance2和instance3分别加载,则在所述用户之后继续登录新的instance4(甚至instance5、instance6等)的情况下,nas在接收到新的instance发出的数据加载请求后,需要为其临时创建相应的第3个副本(即duplicate3),而instance4需要等待该副本创建完成才能开始对其进行加载和访问,影响了该instance4对的启动速度和对于所述个人信息的首次访问速度。特别是在master的数据量较大的情况下,对nas存储资源的占用问题以及instance4的等待问题都会更加严重。
43.针对相关技术中存在的上述问题,本说明书提出一种数据更新方案,由数据存储端维护包含原始内容的第一原始数据,并由分别具有针对第一原始数据的共享只读权限的
多个第一类访问端分别通过只读方式读取已加载的该原始数据,并对基于该原始数据生成的第一已更新数据进行缓存(而非对该原始数据实时更新),从而减少数据存储端需要维护的原始内容所对应数据的数量。下面结合附图对该方法进行详细说明。
44.图2是一示例性实施例提供的一种数据管理系统的架构示意图。该系统可以包括数据存储端21,若干服务器,如服务器22~24(即服务器22、服务器23和服务器24,下同)等。
45.其中,所述系统可以包括多个第一类访问端,例如,服务器22~24可以分别作为第一类访问端。所述数据存储端21可以维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对第一原始数据的共享只读权限,可以通过只读方式分别读取已加载的所述第一原始数据。所述数据管理系统中的任一服务器可以为包含一独立主机的物理服务器,或者也可以为主机集群承载的虚拟服务器、云服务器等。所述数据存储端21可以为任意形式,如可以为结构化或非结构化数据库,也可以为前述nas设备等,本说明书一个或多个实施例并不对此进行限制。
46.在本说明书实施例中,所述数据存储端用于维护包含原始内容的第一原始数据,而所述多个第一类访问端可以分别通过只读方式读取所述第一原始数据,不同第一类访问端对该数据的读取操作可以并行进行,因此可以实现多个第一类访问端对原始内容的同时访问。
47.其中,该系统可以应用于多种场景,相应的,所述数据存储端和第一类访问端可以具有多种形式。例如,在数据存储端为服务端对应的数据库、第一类访问端为该服务端对应的多个客户端的情况下,所述多个客户端可以分别独立访问该数据库中存储的公共数据(如该服务端所支持应用程序的基础组件等)。
48.再例如,所述数据管理系统也可以应用于云桌面场景。云桌面又称桌面虚拟化、云电脑等,是替代传统本地计算机的计算模式:用户无需购买电脑主机,主机运行所需的cpu、内存、硬盘等组件可以由云桌面服务器的资源通过虚拟化技术实现并提供。用户可是使用任意形式的终端设备作为云桌面客户端,通过网络连接至所述云桌面服务器,二者相互配合即构成云桌面场景下的完整计算机。
49.所述数据管理系统还可以包括若干电子设备,如手机25~27等,任一手机中可以运行有客户端程序,从而将该手机实现为云桌面系统中的云桌面客户端。所述云桌面客户端本质上可以为应用程序,该应用程序可以被预先安装在手机上,使得该客户端可以在该终端设备上被启动并运行;当然,当使用诸如html5技术的在线“客户端”时,无需在手机上安装相应的应用程序,即可获得并运行该客户端。另外,手机25~27只是用户可以使用的一种类型的电子设备。用户还可以使用诸如下述类型的电子设备:平板设备、笔记本电脑、掌上电脑(pdas,personal digital assistants)、可穿戴设备(如智能眼镜、智能手表等)、vr(virtual reality,虚拟现实)设备、ar(augmented reality,增强现实)设备等。其中,作为应用客户端的电子设备可以包括控制模组、通信模组、显示器、键盘、鼠标等硬件,以便用户通过上述硬件与应用服务端实现信息交互。实际上,用户还可以使用云桌面专用设备,如该设备中可以预装有云桌面客户端,用户只需要为该设备连接相应的输入/输出设备,即可通过实施相应的操作,利用所述云桌面客户端访问相应的云桌面服务端中运行的应用,享受该设备提供的云桌面服务。
50.同时,服务器24中可以部署有云桌面实例,基于在该实例中运行的应用(即app,
application,应用程序)或者在服务器22和/或服务器23中运行的应用,服务器24可以作为云桌面服务端为手机25~27等电子设备提供云桌面服务,以便用户控制运行上述应用。可见,服务器24中运行的云桌面实例可以作为服务端程序,所述任一虚拟机通过运行该程序可以将自身实现为云桌面系统中的服务端。
51.对于服务器24而言,其中运行的云桌面实例可以集成该实例中部署的应用,也可以集成其他服务器(如服务器22~23)中部署的应用。任一用户通过手机登录服务器24中运行的云桌面实例后,可以控制启动该实例中集成的各个应用,从而实现对各个应用分别所处服务器的登录;换言之,用户通过云桌面实例启动任一应用,即可视为该用户登录至该应用所属的服务器。显然,所述用户可以同时登录多个服务器。
52.对于任一手机的用户而言,数据存储端21可以用于维护该用户在使用云桌面服务的过程中产生的账户信息、历史数据等原始内容,例如可以维护有包含这些原始内容的第一原始数据,而前述服务器22~24则可能需要同时访问这些原始内容,即多个服务器存在同时访问同一原始内容的需求。例如,在服务器24中可以部署有云桌面实例,该实例中集成有本地部署的app1、服务器22部署的app2和服务器23部署的app3等应用,手机25的用户在通过该手机登录所述云桌面实例后,可以控制运行所述app1~3,此时服务器22~24需要分别访问数据存储端21所存储的上述第一原始数据,以便获取所述原始内容为该用户提供相应服务,此时服务器22~24即相当于针对原始内容存在共同访问需求的多个第一访问端。
53.本说明书对于任一应用所能够实现的具体功能并不进行限制,例如,所述应用可以包括办公应用、购物应用、支付应用、即时通信应用和/或音乐应用等,不再赘述。
54.本说明书提出一种数据管理系统,用于对包含原始内容的第一原始数据进行管理和更新。如前所述,该系统包括数据存储端和多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对第一原始数据的共享只读权限。
55.其中,任一第一类访问端,用于响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据,并对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存;
56.所述数据存储端,用于根据数据更新合并结果更新所述第一原始数据,且用于生成所述数据更新合并结果的数据来源包括所述多个第一类访问端分别缓存的第一已更新数据。
57.需要说明的是,所述原始内容可以为任意形式的信息、数据或指令等,本说明书并不对此进行限制。对于被存储的第一原始数据而言,相关方可以对其实施读取操作和/或写入操作。如对于第一类访问端而言,其访问原始内容的过程,即包括对第一原始数据实施读取操作(即读取该数据)的过程。所述共享只读权限可以由数据存储端为第一原始数据设置,如在数据存储端的操作系统为windows系统的情况下,可以通过该操作系统提供的minifilter驱动将第一原始数据的访问方式设置为共享方式。当然,本说明书所述数据存储端(以及任一第一类访问端)的操作系统也可以为ios、linux、unix等,本说明书并不对此进行限制。
58.在访问原始内容之前,各个第一类访问端需要先加载第一原始数据,如任一第一类访问端可以在启动过程中或启动完成后加载第一原始数据,也可以在用户登录过程中或
登录完成后加载第一原始数据。以用户登录为例,在某一用户登录任一第一类访问端的情况下,所述任一第一类访问端可以根据该用户的身份信息确定第一原始数据的访问地址并据此进行加载;也可以将该用户的身份信息提交至所述数据存储端,并在接收到数据存储端返回的访问地址的情况下,通过该访问地址加载第一原始数据。其中,任一第一类访问端可以将第一原始数据的访问地址记录在本地(如自身维护的数据标识与访问地址之间的映射关系中)已完成对该数据的加载。可以理解的是,在第一原始数据被加载完成后,所述任一第一类访问端即可按照所述访问地址读取该数据。当然,也可以响应于所述访问请求临时加载所述第一原始数据,并在加载完成后读取该数据,不再赘述。
59.如前所述,数据管理系统中的多个第一类访问端分别具有针对第一原始数据的共享只读权限,因此各个第一类访问端可以分别通过只读方式读取已加载的该数据。以其中任一第一类访问端为例,该访问端可以响应于针对第一原始数据的访问请求,通过只读方式读取已加载的第一原始数据。对于被各个第一类访问端分别加载的第一原始数据,就其读取操作而言,所述多个第一类访问端可以互不影响地分别通过只读形式读取第一原始数据,从而“共享”该数据。具体而言,所述多个第一类访问端可以在不同时刻分别(通过只读方式)读取第一原始数据,也可以在同一时刻分别(通过只读方式)读取第一原始数据;可见,任意两个第一类访问端的读取操作之间互不影响,且二者通过上述读取操作可以获知相同的所述原始内容。
60.在一实施例中,任一第一类访问端可以预先通过只读方式读取所述第一原始数据,并将读取到的该数据缓存在本地;进而在接收到访问请求的情况下,可以响应于该请求读取本地缓存的所述第一原始数据。可以理解的是,对于被预先读取的第一原始数据而言,所述任一第一类访问端读取之后在本地缓存的是该数据的一份副本——该副本与数据存储端维护的所述第一原始数据完全相同——响应于访问请求被加读取的第一原始数据即为该副本。该方式将针对第一原始数据的只读操作前置,并将读取到的第一原始数据(的副本)缓存在本地,从而便于后续快速读取和及时更新该数据,提升针对访问请求的响应速度,避免用户等待过长时间。
61.另外,在所述第一原始数据包含多个数据的情况下,也可以从中选取部分第一原始数据预先读取。如可以按照历史读取和更新记录确定所述第一原始数据中的高频数据,并预先读取这部分高频数据,而其余的低频数据则不预先读取。可以理解的是,所述任一第一类访问端接收到针对所述高频数据的访问请求的可能性通常大于接收到针对所述低频数据的访问请求,即该第一类访问端对所述高频数据的更新需求大于对所述低频数据的更新需求,所以通过上述方式,可以在提升对所述高频数据更新效率的同时,尽量节省所述任一第一类访问端的本地存储空间。
62.或者,任一第一类访问端也可以临时读取第一原始数据。例如,在任一第一访问端预先加载了第一原始数据的情况下,可以响应于所述访问请求访问所述数据存储端,并通过只读方式从已加载的所述第一原始数据中读取所述访问请求指定的内容。其中,所述访问请求中可以包含标识信息,以便所述任一第一类访问端根据该标识信息确定应当从已加载的第一原始数据中读取哪些内容。当然,所述标识信息可以用于标识全部或部分第一原始数据,以便所述任一第一类访问端据此读取已加载的全部或部分第一原始数据。所述标识信息具体可以为内容名称、数据索引等,本说明书对其具体形式并不进行限制。通过该方
式,所述任一第一类访问端可以从全部第一原始数据中准确地读取到访问请求指定的内容,便于后续数据更新。
63.在一实施例中,所述任一第一类访问端可以部署有应用,所述访问请求可以由该应用针对所述第一原始数据发起。例如,在前述云桌面场景下,若所述任一第一类访问端为部署有某一appi的云服务器实例instance,则该instance接收到的访问请求可以由所述appi发起。如所述appi的用户可以针对该应用实施预设操作,此时appi可以响应于上述预设操作确定第一原始数据,并针对该数据发起所述访问请求。再例如,在所述任一第一类访问端为某一应用的客户端设备(即运行有该客户端的终端设备)的情况下,若检测到用户针对该客户端实施的预设操作,则该客户端可以向量确定相应的第一原始数据并针对其发起所述访问请求。其中,用户实施的所述预设操作可以与所述应用可实现的功能有关,示例性的,可以为编辑文档、输入文本、转发图片、录制音频、编辑视频等,本说明书并不对此进行限制。
64.在一实施例中,所述多个第一类访问端可以登录同一用户,即该用户分别登录至所述多个第一类访问端。此时,所述多个第一类访问端的共享只读权限可以由该用户授予,且所述第一原始数据归属于该用户。基于此,所述任一第一类访问端可以根据该访问端上已登录的所述用户的信息,按照只读方式读取已加载的归属于所述用户的所述第一原始数据。通过该方式,所述任一第一类访问端可以准确地读取到归属于登录所述多个第一类访问端的用户的第一原始数据。
65.其中,在所述用户登录至所述任一第一类访问端的情况下,该访问端可以记录已登录的该用户的身份信息(如账户id、密码、其他基础信息等);而针对所述数据管理系统涉及的多个用户,数据存储端可以分别维护归属于各个用户的第一原始数据,如维护任一用户的身份信息及其第一原始数据之间的映射关系(如在采用键值对方式记录该映射关系的情况下,可以将账户id作为key并将相应的第一原始数据作为value)。基于此,在任一用户登录至所述任一第一类访问端的情况下,该访问端可以根据该用户的身份信息针对性地读取归属于该用户的第一原始数据,而数据存储端可以以该身份信息作为索引查询相应的第一原始数据。例如,所述任一第一类访问端通过只读方式读取第一原始数据,具体可以向数据存储端发送针对第一原始数据的读取请求,并接收数据存储端响应于该请求返回的数据,该数据即可视为所述任一第一类访问端针对第一原始数据的读取结果,即自身读取到的第一原始数据。其中,所述读取请求中可以包含登录至所述任一第一类访问端的用户的身份信息,相应的,数据存储端可以根据该身份信息在前述映射关系中查询相应的第一原始数据,并将查询结果(即查询到的第一原始数据)返回至所述任一第一类访问端作为其读取结果。
66.在响应于所述访问请求通过只读方式读取到所述第一原始数据的情况下,所述任一第一访问端可以基于该数据生成第一已更新数据。其中,可以通过多种方式生成第一已更新数据。
67.在一实施例中,所述任一第一访问端可以将读取到的第一原始数据提供至用户终端,以便后者向用户展示该数据供其查看。而用户在查看第一原始数据的过程中,可能需要对其进行更新,此时用户可以向所述任一第一访问端发起针对该数据的更新指令,此时所述任一第一访问端即可响应于该指令对读取到的第一原始数据进行更新,即基于第一原始
数据生成第一已更新数据。在该场景下,所述任一第一访问端响应于所述访问请求读取第一原始数据,并进一步响应于更新指令生成第一已更新数据。可见,此时所述任一第一访问端针对第一原始数据的读取和更新处理相互分离,而所述访问请求和所述更新指令均可以由所述用户根据自身需求发起。可以理解的是,若用户不发出所述更新指令,则所述任一第一访问端并不会更新第一原始数据,此时用户仅查看该数据。
68.在另一实施例中,所述访问请求也可以直接指示需要对第一原始数据做出的更新处理。例如,在通过只读方式读取到第一原始数据的情况下,所述任一第一访问端可以确定所述访问请求所指示的更新方式(如更新前和更新后的数值等),进而按照该更新方式对读取到的第一原始数据进行更新,即基于第一原始数据生成第一已更新数据。在该场景下,所述任一第一访问端响应于所述访问请求先读取第一原始数据,再基于该数据生成第一已更新数据。
69.其中,基于读取到的第一原始数据生成第一已更新数据的过程,可以包括增加、删除、修改等。以响应于所述访问请求读取并更新第一原始数据为例,所述访问请求中可以包含待更新数据,此时所述任一访问端可以在读取到的第一原始数据中增加该待更新数据得到第一已更新数据,也可以将读取到的第一原始数据中的数据修改为待更新数据得到第一已更新数据,还可以在读取到的第一原始数据中删除待更新数据得到(剩余数据构成的)第一已更新数据等。
70.需要说明的是,上述增加、删除和修改操作,都是针对所述任一访问端读取到的第一原始数据的进行的,而并非针对数据存储端维护的所述第一原始数据进行,即数据存储端维护的所述第一原始数据当前尚未被更新。如前所述,基于读取到的第一原始数据生成的第一已更新数据后续被用于生成数据更新合并结果,以便根据该结果对数据存储端维护的所述第一原始数据进行更新。
71.所述任一访问端可以对生成的所述第一已更新数据进行缓存。例如,可以将所述第一已更新数据缓存在所述任一第一类访问端本地,以便提升缓存速度。也可以将第一已更新数据缓存在所述数据存储端中,即在数据存储端内区别于第一原始数据的存储空间处写入所述第一已更新数据;显然,在数据存储端本地缓存第一已更新数据并非使用该数据直接更新第一原始数据——此时第一原始数据尚未被更新。在所述第一类访问端和所述数据存储端的操作系统为windows系统的情况下,其可以通过vhd(virtual hard disk,虚拟磁盘)技术将其他存储设备挂载至本地作为虚拟磁盘vhd,此时所述任一第一类访问端也可以将所述第一已更新数据缓存至自身或者所述数据存储端挂载的vhd处。
72.所述多个第一类访问端分别缓存的第一已更新数据,可以被作为数据来源生成所述数据更新合并结果,以便所述数据存储端根据该结果更新本地存储的所述第一原始数据。下面以云桌面场景为例,对数据管理系统的更新第一原始数据的过程进行说明。
73.如图3所示,数据管理系统包括nas设备和三个instance,即instance1、instance2和instance3。其中,所述nas设备维护有包含原始内容的第一原始数据master,所述三个instance分别具有针对所述master的共享只读权限。在所述三个instance登录有同一用户的情况下,所述master可以归属于该用户。
74.instance1、instance2和instance3内均设置有只读组件(即readonly layer)和写入组件(即write layer)。其中,所述任一instance可以借助自身的readonly layer通过
只读方式读取master,此时readonly layer可视为nas组件向instance开放的、用于读取master的数据接口。例如,任一instance可以通过copyonwrite(即写入时复制)方式在需要更新master时临时读取该数据;或者,在所述任一instance预先读取部分或全部master的情况下,也可以将预先读取到的这部分数据副本保存在readonly layer中,此时readonly layer可视为该instance本地用于存储上述数据副本的存储空间。
75.对于上述任一instance而言,在接收到针对master的访问请求的情况下,可以相应于该指令加载master。例如,可以加载预先读取并保存在readonly layer中的前述数据副本,或者也可以直接访问nas设备加载访问请求所指示的master的部分或全部内容。在上述加载完成后,instance可以基于被加载的master(的全部或部分内容)生成第一已更新数据,如可以先确定第一访问请求指定的待更新数据(如包含在该请求中),然后基于该数据对master做出增加、删除、修改等更新操作,从而得到相应的第一已更新数据。此时,所述任一instance可以对第一已更新数据进行缓存,如将该数据缓存在write layer中。此后,针对基于各个instance分别缓存的第一已更新数据生成的第一已更新数据,nas设备可以根据该数据更新自身维护的所述master。
76.在一实施例中,在用户登出instance3的情况下,instance3可以将自身在用户本次登录期间缓存的第一已更新数据提交至nas设备。此外,instance3还可以通知该用户登录的其他instance(即instance1和instance2)也分别将自身当前时刻已经缓存的第一已更新数据提交至nas设备;或者,鉴于各个instance之间可能相互独立且不可知,所以也可以由nas设备在接收到instance3提交的第一已更新数据的情况下,分别向instance1和instance2请求获取二者在当前时刻分别缓存的第一已更新数据。具体过程如图3所示的虚线“sync”。当然,在上述任一instance并未缓存第一原始数据所对应第一已更新数据的情况下,该instance也可以不提交任何数据。
77.基于获取到的至少一个instance缓存的第一已更新数据,nas设备可以将按照合并策略对这些第一已更新数据进行合并处理,并根据相应的合并结果更新自身维护的master。其中,上述合并策略可以包括第一已更新数据生成时刻的先后顺序,如对于第一原始数据中涉及更新的任一内容,将各个第一已更新数据中生成时刻最晚(即距离当前时刻最近)的第一已更新数据作为合并结果,从而使得不同instance对该内容的更新呈现出按时间先后依次覆盖的整体更新效果。和/或,所述合并策略也可以包括各个instance的优先级顺序等,如在instance1、instance2和instance3的优先级依次降低的情况下,可以直接将instance1缓存的第一已更新数据作为合并结果用于更新第一原始数据。当然,此时instance2和instance3可以不将第一已更新数据提交至nas设备,而是仅保存在本地,以供自身在运行区间进行查询。
78.在确定上述数据更新合并结果后,数据存储端可以根据该数据更新第一原始数据,如使用数据更新合并结果直接替换master中的相应内容,或者按照数据更新合并结果直接更新master中的相应部分,最终完成对所述第一原始数据的更新。
79.可见,本方案由各个instance通过只读方式分别加载master,并各自缓存自身根据master生成的第一已更新数据,进而由nas设备根据各个instance分别缓存的第一已更新数据对master进行更新,实现了对该数据有序、可靠的更新。由此可见,无论需要同时访问原始内容的instance的数量有多少,nas设备都只需维护一份master,即可满足这些
instance的访问需求,不仅有效减少了第一原始数据所占的存储空间,节省了nas设备的存储资源(相对于相关技术,在存在n个instance的情况下,能够节省n-1份存储资源)。而且,因为各个instance采用只读方式,所以无论master当前已经被多少instance所加载,最新的instance都可以直接加载并读取master而无需等待,显著提升了后来的instance对master的加载速度及其对原始内容的首次访问速度。如图3所示,所述用户新登录的instance4、instance5等均可以直接加载master,而不必等待nas设备为其临时创建相应的副本。显然,在master的数据量较大的情况下,本方案对于存储资源的占用问题以及instance的等待问题的解决效果将更加显著。
80.实际上,多个访问端同时访问同一份原始内容的场景通常较少出现,例如在云桌面场景下,一个用户在任意时刻通常只会登录一台instance。因此为了提升访问端在多数情况下的内容方效率,可以对上述方案做出进一步改进:将同时访问原始数据的多个访问端划分为第一类访问端和第二类访问端,其中,第二类访问端可以为访问原始数据的首个访问端(如用户登录的第一个instance),第一类访问端可以为访问原始数据的访问端中除首个访问端之外的其余访问端(如用户登录的其他instance)。下面结合图4即相关实施例对该改进方案进行说明。
81.在一实施例中,除了维护前述第一原始数据之外,数据存储端还可以维护有与第一原始数据具有相同原始内容的第二原始数据。此时,所述第一原始数据可以为第二原始数据的副本,或者所述第二原始数据可以为第一原始数据的副本。此时,所述数据管理系统还可以包括第二类访问端,该访问端可以具有针对所述第二原始数据的独占读写权限。与前述各个第一类访问端对前述第一原始数据的共享只读权限不同的是,第二类访问端具有针对第二原始数据的独占读写权限,表明第二原始数据仅可以被第二类访问端所读取(而不能被任一第一类访问端以任何方式读取),而且该访问端可以针对第二原始数据执行读/写操作,换言之,第二类访问端既可以读取第二原始数据(即针对该数据执行读取操作),也可以直接更新该数据(即可以针对第二原始数据执行写入操作)。
82.在该场景下,第二类访问端可以响应于针对第二原始数据发起的更新请求,触发所述数据存储端更新所述第二原始数据;其中,用于生成所述数据更新合并结果的数据来源还可以包括:所述第二类访问端对所述第二原始数据的更新记录。访问请求的发起方式及其内容,以及第二类访问端接收并响应该请求的具体方式,可以参见前述访问请求的相关实施例,此处不再赘述。通过该方式,使得访问原始数据的首个访问端(即第二类访问端)独占第二原始数据,即其可以直接对该数据进行读/写操作,不仅实现了对这部分数据的实/时更新,而且第二类访问端无需保存读取到的第二原始数据或者缓存相应的已更新数据(并不存在第二已更新数据),有助于节省该访问端的存储空间并降低数据维护压力。可以理解的是,在仅有一个访问端访问原始数据的情况下,该访问端可以加载第二原始数据并直接对其进行读/写操作,从而尽可能地减少其数据维护压力和数据存储端对所维护原始数据进行数据同步的工作量。
83.如图4所示,作为数据管理系统中的数据存储端,nas设备维护有第一原始数据duplicate和第二原始数据master(所述duplicate可以是在首个instance访问之前拷贝所述master得到的副本)。该系统包括两个第一类访问端(即instance2和instance3)和一个第二类访问端(即instance1)。其中instance2和instance3加载duplicate的具体过程可以
参见图3所示任一instance加载master的相关实施例,instance2和instance3生成并缓存第一已更新数据的过程可以参见图3所示任一instance缓存第一已更新数据的相关实施例,此处不再赘述。
84.与图3所示instance1不同的是,图4所示instance1中设置有读写组件(即readwrite layer),而并未设置前述只读组件和写入组件。instance1可以借助自身的readwrite layer通过读/写方式直接读取和更新master。另外,针对更新master的过程,还可以将相应的更新记录(更新日志或者更新后的内容)保存在更新记录文件(即record file)中,以用于后续数据合并。由此可见,该改进方案中的各个第二类访问端(instance2和instance3等)通过只读方式读取duplicate,并将据此生成的已更新数据缓存在自身的write layer中,以便后续生成数据更新合并结果用于更新duplicate;而第一类访问端(即instance1)独占master,并通过读/写方式读取和更新master。
85.可见,上述改进方案由instance2和instance3等通过只读方式分别加载duplicate,并各自缓存自身根据master生成的第一已更新数据;同时,由第二类访问端通过独占方式读取master并直接对其进行更新,最后由nas设备根据instance2和instance3等分别缓存的第一已更新数据以及instance1对master的预更新结果确定数据更新合并结果,并据此更新master和duplicate,实现了对原始数据有序、可靠的更新。由此可见,无论需要同时访问原始内容的instance的数量有多少,nas设备都只需维护一份master和一份duplicate,即可满足这些instance的访问需求,不仅有效减少了第一原始数据所占的存储空间,节省了nas设备的存储资源(相对于相关技术,在存在n个instance的情况下,能够节省n-2份存储资源)。而且,因为各个第一类访问端采用只读方式,所以无论duplicate当前已经被多少instance所加载,最新的instance都可以直接加载并通过只读方式读取duplicate而无需等待,显著提升了后来的instance对duplicate的加载速度及其对原始内容的首次访问速度。如图4所示,所述用户新登录的instance4、instance5等均可以直接加载duplicate,而不必等待nas设备为其临时创建相应的副本。显然,在duplicate数据量较大的情况下,本方案对于存储资源的占用问题以及instance的等待问题的解决效果将更加显著。
86.在一实施例中,数据存储端可以被通过多种方式根据数据更新合并结果更新所述第一原始数据。例如,其可以按照第一合并策略对所述多个第一类访问端分别缓存的第一已更新数据进行合并处理,并根据相应的第一数据更新合并结果预更新所述第一原始数据;然后按照第二合并策略对所述第一原始数据的预更新结果和所述第二原始数据的预更新结果进行合并处理,并根据相应的第二数据更新合并结果更新所述第一原始数据和所述第二原始数据。如图4所示,nas设备可以按照第一合并策略对instance2和instance3分别缓存的第一已更新数据(任一instance缓存的该数据可能为空)进行合并处理,并根据相应的第一数据更新合并结果预更新duplicate。此时,nas设备可以按照第二合并策略对所述duplicate的预更新结果和所述master的预更新结果(instance1已经对master进行了更新,由于该更新可能并非master的最终结果,因此将其记为master的预更新结果)进行合并处理,并根据相应的第二数据更新合并结果更新所述master和duplicate。其中,所述第二原始数据的预更新结果可以为master在当前时刻(预更新之后)的内容,也可以为前述更新记录文件record file中保存的更新记录,不再赘述。所述第一合并策略可以包括第一已更
新数据生成时刻的先后顺序或者各个第一类访问端的优先级顺序等,所述第二合并策略可以包括master的预更新时刻与各个第一已更新数据的生成时刻的先后顺序,或者各个访问端的优先级顺序等,不再赘述。
87.再例如,数据存储端也可以按照第三合并策略对所述第二原始数据的预更新结果和所述多个第一类访问端分别缓存的第一已更新数据进行合并处理,并根据相应的第三数据更新合并结果更新所述第一原始数据和所述第二原始数据。如可以按照第三合并策略对master的预更新结果和instance2及instance3分别缓存的第一已更新数据进行合并处理,并根据相应的第三数据更新合并结果更新所述master和duplicate。所述第三合并策略可以包括master的预更新时刻与各个第一已更新数据的生成时刻的先后顺序,或者各个访问端的优先级顺序等,不再赘述。如图4所示的虚线“sync”。
88.另外,在更新所述master和duplicate的过程中,可以分别并行更新master和duplicate,以尽量提升数据更新效率,减少用户的登出耗时;或者,也可以按照先后顺序依次更新master和duplicate(即先更新master再更新duplicate),此时可以直接拷贝master中的更新后数据并替换duplicate中的相应部分,减轻数据存储端根据数据更新合并结果确定更新后数据的计算量(如日志解析工作等),提升整体更新效率。
89.前述实施例对任一第一访问端更新第一原始数据的过程进行了说明,实际上,对于自身加载的第一原始数据,所述任一第一访问端也可以只通过只读方式读取该数据,而并不对其进行更新。例如,在所登录的用户仅发起针对某一数据的查看操作的情况下,第一访问端可以在已加载的第一原始数据中查询该数据,然后通过只读方式读取该数据并向用户展示。此时,所述任一第一访问端与数据存储端之间仅涉及针对该数据的读取操作(通过只读方式),而不涉及针对该数据的写入操作。
90.对应于上文针对数据管理系统的相关实施例,本说明书还提出一种数据更新方法。请参见图5,图5是一示例性实施例提供的一种数据更新方法的流程图。如图5所示,该方法应用于数据管理系统所含多个第一类访问端中的任一第一类访问端,所述数据管理系统还包括数据存储端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,包括下述步骤502-504。
91.步骤202,响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据。
92.步骤504,对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存,其中,所述多个第一类访问端分别缓存的第一已更新数据用于作为数据来源生成数据更新合并结果,以使所述数据存储端根据所述数据更新合并结果更新所述第一原始数据。
93.对应于上文针对数据管理系统的相关实施例,本说明书还提出另一种数据更新方法。请参见图6,图6是一示例性实施例提供的另一种数据更新方法的流程图。如图6所示,该方法应用于数据管理系统中的数据存储端,所述数据管理系统还包括多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,包括下述步骤602-604。
94.步骤202,将所述多个第一类访问端分别缓存的第一已更新数据作为数据来源生成数据更新合并结果,其中,任一第一类访问端缓存的第一已更新数据由所述任一第一类访问端基于通过只读方式读取已加载的所述第一原始数据生成,所述第一原始数据由所述
任一第一类访问端响应于针对所述第一原始数据的访问请求加载。
95.步骤604,根据所述数据更新合并结果更新所述第一原始数据。
96.在一实施例中,数据存储端还维护有与第一原始数据具有相同原始内容的第二原始数据,所述数据管理系统还包括具有针对所述第二原始数据的独占读写权限的第二类访问端,所述方法还包括:
97.响应于所述第二类访问端的触发,更新所述第二原始数据;
98.其中,用于生成所述数据更新合并结果的数据来源还包括:所述第二类访问端对所述第二原始数据的更新记录。
99.上述数据更新方法的具体实现,可以参见前述数据管理系统相关实施例的记载,此处不再赘述。
100.图7是一示例性实施例提供的一种设备的示意结构图。请参考图7,在硬件层面,该设备包括处理器702、内部总线707、网络接口706、内存708以及非易失性存储器710,当然还可能包括其他功能所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器702从非易失性存储器710中读取对应的计算机程序到内存708中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
101.请参考图8,在一软件实施方式中,该数据更新装置应用于数据管理系统所含多个第一类访问端中的任一第一类访问端,所述数据管理系统还包括数据存储端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述装置包括:
102.数据加载单元801,用于响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据;
103.数据缓存单元802,用于对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存,其中,所述多个第一类访问端分别缓存的第一已更新数据用于作为数据来源生成数据更新合并结果,以使所述数据存储端根据所述数据更新合并结果更新所述第一原始数据。
104.请参考图9,在另一软件实施方式中,该数据更新装置应用于数据管理系统中的数据存储端,所述数据管理系统还包括多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述装置包括:
105.结果生成单元901,用于将所述多个第一类访问端分别缓存的第一已更新数据作为数据来源生成数据更新合并结果,其中,任一第一类访问端缓存的第一已更新数据由所述任一第一类访问端基于通过只读方式读取已加载的所述第一原始数据生成,所述第一原始数据由所述任一第一类访问端响应于针对所述第一原始数据的访问请求加载;
106.第一更新单元902,用于根据所述数据更新合并结果更新所述第一原始数据。
107.可选的,所述数据存储端还维护有与第一原始数据具有相同原始内容的第二原始数据,所述数据管理系统还包括具有针对所述第二原始数据的独占读写权限的第二类访问端,所述装置还包括第二更新单元903,用于:
108.响应于所述第二类访问端的触发,更新所述第二原始数据;
109.其中,用于生成所述数据更新合并结果的数据来源还包括:所述第二类访问端对所述第二原始数据的更新记录。
110.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
111.在一个典型的配置中,计算机包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
112.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
113.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
114.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
115.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
116.在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
117.应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区
分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
118.以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

技术特征:
1.一种数据管理系统,包括数据存储端和多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,其中,任一第一类访问端,用于响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据;以及,对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存;所述数据存储端,用于根据数据更新合并结果更新所述第一原始数据,且用于生成所述数据更新合并结果的数据来源包括所述多个第一类访问端分别缓存的第一已更新数据。2.根据权利要求1所述的系统,所述任一第一类访问端通过只读方式读取已加载的所述第一原始数据,包括:响应于所述访问请求访问所述数据存储端,通过只读方式从已加载的所述第一原始数据中读取所述访问请求指定的内容;或者,读取本地缓存的所述第一原始数据,所述第一原始数据被预先通过只读方式读取并缓存。3.根据权利要求1所述的系统,所述任一第一类访问端部署有应用,所述访问请求由所述应用针对所述第一原始数据发起。4.根据权利要求1所述的系统,所述第一原始数据的共享只读权限由分别登录至所述多个第一类访问端的用户授予,且所述第一原始数据归属于所述用户;所述任一第一类访问端通过只读方式读取已加载的所述第一原始数据,包括:根据所述任一第一类访问端上已登录的所述用户的信息,按照只读方式读取已加载的归属于所述用户的所述第一原始数据。5.根据权利要求1所述的系统,所述数据存储端还维护有与第一原始数据具有相同原始内容的第二原始数据;所述系统还包括:第二类访问端,具有针对所述第二原始数据的独占读写权限,用于响应于针对所述第二原始数据发起的更新请求,触发所述数据存储端更新所述第二原始数据;其中,用于生成所述数据更新合并结果的数据来源还包括:所述第二类访问端对所述第二原始数据的更新记录。6.根据权利要求5所述的系统,所述数据存储端根据数据更新合并结果更新所述第一原始数据,包括:按照第一合并策略对所述多个第一类访问端分别缓存的第一已更新数据进行合并处理,并根据相应的第一数据更新合并结果预更新所述第一原始数据;以及,按照第二合并策略对所述第一原始数据的预更新结果和所述第二原始数据的预更新结果进行合并处理,并根据相应的第二数据更新合并结果更新所述第一原始数据和所述第二原始数据;或者,按照第三合并策略对所述第二原始数据的预更新结果和所述多个第一类访问端分别缓存的第一已更新数据进行合并处理,并根据相应的第三数据更新合并结果更新所述第一原始数据和所述第二原始数据;其中,更新后的所述第一原始数据和所述第二原始数据分别包含相同的更新后内容。7.一种数据更新方法,应用于数据管理系统所含多个第一类访问端中的任一第一类访问端,所述数据管理系统还包括数据存储端,所述数据存储端维护有包含原始内容的第一
原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述方法包括:响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据;对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存,其中,所述多个第一类访问端分别缓存的第一已更新数据用于作为数据来源生成数据更新合并结果,以使所述数据存储端根据所述数据更新合并结果更新所述第一原始数据。8.一种数据更新方法,应用于数据管理系统中的数据存储端,所述数据管理系统还包括多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述方法包括:将所述多个第一类访问端分别缓存的第一已更新数据作为数据来源生成数据更新合并结果,其中,任一第一类访问端缓存的第一已更新数据由所述任一第一类访问端基于通过只读方式读取已加载的所述第一原始数据生成,所述第一原始数据由所述任一第一类访问端响应于针对所述第一原始数据的访问请求加载;根据所述数据更新合并结果更新所述第一原始数据。9.根据权利要求8所述的方法,所述数据存储端还维护有与第一原始数据具有相同原始内容的第二原始数据,所述数据管理系统还包括具有针对所述第二原始数据的独占读写权限的第二类访问端,所述方法还包括:响应于所述第二类访问端的触发,更新所述第二原始数据;其中,用于生成所述数据更新合并结果的数据来源还包括:所述第二类访问端对所述第二原始数据的更新记录。10.一种数据更新装置,应用于数据管理系统所含多个第一类访问端中的任一第一类访问端,所述数据管理系统还包括数据存储端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述装置包括:数据加载单元,用于响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据;数据缓存单元,用于对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存,其中,所述多个第一类访问端分别缓存的第一已更新数据用于作为数据来源生成数据更新合并结果,以使所述数据存储端根据所述数据更新合并结果更新所述第一原始数据。11.一种数据更新装置,应用于数据管理系统中的数据存储端,所述数据管理系统还包括多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述装置包括:结果生成单元,用于将所述多个第一类访问端分别缓存的第一已更新数据作为数据来源生成数据更新合并结果,其中,任一第一类访问端缓存的第一已更新数据由所述任一第一类访问端基于通过只读方式读取已加载的所述第一原始数据生成,所述第一原始数据由所述任一第一类访问端响应于针对所述第一原始数据的访问请求加载;第一更新单元,用于根据所述数据更新合并结果更新所述第一原始数据。12.一种电子设备,包括:
处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现如权利要求7-9中任一项所述的方法。13.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求7-9中任一项所述方法的步骤。

技术总结
本说明书提供一种数据管理系统、数据更新方法及装置。所述数据管理系统包括维护有包含原始内容的第一原始数据的数据存储端和多个第一类访问端,所述多个第一类访问端分别具有针对第一原始数据的共享只读权限,其中任一第一类访问端用于响应于针对第一原始数据的访问请求,通过只读方式读取已加载的第一原始数据;以及,对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存;数据存储端用于根据数据更新合并结果更新第一原始数据,其中用于生成数据更新合并结果的数据来源包括多个第一类访问端分别缓存的第一已更新数据。本方案能够满足多个访问端对同一份原始内容的同时访问需求,节省存储端的存储资源并减少访问端的等待时间。问端的等待时间。问端的等待时间。


技术研发人员:许玉波
受保护的技术使用者:阿里巴巴(中国)有限公司
技术研发日:2023.03.28
技术公布日:2023/7/25
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐